@net7/components 4.2.4 → 4.2.5

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 (55) hide show
  1. package/esm2022/lib/components/advanced-autocomplete/advanced-autocomplete.mjs +4 -4
  2. package/esm2022/lib/components/alert/alert.mjs +4 -4
  3. package/esm2022/lib/components/anchor-wrapper/anchor-wrapper.mjs +4 -4
  4. package/esm2022/lib/components/avatar/avatar.mjs +4 -4
  5. package/esm2022/lib/components/breadcrumbs/breadcrumbs.mjs +4 -4
  6. package/esm2022/lib/components/bubble-chart/bubble-chart.mjs +4 -4
  7. package/esm2022/lib/components/button/button.mjs +4 -4
  8. package/esm2022/lib/components/carousel/carousel.mjs +4 -4
  9. package/esm2022/lib/components/chart/chart.mjs +4 -4
  10. package/esm2022/lib/components/content-placeholder/content-placeholder.mjs +4 -4
  11. package/esm2022/lib/components/data-widget/data-widget.mjs +4 -4
  12. package/esm2022/lib/components/datepicker/datepicker.mjs +4 -4
  13. package/esm2022/lib/components/facet/facet.mjs +4 -4
  14. package/esm2022/lib/components/facet-header/facet-header.mjs +4 -4
  15. package/esm2022/lib/components/facet-year-range/facet-year-range.mjs +4 -4
  16. package/esm2022/lib/components/file-selector/file-selector.mjs +4 -4
  17. package/esm2022/lib/components/footer/footer.mjs +4 -4
  18. package/esm2022/lib/components/header/header.mjs +4 -4
  19. package/esm2022/lib/components/hero/hero.mjs +4 -4
  20. package/esm2022/lib/components/histogram-range/histogram-range.mjs +4 -4
  21. package/esm2022/lib/components/icon/icon.mjs +4 -4
  22. package/esm2022/lib/components/image-viewer/image-viewer.mjs +4 -4
  23. package/esm2022/lib/components/image-viewer-tools/image-viewer-tools.mjs +4 -4
  24. package/esm2022/lib/components/inner-title/inner-title.mjs +4 -4
  25. package/esm2022/lib/components/input-checkbox/input-checkbox.mjs +4 -4
  26. package/esm2022/lib/components/input-link/input-link.mjs +4 -4
  27. package/esm2022/lib/components/input-select/input-select.mjs +4 -4
  28. package/esm2022/lib/components/input-text/input-text.mjs +4 -4
  29. package/esm2022/lib/components/input-textarea/input-textarea.mjs +4 -4
  30. package/esm2022/lib/components/item-preview/item-preview.mjs +4 -4
  31. package/esm2022/lib/components/loader/loader.mjs +4 -4
  32. package/esm2022/lib/components/map/map.mjs +4 -4
  33. package/esm2022/lib/components/metadata-viewer/metadata-viewer.mjs +4 -4
  34. package/esm2022/lib/components/mirador/mirador.mjs +76 -13
  35. package/esm2022/lib/components/mirador/mirador.mock.mjs +7 -3
  36. package/esm2022/lib/components/nav/nav.mjs +4 -4
  37. package/esm2022/lib/components/pagination/pagination.mjs +4 -4
  38. package/esm2022/lib/components/progress-line/progress-line.mjs +4 -4
  39. package/esm2022/lib/components/sidebar-header/sidebar-header.mjs +4 -4
  40. package/esm2022/lib/components/signup/signup.mjs +4 -4
  41. package/esm2022/lib/components/simple-autocomplete/simple-autocomplete.mjs +4 -4
  42. package/esm2022/lib/components/table/table.mjs +4 -4
  43. package/esm2022/lib/components/tag/tag.mjs +4 -4
  44. package/esm2022/lib/components/text-viewer/text-viewer.mjs +4 -4
  45. package/esm2022/lib/components/timeline/timeline.mjs +4 -4
  46. package/esm2022/lib/components/toast/toast.mjs +4 -4
  47. package/esm2022/lib/components/tooltip-content/tooltip-content.mjs +4 -4
  48. package/esm2022/lib/components/tree/tree.mjs +4 -4
  49. package/esm2022/lib/components/wizard/wizard.mjs +4 -4
  50. package/esm2022/lib/dv-components-lib.module.mjs +5 -5
  51. package/fesm2022/net7-components.mjs +226 -158
  52. package/fesm2022/net7-components.mjs.map +1 -1
  53. package/lib/components/mirador/mirador.d.ts +15 -2
  54. package/package.json +1 -1
  55. package/src/lib/styles/components/_mirador.scss +1 -1
@@ -376,10 +376,10 @@ export class HistogramRangeComponent {
376
376
  return;
377
377
  this.emit('loaded', payload);
378
378
  }
379
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: HistogramRangeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
380
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: HistogramRangeComponent, selector: "n7-histogram-range", inputs: { data: "data", emit: "emit" }, ngImport: i0, template: "<div *ngIf=\"data\" class=\"n7-histogram-range\">\n <svg #histogramRange [id]=\"data.containerId\"></svg>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
379
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HistogramRangeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
380
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: HistogramRangeComponent, selector: "n7-histogram-range", inputs: { data: "data", emit: "emit" }, ngImport: i0, template: "<div *ngIf=\"data\" class=\"n7-histogram-range\">\n <svg #histogramRange [id]=\"data.containerId\"></svg>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
381
381
  }
382
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: HistogramRangeComponent, decorators: [{
382
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HistogramRangeComponent, decorators: [{
383
383
  type: Component,
384
384
  args: [{ selector: 'n7-histogram-range', template: "<div *ngIf=\"data\" class=\"n7-histogram-range\">\n <svg #histogramRange [id]=\"data.containerId\"></svg>\n</div>\n" }]
385
385
  }], propDecorators: { data: [{
@@ -387,4 +387,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
387
387
  }], emit: [{
388
388
  type: Input
389
389
  }] } });
390
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9ncmFtLXJhbmdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHYtY29tcG9uZW50cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2hpc3RvZ3JhbS1yYW5nZS9oaXN0b2dyYW0tcmFuZ2UudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdi1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvaGlzdG9ncmFtLXJhbmdlL2hpc3RvZ3JhbS1yYW5nZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHlDQUF5QztBQUN6Qyw2QkFBNkI7QUFDN0IscUJBQXFCO0FBQ3JCLDZCQUE2QjtBQUU3QixPQUFPLEVBQXVCLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQTJGdEUsTUFBTSxPQUFPLHVCQUF1QjtJQUpwQztRQVdVLFlBQU8sR0FBWSxFQUFFLENBQUM7UUFLdEIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQW9DeEIsU0FBSSxHQUFHLEdBQUcsRUFBRTtZQUNWLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUM7WUFDcEIsTUFBTSxFQUNKLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxFQUNOLEtBQUssRUFDTCxPQUFPLEVBQ1AsV0FBVyxFQUNYLElBQUksRUFDSixVQUFVLEdBQ1gsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBRWQsa0JBQWtCO1lBQ2xCLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM5QyxJQUFJLENBQUMsU0FBUyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQzlDLE1BQU0sS0FBSyxDQUFD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LENBQUM7YUFDM0MsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDM0IsWUFBWSxDQUFDLElBQUksQ0FBQzthQUNsQixZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7T0FHRztJQUNILGNBQWMsQ0FBQyxLQUFLO1FBQ2xCLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMvQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDeEIsS0FBSyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQ3hCLE9BQU8sS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBcUJELG1EQUFtRDtJQUNuRCxVQUFVLENBQUMsT0FBTztRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQy9CLENBQUM7OEdBeGFVLHVCQUF1QjtrR0FBdkIsdUJBQXVCLGtHQ2hHcEMsc0hBR0E7OzJGRDZGYSx1QkFBdUI7a0JBSm5DLFNBQVM7K0JBQ0Usb0JBQW9COzhCQUlyQixJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tdXNlLWJlZm9yZS1kZWZpbmUgKi9cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBISVNUT0dSQU0tUkFOR0UudHNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmltcG9ydCB7IEFmdGVyQ29udGVudENoZWNrZWQsIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbi8qKlxuICogSW50ZXJmYWNlIGZvciBIaXN0b2dyYW1SYW5nZUNvbXBvbmVudCdzIFwiZGF0YVwiXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSGlzdG9ncmFtUmFuZ2VEYXRhIHtcbiAgLyoqXG4gICAqIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgaGlzdG9ncmFtLXJhbmdlIHN2Z1xuICAgKi9cbiAgY29udGFpbmVySWQ6IHN0cmluZztcbiAgLyoqXG4gICAqIHRvdGFsIHdpZHRoIGZvciB0aGUgc3ZnIGVsZW1lbnRcbiAgICovXG4gIHdpZHRoOiBudW1iZXI7XG4gIC8qKlxuICAgKiB0b3RhbCBoZWlnaHQgZm9yIHRoZSBzdmcgZWxlbWVudFxuICAgKi9cbiAgaGVpZ2h0OiBudW1iZXI7XG4gIC8qKlxuICAgKiBJbnRlcm5hbCBtYXJnaW5zIG9mIHRoZSBzdmdcbiAgICovXG4gIG1hcmdpbjoge1xuICAgIGxlZnQ6IG51bWJlcjtcbiAgICByaWdodDogbnVtYmVyO1xuICAgIHRvcDogbnVtYmVyO1xuICAgIGJvdHRvbTogbnVtYmVyO1xuICB9O1xuICAvKipcbiAgICogVGhlbWUgb2YgdGhlIGhpc3RvZ3JhbVxuICAgKi9cbiAgY29sb3Vyczoge1xuICAgIHRvcDogc3RyaW5nO1xuICAgIGJvdHRvbTogc3RyaW5nO1xuICAgIGFjY2VudDogc3RyaW5nO1xuICB9O1xuICAvKipcbiAgICogRGF0YSBmb3IgdGhlIGhpc3RvZ3JhbSBiYXJzXG4gICAqL1xuICBpdGVtczoge1xuICAgIC8qKiBkZWZhdWx0IGxhYmVsIG9mIHRoZSBpdGVtICovXG4gICAgbGFiZWw6IHN0cmluZztcbiAgICAvKiogeS1heGlzIHZhbHVlIG9mIHRoZSBiYXIgKGhlaWdodCkgKi9cbiAgICB2YWx1ZTogbnVtYmVyO1xuICAgIC8qKiBwYXlsb2FkIHRoYXQgdGhlIGl0ZW0gc2hvdWxkIGVtaXQgd2hlbiBzZWxlY3RlZCAqL1xuICAgIHBheWxvYWQ6IGFueTtcbiAgICAvKipcbiAgICAgKiAndXBwZXInIHZhbHVlcyBvZiB0aGUgcmFuZ2UuXG4gICAgICogb25seSB1c2VkIHdoZW4gZWFjaCBiYXIgcmVwcmVzZW50cyBhIHJhbmdlLlxuICAgICAqL1xuICAgIHJhbmdlPzoge1xuICAgICAgLyoqIGxhYmVsIGxvYWRlZCB3aGVuIHNlbGVjdGVkIGJ5IHRoZSByaWdodC1tb3N0IHBvaW50ZXIgKi9cbiAgICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgICAvKiogcGF5bG9hZCBlbWl0dGVkIHdoZW4gc2VsZWN0ZWQgYnkgdGhlIHJpZ2h0LW1vc3QgcG9pbnRlciAqL1xuICAgICAgcGF5bG9hZDogYW55O1xuICAgIH07XG4gIH1bXTtcbiAgLyoqXG4gICAqIEF4aXMgc2V0dGluZ3NcbiAgICovXG4gIGF4aXM/OiB7XG4gICAgLyoqIFkgQXhpcyBzZXR0aW5ncyAqL1xuICAgIHlBeGlzPzoge1xuICAgICAgLyoqIFR1cm4gb24gYW5kIG9mZiB0aGUgYXhpcyAqL1xuICAgICAgc2hvdz86IGJvb2xlYW47XG4gICAgICAvKiogTWFudWFsbHkgc2V0IHRoZSBheGlzIHZhbHVlcyB0byBzaG93ICovXG4gICAgICB2YWx1ZXM/OiBudW1iZXJbXTtcbiAgICAgIC8qKiBIb3cgbWFueSB0aWNrcyBkbyB5b3Ugd2FudCB0byBzZWUgKi9cbiAgICAgIHRpY2tBbW91bnQ/OiBudW1iZXI7XG4gICAgfTtcbiAgfTtcbiAgLyoqXG4gICAqIGV4cG9zZSB0aGUgZHJhdyBmdW5jdGlvbiBvdXRzaWRlIG9mIG43LWZyb250ZW5kL2NvbXBvbmVudHMgbGlicmFyeVxuICAgKiB0aGlzIGlzIG5lZWRlZCB0byByZWRyYXcgYnViYmxlLWNoYXJ0LWNvbXBvbmVudCBvbiBjb21tYW5kXG4gICAqL1xuICBzZXREcmF3PzogYW55O1xuICAvKipcbiAgICogc2V0U2xpZGVyc1xuICAgKi9cbiAgc2V0U2xpZGVycz86IExhYmVsQ291cGxlO1xuICAvKipcbiAgICogUHVibGljIGFwaVxuICAgKi9cbiAgc2V0QXBpPzogYW55O1xufVxuXG50eXBlIFNsaWRlcnMgPSB7IHg6IG51bWJlcjsgeTogbnVtYmVyIH1bXTtcbnR5cGUgTGFiZWxDb3VwbGUgPSBbc3RyaW5nLCBzdHJpbmddO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduNy1oaXN0b2dyYW0tcmFuZ2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vaGlzdG9ncmFtLXJhbmdlLmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBIaXN0b2dyYW1SYW5nZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudENoZWNrZWQge1xuICBASW5wdXQoKSBkYXRhOiBIaXN0b2dyYW1SYW5nZURhdGE7XG5cbiAgQElucHV0KCkgZW1pdDogYW55O1xuXG4gIHByaXZhdGUgZDM7XG5cbiAgcHJpdmF0ZSBzbGlkZXJzOiBTbGlkZXJzID0gW107XG5cbiAgLyoqIGQzIHNlbGVjdGlvbiBzdmcgcm9vdCAqL1xuICBwcml2YXRlIHN2ZztcblxuICBwcml2YXRlIF9sb2FkZWQgPSBmYWxzZTtcblxuICBwcml2YXRlIGNvbG91ckJhcnM7XG5cbiAgcHJpdmF0ZSBnZXRTZWxlY3RlZFJhbmdlO1xuXG4gIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpIHtcbiAgICAvKlxuICAgICAgICAgV2FpdHMgZm9yIHRoZSBkb20gdG8gYmUgbG9hZGVkLCB0aGVuIGZpcmVzIHRoZSBkcmF3IGZ1bmN0aW9uXG4gICAgICAgICB0aGF0IHJlbmRlcnMgdGhlIGNoYXJ0LlxuICAgICovXG4gICAgaWYgKHRoaXMuZGF0YSkge1xuICAgICAgaWYgKHRoaXMuX2xvYWRlZCkgcmV0dXJuO1xuICAgICAgdGhpcy5fbG9hZGVkID0gdHJ1ZTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBpbXBvcnQoJ2QzJykudGhlbigobW9kdWxlKSA9PiB7XG4gICAgICAgICAgdGhpcy5kMyA9IG1vZHVsZTtcbiAgICAgICAgICB0aGlzLmRyYXcoKTtcbiAgICAgICAgICB0aGlzLmVtaXRMb2FkZWQodHJ1ZSk7XG4gICAgICAgICAgaWYgKHRoaXMuZGF0YSAmJiB0aGlzLmRhdGEuc2V0RHJhdykge1xuICAgICAgICAgICAgdGhpcy5kYXRhLnNldERyYXcodGhpcy5kcmF3KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHRoaXMuZGF0YS5zZXRBcGkpIHtcbiAgICAgICAgICAgIC8vIGV4cG9zZSB0aGUgY29tcG9uZW50IGFwaVxuICAgICAgICAgICAgdGhpcy5kYXRhLnNldEFwaSh7XG4gICAgICAgICAgICAgIHNldFNsaWRlcnM6IHRoaXMuc2V0U2xpZGVycyxcbiAgICAgICAgICAgICAgc2V0QmFyczogdGhpcy5zZXRCYXJzLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkb3Qtbm90YXRpb25cbiAgICAgICAgICAvLyB3aW5kb3dbJ3NldFNsaWRlcnMnXSA9IHRoaXMuc2V0U2xpZGVycztcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBkcmF3ID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgZDMgfSA9IHRoaXM7XG4gICAgY29uc3Qge1xuICAgICAgd2lkdGgsXG4gICAgICBtYXJnaW4sXG4gICAgICBoZWlnaHQsXG4gICAgICBpdGVtcyxcbiAgICAgIGNvbG91cnMsXG4gICAgICBjb250YWluZXJJZCxcbiAgICAgIGF4aXMsXG4gICAgICBzZXRTbGlkZXJzLFxuICAgIH0gPSB0aGlzLmRhdGE7XG5cbiAgICAvLyBkYXRhIHZhbGlkYXRpb25cbiAgICBjb25zdCByYW5nZU1vZGUgPSBpdGVtcy5ldmVyeSgoZCkgPT4gZC5yYW5nZSk7XG4gICAgaWYgKCFyYW5nZU1vZGUgJiYgaXRlbXMuc29tZSgoZCkgPT4gIWQucmFuZ2UpKSB7XG4gICAgICB0aHJvdyBFcnJvcignQWxsIGl0ZW1zIG11c3QgaGF2ZSB0aGUgXCJyYW5nZVwiIHByb3BlcnR5Jyk7XG4gICAgfVxuXG4gICAgLy8gSGVscGVycyAtIFN0YXJ0OlxuICAgIGNvbnN0IExBQkVMdG9YID0gZDNcbiAgICAgIC5zY2FsZUJhbmQoKVxuICAgICAgLmRvbWFpbihpdGVtcy5tYXAoKGQpID0+IGQubGFiZWwpKVxuICAgICAgLnJhbmdlKFswLCB3aWR0aF0pXG4gICAgICAucGFkZGluZ0lubmVyKDAuMTcpXG4gICAgICAucGFkZGluZ091dGVyKDEpO1xuXG4gICAgY29uc3QgWHRvTEFCRUwgPSAodmFsdWUpID0+IHtcbiAgICAgIGNvbnN0IGRvbWFpbiA9IExBQkVMdG9YLmRvbWFpbigpO1xuICAgICAgY29uc3QgcGFkZGluZ091dGVyID0gTEFCRUx0b1goZG9tYWluWzBdKTtcbiAgICAgIGNvbnN0IGVhY2hCYW5kID0gTEFCRUx0b1guc3RlcCgpO1xuICAgICAgY29uc3QgaW5kZXggPSBNYXRoLmZsb29yKCh2YWx1ZSAtIHBhZGRpbmdPdXRlcikgLyBlYWNoQmFuZCk7XG4gICAgICByZXR1cm4gZG9tYWluW01hdGgubWF4KDAsIE1hdGgubWluKGluZGV4LCBkb21haW4ubGVuZ3RoIC0gMSkpXTtcbiAgICB9O1xuXG4gICAgLy8gWUVBUiBTRUxFQ1RJT04gQ0lSQ0xFU1xuICAgIC8vIGxldCBzbGlkZXJzO1xuICAgIGlmIChzZXRTbGlkZXJzICYmIHRoaXMuc2xpZGVycykge1xuICAgICAgdGhpcy5zbGlkZXJzID0gc2V0U2xpZGVycy5tYXAoKGQpID0+ICh7XG4gICAgICAgIHg6IExBQkVMdG9YKGQpICsgTEFCRUx0b1guYmFuZHdpZHRoKCkgLyAyLFxuICAgICAgICB5OiBoZWlnaHQsXG4gICAgICB9KSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2xpZGVycyA9IGQzXG4gICAgICAgIC5leHRlbnQoaXRlbXMsIChkKSA9PiBkLmxhYmVsKVxuICAgICAgICAubWFwKChkKSA9PiAoeyB4OiBMQUJFTHRvWChkKSArIExBQkVMdG9YLmJhbmR3aWR0aCgpIC8gMiwgeTogaGVpZ2h0IH0pKTtcbiAgICB9XG5cbiAgICBjb25zdCBpc0luUmFuZ2UgPSAoeSkgPT4ge1xuICAgICAgY29uc3QgYWxsSXRlbXMgPSB0aGlzLnNsaWRlcnMubWFwKChkKSA9PiBYdG9MQUJFTChkLngpKTtcbiAgICAgIGlmICh5ID49IGQzLm1pbihhbGxJdGVtcykgJiYgeSA8PSBkMy5tYXgoYWxsSXRlbXMpKSByZXR1cm4gdHJ1ZTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9O1xuXG4gICAgZnVuY3Rpb24gY29sb3VyQmFycyhkKSB7XG4gICAgICBpZiAoaXNJblJhbmdlKGQubGFiZWwpKSByZXR1cm4gJ3VybCgjZ3JhZGllbnQpJztcbiAgICAgIHJldHVybiAnI2UzZTNlMyc7XG4gICAgfVxuICAgIHRoaXMuY29sb3VyQmFycyA9IGNvbG91ckJhcnM7XG5cbiAgICB0aGlzLmdldFNlbGVjdGVkUmFuZ2UgPSAoKSA9PiB7XG4gICAgICBjb25zdCByYW5nZVN0YXJ0ID0gaXRlbXMuZmluZChcbiAgICAgICAgKGl0KSA9PiBpdC5sYWJlbCA9PT0gWHRvTEFCRUwodGhpcy5zbGlkZXJzWzBdLngpXG4gICAgICApO1xuICAgICAgY29uc3QgcmFuZ2VFbmQgPSBpdGVtcy5maW5kKFxuICAgICAgICAoaXQpID0+IGl0LmxhYmVsID09PSBYdG9MQUJFTCh0aGlzLnNsaWRlcnNbMV0ueClcbiAgICAgICk7XG4gICAgICByZXR1cm4gW1xuICAgICAgICByYW5nZVN0YXJ0LnBheWxvYWQsXG4gICAgICAgIHJhbmdlTW9kZSA/IHJhbmdlRW5kLnJhbmdlLnBheWxvYWQgOiByYW5nZUVuZC5wYXlsb2FkLFxuICAgICAgXTtcbiAgICB9O1xuICAgIC8vIEhlbHBlcnMgLSBFbmQuXG5cbiAgICAvLyBjbGVhciBIVE1MIGNvbnRlbnRzXG4gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoY29udGFpbmVySWQpLmlubmVySFRNTCA9ICcnO1xuICAgIGNvbnN0IHN2ZyA9IGQzXG4gICAgICAuc2VsZWN0KGAjJHtjb250YWluZXJJZH1gKVxuICAgICAgLmF0dHIoXG4gICAgICAgICd2aWV3Qm94JyxcbiAgICAgICAgYDAgMCAke3dpZHRoICsgbWFyZ2luLmxlZnQgKyBtYXJnaW4ucmlnaHR9ICR7aGVpZ2h0ICsgbWFyZ2luLnRvcCArIG1hcmdpbi5ib3R0b219YFxuICAgICAgKTtcbiAgICB0aGlzLnN2ZyA9IHN2ZztcblxuICAgIGNvbnN0IHNjYWxlSGVpZ2h0ID0gZDNcbiAgICAgIC5zY2FsZVN5bWxvZygpIC8vIG1vc3Qgc2ltaWxhciBzY2FsZSB0byB0aGUgb3JpZ2luYWxcbiAgICAgIC5kb21haW4oWzAsIGQzLm1heChpdGVtcywgKGQpID0+IGQudmFsdWUpXSlcbiAgICAgIC5yYW5nZShbaGVpZ2h0LCAwXSk7XG5cbiAgICAvLyBHUkFESUVOVFxuICAgIGNvbnN0IGRlZnMgPSBzdmcuYXBwZW5kKCdkZWZzJyk7IC8vIGRlZmluaXRpb25zXG4gICAgY29uc3QgZ3JhZGllbnQgPSBkZWZzXG4gICAgICAuYXBwZW5kKCdsaW5lYXJHcmFkaWVudCcpXG4gICAgICAuYXR0cignaWQnLCAnZ3JhZGllbnQnKVxuICAgICAgLmF0dHIoJ2dyYWRpZW50VW5pdHMnLCAndXNlclNwYWNlT25Vc2UnKVxuICAgICAgLmF0dHIoJ3gxJywgMClcbiAgICAgIC5hdHRyKCd5MScsIGhlaWdodClcbiAgICAgIC5hdHRyKCd4MicsIDApXG4gICAgICAuYXR0cigneTInLCBtYXJnaW4udG9wKTtcbiAgICBncmFkaWVudFxuICAgICAgLmFwcGVuZCgnc3RvcCcpXG4gICAgICAuYXR0cignY2xhc3MnLCAnc3RhcnQnKVxuICAgICAgLmF0dHIoJ29mZnNldCcsICcwJScpXG4gICAgICAuYXR0cignc3RvcC1jb2xvcicsIGNvbG91cnMuYm90dG9tKSAvLyBib3R0b20gZ3JhZGllbnRcbiAgICAgIC5hdHRyKCdzdG9wLW9wYWNpdHknLCAxKTtcbiAgICBncmFkaWVudFxuICAgICAgLmFwcGVuZCgnc3RvcCcpXG4gICAgICAuYXR0cignY2xhc3MnLCAnZW5kJylcbiAgICAgIC5hdHRyKCdvZmZzZXQnLCAnMTAwJScpXG4gICAgICAuYXR0cignc3RvcC1jb2xvcicsIGNvbG91cnMudG9wKSAvLyB0b3AgZ3JhZGllbnRcbiAgICAgIC5hdHRyKCdzdG9wLW9wYWNpdHknLCAxKTtcblxuICAgIC8vIERSQVcgSU5TSURFIE1BUkdJTlNcbiAgICBjb25zdCBnID0gc3ZnXG4gICAgICAuYXBwZW5kKCdnJylcbiAgICAgIC5hdHRyKCdjbGFzcycsICdjaGFydCcpXG4gICAgICAuYXR0cigndHJhbnNmb3JtJywgYHRyYW5zbGF0ZSgke21hcmdpbi5sZWZ0fSwke21hcmdpbi50b3B9KWApO1xuXG4gICAgY29uc3QgYmFyc0xheWVyID0gZy5hcHBlbmQoJ2cnKS5hdHRyKCdjbGFzcycsICdiYXJzJyk7XG4gICAgY29uc3QgY29udHJvbHNMYXllciA9IGcuYXBwZW5kKCdnJykuYXR0cignY2xhc3MnLCAnY29udHJvbHMnKTtcblxuICAgIC8vIEJBUiBDSEFSVFxuICAgIGJhcnNMYXllciAvLyBiYXJzXG4gICAgICAuc2VsZWN0QWxsKCdyZWN0LmJhcnMnKVxuICAgICAgLmRhdGEoaXRlbXMpXG4gICAgICAuam9pbigncmVjdCcpXG4gICAgICAuYXR0cignY2xhc3MnLCAnYmFycycpXG4gICAgICAuYXR0cignd2lkdGgnLCBMQUJFTHRvWC5iYW5kd2lkdGgpXG4gICAgICAuYXR0cignaGVpZ2h0JywgKGQpID0+IGhlaWdodCAtIHNjYWxlSGVpZ2h0KGQudmFsdWUpKVxuICAgICAgLmF0dHIoJ3knLCAoZCkgPT4gc2NhbGVIZWlnaHQoZC52YWx1ZSkpXG4gICAgICAuYXR0cigneCcsIChkKSA9PiBMQUJFTHRvWChkLmxhYmVsKSlcbiAgICAgIC5hdHRyKCdkYXRhLXN0YXJ0JywgKGQpID0+IGQucGF5bG9hZCkgLy8gbWFrZSB0aGUgZGF0YSBlYXNpbHkgYWNjZXNzaWJsZVxuICAgICAgLmF0dHIoJ2RhdGEtZW5kJywgKGQpID0+IChkLnJhbmdlID8gZC5yYW5nZS5wYXlsb2FkIDogZC5wYXlsb2FkKSlcbiAgICAgIC5hdHRyKCdmaWxsJywgJ3VybCgjZ3JhZGllbnQpJyk7XG5cbiAgICBiYXJzTGF5ZXIgLy8gY2F0Y2ggYmFyIGV2ZW50c1xuICAgICAgLm9uKCdtb3VzZW1vdmUnLCAoZXZlbnQpID0+IHtcbiAgICAgICAgY29uc3QgeWVhciA9IFh0b0xBQkVMKHRoaXMuZ2V0RXZlbnRDb29yZHMoZXZlbnQpLngpO1xuICAgICAgICBkMy5zZWxlY3RBbGwoJ3JlY3QuYmFycycpLmF0dHIoJ2ZpbGwnLCAoZCkgPT4ge1xuICAgICAgICAgIGlmICh5ZWFyID09PSBkLmxhYmVsKSByZXR1cm4gJyNCMENDRjgnO1xuICAgICAgICAgIHJldHVybiBjb2xvdXJCYXJzKGQpO1xuICAgICAgICB9KTtcbiAgICAgIH0pXG4gICAgICAub24oJ21vdXNlb3V0JywgKCkgPT4ge1xuICAgICAgICBkMy5zZWxlY3RBbGwoJ3JlY3QuYmFycycpLmF0dHIoJ2ZpbGwnLCAoZCkgPT4gY29sb3VyQmFycyhkKSk7XG4gICAgICB9KVxuICAgICAgLm9uKCdjbGljaycsIChldmVudCkgPT4ge1xuICAgICAgICBjb25zdCBsYWJlbCA9IFh0b0xBQkVMKHRoaXMuZ2V0RXZlbnRDb29yZHMoZXZlbnQpLngpO1xuICAgICAgICBjb25zdCB4QXhpc1ZhbHVlID0gTEFCRUx0b1gobGFiZWwpICsgTEFCRUx0b1guYmFuZHdpZHRoKCkgLyAyO1xuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHtcbiAgICAgICAgICB4OiB4QXhpc1ZhbHVlLFxuICAgICAgICAgIHk6IGhlaWdodCxcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5zbGlkZXJzID0gW1xuICAgICAgICAgIC8vIGF2b2lkIGpvaW5pbmcgdGhlIHR3byBvYmplY3RzIVxuICAgICAgICAgIHsgLi4ubmV3VmFsdWUgfSxcbiAgICAgICAgICB7IC4uLm5ld1ZhbHVlIH0sXG4gICAgICAgIF07XG4gICAgICAgIHJhbmdlUGlja2VyXG4gICAgICAgICAgLmRhdGEodGhpcy5zbGlkZXJzKVxuICAgICAgICAgIC5zZWxlY3QoJ2NpcmNsZScpXG4gICAgICAgICAgLnRyYW5zaXRpb24oKVxuICAgICAgICAgIC5lYXNlKGQzLmVhc2VRdWFkT3V0KVxuICAgICAgICAgIC5kdXJhdGlvbig1NTApXG4gICAgICAgICAgLmF0dHIoJ2N4JywgKGQpID0+IGQueCk7XG4gICAgICAgIGNvbnRyb2xzTGF5ZXJcbiAgICAgICAgICAuc2VsZWN0KCdwYXRoLmJsdWVsaW5lJylcbiAgICAgICAgICAudHJhbnNpdGlvbigpXG4gICAgICAgICAgLmVhc2UoZDMuZWFzZVF1YWRPdXQpXG4gICAgICAgICAgLmR1cmF0aW9uKDU1MClcbiAgICAgICAgICAuYXR0cignZCcsIGQzLmxpbmUoKSh0aGlzLnNsaWRlcnMubWFwKChkKSA9PiBbZC54LCBkLnldKSkpO1xuICAgICAgICBjb250cm9sc0xheWVyXG4gICAgICAgICAgLnNlbGVjdEFsbCgndGV4dCcpXG4gICAgICAgICAgLnRyYW5zaXRpb24oKVxuICAgICAgICAgIC5lYXNlKGQzLmVhc2VRdWFkT3V0KVxuICAgICAgICAgIC5kdXJhdGlvbig1NTApXG4gICAgICAgICAgLmF0dHIoJ3gnLCAoKSA9PiB4QXhpc1ZhbHVlKVxuICAgICAgICAgIC50ZXh0KChkLCBpKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXJhbmdlTW9kZSkgcmV0dXJuIGxhYmVsO1xuICAgICAgICAgICAgY29uc3QgaXRlbSA9IGl0ZW1zLmZpbmQoKGl0KSA9PiBpdC5sYWJlbCA9PT0gbGFiZWwpO1xuICAgICAgICAgICAgaWYgKGkgPiAwKSByZXR1cm4gaXRlbS5yYW5nZS5sYWJlbDtcbiAgICAgICAgICAgIHJldHVybiBpdGVtLmxhYmVsO1xuICAgICAgICAgIH0pO1xuICAgICAgICBnLnNlbGVjdEFsbCgncmVjdC5iYXJzJykuYXR0cignZmlsbCcsIChkKSA9PiBjb2xvdXJCYXJzKGQpKTtcbiAgICAgICAgdGhpcy50ZXh0Q29sbGlzaW9uKHRoaXMuc2xpZGVycyk7XG4gICAgICAgIHRoaXMuZW1pdCgncmFuZ2VzZWxlY3RlZCcsIHRoaXMuZ2V0U2VsZWN0ZWRSYW5nZSgpKTtcbiAgICAgIH0pO1xuXG4gICAgY29udHJvbHNMYXllciAvLyBncmF5IGxpbmVcbiAgICAgIC5hcHBlbmQoJ3BhdGgnKVxuICAgICAgLmF0dHIoJ2NsYXNzJywgJ2dyYXlsaW5lJylcbiAgICAgIC5hdHRyKFxuICAgICAgICAnZCcsXG4gICAgICAgIGQzLmxpbmUoKShbXG4gICAgICAgICAgWzAsIGhlaWdodF0sXG4gICAgICAgICAgW3dpZHRoLCBoZWlnaHRdLFxuICAgICAgICBdKVxuICAgICAgKVxuICAgICAgLmF0dHIoJ3N0cm9rZS13aWR0aCcsIDIpXG4gICAgICAuYXR0cignb3BhY2l0eScsIDEpXG4gICAgICAuYXR0cignc3Ryb2tlJywgJyNDMUM1QzcnKTtcblxuICAgIGNvbnRyb2xzTGF5ZXIgLy8gYmx1ZSBsaW5lXG4gICAgICAuYXBwZW5kKCdwYXRoJylcbiAgICAgIC5hdHRyKCdjbGFzcycsICdibHVlbGluZScpXG4gICAgICAuYXR0cignZCcsIGQzLmxpbmUoKSh0aGlzLnNsaWRlcnMubWFwKChkKSA9PiBbZC54LCBkLnldKSkpXG4gICAgICAuYXR0cignc3Ryb2tlLXdpZHRoJywgMilcbiAgICAgIC5hdHRyKCdzdHJva2UnLCBjb2xvdXJzLmFjY2VudCk7XG5cbiAgICBjb25zdCByYW5nZVBpY2tlciA9IGNvbnRyb2xzTGF5ZXJcbiAgICAgIC5zZWxlY3RBbGwoJ2cucmFuZ2VwaWNrZXInKVxuICAgICAgLmRhdGEodGhpcy5zbGlkZXJzLnNvcnQoKGEsIGIpID0+IGQzLmFzY2VuZGluZyhhLngsIGIueCkpKVxuICAgICAgLmpvaW4oJ2cnKVxuICAgICAgLmF0dHIoJ2NsYXNzJywgJ3JhbmdlcGlja2VyJyk7XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXRoaXMtYWxpYXNcbiAgICBjb25zdCBzZWxmID0gdGhpczsgLy8gRklYTUU6IEFsbG93IHVzZSBvZiBjbGFzcyBcInRoaXNcIiBpbnNpZGUgZHJhZ2dpbmcgdXBkYXRlO1xuICAgIC8qKlxuICAgICAqIEFuaW1hdGUgdGhlIGVsZW1lbnRzIHdoaWxlIHRoZSB1c2VyIGlzIGRyYWdnaW5nIG9uZSBvZiB0aGUgcmFuZ2Ugc2VsZWN0b3JzXG4gICAgICovXG4gICAgZnVuY3Rpb24gZHJhZ2dpbmdVcGRhdGUoZXZlbnQsIGRhdGEpIHtcbiAgICAgIGNvbnN0IGxhYmVsID0gWHRvTEFCRUwoZXZlbnQueCk7XG4gICAgICBjb25zdCB4QXhpc1ZhbHVlID0gTEFCRUx0b1gobGFiZWwpICsgTEFCRUx0b1guYmFuZHdpZHRoKCkgLyAyO1xuICAgICAgY29uc3QgeWIgPSBbXTtcbiAgICAgIGcuc2VsZWN0QWxsKCdjaXJjbGUnKS5lYWNoKGZ1bmN0aW9uIHNldEJhbGxQb3NpdGlvbigpIHtcbiAgICAgICAgeWIucHVzaCh7IHg6ICtkMy5zZWxlY3QodGhpcykuYXR0cignY3gnKSwgeTogaGVpZ2h0IH0pO1xuICAgICAgfSk7XG4gICAgICBzZWxmLnNsaWRlcnMgPSB5Yi5zb3J0KChhLCBiKSA9PiBkMy5hc2NlbmRpbmcoYS54LCBiLngpKTtcbiAgICAgIC8vIG1vdmUgdGhlIGNpcmNsZVxuICAgICAgZDMuc2VsZWN0KHRoaXMpXG4gICAgICAgIC5zZWxlY3QoJ2NpcmNsZScpXG4gICAgICAgIC5hdHRyKCdjeCcsIChkYXRhLnggPSB4QXhpc1ZhbHVlKSk7XG4gICAgICAvLyBtb3ZlIHRoZSBibHVlIGxpbmVcbiAgICAgIGNvbnRyb2xzTGF5ZXJcbiAgICAgICAgLnNlbGVjdCgncGF0aC5ibHVlbGluZScpXG4gICAgICAgIC5hdHRyKCdkJywgZDMubGluZSgpKHNlbGYuc2xpZGVycy5tYXAoKGQpID0+IFtkLngsIGQueV0pKSk7XG4gICAgICAvLyBjaGFuZ2UgdGhlIHRleHQgcG9zaXRpb25cbiAgICAgIGQzLnNlbGVjdCh0aGlzKVxuICAgICAgICAuc2VsZWN0KCd0ZXh0JylcbiAgICAgICAgLmF0dHIoJ3gnLCAoKSA9PiB4QXhpc1ZhbHVlKTtcbiAgICAgIC8vIGNoYW5nZSB0aGUgdGV4dCB2YWx1ZXNcbiAgICAgIGNvbnRyb2xzTGF5ZXIuc2VsZWN0QWxsKCd0ZXh0JykudGV4dCgoZCkgPT4ge1xuICAgICAgICBjb25zdCBsID0gWHRvTEFCRUwoZC54KTtcbiAgICAgICAgaWYgKCFyYW5nZU1vZGUpIHJldHVybiBsO1xuICAgICAgICBjb25zdCBwb3NpdGlvbiA9IHNlbGYuc2xpZGVycy5maW5kSW5kZXgoKHNsaWRlcikgPT4gc2xpZGVyLnggPT09IGQueCk7XG4gICAgICAgIGNvbnN0IHJhbmdlID0gc2VsZi5nZXRTZWxlY3RlZFJhbmdlKCk7XG4gICAgICAgIGlmIChwb3NpdGlvbiA9PT0gMSkgcmV0dXJuIHJhbmdlWzFdO1xuICAgICAgICByZXR1cm4gcmFuZ2VbMF07XG4gICAgICB9KTtcbiAgICAgIHNlbGYudGV4dENvbGxpc2lvbihzZWxmLnNsaWRlcnMpO1xuICAgICAgLy8gY29sb3VyIHRoZSBiYXJzXG4gICAgICBnLnNlbGVjdEFsbCgncmVjdC5iYXJzJykuYXR0cignZmlsbCcsIChkKSA9PiBjb2xvdXJCYXJzKGQpKTtcbiAgICB9XG5cbiAgICByYW5nZVBpY2tlciAvLyBkcmFnIGhhbmRsZXJcbiAgICAgIC5jYWxsKFxuICAgICAgICBkM1xuICAgICAgICAgIC5kcmFnKClcbiAgICAgICAgICAub24oJ2RyYWcnLCBkcmFnZ2luZ1VwZGF0ZSlcbiAgICAgICAgICAub24oJ2VuZCcsIChldmVudCwgZGF0YSkgPT4ge1xuICAgICAgICAgICAgLy8gdXBkYXRlIG9uZSBsYXN0IHRpbWUgdG8gcHJldmVudCBkZXN5bmNpbmdcbiAgICAgICAgICAgIGRyYWdnaW5nVXBkYXRlKGV2ZW50LCBkYXRhKTtcbiAgICAgICAgICAgIC8vIGVtaXQgdGhlIHNlbGVjdGVkIHJhbmdlXG4gICAgICAgICAgICB0aGlzLmVtaXQoJ3Jhbmdlc2VsZWN0ZWQnLCB0aGlzLmdldFNlbGVjdGVkUmFuZ2UoKSk7XG4gICAgICAgICAgfSlcbiAgICAgICk7XG5cbiAgICByYW5nZVBpY2tlclxuICAgICAgLmFwcGVuZCgnY2lyY2xlJylcbiAgICAgIC5hdHRyKCdjeCcsIChkKSA9PiBkLngpXG4gICAgICAuYXR0cignY3knLCAoZCkgPT4gZC55KVxuICAgICAgLmF0dHIoJ3InLCA5KVxuICAgICAgLmF0dHIoJ2ZpbGwnLCAnd2hpdGUnKVxuICAgICAgLmF0dHIoJ3N0cm9rZS13aWR0aCcsIDIpXG4gICAgICAuYXR0cignc3Ryb2tlJywgY29sb3Vycy5hY2NlbnQpXG4gICAgICAuYXR0cignc3R5bGUnLCAnY3Vyc29yOiBwb2ludGVyJyk7XG5cbiAgICByYW5nZVBpY2tlclxuICAgICAgLmF0dHIoJ3RleHQtYW5jaG9yJywgJ21pZGRsZScpXG4gICAgICAuYXR0cignZm9udC1mYW1pbHknLCAnUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZicpXG4gICAgICAuYXR0cignZm9udC1zaXplJywgJzEycHgnKVxuICAgICAgLmFwcGVuZCgndGV4dCcpXG4gICAgICAuYXR0cigneScsIChkKSA9PiBkLnkgKyBtYXJnaW4uYm90dG9tIC8gMilcbiAgICAgIC5hdHRyKCd4JywgKGQpID0+IGQueClcbiAgICAgIC5hdHRyKCdmaWxsJywgY29sb3Vycy5hY2NlbnQpXG4gICAgICAudGV4dCgoZCwgaSkgPT4ge1xuICAgICAgICBjb25zdCBsID0gWHRvTEFCRUwoZC54KTtcbiAgICAgICAgaWYgKHJhbmdlTW9kZSAmJiBpID09PSAxKSB7XG4gICAgICAgICAgcmV0dXJuIGl0ZW1zLmZpbmQoKGl0ZW0pID0+IGl0ZW0ubGFiZWwgPT09IGwpLnJhbmdlLmxhYmVsO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBsO1xuICAgICAgfSk7XG5cbiAgICBpZiAoYXhpcz8ueUF4aXM/LnNob3cpIHtcbiAgICAgIGNvbnN0IHlBeGlzID0gZDNcbiAgICAgICAgLmF4aXNMZWZ0KHNjYWxlSGVpZ2h0KVxuICAgICAgICAudGlja3MoYXhpcy55QXhpcy50aWNrQW1vdW50ID8/IDIpXG4gICAgICAgIC50aWNrVmFsdWVzKGF4aXMueUF4aXMudmFsdWVzID8gYXhpcy55QXhpcy52YWx1ZXMgOiBudWxsKTtcbiAgICAgIGNvbnN0IHlBeGlzR3JvdXAgPSBzdmdcbiAgICAgICAgLmFwcGVuZCgnZycpXG4gICAgICAgIC5hdHRyKCd0cmFuc2Zvcm0nLCBgdHJhbnNsYXRlKCR7bWFyZ2luLmxlZnR9LCAke21hcmdpbi50b3B9KWApXG4gICAgICAgIC5jYWxsKHlBeGlzKTtcblxuICAgICAgeUF4aXNHcm91cC5zZWxlY3RBbGwoJ3BhdGgsIGxpbmUnKS5zdHlsZSgnc3Ryb2tlJywgY29sb3Vycy5hY2NlbnQpO1xuICAgICAgeUF4aXNHcm91cC5zZWxlY3RBbGwoJ3RleHQnKS5zdHlsZSgnZmlsbCcsIGNvbG91cnMuYWNjZW50KTtcbiAgICB9XG4gIH07XG5cbiAgLyoqIEF2b2lkIGNvbGxpc2lvbiBvZiB0aGUgc2xpZGVyIGxhYmVscyAqL1xuICB0ZXh0Q29sbGlzaW9uID0gKHNsaWRlcnM6IFNsaWRlcnMpID0+IHtcbiAgICAvLyBwcmUtcmVxdWlzaXRlc1xuICAgIGNvbnN0IGNvbnRyb2xzTGF5ZXIgPSB0aGlzLmQzLnNlbGVjdCgnZy5jaGFydCcpLnNlbGVjdCgnZy5jb250cm9scycpO1xuICAgIGNvbnN0IHsgaXRlbXMsIG1hcmdpbiB9ID0gdGhpcy5kYXRhO1xuICAgIGNvbnN0IHJhbmdlTW9kZSA9IGl0ZW1zLmV2ZXJ5KChkKSA9PiBkLnJhbmdlKTtcbiAgICAvLyBydW4gY29sbGlzaW9uIGRldGVjdGlvblxuICAgIGNvbnN0IGlzQ29sbGlkaW5nID0gc2xpZGVyc1swXS54ID09PSBzbGlkZXJzWzFdLng7XG4gICAgaWYgKHJhbmdlTW9kZSAmJiBpc0NvbGxpZGluZykge1xuICAgICAgY29udHJvbHNMYXllclxuICAgICAgICAuc2VsZWN0QWxsKCd0ZXh0JylcbiAgICAgICAgLmF0dHIoJ3knLCAoZCwgaSkgPT5cbiAgICAgICAgICBpID4gMCA/IGQueSArIG1hcmdpbi5ib3R0b20gLyAyICsgMTIgOiBkLnkgKyBtYXJnaW4uYm90dG9tIC8gMlxuICAgICAgICApXG4gICAgICAgIC50ZXh0KChkLCBpKSA9PiB7XG4gICAgICAgICAgY29uc3QgcmFuZ2UgPSB0aGlzLmdldFNlbGVjdGVkUmFuZ2UoKTtcbiAgICAgICAgICByZXR1cm4gcmFuZ2VbaV07XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb250cm9sc0xheWVyLnNlbGVjdEFsbCgndGV4dCcpLmF0dHIoJ3knLCAoZCkgPT4gZC55ICsgbWFyZ2luLmJvdHRvbSAvIDIpO1xuICAgIH1cbiAgfTtcblxuICAvKiogR2V0IHgtYXhpcyBwb3NpdGlvbiBmcm9tIGxhYmVsICovXG4gIGxhYmVsVG9YKCkge1xuICAgIHJldHVybiB0aGlzLmQzXG4gICAgICAuc2NhbGVCYW5kKClcbiAgICAgIC5kb21haW4odGhpcy5kYXRhLml0ZW1zLm1hcCgoZCkgPT4gZC5sYWJlbCkpXG4gICAgICAucmFuZ2UoWzAsIHRoaXMuZGF0YS53aWR0aF0pXG4gICAgICAucGFkZGluZ0lubmVyKDAuMTcpXG4gICAgICAucGFkZGluZ091dGVyKDEpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhbiBldmVudCB3aXRoIHZpZXdCb3ggY29vcmRpbmF0ZXMgYW5kXG4gICAqIHBhcnNlIHRoZW0gaW4gYWJzb2x1dGUgY29vcmRpbmF0ZXNcbiAgICovXG4gIGdldEV2ZW50Q29vcmRzKGV2ZW50KTogeyB4OiBudW1iZXI7IHk6IG51bWJlciB9IHtcbiAgICBjb25zdCBtID0gZXZlbnQudGFyZ2V0LmdldFNjcmVlbkNUTSgpO1xuICAgIGNvbnN0IHBvaW50ID0gdGhpcy5zdmcubm9kZSgpLmNyZWF0ZVNWR1BvaW50KCk7XG4gICAgcG9pbnQueCA9IGV2ZW50LmNsaWVudFg7XG4gICAgcG9pbnQueSA9IGV2ZW50LmNsaWVudFk7XG4gICAgcmV0dXJuIHBvaW50Lm1hdHJpeFRyYW5zZm9ybShtLmludmVyc2UoKSk7XG4gIH1cblxuICAvKiogUHVibGljIGFwaSB0aGF0IGFsbG93cyB0byBkaW5hbWljYWxseSBjaGFuZ2UgdGhlIGJhcnMgKi9cbiAgc2V0QmFycyA9IChuZXdCYXJzKSA9PiB7XG4gICAgdGhpcy5kYXRhLml0ZW1zID0gbmV3QmFycztcbiAgICB0aGlzLmRyYXcoKTtcbiAgICB0aGlzLmQzLnNlbGVjdEFsbCgncmVjdC5iYXJzJykuYXR0cignZmlsbCcsIChkKSA9PiB0aGlzLmNvbG91ckJhcnMoZCkpO1xuICB9O1xuXG4gIC8qKiBQdWJsaWMgYXBpIHRoYXQgYWxsb3dzIHRvIGRpbmFtaWNhbGx5IGNoYW5nZSB0aGUgc2xpZGVyIHBvc2l0aW9uICovXG4gIHNldFNsaWRlcnMgPSAoW3N0YXJ0TGFiZWwsIGVuZExhYmVsXTogTGFiZWxDb3VwbGUsIGVtaXQgPSB0cnVlKSA9PiB7XG4gICAgLy8gc2V0U2xpZGVycyhbMTQ1MCwgMTU3NV0pXG4gICAgdGhpcy5kYXRhLnNldFNsaWRlcnMgPSBbYCR7c3RhcnRMYWJlbH1gLCBgJHtlbmRMYWJlbH1gXTtcbiAgICB0aGlzLmRyYXcoKTtcbiAgICB0aGlzLmQzLnNlbGVjdEFsbCgncmVjdC5iYXJzJykuYXR0cignZmlsbCcsIChkKSA9PiB0aGlzLmNvbG91ckJhcnMoZCkpO1xuICAgIGNvbnN0IHJhbmdlID0gdGhpcy5nZXRTZWxlY3RlZFJhbmdlKCk7XG4gICAgaWYgKGVtaXQpIHRoaXMuZW1pdCgncmFuZ2VzZWxlY3RlZCcsIHJhbmdlKTtcbiAgICB0aGlzLnRleHRDb2xsaXNpb24odGhpcy5zbGlkZXJzKTtcbiAgICByZXR1cm4gcmFuZ2U7XG4gIH07XG5cbiAgLyoqIEVtaXRzIGFuIGV2ZW50IHdoZW4gdGhlIGNvbXBvbmVudCBoYXMgbG9hZGVkICovXG4gIGVtaXRMb2FkZWQocGF5bG9hZCkge1xuICAgIGlmICghdGhpcy5lbWl0KSByZXR1cm47XG4gICAgdGhpcy5lbWl0KCdsb2FkZWQnLCBwYXlsb2FkKTtcbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cImRhdGFcIiBjbGFzcz1cIm43LWhpc3RvZ3JhbS1yYW5nZVwiPlxuICA8c3ZnICNoaXN0b2dyYW1SYW5nZSBbaWRdPVwiZGF0YS5jb250YWluZXJJZFwiPjwvc3ZnPlxuPC9kaXY+XG4iXX0=
390
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9ncmFtLXJhbmdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHYtY29tcG9uZW50cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2hpc3RvZ3JhbS1yYW5nZS9oaXN0b2dyYW0tcmFuZ2UudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdi1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvaGlzdG9ncmFtLXJhbmdlL2hpc3RvZ3JhbS1yYW5nZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHlDQUF5QztBQUN6Qyw2QkFBNkI7QUFDN0IscUJBQXFCO0FBQ3JCLDZCQUE2QjtBQUU3QixPQUFPLEVBQXVCLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQTJGdEUsTUFBTSxPQUFPLHVCQUF1QjtJQUpwQztRQVdVLFlBQU8sR0FBWSxFQUFFLENBQUM7UUFLdEIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQW9DeEIsU0FBSSxHQUFHLEdBQUcsRUFBRTtZQUNWLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUM7WUFDcEIsTUFBTSxFQUNKLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxFQUNOLEtBQUssRUFDTCxPQUFPLEVBQ1AsV0FBVyxFQUNYLElBQUksRUFDSixVQUFVLEdBQ1gsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBRWQsa0JBQWtCO1lBQ2xCLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM5QyxJQUFJLENBQUMsU0FBUyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQzlDLE1BQU0sS0FBSyxDQUFD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LENBQUM7YUFDM0MsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDM0IsWUFBWSxDQUFDLElBQUksQ0FBQzthQUNsQixZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7T0FHRztJQUNILGNBQWMsQ0FBQyxLQUFLO1FBQ2xCLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMvQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDeEIsS0FBSyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQ3hCLE9BQU8sS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBcUJELG1EQUFtRDtJQUNuRCxVQUFVLENBQUMsT0FBTztRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQy9CLENBQUM7K0dBeGFVLHVCQUF1QjttR0FBdkIsdUJBQXVCLGtHQ2hHcEMsc0hBR0E7OzRGRDZGYSx1QkFBdUI7a0JBSm5DLFNBQVM7K0JBQ0Usb0JBQW9COzhCQUlyQixJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tdXNlLWJlZm9yZS1kZWZpbmUgKi9cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBISVNUT0dSQU0tUkFOR0UudHNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmltcG9ydCB7IEFmdGVyQ29udGVudENoZWNrZWQsIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbi8qKlxuICogSW50ZXJmYWNlIGZvciBIaXN0b2dyYW1SYW5nZUNvbXBvbmVudCdzIFwiZGF0YVwiXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSGlzdG9ncmFtUmFuZ2VEYXRhIHtcbiAgLyoqXG4gICAqIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgaGlzdG9ncmFtLXJhbmdlIHN2Z1xuICAgKi9cbiAgY29udGFpbmVySWQ6IHN0cmluZztcbiAgLyoqXG4gICAqIHRvdGFsIHdpZHRoIGZvciB0aGUgc3ZnIGVsZW1lbnRcbiAgICovXG4gIHdpZHRoOiBudW1iZXI7XG4gIC8qKlxuICAgKiB0b3RhbCBoZWlnaHQgZm9yIHRoZSBzdmcgZWxlbWVudFxuICAgKi9cbiAgaGVpZ2h0OiBudW1iZXI7XG4gIC8qKlxuICAgKiBJbnRlcm5hbCBtYXJnaW5zIG9mIHRoZSBzdmdcbiAgICovXG4gIG1hcmdpbjoge1xuICAgIGxlZnQ6IG51bWJlcjtcbiAgICByaWdodDogbnVtYmVyO1xuICAgIHRvcDogbnVtYmVyO1xuICAgIGJvdHRvbTogbnVtYmVyO1xuICB9O1xuICAvKipcbiAgICogVGhlbWUgb2YgdGhlIGhpc3RvZ3JhbVxuICAgKi9cbiAgY29sb3Vyczoge1xuICAgIHRvcDogc3RyaW5nO1xuICAgIGJvdHRvbTogc3RyaW5nO1xuICAgIGFjY2VudDogc3RyaW5nO1xuICB9O1xuICAvKipcbiAgICogRGF0YSBmb3IgdGhlIGhpc3RvZ3JhbSBiYXJzXG4gICAqL1xuICBpdGVtczoge1xuICAgIC8qKiBkZWZhdWx0IGxhYmVsIG9mIHRoZSBpdGVtICovXG4gICAgbGFiZWw6IHN0cmluZztcbiAgICAvKiogeS1heGlzIHZhbHVlIG9mIHRoZSBiYXIgKGhlaWdodCkgKi9cbiAgICB2YWx1ZTogbnVtYmVyO1xuICAgIC8qKiBwYXlsb2FkIHRoYXQgdGhlIGl0ZW0gc2hvdWxkIGVtaXQgd2hlbiBzZWxlY3RlZCAqL1xuICAgIHBheWxvYWQ6IGFueTtcbiAgICAvKipcbiAgICAgKiAndXBwZXInIHZhbHVlcyBvZiB0aGUgcmFuZ2UuXG4gICAgICogb25seSB1c2VkIHdoZW4gZWFjaCBiYXIgcmVwcmVzZW50cyBhIHJhbmdlLlxuICAgICAqL1xuICAgIHJhbmdlPzoge1xuICAgICAgLyoqIGxhYmVsIGxvYWRlZCB3aGVuIHNlbGVjdGVkIGJ5IHRoZSByaWdodC1tb3N0IHBvaW50ZXIgKi9cbiAgICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgICAvKiogcGF5bG9hZCBlbWl0dGVkIHdoZW4gc2VsZWN0ZWQgYnkgdGhlIHJpZ2h0LW1vc3QgcG9pbnRlciAqL1xuICAgICAgcGF5bG9hZDogYW55O1xuICAgIH07XG4gIH1bXTtcbiAgLyoqXG4gICAqIEF4aXMgc2V0dGluZ3NcbiAgICovXG4gIGF4aXM/OiB7XG4gICAgLyoqIFkgQXhpcyBzZXR0aW5ncyAqL1xuICAgIHlBeGlzPzoge1xuICAgICAgLyoqIFR1cm4gb24gYW5kIG9mZiB0aGUgYXhpcyAqL1xuICAgICAgc2hvdz86IGJvb2xlYW47XG4gICAgICAvKiogTWFudWFsbHkgc2V0IHRoZSBheGlzIHZhbHVlcyB0byBzaG93ICovXG4gICAgICB2YWx1ZXM/OiBudW1iZXJbXTtcbiAgICAgIC8qKiBIb3cgbWFueSB0aWNrcyBkbyB5b3Ugd2FudCB0byBzZWUgKi9cbiAgICAgIHRpY2tBbW91bnQ/OiBudW1iZXI7XG4gICAgfTtcbiAgfTtcbiAgLyoqXG4gICAqIGV4cG9zZSB0aGUgZHJhdyBmdW5jdGlvbiBvdXRzaWRlIG9mIG43LWZyb250ZW5kL2NvbXBvbmVudHMgbGlicmFyeVxuICAgKiB0aGlzIGlzIG5lZWRlZCB0byByZWRyYXcgYnViYmxlLWNoYXJ0LWNvbXBvbmVudCBvbiBjb21tYW5kXG4gICAqL1xuICBzZXREcmF3PzogYW55O1xuICAvKipcbiAgICogc2V0U2xpZGVyc1xuICAgKi9cbiAgc2V0U2xpZGVycz86IExhYmVsQ291cGxlO1xuICAvKipcbiAgICogUHVibGljIGFwaVxuICAgKi9cbiAgc2V0QXBpPzogYW55O1xufVxuXG50eXBlIFNsaWRlcnMgPSB7IHg6IG51bWJlcjsgeTogbnVtYmVyIH1bXTtcbnR5cGUgTGFiZWxDb3VwbGUgPSBbc3RyaW5nLCBzdHJpbmddO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduNy1oaXN0b2dyYW0tcmFuZ2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vaGlzdG9ncmFtLXJhbmdlLmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBIaXN0b2dyYW1SYW5nZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudENoZWNrZWQge1xuICBASW5wdXQoKSBkYXRhOiBIaXN0b2dyYW1SYW5nZURhdGE7XG5cbiAgQElucHV0KCkgZW1pdDogYW55O1xuXG4gIHByaXZhdGUgZDM7XG5cbiAgcHJpdmF0ZSBzbGlkZXJzOiBTbGlkZXJzID0gW107XG5cbiAgLyoqIGQzIHNlbGVjdGlvbiBzdmcgcm9vdCAqL1xuICBwcml2YXRlIHN2ZztcblxuICBwcml2YXRlIF9sb2FkZWQgPSBmYWxzZTtcblxuICBwcml2YXRlIGNvbG91ckJhcnM7XG5cbiAgcHJpdmF0ZSBnZXRTZWxlY3RlZFJhbmdlO1xuXG4gIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpIHtcbiAgICAvKlxuICAgICAgICAgV2FpdHMgZm9yIHRoZSBkb20gdG8gYmUgbG9hZGVkLCB0aGVuIGZpcmVzIHRoZSBkcmF3IGZ1bmN0aW9uXG4gICAgICAgICB0aGF0IHJlbmRlcnMgdGhlIGNoYXJ0LlxuICAgICovXG4gICAgaWYgKHRoaXMuZGF0YSkge1xuICAgICAgaWYgKHRoaXMuX2xvYWRlZCkgcmV0dXJuO1xuICAgICAgdGhpcy5fbG9hZGVkID0gdHJ1ZTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBpbXBvcnQoJ2QzJykudGhlbigobW9kdWxlKSA9PiB7XG4gICAgICAgICAgdGhpcy5kMyA9IG1vZHVsZTtcbiAgICAgICAgICB0aGlzLmRyYXcoKTtcbiAgICAgICAgICB0aGlzLmVtaXRMb2FkZWQodHJ1ZSk7XG4gICAgICAgICAgaWYgKHRoaXMuZGF0YSAmJiB0aGlzLmRhdGEuc2V0RHJhdykge1xuICAgICAgICAgICAgdGhpcy5kYXRhLnNldERyYXcodGhpcy5kcmF3KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHRoaXMuZGF0YS5zZXRBcGkpIHtcbiAgICAgICAgICAgIC8vIGV4cG9zZSB0aGUgY29tcG9uZW50IGFwaVxuICAgICAgICAgICAgdGhpcy5kYXRhLnNldEFwaSh7XG4gICAgICAgICAgICAgIHNldFNsaWRlcnM6IHRoaXMuc2V0U2xpZGVycyxcbiAgICAgICAgICAgICAgc2V0QmFyczogdGhpcy5zZXRCYXJzLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkb3Qtbm90YXRpb25cbiAgICAgICAgICAvLyB3aW5kb3dbJ3NldFNsaWRlcnMnXSA9IHRoaXMuc2V0U2xpZGVycztcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBkcmF3ID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgZDMgfSA9IHRoaXM7XG4gICAgY29uc3Qge1xuICAgICAgd2lkdGgsXG4gICAgICBtYXJnaW4sXG4gICAgICBoZWlnaHQsXG4gICAgICBpdGVtcyxcbiAgICAgIGNvbG91cnMsXG4gICAgICBjb250YWluZXJJZCxcbiAgICAgIGF4aXMsXG4gICAgICBzZXRTbGlkZXJzLFxuICAgIH0gPSB0aGlzLmRhdGE7XG5cbiAgICAvLyBkYXRhIHZhbGlkYXRpb25cbiAgICBjb25zdCByYW5nZU1vZGUgPSBpdGVtcy5ldmVyeSgoZCkgPT4gZC5yYW5nZSk7XG4gICAgaWYgKCFyYW5nZU1vZGUgJiYgaXRlbXMuc29tZSgoZCkgPT4gIWQucmFuZ2UpKSB7XG4gICAgICB0aHJvdyBFcnJvcignQWxsIGl0ZW1zIG11c3QgaGF2ZSB0aGUgXCJyYW5nZVwiIHByb3BlcnR5Jyk7XG4gICAgfVxuXG4gICAgLy8gSGVscGVycyAtIFN0YXJ0OlxuICAgIGNvbnN0IExBQkVMdG9YID0gZDNcbiAgICAgIC5zY2FsZUJhbmQoKVxuICAgICAgLmRvbWFpbihpdGVtcy5tYXAoKGQpID0+IGQubGFiZWwpKVxuICAgICAgLnJhbmdlKFswLCB3aWR0aF0pXG4gICAgICAucGFkZGluZ0lubmVyKDAuMTcpXG4gICAgICAucGFkZGluZ091dGVyKDEpO1xuXG4gICAgY29uc3QgWHRvTEFCRUwgPSAodmFsdWUpID0+IHtcbiAgICAgIGNvbnN0IGRvbWFpbiA9IExBQkVMdG9YLmRvbWFpbigpO1xuICAgICAgY29uc3QgcGFkZGluZ091dGVyID0gTEFCRUx0b1goZG9tYWluWzBdKTtcbiAgICAgIGNvbnN0IGVhY2hCYW5kID0gTEFCRUx0b1guc3RlcCgpO1xuICAgICAgY29uc3QgaW5kZXggPSBNYXRoLmZsb29yKCh2YWx1ZSAtIHBhZGRpbmdPdXRlcikgLyBlYWNoQmFuZCk7XG4gICAgICByZXR1cm4gZG9tYWluW01hdGgubWF4KDAsIE1hdGgubWluKGluZGV4LCBkb21haW4ubGVuZ3RoIC0gMSkpXTtcbiAgICB9O1xuXG4gICAgLy8gWUVBUiBTRUxFQ1RJT04gQ0lSQ0xFU1xuICAgIC8vIGxldCBzbGlkZXJzO1xuICAgIGlmIChzZXRTbGlkZXJzICYmIHRoaXMuc2xpZGVycykge1xuICAgICAgdGhpcy5zbGlkZXJzID0gc2V0U2xpZGVycy5tYXAoKGQpID0+ICh7XG4gICAgICAgIHg6IExBQkVMdG9YKGQpICsgTEFCRUx0b1guYmFuZHdpZHRoKCkgLyAyLFxuICAgICAgICB5OiBoZWlnaHQsXG4gICAgICB9KSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2xpZGVycyA9IGQzXG4gICAgICAgIC5leHRlbnQoaXRlbXMsIChkKSA9PiBkLmxhYmVsKVxuICAgICAgICAubWFwKChkKSA9PiAoeyB4OiBMQUJFTHRvWChkKSArIExBQkVMdG9YLmJhbmR3aWR0aCgpIC8gMiwgeTogaGVpZ2h0IH0pKTtcbiAgICB9XG5cbiAgICBjb25zdCBpc0luUmFuZ2UgPSAoeSkgPT4ge1xuICAgICAgY29uc3QgYWxsSXRlbXMgPSB0aGlzLnNsaWRlcnMubWFwKChkKSA9PiBYdG9MQUJFTChkLngpKTtcbiAgICAgIGlmICh5ID49IGQzLm1pbihhbGxJdGVtcykgJiYgeSA8PSBkMy5tYXgoYWxsSXRlbXMpKSByZXR1cm4gdHJ1ZTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9O1xuXG4gICAgZnVuY3Rpb24gY29sb3VyQmFycyhkKSB7XG4gICAgICBpZiAoaXNJblJhbmdlKGQubGFiZWwpKSByZXR1cm4gJ3VybCgjZ3JhZGllbnQpJztcbiAgICAgIHJldHVybiAnI2UzZTNlMyc7XG4gICAgfVxuICAgIHRoaXMuY29sb3VyQmFycyA9IGNvbG91ckJhcnM7XG5cbiAgICB0aGlzLmdldFNlbGVjdGVkUmFuZ2UgPSAoKSA9PiB7XG4gICAgICBjb25zdCByYW5nZVN0YXJ0ID0gaXRlbXMuZmluZChcbiAgICAgICAgKGl0KSA9PiBpdC5sYWJlbCA9PT0gWHRvTEFCRUwodGhpcy5zbGlkZXJzWzBdLngpXG4gICAgICApO1xuICAgICAgY29uc3QgcmFuZ2VFbmQgPSBpdGVtcy5maW5kKFxuICAgICAgICAoaXQpID0+IGl0LmxhYmVsID09PSBYdG9MQUJFTCh0aGlzLnNsaWRlcnNbMV0ueClcbiAgICAgICk7XG4gICAgICByZXR1cm4gW1xuICAgICAgICByYW5nZVN0YXJ0LnBheWxvYWQsXG4gICAgICAgIHJhbmdlTW9kZSA/IHJhbmdlRW5kLnJhbmdlLnBheWxvYWQgOiByYW5nZUVuZC5wYXlsb2FkLFxuICAgICAgXTtcbiAgICB9O1xuICAgIC8vIEhlbHBlcnMgLSBFbmQuXG5cbiAgICAvLyBjbGVhciBIVE1MIGNvbnRlbnRzXG4gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoY29udGFpbmVySWQpLmlubmVySFRNTCA9ICcnO1xuICAgIGNvbnN0IHN2ZyA9IGQzXG4gICAgICAuc2VsZWN0KGAjJHtjb250YWluZXJJZH1gKVxuICAgICAgLmF0dHIoXG4gICAgICAgICd2aWV3Qm94JyxcbiAgICAgICAgYDAgMCAke3dpZHRoICsgbWFyZ2luLmxlZnQgKyBtYXJnaW4ucmlnaHR9ICR7aGVpZ2h0ICsgbWFyZ2luLnRvcCArIG1hcmdpbi5ib3R0b219YFxuICAgICAgKTtcbiAgICB0aGlzLnN2ZyA9IHN2ZztcblxuICAgIGNvbnN0IHNjYWxlSGVpZ2h0ID0gZDNcbiAgICAgIC5zY2FsZVN5bWxvZygpIC8vIG1vc3Qgc2ltaWxhciBzY2FsZSB0byB0aGUgb3JpZ2luYWxcbiAgICAgIC5kb21haW4oWzAsIGQzLm1heChpdGVtcywgKGQpID0+IGQudmFsdWUpXSlcbiAgICAgIC5yYW5nZShbaGVpZ2h0LCAwXSk7XG5cbiAgICAvLyBHUkFESUVOVFxuICAgIGNvbnN0IGRlZnMgPSBzdmcuYXBwZW5kKCdkZWZzJyk7IC8vIGRlZmluaXRpb25zXG4gICAgY29uc3QgZ3JhZGllbnQgPSBkZWZzXG4gICAgICAuYXBwZW5kKCdsaW5lYXJHcmFkaWVudCcpXG4gICAgICAuYXR0cignaWQnLCAnZ3JhZGllbnQnKVxuICAgICAgLmF0dHIoJ2dyYWRpZW50VW5pdHMnLCAndXNlclNwYWNlT25Vc2UnKVxuICAgICAgLmF0dHIoJ3gxJywgMClcbiAgICAgIC5hdHRyKCd5MScsIGhlaWdodClcbiAgICAgIC5hdHRyKCd4MicsIDApXG4gICAgICAuYXR0cigneTInLCBtYXJnaW4udG9wKTtcbiAgICBncmFkaWVudFxuICAgICAgLmFwcGVuZCgnc3RvcCcpXG4gICAgICAuYXR0cignY2xhc3MnLCAnc3RhcnQnKVxuICAgICAgLmF0dHIoJ29mZnNldCcsICcwJScpXG4gICAgICAuYXR0cignc3RvcC1jb2xvcicsIGNvbG91cnMuYm90dG9tKSAvLyBib3R0b20gZ3JhZGllbnRcbiAgICAgIC5hdHRyKCdzdG9wLW9wYWNpdHknLCAxKTtcbiAgICBncmFkaWVudFxuICAgICAgLmFwcGVuZCgnc3RvcCcpXG4gICAgICAuYXR0cignY2xhc3MnLCAnZW5kJylcbiAgICAgIC5hdHRyKCdvZmZzZXQnLCAnMTAwJScpXG4gICAgICAuYXR0cignc3RvcC1jb2xvcicsIGNvbG91cnMudG9wKSAvLyB0b3AgZ3JhZGllbnRcbiAgICAgIC5hdHRyKCdzdG9wLW9wYWNpdHknLCAxKTtcblxuICAgIC8vIERSQVcgSU5TSURFIE1BUkdJTlNcbiAgICBjb25zdCBnID0gc3ZnXG4gICAgICAuYXBwZW5kKCdnJylcbiAgICAgIC5hdHRyKCdjbGFzcycsICdjaGFydCcpXG4gICAgICAuYXR0cigndHJhbnNmb3JtJywgYHRyYW5zbGF0ZSgke21hcmdpbi5sZWZ0fSwke21hcmdpbi50b3B9KWApO1xuXG4gICAgY29uc3QgYmFyc0xheWVyID0gZy5hcHBlbmQoJ2cnKS5hdHRyKCdjbGFzcycsICdiYXJzJyk7XG4gICAgY29uc3QgY29udHJvbHNMYXllciA9IGcuYXBwZW5kKCdnJykuYXR0cignY2xhc3MnLCAnY29udHJvbHMnKTtcblxuICAgIC8vIEJBUiBDSEFSVFxuICAgIGJhcnNMYXllciAvLyBiYXJzXG4gICAgICAuc2VsZWN0QWxsKCdyZWN0LmJhcnMnKVxuICAgICAgLmRhdGEoaXRlbXMpXG4gICAgICAuam9pbigncmVjdCcpXG4gICAgICAuYXR0cignY2xhc3MnLCAnYmFycycpXG4gICAgICAuYXR0cignd2lkdGgnLCBMQUJFTHRvWC5iYW5kd2lkdGgpXG4gICAgICAuYXR0cignaGVpZ2h0JywgKGQpID0+IGhlaWdodCAtIHNjYWxlSGVpZ2h0KGQudmFsdWUpKVxuICAgICAgLmF0dHIoJ3knLCAoZCkgPT4gc2NhbGVIZWlnaHQoZC52YWx1ZSkpXG4gICAgICAuYXR0cigneCcsIChkKSA9PiBMQUJFTHRvWChkLmxhYmVsKSlcbiAgICAgIC5hdHRyKCdkYXRhLXN0YXJ0JywgKGQpID0+IGQucGF5bG9hZCkgLy8gbWFrZSB0aGUgZGF0YSBlYXNpbHkgYWNjZXNzaWJsZVxuICAgICAgLmF0dHIoJ2RhdGEtZW5kJywgKGQpID0+IChkLnJhbmdlID8gZC5yYW5nZS5wYXlsb2FkIDogZC5wYXlsb2FkKSlcbiAgICAgIC5hdHRyKCdmaWxsJywgJ3VybCgjZ3JhZGllbnQpJyk7XG5cbiAgICBiYXJzTGF5ZXIgLy8gY2F0Y2ggYmFyIGV2ZW50c1xuICAgICAgLm9uKCdtb3VzZW1vdmUnLCAoZXZlbnQpID0+IHtcbiAgICAgICAgY29uc3QgeWVhciA9IFh0b0xBQkVMKHRoaXMuZ2V0RXZlbnRDb29yZHMoZXZlbnQpLngpO1xuICAgICAgICBkMy5zZWxlY3RBbGwoJ3JlY3QuYmFycycpLmF0dHIoJ2ZpbGwnLCAoZCkgPT4ge1xuICAgICAgICAgIGlmICh5ZWFyID09PSBkLmxhYmVsKSByZXR1cm4gJyNCMENDRjgnO1xuICAgICAgICAgIHJldHVybiBjb2xvdXJCYXJzKGQpO1xuICAgICAgICB9KTtcbiAgICAgIH0pXG4gICAgICAub24oJ21vdXNlb3V0JywgKCkgPT4ge1xuICAgICAgICBkMy5zZWxlY3RBbGwoJ3JlY3QuYmFycycpLmF0dHIoJ2ZpbGwnLCAoZCkgPT4gY29sb3VyQmFycyhkKSk7XG4gICAgICB9KVxuICAgICAgLm9uKCdjbGljaycsIChldmVudCkgPT4ge1xuICAgICAgICBjb25zdCBsYWJlbCA9IFh0b0xBQkVMKHRoaXMuZ2V0RXZlbnRDb29yZHMoZXZlbnQpLngpO1xuICAgICAgICBjb25zdCB4QXhpc1ZhbHVlID0gTEFCRUx0b1gobGFiZWwpICsgTEFCRUx0b1guYmFuZHdpZHRoKCkgLyAyO1xuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHtcbiAgICAgICAgICB4OiB4QXhpc1ZhbHVlLFxuICAgICAgICAgIHk6IGhlaWdodCxcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5zbGlkZXJzID0gW1xuICAgICAgICAgIC8vIGF2b2lkIGpvaW5pbmcgdGhlIHR3byBvYmplY3RzIVxuICAgICAgICAgIHsgLi4ubmV3VmFsdWUgfSxcbiAgICAgICAgICB7IC4uLm5ld1ZhbHVlIH0sXG4gICAgICAgIF07XG4gICAgICAgIHJhbmdlUGlja2VyXG4gICAgICAgICAgLmRhdGEodGhpcy5zbGlkZXJzKVxuICAgICAgICAgIC5zZWxlY3QoJ2NpcmNsZScpXG4gICAgICAgICAgLnRyYW5zaXRpb24oKVxuICAgICAgICAgIC5lYXNlKGQzLmVhc2VRdWFkT3V0KVxuICAgICAgICAgIC5kdXJhdGlvbig1NTApXG4gICAgICAgICAgLmF0dHIoJ2N4JywgKGQpID0+IGQueCk7XG4gICAgICAgIGNvbnRyb2xzTGF5ZXJcbiAgICAgICAgICAuc2VsZWN0KCdwYXRoLmJsdWVsaW5lJylcbiAgICAgICAgICAudHJhbnNpdGlvbigpXG4gICAgICAgICAgLmVhc2UoZDMuZWFzZVF1YWRPdXQpXG4gICAgICAgICAgLmR1cmF0aW9uKDU1MClcbiAgICAgICAgICAuYXR0cignZCcsIGQzLmxpbmUoKSh0aGlzLnNsaWRlcnMubWFwKChkKSA9PiBbZC54LCBkLnldKSkpO1xuICAgICAgICBjb250cm9sc0xheWVyXG4gICAgICAgICAgLnNlbGVjdEFsbCgndGV4dCcpXG4gICAgICAgICAgLnRyYW5zaXRpb24oKVxuICAgICAgICAgIC5lYXNlKGQzLmVhc2VRdWFkT3V0KVxuICAgICAgICAgIC5kdXJhdGlvbig1NTApXG4gICAgICAgICAgLmF0dHIoJ3gnLCAoKSA9PiB4QXhpc1ZhbHVlKVxuICAgICAgICAgIC50ZXh0KChkLCBpKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXJhbmdlTW9kZSkgcmV0dXJuIGxhYmVsO1xuICAgICAgICAgICAgY29uc3QgaXRlbSA9IGl0ZW1zLmZpbmQoKGl0KSA9PiBpdC5sYWJlbCA9PT0gbGFiZWwpO1xuICAgICAgICAgICAgaWYgKGkgPiAwKSByZXR1cm4gaXRlbS5yYW5nZS5sYWJlbDtcbiAgICAgICAgICAgIHJldHVybiBpdGVtLmxhYmVsO1xuICAgICAgICAgIH0pO1xuICAgICAgICBnLnNlbGVjdEFsbCgncmVjdC5iYXJzJykuYXR0cignZmlsbCcsIChkKSA9PiBjb2xvdXJCYXJzKGQpKTtcbiAgICAgICAgdGhpcy50ZXh0Q29sbGlzaW9uKHRoaXMuc2xpZGVycyk7XG4gICAgICAgIHRoaXMuZW1pdCgncmFuZ2VzZWxlY3RlZCcsIHRoaXMuZ2V0U2VsZWN0ZWRSYW5nZSgpKTtcbiAgICAgIH0pO1xuXG4gICAgY29udHJvbHNMYXllciAvLyBncmF5IGxpbmVcbiAgICAgIC5hcHBlbmQoJ3BhdGgnKVxuICAgICAgLmF0dHIoJ2NsYXNzJywgJ2dyYXlsaW5lJylcbiAgICAgIC5hdHRyKFxuICAgICAgICAnZCcsXG4gICAgICAgIGQzLmxpbmUoKShbXG4gICAgICAgICAgWzAsIGhlaWdodF0sXG4gICAgICAgICAgW3dpZHRoLCBoZWlnaHRdLFxuICAgICAgICBdKVxuICAgICAgKVxuICAgICAgLmF0dHIoJ3N0cm9rZS13aWR0aCcsIDIpXG4gICAgICAuYXR0cignb3BhY2l0eScsIDEpXG4gICAgICAuYXR0cignc3Ryb2tlJywgJyNDMUM1QzcnKTtcblxuICAgIGNvbnRyb2xzTGF5ZXIgLy8gYmx1ZSBsaW5lXG4gICAgICAuYXBwZW5kKCdwYXRoJylcbiAgICAgIC5hdHRyKCdjbGFzcycsICdibHVlbGluZScpXG4gICAgICAuYXR0cignZCcsIGQzLmxpbmUoKSh0aGlzLnNsaWRlcnMubWFwKChkKSA9PiBbZC54LCBkLnldKSkpXG4gICAgICAuYXR0cignc3Ryb2tlLXdpZHRoJywgMilcbiAgICAgIC5hdHRyKCdzdHJva2UnLCBjb2xvdXJzLmFjY2VudCk7XG5cbiAgICBjb25zdCByYW5nZVBpY2tlciA9IGNvbnRyb2xzTGF5ZXJcbiAgICAgIC5zZWxlY3RBbGwoJ2cucmFuZ2VwaWNrZXInKVxuICAgICAgLmRhdGEodGhpcy5zbGlkZXJzLnNvcnQoKGEsIGIpID0+IGQzLmFzY2VuZGluZyhhLngsIGIueCkpKVxuICAgICAgLmpvaW4oJ2cnKVxuICAgICAgLmF0dHIoJ2NsYXNzJywgJ3JhbmdlcGlja2VyJyk7XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXRoaXMtYWxpYXNcbiAgICBjb25zdCBzZWxmID0gdGhpczsgLy8gRklYTUU6IEFsbG93IHVzZSBvZiBjbGFzcyBcInRoaXNcIiBpbnNpZGUgZHJhZ2dpbmcgdXBkYXRlO1xuICAgIC8qKlxuICAgICAqIEFuaW1hdGUgdGhlIGVsZW1lbnRzIHdoaWxlIHRoZSB1c2VyIGlzIGRyYWdnaW5nIG9uZSBvZiB0aGUgcmFuZ2Ugc2VsZWN0b3JzXG4gICAgICovXG4gICAgZnVuY3Rpb24gZHJhZ2dpbmdVcGRhdGUoZXZlbnQsIGRhdGEpIHtcbiAgICAgIGNvbnN0IGxhYmVsID0gWHRvTEFCRUwoZXZlbnQueCk7XG4gICAgICBjb25zdCB4QXhpc1ZhbHVlID0gTEFCRUx0b1gobGFiZWwpICsgTEFCRUx0b1guYmFuZHdpZHRoKCkgLyAyO1xuICAgICAgY29uc3QgeWIgPSBbXTtcbiAgICAgIGcuc2VsZWN0QWxsKCdjaXJjbGUnKS5lYWNoKGZ1bmN0aW9uIHNldEJhbGxQb3NpdGlvbigpIHtcbiAgICAgICAgeWIucHVzaCh7IHg6ICtkMy5zZWxlY3QodGhpcykuYXR0cignY3gnKSwgeTogaGVpZ2h0IH0pO1xuICAgICAgfSk7XG4gICAgICBzZWxmLnNsaWRlcnMgPSB5Yi5zb3J0KChhLCBiKSA9PiBkMy5hc2NlbmRpbmcoYS54LCBiLngpKTtcbiAgICAgIC8vIG1vdmUgdGhlIGNpcmNsZVxuICAgICAgZDMuc2VsZWN0KHRoaXMpXG4gICAgICAgIC5zZWxlY3QoJ2NpcmNsZScpXG4gICAgICAgIC5hdHRyKCdjeCcsIChkYXRhLnggPSB4QXhpc1ZhbHVlKSk7XG4gICAgICAvLyBtb3ZlIHRoZSBibHVlIGxpbmVcbiAgICAgIGNvbnRyb2xzTGF5ZXJcbiAgICAgICAgLnNlbGVjdCgncGF0aC5ibHVlbGluZScpXG4gICAgICAgIC5hdHRyKCdkJywgZDMubGluZSgpKHNlbGYuc2xpZGVycy5tYXAoKGQpID0+IFtkLngsIGQueV0pKSk7XG4gICAgICAvLyBjaGFuZ2UgdGhlIHRleHQgcG9zaXRpb25cbiAgICAgIGQzLnNlbGVjdCh0aGlzKVxuICAgICAgICAuc2VsZWN0KCd0ZXh0JylcbiAgICAgICAgLmF0dHIoJ3gnLCAoKSA9PiB4QXhpc1ZhbHVlKTtcbiAgICAgIC8vIGNoYW5nZSB0aGUgdGV4dCB2YWx1ZXNcbiAgICAgIGNvbnRyb2xzTGF5ZXIuc2VsZWN0QWxsKCd0ZXh0JykudGV4dCgoZCkgPT4ge1xuICAgICAgICBjb25zdCBsID0gWHRvTEFCRUwoZC54KTtcbiAgICAgICAgaWYgKCFyYW5nZU1vZGUpIHJldHVybiBsO1xuICAgICAgICBjb25zdCBwb3NpdGlvbiA9IHNlbGYuc2xpZGVycy5maW5kSW5kZXgoKHNsaWRlcikgPT4gc2xpZGVyLnggPT09IGQueCk7XG4gICAgICAgIGNvbnN0IHJhbmdlID0gc2VsZi5nZXRTZWxlY3RlZFJhbmdlKCk7XG4gICAgICAgIGlmIChwb3NpdGlvbiA9PT0gMSkgcmV0dXJuIHJhbmdlWzFdO1xuICAgICAgICByZXR1cm4gcmFuZ2VbMF07XG4gICAgICB9KTtcbiAgICAgIHNlbGYudGV4dENvbGxpc2lvbihzZWxmLnNsaWRlcnMpO1xuICAgICAgLy8gY29sb3VyIHRoZSBiYXJzXG4gICAgICBnLnNlbGVjdEFsbCgncmVjdC5iYXJzJykuYXR0cignZmlsbCcsIChkKSA9PiBjb2xvdXJCYXJzKGQpKTtcbiAgICB9XG5cbiAgICByYW5nZVBpY2tlciAvLyBkcmFnIGhhbmRsZXJcbiAgICAgIC5jYWxsKFxuICAgICAgICBkM1xuICAgICAgICAgIC5kcmFnKClcbiAgICAgICAgICAub24oJ2RyYWcnLCBkcmFnZ2luZ1VwZGF0ZSlcbiAgICAgICAgICAub24oJ2VuZCcsIChldmVudCwgZGF0YSkgPT4ge1xuICAgICAgICAgICAgLy8gdXBkYXRlIG9uZSBsYXN0IHRpbWUgdG8gcHJldmVudCBkZXN5bmNpbmdcbiAgICAgICAgICAgIGRyYWdnaW5nVXBkYXRlKGV2ZW50LCBkYXRhKTtcbiAgICAgICAgICAgIC8vIGVtaXQgdGhlIHNlbGVjdGVkIHJhbmdlXG4gICAgICAgICAgICB0aGlzLmVtaXQoJ3Jhbmdlc2VsZWN0ZWQnLCB0aGlzLmdldFNlbGVjdGVkUmFuZ2UoKSk7XG4gICAgICAgICAgfSlcbiAgICAgICk7XG5cbiAgICByYW5nZVBpY2tlclxuICAgICAgLmFwcGVuZCgnY2lyY2xlJylcbiAgICAgIC5hdHRyKCdjeCcsIChkKSA9PiBkLngpXG4gICAgICAuYXR0cignY3knLCAoZCkgPT4gZC55KVxuICAgICAgLmF0dHIoJ3InLCA5KVxuICAgICAgLmF0dHIoJ2ZpbGwnLCAnd2hpdGUnKVxuICAgICAgLmF0dHIoJ3N0cm9rZS13aWR0aCcsIDIpXG4gICAgICAuYXR0cignc3Ryb2tlJywgY29sb3Vycy5hY2NlbnQpXG4gICAgICAuYXR0cignc3R5bGUnLCAnY3Vyc29yOiBwb2ludGVyJyk7XG5cbiAgICByYW5nZVBpY2tlclxuICAgICAgLmF0dHIoJ3RleHQtYW5jaG9yJywgJ21pZGRsZScpXG4gICAgICAuYXR0cignZm9udC1mYW1pbHknLCAnUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZicpXG4gICAgICAuYXR0cignZm9udC1zaXplJywgJzEycHgnKVxuICAgICAgLmFwcGVuZCgndGV4dCcpXG4gICAgICAuYXR0cigneScsIChkKSA9PiBkLnkgKyBtYXJnaW4uYm90dG9tIC8gMilcbiAgICAgIC5hdHRyKCd4JywgKGQpID0+IGQueClcbiAgICAgIC5hdHRyKCdmaWxsJywgY29sb3Vycy5hY2NlbnQpXG4gICAgICAudGV4dCgoZCwgaSkgPT4ge1xuICAgICAgICBjb25zdCBsID0gWHRvTEFCRUwoZC54KTtcbiAgICAgICAgaWYgKHJhbmdlTW9kZSAmJiBpID09PSAxKSB7XG4gICAgICAgICAgcmV0dXJuIGl0ZW1zLmZpbmQoKGl0ZW0pID0+IGl0ZW0ubGFiZWwgPT09IGwpLnJhbmdlLmxhYmVsO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBsO1xuICAgICAgfSk7XG5cbiAgICBpZiAoYXhpcz8ueUF4aXM/LnNob3cpIHtcbiAgICAgIGNvbnN0IHlBeGlzID0gZDNcbiAgICAgICAgLmF4aXNMZWZ0KHNjYWxlSGVpZ2h0KVxuICAgICAgICAudGlja3MoYXhpcy55QXhpcy50aWNrQW1vdW50ID8/IDIpXG4gICAgICAgIC50aWNrVmFsdWVzKGF4aXMueUF4aXMudmFsdWVzID8gYXhpcy55QXhpcy52YWx1ZXMgOiBudWxsKTtcbiAgICAgIGNvbnN0IHlBeGlzR3JvdXAgPSBzdmdcbiAgICAgICAgLmFwcGVuZCgnZycpXG4gICAgICAgIC5hdHRyKCd0cmFuc2Zvcm0nLCBgdHJhbnNsYXRlKCR7bWFyZ2luLmxlZnR9LCAke21hcmdpbi50b3B9KWApXG4gICAgICAgIC5jYWxsKHlBeGlzKTtcblxuICAgICAgeUF4aXNHcm91cC5zZWxlY3RBbGwoJ3BhdGgsIGxpbmUnKS5zdHlsZSgnc3Ryb2tlJywgY29sb3Vycy5hY2NlbnQpO1xuICAgICAgeUF4aXNHcm91cC5zZWxlY3RBbGwoJ3RleHQnKS5zdHlsZSgnZmlsbCcsIGNvbG91cnMuYWNjZW50KTtcbiAgICB9XG4gIH07XG5cbiAgLyoqIEF2b2lkIGNvbGxpc2lvbiBvZiB0aGUgc2xpZGVyIGxhYmVscyAqL1xuICB0ZXh0Q29sbGlzaW9uID0gKHNsaWRlcnM6IFNsaWRlcnMpID0+IHtcbiAgICAvLyBwcmUtcmVxdWlzaXRlc1xuICAgIGNvbnN0IGNvbnRyb2xzTGF5ZXIgPSB0aGlzLmQzLnNlbGVjdCgnZy5jaGFydCcpLnNlbGVjdCgnZy5jb250cm9scycpO1xuICAgIGNvbnN0IHsgaXRlbXMsIG1hcmdpbiB9ID0gdGhpcy5kYXRhO1xuICAgIGNvbnN0IHJhbmdlTW9kZSA9IGl0ZW1zLmV2ZXJ5KChkKSA9PiBkLnJhbmdlKTtcbiAgICAvLyBydW4gY29sbGlzaW9uIGRldGVjdGlvblxuICAgIGNvbnN0IGlzQ29sbGlkaW5nID0gc2xpZGVyc1swXS54ID09PSBzbGlkZXJzWzFdLng7XG4gICAgaWYgKHJhbmdlTW9kZSAmJiBpc0NvbGxpZGluZykge1xuICAgICAgY29udHJvbHNMYXllclxuICAgICAgICAuc2VsZWN0QWxsKCd0ZXh0JylcbiAgICAgICAgLmF0dHIoJ3knLCAoZCwgaSkgPT5cbiAgICAgICAgICBpID4gMCA/IGQueSArIG1hcmdpbi5ib3R0b20gLyAyICsgMTIgOiBkLnkgKyBtYXJnaW4uYm90dG9tIC8gMlxuICAgICAgICApXG4gICAgICAgIC50ZXh0KChkLCBpKSA9PiB7XG4gICAgICAgICAgY29uc3QgcmFuZ2UgPSB0aGlzLmdldFNlbGVjdGVkUmFuZ2UoKTtcbiAgICAgICAgICByZXR1cm4gcmFuZ2VbaV07XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb250cm9sc0xheWVyLnNlbGVjdEFsbCgndGV4dCcpLmF0dHIoJ3knLCAoZCkgPT4gZC55ICsgbWFyZ2luLmJvdHRvbSAvIDIpO1xuICAgIH1cbiAgfTtcblxuICAvKiogR2V0IHgtYXhpcyBwb3NpdGlvbiBmcm9tIGxhYmVsICovXG4gIGxhYmVsVG9YKCkge1xuICAgIHJldHVybiB0aGlzLmQzXG4gICAgICAuc2NhbGVCYW5kKClcbiAgICAgIC5kb21haW4odGhpcy5kYXRhLml0ZW1zLm1hcCgoZCkgPT4gZC5sYWJlbCkpXG4gICAgICAucmFuZ2UoWzAsIHRoaXMuZGF0YS53aWR0aF0pXG4gICAgICAucGFkZGluZ0lubmVyKDAuMTcpXG4gICAgICAucGFkZGluZ091dGVyKDEpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhbiBldmVudCB3aXRoIHZpZXdCb3ggY29vcmRpbmF0ZXMgYW5kXG4gICAqIHBhcnNlIHRoZW0gaW4gYWJzb2x1dGUgY29vcmRpbmF0ZXNcbiAgICovXG4gIGdldEV2ZW50Q29vcmRzKGV2ZW50KTogeyB4OiBudW1iZXI7IHk6IG51bWJlciB9IHtcbiAgICBjb25zdCBtID0gZXZlbnQudGFyZ2V0LmdldFNjcmVlbkNUTSgpO1xuICAgIGNvbnN0IHBvaW50ID0gdGhpcy5zdmcubm9kZSgpLmNyZWF0ZVNWR1BvaW50KCk7XG4gICAgcG9pbnQueCA9IGV2ZW50LmNsaWVudFg7XG4gICAgcG9pbnQueSA9IGV2ZW50LmNsaWVudFk7XG4gICAgcmV0dXJuIHBvaW50Lm1hdHJpeFRyYW5zZm9ybShtLmludmVyc2UoKSk7XG4gIH1cblxuICAvKiogUHVibGljIGFwaSB0aGF0IGFsbG93cyB0byBkaW5hbWljYWxseSBjaGFuZ2UgdGhlIGJhcnMgKi9cbiAgc2V0QmFycyA9IChuZXdCYXJzKSA9PiB7XG4gICAgdGhpcy5kYXRhLml0ZW1zID0gbmV3QmFycztcbiAgICB0aGlzLmRyYXcoKTtcbiAgICB0aGlzLmQzLnNlbGVjdEFsbCgncmVjdC5iYXJzJykuYXR0cignZmlsbCcsIChkKSA9PiB0aGlzLmNvbG91ckJhcnMoZCkpO1xuICB9O1xuXG4gIC8qKiBQdWJsaWMgYXBpIHRoYXQgYWxsb3dzIHRvIGRpbmFtaWNhbGx5IGNoYW5nZSB0aGUgc2xpZGVyIHBvc2l0aW9uICovXG4gIHNldFNsaWRlcnMgPSAoW3N0YXJ0TGFiZWwsIGVuZExhYmVsXTogTGFiZWxDb3VwbGUsIGVtaXQgPSB0cnVlKSA9PiB7XG4gICAgLy8gc2V0U2xpZGVycyhbMTQ1MCwgMTU3NV0pXG4gICAgdGhpcy5kYXRhLnNldFNsaWRlcnMgPSBbYCR7c3RhcnRMYWJlbH1gLCBgJHtlbmRMYWJlbH1gXTtcbiAgICB0aGlzLmRyYXcoKTtcbiAgICB0aGlzLmQzLnNlbGVjdEFsbCgncmVjdC5iYXJzJykuYXR0cignZmlsbCcsIChkKSA9PiB0aGlzLmNvbG91ckJhcnMoZCkpO1xuICAgIGNvbnN0IHJhbmdlID0gdGhpcy5nZXRTZWxlY3RlZFJhbmdlKCk7XG4gICAgaWYgKGVtaXQpIHRoaXMuZW1pdCgncmFuZ2VzZWxlY3RlZCcsIHJhbmdlKTtcbiAgICB0aGlzLnRleHRDb2xsaXNpb24odGhpcy5zbGlkZXJzKTtcbiAgICByZXR1cm4gcmFuZ2U7XG4gIH07XG5cbiAgLyoqIEVtaXRzIGFuIGV2ZW50IHdoZW4gdGhlIGNvbXBvbmVudCBoYXMgbG9hZGVkICovXG4gIGVtaXRMb2FkZWQocGF5bG9hZCkge1xuICAgIGlmICghdGhpcy5lbWl0KSByZXR1cm47XG4gICAgdGhpcy5lbWl0KCdsb2FkZWQnLCBwYXlsb2FkKTtcbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cImRhdGFcIiBjbGFzcz1cIm43LWhpc3RvZ3JhbS1yYW5nZVwiPlxuICA8c3ZnICNoaXN0b2dyYW1SYW5nZSBbaWRdPVwiZGF0YS5jb250YWluZXJJZFwiPjwvc3ZnPlxuPC9kaXY+XG4iXX0=
@@ -7,10 +7,10 @@ export class IconComponent {
7
7
  return;
8
8
  this.emit('click', value);
9
9
  }
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: IconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: IconComponent, selector: "n7-icon", inputs: { data: "data", emit: "emit" }, ngImport: i0, template: "<ng-container *ngIf=\"data as icon\">\n <span\n class=\"n7-icon\"\n *ngIf=\"icon.id\"\n [ngClass]=\"icon.id\"\n [ngStyle]=\"icon.style\"\n (click)=\"onClick(icon.payload)\"\n >\n </span>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: IconComponent, selector: "n7-icon", inputs: { data: "data", emit: "emit" }, ngImport: i0, template: "<ng-container *ngIf=\"data as icon\">\n <span\n class=\"n7-icon\"\n *ngIf=\"icon.id\"\n [ngClass]=\"icon.id\"\n [ngStyle]=\"icon.style\"\n (click)=\"onClick(icon.payload)\"\n >\n </span>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
12
12
  }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: IconComponent, decorators: [{
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IconComponent, decorators: [{
14
14
  type: Component,
15
15
  args: [{ selector: 'n7-icon', template: "<ng-container *ngIf=\"data as icon\">\n <span\n class=\"n7-icon\"\n *ngIf=\"icon.id\"\n [ngClass]=\"icon.id\"\n [ngStyle]=\"icon.style\"\n (click)=\"onClick(icon.payload)\"\n >\n </span>\n</ng-container>\n" }]
16
16
  }], propDecorators: { data: [{
@@ -18,4 +18,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
18
18
  }], emit: [{
19
19
  type: Input
20
20
  }] } });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2R2LWNvbXBvbmVudHMtbGliL3NyYy9saWIvY29tcG9uZW50cy9pY29uL2ljb24udHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdi1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvaWNvbi9pY29uLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU9qRCxNQUFNLE9BQU8sYUFBYTtJQUt4QixPQUFPLENBQUMsS0FBSztRQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU87UUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQzs4R0FSVSxhQUFhO2tHQUFiLGFBQWEsdUZDUDFCLGlPQVVBOzsyRkRIYSxhQUFhO2tCQUp6QixTQUFTOytCQUNFLFNBQVM7OEJBSVYsSUFBSTtzQkFBWixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEljb24gfSBmcm9tICcuLi8uLi9zaGFyZWQtaW50ZXJmYWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ243LWljb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vaWNvbi5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgSWNvbkNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGRhdGE6IEljb247XG5cbiAgQElucHV0KCkgZW1pdDogKHR5cGU6IHN0cmluZywgcGF5bG9hZD86IHVua25vd24pID0+IHZvaWQ7XG5cbiAgb25DbGljayh2YWx1ZSkge1xuICAgIGlmICghdGhpcy5lbWl0KSByZXR1cm47XG4gICAgdGhpcy5lbWl0KCdjbGljaycsIHZhbHVlKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImRhdGEgYXMgaWNvblwiPlxuICA8c3BhblxuICAgIGNsYXNzPVwibjctaWNvblwiXG4gICAgKm5nSWY9XCJpY29uLmlkXCJcbiAgICBbbmdDbGFzc109XCJpY29uLmlkXCJcbiAgICBbbmdTdHlsZV09XCJpY29uLnN0eWxlXCJcbiAgICAoY2xpY2spPVwib25DbGljayhpY29uLnBheWxvYWQpXCJcbiAgPlxuICA8L3NwYW4+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2R2LWNvbXBvbmVudHMtbGliL3NyYy9saWIvY29tcG9uZW50cy9pY29uL2ljb24udHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdi1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvaWNvbi9pY29uLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU9qRCxNQUFNLE9BQU8sYUFBYTtJQUt4QixPQUFPLENBQUMsS0FBSztRQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU87UUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQzsrR0FSVSxhQUFhO21HQUFiLGFBQWEsdUZDUDFCLGlPQVVBOzs0RkRIYSxhQUFhO2tCQUp6QixTQUFTOytCQUNFLFNBQVM7OEJBSVYsSUFBSTtzQkFBWixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEljb24gfSBmcm9tICcuLi8uLi9zaGFyZWQtaW50ZXJmYWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ243LWljb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vaWNvbi5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgSWNvbkNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGRhdGE6IEljb247XG5cbiAgQElucHV0KCkgZW1pdDogKHR5cGU6IHN0cmluZywgcGF5bG9hZD86IHVua25vd24pID0+IHZvaWQ7XG5cbiAgb25DbGljayh2YWx1ZSkge1xuICAgIGlmICghdGhpcy5lbWl0KSByZXR1cm47XG4gICAgdGhpcy5lbWl0KCdjbGljaycsIHZhbHVlKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImRhdGEgYXMgaWNvblwiPlxuICA8c3BhblxuICAgIGNsYXNzPVwibjctaWNvblwiXG4gICAgKm5nSWY9XCJpY29uLmlkXCJcbiAgICBbbmdDbGFzc109XCJpY29uLmlkXCJcbiAgICBbbmdTdHlsZV09XCJpY29uLnN0eWxlXCJcbiAgICAoY2xpY2spPVwib25DbGljayhpY29uLnBheWxvYWQpXCJcbiAgPlxuICA8L3NwYW4+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -43,10 +43,10 @@ export class ImageViewerComponent {
43
43
  return;
44
44
  this.emit('thumbclick', payload);
45
45
  }
46
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: ImageViewerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
47
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: ImageViewerComponent, selector: "n7-image-viewer", inputs: { data: "data", emit: "emit" }, ngImport: i0, template: "<div *ngIf=\"data\" class=\"n7-image-viewer {{data.classes || ''}}\">\n <!-- OSD viewer -->\n <div id=\"{{data.viewerId}}\" class=\"n7-image-viewer__viewer\"></div>\n\n <!-- Zoom controls -->\n <div class=\"n7-image-viewer__controls\">\n <ul class=\"n7-image-viewer__controls-list\">\n <li class=\"n7-image-viewer__controls-item\" id=\"n7-image-viewer-zoom-in\">\n <span class=\"n7-icon-search-plus\"></span>\n </li>\n <li class=\"n7-image-viewer__controls-item\" id=\"n7-image-viewer-zoom-out\">\n <span class=\"n7-icon-search-minus\"></span>\n </li>\n <!--\n <li class=\"n7-image-viewer__controls-item\" id=\"n7-image-viewer-full-screen\">\n <span class=\"n7-icon-expand-arrows\"></span>\n </li>\n -->\n </ul>\n </div>\n\n <!-- Navigation -->\n <div\n *ngIf=\"!data.hideNavigation\"\n class=\"n7-image-viewer__prev\"\n id=\"n7-image-viewer-nav-prev\"\n >\n <span class=\"n7-icon-angle-left\"></span>\n </div>\n\n <div\n *ngIf=\"!data.hideNavigation\"\n class=\"n7-image-viewer__next\"\n id=\"n7-image-viewer-nav-next\"\n >\n <span class=\"n7-icon-angle-right\"></span>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
46
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ImageViewerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
47
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ImageViewerComponent, selector: "n7-image-viewer", inputs: { data: "data", emit: "emit" }, ngImport: i0, template: "<div *ngIf=\"data\" class=\"n7-image-viewer {{data.classes || ''}}\">\n <!-- OSD viewer -->\n <div id=\"{{data.viewerId}}\" class=\"n7-image-viewer__viewer\"></div>\n\n <!-- Zoom controls -->\n <div class=\"n7-image-viewer__controls\">\n <ul class=\"n7-image-viewer__controls-list\">\n <li class=\"n7-image-viewer__controls-item\" id=\"n7-image-viewer-zoom-in\">\n <span class=\"n7-icon-search-plus\"></span>\n </li>\n <li class=\"n7-image-viewer__controls-item\" id=\"n7-image-viewer-zoom-out\">\n <span class=\"n7-icon-search-minus\"></span>\n </li>\n <!--\n <li class=\"n7-image-viewer__controls-item\" id=\"n7-image-viewer-full-screen\">\n <span class=\"n7-icon-expand-arrows\"></span>\n </li>\n -->\n </ul>\n </div>\n\n <!-- Navigation -->\n <div\n *ngIf=\"!data.hideNavigation\"\n class=\"n7-image-viewer__prev\"\n id=\"n7-image-viewer-nav-prev\"\n >\n <span class=\"n7-icon-angle-left\"></span>\n </div>\n\n <div\n *ngIf=\"!data.hideNavigation\"\n class=\"n7-image-viewer__next\"\n id=\"n7-image-viewer-nav-next\"\n >\n <span class=\"n7-icon-angle-right\"></span>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
48
48
  }
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: ImageViewerComponent, decorators: [{
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ImageViewerComponent, decorators: [{
50
50
  type: Component,
51
51
  args: [{ selector: 'n7-image-viewer', template: "<div *ngIf=\"data\" class=\"n7-image-viewer {{data.classes || ''}}\">\n <!-- OSD viewer -->\n <div id=\"{{data.viewerId}}\" class=\"n7-image-viewer__viewer\"></div>\n\n <!-- Zoom controls -->\n <div class=\"n7-image-viewer__controls\">\n <ul class=\"n7-image-viewer__controls-list\">\n <li class=\"n7-image-viewer__controls-item\" id=\"n7-image-viewer-zoom-in\">\n <span class=\"n7-icon-search-plus\"></span>\n </li>\n <li class=\"n7-image-viewer__controls-item\" id=\"n7-image-viewer-zoom-out\">\n <span class=\"n7-icon-search-minus\"></span>\n </li>\n <!--\n <li class=\"n7-image-viewer__controls-item\" id=\"n7-image-viewer-full-screen\">\n <span class=\"n7-icon-expand-arrows\"></span>\n </li>\n -->\n </ul>\n </div>\n\n <!-- Navigation -->\n <div\n *ngIf=\"!data.hideNavigation\"\n class=\"n7-image-viewer__prev\"\n id=\"n7-image-viewer-nav-prev\"\n >\n <span class=\"n7-icon-angle-left\"></span>\n </div>\n\n <div\n *ngIf=\"!data.hideNavigation\"\n class=\"n7-image-viewer__next\"\n id=\"n7-image-viewer-nav-next\"\n >\n <span class=\"n7-icon-angle-right\"></span>\n </div>\n</div>\n" }]
52
52
  }], propDecorators: { data: [{
@@ -54,4 +54,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
54
54
  }], emit: [{
55
55
  type: Input
56
56
  }] } });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Utdmlld2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHYtY29tcG9uZW50cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2ltYWdlLXZpZXdlci9pbWFnZS12aWV3ZXIudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdi1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvaW1hZ2Utdmlld2VyL2ltYWdlLXZpZXdlci5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDZCQUE2QjtBQUM3QixrQkFBa0I7QUFDbEIsNkJBQTZCO0FBRTdCLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUEyRGpEOzs7R0FHRztBQUtILE1BQU0sT0FBTyxvQkFBb0I7SUFKakM7UUFTVSxZQUFPLEdBQUcsS0FBSyxDQUFDO0tBa0N6QjtJQWhDQyxxQkFBcUI7UUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPO1FBQ3ZDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBRXBCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxNQUFNLFNBQVMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUztnQkFDcEMsQ0FBQyxDQUFDLGlEQUFpRDtnQkFDbkQsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ3hCLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtnQkFDdEMsTUFBTSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsR0FBRyxNQUFNLENBQUM7Z0JBQzFDLE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQztvQkFDM0IsRUFBRSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUTtvQkFDdEIsU0FBUztvQkFDVCxXQUFXLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNO29CQUM3QixZQUFZLEVBQUUseUJBQXlCO29CQUN2QyxhQUFhLEVBQUUsMEJBQTBCO29CQUN6QyxVQUFVLEVBQUUsc0JBQXNCO29CQUNsQyxjQUFjLEVBQUUsNkJBQTZCO29CQUM3QyxVQUFVLEVBQUUsMEJBQTBCO29CQUN0QyxjQUFjLEVBQUUsMEJBQTBCO29CQUMxQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVTtpQkFDeEIsQ0FBQyxDQUFDO2dCQUVILElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQy9CLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTyxDQUFDLE9BQU87UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ25DLENBQUM7OEdBdENVLG9CQUFvQjtrR0FBcEIsb0JBQW9CLCtGQ3ZFakMsb3NDQXNDQTs7MkZEaUNhLG9CQUFvQjtrQkFKaEMsU0FBUzsrQkFDRSxpQkFBaUI7OEJBSWxCLElBQUk7c0JBQVosS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSU1BR0UtVklFV0VSLnRzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogSW50ZXJmYWNlIGZvciBJbWFnZVZpZXdlckNvbXBvbmVudCdzIGltYWdlcyBcImRhdGFcIlxuICpcbiAqIEhlcmUgdGhlIG1haW4gb3B0aW9ucyBhdmFpbGFibGUsIGZvciBhIGNvbXBsZXRlIGd1aWRlIG9mIGltYWdlIHNldHRpbmdzXG4gKiB2aWV3IHRoZSBvZmZpY2lhbCBvcGVuc2VhZHJhZ29uIGRvY3VtZW50YXRpb24gaHR0cHM6Ly9vcGVuc2VhZHJhZ29uLmdpdGh1Yi5pby9cbiAqIEFsbCBhdmFpbGFibGUgb3B0aW9ucyBoZXJlOiBodHRwczovL29wZW5zZWFkcmFnb24uZ2l0aHViLmlvL2RvY3MvT3BlblNlYWRyYWdvbi5odG1sXG4gKlxuICogQHByb3BlcnR5ICB0eXBlIChyZXF1aXJlZClcbiAqIEFkbWl0dGVkIHZhbHVlczpcbiAqICdpbWFnZScgfCAnem9vbWlmeXRpbGVzZXJ2aWNlJyB8ICdvcGVuc3RyZWV0bWFwcycgfCAndGlsZWRtYXBzZXJ2aWNlJyB8ICdsZWdhY3ktaW1hZ2UtcHlyYW1pZCdcbiAqIEBwcm9wZXJ0eSAgaGVpZ2h0IChvcHRpb25hbCkgaW1hZ2UgaGVpZ2h0XG4gKiBAcHJvcGVydHkgIHdpZHRoIChvcHRpb25hbCkgaW1hZ2Ugd2lkdGhcbiAqIEBwcm9wZXJ0eSAgdXJsIChyZXF1aXJlZCkgaW1hZ2UgdXJsXG4gKiBAcHJvcGVydHkgIGJ1aWxkUHlyYW1pZCAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgIGNyb3NzT3JpZ2luUG9saWN5IChvcHRpb25hbCkgQWRtaXR0ZWQgdmFsdWVzICdBbm9ueW1vdXMnIHwgJ3VzZS1jcmVkZW50aWFscycgfCBmYWxzZTtcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbWFnZURhdGEge1xuICB0eXBlOlxuICAgIHwgJ2ltYWdlJ1xuICAgIHwgJ3pvb21pZnl0aWxlc2VydmljZSdcbiAgICB8ICdvcGVuc3RyZWV0bWFwcydcbiAgICB8ICd0aWxlZG1hcHNlcnZpY2UnXG4gICAgfCAnbGVnYWN5LWltYWdlLXB5cmFtaWQnO1xuICBoZWlnaHQ/OiBudW1iZXI7XG4gIHdpZHRoPzogbnVtYmVyO1xuICB1cmw6IHN0cmluZztcbiAgYnVpbGRQeXJhbWlkOiBib29sZWFuO1xuICBjcm9zc09yaWdpblBvbGljeT86ICdBbm9ueW1vdXMnIHwgJ3VzZS1jcmVkZW50aWFscycgfCBmYWxzZTtcbn1cblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIEltYWdlVmlld2VyQ29tcG9uZW50J3MgXCJkYXRhXCJcbiAqXG4gKiBAcHJvcGVydHkgcHJlZml4VXJsIChvcHRpb25hbCkgUHJlcGVuZHMgdGhlIHByZWZpeFVybCB0byBuYXZJbWFnZXMgcGF0aHMuXG4gKiBEZWZhdWx0IGlzIC8vb3BlbnNlYWRyYWdvbi5naXRodWIuaW8vb3BlbnNlYWRyYWdvbi9pbWFnZXMvXG4gKiBAcHJvcGVydHkgY2xhc3NlcyAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgdmlld2VyV2lkdGggKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IHZpZXdlckhlaWdodCAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgaW1hZ2VzIChyZXF1aXJlZClcbiAqIEBwcm9wZXJ0eSB2aWV3ZXJJZCAocmVxdWlyZWQpIFRoZSBpZCB0byBhc3NpZ24gdG8gdGhlIGltYWdldmlld2VyIGNvbnRhaW5lclxuICogQHByb3BlcnR5IGxpYk9wdGlvbnMgKHJlcXVpcmVkKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEltYWdlVmlld2VyRGF0YSB7XG4gIC8qIHZpZXdlciBpY29uJ3MgZGlyZWN0b3J5IHBhdGggKi9cbiAgcHJlZml4VXJsPzogc3RyaW5nO1xuICBjbGFzc2VzPzogc3RyaW5nO1xuICB2aWV3ZXJXaWR0aD86IG51bWJlcjtcbiAgdmlld2VySGVpZ2h0PzogbnVtYmVyO1xuICBpbWFnZXM6IEltYWdlRGF0YVtdIHwgc3RyaW5nO1xuICB2aWV3ZXJJZDogc3RyaW5nO1xuICBoaWRlTmF2aWdhdGlvbj86IGJvb2xlYW47XG4gIC8qIGZvciBhIGxpc3Qgb2Ygb3B0aW9ucyB2aWV3IHRoZSBvZmZpY2lhbCBvcGVuc2VhZHJhZ29uIGRvY3VtZW50YXRpb24gaHR0cDovL29wZW5zZWFkcmFnb24uZ2l0aHViLmlvL2RvY3MvT3BlblNlYWRyYWdvbi5odG1sIy5PcHRpb25zICovXG4gIGxpYk9wdGlvbnM6IGFueTtcbiAgLyogQSBtZXRob2QgcmV0dXJuaW5nIHRoZSBsaWJyYXJ5IGluc3RhbmNlICovXG4gIF9zZXRWaWV3ZXI6IGFueTtcbn1cblxuLyoqXG4gKiBJbWFnZVZpZXdlckNvbXBvbmVudCA8bjctaW1hZ2Utdmlld2VyPlxuICpcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbjctaW1hZ2Utdmlld2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ltYWdlLXZpZXdlci5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgSW1hZ2VWaWV3ZXJDb21wb25lbnQge1xuICBASW5wdXQoKSBkYXRhOiBJbWFnZVZpZXdlckRhdGE7XG5cbiAgQElucHV0KCkgZW1pdDogYW55O1xuXG4gIHByaXZhdGUgX2xvYWRlZCA9IGZhbHNlO1xuXG4gIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpIHtcbiAgICBpZiAoIXRoaXMuZGF0YSB8fCB0aGlzLl9sb2FkZWQpIHJldHVybjtcbiAgICB0aGlzLl9sb2FkZWQgPSB0cnVlO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjb25zdCBwcmVmaXhVcmwgPSAhdGhpcy5kYXRhLnByZWZpeFVybFxuICAgICAgICA/ICcvL29wZW5zZWFkcmFnb24uZ2l0aHViLmlvL29wZW5zZWFkcmFnb24vaW1hZ2VzLydcbiAgICAgICAgOiB0aGlzLmRhdGEucHJlZml4VXJsO1xuICAgICAgaW1wb3J0KCdvcGVuc2VhZHJhZ29uJykudGhlbigobW9kdWxlKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgZGVmYXVsdDogb3BlbnNlYWRyYWdvbiB9ID0gbW9kdWxlO1xuICAgICAgICBjb25zdCB2aWV3ZXIgPSBvcGVuc2VhZHJhZ29uKHtcbiAgICAgICAgICBpZDogdGhpcy5kYXRhLnZpZXdlcklkLFxuICAgICAgICAgIHByZWZpeFVybCxcbiAgICAgICAgICB0aWxlU291cmNlczogdGhpcy5kYXRhLmltYWdlcyxcbiAgICAgICAgICB6b29tSW5CdXR0b246ICduNy1pbWFnZS12aWV3ZXItem9vbS1pbicsXG4gICAgICAgICAgem9vbU91dEJ1dHRvbjogJ243LWltYWdlLXZpZXdlci16b29tLW91dCcsXG4gICAgICAgICAgaG9tZUJ1dHRvbjogJ243LWltYWdlLXZpZXdlci1ob21lJyxcbiAgICAgICAgICBmdWxsUGFnZUJ1dHRvbjogJ243LWltYWdlLXZpZXdlci1mdWxsLXNjcmVlbicsXG4gICAgICAgICAgbmV4dEJ1dHRvbjogJ243LWltYWdlLXZpZXdlci1uYXYtbmV4dCcsXG4gICAgICAgICAgcHJldmlvdXNCdXR0b246ICduNy1pbWFnZS12aWV3ZXItbmF2LXByZXYnLFxuICAgICAgICAgIC4uLnRoaXMuZGF0YS5saWJPcHRpb25zLFxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmRhdGEuX3NldFZpZXdlcih2aWV3ZXIpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBvbkNsaWNrKHBheWxvYWQpIHtcbiAgICBpZiAoIXRoaXMuZW1pdCkgcmV0dXJuO1xuICAgIHRoaXMuZW1pdCgndGh1bWJjbGljaycsIHBheWxvYWQpO1xuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiZGF0YVwiIGNsYXNzPVwibjctaW1hZ2Utdmlld2VyIHt7ZGF0YS5jbGFzc2VzIHx8ICcnfX1cIj5cbiAgPCEtLSBPU0Qgdmlld2VyIC0tPlxuICA8ZGl2IGlkPVwie3tkYXRhLnZpZXdlcklkfX1cIiBjbGFzcz1cIm43LWltYWdlLXZpZXdlcl9fdmlld2VyXCI+PC9kaXY+XG5cbiAgPCEtLSBab29tIGNvbnRyb2xzIC0tPlxuICA8ZGl2IGNsYXNzPVwibjctaW1hZ2Utdmlld2VyX19jb250cm9sc1wiPlxuICAgIDx1bCBjbGFzcz1cIm43LWltYWdlLXZpZXdlcl9fY29udHJvbHMtbGlzdFwiPlxuICAgICAgPGxpIGNsYXNzPVwibjctaW1hZ2Utdmlld2VyX19jb250cm9scy1pdGVtXCIgaWQ9XCJuNy1pbWFnZS12aWV3ZXItem9vbS1pblwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm43LWljb24tc2VhcmNoLXBsdXNcIj48L3NwYW4+XG4gICAgICA8L2xpPlxuICAgICAgPGxpIGNsYXNzPVwibjctaW1hZ2Utdmlld2VyX19jb250cm9scy1pdGVtXCIgaWQ9XCJuNy1pbWFnZS12aWV3ZXItem9vbS1vdXRcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJuNy1pY29uLXNlYXJjaC1taW51c1wiPjwvc3Bhbj5cbiAgICAgIDwvbGk+XG4gICAgICA8IS0tXG4gICAgICAgICAgICA8bGkgY2xhc3M9XCJuNy1pbWFnZS12aWV3ZXJfX2NvbnRyb2xzLWl0ZW1cIiBpZD1cIm43LWltYWdlLXZpZXdlci1mdWxsLXNjcmVlblwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibjctaWNvbi1leHBhbmQtYXJyb3dzXCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIC0tPlxuICAgIDwvdWw+XG4gIDwvZGl2PlxuXG4gIDwhLS0gTmF2aWdhdGlvbiAtLT5cbiAgPGRpdlxuICAgICpuZ0lmPVwiIWRhdGEuaGlkZU5hdmlnYXRpb25cIlxuICAgIGNsYXNzPVwibjctaW1hZ2Utdmlld2VyX19wcmV2XCJcbiAgICBpZD1cIm43LWltYWdlLXZpZXdlci1uYXYtcHJldlwiXG4gID5cbiAgICA8c3BhbiBjbGFzcz1cIm43LWljb24tYW5nbGUtbGVmdFwiPjwvc3Bhbj5cbiAgPC9kaXY+XG5cbiAgPGRpdlxuICAgICpuZ0lmPVwiIWRhdGEuaGlkZU5hdmlnYXRpb25cIlxuICAgIGNsYXNzPVwibjctaW1hZ2Utdmlld2VyX19uZXh0XCJcbiAgICBpZD1cIm43LWltYWdlLXZpZXdlci1uYXYtbmV4dFwiXG4gID5cbiAgICA8c3BhbiBjbGFzcz1cIm43LWljb24tYW5nbGUtcmlnaHRcIj48L3NwYW4+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Utdmlld2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHYtY29tcG9uZW50cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2ltYWdlLXZpZXdlci9pbWFnZS12aWV3ZXIudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdi1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvaW1hZ2Utdmlld2VyL2ltYWdlLXZpZXdlci5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDZCQUE2QjtBQUM3QixrQkFBa0I7QUFDbEIsNkJBQTZCO0FBRTdCLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUEyRGpEOzs7R0FHRztBQUtILE1BQU0sT0FBTyxvQkFBb0I7SUFKakM7UUFTVSxZQUFPLEdBQUcsS0FBSyxDQUFDO0tBa0N6QjtJQWhDQyxxQkFBcUI7UUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPO1FBQ3ZDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBRXBCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxNQUFNLFNBQVMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUztnQkFDcEMsQ0FBQyxDQUFDLGlEQUFpRDtnQkFDbkQsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ3hCLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtnQkFDdEMsTUFBTSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsR0FBRyxNQUFNLENBQUM7Z0JBQzFDLE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQztvQkFDM0IsRUFBRSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUTtvQkFDdEIsU0FBUztvQkFDVCxXQUFXLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNO29CQUM3QixZQUFZLEVBQUUseUJBQXlCO29CQUN2QyxhQUFhLEVBQUUsMEJBQTBCO29CQUN6QyxVQUFVLEVBQUUsc0JBQXNCO29CQUNsQyxjQUFjLEVBQUUsNkJBQTZCO29CQUM3QyxVQUFVLEVBQUUsMEJBQTBCO29CQUN0QyxjQUFjLEVBQUUsMEJBQTBCO29CQUMxQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVTtpQkFDeEIsQ0FBQyxDQUFDO2dCQUVILElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQy9CLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTyxDQUFDLE9BQU87UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ25DLENBQUM7K0dBdENVLG9CQUFvQjttR0FBcEIsb0JBQW9CLCtGQ3ZFakMsb3NDQXNDQTs7NEZEaUNhLG9CQUFvQjtrQkFKaEMsU0FBUzsrQkFDRSxpQkFBaUI7OEJBSWxCLElBQUk7c0JBQVosS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSU1BR0UtVklFV0VSLnRzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogSW50ZXJmYWNlIGZvciBJbWFnZVZpZXdlckNvbXBvbmVudCdzIGltYWdlcyBcImRhdGFcIlxuICpcbiAqIEhlcmUgdGhlIG1haW4gb3B0aW9ucyBhdmFpbGFibGUsIGZvciBhIGNvbXBsZXRlIGd1aWRlIG9mIGltYWdlIHNldHRpbmdzXG4gKiB2aWV3IHRoZSBvZmZpY2lhbCBvcGVuc2VhZHJhZ29uIGRvY3VtZW50YXRpb24gaHR0cHM6Ly9vcGVuc2VhZHJhZ29uLmdpdGh1Yi5pby9cbiAqIEFsbCBhdmFpbGFibGUgb3B0aW9ucyBoZXJlOiBodHRwczovL29wZW5zZWFkcmFnb24uZ2l0aHViLmlvL2RvY3MvT3BlblNlYWRyYWdvbi5odG1sXG4gKlxuICogQHByb3BlcnR5ICB0eXBlIChyZXF1aXJlZClcbiAqIEFkbWl0dGVkIHZhbHVlczpcbiAqICdpbWFnZScgfCAnem9vbWlmeXRpbGVzZXJ2aWNlJyB8ICdvcGVuc3RyZWV0bWFwcycgfCAndGlsZWRtYXBzZXJ2aWNlJyB8ICdsZWdhY3ktaW1hZ2UtcHlyYW1pZCdcbiAqIEBwcm9wZXJ0eSAgaGVpZ2h0IChvcHRpb25hbCkgaW1hZ2UgaGVpZ2h0XG4gKiBAcHJvcGVydHkgIHdpZHRoIChvcHRpb25hbCkgaW1hZ2Ugd2lkdGhcbiAqIEBwcm9wZXJ0eSAgdXJsIChyZXF1aXJlZCkgaW1hZ2UgdXJsXG4gKiBAcHJvcGVydHkgIGJ1aWxkUHlyYW1pZCAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgIGNyb3NzT3JpZ2luUG9saWN5IChvcHRpb25hbCkgQWRtaXR0ZWQgdmFsdWVzICdBbm9ueW1vdXMnIHwgJ3VzZS1jcmVkZW50aWFscycgfCBmYWxzZTtcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbWFnZURhdGEge1xuICB0eXBlOlxuICAgIHwgJ2ltYWdlJ1xuICAgIHwgJ3pvb21pZnl0aWxlc2VydmljZSdcbiAgICB8ICdvcGVuc3RyZWV0bWFwcydcbiAgICB8ICd0aWxlZG1hcHNlcnZpY2UnXG4gICAgfCAnbGVnYWN5LWltYWdlLXB5cmFtaWQnO1xuICBoZWlnaHQ/OiBudW1iZXI7XG4gIHdpZHRoPzogbnVtYmVyO1xuICB1cmw6IHN0cmluZztcbiAgYnVpbGRQeXJhbWlkOiBib29sZWFuO1xuICBjcm9zc09yaWdpblBvbGljeT86ICdBbm9ueW1vdXMnIHwgJ3VzZS1jcmVkZW50aWFscycgfCBmYWxzZTtcbn1cblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIEltYWdlVmlld2VyQ29tcG9uZW50J3MgXCJkYXRhXCJcbiAqXG4gKiBAcHJvcGVydHkgcHJlZml4VXJsIChvcHRpb25hbCkgUHJlcGVuZHMgdGhlIHByZWZpeFVybCB0byBuYXZJbWFnZXMgcGF0aHMuXG4gKiBEZWZhdWx0IGlzIC8vb3BlbnNlYWRyYWdvbi5naXRodWIuaW8vb3BlbnNlYWRyYWdvbi9pbWFnZXMvXG4gKiBAcHJvcGVydHkgY2xhc3NlcyAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgdmlld2VyV2lkdGggKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IHZpZXdlckhlaWdodCAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgaW1hZ2VzIChyZXF1aXJlZClcbiAqIEBwcm9wZXJ0eSB2aWV3ZXJJZCAocmVxdWlyZWQpIFRoZSBpZCB0byBhc3NpZ24gdG8gdGhlIGltYWdldmlld2VyIGNvbnRhaW5lclxuICogQHByb3BlcnR5IGxpYk9wdGlvbnMgKHJlcXVpcmVkKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEltYWdlVmlld2VyRGF0YSB7XG4gIC8qIHZpZXdlciBpY29uJ3MgZGlyZWN0b3J5IHBhdGggKi9cbiAgcHJlZml4VXJsPzogc3RyaW5nO1xuICBjbGFzc2VzPzogc3RyaW5nO1xuICB2aWV3ZXJXaWR0aD86IG51bWJlcjtcbiAgdmlld2VySGVpZ2h0PzogbnVtYmVyO1xuICBpbWFnZXM6IEltYWdlRGF0YVtdIHwgc3RyaW5nO1xuICB2aWV3ZXJJZDogc3RyaW5nO1xuICBoaWRlTmF2aWdhdGlvbj86IGJvb2xlYW47XG4gIC8qIGZvciBhIGxpc3Qgb2Ygb3B0aW9ucyB2aWV3IHRoZSBvZmZpY2lhbCBvcGVuc2VhZHJhZ29uIGRvY3VtZW50YXRpb24gaHR0cDovL29wZW5zZWFkcmFnb24uZ2l0aHViLmlvL2RvY3MvT3BlblNlYWRyYWdvbi5odG1sIy5PcHRpb25zICovXG4gIGxpYk9wdGlvbnM6IGFueTtcbiAgLyogQSBtZXRob2QgcmV0dXJuaW5nIHRoZSBsaWJyYXJ5IGluc3RhbmNlICovXG4gIF9zZXRWaWV3ZXI6IGFueTtcbn1cblxuLyoqXG4gKiBJbWFnZVZpZXdlckNvbXBvbmVudCA8bjctaW1hZ2Utdmlld2VyPlxuICpcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbjctaW1hZ2Utdmlld2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ltYWdlLXZpZXdlci5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgSW1hZ2VWaWV3ZXJDb21wb25lbnQge1xuICBASW5wdXQoKSBkYXRhOiBJbWFnZVZpZXdlckRhdGE7XG5cbiAgQElucHV0KCkgZW1pdDogYW55O1xuXG4gIHByaXZhdGUgX2xvYWRlZCA9IGZhbHNlO1xuXG4gIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpIHtcbiAgICBpZiAoIXRoaXMuZGF0YSB8fCB0aGlzLl9sb2FkZWQpIHJldHVybjtcbiAgICB0aGlzLl9sb2FkZWQgPSB0cnVlO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjb25zdCBwcmVmaXhVcmwgPSAhdGhpcy5kYXRhLnByZWZpeFVybFxuICAgICAgICA/ICcvL29wZW5zZWFkcmFnb24uZ2l0aHViLmlvL29wZW5zZWFkcmFnb24vaW1hZ2VzLydcbiAgICAgICAgOiB0aGlzLmRhdGEucHJlZml4VXJsO1xuICAgICAgaW1wb3J0KCdvcGVuc2VhZHJhZ29uJykudGhlbigobW9kdWxlKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgZGVmYXVsdDogb3BlbnNlYWRyYWdvbiB9ID0gbW9kdWxlO1xuICAgICAgICBjb25zdCB2aWV3ZXIgPSBvcGVuc2VhZHJhZ29uKHtcbiAgICAgICAgICBpZDogdGhpcy5kYXRhLnZpZXdlcklkLFxuICAgICAgICAgIHByZWZpeFVybCxcbiAgICAgICAgICB0aWxlU291cmNlczogdGhpcy5kYXRhLmltYWdlcyxcbiAgICAgICAgICB6b29tSW5CdXR0b246ICduNy1pbWFnZS12aWV3ZXItem9vbS1pbicsXG4gICAgICAgICAgem9vbU91dEJ1dHRvbjogJ243LWltYWdlLXZpZXdlci16b29tLW91dCcsXG4gICAgICAgICAgaG9tZUJ1dHRvbjogJ243LWltYWdlLXZpZXdlci1ob21lJyxcbiAgICAgICAgICBmdWxsUGFnZUJ1dHRvbjogJ243LWltYWdlLXZpZXdlci1mdWxsLXNjcmVlbicsXG4gICAgICAgICAgbmV4dEJ1dHRvbjogJ243LWltYWdlLXZpZXdlci1uYXYtbmV4dCcsXG4gICAgICAgICAgcHJldmlvdXNCdXR0b246ICduNy1pbWFnZS12aWV3ZXItbmF2LXByZXYnLFxuICAgICAgICAgIC4uLnRoaXMuZGF0YS5saWJPcHRpb25zLFxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmRhdGEuX3NldFZpZXdlcih2aWV3ZXIpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBvbkNsaWNrKHBheWxvYWQpIHtcbiAgICBpZiAoIXRoaXMuZW1pdCkgcmV0dXJuO1xuICAgIHRoaXMuZW1pdCgndGh1bWJjbGljaycsIHBheWxvYWQpO1xuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiZGF0YVwiIGNsYXNzPVwibjctaW1hZ2Utdmlld2VyIHt7ZGF0YS5jbGFzc2VzIHx8ICcnfX1cIj5cbiAgPCEtLSBPU0Qgdmlld2VyIC0tPlxuICA8ZGl2IGlkPVwie3tkYXRhLnZpZXdlcklkfX1cIiBjbGFzcz1cIm43LWltYWdlLXZpZXdlcl9fdmlld2VyXCI+PC9kaXY+XG5cbiAgPCEtLSBab29tIGNvbnRyb2xzIC0tPlxuICA8ZGl2IGNsYXNzPVwibjctaW1hZ2Utdmlld2VyX19jb250cm9sc1wiPlxuICAgIDx1bCBjbGFzcz1cIm43LWltYWdlLXZpZXdlcl9fY29udHJvbHMtbGlzdFwiPlxuICAgICAgPGxpIGNsYXNzPVwibjctaW1hZ2Utdmlld2VyX19jb250cm9scy1pdGVtXCIgaWQ9XCJuNy1pbWFnZS12aWV3ZXItem9vbS1pblwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm43LWljb24tc2VhcmNoLXBsdXNcIj48L3NwYW4+XG4gICAgICA8L2xpPlxuICAgICAgPGxpIGNsYXNzPVwibjctaW1hZ2Utdmlld2VyX19jb250cm9scy1pdGVtXCIgaWQ9XCJuNy1pbWFnZS12aWV3ZXItem9vbS1vdXRcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJuNy1pY29uLXNlYXJjaC1taW51c1wiPjwvc3Bhbj5cbiAgICAgIDwvbGk+XG4gICAgICA8IS0tXG4gICAgICAgICAgICA8bGkgY2xhc3M9XCJuNy1pbWFnZS12aWV3ZXJfX2NvbnRyb2xzLWl0ZW1cIiBpZD1cIm43LWltYWdlLXZpZXdlci1mdWxsLXNjcmVlblwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibjctaWNvbi1leHBhbmQtYXJyb3dzXCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIC0tPlxuICAgIDwvdWw+XG4gIDwvZGl2PlxuXG4gIDwhLS0gTmF2aWdhdGlvbiAtLT5cbiAgPGRpdlxuICAgICpuZ0lmPVwiIWRhdGEuaGlkZU5hdmlnYXRpb25cIlxuICAgIGNsYXNzPVwibjctaW1hZ2Utdmlld2VyX19wcmV2XCJcbiAgICBpZD1cIm43LWltYWdlLXZpZXdlci1uYXYtcHJldlwiXG4gID5cbiAgICA8c3BhbiBjbGFzcz1cIm43LWljb24tYW5nbGUtbGVmdFwiPjwvc3Bhbj5cbiAgPC9kaXY+XG5cbiAgPGRpdlxuICAgICpuZ0lmPVwiIWRhdGEuaGlkZU5hdmlnYXRpb25cIlxuICAgIGNsYXNzPVwibjctaW1hZ2Utdmlld2VyX19uZXh0XCJcbiAgICBpZD1cIm43LWltYWdlLXZpZXdlci1uYXYtbmV4dFwiXG4gID5cbiAgICA8c3BhbiBjbGFzcz1cIm43LWljb24tYW5nbGUtcmlnaHRcIj48L3NwYW4+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -14,10 +14,10 @@ export class ImageViewerToolsComponent {
14
14
  return;
15
15
  this.emit('click', payload); // click
16
16
  }
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: ImageViewerToolsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
18
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: ImageViewerToolsComponent, selector: "n7-image-viewer-tools", inputs: { data: "data", emit: "emit" }, ngImport: i0, template: "<div *ngIf=\"data\" class=\"n7-image-viewer-tools {{data.classes || ''}}\">\n <div class=\"n7-image-viewer-tools__bar\">\n <div class=\"n7-image-viewer-tools__controls\">\n <div class=\"n7-image-viewer-tools__control-wrapper\">\n <ng-container *ngIf=\"data.controls.description && data.description\">\n <n7-anchor-wrapper\n class=\"n7-image-viewer-tools__control-btn\"\n [ngClass]=\"{\n 'is-active': data.controls.description.isActive\n }\"\n [data]=\"data.controls.description.anchor\"\n (clicked)=\"onClick($event)\"\n >\n <!-- $event -->\n <span\n class=\"n7-image-viewer-tools__control-btn-icon {{data.controls.description.icon}}\"\n ></span>\n </n7-anchor-wrapper>\n </ng-container>\n </div>\n\n <div class=\"n7-image-viewer-tools__control-wrapper\">\n <ng-container *ngIf=\"data.controls.thumbs\">\n <n7-anchor-wrapper\n class=\"n7-image-viewer-tools__control-btn\"\n [ngClass]=\"{\n 'is-active': data.controls.thumbs.isActive\n }\"\n [data]=\"data.controls.thumbs.anchor\"\n (clicked)=\"onClick($event)\"\n >\n <!-- $event -->\n <span\n class=\"n7-image-viewer-tools__control-btn-icon {{data.controls.thumbs.icon}}\"\n ></span>\n </n7-anchor-wrapper>\n </ng-container>\n </div>\n </div>\n\n <div class=\"n7-image-viewer-tools__thumbs-description\">\n <div\n class=\"n7-image-viewer-tools__thumbs\"\n *ngIf=\"data.isVisible.thumbnails && data.images\"\n >\n <div class=\"n7-image-viewer-tools__thumbs-strip\">\n <div\n *ngFor=\"let img of data.images; let imgIndex = index\"\n class=\"n7-image-viewer-tools__thumb\"\n [class.active]=\"imgIndex == data.initial\"\n >\n <img\n class=\"n7-image-viewer-tools__thumb-image\"\n src=\"{{img.thumb}}\"\n (click)=\"onClick(img.payload)\"\n />\n </div>\n </div>\n\n <ng-container *ngIf=\"data.navigation\">\n <div\n class=\"{{ data.navigation.prev.classes || '' }}\"\n (click)=\"onClick(data.navigation.prev.payload)\"\n >\n <!-- (click)=\"\" -->\n <span class=\"n7-icon-angle-left\"></span>\n </div>\n <div\n class=\"{{ data.navigation.next.classes || '' }}\"\n (click)=\"onClick(data.navigation.next.payload)\"\n >\n <span class=\"n7-icon-angle-right\"></span>\n </div>\n </ng-container>\n </div>\n\n <div\n class=\"n7-image-viewer-tools__description\"\n *ngIf=\"data.isVisible.description\"\n >\n <div\n class=\"n7-image-viewer-tools__description-close\"\n (click)=\"onClick(data.controls.closedescription.anchor.payload)\"\n >\n <!-- data.controls.closedescription.anchor.payload -->\n <span class=\"{{data.controls.closedescription.icon}}\"></span>\n </div>\n <div class=\"n7-image-viewer-tools__description-text-wrapper\">\n <div\n class=\"n7-image-viewer-tools__description-text\"\n [innerHTML]=\"data.description\"\n ></div>\n </div>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.AnchorWrapperComponent, selector: "n7-anchor-wrapper", inputs: ["data", "classes"], outputs: ["clicked"] }] }); }
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ImageViewerToolsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
18
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ImageViewerToolsComponent, selector: "n7-image-viewer-tools", inputs: { data: "data", emit: "emit" }, ngImport: i0, template: "<div *ngIf=\"data\" class=\"n7-image-viewer-tools {{data.classes || ''}}\">\n <div class=\"n7-image-viewer-tools__bar\">\n <div class=\"n7-image-viewer-tools__controls\">\n <div class=\"n7-image-viewer-tools__control-wrapper\">\n <ng-container *ngIf=\"data.controls.description && data.description\">\n <n7-anchor-wrapper\n class=\"n7-image-viewer-tools__control-btn\"\n [ngClass]=\"{\n 'is-active': data.controls.description.isActive\n }\"\n [data]=\"data.controls.description.anchor\"\n (clicked)=\"onClick($event)\"\n >\n <!-- $event -->\n <span\n class=\"n7-image-viewer-tools__control-btn-icon {{data.controls.description.icon}}\"\n ></span>\n </n7-anchor-wrapper>\n </ng-container>\n </div>\n\n <div class=\"n7-image-viewer-tools__control-wrapper\">\n <ng-container *ngIf=\"data.controls.thumbs\">\n <n7-anchor-wrapper\n class=\"n7-image-viewer-tools__control-btn\"\n [ngClass]=\"{\n 'is-active': data.controls.thumbs.isActive\n }\"\n [data]=\"data.controls.thumbs.anchor\"\n (clicked)=\"onClick($event)\"\n >\n <!-- $event -->\n <span\n class=\"n7-image-viewer-tools__control-btn-icon {{data.controls.thumbs.icon}}\"\n ></span>\n </n7-anchor-wrapper>\n </ng-container>\n </div>\n </div>\n\n <div class=\"n7-image-viewer-tools__thumbs-description\">\n <div\n class=\"n7-image-viewer-tools__thumbs\"\n *ngIf=\"data.isVisible.thumbnails && data.images\"\n >\n <div class=\"n7-image-viewer-tools__thumbs-strip\">\n <div\n *ngFor=\"let img of data.images; let imgIndex = index\"\n class=\"n7-image-viewer-tools__thumb\"\n [class.active]=\"imgIndex == data.initial\"\n >\n <img\n class=\"n7-image-viewer-tools__thumb-image\"\n src=\"{{img.thumb}}\"\n (click)=\"onClick(img.payload)\"\n />\n </div>\n </div>\n\n <ng-container *ngIf=\"data.navigation\">\n <div\n class=\"{{ data.navigation.prev.classes || '' }}\"\n (click)=\"onClick(data.navigation.prev.payload)\"\n >\n <!-- (click)=\"\" -->\n <span class=\"n7-icon-angle-left\"></span>\n </div>\n <div\n class=\"{{ data.navigation.next.classes || '' }}\"\n (click)=\"onClick(data.navigation.next.payload)\"\n >\n <span class=\"n7-icon-angle-right\"></span>\n </div>\n </ng-container>\n </div>\n\n <div\n class=\"n7-image-viewer-tools__description\"\n *ngIf=\"data.isVisible.description\"\n >\n <div\n class=\"n7-image-viewer-tools__description-close\"\n (click)=\"onClick(data.controls.closedescription.anchor.payload)\"\n >\n <!-- data.controls.closedescription.anchor.payload -->\n <span class=\"{{data.controls.closedescription.icon}}\"></span>\n </div>\n <div class=\"n7-image-viewer-tools__description-text-wrapper\">\n <div\n class=\"n7-image-viewer-tools__description-text\"\n [innerHTML]=\"data.description\"\n ></div>\n </div>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.AnchorWrapperComponent, selector: "n7-anchor-wrapper", inputs: ["data", "classes"], outputs: ["clicked"] }] }); }
19
19
  }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: ImageViewerToolsComponent, decorators: [{
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ImageViewerToolsComponent, decorators: [{
21
21
  type: Component,
22
22
  args: [{ selector: 'n7-image-viewer-tools', template: "<div *ngIf=\"data\" class=\"n7-image-viewer-tools {{data.classes || ''}}\">\n <div class=\"n7-image-viewer-tools__bar\">\n <div class=\"n7-image-viewer-tools__controls\">\n <div class=\"n7-image-viewer-tools__control-wrapper\">\n <ng-container *ngIf=\"data.controls.description && data.description\">\n <n7-anchor-wrapper\n class=\"n7-image-viewer-tools__control-btn\"\n [ngClass]=\"{\n 'is-active': data.controls.description.isActive\n }\"\n [data]=\"data.controls.description.anchor\"\n (clicked)=\"onClick($event)\"\n >\n <!-- $event -->\n <span\n class=\"n7-image-viewer-tools__control-btn-icon {{data.controls.description.icon}}\"\n ></span>\n </n7-anchor-wrapper>\n </ng-container>\n </div>\n\n <div class=\"n7-image-viewer-tools__control-wrapper\">\n <ng-container *ngIf=\"data.controls.thumbs\">\n <n7-anchor-wrapper\n class=\"n7-image-viewer-tools__control-btn\"\n [ngClass]=\"{\n 'is-active': data.controls.thumbs.isActive\n }\"\n [data]=\"data.controls.thumbs.anchor\"\n (clicked)=\"onClick($event)\"\n >\n <!-- $event -->\n <span\n class=\"n7-image-viewer-tools__control-btn-icon {{data.controls.thumbs.icon}}\"\n ></span>\n </n7-anchor-wrapper>\n </ng-container>\n </div>\n </div>\n\n <div class=\"n7-image-viewer-tools__thumbs-description\">\n <div\n class=\"n7-image-viewer-tools__thumbs\"\n *ngIf=\"data.isVisible.thumbnails && data.images\"\n >\n <div class=\"n7-image-viewer-tools__thumbs-strip\">\n <div\n *ngFor=\"let img of data.images; let imgIndex = index\"\n class=\"n7-image-viewer-tools__thumb\"\n [class.active]=\"imgIndex == data.initial\"\n >\n <img\n class=\"n7-image-viewer-tools__thumb-image\"\n src=\"{{img.thumb}}\"\n (click)=\"onClick(img.payload)\"\n />\n </div>\n </div>\n\n <ng-container *ngIf=\"data.navigation\">\n <div\n class=\"{{ data.navigation.prev.classes || '' }}\"\n (click)=\"onClick(data.navigation.prev.payload)\"\n >\n <!-- (click)=\"\" -->\n <span class=\"n7-icon-angle-left\"></span>\n </div>\n <div\n class=\"{{ data.navigation.next.classes || '' }}\"\n (click)=\"onClick(data.navigation.next.payload)\"\n >\n <span class=\"n7-icon-angle-right\"></span>\n </div>\n </ng-container>\n </div>\n\n <div\n class=\"n7-image-viewer-tools__description\"\n *ngIf=\"data.isVisible.description\"\n >\n <div\n class=\"n7-image-viewer-tools__description-close\"\n (click)=\"onClick(data.controls.closedescription.anchor.payload)\"\n >\n <!-- data.controls.closedescription.anchor.payload -->\n <span class=\"{{data.controls.closedescription.icon}}\"></span>\n </div>\n <div class=\"n7-image-viewer-tools__description-text-wrapper\">\n <div\n class=\"n7-image-viewer-tools__description-text\"\n [innerHTML]=\"data.description\"\n ></div>\n </div>\n </div>\n </div>\n </div>\n</div>\n" }]
23
23
  }], propDecorators: { data: [{
@@ -25,4 +25,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
25
25
  }], emit: [{
26
26
  type: Input
27
27
  }] } });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Utdmlld2VyLXRvb2xzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHYtY29tcG9uZW50cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2ltYWdlLXZpZXdlci10b29scy9pbWFnZS12aWV3ZXItdG9vbHMudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdi1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvaW1hZ2Utdmlld2VyLXRvb2xzL2ltYWdlLXZpZXdlci10b29scy5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDZCQUE2QjtBQUM3Qix3QkFBd0I7QUFDeEIsNkJBQTZCO0FBRTdCLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBOEdqRDs7R0FFRztBQU1ILE1BQU0sT0FBTyx5QkFBeUI7SUFLcEMsT0FBTyxDQUFDLE9BQU87UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsUUFBUTtJQUN2QyxDQUFDOzhHQVJVLHlCQUF5QjtrR0FBekIseUJBQXlCLHFHQzFIdEMsbStHQWlHQTs7MkZEeUJhLHlCQUF5QjtrQkFKckMsU0FBUzsrQkFDRSx1QkFBdUI7OEJBSXhCLElBQUk7c0JBQVosS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSU1BR0UtVklFV0VSLVRPT0xTLnRzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBbmNob3IgfSBmcm9tICcuLi8uLi9zaGFyZWQtaW50ZXJmYWNlcyc7XG5cbi8qKlxuICogSW50ZXJmYWNlIGZvciBJbWFnZVZpZXdlckJ1dHRvbnNEYXRhLCBkZWZpbmVzIHRoZSB0aHVtYm5haWxcbiAqIHVybCBhbmQgaXRzIHJlbGF0aXZlIHBheWxvYWRcbiAqIEBwcm9wZXJ0eSB0aHVtYlxuICogQHByb3BlcnR5IHBheWxvYWRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbWFnZVZpZXdlclRodW1iRGF0YSB7XG4gIC8qKlxuICAgKiBUaHVtYm5haWwgVVJMXG4gICAqL1xuICB0aHVtYjogc3RyaW5nO1xuICAvKipcbiAgICogUGF5bG9hZCBvbiB0aHVtYm5haWwgY2xpY2tcbiAgICovXG4gIHBheWxvYWQ6IGFueTtcbiAgLyoqXG4gICAqIFRodW1ibmFpbCBjYXB0aW9uXG4gICAqL1xuICBjYXB0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgSW1hZ2VWaWV3ZXJCdXR0b25zRGF0YSwgZGVmaW5lcyB0aGUgbG9vayBhbmRcbiAqIHBheWxvYWQgb2YgdGhlIGNvbnRyb2xzIGJ1dHRvbnNcbiAqIEBwcm9wZXJ0eSBpY29uXG4gKiBAcHJvcGVydHkgcGF5bG9hZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEltYWdlVmlld2VyQnV0dG9uRGF0YSB7XG4gIC8qKlxuICAgKiBDU1MgY2xhc3Mgb2YgdGhlIGljb24uIFVzdWFsbHkgZnJvbSBuNyBpY29uIHBhY2tcbiAgICovXG4gIGljb246IHN0cmluZztcbiAgLyoqXG4gICAqIEJ1dHRvbiBBbmNob3JcbiAgICovXG4gIGFuY2hvcj86IEFuY2hvcjtcbiAgaXNBY3RpdmU/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgSW1hZ2VWaWV3ZXJUb29sc0NvbXBvbmVudCdzIFwiZGF0YVwiXG4gKiBAcHJvcGVydHkgaW1hZ2VzXG4gKiBAcHJvcGVydHkgZGVzY3JpcHRpb25cbiAqIEBwcm9wZXJ0eSBjb250cm9sc1xuICogQHByb3BlcnR5IHNob3dEZXNjcmlwdGlvblxuICogQHByb3BlcnR5IHNob3dUaHVtYm5haWxzXG4gKiBAcHJvcGVydHkgY2xhc3NlcyAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgcGF5bG9hZCAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgX21ldGEgKG9wdGlvbmFsKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEltYWdlVmlld2VyVG9vbHNEYXRhIHtcbiAgLyoqXG4gICAqIGxpc3Qgb2YgaW1hZ2UncyB0aHVtYm5haWxzXG4gICAqL1xuICBpbWFnZXM6IEltYWdlVmlld2VyVGh1bWJEYXRhW107XG4gIC8qKlxuICAgKiBkZXNjcmlwdGlvbiB0byBiZSBzaG93biBpbiB0aGUgYm94XG4gICAqL1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIGRlc2NyaXB0aW9uL3RodW1ibmFpbHMgdmlzaWJpbGl0eSBjb250cm9sc1xuICAgKi9cbiAgY29udHJvbHM6IHtcbiAgICBkZXNjcmlwdGlvbjogSW1hZ2VWaWV3ZXJCdXR0b25EYXRhO1xuICAgIHRodW1iczogSW1hZ2VWaWV3ZXJCdXR0b25EYXRhO1xuICAgIGNsb3NlZGVzY3JpcHRpb246IEltYWdlVmlld2VyQnV0dG9uRGF0YTtcbiAgfTtcbiAgLyoqXG4gICAqIERlc2NyaXB0aW9uIC8gdGh1bWJuYWlsIHRvZ2dsZXJzXG4gICAqL1xuICBpc1Zpc2libGU6IHtcbiAgICAvKiogVG9nZ2xlIGRlc2NyaXB0aW9uIGJveCB2aXNpYmlsaXR5ICovXG4gICAgZGVzY3JpcHRpb246IGJvb2xlYW47XG4gICAgLyoqIFRvZ2dsZSB0aHVtYm5haWxzIHN0cmlwIHZpc2liaWxpdHkgKi9cbiAgICB0aHVtYm5haWxzOiBib29sZWFuO1xuICB9O1xuICAvKipcbiAgICogZGVzY3JpcHRpb24gb3ZlcmxheSBuYXZpZ2F0aW9uXG4gICAqL1xuICBuYXZpZ2F0aW9uPzoge1xuICAgIHByZXY6IHtcbiAgICAgIHBheWxvYWQ6IGFueTsgLy8gJ3ByZXYnXG4gICAgICBjbGFzc2VzPzogYW55O1xuICAgIH07XG4gICAgbmV4dDoge1xuICAgICAgcGF5bG9hZDogYW55OyAvLyAnbmV4dCdcbiAgICAgIGNsYXNzZXM/OiBhbnk7XG4gICAgfTtcbiAgfTtcbiAgLyoqXG4gICAqIEluaXRpYWwgaW1hZ2UgaW4gYXJyYXkgKHByb2dyZXNzaXZlIG51bWJlciBmcm9tIDApXG4gICAqL1xuICBpbml0aWFsOiBudW1iZXI7XG4gIC8qKlxuICAgKiBhZGRpdGlvbmFsIGh0bWwgY2xhc3Nlc1xuICAgKi9cbiAgY2xhc3Nlcz86IHN0cmluZztcbiAgLyoqXG4gICAqIGFjdGlvbiBjbGljaydzIHBheWxvYWRcbiAgICovXG4gIHBheWxvYWQ/OiBhbnk7XG4gIC8qKlxuICAgKiBhZGRpdGlvbmFsIGluZm9cbiAgICovXG4gIF9tZXRhPzogYW55O1xufVxuXG4vKipcbiAqIEltYWdlVmlld2VyVG9vbHNDb21wb25lbnQgPG43LWltYWdlLXZpZXdlci10b29scz5cbiAqL1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduNy1pbWFnZS12aWV3ZXItdG9vbHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW1hZ2Utdmlld2VyLXRvb2xzLmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBJbWFnZVZpZXdlclRvb2xzQ29tcG9uZW50IHtcbiAgQElucHV0KCkgZGF0YTogSW1hZ2VWaWV3ZXJUb29sc0RhdGE7XG5cbiAgQElucHV0KCkgZW1pdDogYW55O1xuXG4gIG9uQ2xpY2socGF5bG9hZCkge1xuICAgIGlmICghdGhpcy5lbWl0KSByZXR1cm47XG4gICAgdGhpcy5lbWl0KCdjbGljaycsIHBheWxvYWQpOyAvLyBjbGlja1xuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiZGF0YVwiIGNsYXNzPVwibjctaW1hZ2Utdmlld2VyLXRvb2xzIHt7ZGF0YS5jbGFzc2VzIHx8ICcnfX1cIj5cbiAgPGRpdiBjbGFzcz1cIm43LWltYWdlLXZpZXdlci10b29sc19fYmFyXCI+XG4gICAgPGRpdiBjbGFzcz1cIm43LWltYWdlLXZpZXdlci10b29sc19fY29udHJvbHNcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJuNy1pbWFnZS12aWV3ZXItdG9vbHNfX2NvbnRyb2wtd3JhcHBlclwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGF0YS5jb250cm9scy5kZXNjcmlwdGlvbiAmJiBkYXRhLmRlc2NyaXB0aW9uXCI+XG4gICAgICAgICAgPG43LWFuY2hvci13cmFwcGVyXG4gICAgICAgICAgICBjbGFzcz1cIm43LWltYWdlLXZpZXdlci10b29sc19fY29udHJvbC1idG5cIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgJ2lzLWFjdGl2ZSc6IGRhdGEuY29udHJvbHMuZGVzY3JpcHRpb24uaXNBY3RpdmVcbiAgICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICBbZGF0YV09XCJkYXRhLmNvbnRyb2xzLmRlc2NyaXB0aW9uLmFuY2hvclwiXG4gICAgICAgICAgICAoY2xpY2tlZCk9XCJvbkNsaWNrKCRldmVudClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDwhLS0gJGV2ZW50IC0tPlxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgY2xhc3M9XCJuNy1pbWFnZS12aWV3ZXItdG9vbHNfX2NvbnRyb2wtYnRuLWljb24ge3tkYXRhLmNvbnRyb2xzLmRlc2NyaXB0aW9uLmljb259fVwiXG4gICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICAgIDwvbjctYW5jaG9yLXdyYXBwZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJuNy1pbWFnZS12aWV3ZXItdG9vbHNfX2NvbnRyb2wtd3JhcHBlclwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGF0YS5jb250cm9scy50aHVtYnNcIj5cbiAgICAgICAgICA8bjctYW5jaG9yLXdyYXBwZXJcbiAgICAgICAgICAgIGNsYXNzPVwibjctaW1hZ2Utdmlld2VyLXRvb2xzX19jb250cm9sLWJ0blwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAnaXMtYWN0aXZlJzogZGF0YS5jb250cm9scy50aHVtYnMuaXNBY3RpdmVcbiAgICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICBbZGF0YV09XCJkYXRhLmNvbnRyb2xzLnRodW1icy5hbmNob3JcIlxuICAgICAgICAgICAgKGNsaWNrZWQpPVwib25DbGljaygkZXZlbnQpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8IS0tICRldmVudCAtLT5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgIGNsYXNzPVwibjctaW1hZ2Utdmlld2VyLXRvb2xzX19jb250cm9sLWJ0bi1pY29uIHt7ZGF0YS5jb250cm9scy50aHVtYnMuaWNvbn19XCJcbiAgICAgICAgICAgID48L3NwYW4+XG4gICAgICAgICAgPC9uNy1hbmNob3Itd3JhcHBlcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJuNy1pbWFnZS12aWV3ZXItdG9vbHNfX3RodW1icy1kZXNjcmlwdGlvblwiPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cIm43LWltYWdlLXZpZXdlci10b29sc19fdGh1bWJzXCJcbiAgICAgICAgKm5nSWY9XCJkYXRhLmlzVmlzaWJsZS50aHVtYm5haWxzICYmIGRhdGEuaW1hZ2VzXCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm43LWltYWdlLXZpZXdlci10b29sc19fdGh1bWJzLXN0cmlwXCI+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGltZyBvZiBkYXRhLmltYWdlczsgbGV0IGltZ0luZGV4ID0gaW5kZXhcIlxuICAgICAgICAgICAgY2xhc3M9XCJuNy1pbWFnZS12aWV3ZXItdG9vbHNfX3RodW1iXCJcbiAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiaW1nSW5kZXggPT0gZGF0YS5pbml0aWFsXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgIGNsYXNzPVwibjctaW1hZ2Utdmlld2VyLXRvb2xzX190aHVtYi1pbWFnZVwiXG4gICAgICAgICAgICAgIHNyYz1cInt7aW1nLnRodW1ifX1cIlxuICAgICAgICAgICAgICAoY2xpY2spPVwib25DbGljayhpbWcucGF5bG9hZClcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRhdGEubmF2aWdhdGlvblwiPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwie3sgZGF0YS5uYXZpZ2F0aW9uLnByZXYuY2xhc3NlcyB8fCAnJyB9fVwiXG4gICAgICAgICAgICAoY2xpY2spPVwib25DbGljayhkYXRhLm5hdmlnYXRpb24ucHJldi5wYXlsb2FkKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPCEtLSAoY2xpY2spPVwiXCIgLS0+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm43LWljb24tYW5nbGUtbGVmdFwiPjwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cInt7IGRhdGEubmF2aWdhdGlvbi5uZXh0LmNsYXNzZXMgfHwgJycgfX1cIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2soZGF0YS5uYXZpZ2F0aW9uLm5leHQucGF5bG9hZClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibjctaWNvbi1hbmdsZS1yaWdodFwiPjwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cIm43LWltYWdlLXZpZXdlci10b29sc19fZGVzY3JpcHRpb25cIlxuICAgICAgICAqbmdJZj1cImRhdGEuaXNWaXNpYmxlLmRlc2NyaXB0aW9uXCJcbiAgICAgID5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwibjctaW1hZ2Utdmlld2VyLXRvb2xzX19kZXNjcmlwdGlvbi1jbG9zZVwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2soZGF0YS5jb250cm9scy5jbG9zZWRlc2NyaXB0aW9uLmFuY2hvci5wYXlsb2FkKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8IS0tIGRhdGEuY29udHJvbHMuY2xvc2VkZXNjcmlwdGlvbi5hbmNob3IucGF5bG9hZCAtLT5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInt7ZGF0YS5jb250cm9scy5jbG9zZWRlc2NyaXB0aW9uLmljb259fVwiPjwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJuNy1pbWFnZS12aWV3ZXItdG9vbHNfX2Rlc2NyaXB0aW9uLXRleHQtd3JhcHBlclwiPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwibjctaW1hZ2Utdmlld2VyLXRvb2xzX19kZXNjcmlwdGlvbi10ZXh0XCJcbiAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiZGF0YS5kZXNjcmlwdGlvblwiXG4gICAgICAgICAgPjwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Utdmlld2VyLXRvb2xzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHYtY29tcG9uZW50cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2ltYWdlLXZpZXdlci10b29scy9pbWFnZS12aWV3ZXItdG9vbHMudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdi1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvaW1hZ2Utdmlld2VyLXRvb2xzL2ltYWdlLXZpZXdlci10b29scy5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDZCQUE2QjtBQUM3Qix3QkFBd0I7QUFDeEIsNkJBQTZCO0FBRTdCLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBOEdqRDs7R0FFRztBQU1ILE1BQU0sT0FBTyx5QkFBeUI7SUFLcEMsT0FBTyxDQUFDLE9BQU87UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsUUFBUTtJQUN2QyxDQUFDOytHQVJVLHlCQUF5QjttR0FBekIseUJBQXlCLHFHQzFIdEMsbStHQWlHQTs7NEZEeUJhLHlCQUF5QjtrQkFKckMsU0FBUzsrQkFDRSx1QkFBdUI7OEJBSXhCLElBQUk7c0JBQVosS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSU1BR0UtVklFV0VSLVRPT0xTLnRzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBbmNob3IgfSBmcm9tICcuLi8uLi9zaGFyZWQtaW50ZXJmYWNlcyc7XG5cbi8qKlxuICogSW50ZXJmYWNlIGZvciBJbWFnZVZpZXdlckJ1dHRvbnNEYXRhLCBkZWZpbmVzIHRoZSB0aHVtYm5haWxcbiAqIHVybCBhbmQgaXRzIHJlbGF0aXZlIHBheWxvYWRcbiAqIEBwcm9wZXJ0eSB0aHVtYlxuICogQHByb3BlcnR5IHBheWxvYWRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbWFnZVZpZXdlclRodW1iRGF0YSB7XG4gIC8qKlxuICAgKiBUaHVtYm5haWwgVVJMXG4gICAqL1xuICB0aHVtYjogc3RyaW5nO1xuICAvKipcbiAgICogUGF5bG9hZCBvbiB0aHVtYm5haWwgY2xpY2tcbiAgICovXG4gIHBheWxvYWQ6IGFueTtcbiAgLyoqXG4gICAqIFRodW1ibmFpbCBjYXB0aW9uXG4gICAqL1xuICBjYXB0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgSW1hZ2VWaWV3ZXJCdXR0b25zRGF0YSwgZGVmaW5lcyB0aGUgbG9vayBhbmRcbiAqIHBheWxvYWQgb2YgdGhlIGNvbnRyb2xzIGJ1dHRvbnNcbiAqIEBwcm9wZXJ0eSBpY29uXG4gKiBAcHJvcGVydHkgcGF5bG9hZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEltYWdlVmlld2VyQnV0dG9uRGF0YSB7XG4gIC8qKlxuICAgKiBDU1MgY2xhc3Mgb2YgdGhlIGljb24uIFVzdWFsbHkgZnJvbSBuNyBpY29uIHBhY2tcbiAgICovXG4gIGljb246IHN0cmluZztcbiAgLyoqXG4gICAqIEJ1dHRvbiBBbmNob3JcbiAgICovXG4gIGFuY2hvcj86IEFuY2hvcjtcbiAgaXNBY3RpdmU/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgSW1hZ2VWaWV3ZXJUb29sc0NvbXBvbmVudCdzIFwiZGF0YVwiXG4gKiBAcHJvcGVydHkgaW1hZ2VzXG4gKiBAcHJvcGVydHkgZGVzY3JpcHRpb25cbiAqIEBwcm9wZXJ0eSBjb250cm9sc1xuICogQHByb3BlcnR5IHNob3dEZXNjcmlwdGlvblxuICogQHByb3BlcnR5IHNob3dUaHVtYm5haWxzXG4gKiBAcHJvcGVydHkgY2xhc3NlcyAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgcGF5bG9hZCAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgX21ldGEgKG9wdGlvbmFsKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEltYWdlVmlld2VyVG9vbHNEYXRhIHtcbiAgLyoqXG4gICAqIGxpc3Qgb2YgaW1hZ2UncyB0aHVtYm5haWxzXG4gICAqL1xuICBpbWFnZXM6IEltYWdlVmlld2VyVGh1bWJEYXRhW107XG4gIC8qKlxuICAgKiBkZXNjcmlwdGlvbiB0byBiZSBzaG93biBpbiB0aGUgYm94XG4gICAqL1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIGRlc2NyaXB0aW9uL3RodW1ibmFpbHMgdmlzaWJpbGl0eSBjb250cm9sc1xuICAgKi9cbiAgY29udHJvbHM6IHtcbiAgICBkZXNjcmlwdGlvbjogSW1hZ2VWaWV3ZXJCdXR0b25EYXRhO1xuICAgIHRodW1iczogSW1hZ2VWaWV3ZXJCdXR0b25EYXRhO1xuICAgIGNsb3NlZGVzY3JpcHRpb246IEltYWdlVmlld2VyQnV0dG9uRGF0YTtcbiAgfTtcbiAgLyoqXG4gICAqIERlc2NyaXB0aW9uIC8gdGh1bWJuYWlsIHRvZ2dsZXJzXG4gICAqL1xuICBpc1Zpc2libGU6IHtcbiAgICAvKiogVG9nZ2xlIGRlc2NyaXB0aW9uIGJveCB2aXNpYmlsaXR5ICovXG4gICAgZGVzY3JpcHRpb246IGJvb2xlYW47XG4gICAgLyoqIFRvZ2dsZSB0aHVtYm5haWxzIHN0cmlwIHZpc2liaWxpdHkgKi9cbiAgICB0aHVtYm5haWxzOiBib29sZWFuO1xuICB9O1xuICAvKipcbiAgICogZGVzY3JpcHRpb24gb3ZlcmxheSBuYXZpZ2F0aW9uXG4gICAqL1xuICBuYXZpZ2F0aW9uPzoge1xuICAgIHByZXY6IHtcbiAgICAgIHBheWxvYWQ6IGFueTsgLy8gJ3ByZXYnXG4gICAgICBjbGFzc2VzPzogYW55O1xuICAgIH07XG4gICAgbmV4dDoge1xuICAgICAgcGF5bG9hZDogYW55OyAvLyAnbmV4dCdcbiAgICAgIGNsYXNzZXM/OiBhbnk7XG4gICAgfTtcbiAgfTtcbiAgLyoqXG4gICAqIEluaXRpYWwgaW1hZ2UgaW4gYXJyYXkgKHByb2dyZXNzaXZlIG51bWJlciBmcm9tIDApXG4gICAqL1xuICBpbml0aWFsOiBudW1iZXI7XG4gIC8qKlxuICAgKiBhZGRpdGlvbmFsIGh0bWwgY2xhc3Nlc1xuICAgKi9cbiAgY2xhc3Nlcz86IHN0cmluZztcbiAgLyoqXG4gICAqIGFjdGlvbiBjbGljaydzIHBheWxvYWRcbiAgICovXG4gIHBheWxvYWQ/OiBhbnk7XG4gIC8qKlxuICAgKiBhZGRpdGlvbmFsIGluZm9cbiAgICovXG4gIF9tZXRhPzogYW55O1xufVxuXG4vKipcbiAqIEltYWdlVmlld2VyVG9vbHNDb21wb25lbnQgPG43LWltYWdlLXZpZXdlci10b29scz5cbiAqL1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduNy1pbWFnZS12aWV3ZXItdG9vbHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW1hZ2Utdmlld2VyLXRvb2xzLmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBJbWFnZVZpZXdlclRvb2xzQ29tcG9uZW50IHtcbiAgQElucHV0KCkgZGF0YTogSW1hZ2VWaWV3ZXJUb29sc0RhdGE7XG5cbiAgQElucHV0KCkgZW1pdDogYW55O1xuXG4gIG9uQ2xpY2socGF5bG9hZCkge1xuICAgIGlmICghdGhpcy5lbWl0KSByZXR1cm47XG4gICAgdGhpcy5lbWl0KCdjbGljaycsIHBheWxvYWQpOyAvLyBjbGlja1xuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiZGF0YVwiIGNsYXNzPVwibjctaW1hZ2Utdmlld2VyLXRvb2xzIHt7ZGF0YS5jbGFzc2VzIHx8ICcnfX1cIj5cbiAgPGRpdiBjbGFzcz1cIm43LWltYWdlLXZpZXdlci10b29sc19fYmFyXCI+XG4gICAgPGRpdiBjbGFzcz1cIm43LWltYWdlLXZpZXdlci10b29sc19fY29udHJvbHNcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJuNy1pbWFnZS12aWV3ZXItdG9vbHNfX2NvbnRyb2wtd3JhcHBlclwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGF0YS5jb250cm9scy5kZXNjcmlwdGlvbiAmJiBkYXRhLmRlc2NyaXB0aW9uXCI+XG4gICAgICAgICAgPG43LWFuY2hvci13cmFwcGVyXG4gICAgICAgICAgICBjbGFzcz1cIm43LWltYWdlLXZpZXdlci10b29sc19fY29udHJvbC1idG5cIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgJ2lzLWFjdGl2ZSc6IGRhdGEuY29udHJvbHMuZGVzY3JpcHRpb24uaXNBY3RpdmVcbiAgICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICBbZGF0YV09XCJkYXRhLmNvbnRyb2xzLmRlc2NyaXB0aW9uLmFuY2hvclwiXG4gICAgICAgICAgICAoY2xpY2tlZCk9XCJvbkNsaWNrKCRldmVudClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDwhLS0gJGV2ZW50IC0tPlxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgY2xhc3M9XCJuNy1pbWFnZS12aWV3ZXItdG9vbHNfX2NvbnRyb2wtYnRuLWljb24ge3tkYXRhLmNvbnRyb2xzLmRlc2NyaXB0aW9uLmljb259fVwiXG4gICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICAgIDwvbjctYW5jaG9yLXdyYXBwZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJuNy1pbWFnZS12aWV3ZXItdG9vbHNfX2NvbnRyb2wtd3JhcHBlclwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGF0YS5jb250cm9scy50aHVtYnNcIj5cbiAgICAgICAgICA8bjctYW5jaG9yLXdyYXBwZXJcbiAgICAgICAgICAgIGNsYXNzPVwibjctaW1hZ2Utdmlld2VyLXRvb2xzX19jb250cm9sLWJ0blwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAnaXMtYWN0aXZlJzogZGF0YS5jb250cm9scy50aHVtYnMuaXNBY3RpdmVcbiAgICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICBbZGF0YV09XCJkYXRhLmNvbnRyb2xzLnRodW1icy5hbmNob3JcIlxuICAgICAgICAgICAgKGNsaWNrZWQpPVwib25DbGljaygkZXZlbnQpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8IS0tICRldmVudCAtLT5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgIGNsYXNzPVwibjctaW1hZ2Utdmlld2VyLXRvb2xzX19jb250cm9sLWJ0bi1pY29uIHt7ZGF0YS5jb250cm9scy50aHVtYnMuaWNvbn19XCJcbiAgICAgICAgICAgID48L3NwYW4+XG4gICAgICAgICAgPC9uNy1hbmNob3Itd3JhcHBlcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJuNy1pbWFnZS12aWV3ZXItdG9vbHNfX3RodW1icy1kZXNjcmlwdGlvblwiPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cIm43LWltYWdlLXZpZXdlci10b29sc19fdGh1bWJzXCJcbiAgICAgICAgKm5nSWY9XCJkYXRhLmlzVmlzaWJsZS50aHVtYm5haWxzICYmIGRhdGEuaW1hZ2VzXCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm43LWltYWdlLXZpZXdlci10b29sc19fdGh1bWJzLXN0cmlwXCI+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGltZyBvZiBkYXRhLmltYWdlczsgbGV0IGltZ0luZGV4ID0gaW5kZXhcIlxuICAgICAgICAgICAgY2xhc3M9XCJuNy1pbWFnZS12aWV3ZXItdG9vbHNfX3RodW1iXCJcbiAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiaW1nSW5kZXggPT0gZGF0YS5pbml0aWFsXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgIGNsYXNzPVwibjctaW1hZ2Utdmlld2VyLXRvb2xzX190aHVtYi1pbWFnZVwiXG4gICAgICAgICAgICAgIHNyYz1cInt7aW1nLnRodW1ifX1cIlxuICAgICAgICAgICAgICAoY2xpY2spPVwib25DbGljayhpbWcucGF5bG9hZClcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRhdGEubmF2aWdhdGlvblwiPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwie3sgZGF0YS5uYXZpZ2F0aW9uLnByZXYuY2xhc3NlcyB8fCAnJyB9fVwiXG4gICAgICAgICAgICAoY2xpY2spPVwib25DbGljayhkYXRhLm5hdmlnYXRpb24ucHJldi5wYXlsb2FkKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPCEtLSAoY2xpY2spPVwiXCIgLS0+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm43LWljb24tYW5nbGUtbGVmdFwiPjwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cInt7IGRhdGEubmF2aWdhdGlvbi5uZXh0LmNsYXNzZXMgfHwgJycgfX1cIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2soZGF0YS5uYXZpZ2F0aW9uLm5leHQucGF5bG9hZClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibjctaWNvbi1hbmdsZS1yaWdodFwiPjwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cIm43LWltYWdlLXZpZXdlci10b29sc19fZGVzY3JpcHRpb25cIlxuICAgICAgICAqbmdJZj1cImRhdGEuaXNWaXNpYmxlLmRlc2NyaXB0aW9uXCJcbiAgICAgID5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwibjctaW1hZ2Utdmlld2VyLXRvb2xzX19kZXNjcmlwdGlvbi1jbG9zZVwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2soZGF0YS5jb250cm9scy5jbG9zZWRlc2NyaXB0aW9uLmFuY2hvci5wYXlsb2FkKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8IS0tIGRhdGEuY29udHJvbHMuY2xvc2VkZXNjcmlwdGlvbi5hbmNob3IucGF5bG9hZCAtLT5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInt7ZGF0YS5jb250cm9scy5jbG9zZWRlc2NyaXB0aW9uLmljb259fVwiPjwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJuNy1pbWFnZS12aWV3ZXItdG9vbHNfX2Rlc2NyaXB0aW9uLXRleHQtd3JhcHBlclwiPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwibjctaW1hZ2Utdmlld2VyLXRvb2xzX19kZXNjcmlwdGlvbi10ZXh0XCJcbiAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiZGF0YS5kZXNjcmlwdGlvblwiXG4gICAgICAgICAgPjwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -26,10 +26,10 @@ export class InnerTitleComponent {
26
26
  return;
27
27
  this.emit('search', { inputPayload: payload, value });
28
28
  }
29
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: InnerTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
30
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: InnerTitleComponent, selector: "n7-inner-title", inputs: { data: "data", emit: "emit" }, ngImport: i0, template: "<div *ngIf=\"data\" class=\"n7-inner-title\" [ngClass]=\"data.classes\">\n <div class=\"n7-inner-title__left-wrapper\">\n <ng-container\n *ngTemplateOutlet=\"icon; context:{$implicit: data.icon}\"\n ></ng-container>\n <div\n *ngIf=\"data.image\"\n class=\"n7-inner-title__image-left\"\n [ngStyle]=\"{'background-image': 'url(' + data.image + ')'}\"\n ></div>\n <div class=\"n7-inner-title__wrapper-texts\">\n <div\n *ngIf=\"data.title.main\"\n [innerHTML]=\"data.title.main.text\"\n class=\"n7-inner-title__title {{data.title.main.classes || ''}}\"\n ></div>\n <div\n *ngIf=\"data.title.secondary\"\n [innerHTML]=\"data.title.secondary.text\"\n class=\"n7-inner-title__subtitle {{data.title.secondary.classes || ''}}\"\n ></div>\n </div>\n </div>\n\n <div class=\"n7-inner-title__tools\" *ngIf=\"data.tools || data.actions\">\n <!-- Toolbar label -->\n <div *ngIf=\"data.tools\" class=\"n7-inner-title__tools-label\">\n {{data.tools}}\n </div>\n <!-- Actions -->\n <ng-container *ngIf=\"data.actions\">\n <ng-container\n *ngTemplateOutlet=\"actions; \n context:{$implicit: data.actions}\"\n >\n </ng-container>\n </ng-container>\n </div>\n</div>\n\n<!-- Template actions -->\n<ng-template #actions let-action>\n <ng-container *ngIf=\"action.select\">\n <ng-container\n *ngTemplateOutlet=\"select;\n context:{$implicit: action.select}\"\n >\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"action.search\">\n <ng-container\n *ngTemplateOutlet=\"search; \n context:{$implicit: action.search}\"\n >\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"action.buttons\">\n <ng-container\n *ngTemplateOutlet=\"buttons;\n context:{$implicit: action.buttons}\"\n >\n </ng-container>\n </ng-container>\n</ng-template>\n\n<!-- Template sorting -->\n<ng-template #select let-select>\n <div class=\"n7-inner-title__sorting\">\n <span *ngIf=\"select.label\" class=\"n7-inner-title__sorting-label\">\n {{select.label}}\n </span>\n <select\n (change)=\"onChange(select.payload, $event.target.value)\"\n class=\"n7-inner-title__sorting-select\"\n >\n <option\n *ngFor=\"let opt of select.options\"\n value=\"{{opt.value}}\"\n class=\"n7-inner-title__sorting-option\"\n [selected]=\"opt.selected\"\n [disabled]=\"opt.disabled\"\n >\n {{opt.text}}\n </option>\n </select>\n </div>\n</ng-template>\n\n<!-- Template search -->\n<ng-template #search let-search>\n <div class=\"n7-inner-title__search\">\n <input\n type=\"text\"\n class=\"n7-inner-title__search-bar\"\n placeholder=\"{{search.placeholder}}\"\n (input)=\"onInputChange(search.payload, $event.target.value)\"\n (keyup.enter)=\"onInputEnter(search.payload, $event.target.value)\"\n />\n <button\n *ngIf=\"search.button\"\n (click)=\"onClick(search.button.payload)\"\n class=\"n7-btn n7-inner-title__search-button\"\n >\n {{search.button.text}}\n </button>\n </div>\n</ng-template>\n\n<!-- Template buttons -->\n<ng-template #buttons let-buttons>\n <div class=\"n7-inner-title__buttons-wrapper\">\n <div\n *ngFor=\"let btn of buttons\"\n class=\"n7-inner-title__single-button-wrapper\"\n >\n <n7-anchor-wrapper\n [classes]=\"'n7-btn n7-inner-title__buttons-action ' + btn.classes || ''\"\n [data]=\"btn.anchor\"\n (clicked)=\"onClick($event)\"\n >\n <span *ngIf=\"btn.icon\" class=\"n7-btn__icon {{btn.icon || ''}}\"></span>\n {{ btn.text }}\n </n7-anchor-wrapper>\n </div>\n </div>\n</ng-template>\n\n<!-- Template Icon -->\n<ng-template #icon let-icon>\n <!-- Complex icon -->\n <span\n *ngIf=\"icon && icon.id\"\n class=\"n7-inner-title__icon-left {{icon.id || ''}}\"\n [ngStyle]=\"icon.style || {}\"\n ></span>\n <!-- Simple icon -->\n <span\n *ngIf=\"icon && !icon.id\"\n class=\"n7-inner-title__icon-left {{icon || ''}}\"\n ></span>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.AnchorWrapperComponent, selector: "n7-anchor-wrapper", inputs: ["data", "classes"], outputs: ["clicked"] }] }); }
29
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InnerTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
30
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: InnerTitleComponent, selector: "n7-inner-title", inputs: { data: "data", emit: "emit" }, ngImport: i0, template: "<div *ngIf=\"data\" class=\"n7-inner-title\" [ngClass]=\"data.classes\">\n <div class=\"n7-inner-title__left-wrapper\">\n <ng-container\n *ngTemplateOutlet=\"icon; context:{$implicit: data.icon}\"\n ></ng-container>\n <div\n *ngIf=\"data.image\"\n class=\"n7-inner-title__image-left\"\n [ngStyle]=\"{'background-image': 'url(' + data.image + ')'}\"\n ></div>\n <div class=\"n7-inner-title__wrapper-texts\">\n <div\n *ngIf=\"data.title.main\"\n [innerHTML]=\"data.title.main.text\"\n class=\"n7-inner-title__title {{data.title.main.classes || ''}}\"\n ></div>\n <div\n *ngIf=\"data.title.secondary\"\n [innerHTML]=\"data.title.secondary.text\"\n class=\"n7-inner-title__subtitle {{data.title.secondary.classes || ''}}\"\n ></div>\n </div>\n </div>\n\n <div class=\"n7-inner-title__tools\" *ngIf=\"data.tools || data.actions\">\n <!-- Toolbar label -->\n <div *ngIf=\"data.tools\" class=\"n7-inner-title__tools-label\">\n {{data.tools}}\n </div>\n <!-- Actions -->\n <ng-container *ngIf=\"data.actions\">\n <ng-container\n *ngTemplateOutlet=\"actions; \n context:{$implicit: data.actions}\"\n >\n </ng-container>\n </ng-container>\n </div>\n</div>\n\n<!-- Template actions -->\n<ng-template #actions let-action>\n <ng-container *ngIf=\"action.select\">\n <ng-container\n *ngTemplateOutlet=\"select;\n context:{$implicit: action.select}\"\n >\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"action.search\">\n <ng-container\n *ngTemplateOutlet=\"search; \n context:{$implicit: action.search}\"\n >\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"action.buttons\">\n <ng-container\n *ngTemplateOutlet=\"buttons;\n context:{$implicit: action.buttons}\"\n >\n </ng-container>\n </ng-container>\n</ng-template>\n\n<!-- Template sorting -->\n<ng-template #select let-select>\n <div class=\"n7-inner-title__sorting\">\n <span *ngIf=\"select.label\" class=\"n7-inner-title__sorting-label\">\n {{select.label}}\n </span>\n <select\n (change)=\"onChange(select.payload, $event.target.value)\"\n class=\"n7-inner-title__sorting-select\"\n >\n <option\n *ngFor=\"let opt of select.options\"\n value=\"{{opt.value}}\"\n class=\"n7-inner-title__sorting-option\"\n [selected]=\"opt.selected\"\n [disabled]=\"opt.disabled\"\n >\n {{opt.text}}\n </option>\n </select>\n </div>\n</ng-template>\n\n<!-- Template search -->\n<ng-template #search let-search>\n <div class=\"n7-inner-title__search\">\n <input\n type=\"text\"\n class=\"n7-inner-title__search-bar\"\n placeholder=\"{{search.placeholder}}\"\n (input)=\"onInputChange(search.payload, $event.target.value)\"\n (keyup.enter)=\"onInputEnter(search.payload, $event.target.value)\"\n />\n <button\n *ngIf=\"search.button\"\n (click)=\"onClick(search.button.payload)\"\n class=\"n7-btn n7-inner-title__search-button\"\n >\n {{search.button.text}}\n </button>\n </div>\n</ng-template>\n\n<!-- Template buttons -->\n<ng-template #buttons let-buttons>\n <div class=\"n7-inner-title__buttons-wrapper\">\n <div\n *ngFor=\"let btn of buttons\"\n class=\"n7-inner-title__single-button-wrapper\"\n >\n <n7-anchor-wrapper\n [classes]=\"'n7-btn n7-inner-title__buttons-action ' + btn.classes || ''\"\n [data]=\"btn.anchor\"\n (clicked)=\"onClick($event)\"\n >\n <span *ngIf=\"btn.icon\" class=\"n7-btn__icon {{btn.icon || ''}}\"></span>\n {{ btn.text }}\n </n7-anchor-wrapper>\n </div>\n </div>\n</ng-template>\n\n<!-- Template Icon -->\n<ng-template #icon let-icon>\n <!-- Complex icon -->\n <span\n *ngIf=\"icon && icon.id\"\n class=\"n7-inner-title__icon-left {{icon.id || ''}}\"\n [ngStyle]=\"icon.style || {}\"\n ></span>\n <!-- Simple icon -->\n <span\n *ngIf=\"icon && !icon.id\"\n class=\"n7-inner-title__icon-left {{icon || ''}}\"\n ></span>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.AnchorWrapperComponent, selector: "n7-anchor-wrapper", inputs: ["data", "classes"], outputs: ["clicked"] }] }); }
31
31
  }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: InnerTitleComponent, decorators: [{
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InnerTitleComponent, decorators: [{
33
33
  type: Component,
34
34
  args: [{ selector: 'n7-inner-title', template: "<div *ngIf=\"data\" class=\"n7-inner-title\" [ngClass]=\"data.classes\">\n <div class=\"n7-inner-title__left-wrapper\">\n <ng-container\n *ngTemplateOutlet=\"icon; context:{$implicit: data.icon}\"\n ></ng-container>\n <div\n *ngIf=\"data.image\"\n class=\"n7-inner-title__image-left\"\n [ngStyle]=\"{'background-image': 'url(' + data.image + ')'}\"\n ></div>\n <div class=\"n7-inner-title__wrapper-texts\">\n <div\n *ngIf=\"data.title.main\"\n [innerHTML]=\"data.title.main.text\"\n class=\"n7-inner-title__title {{data.title.main.classes || ''}}\"\n ></div>\n <div\n *ngIf=\"data.title.secondary\"\n [innerHTML]=\"data.title.secondary.text\"\n class=\"n7-inner-title__subtitle {{data.title.secondary.classes || ''}}\"\n ></div>\n </div>\n </div>\n\n <div class=\"n7-inner-title__tools\" *ngIf=\"data.tools || data.actions\">\n <!-- Toolbar label -->\n <div *ngIf=\"data.tools\" class=\"n7-inner-title__tools-label\">\n {{data.tools}}\n </div>\n <!-- Actions -->\n <ng-container *ngIf=\"data.actions\">\n <ng-container\n *ngTemplateOutlet=\"actions; \n context:{$implicit: data.actions}\"\n >\n </ng-container>\n </ng-container>\n </div>\n</div>\n\n<!-- Template actions -->\n<ng-template #actions let-action>\n <ng-container *ngIf=\"action.select\">\n <ng-container\n *ngTemplateOutlet=\"select;\n context:{$implicit: action.select}\"\n >\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"action.search\">\n <ng-container\n *ngTemplateOutlet=\"search; \n context:{$implicit: action.search}\"\n >\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"action.buttons\">\n <ng-container\n *ngTemplateOutlet=\"buttons;\n context:{$implicit: action.buttons}\"\n >\n </ng-container>\n </ng-container>\n</ng-template>\n\n<!-- Template sorting -->\n<ng-template #select let-select>\n <div class=\"n7-inner-title__sorting\">\n <span *ngIf=\"select.label\" class=\"n7-inner-title__sorting-label\">\n {{select.label}}\n </span>\n <select\n (change)=\"onChange(select.payload, $event.target.value)\"\n class=\"n7-inner-title__sorting-select\"\n >\n <option\n *ngFor=\"let opt of select.options\"\n value=\"{{opt.value}}\"\n class=\"n7-inner-title__sorting-option\"\n [selected]=\"opt.selected\"\n [disabled]=\"opt.disabled\"\n >\n {{opt.text}}\n </option>\n </select>\n </div>\n</ng-template>\n\n<!-- Template search -->\n<ng-template #search let-search>\n <div class=\"n7-inner-title__search\">\n <input\n type=\"text\"\n class=\"n7-inner-title__search-bar\"\n placeholder=\"{{search.placeholder}}\"\n (input)=\"onInputChange(search.payload, $event.target.value)\"\n (keyup.enter)=\"onInputEnter(search.payload, $event.target.value)\"\n />\n <button\n *ngIf=\"search.button\"\n (click)=\"onClick(search.button.payload)\"\n class=\"n7-btn n7-inner-title__search-button\"\n >\n {{search.button.text}}\n </button>\n </div>\n</ng-template>\n\n<!-- Template buttons -->\n<ng-template #buttons let-buttons>\n <div class=\"n7-inner-title__buttons-wrapper\">\n <div\n *ngFor=\"let btn of buttons\"\n class=\"n7-inner-title__single-button-wrapper\"\n >\n <n7-anchor-wrapper\n [classes]=\"'n7-btn n7-inner-title__buttons-action ' + btn.classes || ''\"\n [data]=\"btn.anchor\"\n (clicked)=\"onClick($event)\"\n >\n <span *ngIf=\"btn.icon\" class=\"n7-btn__icon {{btn.icon || ''}}\"></span>\n {{ btn.text }}\n </n7-anchor-wrapper>\n </div>\n </div>\n</ng-template>\n\n<!-- Template Icon -->\n<ng-template #icon let-icon>\n <!-- Complex icon -->\n <span\n *ngIf=\"icon && icon.id\"\n class=\"n7-inner-title__icon-left {{icon.id || ''}}\"\n [ngStyle]=\"icon.style || {}\"\n ></span>\n <!-- Simple icon -->\n <span\n *ngIf=\"icon && !icon.id\"\n class=\"n7-inner-title__icon-left {{icon || ''}}\"\n ></span>\n</ng-template>\n" }]
35
35
  }], propDecorators: { data: [{
@@ -37,4 +37,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
37
37
  }], emit: [{
38
38
  type: Input
39
39
  }] } });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5uZXItdGl0bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdi1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvaW5uZXItdGl0bGUvaW5uZXItdGl0bGUudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdi1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvaW5uZXItdGl0bGUvaW5uZXItdGl0bGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw2QkFBNkI7QUFDN0IsaUJBQWlCO0FBQ2pCLDZCQUE2QjtBQUU3QixPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQTBEakQsTUFBTSxPQUFPLG1CQUFtQjtJQUs5QixPQUFPLENBQUMsT0FBTztRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU87UUFFdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELFFBQVEsQ0FBQyxPQUFPLEVBQUUsS0FBSztRQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPO1FBRXZCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxhQUFhLENBQUMsT0FBTyxFQUFFLEtBQUs7UUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTztRQUV2QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsWUFBWSxDQUFDLE9BQU8sRUFBRSxLQUFLO1FBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU87UUFFdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDeEQsQ0FBQzs4R0EzQlUsbUJBQW1CO2tHQUFuQixtQkFBbUIsOEZDOURoQyxzcElBOElBOzsyRkRoRmEsbUJBQW1CO2tCQUovQixTQUFTOytCQUNFLGdCQUFnQjs4QkFJakIsSUFBSTtzQkFBWixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBJTk5FUi1USVRMRS50c1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQW5jaG9yLCBJY29uIH0gZnJvbSAnLi4vLi4vc2hhcmVkLWludGVyZmFjZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElubmVyVGl0bGVPcHRpb25zIHtcbiAgdGV4dDogc3RyaW5nO1xuICB2YWx1ZTogc3RyaW5nO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIHNlbGVjdGVkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbm5lclRpdGxlQnV0dG9ucyB7XG4gIGFuY2hvcjogQW5jaG9yO1xuICB0ZXh0OiBzdHJpbmc7XG4gIGNsYXNzZXM/OiBhbnk7XG4gIGljb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogSW50ZXJmYWNlIGZvciBJbm5lclRpdGxlQ29tcG9uZW50J3MgXCJkYXRhXCJcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbm5lclRpdGxlRGF0YSB7XG4gIGljb24/OiBJY29uO1xuICBpbWFnZT86IHN0cmluZztcbiAgdGl0bGU6IHtcbiAgICBtYWluOiB7XG4gICAgICB0ZXh0OiBzdHJpbmc7XG4gICAgICBjbGFzc2VzPzogYW55O1xuICAgIH07XG4gICAgc2Vjb25kYXJ5Pzoge1xuICAgICAgdGV4dDogc3RyaW5nO1xuICAgICAgY2xhc3Nlcz86IGFueTtcbiAgICB9O1xuICB9O1xuICB0b29scz86IHN0cmluZztcbiAgYWN0aW9ucz86IHtcbiAgICBzZWxlY3Q/OiB7XG4gICAgICBsYWJlbD86IHN0cmluZztcbiAgICAgIG9wdGlvbnM6IElubmVyVGl0bGVPcHRpb25zW107XG4gICAgICBwYXlsb2FkPzogYW55O1xuICAgIH07XG4gICAgc2VhcmNoPzoge1xuICAgICAgcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgICAgIHBheWxvYWQ6IGFueTtcbiAgICAgIGJ1dHRvbj86IHtcbiAgICAgICAgdGV4dDogc3RyaW5nO1xuICAgICAgICBwYXlsb2FkOiBhbnk7XG4gICAgICB9O1xuICAgICAgX21ldGE/OiBhbnk7XG4gICAgfTtcbiAgICBidXR0b25zPzogSW5uZXJUaXRsZUJ1dHRvbnNbXTtcbiAgfTtcbiAgY2xhc3Nlcz86IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbjctaW5uZXItdGl0bGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW5uZXItdGl0bGUuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIElubmVyVGl0bGVDb21wb25lbnQge1xuICBASW5wdXQoKSBkYXRhOiBJbm5lclRpdGxlRGF0YTtcblxuICBASW5wdXQoKSBlbWl0OiBhbnk7XG5cbiAgb25DbGljayhwYXlsb2FkKSB7XG4gICAgaWYgKCF0aGlzLmVtaXQpIHJldHVybjtcblxuICAgIHRoaXMuZW1pdCgnY2xpY2snLCBwYXlsb2FkKTtcbiAgfVxuXG4gIG9uQ2hhbmdlKHBheWxvYWQsIHZhbHVlKSB7XG4gICAgaWYgKCF0aGlzLmVtaXQpIHJldHVybjtcblxuICAgIHRoaXMuZW1pdCgnY2hhbmdlJywgeyBpbnB1dFBheWxvYWQ6IHBheWxvYWQsIHZhbHVlIH0pO1xuICB9XG5cbiAgb25JbnB1dENoYW5nZShwYXlsb2FkLCB2YWx1ZSkge1xuICAgIGlmICghdGhpcy5lbWl0KSByZXR1cm47XG5cbiAgICB0aGlzLmVtaXQoJ2NoYW5nZScsIHsgaW5wdXRQYXlsb2FkOiBwYXlsb2FkLCB2YWx1ZSB9KTtcbiAgfVxuXG4gIG9uSW5wdXRFbnRlcihwYXlsb2FkLCB2YWx1ZSkge1xuICAgIGlmICghdGhpcy5lbWl0KSByZXR1cm47XG5cbiAgICB0aGlzLmVtaXQoJ3NlYXJjaCcsIHsgaW5wdXRQYXlsb2FkOiBwYXlsb2FkLCB2YWx1ZSB9KTtcbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cImRhdGFcIiBjbGFzcz1cIm43LWlubmVyLXRpdGxlXCIgW25nQ2xhc3NdPVwiZGF0YS5jbGFzc2VzXCI+XG4gIDxkaXYgY2xhc3M9XCJuNy1pbm5lci10aXRsZV9fbGVmdC13cmFwcGVyXCI+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpY29uOyBjb250ZXh0OnskaW1wbGljaXQ6IGRhdGEuaWNvbn1cIlxuICAgID48L25nLWNvbnRhaW5lcj5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cImRhdGEuaW1hZ2VcIlxuICAgICAgY2xhc3M9XCJuNy1pbm5lci10aXRsZV9faW1hZ2UtbGVmdFwiXG4gICAgICBbbmdTdHlsZV09XCJ7J2JhY2tncm91bmQtaW1hZ2UnOiAndXJsKCcgKyBkYXRhLmltYWdlICsgJyknfVwiXG4gICAgPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJuNy1pbm5lci10aXRsZV9fd3JhcHBlci10ZXh0c1wiPlxuICAgICAgPGRpdlxuICAgICAgICAqbmdJZj1cImRhdGEudGl0bGUubWFpblwiXG4gICAgICAgIFtpbm5lckhUTUxdPVwiZGF0YS50aXRsZS5tYWluLnRleHRcIlxuICAgICAgICBjbGFzcz1cIm43LWlubmVyLXRpdGxlX190aXRsZSB7e2RhdGEudGl0bGUubWFpbi5jbGFzc2VzIHx8ICcnfX1cIlxuICAgICAgPjwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICAqbmdJZj1cImRhdGEudGl0bGUuc2Vjb25kYXJ5XCJcbiAgICAgICAgW2lubmVySFRNTF09XCJkYXRhLnRpdGxlLnNlY29uZGFyeS50ZXh0XCJcbiAgICAgICAgY2xhc3M9XCJuNy1pbm5lci10aXRsZV9fc3VidGl0bGUge3tkYXRhLnRpdGxlLnNlY29uZGFyeS5jbGFzc2VzIHx8ICcnfX1cIlxuICAgICAgPjwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwibjctaW5uZXItdGl0bGVfX3Rvb2xzXCIgKm5nSWY9XCJkYXRhLnRvb2xzIHx8IGRhdGEuYWN0aW9uc1wiPlxuICAgIDwhLS0gVG9vbGJhciBsYWJlbCAtLT5cbiAgICA8ZGl2ICpuZ0lmPVwiZGF0YS50b29sc1wiIGNsYXNzPVwibjctaW5uZXItdGl0bGVfX3Rvb2xzLWxhYmVsXCI+XG4gICAgICB7e2RhdGEudG9vbHN9fVxuICAgIDwvZGl2PlxuICAgIDwhLS0gQWN0aW9ucyAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGF0YS5hY3Rpb25zXCI+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiYWN0aW9uczsgXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0OnskaW1wbGljaXQ6IGRhdGEuYWN0aW9uc31cIlxuICAgICAgPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjwhLS0gVGVtcGxhdGUgYWN0aW9ucyAtLT5cbjxuZy10ZW1wbGF0ZSAjYWN0aW9ucyBsZXQtYWN0aW9uPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiYWN0aW9uLnNlbGVjdFwiPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwic2VsZWN0O1xuICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6eyRpbXBsaWNpdDogYWN0aW9uLnNlbGVjdH1cIlxuICAgID5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJhY3Rpb24uc2VhcmNoXCI+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzZWFyY2g7IFxuICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6eyRpbXBsaWNpdDogYWN0aW9uLnNlYXJjaH1cIlxuICAgID5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFjdGlvbi5idXR0b25zXCI+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJidXR0b25zO1xuICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6eyRpbXBsaWNpdDogYWN0aW9uLmJ1dHRvbnN9XCJcbiAgICA+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLSBUZW1wbGF0ZSBzb3J0aW5nIC0tPlxuPG5nLXRlbXBsYXRlICNzZWxlY3QgbGV0LXNlbGVjdD5cbiAgPGRpdiBjbGFzcz1cIm43LWlubmVyLXRpdGxlX19zb3J0aW5nXCI+XG4gICAgPHNwYW4gKm5nSWY9XCJzZWxlY3QubGFiZWxcIiBjbGFzcz1cIm43LWlubmVyLXRpdGxlX19zb3J0aW5nLWxhYmVsXCI+XG4gICAgICB7e3NlbGVjdC5sYWJlbH19XG4gICAgPC9zcGFuPlxuICAgIDxzZWxlY3RcbiAgICAgIChjaGFuZ2UpPVwib25DaGFuZ2Uoc2VsZWN0LnBheWxvYWQsICRldmVudC50YXJnZXQudmFsdWUpXCJcbiAgICAgIGNsYXNzPVwibjctaW5uZXItdGl0bGVfX3NvcnRpbmctc2VsZWN0XCJcbiAgICA+XG4gICAgICA8b3B0aW9uXG4gICAgICAgICpuZ0Zvcj1cImxldCBvcHQgb2Ygc2VsZWN0Lm9wdGlvbnNcIlxuICAgICAgICB2YWx1ZT1cInt7b3B0LnZhbHVlfX1cIlxuICAgICAgICBjbGFzcz1cIm43LWlubmVyLXRpdGxlX19zb3J0aW5nLW9wdGlvblwiXG4gICAgICAgIFtzZWxlY3RlZF09XCJvcHQuc2VsZWN0ZWRcIlxuICAgICAgICBbZGlzYWJsZWRdPVwib3B0LmRpc2FibGVkXCJcbiAgICAgID5cbiAgICAgICAge3tvcHQudGV4dH19XG4gICAgICA8L29wdGlvbj5cbiAgICA8L3NlbGVjdD5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48IS0tIFRlbXBsYXRlIHNlYXJjaCAtLT5cbjxuZy10ZW1wbGF0ZSAjc2VhcmNoIGxldC1zZWFyY2g+XG4gIDxkaXYgY2xhc3M9XCJuNy1pbm5lci10aXRsZV9fc2VhcmNoXCI+XG4gICAgPGlucHV0XG4gICAgICB0eXBlPVwidGV4dFwiXG4gICAgICBjbGFzcz1cIm43LWlubmVyLXRpdGxlX19zZWFyY2gtYmFyXCJcbiAgICAgIHBsYWNlaG9sZGVyPVwie3tzZWFyY2gucGxhY2Vob2xkZXJ9fVwiXG4gICAgICAoaW5wdXQpPVwib25JbnB1dENoYW5nZShzZWFyY2gucGF5bG9hZCwgJGV2ZW50LnRhcmdldC52YWx1ZSlcIlxuICAgICAgKGtleXVwLmVudGVyKT1cIm9uSW5wdXRFbnRlcihzZWFyY2gucGF5bG9hZCwgJGV2ZW50LnRhcmdldC52YWx1ZSlcIlxuICAgIC8+XG4gICAgPGJ1dHRvblxuICAgICAgKm5nSWY9XCJzZWFyY2guYnV0dG9uXCJcbiAgICAgIChjbGljayk9XCJvbkNsaWNrKHNlYXJjaC5idXR0b24ucGF5bG9hZClcIlxuICAgICAgY2xhc3M9XCJuNy1idG4gbjctaW5uZXItdGl0bGVfX3NlYXJjaC1idXR0b25cIlxuICAgID5cbiAgICAgIHt7c2VhcmNoLmJ1dHRvbi50ZXh0fX1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48IS0tIFRlbXBsYXRlIGJ1dHRvbnMgLS0+XG48bmctdGVtcGxhdGUgI2J1dHRvbnMgbGV0LWJ1dHRvbnM+XG4gIDxkaXYgY2xhc3M9XCJuNy1pbm5lci10aXRsZV9fYnV0dG9ucy13cmFwcGVyXCI+XG4gICAgPGRpdlxuICAgICAgKm5nRm9yPVwibGV0IGJ0biBvZiBidXR0b25zXCJcbiAgICAgIGNsYXNzPVwibjctaW5uZXItdGl0bGVfX3NpbmdsZS1idXR0b24td3JhcHBlclwiXG4gICAgPlxuICAgICAgPG43LWFuY2hvci13cmFwcGVyXG4gICAgICAgIFtjbGFzc2VzXT1cIiduNy1idG4gbjctaW5uZXItdGl0bGVfX2J1dHRvbnMtYWN0aW9uICcgKyBidG4uY2xhc3NlcyB8fCAnJ1wiXG4gICAgICAgIFtkYXRhXT1cImJ0bi5hbmNob3JcIlxuICAgICAgICAoY2xpY2tlZCk9XCJvbkNsaWNrKCRldmVudClcIlxuICAgICAgPlxuICAgICAgICA8c3BhbiAqbmdJZj1cImJ0bi5pY29uXCIgY2xhc3M9XCJuNy1idG5fX2ljb24ge3tidG4uaWNvbiB8fCAnJ319XCI+PC9zcGFuPlxuICAgICAgICB7eyBidG4udGV4dCB9fVxuICAgICAgPC9uNy1hbmNob3Itd3JhcHBlcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48IS0tIFRlbXBsYXRlIEljb24gLS0+XG48bmctdGVtcGxhdGUgI2ljb24gbGV0LWljb24+XG4gIDwhLS0gQ29tcGxleCBpY29uIC0tPlxuICA8c3BhblxuICAgICpuZ0lmPVwiaWNvbiAmJiBpY29uLmlkXCJcbiAgICBjbGFzcz1cIm43LWlubmVyLXRpdGxlX19pY29uLWxlZnQge3tpY29uLmlkIHx8ICcnfX1cIlxuICAgIFtuZ1N0eWxlXT1cImljb24uc3R5bGUgfHwge31cIlxuICA+PC9zcGFuPlxuICA8IS0tIFNpbXBsZSBpY29uIC0tPlxuICA8c3BhblxuICAgICpuZ0lmPVwiaWNvbiAmJiAhaWNvbi5pZFwiXG4gICAgY2xhc3M9XCJuNy1pbm5lci10aXRsZV9faWNvbi1sZWZ0IHt7aWNvbiB8fCAnJ319XCJcbiAgPjwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5uZXItdGl0bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdi1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvaW5uZXItdGl0bGUvaW5uZXItdGl0bGUudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdi1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvaW5uZXItdGl0bGUvaW5uZXItdGl0bGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw2QkFBNkI7QUFDN0IsaUJBQWlCO0FBQ2pCLDZCQUE2QjtBQUU3QixPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQTBEakQsTUFBTSxPQUFPLG1CQUFtQjtJQUs5QixPQUFPLENBQUMsT0FBTztRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU87UUFFdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELFFBQVEsQ0FBQyxPQUFPLEVBQUUsS0FBSztRQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPO1FBRXZCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxhQUFhLENBQUMsT0FBTyxFQUFFLEtBQUs7UUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTztRQUV2QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsWUFBWSxDQUFDLE9BQU8sRUFBRSxLQUFLO1FBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU87UUFFdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDeEQsQ0FBQzsrR0EzQlUsbUJBQW1CO21HQUFuQixtQkFBbUIsOEZDOURoQyxzcElBOElBOzs0RkRoRmEsbUJBQW1CO2tCQUovQixTQUFTOytCQUNFLGdCQUFnQjs4QkFJakIsSUFBSTtzQkFBWixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBJTk5FUi1USVRMRS50c1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQW5jaG9yLCBJY29uIH0gZnJvbSAnLi4vLi4vc2hhcmVkLWludGVyZmFjZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElubmVyVGl0bGVPcHRpb25zIHtcbiAgdGV4dDogc3RyaW5nO1xuICB2YWx1ZTogc3RyaW5nO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIHNlbGVjdGVkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbm5lclRpdGxlQnV0dG9ucyB7XG4gIGFuY2hvcjogQW5jaG9yO1xuICB0ZXh0OiBzdHJpbmc7XG4gIGNsYXNzZXM/OiBhbnk7XG4gIGljb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogSW50ZXJmYWNlIGZvciBJbm5lclRpdGxlQ29tcG9uZW50J3MgXCJkYXRhXCJcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbm5lclRpdGxlRGF0YSB7XG4gIGljb24/OiBJY29uO1xuICBpbWFnZT86IHN0cmluZztcbiAgdGl0bGU6IHtcbiAgICBtYWluOiB7XG4gICAgICB0ZXh0OiBzdHJpbmc7XG4gICAgICBjbGFzc2VzPzogYW55O1xuICAgIH07XG4gICAgc2Vjb25kYXJ5Pzoge1xuICAgICAgdGV4dDogc3RyaW5nO1xuICAgICAgY2xhc3Nlcz86IGFueTtcbiAgICB9O1xuICB9O1xuICB0b29scz86IHN0cmluZztcbiAgYWN0aW9ucz86IHtcbiAgICBzZWxlY3Q/OiB7XG4gICAgICBsYWJlbD86IHN0cmluZztcbiAgICAgIG9wdGlvbnM6IElubmVyVGl0bGVPcHRpb25zW107XG4gICAgICBwYXlsb2FkPzogYW55O1xuICAgIH07XG4gICAgc2VhcmNoPzoge1xuICAgICAgcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgICAgIHBheWxvYWQ6IGFueTtcbiAgICAgIGJ1dHRvbj86IHtcbiAgICAgICAgdGV4dDogc3RyaW5nO1xuICAgICAgICBwYXlsb2FkOiBhbnk7XG4gICAgICB9O1xuICAgICAgX21ldGE/OiBhbnk7XG4gICAgfTtcbiAgICBidXR0b25zPzogSW5uZXJUaXRsZUJ1dHRvbnNbXTtcbiAgfTtcbiAgY2xhc3Nlcz86IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbjctaW5uZXItdGl0bGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW5uZXItdGl0bGUuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIElubmVyVGl0bGVDb21wb25lbnQge1xuICBASW5wdXQoKSBkYXRhOiBJbm5lclRpdGxlRGF0YTtcblxuICBASW5wdXQoKSBlbWl0OiBhbnk7XG5cbiAgb25DbGljayhwYXlsb2FkKSB7XG4gICAgaWYgKCF0aGlzLmVtaXQpIHJldHVybjtcblxuICAgIHRoaXMuZW1pdCgnY2xpY2snLCBwYXlsb2FkKTtcbiAgfVxuXG4gIG9uQ2hhbmdlKHBheWxvYWQsIHZhbHVlKSB7XG4gICAgaWYgKCF0aGlzLmVtaXQpIHJldHVybjtcblxuICAgIHRoaXMuZW1pdCgnY2hhbmdlJywgeyBpbnB1dFBheWxvYWQ6IHBheWxvYWQsIHZhbHVlIH0pO1xuICB9XG5cbiAgb25JbnB1dENoYW5nZShwYXlsb2FkLCB2YWx1ZSkge1xuICAgIGlmICghdGhpcy5lbWl0KSByZXR1cm47XG5cbiAgICB0aGlzLmVtaXQoJ2NoYW5nZScsIHsgaW5wdXRQYXlsb2FkOiBwYXlsb2FkLCB2YWx1ZSB9KTtcbiAgfVxuXG4gIG9uSW5wdXRFbnRlcihwYXlsb2FkLCB2YWx1ZSkge1xuICAgIGlmICghdGhpcy5lbWl0KSByZXR1cm47XG5cbiAgICB0aGlzLmVtaXQoJ3NlYXJjaCcsIHsgaW5wdXRQYXlsb2FkOiBwYXlsb2FkLCB2YWx1ZSB9KTtcbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cImRhdGFcIiBjbGFzcz1cIm43LWlubmVyLXRpdGxlXCIgW25nQ2xhc3NdPVwiZGF0YS5jbGFzc2VzXCI+XG4gIDxkaXYgY2xhc3M9XCJuNy1pbm5lci10aXRsZV9fbGVmdC13cmFwcGVyXCI+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpY29uOyBjb250ZXh0OnskaW1wbGljaXQ6IGRhdGEuaWNvbn1cIlxuICAgID48L25nLWNvbnRhaW5lcj5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cImRhdGEuaW1hZ2VcIlxuICAgICAgY2xhc3M9XCJuNy1pbm5lci10aXRsZV9faW1hZ2UtbGVmdFwiXG4gICAgICBbbmdTdHlsZV09XCJ7J2JhY2tncm91bmQtaW1hZ2UnOiAndXJsKCcgKyBkYXRhLmltYWdlICsgJyknfVwiXG4gICAgPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJuNy1pbm5lci10aXRsZV9fd3JhcHBlci10ZXh0c1wiPlxuICAgICAgPGRpdlxuICAgICAgICAqbmdJZj1cImRhdGEudGl0bGUubWFpblwiXG4gICAgICAgIFtpbm5lckhUTUxdPVwiZGF0YS50aXRsZS5tYWluLnRleHRcIlxuICAgICAgICBjbGFzcz1cIm43LWlubmVyLXRpdGxlX190aXRsZSB7e2RhdGEudGl0bGUubWFpbi5jbGFzc2VzIHx8ICcnfX1cIlxuICAgICAgPjwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICAqbmdJZj1cImRhdGEudGl0bGUuc2Vjb25kYXJ5XCJcbiAgICAgICAgW2lubmVySFRNTF09XCJkYXRhLnRpdGxlLnNlY29uZGFyeS50ZXh0XCJcbiAgICAgICAgY2xhc3M9XCJuNy1pbm5lci10aXRsZV9fc3VidGl0bGUge3tkYXRhLnRpdGxlLnNlY29uZGFyeS5jbGFzc2VzIHx8ICcnfX1cIlxuICAgICAgPjwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwibjctaW5uZXItdGl0bGVfX3Rvb2xzXCIgKm5nSWY9XCJkYXRhLnRvb2xzIHx8IGRhdGEuYWN0aW9uc1wiPlxuICAgIDwhLS0gVG9vbGJhciBsYWJlbCAtLT5cbiAgICA8ZGl2ICpuZ0lmPVwiZGF0YS50b29sc1wiIGNsYXNzPVwibjctaW5uZXItdGl0bGVfX3Rvb2xzLWxhYmVsXCI+XG4gICAgICB7e2RhdGEudG9vbHN9fVxuICAgIDwvZGl2PlxuICAgIDwhLS0gQWN0aW9ucyAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGF0YS5hY3Rpb25zXCI+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiYWN0aW9uczsgXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0OnskaW1wbGljaXQ6IGRhdGEuYWN0aW9uc31cIlxuICAgICAgPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjwhLS0gVGVtcGxhdGUgYWN0aW9ucyAtLT5cbjxuZy10ZW1wbGF0ZSAjYWN0aW9ucyBsZXQtYWN0aW9uPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiYWN0aW9uLnNlbGVjdFwiPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwic2VsZWN0O1xuICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6eyRpbXBsaWNpdDogYWN0aW9uLnNlbGVjdH1cIlxuICAgID5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJhY3Rpb24uc2VhcmNoXCI+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzZWFyY2g7IFxuICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6eyRpbXBsaWNpdDogYWN0aW9uLnNlYXJjaH1cIlxuICAgID5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFjdGlvbi5idXR0b25zXCI+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJidXR0b25zO1xuICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6eyRpbXBsaWNpdDogYWN0aW9uLmJ1dHRvbnN9XCJcbiAgICA+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLSBUZW1wbGF0ZSBzb3J0aW5nIC0tPlxuPG5nLXRlbXBsYXRlICNzZWxlY3QgbGV0LXNlbGVjdD5cbiAgPGRpdiBjbGFzcz1cIm43LWlubmVyLXRpdGxlX19zb3J0aW5nXCI+XG4gICAgPHNwYW4gKm5nSWY9XCJzZWxlY3QubGFiZWxcIiBjbGFzcz1cIm43LWlubmVyLXRpdGxlX19zb3J0aW5nLWxhYmVsXCI+XG4gICAgICB7e3NlbGVjdC5sYWJlbH19XG4gICAgPC9zcGFuPlxuICAgIDxzZWxlY3RcbiAgICAgIChjaGFuZ2UpPVwib25DaGFuZ2Uoc2VsZWN0LnBheWxvYWQsICRldmVudC50YXJnZXQudmFsdWUpXCJcbiAgICAgIGNsYXNzPVwibjctaW5uZXItdGl0bGVfX3NvcnRpbmctc2VsZWN0XCJcbiAgICA+XG4gICAgICA8b3B0aW9uXG4gICAgICAgICpuZ0Zvcj1cImxldCBvcHQgb2Ygc2VsZWN0Lm9wdGlvbnNcIlxuICAgICAgICB2YWx1ZT1cInt7b3B0LnZhbHVlfX1cIlxuICAgICAgICBjbGFzcz1cIm43LWlubmVyLXRpdGxlX19zb3J0aW5nLW9wdGlvblwiXG4gICAgICAgIFtzZWxlY3RlZF09XCJvcHQuc2VsZWN0ZWRcIlxuICAgICAgICBbZGlzYWJsZWRdPVwib3B0LmRpc2FibGVkXCJcbiAgICAgID5cbiAgICAgICAge3tvcHQudGV4dH19XG4gICAgICA8L29wdGlvbj5cbiAgICA8L3NlbGVjdD5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48IS0tIFRlbXBsYXRlIHNlYXJjaCAtLT5cbjxuZy10ZW1wbGF0ZSAjc2VhcmNoIGxldC1zZWFyY2g+XG4gIDxkaXYgY2xhc3M9XCJuNy1pbm5lci10aXRsZV9fc2VhcmNoXCI+XG4gICAgPGlucHV0XG4gICAgICB0eXBlPVwidGV4dFwiXG4gICAgICBjbGFzcz1cIm43LWlubmVyLXRpdGxlX19zZWFyY2gtYmFyXCJcbiAgICAgIHBsYWNlaG9sZGVyPVwie3tzZWFyY2gucGxhY2Vob2xkZXJ9fVwiXG4gICAgICAoaW5wdXQpPVwib25JbnB1dENoYW5nZShzZWFyY2gucGF5bG9hZCwgJGV2ZW50LnRhcmdldC52YWx1ZSlcIlxuICAgICAgKGtleXVwLmVudGVyKT1cIm9uSW5wdXRFbnRlcihzZWFyY2gucGF5bG9hZCwgJGV2ZW50LnRhcmdldC52YWx1ZSlcIlxuICAgIC8+XG4gICAgPGJ1dHRvblxuICAgICAgKm5nSWY9XCJzZWFyY2guYnV0dG9uXCJcbiAgICAgIChjbGljayk9XCJvbkNsaWNrKHNlYXJjaC5idXR0b24ucGF5bG9hZClcIlxuICAgICAgY2xhc3M9XCJuNy1idG4gbjctaW5uZXItdGl0bGVfX3NlYXJjaC1idXR0b25cIlxuICAgID5cbiAgICAgIHt7c2VhcmNoLmJ1dHRvbi50ZXh0fX1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48IS0tIFRlbXBsYXRlIGJ1dHRvbnMgLS0+XG48bmctdGVtcGxhdGUgI2J1dHRvbnMgbGV0LWJ1dHRvbnM+XG4gIDxkaXYgY2xhc3M9XCJuNy1pbm5lci10aXRsZV9fYnV0dG9ucy13cmFwcGVyXCI+XG4gICAgPGRpdlxuICAgICAgKm5nRm9yPVwibGV0IGJ0biBvZiBidXR0b25zXCJcbiAgICAgIGNsYXNzPVwibjctaW5uZXItdGl0bGVfX3NpbmdsZS1idXR0b24td3JhcHBlclwiXG4gICAgPlxuICAgICAgPG43LWFuY2hvci13cmFwcGVyXG4gICAgICAgIFtjbGFzc2VzXT1cIiduNy1idG4gbjctaW5uZXItdGl0bGVfX2J1dHRvbnMtYWN0aW9uICcgKyBidG4uY2xhc3NlcyB8fCAnJ1wiXG4gICAgICAgIFtkYXRhXT1cImJ0bi5hbmNob3JcIlxuICAgICAgICAoY2xpY2tlZCk9XCJvbkNsaWNrKCRldmVudClcIlxuICAgICAgPlxuICAgICAgICA8c3BhbiAqbmdJZj1cImJ0bi5pY29uXCIgY2xhc3M9XCJuNy1idG5fX2ljb24ge3tidG4uaWNvbiB8fCAnJ319XCI+PC9zcGFuPlxuICAgICAgICB7eyBidG4udGV4dCB9fVxuICAgICAgPC9uNy1hbmNob3Itd3JhcHBlcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48IS0tIFRlbXBsYXRlIEljb24gLS0+XG48bmctdGVtcGxhdGUgI2ljb24gbGV0LWljb24+XG4gIDwhLS0gQ29tcGxleCBpY29uIC0tPlxuICA8c3BhblxuICAgICpuZ0lmPVwiaWNvbiAmJiBpY29uLmlkXCJcbiAgICBjbGFzcz1cIm43LWlubmVyLXRpdGxlX19pY29uLWxlZnQge3tpY29uLmlkIHx8ICcnfX1cIlxuICAgIFtuZ1N0eWxlXT1cImljb24uc3R5bGUgfHwge31cIlxuICA+PC9zcGFuPlxuICA8IS0tIFNpbXBsZSBpY29uIC0tPlxuICA8c3BhblxuICAgICpuZ0lmPVwiaWNvbiAmJiAhaWNvbi5pZFwiXG4gICAgY2xhc3M9XCJuNy1pbm5lci10aXRsZV9faWNvbi1sZWZ0IHt7aWNvbiB8fCAnJ319XCJcbiAgPjwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -10,10 +10,10 @@ export class InputCheckboxComponent {
10
10
  return;
11
11
  this.emit('change', { inputPayload, value });
12
12
  }
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: InputCheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: InputCheckboxComponent, selector: "n7-input-checkbox", inputs: { data: "data", emit: "emit" }, ngImport: i0, template: "<div *ngIf=\"data\" class=\"n7-input-checkbox {{ data.classes || '' }}\">\n <fieldset class=\"n7-input-checkbox__fieldset\">\n <legend\n class=\"n7-input-checkbox__legend\"\n *ngIf=\"data.legend\"\n [innerHTML]=\"data.legend\"\n ></legend>\n <ng-container *ngFor=\"let input of data.checkboxes\">\n <div class=\"n7-input-checkbox__input-wrapper\">\n <input\n type=\"checkbox\"\n id=\"{{ input.id }}\"\n [attr.name]=\"input.name\"\n class=\"n7-input-checkbox__input\"\n [ngClass]=\"input.classes\"\n [checked]=\"input.checked\"\n [disabled]=\"input.disabled\"\n (change)=\"onChange(input.payload, $event.target.checked)\"\n />\n <label\n *ngIf=\"input.label\"\n class=\"n7-input-checkbox__label\"\n for=\"{{ input.id }}\"\n >{{ input.label }}</label\n >\n </div>\n </ng-container>\n </fieldset>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputCheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: InputCheckboxComponent, selector: "n7-input-checkbox", inputs: { data: "data", emit: "emit" }, ngImport: i0, template: "<div *ngIf=\"data\" class=\"n7-input-checkbox {{ data.classes || '' }}\">\n <fieldset class=\"n7-input-checkbox__fieldset\">\n <legend\n class=\"n7-input-checkbox__legend\"\n *ngIf=\"data.legend\"\n [innerHTML]=\"data.legend\"\n ></legend>\n <ng-container *ngFor=\"let input of data.checkboxes\">\n <div class=\"n7-input-checkbox__input-wrapper\">\n <input\n type=\"checkbox\"\n id=\"{{ input.id }}\"\n [attr.name]=\"input.name\"\n class=\"n7-input-checkbox__input\"\n [ngClass]=\"input.classes\"\n [checked]=\"input.checked\"\n [disabled]=\"input.disabled\"\n (change)=\"onChange(input.payload, $event.target.checked)\"\n />\n <label\n *ngIf=\"input.label\"\n class=\"n7-input-checkbox__label\"\n for=\"{{ input.id }}\"\n >{{ input.label }}</label\n >\n </div>\n </ng-container>\n </fieldset>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
15
15
  }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: InputCheckboxComponent, decorators: [{
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputCheckboxComponent, decorators: [{
17
17
  type: Component,
18
18
  args: [{ selector: 'n7-input-checkbox', template: "<div *ngIf=\"data\" class=\"n7-input-checkbox {{ data.classes || '' }}\">\n <fieldset class=\"n7-input-checkbox__fieldset\">\n <legend\n class=\"n7-input-checkbox__legend\"\n *ngIf=\"data.legend\"\n [innerHTML]=\"data.legend\"\n ></legend>\n <ng-container *ngFor=\"let input of data.checkboxes\">\n <div class=\"n7-input-checkbox__input-wrapper\">\n <input\n type=\"checkbox\"\n id=\"{{ input.id }}\"\n [attr.name]=\"input.name\"\n class=\"n7-input-checkbox__input\"\n [ngClass]=\"input.classes\"\n [checked]=\"input.checked\"\n [disabled]=\"input.disabled\"\n (change)=\"onChange(input.payload, $event.target.checked)\"\n />\n <label\n *ngIf=\"input.label\"\n class=\"n7-input-checkbox__label\"\n for=\"{{ input.id }}\"\n >{{ input.label }}</label\n >\n </div>\n </ng-container>\n </fieldset>\n</div>\n" }]
19
19
  }], propDecorators: { data: [{
@@ -21,4 +21,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
21
21
  }], emit: [{
22
22
  type: Input
23
23
  }] } });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY2hlY2tib3guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdi1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXQtY2hlY2tib3gvaW5wdXQtY2hlY2tib3gudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdi1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXQtY2hlY2tib3gvaW5wdXQtY2hlY2tib3guaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw2QkFBNkI7QUFDN0Isb0JBQW9CO0FBQ3BCLDZCQUE2QjtBQUU3QixPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBdUVqRCxNQUFNLE9BQU8sc0JBQXNCO0lBS2pDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsS0FBTTtRQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDL0MsQ0FBQzs4R0FSVSxzQkFBc0I7a0dBQXRCLHNCQUFzQixpR0MzRW5DLG85QkE2QkE7OzJGRDhDYSxzQkFBc0I7a0JBSmxDLFNBQVM7K0JBQ0UsbUJBQW1COzhCQUlwQixJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIElOUFVULUNIRUNLQk9YLnRzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogSW50ZXJmYWNlIGZvciBJbnB1dENoZWNrYm94XG4gKlxuICogQHByb3BlcnR5IGlkIChyZXF1aXJlZClcbiAqIEBwcm9wZXJ0eSBsYWJlbCAocmVxdWlyZWQpXG4gKiBAcHJvcGVydHkgY2hlY2tlZCAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgZGlzYWJsZWQgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IHBheWxvYWQgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IGNsYXNzZXMgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IF9tZXRhIChvcHRpb25hbClcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbnB1dENoZWNrYm94IHtcbiAgLyoqXG4gICAqIFVuaXF1ZSBJRCBmb3IgdGhlIGNoZWNrYm94XG4gICAqL1xuICBpZDogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGNvbnRyb2wuXG4gICAqL1xuICBuYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogTGFiZWwgZm9yIHRoZSBjaGVja2JveFxuICAgKi9cbiAgbGFiZWw6IHN0cmluZztcbiAgLyoqXG4gICAqIERlZmF1bHRzIHRoZSBjaGVja2JveCB0byBiZSBjaGVja2VkXG4gICAqL1xuICBjaGVja2VkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFNldHMgdGhlIGRpc2FibGVkIEhUTUwgYXR0cmlidXRlXG4gICAqL1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBQYXlsb2FkIGZvciB0aGUgY2hhbmdlIGV2ZW50XG4gICAqL1xuICBwYXlsb2FkPzogYW55O1xuICAvKipcbiAgICogQWRkaXRpb25hbCBIVE1MIENsYXNzZXNcbiAgICovXG4gIGNsYXNzZXM/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIGRhdGEgZm9yIHRoZSBjb21wb25lbnQncyBsb2dpY1xuICAgKi9cbiAgX21ldGE/OiBhbnk7XG59XG5cbi8qKlxuICogSW50ZXJmYWNlIGZvciBJbnB1dENoZWNrYm94RGF0YVxuICogQHByb3BlcnR5IGNoZWNrYm94ZXMgKHJlcXVpcmVkKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIElucHV0Q2hlY2tib3hEYXRhIHtcbiAgLyoqXG4gICAqIEFuIGFycmF5IG9mIGlucHV0IGNoZWNrYm94ZXNcbiAgICovXG4gIGNoZWNrYm94ZXM6IElucHV0Q2hlY2tib3hbXTtcbiAgLyoqXG4gICAqIEZpZWxkc2V0IChncm91cCkgbGVnZW5kIGxhYmVsXG4gICAqL1xuICBsZWdlbmQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIEhUTUwgQ2xhc3Nlc1xuICAgKi9cbiAgY2xhc3Nlcz86IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbjctaW5wdXQtY2hlY2tib3gnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtY2hlY2tib3guaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIElucHV0Q2hlY2tib3hDb21wb25lbnQge1xuICBASW5wdXQoKSBkYXRhOiBJbnB1dENoZWNrYm94RGF0YTtcblxuICBASW5wdXQoKSBlbWl0OiBhbnk7XG5cbiAgb25DaGFuZ2UoaW5wdXRQYXlsb2FkLCB2YWx1ZT8pIHtcbiAgICBpZiAoIXRoaXMuZW1pdCkgcmV0dXJuO1xuICAgIHRoaXMuZW1pdCgnY2hhbmdlJywgeyBpbnB1dFBheWxvYWQsIHZhbHVlIH0pO1xuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiZGF0YVwiIGNsYXNzPVwibjctaW5wdXQtY2hlY2tib3gge3sgZGF0YS5jbGFzc2VzIHx8ICcnIH19XCI+XG4gIDxmaWVsZHNldCBjbGFzcz1cIm43LWlucHV0LWNoZWNrYm94X19maWVsZHNldFwiPlxuICAgIDxsZWdlbmRcbiAgICAgIGNsYXNzPVwibjctaW5wdXQtY2hlY2tib3hfX2xlZ2VuZFwiXG4gICAgICAqbmdJZj1cImRhdGEubGVnZW5kXCJcbiAgICAgIFtpbm5lckhUTUxdPVwiZGF0YS5sZWdlbmRcIlxuICAgID48L2xlZ2VuZD5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpbnB1dCBvZiBkYXRhLmNoZWNrYm94ZXNcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJuNy1pbnB1dC1jaGVja2JveF9faW5wdXQtd3JhcHBlclwiPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgIGlkPVwie3sgaW5wdXQuaWQgfX1cIlxuICAgICAgICAgIFthdHRyLm5hbWVdPVwiaW5wdXQubmFtZVwiXG4gICAgICAgICAgY2xhc3M9XCJuNy1pbnB1dC1jaGVja2JveF9faW5wdXRcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cImlucHV0LmNsYXNzZXNcIlxuICAgICAgICAgIFtjaGVja2VkXT1cImlucHV0LmNoZWNrZWRcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJpbnB1dC5kaXNhYmxlZFwiXG4gICAgICAgICAgKGNoYW5nZSk9XCJvbkNoYW5nZShpbnB1dC5wYXlsb2FkLCAkZXZlbnQudGFyZ2V0LmNoZWNrZWQpXCJcbiAgICAgICAgLz5cbiAgICAgICAgPGxhYmVsXG4gICAgICAgICAgKm5nSWY9XCJpbnB1dC5sYWJlbFwiXG4gICAgICAgICAgY2xhc3M9XCJuNy1pbnB1dC1jaGVja2JveF9fbGFiZWxcIlxuICAgICAgICAgIGZvcj1cInt7IGlucHV0LmlkIH19XCJcbiAgICAgICAgICA+e3sgaW5wdXQubGFiZWwgfX08L2xhYmVsXG4gICAgICAgID5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2ZpZWxkc2V0PlxuPC9kaXY+XG4iXX0=
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY2hlY2tib3guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdi1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXQtY2hlY2tib3gvaW5wdXQtY2hlY2tib3gudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdi1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXQtY2hlY2tib3gvaW5wdXQtY2hlY2tib3guaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw2QkFBNkI7QUFDN0Isb0JBQW9CO0FBQ3BCLDZCQUE2QjtBQUU3QixPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBdUVqRCxNQUFNLE9BQU8sc0JBQXNCO0lBS2pDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsS0FBTTtRQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDL0MsQ0FBQzsrR0FSVSxzQkFBc0I7bUdBQXRCLHNCQUFzQixpR0MzRW5DLG85QkE2QkE7OzRGRDhDYSxzQkFBc0I7a0JBSmxDLFNBQVM7K0JBQ0UsbUJBQW1COzhCQUlwQixJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIElOUFVULUNIRUNLQk9YLnRzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogSW50ZXJmYWNlIGZvciBJbnB1dENoZWNrYm94XG4gKlxuICogQHByb3BlcnR5IGlkIChyZXF1aXJlZClcbiAqIEBwcm9wZXJ0eSBsYWJlbCAocmVxdWlyZWQpXG4gKiBAcHJvcGVydHkgY2hlY2tlZCAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgZGlzYWJsZWQgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IHBheWxvYWQgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IGNsYXNzZXMgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IF9tZXRhIChvcHRpb25hbClcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbnB1dENoZWNrYm94IHtcbiAgLyoqXG4gICAqIFVuaXF1ZSBJRCBmb3IgdGhlIGNoZWNrYm94XG4gICAqL1xuICBpZDogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGNvbnRyb2wuXG4gICAqL1xuICBuYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogTGFiZWwgZm9yIHRoZSBjaGVja2JveFxuICAgKi9cbiAgbGFiZWw6IHN0cmluZztcbiAgLyoqXG4gICAqIERlZmF1bHRzIHRoZSBjaGVja2JveCB0byBiZSBjaGVja2VkXG4gICAqL1xuICBjaGVja2VkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFNldHMgdGhlIGRpc2FibGVkIEhUTUwgYXR0cmlidXRlXG4gICAqL1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBQYXlsb2FkIGZvciB0aGUgY2hhbmdlIGV2ZW50XG4gICAqL1xuICBwYXlsb2FkPzogYW55O1xuICAvKipcbiAgICogQWRkaXRpb25hbCBIVE1MIENsYXNzZXNcbiAgICovXG4gIGNsYXNzZXM/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIGRhdGEgZm9yIHRoZSBjb21wb25lbnQncyBsb2dpY1xuICAgKi9cbiAgX21ldGE/OiBhbnk7XG59XG5cbi8qKlxuICogSW50ZXJmYWNlIGZvciBJbnB1dENoZWNrYm94RGF0YVxuICogQHByb3BlcnR5IGNoZWNrYm94ZXMgKHJlcXVpcmVkKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIElucHV0Q2hlY2tib3hEYXRhIHtcbiAgLyoqXG4gICAqIEFuIGFycmF5IG9mIGlucHV0IGNoZWNrYm94ZXNcbiAgICovXG4gIGNoZWNrYm94ZXM6IElucHV0Q2hlY2tib3hbXTtcbiAgLyoqXG4gICAqIEZpZWxkc2V0IChncm91cCkgbGVnZW5kIGxhYmVsXG4gICAqL1xuICBsZWdlbmQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIEhUTUwgQ2xhc3Nlc1xuICAgKi9cbiAgY2xhc3Nlcz86IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbjctaW5wdXQtY2hlY2tib3gnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtY2hlY2tib3guaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIElucHV0Q2hlY2tib3hDb21wb25lbnQge1xuICBASW5wdXQoKSBkYXRhOiBJbnB1dENoZWNrYm94RGF0YTtcblxuICBASW5wdXQoKSBlbWl0OiBhbnk7XG5cbiAgb25DaGFuZ2UoaW5wdXRQYXlsb2FkLCB2YWx1ZT8pIHtcbiAgICBpZiAoIXRoaXMuZW1pdCkgcmV0dXJuO1xuICAgIHRoaXMuZW1pdCgnY2hhbmdlJywgeyBpbnB1dFBheWxvYWQsIHZhbHVlIH0pO1xuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiZGF0YVwiIGNsYXNzPVwibjctaW5wdXQtY2hlY2tib3gge3sgZGF0YS5jbGFzc2VzIHx8ICcnIH19XCI+XG4gIDxmaWVsZHNldCBjbGFzcz1cIm43LWlucHV0LWNoZWNrYm94X19maWVsZHNldFwiPlxuICAgIDxsZWdlbmRcbiAgICAgIGNsYXNzPVwibjctaW5wdXQtY2hlY2tib3hfX2xlZ2VuZFwiXG4gICAgICAqbmdJZj1cImRhdGEubGVnZW5kXCJcbiAgICAgIFtpbm5lckhUTUxdPVwiZGF0YS5sZWdlbmRcIlxuICAgID48L2xlZ2VuZD5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpbnB1dCBvZiBkYXRhLmNoZWNrYm94ZXNcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJuNy1pbnB1dC1jaGVja2JveF9faW5wdXQtd3JhcHBlclwiPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgIGlkPVwie3sgaW5wdXQuaWQgfX1cIlxuICAgICAgICAgIFthdHRyLm5hbWVdPVwiaW5wdXQubmFtZVwiXG4gICAgICAgICAgY2xhc3M9XCJuNy1pbnB1dC1jaGVja2JveF9faW5wdXRcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cImlucHV0LmNsYXNzZXNcIlxuICAgICAgICAgIFtjaGVja2VkXT1cImlucHV0LmNoZWNrZWRcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJpbnB1dC5kaXNhYmxlZFwiXG4gICAgICAgICAgKGNoYW5nZSk9XCJvbkNoYW5nZShpbnB1dC5wYXlsb2FkLCAkZXZlbnQudGFyZ2V0LmNoZWNrZWQpXCJcbiAgICAgICAgLz5cbiAgICAgICAgPGxhYmVsXG4gICAgICAgICAgKm5nSWY9XCJpbnB1dC5sYWJlbFwiXG4gICAgICAgICAgY2xhc3M9XCJuNy1pbnB1dC1jaGVja2JveF9fbGFiZWxcIlxuICAgICAgICAgIGZvcj1cInt7IGlucHV0LmlkIH19XCJcbiAgICAgICAgICA+e3sgaW5wdXQubGFiZWwgfX08L2xhYmVsXG4gICAgICAgID5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2ZpZWxkc2V0PlxuPC9kaXY+XG4iXX0=