@firestitch/app-message 13.0.6 → 13.0.8

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 (105) hide show
  1. package/app/helpers/index-name-value.d.ts +1 -1
  2. package/app/helpers/index.d.ts +1 -1
  3. package/app/modules/app-message/app-message.module.d.ts +8 -8
  4. package/app/modules/app-message/injectors/app-message-config.injector.d.ts +3 -3
  5. package/app/modules/app-message/injectors/index.d.ts +1 -1
  6. package/app/modules/app-message/interfaces/app-message-config.d.ts +30 -30
  7. package/app/modules/app-message/interfaces/index.d.ts +1 -1
  8. package/app/modules/app-message/types/index.d.ts +1 -1
  9. package/app/modules/app-message/types/types.type.d.ts +49 -49
  10. package/app/modules/message-preview/components/index.d.ts +1 -1
  11. package/app/modules/message-preview/components/preview/index.d.ts +1 -1
  12. package/app/modules/message-preview/components/preview/preview.component.d.ts +11 -11
  13. package/app/modules/message-preview/message-preview.module.d.ts +11 -11
  14. package/app/modules/message-queues/components/queue/queue.component.d.ts +44 -44
  15. package/app/modules/message-queues/components/queues/queues.component.d.ts +24 -24
  16. package/app/modules/message-queues/components/recipient/recipient.component.d.ts +10 -10
  17. package/app/modules/message-queues/consts/index.d.ts +1 -1
  18. package/app/modules/message-queues/consts/message-queue-event-type.const.d.ts +5 -5
  19. package/app/modules/message-queues/consts/message-queue-states.const.d.ts +5 -5
  20. package/app/modules/message-queues/enums/email-message-queue-format.enum.d.ts +5 -5
  21. package/app/modules/message-queues/enums/index.d.ts +3 -3
  22. package/app/modules/message-queues/enums/message-queue-event-type.enum.d.ts +4 -4
  23. package/app/modules/message-queues/enums/message-queue-state.enum.d.ts +9 -9
  24. package/app/modules/message-queues/enums/message-queue-type.enum.d.ts +4 -4
  25. package/app/modules/message-queues/message-queues.module.d.ts +28 -28
  26. package/app/modules/message-queues/pipes/linkify.pipe.d.ts +7 -7
  27. package/app/modules/message-queues/pipes/truncate.pipe.d.ts +7 -7
  28. package/app/modules/message-queues/services/message-queue.service.d.ts +10 -10
  29. package/app/modules/message-templates/components/index.d.ts +2 -2
  30. package/app/modules/message-templates/components/template/index.d.ts +1 -1
  31. package/app/modules/message-templates/components/template/template.component.d.ts +23 -23
  32. package/app/modules/message-templates/components/templates/index.d.ts +1 -1
  33. package/app/modules/message-templates/components/templates/templates.component.d.ts +19 -19
  34. package/app/modules/message-templates/message-templates.module.d.ts +24 -24
  35. package/app/modules/messages/components/attachments/attachments.component.d.ts +18 -18
  36. package/app/modules/messages/components/attachments/index.d.ts +1 -1
  37. package/app/modules/messages/components/index.d.ts +3 -3
  38. package/app/modules/messages/components/message/index.d.ts +1 -1
  39. package/app/modules/messages/components/message/message.component.d.ts +30 -30
  40. package/app/modules/messages/components/messages/index.d.ts +1 -1
  41. package/app/modules/messages/components/messages/messages.component.d.ts +19 -19
  42. package/app/modules/messages/consts/email-message-formats.const.d.ts +5 -5
  43. package/app/modules/messages/consts/index.d.ts +1 -1
  44. package/app/modules/messages/enums/email-message-format.enum.d.ts +5 -5
  45. package/app/modules/messages/enums/index.d.ts +1 -1
  46. package/app/modules/messages/messages.module.d.ts +31 -31
  47. package/app/modules/webhooks/components/webhooks/webhooks.component.d.ts +15 -15
  48. package/app/modules/webhooks/webhooks.module.d.ts +9 -9
  49. package/esm2020/app/helpers/index-name-value.mjs +7 -7
  50. package/esm2020/app/helpers/index.mjs +1 -1
  51. package/esm2020/app/modules/app-message/app-message.module.mjs +16 -16
  52. package/esm2020/app/modules/app-message/injectors/app-message-config.injector.mjs +3 -3
  53. package/esm2020/app/modules/app-message/injectors/index.mjs +1 -1
  54. package/esm2020/app/modules/app-message/interfaces/app-message-config.mjs +1 -1
  55. package/esm2020/app/modules/app-message/interfaces/index.mjs +1 -1
  56. package/esm2020/app/modules/app-message/types/index.mjs +1 -1
  57. package/esm2020/app/modules/app-message/types/types.type.mjs +1 -1
  58. package/esm2020/app/modules/message-preview/components/index.mjs +1 -1
  59. package/esm2020/app/modules/message-preview/components/preview/index.mjs +1 -1
  60. package/esm2020/app/modules/message-preview/components/preview/preview.component.mjs +25 -25
  61. package/esm2020/app/modules/message-preview/message-preview.module.mjs +37 -37
  62. package/esm2020/app/modules/message-queues/components/queue/queue.component.mjs +209 -209
  63. package/esm2020/app/modules/message-queues/components/queues/queues.component.mjs +162 -162
  64. package/esm2020/app/modules/message-queues/components/recipient/recipient.component.mjs +25 -25
  65. package/esm2020/app/modules/message-queues/consts/index.mjs +1 -1
  66. package/esm2020/app/modules/message-queues/consts/message-queue-event-type.const.mjs +5 -5
  67. package/esm2020/app/modules/message-queues/consts/message-queue-states.const.mjs +10 -10
  68. package/esm2020/app/modules/message-queues/enums/email-message-queue-format.enum.mjs +6 -6
  69. package/esm2020/app/modules/message-queues/enums/index.mjs +3 -3
  70. package/esm2020/app/modules/message-queues/enums/message-queue-event-type.enum.mjs +5 -5
  71. package/esm2020/app/modules/message-queues/enums/message-queue-state.enum.mjs +10 -10
  72. package/esm2020/app/modules/message-queues/enums/message-queue-type.enum.mjs +5 -5
  73. package/esm2020/app/modules/message-queues/message-queues.module.mjs +109 -109
  74. package/esm2020/app/modules/message-queues/pipes/linkify.pipe.mjs +21 -21
  75. package/esm2020/app/modules/message-queues/pipes/truncate.pipe.mjs +21 -21
  76. package/esm2020/app/modules/message-queues/services/message-queue.service.mjs +28 -28
  77. package/esm2020/app/modules/message-templates/components/index.mjs +2 -2
  78. package/esm2020/app/modules/message-templates/components/template/index.mjs +1 -1
  79. package/esm2020/app/modules/message-templates/components/template/template.component.mjs +80 -80
  80. package/esm2020/app/modules/message-templates/components/templates/index.mjs +1 -1
  81. package/esm2020/app/modules/message-templates/components/templates/templates.component.mjs +80 -80
  82. package/esm2020/app/modules/message-templates/message-templates.module.mjs +93 -93
  83. package/esm2020/app/modules/messages/components/attachments/attachments.component.mjs +80 -80
  84. package/esm2020/app/modules/messages/components/attachments/index.mjs +1 -1
  85. package/esm2020/app/modules/messages/components/index.mjs +3 -3
  86. package/esm2020/app/modules/messages/components/message/index.mjs +1 -1
  87. package/esm2020/app/modules/messages/components/message/message.component.mjs +129 -129
  88. package/esm2020/app/modules/messages/components/messages/index.mjs +1 -1
  89. package/esm2020/app/modules/messages/components/messages/messages.component.mjs +71 -71
  90. package/esm2020/app/modules/messages/consts/email-message-formats.const.mjs +6 -6
  91. package/esm2020/app/modules/messages/consts/index.mjs +1 -1
  92. package/esm2020/app/modules/messages/enums/email-message-format.enum.mjs +6 -6
  93. package/esm2020/app/modules/messages/enums/index.mjs +1 -1
  94. package/esm2020/app/modules/messages/messages.module.mjs +120 -120
  95. package/esm2020/app/modules/webhooks/components/webhooks/webhooks.component.mjs +60 -60
  96. package/esm2020/app/modules/webhooks/webhooks.module.mjs +29 -29
  97. package/esm2020/firestitch-app-message.mjs +4 -4
  98. package/esm2020/public_api.mjs +15 -15
  99. package/fesm2015/firestitch-app-message.mjs +1169 -1169
  100. package/fesm2015/firestitch-app-message.mjs.map +1 -1
  101. package/fesm2020/firestitch-app-message.mjs +1173 -1173
  102. package/fesm2020/firestitch-app-message.mjs.map +1 -1
  103. package/firestitch-app-message.d.ts +5 -5
  104. package/package.json +1 -1
  105. package/public_api.d.ts +16 -16
@@ -1,162 +1,162 @@
1
- import { ChangeDetectionStrategy, Component, Inject, Input, ViewChild } from '@angular/core';
2
- import { ItemType } from '@firestitch/filter';
3
- import { FsListComponent } from '@firestitch/list';
4
- import { SelectionActionType } from '@firestitch/selection';
5
- import { Subject } from 'rxjs';
6
- import { map, takeUntil, tap } from 'rxjs/operators';
7
- import { isAfter } from 'date-fns';
8
- import { indexNameValue } from '../../../../helpers';
9
- import { FS_APP_MESSAGE_CONFIG } from '../../../app-message/injectors';
10
- import { MessageQueueStates } from '../../consts';
11
- import { MessageQueueType } from '../../enums';
12
- import { MessageQueueState } from '../../enums/message-queue-state.enum';
13
- import { FsMessageQueueService } from '../../services/message-queue.service';
14
- import * as i0 from "@angular/core";
15
- import * as i1 from "../../services/message-queue.service";
16
- import * as i2 from "@firestitch/list";
17
- import * as i3 from "@angular/material/icon";
18
- import * as i4 from "../recipient/recipient.component";
19
- import * as i5 from "@angular/common";
20
- import * as i6 from "@angular/material/tooltip";
21
- import * as i7 from "../../pipes/truncate.pipe";
22
- import * as i8 from "@firestitch/date";
23
- export class QueuesComponent {
24
- constructor(_config, _messageQueueService) {
25
- this._config = _config;
26
- this._messageQueueService = _messageQueueService;
27
- this.list = null;
28
- this.query = {};
29
- this.type = null;
30
- this.config = null;
31
- this.messageQueueStates = {};
32
- this.MessageQueueState = MessageQueueState;
33
- this._destroy$ = new Subject();
34
- }
35
- ngOnInit() {
36
- this.messageQueueStates = indexNameValue(MessageQueueStates);
37
- this.config = {
38
- filters: [
39
- {
40
- name: 'keyword',
41
- type: ItemType.Keyword,
42
- label: 'Search',
43
- },
44
- {
45
- name: 'state',
46
- type: ItemType.Select,
47
- label: 'Status',
48
- values: () => {
49
- return MessageQueueStates;
50
- },
51
- },
52
- {
53
- name: 'date',
54
- type: ItemType.DateRange,
55
- label: ['From Date', 'To Date'],
56
- },
57
- ],
58
- sort: { value: 'created_date', direction: 'desc' },
59
- fetch: (query) => {
60
- query = {
61
- ...query,
62
- ...this.query,
63
- type: this.type,
64
- messageQueueAttachmentCounts: true,
65
- emailMessageQueues: true,
66
- emailMessageQueueBodies: false,
67
- smsMessageQueues: true,
68
- };
69
- return this._config.loadMessageQueues(query)
70
- .pipe(map((response) => ({
71
- data: response.data
72
- .map((messageQueue) => {
73
- return {
74
- ...messageQueue,
75
- scheduled: messageQueue.state === MessageQueueState.Queued && isAfter(messageQueue.scheduledDate, new Date()),
76
- messageQueueRecipients: messageQueue.messageQueueRecipients
77
- .reduce((accum, messageQueueRecipient) => {
78
- accum[messageQueueRecipient.recipient] = messageQueueRecipient.state;
79
- return accum;
80
- }, {}),
81
- };
82
- }), paging: response.paging,
83
- })));
84
- },
85
- };
86
- if (this._config.bulkMessageQueues) {
87
- this.config.selection = {
88
- selectAll: false,
89
- actions: [
90
- {
91
- type: SelectionActionType.Action,
92
- name: 'queue',
93
- label: 'Queue',
94
- },
95
- {
96
- type: SelectionActionType.Action,
97
- name: 'resend',
98
- label: 'Resend',
99
- },
100
- {
101
- type: SelectionActionType.Action,
102
- name: 'cancel',
103
- label: 'Cancel',
104
- },
105
- ],
106
- actionSelected: (actionSelected) => {
107
- return this._config.bulkMessageQueues(actionSelected.action.name, actionSelected.selected)
108
- .pipe(tap(() => {
109
- this.list.reload();
110
- }));
111
- },
112
- };
113
- }
114
- this.config.filters.push({
115
- name: 'messageId',
116
- type: ItemType.Select,
117
- label: 'Message Type',
118
- values: (query) => {
119
- query = {
120
- ...query,
121
- limit: 50,
122
- };
123
- return this._config.loadMessages(query)
124
- .pipe(map((response) => {
125
- return [
126
- { value: null, name: 'All' },
127
- ...response.data
128
- .map((item) => ({ name: item.name, value: item.id })),
129
- ];
130
- }));
131
- },
132
- });
133
- }
134
- open(messageQueue) {
135
- this._messageQueueService.openMessageQueue(messageQueue.id)
136
- .pipe(takeUntil(this._destroy$))
137
- .subscribe(() => {
138
- this.list.reload();
139
- });
140
- }
141
- ngOnDestroy() {
142
- this._destroy$.next();
143
- this._destroy$.complete();
144
- }
145
- }
146
- QueuesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: QueuesComponent, deps: [{ token: FS_APP_MESSAGE_CONFIG }, { token: i1.FsMessageQueueService }], target: i0.ɵɵFactoryTarget.Component });
147
- QueuesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: QueuesComponent, selector: "fs-app-message-queues", inputs: { query: "query", type: "type" }, viewQueries: [{ propertyName: "list", first: true, predicate: FsListComponent, descendants: true, static: true }], ngImport: i0, template: "<fs-list [config]=\"config\" #list>\n <fs-list-column title=\"Message\" name=\"subject\" [sortable]=\"true\">\n <ng-template fs-list-cell let-row=\"row\">\n <ng-container *ngIf=\"row.emailMessageQueue\">\n <div class=\"fs-row.gap-tiny\">\n <a (click)=\"open(row)\">{{row.emailMessageQueue.subject|truncate:100}}</a>\n <mat-icon *ngIf=\"row.messageQueueAttachmentCount\" [matTooltip]=\"row.messageQueueAttachmentCount + ' Attachment(s)'\">attach_file</mat-icon>\n </div>\n </ng-container>\n <ng-container *ngIf=\"row.smsMessageQueue\">\n <a (click)=\"open(row)\">{{row.smsMessageQueue.body|truncate:100}}</a>\n </ng-container>\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Recipients\" class=\"col-recipients\">\n <ng-template fs-list-cell let-row=\"row\">\n <ng-container *ngIf=\"row.emailMessageQueue\">\n <ng-container *ngIf=\"row.emailMessageQueue.toRecipients.length; else unspecified\">\n <div class=\"small\" *ngFor=\"let recipient of row.emailMessageQueue.toRecipients\">\n <app-recipient \n [state]=\"row.messageQueueRecipients[recipient] || row.state\"\n [name]=\"recipient\">\n </app-recipient>\n </div>\n </ng-container>\n <div class=\"small\" *ngFor=\"let recipient of row.emailMessageQueue.ccRecipients\">\n <app-recipient \n [state]=\"row.messageQueueRecipients[recipient] || row.state\"\n [name]=\"recipient\">\n </app-recipient>\n </div>\n <div class=\"small\" *ngFor=\"let recipient of row.emailMessageQueue.bccRecipients\">\n <app-recipient \n [state]=\"row.messageQueueRecipients[recipient] || row.state\"\n [name]=\"recipient\">\n </app-recipient>\n </div>\n </ng-container>\n <ng-container *ngIf=\"row.smsMessageQueue\">\n <ng-container *ngIf=\"row.smsMessageQueue.toNumber; else unspecified\">\n <app-recipient \n class=\"small\"\n [state]=\"row.state\"\n [name]=\"row.smsMessageQueue.toNumber\">\n </app-recipient>\n </ng-container>\n </ng-container>\n </ng-template>\n </fs-list-column> \n <fs-list-column title=\"Status\" class=\"col-state\">\n <ng-template fs-list-cell let-row=\"row\"> \n <ng-container *ngIf=\"row.scheduled; else state\">\n Scheduled\n <div class=\"small\">\n {{row.scheduledDate | fsDateFormat: 'date-time' }}\n </div>\n </ng-container>\n <ng-template #state>\n <span [class]=\"'state-' + row.state\">{{messageQueueStates[row.state]}}</span>\n </ng-template>\n </ng-template>\n </fs-list-column> \n <fs-list-column title=\"Date\" name=\"created_date\" [sortable]=\"true\">\n <ng-template fs-list-cell let-row=\"row\">\n {{ row.createdDate | fsDateFormat: 'date-time-yeardiff' }}\n </ng-template>\n </fs-list-column>\n</fs-list>\n\n<ng-template #unspecified>\n <app-recipient \n class=\"small\"\n [state]=\"MessageQueueState.Failed\"\n name=\"Unspecified\">\n </app-recipient>\n</ng-template>", styles: [":host ::ng-deep .col-recipients small+small:before{content:\", \"}:host ::ng-deep .col-state .state-F,:host ::ng-deep .col-state .state-P{color:#d8524e}\n"], components: [{ type: i2.FsListComponent, selector: "fs-list", inputs: ["config", "loaderLines"], outputs: ["filtersReady"] }, { type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i4.RecipientComponent, selector: "app-recipient", inputs: ["name", "state"] }], directives: [{ type: i2.FsListColumnDirective, selector: "fs-list-column", inputs: ["show", "title", "name", "customize", "sortable", "sortableDefault", "direction", "align", "width", "class"] }, { type: i2.FsListCellDirective, selector: "[fs-list-cell]", inputs: ["colspan", "align", "class"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "truncate": i7.TruncatePipe, "fsDateFormat": i8.FsDateFormatPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
148
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: QueuesComponent, decorators: [{
149
- type: Component,
150
- args: [{ selector: 'fs-app-message-queues', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fs-list [config]=\"config\" #list>\n <fs-list-column title=\"Message\" name=\"subject\" [sortable]=\"true\">\n <ng-template fs-list-cell let-row=\"row\">\n <ng-container *ngIf=\"row.emailMessageQueue\">\n <div class=\"fs-row.gap-tiny\">\n <a (click)=\"open(row)\">{{row.emailMessageQueue.subject|truncate:100}}</a>\n <mat-icon *ngIf=\"row.messageQueueAttachmentCount\" [matTooltip]=\"row.messageQueueAttachmentCount + ' Attachment(s)'\">attach_file</mat-icon>\n </div>\n </ng-container>\n <ng-container *ngIf=\"row.smsMessageQueue\">\n <a (click)=\"open(row)\">{{row.smsMessageQueue.body|truncate:100}}</a>\n </ng-container>\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Recipients\" class=\"col-recipients\">\n <ng-template fs-list-cell let-row=\"row\">\n <ng-container *ngIf=\"row.emailMessageQueue\">\n <ng-container *ngIf=\"row.emailMessageQueue.toRecipients.length; else unspecified\">\n <div class=\"small\" *ngFor=\"let recipient of row.emailMessageQueue.toRecipients\">\n <app-recipient \n [state]=\"row.messageQueueRecipients[recipient] || row.state\"\n [name]=\"recipient\">\n </app-recipient>\n </div>\n </ng-container>\n <div class=\"small\" *ngFor=\"let recipient of row.emailMessageQueue.ccRecipients\">\n <app-recipient \n [state]=\"row.messageQueueRecipients[recipient] || row.state\"\n [name]=\"recipient\">\n </app-recipient>\n </div>\n <div class=\"small\" *ngFor=\"let recipient of row.emailMessageQueue.bccRecipients\">\n <app-recipient \n [state]=\"row.messageQueueRecipients[recipient] || row.state\"\n [name]=\"recipient\">\n </app-recipient>\n </div>\n </ng-container>\n <ng-container *ngIf=\"row.smsMessageQueue\">\n <ng-container *ngIf=\"row.smsMessageQueue.toNumber; else unspecified\">\n <app-recipient \n class=\"small\"\n [state]=\"row.state\"\n [name]=\"row.smsMessageQueue.toNumber\">\n </app-recipient>\n </ng-container>\n </ng-container>\n </ng-template>\n </fs-list-column> \n <fs-list-column title=\"Status\" class=\"col-state\">\n <ng-template fs-list-cell let-row=\"row\"> \n <ng-container *ngIf=\"row.scheduled; else state\">\n Scheduled\n <div class=\"small\">\n {{row.scheduledDate | fsDateFormat: 'date-time' }}\n </div>\n </ng-container>\n <ng-template #state>\n <span [class]=\"'state-' + row.state\">{{messageQueueStates[row.state]}}</span>\n </ng-template>\n </ng-template>\n </fs-list-column> \n <fs-list-column title=\"Date\" name=\"created_date\" [sortable]=\"true\">\n <ng-template fs-list-cell let-row=\"row\">\n {{ row.createdDate | fsDateFormat: 'date-time-yeardiff' }}\n </ng-template>\n </fs-list-column>\n</fs-list>\n\n<ng-template #unspecified>\n <app-recipient \n class=\"small\"\n [state]=\"MessageQueueState.Failed\"\n name=\"Unspecified\">\n </app-recipient>\n</ng-template>", styles: [":host ::ng-deep .col-recipients small+small:before{content:\", \"}:host ::ng-deep .col-state .state-F,:host ::ng-deep .col-state .state-P{color:#d8524e}\n"] }]
151
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
152
- type: Inject,
153
- args: [FS_APP_MESSAGE_CONFIG]
154
- }] }, { type: i1.FsMessageQueueService }]; }, propDecorators: { list: [{
155
- type: ViewChild,
156
- args: [FsListComponent, { static: true }]
157
- }], query: [{
158
- type: Input
159
- }], type: [{
160
- type: Input
161
- }] } });
162
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVldWVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9tZXNzYWdlLXF1ZXVlcy9jb21wb25lbnRzL3F1ZXVlcy9xdWV1ZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL21lc3NhZ2UtcXVldWVzL2NvbXBvbmVudHMvcXVldWVzL3F1ZXVlcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdoSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDOUMsT0FBTyxFQUF3QixlQUFlLEVBQWdCLE1BQU0sa0JBQWtCLENBQUM7QUFDdkYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFNUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRW5DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV2RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNDQUFzQyxD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bXBvbmVudCwgSW5qZWN0LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5cbmltcG9ydCB7IEl0ZW1UeXBlIH0gZnJvbSAnQGZpcmVzdGl0Y2gvZmlsdGVyJztcbmltcG9ydCB7IEZzTGlzdEFjdGlvblNlbGVjdGVkLCBGc0xpc3RDb21wb25lbnQsIEZzTGlzdENvbmZpZyB9IGZyb20gJ0BmaXJlc3RpdGNoL2xpc3QnO1xuaW1wb3J0IHsgU2VsZWN0aW9uQWN0aW9uVHlwZSB9IGZyb20gJ0BmaXJlc3RpdGNoL3NlbGVjdGlvbic7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IGlzQWZ0ZXIgfSBmcm9tICdkYXRlLWZucyc7XG5cbmltcG9ydCB7IGluZGV4TmFtZVZhbHVlIH0gZnJvbSAnLi4vLi4vLi4vLi4vaGVscGVycyc7XG5pbXBvcnQgeyBGU19BUFBfTUVTU0FHRV9DT05GSUcgfSBmcm9tICcuLi8uLi8uLi9hcHAtbWVzc2FnZS9pbmplY3RvcnMnO1xuaW1wb3J0IHsgRnNBcHBNZXNzYWdlQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vYXBwLW1lc3NhZ2UvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBNZXNzYWdlUXVldWVTdGF0ZXMgfSBmcm9tICcuLi8uLi9jb25zdHMnO1xuaW1wb3J0IHsgTWVzc2FnZVF1ZXVlVHlwZSB9IGZyb20gJy4uLy4uL2VudW1zJztcbmltcG9ydCB7IE1lc3NhZ2VRdWV1ZVN0YXRlIH0gZnJvbSAnLi4vLi4vZW51bXMvbWVzc2FnZS1xdWV1ZS1zdGF0ZS5lbnVtJztcbmltcG9ydCB7IEZzTWVzc2FnZVF1ZXVlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21lc3NhZ2UtcXVldWUuc2VydmljZSc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnMtYXBwLW1lc3NhZ2UtcXVldWVzJyxcbiAgc3R5bGVVcmxzOiBbJy4vcXVldWVzLmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi9xdWV1ZXMuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUXVldWVzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBWaWV3Q2hpbGQoRnNMaXN0Q29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgbGlzdDogRnNMaXN0Q29tcG9uZW50ID0gbnVsbDtcblxuICBASW5wdXQoKSBwdWJsaWMgcXVlcnkgPSB7fTtcblxuICBASW5wdXQoKSBwdWJsaWMgdHlwZTogTWVzc2FnZVF1ZXVlVHlwZSA9IG51bGw7XG5cbiAgcHVibGljIGNvbmZpZzogRnNMaXN0Q29uZmlnID0gbnVsbDtcbiAgcHVibGljIG1lc3NhZ2VRdWV1ZVN0YXRlcyA9IHt9O1xuICBwdWJsaWMgTWVzc2FnZVF1ZXVlU3RhdGUgPSBNZXNzYWdlUXVldWVTdGF0ZTtcblxuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChGU19BUFBfTUVTU0FHRV9DT05GSUcpIHByaXZhdGUgX2NvbmZpZzogRnNBcHBNZXNzYWdlQ29uZmlnLFxuICAgIHByaXZhdGUgX21lc3NhZ2VRdWV1ZVNlcnZpY2U6IEZzTWVzc2FnZVF1ZXVlU2VydmljZSxcbiAgKSB7IH1cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5tZXNzYWdlUXVldWVTdGF0ZXMgPSBpbmRleE5hbWVWYWx1ZShNZXNzYWdlUXVldWVTdGF0ZXMpO1xuXG4gICAgdGhpcy5jb25maWcgPSB7XG4gICAgICBmaWx0ZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAna2V5d29yZCcsXG4gICAgICAgICAgdHlwZTogSXRlbVR5cGUuS2V5d29yZCxcbiAgICAgICAgICBsYWJlbDogJ1NlYXJjaCcsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnc3RhdGUnLFxuICAgICAgICAgIHR5cGU6IEl0ZW1UeXBlLlNlbGVjdCxcbiAgICAgICAgICBsYWJlbDogJ1N0YXR1cycsXG4gICAgICAgICAgdmFsdWVzOiAoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gTWVzc2FnZVF1ZXVlU3RhdGVzO1xuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnZGF0ZScsXG4gICAgICAgICAgdHlwZTogSXRlbVR5cGUuRGF0ZVJhbmdlLFxuICAgICAgICAgIGxhYmVsOiBbJ0Zyb20gRGF0ZScsICdUbyBEYXRlJ10sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgc29ydDogeyB2YWx1ZTogJ2NyZWF0ZWRfZGF0ZScsIGRpcmVjdGlvbjogJ2Rlc2MnIH0sXG4gICAgICBmZXRjaDogKHF1ZXJ5KSA9PiB7XG4gICAgICAgIHF1ZXJ5ID0ge1xuICAgICAgICAgIC4uLnF1ZXJ5LFxuICAgICAgICAgIC4uLnRoaXMucXVlcnksXG4gICAgICAgICAgdHlwZTogdGhpcy50eXBlLFxuICAgICAgICAgIG1lc3NhZ2VRdWV1ZUF0dGFjaG1lbnRDb3VudHM6IHRydWUsXG4gICAgICAgICAgZW1haWxNZXNzYWdlUXVldWVzOiB0cnVlLFxuICAgICAgICAgIGVtYWlsTWVzc2FnZVF1ZXVlQm9kaWVzOiBmYWxzZSxcbiAgICAgICAgICBzbXNNZXNzYWdlUXVldWVzOiB0cnVlLFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiB0aGlzLl9jb25maWcubG9hZE1lc3NhZ2VRdWV1ZXMocXVlcnkpXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiAoe1xuICAgICAgICAgICAgICBkYXRhOiByZXNwb25zZS5kYXRhXG4gICAgICAgICAgICAgICAgLm1hcCgobWVzc2FnZVF1ZXVlKSA9PiB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi5tZXNzYWdlUXVldWUsXG4gICAgICAgICAgICAgICAgICAgIHNjaGVkdWxlZDogbWVzc2FnZVF1ZXVlLnN0YXRlID09PSBNZXNzYWdlUXVldWVTdGF0ZS5RdWV1ZWQgJiYgaXNBZnRlcihtZXNzYWdlUXVldWUuc2NoZWR1bGVkRGF0ZSwgbmV3IERhdGUoKSksXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VRdWV1ZVJlY2lwaWVudHM6IG1lc3NhZ2VRdWV1ZS5tZXNzYWdlUXVldWVSZWNpcGllbnRzXG4gICAgICAgICAgICAgICAgICAgICAgLnJlZHVjZSgoYWNjdW0sIG1lc3NhZ2VRdWV1ZVJlY2lwaWVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgYWNjdW1bbWVzc2FnZVF1ZXVlUmVjaXBpZW50LnJlY2lwaWVudF0gPSBtZXNzYWdlUXVldWVSZWNpcGllbnQuc3RhdGU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBhY2N1bTtcbiAgICAgICAgICAgICAgICAgICAgICB9LCB7fSksXG4gICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0pLCBwYWdpbmc6IHJlc3BvbnNlLnBhZ2luZyxcbiAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICApO1xuICAgICAgfSxcbiAgICB9O1xuXG4gICAgaWYgKHRoaXMuX2NvbmZpZy5idWxrTWVzc2FnZVF1ZXVlcykge1xuICAgICAgdGhpcy5jb25maWcuc2VsZWN0aW9uID0ge1xuICAgICAgICBzZWxlY3RBbGw6IGZhbHNlLFxuICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgdHlwZTogU2VsZWN0aW9uQWN0aW9uVHlwZS5BY3Rpb24sXG4gICAgICAgICAgICBuYW1lOiAncXVldWUnLFxuICAgICAgICAgICAgbGFiZWw6ICdRdWV1ZScsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0eXBlOiBTZWxlY3Rpb25BY3Rpb25UeXBlLkFjdGlvbixcbiAgICAgICAgICAgIG5hbWU6ICdyZXNlbmQnLFxuICAgICAgICAgICAgbGFiZWw6ICdSZXNlbmQnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgdHlwZTogU2VsZWN0aW9uQWN0aW9uVHlwZS5BY3Rpb24sXG4gICAgICAgICAgICBuYW1lOiAnY2FuY2VsJyxcbiAgICAgICAgICAgIGxhYmVsOiAnQ2FuY2VsJyxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICBhY3Rpb25TZWxlY3RlZDogKGFjdGlvblNlbGVjdGVkOiBGc0xpc3RBY3Rpb25TZWxlY3RlZCkgPT4ge1xuICAgICAgICAgIHJldHVybiB0aGlzLl9jb25maWcuYnVsa01lc3NhZ2VRdWV1ZXMoYWN0aW9uU2VsZWN0ZWQuYWN0aW9uLm5hbWUsIGFjdGlvblNlbGVjdGVkLnNlbGVjdGVkKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5saXN0LnJlbG9hZCgpO1xuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIH1cblxuICAgIHRoaXMuY29uZmlnLmZpbHRlcnMucHVzaCh7XG4gICAgICBuYW1lOiAnbWVzc2FnZUlkJyxcbiAgICAgIHR5cGU6IEl0ZW1UeXBlLlNlbGVjdCxcbiAgICAgIGxhYmVsOiAnTWVzc2FnZSBUeXBlJyxcbiAgICAgIHZhbHVlczogKHF1ZXJ5KSA9PiB7XG4gICAgICAgIHF1ZXJ5ID0ge1xuICAgICAgICAgIC4uLnF1ZXJ5LFxuICAgICAgICAgIGxpbWl0OiA1MCxcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gdGhpcy5fY29uZmlnLmxvYWRNZXNzYWdlcyhxdWVyeSlcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICB7IHZhbHVlOiBudWxsLCBuYW1lOiAnQWxsJyB9LFxuICAgICAgICAgICAgICAgIC4uLnJlc3BvbnNlLmRhdGFcbiAgICAgICAgICAgICAgICAgIC5tYXAoKGl0ZW0pID0+ICh7IG5hbWU6IGl0ZW0ubmFtZSwgdmFsdWU6IGl0ZW0uaWQgfSkpLFxuICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKTtcbiAgICAgIH0sXG4gICAgfSBhcyBhbnkpO1xuICB9XG5cbiAgcHVibGljIG9wZW4obWVzc2FnZVF1ZXVlKSB7XG4gICAgdGhpcy5fbWVzc2FnZVF1ZXVlU2VydmljZS5vcGVuTWVzc2FnZVF1ZXVlKG1lc3NhZ2VRdWV1ZS5pZClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMubGlzdC5yZWxvYWQoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG59XG4iLCI8ZnMtbGlzdCBbY29uZmlnXT1cImNvbmZpZ1wiICNsaXN0PlxuICA8ZnMtbGlzdC1jb2x1bW4gdGl0bGU9XCJNZXNzYWdlXCIgbmFtZT1cInN1YmplY3RcIiBbc29ydGFibGVdPVwidHJ1ZVwiPlxuICAgIDxuZy10ZW1wbGF0ZSBmcy1saXN0LWNlbGwgbGV0LXJvdz1cInJvd1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJvdy5lbWFpbE1lc3NhZ2VRdWV1ZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZnMtcm93LmdhcC10aW55XCI+XG4gICAgICAgICAgPGEgKGNsaWNrKT1cIm9wZW4ocm93KVwiPnt7cm93LmVtYWlsTWVzc2FnZVF1ZXVlLnN1YmplY3R8dHJ1bmNhdGU6MTAwfX08L2E+XG4gICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwicm93Lm1lc3NhZ2VRdWV1ZUF0dGFjaG1lbnRDb3VudFwiIFttYXRUb29sdGlwXT1cInJvdy5tZXNzYWdlUXVldWVBdHRhY2htZW50Q291bnQgKyAnIEF0dGFjaG1lbnQocyknXCI+YXR0YWNoX2ZpbGU8L21hdC1pY29uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJvdy5zbXNNZXNzYWdlUXVldWVcIj5cbiAgICAgICAgPGEgKGNsaWNrKT1cIm9wZW4ocm93KVwiPnt7cm93LnNtc01lc3NhZ2VRdWV1ZS5ib2R5fHRydW5jYXRlOjEwMH19PC9hPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9mcy1saXN0LWNvbHVtbj5cbiAgPGZzLWxpc3QtY29sdW1uIHRpdGxlPVwiUmVjaXBpZW50c1wiIGNsYXNzPVwiY29sLXJlY2lwaWVudHNcIj5cbiAgICA8bmctdGVtcGxhdGUgZnMtbGlzdC1jZWxsIGxldC1yb3c9XCJyb3dcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJyb3cuZW1haWxNZXNzYWdlUXVldWVcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJvdy5lbWFpbE1lc3NhZ2VRdWV1ZS50b1JlY2lwaWVudHMubGVuZ3RoOyBlbHNlIHVuc3BlY2lmaWVkXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNtYWxsXCIgKm5nRm9yPVwibGV0IHJlY2lwaWVudCBvZiByb3cuZW1haWxNZXNzYWdlUXVldWUudG9SZWNpcGllbnRzXCI+XG4gICAgICAgICAgICA8YXBwLXJlY2lwaWVudCBcbiAgICAgICAgICAgICAgW3N0YXRlXT1cInJvdy5tZXNzYWdlUXVldWVSZWNpcGllbnRzW3JlY2lwaWVudF0gfHwgcm93LnN0YXRlXCJcbiAgICAgICAgICAgICAgW25hbWVdPVwicmVjaXBpZW50XCI+XG4gICAgICAgICAgICA8L2FwcC1yZWNpcGllbnQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic21hbGxcIiAqbmdGb3I9XCJsZXQgcmVjaXBpZW50IG9mIHJvdy5lbWFpbE1lc3NhZ2VRdWV1ZS5jY1JlY2lwaWVudHNcIj5cbiAgICAgICAgICA8YXBwLXJlY2lwaWVudCBcbiAgICAgICAgICAgIFtzdGF0ZV09XCJyb3cubWVzc2FnZVF1ZXVlUmVjaXBpZW50c1tyZWNpcGllbnRdIHx8IHJvdy5zdGF0ZVwiXG4gICAgICAgICAgICBbbmFtZV09XCJyZWNpcGllbnRcIj5cbiAgICAgICAgICA8L2FwcC1yZWNpcGllbnQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwic21hbGxcIiAqbmdGb3I9XCJsZXQgcmVjaXBpZW50IG9mIHJvdy5lbWFpbE1lc3NhZ2VRdWV1ZS5iY2NSZWNpcGllbnRzXCI+XG4gICAgICAgICAgPGFwcC1yZWNpcGllbnQgICAgICAgICAgICAgXG4gICAgICAgICAgICBbc3RhdGVdPVwicm93Lm1lc3NhZ2VRdWV1ZVJlY2lwaWVudHNbcmVjaXBpZW50XSB8fCByb3cuc3RhdGVcIlxuICAgICAgICAgICAgW25hbWVdPVwicmVjaXBpZW50XCI+XG4gICAgICAgICAgPC9hcHAtcmVjaXBpZW50PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJvdy5zbXNNZXNzYWdlUXVldWVcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJvdy5zbXNNZXNzYWdlUXVldWUudG9OdW1iZXI7IGVsc2UgdW5zcGVjaWZpZWRcIj5cbiAgICAgICAgICA8YXBwLXJlY2lwaWVudCBcbiAgICAgICAgICAgIGNsYXNzPVwic21hbGxcIlxuICAgICAgICAgICAgW3N0YXRlXT1cInJvdy5zdGF0ZVwiXG4gICAgICAgICAgICBbbmFtZV09XCJyb3cuc21zTWVzc2FnZVF1ZXVlLnRvTnVtYmVyXCI+XG4gICAgICAgICAgPC9hcHAtcmVjaXBpZW50PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZnMtbGlzdC1jb2x1bW4+IFxuICA8ZnMtbGlzdC1jb2x1bW4gdGl0bGU9XCJTdGF0dXNcIiBjbGFzcz1cImNvbC1zdGF0ZVwiPlxuICAgIDxuZy10ZW1wbGF0ZSBmcy1saXN0LWNlbGwgbGV0LXJvdz1cInJvd1wiPiAgICBcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJyb3cuc2NoZWR1bGVkOyBlbHNlIHN0YXRlXCI+XG4gICAgICAgIFNjaGVkdWxlZFxuICAgICAgICA8ZGl2IGNsYXNzPVwic21hbGxcIj5cbiAgICAgICAgICAge3tyb3cuc2NoZWR1bGVkRGF0ZSB8IGZzRGF0ZUZvcm1hdDogJ2RhdGUtdGltZScgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjc3RhdGU+XG4gICAgICAgIDxzcGFuIFtjbGFzc109XCInc3RhdGUtJyArIHJvdy5zdGF0ZVwiPnt7bWVzc2FnZVF1ZXVlU3RhdGVzW3Jvdy5zdGF0ZV19fTwvc3Bhbj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9mcy1saXN0LWNvbHVtbj4gXG4gIDxmcy1saXN0LWNvbHVtbiB0aXRsZT1cIkRhdGVcIiBuYW1lPVwiY3JlYXRlZF9kYXRlXCIgW3NvcnRhYmxlXT1cInRydWVcIj5cbiAgICA8bmctdGVtcGxhdGUgZnMtbGlzdC1jZWxsIGxldC1yb3c9XCJyb3dcIj5cbiAgICAgIHt7IHJvdy5jcmVhdGVkRGF0ZSB8IGZzRGF0ZUZvcm1hdDogJ2RhdGUtdGltZS15ZWFyZGlmZicgfX1cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2ZzLWxpc3QtY29sdW1uPlxuPC9mcy1saXN0PlxuXG48bmctdGVtcGxhdGUgI3Vuc3BlY2lmaWVkPlxuICA8YXBwLXJlY2lwaWVudCBcbiAgICBjbGFzcz1cInNtYWxsXCJcbiAgICBbc3RhdGVdPVwiTWVzc2FnZVF1ZXVlU3RhdGUuRmFpbGVkXCJcbiAgICBuYW1lPVwiVW5zcGVjaWZpZWRcIj5cbiAgPC9hcHAtcmVjaXBpZW50PlxuPC9uZy10ZW1wbGF0ZT4iXX0=
1
+ import { ChangeDetectionStrategy, Component, Inject, Input, ViewChild } from '@angular/core';
2
+ import { ItemType } from '@firestitch/filter';
3
+ import { FsListComponent } from '@firestitch/list';
4
+ import { SelectionActionType } from '@firestitch/selection';
5
+ import { Subject } from 'rxjs';
6
+ import { map, takeUntil, tap } from 'rxjs/operators';
7
+ import { isAfter } from 'date-fns';
8
+ import { indexNameValue } from '../../../../helpers';
9
+ import { FS_APP_MESSAGE_CONFIG } from '../../../app-message/injectors';
10
+ import { MessageQueueStates } from '../../consts';
11
+ import { MessageQueueType } from '../../enums';
12
+ import { MessageQueueState } from '../../enums/message-queue-state.enum';
13
+ import { FsMessageQueueService } from '../../services/message-queue.service';
14
+ import * as i0 from "@angular/core";
15
+ import * as i1 from "../../services/message-queue.service";
16
+ import * as i2 from "@firestitch/list";
17
+ import * as i3 from "@angular/material/icon";
18
+ import * as i4 from "../recipient/recipient.component";
19
+ import * as i5 from "@angular/common";
20
+ import * as i6 from "@angular/material/tooltip";
21
+ import * as i7 from "../../pipes/truncate.pipe";
22
+ import * as i8 from "@firestitch/date";
23
+ export class QueuesComponent {
24
+ constructor(_config, _messageQueueService) {
25
+ this._config = _config;
26
+ this._messageQueueService = _messageQueueService;
27
+ this.list = null;
28
+ this.query = {};
29
+ this.type = null;
30
+ this.config = null;
31
+ this.messageQueueStates = {};
32
+ this.MessageQueueState = MessageQueueState;
33
+ this._destroy$ = new Subject();
34
+ }
35
+ ngOnInit() {
36
+ this.messageQueueStates = indexNameValue(MessageQueueStates);
37
+ this.config = {
38
+ filters: [
39
+ {
40
+ name: 'keyword',
41
+ type: ItemType.Keyword,
42
+ label: 'Search',
43
+ },
44
+ {
45
+ name: 'state',
46
+ type: ItemType.Select,
47
+ label: 'Status',
48
+ values: () => {
49
+ return MessageQueueStates;
50
+ },
51
+ },
52
+ {
53
+ name: 'date',
54
+ type: ItemType.DateRange,
55
+ label: ['From Date', 'To Date'],
56
+ },
57
+ ],
58
+ sort: { value: 'created_date', direction: 'desc' },
59
+ fetch: (query) => {
60
+ query = {
61
+ ...query,
62
+ ...this.query,
63
+ type: this.type,
64
+ messageQueueAttachmentCounts: true,
65
+ emailMessageQueues: true,
66
+ emailMessageQueueBodies: false,
67
+ smsMessageQueues: true,
68
+ };
69
+ return this._config.loadMessageQueues(query)
70
+ .pipe(map((response) => ({
71
+ data: response.data
72
+ .map((messageQueue) => {
73
+ return {
74
+ ...messageQueue,
75
+ scheduled: messageQueue.state === MessageQueueState.Queued && isAfter(messageQueue.scheduledDate, new Date()),
76
+ messageQueueRecipients: messageQueue.messageQueueRecipients
77
+ .reduce((accum, messageQueueRecipient) => {
78
+ accum[messageQueueRecipient.recipient] = messageQueueRecipient.state;
79
+ return accum;
80
+ }, {}),
81
+ };
82
+ }), paging: response.paging,
83
+ })));
84
+ },
85
+ };
86
+ if (this._config.bulkMessageQueues) {
87
+ this.config.selection = {
88
+ selectAll: false,
89
+ actions: [
90
+ {
91
+ type: SelectionActionType.Action,
92
+ name: 'queue',
93
+ label: 'Queue',
94
+ },
95
+ {
96
+ type: SelectionActionType.Action,
97
+ name: 'resend',
98
+ label: 'Resend',
99
+ },
100
+ {
101
+ type: SelectionActionType.Action,
102
+ name: 'cancel',
103
+ label: 'Cancel',
104
+ },
105
+ ],
106
+ actionSelected: (actionSelected) => {
107
+ return this._config.bulkMessageQueues(actionSelected.action.name, actionSelected.selected)
108
+ .pipe(tap(() => {
109
+ this.list.reload();
110
+ }));
111
+ },
112
+ };
113
+ }
114
+ this.config.filters.push({
115
+ name: 'messageId',
116
+ type: ItemType.Select,
117
+ label: 'Message Type',
118
+ values: (query) => {
119
+ query = {
120
+ ...query,
121
+ limit: 50,
122
+ };
123
+ return this._config.loadMessages(query)
124
+ .pipe(map((response) => {
125
+ return [
126
+ { value: null, name: 'All' },
127
+ ...response.data
128
+ .map((item) => ({ name: item.name, value: item.id })),
129
+ ];
130
+ }));
131
+ },
132
+ });
133
+ }
134
+ open(messageQueue) {
135
+ this._messageQueueService.openMessageQueue(messageQueue.id)
136
+ .pipe(takeUntil(this._destroy$))
137
+ .subscribe(() => {
138
+ this.list.reload();
139
+ });
140
+ }
141
+ ngOnDestroy() {
142
+ this._destroy$.next();
143
+ this._destroy$.complete();
144
+ }
145
+ }
146
+ QueuesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: QueuesComponent, deps: [{ token: FS_APP_MESSAGE_CONFIG }, { token: i1.FsMessageQueueService }], target: i0.ɵɵFactoryTarget.Component });
147
+ QueuesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: QueuesComponent, selector: "fs-app-message-queues", inputs: { query: "query", type: "type" }, viewQueries: [{ propertyName: "list", first: true, predicate: FsListComponent, descendants: true, static: true }], ngImport: i0, template: "<fs-list [config]=\"config\" #list>\n <fs-list-column title=\"Message\" name=\"subject\" [sortable]=\"true\">\n <ng-template fs-list-cell let-row=\"row\">\n <ng-container *ngIf=\"row.emailMessageQueue\">\n <a (click)=\"open(row)\">{{row.emailMessageQueue.subject|truncate:100}}</a>\n <ng-container *ngIf=\"row.messageQueueAttachmentCount\">\n <mat-icon \n class=\"attachment-icon\"\n [matTooltip]=\"row.messageQueueAttachmentCount + ' Attachment(s)'\">\n attach_file\n </mat-icon>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"row.smsMessageQueue\">\n <a (click)=\"open(row)\">{{row.smsMessageQueue.body|truncate:100}}</a>\n </ng-container>\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Recipients\" class=\"col-recipients\">\n <ng-template fs-list-cell let-row=\"row\">\n <ng-container *ngIf=\"row.emailMessageQueue\">\n <ng-container *ngIf=\"row.emailMessageQueue.toRecipients.length; else unspecified\">\n <div class=\"small\" *ngFor=\"let recipient of row.emailMessageQueue.toRecipients\">\n <app-recipient \n [state]=\"row.messageQueueRecipients[recipient] || row.state\"\n [name]=\"recipient\">\n </app-recipient>\n </div>\n </ng-container>\n <div class=\"small\" *ngFor=\"let recipient of row.emailMessageQueue.ccRecipients\">\n <app-recipient \n [state]=\"row.messageQueueRecipients[recipient] || row.state\"\n [name]=\"recipient\">\n </app-recipient>\n </div>\n <div class=\"small\" *ngFor=\"let recipient of row.emailMessageQueue.bccRecipients\">\n <app-recipient \n [state]=\"row.messageQueueRecipients[recipient] || row.state\"\n [name]=\"recipient\">\n </app-recipient>\n </div>\n </ng-container>\n <ng-container *ngIf=\"row.smsMessageQueue\">\n <ng-container *ngIf=\"row.smsMessageQueue.toNumber; else unspecified\">\n <app-recipient \n class=\"small\"\n [state]=\"row.state\"\n [name]=\"row.smsMessageQueue.toNumber\">\n </app-recipient>\n </ng-container>\n </ng-container>\n </ng-template>\n </fs-list-column> \n <fs-list-column title=\"Status\" class=\"col-state\">\n <ng-template fs-list-cell let-row=\"row\"> \n <ng-container *ngIf=\"row.scheduled; else state\">\n Scheduled\n <div class=\"small\">\n {{row.scheduledDate | fsDateFormat: 'date-time' }}\n </div>\n </ng-container>\n <ng-template #state>\n <span [class]=\"'state-' + row.state\">{{messageQueueStates[row.state]}}</span>\n </ng-template>\n </ng-template>\n </fs-list-column> \n <fs-list-column title=\"Date\" name=\"created_date\" [sortable]=\"true\">\n <ng-template fs-list-cell let-row=\"row\">\n {{ row.createdDate | fsDateFormat: 'date-time-yeardiff' }}\n </ng-template>\n </fs-list-column>\n</fs-list>\n\n<ng-template #unspecified>\n <app-recipient \n class=\"small\"\n [state]=\"MessageQueueState.Failed\"\n name=\"Unspecified\">\n </app-recipient>\n</ng-template>", styles: [":host ::ng-deep .col-recipients small+small:before{content:\", \"}:host ::ng-deep .col-state .state-F,:host ::ng-deep .col-state .state-P{color:#d8524e}.attachment-icon{vertical-align:bottom}\n"], components: [{ type: i2.FsListComponent, selector: "fs-list", inputs: ["config", "loaderLines"], outputs: ["filtersReady"] }, { type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i4.RecipientComponent, selector: "app-recipient", inputs: ["name", "state"] }], directives: [{ type: i2.FsListColumnDirective, selector: "fs-list-column", inputs: ["show", "title", "name", "customize", "sortable", "sortableDefault", "direction", "align", "width", "class"] }, { type: i2.FsListCellDirective, selector: "[fs-list-cell]", inputs: ["colspan", "align", "class"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "truncate": i7.TruncatePipe, "fsDateFormat": i8.FsDateFormatPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
148
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: QueuesComponent, decorators: [{
149
+ type: Component,
150
+ args: [{ selector: 'fs-app-message-queues', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fs-list [config]=\"config\" #list>\n <fs-list-column title=\"Message\" name=\"subject\" [sortable]=\"true\">\n <ng-template fs-list-cell let-row=\"row\">\n <ng-container *ngIf=\"row.emailMessageQueue\">\n <a (click)=\"open(row)\">{{row.emailMessageQueue.subject|truncate:100}}</a>\n <ng-container *ngIf=\"row.messageQueueAttachmentCount\">\n <mat-icon \n class=\"attachment-icon\"\n [matTooltip]=\"row.messageQueueAttachmentCount + ' Attachment(s)'\">\n attach_file\n </mat-icon>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"row.smsMessageQueue\">\n <a (click)=\"open(row)\">{{row.smsMessageQueue.body|truncate:100}}</a>\n </ng-container>\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Recipients\" class=\"col-recipients\">\n <ng-template fs-list-cell let-row=\"row\">\n <ng-container *ngIf=\"row.emailMessageQueue\">\n <ng-container *ngIf=\"row.emailMessageQueue.toRecipients.length; else unspecified\">\n <div class=\"small\" *ngFor=\"let recipient of row.emailMessageQueue.toRecipients\">\n <app-recipient \n [state]=\"row.messageQueueRecipients[recipient] || row.state\"\n [name]=\"recipient\">\n </app-recipient>\n </div>\n </ng-container>\n <div class=\"small\" *ngFor=\"let recipient of row.emailMessageQueue.ccRecipients\">\n <app-recipient \n [state]=\"row.messageQueueRecipients[recipient] || row.state\"\n [name]=\"recipient\">\n </app-recipient>\n </div>\n <div class=\"small\" *ngFor=\"let recipient of row.emailMessageQueue.bccRecipients\">\n <app-recipient \n [state]=\"row.messageQueueRecipients[recipient] || row.state\"\n [name]=\"recipient\">\n </app-recipient>\n </div>\n </ng-container>\n <ng-container *ngIf=\"row.smsMessageQueue\">\n <ng-container *ngIf=\"row.smsMessageQueue.toNumber; else unspecified\">\n <app-recipient \n class=\"small\"\n [state]=\"row.state\"\n [name]=\"row.smsMessageQueue.toNumber\">\n </app-recipient>\n </ng-container>\n </ng-container>\n </ng-template>\n </fs-list-column> \n <fs-list-column title=\"Status\" class=\"col-state\">\n <ng-template fs-list-cell let-row=\"row\"> \n <ng-container *ngIf=\"row.scheduled; else state\">\n Scheduled\n <div class=\"small\">\n {{row.scheduledDate | fsDateFormat: 'date-time' }}\n </div>\n </ng-container>\n <ng-template #state>\n <span [class]=\"'state-' + row.state\">{{messageQueueStates[row.state]}}</span>\n </ng-template>\n </ng-template>\n </fs-list-column> \n <fs-list-column title=\"Date\" name=\"created_date\" [sortable]=\"true\">\n <ng-template fs-list-cell let-row=\"row\">\n {{ row.createdDate | fsDateFormat: 'date-time-yeardiff' }}\n </ng-template>\n </fs-list-column>\n</fs-list>\n\n<ng-template #unspecified>\n <app-recipient \n class=\"small\"\n [state]=\"MessageQueueState.Failed\"\n name=\"Unspecified\">\n </app-recipient>\n</ng-template>", styles: [":host ::ng-deep .col-recipients small+small:before{content:\", \"}:host ::ng-deep .col-state .state-F,:host ::ng-deep .col-state .state-P{color:#d8524e}.attachment-icon{vertical-align:bottom}\n"] }]
151
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
152
+ type: Inject,
153
+ args: [FS_APP_MESSAGE_CONFIG]
154
+ }] }, { type: i1.FsMessageQueueService }]; }, propDecorators: { list: [{
155
+ type: ViewChild,
156
+ args: [FsListComponent, { static: true }]
157
+ }], query: [{
158
+ type: Input
159
+ }], type: [{
160
+ type: Input
161
+ }] } });
162
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVldWVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9tZXNzYWdlLXF1ZXVlcy9jb21wb25lbnRzL3F1ZXVlcy9xdWV1ZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL21lc3NhZ2UtcXVldWVzL2NvbXBvbmVudHMvcXVldWVzL3F1ZXVlcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdoSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDOUMsT0FBTyxFQUF3QixlQUFlLEVBQWdCLE1BQU0sa0JBQWtCLENBQUM7QUFDdkYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFNUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRW5DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV2RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNDQUFzQyxD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bXBvbmVudCwgSW5qZWN0LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5cbmltcG9ydCB7IEl0ZW1UeXBlIH0gZnJvbSAnQGZpcmVzdGl0Y2gvZmlsdGVyJztcbmltcG9ydCB7IEZzTGlzdEFjdGlvblNlbGVjdGVkLCBGc0xpc3RDb21wb25lbnQsIEZzTGlzdENvbmZpZyB9IGZyb20gJ0BmaXJlc3RpdGNoL2xpc3QnO1xuaW1wb3J0IHsgU2VsZWN0aW9uQWN0aW9uVHlwZSB9IGZyb20gJ0BmaXJlc3RpdGNoL3NlbGVjdGlvbic7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IGlzQWZ0ZXIgfSBmcm9tICdkYXRlLWZucyc7XG5cbmltcG9ydCB7IGluZGV4TmFtZVZhbHVlIH0gZnJvbSAnLi4vLi4vLi4vLi4vaGVscGVycyc7XG5pbXBvcnQgeyBGU19BUFBfTUVTU0FHRV9DT05GSUcgfSBmcm9tICcuLi8uLi8uLi9hcHAtbWVzc2FnZS9pbmplY3RvcnMnO1xuaW1wb3J0IHsgRnNBcHBNZXNzYWdlQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vYXBwLW1lc3NhZ2UvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBNZXNzYWdlUXVldWVTdGF0ZXMgfSBmcm9tICcuLi8uLi9jb25zdHMnO1xuaW1wb3J0IHsgTWVzc2FnZVF1ZXVlVHlwZSB9IGZyb20gJy4uLy4uL2VudW1zJztcbmltcG9ydCB7IE1lc3NhZ2VRdWV1ZVN0YXRlIH0gZnJvbSAnLi4vLi4vZW51bXMvbWVzc2FnZS1xdWV1ZS1zdGF0ZS5lbnVtJztcbmltcG9ydCB7IEZzTWVzc2FnZVF1ZXVlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21lc3NhZ2UtcXVldWUuc2VydmljZSc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnMtYXBwLW1lc3NhZ2UtcXVldWVzJyxcbiAgc3R5bGVVcmxzOiBbJy4vcXVldWVzLmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi9xdWV1ZXMuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUXVldWVzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBWaWV3Q2hpbGQoRnNMaXN0Q29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgbGlzdDogRnNMaXN0Q29tcG9uZW50ID0gbnVsbDtcblxuICBASW5wdXQoKSBwdWJsaWMgcXVlcnkgPSB7fTtcblxuICBASW5wdXQoKSBwdWJsaWMgdHlwZTogTWVzc2FnZVF1ZXVlVHlwZSA9IG51bGw7XG5cbiAgcHVibGljIGNvbmZpZzogRnNMaXN0Q29uZmlnID0gbnVsbDtcbiAgcHVibGljIG1lc3NhZ2VRdWV1ZVN0YXRlcyA9IHt9O1xuICBwdWJsaWMgTWVzc2FnZVF1ZXVlU3RhdGUgPSBNZXNzYWdlUXVldWVTdGF0ZTtcblxuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChGU19BUFBfTUVTU0FHRV9DT05GSUcpIHByaXZhdGUgX2NvbmZpZzogRnNBcHBNZXNzYWdlQ29uZmlnLFxuICAgIHByaXZhdGUgX21lc3NhZ2VRdWV1ZVNlcnZpY2U6IEZzTWVzc2FnZVF1ZXVlU2VydmljZSxcbiAgKSB7IH1cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5tZXNzYWdlUXVldWVTdGF0ZXMgPSBpbmRleE5hbWVWYWx1ZShNZXNzYWdlUXVldWVTdGF0ZXMpO1xuXG4gICAgdGhpcy5jb25maWcgPSB7XG4gICAgICBmaWx0ZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAna2V5d29yZCcsXG4gICAgICAgICAgdHlwZTogSXRlbVR5cGUuS2V5d29yZCxcbiAgICAgICAgICBsYWJlbDogJ1NlYXJjaCcsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnc3RhdGUnLFxuICAgICAgICAgIHR5cGU6IEl0ZW1UeXBlLlNlbGVjdCxcbiAgICAgICAgICBsYWJlbDogJ1N0YXR1cycsXG4gICAgICAgICAgdmFsdWVzOiAoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gTWVzc2FnZVF1ZXVlU3RhdGVzO1xuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnZGF0ZScsXG4gICAgICAgICAgdHlwZTogSXRlbVR5cGUuRGF0ZVJhbmdlLFxuICAgICAgICAgIGxhYmVsOiBbJ0Zyb20gRGF0ZScsICdUbyBEYXRlJ10sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgc29ydDogeyB2YWx1ZTogJ2NyZWF0ZWRfZGF0ZScsIGRpcmVjdGlvbjogJ2Rlc2MnIH0sXG4gICAgICBmZXRjaDogKHF1ZXJ5KSA9PiB7XG4gICAgICAgIHF1ZXJ5ID0ge1xuICAgICAgICAgIC4uLnF1ZXJ5LFxuICAgICAgICAgIC4uLnRoaXMucXVlcnksXG4gICAgICAgICAgdHlwZTogdGhpcy50eXBlLFxuICAgICAgICAgIG1lc3NhZ2VRdWV1ZUF0dGFjaG1lbnRDb3VudHM6IHRydWUsXG4gICAgICAgICAgZW1haWxNZXNzYWdlUXVldWVzOiB0cnVlLFxuICAgICAgICAgIGVtYWlsTWVzc2FnZVF1ZXVlQm9kaWVzOiBmYWxzZSxcbiAgICAgICAgICBzbXNNZXNzYWdlUXVldWVzOiB0cnVlLFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiB0aGlzLl9jb25maWcubG9hZE1lc3NhZ2VRdWV1ZXMocXVlcnkpXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiAoe1xuICAgICAgICAgICAgICBkYXRhOiByZXNwb25zZS5kYXRhXG4gICAgICAgICAgICAgICAgLm1hcCgobWVzc2FnZVF1ZXVlKSA9PiB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi5tZXNzYWdlUXVldWUsXG4gICAgICAgICAgICAgICAgICAgIHNjaGVkdWxlZDogbWVzc2FnZVF1ZXVlLnN0YXRlID09PSBNZXNzYWdlUXVldWVTdGF0ZS5RdWV1ZWQgJiYgaXNBZnRlcihtZXNzYWdlUXVldWUuc2NoZWR1bGVkRGF0ZSwgbmV3IERhdGUoKSksXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VRdWV1ZVJlY2lwaWVudHM6IG1lc3NhZ2VRdWV1ZS5tZXNzYWdlUXVldWVSZWNpcGllbnRzXG4gICAgICAgICAgICAgICAgICAgICAgLnJlZHVjZSgoYWNjdW0sIG1lc3NhZ2VRdWV1ZVJlY2lwaWVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgYWNjdW1bbWVzc2FnZVF1ZXVlUmVjaXBpZW50LnJlY2lwaWVudF0gPSBtZXNzYWdlUXVldWVSZWNpcGllbnQuc3RhdGU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBhY2N1bTtcbiAgICAgICAgICAgICAgICAgICAgICB9LCB7fSksXG4gICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0pLCBwYWdpbmc6IHJlc3BvbnNlLnBhZ2luZyxcbiAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICApO1xuICAgICAgfSxcbiAgICB9O1xuXG4gICAgaWYgKHRoaXMuX2NvbmZpZy5idWxrTWVzc2FnZVF1ZXVlcykge1xuICAgICAgdGhpcy5jb25maWcuc2VsZWN0aW9uID0ge1xuICAgICAgICBzZWxlY3RBbGw6IGZhbHNlLFxuICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgdHlwZTogU2VsZWN0aW9uQWN0aW9uVHlwZS5BY3Rpb24sXG4gICAgICAgICAgICBuYW1lOiAncXVldWUnLFxuICAgICAgICAgICAgbGFiZWw6ICdRdWV1ZScsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0eXBlOiBTZWxlY3Rpb25BY3Rpb25UeXBlLkFjdGlvbixcbiAgICAgICAgICAgIG5hbWU6ICdyZXNlbmQnLFxuICAgICAgICAgICAgbGFiZWw6ICdSZXNlbmQnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgdHlwZTogU2VsZWN0aW9uQWN0aW9uVHlwZS5BY3Rpb24sXG4gICAgICAgICAgICBuYW1lOiAnY2FuY2VsJyxcbiAgICAgICAgICAgIGxhYmVsOiAnQ2FuY2VsJyxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICBhY3Rpb25TZWxlY3RlZDogKGFjdGlvblNlbGVjdGVkOiBGc0xpc3RBY3Rpb25TZWxlY3RlZCkgPT4ge1xuICAgICAgICAgIHJldHVybiB0aGlzLl9jb25maWcuYnVsa01lc3NhZ2VRdWV1ZXMoYWN0aW9uU2VsZWN0ZWQuYWN0aW9uLm5hbWUsIGFjdGlvblNlbGVjdGVkLnNlbGVjdGVkKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5saXN0LnJlbG9hZCgpO1xuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIH1cblxuICAgIHRoaXMuY29uZmlnLmZpbHRlcnMucHVzaCh7XG4gICAgICBuYW1lOiAnbWVzc2FnZUlkJyxcbiAgICAgIHR5cGU6IEl0ZW1UeXBlLlNlbGVjdCxcbiAgICAgIGxhYmVsOiAnTWVzc2FnZSBUeXBlJyxcbiAgICAgIHZhbHVlczogKHF1ZXJ5KSA9PiB7XG4gICAgICAgIHF1ZXJ5ID0ge1xuICAgICAgICAgIC4uLnF1ZXJ5LFxuICAgICAgICAgIGxpbWl0OiA1MCxcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gdGhpcy5fY29uZmlnLmxvYWRNZXNzYWdlcyhxdWVyeSlcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICB7IHZhbHVlOiBudWxsLCBuYW1lOiAnQWxsJyB9LFxuICAgICAgICAgICAgICAgIC4uLnJlc3BvbnNlLmRhdGFcbiAgICAgICAgICAgICAgICAgIC5tYXAoKGl0ZW0pID0+ICh7IG5hbWU6IGl0ZW0ubmFtZSwgdmFsdWU6IGl0ZW0uaWQgfSkpLFxuICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKTtcbiAgICAgIH0sXG4gICAgfSBhcyBhbnkpO1xuICB9XG5cbiAgcHVibGljIG9wZW4obWVzc2FnZVF1ZXVlKSB7XG4gICAgdGhpcy5fbWVzc2FnZVF1ZXVlU2VydmljZS5vcGVuTWVzc2FnZVF1ZXVlKG1lc3NhZ2VRdWV1ZS5pZClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMubGlzdC5yZWxvYWQoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG59XG4iLCI8ZnMtbGlzdCBbY29uZmlnXT1cImNvbmZpZ1wiICNsaXN0PlxuICA8ZnMtbGlzdC1jb2x1bW4gdGl0bGU9XCJNZXNzYWdlXCIgbmFtZT1cInN1YmplY3RcIiBbc29ydGFibGVdPVwidHJ1ZVwiPlxuICAgIDxuZy10ZW1wbGF0ZSBmcy1saXN0LWNlbGwgbGV0LXJvdz1cInJvd1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJvdy5lbWFpbE1lc3NhZ2VRdWV1ZVwiPlxuICAgICAgICA8YSAoY2xpY2spPVwib3Blbihyb3cpXCI+e3tyb3cuZW1haWxNZXNzYWdlUXVldWUuc3ViamVjdHx0cnVuY2F0ZToxMDB9fTwvYT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJvdy5tZXNzYWdlUXVldWVBdHRhY2htZW50Q291bnRcIj5cbiAgICAgICAgICA8bWF0LWljb24gICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgY2xhc3M9XCJhdHRhY2htZW50LWljb25cIlxuICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJyb3cubWVzc2FnZVF1ZXVlQXR0YWNobWVudENvdW50ICsgJyBBdHRhY2htZW50KHMpJ1wiPlxuICAgICAgICAgICAgYXR0YWNoX2ZpbGVcbiAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJvdy5zbXNNZXNzYWdlUXVldWVcIj5cbiAgICAgICAgPGEgKGNsaWNrKT1cIm9wZW4ocm93KVwiPnt7cm93LnNtc01lc3NhZ2VRdWV1ZS5ib2R5fHRydW5jYXRlOjEwMH19PC9hPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9mcy1saXN0LWNvbHVtbj5cbiAgPGZzLWxpc3QtY29sdW1uIHRpdGxlPVwiUmVjaXBpZW50c1wiIGNsYXNzPVwiY29sLXJlY2lwaWVudHNcIj5cbiAgICA8bmctdGVtcGxhdGUgZnMtbGlzdC1jZWxsIGxldC1yb3c9XCJyb3dcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJyb3cuZW1haWxNZXNzYWdlUXVldWVcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJvdy5lbWFpbE1lc3NhZ2VRdWV1ZS50b1JlY2lwaWVudHMubGVuZ3RoOyBlbHNlIHVuc3BlY2lmaWVkXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNtYWxsXCIgKm5nRm9yPVwibGV0IHJlY2lwaWVudCBvZiByb3cuZW1haWxNZXNzYWdlUXVldWUudG9SZWNpcGllbnRzXCI+XG4gICAgICAgICAgICA8YXBwLXJlY2lwaWVudCBcbiAgICAgICAgICAgICAgW3N0YXRlXT1cInJvdy5tZXNzYWdlUXVldWVSZWNpcGllbnRzW3JlY2lwaWVudF0gfHwgcm93LnN0YXRlXCJcbiAgICAgICAgICAgICAgW25hbWVdPVwicmVjaXBpZW50XCI+XG4gICAgICAgICAgICA8L2FwcC1yZWNpcGllbnQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic21hbGxcIiAqbmdGb3I9XCJsZXQgcmVjaXBpZW50IG9mIHJvdy5lbWFpbE1lc3NhZ2VRdWV1ZS5jY1JlY2lwaWVudHNcIj5cbiAgICAgICAgICA8YXBwLXJlY2lwaWVudCBcbiAgICAgICAgICAgIFtzdGF0ZV09XCJyb3cubWVzc2FnZVF1ZXVlUmVjaXBpZW50c1tyZWNpcGllbnRdIHx8IHJvdy5zdGF0ZVwiXG4gICAgICAgICAgICBbbmFtZV09XCJyZWNpcGllbnRcIj5cbiAgICAgICAgICA8L2FwcC1yZWNpcGllbnQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwic21hbGxcIiAqbmdGb3I9XCJsZXQgcmVjaXBpZW50IG9mIHJvdy5lbWFpbE1lc3NhZ2VRdWV1ZS5iY2NSZWNpcGllbnRzXCI+XG4gICAgICAgICAgPGFwcC1yZWNpcGllbnQgICAgICAgICAgICAgXG4gICAgICAgICAgICBbc3RhdGVdPVwicm93Lm1lc3NhZ2VRdWV1ZVJlY2lwaWVudHNbcmVjaXBpZW50XSB8fCByb3cuc3RhdGVcIlxuICAgICAgICAgICAgW25hbWVdPVwicmVjaXBpZW50XCI+XG4gICAgICAgICAgPC9hcHAtcmVjaXBpZW50PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJvdy5zbXNNZXNzYWdlUXVldWVcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJvdy5zbXNNZXNzYWdlUXVldWUudG9OdW1iZXI7IGVsc2UgdW5zcGVjaWZpZWRcIj5cbiAgICAgICAgICA8YXBwLXJlY2lwaWVudCBcbiAgICAgICAgICAgIGNsYXNzPVwic21hbGxcIlxuICAgICAgICAgICAgW3N0YXRlXT1cInJvdy5zdGF0ZVwiXG4gICAgICAgICAgICBbbmFtZV09XCJyb3cuc21zTWVzc2FnZVF1ZXVlLnRvTnVtYmVyXCI+XG4gICAgICAgICAgPC9hcHAtcmVjaXBpZW50PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZnMtbGlzdC1jb2x1bW4+IFxuICA8ZnMtbGlzdC1jb2x1bW4gdGl0bGU9XCJTdGF0dXNcIiBjbGFzcz1cImNvbC1zdGF0ZVwiPlxuICAgIDxuZy10ZW1wbGF0ZSBmcy1saXN0LWNlbGwgbGV0LXJvdz1cInJvd1wiPiAgICBcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJyb3cuc2NoZWR1bGVkOyBlbHNlIHN0YXRlXCI+XG4gICAgICAgIFNjaGVkdWxlZFxuICAgICAgICA8ZGl2IGNsYXNzPVwic21hbGxcIj5cbiAgICAgICAgICAge3tyb3cuc2NoZWR1bGVkRGF0ZSB8IGZzRGF0ZUZvcm1hdDogJ2RhdGUtdGltZScgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjc3RhdGU+XG4gICAgICAgIDxzcGFuIFtjbGFzc109XCInc3RhdGUtJyArIHJvdy5zdGF0ZVwiPnt7bWVzc2FnZVF1ZXVlU3RhdGVzW3Jvdy5zdGF0ZV19fTwvc3Bhbj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9mcy1saXN0LWNvbHVtbj4gXG4gIDxmcy1saXN0LWNvbHVtbiB0aXRsZT1cIkRhdGVcIiBuYW1lPVwiY3JlYXRlZF9kYXRlXCIgW3NvcnRhYmxlXT1cInRydWVcIj5cbiAgICA8bmctdGVtcGxhdGUgZnMtbGlzdC1jZWxsIGxldC1yb3c9XCJyb3dcIj5cbiAgICAgIHt7IHJvdy5jcmVhdGVkRGF0ZSB8IGZzRGF0ZUZvcm1hdDogJ2RhdGUtdGltZS15ZWFyZGlmZicgfX1cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2ZzLWxpc3QtY29sdW1uPlxuPC9mcy1saXN0PlxuXG48bmctdGVtcGxhdGUgI3Vuc3BlY2lmaWVkPlxuICA8YXBwLXJlY2lwaWVudCBcbiAgICBjbGFzcz1cInNtYWxsXCJcbiAgICBbc3RhdGVdPVwiTWVzc2FnZVF1ZXVlU3RhdGUuRmFpbGVkXCJcbiAgICBuYW1lPVwiVW5zcGVjaWZpZWRcIj5cbiAgPC9hcHAtcmVjaXBpZW50PlxuPC9uZy10ZW1wbGF0ZT4iXX0=
@@ -1,26 +1,26 @@
1
- import { ChangeDetectionStrategy, Component, Input, } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/material/icon";
4
- import * as i2 from "@angular/common";
5
- import * as i3 from "@angular/material/tooltip";
6
- export class RecipientComponent {
7
- ngOnInit() {
8
- const icons = {
9
- 'S': { name: 'check_circle', tooltip: 'Sent' },
10
- 'E': { name: 'offline_bolt', tooltip: 'Sending' },
11
- 'F': { name: 'info', tooltip: 'Failed' },
12
- };
13
- this.icon = icons[this.state];
14
- }
15
- }
16
- RecipientComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: RecipientComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
17
- RecipientComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: RecipientComponent, selector: "app-recipient", inputs: { name: "name", state: "state" }, ngImport: i0, template: "<span class=\"recipient\">\n <span class=\"name\">{{name}}</span>\n <mat-icon *ngIf=\"icon\" [class]=\"'state-' + state\" [matTooltip]=\"icon.tooltip\">{{icon.name}}</mat-icon>\n</span>", styles: ["mat-icon{font-size:14px;width:14px;height:14px;line-height:normal;margin-left:2px}mat-icon.state-S{color:#5fa099}mat-icon.state-E{color:#fbbc04}mat-icon.state-F{color:#d8524e}.recipient{display:inline-flex;align-items:center}\n"], components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: RecipientComponent, decorators: [{
19
- type: Component,
20
- args: [{ selector: 'app-recipient', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span class=\"recipient\">\n <span class=\"name\">{{name}}</span>\n <mat-icon *ngIf=\"icon\" [class]=\"'state-' + state\" [matTooltip]=\"icon.tooltip\">{{icon.name}}</mat-icon>\n</span>", styles: ["mat-icon{font-size:14px;width:14px;height:14px;line-height:normal;margin-left:2px}mat-icon.state-S{color:#5fa099}mat-icon.state-E{color:#fbbc04}mat-icon.state-F{color:#d8524e}.recipient{display:inline-flex;align-items:center}\n"] }]
21
- }], propDecorators: { name: [{
22
- type: Input
23
- }], state: [{
24
- type: Input
25
- }] } });
1
+ import { ChangeDetectionStrategy, Component, Input, } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/material/icon";
4
+ import * as i2 from "@angular/common";
5
+ import * as i3 from "@angular/material/tooltip";
6
+ export class RecipientComponent {
7
+ ngOnInit() {
8
+ const icons = {
9
+ 'S': { name: 'check_circle', tooltip: 'Sent' },
10
+ 'E': { name: 'offline_bolt', tooltip: 'Sending' },
11
+ 'F': { name: 'info', tooltip: 'Failed' },
12
+ };
13
+ this.icon = icons[this.state];
14
+ }
15
+ }
16
+ RecipientComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: RecipientComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
17
+ RecipientComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: RecipientComponent, selector: "app-recipient", inputs: { name: "name", state: "state" }, ngImport: i0, template: "<span class=\"recipient\">\n <span class=\"name\">{{name}}</span>\n <mat-icon *ngIf=\"icon\" [class]=\"'state-' + state\" [matTooltip]=\"icon.tooltip\">{{icon.name}}</mat-icon>\n</span>", styles: ["mat-icon{font-size:14px;width:14px;height:14px;line-height:normal;margin-left:2px}mat-icon.state-S{color:#5fa099}mat-icon.state-E{color:#fbbc04}mat-icon.state-F{color:#d8524e}.recipient{display:inline-flex;align-items:center}\n"], components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: RecipientComponent, decorators: [{
19
+ type: Component,
20
+ args: [{ selector: 'app-recipient', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span class=\"recipient\">\n <span class=\"name\">{{name}}</span>\n <mat-icon *ngIf=\"icon\" [class]=\"'state-' + state\" [matTooltip]=\"icon.tooltip\">{{icon.name}}</mat-icon>\n</span>", styles: ["mat-icon{font-size:14px;width:14px;height:14px;line-height:normal;margin-left:2px}mat-icon.state-S{color:#5fa099}mat-icon.state-E{color:#fbbc04}mat-icon.state-F{color:#d8524e}.recipient{display:inline-flex;align-items:center}\n"] }]
21
+ }], propDecorators: { name: [{
22
+ type: Input
23
+ }], state: [{
24
+ type: Input
25
+ }] } });
26
26
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBpZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9tZXNzYWdlLXF1ZXVlcy9jb21wb25lbnRzL3JlY2lwaWVudC9yZWNpcGllbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL21lc3NhZ2UtcXVldWVzL2NvbXBvbmVudHMvcmVjaXBpZW50L3JlY2lwaWVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFBRSxLQUFLLEdBQ2pCLE1BQU0sZUFBZSxDQUFDOzs7OztBQVV2QixNQUFNLE9BQU8sa0JBQWtCO0lBT3RCLFFBQVE7UUFFYixNQUFNLEtBQUssR0FBRztZQUNaLEdBQUcsRUFBRSxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRTtZQUM5QyxHQUFHLEVBQUUsRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUU7WUFDakQsR0FBRyxFQUFFLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFO1NBQ3pDLENBQUE7UUFFRCxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQzs7K0dBaEJVLGtCQUFrQjttR0FBbEIsa0JBQWtCLCtGQ2IvQiw2TEFHTzsyRkRVTSxrQkFBa0I7a0JBTjlCLFNBQVM7K0JBQ0UsZUFBZSxtQkFHUix1QkFBdUIsQ0FBQyxNQUFNOzhCQUl0QyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtcmVjaXBpZW50JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlY2lwaWVudC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JlY2lwaWVudC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUmVjaXBpZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgXG4gIEBJbnB1dCgpIG5hbWU7XG4gIEBJbnB1dCgpIHN0YXRlO1xuICBcbiAgcHVibGljIGljb247XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIFxuICAgIGNvbnN0IGljb25zID0ge1xuICAgICAgJ1MnOiB7IG5hbWU6ICdjaGVja19jaXJjbGUnLCB0b29sdGlwOiAnU2VudCcgfSxcbiAgICAgICdFJzogeyBuYW1lOiAnb2ZmbGluZV9ib2x0JywgdG9vbHRpcDogJ1NlbmRpbmcnIH0sXG4gICAgICAnRic6IHsgbmFtZTogJ2luZm8nLCB0b29sdGlwOiAnRmFpbGVkJyB9LFxuICAgIH1cblxuICAgIHRoaXMuaWNvbiA9IGljb25zW3RoaXMuc3RhdGVdO1xuICB9XG5cbn1cbiIsIjxzcGFuIGNsYXNzPVwicmVjaXBpZW50XCI+XG4gIDxzcGFuIGNsYXNzPVwibmFtZVwiPnt7bmFtZX19PC9zcGFuPlxuICA8bWF0LWljb24gKm5nSWY9XCJpY29uXCIgW2NsYXNzXT1cIidzdGF0ZS0nICsgc3RhdGVcIiBbbWF0VG9vbHRpcF09XCJpY29uLnRvb2x0aXBcIj57e2ljb24ubmFtZX19PC9tYXQtaWNvbj5cbjwvc3Bhbj4iXX0=
@@ -1,2 +1,2 @@
1
- export * from './message-queue-states.const';
1
+ export * from './message-queue-states.const';
2
2
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvbWVzc2FnZS1xdWV1ZXMvY29uc3RzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsOEJBQThCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21lc3NhZ2UtcXVldWUtc3RhdGVzLmNvbnN0JztcbiJdfQ==
@@ -1,6 +1,6 @@
1
- import { MessageQueueEventType } from "../enums";
2
- export const MessageQueueEventTypes = [
3
- { name: 'Open', value: MessageQueueEventType.Open },
4
- { name: 'Click', value: MessageQueueEventType.Click },
5
- ];
1
+ import { MessageQueueEventType } from "../enums";
2
+ export const MessageQueueEventTypes = [
3
+ { name: 'Open', value: MessageQueueEventType.Open },
4
+ { name: 'Click', value: MessageQueueEventType.Click },
5
+ ];
6
6
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1xdWV1ZS1ldmVudC10eXBlLmNvbnN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL21lc3NhZ2UtcXVldWVzL2NvbnN0cy9tZXNzYWdlLXF1ZXVlLWV2ZW50LXR5cGUuY29uc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBR2pELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHO0lBQ3BDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUscUJBQXFCLENBQUMsSUFBSSxFQUFFO0lBQ25ELEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUscUJBQXFCLENBQUMsS0FBSyxFQUFFO0NBQ3RELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNZXNzYWdlUXVldWVFdmVudFR5cGUgfSBmcm9tIFwiLi4vZW51bXNcIjtcblxuXG5leHBvcnQgY29uc3QgTWVzc2FnZVF1ZXVlRXZlbnRUeXBlcyA9IFtcbiAgeyBuYW1lOiAnT3BlbicsIHZhbHVlOiBNZXNzYWdlUXVldWVFdmVudFR5cGUuT3BlbiB9LFxuICB7IG5hbWU6ICdDbGljaycsIHZhbHVlOiBNZXNzYWdlUXVldWVFdmVudFR5cGUuQ2xpY2sgfSxcbl07XG4iXX0=
@@ -1,11 +1,11 @@
1
- import { MessageQueueState } from '../enums/message-queue-state.enum';
2
- export const MessageQueueStates = [
3
- { name: 'Sent', value: MessageQueueState.Sent },
4
- { name: 'Partially Sent', value: MessageQueueState.PartiallySent },
5
- { name: 'Sending', value: MessageQueueState.Sending },
6
- { name: 'Queued', value: MessageQueueState.Queued },
7
- { name: 'Canceled', value: MessageQueueState.Canceled },
8
- { name: 'Invalid Recipients', value: MessageQueueState.InvalidRecipients },
9
- { name: 'Failed', value: MessageQueueState.Failed }
10
- ];
1
+ import { MessageQueueState } from '../enums/message-queue-state.enum';
2
+ export const MessageQueueStates = [
3
+ { name: 'Sent', value: MessageQueueState.Sent },
4
+ { name: 'Partially Sent', value: MessageQueueState.PartiallySent },
5
+ { name: 'Sending', value: MessageQueueState.Sending },
6
+ { name: 'Queued', value: MessageQueueState.Queued },
7
+ { name: 'Canceled', value: MessageQueueState.Canceled },
8
+ { name: 'Invalid Recipients', value: MessageQueueState.InvalidRecipients },
9
+ { name: 'Failed', value: MessageQueueState.Failed }
10
+ ];
11
11
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1xdWV1ZS1zdGF0ZXMuY29uc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvbWVzc2FnZS1xdWV1ZXMvY29uc3RzL21lc3NhZ2UtcXVldWUtc3RhdGVzLmNvbnN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBR3RFLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHO0lBQ2hDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsaUJBQWlCLENBQUMsSUFBSSxFQUFFO0lBQy9DLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLEtBQUssRUFBRSxpQkFBaUIsQ0FBQyxhQUFhLEVBQUU7SUFDbEUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsQ0FBQyxPQUFPLEVBQUU7SUFDckQsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxpQkFBaUIsQ0FBQyxNQUFNLEVBQUU7SUFDbkQsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxpQkFBaUIsQ0FBQyxRQUFRLEVBQUU7SUFDdkQsRUFBRSxJQUFJLEVBQUUsb0JBQW9CLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixDQUFDLGlCQUFpQixFQUFFO0lBQzFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLENBQUMsTUFBTSxFQUFFO0NBQ3BELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNZXNzYWdlUXVldWVTdGF0ZSB9IGZyb20gJy4uL2VudW1zL21lc3NhZ2UtcXVldWUtc3RhdGUuZW51bSc7XG5cblxuZXhwb3J0IGNvbnN0IE1lc3NhZ2VRdWV1ZVN0YXRlcyA9IFtcbiAgeyBuYW1lOiAnU2VudCcsIHZhbHVlOiBNZXNzYWdlUXVldWVTdGF0ZS5TZW50IH0sXG4gIHsgbmFtZTogJ1BhcnRpYWxseSBTZW50JywgdmFsdWU6IE1lc3NhZ2VRdWV1ZVN0YXRlLlBhcnRpYWxseVNlbnQgfSxcbiAgeyBuYW1lOiAnU2VuZGluZycsIHZhbHVlOiBNZXNzYWdlUXVldWVTdGF0ZS5TZW5kaW5nIH0sXG4gIHsgbmFtZTogJ1F1ZXVlZCcsIHZhbHVlOiBNZXNzYWdlUXVldWVTdGF0ZS5RdWV1ZWQgfSxcbiAgeyBuYW1lOiAnQ2FuY2VsZWQnLCB2YWx1ZTogTWVzc2FnZVF1ZXVlU3RhdGUuQ2FuY2VsZWQgfSxcbiAgeyBuYW1lOiAnSW52YWxpZCBSZWNpcGllbnRzJywgdmFsdWU6IE1lc3NhZ2VRdWV1ZVN0YXRlLkludmFsaWRSZWNpcGllbnRzIH0sXG4gIHsgbmFtZTogJ0ZhaWxlZCcsIHZhbHVlOiBNZXNzYWdlUXVldWVTdGF0ZS5GYWlsZWQgfVxuXTtcbiJdfQ==
@@ -1,7 +1,7 @@
1
- export var EmailMessageQueueFormat;
2
- (function (EmailMessageQueueFormat) {
3
- EmailMessageQueueFormat["Text"] = "T";
4
- EmailMessageQueueFormat["HTML"] = "H";
5
- EmailMessageQueueFormat["RichText"] = "R";
6
- })(EmailMessageQueueFormat || (EmailMessageQueueFormat = {}));
1
+ export var EmailMessageQueueFormat;
2
+ (function (EmailMessageQueueFormat) {
3
+ EmailMessageQueueFormat["Text"] = "T";
4
+ EmailMessageQueueFormat["HTML"] = "H";
5
+ EmailMessageQueueFormat["RichText"] = "R";
6
+ })(EmailMessageQueueFormat || (EmailMessageQueueFormat = {}));
7
7
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwtbWVzc2FnZS1xdWV1ZS1mb3JtYXQuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9tZXNzYWdlLXF1ZXVlcy9lbnVtcy9lbWFpbC1tZXNzYWdlLXF1ZXVlLWZvcm1hdC5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLHVCQUlYO0FBSkQsV0FBWSx1QkFBdUI7SUFDakMscUNBQVUsQ0FBQTtJQUNWLHFDQUFVLENBQUE7SUFDVix5Q0FBYyxDQUFBO0FBQ2hCLENBQUMsRUFKVyx1QkFBdUIsS0FBdkIsdUJBQXVCLFFBSWxDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gRW1haWxNZXNzYWdlUXVldWVGb3JtYXQge1xuICBUZXh0ID0gJ1QnLFxuICBIVE1MID0gJ0gnLFxuICBSaWNoVGV4dCA9ICdSJ1xufVxuIl19
@@ -1,4 +1,4 @@
1
- export * from './email-message-queue-format.enum';
2
- export * from './message-queue-type.enum';
3
- export * from './message-queue-event-type.enum';
1
+ export * from './email-message-queue-format.enum';
2
+ export * from './message-queue-type.enum';
3
+ export * from './message-queue-event-type.enum';
4
4
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvbWVzc2FnZS1xdWV1ZXMvZW51bXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsaUNBQWlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2VtYWlsLW1lc3NhZ2UtcXVldWUtZm9ybWF0LmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9tZXNzYWdlLXF1ZXVlLXR5cGUuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL21lc3NhZ2UtcXVldWUtZXZlbnQtdHlwZS5lbnVtJztcbiJdfQ==
@@ -1,6 +1,6 @@
1
- export var MessageQueueEventType;
2
- (function (MessageQueueEventType) {
3
- MessageQueueEventType["Click"] = "click";
4
- MessageQueueEventType["Open"] = "open";
5
- })(MessageQueueEventType || (MessageQueueEventType = {}));
1
+ export var MessageQueueEventType;
2
+ (function (MessageQueueEventType) {
3
+ MessageQueueEventType["Click"] = "click";
4
+ MessageQueueEventType["Open"] = "open";
5
+ })(MessageQueueEventType || (MessageQueueEventType = {}));
6
6
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1xdWV1ZS1ldmVudC10eXBlLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvbWVzc2FnZS1xdWV1ZXMvZW51bXMvbWVzc2FnZS1xdWV1ZS1ldmVudC10eXBlLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVkscUJBR1g7QUFIRCxXQUFZLHFCQUFxQjtJQUMvQix3Q0FBZSxDQUFBO0lBQ2Ysc0NBQWEsQ0FBQTtBQUNmLENBQUMsRUFIVyxxQkFBcUIsS0FBckIscUJBQXFCLFFBR2hDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gTWVzc2FnZVF1ZXVlRXZlbnRUeXBlIHtcbiAgQ2xpY2sgPSAnY2xpY2snLFxuICBPcGVuID0gJ29wZW4nLFxufVxuIl19
@@ -1,11 +1,11 @@
1
- export var MessageQueueState;
2
- (function (MessageQueueState) {
3
- MessageQueueState["Sent"] = "S";
4
- MessageQueueState["PartiallySent"] = "P";
5
- MessageQueueState["Sending"] = "E";
6
- MessageQueueState["Queued"] = "Q";
7
- MessageQueueState["Canceled"] = "C";
8
- MessageQueueState["InvalidRecipients"] = "I";
9
- MessageQueueState["Failed"] = "F";
10
- })(MessageQueueState || (MessageQueueState = {}));
1
+ export var MessageQueueState;
2
+ (function (MessageQueueState) {
3
+ MessageQueueState["Sent"] = "S";
4
+ MessageQueueState["PartiallySent"] = "P";
5
+ MessageQueueState["Sending"] = "E";
6
+ MessageQueueState["Queued"] = "Q";
7
+ MessageQueueState["Canceled"] = "C";
8
+ MessageQueueState["InvalidRecipients"] = "I";
9
+ MessageQueueState["Failed"] = "F";
10
+ })(MessageQueueState || (MessageQueueState = {}));
11
11
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1xdWV1ZS1zdGF0ZS5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL21lc3NhZ2UtcXVldWVzL2VudW1zL21lc3NhZ2UtcXVldWUtc3RhdGUuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxpQkFRWDtBQVJELFdBQVksaUJBQWlCO0lBQzNCLCtCQUFVLENBQUE7SUFDVix3Q0FBbUIsQ0FBQTtJQUNuQixrQ0FBYSxDQUFBO0lBQ2IsaUNBQVksQ0FBQTtJQUNaLG1DQUFjLENBQUE7SUFDZCw0Q0FBdUIsQ0FBQTtJQUN2QixpQ0FBWSxDQUFBO0FBQ2QsQ0FBQyxFQVJXLGlCQUFpQixLQUFqQixpQkFBaUIsUUFRNUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBNZXNzYWdlUXVldWVTdGF0ZSB7XG4gIFNlbnQgPSAnUycsXG4gIFBhcnRpYWxseVNlbnQgPSAnUCcsXG4gIFNlbmRpbmcgPSAnRScsXG4gIFF1ZXVlZCA9ICdRJyxcbiAgQ2FuY2VsZWQgPSAnQycsXG4gIEludmFsaWRSZWNpcGllbnRzID0gJ0knLFxuICBGYWlsZWQgPSAnRidcbn0iXX0=