@hmcts/ccd-case-ui-toolkit 7.2.26 → 7.2.27-multiple-followup
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.
- package/esm2022/lib/app.config.mjs +2 -1
- package/esm2022/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.mjs +6 -3
- package/esm2022/lib/shared/components/palette/query-management/components/query-details/query-details.component.mjs +55 -8
- package/esm2022/lib/shared/components/palette/query-management/models/case-queries-collection.model.mjs +1 -1
- package/esm2022/lib/shared/components/palette/query-management/models/query-list/query-list-item/query-list-item.model.mjs +43 -7
- package/esm2022/lib/shared/components/palette/query-management/read-query-management-field.component.mjs +77 -24
- package/esm2022/lib/shared/components/palette/query-management/utils/query-management.utils.mjs +12 -4
- package/esm2022/lib/shared/utils.mjs +1 -1
- package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs +179 -40
- package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
- package/lib/app.config.d.ts +2 -0
- package/lib/app.config.d.ts.map +1 -1
- package/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.d.ts +2 -1
- package/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.d.ts.map +1 -1
- package/lib/shared/components/palette/query-management/components/query-details/query-details.component.d.ts +15 -3
- package/lib/shared/components/palette/query-management/components/query-details/query-details.component.d.ts.map +1 -1
- package/lib/shared/components/palette/query-management/models/case-queries-collection.model.d.ts +1 -0
- package/lib/shared/components/palette/query-management/models/case-queries-collection.model.d.ts.map +1 -1
- package/lib/shared/components/palette/query-management/models/query-list/query-list-item/query-list-item.model.d.ts +1 -0
- package/lib/shared/components/palette/query-management/models/query-list/query-list-item/query-list-item.model.d.ts.map +1 -1
- package/lib/shared/components/palette/query-management/read-query-management-field.component.d.ts +15 -3
- package/lib/shared/components/palette/query-management/read-query-management-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/query-management/utils/query-management.utils.d.ts +1 -1
- package/lib/shared/components/palette/query-management/utils/query-management.utils.d.ts.map +1 -1
- package/lib/shared/utils.d.ts +1 -1
- package/package.json +1 -1
|
@@ -3,10 +3,14 @@ import { ActivatedRoute, Router } from '@angular/router';
|
|
|
3
3
|
import { SessionStorageService } from '../../../../../services';
|
|
4
4
|
import { isInternalUser } from '../../../../../utils';
|
|
5
5
|
import { QueryItemResponseStatus } from '../../enums';
|
|
6
|
-
import { QueryListItem } from '../../models';
|
|
6
|
+
import { QueryCreateContext, QueryListItem } from '../../models';
|
|
7
|
+
import { CaseNotifier } from '../../../../case-editor/services/case.notifier';
|
|
8
|
+
import { AbstractAppConfig } from '../../../../../../app.config';
|
|
7
9
|
import * as i0 from "@angular/core";
|
|
8
10
|
import * as i1 from "../../../../../services";
|
|
9
11
|
import * as i2 from "@angular/router";
|
|
12
|
+
import * as i3 from "../../../../../../app.config";
|
|
13
|
+
import * as i4 from "../../../../case-editor/services/case.notifier";
|
|
10
14
|
function QueryDetailsComponent_ng_container_0_p_1_Template(rf, ctx) { if (rf & 1) {
|
|
11
15
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
12
16
|
i0.ɵɵelementStart(0, "p");
|
|
@@ -217,10 +221,12 @@ function QueryDetailsComponent_ng_container_0_ng_container_44_ng_container_1_Tem
|
|
|
217
221
|
i0.ɵɵtemplate(1, QueryDetailsComponent_ng_container_0_ng_container_44_ng_container_1_ng_container_1_Template, 23, 19, "ng-container", 15)(2, QueryDetailsComponent_ng_container_0_ng_container_44_ng_container_1_ng_template_2_Template, 27, 22, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
|
|
218
222
|
i0.ɵɵelementContainerEnd();
|
|
219
223
|
} if (rf & 2) {
|
|
224
|
+
const child_r3 = ctx.$implicit;
|
|
220
225
|
const i_r4 = ctx.index;
|
|
221
226
|
const followUpMessage_r5 = i0.ɵɵreference(3);
|
|
227
|
+
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
222
228
|
i0.ɵɵadvance();
|
|
223
|
-
i0.ɵɵproperty("ngIf", i_r4 % 2 === 0)("ngIfElse", followUpMessage_r5);
|
|
229
|
+
i0.ɵɵproperty("ngIf", i_r4 % 2 === 0 && !(child_r3 == null ? null : child_r3.messageType) || child_r3 && (child_r3 == null ? null : child_r3.messageType) === ctx_r1.respondToQuery)("ngIfElse", followUpMessage_r5);
|
|
224
230
|
} }
|
|
225
231
|
function QueryDetailsComponent_ng_container_0_ng_container_44_Template(rf, ctx) { if (rf & 1) {
|
|
226
232
|
i0.ɵɵelementContainerStart(0);
|
|
@@ -324,6 +330,8 @@ export class QueryDetailsComponent {
|
|
|
324
330
|
sessionStorageService;
|
|
325
331
|
route;
|
|
326
332
|
router;
|
|
333
|
+
abstractConfig;
|
|
334
|
+
caseNotifier;
|
|
327
335
|
query;
|
|
328
336
|
caseId;
|
|
329
337
|
queryResponseStatus;
|
|
@@ -333,10 +341,18 @@ export class QueryDetailsComponent {
|
|
|
333
341
|
static QUERY_ITEM_RESPOND = '3';
|
|
334
342
|
static QUERY_ITEM_FOLLOW_UP = '4';
|
|
335
343
|
queryItemId;
|
|
336
|
-
|
|
344
|
+
followUpQuery = QueryCreateContext.FOLLOWUP;
|
|
345
|
+
respondToQuery = QueryCreateContext.RESPOND;
|
|
346
|
+
enableServiceSpecificMultiFollowups;
|
|
347
|
+
currentJurisdictionId;
|
|
348
|
+
isMultipleFollowUpEnabled = false;
|
|
349
|
+
caseSubscription;
|
|
350
|
+
constructor(sessionStorageService, route, router, abstractConfig, caseNotifier) {
|
|
337
351
|
this.sessionStorageService = sessionStorageService;
|
|
338
352
|
this.route = route;
|
|
339
353
|
this.router = router;
|
|
354
|
+
this.abstractConfig = abstractConfig;
|
|
355
|
+
this.caseNotifier = caseNotifier;
|
|
340
356
|
}
|
|
341
357
|
onBack() {
|
|
342
358
|
this.backClicked.emit(true);
|
|
@@ -344,10 +360,23 @@ export class QueryDetailsComponent {
|
|
|
344
360
|
isInternalUser() {
|
|
345
361
|
return isInternalUser(this.sessionStorageService);
|
|
346
362
|
}
|
|
363
|
+
ngOnInit() {
|
|
364
|
+
this.enableServiceSpecificMultiFollowups = this.abstractConfig.getEnableServiceSpecificMultiFollowups() || [];
|
|
365
|
+
this.caseSubscription = this.caseNotifier.caseView.subscribe((caseView) => {
|
|
366
|
+
if (caseView?.case_type?.jurisdiction?.id) {
|
|
367
|
+
this.currentJurisdictionId = caseView.case_type.jurisdiction.id;
|
|
368
|
+
this.isMultipleFollowUpEnabled = this.enableServiceSpecificMultiFollowups.includes(this.currentJurisdictionId);
|
|
369
|
+
this.hasRespondedToQuery();
|
|
370
|
+
}
|
|
371
|
+
});
|
|
372
|
+
}
|
|
347
373
|
ngOnChanges() {
|
|
348
374
|
this.toggleLinkVisibility();
|
|
349
375
|
this.hasRespondedToQuery();
|
|
350
376
|
}
|
|
377
|
+
ngOnDestroy() {
|
|
378
|
+
this.caseSubscription?.unsubscribe();
|
|
379
|
+
}
|
|
351
380
|
toggleLinkVisibility() {
|
|
352
381
|
this.queryItemId = this.route.snapshot.params.qid;
|
|
353
382
|
if (this.queryItemId === QueryDetailsComponent.QUERY_ITEM_RESPOND || this.queryItemId === QueryDetailsComponent.QUERY_ITEM_FOLLOW_UP) {
|
|
@@ -360,6 +389,24 @@ export class QueryDetailsComponent {
|
|
|
360
389
|
this.hasResponded.emit(true);
|
|
361
390
|
return true;
|
|
362
391
|
}
|
|
392
|
+
const lastChild = this.query?.children?.[this.query.children.length - 1];
|
|
393
|
+
const lastMessageType = this.query?.children?.length
|
|
394
|
+
? this.query.children[this.query.children.length - 1]?.messageType
|
|
395
|
+
: this.query?.messageType;
|
|
396
|
+
const isFollowUp = lastMessageType === this.followUpQuery;
|
|
397
|
+
const isRespond = lastChild?.messageType === this.respondToQuery;
|
|
398
|
+
if (this.queryResponseStatus === QueryItemResponseStatus.CLOSED) {
|
|
399
|
+
this.hasResponded.emit(true);
|
|
400
|
+
return true;
|
|
401
|
+
}
|
|
402
|
+
if (isFollowUp && this.isMultipleFollowUpEnabled) {
|
|
403
|
+
this.hasResponded.emit(false);
|
|
404
|
+
return false;
|
|
405
|
+
}
|
|
406
|
+
if (isRespond) {
|
|
407
|
+
this.hasResponded.emit(false);
|
|
408
|
+
return false;
|
|
409
|
+
}
|
|
363
410
|
if (this.isInternalUser()) {
|
|
364
411
|
if (isAwaiting) {
|
|
365
412
|
this.hasResponded.emit(false);
|
|
@@ -375,7 +422,7 @@ export class QueryDetailsComponent {
|
|
|
375
422
|
this.hasResponded.emit(false);
|
|
376
423
|
return false;
|
|
377
424
|
}
|
|
378
|
-
static ɵfac = function QueryDetailsComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || QueryDetailsComponent)(i0.ɵɵdirectiveInject(i1.SessionStorageService), i0.ɵɵdirectiveInject(i2.ActivatedRoute), i0.ɵɵdirectiveInject(i2.Router)); };
|
|
425
|
+
static ɵfac = function QueryDetailsComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || QueryDetailsComponent)(i0.ɵɵdirectiveInject(i1.SessionStorageService), i0.ɵɵdirectiveInject(i2.ActivatedRoute), i0.ɵɵdirectiveInject(i2.Router), i0.ɵɵdirectiveInject(i3.AbstractAppConfig), i0.ɵɵdirectiveInject(i4.CaseNotifier)); };
|
|
379
426
|
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: QueryDetailsComponent, selectors: [["ccd-query-details"]], inputs: { query: "query", caseId: "caseId", queryResponseStatus: "queryResponseStatus" }, outputs: { backClicked: "backClicked", hasResponded: "hasResponded" }, features: [i0.ɵɵNgOnChangesFeature], decls: 1, vars: 1, consts: [["followUpMessage", ""], [4, "ngIf"], [1, "govuk-table", "query-details-table"], [1, "govuk-table__caption", "govuk-table__caption--l"], [1, "govuk-table__body"], [1, "govuk-table__row"], ["scope", "row", 1, "govuk-table__header"], [1, "govuk-table__cell"], ["class", "govuk-table__row govuk-table__row--isHearingRelated", 4, "ngIf"], ["class", "govuk-table__row", 4, "ngIf"], ["href", "javascript:void(0)", 1, "govuk-link", 3, "click"], [1, "govuk-table__row", "govuk-table__row--isHearingRelated"], [3, "attachments", 4, "ngIf"], [3, "attachments"], [4, "ngFor", "ngForOf"], [4, "ngIf", "ngIfElse"]], template: function QueryDetailsComponent_Template(rf, ctx) { if (rf & 1) {
|
|
380
427
|
i0.ɵɵtemplate(0, QueryDetailsComponent_ng_container_0_Template, 45, 41, "ng-container", 1);
|
|
381
428
|
} if (rf & 2) {
|
|
@@ -384,8 +431,8 @@ export class QueryDetailsComponent {
|
|
|
384
431
|
}
|
|
385
432
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(QueryDetailsComponent, [{
|
|
386
433
|
type: Component,
|
|
387
|
-
args: [{ selector: 'ccd-query-details', template: "<ng-container *ngIf=\"query\">\n <p *ngIf=\"showItem\">\n <br />\n <a class=\"govuk-link\" href=\"javascript:void(0)\" (click)=\"onBack()\">{{ 'Back to query list' | rpxTranslate }}</a>\n </p>\n <div>\n <table class=\"govuk-table query-details-table\" [attr.aria-describedby]=\"'Details of the query' | rpxTranslate\">\n <caption class=\"govuk-table__caption govuk-table__caption--l\">\n <div>{{ 'Query details' | rpxTranslate }}</div>\n </caption>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Last submitted by' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ query.lastSubmittedBy }}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Submission date' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ query.createdOn | date: 'dd MMMM YYYY HH:mm' }}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Query subject' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ query.subject }}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Query body' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ query.body }}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\" [class.govuk-table__header--no-border]=\"query.isHearingRelated\">\n {{ 'Is the query hearing related?' | rpxTranslate }}\n </th>\n <td class=\"govuk-table__cell\" [class.govuk-table__cell--no-border]=\"query.isHearingRelated\">\n {{ 'Is the query hearing related?' | rpxTranslate: null : (query.isHearingRelated) }}</td>\n </tr>\n <tr class=\"govuk-table__row govuk-table__row--isHearingRelated\" *ngIf=\"query.isHearingRelated === 'Yes'\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'What is the date of the hearing?' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ query.hearingDate | date: 'dd MMM yyyy' }}</td>\n </tr>\n <tr class=\"govuk-table__row\" *ngIf=\"query.attachments.length > 0\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Attachments' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">\n <ccd-query-attachments-read\n *ngIf=\"query.attachments\"\n [attachments]=\"query.attachments\"\n >\n </ccd-query-attachments-read>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n <ng-container *ngIf=\"query.children?.length > 0\">\n <ng-container *ngFor=\"let child of query.children; let i = index;\">\n <ng-container *ngIf=\"i % 2 === 0; else followUpMessage\">\n <table class=\"govuk-table query-details-table\" [attr.aria-describedby]=\"'Response of the query' | rpxTranslate\">\n <caption class=\"govuk-table__caption govuk-table__caption--l\">\n <div>{{ 'Response' | rpxTranslate }}</div>\n </caption>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Last response date' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ child.createdOn | date: 'dd MMMM YYYY HH:mm' }}</td>\n </tr>\n\n <tr *ngIf=\"isInternalUser()\" class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Caseworker name' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ child.name }}</td>\n </tr>\n\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Response detail' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ child.body }}</td>\n </tr>\n\n <tr class=\"govuk-table__row\" *ngIf=\"child.attachments.length > 0\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Attachments' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">\n <ccd-query-attachments-read\n *ngIf=\"child.attachments\"\n [attachments]=\"child.attachments\"\n >\n </ccd-query-attachments-read>\n </td>\n </tr>\n </tbody>\n </table>\n </ng-container>\n\n <ng-template #followUpMessage>\n <!-- <div class=\"query_details_caption\">{{ 'Follow-up' | rpxTranslate }}</div> -->\n <table class=\"govuk-table query-details-table\"\n [attr.aria-describedby]=\"'Follow-up of the response' | rpxTranslate\">\n <caption class=\"govuk-table__caption govuk-table__caption--l\">\n <div>{{ 'Follow up query' | rpxTranslate }}</div>\n </caption>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Last submission date' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ child.createdOn | date: 'dd MMMM YYYY HH:mm'}}</td>\n </tr>\n\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Last submitted by' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ child.name }}</td>\n </tr>\n\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Query detail' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ child.body }}</td>\n </tr>\n\n <tr class=\"govuk-table__row\" *ngIf=\"child.attachments.length > 0\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Attachments' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">\n <ccd-query-attachments-read\n *ngIf=\"child.attachments\"\n [attachments]=\"child.attachments\"\n >\n </ccd-query-attachments-read>\n </td>\n </tr>\n </tbody>\n </table>\n </ng-template>\n </ng-container>\n </ng-container>\n</ng-container>\n", styles: [".query-details-table .govuk-table__header{width:330px}\n"] }]
|
|
388
|
-
}], () => [{ type: i1.SessionStorageService }, { type: i2.ActivatedRoute }, { type: i2.Router }], { query: [{
|
|
434
|
+
args: [{ selector: 'ccd-query-details', template: "<ng-container *ngIf=\"query\">\n <p *ngIf=\"showItem\">\n <br />\n <a class=\"govuk-link\" href=\"javascript:void(0)\" (click)=\"onBack()\">{{ 'Back to query list' | rpxTranslate }}</a>\n </p>\n <div>\n <table class=\"govuk-table query-details-table\" [attr.aria-describedby]=\"'Details of the query' | rpxTranslate\">\n <caption class=\"govuk-table__caption govuk-table__caption--l\">\n <div>{{ 'Query details' | rpxTranslate }}</div>\n </caption>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Last submitted by' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ query.lastSubmittedBy }}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Submission date' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ query.createdOn | date: 'dd MMMM YYYY HH:mm' }}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Query subject' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ query.subject }}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Query body' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ query.body }}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\" [class.govuk-table__header--no-border]=\"query.isHearingRelated\">\n {{ 'Is the query hearing related?' | rpxTranslate }}\n </th>\n <td class=\"govuk-table__cell\" [class.govuk-table__cell--no-border]=\"query.isHearingRelated\">\n {{ 'Is the query hearing related?' | rpxTranslate: null : (query.isHearingRelated) }}</td>\n </tr>\n <tr class=\"govuk-table__row govuk-table__row--isHearingRelated\" *ngIf=\"query.isHearingRelated === 'Yes'\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'What is the date of the hearing?' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ query.hearingDate | date: 'dd MMM yyyy' }}</td>\n </tr>\n <tr class=\"govuk-table__row\" *ngIf=\"query.attachments.length > 0\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Attachments' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">\n <ccd-query-attachments-read\n *ngIf=\"query.attachments\"\n [attachments]=\"query.attachments\"\n >\n </ccd-query-attachments-read>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n <ng-container *ngIf=\"query.children?.length > 0\">\n <ng-container *ngFor=\"let child of query.children; let i = index;\">\n <ng-container *ngIf=\"(i % 2 === 0 && !child?.messageType) || (child && child?.messageType === respondToQuery); else followUpMessage\">\n <table class=\"govuk-table query-details-table\" [attr.aria-describedby]=\"'Response of the query' | rpxTranslate\">\n <caption class=\"govuk-table__caption govuk-table__caption--l\">\n <div>{{ 'Response' | rpxTranslate }}</div>\n </caption>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Last response date' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ child.createdOn | date: 'dd MMMM YYYY HH:mm' }}</td>\n </tr>\n\n <tr *ngIf=\"isInternalUser()\" class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Caseworker name' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ child.name }}</td>\n </tr>\n\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Response detail' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ child.body }}</td>\n </tr>\n\n <tr class=\"govuk-table__row\" *ngIf=\"child.attachments.length > 0\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Attachments' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">\n <ccd-query-attachments-read\n *ngIf=\"child.attachments\"\n [attachments]=\"child.attachments\"\n >\n </ccd-query-attachments-read>\n </td>\n </tr>\n </tbody>\n </table>\n </ng-container>\n\n <ng-template #followUpMessage>\n <!-- <div class=\"query_details_caption\">{{ 'Follow-up' | rpxTranslate }}</div> -->\n <table class=\"govuk-table query-details-table\"\n [attr.aria-describedby]=\"'Follow-up of the response' | rpxTranslate\">\n <caption class=\"govuk-table__caption govuk-table__caption--l\">\n <div>{{ 'Follow up query' | rpxTranslate }}</div>\n </caption>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Last submission date' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ child.createdOn | date: 'dd MMMM YYYY HH:mm'}}</td>\n </tr>\n\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Last submitted by' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ child.name }}</td>\n </tr>\n\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Query detail' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ child.body }}</td>\n </tr>\n\n <tr class=\"govuk-table__row\" *ngIf=\"child.attachments.length > 0\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Attachments' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">\n <ccd-query-attachments-read\n *ngIf=\"child.attachments\"\n [attachments]=\"child.attachments\"\n >\n </ccd-query-attachments-read>\n </td>\n </tr>\n </tbody>\n </table>\n </ng-template>\n </ng-container>\n </ng-container>\n</ng-container>\n", styles: [".query-details-table .govuk-table__header{width:330px}\n"] }]
|
|
435
|
+
}], () => [{ type: i1.SessionStorageService }, { type: i2.ActivatedRoute }, { type: i2.Router }, { type: i3.AbstractAppConfig }, { type: i4.CaseNotifier }], { query: [{
|
|
389
436
|
type: Input
|
|
390
437
|
}], caseId: [{
|
|
391
438
|
type: Input
|
|
@@ -396,5 +443,5 @@ export class QueryDetailsComponent {
|
|
|
396
443
|
}], hasResponded: [{
|
|
397
444
|
type: Output
|
|
398
445
|
}] }); })();
|
|
399
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(QueryDetailsComponent, { className: "QueryDetailsComponent", filePath: "lib/shared/components/palette/query-management/components/query-details/query-details.component.ts", lineNumber:
|
|
400
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktZGV0YWlscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9xdWVyeS1tYW5hZ2VtZW50L2NvbXBvbmVudHMvcXVlcnktZGV0YWlscy9xdWVyeS1kZXRhaWxzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL3F1ZXJ5LW1hbmFnZW1lbnQvY29tcG9uZW50cy9xdWVyeS1kZXRhaWxzL3F1ZXJ5LWRldGFpbHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXpELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7O0lDTDNDLHlCQUFvQjtJQUNsQixxQkFBTTtJQUNOLDZCQUFtRTtJQUFuQiwwTEFBUyxlQUFRLEtBQUM7SUFBQyxZQUF5Qzs7SUFDOUcsQUFEOEcsaUJBQUksRUFDOUc7O0lBRGlFLGVBQXlDO0lBQXpDLGdFQUF5Qzs7O0lBZ0N4RyxBQURGLDhCQUF5RyxZQUMzRDtJQUFBLFlBQXVEOztJQUFBLGlCQUFL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N0IsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzdCLE9BQU8sS0FBSyxDQUFDLENBQUMscUJBQXFCO1FBQ3JDLENBQUM7UUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7K0dBL0RVLHFCQUFxQjs2REFBckIscUJBQXFCO1lDYmxDLDBGQUE0Qjs7WUFBYixnQ0FBVzs7O2lGRGFiLHFCQUFxQjtjQUxqQyxTQUFTOzJCQUNFLG1CQUFtQjt3R0FLYixLQUFLO2tCQUFwQixLQUFLO1lBQ1UsTUFBTTtrQkFBckIsS0FBSztZQUNVLG1CQUFtQjtrQkFBbEMsS0FBSztZQUVXLFdBQVc7a0JBQTNCLE1BQU07WUFDVSxZQUFZO2tCQUE1QixNQUFNOztrRkFOSSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgaXNJbnRlcm5hbFVzZXIgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi91dGlscyc7XG5pbXBvcnQgeyBRdWVyeUl0ZW1SZXNwb25zZVN0YXR1cyB9IGZyb20gJy4uLy4uL2VudW1zJztcbmltcG9ydCB7IFF1ZXJ5TGlzdEl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2QtcXVlcnktZGV0YWlscycsXG4gIHRlbXBsYXRlVXJsOiAnLi9xdWVyeS1kZXRhaWxzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcXVlcnktZGV0YWlscy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFF1ZXJ5RGV0YWlsc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlc3tcbiAgQElucHV0KCkgcHVibGljIHF1ZXJ5OiBRdWVyeUxpc3RJdGVtO1xuICBASW5wdXQoKSBwdWJsaWMgY2FzZUlkOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBxdWVyeVJlc3BvbnNlU3RhdHVzOiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpIHB1YmxpYyBiYWNrQ2xpY2tlZDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgcHVibGljIGhhc1Jlc3BvbmRlZDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHB1YmxpYyBzaG93SXRlbTogYm9vbGVhbiA9IHRydWU7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgUVVFUllfSVRFTV9SRVNQT05EID0gJzMnO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBRVUVSWV9JVEVNX0ZPTExPV19VUCA9ICc0JztcbiAgcHJpdmF0ZSBxdWVyeUl0ZW1JZDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlOiBTZXNzaW9uU3RvcmFnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcikgeyB9XG5cbiAgcHVibGljIG9uQmFjaygpOiB2b2lkIHtcbiAgICB0aGlzLmJhY2tDbGlja2VkLmVtaXQodHJ1ZSk7XG4gIH1cblxuICBwdWJsaWMgaXNJbnRlcm5hbFVzZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzSW50ZXJuYWxVc2VyKHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLnRvZ2dsZUxpbmtWaXNpYmlsaXR5KCk7XG4gICAgdGhpcy5oYXNSZXNwb25kZWRUb1F1ZXJ5KCk7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlTGlua1Zpc2liaWxpdHkoKTogdm9pZCB7XG4gICAgdGhpcy5xdWVyeUl0ZW1JZCA9IHRoaXMucm91dGUuc25hcHNob3QucGFyYW1zLnFpZCBhcyBzdHJpbmc7XG4gICAgaWYgKHRoaXMucXVlcnlJdGVtSWQgPT09IFF1ZXJ5RGV0YWlsc0NvbXBvbmVudC5RVUVSWV9JVEVNX1JFU1BPTkQgfHwgdGhpcy5xdWVyeUl0ZW1JZCA9PT0gUXVlcnlEZXRhaWxzQ29tcG9uZW50LlFVRVJZX0lURU1fRk9MTE9XX1VQKSB7XG4gICAgICB0aGlzLnNob3dJdGVtID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGhhc1Jlc3BvbmRlZFRvUXVlcnkoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgaXNBd2FpdGluZyA9IHRoaXMucXVlcnlSZXNwb25zZVN0YXR1cyA9PT0gdW5kZWZpbmVkIHx8IHRoaXMucXVlcnlSZXNwb25zZVN0YXR1cyA9PT0gUXVlcnlJdGVtUmVzcG9uc2VTdGF0dXMuQVdBSVRJTkc7XG4gICAgaWYgKHRoaXMucXVlcnlSZXNwb25zZVN0YXR1cyA9PT0gUXVlcnlJdGVtUmVzcG9uc2VTdGF0dXMuQ0xPU0VEKSB7XG4gICAgICB0aGlzLmhhc1Jlc3BvbmRlZC5lbWl0KHRydWUpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNJbnRlcm5hbFVzZXIoKSkge1xuICAgICAgaWYgKGlzQXdhaXRpbmcpIHtcbiAgICAgICAgdGhpcy5oYXNSZXNwb25kZWQuZW1pdChmYWxzZSk7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5oYXNSZXNwb25kZWQuZW1pdCh0cnVlKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmIChpc0F3YWl0aW5nKSB7XG4gICAgICB0aGlzLmhhc1Jlc3BvbmRlZC5lbWl0KHRydWUpO1xuICAgICAgcmV0dXJuIGZhbHNlOyAvLyBEb24ndCBzaG93IG1lc3NhZ2VcbiAgICB9XG5cbiAgICB0aGlzLmhhc1Jlc3BvbmRlZC5lbWl0KGZhbHNlKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJxdWVyeVwiPlxuICA8cCAqbmdJZj1cInNob3dJdGVtXCI+XG4gICAgPGJyIC8+XG4gICAgPGEgY2xhc3M9XCJnb3Z1ay1saW5rXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIChjbGljayk9XCJvbkJhY2soKVwiPnt7ICdCYWNrIHRvIHF1ZXJ5IGxpc3QnIHwgcnB4VHJhbnNsYXRlIH19PC9hPlxuICA8L3A+XG4gIDxkaXY+XG4gICAgPHRhYmxlIGNsYXNzPVwiZ292dWstdGFibGUgcXVlcnktZGV0YWlscy10YWJsZVwiIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiJ0RldGFpbHMgb2YgdGhlIHF1ZXJ5JyB8IHJweFRyYW5zbGF0ZVwiPlxuICAgICAgPGNhcHRpb24gY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2FwdGlvbiBnb3Z1ay10YWJsZV9fY2FwdGlvbi0tbFwiPlxuICAgICAgICA8ZGl2Pnt7ICdRdWVyeSBkZXRhaWxzJyB8IHJweFRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgICAgPC9jYXB0aW9uPlxuICAgICAgPHRib2R5IGNsYXNzPVwiZ292dWstdGFibGVfX2JvZHlcIj5cbiAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cbiAgICAgICAgPHRoIHNjb3BlPVwicm93XCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCI+e3sgJ0xhc3Qgc3VibWl0dGVkIGJ5JyB8IHJweFRyYW5zbGF0ZSB9fTwvdGg+XG4gICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+e3sgcXVlcnkubGFzdFN1Ym1pdHRlZEJ5IH19PC90ZD5cbiAgICAgIDwvdHI+XG4gICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCI+XG4gICAgICAgIDx0aCBzY29wZT1cInJvd1wiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiPnt7ICdTdWJtaXNzaW9uIGRhdGUnIHwgcnB4VHJhbnNsYXRlIH19PC90aD5cbiAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj57eyBxdWVyeS5jcmVhdGVkT24gfCBkYXRlOiAnZGQgTU1NTSBZWVlZIEhIOm1tJyB9fTwvdGQ+XG4gICAgICA8L3RyPlxuICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgICA8dGggc2NvcGU9XCJyb3dcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIj57eyAnUXVlcnkgc3ViamVjdCcgfCBycHhUcmFuc2xhdGUgfX08L3RoPlxuICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPnt7IHF1ZXJ5LnN1YmplY3QgfX08L3RkPlxuICAgICAgPC90cj5cbiAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cbiAgICAgICAgPHRoIHNjb3BlPVwicm93XCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCI+e3sgJ1F1ZXJ5IGJvZHknIHwgcnB4VHJhbnNsYXRlIH19PC90aD5cbiAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj57eyBxdWVyeS5ib2R5IH19PC90ZD5cbiAgICAgIDwvdHI+XG4gICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCI+XG4gICAgICAgIDx0aCBzY29wZT1cInJvd1wiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiIFtjbGFzcy5nb3Z1ay10YWJsZV9faGVhZGVyLS1uby1ib3JkZXJdPVwicXVlcnkuaXNIZWFyaW5nUmVsYXRlZFwiPlxuICAgICAgICAgIHt7ICdJcyB0aGUgcXVlcnkgaGVhcmluZyByZWxhdGVkPycgfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgICAgPC90aD5cbiAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIiBbY2xhc3MuZ292dWstdGFibGVfX2NlbGwtLW5vLWJvcmRlcl09XCJxdWVyeS5pc0hlYXJpbmdSZWxhdGVkXCI+XG4gICAgICAgICAge3sgJ0lzIHRoZSBxdWVyeSBoZWFyaW5nIHJlbGF0ZWQ/JyB8IHJweFRyYW5zbGF0ZTogbnVsbCA6IChxdWVyeS5pc0hlYXJpbmdSZWxhdGVkKSB9fTwvdGQ+XG4gICAgICA8L3RyPlxuICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3JvdyBnb3Z1ay10YWJsZV9fcm93LS1pc0hlYXJpbmdSZWxhdGVkXCIgKm5nSWY9XCJxdWVyeS5pc0hlYXJpbmdSZWxhdGVkID09PSAnWWVzJ1wiPlxuICAgICAgICA8dGggc2NvcGU9XCJyb3dcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIj57eyAnV2hhdCBpcyB0aGUgZGF0ZSBvZiB0aGUgaGVhcmluZz8nIHwgcnB4VHJhbnNsYXRlIH19PC90aD5cbiAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj57eyBxdWVyeS5oZWFyaW5nRGF0ZSB8IGRhdGU6ICdkZCBNTU0geXl5eScgfX08L3RkPlxuICAgICAgPC90cj5cbiAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIiAqbmdJZj1cInF1ZXJ5LmF0dGFjaG1lbnRzLmxlbmd0aCA+IDBcIj5cbiAgICAgICAgPHRoIHNjb3BlPVwicm93XCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCI+e3sgJ0F0dGFjaG1lbnRzJyB8IHJweFRyYW5zbGF0ZSB9fTwvdGg+XG4gICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+XG4gICAgICAgICAgPGNjZC1xdWVyeS1hdHRhY2htZW50cy1yZWFkXG4gICAgICAgICAgICAqbmdJZj1cInF1ZXJ5LmF0dGFjaG1lbnRzXCJcbiAgICAgICAgICAgIFthdHRhY2htZW50c109XCJxdWVyeS5hdHRhY2htZW50c1wiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvY2NkLXF1ZXJ5LWF0dGFjaG1lbnRzLXJlYWQ+XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L3RyPlxuICAgICAgPC90Ym9keT5cbiAgICA8L3RhYmxlPlxuICA8L2Rpdj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInF1ZXJ5LmNoaWxkcmVuPy5sZW5ndGggPiAwXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY2hpbGQgb2YgcXVlcnkuY2hpbGRyZW47IGxldCBpID0gaW5kZXg7XCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaSAlIDIgPT09IDA7IGVsc2UgZm9sbG93VXBNZXNzYWdlXCI+XG4gICAgICAgIDx0YWJsZSBjbGFzcz1cImdvdnVrLXRhYmxlIHF1ZXJ5LWRldGFpbHMtdGFibGVcIiBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cIidSZXNwb25zZSBvZiB0aGUgcXVlcnknIHwgcnB4VHJhbnNsYXRlXCI+XG4gICAgICAgICAgPGNhcHRpb24gY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2FwdGlvbiBnb3Z1ay10YWJsZV9fY2FwdGlvbi0tbFwiPlxuICAgICAgICAgICAgPGRpdj57eyAnUmVzcG9uc2UnIHwgcnB4VHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICAgICAgPC9jYXB0aW9uPlxuICAgICAgICAgIDx0Ym9keSBjbGFzcz1cImdvdnVrLXRhYmxlX19ib2R5XCI+XG4gICAgICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgICAgICAgPHRoIHNjb3BlPVwicm93XCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCI+e3sgJ0xhc3QgcmVzcG9uc2UgZGF0ZScgfCBycHhUcmFuc2xhdGUgfX08L3RoPlxuICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj57eyBjaGlsZC5jcmVhdGVkT24gfCBkYXRlOiAnZGQgTU1NTSBZWVlZIEhIOm1tJyAgfX08L3RkPlxuICAgICAgICAgIDwvdHI+XG5cbiAgICAgICAgICAgIDx0ciAqbmdJZj1cImlzSW50ZXJuYWxVc2VyKClcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cbiAgICAgICAgICAgICAgPHRoIHNjb3BlPVwicm93XCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCI+e3sgJ0Nhc2V3b3JrZXIgbmFtZScgfCBycHhUcmFuc2xhdGUgfX08L3RoPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPnt7IGNoaWxkLm5hbWUgfX08L3RkPlxuICAgICAgICAgICAgPC90cj5cblxuICAgICAgICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgICAgICAgICA8dGggc2NvcGU9XCJyb3dcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIj57eyAnUmVzcG9uc2UgZGV0YWlsJyB8IHJweFRyYW5zbGF0ZSB9fTwvdGg+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+e3sgY2hpbGQuYm9keSB9fTwvdGQ+XG4gICAgICAgICAgICA8L3RyPlxuXG4gICAgICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiICpuZ0lmPVwiY2hpbGQuYXR0YWNobWVudHMubGVuZ3RoID4gMFwiPlxuICAgICAgICAgICAgPHRoIHNjb3BlPVwicm93XCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCI+e3sgJ0F0dGFjaG1lbnRzJyB8IHJweFRyYW5zbGF0ZSB9fTwvdGg+XG4gICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPlxuICAgICAgICAgICAgICA8Y2NkLXF1ZXJ5LWF0dGFjaG1lbnRzLXJlYWRcbiAgICAgICAgICAgICAgICAqbmdJZj1cImNoaWxkLmF0dGFjaG1lbnRzXCJcbiAgICAgICAgICAgICAgICBbYXR0YWNobWVudHNdPVwiY2hpbGQuYXR0YWNobWVudHNcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDwvY2NkLXF1ZXJ5LWF0dGFjaG1lbnRzLXJlYWQ+XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgPC90YWJsZT5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8bmctdGVtcGxhdGUgI2ZvbGxvd1VwTWVzc2FnZT5cbiAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwicXVlcnlfZGV0YWlsc19jYXB0aW9uXCI+e3sgJ0ZvbGxvdy11cCcgfCBycHhUcmFuc2xhdGUgfX08L2Rpdj4gLS0+XG4gICAgICAgIDx0YWJsZSBjbGFzcz1cImdvdnVrLXRhYmxlIHF1ZXJ5LWRldGFpbHMtdGFibGVcIlxuICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCInRm9sbG93LXVwIG9mIHRoZSByZXNwb25zZScgfCBycHhUcmFuc2xhdGVcIj5cbiAgICAgICAgICA8Y2FwdGlvbiBjbGFzcz1cImdvdnVrLXRhYmxlX19jYXB0aW9uIGdvdnVrLXRhYmxlX19jYXB0aW9uLS1sXCI+XG4gICAgICAgICAgICA8ZGl2Pnt7ICdGb2xsb3cgdXAgcXVlcnknIHwgcnB4VHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICAgICAgPC9jYXB0aW9uPlxuICAgICAgICAgIDx0Ym9keSBjbGFzcz1cImdvdnVrLXRhYmxlX19ib2R5XCI+XG4gICAgICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgICAgICAgPHRoIHNjb3BlPVwicm93XCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCI+e3sgJ0xhc3Qgc3VibWlzc2lvbiBkYXRlJyB8IHJweFRyYW5zbGF0ZSB9fTwvdGg+XG4gICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPnt7IGNoaWxkLmNyZWF0ZWRPbiB8IGRhdGU6ICdkZCBNTU1NIFlZWVkgSEg6bW0nfX08L3RkPlxuICAgICAgICAgIDwvdHI+XG5cbiAgICAgICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCI+XG4gICAgICAgICAgICA8dGggc2NvcGU9XCJyb3dcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIj57eyAnTGFzdCBzdWJtaXR0ZWQgYnknIHwgcnB4VHJhbnNsYXRlIH19PC90aD5cbiAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+e3sgY2hpbGQubmFtZSB9fTwvdGQ+XG4gICAgICAgICAgPC90cj5cblxuICAgICAgICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgICAgICAgICA8dGggc2NvcGU9XCJyb3dcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIj57eyAnUXVlcnkgZGV0YWlsJyB8IHJweFRyYW5zbGF0ZSB9fTwvdGg+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+e3sgY2hpbGQuYm9keSB9fTwvdGQ+XG4gICAgICAgICAgICA8L3RyPlxuXG4gICAgICAgICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCIgKm5nSWY9XCJjaGlsZC5hdHRhY2htZW50cy5sZW5ndGggPiAwXCI+XG4gICAgICAgICAgICAgIDx0aCBzY29wZT1cInJvd1wiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiPnt7ICdBdHRhY2htZW50cycgfCBycHhUcmFuc2xhdGUgfX08L3RoPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPlxuICAgICAgICAgICAgICAgIDxjY2QtcXVlcnktYXR0YWNobWVudHMtcmVhZFxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjaGlsZC5hdHRhY2htZW50c1wiXG4gICAgICAgICAgICAgICAgICBbYXR0YWNobWVudHNdPVwiY2hpbGQuYXR0YWNobWVudHNcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8L2NjZC1xdWVyeS1hdHRhY2htZW50cy1yZWFkPlxuICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICA8L3RhYmxlPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
|
446
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(QueryDetailsComponent, { className: "QueryDetailsComponent", filePath: "lib/shared/components/palette/query-management/components/query-details/query-details.component.ts", lineNumber: 17 }); })();
|
|
447
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktZGV0YWlscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9xdWVyeS1tYW5hZ2VtZW50L2NvbXBvbmVudHMvcXVlcnktZGV0YWlscy9xdWVyeS1kZXRhaWxzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL3F1ZXJ5LW1hbmFnZW1lbnQvY29tcG9uZW50cy9xdWVyeS1kZXRhaWxzL3F1ZXJ5LWRldGFpbHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFnQyxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV6RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDakUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQzlFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7Ozs7OztJQ1AvRCx5QkFBb0I7SUFDbEIscUJBQU07SUFDTiw2QkFBbUU7SUFBbkIsMExBQVMsZUFBUSxLQUFDO0lBQUMsWUFB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SyxDQUFDLENBQUMscUJBQXFCO1FBQ3JDLENBQUM7UUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7K0dBakhVLHFCQUFxQjs2REFBckIscUJBQXFCO1lDaEJsQywwRkFBNEI7O1lBQWIsZ0NBQVc7OztpRkRnQmIscUJBQXFCO2NBTGpDLFNBQVM7MkJBQ0UsbUJBQW1CO21LQUtiLEtBQUs7a0JBQXBCLEtBQUs7WUFDVSxNQUFNO2tCQUFyQixLQUFLO1lBQ1UsbUJBQW1CO2tCQUFsQyxLQUFLO1lBRVcsV0FBVztrQkFBM0IsTUFBTTtZQUNVLFlBQVk7a0JBQTVCLE1BQU07O2tGQU5JLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgaXNJbnRlcm5hbFVzZXIgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi91dGlscyc7XG5pbXBvcnQgeyBRdWVyeUl0ZW1SZXNwb25zZVN0YXR1cyB9IGZyb20gJy4uLy4uL2VudW1zJztcbmltcG9ydCB7IFF1ZXJ5Q3JlYXRlQ29udGV4dCwgUXVlcnlMaXN0SXRlbSB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBDYXNlTm90aWZpZXIgfSBmcm9tICcuLi8uLi8uLi8uLi9jYXNlLWVkaXRvci9zZXJ2aWNlcy9jYXNlLm5vdGlmaWVyJztcbmltcG9ydCB7IEFic3RyYWN0QXBwQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vYXBwLmNvbmZpZyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLXF1ZXJ5LWRldGFpbHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vcXVlcnktZGV0YWlscy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3F1ZXJ5LWRldGFpbHMuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBRdWVyeURldGFpbHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgcHVibGljIHF1ZXJ5OiBRdWVyeUxpc3RJdGVtO1xuICBASW5wdXQoKSBwdWJsaWMgY2FzZUlkOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBxdWVyeVJlc3BvbnNlU3RhdHVzOiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpIHB1YmxpYyBiYWNrQ2xpY2tlZDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgcHVibGljIGhhc1Jlc3BvbmRlZDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHB1YmxpYyBzaG93SXRlbTogYm9vbGVhbiA9IHRydWU7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgUVVFUllfSVRFTV9SRVNQT05EID0gJzMnO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBRVUVSWV9JVEVNX0ZPTExPV19VUCA9ICc0JztcbiAgcHJpdmF0ZSBxdWVyeUl0ZW1JZDogc3RyaW5nO1xuXG4gIHB1YmxpYyBmb2xsb3dVcFF1ZXJ5OiBzdHJpbmcgPSBRdWVyeUNyZWF0ZUNvbnRleHQuRk9MTE9XVVA7XG4gIHB1YmxpYyByZXNwb25kVG9RdWVyeTogc3RyaW5nID0gUXVlcnlDcmVhdGVDb250ZXh0LlJFU1BPTkQ7XG4gIHB1YmxpYyBlbmFibGVTZXJ2aWNlU3BlY2lmaWNNdWx0aUZvbGxvd3Vwczogc3RyaW5nW107XG4gIHB1YmxpYyBjdXJyZW50SnVyaXNkaWN0aW9uSWQ6IHN0cmluZztcbiAgcHVibGljIGlzTXVsdGlwbGVGb2xsb3dVcEVuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcml2YXRlIGNhc2VTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlc3Npb25TdG9yYWdlU2VydmljZTogU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBhYnN0cmFjdENvbmZpZzogQWJzdHJhY3RBcHBDb25maWcsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXNlTm90aWZpZXI6IENhc2VOb3RpZmllcikgeyB9XG5cbiAgcHVibGljIG9uQmFjaygpOiB2b2lkIHtcbiAgICB0aGlzLmJhY2tDbGlja2VkLmVtaXQodHJ1ZSk7XG4gIH1cblxuICBwdWJsaWMgaXNJbnRlcm5hbFVzZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzSW50ZXJuYWxVc2VyKHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmVuYWJsZVNlcnZpY2VTcGVjaWZpY011bHRpRm9sbG93dXBzID0gdGhpcy5hYnN0cmFjdENvbmZpZy5nZXRFbmFibGVTZXJ2aWNlU3BlY2lmaWNNdWx0aUZvbGxvd3VwcygpIHx8IFtdO1xuXG4gICAgdGhpcy5jYXNlU3Vic2NyaXB0aW9uID0gdGhpcy5jYXNlTm90aWZpZXIuY2FzZVZpZXcuc3Vic2NyaWJlKChjYXNlVmlldykgPT4ge1xuICAgICAgaWYgKGNhc2VWaWV3Py5jYXNlX3R5cGU/Lmp1cmlzZGljdGlvbj8uaWQpIHtcbiAgICAgICAgdGhpcy5jdXJyZW50SnVyaXNkaWN0aW9uSWQgPSBjYXNlVmlldy5jYXNlX3R5cGUuanVyaXNkaWN0aW9uLmlkO1xuICAgICAgICB0aGlzLmlzTXVsdGlwbGVGb2xsb3dVcEVuYWJsZWQgPSB0aGlzLmVuYWJsZVNlcnZpY2VTcGVjaWZpY011bHRpRm9sbG93dXBzLmluY2x1ZGVzKHRoaXMuY3VycmVudEp1cmlzZGljdGlvbklkKTtcblxuICAgICAgICB0aGlzLmhhc1Jlc3BvbmRlZFRvUXVlcnkoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLnRvZ2dsZUxpbmtWaXNpYmlsaXR5KCk7XG4gICAgdGhpcy5oYXNSZXNwb25kZWRUb1F1ZXJ5KCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5jYXNlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIHRvZ2dsZUxpbmtWaXNpYmlsaXR5KCk6IHZvaWQge1xuICAgIHRoaXMucXVlcnlJdGVtSWQgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtcy5xaWQgYXMgc3RyaW5nO1xuICAgIGlmICh0aGlzLnF1ZXJ5SXRlbUlkID09PSBRdWVyeURldGFpbHNDb21wb25lbnQuUVVFUllfSVRFTV9SRVNQT05EIHx8IHRoaXMucXVlcnlJdGVtSWQgPT09IFF1ZXJ5RGV0YWlsc0NvbXBvbmVudC5RVUVSWV9JVEVNX0ZPTExPV19VUCkge1xuICAgICAgdGhpcy5zaG93SXRlbSA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBoYXNSZXNwb25kZWRUb1F1ZXJ5KCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGlzQXdhaXRpbmcgPSB0aGlzLnF1ZXJ5UmVzcG9uc2VTdGF0dXMgPT09IHVuZGVmaW5lZCB8fCB0aGlzLnF1ZXJ5UmVzcG9uc2VTdGF0dXMgPT09IFF1ZXJ5SXRlbVJlc3BvbnNlU3RhdHVzLkFXQUlUSU5HO1xuICAgIGlmICh0aGlzLnF1ZXJ5UmVzcG9uc2VTdGF0dXMgPT09IFF1ZXJ5SXRlbVJlc3BvbnNlU3RhdHVzLkNMT1NFRCkge1xuICAgICAgdGhpcy5oYXNSZXNwb25kZWQuZW1pdCh0cnVlKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGNvbnN0IGxhc3RDaGlsZCA9IHRoaXMucXVlcnk/LmNoaWxkcmVuPy5bdGhpcy5xdWVyeS5jaGlsZHJlbi5sZW5ndGggLSAxXTtcbiAgICBjb25zdCBsYXN0TWVzc2FnZVR5cGUgPSB0aGlzLnF1ZXJ5Py5jaGlsZHJlbj8ubGVuZ3RoXG4gICAgICA/IHRoaXMucXVlcnkuY2hpbGRyZW5bdGhpcy5xdWVyeS5jaGlsZHJlbi5sZW5ndGggLSAxXT8ubWVzc2FnZVR5cGVcbiAgICAgIDogdGhpcy5xdWVyeT8ubWVzc2FnZVR5cGU7XG5cbiAgICBjb25zdCBpc0ZvbGxvd1VwID0gbGFzdE1lc3NhZ2VUeXBlID09PSB0aGlzLmZvbGxvd1VwUXVlcnk7XG4gICAgY29uc3QgaXNSZXNwb25kID0gbGFzdENoaWxkPy5tZXNzYWdlVHlwZSA9PT0gdGhpcy5yZXNwb25kVG9RdWVyeTtcblxuICAgIGlmICh0aGlzLnF1ZXJ5UmVzcG9uc2VTdGF0dXMgPT09IFF1ZXJ5SXRlbVJlc3BvbnNlU3RhdHVzLkNMT1NFRCkge1xuICAgICAgdGhpcy5oYXNSZXNwb25kZWQuZW1pdCh0cnVlKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmIChpc0ZvbGxvd1VwICYmIHRoaXMuaXNNdWx0aXBsZUZvbGxvd1VwRW5hYmxlZCkge1xuICAgICAgdGhpcy5oYXNSZXNwb25kZWQuZW1pdChmYWxzZSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKGlzUmVzcG9uZCkge1xuICAgICAgdGhpcy5oYXNSZXNwb25kZWQuZW1pdChmYWxzZSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNJbnRlcm5hbFVzZXIoKSkge1xuICAgICAgaWYgKGlzQXdhaXRpbmcpIHtcbiAgICAgICAgdGhpcy5oYXNSZXNwb25kZWQuZW1pdChmYWxzZSk7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5oYXNSZXNwb25kZWQuZW1pdCh0cnVlKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmIChpc0F3YWl0aW5nKSB7XG4gICAgICB0aGlzLmhhc1Jlc3BvbmRlZC5lbWl0KHRydWUpO1xuICAgICAgcmV0dXJuIGZhbHNlOyAvLyBEb24ndCBzaG93IG1lc3NhZ2VcbiAgICB9XG5cbiAgICB0aGlzLmhhc1Jlc3BvbmRlZC5lbWl0KGZhbHNlKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJxdWVyeVwiPlxuICA8cCAqbmdJZj1cInNob3dJdGVtXCI+XG4gICAgPGJyIC8+XG4gICAgPGEgY2xhc3M9XCJnb3Z1ay1saW5rXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIChjbGljayk9XCJvbkJhY2soKVwiPnt7ICdCYWNrIHRvIHF1ZXJ5IGxpc3QnIHwgcnB4VHJhbnNsYXRlIH19PC9hPlxuICA8L3A+XG4gIDxkaXY+XG4gICAgPHRhYmxlIGNsYXNzPVwiZ292dWstdGFibGUgcXVlcnktZGV0YWlscy10YWJsZVwiIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiJ0RldGFpbHMgb2YgdGhlIHF1ZXJ5JyB8IHJweFRyYW5zbGF0ZVwiPlxuICAgICAgPGNhcHRpb24gY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2FwdGlvbiBnb3Z1ay10YWJsZV9fY2FwdGlvbi0tbFwiPlxuICAgICAgICA8ZGl2Pnt7ICdRdWVyeSBkZXRhaWxzJyB8IHJweFRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgICAgPC9jYXB0aW9uPlxuICAgICAgPHRib2R5IGNsYXNzPVwiZ292dWstdGFibGVfX2JvZHlcIj5cbiAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cbiAgICAgICAgPHRoIHNjb3BlPVwicm93XCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCI+e3sgJ0xhc3Qgc3VibWl0dGVkIGJ5JyB8IHJweFRyYW5zbGF0ZSB9fTwvdGg+XG4gICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+e3sgcXVlcnkubGFzdFN1Ym1pdHRlZEJ5IH19PC90ZD5cbiAgICAgIDwvdHI+XG4gICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCI+XG4gICAgICAgIDx0aCBzY29wZT1cInJvd1wiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiPnt7ICdTdWJtaXNzaW9uIGRhdGUnIHwgcnB4VHJhbnNsYXRlIH19PC90aD5cbiAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj57eyBxdWVyeS5jcmVhdGVkT24gfCBkYXRlOiAnZGQgTU1NTSBZWVlZIEhIOm1tJyB9fTwvdGQ+XG4gICAgICA8L3RyPlxuICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgICA8dGggc2NvcGU9XCJyb3dcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIj57eyAnUXVlcnkgc3ViamVjdCcgfCBycHhUcmFuc2xhdGUgfX08L3RoPlxuICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPnt7IHF1ZXJ5LnN1YmplY3QgfX08L3RkPlxuICAgICAgPC90cj5cbiAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cbiAgICAgICAgPHRoIHNjb3BlPVwicm93XCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCI+e3sgJ1F1ZXJ5IGJvZHknIHwgcnB4VHJhbnNsYXRlIH19PC90aD5cbiAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj57eyBxdWVyeS5ib2R5IH19PC90ZD5cbiAgICAgIDwvdHI+XG4gICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCI+XG4gICAgICAgIDx0aCBzY29wZT1cInJvd1wiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiIFtjbGFzcy5nb3Z1ay10YWJsZV9faGVhZGVyLS1uby1ib3JkZXJdPVwicXVlcnkuaXNIZWFyaW5nUmVsYXRlZFwiPlxuICAgICAgICAgIHt7ICdJcyB0aGUgcXVlcnkgaGVhcmluZyByZWxhdGVkPycgfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgICAgPC90aD5cbiAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIiBbY2xhc3MuZ292dWstdGFibGVfX2NlbGwtLW5vLWJvcmRlcl09XCJxdWVyeS5pc0hlYXJpbmdSZWxhdGVkXCI+XG4gICAgICAgICAge3sgJ0lzIHRoZSBxdWVyeSBoZWFyaW5nIHJlbGF0ZWQ/JyB8IHJweFRyYW5zbGF0ZTogbnVsbCA6IChxdWVyeS5pc0hlYXJpbmdSZWxhdGVkKSB9fTwvdGQ+XG4gICAgICA8L3RyPlxuICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3JvdyBnb3Z1ay10YWJsZV9fcm93LS1pc0hlYXJpbmdSZWxhdGVkXCIgKm5nSWY9XCJxdWVyeS5pc0hlYXJpbmdSZWxhdGVkID09PSAnWWVzJ1wiPlxuICAgICAgICA8dGggc2NvcGU9XCJyb3dcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIj57eyAnV2hhdCBpcyB0aGUgZGF0ZSBvZiB0aGUgaGVhcmluZz8nIHwgcnB4VHJhbnNsYXRlIH19PC90aD5cbiAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj57eyBxdWVyeS5oZWFyaW5nRGF0ZSB8IGRhdGU6ICdkZCBNTU0geXl5eScgfX08L3RkPlxuICAgICAgPC90cj5cbiAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIiAqbmdJZj1cInF1ZXJ5LmF0dGFjaG1lbnRzLmxlbmd0aCA+IDBcIj5cbiAgICAgICAgPHRoIHNjb3BlPVwicm93XCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCI+e3sgJ0F0dGFjaG1lbnRzJyB8IHJweFRyYW5zbGF0ZSB9fTwvdGg+XG4gICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+XG4gICAgICAgICAgPGNjZC1xdWVyeS1hdHRhY2htZW50cy1yZWFkXG4gICAgICAgICAgICAqbmdJZj1cInF1ZXJ5LmF0dGFjaG1lbnRzXCJcbiAgICAgICAgICAgIFthdHRhY2htZW50c109XCJxdWVyeS5hdHRhY2htZW50c1wiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvY2NkLXF1ZXJ5LWF0dGFjaG1lbnRzLXJlYWQ+XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L3RyPlxuICAgICAgPC90Ym9keT5cbiAgICA8L3RhYmxlPlxuICA8L2Rpdj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInF1ZXJ5LmNoaWxkcmVuPy5sZW5ndGggPiAwXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY2hpbGQgb2YgcXVlcnkuY2hpbGRyZW47IGxldCBpID0gaW5kZXg7XCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKGkgJSAyID09PSAwICYmICFjaGlsZD8ubWVzc2FnZVR5cGUpIHx8IChjaGlsZCAmJiBjaGlsZD8ubWVzc2FnZVR5cGUgPT09IHJlc3BvbmRUb1F1ZXJ5KTsgZWxzZSBmb2xsb3dVcE1lc3NhZ2VcIj5cbiAgICAgICAgPHRhYmxlIGNsYXNzPVwiZ292dWstdGFibGUgcXVlcnktZGV0YWlscy10YWJsZVwiIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiJ1Jlc3BvbnNlIG9mIHRoZSBxdWVyeScgfCBycHhUcmFuc2xhdGVcIj5cbiAgICAgICAgICA8Y2FwdGlvbiBjbGFzcz1cImdvdnVrLXRhYmxlX19jYXB0aW9uIGdvdnVrLXRhYmxlX19jYXB0aW9uLS1sXCI+XG4gICAgICAgICAgICA8ZGl2Pnt7ICdSZXNwb25zZScgfCBycHhUcmFuc2xhdGUgfX08L2Rpdj5cbiAgICAgICAgICA8L2NhcHRpb24+XG4gICAgICAgICAgPHRib2R5IGNsYXNzPVwiZ292dWstdGFibGVfX2JvZHlcIj5cbiAgICAgICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCI+XG4gICAgICAgICAgICA8dGggc2NvcGU9XCJyb3dcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIj57eyAnTGFzdCByZXNwb25zZSBkYXRlJyB8IHJweFRyYW5zbGF0ZSB9fTwvdGg+XG4gICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPnt7IGNoaWxkLmNyZWF0ZWRPbiB8IGRhdGU6ICdkZCBNTU1NIFlZWVkgSEg6bW0nICB9fTwvdGQ+XG4gICAgICAgICAgPC90cj5cblxuICAgICAgICAgICAgPHRyICpuZ0lmPVwiaXNJbnRlcm5hbFVzZXIoKVwiIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgICAgICAgICA8dGggc2NvcGU9XCJyb3dcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIj57eyAnQ2FzZXdvcmtlciBuYW1lJyB8IHJweFRyYW5zbGF0ZSB9fTwvdGg+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+e3sgY2hpbGQubmFtZSB9fTwvdGQ+XG4gICAgICAgICAgICA8L3RyPlxuXG4gICAgICAgICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCI+XG4gICAgICAgICAgICAgIDx0aCBzY29wZT1cInJvd1wiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiPnt7ICdSZXNwb25zZSBkZXRhaWwnIHwgcnB4VHJhbnNsYXRlIH19PC90aD5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj57eyBjaGlsZC5ib2R5IH19PC90ZD5cbiAgICAgICAgICAgIDwvdHI+XG5cbiAgICAgICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCIgKm5nSWY9XCJjaGlsZC5hdHRhY2htZW50cy5sZW5ndGggPiAwXCI+XG4gICAgICAgICAgICA8dGggc2NvcGU9XCJyb3dcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIj57eyAnQXR0YWNobWVudHMnIHwgcnB4VHJhbnNsYXRlIH19PC90aD5cbiAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+XG4gICAgICAgICAgICAgIDxjY2QtcXVlcnktYXR0YWNobWVudHMtcmVhZFxuICAgICAgICAgICAgICAgICpuZ0lmPVwiY2hpbGQuYXR0YWNobWVudHNcIlxuICAgICAgICAgICAgICAgIFthdHRhY2htZW50c109XCJjaGlsZC5hdHRhY2htZW50c1wiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPC9jY2QtcXVlcnktYXR0YWNobWVudHMtcmVhZD5cbiAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICA8L3RhYmxlPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjZm9sbG93VXBNZXNzYWdlPlxuICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJxdWVyeV9kZXRhaWxzX2NhcHRpb25cIj57eyAnRm9sbG93LXVwJyB8IHJweFRyYW5zbGF0ZSB9fTwvZGl2PiAtLT5cbiAgICAgICAgPHRhYmxlIGNsYXNzPVwiZ292dWstdGFibGUgcXVlcnktZGV0YWlscy10YWJsZVwiXG4gICAgICAgICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cIidGb2xsb3ctdXAgb2YgdGhlIHJlc3BvbnNlJyB8IHJweFRyYW5zbGF0ZVwiPlxuICAgICAgICAgIDxjYXB0aW9uIGNsYXNzPVwiZ292dWstdGFibGVfX2NhcHRpb24gZ292dWstdGFibGVfX2NhcHRpb24tLWxcIj5cbiAgICAgICAgICAgIDxkaXY+e3sgJ0ZvbGxvdyB1cCBxdWVyeScgfCBycHhUcmFuc2xhdGUgfX08L2Rpdj5cbiAgICAgICAgICA8L2NhcHRpb24+XG4gICAgICAgICAgPHRib2R5IGNsYXNzPVwiZ292dWstdGFibGVfX2JvZHlcIj5cbiAgICAgICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCI+XG4gICAgICAgICAgICA8dGggc2NvcGU9XCJyb3dcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIj57eyAnTGFzdCBzdWJtaXNzaW9uIGRhdGUnIHwgcnB4VHJhbnNsYXRlIH19PC90aD5cbiAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+e3sgY2hpbGQuY3JlYXRlZE9uIHwgZGF0ZTogJ2RkIE1NTU0gWVlZWSBISDptbSd9fTwvdGQ+XG4gICAgICAgICAgPC90cj5cblxuICAgICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cbiAgICAgICAgICAgIDx0aCBzY29wZT1cInJvd1wiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiPnt7ICdMYXN0IHN1Ym1pdHRlZCBieScgfCBycHhUcmFuc2xhdGUgfX08L3RoPlxuICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj57eyBjaGlsZC5uYW1lIH19PC90ZD5cbiAgICAgICAgICA8L3RyPlxuXG4gICAgICAgICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCI+XG4gICAgICAgICAgICAgIDx0aCBzY29wZT1cInJvd1wiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiPnt7ICdRdWVyeSBkZXRhaWwnIHwgcnB4VHJhbnNsYXRlIH19PC90aD5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj57eyBjaGlsZC5ib2R5IH19PC90ZD5cbiAgICAgICAgICAgIDwvdHI+XG5cbiAgICAgICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIiAqbmdJZj1cImNoaWxkLmF0dGFjaG1lbnRzLmxlbmd0aCA+IDBcIj5cbiAgICAgICAgICAgICAgPHRoIHNjb3BlPVwicm93XCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCI+e3sgJ0F0dGFjaG1lbnRzJyB8IHJweFRyYW5zbGF0ZSB9fTwvdGg+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+XG4gICAgICAgICAgICAgICAgPGNjZC1xdWVyeS1hdHRhY2htZW50cy1yZWFkXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cImNoaWxkLmF0dGFjaG1lbnRzXCJcbiAgICAgICAgICAgICAgICAgIFthdHRhY2htZW50c109XCJjaGlsZC5hdHRhY2htZW50c1wiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDwvY2NkLXF1ZXJ5LWF0dGFjaG1lbnRzLXJlYWQ+XG4gICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgIDwvdGFibGU+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1xdWVyaWVzLWNvbGxlY3Rpb24ubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9xdWVyeS1tYW5hZ2VtZW50L21vZGVscy9jYXNlLXF1ZXJpZXMtY29sbGVjdGlvbi5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybURvY3VtZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vZG9tYWluJztcblxuZXhwb3J0IGludGVyZmFjZSBRdWVyeU1lc3NhZ2VEb2N1bWVudCB7XG4gIGlkOiBzdHJpbmc7XG4gIHZhbHVlOiBGb3JtRG9jdW1lbnQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FzZU1lc3NhZ2Uge1xuICBpZDogc3RyaW5nO1xuICBzdWJqZWN0Pzogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGJvZHk6IHN0cmluZztcbiAgYXR0YWNobWVudHM/OiBRdWVyeU1lc3NhZ2VEb2N1bWVudFtdO1xuICBpc0hlYXJpbmdSZWxhdGVkOiBzdHJpbmc7XG4gIGhlYXJpbmdEYXRlPzogc3RyaW5nO1xuICBjcmVhdGVkT246IERhdGU7XG4gIGNyZWF0ZWRCeTogc3RyaW5nO1xuICBwYXJlbnRJZD86IHN0cmluZztcbiAgaXNDbG9zZWQ/
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1xdWVyaWVzLWNvbGxlY3Rpb24ubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9xdWVyeS1tYW5hZ2VtZW50L21vZGVscy9jYXNlLXF1ZXJpZXMtY29sbGVjdGlvbi5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybURvY3VtZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vZG9tYWluJztcblxuZXhwb3J0IGludGVyZmFjZSBRdWVyeU1lc3NhZ2VEb2N1bWVudCB7XG4gIGlkOiBzdHJpbmc7XG4gIHZhbHVlOiBGb3JtRG9jdW1lbnQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FzZU1lc3NhZ2Uge1xuICBpZDogc3RyaW5nO1xuICBzdWJqZWN0Pzogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGJvZHk6IHN0cmluZztcbiAgYXR0YWNobWVudHM/OiBRdWVyeU1lc3NhZ2VEb2N1bWVudFtdO1xuICBpc0hlYXJpbmdSZWxhdGVkOiBzdHJpbmc7XG4gIGhlYXJpbmdEYXRlPzogc3RyaW5nO1xuICBjcmVhdGVkT246IERhdGU7XG4gIGNyZWF0ZWRCeTogc3RyaW5nO1xuICBwYXJlbnRJZD86IHN0cmluZztcbiAgaXNDbG9zZWQ/OiBzdHJpbmc7XG4gIG1lc3NhZ2VUeXBlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXJ5TWVzc2FnZSB7XG4gIGlkOiBzdHJpbmc7XG4gIHZhbHVlOiBDYXNlTWVzc2FnZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDYXNlUXVlcmllc0NvbGxlY3Rpb24ge1xuICBwYXJ0eU5hbWU6IHN0cmluZztcbiAgcm9sZU9uQ2FzZTogc3RyaW5nO1xuICBjYXNlTWVzc2FnZXM6IFF1ZXJ5TWVzc2FnZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFFtQ2FzZVF1ZXJpZXNDb2xsZWN0aW9uIHtcbiAgW2tleTogc3RyaW5nXTogQ2FzZVF1ZXJpZXNDb2xsZWN0aW9uOyAvLyBBbGxvd3MgZHluYW1pYyBrZXkgbmFtZXM6IENhc2VRdWVyaWVzQ29sbGVjdGlvblxufVxuIl19
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { QueryCreateContext } from '../..';
|
|
1
2
|
import { QueryItemResponseStatus } from '../../../enums/query-item-response-status.enum';
|
|
2
3
|
export class QueryListItem {
|
|
3
4
|
id;
|
|
@@ -11,6 +12,7 @@ export class QueryListItem {
|
|
|
11
12
|
createdBy;
|
|
12
13
|
parentId;
|
|
13
14
|
isClosed;
|
|
15
|
+
messageType;
|
|
14
16
|
children = [];
|
|
15
17
|
messageIndexInParent = null;
|
|
16
18
|
get lastSubmittedMessage() {
|
|
@@ -37,14 +39,34 @@ export class QueryListItem {
|
|
|
37
39
|
}
|
|
38
40
|
get lastSubmittedDate() {
|
|
39
41
|
const childrenCount = this.children.length;
|
|
40
|
-
|
|
42
|
+
const lastChild = this.children[childrenCount - 1];
|
|
43
|
+
// 1. Check for legacy: <= 1 child with no messageType
|
|
44
|
+
const allChildrenLackMessageType = this.children.every((child) => !child.messageType);
|
|
45
|
+
if (childrenCount <= 1 && allChildrenLackMessageType) {
|
|
41
46
|
return new Date(this.lastSubmittedMessage.createdOn);
|
|
42
47
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
48
|
+
// 2. Check if any RESPOND exists
|
|
49
|
+
const hasRespond = this.children.some((child) => child.messageType === QueryCreateContext.RESPOND);
|
|
50
|
+
// 3. Check if all children are FOLLOWUPs and none are RESPONDs
|
|
51
|
+
const onlyFollowUps = this.children.every((child) => child.messageType === QueryCreateContext.FOLLOWUP);
|
|
52
|
+
if (onlyFollowUps && !hasRespond) {
|
|
53
|
+
return new Date(lastChild.createdOn);
|
|
46
54
|
}
|
|
47
|
-
|
|
55
|
+
// 4. If RESPOND exists, get latest FOLLOWUP
|
|
56
|
+
// If no RESPOND, but there is at least one FOLLOWUP, return the last FOLLOWUP
|
|
57
|
+
const lastFollowUp = [...this.children]
|
|
58
|
+
.reverse()
|
|
59
|
+
.find((child) => child.messageType === QueryCreateContext.FOLLOWUP);
|
|
60
|
+
if (lastFollowUp) {
|
|
61
|
+
return new Date(lastFollowUp.createdOn);
|
|
62
|
+
}
|
|
63
|
+
// 5. Legacy fallback: no messageType at all
|
|
64
|
+
if (allChildrenLackMessageType) {
|
|
65
|
+
const index = childrenCount % 2 === 0 ? childrenCount - 1 : childrenCount - 2;
|
|
66
|
+
return new Date(this.children[index]?.createdOn);
|
|
67
|
+
}
|
|
68
|
+
// 6. Final fallback: return last child's date
|
|
69
|
+
return new Date(this.lastSubmittedMessage.createdOn);
|
|
48
70
|
}
|
|
49
71
|
get lastResponseBy() {
|
|
50
72
|
return this.children?.length > 0 ? this.lastSubmittedMessage.name : '';
|
|
@@ -54,6 +76,11 @@ export class QueryListItem {
|
|
|
54
76
|
if (childrenCount === 0) {
|
|
55
77
|
return null;
|
|
56
78
|
}
|
|
79
|
+
const lastChild = this.children[childrenCount - 1];
|
|
80
|
+
if (lastChild?.messageType === QueryCreateContext.FOLLOWUP &&
|
|
81
|
+
!this.children.some((child) => child.messageType === QueryCreateContext.RESPOND)) {
|
|
82
|
+
return null;
|
|
83
|
+
}
|
|
57
84
|
let index;
|
|
58
85
|
if (childrenCount === 1) {
|
|
59
86
|
index = 0;
|
|
@@ -68,11 +95,20 @@ export class QueryListItem {
|
|
|
68
95
|
if (item.isClosed === 'Yes') {
|
|
69
96
|
return true;
|
|
70
97
|
}
|
|
71
|
-
return item.children?.some(child => isThreadClosed(child)) || false;
|
|
98
|
+
return item.children?.some((child) => isThreadClosed(child)) || false;
|
|
72
99
|
};
|
|
73
100
|
if (isThreadClosed(this)) {
|
|
74
101
|
return QueryItemResponseStatus.CLOSED;
|
|
75
102
|
}
|
|
103
|
+
const lastMessageType = this.children?.length
|
|
104
|
+
? this.children[this.children.length - 1]?.messageType
|
|
105
|
+
: undefined;
|
|
106
|
+
if (lastMessageType && lastMessageType === QueryCreateContext.RESPOND) {
|
|
107
|
+
return QueryItemResponseStatus.RESPONDED;
|
|
108
|
+
}
|
|
109
|
+
else if (lastMessageType && lastMessageType === QueryCreateContext.FOLLOWUP) {
|
|
110
|
+
return QueryItemResponseStatus.AWAITING;
|
|
111
|
+
}
|
|
76
112
|
if (this.messageIndexInParent !== null) {
|
|
77
113
|
return this.messageIndexInParent % 2 === 0
|
|
78
114
|
? QueryItemResponseStatus.RESPONDED
|
|
@@ -88,4 +124,4 @@ export class QueryListItem {
|
|
|
88
124
|
return QueryItemResponseStatus.AWAITING;
|
|
89
125
|
}
|
|
90
126
|
}
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktbGlzdC1pdGVtLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvcXVlcnktbWFuYWdlbWVudC9tb2RlbHMvcXVlcnktbGlzdC9xdWVyeS1saXN0LWl0ZW0vcXVlcnktbGlzdC1pdGVtLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBR3pGLE1BQU0sT0FBTyxhQUFhO0lBQ2pCLEVBQUUsQ0FBUztJQUNYLE9BQU8sQ0FBVTtJQUNqQixJQUFJLENBQVM7SUFDYixJQUFJLENBQVM7SUFDYixXQUFXLEdBQTRCLEVBQUUsQ0FBQztJQUMxQyxnQkFBZ0IsQ0FBUztJQUN6QixXQUFXLENBQVU7SUFDckIsU0FBUyxDQUFPO0lBQ2hCLFNBQVMsQ0FBUztJQUNsQixRQUFRLENBQVU7SUFDbEIsUUFBUSxDQUFVO0lBQ2xCLFFBQVEsR0FBb0IsRUFBRSxDQUFDO0lBRS9CLG9CQUFvQixHQUFtQixJQUFJLENBQUM7SUFFbkQsSUFBVyxvQkFBb0I7UUFDN0IsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLElBQW1CLEVBQWlCLEVBQUU7WUFDckUsSUFBSSxvQkFBb0IsR0FBa0IsSUFBSSxDQUFDO1lBQy9DLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDOUMsS0FBSyxNQUFNLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBQ2xDLE1BQU0seUJBQXlCLEdBQUcsdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ2pFLElBQUkseUJBQXlCLENBQUMsU0FBUyxHQUFHLG9CQUFvQixDQUFD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LE9BQU8sSUFBSSxDQUFDLG9CQUFvQixHQUFHLENBQUMsS0FBSyxDQUFDO2dCQUN4QyxDQUFDLENBQUMsdUJBQXVCLENBQUMsU0FBUztnQkFDbkMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQztRQUN2QyxDQUFDO1FBRUQsZ0NBQWdDO1FBQ2hDLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM5QyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsS0FBSyxDQUFDO2dCQUNuQyxDQUFDLENBQUMsdUJBQXVCLENBQUMsU0FBUztnQkFDbkMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQztRQUN2QyxDQUFDO1FBRUQsK0JBQStCO1FBQy9CLE9BQU8sdUJBQXVCLENBQUMsUUFBUSxDQUFDO0lBQzFDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFF1ZXJ5SXRlbVJlc3BvbnNlU3RhdHVzIH0gZnJvbSAnLi4vLi4vLi4vZW51bXMvcXVlcnktaXRlbS1yZXNwb25zZS1zdGF0dXMuZW51bSc7XG5pbXBvcnQgeyBDYXNlTWVzc2FnZSwgUXVlcnlNZXNzYWdlRG9jdW1lbnQgfSBmcm9tICcuLi8uLi9jYXNlLXF1ZXJpZXMtY29sbGVjdGlvbi5tb2RlbCc7XG5cbmV4cG9ydCBjbGFzcyBRdWVyeUxpc3RJdGVtIGltcGxlbWVudHMgQ2FzZU1lc3NhZ2Uge1xuICBwdWJsaWMgaWQ6IHN0cmluZztcbiAgcHVibGljIHN1YmplY3Q/OiBzdHJpbmc7XG4gIHB1YmxpYyBuYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyBib2R5OiBzdHJpbmc7XG4gIHB1YmxpYyBhdHRhY2htZW50cz86IFF1ZXJ5TWVzc2FnZURvY3VtZW50W10gPSBbXTtcbiAgcHVibGljIGlzSGVhcmluZ1JlbGF0ZWQ6IHN0cmluZztcbiAgcHVibGljIGhlYXJpbmdEYXRlPzogc3RyaW5nO1xuICBwdWJsaWMgY3JlYXRlZE9uOiBEYXRlO1xuICBwdWJsaWMgY3JlYXRlZEJ5OiBzdHJpbmc7XG4gIHB1YmxpYyBwYXJlbnRJZD86IHN0cmluZztcbiAgcHVibGljIGlzQ2xvc2VkPzogc3RyaW5nO1xuICBwdWJsaWMgY2hpbGRyZW46IFF1ZXJ5TGlzdEl0ZW1bXSA9IFtdO1xuXG4gIHB1YmxpYyBtZXNzYWdlSW5kZXhJblBhcmVudD86IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gIHB1YmxpYyBnZXQgbGFzdFN1Ym1pdHRlZE1lc3NhZ2UoKTogUXVlcnlMaXN0SXRlbSB7XG4gICAgY29uc3QgZ2V0TGFzdFN1Ym1pdHRlZE1lc3NhZ2UgPSAoaXRlbTogUXVlcnlMaXN0SXRlbSk6IFF1ZXJ5TGlzdEl0ZW0gPT4ge1xuICAgICAgbGV0IGxhc3RTdWJtaXR0ZWRNZXNzYWdlOiBRdWVyeUxpc3RJdGVtID0gaXRlbTtcbiAgICAgIGlmIChpdGVtLmNoaWxkcmVuICYmIGl0ZW0uY2hpbGRyZW4ubGVuZ3RoID4gMSkge1xuICAgICAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIGl0ZW0uY2hpbGRyZW4pIHtcbiAgICAgICAgICBjb25zdCBjaGlsZExhc3RTdWJtaXR0ZWRNZXNzYWdlID0gZ2V0TGFzdFN1Ym1pdHRlZE1lc3NhZ2UoY2hpbGQpO1xuICAgICAgICAgIGlmIChjaGlsZExhc3RTdWJtaXR0ZWRNZXNzYWdlLmNyZWF0ZWRPbiA+IGxhc3RTdWJtaXR0ZWRNZXNzYWdlLmNyZWF0ZWRPbikge1xuICAgICAgICAgICAgbGFzdFN1Ym1pdHRlZE1lc3NhZ2UgPSBjaGlsZExhc3RTdWJtaXR0ZWRNZXNzYWdlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIGxhc3RTdWJtaXR0ZWRNZXNzYWdlO1xuICAgIH07XG5cbiAgICByZXR1cm4gZ2V0TGFzdFN1Ym1pdHRlZE1lc3NhZ2UodGhpcyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGxhc3RTdWJtaXR0ZWRCeSgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNoaWxkcmVuQ291bnQgPSB0aGlzLmNoaWxkcmVuLmxlbmd0aDtcbiAgICBpZiAoY2hpbGRyZW5Db3VudCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHRoaXMubGFzdFN1Ym1pdHRlZE1lc3NhZ2UubmFtZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5jaGlsZHJlbltjaGlsZHJlbkNvdW50IC0gMV0ubmFtZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbGFzdFN1Ym1pdHRlZERhdGUoKTogRGF0ZSB7XG4gICAgY29uc3QgY2hpbGRyZW5Db3VudCA9IHRoaXMuY2hpbGRyZW4ubGVuZ3RoO1xuICAgIGlmIChjaGlsZHJlbkNvdW50IDw9IDEpIHtcbiAgICAgIHJldHVybiBuZXcgRGF0ZSh0aGlzLmxhc3RTdWJtaXR0ZWRNZXNzYWdlLmNyZWF0ZWRPbik7XG4gICAgfVxuXG4gICAgbGV0IGluZGV4OiBudW1iZXI7XG5cbiAgICBpZiAoY2hpbGRyZW5Db3VudCA+IDEpIHtcbiAgICAgIGluZGV4ID0gY2hpbGRyZW5Db3VudCAlIDIgPT09IDAgPyBjaGlsZHJlbkNvdW50IC0gMSA6IGNoaWxkcmVuQ291bnQgLSAyO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgRGF0ZSh0aGlzLmNoaWxkcmVuW2luZGV4XS5jcmVhdGVkT24pO1xuICB9XG5cbiAgcHVibGljIGdldCBsYXN0UmVzcG9uc2VCeSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmNoaWxkcmVuPy5sZW5ndGggPiAwID8gdGhpcy5sYXN0U3VibWl0dGVkTWVzc2FnZS5uYW1lIDogJyc7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGxhc3RSZXNwb25zZURhdGUoKTogRGF0ZSB8IG51bGwge1xuICAgIGNvbnN0IGNoaWxkcmVuQ291bnQgPSB0aGlzLmNoaWxkcmVuLmxlbmd0aDtcbiAgICBpZiAoY2hpbGRyZW5Db3VudCA9PT0gMCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgbGV0IGluZGV4OiBudW1iZXI7XG5cbiAgICBpZiAoY2hpbGRyZW5Db3VudCA9PT0gMSkge1xuICAgICAgaW5kZXggPSAwO1xuICAgIH0gZWxzZSB7XG4gICAgICBpbmRleCA9IGNoaWxkcmVuQ291bnQgJSAyID09PSAxID8gY2hpbGRyZW5Db3VudCAtIDEgOiBjaGlsZHJlbkNvdW50IC0gMjtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IERhdGUodGhpcy5jaGlsZHJlbltpbmRleF0uY3JlYXRlZE9uKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmVzcG9uc2VTdGF0dXMoKTogUXVlcnlJdGVtUmVzcG9uc2VTdGF0dXMge1xuICAgIGNvbnN0IGlzVGhyZWFkQ2xvc2VkID0gKGl0ZW06IFF1ZXJ5TGlzdEl0ZW0pOiBib29sZWFuID0+IHtcbiAgICAgIGlmIChpdGVtLmlzQ2xvc2VkID09PSAnWWVzJykge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBpdGVtLmNoaWxkcmVuPy5zb21lKGNoaWxkID0+IGlzVGhyZWFkQ2xvc2VkKGNoaWxkKSkgfHwgZmFsc2U7XG4gICAgfTtcblxuICAgIGlmIChpc1RocmVhZENsb3NlZCh0aGlzKSkge1xuICAgICAgcmV0dXJuIFF1ZXJ5SXRlbVJlc3BvbnNlU3RhdHVzLkNMT1NFRDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5tZXNzYWdlSW5kZXhJblBhcmVudCAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRoaXMubWVzc2FnZUluZGV4SW5QYXJlbnQgJSAyID09PSAwXG4gICAgICAgID8gUXVlcnlJdGVtUmVzcG9uc2VTdGF0dXMuUkVTUE9OREVEXG4gICAgICAgIDogUXVlcnlJdGVtUmVzcG9uc2VTdGF0dXMuQVdBSVRJTkc7XG4gICAgfVxuXG4gICAgLy8gUGFyZW50IGxvZ2ljIChjaGlsZHJlbiBjb3VudClcbiAgICBpZiAodGhpcy5jaGlsZHJlbiAmJiB0aGlzLmNoaWxkcmVuLmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiB0aGlzLmNoaWxkcmVuLmxlbmd0aCAlIDIgPT09IDFcbiAgICAgICAgPyBRdWVyeUl0ZW1SZXNwb25zZVN0YXR1cy5SRVNQT05ERURcbiAgICAgICAgOiBRdWVyeUl0ZW1SZXNwb25zZVN0YXR1cy5BV0FJVElORztcbiAgICB9XG5cbiAgICAvLyBObyBjaGlsZHJlbiDigJQgc3RpbGwgYXdhaXRpbmdcbiAgICByZXR1cm4gUXVlcnlJdGVtUmVzcG9uc2VTdGF0dXMuQVdBSVRJTkc7XG4gIH1cbn1cbiJdfQ==
|
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktbGlzdC1pdGVtLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvcXVlcnktbWFuYWdlbWVudC9tb2RlbHMvcXVlcnktbGlzdC9xdWVyeS1saXN0LWl0ZW0vcXVlcnktbGlzdC1pdGVtLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUMzQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUd6RixNQUFNLE9BQU8sYUFBYTtJQUNqQixFQUFFLENBQVM7SUFDWCxPQUFPLENBQVU7SUFDakIsSUFBSSxDQUFTO0lBQ2IsSUFBSSxDQUFTO0lBQ2IsV0FBVyxHQUE0QixFQUFFLENBQUM7SUFDMUMsZ0JBQWdCLENBQVM7SUFDekIsV0FBVyxDQUFVO0lBQ3JCLFNBQVMsQ0FBTztJQUNoQixTQUFTLENBQVM7SUFDbEIsUUFBUSxDQUFVO0lBQ2xCLFFBQVEsQ0FBVTtJQUNsQixXQUFXLENBQVU7SUFDckIsUUFBUSxHQUFvQixFQUFFLENBQUM7SUFFL0Isb0JBQW9CLEdBQW1CLElBQUksQ0FBQztJQUVuRCxJQUFXLG9CQUFvQjtRQUM3QixNQUFNLHVCQUF1QixHQUFHLENBQUMsSUFBbUIsRUFBaUIsRUFBRTtZQUNyRSxJQUFJLG9CQUFvQixHQUFrQixJQUFJLENBQUM7WUFDL0MsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUM5QyxLQUFLLE1BQU0sS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFDbEMsTUFBTSx5QkFBeUIsR0FBRyx1QkFBdUIsQ0FBQyxL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QUUsQ0FBQztZQUM5QyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsS0FBSyxDQUFDO2dCQUNuQyxDQUFDLENBQUMsdUJBQXVCLENBQUMsU0FBUztnQkFDbkMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQztRQUN2QyxDQUFDO1FBRUQsK0JBQStCO1FBQy9CLE9BQU8sdUJBQXVCLENBQUMsUUFBUSxDQUFDO0lBQzFDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFF1ZXJ5Q3JlYXRlQ29udGV4dCB9IGZyb20gJy4uLy4uJztcbmltcG9ydCB7IFF1ZXJ5SXRlbVJlc3BvbnNlU3RhdHVzIH0gZnJvbSAnLi4vLi4vLi4vZW51bXMvcXVlcnktaXRlbS1yZXNwb25zZS1zdGF0dXMuZW51bSc7XG5pbXBvcnQgeyBDYXNlTWVzc2FnZSwgUXVlcnlNZXNzYWdlRG9jdW1lbnQgfSBmcm9tICcuLi8uLi9jYXNlLXF1ZXJpZXMtY29sbGVjdGlvbi5tb2RlbCc7XG5cbmV4cG9ydCBjbGFzcyBRdWVyeUxpc3RJdGVtIGltcGxlbWVudHMgQ2FzZU1lc3NhZ2Uge1xuICBwdWJsaWMgaWQ6IHN0cmluZztcbiAgcHVibGljIHN1YmplY3Q/OiBzdHJpbmc7XG4gIHB1YmxpYyBuYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyBib2R5OiBzdHJpbmc7XG4gIHB1YmxpYyBhdHRhY2htZW50cz86IFF1ZXJ5TWVzc2FnZURvY3VtZW50W10gPSBbXTtcbiAgcHVibGljIGlzSGVhcmluZ1JlbGF0ZWQ6IHN0cmluZztcbiAgcHVibGljIGhlYXJpbmdEYXRlPzogc3RyaW5nO1xuICBwdWJsaWMgY3JlYXRlZE9uOiBEYXRlO1xuICBwdWJsaWMgY3JlYXRlZEJ5OiBzdHJpbmc7XG4gIHB1YmxpYyBwYXJlbnRJZD86IHN0cmluZztcbiAgcHVibGljIGlzQ2xvc2VkPzogc3RyaW5nO1xuICBwdWJsaWMgbWVzc2FnZVR5cGU/OiBzdHJpbmc7XG4gIHB1YmxpYyBjaGlsZHJlbjogUXVlcnlMaXN0SXRlbVtdID0gW107XG5cbiAgcHVibGljIG1lc3NhZ2VJbmRleEluUGFyZW50PzogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgcHVibGljIGdldCBsYXN0U3VibWl0dGVkTWVzc2FnZSgpOiBRdWVyeUxpc3RJdGVtIHtcbiAgICBjb25zdCBnZXRMYXN0U3VibWl0dGVkTWVzc2FnZSA9IChpdGVtOiBRdWVyeUxpc3RJdGVtKTogUXVlcnlMaXN0SXRlbSA9PiB7XG4gICAgICBsZXQgbGFzdFN1Ym1pdHRlZE1lc3NhZ2U6IFF1ZXJ5TGlzdEl0ZW0gPSBpdGVtO1xuICAgICAgaWYgKGl0ZW0uY2hpbGRyZW4gJiYgaXRlbS5jaGlsZHJlbi5sZW5ndGggPiAxKSB7XG4gICAgICAgIGZvciAoY29uc3QgY2hpbGQgb2YgaXRlbS5jaGlsZHJlbikge1xuICAgICAgICAgIGNvbnN0IGNoaWxkTGFzdFN1Ym1pdHRlZE1lc3NhZ2UgPSBnZXRMYXN0U3VibWl0dGVkTWVzc2FnZShjaGlsZCk7XG4gICAgICAgICAgaWYgKGNoaWxkTGFzdFN1Ym1pdHRlZE1lc3NhZ2UuY3JlYXRlZE9uID4gbGFzdFN1Ym1pdHRlZE1lc3NhZ2UuY3JlYXRlZE9uKSB7XG4gICAgICAgICAgICBsYXN0U3VibWl0dGVkTWVzc2FnZSA9IGNoaWxkTGFzdFN1Ym1pdHRlZE1lc3NhZ2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gbGFzdFN1Ym1pdHRlZE1lc3NhZ2U7XG4gICAgfTtcblxuICAgIHJldHVybiBnZXRMYXN0U3VibWl0dGVkTWVzc2FnZSh0aGlzKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbGFzdFN1Ym1pdHRlZEJ5KCk6IHN0cmluZyB7XG4gICAgY29uc3QgY2hpbGRyZW5Db3VudCA9IHRoaXMuY2hpbGRyZW4ubGVuZ3RoO1xuICAgIGlmIChjaGlsZHJlbkNvdW50ID09PSAwKSB7XG4gICAgICByZXR1cm4gdGhpcy5sYXN0U3VibWl0dGVkTWVzc2FnZS5uYW1lO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmNoaWxkcmVuW2NoaWxkcmVuQ291bnQgLSAxXS5uYW1lO1xuICB9XG5cbiAgcHVibGljIGdldCBsYXN0U3VibWl0dGVkRGF0ZSgpOiBEYXRlIHtcbiAgICBjb25zdCBjaGlsZHJlbkNvdW50ID0gdGhpcy5jaGlsZHJlbi5sZW5ndGg7XG4gICAgY29uc3QgbGFzdENoaWxkID0gdGhpcy5jaGlsZHJlbltjaGlsZHJlbkNvdW50IC0gMV07XG5cbiAgICAvLyAxLiBDaGVjayBmb3IgbGVnYWN5OiA8PSAxIGNoaWxkIHdpdGggbm8gbWVzc2FnZVR5cGVcbiAgICBjb25zdCBhbGxDaGlsZHJlbkxhY2tNZXNzYWdlVHlwZSA9IHRoaXMuY2hpbGRyZW4uZXZlcnkoXG4gICAgICAoY2hpbGQpID0+ICFjaGlsZC5tZXNzYWdlVHlwZVxuICAgICk7XG4gICAgaWYgKGNoaWxkcmVuQ291bnQgPD0gMSAmJiBhbGxDaGlsZHJlbkxhY2tNZXNzYWdlVHlwZSkge1xuICAgICAgcmV0dXJuIG5ldyBEYXRlKHRoaXMubGFzdFN1Ym1pdHRlZE1lc3NhZ2UuY3JlYXRlZE9uKTtcbiAgICB9XG5cbiAgICAvLyAyLiBDaGVjayBpZiBhbnkgUkVTUE9ORCBleGlzdHNcbiAgICBjb25zdCBoYXNSZXNwb25kID0gdGhpcy5jaGlsZHJlbi5zb21lKFxuICAgICAgKGNoaWxkKSA9PiBjaGlsZC5tZXNzYWdlVHlwZSA9PT0gUXVlcnlDcmVhdGVDb250ZXh0LlJFU1BPTkRcbiAgICApO1xuXG4gICAgLy8gMy4gQ2hlY2sgaWYgYWxsIGNoaWxkcmVuIGFyZSBGT0xMT1dVUHMgYW5kIG5vbmUgYXJlIFJFU1BPTkRzXG4gICAgY29uc3Qgb25seUZvbGxvd1VwcyA9IHRoaXMuY2hpbGRyZW4uZXZlcnkoXG4gICAgICAoY2hpbGQpID0+IGNoaWxkLm1lc3NhZ2VUeXBlID09PSBRdWVyeUNyZWF0ZUNvbnRleHQuRk9MTE9XVVBcbiAgICApO1xuXG4gICAgaWYgKG9ubHlGb2xsb3dVcHMgJiYgIWhhc1Jlc3BvbmQpIHtcbiAgICAgIHJldHVybiBuZXcgRGF0ZShsYXN0Q2hpbGQuY3JlYXRlZE9uKTtcbiAgICB9XG5cbiAgICAvLyA0LiBJZiBSRVNQT05EIGV4aXN0cywgZ2V0IGxhdGVzdCBGT0xMT1dVUFxuICAgIC8vIElmIG5vIFJFU1BPTkQsIGJ1dCB0aGVyZSBpcyBhdCBsZWFzdCBvbmUgRk9MTE9XVVAsIHJldHVybiB0aGUgbGFzdCBGT0xMT1dVUFxuICAgIGNvbnN0IGxhc3RGb2xsb3dVcCA9IFsuLi50aGlzLmNoaWxkcmVuXVxuICAgICAgLnJldmVyc2UoKVxuICAgICAgLmZpbmQoKGNoaWxkKSA9PiBjaGlsZC5tZXNzYWdlVHlwZSA9PT0gUXVlcnlDcmVhdGVDb250ZXh0LkZPTExPV1VQKTtcblxuICAgIGlmIChsYXN0Rm9sbG93VXApIHtcbiAgICAgIHJldHVybiBuZXcgRGF0ZShsYXN0Rm9sbG93VXAuY3JlYXRlZE9uKTtcbiAgICB9XG5cbiAgICAvLyA1LiBMZWdhY3kgZmFsbGJhY2s6IG5vIG1lc3NhZ2VUeXBlIGF0IGFsbFxuICAgIGlmIChhbGxDaGlsZHJlbkxhY2tNZXNzYWdlVHlwZSkge1xuICAgICAgY29uc3QgaW5kZXggPSBjaGlsZHJlbkNvdW50ICUgMiA9PT0gMCA/IGNoaWxkcmVuQ291bnQgLSAxIDogY2hpbGRyZW5Db3VudCAtIDI7XG4gICAgICByZXR1cm4gbmV3IERhdGUodGhpcy5jaGlsZHJlbltpbmRleF0/LmNyZWF0ZWRPbik7XG4gICAgfVxuXG4gICAgLy8gNi4gRmluYWwgZmFsbGJhY2s6IHJldHVybiBsYXN0IGNoaWxkJ3MgZGF0ZVxuICAgIHJldHVybiBuZXcgRGF0ZSh0aGlzLmxhc3RTdWJtaXR0ZWRNZXNzYWdlLmNyZWF0ZWRPbik7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGxhc3RSZXNwb25zZUJ5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuY2hpbGRyZW4/Lmxlbmd0aCA+IDAgPyB0aGlzLmxhc3RTdWJtaXR0ZWRNZXNzYWdlLm5hbWUgOiAnJztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbGFzdFJlc3BvbnNlRGF0ZSgpOiBEYXRlIHwgbnVsbCB7XG4gICAgY29uc3QgY2hpbGRyZW5Db3VudCA9IHRoaXMuY2hpbGRyZW4ubGVuZ3RoO1xuICAgIGlmIChjaGlsZHJlbkNvdW50ID09PSAwKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBsYXN0Q2hpbGQgPSB0aGlzLmNoaWxkcmVuW2NoaWxkcmVuQ291bnQgLSAxXTtcblxuICAgIGlmIChcbiAgICAgIGxhc3RDaGlsZD8ubWVzc2FnZVR5cGUgPT09IFF1ZXJ5Q3JlYXRlQ29udGV4dC5GT0xMT1dVUCAmJlxuICAgICF0aGlzLmNoaWxkcmVuLnNvbWUoKGNoaWxkKSA9PiBjaGlsZC5tZXNzYWdlVHlwZSA9PT0gUXVlcnlDcmVhdGVDb250ZXh0LlJFU1BPTkQpXG4gICAgKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBsZXQgaW5kZXg6IG51bWJlcjtcbiAgICBpZiAoY2hpbGRyZW5Db3VudCA9PT0gMSkge1xuICAgICAgaW5kZXggPSAwO1xuICAgIH0gZWxzZSB7XG4gICAgICBpbmRleCA9IGNoaWxkcmVuQ291bnQgJSAyID09PSAxID8gY2hpbGRyZW5Db3VudCAtIDEgOiBjaGlsZHJlbkNvdW50IC0gMjtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IERhdGUodGhpcy5jaGlsZHJlbltpbmRleF0uY3JlYXRlZE9uKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmVzcG9uc2VTdGF0dXMoKTogUXVlcnlJdGVtUmVzcG9uc2VTdGF0dXMge1xuICAgIGNvbnN0IGlzVGhyZWFkQ2xvc2VkID0gKGl0ZW06IFF1ZXJ5TGlzdEl0ZW0pOiBib29sZWFuID0+IHtcbiAgICAgIGlmIChpdGVtLmlzQ2xvc2VkID09PSAnWWVzJykge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBpdGVtLmNoaWxkcmVuPy5zb21lKChjaGlsZCkgPT4gaXNUaHJlYWRDbG9zZWQoY2hpbGQpKSB8fCBmYWxzZTtcbiAgICB9O1xuXG4gICAgaWYgKGlzVGhyZWFkQ2xvc2VkKHRoaXMpKSB7XG4gICAgICByZXR1cm4gUXVlcnlJdGVtUmVzcG9uc2VTdGF0dXMuQ0xPU0VEO1xuICAgIH1cblxuICAgIGNvbnN0IGxhc3RNZXNzYWdlVHlwZSA9IHRoaXMuY2hpbGRyZW4/Lmxlbmd0aFxuICAgICAgPyB0aGlzLmNoaWxkcmVuW3RoaXMuY2hpbGRyZW4ubGVuZ3RoIC0gMV0/Lm1lc3NhZ2VUeXBlXG4gICAgICA6IHVuZGVmaW5lZDtcblxuICAgIGlmIChsYXN0TWVzc2FnZVR5cGUgJiYgbGFzdE1lc3NhZ2VUeXBlID09PSBRdWVyeUNyZWF0ZUNvbnRleHQuUkVTUE9ORCkge1xuICAgICAgcmV0dXJuIFF1ZXJ5SXRlbVJlc3BvbnNlU3RhdHVzLlJFU1BPTkRFRDtcbiAgICB9IGVsc2UgaWYgKGxhc3RNZXNzYWdlVHlwZSAmJiBsYXN0TWVzc2FnZVR5cGUgPT09IFF1ZXJ5Q3JlYXRlQ29udGV4dC5GT0xMT1dVUCkge1xuICAgICAgcmV0dXJuIFF1ZXJ5SXRlbVJlc3BvbnNlU3RhdHVzLkFXQUlUSU5HO1xuICAgIH1cblxuICAgIGlmICh0aGlzLm1lc3NhZ2VJbmRleEluUGFyZW50ICE9PSBudWxsKSB7XG4gICAgICByZXR1cm4gdGhpcy5tZXNzYWdlSW5kZXhJblBhcmVudCAlIDIgPT09IDBcbiAgICAgICAgPyBRdWVyeUl0ZW1SZXNwb25zZVN0YXR1cy5SRVNQT05ERURcbiAgICAgICAgOiBRdWVyeUl0ZW1SZXNwb25zZVN0YXR1cy5BV0FJVElORztcbiAgICB9XG5cbiAgICAvLyBQYXJlbnQgbG9naWMgKGNoaWxkcmVuIGNvdW50KVxuICAgIGlmICh0aGlzLmNoaWxkcmVuICYmIHRoaXMuY2hpbGRyZW4ubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIHRoaXMuY2hpbGRyZW4ubGVuZ3RoICUgMiA9PT0gMVxuICAgICAgICA/IFF1ZXJ5SXRlbVJlc3BvbnNlU3RhdHVzLlJFU1BPTkRFRFxuICAgICAgICA6IFF1ZXJ5SXRlbVJlc3BvbnNlU3RhdHVzLkFXQUlUSU5HO1xuICAgIH1cblxuICAgIC8vIE5vIGNoaWxkcmVuIOKAlCBzdGlsbCBhd2FpdGluZ1xuICAgIHJldHVybiBRdWVyeUl0ZW1SZXNwb25zZVN0YXR1cy5BV0FJVElORztcbiAgfVxufVxuIl19
|