@hmcts/ccd-case-ui-toolkit 7.2.53 → 7.2.54

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.
@@ -1,7 +1,7 @@
1
1
  import { Component } from '@angular/core';
2
2
  import { ActivatedRoute } from '@angular/router';
3
3
  import { SessionStorageService } from '../../../services';
4
- import { isInternalUser } from '../../../utils';
4
+ import { isInternalUser, isJudiciaryUser } from '../../../utils';
5
5
  import { AbstractFieldReadComponent } from '../base-field/abstract-field-read.component';
6
6
  import { PaletteContext } from '../base-field/palette-context.enum';
7
7
  import { QueryCreateContext } from './models';
@@ -129,7 +129,7 @@ function ReadQueryManagementFieldComponent_ng_template_1_Template(rf, ctx) { if
129
129
  const ctx_r1 = i0.ɵɵnextContext();
130
130
  i0.ɵɵproperty("query", ctx_r1.query)("caseId", ctx_r1.caseId);
131
131
  i0.ɵɵadvance();
132
- i0.ɵɵproperty("ngIf", !ctx_r1.isInternalUser() && !ctx_r1.isQueryClosed);
132
+ i0.ɵɵproperty("ngIf", !ctx_r1.isInternalUser() && !ctx_r1.isQueryClosed && !ctx_r1.isJudiciaryUser());
133
133
  i0.ɵɵadvance();
134
134
  i0.ɵɵproperty("ngIf", ctx_r1.isQueryClosed);
135
135
  } }
@@ -208,6 +208,9 @@ export class ReadQueryManagementFieldComponent extends AbstractFieldReadComponen
208
208
  isInternalUser() {
209
209
  return isInternalUser(this.sessionStorageService);
210
210
  }
211
+ isJudiciaryUser() {
212
+ return isJudiciaryUser(this.sessionStorageService);
213
+ }
211
214
  getMessageType(query) {
212
215
  if (!query) {
213
216
  return undefined;
@@ -226,7 +229,7 @@ export class ReadQueryManagementFieldComponent extends AbstractFieldReadComponen
226
229
  }
227
230
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ReadQueryManagementFieldComponent, [{
228
231
  type: Component,
229
- args: [{ selector: 'ccd-read-query-management-field', template: "<ng-container *ngIf=\"showQueryList; else singleQueryDetails\">\n <ng-container *ngFor=\"let caseQueriesCollection of caseQueriesCollections\">\n <div *ngIf=\"showQueryList\" class=\"govuk-!-margin-top-8 govuk-!-margin-bottom-8\">\n <ccd-query-list (selectedQuery)=\"setQuery($event)\" [caseQueriesCollection]=\"caseQueriesCollection\"></ccd-query-list>\n </div>\n </ng-container>\n</ng-container>\n\n<ng-template #singleQueryDetails>\n <ccd-query-details\n [query]=\"query\"\n (backClicked)=\"showQueryList = true\"\n [caseId]=\"caseId\"\n ></ccd-query-details>\n\n <ng-container *ngIf=\"!isInternalUser() && !isQueryClosed\">\n <ng-container *ngIf=\"(messageType && messageType === followUpQuery && isMultipleFollowUpEnabled) || (messageType && messageType === respondToQuery); else sequentialQuery\">\n <button id=\"ask-follow-up-question\" class=\"govuk-button\" data-module=\"govuk-button\"\n [routerLink]=\"['/query-management', 'query', caseId, '4', query.id]\">\n {{ 'Ask a follow-up question' | rpxTranslate }}\n </button>\n </ng-container>\n <ng-template #sequentialQuery>\n <ng-container *ngIf=\"query?.children?.length > 0 && query?.children?.length % 2 === 1; else queryIsInReview\">\n <button id=\"ask-follow-up-question\" class=\"govuk-button\" data-module=\"govuk-button\"\n [routerLink]=\"['/query-management', 'query', caseId, '4', query.id]\">\n {{ 'Ask a follow-up question' | rpxTranslate }}\n </button>\n </ng-container>\n\n <ng-template #queryIsInReview>\n <div>\n <p class=\"govuk-!-font-weight-bold\">{{ 'Your query is under review' | rpxTranslate }}</p>\n <p>{{ 'Our team will read your query and respond. Do not submit the same query more than once.' | rpxTranslate }}</p>\n </div>\n </ng-template>\n </ng-template>\n\n </ng-container>\n <ng-container *ngIf=\"isQueryClosed\">\n <div class=\"govuk-warning-text\">\n <span aria-hidden=\"true\" class=\"govuk-warning-text__icon\">!</span>\n <strong class=\"govuk-warning-text__text\">\n <span class=\"govuk-visually-hidden\">Warning</span>\n <p class=\"qm-service-message govuk-!-font-weight-bold\">{{ 'This query has been closed by HMCTS staff.' | rpxTranslate }}</p>\n </strong>\n </div>\n </ng-container>\n</ng-template>\n" }]
232
+ args: [{ selector: 'ccd-read-query-management-field', template: "<ng-container *ngIf=\"showQueryList; else singleQueryDetails\">\n <ng-container *ngFor=\"let caseQueriesCollection of caseQueriesCollections\">\n <div *ngIf=\"showQueryList\" class=\"govuk-!-margin-top-8 govuk-!-margin-bottom-8\">\n <ccd-query-list (selectedQuery)=\"setQuery($event)\" [caseQueriesCollection]=\"caseQueriesCollection\"></ccd-query-list>\n </div>\n </ng-container>\n</ng-container>\n\n<ng-template #singleQueryDetails>\n <ccd-query-details\n [query]=\"query\"\n (backClicked)=\"showQueryList = true\"\n [caseId]=\"caseId\"\n ></ccd-query-details>\n\n <ng-container *ngIf=\"!isInternalUser() && !isQueryClosed && !isJudiciaryUser()\">\n <ng-container *ngIf=\"(messageType && messageType === followUpQuery && isMultipleFollowUpEnabled) || (messageType && messageType === respondToQuery); else sequentialQuery\">\n <button id=\"ask-follow-up-question\" class=\"govuk-button\" data-module=\"govuk-button\"\n [routerLink]=\"['/query-management', 'query', caseId, '4', query.id]\">\n {{ 'Ask a follow-up question' | rpxTranslate }}\n </button>\n </ng-container>\n <ng-template #sequentialQuery>\n <ng-container *ngIf=\"query?.children?.length > 0 && query?.children?.length % 2 === 1; else queryIsInReview\">\n <button id=\"ask-follow-up-question\" class=\"govuk-button\" data-module=\"govuk-button\"\n [routerLink]=\"['/query-management', 'query', caseId, '4', query.id]\">\n {{ 'Ask a follow-up question' | rpxTranslate }}\n </button>\n </ng-container>\n\n <ng-template #queryIsInReview>\n <div>\n <p class=\"govuk-!-font-weight-bold\">{{ 'Your query is under review' | rpxTranslate }}</p>\n <p>{{ 'Our team will read your query and respond. Do not submit the same query more than once.' | rpxTranslate }}</p>\n </div>\n </ng-template>\n </ng-template>\n\n </ng-container>\n <ng-container *ngIf=\"isQueryClosed\">\n <div class=\"govuk-warning-text\">\n <span aria-hidden=\"true\" class=\"govuk-warning-text__icon\">!</span>\n <strong class=\"govuk-warning-text__text\">\n <span class=\"govuk-visually-hidden\">Warning</span>\n <p class=\"qm-service-message govuk-!-font-weight-bold\">{{ 'This query has been closed by HMCTS staff.' | rpxTranslate }}</p>\n </strong>\n </div>\n </ng-container>\n</ng-template>\n" }]
230
233
  }], () => [{ type: i1.ActivatedRoute }, { type: i2.SessionStorageService }, { type: i3.CaseNotifier }, { type: i4.AbstractAppConfig }], null); })();
231
234
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ReadQueryManagementFieldComponent, { className: "ReadQueryManagementFieldComponent", filePath: "lib/shared/components/palette/query-management/read-query-management-field.component.ts", lineNumber: 18 }); })();
232
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZC1xdWVyeS1tYW5hZ2VtZW50LWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL3F1ZXJ5LW1hbmFnZW1lbnQvcmVhZC1xdWVyeS1tYW5hZ2VtZW50LWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL3F1ZXJ5LW1hbmFnZW1lbnQvcmVhZC1xdWVyeS1tYW5hZ2VtZW50LWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVqRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDekYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BFLE9BQU8sRUFBeUIsa0JBQWtCLEVBQWlCLE1BQU0sVUFBVSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7O0lDUHJELEFBREYsOEJBQWdGLHdCQUNxQjtJQUFuRiwwUEFBaUIsdUJBQWdC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UUFBUSxFQUFFLE1BQU07WUFDM0IsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEVBQUUsV0FBVztZQUN4RCxDQUFDLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQztJQUN6QixDQUFDOzJIQWpHVSxpQ0FBaUM7NkRBQWpDLGlDQUFpQztZQ1Q5QyxBQVJBLG9HQUE2RCxzSEFRNUI7OztZQVJHLEFBQXJCLHdDQUFxQixtQ0FBdUI7OztpRkRpQjlDLGlDQUFpQztjQUo3QyxTQUFTOzJCQUNFLGlDQUFpQzs7a0ZBR2hDLGlDQUFpQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IENhc2VUYWIgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgaXNJbnRlcm5hbFVzZXIgfSBmcm9tICcuLi8uLi8uLi91dGlscyc7XG5pbXBvcnQgeyBBYnN0cmFjdEZpZWxkUmVhZENvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtZmllbGQvYWJzdHJhY3QtZmllbGQtcmVhZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGFsZXR0ZUNvbnRleHQgfSBmcm9tICcuLi9iYXNlLWZpZWxkL3BhbGV0dGUtY29udGV4dC5lbnVtJztcbmltcG9ydCB7IENhc2VRdWVyaWVzQ29sbGVjdGlvbiwgUXVlcnlDcmVhdGVDb250ZXh0LCBRdWVyeUxpc3RJdGVtIH0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgUXVlcnlNYW5hZ2VtZW50VXRpbHMgfSBmcm9tICcuL3V0aWxzL3F1ZXJ5LW1hbmFnZW1lbnQudXRpbHMnO1xuaW1wb3J0IHsgQ2FzZU5vdGlmaWVyIH0gZnJvbSAnLi4vLi4vY2FzZS1lZGl0b3Ivc2VydmljZXMvY2FzZS5ub3RpZmllcic7XG5pbXBvcnQgeyBBYnN0cmFjdEFwcENvbmZpZyB9IGZyb20gJy4uLy4uLy4uLy4uL2FwcC5jb25maWcnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1yZWFkLXF1ZXJ5LW1hbmFnZW1lbnQtZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVhZC1xdWVyeS1tYW5hZ2VtZW50LWZpZWxkLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBSZWFkUXVlcnlNYW5hZ2VtZW50RmllbGRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdEZpZWxkUmVhZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHVibGljIGNhc2VRdWVyaWVzQ29sbGVjdGlvbnM6IENhc2VRdWVyaWVzQ29sbGVjdGlvbltdO1xuICBwdWJsaWMgcXVlcnk6IFF1ZXJ5TGlzdEl0ZW07XG4gIHB1YmxpYyBzaG93UXVlcnlMaXN0OiBib29sZWFuID0gdHJ1ZTtcbiAgcHVibGljIGNhc2VJZDogc3RyaW5nO1xuICBwdWJsaWMgbWVzc2FnZVR5cGU6IHN0cmluZztcblxuICBwdWJsaWMgZm9sbG93VXBRdWVyeTogc3RyaW5nID0gUXVlcnlDcmVhdGVDb250ZXh0LkZPTExPV1VQO1xuICBwdWJsaWMgcmVzcG9uZFRvUXVlcnk6IHN0cmluZyA9IFF1ZXJ5Q3JlYXRlQ29udGV4dC5SRVNQT05EO1xuXG4gIHB1YmxpYyBpc1F1ZXJ5Q2xvc2VkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIHZhbHVlOiBib29sZWFuO1xuICBwdWJsaWMgaXNNdWx0aXBsZUZvbGxvd1VwRW5hYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgY3VycmVudEp1cmlzZGljdGlvbklkOiBzdHJpbmc7XG4gIHB1YmxpYyBlbmFibGVTZXJ2aWNlU3BlY2lmaWNNdWx0aUZvbGxvd3Vwczogc3RyaW5nW10gPSBbXTtcblxuICBwcml2YXRlIGNhc2VTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHNlc3Npb25TdG9yYWdlU2VydmljZTogU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FzZU5vdGlmaWVyOiBDYXNlTm90aWZpZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBhYnN0cmFjdENvbmZpZzogQWJzdHJhY3RBcHBDb25maWdcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNhc2VJZCA9IHRoaXMucm91dGUuc25hcHNob3QucGFyYW1zLmNpZDtcblxuICAgIHRoaXMuZW5hYmxlU2VydmljZVNwZWNpZmljTXVsdGlGb2xsb3d1cHMgPSB0aGlzLmFic3RyYWN0Q29uZmlnLmdldEVuYWJsZVNlcnZpY2VTcGVjaWZpY011bHRpRm9sbG93dXBzKCkgfHwgW107XG4gICAgdGhpcy5jYXNlU3Vic2NyaXB0aW9uID0gdGhpcy5jYXNlTm90aWZpZXIuY2FzZVZpZXcuc3Vic2NyaWJlKChjYXNlRGV0YWlscykgPT4ge1xuICAgICAgaWYgKGNhc2VEZXRhaWxzPy5jYXNlX3R5cGU/Lmp1cmlzZGljdGlvbj8uaWQpIHtcbiAgICAgICAgdGhpcy5jdXJyZW50SnVyaXNkaWN0aW9uSWQgPSBjYXNlRGV0YWlscy5jYXNlX3R5cGUuanVyaXNkaWN0aW9uLmlkO1xuICAgICAgICB0aGlzLmlzTXVsdGlwbGVGb2xsb3dVcEVuYWJsZWQgPSB0aGlzLmVuYWJsZVNlcnZpY2VTcGVjaWZpY011bHRpRm9sbG93dXBzLmluY2x1ZGVzKHRoaXMuY3VycmVudEp1cmlzZGljdGlvbklkKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmICh0aGlzLmNvbnRleHQgPT09IFBhbGV0dGVDb250ZXh0LkRFRkFVTFQpIHtcbiAgICAgIC8vIEVVSS04MzAzIFVzaW5nIG1vY2sgZGF0YSB1bnRpbCBDQ0QgaXMgcmVhZHkgd2l0aCB0aGUgQVBJIGFuZCBkYXRhIGNvbnRyYWN0XG4gICAgICAvLyB0aGlzLmNhc2VRdWVyaWVzQ29sbGVjdGlvbnMgPSBjYXNlTWVzc2FnZXNNb2NrRGF0YTtcblxuICAgICAgLy8gVE9ETzogQWN0dWFsIGltcGxlbWVudGF0aW9uIG9uY2UgdGhlIENDRCBBUEkgYW5kIGRhdGEgY29udHJhY3QgaXMgYXZhaWxhYmxlXG4gICAgICAvLyBFYWNoIHBhcnRpZXMgd2lsbCBoYXZlIGEgc2VwYXJhdGUgY29sbGVjdGlvbiBvZiBwYXJ0eSBtZXNzYWdlc1xuICAgICAgLy8gRmluZCB3aGV0aGVyIHF1ZXJpZXMgdGFiIGlzIGF2YWlsYWJsZSBpbiB0aGUgY2FzZSBkYXRhXG4gICAgICB0aGlzLmNhc2VOb3RpZmllci5mZXRjaEFuZFJlZnJlc2godGhpcy5jYXNlSWQpXG4gICAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICAgIG5leHQ6IChjYXNlRGV0YWlscykgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMucm91dGUuc25hcHNob3QuZGF0YS5jYXNlPy50YWJzKSB7XG4gICAgICAgICAgICAgIHRoaXMuY2FzZVF1ZXJpZXNDb2xsZWN0aW9ucyA9IChjYXNlRGV0YWlscy50YWJzIGFzIENhc2VUYWJbXSlcbiAgICAgICAgICAgICAgICAuZmlsdGVyKCh0YWIpID0+IHRhYi5maWVsZHM/LnNvbWUoXG4gICAgICAgICAgICAgICAgICAoY2FzZUZpZWxkKSA9PiBjYXNlRmllbGQuZmllbGRfdHlwZS50eXBlID09PSAnQ29tcG9uZW50TGF1bmNoZXInICYmIGNhc2VGaWVsZC5pZCA9PT0gdGhpcy5jYXNlRmllbGQuaWQpKVxuICAgICAgICAgICAgICAgIFswXS5maWVsZHM/LnJlZHVjZSgoYWNjLCBjYXNlRmllbGQpID0+IHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGV4dHJhY3RlZENhc2VRdWVyaWVzRnJvbUNhc2VGaWVsZCA9IFF1ZXJ5TWFuYWdlbWVudFV0aWxzLmV4dHJhY3RDYXNlUXVlcmllc0Zyb21DYXNlRmllbGQoY2FzZUZpZWxkKTtcblxuICAgICAgICAgICAgICAgICAgaWYgKGV4dHJhY3RlZENhc2VRdWVyaWVzRnJvbUNhc2VGaWVsZCAmJiB0eXBlb2YgZXh0cmFjdGVkQ2FzZVF1ZXJpZXNGcm9tQ2FzZUZpZWxkID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgICAgICAgICBhY2MucHVzaChleHRyYWN0ZWRDYXNlUXVlcmllc0Zyb21DYXNlRmllbGQpO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICAgICAgICB9LCBbXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgLy8gTG9vcCB0aHJvdWdoIHRoZSBsaXN0IG9mIHBhcnRpZXMgYW5kIHRoZWlyIGNhc2UgcXVlcmllcyBjb2xsZWN0aW9uc1xuICAgICAgLy8gUXVlcnlNYW5hZ2VtZW50VXRpbHMuZXh0cmFjdENhc2VRdWVyaWVzRnJvbUNhc2VGaWVsZCgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuY2FzZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRRdWVyeShxdWVyeSk6IHZvaWQge1xuICAgIHRoaXMuc2hvd1F1ZXJ5TGlzdCA9IGZhbHNlO1xuICAgIHRoaXMucXVlcnkgPSBxdWVyeTtcbiAgICB0aGlzLm1lc3NhZ2VUeXBlID0gdGhpcy5nZXRNZXNzYWdlVHlwZShxdWVyeSk7XG4gICAgdGhpcy5pc1F1ZXJ5Q2xvc2VkID0gdGhpcy5xdWVyeT8uY2hpbGRyZW4/LnNvbWUoKHF1ZXJ5SXRlbSkgPT4gcXVlcnlJdGVtPy5pc0Nsb3NlZCA9PT0gJ1llcycpO1xuICB9XG5cbiAgcHVibGljIGJhY2tUb1F1ZXJ5TGlzdFBhZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5zaG93UXVlcnlMaXN0ID0gdHJ1ZTtcbiAgICB0aGlzLnF1ZXJ5ID0gbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBpc0ludGVybmFsVXNlcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNJbnRlcm5hbFVzZXIodGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UpO1xuICB9XG5cbiAgcHVibGljIGdldE1lc3NhZ2VUeXBlKHF1ZXJ5OiBhbnkpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmICghcXVlcnkpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHF1ZXJ5LmNoaWxkcmVuPy5sZW5ndGhcbiAgICAgID8gcXVlcnkuY2hpbGRyZW5bcXVlcnkuY2hpbGRyZW4ubGVuZ3RoIC0gMV0/Lm1lc3NhZ2VUeXBlXG4gICAgICA6IHF1ZXJ5Py5tZXNzYWdlVHlwZTtcbiAgfVxufVxuXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd1F1ZXJ5TGlzdDsgZWxzZSBzaW5nbGVRdWVyeURldGFpbHNcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY2FzZVF1ZXJpZXNDb2xsZWN0aW9uIG9mIGNhc2VRdWVyaWVzQ29sbGVjdGlvbnNcIj5cbiAgICA8ZGl2ICpuZ0lmPVwic2hvd1F1ZXJ5TGlzdFwiIGNsYXNzPVwiZ292dWstIS1tYXJnaW4tdG9wLTggZ292dWstIS1tYXJnaW4tYm90dG9tLThcIj5cbiAgICAgIDxjY2QtcXVlcnktbGlzdCAoc2VsZWN0ZWRRdWVyeSk9XCJzZXRRdWVyeSgkZXZlbnQpXCIgW2Nhc2VRdWVyaWVzQ29sbGVjdGlvbl09XCJjYXNlUXVlcmllc0NvbGxlY3Rpb25cIj48L2NjZC1xdWVyeS1saXN0PlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI3NpbmdsZVF1ZXJ5RGV0YWlscz5cbiAgPGNjZC1xdWVyeS1kZXRhaWxzXG4gICAgW3F1ZXJ5XT1cInF1ZXJ5XCJcbiAgICAoYmFja0NsaWNrZWQpPVwic2hvd1F1ZXJ5TGlzdCA9IHRydWVcIlxuICAgIFtjYXNlSWRdPVwiY2FzZUlkXCJcbiAgPjwvY2NkLXF1ZXJ5LWRldGFpbHM+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc0ludGVybmFsVXNlcigpICYmICFpc1F1ZXJ5Q2xvc2VkXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIihtZXNzYWdlVHlwZSAmJiBtZXNzYWdlVHlwZSA9PT0gZm9sbG93VXBRdWVyeSAgJiYgaXNNdWx0aXBsZUZvbGxvd1VwRW5hYmxlZCkgfHwgKG1lc3NhZ2VUeXBlICYmIG1lc3NhZ2VUeXBlID09PSByZXNwb25kVG9RdWVyeSk7IGVsc2Ugc2VxdWVudGlhbFF1ZXJ5XCI+XG4gICAgICA8YnV0dG9uIGlkPVwiYXNrLWZvbGxvdy11cC1xdWVzdGlvblwiIGNsYXNzPVwiZ292dWstYnV0dG9uXCIgZGF0YS1tb2R1bGU9XCJnb3Z1ay1idXR0b25cIlxuICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJbJy9xdWVyeS1tYW5hZ2VtZW50JywgJ3F1ZXJ5JywgY2FzZUlkLCAnNCcsIHF1ZXJ5LmlkXVwiPlxuICAgICAgICB7eyAnQXNrIGEgZm9sbG93LXVwIHF1ZXN0aW9uJyB8IHJweFRyYW5zbGF0ZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNzZXF1ZW50aWFsUXVlcnk+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicXVlcnk/LmNoaWxkcmVuPy5sZW5ndGggPiAwICYmIHF1ZXJ5Py5jaGlsZHJlbj8ubGVuZ3RoICUgMiA9PT0gMTsgZWxzZSBxdWVyeUlzSW5SZXZpZXdcIj5cbiAgICAgICAgPGJ1dHRvbiBpZD1cImFzay1mb2xsb3ctdXAtcXVlc3Rpb25cIiBjbGFzcz1cImdvdnVrLWJ1dHRvblwiIGRhdGEtbW9kdWxlPVwiZ292dWstYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJbJy9xdWVyeS1tYW5hZ2VtZW50JywgJ3F1ZXJ5JywgY2FzZUlkLCAnNCcsIHF1ZXJ5LmlkXVwiPlxuICAgICAgICAgIHt7ICdBc2sgYSBmb2xsb3ctdXAgcXVlc3Rpb24nIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjcXVlcnlJc0luUmV2aWV3PlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxwIGNsYXNzPVwiZ292dWstIS1mb250LXdlaWdodC1ib2xkXCI+e3sgJ1lvdXIgcXVlcnkgaXMgdW5kZXIgcmV2aWV3JyB8IHJweFRyYW5zbGF0ZSB9fTwvcD5cbiAgICAgICAgICA8cD57eyAnT3VyIHRlYW0gd2lsbCByZWFkIHlvdXIgcXVlcnkgYW5kIHJlc3BvbmQuIERvIG5vdCBzdWJtaXQgdGhlIHNhbWUgcXVlcnkgbW9yZSB0aGFuIG9uY2UuJyB8IHJweFRyYW5zbGF0ZSB9fTwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc1F1ZXJ5Q2xvc2VkXCI+XG4gICAgPGRpdiBjbGFzcz1cImdvdnVrLXdhcm5pbmctdGV4dFwiPlxuICAgICAgPHNwYW4gYXJpYS1oaWRkZW49XCJ0cnVlXCIgY2xhc3M9XCJnb3Z1ay13YXJuaW5nLXRleHRfX2ljb25cIj4hPC9zcGFuPlxuICAgICAgPHN0cm9uZyBjbGFzcz1cImdvdnVrLXdhcm5pbmctdGV4dF9fdGV4dFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPldhcm5pbmc8L3NwYW4+XG4gICAgICAgIDxwIGNsYXNzPVwicW0tc2VydmljZS1tZXNzYWdlIGdvdnVrLSEtZm9udC13ZWlnaHQtYm9sZFwiPnt7ICdUaGlzIHF1ZXJ5IGhhcyBiZWVuIGNsb3NlZCBieSBITUNUUyBzdGFmZi4nIHwgcnB4VHJhbnNsYXRlIH19PC9wPlxuICAgICAgPC9zdHJvbmc+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
235
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZC1xdWVyeS1tYW5hZ2VtZW50LWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL3F1ZXJ5LW1hbmFnZW1lbnQvcmVhZC1xdWVyeS1tYW5hZ2VtZW50LWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL3F1ZXJ5LW1hbmFnZW1lbnQvcmVhZC1xdWVyeS1tYW5hZ2VtZW50LWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVqRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNwRSxPQUFPLEVBQXlCLGtCQUFrQixFQUFpQixNQUFNLFVBQVUsQ0FBQztBQUNwRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7OztJQ1ByRCxBQURGLDhCQUFnRix3QkFDcUI7SUFBbkYsMFBBQWlCLHVCQUFnQixLQUFDO0lBQ3BELEFBRHFHLGlCQUFpQixFQUNoSDs7O0lBRCtDLGNBQStDO0lBQS9DLGdFQUErQzs7O0lBRnRHLDZCQUEyRTtJQUN6RSxnSEFBZ0Y7Ozs7SUFBMUUsY0FBbUI7SUFBbkIsMkNBQW1COzs7SUFGN0IsNkJBQTZEO0lBQzNELG1IQUEyRTs7OztJQUEzQixjQUF5QjtJQUF6Qix1REFBeUI7OztJQWV2RSw2QkFBNEs7SUFDMUssa0NBQzZFO0lBQzNFLFlBQ0Y7O0lBQUEsaUJBQVM7Ozs7SUFGRCxjQUFvRTtJQUFwRSx1RkFBb0U7SUFDMUUsY0FDRjtJQURFLGlGQUNGOzs7SUFHQSw2QkFBNkc7SUFDM0csa0NBQzZFO0lBQzNFLFlBQ0Y7O0lBQUEsaUJBQVM7Ozs7SUFGRCxjQUFvRTtJQUFwRSx1RkFBb0U7SUFDMUUsY0FDRjtJQURFLGlGQUNGOzs7SUFLRSxBQURGLDJCQUFLLFlBQ2lDO0lBQUEsWUFBaUQ7O0lBQUEsaUJBQUk7SUFDekYseUJBQUc7SUFBQSxZQUE4Rzs7SUFDbkgsQUFEbUgsaUJBQUksRUFDakg7O0lBRmdDLGVBQWlEO0lBQWpELHdFQUFpRDtJQUNsRixlQUE4RztJQUE5RyxxSUFBOEc7OztJQUhySCxBQVBBLCtJQUE2RyxpS0FPL0U7Ozs7SUFQeUQsQUFBeEUsK09BQXdFLGdDQUFvQjs7O0lBUi9HLDZCQUFnRjtJQU85RSxBQU5BLGlJQUE0SyxtSkFNOUk7Ozs7O0lBTmYsY0FBdUk7SUFBQSxBQUF2SSxrTUFBdUksZ0NBQW9COzs7SUF1QjVLLDZCQUFvQztJQUVoQyxBQURGLCtCQUFnQyxlQUM0QjtJQUFBLGlCQUFDO0lBQUEsaUJBQU87SUFFaEUsQUFERixrQ0FBeUMsZUFDSDtJQUFBLHVCQUFPO0lBQUEsaUJBQU87SUFDbEQsNkJBQXVEO0lBQUEsWUFBaUU7O0lBRTVILEFBREUsQUFEMEgsaUJBQUksRUFDckgsRUFDTDs7O0lBRnFELGVBQWlFO0lBQWpFLHdGQUFpRTs7OztJQW5DOUgsNENBSUM7SUFGQyxtUEFBK0IsSUFBSSxLQUFDO0lBRXJDLGlCQUFvQjtJQTBCckIsQUF4QkEsa0hBQWdGLHNHQXdCNUM7OztJQTNCbEMsQUFGQSxvQ0FBZSx5QkFFRTtJQUdKLGNBQStEO0lBQS9ELHFHQUErRDtJQXdCL0QsY0FBbUI7SUFBbkIsMkNBQW1COztBRHRCcEMsTUFBTSxPQUFPLGlDQUFrQyxTQUFRLDBCQUEwQjtJQW1CbEQ7SUFDbkI7SUFDUztJQUNBO0lBckJaLHNCQUFzQixDQUEwQjtJQUNoRCxLQUFLLENBQWdCO0lBQ3JCLGFBQWEsR0FBWSxJQUFJLENBQUM7SUFDOUIsTUFBTSxDQUFTO0lBQ2YsV0FBVyxDQUFTO0lBRXBCLGFBQWEsR0FBVyxrQkFBa0IsQ0FBQyxRQUFRLENBQUM7SUFDcEQsY0FBYyxHQUFXLGtCQUFrQixDQUFDLE9BQU8sQ0FBQztJQUVwRCxhQUFhLEdBQVksS0FBSyxDQUFDO0lBRS9CLEtBQUssQ0FBVTtJQUNmLHlCQUF5QixHQUFZLEtBQUssQ0FBQztJQUMzQyxxQkFBcUIsQ0FBUztJQUM5QixtQ0FBbUMsR0FBYSxFQUFFLENBQUM7SUFFbEQsZ0JBQWdCLENBQWU7SUFFdkMsWUFBNkIsS0FBcUIsRUFDeEMscUJBQTRDLEVBQ25DLFlBQTBCLEVBQzFCLGNBQWlDO1FBRWxELEtBQUssRUFBRSxDQUFDO1FBTG1CLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3hDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDbkMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsbUJBQWMsR0FBZCxjQUFjLENBQW1CO0lBR3BELENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO1FBRTdDLElBQUksQ0FBQyxtQ0FBbUMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLHNDQUFzQyxFQUFFLElBQUksRUFBRSxDQUFDO1FBQzlHLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRTtZQUMzRSxJQUFJLFdBQVcsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxDQUFDO2dCQUM3QyxJQUFJLENBQUMscUJBQXFCLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO2dCQUNuRSxJQUFJLENBQUMseUJBQXlCLEdBQUcsSUFBSSxDQUFDLG1DQUFtQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQztZQUNqSCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzVDLDZFQUE2RTtZQUM3RSxzREFBc0Q7WUFFdEQsOEVBQThFO1lBQzlFLGlFQUFpRTtZQUNqRSx5REFBeUQ7WUFDekQsSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztpQkFDM0MsU0FBUyxDQUFDO2dCQUNULElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxFQUFFO29CQUNwQixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7d0JBQ3hDLElBQUksQ0FBQyxzQkFBc0IsR0FBSSxXQUFXLENBQUMsSUFBa0I7NkJBQzFELE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQy9CLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksS0FBSyxtQkFBbUIsSUFBSSxTQUFTLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FDekcsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsRUFBRTs0QkFDcEMsTUFBTSxpQ0FBaUMsR0FBRyxvQkFBb0IsQ0FBQywrQkFBK0IsQ0FBQyxTQUFTLENBQUMsQ0FBQzs0QkFFMUcsSUFBSSxpQ0FBaUMsSUFBSSxPQUFPLGlDQUFpQyxLQUFLLFFBQVEsRUFBRSxDQUFDO2dDQUMvRixHQUFHLENBQUMsSUFBSSxDQUFDLGlDQUFpQyxDQUFDLENBQUM7NEJBQzlDLENBQUM7NEJBQ0QsT0FBTyxHQUFHLENBQUM7d0JBQ2IsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO29CQUNYLENBQUM7Z0JBQ0gsQ0FBQzthQUNGLENBQUMsQ0FBQztZQUVMLHNFQUFzRTtZQUN0RSwwREFBMEQ7UUFDNUQsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFTSxRQUFRLENBQUMsS0FBSztRQUNuQixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUMzQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLFNBQVMsRUFBRSxRQUFRLEtBQUssS0FBSyxDQUFDLENBQUM7SUFDaEcsQ0FBQztJQUVNLG1CQUFtQjtRQUN4QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztRQUMxQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztJQUNwQixDQUFDO0lBRU0sY0FBYztRQUNuQixPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRU0sZUFBZTtRQUNwQixPQUFPLGVBQWUsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRU0sY0FBYyxDQUFDLEtBQVU7UUFDOUIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1gsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFDLFFBQVEsRUFBRSxNQUFNO1lBQzNCLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUFFLFdBQVc7WUFDeEQsQ0FBQyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUM7SUFDekIsQ0FBQzsySEFyR1UsaUNBQWlDOzZEQUFqQyxpQ0FBaUM7WUNUOUMsQUFSQSxvR0FBNkQsc0hBUTVCOzs7WUFSRyxBQUFyQix3Q0FBcUIsbUNBQXVCOzs7aUZEaUI5QyxpQ0FBaUM7Y0FKN0MsU0FBUzsyQkFDRSxpQ0FBaUM7O2tGQUdoQyxpQ0FBaUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBDYXNlVGFiIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IFNlc3Npb25TdG9yYWdlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IGlzSW50ZXJuYWxVc2VyLCBpc0p1ZGljaWFyeVVzZXIgfSBmcm9tICcuLi8uLi8uLi91dGlscyc7XG5pbXBvcnQgeyBBYnN0cmFjdEZpZWxkUmVhZENvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtZmllbGQvYWJzdHJhY3QtZmllbGQtcmVhZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGFsZXR0ZUNvbnRleHQgfSBmcm9tICcuLi9iYXNlLWZpZWxkL3BhbGV0dGUtY29udGV4dC5lbnVtJztcbmltcG9ydCB7IENhc2VRdWVyaWVzQ29sbGVjdGlvbiwgUXVlcnlDcmVhdGVDb250ZXh0LCBRdWVyeUxpc3RJdGVtIH0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgUXVlcnlNYW5hZ2VtZW50VXRpbHMgfSBmcm9tICcuL3V0aWxzL3F1ZXJ5LW1hbmFnZW1lbnQudXRpbHMnO1xuaW1wb3J0IHsgQ2FzZU5vdGlmaWVyIH0gZnJvbSAnLi4vLi4vY2FzZS1lZGl0b3Ivc2VydmljZXMvY2FzZS5ub3RpZmllcic7XG5pbXBvcnQgeyBBYnN0cmFjdEFwcENvbmZpZyB9IGZyb20gJy4uLy4uLy4uLy4uL2FwcC5jb25maWcnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1yZWFkLXF1ZXJ5LW1hbmFnZW1lbnQtZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVhZC1xdWVyeS1tYW5hZ2VtZW50LWZpZWxkLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBSZWFkUXVlcnlNYW5hZ2VtZW50RmllbGRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdEZpZWxkUmVhZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHVibGljIGNhc2VRdWVyaWVzQ29sbGVjdGlvbnM6IENhc2VRdWVyaWVzQ29sbGVjdGlvbltdO1xuICBwdWJsaWMgcXVlcnk6IFF1ZXJ5TGlzdEl0ZW07XG4gIHB1YmxpYyBzaG93UXVlcnlMaXN0OiBib29sZWFuID0gdHJ1ZTtcbiAgcHVibGljIGNhc2VJZDogc3RyaW5nO1xuICBwdWJsaWMgbWVzc2FnZVR5cGU6IHN0cmluZztcblxuICBwdWJsaWMgZm9sbG93VXBRdWVyeTogc3RyaW5nID0gUXVlcnlDcmVhdGVDb250ZXh0LkZPTExPV1VQO1xuICBwdWJsaWMgcmVzcG9uZFRvUXVlcnk6IHN0cmluZyA9IFF1ZXJ5Q3JlYXRlQ29udGV4dC5SRVNQT05EO1xuXG4gIHB1YmxpYyBpc1F1ZXJ5Q2xvc2VkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIHZhbHVlOiBib29sZWFuO1xuICBwdWJsaWMgaXNNdWx0aXBsZUZvbGxvd1VwRW5hYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgY3VycmVudEp1cmlzZGljdGlvbklkOiBzdHJpbmc7XG4gIHB1YmxpYyBlbmFibGVTZXJ2aWNlU3BlY2lmaWNNdWx0aUZvbGxvd3Vwczogc3RyaW5nW10gPSBbXTtcblxuICBwcml2YXRlIGNhc2VTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHNlc3Npb25TdG9yYWdlU2VydmljZTogU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FzZU5vdGlmaWVyOiBDYXNlTm90aWZpZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBhYnN0cmFjdENvbmZpZzogQWJzdHJhY3RBcHBDb25maWdcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNhc2VJZCA9IHRoaXMucm91dGUuc25hcHNob3QucGFyYW1zLmNpZDtcblxuICAgIHRoaXMuZW5hYmxlU2VydmljZVNwZWNpZmljTXVsdGlGb2xsb3d1cHMgPSB0aGlzLmFic3RyYWN0Q29uZmlnLmdldEVuYWJsZVNlcnZpY2VTcGVjaWZpY011bHRpRm9sbG93dXBzKCkgfHwgW107XG4gICAgdGhpcy5jYXNlU3Vic2NyaXB0aW9uID0gdGhpcy5jYXNlTm90aWZpZXIuY2FzZVZpZXcuc3Vic2NyaWJlKChjYXNlRGV0YWlscykgPT4ge1xuICAgICAgaWYgKGNhc2VEZXRhaWxzPy5jYXNlX3R5cGU/Lmp1cmlzZGljdGlvbj8uaWQpIHtcbiAgICAgICAgdGhpcy5jdXJyZW50SnVyaXNkaWN0aW9uSWQgPSBjYXNlRGV0YWlscy5jYXNlX3R5cGUuanVyaXNkaWN0aW9uLmlkO1xuICAgICAgICB0aGlzLmlzTXVsdGlwbGVGb2xsb3dVcEVuYWJsZWQgPSB0aGlzLmVuYWJsZVNlcnZpY2VTcGVjaWZpY011bHRpRm9sbG93dXBzLmluY2x1ZGVzKHRoaXMuY3VycmVudEp1cmlzZGljdGlvbklkKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmICh0aGlzLmNvbnRleHQgPT09IFBhbGV0dGVDb250ZXh0LkRFRkFVTFQpIHtcbiAgICAgIC8vIEVVSS04MzAzIFVzaW5nIG1vY2sgZGF0YSB1bnRpbCBDQ0QgaXMgcmVhZHkgd2l0aCB0aGUgQVBJIGFuZCBkYXRhIGNvbnRyYWN0XG4gICAgICAvLyB0aGlzLmNhc2VRdWVyaWVzQ29sbGVjdGlvbnMgPSBjYXNlTWVzc2FnZXNNb2NrRGF0YTtcblxuICAgICAgLy8gVE9ETzogQWN0dWFsIGltcGxlbWVudGF0aW9uIG9uY2UgdGhlIENDRCBBUEkgYW5kIGRhdGEgY29udHJhY3QgaXMgYXZhaWxhYmxlXG4gICAgICAvLyBFYWNoIHBhcnRpZXMgd2lsbCBoYXZlIGEgc2VwYXJhdGUgY29sbGVjdGlvbiBvZiBwYXJ0eSBtZXNzYWdlc1xuICAgICAgLy8gRmluZCB3aGV0aGVyIHF1ZXJpZXMgdGFiIGlzIGF2YWlsYWJsZSBpbiB0aGUgY2FzZSBkYXRhXG4gICAgICB0aGlzLmNhc2VOb3RpZmllci5mZXRjaEFuZFJlZnJlc2godGhpcy5jYXNlSWQpXG4gICAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICAgIG5leHQ6IChjYXNlRGV0YWlscykgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMucm91dGUuc25hcHNob3QuZGF0YS5jYXNlPy50YWJzKSB7XG4gICAgICAgICAgICAgIHRoaXMuY2FzZVF1ZXJpZXNDb2xsZWN0aW9ucyA9IChjYXNlRGV0YWlscy50YWJzIGFzIENhc2VUYWJbXSlcbiAgICAgICAgICAgICAgICAuZmlsdGVyKCh0YWIpID0+IHRhYi5maWVsZHM/LnNvbWUoXG4gICAgICAgICAgICAgICAgICAoY2FzZUZpZWxkKSA9PiBjYXNlRmllbGQuZmllbGRfdHlwZS50eXBlID09PSAnQ29tcG9uZW50TGF1bmNoZXInICYmIGNhc2VGaWVsZC5pZCA9PT0gdGhpcy5jYXNlRmllbGQuaWQpKVxuICAgICAgICAgICAgICAgIFswXS5maWVsZHM/LnJlZHVjZSgoYWNjLCBjYXNlRmllbGQpID0+IHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGV4dHJhY3RlZENhc2VRdWVyaWVzRnJvbUNhc2VGaWVsZCA9IFF1ZXJ5TWFuYWdlbWVudFV0aWxzLmV4dHJhY3RDYXNlUXVlcmllc0Zyb21DYXNlRmllbGQoY2FzZUZpZWxkKTtcblxuICAgICAgICAgICAgICAgICAgaWYgKGV4dHJhY3RlZENhc2VRdWVyaWVzRnJvbUNhc2VGaWVsZCAmJiB0eXBlb2YgZXh0cmFjdGVkQ2FzZVF1ZXJpZXNGcm9tQ2FzZUZpZWxkID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgICAgICAgICBhY2MucHVzaChleHRyYWN0ZWRDYXNlUXVlcmllc0Zyb21DYXNlRmllbGQpO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICAgICAgICB9LCBbXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgLy8gTG9vcCB0aHJvdWdoIHRoZSBsaXN0IG9mIHBhcnRpZXMgYW5kIHRoZWlyIGNhc2UgcXVlcmllcyBjb2xsZWN0aW9uc1xuICAgICAgLy8gUXVlcnlNYW5hZ2VtZW50VXRpbHMuZXh0cmFjdENhc2VRdWVyaWVzRnJvbUNhc2VGaWVsZCgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuY2FzZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRRdWVyeShxdWVyeSk6IHZvaWQge1xuICAgIHRoaXMuc2hvd1F1ZXJ5TGlzdCA9IGZhbHNlO1xuICAgIHRoaXMucXVlcnkgPSBxdWVyeTtcbiAgICB0aGlzLm1lc3NhZ2VUeXBlID0gdGhpcy5nZXRNZXNzYWdlVHlwZShxdWVyeSk7XG4gICAgdGhpcy5pc1F1ZXJ5Q2xvc2VkID0gdGhpcy5xdWVyeT8uY2hpbGRyZW4/LnNvbWUoKHF1ZXJ5SXRlbSkgPT4gcXVlcnlJdGVtPy5pc0Nsb3NlZCA9PT0gJ1llcycpO1xuICB9XG5cbiAgcHVibGljIGJhY2tUb1F1ZXJ5TGlzdFBhZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5zaG93UXVlcnlMaXN0ID0gdHJ1ZTtcbiAgICB0aGlzLnF1ZXJ5ID0gbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBpc0ludGVybmFsVXNlcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNJbnRlcm5hbFVzZXIodGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UpO1xuICB9XG5cbiAgcHVibGljIGlzSnVkaWNpYXJ5VXNlcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNKdWRpY2lhcnlVc2VyKHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRNZXNzYWdlVHlwZShxdWVyeTogYW55KTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIXF1ZXJ5KSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHJldHVybiBxdWVyeS5jaGlsZHJlbj8ubGVuZ3RoXG4gICAgICA/IHF1ZXJ5LmNoaWxkcmVuW3F1ZXJ5LmNoaWxkcmVuLmxlbmd0aCAtIDFdPy5tZXNzYWdlVHlwZVxuICAgICAgOiBxdWVyeT8ubWVzc2FnZVR5cGU7XG4gIH1cbn1cblxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dRdWVyeUxpc3Q7IGVsc2Ugc2luZ2xlUXVlcnlEZXRhaWxzXCI+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNhc2VRdWVyaWVzQ29sbGVjdGlvbiBvZiBjYXNlUXVlcmllc0NvbGxlY3Rpb25zXCI+XG4gICAgPGRpdiAqbmdJZj1cInNob3dRdWVyeUxpc3RcIiBjbGFzcz1cImdvdnVrLSEtbWFyZ2luLXRvcC04IGdvdnVrLSEtbWFyZ2luLWJvdHRvbS04XCI+XG4gICAgICA8Y2NkLXF1ZXJ5LWxpc3QgKHNlbGVjdGVkUXVlcnkpPVwic2V0UXVlcnkoJGV2ZW50KVwiIFtjYXNlUXVlcmllc0NvbGxlY3Rpb25dPVwiY2FzZVF1ZXJpZXNDb2xsZWN0aW9uXCI+PC9jY2QtcXVlcnktbGlzdD5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNzaW5nbGVRdWVyeURldGFpbHM+XG4gIDxjY2QtcXVlcnktZGV0YWlsc1xuICAgIFtxdWVyeV09XCJxdWVyeVwiXG4gICAgKGJhY2tDbGlja2VkKT1cInNob3dRdWVyeUxpc3QgPSB0cnVlXCJcbiAgICBbY2FzZUlkXT1cImNhc2VJZFwiXG4gID48L2NjZC1xdWVyeS1kZXRhaWxzPlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNJbnRlcm5hbFVzZXIoKSAmJiAhaXNRdWVyeUNsb3NlZCAmJiAhaXNKdWRpY2lhcnlVc2VyKClcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKG1lc3NhZ2VUeXBlICYmIG1lc3NhZ2VUeXBlID09PSBmb2xsb3dVcFF1ZXJ5ICAmJiBpc011bHRpcGxlRm9sbG93VXBFbmFibGVkKSB8fCAobWVzc2FnZVR5cGUgJiYgbWVzc2FnZVR5cGUgPT09IHJlc3BvbmRUb1F1ZXJ5KTsgZWxzZSBzZXF1ZW50aWFsUXVlcnlcIj5cbiAgICAgIDxidXR0b24gaWQ9XCJhc2stZm9sbG93LXVwLXF1ZXN0aW9uXCIgY2xhc3M9XCJnb3Z1ay1idXR0b25cIiBkYXRhLW1vZHVsZT1cImdvdnVrLWJ1dHRvblwiXG4gICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIlsnL3F1ZXJ5LW1hbmFnZW1lbnQnLCAncXVlcnknLCBjYXNlSWQsICc0JywgcXVlcnkuaWRdXCI+XG4gICAgICAgIHt7ICdBc2sgYSBmb2xsb3ctdXAgcXVlc3Rpb24nIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctdGVtcGxhdGUgI3NlcXVlbnRpYWxRdWVyeT5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJxdWVyeT8uY2hpbGRyZW4/Lmxlbmd0aCA+IDAgJiYgcXVlcnk/LmNoaWxkcmVuPy5sZW5ndGggJSAyID09PSAxOyBlbHNlIHF1ZXJ5SXNJblJldmlld1wiPlxuICAgICAgICA8YnV0dG9uIGlkPVwiYXNrLWZvbGxvdy11cC1xdWVzdGlvblwiIGNsYXNzPVwiZ292dWstYnV0dG9uXCIgZGF0YS1tb2R1bGU9XCJnb3Z1ay1idXR0b25cIlxuICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIlsnL3F1ZXJ5LW1hbmFnZW1lbnQnLCAncXVlcnknLCBjYXNlSWQsICc0JywgcXVlcnkuaWRdXCI+XG4gICAgICAgICAge3sgJ0FzayBhIGZvbGxvdy11cCBxdWVzdGlvbicgfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPG5nLXRlbXBsYXRlICNxdWVyeUlzSW5SZXZpZXc+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPHAgY2xhc3M9XCJnb3Z1ay0hLWZvbnQtd2VpZ2h0LWJvbGRcIj57eyAnWW91ciBxdWVyeSBpcyB1bmRlciByZXZpZXcnIHwgcnB4VHJhbnNsYXRlIH19PC9wPlxuICAgICAgICAgIDxwPnt7ICdPdXIgdGVhbSB3aWxsIHJlYWQgeW91ciBxdWVyeSBhbmQgcmVzcG9uZC4gRG8gbm90IHN1Ym1pdCB0aGUgc2FtZSBxdWVyeSBtb3JlIHRoYW4gb25jZS4nIHwgcnB4VHJhbnNsYXRlIH19PC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzUXVlcnlDbG9zZWRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZ292dWstd2FybmluZy10ZXh0XCI+XG4gICAgICA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIiBjbGFzcz1cImdvdnVrLXdhcm5pbmctdGV4dF9faWNvblwiPiE8L3NwYW4+XG4gICAgICA8c3Ryb25nIGNsYXNzPVwiZ292dWstd2FybmluZy10ZXh0X190ZXh0XCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+V2FybmluZzwvc3Bhbj5cbiAgICAgICAgPHAgY2xhc3M9XCJxbS1zZXJ2aWNlLW1lc3NhZ2UgZ292dWstIS1mb250LXdlaWdodC1ib2xkXCI+e3sgJ1RoaXMgcXVlcnkgaGFzIGJlZW4gY2xvc2VkIGJ5IEhNQ1RTIHN0YWZmLicgfCBycHhUcmFuc2xhdGUgfX08L3A+XG4gICAgICA8L3N0cm9uZz5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -1,10 +1,24 @@
1
1
  export const USER_DETAILS = 'userDetails';
2
2
  export const PUI_CASE_MANAGER = 'pui-case-manager';
3
3
  export const JUDGE = 'judge';
4
+ function getUserDetails(sessionStorageService) {
5
+ try {
6
+ const item = sessionStorageService?.getItem(USER_DETAILS);
7
+ return item ? JSON.parse(item) : null;
8
+ }
9
+ catch {
10
+ return null;
11
+ }
12
+ }
4
13
  export function isInternalUser(sessionStorageService) {
5
- const userDetails = JSON.parse(sessionStorageService?.getItem(USER_DETAILS));
6
- return userDetails && userDetails.roles
14
+ const userDetails = getUserDetails(sessionStorageService);
15
+ return userDetails && userDetails?.roles
7
16
  && !(userDetails.roles.includes(PUI_CASE_MANAGER)
8
17
  || userDetails.roles.some((role) => role.toLowerCase().includes(JUDGE)));
9
18
  }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxhQUFhLENBQUM7QUFDMUMsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsa0JBQWtCLENBQUM7QUFDbkQsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQztBQUU3QixNQUFNLFVBQVUsY0FBYyxDQUFDLHFCQUE0QztJQUN6RSxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLHFCQUFxQixFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQzdFLE9BQU8sV0FBVyxJQUFJLFdBQVcsQ0FBQyxLQUFLO1dBQ2xDLENBQUMsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQztlQUM1QyxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDL0UsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNlc3Npb25TdG9yYWdlU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMnO1xuXG5leHBvcnQgY29uc3QgVVNFUl9ERVRBSUxTID0gJ3VzZXJEZXRhaWxzJztcbmV4cG9ydCBjb25zdCBQVUlfQ0FTRV9NQU5BR0VSID0gJ3B1aS1jYXNlLW1hbmFnZXInO1xuZXhwb3J0IGNvbnN0IEpVREdFID0gJ2p1ZGdlJztcblxuZXhwb3J0IGZ1bmN0aW9uIGlzSW50ZXJuYWxVc2VyKHNlc3Npb25TdG9yYWdlU2VydmljZTogU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlKTogYm9vbGVhbiB7XG4gIGNvbnN0IHVzZXJEZXRhaWxzID0gSlNPTi5wYXJzZShzZXNzaW9uU3RvcmFnZVNlcnZpY2U/LmdldEl0ZW0oVVNFUl9ERVRBSUxTKSk7XG4gIHJldHVybiB1c2VyRGV0YWlscyAmJiB1c2VyRGV0YWlscy5yb2xlc1xuICAgICYmICEodXNlckRldGFpbHMucm9sZXMuaW5jbHVkZXMoUFVJX0NBU0VfTUFOQUdFUilcbiAgICAgIHx8IHVzZXJEZXRhaWxzLnJvbGVzLnNvbWUoKHJvbGUpID0+IHJvbGUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhKVURHRSkpKTtcbn1cbiJdfQ==
19
+ export function isJudiciaryUser(sessionStorageService) {
20
+ const userDetails = getUserDetails(sessionStorageService);
21
+ return userDetails && userDetails?.roles
22
+ && (userDetails.roles.some((role) => role.toLowerCase().includes(JUDGE)));
23
+ }
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxhQUFhLENBQUM7QUFDMUMsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsa0JBQWtCLENBQUM7QUFDbkQsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQztBQUU3QixTQUFTLGNBQWMsQ0FBQyxxQkFBNEM7SUFDbEUsSUFBSSxDQUFDO1FBQ0gsTUFBTSxJQUFJLEdBQUcscUJBQXFCLEVBQUUsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzFELE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDeEMsQ0FBQztJQUFDLE1BQU0sQ0FBQztRQUNQLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztBQUNILENBQUM7QUFHRCxNQUFNLFVBQVUsY0FBYyxDQUFDLHFCQUE0QztJQUN6RSxNQUFNLFdBQVcsR0FBRyxjQUFjLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUMxRCxPQUFPLFdBQVcsSUFBSSxXQUFXLEVBQUUsS0FBSztXQUNuQyxDQUFDLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUM7ZUFDNUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQy9FLENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUFDLHFCQUE0QztJQUMxRSxNQUFNLFdBQVcsR0FBRyxjQUFjLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUMxRCxPQUFPLFdBQVcsSUFBSSxXQUFXLEVBQUUsS0FBSztXQUNuQyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM5RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcyc7XG5cbmV4cG9ydCBjb25zdCBVU0VSX0RFVEFJTFMgPSAndXNlckRldGFpbHMnO1xuZXhwb3J0IGNvbnN0IFBVSV9DQVNFX01BTkFHRVIgPSAncHVpLWNhc2UtbWFuYWdlcic7XG5leHBvcnQgY29uc3QgSlVER0UgPSAnanVkZ2UnO1xuXG5mdW5jdGlvbiBnZXRVc2VyRGV0YWlscyhzZXNzaW9uU3RvcmFnZVNlcnZpY2U6IFNlc3Npb25TdG9yYWdlU2VydmljZSk6IGFueSB7XG4gIHRyeSB7XG4gICAgY29uc3QgaXRlbSA9IHNlc3Npb25TdG9yYWdlU2VydmljZT8uZ2V0SXRlbShVU0VSX0RFVEFJTFMpO1xuICAgIHJldHVybiBpdGVtID8gSlNPTi5wYXJzZShpdGVtKSA6IG51bGw7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cblxuZXhwb3J0IGZ1bmN0aW9uIGlzSW50ZXJuYWxVc2VyKHNlc3Npb25TdG9yYWdlU2VydmljZTogU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlKTogYm9vbGVhbiB7XG4gIGNvbnN0IHVzZXJEZXRhaWxzID0gZ2V0VXNlckRldGFpbHMoc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlKTtcbiAgcmV0dXJuIHVzZXJEZXRhaWxzICYmIHVzZXJEZXRhaWxzPy5yb2xlc1xuICAgICYmICEodXNlckRldGFpbHMucm9sZXMuaW5jbHVkZXMoUFVJX0NBU0VfTUFOQUdFUilcbiAgICAgIHx8IHVzZXJEZXRhaWxzLnJvbGVzLnNvbWUoKHJvbGUpID0+IHJvbGUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhKVURHRSkpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzSnVkaWNpYXJ5VXNlcihzZXNzaW9uU3RvcmFnZVNlcnZpY2U6IFNlc3Npb25TdG9yYWdlU2VydmljZSk6IGJvb2xlYW4ge1xuICBjb25zdCB1c2VyRGV0YWlscyA9IGdldFVzZXJEZXRhaWxzKHNlc3Npb25TdG9yYWdlU2VydmljZSk7XG4gIHJldHVybiB1c2VyRGV0YWlscyAmJiB1c2VyRGV0YWlscz8ucm9sZXNcbiAgICAmJiAodXNlckRldGFpbHMucm9sZXMuc29tZSgocm9sZSkgPT4gcm9sZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKEpVREdFKSkpO1xufVxuXG4iXX0=
@@ -1648,12 +1648,26 @@ class SessionStorageService {
1648
1648
  const USER_DETAILS = 'userDetails';
1649
1649
  const PUI_CASE_MANAGER = 'pui-case-manager';
1650
1650
  const JUDGE = 'judge';
1651
+ function getUserDetails(sessionStorageService) {
1652
+ try {
1653
+ const item = sessionStorageService?.getItem(USER_DETAILS);
1654
+ return item ? JSON.parse(item) : null;
1655
+ }
1656
+ catch {
1657
+ return null;
1658
+ }
1659
+ }
1651
1660
  function isInternalUser(sessionStorageService) {
1652
- const userDetails = JSON.parse(sessionStorageService?.getItem(USER_DETAILS));
1653
- return userDetails && userDetails.roles
1661
+ const userDetails = getUserDetails(sessionStorageService);
1662
+ return userDetails && userDetails?.roles
1654
1663
  && !(userDetails.roles.includes(PUI_CASE_MANAGER)
1655
1664
  || userDetails.roles.some((role) => role.toLowerCase().includes(JUDGE)));
1656
1665
  }
1666
+ function isJudiciaryUser(sessionStorageService) {
1667
+ const userDetails = getUserDetails(sessionStorageService);
1668
+ return userDetails && userDetails?.roles
1669
+ && (userDetails.roles.some((role) => role.toLowerCase().includes(JUDGE)));
1670
+ }
1657
1671
 
1658
1672
  // @dynamic
1659
1673
  class ActivityService {
@@ -23605,7 +23619,7 @@ function ReadQueryManagementFieldComponent_ng_template_1_Template(rf, ctx) { if
23605
23619
  const ctx_r1 = i0.ɵɵnextContext();
23606
23620
  i0.ɵɵproperty("query", ctx_r1.query)("caseId", ctx_r1.caseId);
23607
23621
  i0.ɵɵadvance();
23608
- i0.ɵɵproperty("ngIf", !ctx_r1.isInternalUser() && !ctx_r1.isQueryClosed);
23622
+ i0.ɵɵproperty("ngIf", !ctx_r1.isInternalUser() && !ctx_r1.isQueryClosed && !ctx_r1.isJudiciaryUser());
23609
23623
  i0.ɵɵadvance();
23610
23624
  i0.ɵɵproperty("ngIf", ctx_r1.isQueryClosed);
23611
23625
  } }
@@ -23684,6 +23698,9 @@ class ReadQueryManagementFieldComponent extends AbstractFieldReadComponent {
23684
23698
  isInternalUser() {
23685
23699
  return isInternalUser(this.sessionStorageService);
23686
23700
  }
23701
+ isJudiciaryUser() {
23702
+ return isJudiciaryUser(this.sessionStorageService);
23703
+ }
23687
23704
  getMessageType(query) {
23688
23705
  if (!query) {
23689
23706
  return undefined;
@@ -23702,7 +23719,7 @@ class ReadQueryManagementFieldComponent extends AbstractFieldReadComponent {
23702
23719
  }
23703
23720
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ReadQueryManagementFieldComponent, [{
23704
23721
  type: Component,
23705
- args: [{ selector: 'ccd-read-query-management-field', template: "<ng-container *ngIf=\"showQueryList; else singleQueryDetails\">\n <ng-container *ngFor=\"let caseQueriesCollection of caseQueriesCollections\">\n <div *ngIf=\"showQueryList\" class=\"govuk-!-margin-top-8 govuk-!-margin-bottom-8\">\n <ccd-query-list (selectedQuery)=\"setQuery($event)\" [caseQueriesCollection]=\"caseQueriesCollection\"></ccd-query-list>\n </div>\n </ng-container>\n</ng-container>\n\n<ng-template #singleQueryDetails>\n <ccd-query-details\n [query]=\"query\"\n (backClicked)=\"showQueryList = true\"\n [caseId]=\"caseId\"\n ></ccd-query-details>\n\n <ng-container *ngIf=\"!isInternalUser() && !isQueryClosed\">\n <ng-container *ngIf=\"(messageType && messageType === followUpQuery && isMultipleFollowUpEnabled) || (messageType && messageType === respondToQuery); else sequentialQuery\">\n <button id=\"ask-follow-up-question\" class=\"govuk-button\" data-module=\"govuk-button\"\n [routerLink]=\"['/query-management', 'query', caseId, '4', query.id]\">\n {{ 'Ask a follow-up question' | rpxTranslate }}\n </button>\n </ng-container>\n <ng-template #sequentialQuery>\n <ng-container *ngIf=\"query?.children?.length > 0 && query?.children?.length % 2 === 1; else queryIsInReview\">\n <button id=\"ask-follow-up-question\" class=\"govuk-button\" data-module=\"govuk-button\"\n [routerLink]=\"['/query-management', 'query', caseId, '4', query.id]\">\n {{ 'Ask a follow-up question' | rpxTranslate }}\n </button>\n </ng-container>\n\n <ng-template #queryIsInReview>\n <div>\n <p class=\"govuk-!-font-weight-bold\">{{ 'Your query is under review' | rpxTranslate }}</p>\n <p>{{ 'Our team will read your query and respond. Do not submit the same query more than once.' | rpxTranslate }}</p>\n </div>\n </ng-template>\n </ng-template>\n\n </ng-container>\n <ng-container *ngIf=\"isQueryClosed\">\n <div class=\"govuk-warning-text\">\n <span aria-hidden=\"true\" class=\"govuk-warning-text__icon\">!</span>\n <strong class=\"govuk-warning-text__text\">\n <span class=\"govuk-visually-hidden\">Warning</span>\n <p class=\"qm-service-message govuk-!-font-weight-bold\">{{ 'This query has been closed by HMCTS staff.' | rpxTranslate }}</p>\n </strong>\n </div>\n </ng-container>\n</ng-template>\n" }]
23722
+ args: [{ selector: 'ccd-read-query-management-field', template: "<ng-container *ngIf=\"showQueryList; else singleQueryDetails\">\n <ng-container *ngFor=\"let caseQueriesCollection of caseQueriesCollections\">\n <div *ngIf=\"showQueryList\" class=\"govuk-!-margin-top-8 govuk-!-margin-bottom-8\">\n <ccd-query-list (selectedQuery)=\"setQuery($event)\" [caseQueriesCollection]=\"caseQueriesCollection\"></ccd-query-list>\n </div>\n </ng-container>\n</ng-container>\n\n<ng-template #singleQueryDetails>\n <ccd-query-details\n [query]=\"query\"\n (backClicked)=\"showQueryList = true\"\n [caseId]=\"caseId\"\n ></ccd-query-details>\n\n <ng-container *ngIf=\"!isInternalUser() && !isQueryClosed && !isJudiciaryUser()\">\n <ng-container *ngIf=\"(messageType && messageType === followUpQuery && isMultipleFollowUpEnabled) || (messageType && messageType === respondToQuery); else sequentialQuery\">\n <button id=\"ask-follow-up-question\" class=\"govuk-button\" data-module=\"govuk-button\"\n [routerLink]=\"['/query-management', 'query', caseId, '4', query.id]\">\n {{ 'Ask a follow-up question' | rpxTranslate }}\n </button>\n </ng-container>\n <ng-template #sequentialQuery>\n <ng-container *ngIf=\"query?.children?.length > 0 && query?.children?.length % 2 === 1; else queryIsInReview\">\n <button id=\"ask-follow-up-question\" class=\"govuk-button\" data-module=\"govuk-button\"\n [routerLink]=\"['/query-management', 'query', caseId, '4', query.id]\">\n {{ 'Ask a follow-up question' | rpxTranslate }}\n </button>\n </ng-container>\n\n <ng-template #queryIsInReview>\n <div>\n <p class=\"govuk-!-font-weight-bold\">{{ 'Your query is under review' | rpxTranslate }}</p>\n <p>{{ 'Our team will read your query and respond. Do not submit the same query more than once.' | rpxTranslate }}</p>\n </div>\n </ng-template>\n </ng-template>\n\n </ng-container>\n <ng-container *ngIf=\"isQueryClosed\">\n <div class=\"govuk-warning-text\">\n <span aria-hidden=\"true\" class=\"govuk-warning-text__icon\">!</span>\n <strong class=\"govuk-warning-text__text\">\n <span class=\"govuk-visually-hidden\">Warning</span>\n <p class=\"qm-service-message govuk-!-font-weight-bold\">{{ 'This query has been closed by HMCTS staff.' | rpxTranslate }}</p>\n </strong>\n </div>\n </ng-container>\n</ng-template>\n" }]
23706
23723
  }], () => [{ type: i1$1.ActivatedRoute }, { type: SessionStorageService }, { type: CaseNotifier }, { type: AbstractAppConfig }], null); })();
23707
23724
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ReadQueryManagementFieldComponent, { className: "ReadQueryManagementFieldComponent", filePath: "lib/shared/components/palette/query-management/read-query-management-field.component.ts", lineNumber: 18 }); })();
23708
23725