@sinequa/assistant 3.7.7 → 3.7.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/chat/chat.component.d.ts +25 -25
- package/chat/types.d.ts +13 -1
- package/chat/websocket-chat.service.d.ts +4 -4
- package/esm2020/chat/types.mjs +2 -1
- package/esm2020/chat/websocket-chat.service.mjs +6 -3
- package/fesm2015/sinequa-assistant-chat.mjs +6 -2
- package/fesm2015/sinequa-assistant-chat.mjs.map +1 -1
- package/fesm2020/sinequa-assistant-chat.mjs +4 -0
- package/fesm2020/sinequa-assistant-chat.mjs.map +1 -1
- package/package.json +1 -1
package/chat/chat.component.d.ts
CHANGED
|
@@ -58,11 +58,11 @@ export declare class ChatComponent extends AbstractFacet implements OnInit, OnCh
|
|
|
58
58
|
eTypeModifier: import("@sinequa/core/web-services").EngineTypeModifier;
|
|
59
59
|
description?: string | undefined;
|
|
60
60
|
label?: string | undefined;
|
|
61
|
+
aliases?: string[] | undefined;
|
|
61
62
|
labelPlural?: string | undefined;
|
|
62
63
|
formatter?: string | undefined;
|
|
63
64
|
transforms?: string | undefined;
|
|
64
65
|
parser?: string | undefined;
|
|
65
|
-
aliases?: string[] | undefined;
|
|
66
66
|
typeModifier?: string | undefined;
|
|
67
67
|
} | undefined;
|
|
68
68
|
} | ({
|
|
@@ -81,11 +81,11 @@ export declare class ChatComponent extends AbstractFacet implements OnInit, OnCh
|
|
|
81
81
|
eTypeModifier: import("@sinequa/core/web-services").EngineTypeModifier;
|
|
82
82
|
description?: string | undefined;
|
|
83
83
|
label?: string | undefined;
|
|
84
|
+
aliases?: string[] | undefined;
|
|
84
85
|
labelPlural?: string | undefined;
|
|
85
86
|
formatter?: string | undefined;
|
|
86
87
|
transforms?: string | undefined;
|
|
87
88
|
parser?: string | undefined;
|
|
88
|
-
aliases?: string[] | undefined;
|
|
89
89
|
typeModifier?: string | undefined;
|
|
90
90
|
} | undefined;
|
|
91
91
|
hasChildren?: boolean | undefined;
|
|
@@ -113,11 +113,11 @@ export declare class ChatComponent extends AbstractFacet implements OnInit, OnCh
|
|
|
113
113
|
eTypeModifier: import("@sinequa/core/web-services").EngineTypeModifier;
|
|
114
114
|
description?: string | undefined;
|
|
115
115
|
label?: string | undefined;
|
|
116
|
+
aliases?: string[] | undefined;
|
|
116
117
|
labelPlural?: string | undefined;
|
|
117
118
|
formatter?: string | undefined;
|
|
118
119
|
transforms?: string | undefined;
|
|
119
120
|
parser?: string | undefined;
|
|
120
|
-
aliases?: string[] | undefined;
|
|
121
121
|
typeModifier?: string | undefined;
|
|
122
122
|
} | undefined;
|
|
123
123
|
}[];
|
|
@@ -138,11 +138,11 @@ export declare class ChatComponent extends AbstractFacet implements OnInit, OnCh
|
|
|
138
138
|
eTypeModifier: import("@sinequa/core/web-services").EngineTypeModifier;
|
|
139
139
|
description?: string | undefined;
|
|
140
140
|
label?: string | undefined;
|
|
141
|
+
aliases?: string[] | undefined;
|
|
141
142
|
labelPlural?: string | undefined;
|
|
142
143
|
formatter?: string | undefined;
|
|
143
144
|
transforms?: string | undefined;
|
|
144
145
|
parser?: string | undefined;
|
|
145
|
-
aliases?: string[] | undefined;
|
|
146
146
|
typeModifier?: string | undefined;
|
|
147
147
|
} | undefined;
|
|
148
148
|
}[];
|
|
@@ -168,11 +168,11 @@ export declare class ChatComponent extends AbstractFacet implements OnInit, OnCh
|
|
|
168
168
|
eTypeModifier: import("@sinequa/core/web-services").EngineTypeModifier;
|
|
169
169
|
description?: string | undefined;
|
|
170
170
|
label?: string | undefined;
|
|
171
|
+
aliases?: string[] | undefined;
|
|
171
172
|
labelPlural?: string | undefined;
|
|
172
173
|
formatter?: string | undefined;
|
|
173
174
|
transforms?: string | undefined;
|
|
174
175
|
parser?: string | undefined;
|
|
175
|
-
aliases?: string[] | undefined;
|
|
176
176
|
typeModifier?: string | undefined;
|
|
177
177
|
} | undefined;
|
|
178
178
|
$hasMore?: boolean | undefined;
|
|
@@ -194,11 +194,11 @@ export declare class ChatComponent extends AbstractFacet implements OnInit, OnCh
|
|
|
194
194
|
eTypeModifier: import("@sinequa/core/web-services").EngineTypeModifier;
|
|
195
195
|
description?: string | undefined;
|
|
196
196
|
label?: string | undefined;
|
|
197
|
+
aliases?: string[] | undefined;
|
|
197
198
|
labelPlural?: string | undefined;
|
|
198
199
|
formatter?: string | undefined;
|
|
199
200
|
transforms?: string | undefined;
|
|
200
201
|
parser?: string | undefined;
|
|
201
|
-
aliases?: string[] | undefined;
|
|
202
202
|
typeModifier?: string | undefined;
|
|
203
203
|
} | undefined;
|
|
204
204
|
hasChildren?: boolean | undefined;
|
|
@@ -226,11 +226,11 @@ export declare class ChatComponent extends AbstractFacet implements OnInit, OnCh
|
|
|
226
226
|
eTypeModifier: import("@sinequa/core/web-services").EngineTypeModifier;
|
|
227
227
|
description?: string | undefined;
|
|
228
228
|
label?: string | undefined;
|
|
229
|
+
aliases?: string[] | undefined;
|
|
229
230
|
labelPlural?: string | undefined;
|
|
230
231
|
formatter?: string | undefined;
|
|
231
232
|
transforms?: string | undefined;
|
|
232
233
|
parser?: string | undefined;
|
|
233
|
-
aliases?: string[] | undefined;
|
|
234
234
|
typeModifier?: string | undefined;
|
|
235
235
|
} | undefined;
|
|
236
236
|
hasChildren?: boolean | undefined;
|
|
@@ -258,14 +258,15 @@ export declare class ChatComponent extends AbstractFacet implements OnInit, OnCh
|
|
|
258
258
|
eTypeModifier: import("@sinequa/core/web-services").EngineTypeModifier;
|
|
259
259
|
description?: string | undefined;
|
|
260
260
|
label?: string | undefined;
|
|
261
|
+
aliases?: string[] | undefined;
|
|
261
262
|
labelPlural?: string | undefined;
|
|
262
263
|
formatter?: string | undefined;
|
|
263
264
|
transforms?: string | undefined;
|
|
264
265
|
parser?: string | undefined;
|
|
265
|
-
aliases?: string[] | undefined;
|
|
266
266
|
typeModifier?: string | undefined;
|
|
267
267
|
} | undefined;
|
|
268
268
|
}[];
|
|
269
|
+
hasChildren?: boolean | undefined;
|
|
269
270
|
isDistribution?: boolean | undefined;
|
|
270
271
|
isTree?: boolean | undefined;
|
|
271
272
|
valuesAreExpressions?: boolean | undefined;
|
|
@@ -288,15 +289,14 @@ export declare class ChatComponent extends AbstractFacet implements OnInit, OnCh
|
|
|
288
289
|
eTypeModifier: import("@sinequa/core/web-services").EngineTypeModifier;
|
|
289
290
|
description?: string | undefined;
|
|
290
291
|
label?: string | undefined;
|
|
292
|
+
aliases?: string[] | undefined;
|
|
291
293
|
labelPlural?: string | undefined;
|
|
292
294
|
formatter?: string | undefined;
|
|
293
295
|
transforms?: string | undefined;
|
|
294
296
|
parser?: string | undefined;
|
|
295
|
-
aliases?: string[] | undefined;
|
|
296
297
|
typeModifier?: string | undefined;
|
|
297
298
|
} | undefined;
|
|
298
299
|
$hasMore?: boolean | undefined;
|
|
299
|
-
hasChildren?: boolean | undefined;
|
|
300
300
|
})[];
|
|
301
301
|
page: number;
|
|
302
302
|
rowCount: number;
|
|
@@ -310,6 +310,7 @@ export declare class ChatComponent extends AbstractFacet implements OnInit, OnCh
|
|
|
310
310
|
title: string;
|
|
311
311
|
text: string;
|
|
312
312
|
size: number;
|
|
313
|
+
version: string;
|
|
313
314
|
$selected: boolean;
|
|
314
315
|
matchlocations: string[];
|
|
315
316
|
rank: number;
|
|
@@ -325,7 +326,6 @@ export declare class ChatComponent extends AbstractFacet implements OnInit, OnCh
|
|
|
325
326
|
documentweight: string;
|
|
326
327
|
modified: string;
|
|
327
328
|
indexationtime: string;
|
|
328
|
-
version: string;
|
|
329
329
|
treepath: string[];
|
|
330
330
|
fileext: string;
|
|
331
331
|
flags: string[];
|
|
@@ -447,6 +447,7 @@ export declare class ChatComponent extends AbstractFacet implements OnInit, OnCh
|
|
|
447
447
|
title: string;
|
|
448
448
|
text: string;
|
|
449
449
|
size: number;
|
|
450
|
+
version: string;
|
|
450
451
|
$selected: boolean;
|
|
451
452
|
matchlocations: string[];
|
|
452
453
|
rank: number;
|
|
@@ -462,7 +463,6 @@ export declare class ChatComponent extends AbstractFacet implements OnInit, OnCh
|
|
|
462
463
|
documentweight: string;
|
|
463
464
|
modified: string;
|
|
464
465
|
indexationtime: string;
|
|
465
|
-
version: string;
|
|
466
466
|
treepath: string[];
|
|
467
467
|
fileext: string;
|
|
468
468
|
flags: string[];
|
|
@@ -558,13 +558,13 @@ export declare class ChatComponent extends AbstractFacet implements OnInit, OnCh
|
|
|
558
558
|
score: number;
|
|
559
559
|
recordId: string;
|
|
560
560
|
answer?: string | undefined;
|
|
561
|
-
answerScore?: number | undefined;
|
|
562
561
|
$record?: {
|
|
563
562
|
filename: string;
|
|
564
563
|
id: string;
|
|
565
564
|
title: string;
|
|
566
565
|
text: string;
|
|
567
566
|
size: number;
|
|
567
|
+
version: string;
|
|
568
568
|
$selected: boolean;
|
|
569
569
|
matchlocations: string[];
|
|
570
570
|
rank: number;
|
|
@@ -580,7 +580,6 @@ export declare class ChatComponent extends AbstractFacet implements OnInit, OnCh
|
|
|
580
580
|
documentweight: string;
|
|
581
581
|
modified: string;
|
|
582
582
|
indexationtime: string;
|
|
583
|
-
version: string;
|
|
584
583
|
treepath: string[];
|
|
585
584
|
fileext: string;
|
|
586
585
|
flags: string[];
|
|
@@ -664,6 +663,7 @@ export declare class ChatComponent extends AbstractFacet implements OnInit, OnCh
|
|
|
664
663
|
} | undefined;
|
|
665
664
|
$hasPassages?: boolean | undefined;
|
|
666
665
|
} | undefined;
|
|
666
|
+
answerScore?: number | undefined;
|
|
667
667
|
}[] | undefined;
|
|
668
668
|
} | null | undefined;
|
|
669
669
|
} & {
|
|
@@ -685,11 +685,11 @@ export declare class ChatComponent extends AbstractFacet implements OnInit, OnCh
|
|
|
685
685
|
eTypeModifier: import("@sinequa/core/web-services").EngineTypeModifier;
|
|
686
686
|
description?: string | undefined;
|
|
687
687
|
label?: string | undefined;
|
|
688
|
+
aliases?: string[] | undefined;
|
|
688
689
|
labelPlural?: string | undefined;
|
|
689
690
|
formatter?: string | undefined;
|
|
690
691
|
transforms?: string | undefined;
|
|
691
692
|
parser?: string | undefined;
|
|
692
|
-
aliases?: string[] | undefined;
|
|
693
693
|
typeModifier?: string | undefined;
|
|
694
694
|
} | undefined;
|
|
695
695
|
} | ({
|
|
@@ -708,11 +708,11 @@ export declare class ChatComponent extends AbstractFacet implements OnInit, OnCh
|
|
|
708
708
|
eTypeModifier: import("@sinequa/core/web-services").EngineTypeModifier;
|
|
709
709
|
description?: string | undefined;
|
|
710
710
|
label?: string | undefined;
|
|
711
|
+
aliases?: string[] | undefined;
|
|
711
712
|
labelPlural?: string | undefined;
|
|
712
713
|
formatter?: string | undefined;
|
|
713
714
|
transforms?: string | undefined;
|
|
714
715
|
parser?: string | undefined;
|
|
715
|
-
aliases?: string[] | undefined;
|
|
716
716
|
typeModifier?: string | undefined;
|
|
717
717
|
} | undefined;
|
|
718
718
|
hasChildren?: boolean | undefined;
|
|
@@ -740,11 +740,11 @@ export declare class ChatComponent extends AbstractFacet implements OnInit, OnCh
|
|
|
740
740
|
eTypeModifier: import("@sinequa/core/web-services").EngineTypeModifier;
|
|
741
741
|
description?: string | undefined;
|
|
742
742
|
label?: string | undefined;
|
|
743
|
+
aliases?: string[] | undefined;
|
|
743
744
|
labelPlural?: string | undefined;
|
|
744
745
|
formatter?: string | undefined;
|
|
745
746
|
transforms?: string | undefined;
|
|
746
747
|
parser?: string | undefined;
|
|
747
|
-
aliases?: string[] | undefined;
|
|
748
748
|
typeModifier?: string | undefined;
|
|
749
749
|
} | undefined;
|
|
750
750
|
}[];
|
|
@@ -765,11 +765,11 @@ export declare class ChatComponent extends AbstractFacet implements OnInit, OnCh
|
|
|
765
765
|
eTypeModifier: import("@sinequa/core/web-services").EngineTypeModifier;
|
|
766
766
|
description?: string | undefined;
|
|
767
767
|
label?: string | undefined;
|
|
768
|
+
aliases?: string[] | undefined;
|
|
768
769
|
labelPlural?: string | undefined;
|
|
769
770
|
formatter?: string | undefined;
|
|
770
771
|
transforms?: string | undefined;
|
|
771
772
|
parser?: string | undefined;
|
|
772
|
-
aliases?: string[] | undefined;
|
|
773
773
|
typeModifier?: string | undefined;
|
|
774
774
|
} | undefined;
|
|
775
775
|
}[];
|
|
@@ -795,11 +795,11 @@ export declare class ChatComponent extends AbstractFacet implements OnInit, OnCh
|
|
|
795
795
|
eTypeModifier: import("@sinequa/core/web-services").EngineTypeModifier;
|
|
796
796
|
description?: string | undefined;
|
|
797
797
|
label?: string | undefined;
|
|
798
|
+
aliases?: string[] | undefined;
|
|
798
799
|
labelPlural?: string | undefined;
|
|
799
800
|
formatter?: string | undefined;
|
|
800
801
|
transforms?: string | undefined;
|
|
801
802
|
parser?: string | undefined;
|
|
802
|
-
aliases?: string[] | undefined;
|
|
803
803
|
typeModifier?: string | undefined;
|
|
804
804
|
} | undefined;
|
|
805
805
|
$hasMore?: boolean | undefined;
|
|
@@ -821,11 +821,11 @@ export declare class ChatComponent extends AbstractFacet implements OnInit, OnCh
|
|
|
821
821
|
eTypeModifier: import("@sinequa/core/web-services").EngineTypeModifier;
|
|
822
822
|
description?: string | undefined;
|
|
823
823
|
label?: string | undefined;
|
|
824
|
+
aliases?: string[] | undefined;
|
|
824
825
|
labelPlural?: string | undefined;
|
|
825
826
|
formatter?: string | undefined;
|
|
826
827
|
transforms?: string | undefined;
|
|
827
828
|
parser?: string | undefined;
|
|
828
|
-
aliases?: string[] | undefined;
|
|
829
829
|
typeModifier?: string | undefined;
|
|
830
830
|
} | undefined;
|
|
831
831
|
hasChildren?: boolean | undefined;
|
|
@@ -853,11 +853,11 @@ export declare class ChatComponent extends AbstractFacet implements OnInit, OnCh
|
|
|
853
853
|
eTypeModifier: import("@sinequa/core/web-services").EngineTypeModifier;
|
|
854
854
|
description?: string | undefined;
|
|
855
855
|
label?: string | undefined;
|
|
856
|
+
aliases?: string[] | undefined;
|
|
856
857
|
labelPlural?: string | undefined;
|
|
857
858
|
formatter?: string | undefined;
|
|
858
859
|
transforms?: string | undefined;
|
|
859
860
|
parser?: string | undefined;
|
|
860
|
-
aliases?: string[] | undefined;
|
|
861
861
|
typeModifier?: string | undefined;
|
|
862
862
|
} | undefined;
|
|
863
863
|
hasChildren?: boolean | undefined;
|
|
@@ -885,14 +885,15 @@ export declare class ChatComponent extends AbstractFacet implements OnInit, OnCh
|
|
|
885
885
|
eTypeModifier: import("@sinequa/core/web-services").EngineTypeModifier;
|
|
886
886
|
description?: string | undefined;
|
|
887
887
|
label?: string | undefined;
|
|
888
|
+
aliases?: string[] | undefined;
|
|
888
889
|
labelPlural?: string | undefined;
|
|
889
890
|
formatter?: string | undefined;
|
|
890
891
|
transforms?: string | undefined;
|
|
891
892
|
parser?: string | undefined;
|
|
892
|
-
aliases?: string[] | undefined;
|
|
893
893
|
typeModifier?: string | undefined;
|
|
894
894
|
} | undefined;
|
|
895
895
|
}[];
|
|
896
|
+
hasChildren?: boolean | undefined;
|
|
896
897
|
isDistribution?: boolean | undefined;
|
|
897
898
|
isTree?: boolean | undefined;
|
|
898
899
|
valuesAreExpressions?: boolean | undefined;
|
|
@@ -915,15 +916,14 @@ export declare class ChatComponent extends AbstractFacet implements OnInit, OnCh
|
|
|
915
916
|
eTypeModifier: import("@sinequa/core/web-services").EngineTypeModifier;
|
|
916
917
|
description?: string | undefined;
|
|
917
918
|
label?: string | undefined;
|
|
919
|
+
aliases?: string[] | undefined;
|
|
918
920
|
labelPlural?: string | undefined;
|
|
919
921
|
formatter?: string | undefined;
|
|
920
922
|
transforms?: string | undefined;
|
|
921
923
|
parser?: string | undefined;
|
|
922
|
-
aliases?: string[] | undefined;
|
|
923
924
|
typeModifier?: string | undefined;
|
|
924
925
|
} | undefined;
|
|
925
926
|
$hasMore?: boolean | undefined;
|
|
926
|
-
hasChildren?: boolean | undefined;
|
|
927
927
|
}>;
|
|
928
928
|
}>;
|
|
929
929
|
principalService: PrincipalWebService;
|
|
@@ -974,6 +974,7 @@ export declare class ChatComponent extends AbstractFacet implements OnInit, OnCh
|
|
|
974
974
|
title: string;
|
|
975
975
|
text: string;
|
|
976
976
|
size: number;
|
|
977
|
+
version: string;
|
|
977
978
|
$selected: boolean;
|
|
978
979
|
matchlocations: string[];
|
|
979
980
|
rank: number;
|
|
@@ -989,7 +990,6 @@ export declare class ChatComponent extends AbstractFacet implements OnInit, OnCh
|
|
|
989
990
|
documentweight: string;
|
|
990
991
|
modified: string;
|
|
991
992
|
indexationtime: string;
|
|
992
|
-
version: string;
|
|
993
993
|
treepath: string[];
|
|
994
994
|
fileext: string;
|
|
995
995
|
flags: string[];
|
package/chat/types.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { Record } from "@sinequa/core/web-services";
|
|
3
2
|
import { Query } from '@sinequa/core/app-utils';
|
|
3
|
+
import { Record } from "@sinequa/core/web-services";
|
|
4
4
|
/**
|
|
5
5
|
* Individual message sent & returned by the ChatGPT API.
|
|
6
6
|
* If this message is an attachment, we attach the minimal
|
|
@@ -127,6 +127,7 @@ export declare const connectionSettingsSchema: z.ZodEffects<z.ZodObject<{
|
|
|
127
127
|
connectionErrorMessage: z.ZodString;
|
|
128
128
|
restEndpoint: z.ZodOptional<z.ZodString>;
|
|
129
129
|
websocketEndpoint: z.ZodOptional<z.ZodString>;
|
|
130
|
+
signalRSkipNegotiation: z.ZodOptional<z.ZodBoolean>;
|
|
130
131
|
signalRTransport: z.ZodEnum<["WebSockets", "ServerSentEvents", "LongPolling", "None"]>;
|
|
131
132
|
signalRLogLevel: z.ZodEnum<["Critical", "Debug", "Error", "Information", "None", "Trace", "Warning"]>;
|
|
132
133
|
signalRServerTimeoutInMilliseconds: z.ZodOptional<z.ZodNumber>;
|
|
@@ -136,6 +137,7 @@ export declare const connectionSettingsSchema: z.ZodEffects<z.ZodObject<{
|
|
|
136
137
|
signalRLogLevel: "None" | "Critical" | "Debug" | "Error" | "Information" | "Trace" | "Warning";
|
|
137
138
|
restEndpoint?: string | undefined;
|
|
138
139
|
websocketEndpoint?: string | undefined;
|
|
140
|
+
signalRSkipNegotiation?: boolean | undefined;
|
|
139
141
|
signalRServerTimeoutInMilliseconds?: number | undefined;
|
|
140
142
|
}, {
|
|
141
143
|
connectionErrorMessage: string;
|
|
@@ -143,6 +145,7 @@ export declare const connectionSettingsSchema: z.ZodEffects<z.ZodObject<{
|
|
|
143
145
|
signalRLogLevel: "None" | "Critical" | "Debug" | "Error" | "Information" | "Trace" | "Warning";
|
|
144
146
|
restEndpoint?: string | undefined;
|
|
145
147
|
websocketEndpoint?: string | undefined;
|
|
148
|
+
signalRSkipNegotiation?: boolean | undefined;
|
|
146
149
|
signalRServerTimeoutInMilliseconds?: number | undefined;
|
|
147
150
|
}>, {
|
|
148
151
|
connectionErrorMessage: string;
|
|
@@ -150,6 +153,7 @@ export declare const connectionSettingsSchema: z.ZodEffects<z.ZodObject<{
|
|
|
150
153
|
signalRLogLevel: "None" | "Critical" | "Debug" | "Error" | "Information" | "Trace" | "Warning";
|
|
151
154
|
restEndpoint?: string | undefined;
|
|
152
155
|
websocketEndpoint?: string | undefined;
|
|
156
|
+
signalRSkipNegotiation?: boolean | undefined;
|
|
153
157
|
signalRServerTimeoutInMilliseconds?: number | undefined;
|
|
154
158
|
}, {
|
|
155
159
|
connectionErrorMessage: string;
|
|
@@ -157,6 +161,7 @@ export declare const connectionSettingsSchema: z.ZodEffects<z.ZodObject<{
|
|
|
157
161
|
signalRLogLevel: "None" | "Critical" | "Debug" | "Error" | "Information" | "Trace" | "Warning";
|
|
158
162
|
restEndpoint?: string | undefined;
|
|
159
163
|
websocketEndpoint?: string | undefined;
|
|
164
|
+
signalRSkipNegotiation?: boolean | undefined;
|
|
160
165
|
signalRServerTimeoutInMilliseconds?: number | undefined;
|
|
161
166
|
}>;
|
|
162
167
|
export declare type ConnectionSettings = z.infer<typeof connectionSettingsSchema>;
|
|
@@ -351,6 +356,7 @@ export declare const chatConfigSchema: z.ZodObject<{
|
|
|
351
356
|
connectionErrorMessage: z.ZodString;
|
|
352
357
|
restEndpoint: z.ZodOptional<z.ZodString>;
|
|
353
358
|
websocketEndpoint: z.ZodOptional<z.ZodString>;
|
|
359
|
+
signalRSkipNegotiation: z.ZodOptional<z.ZodBoolean>;
|
|
354
360
|
signalRTransport: z.ZodEnum<["WebSockets", "ServerSentEvents", "LongPolling", "None"]>;
|
|
355
361
|
signalRLogLevel: z.ZodEnum<["Critical", "Debug", "Error", "Information", "None", "Trace", "Warning"]>;
|
|
356
362
|
signalRServerTimeoutInMilliseconds: z.ZodOptional<z.ZodNumber>;
|
|
@@ -360,6 +366,7 @@ export declare const chatConfigSchema: z.ZodObject<{
|
|
|
360
366
|
signalRLogLevel: "None" | "Critical" | "Debug" | "Error" | "Information" | "Trace" | "Warning";
|
|
361
367
|
restEndpoint?: string | undefined;
|
|
362
368
|
websocketEndpoint?: string | undefined;
|
|
369
|
+
signalRSkipNegotiation?: boolean | undefined;
|
|
363
370
|
signalRServerTimeoutInMilliseconds?: number | undefined;
|
|
364
371
|
}, {
|
|
365
372
|
connectionErrorMessage: string;
|
|
@@ -367,6 +374,7 @@ export declare const chatConfigSchema: z.ZodObject<{
|
|
|
367
374
|
signalRLogLevel: "None" | "Critical" | "Debug" | "Error" | "Information" | "Trace" | "Warning";
|
|
368
375
|
restEndpoint?: string | undefined;
|
|
369
376
|
websocketEndpoint?: string | undefined;
|
|
377
|
+
signalRSkipNegotiation?: boolean | undefined;
|
|
370
378
|
signalRServerTimeoutInMilliseconds?: number | undefined;
|
|
371
379
|
}>, {
|
|
372
380
|
connectionErrorMessage: string;
|
|
@@ -374,6 +382,7 @@ export declare const chatConfigSchema: z.ZodObject<{
|
|
|
374
382
|
signalRLogLevel: "None" | "Critical" | "Debug" | "Error" | "Information" | "Trace" | "Warning";
|
|
375
383
|
restEndpoint?: string | undefined;
|
|
376
384
|
websocketEndpoint?: string | undefined;
|
|
385
|
+
signalRSkipNegotiation?: boolean | undefined;
|
|
377
386
|
signalRServerTimeoutInMilliseconds?: number | undefined;
|
|
378
387
|
}, {
|
|
379
388
|
connectionErrorMessage: string;
|
|
@@ -381,6 +390,7 @@ export declare const chatConfigSchema: z.ZodObject<{
|
|
|
381
390
|
signalRLogLevel: "None" | "Critical" | "Debug" | "Error" | "Information" | "Trace" | "Warning";
|
|
382
391
|
restEndpoint?: string | undefined;
|
|
383
392
|
websocketEndpoint?: string | undefined;
|
|
393
|
+
signalRSkipNegotiation?: boolean | undefined;
|
|
384
394
|
signalRServerTimeoutInMilliseconds?: number | undefined;
|
|
385
395
|
}>;
|
|
386
396
|
defaultValues: z.ZodObject<{
|
|
@@ -568,6 +578,7 @@ export declare const chatConfigSchema: z.ZodObject<{
|
|
|
568
578
|
signalRLogLevel: "None" | "Critical" | "Debug" | "Error" | "Information" | "Trace" | "Warning";
|
|
569
579
|
restEndpoint?: string | undefined;
|
|
570
580
|
websocketEndpoint?: string | undefined;
|
|
581
|
+
signalRSkipNegotiation?: boolean | undefined;
|
|
571
582
|
signalRServerTimeoutInMilliseconds?: number | undefined;
|
|
572
583
|
};
|
|
573
584
|
defaultValues: {
|
|
@@ -632,6 +643,7 @@ export declare const chatConfigSchema: z.ZodObject<{
|
|
|
632
643
|
signalRLogLevel: "None" | "Critical" | "Debug" | "Error" | "Information" | "Trace" | "Warning";
|
|
633
644
|
restEndpoint?: string | undefined;
|
|
634
645
|
websocketEndpoint?: string | undefined;
|
|
646
|
+
signalRSkipNegotiation?: boolean | undefined;
|
|
635
647
|
signalRServerTimeoutInMilliseconds?: number | undefined;
|
|
636
648
|
};
|
|
637
649
|
defaultValues: {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
+
import { HubConnection } from "@microsoft/signalr";
|
|
2
|
+
import { Query } from "@sinequa/core/app-utils";
|
|
1
3
|
import { AuthenticationService } from "@sinequa/core/login";
|
|
2
4
|
import { ConnectionOptions, SignalRWebService } from "@sinequa/core/web-services";
|
|
3
|
-
import { Query } from "@sinequa/core/app-utils";
|
|
4
|
-
import { HubConnection } from "@microsoft/signalr";
|
|
5
|
-
import { ChatMessage, ChatResponse, GllmFunction, GllmModelDescription, MessageHandler, SavedChatHistory, SavedChat } from "./types";
|
|
6
|
-
import { ChatService } from "./chat.service";
|
|
7
5
|
import { Observable } from "rxjs";
|
|
6
|
+
import { ChatService } from "./chat.service";
|
|
7
|
+
import { ChatMessage, ChatResponse, GllmFunction, GllmModelDescription, MessageHandler, SavedChat, SavedChatHistory } from "./types";
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
export declare class WebSocketChatService extends ChatService {
|
|
10
10
|
connection: HubConnection | undefined;
|
package/esm2020/chat/types.mjs
CHANGED
|
@@ -4,6 +4,7 @@ export const connectionSettingsSchema = z.object({
|
|
|
4
4
|
connectionErrorMessage: z.string(),
|
|
5
5
|
restEndpoint: z.string().optional(),
|
|
6
6
|
websocketEndpoint: z.string().optional(),
|
|
7
|
+
signalRSkipNegotiation: z.boolean().optional(),
|
|
7
8
|
signalRTransport: z.enum(["WebSockets", "ServerSentEvents", "LongPolling", "None"]),
|
|
8
9
|
signalRLogLevel: z.enum(["Critical", "Debug", "Error", "Information", "None", "Trace", "Warning"]),
|
|
9
10
|
signalRServerTimeoutInMilliseconds: z.number().optional()
|
|
@@ -98,4 +99,4 @@ export const chatConfigSchema = z.object({
|
|
|
98
99
|
additionalServiceSettings: additionalServiceSettingsSchema,
|
|
99
100
|
additionalWorkflowProperties: additionalWorkflowPropertiesSchema
|
|
100
101
|
});
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hc3Npc3RhbnQvY2hhdC90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBMkl4QixrRUFBa0U7QUFDbEUsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUMvQyxzQkFBc0IsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2xDLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ25DLGlCQUFpQixFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDeEMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxhQUFhLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDbkYsZUFBZSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztJQUNsRyxrQ0FBa0MsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0NBQzFELENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRTtJQUNuRSxPQUFPLEVBQUUsbU5BQW1OO0NBQzdOLENBQUMsQ0FBQztBQUlILCtEQUErRDtBQUMvRCxNQUFNLHFCQUFxQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDckMsVUFBVSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDdEIsUUFBUSxFQUFF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LENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUU7Q0FDM0MsQ0FBQyxDQUFDO0FBSUgsaUVBQWlFO0FBQ2pFLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDdkMsa0JBQWtCLEVBQUUsd0JBQXdCO0lBQzVDLGFBQWEsRUFBRSxtQkFBbUI7SUFDbEMsWUFBWSxFQUFFLGtCQUFrQjtJQUNoQyxVQUFVLEVBQUUsZ0JBQWdCO0lBQzVCLGlCQUFpQixFQUFFLHVCQUF1QjtJQUMxQyxjQUFjLEVBQUUsb0JBQW9CO0lBQ3BDLGFBQWEsRUFBRSxtQkFBbUIsQ0FBQyxRQUFRLEVBQUU7SUFDN0MseUJBQXlCLEVBQUUsK0JBQStCO0lBQzFELDRCQUE0QixFQUFFLGtDQUFrQztDQUNqRSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB6IH0gZnJvbSAnem9kJztcbmltcG9ydCB7IFJlY29yZCB9IGZyb20gXCJAc2luZXF1YS9jb3JlL3dlYi1zZXJ2aWNlc1wiO1xuaW1wb3J0IHsgUXVlcnkgfSBmcm9tICdAc2luZXF1YS9jb3JlL2FwcC11dGlscyc7XG5cbi8qKlxuICogSW5kaXZpZHVhbCBtZXNzYWdlIHNlbnQgJiByZXR1cm5lZCBieSB0aGUgQ2hhdEdQVCBBUEkuXG4gKiBJZiB0aGlzIG1lc3NhZ2UgaXMgYW4gYXR0YWNobWVudCwgd2UgYXR0YWNoIHRoZSBtaW5pbWFsXG4gKiBpbmZvcm1hdGlvbiBuZWVkZWQgdG8gcmVjb25zdHJ1Y3QgdGhpcyBhdHRhY2htZW50IChSYXdBdHRhY2htZW50KVxuICogYXMgd2VsbCBhcyB0aGUgcmVmZXJlbmNlIGlkIGNvbXB1dGVkIGF0IHRoZSBtb21lbnQgb2Ygc2VuZGluZ1xuICogdGhlIGF0dGFjaG1lbnQgdG8gdGhlIEFQSS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSYXdNZXNzYWdlIHtcbiAgcm9sZTogc3RyaW5nO1xuICBjb250ZW50OiBzdHJpbmc7XG4gIG1lc3NhZ2VUeXBlPzogJ0NIQVJUJyB8ICdNQVJLRE9XTidcbiAgYWRkaXRpb25hbFByb3BlcnRpZXM6IHtcbiAgICBba2V5OiBzdHJpbmddOiBhbnlcbiAgfTtcbn1cblxuLyoqXG4gKiBBIGNoYXQgbWVzc2FnZSB0aGF0IGhhcyBiZWVuIHByb2Nlc3NlZCB0byBpbmNsdWRlIHRoZSBtYXJrZG93bi1mb3JtYXR0ZWRcbiAqIGNvbnRlbnQgZm9yIGRpc3BsYXksIGFzIHdlbGwgYXMgZGV0YWlsZWQgYXR0YWNobWVudCBkYXRhLCBhbmQgb3B0aW9uYWxseVxuICogYSBsaXN0IG9mIHRoZSByZWZlcmVuY2VzIGV4dHJhY3RlZCBmcm9tIHRoYXQgbWVzc2FnZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIENoYXRNZXNzYWdlIGV4dGVuZHMgUmF3TWVzc2FnZSB7XG4gIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiB7XG4gICAgZGlzcGxheT86IGJvb2xlYW47XG4gICAgJHByb2dyZXNzPzogQ2hhdFByb2dyZXNzW107XG4gICAgJGF0dGFjaG1lbnQ/OiBDaGF0Q29udGV4dEF0dGFjaG1lbnRbXTtcbiAgICAkc3VnZ2VzdGVkQWN0aW9uPzogU3VnZ2VzdGVkQWN0aW9uW107XG4gICAgJGRlYnVnPzogRGVidWdNZXNzYWdlW107XG4gICAgZm9yY2VkV29ya2Zsb3c/OiBzdHJpbmc7XG4gICAgZm9yY2VkV29ya2Zsb3dQcm9wZXJ0aWVzPzogYW55O1xuICAgIHF1ZXJ5PzogUXVlcnk7XG4gICAgaXNVc2VySW5wdXQ/OiBib29sZWFuO1xuICAgIHVzYWdlTWV0cmljcz86IENoYXRVc2FnZU1ldHJpY3M7XG4gICAgYWRkaXRpb25hbFdvcmtmbG93UHJvcGVydGllcz86IGFueTtcbiAgICAkbGlrZWQ/OiBib29sZWFuO1xuICAgICRkaXNsaWtlZD86IGJvb2xlYW47XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYXRQcm9ncmVzcyB7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBjb250ZW50Pzogc3RyaW5nO1xuICAgIGRvbmU/OiBib29sZWFuO1xuICAgIHRpbWU/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmF3QXR0YWNobWVudCB7XG4gIC8qKiBUeXBlIG9mIHRoZSBhdHRhY2htZW50ICovXG4gIHR5cGU6IHN0cmluZztcbiAgLyoqIFJlY29yZCBpZCBmcm9tIHdoaWNoIHRoaXMgYXR0YWNobWVudCBpcyB0YWtlbiAqL1xuICByZWNvcmRJZDogc3RyaW5nO1xuICAvKiogUmVjb3JkIGZyb20gd2hpY2ggdGhpcyB0aGlzIGF0dGFjaG1lbnQgaXMgdGFrZW4gKi9cbiAgcmVjb3JkOiBSZWNvcmQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRG9jdW1lbnRQYXJ0IHtcbiAgcGFydElkOiBudW1iZXI7XG4gIG9mZnNldDogbnVtYmVyO1xuICBsZW5ndGg6IG51bWJlcjtcbiAgdGV4dDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYXRDb250ZXh0QXR0YWNobWVudCBleHRlbmRzIFJhd0F0dGFjaG1lbnQge1xuICAvKiogVHlwZSBvZiB0aGUgYXR0YWNobWVudCAqL1xuICB0eXBlOiBcIkNvbnRleHRcIjtcbiAgLyoqIFJhbmsgb2YgdGhlIGF0dGFjaG1lbnQgaW4gdGhlIGNvbnRleHQgbWVzc2FnZSAqL1xuICBjb250ZXh0SWQ6IG51bWJlcjtcbiAgLyoqIFBhcnRzIG9mIHRoZSByZWNvcmQgdGhhdCB0aGUgYXNzaXN0YW50IHVzZXMgdG8gYW5zd2VyICovXG4gIHBhcnRzOiBEb2N1bWVudFBhcnRbXTtcbiAgLyoqIFRoZSBzcGVjaWZpYyBpZCB1c2VkIG9mIHRoZSByZWZlcmVuY2VkIHBhcnQgKi9cbiAgJHBhcnRJZD86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBSYXcgcmVzcG9uc2Ugb2YgdGhlIGNoYXQgQVBJXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmF3UmVzcG9uc2Uge1xuICBoaXN0b3J5OiBSYXdNZXNzYWdlW107XG4gIGV4ZWN1dGlvblRpbWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBFbnJpY2hlZCByZXNwb25zZSBvZiB0aGUgY2hhdCBBUElcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDaGF0UmVzcG9uc2UgZXh0ZW5kcyBSYXdSZXNwb25zZXtcbiAgaGlzdG9yeTogQ2hhdE1lc3NhZ2VbXTtcbn1cblxuLyoqXG4gKiBSZXNwb25zZSBvZiB0aGUgTGlzdE1vZGVscyBBUElcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHbGxtTW9kZWxEZXNjcmlwdGlvbiB7XG4gIHByb3ZpZGVyOiBzdHJpbmc7XG4gIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gIHNlcnZpY2VJZDogc3RyaW5nO1xuICBtb2RlbElkOiBzdHJpbmc7XG4gIGVuYWJsZTogYm9vbGVhbjtcbiAgbWF4R2VuZXJhdGlvblNpemU6IG51bWJlcjtcbiAgY29udGV4dFdpbmRvd1NpemU6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBSZXNwb25zZSBvZiB0aGUgTGlzdEZ1bmN0aW9ucyBBUElcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHbGxtRnVuY3Rpb24ge1xuICBmdW5jdGlvbk5hbWU6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgZW5hYmxlZDogYm9vbGVhbjtcbiAgcGFyYW1ldGVyczogR2xsbUZ1bmN0aW9uUGFyYW1ldGVyW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2xsbUZ1bmN0aW9uUGFyYW1ldGVyIHtcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgaXNSZXF1aXJlZDogYm9vbGVhbjtcbiAgbmFtZTogc3RyaW5nO1xuICB0eXBlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogTWluaW1hbCByZXByZXNlbnRhdGlvbiBvZiBhIHNhdmVkIGNoYXRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYXZlZENoYXQge1xuICBpZDogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICBtb2RpZmllZFVUQzogc3RyaW5nO1xufVxuXG4vKipcbiAqIERhdGEgc3RydWN0dXJlIHNhdmVkIHRvIHJlY29uc3RydWN0IGEgc2F2ZWQgY2hhdCBjb252ZXJzYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYXZlZENoYXRIaXN0b3J5IGV4dGVuZHMgU2F2ZWRDaGF0e1xuICBoaXN0b3J5OiBDaGF0TWVzc2FnZVtdO1xufVxuXG4vLyBEZWZpbmUgdGhlIFpvZCByZXByZXNlbnRhdGlvbiBmb3IgdGhlIGNvbm5lY3Rpb25TZXR0aW5ncyBvYmplY3RcbmV4cG9ydCBjb25zdCBjb25uZWN0aW9uU2V0dGluZ3NTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIGNvbm5lY3Rpb25FcnJvck1lc3NhZ2U6IHouc3RyaW5nKCksXG4gIHJlc3RFbmRwb2ludDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICB3ZWJzb2NrZXRFbmRwb2ludDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBzaWduYWxSVHJhbnNwb3J0OiB6LmVudW0oW1wiV2ViU29ja2V0c1wiLCBcIlNlcnZlclNlbnRFdmVudHNcIiwgXCJMb25nUG9sbGluZ1wiLCBcIk5vbmVcIl0pLFxuICBzaWduYWxSTG9nTGV2ZWw6IHouZW51bShbXCJDcml0aWNhbFwiLCBcIkRlYnVnXCIsIFwiRXJyb3JcIiwgXCJJbmZvcm1hdGlvblwiLCBcIk5vbmVcIiwgXCJUcmFjZVwiLCBcIldhcm5pbmdcIl0pLFxuICBzaWduYWxSU2VydmVyVGltZW91dEluTWlsbGlzZWNvbmRzOiB6Lm51bWJlcigpLm9wdGlvbmFsKClcbn0pLnJlZmluZShkYXRhID0+ICghIWRhdGEucmVzdEVuZHBvaW50IHx8ICEhZGF0YS53ZWJzb2NrZXRFbmRwb2ludCksIHtcbiAgbWVzc2FnZTogXCJCYXNlZCBvbiB0aGUgcHJvdmlkZWQgaW5wdXQoKSBwcm90b2NvbCAoJ1JFU1QnIG9yICdXRUJTT0NLRVQnKSB0byB0aGUgQ2hhdCBDb21wb25lbnQsIGVpdGhlciAncmVzdEVuZHBvaW50JyBvciAnd2Vic29ja2V0RW5kcG9pbnQnIHByb3BlcnR5IHNob3VsZCBiZSBwcm92aWRlZCBpbiB0aGUgJ2dsb2JhbFNldHRpbmdzJyBvZiB0aGUgYXNzaXN0YW50IGluc3RhbmNlLlwiLFxufSk7XG4vLyBEZWZpbmUgdGhlIENvbm5lY3Rpb25TZXR0aW5ncyBpbnRlcmZhY2VcbmV4cG9ydCB0eXBlIENvbm5lY3Rpb25TZXR0aW5ncyA9IHouaW5mZXI8dHlwZW9mIGNvbm5lY3Rpb25TZXR0aW5nc1NjaGVtYT47XG5cbi8vIERlZmluZSB0aGUgWm9kIHJlcHJlc2VudGF0aW9uIGZvciB0aGUgc2VydmljZVNldHRpbmdzIG9iamVjdFxuY29uc3Qgc2VydmljZVNldHRpbmdzU2NoZW1hID0gei5vYmplY3Qoe1xuICBzZXJ2aWNlX2lkOiB6LnN0cmluZygpLFxuICBtb2RlbF9pZDogei5zdHJpbmcoKSxcbiAgdGVtcGVyYXR1cmU6IHoubnVtYmVyKCksXG4gIHRvcF9wOiB6Lm51bWJlcigpLFxuICBtYXhfdG9rZW5zOiB6Lm51bWJlcigpXG59KTtcbi8vIERlZmluZSB0aGUgU2VydmljZVNldHRpbmdzIGludGVyZmFjZVxuZXhwb3J0IGludGVyZmFjZSBTZXJ2aWNlU2V0dGluZ3MgZXh0ZW5kcyB6LmluZmVyPHR5cGVvZiBzZXJ2aWNlU2V0dGluZ3NTY2hlbWE+IHt9XG5cbi8vIERlZmluZSB0aGUgWm9kIHJlcHJlc2VudGF0aW9uIGZvciB0aGUgYWRkaXRpb25hbFNlcnZpY2VTZXR0aW5ncyBvYmplY3RcbmNvbnN0IGFkZGl0aW9uYWxTZXJ2aWNlU2V0dGluZ3NTY2hlbWEgPSB6Lm9iamVjdCh7fSk7XG4vLyBEZWZpbmUgdGhlIEFkZGl0aW9uYWxTZXJ2aWNlU2V0dGluZ3MgaW50ZXJmYWNlXG5leHBvcnQgaW50ZXJmYWNlIEFkZGl0aW9uYWxTZXJ2aWNlU2V0dGluZ3MgZXh0ZW5kcyB6LmluZmVyPHR5cGVvZiBhZGRpdGlvbmFsU2VydmljZVNldHRpbmdzU2NoZW1hPiB7fVxuXG4vLyBEZWZpbmUgdGhlIFpvZCByZXByZXNlbnRhdGlvbiBmb3IgdGhlIGFkZGl0aW9uYWxXb3JrZmxvd1Byb3BlcnRpZXMgb2JqZWN0XG5jb25zdCBhZGRpdGlvbmFsV29ya2Zsb3dQcm9wZXJ0aWVzU2NoZW1hID0gei5vYmplY3Qoe30pO1xuLy8gRGVmaW5lIHRoZSBhZGRpdGlvbmFsV29ya2Zsb3dQcm9wZXJ0aWVzIGludGVyZmFjZVxuZXhwb3J0IGludGVyZmFjZSBhZGRpdGlvbmFsV29ya2Zsb3dQcm9wZXJ0aWVzIGV4dGVuZHMgei5pbmZlcjx0eXBlb2YgYWRkaXRpb25hbFdvcmtmbG93UHJvcGVydGllc1NjaGVtYT4ge31cblxuLy8gRGVmaW5lIHRoZSBab2QgcmVwcmVzZW50YXRpb24gZm9yIHRoZSB1aVNldHRpbmdzIG9iamVjdFxuY29uc3QgdWlTZXR0aW5nc1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgZGlzcGxheTogei5ib29sZWFuKCksXG4gIHNlcnZpY2VzTW9kZWxzOiB6LmJvb2xlYW4oKSxcbiAgZnVuY3Rpb25zOiB6LmJvb2xlYW4oKSxcbiAgdGVtcGVyYXR1cmU6IHouYm9vbGVhbigpLFxuICB0b3BfcDogei5ib29sZWFuKCksXG4gIG1heF90b2tlbnM6IHouYm9vbGVhbigpLFxuICBkZWJ1Zzogei5ib29sZWFuKCksXG4gIGRpc3BsYXlTeXN0ZW1Qcm9tcHQ6IHouYm9vbGVhbigpLFxuICBkaXNwbGF5VXNlclByb21wdDogei5ib29sZWFuKClcbn0pO1xuLy8gRGVmaW5lIHRoZSBVaVNldHRpbmdzIGludGVyZmFjZVxuZXhwb3J0IGludGVyZmFjZSBVaVNldHRpbmdzIGV4dGVuZHMgei5pbmZlcjx0eXBlb2YgdWlTZXR0aW5nc1NjaGVtYT4ge31cblxuLy8gRGVmaW5lIHRoZSBab2QgcmVwcmVzZW50YXRpb24gZm9yIHRoZSBkZWZhdWx0VmFsdWVzIG9iamVjdFxuY29uc3QgZGVmYXVsdFZhbHVlc1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgc2VydmljZV9pZDogei5zdHJpbmcoKSxcbiAgbW9kZWxfaWQ6IHouc3RyaW5nKCksXG4gIGZ1bmN0aW9uczogei5hcnJheShcbiAgICB6Lm9iamVjdCh7XG4gICAgICBuYW1lOiB6LnN0cmluZygpLFxuICAgICAgZW5hYmxlZDogei5ib29sZWFuKClcbiAgICB9KVxuICApLFxuICB0ZW1wZXJhdHVyZTogei5udW1iZXIoKSxcbiAgdG9wX3A6IHoubnVtYmVyKCksXG4gIG1heF90b2tlbnM6IHoubnVtYmVyKCksXG4gIGRlYnVnOiB6LmJvb2xlYW4oKSxcbiAgc3lzdGVtUHJvbXB0OiB6LnN0cmluZygpLFxuICB1c2VyUHJvbXB0OiB6LnN0cmluZygpXG59KTtcbi8vIERlZmluZSB0aGUgRGVmYXVsdFZhbHVlcyBpbnRlcmZhY2VcbmV4cG9ydCBpbnRlcmZhY2UgRGVmYXVsdFZhbHVlcyBleHRlbmRzIHouaW5mZXI8dHlwZW9mIGRlZmF1bHRWYWx1ZXNTY2hlbWE+IHt9XG5cbi8vIERlZmluZSB0aGUgWm9kIHJlcHJlc2VudGF0aW9uIGZvciB0aGUgYWN0aW9uIG9iamVjdFxuY29uc3QgYWN0aW9uU2NoZW1hID0gei5vYmplY3Qoe1xuICBmb3JjZWRXb3JrZmxvdzogei5zdHJpbmcoKSwgLy8gZm9yY2VkV29ya2Zsb3cgbXVzdCBiZSBhIHN0cmluZ1xuICBmb3JjZWRXb3JrZmxvd1Byb3BlcnRpZXM6IHoucmVjb3JkKHoudW5rbm93bigpKS5vcHRpb25hbCgpIC8vIGZvcmNlZFdvcmtmbG93UHJvcGVydGllcyBtdXN0IGJlIGFuIG9iamVjdCAoTWFwIGVxdWl2YWxlbnQpXG59KTtcblxuLy8gRGVmaW5lIHRoZSBab2QgcmVwcmVzZW50YXRpb24gZm9yIHRoZSBtb2RlU2V0dGluZ3Mgb2JqZWN0XG5jb25zdCBpbml0aWFsaXphdGlvblNjaGVtYSA9IHoub2JqZWN0KHtcbiAgZXZlbnQ6IHouZW51bShbJ1F1ZXJ5JywgJ1Byb21wdCddKSxcbiAgZm9yY2VkV29ya2Zsb3c6IHouc3RyaW5nKCkub3B0aW9uYWwoKSwgLy8gT3B0aW9uYWwgZm9yIGV2ZW50ICdQcm9tcHQnXG4gIGRpc3BsYXlVc2VyUXVlcnk6IHouYm9vbGVhbigpLm9wdGlvbmFsKCkgLy8gT3B0aW9uYWwgZm9yIGV2ZW50ICdQcm9tcHQnXG59KS5yZWZpbmUoZGF0YSA9PiAoKGRhdGEuZXZlbnQgPT09IFwiUXVlcnlcIikgPyAoISFkYXRhLmZvcmNlZFdvcmtmbG93ICYmIGRhdGEuZGlzcGxheVVzZXJRdWVyeSAhPT0gdW5kZWZpbmVkICYmIGRhdGEuZGlzcGxheVVzZXJRdWVyeSAhPT0gbnVsbCkgOiB0cnVlKSwge1xuICBtZXNzYWdlOiBcIlRoZSAnZm9yY2VkV29ya2Zsb3cnIGFuZCAnZGlzcGxheVVzZXJRdWVyeScgcHJvcGVydGllcyBtdXN0IGJlIHByb3ZpZGVkIHdoZW4gdGhlIGluaXRpYWxpemF0aW9uJ3MgZXZlbnQgaXMgJ1F1ZXJ5Jy5cIixcbn0pXG5jb25zdCBtb2RlU2V0dGluZ3NTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIGVuYWJsZWRVc2VySW5wdXQ6IHouYm9vbGVhbigpLFxuICBkaXNwbGF5VXNlclByb21wdDogei5ib29sZWFuKCksXG4gIHNlbmRVc2VyUHJvbXB0OiB6LmJvb2xlYW4oKSxcbiAgaW5pdGlhbGl6YXRpb246IGluaXRpYWxpemF0aW9uU2NoZW1hLFxuICBhY3Rpb25zOiB6LnJlY29yZChhY3Rpb25TY2hlbWEpLm9wdGlvbmFsKClcbn0pO1xuLy8gRGVmaW5lIHRoZSBNb2RlU2V0dGluZ3MgaW50ZXJmYWNlXG5leHBvcnQgaW50ZXJmYWNlIE1vZGVTZXR0aW5ncyBleHRlbmRzIHouaW5mZXI8dHlwZW9mIG1vZGVTZXR0aW5nc1NjaGVtYT4ge31cblxuLy8gRGVmaW5lIHRoZSBab2QgcmVwcmVzZW50YXRpb24gZm9yIHRoZSBzYXZlZENoYXRTZXR0aW5ncyBvYmplY3RcbmNvbnN0IHNhdmVkQ2hhdFNldHRpbmdzU2NoZW1hID0gei5vYmplY3Qoe1xuICBlbmFibGVkOiB6LmJvb2xlYW4oKSxcbiAgZGlzcGxheTogei5ib29sZWFuKClcbn0pXG4vLyBEZWZpbmUgdGhlIFNhdmVkQ2hhdFNldHRpbmdzIGludGVyZmFjZVxuZXhwb3J0IGludGVyZmFjZSBTYXZlZENoYXRTZXR0aW5ncyBleHRlbmRzIHouaW5mZXI8dHlwZW9mIHNhdmVkQ2hhdFNldHRpbmdzU2NoZW1hPiB7fVxuXG4vLyBEZWZpbmUgdGhlIFpvZCByZXByZXNlbnRhdGlvbiBmb3IgdGhlIGdsb2JhbFNldHRpbmdzIG9iamVjdFxuY29uc3QgZ2xvYmFsU2V0dGluZ3NTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIHNlYXJjaFdhcm5pbmdNZXNzYWdlOiB6LnN0cmluZygpLFxuICBkaXNjbGFpbWVyOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGdlbmVyaWNDaGF0RXJyb3JNZXNzYWdlOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGRpc3BsYXlVc2VyUXVvdGFDb25zdW1wdGlvbjogei5ib29sZWFuKCkub3B0aW9uYWwoKSxcbiAgZGlzcGxheUNoYXRUb2tlbnNDb25zdW1wdGlvbjogei5ib29sZWFuKCkub3B0aW9uYWwoKVxufSlcblxuLy8gRGVmaW5lIHRoZSBab2QgcmVwcmVzZW50YXRpb24gZm9yIHRoZSBhdWRpdFNldHRpbmdzIG9iamVjdFxuY29uc3QgYXVkaXRTZXR0aW5nc1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgaXNzdWVUeXBlczogei5hcnJheSh6LnN0cmluZygpKS5vcHRpb25hbCgpXG59KTtcbi8vIERlZmluZSB0aGUgU2F2ZWRDaGF0U2V0dGluZ3MgaW50ZXJmYWNlXG5leHBvcnQgaW50ZXJmYWNlIFNhdmVkQ2hhdFNldHRpbmdzIGV4dGVuZHMgei5pbmZlcjx0eXBlb2Ygc2F2ZWRDaGF0U2V0dGluZ3NTY2hlbWE+IHt9XG5cbi8vIERlZmluZSB0aGUgWm9kIHJlcHJlc2VudGF0aW9uIGZvciB0aGUgZW50aXJlIENoYXRDb25maWcgb2JqZWN0XG5leHBvcnQgY29uc3QgY2hhdENvbmZpZ1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgY29ubmVjdGlvblNldHRpbmdzOiBjb25uZWN0aW9uU2V0dGluZ3NTY2hlbWEsXG4gIGRlZmF1bHRWYWx1ZXM6IGRlZmF1bHRWYWx1ZXNTY2hlbWEsXG4gIG1vZGVTZXR0aW5nczogbW9kZVNldHRpbmdzU2NoZW1hLFxuICB1aVNldHRpbmdzOiB1aVNldHRpbmdzU2NoZW1hLFxuICBzYXZlZENoYXRTZXR0aW5nczogc2F2ZWRDaGF0U2V0dGluZ3NTY2hlbWEsXG4gIGdsb2JhbFNldHRpbmdzOiBnbG9iYWxTZXR0aW5nc1NjaGVtYSxcbiAgYXVkaXRTZXR0aW5nczogYXVkaXRTZXR0aW5nc1NjaGVtYS5vcHRpb25hbCgpLFxuICBhZGRpdGlvbmFsU2VydmljZVNldHRpbmdzOiBhZGRpdGlvbmFsU2VydmljZVNldHRpbmdzU2NoZW1hLFxuICBhZGRpdGlvbmFsV29ya2Zsb3dQcm9wZXJ0aWVzOiBhZGRpdGlvbmFsV29ya2Zsb3dQcm9wZXJ0aWVzU2NoZW1hXG59KTtcbi8vIERlZmluZSB0aGUgQ2hhdENvbmZpZyBpbnRlcmZhY2VcbmV4cG9ydCBpbnRlcmZhY2UgQ2hhdENvbmZpZyBleHRlbmRzIHouaW5mZXI8dHlwZW9mIGNoYXRDb25maWdTY2hlbWE+IHt9XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhdFBheWxvYWQge1xuICBkZWJ1ZzogYm9vbGVhbjtcbiAgZnVuY3Rpb25zOiBzdHJpbmdbXTtcbiAgaGlzdG9yeTogQ2hhdE1lc3NhZ2VbXTtcbiAgc2VydmljZVNldHRpbmdzOiBTZXJ2aWNlU2V0dGluZ3M7XG4gIGFwcFF1ZXJ5OiB7XG4gICAgYXBwOiBzdHJpbmc7XG4gICAgcXVlcnk6IFF1ZXJ5IHwgdW5kZWZpbmVkO1xuICAgIHRhcmdldFVybD86IHN0cmluZztcbiAgICBhY2Nlc3NUb2tlbj86IHN0cmluZztcbiAgfTtcbiAgaW5zdGFuY2VJZD86IHN0cmluZztcbiAgc2F2ZWRDaGF0SWQ/OiBzdHJpbmc7XG4gIGdlbmVyaWNDaGF0RXJyb3JNZXNzYWdlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBBY3Rpb25NZXNzYWdlID0ge1xuICBndWlkOiBzdHJpbmc7XG4gIGRpc3BsYXlOYW1lPzogc3RyaW5nXG4gIGRpc3BsYXlWYWx1ZT86IHN0cmluZztcbiAgZXhlY3V0aW9uVGltZT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUZXh0Q2h1bmtzT3B0aW9ucyB7XG4gIGV4dGVuZE1vZGU/OiAnTm9uZScgfCAnU2VudGVuY2UnIHwgJ0NoYXJzJztcbiAgZXh0ZW5kU2NvcGU/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUXVvdGEge1xuICBsYXN0UmVxdWVzdDogc3RyaW5nO1xuICBwcm9tcHRUb2tlbkNvdW50OiBudW1iZXI7XG4gIGNvbXBsZXRpb25Ub2tlbkNvdW50OiBudW1iZXI7XG4gIHBlcmlvZFRva2VuczogbnVtYmVyO1xuICByZXNldEhvdXJzOiBudW1iZXI7XG4gIHRva2VuQ291bnQ6IG51bWJlcjtcbiAgbmV4dFJlc2V0OiBzdHJpbmc7XG4gIGxhc3RSZXNldFVUQzogc3RyaW5nO1xuICBuZXh0UmVzZXRVVEM6IHN0cmluZztcbiAgbWF4UXVvdGFSZWFjaGVkOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN1Z2dlc3RlZEFjdGlvbiB7XG4gIGNvbnRlbnQ6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEluaXRDaGF0IHtcbiAgbWVzc2FnZXM6IFJhd01lc3NhZ2VbXTtcbn1cblxuLyoqXG4gKiBMaXN0IG9mIGV2ZW50cyBkYXRhIHRoYXQgY2FuIGJlIGVtaXR0ZWQgYnkgdGhlIHdlYnNvY2tldCBjaGF0IGVuZHBvaW50XG4gKi9cbmV4cG9ydCB0eXBlIFN1Z2dlc3RlZEFjdGlvbnNFdmVudCA9IHsgc3VnZ2VzdGVkQWN0aW9uczogU3VnZ2VzdGVkQWN0aW9uW10gfTtcbmV4cG9ydCB0eXBlIFF1b3RhRXZlbnQgPSB7IHF1b3RhOiBRdW90YSB9O1xuZXhwb3J0IHR5cGUgTWVzc2FnZUV2ZW50ID0gc3RyaW5nO1xuZXhwb3J0IHR5cGUgQ29udGV4dE1lc3NhZ2VFdmVudCA9IHsgY29udGVudDogc3RyaW5nOyBtZXRhZGF0YTogQ2hhdENvbnRleHRBdHRhY2htZW50IH07XG5leHBvcnQgdHlwZSBFcnJvckV2ZW50ID0gc3RyaW5nO1xuZXhwb3J0IHR5cGUgQWN0aW9uU3RhcnRFdmVudCA9IHsgZ3VpZDogc3RyaW5nOyBkaXNwbGF5TmFtZTogc3RyaW5nIH07XG5leHBvcnQgdHlwZSBBY3Rpb25SZXN1bHRFdmVudCA9IHsgZ3VpZDogc3RyaW5nOyBkaXNwbGF5VmFsdWU6IHN0cmluZyB9O1xuZXhwb3J0IHR5cGUgQWN0aW9uU3RvcEV2ZW50ID0geyBndWlkOiBzdHJpbmc7IGV4ZWN1dGlvblRpbWU6IG51bWJlciB9O1xuZXhwb3J0IHR5cGUgSGlzdG9yeUV2ZW50ID0geyBoaXN0b3J5OiBSYXdNZXNzYWdlW107IGV4ZWN1dGlvblRpbWU6IHN0cmluZyB9O1xuZXhwb3J0IHR5cGUgRGVidWdNZXNzYWdlRXZlbnQgPSBEZWJ1Z01lc3NhZ2U7XG5cbi8qKlxuICogRGF0YSBlbWl0dGVkIGJ5IHRoZSBodHRwIGNoYXQgZW5kcG9pbnRcbiAqL1xuZXhwb3J0IHR5cGUgSHR0cENoYXRSZXNwb25zZSA9IHtcbiAgcXVvdGE6IFF1b3RhO1xuICBzdWdnZXN0ZWRBY3Rpb25zOiBTdWdnZXN0ZWRBY3Rpb25bXTtcbiAgZGVidWc6IGFueTtcbiAgY29udGV4dDogeyBjb250ZW50OiBzdHJpbmc7IGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBDaGF0Q29udGV4dEF0dGFjaG1lbnQgfVtdO1xuICBhY3Rpb25zOiBBY3Rpb25NZXNzYWdlW107XG4gIGhpc3Rvcnk6IFJhd01lc3NhZ2VbXTtcbiAgZXhlY3V0aW9uVGltZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRva2VuQ29uc3VtcHRpb24ge1xuICBwZXJjZW50YWdlOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlclRva2VuQ29uc3VtcHRpb24gZXh0ZW5kcyBUb2tlbkNvbnN1bXB0aW9uIHtcbiAgbmV4dFJlc2V0RGF0ZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYXRVc2FnZU1ldHJpY3Mge1xuICB0b3RhbFRva2VuQ291bnQ6IG51bWJlcjtcbiAgcHJvbXB0VG9rZW5Db3VudDogbnVtYmVyO1xuICBjb21wbGV0aW9uVG9rZW5Db3VudDogbnVtYmVyO1xuICB0b2tlbml6ZXJUeXBlOiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBLdk9iamVjdCB7XG4gIGRhdGE6IHtcbiAgICBrZXk6IHN0cmluZztcbiAgICB2YWx1ZTogYW55OyAvLyBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgbnVsbCB8IHVuZGVmaW5lZCB8IHsgW2tleTogc3RyaW5nXTogYW55IH07XG4gIH07XG4gIHR5cGU6ICdLVic7XG4gIGlzRXJyb3I6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdE9iamVjdCB7XG4gIG5hbWU6IHN0cmluZztcbiAgdHlwZTogJ0xJU1QnO1xuICBpc0Vycm9yOiBib29sZWFuO1xuICBpdGVtczogKEt2T2JqZWN0IHwgTGlzdE9iamVjdClbXTtcbiAgZXhwYW5kZWQ6IGJvb2xlYW47XG59XG5cbmV4cG9ydCB0eXBlIERlYnVnTWVzc2FnZSA9IEt2T2JqZWN0IHwgTGlzdE9iamVjdDtcblxuXG5leHBvcnQgdHlwZSBNZXNzYWdlSGFuZGxlcjxUPiA9IHtcbiAgaGFuZGxlcjogKGRhdGE6IFQpID0+IHZvaWQ7XG4gIGlzR2xvYmFsSGFuZGxlcjogYm9vbGVhbjtcbn07XG4iXX0=
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hc3Npc3RhbnQvY2hhdC90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBNEl4QixrRUFBa0U7QUFDbEUsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUMvQyxzQkFBc0IsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2xDLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ25DLGlCQUFpQixFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDeEMsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM5QyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWSxFQUFFLGtCQUFrQixFQUFFLGFBQWEsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNuRixlQUFlLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ2xHLGtDQUFrQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7Q0FDMUQsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFO0lBQ25FLE9BQU8sRUFBRSxtTkFBbU47Q0FDN04sQ0FBQyxDQUFDO0FBSUgsK0RBQStEO0FBQy9ELE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FB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QUMsTUFBTSxDQUFDO0lBQ25DLFVBQVUsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRTtDQUMzQyxDQUFDLENBQUM7QUFJSCxpRUFBaUU7QUFDakUsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUN2QyxrQkFBa0IsRUFBRSx3QkFBd0I7SUFDNUMsYUFBYSxFQUFFLG1CQUFtQjtJQUNsQyxZQUFZLEVBQUUsa0JBQWtCO0lBQ2hDLFVBQVUsRUFBRSxnQkFBZ0I7SUFDNUIsaUJBQWlCLEVBQUUsdUJBQXVCO0lBQzFDLGNBQWMsRUFBRSxvQkFBb0I7SUFDcEMsYUFBYSxFQUFFLG1CQUFtQixDQUFDLFFBQVEsRUFBRTtJQUM3Qyx5QkFBeUIsRUFBRSwrQkFBK0I7SUFDMUQsNEJBQTRCLEVBQUUsa0NBQWtDO0NBQ2pFLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHogfSBmcm9tICd6b2QnO1xuXG5pbXBvcnQgeyBRdWVyeSB9IGZyb20gJ0BzaW5lcXVhL2NvcmUvYXBwLXV0aWxzJztcbmltcG9ydCB7IFJlY29yZCB9IGZyb20gXCJAc2luZXF1YS9jb3JlL3dlYi1zZXJ2aWNlc1wiO1xuXG4vKipcbiAqIEluZGl2aWR1YWwgbWVzc2FnZSBzZW50ICYgcmV0dXJuZWQgYnkgdGhlIENoYXRHUFQgQVBJLlxuICogSWYgdGhpcyBtZXNzYWdlIGlzIGFuIGF0dGFjaG1lbnQsIHdlIGF0dGFjaCB0aGUgbWluaW1hbFxuICogaW5mb3JtYXRpb24gbmVlZGVkIHRvIHJlY29uc3RydWN0IHRoaXMgYXR0YWNobWVudCAoUmF3QXR0YWNobWVudClcbiAqIGFzIHdlbGwgYXMgdGhlIHJlZmVyZW5jZSBpZCBjb21wdXRlZCBhdCB0aGUgbW9tZW50IG9mIHNlbmRpbmdcbiAqIHRoZSBhdHRhY2htZW50IHRvIHRoZSBBUEkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmF3TWVzc2FnZSB7XG4gIHJvbGU6IHN0cmluZztcbiAgY29udGVudDogc3RyaW5nO1xuICBtZXNzYWdlVHlwZT86ICdDSEFSVCcgfCAnTUFSS0RPV04nXG4gIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiB7XG4gICAgW2tleTogc3RyaW5nXTogYW55XG4gIH07XG59XG5cbi8qKlxuICogQSBjaGF0IG1lc3NhZ2UgdGhhdCBoYXMgYmVlbiBwcm9jZXNzZWQgdG8gaW5jbHVkZSB0aGUgbWFya2Rvd24tZm9ybWF0dGVkXG4gKiBjb250ZW50IGZvciBkaXNwbGF5LCBhcyB3ZWxsIGFzIGRldGFpbGVkIGF0dGFjaG1lbnQgZGF0YSwgYW5kIG9wdGlvbmFsbHlcbiAqIGEgbGlzdCBvZiB0aGUgcmVmZXJlbmNlcyBleHRyYWN0ZWQgZnJvbSB0aGF0IG1lc3NhZ2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDaGF0TWVzc2FnZSBleHRlbmRzIFJhd01lc3NhZ2Uge1xuICBhZGRpdGlvbmFsUHJvcGVydGllczoge1xuICAgIGRpc3BsYXk/OiBib29sZWFuO1xuICAgICRwcm9ncmVzcz86IENoYXRQcm9ncmVzc1tdO1xuICAgICRhdHRhY2htZW50PzogQ2hhdENvbnRleHRBdHRhY2htZW50W107XG4gICAgJHN1Z2dlc3RlZEFjdGlvbj86IFN1Z2dlc3RlZEFjdGlvbltdO1xuICAgICRkZWJ1Zz86IERlYnVnTWVzc2FnZVtdO1xuICAgIGZvcmNlZFdvcmtmbG93Pzogc3RyaW5nO1xuICAgIGZvcmNlZFdvcmtmbG93UHJvcGVydGllcz86IGFueTtcbiAgICBxdWVyeT86IFF1ZXJ5O1xuICAgIGlzVXNlcklucHV0PzogYm9vbGVhbjtcbiAgICB1c2FnZU1ldHJpY3M/OiBDaGF0VXNhZ2VNZXRyaWNzO1xuICAgIGFkZGl0aW9uYWxXb3JrZmxvd1Byb3BlcnRpZXM/OiBhbnk7XG4gICAgJGxpa2VkPzogYm9vbGVhbjtcbiAgICAkZGlzbGlrZWQ/OiBib29sZWFuO1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGF0UHJvZ3Jlc3Mge1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgY29udGVudD86IHN0cmluZztcbiAgICBkb25lPzogYm9vbGVhbjtcbiAgICB0aW1lPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJhd0F0dGFjaG1lbnQge1xuICAvKiogVHlwZSBvZiB0aGUgYXR0YWNobWVudCAqL1xuICB0eXBlOiBzdHJpbmc7XG4gIC8qKiBSZWNvcmQgaWQgZnJvbSB3aGljaCB0aGlzIGF0dGFjaG1lbnQgaXMgdGFrZW4gKi9cbiAgcmVjb3JkSWQ6IHN0cmluZztcbiAgLyoqIFJlY29yZCBmcm9tIHdoaWNoIHRoaXMgdGhpcyBhdHRhY2htZW50IGlzIHRha2VuICovXG4gIHJlY29yZDogUmVjb3JkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERvY3VtZW50UGFydCB7XG4gIHBhcnRJZDogbnVtYmVyO1xuICBvZmZzZXQ6IG51bWJlcjtcbiAgbGVuZ3RoOiBudW1iZXI7XG4gIHRleHQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGF0Q29udGV4dEF0dGFjaG1lbnQgZXh0ZW5kcyBSYXdBdHRhY2htZW50IHtcbiAgLyoqIFR5cGUgb2YgdGhlIGF0dGFjaG1lbnQgKi9cbiAgdHlwZTogXCJDb250ZXh0XCI7XG4gIC8qKiBSYW5rIG9mIHRoZSBhdHRhY2htZW50IGluIHRoZSBjb250ZXh0IG1lc3NhZ2UgKi9cbiAgY29udGV4dElkOiBudW1iZXI7XG4gIC8qKiBQYXJ0cyBvZiB0aGUgcmVjb3JkIHRoYXQgdGhlIGFzc2lzdGFudCB1c2VzIHRvIGFuc3dlciAqL1xuICBwYXJ0czogRG9jdW1lbnRQYXJ0W107XG4gIC8qKiBUaGUgc3BlY2lmaWMgaWQgdXNlZCBvZiB0aGUgcmVmZXJlbmNlZCBwYXJ0ICovXG4gICRwYXJ0SWQ/OiBudW1iZXI7XG59XG5cbi8qKlxuICogUmF3IHJlc3BvbnNlIG9mIHRoZSBjaGF0IEFQSVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJhd1Jlc3BvbnNlIHtcbiAgaGlzdG9yeTogUmF3TWVzc2FnZVtdO1xuICBleGVjdXRpb25UaW1lOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogRW5yaWNoZWQgcmVzcG9uc2Ugb2YgdGhlIGNoYXQgQVBJXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhdFJlc3BvbnNlIGV4dGVuZHMgUmF3UmVzcG9uc2V7XG4gIGhpc3Rvcnk6IENoYXRNZXNzYWdlW107XG59XG5cbi8qKlxuICogUmVzcG9uc2Ugb2YgdGhlIExpc3RNb2RlbHMgQVBJXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2xsbU1vZGVsRGVzY3JpcHRpb24ge1xuICBwcm92aWRlcjogc3RyaW5nO1xuICBkaXNwbGF5TmFtZTogc3RyaW5nO1xuICBzZXJ2aWNlSWQ6IHN0cmluZztcbiAgbW9kZWxJZDogc3RyaW5nO1xuICBlbmFibGU6IGJvb2xlYW47XG4gIG1heEdlbmVyYXRpb25TaXplOiBudW1iZXI7XG4gIGNvbnRleHRXaW5kb3dTaXplOiBudW1iZXI7XG59XG5cbi8qKlxuICogUmVzcG9uc2Ugb2YgdGhlIExpc3RGdW5jdGlvbnMgQVBJXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2xsbUZ1bmN0aW9uIHtcbiAgZnVuY3Rpb25OYW1lOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIGVuYWJsZWQ6IGJvb2xlYW47XG4gIHBhcmFtZXRlcnM6IEdsbG1GdW5jdGlvblBhcmFtZXRlcltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdsbG1GdW5jdGlvblBhcmFtZXRlciB7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIGlzUmVxdWlyZWQ6IGJvb2xlYW47XG4gIG5hbWU6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIE1pbmltYWwgcmVwcmVzZW50YXRpb24gb2YgYSBzYXZlZCBjaGF0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2F2ZWRDaGF0IHtcbiAgaWQ6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgbW9kaWZpZWRVVEM6IHN0cmluZztcbn1cblxuLyoqXG4gKiBEYXRhIHN0cnVjdHVyZSBzYXZlZCB0byByZWNvbnN0cnVjdCBhIHNhdmVkIGNoYXQgY29udmVyc2F0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2F2ZWRDaGF0SGlzdG9yeSBleHRlbmRzIFNhdmVkQ2hhdHtcbiAgaGlzdG9yeTogQ2hhdE1lc3NhZ2VbXTtcbn1cblxuLy8gRGVmaW5lIHRoZSBab2QgcmVwcmVzZW50YXRpb24gZm9yIHRoZSBjb25uZWN0aW9uU2V0dGluZ3Mgb2JqZWN0XG5leHBvcnQgY29uc3QgY29ubmVjdGlvblNldHRpbmdzU2NoZW1hID0gei5vYmplY3Qoe1xuICBjb25uZWN0aW9uRXJyb3JNZXNzYWdlOiB6LnN0cmluZygpLFxuICByZXN0RW5kcG9pbnQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgd2Vic29ja2V0RW5kcG9pbnQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgc2lnbmFsUlNraXBOZWdvdGlhdGlvbjogei5ib29sZWFuKCkub3B0aW9uYWwoKSxcbiAgc2lnbmFsUlRyYW5zcG9ydDogei5lbnVtKFtcIldlYlNvY2tldHNcIiwgXCJTZXJ2ZXJTZW50RXZlbnRzXCIsIFwiTG9uZ1BvbGxpbmdcIiwgXCJOb25lXCJdKSxcbiAgc2lnbmFsUkxvZ0xldmVsOiB6LmVudW0oW1wiQ3JpdGljYWxcIiwgXCJEZWJ1Z1wiLCBcIkVycm9yXCIsIFwiSW5mb3JtYXRpb25cIiwgXCJOb25lXCIsIFwiVHJhY2VcIiwgXCJXYXJuaW5nXCJdKSxcbiAgc2lnbmFsUlNlcnZlclRpbWVvdXRJbk1pbGxpc2Vjb25kczogei5udW1iZXIoKS5vcHRpb25hbCgpXG59KS5yZWZpbmUoZGF0YSA9PiAoISFkYXRhLnJlc3RFbmRwb2ludCB8fCAhIWRhdGEud2Vic29ja2V0RW5kcG9pbnQpLCB7XG4gIG1lc3NhZ2U6IFwiQmFzZWQgb24gdGhlIHByb3ZpZGVkIGlucHV0KCkgcHJvdG9jb2wgKCdSRVNUJyBvciAnV0VCU09DS0VUJykgdG8gdGhlIENoYXQgQ29tcG9uZW50LCBlaXRoZXIgJ3Jlc3RFbmRwb2ludCcgb3IgJ3dlYnNvY2tldEVuZHBvaW50JyBwcm9wZXJ0eSBzaG91bGQgYmUgcHJvdmlkZWQgaW4gdGhlICdnbG9iYWxTZXR0aW5ncycgb2YgdGhlIGFzc2lzdGFudCBpbnN0YW5jZS5cIixcbn0pO1xuLy8gRGVmaW5lIHRoZSBDb25uZWN0aW9uU2V0dGluZ3MgaW50ZXJmYWNlXG5leHBvcnQgdHlwZSBDb25uZWN0aW9uU2V0dGluZ3MgPSB6LmluZmVyPHR5cGVvZiBjb25uZWN0aW9uU2V0dGluZ3NTY2hlbWE+O1xuXG4vLyBEZWZpbmUgdGhlIFpvZCByZXByZXNlbnRhdGlvbiBmb3IgdGhlIHNlcnZpY2VTZXR0aW5ncyBvYmplY3RcbmNvbnN0IHNlcnZpY2VTZXR0aW5nc1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgc2VydmljZV9pZDogei5zdHJpbmcoKSxcbiAgbW9kZWxfaWQ6IHouc3RyaW5nKCksXG4gIHRlbXBlcmF0dXJlOiB6Lm51bWJlcigpLFxuICB0b3BfcDogei5udW1iZXIoKSxcbiAgbWF4X3Rva2Vuczogei5udW1iZXIoKVxufSk7XG4vLyBEZWZpbmUgdGhlIFNlcnZpY2VTZXR0aW5ncyBpbnRlcmZhY2VcbmV4cG9ydCBpbnRlcmZhY2UgU2VydmljZVNldHRpbmdzIGV4dGVuZHMgei5pbmZlcjx0eXBlb2Ygc2VydmljZVNldHRpbmdzU2NoZW1hPiB7fVxuXG4vLyBEZWZpbmUgdGhlIFpvZCByZXByZXNlbnRhdGlvbiBmb3IgdGhlIGFkZGl0aW9uYWxTZXJ2aWNlU2V0dGluZ3Mgb2JqZWN0XG5jb25zdCBhZGRpdGlvbmFsU2VydmljZVNldHRpbmdzU2NoZW1hID0gei5vYmplY3Qoe30pO1xuLy8gRGVmaW5lIHRoZSBBZGRpdGlvbmFsU2VydmljZVNldHRpbmdzIGludGVyZmFjZVxuZXhwb3J0IGludGVyZmFjZSBBZGRpdGlvbmFsU2VydmljZVNldHRpbmdzIGV4dGVuZHMgei5pbmZlcjx0eXBlb2YgYWRkaXRpb25hbFNlcnZpY2VTZXR0aW5nc1NjaGVtYT4ge31cblxuLy8gRGVmaW5lIHRoZSBab2QgcmVwcmVzZW50YXRpb24gZm9yIHRoZSBhZGRpdGlvbmFsV29ya2Zsb3dQcm9wZXJ0aWVzIG9iamVjdFxuY29uc3QgYWRkaXRpb25hbFdvcmtmbG93UHJvcGVydGllc1NjaGVtYSA9IHoub2JqZWN0KHt9KTtcbi8vIERlZmluZSB0aGUgYWRkaXRpb25hbFdvcmtmbG93UHJvcGVydGllcyBpbnRlcmZhY2VcbmV4cG9ydCBpbnRlcmZhY2UgYWRkaXRpb25hbFdvcmtmbG93UHJvcGVydGllcyBleHRlbmRzIHouaW5mZXI8dHlwZW9mIGFkZGl0aW9uYWxXb3JrZmxvd1Byb3BlcnRpZXNTY2hlbWE+IHt9XG5cbi8vIERlZmluZSB0aGUgWm9kIHJlcHJlc2VudGF0aW9uIGZvciB0aGUgdWlTZXR0aW5ncyBvYmplY3RcbmNvbnN0IHVpU2V0dGluZ3NTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIGRpc3BsYXk6IHouYm9vbGVhbigpLFxuICBzZXJ2aWNlc01vZGVsczogei5ib29sZWFuKCksXG4gIGZ1bmN0aW9uczogei5ib29sZWFuKCksXG4gIHRlbXBlcmF0dXJlOiB6LmJvb2xlYW4oKSxcbiAgdG9wX3A6IHouYm9vbGVhbigpLFxuICBtYXhfdG9rZW5zOiB6LmJvb2xlYW4oKSxcbiAgZGVidWc6IHouYm9vbGVhbigpLFxuICBkaXNwbGF5U3lzdGVtUHJvbXB0OiB6LmJvb2xlYW4oKSxcbiAgZGlzcGxheVVzZXJQcm9tcHQ6IHouYm9vbGVhbigpXG59KTtcbi8vIERlZmluZSB0aGUgVWlTZXR0aW5ncyBpbnRlcmZhY2VcbmV4cG9ydCBpbnRlcmZhY2UgVWlTZXR0aW5ncyBleHRlbmRzIHouaW5mZXI8dHlwZW9mIHVpU2V0dGluZ3NTY2hlbWE+IHt9XG5cbi8vIERlZmluZSB0aGUgWm9kIHJlcHJlc2VudGF0aW9uIGZvciB0aGUgZGVmYXVsdFZhbHVlcyBvYmplY3RcbmNvbnN0IGRlZmF1bHRWYWx1ZXNTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIHNlcnZpY2VfaWQ6IHouc3RyaW5nKCksXG4gIG1vZGVsX2lkOiB6LnN0cmluZygpLFxuICBmdW5jdGlvbnM6IHouYXJyYXkoXG4gICAgei5vYmplY3Qoe1xuICAgICAgbmFtZTogei5zdHJpbmcoKSxcbiAgICAgIGVuYWJsZWQ6IHouYm9vbGVhbigpXG4gICAgfSlcbiAgKSxcbiAgdGVtcGVyYXR1cmU6IHoubnVtYmVyKCksXG4gIHRvcF9wOiB6Lm51bWJlcigpLFxuICBtYXhfdG9rZW5zOiB6Lm51bWJlcigpLFxuICBkZWJ1Zzogei5ib29sZWFuKCksXG4gIHN5c3RlbVByb21wdDogei5zdHJpbmcoKSxcbiAgdXNlclByb21wdDogei5zdHJpbmcoKVxufSk7XG4vLyBEZWZpbmUgdGhlIERlZmF1bHRWYWx1ZXMgaW50ZXJmYWNlXG5leHBvcnQgaW50ZXJmYWNlIERlZmF1bHRWYWx1ZXMgZXh0ZW5kcyB6LmluZmVyPHR5cGVvZiBkZWZhdWx0VmFsdWVzU2NoZW1hPiB7fVxuXG4vLyBEZWZpbmUgdGhlIFpvZCByZXByZXNlbnRhdGlvbiBmb3IgdGhlIGFjdGlvbiBvYmplY3RcbmNvbnN0IGFjdGlvblNjaGVtYSA9IHoub2JqZWN0KHtcbiAgZm9yY2VkV29ya2Zsb3c6IHouc3RyaW5nKCksIC8vIGZvcmNlZFdvcmtmbG93IG11c3QgYmUgYSBzdHJpbmdcbiAgZm9yY2VkV29ya2Zsb3dQcm9wZXJ0aWVzOiB6LnJlY29yZCh6LnVua25vd24oKSkub3B0aW9uYWwoKSAvLyBmb3JjZWRXb3JrZmxvd1Byb3BlcnRpZXMgbXVzdCBiZSBhbiBvYmplY3QgKE1hcCBlcXVpdmFsZW50KVxufSk7XG5cbi8vIERlZmluZSB0aGUgWm9kIHJlcHJlc2VudGF0aW9uIGZvciB0aGUgbW9kZVNldHRpbmdzIG9iamVjdFxuY29uc3QgaW5pdGlhbGl6YXRpb25TY2hlbWEgPSB6Lm9iamVjdCh7XG4gIGV2ZW50OiB6LmVudW0oWydRdWVyeScsICdQcm9tcHQnXSksXG4gIGZvcmNlZFdvcmtmbG93OiB6LnN0cmluZygpLm9wdGlvbmFsKCksIC8vIE9wdGlvbmFsIGZvciBldmVudCAnUHJvbXB0J1xuICBkaXNwbGF5VXNlclF1ZXJ5OiB6LmJvb2xlYW4oKS5vcHRpb25hbCgpIC8vIE9wdGlvbmFsIGZvciBldmVudCAnUHJvbXB0J1xufSkucmVmaW5lKGRhdGEgPT4gKChkYXRhLmV2ZW50ID09PSBcIlF1ZXJ5XCIpID8gKCEhZGF0YS5mb3JjZWRXb3JrZmxvdyAmJiBkYXRhLmRpc3BsYXlVc2VyUXVlcnkgIT09IHVuZGVmaW5lZCAmJiBkYXRhLmRpc3BsYXlVc2VyUXVlcnkgIT09IG51bGwpIDogdHJ1ZSksIHtcbiAgbWVzc2FnZTogXCJUaGUgJ2ZvcmNlZFdvcmtmbG93JyBhbmQgJ2Rpc3BsYXlVc2VyUXVlcnknIHByb3BlcnRpZXMgbXVzdCBiZSBwcm92aWRlZCB3aGVuIHRoZSBpbml0aWFsaXphdGlvbidzIGV2ZW50IGlzICdRdWVyeScuXCIsXG59KVxuY29uc3QgbW9kZVNldHRpbmdzU2NoZW1hID0gei5vYmplY3Qoe1xuICBlbmFibGVkVXNlcklucHV0OiB6LmJvb2xlYW4oKSxcbiAgZGlzcGxheVVzZXJQcm9tcHQ6IHouYm9vbGVhbigpLFxuICBzZW5kVXNlclByb21wdDogei5ib29sZWFuKCksXG4gIGluaXRpYWxpemF0aW9uOiBpbml0aWFsaXphdGlvblNjaGVtYSxcbiAgYWN0aW9uczogei5yZWNvcmQoYWN0aW9uU2NoZW1hKS5vcHRpb25hbCgpXG59KTtcbi8vIERlZmluZSB0aGUgTW9kZVNldHRpbmdzIGludGVyZmFjZVxuZXhwb3J0IGludGVyZmFjZSBNb2RlU2V0dGluZ3MgZXh0ZW5kcyB6LmluZmVyPHR5cGVvZiBtb2RlU2V0dGluZ3NTY2hlbWE+IHt9XG5cbi8vIERlZmluZSB0aGUgWm9kIHJlcHJlc2VudGF0aW9uIGZvciB0aGUgc2F2ZWRDaGF0U2V0dGluZ3Mgb2JqZWN0XG5jb25zdCBzYXZlZENoYXRTZXR0aW5nc1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgZW5hYmxlZDogei5ib29sZWFuKCksXG4gIGRpc3BsYXk6IHouYm9vbGVhbigpXG59KVxuLy8gRGVmaW5lIHRoZSBTYXZlZENoYXRTZXR0aW5ncyBpbnRlcmZhY2VcbmV4cG9ydCBpbnRlcmZhY2UgU2F2ZWRDaGF0U2V0dGluZ3MgZXh0ZW5kcyB6LmluZmVyPHR5cGVvZiBzYXZlZENoYXRTZXR0aW5nc1NjaGVtYT4ge31cblxuLy8gRGVmaW5lIHRoZSBab2QgcmVwcmVzZW50YXRpb24gZm9yIHRoZSBnbG9iYWxTZXR0aW5ncyBvYmplY3RcbmNvbnN0IGdsb2JhbFNldHRpbmdzU2NoZW1hID0gei5vYmplY3Qoe1xuICBzZWFyY2hXYXJuaW5nTWVzc2FnZTogei5zdHJpbmcoKSxcbiAgZGlzY2xhaW1lcjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBnZW5lcmljQ2hhdEVycm9yTWVzc2FnZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBkaXNwbGF5VXNlclF1b3RhQ29uc3VtcHRpb246IHouYm9vbGVhbigpLm9wdGlvbmFsKCksXG4gIGRpc3BsYXlDaGF0VG9rZW5zQ29uc3VtcHRpb246IHouYm9vbGVhbigpLm9wdGlvbmFsKClcbn0pXG5cbi8vIERlZmluZSB0aGUgWm9kIHJlcHJlc2VudGF0aW9uIGZvciB0aGUgYXVkaXRTZXR0aW5ncyBvYmplY3RcbmNvbnN0IGF1ZGl0U2V0dGluZ3NTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIGlzc3VlVHlwZXM6IHouYXJyYXkoei5zdHJpbmcoKSkub3B0aW9uYWwoKVxufSk7XG4vLyBEZWZpbmUgdGhlIFNhdmVkQ2hhdFNldHRpbmdzIGludGVyZmFjZVxuZXhwb3J0IGludGVyZmFjZSBTYXZlZENoYXRTZXR0aW5ncyBleHRlbmRzIHouaW5mZXI8dHlwZW9mIHNhdmVkQ2hhdFNldHRpbmdzU2NoZW1hPiB7fVxuXG4vLyBEZWZpbmUgdGhlIFpvZCByZXByZXNlbnRhdGlvbiBmb3IgdGhlIGVudGlyZSBDaGF0Q29uZmlnIG9iamVjdFxuZXhwb3J0IGNvbnN0IGNoYXRDb25maWdTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIGNvbm5lY3Rpb25TZXR0aW5nczogY29ubmVjdGlvblNldHRpbmdzU2NoZW1hLFxuICBkZWZhdWx0VmFsdWVzOiBkZWZhdWx0VmFsdWVzU2NoZW1hLFxuICBtb2RlU2V0dGluZ3M6IG1vZGVTZXR0aW5nc1NjaGVtYSxcbiAgdWlTZXR0aW5nczogdWlTZXR0aW5nc1NjaGVtYSxcbiAgc2F2ZWRDaGF0U2V0dGluZ3M6IHNhdmVkQ2hhdFNldHRpbmdzU2NoZW1hLFxuICBnbG9iYWxTZXR0aW5nczogZ2xvYmFsU2V0dGluZ3NTY2hlbWEsXG4gIGF1ZGl0U2V0dGluZ3M6IGF1ZGl0U2V0dGluZ3NTY2hlbWEub3B0aW9uYWwoKSxcbiAgYWRkaXRpb25hbFNlcnZpY2VTZXR0aW5nczogYWRkaXRpb25hbFNlcnZpY2VTZXR0aW5nc1NjaGVtYSxcbiAgYWRkaXRpb25hbFdvcmtmbG93UHJvcGVydGllczogYWRkaXRpb25hbFdvcmtmbG93UHJvcGVydGllc1NjaGVtYVxufSk7XG4vLyBEZWZpbmUgdGhlIENoYXRDb25maWcgaW50ZXJmYWNlXG5leHBvcnQgaW50ZXJmYWNlIENoYXRDb25maWcgZXh0ZW5kcyB6LmluZmVyPHR5cGVvZiBjaGF0Q29uZmlnU2NoZW1hPiB7fVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYXRQYXlsb2FkIHtcbiAgZGVidWc6IGJvb2xlYW47XG4gIGZ1bmN0aW9uczogc3RyaW5nW107XG4gIGhpc3Rvcnk6IENoYXRNZXNzYWdlW107XG4gIHNlcnZpY2VTZXR0aW5nczogU2VydmljZVNldHRpbmdzO1xuICBhcHBRdWVyeToge1xuICAgIGFwcDogc3RyaW5nO1xuICAgIHF1ZXJ5OiBRdWVyeSB8IHVuZGVmaW5lZDtcbiAgICB0YXJnZXRVcmw/OiBzdHJpbmc7XG4gICAgYWNjZXNzVG9rZW4/OiBzdHJpbmc7XG4gIH07XG4gIGluc3RhbmNlSWQ/OiBzdHJpbmc7XG4gIHNhdmVkQ2hhdElkPzogc3RyaW5nO1xuICBnZW5lcmljQ2hhdEVycm9yTWVzc2FnZT86IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgQWN0aW9uTWVzc2FnZSA9IHtcbiAgZ3VpZDogc3RyaW5nO1xuICBkaXNwbGF5TmFtZT86IHN0cmluZ1xuICBkaXNwbGF5VmFsdWU/OiBzdHJpbmc7XG4gIGV4ZWN1dGlvblRpbWU/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGV4dENodW5rc09wdGlvbnMge1xuICBleHRlbmRNb2RlPzogJ05vbmUnIHwgJ1NlbnRlbmNlJyB8ICdDaGFycyc7XG4gIGV4dGVuZFNjb3BlPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFF1b3RhIHtcbiAgbGFzdFJlcXVlc3Q6IHN0cmluZztcbiAgcHJvbXB0VG9rZW5Db3VudDogbnVtYmVyO1xuICBjb21wbGV0aW9uVG9rZW5Db3VudDogbnVtYmVyO1xuICBwZXJpb2RUb2tlbnM6IG51bWJlcjtcbiAgcmVzZXRIb3VyczogbnVtYmVyO1xuICB0b2tlbkNvdW50OiBudW1iZXI7XG4gIG5leHRSZXNldDogc3RyaW5nO1xuICBsYXN0UmVzZXRVVEM6IHN0cmluZztcbiAgbmV4dFJlc2V0VVRDOiBzdHJpbmc7XG4gIG1heFF1b3RhUmVhY2hlZDogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdWdnZXN0ZWRBY3Rpb24ge1xuICBjb250ZW50OiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbml0Q2hhdCB7XG4gIG1lc3NhZ2VzOiBSYXdNZXNzYWdlW107XG59XG5cbi8qKlxuICogTGlzdCBvZiBldmVudHMgZGF0YSB0aGF0IGNhbiBiZSBlbWl0dGVkIGJ5IHRoZSB3ZWJzb2NrZXQgY2hhdCBlbmRwb2ludFxuICovXG5leHBvcnQgdHlwZSBTdWdnZXN0ZWRBY3Rpb25zRXZlbnQgPSB7IHN1Z2dlc3RlZEFjdGlvbnM6IFN1Z2dlc3RlZEFjdGlvbltdIH07XG5leHBvcnQgdHlwZSBRdW90YUV2ZW50ID0geyBxdW90YTogUXVvdGEgfTtcbmV4cG9ydCB0eXBlIE1lc3NhZ2VFdmVudCA9IHN0cmluZztcbmV4cG9ydCB0eXBlIENvbnRleHRNZXNzYWdlRXZlbnQgPSB7IGNvbnRlbnQ6IHN0cmluZzsgbWV0YWRhdGE6IENoYXRDb250ZXh0QXR0YWNobWVudCB9O1xuZXhwb3J0IHR5cGUgRXJyb3JFdmVudCA9IHN0cmluZztcbmV4cG9ydCB0eXBlIEFjdGlvblN0YXJ0RXZlbnQgPSB7IGd1aWQ6IHN0cmluZzsgZGlzcGxheU5hbWU6IHN0cmluZyB9O1xuZXhwb3J0IHR5cGUgQWN0aW9uUmVzdWx0RXZlbnQgPSB7IGd1aWQ6IHN0cmluZzsgZGlzcGxheVZhbHVlOiBzdHJpbmcgfTtcbmV4cG9ydCB0eXBlIEFjdGlvblN0b3BFdmVudCA9IHsgZ3VpZDogc3RyaW5nOyBleGVjdXRpb25UaW1lOiBudW1iZXIgfTtcbmV4cG9ydCB0eXBlIEhpc3RvcnlFdmVudCA9IHsgaGlzdG9yeTogUmF3TWVzc2FnZVtdOyBleGVjdXRpb25UaW1lOiBzdHJpbmcgfTtcbmV4cG9ydCB0eXBlIERlYnVnTWVzc2FnZUV2ZW50ID0gRGVidWdNZXNzYWdlO1xuXG4vKipcbiAqIERhdGEgZW1pdHRlZCBieSB0aGUgaHR0cCBjaGF0IGVuZHBvaW50XG4gKi9cbmV4cG9ydCB0eXBlIEh0dHBDaGF0UmVzcG9uc2UgPSB7XG4gIHF1b3RhOiBRdW90YTtcbiAgc3VnZ2VzdGVkQWN0aW9uczogU3VnZ2VzdGVkQWN0aW9uW107XG4gIGRlYnVnOiBhbnk7XG4gIGNvbnRleHQ6IHsgY29udGVudDogc3RyaW5nOyBhZGRpdGlvbmFsUHJvcGVydGllczogQ2hhdENvbnRleHRBdHRhY2htZW50IH1bXTtcbiAgYWN0aW9uczogQWN0aW9uTWVzc2FnZVtdO1xuICBoaXN0b3J5OiBSYXdNZXNzYWdlW107XG4gIGV4ZWN1dGlvblRpbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUb2tlbkNvbnN1bXB0aW9uIHtcbiAgcGVyY2VudGFnZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJUb2tlbkNvbnN1bXB0aW9uIGV4dGVuZHMgVG9rZW5Db25zdW1wdGlvbiB7XG4gIG5leHRSZXNldERhdGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGF0VXNhZ2VNZXRyaWNzIHtcbiAgdG90YWxUb2tlbkNvdW50OiBudW1iZXI7XG4gIHByb21wdFRva2VuQ291bnQ6IG51bWJlcjtcbiAgY29tcGxldGlvblRva2VuQ291bnQ6IG51bWJlcjtcbiAgdG9rZW5pemVyVHlwZTogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgS3ZPYmplY3Qge1xuICBkYXRhOiB7XG4gICAga2V5OiBzdHJpbmc7XG4gICAgdmFsdWU6IGFueTsgLy8gc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IG51bGwgfCB1bmRlZmluZWQgfCB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xuICB9O1xuICB0eXBlOiAnS1YnO1xuICBpc0Vycm9yOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RPYmplY3Qge1xuICBuYW1lOiBzdHJpbmc7XG4gIHR5cGU6ICdMSVNUJztcbiAgaXNFcnJvcjogYm9vbGVhbjtcbiAgaXRlbXM6IChLdk9iamVjdCB8IExpc3RPYmplY3QpW107XG4gIGV4cGFuZGVkOiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBEZWJ1Z01lc3NhZ2UgPSBLdk9iamVjdCB8IExpc3RPYmplY3Q7XG5cblxuZXhwb3J0IHR5cGUgTWVzc2FnZUhhbmRsZXI8VD4gPSB7XG4gIGhhbmRsZXI6IChkYXRhOiBUKSA9PiB2b2lkO1xuICBpc0dsb2JhbEhhbmRsZXI6IGJvb2xlYW47XG59O1xuIl19
|