@hivegpt/hiveai-angular 0.0.587 → 0.0.589

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.
Files changed (65) hide show
  1. package/README.md +0 -26
  2. package/bundles/hivegpt-hiveai-angular.umd.js +538 -3623
  3. package/bundles/hivegpt-hiveai-angular.umd.js.map +1 -1
  4. package/bundles/hivegpt-hiveai-angular.umd.min.js +1 -1
  5. package/bundles/hivegpt-hiveai-angular.umd.min.js.map +1 -1
  6. package/esm2015/hivegpt-hiveai-angular.js +5 -8
  7. package/esm2015/lib/components/NotificationSocket.js +22 -29
  8. package/esm2015/lib/components/bot.service.js +12 -18
  9. package/esm2015/lib/components/chat-drawer/chat-drawer.component.js +214 -2429
  10. package/esm2015/lib/components/chatbot/chatbot.component.js +5 -9
  11. package/esm2015/lib/components/conversation.service.js +5 -13
  12. package/esm2015/lib/components/socket-service.service.js +11 -21
  13. package/esm2015/lib/components/translations/translation.service.js +36 -38
  14. package/esm2015/lib/components/voice-agent/components/voice-agent-modal/voice-agent-modal.component.js +17 -35
  15. package/esm2015/lib/components/voice-agent/services/audio-analyzer.service.js +5 -11
  16. package/esm2015/lib/components/voice-agent/services/voice-agent.service.js +142 -215
  17. package/esm2015/lib/components/voice-agent/voice-agent.module.js +2 -10
  18. package/esm2015/lib/components/voice-agent/voice-modal-tokens.js +1 -1
  19. package/esm2015/lib/models/chat.js +2 -0
  20. package/esm2015/lib/utils/utils.js +2 -4
  21. package/esm2015/public-api.js +3 -2
  22. package/fesm2015/hivegpt-hiveai-angular.js +462 -3389
  23. package/fesm2015/hivegpt-hiveai-angular.js.map +1 -1
  24. package/hivegpt-hiveai-angular.d.ts +4 -7
  25. package/hivegpt-hiveai-angular.d.ts.map +1 -1
  26. package/hivegpt-hiveai-angular.metadata.json +1 -1
  27. package/lib/components/NotificationSocket.d.ts +3 -1
  28. package/lib/components/NotificationSocket.d.ts.map +1 -1
  29. package/lib/components/bot.service.d.ts +2 -1
  30. package/lib/components/bot.service.d.ts.map +1 -1
  31. package/lib/components/chat-drawer/chat-drawer.component.d.ts +52 -285
  32. package/lib/components/chat-drawer/chat-drawer.component.d.ts.map +1 -1
  33. package/lib/components/chatbot/chatbot.component.d.ts +1 -8
  34. package/lib/components/chatbot/chatbot.component.d.ts.map +1 -1
  35. package/lib/components/conversation.service.d.ts +2 -8
  36. package/lib/components/conversation.service.d.ts.map +1 -1
  37. package/lib/components/socket-service.service.d.ts +4 -3
  38. package/lib/components/socket-service.service.d.ts.map +1 -1
  39. package/lib/components/translations/translation.service.d.ts.map +1 -1
  40. package/lib/components/voice-agent/components/voice-agent-modal/voice-agent-modal.component.d.ts +4 -10
  41. package/lib/components/voice-agent/components/voice-agent-modal/voice-agent-modal.component.d.ts.map +1 -1
  42. package/lib/components/voice-agent/services/audio-analyzer.service.d.ts +0 -5
  43. package/lib/components/voice-agent/services/audio-analyzer.service.d.ts.map +1 -1
  44. package/lib/components/voice-agent/services/voice-agent.service.d.ts +9 -34
  45. package/lib/components/voice-agent/services/voice-agent.service.d.ts.map +1 -1
  46. package/lib/components/voice-agent/voice-agent.module.d.ts +0 -4
  47. package/lib/components/voice-agent/voice-agent.module.d.ts.map +1 -1
  48. package/lib/components/voice-agent/voice-modal-tokens.d.ts +0 -4
  49. package/lib/components/voice-agent/voice-modal-tokens.d.ts.map +1 -1
  50. package/lib/models/chat.d.ts +134 -0
  51. package/lib/models/chat.d.ts.map +1 -0
  52. package/lib/utils/utils.d.ts +1 -1
  53. package/lib/utils/utils.d.ts.map +1 -1
  54. package/package.json +2 -4
  55. package/public-api.d.ts +2 -1
  56. package/public-api.d.ts.map +1 -1
  57. package/esm2015/lib/components/voice-agent/services/daily-voice-client.service.js +0 -326
  58. package/esm2015/lib/components/voice-agent/services/websocket-voice-client.service.js +0 -95
  59. package/esm2015/lib/services/platform-token-refresh.service.js +0 -173
  60. package/lib/components/voice-agent/services/daily-voice-client.service.d.ts +0 -70
  61. package/lib/components/voice-agent/services/daily-voice-client.service.d.ts.map +0 -1
  62. package/lib/components/voice-agent/services/websocket-voice-client.service.d.ts +0 -49
  63. package/lib/components/voice-agent/services/websocket-voice-client.service.d.ts.map +0 -1
  64. package/lib/services/platform-token-refresh.service.d.ts +0 -59
  65. package/lib/services/platform-token-refresh.service.d.ts.map +0 -1
@@ -1,7 +1,6 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
1
+ import { Component, Input } from '@angular/core';
2
2
  export class ChatBotComponent {
3
3
  constructor() {
4
- this.tokensRefreshed = new EventEmitter();
5
4
  this.visible = false;
6
5
  }
7
6
  toggle() {
@@ -11,14 +10,12 @@ export class ChatBotComponent {
11
10
  ChatBotComponent.decorators = [
12
11
  { type: Component, args: [{
13
12
  selector: 'hivegpt-chatbot',
14
- template: "<button mat-icon-button class=\"chat-button\" color=\"primary\" (click)=\"toggle()\">\n <mat-icon>chat</mat-icon>\n</button>\n\n<ng-container *ngIf=\"visible\">\n <hivegpt-chat-drawer-package\n [apiKey]=\"apiKey\"\n [bgBubbleAi]=\"bgBubbleAi\"\n [bgBubbleUser]=\"bgBubbleUser\"\n [bgGradient]=\"bgGradient\"\n [botName]=\"botName\"\n [closeButtonbgColor]=\"closeButtonbgColor\"\n [closeButtonColor]=\"closeButtonColor\"\n [credentials]=\"credentials\"\n [dateTextColor]=\"dateTextColor\"\n [dateTimeColor]=\"dateTimeColor\"\n [eventId]=\"eventId\"\n [eventName]=\"eventName\"\n [formFieldBgColor]=\"formFieldBgColor\"\n [formFieldTextColor]=\"formFieldTextColor\"\n [fullView]=\"fullView\"\n [greeting]=\"greeting\"\n [gradientColors]=\"gradientColors\"\n [messageTextColorAi]=\"messageTextColorAi\"\n [messageTextColorUser]=\"messageTextColorUser\"\n [sendButtonColor]=\"sendButtonColor\"\n [sendButtonTextColor]=\"sendButtonTextColor\"\n [showClose]=\"showClose\"\n [thumbsDownMessages]=\"thumbsDownMessages\"\n [thumbsUpMessage]=\"thumbsUpMessage\"\n [unknownResponses]=\"unknownResponses\"\n [useOpenAi]=\"useOpenAi\"\n [userId]=\"userId\"\n [userAvatarUrl]=\"userAvatarUrl\"\n [timezone]=\"timezone\"\n [botId]=\"botId\"\n [s27Token]=\"s27Token\"\n (tokensRefreshed)=\"tokensRefreshed.emit($event)\"\n [workspaceToken]=\"workspaceToken\"\n [isDev]=\"isDev\"\n [baseUrl]=\"baseUrl\"\n >\n </hivegpt-chat-drawer-package>\n</ng-container>\n",
13
+ template: "<button mat-icon-button class=\"chat-button\" color=\"primary\" (click)=\"toggle()\">\n <mat-icon>chat</mat-icon>\n</button>\n\n<ng-container *ngIf=\"visible\">\n <hivegpt-chat-drawer-package\n [apiKey]=\"apiKey\"\n [bgBubbleAi]=\"bgBubbleAi\"\n [bgBubbleUser]=\"bgBubbleUser\"\n [bgGradient]=\"bgGradient\"\n [botName]=\"botName\"\n [closeButtonbgColor]=\"closeButtonbgColor\"\n [closeButtonColor]=\"closeButtonColor\"\n [credentials]=\"credentials\"\n [dateTextColor]=\"dateTextColor\"\n [dateTimeColor]=\"dateTimeColor\"\n [eventId]=\"eventId\"\n [eventName]=\"eventName\"\n [formFieldBgColor]=\"formFieldBgColor\"\n [formFieldTextColor]=\"formFieldTextColor\"\n [fullView]=\"fullView\"\n [greeting]=\"greeting\"\n [gradientColors]=\"gradientColors\"\n [messageTextColorAi]=\"messageTextColorAi\"\n [messageTextColorUser]=\"messageTextColorUser\"\n [sendButtonColor]=\"sendButtonColor\"\n [sendButtonTextColor]=\"sendButtonTextColor\"\n [showClose]=\"showClose\"\n [thumbsDownMessages]=\"thumbsDownMessages\"\n [thumbsUpMessage]=\"thumbsUpMessage\"\n [unknownResponses]=\"unknownResponses\"\n [useOpenAi]=\"useOpenAi\"\n [userId]=\"userId\"\n [botId]=\"botId\"\n [s27Token]=\"s27Token\"\n [workspaceToken]=\"workspaceToken\"\n [isDev]=\"isDev\"\n >\n </hivegpt-chat-drawer-package>\n</ng-container>\n",
15
14
  styles: ["::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb,::-webkit-scrollbar-thumb:hover{background:#e5ccbc}.spinner{align-items:center;display:flex;gap:2px;justify-content:center}.spinner>div{animation:bouncedelay 1.4s ease-in-out infinite;animation-fill-mode:both;background-color:#173330;border-radius:100%;display:inline-block;height:5px;width:5px}.spinner .bounce1{animation-delay:-.32s}.spinner .bounce2{animation-delay:-.16s}@keyframes bouncedelay{0%,80%,to{-webkit-transform:scale(0);transform:scale(0)}40%{-webkit-transform:scale(1);transform:scale(1)}}.chat-button{align-items:center;background:#17235b;border:#17235b;border-radius:50%;bottom:20px;color:#fff;display:inline-flex;font-size:24px;height:50px;justify-content:center;position:fixed;right:20px;width:50px}"]
16
15
  },] }
17
16
  ];
18
17
  ChatBotComponent.propDecorators = {
19
18
  userId: [{ type: Input }],
20
- userAvatarUrl: [{ type: Input }],
21
- timezone: [{ type: Input }],
22
19
  apiKey: [{ type: Input }],
23
20
  botName: [{ type: Input }],
24
21
  botSkills: [{ type: Input }],
@@ -43,15 +40,14 @@ ChatBotComponent.propDecorators = {
43
40
  formFieldTextColor: [{ type: Input }],
44
41
  thumbsUpMessage: [{ type: Input }],
45
42
  thumbsDownMessages: [{ type: Input }],
43
+ timezone: [{ type: Input }],
46
44
  eventName: [{ type: Input }],
47
45
  credentials: [{ type: Input }],
48
46
  unknownResponses: [{ type: Input }],
49
47
  rules: [{ type: Input }],
50
48
  eventId: [{ type: Input }],
51
49
  s27Token: [{ type: Input }],
52
- tokensRefreshed: [{ type: Output }],
53
50
  workspaceToken: [{ type: Input }],
54
- isDev: [{ type: Input }],
55
- baseUrl: [{ type: Input }]
51
+ isDev: [{ type: Input }]
56
52
  };
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdGJvdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL3JvaGl0dGhha3VyL2hpdmUtZ3B0L0hpdmVBSS1QYWNrYWdlcy9Bbmd1bGFyL3Byb2plY3RzL2hpdmVncHQvZXZlbnRzZ3B0LWFuZ3VsYXIvc3JjLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvY2hhdGJvdC9jaGF0Ym90LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBT3ZFLE1BQU0sT0FBTyxnQkFBZ0I7SUFMN0I7UUF5Q1ksb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBS3BELFlBQU8sR0FBRyxLQUFLLENBQUM7SUFLbEIsQ0FBQztJQUhDLE1BQU07UUFDSixJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUMvQixDQUFDOzs7WUFsREYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxpQkFBaUI7Z0JBQzNCLHE5Q0FBdUM7O2FBRXhDOzs7cUJBRUUsS0FBSzs0QkFFTCxLQUFLO3VCQUVMLEtBQUs7cUJBQ0wsS0FBSztzQkFDTCxLQUFLO3dCQUNMLEtBQUs7b0JBQ0wsS0FBSzsrQkFDTCxLQUFLOzZCQUNMLEtBQUs7dUJBQ0wsS0FBSzs4QkFDTCxLQUFLO3dCQUNMLEtBQUs7d0JBQ0wsS0FBSzt5QkFDTCxLQUFLO2tDQUNMLEtBQUs7dUJBQ0wsS0FBSzt5QkFDTCxLQUFLOzJCQUNMLEtBQUs7aUNBQ0wsS0FBSztpQ0FDTCxLQUFLO21DQUNMLEtBQUs7NEJBQ0wsS0FBSzs0QkFDTCxLQUFLOytCQUNMLEtBQUs7aUNBQ0wsS0FBSzs4QkFDTCxLQUFLO2lDQUNMLEtBQUs7d0JBQ0wsS0FBSzswQkFDTCxLQUFLOytCQUNMLEtBQUs7b0JBQ0wsS0FBSztzQkFDTCxLQUFLO3VCQUNMLEtBQUs7OEJBQ0wsTUFBTTs2QkFDTixLQUFLO29CQUNMLEtBQUs7c0JBRUwsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2hpdmVncHQtY2hhdGJvdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGF0Ym90LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2hhdGJvdC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBDaGF0Qm90Q29tcG9uZW50IHtcbiAgQElucHV0KCkgdXNlcklkITogc3RyaW5nO1xuICAvKiogT3B0aW9uYWwgdXNlciBwcm9maWxlIGltYWdlIFVSTDsgaWYgbm90IHNldCwgdXNlciBpbml0aWFscyBhcmUgc2hvd24gaW4gY2hhdC4gKi9cbiAgQElucHV0KCkgdXNlckF2YXRhclVybD86IHN0cmluZztcbiAgLyoqIFVzZXIncyBzZWxlY3RlZCB0aW1lem9uZSAoZS5nLiAnQW1lcmljYS9OZXdfWW9yaycpOyB1c2VkIGZvciBjaGF0IHRpbWVzdGFtcHMgYW5kIHNlc3Npb24gY2FyZCB0aW1lcy4gKi9cbiAgQElucHV0KCkgdGltZXpvbmUhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGFwaUtleSE6IHN0cmluZztcbiAgQElucHV0KCkgYm90TmFtZSE6IHN0cmluZztcbiAgQElucHV0KCkgYm90U2tpbGxzITogc3RyaW5nO1xuICBASW5wdXQoKSBib3RJZCE6IHN0cmluZztcbiAgQElucHV0KCkgY2xvc2VCdXR0b25Db2xvciE6IHN0cmluZztcbiAgQElucHV0KCkgZ3JhZGllbnRDb2xvcnMhOiBzdHJpbmdbXTtcbiAgQElucHV0KCkgZ3JlZXRpbmchOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNlbmRCdXR0b25Db2xvciE6IHN0cmluZztcbiAgQElucHV0KCkgdXNlT3BlbkFpITogYm9vbGVhbjtcbiAgQElucHV0KCkgc2hvd0Nsb3NlITogYm9vbGVhbjtcbiAgQElucHV0KCkgYmdHcmFkaWVudCE6IHN0cmluZ1tdO1xuICBASW5wdXQoKSBzZW5kQnV0dG9uVGV4dENvbG9yITogc3RyaW5nO1xuICBASW5wdXQoKSBmdWxsVmlldyE6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGJnQnViYmxlQWkhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGJnQnViYmxlVXNlciE6IHN0cmluZztcbiAgQElucHV0KCkgY2xvc2VCdXR0b25iZ0NvbG9yITogc3RyaW5nO1xuICBASW5wdXQoKSBtZXNzYWdlVGV4dENvbG9yQWkhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIG1lc3NhZ2VUZXh0Q29sb3JVc2VyITogc3RyaW5nO1xuICBASW5wdXQoKSBkYXRlVGltZUNvbG9yITogc3RyaW5nO1xuICBASW5wdXQoKSBkYXRlVGV4dENvbG9yITogc3RyaW5nO1xuICBASW5wdXQoKSBmb3JtRmllbGRCZ0NvbG9yITogc3RyaW5nO1xuICBASW5wdXQoKSBmb3JtRmllbGRUZXh0Q29sb3IhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHRodW1ic1VwTWVzc2FnZSE6IHN0cmluZztcbiAgQElucHV0KCkgdGh1bWJzRG93bk1lc3NhZ2VzITogc3RyaW5nW107XG4gIEBJbnB1dCgpIGV2ZW50TmFtZSE6IHN0cmluZztcbiAgQElucHV0KCkgY3JlZGVudGlhbHMhOiBbXTtcbiAgQElucHV0KCkgdW5rbm93blJlc3BvbnNlcyE6IFtdO1xuICBASW5wdXQoKSBydWxlcyE6IHN0cmluZztcbiAgQElucHV0KCkgZXZlbnRJZCE6IHN0cmluZztcbiAgQElucHV0KCkgczI3VG9rZW4hOiBzdHJpbmc7XG4gIEBPdXRwdXQoKSB0b2tlbnNSZWZyZXNoZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQElucHV0KCkgd29ya3NwYWNlVG9rZW4hOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGlzRGV2ITogYm9vbGVhbjtcbiAgLyoqIE9wdGlvbmFsIEFQSSBiYXNlIFVSTCAoZS5nLiBuZ3JvaykuIFdoZW4gc2V0LCBjaGF0L3ZvaWNlIHVzZSB0aGlzIGluc3RlYWQgb2YgZGV2L3Byb2QgZGVmYXVsdC4gKi9cbiAgQElucHV0KCkgYmFzZVVybD86IHN0cmluZztcbiAgdmlzaWJsZSA9IGZhbHNlO1xuXG4gIHRvZ2dsZSgpIHtcbiAgICB0aGlzLnZpc2libGUgPSAhdGhpcy52aXNpYmxlO1xuICB9XG59XG4iXX0=
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdGJvdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL3JvaGl0dGhha3VyL2hpdmUtZ3B0L0hpdmVBSS1QYWNrYWdlcy9Bbmd1bGFyL3Byb2plY3RzL2hpdmVncHQvZXZlbnRzZ3B0LWFuZ3VsYXIvc3JjLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvY2hhdGJvdC9jaGF0Ym90LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU9qRCxNQUFNLE9BQU8sZ0JBQWdCO0lBTDdCO1FBd0NFLFlBQU8sR0FBRyxLQUFLLENBQUM7SUFLbEIsQ0FBQztJQUhDLE1BQU07UUFDSixJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUMvQixDQUFDOzs7WUE1Q0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxpQkFBaUI7Z0JBQzNCLHMwQ0FBdUM7O2FBRXhDOzs7cUJBRUUsS0FBSztxQkFDTCxLQUFLO3NCQUNMLEtBQUs7d0JBQ0wsS0FBSztvQkFDTCxLQUFLOytCQUNMLEtBQUs7NkJBQ0wsS0FBSzt1QkFDTCxLQUFLOzhCQUNMLEtBQUs7d0JBQ0wsS0FBSzt3QkFDTCxLQUFLO3lCQUNMLEtBQUs7a0NBQ0wsS0FBSzt1QkFDTCxLQUFLO3lCQUNMLEtBQUs7MkJBQ0wsS0FBSztpQ0FDTCxLQUFLO2lDQUNMLEtBQUs7bUNBQ0wsS0FBSzs0QkFDTCxLQUFLOzRCQUNMLEtBQUs7K0JBQ0wsS0FBSztpQ0FDTCxLQUFLOzhCQUNMLEtBQUs7aUNBQ0wsS0FBSzt1QkFDTCxLQUFLO3dCQUNMLEtBQUs7MEJBQ0wsS0FBSzsrQkFDTCxLQUFLO29CQUNMLEtBQUs7c0JBQ0wsS0FBSzt1QkFDTCxLQUFLOzZCQUNMLEtBQUs7b0JBQ0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaGl2ZWdwdC1jaGF0Ym90JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NoYXRib3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jaGF0Ym90LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENoYXRCb3RDb21wb25lbnQge1xuICBASW5wdXQoKSB1c2VySWQhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGFwaUtleSE6IHN0cmluZztcbiAgQElucHV0KCkgYm90TmFtZSE6IHN0cmluZztcbiAgQElucHV0KCkgYm90U2tpbGxzITogc3RyaW5nO1xuICBASW5wdXQoKSBib3RJZCE6IHN0cmluZztcbiAgQElucHV0KCkgY2xvc2VCdXR0b25Db2xvciE6IHN0cmluZztcbiAgQElucHV0KCkgZ3JhZGllbnRDb2xvcnMhOiBzdHJpbmdbXTtcbiAgQElucHV0KCkgZ3JlZXRpbmchOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNlbmRCdXR0b25Db2xvciE6IHN0cmluZztcbiAgQElucHV0KCkgdXNlT3BlbkFpITogYm9vbGVhbjtcbiAgQElucHV0KCkgc2hvd0Nsb3NlITogYm9vbGVhbjtcbiAgQElucHV0KCkgYmdHcmFkaWVudCE6IHN0cmluZ1tdO1xuICBASW5wdXQoKSBzZW5kQnV0dG9uVGV4dENvbG9yITogc3RyaW5nO1xuICBASW5wdXQoKSBmdWxsVmlldyE6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGJnQnViYmxlQWkhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGJnQnViYmxlVXNlciE6IHN0cmluZztcbiAgQElucHV0KCkgY2xvc2VCdXR0b25iZ0NvbG9yITogc3RyaW5nO1xuICBASW5wdXQoKSBtZXNzYWdlVGV4dENvbG9yQWkhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIG1lc3NhZ2VUZXh0Q29sb3JVc2VyITogc3RyaW5nO1xuICBASW5wdXQoKSBkYXRlVGltZUNvbG9yITogc3RyaW5nO1xuICBASW5wdXQoKSBkYXRlVGV4dENvbG9yITogc3RyaW5nO1xuICBASW5wdXQoKSBmb3JtRmllbGRCZ0NvbG9yITogc3RyaW5nO1xuICBASW5wdXQoKSBmb3JtRmllbGRUZXh0Q29sb3IhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHRodW1ic1VwTWVzc2FnZSE6IHN0cmluZztcbiAgQElucHV0KCkgdGh1bWJzRG93bk1lc3NhZ2VzITogc3RyaW5nW107XG4gIEBJbnB1dCgpIHRpbWV6b25lITogc3RyaW5nO1xuICBASW5wdXQoKSBldmVudE5hbWUhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNyZWRlbnRpYWxzITogW107XG4gIEBJbnB1dCgpIHVua25vd25SZXNwb25zZXMhOiBbXTtcbiAgQElucHV0KCkgcnVsZXMhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGV2ZW50SWQhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHMyN1Rva2VuITogc3RyaW5nO1xuICBASW5wdXQoKSB3b3Jrc3BhY2VUb2tlbiE6IHN0cmluZztcbiAgQElucHV0KCkgaXNEZXYhOiBib29sZWFuO1xuICB2aXNpYmxlID0gZmFsc2U7XG5cbiAgdG9nZ2xlKCkge1xuICAgIHRoaXMudmlzaWJsZSA9ICF0aGlzLnZpc2libGU7XG4gIH1cbn1cbiJdfQ==
@@ -14,15 +14,8 @@ export class ConversationService {
14
14
  });
15
15
  return timestamp + randomHex;
16
16
  }
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}` : ''}`;
17
+ getKey(botId, resetKey = false) {
18
+ const storageKey = `${this.conversationStorageKeyPrefix}${botId}`;
26
19
  let value = localStorage.getItem(storageKey);
27
20
  if (!value || resetKey) {
28
21
  value = this.generateKey();
@@ -30,9 +23,8 @@ export class ConversationService {
30
23
  }
31
24
  return value;
32
25
  }
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}` : ''}`;
26
+ getSessionKey(sessionId, resetKey = false) {
27
+ const storageKey = `${this.sessionStorageKeyPrefix}${sessionId}`;
36
28
  let value = localStorage.getItem(storageKey);
37
29
  if (!value || resetKey) {
38
30
  value = this.generateKey();
@@ -54,4 +46,4 @@ ConversationService.decorators = [
54
46
  },] }
55
47
  ];
56
48
  ConversationService.ctorParameters = () => [];
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL3JvaGl0dGhha3VyL2hpdmUtZ3B0L0hpdmVBSS1QYWNrYWdlcy9Bbmd1bGFyL3Byb2plY3RzL2hpdmVncHQvZXZlbnRzZ3B0LWFuZ3VsYXIvc3JjLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvY29udmVyc2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUszQyxNQUFNLE9BQU8sbUJBQW1CO0lBTTlCO1FBTFEsaUNBQTRCLEdBQUcsa0JBQWtCLENBQUM7UUFDbEQsNEJBQXVCLEdBQUcsYUFBYSxDQUFDO1FBRXhDLDZCQUF3QixHQUFpQixJQUFJLE9BQU8sRUFBTyxDQUFDO0lBRXBELENBQUM7SUFFakIsV0FBVztRQUNULE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdkUsTUFBTSxTQUFTLEdBQUcsa0JBQWtCLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUU7WUFDeEQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDckQsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLFNBQVMsR0FBRyxTQUFTLENBQUM7SUFDL0IsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLEtBQWEsRUFBRSxXQUFvQixLQUFLLEVBQUUsS0FBYztRQUM3RCxNQUFNLGVBQWUsR0FDbkIsS0FBSyxJQUFJLElBQUksSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUMzRSxNQUFNLFVBQVUsR0FBRyxHQUFHLElBQUksQ0FBQyw0QkFBNEIsR0FBRyxLQUFLLEdBQzdELGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxlQUFlLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFDNUMsRUFBRSxDQUFDO1FBQ0gsSUFBSSxLQUFLLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUU3QyxJQUFJLENBQUMsS0FBSyxJQUFJLFFBQVEsRUFBRTtZQUN0QixLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzNCLFlBQVksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ3pDO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsYUFBYSxDQUFDLFNBQWlCLEVBQUUsV0FBb0IsS0FBSyxFQUFFLEtBQWM7UUFDeEUsTUFBTSxlQUFlLEdBQ25CLEtBQUssSUFBSSxJQUFJLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDM0UsTUFBTSxVQUFVLEdBQUcsR0FBRyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsU0FBUyxHQUM1RCxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksZUFBZSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQzVDLEVBQUUsQ0FBQztRQUNILElBQUksS0FBSyxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFN0MsSUFBSSxDQUFDLEtBQUssSUFBSSxRQUFRLEVBQUU7WUFDdEIsS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUMzQixZQUFZLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztTQUN6QztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELHFCQUFxQixDQUFDLE9BQVk7UUFDaEMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsMkJBQTJCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RELENBQUM7Ozs7WUEvREYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQ29udmVyc2F0aW9uU2VydmljZSB7XG4gIHByaXZhdGUgY29udmVyc2F0aW9uU3RvcmFnZUtleVByZWZpeCA9ICdjb252ZXJzYXRpb25LZXlfJztcbiAgcHJpdmF0ZSBzZXNzaW9uU3RvcmFnZUtleVByZWZpeCA9ICdzZXNzaW9uS2V5Xyc7XG5cbiAgcHJpdmF0ZSB1c2VyU3BlY2lmaWNOb3RpZmljYXRpb246IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0PGFueT4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIGdlbmVyYXRlS2V5KCk6IHN0cmluZyB7XG4gICAgY29uc3QgdGltZXN0YW1wID0gTWF0aC5mbG9vcihuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDApLnRvU3RyaW5nKDE2KTtcbiAgICBjb25zdCByYW5kb21IZXggPSAneHh4eHh4eHh4eHh4eHh4eCcucmVwbGFjZSgvW3hdL2csICgpID0+IHtcbiAgICAgIHJldHVybiBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAxNikudG9TdHJpbmcoMTYpO1xuICAgIH0pO1xuICAgIHJldHVybiB0aW1lc3RhbXAgKyByYW5kb21IZXg7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIHN0YWJsZSBjb252ZXJzYXRpb24gaWQgcGVyc2lzdGVkIGluIGxvY2FsU3RvcmFnZS5cbiAgICpcbiAgICogSU1QT1JUQU5UOiBjYWxsLXNpdGVzIHNob3VsZCBwYXNzIGFuIGV2ZW50LXNwZWNpZmljIHNjb3BlIHdoZW4gbmVlZGVkIChlLmcuIGV2ZW50SWQpXG4gICAqIHNvIHN3aXRjaGluZyBldmVudHMgZG9lcyBub3QgcmV1c2UgdGhlIHByZXZpb3VzIGV2ZW50J3MgY29udmVyc2F0aW9uIHRocmVhZC5cbiAgICovXG4gIGdldEtleShib3RJZDogc3RyaW5nLCByZXNldEtleTogYm9vbGVhbiA9IGZhbHNlLCBzY29wZT86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3Qgbm9ybWFsaXplZFNjb3BlID1cbiAgICAgIHNjb3BlICE9IG51bGwgJiYgU3RyaW5nKHNjb3BlKS50cmltKCkgIT09ICcnID8gU3RyaW5nKHNjb3BlKS50cmltKCkgOiAnJztcbiAgICBjb25zdCBzdG9yYWdlS2V5ID0gYCR7dGhpcy5jb252ZXJzYXRpb25TdG9yYWdlS2V5UHJlZml4fSR7Ym90SWR9JHtcbiAgICAgIG5vcm1hbGl6ZWRTY29wZSA/IGBfJHtub3JtYWxpemVkU2NvcGV9YCA6ICcnXG4gICAgfWA7XG4gICAgbGV0IHZhbHVlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oc3RvcmFnZUtleSk7XG5cbiAgICBpZiAoIXZhbHVlIHx8IHJlc2V0S2V5KSB7XG4gICAgICB2YWx1ZSA9IHRoaXMuZ2VuZXJhdGVLZXkoKTtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHN0b3JhZ2VLZXksIHZhbHVlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBnZXRTZXNzaW9uS2V5KHNlc3Npb25JZDogc3RyaW5nLCByZXNldEtleTogYm9vbGVhbiA9IGZhbHNlLCBzY29wZT86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3Qgbm9ybWFsaXplZFNjb3BlID1cbiAgICAgIHNjb3BlICE9IG51bGwgJiYgU3RyaW5nKHNjb3BlKS50cmltKCkgIT09ICcnID8gU3RyaW5nKHNjb3BlKS50cmltKCkgOiAnJztcbiAgICBjb25zdCBzdG9yYWdlS2V5ID0gYCR7dGhpcy5zZXNzaW9uU3RvcmFnZUtleVByZWZpeH0ke3Nlc3Npb25JZH0ke1xuICAgICAgbm9ybWFsaXplZFNjb3BlID8gYF8ke25vcm1hbGl6ZWRTY29wZX1gIDogJydcbiAgICB9YDtcbiAgICBsZXQgdmFsdWUgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShzdG9yYWdlS2V5KTtcblxuICAgIGlmICghdmFsdWUgfHwgcmVzZXRLZXkpIHtcbiAgICAgIHZhbHVlID0gdGhpcy5nZW5lcmF0ZUtleSgpO1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oc3RvcmFnZUtleSwgdmFsdWUpO1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIHNlbmRWYWxpZGF0ZWRVc2VyRGF0YShtZXNzYWdlOiBhbnkpIHtcbiAgICB0aGlzLnVzZXJTcGVjaWZpY05vdGlmaWNhdGlvbi5uZXh0KG1lc3NhZ2UpO1xuICB9XG5cbiAgZ2V0VXNlclNwZWNpZmljTm90aWZpY2F0aW9uKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMudXNlclNwZWNpZmljTm90aWZpY2F0aW9uLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG59XG4iXX0=
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL3JvaGl0dGhha3VyL2hpdmUtZ3B0L0hpdmVBSS1QYWNrYWdlcy9Bbmd1bGFyL3Byb2plY3RzL2hpdmVncHQvZXZlbnRzZ3B0LWFuZ3VsYXIvc3JjLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvY29udmVyc2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUszQyxNQUFNLE9BQU8sbUJBQW1CO0lBTTlCO1FBTFEsaUNBQTRCLEdBQUcsa0JBQWtCLENBQUM7UUFDbEQsNEJBQXVCLEdBQUcsYUFBYSxDQUFDO1FBRXhDLDZCQUF3QixHQUFpQixJQUFJLE9BQU8sRUFBTyxDQUFDO0lBRXBELENBQUM7SUFFakIsV0FBVztRQUNULE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdkUsTUFBTSxTQUFTLEdBQUcsa0JBQWtCLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUU7WUFDeEQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDckQsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLFNBQVMsR0FBRyxTQUFTLENBQUM7SUFDL0IsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFhLEVBQUUsV0FBb0IsS0FBSztRQUM3QyxNQUFNLFVBQVUsR0FBRyxHQUFHLElBQUksQ0FBQyw0QkFBNEIsR0FBRyxLQUFLLEVBQUUsQ0FBQztRQUNsRSxJQUFJLEtBQUssR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRTdDLElBQUksQ0FBQyxLQUFLLElBQUksUUFBUSxFQUFFO1lBQ3RCLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDM0IsWUFBWSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDekM7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxhQUFhLENBQUMsU0FBaUIsRUFBRSxXQUFvQixLQUFLO1FBQ3hELE1BQU0sVUFBVSxHQUFHLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixHQUFHLFNBQVMsRUFBRSxDQUFDO1FBQ2pFLElBQUksS0FBSyxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFN0MsSUFBSSxDQUFDLEtBQUssSUFBSSxRQUFRLEVBQUU7WUFDdEIsS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUMzQixZQUFZLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztTQUN6QztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELHFCQUFxQixDQUFDLE9BQVk7UUFDaEMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsMkJBQTJCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RELENBQUM7Ozs7WUFqREYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQ29udmVyc2F0aW9uU2VydmljZSB7XG4gIHByaXZhdGUgY29udmVyc2F0aW9uU3RvcmFnZUtleVByZWZpeCA9ICdjb252ZXJzYXRpb25LZXlfJztcbiAgcHJpdmF0ZSBzZXNzaW9uU3RvcmFnZUtleVByZWZpeCA9ICdzZXNzaW9uS2V5Xyc7XG5cbiAgcHJpdmF0ZSB1c2VyU3BlY2lmaWNOb3RpZmljYXRpb246IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0PGFueT4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIGdlbmVyYXRlS2V5KCk6IHN0cmluZyB7XG4gICAgY29uc3QgdGltZXN0YW1wID0gTWF0aC5mbG9vcihuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDApLnRvU3RyaW5nKDE2KTtcbiAgICBjb25zdCByYW5kb21IZXggPSAneHh4eHh4eHh4eHh4eHh4eCcucmVwbGFjZSgvW3hdL2csICgpID0+IHtcbiAgICAgIHJldHVybiBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAxNikudG9TdHJpbmcoMTYpO1xuICAgIH0pO1xuICAgIHJldHVybiB0aW1lc3RhbXAgKyByYW5kb21IZXg7XG4gIH1cblxuICBnZXRLZXkoYm90SWQ6IHN0cmluZywgcmVzZXRLZXk6IGJvb2xlYW4gPSBmYWxzZSk6IHN0cmluZyB7XG4gICAgY29uc3Qgc3RvcmFnZUtleSA9IGAke3RoaXMuY29udmVyc2F0aW9uU3RvcmFnZUtleVByZWZpeH0ke2JvdElkfWA7XG4gICAgbGV0IHZhbHVlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oc3RvcmFnZUtleSk7XG5cbiAgICBpZiAoIXZhbHVlIHx8IHJlc2V0S2V5KSB7XG4gICAgICB2YWx1ZSA9IHRoaXMuZ2VuZXJhdGVLZXkoKTtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHN0b3JhZ2VLZXksIHZhbHVlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBnZXRTZXNzaW9uS2V5KHNlc3Npb25JZDogc3RyaW5nLCByZXNldEtleTogYm9vbGVhbiA9IGZhbHNlKTogc3RyaW5nIHtcbiAgICBjb25zdCBzdG9yYWdlS2V5ID0gYCR7dGhpcy5zZXNzaW9uU3RvcmFnZUtleVByZWZpeH0ke3Nlc3Npb25JZH1gO1xuICAgIGxldCB2YWx1ZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHN0b3JhZ2VLZXkpO1xuXG4gICAgaWYgKCF2YWx1ZSB8fCByZXNldEtleSkge1xuICAgICAgdmFsdWUgPSB0aGlzLmdlbmVyYXRlS2V5KCk7XG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShzdG9yYWdlS2V5LCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgc2VuZFZhbGlkYXRlZFVzZXJEYXRhKG1lc3NhZ2U6IGFueSkge1xuICAgIHRoaXMudXNlclNwZWNpZmljTm90aWZpY2F0aW9uLm5leHQobWVzc2FnZSk7XG4gIH1cblxuICBnZXRVc2VyU3BlY2lmaWNOb3RpZmljYXRpb24oKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy51c2VyU3BlY2lmaWNOb3RpZmljYXRpb24uYXNPYnNlcnZhYmxlKCk7XG4gIH1cbn1cbiJdfQ==
@@ -13,9 +13,15 @@ export class SocketService {
13
13
  this.isUserSpecificEventReleased = true;
14
14
  this.messageQueue = [];
15
15
  this.releaseInterval = 1000;
16
- this.intervalSetup = false;
16
+ this.releaseIntervalId = null;
17
17
  this.startReleasingMessages();
18
18
  }
19
+ ngOnDestroy() {
20
+ if (this.releaseIntervalId) {
21
+ clearInterval(this.releaseIntervalId);
22
+ this.releaseIntervalId = null;
23
+ }
24
+ }
19
25
  isSocketInitialized(isCommon) {
20
26
  return isCommon
21
27
  ? this.isCommonSocketInitialized
@@ -32,37 +38,21 @@ export class SocketService {
32
38
  const commonNotification = 'commonNotification';
33
39
  const groupId = `Hive_AI_Notifs_${botId}_${conversation_id}`;
34
40
  const groupId_org = `Hive_AI_Notifs_${org_id}`;
35
- // Remove any pre-existing listeners for commonNotification
36
- // this.notificationSocket.removeAllListeners(commonNotification);
37
- // Join the group again with updated botId and conversation_id
38
41
  this.notificationSocket.emit('joinData', { groupId });
39
42
  this.notificationSocket.emit('joinData', { groupId: groupId_org });
40
- // Re-register for common notifications
41
43
  this.notificationSocket.fromEvent(commonNotification).subscribe((res) => {
42
- var _a, _b, _c, _d, _e, _f, _g;
43
- console.log('[Socket Chat] Received commonNotification', {
44
- hasOtherFields: !!((_a = res === null || res === void 0 ? void 0 : res.m) === null || _a === void 0 ? void 0 : _a.OtherFields),
45
- messageId: (_c = (_b = res === null || res === void 0 ? void 0 : res.m) === null || _b === void 0 ? void 0 : _b.OtherFields) === null || _c === void 0 ? void 0 : _c.message_id,
46
- hasAnswer: !!((_e = (_d = res === null || res === void 0 ? void 0 : res.m) === null || _d === void 0 ? void 0 : _d.OtherFields) === null || _e === void 0 ? void 0 : _e.answer),
47
- isWorkflow: !!((_g = (_f = res === null || res === void 0 ? void 0 : res.m) === null || _f === void 0 ? void 0 : _f.OtherFields) === null || _g === void 0 ? void 0 : _g.workflow_id),
48
- raw: res,
49
- });
50
44
  this.conversationService.sendValidatedUserData(res);
51
45
  }, (error) => {
52
46
  console.error('Error receiving commonNotification:', error);
53
47
  });
54
48
  }
55
49
  startReleasingMessages() {
56
- if (!this.intervalSetup) {
57
- setInterval(() => {
50
+ if (!this.releaseIntervalId) {
51
+ this.releaseIntervalId = setInterval(() => {
58
52
  if (this.messageQueue.length > 0) {
59
- const message = this.messageQueue.shift(); // Remove the first message from the queue
60
- // Handle the message here, e.g., send it to the server or process it
61
- console.log('Releasing message from queue:', message);
62
- // this.campaignService.sendValidatedUserData(message);
53
+ this.messageQueue.shift();
63
54
  }
64
55
  }, this.releaseInterval);
65
- this.intervalSetup = true; // Prevents multiple intervals
66
56
  }
67
57
  }
68
58
  }
@@ -76,4 +66,4 @@ SocketService.ctorParameters = () => [
76
66
  { type: ConversationService },
77
67
  { type: NotificationSocket }
78
68
  ];
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ja2V0LXNlcnZpY2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIvVXNlcnMvcm9oaXR0aGFrdXIvaGl2ZS1ncHQvSGl2ZUFJLVBhY2thZ2VzL0FuZ3VsYXIvcHJvamVjdHMvaGl2ZWdwdC9ldmVudHNncHQtYW5ndWxhci9zcmMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9zb2NrZXQtc2VydmljZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJM0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7QUFLMUQsTUFBTSxPQUFPLGFBQWE7SUFTeEIsWUFDVSxtQkFBd0MsRUFDeEMsa0JBQXNDO1FBRHRDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQVR4Qyw4QkFBeUIsR0FBRyxLQUFLLENBQUM7UUFDbEMsb0NBQStCLEdBQUcsS0FBSyxDQUFDO1FBQ3hDLGdDQUEyQixHQUFHLElBQUksQ0FBQztRQUNuQyxpQkFBWSxHQUFVLEVBQUUsQ0FBQztRQUN6QixvQkFBZSxHQUFHLElBQUksQ0FBQztRQUN2QixrQkFBYSxHQUFZLEtBQUssQ0FBQztRQU1yQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsbUJBQW1CLENBQUMsUUFBaUI7UUFDbkMsT0FBTyxRQUFRO1lBQ2IsQ0FBQyxDQUFDLElBQUksQ0FBQyx5QkFBeUI7WUFDaEMsQ0FBQyxDQUFDLElBQUksQ0FBQywrQkFBK0I7Z0JBQ3RDLENBQUMsSUFBSSxDQUFDLDJCQUEyQixDQUFDO0lBQ3RDLENBQUM7SUFFRCwwQkFBMEI7UUFDeEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFDRCx1QkFBdUI7UUFDckIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFDRCw4QkFBOEIsQ0FBQyxLQUFhLEVBQUUsZUFBdUIsRUFBRSxNQUFjO1FBQ25GLE1BQU0sa0JBQWtCLEdBQUcsb0JBQW9CLENBQUM7UUFDaEQsTUFBTSxPQUFPLEdBQUcsa0JBQWtCLEtBQUssSUFBSSxlQUFlLEVBQUUsQ0FBQztRQUM3RCxNQUFNLFdBQVcsR0FBRyxrQkFBa0IsTUFBTSxFQUFFLENBQUM7UUFFL0MsMkRBQTJEO1FBQzNELGtFQUFrRTtRQUVsRSw4REFBOEQ7UUFDOUQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFFbkUsdUNBQXVDO1FBQ3ZDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxTQUFTLENBQzdELENBQUMsR0FBUSxFQUFFLEVBQUU7O1lBQ1gsT0FBTyxDQUFDLEdBQUcsQ0FBQywyQ0FBMkMsRUFBRTtnQkFDdkQsY0FBYyxFQUFFLENBQUMsQ0FBQyxDQUFBLE1BQUEsR0FBRyxhQUFILEdBQUcsdUJBQUgsR0FBRyxDQUFFLENBQUMsMENBQUUsV0FBVyxDQUFBO2dCQUNyQyxTQUFTLEVBQUUsTUFBQSxNQUFBLEdBQUcsYUFBSCxHQUFHLHVCQUFILEdBQUcsQ0FBRSxDQUFDLDBDQUFFLFdBQVcsMENBQUUsVUFBVTtnQkFDMUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFBLE1BQUEsTUFBQSxHQUFHLGFBQUgsR0FBRyx1QkFBSCxHQUFHLENBQUUsQ0FBQywwQ0FBRSxXQUFXLDBDQUFFLE1BQU0sQ0FBQTtnQkFDeEMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFBLE1BQUEsTUFBQSxHQUFHLGFBQUgsR0FBRyx1QkFBSCxHQUFHLENBQUUsQ0FBQywwQ0FBRSxXQUFXLDBDQUFFLFdBQVcsQ0FBQTtnQkFDOUMsR0FBRyxFQUFFLEdBQUc7YUFDVCxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsbUJBQW1CLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEQsQ0FBQyxFQUNELENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDUixPQUFPLENBQUMsS0FBSyxDQUFDLHFDQUFxQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzlELENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVPLHNCQUFzQjtRQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN2QixXQUFXLENBQUMsR0FBRyxFQUFFO2dCQUNmLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO29CQUFDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQywwQ0FBMEM7b0JBQ3RILHFFQUFxRTtvQkFDckUsT0FBTyxDQUFDLEdBQUcsQ0FBQywrQkFBK0IsRUFBRSxPQUFPLENBQUMsQ0FBQztvQkFDdEQsdURBQXVEO2lCQUN4RDtZQUNILENBQUMsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDekIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsQ0FBQyw4QkFBOEI7U0FDMUQ7SUFDSCxDQUFDOzs7O1lBekVGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBTFEsbUJBQW1CO1lBQ25CLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgd2ViU29ja2V0LCBXZWJTb2NrZXRTdWJqZWN0IH0gZnJvbSAncnhqcy93ZWJTb2NrZXQnO1xuaW1wb3J0IHsgQ29udmVyc2F0aW9uU2VydmljZSB9IGZyb20gJy4vY29udmVyc2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uU29ja2V0IH0gZnJvbSAnLi9Ob3RpZmljYXRpb25Tb2NrZXQnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU29ja2V0U2VydmljZSB7XG4gIHB1YmxpYyB0ZXN0TWVzc2FnZTogc3RyaW5nO1xuICBwcml2YXRlIGlzQ29tbW9uU29ja2V0SW5pdGlhbGl6ZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBpc1VzZXJTcGVjaWZpY1NvY2tldEluaXRpYWxpemVkID0gZmFsc2U7XG4gIHByaXZhdGUgaXNVc2VyU3BlY2lmaWNFdmVudFJlbGVhc2VkID0gdHJ1ZTtcbiAgcHJpdmF0ZSBtZXNzYWdlUXVldWU6IGFueVtdID0gW107XG4gIHByaXZhdGUgcmVsZWFzZUludGVydmFsID0gMTAwMDtcbiAgcHJpdmF0ZSBpbnRlcnZhbFNldHVwOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjb252ZXJzYXRpb25TZXJ2aWNlOiBDb252ZXJzYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgbm90aWZpY2F0aW9uU29ja2V0OiBOb3RpZmljYXRpb25Tb2NrZXRcbiAgKSB7XG4gICAgdGhpcy5zdGFydFJlbGVhc2luZ01lc3NhZ2VzKCk7XG4gIH1cblxuICBpc1NvY2tldEluaXRpYWxpemVkKGlzQ29tbW9uOiBib29sZWFuKSB7XG4gICAgcmV0dXJuIGlzQ29tbW9uXG4gICAgICA/IHRoaXMuaXNDb21tb25Tb2NrZXRJbml0aWFsaXplZFxuICAgICAgOiB0aGlzLmlzVXNlclNwZWNpZmljU29ja2V0SW5pdGlhbGl6ZWQgJiZcbiAgICAgICF0aGlzLmlzVXNlclNwZWNpZmljRXZlbnRSZWxlYXNlZDtcbiAgfVxuXG4gIGRpc2Nvbm5lY3RTb2NrZXRDb25uZWN0aW9uKCkge1xuICAgIHRoaXMubm90aWZpY2F0aW9uU29ja2V0LmRpc2Nvbm5lY3QoKTtcbiAgfVxuICBjb25uZWN0U29ja2V0Q29ubmVjdGlvbigpIHtcbiAgICB0aGlzLm5vdGlmaWNhdGlvblNvY2tldC5jb25uZWN0KCk7XG4gIH1cbiAgcmVnaXN0ZXJVc2VyU3BlY2lmaWNIaXZlU29ja2V0KGJvdElkOiBzdHJpbmcsIGNvbnZlcnNhdGlvbl9pZDogc3RyaW5nLCBvcmdfaWQ6IHN0cmluZykge1xuICAgIGNvbnN0IGNvbW1vbk5vdGlmaWNhdGlvbiA9ICdjb21tb25Ob3RpZmljYXRpb24nO1xuICAgIGNvbnN0IGdyb3VwSWQgPSBgSGl2ZV9BSV9Ob3RpZnNfJHtib3RJZH1fJHtjb252ZXJzYXRpb25faWR9YDtcbiAgICBjb25zdCBncm91cElkX29yZyA9IGBIaXZlX0FJX05vdGlmc18ke29yZ19pZH1gO1xuXG4gICAgLy8gUmVtb3ZlIGFueSBwcmUtZXhpc3RpbmcgbGlzdGVuZXJzIGZvciBjb21tb25Ob3RpZmljYXRpb25cbiAgICAvLyB0aGlzLm5vdGlmaWNhdGlvblNvY2tldC5yZW1vdmVBbGxMaXN0ZW5lcnMoY29tbW9uTm90aWZpY2F0aW9uKTtcblxuICAgIC8vIEpvaW4gdGhlIGdyb3VwIGFnYWluIHdpdGggdXBkYXRlZCBib3RJZCBhbmQgY29udmVyc2F0aW9uX2lkXG4gICAgdGhpcy5ub3RpZmljYXRpb25Tb2NrZXQuZW1pdCgnam9pbkRhdGEnLCB7IGdyb3VwSWQgfSk7XG4gICAgdGhpcy5ub3RpZmljYXRpb25Tb2NrZXQuZW1pdCgnam9pbkRhdGEnLCB7IGdyb3VwSWQ6IGdyb3VwSWRfb3JnIH0pO1xuXG4gICAgLy8gUmUtcmVnaXN0ZXIgZm9yIGNvbW1vbiBub3RpZmljYXRpb25zXG4gICAgdGhpcy5ub3RpZmljYXRpb25Tb2NrZXQuZnJvbUV2ZW50KGNvbW1vbk5vdGlmaWNhdGlvbikuc3Vic2NyaWJlKFxuICAgICAgKHJlczogYW55KSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdbU29ja2V0IENoYXRdIFJlY2VpdmVkIGNvbW1vbk5vdGlmaWNhdGlvbicsIHtcbiAgICAgICAgICBoYXNPdGhlckZpZWxkczogISFyZXM/Lm0/Lk90aGVyRmllbGRzLFxuICAgICAgICAgIG1lc3NhZ2VJZDogcmVzPy5tPy5PdGhlckZpZWxkcz8ubWVzc2FnZV9pZCxcbiAgICAgICAgICBoYXNBbnN3ZXI6ICEhcmVzPy5tPy5PdGhlckZpZWxkcz8uYW5zd2VyLFxuICAgICAgICAgIGlzV29ya2Zsb3c6ICEhcmVzPy5tPy5PdGhlckZpZWxkcz8ud29ya2Zsb3dfaWQsXG4gICAgICAgICAgcmF3OiByZXMsXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNvbnZlcnNhdGlvblNlcnZpY2Uuc2VuZFZhbGlkYXRlZFVzZXJEYXRhKHJlcyk7XG4gICAgICB9LFxuICAgICAgKGVycm9yKSA9PiB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHJlY2VpdmluZyBjb21tb25Ob3RpZmljYXRpb246JywgZXJyb3IpO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHN0YXJ0UmVsZWFzaW5nTWVzc2FnZXMoKSB7XG4gICAgaWYgKCF0aGlzLmludGVydmFsU2V0dXApIHtcbiAgICAgIHNldEludGVydmFsKCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMubWVzc2FnZVF1ZXVlLmxlbmd0aCA+IDApIHtjb25zdCBtZXNzYWdlID0gdGhpcy5tZXNzYWdlUXVldWUuc2hpZnQoKTsgLy8gUmVtb3ZlIHRoZSBmaXJzdCBtZXNzYWdlIGZyb20gdGhlIHF1ZXVlXG4gICAgICAgICAgLy8gSGFuZGxlIHRoZSBtZXNzYWdlIGhlcmUsIGUuZy4sIHNlbmQgaXQgdG8gdGhlIHNlcnZlciBvciBwcm9jZXNzIGl0XG4gICAgICAgICAgY29uc29sZS5sb2coJ1JlbGVhc2luZyBtZXNzYWdlIGZyb20gcXVldWU6JywgbWVzc2FnZSk7XG4gICAgICAgICAgLy8gdGhpcy5jYW1wYWlnblNlcnZpY2Uuc2VuZFZhbGlkYXRlZFVzZXJEYXRhKG1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICB9LCB0aGlzLnJlbGVhc2VJbnRlcnZhbCk7XG4gICAgICB0aGlzLmludGVydmFsU2V0dXAgPSB0cnVlOyAvLyBQcmV2ZW50cyBtdWx0aXBsZSBpbnRlcnZhbHNcbiAgICB9XG4gIH1cbn1cbiJdfQ==
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ja2V0LXNlcnZpY2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIvVXNlcnMvcm9oaXR0aGFrdXIvaGl2ZS1ncHQvSGl2ZUFJLVBhY2thZ2VzL0FuZ3VsYXIvcHJvamVjdHMvaGl2ZWdwdC9ldmVudHNncHQtYW5ndWxhci9zcmMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9zb2NrZXQtc2VydmljZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7QUFLMUQsTUFBTSxPQUFPLGFBQWE7SUFReEIsWUFDVSxtQkFBd0MsRUFDeEMsa0JBQXNDO1FBRHRDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQVR4Qyw4QkFBeUIsR0FBRyxLQUFLLENBQUM7UUFDbEMsb0NBQStCLEdBQUcsS0FBSyxDQUFDO1FBQ3hDLGdDQUEyQixHQUFHLElBQUksQ0FBQztRQUNuQyxpQkFBWSxHQUFVLEVBQUUsQ0FBQztRQUN6QixvQkFBZSxHQUFHLElBQUksQ0FBQztRQUN2QixzQkFBaUIsR0FBMEMsSUFBSSxDQUFDO1FBTXRFLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDMUIsYUFBYSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7U0FDL0I7SUFDSCxDQUFDO0lBRUQsbUJBQW1CLENBQUMsUUFBaUI7UUFDbkMsT0FBTyxRQUFRO1lBQ2IsQ0FBQyxDQUFDLElBQUksQ0FBQyx5QkFBeUI7WUFDaEMsQ0FBQyxDQUFDLElBQUksQ0FBQywrQkFBK0I7Z0JBQ3RDLENBQUMsSUFBSSxDQUFDLDJCQUEyQixDQUFDO0lBQ3RDLENBQUM7SUFFRCwwQkFBMEI7UUFDeEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCx1QkFBdUI7UUFDckIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCw4QkFBOEIsQ0FBQyxLQUFhLEVBQUUsZUFBdUIsRUFBRSxNQUFjO1FBQ25GLE1BQU0sa0JBQWtCLEdBQUcsb0JBQW9CLENBQUM7UUFDaEQsTUFBTSxPQUFPLEdBQUcsa0JBQWtCLEtBQUssSUFBSSxlQUFlLEVBQUUsQ0FBQztRQUM3RCxNQUFNLFdBQVcsR0FBRyxrQkFBa0IsTUFBTSxFQUFFLENBQUM7UUFFL0MsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFFbkUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLFNBQVMsQ0FDN0QsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNOLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0RCxDQUFDLEVBQ0QsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNSLE9BQU8sQ0FBQyxLQUFLLENBQUMscUNBQXFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDOUQsQ0FBQyxDQUNGLENBQUM7SUFDSixDQUFDO0lBRU8sc0JBQXNCO1FBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDM0IsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFdBQVcsQ0FBQyxHQUFHLEVBQUU7Z0JBQ3hDLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO29CQUNoQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO2lCQUMzQjtZQUNILENBQUMsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7U0FDMUI7SUFDSCxDQUFDOzs7O1lBbEVGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBTFEsbUJBQW1CO1lBQ25CLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udmVyc2F0aW9uU2VydmljZSB9IGZyb20gJy4vY29udmVyc2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uU29ja2V0IH0gZnJvbSAnLi9Ob3RpZmljYXRpb25Tb2NrZXQnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU29ja2V0U2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgaXNDb21tb25Tb2NrZXRJbml0aWFsaXplZCA9IGZhbHNlO1xuICBwcml2YXRlIGlzVXNlclNwZWNpZmljU29ja2V0SW5pdGlhbGl6ZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBpc1VzZXJTcGVjaWZpY0V2ZW50UmVsZWFzZWQgPSB0cnVlO1xuICBwcml2YXRlIG1lc3NhZ2VRdWV1ZTogYW55W10gPSBbXTtcbiAgcHJpdmF0ZSByZWxlYXNlSW50ZXJ2YWwgPSAxMDAwO1xuICBwcml2YXRlIHJlbGVhc2VJbnRlcnZhbElkOiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRJbnRlcnZhbD4gfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNvbnZlcnNhdGlvblNlcnZpY2U6IENvbnZlcnNhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBub3RpZmljYXRpb25Tb2NrZXQ6IE5vdGlmaWNhdGlvblNvY2tldFxuICApIHtcbiAgICB0aGlzLnN0YXJ0UmVsZWFzaW5nTWVzc2FnZXMoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnJlbGVhc2VJbnRlcnZhbElkKSB7XG4gICAgICBjbGVhckludGVydmFsKHRoaXMucmVsZWFzZUludGVydmFsSWQpO1xuICAgICAgdGhpcy5yZWxlYXNlSW50ZXJ2YWxJZCA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgaXNTb2NrZXRJbml0aWFsaXplZChpc0NvbW1vbjogYm9vbGVhbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc0NvbW1vblxuICAgICAgPyB0aGlzLmlzQ29tbW9uU29ja2V0SW5pdGlhbGl6ZWRcbiAgICAgIDogdGhpcy5pc1VzZXJTcGVjaWZpY1NvY2tldEluaXRpYWxpemVkICYmXG4gICAgICAhdGhpcy5pc1VzZXJTcGVjaWZpY0V2ZW50UmVsZWFzZWQ7XG4gIH1cblxuICBkaXNjb25uZWN0U29ja2V0Q29ubmVjdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLm5vdGlmaWNhdGlvblNvY2tldC5kaXNjb25uZWN0KCk7XG4gIH1cblxuICBjb25uZWN0U29ja2V0Q29ubmVjdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLm5vdGlmaWNhdGlvblNvY2tldC5jb25uZWN0KCk7XG4gIH1cblxuICByZWdpc3RlclVzZXJTcGVjaWZpY0hpdmVTb2NrZXQoYm90SWQ6IHN0cmluZywgY29udmVyc2F0aW9uX2lkOiBzdHJpbmcsIG9yZ19pZDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgY29tbW9uTm90aWZpY2F0aW9uID0gJ2NvbW1vbk5vdGlmaWNhdGlvbic7XG4gICAgY29uc3QgZ3JvdXBJZCA9IGBIaXZlX0FJX05vdGlmc18ke2JvdElkfV8ke2NvbnZlcnNhdGlvbl9pZH1gO1xuICAgIGNvbnN0IGdyb3VwSWRfb3JnID0gYEhpdmVfQUlfTm90aWZzXyR7b3JnX2lkfWA7XG5cbiAgICB0aGlzLm5vdGlmaWNhdGlvblNvY2tldC5lbWl0KCdqb2luRGF0YScsIHsgZ3JvdXBJZCB9KTtcbiAgICB0aGlzLm5vdGlmaWNhdGlvblNvY2tldC5lbWl0KCdqb2luRGF0YScsIHsgZ3JvdXBJZDogZ3JvdXBJZF9vcmcgfSk7XG5cbiAgICB0aGlzLm5vdGlmaWNhdGlvblNvY2tldC5mcm9tRXZlbnQoY29tbW9uTm90aWZpY2F0aW9uKS5zdWJzY3JpYmUoXG4gICAgICAocmVzKSA9PiB7XG4gICAgICAgIHRoaXMuY29udmVyc2F0aW9uU2VydmljZS5zZW5kVmFsaWRhdGVkVXNlckRhdGEocmVzKTtcbiAgICAgIH0sXG4gICAgICAoZXJyb3IpID0+IHtcbiAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgcmVjZWl2aW5nIGNvbW1vbk5vdGlmaWNhdGlvbjonLCBlcnJvcik7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhcnRSZWxlYXNpbmdNZXNzYWdlcygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMucmVsZWFzZUludGVydmFsSWQpIHtcbiAgICAgIHRoaXMucmVsZWFzZUludGVydmFsSWQgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLm1lc3NhZ2VRdWV1ZS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgdGhpcy5tZXNzYWdlUXVldWUuc2hpZnQoKTtcbiAgICAgICAgfVxuICAgICAgfSwgdGhpcy5yZWxlYXNlSW50ZXJ2YWwpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -5,49 +5,49 @@ export class TranslationService {
5
5
  this.eventId = null;
6
6
  this.translationsData = [
7
7
  {
8
- Key: "Copy",
9
- DefaultValue: "Copy",
8
+ Key: 'Copy',
9
+ DefaultValue: 'Copy',
10
10
  Translations: {
11
- en: "Copy",
12
- fr: "Copier",
13
- it: "Copia",
14
- es: "Copiar",
15
- de: "Kopieren",
16
- "pt-br": "Copiar",
17
- ar: "نسخ",
18
- zh: "复制",
19
- ru: "Копировать"
20
- }
11
+ en: 'Copy',
12
+ fr: 'Copier',
13
+ it: 'Copia',
14
+ es: 'Copiar',
15
+ de: 'Kopieren',
16
+ 'pt-br': 'Copiar',
17
+ ar: 'نسخ',
18
+ zh: '复制',
19
+ ru: 'Копировать',
20
+ },
21
21
  },
22
22
  {
23
- Key: "May I assist you with anything else",
24
- DefaultValue: "Great. May I assist you with anything else?",
23
+ Key: 'May I assist you with anything else',
24
+ DefaultValue: 'Great. May I assist you with anything else?',
25
25
  Translations: {
26
- en: "Great. May I assist you with anything else?",
27
- fr: "Parfait. Puis-je vous aider avec autre chose ?",
26
+ en: 'Great. May I assist you with anything else?',
27
+ fr: 'Parfait. Puis-je vous aider avec autre chose ?',
28
28
  it: "Perfetto. Posso aiutarti con qualcos'altro?",
29
- es: "Genial. ¿Puedo ayudarte con algo más?",
30
- de: "Super. Kann ich Ihnen noch bei etwas anderem helfen?",
31
- "pt-br": "Ótimo. Posso ajudar com mais alguma coisa?",
32
- ar: "رائع. هل يمكنني مساعدتك في أي شيء آخر؟",
33
- zh: "太好了。还有什么我可以帮您的吗?",
34
- ru: "Отлично. Могу ли я помочь вам с чем-то ещё?"
35
- }
29
+ es: 'Genial. ¿Puedo ayudarte con algo más?',
30
+ de: 'Super. Kann ich Ihnen noch bei etwas anderem helfen?',
31
+ 'pt-br': 'Ótimo. Posso ajudar com mais alguma coisa?',
32
+ ar: 'رائع. هل يمكنني مساعدتك في أي شيء آخر؟',
33
+ zh: '太好了。还有什么我可以帮您的吗?',
34
+ ru: 'Отлично. Могу ли я помочь вам с чем-то ещё?',
35
+ },
36
36
  },
37
37
  {
38
38
  Key: "We are sorry we've not been able to answer your question",
39
- DefaultValue: "We are sorry we've not been able to answer your question. However, our dedicated support team is happy to help. Please <a href=\"mailto:support@social27.com\">click here</a> and a human agent will assist you as soon as possible.",
39
+ DefaultValue: 'We are sorry we\'ve not been able to answer your question. However, our dedicated support team is happy to help. Please <a href="mailto:support@social27.com">click here</a> and a human agent will assist you as soon as possible.',
40
40
  Translations: {
41
- en: "We are sorry we've not been able to answer your question. However, our dedicated support team is happy to help. Please <a href=\"mailto:support@social27.com\">click here</a> and a human agent will assist you as soon as possible.",
42
- fr: "Nous sommes désolés de ne pas avoir pu répondre à votre question. Cependant, notre équipe d'assistance se fera un plaisir de vous aider. Veuillez <a href=\"mailto:support@social27.com\">cliquer ici</a> et un agent humain vous assistera dès que possible.",
43
- it: "Ci dispiace di non essere riusciti a rispondere alla tua domanda. Tuttavia, il nostro team di supporto dedicato sarà lieto di aiutarti. Ti preghiamo di <a href=\"mailto:support@social27.com\">fare clic qui</a> e un operatore umano ti assisterà al più presto.",
44
- es: "Lamentamos no haber podido responder a tu pregunta. Sin embargo, nuestro equipo de soporte estará encantado de ayudarte. Por favor, <a href=\"mailto:support@social27.com\">haz clic aquí</a> y un agente humano te asistirá lo antes posible.",
45
- de: "Es tut uns leid, dass wir Ihre Frage nicht beantworten konnten. Unser engagiertes Support-Team hilft Ihnen jedoch gerne weiter. Bitte <a href=\"mailto:support@social27.com\">klicken Sie hier</a>, und ein menschlicher Mitarbeiter wird Ihnen so bald wie möglich helfen.",
46
- "pt-br": "Lamentamos não ter conseguido responder à sua pergunta. No entanto, nossa equipe de suporte dedicada ficará feliz em ajudar. Por favor, <a href=\"mailto:support@social27.com\">clique aqui</a> e um agente humano o ajudará o mais rápido possível.",
47
- ar: "نأسف لعدم تمكننا من الإجابة على سؤالك. ومع ذلك، يسعد فريق الدعم المخصص لدينا بمساعدتك. يرجى <a href=\"mailto:support@social27.com\">النقر هنا</a> وسيساعدك أحد الوكلاء البشريين في أقرب وقت ممكن.",
48
- zh: "很抱歉我们未能回答您的问题。不过,我们的专属支持团队很乐意为您提供帮助。请<a href=\"mailto:support@social27.com\">点击这里</a>,人工客服将尽快为您提供协助。",
49
- ru: "К сожалению, мы не смогли ответить на ваш вопрос. Однако наша служба поддержки с радостью вам поможет. Пожалуйста, <a href=\"mailto:support@social27.com\">нажмите здесь</a>, и наш оператор свяжется с вами как можно скорее."
50
- }
41
+ en: 'We are sorry we\'ve not been able to answer your question. However, our dedicated support team is happy to help. Please <a href="mailto:support@social27.com">click here</a> and a human agent will assist you as soon as possible.',
42
+ fr: 'Nous sommes désolés de ne pas avoir pu répondre à votre question. Cependant, notre équipe d\'assistance se fera un plaisir de vous aider. Veuillez <a href="mailto:support@social27.com">cliquer ici</a> et un agent humain vous assistera dès que possible.',
43
+ it: 'Ci dispiace di non essere riusciti a rispondere alla tua domanda. Tuttavia, il nostro team di supporto dedicato sarà lieto di aiutarti. Ti preghiamo di <a href="mailto:support@social27.com">fare clic qui</a> e un operatore umano ti assisterà al più presto.',
44
+ es: 'Lamentamos no haber podido responder a tu pregunta. Sin embargo, nuestro equipo de soporte estará encantado de ayudarte. Por favor, <a href="mailto:support@social27.com">haz clic aquí</a> y un agente humano te asistirá lo antes posible.',
45
+ de: 'Es tut uns leid, dass wir Ihre Frage nicht beantworten konnten. Unser engagiertes Support-Team hilft Ihnen jedoch gerne weiter. Bitte <a href="mailto:support@social27.com">klicken Sie hier</a>, und ein menschlicher Mitarbeiter wird Ihnen so bald wie möglich helfen.',
46
+ 'pt-br': 'Lamentamos não ter conseguido responder à sua pergunta. No entanto, nossa equipe de suporte dedicada ficará feliz em ajudar. Por favor, <a href="mailto:support@social27.com">clique aqui</a> e um agente humano o ajudará o mais rápido possível.',
47
+ ar: 'نأسف لعدم تمكننا من الإجابة على سؤالك. ومع ذلك، يسعد فريق الدعم المخصص لدينا بمساعدتك. يرجى <a href="mailto:support@social27.com">النقر هنا</a> وسيساعدك أحد الوكلاء البشريين في أقرب وقت ممكن.',
48
+ zh: '很抱歉我们未能回答您的问题。不过,我们的专属支持团队很乐意为您提供帮助。请<a href="mailto:support@social27.com">点击这里</a>,人工客服将尽快为您提供协助。',
49
+ ru: 'К сожалению, мы не смогли ответить на ваш вопрос. Однако наша служба поддержки с радостью вам поможет. Пожалуйста, <a href="mailto:support@social27.com">нажмите здесь</a>, и наш оператор свяжется с вами как можно скорее.',
50
+ },
51
51
  },
52
52
  {
53
53
  Key: 'Ask anything',
@@ -220,12 +220,10 @@ export class TranslationService {
220
220
  this.eventId = id;
221
221
  }
222
222
  getTranslation(key) {
223
- console.log('eventId', this.eventId);
224
- // let lang = String(this.getLang(this.eventId)).replace(/^"|"$/g, '');
225
223
  const lang = (localStorage.getItem('defaultLanguage-' + this.eventId) || 'en').replace(/^"|"$/g, '');
226
224
  const entry = this.translationsData.find((item) => item.Key === key);
227
225
  if (!entry) {
228
- return key; // fallback
226
+ return key;
229
227
  }
230
228
  return entry.Translations[lang] || entry.DefaultValue || key;
231
229
  }
@@ -241,4 +239,4 @@ TranslationService.decorators = [
241
239
  providedIn: 'root',
242
240
  },] }
243
241
  ];
244
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIvVXNlcnMvcm9oaXR0aGFrdXIvaGl2ZS1ncHQvSGl2ZUFJLVBhY2thZ2VzL0FuZ3VsYXIvcHJvamVjdHMvaGl2ZWdwdC9ldmVudHNncHQtYW5ndWxhci9zcmMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy90cmFuc2xhdGlvbnMvdHJhbnNsYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUF1QixNQUFNLGVBQWUsQ0FBQzs7QUFNaEUsTUFBTSxPQUFPLGtCQUFrQjtJQUgvQjtRQUlVLFlBQU8sR0FBa0IsSUFBSSxDQUFDO1FBNkI5QixxQkFBZ0IsR0FBVTtZQUNoQztnQkFDRixHQUFHLEVBQUUsTUFBTTtnQkFDWCxZQUFZLEVBQUUsTUFBTTtnQkFDcEIsWUFBWSxFQUFFO29CQUNaLEVBQUUsRUFBRSxNQUFNO29CQUNWLEVBQUUsRUFBRSxRQUFRO29CQUNaLEVBQUUsRUFBRSxPQUFPO29CQUNYLEVBQUUsRUFBRSxRQUFRO29CQUNaLEVBQUUsRUFBRSxVQUFVO29CQUNkLE9BQU8sRUFBRSxRQUFRO29CQUNqQixFQUFFLEVBQUUsS0FBSztvQkFDVCxFQUFFLEVBQUUsSUFBSTtvQkFDUixFQUFFLEVBQUUsWUFBWTtpQkFDakI7YUFDRjtZQUVHO2dCQUVBLEdBQUcsRUFBRSxxQ0FBcUM7Z0JBQzFDLFlBQVksRUFBRSw2Q0FBNkM7Z0JBQzNELFlBQVksRUFBRTtvQkFDVixFQUFFLEVBQUUsNkNBQTZDO29CQUNqRCxFQUFFLEVBQUUsZ0RBQWdEO29CQUNwRCxFQUFFLEVBQUUsNkNBQTZDO29CQUNqRCxFQUFFLEVBQUUsdUNBQXVDO29CQUMzQyxFQUFFLEVBQUUsc0RBQXNEO29CQUMxRCxPQUFPLEVBQUUsNENBQTRDO29CQUNyRCxFQUFFLEVBQUUsd0NBQXdDO29CQUM1QyxFQUFFLEVBQUUsa0JBQWtCO29CQUN0QixFQUFFLEVBQUUs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a0JBQWtCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FDaEUsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRXhCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUM7UUFFckUsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLE9BQU8sR0FBRyxDQUFDLENBQUMsV0FBVztTQUN4QjtRQUVELE9BQU8sS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxJQUFJLEdBQUcsQ0FBQztJQUMvRCxDQUFDO0lBRU8sT0FBTyxDQUFDLE9BQXVCO1FBQ3JDLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzVDLE1BQU0sVUFBVSxHQUFHLGtCQUFrQixNQUFNLEVBQUUsQ0FBQztRQUU5QyxPQUFPLFlBQVksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksSUFBSSxDQUFDO0lBQ2xELENBQUM7Ozs7WUEvQkYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0LCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgVHJhbnNsYXRpb25TZXJ2aWNlIHtcbiAgcHJpdmF0ZSBldmVudElkOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICBzZXRFdmVudElkKGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLmV2ZW50SWQgPSBpZDtcbiAgfVxuXG4gIGdldFRyYW5zbGF0aW9uKGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zb2xlLmxvZygnZXZlbnRJZCcsIHRoaXMuZXZlbnRJZCk7XG4gICAgLy8gbGV0IGxhbmcgPSBTdHJpbmcodGhpcy5nZXRMYW5nKHRoaXMuZXZlbnRJZCkpLnJlcGxhY2UoL15cInxcIiQvZywgJycpO1xuICAgIGNvbnN0IGxhbmcgPSAoXG4gICAgICBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnZGVmYXVsdExhbmd1YWdlLScgKyB0aGlzLmV2ZW50SWQpIHx8ICdlbidcbiAgICApLnJlcGxhY2UoL15cInxcIiQvZywgJycpO1xuXG4gICAgY29uc3QgZW50cnkgPSB0aGlzLnRyYW5zbGF0aW9uc0RhdGEuZmluZCgoaXRlbSkgPT4gaXRlbS5LZXkgPT09IGtleSk7XG5cbiAgICBpZiAoIWVudHJ5KSB7XG4gICAgICByZXR1cm4ga2V5OyAvLyBmYWxsYmFja1xuICAgIH1cblxuICAgIHJldHVybiBlbnRyeS5UcmFuc2xhdGlvbnNbbGFuZ10gfHwgZW50cnkuRGVmYXVsdFZhbHVlIHx8IGtleTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TGFuZyhldmVudElkPzogc3RyaW5nIHwgbnVsbCk6IHN0cmluZyB7XG4gICAgY29uc3Qgc3VmZml4ID0gZXZlbnRJZCA/IGAtJHtldmVudElkfWAgOiAnJztcbiAgICBjb25zdCBzdG9yYWdlS2V5ID0gYGRlZmF1bHRMYW5ndWFnZSR7c3VmZml4fWA7XG5cbiAgICByZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0oc3RvcmFnZUtleSkgfHwgJ2VuJztcbiAgfVxuXG4gIHByaXZhdGUgdHJhbnNsYXRpb25zRGF0YTogYW55W10gPSBbXG4gICAgeyBcbiAgS2V5OiBcIkNvcHlcIixcbiAgRGVmYXVsdFZhbHVlOiBcIkNvcHlcIixcbiAgVHJhbnNsYXRpb25zOiB7XG4gICAgZW46IFwiQ29weVwiLFxuICAgIGZyOiBcIkNvcGllclwiLFxuICAgIGl0OiBcIkNvcGlhXCIsXG4gICAgZXM6IFwiQ29waWFyXCIsXG4gICAgZGU6IFwiS29waWVyZW5cIixcbiAgICBcInB0LWJyXCI6IFwiQ29waWFyXCIsXG4gICAgYXI6IFwi2YbYs9iuXCIsXG4gICAgemg6IFwi5aSN5Yi2XCIsXG4gICAgcnU6IFwi0JrQvtC/0LjRgNC+0LLQsNGC0YxcIlxuICB9XG59XG4sXG4gICAge1xuICAgIFxuICAgIEtleTogXCJNYXkgSSBhc3Npc3QgeW91IHdpdGggYW55dGhpbmcgZWxzZVwiLFxuICAgIERlZmF1bHRWYWx1ZTogXCJHcmVhdC4gTWF5IEkgYXNzaXN0IHlvdSB3aXRoIGFueXRoaW5nIGVsc2U/XCIsXG4gICAgVHJhbnNsYXRpb25zOiB7XG4gICAgICAgIGVuOiBcIkdyZWF0LiBNYXkgSSBhc3Npc3QgeW91IHdpdGggYW55dGhpbmcgZWxzZT9cIixcbiAgICAgICAgZnI6IFwiUGFyZmFpdC4gUHVpcy1qZSB2b3VzIGFpZGVyIGF2ZWMgYXV0cmUgY2hvc2UgP1wiLFxuICAgICAgICBpdDogXCJQZXJmZXR0by4gUG9zc28gYWl1dGFydGkgY29uIHF1YWxjb3MnYWx0cm8/XCIsXG4gICAgICAgIGVzOiBcIkdlbmlhbC4gwr9QdWVkbyBheXVkYXJ0ZSBjb24gYWxnbyBtw6FzP1wiLFxuICAgICAgICBkZTogXCJTdXBlci4gS2FubiBpY2ggSWhuZW4gbm9jaCBiZWkgZXR3YXMgYW5kZXJlbSBoZWxmZW4/XCIsXG4gICAgICAgIFwicHQtYnJcIjogXCLDk3RpbW8uIFBvc3NvIGFqdWRhciBjb20gbWFpcyBhbGd1bWEgY29pc2E/XCIsXG4gICAgICAgIGFyOiBcItix2KfYpti5LiDZh9mEINmK2YXZg9mG2YbZiiDZhdiz2KfYudiv2KrZgyDZgdmKINij2Yog2LTZitihINii2K7YsdifXCIsXG4gICAgICAgIHpoOiBcIuWkquWlveS6huOAgui/mOacieS7gOS5iOaIkeWPr+S7peW4ruaCqOeahOWQl++8n1wiLFxuICAgICAgICBydTogXCLQntGC0LvQuNGH0L3Qvi4g0JzQvtCz0YMg0LvQuCDRjyDQv9C+0LzQvtGH0Ywg0LLQsNC8INGBINGH0LXQvC3RgtC+INC10YnRkT9cIlxuICAgIH1cbn0sXG4gICAge1xuICAgIEtleTogXCJXZSBhcmUgc29ycnkgd2UndmUgbm90IGJlZW4gYWJsZSB0byBhbnN3ZXIgeW91ciBxdWVzdGlvblwiLFxuICAgIERlZmF1bHRWYWx1ZTogXCJXZSBhcmUgc29ycnkgd2UndmUgbm90IGJlZW4gYWJsZSB0byBhbnN3ZXIgeW91ciBxdWVzdGlvbi4gSG93ZXZlciwgb3VyIGRlZGljYXRlZCBzdXBwb3J0IHRlYW0gaXMgaGFwcHkgdG8gaGVscC4gUGxlYXNlIDxhIGhyZWY9XFxcIm1haWx0bzpzdXBwb3J0QHNvY2lhbDI3LmNvbVxcXCI+Y2xpY2sgaGVyZTwvYT4gYW5kIGEgaHVtYW4gYWdlbnQgd2lsbCBhc3Npc3QgeW91IGFzIHNvb24gYXMgcG9zc2libGUuXCIsXG4gICAgVHJhbnNsYXRpb25zOiB7XG4gICAgICAgIGVuOiBcIldlIGFyZSBzb3JyeSB3ZSd2ZSBub3QgYmVlbiBhYmxlIHRvIGFuc3dlciB5b3VyIHF1ZXN0aW9uLiBIb3dldmVyLCBvdXIgZGVkaWNhdGVkIHN1cHBvcnQgdGVhbSBpcyBoYXBweSB0byBoZWxwLiBQbGVhc2UgPGEgaHJlZj1cXFwibWFpbHRvOnN1cHBvcnRAc29jaWFsMjcuY29tXFxcIj5jbGljayBoZXJlPC9hPiBhbmQgYSBodW1hbiBhZ2VudCB3aWxsIGFzc2lzdCB5b3UgYXMgc29vbiBhcyBwb3NzaWJsZS5cIixcbiAgICAgICAgZnI6IFwiTm91cyBzb21tZXMgZMOpc29sw6lzIGRlIG5lIHBhcyBhdm9pciBwdSByw6lwb25kcmUgw6Agdm90cmUgcXVlc3Rpb24uIENlcGVuZGFudCwgbm90cmUgw6lxdWlwZSBkJ2Fzc2lzdGFuY2Ugc2UgZmVyYSB1biBwbGFpc2lyIGRlIHZvdXMgYWlkZXIuIFZldWlsbGV6IDxhIGhyZWY9XFxcIm1haWx0bzpzdXBwb3J0QHNvY2lhbDI3LmNvbVxcXCI+Y2xpcXVlciBpY2k8L2E+IGV0IHVuIGFnZW50IGh1bWFpbiB2b3VzIGFzc2lzdGVyYSBkw6hzIHF1ZSBwb3NzaWJsZS5cIixcbiAgICAgICAgaXQ6IFwiQ2kgZGlzcGlhY2UgZGkgbm9uIGVzc2VyZSByaXVzY2l0aSBhIHJpc3BvbmRlcmUgYWxsYSB0dWEgZG9tYW5kYS4gVHV0dGF2aWEsIGlsIG5vc3RybyB0ZWFtIGRpIHN1cHBvcnRvIGRlZGljYXRvIHNhcsOgIGxpZXRvIGRpIGFpdXRhcnRpLiBUaSBwcmVnaGlhbW8gZGkgPGEgaHJlZj1cXFwibWFpbHRvOnN1cHBvcnRAc29jaWFsMjcuY29tXFxcIj5mYXJlIGNsaWMgcXVpPC9hPiBlIHVuIG9wZXJhdG9yZSB1bWFubyB0aSBhc3Npc3RlcsOgIGFsIHBpw7kgcHJlc3RvLlwiLFxuICAgICAgICBlczogXCJMYW1lbnRhbW9zIG5vIGhhYmVyIHBvZGlkbyByZXNwb25kZXIgYSB0dSBwcmVndW50YS4gU2luIGVtYmFyZ28sIG51ZXN0cm8gZXF1aXBvIGRlIHNvcG9ydGUgZXN0YXLDoSBlbmNhbnRhZG8gZGUgYXl1ZGFydGUuIFBvciBmYXZvciwgPGEgaHJlZj1cXFwibWFpbHRvOnN1cHBvcnRAc29jaWFsMjcuY29tXFxcIj5oYXogY2xpYyBhcXXDrTwvYT4geSB1biBhZ2VudGUgaHVtYW5vIHRlIGFzaXN0aXLDoSBsbyBhbnRlcyBwb3NpYmxlLlwiLFxuICAgICAgICBkZTogXCJFcyB0dXQgdW5zIGxlaWQsIGRhc3Mgd2lyIElocmUgRnJhZ2UgbmljaHQgYmVhbnR3b3J0ZW4ga29ubnRlbi4gVW5zZXIgZW5nYWdpZXJ0ZXMgU3VwcG9ydC1UZWFtIGhpbGZ0IElobmVuIGplZG9jaCBnZXJuZSB3ZWl0ZXIuIEJpdHRlIDxhIGhyZWY9XFxcIm1haWx0bzpzdXBwb3J0QHNvY2lhbDI3LmNvbVxcXCI+a2xpY2tlbiBTaWUgaGllcjwvYT4sIHVuZCBlaW4gbWVuc2NobGljaGVyIE1pdGFyYmVpdGVyIHdpcmQgSWhuZW4gc28gYmFsZCB3aWUgbcO2Z2xpY2ggaGVsZmVuLlwiLFxuICAgICAgICBcInB0LWJyXCI6IFwiTGFtZW50YW1vcyBuw6NvIHRlciBjb25zZWd1aWRvIHJlc3BvbmRlciDDoCBzdWEgcGVyZ3VudGEuIE5vIGVudGFudG8sIG5vc3NhIGVxdWlwZSBkZSBzdXBvcnRlIGRlZGljYWRhIGZpY2Fyw6EgZmVsaXogZW0gYWp1ZGFyLiBQb3IgZmF2b3IsIDxhIGhyZWY9XFxcIm1haWx0bzpzdXBwb3J0QHNvY2lhbDI3LmNvbVxcXCI+Y2xpcXVlIGFxdWk8L2E+IGUgdW0gYWdlbnRlIGh1bWFubyBvIGFqdWRhcsOhIG8gbWFpcyByw6FwaWRvIHBvc3PDrXZlbC5cIixcbiAgICAgICAgYXI6IFwi2YbYo9iz2YEg2YTYudiv2YUg2KrZhdmD2YbZhtinINmF2YYg2KfZhNil2KzYp9io2Kkg2LnZhNmJINiz2KTYp9mE2YMuINmI2YXYuSDYsNmE2YPYjCDZitiz2LnYryDZgdix2YrZgiDYp9mE2K/YudmFINin2YTZhdiu2LXYtSDZhNiv2YrZhtinINio2YXYs9in2LnYr9iq2YMuINmK2LHYrNmJIDxhIGhyZWY9XFxcIm1haWx0bzpzdXBwb3J0QHNvY2lhbDI3LmNvbVxcXCI+2KfZhNmG2YLYsSDZh9mG2Kc8L2E+INmI2LPZitiz2KfYudiv2YMg2KPYrdivINin2YTZiNmD2YTYp9ihINin2YTYqNi02LHZitmK2YYg2YHZiiDYo9mC2LHYqCDZiNmC2Kog2YXZhdmD2YYuXCIsXG4gICAgICAgIHpoOiBcIuW+iOaKseatieaIkeS7rOacquiDveWbnuetlOaCqOeahOmXrumimOOAguS4jei/h++8jOaIkeS7rOeahOS4k+WxnuaUr+aMgeWboumYn+W+iOS5kOaEj+S4uuaCqOaPkOS+m+W4ruWKqeOAguivtzxhIGhyZWY9XFxcIm1haWx0bzpzdXBwb3J0QHNvY2lhbDI3LmNvbVxcXCI+54K55Ye76L+Z6YeMPC9hPu+8jOS6uuW3peWuouacjeWwhuWwveW/q+S4uuaCqOaPkOS+m+WNj+WKqeOAglwiLFxuICAgICAgICBydTogXCLQmiDRgdC+0LbQsNC70LXQvdC40Y4sINC80Ysg0L3QtSDRgdC80L7Qs9C70Lgg0L7RgtCy0LXRgtC40YLRjCDQvdCwINCy0LDRiCDQstC+0L/RgNC+0YEuINCe0LTQvdCw0LrQviDQvdCw0YjQsCDRgdC70YPQttCx0LAg0L/QvtC00LTQtdGA0LbQutC4INGBINGA0LDQtNC+0YHRgtGM0Y4g0LLQsNC8INC/0L7QvNC+0LbQtdGCLiDQn9C+0LbQsNC70YPQudGB0YLQsCwgPGEgaHJlZj1cXFwibWFpbHRvOnN1cHBvcnRAc29jaWFsMjcuY29tXFxcIj7QvdCw0LbQvNC40YLQtSDQt9C00LXRgdGMPC9hPiwg0Lgg0L3QsNGIINC+0L/QtdGA0LDRgtC+0YAg0YHQstGP0LbQtdGC0YHRjyDRgSDQstCw0LzQuCDQutCw0Log0LzQvtC20L3QviDRgdC60L7RgNC10LUuXCJcbiAgICB9XG59LFxuICAgIHtcbiAgICAgIEtleTogJ0FzayBhbnl0aGluZycsXG4gICAgICBEZWZhdWx0VmFsdWU6ICdBc2sgYW55dGhpbmcnLFxuICAgICAgVHJhbnNsYXRpb25zOiB7XG4gICAgICAgIGVuOiAnQXNrIGFueXRoaW5nJyxcbiAgICAgICAgZnI6ICdEZW1hbmRleiBjZSBxdWUgdm91cyB2b3VsZXonLFxuICAgICAgICBpdDogJ0NoaWVkaSBxdWFsc2lhc2kgY29zYScsXG4gICAgICAgIGVzOiAnUHJlZ3VudGEgbG8gcXVlIHF1aWVyYXMnLFxuICAgICAgICBkZTogJ0ZyYWcgYWxsZXMnLFxuICAgICAgICAncHQtYnInOiAnUGVyZ3VudGUgcXVhbHF1ZXIgY29pc2EnLFxuICAgICAgICBhcjogJ9in2LPYo9mEINij2Yog2LTZitihJyxcbiAgICAgICAgemg6ICfpmo/kvr/pl64nLFxuICAgICAgICBydTogJ9Ch0L/RgNC+0YHQuNGC0LUg0YfRgtC+INGD0LPQvtC00L3QvicsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgS2V5OiAnQXNzaXN0YW50JyxcbiAgICAgIERlZmF1bHRWYWx1ZTogJ0Fzc2lzdGFudCcsXG4gICAgICBUcmFuc2xhdGlvbnM6IHtcbiAgICAgICAgZW46ICdBc3Npc3RhbnQnLFxuICAgICAgICBmcjogJ0Fzc2lzdGFudCcsXG4gICAgICAgIGl0OiAnQXNzaXN0ZW50ZScsXG4gICAgICAgIGVzOiAnQXNpc3RlbnRlJyxcbiAgICAgICAgZGU6ICdBc3Npc3RlbnQnLFxuICAgICAgICAncHQtYnInOiAnQXNzaXN0ZW50ZScsXG4gICAgICAgIGFyOiAn2YXYs9in2LnYrycsXG4gICAgICAgIHpoOiAn5Yqp5omLJyxcbiAgICAgICAgcnU6ICfQkNGB0YHQuNGB0YLQtdC90YInLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIEtleTogJ1lvdXIgcGVyc29uYWwgb3IgY29tcGFueSBpbmZvcm1hdGlvbiBpcyBrZXB0IHByaXZhdGUgYW5kIHNlY3VyZSB3aXRoaW4gdGhpcyBjaGF0LicsXG4gICAgICBEZWZhdWx0VmFsdWU6XG4gICAgICAgICdZb3VyIHBlcnNvbmFsIG9yIGNvbXBhbnkgaW5mb3JtYXRpb24gaXMga2VwdCBwcml2YXRlIGFuZCBzZWN1cmUgd2l0aGluIHRoaXMgY2hhdC4nLFxuICAgICAgVHJhbnNsYXRpb25zOiB7XG4gICAgICAgIGVuOiAnWW91ciBwZXJzb25hbCBvciBjb21wYW55IGluZm9ybWF0aW9uIGlzIGtlcHQgcHJpdmF0ZSBhbmQgc2VjdXJlIHdpdGhpbiB0aGlzIGNoYXQuJyxcbiAgICAgICAgZnI6ICdWb3MgaW5mb3JtYXRpb25zIHBlcnNvbm5lbGxlcyBvdSBjZWxsZXMgZGUgdm90cmUgZW50cmVwcmlzZSBzb250IGNvbnNlcnbDqWVzIHByaXbDqWVzIGV0IHPDqWN1cmlzw6llcyBkYW5zIGNldHRlIGNvbnZlcnNhdGlvbi4nLFxuICAgICAgICBpdDogXCJMZSB0dWUgaW5mb3JtYXppb25pIHBlcnNvbmFsaSBvIGF6aWVuZGFsaSBzb25vIG1hbnRlbnV0ZSBwcml2YXRlIGUgc2ljdXJlIGFsbCdpbnRlcm5vIGRpIHF1ZXN0YSBjaGF0LlwiLFxuICAgICAgICBlczogJ1R1IGluZm9ybWFjacOzbiBwZXJzb25hbCBvIGRlIGxhIGVtcHJlc2Egc2UgbWFudGllbmUgcHJpdmFkYSB5IHNlZ3VyYSBkZW50cm8gZGUgZXN0ZSBjaGF0LicsXG4gICAgICAgIGRlOiAnSWhyZSBwZXJzw7ZubGljaGVuIG9kZXIgZ2VzY2jDpGZ0bGljaGVuIEluZm9ybWF0aW9uZW4gYmxlaWJlbiBpbiBkaWVzZW0gQ2hhdCBwcml2YXQgdW5kIHNpY2hlci4nLFxuICAgICAgICAncHQtYnInOlxuICAgICAgICAgICdTdWFzIGluZm9ybWHDp8O1ZXMgcGVzc29haXMgb3UgZGEgZW1wcmVzYSBzw6NvIG1hbnRpZGFzIHByaXZhZGFzIGUgc2VndXJhcyBkZW50cm8gZGVzdGUgY2hhdC4nLFxuICAgICAgICBhcjogJ9iq2LjZhCDZhdi52YTZiNmF2KfYqtmDINin2YTYtNiu2LXZitipINij2Ygg2YXYudmE2YjZhdin2Kog2LTYsdmD2KrZgyDYrtin2LXYqSDZiNii2YXZhtipINiv2KfYrtmEINmH2LDZhyDYp9mE2YXYrdin2K/Yq9ipLicsXG4gICAgICAgIHpoOiAn5oKo55qE5Liq5Lq65oiW5YWs5Y+45L+h5oGv5Zyo5q2k6IGK5aSp5Lit5L+d5oyB56eB5a+G5ZKM5a6J5YWo44CCJyxcbiAgICAgICAgcnU6ICfQktCw0YjQsCDQu9C40YfQvdCw0Y8g0LjQu9C4INC60L7RgNC/0L7RgNCw0YLQuNCy0L3QsNGPINC40L3RhNC+0YDQvNCw0YbQuNGPINC+0YHRgtCw0LXRgtGB0Y8g0LrQvtC90YTQuNC00LXQvdGG0LjQsNC70YzQvdC+0Lkg0Lgg0LfQsNGJ0LjRidC10L3QvdC+0Lkg0LIg0Y3RgtC+0Lwg0YfQsNGC0LUuJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBLZXk6ICdTZW5kIG1lc3NhZ2UnLFxuICAgICAgRGVmYXVsdFZhbHVlOiAnU2VuZCBtZXNzYWdlJyxcbiAgICAgIFRyYW5zbGF0aW9uczoge1xuICAgICAgICBlbjogJ1NlbmQgbWVzc2FnZScsXG4gICAgICAgIGZyOiAnRW52b3llciB1biBtZXNzYWdlJyxcbiAgICAgICAgaXQ6ICdJbnZpYSBtZXNzYWdnaW8nLFxuICAgICAgICBlczogJ0VudmlhciBtZW5zYWplJyxcbiAgICAgICAgZGU6ICdOYWNocmljaHQgc2VuZGVuJyxcbiAgICAgICAgJ3B0LWJyJzogJ0VudmlhciBtZW5zYWdlbScsXG4gICAgICAgIGFyOiAn2KXYsdiz2KfZhCDYsdiz2KfZhNipJyxcbiAgICAgICAgemg6ICflj5HpgIHmtojmga8nLFxuICAgICAgICBydTogJ9Ce0YLQv9GA0LDQstC40YLRjCDRgdC+0L7QsdGJ0LXQvdC40LUnLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIEtleTogJ1BsYXRmb3JtIEdQVCcsXG4gICAgICBEZWZhdWx0VmFsdWU6ICdQbGF0Zm9ybSBHUFQnLFxuICAgICAgVHJhbnNsYXRpb25zOiB7XG4gICAgICAgIGVuOiAnUGxhdGZvcm0gR1BUJyxcbiAgICAgICAgZnI6ICdQbGF0ZWZvcm1lIEdQVCcsXG4gICAgICAgIGl0OiAnUGlhdHRhZm9ybWEgR1BUJyxcbiAgICAgICAgZXM6ICdQbGF0YWZvcm1hIEdQVCcsXG4gICAgICAgIGRlOiAnUGxhdHRmb3JtIEdQVCcsXG4gICAgICAgICdwdC1icic6ICdQbGF0YWZvcm1hIEdQVCcsXG4gICAgICAgIGFyOiAn2YXZhti12KkgR1BUJyxcbiAgICAgICAgemg6ICflubPlj7AgR1BUJyxcbiAgICAgICAgcnU6ICfQn9C70LDRgtGE0L7RgNC80LAgR1BUJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBLZXk6ICdOZXcgQ2hhdCcsXG4gICAgICBEZWZhdWx0VmFsdWU6ICdOZXcgQ2hhdCcsXG4gICAgICBUcmFuc2xhdGlvbnM6IHtcbiAgICAgICAgZW46ICdOZXcgQ2hhdCcsXG4gICAgICAgIGZyOiAnTm91dmVsbGUgY29udmVyc2F0aW9uJyxcbiAgICAgICAgaXQ6ICdOdW92YSBjaGF0JyxcbiAgICAgICAgZXM6ICdOdWV2byBjaGF0JyxcbiAgICAgICAgZGU6ICdOZXVlciBDaGF0JyxcbiAgICAgICAgJ3B0LWJyJzogJ05vdm8gY2hhdCcsXG4gICAgICAgIGFyOiAn2YXYrdin2K/Yq9ipINis2K/Zitiv2KknLFxuICAgICAgICB6aDogJ+aWsOiBiuWkqScsXG4gICAgICAgIHJ1OiAn0J3QvtCy0YvQuSDRh9Cw0YInLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIEtleTogJ1lvdScsXG4gICAgICBEZWZhdWx0VmFsdWU6ICdZb3UnLFxuICAgICAgVHJhbnNsYXRpb25zOiB7XG4gICAgICAgIGVuOiAnWW91JyxcbiAgICAgICAgZnI6ICdWb3VzJyxcbiAgICAgICAgaXQ6ICdUdScsXG4gICAgICAgIGVzOiAnVMO6JyxcbiAgICAgICAgZGU6ICdEdScsXG4gICAgICAgICdwdC1icic6ICdWb2PDqicsXG4gICAgICAgIGFyOiAn2KPZhtiqJyxcbiAgICAgICAgemg6ICfmgqgnLFxuICAgICAgICBydTogJ9CS0YsnLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIEtleTogJ1dyaXRlIHlvdXIgbWVzc2FnZScsXG4gICAgICBEZWZhdWx0VmFsdWU6ICdXcml0ZSB5b3VyIG1lc3NhZ2UnLFxuICAgICAgVHJhbnNsYXRpb25zOiB7XG4gICAgICAgIGVuOiAnV3JpdGUgeW91ciBtZXNzYWdlJyxcbiAgICAgICAgZnI6ICfDiWNyaXZleiB2b3RyZSBtZXNzYWdlJyxcbiAgICAgICAgaXQ6ICdTY3JpdmkgaWwgdHVvIG1lc3NhZ2dpbycsXG4gICAgICAgIGVzOiAnRXNjcmliZSB0dSBtZW5zYWplJyxcbiAgICAgICAgZGU6ICdTY2hyZWliZW4gU2llIElocmUgTmFjaHJpY2h0JyxcbiAgICAgICAgJ3B0LWJyJzogJ0VzY3JldmEgc3VhIG1lbnNhZ2VtJyxcbiAgICAgICAgYXI6ICfYp9mD2KrYqCDYsdiz2KfZhNiq2YMnLFxuICAgICAgICB6aDogJ+WGmeS4i+aCqOeahOa2iOaBrycsXG4gICAgICAgIHJ1OiAn0J3QsNC/0LjRiNC40YLQtSDQstCw0YjQtSDRgdC+0L7QsdGJ0LXQvdC40LUnLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIEtleTogJ1NlbmQnLFxuICAgICAgRGVmYXVsdFZhbHVlOiAnU2VuZCcsXG4gICAgICBUcmFuc2xhdGlvbnM6IHtcbiAgICAgICAgZW46ICdTZW5kJyxcbiAgICAgICAgZnI6ICdFbnZveWVyJyxcbiAgICAgICAgaXQ6ICdJbnZpYScsXG4gICAgICAgIGVzOiAnRW52aWFyJyxcbiAgICAgICAgZGU6ICdTZW5kZW4nLFxuICAgICAgICAncHQtYnInOiAnRW52aWFyJyxcbiAgICAgICAgYXI6ICfYpdix2LPYp9mEJyxcbiAgICAgICAgemg6ICflj5HpgIEnLFxuICAgICAgICBydTogJ9Ce0YLQv9GA0LDQstC40YLRjCcsXG4gICAgICB9LFxuICAgIH0sXG4gICAgXG4gICAge1xuICAgICAgS2V5OiAnQ2FsbCBJbnRlcmZhY2UnLFxuICAgICAgRGVmYXVsdFZhbHVlOiAnQ2FsbCBJbnRlcmZhY2UnLFxuICAgICAgVHJhbnNsYXRpb25zOiB7XG4gICAgICAgIGVuOiAnQ2FsbCBJbnRlcmZhY2UnLFxuICAgICAgICBmcjogXCJJbnRlcmZhY2UgZCdhcHBlbFwiLFxuICAgICAgICBpdDogJ0ludGVyZmFjY2lhIGNoaWFtYXRhJyxcbiAgICAgICAgZXM6ICdJbnRlcmZheiBkZSBsbGFtYWRhJyxcbiAgICAgICAgZGU6ICdBbnJ1Zm9iZXJmbMOkY2hlJyxcbiAgICAgICAgJ3B0LWJyJzogJ0ludGVyZmFjZSBkZSBjaGFtYWRhJyxcbiAgICAgICAgYXI6ICfZiNin2KzZh9ipINin2YTYp9iq2LXYp9mEJyxcbiAgICAgICAgemg6ICflkbzlj6vnlYzpnaInLFxuICAgICAgICBydTogJ9CY0L3RgtC10YDRhNC10LnRgSDQt9Cy0L7QvdC60LAnLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIEtleTogJ0Nsb3NlJyxcbiAgICAgIERlZmF1bHRWYWx1ZTogJ0Nsb3NlJyxcbiAgICAgIFRyYW5zbGF0aW9uczoge1xuICAgICAgICBlbjogJ0Nsb3NlJyxcbiAgICAgICAgZnI6ICdGZXJtZXInLFxuICAgICAgICBpdDogJ0NoaXVkaScsXG4gICAgICAgIGVzOiAnQ2VycmFyJyxcbiAgICAgICAgZGU6ICdTY2hsaWXDn2VuJyxcbiAgICAgICAgJ3B0LWJyJzogJ0ZlY2hhcicsXG4gICAgICAgIGFyOiAn2KXYutmE2KfZgicsXG4gICAgICAgIHpoOiAn5YWz6ZetJyxcbiAgICAgICAgcnU6ICfQl9Cw0LrRgNGL0YLRjCcsXG4gICAgICB9LFxuICAgIH0sXG4gIF07XG59XG4iXX0=
242
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIvVXNlcnMvcm9oaXR0aGFrdXIvaGl2ZS1ncHQvSGl2ZUFJLVBhY2thZ2VzL0FuZ3VsYXIvcHJvamVjdHMvaGl2ZWdwdC9ldmVudHNncHQtYW5ndWxhci9zcmMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy90cmFuc2xhdGlvbnMvdHJhbnNsYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sa0JBQWtCO0lBSC9CO1FBSVUsWUFBTyxHQUFrQixJQUFJLENBQUM7UUEwQjlCLHFCQUFnQixHQUFVO1lBQ2hDO2dCQUNFLEdBQUcsRUFBRSxNQUFNO2dCQUNYLFlBQVksRUFBRSxNQUFNO2dCQUNwQixZQUFZLEVBQUU7b0JBQ1osRUFBRSxFQUFFLE1BQU07b0JBQ1YsRUFBRSxFQUFFLFFBQVE7b0JBQ1osRUFBRSxFQUFFLE9BQU87b0JBQ1gsRUFBRSxFQUFFLFFBQVE7b0JBQ1osRUFBRSxFQUFFLFVBQVU7b0JBQ2QsT0FBTyxFQUFFLFFBQVE7b0JBQ2pCLEVBQUUsRUFBRSxLQUFLO29CQUNULEVBQUUsRUFBRSxJQUFJO29CQUNSLEVBQUUsRUFBRSxZQUFZO2lCQUNqQjthQUNGO1lBQ0Q7Z0JBQ0UsR0FBRyxFQUFFLHFDQUFxQztnQkFDMUMsWUFBWSxFQUFFLDZDQUE2QztnQkFDM0QsWUFBWSxFQUFFO29CQUNaLEVBQUUsRUFBRSw2Q0FBNkM7b0JBQ2pELEVBQUUsRUFBRSxnREFBZ0Q7b0JBQ3BELEVBQUUsRUFBRSw2Q0FBNkM7b0JBQ2pELEVBQUUsRUFBRSx1Q0FBdUM7b0JBQzNDLEVBQUUsRUFBRSxzREFBc0Q7b0JBQzFELE9BQU8sRUFBRSw0Q0FBNEM7b0JBQ3JELEVBQUUsRUFBRSx3Q0FBd0M7b0JBQzVDLEVBQUUsRUFBRSxrQkFBa0I7b0JBQ3RCLEVBQUUsRUFBRSw2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QUUsQ0FBQyxDQUFDO1FBRXhCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUM7UUFFckUsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLE9BQU8sR0FBRyxDQUFDO1NBQ1o7UUFFRCxPQUFPLEtBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksSUFBSSxHQUFHLENBQUM7SUFDL0QsQ0FBQztJQUVPLE9BQU8sQ0FBQyxPQUF1QjtRQUNyQyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUM1QyxNQUFNLFVBQVUsR0FBRyxrQkFBa0IsTUFBTSxFQUFFLENBQUM7UUFDOUMsT0FBTyxZQUFZLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLElBQUksQ0FBQztJQUNsRCxDQUFDOzs7O1lBNUJGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFRyYW5zbGF0aW9uU2VydmljZSB7XG4gIHByaXZhdGUgZXZlbnRJZDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgc2V0RXZlbnRJZChpZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudElkID0gaWQ7XG4gIH1cblxuICBnZXRUcmFuc2xhdGlvbihrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgbGFuZyA9IChcbiAgICAgIGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdkZWZhdWx0TGFuZ3VhZ2UtJyArIHRoaXMuZXZlbnRJZCkgfHwgJ2VuJ1xuICAgICkucmVwbGFjZSgvXlwifFwiJC9nLCAnJyk7XG5cbiAgICBjb25zdCBlbnRyeSA9IHRoaXMudHJhbnNsYXRpb25zRGF0YS5maW5kKChpdGVtKSA9PiBpdGVtLktleSA9PT0ga2V5KTtcblxuICAgIGlmICghZW50cnkpIHtcbiAgICAgIHJldHVybiBrZXk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGVudHJ5LlRyYW5zbGF0aW9uc1tsYW5nXSB8fCBlbnRyeS5EZWZhdWx0VmFsdWUgfHwga2V5O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRMYW5nKGV2ZW50SWQ/OiBzdHJpbmcgfCBudWxsKTogc3RyaW5nIHtcbiAgICBjb25zdCBzdWZmaXggPSBldmVudElkID8gYC0ke2V2ZW50SWR9YCA6ICcnO1xuICAgIGNvbnN0IHN0b3JhZ2VLZXkgPSBgZGVmYXVsdExhbmd1YWdlJHtzdWZmaXh9YDtcbiAgICByZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0oc3RvcmFnZUtleSkgfHwgJ2VuJztcbiAgfVxuXG4gIHByaXZhdGUgdHJhbnNsYXRpb25zRGF0YTogYW55W10gPSBbXG4gICAge1xuICAgICAgS2V5OiAnQ29weScsXG4gICAgICBEZWZhdWx0VmFsdWU6ICdDb3B5JyxcbiAgICAgIFRyYW5zbGF0aW9uczoge1xuICAgICAgICBlbjogJ0NvcHknLFxuICAgICAgICBmcjogJ0NvcGllcicsXG4gICAgICAgIGl0OiAnQ29waWEnLFxuICAgICAgICBlczogJ0NvcGlhcicsXG4gICAgICAgIGRlOiAnS29waWVyZW4nLFxuICAgICAgICAncHQtYnInOiAnQ29waWFyJyxcbiAgICAgICAgYXI6ICfZhtiz2K4nLFxuICAgICAgICB6aDogJ+WkjeWIticsXG4gICAgICAgIHJ1OiAn0JrQvtC/0LjRgNC+0LLQsNGC0YwnLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIEtleTogJ01heSBJIGFzc2lzdCB5b3Ugd2l0aCBhbnl0aGluZyBlbHNlJyxcbiAgICAgIERlZmF1bHRWYWx1ZTogJ0dyZWF0LiBNYXkgSSBhc3Npc3QgeW91IHdpdGggYW55dGhpbmcgZWxzZT8nLFxuICAgICAgVHJhbnNsYXRpb25zOiB7XG4gICAgICAgIGVuOiAnR3JlYXQuIE1heSBJIGFzc2lzdCB5b3Ugd2l0aCBhbnl0aGluZyBlbHNlPycsXG4gICAgICAgIGZyOiAnUGFyZmFpdC4gUHVpcy1qZSB2b3VzIGFpZGVyIGF2ZWMgYXV0cmUgY2hvc2UgPycsXG4gICAgICAgIGl0OiBcIlBlcmZldHRvLiBQb3NzbyBhaXV0YXJ0aSBjb24gcXVhbGNvcydhbHRybz9cIixcbiAgICAgICAgZXM6ICdHZW5pYWwuIMK/UHVlZG8gYXl1ZGFydGUgY29uIGFsZ28gbcOhcz8nLFxuICAgICAgICBkZTogJ1N1cGVyLiBLYW5uIGljaCBJaG5lbiBub2NoIGJlaSBldHdhcyBhbmRlcmVtIGhlbGZlbj8nLFxuICAgICAgICAncHQtYnInOiAnw5N0aW1vLiBQb3NzbyBhanVkYXIgY29tIG1haXMgYWxndW1hIGNvaXNhPycsXG4gICAgICAgIGFyOiAn2LHYp9im2LkuINmH2YQg2YrZhdmD2YbZhtmKINmF2LPYp9i52K/YqtmDINmB2Yog2KPZiiDYtNmK2KEg2KLYrtix2J8nLFxuICAgICAgICB6aDogJ+WkquWlveS6huOAgui/mOacieS7gOS5iOaIkeWPr+S7peW4ruaCqOeahOWQl++8nycsXG4gICAgICAgIHJ1OiAn0J7RgtC70LjRh9C90L4uINCc0L7Qs9GDINC70Lgg0Y8g0L/QvtC80L7Rh9GMINCy0LDQvCDRgSDRh9C10Lwt0YLQviDQtdGJ0ZE/JyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBLZXk6IFwiV2UgYXJlIHNvcnJ5IHdlJ3ZlIG5vdCBiZWVuIGFibGUgdG8gYW5zd2VyIHlvdXIgcXVlc3Rpb25cIixcbiAgICAgIERlZmF1bHRWYWx1ZTpcbiAgICAgICAgJ1dlIGFyZSBzb3JyeSB3ZVxcJ3ZlIG5vdCBiZWVuIGFibGUgdG8gYW5zd2VyIHlvdXIgcXVlc3Rpb24uIEhvd2V2ZXIsIG91ciBkZWRpY2F0ZWQgc3VwcG9ydCB0ZWFtIGlzIGhhcHB5IHRvIGhlbHAuIFBsZWFzZSA8YSBocmVmPVwibWFpbHRvOnN1cHBvcnRAc29jaWFsMjcuY29tXCI+Y2xpY2sgaGVyZTwvYT4gYW5kIGEgaHVtYW4gYWdlbnQgd2lsbCBhc3Npc3QgeW91IGFzIHNvb24gYXMgcG9zc2libGUuJyxcbiAgICAgIFRyYW5zbGF0aW9uczoge1xuICAgICAgICBlbjogJ1dlIGFyZSBzb3JyeSB3ZVxcJ3ZlIG5vdCBiZWVuIGFibGUgdG8gYW5zd2VyIHlvdXIgcXVlc3Rpb24uIEhvd2V2ZXIsIG91ciBkZWRpY2F0ZWQgc3VwcG9ydCB0ZWFtIGlzIGhhcHB5IHRvIGhlbHAuIFBsZWFzZSA8YSBocmVmPVwibWFpbHRvOnN1cHBvcnRAc29jaWFsMjcuY29tXCI+Y2xpY2sgaGVyZTwvYT4gYW5kIGEgaHVtYW4gYWdlbnQgd2lsbCBhc3Npc3QgeW91IGFzIHNvb24gYXMgcG9zc2libGUuJyxcbiAgICAgICAgZnI6ICdOb3VzIHNvbW1lcyBkw6lzb2zDqXMgZGUgbmUgcGFzIGF2b2lyIHB1IHLDqXBvbmRyZSDDoCB2b3RyZSBxdWVzdGlvbi4gQ2VwZW5kYW50LCBub3RyZSDDqXF1aXBlIGRcXCdhc3Npc3RhbmNlIHNlIGZlcmEgdW4gcGxhaXNpciBkZSB2b3VzIGFpZGVyLiBWZXVpbGxleiA8YSBocmVmPVwibWFpbHRvOnN1cHBvcnRAc29jaWFsMjcuY29tXCI+Y2xpcXVlciBpY2k8L2E+IGV0IHVuIGFnZW50IGh1bWFpbiB2b3VzIGFzc2lzdGVyYSBkw6hzIHF1ZSBwb3NzaWJsZS4nLFxuICAgICAgICBpdDogJ0NpIGRpc3BpYWNlIGRpIG5vbiBlc3NlcmUgcml1c2NpdGkgYSByaXNwb25kZXJlIGFsbGEgdHVhIGRvbWFuZGEuIFR1dHRhdmlhLCBpbCBub3N0cm8gdGVhbSBkaSBzdXBwb3J0byBkZWRpY2F0byBzYXLDoCBsaWV0byBkaSBhaXV0YXJ0aS4gVGkgcHJlZ2hpYW1vIGRpIDxhIGhyZWY9XCJtYWlsdG86c3VwcG9ydEBzb2NpYWwyNy5jb21cIj5mYXJlIGNsaWMgcXVpPC9hPiBlIHVuIG9wZXJhdG9yZSB1bWFubyB0aSBhc3Npc3RlcsOgIGFsIHBpw7kgcHJlc3RvLicsXG4gICAgICAgIGVzOiAnTGFtZW50YW1vcyBubyBoYWJlciBwb2RpZG8gcmVzcG9uZGVyIGEgdHUgcHJlZ3VudGEuIFNpbiBlbWJhcmdvLCBudWVzdHJvIGVxdWlwbyBkZSBzb3BvcnRlIGVzdGFyw6EgZW5jYW50YWRvIGRlIGF5dWRhcnRlLiBQb3IgZmF2b3IsIDxhIGhyZWY9XCJtYWlsdG86c3VwcG9ydEBzb2NpYWwyNy5jb21cIj5oYXogY2xpYyBhcXXDrTwvYT4geSB1biBhZ2VudGUgaHVtYW5vIHRlIGFzaXN0aXLDoSBsbyBhbnRlcyBwb3NpYmxlLicsXG4gICAgICAgIGRlOiAnRXMgdHV0IHVucyBsZWlkLCBkYXNzIHdpciBJaHJlIEZyYWdlIG5pY2h0IGJlYW50d29ydGVuIGtvbm50ZW4uIFVuc2VyIGVuZ2FnaWVydGVzIFN1cHBvcnQtVGVhbSBoaWxmdCBJaG5lbiBqZWRvY2ggZ2VybmUgd2VpdGVyLiBCaXR0ZSA8YSBocmVmPVwibWFpbHRvOnN1cHBvcnRAc29jaWFsMjcuY29tXCI+a2xpY2tlbiBTaWUgaGllcjwvYT4sIHVuZCBlaW4gbWVuc2NobGljaGVyIE1pdGFyYmVpdGVyIHdpcmQgSWhuZW4gc28gYmFsZCB3aWUgbcO2Z2xpY2ggaGVsZmVuLicsXG4gICAgICAgICdwdC1icic6XG4gICAgICAgICAgJ0xhbWVudGFtb3MgbsOjbyB0ZXIgY29uc2VndWlkbyByZXNwb25kZXIgw6Agc3VhIHBlcmd1bnRhLiBObyBlbnRhbnRvLCBub3NzYSBlcXVpcGUgZGUgc3Vwb3J0ZSBkZWRpY2FkYSBmaWNhcsOhIGZlbGl6IGVtIGFqdWRhci4gUG9yIGZhdm9yLCA8YSBocmVmPVwibWFpbHRvOnN1cHBvcnRAc29jaWFsMjcuY29tXCI+Y2xpcXVlIGFxdWk8L2E+IGUgdW0gYWdlbnRlIGh1bWFubyBvIGFqdWRhcsOhIG8gbWFpcyByw6FwaWRvIHBvc3PDrXZlbC4nLFxuICAgICAgICBhcjogJ9mG2KPYs9mBINmE2LnYr9mFINiq2YXZg9mG2YbYpyDZhdmGINin2YTYpdis2KfYqNipINi52YTZiSDYs9ik2KfZhNmDLiDZiNmF2Lkg2LDZhNmD2Iwg2YrYs9i52K8g2YHYsdmK2YIg2KfZhNiv2LnZhSDYp9mE2YXYrti12LUg2YTYr9mK2YbYpyDYqNmF2LPYp9i52K/YqtmDLiDZitix2KzZiSA8YSBocmVmPVwibWFpbHRvOnN1cHBvcnRAc29jaWFsMjcuY29tXCI+2KfZhNmG2YLYsSDZh9mG2Kc8L2E+INmI2LPZitiz2KfYudiv2YMg2KPYrdivINin2YTZiNmD2YTYp9ihINin2YTYqNi02LHZitmK2YYg2YHZiiDYo9mC2LHYqCDZiNmC2Kog2YXZhdmD2YYuJyxcbiAgICAgICAgemg6ICflvojmirHmrYnmiJHku6zmnKrog73lm57nrZTmgqjnmoTpl67popjjgILkuI3ov4fvvIzmiJHku6znmoTkuJPlsZ7mlK/mjIHlm6LpmJ/lvojkuZDmhI/kuLrmgqjmj5DkvpvluK7liqnjgILor7c8YSBocmVmPVwibWFpbHRvOnN1cHBvcnRAc29jaWFsMjcuY29tXCI+54K55Ye76L+Z6YeMPC9hPu+8jOS6uuW3peWuouacjeWwhuWwveW/q+S4uuaCqOaPkOS+m+WNj+WKqeOAgicsXG4gICAgICAgIHJ1OiAn0Jog0YHQvtC20LDQu9C10L3QuNGOLCDQvNGLINC90LUg0YHQvNC+0LPQu9C4INC+0YLQstC10YLQuNGC0Ywg0L3QsCDQstCw0Ygg0LLQvtC/0YDQvtGBLiDQntC00L3QsNC60L4g0L3QsNGI0LAg0YHQu9GD0LbQsdCwINC/0L7QtNC00LXRgNC20LrQuCDRgSDRgNCw0LTQvtGB0YLRjNGOINCy0LDQvCDQv9C+0LzQvtC20LXRgi4g0J/QvtC20LDQu9GD0LnRgdGC0LAsIDxhIGhyZWY9XCJtYWlsdG86c3VwcG9ydEBzb2NpYWwyNy5jb21cIj7QvdCw0LbQvNC40YLQtSDQt9C00LXRgdGMPC9hPiwg0Lgg0L3QsNGIINC+0L/QtdGA0LDRgtC+0YAg0YHQstGP0LbQtdGC0YHRjyDRgSDQstCw0LzQuCDQutCw0Log0LzQvtC20L3QviDRgdC60L7RgNC10LUuJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBLZXk6ICdBc2sgYW55dGhpbmcnLFxuICAgICAgRGVmYXVsdFZhbHVlOiAnQXNrIGFueXRoaW5nJyxcbiAgICAgIFRyYW5zbGF0aW9uczoge1xuICAgICAgICBlbjogJ0FzayBhbnl0aGluZycsXG4gICAgICAgIGZyOiAnRGVtYW5kZXogY2UgcXVlIHZvdXMgdm91bGV6JyxcbiAgICAgICAgaXQ6ICdDaGllZGkgcXVhbHNpYXNpIGNvc2EnLFxuICAgICAgICBlczogJ1ByZWd1bnRhIGxvIHF1ZSBxdWllcmFzJyxcbiAgICAgICAgZGU6ICdGcmFnIGFsbGVzJyxcbiAgICAgICAgJ3B0LWJyJzogJ1Blcmd1bnRlIHF1YWxxdWVyIGNvaXNhJyxcbiAgICAgICAgYXI6ICfYp9iz2KPZhCDYo9mKINi02YrYoScsXG4gICAgICAgIHpoOiAn6ZqP5L6/6ZeuJyxcbiAgICAgICAgcnU6ICfQodC/0YDQvtGB0LjRgtC1INGH0YLQviDRg9Cz0L7QtNC90L4nLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIEtleTogJ0Fzc2lzdGFudCcsXG4gICAgICBEZWZhdWx0VmFsdWU6ICdBc3Npc3RhbnQnLFxuICAgICAgVHJhbnNsYXRpb25zOiB7XG4gICAgICAgIGVuOiAnQXNzaXN0YW50JyxcbiAgICAgICAgZnI6ICdBc3Npc3RhbnQnLFxuICAgICAgICBpdDogJ0Fzc2lzdGVudGUnLFxuICAgICAgICBlczogJ0FzaXN0ZW50ZScsXG4gICAgICAgIGRlOiAnQXNzaXN0ZW50JyxcbiAgICAgICAgJ3B0LWJyJzogJ0Fzc2lzdGVudGUnLFxuICAgICAgICBhcjogJ9mF2LPYp9i52K8nLFxuICAgICAgICB6aDogJ+WKqeaJiycsXG4gICAgICAgIHJ1OiAn0JDRgdGB0LjRgdGC0LXQvdGCJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBLZXk6ICdZb3VyIHBlcnNvbmFsIG9yIGNvbXBhbnkgaW5mb3JtYXRpb24gaXMga2VwdCBwcml2YXRlIGFuZCBzZWN1cmUgd2l0aGluIHRoaXMgY2hhdC4nLFxuICAgICAgRGVmYXVsdFZhbHVlOlxuICAgICAgICAnWW91ciBwZXJzb25hbCBvciBjb21wYW55IGluZm9ybWF0aW9uIGlzIGtlcHQgcHJpdmF0ZSBhbmQgc2VjdXJlIHdpdGhpbiB0aGlzIGNoYXQuJyxcbiAgICAgIFRyYW5zbGF0aW9uczoge1xuICAgICAgICBlbjogJ1lvdXIgcGVyc29uYWwgb3IgY29tcGFueSBpbmZvcm1hdGlvbiBpcyBrZXB0IHByaXZhdGUgYW5kIHNlY3VyZSB3aXRoaW4gdGhpcyBjaGF0LicsXG4gICAgICAgIGZyOiAnVm9zIGluZm9ybWF0aW9ucyBwZXJzb25uZWxsZXMgb3UgY2VsbGVzIGRlIHZvdHJlIGVudHJlcHJpc2Ugc29udCBjb25zZXJ2w6llcyBwcml2w6llcyBldCBzw6ljdXJpc8OpZXMgZGFucyBjZXR0ZSBjb252ZXJzYXRpb24uJyxcbiAgICAgICAgaXQ6IFwiTGUgdHVlIGluZm9ybWF6aW9uaSBwZXJzb25hbGkgbyBhemllbmRhbGkgc29ubyBtYW50ZW51dGUgcHJpdmF0ZSBlIHNpY3VyZSBhbGwnaW50ZXJubyBkaSBxdWVzdGEgY2hhdC5cIixcbiAgICAgICAgZXM6ICdUdSBpbmZvcm1hY2nDs24gcGVyc29uYWwgbyBkZSBsYSBlbXByZXNhIHNlIG1hbnRpZW5lIHByaXZhZGEgeSBzZWd1cmEgZGVudHJvIGRlIGVzdGUgY2hhdC4nLFxuICAgICAgICBkZTogJ0locmUgcGVyc8O2bmxpY2hlbiBvZGVyIGdlc2Now6RmdGxpY2hlbiBJbmZvcm1hdGlvbmVuIGJsZWliZW4gaW4gZGllc2VtIENoYXQgcHJpdmF0IHVuZCBzaWNoZXIuJyxcbiAgICAgICAgJ3B0LWJyJzpcbiAgICAgICAgICAnU3VhcyBpbmZvcm1hw6fDtWVzIHBlc3NvYWlzIG91IGRhIGVtcHJlc2Egc8OjbyBtYW50aWRhcyBwcml2YWRhcyBlIHNlZ3VyYXMgZGVudHJvIGRlc3RlIGNoYXQuJyxcbiAgICAgICAgYXI6ICfYqti42YQg2YXYudmE2YjZhdin2KrZgyDYp9mE2LTYrti12YrYqSDYo9mIINmF2LnZhNmI2YXYp9iqINi02LHZg9iq2YMg2K7Yp9i12Kkg2YjYotmF2YbYqSDYr9in2K7ZhCDZh9iw2Ycg2KfZhNmF2K3Yp9iv2KvYqS4nLFxuICAgICAgICB6aDogJ+aCqOeahOS4quS6uuaIluWFrOWPuOS/oeaBr+WcqOatpOiBiuWkqeS4reS/neaMgeengeWvhuWSjOWuieWFqOOAgicsXG4gICAgICAgIHJ1OiAn0JLQsNGI0LAg0LvQuNGH0L3QsNGPINC40LvQuCDQutC+0YDQv9C+0YDQsNGC0LjQstC90LDRjyDQuNC90YTQvtGA0LzQsNGG0LjRjyDQvtGB0YLQsNC10YLRgdGPINC60L7QvdGE0LjQtNC10L3RhtC40LDQu9GM0L3QvtC5INC4INC30LDRidC40YnQtdC90L3QvtC5INCyINGN0YLQvtC8INGH0LDRgtC1LicsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgS2V5OiAnU2VuZCBtZXNzYWdlJyxcbiAgICAgIERlZmF1bHRWYWx1ZTogJ1NlbmQgbWVzc2FnZScsXG4gICAgICBUcmFuc2xhdGlvbnM6IHtcbiAgICAgICAgZW46ICdTZW5kIG1lc3NhZ2UnLFxuICAgICAgICBmcjogJ0Vudm95ZXIgdW4gbWVzc2FnZScsXG4gICAgICAgIGl0OiAnSW52aWEgbWVzc2FnZ2lvJyxcbiAgICAgICAgZXM6ICdFbnZpYXIgbWVuc2FqZScsXG4gICAgICAgIGRlOiAnTmFjaHJpY2h0IHNlbmRlbicsXG4gICAgICAgICdwdC1icic6ICdFbnZpYXIgbWVuc2FnZW0nLFxuICAgICAgICBhcjogJ9il2LHYs9in2YQg2LHYs9in2YTYqScsXG4gICAgICAgIHpoOiAn5Y+R6YCB5raI5oGvJyxcbiAgICAgICAgcnU6ICfQntGC0L/RgNCw0LLQuNGC0Ywg0YHQvtC+0LHRidC10L3QuNC1JyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBLZXk6ICdQbGF0Zm9ybSBHUFQnLFxuICAgICAgRGVmYXVsdFZhbHVlOiAnUGxhdGZvcm0gR1BUJyxcbiAgICAgIFRyYW5zbGF0aW9uczoge1xuICAgICAgICBlbjogJ1BsYXRmb3JtIEdQVCcsXG4gICAgICAgIGZyOiAnUGxhdGVmb3JtZSBHUFQnLFxuICAgICAgICBpdDogJ1BpYXR0YWZvcm1hIEdQVCcsXG4gICAgICAgIGVzOiAnUGxhdGFmb3JtYSBHUFQnLFxuICAgICAgICBkZTogJ1BsYXR0Zm9ybSBHUFQnLFxuICAgICAgICAncHQtYnInOiAnUGxhdGFmb3JtYSBHUFQnLFxuICAgICAgICBhcjogJ9mF2YbYtdipIEdQVCcsXG4gICAgICAgIHpoOiAn5bmz5Y+wIEdQVCcsXG4gICAgICAgIHJ1OiAn0J/Qu9Cw0YLRhNC+0YDQvNCwIEdQVCcsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgS2V5OiAnTmV3IENoYXQnLFxuICAgICAgRGVmYXVsdFZhbHVlOiAnTmV3IENoYXQnLFxuICAgICAgVHJhbnNsYXRpb25zOiB7XG4gICAgICAgIGVuOiAnTmV3IENoYXQnLFxuICAgICAgICBmcjogJ05vdXZlbGxlIGNvbnZlcnNhdGlvbicsXG4gICAgICAgIGl0OiAnTnVvdmEgY2hhdCcsXG4gICAgICAgIGVzOiAnTnVldm8gY2hhdCcsXG4gICAgICAgIGRlOiAnTmV1ZXIgQ2hhdCcsXG4gICAgICAgICdwdC1icic6ICdOb3ZvIGNoYXQnLFxuICAgICAgICBhcjogJ9mF2K3Yp9iv2KvYqSDYrNiv2YrYr9ipJyxcbiAgICAgICAgemg6ICfmlrDogYrlpKknLFxuICAgICAgICBydTogJ9Cd0L7QstGL0Lkg0YfQsNGCJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBLZXk6ICdZb3UnLFxuICAgICAgRGVmYXVsdFZhbHVlOiAnWW91JyxcbiAgICAgIFRyYW5zbGF0aW9uczoge1xuICAgICAgICBlbjogJ1lvdScsXG4gICAgICAgIGZyOiAnVm91cycsXG4gICAgICAgIGl0OiAnVHUnLFxuICAgICAgICBlczogJ1TDuicsXG4gICAgICAgIGRlOiAnRHUnLFxuICAgICAgICAncHQtYnInOiAnVm9jw6onLFxuICAgICAgICBhcjogJ9ij2YbYqicsXG4gICAgICAgIHpoOiAn5oKoJyxcbiAgICAgICAgcnU6ICfQktGLJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBLZXk6ICdXcml0ZSB5b3VyIG1lc3NhZ2UnLFxuICAgICAgRGVmYXVsdFZhbHVlOiAnV3JpdGUgeW91ciBtZXNzYWdlJyxcbiAgICAgIFRyYW5zbGF0aW9uczoge1xuICAgICAgICBlbjogJ1dyaXRlIHlvdXIgbWVzc2FnZScsXG4gICAgICAgIGZyOiAnw4ljcml2ZXogdm90cmUgbWVzc2FnZScsXG4gICAgICAgIGl0OiAnU2NyaXZpIGlsIHR1byBtZXNzYWdnaW8nLFxuICAgICAgICBlczogJ0VzY3JpYmUgdHUgbWVuc2FqZScsXG4gICAgICAgIGRlOiAnU2NocmVpYmVuIFNpZSBJaHJlIE5hY2hyaWNodCcsXG4gICAgICAgICdwdC1icic6ICdFc2NyZXZhIHN1YSBtZW5zYWdlbScsXG4gICAgICAgIGFyOiAn2KfZg9iq2Kgg2LHYs9in2YTYqtmDJyxcbiAgICAgICAgemg6ICflhpnkuIvmgqjnmoTmtojmga8nLFxuICAgICAgICBydTogJ9Cd0LDQv9C40YjQuNGC0LUg0LLQsNGI0LUg0YHQvtC+0LHRidC10L3QuNC1JyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBLZXk6ICdTZW5kJyxcbiAgICAgIERlZmF1bHRWYWx1ZTogJ1NlbmQnLFxuICAgICAgVHJhbnNsYXRpb25zOiB7XG4gICAgICAgIGVuOiAnU2VuZCcsXG4gICAgICAgIGZyOiAnRW52b3llcicsXG4gICAgICAgIGl0OiAnSW52aWEnLFxuICAgICAgICBlczogJ0VudmlhcicsXG4gICAgICAgIGRlOiAnU2VuZGVuJyxcbiAgICAgICAgJ3B0LWJyJzogJ0VudmlhcicsXG4gICAgICAgIGFyOiAn2KXYsdiz2KfZhCcsXG4gICAgICAgIHpoOiAn5Y+R6YCBJyxcbiAgICAgICAgcnU6ICfQntGC0L/RgNCw0LLQuNGC0YwnLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIEtleTogJ0NhbGwgSW50ZXJmYWNlJyxcbiAgICAgIERlZmF1bHRWYWx1ZTogJ0NhbGwgSW50ZXJmYWNlJyxcbiAgICAgIFRyYW5zbGF0aW9uczoge1xuICAgICAgICBlbjogJ0NhbGwgSW50ZXJmYWNlJyxcbiAgICAgICAgZnI6IFwiSW50ZXJmYWNlIGQnYXBwZWxcIixcbiAgICAgICAgaXQ6ICdJbnRlcmZhY2NpYSBjaGlhbWF0YScsXG4gICAgICAgIGVzOiAnSW50ZXJmYXogZGUgbGxhbWFkYScsXG4gICAgICAgIGRlOiAnQW5ydWZvYmVyZmzDpGNoZScsXG4gICAgICAgICdwdC1icic6ICdJbnRlcmZhY2UgZGUgY2hhbWFkYScsXG4gICAgICAgIGFyOiAn2YjYp9is2YfYqSDYp9mE2KfYqti12KfZhCcsXG4gICAgICAgIHpoOiAn5ZG85Y+r55WM6Z2iJyxcbiAgICAgICAgcnU6ICfQmNC90YLQtdGA0YTQtdC50YEg0LfQstC+0L3QutCwJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBLZXk6ICdDbG9zZScsXG4gICAgICBEZWZhdWx0VmFsdWU6ICdDbG9zZScsXG4gICAgICBUcmFuc2xhdGlvbnM6IHtcbiAgICAgICAgZW46ICdDbG9zZScsXG4gICAgICAgIGZyOiAnRmVybWVyJyxcbiAgICAgICAgaXQ6ICdDaGl1ZGknLFxuICAgICAgICBlczogJ0NlcnJhcicsXG4gICAgICAgIGRlOiAnU2NobGllw59lbicsXG4gICAgICAgICdwdC1icic6ICdGZWNoYXInLFxuICAgICAgICBhcjogJ9il2LrZhNin2YInLFxuICAgICAgICB6aDogJ+WFs+mXrScsXG4gICAgICAgIHJ1OiAn0JfQsNC60YDRi9GC0YwnLFxuICAgICAgfSxcbiAgICB9LFxuICBdO1xufVxuIl19