@hivegpt/hiveai-angular 0.0.564 → 0.0.566

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.
@@ -14,8 +14,15 @@ export class ConversationService {
14
14
  });
15
15
  return timestamp + randomHex;
16
16
  }
17
- getKey(botId, resetKey = false) {
18
- const storageKey = `${this.conversationStorageKeyPrefix}${botId}`;
17
+ /**
18
+ * Returns a stable conversation id persisted in localStorage.
19
+ *
20
+ * IMPORTANT: call-sites should pass an event-specific scope when needed (e.g. eventId)
21
+ * so switching events does not reuse the previous event's conversation thread.
22
+ */
23
+ getKey(botId, resetKey = false, scope) {
24
+ const normalizedScope = scope != null && String(scope).trim() !== '' ? String(scope).trim() : '';
25
+ const storageKey = `${this.conversationStorageKeyPrefix}${botId}${normalizedScope ? `_${normalizedScope}` : ''}`;
19
26
  let value = localStorage.getItem(storageKey);
20
27
  if (!value || resetKey) {
21
28
  value = this.generateKey();
@@ -23,8 +30,9 @@ export class ConversationService {
23
30
  }
24
31
  return value;
25
32
  }
26
- getSessionKey(sessionId, resetKey = false) {
27
- const storageKey = `${this.sessionStorageKeyPrefix}${sessionId}`;
33
+ getSessionKey(sessionId, resetKey = false, scope) {
34
+ const normalizedScope = scope != null && String(scope).trim() !== '' ? String(scope).trim() : '';
35
+ const storageKey = `${this.sessionStorageKeyPrefix}${sessionId}${normalizedScope ? `_${normalizedScope}` : ''}`;
28
36
  let value = localStorage.getItem(storageKey);
29
37
  if (!value || resetKey) {
30
38
  value = this.generateKey();
@@ -46,4 +54,4 @@ ConversationService.decorators = [
46
54
  },] }
47
55
  ];
48
56
  ConversationService.ctorParameters = () => [];
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL3JvaGl0dGhha3VyL2hpdmUtZ3B0L0hpdmVBSS1QYWNrYWdlcy9Bbmd1bGFyL3Byb2plY3RzL2hpdmVncHQvZXZlbnRzZ3B0LWFuZ3VsYXIvc3JjLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvY29udmVyc2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUszQyxNQUFNLE9BQU8sbUJBQW1CO0lBTTlCO1FBTFEsaUNBQTRCLEdBQUcsa0JBQWtCLENBQUM7UUFDbEQsNEJBQXVCLEdBQUcsYUFBYSxDQUFDO1FBRXhDLDZCQUF3QixHQUFpQixJQUFJLE9BQU8sRUFBTyxDQUFDO0lBRXBELENBQUM7SUFFakIsV0FBVztRQUNULE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdkUsTUFBTSxTQUFTLEdBQUcsa0JBQWtCLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUU7WUFDeEQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDckQsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLFNBQVMsR0FBRyxTQUFTLENBQUM7SUFDL0IsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFhLEVBQUUsV0FBb0IsS0FBSztRQUM3QyxNQUFNLFVBQVUsR0FBRyxHQUFHLElBQUksQ0FBQyw0QkFBNEIsR0FBRyxLQUFLLEVBQUUsQ0FBQztRQUNsRSxJQUFJLEtBQUssR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRTdDLElBQUksQ0FBQyxLQUFLLElBQUksUUFBUSxFQUFFO1lBQ3RCLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDM0IsWUFBWSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDekM7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxhQUFhLENBQUMsU0FBaUIsRUFBRSxXQUFvQixLQUFLO1FBQ3hELE1BQU0sVUFBVSxHQUFHLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixHQUFHLFNBQVMsRUFBRSxDQUFDO1FBQ2pFLElBQUksS0FBSyxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFN0MsSUFBSSxDQUFDLEtBQUssSUFBSSxRQUFRLEVBQUU7WUFDdEIsS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUMzQixZQUFZLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztTQUN6QztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELHFCQUFxQixDQUFDLE9BQVk7UUFDaEMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsMkJBQTJCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RELENBQUM7Ozs7WUFqREYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQ29udmVyc2F0aW9uU2VydmljZSB7XG4gIHByaXZhdGUgY29udmVyc2F0aW9uU3RvcmFnZUtleVByZWZpeCA9ICdjb252ZXJzYXRpb25LZXlfJztcbiAgcHJpdmF0ZSBzZXNzaW9uU3RvcmFnZUtleVByZWZpeCA9ICdzZXNzaW9uS2V5Xyc7XG5cbiAgcHJpdmF0ZSB1c2VyU3BlY2lmaWNOb3RpZmljYXRpb246IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0PGFueT4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIGdlbmVyYXRlS2V5KCk6IHN0cmluZyB7XG4gICAgY29uc3QgdGltZXN0YW1wID0gTWF0aC5mbG9vcihuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDApLnRvU3RyaW5nKDE2KTtcbiAgICBjb25zdCByYW5kb21IZXggPSAneHh4eHh4eHh4eHh4eHh4eCcucmVwbGFjZSgvW3hdL2csICgpID0+IHtcbiAgICAgIHJldHVybiBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAxNikudG9TdHJpbmcoMTYpO1xuICAgIH0pO1xuICAgIHJldHVybiB0aW1lc3RhbXAgKyByYW5kb21IZXg7XG4gIH1cblxuICBnZXRLZXkoYm90SWQ6IHN0cmluZywgcmVzZXRLZXk6IGJvb2xlYW4gPSBmYWxzZSk6IHN0cmluZyB7XG4gICAgY29uc3Qgc3RvcmFnZUtleSA9IGAke3RoaXMuY29udmVyc2F0aW9uU3RvcmFnZUtleVByZWZpeH0ke2JvdElkfWA7XG4gICAgbGV0IHZhbHVlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oc3RvcmFnZUtleSk7XG5cbiAgICBpZiAoIXZhbHVlIHx8IHJlc2V0S2V5KSB7XG4gICAgICB2YWx1ZSA9IHRoaXMuZ2VuZXJhdGVLZXkoKTtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHN0b3JhZ2VLZXksIHZhbHVlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBnZXRTZXNzaW9uS2V5KHNlc3Npb25JZDogc3RyaW5nLCByZXNldEtleTogYm9vbGVhbiA9IGZhbHNlKTogc3RyaW5nIHtcbiAgICBjb25zdCBzdG9yYWdlS2V5ID0gYCR7dGhpcy5zZXNzaW9uU3RvcmFnZUtleVByZWZpeH0ke3Nlc3Npb25JZH1gO1xuICAgIGxldCB2YWx1ZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHN0b3JhZ2VLZXkpO1xuXG4gICAgaWYgKCF2YWx1ZSB8fCByZXNldEtleSkge1xuICAgICAgdmFsdWUgPSB0aGlzLmdlbmVyYXRlS2V5KCk7XG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShzdG9yYWdlS2V5LCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgc2VuZFZhbGlkYXRlZFVzZXJEYXRhKG1lc3NhZ2U6IGFueSkge1xuICAgIHRoaXMudXNlclNwZWNpZmljTm90aWZpY2F0aW9uLm5leHQobWVzc2FnZSk7XG4gIH1cblxuICBnZXRVc2VyU3BlY2lmaWNOb3RpZmljYXRpb24oKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy51c2VyU3BlY2lmaWNOb3RpZmljYXRpb24uYXNPYnNlcnZhYmxlKCk7XG4gIH1cbn1cbiJdfQ==
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL3JvaGl0dGhha3VyL2hpdmUtZ3B0L0hpdmVBSS1QYWNrYWdlcy9Bbmd1bGFyL3Byb2plY3RzL2hpdmVncHQvZXZlbnRzZ3B0LWFuZ3VsYXIvc3JjLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvY29udmVyc2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUszQyxNQUFNLE9BQU8sbUJBQW1CO0lBTTlCO1FBTFEsaUNBQTRCLEdBQUcsa0JBQWtCLENBQUM7UUFDbEQsNEJBQXVCLEdBQUcsYUFBYSxDQUFDO1FBRXhDLDZCQUF3QixHQUFpQixJQUFJLE9BQU8sRUFBTyxDQUFDO0lBRXBELENBQUM7SUFFakIsV0FBVztRQUNULE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdkUsTUFBTSxTQUFTLEdBQUcsa0JBQWtCLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUU7WUFDeEQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDckQsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLFNBQVMsR0FBRyxTQUFTLENBQUM7SUFDL0IsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLEtBQWEsRUFBRSxXQUFvQixLQUFLLEVBQUUsS0FBYztRQUM3RCxNQUFNLGVBQWUsR0FDbkIsS0FBSyxJQUFJLElBQUksSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUMzRSxNQUFNLFVBQVUsR0FBRyxHQUFHLElBQUksQ0FBQyw0QkFBNEIsR0FBRyxLQUFLLEdBQzdELGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxlQUFlLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFDNUMsRUFBRSxDQUFDO1FBQ0gsSUFBSSxLQUFLLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUU3QyxJQUFJLENBQUMsS0FBSyxJQUFJLFFBQVEsRUFBRTtZQUN0QixLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzNCLFlBQVksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ3pDO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsYUFBYSxDQUFDLFNBQWlCLEVBQUUsV0FBb0IsS0FBSyxFQUFFLEtBQWM7UUFDeEUsTUFBTSxlQUFlLEdBQ25CLEtBQUssSUFBSSxJQUFJLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDM0UsTUFBTSxVQUFVLEdBQUcsR0FBRyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsU0FBUyxHQUM1RCxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksZUFBZSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQzVDLEVBQUUsQ0FBQztRQUNILElBQUksS0FBSyxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFN0MsSUFBSSxDQUFDLEtBQUssSUFBSSxRQUFRLEVBQUU7WUFDdEIsS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUMzQixZQUFZLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztTQUN6QztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELHFCQUFxQixDQUFDLE9BQVk7UUFDaEMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsMkJBQTJCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RELENBQUM7Ozs7WUEvREYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQ29udmVyc2F0aW9uU2VydmljZSB7XG4gIHByaXZhdGUgY29udmVyc2F0aW9uU3RvcmFnZUtleVByZWZpeCA9ICdjb252ZXJzYXRpb25LZXlfJztcbiAgcHJpdmF0ZSBzZXNzaW9uU3RvcmFnZUtleVByZWZpeCA9ICdzZXNzaW9uS2V5Xyc7XG5cbiAgcHJpdmF0ZSB1c2VyU3BlY2lmaWNOb3RpZmljYXRpb246IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0PGFueT4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIGdlbmVyYXRlS2V5KCk6IHN0cmluZyB7XG4gICAgY29uc3QgdGltZXN0YW1wID0gTWF0aC5mbG9vcihuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDApLnRvU3RyaW5nKDE2KTtcbiAgICBjb25zdCByYW5kb21IZXggPSAneHh4eHh4eHh4eHh4eHh4eCcucmVwbGFjZSgvW3hdL2csICgpID0+IHtcbiAgICAgIHJldHVybiBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAxNikudG9TdHJpbmcoMTYpO1xuICAgIH0pO1xuICAgIHJldHVybiB0aW1lc3RhbXAgKyByYW5kb21IZXg7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIHN0YWJsZSBjb252ZXJzYXRpb24gaWQgcGVyc2lzdGVkIGluIGxvY2FsU3RvcmFnZS5cbiAgICpcbiAgICogSU1QT1JUQU5UOiBjYWxsLXNpdGVzIHNob3VsZCBwYXNzIGFuIGV2ZW50LXNwZWNpZmljIHNjb3BlIHdoZW4gbmVlZGVkIChlLmcuIGV2ZW50SWQpXG4gICAqIHNvIHN3aXRjaGluZyBldmVudHMgZG9lcyBub3QgcmV1c2UgdGhlIHByZXZpb3VzIGV2ZW50J3MgY29udmVyc2F0aW9uIHRocmVhZC5cbiAgICovXG4gIGdldEtleShib3RJZDogc3RyaW5nLCByZXNldEtleTogYm9vbGVhbiA9IGZhbHNlLCBzY29wZT86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3Qgbm9ybWFsaXplZFNjb3BlID1cbiAgICAgIHNjb3BlICE9IG51bGwgJiYgU3RyaW5nKHNjb3BlKS50cmltKCkgIT09ICcnID8gU3RyaW5nKHNjb3BlKS50cmltKCkgOiAnJztcbiAgICBjb25zdCBzdG9yYWdlS2V5ID0gYCR7dGhpcy5jb252ZXJzYXRpb25TdG9yYWdlS2V5UHJlZml4fSR7Ym90SWR9JHtcbiAgICAgIG5vcm1hbGl6ZWRTY29wZSA/IGBfJHtub3JtYWxpemVkU2NvcGV9YCA6ICcnXG4gICAgfWA7XG4gICAgbGV0IHZhbHVlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oc3RvcmFnZUtleSk7XG5cbiAgICBpZiAoIXZhbHVlIHx8IHJlc2V0S2V5KSB7XG4gICAgICB2YWx1ZSA9IHRoaXMuZ2VuZXJhdGVLZXkoKTtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHN0b3JhZ2VLZXksIHZhbHVlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBnZXRTZXNzaW9uS2V5KHNlc3Npb25JZDogc3RyaW5nLCByZXNldEtleTogYm9vbGVhbiA9IGZhbHNlLCBzY29wZT86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3Qgbm9ybWFsaXplZFNjb3BlID1cbiAgICAgIHNjb3BlICE9IG51bGwgJiYgU3RyaW5nKHNjb3BlKS50cmltKCkgIT09ICcnID8gU3RyaW5nKHNjb3BlKS50cmltKCkgOiAnJztcbiAgICBjb25zdCBzdG9yYWdlS2V5ID0gYCR7dGhpcy5zZXNzaW9uU3RvcmFnZUtleVByZWZpeH0ke3Nlc3Npb25JZH0ke1xuICAgICAgbm9ybWFsaXplZFNjb3BlID8gYF8ke25vcm1hbGl6ZWRTY29wZX1gIDogJydcbiAgICB9YDtcbiAgICBsZXQgdmFsdWUgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShzdG9yYWdlS2V5KTtcblxuICAgIGlmICghdmFsdWUgfHwgcmVzZXRLZXkpIHtcbiAgICAgIHZhbHVlID0gdGhpcy5nZW5lcmF0ZUtleSgpO1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oc3RvcmFnZUtleSwgdmFsdWUpO1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIHNlbmRWYWxpZGF0ZWRVc2VyRGF0YShtZXNzYWdlOiBhbnkpIHtcbiAgICB0aGlzLnVzZXJTcGVjaWZpY05vdGlmaWNhdGlvbi5uZXh0KG1lc3NhZ2UpO1xuICB9XG5cbiAgZ2V0VXNlclNwZWNpZmljTm90aWZpY2F0aW9uKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMudXNlclNwZWNpZmljTm90aWZpY2F0aW9uLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG59XG4iXX0=