@bizdoc/core 2.3.34 → 2.3.36

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 (66) hide show
  1. package/esm2022/lib/admin/architecture/elements/matrix-view.component.mjs +3 -3
  2. package/esm2022/lib/admin/architecture/elements/performance-report.component.mjs +3 -4
  3. package/esm2022/lib/admin/diff/configuration-diff.component.mjs +3 -5
  4. package/esm2022/lib/admin/document-trace/document-trace.component.mjs +3 -5
  5. package/esm2022/lib/admin/form/workflow/workflow.component.mjs +3 -5
  6. package/esm2022/lib/admin/profiler/profiler.component.mjs +3 -5
  7. package/esm2022/lib/admin/utility.pane.component.mjs +3 -6
  8. package/esm2022/lib/browse/browse.pane.component.mjs +3 -5
  9. package/esm2022/lib/browse/expanded-item/expanded-item.component.mjs +3 -3
  10. package/esm2022/lib/chat/chat-info.mjs +2 -2
  11. package/esm2022/lib/chat/contacts.pane.component.mjs +3 -6
  12. package/esm2022/lib/chat/conversation.component.mjs +3 -4
  13. package/esm2022/lib/chat/conversation.pane.component.mjs +3 -5
  14. package/esm2022/lib/compose/action/action.pane.dialog.exp.mjs +3 -5
  15. package/esm2022/lib/compose/comments/comment.component.mjs +3 -3
  16. package/esm2022/lib/compose/comments/comments.component.mjs +3 -4
  17. package/esm2022/lib/compose/comments/comments.pane.component.mjs +3 -5
  18. package/esm2022/lib/compose/comments/edit-comment.component.mjs +3 -3
  19. package/esm2022/lib/compose/compose.pane.component.mjs +3 -5
  20. package/esm2022/lib/compose/tag/tags.component.mjs +3 -3
  21. package/esm2022/lib/compose/trace/trace.pane.component.mjs +3 -5
  22. package/esm2022/lib/compose/version-compare/version.pane.component.mjs +3 -5
  23. package/esm2022/lib/core/animations.mjs +9 -1
  24. package/esm2022/lib/core/inputs/combination-picker.mjs +3 -3
  25. package/esm2022/lib/core/slots/slots.component.mjs +9 -9
  26. package/esm2022/lib/core/sticky-toolbar.exp.mjs +30 -0
  27. package/esm2022/lib/core/tagging/edit-input.component.mjs +3 -3
  28. package/esm2022/lib/core/translations.mjs +14 -8
  29. package/esm2022/lib/core/virtual-tabs.component.exp.mjs +84 -0
  30. package/esm2022/lib/cube/explore/explore.pane.component.mjs +3 -5
  31. package/esm2022/lib/cube/explore/item.pane.component.mjs +3 -5
  32. package/esm2022/lib/cube/filter/filter-tags.component.exp.mjs +3 -3
  33. package/esm2022/lib/cube/filter/filter.component.mjs +3 -3
  34. package/esm2022/lib/cube/matrix/matrix.pane.component.mjs +3 -5
  35. package/esm2022/lib/cube/view.pane.component.mjs +3 -5
  36. package/esm2022/lib/dashboard/dashboard.pane.component.mjs +3 -3
  37. package/esm2022/lib/home/home.desktop.component.mjs +3 -3
  38. package/esm2022/lib/home/options/options.component.mjs +3 -3
  39. package/esm2022/lib/modules/chart.module.mjs +3 -3
  40. package/esm2022/lib/notifications/notifications.pane.component.mjs +3 -6
  41. package/esm2022/lib/options/options.component.mjs +21 -16
  42. package/esm2022/lib/options/options.service.mjs +2 -1
  43. package/esm2022/lib/reports/cube/role-performance.component.mjs +127 -34
  44. package/esm2022/lib/reports/report-viewer.component.mjs +2 -1
  45. package/esm2022/lib/reports/report.pane.component.mjs +3 -5
  46. package/esm2022/lib/routes.desktop.mjs +2 -2
  47. package/esm2022/lib/scheduler/schedule.component.mjs +3 -3
  48. package/esm2022/lib/scheduler/scheduler.pane.component.mjs +3 -6
  49. package/esm2022/lib/shared.module.mjs +7 -6
  50. package/esm2022/public-api.mjs +3 -2
  51. package/fesm2022/bizdoc-core.mjs +487 -348
  52. package/fesm2022/bizdoc-core.mjs.map +1 -1
  53. package/lib/admin/architecture/elements/performance-report.component.d.ts +0 -1
  54. package/lib/chat/conversation.component.d.ts +0 -1
  55. package/lib/compose/comments/comments.component.d.ts +0 -1
  56. package/lib/core/animations.d.ts +2 -0
  57. package/lib/core/slots/slots.component.d.ts +1 -1
  58. package/lib/core/translations.d.ts +11 -5
  59. package/lib/core/virtual-tabs.component.exp.d.ts +22 -0
  60. package/lib/options/options.component.d.ts +6 -5
  61. package/lib/reports/cube/role-performance.component.d.ts +26 -13
  62. package/lib/shared.module.d.ts +141 -140
  63. package/package.json +1 -1
  64. package/public-api.d.ts +2 -1
  65. package/esm2022/lib/core/StickyToolbar.mjs +0 -30
  66. /package/lib/core/{StickyToolbar.d.ts → sticky-toolbar.exp.d.ts} +0 -0
@@ -303,14 +303,14 @@ export class ExpandedItemComponent {
303
303
  this._typingTask && clearTimeout(this._typingTask);
304
304
  }
305
305
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ExpandedItemComponent, deps: [{ token: i1.PromptService }, { token: i2.ChatInfo }, { token: i3.AccountService }, { token: i4.MailboxService }, { token: i5.SessionService }, { token: i6.Directionality }, { token: i7.MatDialog }, { token: i8.TranslateService }, { token: i9.HubService }], target: i0.ɵɵFactoryTarget.Component }); }
306
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.1", type: ExpandedItemComponent, selector: "bizdoc-expanded-item", inputs: { model: "model" }, outputs: { sent: "sent" }, ngImport: i0, template: "@if (model.summary) {\n <div class=\"summary\" [innerHTML]=\"model.summary\">\n </div>\n}\n<div>\n <bizdoc-attachments [model]=\"model\"></bizdoc-attachments>\n <bizdoc-events [model]=\"model\"></bizdoc-events>\n</div>\n<div class=\"row\">\n <span class=\"note\" [innerHTML]=\"note | sanitizeHtml\" (click)=\"chat($event)\"></span>\n <span class=\"divider\"></span>\n @for (a of actions; track a) {\n @if (a.icon) {\n <button mat-icon-button (click)=\"send(a.name)\" [bizdocTooltip]=\"a.title\" class=\"tool\">\n <mat-icon>{{a.icon}}</mat-icon>\n </button>\n }\n }\n</div>\n<div class=\"row\">\n <div class=\"mat-small row\">\n <span>{{model.stateId | state : 'past' }}</span>\n &nbsp;\n <span class=\"time\" [bizdocTooltip]=\"model.received | amCalendar\">{{model.received | amTimeAgo}}</span>\n &nbsp;\n <span [innerHTML]=\"sender | sanitizeHtml\" (click)=\"chat($event)\" class=\"who\"></span>&nbsp;\n <span [innerHTML]=\"awaiting | sanitizeHtml\" (click)=\"chat($event)\" class=\"who\"></span>\n </div>\n <span class=\"divider\"></span>\n <div class=\"center center\">\n @if (typing) {\n <span class=\"mat-small\">{{'SomeoneTyping'|translate}}</span>\n }\n @if (model.comments.length) {\n <div class=\"mat-small\">\n @if (!newComments) {\n <span>{{model.comments.length > 1 ? ('CommentsCount' | translate : model.comments.length) : 'OneComment' | translate }}</span>\n } @else {\n <span [innerHTML]=\"'NewCommentsCount' | translate : model.comments.length : newComments | sanitizeHtml\"></span>\n }\n </div>\n }\n </div>\n @if (model.tags) {\n <mat-chip-set>\n @for (tag of model.tags; track tag) {\n <mat-chip [highlighted]=\"true\" [disableRipple]=\"true\">{{tag}}</mat-chip>\n }\n </mat-chip-set>\n }\n</div>\n", styles: [":host{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;overflow:hidden;padding-right:24px;padding-left:24px;text-align:start}.row{align-items:center;min-height:27px;flex-direction:row;box-sizing:border-box;display:flex}.note{font-weight:200}.time{text-transform:uppercase}.summary{max-width:fit-content}\n"], dependencies: [{ kind: "component", type: i10.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled", "tabIndex"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "component", type: i10.MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }, { kind: "component", type: i11.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i12.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i13.AttachmentsComponent, selector: "bizdoc-attachments", inputs: ["model", "viewedIndicator", "includeDeleted"] }, { kind: "component", type: i14.DocumentEventsComponent, selector: "bizdoc-events", inputs: ["model"] }, { kind: "directive", type: i15.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i16.CalendarPipe, name: "amCalendar" }, { kind: "pipe", type: i17.TimeAgoPipe, name: "amTimeAgo" }, { kind: "pipe", type: i18.TranslatePipe, name: "translate" }, { kind: "pipe", type: i19.SanitizeHtmlPipe, name: "sanitizeHtml" }, { kind: "pipe", type: i20.StatePipe, name: "state" }] }); }
306
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.1", type: ExpandedItemComponent, selector: "bizdoc-expanded-item", inputs: { model: "model" }, outputs: { sent: "sent" }, ngImport: i0, template: "@if (model.summary) {\n <div class=\"summary\" [innerHTML]=\"model.summary\">\n </div>\n}\n<div>\n <bizdoc-attachments [model]=\"model\"></bizdoc-attachments>\n <bizdoc-events [model]=\"model\"></bizdoc-events>\n</div>\n<div class=\"row\">\n <span class=\"note\" [innerHTML]=\"note | sanitizeHtml\" (click)=\"chat($event)\"></span>\n <span class=\"divider\"></span>\n @for (a of actions; track a) {\n @if (a.icon) {\n <button mat-icon-button (click)=\"send(a.name)\" [bizdocTooltip]=\"a.title\" class=\"tool\">\n <mat-icon>{{a.icon}}</mat-icon>\n </button>\n }\n }\n</div>\n<div class=\"row\">\n <div class=\"mat-small row\">\n <span>{{model.stateId | state : 'past' }}</span>\n &nbsp;\n <span class=\"time\" [bizdocTooltip]=\"model.received | amCalendar\">{{model.received | amTimeAgo}}</span>\n &nbsp;\n <span [innerHTML]=\"sender | sanitizeHtml\" (click)=\"chat($event)\" class=\"who\"></span>&nbsp;\n <span [innerHTML]=\"awaiting | sanitizeHtml\" (click)=\"chat($event)\" class=\"who\"></span>\n </div>\n <span class=\"divider\"></span>\n <div class=\"center center\">\n @if (typing) {\n <span class=\"mat-small\">{{'SomeoneTyping'|translate}}</span>\n }\n @if (model.comments.length) {\n <div class=\"mat-small\">\n @if (!newComments) {\n <span>{{model.comments.length > 1 ? ('CommentsCount' | translate : model.comments.length) : 'OneComment' | translate }}</span>\n } @else {\n <span [innerHTML]=\"'NewCommentsCount' | translate : model.comments.length : newComments | sanitizeHtml\"></span>\n }\n </div>\n }\n </div>\n @if (model.tags) {\n <mat-chip-set>\n @for (tag of model.tags; track tag) {\n <mat-chip [disabled]=\"true\">{{tag}}</mat-chip>\n }\n </mat-chip-set>\n }\n</div>\n", styles: [":host{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;overflow:hidden;padding-right:24px;padding-left:24px;text-align:start}.row{align-items:center;min-height:27px;flex-direction:row;box-sizing:border-box;display:flex}.note{font-weight:200}.time{text-transform:uppercase}.summary{max-width:fit-content}\n"], dependencies: [{ kind: "component", type: i10.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled", "tabIndex"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "component", type: i10.MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }, { kind: "component", type: i11.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i12.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i13.AttachmentsComponent, selector: "bizdoc-attachments", inputs: ["model", "viewedIndicator", "includeDeleted"] }, { kind: "component", type: i14.DocumentEventsComponent, selector: "bizdoc-events", inputs: ["model"] }, { kind: "directive", type: i15.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i16.CalendarPipe, name: "amCalendar" }, { kind: "pipe", type: i17.TimeAgoPipe, name: "amTimeAgo" }, { kind: "pipe", type: i18.TranslatePipe, name: "translate" }, { kind: "pipe", type: i19.SanitizeHtmlPipe, name: "sanitizeHtml" }, { kind: "pipe", type: i20.StatePipe, name: "state" }] }); }
307
307
  }
308
308
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ExpandedItemComponent, decorators: [{
309
309
  type: Component,
310
- args: [{ selector: 'bizdoc-expanded-item', template: "@if (model.summary) {\n <div class=\"summary\" [innerHTML]=\"model.summary\">\n </div>\n}\n<div>\n <bizdoc-attachments [model]=\"model\"></bizdoc-attachments>\n <bizdoc-events [model]=\"model\"></bizdoc-events>\n</div>\n<div class=\"row\">\n <span class=\"note\" [innerHTML]=\"note | sanitizeHtml\" (click)=\"chat($event)\"></span>\n <span class=\"divider\"></span>\n @for (a of actions; track a) {\n @if (a.icon) {\n <button mat-icon-button (click)=\"send(a.name)\" [bizdocTooltip]=\"a.title\" class=\"tool\">\n <mat-icon>{{a.icon}}</mat-icon>\n </button>\n }\n }\n</div>\n<div class=\"row\">\n <div class=\"mat-small row\">\n <span>{{model.stateId | state : 'past' }}</span>\n &nbsp;\n <span class=\"time\" [bizdocTooltip]=\"model.received | amCalendar\">{{model.received | amTimeAgo}}</span>\n &nbsp;\n <span [innerHTML]=\"sender | sanitizeHtml\" (click)=\"chat($event)\" class=\"who\"></span>&nbsp;\n <span [innerHTML]=\"awaiting | sanitizeHtml\" (click)=\"chat($event)\" class=\"who\"></span>\n </div>\n <span class=\"divider\"></span>\n <div class=\"center center\">\n @if (typing) {\n <span class=\"mat-small\">{{'SomeoneTyping'|translate}}</span>\n }\n @if (model.comments.length) {\n <div class=\"mat-small\">\n @if (!newComments) {\n <span>{{model.comments.length > 1 ? ('CommentsCount' | translate : model.comments.length) : 'OneComment' | translate }}</span>\n } @else {\n <span [innerHTML]=\"'NewCommentsCount' | translate : model.comments.length : newComments | sanitizeHtml\"></span>\n }\n </div>\n }\n </div>\n @if (model.tags) {\n <mat-chip-set>\n @for (tag of model.tags; track tag) {\n <mat-chip [highlighted]=\"true\" [disableRipple]=\"true\">{{tag}}</mat-chip>\n }\n </mat-chip-set>\n }\n</div>\n", styles: [":host{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;overflow:hidden;padding-right:24px;padding-left:24px;text-align:start}.row{align-items:center;min-height:27px;flex-direction:row;box-sizing:border-box;display:flex}.note{font-weight:200}.time{text-transform:uppercase}.summary{max-width:fit-content}\n"] }]
310
+ args: [{ selector: 'bizdoc-expanded-item', template: "@if (model.summary) {\n <div class=\"summary\" [innerHTML]=\"model.summary\">\n </div>\n}\n<div>\n <bizdoc-attachments [model]=\"model\"></bizdoc-attachments>\n <bizdoc-events [model]=\"model\"></bizdoc-events>\n</div>\n<div class=\"row\">\n <span class=\"note\" [innerHTML]=\"note | sanitizeHtml\" (click)=\"chat($event)\"></span>\n <span class=\"divider\"></span>\n @for (a of actions; track a) {\n @if (a.icon) {\n <button mat-icon-button (click)=\"send(a.name)\" [bizdocTooltip]=\"a.title\" class=\"tool\">\n <mat-icon>{{a.icon}}</mat-icon>\n </button>\n }\n }\n</div>\n<div class=\"row\">\n <div class=\"mat-small row\">\n <span>{{model.stateId | state : 'past' }}</span>\n &nbsp;\n <span class=\"time\" [bizdocTooltip]=\"model.received | amCalendar\">{{model.received | amTimeAgo}}</span>\n &nbsp;\n <span [innerHTML]=\"sender | sanitizeHtml\" (click)=\"chat($event)\" class=\"who\"></span>&nbsp;\n <span [innerHTML]=\"awaiting | sanitizeHtml\" (click)=\"chat($event)\" class=\"who\"></span>\n </div>\n <span class=\"divider\"></span>\n <div class=\"center center\">\n @if (typing) {\n <span class=\"mat-small\">{{'SomeoneTyping'|translate}}</span>\n }\n @if (model.comments.length) {\n <div class=\"mat-small\">\n @if (!newComments) {\n <span>{{model.comments.length > 1 ? ('CommentsCount' | translate : model.comments.length) : 'OneComment' | translate }}</span>\n } @else {\n <span [innerHTML]=\"'NewCommentsCount' | translate : model.comments.length : newComments | sanitizeHtml\"></span>\n }\n </div>\n }\n </div>\n @if (model.tags) {\n <mat-chip-set>\n @for (tag of model.tags; track tag) {\n <mat-chip [disabled]=\"true\">{{tag}}</mat-chip>\n }\n </mat-chip-set>\n }\n</div>\n", styles: [":host{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;overflow:hidden;padding-right:24px;padding-left:24px;text-align:start}.row{align-items:center;min-height:27px;flex-direction:row;box-sizing:border-box;display:flex}.note{font-weight:200}.time{text-transform:uppercase}.summary{max-width:fit-content}\n"] }]
311
311
  }], ctorParameters: () => [{ type: i1.PromptService }, { type: i2.ChatInfo }, { type: i3.AccountService }, { type: i4.MailboxService }, { type: i5.SessionService }, { type: i6.Directionality }, { type: i7.MatDialog }, { type: i8.TranslateService }, { type: i9.HubService }], propDecorators: { model: [{
312
312
  type: Input
313
313
  }], sent: [{
314
314
  type: Output
315
315
  }] } });
316
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5kZWQtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2Jyb3dzZS9leHBhbmRlZC1pdGVtL2V4cGFuZGVkLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9icm93c2UvZXhwYW5kZWQtaXRlbS9leHBhbmRlZC1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBSTFGLE9BQU8sRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFRbkQsT0FBTyxFQUFFLFlBQVksRUFBb0IsTUFBTSxvQ0FBb0MsQ0FBQztBQUVwRixPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFMUIsTUFBTSxZQUFZLEdBQUcsS0FBSyxFQUFFLGdCQUFnQixHQUFHLElBQUksQ0FBQztBQU9wRCxNQUFNLE9BQU8scUJBQXFCO0lBYWhDLFlBQW9CLEdBQWtCLEVBQzVCLEtBQWUsRUFDZixTQUF5QixFQUN6QixRQUF3QixFQUN4QixRQUF3QixFQUN4QixJQUFvQixFQUNwQixPQUFrQixFQUNsQixVQUE0QixFQUM1QixVQUFzQjtRQVJaLFFBQUcsR0FBSCxHQUFHLENBQWU7UUFDNUIsVUFBSyxHQUFMLEtBQUssQ0FBVTtRQUNmLGNBQVMsR0FBVCxTQUFTLENBQWdCO1FBQ3pCLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ3hCLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ3hCLFNBQUksR0FBSixJQUFJLENBQWdC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R0FBRztvQkFDTixDQUFDO3dCQUNDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7d0JBQzFDLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsc0JBQTZDLENBQUM7d0JBQ3pFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO3dCQUN6QixNQUFNO29CQUNSLENBQUM7Z0JBQ0gsS0FBSyxHQUFHO29CQUNOLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDckMsTUFBTTtnQkFDUjtvQkFDRSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM1QixDQUFDO0lBQ0gsQ0FBQztJQUNELFdBQVc7UUFDVCxhQUFhLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsV0FBVyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckQsQ0FBQzs4R0ExVFUscUJBQXFCO2tHQUFyQixxQkFBcUIsbUhDeEJsQyx3MERBbURBOzsyRkQzQmEscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLHNCQUFzQjs2U0FLdkIsS0FBSztzQkFBYixLQUFLO2dCQUNhLElBQUk7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25Jbml0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IERpcmVjdGlvbmFsaXR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwsIGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgUmVjaXBpZW50TW9kZWwsIEhlYWRlck1vZGVsLCBBY3Rpb24sIFVzZXJJbmZvLCBHZW5kZXIgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IE1haWxib3hTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9tYWlsYm94LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUHJvbXB0U2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvcHJvbXB0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS90cmFuc2xhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IEh1YlNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL2h1Yi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQWNjb3VudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL2FjY291bnQuc2VydmljZSc7XHJcbmltcG9ydCB7IEFjdGlvbkRpYWxvZywgQWN0aW9uRGlhbG9nRGF0YSB9IGZyb20gJy4uLy4uL2NvbXBvc2UvYWN0aW9uL2FjdGlvbi5kaWFsb2cnO1xyXG5pbXBvcnQgeyBDaGF0SW5mbyB9IGZyb20gJy4uLy4uL2NoYXQvY2hhdC1pbmZvJztcclxuaW1wb3J0IGRheWpzIGZyb20gJ2RheWpzJztcclxuXHJcbmNvbnN0IFJFRlJFU0hfVElNRSA9IDMwMDAwLCBUWVBJTkdfSElOVF9USU1FID0gMTUwMDtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLWV4cGFuZGVkLWl0ZW0nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9leHBhbmRlZC1pdGVtLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9leHBhbmRlZC1pdGVtLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEV4cGFuZGVkSXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBASW5wdXQoKSBtb2RlbDogUmVjaXBpZW50TW9kZWw8YW55PjtcclxuICBAT3V0cHV0KCkgcmVhZG9ubHkgc2VudCA9IG5ldyBFdmVudEVtaXR0ZXI8UmVjaXBpZW50TW9kZWw8YW55Pj4oKTtcclxuICBhY3Rpb25zPzogQWN0aW9uW107XHJcbiAgbmV3Q29tbWVudHM/OiBudW1iZXI7XHJcbiAgdHlwaW5nPzogYm9vbGVhbjtcclxuICBub3RlOiBzdHJpbmc7XHJcbiAgc2VuZGVyPzogc3RyaW5nO1xyXG4gIGF3YWl0aW5nPzogc3RyaW5nO1xyXG4gIG1vZGU6ICd3b3JraW5nJyB8ICdkb25lJyB8ICdmYWlsZWQnIHwgbnVsbDtcclxuICBwcml2YXRlIF90eXBpbmdUYXNrOiBOb2RlSlMuVGltZW91dDtcclxuICBwcml2YXRlIF9yZWZyZXNoVGFzazogTm9kZUpTLlRpbWVvdXQ7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfc2I6IFByb21wdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9jaGF0OiBDaGF0SW5mbyxcclxuICAgIHByaXZhdGUgX2FjY291bnRzOiBBY2NvdW50U2VydmljZSxcclxuICAgIHByaXZhdGUgX21haWxib3g6IE1haWxib3hTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9kaXI6IERpcmVjdGlvbmFsaXR5LFxyXG4gICAgcHJpdmF0ZSBfZGlhbG9nOiBNYXREaWFsb2csXHJcbiAgICBwcml2YXRlIF90cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9tZXNzYWdpbmc6IEh1YlNlcnZpY2UpIHtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9tZXNzYWdpbmcuY29tbWVudCQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLlxyXG4gICAgICBzdWJzY3JpYmUoZSA9PiB7XHJcbiAgICAgICAgaWYgKGUuaWQgPT09IHRoaXMubW9kZWwuaWQgJiYgKGUubW9kZWwuYnlJZCB8fCBlLm1vZGVsLnVzZXJJZCkgIT09IHRoaXMuX3Nlc3Npb24udXNlcklkKSB7XHJcbiAgICAgICAgICB0aGlzLl9jb21tZW50cygpO1xyXG4gICAgICAgICAgdGhpcy5fYWNjb3VudHMuZ2V0KGUubW9kZWwudXNlcklkKS5zdWJzY3JpYmUodSA9PlxyXG4gICAgICAgICAgICB0aGlzLl9zYi50b2FzdCgnQ29tbWVudGVkJywgdS5nZW5kZXIsIHUubmFtZSkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB0aGlzLl9tZXNzYWdpbmcudXBkYXRlJC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKGUgPT4ge1xyXG4gICAgICBpZiAoZS5tb2RlbC5pZCA9PT0gdGhpcy5tb2RlbC5pZCkge1xyXG4gICAgICAgIHRoaXMuX3JlZnJlc2goKTtcclxuICAgICAgICAoZS51c2VySWQgIT09IHRoaXMuX3Nlc3Npb24udXNlcklkKSAmJiB0aGlzLl9hY2NvdW50cy5nZXQoZS51c2VySWQpLnN1YnNjcmliZSh1ID0+XHJcbiAgICAgICAgICB0aGlzLl9zYi50b2FzdCgnTWFpbFZlcnNpb25VcGRhdGUnLCB0aGlzLm1vZGVsLm51bWJlciwgdS5uYW1lKSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5fbWFpbGJveC5jaGFuZ2VkLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5zdWJzY3JpYmUoZSA9PlxyXG4gICAgICAoZS5pZCA9PT0gdGhpcy5tb2RlbC5pZCkgJiZcclxuICAgICAgdGhpcy5fcmVmcmVzaCgpKTtcclxuICAgIHRoaXMuX21lc3NhZ2luZy5jb21tZW50VHlwaW5nJC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSwgZmlsdGVyKGUgPT4gZS5pZCA9PT0gdGhpcy5tb2RlbC5kb2N1bWVudElkKSkuc3Vic2NyaWJlKGMgPT4ge1xyXG4gICAgICB0aGlzLnR5cGluZyA9IHRydWU7XHJcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLl90eXBpbmdUYXNrKTtcclxuICAgICAgdGhpcy5fdHlwaW5nVGFzayA9IHNldFRpbWVvdXQoKCkgPT4gdGhpcy50eXBpbmcgPSBmYWxzZSwgVFlQSU5HX0hJTlRfVElNRSk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX3JlZnJlc2goKTtcclxuICAgIHRoaXMuX3JlZnJlc2hUYXNrID0gc2V0SW50ZXJ2YWwoKCkgPT4gdGhpcy5fcmVmcmVzaCgpLCBSRUZSRVNIX1RJTUUpO1xyXG4gIH1cclxuICBwcml2YXRlIGFzeW5jIF9ub3RlKCkge1xyXG4gICAgY29uc3QgeyBvd25lcklkLCBvd25lckJ5SWQsIGlzc3VlZCwgc3Vic3RpdHV0ZUlkLCByZWNlaXZlZCwgcmVwbGllZCwgbG9nLCBpZCwgbm90ZSwgYnlJZCwgYWN0aW9uLCBlc2NhbGF0ZWQsIG9yaWdpbklkLCBkcmFmdCB9ID0gdGhpcy5tb2RlbDtcclxuICAgIGxldCB0YXJnZXQ6IHN0cmluZztcclxuICAgIGlmIChhY3Rpb24pIHtcclxuICAgICAgdGFyZ2V0ID0gYXdhaXQgdGhpcy5fdGFyZ2V0KGlkKTtcclxuICAgIH1cclxuICAgIGlmIChzdWJzdGl0dXRlSWQpIHtcclxuICAgICAgY29uc3Qgc3Vic3RpdHV0aW5nID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5fYWNjb3VudHMuZ2V0KHN1YnN0aXR1dGVJZCkpO1xyXG4gICAgICBpZiAocmVwbGllZCkge1xyXG4gICAgICAgIGNvbnN0IHRpbWUgPSB0aGlzLl9mcm9tTm93KHJlcGxpZWQpLFxyXG4gICAgICAgICAgYWN0aW9uID0gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmFjdGlvbnMuZmluZChhID0+IGEubmFtZSA9PT0gYWN0aW9uKSxcclxuICAgICAgICAgIGFkamVjdGl2ZSA9IChhY3Rpb24uYWRqZWN0aXZlIHx8IGFjdGlvbi50aXRsZSkudG9Mb3dlckNhc2UoKTtcclxuICAgICAgICBpZiAodGFyZ2V0KVxyXG4gICAgICAgICAgdGhpcy5ub3RlID0gdGhpcy5fdHJhbnNsYXRlLnBlcnNvbmFsaXplKCdZb3VTdWJzdGl0dXRlQWN0aW9uVGFrZW5UbycsIHN1YnN0aXR1dGluZy5nZW5kZXIsIGFkamVjdGl2ZSxcclxuICAgICAgICAgICAgdGFyZ2V0LFxyXG4gICAgICAgICAgICB0aGlzLl9mb3JtYXRVc2VyRWxlbWVudChzdWJzdGl0dXRpbmcpLCB0aW1lKTtcclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICB0aGlzLm5vdGUgPSB0aGlzLl90cmFuc2xhdGUucGVyc29uYWxpemUoJ1lvdVN1YnN0aXR1dGVBY3Rpb25UYWtlbicsIHN1YnN0aXR1dGluZy5nZW5kZXIsIGFkamVjdGl2ZSwgdGhpcy5fZm9ybWF0VXNlckVsZW1lbnQoc3Vic3RpdHV0aW5nKSwgdGltZSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAoZXNjYWxhdGVkKSB7XHJcbiAgICAgICAgY29uc3QgZXNjYWxhdGlvbiA9IGxvZy5maW5kKGwgPT4gbC50eXBlID09PSAnRXNjYWxhdGlvbicgJiYgbC5yZWNpcGllbnRJZCA9PT0gb3JpZ2luSWQpO1xyXG4gICAgICAgIHRoaXMubm90ZSA9IHRoaXMuX3RyYW5zbGF0ZS5wZXJzb25hbGl6ZSgnRXNjYWxhdGVkRnJvbScsIHN1YnN0aXR1dGluZy5nZW5kZXIsIHRoaXMuX2Zvcm1hdFVzZXJFbGVtZW50KHN1YnN0aXR1dGluZyksIHRoaXMuX2R1cmF0aW9uKGVzY2FsYXRpb24uZHVyYXRpb24pKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBjb25zdCB0aW1lID0gdGhpcy5fZnJvbU5vdyhyZWNlaXZlZCk7XHJcbiAgICAgICAgdGhpcy5ub3RlID0gdGhpcy5fdHJhbnNsYXRlLnBlcnNvbmFsaXplKCdTdWJzdGl0dXRpbmdOb3RlJywgc3Vic3RpdHV0aW5nLmdlbmRlcixcclxuICAgICAgICAgIHRoaXMuX2Zvcm1hdFVzZXJFbGVtZW50KHN1YnN0aXR1dGluZyksXHJcbiAgICAgICAgICB0aW1lLFxyXG4gICAgICAgICAgbm90ZSB8fCAnJyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHJlcGxpZWQpIHtcclxuICAgICAgY29uc3QgdGltZSA9IHRoaXMuX2Zyb21Ob3cocmVwbGllZCk7XHJcbiAgICAgIGlmIChieUlkKSB7XHJcbiAgICAgICAgaWYgKGJ5SWQgPT09IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5ieUlkKSB7XHJcbiAgICAgICAgICBpZiAodGFyZ2V0KVxyXG4gICAgICAgICAgICB0aGlzLm5vdGUgPSB0aGlzLl90cmFuc2xhdGUuZ2V0KCdBY3Rpb25UYWtlbkJ5WW91VG8nLCB0aGlzLl9hY3Rpb25OYW1lKGFjdGlvbiwgJ3lvdScpLFxyXG4gICAgICAgICAgICAgIHRhcmdldCxcclxuICAgICAgICAgICAgICB0aGlzLl9zZXNzaW9uLnByb2ZpbGUubmFtZSwgdGltZSk7XHJcbiAgICAgICAgICBlbHNlIHRoaXMubm90ZSA9IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ0FjdGlvblRha2VuQnlZb3UnLCB0aGlzLl9hY3Rpb25OYW1lKGFjdGlvbiwgJ3lvdScpLFxyXG4gICAgICAgICAgICB0aGlzLl9zZXNzaW9uLnByb2ZpbGUubmFtZSwgdGltZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgIHRoaXMuX2FjY291bnRzLmdldChieUlkKS5zdWJzY3JpYmUodSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0YXJnZXQpXHJcbiAgICAgICAgICAgICAgdGhpcy5ub3RlID0gdGhpcy5fdHJhbnNsYXRlLmdldCgnWW91VGFrZW5BY3Rpb25CeVRvJywgdGhpcy5fZm9ybWF0VXNlckVsZW1lbnQodSksXHJcbiAgICAgICAgICAgICAgICB0aGlzLl9hY3Rpb25OYW1lKGFjdGlvbiwgdS5nZW5kZXIpLCB0YXJnZXQsIHRpbWUpO1xyXG4gICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgdGhpcy5ub3RlID0gdGhpcy5fdHJhbnNsYXRlLmdldCgnWW91VGFrZW5BY3Rpb25CeScsIHRoaXMuX2Zvcm1hdFVzZXJFbGVtZW50KHUpLFxyXG4gICAgICAgICAgICAgICAgdGhpcy5fYWN0aW9uTmFtZShhY3Rpb24sIHUuZ2VuZGVyKSwgdGltZSk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmICh0aGlzLl9zZXNzaW9uLnByb2ZpbGUuYnlJZCkge1xyXG4gICAgICAgIGlmICh0YXJnZXQpXHJcbiAgICAgICAgICB0aGlzLm5vdGUgPSB0aGlzLl90cmFuc2xhdGUucGVyc29uYWxpemUoJ0FjdGlvblRha2VuVG8nLCB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuZ2VuZGVyLFxyXG4gICAgICAgICAgICB0aGlzLl9zZXNzaW9uLnByb2ZpbGUubmFtZSxcclxuICAgICAgICAgICAgdGhpcy5fYWN0aW9uTmFtZShhY3Rpb24sIHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5nZW5kZXIpLCB0YXJnZXQsIHRpbWUpO1xyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgIHRoaXMubm90ZSA9IHRoaXMuX3RyYW5zbGF0ZS5wZXJzb25hbGl6ZSgnQWN0aW9uVGFrZW4nLCB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuZ2VuZGVyLCB0aGlzLl9zZXNzaW9uLnByb2ZpbGUubmFtZSxcclxuICAgICAgICAgICAgdGhpcy5fYWN0aW9uTmFtZShhY3Rpb24sIHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5nZW5kZXIpLCB0aW1lKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBpZiAodGFyZ2V0KVxyXG4gICAgICAgICAgdGhpcy5ub3RlID0gdGhpcy5fdHJhbnNsYXRlLmdldCgnWW91VGFrZW5BY3Rpb25UbycsIHRoaXMuX2FjdGlvbk5hbWUoYWN0aW9uLCAneW91JyksIHRhcmdldCwgdGltZSk7XHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgdGhpcy5ub3RlID0gdGhpcy5fdHJhbnNsYXRlLmdldCgnWW91VGFrZW5BY3Rpb24nLCB0aGlzLl9hY3Rpb25OYW1lKGFjdGlvbiwgJ3lvdScpLCB0aW1lKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAobm90ZSlcclxuICAgICAgdGhpcy5ub3RlID0gbm90ZTtcclxuICAgIGVsc2UgaWYgKG9yaWdpbklkKSB7XHJcbiAgICAgIGNvbnN0IG9yaWdpbiA9IHRoaXMubW9kZWwucmVjaXBpZW50cy5maW5kKHIgPT4gci5pZCA9PT0gb3JpZ2luSWQpO1xyXG4gICAgICBjb25zdCBhY3Rpb24gPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuYWN0aW9ucy5maW5kKGEgPT4gYS5uYW1lID09PSBvcmlnaW4uYWN0aW9uKSxcclxuICAgICAgICBhZGplY3RpdmUgPSBhY3Rpb24uYWRqZWN0aXZlIHx8IGFjdGlvbi5wYXN0IHx8IGFjdGlvbi50aXRsZTtcclxuICAgICAgaWYgKChvcmlnaW4uYnlJZCB8fCBvcmlnaW4udXNlcklkKSA9PT0gdGhpcy5fc2Vzc2lvbi51c2VySWQpXHJcbiAgICAgICAgdGhpcy5ub3RlID0gdGhpcy5fdHJhbnNsYXRlLmdldCgnQWN0aW9uQnlZb3UnLCBhZGplY3RpdmUpO1xyXG4gICAgICBlbHNlIGlmIChvcmlnaW4uYnlJZCkge1xyXG4gICAgICAgIGNvbnN0IHdobyA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuX2FjY291bnRzLmdldChvcmlnaW4udXNlcklkKSk7XHJcbiAgICAgICAgY29uc3QgYnkgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLl9hY2NvdW50cy5nZXQob3JpZ2luLmJ5SWQpKTtcclxuICAgICAgICB0aGlzLm5vdGUgPSB0aGlzLl90cmFuc2xhdGUuZ2V0KCdBY3Rpb25CeUJ5JywgYWRqZWN0aXZlLCBieS5uYW1lLCB3aG8ubmFtZSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgY29uc3Qgd2hvID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oIHRoaXMuX2FjY291bnRzLmdldChvcmlnaW4udXNlcklkKSk7XHJcbiAgICAgICAgdGhpcy5ub3RlID0gdGhpcy5fdHJhbnNsYXRlLmdldCgnQWN0aW9uQnknLCBhZGplY3RpdmUsIHdoby5uYW1lKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAob3duZXJJZCA9PT0gdGhpcy5fc2Vzc2lvbi51c2VySWQgJiYgIWRyYWZ0KSB7XHJcbiAgICAgIGNvbnN0IHRpbWUgPSB0aGlzLl9mcm9tTm93KGlzc3VlZCk7XHJcbiAgICAgIGlmIChvd25lckJ5SWQpIHtcclxuICAgICAgICBpZiAob3duZXJCeUlkID09PSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuYnlJZClcclxuICAgICAgICAgIHRoaXMubm90ZSA9IHRoaXMuX3RyYW5zbGF0ZS5wZXJzb25hbGl6ZSgnWW91U3VibWl0dGVkTm90ZUJ5JywgdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmJ5R2VuZGVyLCB0aGlzLl9zZXNzaW9uLnByb2ZpbGUubmFtZSwgdGltZSk7XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICBjb25zdCBieSA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuX2FjY291bnRzLmdldChvd25lckJ5SWQpKTtcclxuICAgICAgICAgIGlmICh0aGlzLl9zZXNzaW9uLmlzSW1wZXJzb25hdGluZylcclxuICAgICAgICAgICAgdGhpcy5ub3RlID0gdGhpcy5fdHJhbnNsYXRlLnBlcnNvbmFsaXplKCdTdWJtaXR0ZWROb3RlQnknLCBieS5nZW5kZXIsXHJcbiAgICAgICAgICAgICAgdGhpcy5fZm9ybWF0VXNlckVsZW1lbnQoYnkpLFxyXG4gICAgICAgICAgICAgIHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5uYW1lLFxyXG4gICAgICAgICAgICAgIHRpbWUpO1xyXG4gICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICB0aGlzLm5vdGUgPSB0aGlzLl90cmFuc2xhdGUucGVyc29uYWxpemUoJ1N1Ym1pdHRlZE5vdGVZb3VCeScsIGJ5LmdlbmRlcixcclxuICAgICAgICAgICAgICB0aGlzLl9mb3JtYXRVc2VyRWxlbWVudChieSksXHJcbiAgICAgICAgICAgICAgdGltZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGlmICh0aGlzLl9zZXNzaW9uLmlzSW1wZXJzb25hdGluZylcclxuICAgICAgICAgIHRoaXMubm90ZSA9IHRoaXMuX3RyYW5zbGF0ZS5wZXJzb25hbGl6ZSgnU3VibWl0dGVkTm90ZScsIHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5nZW5kZXIsIHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5uYW1lLCB0aW1lKTtcclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICB0aGlzLm5vdGUgPSB0aGlzLl90cmFuc2xhdGUuZ2V0KCdZb3VTdWJtaXR0ZWROb3RlJywgdGltZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgcHJpdmF0ZSBhc3luYyBfdGFyZ2V0KGlkOiBudW1iZXIpIHtcclxuICAgIGNvbnN0IG9yaWdpbiA9IHRoaXMubW9kZWwucmVjaXBpZW50cy5maWx0ZXIociA9PiByLm9yaWdpbklkID09PSBpZCk7XHJcbiAgICBpZiAob3JpZ2luLmxlbmd0aCkge1xyXG4gICAgICBjb25zdCB1c2VycyA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuX2FjY291bnRzLmdldEFsbChvcmlnaW4ubWFwKHIgPT4gci51c2VySWQpKSk7XHJcbiAgICAgIHJldHVybiB0aGlzLl90cmFuc2xhdGUuam9pbihcclxuICAgICAgICB1c2Vycy5tYXAodSA9PiB0aGlzLl9mb3JtYXRVc2VyRWxlbWVudCh1KSlcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2FjdGlvbk5hbWUobmFtZTogc3RyaW5nLCBnZW5kZXI6IEdlbmRlciB8ICd5b3UnKSB7XHJcbiAgICBjb25zdCBhY3Rpb24gPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuYWN0aW9ucy5maW5kKGEgPT4gYS5uYW1lID09PSBuYW1lKTtcclxuICAgIGlmICghYWN0aW9uKSByZXR1cm4gbmFtZTtcclxuICAgIGlmIChnZW5kZXIgPT09ICd5b3UnKSB7XHJcbiAgICAgIGNvbnN0IGdlbmRlciA9IHRoaXMuX3Nlc3Npb24uZ2VuZGVyO1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIChnZW5kZXIgPT09ICdNYWxlJyA/IChhY3Rpb24ueW91TWFsZSB8fCBhY3Rpb24ueW91KSA6XHJcbiAgICAgICAgICBnZW5kZXIgPT09ICdGZW1hbGUnID8gKGFjdGlvbi55b3VGZW1hbGUgfHwgYWN0aW9uLnlvdSkgOlxyXG4gICAgICAgICAgICBhY3Rpb24ueW91KSB8fCBhY3Rpb24ucGFzdCB8fFxyXG4gICAgICAgIGFjdGlvbi50aXRsZSkudG9Mb3dlckNhc2UoKTtcclxuICAgIH1cclxuICAgIHJldHVybiAoKGdlbmRlciA9PT0gJ01hbGUnID8gKGFjdGlvbi5wYXN0TWFsZSB8fCBhY3Rpb24ucGFzdCkgOlxyXG4gICAgICBnZW5kZXIgPT09ICdGZW1hbGUnID8gKGFjdGlvbi5wYXN0RmVtYWxlIHx8IGFjdGlvbi5wYXN0KSA6XHJcbiAgICAgICAgYWN0aW9uLnBhc3QpIHx8XHJcbiAgICAgIGFjdGlvbi50aXRsZSkudG9Mb3dlckNhc2UoKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfZnJvbU5vdyhkYXRlOiBEYXRlKSB7XHJcbiAgICByZXR1cm4gZGF5anMoZGF0ZSkuZnJvbU5vdygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZHVyYXRpb24odGltZTogbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gZGF5anMuZHVyYXRpb24odGltZSwgJ3MnKS5odW1hbml6ZSgpO1xyXG4gIH1cclxuICAvKiogKi9cclxuICBwcml2YXRlIGFzeW5jIF9yZWZyZXNoKCkge1xyXG4gICAgY29uc3QgeyBhY3Rpb25zIH0gPSB0aGlzLm1vZGVsO1xyXG4gICAgdGhpcy5hY3Rpb25zID0gYWN0aW9ucyAmJiBhY3Rpb25zLmxlbmd0aCA/IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5hY3Rpb25zLmZpbHRlcihhID0+IGFjdGlvbnMuaW5kZXhPZihhLm5hbWUpID4gLTEpIDogbnVsbDtcclxuICAgIGNvbnN0IHsgc2VuZGVySWQgfSA9IHRoaXMubW9kZWw7XHJcbiAgICAvLyBzZW5kZXJcclxuICAgIGlmIChzZW5kZXJJZCAmJiAoc2VuZGVySWQgIT09IHRoaXMuX3Nlc3Npb24udXNlcklkKSkge1xyXG4gICAgICBjb25zdCB3aG8gPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLl9hY2NvdW50cy5nZXQoc2VuZGVySWQpKTtcclxuICAgICAgdGhpcy5zZW5kZXIgPSB0aGlzLl9mb3JtYXRVc2VyRWxlbWVudCh3aG8pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fY29tbWVudHMoKTtcclxuICAgIHRoaXMuX25vdGUoKTtcclxuICAgIHRoaXMuX2F3YWl0aW5nKCk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2NvbW1lbnRzKCkge1xyXG4gICAgY29uc3QgeyB2aWV3ZWQsIGNvbW1lbnRzIH0gPSB0aGlzLm1vZGVsO1xyXG4gICAgdGhpcy5uZXdDb21tZW50cyA9IHZpZXdlZCA/XHJcbiAgICAgIGNvbW1lbnRzLmZpbHRlcihjID0+IGMudGltZSA+IHZpZXdlZCAmJiAoYy5ieUlkIHx8IGMudXNlcklkKSAhPT0gdGhpcy5fc2Vzc2lvbi51c2VySWQpLmxlbmd0aCB8fCBudWxsIDogbnVsbDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX2F3YWl0aW5nKCkge1xyXG4gICAgLy9hd2FpdGluZ1xyXG4gICAgbGV0IHJlY2lwaWVudHMgPSB0aGlzLm1vZGVsLnJlY2lwaWVudHMuZmlsdGVyKHIgPT4gci5wZW5kaW5nICYmICFyLmVzdGltYXRlKS5cclxuICAgICAgc29ydCgocjAsIHIxKSA9PiByMC5yZWNlaXZlZCA+IHIxLnJlY2VpdmVkID8gMSA6IC0xKS5cclxuICAgICAgbWFwKHIgPT4gci51c2VySWQpO1xyXG4gICAgcmVjaXBpZW50cyA9IHJlY2lwaWVudHMuZmlsdGVyKChyLCBpKSA9PiByZWNpcGllbnRzLmluZGV4T2YocikgPT09IGkpOyAvKiB1bmlxdWUgKi9cclxuICAgIGlmIChyZWNpcGllbnRzLmxlbmd0aCA+IDApIHtcclxuICAgICAgaWYgKHJlY2lwaWVudHMuaW5kZXhPZih0aGlzLl9zZXNzaW9uLnVzZXJJZCkgPCAwIHx8IHJlY2lwaWVudHMubGVuZ3RoID4gMSkge1xyXG4gICAgICAgIGNvbnN0IHVzZXJzID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5fYWNjb3VudHMuZ2V0QWxsKHJlY2lwaWVudHMuZmlsdGVyKHIgPT4gciAhPT0gdGhpcy5fc2Vzc2lvbi51c2VySWQpKSk7XHJcbiAgICAgICAgY29uc3QgbmFtZXMgPSB1c2Vycy5tYXAocCA9PiB0aGlzLl9mb3JtYXRVc2VyRWxlbWVudChwKSk7XHJcbiAgICAgICAgcmVjaXBpZW50cy5pbmRleE9mKHRoaXMuX3Nlc3Npb24udXNlcklkKSA+IC0xICYmXHJcbiAgICAgICAgICBuYW1lcy5wdXNoKHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ1lvdXJzZWxmJykpO1xyXG4gICAgICAgIHRoaXMuYXdhaXRpbmcgPSB0aGlzLl90cmFuc2xhdGUuZ2V0KCdBd2FpdGluZycsIHRoaXMuX3RyYW5zbGF0ZS5qb2luKG5hbWVzKSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAgICogQ2hhdFxyXG4gICAgICogQHBhcmFtIGVcclxuICAgICAqL1xyXG4gIGNoYXQoZTogTW91c2VFdmVudCkge1xyXG4gICAgY29uc3QgdXNlcklkID0gKGUudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5nZXRBdHRyaWJ1dGUoJ2RhdGEtaW5mbycpO1xyXG4gICAgdXNlcklkICYmXHJcbiAgICAgIHRoaXMuX2NoYXQub3Blbih1c2VySWQpO1xyXG4gIH1cclxuICBwcml2YXRlIF9mb3JtYXRVc2VyRWxlbWVudChwZXJzb246IFVzZXJJbmZvKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fY2hhdC5mb3JtYXQocGVyc29uKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogXHJcbiAgICogQHBhcmFtIGFjdGlvblxyXG4gICAqL1xyXG4gIHNlbmQoYWN0aW9uOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHsgaWQsIG51bWJlciwgdmVyc2lvbiwgZm9ybUlkIH0gPSB0aGlzLm1vZGVsO1xyXG4gICAgY29uc3QgZGF0YTogQWN0aW9uRGlhbG9nRGF0YSA9IHtcclxuICAgICAgYWN0aW9uLFxyXG4gICAgICBpdGVtOiB0aGlzLm1vZGVsXHJcbiAgICB9O1xyXG4gICAgdGhpcy5fZGlhbG9nLm9wZW4oQWN0aW9uRGlhbG9nLCB7XHJcbiAgICAgIGRhdGEsXHJcbiAgICAgIGRpcmVjdGlvbjogdGhpcy5fZGlyLnZhbHVlXHJcbiAgICB9KS5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShhcmdzID0+IHtcclxuICAgICAgaWYgKGFyZ3MpIHtcclxuICAgICAgICB0aGlzLm1vZGUgPSAnd29ya2luZyc7XHJcbiAgICAgICAgdGhpcy5fbWFpbGJveC5zZW5kKGlkLCB2ZXJzaW9uLCBmb3JtSWQsIG51bGwsIGFjdGlvbiwgYXJncykuc3Vic2NyaWJlKHtcclxuICAgICAgICAgIG5leHQ6IGFzeW5jIHIgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBjYWN0aW9uID0gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmFjdGlvbnMuZmluZChhID0+IGEubmFtZSA9PT0gYWN0aW9uKSxcclxuICAgICAgICAgICAgICBhZGplY3RpdmUgPSBjYWN0aW9uLmFkamVjdGl2ZSB8fCBjYWN0aW9uLnRpdGxlO1xyXG4gICAgICAgICAgICBjb25zdCB0YXJnZXQgPSBhd2FpdCB0aGlzLl90YXJnZXQoaWQpO1xyXG4gICAgICAgICAgICBpZiAodGFyZ2V0KVxyXG4gICAgICAgICAgICAgIHRoaXMuX3NiLnRvYXN0KCdTZW50VG8nLCBudW1iZXIsIGFkamVjdGl2ZS50b0xvd2VyQ2FzZSgpLCB0YXJnZXQpO1xyXG4gICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgdGhpcy5fc2IudG9hc3QoJ1NlbnQnLCBudW1iZXIsIGFkamVjdGl2ZS50b0xvd2VyQ2FzZSgpKTtcclxuICAgICAgICAgICAgdGhpcy5zZW50LmVtaXQodGhpcy5tb2RlbCk7XHJcbiAgICAgICAgICAgIHRoaXMubW9kZSA9ICdkb25lJztcclxuICAgICAgICAgIH0sIGVycm9yOiBlID0+IHtcclxuICAgICAgICAgICAgdGhpcy5faGFuZGxlUmVzcG9uc2UoZSwgdGhpcy5tb2RlbCwgJ1NlbmRFcnInKTtcclxuICAgICAgICAgICAgdGhpcy5tb2RlID0gJ2ZhaWxlZCc7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBcclxuICAgKiBAcGFyYW0gcmVzcG9uc2VcclxuICAgKiBAcGFyYW0gaXRlbVxyXG4gICAqIEBwYXJhbSBtZXNzYWdlIHJlc291cmNlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfaGFuZGxlUmVzcG9uc2UocmVzcG9uc2U6IEh0dHBFcnJvclJlc3BvbnNlIHwgYW55LCBpdGVtOiBIZWFkZXJNb2RlbCwgbWVzc2FnZTogc3RyaW5nKSB7XHJcbiAgICBpZiAocmVzcG9uc2UuY29uc3RydWN0b3IubmFtZSA9PT0gJ1Bvc2l0aW9uRXJyb3InKVxyXG4gICAgICBzd2l0Y2ggKHJlc3BvbnNlLmNvZGUpIHtcclxuICAgICAgICBjYXNlIDE6XHJcbiAgICAgICAgICB0aGlzLl9zYi5lcnJvcignVXNlckRlbmllZEdlb0VycicpO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgIHRoaXMuX3NiLmVycm9yKCdHZW9FcnInKTtcclxuICAgICAgfVxyXG4gICAgZWxzZSBzd2l0Y2ggKHJlc3BvbnNlLnN0YXR1cykge1xyXG4gICAgICBjYXNlIDQwOTpcclxuICAgICAgICB7XHJcbiAgICAgICAgICB0aGlzLl9zYi5lcnJvcignVmVyc2lvbkVycicsIGl0ZW0ubnVtYmVyKTtcclxuICAgICAgICAgIGNvbnN0IG9iaiA9IHJlc3BvbnNlLmVycm9yIC8qIHNlcmlhbGl6ZWQgbW9kZWwgKi8gYXMgUmVjaXBpZW50TW9kZWw8YW55PjtcclxuICAgICAgICAgIE9iamVjdC5hc3NpZ24oaXRlbSwgb2JqKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgY2FzZSA0MDY6XHJcbiAgICAgICAgdGhpcy5fc2IuZXJyb3JTdHJpbmcocmVzcG9uc2UuZXJyb3IpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHRoaXMuX3NiLmVycm9yKG1lc3NhZ2UpO1xyXG4gICAgfVxyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIGNsZWFySW50ZXJ2YWwodGhpcy5fcmVmcmVzaFRhc2spO1xyXG4gICAgdGhpcy5fZGVzdHJveS5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95LmNvbXBsZXRlKCk7XHJcbiAgICB0aGlzLl90eXBpbmdUYXNrICYmIGNsZWFyVGltZW91dCh0aGlzLl90eXBpbmdUYXNrKTtcclxuICB9XHJcbn1cclxuIiwiQGlmIChtb2RlbC5zdW1tYXJ5KSB7XG4gIDxkaXYgY2xhc3M9XCJzdW1tYXJ5XCIgW2lubmVySFRNTF09XCJtb2RlbC5zdW1tYXJ5XCI+XG4gIDwvZGl2PlxufVxuPGRpdj5cbiAgPGJpemRvYy1hdHRhY2htZW50cyBbbW9kZWxdPVwibW9kZWxcIj48L2JpemRvYy1hdHRhY2htZW50cz5cbiAgPGJpemRvYy1ldmVudHMgW21vZGVsXT1cIm1vZGVsXCI+PC9iaXpkb2MtZXZlbnRzPlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwicm93XCI+XG4gIDxzcGFuIGNsYXNzPVwibm90ZVwiIFtpbm5lckhUTUxdPVwibm90ZSB8IHNhbml0aXplSHRtbFwiIChjbGljayk9XCJjaGF0KCRldmVudClcIj48L3NwYW4+XG4gIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cbiAgQGZvciAoYSBvZiBhY3Rpb25zOyB0cmFjayBhKSB7XG4gICAgQGlmIChhLmljb24pIHtcbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJzZW5kKGEubmFtZSlcIiBbYml6ZG9jVG9vbHRpcF09XCJhLnRpdGxlXCIgY2xhc3M9XCJ0b29sXCI+XG4gICAgICAgIDxtYXQtaWNvbj57e2EuaWNvbn19PC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIH1cbiAgfVxuPC9kaXY+XG48ZGl2IGNsYXNzPVwicm93XCI+XG4gIDxkaXYgY2xhc3M9XCJtYXQtc21hbGwgcm93XCI+XG4gICAgPHNwYW4+e3ttb2RlbC5zdGF0ZUlkIHwgc3RhdGUgOiAncGFzdCcgfX08L3NwYW4+XG4gICAgJm5ic3A7XG4gICAgPHNwYW4gY2xhc3M9XCJ0aW1lXCIgW2JpemRvY1Rvb2x0aXBdPVwibW9kZWwucmVjZWl2ZWQgfCBhbUNhbGVuZGFyXCI+e3ttb2RlbC5yZWNlaXZlZCB8IGFtVGltZUFnb319PC9zcGFuPlxuICAgICZuYnNwO1xuICAgIDxzcGFuIFtpbm5lckhUTUxdPVwic2VuZGVyIHwgc2FuaXRpemVIdG1sXCIgKGNsaWNrKT1cImNoYXQoJGV2ZW50KVwiIGNsYXNzPVwid2hvXCI+PC9zcGFuPiZuYnNwO1xuICAgIDxzcGFuIFtpbm5lckhUTUxdPVwiYXdhaXRpbmcgfCBzYW5pdGl6ZUh0bWxcIiAoY2xpY2spPVwiY2hhdCgkZXZlbnQpXCIgY2xhc3M9XCJ3aG9cIj48L3NwYW4+XG4gIDwvZGl2PlxuICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XG4gIDxkaXYgY2xhc3M9XCJjZW50ZXIgY2VudGVyXCI+XG4gICAgQGlmICh0eXBpbmcpIHtcbiAgICAgIDxzcGFuIGNsYXNzPVwibWF0LXNtYWxsXCI+e3snU29tZW9uZVR5cGluZyd8dHJhbnNsYXRlfX08L3NwYW4+XG4gICAgfVxuICAgIEBpZiAobW9kZWwuY29tbWVudHMubGVuZ3RoKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwibWF0LXNtYWxsXCI+XG4gICAgICAgIEBpZiAoIW5ld0NvbW1lbnRzKSB7XG4gICAgICAgICAgPHNwYW4+e3ttb2RlbC5jb21tZW50cy5sZW5ndGggPiAxID8gKCdDb21tZW50c0NvdW50JyB8IHRyYW5zbGF0ZSA6IG1vZGVsLmNvbW1lbnRzLmxlbmd0aCkgOiAnT25lQ29tbWVudCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwiJ05ld0NvbW1lbnRzQ291bnQnIHwgdHJhbnNsYXRlIDogbW9kZWwuY29tbWVudHMubGVuZ3RoIDogbmV3Q29tbWVudHMgfCBzYW5pdGl6ZUh0bWxcIj48L3NwYW4+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgPC9kaXY+XG4gIEBpZiAobW9kZWwudGFncykge1xuICAgIDxtYXQtY2hpcC1zZXQ+XG4gICAgICBAZm9yICh0YWcgb2YgbW9kZWwudGFnczsgdHJhY2sgdGFnKSB7XG4gICAgICAgIDxtYXQtY2hpcCBbaGlnaGxpZ2h0ZWRdPVwidHJ1ZVwiIFtkaXNhYmxlUmlwcGxlXT1cInRydWVcIj57e3RhZ319PC9tYXQtY2hpcD5cbiAgICAgIH1cbiAgICA8L21hdC1jaGlwLXNldD5cbiAgfVxuPC9kaXY+XG4iXX0=
316
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5kZWQtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2Jyb3dzZS9leHBhbmRlZC1pdGVtL2V4cGFuZGVkLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9icm93c2UvZXhwYW5kZWQtaXRlbS9leHBhbmRlZC1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBSTFGLE9BQU8sRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFRbkQsT0FBTyxFQUFFLFlBQVksRUFBb0IsTUFBTSxvQ0FBb0MsQ0FBQztBQUVwRixPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFMUIsTUFBTSxZQUFZLEdBQUcsS0FBSyxFQUFFLGdCQUFnQixHQUFHLElBQUksQ0FBQztBQU9wRCxNQUFNLE9BQU8scUJBQXFCO0lBYWhDLFlBQW9CLEdBQWtCLEVBQzVCLEtBQWUsRUFDZixTQUF5QixFQUN6QixRQUF3QixFQUN4QixRQUF3QixFQUN4QixJQUFvQixFQUNwQixPQUFrQixFQUNsQixVQUE0QixFQUM1QixVQUFzQjtRQVJaLFFBQUcsR0FBSCxHQUFHLENBQWU7UUFDNUIsVUFBSyxHQUFMLEtBQUssQ0FBVTtRQUNmLGNBQVMsR0FBVCxTQUFTLENBQWdCO1FBQ3pCLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ3hCLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ3hCLFNBQUksR0FBSixJQUFJLENBQWdC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R0FBRztvQkFDTixDQUFDO3dCQUNDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7d0JBQzFDLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsc0JBQTZDLENBQUM7d0JBQ3pFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO3dCQUN6QixNQUFNO29CQUNSLENBQUM7Z0JBQ0gsS0FBSyxHQUFHO29CQUNOLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDckMsTUFBTTtnQkFDUjtvQkFDRSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM1QixDQUFDO0lBQ0gsQ0FBQztJQUNELFdBQVc7UUFDVCxhQUFhLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsV0FBVyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckQsQ0FBQzs4R0ExVFUscUJBQXFCO2tHQUFyQixxQkFBcUIsbUhDeEJsQyw0eURBbURBOzsyRkQzQmEscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLHNCQUFzQjs2U0FLdkIsS0FBSztzQkFBYixLQUFLO2dCQUNhLElBQUk7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25Jbml0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IERpcmVjdGlvbmFsaXR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwsIGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgUmVjaXBpZW50TW9kZWwsIEhlYWRlck1vZGVsLCBBY3Rpb24sIFVzZXJJbmZvLCBHZW5kZXIgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IE1haWxib3hTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9tYWlsYm94LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUHJvbXB0U2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvcHJvbXB0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS90cmFuc2xhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IEh1YlNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL2h1Yi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQWNjb3VudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL2FjY291bnQuc2VydmljZSc7XHJcbmltcG9ydCB7IEFjdGlvbkRpYWxvZywgQWN0aW9uRGlhbG9nRGF0YSB9IGZyb20gJy4uLy4uL2NvbXBvc2UvYWN0aW9uL2FjdGlvbi5kaWFsb2cnO1xyXG5pbXBvcnQgeyBDaGF0SW5mbyB9IGZyb20gJy4uLy4uL2NoYXQvY2hhdC1pbmZvJztcclxuaW1wb3J0IGRheWpzIGZyb20gJ2RheWpzJztcclxuXHJcbmNvbnN0IFJFRlJFU0hfVElNRSA9IDMwMDAwLCBUWVBJTkdfSElOVF9USU1FID0gMTUwMDtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLWV4cGFuZGVkLWl0ZW0nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9leHBhbmRlZC1pdGVtLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9leHBhbmRlZC1pdGVtLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEV4cGFuZGVkSXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBASW5wdXQoKSBtb2RlbDogUmVjaXBpZW50TW9kZWw8YW55PjtcclxuICBAT3V0cHV0KCkgcmVhZG9ubHkgc2VudCA9IG5ldyBFdmVudEVtaXR0ZXI8UmVjaXBpZW50TW9kZWw8YW55Pj4oKTtcclxuICBhY3Rpb25zPzogQWN0aW9uW107XHJcbiAgbmV3Q29tbWVudHM/OiBudW1iZXI7XHJcbiAgdHlwaW5nPzogYm9vbGVhbjtcclxuICBub3RlOiBzdHJpbmc7XHJcbiAgc2VuZGVyPzogc3RyaW5nO1xyXG4gIGF3YWl0aW5nPzogc3RyaW5nO1xyXG4gIG1vZGU6ICd3b3JraW5nJyB8ICdkb25lJyB8ICdmYWlsZWQnIHwgbnVsbDtcclxuICBwcml2YXRlIF90eXBpbmdUYXNrOiBOb2RlSlMuVGltZW91dDtcclxuICBwcml2YXRlIF9yZWZyZXNoVGFzazogTm9kZUpTLlRpbWVvdXQ7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfc2I6IFByb21wdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9jaGF0OiBDaGF0SW5mbyxcclxuICAgIHByaXZhdGUgX2FjY291bnRzOiBBY2NvdW50U2VydmljZSxcclxuICAgIHByaXZhdGUgX21haWxib3g6IE1haWxib3hTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9kaXI6IERpcmVjdGlvbmFsaXR5LFxyXG4gICAgcHJpdmF0ZSBfZGlhbG9nOiBNYXREaWFsb2csXHJcbiAgICBwcml2YXRlIF90cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9tZXNzYWdpbmc6IEh1YlNlcnZpY2UpIHtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9tZXNzYWdpbmcuY29tbWVudCQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLlxyXG4gICAgICBzdWJzY3JpYmUoZSA9PiB7XHJcbiAgICAgICAgaWYgKGUuaWQgPT09IHRoaXMubW9kZWwuaWQgJiYgKGUubW9kZWwuYnlJZCB8fCBlLm1vZGVsLnVzZXJJZCkgIT09IHRoaXMuX3Nlc3Npb24udXNlcklkKSB7XHJcbiAgICAgICAgICB0aGlzLl9jb21tZW50cygpO1xyXG4gICAgICAgICAgdGhpcy5fYWNjb3VudHMuZ2V0KGUubW9kZWwudXNlcklkKS5zdWJzY3JpYmUodSA9PlxyXG4gICAgICAgICAgICB0aGlzLl9zYi50b2FzdCgnQ29tbWVudGVkJywgdS5nZW5kZXIsIHUubmFtZSkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB0aGlzLl9tZXNzYWdpbmcudXBkYXRlJC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKGUgPT4ge1xyXG4gICAgICBpZiAoZS5tb2RlbC5pZCA9PT0gdGhpcy5tb2RlbC5pZCkge1xyXG4gICAgICAgIHRoaXMuX3JlZnJlc2goKTtcclxuICAgICAgICAoZS51c2VySWQgIT09IHRoaXMuX3Nlc3Npb24udXNlcklkKSAmJiB0aGlzLl9hY2NvdW50cy5nZXQoZS51c2VySWQpLnN1YnNjcmliZSh1ID0+XHJcbiAgICAgICAgICB0aGlzLl9zYi50b2FzdCgnTWFpbFZlcnNpb25VcGRhdGUnLCB0aGlzLm1vZGVsLm51bWJlciwgdS5uYW1lKSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5fbWFpbGJveC5jaGFuZ2VkLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5zdWJzY3JpYmUoZSA9PlxyXG4gICAgICAoZS5pZCA9PT0gdGhpcy5tb2RlbC5pZCkgJiZcclxuICAgICAgdGhpcy5fcmVmcmVzaCgpKTtcclxuICAgIHRoaXMuX21lc3NhZ2luZy5jb21tZW50VHlwaW5nJC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSwgZmlsdGVyKGUgPT4gZS5pZCA9PT0gdGhpcy5tb2RlbC5kb2N1bWVudElkKSkuc3Vic2NyaWJlKGMgPT4ge1xyXG4gICAgICB0aGlzLnR5cGluZyA9IHRydWU7XHJcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLl90eXBpbmdUYXNrKTtcclxuICAgICAgdGhpcy5fdHlwaW5nVGFzayA9IHNldFRpbWVvdXQoKCkgPT4gdGhpcy50eXBpbmcgPSBmYWxzZSwgVFlQSU5HX0hJTlRfVElNRSk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX3JlZnJlc2goKTtcclxuICAgIHRoaXMuX3JlZnJlc2hUYXNrID0gc2V0SW50ZXJ2YWwoKCkgPT4gdGhpcy5fcmVmcmVzaCgpLCBSRUZSRVNIX1RJTUUpO1xyXG4gIH1cclxuICBwcml2YXRlIGFzeW5jIF9ub3RlKCkge1xyXG4gICAgY29uc3QgeyBvd25lcklkLCBvd25lckJ5SWQsIGlzc3VlZCwgc3Vic3RpdHV0ZUlkLCByZWNlaXZlZCwgcmVwbGllZCwgbG9nLCBpZCwgbm90ZSwgYnlJZCwgYWN0aW9uLCBlc2NhbGF0ZWQsIG9yaWdpbklkLCBkcmFmdCB9ID0gdGhpcy5tb2RlbDtcclxuICAgIGxldCB0YXJnZXQ6IHN0cmluZztcclxuICAgIGlmIChhY3Rpb24pIHtcclxuICAgICAgdGFyZ2V0ID0gYXdhaXQgdGhpcy5fdGFyZ2V0KGlkKTtcclxuICAgIH1cclxuICAgIGlmIChzdWJzdGl0dXRlSWQpIHtcclxuICAgICAgY29uc3Qgc3Vic3RpdHV0aW5nID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5fYWNjb3VudHMuZ2V0KHN1YnN0aXR1dGVJZCkpO1xyXG4gICAgICBpZiAocmVwbGllZCkge1xyXG4gICAgICAgIGNvbnN0IHRpbWUgPSB0aGlzLl9mcm9tTm93KHJlcGxpZWQpLFxyXG4gICAgICAgICAgYWN0aW9uID0gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmFjdGlvbnMuZmluZChhID0+IGEubmFtZSA9PT0gYWN0aW9uKSxcclxuICAgICAgICAgIGFkamVjdGl2ZSA9IChhY3Rpb24uYWRqZWN0aXZlIHx8IGFjdGlvbi50aXRsZSkudG9Mb3dlckNhc2UoKTtcclxuICAgICAgICBpZiAodGFyZ2V0KVxyXG4gICAgICAgICAgdGhpcy5ub3RlID0gdGhpcy5fdHJhbnNsYXRlLnBlcnNvbmFsaXplKCdZb3VTdWJzdGl0dXRlQWN0aW9uVGFrZW5UbycsIHN1YnN0aXR1dGluZy5nZW5kZXIsIGFkamVjdGl2ZSxcclxuICAgICAgICAgICAgdGFyZ2V0LFxyXG4gICAgICAgICAgICB0aGlzLl9mb3JtYXRVc2VyRWxlbWVudChzdWJzdGl0dXRpbmcpLCB0aW1lKTtcclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICB0aGlzLm5vdGUgPSB0aGlzLl90cmFuc2xhdGUucGVyc29uYWxpemUoJ1lvdVN1YnN0aXR1dGVBY3Rpb25UYWtlbicsIHN1YnN0aXR1dGluZy5nZW5kZXIsIGFkamVjdGl2ZSwgdGhpcy5fZm9ybWF0VXNlckVsZW1lbnQoc3Vic3RpdHV0aW5nKSwgdGltZSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAoZXNjYWxhdGVkKSB7XHJcbiAgICAgICAgY29uc3QgZXNjYWxhdGlvbiA9IGxvZy5maW5kKGwgPT4gbC50eXBlID09PSAnRXNjYWxhdGlvbicgJiYgbC5yZWNpcGllbnRJZCA9PT0gb3JpZ2luSWQpO1xyXG4gICAgICAgIHRoaXMubm90ZSA9IHRoaXMuX3RyYW5zbGF0ZS5wZXJzb25hbGl6ZSgnRXNjYWxhdGVkRnJvbScsIHN1YnN0aXR1dGluZy5nZW5kZXIsIHRoaXMuX2Zvcm1hdFVzZXJFbGVtZW50KHN1YnN0aXR1dGluZyksIHRoaXMuX2R1cmF0aW9uKGVzY2FsYXRpb24uZHVyYXRpb24pKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBjb25zdCB0aW1lID0gdGhpcy5fZnJvbU5vdyhyZWNlaXZlZCk7XHJcbiAgICAgICAgdGhpcy5ub3RlID0gdGhpcy5fdHJhbnNsYXRlLnBlcnNvbmFsaXplKCdTdWJzdGl0dXRpbmdOb3RlJywgc3Vic3RpdHV0aW5nLmdlbmRlcixcclxuICAgICAgICAgIHRoaXMuX2Zvcm1hdFVzZXJFbGVtZW50KHN1YnN0aXR1dGluZyksXHJcbiAgICAgICAgICB0aW1lLFxyXG4gICAgICAgICAgbm90ZSB8fCAnJyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHJlcGxpZWQpIHtcclxuICAgICAgY29uc3QgdGltZSA9IHRoaXMuX2Zyb21Ob3cocmVwbGllZCk7XHJcbiAgICAgIGlmIChieUlkKSB7XHJcbiAgICAgICAgaWYgKGJ5SWQgPT09IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5ieUlkKSB7XHJcbiAgICAgICAgICBpZiAodGFyZ2V0KVxyXG4gICAgICAgICAgICB0aGlzLm5vdGUgPSB0aGlzLl90cmFuc2xhdGUuZ2V0KCdBY3Rpb25UYWtlbkJ5WW91VG8nLCB0aGlzLl9hY3Rpb25OYW1lKGFjdGlvbiwgJ3lvdScpLFxyXG4gICAgICAgICAgICAgIHRhcmdldCxcclxuICAgICAgICAgICAgICB0aGlzLl9zZXNzaW9uLnByb2ZpbGUubmFtZSwgdGltZSk7XHJcbiAgICAgICAgICBlbHNlIHRoaXMubm90ZSA9IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ0FjdGlvblRha2VuQnlZb3UnLCB0aGlzLl9hY3Rpb25OYW1lKGFjdGlvbiwgJ3lvdScpLFxyXG4gICAgICAgICAgICB0aGlzLl9zZXNzaW9uLnByb2ZpbGUubmFtZSwgdGltZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgIHRoaXMuX2FjY291bnRzLmdldChieUlkKS5zdWJzY3JpYmUodSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0YXJnZXQpXHJcbiAgICAgICAgICAgICAgdGhpcy5ub3RlID0gdGhpcy5fdHJhbnNsYXRlLmdldCgnWW91VGFrZW5BY3Rpb25CeVRvJywgdGhpcy5fZm9ybWF0VXNlckVsZW1lbnQodSksXHJcbiAgICAgICAgICAgICAgICB0aGlzLl9hY3Rpb25OYW1lKGFjdGlvbiwgdS5nZW5kZXIpLCB0YXJnZXQsIHRpbWUpO1xyXG4gICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgdGhpcy5ub3RlID0gdGhpcy5fdHJhbnNsYXRlLmdldCgnWW91VGFrZW5BY3Rpb25CeScsIHRoaXMuX2Zvcm1hdFVzZXJFbGVtZW50KHUpLFxyXG4gICAgICAgICAgICAgICAgdGhpcy5fYWN0aW9uTmFtZShhY3Rpb24sIHUuZ2VuZGVyKSwgdGltZSk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmICh0aGlzLl9zZXNzaW9uLnByb2ZpbGUuYnlJZCkge1xyXG4gICAgICAgIGlmICh0YXJnZXQpXHJcbiAgICAgICAgICB0aGlzLm5vdGUgPSB0aGlzLl90cmFuc2xhdGUucGVyc29uYWxpemUoJ0FjdGlvblRha2VuVG8nLCB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuZ2VuZGVyLFxyXG4gICAgICAgICAgICB0aGlzLl9zZXNzaW9uLnByb2ZpbGUubmFtZSxcclxuICAgICAgICAgICAgdGhpcy5fYWN0aW9uTmFtZShhY3Rpb24sIHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5nZW5kZXIpLCB0YXJnZXQsIHRpbWUpO1xyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgIHRoaXMubm90ZSA9IHRoaXMuX3RyYW5zbGF0ZS5wZXJzb25hbGl6ZSgnQWN0aW9uVGFrZW4nLCB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuZ2VuZGVyLCB0aGlzLl9zZXNzaW9uLnByb2ZpbGUubmFtZSxcclxuICAgICAgICAgICAgdGhpcy5fYWN0aW9uTmFtZShhY3Rpb24sIHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5nZW5kZXIpLCB0aW1lKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBpZiAodGFyZ2V0KVxyXG4gICAgICAgICAgdGhpcy5ub3RlID0gdGhpcy5fdHJhbnNsYXRlLmdldCgnWW91VGFrZW5BY3Rpb25UbycsIHRoaXMuX2FjdGlvbk5hbWUoYWN0aW9uLCAneW91JyksIHRhcmdldCwgdGltZSk7XHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgdGhpcy5ub3RlID0gdGhpcy5fdHJhbnNsYXRlLmdldCgnWW91VGFrZW5BY3Rpb24nLCB0aGlzLl9hY3Rpb25OYW1lKGFjdGlvbiwgJ3lvdScpLCB0aW1lKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAobm90ZSlcclxuICAgICAgdGhpcy5ub3RlID0gbm90ZTtcclxuICAgIGVsc2UgaWYgKG9yaWdpbklkKSB7XHJcbiAgICAgIGNvbnN0IG9yaWdpbiA9IHRoaXMubW9kZWwucmVjaXBpZW50cy5maW5kKHIgPT4gci5pZCA9PT0gb3JpZ2luSWQpO1xyXG4gICAgICBjb25zdCBhY3Rpb24gPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuYWN0aW9ucy5maW5kKGEgPT4gYS5uYW1lID09PSBvcmlnaW4uYWN0aW9uKSxcclxuICAgICAgICBhZGplY3RpdmUgPSBhY3Rpb24uYWRqZWN0aXZlIHx8IGFjdGlvbi5wYXN0IHx8IGFjdGlvbi50aXRsZTtcclxuICAgICAgaWYgKChvcmlnaW4uYnlJZCB8fCBvcmlnaW4udXNlcklkKSA9PT0gdGhpcy5fc2Vzc2lvbi51c2VySWQpXHJcbiAgICAgICAgdGhpcy5ub3RlID0gdGhpcy5fdHJhbnNsYXRlLmdldCgnQWN0aW9uQnlZb3UnLCBhZGplY3RpdmUpO1xyXG4gICAgICBlbHNlIGlmIChvcmlnaW4uYnlJZCkge1xyXG4gICAgICAgIGNvbnN0IHdobyA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuX2FjY291bnRzLmdldChvcmlnaW4udXNlcklkKSk7XHJcbiAgICAgICAgY29uc3QgYnkgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLl9hY2NvdW50cy5nZXQob3JpZ2luLmJ5SWQpKTtcclxuICAgICAgICB0aGlzLm5vdGUgPSB0aGlzLl90cmFuc2xhdGUuZ2V0KCdBY3Rpb25CeUJ5JywgYWRqZWN0aXZlLCBieS5uYW1lLCB3aG8ubmFtZSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgY29uc3Qgd2hvID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oIHRoaXMuX2FjY291bnRzLmdldChvcmlnaW4udXNlcklkKSk7XHJcbiAgICAgICAgdGhpcy5ub3RlID0gdGhpcy5fdHJhbnNsYXRlLmdldCgnQWN0aW9uQnknLCBhZGplY3RpdmUsIHdoby5uYW1lKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAob3duZXJJZCA9PT0gdGhpcy5fc2Vzc2lvbi51c2VySWQgJiYgIWRyYWZ0KSB7XHJcbiAgICAgIGNvbnN0IHRpbWUgPSB0aGlzLl9mcm9tTm93KGlzc3VlZCk7XHJcbiAgICAgIGlmIChvd25lckJ5SWQpIHtcclxuICAgICAgICBpZiAob3duZXJCeUlkID09PSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuYnlJZClcclxuICAgICAgICAgIHRoaXMubm90ZSA9IHRoaXMuX3RyYW5zbGF0ZS5wZXJzb25hbGl6ZSgnWW91U3VibWl0dGVkTm90ZUJ5JywgdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmJ5R2VuZGVyLCB0aGlzLl9zZXNzaW9uLnByb2ZpbGUubmFtZSwgdGltZSk7XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICBjb25zdCBieSA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuX2FjY291bnRzLmdldChvd25lckJ5SWQpKTtcclxuICAgICAgICAgIGlmICh0aGlzLl9zZXNzaW9uLmlzSW1wZXJzb25hdGluZylcclxuICAgICAgICAgICAgdGhpcy5ub3RlID0gdGhpcy5fdHJhbnNsYXRlLnBlcnNvbmFsaXplKCdTdWJtaXR0ZWROb3RlQnknLCBieS5nZW5kZXIsXHJcbiAgICAgICAgICAgICAgdGhpcy5fZm9ybWF0VXNlckVsZW1lbnQoYnkpLFxyXG4gICAgICAgICAgICAgIHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5uYW1lLFxyXG4gICAgICAgICAgICAgIHRpbWUpO1xyXG4gICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICB0aGlzLm5vdGUgPSB0aGlzLl90cmFuc2xhdGUucGVyc29uYWxpemUoJ1N1Ym1pdHRlZE5vdGVZb3VCeScsIGJ5LmdlbmRlcixcclxuICAgICAgICAgICAgICB0aGlzLl9mb3JtYXRVc2VyRWxlbWVudChieSksXHJcbiAgICAgICAgICAgICAgdGltZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGlmICh0aGlzLl9zZXNzaW9uLmlzSW1wZXJzb25hdGluZylcclxuICAgICAgICAgIHRoaXMubm90ZSA9IHRoaXMuX3RyYW5zbGF0ZS5wZXJzb25hbGl6ZSgnU3VibWl0dGVkTm90ZScsIHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5nZW5kZXIsIHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5uYW1lLCB0aW1lKTtcclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICB0aGlzLm5vdGUgPSB0aGlzLl90cmFuc2xhdGUuZ2V0KCdZb3VTdWJtaXR0ZWROb3RlJywgdGltZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgcHJpdmF0ZSBhc3luYyBfdGFyZ2V0KGlkOiBudW1iZXIpIHtcclxuICAgIGNvbnN0IG9yaWdpbiA9IHRoaXMubW9kZWwucmVjaXBpZW50cy5maWx0ZXIociA9PiByLm9yaWdpbklkID09PSBpZCk7XHJcbiAgICBpZiAob3JpZ2luLmxlbmd0aCkge1xyXG4gICAgICBjb25zdCB1c2VycyA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuX2FjY291bnRzLmdldEFsbChvcmlnaW4ubWFwKHIgPT4gci51c2VySWQpKSk7XHJcbiAgICAgIHJldHVybiB0aGlzLl90cmFuc2xhdGUuam9pbihcclxuICAgICAgICB1c2Vycy5tYXAodSA9PiB0aGlzLl9mb3JtYXRVc2VyRWxlbWVudCh1KSlcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2FjdGlvbk5hbWUobmFtZTogc3RyaW5nLCBnZW5kZXI6IEdlbmRlciB8ICd5b3UnKSB7XHJcbiAgICBjb25zdCBhY3Rpb24gPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuYWN0aW9ucy5maW5kKGEgPT4gYS5uYW1lID09PSBuYW1lKTtcclxuICAgIGlmICghYWN0aW9uKSByZXR1cm4gbmFtZTtcclxuICAgIGlmIChnZW5kZXIgPT09ICd5b3UnKSB7XHJcbiAgICAgIGNvbnN0IGdlbmRlciA9IHRoaXMuX3Nlc3Npb24uZ2VuZGVyO1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIChnZW5kZXIgPT09ICdNYWxlJyA/IChhY3Rpb24ueW91TWFsZSB8fCBhY3Rpb24ueW91KSA6XHJcbiAgICAgICAgICBnZW5kZXIgPT09ICdGZW1hbGUnID8gKGFjdGlvbi55b3VGZW1hbGUgfHwgYWN0aW9uLnlvdSkgOlxyXG4gICAgICAgICAgICBhY3Rpb24ueW91KSB8fCBhY3Rpb24ucGFzdCB8fFxyXG4gICAgICAgIGFjdGlvbi50aXRsZSkudG9Mb3dlckNhc2UoKTtcclxuICAgIH1cclxuICAgIHJldHVybiAoKGdlbmRlciA9PT0gJ01hbGUnID8gKGFjdGlvbi5wYXN0TWFsZSB8fCBhY3Rpb24ucGFzdCkgOlxyXG4gICAgICBnZW5kZXIgPT09ICdGZW1hbGUnID8gKGFjdGlvbi5wYXN0RmVtYWxlIHx8IGFjdGlvbi5wYXN0KSA6XHJcbiAgICAgICAgYWN0aW9uLnBhc3QpIHx8XHJcbiAgICAgIGFjdGlvbi50aXRsZSkudG9Mb3dlckNhc2UoKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfZnJvbU5vdyhkYXRlOiBEYXRlKSB7XHJcbiAgICByZXR1cm4gZGF5anMoZGF0ZSkuZnJvbU5vdygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZHVyYXRpb24odGltZTogbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gZGF5anMuZHVyYXRpb24odGltZSwgJ3MnKS5odW1hbml6ZSgpO1xyXG4gIH1cclxuICAvKiogKi9cclxuICBwcml2YXRlIGFzeW5jIF9yZWZyZXNoKCkge1xyXG4gICAgY29uc3QgeyBhY3Rpb25zIH0gPSB0aGlzLm1vZGVsO1xyXG4gICAgdGhpcy5hY3Rpb25zID0gYWN0aW9ucyAmJiBhY3Rpb25zLmxlbmd0aCA/IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5hY3Rpb25zLmZpbHRlcihhID0+IGFjdGlvbnMuaW5kZXhPZihhLm5hbWUpID4gLTEpIDogbnVsbDtcclxuICAgIGNvbnN0IHsgc2VuZGVySWQgfSA9IHRoaXMubW9kZWw7XHJcbiAgICAvLyBzZW5kZXJcclxuICAgIGlmIChzZW5kZXJJZCAmJiAoc2VuZGVySWQgIT09IHRoaXMuX3Nlc3Npb24udXNlcklkKSkge1xyXG4gICAgICBjb25zdCB3aG8gPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLl9hY2NvdW50cy5nZXQoc2VuZGVySWQpKTtcclxuICAgICAgdGhpcy5zZW5kZXIgPSB0aGlzLl9mb3JtYXRVc2VyRWxlbWVudCh3aG8pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fY29tbWVudHMoKTtcclxuICAgIHRoaXMuX25vdGUoKTtcclxuICAgIHRoaXMuX2F3YWl0aW5nKCk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2NvbW1lbnRzKCkge1xyXG4gICAgY29uc3QgeyB2aWV3ZWQsIGNvbW1lbnRzIH0gPSB0aGlzLm1vZGVsO1xyXG4gICAgdGhpcy5uZXdDb21tZW50cyA9IHZpZXdlZCA/XHJcbiAgICAgIGNvbW1lbnRzLmZpbHRlcihjID0+IGMudGltZSA+IHZpZXdlZCAmJiAoYy5ieUlkIHx8IGMudXNlcklkKSAhPT0gdGhpcy5fc2Vzc2lvbi51c2VySWQpLmxlbmd0aCB8fCBudWxsIDogbnVsbDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX2F3YWl0aW5nKCkge1xyXG4gICAgLy9hd2FpdGluZ1xyXG4gICAgbGV0IHJlY2lwaWVudHMgPSB0aGlzLm1vZGVsLnJlY2lwaWVudHMuZmlsdGVyKHIgPT4gci5wZW5kaW5nICYmICFyLmVzdGltYXRlKS5cclxuICAgICAgc29ydCgocjAsIHIxKSA9PiByMC5yZWNlaXZlZCA+IHIxLnJlY2VpdmVkID8gMSA6IC0xKS5cclxuICAgICAgbWFwKHIgPT4gci51c2VySWQpO1xyXG4gICAgcmVjaXBpZW50cyA9IHJlY2lwaWVudHMuZmlsdGVyKChyLCBpKSA9PiByZWNpcGllbnRzLmluZGV4T2YocikgPT09IGkpOyAvKiB1bmlxdWUgKi9cclxuICAgIGlmIChyZWNpcGllbnRzLmxlbmd0aCA+IDApIHtcclxuICAgICAgaWYgKHJlY2lwaWVudHMuaW5kZXhPZih0aGlzLl9zZXNzaW9uLnVzZXJJZCkgPCAwIHx8IHJlY2lwaWVudHMubGVuZ3RoID4gMSkge1xyXG4gICAgICAgIGNvbnN0IHVzZXJzID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5fYWNjb3VudHMuZ2V0QWxsKHJlY2lwaWVudHMuZmlsdGVyKHIgPT4gciAhPT0gdGhpcy5fc2Vzc2lvbi51c2VySWQpKSk7XHJcbiAgICAgICAgY29uc3QgbmFtZXMgPSB1c2Vycy5tYXAocCA9PiB0aGlzLl9mb3JtYXRVc2VyRWxlbWVudChwKSk7XHJcbiAgICAgICAgcmVjaXBpZW50cy5pbmRleE9mKHRoaXMuX3Nlc3Npb24udXNlcklkKSA+IC0xICYmXHJcbiAgICAgICAgICBuYW1lcy5wdXNoKHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ1lvdXJzZWxmJykpO1xyXG4gICAgICAgIHRoaXMuYXdhaXRpbmcgPSB0aGlzLl90cmFuc2xhdGUuZ2V0KCdBd2FpdGluZycsIHRoaXMuX3RyYW5zbGF0ZS5qb2luKG5hbWVzKSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAgICogQ2hhdFxyXG4gICAgICogQHBhcmFtIGVcclxuICAgICAqL1xyXG4gIGNoYXQoZTogTW91c2VFdmVudCkge1xyXG4gICAgY29uc3QgdXNlcklkID0gKGUudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5nZXRBdHRyaWJ1dGUoJ2RhdGEtaW5mbycpO1xyXG4gICAgdXNlcklkICYmXHJcbiAgICAgIHRoaXMuX2NoYXQub3Blbih1c2VySWQpO1xyXG4gIH1cclxuICBwcml2YXRlIF9mb3JtYXRVc2VyRWxlbWVudChwZXJzb246IFVzZXJJbmZvKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fY2hhdC5mb3JtYXQocGVyc29uKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogXHJcbiAgICogQHBhcmFtIGFjdGlvblxyXG4gICAqL1xyXG4gIHNlbmQoYWN0aW9uOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHsgaWQsIG51bWJlciwgdmVyc2lvbiwgZm9ybUlkIH0gPSB0aGlzLm1vZGVsO1xyXG4gICAgY29uc3QgZGF0YTogQWN0aW9uRGlhbG9nRGF0YSA9IHtcclxuICAgICAgYWN0aW9uLFxyXG4gICAgICBpdGVtOiB0aGlzLm1vZGVsXHJcbiAgICB9O1xyXG4gICAgdGhpcy5fZGlhbG9nLm9wZW4oQWN0aW9uRGlhbG9nLCB7XHJcbiAgICAgIGRhdGEsXHJcbiAgICAgIGRpcmVjdGlvbjogdGhpcy5fZGlyLnZhbHVlXHJcbiAgICB9KS5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShhcmdzID0+IHtcclxuICAgICAgaWYgKGFyZ3MpIHtcclxuICAgICAgICB0aGlzLm1vZGUgPSAnd29ya2luZyc7XHJcbiAgICAgICAgdGhpcy5fbWFpbGJveC5zZW5kKGlkLCB2ZXJzaW9uLCBmb3JtSWQsIG51bGwsIGFjdGlvbiwgYXJncykuc3Vic2NyaWJlKHtcclxuICAgICAgICAgIG5leHQ6IGFzeW5jIHIgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBjYWN0aW9uID0gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmFjdGlvbnMuZmluZChhID0+IGEubmFtZSA9PT0gYWN0aW9uKSxcclxuICAgICAgICAgICAgICBhZGplY3RpdmUgPSBjYWN0aW9uLmFkamVjdGl2ZSB8fCBjYWN0aW9uLnRpdGxlO1xyXG4gICAgICAgICAgICBjb25zdCB0YXJnZXQgPSBhd2FpdCB0aGlzLl90YXJnZXQoaWQpO1xyXG4gICAgICAgICAgICBpZiAodGFyZ2V0KVxyXG4gICAgICAgICAgICAgIHRoaXMuX3NiLnRvYXN0KCdTZW50VG8nLCBudW1iZXIsIGFkamVjdGl2ZS50b0xvd2VyQ2FzZSgpLCB0YXJnZXQpO1xyXG4gICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgdGhpcy5fc2IudG9hc3QoJ1NlbnQnLCBudW1iZXIsIGFkamVjdGl2ZS50b0xvd2VyQ2FzZSgpKTtcclxuICAgICAgICAgICAgdGhpcy5zZW50LmVtaXQodGhpcy5tb2RlbCk7XHJcbiAgICAgICAgICAgIHRoaXMubW9kZSA9ICdkb25lJztcclxuICAgICAgICAgIH0sIGVycm9yOiBlID0+IHtcclxuICAgICAgICAgICAgdGhpcy5faGFuZGxlUmVzcG9uc2UoZSwgdGhpcy5tb2RlbCwgJ1NlbmRFcnInKTtcclxuICAgICAgICAgICAgdGhpcy5tb2RlID0gJ2ZhaWxlZCc7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBcclxuICAgKiBAcGFyYW0gcmVzcG9uc2VcclxuICAgKiBAcGFyYW0gaXRlbVxyXG4gICAqIEBwYXJhbSBtZXNzYWdlIHJlc291cmNlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfaGFuZGxlUmVzcG9uc2UocmVzcG9uc2U6IEh0dHBFcnJvclJlc3BvbnNlIHwgYW55LCBpdGVtOiBIZWFkZXJNb2RlbCwgbWVzc2FnZTogc3RyaW5nKSB7XHJcbiAgICBpZiAocmVzcG9uc2UuY29uc3RydWN0b3IubmFtZSA9PT0gJ1Bvc2l0aW9uRXJyb3InKVxyXG4gICAgICBzd2l0Y2ggKHJlc3BvbnNlLmNvZGUpIHtcclxuICAgICAgICBjYXNlIDE6XHJcbiAgICAgICAgICB0aGlzLl9zYi5lcnJvcignVXNlckRlbmllZEdlb0VycicpO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgIHRoaXMuX3NiLmVycm9yKCdHZW9FcnInKTtcclxuICAgICAgfVxyXG4gICAgZWxzZSBzd2l0Y2ggKHJlc3BvbnNlLnN0YXR1cykge1xyXG4gICAgICBjYXNlIDQwOTpcclxuICAgICAgICB7XHJcbiAgICAgICAgICB0aGlzLl9zYi5lcnJvcignVmVyc2lvbkVycicsIGl0ZW0ubnVtYmVyKTtcclxuICAgICAgICAgIGNvbnN0IG9iaiA9IHJlc3BvbnNlLmVycm9yIC8qIHNlcmlhbGl6ZWQgbW9kZWwgKi8gYXMgUmVjaXBpZW50TW9kZWw8YW55PjtcclxuICAgICAgICAgIE9iamVjdC5hc3NpZ24oaXRlbSwgb2JqKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgY2FzZSA0MDY6XHJcbiAgICAgICAgdGhpcy5fc2IuZXJyb3JTdHJpbmcocmVzcG9uc2UuZXJyb3IpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHRoaXMuX3NiLmVycm9yKG1lc3NhZ2UpO1xyXG4gICAgfVxyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIGNsZWFySW50ZXJ2YWwodGhpcy5fcmVmcmVzaFRhc2spO1xyXG4gICAgdGhpcy5fZGVzdHJveS5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95LmNvbXBsZXRlKCk7XHJcbiAgICB0aGlzLl90eXBpbmdUYXNrICYmIGNsZWFyVGltZW91dCh0aGlzLl90eXBpbmdUYXNrKTtcclxuICB9XHJcbn1cclxuIiwiQGlmIChtb2RlbC5zdW1tYXJ5KSB7XG4gIDxkaXYgY2xhc3M9XCJzdW1tYXJ5XCIgW2lubmVySFRNTF09XCJtb2RlbC5zdW1tYXJ5XCI+XG4gIDwvZGl2PlxufVxuPGRpdj5cbiAgPGJpemRvYy1hdHRhY2htZW50cyBbbW9kZWxdPVwibW9kZWxcIj48L2JpemRvYy1hdHRhY2htZW50cz5cbiAgPGJpemRvYy1ldmVudHMgW21vZGVsXT1cIm1vZGVsXCI+PC9iaXpkb2MtZXZlbnRzPlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwicm93XCI+XG4gIDxzcGFuIGNsYXNzPVwibm90ZVwiIFtpbm5lckhUTUxdPVwibm90ZSB8IHNhbml0aXplSHRtbFwiIChjbGljayk9XCJjaGF0KCRldmVudClcIj48L3NwYW4+XG4gIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cbiAgQGZvciAoYSBvZiBhY3Rpb25zOyB0cmFjayBhKSB7XG4gICAgQGlmIChhLmljb24pIHtcbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJzZW5kKGEubmFtZSlcIiBbYml6ZG9jVG9vbHRpcF09XCJhLnRpdGxlXCIgY2xhc3M9XCJ0b29sXCI+XG4gICAgICAgIDxtYXQtaWNvbj57e2EuaWNvbn19PC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIH1cbiAgfVxuPC9kaXY+XG48ZGl2IGNsYXNzPVwicm93XCI+XG4gIDxkaXYgY2xhc3M9XCJtYXQtc21hbGwgcm93XCI+XG4gICAgPHNwYW4+e3ttb2RlbC5zdGF0ZUlkIHwgc3RhdGUgOiAncGFzdCcgfX08L3NwYW4+XG4gICAgJm5ic3A7XG4gICAgPHNwYW4gY2xhc3M9XCJ0aW1lXCIgW2JpemRvY1Rvb2x0aXBdPVwibW9kZWwucmVjZWl2ZWQgfCBhbUNhbGVuZGFyXCI+e3ttb2RlbC5yZWNlaXZlZCB8IGFtVGltZUFnb319PC9zcGFuPlxuICAgICZuYnNwO1xuICAgIDxzcGFuIFtpbm5lckhUTUxdPVwic2VuZGVyIHwgc2FuaXRpemVIdG1sXCIgKGNsaWNrKT1cImNoYXQoJGV2ZW50KVwiIGNsYXNzPVwid2hvXCI+PC9zcGFuPiZuYnNwO1xuICAgIDxzcGFuIFtpbm5lckhUTUxdPVwiYXdhaXRpbmcgfCBzYW5pdGl6ZUh0bWxcIiAoY2xpY2spPVwiY2hhdCgkZXZlbnQpXCIgY2xhc3M9XCJ3aG9cIj48L3NwYW4+XG4gIDwvZGl2PlxuICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XG4gIDxkaXYgY2xhc3M9XCJjZW50ZXIgY2VudGVyXCI+XG4gICAgQGlmICh0eXBpbmcpIHtcbiAgICAgIDxzcGFuIGNsYXNzPVwibWF0LXNtYWxsXCI+e3snU29tZW9uZVR5cGluZyd8dHJhbnNsYXRlfX08L3NwYW4+XG4gICAgfVxuICAgIEBpZiAobW9kZWwuY29tbWVudHMubGVuZ3RoKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwibWF0LXNtYWxsXCI+XG4gICAgICAgIEBpZiAoIW5ld0NvbW1lbnRzKSB7XG4gICAgICAgICAgPHNwYW4+e3ttb2RlbC5jb21tZW50cy5sZW5ndGggPiAxID8gKCdDb21tZW50c0NvdW50JyB8IHRyYW5zbGF0ZSA6IG1vZGVsLmNvbW1lbnRzLmxlbmd0aCkgOiAnT25lQ29tbWVudCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwiJ05ld0NvbW1lbnRzQ291bnQnIHwgdHJhbnNsYXRlIDogbW9kZWwuY29tbWVudHMubGVuZ3RoIDogbmV3Q29tbWVudHMgfCBzYW5pdGl6ZUh0bWxcIj48L3NwYW4+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgPC9kaXY+XG4gIEBpZiAobW9kZWwudGFncykge1xuICAgIDxtYXQtY2hpcC1zZXQ+XG4gICAgICBAZm9yICh0YWcgb2YgbW9kZWwudGFnczsgdHJhY2sgdGFnKSB7XG4gICAgICAgIDxtYXQtY2hpcCBbZGlzYWJsZWRdPVwidHJ1ZVwiPnt7dGFnfX08L21hdC1jaGlwPlxuICAgICAgfVxuICAgIDwvbWF0LWNoaXAtc2V0PlxuICB9XG48L2Rpdj5cbiJdfQ==
@@ -48,7 +48,7 @@ export class ChatInfo {
48
48
  else if (this._isMobile)
49
49
  this._open$.next(contact.id);
50
50
  else if (!options || options.mode === 'room')
51
- this._router.navigate(['chatroom', contact.id], {
51
+ this._router.navigate(['chat', contact.id], {
52
52
  // group: options ? options.group : null
53
53
  });
54
54
  else {
@@ -65,4 +65,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
65
65
  type: Inject,
66
66
  args: [BIZDOC_CONFIG]
67
67
  }] }, { type: i1.RouterImpl }, { type: i2.SessionService }] });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1pbmZvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jaGF0L2NoYXQtaW5mby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxhQUFhLEVBQThDLE1BQU0sdUJBQXVCLENBQUM7QUFDbEcsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7OztBQWF2RCxNQUFNLE9BQU8sUUFBUTtJQUluQixZQUN5QixNQUFvQixFQUNuQyxPQUFtQixFQUNuQixRQUF3QjtRQUR4QixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQ25CLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBTDFCLGNBQVMsR0FBRyxRQUFRLEVBQUUsQ0FBQztRQUMvQixXQUFNLEdBQUcsSUFBSSxPQUFPLEVBQVUsQ0FBQztRQU03QixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7SUFDaEMsQ0FBQztJQUNEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxNQUFnQjtRQUNyQixJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksUUFBUSxDQUFFLElBQUksQ0FBQyxPQUF3QixDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDakUsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxPQUF1QixDQUFDO1lBQzdDLE9BQU8sWUFBYSxHQUFjLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsS0FBSyxNQUFNLENBQUMsSUFBSSxPQUFPLENBQUM7UUFDbEYsQ0FBQzthQUNJLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxLQUFLO1lBQzdCLE9BQU8saUJBQWlCLE1BQU0sQ0FBQyxFQUFFLEtBQUssTUFBTSxDQUFDLElBQUksTUFBTSxDQUFDO1FBQzFELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQztJQUNyQixDQUFDO0lBQ0Q7OztPQUdHO0lBQ0gsSUFBSSxDQUFDLE1BQWMsRUFBRSxPQUVwQjtRQUNDLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLE1BQU0sQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNiLE9BQU8sR0FBRztnQkFDUixFQUFFLEVBQUUsTUFBTTtnQkFDVixRQUFRLEVBQUUsS0FBSztnQkFDZixJQUFJLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQVM7Z0JBQ2hDLEtBQUssRUFBRSxDQUFDO2FBQ0UsQ0FBQztZQUNiLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0MsQ0FBQzthQUVJLElBQUksT0FBTyxDQUFDLFNBQVM7WUFDeEIsT0FBTyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFFaEMsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFLLElBQUksQ0FBQyxPQUF3QixDQUFDLEdBQUc7WUFDbEQsSUFBSSxDQUFDLE9BQXdCLENBQUMsR0FBc0IsQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUM1RCxJQUFJLElBQUksQ0FBQyxTQUFTO1lBQ3JCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUMxQixJQUFJLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssTUFBTTtZQUMxQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDOUMsd0NBQXdDO2FBQ3pDLENBQUMsQ0FBQzthQUNBLENBQUM7WUFDSixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNwRCxDQUFDO0lBQ0gsQ0FBQzs4R0F4RFUsUUFBUSxrQkFLVCxhQUFhO2tIQUxaLFFBQVEsY0FESyxNQUFNOzsyRkFDbkIsUUFBUTtrQkFEcEIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7OzBCQU03QixNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBCSVpET0NfQ09ORklHLCBCaXpEb2NDb25maWcsIENoYXRTZXR0aW5ncywgQ2hhdExhdW5jaGVyRm4gfSBmcm9tICcuLi9jb3JlL2NvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBpc01vYmlsZSwgaXNTdHJpbmcgfSBmcm9tICcuLi9jb3JlL2Z1bmN0aW9ucyc7XHJcbmltcG9ydCB7IENvbnRhY3QsIFVzZXJJbmZvIH0gZnJvbSAnLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUm91dGVySW1wbCB9IGZyb20gJy4uL2NvcmUvcm91dGVyJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2hhdE9wZW5FdmVudCB7XHJcbiAgY29udGFjdDogQ29udGFjdDtcclxuICB0ZXh0Pzogc3RyaW5nO1xyXG4gIGltYWdlPzogc3RyaW5nO1xyXG4gIHJlc291cmNlPzogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcclxufVxyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIENoYXRJbmZvIHtcclxuICBwcml2YXRlIF9jb25maWc6IENoYXRTZXR0aW5ncyB8IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSBfaXNNb2JpbGUgPSBpc01vYmlsZSgpO1xyXG4gIF9vcGVuJCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoQklaRE9DX0NPTkZJRykgY29uZmlnOiBCaXpEb2NDb25maWcsXHJcbiAgICBwcml2YXRlIF9yb3V0ZXI6IFJvdXRlckltcGwsXHJcbiAgICBwcml2YXRlIF9zZXNzaW9uOiBTZXNzaW9uU2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5fY29uZmlnID0gY29uZmlnLmNoYXRpbmc7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHBlcnNvblxyXG4gICAqL1xyXG4gIGZvcm1hdChwZXJzb246IFVzZXJJbmZvKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLl9jb25maWcgJiYgaXNTdHJpbmcoKHRoaXMuX2NvbmZpZyBhcyBDaGF0U2V0dGluZ3MpLmFwcCkpIHtcclxuICAgICAgY29uc3QgeyBhcHAgfSA9IHRoaXMuX2NvbmZpZyBhcyBDaGF0U2V0dGluZ3M7XHJcbiAgICAgIHJldHVybiBgPGEgaHJlZj1cIiR7KGFwcCBhcyBzdHJpbmcpLmZvcm1hdEFyZ3MocGVyc29uLmlkKX1cIj4ke3BlcnNvbi5uYW1lfSA8L2E+YDtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHRoaXMuX2NvbmZpZyAhPT0gZmFsc2UpXHJcbiAgICAgIHJldHVybiBgPGEgZGF0YS1pbmZvPVwiJHtwZXJzb24uaWR9XCI+JHtwZXJzb24ubmFtZX08L2E+YDtcclxuICAgIHJldHVybiBwZXJzb24ubmFtZTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICpcclxuICAgKiBAcGFyYW0gdXNlcklkXHJcbiAgICovXHJcbiAgb3Blbih1c2VySWQ6IHN0cmluZywgb3B0aW9ucz86IHsgLyp0ZXh0Pzogc3RyaW5nLCByZXNvdXJjZT86IHtba2V5OiBzdHJpbmddOiBhbnl9Ki8gbW9kZT86ICdyb29tJyB8ICdmdWxsJyxcclxuICAgIGdyb3VwPzogc3RyaW5nXHJcbiAgfSkge1xyXG4gICAgbGV0IGNvbnRhY3QgPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuY29udGFjdHMuZmluZChjID0+IGMuaWQgPT09IHVzZXJJZCk7XHJcbiAgICBpZiAoIWNvbnRhY3QpIHtcclxuICAgICAgY29udGFjdCA9IHtcclxuICAgICAgICBpZDogdXNlcklkLFxyXG4gICAgICAgIGFjY2VwdGVkOiBmYWxzZSxcclxuICAgICAgICB0aW1lOiBuZXcgRGF0ZSgpLnRvSlNPTigpIGFzIGFueSxcclxuICAgICAgICBjb3VudDogMFxyXG4gICAgICB9IGFzIENvbnRhY3Q7XHJcbiAgICAgIHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5jb250YWN0cy5wdXNoKGNvbnRhY3QpO1xyXG4gICAgfVxyXG5cclxuICAgIGVsc2UgaWYgKGNvbnRhY3QuZm9yZ290dGVuKVxyXG4gICAgICBjb250YWN0LmZvcmdvdHRlbiA9IHVuZGVmaW5lZDtcclxuXHJcbiAgICBpZiAodGhpcy5fY29uZmlnICYmICh0aGlzLl9jb25maWcgYXMgQ2hhdFNldHRpbmdzKS5hcHApXHJcbiAgICAgICgodGhpcy5fY29uZmlnIGFzIENoYXRTZXR0aW5ncykuYXBwIGFzIENoYXRMYXVuY2hlckZuKSh1c2VySWQpO1xyXG4gICAgZWxzZSBpZiAodGhpcy5faXNNb2JpbGUpXHJcbiAgICAgIHRoaXMuX29wZW4kLm5leHQoY29udGFjdC5pZCk7XHJcbiAgICBlbHNlIGlmICghb3B0aW9ucyB8fCBvcHRpb25zLm1vZGUgPT09ICdyb29tJylcclxuICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKFsnY2hhdHJvb20nLCBjb250YWN0LmlkXSwge1xyXG4gICAgICAgIC8vIGdyb3VwOiBvcHRpb25zID8gb3B0aW9ucy5ncm91cCA6IG51bGxcclxuICAgICAgfSk7XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKFsnY29udGFjdHMvYycsIGNvbnRhY3QuaWRdKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1pbmZvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jaGF0L2NoYXQtaW5mby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxhQUFhLEVBQThDLE1BQU0sdUJBQXVCLENBQUM7QUFDbEcsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7OztBQWF2RCxNQUFNLE9BQU8sUUFBUTtJQUluQixZQUN5QixNQUFvQixFQUNuQyxPQUFtQixFQUNuQixRQUF3QjtRQUR4QixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQ25CLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBTDFCLGNBQVMsR0FBRyxRQUFRLEVBQUUsQ0FBQztRQUMvQixXQUFNLEdBQUcsSUFBSSxPQUFPLEVBQVUsQ0FBQztRQU03QixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7SUFDaEMsQ0FBQztJQUNEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxNQUFnQjtRQUNyQixJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksUUFBUSxDQUFFLElBQUksQ0FBQyxPQUF3QixDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDakUsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxPQUF1QixDQUFDO1lBQzdDLE9BQU8sWUFBYSxHQUFjLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsS0FBSyxNQUFNLENBQUMsSUFBSSxPQUFPLENBQUM7UUFDbEYsQ0FBQzthQUNJLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxLQUFLO1lBQzdCLE9BQU8saUJBQWlCLE1BQU0sQ0FBQyxFQUFFLEtBQUssTUFBTSxDQUFDLElBQUksTUFBTSxDQUFDO1FBQzFELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQztJQUNyQixDQUFDO0lBQ0Q7OztPQUdHO0lBQ0gsSUFBSSxDQUFDLE1BQWMsRUFBRSxPQUVwQjtRQUNDLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLE1BQU0sQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNiLE9BQU8sR0FBRztnQkFDUixFQUFFLEVBQUUsTUFBTTtnQkFDVixRQUFRLEVBQUUsS0FBSztnQkFDZixJQUFJLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQVM7Z0JBQ2hDLEtBQUssRUFBRSxDQUFDO2FBQ0UsQ0FBQztZQUNiLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0MsQ0FBQzthQUVJLElBQUksT0FBTyxDQUFDLFNBQVM7WUFDeEIsT0FBTyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFFaEMsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFLLElBQUksQ0FBQyxPQUF3QixDQUFDLEdBQUc7WUFDbEQsSUFBSSxDQUFDLE9BQXdCLENBQUMsR0FBc0IsQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUM1RCxJQUFJLElBQUksQ0FBQyxTQUFTO1lBQ3JCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUMxQixJQUFJLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssTUFBTTtZQUMxQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDMUMsd0NBQXdDO2FBQ3pDLENBQUMsQ0FBQzthQUNBLENBQUM7WUFDSixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNwRCxDQUFDO0lBQ0gsQ0FBQzs4R0F4RFUsUUFBUSxrQkFLVCxhQUFhO2tIQUxaLFFBQVEsY0FESyxNQUFNOzsyRkFDbkIsUUFBUTtrQkFEcEIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7OzBCQU03QixNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBCSVpET0NfQ09ORklHLCBCaXpEb2NDb25maWcsIENoYXRTZXR0aW5ncywgQ2hhdExhdW5jaGVyRm4gfSBmcm9tICcuLi9jb3JlL2NvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBpc01vYmlsZSwgaXNTdHJpbmcgfSBmcm9tICcuLi9jb3JlL2Z1bmN0aW9ucyc7XHJcbmltcG9ydCB7IENvbnRhY3QsIFVzZXJJbmZvIH0gZnJvbSAnLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUm91dGVySW1wbCB9IGZyb20gJy4uL2NvcmUvcm91dGVyJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2hhdE9wZW5FdmVudCB7XHJcbiAgY29udGFjdDogQ29udGFjdDtcclxuICB0ZXh0Pzogc3RyaW5nO1xyXG4gIGltYWdlPzogc3RyaW5nO1xyXG4gIHJlc291cmNlPzogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcclxufVxyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIENoYXRJbmZvIHtcclxuICBwcml2YXRlIF9jb25maWc6IENoYXRTZXR0aW5ncyB8IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSBfaXNNb2JpbGUgPSBpc01vYmlsZSgpO1xyXG4gIF9vcGVuJCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoQklaRE9DX0NPTkZJRykgY29uZmlnOiBCaXpEb2NDb25maWcsXHJcbiAgICBwcml2YXRlIF9yb3V0ZXI6IFJvdXRlckltcGwsXHJcbiAgICBwcml2YXRlIF9zZXNzaW9uOiBTZXNzaW9uU2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5fY29uZmlnID0gY29uZmlnLmNoYXRpbmc7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHBlcnNvblxyXG4gICAqL1xyXG4gIGZvcm1hdChwZXJzb246IFVzZXJJbmZvKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLl9jb25maWcgJiYgaXNTdHJpbmcoKHRoaXMuX2NvbmZpZyBhcyBDaGF0U2V0dGluZ3MpLmFwcCkpIHtcclxuICAgICAgY29uc3QgeyBhcHAgfSA9IHRoaXMuX2NvbmZpZyBhcyBDaGF0U2V0dGluZ3M7XHJcbiAgICAgIHJldHVybiBgPGEgaHJlZj1cIiR7KGFwcCBhcyBzdHJpbmcpLmZvcm1hdEFyZ3MocGVyc29uLmlkKX1cIj4ke3BlcnNvbi5uYW1lfSA8L2E+YDtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHRoaXMuX2NvbmZpZyAhPT0gZmFsc2UpXHJcbiAgICAgIHJldHVybiBgPGEgZGF0YS1pbmZvPVwiJHtwZXJzb24uaWR9XCI+JHtwZXJzb24ubmFtZX08L2E+YDtcclxuICAgIHJldHVybiBwZXJzb24ubmFtZTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICpcclxuICAgKiBAcGFyYW0gdXNlcklkXHJcbiAgICovXHJcbiAgb3Blbih1c2VySWQ6IHN0cmluZywgb3B0aW9ucz86IHsgLyp0ZXh0Pzogc3RyaW5nLCByZXNvdXJjZT86IHtba2V5OiBzdHJpbmddOiBhbnl9Ki8gbW9kZT86ICdyb29tJyB8ICdmdWxsJyxcclxuICAgIGdyb3VwPzogc3RyaW5nXHJcbiAgfSkge1xyXG4gICAgbGV0IGNvbnRhY3QgPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuY29udGFjdHMuZmluZChjID0+IGMuaWQgPT09IHVzZXJJZCk7XHJcbiAgICBpZiAoIWNvbnRhY3QpIHtcclxuICAgICAgY29udGFjdCA9IHtcclxuICAgICAgICBpZDogdXNlcklkLFxyXG4gICAgICAgIGFjY2VwdGVkOiBmYWxzZSxcclxuICAgICAgICB0aW1lOiBuZXcgRGF0ZSgpLnRvSlNPTigpIGFzIGFueSxcclxuICAgICAgICBjb3VudDogMFxyXG4gICAgICB9IGFzIENvbnRhY3Q7XHJcbiAgICAgIHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5jb250YWN0cy5wdXNoKGNvbnRhY3QpO1xyXG4gICAgfVxyXG5cclxuICAgIGVsc2UgaWYgKGNvbnRhY3QuZm9yZ290dGVuKVxyXG4gICAgICBjb250YWN0LmZvcmdvdHRlbiA9IHVuZGVmaW5lZDtcclxuXHJcbiAgICBpZiAodGhpcy5fY29uZmlnICYmICh0aGlzLl9jb25maWcgYXMgQ2hhdFNldHRpbmdzKS5hcHApXHJcbiAgICAgICgodGhpcy5fY29uZmlnIGFzIENoYXRTZXR0aW5ncykuYXBwIGFzIENoYXRMYXVuY2hlckZuKSh1c2VySWQpO1xyXG4gICAgZWxzZSBpZiAodGhpcy5faXNNb2JpbGUpXHJcbiAgICAgIHRoaXMuX29wZW4kLm5leHQoY29udGFjdC5pZCk7XHJcbiAgICBlbHNlIGlmICghb3B0aW9ucyB8fCBvcHRpb25zLm1vZGUgPT09ICdyb29tJylcclxuICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKFsnY2hhdCcsIGNvbnRhY3QuaWRdLCB7XHJcbiAgICAgICAgLy8gZ3JvdXA6IG9wdGlvbnMgPyBvcHRpb25zLmdyb3VwIDogbnVsbFxyXG4gICAgICB9KTtcclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoWydjb250YWN0cy9jJywgY29udGFjdC5pZF0pO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -15,15 +15,12 @@ export class ContactsPaneComponent {
15
15
  });
16
16
  }
17
17
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ContactsPaneComponent, deps: [{ token: i1.PaneRef }, { token: i2.TranslateService }, { token: i3.PanesRouter }], target: i0.ɵɵFactoryTarget.Component }); }
18
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: ContactsPaneComponent, selector: "ng-component", host: { classAttribute: "pane" }, ngImport: i0, template: `<bizdoc-contacts (selected)="selected($event)"></bizdoc-contacts>`, isInline: true, dependencies: [{ kind: "component", type: i4.ContactsComponent, selector: "bizdoc-contacts", outputs: ["selected"] }] }); }
18
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: ContactsPaneComponent, selector: "ng-component", ngImport: i0, template: `<bizdoc-contacts (selected)="selected($event)"></bizdoc-contacts>`, isInline: true, dependencies: [{ kind: "component", type: i4.ContactsComponent, selector: "bizdoc-contacts", outputs: ["selected"] }] }); }
19
19
  }
20
20
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ContactsPaneComponent, decorators: [{
21
21
  type: Component,
22
22
  args: [{
23
- template: `<bizdoc-contacts (selected)="selected($event)"></bizdoc-contacts>`,
24
- host: {
25
- class: 'pane'
26
- }
23
+ template: `<bizdoc-contacts (selected)="selected($event)"></bizdoc-contacts>`
27
24
  }]
28
25
  }], ctorParameters: () => [{ type: i1.PaneRef }, { type: i2.TranslateService }, { type: i3.PanesRouter }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdHMucGFuZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NoYXQvY29udGFjdHMucGFuZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBWTFDLE1BQU0sT0FDRSxxQkFBcUI7SUFDM0IsWUFDRSxJQUFhLEVBQ2IsU0FBMkIsRUFDbkIsT0FBb0I7UUFBcEIsWUFBTyxHQUFQLE9BQU8sQ0FBYTtRQUM5QixJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUE7SUFBQSxDQUFDO0lBQ3ZDLFFBQVEsQ0FBQyxPQUFnQjtRQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDdkMsUUFBUSxFQUFFLFVBQVU7U0FDckIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0FWSyxxQkFBcUI7a0dBQXJCLHFCQUFxQixzRkFMakIsbUVBQW1FOzsyRkFLdkUscUJBQXFCO2tCQU41QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtRUFBbUU7b0JBQzdFLElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUsTUFBTTtxQkFDZDtpQkFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IENvbnRhY3QgfSBmcm9tICcuLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IFBhbmVzUm91dGVyIH0gZnJvbSBcIi4uL2NvcmUvc2xvdHMvcm91dGVyLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgUGFuZVJlZiB9IGZyb20gXCIuLi9jb3JlL3Nsb3RzL3BhbmUtcmVmXCI7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiLi4vY29yZS90cmFuc2xhdGUuc2VydmljZVwiO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHRlbXBsYXRlOiBgPGJpemRvYy1jb250YWN0cyAoc2VsZWN0ZWQpPVwic2VsZWN0ZWQoJGV2ZW50KVwiPjwvYml6ZG9jLWNvbnRhY3RzPmAsXHJcbiAgaG9zdDoge1xyXG4gICAgY2xhc3M6ICdwYW5lJ1xyXG4gIH19KVxyXG5leHBvcnRcclxuICBjbGFzcyBDb250YWN0c1BhbmVDb21wb25lbnQge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcGFuZTogUGFuZVJlZixcclxuICAgIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgX3JvdXRlcjogUGFuZXNSb3V0ZXIpIHtcclxuICBwYW5lLnRpdGxlID0gdHJhbnNsYXRlLmdldCgnQ29udGFjdHMnKX1cclxuICBzZWxlY3RlZChjb250YWN0OiBDb250YWN0KSB7XHJcbiAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoWydjJywgY29udGFjdC5pZF0sIHtcclxuICAgICAgcGF0aE1vZGU6ICdyZWxhdGl2ZSdcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdHMucGFuZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NoYXQvY29udGFjdHMucGFuZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBVTFDLE1BQU0sT0FDRSxxQkFBcUI7SUFDM0IsWUFDRSxJQUFhLEVBQ2IsU0FBMkIsRUFDbkIsT0FBb0I7UUFBcEIsWUFBTyxHQUFQLE9BQU8sQ0FBYTtRQUM1QixJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDeEMsQ0FBQztJQUNELFFBQVEsQ0FBQyxPQUFnQjtRQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDdkMsUUFBUSxFQUFFLFVBQVU7U0FDckIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0FYSyxxQkFBcUI7a0dBQXJCLHFCQUFxQixvREFIakIsbUVBQW1FOzsyRkFHdkUscUJBQXFCO2tCQUo1QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtRUFBbUU7aUJBQzlFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQ29udGFjdCB9IGZyb20gJy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgUGFuZXNSb3V0ZXIgfSBmcm9tIFwiLi4vY29yZS9zbG90cy9yb3V0ZXIuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBQYW5lUmVmIH0gZnJvbSBcIi4uL2NvcmUvc2xvdHMvcGFuZS1yZWZcIjtcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCIuLi9jb3JlL3RyYW5zbGF0ZS5zZXJ2aWNlXCI7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGU6IGA8Yml6ZG9jLWNvbnRhY3RzIChzZWxlY3RlZCk9XCJzZWxlY3RlZCgkZXZlbnQpXCI+PC9iaXpkb2MtY29udGFjdHM+YFxyXG59KVxyXG5leHBvcnRcclxuICBjbGFzcyBDb250YWN0c1BhbmVDb21wb25lbnQge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcGFuZTogUGFuZVJlZixcclxuICAgIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgX3JvdXRlcjogUGFuZXNSb3V0ZXIpIHtcclxuICAgIHBhbmUudGl0bGUgPSB0cmFuc2xhdGUuZ2V0KCdDb250YWN0cycpXHJcbiAgfVxyXG4gIHNlbGVjdGVkKGNvbnRhY3Q6IENvbnRhY3QpIHtcclxuICAgIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZShbJ2MnLCBjb250YWN0LmlkXSwge1xyXG4gICAgICBwYXRoTW9kZTogJ3JlbGF0aXZlJ1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -45,7 +45,6 @@ export class ConversationComponent {
45
45
  this._top = false;
46
46
  this._textChange = new Subject();
47
47
  this._destroy = new Subject();
48
- this.trackBy = (_, item) => item.time;
49
48
  this._preserveDraft = config.chating && config.chating.preserveDraft;
50
49
  }
51
50
  ngOnInit() {
@@ -174,11 +173,11 @@ export class ConversationComponent {
174
173
  window.localStorage.setItem(this.contact.id, this._input.text);
175
174
  }
176
175
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ConversationComponent, deps: [{ token: BIZDOC_CONFIG }, { token: i1.ChatService }, { token: i2.HubService }, { token: i3.TranslateService }, { token: i4.AccountService }, { token: i5.PromptService }, { token: i0.ViewContainerRef }, { token: i6.Overlay }], target: i0.ɵɵFactoryTarget.Component }); }
177
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.1", type: ConversationComponent, selector: "bizdoc-chat-conversation", inputs: { contact: "contact" }, viewQueries: [{ propertyName: "_input", first: true, predicate: EditInputComponent, descendants: true, static: true }, { propertyName: "conversationElement", first: true, predicate: ["conversation"], descendants: true, read: ElementRef, static: true }, { propertyName: "previewTemplate", first: true, predicate: ["previewTemplate"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div (wheel)=\"onScroll($event)\" class=\"chat-conversation\" #conversation>\n @for (item of items; track trackBy(i, item); let i = $index) {\n <div class=\"chat-item\" [class.you]=\"item.userId!==contact.id\">\n <div class=\"chat-text\" [innerHTML]=\"item.text|taggingHtml:item.resource\"></div>\n @if (item.image) {\n <img [src]=\"'data:image/png;base64,'+item.image\" alt=\"\" (click)=\"preview(item)\" />\n }\n @if ((i===items.length - 1)||item.userId!==items[i+1].userId) {\n <div class=\"chat-info\">\n <small>\n <bizdoc-identity-name [identity]=\"item.userId\" chating=\"none\">\n </bizdoc-identity-name>\n </small>\n <span class=\"divider\"></span>\n <small class=\"chat-time\" [bizdocTooltip]=\"item.time | amDateFormat: 'lll'\">{{item.time | amCalendar : null : CALENDAR_SPEC }}</small>\n </div>\n }\n </div>\n @if (watermark && ((i < items.length - 1 && items[i+1].time >\n watermark && item.time<=watermark)||(i===items.length - 1 &&item.time<=watermark))) {\n <div class=\"chat-watermark\">\n <mat-icon [bizdocTooltip]=\"'Watched' | translate : (watermark | amTimeAgo)\">done_all</mat-icon>\n </div>\n }\n }\n @empty {\n <bizdoc-none title=\"Chat\" icon=\"chat\"></bizdoc-none>\n }\n</div>\n<div class=\"chat-typing\" [style.visibility]=\"typing ? 'visible':'hidden'\" [innerHTML]=\"(profile?.gender === 'Male' ? 'TypingMale' : profile?.gender === 'Female' ? 'TypingFemale' : 'Typing') | translate : (profile?.nick || profile?.name)\"></div>\n\n<bizdoc-edit-text (ok)=\"send($event)\" (focus)=\"onFocus()\"\n(focusout)=\"onBlur()\" [disabled]=\"sending\" (change)=\"_textChange.next()\"></bizdoc-edit-text>\n<ng-template #previewTemplate let-item=\"item\">\n <img [src]=\"'data:image/png;base64,'+item.image\" alt=\"\" />\n</ng-template>\n", styles: [":host{display:flex;flex-direction:column;flex:1 auto;overflow-y:auto}.chat-conversation{-ms-flex:1 1 auto;-webkit-flex:1 1 auto;flex:1 1 auto;overflow-y:auto;overflow-x:hidden;padding:0 4px}\n"], dependencies: [{ kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i8.IdentityName, selector: "bizdoc-identity-name", inputs: ["identity", "by", "chating"] }, { kind: "component", type: i9.EditInputComponent, selector: "bizdoc-edit-text", inputs: ["placeholder", "text", "image", "resource", "disabled", "autofocus", "cache"], outputs: ["change", "ok", "focus", "blur"] }, { kind: "component", type: i10.NoneComponent, selector: "bizdoc-none", inputs: ["title", "subtitle", "icon"] }, { kind: "directive", type: i11.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i12.DateFormatPipe, name: "amDateFormat" }, { kind: "pipe", type: i13.CalendarPipe, name: "amCalendar" }, { kind: "pipe", type: i14.TimeAgoPipe, name: "amTimeAgo" }, { kind: "pipe", type: i15.TranslatePipe, name: "translate" }, { kind: "pipe", type: i16.TaggingPipe, name: "taggingHtml" }] }); }
176
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.1", type: ConversationComponent, selector: "bizdoc-chat-conversation", inputs: { contact: "contact" }, viewQueries: [{ propertyName: "_input", first: true, predicate: EditInputComponent, descendants: true, static: true }, { propertyName: "conversationElement", first: true, predicate: ["conversation"], descendants: true, read: ElementRef, static: true }, { propertyName: "previewTemplate", first: true, predicate: ["previewTemplate"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div (wheel)=\"onScroll($event)\" class=\"chat-conversation\" #conversation>\n @for (item of items; track item.time; let i = $index) {\n <div class=\"chat-item\" [class.you]=\"item.userId !== contact.id\">\n <div class=\"chat-text\" [innerHTML]=\"item.text | taggingHtml:item.resource\"></div>\n @if (item.image) {\n <img [src]=\"'data:image/png;base64,'+item.image\" alt=\"\" (click)=\"preview(item)\" />\n }\n @if ((i === items.length - 1) || item.userId !== items[i+1].userId) {\n <div class=\"chat-info\">\n <small>\n <bizdoc-identity-name [identity]=\"item.userId\" chating=\"none\">\n </bizdoc-identity-name>\n </small>\n <span class=\"divider\"></span>\n <small class=\"chat-time\" [bizdocTooltip]=\"item.time | amDateFormat: 'lll'\">{{item.time | amCalendar : null : CALENDAR_SPEC }}</small>\n </div>\n }\n </div>\n @if (watermark && ((i < items.length - 1 && items[i+1].time >\n watermark && item.time <= watermark) || (i === items.length - 1 &&item.time <= watermark))) {\n <div class=\"chat-watermark\">\n <mat-icon [bizdocTooltip]=\"'Watched' | translate : (watermark | amTimeAgo)\">done_all</mat-icon>\n </div>\n }\n }\n @empty {\n <bizdoc-none title=\"Chat\" icon=\"chat\"></bizdoc-none>\n }\n</div>\n<div class=\"chat-typing\" [style.visibility]=\"typing ? 'visible':'hidden'\" [innerHTML]=\"(profile?.gender === 'Male' ? 'TypingMale' : profile?.gender === 'Female' ? 'TypingFemale' : 'Typing') | translate : (profile?.nick || profile?.name)\"></div>\n\n<bizdoc-edit-text (ok)=\"send($event)\" (focus)=\"onFocus()\"\n(focusout)=\"onBlur()\" [disabled]=\"sending\" (change)=\"_textChange.next()\"></bizdoc-edit-text>\n<ng-template #previewTemplate let-item=\"item\">\n <img [src]=\"'data:image/png;base64,'+item.image\" alt=\"\" />\n</ng-template>\n", styles: [":host{display:flex;flex-direction:column;flex:1 auto;overflow-y:auto}.chat-conversation{-ms-flex:1 1 auto;-webkit-flex:1 1 auto;flex:1 1 auto;overflow-y:auto;overflow-x:hidden;padding:0 4px}\n"], dependencies: [{ kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i8.IdentityName, selector: "bizdoc-identity-name", inputs: ["identity", "by", "chating"] }, { kind: "component", type: i9.EditInputComponent, selector: "bizdoc-edit-text", inputs: ["placeholder", "text", "image", "resource", "disabled", "autofocus", "cache"], outputs: ["change", "ok", "focus", "blur"] }, { kind: "component", type: i10.NoneComponent, selector: "bizdoc-none", inputs: ["title", "subtitle", "icon"] }, { kind: "directive", type: i11.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i12.DateFormatPipe, name: "amDateFormat" }, { kind: "pipe", type: i13.CalendarPipe, name: "amCalendar" }, { kind: "pipe", type: i14.TimeAgoPipe, name: "amTimeAgo" }, { kind: "pipe", type: i15.TranslatePipe, name: "translate" }, { kind: "pipe", type: i16.TaggingPipe, name: "taggingHtml" }] }); }
178
177
  }
179
178
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ConversationComponent, decorators: [{
180
179
  type: Component,
181
- args: [{ selector: 'bizdoc-chat-conversation', template: "<div (wheel)=\"onScroll($event)\" class=\"chat-conversation\" #conversation>\n @for (item of items; track trackBy(i, item); let i = $index) {\n <div class=\"chat-item\" [class.you]=\"item.userId!==contact.id\">\n <div class=\"chat-text\" [innerHTML]=\"item.text|taggingHtml:item.resource\"></div>\n @if (item.image) {\n <img [src]=\"'data:image/png;base64,'+item.image\" alt=\"\" (click)=\"preview(item)\" />\n }\n @if ((i===items.length - 1)||item.userId!==items[i+1].userId) {\n <div class=\"chat-info\">\n <small>\n <bizdoc-identity-name [identity]=\"item.userId\" chating=\"none\">\n </bizdoc-identity-name>\n </small>\n <span class=\"divider\"></span>\n <small class=\"chat-time\" [bizdocTooltip]=\"item.time | amDateFormat: 'lll'\">{{item.time | amCalendar : null : CALENDAR_SPEC }}</small>\n </div>\n }\n </div>\n @if (watermark && ((i < items.length - 1 && items[i+1].time >\n watermark && item.time<=watermark)||(i===items.length - 1 &&item.time<=watermark))) {\n <div class=\"chat-watermark\">\n <mat-icon [bizdocTooltip]=\"'Watched' | translate : (watermark | amTimeAgo)\">done_all</mat-icon>\n </div>\n }\n }\n @empty {\n <bizdoc-none title=\"Chat\" icon=\"chat\"></bizdoc-none>\n }\n</div>\n<div class=\"chat-typing\" [style.visibility]=\"typing ? 'visible':'hidden'\" [innerHTML]=\"(profile?.gender === 'Male' ? 'TypingMale' : profile?.gender === 'Female' ? 'TypingFemale' : 'Typing') | translate : (profile?.nick || profile?.name)\"></div>\n\n<bizdoc-edit-text (ok)=\"send($event)\" (focus)=\"onFocus()\"\n(focusout)=\"onBlur()\" [disabled]=\"sending\" (change)=\"_textChange.next()\"></bizdoc-edit-text>\n<ng-template #previewTemplate let-item=\"item\">\n <img [src]=\"'data:image/png;base64,'+item.image\" alt=\"\" />\n</ng-template>\n", styles: [":host{display:flex;flex-direction:column;flex:1 auto;overflow-y:auto}.chat-conversation{-ms-flex:1 1 auto;-webkit-flex:1 1 auto;flex:1 1 auto;overflow-y:auto;overflow-x:hidden;padding:0 4px}\n"] }]
180
+ args: [{ selector: 'bizdoc-chat-conversation', template: "<div (wheel)=\"onScroll($event)\" class=\"chat-conversation\" #conversation>\n @for (item of items; track item.time; let i = $index) {\n <div class=\"chat-item\" [class.you]=\"item.userId !== contact.id\">\n <div class=\"chat-text\" [innerHTML]=\"item.text | taggingHtml:item.resource\"></div>\n @if (item.image) {\n <img [src]=\"'data:image/png;base64,'+item.image\" alt=\"\" (click)=\"preview(item)\" />\n }\n @if ((i === items.length - 1) || item.userId !== items[i+1].userId) {\n <div class=\"chat-info\">\n <small>\n <bizdoc-identity-name [identity]=\"item.userId\" chating=\"none\">\n </bizdoc-identity-name>\n </small>\n <span class=\"divider\"></span>\n <small class=\"chat-time\" [bizdocTooltip]=\"item.time | amDateFormat: 'lll'\">{{item.time | amCalendar : null : CALENDAR_SPEC }}</small>\n </div>\n }\n </div>\n @if (watermark && ((i < items.length - 1 && items[i+1].time >\n watermark && item.time <= watermark) || (i === items.length - 1 &&item.time <= watermark))) {\n <div class=\"chat-watermark\">\n <mat-icon [bizdocTooltip]=\"'Watched' | translate : (watermark | amTimeAgo)\">done_all</mat-icon>\n </div>\n }\n }\n @empty {\n <bizdoc-none title=\"Chat\" icon=\"chat\"></bizdoc-none>\n }\n</div>\n<div class=\"chat-typing\" [style.visibility]=\"typing ? 'visible':'hidden'\" [innerHTML]=\"(profile?.gender === 'Male' ? 'TypingMale' : profile?.gender === 'Female' ? 'TypingFemale' : 'Typing') | translate : (profile?.nick || profile?.name)\"></div>\n\n<bizdoc-edit-text (ok)=\"send($event)\" (focus)=\"onFocus()\"\n(focusout)=\"onBlur()\" [disabled]=\"sending\" (change)=\"_textChange.next()\"></bizdoc-edit-text>\n<ng-template #previewTemplate let-item=\"item\">\n <img [src]=\"'data:image/png;base64,'+item.image\" alt=\"\" />\n</ng-template>\n", styles: [":host{display:flex;flex-direction:column;flex:1 auto;overflow-y:auto}.chat-conversation{-ms-flex:1 1 auto;-webkit-flex:1 1 auto;flex:1 1 auto;overflow-y:auto;overflow-x:hidden;padding:0 4px}\n"] }]
182
181
  }], ctorParameters: () => [{ type: undefined, decorators: [{
183
182
  type: Inject,
184
183
  args: [BIZDOC_CONFIG]
@@ -194,4 +193,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
194
193
  type: ViewChild,
195
194
  args: ['previewTemplate']
196
195
  }] } });
197
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY2hhdC9jb252ZXJzYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jaGF0L2NvbnZlcnNhdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQXFCLEtBQUssRUFBMkQsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTVKLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVFqRSxPQUFPLEVBQUUsa0JBQWtCLEVBQWlCLE1BQU0sc0NBQXNDLENBQUM7QUFDekYsT0FBTyxFQUFnQixhQUFhLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVsRixNQUFNLGFBQWEsR0FBRyxHQUFHLEVBQUUsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO0FBT3RELE1BQU0sT0FDRSxxQkFBcUI7SUF1QjNCLFlBQ3lCLE1BQW9CLEVBQ25DLFFBQXFCLEVBQ3JCLFVBQXNCLEVBQ3RCLFVBQTRCLEVBQzVCLFNBQXlCLEVBQ3pCLEdBQWtCLEVBQ2xCLEdBQXFCLEVBQ3JCLFFBQWlCO1FBTmpCLGFBQVEsR0FBUixRQUFRLENBQWE7UUFDckIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixlQUFVLEdBQVYsVUFBVSxDQUFrQjtRQUM1QixjQUFTLEdBQVQsU0FBUyxDQUFnQjtRQUN6QixRQUFHLEdBQUgsR0FBRyxDQUFl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QUFDLGNBQWMsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDL0IsZUFBZTtzQkFBNUMsU0FBUzt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIFZpZXdDaGlsZCwgT25EZXN0cm95LCBPbkluaXQsIElucHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT3ZlcmxheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcclxuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcclxuaW1wb3J0IHsgbWVyZ2UsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFrZVVudGlsLCBkZWJvdW5jZVRpbWUsIGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQ2FsZW5kYXJTcGVjIH0gZnJvbSBcIi4uL2NvcmUvcGlwZXMvY2FsZW5kYXIucGlwZVwiO1xyXG5pbXBvcnQgeyBDaGF0LCBDb250YWN0LCBVc2VySW5mbyB9IGZyb20gJy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgSHViU2VydmljZSB9IGZyb20gJy4uL2NvcmUvaHViLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDaGF0U2VydmljZSB9IGZyb20gJy4vY2hhdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uL2NvcmUvdHJhbnNsYXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBY2NvdW50U2VydmljZSB9IGZyb20gJy4uL2NvcmUvYWNjb3VudC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUHJvbXB0U2VydmljZSB9IGZyb20gJy4uL2NvcmUvcHJvbXB0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBFZGl0SW5wdXRDb21wb25lbnQsIEVkaXRUZXh0RXZlbnQgfSBmcm9tICcuLi9jb3JlL3RhZ2dpbmcvZWRpdC1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCaXpEb2NDb25maWcsIEJJWkRPQ19DT05GSUcsIENoYXRTZXR0aW5ncyB9IGZyb20gJy4uL2NvcmUvY29uZmlndXJhdGlvbic7XHJcblxyXG5jb25zdCBUWVBJTkdfTk9USUZZID0gNTAwLCBDT05UQUNUX1RZUElOR19OT1RFID0gMTUwMDtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLWNoYXQtY29udmVyc2F0aW9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29udmVyc2F0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jb252ZXJzYXRpb24uY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnRcclxuICBjbGFzcyBDb252ZXJzYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuICBASW5wdXQoKSBwdWJsaWMgY29udGFjdDogQ29udGFjdDtcclxuICBwcm9maWxlOiBVc2VySW5mbztcclxuICBpdGVtczogQ2hhdFtdID0gW107XHJcbiAgdHlwaW5nID0gZmFsc2U7XHJcbiAgd2F0ZXJtYXJrOiBEYXRlO1xyXG4gIHNlbmRpbmcgPSBmYWxzZTtcclxuICB3b3JraW5nID0gZmFsc2U7XHJcbiAgcmVhZG9ubHkgQ0FMRU5EQVJfU1BFQzogQ2FsZW5kYXJTcGVjID0ge1xyXG4gICAgbGFzdERheTogdGhpcy5fdHJhbnNsYXRlLmdldCgnWWVzdGVyZGF5QXQnLCAnSEg6bW0nKSxcclxuICAgIGxhc3RXZWVrOiAnZGRkIEhIOm1tJyxcclxuICAgIHNhbWVEYXk6ICdISDptbScsXHJcbiAgICBzYW1lRWxzZTogJ01NTSBEIEhIOm1tJ1xyXG4gIH07XHJcbiAgQFZpZXdDaGlsZChFZGl0SW5wdXRDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pIF9pbnB1dDogRWRpdElucHV0Q29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoJ2NvbnZlcnNhdGlvbicsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiB0cnVlIH0pIGNvbnZlcnNhdGlvbkVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoJ3ByZXZpZXdUZW1wbGF0ZScpIHByZXZpZXdUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuICBwcml2YXRlIF9pbkZvY3VzID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfdG9wID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfdHlwaW5nVGFzazogTm9kZUpTLlRpbWVvdXQ7XHJcbiAgcHJpdmF0ZSBfcHJlc2VydmVEcmFmdDogYm9vbGVhbjtcclxuICByZWFkb25seSBfdGV4dENoYW5nZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASW5qZWN0KEJJWkRPQ19DT05GSUcpIGNvbmZpZzogQml6RG9jQ29uZmlnLFxyXG4gICAgcHJpdmF0ZSBfc2VydmljZTogQ2hhdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9tZXNzYWdpbmc6IEh1YlNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF90cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9hY2NvdW50czogQWNjb3VudFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zYjogUHJvbXB0U2VydmljZSxcclxuICAgIHByaXZhdGUgX3ZjOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgcHJpdmF0ZSBfb3ZlcmxheTogT3ZlcmxheVxyXG4gICkge1xyXG4gICAgdGhpcy5fcHJlc2VydmVEcmFmdCA9IGNvbmZpZy5jaGF0aW5nICYmIChjb25maWcuY2hhdGluZyBhcyBDaGF0U2V0dGluZ3MpLnByZXNlcnZlRHJhZnQ7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fbWVzc2FnaW5nLmNoYXRUeXBpbmckLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5zdWJzY3JpYmUoZSA9PiB7XHJcbiAgICAgIGlmIChlLmNvbnRhY3RJZCA9PT0gdGhpcy5jb250YWN0LmlkKSB7XHJcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX3R5cGluZ1Rhc2spO1xyXG4gICAgICAgIHRoaXMuX3R5cGluZ1Rhc2sgPSBzZXRUaW1lb3V0KCgpID0+IHRoaXMudHlwaW5nID0gZmFsc2UsIENPTlRBQ1RfVFlQSU5HX05PVEUpO1xyXG4gICAgICAgIHRoaXMudHlwaW5nID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9tZXNzYWdpbmcuY2hhdCQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZShlID0+IHtcclxuICAgICAgaWYgKGUuY29udGFjdElkID09PSB0aGlzLmNvbnRhY3QuaWQpIHtcclxuICAgICAgICB0aGlzLml0ZW1zLnB1c2goZS5tb2RlbCk7XHJcbiAgICAgICAgdGhpcy5fc2Nyb2xsVG9Cb3R0b20oKTtcclxuICAgICAgICB0aGlzLl9pbkZvY3VzICYmIHRoaXMuX3NlZW4oKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9tZXNzYWdpbmcuY2hhdFdhdGVybWFyayQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZShlID0+IHtcclxuICAgICAgaWYgKGUuY29udGFjdElkID09PSB0aGlzLmNvbnRhY3QuaWQpIHRoaXMud2F0ZXJtYXJrID0gZS50aW1lO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLl90ZXh0Q2hhbmdlLnBpcGUoZGVib3VuY2VUaW1lKFRZUElOR19OT1RJRlkpLCB0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZSgoKSA9PlxyXG4gICAgICB0aGlzLl9zZXJ2aWNlLnR5cGluZyh0aGlzLmNvbnRhY3QuaWQpKTtcclxuICB9XHJcbiAgbmdPbkNoYW5nZXMoXzogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgdGhpcy5wcm9maWxlICYmXHJcbiAgICAgIHRoaXMuX3ByZXNlcnZlRHJhZnQgJiYgdGhpcy5fcGVyc2lzdCgpO1xyXG5cclxuICAgIHRoaXMuX2FjY291bnRzLmdldCh0aGlzLmNvbnRhY3QuaWQpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IHUgPT4ge1xyXG4gICAgICAgIHRoaXMucHJvZmlsZSA9IHU7XHJcbiAgICAgIH0sIGVycm9yOiAoKSA9PiB0aGlzLl9zYi5lcnJvcigpXHJcbiAgICB9KTtcclxuICAgIC8vIGxhdGVzdFxyXG4gICAgdGhpcy53YXRlcm1hcmsgPSB0aGlzLmNvbnRhY3QudmlzaXRlZCB8fCB0aGlzLmNvbnRhY3Qud2F0ZXJtYXJrID8gKHRoaXMuY29udGFjdC52aXNpdGVkICYmIHRoaXMuY29udGFjdC53YXRlcm1hcmsgP1xyXG4gICAgICB0aGlzLmNvbnRhY3Qud2F0ZXJtYXJrID4gdGhpcy5jb250YWN0LnZpc2l0ZWQgP1xyXG4gICAgICAgIHRoaXMuY29udGFjdC53YXRlcm1hcmsgOiB0aGlzLmNvbnRhY3QudmlzaXRlZCA6XHJcbiAgICAgIHRoaXMuY29udGFjdC53YXRlcm1hcmsgfHwgdGhpcy5jb250YWN0LnZpc2l0ZWQpIDogbnVsbDtcclxuICAgIC8vIGZldGNoXHJcbiAgICB0aGlzLl9zZXJ2aWNlLmNvbnZlcnNhdGlvbnModGhpcy5jb250YWN0LmlkKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiBjID0+IHtcclxuICAgICAgICB0aGlzLml0ZW1zID0gYy5yZXZlcnNlKCk7XHJcbiAgICAgICAgdGhpcy5fc2Nyb2xsVG9Cb3R0b20oKTtcclxuICAgICAgICAhdGhpcy5jb250YWN0LmNvdW50ICYmXHJcbiAgICAgICAgICB0aGlzLmZvY3VzKCk7XHJcbiAgICAgIH0sIGVycm9yOiAoKSA9PlxyXG4gICAgICAgIHRoaXMuX3NiLmVycm9yKClcclxuICAgIH0pO1xyXG4gICAgaWYgKHRoaXMuX3ByZXNlcnZlRHJhZnQpIHtcclxuICAgICAgY29uc3QgdGV4dCA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuY29udGFjdC5pZCk7XHJcbiAgICAgIGlmICh0ZXh0KSB0aGlzLl9pbnB1dC50ZXh0ID0gdGV4dDtcclxuICAgIH1cclxuICB9XHJcbiAgdHJhY2tCeSA9IChfLCBpdGVtOiBDaGF0KSA9PiBpdGVtLnRpbWU7XHJcblxyXG4gIHByaXZhdGUgX3Njcm9sbFRvQm90dG9tKCk6IHZvaWQge1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgdGhpcy5jb252ZXJzYXRpb25FbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG9wID0gdGhpcy5jb252ZXJzYXRpb25FbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc2Nyb2xsSGVpZ2h0O1xyXG4gICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcihlKVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgb25TY3JvbGwoZTogTW91c2VFdmVudCkge1xyXG4gICAgY29uc3QgZWwgPSB0aGlzLmNvbnZlcnNhdGlvbkVsZW1lbnQubmF0aXZlRWxlbWVudDtcclxuICAgIGlmIChlbC5zY3JvbGxUb3AgPCAxMCAmJiAhdGhpcy5fdG9wICYmICF0aGlzLndvcmtpbmcpIHtcclxuICAgICAgdGhpcy53b3JraW5nID0gdHJ1ZTtcclxuICAgICAgdGhpcy5fc2VydmljZS5jb252ZXJzYXRpb25zKHRoaXMuY29udGFjdC5pZCwgdGhpcy5pdGVtcy5sZW5ndGggPyB0aGlzLml0ZW1zWzBdLnRpbWUgOiBudWxsKS5zdWJzY3JpYmUoaXMgPT4ge1xyXG4gICAgICAgIGlmIChpcy5sZW5ndGgpXHJcbiAgICAgICAgICB0aGlzLml0ZW1zID0gaXMucmV2ZXJzZSgpLmNvbmNhdCh0aGlzLml0ZW1zKVxyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgIHRoaXMuX3RvcCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy53b3JraW5nID0gZmFsc2U7XHJcbiAgICAgIH0pO1xyXG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHNlbmQoZXZ0OiBFZGl0VGV4dEV2ZW50KSB7XHJcbiAgICB0aGlzLnNlbmRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5fc2VydmljZS5zZW5kKHRoaXMuY29udGFjdC5pZCwgZXZ0KS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiBjID0+IHtcclxuICAgICAgICB0aGlzLml0ZW1zLnB1c2goYyk7XHJcbiAgICAgICAgdGhpcy5faW5wdXQuY2xlYXIoKTtcclxuICAgICAgICB0aGlzLl9zY3JvbGxUb0JvdHRvbSgpO1xyXG4gICAgICAgIHRoaXMuc2VuZGluZyA9IGZhbHNlO1xyXG4gICAgICB9LCBlcnJvcjogZSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZW5kaW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5fc2IuZXJyb3IoKVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uRm9jdXMoKSB7XHJcbiAgICB0aGlzLl9pbkZvY3VzID0gdHJ1ZTtcclxuICAgIHRoaXMuX3NlcnZpY2UuYWN0aXZlID0gdGhpcy5jb250YWN0LmlkO1xyXG4gICAgdGhpcy5jb250YWN0LmNvdW50ICYmIHRoaXMuX3NlZW4oKTtcclxuICB9XHJcbiAgb25CbHVyKCkge1xyXG4gICAgdGhpcy5fc2VydmljZS5hY3RpdmUgPSBudWxsO1xyXG4gICAgdGhpcy5faW5Gb2N1cyA9IGZhbHNlO1xyXG4gIH1cclxuICBwcml2YXRlIF9zZWVuKCkge1xyXG4gICAgdGhpcy5fc2VydmljZS5zZWVuKHRoaXMuY29udGFjdC5pZCkuc3Vic2NyaWJlKGUgPT4ge1xyXG4gICAgICB0aGlzLndhdGVybWFyayA9IGUudGltZTtcclxuICAgICAgdGhpcy5fc2Nyb2xsVG9Cb3R0b20oKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZm9jdXMoKSB7XHJcbiAgICB0aGlzLl9pbnB1dC5mb2N1cygpO1xyXG4gIH1cclxuICBwcmV2aWV3KGl0ZW06IENoYXQpIHtcclxuICAgIGNvbnN0IG9SZWYgPSB0aGlzLl9vdmVybGF5LmNyZWF0ZSh7XHJcbiAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxyXG4gICAgICBkaXNwb3NlT25OYXZpZ2F0aW9uOiB0cnVlLFxyXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLl9vdmVybGF5LnBvc2l0aW9uKCkuZ2xvYmFsKCkuY2VudGVySG9yaXpvbnRhbGx5KCkuY2VudGVyVmVydGljYWxseSgpLFxyXG4gICAgfSk7XHJcbiAgICBvUmVmLmF0dGFjaChuZXcgVGVtcGxhdGVQb3J0YWwodGhpcy5wcmV2aWV3VGVtcGxhdGUsIHRoaXMuX3ZjLCB7IGl0ZW0gfSkpO1xyXG4gICAgbWVyZ2Uob1JlZi5rZXlkb3duRXZlbnRzKCkucGlwZShmaWx0ZXIoayA9PiBrLmtleSA9PT0gJ0VzY2FwZScpKSwgb1JlZi5iYWNrZHJvcENsaWNrKCkpLnN1YnNjcmliZSgoKSA9PiBvUmVmLmRldGFjaCgpKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuX3R5cGluZ1Rhc2spIGNsZWFyVGltZW91dCh0aGlzLl90eXBpbmdUYXNrKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveS5jb21wbGV0ZSgpO1xyXG5cclxuICAgIHRoaXMuX3ByZXNlcnZlRHJhZnQgJiYgdGhpcy5fcGVyc2lzdCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcGVyc2lzdCgpIHtcclxuICAgIHRoaXMuX2lucHV0LnRleHQgJiYgdGhpcy5faW5wdXQudGV4dC5sZW5ndGggJiZcclxuICAgICAgd2luZG93LmxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMuY29udGFjdC5pZCwgdGhpcy5faW5wdXQudGV4dCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgKHdoZWVsKT1cIm9uU2Nyb2xsKCRldmVudClcIiBjbGFzcz1cImNoYXQtY29udmVyc2F0aW9uXCIgI2NvbnZlcnNhdGlvbj5cbiAgQGZvciAoaXRlbSBvZiBpdGVtczsgdHJhY2sgdHJhY2tCeShpLCBpdGVtKTsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICA8ZGl2IGNsYXNzPVwiY2hhdC1pdGVtXCIgW2NsYXNzLnlvdV09XCJpdGVtLnVzZXJJZCE9PWNvbnRhY3QuaWRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjaGF0LXRleHRcIiBbaW5uZXJIVE1MXT1cIml0ZW0udGV4dHx0YWdnaW5nSHRtbDppdGVtLnJlc291cmNlXCI+PC9kaXY+XG4gICAgICBAaWYgKGl0ZW0uaW1hZ2UpIHtcbiAgICAgICAgPGltZyBbc3JjXT1cIidkYXRhOmltYWdlL3BuZztiYXNlNjQsJytpdGVtLmltYWdlXCIgYWx0PVwiXCIgKGNsaWNrKT1cInByZXZpZXcoaXRlbSlcIiAvPlxuICAgICAgfVxuICAgICAgQGlmICgoaT09PWl0ZW1zLmxlbmd0aCAtIDEpfHxpdGVtLnVzZXJJZCE9PWl0ZW1zW2krMV0udXNlcklkKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjaGF0LWluZm9cIj5cbiAgICAgICAgICA8c21hbGw+XG4gICAgICAgICAgICA8Yml6ZG9jLWlkZW50aXR5LW5hbWUgW2lkZW50aXR5XT1cIml0ZW0udXNlcklkXCIgY2hhdGluZz1cIm5vbmVcIj5cbiAgICAgICAgICAgIDwvYml6ZG9jLWlkZW50aXR5LW5hbWU+XG4gICAgICAgICAgPC9zbWFsbD5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XG4gICAgICAgICAgPHNtYWxsIGNsYXNzPVwiY2hhdC10aW1lXCIgW2JpemRvY1Rvb2x0aXBdPVwiaXRlbS50aW1lIHwgYW1EYXRlRm9ybWF0OiAnbGxsJ1wiPnt7aXRlbS50aW1lIHwgYW1DYWxlbmRhciA6IG51bGwgOiBDQUxFTkRBUl9TUEVDIH19PC9zbWFsbD5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gICAgQGlmICh3YXRlcm1hcmsgJiYgKChpIDwgaXRlbXMubGVuZ3RoIC0gMSAmJiBpdGVtc1tpKzFdLnRpbWUgPlxuICB3YXRlcm1hcmsgJiYgaXRlbS50aW1lPD13YXRlcm1hcmspfHwoaT09PWl0ZW1zLmxlbmd0aCAtIDEgJiZpdGVtLnRpbWU8PXdhdGVybWFyaykpKSB7XG4gIDxkaXYgY2xhc3M9XCJjaGF0LXdhdGVybWFya1wiPlxuICAgIDxtYXQtaWNvbiBbYml6ZG9jVG9vbHRpcF09XCInV2F0Y2hlZCcgfCB0cmFuc2xhdGUgOiAod2F0ZXJtYXJrIHwgYW1UaW1lQWdvKVwiPmRvbmVfYWxsPC9tYXQtaWNvbj5cbiAgPC9kaXY+XG4gIH1cbiAgfVxuICBAZW1wdHkge1xuICA8Yml6ZG9jLW5vbmUgdGl0bGU9XCJDaGF0XCIgaWNvbj1cImNoYXRcIj48L2JpemRvYy1ub25lPlxuICB9XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJjaGF0LXR5cGluZ1wiIFtzdHlsZS52aXNpYmlsaXR5XT1cInR5cGluZyA/ICd2aXNpYmxlJzonaGlkZGVuJ1wiIFtpbm5lckhUTUxdPVwiKHByb2ZpbGU/LmdlbmRlciA9PT0gJ01hbGUnID8gJ1R5cGluZ01hbGUnIDogcHJvZmlsZT8uZ2VuZGVyID09PSAnRmVtYWxlJyA/ICdUeXBpbmdGZW1hbGUnIDogJ1R5cGluZycpIHwgdHJhbnNsYXRlIDogKHByb2ZpbGU/Lm5pY2sgfHwgcHJvZmlsZT8ubmFtZSlcIj48L2Rpdj5cblxuPGJpemRvYy1lZGl0LXRleHQgKG9rKT1cInNlbmQoJGV2ZW50KVwiIChmb2N1cyk9XCJvbkZvY3VzKClcIlxuKGZvY3Vzb3V0KT1cIm9uQmx1cigpXCIgW2Rpc2FibGVkXT1cInNlbmRpbmdcIiAoY2hhbmdlKT1cIl90ZXh0Q2hhbmdlLm5leHQoKVwiPjwvYml6ZG9jLWVkaXQtdGV4dD5cbjxuZy10ZW1wbGF0ZSAjcHJldmlld1RlbXBsYXRlIGxldC1pdGVtPVwiaXRlbVwiPlxuICA8aW1nIFtzcmNdPVwiJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCwnK2l0ZW0uaW1hZ2VcIiBhbHQ9XCJcIiAvPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
196
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY2hhdC9jb252ZXJzYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jaGF0L2NvbnZlcnNhdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQXFCLEtBQUssRUFBMkQsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTVKLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVFqRSxPQUFPLEVBQUUsa0JBQWtCLEVBQWlCLE1BQU0sc0NBQXNDLENBQUM7QUFDekYsT0FBTyxFQUFnQixhQUFhLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVsRixNQUFNLGFBQWEsR0FBRyxHQUFHLEVBQUUsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO0FBT3RELE1BQU0sT0FDRSxxQkFBcUI7SUF1QjNCLFlBQ3lCLE1BQW9CLEVBQ25DLFFBQXFCLEVBQ3JCLFVBQXNCLEVBQ3RCLFVBQTRCLEVBQzVCLFNBQXlCLEVBQ3pCLEdBQWtCLEVBQ2xCLEdBQXFCLEVBQ3JCLFFBQWlCO1FBTmpCLGFBQVEsR0FBUixRQUFRLENBQWE7UUFDckIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixlQUFVLEdBQVYsVUFBVSxDQUFrQjtRQUM1QixjQUFTLEdBQVQsU0FBUyxDQUFnQjtRQUN6QixRQUFHLEdBQUgsR0FBRyxDQUFl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QUE1QyxTQUFTO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgVmlld0NoaWxkLCBPbkRlc3Ryb3ksIE9uSW5pdCwgSW5wdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmLCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPdmVybGF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xyXG5pbXBvcnQgeyBtZXJnZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwsIGRlYm91bmNlVGltZSwgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBDYWxlbmRhclNwZWMgfSBmcm9tIFwiLi4vY29yZS9waXBlcy9jYWxlbmRhci5waXBlXCI7XHJcbmltcG9ydCB7IENoYXQsIENvbnRhY3QsIFVzZXJJbmZvIH0gZnJvbSAnLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBIdWJTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9odWIuc2VydmljZSc7XHJcbmltcG9ydCB7IENoYXRTZXJ2aWNlIH0gZnJvbSAnLi9jaGF0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS90cmFuc2xhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IEFjY291bnRTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9hY2NvdW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQcm9tcHRTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9wcm9tcHQuc2VydmljZSc7XHJcbmltcG9ydCB7IEVkaXRJbnB1dENvbXBvbmVudCwgRWRpdFRleHRFdmVudCB9IGZyb20gJy4uL2NvcmUvdGFnZ2luZy9lZGl0LWlucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJpekRvY0NvbmZpZywgQklaRE9DX0NPTkZJRywgQ2hhdFNldHRpbmdzIH0gZnJvbSAnLi4vY29yZS9jb25maWd1cmF0aW9uJztcclxuXHJcbmNvbnN0IFRZUElOR19OT1RJRlkgPSA1MDAsIENPTlRBQ1RfVFlQSU5HX05PVEUgPSAxNTAwO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtY2hhdC1jb252ZXJzYXRpb24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jb252ZXJzYXRpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NvbnZlcnNhdGlvbi5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydFxyXG4gIGNsYXNzIENvbnZlcnNhdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjb250YWN0OiBDb250YWN0O1xyXG4gIHByb2ZpbGU6IFVzZXJJbmZvO1xyXG4gIGl0ZW1zOiBDaGF0W10gPSBbXTtcclxuICB0eXBpbmcgPSBmYWxzZTtcclxuICB3YXRlcm1hcms6IERhdGU7XHJcbiAgc2VuZGluZyA9IGZhbHNlO1xyXG4gIHdvcmtpbmcgPSBmYWxzZTtcclxuICByZWFkb25seSBDQUxFTkRBUl9TUEVDOiBDYWxlbmRhclNwZWMgPSB7XHJcbiAgICBsYXN0RGF5OiB0aGlzLl90cmFuc2xhdGUuZ2V0KCdZZXN0ZXJkYXlBdCcsICdISDptbScpLFxyXG4gICAgbGFzdFdlZWs6ICdkZGQgSEg6bW0nLFxyXG4gICAgc2FtZURheTogJ0hIOm1tJyxcclxuICAgIHNhbWVFbHNlOiAnTU1NIEQgSEg6bW0nXHJcbiAgfTtcclxuICBAVmlld0NoaWxkKEVkaXRJbnB1dENvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSkgX2lucHV0OiBFZGl0SW5wdXRDb21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZCgnY29udmVyc2F0aW9uJywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IHRydWUgfSkgY29udmVyc2F0aW9uRWxlbWVudDogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZCgncHJldmlld1RlbXBsYXRlJykgcHJldmlld1RlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIHByaXZhdGUgX2luRm9jdXMgPSBmYWxzZTtcclxuICBwcml2YXRlIF90b3AgPSBmYWxzZTtcclxuICBwcml2YXRlIF90eXBpbmdUYXNrOiBOb2RlSlMuVGltZW91dDtcclxuICBwcml2YXRlIF9wcmVzZXJ2ZURyYWZ0OiBib29sZWFuO1xyXG4gIHJlYWRvbmx5IF90ZXh0Q2hhbmdlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoQklaRE9DX0NPTkZJRykgY29uZmlnOiBCaXpEb2NDb25maWcsXHJcbiAgICBwcml2YXRlIF9zZXJ2aWNlOiBDaGF0U2VydmljZSxcclxuICAgIHByaXZhdGUgX21lc3NhZ2luZzogSHViU2VydmljZSxcclxuICAgIHByaXZhdGUgX3RyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgX2FjY291bnRzOiBBY2NvdW50U2VydmljZSxcclxuICAgIHByaXZhdGUgX3NiOiBQcm9tcHRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfdmM6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICBwcml2YXRlIF9vdmVybGF5OiBPdmVybGF5XHJcbiAgKSB7XHJcbiAgICB0aGlzLl9wcmVzZXJ2ZURyYWZ0ID0gY29uZmlnLmNoYXRpbmcgJiYgKGNvbmZpZy5jaGF0aW5nIGFzIENoYXRTZXR0aW5ncykucHJlc2VydmVEcmFmdDtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9tZXNzYWdpbmcuY2hhdFR5cGluZyQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZShlID0+IHtcclxuICAgICAgaWYgKGUuY29udGFjdElkID09PSB0aGlzLmNvbnRhY3QuaWQpIHtcclxuICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5fdHlwaW5nVGFzayk7XHJcbiAgICAgICAgdGhpcy5fdHlwaW5nVGFzayA9IHNldFRpbWVvdXQoKCkgPT4gdGhpcy50eXBpbmcgPSBmYWxzZSwgQ09OVEFDVF9UWVBJTkdfTk9URSk7XHJcbiAgICAgICAgdGhpcy50eXBpbmcgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX21lc3NhZ2luZy5jaGF0JC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKGUgPT4ge1xyXG4gICAgICBpZiAoZS5jb250YWN0SWQgPT09IHRoaXMuY29udGFjdC5pZCkge1xyXG4gICAgICAgIHRoaXMuaXRlbXMucHVzaChlLm1vZGVsKTtcclxuICAgICAgICB0aGlzLl9zY3JvbGxUb0JvdHRvbSgpO1xyXG4gICAgICAgIHRoaXMuX2luRm9jdXMgJiYgdGhpcy5fc2VlbigpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX21lc3NhZ2luZy5jaGF0V2F0ZXJtYXJrJC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKGUgPT4ge1xyXG4gICAgICBpZiAoZS5jb250YWN0SWQgPT09IHRoaXMuY29udGFjdC5pZCkgdGhpcy53YXRlcm1hcmsgPSBlLnRpbWU7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX3RleHRDaGFuZ2UucGlwZShkZWJvdW5jZVRpbWUoVFlQSU5HX05PVElGWSksIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKCgpID0+XHJcbiAgICAgIHRoaXMuX3NlcnZpY2UudHlwaW5nKHRoaXMuY29udGFjdC5pZCkpO1xyXG4gIH1cclxuICBuZ09uQ2hhbmdlcyhfOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICB0aGlzLnByb2ZpbGUgJiZcclxuICAgICAgdGhpcy5fcHJlc2VydmVEcmFmdCAmJiB0aGlzLl9wZXJzaXN0KCk7XHJcblxyXG4gICAgdGhpcy5fYWNjb3VudHMuZ2V0KHRoaXMuY29udGFjdC5pZCkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogdSA9PiB7XHJcbiAgICAgICAgdGhpcy5wcm9maWxlID0gdTtcclxuICAgICAgfSwgZXJyb3I6ICgpID0+IHRoaXMuX3NiLmVycm9yKClcclxuICAgIH0pO1xyXG4gICAgLy8gbGF0ZXN0XHJcbiAgICB0aGlzLndhdGVybWFyayA9IHRoaXMuY29udGFjdC52aXNpdGVkIHx8IHRoaXMuY29udGFjdC53YXRlcm1hcmsgPyAodGhpcy5jb250YWN0LnZpc2l0ZWQgJiYgdGhpcy5jb250YWN0LndhdGVybWFyayA/XHJcbiAgICAgIHRoaXMuY29udGFjdC53YXRlcm1hcmsgPiB0aGlzLmNvbnRhY3QudmlzaXRlZCA/XHJcbiAgICAgICAgdGhpcy5jb250YWN0LndhdGVybWFyayA6IHRoaXMuY29udGFjdC52aXNpdGVkIDpcclxuICAgICAgdGhpcy5jb250YWN0LndhdGVybWFyayB8fCB0aGlzLmNvbnRhY3QudmlzaXRlZCkgOiBudWxsO1xyXG4gICAgLy8gZmV0Y2hcclxuICAgIHRoaXMuX3NlcnZpY2UuY29udmVyc2F0aW9ucyh0aGlzLmNvbnRhY3QuaWQpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IGMgPT4ge1xyXG4gICAgICAgIHRoaXMuaXRlbXMgPSBjLnJldmVyc2UoKTtcclxuICAgICAgICB0aGlzLl9zY3JvbGxUb0JvdHRvbSgpO1xyXG4gICAgICAgICF0aGlzLmNvbnRhY3QuY291bnQgJiZcclxuICAgICAgICAgIHRoaXMuZm9jdXMoKTtcclxuICAgICAgfSwgZXJyb3I6ICgpID0+XHJcbiAgICAgICAgdGhpcy5fc2IuZXJyb3IoKVxyXG4gICAgfSk7XHJcbiAgICBpZiAodGhpcy5fcHJlc2VydmVEcmFmdCkge1xyXG4gICAgICBjb25zdCB0ZXh0ID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5jb250YWN0LmlkKTtcclxuICAgICAgaWYgKHRleHQpIHRoaXMuX2lucHV0LnRleHQgPSB0ZXh0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2Nyb2xsVG9Cb3R0b20oKTogdm9pZCB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICB0aGlzLmNvbnZlcnNhdGlvbkVsZW1lbnQubmF0aXZlRWxlbWVudC5zY3JvbGxUb3AgPSB0aGlzLmNvbnZlcnNhdGlvbkVsZW1lbnQubmF0aXZlRWxlbWVudC5zY3JvbGxIZWlnaHQ7XHJcbiAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKGUpXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICBvblNjcm9sbChlOiBNb3VzZUV2ZW50KSB7XHJcbiAgICBjb25zdCBlbCA9IHRoaXMuY29udmVyc2F0aW9uRWxlbWVudC5uYXRpdmVFbGVtZW50O1xyXG4gICAgaWYgKGVsLnNjcm9sbFRvcCA8IDEwICYmICF0aGlzLl90b3AgJiYgIXRoaXMud29ya2luZykge1xyXG4gICAgICB0aGlzLndvcmtpbmcgPSB0cnVlO1xyXG4gICAgICB0aGlzLl9zZXJ2aWNlLmNvbnZlcnNhdGlvbnModGhpcy5jb250YWN0LmlkLCB0aGlzLml0ZW1zLmxlbmd0aCA/IHRoaXMuaXRlbXNbMF0udGltZSA6IG51bGwpLnN1YnNjcmliZShpcyA9PiB7XHJcbiAgICAgICAgaWYgKGlzLmxlbmd0aClcclxuICAgICAgICAgIHRoaXMuaXRlbXMgPSBpcy5yZXZlcnNlKCkuY29uY2F0KHRoaXMuaXRlbXMpXHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgdGhpcy5fdG9wID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLndvcmtpbmcgPSBmYWxzZTtcclxuICAgICAgfSk7XHJcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuICB9XHJcbiAgc2VuZChldnQ6IEVkaXRUZXh0RXZlbnQpIHtcclxuICAgIHRoaXMuc2VuZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLl9zZXJ2aWNlLnNlbmQodGhpcy5jb250YWN0LmlkLCBldnQpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IGMgPT4ge1xyXG4gICAgICAgIHRoaXMuaXRlbXMucHVzaChjKTtcclxuICAgICAgICB0aGlzLl9pbnB1dC5jbGVhcigpO1xyXG4gICAgICAgIHRoaXMuX3Njcm9sbFRvQm90dG9tKCk7XHJcbiAgICAgICAgdGhpcy5zZW5kaW5nID0gZmFsc2U7XHJcbiAgICAgIH0sIGVycm9yOiBlID0+IHtcclxuICAgICAgICB0aGlzLnNlbmRpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLl9zYi5lcnJvcigpXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25Gb2N1cygpIHtcclxuICAgIHRoaXMuX2luRm9jdXMgPSB0cnVlO1xyXG4gICAgdGhpcy5fc2VydmljZS5hY3RpdmUgPSB0aGlzLmNvbnRhY3QuaWQ7XHJcbiAgICB0aGlzLmNvbnRhY3QuY291bnQgJiYgdGhpcy5fc2VlbigpO1xyXG4gIH1cclxuICBvbkJsdXIoKSB7XHJcbiAgICB0aGlzLl9zZXJ2aWNlLmFjdGl2ZSA9IG51bGw7XHJcbiAgICB0aGlzLl9pbkZvY3VzID0gZmFsc2U7XHJcbiAgfVxyXG4gIHByaXZhdGUgX3NlZW4oKSB7XHJcbiAgICB0aGlzLl9zZXJ2aWNlLnNlZW4odGhpcy5jb250YWN0LmlkKS5zdWJzY3JpYmUoZSA9PiB7XHJcbiAgICAgIHRoaXMud2F0ZXJtYXJrID0gZS50aW1lO1xyXG4gICAgICB0aGlzLl9zY3JvbGxUb0JvdHRvbSgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBmb2N1cygpIHtcclxuICAgIHRoaXMuX2lucHV0LmZvY3VzKCk7XHJcbiAgfVxyXG4gIHByZXZpZXcoaXRlbTogQ2hhdCkge1xyXG4gICAgY29uc3Qgb1JlZiA9IHRoaXMuX292ZXJsYXkuY3JlYXRlKHtcclxuICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXHJcbiAgICAgIGRpc3Bvc2VPbk5hdmlnYXRpb246IHRydWUsXHJcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMuX292ZXJsYXkucG9zaXRpb24oKS5nbG9iYWwoKS5jZW50ZXJIb3Jpem9udGFsbHkoKS5jZW50ZXJWZXJ0aWNhbGx5KCksXHJcbiAgICB9KTtcclxuICAgIG9SZWYuYXR0YWNoKG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLnByZXZpZXdUZW1wbGF0ZSwgdGhpcy5fdmMsIHsgaXRlbSB9KSk7XHJcbiAgICBtZXJnZShvUmVmLmtleWRvd25FdmVudHMoKS5waXBlKGZpbHRlcihrID0+IGsua2V5ID09PSAnRXNjYXBlJykpLCBvUmVmLmJhY2tkcm9wQ2xpY2soKSkuc3Vic2NyaWJlKCgpID0+IG9SZWYuZGV0YWNoKCkpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5fdHlwaW5nVGFzaykgY2xlYXJUaW1lb3V0KHRoaXMuX3R5cGluZ1Rhc2spO1xyXG4gICAgdGhpcy5fZGVzdHJveS5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95LmNvbXBsZXRlKCk7XHJcblxyXG4gICAgdGhpcy5fcHJlc2VydmVEcmFmdCAmJiB0aGlzLl9wZXJzaXN0KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9wZXJzaXN0KCkge1xyXG4gICAgdGhpcy5faW5wdXQudGV4dCAmJiB0aGlzLl9pbnB1dC50ZXh0Lmxlbmd0aCAmJlxyXG4gICAgICB3aW5kb3cubG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5jb250YWN0LmlkLCB0aGlzLl9pbnB1dC50ZXh0KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiAod2hlZWwpPVwib25TY3JvbGwoJGV2ZW50KVwiIGNsYXNzPVwiY2hhdC1jb252ZXJzYXRpb25cIiAjY29udmVyc2F0aW9uPlxuICBAZm9yIChpdGVtIG9mIGl0ZW1zOyB0cmFjayBpdGVtLnRpbWU7IGxldCBpID0gJGluZGV4KSB7XG4gICAgPGRpdiBjbGFzcz1cImNoYXQtaXRlbVwiIFtjbGFzcy55b3VdPVwiaXRlbS51c2VySWQgIT09IGNvbnRhY3QuaWRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjaGF0LXRleHRcIiBbaW5uZXJIVE1MXT1cIml0ZW0udGV4dCB8IHRhZ2dpbmdIdG1sOml0ZW0ucmVzb3VyY2VcIj48L2Rpdj5cbiAgICAgIEBpZiAoaXRlbS5pbWFnZSkge1xuICAgICAgICA8aW1nIFtzcmNdPVwiJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCwnK2l0ZW0uaW1hZ2VcIiBhbHQ9XCJcIiAoY2xpY2spPVwicHJldmlldyhpdGVtKVwiIC8+XG4gICAgICB9XG4gICAgICBAaWYgKChpID09PSBpdGVtcy5sZW5ndGggLSAxKSB8fCBpdGVtLnVzZXJJZCAhPT0gaXRlbXNbaSsxXS51c2VySWQpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImNoYXQtaW5mb1wiPlxuICAgICAgICAgIDxzbWFsbD5cbiAgICAgICAgICAgIDxiaXpkb2MtaWRlbnRpdHktbmFtZSBbaWRlbnRpdHldPVwiaXRlbS51c2VySWRcIiBjaGF0aW5nPVwibm9uZVwiPlxuICAgICAgICAgICAgPC9iaXpkb2MtaWRlbnRpdHktbmFtZT5cbiAgICAgICAgICA8L3NtYWxsPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cbiAgICAgICAgICA8c21hbGwgY2xhc3M9XCJjaGF0LXRpbWVcIiBbYml6ZG9jVG9vbHRpcF09XCJpdGVtLnRpbWUgfCBhbURhdGVGb3JtYXQ6ICdsbGwnXCI+e3tpdGVtLnRpbWUgfCBhbUNhbGVuZGFyIDogbnVsbCA6IENBTEVOREFSX1NQRUMgfX08L3NtYWxsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgICBAaWYgKHdhdGVybWFyayAmJiAoKGkgPCBpdGVtcy5sZW5ndGggLSAxICYmIGl0ZW1zW2krMV0udGltZSA+XG4gIHdhdGVybWFyayAmJiBpdGVtLnRpbWUgPD0gd2F0ZXJtYXJrKSB8fCAoaSA9PT0gaXRlbXMubGVuZ3RoIC0gMSAmJml0ZW0udGltZSA8PSB3YXRlcm1hcmspKSkge1xuICA8ZGl2IGNsYXNzPVwiY2hhdC13YXRlcm1hcmtcIj5cbiAgICA8bWF0LWljb24gW2JpemRvY1Rvb2x0aXBdPVwiJ1dhdGNoZWQnIHwgdHJhbnNsYXRlIDogKHdhdGVybWFyayB8IGFtVGltZUFnbylcIj5kb25lX2FsbDwvbWF0LWljb24+XG4gIDwvZGl2PlxuICB9XG4gIH1cbiAgQGVtcHR5IHtcbiAgPGJpemRvYy1ub25lIHRpdGxlPVwiQ2hhdFwiIGljb249XCJjaGF0XCI+PC9iaXpkb2Mtbm9uZT5cbiAgfVxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiY2hhdC10eXBpbmdcIiBbc3R5bGUudmlzaWJpbGl0eV09XCJ0eXBpbmcgPyAndmlzaWJsZSc6J2hpZGRlbidcIiBbaW5uZXJIVE1MXT1cIihwcm9maWxlPy5nZW5kZXIgPT09ICdNYWxlJyA/ICdUeXBpbmdNYWxlJyA6IHByb2ZpbGU/LmdlbmRlciA9PT0gJ0ZlbWFsZScgPyAnVHlwaW5nRmVtYWxlJyA6ICdUeXBpbmcnKSB8IHRyYW5zbGF0ZSA6IChwcm9maWxlPy5uaWNrIHx8IHByb2ZpbGU/Lm5hbWUpXCI+PC9kaXY+XG5cbjxiaXpkb2MtZWRpdC10ZXh0IChvayk9XCJzZW5kKCRldmVudClcIiAoZm9jdXMpPVwib25Gb2N1cygpXCJcbihmb2N1c291dCk9XCJvbkJsdXIoKVwiIFtkaXNhYmxlZF09XCJzZW5kaW5nXCIgKGNoYW5nZSk9XCJfdGV4dENoYW5nZS5uZXh0KClcIj48L2JpemRvYy1lZGl0LXRleHQ+XG48bmctdGVtcGxhdGUgI3ByZXZpZXdUZW1wbGF0ZSBsZXQtaXRlbT1cIml0ZW1cIj5cbiAgPGltZyBbc3JjXT1cIidkYXRhOmltYWdlL3BuZztiYXNlNjQsJytpdGVtLmltYWdlXCIgYWx0PVwiXCIgLz5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -37,12 +37,10 @@ export class ConversationPaneComponent {
37
37
  this._destroy.complete();
38
38
  }
39
39
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ConversationPaneComponent, deps: [{ token: i1.PaneRef }, { token: i2.TranslateService }, { token: i3.AccountService }, { token: i4.ChatService }, { token: i5.SessionService }], target: i0.ɵɵFactoryTarget.Component }); }
40
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: ConversationPaneComponent, selector: "ng-component", host: { classAttribute: "pane" }, ngImport: i0, template: '<bizdoc-chat-conversation [contact]=contact></bizdoc-chat-conversation>', isInline: true, styles: [":host{min-width:320px}\n"], dependencies: [{ kind: "component", type: i6.ConversationComponent, selector: "bizdoc-chat-conversation", inputs: ["contact"] }] }); }
40
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: ConversationPaneComponent, selector: "ng-component", ngImport: i0, template: '<bizdoc-chat-conversation [contact]=contact></bizdoc-chat-conversation>', isInline: true, styles: [":host{display:flex;min-width:320px}\n"], dependencies: [{ kind: "component", type: i6.ConversationComponent, selector: "bizdoc-chat-conversation", inputs: ["contact"] }] }); }
41
41
  }
42
42
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ConversationPaneComponent, decorators: [{
43
43
  type: Component,
44
- args: [{ template: '<bizdoc-chat-conversation [contact]=contact></bizdoc-chat-conversation>', host: {
45
- class: 'pane'
46
- }, styles: [":host{min-width:320px}\n"] }]
44
+ args: [{ template: '<bizdoc-chat-conversation [contact]=contact></bizdoc-chat-conversation>', styles: [":host{display:flex;min-width:320px}\n"] }]
47
45
  }], ctorParameters: () => [{ type: i1.PaneRef }, { type: i2.TranslateService }, { type: i3.AccountService }, { type: i4.ChatService }, { type: i5.SessionService }] });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2F0aW9uLnBhbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jaGF0L2NvbnZlcnNhdGlvbi5wYW5lLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7OztBQWlCM0MsTUFBTSxPQUNFLHlCQUF5QjtJQUcvQixZQUNFLElBQWEsRUFDYixTQUEyQixFQUMzQixRQUF3QixFQUN4QixJQUFpQixFQUNqQixPQUF1QjtRQU5SLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBTzlDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDaEMsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ25DLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNuQixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7WUFDL0QsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDbEIsSUFBSSxDQUFDLE9BQU8sR0FBRztvQkFDYixFQUFFO29CQUNGLFFBQVEsRUFBRSxLQUFLO29CQUNmLElBQUksRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBUztvQkFDaEMsS0FBSyxFQUFFLENBQUM7aUJBQ0UsQ0FBQztnQkFDYixPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzlDLENBQUM7WUFDRCxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUM3QixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDeEMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ1osSUFBSSxDQUFDLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDMUIsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQzs4R0FsQ0sseUJBQXlCO2tHQUF6Qix5QkFBeUIsc0ZBVHJCLHlFQUF5RTs7MkZBUzdFLHlCQUF5QjtrQkFWaEMsU0FBUzsrQkFDRSx5RUFBeUUsUUFJN0U7d0JBQ0osS0FBSyxFQUFFLE1BQU07cUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQ29udGFjdCB9IGZyb20gJy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgUGFuZVJlZiB9IGZyb20gJy4uL2NvcmUvc2xvdHMvcGFuZS1yZWYnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQWNjb3VudFNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL2FjY291bnQuc2VydmljZSc7XHJcbmltcG9ydCB7IENoYXRTZXJ2aWNlIH0gZnJvbSAnLi9jaGF0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS90cmFuc2xhdGUuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogJzxiaXpkb2MtY2hhdC1jb252ZXJzYXRpb24gW2NvbnRhY3RdPWNvbnRhY3Q+PC9iaXpkb2MtY2hhdC1jb252ZXJzYXRpb24+JyxcclxuICBzdHlsZXM6IFtgOmhvc3R7XHJcbiAgbWluLXdpZHRoOiAzMjBweDtcclxufWBdLFxyXG4gIGhvc3Q6IHtcclxuICAgIGNsYXNzOiAncGFuZSdcclxuICB9XHJcbn0pXHJcbmV4cG9ydFxyXG4gIGNsYXNzIENvbnZlcnNhdGlvblBhbmVDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIGNvbnRhY3Q6IENvbnRhY3Q7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwYW5lOiBQYW5lUmVmLFxyXG4gICAgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgYWNjb3VudHM6IEFjY291bnRTZXJ2aWNlLFxyXG4gICAgY2hhdDogQ2hhdFNlcnZpY2UsXHJcbiAgICBzZXNzaW9uOiBTZXNzaW9uU2VydmljZSkge1xyXG4gICAgcGFuZS5wYXJhbXNDaGFuZ2UoKS5zdWJzY3JpYmUocCA9PiB7XHJcbiAgICAgIHBhbmUuZ3JvdXAgPSB0cmFuc2xhdGUuZ2V0KCdDaGF0Jyk7XHJcbiAgICAgIGNvbnN0IGlkID0gcFsnaWQnXTtcclxuICAgICAgdGhpcy5jb250YWN0ID0gc2Vzc2lvbi5wcm9maWxlLmNvbnRhY3RzLmZpbmQoYyA9PiBjLmlkID09PSBpZCk7XHJcbiAgICAgIGlmICghdGhpcy5jb250YWN0KSB7XHJcbiAgICAgICAgdGhpcy5jb250YWN0ID0ge1xyXG4gICAgICAgICAgaWQsXHJcbiAgICAgICAgICBhY2NlcHRlZDogZmFsc2UsXHJcbiAgICAgICAgICB0aW1lOiBuZXcgRGF0ZSgpLnRvSlNPTigpIGFzIGFueSxcclxuICAgICAgICAgIGNvdW50OiAwXHJcbiAgICAgICAgfSBhcyBDb250YWN0O1xyXG4gICAgICAgIHNlc3Npb24ucHJvZmlsZS5jb250YWN0cy5wdXNoKHRoaXMuY29udGFjdCk7XHJcbiAgICAgIH1cclxuICAgICAgYWNjb3VudHMuZ2V0KGlkKS5zdWJzY3JpYmUodSA9PlxyXG4gICAgICAgIHBhbmUudGl0bGUgPSB1Lm5hbWUpO1xyXG4gICAgfSk7XHJcbiAgICBjaGF0LmNoYW5nZS5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuXHJcbiAgICAgIHN1YnNjcmliZShjID0+IHtcclxuICAgICAgICBpZiAoYy5pZCA9PT0gdGhpcy5jb250YWN0LmlkKVxyXG4gICAgICAgICAgcGFuZS5iYWRnZSA9IGMuY291bnQ7XHJcbiAgICAgIH0pXHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveS5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95LmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2F0aW9uLnBhbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jaGF0L2NvbnZlcnNhdGlvbi5wYW5lLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7OztBQWUzQyxNQUFNLE9BQ0UseUJBQXlCO0lBRy9CLFlBQ0UsSUFBYSxFQUNiLFNBQTJCLEVBQzNCLFFBQXdCLEVBQ3hCLElBQWlCLEVBQ2pCLE9BQXVCO1FBTlIsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFPOUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNoQyxJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDbkMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ25CLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUMvRCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNsQixJQUFJLENBQUMsT0FBTyxHQUFHO29CQUNiLEVBQUU7b0JBQ0YsUUFBUSxFQUFFLEtBQUs7b0JBQ2YsSUFBSSxFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsTUFBTSxFQUFTO29CQUNoQyxLQUFLLEVBQUUsQ0FBQztpQkFDRSxDQUFDO2dCQUNiLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDOUMsQ0FBQztZQUNELFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQzdCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN4QyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDWixJQUFJLENBQUMsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUMxQixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDO0lBQ0QsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDOzhHQWxDSyx5QkFBeUI7a0dBQXpCLHlCQUF5QixvREFQckIseUVBQXlFOzsyRkFPN0UseUJBQXlCO2tCQVJoQyxTQUFTOytCQUNFLHlFQUF5RSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBDb250YWN0IH0gZnJvbSAnLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBQYW5lUmVmIH0gZnJvbSAnLi4vY29yZS9zbG90cy9wYW5lLXJlZic7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBY2NvdW50U2VydmljZSB9IGZyb20gJy4uL2NvcmUvYWNjb3VudC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ2hhdFNlcnZpY2UgfSBmcm9tICcuL2NoYXQuc2VydmljZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3RyYW5zbGF0ZS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHRlbXBsYXRlOiAnPGJpemRvYy1jaGF0LWNvbnZlcnNhdGlvbiBbY29udGFjdF09Y29udGFjdD48L2JpemRvYy1jaGF0LWNvbnZlcnNhdGlvbj4nLFxyXG4gIHN0eWxlczogW2A6aG9zdCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgbWluLXdpZHRoOiAzMjBweDtcclxufWBdXHJcbn0pXHJcbmV4cG9ydFxyXG4gIGNsYXNzIENvbnZlcnNhdGlvblBhbmVDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIGNvbnRhY3Q6IENvbnRhY3Q7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwYW5lOiBQYW5lUmVmLFxyXG4gICAgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgYWNjb3VudHM6IEFjY291bnRTZXJ2aWNlLFxyXG4gICAgY2hhdDogQ2hhdFNlcnZpY2UsXHJcbiAgICBzZXNzaW9uOiBTZXNzaW9uU2VydmljZSkge1xyXG4gICAgcGFuZS5wYXJhbXNDaGFuZ2UoKS5zdWJzY3JpYmUocCA9PiB7XHJcbiAgICAgIHBhbmUuZ3JvdXAgPSB0cmFuc2xhdGUuZ2V0KCdDaGF0Jyk7XHJcbiAgICAgIGNvbnN0IGlkID0gcFsnaWQnXTtcclxuICAgICAgdGhpcy5jb250YWN0ID0gc2Vzc2lvbi5wcm9maWxlLmNvbnRhY3RzLmZpbmQoYyA9PiBjLmlkID09PSBpZCk7XHJcbiAgICAgIGlmICghdGhpcy5jb250YWN0KSB7XHJcbiAgICAgICAgdGhpcy5jb250YWN0ID0ge1xyXG4gICAgICAgICAgaWQsXHJcbiAgICAgICAgICBhY2NlcHRlZDogZmFsc2UsXHJcbiAgICAgICAgICB0aW1lOiBuZXcgRGF0ZSgpLnRvSlNPTigpIGFzIGFueSxcclxuICAgICAgICAgIGNvdW50OiAwXHJcbiAgICAgICAgfSBhcyBDb250YWN0O1xyXG4gICAgICAgIHNlc3Npb24ucHJvZmlsZS5jb250YWN0cy5wdXNoKHRoaXMuY29udGFjdCk7XHJcbiAgICAgIH1cclxuICAgICAgYWNjb3VudHMuZ2V0KGlkKS5zdWJzY3JpYmUodSA9PlxyXG4gICAgICAgIHBhbmUudGl0bGUgPSB1Lm5hbWUpO1xyXG4gICAgfSk7XHJcbiAgICBjaGF0LmNoYW5nZS5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuXHJcbiAgICAgIHN1YnNjcmliZShjID0+IHtcclxuICAgICAgICBpZiAoYy5pZCA9PT0gdGhpcy5jb250YWN0LmlkKVxyXG4gICAgICAgICAgcGFuZS5iYWRnZSA9IGMuY291bnQ7XHJcbiAgICAgIH0pXHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveS5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95LmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==