@datorama/core 22.5.5 → 22.6.2

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.
@@ -6,17 +6,25 @@
6
6
  * found in the LICENSE file at https://github.com/datorama/client-core/blob/master/LICENSE
7
7
  */
8
8
  import { __decorate, __metadata } from "tslib";
9
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
9
+ import { ChangeDetectionStrategy, Component, ElementRef, Input } from '@angular/core';
10
10
  import { GridQuery } from '../grid-store/grid.query';
11
11
  import { of } from 'rxjs';
12
12
  import { deepmerge } from '../../internal/deep-merge';
13
13
  import { GridService } from '../grid-store/grid.service';
14
14
  let DatoGridV2NoDataOverlayComponent = class DatoGridV2NoDataOverlayComponent {
15
- constructor(gridQuery, gridService) {
15
+ constructor(gridQuery, gridService, element) {
16
16
  this.gridQuery = gridQuery;
17
17
  this.gridService = gridService;
18
+ this.element = element;
18
19
  this.config = {};
19
20
  }
21
+ get showImage() {
22
+ const elParent = this.element.nativeElement.parentElement;
23
+ if (elParent.classList.contains('ag-overlay-wrapper')) {
24
+ return elParent.offsetHeight >= 390;
25
+ }
26
+ return true;
27
+ }
20
28
  ngOnInit() {
21
29
  this.filterActive$ = this.gridQuery.filterActive$;
22
30
  this.hasError$ = this.gridQuery.isServerSide ? this.gridQuery.serverSideError$ : of(false);
@@ -49,7 +57,8 @@ let DatoGridV2NoDataOverlayComponent = class DatoGridV2NoDataOverlayComponent {
49
57
  };
50
58
  DatoGridV2NoDataOverlayComponent.ctorParameters = () => [
51
59
  { type: GridQuery },
52
- { type: GridService }
60
+ { type: GridService },
61
+ { type: ElementRef }
53
62
  ];
54
63
  __decorate([
55
64
  Input(),
@@ -58,11 +67,11 @@ __decorate([
58
67
  DatoGridV2NoDataOverlayComponent = __decorate([
59
68
  Component({
60
69
  selector: 'dato-grid-v2-no-data-overlay',
61
- template: "<div class=\"container d-flex-column align-center\">\n <ng-container *ngIf=\"(hasError$ | async) === false; else error\">\n <ng-container *ngIf=\"(filterActive$ | async) === true; else noData\">\n <ng-container *ngTemplateOutlet=\"imgNText; context: {$implicit: mergedConfig.noResult }\"></ng-container>\n <div class=\"d-flex items-center\">\n <div class=\"dato-simple primary-400-color\">{{'core.try-to-adjust-or' | translate}}&nbsp;</div>\n <dato-link (click)=\"clearFilters()\">{{ 'core.clear-filters' | translate }}</dato-link>\n </div>\n </ng-container>\n <ng-template #noData>\n <ng-container *ngTemplateOutlet=\"imgNText; context: {$implicit: mergedConfig.noData}\"></ng-container>\n <ng-content select=\"[no-data-content]\"></ng-content>\n </ng-template>\n\n </ng-container>\n <ng-template #error>\n <ng-container *ngTemplateOutlet=\"imgNText; context: {$implicit: mergedConfig.serverSideError}\"></ng-container>\n <div #errorContent><ng-content select=\"[server-error-content]\"></ng-content></div>\n <div class=\"dato-simple primary-400-color\" *ngIf=\"errorContent.children.length === 0\">{{'core.try-to-refresh-or-contact' | translate}}&nbsp;</div>\n </ng-template>\n</div>\n\n<ng-template #imgNText let-view>\n <img class=\"mb-30\" [datoStaticSrc]=\"view.icon\">\n <div class=\"dato-simple-bold primary-500-color mb-3\">{{ view.text | translate }}</div>\n</ng-template>\n",
70
+ template: "<div class=\"container d-flex-column align-center\">\n <ng-container *ngIf=\"(hasError$ | async) === false; else error\">\n <ng-container *ngIf=\"(filterActive$ | async) === true; else noData\">\n <ng-container *ngTemplateOutlet=\"imgNText; context: {$implicit: mergedConfig.noResult }\"></ng-container>\n <div class=\"d-flex items-center\">\n <div class=\"dato-simple primary-400-color\">{{'core.try-to-adjust-or' | translate}}&nbsp;</div>\n <dato-link (click)=\"clearFilters()\">{{ 'core.clear-filters' | translate }}</dato-link>\n </div>\n </ng-container>\n <ng-template #noData>\n <ng-container *ngTemplateOutlet=\"imgNText; context: {$implicit: mergedConfig.noData}\"></ng-container>\n <ng-content select=\"[no-data-content]\"></ng-content>\n </ng-template>\n\n </ng-container>\n <ng-template #error>\n <ng-container *ngTemplateOutlet=\"imgNText; context: {$implicit: mergedConfig.serverSideError}\"></ng-container>\n <div #errorContent><ng-content select=\"[server-error-content]\"></ng-content></div>\n <div class=\"dato-simple primary-400-color\" *ngIf=\"errorContent.children.length === 0\">{{'core.try-to-refresh-or-contact' | translate}}&nbsp;</div>\n </ng-template>\n</div>\n\n<ng-template #imgNText let-view>\n <img class=\"mb-30\" [datoStaticSrc]=\"view.icon\" *ngIf=\"showImage && view.icon\">\n <div class=\"dato-simple-bold primary-500-color mb-3\">{{ view.text | translate }}</div>\n</ng-template>\n",
62
71
  changeDetection: ChangeDetectionStrategy.OnPush,
63
72
  styles: [":host{pointer-events:all}"]
64
73
  }),
65
- __metadata("design:paramtypes", [GridQuery, GridService])
74
+ __metadata("design:paramtypes", [GridQuery, GridService, ElementRef])
66
75
  ], DatoGridV2NoDataOverlayComponent);
67
76
  export { DatoGridV2NoDataOverlayComponent };
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC12Mi1uby1kYXRhLW92ZXJsYXkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGRhdG9yYW1hL2NvcmUvIiwic291cmNlcyI6WyJsaWIvZ3JpZC12Mi9ncmlkLW5vLWRhdGEtb3ZlcmxheS9ncmlkLXYyLW5vLWRhdGEtb3ZlcmxheS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HOztBQUVILE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFpQnpELElBQWEsZ0NBQWdDLEdBQTdDLE1BQWEsZ0NBQWdDO0lBUTNDLFlBQW9CLFNBQW9CLEVBQVUsV0FBd0I7UUFBdEQsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBUGpFLFdBQU0sR0FBeUIsRUFBRSxDQUFDO0lBT2tDLENBQUM7SUFFOUUsUUFBUTtRQUNOLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUM7UUFDbEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNGLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxFQUFFLENBQUMsY0FBYyxJQUFJLEVBQUUsQ0FBQztRQUN4RSxNQUFNLFVBQVUsR0FBRyxTQUFTLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBc0IsQ0FBQztJQUNyRixDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUE0QixJQUFTLENBQUM7SUFFckMsaUJBQWlCO1FBQ3ZCLE1BQU0sRUFBRSxZQUFZLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBRXpELElBQUksQ0FBQyxhQUFhLEdBQUc7WUFDbkIsTUFBTSxFQUFFO2dCQUNOLElBQUksRUFBRSx1QkFBdUI7Z0JBQzdCLElBQUksRUFBRSwwQkFBMEI7YUFDakM7WUFDRCxRQUFRLEVBQUU7Z0JBQ1IsSUFBSSxFQUFFLDBCQUEwQjtnQkFDaEMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsaUNBQWlDLENBQUMsQ0FBQyxDQUFDLDBCQUEwQjthQUNwRjtZQUNELGVBQWUsRUFBRTtnQkFDZixJQUFJLEVBQUUscUJBQXFCO2dCQUMzQixJQUFJLEVBQUUsMEJBQTBCO2FBQ2pDO1NBQ0YsQ0FBQztJQUNKLENBQUM7Q0FDRixDQUFBOztZQW5DZ0MsU0FBUztZQUF1QixXQUFXOztBQVBqRTtJQUFSLEtBQUssRUFBRTs7Z0VBQW1DO0FBRGhDLGdDQUFnQztJQU41QyxTQUFTLENBQUM7UUFDVCxRQUFRLEVBQUUsOEJBQThCO1FBQ3hDLGtpREFBdUQ7UUFFdkQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O0tBQ2hELENBQUM7cUNBUytCLFNBQVMsRUFBdUIsV0FBVztHQVIvRCxnQ0FBZ0MsQ0EyQzVDO1NBM0NZLGdDQUFnQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBEYXRvcmFtYS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBBcGFjaGUgTGljZW5zZSAyLjAgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2dpdGh1Yi5jb20vZGF0b3JhbWEvY2xpZW50LWNvcmUvYmxvYi9tYXN0ZXIvTElDRU5TRVxuICovXG5cbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJTm9Sb3dzT3ZlcmxheUFuZ3VsYXJDb21wIH0gZnJvbSAnYWctZ3JpZC1hbmd1bGFyJztcbmltcG9ydCB7IElOb1Jvd3NPdmVybGF5UGFyYW1zIH0gZnJvbSAnYWctZ3JpZC1jb21tdW5pdHknO1xuaW1wb3J0IHsgR3JpZFF1ZXJ5IH0gZnJvbSAnLi4vZ3JpZC1zdG9yZS9ncmlkLnF1ZXJ5JztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWVwbWVyZ2UgfSBmcm9tICcuLi8uLi9pbnRlcm5hbC9kZWVwLW1lcmdlJztcbmltcG9ydCB7IEdyaWRTZXJ2aWNlIH0gZnJvbSAnLi4vZ3JpZC1zdG9yZS9ncmlkLnNlcnZpY2UnO1xuaW1wb3J0IHsgRGF0b0dyaWRPdmVybGF5SW5wdXQgfSBmcm9tICcuL2dyaWQtdjItbm8tZGF0YS1vdmVybGF5LnR5cGVzJztcblxudHlwZSBPdmVybGF5VmlldyA9IHsgaWNvbjogc3RyaW5nOyB0ZXh0OiBzdHJpbmcgfTtcblxudHlwZSBHcmlkT3ZlcmxheUNvbmZpZyA9IHtcbiAgbm9EYXRhOiBPdmVybGF5VmlldztcbiAgbm9SZXN1bHQ6IE92ZXJsYXlWaWV3O1xuICBzZXJ2ZXJTaWRlRXJyb3I6IE92ZXJsYXlWaWV3O1xufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGF0by1ncmlkLXYyLW5vLWRhdGEtb3ZlcmxheScsXG4gIHRlbXBsYXRlVXJsOiAnLi9ncmlkLXYyLW5vLWRhdGEtb3ZlcmxheS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2dyaWQtdjItbm8tZGF0YS1vdmVybGF5LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIERhdG9HcmlkVjJOb0RhdGFPdmVybGF5Q29tcG9uZW50IGltcGxlbWVudHMgSU5vUm93c092ZXJsYXlBbmd1bGFyQ29tcCB7XG4gIEBJbnB1dCgpIGNvbmZpZzogRGF0b0dyaWRPdmVybGF5SW5wdXQgPSB7fTtcbiAgbWVyZ2VkQ29uZmlnOiBHcmlkT3ZlcmxheUNvbmZpZztcbiAgZmlsdGVyQWN0aXZlJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgaGFzRXJyb3IkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gIHByaXZhdGUgZGVmYXVsdENvbmZpZzogRGF0b0dyaWRPdmVybGF5SW5wdXQ7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBncmlkUXVlcnk6IEdyaWRRdWVyeSwgcHJpdmF0ZSBncmlkU2VydmljZTogR3JpZFNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5maWx0ZXJBY3RpdmUkID0gdGhpcy5ncmlkUXVlcnkuZmlsdGVyQWN0aXZlJDtcbiAgICB0aGlzLmhhc0Vycm9yJCA9IHRoaXMuZ3JpZFF1ZXJ5LmlzU2VydmVyU2lkZSA/IHRoaXMuZ3JpZFF1ZXJ5LnNlcnZlclNpZGVFcnJvciQgOiBvZihmYWxzZSk7XG4gICAgdGhpcy5pbml0RGVmYXVsdENvbmZpZygpO1xuICAgIGNvbnN0IGdyaWRDb25maWcgPSB0aGlzLmdyaWRRdWVyeS5nZXRHcmlkT3B0aW9ucygpLm92ZXJsYXlzQ29uZmlnIHx8IHt9O1xuICAgIGNvbnN0IHVzZXJDb25maWcgPSBkZWVwbWVyZ2UoZ3JpZENvbmZpZywgdGhpcy5jb25maWcpO1xuICAgIHRoaXMubWVyZ2VkQ29uZmlnID0gZGVlcG1lcmdlKHRoaXMuZGVmYXVsdENvbmZpZywgdXNlckNvbmZpZykgYXMgR3JpZE92ZXJsYXlDb25maWc7XG4gIH1cblxuICBjbGVhckZpbHRlcnMoKSB7XG4gICAgdGhpcy5ncmlkU2VydmljZS5jbGVhckFsbEZpbHRlcnMoKTtcbiAgfVxuXG4gIGFnSW5pdChwYXJhbXM6IElOb1Jvd3NPdmVybGF5UGFyYW1zKTogdm9pZCB7fVxuXG4gIHByaXZhdGUgaW5pdERlZmF1bHRDb25maWcoKSB7XG4gICAgY29uc3QgeyBlbmFibGVTZWFyY2ggfSA9IHRoaXMuZ3JpZFF1ZXJ5LmdldEdyaWRPcHRpb25zKCk7XG5cbiAgICB0aGlzLmRlZmF1bHRDb25maWcgPSB7XG4gICAgICBub0RhdGE6IHtcbiAgICAgICAgaWNvbjogJ2NvcmUvZ3JpZC9uby1kYXRhLnN2ZycsXG4gICAgICAgIHRleHQ6ICdjb3JlLm5vLWl0ZW1zLXRvLWRpc3BsYXknXG4gICAgICB9LFxuICAgICAgbm9SZXN1bHQ6IHtcbiAgICAgICAgaWNvbjogJ2NvcmUvZ3JpZC9uby1yZXN1bHRzLnN2ZycsXG4gICAgICAgIHRleHQ6IGVuYWJsZVNlYXJjaCA/ICdjb3JlLm5vLW1hdGNoaW5nLXNlYXJjaC1yZXN1bHRzJyA6ICdjb3JlLm5vLW1hdGNoaW5nLXJlc3VsdHMnXG4gICAgICB9LFxuICAgICAgc2VydmVyU2lkZUVycm9yOiB7XG4gICAgICAgIGljb246ICdjb3JlL2dyaWQvYWxlcnQuc3ZnJyxcbiAgICAgICAgdGV4dDogJ2NvcmUudW5hYmxlLXRvLWxvYWQtZGF0YSdcbiAgICAgIH1cbiAgICB9O1xuICB9XG59XG4iXX0=
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC12Mi1uby1kYXRhLW92ZXJsYXkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGRhdG9yYW1hL2NvcmUvIiwic291cmNlcyI6WyJsaWIvZ3JpZC12Mi9ncmlkLW5vLWRhdGEtb3ZlcmxheS9ncmlkLXYyLW5vLWRhdGEtb3ZlcmxheS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HOztBQUVILE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd0RixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBaUJ6RCxJQUFhLGdDQUFnQyxHQUE3QyxNQUFhLGdDQUFnQztJQWtCM0MsWUFBb0IsU0FBb0IsRUFBVSxXQUF3QixFQUFVLE9BQW1CO1FBQW5GLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFqQjlGLFdBQU0sR0FBeUIsRUFBRSxDQUFDO0lBaUIrRCxDQUFDO0lBVjNHLElBQUksU0FBUztRQUNYLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQztRQUUxRCxJQUFJLFFBQVEsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLEVBQUU7WUFDckQsT0FBTyxRQUFRLENBQUMsWUFBWSxJQUFJLEdBQUcsQ0FBQztTQUNyQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUlELFFBQVE7UUFDTixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDO1FBQ2xELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzRixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN6QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsRUFBRSxDQUFDLGNBQWMsSUFBSSxFQUFFLENBQUM7UUFDeEUsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxVQUFVLENBQXNCLENBQUM7SUFDckYsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxNQUFNLENBQUMsTUFBNEIsSUFBUyxDQUFDO0lBRXJDLGlCQUFpQjtRQUN2QixNQUFNLEVBQUUsWUFBWSxFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUV6RCxJQUFJLENBQUMsYUFBYSxHQUFHO1lBQ25CLE1BQU0sRUFBRTtnQkFDTixJQUFJLEVBQUUsdUJBQXVCO2dCQUM3QixJQUFJLEVBQUUsMEJBQTBCO2FBQ2pDO1lBQ0QsUUFBUSxFQUFFO2dCQUNSLElBQUksRUFBRSwwQkFBMEI7Z0JBQ2hDLElBQUksRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLGlDQUFpQyxDQUFDLENBQUMsQ0FBQywwQkFBMEI7YUFDcEY7WUFDRCxlQUFlLEVBQUU7Z0JBQ2YsSUFBSSxFQUFFLHFCQUFxQjtnQkFDM0IsSUFBSSxFQUFFLDBCQUEwQjthQUNqQztTQUNGLENBQUM7SUFDSixDQUFDO0NBQ0YsQ0FBQTs7WUFuQ2dDLFNBQVM7WUFBdUIsV0FBVztZQUFtQixVQUFVOztBQWpCOUY7SUFBUixLQUFLLEVBQUU7O2dFQUFtQztBQURoQyxnQ0FBZ0M7SUFONUMsU0FBUyxDQUFDO1FBQ1QsUUFBUSxFQUFFLDhCQUE4QjtRQUN4Qyxta0RBQXVEO1FBRXZELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOztLQUNoRCxDQUFDO3FDQW1CK0IsU0FBUyxFQUF1QixXQUFXLEVBQW1CLFVBQVU7R0FsQjVGLGdDQUFnQyxDQXFENUM7U0FyRFksZ0NBQWdDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IERhdG9yYW1hLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIEFwYWNoZSBMaWNlbnNlIDIuMCBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRvcmFtYS9jbGllbnQtY29yZS9ibG9iL21hc3Rlci9MSUNFTlNFXG4gKi9cblxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElOb1Jvd3NPdmVybGF5QW5ndWxhckNvbXAgfSBmcm9tICdhZy1ncmlkLWFuZ3VsYXInO1xuaW1wb3J0IHsgSU5vUm93c092ZXJsYXlQYXJhbXMgfSBmcm9tICdhZy1ncmlkLWNvbW11bml0eSc7XG5pbXBvcnQgeyBHcmlkUXVlcnkgfSBmcm9tICcuLi9ncmlkLXN0b3JlL2dyaWQucXVlcnknO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlZXBtZXJnZSB9IGZyb20gJy4uLy4uL2ludGVybmFsL2RlZXAtbWVyZ2UnO1xuaW1wb3J0IHsgR3JpZFNlcnZpY2UgfSBmcm9tICcuLi9ncmlkLXN0b3JlL2dyaWQuc2VydmljZSc7XG5pbXBvcnQgeyBEYXRvR3JpZE92ZXJsYXlJbnB1dCB9IGZyb20gJy4vZ3JpZC12Mi1uby1kYXRhLW92ZXJsYXkudHlwZXMnO1xuXG50eXBlIE92ZXJsYXlWaWV3ID0geyBpY29uOiBzdHJpbmc7IHRleHQ6IHN0cmluZyB9O1xuXG50eXBlIEdyaWRPdmVybGF5Q29uZmlnID0ge1xuICBub0RhdGE6IE92ZXJsYXlWaWV3O1xuICBub1Jlc3VsdDogT3ZlcmxheVZpZXc7XG4gIHNlcnZlclNpZGVFcnJvcjogT3ZlcmxheVZpZXc7XG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYXRvLWdyaWQtdjItbm8tZGF0YS1vdmVybGF5JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2dyaWQtdjItbm8tZGF0YS1vdmVybGF5LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZ3JpZC12Mi1uby1kYXRhLW92ZXJsYXkuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRGF0b0dyaWRWMk5vRGF0YU92ZXJsYXlDb21wb25lbnQgaW1wbGVtZW50cyBJTm9Sb3dzT3ZlcmxheUFuZ3VsYXJDb21wIHtcbiAgQElucHV0KCkgY29uZmlnOiBEYXRvR3JpZE92ZXJsYXlJbnB1dCA9IHt9O1xuICBtZXJnZWRDb25maWc6IEdyaWRPdmVybGF5Q29uZmlnO1xuICBmaWx0ZXJBY3RpdmUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBoYXNFcnJvciQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgcHJpdmF0ZSBkZWZhdWx0Q29uZmlnOiBEYXRvR3JpZE92ZXJsYXlJbnB1dDtcblxuICBnZXQgc2hvd0ltYWdlKCkge1xuICAgIGNvbnN0IGVsUGFyZW50ID0gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudDtcblxuICAgIGlmIChlbFBhcmVudC5jbGFzc0xpc3QuY29udGFpbnMoJ2FnLW92ZXJsYXktd3JhcHBlcicpKSB7XG4gICAgICByZXR1cm4gZWxQYXJlbnQub2Zmc2V0SGVpZ2h0ID49IDM5MDtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZ3JpZFF1ZXJ5OiBHcmlkUXVlcnksIHByaXZhdGUgZ3JpZFNlcnZpY2U6IEdyaWRTZXJ2aWNlLCBwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWYpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5maWx0ZXJBY3RpdmUkID0gdGhpcy5ncmlkUXVlcnkuZmlsdGVyQWN0aXZlJDtcbiAgICB0aGlzLmhhc0Vycm9yJCA9IHRoaXMuZ3JpZFF1ZXJ5LmlzU2VydmVyU2lkZSA/IHRoaXMuZ3JpZFF1ZXJ5LnNlcnZlclNpZGVFcnJvciQgOiBvZihmYWxzZSk7XG4gICAgdGhpcy5pbml0RGVmYXVsdENvbmZpZygpO1xuICAgIGNvbnN0IGdyaWRDb25maWcgPSB0aGlzLmdyaWRRdWVyeS5nZXRHcmlkT3B0aW9ucygpLm92ZXJsYXlzQ29uZmlnIHx8IHt9O1xuICAgIGNvbnN0IHVzZXJDb25maWcgPSBkZWVwbWVyZ2UoZ3JpZENvbmZpZywgdGhpcy5jb25maWcpO1xuICAgIHRoaXMubWVyZ2VkQ29uZmlnID0gZGVlcG1lcmdlKHRoaXMuZGVmYXVsdENvbmZpZywgdXNlckNvbmZpZykgYXMgR3JpZE92ZXJsYXlDb25maWc7XG4gIH1cblxuICBjbGVhckZpbHRlcnMoKSB7XG4gICAgdGhpcy5ncmlkU2VydmljZS5jbGVhckFsbEZpbHRlcnMoKTtcbiAgfVxuXG4gIGFnSW5pdChwYXJhbXM6IElOb1Jvd3NPdmVybGF5UGFyYW1zKTogdm9pZCB7fVxuXG4gIHByaXZhdGUgaW5pdERlZmF1bHRDb25maWcoKSB7XG4gICAgY29uc3QgeyBlbmFibGVTZWFyY2ggfSA9IHRoaXMuZ3JpZFF1ZXJ5LmdldEdyaWRPcHRpb25zKCk7XG5cbiAgICB0aGlzLmRlZmF1bHRDb25maWcgPSB7XG4gICAgICBub0RhdGE6IHtcbiAgICAgICAgaWNvbjogJ2NvcmUvZ3JpZC9uby1kYXRhLnN2ZycsXG4gICAgICAgIHRleHQ6ICdjb3JlLm5vLWl0ZW1zLXRvLWRpc3BsYXknXG4gICAgICB9LFxuICAgICAgbm9SZXN1bHQ6IHtcbiAgICAgICAgaWNvbjogJ2NvcmUvZ3JpZC9uby1yZXN1bHRzLnN2ZycsXG4gICAgICAgIHRleHQ6IGVuYWJsZVNlYXJjaCA/ICdjb3JlLm5vLW1hdGNoaW5nLXNlYXJjaC1yZXN1bHRzJyA6ICdjb3JlLm5vLW1hdGNoaW5nLXJlc3VsdHMnXG4gICAgICB9LFxuICAgICAgc2VydmVyU2lkZUVycm9yOiB7XG4gICAgICAgIGljb246ICdjb3JlL2dyaWQvYWxlcnQuc3ZnJyxcbiAgICAgICAgdGV4dDogJ2NvcmUudW5hYmxlLXRvLWxvYWQtZGF0YSdcbiAgICAgIH1cbiAgICB9O1xuICB9XG59XG4iXX0=