@hivegpt/hiveai-angular 0.0.188 → 0.0.190

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 (48) hide show
  1. package/README.md +24 -24
  2. package/bundles/hivegpt-hiveai-angular.umd.js +1980 -1983
  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/environments/environment.d.ts +14 -14
  7. package/environments/environment.d.ts.map +1 -1
  8. package/esm2015/environments/environment.js +15 -15
  9. package/esm2015/hivegpt-hiveai-angular.js +10 -10
  10. package/esm2015/lib/components/NotificationSocket.js +39 -39
  11. package/esm2015/lib/components/chat-drawer/chat-drawer.component.js +1116 -1116
  12. package/esm2015/lib/components/chatbot/chatbot.component.js +50 -50
  13. package/esm2015/lib/components/conversation.service.js +45 -45
  14. package/esm2015/lib/components/socket-service.service.js +69 -72
  15. package/esm2015/lib/components/video-player/video-player.component.js +123 -123
  16. package/esm2015/lib/hivegpt.module.js +19 -19
  17. package/esm2015/lib/models/video.js +2 -2
  18. package/esm2015/lib/pipes/safe-html.pipe.js +19 -19
  19. package/esm2015/lib/utils/utils.js +36 -36
  20. package/esm2015/public-api.js +7 -7
  21. package/fesm2015/hivegpt-hiveai-angular.js +1478 -1481
  22. package/fesm2015/hivegpt-hiveai-angular.js.map +1 -1
  23. package/hivegpt-hiveai-angular.d.ts +9 -9
  24. package/hivegpt-hiveai-angular.d.ts.map +1 -1
  25. package/hivegpt-hiveai-angular.metadata.json +1 -1
  26. package/lib/components/NotificationSocket.d.ts +4 -4
  27. package/lib/components/NotificationSocket.d.ts.map +1 -1
  28. package/lib/components/chat-drawer/chat-drawer.component.d.ts +185 -185
  29. package/lib/components/chat-drawer/chat-drawer.component.d.ts.map +1 -1
  30. package/lib/components/chatbot/chatbot.component.d.ts +35 -35
  31. package/lib/components/chatbot/chatbot.component.d.ts.map +1 -1
  32. package/lib/components/conversation.service.d.ts +12 -12
  33. package/lib/components/conversation.service.d.ts.map +1 -1
  34. package/lib/components/socket-service.service.d.ts +18 -18
  35. package/lib/components/socket-service.service.d.ts.map +1 -1
  36. package/lib/components/video-player/video-player.component.d.ts +35 -35
  37. package/lib/components/video-player/video-player.component.d.ts.map +1 -1
  38. package/lib/hivegpt.module.d.ts +2 -2
  39. package/lib/hivegpt.module.d.ts.map +1 -1
  40. package/lib/models/video.d.ts +34 -34
  41. package/lib/models/video.d.ts.map +1 -1
  42. package/lib/pipes/safe-html.pipe.d.ts +7 -7
  43. package/lib/pipes/safe-html.pipe.d.ts.map +1 -1
  44. package/lib/utils/utils.d.ts +2 -2
  45. package/lib/utils/utils.d.ts.map +1 -1
  46. package/package.json +1 -1
  47. package/public-api.d.ts +3 -3
  48. package/public-api.d.ts.map +1 -1
@@ -1,50 +1,50 @@
1
- import { Component, Input } from '@angular/core';
2
- export class ChatBotComponent {
3
- constructor() {
4
- this.visible = false;
5
- }
6
- toggle() {
7
- this.visible = !this.visible;
8
- }
9
- }
10
- ChatBotComponent.decorators = [
11
- { type: Component, args: [{
12
- selector: 'hivegpt-chatbot',
13
- template: "<button mat-icon-button class=\"chat-button\" color=\"primary\" (click)=\"toggle()\">\r\n <mat-icon>chat</mat-icon>\r\n</button>\r\n\r\n<ng-container *ngIf=\"visible\">\r\n <hivegpt-chat-drawer\r\n [apiKey]=\"apiKey\"\r\n [bgBubbleAi]=\"bgBubbleAi\"\r\n [bgBubbleUser]=\"bgBubbleUser\"\r\n [bgGradient]=\"bgGradient\"\r\n [botName]=\"botName\"\r\n [closeButtonbgColor]=\"closeButtonbgColor\"\r\n [closeButtonColor]=\"closeButtonColor\"\r\n [credentials]=\"credentials\"\r\n [dateTextColor]=\"dateTextColor\"\r\n [dateTimeColor]=\"dateTimeColor\"\r\n [eventId]=\"eventId\"\r\n [eventName]=\"eventName\"\r\n [formFieldBgColor]=\"formFieldBgColor\"\r\n [formFieldTextColor]=\"formFieldTextColor\"\r\n [fullView]=\"fullView\"\r\n [greeting]=\"greeting\"\r\n [gradientColors]=\"gradientColors\"\r\n [messageTextColorAi]=\"messageTextColorAi\"\r\n [messageTextColorUser]=\"messageTextColorUser\"\r\n [sendButtonColor]=\"sendButtonColor\"\r\n [sendButtonTextColor]=\"sendButtonTextColor\"\r\n [showClose]=\"showClose\"\r\n [thumbsDownMessages]=\"thumbsDownMessages\"\r\n [thumbsUpMessage]=\"thumbsUpMessage\"\r\n [unknownResponses]=\"unknownResponses\"\r\n [useOpenAi]=\"useOpenAi\"\r\n [userId]=\"userId\"\r\n [botId]=\"botId\"\r\n >\r\n </hivegpt-chat-drawer>\r\n</ng-container>\r\n",
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}"]
15
- },] }
16
- ];
17
- ChatBotComponent.propDecorators = {
18
- userId: [{ type: Input }],
19
- apiKey: [{ type: Input }],
20
- botName: [{ type: Input }],
21
- botSkills: [{ type: Input }],
22
- botId: [{ type: Input }],
23
- closeButtonColor: [{ type: Input }],
24
- gradientColors: [{ type: Input }],
25
- greeting: [{ type: Input }],
26
- sendButtonColor: [{ type: Input }],
27
- useOpenAi: [{ type: Input }],
28
- showClose: [{ type: Input }],
29
- bgGradient: [{ type: Input }],
30
- sendButtonTextColor: [{ type: Input }],
31
- fullView: [{ type: Input }],
32
- bgBubbleAi: [{ type: Input }],
33
- bgBubbleUser: [{ type: Input }],
34
- closeButtonbgColor: [{ type: Input }],
35
- messageTextColorAi: [{ type: Input }],
36
- messageTextColorUser: [{ type: Input }],
37
- dateTimeColor: [{ type: Input }],
38
- dateTextColor: [{ type: Input }],
39
- formFieldBgColor: [{ type: Input }],
40
- formFieldTextColor: [{ type: Input }],
41
- thumbsUpMessage: [{ type: Input }],
42
- thumbsDownMessages: [{ type: Input }],
43
- timezone: [{ type: Input }],
44
- eventName: [{ type: Input }],
45
- credentials: [{ type: Input }],
46
- unknownResponses: [{ type: Input }],
47
- rules: [{ type: Input }],
48
- eventId: [{ type: Input }]
49
- };
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdGJvdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiRDovU29jaWFsMjcvT25MaW5lIFRGUy9MaXRlLVBsYXRmb3JtL0hpdmVBSS1QYWNrYWdlcy9wcm9qZWN0cy9oaXZlZ3B0L2V2ZW50c2dwdC1hbmd1bGFyL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2NoYXRib3QvY2hhdGJvdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFNakQsTUFBTSxPQUFPLGdCQUFnQjtJQUw3QjtRQXFDRSxZQUFPLEdBQUcsS0FBSyxDQUFDO0lBS2xCLENBQUM7SUFIQyxNQUFNO1FBQ0osSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDL0IsQ0FBQzs7O1lBekNGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsaUJBQWlCO2dCQUMzQix5eUNBQXVDOzthQUV4Qzs7O3FCQUVFLEtBQUs7cUJBQ0wsS0FBSztzQkFDTCxLQUFLO3dCQUNMLEtBQUs7b0JBQ0wsS0FBSzsrQkFDTCxLQUFLOzZCQUNMLEtBQUs7dUJBQ0wsS0FBSzs4QkFDTCxLQUFLO3dCQUNMLEtBQUs7d0JBQ0wsS0FBSzt5QkFDTCxLQUFLO2tDQUNMLEtBQUs7dUJBQ0wsS0FBSzt5QkFDTCxLQUFLOzJCQUNMLEtBQUs7aUNBQ0wsS0FBSztpQ0FDTCxLQUFLO21DQUNMLEtBQUs7NEJBQ0wsS0FBSzs0QkFDTCxLQUFLOytCQUNMLEtBQUs7aUNBQ0wsS0FBSzs4QkFDTCxLQUFLO2lDQUNMLEtBQUs7dUJBQ0wsS0FBSzt3QkFDTCxLQUFLOzBCQUNMLEtBQUs7K0JBQ0wsS0FBSztvQkFDTCxLQUFLO3NCQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaGl2ZWdwdC1jaGF0Ym90JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2hhdGJvdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY2hhdGJvdC5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hhdEJvdENvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgdXNlcklkITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGFwaUtleSE6IHN0cmluZztcclxuICBASW5wdXQoKSBib3ROYW1lITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGJvdFNraWxscyE6IHN0cmluZztcclxuICBASW5wdXQoKSBib3RJZCE6IHN0cmluZztcclxuICBASW5wdXQoKSBjbG9zZUJ1dHRvbkNvbG9yITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGdyYWRpZW50Q29sb3JzITogc3RyaW5nW107XHJcbiAgQElucHV0KCkgZ3JlZXRpbmchOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgc2VuZEJ1dHRvbkNvbG9yITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHVzZU9wZW5BaSE6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgc2hvd0Nsb3NlITogYm9vbGVhbjtcclxuICBASW5wdXQoKSBiZ0dyYWRpZW50ITogc3RyaW5nW107XHJcbiAgQElucHV0KCkgc2VuZEJ1dHRvblRleHRDb2xvciE6IHN0cmluZztcclxuICBASW5wdXQoKSBmdWxsVmlldyE6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgYmdCdWJibGVBaSE6IHN0cmluZztcclxuICBASW5wdXQoKSBiZ0J1YmJsZVVzZXIhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgY2xvc2VCdXR0b25iZ0NvbG9yITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIG1lc3NhZ2VUZXh0Q29sb3JBaSE6IHN0cmluZztcclxuICBASW5wdXQoKSBtZXNzYWdlVGV4dENvbG9yVXNlciE6IHN0cmluZztcclxuICBASW5wdXQoKSBkYXRlVGltZUNvbG9yITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGRhdGVUZXh0Q29sb3IhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZm9ybUZpZWxkQmdDb2xvciE6IHN0cmluZztcclxuICBASW5wdXQoKSBmb3JtRmllbGRUZXh0Q29sb3IhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdGh1bWJzVXBNZXNzYWdlITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHRodW1ic0Rvd25NZXNzYWdlcyE6IHN0cmluZ1tdO1xyXG4gIEBJbnB1dCgpIHRpbWV6b25lITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGV2ZW50TmFtZSE6IHN0cmluZztcclxuICBASW5wdXQoKSBjcmVkZW50aWFscyE6IFtdO1xyXG4gIEBJbnB1dCgpIHVua25vd25SZXNwb25zZXMhOiBbXTtcclxuICBASW5wdXQoKSBydWxlcyE6IHN0cmluZztcclxuICBASW5wdXQoKSBldmVudElkITogc3RyaW5nO1xyXG4gIHZpc2libGUgPSBmYWxzZTtcclxuXHJcbiAgdG9nZ2xlKCkge1xyXG4gICAgdGhpcy52aXNpYmxlID0gIXRoaXMudmlzaWJsZTtcclxuICB9XHJcbn1cclxuIl19
1
+ import { Component, Input } from '@angular/core';
2
+ export class ChatBotComponent {
3
+ constructor() {
4
+ this.visible = false;
5
+ }
6
+ toggle() {
7
+ this.visible = !this.visible;
8
+ }
9
+ }
10
+ ChatBotComponent.decorators = [
11
+ { type: Component, args: [{
12
+ selector: 'hivegpt-chatbot',
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\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 >\n </hivegpt-chat-drawer>\n</ng-container>\n",
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}"]
15
+ },] }
16
+ ];
17
+ ChatBotComponent.propDecorators = {
18
+ userId: [{ type: Input }],
19
+ apiKey: [{ type: Input }],
20
+ botName: [{ type: Input }],
21
+ botSkills: [{ type: Input }],
22
+ botId: [{ type: Input }],
23
+ closeButtonColor: [{ type: Input }],
24
+ gradientColors: [{ type: Input }],
25
+ greeting: [{ type: Input }],
26
+ sendButtonColor: [{ type: Input }],
27
+ useOpenAi: [{ type: Input }],
28
+ showClose: [{ type: Input }],
29
+ bgGradient: [{ type: Input }],
30
+ sendButtonTextColor: [{ type: Input }],
31
+ fullView: [{ type: Input }],
32
+ bgBubbleAi: [{ type: Input }],
33
+ bgBubbleUser: [{ type: Input }],
34
+ closeButtonbgColor: [{ type: Input }],
35
+ messageTextColorAi: [{ type: Input }],
36
+ messageTextColorUser: [{ type: Input }],
37
+ dateTimeColor: [{ type: Input }],
38
+ dateTextColor: [{ type: Input }],
39
+ formFieldBgColor: [{ type: Input }],
40
+ formFieldTextColor: [{ type: Input }],
41
+ thumbsUpMessage: [{ type: Input }],
42
+ thumbsDownMessages: [{ type: Input }],
43
+ timezone: [{ type: Input }],
44
+ eventName: [{ type: Input }],
45
+ credentials: [{ type: Input }],
46
+ unknownResponses: [{ type: Input }],
47
+ rules: [{ type: Input }],
48
+ eventId: [{ type: Input }]
49
+ };
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdGJvdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL211ZGRhc3Npcm5heXllci9EZXZlbG9wbWVudC9Tb2NpYWwyNy9IaXZlQUktUGFja2FnZXMvcHJvamVjdHMvaGl2ZWdwdC9ldmVudHNncHQtYW5ndWxhci9zcmMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9jaGF0Ym90L2NoYXRib3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBTWpELE1BQU0sT0FBTyxnQkFBZ0I7SUFMN0I7UUFxQ0UsWUFBTyxHQUFHLEtBQUssQ0FBQztJQUtsQixDQUFDO0lBSEMsTUFBTTtRQUNKLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQy9CLENBQUM7OztZQXpDRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtnQkFDM0IsK3RDQUF1Qzs7YUFFeEM7OztxQkFFRSxLQUFLO3FCQUNMLEtBQUs7c0JBQ0wsS0FBSzt3QkFDTCxLQUFLO29CQUNMLEtBQUs7K0JBQ0wsS0FBSzs2QkFDTCxLQUFLO3VCQUNMLEtBQUs7OEJBQ0wsS0FBSzt3QkFDTCxLQUFLO3dCQUNMLEtBQUs7eUJBQ0wsS0FBSztrQ0FDTCxLQUFLO3VCQUNMLEtBQUs7eUJBQ0wsS0FBSzsyQkFDTCxLQUFLO2lDQUNMLEtBQUs7aUNBQ0wsS0FBSzttQ0FDTCxLQUFLOzRCQUNMLEtBQUs7NEJBQ0wsS0FBSzsrQkFDTCxLQUFLO2lDQUNMLEtBQUs7OEJBQ0wsS0FBSztpQ0FDTCxLQUFLO3VCQUNMLEtBQUs7d0JBQ0wsS0FBSzswQkFDTCxLQUFLOytCQUNMLEtBQUs7b0JBQ0wsS0FBSztzQkFDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaGl2ZWdwdC1jaGF0Ym90JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NoYXRib3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jaGF0Ym90LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENoYXRCb3RDb21wb25lbnQge1xuICBASW5wdXQoKSB1c2VySWQhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGFwaUtleSE6IHN0cmluZztcbiAgQElucHV0KCkgYm90TmFtZSE6IHN0cmluZztcbiAgQElucHV0KCkgYm90U2tpbGxzITogc3RyaW5nO1xuICBASW5wdXQoKSBib3RJZCE6IHN0cmluZztcbiAgQElucHV0KCkgY2xvc2VCdXR0b25Db2xvciE6IHN0cmluZztcbiAgQElucHV0KCkgZ3JhZGllbnRDb2xvcnMhOiBzdHJpbmdbXTtcbiAgQElucHV0KCkgZ3JlZXRpbmchOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNlbmRCdXR0b25Db2xvciE6IHN0cmluZztcbiAgQElucHV0KCkgdXNlT3BlbkFpITogYm9vbGVhbjtcbiAgQElucHV0KCkgc2hvd0Nsb3NlITogYm9vbGVhbjtcbiAgQElucHV0KCkgYmdHcmFkaWVudCE6IHN0cmluZ1tdO1xuICBASW5wdXQoKSBzZW5kQnV0dG9uVGV4dENvbG9yITogc3RyaW5nO1xuICBASW5wdXQoKSBmdWxsVmlldyE6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGJnQnViYmxlQWkhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGJnQnViYmxlVXNlciE6IHN0cmluZztcbiAgQElucHV0KCkgY2xvc2VCdXR0b25iZ0NvbG9yITogc3RyaW5nO1xuICBASW5wdXQoKSBtZXNzYWdlVGV4dENvbG9yQWkhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIG1lc3NhZ2VUZXh0Q29sb3JVc2VyITogc3RyaW5nO1xuICBASW5wdXQoKSBkYXRlVGltZUNvbG9yITogc3RyaW5nO1xuICBASW5wdXQoKSBkYXRlVGV4dENvbG9yITogc3RyaW5nO1xuICBASW5wdXQoKSBmb3JtRmllbGRCZ0NvbG9yITogc3RyaW5nO1xuICBASW5wdXQoKSBmb3JtRmllbGRUZXh0Q29sb3IhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHRodW1ic1VwTWVzc2FnZSE6IHN0cmluZztcbiAgQElucHV0KCkgdGh1bWJzRG93bk1lc3NhZ2VzITogc3RyaW5nW107XG4gIEBJbnB1dCgpIHRpbWV6b25lITogc3RyaW5nO1xuICBASW5wdXQoKSBldmVudE5hbWUhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNyZWRlbnRpYWxzITogW107XG4gIEBJbnB1dCgpIHVua25vd25SZXNwb25zZXMhOiBbXTtcbiAgQElucHV0KCkgcnVsZXMhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGV2ZW50SWQhOiBzdHJpbmc7XG4gIHZpc2libGUgPSBmYWxzZTtcblxuICB0b2dnbGUoKSB7XG4gICAgdGhpcy52aXNpYmxlID0gIXRoaXMudmlzaWJsZTtcbiAgfVxufVxuIl19
@@ -1,45 +1,45 @@
1
- import { Injectable } from '@angular/core';
2
- import { Subject } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- export class ConversationService {
5
- constructor() {
6
- this.storageKey = 'conversationKey';
7
- this.userSepecificNotification = new Subject();
8
- }
9
- generateKey() {
10
- const timestamp = Math.floor(new Date().getTime() / 1000).toString(16);
11
- const randomHex = 'xxxxxxxxxxxxxxxx'.replace(/[x]/g, () => {
12
- return (Math.floor(Math.random() * 16)).toString(16);
13
- });
14
- return timestamp + randomHex;
15
- }
16
- generateStorageKey(key) {
17
- return `conversationKey_${key}`;
18
- }
19
- ensureKeyExists(storageKey, key) {
20
- if (!localStorage.getItem(storageKey)) {
21
- const newKey = this.generateKey();
22
- localStorage.setItem(storageKey, newKey);
23
- }
24
- }
25
- getKey(key) {
26
- const storageKey = this.generateStorageKey(key);
27
- this.ensureKeyExists(storageKey, key);
28
- return localStorage.getItem(storageKey);
29
- }
30
- sendValidatedUserData(message) {
31
- //console.log('lgging messages', message, new Date());\
32
- this.userSepecificNotification.next(message);
33
- }
34
- getUserSpecificNotification() {
35
- return this.userSepecificNotification.asObservable();
36
- }
37
- }
38
- ConversationService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ConversationService_Factory() { return new ConversationService(); }, token: ConversationService, providedIn: "root" });
39
- ConversationService.decorators = [
40
- { type: Injectable, args: [{
41
- providedIn: 'root'
42
- },] }
43
- ];
44
- ConversationService.ctorParameters = () => [];
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiRDovU29jaWFsMjcvT25MaW5lIFRGUy9MaXRlLVBsYXRmb3JtL0hpdmVBSS1QYWNrYWdlcy9wcm9qZWN0cy9oaXZlZ3B0L2V2ZW50c2dwdC1hbmd1bGFyL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2NvbnZlcnNhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFLM0MsTUFBTSxPQUFPLG1CQUFtQjtJQUk5QjtRQUZRLGVBQVUsR0FBRyxpQkFBaUIsQ0FBQztRQTRCL0IsOEJBQXlCLEdBQWlCLElBQUksT0FBTyxFQUFPLENBQUM7SUF4QnJFLENBQUM7SUFDTyxXQUFXO1FBQ2pCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdkUsTUFBTSxTQUFTLEdBQUcsa0JBQWtCLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUU7WUFDeEQsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZELENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQy9CLENBQUM7SUFDTyxrQkFBa0IsQ0FBQyxHQUFXO1FBQ3BDLE9BQU8sbUJBQW1CLEdBQUcsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFTyxlQUFlLENBQUMsVUFBa0IsRUFBRSxHQUFXO1FBQ3JELElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ3JDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNsQyxZQUFZLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztTQUMxQztJQUNILENBQUM7SUFFRCxNQUFNLENBQUMsR0FBVztRQUNoQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDdEMsT0FBTyxZQUFZLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBRSxDQUFDO0lBQzNDLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxPQUFZO1FBQ2hDLHVEQUF1RDtRQUV2RCxJQUFJLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFDRCwyQkFBMkI7UUFDekIsT0FBTyxJQUFJLENBQUMseUJBQXlCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdkQsQ0FBQzs7OztZQXpDRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbnZlcnNhdGlvblNlcnZpY2Uge1xyXG5cclxuICBwcml2YXRlIHN0b3JhZ2VLZXkgPSAnY29udmVyc2F0aW9uS2V5JztcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcblxyXG4gIH1cclxuICBwcml2YXRlIGdlbmVyYXRlS2V5KCk6IHN0cmluZyB7XHJcbiAgICBjb25zdCB0aW1lc3RhbXAgPSBNYXRoLmZsb29yKG5ldyBEYXRlKCkuZ2V0VGltZSgpIC8gMTAwMCkudG9TdHJpbmcoMTYpO1xyXG4gICAgY29uc3QgcmFuZG9tSGV4ID0gJ3h4eHh4eHh4eHh4eHh4eHgnLnJlcGxhY2UoL1t4XS9nLCAoKSA9PiB7XHJcbiAgICAgIHJldHVybiAoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMTYpKS50b1N0cmluZygxNik7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiB0aW1lc3RhbXAgKyByYW5kb21IZXg7XHJcbiAgfVxyXG4gIHByaXZhdGUgZ2VuZXJhdGVTdG9yYWdlS2V5KGtleTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBgY29udmVyc2F0aW9uS2V5XyR7a2V5fWA7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGVuc3VyZUtleUV4aXN0cyhzdG9yYWdlS2V5OiBzdHJpbmcsIGtleTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBpZiAoIWxvY2FsU3RvcmFnZS5nZXRJdGVtKHN0b3JhZ2VLZXkpKSB7XHJcbiAgICAgIGNvbnN0IG5ld0tleSA9IHRoaXMuZ2VuZXJhdGVLZXkoKTtcclxuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oc3RvcmFnZUtleSwgbmV3S2V5KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldEtleShrZXk6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBzdG9yYWdlS2V5ID0gdGhpcy5nZW5lcmF0ZVN0b3JhZ2VLZXkoa2V5KTtcclxuICAgIHRoaXMuZW5zdXJlS2V5RXhpc3RzKHN0b3JhZ2VLZXksIGtleSk7XHJcbiAgICByZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0oc3RvcmFnZUtleSkhO1xyXG4gIH1cclxuICBwcml2YXRlIHVzZXJTZXBlY2lmaWNOb3RpZmljYXRpb246IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0PGFueT4oKTtcclxuICBzZW5kVmFsaWRhdGVkVXNlckRhdGEobWVzc2FnZTogYW55KSB7XHJcbiAgICAvL2NvbnNvbGUubG9nKCdsZ2dpbmcgbWVzc2FnZXMnLCBtZXNzYWdlLCBuZXcgRGF0ZSgpKTtcXFxyXG5cclxuICAgIHRoaXMudXNlclNlcGVjaWZpY05vdGlmaWNhdGlvbi5uZXh0KG1lc3NhZ2UpO1xyXG4gIH1cclxuICBnZXRVc2VyU3BlY2lmaWNOb3RpZmljYXRpb24oKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLnVzZXJTZXBlY2lmaWNOb3RpZmljYXRpb24uYXNPYnNlcnZhYmxlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
1
+ import { Injectable } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ export class ConversationService {
5
+ constructor() {
6
+ this.storageKey = 'conversationKey';
7
+ this.userSepecificNotification = new Subject();
8
+ }
9
+ generateKey() {
10
+ const timestamp = Math.floor(new Date().getTime() / 1000).toString(16);
11
+ const randomHex = 'xxxxxxxxxxxxxxxx'.replace(/[x]/g, () => {
12
+ return (Math.floor(Math.random() * 16)).toString(16);
13
+ });
14
+ return timestamp + randomHex;
15
+ }
16
+ generateStorageKey(key) {
17
+ return `conversationKey_${key}`;
18
+ }
19
+ ensureKeyExists(storageKey, key) {
20
+ if (!localStorage.getItem(storageKey)) {
21
+ const newKey = this.generateKey();
22
+ localStorage.setItem(storageKey, newKey);
23
+ }
24
+ }
25
+ getKey(key) {
26
+ const storageKey = this.generateStorageKey(key);
27
+ this.ensureKeyExists(storageKey, key);
28
+ return localStorage.getItem(storageKey);
29
+ }
30
+ sendValidatedUserData(message) {
31
+ //console.log('lgging messages', message, new Date());\
32
+ this.userSepecificNotification.next(message);
33
+ }
34
+ getUserSpecificNotification() {
35
+ return this.userSepecificNotification.asObservable();
36
+ }
37
+ }
38
+ ConversationService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ConversationService_Factory() { return new ConversationService(); }, token: ConversationService, providedIn: "root" });
39
+ ConversationService.decorators = [
40
+ { type: Injectable, args: [{
41
+ providedIn: 'root'
42
+ },] }
43
+ ];
44
+ ConversationService.ctorParameters = () => [];
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL211ZGRhc3Npcm5heXllci9EZXZlbG9wbWVudC9Tb2NpYWwyNy9IaXZlQUktUGFja2FnZXMvcHJvamVjdHMvaGl2ZWdwdC9ldmVudHNncHQtYW5ndWxhci9zcmMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9jb252ZXJzYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBSzNDLE1BQU0sT0FBTyxtQkFBbUI7SUFJOUI7UUFGUSxlQUFVLEdBQUcsaUJBQWlCLENBQUM7UUE0Qi9CLDhCQUF5QixHQUFpQixJQUFJLE9BQU8sRUFBTyxDQUFDO0lBeEJyRSxDQUFDO0lBQ08sV0FBVztRQUNqQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLE1BQU0sU0FBUyxHQUFHLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFO1lBQ3hELE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN2RCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sU0FBUyxHQUFHLFNBQVMsQ0FBQztJQUMvQixDQUFDO0lBQ08sa0JBQWtCLENBQUMsR0FBVztRQUNwQyxPQUFPLG1CQUFtQixHQUFHLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRU8sZUFBZSxDQUFDLFVBQWtCLEVBQUUsR0FBVztRQUNyRCxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUNyQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbEMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDMUM7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQVc7UUFDaEIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3RDLE9BQU8sWUFBWSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRUQscUJBQXFCLENBQUMsT0FBWTtRQUNoQyx1REFBdUQ7UUFFdkQsSUFBSSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBQ0QsMkJBQTJCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLHlCQUF5QixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3ZELENBQUM7Ozs7WUF6Q0YsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDb252ZXJzYXRpb25TZXJ2aWNlIHtcblxuICBwcml2YXRlIHN0b3JhZ2VLZXkgPSAnY29udmVyc2F0aW9uS2V5JztcblxuICBjb25zdHJ1Y3RvcigpIHtcblxuICB9XG4gIHByaXZhdGUgZ2VuZXJhdGVLZXkoKTogc3RyaW5nIHtcbiAgICBjb25zdCB0aW1lc3RhbXAgPSBNYXRoLmZsb29yKG5ldyBEYXRlKCkuZ2V0VGltZSgpIC8gMTAwMCkudG9TdHJpbmcoMTYpO1xuICAgIGNvbnN0IHJhbmRvbUhleCA9ICd4eHh4eHh4eHh4eHh4eHh4Jy5yZXBsYWNlKC9beF0vZywgKCkgPT4ge1xuICAgICAgcmV0dXJuIChNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAxNikpLnRvU3RyaW5nKDE2KTtcbiAgICB9KTtcbiAgICByZXR1cm4gdGltZXN0YW1wICsgcmFuZG9tSGV4O1xuICB9XG4gIHByaXZhdGUgZ2VuZXJhdGVTdG9yYWdlS2V5KGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYGNvbnZlcnNhdGlvbktleV8ke2tleX1gO1xuICB9XG5cbiAgcHJpdmF0ZSBlbnN1cmVLZXlFeGlzdHMoc3RvcmFnZUtleTogc3RyaW5nLCBrZXk6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghbG9jYWxTdG9yYWdlLmdldEl0ZW0oc3RvcmFnZUtleSkpIHtcbiAgICAgIGNvbnN0IG5ld0tleSA9IHRoaXMuZ2VuZXJhdGVLZXkoKTtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHN0b3JhZ2VLZXksIG5ld0tleSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0S2V5KGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBzdG9yYWdlS2V5ID0gdGhpcy5nZW5lcmF0ZVN0b3JhZ2VLZXkoa2V5KTtcbiAgICB0aGlzLmVuc3VyZUtleUV4aXN0cyhzdG9yYWdlS2V5LCBrZXkpO1xuICAgIHJldHVybiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShzdG9yYWdlS2V5KSE7XG4gIH1cbiAgcHJpdmF0ZSB1c2VyU2VwZWNpZmljTm90aWZpY2F0aW9uOiBTdWJqZWN0PGFueT4gPSBuZXcgU3ViamVjdDxhbnk+KCk7XG4gIHNlbmRWYWxpZGF0ZWRVc2VyRGF0YShtZXNzYWdlOiBhbnkpIHtcbiAgICAvL2NvbnNvbGUubG9nKCdsZ2dpbmcgbWVzc2FnZXMnLCBtZXNzYWdlLCBuZXcgRGF0ZSgpKTtcXFxuXG4gICAgdGhpcy51c2VyU2VwZWNpZmljTm90aWZpY2F0aW9uLm5leHQobWVzc2FnZSk7XG4gIH1cbiAgZ2V0VXNlclNwZWNpZmljTm90aWZpY2F0aW9uKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMudXNlclNlcGVjaWZpY05vdGlmaWNhdGlvbi5hc09ic2VydmFibGUoKTtcbiAgfVxufVxuIl19
@@ -1,72 +1,69 @@
1
- import { Injectable } from '@angular/core';
2
- import { ConversationService } from './conversation.service';
3
- import { NotificationSocket } from './NotificationSocket';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "./conversation.service";
6
- import * as i2 from "./NotificationSocket";
7
- export class SocketService {
8
- constructor(conversationService, notificationSocket) {
9
- this.conversationService = conversationService;
10
- this.notificationSocket = notificationSocket;
11
- this.isCommonSocketInitialized = false;
12
- this.isUserSpecificSocketInitialized = false;
13
- this.isUserSpecificEventReleased = true;
14
- this.messageQueue = [];
15
- this.releaseInterval = 1000;
16
- this.intervalSetup = false;
17
- this.startReleasingMessages();
18
- }
19
- isSocketInitialized(isCommon) {
20
- return isCommon
21
- ? this.isCommonSocketInitialized
22
- : this.isUserSpecificSocketInitialized &&
23
- !this.isUserSpecificEventReleased;
24
- }
25
- disconnectSocketConnection() {
26
- this.notificationSocket.disconnect();
27
- }
28
- registerUserSpecificHiveSocket(botId, conversation_id) {
29
- // Ensure socket is connected before emitting events
30
- // if (!this.notificationSocket.con) {
31
- // console.warn('Socket is not connected, cannot register user-specific socket.');
32
- // return;
33
- // }
34
- console.log('Registering user-specific Hive socket with botId:' + botId);
35
- console.log('and conversation_id:' + conversation_id);
36
- this.notificationSocket.emit('joinData', {
37
- groupId: `Hive_AI_Notifs_${botId}_${conversation_id}`,
38
- });
39
- this.notificationSocket
40
- .fromEvent('commonNotification')
41
- .subscribe((res) => {
42
- console.log('Received commonNotification:', res);
43
- this.conversationService.sendValidatedUserData(res);
44
- }, (error) => {
45
- console.error('Error receiving commonNotification:', error);
46
- });
47
- }
48
- startReleasingMessages() {
49
- if (!this.intervalSetup) {
50
- setInterval(() => {
51
- if (this.messageQueue.length > 0) {
52
- const message = this.messageQueue.shift(); // Remove the first message from the queue
53
- // Handle the message here, e.g., send it to the server or process it
54
- console.log('Releasing message from queue:', message);
55
- // this.campaignService.sendValidatedUserData(message);
56
- }
57
- }, this.releaseInterval);
58
- this.intervalSetup = true; // Prevents multiple intervals
59
- }
60
- }
61
- }
62
- SocketService.ɵprov = i0.ɵɵdefineInjectable({ factory: function SocketService_Factory() { return new SocketService(i0.ɵɵinject(i1.ConversationService), i0.ɵɵinject(i2.NotificationSocket)); }, token: SocketService, providedIn: "root" });
63
- SocketService.decorators = [
64
- { type: Injectable, args: [{
65
- providedIn: 'root'
66
- },] }
67
- ];
68
- SocketService.ctorParameters = () => [
69
- { type: ConversationService },
70
- { type: NotificationSocket }
71
- ];
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ja2V0LXNlcnZpY2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJEOi9Tb2NpYWwyNy9PbkxpbmUgVEZTL0xpdGUtUGxhdGZvcm0vSGl2ZUFJLVBhY2thZ2VzL3Byb2plY3RzL2hpdmVncHQvZXZlbnRzZ3B0LWFuZ3VsYXIvc3JjLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvc29ja2V0LXNlcnZpY2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSzNDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7O0FBSzFELE1BQU0sT0FBTyxhQUFhO0lBU3hCLFlBQ1UsbUJBQXdDLEVBQ3hDLGtCQUFzQztRQUR0Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFUeEMsOEJBQXlCLEdBQUcsS0FBSyxDQUFDO1FBQ2xDLG9DQUErQixHQUFHLEtBQUssQ0FBQztRQUN4QyxnQ0FBMkIsR0FBRyxJQUFJLENBQUM7UUFDbkMsaUJBQVksR0FBVSxFQUFFLENBQUM7UUFDekIsb0JBQWUsR0FBRyxJQUFJLENBQUM7UUFDdkIsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFNckMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELG1CQUFtQixDQUFDLFFBQWlCO1FBQ25DLE9BQU8sUUFBUTtZQUNiLENBQUMsQ0FBQyxJQUFJLENBQUMseUJBQXlCO1lBQ2hDLENBQUMsQ0FBQyxJQUFJLENBQUMsK0JBQStCO2dCQUN0QyxDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQztJQUN0QyxDQUFDO0lBRUQsMEJBQTBCO1FBQ3hCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsOEJBQThCLENBQUMsS0FBYSxFQUFFLGVBQXVCO1FBQ25FLG9EQUFvRDtRQUNwRCxzQ0FBc0M7UUFDdEMsb0ZBQW9GO1FBQ3BGLFlBQVk7UUFDWixJQUFJO1FBRUosT0FBTyxDQUFDLEdBQUcsQ0FBQyxtREFBbUQsR0FBRyxLQUFLLENBQUMsQ0FBQztRQUN6RSxPQUFPLENBQUMsR0FBRyxDQUFDLHNCQUFzQixHQUFHLGVBQWUsQ0FBQyxDQUFDO1FBRXRELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3ZDLE9BQU8sRUFBRSxrQkFBa0IsS0FBSyxJQUFJLGVBQWUsRUFBRTtTQUN0RCxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsa0JBQWtCO2FBQ3BCLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQzthQUMvQixTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNqQixPQUFPLENBQUMsR0FBRyxDQUFDLDhCQUE4QixFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ2pELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0RCxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNYLE9BQU8sQ0FBQyxLQUFLLENBQUMscUNBQXFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDOUQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sc0JBQXNCO1FBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3ZCLFdBQVcsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2YsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7b0JBQ2hDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQywwQ0FBMEM7b0JBQ3JGLHFFQUFxRTtvQkFDckUsT0FBTyxDQUFDLEdBQUcsQ0FBQywrQkFBK0IsRUFBRSxPQUFPLENBQUMsQ0FBQztvQkFDdEQsdURBQXVEO2lCQUN4RDtZQUNILENBQUMsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDekIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsQ0FBQyw4QkFBOEI7U0FDMUQ7SUFDSCxDQUFDOzs7O1lBbEVGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBTFEsbUJBQW1CO1lBQ25CLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgd2ViU29ja2V0LCBXZWJTb2NrZXRTdWJqZWN0IH0gZnJvbSAncnhqcy93ZWJTb2NrZXQnO1xyXG5pbXBvcnQgeyBwcm9kX2Vudmlyb25tZW50IH0gZnJvbSAnLi4vLi4vZW52aXJvbm1lbnRzL2Vudmlyb25tZW50JztcclxuaW1wb3J0IHsgQ29udmVyc2F0aW9uU2VydmljZSB9IGZyb20gJy4vY29udmVyc2F0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25Tb2NrZXQgfSBmcm9tICcuL05vdGlmaWNhdGlvblNvY2tldCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTb2NrZXRTZXJ2aWNlIHtcclxuICBwdWJsaWMgdGVzdE1lc3NhZ2U6IHN0cmluZztcclxuICBwcml2YXRlIGlzQ29tbW9uU29ja2V0SW5pdGlhbGl6ZWQgPSBmYWxzZTtcclxuICBwcml2YXRlIGlzVXNlclNwZWNpZmljU29ja2V0SW5pdGlhbGl6ZWQgPSBmYWxzZTtcclxuICBwcml2YXRlIGlzVXNlclNwZWNpZmljRXZlbnRSZWxlYXNlZCA9IHRydWU7XHJcbiAgcHJpdmF0ZSBtZXNzYWdlUXVldWU6IGFueVtdID0gW107XHJcbiAgcHJpdmF0ZSByZWxlYXNlSW50ZXJ2YWwgPSAxMDAwO1xyXG4gIHByaXZhdGUgaW50ZXJ2YWxTZXR1cDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgY29udmVyc2F0aW9uU2VydmljZTogQ29udmVyc2F0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgbm90aWZpY2F0aW9uU29ja2V0OiBOb3RpZmljYXRpb25Tb2NrZXQsXHJcbiAgKSB7XHJcbiAgICB0aGlzLnN0YXJ0UmVsZWFzaW5nTWVzc2FnZXMoKTtcclxuICB9XHJcblxyXG4gIGlzU29ja2V0SW5pdGlhbGl6ZWQoaXNDb21tb246IGJvb2xlYW4pIHtcclxuICAgIHJldHVybiBpc0NvbW1vblxyXG4gICAgICA/IHRoaXMuaXNDb21tb25Tb2NrZXRJbml0aWFsaXplZFxyXG4gICAgICA6IHRoaXMuaXNVc2VyU3BlY2lmaWNTb2NrZXRJbml0aWFsaXplZCAmJlxyXG4gICAgICAhdGhpcy5pc1VzZXJTcGVjaWZpY0V2ZW50UmVsZWFzZWQ7XHJcbiAgfVxyXG5cclxuICBkaXNjb25uZWN0U29ja2V0Q29ubmVjdGlvbigpIHtcclxuICAgIHRoaXMubm90aWZpY2F0aW9uU29ja2V0LmRpc2Nvbm5lY3QoKTtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyVXNlclNwZWNpZmljSGl2ZVNvY2tldChib3RJZDogc3RyaW5nLCBjb252ZXJzYXRpb25faWQ6IHN0cmluZykge1xyXG4gICAgLy8gRW5zdXJlIHNvY2tldCBpcyBjb25uZWN0ZWQgYmVmb3JlIGVtaXR0aW5nIGV2ZW50c1xyXG4gICAgLy8gaWYgKCF0aGlzLm5vdGlmaWNhdGlvblNvY2tldC5jb24pIHtcclxuICAgIC8vICAgY29uc29sZS53YXJuKCdTb2NrZXQgaXMgbm90IGNvbm5lY3RlZCwgY2Fubm90IHJlZ2lzdGVyIHVzZXItc3BlY2lmaWMgc29ja2V0LicpO1xyXG4gICAgLy8gICByZXR1cm47XHJcbiAgICAvLyB9XHJcblxyXG4gICAgY29uc29sZS5sb2coJ1JlZ2lzdGVyaW5nIHVzZXItc3BlY2lmaWMgSGl2ZSBzb2NrZXQgd2l0aCBib3RJZDonICsgYm90SWQpO1xyXG4gICAgY29uc29sZS5sb2coJ2FuZCBjb252ZXJzYXRpb25faWQ6JyArIGNvbnZlcnNhdGlvbl9pZCk7XHJcblxyXG4gICAgdGhpcy5ub3RpZmljYXRpb25Tb2NrZXQuZW1pdCgnam9pbkRhdGEnLCB7XHJcbiAgICAgIGdyb3VwSWQ6IGBIaXZlX0FJX05vdGlmc18ke2JvdElkfV8ke2NvbnZlcnNhdGlvbl9pZH1gLFxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5ub3RpZmljYXRpb25Tb2NrZXRcclxuICAgICAgLmZyb21FdmVudCgnY29tbW9uTm90aWZpY2F0aW9uJylcclxuICAgICAgLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ1JlY2VpdmVkIGNvbW1vbk5vdGlmaWNhdGlvbjonLCByZXMpO1xyXG4gICAgICAgIHRoaXMuY29udmVyc2F0aW9uU2VydmljZS5zZW5kVmFsaWRhdGVkVXNlckRhdGEocmVzKTtcclxuICAgICAgfSwgKGVycm9yKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgcmVjZWl2aW5nIGNvbW1vbk5vdGlmaWNhdGlvbjonLCBlcnJvcik7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdGFydFJlbGVhc2luZ01lc3NhZ2VzKCkge1xyXG4gICAgaWYgKCF0aGlzLmludGVydmFsU2V0dXApIHtcclxuICAgICAgc2V0SW50ZXJ2YWwoKCkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLm1lc3NhZ2VRdWV1ZS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICBjb25zdCBtZXNzYWdlID0gdGhpcy5tZXNzYWdlUXVldWUuc2hpZnQoKTsgLy8gUmVtb3ZlIHRoZSBmaXJzdCBtZXNzYWdlIGZyb20gdGhlIHF1ZXVlXHJcbiAgICAgICAgICAvLyBIYW5kbGUgdGhlIG1lc3NhZ2UgaGVyZSwgZS5nLiwgc2VuZCBpdCB0byB0aGUgc2VydmVyIG9yIHByb2Nlc3MgaXRcclxuICAgICAgICAgIGNvbnNvbGUubG9nKCdSZWxlYXNpbmcgbWVzc2FnZSBmcm9tIHF1ZXVlOicsIG1lc3NhZ2UpO1xyXG4gICAgICAgICAgLy8gdGhpcy5jYW1wYWlnblNlcnZpY2Uuc2VuZFZhbGlkYXRlZFVzZXJEYXRhKG1lc3NhZ2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSwgdGhpcy5yZWxlYXNlSW50ZXJ2YWwpO1xyXG4gICAgICB0aGlzLmludGVydmFsU2V0dXAgPSB0cnVlOyAvLyBQcmV2ZW50cyBtdWx0aXBsZSBpbnRlcnZhbHNcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
1
+ import { Injectable } from '@angular/core';
2
+ import { ConversationService } from './conversation.service';
3
+ import { NotificationSocket } from './NotificationSocket';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "./conversation.service";
6
+ import * as i2 from "./NotificationSocket";
7
+ export class SocketService {
8
+ constructor(conversationService, notificationSocket) {
9
+ this.conversationService = conversationService;
10
+ this.notificationSocket = notificationSocket;
11
+ this.isCommonSocketInitialized = false;
12
+ this.isUserSpecificSocketInitialized = false;
13
+ this.isUserSpecificEventReleased = true;
14
+ this.messageQueue = [];
15
+ this.releaseInterval = 1000;
16
+ this.intervalSetup = false;
17
+ this.startReleasingMessages();
18
+ }
19
+ isSocketInitialized(isCommon) {
20
+ return isCommon
21
+ ? this.isCommonSocketInitialized
22
+ : this.isUserSpecificSocketInitialized &&
23
+ !this.isUserSpecificEventReleased;
24
+ }
25
+ disconnectSocketConnection() {
26
+ this.notificationSocket.disconnect();
27
+ }
28
+ registerUserSpecificHiveSocket(botId, conversation_id) {
29
+ const commonNotification = "commonNotification";
30
+ this.notificationSocket.removeAllListeners(commonNotification);
31
+ console.log('Registering user-specific Hive socket with botId:' + botId);
32
+ console.log('and conversation_id:' + conversation_id);
33
+ this.notificationSocket.emit('joinData', {
34
+ groupId: `Hive_AI_Notifs_${botId}_${conversation_id}`,
35
+ });
36
+ this.notificationSocket
37
+ .fromEvent(commonNotification)
38
+ .subscribe((res) => {
39
+ console.log('Received commonNotification:', res);
40
+ this.conversationService.sendValidatedUserData(res);
41
+ }, (error) => {
42
+ console.error('Error receiving commonNotification:', error);
43
+ });
44
+ }
45
+ startReleasingMessages() {
46
+ if (!this.intervalSetup) {
47
+ setInterval(() => {
48
+ if (this.messageQueue.length > 0) {
49
+ const message = this.messageQueue.shift(); // Remove the first message from the queue
50
+ // Handle the message here, e.g., send it to the server or process it
51
+ console.log('Releasing message from queue:', message);
52
+ // this.campaignService.sendValidatedUserData(message);
53
+ }
54
+ }, this.releaseInterval);
55
+ this.intervalSetup = true; // Prevents multiple intervals
56
+ }
57
+ }
58
+ }
59
+ SocketService.ɵprov = i0.ɵɵdefineInjectable({ factory: function SocketService_Factory() { return new SocketService(i0.ɵɵinject(i1.ConversationService), i0.ɵɵinject(i2.NotificationSocket)); }, token: SocketService, providedIn: "root" });
60
+ SocketService.decorators = [
61
+ { type: Injectable, args: [{
62
+ providedIn: 'root'
63
+ },] }
64
+ ];
65
+ SocketService.ctorParameters = () => [
66
+ { type: ConversationService },
67
+ { type: NotificationSocket }
68
+ ];
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ja2V0LXNlcnZpY2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIvVXNlcnMvbXVkZGFzc2lybmF5eWVyL0RldmVsb3BtZW50L1NvY2lhbDI3L0hpdmVBSS1QYWNrYWdlcy9wcm9qZWN0cy9oaXZlZ3B0L2V2ZW50c2dwdC1hbmd1bGFyL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3NvY2tldC1zZXJ2aWNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUszQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7OztBQUsxRCxNQUFNLE9BQU8sYUFBYTtJQVN4QixZQUNVLG1CQUF3QyxFQUN4QyxrQkFBc0M7UUFEdEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBVHhDLDhCQUF5QixHQUFHLEtBQUssQ0FBQztRQUNsQyxvQ0FBK0IsR0FBRyxLQUFLLENBQUM7UUFDeEMsZ0NBQTJCLEdBQUcsSUFBSSxDQUFDO1FBQ25DLGlCQUFZLEdBQVUsRUFBRSxDQUFDO1FBQ3pCLG9CQUFlLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBTXJDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxRQUFpQjtRQUNuQyxPQUFPLFFBQVE7WUFDYixDQUFDLENBQUMsSUFBSSxDQUFDLHlCQUF5QjtZQUNoQyxDQUFDLENBQUMsSUFBSSxDQUFDLCtCQUErQjtnQkFDdEMsQ0FBQyxJQUFJLENBQUMsMkJBQTJCLENBQUM7SUFDdEMsQ0FBQztJQUVELDBCQUEwQjtRQUN4QixJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVELDhCQUE4QixDQUFDLEtBQWEsRUFBRSxlQUF1QjtRQUNuRSxNQUFNLGtCQUFrQixHQUFHLG9CQUFvQixDQUFDO1FBRWhELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBRS9ELE9BQU8sQ0FBQyxHQUFHLENBQUMsbURBQW1ELEdBQUcsS0FBSyxDQUFDLENBQUM7UUFDekUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsR0FBRyxlQUFlLENBQUMsQ0FBQztRQUV0RCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUN2QyxPQUFPLEVBQUUsa0JBQWtCLEtBQUssSUFBSSxlQUFlLEVBQUU7U0FDdEQsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGtCQUFrQjthQUNwQixTQUFTLENBQUMsa0JBQWtCLENBQUM7YUFDN0IsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDakIsT0FBTyxDQUFDLEdBQUcsQ0FBQyw4QkFBOEIsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUNqRCxJQUFJLENBQUMsbUJBQW1CLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEQsQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDWCxPQUFPLENBQUMsS0FBSyxDQUFDLHFDQUFxQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzlELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLHNCQUFzQjtRQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN2QixXQUFXLENBQUMsR0FBRyxFQUFFO2dCQUNmLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO29CQUNoQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsMENBQTBDO29CQUNyRixxRUFBcUU7b0JBQ3JFLE9BQU8sQ0FBQyxHQUFHLENBQUMsK0JBQStCLEVBQUUsT0FBTyxDQUFDLENBQUM7b0JBQ3RELHVEQUF1RDtpQkFDeEQ7WUFDSCxDQUFDLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ3pCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLENBQUMsOEJBQThCO1NBQzFEO0lBQ0gsQ0FBQzs7OztZQWhFRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQUxRLG1CQUFtQjtZQUNuQixrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHdlYlNvY2tldCwgV2ViU29ja2V0U3ViamVjdCB9IGZyb20gJ3J4anMvd2ViU29ja2V0JztcbmltcG9ydCB7IHByb2RfZW52aXJvbm1lbnQgfSBmcm9tICcuLi8uLi9lbnZpcm9ubWVudHMvZW52aXJvbm1lbnQnO1xuaW1wb3J0IHsgQ29udmVyc2F0aW9uU2VydmljZSB9IGZyb20gJy4vY29udmVyc2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uU29ja2V0IH0gZnJvbSAnLi9Ob3RpZmljYXRpb25Tb2NrZXQnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTb2NrZXRTZXJ2aWNlIHtcbiAgcHVibGljIHRlc3RNZXNzYWdlOiBzdHJpbmc7XG4gIHByaXZhdGUgaXNDb21tb25Tb2NrZXRJbml0aWFsaXplZCA9IGZhbHNlO1xuICBwcml2YXRlIGlzVXNlclNwZWNpZmljU29ja2V0SW5pdGlhbGl6ZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBpc1VzZXJTcGVjaWZpY0V2ZW50UmVsZWFzZWQgPSB0cnVlO1xuICBwcml2YXRlIG1lc3NhZ2VRdWV1ZTogYW55W10gPSBbXTtcbiAgcHJpdmF0ZSByZWxlYXNlSW50ZXJ2YWwgPSAxMDAwO1xuICBwcml2YXRlIGludGVydmFsU2V0dXA6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNvbnZlcnNhdGlvblNlcnZpY2U6IENvbnZlcnNhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBub3RpZmljYXRpb25Tb2NrZXQ6IE5vdGlmaWNhdGlvblNvY2tldCxcbiAgKSB7XG4gICAgdGhpcy5zdGFydFJlbGVhc2luZ01lc3NhZ2VzKCk7XG4gIH1cblxuICBpc1NvY2tldEluaXRpYWxpemVkKGlzQ29tbW9uOiBib29sZWFuKSB7XG4gICAgcmV0dXJuIGlzQ29tbW9uXG4gICAgICA/IHRoaXMuaXNDb21tb25Tb2NrZXRJbml0aWFsaXplZFxuICAgICAgOiB0aGlzLmlzVXNlclNwZWNpZmljU29ja2V0SW5pdGlhbGl6ZWQgJiZcbiAgICAgICF0aGlzLmlzVXNlclNwZWNpZmljRXZlbnRSZWxlYXNlZDtcbiAgfVxuXG4gIGRpc2Nvbm5lY3RTb2NrZXRDb25uZWN0aW9uKCkge1xuICAgIHRoaXMubm90aWZpY2F0aW9uU29ja2V0LmRpc2Nvbm5lY3QoKTtcbiAgfVxuXG4gIHJlZ2lzdGVyVXNlclNwZWNpZmljSGl2ZVNvY2tldChib3RJZDogc3RyaW5nLCBjb252ZXJzYXRpb25faWQ6IHN0cmluZykge1xuICAgIGNvbnN0IGNvbW1vbk5vdGlmaWNhdGlvbiA9IFwiY29tbW9uTm90aWZpY2F0aW9uXCI7XG5cbiAgICB0aGlzLm5vdGlmaWNhdGlvblNvY2tldC5yZW1vdmVBbGxMaXN0ZW5lcnMoY29tbW9uTm90aWZpY2F0aW9uKTtcblxuICAgIGNvbnNvbGUubG9nKCdSZWdpc3RlcmluZyB1c2VyLXNwZWNpZmljIEhpdmUgc29ja2V0IHdpdGggYm90SWQ6JyArIGJvdElkKTtcbiAgICBjb25zb2xlLmxvZygnYW5kIGNvbnZlcnNhdGlvbl9pZDonICsgY29udmVyc2F0aW9uX2lkKTtcblxuICAgIHRoaXMubm90aWZpY2F0aW9uU29ja2V0LmVtaXQoJ2pvaW5EYXRhJywge1xuICAgICAgZ3JvdXBJZDogYEhpdmVfQUlfTm90aWZzXyR7Ym90SWR9XyR7Y29udmVyc2F0aW9uX2lkfWAsXG4gICAgfSk7XG5cbiAgICB0aGlzLm5vdGlmaWNhdGlvblNvY2tldFxuICAgICAgLmZyb21FdmVudChjb21tb25Ob3RpZmljYXRpb24pXG4gICAgICAuc3Vic2NyaWJlKChyZXMpID0+IHtcbiAgICAgICAgY29uc29sZS5sb2coJ1JlY2VpdmVkIGNvbW1vbk5vdGlmaWNhdGlvbjonLCByZXMpO1xuICAgICAgICB0aGlzLmNvbnZlcnNhdGlvblNlcnZpY2Uuc2VuZFZhbGlkYXRlZFVzZXJEYXRhKHJlcyk7XG4gICAgICB9LCAoZXJyb3IpID0+IHtcbiAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgcmVjZWl2aW5nIGNvbW1vbk5vdGlmaWNhdGlvbjonLCBlcnJvcik7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhcnRSZWxlYXNpbmdNZXNzYWdlcygpIHtcbiAgICBpZiAoIXRoaXMuaW50ZXJ2YWxTZXR1cCkge1xuICAgICAgc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5tZXNzYWdlUXVldWUubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSB0aGlzLm1lc3NhZ2VRdWV1ZS5zaGlmdCgpOyAvLyBSZW1vdmUgdGhlIGZpcnN0IG1lc3NhZ2UgZnJvbSB0aGUgcXVldWVcbiAgICAgICAgICAvLyBIYW5kbGUgdGhlIG1lc3NhZ2UgaGVyZSwgZS5nLiwgc2VuZCBpdCB0byB0aGUgc2VydmVyIG9yIHByb2Nlc3MgaXRcbiAgICAgICAgICBjb25zb2xlLmxvZygnUmVsZWFzaW5nIG1lc3NhZ2UgZnJvbSBxdWV1ZTonLCBtZXNzYWdlKTtcbiAgICAgICAgICAvLyB0aGlzLmNhbXBhaWduU2VydmljZS5zZW5kVmFsaWRhdGVkVXNlckRhdGEobWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgIH0sIHRoaXMucmVsZWFzZUludGVydmFsKTtcbiAgICAgIHRoaXMuaW50ZXJ2YWxTZXR1cCA9IHRydWU7IC8vIFByZXZlbnRzIG11bHRpcGxlIGludGVydmFsc1xuICAgIH1cbiAgfVxufVxuIl19