@sumaris-net/ngx-components 18.23.13 → 18.23.15

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.
@@ -11,14 +11,14 @@ export class EntityMetadataComponent {
11
11
  value;
12
12
  showRecorder = true;
13
13
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EntityMetadataComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
14
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: EntityMetadataComponent, selector: "app-entity-metadata", inputs: { value: "value", showRecorder: "showRecorder" }, ngImport: i0, template: "@if (value?.id) {\n <ion-card @fadeInAnimation>\n <!-- recorder -->\n @if (showRecorder && (value.recorderDepartment || value.recorderPerson)) {\n <ion-item color=\"transparent\">\n <!-- recorder avatar -->\n <ion-avatar slot=\"start\" *ngIf=\"value.recorderPerson; let recorderPerson\">\n <ion-img *ngIf=\"recorderPerson.avatar; let avatarUrl; else: generateAvatar\" [src]=\"avatarUrl\" />\n <ng-template #generateAvatar>\n <svg *ngIf=\"recorderPerson.id; let personId\" width=\"38\" height=\"38\" [data-jdenticon-value]=\"personId\"></svg>\n </ng-template>\n </ion-avatar>\n\n <!-- recorder name -->\n <ion-label>\n <ion-card-subtitle translate>COMMON.RECORDER</ion-card-subtitle>\n <ion-card-title class=\"ion-text-nowrap\">\n {{ value.recorderPerson?.firstName }} {{ value.recorderPerson?.lastName }}\n </ion-card-title>\n <ion-card-subtitle>{{ value.recorderDepartment?.label }}</ion-card-subtitle>\n </ion-label>\n\n <ng-content select=\"[recorderSuffix]\"></ng-content>\n </ion-item>\n }\n\n <ng-content select=\"[afterRecorder]\"></ng-content>\n\n <ion-card-content>\n <ion-label class=\"ion-text-wrap status\">\n <!-- creation date -->\n <ion-text *ngIf=\"value.creationDate\">\n <ion-icon name=\"calendar\"></ion-icon>\n &nbsp;\n <span translate>COMMON.CREATED_ON</span>\n <span>\n &nbsp;\n <b>{{ value.creationDate | dateFormat: { time: true } }}</b>\n </span>\n </ion-text>\n\n <!-- update date -->\n <ion-text *ngIf=\"value.updateDate && value.updateDate != value.creationDate\">\n <br *ngIf=\"value.creationDate\" />\n <ion-label>\n <ion-icon name=\"time-outline\"></ion-icon>\n &nbsp;\n <span translate>COMMON.UPDATED_ON</span>\n <span>&nbsp;{{ value.updateDate | dateFormat: { time: true, seconds: true } }}</span>\n </ion-label>\n </ion-text>\n </ion-label>\n\n <ng-content></ng-content>\n </ion-card-content>\n </ion-card>\n}\n", styles: ["ion-card{background-color:var(--ion-color-light-tint)}ion-card ion-item ion-avatar{height:40px;width:40px}ion-card ion-item ion-avatar img,ion-card ion-item ion-avatar svg{border:solid 1px rgba(0,0,0,.2)}ion-card ion-item ion-avatar img{background-color:var(--ion-color-secondary)!important}ion-card ion-item ion-avatar svg{border-radius:20px;height:38px;width:38px}ion-card ion-item ion-card-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}ion-card ion-card-content{background-color:var(--ion-color-light-tint)}ion-card ion-card-content ion-label.status,ion-card ion-card-content * ion-label.status{font-size:12px!important;color:var(--ion-color-step-850)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IonAvatar, selector: "ion-avatar" }, { kind: "component", type: i2.IonCard, selector: "ion-card", inputs: ["button", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i2.IonCardContent, selector: "ion-card-content", inputs: ["mode"] }, { kind: "component", type: i2.IonCardSubtitle, selector: "ion-card-subtitle", inputs: ["color", "mode"] }, { kind: "component", type: i2.IonCardTitle, selector: "ion-card-title", inputs: ["color", "mode"] }, { kind: "component", type: i2.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i2.IonImg, selector: "ion-img", inputs: ["alt", "src"] }, { kind: "component", type: i2.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { kind: "component", type: i2.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i2.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "directive", type: i3.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "directive", type: i4.SvgJdenticonDirective, selector: "svg[data-jdenticon-hash],svg[data-jdenticon-value]", inputs: ["data-jdenticon-hash", "data-jdenticon-value", "width", "height"] }, { kind: "pipe", type: i5.DateFormatPipe, name: "dateFormat" }], animations: [fadeInAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush });
14
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: EntityMetadataComponent, selector: "app-entity-metadata", inputs: { value: "value", showRecorder: "showRecorder" }, ngImport: i0, template: "@if (value?.id) {\n <ion-card @fadeInAnimation>\n <!-- recorder -->\n @if (showRecorder && (value.recorderDepartment || value.recorderPerson)) {\n <ion-item color=\"transparent\">\n <!-- recorder avatar -->\n <ion-avatar slot=\"start\" *ngIf=\"value.recorderPerson; let recorderPerson\">\n <ion-img *ngIf=\"recorderPerson.avatar; let avatarUrl; else: generateAvatar\" [src]=\"avatarUrl\" />\n <ng-template #generateAvatar>\n <svg *ngIf=\"recorderPerson.id; let personId\" width=\"38\" height=\"38\" [data-jdenticon-value]=\"personId\"></svg>\n </ng-template>\n </ion-avatar>\n\n <!-- recorder name -->\n <ion-label>\n <ion-card-subtitle translate>COMMON.RECORDER</ion-card-subtitle>\n <ion-card-title class=\"ion-text-nowrap\">\n {{ value.recorderPerson?.firstName }} {{ value.recorderPerson?.lastName }}\n </ion-card-title>\n <ion-card-subtitle>{{ value.recorderDepartment?.label }}</ion-card-subtitle>\n </ion-label>\n\n <ng-content select=\"[recorderSuffix]\"></ng-content>\n </ion-item>\n }\n\n <ng-content select=\"[afterRecorder]\"></ng-content>\n\n <ion-card-content>\n <ion-label class=\"ion-text-wrap status\">\n <!-- creation date -->\n <ion-text *ngIf=\"value.creationDate\">\n <ion-icon name=\"calendar\"></ion-icon>\n &nbsp;\n <span translate>COMMON.CREATED_ON</span>\n <span>\n &nbsp;\n <b>{{ value.creationDate | dateFormat: { time: true } }}</b>\n </span>\n </ion-text>\n\n <!-- update date -->\n <ion-text *ngIf=\"value.updateDate && value.updateDate != value.creationDate\">\n <br *ngIf=\"value.creationDate\" />\n <ion-label>\n <ion-icon name=\"time-outline\"></ion-icon>\n &nbsp;\n <span translate>COMMON.UPDATED_ON</span>\n <span>&nbsp;{{ value.updateDate | dateFormat: { time: true, seconds: true } }}</span>\n </ion-label>\n </ion-text>\n </ion-label>\n\n <ng-content></ng-content>\n </ion-card-content>\n </ion-card>\n}\n", styles: ["ion-card{background-color:var(--ion-color-light-tint)}ion-card ion-item ion-avatar{height:40px;width:40px;background-color:var(--ion-color-secondary)}ion-card ion-item ion-avatar ion-img img,ion-card ion-item ion-avatar img{border:solid 1px rgba(var(--ion-color-secondary-rgb),.5)}ion-card ion-item ion-avatar svg{border:solid 1px rgba(var(--ion-color-secondary-rgb),.5);border-radius:20px;height:38px;width:38px}ion-card ion-item ion-card-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}ion-card ion-card-content{background-color:var(--ion-color-light-tint)}ion-card ion-card-content ion-label.status,ion-card ion-card-content * ion-label.status{font-size:12px!important;color:var(--ion-color-step-850)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IonAvatar, selector: "ion-avatar" }, { kind: "component", type: i2.IonCard, selector: "ion-card", inputs: ["button", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i2.IonCardContent, selector: "ion-card-content", inputs: ["mode"] }, { kind: "component", type: i2.IonCardSubtitle, selector: "ion-card-subtitle", inputs: ["color", "mode"] }, { kind: "component", type: i2.IonCardTitle, selector: "ion-card-title", inputs: ["color", "mode"] }, { kind: "component", type: i2.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i2.IonImg, selector: "ion-img", inputs: ["alt", "src"] }, { kind: "component", type: i2.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { kind: "component", type: i2.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i2.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "directive", type: i3.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "directive", type: i4.SvgJdenticonDirective, selector: "svg[data-jdenticon-hash],svg[data-jdenticon-value]", inputs: ["data-jdenticon-hash", "data-jdenticon-value", "width", "height"] }, { kind: "pipe", type: i5.DateFormatPipe, name: "dateFormat" }], animations: [fadeInAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush });
15
15
  }
16
16
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EntityMetadataComponent, decorators: [{
17
17
  type: Component,
18
- args: [{ selector: 'app-entity-metadata', animations: [fadeInAnimation], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (value?.id) {\n <ion-card @fadeInAnimation>\n <!-- recorder -->\n @if (showRecorder && (value.recorderDepartment || value.recorderPerson)) {\n <ion-item color=\"transparent\">\n <!-- recorder avatar -->\n <ion-avatar slot=\"start\" *ngIf=\"value.recorderPerson; let recorderPerson\">\n <ion-img *ngIf=\"recorderPerson.avatar; let avatarUrl; else: generateAvatar\" [src]=\"avatarUrl\" />\n <ng-template #generateAvatar>\n <svg *ngIf=\"recorderPerson.id; let personId\" width=\"38\" height=\"38\" [data-jdenticon-value]=\"personId\"></svg>\n </ng-template>\n </ion-avatar>\n\n <!-- recorder name -->\n <ion-label>\n <ion-card-subtitle translate>COMMON.RECORDER</ion-card-subtitle>\n <ion-card-title class=\"ion-text-nowrap\">\n {{ value.recorderPerson?.firstName }} {{ value.recorderPerson?.lastName }}\n </ion-card-title>\n <ion-card-subtitle>{{ value.recorderDepartment?.label }}</ion-card-subtitle>\n </ion-label>\n\n <ng-content select=\"[recorderSuffix]\"></ng-content>\n </ion-item>\n }\n\n <ng-content select=\"[afterRecorder]\"></ng-content>\n\n <ion-card-content>\n <ion-label class=\"ion-text-wrap status\">\n <!-- creation date -->\n <ion-text *ngIf=\"value.creationDate\">\n <ion-icon name=\"calendar\"></ion-icon>\n &nbsp;\n <span translate>COMMON.CREATED_ON</span>\n <span>\n &nbsp;\n <b>{{ value.creationDate | dateFormat: { time: true } }}</b>\n </span>\n </ion-text>\n\n <!-- update date -->\n <ion-text *ngIf=\"value.updateDate && value.updateDate != value.creationDate\">\n <br *ngIf=\"value.creationDate\" />\n <ion-label>\n <ion-icon name=\"time-outline\"></ion-icon>\n &nbsp;\n <span translate>COMMON.UPDATED_ON</span>\n <span>&nbsp;{{ value.updateDate | dateFormat: { time: true, seconds: true } }}</span>\n </ion-label>\n </ion-text>\n </ion-label>\n\n <ng-content></ng-content>\n </ion-card-content>\n </ion-card>\n}\n", styles: ["ion-card{background-color:var(--ion-color-light-tint)}ion-card ion-item ion-avatar{height:40px;width:40px}ion-card ion-item ion-avatar img,ion-card ion-item ion-avatar svg{border:solid 1px rgba(0,0,0,.2)}ion-card ion-item ion-avatar img{background-color:var(--ion-color-secondary)!important}ion-card ion-item ion-avatar svg{border-radius:20px;height:38px;width:38px}ion-card ion-item ion-card-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}ion-card ion-card-content{background-color:var(--ion-color-light-tint)}ion-card ion-card-content ion-label.status,ion-card ion-card-content * ion-label.status{font-size:12px!important;color:var(--ion-color-step-850)}\n"] }]
18
+ args: [{ selector: 'app-entity-metadata', animations: [fadeInAnimation], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (value?.id) {\n <ion-card @fadeInAnimation>\n <!-- recorder -->\n @if (showRecorder && (value.recorderDepartment || value.recorderPerson)) {\n <ion-item color=\"transparent\">\n <!-- recorder avatar -->\n <ion-avatar slot=\"start\" *ngIf=\"value.recorderPerson; let recorderPerson\">\n <ion-img *ngIf=\"recorderPerson.avatar; let avatarUrl; else: generateAvatar\" [src]=\"avatarUrl\" />\n <ng-template #generateAvatar>\n <svg *ngIf=\"recorderPerson.id; let personId\" width=\"38\" height=\"38\" [data-jdenticon-value]=\"personId\"></svg>\n </ng-template>\n </ion-avatar>\n\n <!-- recorder name -->\n <ion-label>\n <ion-card-subtitle translate>COMMON.RECORDER</ion-card-subtitle>\n <ion-card-title class=\"ion-text-nowrap\">\n {{ value.recorderPerson?.firstName }} {{ value.recorderPerson?.lastName }}\n </ion-card-title>\n <ion-card-subtitle>{{ value.recorderDepartment?.label }}</ion-card-subtitle>\n </ion-label>\n\n <ng-content select=\"[recorderSuffix]\"></ng-content>\n </ion-item>\n }\n\n <ng-content select=\"[afterRecorder]\"></ng-content>\n\n <ion-card-content>\n <ion-label class=\"ion-text-wrap status\">\n <!-- creation date -->\n <ion-text *ngIf=\"value.creationDate\">\n <ion-icon name=\"calendar\"></ion-icon>\n &nbsp;\n <span translate>COMMON.CREATED_ON</span>\n <span>\n &nbsp;\n <b>{{ value.creationDate | dateFormat: { time: true } }}</b>\n </span>\n </ion-text>\n\n <!-- update date -->\n <ion-text *ngIf=\"value.updateDate && value.updateDate != value.creationDate\">\n <br *ngIf=\"value.creationDate\" />\n <ion-label>\n <ion-icon name=\"time-outline\"></ion-icon>\n &nbsp;\n <span translate>COMMON.UPDATED_ON</span>\n <span>&nbsp;{{ value.updateDate | dateFormat: { time: true, seconds: true } }}</span>\n </ion-label>\n </ion-text>\n </ion-label>\n\n <ng-content></ng-content>\n </ion-card-content>\n </ion-card>\n}\n", styles: ["ion-card{background-color:var(--ion-color-light-tint)}ion-card ion-item ion-avatar{height:40px;width:40px;background-color:var(--ion-color-secondary)}ion-card ion-item ion-avatar ion-img img,ion-card ion-item ion-avatar img{border:solid 1px rgba(var(--ion-color-secondary-rgb),.5)}ion-card ion-item ion-avatar svg{border:solid 1px rgba(var(--ion-color-secondary-rgb),.5);border-radius:20px;height:38px;width:38px}ion-card ion-item ion-card-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}ion-card ion-card-content{background-color:var(--ion-color-light-tint)}ion-card ion-card-content ion-label.status,ion-card ion-card-content * ion-label.status{font-size:12px!important;color:var(--ion-color-step-850)}\n"] }]
19
19
  }], propDecorators: { value: [{
20
20
  type: Input
21
21
  }], showRecorder: [{
22
22
  type: Input
23
23
  }] } });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LW1ldGFkYXRhLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9mb3JtL2VudGl0eS9lbnRpdHktbWV0YWRhdGEuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL2Zvcm0vZW50aXR5L2VudGl0eS1tZXRhZGF0YS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxRSwyQkFBMkI7QUFDM0IsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOzs7Ozs7O0FBVS9FLE1BQU0sT0FBTyx1QkFBdUI7SUFDekIsS0FBSyxDQUFpRztJQUV0RyxZQUFZLEdBQUcsSUFBSSxDQUFDO3dHQUhsQix1QkFBdUI7NEZBQXZCLHVCQUF1QixxSENicEMsOHBFQXlEQSxrOEVEL0NjLENBQUMsZUFBZSxDQUFDOzs0RkFHbEIsdUJBQXVCO2tCQVBuQyxTQUFTOytCQUNFLHFCQUFxQixjQUduQixDQUFDLGVBQWUsQ0FBQyxtQkFDWix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFbnRpdHkgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tb2RlbC9lbnRpdHkubW9kZWwnO1xuLy8gaW1wb3J0IGZhZGUgaW4gYW5pbWF0aW9uXG5pbXBvcnQgeyBmYWRlSW5BbmltYXRpb24gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvbWF0ZXJpYWwvbWF0ZXJpYWwuYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBNb21lbnQgfSBmcm9tICdtb21lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZW50aXR5LW1ldGFkYXRhJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2VudGl0eS1tZXRhZGF0YS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2VudGl0eS1tZXRhZGF0YS5jb21wb25lbnQuc2NzcyddLFxuICBhbmltYXRpb25zOiBbZmFkZUluQW5pbWF0aW9uXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEVudGl0eU1ldGFkYXRhQ29tcG9uZW50IHtcbiAgQElucHV0KCkgdmFsdWU6IEVudGl0eTxhbnk+ICYgeyBjcmVhdGlvbkRhdGU/OiBEYXRlIHwgTW9tZW50OyByZWNvcmRlckRlcGFydG1lbnQ/OiBhbnk7IHJlY29yZGVyUGVyc29uPzogYW55IH07XG5cbiAgQElucHV0KCkgc2hvd1JlY29yZGVyID0gdHJ1ZTtcbn1cbiIsIkBpZiAodmFsdWU/LmlkKSB7XG4gIDxpb24tY2FyZCBAZmFkZUluQW5pbWF0aW9uPlxuICAgIDwhLS0gcmVjb3JkZXIgLS0+XG4gICAgQGlmIChzaG93UmVjb3JkZXIgJiYgKHZhbHVlLnJlY29yZGVyRGVwYXJ0bWVudCB8fCB2YWx1ZS5yZWNvcmRlclBlcnNvbikpIHtcbiAgICAgIDxpb24taXRlbSBjb2xvcj1cInRyYW5zcGFyZW50XCI+XG4gICAgICAgIDwhLS0gcmVjb3JkZXIgYXZhdGFyIC0tPlxuICAgICAgICA8aW9uLWF2YXRhciBzbG90PVwic3RhcnRcIiAqbmdJZj1cInZhbHVlLnJlY29yZGVyUGVyc29uOyBsZXQgcmVjb3JkZXJQZXJzb25cIj5cbiAgICAgICAgICA8aW9uLWltZyAqbmdJZj1cInJlY29yZGVyUGVyc29uLmF2YXRhcjsgbGV0IGF2YXRhclVybDsgZWxzZTogZ2VuZXJhdGVBdmF0YXJcIiBbc3JjXT1cImF2YXRhclVybFwiIC8+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNnZW5lcmF0ZUF2YXRhcj5cbiAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJyZWNvcmRlclBlcnNvbi5pZDsgbGV0IHBlcnNvbklkXCIgd2lkdGg9XCIzOFwiIGhlaWdodD1cIjM4XCIgW2RhdGEtamRlbnRpY29uLXZhbHVlXT1cInBlcnNvbklkXCI+PC9zdmc+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9pb24tYXZhdGFyPlxuXG4gICAgICAgIDwhLS0gcmVjb3JkZXIgbmFtZSAtLT5cbiAgICAgICAgPGlvbi1sYWJlbD5cbiAgICAgICAgICA8aW9uLWNhcmQtc3VidGl0bGUgdHJhbnNsYXRlPkNPTU1PTi5SRUNPUkRFUjwvaW9uLWNhcmQtc3VidGl0bGU+XG4gICAgICAgICAgPGlvbi1jYXJkLXRpdGxlIGNsYXNzPVwiaW9uLXRleHQtbm93cmFwXCI+XG4gICAgICAgICAgICB7eyB2YWx1ZS5yZWNvcmRlclBlcnNvbj8uZmlyc3ROYW1lIH19IHt7IHZhbHVlLnJlY29yZGVyUGVyc29uPy5sYXN0TmFtZSB9fVxuICAgICAgICAgIDwvaW9uLWNhcmQtdGl0bGU+XG4gICAgICAgICAgPGlvbi1jYXJkLXN1YnRpdGxlPnt7IHZhbHVlLnJlY29yZGVyRGVwYXJ0bWVudD8ubGFiZWwgfX08L2lvbi1jYXJkLXN1YnRpdGxlPlxuICAgICAgICA8L2lvbi1sYWJlbD5cblxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbcmVjb3JkZXJTdWZmaXhdXCI+PC9uZy1jb250ZW50PlxuICAgICAgPC9pb24taXRlbT5cbiAgICB9XG5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbYWZ0ZXJSZWNvcmRlcl1cIj48L25nLWNvbnRlbnQ+XG5cbiAgICA8aW9uLWNhcmQtY29udGVudD5cbiAgICAgIDxpb24tbGFiZWwgY2xhc3M9XCJpb24tdGV4dC13cmFwIHN0YXR1c1wiPlxuICAgICAgICA8IS0tIGNyZWF0aW9uIGRhdGUgLS0+XG4gICAgICAgIDxpb24tdGV4dCAqbmdJZj1cInZhbHVlLmNyZWF0aW9uRGF0ZVwiPlxuICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiY2FsZW5kYXJcIj48L2lvbi1pY29uPlxuICAgICAgICAgICZuYnNwO1xuICAgICAgICAgIDxzcGFuIHRyYW5zbGF0ZT5DT01NT04uQ1JFQVRFRF9PTjwvc3Bhbj5cbiAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICZuYnNwO1xuICAgICAgICAgICAgPGI+e3sgdmFsdWUuY3JlYXRpb25EYXRlIHwgZGF0ZUZvcm1hdDogeyB0aW1lOiB0cnVlIH0gfX08L2I+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2lvbi10ZXh0PlxuXG4gICAgICAgIDwhLS0gdXBkYXRlIGRhdGUgLS0+XG4gICAgICAgIDxpb24tdGV4dCAqbmdJZj1cInZhbHVlLnVwZGF0ZURhdGUgJiYgdmFsdWUudXBkYXRlRGF0ZSAhPSB2YWx1ZS5jcmVhdGlvbkRhdGVcIj5cbiAgICAgICAgICA8YnIgKm5nSWY9XCJ2YWx1ZS5jcmVhdGlvbkRhdGVcIiAvPlxuICAgICAgICAgIDxpb24tbGFiZWw+XG4gICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cInRpbWUtb3V0bGluZVwiPjwvaW9uLWljb24+XG4gICAgICAgICAgICAmbmJzcDtcbiAgICAgICAgICAgIDxzcGFuIHRyYW5zbGF0ZT5DT01NT04uVVBEQVRFRF9PTjwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuPiZuYnNwO3t7IHZhbHVlLnVwZGF0ZURhdGUgfCBkYXRlRm9ybWF0OiB7IHRpbWU6IHRydWUsIHNlY29uZHM6IHRydWUgfSB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2lvbi1sYWJlbD5cbiAgICAgICAgPC9pb24tdGV4dD5cbiAgICAgIDwvaW9uLWxhYmVsPlxuXG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9pb24tY2FyZC1jb250ZW50PlxuICA8L2lvbi1jYXJkPlxufVxuIl19
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LW1ldGFkYXRhLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9mb3JtL2VudGl0eS9lbnRpdHktbWV0YWRhdGEuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL2Zvcm0vZW50aXR5L2VudGl0eS1tZXRhZGF0YS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxRSwyQkFBMkI7QUFDM0IsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOzs7Ozs7O0FBVS9FLE1BQU0sT0FBTyx1QkFBdUI7SUFDekIsS0FBSyxDQUFpRztJQUV0RyxZQUFZLEdBQUcsSUFBSSxDQUFDO3dHQUhsQix1QkFBdUI7NEZBQXZCLHVCQUF1QixxSENicEMsOHBFQXlEQSxpL0VEL0NjLENBQUMsZUFBZSxDQUFDOzs0RkFHbEIsdUJBQXVCO2tCQVBuQyxTQUFTOytCQUNFLHFCQUFxQixjQUduQixDQUFDLGVBQWUsQ0FBQyxtQkFDWix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFbnRpdHkgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tb2RlbC9lbnRpdHkubW9kZWwnO1xuLy8gaW1wb3J0IGZhZGUgaW4gYW5pbWF0aW9uXG5pbXBvcnQgeyBmYWRlSW5BbmltYXRpb24gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvbWF0ZXJpYWwvbWF0ZXJpYWwuYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBNb21lbnQgfSBmcm9tICdtb21lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZW50aXR5LW1ldGFkYXRhJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2VudGl0eS1tZXRhZGF0YS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2VudGl0eS1tZXRhZGF0YS5jb21wb25lbnQuc2NzcyddLFxuICBhbmltYXRpb25zOiBbZmFkZUluQW5pbWF0aW9uXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEVudGl0eU1ldGFkYXRhQ29tcG9uZW50IHtcbiAgQElucHV0KCkgdmFsdWU6IEVudGl0eTxhbnk+ICYgeyBjcmVhdGlvbkRhdGU/OiBEYXRlIHwgTW9tZW50OyByZWNvcmRlckRlcGFydG1lbnQ/OiBhbnk7IHJlY29yZGVyUGVyc29uPzogYW55IH07XG5cbiAgQElucHV0KCkgc2hvd1JlY29yZGVyID0gdHJ1ZTtcbn1cbiIsIkBpZiAodmFsdWU/LmlkKSB7XG4gIDxpb24tY2FyZCBAZmFkZUluQW5pbWF0aW9uPlxuICAgIDwhLS0gcmVjb3JkZXIgLS0+XG4gICAgQGlmIChzaG93UmVjb3JkZXIgJiYgKHZhbHVlLnJlY29yZGVyRGVwYXJ0bWVudCB8fCB2YWx1ZS5yZWNvcmRlclBlcnNvbikpIHtcbiAgICAgIDxpb24taXRlbSBjb2xvcj1cInRyYW5zcGFyZW50XCI+XG4gICAgICAgIDwhLS0gcmVjb3JkZXIgYXZhdGFyIC0tPlxuICAgICAgICA8aW9uLWF2YXRhciBzbG90PVwic3RhcnRcIiAqbmdJZj1cInZhbHVlLnJlY29yZGVyUGVyc29uOyBsZXQgcmVjb3JkZXJQZXJzb25cIj5cbiAgICAgICAgICA8aW9uLWltZyAqbmdJZj1cInJlY29yZGVyUGVyc29uLmF2YXRhcjsgbGV0IGF2YXRhclVybDsgZWxzZTogZ2VuZXJhdGVBdmF0YXJcIiBbc3JjXT1cImF2YXRhclVybFwiIC8+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNnZW5lcmF0ZUF2YXRhcj5cbiAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJyZWNvcmRlclBlcnNvbi5pZDsgbGV0IHBlcnNvbklkXCIgd2lkdGg9XCIzOFwiIGhlaWdodD1cIjM4XCIgW2RhdGEtamRlbnRpY29uLXZhbHVlXT1cInBlcnNvbklkXCI+PC9zdmc+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9pb24tYXZhdGFyPlxuXG4gICAgICAgIDwhLS0gcmVjb3JkZXIgbmFtZSAtLT5cbiAgICAgICAgPGlvbi1sYWJlbD5cbiAgICAgICAgICA8aW9uLWNhcmQtc3VidGl0bGUgdHJhbnNsYXRlPkNPTU1PTi5SRUNPUkRFUjwvaW9uLWNhcmQtc3VidGl0bGU+XG4gICAgICAgICAgPGlvbi1jYXJkLXRpdGxlIGNsYXNzPVwiaW9uLXRleHQtbm93cmFwXCI+XG4gICAgICAgICAgICB7eyB2YWx1ZS5yZWNvcmRlclBlcnNvbj8uZmlyc3ROYW1lIH19IHt7IHZhbHVlLnJlY29yZGVyUGVyc29uPy5sYXN0TmFtZSB9fVxuICAgICAgICAgIDwvaW9uLWNhcmQtdGl0bGU+XG4gICAgICAgICAgPGlvbi1jYXJkLXN1YnRpdGxlPnt7IHZhbHVlLnJlY29yZGVyRGVwYXJ0bWVudD8ubGFiZWwgfX08L2lvbi1jYXJkLXN1YnRpdGxlPlxuICAgICAgICA8L2lvbi1sYWJlbD5cblxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbcmVjb3JkZXJTdWZmaXhdXCI+PC9uZy1jb250ZW50PlxuICAgICAgPC9pb24taXRlbT5cbiAgICB9XG5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbYWZ0ZXJSZWNvcmRlcl1cIj48L25nLWNvbnRlbnQ+XG5cbiAgICA8aW9uLWNhcmQtY29udGVudD5cbiAgICAgIDxpb24tbGFiZWwgY2xhc3M9XCJpb24tdGV4dC13cmFwIHN0YXR1c1wiPlxuICAgICAgICA8IS0tIGNyZWF0aW9uIGRhdGUgLS0+XG4gICAgICAgIDxpb24tdGV4dCAqbmdJZj1cInZhbHVlLmNyZWF0aW9uRGF0ZVwiPlxuICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiY2FsZW5kYXJcIj48L2lvbi1pY29uPlxuICAgICAgICAgICZuYnNwO1xuICAgICAgICAgIDxzcGFuIHRyYW5zbGF0ZT5DT01NT04uQ1JFQVRFRF9PTjwvc3Bhbj5cbiAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICZuYnNwO1xuICAgICAgICAgICAgPGI+e3sgdmFsdWUuY3JlYXRpb25EYXRlIHwgZGF0ZUZvcm1hdDogeyB0aW1lOiB0cnVlIH0gfX08L2I+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2lvbi10ZXh0PlxuXG4gICAgICAgIDwhLS0gdXBkYXRlIGRhdGUgLS0+XG4gICAgICAgIDxpb24tdGV4dCAqbmdJZj1cInZhbHVlLnVwZGF0ZURhdGUgJiYgdmFsdWUudXBkYXRlRGF0ZSAhPSB2YWx1ZS5jcmVhdGlvbkRhdGVcIj5cbiAgICAgICAgICA8YnIgKm5nSWY9XCJ2YWx1ZS5jcmVhdGlvbkRhdGVcIiAvPlxuICAgICAgICAgIDxpb24tbGFiZWw+XG4gICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cInRpbWUtb3V0bGluZVwiPjwvaW9uLWljb24+XG4gICAgICAgICAgICAmbmJzcDtcbiAgICAgICAgICAgIDxzcGFuIHRyYW5zbGF0ZT5DT01NT04uVVBEQVRFRF9PTjwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuPiZuYnNwO3t7IHZhbHVlLnVwZGF0ZURhdGUgfCBkYXRlRm9ybWF0OiB7IHRpbWU6IHRydWUsIHNlY29uZHM6IHRydWUgfSB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2lvbi1sYWJlbD5cbiAgICAgICAgPC9pb24tdGV4dD5cbiAgICAgIDwvaW9uLWxhYmVsPlxuXG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9pb24tY2FyZC1jb250ZW50PlxuICA8L2lvbi1jYXJkPlxufVxuIl19