@provoly/hypervisor 2.0.8 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/esm2022/src/lib/event/detail/add-event/add-event.component.mjs +1 -1
  2. package/esm2022/src/lib/event/detail/event-detail.component.mjs +68 -24
  3. package/esm2022/src/lib/event/detail/remove-event/remove-event.component.mjs +28 -0
  4. package/esm2022/src/lib/event/procedure-association-modal/procedure-association-modal.component.mjs +21 -6
  5. package/esm2022/src/lib/event/public-api.mjs +2 -1
  6. package/esm2022/src/lib/event-summary/item/event-summary-item.component.mjs +5 -4
  7. package/esm2022/src/lib/event-summary/page/event-summary-page.component.mjs +6 -6
  8. package/esm2022/src/lib/general/comments/comments.component.mjs +7 -3
  9. package/esm2022/src/lib/general/i18n/fr.translations.mjs +7 -1
  10. package/esm2022/src/lib/general/procedure-actions/action-parameters/service/create-service.component.mjs +5 -2
  11. package/esm2022/src/lib/general/procedure-actions/procedure-actions.component.mjs +1 -1
  12. package/esm2022/src/lib/hypervisor.module.mjs +15 -6
  13. package/esm2022/src/lib/model/event/hyp-event-summary.interface.mjs +1 -1
  14. package/esm2022/src/lib/model/procedure/hyp-procedure.interface.mjs +1 -1
  15. package/esm2022/src/lib/procedure/model-detail/procedure-model-detail.component.mjs +1 -1
  16. package/esm2022/src/lib/store/event/event.actions.mjs +4 -1
  17. package/esm2022/src/lib/store/event/event.effects.mjs +2 -1
  18. package/esm2022/src/lib/store/event/event.reducer.mjs +6 -2
  19. package/esm2022/src/lib/store/event/event.selectors.mjs +3 -1
  20. package/esm2022/src/lib/store/event/event.service.mjs +13 -3
  21. package/esm2022/src/lib/store/event-summary/event-summary.service.mjs +2 -2
  22. package/fesm2022/provoly-hypervisor.mjs +221 -101
  23. package/fesm2022/provoly-hypervisor.mjs.map +1 -1
  24. package/package.json +1 -1
  25. package/src/lib/event/detail/event-detail.component.d.ts +9 -3
  26. package/src/lib/event/detail/remove-event/remove-event.component.d.ts +19 -0
  27. package/src/lib/event/procedure-association-modal/procedure-association-modal.component.d.ts +8 -2
  28. package/src/lib/event/public-api.d.ts +1 -0
  29. package/src/lib/general/comments/comments.component.d.ts +1 -0
  30. package/src/lib/general/i18n/fr.translations.d.ts +6 -0
  31. package/src/lib/hypervisor.module.d.ts +13 -11
  32. package/src/lib/model/event/hyp-event-summary.interface.d.ts +1 -1
  33. package/src/lib/model/procedure/hyp-procedure.interface.d.ts +2 -0
  34. package/src/lib/store/event/event.actions.d.ts +27 -0
  35. package/src/lib/store/event/event.effects.d.ts +7 -0
  36. package/src/lib/store/event/event.reducer.d.ts +1 -0
  37. package/src/lib/store/event/event.selectors.d.ts +1 -0
  38. package/src/lib/store/event/event.service.d.ts +5 -1
  39. package/styles/components/_m-hvy-event-summary-item.scss +1 -0
  40. package/styles/components/_o-hvy-comments.scss +4 -0
  41. package/styles/components/_o-hvy-event-detail.scss +28 -5
@@ -0,0 +1,28 @@
1
+ import { Component, Inject } from "@angular/core";
2
+ import { PRY_DIALOG_DATA } from "@provoly/dashboard";
3
+ import { padId } from "../../../general/pad-id.function";
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@provoly/dashboard";
6
+ export class RemoveEventComponent {
7
+ constructor(dialog, data) {
8
+ this.dialog = dialog;
9
+ this.data = data;
10
+ this.padId = padId;
11
+ }
12
+ closeModal() {
13
+ this.dialog.close({ value: 'cancel' });
14
+ }
15
+ remove() {
16
+ this.dialog.close({ value: 'remove', event: this.data.event });
17
+ }
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RemoveEventComponent, deps: [{ token: i1.PryDialogRef }, { token: PRY_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
19
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: RemoveEventComponent, selector: "hvy-remove-event", ngImport: i0, template: "<div class=\"o-hvy-event-detail-remove\">\n <h3>{{ '@hvy.event.remove.title' | i18n }}</h3>\n\n <div class=\"o-hvy-event-detail-remove__container\">\n <p>{{padId.fn(data.event.id)}} - {{data.event.name}}</p>\n <p>{{ '@hvy.event.remove.text' | i18n }}</p>\n </div>\n\n <div class=\"o-hvy-event-detail-add__buttons\">\n <button class=\"a-btn a-btn--primary\" (click)=\"remove()\">\n {{ '@hvy.action.validate' | i18n }}\n </button>\n <button class=\"a-btn a-btn--secondary\" (click)=\"closeModal()\">{{ '@hvy.action.cancel' | i18n }}</button>\n </div>\n</div>\n", dependencies: [{ kind: "pipe", type: i1.I18nPipe, name: "i18n" }] }); }
20
+ }
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RemoveEventComponent, decorators: [{
22
+ type: Component,
23
+ args: [{ selector: 'hvy-remove-event', template: "<div class=\"o-hvy-event-detail-remove\">\n <h3>{{ '@hvy.event.remove.title' | i18n }}</h3>\n\n <div class=\"o-hvy-event-detail-remove__container\">\n <p>{{padId.fn(data.event.id)}} - {{data.event.name}}</p>\n <p>{{ '@hvy.event.remove.text' | i18n }}</p>\n </div>\n\n <div class=\"o-hvy-event-detail-add__buttons\">\n <button class=\"a-btn a-btn--primary\" (click)=\"remove()\">\n {{ '@hvy.action.validate' | i18n }}\n </button>\n <button class=\"a-btn a-btn--secondary\" (click)=\"closeModal()\">{{ '@hvy.action.cancel' | i18n }}</button>\n </div>\n</div>\n" }]
24
+ }], ctorParameters: () => [{ type: i1.PryDialogRef }, { type: undefined, decorators: [{
25
+ type: Inject,
26
+ args: [PRY_DIALOG_DATA]
27
+ }] }] });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLWV2ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvaHlwZXJ2aXNvci9zcmMvbGliL2V2ZW50L2RldGFpbC9yZW1vdmUtZXZlbnQvcmVtb3ZlLWV2ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvaHlwZXJ2aXNvci9zcmMvbGliL2V2ZW50L2RldGFpbC9yZW1vdmUtZXZlbnQvcmVtb3ZlLWV2ZW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8sRUFBQyxlQUFlLEVBQWUsTUFBTSxvQkFBb0IsQ0FBQztBQUVqRSxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sa0NBQWtDLENBQUM7OztBQU92RCxNQUFNLE9BQU8sb0JBQW9CO0lBRS9CLFlBQ1UsTUFBMEMsRUFFM0MsSUFBOEI7UUFGN0IsV0FBTSxHQUFOLE1BQU0sQ0FBb0M7UUFFM0MsU0FBSSxHQUFKLElBQUksQ0FBMEI7UUFZcEIsVUFBSyxHQUFHLEtBQUssQ0FBQztJQVg5QixDQUFDO0lBRUosVUFBVTtRQUNSLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNqRSxDQUFDOzhHQWRVLG9CQUFvQiw4Q0FJckIsZUFBZTtrR0FKZCxvQkFBb0Isd0RDVmpDLHlrQkFlQTs7MkZETGEsb0JBQW9CO2tCQUpoQyxTQUFTOytCQUNFLGtCQUFrQjs7MEJBT3pCLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbmplY3R9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge1BSWV9ESUFMT0dfREFUQSwgUHJ5RGlhbG9nUmVmfSBmcm9tIFwiQHByb3ZvbHkvZGFzaGJvYXJkXCI7XG5pbXBvcnQge0h5cEV2ZW50RGV0YWlsc30gZnJvbSBcIi4uLy4uLy4uL21vZGVsL2V2ZW50L2h5cC1ldmVudC1kZXRhaWwuaW50ZXJmYWNlXCI7XG5pbXBvcnQge3BhZElkfSBmcm9tIFwiLi4vLi4vLi4vZ2VuZXJhbC9wYWQtaWQuZnVuY3Rpb25cIjtcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdodnktcmVtb3ZlLWV2ZW50JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlbW92ZS1ldmVudC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFJlbW92ZUV2ZW50Q29tcG9uZW50IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGRpYWxvZzogUHJ5RGlhbG9nUmVmPFJlbW92ZUV2ZW50Q29tcG9uZW50PixcbiAgICBASW5qZWN0KFBSWV9ESUFMT0dfREFUQSlcbiAgICBwdWJsaWMgZGF0YToge2V2ZW50OiBIeXBFdmVudERldGFpbHN9XG4gICkge31cblxuICBjbG9zZU1vZGFsKCkge1xuICAgIHRoaXMuZGlhbG9nLmNsb3NlKHsgdmFsdWU6ICdjYW5jZWwnIH0pO1xuICB9XG5cbiAgcmVtb3ZlKCl7XG4gICAgdGhpcy5kaWFsb2cuY2xvc2UoeyB2YWx1ZTogJ3JlbW92ZScsIGV2ZW50OiB0aGlzLmRhdGEuZXZlbnQgfSk7XG4gIH1cblxuXG4gIHByb3RlY3RlZCByZWFkb25seSBwYWRJZCA9IHBhZElkO1xufVxuIiwiPGRpdiBjbGFzcz1cIm8taHZ5LWV2ZW50LWRldGFpbC1yZW1vdmVcIj5cbiAgPGgzPnt7ICdAaHZ5LmV2ZW50LnJlbW92ZS50aXRsZScgfCBpMThuIH19PC9oMz5cblxuICA8ZGl2IGNsYXNzPVwiby1odnktZXZlbnQtZGV0YWlsLXJlbW92ZV9fY29udGFpbmVyXCI+XG4gICAgPHA+e3twYWRJZC5mbihkYXRhLmV2ZW50LmlkKX19IC0ge3tkYXRhLmV2ZW50Lm5hbWV9fTwvcD5cbiAgICA8cD57eyAnQGh2eS5ldmVudC5yZW1vdmUudGV4dCcgfCBpMThuIH19PC9wPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiby1odnktZXZlbnQtZGV0YWlsLWFkZF9fYnV0dG9uc1wiPlxuICAgIDxidXR0b24gY2xhc3M9XCJhLWJ0biBhLWJ0bi0tcHJpbWFyeVwiIChjbGljayk9XCJyZW1vdmUoKVwiPlxuICAgICAge3sgJ0BodnkuYWN0aW9uLnZhbGlkYXRlJyB8IGkxOG4gfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIGNsYXNzPVwiYS1idG4gYS1idG4tLXNlY29uZGFyeVwiIChjbGljayk9XCJjbG9zZU1vZGFsKClcIj57eyAnQGh2eS5hY3Rpb24uY2FuY2VsJyB8IGkxOG4gfX08L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -17,6 +17,12 @@ export class ProcedureAssociationModalComponent extends SubscriptionnerDirective
17
17
  set events(events) {
18
18
  this.eventsFromInput$.next(events);
19
19
  }
20
+ set procedureDomain(domain) {
21
+ if (domain && domain !== this.selectedDomain) {
22
+ this.selectedDomain = this.eventsDomain.length === 1 ? this.eventsDomain[0] : undefined;
23
+ this.procedureSelectValue = undefined;
24
+ }
25
+ }
20
26
  constructor(store, procedureService, dialog) {
21
27
  super();
22
28
  this.store = store;
@@ -27,16 +33,19 @@ export class ProcedureAssociationModalComponent extends SubscriptionnerDirective
27
33
  this.eventsFromInput$ = new BehaviorSubject(null);
28
34
  this.eventsForAction = [];
29
35
  this.disableValidButton = true;
36
+ this.eventsDomain = [];
37
+ this.title = '@hvy.associationModal.title';
30
38
  this.DOMAINS = DOMAINS.values;
39
+ this.padId = padId;
31
40
  this.selectedEvents$ = combineLatest([
32
41
  this.eventsFromInput$,
33
42
  this.store.select(EventSelectors.selectedEvents)
34
43
  ]).pipe(map(([eventsFromInput, eventsFromSelect]) => (eventsFromInput !== null ? eventsFromInput : eventsFromSelect)));
35
44
  this.subscriptions.add(this.selectedEvents$.subscribe((events) => (this.eventsForAction = events)));
36
45
  this.subscriptions.add(this.selectedEvents$.subscribe((events) => {
37
- const domains = [...new Set(events.map((ev) => ev.domain))];
38
- if (domains.length === 1) {
39
- this.selectedDomain = domains[0];
46
+ this.eventsDomain = [...new Set(events.map((ev) => ev.domain))];
47
+ if (this.eventsDomain.length === 1) {
48
+ this.selectedDomain = this.eventsDomain[0];
40
49
  }
41
50
  }));
42
51
  this.procedures$ = combineLatest([
@@ -106,12 +115,18 @@ export class ProcedureAssociationModalComponent extends SubscriptionnerDirective
106
115
  this.dialog.close();
107
116
  }
108
117
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: ProcedureAssociationModalComponent, deps: [{ token: i1.Store }, { token: i2.ProcedureService }, { token: i3.PryDialogRef }], target: i0.ɵɵFactoryTarget.Component }); }
109
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: ProcedureAssociationModalComponent, selector: "hvy-procedure-association-modal", inputs: { events: "events" }, usesInheritance: true, ngImport: i0, template: "<div class=\"o-hvy-association-modal u-display-flex -column -align-center\">\n <h3>{{ '@hvy.associationModal.title' | i18n }}</h3>\n <span class=\"o-hvy-association-modal__description\">{{ '@hvy.associationModal.description' | i18n }}</span>\n <div class=\"o-hvy-association-modal__content u-display-flex -justify-space-between\">\n @if (selectedEvents$ | async; as selectedEvents) {\n <div class=\"asso-eve\">\n <label>\u00C9v\u00E9nements li\u00E9s ({{ selectedEvents.length }}) :</label>\n <ul class=\"o-hvy-association-modal__events\">\n @for (event of selectedEvents; track event.id) {\n <li class=\"o-hvy-association-modal__event u-display-flex -align-center\">\n <hvy-icon-display [event]=\"event\"></hvy-icon-display>\n <div class=\"o-hvy-association-modal__event-detail u-display-flex -column\">\n <span class=\"o-hvy-association-modal__event-name\">{{ event.name }}</span>\n @if (event.equipment) {\n <span class=\"o-hvy-association-modal__equipment-name\">{{ event.equipment.name }}</span>\n }\n </div>\n </li>\n }\n </ul>\n </div>\n }\n <div class=\"o-hvy-association-modal__form\">\n <div class=\"m-form-label-field\">\n <label>{{ '@hvy.associationModal.categoryFilter' | i18n }} :</label>\n <pry-select\n [items]=\"DOMAINS\"\n [(ngModel)]=\"selectedDomain\"\n (ngModelChange)=\"onDomainChange()\"\n [placeholder]=\"'@hvy.associationModal.domainPlaceholder' | i18n\"\n i18nPrefix=\"@hvy.event.domain.\"\n id=\"category-filter\"\n ></pry-select>\n </div>\n <div class=\"m-form-label-field\">\n <label for=\"procedure-filter\"\n >{{ '@hvy.associationModal.searchProcedure' | i18n }}<span class=\"text-error\">*</span> :\n </label>\n <pry-select\n [items]=\"procedures$ | async\"\n bindLabel=\"initial\"\n [(ngModel)]=\"procedureSelectValue\"\n (ngModelChange)=\"selectedProcedureChange($event)\"\n [autocomplete]=\"true\"\n [externalAutocompleteService]=\"true\"\n [placeholder]=\"'@hvy.associationModal.procedurePlaceholder' | i18n\"\n id=\"procedure-filter\"\n [template]=\"templateOption\"\n ></pry-select>\n <ng-template #templateOption let-item=\"item\">\n <div class=\"u-display-flex -column\">\n <span [innerHTML]=\"item.html\"></span>\n </div>\n </ng-template>\n </div>\n </div>\n </div>\n <div class=\"o-hvy-association-modal__buttons u-display-flex -justify-center\">\n <button class=\"a-btn a-btn--primary\" [disabled]=\"disableValidButton\" (click)=\"associateProcedure()\">\n {{ '@hvy.action.validate' | i18n }}\n </button>\n <button class=\"a-btn a-btn--secondary\" (click)=\"closeModal()\">{{ '@hvy.action.cancel' | i18n }}</button>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "autocomplete", "alwaysShowAutosuggestedValues", "externalAutocompleteService", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared", "clicked", "pressedEnter"] }, { kind: "component", type: i5.IconDisplayComponent, selector: "hvy-icon-display", inputs: ["event"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }] }); }
118
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: ProcedureAssociationModalComponent, selector: "hvy-procedure-association-modal", inputs: { events: "events", title: "title", procedureSelectValue: "procedureSelectValue", procedureDomain: "procedureDomain" }, usesInheritance: true, ngImport: i0, template: "<div class=\"o-hvy-association-modal u-display-flex -column -align-center\">\n <h3>{{ title | i18n }}</h3>\n <span class=\"o-hvy-association-modal__description\">{{ '@hvy.associationModal.description' | i18n }}</span>\n <div class=\"o-hvy-association-modal__content u-display-flex -justify-space-between\">\n @if (selectedEvents$ | async; as selectedEvents) {\n <div class=\"asso-eve\">\n <label>\u00C9v\u00E9nements li\u00E9s ({{ selectedEvents.length }}) :</label>\n <ul class=\"o-hvy-association-modal__events\">\n @for (event of selectedEvents; track event.id) {\n <li class=\"o-hvy-association-modal__event u-display-flex -align-center\">\n <hvy-icon-display [event]=\"event\"></hvy-icon-display>\n <div class=\"o-hvy-association-modal__event-detail u-display-flex -column\">\n <span class=\"o-hvy-association-modal__event-name\">{{ padId.fn(event.id) }} - {{ event.name }}</span>\n @if (event.equipment) {\n <span class=\"o-hvy-association-modal__equipment-name\">{{ event.equipment.name }}</span>\n }\n </div>\n </li>\n }\n </ul>\n </div>\n }\n <div class=\"o-hvy-association-modal__form\">\n <div class=\"m-form-label-field\">\n <label>{{ '@hvy.associationModal.categoryFilter' | i18n }} :</label>\n <pry-select\n [items]=\"DOMAINS\"\n [(ngModel)]=\"selectedDomain\"\n (ngModelChange)=\"onDomainChange()\"\n [placeholder]=\"'@hvy.associationModal.domainPlaceholder' | i18n\"\n i18nPrefix=\"@hvy.event.domain.\"\n id=\"category-filter\"\n ></pry-select>\n </div>\n <div class=\"m-form-label-field\">\n <label for=\"procedure-filter\"\n >{{ '@hvy.associationModal.searchProcedure' | i18n }}<span class=\"text-error\">*</span> :\n </label>\n <pry-select\n [items]=\"procedures$ | async\"\n bindLabel=\"initial\"\n [(ngModel)]=\"procedureSelectValue\"\n (ngModelChange)=\"selectedProcedureChange($event)\"\n [autocomplete]=\"true\"\n [externalAutocompleteService]=\"true\"\n [placeholder]=\"'@hvy.associationModal.procedurePlaceholder' | i18n\"\n id=\"procedure-filter\"\n [template]=\"templateOption\"\n ></pry-select>\n <ng-template #templateOption let-item=\"item\">\n <div class=\"u-display-flex -column\">\n <span [innerHTML]=\"item.html\"></span>\n </div>\n </ng-template>\n </div>\n </div>\n </div>\n <div class=\"o-hvy-association-modal__buttons u-display-flex -justify-center\">\n <button class=\"a-btn a-btn--primary\" [disabled]=\"disableValidButton\" (click)=\"associateProcedure()\">\n {{ '@hvy.action.validate' | i18n }}\n </button>\n <button class=\"a-btn a-btn--secondary\" (click)=\"closeModal()\">{{ '@hvy.action.cancel' | i18n }}</button>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "forcePlaceHolder", "isForm", "required", "name", "autocomplete", "alwaysShowAutosuggestedValues", "externalAutocompleteService", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared", "clicked", "pressedEnter"] }, { kind: "component", type: i5.IconDisplayComponent, selector: "hvy-icon-display", inputs: ["event"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }] }); }
110
119
  }
111
120
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: ProcedureAssociationModalComponent, decorators: [{
112
121
  type: Component,
113
- args: [{ selector: 'hvy-procedure-association-modal', template: "<div class=\"o-hvy-association-modal u-display-flex -column -align-center\">\n <h3>{{ '@hvy.associationModal.title' | i18n }}</h3>\n <span class=\"o-hvy-association-modal__description\">{{ '@hvy.associationModal.description' | i18n }}</span>\n <div class=\"o-hvy-association-modal__content u-display-flex -justify-space-between\">\n @if (selectedEvents$ | async; as selectedEvents) {\n <div class=\"asso-eve\">\n <label>\u00C9v\u00E9nements li\u00E9s ({{ selectedEvents.length }}) :</label>\n <ul class=\"o-hvy-association-modal__events\">\n @for (event of selectedEvents; track event.id) {\n <li class=\"o-hvy-association-modal__event u-display-flex -align-center\">\n <hvy-icon-display [event]=\"event\"></hvy-icon-display>\n <div class=\"o-hvy-association-modal__event-detail u-display-flex -column\">\n <span class=\"o-hvy-association-modal__event-name\">{{ event.name }}</span>\n @if (event.equipment) {\n <span class=\"o-hvy-association-modal__equipment-name\">{{ event.equipment.name }}</span>\n }\n </div>\n </li>\n }\n </ul>\n </div>\n }\n <div class=\"o-hvy-association-modal__form\">\n <div class=\"m-form-label-field\">\n <label>{{ '@hvy.associationModal.categoryFilter' | i18n }} :</label>\n <pry-select\n [items]=\"DOMAINS\"\n [(ngModel)]=\"selectedDomain\"\n (ngModelChange)=\"onDomainChange()\"\n [placeholder]=\"'@hvy.associationModal.domainPlaceholder' | i18n\"\n i18nPrefix=\"@hvy.event.domain.\"\n id=\"category-filter\"\n ></pry-select>\n </div>\n <div class=\"m-form-label-field\">\n <label for=\"procedure-filter\"\n >{{ '@hvy.associationModal.searchProcedure' | i18n }}<span class=\"text-error\">*</span> :\n </label>\n <pry-select\n [items]=\"procedures$ | async\"\n bindLabel=\"initial\"\n [(ngModel)]=\"procedureSelectValue\"\n (ngModelChange)=\"selectedProcedureChange($event)\"\n [autocomplete]=\"true\"\n [externalAutocompleteService]=\"true\"\n [placeholder]=\"'@hvy.associationModal.procedurePlaceholder' | i18n\"\n id=\"procedure-filter\"\n [template]=\"templateOption\"\n ></pry-select>\n <ng-template #templateOption let-item=\"item\">\n <div class=\"u-display-flex -column\">\n <span [innerHTML]=\"item.html\"></span>\n </div>\n </ng-template>\n </div>\n </div>\n </div>\n <div class=\"o-hvy-association-modal__buttons u-display-flex -justify-center\">\n <button class=\"a-btn a-btn--primary\" [disabled]=\"disableValidButton\" (click)=\"associateProcedure()\">\n {{ '@hvy.action.validate' | i18n }}\n </button>\n <button class=\"a-btn a-btn--secondary\" (click)=\"closeModal()\">{{ '@hvy.action.cancel' | i18n }}</button>\n </div>\n</div>\n" }]
122
+ args: [{ selector: 'hvy-procedure-association-modal', template: "<div class=\"o-hvy-association-modal u-display-flex -column -align-center\">\n <h3>{{ title | i18n }}</h3>\n <span class=\"o-hvy-association-modal__description\">{{ '@hvy.associationModal.description' | i18n }}</span>\n <div class=\"o-hvy-association-modal__content u-display-flex -justify-space-between\">\n @if (selectedEvents$ | async; as selectedEvents) {\n <div class=\"asso-eve\">\n <label>\u00C9v\u00E9nements li\u00E9s ({{ selectedEvents.length }}) :</label>\n <ul class=\"o-hvy-association-modal__events\">\n @for (event of selectedEvents; track event.id) {\n <li class=\"o-hvy-association-modal__event u-display-flex -align-center\">\n <hvy-icon-display [event]=\"event\"></hvy-icon-display>\n <div class=\"o-hvy-association-modal__event-detail u-display-flex -column\">\n <span class=\"o-hvy-association-modal__event-name\">{{ padId.fn(event.id) }} - {{ event.name }}</span>\n @if (event.equipment) {\n <span class=\"o-hvy-association-modal__equipment-name\">{{ event.equipment.name }}</span>\n }\n </div>\n </li>\n }\n </ul>\n </div>\n }\n <div class=\"o-hvy-association-modal__form\">\n <div class=\"m-form-label-field\">\n <label>{{ '@hvy.associationModal.categoryFilter' | i18n }} :</label>\n <pry-select\n [items]=\"DOMAINS\"\n [(ngModel)]=\"selectedDomain\"\n (ngModelChange)=\"onDomainChange()\"\n [placeholder]=\"'@hvy.associationModal.domainPlaceholder' | i18n\"\n i18nPrefix=\"@hvy.event.domain.\"\n id=\"category-filter\"\n ></pry-select>\n </div>\n <div class=\"m-form-label-field\">\n <label for=\"procedure-filter\"\n >{{ '@hvy.associationModal.searchProcedure' | i18n }}<span class=\"text-error\">*</span> :\n </label>\n <pry-select\n [items]=\"procedures$ | async\"\n bindLabel=\"initial\"\n [(ngModel)]=\"procedureSelectValue\"\n (ngModelChange)=\"selectedProcedureChange($event)\"\n [autocomplete]=\"true\"\n [externalAutocompleteService]=\"true\"\n [placeholder]=\"'@hvy.associationModal.procedurePlaceholder' | i18n\"\n id=\"procedure-filter\"\n [template]=\"templateOption\"\n ></pry-select>\n <ng-template #templateOption let-item=\"item\">\n <div class=\"u-display-flex -column\">\n <span [innerHTML]=\"item.html\"></span>\n </div>\n </ng-template>\n </div>\n </div>\n </div>\n <div class=\"o-hvy-association-modal__buttons u-display-flex -justify-center\">\n <button class=\"a-btn a-btn--primary\" [disabled]=\"disableValidButton\" (click)=\"associateProcedure()\">\n {{ '@hvy.action.validate' | i18n }}\n </button>\n <button class=\"a-btn a-btn--secondary\" (click)=\"closeModal()\">{{ '@hvy.action.cancel' | i18n }}</button>\n </div>\n</div>\n" }]
114
123
  }], ctorParameters: () => [{ type: i1.Store }, { type: i2.ProcedureService }, { type: i3.PryDialogRef }], propDecorators: { events: [{
115
124
  type: Input
125
+ }], title: [{
126
+ type: Input
127
+ }], procedureSelectValue: [{
128
+ type: Input
129
+ }], procedureDomain: [{
130
+ type: Input
116
131
  }] } });
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2VkdXJlLWFzc29jaWF0aW9uLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvaHlwZXJ2aXNvci9zcmMvbGliL2V2ZW50L3Byb2NlZHVyZS1hc3NvY2lhdGlvbi1tb2RhbC9wcm9jZWR1cmUtYXNzb2NpYXRpb24tbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9oeXBlcnZpc29yL3NyYy9saWIvZXZlbnQvcHJvY2VkdXJlLWFzc29jaWF0aW9uLW1vZGFsL3Byb2NlZHVyZS1hc3NvY2lhdGlvbi1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQWMsV0FBVyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFakgsT0FBTyxFQUFnQix3QkFBd0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFJbkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7Ozs7QUFXdEQsTUFBTSxPQUFPLGtDQUFtQyxTQUFRLHdCQUF3QjtJQWM5RSxJQUFhLE1BQU0sQ0FBQyxNQUF5QjtRQUMzQyxJQUFJLENBQUMsZ0JB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LElBQUksQ0FBQyxvQkFBMEMsQ0FBQyxFQUFFO1lBQ2hFLFFBQVEsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztTQUN4RCxDQUFDLENBQ0gsQ0FBQztRQUNGLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdEIsQ0FBQzs4R0F2SFUsa0NBQWtDO2tHQUFsQyxrQ0FBa0MsNEhDdEIvQywrOUZBZ0VBOzsyRkQxQ2Esa0NBQWtDO2tCQUo5QyxTQUFTOytCQUNFLGlDQUFpQztvSUFpQjlCLE1BQU07c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGRlYm91bmNlVGltZSwgT2JzZXJ2YWJsZSwgc2hhcmVSZXBsYXksIFN1YmplY3QsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBQcnlEaWFsb2dSZWYsIFN1YnNjcmlwdGlvbm5lckRpcmVjdGl2ZSB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBFdmVudEFjdGlvbnMgfSBmcm9tICcuLi8uLi9zdG9yZS9ldmVudC9ldmVudC5hY3Rpb25zJztcbmltcG9ydCB7IEV2ZW50U2VsZWN0b3JzIH0gZnJvbSAnLi4vLi4vc3RvcmUvZXZlbnQvZXZlbnQuc2VsZWN0b3JzJztcbmltcG9ydCB7IEh5cEV2ZW50RGV0YWlscyB9IGZyb20gJy4uLy4uL21vZGVsL2V2ZW50L2h5cC1ldmVudC1kZXRhaWwuaW50ZXJmYWNlJztcbmltcG9ydCB7IEh5cFByb2NlZHVyZU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWwvcHJvY2VkdXJlL2h5cC1wcm9jZWR1cmUtbW9kZWwuaW50ZXJmYWNlJztcbmltcG9ydCB7IFByb2NlZHVyZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zdG9yZS9wcm9jZWR1cmUvcHJvY2VkdXJlLnNlcnZpY2UnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwLCBzdGFydFdpdGggfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBET01BSU5TIH0gZnJvbSAnLi4vLi4vbW9kZWwvZG9tYWlucy5jb25zdGFudCc7XG5pbXBvcnQgeyBwYWRJZCB9IGZyb20gJy4uLy4uL2dlbmVyYWwvcGFkLWlkLmZ1bmN0aW9uJztcblxuZXhwb3J0IGludGVyZmFjZSBIeXBQcm9jZWR1cmVNb2RlbFdpdGhNYXRjaGluZyBleHRlbmRzIEh5cFByb2NlZHVyZU1vZGVsIHtcbiAgaW5pdGlhbDogc3RyaW5nO1xuICBodG1sOiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2h2eS1wcm9jZWR1cmUtYXNzb2NpYXRpb24tbW9kYWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvY2VkdXJlLWFzc29jaWF0aW9uLW1vZGFsLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBQcm9jZWR1cmVBc3NvY2lhdGlvbk1vZGFsQ29tcG9uZW50IGV4dGVuZHMgU3Vic2NyaXB0aW9ubmVyRGlyZWN0aXZlIHtcbiAgc2VsZWN0ZWRFdmVudHMkOiBPYnNlcnZhYmxlPEh5cEV2ZW50RGV0YWlsc1tdPjtcblxuICBzZWxlY3RlZERvbWFpbj86IHN0cmluZztcbiAgc2VsZWN0ZWRQcm9jZWR1cmVJbkNvbWJvQm94PzogSHlwUHJvY2VkdXJlTW9kZWw7XG4gIG9uRG9tYWluU2VsZWN0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8dm9pZD4odW5kZWZpbmVkKTtcblxuICBwcm9jZWR1cmVTZWxlY3RWYWx1ZT86IHN0cmluZyB8IEh5cFByb2NlZHVyZU1vZGVsO1xuICBvblByb2NlZHVyZVNlYXJjaCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcm9jZWR1cmVzJDogT2JzZXJ2YWJsZTxIeXBQcm9jZWR1cmVNb2RlbFdpdGhNYXRjaGluZ1tdPjtcbiAgZXZlbnRzRnJvbUlucHV0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SHlwRXZlbnREZXRhaWxzW10gfCBudWxsPihudWxsKTtcbiAgZXZlbnRzRm9yQWN0aW9uOiBIeXBFdmVudERldGFpbHNbXSA9IFtdO1xuICBkaXNhYmxlVmFsaWRCdXR0b24gPSB0cnVlO1xuXG4gIEBJbnB1dCgpIHNldCBldmVudHMoZXZlbnRzOiBIeXBFdmVudERldGFpbHNbXSkge1xuICAgIHRoaXMuZXZlbnRzRnJvbUlucHV0JC5uZXh0KGV2ZW50cyk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZSxcbiAgICBwcml2YXRlIHByb2NlZHVyZVNlcnZpY2U6IFByb2NlZHVyZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBkaWFsb2c6IFByeURpYWxvZ1JlZjxQcm9jZWR1cmVBc3NvY2lhdGlvbk1vZGFsQ29tcG9uZW50PlxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuc2VsZWN0ZWRFdmVudHMkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLmV2ZW50c0Zyb21JbnB1dCQsXG4gICAgICB0aGlzLnN0b3JlLnNlbGVjdChFdmVudFNlbGVjdG9ycy5zZWxlY3RlZEV2ZW50cylcbiAgICBdKS5waXBlKFxuICAgICAgbWFwKChbZXZlbnRzRnJvbUlucHV0LCBldmVudHNGcm9tU2VsZWN0XSkgPT4gKGV2ZW50c0Zyb21JbnB1dCAhPT0gbnVsbCA/IGV2ZW50c0Zyb21JbnB1dCA6IGV2ZW50c0Zyb21TZWxlY3QpKVxuICAgICk7XG5cbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKHRoaXMuc2VsZWN0ZWRFdmVudHMkLnN1YnNjcmliZSgoZXZlbnRzKSA9PiAodGhpcy5ldmVudHNGb3JBY3Rpb24gPSBldmVudHMpKSk7XG5cbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy5zZWxlY3RlZEV2ZW50cyQuc3Vic2NyaWJlKChldmVudHMpID0+IHtcbiAgICAgICAgY29uc3QgZG9tYWlucyA9IFsuLi5uZXcgU2V0KGV2ZW50cy5tYXAoKGV2KSA9PiBldi5kb21haW4pKV07XG4gICAgICAgIGlmIChkb21haW5zLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWREb21haW4gPSBkb21haW5zWzBdO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG5cbiAgICB0aGlzLnByb2NlZHVyZXMkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLm9uRG9tYWluU2VsZWN0JC5waXBlKHN0YXJ0V2l0aCgpKSxcbiAgICAgIHRoaXMub25Qcm9jZWR1cmVTZWFyY2gkLnBpcGUoc3RhcnRXaXRoKCksIGRlYm91bmNlVGltZSg1MDApKVxuICAgIF0pLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKFtfLCBfX10pID0+IHtcbiAgICAgICAgY29uc3Qgc2VhcmNoID1cbiAgICAgICAgICB0eXBlb2YgdGhpcy5wcm9jZWR1cmVTZWxlY3RWYWx1ZSA9PT0gJ3N0cmluZycgJiYgdGhpcy5wcm9jZWR1cmVTZWxlY3RWYWx1ZS5sZW5ndGggPiAyID9cbiAgICAgICAgICAgIHRoaXMuY2xlYW5Qcm9jZWR1cmVOYW1lRm9yQ29tYm9Cb3hTZWFyY2godGhpcy5wcm9jZWR1cmVTZWxlY3RWYWx1ZSkgOlxuICAgICAgICAgICAgICB0eXBlb2YgdGhpcy5wcm9jZWR1cmVTZWxlY3RWYWx1ZSA9PT0gJ29iamVjdCcgP1xuICAgICAgICAgICAgICAgIHRoaXMucHJvY2VkdXJlU2VsZWN0VmFsdWUubmFtZSA6XG4gICAgICAgICAgICAgICAgICB1bmRlZmluZWQ7XG4gICAgICAgIHJldHVybiB0aGlzLnByb2NlZHVyZVNlcnZpY2UuZ2V0VG9wMTBCeVVzYWdlKHRoaXMuc2VsZWN0ZWREb21haW4sIHNlYXJjaCkucGlwZShcbiAgICAgICAgICBtYXAoKHByb2NlZHVyZXMpID0+XG4gICAgICAgICAgICBwcm9jZWR1cmVzLm1hcCgocHJvYykgPT4ge1xuICAgICAgICAgICAgICBjb25zdCByZWdleCA9IFJlZ0V4cChgKCR7c2VhcmNofSlgID8/ICcoLy0vLS8pJywgJ2dpZCcpO1xuICAgICAgICAgICAgICBjb25zdCBodG1sID0gYCR7cGFkSWQuZm4ocHJvYy5pZCl9IC0gJHtwcm9jLm5hbWV9ICgke3Byb2MuY3JlYXRvcn0pYDtcbiAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAuLi5wcm9jLFxuICAgICAgICAgICAgICAgIGluaXRpYWw6IGh0bWwsXG4gICAgICAgICAgICAgICAgaHRtbDogaHRtbC5yZXBsYWNlQWxsKHJlZ2V4LCAobWF0Y2hlZDogc3RyaW5nLCBjYXB0dXJlMTogc3RyaW5nKSA9PiBgPGI+JHtjYXB0dXJlMX08L2I+YClcbiAgICAgICAgICAgICAgfSBhcyBIeXBQcm9jZWR1cmVNb2RlbFdpdGhNYXRjaGluZztcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKVxuICAgICAgICApO1xuICAgICAgfSksXG4gICAgICBjYXRjaEVycm9yKCgpID0+IHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdQcm9jZWR1cmUgY2F0YWxvZyBwcm9ibGVtJyk7XG4gICAgICB9KSxcbiAgICAgIHNoYXJlUmVwbGF5KClcbiAgICApO1xuICB9XG5cbiAgb25Eb21haW5DaGFuZ2UoKSB7XG4gICAgdGhpcy5vbkRvbWFpblNlbGVjdCQubmV4dCgpO1xuICAgIHRoaXMucHJvY2VkdXJlU2VsZWN0VmFsdWUgPSB1bmRlZmluZWQ7XG4gIH1cblxuICBjbGVhblByb2NlZHVyZU5hbWVGb3JDb21ib0JveFNlYXJjaChwcm9jZWR1cmU6IHN0cmluZyl7XG4gICAgY29uc3QgaW5kZXhPZlRpcmV0ID0gcHJvY2VkdXJlLmluZGV4T2YoJy0nKTtcbiAgICBjb25zdCBpbmRleE9mQ3JlYXRvciA9IHByb2NlZHVyZS5sYXN0SW5kZXhPZignKCcpO1xuICAgIGlmKGluZGV4T2ZUaXJldCAhPT0gLTEgJiYgaW5kZXhPZkNyZWF0b3IgIT09IC0xKSB7XG4gICAgICBwcm9jZWR1cmUgPSBwcm9jZWR1cmUuc3Vic3RyaW5nKGluZGV4T2ZUaXJldCArIDIsIGluZGV4T2ZDcmVhdG9yIC0gMSk7XG4gICAgfSBlbHNlIGlmIChpbmRleE9mVGlyZXQgIT09IC0xKSB7XG4gICAgICBwcm9jZWR1cmUgPSBwcm9jZWR1cmUuc3Vic3RyaW5nKGluZGV4T2ZUaXJldCArIDIpO1xuICAgIH0gZWxzZSBpZihpbmRleE9mQ3JlYXRvciAhPT0gLTEpIHtcbiAgICAgIHByb2NlZHVyZSA9IHByb2NlZHVyZS5zdWJzdHJpbmcoMCwgaW5kZXhPZkNyZWF0b3IgLSAxKTtcbiAgICB9XG4gICAgcmV0dXJuIHByb2NlZHVyZTtcbiAgfVxuXG4gIHNlbGVjdGVkUHJvY2VkdXJlQ2hhbmdlKCRldmVudDogc3RyaW5nIHwgSHlwUHJvY2VkdXJlTW9kZWwpIHtcbiAgICAvLyB3aGVuIGNob29zZSBhIHByb2NlZHVyZVxuICAgIGlmKHR5cGVvZiAkZXZlbnQgPT09ICdvYmplY3QnKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkUHJvY2VkdXJlSW5Db21ib0JveCA9ICRldmVudDtcbiAgICAgIHRoaXMucHJvY2VkdXJlU2VsZWN0VmFsdWUgPSAkZXZlbnQ7XG4gICAgICAvLyB3aGVuIGNsaWNrIG9uIGNob29zZW4gcHJvY2VkdXJlXG4gICAgfSBlbHNlIGlmKCh0aGlzLnNlbGVjdGVkUHJvY2VkdXJlSW5Db21ib0JveCBhcyBIeXBQcm9jZWR1cmVNb2RlbFdpdGhNYXRjaGluZyk/Lmh0bWwgPT09ICRldmVudCkge1xuICAgICAgICB0aGlzLnByb2NlZHVyZVNlbGVjdFZhbHVlID0gdGhpcy5zZWxlY3RlZFByb2NlZHVyZUluQ29tYm9Cb3g7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnByb2NlZHVyZVNlbGVjdFZhbHVlID0gJGV2ZW50O1xuICAgICAgfVxuICAgIHRoaXMuZGlzYWJsZVZhbGlkQnV0dG9uID0gdHlwZW9mIHRoaXMucHJvY2VkdXJlU2VsZWN0VmFsdWUgIT09ICdvYmplY3QnO1xuICAgIHRoaXMub25Qcm9jZWR1cmVTZWFyY2gkLm5leHQoKTtcbiAgfVxuXG4gIGFzc29jaWF0ZVByb2NlZHVyZSgpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgRXZlbnRBY3Rpb25zLmFzc29jaWF0ZVByb2NlZHVyZSh7XG4gICAgICAgIHByb2NlZHVyZUlkOiAodGhpcy5wcm9jZWR1cmVTZWxlY3RWYWx1ZSBhcyBIeXBQcm9jZWR1cmVNb2RlbCkuaWQsXG4gICAgICAgIGV2ZW50SWRzOiB0aGlzLmV2ZW50c0ZvckFjdGlvbi5tYXAoKGV2ZW50KSA9PiBldmVudC5pZClcbiAgICAgIH0pXG4gICAgKTtcbiAgICB0aGlzLmNsb3NlTW9kYWwoKTtcbiAgfVxuXG4gIGNsb3NlTW9kYWwoKSB7XG4gICAgdGhpcy5kaWFsb2cuY2xvc2UoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCByZWFkb25seSBET01BSU5TID0gRE9NQUlOUy52YWx1ZXM7XG59XG4iLCI8ZGl2IGNsYXNzPVwiby1odnktYXNzb2NpYXRpb24tbW9kYWwgdS1kaXNwbGF5LWZsZXggLWNvbHVtbiAtYWxpZ24tY2VudGVyXCI+XG4gIDxoMz57eyAnQGh2eS5hc3NvY2lhdGlvbk1vZGFsLnRpdGxlJyB8IGkxOG4gfX08L2gzPlxuICA8c3BhbiBjbGFzcz1cIm8taHZ5LWFzc29jaWF0aW9uLW1vZGFsX19kZXNjcmlwdGlvblwiPnt7ICdAaHZ5LmFzc29jaWF0aW9uTW9kYWwuZGVzY3JpcHRpb24nIHwgaTE4biB9fTwvc3Bhbj5cbiAgPGRpdiBjbGFzcz1cIm8taHZ5LWFzc29jaWF0aW9uLW1vZGFsX19jb250ZW50IHUtZGlzcGxheS1mbGV4IC1qdXN0aWZ5LXNwYWNlLWJldHdlZW5cIj5cbiAgICBAaWYgKHNlbGVjdGVkRXZlbnRzJCB8IGFzeW5jOyBhcyBzZWxlY3RlZEV2ZW50cykge1xuICAgICAgPGRpdiBjbGFzcz1cImFzc28tZXZlXCI+XG4gICAgICAgIDxsYWJlbD7DiXbDqW5lbWVudHMgbGnDqXMgKHt7IHNlbGVjdGVkRXZlbnRzLmxlbmd0aCB9fSkgOjwvbGFiZWw+XG4gICAgICAgIDx1bCBjbGFzcz1cIm8taHZ5LWFzc29jaWF0aW9uLW1vZGFsX19ldmVudHNcIj5cbiAgICAgICAgICBAZm9yIChldmVudCBvZiBzZWxlY3RlZEV2ZW50czsgdHJhY2sgZXZlbnQuaWQpIHtcbiAgICAgICAgICAgIDxsaSBjbGFzcz1cIm8taHZ5LWFzc29jaWF0aW9uLW1vZGFsX19ldmVudCB1LWRpc3BsYXktZmxleCAtYWxpZ24tY2VudGVyXCI+XG4gICAgICAgICAgICAgIDxodnktaWNvbi1kaXNwbGF5IFtldmVudF09XCJldmVudFwiPjwvaHZ5LWljb24tZGlzcGxheT5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm8taHZ5LWFzc29jaWF0aW9uLW1vZGFsX19ldmVudC1kZXRhaWwgdS1kaXNwbGF5LWZsZXggLWNvbHVtblwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiby1odnktYXNzb2NpYXRpb24tbW9kYWxfX2V2ZW50LW5hbWVcIj57eyBldmVudC5uYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIEBpZiAoZXZlbnQuZXF1aXBtZW50KSB7XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm8taHZ5LWFzc29jaWF0aW9uLW1vZGFsX19lcXVpcG1lbnQtbmFtZVwiPnt7IGV2ZW50LmVxdWlwbWVudC5uYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICAgIH1cbiAgICAgICAgPC91bD5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgICA8ZGl2IGNsYXNzPVwiby1odnktYXNzb2NpYXRpb24tbW9kYWxfX2Zvcm1cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGRcIj5cbiAgICAgICAgPGxhYmVsPnt7ICdAaHZ5LmFzc29jaWF0aW9uTW9kYWwuY2F0ZWdvcnlGaWx0ZXInIHwgaTE4biB9fSA6PC9sYWJlbD5cbiAgICAgICAgPHByeS1zZWxlY3RcbiAgICAgICAgICBbaXRlbXNdPVwiRE9NQUlOU1wiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZERvbWFpblwiXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25Eb21haW5DaGFuZ2UoKVwiXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidAaHZ5LmFzc29jaWF0aW9uTW9kYWwuZG9tYWluUGxhY2Vob2xkZXInIHwgaTE4blwiXG4gICAgICAgICAgaTE4blByZWZpeD1cIkBodnkuZXZlbnQuZG9tYWluLlwiXG4gICAgICAgICAgaWQ9XCJjYXRlZ29yeS1maWx0ZXJcIlxuICAgICAgICA+PC9wcnktc2VsZWN0PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkXCI+XG4gICAgICAgIDxsYWJlbCBmb3I9XCJwcm9jZWR1cmUtZmlsdGVyXCJcbiAgICAgICAgICA+e3sgJ0BodnkuYXNzb2NpYXRpb25Nb2RhbC5zZWFyY2hQcm9jZWR1cmUnIHwgaTE4biB9fTxzcGFuIGNsYXNzPVwidGV4dC1lcnJvclwiPio8L3NwYW4+IDpcbiAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPHByeS1zZWxlY3RcbiAgICAgICAgICBbaXRlbXNdPVwicHJvY2VkdXJlcyQgfCBhc3luY1wiXG4gICAgICAgICAgYmluZExhYmVsPVwiaW5pdGlhbFwiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJwcm9jZWR1cmVTZWxlY3RWYWx1ZVwiXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2VsZWN0ZWRQcm9jZWR1cmVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgW2F1dG9jb21wbGV0ZV09XCJ0cnVlXCJcbiAgICAgICAgICBbZXh0ZXJuYWxBdXRvY29tcGxldGVTZXJ2aWNlXT1cInRydWVcIlxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInQGh2eS5hc3NvY2lhdGlvbk1vZGFsLnByb2NlZHVyZVBsYWNlaG9sZGVyJyB8IGkxOG5cIlxuICAgICAgICAgIGlkPVwicHJvY2VkdXJlLWZpbHRlclwiXG4gICAgICAgICAgW3RlbXBsYXRlXT1cInRlbXBsYXRlT3B0aW9uXCJcbiAgICAgICAgPjwvcHJ5LXNlbGVjdD5cbiAgICAgICAgPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZU9wdGlvbiBsZXQtaXRlbT1cIml0ZW1cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidS1kaXNwbGF5LWZsZXggLWNvbHVtblwiPlxuICAgICAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJpdGVtLmh0bWxcIj48L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJvLWh2eS1hc3NvY2lhdGlvbi1tb2RhbF9fYnV0dG9ucyB1LWRpc3BsYXktZmxleCAtanVzdGlmeS1jZW50ZXJcIj5cbiAgICA8YnV0dG9uIGNsYXNzPVwiYS1idG4gYS1idG4tLXByaW1hcnlcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZVZhbGlkQnV0dG9uXCIgKGNsaWNrKT1cImFzc29jaWF0ZVByb2NlZHVyZSgpXCI+XG4gICAgICB7eyAnQGh2eS5hY3Rpb24udmFsaWRhdGUnIHwgaTE4biB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gY2xhc3M9XCJhLWJ0biBhLWJ0bi0tc2Vjb25kYXJ5XCIgKGNsaWNrKT1cImNsb3NlTW9kYWwoKVwiPnt7ICdAaHZ5LmFjdGlvbi5jYW5jZWwnIHwgaTE4biB9fTwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2VkdXJlLWFzc29jaWF0aW9uLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvaHlwZXJ2aXNvci9zcmMvbGliL2V2ZW50L3Byb2NlZHVyZS1hc3NvY2lhdGlvbi1tb2RhbC9wcm9jZWR1cmUtYXNzb2NpYXRpb24tbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9oeXBlcnZpc29yL3NyYy9saWIvZXZlbnQvcHJvY2VkdXJlLWFzc29jaWF0aW9uLW1vZGFsL3Byb2NlZHVyZS1hc3NvY2lhdGlvbi1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQWMsV0FBVyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFakgsT0FBTyxFQUFnQix3QkFBd0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFJbkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7Ozs7QUFXdEQsTUFBTSxPQUFPLGtDQUFtQyxTQUFRLHdCQUF3QjtJQWM5RSxJQUFhLE1BQU0sQ0FBQyxNQUF5QjtRQUMzQyxJQUFJLENBQUMsZ0JB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QUFNLElBQUksSUFBSSxDQUFDLDJCQUE2RCxFQUFFLElBQUksS0FBSyxNQUFNLEVBQUUsQ0FBQztZQUM3RixJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLDJCQUEyQixDQUFDO1FBQy9ELENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLG9CQUFvQixHQUFHLE1BQU0sQ0FBQztRQUNyQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGtCQUFrQixHQUFHLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixLQUFLLFFBQVEsQ0FBQztRQUN4RSxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FDakIsWUFBWSxDQUFDLGtCQUFrQixDQUFDO1lBQzlCLFdBQVcsRUFBRyxJQUFJLENBQUMsb0JBQTBDLENBQUMsRUFBRTtZQUNoRSxRQUFRLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7U0FDeEQsQ0FBQyxDQUNILENBQUM7UUFDRixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3RCLENBQUM7OEdBaElVLGtDQUFrQztrR0FBbEMsa0NBQWtDLDhOQ3RCL0MsaytGQWdFQTs7MkZEMUNhLGtDQUFrQztrQkFKOUMsU0FBUzsrQkFDRSxpQ0FBaUM7b0lBaUI5QixNQUFNO3NCQUFsQixLQUFLO2dCQUlHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ08sZUFBZTtzQkFBM0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgZGVib3VuY2VUaW1lLCBPYnNlcnZhYmxlLCBzaGFyZVJlcGxheSwgU3ViamVjdCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IFByeURpYWxvZ1JlZiwgU3Vic2NyaXB0aW9ubmVyRGlyZWN0aXZlIH0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IEV2ZW50QWN0aW9ucyB9IGZyb20gJy4uLy4uL3N0b3JlL2V2ZW50L2V2ZW50LmFjdGlvbnMnO1xuaW1wb3J0IHsgRXZlbnRTZWxlY3RvcnMgfSBmcm9tICcuLi8uLi9zdG9yZS9ldmVudC9ldmVudC5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgSHlwRXZlbnREZXRhaWxzIH0gZnJvbSAnLi4vLi4vbW9kZWwvZXZlbnQvaHlwLWV2ZW50LWRldGFpbC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSHlwUHJvY2VkdXJlTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbC9wcm9jZWR1cmUvaHlwLXByb2NlZHVyZS1tb2RlbC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUHJvY2VkdXJlU2VydmljZSB9IGZyb20gJy4uLy4uL3N0b3JlL3Byb2NlZHVyZS9wcm9jZWR1cmUuc2VydmljZSc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IERPTUFJTlMgfSBmcm9tICcuLi8uLi9tb2RlbC9kb21haW5zLmNvbnN0YW50JztcbmltcG9ydCB7IHBhZElkIH0gZnJvbSAnLi4vLi4vZ2VuZXJhbC9wYWQtaWQuZnVuY3Rpb24nO1xuXG5leHBvcnQgaW50ZXJmYWNlIEh5cFByb2NlZHVyZU1vZGVsV2l0aE1hdGNoaW5nIGV4dGVuZHMgSHlwUHJvY2VkdXJlTW9kZWwge1xuICBpbml0aWFsOiBzdHJpbmc7XG4gIGh0bWw6IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaHZ5LXByb2NlZHVyZS1hc3NvY2lhdGlvbi1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9jZWR1cmUtYXNzb2NpYXRpb24tbW9kYWwuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFByb2NlZHVyZUFzc29jaWF0aW9uTW9kYWxDb21wb25lbnQgZXh0ZW5kcyBTdWJzY3JpcHRpb25uZXJEaXJlY3RpdmUge1xuICBzZWxlY3RlZEV2ZW50cyQ6IE9ic2VydmFibGU8SHlwRXZlbnREZXRhaWxzW10+O1xuXG4gIHNlbGVjdGVkRG9tYWluPzogc3RyaW5nO1xuICBzZWxlY3RlZFByb2NlZHVyZUluQ29tYm9Cb3g/OiBIeXBQcm9jZWR1cmVNb2RlbDtcbiAgb25Eb21haW5TZWxlY3QkID0gbmV3IEJlaGF2aW9yU3ViamVjdDx2b2lkPih1bmRlZmluZWQpO1xuXG4gIG9uUHJvY2VkdXJlU2VhcmNoJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByb2NlZHVyZXMkOiBPYnNlcnZhYmxlPEh5cFByb2NlZHVyZU1vZGVsV2l0aE1hdGNoaW5nW10+O1xuICBldmVudHNGcm9tSW5wdXQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxIeXBFdmVudERldGFpbHNbXSB8IG51bGw+KG51bGwpO1xuICBldmVudHNGb3JBY3Rpb246IEh5cEV2ZW50RGV0YWlsc1tdID0gW107XG4gIGRpc2FibGVWYWxpZEJ1dHRvbiA9IHRydWU7XG4gIGV2ZW50c0RvbWFpbjogKHN0cmluZyB8IHVuZGVmaW5lZClbXSA9IFtdO1xuXG4gIEBJbnB1dCgpIHNldCBldmVudHMoZXZlbnRzOiBIeXBFdmVudERldGFpbHNbXSkge1xuICAgIHRoaXMuZXZlbnRzRnJvbUlucHV0JC5uZXh0KGV2ZW50cyk7XG4gIH1cblxuICBASW5wdXQoKSB0aXRsZTogc3RyaW5nID0gJ0BodnkuYXNzb2NpYXRpb25Nb2RhbC50aXRsZSc7XG4gIEBJbnB1dCgpIHByb2NlZHVyZVNlbGVjdFZhbHVlPzogc3RyaW5nIHwgSHlwUHJvY2VkdXJlTW9kZWw7XG4gIEBJbnB1dCgpIHNldCBwcm9jZWR1cmVEb21haW4oZG9tYWluOiBzdHJpbmcpIHtcbiAgICBpZihkb21haW4gJiYgZG9tYWluICE9PSB0aGlzLnNlbGVjdGVkRG9tYWluKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkRG9tYWluID0gdGhpcy5ldmVudHNEb21haW4ubGVuZ3RoID09PSAxID8gdGhpcy5ldmVudHNEb21haW5bMF0gOiB1bmRlZmluZWQ7XG4gICAgICB0aGlzLnByb2NlZHVyZVNlbGVjdFZhbHVlID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlLFxuICAgIHByaXZhdGUgcHJvY2VkdXJlU2VydmljZTogUHJvY2VkdXJlU2VydmljZSxcbiAgICBwcml2YXRlIGRpYWxvZzogUHJ5RGlhbG9nUmVmPFByb2NlZHVyZUFzc29jaWF0aW9uTW9kYWxDb21wb25lbnQ+XG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5zZWxlY3RlZEV2ZW50cyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuZXZlbnRzRnJvbUlucHV0JCxcbiAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KEV2ZW50U2VsZWN0b3JzLnNlbGVjdGVkRXZlbnRzKVxuICAgIF0pLnBpcGUoXG4gICAgICBtYXAoKFtldmVudHNGcm9tSW5wdXQsIGV2ZW50c0Zyb21TZWxlY3RdKSA9PiAoZXZlbnRzRnJvbUlucHV0ICE9PSBudWxsID8gZXZlbnRzRnJvbUlucHV0IDogZXZlbnRzRnJvbVNlbGVjdCkpXG4gICAgKTtcblxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQodGhpcy5zZWxlY3RlZEV2ZW50cyQuc3Vic2NyaWJlKChldmVudHMpID0+ICh0aGlzLmV2ZW50c0ZvckFjdGlvbiA9IGV2ZW50cykpKTtcblxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLnNlbGVjdGVkRXZlbnRzJC5zdWJzY3JpYmUoKGV2ZW50cykgPT4ge1xuICAgICAgICB0aGlzLmV2ZW50c0RvbWFpbiA9IFsuLi5uZXcgU2V0KGV2ZW50cy5tYXAoKGV2KSA9PiBldi5kb21haW4pKV07XG4gICAgICAgIGlmICh0aGlzLmV2ZW50c0RvbWFpbi5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkRG9tYWluID0gdGhpcy5ldmVudHNEb21haW5bMF07XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHRoaXMucHJvY2VkdXJlcyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMub25Eb21haW5TZWxlY3QkLnBpcGUoc3RhcnRXaXRoKCkpLFxuICAgICAgdGhpcy5vblByb2NlZHVyZVNlYXJjaCQucGlwZShzdGFydFdpdGgoKSwgZGVib3VuY2VUaW1lKDUwMCkpXG4gICAgXSkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoW18sIF9fXSkgPT4ge1xuICAgICAgICBjb25zdCBzZWFyY2ggPVxuICAgICAgICAgIHR5cGVvZiB0aGlzLnByb2NlZHVyZVNlbGVjdFZhbHVlID09PSAnc3RyaW5nJyAmJiB0aGlzLnByb2NlZHVyZVNlbGVjdFZhbHVlLmxlbmd0aCA+IDIgP1xuICAgICAgICAgICAgdGhpcy5jbGVhblByb2NlZHVyZU5hbWVGb3JDb21ib0JveFNlYXJjaCh0aGlzLnByb2NlZHVyZVNlbGVjdFZhbHVlKSA6XG4gICAgICAgICAgICAgIHR5cGVvZiB0aGlzLnByb2NlZHVyZVNlbGVjdFZhbHVlID09PSAnb2JqZWN0JyA/XG4gICAgICAgICAgICAgICAgdGhpcy5wcm9jZWR1cmVTZWxlY3RWYWx1ZS5uYW1lIDpcbiAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZDtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvY2VkdXJlU2VydmljZS5nZXRUb3AxMEJ5VXNhZ2UodGhpcy5zZWxlY3RlZERvbWFpbiwgc2VhcmNoKS5waXBlKFxuICAgICAgICAgIG1hcCgocHJvY2VkdXJlcykgPT5cbiAgICAgICAgICAgIHByb2NlZHVyZXMubWFwKChwcm9jKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IHJlZ2V4ID0gUmVnRXhwKGAoJHtzZWFyY2h9KWAgPz8gJygvLS8tLyknLCAnZ2lkJyk7XG4gICAgICAgICAgICAgIGNvbnN0IGh0bWwgPSBgJHtwYWRJZC5mbihwcm9jLmlkKX0gLSAke3Byb2MubmFtZX0gKCR7cHJvYy5jcmVhdG9yfSlgO1xuICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIC4uLnByb2MsXG4gICAgICAgICAgICAgICAgaW5pdGlhbDogaHRtbCxcbiAgICAgICAgICAgICAgICBodG1sOiBodG1sLnJlcGxhY2VBbGwocmVnZXgsIChtYXRjaGVkOiBzdHJpbmcsIGNhcHR1cmUxOiBzdHJpbmcpID0+IGA8Yj4ke2NhcHR1cmUxfTwvYj5gKVxuICAgICAgICAgICAgICB9IGFzIEh5cFByb2NlZHVyZU1vZGVsV2l0aE1hdGNoaW5nO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICB9KSxcbiAgICAgIGNhdGNoRXJyb3IoKCkgPT4ge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Byb2NlZHVyZSBjYXRhbG9nIHByb2JsZW0nKTtcbiAgICAgIH0pLFxuICAgICAgc2hhcmVSZXBsYXkoKVxuICAgICk7XG4gIH1cblxuICBvbkRvbWFpbkNoYW5nZSgpIHtcbiAgICB0aGlzLm9uRG9tYWluU2VsZWN0JC5uZXh0KCk7XG4gICAgdGhpcy5wcm9jZWR1cmVTZWxlY3RWYWx1ZSA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGNsZWFuUHJvY2VkdXJlTmFtZUZvckNvbWJvQm94U2VhcmNoKHByb2NlZHVyZTogc3RyaW5nKXtcbiAgICBjb25zdCBpbmRleE9mVGlyZXQgPSBwcm9jZWR1cmUuaW5kZXhPZignLScpO1xuICAgIGNvbnN0IGluZGV4T2ZDcmVhdG9yID0gcHJvY2VkdXJlLmxhc3RJbmRleE9mKCcoJyk7XG4gICAgaWYoaW5kZXhPZlRpcmV0ICE9PSAtMSAmJiBpbmRleE9mQ3JlYXRvciAhPT0gLTEpIHtcbiAgICAgIHByb2NlZHVyZSA9IHByb2NlZHVyZS5zdWJzdHJpbmcoaW5kZXhPZlRpcmV0ICsgMiwgaW5kZXhPZkNyZWF0b3IgLSAxKTtcbiAgICB9IGVsc2UgaWYgKGluZGV4T2ZUaXJldCAhPT0gLTEpIHtcbiAgICAgIHByb2NlZHVyZSA9IHByb2NlZHVyZS5zdWJzdHJpbmcoaW5kZXhPZlRpcmV0ICsgMik7XG4gICAgfSBlbHNlIGlmKGluZGV4T2ZDcmVhdG9yICE9PSAtMSkge1xuICAgICAgcHJvY2VkdXJlID0gcHJvY2VkdXJlLnN1YnN0cmluZygwLCBpbmRleE9mQ3JlYXRvciAtIDEpO1xuICAgIH1cbiAgICByZXR1cm4gcHJvY2VkdXJlO1xuICB9XG5cbiAgc2VsZWN0ZWRQcm9jZWR1cmVDaGFuZ2UoJGV2ZW50OiBzdHJpbmcgfCBIeXBQcm9jZWR1cmVNb2RlbCkge1xuICAgIC8vIHdoZW4gY2hvb3NlIGEgcHJvY2VkdXJlXG4gICAgaWYodHlwZW9mICRldmVudCA9PT0gJ29iamVjdCcpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRQcm9jZWR1cmVJbkNvbWJvQm94ID0gJGV2ZW50O1xuICAgICAgdGhpcy5wcm9jZWR1cmVTZWxlY3RWYWx1ZSA9ICRldmVudDtcbiAgICAgIC8vIHdoZW4gY2xpY2sgb24gY2hvb3NlbiBwcm9jZWR1cmVcbiAgICB9IGVsc2UgaWYoKHRoaXMuc2VsZWN0ZWRQcm9jZWR1cmVJbkNvbWJvQm94IGFzIEh5cFByb2NlZHVyZU1vZGVsV2l0aE1hdGNoaW5nKT8uaHRtbCA9PT0gJGV2ZW50KSB7XG4gICAgICAgIHRoaXMucHJvY2VkdXJlU2VsZWN0VmFsdWUgPSB0aGlzLnNlbGVjdGVkUHJvY2VkdXJlSW5Db21ib0JveDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucHJvY2VkdXJlU2VsZWN0VmFsdWUgPSAkZXZlbnQ7XG4gICAgICB9XG4gICAgdGhpcy5kaXNhYmxlVmFsaWRCdXR0b24gPSB0eXBlb2YgdGhpcy5wcm9jZWR1cmVTZWxlY3RWYWx1ZSAhPT0gJ29iamVjdCc7XG4gICAgdGhpcy5vblByb2NlZHVyZVNlYXJjaCQubmV4dCgpO1xuICB9XG5cbiAgYXNzb2NpYXRlUHJvY2VkdXJlKCkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICBFdmVudEFjdGlvbnMuYXNzb2NpYXRlUHJvY2VkdXJlKHtcbiAgICAgICAgcHJvY2VkdXJlSWQ6ICh0aGlzLnByb2NlZHVyZVNlbGVjdFZhbHVlIGFzIEh5cFByb2NlZHVyZU1vZGVsKS5pZCxcbiAgICAgICAgZXZlbnRJZHM6IHRoaXMuZXZlbnRzRm9yQWN0aW9uLm1hcCgoZXZlbnQpID0+IGV2ZW50LmlkKVxuICAgICAgfSlcbiAgICApO1xuICAgIHRoaXMuY2xvc2VNb2RhbCgpO1xuICB9XG5cbiAgY2xvc2VNb2RhbCgpIHtcbiAgICB0aGlzLmRpYWxvZy5jbG9zZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IERPTUFJTlMgPSBET01BSU5TLnZhbHVlcztcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHBhZElkID0gcGFkSWQ7XG59XG4iLCI8ZGl2IGNsYXNzPVwiby1odnktYXNzb2NpYXRpb24tbW9kYWwgdS1kaXNwbGF5LWZsZXggLWNvbHVtbiAtYWxpZ24tY2VudGVyXCI+XG4gIDxoMz57eyB0aXRsZSB8IGkxOG4gfX08L2gzPlxuICA8c3BhbiBjbGFzcz1cIm8taHZ5LWFzc29jaWF0aW9uLW1vZGFsX19kZXNjcmlwdGlvblwiPnt7ICdAaHZ5LmFzc29jaWF0aW9uTW9kYWwuZGVzY3JpcHRpb24nIHwgaTE4biB9fTwvc3Bhbj5cbiAgPGRpdiBjbGFzcz1cIm8taHZ5LWFzc29jaWF0aW9uLW1vZGFsX19jb250ZW50IHUtZGlzcGxheS1mbGV4IC1qdXN0aWZ5LXNwYWNlLWJldHdlZW5cIj5cbiAgICBAaWYgKHNlbGVjdGVkRXZlbnRzJCB8IGFzeW5jOyBhcyBzZWxlY3RlZEV2ZW50cykge1xuICAgICAgPGRpdiBjbGFzcz1cImFzc28tZXZlXCI+XG4gICAgICAgIDxsYWJlbD7DiXbDqW5lbWVudHMgbGnDqXMgKHt7IHNlbGVjdGVkRXZlbnRzLmxlbmd0aCB9fSkgOjwvbGFiZWw+XG4gICAgICAgIDx1bCBjbGFzcz1cIm8taHZ5LWFzc29jaWF0aW9uLW1vZGFsX19ldmVudHNcIj5cbiAgICAgICAgICBAZm9yIChldmVudCBvZiBzZWxlY3RlZEV2ZW50czsgdHJhY2sgZXZlbnQuaWQpIHtcbiAgICAgICAgICAgIDxsaSBjbGFzcz1cIm8taHZ5LWFzc29jaWF0aW9uLW1vZGFsX19ldmVudCB1LWRpc3BsYXktZmxleCAtYWxpZ24tY2VudGVyXCI+XG4gICAgICAgICAgICAgIDxodnktaWNvbi1kaXNwbGF5IFtldmVudF09XCJldmVudFwiPjwvaHZ5LWljb24tZGlzcGxheT5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm8taHZ5LWFzc29jaWF0aW9uLW1vZGFsX19ldmVudC1kZXRhaWwgdS1kaXNwbGF5LWZsZXggLWNvbHVtblwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiby1odnktYXNzb2NpYXRpb24tbW9kYWxfX2V2ZW50LW5hbWVcIj57eyBwYWRJZC5mbihldmVudC5pZCkgfX0gLSB7eyBldmVudC5uYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIEBpZiAoZXZlbnQuZXF1aXBtZW50KSB7XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm8taHZ5LWFzc29jaWF0aW9uLW1vZGFsX19lcXVpcG1lbnQtbmFtZVwiPnt7IGV2ZW50LmVxdWlwbWVudC5uYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICAgIH1cbiAgICAgICAgPC91bD5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgICA8ZGl2IGNsYXNzPVwiby1odnktYXNzb2NpYXRpb24tbW9kYWxfX2Zvcm1cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGRcIj5cbiAgICAgICAgPGxhYmVsPnt7ICdAaHZ5LmFzc29jaWF0aW9uTW9kYWwuY2F0ZWdvcnlGaWx0ZXInIHwgaTE4biB9fSA6PC9sYWJlbD5cbiAgICAgICAgPHByeS1zZWxlY3RcbiAgICAgICAgICBbaXRlbXNdPVwiRE9NQUlOU1wiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZERvbWFpblwiXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25Eb21haW5DaGFuZ2UoKVwiXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidAaHZ5LmFzc29jaWF0aW9uTW9kYWwuZG9tYWluUGxhY2Vob2xkZXInIHwgaTE4blwiXG4gICAgICAgICAgaTE4blByZWZpeD1cIkBodnkuZXZlbnQuZG9tYWluLlwiXG4gICAgICAgICAgaWQ9XCJjYXRlZ29yeS1maWx0ZXJcIlxuICAgICAgICA+PC9wcnktc2VsZWN0PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkXCI+XG4gICAgICAgIDxsYWJlbCBmb3I9XCJwcm9jZWR1cmUtZmlsdGVyXCJcbiAgICAgICAgICA+e3sgJ0BodnkuYXNzb2NpYXRpb25Nb2RhbC5zZWFyY2hQcm9jZWR1cmUnIHwgaTE4biB9fTxzcGFuIGNsYXNzPVwidGV4dC1lcnJvclwiPio8L3NwYW4+IDpcbiAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPHByeS1zZWxlY3RcbiAgICAgICAgICBbaXRlbXNdPVwicHJvY2VkdXJlcyQgfCBhc3luY1wiXG4gICAgICAgICAgYmluZExhYmVsPVwiaW5pdGlhbFwiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJwcm9jZWR1cmVTZWxlY3RWYWx1ZVwiXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2VsZWN0ZWRQcm9jZWR1cmVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgW2F1dG9jb21wbGV0ZV09XCJ0cnVlXCJcbiAgICAgICAgICBbZXh0ZXJuYWxBdXRvY29tcGxldGVTZXJ2aWNlXT1cInRydWVcIlxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInQGh2eS5hc3NvY2lhdGlvbk1vZGFsLnByb2NlZHVyZVBsYWNlaG9sZGVyJyB8IGkxOG5cIlxuICAgICAgICAgIGlkPVwicHJvY2VkdXJlLWZpbHRlclwiXG4gICAgICAgICAgW3RlbXBsYXRlXT1cInRlbXBsYXRlT3B0aW9uXCJcbiAgICAgICAgPjwvcHJ5LXNlbGVjdD5cbiAgICAgICAgPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZU9wdGlvbiBsZXQtaXRlbT1cIml0ZW1cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidS1kaXNwbGF5LWZsZXggLWNvbHVtblwiPlxuICAgICAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJpdGVtLmh0bWxcIj48L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJvLWh2eS1hc3NvY2lhdGlvbi1tb2RhbF9fYnV0dG9ucyB1LWRpc3BsYXktZmxleCAtanVzdGlmeS1jZW50ZXJcIj5cbiAgICA8YnV0dG9uIGNsYXNzPVwiYS1idG4gYS1idG4tLXByaW1hcnlcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZVZhbGlkQnV0dG9uXCIgKGNsaWNrKT1cImFzc29jaWF0ZVByb2NlZHVyZSgpXCI+XG4gICAgICB7eyAnQGh2eS5hY3Rpb24udmFsaWRhdGUnIHwgaTE4biB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gY2xhc3M9XCJhLWJ0biBhLWJ0bi0tc2Vjb25kYXJ5XCIgKGNsaWNrKT1cImNsb3NlTW9kYWwoKVwiPnt7ICdAaHZ5LmFjdGlvbi5jYW5jZWwnIHwgaTE4biB9fTwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,6 +1,7 @@
1
1
  export * from './detail/event-detail.component';
2
2
  export * from './detail/event-details-tooltip.component';
3
3
  export * from './detail/add-event/add-event.component';
4
+ export * from './detail/remove-event/remove-event.component';
4
5
  export * from './list/event-list.component';
5
6
  export * from './list/event-column-order.component';
6
7
  export * from './filters/on/click/event-filters.component';
@@ -9,4 +10,4 @@ export * from './filters/date/date-filter.component';
9
10
  export * from './filters/choice/choice-filter.component';
10
11
  export * from './filters/text/text-filter.component';
11
12
  export * from './procedure-association-modal/procedure-association-modal.component';
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvaHlwZXJ2aXNvci9zcmMvbGliL2V2ZW50L3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLHFFQUFxRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kZXRhaWwvZXZlbnQtZGV0YWlsLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2RldGFpbC9ldmVudC1kZXRhaWxzLXRvb2x0aXAuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZGV0YWlsL2FkZC1ldmVudC9hZGQtZXZlbnQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGlzdC9ldmVudC1saXN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpc3QvZXZlbnQtY29sdW1uLW9yZGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbHRlcnMvb24vY2xpY2svZXZlbnQtZmlsdGVycy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9maWx0ZXJzL29uL2ltbWVkaWF0ZS9pbW1lZGlhdGUtZmlsdGVycy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9maWx0ZXJzL2RhdGUvZGF0ZS1maWx0ZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZmlsdGVycy9jaG9pY2UvY2hvaWNlLWZpbHRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9maWx0ZXJzL3RleHQvdGV4dC1maWx0ZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcHJvY2VkdXJlLWFzc29jaWF0aW9uLW1vZGFsL3Byb2NlZHVyZS1hc3NvY2lhdGlvbi1tb2RhbC5jb21wb25lbnQnO1xuIl19
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvaHlwZXJ2aXNvci9zcmMvbGliL2V2ZW50L3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMscUVBQXFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2RldGFpbC9ldmVudC1kZXRhaWwuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZGV0YWlsL2V2ZW50LWRldGFpbHMtdG9vbHRpcC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9kZXRhaWwvYWRkLWV2ZW50L2FkZC1ldmVudC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9kZXRhaWwvcmVtb3ZlLWV2ZW50L3JlbW92ZS1ldmVudC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saXN0L2V2ZW50LWxpc3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGlzdC9ldmVudC1jb2x1bW4tb3JkZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZmlsdGVycy9vbi9jbGljay9ldmVudC1maWx0ZXJzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbHRlcnMvb24vaW1tZWRpYXRlL2ltbWVkaWF0ZS1maWx0ZXJzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbHRlcnMvZGF0ZS9kYXRlLWZpbHRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9maWx0ZXJzL2Nob2ljZS9jaG9pY2UtZmlsdGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbHRlcnMvdGV4dC90ZXh0LWZpbHRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9wcm9jZWR1cmUtYXNzb2NpYXRpb24tbW9kYWwvcHJvY2VkdXJlLWFzc29jaWF0aW9uLW1vZGFsLmNvbXBvbmVudCc7XG4iXX0=
@@ -5,7 +5,8 @@ import * as i1 from "@ngrx/store";
5
5
  import * as i2 from "@angular/router";
6
6
  import * as i3 from "@provoly/dashboard";
7
7
  import * as i4 from "../../general/icon-display/icon-display.component";
8
- import * as i5 from "../../general/display-locale-datetime/display-locale-datetime.pipe";
8
+ import * as i5 from "@angular/common";
9
+ import * as i6 from "../../general/display-locale-datetime/display-locale-datetime.pipe";
9
10
  export class EventSummaryItemComponent {
10
11
  constructor(store) {
11
12
  this.store = store;
@@ -14,11 +15,11 @@ export class EventSummaryItemComponent {
14
15
  this.EVENT_LINK = EVENT_LINK;
15
16
  }
16
17
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: EventSummaryItemComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
17
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: EventSummaryItemComponent, selector: "hvy-event-summary-item", inputs: { event: "event", linkBase: "linkBase", doNotRedirectToDetail: "doNotRedirectToDetail" }, ngImport: i0, template: "<div class=\"m-hvy-event-summary-item\" [class.-no-pointer]=\"doNotRedirectToDetail\">\n <a [routerLink]=\"doNotRedirectToDetail ? null : EVENT_LINK.fn(event, store)\">\n <div class=\"m-hvy-event-summary-item__title\">\n <h4>\n {{ event.name }}\n </h4>\n </div>\n <div class=\"m-hvy-event-summary-item__content\">\n <div>\n {{ event.serviceTitle }}\n </div>\n <div>\n {{\n !event.startDate || !event.endDate || event.category !== 'MANIFESTATION'\n ? ''\n : ('@hvy.eventSummary.from' | i18n) +\n ' ' +\n (event.startDate | displayLocaleDatetime: 'short') +\n ' ' +\n ('@hvy.eventSummary.to' | i18n) +\n ' ' +\n (event.endDate | displayLocaleDatetime: 'short')\n }}\n </div>\n </div>\n <div class=\"m-hvy-event-summary-item__footer\">\n <div class=\"m-hvy-event-summary-item__icons\">\n @if (event.serviceCount !== 0) {\n <pry-icon iconSvg=\"service\"></pry-icon>\n <span class=\"m-hvy-event-summary-item__intervention-counter\">{{ event.serviceCount }}</span>\n }\n <hvy-icon-display [event]=\"event\"></hvy-icon-display>\n </div>\n <div class=\"m-hvy-event-summary-item__date\">\n <span>\n {{ event.lastModificationDate | displayLocaleDatetime: 'medium' }}\n </span>\n </div>\n </div>\n </a>\n</div>\n", dependencies: [{ kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: i4.IconDisplayComponent, selector: "hvy-icon-display", inputs: ["event"] }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }, { kind: "pipe", type: i5.DisplayLocaleDateTime, name: "displayLocaleDatetime" }] }); }
18
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: EventSummaryItemComponent, selector: "hvy-event-summary-item", inputs: { event: "event", linkBase: "linkBase", doNotRedirectToDetail: "doNotRedirectToDetail" }, ngImport: i0, template: "<div class=\"m-hvy-event-summary-item\" [class.-no-pointer]=\"doNotRedirectToDetail\">\n <a [routerLink]=\"doNotRedirectToDetail ? null : EVENT_LINK.fn(event, store)\">\n <div class=\"m-hvy-event-summary-item__title\">\n <h4>\n {{ event.name }}\n </h4>\n </div>\n <div class=\"m-hvy-event-summary-item__content\">\n @if (!!event.serviceTitles){\n @for (title of event.serviceTitles | slice:0:5; track title; let i = $index, last = $last){\n <div>\n {{ title }}@if (event.serviceTitles.length !== 1 && i !== 4 && !last ){,&nbsp;}@if (event.serviceTitles.length > 5 && i === 4){...}\n </div>\n }\n }\n\n <div>\n {{\n !event.startDate || !event.endDate || event.category !== 'MANIFESTATION'\n ? ''\n : ('@hvy.eventSummary.from' | i18n) +\n ' ' +\n (event.startDate | displayLocaleDatetime: 'short') +\n ' ' +\n ('@hvy.eventSummary.to' | i18n) +\n ' ' +\n (event.endDate | displayLocaleDatetime: 'short')\n }}\n </div>\n </div>\n <div class=\"m-hvy-event-summary-item__footer\">\n <div class=\"m-hvy-event-summary-item__icons\">\n @if (event.serviceCount !== 0) {\n <pry-icon iconSvg=\"service\"></pry-icon>\n <span class=\"m-hvy-event-summary-item__intervention-counter\">{{ event.serviceCount }}</span>\n }\n <hvy-icon-display [event]=\"event\"></hvy-icon-display>\n </div>\n <div class=\"m-hvy-event-summary-item__date\">\n <span>\n {{ event.lastModificationDate | displayLocaleDatetime: 'medium' }}\n </span>\n </div>\n </div>\n </a>\n</div>\n", dependencies: [{ kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: i4.IconDisplayComponent, selector: "hvy-icon-display", inputs: ["event"] }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }, { kind: "pipe", type: i5.SlicePipe, name: "slice" }, { kind: "pipe", type: i6.DisplayLocaleDateTime, name: "displayLocaleDatetime" }] }); }
18
19
  }
19
20
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: EventSummaryItemComponent, decorators: [{
20
21
  type: Component,
21
- args: [{ selector: 'hvy-event-summary-item', template: "<div class=\"m-hvy-event-summary-item\" [class.-no-pointer]=\"doNotRedirectToDetail\">\n <a [routerLink]=\"doNotRedirectToDetail ? null : EVENT_LINK.fn(event, store)\">\n <div class=\"m-hvy-event-summary-item__title\">\n <h4>\n {{ event.name }}\n </h4>\n </div>\n <div class=\"m-hvy-event-summary-item__content\">\n <div>\n {{ event.serviceTitle }}\n </div>\n <div>\n {{\n !event.startDate || !event.endDate || event.category !== 'MANIFESTATION'\n ? ''\n : ('@hvy.eventSummary.from' | i18n) +\n ' ' +\n (event.startDate | displayLocaleDatetime: 'short') +\n ' ' +\n ('@hvy.eventSummary.to' | i18n) +\n ' ' +\n (event.endDate | displayLocaleDatetime: 'short')\n }}\n </div>\n </div>\n <div class=\"m-hvy-event-summary-item__footer\">\n <div class=\"m-hvy-event-summary-item__icons\">\n @if (event.serviceCount !== 0) {\n <pry-icon iconSvg=\"service\"></pry-icon>\n <span class=\"m-hvy-event-summary-item__intervention-counter\">{{ event.serviceCount }}</span>\n }\n <hvy-icon-display [event]=\"event\"></hvy-icon-display>\n </div>\n <div class=\"m-hvy-event-summary-item__date\">\n <span>\n {{ event.lastModificationDate | displayLocaleDatetime: 'medium' }}\n </span>\n </div>\n </div>\n </a>\n</div>\n" }]
22
+ args: [{ selector: 'hvy-event-summary-item', template: "<div class=\"m-hvy-event-summary-item\" [class.-no-pointer]=\"doNotRedirectToDetail\">\n <a [routerLink]=\"doNotRedirectToDetail ? null : EVENT_LINK.fn(event, store)\">\n <div class=\"m-hvy-event-summary-item__title\">\n <h4>\n {{ event.name }}\n </h4>\n </div>\n <div class=\"m-hvy-event-summary-item__content\">\n @if (!!event.serviceTitles){\n @for (title of event.serviceTitles | slice:0:5; track title; let i = $index, last = $last){\n <div>\n {{ title }}@if (event.serviceTitles.length !== 1 && i !== 4 && !last ){,&nbsp;}@if (event.serviceTitles.length > 5 && i === 4){...}\n </div>\n }\n }\n\n <div>\n {{\n !event.startDate || !event.endDate || event.category !== 'MANIFESTATION'\n ? ''\n : ('@hvy.eventSummary.from' | i18n) +\n ' ' +\n (event.startDate | displayLocaleDatetime: 'short') +\n ' ' +\n ('@hvy.eventSummary.to' | i18n) +\n ' ' +\n (event.endDate | displayLocaleDatetime: 'short')\n }}\n </div>\n </div>\n <div class=\"m-hvy-event-summary-item__footer\">\n <div class=\"m-hvy-event-summary-item__icons\">\n @if (event.serviceCount !== 0) {\n <pry-icon iconSvg=\"service\"></pry-icon>\n <span class=\"m-hvy-event-summary-item__intervention-counter\">{{ event.serviceCount }}</span>\n }\n <hvy-icon-display [event]=\"event\"></hvy-icon-display>\n </div>\n <div class=\"m-hvy-event-summary-item__date\">\n <span>\n {{ event.lastModificationDate | displayLocaleDatetime: 'medium' }}\n </span>\n </div>\n </div>\n </a>\n</div>\n" }]
22
23
  }], ctorParameters: () => [{ type: i1.Store }], propDecorators: { event: [{
23
24
  type: Input,
24
25
  args: [{ required: true }]
@@ -27,4 +28,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
27
28
  }], doNotRedirectToDetail: [{
28
29
  type: Input
29
30
  }] } });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtc3VtbWFyeS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvaHlwZXJ2aXNvci9zcmMvbGliL2V2ZW50LXN1bW1hcnkvaXRlbS9ldmVudC1zdW1tYXJ5LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9oeXBlcnZpc29yL3NyYy9saWIvZXZlbnQtc3VtbWFyeS9pdGVtL2V2ZW50LXN1bW1hcnktaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7Ozs7Ozs7QUFPbkUsTUFBTSxPQUFPLHlCQUF5QjtJQU1wQyxZQUFtQixLQUFZO1FBQVosVUFBSyxHQUFMLEtBQUssQ0FBTztRQUp0QixhQUFRLEdBQWEsRUFBRSxDQUFDO1FBQ3hCLDBCQUFxQixHQUFtQixLQUFLLENBQUM7UUFDdkQsZUFBVSxHQUFHLFVBQVUsQ0FBQztJQUVVLENBQUM7OEdBTnhCLHlCQUF5QjtrR0FBekIseUJBQXlCLGdLQ1R0QyxpOENBeUNBOzsyRkRoQ2EseUJBQXlCO2tCQUpyQyxTQUFTOytCQUNFLHdCQUF3QjswRUFJUCxLQUFLO3NCQUEvQixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDaEIsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxxQkFBcUI7c0JBQTdCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIeXBFdmVudFN1bW1hcnkgfSBmcm9tICcuLi8uLi9tb2RlbC9ldmVudC9oeXAtZXZlbnQtc3VtbWFyeS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRVZFTlRfTElOSyB9IGZyb20gJy4uLy4uL2V2ZW50L2xpc3QvZXZlbnQtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2h2eS1ldmVudC1zdW1tYXJ5LWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vZXZlbnQtc3VtbWFyeS1pdGVtLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBFdmVudFN1bW1hcnlJdGVtQ29tcG9uZW50IHtcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgZXZlbnQhOiBIeXBFdmVudFN1bW1hcnk7XG4gIEBJbnB1dCgpIGxpbmtCYXNlOiBzdHJpbmdbXSA9IFtdO1xuICBASW5wdXQoKSBkb05vdFJlZGlyZWN0VG9EZXRhaWw6IGJvb2xlYW4gfCBudWxsID0gZmFsc2U7XG4gIEVWRU5UX0xJTksgPSBFVkVOVF9MSU5LO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBzdG9yZTogU3RvcmUpIHt9XG59XG4iLCI8ZGl2IGNsYXNzPVwibS1odnktZXZlbnQtc3VtbWFyeS1pdGVtXCIgW2NsYXNzLi1uby1wb2ludGVyXT1cImRvTm90UmVkaXJlY3RUb0RldGFpbFwiPlxuICA8YSBbcm91dGVyTGlua109XCJkb05vdFJlZGlyZWN0VG9EZXRhaWwgPyBudWxsIDogRVZFTlRfTElOSy5mbihldmVudCwgc3RvcmUpXCI+XG4gICAgPGRpdiBjbGFzcz1cIm0taHZ5LWV2ZW50LXN1bW1hcnktaXRlbV9fdGl0bGVcIj5cbiAgICAgIDxoND5cbiAgICAgICAge3sgZXZlbnQubmFtZSB9fVxuICAgICAgPC9oND5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwibS1odnktZXZlbnQtc3VtbWFyeS1pdGVtX19jb250ZW50XCI+XG4gICAgICA8ZGl2PlxuICAgICAgICB7eyBldmVudC5zZXJ2aWNlVGl0bGUgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdj5cbiAgICAgICAge3tcbiAgICAgICAgICAhZXZlbnQuc3RhcnREYXRlIHx8ICFldmVudC5lbmREYXRlIHx8IGV2ZW50LmNhdGVnb3J5ICE9PSAnTUFOSUZFU1RBVElPTidcbiAgICAgICAgICAgID8gJydcbiAgICAgICAgICAgIDogKCdAaHZ5LmV2ZW50U3VtbWFyeS5mcm9tJyB8IGkxOG4pICtcbiAgICAgICAgICAgICAgJyAnICtcbiAgICAgICAgICAgICAgKGV2ZW50LnN0YXJ0RGF0ZSB8IGRpc3BsYXlMb2NhbGVEYXRldGltZTogJ3Nob3J0JykgK1xuICAgICAgICAgICAgICAnICcgK1xuICAgICAgICAgICAgICAoJ0BodnkuZXZlbnRTdW1tYXJ5LnRvJyB8IGkxOG4pICtcbiAgICAgICAgICAgICAgJyAnICtcbiAgICAgICAgICAgICAgKGV2ZW50LmVuZERhdGUgfCBkaXNwbGF5TG9jYWxlRGF0ZXRpbWU6ICdzaG9ydCcpXG4gICAgICAgIH19XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwibS1odnktZXZlbnQtc3VtbWFyeS1pdGVtX19mb290ZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtLWh2eS1ldmVudC1zdW1tYXJ5LWl0ZW1fX2ljb25zXCI+XG4gICAgICAgIEBpZiAoZXZlbnQuc2VydmljZUNvdW50ICE9PSAwKSB7XG4gICAgICAgICAgPHByeS1pY29uICBpY29uU3ZnPVwic2VydmljZVwiPjwvcHJ5LWljb24+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJtLWh2eS1ldmVudC1zdW1tYXJ5LWl0ZW1fX2ludGVydmVudGlvbi1jb3VudGVyXCI+e3sgZXZlbnQuc2VydmljZUNvdW50IH19PC9zcGFuPlxuICAgICAgICB9XG4gICAgICAgIDxodnktaWNvbi1kaXNwbGF5IFtldmVudF09XCJldmVudFwiPjwvaHZ5LWljb24tZGlzcGxheT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm0taHZ5LWV2ZW50LXN1bW1hcnktaXRlbV9fZGF0ZVwiPlxuICAgICAgICA8c3Bhbj5cbiAgICAgICAgICB7eyBldmVudC5sYXN0TW9kaWZpY2F0aW9uRGF0ZSB8IGRpc3BsYXlMb2NhbGVEYXRldGltZTogJ21lZGl1bScgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvYT5cbjwvZGl2PlxuIl19
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtc3VtbWFyeS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvaHlwZXJ2aXNvci9zcmMvbGliL2V2ZW50LXN1bW1hcnkvaXRlbS9ldmVudC1zdW1tYXJ5LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9oeXBlcnZpc29yL3NyYy9saWIvZXZlbnQtc3VtbWFyeS9pdGVtL2V2ZW50LXN1bW1hcnktaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7Ozs7Ozs7O0FBT25FLE1BQU0sT0FBTyx5QkFBeUI7SUFNcEMsWUFBbUIsS0FBWTtRQUFaLFVBQUssR0FBTCxLQUFLLENBQU87UUFKdEIsYUFBUSxHQUFhLEVBQUUsQ0FBQztRQUN4QiwwQkFBcUIsR0FBbUIsS0FBSyxDQUFDO1FBQ3ZELGVBQVUsR0FBRyxVQUFVLENBQUM7SUFFVSxDQUFDOzhHQU54Qix5QkFBeUI7a0dBQXpCLHlCQUF5QixnS0NUdEMsdXREQThDQTs7MkZEckNhLHlCQUF5QjtrQkFKckMsU0FBUzsrQkFDRSx3QkFBd0I7MEVBSVAsS0FBSztzQkFBL0IsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ2hCLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0cscUJBQXFCO3NCQUE3QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHlwRXZlbnRTdW1tYXJ5IH0gZnJvbSAnLi4vLi4vbW9kZWwvZXZlbnQvaHlwLWV2ZW50LXN1bW1hcnkuaW50ZXJmYWNlJztcbmltcG9ydCB7IEVWRU5UX0xJTksgfSBmcm9tICcuLi8uLi9ldmVudC9saXN0L2V2ZW50LWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdodnktZXZlbnQtc3VtbWFyeS1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2V2ZW50LXN1bW1hcnktaXRlbS5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgRXZlbnRTdW1tYXJ5SXRlbUNvbXBvbmVudCB7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGV2ZW50ITogSHlwRXZlbnRTdW1tYXJ5O1xuICBASW5wdXQoKSBsaW5rQmFzZTogc3RyaW5nW10gPSBbXTtcbiAgQElucHV0KCkgZG9Ob3RSZWRpcmVjdFRvRGV0YWlsOiBib29sZWFuIHwgbnVsbCA9IGZhbHNlO1xuICBFVkVOVF9MSU5LID0gRVZFTlRfTElOSztcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgc3RvcmU6IFN0b3JlKSB7fVxufVxuIiwiPGRpdiBjbGFzcz1cIm0taHZ5LWV2ZW50LXN1bW1hcnktaXRlbVwiIFtjbGFzcy4tbm8tcG9pbnRlcl09XCJkb05vdFJlZGlyZWN0VG9EZXRhaWxcIj5cbiAgPGEgW3JvdXRlckxpbmtdPVwiZG9Ob3RSZWRpcmVjdFRvRGV0YWlsID8gbnVsbCA6IEVWRU5UX0xJTksuZm4oZXZlbnQsIHN0b3JlKVwiPlxuICAgIDxkaXYgY2xhc3M9XCJtLWh2eS1ldmVudC1zdW1tYXJ5LWl0ZW1fX3RpdGxlXCI+XG4gICAgICA8aDQ+XG4gICAgICAgIHt7IGV2ZW50Lm5hbWUgfX1cbiAgICAgIDwvaDQ+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm0taHZ5LWV2ZW50LXN1bW1hcnktaXRlbV9fY29udGVudFwiPlxuICAgICAgQGlmICghIWV2ZW50LnNlcnZpY2VUaXRsZXMpe1xuICAgICAgICBAZm9yICh0aXRsZSBvZiBldmVudC5zZXJ2aWNlVGl0bGVzIHwgc2xpY2U6MDo1OyB0cmFjayB0aXRsZTsgbGV0IGkgPSAkaW5kZXgsIGxhc3QgPSAkbGFzdCl7XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIHt7IHRpdGxlIH19QGlmIChldmVudC5zZXJ2aWNlVGl0bGVzLmxlbmd0aCAhPT0gMSAmJiBpICE9PSA0ICYmICFsYXN0ICl7LCZuYnNwO31AaWYgKGV2ZW50LnNlcnZpY2VUaXRsZXMubGVuZ3RoID4gNSAmJiBpID09PSA0KXsuLi59XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgPGRpdj5cbiAgICAgICAge3tcbiAgICAgICAgICAhZXZlbnQuc3RhcnREYXRlIHx8ICFldmVudC5lbmREYXRlIHx8IGV2ZW50LmNhdGVnb3J5ICE9PSAnTUFOSUZFU1RBVElPTidcbiAgICAgICAgICAgID8gJydcbiAgICAgICAgICAgIDogKCdAaHZ5LmV2ZW50U3VtbWFyeS5mcm9tJyB8IGkxOG4pICtcbiAgICAgICAgICAgICAgJyAnICtcbiAgICAgICAgICAgICAgKGV2ZW50LnN0YXJ0RGF0ZSB8IGRpc3BsYXlMb2NhbGVEYXRldGltZTogJ3Nob3J0JykgK1xuICAgICAgICAgICAgICAnICcgK1xuICAgICAgICAgICAgICAoJ0BodnkuZXZlbnRTdW1tYXJ5LnRvJyB8IGkxOG4pICtcbiAgICAgICAgICAgICAgJyAnICtcbiAgICAgICAgICAgICAgKGV2ZW50LmVuZERhdGUgfCBkaXNwbGF5TG9jYWxlRGF0ZXRpbWU6ICdzaG9ydCcpXG4gICAgICAgIH19XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwibS1odnktZXZlbnQtc3VtbWFyeS1pdGVtX19mb290ZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtLWh2eS1ldmVudC1zdW1tYXJ5LWl0ZW1fX2ljb25zXCI+XG4gICAgICAgIEBpZiAoZXZlbnQuc2VydmljZUNvdW50ICE9PSAwKSB7XG4gICAgICAgICAgPHByeS1pY29uICBpY29uU3ZnPVwic2VydmljZVwiPjwvcHJ5LWljb24+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJtLWh2eS1ldmVudC1zdW1tYXJ5LWl0ZW1fX2ludGVydmVudGlvbi1jb3VudGVyXCI+e3sgZXZlbnQuc2VydmljZUNvdW50IH19PC9zcGFuPlxuICAgICAgICB9XG4gICAgICAgIDxodnktaWNvbi1kaXNwbGF5IFtldmVudF09XCJldmVudFwiPjwvaHZ5LWljb24tZGlzcGxheT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm0taHZ5LWV2ZW50LXN1bW1hcnktaXRlbV9fZGF0ZVwiPlxuICAgICAgICA8c3Bhbj5cbiAgICAgICAgICB7eyBldmVudC5sYXN0TW9kaWZpY2F0aW9uRGF0ZSB8IGRpc3BsYXlMb2NhbGVEYXRldGltZTogJ21lZGl1bScgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvYT5cbjwvZGl2PlxuIl19
@@ -33,7 +33,7 @@ export class EventSummaryPageComponent extends SubscriptionnerDirective {
33
33
  this.store.dispatch(EventSummaryActions.load());
34
34
  }));
35
35
  this.selectedCriticality$ = this.store
36
- .select(EventSelectors.filters)
36
+ .select(EventSelectors.filtersAccueil)
37
37
  .pipe(map((filters) => (filters[KNOWN_FILTER_SETS.EVENTS] ?? {})['criticality']?.[0] ?? 'ALL'));
38
38
  this.subscriptions.add(this.store.select(EventSummarySelectors.summaries).subscribe((summaries) => {
39
39
  this.summaries = summaries;
@@ -41,19 +41,19 @@ export class EventSummaryPageComponent extends SubscriptionnerDirective {
41
41
  }
42
42
  filterByCriticality($event) {
43
43
  $event === 'ALL'
44
- ? this.store.dispatch(EventActions.filter({ filters: {}, filterSet: KNOWN_FILTER_SETS.EVENTS }))
45
- : this.store.dispatch(EventActions.filter({
44
+ ? this.store.dispatch(EventActions.filterAccueil({ filters: {}, filterSet: KNOWN_FILTER_SETS.EVENTS }))
45
+ : this.store.dispatch(EventActions.filterAccueil({
46
46
  filters: { criticality: [$event] },
47
47
  filterSet: KNOWN_FILTER_SETS.EVENTS
48
48
  }));
49
49
  this.store.dispatch(EventSummaryActions.load());
50
50
  }
51
51
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: EventSummaryPageComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
52
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: EventSummaryPageComponent, selector: "hvy-event-summary-page", inputs: { pageTitle: "pageTitle", consultLink: "consultLink", doNotRedirectToDetail: "doNotRedirectToDetail" }, usesInheritance: true, ngImport: i0, template: "<div class=\"o-hvy-event-summary-page\">\n <div class=\"o-hvy-event-summary-page__header u-display-flex -justify-space-between\">\n @if (pageTitle) {\n <h3 class=\"o-hvy-event-summary-page__title\">{{ pageTitle }}</h3>\n }\n <div class=\"m-filter__input-wrapper m-filter__input-wrapper--dropdown\">\n <label class=\"a-label m-filter__label\" for=\"criticality-filter\"\n >{{ '@hvy.event.criticality.name' | i18n }} :&nbsp;</label\n >\n <pry-select\n id=\"criticality-filter\"\n class=\"o-hvy-event-summary-page__filter\"\n [items]=\"criticalityList\"\n [ngModel]=\"selectedCriticality$ | async\"\n (ngModelChange)=\"filterByCriticality($event)\"\n [translate]=\"true\"\n i18nPrefix=\"@hvy.eventSummary.criticalityLabels.\"\n >\n </pry-select>\n </div>\n </div>\n <div class=\"o-hvy-event-summary-page__content\">\n <div class=\"o-hvy-event-summary-page__content__sub\">\n @for (summaryKey of statusList; track summaryKey) {\n @if (summaries[summaryKey]) {\n <hvy-event-summary-list\n class=\"o-hvy-event-summary-page__summary-list\"\n [status]=\"summaryKey\"\n [totalEventCount]=\"summaries[summaryKey].count ?? 0\"\n [events]=\"summaries[summaryKey].events\"\n [consultLink]=\"consultLink\"\n [doNotRedirectToDetail]=\"doNotRedirectToDetail\"\n >\n </hvy-event-summary-list>\n }\n }\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "autocomplete", "alwaysShowAutosuggestedValues", "externalAutocompleteService", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared", "clicked", "pressedEnter"] }, { kind: "component", type: i4.EventSummaryListComponent, selector: "hvy-event-summary-list", inputs: ["events", "totalEventCount", "status", "consultLink", "itemLinkBase", "doNotRedirectToDetail"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }] }); }
52
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: EventSummaryPageComponent, selector: "hvy-event-summary-page", inputs: { pageTitle: "pageTitle", consultLink: "consultLink", doNotRedirectToDetail: "doNotRedirectToDetail" }, usesInheritance: true, ngImport: i0, template: "<div class=\"o-hvy-event-summary-page\">\n <div class=\"o-hvy-event-summary-page__header u-display-flex -justify-space-between\">\n @if (pageTitle) {\n <h3 class=\"o-hvy-event-summary-page__title\">{{ pageTitle }}</h3>\n }\n <div class=\"criticity-home-filter\">\n <label class=\"a-label m-filter__label\" for=\"criticality-filter\"\n >{{ '@hvy.event.criticality.name' | i18n }} :&nbsp;</label\n >\n <pry-select\n id=\"criticality-filter\"\n [items]=\"criticalityList\"\n [ngModel]=\"selectedCriticality$ | async\"\n (ngModelChange)=\"filterByCriticality($event)\"\n [translate]=\"true\"\n i18nPrefix=\"@hvy.eventSummary.criticalityLabels.\"\n >\n </pry-select>\n </div>\n </div>\n <div class=\"o-hvy-event-summary-page__content\">\n <div class=\"o-hvy-event-summary-page__content__sub\">\n @for (summaryKey of statusList; track summaryKey) {\n @if (summaries[summaryKey]) {\n <hvy-event-summary-list\n class=\"o-hvy-event-summary-page__summary-list\"\n [status]=\"summaryKey\"\n [totalEventCount]=\"summaries[summaryKey].count ?? 0\"\n [events]=\"summaries[summaryKey].events\"\n [consultLink]=\"consultLink\"\n [doNotRedirectToDetail]=\"doNotRedirectToDetail\"\n >\n </hvy-event-summary-list>\n }\n }\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "forcePlaceHolder", "isForm", "required", "name", "autocomplete", "alwaysShowAutosuggestedValues", "externalAutocompleteService", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared", "clicked", "pressedEnter"] }, { kind: "component", type: i4.EventSummaryListComponent, selector: "hvy-event-summary-list", inputs: ["events", "totalEventCount", "status", "consultLink", "itemLinkBase", "doNotRedirectToDetail"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }] }); }
53
53
  }
54
54
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: EventSummaryPageComponent, decorators: [{
55
55
  type: Component,
56
- args: [{ selector: 'hvy-event-summary-page', template: "<div class=\"o-hvy-event-summary-page\">\n <div class=\"o-hvy-event-summary-page__header u-display-flex -justify-space-between\">\n @if (pageTitle) {\n <h3 class=\"o-hvy-event-summary-page__title\">{{ pageTitle }}</h3>\n }\n <div class=\"m-filter__input-wrapper m-filter__input-wrapper--dropdown\">\n <label class=\"a-label m-filter__label\" for=\"criticality-filter\"\n >{{ '@hvy.event.criticality.name' | i18n }} :&nbsp;</label\n >\n <pry-select\n id=\"criticality-filter\"\n class=\"o-hvy-event-summary-page__filter\"\n [items]=\"criticalityList\"\n [ngModel]=\"selectedCriticality$ | async\"\n (ngModelChange)=\"filterByCriticality($event)\"\n [translate]=\"true\"\n i18nPrefix=\"@hvy.eventSummary.criticalityLabels.\"\n >\n </pry-select>\n </div>\n </div>\n <div class=\"o-hvy-event-summary-page__content\">\n <div class=\"o-hvy-event-summary-page__content__sub\">\n @for (summaryKey of statusList; track summaryKey) {\n @if (summaries[summaryKey]) {\n <hvy-event-summary-list\n class=\"o-hvy-event-summary-page__summary-list\"\n [status]=\"summaryKey\"\n [totalEventCount]=\"summaries[summaryKey].count ?? 0\"\n [events]=\"summaries[summaryKey].events\"\n [consultLink]=\"consultLink\"\n [doNotRedirectToDetail]=\"doNotRedirectToDetail\"\n >\n </hvy-event-summary-list>\n }\n }\n </div>\n </div>\n</div>\n" }]
56
+ args: [{ selector: 'hvy-event-summary-page', template: "<div class=\"o-hvy-event-summary-page\">\n <div class=\"o-hvy-event-summary-page__header u-display-flex -justify-space-between\">\n @if (pageTitle) {\n <h3 class=\"o-hvy-event-summary-page__title\">{{ pageTitle }}</h3>\n }\n <div class=\"criticity-home-filter\">\n <label class=\"a-label m-filter__label\" for=\"criticality-filter\"\n >{{ '@hvy.event.criticality.name' | i18n }} :&nbsp;</label\n >\n <pry-select\n id=\"criticality-filter\"\n [items]=\"criticalityList\"\n [ngModel]=\"selectedCriticality$ | async\"\n (ngModelChange)=\"filterByCriticality($event)\"\n [translate]=\"true\"\n i18nPrefix=\"@hvy.eventSummary.criticalityLabels.\"\n >\n </pry-select>\n </div>\n </div>\n <div class=\"o-hvy-event-summary-page__content\">\n <div class=\"o-hvy-event-summary-page__content__sub\">\n @for (summaryKey of statusList; track summaryKey) {\n @if (summaries[summaryKey]) {\n <hvy-event-summary-list\n class=\"o-hvy-event-summary-page__summary-list\"\n [status]=\"summaryKey\"\n [totalEventCount]=\"summaries[summaryKey].count ?? 0\"\n [events]=\"summaries[summaryKey].events\"\n [consultLink]=\"consultLink\"\n [doNotRedirectToDetail]=\"doNotRedirectToDetail\"\n >\n </hvy-event-summary-list>\n }\n }\n </div>\n </div>\n</div>\n" }]
57
57
  }], ctorParameters: () => [{ type: i1.Store }], propDecorators: { pageTitle: [{
58
58
  type: Input
59
59
  }], consultLink: [{
@@ -61,4 +61,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
61
61
  }], doNotRedirectToDetail: [{
62
62
  type: Input
63
63
  }] } });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtc3VtbWFyeS1wYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvaHlwZXJ2aXNvci9zcmMvbGliL2V2ZW50LXN1bW1hcnkvcGFnZS9ldmVudC1zdW1tYXJ5LXBhZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9oeXBlcnZpc29yL3NyYy9saWIvZXZlbnQtc3VtbWFyeS9wYWdlL2V2ZW50LXN1bW1hcnktcGFnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFL0QsT0FBTyxFQUFDLFNBQVMsRUFBYSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUN0RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbkUsT0FBTyxFQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUMxRixPQUFPLEVBQUUsd0JBQXdCLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDekUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOENBQThDLENBQUM7Ozs7Ozs7QUFNbkYsTUFBTSxPQUFPLHlCQUEwQixTQUFRLHdCQUF3QjtJQWFyRSxZQUFvQixLQUFpQjtRQUNuQyxLQUFL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aW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBFdmVudEFjdGlvbnMgfSBmcm9tICcuLi8uLi9zdG9yZS9ldmVudC9ldmVudC5hY3Rpb25zJztcbmltcG9ydCB7IEh5cEV2ZW50U3VtbWFyaWVzLCBIeXBFdmVudFN1bW1hcnkgfSBmcm9tICcuLi8uLi9tb2RlbC9ldmVudC9oeXAtZXZlbnQtc3VtbWFyeS5pbnRlcmZhY2UnO1xuaW1wb3J0IHtmcm9tRXZlbnQsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRXZlbnRTdW1tYXJ5QWN0aW9ucyB9IGZyb20gJy4uLy4uL3N0b3JlL2V2ZW50LXN1bW1hcnkvZXZlbnQtc3VtbWFyeS5hY3Rpb25zJztcbmltcG9ydCB7IEV2ZW50U2VsZWN0b3JzIH0gZnJvbSAnLi4vLi4vc3RvcmUvZXZlbnQvZXZlbnQuc2VsZWN0b3JzJztcbmltcG9ydCB7bWFwLCBzdGFydFdpdGh9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEV2ZW50U3VtbWFyeVNlbGVjdG9ycyB9IGZyb20gJy4uLy4uL3N0b3JlL2V2ZW50LXN1bW1hcnkvZXZlbnQtc3VtbWFyeS5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9ubmVyRGlyZWN0aXZlfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgS05PV05fRklMVEVSX1NFVFMgfSBmcm9tICcuLi8uLi9zdG9yZS9ldmVudC9ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7IEh5cEV2ZW50U3RhdHVzIH0gZnJvbSAnLi4vLi4vbW9kZWwvZXZlbnQvaHlwLWV2ZW50LXN0YXR1cy50eXBlJztcbmltcG9ydCB7IEh5cEV2ZW50Q3JpdGljYWxpdHkgfSBmcm9tICcuLi8uLi9tb2RlbC9ldmVudC9oeXAtZXZlbnQtY3JpdGljYWxpdHkudHlwZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2h2eS1ldmVudC1zdW1tYXJ5LXBhZ2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vZXZlbnQtc3VtbWFyeS1wYWdlLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBFdmVudFN1bW1hcnlQYWdlQ29tcG9uZW50IGV4dGVuZHMgU3Vic2NyaXB0aW9ubmVyRGlyZWN0aXZlIHtcbiAgQElucHV0KCkgcGFnZVRpdGxlID0gJyc7XG4gIEBJbnB1dCgpIGNvbnN1bHRMaW5rOiBzdHJpbmdbXSA9IFtdO1xuICBzdW1tYXJpZXM6IEh5cEV2ZW50U3VtbWFyaWVzID0ge1xuICAgIE5FVzogeyBldmVudHM6IFtdLCBjb3VudDogMCB9LFxuICAgIElOX1BST0dSRVNTOiB7IGV2ZW50czogW10sIGNvdW50OiAwIH0sXG4gICAgRE9ORTogeyBldmVudHM6IFtdLCBjb3VudDogMCB9XG4gIH0gYXMgeyBba2V5OiBzdHJpbmddOiB7IGV2ZW50czogSHlwRXZlbnRTdW1tYXJ5W107IGNvdW50OiBudW1iZXIgfSB9O1xuICBzZWxlY3RlZENyaXRpY2FsaXR5JDogT2JzZXJ2YWJsZTxzdHJpbmcgfCB1bmRlZmluZWQ+O1xuICBjcml0aWNhbGl0eUxpc3QgPSBbJ0FMTCcsIC4uLkh5cEV2ZW50Q3JpdGljYWxpdHkudmFsdWVzXTtcbiAgc3RhdHVzTGlzdCA9IEh5cEV2ZW50U3RhdHVzLnZhbHVlcztcbiAgQElucHV0KCkgZG9Ob3RSZWRpcmVjdFRvRGV0YWlsOiBib29sZWFuIHwgbnVsbCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlPGFueT4pIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICBmcm9tRXZlbnQ8Q3VzdG9tRXZlbnQ+KHdpbmRvdywgJ2FjY3VlaWwtcmVmcmVzaCcpLnBpcGUoXG4gICAgICAgIHN0YXJ0V2l0aChuZXcgQ3VzdG9tRXZlbnQoYGFjY3VlaWwtcmVmcmVzaGAsIHsgZGV0YWlsOiB0cnVlIH0pKVxuICAgICAgKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEV2ZW50U3VtbWFyeUFjdGlvbnMubG9hZCgpKVxuICAgICAgfSlcbiAgICApXG4gICAgdGhpcy5zZWxlY3RlZENyaXRpY2FsaXR5JCA9IHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoRXZlbnRTZWxlY3RvcnMuZmlsdGVycylcbiAgICAgIC5waXBlKG1hcCgoZmlsdGVycykgPT4gKGZpbHRlcnNbS05PV05fRklMVEVSX1NFVFMuRVZFTlRTXSA/PyB7fSlbJ2NyaXRpY2FsaXR5J10/LlswXSA/PyAnQUxMJykpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLnN0b3JlLnNlbGVjdChFdmVudFN1bW1hcnlTZWxlY3RvcnMuc3VtbWFyaWVzKS5zdWJzY3JpYmUoKHN1bW1hcmllcykgPT4ge1xuICAgICAgICB0aGlzLnN1bW1hcmllcyA9IHN1bW1hcmllcztcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGZpbHRlckJ5Q3JpdGljYWxpdHkoJGV2ZW50OiBzdHJpbmcpIHtcbiAgICAkZXZlbnQgPT09ICdBTEwnXG4gICAgICA/IHRoaXMuc3RvcmUuZGlzcGF0Y2goRXZlbnRBY3Rpb25zLmZpbHRlcih7IGZpbHRlcnM6IHt9LCBmaWx0ZXJTZXQ6IEtOT1dOX0ZJTFRFUl9TRVRTLkVWRU5UUyB9KSlcbiAgICAgIDogdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgICBFdmVudEFjdGlvbnMuZmlsdGVyKHtcbiAgICAgICAgICAgIGZpbHRlcnM6IHsgY3JpdGljYWxpdHk6IFskZXZlbnRdIH0sXG4gICAgICAgICAgICBmaWx0ZXJTZXQ6IEtOT1dOX0ZJTFRFUl9TRVRTLkVWRU5UU1xuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChFdmVudFN1bW1hcnlBY3Rpb25zLmxvYWQoKSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJvLWh2eS1ldmVudC1zdW1tYXJ5LXBhZ2VcIj5cbiAgPGRpdiBjbGFzcz1cIm8taHZ5LWV2ZW50LXN1bW1hcnktcGFnZV9faGVhZGVyIHUtZGlzcGxheS1mbGV4IC1qdXN0aWZ5LXNwYWNlLWJldHdlZW5cIj5cbiAgICBAaWYgKHBhZ2VUaXRsZSkge1xuICAgICAgPGgzIGNsYXNzPVwiby1odnktZXZlbnQtc3VtbWFyeS1wYWdlX190aXRsZVwiPnt7IHBhZ2VUaXRsZSB9fTwvaDM+XG4gICAgfVxuICAgIDxkaXYgY2xhc3M9XCJtLWZpbHRlcl9faW5wdXQtd3JhcHBlciBtLWZpbHRlcl9faW5wdXQtd3JhcHBlci0tZHJvcGRvd25cIj5cbiAgICAgIDxsYWJlbCBjbGFzcz1cImEtbGFiZWwgbS1maWx0ZXJfX2xhYmVsXCIgZm9yPVwiY3JpdGljYWxpdHktZmlsdGVyXCJcbiAgICAgICAgPnt7ICdAaHZ5LmV2ZW50LmNyaXRpY2FsaXR5Lm5hbWUnIHwgaTE4biB9fSA6Jm5ic3A7PC9sYWJlbFxuICAgICAgPlxuICAgICAgPHByeS1zZWxlY3RcbiAgICAgICAgaWQ9XCJjcml0aWNhbGl0eS1maWx0ZXJcIlxuICAgICAgICBjbGFzcz1cIm8taHZ5LWV2ZW50LXN1bW1hcnktcGFnZV9fZmlsdGVyXCJcbiAgICAgICAgW2l0ZW1zXT1cImNyaXRpY2FsaXR5TGlzdFwiXG4gICAgICAgIFtuZ01vZGVsXT1cInNlbGVjdGVkQ3JpdGljYWxpdHkkIHwgYXN5bmNcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJmaWx0ZXJCeUNyaXRpY2FsaXR5KCRldmVudClcIlxuICAgICAgICBbdHJhbnNsYXRlXT1cInRydWVcIlxuICAgICAgICBpMThuUHJlZml4PVwiQGh2eS5ldmVudFN1bW1hcnkuY3JpdGljYWxpdHlMYWJlbHMuXCJcbiAgICAgID5cbiAgICAgIDwvcHJ5LXNlbGVjdD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJvLWh2eS1ldmVudC1zdW1tYXJ5LXBhZ2VfX2NvbnRlbnRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiby1odnktZXZlbnQtc3VtbWFyeS1wYWdlX19jb250ZW50X19zdWJcIj5cbiAgICAgIEBmb3IgKHN1bW1hcnlLZXkgb2Ygc3RhdHVzTGlzdDsgdHJhY2sgc3VtbWFyeUtleSkge1xuICAgICAgICBAaWYgKHN1bW1hcmllc1tzdW1tYXJ5S2V5XSkge1xuICAgICAgICAgIDxodnktZXZlbnQtc3VtbWFyeS1saXN0XG4gICAgICAgICAgICBjbGFzcz1cIm8taHZ5LWV2ZW50LXN1bW1hcnktcGFnZV9fc3VtbWFyeS1saXN0XCJcbiAgICAgICAgICAgIFtzdGF0dXNdPVwic3VtbWFyeUtleVwiXG4gICAgICAgICAgICBbdG90YWxFdmVudENvdW50XT1cInN1bW1hcmllc1tzdW1tYXJ5S2V5XS5jb3VudCA/PyAwXCJcbiAgICAgICAgICAgIFtldmVudHNdPVwic3VtbWFyaWVzW3N1bW1hcnlLZXldLmV2ZW50c1wiXG4gICAgICAgICAgICBbY29uc3VsdExpbmtdPVwiY29uc3VsdExpbmtcIlxuICAgICAgICAgICAgW2RvTm90UmVkaXJlY3RUb0RldGFpbF09XCJkb05vdFJlZGlyZWN0VG9EZXRhaWxcIlxuICAgICAgICAgID5cbiAgICAgICAgICA8L2h2eS1ldmVudC1zdW1tYXJ5LWxpc3Q+XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtc3VtbWFyeS1wYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvaHlwZXJ2aXNvci9zcmMvbGliL2V2ZW50LXN1bW1hcnkvcGFnZS9ldmVudC1zdW1tYXJ5LXBhZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9oeXBlcnZpc29yL3NyYy9saWIvZXZlbnQtc3VtbWFyeS9wYWdlL2V2ZW50LXN1bW1hcnktcGFnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFL0QsT0FBTyxFQUFDLFNBQVMsRUFBYSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUN0RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbkUsT0FBTyxFQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUMxRixPQUFPLEVBQUUsd0JBQXdCLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDekUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOENBQThDLENBQUM7Ozs7Ozs7QUFNbkYsTUFBTSxPQUFPLHlCQUEwQixTQUFRLHdCQUF3QjtJQWFyRSxZQUFvQixLQUFpQjtRQUNuQyxLQUFLLEVBQUUsQ0FBQztRQURVLFVBQUssR0FBTCxLQUFLLENBQVk7UUFaNUIsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNmLGdCQUFXLEdBQWEsRUFBRSxDQUFDO1FBQ3BDLGNBQVMsR0FBc0I7WUFDN0IsR0FBRyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFO1lBQzdCLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRTtZQUNyQyxJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUU7U0FDb0MsQ0FBQztRQUVyRSxvQkFBZSxHQUFHLENBQUMsS0FBSyxFQUFFLEdBQUcsbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDekQsZUFBVSxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUM7UUFDMUIsMEJBQXFCLEdBQW1CLEtBQUssQ0FBQztRQUlyRCxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FDcEIsU0FBUyxDQUFjLE1BQU0sRUFBRSxpQkFBaUIsQ0FBQyxDQUFDLElBQUksQ0FDcEQsU0FBUyxDQUFDLElBQUksV0FBVyxDQUFDLGlCQUFpQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FDaEUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2YsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQTtRQUNqRCxDQUFDLENBQUMsQ0FDSCxDQUFBO1FBQ0QsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxLQUFLO2FBQ25DLE1BQU0sQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDO2FBQ3JDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNsRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FDcEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDekUsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxNQUFjO1FBQ2hDLE1BQU0sS0FBSyxLQUFLO1lBQ2QsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FDakIsWUFBWSxDQUFDLGFBQWEsQ0FBQztnQkFDekIsT0FBTyxFQUFFLEVBQUUsV0FBVyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ2xDLFNBQVMsRUFBRSxpQkFBaUIsQ0FBQyxNQUFNO2FBQ3BDLENBQUMsQ0FDSCxDQUFDO1FBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNsRCxDQUFDOzhHQTFDVSx5QkFBeUI7a0dBQXpCLHlCQUF5QixxTUNsQnRDLDA2Q0FzQ0E7OzJGRHBCYSx5QkFBeUI7a0JBSnJDLFNBQVM7K0JBQ0Usd0JBQXdCOzBFQUl6QixTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBU0cscUJBQXFCO3NCQUE3QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBFdmVudEFjdGlvbnMgfSBmcm9tICcuLi8uLi9zdG9yZS9ldmVudC9ldmVudC5hY3Rpb25zJztcbmltcG9ydCB7IEh5cEV2ZW50U3VtbWFyaWVzLCBIeXBFdmVudFN1bW1hcnkgfSBmcm9tICcuLi8uLi9tb2RlbC9ldmVudC9oeXAtZXZlbnQtc3VtbWFyeS5pbnRlcmZhY2UnO1xuaW1wb3J0IHtmcm9tRXZlbnQsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRXZlbnRTdW1tYXJ5QWN0aW9ucyB9IGZyb20gJy4uLy4uL3N0b3JlL2V2ZW50LXN1bW1hcnkvZXZlbnQtc3VtbWFyeS5hY3Rpb25zJztcbmltcG9ydCB7IEV2ZW50U2VsZWN0b3JzIH0gZnJvbSAnLi4vLi4vc3RvcmUvZXZlbnQvZXZlbnQuc2VsZWN0b3JzJztcbmltcG9ydCB7bWFwLCBzdGFydFdpdGh9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEV2ZW50U3VtbWFyeVNlbGVjdG9ycyB9IGZyb20gJy4uLy4uL3N0b3JlL2V2ZW50LXN1bW1hcnkvZXZlbnQtc3VtbWFyeS5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9ubmVyRGlyZWN0aXZlfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgS05PV05fRklMVEVSX1NFVFMgfSBmcm9tICcuLi8uLi9zdG9yZS9ldmVudC9ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7IEh5cEV2ZW50U3RhdHVzIH0gZnJvbSAnLi4vLi4vbW9kZWwvZXZlbnQvaHlwLWV2ZW50LXN0YXR1cy50eXBlJztcbmltcG9ydCB7IEh5cEV2ZW50Q3JpdGljYWxpdHkgfSBmcm9tICcuLi8uLi9tb2RlbC9ldmVudC9oeXAtZXZlbnQtY3JpdGljYWxpdHkudHlwZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2h2eS1ldmVudC1zdW1tYXJ5LXBhZ2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vZXZlbnQtc3VtbWFyeS1wYWdlLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBFdmVudFN1bW1hcnlQYWdlQ29tcG9uZW50IGV4dGVuZHMgU3Vic2NyaXB0aW9ubmVyRGlyZWN0aXZlIHtcbiAgQElucHV0KCkgcGFnZVRpdGxlID0gJyc7XG4gIEBJbnB1dCgpIGNvbnN1bHRMaW5rOiBzdHJpbmdbXSA9IFtdO1xuICBzdW1tYXJpZXM6IEh5cEV2ZW50U3VtbWFyaWVzID0ge1xuICAgIE5FVzogeyBldmVudHM6IFtdLCBjb3VudDogMCB9LFxuICAgIElOX1BST0dSRVNTOiB7IGV2ZW50czogW10sIGNvdW50OiAwIH0sXG4gICAgRE9ORTogeyBldmVudHM6IFtdLCBjb3VudDogMCB9XG4gIH0gYXMgeyBba2V5OiBzdHJpbmddOiB7IGV2ZW50czogSHlwRXZlbnRTdW1tYXJ5W107IGNvdW50OiBudW1iZXIgfSB9O1xuICBzZWxlY3RlZENyaXRpY2FsaXR5JDogT2JzZXJ2YWJsZTxzdHJpbmcgfCB1bmRlZmluZWQ+O1xuICBjcml0aWNhbGl0eUxpc3QgPSBbJ0FMTCcsIC4uLkh5cEV2ZW50Q3JpdGljYWxpdHkudmFsdWVzXTtcbiAgc3RhdHVzTGlzdCA9IEh5cEV2ZW50U3RhdHVzLnZhbHVlcztcbiAgQElucHV0KCkgZG9Ob3RSZWRpcmVjdFRvRGV0YWlsOiBib29sZWFuIHwgbnVsbCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlPGFueT4pIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICBmcm9tRXZlbnQ8Q3VzdG9tRXZlbnQ+KHdpbmRvdywgJ2FjY3VlaWwtcmVmcmVzaCcpLnBpcGUoXG4gICAgICAgIHN0YXJ0V2l0aChuZXcgQ3VzdG9tRXZlbnQoYGFjY3VlaWwtcmVmcmVzaGAsIHsgZGV0YWlsOiB0cnVlIH0pKVxuICAgICAgKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEV2ZW50U3VtbWFyeUFjdGlvbnMubG9hZCgpKVxuICAgICAgfSlcbiAgICApXG4gICAgdGhpcy5zZWxlY3RlZENyaXRpY2FsaXR5JCA9IHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoRXZlbnRTZWxlY3RvcnMuZmlsdGVyc0FjY3VlaWwpXG4gICAgICAucGlwZShtYXAoKGZpbHRlcnMpID0+IChmaWx0ZXJzW0tOT1dOX0ZJTFRFUl9TRVRTLkVWRU5UU10gPz8ge30pWydjcml0aWNhbGl0eSddPy5bMF0gPz8gJ0FMTCcpKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoRXZlbnRTdW1tYXJ5U2VsZWN0b3JzLnN1bW1hcmllcykuc3Vic2NyaWJlKChzdW1tYXJpZXMpID0+IHtcbiAgICAgICAgdGhpcy5zdW1tYXJpZXMgPSBzdW1tYXJpZXM7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBmaWx0ZXJCeUNyaXRpY2FsaXR5KCRldmVudDogc3RyaW5nKSB7XG4gICAgJGV2ZW50ID09PSAnQUxMJ1xuICAgICAgPyB0aGlzLnN0b3JlLmRpc3BhdGNoKEV2ZW50QWN0aW9ucy5maWx0ZXJBY2N1ZWlsKHsgZmlsdGVyczoge30sIGZpbHRlclNldDogS05PV05fRklMVEVSX1NFVFMuRVZFTlRTIH0pKVxuICAgICAgOiB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICAgIEV2ZW50QWN0aW9ucy5maWx0ZXJBY2N1ZWlsKHtcbiAgICAgICAgICAgIGZpbHRlcnM6IHsgY3JpdGljYWxpdHk6IFskZXZlbnRdIH0sXG4gICAgICAgICAgICBmaWx0ZXJTZXQ6IEtOT1dOX0ZJTFRFUl9TRVRTLkVWRU5UU1xuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChFdmVudFN1bW1hcnlBY3Rpb25zLmxvYWQoKSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJvLWh2eS1ldmVudC1zdW1tYXJ5LXBhZ2VcIj5cbiAgPGRpdiBjbGFzcz1cIm8taHZ5LWV2ZW50LXN1bW1hcnktcGFnZV9faGVhZGVyIHUtZGlzcGxheS1mbGV4IC1qdXN0aWZ5LXNwYWNlLWJldHdlZW5cIj5cbiAgICBAaWYgKHBhZ2VUaXRsZSkge1xuICAgICAgPGgzIGNsYXNzPVwiby1odnktZXZlbnQtc3VtbWFyeS1wYWdlX190aXRsZVwiPnt7IHBhZ2VUaXRsZSB9fTwvaDM+XG4gICAgfVxuICAgIDxkaXYgY2xhc3M9XCJjcml0aWNpdHktaG9tZS1maWx0ZXJcIj5cbiAgICAgIDxsYWJlbCBjbGFzcz1cImEtbGFiZWwgbS1maWx0ZXJfX2xhYmVsXCIgZm9yPVwiY3JpdGljYWxpdHktZmlsdGVyXCJcbiAgICAgICAgPnt7ICdAaHZ5LmV2ZW50LmNyaXRpY2FsaXR5Lm5hbWUnIHwgaTE4biB9fSA6Jm5ic3A7PC9sYWJlbFxuICAgICAgPlxuICAgICAgPHByeS1zZWxlY3RcbiAgICAgICAgaWQ9XCJjcml0aWNhbGl0eS1maWx0ZXJcIlxuICAgICAgICBbaXRlbXNdPVwiY3JpdGljYWxpdHlMaXN0XCJcbiAgICAgICAgW25nTW9kZWxdPVwic2VsZWN0ZWRDcml0aWNhbGl0eSQgfCBhc3luY1wiXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImZpbHRlckJ5Q3JpdGljYWxpdHkoJGV2ZW50KVwiXG4gICAgICAgIFt0cmFuc2xhdGVdPVwidHJ1ZVwiXG4gICAgICAgIGkxOG5QcmVmaXg9XCJAaHZ5LmV2ZW50U3VtbWFyeS5jcml0aWNhbGl0eUxhYmVscy5cIlxuICAgICAgPlxuICAgICAgPC9wcnktc2VsZWN0PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIm8taHZ5LWV2ZW50LXN1bW1hcnktcGFnZV9fY29udGVudFwiPlxuICAgIDxkaXYgY2xhc3M9XCJvLWh2eS1ldmVudC1zdW1tYXJ5LXBhZ2VfX2NvbnRlbnRfX3N1YlwiPlxuICAgICAgQGZvciAoc3VtbWFyeUtleSBvZiBzdGF0dXNMaXN0OyB0cmFjayBzdW1tYXJ5S2V5KSB7XG4gICAgICAgIEBpZiAoc3VtbWFyaWVzW3N1bW1hcnlLZXldKSB7XG4gICAgICAgICAgPGh2eS1ldmVudC1zdW1tYXJ5LWxpc3RcbiAgICAgICAgICAgIGNsYXNzPVwiby1odnktZXZlbnQtc3VtbWFyeS1wYWdlX19zdW1tYXJ5LWxpc3RcIlxuICAgICAgICAgICAgW3N0YXR1c109XCJzdW1tYXJ5S2V5XCJcbiAgICAgICAgICAgIFt0b3RhbEV2ZW50Q291bnRdPVwic3VtbWFyaWVzW3N1bW1hcnlLZXldLmNvdW50ID8/IDBcIlxuICAgICAgICAgICAgW2V2ZW50c109XCJzdW1tYXJpZXNbc3VtbWFyeUtleV0uZXZlbnRzXCJcbiAgICAgICAgICAgIFtjb25zdWx0TGlua109XCJjb25zdWx0TGlua1wiXG4gICAgICAgICAgICBbZG9Ob3RSZWRpcmVjdFRvRGV0YWlsXT1cImRvTm90UmVkaXJlY3RUb0RldGFpbFwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvaHZ5LWV2ZW50LXN1bW1hcnktbGlzdD5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -45,6 +45,10 @@ export class HvyCommentsComponent {
45
45
  this.newComment = '';
46
46
  this.more = false;
47
47
  }
48
+ cleanNewComment(comment) {
49
+ const cleanComment = comment.replace(/\s/g, '');
50
+ return cleanComment.length;
51
+ }
48
52
  editComment(comment) {
49
53
  comment.edit = true;
50
54
  setTimeout(() => {
@@ -85,11 +89,11 @@ export class HvyCommentsComponent {
85
89
  this.opened = !this.opened;
86
90
  }
87
91
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: HvyCommentsComponent, deps: [{ token: i1.HypCommentsService }], target: i0.ɵɵFactoryTarget.Component }); }
88
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: HvyCommentsComponent, selector: "hvy-comments", inputs: { readonly: "readonly", me: "me", type: "type", objectId: "objectId", displayEmpty: "displayEmpty", commentCount: "commentCount", lastComment: "lastComment", trigger: "trigger" }, outputs: { commented: "commented" }, viewQueries: [{ propertyName: "message", first: true, predicate: ["message"], descendants: true }], ngImport: i0, template: "<div class=\"o-hvy-comments\">\n @if (displayEmpty || commentCount > 0 || opened) {\n <div class=\"o-hvy-comments__header\">\n @if (type === 'actions') {\n <pry-icon\n iconSvg=\"arrow_down_rounded\"\n [class.-rotated]=\"opened\"\n class=\"-hand\"\n (click)=\"toggle()\"\n [width]=\"10\"\n [height]=\"10\"\n ></pry-icon>\n }\n <h3>\n {{\n (type === 'events' ? '@hvy.event.log.event.comments.name' : '@hvy.event.log.event.comments.actions')\n | i18n: { nb: commentCount }\n }}\n </h3>\n </div>\n\n @if (!readonly && (displayEmpty || opened)) {\n <textarea\n class=\"a-form-field\"\n [placeholder]=\"('@hvy.event.log.event.comments.placeholder' | i18n) + '...'\"\n [(ngModel)]=\"newComment\"\n maxlength=\"255\"\n ></textarea>\n <div class=\"o-hvy-comments__button\">\n <button class=\"a-btn a-btn--primary\" [disabled]=\"newComment.length === 0\" (click)=\"addComment()\">\n {{ '@hvy.action.comment' | i18n }}\n </button>\n </div>\n }\n\n @if (displayEmpty || opened) {\n @for (comment of comments; track comment.id) {\n @if ($first || more) {\n <div class=\"o-hvy-comments__previous\">\n <span class=\"o-hvy-comments__previous__title\">{{\n ($first && commentCount > 1 ? '@hvy.event.comment.lastDetail' : '@hvy.event.comment.detail')\n | i18n\n : {\n day: comment.day,\n hour: comment.hour,\n creator: comment.creatorName ?? '-'\n }\n }}</span>\n <div class=\"o-hvy-comments__previous__message\">\n <textarea\n class=\"a-form-field\"\n [(ngModel)]=\"comment.message\"\n [readonly]=\"!comment.edit\"\n [placeholder]=\"('@hvy.event.log.event.comments.placeholder' | i18n) + '...'\"\n maxlength=\"255\"\n #message\n ></textarea>\n @if (!readonly && (!me || comment.creator === me)) {\n <button (click)=\"editComment(comment)\" [disabled]=\"comment.edit\">\n <pry-icon iconSvg=\"edit\" [height]=\"18\" [width]=\"18\"></pry-icon>\n </button>\n }\n </div>\n @if (comment.edit) {\n <div class=\"o-hvy-comments__previous__actions\">\n <button\n class=\"a-btn a-btn--primary\"\n [disabled]=\"comment.message.length === 0\"\n (click)=\"saveComment(comment)\"\n >\n {{ '@hvy.action.update' | i18n }}\n </button>\n <button class=\"a-btn a-btn--secondary\" (click)=\"cancel(comment)\">\n {{ '@hvy.action.cancel' | i18n }}\n </button>\n </div>\n }\n </div>\n }\n }\n @if (commentCount > 1) {\n <div class=\"o-hvy-comments__more\">\n <button (click)=\"toggleMore()\">\n {{ (more ? '@hvy.event.comment.less' : '@hvy.event.comment.more') | i18n }}\n </button>\n </div>\n }\n }\n }\n</div>\n", dependencies: [{ kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }] }); }
92
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: HvyCommentsComponent, selector: "hvy-comments", inputs: { readonly: "readonly", me: "me", type: "type", objectId: "objectId", displayEmpty: "displayEmpty", commentCount: "commentCount", lastComment: "lastComment", trigger: "trigger" }, outputs: { commented: "commented" }, viewQueries: [{ propertyName: "message", first: true, predicate: ["message"], descendants: true }], ngImport: i0, template: "<div class=\"o-hvy-comments\">\n @if (displayEmpty || commentCount > 0 || opened) {\n <div class=\"o-hvy-comments__header\">\n @if (type === 'actions') {\n <pry-icon\n iconSvg=\"arrow_down_rounded\"\n [class.-rotated]=\"opened\"\n class=\"-hand\"\n (click)=\"toggle()\"\n [width]=\"10\"\n [height]=\"10\"\n ></pry-icon>\n }\n <h3>\n {{\n (type === 'events' ? '@hvy.event.log.event.comments.name' : '@hvy.event.log.event.comments.actions')\n | i18n: { nb: commentCount }\n }}\n </h3>\n </div>\n\n @if (!readonly && (displayEmpty || opened)) {\n <textarea\n class=\"a-form-field\"\n [placeholder]=\"('@hvy.event.log.event.comments.placeholder' | i18n) + '...'\"\n [(ngModel)]=\"newComment\"\n maxlength=\"255\"\n ></textarea>\n <div class=\"o-hvy-comments__button\">\n <button class=\"a-btn a-btn--primary\" [disabled]=\"newComment.length === 0 || cleanNewComment(newComment) === 0\" (click)=\"addComment()\">\n {{ '@hvy.action.comment' | i18n }}\n </button>\n </div>\n }\n\n @if (displayEmpty || opened) {\n @for (comment of comments; track comment.id) {\n @if ($first || more) {\n <div class=\"o-hvy-comments__previous\">\n <span class=\"o-hvy-comments__previous__title\">{{\n ($first && commentCount > 1 ? '@hvy.event.comment.lastDetail' : '@hvy.event.comment.detail')\n | i18n\n : {\n day: comment.day,\n hour: comment.hour,\n creator: comment.creatorName ?? '-'\n }\n }}</span>\n <div class=\"o-hvy-comments__previous__message\">\n <textarea\n class=\"a-form-field\"\n [class.my-comment-message]=\"comment.creator === me && !readonly\"\n [(ngModel)]=\"comment.message\"\n [readonly]=\"!comment.edit\"\n [placeholder]=\"('@hvy.event.log.event.comments.placeholder' | i18n) + '...'\"\n maxlength=\"255\"\n #message\n ></textarea>\n @if (!readonly && (!me || comment.creator === me)) {\n <button (click)=\"editComment(comment)\" [disabled]=\"comment.edit\">\n <pry-icon iconSvg=\"edit\" [height]=\"18\" [width]=\"18\"></pry-icon>\n </button>\n }\n </div>\n @if (comment.edit) {\n <div class=\"o-hvy-comments__previous__actions\">\n <button\n class=\"a-btn a-btn--primary\"\n [disabled]=\"comment.message.length === 0 || cleanNewComment(comment.message) === 0\"\n (click)=\"saveComment(comment)\"\n >\n {{ '@hvy.action.update' | i18n }}\n </button>\n <button class=\"a-btn a-btn--secondary\" (click)=\"cancel(comment)\">\n {{ '@hvy.action.cancel' | i18n }}\n </button>\n </div>\n }\n </div>\n }\n }\n @if (commentCount > 1) {\n <div class=\"o-hvy-comments__more\">\n <button (click)=\"toggleMore()\">\n {{ (more ? '@hvy.event.comment.less' : '@hvy.event.comment.more') | i18n }}\n </button>\n </div>\n }\n }\n }\n</div>\n", dependencies: [{ kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }] }); }
89
93
  }
90
94
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: HvyCommentsComponent, decorators: [{
91
95
  type: Component,
92
- args: [{ selector: 'hvy-comments', template: "<div class=\"o-hvy-comments\">\n @if (displayEmpty || commentCount > 0 || opened) {\n <div class=\"o-hvy-comments__header\">\n @if (type === 'actions') {\n <pry-icon\n iconSvg=\"arrow_down_rounded\"\n [class.-rotated]=\"opened\"\n class=\"-hand\"\n (click)=\"toggle()\"\n [width]=\"10\"\n [height]=\"10\"\n ></pry-icon>\n }\n <h3>\n {{\n (type === 'events' ? '@hvy.event.log.event.comments.name' : '@hvy.event.log.event.comments.actions')\n | i18n: { nb: commentCount }\n }}\n </h3>\n </div>\n\n @if (!readonly && (displayEmpty || opened)) {\n <textarea\n class=\"a-form-field\"\n [placeholder]=\"('@hvy.event.log.event.comments.placeholder' | i18n) + '...'\"\n [(ngModel)]=\"newComment\"\n maxlength=\"255\"\n ></textarea>\n <div class=\"o-hvy-comments__button\">\n <button class=\"a-btn a-btn--primary\" [disabled]=\"newComment.length === 0\" (click)=\"addComment()\">\n {{ '@hvy.action.comment' | i18n }}\n </button>\n </div>\n }\n\n @if (displayEmpty || opened) {\n @for (comment of comments; track comment.id) {\n @if ($first || more) {\n <div class=\"o-hvy-comments__previous\">\n <span class=\"o-hvy-comments__previous__title\">{{\n ($first && commentCount > 1 ? '@hvy.event.comment.lastDetail' : '@hvy.event.comment.detail')\n | i18n\n : {\n day: comment.day,\n hour: comment.hour,\n creator: comment.creatorName ?? '-'\n }\n }}</span>\n <div class=\"o-hvy-comments__previous__message\">\n <textarea\n class=\"a-form-field\"\n [(ngModel)]=\"comment.message\"\n [readonly]=\"!comment.edit\"\n [placeholder]=\"('@hvy.event.log.event.comments.placeholder' | i18n) + '...'\"\n maxlength=\"255\"\n #message\n ></textarea>\n @if (!readonly && (!me || comment.creator === me)) {\n <button (click)=\"editComment(comment)\" [disabled]=\"comment.edit\">\n <pry-icon iconSvg=\"edit\" [height]=\"18\" [width]=\"18\"></pry-icon>\n </button>\n }\n </div>\n @if (comment.edit) {\n <div class=\"o-hvy-comments__previous__actions\">\n <button\n class=\"a-btn a-btn--primary\"\n [disabled]=\"comment.message.length === 0\"\n (click)=\"saveComment(comment)\"\n >\n {{ '@hvy.action.update' | i18n }}\n </button>\n <button class=\"a-btn a-btn--secondary\" (click)=\"cancel(comment)\">\n {{ '@hvy.action.cancel' | i18n }}\n </button>\n </div>\n }\n </div>\n }\n }\n @if (commentCount > 1) {\n <div class=\"o-hvy-comments__more\">\n <button (click)=\"toggleMore()\">\n {{ (more ? '@hvy.event.comment.less' : '@hvy.event.comment.more') | i18n }}\n </button>\n </div>\n }\n }\n }\n</div>\n" }]
96
+ args: [{ selector: 'hvy-comments', template: "<div class=\"o-hvy-comments\">\n @if (displayEmpty || commentCount > 0 || opened) {\n <div class=\"o-hvy-comments__header\">\n @if (type === 'actions') {\n <pry-icon\n iconSvg=\"arrow_down_rounded\"\n [class.-rotated]=\"opened\"\n class=\"-hand\"\n (click)=\"toggle()\"\n [width]=\"10\"\n [height]=\"10\"\n ></pry-icon>\n }\n <h3>\n {{\n (type === 'events' ? '@hvy.event.log.event.comments.name' : '@hvy.event.log.event.comments.actions')\n | i18n: { nb: commentCount }\n }}\n </h3>\n </div>\n\n @if (!readonly && (displayEmpty || opened)) {\n <textarea\n class=\"a-form-field\"\n [placeholder]=\"('@hvy.event.log.event.comments.placeholder' | i18n) + '...'\"\n [(ngModel)]=\"newComment\"\n maxlength=\"255\"\n ></textarea>\n <div class=\"o-hvy-comments__button\">\n <button class=\"a-btn a-btn--primary\" [disabled]=\"newComment.length === 0 || cleanNewComment(newComment) === 0\" (click)=\"addComment()\">\n {{ '@hvy.action.comment' | i18n }}\n </button>\n </div>\n }\n\n @if (displayEmpty || opened) {\n @for (comment of comments; track comment.id) {\n @if ($first || more) {\n <div class=\"o-hvy-comments__previous\">\n <span class=\"o-hvy-comments__previous__title\">{{\n ($first && commentCount > 1 ? '@hvy.event.comment.lastDetail' : '@hvy.event.comment.detail')\n | i18n\n : {\n day: comment.day,\n hour: comment.hour,\n creator: comment.creatorName ?? '-'\n }\n }}</span>\n <div class=\"o-hvy-comments__previous__message\">\n <textarea\n class=\"a-form-field\"\n [class.my-comment-message]=\"comment.creator === me && !readonly\"\n [(ngModel)]=\"comment.message\"\n [readonly]=\"!comment.edit\"\n [placeholder]=\"('@hvy.event.log.event.comments.placeholder' | i18n) + '...'\"\n maxlength=\"255\"\n #message\n ></textarea>\n @if (!readonly && (!me || comment.creator === me)) {\n <button (click)=\"editComment(comment)\" [disabled]=\"comment.edit\">\n <pry-icon iconSvg=\"edit\" [height]=\"18\" [width]=\"18\"></pry-icon>\n </button>\n }\n </div>\n @if (comment.edit) {\n <div class=\"o-hvy-comments__previous__actions\">\n <button\n class=\"a-btn a-btn--primary\"\n [disabled]=\"comment.message.length === 0 || cleanNewComment(comment.message) === 0\"\n (click)=\"saveComment(comment)\"\n >\n {{ '@hvy.action.update' | i18n }}\n </button>\n <button class=\"a-btn a-btn--secondary\" (click)=\"cancel(comment)\">\n {{ '@hvy.action.cancel' | i18n }}\n </button>\n </div>\n }\n </div>\n }\n }\n @if (commentCount > 1) {\n <div class=\"o-hvy-comments__more\">\n <button (click)=\"toggleMore()\">\n {{ (more ? '@hvy.event.comment.less' : '@hvy.event.comment.more') | i18n }}\n </button>\n </div>\n }\n }\n }\n</div>\n" }]
93
97
  }], ctorParameters: () => [{ type: i1.HypCommentsService }], propDecorators: { readonly: [{
94
98
  type: Input
95
99
  }], commented: [{
@@ -112,4 +116,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
112
116
  }], trigger: [{
113
117
  type: Input
114
118
  }] } });
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9oeXBlcnZpc29yL3NyYy9saWIvZ2VuZXJhbC9jb21tZW50cy9jb21tZW50cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2h5cGVydmlzb3Ivc3JjL2xpYi9nZW5lcmFsL2NvbW1lbnRzL2NvbW1lbnRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpHLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7O0FBZTFCLE1BQU0sT0FBTyxvQkFBb0I7SUFlL0IsSUFBYSxXQUFXLENBQUMsT0FBK0I7UUFDdEQsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLE9BQU87WUFDMUIsQ0FBQyxDQUFDLFNBQVM7WUFDWCxDQUFDLENBQUU7Z0JBQ0MsR0FBRyxPQUFPO2dCQUNWLEdBQUcsRUFBRSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxrQkFBa0IsRUFBRTtnQkFDaEUsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQztxQkFDekMsa0JBQWtCLEVBQUU7cUJBQ3BCLFNBQVMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzdGLElBQUksRUFBRSxLQUFLO2dCQUNYLGVBQWUsRUFBRSxPQUFPLENBQUMsT0FBTzthQUNULENBQUM7SUFDaEMsQ0FBQztJQUVELElBQWEs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b21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh5cENvbW1lbnQgfSBmcm9tICcuLi8uLi9tb2RlbC9jb21tZW50LmludGVyZmFjZSc7XG5pbXBvcnQgeyB2NCB9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBIeXBDb21tZW50c1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zdG9yZS9jb21tZW50cy9jb21tZW50cy5zZXJ2aWNlJztcblxuZXhwb3J0IHR5cGUgSHlwQXVnbWVudGVkQ29tbWVudCA9IEh5cENvbW1lbnQgJiB7XG4gIGRheTogc3RyaW5nO1xuICBob3VyOiBzdHJpbmc7XG4gIGVkaXQ6IGJvb2xlYW47XG4gIHByZXZpb3VzTWVzc2FnZTogc3RyaW5nO1xufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaHZ5LWNvbW1lbnRzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbW1lbnRzLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBIdnlDb21tZW50c0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHJlYWRvbmx5OiBib29sZWFuIHwgbnVsbCA9IGZhbHNlO1xuICBuZXdDb21tZW50ID0gJyc7XG4gIEBPdXRwdXQoKSBjb21tZW50ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHsgaWQ6IHN0cmluZzsgbWVzc2FnZTogc3RyaW5nIH0+KCk7XG4gIG1vcmUgPSBmYWxzZTtcbiAgQElucHV0KCkgbWU6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIHR5cGU6ICdhY3Rpb25zJyB8ICdldmVudHMnID0gJ2V2ZW50cyc7XG4gIEBJbnB1dCgpIG9iamVjdElkPzogc3RyaW5nIHwgbnVtYmVyO1xuICBASW5wdXQoKSBkaXNwbGF5RW1wdHkgPSB0cnVlO1xuICBASW5wdXQoKSBjb21tZW50Q291bnQgPSAwO1xuICBAVmlld0NoaWxkKCdtZXNzYWdlJykgbWVzc2FnZSE6IEVsZW1lbnRSZWY8SFRNTFRleHRBcmVhRWxlbWVudD47XG4gIG9wZW5lZCA9IGZhbHNlO1xuICBzdWJUcmlnZ2VyPzogU3Vic2NyaXB0aW9uO1xuICBhZGRpdGlvbm5hbENvbW1lbnRzOiBIeXBBdWdtZW50ZWRDb21tZW50W10gPSBbXTtcbiAgX2xhc3RDb21tZW50OiBIeXBBdWdtZW50ZWRDb21tZW50IHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBzZXQgbGFzdENvbW1lbnQoY29tbWVudDogSHlwQ29tbWVudCB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuX2xhc3RDb21tZW50ID0gIWNvbW1lbnRcbiAgICAgID8gdW5kZWZpbmVkXG4gICAgICA6ICh7XG4gICAgICAgICAgLi4uY29tbWVudCxcbiAgICAgICAgICBkYXk6IG5ldyBEYXRlKGNvbW1lbnQubGFzdE1vZGlmaWNhdGlvbkRhdGUpLnRvTG9jYWxlRGF0ZVN0cmluZygpLFxuICAgICAgICAgIGhvdXI6IG5ldyBEYXRlKGNvbW1lbnQubGFzdE1vZGlmaWNhdGlvbkRhdGUpXG4gICAgICAgICAgICAudG9Mb2NhbGVUaW1lU3RyaW5nKClcbiAgICAgICAgICAgIC5zdWJzdHJpbmcoMCwgbmV3IERhdGUoY29tbWVudC5sYXN0TW9kaWZpY2F0aW9uRGF0ZSkudG9Mb2NhbGVUaW1lU3RyaW5nKCkubGFzdEluZGV4T2YoJzonKSksXG4gICAgICAgICAgZWRpdDogZmFsc2UsXG4gICAgICAgICAgcHJldmlvdXNNZXNzYWdlOiBjb21tZW50Lm1lc3NhZ2VcbiAgICAgICAgfSBhcyBIeXBBdWdtZW50ZWRDb21tZW50KTtcbiAgfVxuXG4gIEBJbnB1dCgpIHNldCB0cmlnZ2VyKHRyaWdnZXIkOiBTdWJqZWN0PGJvb2xlYW4+KSB7XG4gICAgdGhpcy5zdWJUcmlnZ2VyPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuc3ViVHJpZ2dlciA9IHRyaWdnZXIkLnN1YnNjcmliZSgob3BlbmVkKSA9PiAodGhpcy5vcGVuZWQgPSBvcGVuZWQgPz8gIXRoaXMub3BlbmVkKSk7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbW1lbnRzU2VydmljZTogSHlwQ29tbWVudHNTZXJ2aWNlKSB7fVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3ViVHJpZ2dlcj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGdldCBjb21tZW50cygpOiBIeXBBdWdtZW50ZWRDb21tZW50W10ge1xuICAgIHJldHVybiBbdGhpcy5fbGFzdENvbW1lbnQsIC4uLnRoaXMuYWRkaXRpb25uYWxDb21tZW50c10uZmlsdGVyKChjb20pID0+ICEhY29tKSBhcyBIeXBBdWdtZW50ZWRDb21tZW50W107XG4gIH1cblxuICBhZGRDb21tZW50KCkge1xuICAgIHRoaXMuY29tbWVudGVkLm5leHQoeyBpZDogdjQoKSwgbWVzc2FnZTogdGhpcy5uZXdDb21tZW50IH0pO1xuICAgIHRoaXMubmV3Q29tbWVudCA9ICcnO1xuICAgIHRoaXMubW9yZSA9IGZhbHNlO1xuICB9XG5cbiAgZWRpdENvbW1lbnQoY29tbWVudDogSHlwQXVnbWVudGVkQ29tbWVudCkge1xuICAgIGNvbW1lbnQuZWRpdCA9IHRydWU7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLm1lc3NhZ2UubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH0sIDIwMCk7XG4gIH1cblxuICBzYXZlQ29tbWVudChjb21tZW50OiBIeXBBdWdtZW50ZWRDb21tZW50KSB7XG4gICAgdGhpcy5jb21tZW50ZWQubmV4dCh7IGlkOiBjb21tZW50LmlkLCBtZXNzYWdlOiBjb21tZW50Lm1lc3NhZ2UgfSk7XG4gICAgY29tbWVudC5lZGl0ID0gZmFsc2U7XG4gICAgdGhpcy5tb3JlID0gZmFsc2U7XG4gIH1cblxuICBjYW5jZWwoY29tbWVudDogSHlwQXVnbWVudGVkQ29tbWVudCkge1xuICAgIGNvbW1lbnQubWVzc2FnZSA9IGNvbW1lbnQucHJldmlvdXNNZXNzYWdlO1xuICAgIGNvbW1lbnQuZWRpdCA9IGZhbHNlO1xuICB9XG5cbiAgdG9nZ2xlTW9yZSgpIHtcbiAgICBpZiAoIXRoaXMubW9yZSkge1xuICAgICAgdGhpcy5jb21tZW50c1NlcnZpY2UuZ2V0KHRoaXMub2JqZWN0SWQhLCB0aGlzLnR5cGUpLnN1YnNjcmliZSgoY29tbWVudHMpID0+IHtcbiAgICAgICAgdGhpcy5hZGRpdGlvbm5hbENvbW1lbnRzID0gY29tbWVudHNcbiAgICAgICAgICAuZmlsdGVyKChjb21tZW50KSA9PiBjb21tZW50LmlkICE9PSB0aGlzLl9sYXN0Q29tbWVudD8uaWQpXG4gICAgICAgICAgLm1hcChcbiAgICAgICAgICAgIChjb21tZW50OiBIeXBDb21tZW50KSA9PlxuICAgICAgICAgICAgICAoe1xuICAgICAgICAgICAgICAgIC4uLmNvbW1lbnQsXG4gICAgICAgICAgICAgICAgZGF5OiBuZXcgRGF0ZShjb21tZW50Lmxhc3RNb2RpZmljYXRpb25EYXRlKS50b0xvY2FsZURhdGVTdHJpbmcoKSxcbiAgICAgICAgICAgICAgICBob3VyOiBuZXcgRGF0ZShjb21tZW50Lmxhc3RNb2RpZmljYXRpb25EYXRlKVxuICAgICAgICAgICAgICAgICAgLnRvTG9jYWxlVGltZVN0cmluZygpXG4gICAgICAgICAgICAgICAgICAuc3Vic3RyaW5nKDAsIG5ldyBEYXRlKGNvbW1lbnQubGFzdE1vZGlmaWNhdGlvbkRhdGUpLnRvTG9jYWxlVGltZVN0cmluZygpLmxhc3RJbmRleE9mKCc6JykpLFxuICAgICAgICAgICAgICAgIGVkaXQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHByZXZpb3VzTWVzc2FnZTogY29tbWVudC5tZXNzYWdlXG4gICAgICAgICAgICAgIH0pIGFzIEh5cEF1Z21lbnRlZENvbW1lbnRcbiAgICAgICAgICApO1xuICAgICAgICB0aGlzLm1vcmUgPSAhdGhpcy5tb3JlO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubW9yZSA9ICF0aGlzLm1vcmU7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlKCkge1xuICAgIHRoaXMub3BlbmVkID0gIXRoaXMub3BlbmVkO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiby1odnktY29tbWVudHNcIj5cbiAgQGlmIChkaXNwbGF5RW1wdHkgfHwgY29tbWVudENvdW50ID4gMCB8fCBvcGVuZWQpIHtcbiAgICA8ZGl2IGNsYXNzPVwiby1odnktY29tbWVudHNfX2hlYWRlclwiPlxuICAgICAgQGlmICh0eXBlID09PSAnYWN0aW9ucycpIHtcbiAgICAgICAgPHByeS1pY29uXG4gICAgICAgICAgaWNvblN2Zz1cImFycm93X2Rvd25fcm91bmRlZFwiXG4gICAgICAgICAgW2NsYXNzLi1yb3RhdGVkXT1cIm9wZW5lZFwiXG4gICAgICAgICAgY2xhc3M9XCItaGFuZFwiXG4gICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZSgpXCJcbiAgICAgICAgICBbd2lkdGhdPVwiMTBcIlxuICAgICAgICAgIFtoZWlnaHRdPVwiMTBcIlxuICAgICAgICA+PC9wcnktaWNvbj5cbiAgICAgIH1cbiAgICAgIDxoMz5cbiAgICAgICAge3tcbiAgICAgICAgICAodHlwZSA9PT0gJ2V2ZW50cycgPyAnQGh2eS5ldmVudC5sb2cuZXZlbnQuY29tbWVudHMubmFtZScgOiAnQGh2eS5ldmVudC5sb2cuZXZlbnQuY29tbWVudHMuYWN0aW9ucycpXG4gICAgICAgICAgICB8IGkxOG46IHsgbmI6IGNvbW1lbnRDb3VudCB9XG4gICAgICAgIH19XG4gICAgICA8L2gzPlxuICAgIDwvZGl2PlxuXG4gICAgQGlmICghcmVhZG9ubHkgJiYgKGRpc3BsYXlFbXB0eSB8fCBvcGVuZWQpKSB7XG4gICAgICA8dGV4dGFyZWFcbiAgICAgICAgY2xhc3M9XCJhLWZvcm0tZmllbGRcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiKCdAaHZ5LmV2ZW50LmxvZy5ldmVudC5jb21tZW50cy5wbGFjZWhvbGRlcicgfCBpMThuKSArICcuLi4nXCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJuZXdDb21tZW50XCJcbiAgICAgICAgbWF4bGVuZ3RoPVwiMjU1XCJcbiAgICAgID48L3RleHRhcmVhPlxuICAgICAgPGRpdiBjbGFzcz1cIm8taHZ5LWNvbW1lbnRzX19idXR0b25cIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImEtYnRuIGEtYnRuLS1wcmltYXJ5XCIgW2Rpc2FibGVkXT1cIm5ld0NvbW1lbnQubGVuZ3RoID09PSAwXCIgKGNsaWNrKT1cImFkZENvbW1lbnQoKVwiPlxuICAgICAgICAgIHt7ICdAaHZ5LmFjdGlvbi5jb21tZW50JyB8IGkxOG4gfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICB9XG5cbiAgICBAaWYgKGRpc3BsYXlFbXB0eSB8fCBvcGVuZWQpIHtcbiAgICAgIEBmb3IgKGNvbW1lbnQgb2YgY29tbWVudHM7IHRyYWNrIGNvbW1lbnQuaWQpIHtcbiAgICAgICAgQGlmICgkZmlyc3QgfHwgbW9yZSkge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJvLWh2eS1jb21tZW50c19fcHJldmlvdXNcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiby1odnktY29tbWVudHNfX3ByZXZpb3VzX190aXRsZVwiPnt7XG4gICAgICAgICAgICAgICgkZmlyc3QgJiYgY29tbWVudENvdW50ID4gMSA/ICdAaHZ5LmV2ZW50LmNvbW1lbnQubGFzdERldGFpbCcgOiAnQGh2eS5ldmVudC5jb21tZW50LmRldGFpbCcpXG4gICAgICAgICAgICAgICAgfCBpMThuXG4gICAgICAgICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICAgICAgICBkYXk6IGNvbW1lbnQuZGF5LFxuICAgICAgICAgICAgICAgICAgICAgIGhvdXI6IGNvbW1lbnQuaG91cixcbiAgICAgICAgICAgICAgICAgICAgICBjcmVhdG9yOiBjb21tZW50LmNyZWF0b3JOYW1lID8/ICctJ1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvLWh2eS1jb21tZW50c19fcHJldmlvdXNfX21lc3NhZ2VcIj5cbiAgICAgICAgICAgICAgPHRleHRhcmVhXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhLWZvcm0tZmllbGRcIlxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiY29tbWVudC5tZXNzYWdlXCJcbiAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwiIWNvbW1lbnQuZWRpdFwiXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIignQGh2eS5ldmVudC5sb2cuZXZlbnQuY29tbWVudHMucGxhY2Vob2xkZXInIHwgaTE4bikgKyAnLi4uJ1wiXG4gICAgICAgICAgICAgICAgbWF4bGVuZ3RoPVwiMjU1XCJcbiAgICAgICAgICAgICAgICAjbWVzc2FnZVxuICAgICAgICAgICAgICA+PC90ZXh0YXJlYT5cbiAgICAgICAgICAgICAgQGlmICghcmVhZG9ubHkgJiYgKCFtZSB8fCBjb21tZW50LmNyZWF0b3IgPT09IG1lKSkge1xuICAgICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cImVkaXRDb21tZW50KGNvbW1lbnQpXCIgW2Rpc2FibGVkXT1cImNvbW1lbnQuZWRpdFwiPlxuICAgICAgICAgICAgICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJlZGl0XCIgW2hlaWdodF09XCIxOFwiIFt3aWR0aF09XCIxOFwiPjwvcHJ5LWljb24+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgQGlmIChjb21tZW50LmVkaXQpIHtcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm8taHZ5LWNvbW1lbnRzX19wcmV2aW91c19fYWN0aW9uc1wiPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLXByaW1hcnlcIlxuICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImNvbW1lbnQubWVzc2FnZS5sZW5ndGggPT09IDBcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNhdmVDb21tZW50KGNvbW1lbnQpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7eyAnQGh2eS5hY3Rpb24udXBkYXRlJyB8IGkxOG4gfX1cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYS1idG4gYS1idG4tLXNlY29uZGFyeVwiIChjbGljayk9XCJjYW5jZWwoY29tbWVudClcIj5cbiAgICAgICAgICAgICAgICAgIHt7ICdAaHZ5LmFjdGlvbi5jYW5jZWwnIHwgaTE4biB9fVxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGlmIChjb21tZW50Q291bnQgPiAxKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJvLWh2eS1jb21tZW50c19fbW9yZVwiPlxuICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cInRvZ2dsZU1vcmUoKVwiPlxuICAgICAgICAgICAge3sgKG1vcmUgPyAnQGh2eS5ldmVudC5jb21tZW50Lmxlc3MnIDogJ0BodnkuZXZlbnQuY29tbWVudC5tb3JlJykgfCBpMThuIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIH1cbiAgfVxuPC9kaXY+XG4iXX0=
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9oeXBlcnZpc29yL3NyYy9saWIvZ2VuZXJhbC9jb21tZW50cy9jb21tZW50cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2h5cGVydmlzb3Ivc3JjL2xpYi9nZW5lcmFsL2NvbW1lbnRzL2NvbW1lbnRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpHLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7O0FBZTFCLE1BQU0sT0FBTyxvQkFBb0I7SUFlL0IsSUFBYSxXQUFXLENBQUMsT0FBK0I7UUFDdEQsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLE9BQU87WUFDMUIsQ0FBQyxDQUFDLFNBQVM7WUFDWCxDQUFDLENBQUU7Z0JBQ0MsR0FBRyxPQUFPO2dCQUNWLEdBQUcsRUFBRSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxrQkFBa0IsRUFBRTtnQkFDaEUsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQztxQkFDekMsa0JBQWtCLEVBQUU7cUJBQ3BCLFNBQVMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzdGLElBQUksRUFBRSxLQUFLO2dCQUNYLGVBQWUsRUFBRSxPQUFPLENBQUMsT0FBTzthQUNULENBQUM7SUFDaEMsQ0FBQztJQUVELElBQWEs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WUFBWTtzQkFBcEIsS0FBSztnQkFDZ0IsT0FBTztzQkFBNUIsU0FBUzt1QkFBQyxTQUFTO2dCQUtQLFdBQVc7c0JBQXZCLEtBQUs7Z0JBY08sT0FBTztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHlwQ29tbWVudCB9IGZyb20gJy4uLy4uL21vZGVsL2NvbW1lbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7IHY0IH0gZnJvbSAndXVpZCc7XG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEh5cENvbW1lbnRzU2VydmljZSB9IGZyb20gJy4uLy4uL3N0b3JlL2NvbW1lbnRzL2NvbW1lbnRzLnNlcnZpY2UnO1xuXG5leHBvcnQgdHlwZSBIeXBBdWdtZW50ZWRDb21tZW50ID0gSHlwQ29tbWVudCAmIHtcbiAgZGF5OiBzdHJpbmc7XG4gIGhvdXI6IHN0cmluZztcbiAgZWRpdDogYm9vbGVhbjtcbiAgcHJldmlvdXNNZXNzYWdlOiBzdHJpbmc7XG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdodnktY29tbWVudHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vY29tbWVudHMuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEh2eUNvbW1lbnRzQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgQElucHV0KCkgcmVhZG9ubHk6IGJvb2xlYW4gfCBudWxsID0gZmFsc2U7XG4gIG5ld0NvbW1lbnQgPSAnJztcbiAgQE91dHB1dCgpIGNvbW1lbnRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8eyBpZDogc3RyaW5nOyBtZXNzYWdlOiBzdHJpbmcgfT4oKTtcbiAgbW9yZSA9IGZhbHNlO1xuICBASW5wdXQoKSBtZTogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgdHlwZTogJ2FjdGlvbnMnIHwgJ2V2ZW50cycgPSAnZXZlbnRzJztcbiAgQElucHV0KCkgb2JqZWN0SWQ/OiBzdHJpbmcgfCBudW1iZXI7XG4gIEBJbnB1dCgpIGRpc3BsYXlFbXB0eSA9IHRydWU7XG4gIEBJbnB1dCgpIGNvbW1lbnRDb3VudCA9IDA7XG4gIEBWaWV3Q2hpbGQoJ21lc3NhZ2UnKSBtZXNzYWdlITogRWxlbWVudFJlZjxIVE1MVGV4dEFyZWFFbGVtZW50PjtcbiAgb3BlbmVkID0gZmFsc2U7XG4gIHN1YlRyaWdnZXI/OiBTdWJzY3JpcHRpb247XG4gIGFkZGl0aW9ubmFsQ29tbWVudHM6IEh5cEF1Z21lbnRlZENvbW1lbnRbXSA9IFtdO1xuICBfbGFzdENvbW1lbnQ6IEh5cEF1Z21lbnRlZENvbW1lbnQgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIHNldCBsYXN0Q29tbWVudChjb21tZW50OiBIeXBDb21tZW50IHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fbGFzdENvbW1lbnQgPSAhY29tbWVudFxuICAgICAgPyB1bmRlZmluZWRcbiAgICAgIDogKHtcbiAgICAgICAgICAuLi5jb21tZW50LFxuICAgICAgICAgIGRheTogbmV3IERhdGUoY29tbWVudC5sYXN0TW9kaWZpY2F0aW9uRGF0ZSkudG9Mb2NhbGVEYXRlU3RyaW5nKCksXG4gICAgICAgICAgaG91cjogbmV3IERhdGUoY29tbWVudC5sYXN0TW9kaWZpY2F0aW9uRGF0ZSlcbiAgICAgICAgICAgIC50b0xvY2FsZVRpbWVTdHJpbmcoKVxuICAgICAgICAgICAgLnN1YnN0cmluZygwLCBuZXcgRGF0ZShjb21tZW50Lmxhc3RNb2RpZmljYXRpb25EYXRlKS50b0xvY2FsZVRpbWVTdHJpbmcoKS5sYXN0SW5kZXhPZignOicpKSxcbiAgICAgICAgICBlZGl0OiBmYWxzZSxcbiAgICAgICAgICBwcmV2aW91c01lc3NhZ2U6IGNvbW1lbnQubWVzc2FnZVxuICAgICAgICB9IGFzIEh5cEF1Z21lbnRlZENvbW1lbnQpO1xuICB9XG5cbiAgQElucHV0KCkgc2V0IHRyaWdnZXIodHJpZ2dlciQ6IFN1YmplY3Q8Ym9vbGVhbj4pIHtcbiAgICB0aGlzLnN1YlRyaWdnZXI/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5zdWJUcmlnZ2VyID0gdHJpZ2dlciQuc3Vic2NyaWJlKChvcGVuZWQpID0+ICh0aGlzLm9wZW5lZCA9IG9wZW5lZCA/PyAhdGhpcy5vcGVuZWQpKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29tbWVudHNTZXJ2aWNlOiBIeXBDb21tZW50c1NlcnZpY2UpIHt9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdWJUcmlnZ2VyPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgZ2V0IGNvbW1lbnRzKCk6IEh5cEF1Z21lbnRlZENvbW1lbnRbXSB7XG4gICAgcmV0dXJuIFt0aGlzLl9sYXN0Q29tbWVudCwgLi4udGhpcy5hZGRpdGlvbm5hbENvbW1lbnRzXS5maWx0ZXIoKGNvbSkgPT4gISFjb20pIGFzIEh5cEF1Z21lbnRlZENvbW1lbnRbXTtcbiAgfVxuXG4gIGFkZENvbW1lbnQoKSB7XG4gICAgdGhpcy5jb21tZW50ZWQubmV4dCh7IGlkOiB2NCgpLCBtZXNzYWdlOiB0aGlzLm5ld0NvbW1lbnQgfSk7XG4gICAgdGhpcy5uZXdDb21tZW50ID0gJyc7XG4gICAgdGhpcy5tb3JlID0gZmFsc2U7XG4gIH1cblxuICBjbGVhbk5ld0NvbW1lbnQoY29tbWVudDogc3RyaW5nKXtcbiAgICBjb25zdCBjbGVhbkNvbW1lbnQgPSBjb21tZW50LnJlcGxhY2UoL1xccy9nLCcnKTtcbiAgICByZXR1cm4gY2xlYW5Db21tZW50Lmxlbmd0aDtcbiAgfVxuXG4gIGVkaXRDb21tZW50KGNvbW1lbnQ6IEh5cEF1Z21lbnRlZENvbW1lbnQpIHtcbiAgICBjb21tZW50LmVkaXQgPSB0cnVlO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5tZXNzYWdlLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9LCAyMDApO1xuICB9XG5cbiAgc2F2ZUNvbW1lbnQoY29tbWVudDogSHlwQXVnbWVudGVkQ29tbWVudCkge1xuICAgIHRoaXMuY29tbWVudGVkLm5leHQoeyBpZDogY29tbWVudC5pZCwgbWVzc2FnZTogY29tbWVudC5tZXNzYWdlIH0pO1xuICAgIGNvbW1lbnQuZWRpdCA9IGZhbHNlO1xuICAgIHRoaXMubW9yZSA9IGZhbHNlO1xuICB9XG5cbiAgY2FuY2VsKGNvbW1lbnQ6IEh5cEF1Z21lbnRlZENvbW1lbnQpIHtcbiAgICBjb21tZW50Lm1lc3NhZ2UgPSBjb21tZW50LnByZXZpb3VzTWVzc2FnZTtcbiAgICBjb21tZW50LmVkaXQgPSBmYWxzZTtcbiAgfVxuXG4gIHRvZ2dsZU1vcmUoKSB7XG4gICAgaWYgKCF0aGlzLm1vcmUpIHtcbiAgICAgIHRoaXMuY29tbWVudHNTZXJ2aWNlLmdldCh0aGlzLm9iamVjdElkISwgdGhpcy50eXBlKS5zdWJzY3JpYmUoKGNvbW1lbnRzKSA9PiB7XG4gICAgICAgIHRoaXMuYWRkaXRpb25uYWxDb21tZW50cyA9IGNvbW1lbnRzXG4gICAgICAgICAgLmZpbHRlcigoY29tbWVudCkgPT4gY29tbWVudC5pZCAhPT0gdGhpcy5fbGFzdENvbW1lbnQ/LmlkKVxuICAgICAgICAgIC5tYXAoXG4gICAgICAgICAgICAoY29tbWVudDogSHlwQ29tbWVudCkgPT5cbiAgICAgICAgICAgICAgKHtcbiAgICAgICAgICAgICAgICAuLi5jb21tZW50LFxuICAgICAgICAgICAgICAgIGRheTogbmV3IERhdGUoY29tbWVudC5sYXN0TW9kaWZpY2F0aW9uRGF0ZSkudG9Mb2NhbGVEYXRlU3RyaW5nKCksXG4gICAgICAgICAgICAgICAgaG91cjogbmV3IERhdGUoY29tbWVudC5sYXN0TW9kaWZpY2F0aW9uRGF0ZSlcbiAgICAgICAgICAgICAgICAgIC50b0xvY2FsZVRpbWVTdHJpbmcoKVxuICAgICAgICAgICAgICAgICAgLnN1YnN0cmluZygwLCBuZXcgRGF0ZShjb21tZW50Lmxhc3RNb2RpZmljYXRpb25EYXRlKS50b0xvY2FsZVRpbWVTdHJpbmcoKS5sYXN0SW5kZXhPZignOicpKSxcbiAgICAgICAgICAgICAgICBlZGl0OiBmYWxzZSxcbiAgICAgICAgICAgICAgICBwcmV2aW91c01lc3NhZ2U6IGNvbW1lbnQubWVzc2FnZVxuICAgICAgICAgICAgICB9KSBhcyBIeXBBdWdtZW50ZWRDb21tZW50XG4gICAgICAgICAgKTtcbiAgICAgICAgdGhpcy5tb3JlID0gIXRoaXMubW9yZTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm1vcmUgPSAhdGhpcy5tb3JlO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZSgpIHtcbiAgICB0aGlzLm9wZW5lZCA9ICF0aGlzLm9wZW5lZDtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm8taHZ5LWNvbW1lbnRzXCI+XG4gIEBpZiAoZGlzcGxheUVtcHR5IHx8IGNvbW1lbnRDb3VudCA+IDAgfHwgb3BlbmVkKSB7XG4gICAgPGRpdiBjbGFzcz1cIm8taHZ5LWNvbW1lbnRzX19oZWFkZXJcIj5cbiAgICAgIEBpZiAodHlwZSA9PT0gJ2FjdGlvbnMnKSB7XG4gICAgICAgIDxwcnktaWNvblxuICAgICAgICAgIGljb25Tdmc9XCJhcnJvd19kb3duX3JvdW5kZWRcIlxuICAgICAgICAgIFtjbGFzcy4tcm90YXRlZF09XCJvcGVuZWRcIlxuICAgICAgICAgIGNsYXNzPVwiLWhhbmRcIlxuICAgICAgICAgIChjbGljayk9XCJ0b2dnbGUoKVwiXG4gICAgICAgICAgW3dpZHRoXT1cIjEwXCJcbiAgICAgICAgICBbaGVpZ2h0XT1cIjEwXCJcbiAgICAgICAgPjwvcHJ5LWljb24+XG4gICAgICB9XG4gICAgICA8aDM+XG4gICAgICAgIHt7XG4gICAgICAgICAgKHR5cGUgPT09ICdldmVudHMnID8gJ0BodnkuZXZlbnQubG9nLmV2ZW50LmNvbW1lbnRzLm5hbWUnIDogJ0BodnkuZXZlbnQubG9nLmV2ZW50LmNvbW1lbnRzLmFjdGlvbnMnKVxuICAgICAgICAgICAgfCBpMThuOiB7IG5iOiBjb21tZW50Q291bnQgfVxuICAgICAgICB9fVxuICAgICAgPC9oMz5cbiAgICA8L2Rpdj5cblxuICAgIEBpZiAoIXJlYWRvbmx5ICYmIChkaXNwbGF5RW1wdHkgfHwgb3BlbmVkKSkge1xuICAgICAgPHRleHRhcmVhXG4gICAgICAgIGNsYXNzPVwiYS1mb3JtLWZpZWxkXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIignQGh2eS5ldmVudC5sb2cuZXZlbnQuY29tbWVudHMucGxhY2Vob2xkZXInIHwgaTE4bikgKyAnLi4uJ1wiXG4gICAgICAgIFsobmdNb2RlbCldPVwibmV3Q29tbWVudFwiXG4gICAgICAgIG1heGxlbmd0aD1cIjI1NVwiXG4gICAgICA+PC90ZXh0YXJlYT5cbiAgICAgIDxkaXYgY2xhc3M9XCJvLWh2eS1jb21tZW50c19fYnV0dG9uXCI+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJhLWJ0biBhLWJ0bi0tcHJpbWFyeVwiIFtkaXNhYmxlZF09XCJuZXdDb21tZW50Lmxlbmd0aCA9PT0gMCB8fCBjbGVhbk5ld0NvbW1lbnQobmV3Q29tbWVudCkgPT09IDBcIiAoY2xpY2spPVwiYWRkQ29tbWVudCgpXCI+XG4gICAgICAgICAge3sgJ0BodnkuYWN0aW9uLmNvbW1lbnQnIHwgaTE4biB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIH1cblxuICAgIEBpZiAoZGlzcGxheUVtcHR5IHx8IG9wZW5lZCkge1xuICAgICAgQGZvciAoY29tbWVudCBvZiBjb21tZW50czsgdHJhY2sgY29tbWVudC5pZCkge1xuICAgICAgICBAaWYgKCRmaXJzdCB8fCBtb3JlKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm8taHZ5LWNvbW1lbnRzX19wcmV2aW91c1wiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJvLWh2eS1jb21tZW50c19fcHJldmlvdXNfX3RpdGxlXCI+e3tcbiAgICAgICAgICAgICAgKCRmaXJzdCAmJiBjb21tZW50Q291bnQgPiAxID8gJ0BodnkuZXZlbnQuY29tbWVudC5sYXN0RGV0YWlsJyA6ICdAaHZ5LmV2ZW50LmNvbW1lbnQuZGV0YWlsJylcbiAgICAgICAgICAgICAgICB8IGkxOG5cbiAgICAgICAgICAgICAgICAgIDoge1xuICAgICAgICAgICAgICAgICAgICAgIGRheTogY29tbWVudC5kYXksXG4gICAgICAgICAgICAgICAgICAgICAgaG91cjogY29tbWVudC5ob3VyLFxuICAgICAgICAgICAgICAgICAgICAgIGNyZWF0b3I6IGNvbW1lbnQuY3JlYXRvck5hbWUgPz8gJy0nXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm8taHZ5LWNvbW1lbnRzX19wcmV2aW91c19fbWVzc2FnZVwiPlxuICAgICAgICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICAgICAgICBjbGFzcz1cImEtZm9ybS1maWVsZFwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLm15LWNvbW1lbnQtbWVzc2FnZV09XCJjb21tZW50LmNyZWF0b3IgPT09IG1lICYmICFyZWFkb25seVwiXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJjb21tZW50Lm1lc3NhZ2VcIlxuICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCIhY29tbWVudC5lZGl0XCJcbiAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiKCdAaHZ5LmV2ZW50LmxvZy5ldmVudC5jb21tZW50cy5wbGFjZWhvbGRlcicgfCBpMThuKSArICcuLi4nXCJcbiAgICAgICAgICAgICAgICBtYXhsZW5ndGg9XCIyNTVcIlxuICAgICAgICAgICAgICAgICNtZXNzYWdlXG4gICAgICAgICAgICAgID48L3RleHRhcmVhPlxuICAgICAgICAgICAgICBAaWYgKCFyZWFkb25seSAmJiAoIW1lIHx8IGNvbW1lbnQuY3JlYXRvciA9PT0gbWUpKSB7XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiZWRpdENvbW1lbnQoY29tbWVudClcIiBbZGlzYWJsZWRdPVwiY29tbWVudC5lZGl0XCI+XG4gICAgICAgICAgICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cImVkaXRcIiBbaGVpZ2h0XT1cIjE4XCIgW3dpZHRoXT1cIjE4XCI+PC9wcnktaWNvbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBAaWYgKGNvbW1lbnQuZWRpdCkge1xuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiby1odnktY29tbWVudHNfX3ByZXZpb3VzX19hY3Rpb25zXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tcHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiY29tbWVudC5tZXNzYWdlLmxlbmd0aCA9PT0gMCB8fCBjbGVhbk5ld0NvbW1lbnQoY29tbWVudC5tZXNzYWdlKSA9PT0gMFwiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2F2ZUNvbW1lbnQoY29tbWVudClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHt7ICdAaHZ5LmFjdGlvbi51cGRhdGUnIHwgaTE4biB9fVxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJhLWJ0biBhLWJ0bi0tc2Vjb25kYXJ5XCIgKGNsaWNrKT1cImNhbmNlbChjb21tZW50KVwiPlxuICAgICAgICAgICAgICAgICAge3sgJ0BodnkuYWN0aW9uLmNhbmNlbCcgfCBpMThuIH19XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAaWYgKGNvbW1lbnRDb3VudCA+IDEpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cIm8taHZ5LWNvbW1lbnRzX19tb3JlXCI+XG4gICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwidG9nZ2xlTW9yZSgpXCI+XG4gICAgICAgICAgICB7eyAobW9yZSA/ICdAaHZ5LmV2ZW50LmNvbW1lbnQubGVzcycgOiAnQGh2eS5ldmVudC5jb21tZW50Lm1vcmUnKSB8IGkxOG4gfX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgfVxuICB9XG48L2Rpdj5cbiJdfQ==