@net7/components 4.1.0 → 4.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/esm2020/lib/components/advanced-autocomplete/advanced-autocomplete.mjs +4 -4
  2. package/esm2020/lib/components/alert/alert.mjs +4 -4
  3. package/esm2020/lib/components/anchor-wrapper/anchor-wrapper.mjs +4 -4
  4. package/esm2020/lib/components/avatar/avatar.mjs +4 -4
  5. package/esm2020/lib/components/breadcrumbs/breadcrumbs.mjs +4 -4
  6. package/esm2020/lib/components/bubble-chart/bubble-chart.mjs +4 -4
  7. package/esm2020/lib/components/button/button.mjs +4 -4
  8. package/esm2020/lib/components/carousel/carousel.mjs +4 -4
  9. package/esm2020/lib/components/chart/chart.mjs +4 -4
  10. package/esm2020/lib/components/content-placeholder/content-placeholder.mjs +4 -4
  11. package/esm2020/lib/components/data-widget/data-widget.mjs +4 -4
  12. package/esm2020/lib/components/datepicker/datepicker.mjs +4 -4
  13. package/esm2020/lib/components/facet/facet.mjs +4 -4
  14. package/esm2020/lib/components/facet-header/facet-header.mjs +4 -4
  15. package/esm2020/lib/components/facet-year-range/facet-year-range.mjs +4 -4
  16. package/esm2020/lib/components/file-selector/file-selector.mjs +4 -4
  17. package/esm2020/lib/components/footer/footer.mjs +4 -4
  18. package/esm2020/lib/components/header/header.mjs +4 -4
  19. package/esm2020/lib/components/hero/hero.mjs +4 -4
  20. package/esm2020/lib/components/histogram-range/histogram-range.mjs +4 -4
  21. package/esm2020/lib/components/icon/icon.mjs +4 -4
  22. package/esm2020/lib/components/image-viewer/image-viewer.mjs +4 -4
  23. package/esm2020/lib/components/image-viewer-tools/image-viewer-tools.mjs +4 -4
  24. package/esm2020/lib/components/inner-title/inner-title.mjs +4 -4
  25. package/esm2020/lib/components/input-checkbox/input-checkbox.mjs +4 -4
  26. package/esm2020/lib/components/input-link/input-link.mjs +4 -4
  27. package/esm2020/lib/components/input-select/input-select.mjs +4 -4
  28. package/esm2020/lib/components/input-text/input-text.mjs +4 -4
  29. package/esm2020/lib/components/input-textarea/input-textarea.mjs +4 -4
  30. package/esm2020/lib/components/item-preview/item-preview.mjs +4 -4
  31. package/esm2020/lib/components/loader/loader.mjs +4 -4
  32. package/esm2020/lib/components/map/map.mjs +4 -4
  33. package/esm2020/lib/components/metadata-viewer/metadata-viewer.mjs +4 -4
  34. package/esm2020/lib/components/nav/nav.mjs +4 -4
  35. package/esm2020/lib/components/pagination/pagination.mjs +4 -4
  36. package/esm2020/lib/components/progress-line/progress-line.mjs +4 -4
  37. package/esm2020/lib/components/sidebar-header/sidebar-header.mjs +4 -4
  38. package/esm2020/lib/components/signup/signup.mjs +4 -4
  39. package/esm2020/lib/components/simple-autocomplete/simple-autocomplete.mjs +4 -4
  40. package/esm2020/lib/components/table/table.mjs +4 -4
  41. package/esm2020/lib/components/tag/tag.mjs +4 -4
  42. package/esm2020/lib/components/text-viewer/text-viewer.mjs +5 -5
  43. package/esm2020/lib/components/timeline/timeline.mjs +4 -4
  44. package/esm2020/lib/components/toast/toast.mjs +4 -4
  45. package/esm2020/lib/components/tooltip-content/tooltip-content.mjs +4 -4
  46. package/esm2020/lib/components/tree/tree.mjs +4 -4
  47. package/esm2020/lib/components/wizard/wizard.mjs +4 -4
  48. package/esm2020/lib/dv-components-lib.module.mjs +5 -5
  49. package/fesm2015/net7-components.mjs +146 -146
  50. package/fesm2015/net7-components.mjs.map +1 -1
  51. package/fesm2020/net7-components.mjs +146 -146
  52. package/fesm2020/net7-components.mjs.map +1 -1
  53. package/lib/components/text-viewer/text-viewer.d.ts +1 -0
  54. package/package.json +1 -1
@@ -13,9 +13,9 @@ export class FooterComponent {
13
13
  this.emit('click', payload);
14
14
  }
15
15
  }
16
- FooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
17
- FooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: FooterComponent, selector: "n7-footer", inputs: { data: "data", emit: "emit" }, ngImport: i0, template: "<div *ngIf=\"data\"\n class=\"n7-footer {{data.classes || ''}}\">\n <div class=\"n7-footer__content\">\n <!-- Loop footer content columns -->\n <div class=\"n7-footer__column {{column.classes || ''}}\"\n *ngFor=\"let column of data.columns\">\n <ng-container *ngTemplateOutlet=\"footerColumn; context:{$implicit: column}\"></ng-container>\n </div>\n </div>\n</div>\n\n<!-- Template: Columns -->\n<ng-template #footerColumn let-column>\n <!-- Custom order for content (sections) -->\n <ng-container *ngFor=\"let section of column.sections\">\n <ng-container [ngSwitch]=\"section.type\">\n <ng-container *ngSwitchCase=\"'text'\">\n <ng-container *ngTemplateOutlet=\"text; context:{$implicit: section}\">\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'title'\">\n <ng-container *ngTemplateOutlet=\"title; context:{$implicit: section}\">\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'links'\">\n <ng-container *ngTemplateOutlet=\"links; context:{$implicit: section}\">\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'selects'\">\n <ng-container *ngTemplateOutlet=\"selects; context:{$implicit: section}\">\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'images'\">\n <ng-container *ngTemplateOutlet=\"images; context:{$implicit: section}\">\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchDefault>\n </ng-container>\n </ng-container>\n </ng-container>\n\n <!-- Legacy configuration without sections -->\n <ng-container *ngIf=\"column.title\">\n <ng-container *ngTemplateOutlet=\"title; context:{$implicit: column}\">\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"column.text\">\n <ng-container *ngTemplateOutlet=\"text; context:{$implicit: column}\">\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"column.links\">\n <ng-container *ngTemplateOutlet=\"links; context:{$implicit: column}\">\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"column.images\">\n <ng-container *ngTemplateOutlet=\"images; context:{$implicit: column}\">\n </ng-container>\n </ng-container>\n</ng-template>\n\n<!-- Content Sections -->\n<!-- TITLE -->\n<ng-template #title let-section>\n <h2 *ngIf=\"section.title\"\n class=\"n7-footer__column-title\">\n {{ section.title }}\n </h2>\n</ng-template>\n<!-- TEXT -->\n<ng-template #text let-section>\n <p *ngIf=\"section.text\"\n class=\"n7-footer__column-text\"\n [innerHTML]=\"section.text\"></p>\n</ng-template>\n<!-- IMAGES -->\n<ng-template #images let-section>\n <div *ngIf=\"section.images\"\n class=\"n7-footer__column-images\">\n <n7-anchor-wrapper *ngFor=\"let image of section.images\"\n [classes]=\"image.classes || ''\"\n [data]=\"image.anchor\"\n (clicked)=\"onClick($event)\">\n <img [src]=\"image.url\"\n [attr.alt]=\"image.alttext\" />\n </n7-anchor-wrapper>\n </div>\n</ng-template>\n<!-- SELECTS -->\n<ng-template #selects let-section>\n <div *ngIf=\"section.selects\"\n class=\"n7-footer__column-selects\">\n <n7-input-select *ngFor=\"let selectData of section.selects\"\n [data]=\"selectData\"\n [emit]=\"this.emit\">\n </n7-input-select>\n </div>\n</ng-template>\n<!-- LINKS -->\n<ng-template #links let-section>\n <div *ngIf=\"section.links\"\n class=\"n7-footer__column-nav\">\n <ul class=\"n7-footer__column-nav-list\">\n <li *ngFor=\"let link of section.links\"\n class=\"n7-footer__column-nav-item {{link.classes || ''}}\">\n <n7-anchor-wrapper [classes]=\"'n7-footer__column-nav-link'\"\n [data]=\"link.anchor\"\n (clicked)=\"onClick($event)\">\n {{ link.text }}\n </n7-anchor-wrapper>\n </li>\n </ul>\n </div>\n</ng-template>\n", dependencies: [{ 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.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i2.AnchorWrapperComponent, selector: "n7-anchor-wrapper", inputs: ["data", "classes"], outputs: ["clicked"] }, { kind: "component", type: i3.InputSelectComponent, selector: "n7-input-select", inputs: ["data", "emit"] }] });
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FooterComponent, decorators: [{
16
+ FooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
17
+ FooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FooterComponent, selector: "n7-footer", inputs: { data: "data", emit: "emit" }, ngImport: i0, template: "<div *ngIf=\"data\"\n class=\"n7-footer {{data.classes || ''}}\">\n <div class=\"n7-footer__content\">\n <!-- Loop footer content columns -->\n <div class=\"n7-footer__column {{column.classes || ''}}\"\n *ngFor=\"let column of data.columns\">\n <ng-container *ngTemplateOutlet=\"footerColumn; context:{$implicit: column}\"></ng-container>\n </div>\n </div>\n</div>\n\n<!-- Template: Columns -->\n<ng-template #footerColumn let-column>\n <!-- Custom order for content (sections) -->\n <ng-container *ngFor=\"let section of column.sections\">\n <ng-container [ngSwitch]=\"section.type\">\n <ng-container *ngSwitchCase=\"'text'\">\n <ng-container *ngTemplateOutlet=\"text; context:{$implicit: section}\">\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'title'\">\n <ng-container *ngTemplateOutlet=\"title; context:{$implicit: section}\">\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'links'\">\n <ng-container *ngTemplateOutlet=\"links; context:{$implicit: section}\">\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'selects'\">\n <ng-container *ngTemplateOutlet=\"selects; context:{$implicit: section}\">\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'images'\">\n <ng-container *ngTemplateOutlet=\"images; context:{$implicit: section}\">\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchDefault>\n </ng-container>\n </ng-container>\n </ng-container>\n\n <!-- Legacy configuration without sections -->\n <ng-container *ngIf=\"column.title\">\n <ng-container *ngTemplateOutlet=\"title; context:{$implicit: column}\">\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"column.text\">\n <ng-container *ngTemplateOutlet=\"text; context:{$implicit: column}\">\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"column.links\">\n <ng-container *ngTemplateOutlet=\"links; context:{$implicit: column}\">\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"column.images\">\n <ng-container *ngTemplateOutlet=\"images; context:{$implicit: column}\">\n </ng-container>\n </ng-container>\n</ng-template>\n\n<!-- Content Sections -->\n<!-- TITLE -->\n<ng-template #title let-section>\n <h2 *ngIf=\"section.title\"\n class=\"n7-footer__column-title\">\n {{ section.title }}\n </h2>\n</ng-template>\n<!-- TEXT -->\n<ng-template #text let-section>\n <p *ngIf=\"section.text\"\n class=\"n7-footer__column-text\"\n [innerHTML]=\"section.text\"></p>\n</ng-template>\n<!-- IMAGES -->\n<ng-template #images let-section>\n <div *ngIf=\"section.images\"\n class=\"n7-footer__column-images\">\n <n7-anchor-wrapper *ngFor=\"let image of section.images\"\n [classes]=\"image.classes || ''\"\n [data]=\"image.anchor\"\n (clicked)=\"onClick($event)\">\n <img [src]=\"image.url\"\n [attr.alt]=\"image.alttext\" />\n </n7-anchor-wrapper>\n </div>\n</ng-template>\n<!-- SELECTS -->\n<ng-template #selects let-section>\n <div *ngIf=\"section.selects\"\n class=\"n7-footer__column-selects\">\n <n7-input-select *ngFor=\"let selectData of section.selects\"\n [data]=\"selectData\"\n [emit]=\"this.emit\">\n </n7-input-select>\n </div>\n</ng-template>\n<!-- LINKS -->\n<ng-template #links let-section>\n <div *ngIf=\"section.links\"\n class=\"n7-footer__column-nav\">\n <ul class=\"n7-footer__column-nav-list\">\n <li *ngFor=\"let link of section.links\"\n class=\"n7-footer__column-nav-item {{link.classes || ''}}\">\n <n7-anchor-wrapper [classes]=\"'n7-footer__column-nav-link'\"\n [data]=\"link.anchor\"\n (clicked)=\"onClick($event)\">\n {{ link.text }}\n </n7-anchor-wrapper>\n </li>\n </ul>\n </div>\n</ng-template>\n", dependencies: [{ 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.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i2.AnchorWrapperComponent, selector: "n7-anchor-wrapper", inputs: ["data", "classes"], outputs: ["clicked"] }, { kind: "component", type: i3.InputSelectComponent, selector: "n7-input-select", inputs: ["data", "emit"] }] });
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FooterComponent, decorators: [{
19
19
  type: Component,
20
20
  args: [{ selector: 'n7-footer', template: "<div *ngIf=\"data\"\n class=\"n7-footer {{data.classes || ''}}\">\n <div class=\"n7-footer__content\">\n <!-- Loop footer content columns -->\n <div class=\"n7-footer__column {{column.classes || ''}}\"\n *ngFor=\"let column of data.columns\">\n <ng-container *ngTemplateOutlet=\"footerColumn; context:{$implicit: column}\"></ng-container>\n </div>\n </div>\n</div>\n\n<!-- Template: Columns -->\n<ng-template #footerColumn let-column>\n <!-- Custom order for content (sections) -->\n <ng-container *ngFor=\"let section of column.sections\">\n <ng-container [ngSwitch]=\"section.type\">\n <ng-container *ngSwitchCase=\"'text'\">\n <ng-container *ngTemplateOutlet=\"text; context:{$implicit: section}\">\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'title'\">\n <ng-container *ngTemplateOutlet=\"title; context:{$implicit: section}\">\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'links'\">\n <ng-container *ngTemplateOutlet=\"links; context:{$implicit: section}\">\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'selects'\">\n <ng-container *ngTemplateOutlet=\"selects; context:{$implicit: section}\">\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'images'\">\n <ng-container *ngTemplateOutlet=\"images; context:{$implicit: section}\">\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchDefault>\n </ng-container>\n </ng-container>\n </ng-container>\n\n <!-- Legacy configuration without sections -->\n <ng-container *ngIf=\"column.title\">\n <ng-container *ngTemplateOutlet=\"title; context:{$implicit: column}\">\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"column.text\">\n <ng-container *ngTemplateOutlet=\"text; context:{$implicit: column}\">\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"column.links\">\n <ng-container *ngTemplateOutlet=\"links; context:{$implicit: column}\">\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"column.images\">\n <ng-container *ngTemplateOutlet=\"images; context:{$implicit: column}\">\n </ng-container>\n </ng-container>\n</ng-template>\n\n<!-- Content Sections -->\n<!-- TITLE -->\n<ng-template #title let-section>\n <h2 *ngIf=\"section.title\"\n class=\"n7-footer__column-title\">\n {{ section.title }}\n </h2>\n</ng-template>\n<!-- TEXT -->\n<ng-template #text let-section>\n <p *ngIf=\"section.text\"\n class=\"n7-footer__column-text\"\n [innerHTML]=\"section.text\"></p>\n</ng-template>\n<!-- IMAGES -->\n<ng-template #images let-section>\n <div *ngIf=\"section.images\"\n class=\"n7-footer__column-images\">\n <n7-anchor-wrapper *ngFor=\"let image of section.images\"\n [classes]=\"image.classes || ''\"\n [data]=\"image.anchor\"\n (clicked)=\"onClick($event)\">\n <img [src]=\"image.url\"\n [attr.alt]=\"image.alttext\" />\n </n7-anchor-wrapper>\n </div>\n</ng-template>\n<!-- SELECTS -->\n<ng-template #selects let-section>\n <div *ngIf=\"section.selects\"\n class=\"n7-footer__column-selects\">\n <n7-input-select *ngFor=\"let selectData of section.selects\"\n [data]=\"selectData\"\n [emit]=\"this.emit\">\n </n7-input-select>\n </div>\n</ng-template>\n<!-- LINKS -->\n<ng-template #links let-section>\n <div *ngIf=\"section.links\"\n class=\"n7-footer__column-nav\">\n <ul class=\"n7-footer__column-nav-list\">\n <li *ngFor=\"let link of section.links\"\n class=\"n7-footer__column-nav-item {{link.classes || ''}}\">\n <n7-anchor-wrapper [classes]=\"'n7-footer__column-nav-link'\"\n [data]=\"link.anchor\"\n (clicked)=\"onClick($event)\">\n {{ link.text }}\n </n7-anchor-wrapper>\n </li>\n </ul>\n </div>\n</ng-template>\n" }]
21
21
  }], propDecorators: { data: [{
@@ -23,4 +23,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
23
23
  }], emit: [{
24
24
  type: Input
25
25
  }] } });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHYtY29tcG9uZW50cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2Zvb3Rlci9mb290ZXIudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdi1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZm9vdGVyL2Zvb3Rlci5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDZCQUE2QjtBQUM3QixZQUFZO0FBQ1osNkJBQTZCO0FBRTdCLE9BQU8sRUFDTCxTQUFTLEVBQUUsS0FBSyxFQUNqQixNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFnS3ZCLE1BQU0sT0FBTyxlQUFlO0lBSzFCLE9BQU8sQ0FBQyxPQUFPO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTztRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM5QixDQUFDOzs2R0FSVSxlQUFlO2lHQUFmLGVBQWUseUZDdEs1QixpNElBaUhBOzRGRHFEYSxlQUFlO2tCQUozQixTQUFTOytCQUNFLFdBQVc7OEJBSVosSUFBSTtzQkFBWixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBGT09URVIudHNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmltcG9ydCB7XG4gIENvbXBvbmVudCwgSW5wdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbnB1dFNlbGVjdERhdGEgfSBmcm9tICcuLi9pbnB1dC1zZWxlY3QvaW5wdXQtc2VsZWN0JztcbmltcG9ydCB7IEFuY2hvciB9IGZyb20gJy4uLy4uL3NoYXJlZC1pbnRlcmZhY2VzJztcblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIGVhY2ggbGluayBpbiBmb290ZXIgbWVudXNcbiAqXG4gKiBAcHJvcGVydHkgdGV4dCAocmVxdWlyZWQpXG4gKiBAcHJvcGVydHkgY2xhc3NlcyAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgYW5jaG9yIChtYW5kYXRvcnkpXG4gKiBAcHJvcGVydHkgX21ldGEgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IF9tZXRhIChvcHRpb25hbClcbiAqXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRm9vdGVyTGluayB7XG4gIC8qKlxuICAgKiBpbWFnZSB1cmxcbiAgICovXG4gIHRleHQ6IHN0cmluZztcbiAgLyoqXG4gICAqIGFkZGl0aW9uYWwgaHRtbCBjbGFzc2VzXG4gICAqL1xuICBjbGFzc2VzPzogYW55O1xuICBhbmNob3I6IEFuY2hvcjtcbiAgLyoqXG4gICAqIGFkZGl0aW9uYWwgaW5mbyB1c2VmdWwgZm9yIHRoZSBjb21wb25lbnQncyBsb2dpY1xuICAgKi9cbiAgX21ldGE/OiBhbnk7XG59XG5cbmV4cG9ydCB0eXBlIEZvb3RlclRpdGxlID0gc3RyaW5nO1xuZXhwb3J0IHR5cGUgRm9vdGVyVGV4dCA9IHN0cmluZztcblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIGVhY2ggaW1hZ2UgaW4gdGhlIGZvb3RlciAodXN1YWxseSBsb2dvcylcbiAqXG4gKiBAcHJvcGVydHkgdXJsIChyZXF1aXJlZClcbiAqIEBwcm9wZXJ0eSBhbHR0ZXh0IChvcHRpb25hbClcbiAqIEBwcm9wZXJ0eSBjbGFzc2VzIChvcHRpb25hbClcbiAqIEBwcm9wZXJ0eSBhbmNob3IgKHJlcXVpcmVkKVxuICogQHByb3BlcnR5IF9tZXRhIChvcHRpb25hbClcbiAqIEBwcm9wZXJ0eSBfbWV0YSAob3B0aW9uYWwpXG4gKlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZvb3RlckltYWdlIHtcbiAgLyoqXG4gICAqIGltYWdlIHVybFxuICAgKi9cbiAgdXJsOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBpbWFnZSBhbHQgdGV4dFxuICAgKi9cbiAgYWx0dGV4dD86IHN0cmluZztcbiAgLyoqXG4gICAqIGFkZGl0aW9uYWwgaHRtbCBjbGFzc2VzXG4gICAqL1xuICBjbGFzc2VzPzogYW55O1xuICBhbmNob3I6IEFuY2hvcjtcbiAgLyoqXG4gICAqIGFkZGl0aW9uYWwgaW5mbyB1c2VmdWwgZm9yIHRoZSBjb21wb25lbnQncyBsb2dpY1xuICAgKi9cbiAgX21ldGE/OiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9vdGVyVGl0bGVJdGVtIHtcbiAgdHlwZTogJ3RpdGxlJztcbiAgdGl0bGU6IEZvb3RlclRpdGxlO1xufVxuZXhwb3J0IGludGVyZmFjZSBGb290ZXJJbWFnZXNJdGVtIHtcbiAgdHlwZTogJ2ltYWdlcyc7XG4gIGltYWdlczogRm9vdGVySW1hZ2VbXTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRm9vdGVyU2VsZWN0c0l0ZW0ge1xuICB0eXBlOiAnc2VsZWN0cyc7XG4gIHNlbGVjdHM6IElucHV0U2VsZWN0RGF0YVtdXG59XG5leHBvcnQgaW50ZXJmYWNlIEZvb3RlclRleHRJdGVtIHtcbiAgdHlwZTogJ3RleHQnO1xuICB0ZXh0OiBGb290ZXJUZXh0O1xufVxuZXhwb3J0IGludGVyZmFjZSBGb290ZXJMaW5rc0l0ZW0ge1xuICB0eXBlOiAnbGlua3MnO1xuICBsaW5rczogRm9vdGVyTGlua1tdO1xufVxuXG5leHBvcnQgdHlwZSBGb290ZXJJdGVtID1cbiAgRm9vdGVyVGl0bGVJdGVtXG4gIHwgRm9vdGVySW1hZ2VzSXRlbVxuICB8IEZvb3RlclNlbGVjdHNJdGVtXG4gIHwgRm9vdGVyVGV4dEl0ZW1cbiAgfCBGb290ZXJMaW5rc0l0ZW1cblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIGEgc2luZ2xlIEZvb3RlciBjb2x1bW4gdGhhdCBjYW4gZGlzcGxheSB0aXRsZSwgaW1hZ2VzLCB0ZXh0IGFuZCBhIG5hdiBsaXN0XG4gKlxuICogQHByb3BlcnR5IHRpdGxlIChvcHRpb25hbClcbiAqIEBwcm9wZXJ0eSBpbWFnZXMgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IHRleHQgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IGxpbmtzIChvcHRpb25hbClcbiAqIEBwcm9wZXJ0eSBjbGFzc2VzIChvcHRpb25hbClcbiAqIEBwcm9wZXJ0eSBfbWV0YSAob3B0aW9uYWwpXG4gKlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZvb3RlckNvbHVtbiB7XG4gIC8qKlxuICAgKiBjb2x1bW4ncyB0aXRsZVxuICAgKi9cbiAgdGl0bGU/OiBGb290ZXJUaXRsZTtcbiAgLyoqXG4gICAqIGNvbHVtbidzIGltYWdlc1xuICAgKi9cbiAgaW1hZ2VzPzogRm9vdGVySW1hZ2VbXTtcbiAgLyoqXG4gICAqIEhUTUxTZWxlY3Qgd2l0aCBzb21lIG9wdGlvbnNcbiAgICovXG4gIHNlbGVjdHM/OiBJbnB1dFNlbGVjdERhdGFbXTtcbiAgLyoqXG4gICAqIGNvbHVtbidzIHRleHRcbiAgICovXG4gIHRleHQ/OiBGb290ZXJUZXh0O1xuICAvKipcbiAgICogY29sdW1uJ3MgbmF2XG4gICAqL1xuICBsaW5rcz86IEZvb3RlckxpbmtbXTtcbiAgLyoqXG4gICAqIGFkZGl0aW9uYWwgaHRtbCBjbGFzc2VzXG4gICAqL1xuICBjbGFzc2VzPzogYW55O1xuICAvKipcbiAgICogYWRkaXRpb25hbCBpbmZvIHVzZWZ1bCBmb3IgdGhlIGNvbXBvbmVudCdzIGxvZ2ljXG4gICAqL1xuICBfbWV0YT86IGFueTtcbiAgLyoqXG4gICAqIGN1c3RvbSBvcmRlciBmb3IgZm9vdGVyIGNvbHVtbiBjb250ZW50XG4gICAqL1xuICBzZWN0aW9ucz86IEZvb3Rlckl0ZW1bXTtcbn1cblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIEZvb3RlckNvbXBvbmVudHMncyBcIkRhdGFcIlxuICpcbiAqIEBwcm9wZXJ0eSBjb2x1bW5zIChyZXF1aXJlZClcbiAqIEBwcm9wZXJ0eSBjbGFzc2VzIChvcHRpb25hbClcbiAqXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRm9vdGVyRGF0YSB7XG4gIC8qKlxuICAgKiBlYWNoIGl0ZW0gcmVuZGVycyBhIGNvbHVtbiBvZiB0aGUgZm9vdGVyXG4gICAqL1xuICBjb2x1bW5zOiBGb290ZXJDb2x1bW5bXTtcbiAgLyoqXG4gICAqIGFkZGl0aW9uYWwgaHRtbCBjbGFzc2VzXG4gICAqL1xuICBjbGFzc2VzPzogYW55O1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduNy1mb290ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZm9vdGVyLmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEZvb3RlckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGRhdGE6IEZvb3RlckRhdGE7XG5cbiAgQElucHV0KCkgZW1pdDogYW55O1xuXG4gIG9uQ2xpY2socGF5bG9hZCkge1xuICAgIGlmICghdGhpcy5lbWl0KSByZXR1cm47XG4gICAgdGhpcy5lbWl0KCdjbGljaycsIHBheWxvYWQpO1xuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiZGF0YVwiXG4gICAgIGNsYXNzPVwibjctZm9vdGVyIHt7ZGF0YS5jbGFzc2VzIHx8ICcnfX1cIj5cbiAgICA8ZGl2IGNsYXNzPVwibjctZm9vdGVyX19jb250ZW50XCI+XG4gICAgICAgIDwhLS0gTG9vcCBmb290ZXIgY29udGVudCBjb2x1bW5zIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibjctZm9vdGVyX19jb2x1bW4ge3tjb2x1bW4uY2xhc3NlcyB8fCAnJ319XCJcbiAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGRhdGEuY29sdW1uc1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImZvb3RlckNvbHVtbjsgY29udGV4dDp7JGltcGxpY2l0OiBjb2x1bW59XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG5cbjwhLS0gVGVtcGxhdGU6IENvbHVtbnMgLS0+XG48bmctdGVtcGxhdGUgI2Zvb3RlckNvbHVtbiBsZXQtY29sdW1uPlxuICAgIDwhLS0gQ3VzdG9tIG9yZGVyIGZvciBjb250ZW50IChzZWN0aW9ucykgLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgc2VjdGlvbiBvZiBjb2x1bW4uc2VjdGlvbnNcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwic2VjdGlvbi50eXBlXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIndGV4dCdcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGV4dDsgY29udGV4dDp7JGltcGxpY2l0OiBzZWN0aW9ufVwiPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIndGl0bGUnXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRpdGxlOyBjb250ZXh0OnskaW1wbGljaXQ6IHNlY3Rpb259XCI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidsaW5rcydcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibGlua3M7IGNvbnRleHQ6eyRpbXBsaWNpdDogc2VjdGlvbn1cIj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3NlbGVjdHMnXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNlbGVjdHM7IGNvbnRleHQ6eyRpbXBsaWNpdDogc2VjdGlvbn1cIj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2ltYWdlcydcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaW1hZ2VzOyBjb250ZXh0OnskaW1wbGljaXQ6IHNlY3Rpb259XCI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDwhLS0gTGVnYWN5IGNvbmZpZ3VyYXRpb24gd2l0aG91dCBzZWN0aW9ucyAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sdW1uLnRpdGxlXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0aXRsZTsgY29udGV4dDp7JGltcGxpY2l0OiBjb2x1bW59XCI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW4udGV4dFwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGV4dDsgY29udGV4dDp7JGltcGxpY2l0OiBjb2x1bW59XCI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW4ubGlua3NcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxpbmtzOyBjb250ZXh0OnskaW1wbGljaXQ6IGNvbHVtbn1cIj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbi5pbWFnZXNcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImltYWdlczsgY29udGV4dDp7JGltcGxpY2l0OiBjb2x1bW59XCI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLSBDb250ZW50IFNlY3Rpb25zIC0tPlxuPCEtLSBUSVRMRSAtLT5cbjxuZy10ZW1wbGF0ZSAjdGl0bGUgbGV0LXNlY3Rpb24+XG4gICAgPGgyICpuZ0lmPVwic2VjdGlvbi50aXRsZVwiXG4gICAgICAgIGNsYXNzPVwibjctZm9vdGVyX19jb2x1bW4tdGl0bGVcIj5cbiAgICAgICAge3sgc2VjdGlvbi50aXRsZSB9fVxuICAgIDwvaDI+XG48L25nLXRlbXBsYXRlPlxuPCEtLSBURVhUIC0tPlxuPG5nLXRlbXBsYXRlICN0ZXh0IGxldC1zZWN0aW9uPlxuICAgIDxwICpuZ0lmPVwic2VjdGlvbi50ZXh0XCJcbiAgICAgICBjbGFzcz1cIm43LWZvb3Rlcl9fY29sdW1uLXRleHRcIlxuICAgICAgIFtpbm5lckhUTUxdPVwic2VjdGlvbi50ZXh0XCI+PC9wPlxuPC9uZy10ZW1wbGF0ZT5cbjwhLS0gSU1BR0VTIC0tPlxuPG5nLXRlbXBsYXRlICNpbWFnZXMgbGV0LXNlY3Rpb24+XG4gICAgPGRpdiAqbmdJZj1cInNlY3Rpb24uaW1hZ2VzXCJcbiAgICAgICAgIGNsYXNzPVwibjctZm9vdGVyX19jb2x1bW4taW1hZ2VzXCI+XG4gICAgICAgIDxuNy1hbmNob3Itd3JhcHBlciAqbmdGb3I9XCJsZXQgaW1hZ2Ugb2Ygc2VjdGlvbi5pbWFnZXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzZXNdPVwiaW1hZ2UuY2xhc3NlcyB8fCAnJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJpbWFnZS5hbmNob3JcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrZWQpPVwib25DbGljaygkZXZlbnQpXCI+XG4gICAgICAgICAgICA8aW1nIFtzcmNdPVwiaW1hZ2UudXJsXCJcbiAgICAgICAgICAgICAgICAgW2F0dHIuYWx0XT1cImltYWdlLmFsdHRleHRcIiAvPlxuICAgICAgICA8L243LWFuY2hvci13cmFwcGVyPlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbjwhLS0gU0VMRUNUUyAtLT5cbjxuZy10ZW1wbGF0ZSAjc2VsZWN0cyBsZXQtc2VjdGlvbj5cbiAgICA8ZGl2ICpuZ0lmPVwic2VjdGlvbi5zZWxlY3RzXCJcbiAgICAgICAgIGNsYXNzPVwibjctZm9vdGVyX19jb2x1bW4tc2VsZWN0c1wiPlxuICAgICAgICA8bjctaW5wdXQtc2VsZWN0ICpuZ0Zvcj1cImxldCBzZWxlY3REYXRhIG9mIHNlY3Rpb24uc2VsZWN0c1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2RhdGFdPVwic2VsZWN0RGF0YVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2VtaXRdPVwidGhpcy5lbWl0XCI+XG4gICAgICAgIDwvbjctaW5wdXQtc2VsZWN0PlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbjwhLS0gTElOS1MgLS0+XG48bmctdGVtcGxhdGUgI2xpbmtzIGxldC1zZWN0aW9uPlxuICAgIDxkaXYgKm5nSWY9XCJzZWN0aW9uLmxpbmtzXCJcbiAgICAgICAgIGNsYXNzPVwibjctZm9vdGVyX19jb2x1bW4tbmF2XCI+XG4gICAgICAgIDx1bCBjbGFzcz1cIm43LWZvb3Rlcl9fY29sdW1uLW5hdi1saXN0XCI+XG4gICAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGxpbmsgb2Ygc2VjdGlvbi5saW5rc1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJuNy1mb290ZXJfX2NvbHVtbi1uYXYtaXRlbSB7e2xpbmsuY2xhc3NlcyB8fCAnJ319XCI+XG4gICAgICAgICAgICAgICAgPG43LWFuY2hvci13cmFwcGVyIFtjbGFzc2VzXT1cIiduNy1mb290ZXJfX2NvbHVtbi1uYXYtbGluaydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJsaW5rLmFuY2hvclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGlja2VkKT1cIm9uQ2xpY2soJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyBsaW5rLnRleHQgfX1cbiAgICAgICAgICAgICAgICA8L243LWFuY2hvci13cmFwcGVyPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgPC91bD5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHYtY29tcG9uZW50cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2Zvb3Rlci9mb290ZXIudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdi1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZm9vdGVyL2Zvb3Rlci5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDZCQUE2QjtBQUM3QixZQUFZO0FBQ1osNkJBQTZCO0FBRTdCLE9BQU8sRUFDTCxTQUFTLEVBQUUsS0FBSyxFQUNqQixNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFnS3ZCLE1BQU0sT0FBTyxlQUFlO0lBSzFCLE9BQU8sQ0FBQyxPQUFPO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTztRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM5QixDQUFDOzs0R0FSVSxlQUFlO2dHQUFmLGVBQWUseUZDdEs1QixpNElBaUhBOzJGRHFEYSxlQUFlO2tCQUozQixTQUFTOytCQUNFLFdBQVc7OEJBSVosSUFBSTtzQkFBWixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBGT09URVIudHNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmltcG9ydCB7XG4gIENvbXBvbmVudCwgSW5wdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbnB1dFNlbGVjdERhdGEgfSBmcm9tICcuLi9pbnB1dC1zZWxlY3QvaW5wdXQtc2VsZWN0JztcbmltcG9ydCB7IEFuY2hvciB9IGZyb20gJy4uLy4uL3NoYXJlZC1pbnRlcmZhY2VzJztcblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIGVhY2ggbGluayBpbiBmb290ZXIgbWVudXNcbiAqXG4gKiBAcHJvcGVydHkgdGV4dCAocmVxdWlyZWQpXG4gKiBAcHJvcGVydHkgY2xhc3NlcyAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgYW5jaG9yIChtYW5kYXRvcnkpXG4gKiBAcHJvcGVydHkgX21ldGEgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IF9tZXRhIChvcHRpb25hbClcbiAqXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRm9vdGVyTGluayB7XG4gIC8qKlxuICAgKiBpbWFnZSB1cmxcbiAgICovXG4gIHRleHQ6IHN0cmluZztcbiAgLyoqXG4gICAqIGFkZGl0aW9uYWwgaHRtbCBjbGFzc2VzXG4gICAqL1xuICBjbGFzc2VzPzogYW55O1xuICBhbmNob3I6IEFuY2hvcjtcbiAgLyoqXG4gICAqIGFkZGl0aW9uYWwgaW5mbyB1c2VmdWwgZm9yIHRoZSBjb21wb25lbnQncyBsb2dpY1xuICAgKi9cbiAgX21ldGE/OiBhbnk7XG59XG5cbmV4cG9ydCB0eXBlIEZvb3RlclRpdGxlID0gc3RyaW5nO1xuZXhwb3J0IHR5cGUgRm9vdGVyVGV4dCA9IHN0cmluZztcblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIGVhY2ggaW1hZ2UgaW4gdGhlIGZvb3RlciAodXN1YWxseSBsb2dvcylcbiAqXG4gKiBAcHJvcGVydHkgdXJsIChyZXF1aXJlZClcbiAqIEBwcm9wZXJ0eSBhbHR0ZXh0IChvcHRpb25hbClcbiAqIEBwcm9wZXJ0eSBjbGFzc2VzIChvcHRpb25hbClcbiAqIEBwcm9wZXJ0eSBhbmNob3IgKHJlcXVpcmVkKVxuICogQHByb3BlcnR5IF9tZXRhIChvcHRpb25hbClcbiAqIEBwcm9wZXJ0eSBfbWV0YSAob3B0aW9uYWwpXG4gKlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZvb3RlckltYWdlIHtcbiAgLyoqXG4gICAqIGltYWdlIHVybFxuICAgKi9cbiAgdXJsOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBpbWFnZSBhbHQgdGV4dFxuICAgKi9cbiAgYWx0dGV4dD86IHN0cmluZztcbiAgLyoqXG4gICAqIGFkZGl0aW9uYWwgaHRtbCBjbGFzc2VzXG4gICAqL1xuICBjbGFzc2VzPzogYW55O1xuICBhbmNob3I6IEFuY2hvcjtcbiAgLyoqXG4gICAqIGFkZGl0aW9uYWwgaW5mbyB1c2VmdWwgZm9yIHRoZSBjb21wb25lbnQncyBsb2dpY1xuICAgKi9cbiAgX21ldGE/OiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9vdGVyVGl0bGVJdGVtIHtcbiAgdHlwZTogJ3RpdGxlJztcbiAgdGl0bGU6IEZvb3RlclRpdGxlO1xufVxuZXhwb3J0IGludGVyZmFjZSBGb290ZXJJbWFnZXNJdGVtIHtcbiAgdHlwZTogJ2ltYWdlcyc7XG4gIGltYWdlczogRm9vdGVySW1hZ2VbXTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRm9vdGVyU2VsZWN0c0l0ZW0ge1xuICB0eXBlOiAnc2VsZWN0cyc7XG4gIHNlbGVjdHM6IElucHV0U2VsZWN0RGF0YVtdXG59XG5leHBvcnQgaW50ZXJmYWNlIEZvb3RlclRleHRJdGVtIHtcbiAgdHlwZTogJ3RleHQnO1xuICB0ZXh0OiBGb290ZXJUZXh0O1xufVxuZXhwb3J0IGludGVyZmFjZSBGb290ZXJMaW5rc0l0ZW0ge1xuICB0eXBlOiAnbGlua3MnO1xuICBsaW5rczogRm9vdGVyTGlua1tdO1xufVxuXG5leHBvcnQgdHlwZSBGb290ZXJJdGVtID1cbiAgRm9vdGVyVGl0bGVJdGVtXG4gIHwgRm9vdGVySW1hZ2VzSXRlbVxuICB8IEZvb3RlclNlbGVjdHNJdGVtXG4gIHwgRm9vdGVyVGV4dEl0ZW1cbiAgfCBGb290ZXJMaW5rc0l0ZW1cblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIGEgc2luZ2xlIEZvb3RlciBjb2x1bW4gdGhhdCBjYW4gZGlzcGxheSB0aXRsZSwgaW1hZ2VzLCB0ZXh0IGFuZCBhIG5hdiBsaXN0XG4gKlxuICogQHByb3BlcnR5IHRpdGxlIChvcHRpb25hbClcbiAqIEBwcm9wZXJ0eSBpbWFnZXMgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IHRleHQgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IGxpbmtzIChvcHRpb25hbClcbiAqIEBwcm9wZXJ0eSBjbGFzc2VzIChvcHRpb25hbClcbiAqIEBwcm9wZXJ0eSBfbWV0YSAob3B0aW9uYWwpXG4gKlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZvb3RlckNvbHVtbiB7XG4gIC8qKlxuICAgKiBjb2x1bW4ncyB0aXRsZVxuICAgKi9cbiAgdGl0bGU/OiBGb290ZXJUaXRsZTtcbiAgLyoqXG4gICAqIGNvbHVtbidzIGltYWdlc1xuICAgKi9cbiAgaW1hZ2VzPzogRm9vdGVySW1hZ2VbXTtcbiAgLyoqXG4gICAqIEhUTUxTZWxlY3Qgd2l0aCBzb21lIG9wdGlvbnNcbiAgICovXG4gIHNlbGVjdHM/OiBJbnB1dFNlbGVjdERhdGFbXTtcbiAgLyoqXG4gICAqIGNvbHVtbidzIHRleHRcbiAgICovXG4gIHRleHQ/OiBGb290ZXJUZXh0O1xuICAvKipcbiAgICogY29sdW1uJ3MgbmF2XG4gICAqL1xuICBsaW5rcz86IEZvb3RlckxpbmtbXTtcbiAgLyoqXG4gICAqIGFkZGl0aW9uYWwgaHRtbCBjbGFzc2VzXG4gICAqL1xuICBjbGFzc2VzPzogYW55O1xuICAvKipcbiAgICogYWRkaXRpb25hbCBpbmZvIHVzZWZ1bCBmb3IgdGhlIGNvbXBvbmVudCdzIGxvZ2ljXG4gICAqL1xuICBfbWV0YT86IGFueTtcbiAgLyoqXG4gICAqIGN1c3RvbSBvcmRlciBmb3IgZm9vdGVyIGNvbHVtbiBjb250ZW50XG4gICAqL1xuICBzZWN0aW9ucz86IEZvb3Rlckl0ZW1bXTtcbn1cblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIEZvb3RlckNvbXBvbmVudHMncyBcIkRhdGFcIlxuICpcbiAqIEBwcm9wZXJ0eSBjb2x1bW5zIChyZXF1aXJlZClcbiAqIEBwcm9wZXJ0eSBjbGFzc2VzIChvcHRpb25hbClcbiAqXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRm9vdGVyRGF0YSB7XG4gIC8qKlxuICAgKiBlYWNoIGl0ZW0gcmVuZGVycyBhIGNvbHVtbiBvZiB0aGUgZm9vdGVyXG4gICAqL1xuICBjb2x1bW5zOiBGb290ZXJDb2x1bW5bXTtcbiAgLyoqXG4gICAqIGFkZGl0aW9uYWwgaHRtbCBjbGFzc2VzXG4gICAqL1xuICBjbGFzc2VzPzogYW55O1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduNy1mb290ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZm9vdGVyLmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEZvb3RlckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGRhdGE6IEZvb3RlckRhdGE7XG5cbiAgQElucHV0KCkgZW1pdDogYW55O1xuXG4gIG9uQ2xpY2socGF5bG9hZCkge1xuICAgIGlmICghdGhpcy5lbWl0KSByZXR1cm47XG4gICAgdGhpcy5lbWl0KCdjbGljaycsIHBheWxvYWQpO1xuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiZGF0YVwiXG4gICAgIGNsYXNzPVwibjctZm9vdGVyIHt7ZGF0YS5jbGFzc2VzIHx8ICcnfX1cIj5cbiAgICA8ZGl2IGNsYXNzPVwibjctZm9vdGVyX19jb250ZW50XCI+XG4gICAgICAgIDwhLS0gTG9vcCBmb290ZXIgY29udGVudCBjb2x1bW5zIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibjctZm9vdGVyX19jb2x1bW4ge3tjb2x1bW4uY2xhc3NlcyB8fCAnJ319XCJcbiAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGRhdGEuY29sdW1uc1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImZvb3RlckNvbHVtbjsgY29udGV4dDp7JGltcGxpY2l0OiBjb2x1bW59XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG5cbjwhLS0gVGVtcGxhdGU6IENvbHVtbnMgLS0+XG48bmctdGVtcGxhdGUgI2Zvb3RlckNvbHVtbiBsZXQtY29sdW1uPlxuICAgIDwhLS0gQ3VzdG9tIG9yZGVyIGZvciBjb250ZW50IChzZWN0aW9ucykgLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgc2VjdGlvbiBvZiBjb2x1bW4uc2VjdGlvbnNcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwic2VjdGlvbi50eXBlXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIndGV4dCdcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGV4dDsgY29udGV4dDp7JGltcGxpY2l0OiBzZWN0aW9ufVwiPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIndGl0bGUnXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRpdGxlOyBjb250ZXh0OnskaW1wbGljaXQ6IHNlY3Rpb259XCI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidsaW5rcydcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibGlua3M7IGNvbnRleHQ6eyRpbXBsaWNpdDogc2VjdGlvbn1cIj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3NlbGVjdHMnXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNlbGVjdHM7IGNvbnRleHQ6eyRpbXBsaWNpdDogc2VjdGlvbn1cIj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2ltYWdlcydcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaW1hZ2VzOyBjb250ZXh0OnskaW1wbGljaXQ6IHNlY3Rpb259XCI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDwhLS0gTGVnYWN5IGNvbmZpZ3VyYXRpb24gd2l0aG91dCBzZWN0aW9ucyAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sdW1uLnRpdGxlXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0aXRsZTsgY29udGV4dDp7JGltcGxpY2l0OiBjb2x1bW59XCI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW4udGV4dFwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGV4dDsgY29udGV4dDp7JGltcGxpY2l0OiBjb2x1bW59XCI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW4ubGlua3NcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxpbmtzOyBjb250ZXh0OnskaW1wbGljaXQ6IGNvbHVtbn1cIj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbi5pbWFnZXNcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImltYWdlczsgY29udGV4dDp7JGltcGxpY2l0OiBjb2x1bW59XCI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLSBDb250ZW50IFNlY3Rpb25zIC0tPlxuPCEtLSBUSVRMRSAtLT5cbjxuZy10ZW1wbGF0ZSAjdGl0bGUgbGV0LXNlY3Rpb24+XG4gICAgPGgyICpuZ0lmPVwic2VjdGlvbi50aXRsZVwiXG4gICAgICAgIGNsYXNzPVwibjctZm9vdGVyX19jb2x1bW4tdGl0bGVcIj5cbiAgICAgICAge3sgc2VjdGlvbi50aXRsZSB9fVxuICAgIDwvaDI+XG48L25nLXRlbXBsYXRlPlxuPCEtLSBURVhUIC0tPlxuPG5nLXRlbXBsYXRlICN0ZXh0IGxldC1zZWN0aW9uPlxuICAgIDxwICpuZ0lmPVwic2VjdGlvbi50ZXh0XCJcbiAgICAgICBjbGFzcz1cIm43LWZvb3Rlcl9fY29sdW1uLXRleHRcIlxuICAgICAgIFtpbm5lckhUTUxdPVwic2VjdGlvbi50ZXh0XCI+PC9wPlxuPC9uZy10ZW1wbGF0ZT5cbjwhLS0gSU1BR0VTIC0tPlxuPG5nLXRlbXBsYXRlICNpbWFnZXMgbGV0LXNlY3Rpb24+XG4gICAgPGRpdiAqbmdJZj1cInNlY3Rpb24uaW1hZ2VzXCJcbiAgICAgICAgIGNsYXNzPVwibjctZm9vdGVyX19jb2x1bW4taW1hZ2VzXCI+XG4gICAgICAgIDxuNy1hbmNob3Itd3JhcHBlciAqbmdGb3I9XCJsZXQgaW1hZ2Ugb2Ygc2VjdGlvbi5pbWFnZXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzZXNdPVwiaW1hZ2UuY2xhc3NlcyB8fCAnJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJpbWFnZS5hbmNob3JcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrZWQpPVwib25DbGljaygkZXZlbnQpXCI+XG4gICAgICAgICAgICA8aW1nIFtzcmNdPVwiaW1hZ2UudXJsXCJcbiAgICAgICAgICAgICAgICAgW2F0dHIuYWx0XT1cImltYWdlLmFsdHRleHRcIiAvPlxuICAgICAgICA8L243LWFuY2hvci13cmFwcGVyPlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbjwhLS0gU0VMRUNUUyAtLT5cbjxuZy10ZW1wbGF0ZSAjc2VsZWN0cyBsZXQtc2VjdGlvbj5cbiAgICA8ZGl2ICpuZ0lmPVwic2VjdGlvbi5zZWxlY3RzXCJcbiAgICAgICAgIGNsYXNzPVwibjctZm9vdGVyX19jb2x1bW4tc2VsZWN0c1wiPlxuICAgICAgICA8bjctaW5wdXQtc2VsZWN0ICpuZ0Zvcj1cImxldCBzZWxlY3REYXRhIG9mIHNlY3Rpb24uc2VsZWN0c1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2RhdGFdPVwic2VsZWN0RGF0YVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2VtaXRdPVwidGhpcy5lbWl0XCI+XG4gICAgICAgIDwvbjctaW5wdXQtc2VsZWN0PlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbjwhLS0gTElOS1MgLS0+XG48bmctdGVtcGxhdGUgI2xpbmtzIGxldC1zZWN0aW9uPlxuICAgIDxkaXYgKm5nSWY9XCJzZWN0aW9uLmxpbmtzXCJcbiAgICAgICAgIGNsYXNzPVwibjctZm9vdGVyX19jb2x1bW4tbmF2XCI+XG4gICAgICAgIDx1bCBjbGFzcz1cIm43LWZvb3Rlcl9fY29sdW1uLW5hdi1saXN0XCI+XG4gICAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGxpbmsgb2Ygc2VjdGlvbi5saW5rc1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJuNy1mb290ZXJfX2NvbHVtbi1uYXYtaXRlbSB7e2xpbmsuY2xhc3NlcyB8fCAnJ319XCI+XG4gICAgICAgICAgICAgICAgPG43LWFuY2hvci13cmFwcGVyIFtjbGFzc2VzXT1cIiduNy1mb290ZXJfX2NvbHVtbi1uYXYtbGluaydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJsaW5rLmFuY2hvclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGlja2VkKT1cIm9uQ2xpY2soJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyBsaW5rLnRleHQgfX1cbiAgICAgICAgICAgICAgICA8L243LWFuY2hvci13cmFwcGVyPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgPC91bD5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -40,9 +40,9 @@ export class HeaderComponent {
40
40
  this.emit('keyup', { payload, keyCode, value });
41
41
  }
42
42
  }
43
- HeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: HeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
44
- HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: HeaderComponent, selector: "n7-header", inputs: { data: "data", emit: "emit" }, ngImport: i0, template: "<header *ngIf=\"data\" class=\"n7-header {{data.classes || ''}}\">\n <div class=\"n7-header__content\">\n <!-- Logo and title -->\n <div class=\"n7-header__logo-title {{data.logo.classes || ''}}\">\n <n7-anchor-wrapper\n [classes]=\"'n7-header__logo-link'\"\n [data]=\"data.logo.anchor\"\n (clicked)=\"onClick($event)\"\n >\n <img\n class=\"n7-header__logo\"\n *ngIf=\"data.logo.image\"\n [src]=\"data.logo.image\"\n alt=\"{{ data.logo.title }}\"\n />\n <div class=\"n7-header__title-subtitle\">\n <h1 class=\"n7-header__title\">{{ data.logo.title }}</h1>\n <h2 class=\"n7-header__subtitle\" *ngIf=\"data.logo.subtitle\">\n {{ data.logo.subtitle }}\n </h2>\n </div>\n </n7-anchor-wrapper>\n </div>\n\n <!-- Main menu -->\n <nav class=\"n7-header__nav {{data.nav.classes || ''}}\" *ngIf=\"data.nav\">\n <div class=\"n7-header__nav-content\">\n <ul class=\"n7-header__nav-list\">\n <li\n class=\"n7-header__nav-item {{item.classes || ''}}\"\n *ngFor=\"let item of data.nav.items\"\n >\n <n7-anchor-wrapper\n [classes]=\"'n7-header__nav-link'\"\n [data]=\"item.anchor\"\n (clicked)=\"onClick($event)\"\n >\n <span\n class=\"n7-header__nav-icon {{item.icon}}\"\n *ngIf=\"item.icon\"\n ></span>\n <span class=\"n7-header__nav-label\" *ngIf=\"item.text\">\n {{ item.text }}\n </span>\n </n7-anchor-wrapper>\n <!-- Sublevel -->\n <ul class=\"n7-header__subnav-list\" *ngIf=\"item.subnav\">\n <li\n class=\"n7-header__subnav-item {{subitem.classes || ''}}\"\n *ngFor=\"let subitem of item.subnav\"\n >\n <n7-anchor-wrapper\n [classes]=\"'n7-header__subnav-link'\"\n [data]=\"subitem.anchor\"\n (clicked)=\"onClick($event)\"\n >\n <span\n class=\"n7-header__subnav-icon {{subitem.icon}}\"\n *ngIf=\"subitem.icon\"\n ></span>\n <span class=\"n7-header__subnav-label\" *ngIf=\"subitem.text\">\n {{ subitem.text }}\n </span>\n </n7-anchor-wrapper>\n </li>\n </ul>\n </li>\n </ul>\n </div>\n </nav>\n\n <!-- Mobile menu toggle -->\n <div class=\"n7-header__mobile-menu-toggle\">\n <span\n class=\"n7-header__mobile-menu-icon n7-icon-menu\"\n (click)=\"onClick(data.menuToggle.open.payload)\"\n ></span>\n </div>\n\n <!-- Mobile menu close -->\n <span\n class=\"n7-header__mobile-menu-close n7-icon-close\"\n (click)=\"onClick(data.menuToggle.close.payload)\"\n ></span>\n\n <!-- Tools: search, notifications, use profile or login/signup -->\n <div class=\"n7-header__tools\">\n <div\n class=\"n7-header__search {{data.search.classes || ''}}\"\n *ngIf=\"data.search\"\n >\n <input\n class=\"n7-header__search-input\"\n type=\"search\"\n name=\"search\"\n placeholder=\"{{ data.search.hint || ''}}\"\n (keyup)=\"onKeyUp(data.search.payload, $event.keyCode, $event.target.value)\"\n />\n <button\n class=\"n7-header__search-btn\"\n type=\"submit\"\n (click)=\"onClick(data.search.payload)\"\n >\n <span class=\"n7-header__search-btn-label\"> Search </span>\n </button>\n </div>\n\n <div class=\"n7-header__actions\" *ngIf=\"data.actions\">\n <n7-anchor-wrapper\n *ngFor=\"let action of data.actions\"\n [classes]=\"'n7-header__action' + (action.classes || '')\"\n [data]=\"action.anchor\"\n (clicked)=\"onClick($event)\"\n >\n <span class=\"n7-header__action-icon {{ action.icon }}\"></span>\n <span\n *ngIf=\"action.badge\"\n class=\"n7-header__action-badge {{ action.badge.text ? 'has-text' : '' }}\"\n >\n {{ action.badge.text }}\n </span>\n </n7-anchor-wrapper>\n </div>\n\n <div class=\"n7-header__buttons\" *ngIf=\"data.buttons\">\n <n7-anchor-wrapper\n *ngFor=\"let button of data.buttons\"\n [classes]=\"button.classes\"\n [data]=\"button.anchor\"\n (clicked)=\"onClick($event)\"\n >\n <span class=\"\" *ngIf=\"button.text\"> {{ button.text }} </span>\n <span class=\"{{button.icon}}\" *ngIf=\"button.icon\"></span>\n </n7-anchor-wrapper>\n </div>\n\n <div class=\"n7-header__selects\" *ngIf=\"data.selects\">\n <n7-input-select\n *ngFor=\"let selectData of data.selects\"\n [data]=\"selectData\"\n [emit]=\"this.emit\"\n >\n </n7-input-select>\n </div>\n\n <div\n class=\"n7-header__user {{data.user.classes || ''}}\"\n *ngIf=\"data.user\"\n >\n <n7-anchor-wrapper\n [classes]=\"'n7-header__user-content'\"\n [data]=\"data.user.anchor\"\n (clicked)=\"onClick($event)\"\n >\n <n7-avatar [data]=\"data.user\" [emit]=\"this.emit\"></n7-avatar>\n <p class=\"n7-header__user-name\" *ngIf=\"data.user.name\">\n <span class=\"n7-header__user-name-label\">\n {{ data.user.name }}\n </span>\n </p>\n </n7-anchor-wrapper>\n </div>\n </div>\n </div>\n</header>\n", dependencies: [{ 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"] }, { kind: "component", type: i3.AvatarComponent, selector: "n7-avatar", inputs: ["data", "emit"] }, { kind: "component", type: i4.InputSelectComponent, selector: "n7-input-select", inputs: ["data", "emit"] }] });
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: HeaderComponent, decorators: [{
43
+ HeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
44
+ HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: HeaderComponent, selector: "n7-header", inputs: { data: "data", emit: "emit" }, ngImport: i0, template: "<header *ngIf=\"data\" class=\"n7-header {{data.classes || ''}}\">\n <div class=\"n7-header__content\">\n <!-- Logo and title -->\n <div class=\"n7-header__logo-title {{data.logo.classes || ''}}\">\n <n7-anchor-wrapper\n [classes]=\"'n7-header__logo-link'\"\n [data]=\"data.logo.anchor\"\n (clicked)=\"onClick($event)\"\n >\n <img\n class=\"n7-header__logo\"\n *ngIf=\"data.logo.image\"\n [src]=\"data.logo.image\"\n alt=\"{{ data.logo.title }}\"\n />\n <div class=\"n7-header__title-subtitle\">\n <h1 class=\"n7-header__title\">{{ data.logo.title }}</h1>\n <h2 class=\"n7-header__subtitle\" *ngIf=\"data.logo.subtitle\">\n {{ data.logo.subtitle }}\n </h2>\n </div>\n </n7-anchor-wrapper>\n </div>\n\n <!-- Main menu -->\n <nav class=\"n7-header__nav {{data.nav.classes || ''}}\" *ngIf=\"data.nav\">\n <div class=\"n7-header__nav-content\">\n <ul class=\"n7-header__nav-list\">\n <li\n class=\"n7-header__nav-item {{item.classes || ''}}\"\n *ngFor=\"let item of data.nav.items\"\n >\n <n7-anchor-wrapper\n [classes]=\"'n7-header__nav-link'\"\n [data]=\"item.anchor\"\n (clicked)=\"onClick($event)\"\n >\n <span\n class=\"n7-header__nav-icon {{item.icon}}\"\n *ngIf=\"item.icon\"\n ></span>\n <span class=\"n7-header__nav-label\" *ngIf=\"item.text\">\n {{ item.text }}\n </span>\n </n7-anchor-wrapper>\n <!-- Sublevel -->\n <ul class=\"n7-header__subnav-list\" *ngIf=\"item.subnav\">\n <li\n class=\"n7-header__subnav-item {{subitem.classes || ''}}\"\n *ngFor=\"let subitem of item.subnav\"\n >\n <n7-anchor-wrapper\n [classes]=\"'n7-header__subnav-link'\"\n [data]=\"subitem.anchor\"\n (clicked)=\"onClick($event)\"\n >\n <span\n class=\"n7-header__subnav-icon {{subitem.icon}}\"\n *ngIf=\"subitem.icon\"\n ></span>\n <span class=\"n7-header__subnav-label\" *ngIf=\"subitem.text\">\n {{ subitem.text }}\n </span>\n </n7-anchor-wrapper>\n </li>\n </ul>\n </li>\n </ul>\n </div>\n </nav>\n\n <!-- Mobile menu toggle -->\n <div class=\"n7-header__mobile-menu-toggle\">\n <span\n class=\"n7-header__mobile-menu-icon n7-icon-menu\"\n (click)=\"onClick(data.menuToggle.open.payload)\"\n ></span>\n </div>\n\n <!-- Mobile menu close -->\n <span\n class=\"n7-header__mobile-menu-close n7-icon-close\"\n (click)=\"onClick(data.menuToggle.close.payload)\"\n ></span>\n\n <!-- Tools: search, notifications, use profile or login/signup -->\n <div class=\"n7-header__tools\">\n <div\n class=\"n7-header__search {{data.search.classes || ''}}\"\n *ngIf=\"data.search\"\n >\n <input\n class=\"n7-header__search-input\"\n type=\"search\"\n name=\"search\"\n placeholder=\"{{ data.search.hint || ''}}\"\n (keyup)=\"onKeyUp(data.search.payload, $event.keyCode, $event.target.value)\"\n />\n <button\n class=\"n7-header__search-btn\"\n type=\"submit\"\n (click)=\"onClick(data.search.payload)\"\n >\n <span class=\"n7-header__search-btn-label\"> Search </span>\n </button>\n </div>\n\n <div class=\"n7-header__actions\" *ngIf=\"data.actions\">\n <n7-anchor-wrapper\n *ngFor=\"let action of data.actions\"\n [classes]=\"'n7-header__action' + (action.classes || '')\"\n [data]=\"action.anchor\"\n (clicked)=\"onClick($event)\"\n >\n <span class=\"n7-header__action-icon {{ action.icon }}\"></span>\n <span\n *ngIf=\"action.badge\"\n class=\"n7-header__action-badge {{ action.badge.text ? 'has-text' : '' }}\"\n >\n {{ action.badge.text }}\n </span>\n </n7-anchor-wrapper>\n </div>\n\n <div class=\"n7-header__buttons\" *ngIf=\"data.buttons\">\n <n7-anchor-wrapper\n *ngFor=\"let button of data.buttons\"\n [classes]=\"button.classes\"\n [data]=\"button.anchor\"\n (clicked)=\"onClick($event)\"\n >\n <span class=\"\" *ngIf=\"button.text\"> {{ button.text }} </span>\n <span class=\"{{button.icon}}\" *ngIf=\"button.icon\"></span>\n </n7-anchor-wrapper>\n </div>\n\n <div class=\"n7-header__selects\" *ngIf=\"data.selects\">\n <n7-input-select\n *ngFor=\"let selectData of data.selects\"\n [data]=\"selectData\"\n [emit]=\"this.emit\"\n >\n </n7-input-select>\n </div>\n\n <div\n class=\"n7-header__user {{data.user.classes || ''}}\"\n *ngIf=\"data.user\"\n >\n <n7-anchor-wrapper\n [classes]=\"'n7-header__user-content'\"\n [data]=\"data.user.anchor\"\n (clicked)=\"onClick($event)\"\n >\n <n7-avatar [data]=\"data.user\" [emit]=\"this.emit\"></n7-avatar>\n <p class=\"n7-header__user-name\" *ngIf=\"data.user.name\">\n <span class=\"n7-header__user-name-label\">\n {{ data.user.name }}\n </span>\n </p>\n </n7-anchor-wrapper>\n </div>\n </div>\n </div>\n</header>\n", dependencies: [{ 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"] }, { kind: "component", type: i3.AvatarComponent, selector: "n7-avatar", inputs: ["data", "emit"] }, { kind: "component", type: i4.InputSelectComponent, selector: "n7-input-select", inputs: ["data", "emit"] }] });
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HeaderComponent, decorators: [{
46
46
  type: Component,
47
47
  args: [{ selector: 'n7-header', template: "<header *ngIf=\"data\" class=\"n7-header {{data.classes || ''}}\">\n <div class=\"n7-header__content\">\n <!-- Logo and title -->\n <div class=\"n7-header__logo-title {{data.logo.classes || ''}}\">\n <n7-anchor-wrapper\n [classes]=\"'n7-header__logo-link'\"\n [data]=\"data.logo.anchor\"\n (clicked)=\"onClick($event)\"\n >\n <img\n class=\"n7-header__logo\"\n *ngIf=\"data.logo.image\"\n [src]=\"data.logo.image\"\n alt=\"{{ data.logo.title }}\"\n />\n <div class=\"n7-header__title-subtitle\">\n <h1 class=\"n7-header__title\">{{ data.logo.title }}</h1>\n <h2 class=\"n7-header__subtitle\" *ngIf=\"data.logo.subtitle\">\n {{ data.logo.subtitle }}\n </h2>\n </div>\n </n7-anchor-wrapper>\n </div>\n\n <!-- Main menu -->\n <nav class=\"n7-header__nav {{data.nav.classes || ''}}\" *ngIf=\"data.nav\">\n <div class=\"n7-header__nav-content\">\n <ul class=\"n7-header__nav-list\">\n <li\n class=\"n7-header__nav-item {{item.classes || ''}}\"\n *ngFor=\"let item of data.nav.items\"\n >\n <n7-anchor-wrapper\n [classes]=\"'n7-header__nav-link'\"\n [data]=\"item.anchor\"\n (clicked)=\"onClick($event)\"\n >\n <span\n class=\"n7-header__nav-icon {{item.icon}}\"\n *ngIf=\"item.icon\"\n ></span>\n <span class=\"n7-header__nav-label\" *ngIf=\"item.text\">\n {{ item.text }}\n </span>\n </n7-anchor-wrapper>\n <!-- Sublevel -->\n <ul class=\"n7-header__subnav-list\" *ngIf=\"item.subnav\">\n <li\n class=\"n7-header__subnav-item {{subitem.classes || ''}}\"\n *ngFor=\"let subitem of item.subnav\"\n >\n <n7-anchor-wrapper\n [classes]=\"'n7-header__subnav-link'\"\n [data]=\"subitem.anchor\"\n (clicked)=\"onClick($event)\"\n >\n <span\n class=\"n7-header__subnav-icon {{subitem.icon}}\"\n *ngIf=\"subitem.icon\"\n ></span>\n <span class=\"n7-header__subnav-label\" *ngIf=\"subitem.text\">\n {{ subitem.text }}\n </span>\n </n7-anchor-wrapper>\n </li>\n </ul>\n </li>\n </ul>\n </div>\n </nav>\n\n <!-- Mobile menu toggle -->\n <div class=\"n7-header__mobile-menu-toggle\">\n <span\n class=\"n7-header__mobile-menu-icon n7-icon-menu\"\n (click)=\"onClick(data.menuToggle.open.payload)\"\n ></span>\n </div>\n\n <!-- Mobile menu close -->\n <span\n class=\"n7-header__mobile-menu-close n7-icon-close\"\n (click)=\"onClick(data.menuToggle.close.payload)\"\n ></span>\n\n <!-- Tools: search, notifications, use profile or login/signup -->\n <div class=\"n7-header__tools\">\n <div\n class=\"n7-header__search {{data.search.classes || ''}}\"\n *ngIf=\"data.search\"\n >\n <input\n class=\"n7-header__search-input\"\n type=\"search\"\n name=\"search\"\n placeholder=\"{{ data.search.hint || ''}}\"\n (keyup)=\"onKeyUp(data.search.payload, $event.keyCode, $event.target.value)\"\n />\n <button\n class=\"n7-header__search-btn\"\n type=\"submit\"\n (click)=\"onClick(data.search.payload)\"\n >\n <span class=\"n7-header__search-btn-label\"> Search </span>\n </button>\n </div>\n\n <div class=\"n7-header__actions\" *ngIf=\"data.actions\">\n <n7-anchor-wrapper\n *ngFor=\"let action of data.actions\"\n [classes]=\"'n7-header__action' + (action.classes || '')\"\n [data]=\"action.anchor\"\n (clicked)=\"onClick($event)\"\n >\n <span class=\"n7-header__action-icon {{ action.icon }}\"></span>\n <span\n *ngIf=\"action.badge\"\n class=\"n7-header__action-badge {{ action.badge.text ? 'has-text' : '' }}\"\n >\n {{ action.badge.text }}\n </span>\n </n7-anchor-wrapper>\n </div>\n\n <div class=\"n7-header__buttons\" *ngIf=\"data.buttons\">\n <n7-anchor-wrapper\n *ngFor=\"let button of data.buttons\"\n [classes]=\"button.classes\"\n [data]=\"button.anchor\"\n (clicked)=\"onClick($event)\"\n >\n <span class=\"\" *ngIf=\"button.text\"> {{ button.text }} </span>\n <span class=\"{{button.icon}}\" *ngIf=\"button.icon\"></span>\n </n7-anchor-wrapper>\n </div>\n\n <div class=\"n7-header__selects\" *ngIf=\"data.selects\">\n <n7-input-select\n *ngFor=\"let selectData of data.selects\"\n [data]=\"selectData\"\n [emit]=\"this.emit\"\n >\n </n7-input-select>\n </div>\n\n <div\n class=\"n7-header__user {{data.user.classes || ''}}\"\n *ngIf=\"data.user\"\n >\n <n7-anchor-wrapper\n [classes]=\"'n7-header__user-content'\"\n [data]=\"data.user.anchor\"\n (clicked)=\"onClick($event)\"\n >\n <n7-avatar [data]=\"data.user\" [emit]=\"this.emit\"></n7-avatar>\n <p class=\"n7-header__user-name\" *ngIf=\"data.user.name\">\n <span class=\"n7-header__user-name-label\">\n {{ data.user.name }}\n </span>\n </p>\n </n7-anchor-wrapper>\n </div>\n </div>\n </div>\n</header>\n" }]
48
48
  }], propDecorators: { data: [{
@@ -50,4 +50,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
50
50
  }], emit: [{
51
51
  type: Input
52
52
  }] } });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHYtY29tcG9uZW50cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2hlYWRlci9oZWFkZXIudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdi1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvaGVhZGVyL2hlYWRlci5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFtUWpEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBS0gsTUFBTSxPQUFPLGVBQWU7SUFrQjFCLE9BQU8sQ0FBQyxPQUFZO1FBQ2xCLDhCQUE4QjtRQUM5QixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxPQUFPLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLO1FBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU87UUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDbEQsQ0FBQzs7NkdBM0JVLGVBQWU7aUdBQWYsZUFBZSx5RkM5UjVCLDZwTEFxS0E7NEZEeUhhLGVBQWU7a0JBSjNCLFNBQVM7K0JBQ0UsV0FBVzs4QkFpQlosSUFBSTtzQkFBWixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElucHV0U2VsZWN0RGF0YSB9IGZyb20gJy4uL2lucHV0LXNlbGVjdC9pbnB1dC1zZWxlY3QnO1xuaW1wb3J0IHsgQW5jaG9yIH0gZnJvbSAnLi4vLi4vc2hhcmVkLWludGVyZmFjZXMnO1xuaW1wb3J0IHsgQXZhdGFyRGF0YSB9IGZyb20gJy4uL2F2YXRhci9hdmF0YXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJEYXRhIGV4dGVuZHMgQXZhdGFyRGF0YSB7XG4gIC8qKlxuICAgKiB1c2VyJ3MgcHJvZmlsZSBuYW1lXG4gICAqL1xuICBuYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogZXh0ZXJuYWwgdXJsXG4gICAqL1xuICBhbmNob3I/OiBBbmNob3I7XG4gIC8qKlxuICAgKiBhZGRpdGlvbmFsIGluZm9cbiAgICovXG4gIF9tZXRhPzogYW55O1xufVxuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgYSBzaW5nbGUgYnV0dG9uXG4gKlxuICogQHByb3BlcnR5IHRleHQgKHJlcXVpcmVkKVxuICogQHByb3BlcnR5IGFuY2hvciAocmVxdWlyZWQpXG4gKiBAcHJvcGVydHkgaWNvbiAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgY2xhc3NlcyAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgX21ldGEgKG9wdGlvbmFsKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJ1dHRvbkl0ZW0ge1xuICAvKipcbiAgICogdGV4dFxuICAgKi9cbiAgdGV4dDogc3RyaW5nO1xuICAvKipcbiAgICogYW5jaG9yXG4gICAqL1xuICBhbmNob3I6IEFuY2hvcjtcbiAgLyoqXG4gICAqIGljb24gY2xhc3NcbiAgICovXG4gIGljb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBhZGRpdGlvbmFsIGh0bWwgY2xhc3Nlc1xuICAgKi9cbiAgY2xhc3Nlcz86IHN0cmluZztcbiAgLyoqXG4gICAqIGFkZGl0aW9uYWwgaW5mb1xuICAgKi9cbiAgX21ldGE/OiBhbnk7XG59XG5cbi8qKlxuICogSW50ZXJmYWNlIGZvciBhIHNpbmdsZSBhY3Rpb24gaXRlbVxuICpcbiAqIEBwcm9wZXJ0eSBpY29uIChyZXF1aXJlZClcbiAqIEBwcm9wZXJ0eSBiYWRnZSAob3B0aW9uYWwpXG4gKiAtIHRleHQgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IGNsYXNzZXMgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IGFuY2hvciAocmVxdWlyZWQpXG4gKiBAcHJvcGVydHkgX21ldGEgKG9wdGlvbmFsKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFjdGlvbkl0ZW0ge1xuICAvKipcbiAgICogb3B0aW9uYWwgYmFkZ2Ugd2l0aCwgb3B0aW9uYWxseSwgaXRzIHRleHRcbiAgICovXG4gIGJhZGdlPzoge1xuICAgIHRleHQ/OiBzdHJpbmc7XG4gIH07XG4gIC8qKlxuICAgKiBpY29uIGNsYXNzXG4gICAqL1xuICBpY29uOiBzdHJpbmc7XG4gIGFuY2hvcjogQW5jaG9yO1xuICAvKipcbiAgICogYWRkaXRpb25hbCBodG1sIGNsYXNzZXNcbiAgICovXG4gIGNsYXNzZXM/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBhZGRpdGlvbmFsIGluZm9cbiAgICovXG4gIF9tZXRhPzogYW55O1xufVxuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgYSBzaW5nbGUgbmF2YmFyIGl0ZW1cbiAqXG4gKiBub3RlOiBhIHNpbmdsZSBuYXYncyBpdGVtIGNhbiBiZSBhIHRleHQgKHcvIGFuY2hvcikgT1IgYSBkcm9wZG93blxuICpcbiAqIEBwcm9wZXJ0eSBpY29uIChvcHRpb25hbClcbiAqIEBwcm9wZXJ0eSBzdWJuYXYgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IHRleHQgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IGNsYXNzZXMgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IGFuY2hvciAocmVxdWlyZWQpXG4gKiBAcHJvcGVydHkgX21ldGEgKG9wdGlvbmFsKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5hdmJhckl0ZW0ge1xuICAvKipcbiAgICogdGV4dCBvZiBhIHNpbmdsZSBpdGVtIG9mIHRoZSBuYXZiYXIgKHRleHQgYW5kIHBheWxvYWQgYXJlIGNvbm5lY3RlZClcbiAgICovXG4gIHRleHQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBpY29uIGZvciBhIHNpbmdsZSBpdGVtIG9mIHRoZSBuYXZiYXIgKGFzc29jaWF0ZWQgdG8gXCJ0ZXh0XCIpXG4gICAqL1xuICBpY29uPzogc3RyaW5nO1xuICAvKipcbiAgICogc2Vjb25kIGxldmVsIG5hdmlnYXRpb25cbiAgICovXG4gIHN1Ym5hdj86IE5hdmJhckl0ZW1bXTtcbiAgYW5jaG9yOiBBbmNob3I7XG4gIC8qKlxuICAgKiBhZGRpdGlvbmFsIGh0bWwgY2xhc3Nlc1xuICAgKi9cbiAgY2xhc3Nlcz86IHN0cmluZztcbiAgLyoqXG4gICAqIGFkZGl0aW9uYWwgaW5mb1xuICAgKi9cbiAgX21ldGE/OiBhbnk7XG59XG5cbi8qKlxuICogSW50ZXJmYWNlIGZvciBIZWFkZXJDb21wb25lbnQncyBcImRhdGFcIlxuICpcbiAqIEBwcm9wZXJ0eSBsb2dvIChyZXF1aXJlZClcbiAqIC0gdGl0bGUgKHJlcXVpcmVkKVxuICogLSBpbWFnZSAob3B0aW9uYWwpXG4gKiAtIHN1YnRpdGxlIChvcHRpb25hbClcbiAqIC0gY2xhc3NlcyAob3B0aW9uYWwpXG4gKiAtIHBheWxvYWQgKG9wdGlvbmFsKVxuICogLSBhbmNob3IgKG9wdGlvbmFsKVxuICogQHByb3BydHkgbWVudVRvZ2dsZSAocmVxdWlyZWQpXG4gKiAtIG9wZW4gKHJlcXVpcmVkKVxuICogLSAtIHBheWxvYWQgKHJlcXVpcmVkKVxuICogLSBjbG9zZW4gKHJlcXVpcmVkKVxuICogLSAtIHBheWxvYWQgKHJlcXVpcmVkKVxuICogQHByb3BlcnR5IGFjdGlvbnMgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IG5hdiAob3B0aW9uYWwpXG4gKiAtIGl0ZW1zIChyZXF1aXJlZClcbiAqIC0gaXNCZWxvdyAob3B0aW9uYWwpXG4gKiAtIGNsYXNzZXMgKG9wdGlvbmFsKVxuICogLSBwYXlsb2FkIChvcHRpb25hbClcbiAqIC0gYW5jaG9yIChvcHRpb25hbClcbiAqIC0gX21ldGEgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IHNlYXJjaCAob3B0aW9uYWwpXG4gKiAtIGhpbnQgKG9wdGlvbmFsKVxuICogLSBjbGFzc2VzIChvcHRpb25hbClcbiAqIC0gcGF5bG9hZCAob3B0aW9uYWwpXG4gKiAtIF9tZXRhIChvcHRpb25hbClcbiAqIEBwcm9wZXJ0eSB1c2VyIChvcHRpb25hbClcbiAqIC0gaW1hZ2UgKG9wdGlvbmFsKVxuICogLSBuYW1lIChvcHRpb25hbClcbiAqIC0gY2xhc3NlcyAob3B0aW9uYWwpXG4gKiAtIHBheWxvYWQgKG9wdGlvbmFsKVxuICogLSBhbmNob3IgKG9wdGlvbmFsKVxuICogLSBfbWV0YSAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgY2xhc3NlcyAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgcGF5bG9hZCAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgX21ldGEgKG9wdGlvbmFsKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEhlYWRlckRhdGEge1xuICAvKipcbiAgICogbG9nbyBhbmQgdGl0bGUgYXJlYSBwYXJhbWV0ZXJzXG4gICAqL1xuICBsb2dvOiB7XG4gICAgaW1hZ2U/OiBzdHJpbmc7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBzdWJ0aXRsZT86IHN0cmluZztcbiAgICBjbGFzc2VzPzogc3RyaW5nO1xuICAgIHBheWxvYWQ/OiBhbnk7XG4gICAgYW5jaG9yOiBBbmNob3I7XG4gIH07XG4gIC8qKlxuICAgKiBuYXYncyBwYXJhbWV0ZXJzXG4gICAqL1xuICBuYXY/OiB7XG4gICAgLyoqXG4gICAgICogbGlzdCBvZiB0aGUgaXRlbXMgaW4gdGhlIG5hdmJhclxuICAgICAqL1xuICAgIGl0ZW1zOiBOYXZiYXJJdGVtW107XG4gICAgLyoqXG4gICAgICogZmxhZyBmb3IgZGlzcGxheSB0aGUgbmF2YmFyIHVuZGVyIHRoZSBoZWFkZXIgKGluc3RlYWQgb2YgSU4gdGhlIGhlYWRlcilcbiAgICAgKi9cbiAgICBpc0JlbG93PzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBhZGRpdGlvbmFsIGh0bWwgY2xhc3Nlc1xuICAgICAqL1xuICAgIGNsYXNzZXM/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogYWN0aW9uIGNsaWNrJ3MgcGF5bG9hZFxuICAgICAqL1xuICAgIHBheWxvYWQ/OiBhbnk7XG4gICAgLyoqXG4gICAgICogYWRkaXRpb25hbCBpbmZvXG4gICAgICovXG4gICAgX21ldGE/OiBhbnk7XG4gIH07XG4gIC8qKlxuICAgKiBzZWFyY2ggcGFyYW1ldGVyc1xuICAgKi9cbiAgc2VhcmNoPzoge1xuICAgIC8qKlxuICAgICAqIGhpbnQgKHRleHQgc2hvd2VkIGluIHRoZSBpbnB1dCBib3ggdW50aWwgc29tZXRoaW5nIGlzIHdyaXRlZCBpbiB0aGVyZSlcbiAgICAgKi9cbiAgICBoaW50Pzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIGFkZGl0aW9uYWwgaHRtbCBjbGFzc2VzXG4gICAgICovXG4gICAgY2xhc3Nlcz86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBhY3Rpb24gY2xpY2sncyBwYXlsb2FkXG4gICAgICovXG4gICAgcGF5bG9hZD86IGFueTtcbiAgICAvKipcbiAgICAgKiBhZGRpdGlvbmFsIGluZm9cbiAgICAgKi9cbiAgICBfbWV0YT86IGFueTtcbiAgfTtcbiAgLyoqXG4gICAqIGFjdGlvbiBpdGVtc1xuICAgKi9cbiAgYWN0aW9ucz86IEFjdGlvbkl0ZW1bXTtcbiAgLyoqXG4gICAqIGJ1dHRvbnMgaXRlbXNcbiAgICovXG4gIGJ1dHRvbnM/OiBCdXR0b25JdGVtW107XG4gIC8qKlxuICAgKiBTZWxlY3QgZWxlbWVudHMgd2l0aCBzb21lIG9wdGlvbnNcbiAgICogdXNlZnVsIGZvciB0aGUgaGVhZGVyJ3MgbGFuZ3VhZ2Ugc2VsZWN0b3JcbiAgICovXG4gIHNlbGVjdHM/OiBJbnB1dFNlbGVjdERhdGFbXTtcbiAgLyoqXG4gICAqIHVzZXIgcGFyYW1ldGVyc1xuICAgKi9cbiAgdXNlcj86IFVzZXJEYXRhO1xuICAvKipcbiAgICogbWVudSB0b2dnbGUgZm9yIG1vYmlsZVxuICAgKi9cbiAgbWVudVRvZ2dsZToge1xuICAgIG9wZW46IHtcbiAgICAgIHBheWxvYWQ6IGFueTtcbiAgICB9O1xuICAgIGNsb3NlOiB7XG4gICAgICBwYXlsb2FkOiBhbnk7XG4gICAgfTtcbiAgfTtcbiAgLyoqXG4gICAqIGFkZGl0aW9uYWwgaHRtbCBjbGFzc2VzXG4gICAqL1xuICBjbGFzc2VzPzogc3RyaW5nO1xuICAvKipcbiAgICogYWN0aW9uIGNsaWNrJ3MgcGF5bG9hZFxuICAgKi9cbiAgcGF5bG9hZD86IGFueTtcbiAgLyoqXG4gICAqIGFkZGl0aW9uYWwgaW5mb1xuICAgKi9cbiAgX21ldGE/OiBhbnk7XG59XG5cbi8qKlxuICogSGVhZGVyQ29tcG9uZW50IDxuNy1oZWFkZXI+XG4gKlxuICogQHN0cnVjdHVyZVxuICogID4+ICBjcG0gPSBpdCBoYXMgQ2xhc3NlcywgUGF5bG9hZCwgTWV0YWRhdGEgIDw8XG4gKiAgPj4gIC1wLSA9IGl0IGhhcyBvbmx5IFBheWxvYWQgICAgICAgICAgICAgICAgPDxcbiAqICA+PiAgKy0tID0gc3ViLW1lbWJlciAgICAgICAgICAgICAgICAgICAgICAgICA8PFxuICogID4+ICArLS0tPiA9IGFycmF5ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw8XG4gKlxuICogIGRhdGEgKGNwbSlcbiAqICAgICstLSBhY3Rpb25zXG4gKiAgICAgICAgICArLS0tPiBhY3Rpb24gKGNwbSlcbiAqICAgICAgICAgICAgICAgICAgKy0tIGJhZGdlXG4gKiAgICArLS0gbG9nbyAoY3AtKVxuICogICAgKy0tIG1lbnVUb2dnbGVcbiAqICAgICAgICAgICstLSBvcGVuICgtcC0pXG4gKiAgICAgICAgICArLS0gY2xvc2UgKC1wLSlcbiAqICAgICstLSBuYXYgKGNwbSlcbiAqICAgICAgICAgICstLS0+IGl0ZW1zXG4gKiAgICArLS0gc2VhcmNoIChjcG0pXG4gKiAgICArLS0gdXNlciAoY3BtKVxuICpcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbjctaGVhZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2hlYWRlci5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBIZWFkZXJDb21wb25lbnQge1xuICAvKlxuICAgID4+ICAgIGNwbSA9IGl0IGhhcyBDbGFzc2VzLCBQYXlsb2FkLCBNZXRhZGF0YSAgIDw8XG4gICAgPj4gICAgLXAtID0gaXQgaGFzIG9ubHkgUGF5bG9hZCAgICAgICAgICAgICAgICAgPDxcblxuICAgIGRhdGEgKGNwbSlcbiAgICAgICstLS0tIHBhcmFtcyAoY3BtKVxuICAgICAgKy0tLS0gbmF2IChjcG0pXG4gICAgICAgICAgICAgICAgKy0tLS0gaXRlbXMgKGNwbSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKy0tLS0gZHJvcGRvd25EYXRhIChjcG0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICstLS0tIGxpc3QgKC1wLSlcbiAgICAgICstLS0tIHNlYXJjaCAoY3BtKVxuICAgICAgKy0tLS0gdXNlciAoY3BtKVxuICAqL1xuICBASW5wdXQoKSBkYXRhOiBhbnk7XG5cbiAgQElucHV0KCkgZW1pdDogYW55O1xuXG4gIG9uQ2xpY2socGF5bG9hZDogYW55KSB7XG4gICAgLy8gY29uc29sZS5sb2codHlwZSwgcGF5bG9hZCk7XG4gICAgaWYgKCF0aGlzLmVtaXQpIHJldHVybjtcbiAgICB0aGlzLmVtaXQoJ2NsaWNrJywgcGF5bG9hZCk7XG4gIH1cblxuICBvbktleVVwKHBheWxvYWQsIGtleUNvZGUsIHZhbHVlKSB7XG4gICAgaWYgKCF0aGlzLmVtaXQpIHJldHVybjtcbiAgICB0aGlzLmVtaXQoJ2tleXVwJywgeyBwYXlsb2FkLCBrZXlDb2RlLCB2YWx1ZSB9KTtcbiAgfVxufVxuIiwiPGhlYWRlciAqbmdJZj1cImRhdGFcIiBjbGFzcz1cIm43LWhlYWRlciB7e2RhdGEuY2xhc3NlcyB8fCAnJ319XCI+XG4gIDxkaXYgY2xhc3M9XCJuNy1oZWFkZXJfX2NvbnRlbnRcIj5cbiAgICA8IS0tIExvZ28gYW5kIHRpdGxlIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJuNy1oZWFkZXJfX2xvZ28tdGl0bGUge3tkYXRhLmxvZ28uY2xhc3NlcyB8fCAnJ319XCI+XG4gICAgICA8bjctYW5jaG9yLXdyYXBwZXJcbiAgICAgICAgW2NsYXNzZXNdPVwiJ243LWhlYWRlcl9fbG9nby1saW5rJ1wiXG4gICAgICAgIFtkYXRhXT1cImRhdGEubG9nby5hbmNob3JcIlxuICAgICAgICAoY2xpY2tlZCk9XCJvbkNsaWNrKCRldmVudClcIlxuICAgICAgPlxuICAgICAgICA8aW1nXG4gICAgICAgICAgY2xhc3M9XCJuNy1oZWFkZXJfX2xvZ29cIlxuICAgICAgICAgICpuZ0lmPVwiZGF0YS5sb2dvLmltYWdlXCJcbiAgICAgICAgICBbc3JjXT1cImRhdGEubG9nby5pbWFnZVwiXG4gICAgICAgICAgYWx0PVwie3sgZGF0YS5sb2dvLnRpdGxlIH19XCJcbiAgICAgICAgLz5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm43LWhlYWRlcl9fdGl0bGUtc3VidGl0bGVcIj5cbiAgICAgICAgICA8aDEgY2xhc3M9XCJuNy1oZWFkZXJfX3RpdGxlXCI+e3sgZGF0YS5sb2dvLnRpdGxlIH19PC9oMT5cbiAgICAgICAgICA8aDIgY2xhc3M9XCJuNy1oZWFkZXJfX3N1YnRpdGxlXCIgKm5nSWY9XCJkYXRhLmxvZ28uc3VidGl0bGVcIj5cbiAgICAgICAgICAgIHt7IGRhdGEubG9nby5zdWJ0aXRsZSB9fVxuICAgICAgICAgIDwvaDI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uNy1hbmNob3Itd3JhcHBlcj5cbiAgICA8L2Rpdj5cblxuICAgIDwhLS0gTWFpbiBtZW51IC0tPlxuICAgIDxuYXYgY2xhc3M9XCJuNy1oZWFkZXJfX25hdiB7e2RhdGEubmF2LmNsYXNzZXMgfHwgJyd9fVwiICpuZ0lmPVwiZGF0YS5uYXZcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJuNy1oZWFkZXJfX25hdi1jb250ZW50XCI+XG4gICAgICAgIDx1bCBjbGFzcz1cIm43LWhlYWRlcl9fbmF2LWxpc3RcIj5cbiAgICAgICAgICA8bGlcbiAgICAgICAgICAgIGNsYXNzPVwibjctaGVhZGVyX19uYXYtaXRlbSB7e2l0ZW0uY2xhc3NlcyB8fCAnJ319XCJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRhdGEubmF2Lml0ZW1zXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bjctYW5jaG9yLXdyYXBwZXJcbiAgICAgICAgICAgICAgW2NsYXNzZXNdPVwiJ243LWhlYWRlcl9fbmF2LWxpbmsnXCJcbiAgICAgICAgICAgICAgW2RhdGFdPVwiaXRlbS5hbmNob3JcIlxuICAgICAgICAgICAgICAoY2xpY2tlZCk9XCJvbkNsaWNrKCRldmVudClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIGNsYXNzPVwibjctaGVhZGVyX19uYXYtaWNvbiB7e2l0ZW0uaWNvbn19XCJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIml0ZW0uaWNvblwiXG4gICAgICAgICAgICAgID48L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibjctaGVhZGVyX19uYXYtbGFiZWxcIiAqbmdJZj1cIml0ZW0udGV4dFwiPlxuICAgICAgICAgICAgICAgIHt7IGl0ZW0udGV4dCB9fVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L243LWFuY2hvci13cmFwcGVyPlxuICAgICAgICAgICAgPCEtLSBTdWJsZXZlbCAtLT5cbiAgICAgICAgICAgIDx1bCBjbGFzcz1cIm43LWhlYWRlcl9fc3VibmF2LWxpc3RcIiAqbmdJZj1cIml0ZW0uc3VibmF2XCI+XG4gICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgIGNsYXNzPVwibjctaGVhZGVyX19zdWJuYXYtaXRlbSB7e3N1Yml0ZW0uY2xhc3NlcyB8fCAnJ319XCJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgc3ViaXRlbSBvZiBpdGVtLnN1Ym5hdlwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bjctYW5jaG9yLXdyYXBwZXJcbiAgICAgICAgICAgICAgICAgIFtjbGFzc2VzXT1cIiduNy1oZWFkZXJfX3N1Ym5hdi1saW5rJ1wiXG4gICAgICAgICAgICAgICAgICBbZGF0YV09XCJzdWJpdGVtLmFuY2hvclwiXG4gICAgICAgICAgICAgICAgICAoY2xpY2tlZCk9XCJvbkNsaWNrKCRldmVudClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibjctaGVhZGVyX19zdWJuYXYtaWNvbiB7e3N1Yml0ZW0uaWNvbn19XCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJzdWJpdGVtLmljb25cIlxuICAgICAgICAgICAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibjctaGVhZGVyX19zdWJuYXYtbGFiZWxcIiAqbmdJZj1cInN1Yml0ZW0udGV4dFwiPlxuICAgICAgICAgICAgICAgICAgICB7eyBzdWJpdGVtLnRleHQgfX1cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L243LWFuY2hvci13cmFwcGVyPlxuICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICA8L2xpPlxuICAgICAgICA8L3VsPlxuICAgICAgPC9kaXY+XG4gICAgPC9uYXY+XG5cbiAgICA8IS0tIE1vYmlsZSBtZW51IHRvZ2dsZSAtLT5cbiAgICA8ZGl2IGNsYXNzPVwibjctaGVhZGVyX19tb2JpbGUtbWVudS10b2dnbGVcIj5cbiAgICAgIDxzcGFuXG4gICAgICAgIGNsYXNzPVwibjctaGVhZGVyX19tb2JpbGUtbWVudS1pY29uIG43LWljb24tbWVudVwiXG4gICAgICAgIChjbGljayk9XCJvbkNsaWNrKGRhdGEubWVudVRvZ2dsZS5vcGVuLnBheWxvYWQpXCJcbiAgICAgID48L3NwYW4+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIE1vYmlsZSBtZW51IGNsb3NlIC0tPlxuICAgIDxzcGFuXG4gICAgICBjbGFzcz1cIm43LWhlYWRlcl9fbW9iaWxlLW1lbnUtY2xvc2UgbjctaWNvbi1jbG9zZVwiXG4gICAgICAoY2xpY2spPVwib25DbGljayhkYXRhLm1lbnVUb2dnbGUuY2xvc2UucGF5bG9hZClcIlxuICAgID48L3NwYW4+XG5cbiAgICA8IS0tIFRvb2xzOiBzZWFyY2gsIG5vdGlmaWNhdGlvbnMsIHVzZSBwcm9maWxlIG9yIGxvZ2luL3NpZ251cCAtLT5cbiAgICA8ZGl2IGNsYXNzPVwibjctaGVhZGVyX190b29sc1wiPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cIm43LWhlYWRlcl9fc2VhcmNoIHt7ZGF0YS5zZWFyY2guY2xhc3NlcyB8fCAnJ319XCJcbiAgICAgICAgKm5nSWY9XCJkYXRhLnNlYXJjaFwiXG4gICAgICA+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIGNsYXNzPVwibjctaGVhZGVyX19zZWFyY2gtaW5wdXRcIlxuICAgICAgICAgIHR5cGU9XCJzZWFyY2hcIlxuICAgICAgICAgIG5hbWU9XCJzZWFyY2hcIlxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgZGF0YS5zZWFyY2guaGludCB8fCAnJ319XCJcbiAgICAgICAgICAoa2V5dXApPVwib25LZXlVcChkYXRhLnNlYXJjaC5wYXlsb2FkLCAkZXZlbnQua2V5Q29kZSwgJGV2ZW50LnRhcmdldC52YWx1ZSlcIlxuICAgICAgICAvPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgY2xhc3M9XCJuNy1oZWFkZXJfX3NlYXJjaC1idG5cIlxuICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgIChjbGljayk9XCJvbkNsaWNrKGRhdGEuc2VhcmNoLnBheWxvYWQpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibjctaGVhZGVyX19zZWFyY2gtYnRuLWxhYmVsXCI+IFNlYXJjaCA8L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJuNy1oZWFkZXJfX2FjdGlvbnNcIiAqbmdJZj1cImRhdGEuYWN0aW9uc1wiPlxuICAgICAgICA8bjctYW5jaG9yLXdyYXBwZXJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIGRhdGEuYWN0aW9uc1wiXG4gICAgICAgICAgW2NsYXNzZXNdPVwiJ243LWhlYWRlcl9fYWN0aW9uJyArIChhY3Rpb24uY2xhc3NlcyB8fCAnJylcIlxuICAgICAgICAgIFtkYXRhXT1cImFjdGlvbi5hbmNob3JcIlxuICAgICAgICAgIChjbGlja2VkKT1cIm9uQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIm43LWhlYWRlcl9fYWN0aW9uLWljb24ge3sgYWN0aW9uLmljb24gfX1cIj48L3NwYW4+XG4gICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICpuZ0lmPVwiYWN0aW9uLmJhZGdlXCJcbiAgICAgICAgICAgIGNsYXNzPVwibjctaGVhZGVyX19hY3Rpb24tYmFkZ2Uge3sgYWN0aW9uLmJhZGdlLnRleHQgPyAnaGFzLXRleHQnIDogJycgfX1cIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IGFjdGlvbi5iYWRnZS50ZXh0IH19XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L243LWFuY2hvci13cmFwcGVyPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJuNy1oZWFkZXJfX2J1dHRvbnNcIiAqbmdJZj1cImRhdGEuYnV0dG9uc1wiPlxuICAgICAgICA8bjctYW5jaG9yLXdyYXBwZXJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgYnV0dG9uIG9mIGRhdGEuYnV0dG9uc1wiXG4gICAgICAgICAgW2NsYXNzZXNdPVwiYnV0dG9uLmNsYXNzZXNcIlxuICAgICAgICAgIFtkYXRhXT1cImJ1dHRvbi5hbmNob3JcIlxuICAgICAgICAgIChjbGlja2VkKT1cIm9uQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIlwiICpuZ0lmPVwiYnV0dG9uLnRleHRcIj4ge3sgYnV0dG9uLnRleHQgfX0gPC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwie3tidXR0b24uaWNvbn19XCIgKm5nSWY9XCJidXR0b24uaWNvblwiPjwvc3Bhbj5cbiAgICAgICAgPC9uNy1hbmNob3Itd3JhcHBlcj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwibjctaGVhZGVyX19zZWxlY3RzXCIgKm5nSWY9XCJkYXRhLnNlbGVjdHNcIj5cbiAgICAgICAgPG43LWlucHV0LXNlbGVjdFxuICAgICAgICAgICpuZ0Zvcj1cImxldCBzZWxlY3REYXRhIG9mIGRhdGEuc2VsZWN0c1wiXG4gICAgICAgICAgW2RhdGFdPVwic2VsZWN0RGF0YVwiXG4gICAgICAgICAgW2VtaXRdPVwidGhpcy5lbWl0XCJcbiAgICAgICAgPlxuICAgICAgICA8L243LWlucHV0LXNlbGVjdD5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwibjctaGVhZGVyX191c2VyIHt7ZGF0YS51c2VyLmNsYXNzZXMgfHwgJyd9fVwiXG4gICAgICAgICpuZ0lmPVwiZGF0YS51c2VyXCJcbiAgICAgID5cbiAgICAgICAgPG43LWFuY2hvci13cmFwcGVyXG4gICAgICAgICAgW2NsYXNzZXNdPVwiJ243LWhlYWRlcl9fdXNlci1jb250ZW50J1wiXG4gICAgICAgICAgW2RhdGFdPVwiZGF0YS51c2VyLmFuY2hvclwiXG4gICAgICAgICAgKGNsaWNrZWQpPVwib25DbGljaygkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICA8bjctYXZhdGFyIFtkYXRhXT1cImRhdGEudXNlclwiIFtlbWl0XT1cInRoaXMuZW1pdFwiPjwvbjctYXZhdGFyPlxuICAgICAgICA8cCBjbGFzcz1cIm43LWhlYWRlcl9fdXNlci1uYW1lXCIgKm5nSWY9XCJkYXRhLnVzZXIubmFtZVwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJuNy1oZWFkZXJfX3VzZXItbmFtZS1sYWJlbFwiPlxuICAgICAgICAgICAgICAgIHt7IGRhdGEudXNlci5uYW1lIH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvcD5cbiAgICAgICAgPC9uNy1hbmNob3Itd3JhcHBlcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvaGVhZGVyPlxuIl19
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHYtY29tcG9uZW50cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2hlYWRlci9oZWFkZXIudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdi1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvaGVhZGVyL2hlYWRlci5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFtUWpEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBS0gsTUFBTSxPQUFPLGVBQWU7SUFrQjFCLE9BQU8sQ0FBQyxPQUFZO1FBQ2xCLDhCQUE4QjtRQUM5QixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxPQUFPLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLO1FBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU87UUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDbEQsQ0FBQzs7NEdBM0JVLGVBQWU7Z0dBQWYsZUFBZSx5RkM5UjVCLDZwTEFxS0E7MkZEeUhhLGVBQWU7a0JBSjNCLFNBQVM7K0JBQ0UsV0FBVzs4QkFpQlosSUFBSTtzQkFBWixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElucHV0U2VsZWN0RGF0YSB9IGZyb20gJy4uL2lucHV0LXNlbGVjdC9pbnB1dC1zZWxlY3QnO1xuaW1wb3J0IHsgQW5jaG9yIH0gZnJvbSAnLi4vLi4vc2hhcmVkLWludGVyZmFjZXMnO1xuaW1wb3J0IHsgQXZhdGFyRGF0YSB9IGZyb20gJy4uL2F2YXRhci9hdmF0YXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJEYXRhIGV4dGVuZHMgQXZhdGFyRGF0YSB7XG4gIC8qKlxuICAgKiB1c2VyJ3MgcHJvZmlsZSBuYW1lXG4gICAqL1xuICBuYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogZXh0ZXJuYWwgdXJsXG4gICAqL1xuICBhbmNob3I/OiBBbmNob3I7XG4gIC8qKlxuICAgKiBhZGRpdGlvbmFsIGluZm9cbiAgICovXG4gIF9tZXRhPzogYW55O1xufVxuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgYSBzaW5nbGUgYnV0dG9uXG4gKlxuICogQHByb3BlcnR5IHRleHQgKHJlcXVpcmVkKVxuICogQHByb3BlcnR5IGFuY2hvciAocmVxdWlyZWQpXG4gKiBAcHJvcGVydHkgaWNvbiAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgY2xhc3NlcyAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgX21ldGEgKG9wdGlvbmFsKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJ1dHRvbkl0ZW0ge1xuICAvKipcbiAgICogdGV4dFxuICAgKi9cbiAgdGV4dDogc3RyaW5nO1xuICAvKipcbiAgICogYW5jaG9yXG4gICAqL1xuICBhbmNob3I6IEFuY2hvcjtcbiAgLyoqXG4gICAqIGljb24gY2xhc3NcbiAgICovXG4gIGljb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBhZGRpdGlvbmFsIGh0bWwgY2xhc3Nlc1xuICAgKi9cbiAgY2xhc3Nlcz86IHN0cmluZztcbiAgLyoqXG4gICAqIGFkZGl0aW9uYWwgaW5mb1xuICAgKi9cbiAgX21ldGE/OiBhbnk7XG59XG5cbi8qKlxuICogSW50ZXJmYWNlIGZvciBhIHNpbmdsZSBhY3Rpb24gaXRlbVxuICpcbiAqIEBwcm9wZXJ0eSBpY29uIChyZXF1aXJlZClcbiAqIEBwcm9wZXJ0eSBiYWRnZSAob3B0aW9uYWwpXG4gKiAtIHRleHQgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IGNsYXNzZXMgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IGFuY2hvciAocmVxdWlyZWQpXG4gKiBAcHJvcGVydHkgX21ldGEgKG9wdGlvbmFsKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFjdGlvbkl0ZW0ge1xuICAvKipcbiAgICogb3B0aW9uYWwgYmFkZ2Ugd2l0aCwgb3B0aW9uYWxseSwgaXRzIHRleHRcbiAgICovXG4gIGJhZGdlPzoge1xuICAgIHRleHQ/OiBzdHJpbmc7XG4gIH07XG4gIC8qKlxuICAgKiBpY29uIGNsYXNzXG4gICAqL1xuICBpY29uOiBzdHJpbmc7XG4gIGFuY2hvcjogQW5jaG9yO1xuICAvKipcbiAgICogYWRkaXRpb25hbCBodG1sIGNsYXNzZXNcbiAgICovXG4gIGNsYXNzZXM/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBhZGRpdGlvbmFsIGluZm9cbiAgICovXG4gIF9tZXRhPzogYW55O1xufVxuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgYSBzaW5nbGUgbmF2YmFyIGl0ZW1cbiAqXG4gKiBub3RlOiBhIHNpbmdsZSBuYXYncyBpdGVtIGNhbiBiZSBhIHRleHQgKHcvIGFuY2hvcikgT1IgYSBkcm9wZG93blxuICpcbiAqIEBwcm9wZXJ0eSBpY29uIChvcHRpb25hbClcbiAqIEBwcm9wZXJ0eSBzdWJuYXYgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IHRleHQgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IGNsYXNzZXMgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IGFuY2hvciAocmVxdWlyZWQpXG4gKiBAcHJvcGVydHkgX21ldGEgKG9wdGlvbmFsKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5hdmJhckl0ZW0ge1xuICAvKipcbiAgICogdGV4dCBvZiBhIHNpbmdsZSBpdGVtIG9mIHRoZSBuYXZiYXIgKHRleHQgYW5kIHBheWxvYWQgYXJlIGNvbm5lY3RlZClcbiAgICovXG4gIHRleHQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBpY29uIGZvciBhIHNpbmdsZSBpdGVtIG9mIHRoZSBuYXZiYXIgKGFzc29jaWF0ZWQgdG8gXCJ0ZXh0XCIpXG4gICAqL1xuICBpY29uPzogc3RyaW5nO1xuICAvKipcbiAgICogc2Vjb25kIGxldmVsIG5hdmlnYXRpb25cbiAgICovXG4gIHN1Ym5hdj86IE5hdmJhckl0ZW1bXTtcbiAgYW5jaG9yOiBBbmNob3I7XG4gIC8qKlxuICAgKiBhZGRpdGlvbmFsIGh0bWwgY2xhc3Nlc1xuICAgKi9cbiAgY2xhc3Nlcz86IHN0cmluZztcbiAgLyoqXG4gICAqIGFkZGl0aW9uYWwgaW5mb1xuICAgKi9cbiAgX21ldGE/OiBhbnk7XG59XG5cbi8qKlxuICogSW50ZXJmYWNlIGZvciBIZWFkZXJDb21wb25lbnQncyBcImRhdGFcIlxuICpcbiAqIEBwcm9wZXJ0eSBsb2dvIChyZXF1aXJlZClcbiAqIC0gdGl0bGUgKHJlcXVpcmVkKVxuICogLSBpbWFnZSAob3B0aW9uYWwpXG4gKiAtIHN1YnRpdGxlIChvcHRpb25hbClcbiAqIC0gY2xhc3NlcyAob3B0aW9uYWwpXG4gKiAtIHBheWxvYWQgKG9wdGlvbmFsKVxuICogLSBhbmNob3IgKG9wdGlvbmFsKVxuICogQHByb3BydHkgbWVudVRvZ2dsZSAocmVxdWlyZWQpXG4gKiAtIG9wZW4gKHJlcXVpcmVkKVxuICogLSAtIHBheWxvYWQgKHJlcXVpcmVkKVxuICogLSBjbG9zZW4gKHJlcXVpcmVkKVxuICogLSAtIHBheWxvYWQgKHJlcXVpcmVkKVxuICogQHByb3BlcnR5IGFjdGlvbnMgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IG5hdiAob3B0aW9uYWwpXG4gKiAtIGl0ZW1zIChyZXF1aXJlZClcbiAqIC0gaXNCZWxvdyAob3B0aW9uYWwpXG4gKiAtIGNsYXNzZXMgKG9wdGlvbmFsKVxuICogLSBwYXlsb2FkIChvcHRpb25hbClcbiAqIC0gYW5jaG9yIChvcHRpb25hbClcbiAqIC0gX21ldGEgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IHNlYXJjaCAob3B0aW9uYWwpXG4gKiAtIGhpbnQgKG9wdGlvbmFsKVxuICogLSBjbGFzc2VzIChvcHRpb25hbClcbiAqIC0gcGF5bG9hZCAob3B0aW9uYWwpXG4gKiAtIF9tZXRhIChvcHRpb25hbClcbiAqIEBwcm9wZXJ0eSB1c2VyIChvcHRpb25hbClcbiAqIC0gaW1hZ2UgKG9wdGlvbmFsKVxuICogLSBuYW1lIChvcHRpb25hbClcbiAqIC0gY2xhc3NlcyAob3B0aW9uYWwpXG4gKiAtIHBheWxvYWQgKG9wdGlvbmFsKVxuICogLSBhbmNob3IgKG9wdGlvbmFsKVxuICogLSBfbWV0YSAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgY2xhc3NlcyAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgcGF5bG9hZCAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgX21ldGEgKG9wdGlvbmFsKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEhlYWRlckRhdGEge1xuICAvKipcbiAgICogbG9nbyBhbmQgdGl0bGUgYXJlYSBwYXJhbWV0ZXJzXG4gICAqL1xuICBsb2dvOiB7XG4gICAgaW1hZ2U/OiBzdHJpbmc7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBzdWJ0aXRsZT86IHN0cmluZztcbiAgICBjbGFzc2VzPzogc3RyaW5nO1xuICAgIHBheWxvYWQ/OiBhbnk7XG4gICAgYW5jaG9yOiBBbmNob3I7XG4gIH07XG4gIC8qKlxuICAgKiBuYXYncyBwYXJhbWV0ZXJzXG4gICAqL1xuICBuYXY/OiB7XG4gICAgLyoqXG4gICAgICogbGlzdCBvZiB0aGUgaXRlbXMgaW4gdGhlIG5hdmJhclxuICAgICAqL1xuICAgIGl0ZW1zOiBOYXZiYXJJdGVtW107XG4gICAgLyoqXG4gICAgICogZmxhZyBmb3IgZGlzcGxheSB0aGUgbmF2YmFyIHVuZGVyIHRoZSBoZWFkZXIgKGluc3RlYWQgb2YgSU4gdGhlIGhlYWRlcilcbiAgICAgKi9cbiAgICBpc0JlbG93PzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBhZGRpdGlvbmFsIGh0bWwgY2xhc3Nlc1xuICAgICAqL1xuICAgIGNsYXNzZXM/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogYWN0aW9uIGNsaWNrJ3MgcGF5bG9hZFxuICAgICAqL1xuICAgIHBheWxvYWQ/OiBhbnk7XG4gICAgLyoqXG4gICAgICogYWRkaXRpb25hbCBpbmZvXG4gICAgICovXG4gICAgX21ldGE/OiBhbnk7XG4gIH07XG4gIC8qKlxuICAgKiBzZWFyY2ggcGFyYW1ldGVyc1xuICAgKi9cbiAgc2VhcmNoPzoge1xuICAgIC8qKlxuICAgICAqIGhpbnQgKHRleHQgc2hvd2VkIGluIHRoZSBpbnB1dCBib3ggdW50aWwgc29tZXRoaW5nIGlzIHdyaXRlZCBpbiB0aGVyZSlcbiAgICAgKi9cbiAgICBoaW50Pzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIGFkZGl0aW9uYWwgaHRtbCBjbGFzc2VzXG4gICAgICovXG4gICAgY2xhc3Nlcz86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBhY3Rpb24gY2xpY2sncyBwYXlsb2FkXG4gICAgICovXG4gICAgcGF5bG9hZD86IGFueTtcbiAgICAvKipcbiAgICAgKiBhZGRpdGlvbmFsIGluZm9cbiAgICAgKi9cbiAgICBfbWV0YT86IGFueTtcbiAgfTtcbiAgLyoqXG4gICAqIGFjdGlvbiBpdGVtc1xuICAgKi9cbiAgYWN0aW9ucz86IEFjdGlvbkl0ZW1bXTtcbiAgLyoqXG4gICAqIGJ1dHRvbnMgaXRlbXNcbiAgICovXG4gIGJ1dHRvbnM/OiBCdXR0b25JdGVtW107XG4gIC8qKlxuICAgKiBTZWxlY3QgZWxlbWVudHMgd2l0aCBzb21lIG9wdGlvbnNcbiAgICogdXNlZnVsIGZvciB0aGUgaGVhZGVyJ3MgbGFuZ3VhZ2Ugc2VsZWN0b3JcbiAgICovXG4gIHNlbGVjdHM/OiBJbnB1dFNlbGVjdERhdGFbXTtcbiAgLyoqXG4gICAqIHVzZXIgcGFyYW1ldGVyc1xuICAgKi9cbiAgdXNlcj86IFVzZXJEYXRhO1xuICAvKipcbiAgICogbWVudSB0b2dnbGUgZm9yIG1vYmlsZVxuICAgKi9cbiAgbWVudVRvZ2dsZToge1xuICAgIG9wZW46IHtcbiAgICAgIHBheWxvYWQ6IGFueTtcbiAgICB9O1xuICAgIGNsb3NlOiB7XG4gICAgICBwYXlsb2FkOiBhbnk7XG4gICAgfTtcbiAgfTtcbiAgLyoqXG4gICAqIGFkZGl0aW9uYWwgaHRtbCBjbGFzc2VzXG4gICAqL1xuICBjbGFzc2VzPzogc3RyaW5nO1xuICAvKipcbiAgICogYWN0aW9uIGNsaWNrJ3MgcGF5bG9hZFxuICAgKi9cbiAgcGF5bG9hZD86IGFueTtcbiAgLyoqXG4gICAqIGFkZGl0aW9uYWwgaW5mb1xuICAgKi9cbiAgX21ldGE/OiBhbnk7XG59XG5cbi8qKlxuICogSGVhZGVyQ29tcG9uZW50IDxuNy1oZWFkZXI+XG4gKlxuICogQHN0cnVjdHVyZVxuICogID4+ICBjcG0gPSBpdCBoYXMgQ2xhc3NlcywgUGF5bG9hZCwgTWV0YWRhdGEgIDw8XG4gKiAgPj4gIC1wLSA9IGl0IGhhcyBvbmx5IFBheWxvYWQgICAgICAgICAgICAgICAgPDxcbiAqICA+PiAgKy0tID0gc3ViLW1lbWJlciAgICAgICAgICAgICAgICAgICAgICAgICA8PFxuICogID4+ICArLS0tPiA9IGFycmF5ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw8XG4gKlxuICogIGRhdGEgKGNwbSlcbiAqICAgICstLSBhY3Rpb25zXG4gKiAgICAgICAgICArLS0tPiBhY3Rpb24gKGNwbSlcbiAqICAgICAgICAgICAgICAgICAgKy0tIGJhZGdlXG4gKiAgICArLS0gbG9nbyAoY3AtKVxuICogICAgKy0tIG1lbnVUb2dnbGVcbiAqICAgICAgICAgICstLSBvcGVuICgtcC0pXG4gKiAgICAgICAgICArLS0gY2xvc2UgKC1wLSlcbiAqICAgICstLSBuYXYgKGNwbSlcbiAqICAgICAgICAgICstLS0+IGl0ZW1zXG4gKiAgICArLS0gc2VhcmNoIChjcG0pXG4gKiAgICArLS0gdXNlciAoY3BtKVxuICpcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbjctaGVhZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2hlYWRlci5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBIZWFkZXJDb21wb25lbnQge1xuICAvKlxuICAgID4+ICAgIGNwbSA9IGl0IGhhcyBDbGFzc2VzLCBQYXlsb2FkLCBNZXRhZGF0YSAgIDw8XG4gICAgPj4gICAgLXAtID0gaXQgaGFzIG9ubHkgUGF5bG9hZCAgICAgICAgICAgICAgICAgPDxcblxuICAgIGRhdGEgKGNwbSlcbiAgICAgICstLS0tIHBhcmFtcyAoY3BtKVxuICAgICAgKy0tLS0gbmF2IChjcG0pXG4gICAgICAgICAgICAgICAgKy0tLS0gaXRlbXMgKGNwbSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKy0tLS0gZHJvcGRvd25EYXRhIChjcG0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICstLS0tIGxpc3QgKC1wLSlcbiAgICAgICstLS0tIHNlYXJjaCAoY3BtKVxuICAgICAgKy0tLS0gdXNlciAoY3BtKVxuICAqL1xuICBASW5wdXQoKSBkYXRhOiBhbnk7XG5cbiAgQElucHV0KCkgZW1pdDogYW55O1xuXG4gIG9uQ2xpY2socGF5bG9hZDogYW55KSB7XG4gICAgLy8gY29uc29sZS5sb2codHlwZSwgcGF5bG9hZCk7XG4gICAgaWYgKCF0aGlzLmVtaXQpIHJldHVybjtcbiAgICB0aGlzLmVtaXQoJ2NsaWNrJywgcGF5bG9hZCk7XG4gIH1cblxuICBvbktleVVwKHBheWxvYWQsIGtleUNvZGUsIHZhbHVlKSB7XG4gICAgaWYgKCF0aGlzLmVtaXQpIHJldHVybjtcbiAgICB0aGlzLmVtaXQoJ2tleXVwJywgeyBwYXlsb2FkLCBrZXlDb2RlLCB2YWx1ZSB9KTtcbiAgfVxufVxuIiwiPGhlYWRlciAqbmdJZj1cImRhdGFcIiBjbGFzcz1cIm43LWhlYWRlciB7e2RhdGEuY2xhc3NlcyB8fCAnJ319XCI+XG4gIDxkaXYgY2xhc3M9XCJuNy1oZWFkZXJfX2NvbnRlbnRcIj5cbiAgICA8IS0tIExvZ28gYW5kIHRpdGxlIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJuNy1oZWFkZXJfX2xvZ28tdGl0bGUge3tkYXRhLmxvZ28uY2xhc3NlcyB8fCAnJ319XCI+XG4gICAgICA8bjctYW5jaG9yLXdyYXBwZXJcbiAgICAgICAgW2NsYXNzZXNdPVwiJ243LWhlYWRlcl9fbG9nby1saW5rJ1wiXG4gICAgICAgIFtkYXRhXT1cImRhdGEubG9nby5hbmNob3JcIlxuICAgICAgICAoY2xpY2tlZCk9XCJvbkNsaWNrKCRldmVudClcIlxuICAgICAgPlxuICAgICAgICA8aW1nXG4gICAgICAgICAgY2xhc3M9XCJuNy1oZWFkZXJfX2xvZ29cIlxuICAgICAgICAgICpuZ0lmPVwiZGF0YS5sb2dvLmltYWdlXCJcbiAgICAgICAgICBbc3JjXT1cImRhdGEubG9nby5pbWFnZVwiXG4gICAgICAgICAgYWx0PVwie3sgZGF0YS5sb2dvLnRpdGxlIH19XCJcbiAgICAgICAgLz5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm43LWhlYWRlcl9fdGl0bGUtc3VidGl0bGVcIj5cbiAgICAgICAgICA8aDEgY2xhc3M9XCJuNy1oZWFkZXJfX3RpdGxlXCI+e3sgZGF0YS5sb2dvLnRpdGxlIH19PC9oMT5cbiAgICAgICAgICA8aDIgY2xhc3M9XCJuNy1oZWFkZXJfX3N1YnRpdGxlXCIgKm5nSWY9XCJkYXRhLmxvZ28uc3VidGl0bGVcIj5cbiAgICAgICAgICAgIHt7IGRhdGEubG9nby5zdWJ0aXRsZSB9fVxuICAgICAgICAgIDwvaDI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uNy1hbmNob3Itd3JhcHBlcj5cbiAgICA8L2Rpdj5cblxuICAgIDwhLS0gTWFpbiBtZW51IC0tPlxuICAgIDxuYXYgY2xhc3M9XCJuNy1oZWFkZXJfX25hdiB7e2RhdGEubmF2LmNsYXNzZXMgfHwgJyd9fVwiICpuZ0lmPVwiZGF0YS5uYXZcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJuNy1oZWFkZXJfX25hdi1jb250ZW50XCI+XG4gICAgICAgIDx1bCBjbGFzcz1cIm43LWhlYWRlcl9fbmF2LWxpc3RcIj5cbiAgICAgICAgICA8bGlcbiAgICAgICAgICAgIGNsYXNzPVwibjctaGVhZGVyX19uYXYtaXRlbSB7e2l0ZW0uY2xhc3NlcyB8fCAnJ319XCJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRhdGEubmF2Lml0ZW1zXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bjctYW5jaG9yLXdyYXBwZXJcbiAgICAgICAgICAgICAgW2NsYXNzZXNdPVwiJ243LWhlYWRlcl9fbmF2LWxpbmsnXCJcbiAgICAgICAgICAgICAgW2RhdGFdPVwiaXRlbS5hbmNob3JcIlxuICAgICAgICAgICAgICAoY2xpY2tlZCk9XCJvbkNsaWNrKCRldmVudClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIGNsYXNzPVwibjctaGVhZGVyX19uYXYtaWNvbiB7e2l0ZW0uaWNvbn19XCJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIml0ZW0uaWNvblwiXG4gICAgICAgICAgICAgID48L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibjctaGVhZGVyX19uYXYtbGFiZWxcIiAqbmdJZj1cIml0ZW0udGV4dFwiPlxuICAgICAgICAgICAgICAgIHt7IGl0ZW0udGV4dCB9fVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L243LWFuY2hvci13cmFwcGVyPlxuICAgICAgICAgICAgPCEtLSBTdWJsZXZlbCAtLT5cbiAgICAgICAgICAgIDx1bCBjbGFzcz1cIm43LWhlYWRlcl9fc3VibmF2LWxpc3RcIiAqbmdJZj1cIml0ZW0uc3VibmF2XCI+XG4gICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgIGNsYXNzPVwibjctaGVhZGVyX19zdWJuYXYtaXRlbSB7e3N1Yml0ZW0uY2xhc3NlcyB8fCAnJ319XCJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgc3ViaXRlbSBvZiBpdGVtLnN1Ym5hdlwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bjctYW5jaG9yLXdyYXBwZXJcbiAgICAgICAgICAgICAgICAgIFtjbGFzc2VzXT1cIiduNy1oZWFkZXJfX3N1Ym5hdi1saW5rJ1wiXG4gICAgICAgICAgICAgICAgICBbZGF0YV09XCJzdWJpdGVtLmFuY2hvclwiXG4gICAgICAgICAgICAgICAgICAoY2xpY2tlZCk9XCJvbkNsaWNrKCRldmVudClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibjctaGVhZGVyX19zdWJuYXYtaWNvbiB7e3N1Yml0ZW0uaWNvbn19XCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJzdWJpdGVtLmljb25cIlxuICAgICAgICAgICAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibjctaGVhZGVyX19zdWJuYXYtbGFiZWxcIiAqbmdJZj1cInN1Yml0ZW0udGV4dFwiPlxuICAgICAgICAgICAgICAgICAgICB7eyBzdWJpdGVtLnRleHQgfX1cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L243LWFuY2hvci13cmFwcGVyPlxuICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICA8L2xpPlxuICAgICAgICA8L3VsPlxuICAgICAgPC9kaXY+XG4gICAgPC9uYXY+XG5cbiAgICA8IS0tIE1vYmlsZSBtZW51IHRvZ2dsZSAtLT5cbiAgICA8ZGl2IGNsYXNzPVwibjctaGVhZGVyX19tb2JpbGUtbWVudS10b2dnbGVcIj5cbiAgICAgIDxzcGFuXG4gICAgICAgIGNsYXNzPVwibjctaGVhZGVyX19tb2JpbGUtbWVudS1pY29uIG43LWljb24tbWVudVwiXG4gICAgICAgIChjbGljayk9XCJvbkNsaWNrKGRhdGEubWVudVRvZ2dsZS5vcGVuLnBheWxvYWQpXCJcbiAgICAgID48L3NwYW4+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIE1vYmlsZSBtZW51IGNsb3NlIC0tPlxuICAgIDxzcGFuXG4gICAgICBjbGFzcz1cIm43LWhlYWRlcl9fbW9iaWxlLW1lbnUtY2xvc2UgbjctaWNvbi1jbG9zZVwiXG4gICAgICAoY2xpY2spPVwib25DbGljayhkYXRhLm1lbnVUb2dnbGUuY2xvc2UucGF5bG9hZClcIlxuICAgID48L3NwYW4+XG5cbiAgICA8IS0tIFRvb2xzOiBzZWFyY2gsIG5vdGlmaWNhdGlvbnMsIHVzZSBwcm9maWxlIG9yIGxvZ2luL3NpZ251cCAtLT5cbiAgICA8ZGl2IGNsYXNzPVwibjctaGVhZGVyX190b29sc1wiPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cIm43LWhlYWRlcl9fc2VhcmNoIHt7ZGF0YS5zZWFyY2guY2xhc3NlcyB8fCAnJ319XCJcbiAgICAgICAgKm5nSWY9XCJkYXRhLnNlYXJjaFwiXG4gICAgICA+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIGNsYXNzPVwibjctaGVhZGVyX19zZWFyY2gtaW5wdXRcIlxuICAgICAgICAgIHR5cGU9XCJzZWFyY2hcIlxuICAgICAgICAgIG5hbWU9XCJzZWFyY2hcIlxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgZGF0YS5zZWFyY2guaGludCB8fCAnJ319XCJcbiAgICAgICAgICAoa2V5dXApPVwib25LZXlVcChkYXRhLnNlYXJjaC5wYXlsb2FkLCAkZXZlbnQua2V5Q29kZSwgJGV2ZW50LnRhcmdldC52YWx1ZSlcIlxuICAgICAgICAvPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgY2xhc3M9XCJuNy1oZWFkZXJfX3NlYXJjaC1idG5cIlxuICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgIChjbGljayk9XCJvbkNsaWNrKGRhdGEuc2VhcmNoLnBheWxvYWQpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibjctaGVhZGVyX19zZWFyY2gtYnRuLWxhYmVsXCI+IFNlYXJjaCA8L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJuNy1oZWFkZXJfX2FjdGlvbnNcIiAqbmdJZj1cImRhdGEuYWN0aW9uc1wiPlxuICAgICAgICA8bjctYW5jaG9yLXdyYXBwZXJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIGRhdGEuYWN0aW9uc1wiXG4gICAgICAgICAgW2NsYXNzZXNdPVwiJ243LWhlYWRlcl9fYWN0aW9uJyArIChhY3Rpb24uY2xhc3NlcyB8fCAnJylcIlxuICAgICAgICAgIFtkYXRhXT1cImFjdGlvbi5hbmNob3JcIlxuICAgICAgICAgIChjbGlja2VkKT1cIm9uQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIm43LWhlYWRlcl9fYWN0aW9uLWljb24ge3sgYWN0aW9uLmljb24gfX1cIj48L3NwYW4+XG4gICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICpuZ0lmPVwiYWN0aW9uLmJhZGdlXCJcbiAgICAgICAgICAgIGNsYXNzPVwibjctaGVhZGVyX19hY3Rpb24tYmFkZ2Uge3sgYWN0aW9uLmJhZGdlLnRleHQgPyAnaGFzLXRleHQnIDogJycgfX1cIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IGFjdGlvbi5iYWRnZS50ZXh0IH19XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L243LWFuY2hvci13cmFwcGVyPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJuNy1oZWFkZXJfX2J1dHRvbnNcIiAqbmdJZj1cImRhdGEuYnV0dG9uc1wiPlxuICAgICAgICA8bjctYW5jaG9yLXdyYXBwZXJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgYnV0dG9uIG9mIGRhdGEuYnV0dG9uc1wiXG4gICAgICAgICAgW2NsYXNzZXNdPVwiYnV0dG9uLmNsYXNzZXNcIlxuICAgICAgICAgIFtkYXRhXT1cImJ1dHRvbi5hbmNob3JcIlxuICAgICAgICAgIChjbGlja2VkKT1cIm9uQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIlwiICpuZ0lmPVwiYnV0dG9uLnRleHRcIj4ge3sgYnV0dG9uLnRleHQgfX0gPC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwie3tidXR0b24uaWNvbn19XCIgKm5nSWY9XCJidXR0b24uaWNvblwiPjwvc3Bhbj5cbiAgICAgICAgPC9uNy1hbmNob3Itd3JhcHBlcj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwibjctaGVhZGVyX19zZWxlY3RzXCIgKm5nSWY9XCJkYXRhLnNlbGVjdHNcIj5cbiAgICAgICAgPG43LWlucHV0LXNlbGVjdFxuICAgICAgICAgICpuZ0Zvcj1cImxldCBzZWxlY3REYXRhIG9mIGRhdGEuc2VsZWN0c1wiXG4gICAgICAgICAgW2RhdGFdPVwic2VsZWN0RGF0YVwiXG4gICAgICAgICAgW2VtaXRdPVwidGhpcy5lbWl0XCJcbiAgICAgICAgPlxuICAgICAgICA8L243LWlucHV0LXNlbGVjdD5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwibjctaGVhZGVyX191c2VyIHt7ZGF0YS51c2VyLmNsYXNzZXMgfHwgJyd9fVwiXG4gICAgICAgICpuZ0lmPVwiZGF0YS51c2VyXCJcbiAgICAgID5cbiAgICAgICAgPG43LWFuY2hvci13cmFwcGVyXG4gICAgICAgICAgW2NsYXNzZXNdPVwiJ243LWhlYWRlcl9fdXNlci1jb250ZW50J1wiXG4gICAgICAgICAgW2RhdGFdPVwiZGF0YS51c2VyLmFuY2hvclwiXG4gICAgICAgICAgKGNsaWNrZWQpPVwib25DbGljaygkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICA8bjctYXZhdGFyIFtkYXRhXT1cImRhdGEudXNlclwiIFtlbWl0XT1cInRoaXMuZW1pdFwiPjwvbjctYXZhdGFyPlxuICAgICAgICA8cCBjbGFzcz1cIm43LWhlYWRlcl9fdXNlci1uYW1lXCIgKm5nSWY9XCJkYXRhLnVzZXIubmFtZVwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJuNy1oZWFkZXJfX3VzZXItbmFtZS1sYWJlbFwiPlxuICAgICAgICAgICAgICAgIHt7IGRhdGEudXNlci5uYW1lIH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvcD5cbiAgICAgICAgPC9uNy1hbmNob3Itd3JhcHBlcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvaGVhZGVyPlxuIl19
@@ -28,9 +28,9 @@ export class HeroComponent {
28
28
  this.emit('enter', { inputPayload: payload, value });
29
29
  }
30
30
  }
31
- HeroComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: HeroComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
32
- HeroComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: HeroComponent, selector: "n7-hero", inputs: { data: "data", emit: "emit" }, ngImport: i0, template: "<section *ngIf=\"data\" class=\"n7-hero {{data.classes || ''}}\" \n [ngClass]=\"{ \n 'has-image' : !!data.image, \n 'has-background-image': !!data.backgroundImage \n }\"\n [ngStyle]=\"{ \n 'background-image': getBackgroundImageCssValue(data.backgroundImage)\n }\">\n <div class=\"n7-hero__content\">\n \n <div class=\"n7-hero__text-wrapper\">\n <p class=\"n7-hero__pre-title\" *ngIf=\"data.preTitle\" [innerHTML]=\"data.preTitle\"></p>\n <h2 class=\"n7-hero__title\" [innerHTML]=\"data.title\"></h2>\n <div class=\"n7-hero__text\" *ngIf=\"data.text\" [innerHTML]=\"data.text\"></div>\n <div class=\"n7-hero__input-wrapper\" *ngIf=\"data.input || data.button\">\n <input type=\"text\" \n class=\"n7-hero__input\" \n placeholder=\"{{data.input.placeholder || ''}}\" \n *ngIf=\"data.input\" \n (input)=\"onInputChange(data.input.payload, $event.target.value)\" \n (keyup.enter)=\"onInputEnter(data.input.payload, $event.target.value)\">\n <span class=\"n7-hero__input-icon {{data.input.icon || ''}}\" \n *ngIf=\"data.input && data.input.icon\" \n (click)=\"onClick(data.input.payload)\"></span>\n <ng-container *ngIf=\"data.button\">\n <n7-anchor-wrapper [classes]=\"'n7-hero__btn n7-btn n7-btn-cta n7-btn-l'\"\n [data]=\"data.button.anchor\"\n (clicked)=\"onClick($event)\">\n {{data.button.text}}\n </n7-anchor-wrapper>\n </ng-container>\n </div>\n </div>\n \n <div class=\"n7-hero__image-wrapper\" *ngIf=\"data.image\">\n <img class=\"n7-hero__image\" src=\"{{data.image}}\" alt=\"\">\n </div>\n\n </div>\n</section>", 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"] }, { kind: "component", type: i2.AnchorWrapperComponent, selector: "n7-anchor-wrapper", inputs: ["data", "classes"], outputs: ["clicked"] }] });
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: HeroComponent, decorators: [{
31
+ HeroComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HeroComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
32
+ HeroComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: HeroComponent, selector: "n7-hero", inputs: { data: "data", emit: "emit" }, ngImport: i0, template: "<section *ngIf=\"data\" class=\"n7-hero {{data.classes || ''}}\" \n [ngClass]=\"{ \n 'has-image' : !!data.image, \n 'has-background-image': !!data.backgroundImage \n }\"\n [ngStyle]=\"{ \n 'background-image': getBackgroundImageCssValue(data.backgroundImage)\n }\">\n <div class=\"n7-hero__content\">\n \n <div class=\"n7-hero__text-wrapper\">\n <p class=\"n7-hero__pre-title\" *ngIf=\"data.preTitle\" [innerHTML]=\"data.preTitle\"></p>\n <h2 class=\"n7-hero__title\" [innerHTML]=\"data.title\"></h2>\n <div class=\"n7-hero__text\" *ngIf=\"data.text\" [innerHTML]=\"data.text\"></div>\n <div class=\"n7-hero__input-wrapper\" *ngIf=\"data.input || data.button\">\n <input type=\"text\" \n class=\"n7-hero__input\" \n placeholder=\"{{data.input.placeholder || ''}}\" \n *ngIf=\"data.input\" \n (input)=\"onInputChange(data.input.payload, $event.target.value)\" \n (keyup.enter)=\"onInputEnter(data.input.payload, $event.target.value)\">\n <span class=\"n7-hero__input-icon {{data.input.icon || ''}}\" \n *ngIf=\"data.input && data.input.icon\" \n (click)=\"onClick(data.input.payload)\"></span>\n <ng-container *ngIf=\"data.button\">\n <n7-anchor-wrapper [classes]=\"'n7-hero__btn n7-btn n7-btn-cta n7-btn-l'\"\n [data]=\"data.button.anchor\"\n (clicked)=\"onClick($event)\">\n {{data.button.text}}\n </n7-anchor-wrapper>\n </ng-container>\n </div>\n </div>\n \n <div class=\"n7-hero__image-wrapper\" *ngIf=\"data.image\">\n <img class=\"n7-hero__image\" src=\"{{data.image}}\" alt=\"\">\n </div>\n\n </div>\n</section>", 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"] }, { kind: "component", type: i2.AnchorWrapperComponent, selector: "n7-anchor-wrapper", inputs: ["data", "classes"], outputs: ["clicked"] }] });
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HeroComponent, decorators: [{
34
34
  type: Component,
35
35
  args: [{ selector: 'n7-hero', template: "<section *ngIf=\"data\" class=\"n7-hero {{data.classes || ''}}\" \n [ngClass]=\"{ \n 'has-image' : !!data.image, \n 'has-background-image': !!data.backgroundImage \n }\"\n [ngStyle]=\"{ \n 'background-image': getBackgroundImageCssValue(data.backgroundImage)\n }\">\n <div class=\"n7-hero__content\">\n \n <div class=\"n7-hero__text-wrapper\">\n <p class=\"n7-hero__pre-title\" *ngIf=\"data.preTitle\" [innerHTML]=\"data.preTitle\"></p>\n <h2 class=\"n7-hero__title\" [innerHTML]=\"data.title\"></h2>\n <div class=\"n7-hero__text\" *ngIf=\"data.text\" [innerHTML]=\"data.text\"></div>\n <div class=\"n7-hero__input-wrapper\" *ngIf=\"data.input || data.button\">\n <input type=\"text\" \n class=\"n7-hero__input\" \n placeholder=\"{{data.input.placeholder || ''}}\" \n *ngIf=\"data.input\" \n (input)=\"onInputChange(data.input.payload, $event.target.value)\" \n (keyup.enter)=\"onInputEnter(data.input.payload, $event.target.value)\">\n <span class=\"n7-hero__input-icon {{data.input.icon || ''}}\" \n *ngIf=\"data.input && data.input.icon\" \n (click)=\"onClick(data.input.payload)\"></span>\n <ng-container *ngIf=\"data.button\">\n <n7-anchor-wrapper [classes]=\"'n7-hero__btn n7-btn n7-btn-cta n7-btn-l'\"\n [data]=\"data.button.anchor\"\n (clicked)=\"onClick($event)\">\n {{data.button.text}}\n </n7-anchor-wrapper>\n </ng-container>\n </div>\n </div>\n \n <div class=\"n7-hero__image-wrapper\" *ngIf=\"data.image\">\n <img class=\"n7-hero__image\" src=\"{{data.image}}\" alt=\"\">\n </div>\n\n </div>\n</section>" }]
36
36
  }], propDecorators: { data: [{
@@ -38,4 +38,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
38
38
  }], emit: [{
39
39
  type: Input
40
40
  }] } });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVyby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2R2LWNvbXBvbmVudHMtbGliL3NyYy9saWIvY29tcG9uZW50cy9oZXJvL2hlcm8udHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdi1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvaGVyby9oZXJvLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNkJBQTZCO0FBQzdCLFVBQVU7QUFDViw2QkFBNkI7QUFFN0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUEyRWpELE1BQU0sT0FBTyxhQUFhO0lBS3hCLDBCQUEwQixDQUFDLGVBQWU7UUFDeEMsSUFBSSxlQUFlLEVBQUU7WUFDbkIsT0FBTyxPQUFPLGVBQWUsR0FBRyxDQUFDO1NBQ2xDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELE9BQU8sQ0FBQyxPQUFPO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTztRQUV2QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsYUFBYSxDQUFDLE9BQU8sRUFBRSxLQUFLO1FBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU87UUFFdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELFlBQVksQ0FBQyxPQUFPLEVBQUUsS0FBSztRQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPO1FBRXZCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7OzJHQTVCVSxhQUFhOytGQUFiLGFBQWEsdUZDL0UxQix3N0RBdUNVOzRGRHdDRyxhQUFhO2tCQUp6QixTQUFTOytCQUNFLFNBQVM7OEJBSVYsSUFBSTtzQkFBWixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBIRVJPLnRzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBbmNob3IgfSBmcm9tICcuLi8uLi9zaGFyZWQtaW50ZXJmYWNlcyc7XG5cbi8qKlxuICogSW50ZXJmYWNlIGZvciBIZXJvQ29tcG9uZW50J3MgXCJkYXRhXCJcbiAqXG4gKiBAcHJvcGVydHkgdGl0bGUgKHJlcXVpcmVkKVxuICogQHByb3BlcnR5IHRleHQgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IGlucHV0IChvcHRpb25hbClcbiAqIC0gcGxhY2Vob2xkZXIgKG9wdGlvbmFsKVxuICogLSBpY29uIChvcHRpb25hbClcbiAqIC0gcGF5bG9hZCAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgYnV0dG9uIChvcHRpb25hbClcbiAqIC0gdGV4dCAob3B0aW9uYWwpXG4gKiAtIGFuY2hvciAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgaW1hZ2UgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IGJhY2tncm91bmRJbWFnZSAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgY2xhc3NlcyAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgcGF5bG9hZCAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgX21ldGEgKG9wdGlvbmFsKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEhlcm9EYXRhIHtcbiAgLyoqXG4gICAqIG1haW4gdGV4dCBkaXNwbGF5ZWQgaW4gdGhlIGhlcm8gc2VjdGlvblxuICAqL1xuICB0aXRsZTogc3RyaW5nO1xuICAvKipcbiAgICogb3B0aW9uYWwgdGV4dCBkaXNwbGF5ZWQgYWJvdmUgdGhlIHRpdGxlXG4gICAqL1xuICBwcmVUaXRsZT86IHN0cmluZztcbiAgLyoqXG4gICogYWRkaXRpb25hbCB0ZXh0IHVuZGVyIHRoZSB0aXRsZVxuICAqL1xuICB0ZXh0Pzogc3RyaW5nO1xuICAvKipcbiAgKiBpbnB1dCBmaWVsZCAodXN1YWxseSBmb3Igc2VhcmNoKSBhbmQgaXQncyBwYXJhbWV0ZXJzXG4gICovXG4gIGlucHV0Pzoge1xuICAgIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gICAgaWNvbjogc3RyaW5nO1xuICAgIHBheWxvYWQ6IGFueTtcbiAgfTtcbiAgLyoqXG4gICogY2FsbCB0byBhY3Rpb24gYnV0dG9uIGFuZCBpdCdzIHBhcmFtZXRlcnNcbiAgKi9cbiAgYnV0dG9uPzoge1xuICAgIHRleHQ6IHN0cmluZztcbiAgICBhbmNob3I/OiBBbmNob3I7XG4gIH07XG4gIC8qKlxuICAgKiBpbWFnZSBkaXNwbGF5ZWQgaW5zaWRlIHRoZSBoZXJvXG4gICAqL1xuICBpbWFnZT86IHN0cmluZztcbiAgLyoqXG4gICogYmFja2dyb3VuZCBpbWFnZSB0aGF0IGNvdmVycyB0aGUgZnVsbCBiYWNrZ3JvdW5kIGFyZWEgb2YgdGhlIGhlcm9cbiAgKi9cbiAgYmFja2dyb3VuZEltYWdlPzogc3RyaW5nO1xuICAvKipcbiAgKiBhZGRpdGlvbmFsIGh0bWwgY2xhc3Nlc1xuICAqL1xuICBjbGFzc2VzPzogc3RyaW5nO1xuICAvKipcbiAgKiBhY3Rpb24gY2xpY2sncyBwYXlsb2FkXG4gICovXG4gIHBheWxvYWQ/OiBhbnk7XG4gIC8qKlxuICAqIGFkZGl0aW9uYWwgaW5mb1xuICAqL1xuICBfbWV0YT86IGFueTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbjctaGVybycsXG4gIHRlbXBsYXRlVXJsOiAnLi9oZXJvLmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEhlcm9Db21wb25lbnQge1xuICBASW5wdXQoKSBkYXRhOiBIZXJvRGF0YTtcblxuICBASW5wdXQoKSBlbWl0OiBhbnk7XG5cbiAgZ2V0QmFja2dyb3VuZEltYWdlQ3NzVmFsdWUoYmFja2dyb3VuZEltYWdlKSB7XG4gICAgaWYgKGJhY2tncm91bmRJbWFnZSkge1xuICAgICAgcmV0dXJuIGB1cmwoJHtiYWNrZ3JvdW5kSW1hZ2V9KWA7XG4gICAgfVxuICAgIHJldHVybiAnbm9uZSc7XG4gIH1cblxuICBvbkNsaWNrKHBheWxvYWQpIHtcbiAgICBpZiAoIXRoaXMuZW1pdCkgcmV0dXJuO1xuXG4gICAgdGhpcy5lbWl0KCdjbGljaycsIHBheWxvYWQpO1xuICB9XG5cbiAgb25JbnB1dENoYW5nZShwYXlsb2FkLCB2YWx1ZSkge1xuICAgIGlmICghdGhpcy5lbWl0KSByZXR1cm47XG5cbiAgICB0aGlzLmVtaXQoJ2NoYW5nZScsIHsgaW5wdXRQYXlsb2FkOiBwYXlsb2FkLCB2YWx1ZSB9KTtcbiAgfVxuXG4gIG9uSW5wdXRFbnRlcihwYXlsb2FkLCB2YWx1ZSkge1xuICAgIGlmICghdGhpcy5lbWl0KSByZXR1cm47XG5cbiAgICB0aGlzLmVtaXQoJ2VudGVyJywgeyBpbnB1dFBheWxvYWQ6IHBheWxvYWQsIHZhbHVlIH0pO1xuICB9XG59XG4iLCI8c2VjdGlvbiAqbmdJZj1cImRhdGFcIiBjbGFzcz1cIm43LWhlcm8ge3tkYXRhLmNsYXNzZXMgfHwgJyd9fVwiIFxuICAgIFtuZ0NsYXNzXT1cInsgXG4gICAgICAgICdoYXMtaW1hZ2UnIDogISFkYXRhLmltYWdlLCBcbiAgICAgICAgJ2hhcy1iYWNrZ3JvdW5kLWltYWdlJzogISFkYXRhLmJhY2tncm91bmRJbWFnZSBcbiAgICB9XCJcbiAgICBbbmdTdHlsZV09XCJ7IFxuICAgICAgICAnYmFja2dyb3VuZC1pbWFnZSc6IGdldEJhY2tncm91bmRJbWFnZUNzc1ZhbHVlKGRhdGEuYmFja2dyb3VuZEltYWdlKVxuICAgIH1cIj5cbiAgICA8ZGl2IGNsYXNzPVwibjctaGVyb19fY29udGVudFwiPlxuICAgICAgICBcbiAgICAgICAgPGRpdiBjbGFzcz1cIm43LWhlcm9fX3RleHQtd3JhcHBlclwiPlxuICAgICAgICAgICAgPHAgY2xhc3M9XCJuNy1oZXJvX19wcmUtdGl0bGVcIiAqbmdJZj1cImRhdGEucHJlVGl0bGVcIiBbaW5uZXJIVE1MXT1cImRhdGEucHJlVGl0bGVcIj48L3A+XG4gICAgICAgICAgICA8aDIgY2xhc3M9XCJuNy1oZXJvX190aXRsZVwiIFtpbm5lckhUTUxdPVwiZGF0YS50aXRsZVwiPjwvaDI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibjctaGVyb19fdGV4dFwiICpuZ0lmPVwiZGF0YS50ZXh0XCIgW2lubmVySFRNTF09XCJkYXRhLnRleHRcIj48L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuNy1oZXJvX19pbnB1dC13cmFwcGVyXCIgKm5nSWY9XCJkYXRhLmlucHV0IHx8IGRhdGEuYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgXG4gICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibjctaGVyb19faW5wdXRcIiBcbiAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7e2RhdGEuaW5wdXQucGxhY2Vob2xkZXIgfHwgJyd9fVwiIFxuICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImRhdGEuaW5wdXRcIiBcbiAgICAgICAgICAgICAgICAgICAgICAgKGlucHV0KT1cIm9uSW5wdXRDaGFuZ2UoZGF0YS5pbnB1dC5wYXlsb2FkLCAkZXZlbnQudGFyZ2V0LnZhbHVlKVwiIFxuICAgICAgICAgICAgICAgICAgICAgICAoa2V5dXAuZW50ZXIpPVwib25JbnB1dEVudGVyKGRhdGEuaW5wdXQucGF5bG9hZCwgJGV2ZW50LnRhcmdldC52YWx1ZSlcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm43LWhlcm9fX2lucHV0LWljb24ge3tkYXRhLmlucHV0Lmljb24gfHwgJyd9fVwiIFxuICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZGF0YS5pbnB1dCAmJiBkYXRhLmlucHV0Lmljb25cIiBcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25DbGljayhkYXRhLmlucHV0LnBheWxvYWQpXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRhLmJ1dHRvblwiPlxuICAgICAgICAgICAgICAgICAgICA8bjctYW5jaG9yLXdyYXBwZXIgW2NsYXNzZXNdPVwiJ243LWhlcm9fX2J0biBuNy1idG4gbjctYnRuLWN0YSBuNy1idG4tbCdcIlxuICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJkYXRhLmJ1dHRvbi5hbmNob3JcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2tlZCk9XCJvbkNsaWNrKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7ZGF0YS5idXR0b24udGV4dH19XG4gICAgICAgICAgICAgICAgICAgIDwvbjctYW5jaG9yLXdyYXBwZXI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIFxuICAgICAgICA8ZGl2IGNsYXNzPVwibjctaGVyb19faW1hZ2Utd3JhcHBlclwiICpuZ0lmPVwiZGF0YS5pbWFnZVwiPlxuICAgICAgICAgICAgPGltZyBjbGFzcz1cIm43LWhlcm9fX2ltYWdlXCIgc3JjPVwie3tkYXRhLmltYWdlfX1cIiBhbHQ9XCJcIj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICA8L2Rpdj5cbjwvc2VjdGlvbj4iXX0=
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVyby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2R2LWNvbXBvbmVudHMtbGliL3NyYy9saWIvY29tcG9uZW50cy9oZXJvL2hlcm8udHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdi1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvaGVyby9oZXJvLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNkJBQTZCO0FBQzdCLFVBQVU7QUFDViw2QkFBNkI7QUFFN0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUEyRWpELE1BQU0sT0FBTyxhQUFhO0lBS3hCLDBCQUEwQixDQUFDLGVBQWU7UUFDeEMsSUFBSSxlQUFlLEVBQUU7WUFDbkIsT0FBTyxPQUFPLGVBQWUsR0FBRyxDQUFDO1NBQ2xDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELE9BQU8sQ0FBQyxPQUFPO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTztRQUV2QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsYUFBYSxDQUFDLE9BQU8sRUFBRSxLQUFLO1FBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU87UUFFdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELFlBQVksQ0FBQyxPQUFPLEVBQUUsS0FBSztRQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPO1FBRXZCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7OzBHQTVCVSxhQUFhOzhGQUFiLGFBQWEsdUZDL0UxQix3N0RBdUNVOzJGRHdDRyxhQUFhO2tCQUp6QixTQUFTOytCQUNFLFNBQVM7OEJBSVYsSUFBSTtzQkFBWixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBIRVJPLnRzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBbmNob3IgfSBmcm9tICcuLi8uLi9zaGFyZWQtaW50ZXJmYWNlcyc7XG5cbi8qKlxuICogSW50ZXJmYWNlIGZvciBIZXJvQ29tcG9uZW50J3MgXCJkYXRhXCJcbiAqXG4gKiBAcHJvcGVydHkgdGl0bGUgKHJlcXVpcmVkKVxuICogQHByb3BlcnR5IHRleHQgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IGlucHV0IChvcHRpb25hbClcbiAqIC0gcGxhY2Vob2xkZXIgKG9wdGlvbmFsKVxuICogLSBpY29uIChvcHRpb25hbClcbiAqIC0gcGF5bG9hZCAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgYnV0dG9uIChvcHRpb25hbClcbiAqIC0gdGV4dCAob3B0aW9uYWwpXG4gKiAtIGFuY2hvciAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgaW1hZ2UgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IGJhY2tncm91bmRJbWFnZSAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgY2xhc3NlcyAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgcGF5bG9hZCAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgX21ldGEgKG9wdGlvbmFsKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEhlcm9EYXRhIHtcbiAgLyoqXG4gICAqIG1haW4gdGV4dCBkaXNwbGF5ZWQgaW4gdGhlIGhlcm8gc2VjdGlvblxuICAqL1xuICB0aXRsZTogc3RyaW5nO1xuICAvKipcbiAgICogb3B0aW9uYWwgdGV4dCBkaXNwbGF5ZWQgYWJvdmUgdGhlIHRpdGxlXG4gICAqL1xuICBwcmVUaXRsZT86IHN0cmluZztcbiAgLyoqXG4gICogYWRkaXRpb25hbCB0ZXh0IHVuZGVyIHRoZSB0aXRsZVxuICAqL1xuICB0ZXh0Pzogc3RyaW5nO1xuICAvKipcbiAgKiBpbnB1dCBmaWVsZCAodXN1YWxseSBmb3Igc2VhcmNoKSBhbmQgaXQncyBwYXJhbWV0ZXJzXG4gICovXG4gIGlucHV0Pzoge1xuICAgIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gICAgaWNvbjogc3RyaW5nO1xuICAgIHBheWxvYWQ6IGFueTtcbiAgfTtcbiAgLyoqXG4gICogY2FsbCB0byBhY3Rpb24gYnV0dG9uIGFuZCBpdCdzIHBhcmFtZXRlcnNcbiAgKi9cbiAgYnV0dG9uPzoge1xuICAgIHRleHQ6IHN0cmluZztcbiAgICBhbmNob3I/OiBBbmNob3I7XG4gIH07XG4gIC8qKlxuICAgKiBpbWFnZSBkaXNwbGF5ZWQgaW5zaWRlIHRoZSBoZXJvXG4gICAqL1xuICBpbWFnZT86IHN0cmluZztcbiAgLyoqXG4gICogYmFja2dyb3VuZCBpbWFnZSB0aGF0IGNvdmVycyB0aGUgZnVsbCBiYWNrZ3JvdW5kIGFyZWEgb2YgdGhlIGhlcm9cbiAgKi9cbiAgYmFja2dyb3VuZEltYWdlPzogc3RyaW5nO1xuICAvKipcbiAgKiBhZGRpdGlvbmFsIGh0bWwgY2xhc3Nlc1xuICAqL1xuICBjbGFzc2VzPzogc3RyaW5nO1xuICAvKipcbiAgKiBhY3Rpb24gY2xpY2sncyBwYXlsb2FkXG4gICovXG4gIHBheWxvYWQ/OiBhbnk7XG4gIC8qKlxuICAqIGFkZGl0aW9uYWwgaW5mb1xuICAqL1xuICBfbWV0YT86IGFueTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbjctaGVybycsXG4gIHRlbXBsYXRlVXJsOiAnLi9oZXJvLmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEhlcm9Db21wb25lbnQge1xuICBASW5wdXQoKSBkYXRhOiBIZXJvRGF0YTtcblxuICBASW5wdXQoKSBlbWl0OiBhbnk7XG5cbiAgZ2V0QmFja2dyb3VuZEltYWdlQ3NzVmFsdWUoYmFja2dyb3VuZEltYWdlKSB7XG4gICAgaWYgKGJhY2tncm91bmRJbWFnZSkge1xuICAgICAgcmV0dXJuIGB1cmwoJHtiYWNrZ3JvdW5kSW1hZ2V9KWA7XG4gICAgfVxuICAgIHJldHVybiAnbm9uZSc7XG4gIH1cblxuICBvbkNsaWNrKHBheWxvYWQpIHtcbiAgICBpZiAoIXRoaXMuZW1pdCkgcmV0dXJuO1xuXG4gICAgdGhpcy5lbWl0KCdjbGljaycsIHBheWxvYWQpO1xuICB9XG5cbiAgb25JbnB1dENoYW5nZShwYXlsb2FkLCB2YWx1ZSkge1xuICAgIGlmICghdGhpcy5lbWl0KSByZXR1cm47XG5cbiAgICB0aGlzLmVtaXQoJ2NoYW5nZScsIHsgaW5wdXRQYXlsb2FkOiBwYXlsb2FkLCB2YWx1ZSB9KTtcbiAgfVxuXG4gIG9uSW5wdXRFbnRlcihwYXlsb2FkLCB2YWx1ZSkge1xuICAgIGlmICghdGhpcy5lbWl0KSByZXR1cm47XG5cbiAgICB0aGlzLmVtaXQoJ2VudGVyJywgeyBpbnB1dFBheWxvYWQ6IHBheWxvYWQsIHZhbHVlIH0pO1xuICB9XG59XG4iLCI8c2VjdGlvbiAqbmdJZj1cImRhdGFcIiBjbGFzcz1cIm43LWhlcm8ge3tkYXRhLmNsYXNzZXMgfHwgJyd9fVwiIFxuICAgIFtuZ0NsYXNzXT1cInsgXG4gICAgICAgICdoYXMtaW1hZ2UnIDogISFkYXRhLmltYWdlLCBcbiAgICAgICAgJ2hhcy1iYWNrZ3JvdW5kLWltYWdlJzogISFkYXRhLmJhY2tncm91bmRJbWFnZSBcbiAgICB9XCJcbiAgICBbbmdTdHlsZV09XCJ7IFxuICAgICAgICAnYmFja2dyb3VuZC1pbWFnZSc6IGdldEJhY2tncm91bmRJbWFnZUNzc1ZhbHVlKGRhdGEuYmFja2dyb3VuZEltYWdlKVxuICAgIH1cIj5cbiAgICA8ZGl2IGNsYXNzPVwibjctaGVyb19fY29udGVudFwiPlxuICAgICAgICBcbiAgICAgICAgPGRpdiBjbGFzcz1cIm43LWhlcm9fX3RleHQtd3JhcHBlclwiPlxuICAgICAgICAgICAgPHAgY2xhc3M9XCJuNy1oZXJvX19wcmUtdGl0bGVcIiAqbmdJZj1cImRhdGEucHJlVGl0bGVcIiBbaW5uZXJIVE1MXT1cImRhdGEucHJlVGl0bGVcIj48L3A+XG4gICAgICAgICAgICA8aDIgY2xhc3M9XCJuNy1oZXJvX190aXRsZVwiIFtpbm5lckhUTUxdPVwiZGF0YS50aXRsZVwiPjwvaDI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibjctaGVyb19fdGV4dFwiICpuZ0lmPVwiZGF0YS50ZXh0XCIgW2lubmVySFRNTF09XCJkYXRhLnRleHRcIj48L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuNy1oZXJvX19pbnB1dC13cmFwcGVyXCIgKm5nSWY9XCJkYXRhLmlucHV0IHx8IGRhdGEuYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgXG4gICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibjctaGVyb19faW5wdXRcIiBcbiAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7e2RhdGEuaW5wdXQucGxhY2Vob2xkZXIgfHwgJyd9fVwiIFxuICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImRhdGEuaW5wdXRcIiBcbiAgICAgICAgICAgICAgICAgICAgICAgKGlucHV0KT1cIm9uSW5wdXRDaGFuZ2UoZGF0YS5pbnB1dC5wYXlsb2FkLCAkZXZlbnQudGFyZ2V0LnZhbHVlKVwiIFxuICAgICAgICAgICAgICAgICAgICAgICAoa2V5dXAuZW50ZXIpPVwib25JbnB1dEVudGVyKGRhdGEuaW5wdXQucGF5bG9hZCwgJGV2ZW50LnRhcmdldC52YWx1ZSlcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm43LWhlcm9fX2lucHV0LWljb24ge3tkYXRhLmlucHV0Lmljb24gfHwgJyd9fVwiIFxuICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZGF0YS5pbnB1dCAmJiBkYXRhLmlucHV0Lmljb25cIiBcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25DbGljayhkYXRhLmlucHV0LnBheWxvYWQpXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRhLmJ1dHRvblwiPlxuICAgICAgICAgICAgICAgICAgICA8bjctYW5jaG9yLXdyYXBwZXIgW2NsYXNzZXNdPVwiJ243LWhlcm9fX2J0biBuNy1idG4gbjctYnRuLWN0YSBuNy1idG4tbCdcIlxuICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJkYXRhLmJ1dHRvbi5hbmNob3JcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2tlZCk9XCJvbkNsaWNrKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7ZGF0YS5idXR0b24udGV4dH19XG4gICAgICAgICAgICAgICAgICAgIDwvbjctYW5jaG9yLXdyYXBwZXI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIFxuICAgICAgICA8ZGl2IGNsYXNzPVwibjctaGVyb19faW1hZ2Utd3JhcHBlclwiICpuZ0lmPVwiZGF0YS5pbWFnZVwiPlxuICAgICAgICAgICAgPGltZyBjbGFzcz1cIm43LWhlcm9fX2ltYWdlXCIgc3JjPVwie3tkYXRhLmltYWdlfX1cIiBhbHQ9XCJcIj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICA8L2Rpdj5cbjwvc2VjdGlvbj4iXX0=
@@ -377,9 +377,9 @@ export class HistogramRangeComponent {
377
377
  this.emit('loaded', payload);
378
378
  }
379
379
  }
380
- HistogramRangeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: HistogramRangeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
381
- HistogramRangeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.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"] }] });
382
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: HistogramRangeComponent, decorators: [{
380
+ HistogramRangeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HistogramRangeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
381
+ HistogramRangeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", 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"] }] });
382
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", 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: "14.2.12", ngImpo
387
387
  }], emit: [{
388
388
  type: Input
389
389
  }] } });
390
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9ncmFtLXJhbmdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHYtY29tcG9uZW50cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2hpc3RvZ3JhbS1yYW5nZS9oaXN0b2dyYW0tcmFuZ2UudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdi1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvaGlzdG9ncmFtLXJhbmdlL2hpc3RvZ3JhbS1yYW5nZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHlDQUF5QztBQUN6Qyw2QkFBNkI7QUFDN0IscUJBQXFCO0FBQ3JCLDZCQUE2QjtBQUU3QixPQUFPLEVBQXVCLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQTJGdEUsTUFBTSxPQUFPLHVCQUF1QjtJQUpwQztRQVdVLFlBQU8sR0FBWSxFQUFFLENBQUM7UUFLdEIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQW1DeEIsU0FBSSxHQUFHLEdBQUcsRUFBRTtZQUNWLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUM7WUFDcEIsTUFBTSxFQUNKLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUNyQixLQUFLLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFDM0IsSUFBSSxFQUFFLFVBQVUsRUFDakIsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBRWQsa0JBQWtCO1lBQ2xCLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM5QyxJQUFJLENBQUMsU0FBUyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUM3QyxNQUFNLEtBQUssQ0FBQyww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QUFJLENBQUM7YUFDbEIsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxjQUFjLENBQUMsS0FBSztRQUNsQixNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3RDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDL0MsS0FBSyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQ3hCLEtBQUssQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUN4QixPQUFPLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQXFCRCxtREFBbUQ7SUFDbkQsVUFBVSxDQUFDLE9BQU87UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTztRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMvQixDQUFDOztxSEF2WlUsdUJBQXVCO3lHQUF2Qix1QkFBdUIsa0dDaEdwQyx3SEFHQTs0RkQ2RmEsdUJBQXVCO2tCQUpuQyxTQUFTOytCQUNFLG9CQUFvQjs4QkFJckIsSUFBSTtzQkFBWixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXVzZS1iZWZvcmUtZGVmaW5lICovXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSElTVE9HUkFNLVJBTkdFLnRzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5pbXBvcnQgeyBBZnRlckNvbnRlbnRDaGVja2VkLCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG4vKipcbiAqIEludGVyZmFjZSBmb3IgSGlzdG9ncmFtUmFuZ2VDb21wb25lbnQncyBcImRhdGFcIlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEhpc3RvZ3JhbVJhbmdlRGF0YSB7XG4gIC8qKlxuICAgKiB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGhpc3RvZ3JhbS1yYW5nZSBzdmdcbiAgICovXG4gIGNvbnRhaW5lcklkOiBzdHJpbmc7XG4gIC8qKlxuICAgKiB0b3RhbCB3aWR0aCBmb3IgdGhlIHN2ZyBlbGVtZW50XG4gICAqL1xuICB3aWR0aDogbnVtYmVyO1xuICAvKipcbiAgICogdG90YWwgaGVpZ2h0IGZvciB0aGUgc3ZnIGVsZW1lbnRcbiAgICovXG4gIGhlaWdodDogbnVtYmVyO1xuICAvKipcbiAgICogSW50ZXJuYWwgbWFyZ2lucyBvZiB0aGUgc3ZnXG4gICAqL1xuICBtYXJnaW46IHtcbiAgICBsZWZ0OiBudW1iZXI7XG4gICAgcmlnaHQ6IG51bWJlcjtcbiAgICB0b3A6IG51bWJlcjtcbiAgICBib3R0b206IG51bWJlcjtcbiAgfTtcbiAgLyoqXG4gICAqIFRoZW1lIG9mIHRoZSBoaXN0b2dyYW1cbiAgICovXG4gIGNvbG91cnM6IHtcbiAgICB0b3A6IHN0cmluZztcbiAgICBib3R0b206IHN0cmluZztcbiAgICBhY2NlbnQ6IHN0cmluZztcbiAgfTtcbiAgLyoqXG4gICAqIERhdGEgZm9yIHRoZSBoaXN0b2dyYW0gYmFyc1xuICAgKi9cbiAgaXRlbXM6IHtcbiAgICAvKiogZGVmYXVsdCBsYWJlbCBvZiB0aGUgaXRlbSAqL1xuICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgLyoqIHktYXhpcyB2YWx1ZSBvZiB0aGUgYmFyIChoZWlnaHQpICovXG4gICAgdmFsdWU6IG51bWJlcjtcbiAgICAvKiogcGF5bG9hZCB0aGF0IHRoZSBpdGVtIHNob3VsZCBlbWl0IHdoZW4gc2VsZWN0ZWQgKi9cbiAgICBwYXlsb2FkOiBhbnk7XG4gICAgLyoqXG4gICAgICogJ3VwcGVyJyB2YWx1ZXMgb2YgdGhlIHJhbmdlLlxuICAgICAqIG9ubHkgdXNlZCB3aGVuIGVhY2ggYmFyIHJlcHJlc2VudHMgYSByYW5nZS5cbiAgICAgKi9cbiAgICByYW5nZT86IHtcbiAgICAgIC8qKiBsYWJlbCBsb2FkZWQgd2hlbiBzZWxlY3RlZCBieSB0aGUgcmlnaHQtbW9zdCBwb2ludGVyICovXG4gICAgICBsYWJlbDogc3RyaW5nO1xuICAgICAgLyoqIHBheWxvYWQgZW1pdHRlZCB3aGVuIHNlbGVjdGVkIGJ5IHRoZSByaWdodC1tb3N0IHBvaW50ZXIgKi9cbiAgICAgIHBheWxvYWQ6IGFueTtcbiAgICB9O1xuICB9W107XG4gIC8qKlxuICAgKiBBeGlzIHNldHRpbmdzXG4gICAqL1xuICBheGlzPzoge1xuICAgIC8qKiBZIEF4aXMgc2V0dGluZ3MgKi9cbiAgICB5QXhpcz86IHtcbiAgICAgIC8qKiBUdXJuIG9uIGFuZCBvZmYgdGhlIGF4aXMgKi9cbiAgICAgIHNob3c/OiBib29sZWFuO1xuICAgICAgLyoqIE1hbnVhbGx5IHNldCB0aGUgYXhpcyB2YWx1ZXMgdG8gc2hvdyAqL1xuICAgICAgdmFsdWVzPzogbnVtYmVyW107XG4gICAgICAvKiogSG93IG1hbnkgdGlja3MgZG8geW91IHdhbnQgdG8gc2VlICovXG4gICAgICB0aWNrQW1vdW50PzogbnVtYmVyO1xuICAgIH07XG4gIH07XG4gIC8qKlxuICAgKiBleHBvc2UgdGhlIGRyYXcgZnVuY3Rpb24gb3V0c2lkZSBvZiBuNy1mcm9udGVuZC9jb21wb25lbnRzIGxpYnJhcnlcbiAgICogdGhpcyBpcyBuZWVkZWQgdG8gcmVkcmF3IGJ1YmJsZS1jaGFydC1jb21wb25lbnQgb24gY29tbWFuZFxuICAgKi9cbiAgc2V0RHJhdz86IGFueTtcbiAgLyoqXG4gICAqIHNldFNsaWRlcnNcbiAgICovXG4gIHNldFNsaWRlcnM/OiBMYWJlbENvdXBsZTtcbiAgLyoqXG4gICAqIFB1YmxpYyBhcGlcbiAgICovXG4gIHNldEFwaT86IGFueTtcbn1cblxudHlwZSBTbGlkZXJzID0geyB4OiBudW1iZXI7IHk6IG51bWJlciB9W107XG50eXBlIExhYmVsQ291cGxlID0gW3N0cmluZywgc3RyaW5nXTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbjctaGlzdG9ncmFtLXJhbmdlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2hpc3RvZ3JhbS1yYW5nZS5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBIaXN0b2dyYW1SYW5nZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudENoZWNrZWQge1xuICBASW5wdXQoKSBkYXRhOiBIaXN0b2dyYW1SYW5nZURhdGE7XG5cbiAgQElucHV0KCkgZW1pdDogYW55O1xuXG4gIHByaXZhdGUgZDM7XG5cbiAgcHJpdmF0ZSBzbGlkZXJzOiBTbGlkZXJzID0gW107XG5cbiAgLyoqIGQzIHNlbGVjdGlvbiBzdmcgcm9vdCAqL1xuICBwcml2YXRlIHN2ZztcblxuICBwcml2YXRlIF9sb2FkZWQgPSBmYWxzZTtcblxuICBwcml2YXRlIGNvbG91ckJhcnM7XG5cbiAgcHJpdmF0ZSBnZXRTZWxlY3RlZFJhbmdlO1xuXG4gIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpIHtcbiAgICAvKlxuICAgICAgICAgV2FpdHMgZm9yIHRoZSBkb20gdG8gYmUgbG9hZGVkLCB0aGVuIGZpcmVzIHRoZSBkcmF3IGZ1bmN0aW9uXG4gICAgICAgICB0aGF0IHJlbmRlcnMgdGhlIGNoYXJ0LlxuICAgICovXG4gICAgaWYgKHRoaXMuZGF0YSkge1xuICAgICAgaWYgKHRoaXMuX2xvYWRlZCkgcmV0dXJuO1xuICAgICAgdGhpcy5fbG9hZGVkID0gdHJ1ZTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBpbXBvcnQoJ2QzJykudGhlbigobW9kdWxlKSA9PiB7XG4gICAgICAgICAgdGhpcy5kMyA9IG1vZHVsZTtcbiAgICAgICAgICB0aGlzLmRyYXcoKTtcbiAgICAgICAgICB0aGlzLmVtaXRMb2FkZWQodHJ1ZSk7XG4gICAgICAgICAgaWYgKHRoaXMuZGF0YSAmJiB0aGlzLmRhdGEuc2V0RHJhdykge1xuICAgICAgICAgICAgdGhpcy5kYXRhLnNldERyYXcodGhpcy5kcmF3KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHRoaXMuZGF0YS5zZXRBcGkpIHsgLy8gZXhwb3NlIHRoZSBjb21wb25lbnQgYXBpXG4gICAgICAgICAgICB0aGlzLmRhdGEuc2V0QXBpKHtcbiAgICAgICAgICAgICAgc2V0U2xpZGVyczogdGhpcy5zZXRTbGlkZXJzLFxuICAgICAgICAgICAgICBzZXRCYXJzOiB0aGlzLnNldEJhcnMsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRvdC1ub3RhdGlvblxuICAgICAgICAgIC8vIHdpbmRvd1snc2V0U2xpZGVycyddID0gdGhpcy5zZXRTbGlkZXJzO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGRyYXcgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBkMyB9ID0gdGhpcztcbiAgICBjb25zdCB7XG4gICAgICB3aWR0aCwgbWFyZ2luLCBoZWlnaHQsXG4gICAgICBpdGVtcywgY29sb3VycywgY29udGFpbmVySWQsXG4gICAgICBheGlzLCBzZXRTbGlkZXJzXG4gICAgfSA9IHRoaXMuZGF0YTtcblxuICAgIC8vIGRhdGEgdmFsaWRhdGlvblxuICAgIGNvbnN0IHJhbmdlTW9kZSA9IGl0ZW1zLmV2ZXJ5KChkKSA9PiBkLnJhbmdlKTtcbiAgICBpZiAoIXJhbmdlTW9kZSAmJiBpdGVtcy5zb21lKChkKSA9PiAhZC5yYW5nZSkpIHtcbiAgICAgIHRocm93IEVycm9yKCdBbGwgaXRlbXMgbXVzdCBoYXZlIHRoZSBcInJhbmdlXCIgcHJvcGVydHknKTtcbiAgICB9XG5cbiAgICAvLyBIZWxwZXJzIC0gU3RhcnQ6XG4gICAgY29uc3QgTEFCRUx0b1ggPSBkM1xuICAgICAgLnNjYWxlQmFuZCgpXG4gICAgICAuZG9tYWluKGl0ZW1zLm1hcCgoZCkgPT4gZC5sYWJlbCkpXG4gICAgICAucmFuZ2UoWzAsIHdpZHRoXSlcbiAgICAgIC5wYWRkaW5nSW5uZXIoMC4xNylcbiAgICAgIC5wYWRkaW5nT3V0ZXIoMSk7XG5cbiAgICBjb25zdCBYdG9MQUJFTCA9ICh2YWx1ZSkgPT4ge1xuICAgICAgY29uc3QgZG9tYWluID0gTEFCRUx0b1guZG9tYWluKCk7XG4gICAgICBjb25zdCBwYWRkaW5nT3V0ZXIgPSBMQUJFTHRvWChkb21haW5bMF0pO1xuICAgICAgY29uc3QgZWFjaEJhbmQgPSBMQUJFTHRvWC5zdGVwKCk7XG4gICAgICBjb25zdCBpbmRleCA9IE1hdGguZmxvb3IoKCh2YWx1ZSAtIHBhZGRpbmdPdXRlcikgLyBlYWNoQmFuZCkpO1xuICAgICAgcmV0dXJuIGRvbWFpbltNYXRoLm1heCgwLCBNYXRoLm1pbihpbmRleCwgZG9tYWluLmxlbmd0aCAtIDEpKV07XG4gICAgfTtcblxuICAgIC8vIFlFQVIgU0VMRUNUSU9OIENJUkNMRVNcbiAgICAvLyBsZXQgc2xpZGVycztcbiAgICBpZiAoc2V0U2xpZGVycyAmJiB0aGlzLnNsaWRlcnMpIHtcbiAgICAgIHRoaXMuc2xpZGVycyA9IHNldFNsaWRlcnNcbiAgICAgICAgLm1hcCgoZCkgPT4gKHsgeDogTEFCRUx0b1goZCkgKyBMQUJFTHRvWC5iYW5kd2lkdGgoKSAvIDIsIHk6IGhlaWdodCB9KSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2xpZGVycyA9IGQzXG4gICAgICAgIC5leHRlbnQoaXRlbXMsIChkKSA9PiBkLmxhYmVsKVxuICAgICAgICAubWFwKChkKSA9PiAoeyB4OiBMQUJFTHRvWChkKSArIExBQkVMdG9YLmJhbmR3aWR0aCgpIC8gMiwgeTogaGVpZ2h0IH0pKTtcbiAgICB9XG5cbiAgICBjb25zdCBpc0luUmFuZ2UgPSAoeSkgPT4ge1xuICAgICAgY29uc3QgYWxsSXRlbXMgPSB0aGlzLnNsaWRlcnMubWFwKChkKSA9PiBYdG9MQUJFTChkLngpKTtcbiAgICAgIGlmICh5ID49IGQzLm1pbihhbGxJdGVtcykgJiYgeSA8PSBkMy5tYXgoYWxsSXRlbXMpKSByZXR1cm4gdHJ1ZTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9O1xuXG4gICAgZnVuY3Rpb24gY29sb3VyQmFycyhkKSB7XG4gICAgICBpZiAoaXNJblJhbmdlKGQubGFiZWwpKSByZXR1cm4gJ3VybCgjZ3JhZGllbnQpJztcbiAgICAgIHJldHVybiAnI2UzZTNlMyc7XG4gICAgfVxuICAgIHRoaXMuY29sb3VyQmFycyA9IGNvbG91ckJhcnM7XG5cbiAgICB0aGlzLmdldFNlbGVjdGVkUmFuZ2UgPSAoKSA9PiB7XG4gICAgICBjb25zdCByYW5nZVN0YXJ0ID0gaXRlbXMuZmluZCgoaXQpID0+IGl0LmxhYmVsID09PSBYdG9MQUJFTCh0aGlzLnNsaWRlcnNbMF0ueCkpO1xuICAgICAgY29uc3QgcmFuZ2VFbmQgPSBpdGVtcy5maW5kKChpdCkgPT4gaXQubGFiZWwgPT09IFh0b0xBQkVMKHRoaXMuc2xpZGVyc1sxXS54KSk7XG4gICAgICByZXR1cm4gW1xuICAgICAgICByYW5nZVN0YXJ0LnBheWxvYWQsXG4gICAgICAgIHJhbmdlTW9kZVxuICAgICAgICAgID8gcmFuZ2VFbmQucmFuZ2UucGF5bG9hZFxuICAgICAgICAgIDogcmFuZ2VFbmQucGF5bG9hZFxuICAgICAgXTtcbiAgICB9O1xuICAgIC8vIEhlbHBlcnMgLSBFbmQuXG5cbiAgICAvLyBjbGVhciBIVE1MIGNvbnRlbnRzXG4gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoY29udGFpbmVySWQpLmlubmVySFRNTCA9ICcnO1xuICAgIGNvbnN0IHN2ZyA9IGQzXG4gICAgICAuc2VsZWN0KGAjJHtjb250YWluZXJJZH1gKVxuICAgICAgLmF0dHIoJ3ZpZXdCb3gnLCBgMCAwICR7d2lkdGggKyBtYXJnaW4ubGVmdCArIG1hcmdpbi5yaWdodH0gJHtoZWlnaHQgKyBtYXJnaW4udG9wICsgbWFyZ2luLmJvdHRvbX1gKTtcbiAgICB0aGlzLnN2ZyA9IHN2ZztcblxuICAgIGNvbnN0IHNjYWxlSGVpZ2h0ID0gZDNcbiAgICAgIC5zY2FsZVN5bWxvZygpIC8vIG1vc3Qgc2ltaWxhciBzY2FsZSB0byB0aGUgb3JpZ2luYWxcbiAgICAgIC5kb21haW4oWzAsIGQzLm1heChpdGVtcywgKGQpID0+IGQudmFsdWUpXSlcbiAgICAgIC5yYW5nZShbaGVpZ2h0LCAwXSk7XG5cbiAgICAvLyBHUkFESUVOVFxuICAgIGNvbnN0IGRlZnMgPSBzdmcuYXBwZW5kKCdkZWZzJyk7IC8vIGRlZmluaXRpb25zXG4gICAgY29uc3QgZ3JhZGllbnQgPSBkZWZzXG4gICAgICAuYXBwZW5kKCdsaW5lYXJHcmFkaWVudCcpXG4gICAgICAuYXR0cignaWQnLCAnZ3JhZGllbnQnKVxuICAgICAgLmF0dHIoJ2dyYWRpZW50VW5pdHMnLCAndXNlclNwYWNlT25Vc2UnKVxuICAgICAgLmF0dHIoJ3gxJywgMClcbiAgICAgIC5hdHRyKCd5MScsIGhlaWdodClcbiAgICAgIC5hdHRyKCd4MicsIDApXG4gICAgICAuYXR0cigneTInLCBtYXJnaW4udG9wKTtcbiAgICBncmFkaWVudFxuICAgICAgLmFwcGVuZCgnc3RvcCcpXG4gICAgICAuYXR0cignY2xhc3MnLCAnc3RhcnQnKVxuICAgICAgLmF0dHIoJ29mZnNldCcsICcwJScpXG4gICAgICAuYXR0cignc3RvcC1jb2xvcicsIGNvbG91cnMuYm90dG9tKSAvLyBib3R0b20gZ3JhZGllbnRcbiAgICAgIC5hdHRyKCdzdG9wLW9wYWNpdHknLCAxKTtcbiAgICBncmFkaWVudFxuICAgICAgLmFwcGVuZCgnc3RvcCcpXG4gICAgICAuYXR0cignY2xhc3MnLCAnZW5kJylcbiAgICAgIC5hdHRyKCdvZmZzZXQnLCAnMTAwJScpXG4gICAgICAuYXR0cignc3RvcC1jb2xvcicsIGNvbG91cnMudG9wKSAvLyB0b3AgZ3JhZGllbnRcbiAgICAgIC5hdHRyKCdzdG9wLW9wYWNpdHknLCAxKTtcblxuICAgIC8vIERSQVcgSU5TSURFIE1BUkdJTlNcbiAgICBjb25zdCBnID0gc3ZnXG4gICAgICAuYXBwZW5kKCdnJylcbiAgICAgIC5hdHRyKCdjbGFzcycsICdjaGFydCcpXG4gICAgICAuYXR0cigndHJhbnNmb3JtJywgYHRyYW5zbGF0ZSgke21hcmdpbi5sZWZ0fSwke21hcmdpbi50b3B9KWApO1xuXG4gICAgY29uc3QgYmFyc0xheWVyID0gZy5hcHBlbmQoJ2cnKS5hdHRyKCdjbGFzcycsICdiYXJzJyk7XG4gICAgY29uc3QgY29udHJvbHNMYXllciA9IGcuYXBwZW5kKCdnJykuYXR0cignY2xhc3MnLCAnY29udHJvbHMnKTtcblxuICAgIC8vIEJBUiBDSEFSVFxuICAgIGJhcnNMYXllciAvLyBiYXJzXG4gICAgICAuc2VsZWN0QWxsKCdyZWN0LmJhcnMnKVxuICAgICAgLmRhdGEoaXRlbXMpXG4gICAgICAuam9pbigncmVjdCcpXG4gICAgICAuYXR0cignY2xhc3MnLCAnYmFycycpXG4gICAgICAuYXR0cignd2lkdGgnLCBMQUJFTHRvWC5iYW5kd2lkdGgpXG4gICAgICAuYXR0cignaGVpZ2h0JywgKGQpID0+IGhlaWdodCAtIHNjYWxlSGVpZ2h0KGQudmFsdWUpKVxuICAgICAgLmF0dHIoJ3knLCAoZCkgPT4gc2NhbGVIZWlnaHQoZC52YWx1ZSkpXG4gICAgICAuYXR0cigneCcsIChkKSA9PiBMQUJFTHRvWChkLmxhYmVsKSlcbiAgICAgIC5hdHRyKCdkYXRhLXN0YXJ0JywgKGQpID0+IGQucGF5bG9hZCkgLy8gbWFrZSB0aGUgZGF0YSBlYXNpbHkgYWNjZXNzaWJsZVxuICAgICAgLmF0dHIoJ2RhdGEtZW5kJywgKGQpID0+IChkLnJhbmdlID8gZC5yYW5nZS5wYXlsb2FkIDogZC5wYXlsb2FkKSlcbiAgICAgIC5hdHRyKCdmaWxsJywgJ3VybCgjZ3JhZGllbnQpJyk7XG5cbiAgICBiYXJzTGF5ZXIgLy8gY2F0Y2ggYmFyIGV2ZW50c1xuICAgICAgLm9uKCdtb3VzZW1vdmUnLCAoZXZlbnQpID0+IHtcbiAgICAgICAgY29uc3QgeWVhciA9IFh0b0xBQkVMKHRoaXMuZ2V0RXZlbnRDb29yZHMoZXZlbnQpLngpO1xuICAgICAgICBkMy5zZWxlY3RBbGwoJ3JlY3QuYmFycycpLmF0dHIoJ2ZpbGwnLCAoZCkgPT4ge1xuICAgICAgICAgIGlmICh5ZWFyID09PSBkLmxhYmVsKSByZXR1cm4gJyNCMENDRjgnO1xuICAgICAgICAgIHJldHVybiBjb2xvdXJCYXJzKGQpO1xuICAgICAgICB9KTtcbiAgICAgIH0pXG4gICAgICAub24oJ21vdXNlb3V0JywgKCkgPT4ge1xuICAgICAgICBkMy5zZWxlY3RBbGwoJ3JlY3QuYmFycycpLmF0dHIoJ2ZpbGwnLCAoZCkgPT4gY29sb3VyQmFycyhkKSk7XG4gICAgICB9KVxuICAgICAgLm9uKCdjbGljaycsIChldmVudCkgPT4ge1xuICAgICAgICBjb25zdCBsYWJlbCA9IFh0b0xBQkVMKHRoaXMuZ2V0RXZlbnRDb29yZHMoZXZlbnQpLngpO1xuICAgICAgICBjb25zdCB4QXhpc1ZhbHVlID0gTEFCRUx0b1gobGFiZWwpICsgTEFCRUx0b1guYmFuZHdpZHRoKCkgLyAyO1xuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHtcbiAgICAgICAgICB4OiB4QXhpc1ZhbHVlLFxuICAgICAgICAgIHk6IGhlaWdodFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLnNsaWRlcnMgPSBbXG4gICAgICAgICAgLy8gYXZvaWQgam9pbmluZyB0aGUgdHdvIG9iamVjdHMhXG4gICAgICAgICAgeyAuLi5uZXdWYWx1ZSB9LFxuICAgICAgICAgIHsgLi4ubmV3VmFsdWUgfVxuICAgICAgICBdO1xuICAgICAgICByYW5nZVBpY2tlclxuICAgICAgICAgIC5kYXRhKHRoaXMuc2xpZGVycylcbiAgICAgICAgICAuc2VsZWN0KCdjaXJjbGUnKVxuICAgICAgICAgIC50cmFuc2l0aW9uKClcbiAgICAgICAgICAuZWFzZShkMy5lYXNlUXVhZE91dClcbiAgICAgICAgICAuZHVyYXRpb24oNTUwKVxuICAgICAgICAgIC5hdHRyKCdjeCcsIChkKSA9PiBkLngpO1xuICAgICAgICBjb250cm9sc0xheWVyXG4gICAgICAgICAgLnNlbGVjdCgncGF0aC5ibHVlbGluZScpXG4gICAgICAgICAgLnRyYW5zaXRpb24oKVxuICAgICAgICAgIC5lYXNlKGQzLmVhc2VRdWFkT3V0KVxuICAgICAgICAgIC5kdXJhdGlvbig1NTApXG4gICAgICAgICAgLmF0dHIoJ2QnLCBkMy5saW5lKCkodGhpcy5zbGlkZXJzLm1hcCgoZCkgPT4gW2QueCwgZC55XSkpKTtcbiAgICAgICAgY29udHJvbHNMYXllclxuICAgICAgICAgIC5zZWxlY3RBbGwoJ3RleHQnKVxuICAgICAgICAgIC50cmFuc2l0aW9uKClcbiAgICAgICAgICAuZWFzZShkMy5lYXNlUXVhZE91dClcbiAgICAgICAgICAuZHVyYXRpb24oNTUwKVxuICAgICAgICAgIC5hdHRyKCd4JywgKCkgPT4geEF4aXNWYWx1ZSlcbiAgICAgICAgICAudGV4dCgoZCwgaSkgPT4ge1xuICAgICAgICAgICAgaWYgKCFyYW5nZU1vZGUpIHJldHVybiBsYWJlbDtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSBpdGVtcy5maW5kKChpdCkgPT4gaXQubGFiZWwgPT09IGxhYmVsKTtcbiAgICAgICAgICAgIGlmIChpID4gMCkgcmV0dXJuIGl0ZW0ucmFuZ2UubGFiZWw7XG4gICAgICAgICAgICByZXR1cm4gaXRlbS5sYWJlbDtcbiAgICAgICAgICB9KTtcbiAgICAgICAgZy5zZWxlY3RBbGwoJ3JlY3QuYmFycycpLmF0dHIoJ2ZpbGwnLCAoZCkgPT4gY29sb3VyQmFycyhkKSk7XG4gICAgICAgIHRoaXMudGV4dENvbGxpc2lvbih0aGlzLnNsaWRlcnMpO1xuICAgICAgICB0aGlzLmVtaXQoJ3Jhbmdlc2VsZWN0ZWQnLCB0aGlzLmdldFNlbGVjdGVkUmFuZ2UoKSk7XG4gICAgICB9KTtcblxuICAgIGNvbnRyb2xzTGF5ZXIgLy8gZ3JheSBsaW5lXG4gICAgICAuYXBwZW5kKCdwYXRoJylcbiAgICAgIC5hdHRyKCdjbGFzcycsICdncmF5bGluZScpXG4gICAgICAuYXR0cihcbiAgICAgICAgJ2QnLFxuICAgICAgICBkMy5saW5lKCkoW1xuICAgICAgICAgIFswLCBoZWlnaHRdLFxuICAgICAgICAgIFt3aWR0aCwgaGVpZ2h0XVxuICAgICAgICBdKVxuICAgICAgKVxuICAgICAgLmF0dHIoJ3N0cm9rZS13aWR0aCcsIDIpXG4gICAgICAuYXR0cignb3BhY2l0eScsIDEpXG4gICAgICAuYXR0cignc3Ryb2tlJywgJyNDMUM1QzcnKTtcblxuICAgIGNvbnRyb2xzTGF5ZXIgLy8gYmx1ZSBsaW5lXG4gICAgICAuYXBwZW5kKCdwYXRoJylcbiAgICAgIC5hdHRyKCdjbGFzcycsICdibHVlbGluZScpXG4gICAgICAuYXR0cignZCcsIGQzLmxpbmUoKSh0aGlzLnNsaWRlcnMubWFwKChkKSA9PiBbZC54LCBkLnldKSkpXG4gICAgICAuYXR0cignc3Ryb2tlLXdpZHRoJywgMilcbiAgICAgIC5hdHRyKCdzdHJva2UnLCBjb2xvdXJzLmFjY2VudCk7XG5cbiAgICBjb25zdCByYW5nZVBpY2tlciA9IGNvbnRyb2xzTGF5ZXJcbiAgICAgIC5zZWxlY3RBbGwoJ2cucmFuZ2VwaWNrZXInKVxuICAgICAgLmRhdGEodGhpcy5zbGlkZXJzLnNvcnQoKGEsIGIpID0+IGQzLmFzY2VuZGluZyhhLngsIGIueCkpKVxuICAgICAgLmpvaW4oJ2cnKVxuICAgICAgLmF0dHIoJ2NsYXNzJywgJ3JhbmdlcGlja2VyJyk7XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXRoaXMtYWxpYXNcbiAgICBjb25zdCBzZWxmID0gdGhpczsgLy8gRklYTUU6IEFsbG93IHVzZSBvZiBjbGFzcyBcInRoaXNcIiBpbnNpZGUgZHJhZ2dpbmcgdXBkYXRlO1xuICAgIC8qKlxuICAgKiBBbmltYXRlIHRoZSBlbGVtZW50cyB3aGlsZSB0aGUgdXNlciBpcyBkcmFnZ2luZyBvbmUgb2YgdGhlIHJhbmdlIHNlbGVjdG9yc1xuICAgKi9cbiAgICBmdW5jdGlvbiBkcmFnZ2luZ1VwZGF0ZShldmVudCwgZGF0YSkge1xuICAgICAgY29uc3QgbGFiZWwgPSBYdG9MQUJFTChldmVudC54KTtcbiAgICAgIGNvbnN0IHhBeGlzVmFsdWUgPSBMQUJFTHRvWChsYWJlbCkgKyBMQUJFTHRvWC5iYW5kd2lkdGgoKSAvIDI7XG4gICAgICBjb25zdCB5YiA9IFtdO1xuICAgICAgZy5zZWxlY3RBbGwoJ2NpcmNsZScpLmVhY2goZnVuY3Rpb24gc2V0QmFsbFBvc2l0aW9uKCkge1xuICAgICAgICB5Yi5wdXNoKHsgeDogK2QzLnNlbGVjdCh0aGlzKS5hdHRyKCdjeCcpLCB5OiBoZWlnaHQgfSk7XG4gICAgICB9KTtcbiAgICAgIHNlbGYuc2xpZGVycyA9IHliLnNvcnQoKGEsIGIpID0+IGQzLmFzY2VuZGluZyhhLngsIGIueCkpO1xuICAgICAgLy8gbW92ZSB0aGUgY2lyY2xlXG4gICAgICBkMy5zZWxlY3QodGhpcylcbiAgICAgICAgLnNlbGVjdCgnY2lyY2xlJylcbiAgICAgICAgLmF0dHIoJ2N4JywgZGF0YS54ID0geEF4aXNWYWx1ZSk7XG4gICAgICAvLyBtb3ZlIHRoZSBibHVlIGxpbmVcbiAgICAgIGNvbnRyb2xzTGF5ZXJcbiAgICAgICAgLnNlbGVjdCgncGF0aC5ibHVlbGluZScpXG4gICAgICAgIC5hdHRyKCdkJywgZDMubGluZSgpKHNlbGYuc2xpZGVycy5tYXAoKGQpID0+IFtkLngsIGQueV0pKSk7XG4gICAgICAvLyBjaGFuZ2UgdGhlIHRleHQgcG9zaXRpb25cbiAgICAgIGQzLnNlbGVjdCh0aGlzKVxuICAgICAgICAuc2VsZWN0KCd0ZXh0JylcbiAgICAgICAgLmF0dHIoJ3gnLCAoKSA9PiB4QXhpc1ZhbHVlKTtcbiAgICAgIC8vIGNoYW5nZSB0aGUgdGV4dCB2YWx1ZXNcbiAgICAgIGNvbnRyb2xzTGF5ZXJcbiAgICAgICAgLnNlbGVjdEFsbCgndGV4dCcpXG4gICAgICAgIC50ZXh0KChkKSA9PiB7XG4gICAgICAgICAgY29uc3QgbCA9IFh0b0xBQkVMKGQueCk7XG4gICAgICAgICAgaWYgKCFyYW5nZU1vZGUpIHJldHVybiBsO1xuICAgICAgICAgIGNvbnN0IHBvc2l0aW9uID0gc2VsZi5zbGlkZXJzLmZpbmRJbmRleCgoc2xpZGVyKSA9PiBzbGlkZXIueCA9PT0gZC54KTtcbiAgICAgICAgICBjb25zdCByYW5nZSA9IHNlbGYuZ2V0U2VsZWN0ZWRSYW5nZSgpO1xuICAgICAgICAgIGlmIChwb3NpdGlvbiA9PT0gMSkgcmV0dXJuIHJhbmdlWzFdO1xuICAgICAgICAgIHJldHVybiByYW5nZVswXTtcbiAgICAgICAgfSk7XG4gICAgICBzZWxmLnRleHRDb2xsaXNpb24oc2VsZi5zbGlkZXJzKTtcbiAgICAgIC8vIGNvbG91ciB0aGUgYmFyc1xuICAgICAgZy5zZWxlY3RBbGwoJ3JlY3QuYmFycycpLmF0dHIoJ2ZpbGwnLCAoZCkgPT4gY29sb3VyQmFycyhkKSk7XG4gICAgfVxuXG4gICAgcmFuZ2VQaWNrZXIgLy8gZHJhZyBoYW5kbGVyXG4gICAgICAuY2FsbChkMy5kcmFnKClcbiAgICAgICAgLm9uKCdkcmFnJywgZHJhZ2dpbmdVcGRhdGUpXG4gICAgICAgIC5vbignZW5kJywgKGV2ZW50LCBkYXRhKSA9PiB7XG4gICAgICAgICAgLy8gdXBkYXRlIG9uZSBsYXN0IHRpbWUgdG8gcHJldmVudCBkZXN5bmNpbmdcbiAgICAgICAgICBkcmFnZ2luZ1VwZGF0ZShldmVudCwgZGF0YSk7XG4gICAgICAgICAgLy8gZW1pdCB0aGUgc2VsZWN0ZWQgcmFuZ2VcbiAgICAgICAgICB0aGlzLmVtaXQoJ3Jhbmdlc2VsZWN0ZWQnLCB0aGlzLmdldFNlbGVjdGVkUmFuZ2UoKSk7XG4gICAgICAgIH0pKTtcblxuICAgIHJhbmdlUGlja2VyXG4gICAgICAuYXBwZW5kKCdjaXJjbGUnKVxuICAgICAgLmF0dHIoJ2N4JywgKGQpID0+IGQueClcbiAgICAgIC5hdHRyKCdjeScsIChkKSA9PiBkLnkpXG4gICAgICAuYXR0cigncicsIDkpXG4gICAgICAuYXR0cignZmlsbCcsICd3aGl0ZScpXG4gICAgICAuYXR0cignc3Ryb2tlLXdpZHRoJywgMilcbiAgICAgIC5hdHRyKCdzdHJva2UnLCBjb2xvdXJzLmFjY2VudClcbiAgICAgIC5hdHRyKCdzdHlsZScsICdjdXJzb3I6IHBvaW50ZXInKTtcblxuICAgIHJhbmdlUGlja2VyXG4gICAgICAuYXR0cigndGV4dC1hbmNob3InLCAnbWlkZGxlJylcbiAgICAgIC5hdHRyKCdmb250LWZhbWlseScsICdSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmJylcbiAgICAgIC5hdHRyKCdmb250LXNpemUnLCAnMTJweCcpXG4gICAgICAuYXBwZW5kKCd0ZXh0JylcbiAgICAgIC5hdHRyKCd5JywgKGQpID0+IGQueSArIG1hcmdpbi5ib3R0b20gLyAyKVxuICAgICAgLmF0dHIoJ3gnLCAoZCkgPT4gZC54KVxuICAgICAgLmF0dHIoJ2ZpbGwnLCBjb2xvdXJzLmFjY2VudClcbiAgICAgIC50ZXh0KChkLCBpKSA9PiB7XG4gICAgICAgIGNvbnN0IGwgPSBYdG9MQUJFTChkLngpO1xuICAgICAgICBpZiAocmFuZ2VNb2RlICYmIGkgPT09IDEpIHtcbiAgICAgICAgICByZXR1cm4gaXRlbXMuZmluZCgoaXRlbSkgPT4gaXRlbS5sYWJlbCA9PT0gbCkucmFuZ2UubGFiZWw7XG4gICAgICAgIH0gcmV0dXJuIGw7XG4gICAgICB9KTtcblxuICAgIGlmIChheGlzPy55QXhpcz8uc2hvdykge1xuICAgICAgY29uc3QgeUF4aXMgPSBkMy5heGlzTGVmdChzY2FsZUhlaWdodClcbiAgICAgICAgLnRpY2tzKGF4aXMueUF4aXMudGlja0Ftb3VudCA/PyAyKVxuICAgICAgICAudGlja1ZhbHVlcyhheGlzLnlBeGlzLnZhbHVlcyA/IGF4aXMueUF4aXMudmFsdWVzIDogbnVsbCk7XG4gICAgICBjb25zdCB5QXhpc0dyb3VwID0gc3ZnLmFwcGVuZCgnZycpXG4gICAgICAgIC5hdHRyKCd0cmFuc2Zvcm0nLCBgdHJhbnNsYXRlKCR7bWFyZ2luLmxlZnR9LCAke21hcmdpbi50b3B9KWApXG4gICAgICAgIC5jYWxsKHlBeGlzKTtcblxuICAgICAgeUF4aXNHcm91cC5zZWxlY3RBbGwoJ3BhdGgsIGxpbmUnKS5zdHlsZSgnc3Ryb2tlJywgY29sb3Vycy5hY2NlbnQpO1xuICAgICAgeUF4aXNHcm91cC5zZWxlY3RBbGwoJ3RleHQnKS5zdHlsZSgnZmlsbCcsIGNvbG91cnMuYWNjZW50KTtcbiAgICB9XG4gIH07XG5cbiAgLyoqIEF2b2lkIGNvbGxpc2lvbiBvZiB0aGUgc2xpZGVyIGxhYmVscyAqL1xuICB0ZXh0Q29sbGlzaW9uID0gKHNsaWRlcnM6IFNsaWRlcnMpID0+IHtcbiAgICAvLyBwcmUtcmVxdWlzaXRlc1xuICAgIGNvbnN0IGNvbnRyb2xzTGF5ZXIgPSB0aGlzLmQzLnNlbGVjdCgnZy5jaGFydCcpLnNlbGVjdCgnZy5jb250cm9scycpO1xuICAgIGNvbnN0IHsgaXRlbXMsIG1hcmdpbiB9ID0gdGhpcy5kYXRhO1xuICAgIGNvbnN0IHJhbmdlTW9kZSA9IGl0ZW1zLmV2ZXJ5KChkKSA9PiBkLnJhbmdlKTtcbiAgICAvLyBydW4gY29sbGlzaW9uIGRldGVjdGlvblxuICAgIGNvbnN0IGlzQ29sbGlkaW5nID0gc2xpZGVyc1swXS54ID09PSBzbGlkZXJzWzFdLng7XG4gICAgaWYgKHJhbmdlTW9kZSAmJiBpc0NvbGxpZGluZykge1xuICAgICAgY29udHJvbHNMYXllclxuICAgICAgICAuc2VsZWN0QWxsKCd0ZXh0JylcbiAgICAgICAgLmF0dHIoJ3knLCAoZCwgaSkgPT4gKGkgPiAwID8gZC55ICsgbWFyZ2luLmJvdHRvbSAvIDIgKyAxMiA6IGQueSArIG1hcmdpbi5ib3R0b20gLyAyKSlcbiAgICAgICAgLnRleHQoKGQsIGkpID0+IHtcbiAgICAgICAgICBjb25zdCByYW5nZSA9IHRoaXMuZ2V0U2VsZWN0ZWRSYW5nZSgpO1xuICAgICAgICAgIHJldHVybiByYW5nZVtpXTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnRyb2xzTGF5ZXJcbiAgICAgICAgLnNlbGVjdEFsbCgndGV4dCcpXG4gICAgICAgIC5hdHRyKCd5JywgKGQpID0+IGQueSArIG1hcmdpbi5ib3R0b20gLyAyKTtcbiAgICB9XG4gIH07XG5cbiAgLyoqIEdldCB4LWF4aXMgcG9zaXRpb24gZnJvbSBsYWJlbCAqL1xuICBsYWJlbFRvWCgpIHtcbiAgICByZXR1cm4gdGhpcy5kM1xuICAgICAgLnNjYWxlQmFuZCgpXG4gICAgICAuZG9tYWluKHRoaXMuZGF0YS5pdGVtcy5tYXAoKGQpID0+IGQubGFiZWwpKVxuICAgICAgLnJhbmdlKFswLCB0aGlzLmRhdGEud2lkdGhdKVxuICAgICAgLnBhZGRpbmdJbm5lcigwLjE3KVxuICAgICAgLnBhZGRpbmdPdXRlcigxKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYW4gZXZlbnQgd2l0aCB2aWV3Qm94IGNvb3JkaW5hdGVzIGFuZFxuICAgKiBwYXJzZSB0aGVtIGluIGFic29sdXRlIGNvb3JkaW5hdGVzXG4gICAqL1xuICBnZXRFdmVudENvb3JkcyhldmVudCk6IHsgeDogbnVtYmVyLCB5OiBudW1iZXIgfSB7XG4gICAgY29uc3QgbSA9IGV2ZW50LnRhcmdldC5nZXRTY3JlZW5DVE0oKTtcbiAgICBjb25zdCBwb2ludCA9IHRoaXMuc3ZnLm5vZGUoKS5jcmVhdGVTVkdQb2ludCgpO1xuICAgIHBvaW50LnggPSBldmVudC5jbGllbnRYO1xuICAgIHBvaW50LnkgPSBldmVudC5jbGllbnRZO1xuICAgIHJldHVybiBwb2ludC5tYXRyaXhUcmFuc2Zvcm0obS5pbnZlcnNlKCkpO1xuICB9XG5cbiAgLyoqIFB1YmxpYyBhcGkgdGhhdCBhbGxvd3MgdG8gZGluYW1pY2FsbHkgY2hhbmdlIHRoZSBiYXJzICovXG4gIHNldEJhcnMgPSAobmV3QmFycykgPT4ge1xuICAgIHRoaXMuZGF0YS5pdGVtcyA9IG5ld0JhcnM7XG4gICAgdGhpcy5kcmF3KCk7XG4gICAgdGhpcy5kMy5zZWxlY3RBbGwoJ3JlY3QuYmFycycpLmF0dHIoJ2ZpbGwnLCAoZCkgPT4gdGhpcy5jb2xvdXJCYXJzKGQpKTtcbiAgfTtcblxuICAvKiogUHVibGljIGFwaSB0aGF0IGFsbG93cyB0byBkaW5hbWljYWxseSBjaGFuZ2UgdGhlIHNsaWRlciBwb3NpdGlvbiAqL1xuICBzZXRTbGlkZXJzID0gKFtzdGFydExhYmVsLCBlbmRMYWJlbF06IExhYmVsQ291cGxlLCBlbWl0ID0gdHJ1ZSkgPT4ge1xuICAgIC8vIHNldFNsaWRlcnMoWzE0NTAsIDE1NzVdKVxuICAgIHRoaXMuZGF0YS5zZXRTbGlkZXJzID0gW2Ake3N0YXJ0TGFiZWx9YCwgYCR7ZW5kTGFiZWx9YF07XG4gICAgdGhpcy5kcmF3KCk7XG4gICAgdGhpcy5kMy5zZWxlY3RBbGwoJ3JlY3QuYmFycycpLmF0dHIoJ2ZpbGwnLCAoZCkgPT4gdGhpcy5jb2xvdXJCYXJzKGQpKTtcbiAgICBjb25zdCByYW5nZSA9IHRoaXMuZ2V0U2VsZWN0ZWRSYW5nZSgpO1xuICAgIGlmIChlbWl0KSB0aGlzLmVtaXQoJ3Jhbmdlc2VsZWN0ZWQnLCByYW5nZSk7XG4gICAgdGhpcy50ZXh0Q29sbGlzaW9uKHRoaXMuc2xpZGVycyk7XG4gICAgcmV0dXJuIHJhbmdlO1xuICB9O1xuXG4gIC8qKiBFbWl0cyBhbiBldmVudCB3aGVuIHRoZSBjb21wb25lbnQgaGFzIGxvYWRlZCAqL1xuICBlbWl0TG9hZGVkKHBheWxvYWQpIHtcbiAgICBpZiAoIXRoaXMuZW1pdCkgcmV0dXJuO1xuICAgIHRoaXMuZW1pdCgnbG9hZGVkJywgcGF5bG9hZCk7XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJkYXRhXCIgY2xhc3M9XCJuNy1oaXN0b2dyYW0tcmFuZ2VcIj5cbiAgICA8c3ZnICNoaXN0b2dyYW1SYW5nZSBbaWRdPVwiZGF0YS5jb250YWluZXJJZFwiPjwvc3ZnPlxuPC9kaXY+XG4iXX0=
390
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9ncmFtLXJhbmdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHYtY29tcG9uZW50cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2hpc3RvZ3JhbS1yYW5nZS9oaXN0b2dyYW0tcmFuZ2UudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdi1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvaGlzdG9ncmFtLXJhbmdlL2hpc3RvZ3JhbS1yYW5nZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHlDQUF5QztBQUN6Qyw2QkFBNkI7QUFDN0IscUJBQXFCO0FBQ3JCLDZCQUE2QjtBQUU3QixPQUFPLEVBQXVCLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQTJGdEUsTUFBTSxPQUFPLHVCQUF1QjtJQUpwQztRQVdVLFlBQU8sR0FBWSxFQUFFLENBQUM7UUFLdEIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQW1DeEIsU0FBSSxHQUFHLEdBQUcsRUFBRTtZQUNWLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUM7WUFDcEIsTUFBTSxFQUNKLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUNyQixLQUFLLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFDM0IsSUFBSSxFQUFFLFVBQVUsRUFDakIsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBRWQsa0JBQWtCO1lBQ2xCLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM5QyxJQUFJLENBQUMsU0FBUyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUM3QyxNQUFNLEtBQUssQ0FBQyww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QUFJLENBQUM7YUFDbEIsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxjQUFjLENBQUMsS0FBSztRQUNsQixNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3RDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDL0MsS0FBSyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQ3hCLEtBQUssQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUN4QixPQUFPLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQXFCRCxtREFBbUQ7SUFDbkQsVUFBVSxDQUFDLE9BQU87UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTztRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMvQixDQUFDOztvSEF2WlUsdUJBQXVCO3dHQUF2Qix1QkFBdUIsa0dDaEdwQyx3SEFHQTsyRkQ2RmEsdUJBQXVCO2tCQUpuQyxTQUFTOytCQUNFLG9CQUFvQjs4QkFJckIsSUFBSTtzQkFBWixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXVzZS1iZWZvcmUtZGVmaW5lICovXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSElTVE9HUkFNLVJBTkdFLnRzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5pbXBvcnQgeyBBZnRlckNvbnRlbnRDaGVja2VkLCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG4vKipcbiAqIEludGVyZmFjZSBmb3IgSGlzdG9ncmFtUmFuZ2VDb21wb25lbnQncyBcImRhdGFcIlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEhpc3RvZ3JhbVJhbmdlRGF0YSB7XG4gIC8qKlxuICAgKiB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGhpc3RvZ3JhbS1yYW5nZSBzdmdcbiAgICovXG4gIGNvbnRhaW5lcklkOiBzdHJpbmc7XG4gIC8qKlxuICAgKiB0b3RhbCB3aWR0aCBmb3IgdGhlIHN2ZyBlbGVtZW50XG4gICAqL1xuICB3aWR0aDogbnVtYmVyO1xuICAvKipcbiAgICogdG90YWwgaGVpZ2h0IGZvciB0aGUgc3ZnIGVsZW1lbnRcbiAgICovXG4gIGhlaWdodDogbnVtYmVyO1xuICAvKipcbiAgICogSW50ZXJuYWwgbWFyZ2lucyBvZiB0aGUgc3ZnXG4gICAqL1xuICBtYXJnaW46IHtcbiAgICBsZWZ0OiBudW1iZXI7XG4gICAgcmlnaHQ6IG51bWJlcjtcbiAgICB0b3A6IG51bWJlcjtcbiAgICBib3R0b206IG51bWJlcjtcbiAgfTtcbiAgLyoqXG4gICAqIFRoZW1lIG9mIHRoZSBoaXN0b2dyYW1cbiAgICovXG4gIGNvbG91cnM6IHtcbiAgICB0b3A6IHN0cmluZztcbiAgICBib3R0b206IHN0cmluZztcbiAgICBhY2NlbnQ6IHN0cmluZztcbiAgfTtcbiAgLyoqXG4gICAqIERhdGEgZm9yIHRoZSBoaXN0b2dyYW0gYmFyc1xuICAgKi9cbiAgaXRlbXM6IHtcbiAgICAvKiogZGVmYXVsdCBsYWJlbCBvZiB0aGUgaXRlbSAqL1xuICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgLyoqIHktYXhpcyB2YWx1ZSBvZiB0aGUgYmFyIChoZWlnaHQpICovXG4gICAgdmFsdWU6IG51bWJlcjtcbiAgICAvKiogcGF5bG9hZCB0aGF0IHRoZSBpdGVtIHNob3VsZCBlbWl0IHdoZW4gc2VsZWN0ZWQgKi9cbiAgICBwYXlsb2FkOiBhbnk7XG4gICAgLyoqXG4gICAgICogJ3VwcGVyJyB2YWx1ZXMgb2YgdGhlIHJhbmdlLlxuICAgICAqIG9ubHkgdXNlZCB3aGVuIGVhY2ggYmFyIHJlcHJlc2VudHMgYSByYW5nZS5cbiAgICAgKi9cbiAgICByYW5nZT86IHtcbiAgICAgIC8qKiBsYWJlbCBsb2FkZWQgd2hlbiBzZWxlY3RlZCBieSB0aGUgcmlnaHQtbW9zdCBwb2ludGVyICovXG4gICAgICBsYWJlbDogc3RyaW5nO1xuICAgICAgLyoqIHBheWxvYWQgZW1pdHRlZCB3aGVuIHNlbGVjdGVkIGJ5IHRoZSByaWdodC1tb3N0IHBvaW50ZXIgKi9cbiAgICAgIHBheWxvYWQ6IGFueTtcbiAgICB9O1xuICB9W107XG4gIC8qKlxuICAgKiBBeGlzIHNldHRpbmdzXG4gICAqL1xuICBheGlzPzoge1xuICAgIC8qKiBZIEF4aXMgc2V0dGluZ3MgKi9cbiAgICB5QXhpcz86IHtcbiAgICAgIC8qKiBUdXJuIG9uIGFuZCBvZmYgdGhlIGF4aXMgKi9cbiAgICAgIHNob3c/OiBib29sZWFuO1xuICAgICAgLyoqIE1hbnVhbGx5IHNldCB0aGUgYXhpcyB2YWx1ZXMgdG8gc2hvdyAqL1xuICAgICAgdmFsdWVzPzogbnVtYmVyW107XG4gICAgICAvKiogSG93IG1hbnkgdGlja3MgZG8geW91IHdhbnQgdG8gc2VlICovXG4gICAgICB0aWNrQW1vdW50PzogbnVtYmVyO1xuICAgIH07XG4gIH07XG4gIC8qKlxuICAgKiBleHBvc2UgdGhlIGRyYXcgZnVuY3Rpb24gb3V0c2lkZSBvZiBuNy1mcm9udGVuZC9jb21wb25lbnRzIGxpYnJhcnlcbiAgICogdGhpcyBpcyBuZWVkZWQgdG8gcmVkcmF3IGJ1YmJsZS1jaGFydC1jb21wb25lbnQgb24gY29tbWFuZFxuICAgKi9cbiAgc2V0RHJhdz86IGFueTtcbiAgLyoqXG4gICAqIHNldFNsaWRlcnNcbiAgICovXG4gIHNldFNsaWRlcnM/OiBMYWJlbENvdXBsZTtcbiAgLyoqXG4gICAqIFB1YmxpYyBhcGlcbiAgICovXG4gIHNldEFwaT86IGFueTtcbn1cblxudHlwZSBTbGlkZXJzID0geyB4OiBudW1iZXI7IHk6IG51bWJlciB9W107XG50eXBlIExhYmVsQ291cGxlID0gW3N0cmluZywgc3RyaW5nXTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbjctaGlzdG9ncmFtLXJhbmdlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2hpc3RvZ3JhbS1yYW5nZS5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBIaXN0b2dyYW1SYW5nZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudENoZWNrZWQge1xuICBASW5wdXQoKSBkYXRhOiBIaXN0b2dyYW1SYW5nZURhdGE7XG5cbiAgQElucHV0KCkgZW1pdDogYW55O1xuXG4gIHByaXZhdGUgZDM7XG5cbiAgcHJpdmF0ZSBzbGlkZXJzOiBTbGlkZXJzID0gW107XG5cbiAgLyoqIGQzIHNlbGVjdGlvbiBzdmcgcm9vdCAqL1xuICBwcml2YXRlIHN2ZztcblxuICBwcml2YXRlIF9sb2FkZWQgPSBmYWxzZTtcblxuICBwcml2YXRlIGNvbG91ckJhcnM7XG5cbiAgcHJpdmF0ZSBnZXRTZWxlY3RlZFJhbmdlO1xuXG4gIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpIHtcbiAgICAvKlxuICAgICAgICAgV2FpdHMgZm9yIHRoZSBkb20gdG8gYmUgbG9hZGVkLCB0aGVuIGZpcmVzIHRoZSBkcmF3IGZ1bmN0aW9uXG4gICAgICAgICB0aGF0IHJlbmRlcnMgdGhlIGNoYXJ0LlxuICAgICovXG4gICAgaWYgKHRoaXMuZGF0YSkge1xuICAgICAgaWYgKHRoaXMuX2xvYWRlZCkgcmV0dXJuO1xuICAgICAgdGhpcy5fbG9hZGVkID0gdHJ1ZTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBpbXBvcnQoJ2QzJykudGhlbigobW9kdWxlKSA9PiB7XG4gICAgICAgICAgdGhpcy5kMyA9IG1vZHVsZTtcbiAgICAgICAgICB0aGlzLmRyYXcoKTtcbiAgICAgICAgICB0aGlzLmVtaXRMb2FkZWQodHJ1ZSk7XG4gICAgICAgICAgaWYgKHRoaXMuZGF0YSAmJiB0aGlzLmRhdGEuc2V0RHJhdykge1xuICAgICAgICAgICAgdGhpcy5kYXRhLnNldERyYXcodGhpcy5kcmF3KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHRoaXMuZGF0YS5zZXRBcGkpIHsgLy8gZXhwb3NlIHRoZSBjb21wb25lbnQgYXBpXG4gICAgICAgICAgICB0aGlzLmRhdGEuc2V0QXBpKHtcbiAgICAgICAgICAgICAgc2V0U2xpZGVyczogdGhpcy5zZXRTbGlkZXJzLFxuICAgICAgICAgICAgICBzZXRCYXJzOiB0aGlzLnNldEJhcnMsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRvdC1ub3RhdGlvblxuICAgICAgICAgIC8vIHdpbmRvd1snc2V0U2xpZGVycyddID0gdGhpcy5zZXRTbGlkZXJzO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGRyYXcgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBkMyB9ID0gdGhpcztcbiAgICBjb25zdCB7XG4gICAgICB3aWR0aCwgbWFyZ2luLCBoZWlnaHQsXG4gICAgICBpdGVtcywgY29sb3VycywgY29udGFpbmVySWQsXG4gICAgICBheGlzLCBzZXRTbGlkZXJzXG4gICAgfSA9IHRoaXMuZGF0YTtcblxuICAgIC8vIGRhdGEgdmFsaWRhdGlvblxuICAgIGNvbnN0IHJhbmdlTW9kZSA9IGl0ZW1zLmV2ZXJ5KChkKSA9PiBkLnJhbmdlKTtcbiAgICBpZiAoIXJhbmdlTW9kZSAmJiBpdGVtcy5zb21lKChkKSA9PiAhZC5yYW5nZSkpIHtcbiAgICAgIHRocm93IEVycm9yKCdBbGwgaXRlbXMgbXVzdCBoYXZlIHRoZSBcInJhbmdlXCIgcHJvcGVydHknKTtcbiAgICB9XG5cbiAgICAvLyBIZWxwZXJzIC0gU3RhcnQ6XG4gICAgY29uc3QgTEFCRUx0b1ggPSBkM1xuICAgICAgLnNjYWxlQmFuZCgpXG4gICAgICAuZG9tYWluKGl0ZW1zLm1hcCgoZCkgPT4gZC5sYWJlbCkpXG4gICAgICAucmFuZ2UoWzAsIHdpZHRoXSlcbiAgICAgIC5wYWRkaW5nSW5uZXIoMC4xNylcbiAgICAgIC5wYWRkaW5nT3V0ZXIoMSk7XG5cbiAgICBjb25zdCBYdG9MQUJFTCA9ICh2YWx1ZSkgPT4ge1xuICAgICAgY29uc3QgZG9tYWluID0gTEFCRUx0b1guZG9tYWluKCk7XG4gICAgICBjb25zdCBwYWRkaW5nT3V0ZXIgPSBMQUJFTHRvWChkb21haW5bMF0pO1xuICAgICAgY29uc3QgZWFjaEJhbmQgPSBMQUJFTHRvWC5zdGVwKCk7XG4gICAgICBjb25zdCBpbmRleCA9IE1hdGguZmxvb3IoKCh2YWx1ZSAtIHBhZGRpbmdPdXRlcikgLyBlYWNoQmFuZCkpO1xuICAgICAgcmV0dXJuIGRvbWFpbltNYXRoLm1heCgwLCBNYXRoLm1pbihpbmRleCwgZG9tYWluLmxlbmd0aCAtIDEpKV07XG4gICAgfTtcblxuICAgIC8vIFlFQVIgU0VMRUNUSU9OIENJUkNMRVNcbiAgICAvLyBsZXQgc2xpZGVycztcbiAgICBpZiAoc2V0U2xpZGVycyAmJiB0aGlzLnNsaWRlcnMpIHtcbiAgICAgIHRoaXMuc2xpZGVycyA9IHNldFNsaWRlcnNcbiAgICAgICAgLm1hcCgoZCkgPT4gKHsgeDogTEFCRUx0b1goZCkgKyBMQUJFTHRvWC5iYW5kd2lkdGgoKSAvIDIsIHk6IGhlaWdodCB9KSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2xpZGVycyA9IGQzXG4gICAgICAgIC5leHRlbnQoaXRlbXMsIChkKSA9PiBkLmxhYmVsKVxuICAgICAgICAubWFwKChkKSA9PiAoeyB4OiBMQUJFTHRvWChkKSArIExBQkVMdG9YLmJhbmR3aWR0aCgpIC8gMiwgeTogaGVpZ2h0IH0pKTtcbiAgICB9XG5cbiAgICBjb25zdCBpc0luUmFuZ2UgPSAoeSkgPT4ge1xuICAgICAgY29uc3QgYWxsSXRlbXMgPSB0aGlzLnNsaWRlcnMubWFwKChkKSA9PiBYdG9MQUJFTChkLngpKTtcbiAgICAgIGlmICh5ID49IGQzLm1pbihhbGxJdGVtcykgJiYgeSA8PSBkMy5tYXgoYWxsSXRlbXMpKSByZXR1cm4gdHJ1ZTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9O1xuXG4gICAgZnVuY3Rpb24gY29sb3VyQmFycyhkKSB7XG4gICAgICBpZiAoaXNJblJhbmdlKGQubGFiZWwpKSByZXR1cm4gJ3VybCgjZ3JhZGllbnQpJztcbiAgICAgIHJldHVybiAnI2UzZTNlMyc7XG4gICAgfVxuICAgIHRoaXMuY29sb3VyQmFycyA9IGNvbG91ckJhcnM7XG5cbiAgICB0aGlzLmdldFNlbGVjdGVkUmFuZ2UgPSAoKSA9PiB7XG4gICAgICBjb25zdCByYW5nZVN0YXJ0ID0gaXRlbXMuZmluZCgoaXQpID0+IGl0LmxhYmVsID09PSBYdG9MQUJFTCh0aGlzLnNsaWRlcnNbMF0ueCkpO1xuICAgICAgY29uc3QgcmFuZ2VFbmQgPSBpdGVtcy5maW5kKChpdCkgPT4gaXQubGFiZWwgPT09IFh0b0xBQkVMKHRoaXMuc2xpZGVyc1sxXS54KSk7XG4gICAgICByZXR1cm4gW1xuICAgICAgICByYW5nZVN0YXJ0LnBheWxvYWQsXG4gICAgICAgIHJhbmdlTW9kZVxuICAgICAgICAgID8gcmFuZ2VFbmQucmFuZ2UucGF5bG9hZFxuICAgICAgICAgIDogcmFuZ2VFbmQucGF5bG9hZFxuICAgICAgXTtcbiAgICB9O1xuICAgIC8vIEhlbHBlcnMgLSBFbmQuXG5cbiAgICAvLyBjbGVhciBIVE1MIGNvbnRlbnRzXG4gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoY29udGFpbmVySWQpLmlubmVySFRNTCA9ICcnO1xuICAgIGNvbnN0IHN2ZyA9IGQzXG4gICAgICAuc2VsZWN0KGAjJHtjb250YWluZXJJZH1gKVxuICAgICAgLmF0dHIoJ3ZpZXdCb3gnLCBgMCAwICR7d2lkdGggKyBtYXJnaW4ubGVmdCArIG1hcmdpbi5yaWdodH0gJHtoZWlnaHQgKyBtYXJnaW4udG9wICsgbWFyZ2luLmJvdHRvbX1gKTtcbiAgICB0aGlzLnN2ZyA9IHN2ZztcblxuICAgIGNvbnN0IHNjYWxlSGVpZ2h0ID0gZDNcbiAgICAgIC5zY2FsZVN5bWxvZygpIC8vIG1vc3Qgc2ltaWxhciBzY2FsZSB0byB0aGUgb3JpZ2luYWxcbiAgICAgIC5kb21haW4oWzAsIGQzLm1heChpdGVtcywgKGQpID0+IGQudmFsdWUpXSlcbiAgICAgIC5yYW5nZShbaGVpZ2h0LCAwXSk7XG5cbiAgICAvLyBHUkFESUVOVFxuICAgIGNvbnN0IGRlZnMgPSBzdmcuYXBwZW5kKCdkZWZzJyk7IC8vIGRlZmluaXRpb25zXG4gICAgY29uc3QgZ3JhZGllbnQgPSBkZWZzXG4gICAgICAuYXBwZW5kKCdsaW5lYXJHcmFkaWVudCcpXG4gICAgICAuYXR0cignaWQnLCAnZ3JhZGllbnQnKVxuICAgICAgLmF0dHIoJ2dyYWRpZW50VW5pdHMnLCAndXNlclNwYWNlT25Vc2UnKVxuICAgICAgLmF0dHIoJ3gxJywgMClcbiAgICAgIC5hdHRyKCd5MScsIGhlaWdodClcbiAgICAgIC5hdHRyKCd4MicsIDApXG4gICAgICAuYXR0cigneTInLCBtYXJnaW4udG9wKTtcbiAgICBncmFkaWVudFxuICAgICAgLmFwcGVuZCgnc3RvcCcpXG4gICAgICAuYXR0cignY2xhc3MnLCAnc3RhcnQnKVxuICAgICAgLmF0dHIoJ29mZnNldCcsICcwJScpXG4gICAgICAuYXR0cignc3RvcC1jb2xvcicsIGNvbG91cnMuYm90dG9tKSAvLyBib3R0b20gZ3JhZGllbnRcbiAgICAgIC5hdHRyKCdzdG9wLW9wYWNpdHknLCAxKTtcbiAgICBncmFkaWVudFxuICAgICAgLmFwcGVuZCgnc3RvcCcpXG4gICAgICAuYXR0cignY2xhc3MnLCAnZW5kJylcbiAgICAgIC5hdHRyKCdvZmZzZXQnLCAnMTAwJScpXG4gICAgICAuYXR0cignc3RvcC1jb2xvcicsIGNvbG91cnMudG9wKSAvLyB0b3AgZ3JhZGllbnRcbiAgICAgIC5hdHRyKCdzdG9wLW9wYWNpdHknLCAxKTtcblxuICAgIC8vIERSQVcgSU5TSURFIE1BUkdJTlNcbiAgICBjb25zdCBnID0gc3ZnXG4gICAgICAuYXBwZW5kKCdnJylcbiAgICAgIC5hdHRyKCdjbGFzcycsICdjaGFydCcpXG4gICAgICAuYXR0cigndHJhbnNmb3JtJywgYHRyYW5zbGF0ZSgke21hcmdpbi5sZWZ0fSwke21hcmdpbi50b3B9KWApO1xuXG4gICAgY29uc3QgYmFyc0xheWVyID0gZy5hcHBlbmQoJ2cnKS5hdHRyKCdjbGFzcycsICdiYXJzJyk7XG4gICAgY29uc3QgY29udHJvbHNMYXllciA9IGcuYXBwZW5kKCdnJykuYXR0cignY2xhc3MnLCAnY29udHJvbHMnKTtcblxuICAgIC8vIEJBUiBDSEFSVFxuICAgIGJhcnNMYXllciAvLyBiYXJzXG4gICAgICAuc2VsZWN0QWxsKCdyZWN0LmJhcnMnKVxuICAgICAgLmRhdGEoaXRlbXMpXG4gICAgICAuam9pbigncmVjdCcpXG4gICAgICAuYXR0cignY2xhc3MnLCAnYmFycycpXG4gICAgICAuYXR0cignd2lkdGgnLCBMQUJFTHRvWC5iYW5kd2lkdGgpXG4gICAgICAuYXR0cignaGVpZ2h0JywgKGQpID0+IGhlaWdodCAtIHNjYWxlSGVpZ2h0KGQudmFsdWUpKVxuICAgICAgLmF0dHIoJ3knLCAoZCkgPT4gc2NhbGVIZWlnaHQoZC52YWx1ZSkpXG4gICAgICAuYXR0cigneCcsIChkKSA9PiBMQUJFTHRvWChkLmxhYmVsKSlcbiAgICAgIC5hdHRyKCdkYXRhLXN0YXJ0JywgKGQpID0+IGQucGF5bG9hZCkgLy8gbWFrZSB0aGUgZGF0YSBlYXNpbHkgYWNjZXNzaWJsZVxuICAgICAgLmF0dHIoJ2RhdGEtZW5kJywgKGQpID0+IChkLnJhbmdlID8gZC5yYW5nZS5wYXlsb2FkIDogZC5wYXlsb2FkKSlcbiAgICAgIC5hdHRyKCdmaWxsJywgJ3VybCgjZ3JhZGllbnQpJyk7XG5cbiAgICBiYXJzTGF5ZXIgLy8gY2F0Y2ggYmFyIGV2ZW50c1xuICAgICAgLm9uKCdtb3VzZW1vdmUnLCAoZXZlbnQpID0+IHtcbiAgICAgICAgY29uc3QgeWVhciA9IFh0b0xBQkVMKHRoaXMuZ2V0RXZlbnRDb29yZHMoZXZlbnQpLngpO1xuICAgICAgICBkMy5zZWxlY3RBbGwoJ3JlY3QuYmFycycpLmF0dHIoJ2ZpbGwnLCAoZCkgPT4ge1xuICAgICAgICAgIGlmICh5ZWFyID09PSBkLmxhYmVsKSByZXR1cm4gJyNCMENDRjgnO1xuICAgICAgICAgIHJldHVybiBjb2xvdXJCYXJzKGQpO1xuICAgICAgICB9KTtcbiAgICAgIH0pXG4gICAgICAub24oJ21vdXNlb3V0JywgKCkgPT4ge1xuICAgICAgICBkMy5zZWxlY3RBbGwoJ3JlY3QuYmFycycpLmF0dHIoJ2ZpbGwnLCAoZCkgPT4gY29sb3VyQmFycyhkKSk7XG4gICAgICB9KVxuICAgICAgLm9uKCdjbGljaycsIChldmVudCkgPT4ge1xuICAgICAgICBjb25zdCBsYWJlbCA9IFh0b0xBQkVMKHRoaXMuZ2V0RXZlbnRDb29yZHMoZXZlbnQpLngpO1xuICAgICAgICBjb25zdCB4QXhpc1ZhbHVlID0gTEFCRUx0b1gobGFiZWwpICsgTEFCRUx0b1guYmFuZHdpZHRoKCkgLyAyO1xuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHtcbiAgICAgICAgICB4OiB4QXhpc1ZhbHVlLFxuICAgICAgICAgIHk6IGhlaWdodFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLnNsaWRlcnMgPSBbXG4gICAgICAgICAgLy8gYXZvaWQgam9pbmluZyB0aGUgdHdvIG9iamVjdHMhXG4gICAgICAgICAgeyAuLi5uZXdWYWx1ZSB9LFxuICAgICAgICAgIHsgLi4ubmV3VmFsdWUgfVxuICAgICAgICBdO1xuICAgICAgICByYW5nZVBpY2tlclxuICAgICAgICAgIC5kYXRhKHRoaXMuc2xpZGVycylcbiAgICAgICAgICAuc2VsZWN0KCdjaXJjbGUnKVxuICAgICAgICAgIC50cmFuc2l0aW9uKClcbiAgICAgICAgICAuZWFzZShkMy5lYXNlUXVhZE91dClcbiAgICAgICAgICAuZHVyYXRpb24oNTUwKVxuICAgICAgICAgIC5hdHRyKCdjeCcsIChkKSA9PiBkLngpO1xuICAgICAgICBjb250cm9sc0xheWVyXG4gICAgICAgICAgLnNlbGVjdCgncGF0aC5ibHVlbGluZScpXG4gICAgICAgICAgLnRyYW5zaXRpb24oKVxuICAgICAgICAgIC5lYXNlKGQzLmVhc2VRdWFkT3V0KVxuICAgICAgICAgIC5kdXJhdGlvbig1NTApXG4gICAgICAgICAgLmF0dHIoJ2QnLCBkMy5saW5lKCkodGhpcy5zbGlkZXJzLm1hcCgoZCkgPT4gW2QueCwgZC55XSkpKTtcbiAgICAgICAgY29udHJvbHNMYXllclxuICAgICAgICAgIC5zZWxlY3RBbGwoJ3RleHQnKVxuICAgICAgICAgIC50cmFuc2l0aW9uKClcbiAgICAgICAgICAuZWFzZShkMy5lYXNlUXVhZE91dClcbiAgICAgICAgICAuZHVyYXRpb24oNTUwKVxuICAgICAgICAgIC5hdHRyKCd4JywgKCkgPT4geEF4aXNWYWx1ZSlcbiAgICAgICAgICAudGV4dCgoZCwgaSkgPT4ge1xuICAgICAgICAgICAgaWYgKCFyYW5nZU1vZGUpIHJldHVybiBsYWJlbDtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSBpdGVtcy5maW5kKChpdCkgPT4gaXQubGFiZWwgPT09IGxhYmVsKTtcbiAgICAgICAgICAgIGlmIChpID4gMCkgcmV0dXJuIGl0ZW0ucmFuZ2UubGFiZWw7XG4gICAgICAgICAgICByZXR1cm4gaXRlbS5sYWJlbDtcbiAgICAgICAgICB9KTtcbiAgICAgICAgZy5zZWxlY3RBbGwoJ3JlY3QuYmFycycpLmF0dHIoJ2ZpbGwnLCAoZCkgPT4gY29sb3VyQmFycyhkKSk7XG4gICAgICAgIHRoaXMudGV4dENvbGxpc2lvbih0aGlzLnNsaWRlcnMpO1xuICAgICAgICB0aGlzLmVtaXQoJ3Jhbmdlc2VsZWN0ZWQnLCB0aGlzLmdldFNlbGVjdGVkUmFuZ2UoKSk7XG4gICAgICB9KTtcblxuICAgIGNvbnRyb2xzTGF5ZXIgLy8gZ3JheSBsaW5lXG4gICAgICAuYXBwZW5kKCdwYXRoJylcbiAgICAgIC5hdHRyKCdjbGFzcycsICdncmF5bGluZScpXG4gICAgICAuYXR0cihcbiAgICAgICAgJ2QnLFxuICAgICAgICBkMy5saW5lKCkoW1xuICAgICAgICAgIFswLCBoZWlnaHRdLFxuICAgICAgICAgIFt3aWR0aCwgaGVpZ2h0XVxuICAgICAgICBdKVxuICAgICAgKVxuICAgICAgLmF0dHIoJ3N0cm9rZS13aWR0aCcsIDIpXG4gICAgICAuYXR0cignb3BhY2l0eScsIDEpXG4gICAgICAuYXR0cignc3Ryb2tlJywgJyNDMUM1QzcnKTtcblxuICAgIGNvbnRyb2xzTGF5ZXIgLy8gYmx1ZSBsaW5lXG4gICAgICAuYXBwZW5kKCdwYXRoJylcbiAgICAgIC5hdHRyKCdjbGFzcycsICdibHVlbGluZScpXG4gICAgICAuYXR0cignZCcsIGQzLmxpbmUoKSh0aGlzLnNsaWRlcnMubWFwKChkKSA9PiBbZC54LCBkLnldKSkpXG4gICAgICAuYXR0cignc3Ryb2tlLXdpZHRoJywgMilcbiAgICAgIC5hdHRyKCdzdHJva2UnLCBjb2xvdXJzLmFjY2VudCk7XG5cbiAgICBjb25zdCByYW5nZVBpY2tlciA9IGNvbnRyb2xzTGF5ZXJcbiAgICAgIC5zZWxlY3RBbGwoJ2cucmFuZ2VwaWNrZXInKVxuICAgICAgLmRhdGEodGhpcy5zbGlkZXJzLnNvcnQoKGEsIGIpID0+IGQzLmFzY2VuZGluZyhhLngsIGIueCkpKVxuICAgICAgLmpvaW4oJ2cnKVxuICAgICAgLmF0dHIoJ2NsYXNzJywgJ3JhbmdlcGlja2VyJyk7XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXRoaXMtYWxpYXNcbiAgICBjb25zdCBzZWxmID0gdGhpczsgLy8gRklYTUU6IEFsbG93IHVzZSBvZiBjbGFzcyBcInRoaXNcIiBpbnNpZGUgZHJhZ2dpbmcgdXBkYXRlO1xuICAgIC8qKlxuICAgKiBBbmltYXRlIHRoZSBlbGVtZW50cyB3aGlsZSB0aGUgdXNlciBpcyBkcmFnZ2luZyBvbmUgb2YgdGhlIHJhbmdlIHNlbGVjdG9yc1xuICAgKi9cbiAgICBmdW5jdGlvbiBkcmFnZ2luZ1VwZGF0ZShldmVudCwgZGF0YSkge1xuICAgICAgY29uc3QgbGFiZWwgPSBYdG9MQUJFTChldmVudC54KTtcbiAgICAgIGNvbnN0IHhBeGlzVmFsdWUgPSBMQUJFTHRvWChsYWJlbCkgKyBMQUJFTHRvWC5iYW5kd2lkdGgoKSAvIDI7XG4gICAgICBjb25zdCB5YiA9IFtdO1xuICAgICAgZy5zZWxlY3RBbGwoJ2NpcmNsZScpLmVhY2goZnVuY3Rpb24gc2V0QmFsbFBvc2l0aW9uKCkge1xuICAgICAgICB5Yi5wdXNoKHsgeDogK2QzLnNlbGVjdCh0aGlzKS5hdHRyKCdjeCcpLCB5OiBoZWlnaHQgfSk7XG4gICAgICB9KTtcbiAgICAgIHNlbGYuc2xpZGVycyA9IHliLnNvcnQoKGEsIGIpID0+IGQzLmFzY2VuZGluZyhhLngsIGIueCkpO1xuICAgICAgLy8gbW92ZSB0aGUgY2lyY2xlXG4gICAgICBkMy5zZWxlY3QodGhpcylcbiAgICAgICAgLnNlbGVjdCgnY2lyY2xlJylcbiAgICAgICAgLmF0dHIoJ2N4JywgZGF0YS54ID0geEF4aXNWYWx1ZSk7XG4gICAgICAvLyBtb3ZlIHRoZSBibHVlIGxpbmVcbiAgICAgIGNvbnRyb2xzTGF5ZXJcbiAgICAgICAgLnNlbGVjdCgncGF0aC5ibHVlbGluZScpXG4gICAgICAgIC5hdHRyKCdkJywgZDMubGluZSgpKHNlbGYuc2xpZGVycy5tYXAoKGQpID0+IFtkLngsIGQueV0pKSk7XG4gICAgICAvLyBjaGFuZ2UgdGhlIHRleHQgcG9zaXRpb25cbiAgICAgIGQzLnNlbGVjdCh0aGlzKVxuICAgICAgICAuc2VsZWN0KCd0ZXh0JylcbiAgICAgICAgLmF0dHIoJ3gnLCAoKSA9PiB4QXhpc1ZhbHVlKTtcbiAgICAgIC8vIGNoYW5nZSB0aGUgdGV4dCB2YWx1ZXNcbiAgICAgIGNvbnRyb2xzTGF5ZXJcbiAgICAgICAgLnNlbGVjdEFsbCgndGV4dCcpXG4gICAgICAgIC50ZXh0KChkKSA9PiB7XG4gICAgICAgICAgY29uc3QgbCA9IFh0b0xBQkVMKGQueCk7XG4gICAgICAgICAgaWYgKCFyYW5nZU1vZGUpIHJldHVybiBsO1xuICAgICAgICAgIGNvbnN0IHBvc2l0aW9uID0gc2VsZi5zbGlkZXJzLmZpbmRJbmRleCgoc2xpZGVyKSA9PiBzbGlkZXIueCA9PT0gZC54KTtcbiAgICAgICAgICBjb25zdCByYW5nZSA9IHNlbGYuZ2V0U2VsZWN0ZWRSYW5nZSgpO1xuICAgICAgICAgIGlmIChwb3NpdGlvbiA9PT0gMSkgcmV0dXJuIHJhbmdlWzFdO1xuICAgICAgICAgIHJldHVybiByYW5nZVswXTtcbiAgICAgICAgfSk7XG4gICAgICBzZWxmLnRleHRDb2xsaXNpb24oc2VsZi5zbGlkZXJzKTtcbiAgICAgIC8vIGNvbG91ciB0aGUgYmFyc1xuICAgICAgZy5zZWxlY3RBbGwoJ3JlY3QuYmFycycpLmF0dHIoJ2ZpbGwnLCAoZCkgPT4gY29sb3VyQmFycyhkKSk7XG4gICAgfVxuXG4gICAgcmFuZ2VQaWNrZXIgLy8gZHJhZyBoYW5kbGVyXG4gICAgICAuY2FsbChkMy5kcmFnKClcbiAgICAgICAgLm9uKCdkcmFnJywgZHJhZ2dpbmdVcGRhdGUpXG4gICAgICAgIC5vbignZW5kJywgKGV2ZW50LCBkYXRhKSA9PiB7XG4gICAgICAgICAgLy8gdXBkYXRlIG9uZSBsYXN0IHRpbWUgdG8gcHJldmVudCBkZXN5bmNpbmdcbiAgICAgICAgICBkcmFnZ2luZ1VwZGF0ZShldmVudCwgZGF0YSk7XG4gICAgICAgICAgLy8gZW1pdCB0aGUgc2VsZWN0ZWQgcmFuZ2VcbiAgICAgICAgICB0aGlzLmVtaXQoJ3Jhbmdlc2VsZWN0ZWQnLCB0aGlzLmdldFNlbGVjdGVkUmFuZ2UoKSk7XG4gICAgICAgIH0pKTtcblxuICAgIHJhbmdlUGlja2VyXG4gICAgICAuYXBwZW5kKCdjaXJjbGUnKVxuICAgICAgLmF0dHIoJ2N4JywgKGQpID0+IGQueClcbiAgICAgIC5hdHRyKCdjeScsIChkKSA9PiBkLnkpXG4gICAgICAuYXR0cigncicsIDkpXG4gICAgICAuYXR0cignZmlsbCcsICd3aGl0ZScpXG4gICAgICAuYXR0cignc3Ryb2tlLXdpZHRoJywgMilcbiAgICAgIC5hdHRyKCdzdHJva2UnLCBjb2xvdXJzLmFjY2VudClcbiAgICAgIC5hdHRyKCdzdHlsZScsICdjdXJzb3I6IHBvaW50ZXInKTtcblxuICAgIHJhbmdlUGlja2VyXG4gICAgICAuYXR0cigndGV4dC1hbmNob3InLCAnbWlkZGxlJylcbiAgICAgIC5hdHRyKCdmb250LWZhbWlseScsICdSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmJylcbiAgICAgIC5hdHRyKCdmb250LXNpemUnLCAnMTJweCcpXG4gICAgICAuYXBwZW5kKCd0ZXh0JylcbiAgICAgIC5hdHRyKCd5JywgKGQpID0+IGQueSArIG1hcmdpbi5ib3R0b20gLyAyKVxuICAgICAgLmF0dHIoJ3gnLCAoZCkgPT4gZC54KVxuICAgICAgLmF0dHIoJ2ZpbGwnLCBjb2xvdXJzLmFjY2VudClcbiAgICAgIC50ZXh0KChkLCBpKSA9PiB7XG4gICAgICAgIGNvbnN0IGwgPSBYdG9MQUJFTChkLngpO1xuICAgICAgICBpZiAocmFuZ2VNb2RlICYmIGkgPT09IDEpIHtcbiAgICAgICAgICByZXR1cm4gaXRlbXMuZmluZCgoaXRlbSkgPT4gaXRlbS5sYWJlbCA9PT0gbCkucmFuZ2UubGFiZWw7XG4gICAgICAgIH0gcmV0dXJuIGw7XG4gICAgICB9KTtcblxuICAgIGlmIChheGlzPy55QXhpcz8uc2hvdykge1xuICAgICAgY29uc3QgeUF4aXMgPSBkMy5heGlzTGVmdChzY2FsZUhlaWdodClcbiAgICAgICAgLnRpY2tzKGF4aXMueUF4aXMudGlja0Ftb3VudCA/PyAyKVxuICAgICAgICAudGlja1ZhbHVlcyhheGlzLnlBeGlzLnZhbHVlcyA/IGF4aXMueUF4aXMudmFsdWVzIDogbnVsbCk7XG4gICAgICBjb25zdCB5QXhpc0dyb3VwID0gc3ZnLmFwcGVuZCgnZycpXG4gICAgICAgIC5hdHRyKCd0cmFuc2Zvcm0nLCBgdHJhbnNsYXRlKCR7bWFyZ2luLmxlZnR9LCAke21hcmdpbi50b3B9KWApXG4gICAgICAgIC5jYWxsKHlBeGlzKTtcblxuICAgICAgeUF4aXNHcm91cC5zZWxlY3RBbGwoJ3BhdGgsIGxpbmUnKS5zdHlsZSgnc3Ryb2tlJywgY29sb3Vycy5hY2NlbnQpO1xuICAgICAgeUF4aXNHcm91cC5zZWxlY3RBbGwoJ3RleHQnKS5zdHlsZSgnZmlsbCcsIGNvbG91cnMuYWNjZW50KTtcbiAgICB9XG4gIH07XG5cbiAgLyoqIEF2b2lkIGNvbGxpc2lvbiBvZiB0aGUgc2xpZGVyIGxhYmVscyAqL1xuICB0ZXh0Q29sbGlzaW9uID0gKHNsaWRlcnM6IFNsaWRlcnMpID0+IHtcbiAgICAvLyBwcmUtcmVxdWlzaXRlc1xuICAgIGNvbnN0IGNvbnRyb2xzTGF5ZXIgPSB0aGlzLmQzLnNlbGVjdCgnZy5jaGFydCcpLnNlbGVjdCgnZy5jb250cm9scycpO1xuICAgIGNvbnN0IHsgaXRlbXMsIG1hcmdpbiB9ID0gdGhpcy5kYXRhO1xuICAgIGNvbnN0IHJhbmdlTW9kZSA9IGl0ZW1zLmV2ZXJ5KChkKSA9PiBkLnJhbmdlKTtcbiAgICAvLyBydW4gY29sbGlzaW9uIGRldGVjdGlvblxuICAgIGNvbnN0IGlzQ29sbGlkaW5nID0gc2xpZGVyc1swXS54ID09PSBzbGlkZXJzWzFdLng7XG4gICAgaWYgKHJhbmdlTW9kZSAmJiBpc0NvbGxpZGluZykge1xuICAgICAgY29udHJvbHNMYXllclxuICAgICAgICAuc2VsZWN0QWxsKCd0ZXh0JylcbiAgICAgICAgLmF0dHIoJ3knLCAoZCwgaSkgPT4gKGkgPiAwID8gZC55ICsgbWFyZ2luLmJvdHRvbSAvIDIgKyAxMiA6IGQueSArIG1hcmdpbi5ib3R0b20gLyAyKSlcbiAgICAgICAgLnRleHQoKGQsIGkpID0+IHtcbiAgICAgICAgICBjb25zdCByYW5nZSA9IHRoaXMuZ2V0U2VsZWN0ZWRSYW5nZSgpO1xuICAgICAgICAgIHJldHVybiByYW5nZVtpXTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnRyb2xzTGF5ZXJcbiAgICAgICAgLnNlbGVjdEFsbCgndGV4dCcpXG4gICAgICAgIC5hdHRyKCd5JywgKGQpID0+IGQueSArIG1hcmdpbi5ib3R0b20gLyAyKTtcbiAgICB9XG4gIH07XG5cbiAgLyoqIEdldCB4LWF4aXMgcG9zaXRpb24gZnJvbSBsYWJlbCAqL1xuICBsYWJlbFRvWCgpIHtcbiAgICByZXR1cm4gdGhpcy5kM1xuICAgICAgLnNjYWxlQmFuZCgpXG4gICAgICAuZG9tYWluKHRoaXMuZGF0YS5pdGVtcy5tYXAoKGQpID0+IGQubGFiZWwpKVxuICAgICAgLnJhbmdlKFswLCB0aGlzLmRhdGEud2lkdGhdKVxuICAgICAgLnBhZGRpbmdJbm5lcigwLjE3KVxuICAgICAgLnBhZGRpbmdPdXRlcigxKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYW4gZXZlbnQgd2l0aCB2aWV3Qm94IGNvb3JkaW5hdGVzIGFuZFxuICAgKiBwYXJzZSB0aGVtIGluIGFic29sdXRlIGNvb3JkaW5hdGVzXG4gICAqL1xuICBnZXRFdmVudENvb3JkcyhldmVudCk6IHsgeDogbnVtYmVyLCB5OiBudW1iZXIgfSB7XG4gICAgY29uc3QgbSA9IGV2ZW50LnRhcmdldC5nZXRTY3JlZW5DVE0oKTtcbiAgICBjb25zdCBwb2ludCA9IHRoaXMuc3ZnLm5vZGUoKS5jcmVhdGVTVkdQb2ludCgpO1xuICAgIHBvaW50LnggPSBldmVudC5jbGllbnRYO1xuICAgIHBvaW50LnkgPSBldmVudC5jbGllbnRZO1xuICAgIHJldHVybiBwb2ludC5tYXRyaXhUcmFuc2Zvcm0obS5pbnZlcnNlKCkpO1xuICB9XG5cbiAgLyoqIFB1YmxpYyBhcGkgdGhhdCBhbGxvd3MgdG8gZGluYW1pY2FsbHkgY2hhbmdlIHRoZSBiYXJzICovXG4gIHNldEJhcnMgPSAobmV3QmFycykgPT4ge1xuICAgIHRoaXMuZGF0YS5pdGVtcyA9IG5ld0JhcnM7XG4gICAgdGhpcy5kcmF3KCk7XG4gICAgdGhpcy5kMy5zZWxlY3RBbGwoJ3JlY3QuYmFycycpLmF0dHIoJ2ZpbGwnLCAoZCkgPT4gdGhpcy5jb2xvdXJCYXJzKGQpKTtcbiAgfTtcblxuICAvKiogUHVibGljIGFwaSB0aGF0IGFsbG93cyB0byBkaW5hbWljYWxseSBjaGFuZ2UgdGhlIHNsaWRlciBwb3NpdGlvbiAqL1xuICBzZXRTbGlkZXJzID0gKFtzdGFydExhYmVsLCBlbmRMYWJlbF06IExhYmVsQ291cGxlLCBlbWl0ID0gdHJ1ZSkgPT4ge1xuICAgIC8vIHNldFNsaWRlcnMoWzE0NTAsIDE1NzVdKVxuICAgIHRoaXMuZGF0YS5zZXRTbGlkZXJzID0gW2Ake3N0YXJ0TGFiZWx9YCwgYCR7ZW5kTGFiZWx9YF07XG4gICAgdGhpcy5kcmF3KCk7XG4gICAgdGhpcy5kMy5zZWxlY3RBbGwoJ3JlY3QuYmFycycpLmF0dHIoJ2ZpbGwnLCAoZCkgPT4gdGhpcy5jb2xvdXJCYXJzKGQpKTtcbiAgICBjb25zdCByYW5nZSA9IHRoaXMuZ2V0U2VsZWN0ZWRSYW5nZSgpO1xuICAgIGlmIChlbWl0KSB0aGlzLmVtaXQoJ3Jhbmdlc2VsZWN0ZWQnLCByYW5nZSk7XG4gICAgdGhpcy50ZXh0Q29sbGlzaW9uKHRoaXMuc2xpZGVycyk7XG4gICAgcmV0dXJuIHJhbmdlO1xuICB9O1xuXG4gIC8qKiBFbWl0cyBhbiBldmVudCB3aGVuIHRoZSBjb21wb25lbnQgaGFzIGxvYWRlZCAqL1xuICBlbWl0TG9hZGVkKHBheWxvYWQpIHtcbiAgICBpZiAoIXRoaXMuZW1pdCkgcmV0dXJuO1xuICAgIHRoaXMuZW1pdCgnbG9hZGVkJywgcGF5bG9hZCk7XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJkYXRhXCIgY2xhc3M9XCJuNy1oaXN0b2dyYW0tcmFuZ2VcIj5cbiAgICA8c3ZnICNoaXN0b2dyYW1SYW5nZSBbaWRdPVwiZGF0YS5jb250YWluZXJJZFwiPjwvc3ZnPlxuPC9kaXY+XG4iXX0=
@@ -8,9 +8,9 @@ export class IconComponent {
8
8
  this.emit('click', value);
9
9
  }
10
10
  }
11
- IconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
- IconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IconComponent, selector: "n7-icon", inputs: { data: "data", emit: "emit" }, ngImport: i0, template: "<ng-container *ngIf=\"data as icon\">\n <span class=\"n7-icon\" *ngIf=\"icon.id\"\n [ngClass]=\"icon.id\"\n [ngStyle]=\"icon.style\"\n (click)=\"onClick(icon.payload)\">\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"] }] });
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IconComponent, decorators: [{
11
+ IconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: IconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
+ IconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: IconComponent, selector: "n7-icon", inputs: { data: "data", emit: "emit" }, ngImport: i0, template: "<ng-container *ngIf=\"data as icon\">\n <span class=\"n7-icon\" *ngIf=\"icon.id\"\n [ngClass]=\"icon.id\"\n [ngStyle]=\"icon.style\"\n (click)=\"onClick(icon.payload)\">\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"] }] });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: IconComponent, decorators: [{
14
14
  type: Component,
15
15
  args: [{ selector: 'n7-icon', template: "<ng-container *ngIf=\"data as icon\">\n <span class=\"n7-icon\" *ngIf=\"icon.id\"\n [ngClass]=\"icon.id\"\n [ngStyle]=\"icon.style\"\n (click)=\"onClick(icon.payload)\">\n </span>\n</ng-container>\n" }]
16
16
  }], propDecorators: { data: [{
@@ -18,4 +18,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
18
18
  }], emit: [{
19
19
  type: Input
20
20
  }] } });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2R2LWNvbXBvbmVudHMtbGliL3NyYy9saWIvY29tcG9uZW50cy9pY29uL2ljb24udHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdi1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvaWNvbi9pY29uLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVFqRCxNQUFNLE9BQU8sYUFBYTtJQUt4QixPQUFPLENBQUMsS0FBSztRQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU87UUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQzs7MkdBUlUsYUFBYTsrRkFBYixhQUFhLHVGQ1IxQixvT0FPQTs0RkRDYSxhQUFhO2tCQUx6QixTQUFTOytCQUNFLFNBQVM7OEJBS1YsSUFBSTtzQkFBWixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEljb24gfSBmcm9tICcuLi8uLi9zaGFyZWQtaW50ZXJmYWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ243LWljb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vaWNvbi5odG1sJ1xufSlcblxuZXhwb3J0IGNsYXNzIEljb25Db21wb25lbnQge1xuICBASW5wdXQoKSBkYXRhOiBJY29uO1xuXG4gIEBJbnB1dCgpIGVtaXQ6ICh0eXBlOiBzdHJpbmcsIHBheWxvYWQ/OiB1bmtub3duKSA9PiB2b2lkO1xuXG4gIG9uQ2xpY2sodmFsdWUpIHtcbiAgICBpZiAoIXRoaXMuZW1pdCkgcmV0dXJuO1xuICAgIHRoaXMuZW1pdCgnY2xpY2snLCB2YWx1ZSk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRhIGFzIGljb25cIj5cbiAgICA8c3BhbiAgY2xhc3M9XCJuNy1pY29uXCIgKm5nSWY9XCJpY29uLmlkXCJcbiAgICAgICAgW25nQ2xhc3NdPVwiaWNvbi5pZFwiXG4gICAgICAgIFtuZ1N0eWxlXT1cImljb24uc3R5bGVcIlxuICAgICAgICAoY2xpY2spPVwib25DbGljayhpY29uLnBheWxvYWQpXCI+XG4gICAgPC9zcGFuPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2R2LWNvbXBvbmVudHMtbGliL3NyYy9saWIvY29tcG9uZW50cy9pY29uL2ljb24udHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdi1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvaWNvbi9pY29uLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVFqRCxNQUFNLE9BQU8sYUFBYTtJQUt4QixPQUFPLENBQUMsS0FBSztRQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU87UUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQzs7MEdBUlUsYUFBYTs4RkFBYixhQUFhLHVGQ1IxQixvT0FPQTsyRkRDYSxhQUFhO2tCQUx6QixTQUFTOytCQUNFLFNBQVM7OEJBS1YsSUFBSTtzQkFBWixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEljb24gfSBmcm9tICcuLi8uLi9zaGFyZWQtaW50ZXJmYWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ243LWljb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vaWNvbi5odG1sJ1xufSlcblxuZXhwb3J0IGNsYXNzIEljb25Db21wb25lbnQge1xuICBASW5wdXQoKSBkYXRhOiBJY29uO1xuXG4gIEBJbnB1dCgpIGVtaXQ6ICh0eXBlOiBzdHJpbmcsIHBheWxvYWQ/OiB1bmtub3duKSA9PiB2b2lkO1xuXG4gIG9uQ2xpY2sodmFsdWUpIHtcbiAgICBpZiAoIXRoaXMuZW1pdCkgcmV0dXJuO1xuICAgIHRoaXMuZW1pdCgnY2xpY2snLCB2YWx1ZSk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRhIGFzIGljb25cIj5cbiAgICA8c3BhbiAgY2xhc3M9XCJuNy1pY29uXCIgKm5nSWY9XCJpY29uLmlkXCJcbiAgICAgICAgW25nQ2xhc3NdPVwiaWNvbi5pZFwiXG4gICAgICAgIFtuZ1N0eWxlXT1cImljb24uc3R5bGVcIlxuICAgICAgICAoY2xpY2spPVwib25DbGljayhpY29uLnBheWxvYWQpXCI+XG4gICAgPC9zcGFuPlxuPC9uZy1jb250YWluZXI+XG4iXX0=