@vendasta/ai-assistants 0.45.1 → 0.47.1

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.
@@ -7,6 +7,32 @@ export function enumStringToValue(enumRef, value) {
7
7
  }
8
8
  return enumRef[value];
9
9
  }
10
+ export class DeleteMCPRequest {
11
+ static fromProto(proto) {
12
+ let m = new DeleteMCPRequest();
13
+ m = Object.assign(m, proto);
14
+ if (proto.namespace) {
15
+ m.namespace = Namespace.fromProto(proto.namespace);
16
+ }
17
+ return m;
18
+ }
19
+ constructor(kwargs) {
20
+ if (!kwargs) {
21
+ return;
22
+ }
23
+ Object.assign(this, kwargs);
24
+ }
25
+ toApiJson() {
26
+ const toReturn = {};
27
+ if (typeof this.namespace !== 'undefined' && this.namespace !== null) {
28
+ toReturn['namespace'] = 'toApiJson' in this.namespace ? this.namespace.toApiJson() : this.namespace;
29
+ }
30
+ if (typeof this.mcpId !== 'undefined') {
31
+ toReturn['mcpId'] = this.mcpId;
32
+ }
33
+ return toReturn;
34
+ }
35
+ }
10
36
  export class ListMCPsRequestFilters {
11
37
  static fromProto(proto) {
12
38
  let m = new ListMCPsRequestFilters();
@@ -223,6 +249,9 @@ export class FunctionParameter {
223
249
  if (typeof this.location !== 'undefined') {
224
250
  toReturn['location'] = this.location;
225
251
  }
252
+ if (typeof this.required !== 'undefined') {
253
+ toReturn['required'] = this.required;
254
+ }
226
255
  return toReturn;
227
256
  }
228
257
  }
@@ -352,6 +381,12 @@ export class MCP {
352
381
  static fromProto(proto) {
353
382
  let m = new MCP();
354
383
  m = Object.assign(m, proto);
384
+ if (proto.namespace) {
385
+ m.namespace = Namespace.fromProto(proto.namespace);
386
+ }
387
+ if (proto.authStrategy) {
388
+ m.authStrategy = FunctionAuthStrategy.fromProto(proto.authStrategy);
389
+ }
355
390
  return m;
356
391
  }
357
392
  constructor(kwargs) {
@@ -368,6 +403,12 @@ export class MCP {
368
403
  if (typeof this.url !== 'undefined') {
369
404
  toReturn['url'] = this.url;
370
405
  }
406
+ if (typeof this.namespace !== 'undefined' && this.namespace !== null) {
407
+ toReturn['namespace'] = 'toApiJson' in this.namespace ? this.namespace.toApiJson() : this.namespace;
408
+ }
409
+ if (typeof this.authStrategy !== 'undefined' && this.authStrategy !== null) {
410
+ toReturn['authStrategy'] = 'toApiJson' in this.authStrategy ? this.authStrategy.toApiJson() : this.authStrategy;
411
+ }
371
412
  return toReturn;
372
413
  }
373
414
  }
@@ -418,6 +459,9 @@ export class UpsertMCPRequest {
418
459
  if (proto.functions) {
419
460
  m.functions = proto.functions.map(Function.fromProto);
420
461
  }
462
+ if (proto.authStrategy) {
463
+ m.authStrategy = FunctionAuthStrategy.fromProto(proto.authStrategy);
464
+ }
421
465
  return m;
422
466
  }
423
467
  constructor(kwargs) {
@@ -440,7 +484,10 @@ export class UpsertMCPRequest {
440
484
  if (typeof this.functions !== 'undefined' && this.functions !== null) {
441
485
  toReturn['functions'] = 'toApiJson' in this.functions ? this.functions.toApiJson() : this.functions;
442
486
  }
487
+ if (typeof this.authStrategy !== 'undefined' && this.authStrategy !== null) {
488
+ toReturn['authStrategy'] = 'toApiJson' in this.authStrategy ? this.authStrategy.toApiJson() : this.authStrategy;
489
+ }
443
490
  return toReturn;
444
491
  }
445
492
  }
446
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9haV9hc3Npc3RhbnRzX3Nkay9zcmMvbGliL19pbnRlcm5hbC9vYmplY3RzL2Z1bmN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDeEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3RFLE9BQU8sS0FBSyxDQUFDLE1BQU0sVUFBVSxDQUFDO0FBRTlCLE1BQU0sVUFBVSxpQkFBaUIsQ0FBSSxPQUFZLEVBQUUsS0FBYTtJQUM5RCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtRQUM3QixPQUFPLEtBQUssQ0FBQztLQUNkO0lBQ0QsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDeEIsQ0FBQztBQUVELE1BQU0sT0FBTyxzQkFBc0I7SUFJL0IsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFVO1FBQ3ZCLElBQUksQ0FBQyxHQUFHLElBQUksc0JBQXNCLEVBQUUsQ0FBQztRQUNyQyxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDNUIsSUFBSSxLQUFLLENBQUMsVUFBVSxFQUFFO1lBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7U0FBQztRQUNqRixPQUFPLENBQUMsQ0FBQztJQUNiLENBQUM7SUFFRCxZQUFZLE1BQTBDO1FBQ2xELElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDVCxPQUFPO1NBQ1Y7UUFDRCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsU0FBUztRQUNMLE1BQU0sUUFBUSxHQUVWLEVBQUUsQ0FBQztRQUVQLElBQUksT0FBTyxJQUFJLENBQUMsVUFBVSxLQUFLLFdBQVcsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLElBQUksRUFBRTtZQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsR0FBRyxXQUFXLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUUsSUFBSSxDQUFDLFVBQWtCLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7U0FBQztRQUMzTCxJQUFJLE9BQU8sSUFBSSxDQUFDLE1BQU0sS0FBSyxXQUFXLEVBQUU7WUFBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztTQUFDO1FBQzNFLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7Q0FDSjtBQUVELE1BQU0sT0FBTyxRQUFRO0lBY2pCLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBVTtRQUN2QixJQUFJLENBQUMsR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ3ZCLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM1QixJQUFJLEtBQUssQ0FBQyxTQUFTLEVBQUU7WUFBQyxDQUFDLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQUM7UUFDMUUsSUFBSSxLQUFLLENBQUMsa0JBQWtCLEVBQUU7WUFBQyxDQUFDLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUFDO1FBQ2pILElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRTtZQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQUM7UUFDekQsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFO1lBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUM7U0FBQztRQUM3RSxJQUFJLEtBQUssQ0FBQyxZQUFZLEVBQUU7WUFBQyxDQUFDLENBQUMsWUFBWSxHQUFHLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7U0FBQztRQUM5RixPQUFPLENBQUMsQ0FBQztJQUNiLENBQUM7SUFFRCxZQUFZLE1BQTRCO1FBQ3BDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDVCxPQUFPO1NBQ1Y7UUFDRCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsU0FBUztRQUNMLE1BQU0sUUFBUSxHQUVWLEVBQUUsQ0FBQztRQUVQLElBQUksT0FBTyxJQUFJLENBQUMsRUFBRSxLQUFLLFdBQVcsRUFBRTtZQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO1NBQUM7UUFDL0QsSUFBSSxPQUFPLElBQUksQ0FBQyxTQUFTLEtBQUssV0FBVyxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssSUFBSSxFQUFFO1lBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxHQUFHLFdBQVcsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBRSxJQUFJLENBQUMsU0FBaUIsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztTQUFDO1FBQ3JMLElBQUksT0FBTyxJQUFJLENBQUMsV0FBVyxLQUFLLFdBQVcsRUFBRTtZQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1NBQUM7UUFDMUYsSUFBSSxPQUFPLElBQUksQ0FBQyxHQUFHLEtBQUssV0FBVyxFQUFFO1lBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7U0FBQztRQUNsRSxJQUFJLE9BQU8sSUFBSSxDQUFDLFVBQVUsS0FBSyxXQUFXLEVBQUU7WUFBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztTQUFDO1FBQ3ZGLElBQUksT0FBTyxJQUFJLENBQUMsa0JBQWtCLEtBQUssV0FBVyxJQUFJLElBQUksQ0FBQyxrQkFBa0IsS0FBSyxJQUFJLEVBQUU7WUFBQyxRQUFRLENBQUMsb0JBQW9CLENBQUMsR0FBRyxXQUFXLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBRSxJQUFJLENBQUMsa0JBQTBCLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztTQUFDO1FBQzNPLElBQUksT0FBTyxJQUFJLENBQUMsZUFBZSxLQUFLLFdBQVcsRUFBRTtZQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7U0FBQztRQUN0RyxJQUFJLE9BQU8sSUFBSSxDQUFDLE9BQU8sS0FBSyxXQUFXLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxJQUFJLEVBQUU7WUFBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsV0FBVyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFFLElBQUksQ0FBQyxPQUFlLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7U0FBQztRQUN6SyxJQUFJLE9BQU8sSUFBSSxDQUFDLE9BQU8sS0FBSyxXQUFXLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxJQUFJLEVBQUU7WUFBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsV0FBVyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFFLElBQUksQ0FBQyxPQUFlLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7U0FBQztRQUN6SyxJQUFJLE9BQU8sSUFBSSxDQUFDLE9BQU8sS0FBSyxXQUFXLEVBQUU7WUFBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztTQUFDO1FBQzlFLElBQUksT0FBTyxJQUFJLENBQUMsWUFBWSxLQUFLLFdBQVcsSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLElBQUksRUFBRTtZQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsR0FBRyxXQUFXLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUUsSUFBSSxDQUFDLFlBQW9CLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7U0FBQztRQUN2TSxJQUFJLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxXQUFXLEVBQUU7WUFBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztTQUFDO1FBQ3hFLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7Q0FDSjtBQUVELE1BQU0sT0FBTyxvQkFBb0I7SUFJN0IsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFVO1FBQ3ZCLElBQUksQ0FBQyxHQUFHLElBQUksb0JBQW9CLEVBQUUsQ0FBQztRQUNuQyxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDNUIsSUFBSSxLQUFLLENBQUMsV0FBVyxFQUFFO1lBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBRyxtREFBbUQsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQUM7UUFDMUgsSUFBSSxLQUFLLENBQUMsZUFBZSxFQUFFO1lBQUMsQ0FBQyxDQUFDLGVBQWUsR0FBRyx1REFBdUQsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1NBQUM7UUFDMUksT0FBTyxDQUFDLENBQUM7SUFDYixDQUFDO0lBRUQsWUFBWSxNQUF3QztRQUNoRCxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1QsT0FBTztTQUNWO1FBQ0QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELFNBQVM7UUFDTCxNQUFNLFFBQVEsR0FFVixFQUFFLENBQUM7UUFFUCxJQUFJLE9BQU8sSUFBSSxDQUFDLFdBQVcsS0FBSyxXQUFXLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxJQUFJLEVBQUU7WUFBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsV0FBVyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFFLElBQUksQ0FBQyxXQUFtQixDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO1NBQUM7UUFDak0sSUFBSSxPQUFPLElBQUksQ0FBQyxlQUFlLEtBQUssV0FBVyxJQUFJLElBQUksQ0FBQyxlQUFlLEtBQUssSUFBSSxFQUFFO1lBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsV0FBVyxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFFLElBQUksQ0FBQyxlQUF1QixDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDO1NBQUM7UUFDek4sT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQztDQUNKO0FBRUQsTUFBTSxPQUFPLGNBQWM7SUFJdkIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFVO1FBQ3ZCLElBQUksQ0FBQyxHQUFHLElBQUksY0FBYyxFQUFFLENBQUM7UUFDN0IsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzVCLE9BQU8sQ0FBQyxDQUFDO0lBQ2IsQ0FBQztJQUVELFlBQVksTUFBa0M7UUFDMUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNULE9BQU87U0FDVjtRQUNELE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxTQUFTO1FBQ0wsTUFBTSxRQUFRLEdBRVYsRUFBRSxDQUFDO1FBRVAsSUFBSSxPQUFPLElBQUksQ0FBQyxHQUFHLEtBQUssV0FBVyxFQUFFO1lBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7U0FBQztRQUNsRSxJQUFJLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxXQUFXLEVBQUU7WUFBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztTQUFDO1FBQ3hFLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7Q0FDSjtBQUVELE1BQU0sT0FBTyxXQUFXO0lBSXBCLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBVTtRQUN2QixJQUFJLENBQUMsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQzFCLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM1QixJQUFJLEtBQUssQ0FBQyxTQUFTLEVBQUU7WUFBQyxDQUFDLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQUM7UUFDMUUsT0FBTyxDQUFDLENBQUM7SUFDYixDQUFDO0lBRUQsWUFBWSxNQUErQjtRQUN2QyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1QsT0FBTztTQUNWO1FBQ0QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELFNBQVM7UUFDTCxNQUFNLFFBQVEsR0FFVixFQUFFLENBQUM7UUFFUCxJQUFJLE9BQU8sSUFBSSxDQUFDLEVBQUUsS0FBSyxXQUFXLEVBQUU7WUFBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztTQUFDO1FBQy9ELElBQUksT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLFdBQVcsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLElBQUksRUFBRTtZQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsR0FBRyxXQUFXLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUUsSUFBSSxDQUFDLFNBQWlCLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7U0FBQztRQUNyTCxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0NBQ0o7QUFFRCxNQUFNLE9BQU8saUJBQWlCO0lBUzFCLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBVTtRQUN2QixJQUFJLENBQUMsR0FBRyxJQUFJLGlCQUFpQixFQUFFLENBQUM7UUFDaEMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzVCLElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRTtZQUFDLENBQUMsQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUM7U0FBQztRQUN6RixJQUFJLEtBQUssQ0FBQyxLQUFLLEVBQUU7WUFBQyxDQUFDLENBQUMsS0FBSyxHQUFHLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7U0FBQztRQUN0RSxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUU7WUFBQyxDQUFDLENBQUMsUUFBUSxHQUFHLGlCQUFpQixDQUF1QyxDQUFDLENBQUMsa0NBQWtDLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQUM7UUFDakosT0FBTyxDQUFDLENBQUM7SUFDYixDQUFDO0lBRUQsWUFBWSxNQUFxQztRQUM3QyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1QsT0FBTztTQUNWO1FBQ0QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELFNBQVM7UUFDTCxNQUFNLFFBQVEsR0FFVixFQUFFLENBQUM7UUFFUCxJQUFJLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxXQUFXLEVBQUU7WUFBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztTQUFDO1FBQ3JFLElBQUksT0FBTyxJQUFJLENBQUMsV0FBVyxLQUFLLFdBQVcsRUFBRTtZQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1NBQUM7UUFDMUYsSUFBSSxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssV0FBVyxFQUFFO1lBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7U0FBQztRQUNyRSxJQUFJLE9BQU8sSUFBSSxDQUFDLFVBQVUsS0FBSyxXQUFXLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxJQUFJLEVBQUU7WUFBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEdBQUcsV0FBVyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFFLElBQUksQ0FBQyxVQUFrQixDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1NBQUM7UUFDM0wsSUFBSSxPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssV0FBVyxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssSUFBSSxFQUFFO1lBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLFdBQVcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBRSxJQUFJLENBQUMsS0FBYSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1NBQUM7UUFDN0osSUFBSSxPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssV0FBVyxFQUFFO1lBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7U0FBQztRQUN4RSxJQUFJLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxXQUFXLEVBQUU7WUFBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztTQUFDO1FBQ2pGLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7Q0FDSjtBQUVELE1BQU0sT0FBTyxtQkFBbUI7SUFPNUIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFVO1FBQ3ZCLElBQUksQ0FBQyxHQUFHLElBQUksbUJBQW1CLEVBQUUsQ0FBQztRQUNsQyxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDNUIsSUFBSSxLQUFLLENBQUMsU0FBUyxFQUFFO1lBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUFDO1FBQzFFLElBQUksS0FBSyxDQUFDLFlBQVksRUFBRTtZQUFDLENBQUMsQ0FBQyxZQUFZLEdBQUcsb0JBQW9CLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUFDO1FBQzlGLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRTtZQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQUM7UUFDN0UsT0FBTyxDQUFDLENBQUM7SUFDYixDQUFDO0lBRUQsWUFBWSxNQUF1QztRQUMvQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1QsT0FBTztTQUNWO1FBQ0QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELFNBQVM7UUFDTCxNQUFNLFFBQVEsR0FFVixFQUFFLENBQUM7UUFFUCxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsS0FBSyxXQUFXLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxJQUFJLEVBQUU7WUFBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEdBQUcsV0FBVyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFFLElBQUksQ0FBQyxTQUFpQixDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1NBQUM7UUFDckwsSUFBSSxPQUFPLElBQUksQ0FBQyxHQUFHLEtBQUssV0FBVyxFQUFFO1lBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7U0FBQztRQUNsRSxJQUFJLE9BQU8sSUFBSSxDQUFDLFlBQVksS0FBSyxXQUFXLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxJQUFJLEVBQUU7WUFBQyxRQUFRLENBQUMsY0FBYyxDQUFDLEdBQUcsV0FBVyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFFLElBQUksQ0FBQyxZQUFvQixDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO1NBQUM7UUFDdk0sSUFBSSxPQUFPLElBQUksQ0FBQyxPQUFPLEtBQUssV0FBVyxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssSUFBSSxFQUFFO1lBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLFdBQVcsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBRSxJQUFJLENBQUMsT0FBZSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO1NBQUM7UUFDekssSUFBSSxPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssV0FBVyxFQUFFO1lBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7U0FBQztRQUN4RSxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0NBQ0o7QUFFRCxNQUFNLE9BQU8sb0JBQW9CO0lBRzdCLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBVTtRQUN2QixJQUFJLENBQUMsR0FBRyxJQUFJLG9CQUFvQixFQUFFLENBQUM7UUFDbkMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzVCLElBQUksS0FBSyxDQUFDLFNBQVMsRUFBRTtZQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQUM7UUFDN0UsT0FBTyxDQUFDLENBQUM7SUFDYixDQUFDO0lBRUQsWUFBWSxNQUF3QztRQUNoRCxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1QsT0FBTztTQUNWO1FBQ0QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELFNBQVM7UUFDTCxNQUFNLFFBQVEsR0FFVixFQUFFLENBQUM7UUFFUCxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsS0FBSyxXQUFXLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxJQUFJLEVBQUU7WUFBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEdBQUcsV0FBVyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFFLElBQUksQ0FBQyxTQUFpQixDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1NBQUM7UUFDckwsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQztDQUNKO0FBRUQsTUFBTSxPQUFPLGVBQWU7SUFJeEIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFVO1FBQ3ZCLElBQUksQ0FBQyxHQUFHLElBQUksZUFBZSxFQUFFLENBQUM7UUFDOUIsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzVCLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRTtZQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsc0JBQXNCLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUFDO1FBQ2pGLElBQUksS0FBSyxDQUFDLGFBQWEsRUFBRTtZQUFDLENBQUMsQ0FBQyxhQUFhLEdBQUcsbUJBQW1CLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUFDO1FBQ2hHLE9BQU8sQ0FBQyxDQUFDO0lBQ2IsQ0FBQztJQUVELFlBQVksTUFBbUM7UUFDM0MsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNULE9BQU87U0FDVjtRQUNELE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxTQUFTO1FBQ0wsTUFBTSxRQUFRLEdBRVYsRUFBRSxDQUFDO1FBRVAsSUFBSSxPQUFPLElBQUksQ0FBQyxPQUFPLEtBQUssV0FBVyxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssSUFBSSxFQUFFO1lBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLFdBQVcsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBRSxJQUFJLENBQUMsT0FBZSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO1NBQUM7UUFDekssSUFBSSxPQUFPLElBQUksQ0FBQyxhQUFhLEtBQUssV0FBVyxJQUFJLElBQUksQ0FBQyxhQUFhLEtBQUssSUFBSSxFQUFFO1lBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxHQUFHLFdBQVcsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBRSxJQUFJLENBQUMsYUFBcUIsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztTQUFDO1FBQzdNLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7Q0FDSjtBQUVELE1BQU0sT0FBTyxnQkFBZ0I7SUFJekIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFVO1FBQ3ZCLElBQUksQ0FBQyxHQUFHLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztRQUMvQixDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDNUIsSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFO1lBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7U0FBQztRQUN6RCxJQUFJLEtBQUssQ0FBQyxjQUFjLEVBQUU7WUFBQyxDQUFDLENBQUMsY0FBYyxHQUFHLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7U0FBQztRQUNyRyxPQUFPLENBQUMsQ0FBQztJQUNiLENBQUM7SUFFRCxZQUFZLE1BQW9DO1FBQzVDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDVCxPQUFPO1NBQ1Y7UUFDRCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsU0FBUztRQUNMLE1BQU0sUUFBUSxHQUVWLEVBQUUsQ0FBQztRQUVQLElBQUksT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLFdBQVcsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksRUFBRTtZQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxXQUFXLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUUsSUFBSSxDQUFDLElBQVksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztTQUFDO1FBQ3ZKLElBQUksT0FBTyxJQUFJLENBQUMsY0FBYyxLQUFLLFdBQVcsSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLElBQUksRUFBRTtZQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLFdBQVcsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBRSxJQUFJLENBQUMsY0FBc0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQztTQUFDO1FBQ25OLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7Q0FDSjtBQUVELE1BQU0sT0FBTyxHQUFHO0lBSVosTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFVO1FBQ3ZCLElBQUksQ0FBQyxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7UUFDbEIsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzVCLE9BQU8sQ0FBQyxDQUFDO0lBQ2IsQ0FBQztJQUVELFlBQVksTUFBdUI7UUFDL0IsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNULE9BQU87U0FDVjtRQUNELE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxTQUFTO1FBQ0wsTUFBTSxRQUFRLEdBRVYsRUFBRSxDQUFDO1FBRVAsSUFBSSxPQUFPLElBQUksQ0FBQyxFQUFFLEtBQUssV0FBVyxFQUFFO1lBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7U0FBQztRQUMvRCxJQUFJLE9BQU8sSUFBSSxDQUFDLEdBQUcsS0FBSyxXQUFXLEVBQUU7WUFBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztTQUFDO1FBQ2xFLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7Q0FDSjtBQUVELE1BQU0sT0FBTyx1REFBdUQ7SUFHaEUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFVO1FBQ3ZCLElBQUksQ0FBQyxHQUFHLElBQUksdURBQXVELEVBQUUsQ0FBQztRQUN0RSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDNUIsT0FBTyxDQUFDLENBQUM7SUFDYixDQUFDO0lBRUQsWUFBWSxNQUEyRTtRQUNuRixJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1QsT0FBTztTQUNWO1FBQ0QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELFNBQVM7UUFDTCxNQUFNLFFBQVEsR0FFVixFQUFFLENBQUM7UUFFUCxJQUFJLE9BQU8sSUFBSSxDQUFDLGNBQWMsS0FBSyxXQUFXLEVBQUU7WUFBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1NBQUM7UUFDbkcsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQztDQUNKO0FBRUQsTUFBTSxPQUFPLG1EQUFtRDtJQUU1RCxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQVU7UUFDdkIsSUFBSSxDQUFDLEdBQUcsSUFBSSxtREFBbUQsRUFBRSxDQUFDO1FBQ2xFLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM1QixPQUFPLENBQUMsQ0FBQztJQUNiLENBQUM7SUFFRCxZQUFZLE1BQXVFO1FBQy9FLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDVCxPQUFPO1NBQ1Y7UUFDRCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsU0FBUztRQUNMLE1BQU0sUUFBUSxHQUVWLEVBQUUsQ0FBQztRQUVQLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7Q0FDSjtBQUVELE1BQU0sT0FBTyxnQkFBZ0I7SUFNekIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFVO1FBQ3ZCLElBQUksQ0FBQyxHQUFHLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztRQUMvQixDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDNUIsSUFBSSxLQUFLLENBQUMsU0FBUyxFQUFFO1lBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUFDO1FBQzFFLElBQUksS0FBSyxDQUFDLFNBQVMsRUFBRTtZQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQUM7UUFDN0UsT0FBTyxDQUFDLENBQUM7SUFDYixDQUFDO0lBRUQsWUFBWSxNQUFvQztRQUM1QyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1QsT0FBTztTQUNWO1FBQ0QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELFNBQVM7UUFDTCxNQUFNLFFBQVEsR0FFVixFQUFFLENBQUM7UUFFUCxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsS0FBSyxXQUFXLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxJQUFJLEVBQUU7WUFBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEdBQUcsV0FBVyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFFLElBQUksQ0FBQyxTQUFpQixDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1NBQUM7UUFDckwsSUFBSSxPQUFPLElBQUksQ0FBQyxHQUFHLEtBQUssV0FBVyxFQUFFO1lBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7U0FBQztRQUNsRSxJQUFJLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxXQUFXLEVBQUU7WUFBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztTQUFDO1FBQ3hFLElBQUksT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLFdBQVcsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLElBQUksRUFBRTtZQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsR0FBRyxXQUFXLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUUsSUFBSSxDQUFDLFNBQWlCLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7U0FBQztRQUNyTCxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIE9iamVjdHMuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbmltcG9ydCAqIGFzIGkgZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBOYW1lc3BhY2UgfSBmcm9tICcuL25hbWVzcGFjZSc7XG5pbXBvcnQgeyBQYWdlZFJlcXVlc3RPcHRpb25zLCBQYWdlZFJlc3BvbnNlTWV0YWRhdGEgfSBmcm9tICcuL3BhZ2luZyc7XG5pbXBvcnQgKiBhcyBlIGZyb20gJy4uL2VudW1zJztcblxuZXhwb3J0IGZ1bmN0aW9uIGVudW1TdHJpbmdUb1ZhbHVlPEU+KGVudW1SZWY6IGFueSwgdmFsdWU6IHN0cmluZyk6IEUge1xuICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuICByZXR1cm4gZW51bVJlZlt2YWx1ZV07XG59XG5cbmV4cG9ydCBjbGFzcyBMaXN0TUNQc1JlcXVlc3RGaWx0ZXJzIGltcGxlbWVudHMgaS5MaXN0TUNQc1JlcXVlc3RGaWx0ZXJzSW50ZXJmYWNlIHtcbiAgICBuYW1lc3BhY2VzOiBOYW1lc3BhY2VbXTtcbiAgICBtY3BJZHM6IHN0cmluZ1tdO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogTGlzdE1DUHNSZXF1ZXN0RmlsdGVycyB7XG4gICAgICAgIGxldCBtID0gbmV3IExpc3RNQ1BzUmVxdWVzdEZpbHRlcnMoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8ubmFtZXNwYWNlcykge20ubmFtZXNwYWNlcyA9IHByb3RvLm5hbWVzcGFjZXMubWFwKE5hbWVzcGFjZS5mcm9tUHJvdG8pO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5MaXN0TUNQc1JlcXVlc3RGaWx0ZXJzSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubmFtZXNwYWNlcyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5uYW1lc3BhY2VzICE9PSBudWxsKSB7dG9SZXR1cm5bJ25hbWVzcGFjZXMnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMubmFtZXNwYWNlcyA/ICh0aGlzLm5hbWVzcGFjZXMgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMubmFtZXNwYWNlczt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5tY3BJZHMgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ21jcElkcyddID0gdGhpcy5tY3BJZHM7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgRnVuY3Rpb24gaW1wbGVtZW50cyBpLkZ1bmN0aW9uSW50ZXJmYWNlIHtcbiAgICBpZDogc3RyaW5nO1xuICAgIG5hbWVzcGFjZTogTmFtZXNwYWNlO1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgdXJsOiBzdHJpbmc7XG4gICAgbWV0aG9kVHlwZTogc3RyaW5nO1xuICAgIGZ1bmN0aW9uUGFyYW1ldGVyczogRnVuY3Rpb25QYXJhbWV0ZXJbXTtcbiAgICBnZW5lcmF0ZXNBbnN3ZXI6IGJvb2xlYW47XG4gICAgdXBkYXRlZDogRGF0ZTtcbiAgICBoZWFkZXJzOiBGdW5jdGlvbkhlYWRlcltdO1xuICAgIG1hbmFnZWQ6IGJvb2xlYW47XG4gICAgYXV0aFN0cmF0ZWd5OiBGdW5jdGlvbkF1dGhTdHJhdGVneTtcbiAgICBtY3BJZDogc3RyaW5nO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogRnVuY3Rpb24ge1xuICAgICAgICBsZXQgbSA9IG5ldyBGdW5jdGlvbigpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5uYW1lc3BhY2UpIHttLm5hbWVzcGFjZSA9IE5hbWVzcGFjZS5mcm9tUHJvdG8ocHJvdG8ubmFtZXNwYWNlKTt9XG4gICAgICAgIGlmIChwcm90by5mdW5jdGlvblBhcmFtZXRlcnMpIHttLmZ1bmN0aW9uUGFyYW1ldGVycyA9IHByb3RvLmZ1bmN0aW9uUGFyYW1ldGVycy5tYXAoRnVuY3Rpb25QYXJhbWV0ZXIuZnJvbVByb3RvKTt9XG4gICAgICAgIGlmIChwcm90by51cGRhdGVkKSB7bS51cGRhdGVkID0gbmV3IERhdGUocHJvdG8udXBkYXRlZCk7fVxuICAgICAgICBpZiAocHJvdG8uaGVhZGVycykge20uaGVhZGVycyA9IHByb3RvLmhlYWRlcnMubWFwKEZ1bmN0aW9uSGVhZGVyLmZyb21Qcm90byk7fVxuICAgICAgICBpZiAocHJvdG8uYXV0aFN0cmF0ZWd5KSB7bS5hdXRoU3RyYXRlZ3kgPSBGdW5jdGlvbkF1dGhTdHJhdGVneS5mcm9tUHJvdG8ocHJvdG8uYXV0aFN0cmF0ZWd5KTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuRnVuY3Rpb25JbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5pZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnaWQnXSA9IHRoaXMuaWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubmFtZXNwYWNlICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLm5hbWVzcGFjZSAhPT0gbnVsbCkge3RvUmV0dXJuWyduYW1lc3BhY2UnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMubmFtZXNwYWNlID8gKHRoaXMubmFtZXNwYWNlIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLm5hbWVzcGFjZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5kZXNjcmlwdGlvbiAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnZGVzY3JpcHRpb24nXSA9IHRoaXMuZGVzY3JpcHRpb247fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudXJsICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd1cmwnXSA9IHRoaXMudXJsO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm1ldGhvZFR5cGUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ21ldGhvZFR5cGUnXSA9IHRoaXMubWV0aG9kVHlwZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5mdW5jdGlvblBhcmFtZXRlcnMgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuZnVuY3Rpb25QYXJhbWV0ZXJzICE9PSBudWxsKSB7dG9SZXR1cm5bJ2Z1bmN0aW9uUGFyYW1ldGVycyddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5mdW5jdGlvblBhcmFtZXRlcnMgPyAodGhpcy5mdW5jdGlvblBhcmFtZXRlcnMgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuZnVuY3Rpb25QYXJhbWV0ZXJzO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmdlbmVyYXRlc0Fuc3dlciAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnZ2VuZXJhdGVzQW5zd2VyJ10gPSB0aGlzLmdlbmVyYXRlc0Fuc3dlcjt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy51cGRhdGVkICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLnVwZGF0ZWQgIT09IG51bGwpIHt0b1JldHVyblsndXBkYXRlZCddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy51cGRhdGVkID8gKHRoaXMudXBkYXRlZCBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy51cGRhdGVkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmhlYWRlcnMgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuaGVhZGVycyAhPT0gbnVsbCkge3RvUmV0dXJuWydoZWFkZXJzJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmhlYWRlcnMgPyAodGhpcy5oZWFkZXJzIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmhlYWRlcnM7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubWFuYWdlZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnbWFuYWdlZCddID0gdGhpcy5tYW5hZ2VkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmF1dGhTdHJhdGVneSAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5hdXRoU3RyYXRlZ3kgIT09IG51bGwpIHt0b1JldHVyblsnYXV0aFN0cmF0ZWd5J10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmF1dGhTdHJhdGVneSA/ICh0aGlzLmF1dGhTdHJhdGVneSBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5hdXRoU3RyYXRlZ3k7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubWNwSWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ21jcElkJ10gPSB0aGlzLm1jcElkO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEZ1bmN0aW9uQXV0aFN0cmF0ZWd5IGltcGxlbWVudHMgaS5GdW5jdGlvbkF1dGhTdHJhdGVneUludGVyZmFjZSB7XG4gICAgdW5zcGVjaWZpZWQ6IEZ1bmN0aW9uQXV0aFN0cmF0ZWd5VW5zcGVjaWZpZWRGdW5jdGlvbkF1dGhTdHJhdGVneTtcbiAgICBwbGF0Zm9ybU1hbmFnZWQ6IEZ1bmN0aW9uQXV0aFN0cmF0ZWd5UGxhdGZvcm1NYW5hZ2VkRnVuY3Rpb25BdXRoU3RyYXRlZ3k7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBGdW5jdGlvbkF1dGhTdHJhdGVneSB7XG4gICAgICAgIGxldCBtID0gbmV3IEZ1bmN0aW9uQXV0aFN0cmF0ZWd5KCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLnVuc3BlY2lmaWVkKSB7bS51bnNwZWNpZmllZCA9IEZ1bmN0aW9uQXV0aFN0cmF0ZWd5VW5zcGVjaWZpZWRGdW5jdGlvbkF1dGhTdHJhdGVneS5mcm9tUHJvdG8ocHJvdG8udW5zcGVjaWZpZWQpO31cbiAgICAgICAgaWYgKHByb3RvLnBsYXRmb3JtTWFuYWdlZCkge20ucGxhdGZvcm1NYW5hZ2VkID0gRnVuY3Rpb25BdXRoU3RyYXRlZ3lQbGF0Zm9ybU1hbmFnZWRGdW5jdGlvbkF1dGhTdHJhdGVneS5mcm9tUHJvdG8ocHJvdG8ucGxhdGZvcm1NYW5hZ2VkKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuRnVuY3Rpb25BdXRoU3RyYXRlZ3lJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy51bnNwZWNpZmllZCAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy51bnNwZWNpZmllZCAhPT0gbnVsbCkge3RvUmV0dXJuWyd1bnNwZWNpZmllZCddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy51bnNwZWNpZmllZCA/ICh0aGlzLnVuc3BlY2lmaWVkIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLnVuc3BlY2lmaWVkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnBsYXRmb3JtTWFuYWdlZCAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5wbGF0Zm9ybU1hbmFnZWQgIT09IG51bGwpIHt0b1JldHVyblsncGxhdGZvcm1NYW5hZ2VkJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLnBsYXRmb3JtTWFuYWdlZCA/ICh0aGlzLnBsYXRmb3JtTWFuYWdlZCBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5wbGF0Zm9ybU1hbmFnZWQ7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgRnVuY3Rpb25IZWFkZXIgaW1wbGVtZW50cyBpLkZ1bmN0aW9uSGVhZGVySW50ZXJmYWNlIHtcbiAgICBrZXk6IHN0cmluZztcbiAgICB2YWx1ZTogc3RyaW5nO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogRnVuY3Rpb25IZWFkZXIge1xuICAgICAgICBsZXQgbSA9IG5ldyBGdW5jdGlvbkhlYWRlcigpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuRnVuY3Rpb25IZWFkZXJJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5rZXkgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2tleSddID0gdGhpcy5rZXk7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudmFsdWUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3ZhbHVlJ10gPSB0aGlzLnZhbHVlO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEZ1bmN0aW9uS2V5IGltcGxlbWVudHMgaS5GdW5jdGlvbktleUludGVyZmFjZSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBuYW1lc3BhY2U6IE5hbWVzcGFjZTtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IEZ1bmN0aW9uS2V5IHtcbiAgICAgICAgbGV0IG0gPSBuZXcgRnVuY3Rpb25LZXkoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8ubmFtZXNwYWNlKSB7bS5uYW1lc3BhY2UgPSBOYW1lc3BhY2UuZnJvbVByb3RvKHByb3RvLm5hbWVzcGFjZSk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkZ1bmN0aW9uS2V5SW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2lkJ10gPSB0aGlzLmlkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm5hbWVzcGFjZSAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5uYW1lc3BhY2UgIT09IG51bGwpIHt0b1JldHVyblsnbmFtZXNwYWNlJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLm5hbWVzcGFjZSA/ICh0aGlzLm5hbWVzcGFjZSBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5uYW1lc3BhY2U7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgRnVuY3Rpb25QYXJhbWV0ZXIgaW1wbGVtZW50cyBpLkZ1bmN0aW9uUGFyYW1ldGVySW50ZXJmYWNlIHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgICB0eXBlOiBzdHJpbmc7XG4gICAgcHJvcGVydGllczogRnVuY3Rpb25QYXJhbWV0ZXJbXTtcbiAgICBpdGVtczogRnVuY3Rpb25QYXJhbWV0ZXI7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgICBsb2NhdGlvbjogZS5GdW5jdGlvblBhcmFtZXRlclBhcmFtZXRlckxvY2F0aW9uO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogRnVuY3Rpb25QYXJhbWV0ZXIge1xuICAgICAgICBsZXQgbSA9IG5ldyBGdW5jdGlvblBhcmFtZXRlcigpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5wcm9wZXJ0aWVzKSB7bS5wcm9wZXJ0aWVzID0gcHJvdG8ucHJvcGVydGllcy5tYXAoRnVuY3Rpb25QYXJhbWV0ZXIuZnJvbVByb3RvKTt9XG4gICAgICAgIGlmIChwcm90by5pdGVtcykge20uaXRlbXMgPSBGdW5jdGlvblBhcmFtZXRlci5mcm9tUHJvdG8ocHJvdG8uaXRlbXMpO31cbiAgICAgICAgaWYgKHByb3RvLmxvY2F0aW9uKSB7bS5sb2NhdGlvbiA9IGVudW1TdHJpbmdUb1ZhbHVlPGUuRnVuY3Rpb25QYXJhbWV0ZXJQYXJhbWV0ZXJMb2NhdGlvbj4oZS5GdW5jdGlvblBhcmFtZXRlclBhcmFtZXRlckxvY2F0aW9uLCBwcm90by5sb2NhdGlvbik7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkZ1bmN0aW9uUGFyYW1ldGVySW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubmFtZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnbmFtZSddID0gdGhpcy5uYW1lO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmRlc2NyaXB0aW9uICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydkZXNjcmlwdGlvbiddID0gdGhpcy5kZXNjcmlwdGlvbjt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy50eXBlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd0eXBlJ10gPSB0aGlzLnR5cGU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucHJvcGVydGllcyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5wcm9wZXJ0aWVzICE9PSBudWxsKSB7dG9SZXR1cm5bJ3Byb3BlcnRpZXMnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMucHJvcGVydGllcyA/ICh0aGlzLnByb3BlcnRpZXMgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMucHJvcGVydGllczt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5pdGVtcyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5pdGVtcyAhPT0gbnVsbCkge3RvUmV0dXJuWydpdGVtcyddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5pdGVtcyA/ICh0aGlzLml0ZW1zIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLml0ZW1zO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnZhbHVlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd2YWx1ZSddID0gdGhpcy52YWx1ZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5sb2NhdGlvbiAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnbG9jYXRpb24nXSA9IHRoaXMubG9jYXRpb247fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgTGlzdE1DUFRvb2xzUmVxdWVzdCBpbXBsZW1lbnRzIGkuTGlzdE1DUFRvb2xzUmVxdWVzdEludGVyZmFjZSB7XG4gICAgbmFtZXNwYWNlOiBOYW1lc3BhY2U7XG4gICAgdXJsOiBzdHJpbmc7XG4gICAgYXV0aFN0cmF0ZWd5OiBGdW5jdGlvbkF1dGhTdHJhdGVneTtcbiAgICBoZWFkZXJzOiBGdW5jdGlvbkhlYWRlcltdO1xuICAgIG1jcElkOiBzdHJpbmc7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBMaXN0TUNQVG9vbHNSZXF1ZXN0IHtcbiAgICAgICAgbGV0IG0gPSBuZXcgTGlzdE1DUFRvb2xzUmVxdWVzdCgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5uYW1lc3BhY2UpIHttLm5hbWVzcGFjZSA9IE5hbWVzcGFjZS5mcm9tUHJvdG8ocHJvdG8ubmFtZXNwYWNlKTt9XG4gICAgICAgIGlmIChwcm90by5hdXRoU3RyYXRlZ3kpIHttLmF1dGhTdHJhdGVneSA9IEZ1bmN0aW9uQXV0aFN0cmF0ZWd5LmZyb21Qcm90byhwcm90by5hdXRoU3RyYXRlZ3kpO31cbiAgICAgICAgaWYgKHByb3RvLmhlYWRlcnMpIHttLmhlYWRlcnMgPSBwcm90by5oZWFkZXJzLm1hcChGdW5jdGlvbkhlYWRlci5mcm9tUHJvdG8pO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5MaXN0TUNQVG9vbHNSZXF1ZXN0SW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubmFtZXNwYWNlICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLm5hbWVzcGFjZSAhPT0gbnVsbCkge3RvUmV0dXJuWyduYW1lc3BhY2UnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMubmFtZXNwYWNlID8gKHRoaXMubmFtZXNwYWNlIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLm5hbWVzcGFjZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy51cmwgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3VybCddID0gdGhpcy51cmw7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuYXV0aFN0cmF0ZWd5ICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmF1dGhTdHJhdGVneSAhPT0gbnVsbCkge3RvUmV0dXJuWydhdXRoU3RyYXRlZ3knXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuYXV0aFN0cmF0ZWd5ID8gKHRoaXMuYXV0aFN0cmF0ZWd5IGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmF1dGhTdHJhdGVneTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5oZWFkZXJzICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmhlYWRlcnMgIT09IG51bGwpIHt0b1JldHVyblsnaGVhZGVycyddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5oZWFkZXJzID8gKHRoaXMuaGVhZGVycyBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5oZWFkZXJzO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm1jcElkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydtY3BJZCddID0gdGhpcy5tY3BJZDt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBMaXN0TUNQVG9vbHNSZXNwb25zZSBpbXBsZW1lbnRzIGkuTGlzdE1DUFRvb2xzUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIGZ1bmN0aW9uczogRnVuY3Rpb25bXTtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IExpc3RNQ1BUb29sc1Jlc3BvbnNlIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgTGlzdE1DUFRvb2xzUmVzcG9uc2UoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8uZnVuY3Rpb25zKSB7bS5mdW5jdGlvbnMgPSBwcm90by5mdW5jdGlvbnMubWFwKEZ1bmN0aW9uLmZyb21Qcm90byk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkxpc3RNQ1BUb29sc1Jlc3BvbnNlSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZnVuY3Rpb25zICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmZ1bmN0aW9ucyAhPT0gbnVsbCkge3RvUmV0dXJuWydmdW5jdGlvbnMnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuZnVuY3Rpb25zID8gKHRoaXMuZnVuY3Rpb25zIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmZ1bmN0aW9uczt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBMaXN0TUNQc1JlcXVlc3QgaW1wbGVtZW50cyBpLkxpc3RNQ1BzUmVxdWVzdEludGVyZmFjZSB7XG4gICAgZmlsdGVyczogTGlzdE1DUHNSZXF1ZXN0RmlsdGVycztcbiAgICBwYWdpbmdPcHRpb25zOiBQYWdlZFJlcXVlc3RPcHRpb25zO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogTGlzdE1DUHNSZXF1ZXN0IHtcbiAgICAgICAgbGV0IG0gPSBuZXcgTGlzdE1DUHNSZXF1ZXN0KCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLmZpbHRlcnMpIHttLmZpbHRlcnMgPSBMaXN0TUNQc1JlcXVlc3RGaWx0ZXJzLmZyb21Qcm90byhwcm90by5maWx0ZXJzKTt9XG4gICAgICAgIGlmIChwcm90by5wYWdpbmdPcHRpb25zKSB7bS5wYWdpbmdPcHRpb25zID0gUGFnZWRSZXF1ZXN0T3B0aW9ucy5mcm9tUHJvdG8ocHJvdG8ucGFnaW5nT3B0aW9ucyk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkxpc3RNQ1BzUmVxdWVzdEludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmZpbHRlcnMgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuZmlsdGVycyAhPT0gbnVsbCkge3RvUmV0dXJuWydmaWx0ZXJzJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmZpbHRlcnMgPyAodGhpcy5maWx0ZXJzIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmZpbHRlcnM7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucGFnaW5nT3B0aW9ucyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5wYWdpbmdPcHRpb25zICE9PSBudWxsKSB7dG9SZXR1cm5bJ3BhZ2luZ09wdGlvbnMnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMucGFnaW5nT3B0aW9ucyA/ICh0aGlzLnBhZ2luZ09wdGlvbnMgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMucGFnaW5nT3B0aW9uczt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBMaXN0TUNQc1Jlc3BvbnNlIGltcGxlbWVudHMgaS5MaXN0TUNQc1Jlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICBtY3BzOiBNQ1BbXTtcbiAgICBwYWdpbmdNZXRhZGF0YTogUGFnZWRSZXNwb25zZU1ldGFkYXRhO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogTGlzdE1DUHNSZXNwb25zZSB7XG4gICAgICAgIGxldCBtID0gbmV3IExpc3RNQ1BzUmVzcG9uc2UoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8ubWNwcykge20ubWNwcyA9IHByb3RvLm1jcHMubWFwKE1DUC5mcm9tUHJvdG8pO31cbiAgICAgICAgaWYgKHByb3RvLnBhZ2luZ01ldGFkYXRhKSB7bS5wYWdpbmdNZXRhZGF0YSA9IFBhZ2VkUmVzcG9uc2VNZXRhZGF0YS5mcm9tUHJvdG8ocHJvdG8ucGFnaW5nTWV0YWRhdGEpO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5MaXN0TUNQc1Jlc3BvbnNlSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubWNwcyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5tY3BzICE9PSBudWxsKSB7dG9SZXR1cm5bJ21jcHMnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMubWNwcyA/ICh0aGlzLm1jcHMgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMubWNwczt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5wYWdpbmdNZXRhZGF0YSAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5wYWdpbmdNZXRhZGF0YSAhPT0gbnVsbCkge3RvUmV0dXJuWydwYWdpbmdNZXRhZGF0YSddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5wYWdpbmdNZXRhZGF0YSA/ICh0aGlzLnBhZ2luZ01ldGFkYXRhIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLnBhZ2luZ01ldGFkYXRhO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIE1DUCBpbXBsZW1lbnRzIGkuTUNQSW50ZXJmYWNlIHtcbiAgICBpZDogc3RyaW5nO1xuICAgIHVybDogc3RyaW5nO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogTUNQIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgTUNQKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5NQ1BJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5pZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnaWQnXSA9IHRoaXMuaWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudXJsICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd1cmwnXSA9IHRoaXMudXJsO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEZ1bmN0aW9uQXV0aFN0cmF0ZWd5UGxhdGZvcm1NYW5hZ2VkRnVuY3Rpb25BdXRoU3RyYXRlZ3kgaW1wbGVtZW50cyBpLkZ1bmN0aW9uQXV0aFN0cmF0ZWd5UGxhdGZvcm1NYW5hZ2VkRnVuY3Rpb25BdXRoU3RyYXRlZ3lJbnRlcmZhY2Uge1xuICAgIHJlcXVpcmVkU2NvcGVzOiBzdHJpbmdbXTtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IEZ1bmN0aW9uQXV0aFN0cmF0ZWd5UGxhdGZvcm1NYW5hZ2VkRnVuY3Rpb25BdXRoU3RyYXRlZ3kge1xuICAgICAgICBsZXQgbSA9IG5ldyBGdW5jdGlvbkF1dGhTdHJhdGVneVBsYXRmb3JtTWFuYWdlZEZ1bmN0aW9uQXV0aFN0cmF0ZWd5KCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5GdW5jdGlvbkF1dGhTdHJhdGVneVBsYXRmb3JtTWFuYWdlZEZ1bmN0aW9uQXV0aFN0cmF0ZWd5SW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucmVxdWlyZWRTY29wZXMgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3JlcXVpcmVkU2NvcGVzJ10gPSB0aGlzLnJlcXVpcmVkU2NvcGVzO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEZ1bmN0aW9uQXV0aFN0cmF0ZWd5VW5zcGVjaWZpZWRGdW5jdGlvbkF1dGhTdHJhdGVneSBpbXBsZW1lbnRzIGkuRnVuY3Rpb25BdXRoU3RyYXRlZ3lVbnNwZWNpZmllZEZ1bmN0aW9uQXV0aFN0cmF0ZWd5SW50ZXJmYWNlIHtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IEZ1bmN0aW9uQXV0aFN0cmF0ZWd5VW5zcGVjaWZpZWRGdW5jdGlvbkF1dGhTdHJhdGVneSB7XG4gICAgICAgIGxldCBtID0gbmV3IEZ1bmN0aW9uQXV0aFN0cmF0ZWd5VW5zcGVjaWZpZWRGdW5jdGlvbkF1dGhTdHJhdGVneSgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuRnVuY3Rpb25BdXRoU3RyYXRlZ3lVbnNwZWNpZmllZEZ1bmN0aW9uQXV0aFN0cmF0ZWd5SW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgVXBzZXJ0TUNQUmVxdWVzdCBpbXBsZW1lbnRzIGkuVXBzZXJ0TUNQUmVxdWVzdEludGVyZmFjZSB7XG4gICAgbmFtZXNwYWNlOiBOYW1lc3BhY2U7XG4gICAgdXJsOiBzdHJpbmc7XG4gICAgbWNwSWQ6IHN0cmluZztcbiAgICBmdW5jdGlvbnM6IEZ1bmN0aW9uW107XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBVcHNlcnRNQ1BSZXF1ZXN0IHtcbiAgICAgICAgbGV0IG0gPSBuZXcgVXBzZXJ0TUNQUmVxdWVzdCgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5uYW1lc3BhY2UpIHttLm5hbWVzcGFjZSA9IE5hbWVzcGFjZS5mcm9tUHJvdG8ocHJvdG8ubmFtZXNwYWNlKTt9XG4gICAgICAgIGlmIChwcm90by5mdW5jdGlvbnMpIHttLmZ1bmN0aW9ucyA9IHByb3RvLmZ1bmN0aW9ucy5tYXAoRnVuY3Rpb24uZnJvbVByb3RvKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuVXBzZXJ0TUNQUmVxdWVzdEludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm5hbWVzcGFjZSAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5uYW1lc3BhY2UgIT09IG51bGwpIHt0b1JldHVyblsnbmFtZXNwYWNlJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLm5hbWVzcGFjZSA/ICh0aGlzLm5hbWVzcGFjZSBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5uYW1lc3BhY2U7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudXJsICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd1cmwnXSA9IHRoaXMudXJsO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm1jcElkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydtY3BJZCddID0gdGhpcy5tY3BJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5mdW5jdGlvbnMgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuZnVuY3Rpb25zICE9PSBudWxsKSB7dG9SZXR1cm5bJ2Z1bmN0aW9ucyddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5mdW5jdGlvbnMgPyAodGhpcy5mdW5jdGlvbnMgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuZnVuY3Rpb25zO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuIl19
493
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9haV9hc3Npc3RhbnRzX3Nkay9zcmMvbGliL19pbnRlcm5hbC9vYmplY3RzL2Z1bmN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDeEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3RFLE9BQU8sS0FBSyxDQUFDLE1BQU0sVUFBVSxDQUFDO0FBRTlCLE1BQU0sVUFBVSxpQkFBaUIsQ0FBSSxPQUFZLEVBQUUsS0FBYTtJQUM5RCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtRQUM3QixPQUFPLEtBQUssQ0FBQztLQUNkO0lBQ0QsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDeEIsQ0FBQztBQUVELE1BQU0sT0FBTyxnQkFBZ0I7SUFJekIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFVO1FBQ3ZCLElBQUksQ0FBQyxHQUFHLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztRQUMvQixDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDNUIsSUFBSSxLQUFLLENBQUMsU0FBUyxFQUFFO1lBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUFDO1FBQzFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2IsQ0FBQztJQUVELFlBQVksTUFBb0M7UUFDNUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNULE9BQU87U0FDVjtRQUNELE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxTQUFTO1FBQ0wsTUFBTSxRQUFRLEdBRVYsRUFBRSxDQUFDO1FBRVAs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QyxHQUFHLFdBQVcsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBRSxJQUFJLENBQUMsU0FBaUIsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztTQUFDO1FBQ3JMLElBQUksT0FBTyxJQUFJLENBQUMsR0FBRyxLQUFLLFdBQVcsRUFBRTtZQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO1NBQUM7UUFDbEUsSUFBSSxPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssV0FBVyxFQUFFO1lBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7U0FBQztRQUN4RSxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsS0FBSyxXQUFXLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxJQUFJLEVBQUU7WUFBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEdBQUcsV0FBVyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFFLElBQUksQ0FBQyxTQUFpQixDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1NBQUM7UUFDckwsSUFBSSxPQUFPLElBQUksQ0FBQyxZQUFZLEtBQUssV0FBVyxJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssSUFBSSxFQUFFO1lBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxHQUFHLFdBQVcsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBRSxJQUFJLENBQUMsWUFBb0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztTQUFDO1FBQ3ZNLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gQ29kZSBnZW5lcmF0ZWQgYnkgc2RrZ2VuXG4vLyBETyBOT1QgRURJVCEuXG4vL1xuLy8gT2JqZWN0cy5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuaW1wb3J0ICogYXMgaSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IE5hbWVzcGFjZSB9IGZyb20gJy4vbmFtZXNwYWNlJztcbmltcG9ydCB7IFBhZ2VkUmVxdWVzdE9wdGlvbnMsIFBhZ2VkUmVzcG9uc2VNZXRhZGF0YSB9IGZyb20gJy4vcGFnaW5nJztcbmltcG9ydCAqIGFzIGUgZnJvbSAnLi4vZW51bXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZW51bVN0cmluZ1RvVmFsdWU8RT4oZW51bVJlZjogYW55LCB2YWx1ZTogc3RyaW5nKTogRSB7XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG4gIHJldHVybiBlbnVtUmVmW3ZhbHVlXTtcbn1cblxuZXhwb3J0IGNsYXNzIERlbGV0ZU1DUFJlcXVlc3QgaW1wbGVtZW50cyBpLkRlbGV0ZU1DUFJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIG5hbWVzcGFjZTogTmFtZXNwYWNlO1xuICAgIG1jcElkOiBzdHJpbmc7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBEZWxldGVNQ1BSZXF1ZXN0IHtcbiAgICAgICAgbGV0IG0gPSBuZXcgRGVsZXRlTUNQUmVxdWVzdCgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5uYW1lc3BhY2UpIHttLm5hbWVzcGFjZSA9IE5hbWVzcGFjZS5mcm9tUHJvdG8ocHJvdG8ubmFtZXNwYWNlKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuRGVsZXRlTUNQUmVxdWVzdEludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm5hbWVzcGFjZSAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5uYW1lc3BhY2UgIT09IG51bGwpIHt0b1JldHVyblsnbmFtZXNwYWNlJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLm5hbWVzcGFjZSA/ICh0aGlzLm5hbWVzcGFjZSBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5uYW1lc3BhY2U7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubWNwSWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ21jcElkJ10gPSB0aGlzLm1jcElkO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIExpc3RNQ1BzUmVxdWVzdEZpbHRlcnMgaW1wbGVtZW50cyBpLkxpc3RNQ1BzUmVxdWVzdEZpbHRlcnNJbnRlcmZhY2Uge1xuICAgIG5hbWVzcGFjZXM6IE5hbWVzcGFjZVtdO1xuICAgIG1jcElkczogc3RyaW5nW107XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBMaXN0TUNQc1JlcXVlc3RGaWx0ZXJzIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgTGlzdE1DUHNSZXF1ZXN0RmlsdGVycygpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5uYW1lc3BhY2VzKSB7bS5uYW1lc3BhY2VzID0gcHJvdG8ubmFtZXNwYWNlcy5tYXAoTmFtZXNwYWNlLmZyb21Qcm90byk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkxpc3RNQ1BzUmVxdWVzdEZpbHRlcnNJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5uYW1lc3BhY2VzICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLm5hbWVzcGFjZXMgIT09IG51bGwpIHt0b1JldHVyblsnbmFtZXNwYWNlcyddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5uYW1lc3BhY2VzID8gKHRoaXMubmFtZXNwYWNlcyBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5uYW1lc3BhY2VzO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm1jcElkcyAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnbWNwSWRzJ10gPSB0aGlzLm1jcElkczt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBGdW5jdGlvbiBpbXBsZW1lbnRzIGkuRnVuY3Rpb25JbnRlcmZhY2Uge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgbmFtZXNwYWNlOiBOYW1lc3BhY2U7XG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgICB1cmw6IHN0cmluZztcbiAgICBtZXRob2RUeXBlOiBzdHJpbmc7XG4gICAgZnVuY3Rpb25QYXJhbWV0ZXJzOiBGdW5jdGlvblBhcmFtZXRlcltdO1xuICAgIGdlbmVyYXRlc0Fuc3dlcjogYm9vbGVhbjtcbiAgICB1cGRhdGVkOiBEYXRlO1xuICAgIGhlYWRlcnM6IEZ1bmN0aW9uSGVhZGVyW107XG4gICAgbWFuYWdlZDogYm9vbGVhbjtcbiAgICBhdXRoU3RyYXRlZ3k6IEZ1bmN0aW9uQXV0aFN0cmF0ZWd5O1xuICAgIG1jcElkOiBzdHJpbmc7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBGdW5jdGlvbiB7XG4gICAgICAgIGxldCBtID0gbmV3IEZ1bmN0aW9uKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLm5hbWVzcGFjZSkge20ubmFtZXNwYWNlID0gTmFtZXNwYWNlLmZyb21Qcm90byhwcm90by5uYW1lc3BhY2UpO31cbiAgICAgICAgaWYgKHByb3RvLmZ1bmN0aW9uUGFyYW1ldGVycykge20uZnVuY3Rpb25QYXJhbWV0ZXJzID0gcHJvdG8uZnVuY3Rpb25QYXJhbWV0ZXJzLm1hcChGdW5jdGlvblBhcmFtZXRlci5mcm9tUHJvdG8pO31cbiAgICAgICAgaWYgKHByb3RvLnVwZGF0ZWQpIHttLnVwZGF0ZWQgPSBuZXcgRGF0ZShwcm90by51cGRhdGVkKTt9XG4gICAgICAgIGlmIChwcm90by5oZWFkZXJzKSB7bS5oZWFkZXJzID0gcHJvdG8uaGVhZGVycy5tYXAoRnVuY3Rpb25IZWFkZXIuZnJvbVByb3RvKTt9XG4gICAgICAgIGlmIChwcm90by5hdXRoU3RyYXRlZ3kpIHttLmF1dGhTdHJhdGVneSA9IEZ1bmN0aW9uQXV0aFN0cmF0ZWd5LmZyb21Qcm90byhwcm90by5hdXRoU3RyYXRlZ3kpO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5GdW5jdGlvbkludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmlkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydpZCddID0gdGhpcy5pZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5uYW1lc3BhY2UgIT09ICd1bmRlZmluZWQnICYmIHRoaXMubmFtZXNwYWNlICE9PSBudWxsKSB7dG9SZXR1cm5bJ25hbWVzcGFjZSddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5uYW1lc3BhY2UgPyAodGhpcy5uYW1lc3BhY2UgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMubmFtZXNwYWNlO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmRlc2NyaXB0aW9uICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydkZXNjcmlwdGlvbiddID0gdGhpcy5kZXNjcmlwdGlvbjt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy51cmwgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3VybCddID0gdGhpcy51cmw7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubWV0aG9kVHlwZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnbWV0aG9kVHlwZSddID0gdGhpcy5tZXRob2RUeXBlO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmZ1bmN0aW9uUGFyYW1ldGVycyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5mdW5jdGlvblBhcmFtZXRlcnMgIT09IG51bGwpIHt0b1JldHVyblsnZnVuY3Rpb25QYXJhbWV0ZXJzJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmZ1bmN0aW9uUGFyYW1ldGVycyA/ICh0aGlzLmZ1bmN0aW9uUGFyYW1ldGVycyBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5mdW5jdGlvblBhcmFtZXRlcnM7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZ2VuZXJhdGVzQW5zd2VyICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydnZW5lcmF0ZXNBbnN3ZXInXSA9IHRoaXMuZ2VuZXJhdGVzQW5zd2VyO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnVwZGF0ZWQgIT09ICd1bmRlZmluZWQnICYmIHRoaXMudXBkYXRlZCAhPT0gbnVsbCkge3RvUmV0dXJuWyd1cGRhdGVkJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLnVwZGF0ZWQgPyAodGhpcy51cGRhdGVkIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLnVwZGF0ZWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaGVhZGVycyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5oZWFkZXJzICE9PSBudWxsKSB7dG9SZXR1cm5bJ2hlYWRlcnMnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuaGVhZGVycyA/ICh0aGlzLmhlYWRlcnMgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuaGVhZGVyczt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5tYW5hZ2VkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydtYW5hZ2VkJ10gPSB0aGlzLm1hbmFnZWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuYXV0aFN0cmF0ZWd5ICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmF1dGhTdHJhdGVneSAhPT0gbnVsbCkge3RvUmV0dXJuWydhdXRoU3RyYXRlZ3knXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuYXV0aFN0cmF0ZWd5ID8gKHRoaXMuYXV0aFN0cmF0ZWd5IGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmF1dGhTdHJhdGVneTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5tY3BJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnbWNwSWQnXSA9IHRoaXMubWNwSWQ7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgRnVuY3Rpb25BdXRoU3RyYXRlZ3kgaW1wbGVtZW50cyBpLkZ1bmN0aW9uQXV0aFN0cmF0ZWd5SW50ZXJmYWNlIHtcbiAgICB1bnNwZWNpZmllZDogRnVuY3Rpb25BdXRoU3RyYXRlZ3lVbnNwZWNpZmllZEZ1bmN0aW9uQXV0aFN0cmF0ZWd5O1xuICAgIHBsYXRmb3JtTWFuYWdlZDogRnVuY3Rpb25BdXRoU3RyYXRlZ3lQbGF0Zm9ybU1hbmFnZWRGdW5jdGlvbkF1dGhTdHJhdGVneTtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IEZ1bmN0aW9uQXV0aFN0cmF0ZWd5IHtcbiAgICAgICAgbGV0IG0gPSBuZXcgRnVuY3Rpb25BdXRoU3RyYXRlZ3koKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8udW5zcGVjaWZpZWQpIHttLnVuc3BlY2lmaWVkID0gRnVuY3Rpb25BdXRoU3RyYXRlZ3lVbnNwZWNpZmllZEZ1bmN0aW9uQXV0aFN0cmF0ZWd5LmZyb21Qcm90byhwcm90by51bnNwZWNpZmllZCk7fVxuICAgICAgICBpZiAocHJvdG8ucGxhdGZvcm1NYW5hZ2VkKSB7bS5wbGF0Zm9ybU1hbmFnZWQgPSBGdW5jdGlvbkF1dGhTdHJhdGVneVBsYXRmb3JtTWFuYWdlZEZ1bmN0aW9uQXV0aFN0cmF0ZWd5LmZyb21Qcm90byhwcm90by5wbGF0Zm9ybU1hbmFnZWQpO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5GdW5jdGlvbkF1dGhTdHJhdGVneUludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnVuc3BlY2lmaWVkICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLnVuc3BlY2lmaWVkICE9PSBudWxsKSB7dG9SZXR1cm5bJ3Vuc3BlY2lmaWVkJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLnVuc3BlY2lmaWVkID8gKHRoaXMudW5zcGVjaWZpZWQgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMudW5zcGVjaWZpZWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucGxhdGZvcm1NYW5hZ2VkICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLnBsYXRmb3JtTWFuYWdlZCAhPT0gbnVsbCkge3RvUmV0dXJuWydwbGF0Zm9ybU1hbmFnZWQnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMucGxhdGZvcm1NYW5hZ2VkID8gKHRoaXMucGxhdGZvcm1NYW5hZ2VkIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLnBsYXRmb3JtTWFuYWdlZDt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBGdW5jdGlvbkhlYWRlciBpbXBsZW1lbnRzIGkuRnVuY3Rpb25IZWFkZXJJbnRlcmZhY2Uge1xuICAgIGtleTogc3RyaW5nO1xuICAgIHZhbHVlOiBzdHJpbmc7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBGdW5jdGlvbkhlYWRlciB7XG4gICAgICAgIGxldCBtID0gbmV3IEZ1bmN0aW9uSGVhZGVyKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5GdW5jdGlvbkhlYWRlckludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmtleSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsna2V5J10gPSB0aGlzLmtleTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy52YWx1ZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsndmFsdWUnXSA9IHRoaXMudmFsdWU7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgRnVuY3Rpb25LZXkgaW1wbGVtZW50cyBpLkZ1bmN0aW9uS2V5SW50ZXJmYWNlIHtcbiAgICBpZDogc3RyaW5nO1xuICAgIG5hbWVzcGFjZTogTmFtZXNwYWNlO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogRnVuY3Rpb25LZXkge1xuICAgICAgICBsZXQgbSA9IG5ldyBGdW5jdGlvbktleSgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5uYW1lc3BhY2UpIHttLm5hbWVzcGFjZSA9IE5hbWVzcGFjZS5mcm9tUHJvdG8ocHJvdG8ubmFtZXNwYWNlKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuRnVuY3Rpb25LZXlJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5pZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnaWQnXSA9IHRoaXMuaWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubmFtZXNwYWNlICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLm5hbWVzcGFjZSAhPT0gbnVsbCkge3RvUmV0dXJuWyduYW1lc3BhY2UnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMubmFtZXNwYWNlID8gKHRoaXMubmFtZXNwYWNlIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLm5hbWVzcGFjZTt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBGdW5jdGlvblBhcmFtZXRlciBpbXBsZW1lbnRzIGkuRnVuY3Rpb25QYXJhbWV0ZXJJbnRlcmZhY2Uge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgIHR5cGU6IHN0cmluZztcbiAgICBwcm9wZXJ0aWVzOiBGdW5jdGlvblBhcmFtZXRlcltdO1xuICAgIGl0ZW1zOiBGdW5jdGlvblBhcmFtZXRlcjtcbiAgICB2YWx1ZTogc3RyaW5nO1xuICAgIGxvY2F0aW9uOiBlLkZ1bmN0aW9uUGFyYW1ldGVyUGFyYW1ldGVyTG9jYXRpb247XG4gICAgcmVxdWlyZWQ6IGJvb2xlYW47XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBGdW5jdGlvblBhcmFtZXRlciB7XG4gICAgICAgIGxldCBtID0gbmV3IEZ1bmN0aW9uUGFyYW1ldGVyKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLnByb3BlcnRpZXMpIHttLnByb3BlcnRpZXMgPSBwcm90by5wcm9wZXJ0aWVzLm1hcChGdW5jdGlvblBhcmFtZXRlci5mcm9tUHJvdG8pO31cbiAgICAgICAgaWYgKHByb3RvLml0ZW1zKSB7bS5pdGVtcyA9IEZ1bmN0aW9uUGFyYW1ldGVyLmZyb21Qcm90byhwcm90by5pdGVtcyk7fVxuICAgICAgICBpZiAocHJvdG8ubG9jYXRpb24pIHttLmxvY2F0aW9uID0gZW51bVN0cmluZ1RvVmFsdWU8ZS5GdW5jdGlvblBhcmFtZXRlclBhcmFtZXRlckxvY2F0aW9uPihlLkZ1bmN0aW9uUGFyYW1ldGVyUGFyYW1ldGVyTG9jYXRpb24sIHByb3RvLmxvY2F0aW9uKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuRnVuY3Rpb25QYXJhbWV0ZXJJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5uYW1lICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyduYW1lJ10gPSB0aGlzLm5hbWU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZGVzY3JpcHRpb24gIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2Rlc2NyaXB0aW9uJ10gPSB0aGlzLmRlc2NyaXB0aW9uO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnR5cGUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3R5cGUnXSA9IHRoaXMudHlwZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5wcm9wZXJ0aWVzICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLnByb3BlcnRpZXMgIT09IG51bGwpIHt0b1JldHVyblsncHJvcGVydGllcyddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5wcm9wZXJ0aWVzID8gKHRoaXMucHJvcGVydGllcyBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5wcm9wZXJ0aWVzO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLml0ZW1zICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLml0ZW1zICE9PSBudWxsKSB7dG9SZXR1cm5bJ2l0ZW1zJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLml0ZW1zID8gKHRoaXMuaXRlbXMgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuaXRlbXM7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudmFsdWUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3ZhbHVlJ10gPSB0aGlzLnZhbHVlO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmxvY2F0aW9uICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydsb2NhdGlvbiddID0gdGhpcy5sb2NhdGlvbjt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5yZXF1aXJlZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsncmVxdWlyZWQnXSA9IHRoaXMucmVxdWlyZWQ7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgTGlzdE1DUFRvb2xzUmVxdWVzdCBpbXBsZW1lbnRzIGkuTGlzdE1DUFRvb2xzUmVxdWVzdEludGVyZmFjZSB7XG4gICAgbmFtZXNwYWNlOiBOYW1lc3BhY2U7XG4gICAgdXJsOiBzdHJpbmc7XG4gICAgYXV0aFN0cmF0ZWd5OiBGdW5jdGlvbkF1dGhTdHJhdGVneTtcbiAgICBoZWFkZXJzOiBGdW5jdGlvbkhlYWRlcltdO1xuICAgIG1jcElkOiBzdHJpbmc7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBMaXN0TUNQVG9vbHNSZXF1ZXN0IHtcbiAgICAgICAgbGV0IG0gPSBuZXcgTGlzdE1DUFRvb2xzUmVxdWVzdCgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5uYW1lc3BhY2UpIHttLm5hbWVzcGFjZSA9IE5hbWVzcGFjZS5mcm9tUHJvdG8ocHJvdG8ubmFtZXNwYWNlKTt9XG4gICAgICAgIGlmIChwcm90by5hdXRoU3RyYXRlZ3kpIHttLmF1dGhTdHJhdGVneSA9IEZ1bmN0aW9uQXV0aFN0cmF0ZWd5LmZyb21Qcm90byhwcm90by5hdXRoU3RyYXRlZ3kpO31cbiAgICAgICAgaWYgKHByb3RvLmhlYWRlcnMpIHttLmhlYWRlcnMgPSBwcm90by5oZWFkZXJzLm1hcChGdW5jdGlvbkhlYWRlci5mcm9tUHJvdG8pO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5MaXN0TUNQVG9vbHNSZXF1ZXN0SW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubmFtZXNwYWNlICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLm5hbWVzcGFjZSAhPT0gbnVsbCkge3RvUmV0dXJuWyduYW1lc3BhY2UnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMubmFtZXNwYWNlID8gKHRoaXMubmFtZXNwYWNlIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLm5hbWVzcGFjZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy51cmwgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3VybCddID0gdGhpcy51cmw7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuYXV0aFN0cmF0ZWd5ICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmF1dGhTdHJhdGVneSAhPT0gbnVsbCkge3RvUmV0dXJuWydhdXRoU3RyYXRlZ3knXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuYXV0aFN0cmF0ZWd5ID8gKHRoaXMuYXV0aFN0cmF0ZWd5IGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmF1dGhTdHJhdGVneTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5oZWFkZXJzICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmhlYWRlcnMgIT09IG51bGwpIHt0b1JldHVyblsnaGVhZGVycyddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5oZWFkZXJzID8gKHRoaXMuaGVhZGVycyBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5oZWFkZXJzO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm1jcElkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydtY3BJZCddID0gdGhpcy5tY3BJZDt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBMaXN0TUNQVG9vbHNSZXNwb25zZSBpbXBsZW1lbnRzIGkuTGlzdE1DUFRvb2xzUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIGZ1bmN0aW9uczogRnVuY3Rpb25bXTtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IExpc3RNQ1BUb29sc1Jlc3BvbnNlIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgTGlzdE1DUFRvb2xzUmVzcG9uc2UoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8uZnVuY3Rpb25zKSB7bS5mdW5jdGlvbnMgPSBwcm90by5mdW5jdGlvbnMubWFwKEZ1bmN0aW9uLmZyb21Qcm90byk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkxpc3RNQ1BUb29sc1Jlc3BvbnNlSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZnVuY3Rpb25zICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmZ1bmN0aW9ucyAhPT0gbnVsbCkge3RvUmV0dXJuWydmdW5jdGlvbnMnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuZnVuY3Rpb25zID8gKHRoaXMuZnVuY3Rpb25zIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmZ1bmN0aW9uczt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBMaXN0TUNQc1JlcXVlc3QgaW1wbGVtZW50cyBpLkxpc3RNQ1BzUmVxdWVzdEludGVyZmFjZSB7XG4gICAgZmlsdGVyczogTGlzdE1DUHNSZXF1ZXN0RmlsdGVycztcbiAgICBwYWdpbmdPcHRpb25zOiBQYWdlZFJlcXVlc3RPcHRpb25zO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogTGlzdE1DUHNSZXF1ZXN0IHtcbiAgICAgICAgbGV0IG0gPSBuZXcgTGlzdE1DUHNSZXF1ZXN0KCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLmZpbHRlcnMpIHttLmZpbHRlcnMgPSBMaXN0TUNQc1JlcXVlc3RGaWx0ZXJzLmZyb21Qcm90byhwcm90by5maWx0ZXJzKTt9XG4gICAgICAgIGlmIChwcm90by5wYWdpbmdPcHRpb25zKSB7bS5wYWdpbmdPcHRpb25zID0gUGFnZWRSZXF1ZXN0T3B0aW9ucy5mcm9tUHJvdG8ocHJvdG8ucGFnaW5nT3B0aW9ucyk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkxpc3RNQ1BzUmVxdWVzdEludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmZpbHRlcnMgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuZmlsdGVycyAhPT0gbnVsbCkge3RvUmV0dXJuWydmaWx0ZXJzJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmZpbHRlcnMgPyAodGhpcy5maWx0ZXJzIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmZpbHRlcnM7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucGFnaW5nT3B0aW9ucyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5wYWdpbmdPcHRpb25zICE9PSBudWxsKSB7dG9SZXR1cm5bJ3BhZ2luZ09wdGlvbnMnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMucGFnaW5nT3B0aW9ucyA/ICh0aGlzLnBhZ2luZ09wdGlvbnMgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMucGFnaW5nT3B0aW9uczt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBMaXN0TUNQc1Jlc3BvbnNlIGltcGxlbWVudHMgaS5MaXN0TUNQc1Jlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICBtY3BzOiBNQ1BbXTtcbiAgICBwYWdpbmdNZXRhZGF0YTogUGFnZWRSZXNwb25zZU1ldGFkYXRhO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogTGlzdE1DUHNSZXNwb25zZSB7XG4gICAgICAgIGxldCBtID0gbmV3IExpc3RNQ1BzUmVzcG9uc2UoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8ubWNwcykge20ubWNwcyA9IHByb3RvLm1jcHMubWFwKE1DUC5mcm9tUHJvdG8pO31cbiAgICAgICAgaWYgKHByb3RvLnBhZ2luZ01ldGFkYXRhKSB7bS5wYWdpbmdNZXRhZGF0YSA9IFBhZ2VkUmVzcG9uc2VNZXRhZGF0YS5mcm9tUHJvdG8ocHJvdG8ucGFnaW5nTWV0YWRhdGEpO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5MaXN0TUNQc1Jlc3BvbnNlSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubWNwcyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5tY3BzICE9PSBudWxsKSB7dG9SZXR1cm5bJ21jcHMnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMubWNwcyA/ICh0aGlzLm1jcHMgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMubWNwczt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5wYWdpbmdNZXRhZGF0YSAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5wYWdpbmdNZXRhZGF0YSAhPT0gbnVsbCkge3RvUmV0dXJuWydwYWdpbmdNZXRhZGF0YSddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5wYWdpbmdNZXRhZGF0YSA/ICh0aGlzLnBhZ2luZ01ldGFkYXRhIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLnBhZ2luZ01ldGFkYXRhO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIE1DUCBpbXBsZW1lbnRzIGkuTUNQSW50ZXJmYWNlIHtcbiAgICBpZDogc3RyaW5nO1xuICAgIHVybDogc3RyaW5nO1xuICAgIG5hbWVzcGFjZTogTmFtZXNwYWNlO1xuICAgIGF1dGhTdHJhdGVneTogRnVuY3Rpb25BdXRoU3RyYXRlZ3k7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBNQ1Age1xuICAgICAgICBsZXQgbSA9IG5ldyBNQ1AoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8ubmFtZXNwYWNlKSB7bS5uYW1lc3BhY2UgPSBOYW1lc3BhY2UuZnJvbVByb3RvKHByb3RvLm5hbWVzcGFjZSk7fVxuICAgICAgICBpZiAocHJvdG8uYXV0aFN0cmF0ZWd5KSB7bS5hdXRoU3RyYXRlZ3kgPSBGdW5jdGlvbkF1dGhTdHJhdGVneS5mcm9tUHJvdG8ocHJvdG8uYXV0aFN0cmF0ZWd5KTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuTUNQSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2lkJ10gPSB0aGlzLmlkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnVybCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsndXJsJ10gPSB0aGlzLnVybDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5uYW1lc3BhY2UgIT09ICd1bmRlZmluZWQnICYmIHRoaXMubmFtZXNwYWNlICE9PSBudWxsKSB7dG9SZXR1cm5bJ25hbWVzcGFjZSddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5uYW1lc3BhY2UgPyAodGhpcy5uYW1lc3BhY2UgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMubmFtZXNwYWNlO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmF1dGhTdHJhdGVneSAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5hdXRoU3RyYXRlZ3kgIT09IG51bGwpIHt0b1JldHVyblsnYXV0aFN0cmF0ZWd5J10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmF1dGhTdHJhdGVneSA/ICh0aGlzLmF1dGhTdHJhdGVneSBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5hdXRoU3RyYXRlZ3k7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgRnVuY3Rpb25BdXRoU3RyYXRlZ3lQbGF0Zm9ybU1hbmFnZWRGdW5jdGlvbkF1dGhTdHJhdGVneSBpbXBsZW1lbnRzIGkuRnVuY3Rpb25BdXRoU3RyYXRlZ3lQbGF0Zm9ybU1hbmFnZWRGdW5jdGlvbkF1dGhTdHJhdGVneUludGVyZmFjZSB7XG4gICAgcmVxdWlyZWRTY29wZXM6IHN0cmluZ1tdO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogRnVuY3Rpb25BdXRoU3RyYXRlZ3lQbGF0Zm9ybU1hbmFnZWRGdW5jdGlvbkF1dGhTdHJhdGVneSB7XG4gICAgICAgIGxldCBtID0gbmV3IEZ1bmN0aW9uQXV0aFN0cmF0ZWd5UGxhdGZvcm1NYW5hZ2VkRnVuY3Rpb25BdXRoU3RyYXRlZ3koKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkZ1bmN0aW9uQXV0aFN0cmF0ZWd5UGxhdGZvcm1NYW5hZ2VkRnVuY3Rpb25BdXRoU3RyYXRlZ3lJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5yZXF1aXJlZFNjb3BlcyAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsncmVxdWlyZWRTY29wZXMnXSA9IHRoaXMucmVxdWlyZWRTY29wZXM7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgRnVuY3Rpb25BdXRoU3RyYXRlZ3lVbnNwZWNpZmllZEZ1bmN0aW9uQXV0aFN0cmF0ZWd5IGltcGxlbWVudHMgaS5GdW5jdGlvbkF1dGhTdHJhdGVneVVuc3BlY2lmaWVkRnVuY3Rpb25BdXRoU3RyYXRlZ3lJbnRlcmZhY2Uge1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogRnVuY3Rpb25BdXRoU3RyYXRlZ3lVbnNwZWNpZmllZEZ1bmN0aW9uQXV0aFN0cmF0ZWd5IHtcbiAgICAgICAgbGV0IG0gPSBuZXcgRnVuY3Rpb25BdXRoU3RyYXRlZ3lVbnNwZWNpZmllZEZ1bmN0aW9uQXV0aFN0cmF0ZWd5KCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5GdW5jdGlvbkF1dGhTdHJhdGVneVVuc3BlY2lmaWVkRnVuY3Rpb25BdXRoU3RyYXRlZ3lJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBVcHNlcnRNQ1BSZXF1ZXN0IGltcGxlbWVudHMgaS5VcHNlcnRNQ1BSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBuYW1lc3BhY2U6IE5hbWVzcGFjZTtcbiAgICB1cmw6IHN0cmluZztcbiAgICBtY3BJZDogc3RyaW5nO1xuICAgIGZ1bmN0aW9uczogRnVuY3Rpb25bXTtcbiAgICBhdXRoU3RyYXRlZ3k6IEZ1bmN0aW9uQXV0aFN0cmF0ZWd5O1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogVXBzZXJ0TUNQUmVxdWVzdCB7XG4gICAgICAgIGxldCBtID0gbmV3IFVwc2VydE1DUFJlcXVlc3QoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8ubmFtZXNwYWNlKSB7bS5uYW1lc3BhY2UgPSBOYW1lc3BhY2UuZnJvbVByb3RvKHByb3RvLm5hbWVzcGFjZSk7fVxuICAgICAgICBpZiAocHJvdG8uZnVuY3Rpb25zKSB7bS5mdW5jdGlvbnMgPSBwcm90by5mdW5jdGlvbnMubWFwKEZ1bmN0aW9uLmZyb21Qcm90byk7fVxuICAgICAgICBpZiAocHJvdG8uYXV0aFN0cmF0ZWd5KSB7bS5hdXRoU3RyYXRlZ3kgPSBGdW5jdGlvbkF1dGhTdHJhdGVneS5mcm9tUHJvdG8ocHJvdG8uYXV0aFN0cmF0ZWd5KTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuVXBzZXJ0TUNQUmVxdWVzdEludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm5hbWVzcGFjZSAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5uYW1lc3BhY2UgIT09IG51bGwpIHt0b1JldHVyblsnbmFtZXNwYWNlJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLm5hbWVzcGFjZSA/ICh0aGlzLm5hbWVzcGFjZSBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5uYW1lc3BhY2U7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudXJsICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd1cmwnXSA9IHRoaXMudXJsO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm1jcElkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydtY3BJZCddID0gdGhpcy5tY3BJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5mdW5jdGlvbnMgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuZnVuY3Rpb25zICE9PSBudWxsKSB7dG9SZXR1cm5bJ2Z1bmN0aW9ucyddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5mdW5jdGlvbnMgPyAodGhpcy5mdW5jdGlvbnMgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuZnVuY3Rpb25zO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmF1dGhTdHJhdGVneSAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5hdXRoU3RyYXRlZ3kgIT09IG51bGwpIHt0b1JldHVyblsnYXV0aFN0cmF0ZWd5J10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmF1dGhTdHJhdGVneSA/ICh0aGlzLmF1dGhTdHJhdGVneSBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5hdXRoU3RyYXRlZ3k7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG4iXX0=
@@ -6,16 +6,16 @@
6
6
  // *********************************
7
7
  export { NamespaceAccountGroupNamespace, NamespaceGlobalNamespace, Namespace, NamespacePartnerNamespace, NamespaceSystemNamespace, } from './namespace';
8
8
  export { PagedRequestOptions, PagedResponseMetadata, } from './paging';
9
- export { ListMCPsRequestFilters, Function, FunctionAuthStrategy, FunctionHeader, FunctionKey, FunctionParameter, ListMCPToolsRequest, ListMCPToolsResponse, ListMCPsRequest, ListMCPsResponse, MCP, FunctionAuthStrategyPlatformManagedFunctionAuthStrategy, FunctionAuthStrategyUnspecifiedFunctionAuthStrategy, UpsertMCPRequest, } from './function';
9
+ export { DeleteMCPRequest, ListMCPsRequestFilters, Function, FunctionAuthStrategy, FunctionHeader, FunctionKey, FunctionParameter, ListMCPToolsRequest, ListMCPToolsResponse, ListMCPsRequest, ListMCPsResponse, MCP, FunctionAuthStrategyPlatformManagedFunctionAuthStrategy, FunctionAuthStrategyUnspecifiedFunctionAuthStrategy, UpsertMCPRequest, } from './function';
10
10
  export { Prompt, PromptModule, PromptModuleKey, PromptModuleVersion, PromptVersion, } from './prompt';
11
11
  export { Goal, GoalKey, } from './goal';
12
12
  export { KeyValuePair, } from './common';
13
13
  export { Model, } from './model';
14
14
  export { Assistant, AssistantKey, Config, ConfigurableGoal, DeepgramConfig, ElevenLabsConfig, ConfigInboxConfig, ModelConfig, OpenAIRealtimeConfig, OpenAIRealtimeConfigTurnDetection, ConfigVoiceConfig, } from './assistant';
15
15
  export { Connection, ConnectionKey, } from './connection';
16
- export { ChatAnswerFunctionExecutionJob, ChatAnswerFunctionExecutionJobResult, ChatMessage, ChatUserInfo, ContextInfo, } from './answer';
16
+ export { ChatAnswerFunctionExecutionJob, ChatAnswerFunctionExecutionJobResult, ChatContent, ChatMessage, ChatUserInfo, ContextInfo, ImageContent, } from './answer';
17
17
  export { CancelTestRunRequest, TestResultCitation, DeleteTestCasesRequest, GetTestRunRequest, GetTestRunResponse, ListTestCasesByAssistantRequest, ListTestCasesByAssistantResponse, ListTestRunsByAssistantRequest, ListTestRunsByAssistantResponse, RunTestsRequest, RunTestsResponse, SortOptions, TestCase, TestResult, TestRun, UpsertTestCasesRequest, } from './integration-tests';
18
18
  export { Access, MCPOptions, } from './annotations';
19
19
  export { FieldMask, } from './field-mask';
20
- export { BuildDefaultAssistantRequest, BuildDefaultAssistantResponse, SetAssistantConnectionsRequestConnectionState, CreateAssistantRequest, CreateAssistantResponse, CreateGoalRequest, CreateGoalResponse, CreatePromptModuleRequest, CreatePromptModuleResponse, CreatePromptModuleVersionRequest, CreatePromptRequest, DeleteAssistantRequest, DeleteConnectionRequest, DeleteFunctionRequest, DeleteGoalRequest, DeletePromptModuleRequest, DeletePromptRequest, DeployPromptModuleRequest, DeployPromptRequest, ExecuteFunctionRequest, ExecuteFunctionResponse, ListConnectionsRequestFilters, ListAvailableModelsRequestFilters, ListAllAssistantsAssociatedToConnectionRequestFilters, ListGoalsRequestFilters, ListAssistantRequestFilters, ListFunctionRequestFilters, ListPromptModuleRequestFilters, GenerateChatAnswerRequest, GenerateChatAnswerResponse, GetAssistantRequest, GetAssistantResponse, GetChatAnswerFunctionExecutionJobRequest, GetChatAnswerFunctionExecutionJobResponse, GetConnectionRequest, GetConnectionResponse, GetDeployedPromptModuleVersionRequest, GetDeployedPromptModuleVersionResponse, GetDeployedPromptVersionRequest, GetDeployedPromptVersionResponse, GetFunctionRequest, GetFunctionResponse, GetGoalRequest, GetGoalResponse, GetHydratedDeployedPromptModuleVersionRequest, GetHydratedDeployedPromptModuleVersionResponse, GetMultiDeployedPromptVersionRequest, GetMultiDeployedPromptVersionResponse, GetMultiFunctionRequest, GetMultiFunctionResponse, GetMultiGoalRequest, GetMultiGoalResponse, GetMultiHydratedDeployedPromptModuleVersionRequest, GetMultiHydratedDeployedPromptModuleVersionResponse, GetPromptModuleRequest, GetPromptModuleResponse, GetPromptModuleVersionRequest, GetPromptModuleVersionResponse, GetPromptRequest, GetPromptResponse, GetPromptVersionRequest, GetPromptVersionResponse, GoalsDisabledForAccountGroupRequest, GoalsDisabledForAccountGroupResponse, ListAllAssistantsAssociatedToConnectionRequest, ListAllAssistantsAssociatedToConnectionResponse, ListAssistantRequest, ListAssistantResponse, ListAvailableModelsRequest, ListAvailableModelsResponse, ListConnectionsRequest, ListConnectionsResponse, ListFunctionRequest, ListFunctionResponse, ListGoalsRequest, ListGoalsResponse, ListPromptModuleRequest, ListPromptModuleResponse, ListPromptModuleVersionsRequest, ListPromptModuleVersionsResponse, ListPromptRequest, ListPromptResponse, ListPromptVersionsRequest, ListPromptVersionsResponse, UpsertAssistantRequestOptions, CreateAssistantRequestOptions, CreatePromptModuleVersionRequestOptions, GenerateChatAnswerRequestOptions, GetAssistantRequestOptions, SetAssistantConnectionsRequest, UpdateAssistantRequest, UpdateGoalRequest, UpdatePromptModuleRequest, UpdatePromptRequest, UpsertAssistantRequest, UpsertAssistantResponse, UpsertConnectionRequest, UpsertFunctionRequest, UpsertGoalRequest, } from './api';
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9haV9hc3Npc3RhbnRzX3Nkay9zcmMvbGliL19pbnRlcm5hbC9vYmplY3RzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQztBQUNwQywyQkFBMkI7QUFDM0IsZ0JBQWdCO0FBQ2hCLEVBQUU7QUFDRixpQkFBaUI7QUFDakIsb0NBQW9DO0FBQ3BDLE9BQU8sRUFDSCw4QkFBOEIsRUFDOUIsd0JBQXdCLEVBQ3hCLFNBQVMsRUFDVCx5QkFBeUIsRUFDekIsd0JBQXdCLEdBQzNCLE1BQU0sYUFBYSxDQUFDO0FBRXJCLE9BQU8sRUFDSCxtQkFBbUIsRUFDbkIscUJBQXFCLEdBQ3hCLE1BQU0sVUFBVSxDQUFDO0FBRWxCLE9BQU8sRUFDSCxzQkFBc0IsRUFDdEIsUUFBUSxFQUNSLG9CQUFvQixFQUNwQixjQUFjLEVBQ2QsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIsR0FBRyxFQUNILHVEQUF1RCxFQUN2RCxtREFBbUQsRUFDbkQsZ0JBQWdCLEdBQ25CLE1BQU0sWUFBWSxDQUFDO0FBRXBCLE9BQU8sRUFDSCxNQUFNLEVBQ04sWUFBWSxFQUNaLGVBQWUsRUFDZixtQkFBbUIsRUFDbkIsYUFBYSxHQUNoQixNQUFNLFVBQVUsQ0FBQztBQUVsQixPQUFPLEVBQ0gsSUFBSSxFQUNKLE9BQU8sR0FDVixNQUFNLFFBQVEsQ0FBQztBQUVoQixPQUFPLEVBQ0gsWUFBWSxHQUNmLE1BQU0sVUFBVSxDQUFDO0FBRWxCLE9BQU8sRUFDSCxLQUFLLEdBQ1IsTUFBTSxTQUFTLENBQUM7QUFFakIsT0FBTyxFQUNILFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLGdCQUFnQixFQUNoQixjQUFjLEVBQ2QsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixXQUFXLEVBQ1gs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QixHQUNwQixNQUFNLE9BQU8sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gQ29kZSBnZW5lcmF0ZWQgYnkgc2RrZ2VuXG4vLyBETyBOT1QgRURJVCEuXG4vL1xuLy8gT2JqZWN0cyBJbmRleC5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuZXhwb3J0IHtcbiAgICBOYW1lc3BhY2VBY2NvdW50R3JvdXBOYW1lc3BhY2UsXG4gICAgTmFtZXNwYWNlR2xvYmFsTmFtZXNwYWNlLFxuICAgIE5hbWVzcGFjZSxcbiAgICBOYW1lc3BhY2VQYXJ0bmVyTmFtZXNwYWNlLFxuICAgIE5hbWVzcGFjZVN5c3RlbU5hbWVzcGFjZSxcbn0gZnJvbSAnLi9uYW1lc3BhY2UnO1xuXG5leHBvcnQge1xuICAgIFBhZ2VkUmVxdWVzdE9wdGlvbnMsXG4gICAgUGFnZWRSZXNwb25zZU1ldGFkYXRhLFxufSBmcm9tICcuL3BhZ2luZyc7XG5cbmV4cG9ydCB7XG4gICAgTGlzdE1DUHNSZXF1ZXN0RmlsdGVycyxcbiAgICBGdW5jdGlvbixcbiAgICBGdW5jdGlvbkF1dGhTdHJhdGVneSxcbiAgICBGdW5jdGlvbkhlYWRlcixcbiAgICBGdW5jdGlvbktleSxcbiAgICBGdW5jdGlvblBhcmFtZXRlcixcbiAgICBMaXN0TUNQVG9vbHNSZXF1ZXN0LFxuICAgIExpc3RNQ1BUb29sc1Jlc3BvbnNlLFxuICAgIExpc3RNQ1BzUmVxdWVzdCxcbiAgICBMaXN0TUNQc1Jlc3BvbnNlLFxuICAgIE1DUCxcbiAgICBGdW5jdGlvbkF1dGhTdHJhdGVneVBsYXRmb3JtTWFuYWdlZEZ1bmN0aW9uQXV0aFN0cmF0ZWd5LFxuICAgIEZ1bmN0aW9uQXV0aFN0cmF0ZWd5VW5zcGVjaWZpZWRGdW5jdGlvbkF1dGhTdHJhdGVneSxcbiAgICBVcHNlcnRNQ1BSZXF1ZXN0LFxufSBmcm9tICcuL2Z1bmN0aW9uJztcblxuZXhwb3J0IHtcbiAgICBQcm9tcHQsXG4gICAgUHJvbXB0TW9kdWxlLFxuICAgIFByb21wdE1vZHVsZUtleSxcbiAgICBQcm9tcHRNb2R1bGVWZXJzaW9uLFxuICAgIFByb21wdFZlcnNpb24sXG59IGZyb20gJy4vcHJvbXB0JztcblxuZXhwb3J0IHtcbiAgICBHb2FsLFxuICAgIEdvYWxLZXksXG59IGZyb20gJy4vZ29hbCc7XG5cbmV4cG9ydCB7XG4gICAgS2V5VmFsdWVQYWlyLFxufSBmcm9tICcuL2NvbW1vbic7XG5cbmV4cG9ydCB7XG4gICAgTW9kZWwsXG59IGZyb20gJy4vbW9kZWwnO1xuXG5leHBvcnQge1xuICAgIEFzc2lzdGFudCxcbiAgICBBc3Npc3RhbnRLZXksXG4gICAgQ29uZmlnLFxuICAgIENvbmZpZ3VyYWJsZUdvYWwsXG4gICAgRGVlcGdyYW1Db25maWcsXG4gICAgRWxldmVuTGFic0NvbmZpZyxcbiAgICBDb25maWdJbmJveENvbmZpZyxcbiAgICBNb2RlbENvbmZpZyxcbiAgICBPcGVuQUlSZWFsdGltZUNvbmZpZyxcbiAgICBPcGVuQUlSZWFsdGltZUNvbmZpZ1R1cm5EZXRlY3Rpb24sXG4gICAgQ29uZmlnVm9pY2VDb25maWcsXG59IGZyb20gJy4vYXNzaXN0YW50JztcblxuZXhwb3J0IHtcbiAgICBDb25uZWN0aW9uLFxuICAgIENvbm5lY3Rpb25LZXksXG59IGZyb20gJy4vY29ubmVjdGlvbic7XG5cbmV4cG9ydCB7XG4gICAgQ2hhdEFuc3dlckZ1bmN0aW9uRXhlY3V0aW9uSm9iLFxuICAgIENoYXRBbnN3ZXJGdW5jdGlvbkV4ZWN1dGlvbkpvYlJlc3VsdCxcbiAgICBDaGF0TWVzc2FnZSxcbiAgICBDaGF0VXNlckluZm8sXG4gICAgQ29udGV4dEluZm8sXG59IGZyb20gJy4vYW5zd2VyJztcblxuZXhwb3J0IHtcbiAgICBDYW5jZWxUZXN0UnVuUmVxdWVzdCxcbiAgICBUZXN0UmVzdWx0Q2l0YXRpb24sXG4gICAgRGVsZXRlVGVzdENhc2VzUmVxdWVzdCxcbiAgICBHZXRUZXN0UnVuUmVxdWVzdCxcbiAgICBHZXRUZXN0UnVuUmVzcG9uc2UsXG4gICAgTGlzdFRlc3RDYXNlc0J5QXNzaXN0YW50UmVxdWVzdCxcbiAgICBMaXN0VGVzdENhc2VzQnlBc3Npc3RhbnRSZXNwb25zZSxcbiAgICBMaXN0VGVzdFJ1bnNCeUFzc2lzdGFudFJlcXVlc3QsXG4gICAgTGlzdFRlc3RSdW5zQnlBc3Npc3RhbnRSZXNwb25zZSxcbiAgICBSdW5UZXN0c1JlcXVlc3QsXG4gICAgUnVuVGVzdHNSZXNwb25zZSxcbiAgICBTb3J0T3B0aW9ucyxcbiAgICBUZXN0Q2FzZSxcbiAgICBUZXN0UmVzdWx0LFxuICAgIFRlc3RSdW4sXG4gICAgVXBzZXJ0VGVzdENhc2VzUmVxdWVzdCxcbn0gZnJvbSAnLi9pbnRlZ3JhdGlvbi10ZXN0cyc7XG5cbmV4cG9ydCB7XG4gICAgQWNjZXNzLFxuICAgIE1DUE9wdGlvbnMsXG59IGZyb20gJy4vYW5ub3RhdGlvbnMnO1xuXG5leHBvcnQge1xuICAgIEZpZWxkTWFzayxcbn0gZnJvbSAnLi9maWVsZC1tYXNrJztcblxuZXhwb3J0IHtcbiAgICBCdWlsZERlZmF1bHRBc3Npc3RhbnRSZXF1ZXN0LFxuICAgIEJ1aWxkRGVmYXVsdEFzc2lzdGFudFJlc3BvbnNlLFxuICAgIFNldEFzc2lzdGFudENvbm5lY3Rpb25zUmVxdWVzdENvbm5lY3Rpb25TdGF0ZSxcbiAgICBDcmVhdGVBc3Npc3RhbnRSZXF1ZXN0LFxuICAgIENyZWF0ZUFzc2lzdGFudFJlc3BvbnNlLFxuICAgIENyZWF0ZUdvYWxSZXF1ZXN0LFxuICAgIENyZWF0ZUdvYWxSZXNwb25zZSxcbiAgICBDcmVhdGVQcm9tcHRNb2R1bGVSZXF1ZXN0LFxuICAgIENyZWF0ZVByb21wdE1vZHVsZVJlc3BvbnNlLFxuICAgIENyZWF0ZVByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0LFxuICAgIENyZWF0ZVByb21wdFJlcXVlc3QsXG4gICAgRGVsZXRlQXNzaXN0YW50UmVxdWVzdCxcbiAgICBEZWxldGVDb25uZWN0aW9uUmVxdWVzdCxcbiAgICBEZWxldGVGdW5jdGlvblJlcXVlc3QsXG4gICAgRGVsZXRlR29hbFJlcXVlc3QsXG4gICAgRGVsZXRlUHJvbXB0TW9kdWxlUmVxdWVzdCxcbiAgICBEZWxldGVQcm9tcHRSZXF1ZXN0LFxuICAgIERlcGxveVByb21wdE1vZHVsZVJlcXVlc3QsXG4gICAgRGVwbG95UHJvbXB0UmVxdWVzdCxcbiAgICBFeGVjdXRlRnVuY3Rpb25SZXF1ZXN0LFxuICAgIEV4ZWN1dGVGdW5jdGlvblJlc3BvbnNlLFxuICAgIExpc3RDb25uZWN0aW9uc1JlcXVlc3RGaWx0ZXJzLFxuICAgIExpc3RBdmFpbGFibGVNb2RlbHNSZXF1ZXN0RmlsdGVycyxcbiAgICBMaXN0QWxsQXNzaXN0YW50c0Fzc29jaWF0ZWRUb0Nvbm5lY3Rpb25SZXF1ZXN0RmlsdGVycyxcbiAgICBMaXN0R29hbHNSZXF1ZXN0RmlsdGVycyxcbiAgICBMaXN0QXNzaXN0YW50UmVxdWVzdEZpbHRlcnMsXG4gICAgTGlzdEZ1bmN0aW9uUmVxdWVzdEZpbHRlcnMsXG4gICAgTGlzdFByb21wdE1vZHVsZVJlcXVlc3RGaWx0ZXJzLFxuICAgIEdlbmVyYXRlQ2hhdEFuc3dlclJlcXVlc3QsXG4gICAgR2VuZXJhdGVDaGF0QW5zd2VyUmVzcG9uc2UsXG4gICAgR2V0QXNzaXN0YW50UmVxdWVzdCxcbiAgICBHZXRBc3Npc3RhbnRSZXNwb25zZSxcbiAgICBHZXRDaGF0QW5zd2VyRnVuY3Rpb25FeGVjdXRpb25Kb2JSZXF1ZXN0LFxuICAgIEdldENoYXRBbnN3ZXJGdW5jdGlvbkV4ZWN1dGlvbkpvYlJlc3BvbnNlLFxuICAgIEdldENvbm5lY3Rpb25SZXF1ZXN0LFxuICAgIEdldENvbm5lY3Rpb25SZXNwb25zZSxcbiAgICBHZXREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0LFxuICAgIEdldERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlc3BvbnNlLFxuICAgIEdldERlcGxveWVkUHJvbXB0VmVyc2lvblJlcXVlc3QsXG4gICAgR2V0RGVwbG95ZWRQcm9tcHRWZXJzaW9uUmVzcG9uc2UsXG4gICAgR2V0RnVuY3Rpb25SZXF1ZXN0LFxuICAgIEdldEZ1bmN0aW9uUmVzcG9uc2UsXG4gICAgR2V0R29hbFJlcXVlc3QsXG4gICAgR2V0R29hbFJlc3BvbnNlLFxuICAgIEdldEh5ZHJhdGVkRGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdCxcbiAgICBHZXRIeWRyYXRlZERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlc3BvbnNlLFxuICAgIEdldE11bHRpRGVwbG95ZWRQcm9tcHRWZXJzaW9uUmVxdWVzdCxcbiAgICBHZXRNdWx0aURlcGxveWVkUHJvbXB0VmVyc2lvblJlc3BvbnNlLFxuICAgIEdldE11bHRpRnVuY3Rpb25SZXF1ZXN0LFxuICAgIEdldE11bHRpRnVuY3Rpb25SZXNwb25zZSxcbiAgICBHZXRNdWx0aUdvYWxSZXF1ZXN0LFxuICAgIEdldE11bHRpR29hbFJlc3BvbnNlLFxuICAgIEdldE11bHRpSHlkcmF0ZWREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0LFxuICAgIEdldE11bHRpSHlkcmF0ZWREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXNwb25zZSxcbiAgICBHZXRQcm9tcHRNb2R1bGVSZXF1ZXN0LFxuICAgIEdldFByb21wdE1vZHVsZVJlc3BvbnNlLFxuICAgIEdldFByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0LFxuICAgIEdldFByb21wdE1vZHVsZVZlcnNpb25SZXNwb25zZSxcbiAgICBHZXRQcm9tcHRSZXF1ZXN0LFxuICAgIEdldFByb21wdFJlc3BvbnNlLFxuICAgIEdldFByb21wdFZlcnNpb25SZXF1ZXN0LFxuICAgIEdldFByb21wdFZlcnNpb25SZXNwb25zZSxcbiAgICBHb2Fsc0Rpc2FibGVkRm9yQWNjb3VudEdyb3VwUmVxdWVzdCxcbiAgICBHb2Fsc0Rpc2FibGVkRm9yQWNjb3VudEdyb3VwUmVzcG9uc2UsXG4gICAgTGlzdEFsbEFzc2lzdGFudHNBc3NvY2lhdGVkVG9Db25uZWN0aW9uUmVxdWVzdCxcbiAgICBMaXN0QWxsQXNzaXN0YW50c0Fzc29jaWF0ZWRUb0Nvbm5lY3Rpb25SZXNwb25zZSxcbiAgICBMaXN0QXNzaXN0YW50UmVxdWVzdCxcbiAgICBMaXN0QXNzaXN0YW50UmVzcG9uc2UsXG4gICAgTGlzdEF2YWlsYWJsZU1vZGVsc1JlcXVlc3QsXG4gICAgTGlzdEF2YWlsYWJsZU1vZGVsc1Jlc3BvbnNlLFxuICAgIExpc3RDb25uZWN0aW9uc1JlcXVlc3QsXG4gICAgTGlzdENvbm5lY3Rpb25zUmVzcG9uc2UsXG4gICAgTGlzdEZ1bmN0aW9uUmVxdWVzdCxcbiAgICBMaXN0RnVuY3Rpb25SZXNwb25zZSxcbiAgICBMaXN0R29hbHNSZXF1ZXN0LFxuICAgIExpc3RHb2Fsc1Jlc3BvbnNlLFxuICAgIExpc3RQcm9tcHRNb2R1bGVSZXF1ZXN0LFxuICAgIExpc3RQcm9tcHRNb2R1bGVSZXNwb25zZSxcbiAgICBMaXN0UHJvbXB0TW9kdWxlVmVyc2lvbnNSZXF1ZXN0LFxuICAgIExpc3RQcm9tcHRNb2R1bGVWZXJzaW9uc1Jlc3BvbnNlLFxuICAgIExpc3RQcm9tcHRSZXF1ZXN0LFxuICAgIExpc3RQcm9tcHRSZXNwb25zZSxcbiAgICBMaXN0UHJvbXB0VmVyc2lvbnNSZXF1ZXN0LFxuICAgIExpc3RQcm9tcHRWZXJzaW9uc1Jlc3BvbnNlLFxuICAgIFVwc2VydEFzc2lzdGFudFJlcXVlc3RPcHRpb25zLFxuICAgIENyZWF0ZUFzc2lzdGFudFJlcXVlc3RPcHRpb25zLFxuICAgIENyZWF0ZVByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0T3B0aW9ucyxcbiAgICBHZW5lcmF0ZUNoYXRBbnN3ZXJSZXF1ZXN0T3B0aW9ucyxcbiAgICBHZXRBc3Npc3RhbnRSZXF1ZXN0T3B0aW9ucyxcbiAgICBTZXRBc3Npc3RhbnRDb25uZWN0aW9uc1JlcXVlc3QsXG4gICAgVXBkYXRlQXNzaXN0YW50UmVxdWVzdCxcbiAgICBVcGRhdGVHb2FsUmVxdWVzdCxcbiAgICBVcGRhdGVQcm9tcHRNb2R1bGVSZXF1ZXN0LFxuICAgIFVwZGF0ZVByb21wdFJlcXVlc3QsXG4gICAgVXBzZXJ0QXNzaXN0YW50UmVxdWVzdCxcbiAgICBVcHNlcnRBc3Npc3RhbnRSZXNwb25zZSxcbiAgICBVcHNlcnRDb25uZWN0aW9uUmVxdWVzdCxcbiAgICBVcHNlcnRGdW5jdGlvblJlcXVlc3QsXG4gICAgVXBzZXJ0R29hbFJlcXVlc3QsXG59IGZyb20gJy4vYXBpJztcblxuIl19
20
+ export { BuildDefaultAssistantRequest, BuildDefaultAssistantResponse, SetAssistantConnectionsRequestConnectionState, CreateAssistantRequest, CreateAssistantResponse, CreateGoalRequest, CreateGoalResponse, CreatePromptModuleRequest, CreatePromptModuleResponse, CreatePromptModuleVersionRequest, CreatePromptRequest, DeleteAssistantRequest, DeleteConnectionRequest, DeleteFunctionRequest, DeleteGoalRequest, DeletePromptModuleRequest, DeletePromptRequest, DeployPromptModuleRequest, DeployPromptRequest, ExecuteFunctionRequest, ExecuteFunctionResponse, ListFunctionRequestFilters, ListAvailableModelsRequestFilters, ListConnectionsRequestFilters, ListPromptModuleRequestFilters, ListGoalsRequestFilters, ListAllAssistantsAssociatedToConnectionRequestFilters, ListAssistantRequestFilters, GenerateChatAnswerRequest, GenerateChatAnswerResponse, GetAssistantRequest, GetAssistantResponse, GetChatAnswerFunctionExecutionJobRequest, GetChatAnswerFunctionExecutionJobResponse, GetConnectionRequest, GetConnectionResponse, GetDeployedPromptModuleVersionRequest, GetDeployedPromptModuleVersionResponse, GetDeployedPromptVersionRequest, GetDeployedPromptVersionResponse, GetFunctionRequest, GetFunctionResponse, GetGoalRequest, GetGoalResponse, GetHydratedDeployedPromptModuleVersionRequest, GetHydratedDeployedPromptModuleVersionResponse, GetMultiAssistantRequest, GetMultiAssistantResponse, GetMultiDeployedPromptVersionRequest, GetMultiDeployedPromptVersionResponse, GetMultiFunctionRequest, GetMultiFunctionResponse, GetMultiGoalRequest, GetMultiGoalResponse, GetMultiHydratedDeployedPromptModuleVersionRequest, GetMultiHydratedDeployedPromptModuleVersionResponse, GetPromptModuleRequest, GetPromptModuleResponse, GetPromptModuleVersionRequest, GetPromptModuleVersionResponse, GetPromptRequest, GetPromptResponse, GetPromptVersionRequest, GetPromptVersionResponse, GoalsDisabledForAccountGroupRequest, GoalsDisabledForAccountGroupResponse, ListAllAssistantsAssociatedToConnectionRequest, ListAllAssistantsAssociatedToConnectionResponse, ListAssistantRequest, ListAssistantResponse, ListAvailableModelsRequest, ListAvailableModelsResponse, ListConnectionsRequest, ListConnectionsResponse, ListFunctionRequest, ListFunctionResponse, ListGoalsRequest, ListGoalsResponse, ListPromptModuleRequest, ListPromptModuleResponse, ListPromptModuleVersionsRequest, ListPromptModuleVersionsResponse, ListPromptRequest, ListPromptResponse, ListPromptVersionsRequest, ListPromptVersionsResponse, GenerateChatAnswerRequestOptions, GetMultiAssistantRequestOptions, CreatePromptModuleVersionRequestOptions, CreateAssistantRequestOptions, UpsertAssistantRequestOptions, GetAssistantRequestOptions, SetAssistantConnectionsRequest, UpdateAssistantRequest, UpdateGoalRequest, UpdatePromptModuleRequest, UpdatePromptRequest, UpsertAssistantRequest, UpsertAssistantResponse, UpsertConnectionRequest, UpsertFunctionRequest, UpsertGoalRequest, } from './api';
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9haV9hc3Npc3RhbnRzX3Nkay9zcmMvbGliL19pbnRlcm5hbC9vYmplY3RzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQztBQUNwQywyQkFBMkI7QUFDM0IsZ0JBQWdCO0FBQ2hCLEVBQUU7QUFDRixpQkFBaUI7QUFDakIsb0NBQW9DO0FBQ3BDLE9BQU8sRUFDSCw4QkFBOEIsRUFDOUIsd0JBQXdCLEVBQ3hCLFNBQVMsRUFDVCx5QkFBeUIsRUFDekIsd0JBQXdCLEdBQzNCLE1BQU0sYUFBYSxDQUFDO0FBRXJCLE9BQU8sRUFDSCxtQkFBbUIsRUFDbkIscUJBQXFCLEdBQ3hCLE1BQU0sVUFBVSxDQUFDO0FBRWxCLE9BQU8sRUFDSCxnQkFBZ0IsRUFDaEIsc0JBQXNCLEVBQ3RCLFFBQVEsRUFDUixvQkFBb0IsRUFDcEIsY0FBYyxFQUNkLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsbUJBQW1CLEVBQ25CLG9CQUFvQixFQUNwQixlQUFlLEVBQ2YsZ0JBQWdCLEVBQ2hCLEdBQUcsRUFDSCx1REFBdUQsRUFDdkQsbURBQW1ELEVBQ25ELGdCQUFnQixHQUNuQixNQUFNLFlBQVksQ0FBQztBQUVwQixPQUFPLEVBQ0gsTUFBTSxFQUNOLFlBQVksRUFDWixlQUFlLEVBQ2YsbUJBQW1CLEVBQ25CLGFBQWEsR0FDaEIsTUFBTSxVQUFVLENBQUM7QUFFbEIsT0FBTyxFQUNILElBQUksRUFDSixPQUFPLEdBQ1YsTUFBTSxRQUFRLENBQUM7QUFFaEIsT0FBTyxFQUNILFlBQVksR0FDZixNQUFNLFVBQVUsQ0FBQztBQUVsQixPQUFPLEVBQ0gsS0FBSyxHQUNSLE1BQU0sU0FBUyxDQUFDO0FBRWpCLE9BQU8sRUFDSCxTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixnQkFBZ0IsRUFDaEIsY0FBYyxFQUNkLGdCQUFnQixFQUNoQixpQkFBaUIsRUFD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QixtQkFBbUIsRUFDbkIsc0JBQXNCLEVBQ3RCLHVCQUF1QixFQUN2Qix1QkFBdUIsRUFDdkIscUJBQXFCLEVBQ3JCLGlCQUFpQixHQUNwQixNQUFNLE9BQU8sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gQ29kZSBnZW5lcmF0ZWQgYnkgc2RrZ2VuXG4vLyBETyBOT1QgRURJVCEuXG4vL1xuLy8gT2JqZWN0cyBJbmRleC5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuZXhwb3J0IHtcbiAgICBOYW1lc3BhY2VBY2NvdW50R3JvdXBOYW1lc3BhY2UsXG4gICAgTmFtZXNwYWNlR2xvYmFsTmFtZXNwYWNlLFxuICAgIE5hbWVzcGFjZSxcbiAgICBOYW1lc3BhY2VQYXJ0bmVyTmFtZXNwYWNlLFxuICAgIE5hbWVzcGFjZVN5c3RlbU5hbWVzcGFjZSxcbn0gZnJvbSAnLi9uYW1lc3BhY2UnO1xuXG5leHBvcnQge1xuICAgIFBhZ2VkUmVxdWVzdE9wdGlvbnMsXG4gICAgUGFnZWRSZXNwb25zZU1ldGFkYXRhLFxufSBmcm9tICcuL3BhZ2luZyc7XG5cbmV4cG9ydCB7XG4gICAgRGVsZXRlTUNQUmVxdWVzdCxcbiAgICBMaXN0TUNQc1JlcXVlc3RGaWx0ZXJzLFxuICAgIEZ1bmN0aW9uLFxuICAgIEZ1bmN0aW9uQXV0aFN0cmF0ZWd5LFxuICAgIEZ1bmN0aW9uSGVhZGVyLFxuICAgIEZ1bmN0aW9uS2V5LFxuICAgIEZ1bmN0aW9uUGFyYW1ldGVyLFxuICAgIExpc3RNQ1BUb29sc1JlcXVlc3QsXG4gICAgTGlzdE1DUFRvb2xzUmVzcG9uc2UsXG4gICAgTGlzdE1DUHNSZXF1ZXN0LFxuICAgIExpc3RNQ1BzUmVzcG9uc2UsXG4gICAgTUNQLFxuICAgIEZ1bmN0aW9uQXV0aFN0cmF0ZWd5UGxhdGZvcm1NYW5hZ2VkRnVuY3Rpb25BdXRoU3RyYXRlZ3ksXG4gICAgRnVuY3Rpb25BdXRoU3RyYXRlZ3lVbnNwZWNpZmllZEZ1bmN0aW9uQXV0aFN0cmF0ZWd5LFxuICAgIFVwc2VydE1DUFJlcXVlc3QsXG59IGZyb20gJy4vZnVuY3Rpb24nO1xuXG5leHBvcnQge1xuICAgIFByb21wdCxcbiAgICBQcm9tcHRNb2R1bGUsXG4gICAgUHJvbXB0TW9kdWxlS2V5LFxuICAgIFByb21wdE1vZHVsZVZlcnNpb24sXG4gICAgUHJvbXB0VmVyc2lvbixcbn0gZnJvbSAnLi9wcm9tcHQnO1xuXG5leHBvcnQge1xuICAgIEdvYWwsXG4gICAgR29hbEtleSxcbn0gZnJvbSAnLi9nb2FsJztcblxuZXhwb3J0IHtcbiAgICBLZXlWYWx1ZVBhaXIsXG59IGZyb20gJy4vY29tbW9uJztcblxuZXhwb3J0IHtcbiAgICBNb2RlbCxcbn0gZnJvbSAnLi9tb2RlbCc7XG5cbmV4cG9ydCB7XG4gICAgQXNzaXN0YW50LFxuICAgIEFzc2lzdGFudEtleSxcbiAgICBDb25maWcsXG4gICAgQ29uZmlndXJhYmxlR29hbCxcbiAgICBEZWVwZ3JhbUNvbmZpZyxcbiAgICBFbGV2ZW5MYWJzQ29uZmlnLFxuICAgIENvbmZpZ0luYm94Q29uZmlnLFxuICAgIE1vZGVsQ29uZmlnLFxuICAgIE9wZW5BSVJlYWx0aW1lQ29uZmlnLFxuICAgIE9wZW5BSVJlYWx0aW1lQ29uZmlnVHVybkRldGVjdGlvbixcbiAgICBDb25maWdWb2ljZUNvbmZpZyxcbn0gZnJvbSAnLi9hc3Npc3RhbnQnO1xuXG5leHBvcnQge1xuICAgIENvbm5lY3Rpb24sXG4gICAgQ29ubmVjdGlvbktleSxcbn0gZnJvbSAnLi9jb25uZWN0aW9uJztcblxuZXhwb3J0IHtcbiAgICBDaGF0QW5zd2VyRnVuY3Rpb25FeGVjdXRpb25Kb2IsXG4gICAgQ2hhdEFuc3dlckZ1bmN0aW9uRXhlY3V0aW9uSm9iUmVzdWx0LFxuICAgIENoYXRDb250ZW50LFxuICAgIENoYXRNZXNzYWdlLFxuICAgIENoYXRVc2VySW5mbyxcbiAgICBDb250ZXh0SW5mbyxcbiAgICBJbWFnZUNvbnRlbnQsXG59IGZyb20gJy4vYW5zd2VyJztcblxuZXhwb3J0IHtcbiAgICBDYW5jZWxUZXN0UnVuUmVxdWVzdCxcbiAgICBUZXN0UmVzdWx0Q2l0YXRpb24sXG4gICAgRGVsZXRlVGVzdENhc2VzUmVxdWVzdCxcbiAgICBHZXRUZXN0UnVuUmVxdWVzdCxcbiAgICBHZXRUZXN0UnVuUmVzcG9uc2UsXG4gICAgTGlzdFRlc3RDYXNlc0J5QXNzaXN0YW50UmVxdWVzdCxcbiAgICBMaXN0VGVzdENhc2VzQnlBc3Npc3RhbnRSZXNwb25zZSxcbiAgICBMaXN0VGVzdFJ1bnNCeUFzc2lzdGFudFJlcXVlc3QsXG4gICAgTGlzdFRlc3RSdW5zQnlBc3Npc3RhbnRSZXNwb25zZSxcbiAgICBSdW5UZXN0c1JlcXVlc3QsXG4gICAgUnVuVGVzdHNSZXNwb25zZSxcbiAgICBTb3J0T3B0aW9ucyxcbiAgICBUZXN0Q2FzZSxcbiAgICBUZXN0UmVzdWx0LFxuICAgIFRlc3RSdW4sXG4gICAgVXBzZXJ0VGVzdENhc2VzUmVxdWVzdCxcbn0gZnJvbSAnLi9pbnRlZ3JhdGlvbi10ZXN0cyc7XG5cbmV4cG9ydCB7XG4gICAgQWNjZXNzLFxuICAgIE1DUE9wdGlvbnMsXG59IGZyb20gJy4vYW5ub3RhdGlvbnMnO1xuXG5leHBvcnQge1xuICAgIEZpZWxkTWFzayxcbn0gZnJvbSAnLi9maWVsZC1tYXNrJztcblxuZXhwb3J0IHtcbiAgICBCdWlsZERlZmF1bHRBc3Npc3RhbnRSZXF1ZXN0LFxuICAgIEJ1aWxkRGVmYXVsdEFzc2lzdGFudFJlc3BvbnNlLFxuICAgIFNldEFzc2lzdGFudENvbm5lY3Rpb25zUmVxdWVzdENvbm5lY3Rpb25TdGF0ZSxcbiAgICBDcmVhdGVBc3Npc3RhbnRSZXF1ZXN0LFxuICAgIENyZWF0ZUFzc2lzdGFudFJlc3BvbnNlLFxuICAgIENyZWF0ZUdvYWxSZXF1ZXN0LFxuICAgIENyZWF0ZUdvYWxSZXNwb25zZSxcbiAgICBDcmVhdGVQcm9tcHRNb2R1bGVSZXF1ZXN0LFxuICAgIENyZWF0ZVByb21wdE1vZHVsZVJlc3BvbnNlLFxuICAgIENyZWF0ZVByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0LFxuICAgIENyZWF0ZVByb21wdFJlcXVlc3QsXG4gICAgRGVsZXRlQXNzaXN0YW50UmVxdWVzdCxcbiAgICBEZWxldGVDb25uZWN0aW9uUmVxdWVzdCxcbiAgICBEZWxldGVGdW5jdGlvblJlcXVlc3QsXG4gICAgRGVsZXRlR29hbFJlcXVlc3QsXG4gICAgRGVsZXRlUHJvbXB0TW9kdWxlUmVxdWVzdCxcbiAgICBEZWxldGVQcm9tcHRSZXF1ZXN0LFxuICAgIERlcGxveVByb21wdE1vZHVsZVJlcXVlc3QsXG4gICAgRGVwbG95UHJvbXB0UmVxdWVzdCxcbiAgICBFeGVjdXRlRnVuY3Rpb25SZXF1ZXN0LFxuICAgIEV4ZWN1dGVGdW5jdGlvblJlc3BvbnNlLFxuICAgIExpc3RGdW5jdGlvblJlcXVlc3RGaWx0ZXJzLFxuICAgIExpc3RBdmFpbGFibGVNb2RlbHNSZXF1ZXN0RmlsdGVycyxcbiAgICBMaXN0Q29ubmVjdGlvbnNSZXF1ZXN0RmlsdGVycyxcbiAgICBMaXN0UHJvbXB0TW9kdWxlUmVxdWVzdEZpbHRlcnMsXG4gICAgTGlzdEdvYWxzUmVxdWVzdEZpbHRlcnMsXG4gICAgTGlzdEFsbEFzc2lzdGFudHNBc3NvY2lhdGVkVG9Db25uZWN0aW9uUmVxdWVzdEZpbHRlcnMsXG4gICAgTGlzdEFzc2lzdGFudFJlcXVlc3RGaWx0ZXJzLFxuICAgIEdlbmVyYXRlQ2hhdEFuc3dlclJlcXVlc3QsXG4gICAgR2VuZXJhdGVDaGF0QW5zd2VyUmVzcG9uc2UsXG4gICAgR2V0QXNzaXN0YW50UmVxdWVzdCxcbiAgICBHZXRBc3Npc3RhbnRSZXNwb25zZSxcbiAgICBHZXRDaGF0QW5zd2VyRnVuY3Rpb25FeGVjdXRpb25Kb2JSZXF1ZXN0LFxuICAgIEdldENoYXRBbnN3ZXJGdW5jdGlvbkV4ZWN1dGlvbkpvYlJlc3BvbnNlLFxuICAgIEdldENvbm5lY3Rpb25SZXF1ZXN0LFxuICAgIEdldENvbm5lY3Rpb25SZXNwb25zZSxcbiAgICBHZXREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0LFxuICAgIEdldERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlc3BvbnNlLFxuICAgIEdldERlcGxveWVkUHJvbXB0VmVyc2lvblJlcXVlc3QsXG4gICAgR2V0RGVwbG95ZWRQcm9tcHRWZXJzaW9uUmVzcG9uc2UsXG4gICAgR2V0RnVuY3Rpb25SZXF1ZXN0LFxuICAgIEdldEZ1bmN0aW9uUmVzcG9uc2UsXG4gICAgR2V0R29hbFJlcXVlc3QsXG4gICAgR2V0R29hbFJlc3BvbnNlLFxuICAgIEdldEh5ZHJhdGVkRGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdCxcbiAgICBHZXRIeWRyYXRlZERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlc3BvbnNlLFxuICAgIEdldE11bHRpQXNzaXN0YW50UmVxdWVzdCxcbiAgICBHZXRNdWx0aUFzc2lzdGFudFJlc3BvbnNlLFxuICAgIEdldE11bHRpRGVwbG95ZWRQcm9tcHRWZXJzaW9uUmVxdWVzdCxcbiAgICBHZXRNdWx0aURlcGxveWVkUHJvbXB0VmVyc2lvblJlc3BvbnNlLFxuICAgIEdldE11bHRpRnVuY3Rpb25SZXF1ZXN0LFxuICAgIEdldE11bHRpRnVuY3Rpb25SZXNwb25zZSxcbiAgICBHZXRNdWx0aUdvYWxSZXF1ZXN0LFxuICAgIEdldE11bHRpR29hbFJlc3BvbnNlLFxuICAgIEdldE11bHRpSHlkcmF0ZWREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0LFxuICAgIEdldE11bHRpSHlkcmF0ZWREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXNwb25zZSxcbiAgICBHZXRQcm9tcHRNb2R1bGVSZXF1ZXN0LFxuICAgIEdldFByb21wdE1vZHVsZVJlc3BvbnNlLFxuICAgIEdldFByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0LFxuICAgIEdldFByb21wdE1vZHVsZVZlcnNpb25SZXNwb25zZSxcbiAgICBHZXRQcm9tcHRSZXF1ZXN0LFxuICAgIEdldFByb21wdFJlc3BvbnNlLFxuICAgIEdldFByb21wdFZlcnNpb25SZXF1ZXN0LFxuICAgIEdldFByb21wdFZlcnNpb25SZXNwb25zZSxcbiAgICBHb2Fsc0Rpc2FibGVkRm9yQWNjb3VudEdyb3VwUmVxdWVzdCxcbiAgICBHb2Fsc0Rpc2FibGVkRm9yQWNjb3VudEdyb3VwUmVzcG9uc2UsXG4gICAgTGlzdEFsbEFzc2lzdGFudHNBc3NvY2lhdGVkVG9Db25uZWN0aW9uUmVxdWVzdCxcbiAgICBMaXN0QWxsQXNzaXN0YW50c0Fzc29jaWF0ZWRUb0Nvbm5lY3Rpb25SZXNwb25zZSxcbiAgICBMaXN0QXNzaXN0YW50UmVxdWVzdCxcbiAgICBMaXN0QXNzaXN0YW50UmVzcG9uc2UsXG4gICAgTGlzdEF2YWlsYWJsZU1vZGVsc1JlcXVlc3QsXG4gICAgTGlzdEF2YWlsYWJsZU1vZGVsc1Jlc3BvbnNlLFxuICAgIExpc3RDb25uZWN0aW9uc1JlcXVlc3QsXG4gICAgTGlzdENvbm5lY3Rpb25zUmVzcG9uc2UsXG4gICAgTGlzdEZ1bmN0aW9uUmVxdWVzdCxcbiAgICBMaXN0RnVuY3Rpb25SZXNwb25zZSxcbiAgICBMaXN0R29hbHNSZXF1ZXN0LFxuICAgIExpc3RHb2Fsc1Jlc3BvbnNlLFxuICAgIExpc3RQcm9tcHRNb2R1bGVSZXF1ZXN0LFxuICAgIExpc3RQcm9tcHRNb2R1bGVSZXNwb25zZSxcbiAgICBMaXN0UHJvbXB0TW9kdWxlVmVyc2lvbnNSZXF1ZXN0LFxuICAgIExpc3RQcm9tcHRNb2R1bGVWZXJzaW9uc1Jlc3BvbnNlLFxuICAgIExpc3RQcm9tcHRSZXF1ZXN0LFxuICAgIExpc3RQcm9tcHRSZXNwb25zZSxcbiAgICBMaXN0UHJvbXB0VmVyc2lvbnNSZXF1ZXN0LFxuICAgIExpc3RQcm9tcHRWZXJzaW9uc1Jlc3BvbnNlLFxuICAgIEdlbmVyYXRlQ2hhdEFuc3dlclJlcXVlc3RPcHRpb25zLFxuICAgIEdldE11bHRpQXNzaXN0YW50UmVxdWVzdE9wdGlvbnMsXG4gICAgQ3JlYXRlUHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3RPcHRpb25zLFxuICAgIENyZWF0ZUFzc2lzdGFudFJlcXVlc3RPcHRpb25zLFxuICAgIFVwc2VydEFzc2lzdGFudFJlcXVlc3RPcHRpb25zLFxuICAgIEdldEFzc2lzdGFudFJlcXVlc3RPcHRpb25zLFxuICAgIFNldEFzc2lzdGFudENvbm5lY3Rpb25zUmVxdWVzdCxcbiAgICBVcGRhdGVBc3Npc3RhbnRSZXF1ZXN0LFxuICAgIFVwZGF0ZUdvYWxSZXF1ZXN0LFxuICAgIFVwZGF0ZVByb21wdE1vZHVsZVJlcXVlc3QsXG4gICAgVXBkYXRlUHJvbXB0UmVxdWVzdCxcbiAgICBVcHNlcnRBc3Npc3RhbnRSZXF1ZXN0LFxuICAgIFVwc2VydEFzc2lzdGFudFJlc3BvbnNlLFxuICAgIFVwc2VydENvbm5lY3Rpb25SZXF1ZXN0LFxuICAgIFVwc2VydEZ1bmN0aW9uUmVxdWVzdCxcbiAgICBVcHNlcnRHb2FsUmVxdWVzdCxcbn0gZnJvbSAnLi9hcGknO1xuXG4iXX0=