@edm-sdui/sdui 1.0.66 → 1.0.68

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.
Binary file
@@ -1,7 +1,6 @@
1
1
  import { Component, ElementRef, Inject, Renderer2, ViewChild, } from '@angular/core';
2
2
  import { DomSanitizer } from '@angular/platform-browser';
3
3
  import { assetMapping } from '../../../core/uitheme/mapping/asset-mapping';
4
- import { sizeMappingHeight, sizeMappingWidth, } from '../../../core/uitheme/mapping/size-mapping';
5
4
  import { aspectMapping } from '../../../core/uitheme/mapping/aspect-mapping';
6
5
  import { rankingSvgMap } from './ranking-svg';
7
6
  import * as i0 from "@angular/core";
@@ -38,12 +37,6 @@ export class ImageComponent {
38
37
  }
39
38
  }
40
39
  if (this.imgElementRef?.nativeElement) {
41
- if (element.size) {
42
- const height = sizeMappingHeight[element.size];
43
- const width = sizeMappingWidth[element.size];
44
- this.renderer.setStyle(this.imgElementRef.nativeElement, 'height', height);
45
- this.renderer.setStyle(this.imgElementRef.nativeElement, 'width', width);
46
- }
47
40
  if (element.aspect) {
48
41
  this.renderer.setStyle(this.imgElementRef.nativeElement, 'object-fit', aspectMapping[element.aspect]);
49
42
  }
@@ -65,4 +58,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
65
58
  type: ViewChild,
66
59
  args: ['imgElement']
67
60
  }] } });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZHVpL3NyYy9saWIvY29tcG9uZW50cy91aWNvbXBvbmVudC9pbWFnZS9pbWFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NkdWkvc3JjL2xpYi9jb21wb25lbnRzL3VpY29tcG9uZW50L2ltYWdlL2ltYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFFTixTQUFTLEVBQ1QsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQVksTUFBTSwyQkFBMkIsQ0FBQztBQUduRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDM0UsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixnQkFBZ0IsR0FDakIsTUFBTSw0Q0FBNEMsQ0FBQztBQUNwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFROUMsTUFBTSxPQUFPLGNBQWM7SUFJekIsWUFDZ0MsV0FBd0IsRUFDOUMsUUFBbUIsRUFDbkIsU0FBdUI7UUFGRCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUM5QyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFMakMsZUFBVSxHQUFvQixJQUFJLENBQUM7SUFNaEMsQ0FBQztJQUVKLFFBQVEsS0FBVSxDQUFDO0lBRW5CLGVBQWU7UUFDYixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsT0FBTyxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlDLENBQUM7SUFDSCxDQUFDO0lBRU8sWUFBWSxDQUFDLE9BQWtCO1FBQ3JDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ25DLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxPQUFPLENBQUMsS0FBSyxJQUFJLGFBQWEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNsRCxNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNuRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEUsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDakUsTUFBTSxHQUFHLEdBQUcsS0FBSyxJQUFJLE9BQU8sQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDO1lBQ3pDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1lBQ3ZCLElBQUksR0FBRyxFQUFFLENBQUM7Z0JBQ1IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQ3hCLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxFQUNoQyxLQUFLLEVBQ0wsR0FBRyxDQUNKLENBQUM7WUFDSixDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxhQUFhLEVBQUUsQ0FBQztZQUN0QyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDakIsTUFBTSxNQUFNLEdBQUcsaUJBQWlCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUMvQyxNQUFNLEtBQUssR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzdDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFDaEMsUUFBUSxFQUNSLE1BQU0sQ0FDUCxDQUFDO2dCQUNGLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFDaEMsT0FBTyxFQUNQLEtBQUssQ0FDTixDQUFDO1lBQ0osQ0FBQztZQUVELElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNuQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FDcEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQ2hDLFlBQVksRUFDWixhQUFhLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUM5QixDQUFDO1lBQ0osQ0FBQztZQUVELElBQUksT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUN4QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FDcEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQ2hDLGNBQWMsRUFDZCxPQUFPLENBQUMsV0FBVyxDQUNwQixDQUFDO1lBQ0osQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDOytHQXZFVSxjQUFjLGtCQUtmLGFBQWE7bUdBTFosY0FBYyx3TEMxQjNCLGlTQVNBOzs0RkRpQmEsY0FBYztrQkFOMUIsU0FBUzsrQkFDRSxnQkFBZ0IsY0FHZCxLQUFLOzswQkFPZCxNQUFNOzJCQUFDLGFBQWE7NEZBSkUsYUFBYTtzQkFBckMsU0FBUzt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbmplY3QsXG4gIE9uSW5pdCxcbiAgUmVuZGVyZXIyLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgVUlDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3VpY29tcG9zaXRpb24vbW9kZWxzL3VpY29tcG9uZW50JztcbmltcG9ydCB7IFVJRWxlbWVudCB9IGZyb20gJy4uLy4uLy4uL2NvcmUvdWljb21wb3NpdGlvbi9tb2RlbHMvdWllbGVtZW50JztcbmltcG9ydCB7IGFzc2V0TWFwcGluZyB9IGZyb20gJy4uLy4uLy4uL2NvcmUvdWl0aGVtZS9tYXBwaW5nL2Fzc2V0LW1hcHBpbmcnO1xuaW1wb3J0IHtcbiAgc2l6ZU1hcHBpbmdIZWlnaHQsXG4gIHNpemVNYXBwaW5nV2lkdGgsXG59IGZyb20gJy4uLy4uLy4uL2NvcmUvdWl0aGVtZS9tYXBwaW5nL3NpemUtbWFwcGluZyc7XG5pbXBvcnQgeyBhc3BlY3RNYXBwaW5nIH0gZnJvbSAnLi4vLi4vLi4vY29yZS91aXRoZW1lL21hcHBpbmcvYXNwZWN0LW1hcHBpbmcnO1xuaW1wb3J0IHsgcmFua2luZ1N2Z01hcCB9IGZyb20gJy4vcmFua2luZy1zdmcnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlZG0tc2R1aS1pbWFnZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbWFnZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9pbWFnZS5jb21wb25lbnQuc2NzcycsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBJbWFnZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBWaWV3Q2hpbGQoJ2ltZ0VsZW1lbnQnKSBpbWdFbGVtZW50UmVmITogRWxlbWVudFJlZjxIVE1MSW1hZ2VFbGVtZW50PjtcbiAgc3ZnQ29udGVudDogU2FmZUh0bWwgfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KCd1aUNvbXBvbmVudCcpIHB1YmxpYyB1aUNvbXBvbmVudDogVUlDb21wb25lbnQsXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnVpQ29tcG9uZW50Py5lbGVtZW50KSB7XG4gICAgICB0aGlzLmFwcGx5RWxlbWVudCh0aGlzLnVpQ29tcG9uZW50LmVsZW1lbnQpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlFbGVtZW50KGVsZW1lbnQ6IFVJRWxlbWVudCkge1xuICAgIGlmICghZWxlbWVudC5hc3NldCAmJiAhZWxlbWVudC51cmwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoZWxlbWVudC5hc3NldCAmJiByYW5raW5nU3ZnTWFwW2VsZW1lbnQuYXNzZXRdKSB7XG4gICAgICBjb25zdCBzdmdUZXh0ID0gcmFua2luZ1N2Z01hcFtlbGVtZW50LmFzc2V0XSA/PyAnJztcbiAgICAgIHRoaXMuc3ZnQ29udGVudCA9IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHN2Z1RleHQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBhc3NldCA9IGVsZW1lbnQuYXNzZXQgPyBhc3NldE1hcHBpbmdbZWxlbWVudC5hc3NldF0gOiBudWxsO1xuICAgICAgY29uc3Qgc3JjID0gYXNzZXQgPz8gZWxlbWVudC51cmwgPz8gbnVsbDtcbiAgICAgIHRoaXMuc3ZnQ29udGVudCA9IG51bGw7XG4gICAgICBpZiAoc3JjKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKFxuICAgICAgICAgIHRoaXMuaW1nRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICdzcmMnLFxuICAgICAgICAgIHNyYyxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy5pbWdFbGVtZW50UmVmPy5uYXRpdmVFbGVtZW50KSB7XG4gICAgICBpZiAoZWxlbWVudC5zaXplKSB7XG4gICAgICAgIGNvbnN0IGhlaWdodCA9IHNpemVNYXBwaW5nSGVpZ2h0W2VsZW1lbnQuc2l6ZV07XG4gICAgICAgIGNvbnN0IHdpZHRoID0gc2l6ZU1hcHBpbmdXaWR0aFtlbGVtZW50LnNpemVdO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICAgIHRoaXMuaW1nRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICdoZWlnaHQnLFxuICAgICAgICAgIGhlaWdodCxcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgICB0aGlzLmltZ0VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAnd2lkdGgnLFxuICAgICAgICAgIHdpZHRoLFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBpZiAoZWxlbWVudC5hc3BlY3QpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgICB0aGlzLmltZ0VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAnb2JqZWN0LWZpdCcsXG4gICAgICAgICAgYXNwZWN0TWFwcGluZ1tlbGVtZW50LmFzcGVjdF0sXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGlmIChlbGVtZW50LmFzcGVjdFJhdGlvKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgICAgdGhpcy5pbWdFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgJ2FzcGVjdC1yYXRpbycsXG4gICAgICAgICAgZWxlbWVudC5hc3BlY3RSYXRpbyxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIjxzcGFuXG4gICpuZ0lmPVwic3ZnQ29udGVudDsgZWxzZSBpbWFnZUVsZW1lbnRcIlxuICBjbGFzcz1cInNkdWktaW1hZ2Utc3ZnXCJcbiAgW2VkbVNkdWlWaWV3XT1cInVpQ29tcG9uZW50LmVsZW1lbnRcIlxuICBbaW5uZXJIVE1MXT1cInN2Z0NvbnRlbnRcIlxuPjwvc3Bhbj5cbjxuZy10ZW1wbGF0ZSAjaW1hZ2VFbGVtZW50PlxuICA8aW1nICNpbWdFbGVtZW50IFtlZG1TZHVpVmlld109XCJ1aUNvbXBvbmVudC5lbGVtZW50XCIgKm5nSWY9XCJ1aUNvbXBvbmVudFwiIC8+XG48L25nLXRlbXBsYXRlPlxuIl19
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZHVpL3NyYy9saWIvY29tcG9uZW50cy91aWNvbXBvbmVudC9pbWFnZS9pbWFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NkdWkvc3JjL2xpYi9jb21wb25lbnRzL3VpY29tcG9uZW50L2ltYWdlL2ltYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFFTixTQUFTLEVBQ1QsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQVksTUFBTSwyQkFBMkIsQ0FBQztBQUduRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBUTlDLE1BQU0sT0FBTyxjQUFjO0lBSXpCLFlBQ2dDLFdBQXdCLEVBQzlDLFFBQW1CLEVBQ25CLFNBQXVCO1FBRkQsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDOUMsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixjQUFTLEdBQVQsU0FBUyxDQUFjO1FBTGpDLGVBQVUsR0FBb0IsSUFBSSxDQUFDO0lBTWhDLENBQUM7SUFFSixRQUFRLEtBQVUsQ0FBQztJQUVuQixlQUFlO1FBQ2IsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxDQUFDO1lBQzlCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5QyxDQUFDO0lBQ0gsQ0FBQztJQUVPLFlBQVksQ0FBQyxPQUFrQjtRQUNyQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNuQyxPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksT0FBTyxDQUFDLEtBQUssSUFBSSxhQUFhLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDbEQsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbkQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BFLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ2pFLE1BQU0sR0FBRyxHQUFHLEtBQUssSUFBSSxPQUFPLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQztZQUN6QyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUN2QixJQUFJLEdBQUcsRUFBRSxDQUFDO2dCQUNSLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUN4QixJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFDaEMsS0FBSyxFQUNMLEdBQUcsQ0FDSixDQUFDO1lBQ0osQ0FBQztRQUNILENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsYUFBYSxFQUFFLENBQUM7WUFDdEMsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFDaEMsWUFBWSxFQUNaLGFBQWEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQzlCLENBQUM7WUFDSixDQUFDO1lBRUQsSUFBSSxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFDaEMsY0FBYyxFQUNkLE9BQU8sQ0FBQyxXQUFXLENBQ3BCLENBQUM7WUFDSixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7K0dBeERVLGNBQWMsa0JBS2YsYUFBYTttR0FMWixjQUFjLHdMQ3RCM0IsaVNBU0E7OzRGRGFhLGNBQWM7a0JBTjFCLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBR2QsS0FBSzs7MEJBT2QsTUFBTTsyQkFBQyxhQUFhOzRGQUpFLGFBQWE7c0JBQXJDLFNBQVM7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5qZWN0LFxuICBPbkluaXQsXG4gIFJlbmRlcmVyMixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IFVJQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29yZS91aWNvbXBvc2l0aW9uL21vZGVscy91aWNvbXBvbmVudCc7XG5pbXBvcnQgeyBVSUVsZW1lbnQgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3VpY29tcG9zaXRpb24vbW9kZWxzL3VpZWxlbWVudCc7XG5pbXBvcnQgeyBhc3NldE1hcHBpbmcgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3VpdGhlbWUvbWFwcGluZy9hc3NldC1tYXBwaW5nJztcbmltcG9ydCB7IGFzcGVjdE1hcHBpbmcgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3VpdGhlbWUvbWFwcGluZy9hc3BlY3QtbWFwcGluZyc7XG5pbXBvcnQgeyByYW5raW5nU3ZnTWFwIH0gZnJvbSAnLi9yYW5raW5nLXN2Zyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VkbS1zZHVpLWltYWdlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ltYWdlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2ltYWdlLmNvbXBvbmVudC5zY3NzJyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIEltYWdlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgQFZpZXdDaGlsZCgnaW1nRWxlbWVudCcpIGltZ0VsZW1lbnRSZWYhOiBFbGVtZW50UmVmPEhUTUxJbWFnZUVsZW1lbnQ+O1xuICBzdmdDb250ZW50OiBTYWZlSHRtbCB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoJ3VpQ29tcG9uZW50JykgcHVibGljIHVpQ29tcG9uZW50OiBVSUNvbXBvbmVudCxcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcixcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge31cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudWlDb21wb25lbnQ/LmVsZW1lbnQpIHtcbiAgICAgIHRoaXMuYXBwbHlFbGVtZW50KHRoaXMudWlDb21wb25lbnQuZWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhcHBseUVsZW1lbnQoZWxlbWVudDogVUlFbGVtZW50KSB7XG4gICAgaWYgKCFlbGVtZW50LmFzc2V0ICYmICFlbGVtZW50LnVybCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChlbGVtZW50LmFzc2V0ICYmIHJhbmtpbmdTdmdNYXBbZWxlbWVudC5hc3NldF0pIHtcbiAgICAgIGNvbnN0IHN2Z1RleHQgPSByYW5raW5nU3ZnTWFwW2VsZW1lbnQuYXNzZXRdID8/ICcnO1xuICAgICAgdGhpcy5zdmdDb250ZW50ID0gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoc3ZnVGV4dCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGFzc2V0ID0gZWxlbWVudC5hc3NldCA/IGFzc2V0TWFwcGluZ1tlbGVtZW50LmFzc2V0XSA6IG51bGw7XG4gICAgICBjb25zdCBzcmMgPSBhc3NldCA/PyBlbGVtZW50LnVybCA/PyBudWxsO1xuICAgICAgdGhpcy5zdmdDb250ZW50ID0gbnVsbDtcbiAgICAgIGlmIChzcmMpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoXG4gICAgICAgICAgdGhpcy5pbWdFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgJ3NyYycsXG4gICAgICAgICAgc3JjLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGlzLmltZ0VsZW1lbnRSZWY/Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIGlmIChlbGVtZW50LmFzcGVjdCkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICAgIHRoaXMuaW1nRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICdvYmplY3QtZml0JyxcbiAgICAgICAgICBhc3BlY3RNYXBwaW5nW2VsZW1lbnQuYXNwZWN0XSxcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGVsZW1lbnQuYXNwZWN0UmF0aW8pIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgICB0aGlzLmltZ0VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAnYXNwZWN0LXJhdGlvJyxcbiAgICAgICAgICBlbGVtZW50LmFzcGVjdFJhdGlvLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiPHNwYW5cbiAgKm5nSWY9XCJzdmdDb250ZW50OyBlbHNlIGltYWdlRWxlbWVudFwiXG4gIGNsYXNzPVwic2R1aS1pbWFnZS1zdmdcIlxuICBbZWRtU2R1aVZpZXddPVwidWlDb21wb25lbnQuZWxlbWVudFwiXG4gIFtpbm5lckhUTUxdPVwic3ZnQ29udGVudFwiXG4+PC9zcGFuPlxuPG5nLXRlbXBsYXRlICNpbWFnZUVsZW1lbnQ+XG4gIDxpbWcgI2ltZ0VsZW1lbnQgW2VkbVNkdWlWaWV3XT1cInVpQ29tcG9uZW50LmVsZW1lbnRcIiAqbmdJZj1cInVpQ29tcG9uZW50XCIgLz5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -1,12 +1,16 @@
1
- import { Component, ElementRef, Inject, Renderer2, ViewChild, } from '@angular/core';
1
+ import { Component, ElementRef, Inject, NgZone, Renderer2, ViewChild, } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "@angular/common";
4
4
  import * as i2 from "../uicomponent.component";
5
5
  import * as i3 from "../../../directives/uiview.directive";
6
6
  export class ScrollableRowComponent {
7
- constructor(uiComponent, renderer) {
7
+ constructor(uiComponent, renderer, zone) {
8
8
  this.uiComponent = uiComponent;
9
9
  this.renderer = renderer;
10
+ this.zone = zone;
11
+ this.canScroll = false;
12
+ this.canPrev = false;
13
+ this.canNext = false;
10
14
  }
11
15
  ngOnInit() {
12
16
  }
@@ -15,10 +19,74 @@ export class ScrollableRowComponent {
15
19
  this.applyElement(this.uiComponent.element);
16
20
  }
17
21
  this.scroll();
22
+ setTimeout(() => this.updateTrackState(), 0);
23
+ this.resizeListener = () => this.updateTrackState();
24
+ window.addEventListener('resize', this.resizeListener);
25
+ if (typeof ResizeObserver !== 'undefined' && this.scrollableRowElementRef?.nativeElement) {
26
+ this.zone.runOutsideAngular(() => {
27
+ this.resizeObserver = new ResizeObserver(() => {
28
+ this.zone.run(() => this.updateTrackState());
29
+ });
30
+ this.resizeObserver.observe(this.scrollableRowElementRef.nativeElement);
31
+ });
32
+ }
33
+ }
34
+ ngOnDestroy() {
35
+ if (this.resizeListener) {
36
+ window.removeEventListener('resize', this.resizeListener);
37
+ }
38
+ this.resizeObserver?.disconnect();
39
+ }
40
+ onTrackScroll() {
41
+ this.updateTrackState();
42
+ }
43
+ prev() {
44
+ this.scrollByStep(-1);
45
+ }
46
+ next() {
47
+ this.scrollByStep(1);
18
48
  }
19
49
  applyElement(element) {
20
50
  console.log(element);
21
51
  }
52
+ updateTrackState() {
53
+ const track = this.scrollableRowElementRef?.nativeElement;
54
+ if (!track) {
55
+ this.canScroll = false;
56
+ this.canPrev = false;
57
+ this.canNext = false;
58
+ return;
59
+ }
60
+ const maxLeft = Math.max(0, track.scrollWidth - track.clientWidth);
61
+ const left = Math.max(0, track.scrollLeft);
62
+ const tolerance = 2;
63
+ this.canScroll = maxLeft > tolerance;
64
+ this.canPrev = this.canScroll && left > tolerance;
65
+ this.canNext = this.canScroll && left < maxLeft - tolerance;
66
+ }
67
+ scrollByStep(direction) {
68
+ const track = this.scrollableRowElementRef?.nativeElement;
69
+ if (!track)
70
+ return;
71
+ const maxLeft = Math.max(0, track.scrollWidth - track.clientWidth);
72
+ const step = this.getTrackStep(track);
73
+ const targetLeft = Math.max(0, Math.min(maxLeft, track.scrollLeft + step * direction));
74
+ track.scrollTo({ left: targetLeft, behavior: 'smooth' });
75
+ setTimeout(() => this.updateTrackState(), 260);
76
+ }
77
+ getTrackStep(track) {
78
+ const firstItem = track.firstElementChild;
79
+ if (!firstItem)
80
+ return Math.max(1, track.clientWidth * 0.92);
81
+ const itemWidth = firstItem.getBoundingClientRect().width;
82
+ const styles = getComputedStyle(track);
83
+ const gapRaw = styles.columnGap || styles.gap || '0';
84
+ const gap = Number.parseFloat(gapRaw) || 0;
85
+ const cardStep = Math.max(1, itemWidth + gap);
86
+ const viewportStep = track.clientWidth * 0.92;
87
+ const cardsPerJump = Math.max(2, Math.floor(viewportStep / cardStep));
88
+ return Math.max(cardStep * cardsPerJump, viewportStep);
89
+ }
22
90
  scroll() {
23
91
  const scrollContainer = this.scrollableRowElementRef.nativeElement;
24
92
  let isDown = false;
@@ -47,17 +115,17 @@ export class ScrollableRowComponent {
47
115
  scrollContainer.scrollLeft = scrollLeft - walk;
48
116
  });
49
117
  }
50
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ScrollableRowComponent, deps: [{ token: 'uiComponent' }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
51
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: ScrollableRowComponent, isStandalone: false, selector: "edm-sdui-scrollable-row", viewQueries: [{ propertyName: "scrollableRowElementRef", first: true, predicate: ["scrollableRowElement"], descendants: true }], ngImport: i0, template: "<div\n #scrollableRowElement\n [edmSduiView]=\"uiComponent.element\"\n class=\"scrollable-row\"\n *ngIf=\"uiComponent\"\n>\n <edm-sdui-component\n *ngFor=\"let component of uiComponent.components\"\n [uiComponent]=\"component\"\n >\n </edm-sdui-component>\n</div>\n", styles: [":host{display:contents}.scrollable-row{display:flex;flex-direction:row;overflow-x:auto;overflow-y:hidden;white-space:nowrap;width:100%;-webkit-overflow-scrolling:touch;scrollbar-width:none;cursor:pointer;scroll-padding-left:var(--sdui-content-inset-left, 0px);scroll-padding-right:var(--sdui-content-inset-right, 0px)}.scrollable-row::-webkit-scrollbar{display:none}.scrollable-row>*{flex-shrink:0}\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.UIComponentComponent, selector: "edm-sdui-component", inputs: ["uiComponent", "translateLabel"] }, { kind: "directive", type: i3.UIViewDirective, selector: "[edmSduiView]", inputs: ["edmSduiView", "disableClick"] }] }); }
118
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ScrollableRowComponent, deps: [{ token: 'uiComponent' }, { token: i0.Renderer2 }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
119
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: ScrollableRowComponent, isStandalone: false, selector: "edm-sdui-scrollable-row", viewQueries: [{ propertyName: "scrollableRowElementRef", first: true, predicate: ["scrollableRowElement"], descendants: true }], ngImport: i0, template: "<div\n class=\"scrollable-row-shell\"\n [class.can-scroll]=\"canScroll\"\n [class.track-scrolled]=\"canPrev\"\n [class.track-at-end]=\"canScroll && !canNext\"\n *ngIf=\"uiComponent\"\n>\n <div\n #scrollableRowElement\n [edmSduiView]=\"uiComponent.element\"\n class=\"scrollable-row\"\n (scroll)=\"onTrackScroll()\"\n >\n <edm-sdui-component\n *ngFor=\"let component of uiComponent.components\"\n [uiComponent]=\"component\"\n >\n </edm-sdui-component>\n </div>\n\n <button\n *ngIf=\"canScroll && canPrev\"\n type=\"button\"\n class=\"scrollable-row-nav scrollable-row-nav--prev\"\n (click)=\"prev()\"\n aria-label=\"Anterior\"\n >\n &#8592;\n </button>\n <button\n *ngIf=\"canScroll && canNext\"\n type=\"button\"\n class=\"scrollable-row-nav scrollable-row-nav--next\"\n (click)=\"next()\"\n aria-label=\"Pr\u00F3ximo\"\n >\n &#8594;\n </button>\n</div>\n", styles: [":host{display:contents}.scrollable-row-shell{position:relative;width:100%}.scrollable-row-shell:before,.scrollable-row-shell:after{content:\"\";position:absolute;top:0;bottom:0;width:clamp(1.5rem,4vw,2.625rem);pointer-events:none;z-index:4;opacity:0;transition:opacity .2s ease}.scrollable-row-shell:before{left:0;background:linear-gradient(90deg,var(--bg) 0%,transparent 100%)}.scrollable-row-shell:after{right:0;background:linear-gradient(270deg,var(--bg) 0%,transparent 100%)}.scrollable-row-shell.can-scroll:after{opacity:1}.scrollable-row-shell.track-scrolled:before{opacity:1}.scrollable-row-shell.track-at-end:after{opacity:0}.scrollable-row{display:flex;flex-direction:row;overflow-x:auto;overflow-y:hidden;white-space:nowrap;width:100%;-webkit-overflow-scrolling:touch;scrollbar-width:none;cursor:pointer;scroll-behavior:smooth;scroll-padding-left:var(--sdui-content-inset-left, 0px);scroll-padding-right:var(--sdui-content-inset-right, 0px)}.scrollable-row::-webkit-scrollbar{display:none}.scrollable-row>*{flex-shrink:0}.scrollable-row-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border:1px solid rgba(255,255,255,.34);background:#070a10c7;color:#f4f6fb;font-size:1.4rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;z-index:5;transition:opacity .18s ease,background-color .2s ease,border-color .2s ease}.scrollable-row-nav:hover,.scrollable-row-nav:focus{background:#121622e6;border-color:#ffffff8a;outline:none}.scrollable-row-nav--prev{left:-.75rem}.scrollable-row-nav--next{right:-.75rem}:host-context(.rounded) .scrollable-row-nav{border-radius:3.75rem}:host-context(.square) .scrollable-row-nav{border-radius:10px}::ng-deep .column:has(.scrollable-row-shell){overflow:visible}@media (max-width: 767px){.scrollable-row-nav{display:none}}\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.UIComponentComponent, selector: "edm-sdui-component", inputs: ["uiComponent", "translateLabel"] }, { kind: "directive", type: i3.UIViewDirective, selector: "[edmSduiView]", inputs: ["edmSduiView", "disableClick"] }] }); }
52
120
  }
53
121
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ScrollableRowComponent, decorators: [{
54
122
  type: Component,
55
- args: [{ selector: 'edm-sdui-scrollable-row', standalone: false, template: "<div\n #scrollableRowElement\n [edmSduiView]=\"uiComponent.element\"\n class=\"scrollable-row\"\n *ngIf=\"uiComponent\"\n>\n <edm-sdui-component\n *ngFor=\"let component of uiComponent.components\"\n [uiComponent]=\"component\"\n >\n </edm-sdui-component>\n</div>\n", styles: [":host{display:contents}.scrollable-row{display:flex;flex-direction:row;overflow-x:auto;overflow-y:hidden;white-space:nowrap;width:100%;-webkit-overflow-scrolling:touch;scrollbar-width:none;cursor:pointer;scroll-padding-left:var(--sdui-content-inset-left, 0px);scroll-padding-right:var(--sdui-content-inset-right, 0px)}.scrollable-row::-webkit-scrollbar{display:none}.scrollable-row>*{flex-shrink:0}\n"] }]
123
+ args: [{ selector: 'edm-sdui-scrollable-row', standalone: false, template: "<div\n class=\"scrollable-row-shell\"\n [class.can-scroll]=\"canScroll\"\n [class.track-scrolled]=\"canPrev\"\n [class.track-at-end]=\"canScroll && !canNext\"\n *ngIf=\"uiComponent\"\n>\n <div\n #scrollableRowElement\n [edmSduiView]=\"uiComponent.element\"\n class=\"scrollable-row\"\n (scroll)=\"onTrackScroll()\"\n >\n <edm-sdui-component\n *ngFor=\"let component of uiComponent.components\"\n [uiComponent]=\"component\"\n >\n </edm-sdui-component>\n </div>\n\n <button\n *ngIf=\"canScroll && canPrev\"\n type=\"button\"\n class=\"scrollable-row-nav scrollable-row-nav--prev\"\n (click)=\"prev()\"\n aria-label=\"Anterior\"\n >\n &#8592;\n </button>\n <button\n *ngIf=\"canScroll && canNext\"\n type=\"button\"\n class=\"scrollable-row-nav scrollable-row-nav--next\"\n (click)=\"next()\"\n aria-label=\"Pr\u00F3ximo\"\n >\n &#8594;\n </button>\n</div>\n", styles: [":host{display:contents}.scrollable-row-shell{position:relative;width:100%}.scrollable-row-shell:before,.scrollable-row-shell:after{content:\"\";position:absolute;top:0;bottom:0;width:clamp(1.5rem,4vw,2.625rem);pointer-events:none;z-index:4;opacity:0;transition:opacity .2s ease}.scrollable-row-shell:before{left:0;background:linear-gradient(90deg,var(--bg) 0%,transparent 100%)}.scrollable-row-shell:after{right:0;background:linear-gradient(270deg,var(--bg) 0%,transparent 100%)}.scrollable-row-shell.can-scroll:after{opacity:1}.scrollable-row-shell.track-scrolled:before{opacity:1}.scrollable-row-shell.track-at-end:after{opacity:0}.scrollable-row{display:flex;flex-direction:row;overflow-x:auto;overflow-y:hidden;white-space:nowrap;width:100%;-webkit-overflow-scrolling:touch;scrollbar-width:none;cursor:pointer;scroll-behavior:smooth;scroll-padding-left:var(--sdui-content-inset-left, 0px);scroll-padding-right:var(--sdui-content-inset-right, 0px)}.scrollable-row::-webkit-scrollbar{display:none}.scrollable-row>*{flex-shrink:0}.scrollable-row-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border:1px solid rgba(255,255,255,.34);background:#070a10c7;color:#f4f6fb;font-size:1.4rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;z-index:5;transition:opacity .18s ease,background-color .2s ease,border-color .2s ease}.scrollable-row-nav:hover,.scrollable-row-nav:focus{background:#121622e6;border-color:#ffffff8a;outline:none}.scrollable-row-nav--prev{left:-.75rem}.scrollable-row-nav--next{right:-.75rem}:host-context(.rounded) .scrollable-row-nav{border-radius:3.75rem}:host-context(.square) .scrollable-row-nav{border-radius:10px}::ng-deep .column:has(.scrollable-row-shell){overflow:visible}@media (max-width: 767px){.scrollable-row-nav{display:none}}\n"] }]
56
124
  }], ctorParameters: () => [{ type: undefined, decorators: [{
57
125
  type: Inject,
58
126
  args: ['uiComponent']
59
- }] }, { type: i0.Renderer2 }], propDecorators: { scrollableRowElementRef: [{
127
+ }] }, { type: i0.Renderer2 }, { type: i0.NgZone }], propDecorators: { scrollableRowElementRef: [{
60
128
  type: ViewChild,
61
129
  args: ['scrollableRowElement']
62
130
  }] } });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsYWJsZS1yb3cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZHVpL3NyYy9saWIvY29tcG9uZW50cy91aWNvbXBvbmVudC9zY3JvbGxhYmxlLXJvdy9zY3JvbGxhYmxlLXJvdy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NkdWkvc3JjL2xpYi9jb21wb25lbnRzL3VpY29tcG9uZW50L3Njcm9sbGFibGUtcm93L3Njcm9sbGFibGUtcm93LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFFTixTQUFTLEVBQ1QsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDOzs7OztBQWN2QixNQUFNLE9BQU8sc0JBQXNCO0lBR2pDLFlBQ2dDLFdBQXdCLEVBQzlDLFFBQW1CO1FBREcsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDOUMsYUFBUSxHQUFSLFFBQVEsQ0FBVztJQUN6QixDQUFDO0lBRUwsUUFBUTtJQUNSLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5QyxDQUFDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFTyxZQUFZLENBQUMsT0FBa0I7UUFDckMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUN0QixDQUFDO0lBR08sTUFBTTtRQUNaLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxhQUFhLENBQUM7UUFDbkUsSUFBSSxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztRQUNmLElBQUksVUFBVSxHQUFHLENBQUMsQ0FBQztRQUVuQixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxlQUFlLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBYSxFQUFFLEVBQUU7WUFDbkUsTUFBTSxHQUFHLElBQUksQ0FBQztZQUNkLGVBQWUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQzNDLE1BQU0sR0FBRyxDQUFDLENBQUMsS0FBSyxHQUFHLGVBQWUsQ0FBQyxVQUFVLENBQUM7WUFDOUMsVUFBVSxHQUFHLGVBQWUsQ0FBQyxVQUFVLENBQUM7UUFDMUMsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxlQUFlLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRTtZQUN2RCxNQUFNLEdBQUcsS0FBSyxDQUFDO1lBQ2YsZUFBZSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDaEQsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxlQUFlLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRTtZQUNwRCxNQUFNLEdBQUcsS0FBSyxDQUFDO1lBQ2YsZUFBZSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDaEQsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxlQUFlLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBYSxFQUFFLEVBQUU7WUFDbkUsSUFBSSxDQUFDLE1BQU07Z0JBQUUsT0FBTztZQUNwQixDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDbkIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssR0FBRyxlQUFlLENBQUMsVUFBVSxDQUFDO1lBQy9DLE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQztZQUNoQyxlQUFlLENBQUMsVUFBVSxHQUFHLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDakQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOytHQXJEVSxzQkFBc0Isa0JBSXZCLGFBQWE7bUdBSlosc0JBQXNCLHFOQ3RCbkMsd1JBWUE7OzRGRFVhLHNCQUFzQjtrQkFObEMsU0FBUzsrQkFDRSx5QkFBeUIsY0FHdkIsS0FBSzs7MEJBTWQsTUFBTTsyQkFBQyxhQUFhO2lFQUhZLHVCQUF1QjtzQkFBekQsU0FBUzt1QkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEluamVjdCxcbiAgT25Jbml0LFxuICBSZW5kZXJlcjIsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVSUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvcmUvdWljb21wb3NpdGlvbi9tb2RlbHMvdWljb21wb25lbnQnO1xuaW1wb3J0IHsgVUlFbGVtZW50IH0gZnJvbSAnLi4vLi4vLi4vY29yZS91aWNvbXBvc2l0aW9uL21vZGVscy91aWVsZW1lbnQnO1xuaW1wb3J0IHsgY29sb3JNYXBwaW5nIH0gZnJvbSAnLi4vLi4vLi4vY29yZS91aXRoZW1lL21hcHBpbmcvY29sb3ItbWFwcGluZyc7XG5pbXBvcnQgeyBGb250U2l6ZU1hcHBpbmdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy9mb250LXNpemUtbWFwcGluZy5zZXJ2aWNlJztcbmltcG9ydCB7IGFzc2V0TWFwcGluZyB9IGZyb20gJy4uLy4uLy4uL2NvcmUvdWl0aGVtZS9tYXBwaW5nL2Fzc2V0LW1hcHBpbmcnO1xuaW1wb3J0IHsgVUlBc3NldCB9IGZyb20gJy4uLy4uLy4uL2NvcmUvdWl0aGVtZS9lbnVtcy91aWFzc2V0JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWRtLXNkdWktc2Nyb2xsYWJsZS1yb3cnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2Nyb2xsYWJsZS1yb3cuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vc2Nyb2xsYWJsZS1yb3cuY29tcG9uZW50LnNjc3MnLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgU2Nyb2xsYWJsZVJvd0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBWaWV3Q2hpbGQoJ3Njcm9sbGFibGVSb3dFbGVtZW50Jykgc2Nyb2xsYWJsZVJvd0VsZW1lbnRSZWYhOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KCd1aUNvbXBvbmVudCcpIHB1YmxpYyB1aUNvbXBvbmVudDogVUlDb21wb25lbnQsXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICApIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnVpQ29tcG9uZW50LmVsZW1lbnQpIHtcbiAgICAgIHRoaXMuYXBwbHlFbGVtZW50KHRoaXMudWlDb21wb25lbnQuZWxlbWVudCk7XG4gICAgfVxuICAgIHRoaXMuc2Nyb2xsKCk7XG4gIH1cblxuICBwcml2YXRlIGFwcGx5RWxlbWVudChlbGVtZW50OiBVSUVsZW1lbnQpIHtcbiAgICBjb25zb2xlLmxvZyhlbGVtZW50KVxuICB9XG5cblxuICBwcml2YXRlIHNjcm9sbCgpIHtcbiAgICBjb25zdCBzY3JvbGxDb250YWluZXIgPSB0aGlzLnNjcm9sbGFibGVSb3dFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgbGV0IGlzRG93biA9IGZhbHNlO1xuICAgIGxldCBzdGFydFggPSAwO1xuICAgIGxldCBzY3JvbGxMZWZ0ID0gMDtcblxuICAgIHRoaXMucmVuZGVyZXIubGlzdGVuKHNjcm9sbENvbnRhaW5lciwgJ21vdXNlZG93bicsIChlOiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICBpc0Rvd24gPSB0cnVlO1xuICAgICAgc2Nyb2xsQ29udGFpbmVyLmNsYXNzTGlzdC5hZGQoJ3Njcm9sbGluZycpO1xuICAgICAgc3RhcnRYID0gZS5wYWdlWCAtIHNjcm9sbENvbnRhaW5lci5vZmZzZXRMZWZ0O1xuICAgICAgc2Nyb2xsTGVmdCA9IHNjcm9sbENvbnRhaW5lci5zY3JvbGxMZWZ0O1xuICAgIH0pO1xuXG4gICAgdGhpcy5yZW5kZXJlci5saXN0ZW4oc2Nyb2xsQ29udGFpbmVyLCAnbW91c2VsZWF2ZScsICgpID0+IHtcbiAgICAgIGlzRG93biA9IGZhbHNlO1xuICAgICAgc2Nyb2xsQ29udGFpbmVyLmNsYXNzTGlzdC5yZW1vdmUoJ3Njcm9sbGluZycpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5yZW5kZXJlci5saXN0ZW4oc2Nyb2xsQ29udGFpbmVyLCAnbW91c2V1cCcsICgpID0+IHtcbiAgICAgIGlzRG93biA9IGZhbHNlO1xuICAgICAgc2Nyb2xsQ29udGFpbmVyLmNsYXNzTGlzdC5yZW1vdmUoJ3Njcm9sbGluZycpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5yZW5kZXJlci5saXN0ZW4oc2Nyb2xsQ29udGFpbmVyLCAnbW91c2Vtb3ZlJywgKGU6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgIGlmICghaXNEb3duKSByZXR1cm47XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBjb25zdCB4ID0gZS5wYWdlWCAtIHNjcm9sbENvbnRhaW5lci5vZmZzZXRMZWZ0O1xuICAgICAgY29uc3Qgd2FsayA9ICh4IC0gc3RhcnRYKSAqIDEuNTtcbiAgICAgIHNjcm9sbENvbnRhaW5lci5zY3JvbGxMZWZ0ID0gc2Nyb2xsTGVmdCAtIHdhbGs7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgI3Njcm9sbGFibGVSb3dFbGVtZW50XG4gIFtlZG1TZHVpVmlld109XCJ1aUNvbXBvbmVudC5lbGVtZW50XCJcbiAgY2xhc3M9XCJzY3JvbGxhYmxlLXJvd1wiXG4gICpuZ0lmPVwidWlDb21wb25lbnRcIlxuPlxuICA8ZWRtLXNkdWktY29tcG9uZW50XG4gICAgKm5nRm9yPVwibGV0IGNvbXBvbmVudCBvZiB1aUNvbXBvbmVudC5jb21wb25lbnRzXCJcbiAgICBbdWlDb21wb25lbnRdPVwiY29tcG9uZW50XCJcbiAgPlxuICA8L2VkbS1zZHVpLWNvbXBvbmVudD5cbjwvZGl2PlxuIl19
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsYWJsZS1yb3cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZHVpL3NyYy9saWIvY29tcG9uZW50cy91aWNvbXBvbmVudC9zY3JvbGxhYmxlLXJvdy9zY3JvbGxhYmxlLXJvdy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NkdWkvc3JjL2xpYi9jb21wb25lbnRzL3VpY29tcG9uZW50L3Njcm9sbGFibGUtcm93L3Njcm9sbGFibGUtcm93LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixNQUFNLEVBR04sU0FBUyxFQUNULFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFVdkIsTUFBTSxPQUFPLHNCQUFzQjtJQVVqQyxZQUNnQyxXQUF3QixFQUM5QyxRQUFtQixFQUNuQixJQUFZO1FBRlUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDOUMsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixTQUFJLEdBQUosSUFBSSxDQUFRO1FBVmYsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixZQUFPLEdBQVksS0FBSyxDQUFDO1FBQ3pCLFlBQU8sR0FBWSxLQUFLLENBQUM7SUFTNUIsQ0FBQztJQUVMLFFBQVE7SUFDUixDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDOUMsQ0FBQztRQUNELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNkLFVBQVUsQ0FBQyxHQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUVu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TUFBTSxDQUFDLGVBQWUsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFhLEVBQUUsRUFBRTtZQUNuRSxJQUFJLENBQUMsTUFBTTtnQkFBRSxPQUFPO1lBQ3BCLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNuQixNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxHQUFHLGVBQWUsQ0FBQyxVQUFVLENBQUM7WUFDL0MsTUFBTSxJQUFJLEdBQUcsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFDO1lBQ2hDLGVBQWUsQ0FBQyxVQUFVLEdBQUcsVUFBVSxHQUFHLElBQUksQ0FBQztRQUNqRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBL0lVLHNCQUFzQixrQkFXdkIsYUFBYTttR0FYWixzQkFBc0IscU5DcEJuQywyNkJBdUNBOzs0RkRuQmEsc0JBQXNCO2tCQU5sQyxTQUFTOytCQUNFLHlCQUF5QixjQUd2QixLQUFLOzswQkFhZCxNQUFNOzJCQUFDLGFBQWE7c0ZBVlksdUJBQXVCO3NCQUF6RCxTQUFTO3VCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5qZWN0LFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBSZW5kZXJlcjIsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVSUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvcmUvdWljb21wb3NpdGlvbi9tb2RlbHMvdWljb21wb25lbnQnO1xuaW1wb3J0IHsgVUlFbGVtZW50IH0gZnJvbSAnLi4vLi4vLi4vY29yZS91aWNvbXBvc2l0aW9uL21vZGVscy91aWVsZW1lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlZG0tc2R1aS1zY3JvbGxhYmxlLXJvdycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zY3JvbGxhYmxlLXJvdy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9zY3JvbGxhYmxlLXJvdy5jb21wb25lbnQuc2NzcycsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBTY3JvbGxhYmxlUm93Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBAVmlld0NoaWxkKCdzY3JvbGxhYmxlUm93RWxlbWVudCcpIHNjcm9sbGFibGVSb3dFbGVtZW50UmVmITogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG5cbiAgcHVibGljIGNhblNjcm9sbDogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgY2FuUHJldjogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgY2FuTmV4dDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgcmVzaXplTGlzdGVuZXI/OiAoKSA9PiB2b2lkO1xuICBwcml2YXRlIHJlc2l6ZU9ic2VydmVyPzogUmVzaXplT2JzZXJ2ZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdCgndWlDb21wb25lbnQnKSBwdWJsaWMgdWlDb21wb25lbnQ6IFVJQ29tcG9uZW50LFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIHpvbmU6IE5nWm9uZSxcbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy51aUNvbXBvbmVudC5lbGVtZW50KSB7XG4gICAgICB0aGlzLmFwcGx5RWxlbWVudCh0aGlzLnVpQ29tcG9uZW50LmVsZW1lbnQpO1xuICAgIH1cbiAgICB0aGlzLnNjcm9sbCgpO1xuICAgIHNldFRpbWVvdXQoKCk6IHZvaWQgPT4gdGhpcy51cGRhdGVUcmFja1N0YXRlKCksIDApO1xuXG4gICAgdGhpcy5yZXNpemVMaXN0ZW5lciA9ICgpOiB2b2lkID0+IHRoaXMudXBkYXRlVHJhY2tTdGF0ZSgpO1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLnJlc2l6ZUxpc3RlbmVyKTtcblxuICAgIGlmICh0eXBlb2YgUmVzaXplT2JzZXJ2ZXIgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuc2Nyb2xsYWJsZVJvd0VsZW1lbnRSZWY/Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKCk6IHZvaWQgPT4ge1xuICAgICAgICAgIHRoaXMuem9uZS5ydW4oKCk6IHZvaWQgPT4gdGhpcy51cGRhdGVUcmFja1N0YXRlKCkpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5yZXNpemVPYnNlcnZlciEub2JzZXJ2ZSh0aGlzLnNjcm9sbGFibGVSb3dFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucmVzaXplTGlzdGVuZXIpIHtcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLnJlc2l6ZUxpc3RlbmVyKTtcbiAgICB9XG4gICAgdGhpcy5yZXNpemVPYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICB9XG5cbiAgb25UcmFja1Njcm9sbCgpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZVRyYWNrU3RhdGUoKTtcbiAgfVxuXG4gIHByZXYoKTogdm9pZCB7XG4gICAgdGhpcy5zY3JvbGxCeVN0ZXAoLTEpO1xuICB9XG5cbiAgbmV4dCgpOiB2b2lkIHtcbiAgICB0aGlzLnNjcm9sbEJ5U3RlcCgxKTtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlFbGVtZW50KGVsZW1lbnQ6IFVJRWxlbWVudCkge1xuICAgIGNvbnNvbGUubG9nKGVsZW1lbnQpXG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVRyYWNrU3RhdGUoKTogdm9pZCB7XG4gICAgY29uc3QgdHJhY2sgPSB0aGlzLnNjcm9sbGFibGVSb3dFbGVtZW50UmVmPy5uYXRpdmVFbGVtZW50O1xuICAgIGlmICghdHJhY2spIHtcbiAgICAgIHRoaXMuY2FuU2Nyb2xsID0gZmFsc2U7XG4gICAgICB0aGlzLmNhblByZXYgPSBmYWxzZTtcbiAgICAgIHRoaXMuY2FuTmV4dCA9IGZhbHNlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG1heExlZnQ6IG51bWJlciA9IE1hdGgubWF4KDAsIHRyYWNrLnNjcm9sbFdpZHRoIC0gdHJhY2suY2xpZW50V2lkdGgpO1xuICAgIGNvbnN0IGxlZnQ6IG51bWJlciA9IE1hdGgubWF4KDAsIHRyYWNrLnNjcm9sbExlZnQpO1xuICAgIGNvbnN0IHRvbGVyYW5jZTogbnVtYmVyID0gMjtcblxuICAgIHRoaXMuY2FuU2Nyb2xsID0gbWF4TGVmdCA+IHRvbGVyYW5jZTtcbiAgICB0aGlzLmNhblByZXYgPSB0aGlzLmNhblNjcm9sbCAmJiBsZWZ0ID4gdG9sZXJhbmNlO1xuICAgIHRoaXMuY2FuTmV4dCA9IHRoaXMuY2FuU2Nyb2xsICYmIGxlZnQgPCBtYXhMZWZ0IC0gdG9sZXJhbmNlO1xuICB9XG5cbiAgcHJpdmF0ZSBzY3JvbGxCeVN0ZXAoZGlyZWN0aW9uOiAxIHwgLTEpOiB2b2lkIHtcbiAgICBjb25zdCB0cmFjayA9IHRoaXMuc2Nyb2xsYWJsZVJvd0VsZW1lbnRSZWY/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKCF0cmFjaykgcmV0dXJuO1xuXG4gICAgY29uc3QgbWF4TGVmdDogbnVtYmVyID0gTWF0aC5tYXgoMCwgdHJhY2suc2Nyb2xsV2lkdGggLSB0cmFjay5jbGllbnRXaWR0aCk7XG4gICAgY29uc3Qgc3RlcDogbnVtYmVyID0gdGhpcy5nZXRUcmFja1N0ZXAodHJhY2spO1xuICAgIGNvbnN0IHRhcmdldExlZnQ6IG51bWJlciA9IE1hdGgubWF4KFxuICAgICAgMCxcbiAgICAgIE1hdGgubWluKG1heExlZnQsIHRyYWNrLnNjcm9sbExlZnQgKyBzdGVwICogZGlyZWN0aW9uKSxcbiAgICApO1xuXG4gICAgdHJhY2suc2Nyb2xsVG8oeyBsZWZ0OiB0YXJnZXRMZWZ0LCBiZWhhdmlvcjogJ3Ntb290aCcgfSk7XG4gICAgc2V0VGltZW91dCgoKTogdm9pZCA9PiB0aGlzLnVwZGF0ZVRyYWNrU3RhdGUoKSwgMjYwKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VHJhY2tTdGVwKHRyYWNrOiBIVE1MRWxlbWVudCk6IG51bWJlciB7XG4gICAgY29uc3QgZmlyc3RJdGVtID0gdHJhY2suZmlyc3RFbGVtZW50Q2hpbGQgYXMgSFRNTEVsZW1lbnQgfCBudWxsO1xuICAgIGlmICghZmlyc3RJdGVtKSByZXR1cm4gTWF0aC5tYXgoMSwgdHJhY2suY2xpZW50V2lkdGggKiAwLjkyKTtcblxuICAgIGNvbnN0IGl0ZW1XaWR0aDogbnVtYmVyID0gZmlyc3RJdGVtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO1xuICAgIGNvbnN0IHN0eWxlczogQ1NTU3R5bGVEZWNsYXJhdGlvbiA9IGdldENvbXB1dGVkU3R5bGUodHJhY2spO1xuICAgIGNvbnN0IGdhcFJhdzogc3RyaW5nID0gc3R5bGVzLmNvbHVtbkdhcCB8fCBzdHlsZXMuZ2FwIHx8ICcwJztcbiAgICBjb25zdCBnYXA6IG51bWJlciA9IE51bWJlci5wYXJzZUZsb2F0KGdhcFJhdykgfHwgMDtcbiAgICBjb25zdCBjYXJkU3RlcDogbnVtYmVyID0gTWF0aC5tYXgoMSwgaXRlbVdpZHRoICsgZ2FwKTtcbiAgICBjb25zdCB2aWV3cG9ydFN0ZXA6IG51bWJlciA9IHRyYWNrLmNsaWVudFdpZHRoICogMC45MjtcbiAgICBjb25zdCBjYXJkc1Blckp1bXA6IG51bWJlciA9IE1hdGgubWF4KFxuICAgICAgMixcbiAgICAgIE1hdGguZmxvb3Iodmlld3BvcnRTdGVwIC8gY2FyZFN0ZXApLFxuICAgICk7XG5cbiAgICByZXR1cm4gTWF0aC5tYXgoY2FyZFN0ZXAgKiBjYXJkc1Blckp1bXAsIHZpZXdwb3J0U3RlcCk7XG4gIH1cblxuICBwcml2YXRlIHNjcm9sbCgpIHtcbiAgICBjb25zdCBzY3JvbGxDb250YWluZXIgPSB0aGlzLnNjcm9sbGFibGVSb3dFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgbGV0IGlzRG93biA9IGZhbHNlO1xuICAgIGxldCBzdGFydFggPSAwO1xuICAgIGxldCBzY3JvbGxMZWZ0ID0gMDtcblxuICAgIHRoaXMucmVuZGVyZXIubGlzdGVuKHNjcm9sbENvbnRhaW5lciwgJ21vdXNlZG93bicsIChlOiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICBpc0Rvd24gPSB0cnVlO1xuICAgICAgc2Nyb2xsQ29udGFpbmVyLmNsYXNzTGlzdC5hZGQoJ3Njcm9sbGluZycpO1xuICAgICAgc3RhcnRYID0gZS5wYWdlWCAtIHNjcm9sbENvbnRhaW5lci5vZmZzZXRMZWZ0O1xuICAgICAgc2Nyb2xsTGVmdCA9IHNjcm9sbENvbnRhaW5lci5zY3JvbGxMZWZ0O1xuICAgIH0pO1xuXG4gICAgdGhpcy5yZW5kZXJlci5saXN0ZW4oc2Nyb2xsQ29udGFpbmVyLCAnbW91c2VsZWF2ZScsICgpID0+IHtcbiAgICAgIGlzRG93biA9IGZhbHNlO1xuICAgICAgc2Nyb2xsQ29udGFpbmVyLmNsYXNzTGlzdC5yZW1vdmUoJ3Njcm9sbGluZycpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5yZW5kZXJlci5saXN0ZW4oc2Nyb2xsQ29udGFpbmVyLCAnbW91c2V1cCcsICgpID0+IHtcbiAgICAgIGlzRG93biA9IGZhbHNlO1xuICAgICAgc2Nyb2xsQ29udGFpbmVyLmNsYXNzTGlzdC5yZW1vdmUoJ3Njcm9sbGluZycpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5yZW5kZXJlci5saXN0ZW4oc2Nyb2xsQ29udGFpbmVyLCAnbW91c2Vtb3ZlJywgKGU6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgIGlmICghaXNEb3duKSByZXR1cm47XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBjb25zdCB4ID0gZS5wYWdlWCAtIHNjcm9sbENvbnRhaW5lci5vZmZzZXRMZWZ0O1xuICAgICAgY29uc3Qgd2FsayA9ICh4IC0gc3RhcnRYKSAqIDEuNTtcbiAgICAgIHNjcm9sbENvbnRhaW5lci5zY3JvbGxMZWZ0ID0gc2Nyb2xsTGVmdCAtIHdhbGs7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJzY3JvbGxhYmxlLXJvdy1zaGVsbFwiXG4gIFtjbGFzcy5jYW4tc2Nyb2xsXT1cImNhblNjcm9sbFwiXG4gIFtjbGFzcy50cmFjay1zY3JvbGxlZF09XCJjYW5QcmV2XCJcbiAgW2NsYXNzLnRyYWNrLWF0LWVuZF09XCJjYW5TY3JvbGwgJiYgIWNhbk5leHRcIlxuICAqbmdJZj1cInVpQ29tcG9uZW50XCJcbj5cbiAgPGRpdlxuICAgICNzY3JvbGxhYmxlUm93RWxlbWVudFxuICAgIFtlZG1TZHVpVmlld109XCJ1aUNvbXBvbmVudC5lbGVtZW50XCJcbiAgICBjbGFzcz1cInNjcm9sbGFibGUtcm93XCJcbiAgICAoc2Nyb2xsKT1cIm9uVHJhY2tTY3JvbGwoKVwiXG4gID5cbiAgICA8ZWRtLXNkdWktY29tcG9uZW50XG4gICAgICAqbmdGb3I9XCJsZXQgY29tcG9uZW50IG9mIHVpQ29tcG9uZW50LmNvbXBvbmVudHNcIlxuICAgICAgW3VpQ29tcG9uZW50XT1cImNvbXBvbmVudFwiXG4gICAgPlxuICAgIDwvZWRtLXNkdWktY29tcG9uZW50PlxuICA8L2Rpdj5cblxuICA8YnV0dG9uXG4gICAgKm5nSWY9XCJjYW5TY3JvbGwgJiYgY2FuUHJldlwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgY2xhc3M9XCJzY3JvbGxhYmxlLXJvdy1uYXYgc2Nyb2xsYWJsZS1yb3ctbmF2LS1wcmV2XCJcbiAgICAoY2xpY2spPVwicHJldigpXCJcbiAgICBhcmlhLWxhYmVsPVwiQW50ZXJpb3JcIlxuICA+XG4gICAgJiM4NTkyO1xuICA8L2J1dHRvbj5cbiAgPGJ1dHRvblxuICAgICpuZ0lmPVwiY2FuU2Nyb2xsICYmIGNhbk5leHRcIlxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIGNsYXNzPVwic2Nyb2xsYWJsZS1yb3ctbmF2IHNjcm9sbGFibGUtcm93LW5hdi0tbmV4dFwiXG4gICAgKGNsaWNrKT1cIm5leHQoKVwiXG4gICAgYXJpYS1sYWJlbD1cIlByw7N4aW1vXCJcbiAgPlxuICAgICYjODU5NDtcbiAgPC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
@@ -264,11 +264,11 @@ export class TagsRowTagComponent {
264
264
  }
265
265
  }
266
266
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TagsRowTagComponent, deps: [{ token: 'uiComponent' }, { token: i0.Renderer2 }, { token: i1.FontSizeMappingService }, { token: i2.ScrollSpyService }], target: i0.ɵɵFactoryTarget.Component }); }
267
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: TagsRowTagComponent, isStandalone: false, selector: "edm-sdui-tags-row-tag", viewQueries: [{ propertyName: "tagElementRef", first: true, predicate: ["tagElement"], descendants: true }, { propertyName: "tagNameElementRef", first: true, predicate: ["tagNameElement"], descendants: true }], ngImport: i0, template: "<div class=\"row-tag\" #tagElement *ngIf=\"uiComponent\" [edmSduiView]=\"uiComponent.element\" (click)=\"onTagClick()\">\n <span class=\"tag-name\" #tagNameElement>{{ uiComponent.element?.label ?? '' }}</span>\n</div>\n", styles: [":host{display:contents}.row-tag{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:.85px solid var(--tag-explorer-aux);cursor:pointer;font-size:16px;flex-shrink:0}.row-tag:hover{background-color:var(--bt-tag-explorer-on)}.row-tag--selected{border-color:var(--tag-explorer-highlight);background-color:var(--bt-tag-explorer-on);background-origin:border-box}.tag-name{font-weight:600;color:var(--font-bt-tag-explorer-on);font-size:15px;line-height:17.25px}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.UIViewDirective, selector: "[edmSduiView]", inputs: ["edmSduiView", "disableClick"] }] }); }
267
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: TagsRowTagComponent, isStandalone: false, selector: "edm-sdui-tags-row-tag", viewQueries: [{ propertyName: "tagElementRef", first: true, predicate: ["tagElement"], descendants: true }, { propertyName: "tagNameElementRef", first: true, predicate: ["tagNameElement"], descendants: true }], ngImport: i0, template: "<div class=\"row-tag\" #tagElement *ngIf=\"uiComponent\" [edmSduiView]=\"uiComponent.element\" (click)=\"onTagClick()\">\n <span class=\"tag-name\" #tagNameElement>{{ uiComponent.element?.label ?? '' }}</span>\n</div>\n", styles: [":host{display:contents}.row-tag{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1.5px solid var(--tag-explorer-aux);cursor:pointer;font-size:16px;flex-shrink:0}.row-tag:hover{background-color:var(--bt-tag-explorer-on)}.row-tag--selected{border-color:var(--tag-explorer-highlight);background-color:var(--bt-tag-explorer-on);background-origin:border-box}.tag-name{font-weight:600;color:var(--font-bt-tag-explorer-on);font-size:15px;line-height:17.25px}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.UIViewDirective, selector: "[edmSduiView]", inputs: ["edmSduiView", "disableClick"] }] }); }
268
268
  }
269
269
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TagsRowTagComponent, decorators: [{
270
270
  type: Component,
271
- args: [{ standalone: false, selector: 'edm-sdui-tags-row-tag', template: "<div class=\"row-tag\" #tagElement *ngIf=\"uiComponent\" [edmSduiView]=\"uiComponent.element\" (click)=\"onTagClick()\">\n <span class=\"tag-name\" #tagNameElement>{{ uiComponent.element?.label ?? '' }}</span>\n</div>\n", styles: [":host{display:contents}.row-tag{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:.85px solid var(--tag-explorer-aux);cursor:pointer;font-size:16px;flex-shrink:0}.row-tag:hover{background-color:var(--bt-tag-explorer-on)}.row-tag--selected{border-color:var(--tag-explorer-highlight);background-color:var(--bt-tag-explorer-on);background-origin:border-box}.tag-name{font-weight:600;color:var(--font-bt-tag-explorer-on);font-size:15px;line-height:17.25px}\n"] }]
271
+ args: [{ standalone: false, selector: 'edm-sdui-tags-row-tag', template: "<div class=\"row-tag\" #tagElement *ngIf=\"uiComponent\" [edmSduiView]=\"uiComponent.element\" (click)=\"onTagClick()\">\n <span class=\"tag-name\" #tagNameElement>{{ uiComponent.element?.label ?? '' }}</span>\n</div>\n", styles: [":host{display:contents}.row-tag{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1.5px solid var(--tag-explorer-aux);cursor:pointer;font-size:16px;flex-shrink:0}.row-tag:hover{background-color:var(--bt-tag-explorer-on)}.row-tag--selected{border-color:var(--tag-explorer-highlight);background-color:var(--bt-tag-explorer-on);background-origin:border-box}.tag-name{font-weight:600;color:var(--font-bt-tag-explorer-on);font-size:15px;line-height:17.25px}\n"] }]
272
272
  }], ctorParameters: () => [{ type: undefined, decorators: [{
273
273
  type: Inject,
274
274
  args: ['uiComponent']
@@ -19,4 +19,4 @@ export var UISize;
19
19
  UISize["CARD_3"] = "card_3";
20
20
  UISize["CARD_4"] = "card_4";
21
21
  })(UISize || (UISize = {}));
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWlzaXplLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZHVpL3NyYy9saWIvY29yZS91aXRoZW1lL2VudW1zL3Vpc2l6ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxNQXFCWDtBQXJCRCxXQUFZLE1BQU07SUFDaEIsNkJBQW1CLENBQUE7SUFDbkIsNkJBQW1CLENBQUE7SUFDbkIsNkJBQW1CLENBQUE7SUFDbkIsNkJBQW1CLENBQUE7SUFFbkIsNkJBQW1CLENBQUE7SUFDbkIsNkJBQW1CLENBQUE7SUFDbkIsNkJBQW1CLENBQUE7SUFDbkIsNkJBQW1CLENBQUE7SUFDbkIsNkJBQW1CLENBQUE7SUFDbkIsNkJBQW1CLENBQUE7SUFDbkIsNkJBQW1CLENBQUE7SUFDbkIsNkJBQW1CLENBQUE7SUFDbkIsNkJBQW1CLENBQUE7SUFDbkIsK0JBQXFCLENBQUE7SUFFckIsMkJBQWlCLENBQUE7SUFDakIsMkJBQWlCLENBQUE7SUFDakIsMkJBQWlCLENBQUE7SUFDakIsMkJBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQXJCVyxNQUFNLEtBQU4sTUFBTSxRQXFCakIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBVSVNpemUge1xuICBUSFVNQl8xID0gJ3RodW1iXzEnLCAvLyAxMDB4NTZcbiAgVEhVTUJfMiA9ICd0aHVtYl8yJywgLy8gMTA1eDQwXG4gIFRIVU1CXzMgPSAndGh1bWJfMycsIC8vIDI0MHgxMzVcbiAgVEhVTUJfNCA9ICd0aHVtYl80JywgLy8gMTUweDIxOCAodmVydGljYWwpXG5cbiAgQVNTRVRfMSA9ICdhc3NldF8xJywgLy8gMjZ4MjZcbiAgQVNTRVRfMiA9ICdhc3NldF8yJywgLy8gMTZ4MTZcbiAgQVNTRVRfMyA9ICdhc3NldF8zJywgLy8gODB4ODBcbiAgQVNTRVRfNCA9ICdhc3NldF80JywgLy8gNjB4NjBcbiAgQVNTRVRfNSA9ICdhc3NldF81JywgLy8gMTh4MThcbiAgQVNTRVRfNiA9ICdhc3NldF82JywgLy8gMjB4MjBcbiAgQVNTRVRfNyA9ICdhc3NldF83JywgLy8gMjJ4MjJcbiAgQVNTRVRfOCA9ICdhc3NldF84JywgLy8gMjR4MjRcbiAgQVNTRVRfOSA9ICdhc3NldF85JywgLy8gNDh4NDhcbiAgQVNTRVRfMTAgPSAnYXNzZXRfMTAnLCAvLyAzMHgzMFxuXG4gIENBUkRfMSA9ICdjYXJkXzEnLCAvLyAzMjB4MzIwXG4gIENBUkRfMiA9ICdjYXJkXzInLCAvLyA1ODB4MjQwXG4gIENBUkRfMyA9ICdjYXJkXzMnLCAvLyAzMDB4Mzc1XG4gIENBUkRfNCA9ICdjYXJkXzQnLCAvLyAyMTB4MjI0XG59XG4iXX0=
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWlzaXplLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZHVpL3NyYy9saWIvY29yZS91aXRoZW1lL2VudW1zL3Vpc2l6ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxNQXFCWDtBQXJCRCxXQUFZLE1BQU07SUFDaEIsNkJBQW1CLENBQUE7SUFDbkIsNkJBQW1CLENBQUE7SUFDbkIsNkJBQW1CLENBQUE7SUFDbkIsNkJBQW1CLENBQUE7SUFFbkIsNkJBQW1CLENBQUE7SUFDbkIsNkJBQW1CLENBQUE7SUFDbkIsNkJBQW1CLENBQUE7SUFDbkIsNkJBQW1CLENBQUE7SUFDbkIsNkJBQW1CLENBQUE7SUFDbkIsNkJBQW1CLENBQUE7SUFDbkIsNkJBQW1CLENBQUE7SUFDbkIsNkJBQW1CLENBQUE7SUFDbkIsNkJBQW1CLENBQUE7SUFDbkIsK0JBQXFCLENBQUE7SUFFckIsMkJBQWlCLENBQUE7SUFDakIsMkJBQWlCLENBQUE7SUFDakIsMkJBQWlCLENBQUE7SUFDakIsMkJBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQXJCVyxNQUFNLEtBQU4sTUFBTSxRQXFCakIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBVSVNpemUge1xuICBUSFVNQl8xID0gJ3RodW1iXzEnLCAvLyAxMDB4NTZcbiAgVEhVTUJfMiA9ICd0aHVtYl8yJywgLy8gMTA2eDQwXG4gIFRIVU1CXzMgPSAndGh1bWJfMycsIC8vIDI0MHgxMzVcbiAgVEhVTUJfNCA9ICd0aHVtYl80JywgLy8gMzAweDE3MFxuXG4gIEFTU0VUXzEgPSAnYXNzZXRfMScsIC8vIDI2eDI2XG4gIEFTU0VUXzIgPSAnYXNzZXRfMicsIC8vIDE2eDE2XG4gIEFTU0VUXzMgPSAnYXNzZXRfMycsIC8vIDgweDgwXG4gIEFTU0VUXzQgPSAnYXNzZXRfNCcsIC8vIDYweDYwXG4gIEFTU0VUXzUgPSAnYXNzZXRfNScsIC8vIDE4eDE4XG4gIEFTU0VUXzYgPSAnYXNzZXRfNicsIC8vIDIweDIwXG4gIEFTU0VUXzcgPSAnYXNzZXRfNycsIC8vIDIyeDIyXG4gIEFTU0VUXzggPSAnYXNzZXRfOCcsIC8vIDI0eDI0XG4gIEFTU0VUXzkgPSAnYXNzZXRfOScsIC8vIDQweDQwXG4gIEFTU0VUXzEwID0gJ2Fzc2V0XzEwJywgLy8gMzB4MzBcblxuICBDQVJEXzEgPSAnY2FyZF8xJywgLy8gMjEweDIwMVxuICBDQVJEXzIgPSAnY2FyZF8yJywgLy8gMzAweDMxNVxuICBDQVJEXzMgPSAnY2FyZF8zJywgLy8gMzAweDM3NVxuICBDQVJEXzQgPSAnY2FyZF80JywgLy8gMjEweDIzNVxufVxuIl19
@@ -1,9 +1,9 @@
1
1
  import { UISize } from '../enums/uisize';
2
2
  export const sizeMapping = {
3
- [UISize.THUMB_1]: { width: '100px', height: '56px', scalable: false },
4
- [UISize.THUMB_2]: { width: '105px', height: '40px', scalable: false },
3
+ [UISize.THUMB_1]: { width: '100px', height: '56px', scalable: true },
4
+ [UISize.THUMB_2]: { width: '106px', height: '40px', scalable: true },
5
5
  [UISize.THUMB_3]: { width: '210px', height: '118px', scalable: true },
6
- [UISize.THUMB_4]: { width: '300px', height: '169px', scalable: true },
6
+ [UISize.THUMB_4]: { width: '300px', height: '170px', scalable: true },
7
7
  [UISize.ASSET_1]: { width: '26px', height: '26px', scalable: false },
8
8
  [UISize.ASSET_2]: { width: '16px', height: '16px', scalable: false },
9
9
  [UISize.ASSET_3]: { width: '80px', height: '80px', scalable: false },
@@ -12,15 +12,15 @@ export const sizeMapping = {
12
12
  [UISize.ASSET_6]: { width: '20px', height: '20px', scalable: false },
13
13
  [UISize.ASSET_7]: { width: '22px', height: '22px', scalable: false },
14
14
  [UISize.ASSET_8]: { width: '24px', height: '24px', scalable: false },
15
- [UISize.ASSET_9]: { width: '40px', height: '40px', scalable: false },
15
+ [UISize.ASSET_9]: { width: '60px', height: '60px', scalable: false },
16
16
  [UISize.ASSET_10]: { width: '30px', height: '30px', scalable: false },
17
17
  [UISize.CARD_1]: { width: '210px', height: '201px', scalable: true },
18
- [UISize.CARD_2]: { width: '300px', height: '311px', scalable: true },
19
- [UISize.CARD_3]: { width: '300px', height: '390px', scalable: false },
20
- [UISize.CARD_4]: { width: '210px', height: '100%', scalable: true },
18
+ [UISize.CARD_2]: { width: '300px', height: '315px', scalable: true },
19
+ [UISize.CARD_3]: { width: '300px', height: '375px', scalable: false },
20
+ [UISize.CARD_4]: { width: '210px', height: '235px', scalable: true },
21
21
  };
22
22
  /** @deprecated Use `sizeMapping[size].height` */
23
23
  export const sizeMappingHeight = Object.fromEntries(Object.entries(sizeMapping).map(([key, config]) => [key, config.height]));
24
24
  /** @deprecated Use `sizeMapping[size].width` */
25
25
  export const sizeMappingWidth = Object.fromEntries(Object.entries(sizeMapping).map(([key, config]) => [key, config.width]));
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l6ZS1tYXBwaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZHVpL3NyYy9saWIvY29yZS91aXRoZW1lL21hcHBpbmcvc2l6ZS1tYXBwaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQVF6QyxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQStCO0lBQ3JELENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUU7SUFDckUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRTtJQUNyRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO0lBQ3JFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7SUFFckUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRTtJQUNwRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFO0lBQ3BFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUU7SUFDcEUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRTtJQUNwRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFO0lBQ3BFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUU7SUFDcEUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRTtJQUNwRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFO0lBQ3BFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUU7SUFDcEUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRTtJQUVyRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO0lBQ3BFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7SUFDcEUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRTtJQUNyRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO0NBQ3BFLENBQUM7QUFFRixpREFBaUQ7QUFDakQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQTJCLE1BQU0sQ0FBQyxXQUFXLENBQ3pFLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUMvQyxDQUFDO0FBRTVCLGdEQUFnRDtBQUNoRCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBMkIsTUFBTSxDQUFDLFdBQVcsQ0FDeEUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQzlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVSVNpemUgfSBmcm9tICcuLi9lbnVtcy91aXNpemUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNpemVDb25maWcge1xuICB3aWR0aDogc3RyaW5nO1xuICBoZWlnaHQ6IHN0cmluZztcbiAgc2NhbGFibGU6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBzaXplTWFwcGluZzogUmVjb3JkPFVJU2l6ZSwgU2l6ZUNvbmZpZz4gPSB7XG4gIFtVSVNpemUuVEhVTUJfMV06IHsgd2lkdGg6ICcxMDBweCcsIGhlaWdodDogJzU2cHgnLCBzY2FsYWJsZTogZmFsc2UgfSxcbiAgW1VJU2l6ZS5USFVNQl8yXTogeyB3aWR0aDogJzEwNXB4JywgaGVpZ2h0OiAnNDBweCcsIHNjYWxhYmxlOiBmYWxzZSB9LFxuICBbVUlTaXplLlRIVU1CXzNdOiB7IHdpZHRoOiAnMjEwcHgnLCBoZWlnaHQ6ICcxMThweCcsIHNjYWxhYmxlOiB0cnVlIH0sXG4gIFtVSVNpemUuVEhVTUJfNF06IHsgd2lkdGg6ICczMDBweCcsIGhlaWdodDogJzE2OXB4Jywgc2NhbGFibGU6IHRydWUgfSxcblxuICBbVUlTaXplLkFTU0VUXzFdOiB7IHdpZHRoOiAnMjZweCcsIGhlaWdodDogJzI2cHgnLCBzY2FsYWJsZTogZmFsc2UgfSxcbiAgW1VJU2l6ZS5BU1NFVF8yXTogeyB3aWR0aDogJzE2cHgnLCBoZWlnaHQ6ICcxNnB4Jywgc2NhbGFibGU6IGZhbHNlIH0sXG4gIFtVSVNpemUuQVNTRVRfM106IHsgd2lkdGg6ICc4MHB4JywgaGVpZ2h0OiAnODBweCcsIHNjYWxhYmxlOiBmYWxzZSB9LFxuICBbVUlTaXplLkFTU0VUXzRdOiB7IHdpZHRoOiAnNjBweCcsIGhlaWdodDogJzYwcHgnLCBzY2FsYWJsZTogZmFsc2UgfSxcbiAgW1VJU2l6ZS5BU1NFVF81XTogeyB3aWR0aDogJzE4cHgnLCBoZWlnaHQ6ICcxOHB4Jywgc2NhbGFibGU6IGZhbHNlIH0sXG4gIFtVSVNpemUuQVNTRVRfNl06IHsgd2lkdGg6ICcyMHB4JywgaGVpZ2h0OiAnMjBweCcsIHNjYWxhYmxlOiBmYWxzZSB9LFxuICBbVUlTaXplLkFTU0VUXzddOiB7IHdpZHRoOiAnMjJweCcsIGhlaWdodDogJzIycHgnLCBzY2FsYWJsZTogZmFsc2UgfSxcbiAgW1VJU2l6ZS5BU1NFVF84XTogeyB3aWR0aDogJzI0cHgnLCBoZWlnaHQ6ICcyNHB4Jywgc2NhbGFibGU6IGZhbHNlIH0sXG4gIFtVSVNpemUuQVNTRVRfOV06IHsgd2lkdGg6ICc0MHB4JywgaGVpZ2h0OiAnNDBweCcsIHNjYWxhYmxlOiBmYWxzZSB9LFxuICBbVUlTaXplLkFTU0VUXzEwXTogeyB3aWR0aDogJzMwcHgnLCBoZWlnaHQ6ICczMHB4Jywgc2NhbGFibGU6IGZhbHNlIH0sXG5cbiAgW1VJU2l6ZS5DQVJEXzFdOiB7IHdpZHRoOiAnMjEwcHgnLCBoZWlnaHQ6ICcyMDFweCcsIHNjYWxhYmxlOiB0cnVlIH0sXG4gIFtVSVNpemUuQ0FSRF8yXTogeyB3aWR0aDogJzMwMHB4JywgaGVpZ2h0OiAnMzExcHgnLCBzY2FsYWJsZTogdHJ1ZSB9LFxuICBbVUlTaXplLkNBUkRfM106IHsgd2lkdGg6ICczMDBweCcsIGhlaWdodDogJzM5MHB4Jywgc2NhbGFibGU6IGZhbHNlIH0sXG4gIFtVSVNpemUuQ0FSRF80XTogeyB3aWR0aDogJzIxMHB4JywgaGVpZ2h0OiAnMTAwJScsIHNjYWxhYmxlOiB0cnVlIH0sXG59O1xuXG4vKiogQGRlcHJlY2F0ZWQgVXNlIGBzaXplTWFwcGluZ1tzaXplXS5oZWlnaHRgICovXG5leHBvcnQgY29uc3Qgc2l6ZU1hcHBpbmdIZWlnaHQ6IFJlY29yZDxVSVNpemUsIHN0cmluZz4gPSBPYmplY3QuZnJvbUVudHJpZXMoXG4gIE9iamVjdC5lbnRyaWVzKHNpemVNYXBwaW5nKS5tYXAoKFtrZXksIGNvbmZpZ10pID0+IFtrZXksIGNvbmZpZy5oZWlnaHRdKSxcbikgYXMgUmVjb3JkPFVJU2l6ZSwgc3RyaW5nPjtcblxuLyoqIEBkZXByZWNhdGVkIFVzZSBgc2l6ZU1hcHBpbmdbc2l6ZV0ud2lkdGhgICovXG5leHBvcnQgY29uc3Qgc2l6ZU1hcHBpbmdXaWR0aDogUmVjb3JkPFVJU2l6ZSwgc3RyaW5nPiA9IE9iamVjdC5mcm9tRW50cmllcyhcbiAgT2JqZWN0LmVudHJpZXMoc2l6ZU1hcHBpbmcpLm1hcCgoW2tleSwgY29uZmlnXSkgPT4gW2tleSwgY29uZmlnLndpZHRoXSksXG4pIGFzIFJlY29yZDxVSVNpemUsIHN0cmluZz47XG4iXX0=
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l6ZS1tYXBwaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZHVpL3NyYy9saWIvY29yZS91aXRoZW1lL21hcHBpbmcvc2l6ZS1tYXBwaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQVF6QyxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQStCO0lBQ3JELENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7SUFDcEUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtJQUNwRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO0lBQ3JFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7SUFFckUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRTtJQUNwRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFO0lBQ3BFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUU7SUFDcEUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRTtJQUNwRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFO0lBQ3BFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUU7SUFDcEUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRTtJQUNwRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFO0lBQ3BFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUU7SUFDcEUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRTtJQUVyRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO0lBQ3BFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7SUFDcEUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRTtJQUNyRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO0NBQ3JFLENBQUM7QUFFRixpREFBaUQ7QUFDakQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQTJCLE1BQU0sQ0FBQyxXQUFXLENBQ3pFLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUMvQyxDQUFDO0FBRTVCLGdEQUFnRDtBQUNoRCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBMkIsTUFBTSxDQUFDLFdBQVcsQ0FDeEUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQzlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVSVNpemUgfSBmcm9tICcuLi9lbnVtcy91aXNpemUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNpemVDb25maWcge1xuICB3aWR0aDogc3RyaW5nO1xuICBoZWlnaHQ6IHN0cmluZztcbiAgc2NhbGFibGU6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBzaXplTWFwcGluZzogUmVjb3JkPFVJU2l6ZSwgU2l6ZUNvbmZpZz4gPSB7XG4gIFtVSVNpemUuVEhVTUJfMV06IHsgd2lkdGg6ICcxMDBweCcsIGhlaWdodDogJzU2cHgnLCBzY2FsYWJsZTogdHJ1ZSB9LFxuICBbVUlTaXplLlRIVU1CXzJdOiB7IHdpZHRoOiAnMTA2cHgnLCBoZWlnaHQ6ICc0MHB4Jywgc2NhbGFibGU6IHRydWUgfSxcbiAgW1VJU2l6ZS5USFVNQl8zXTogeyB3aWR0aDogJzIxMHB4JywgaGVpZ2h0OiAnMTE4cHgnLCBzY2FsYWJsZTogdHJ1ZSB9LFxuICBbVUlTaXplLlRIVU1CXzRdOiB7IHdpZHRoOiAnMzAwcHgnLCBoZWlnaHQ6ICcxNzBweCcsIHNjYWxhYmxlOiB0cnVlIH0sXG5cbiAgW1VJU2l6ZS5BU1NFVF8xXTogeyB3aWR0aDogJzI2cHgnLCBoZWlnaHQ6ICcyNnB4Jywgc2NhbGFibGU6IGZhbHNlIH0sXG4gIFtVSVNpemUuQVNTRVRfMl06IHsgd2lkdGg6ICcxNnB4JywgaGVpZ2h0OiAnMTZweCcsIHNjYWxhYmxlOiBmYWxzZSB9LFxuICBbVUlTaXplLkFTU0VUXzNdOiB7IHdpZHRoOiAnODBweCcsIGhlaWdodDogJzgwcHgnLCBzY2FsYWJsZTogZmFsc2UgfSxcbiAgW1VJU2l6ZS5BU1NFVF80XTogeyB3aWR0aDogJzYwcHgnLCBoZWlnaHQ6ICc2MHB4Jywgc2NhbGFibGU6IGZhbHNlIH0sXG4gIFtVSVNpemUuQVNTRVRfNV06IHsgd2lkdGg6ICcxOHB4JywgaGVpZ2h0OiAnMThweCcsIHNjYWxhYmxlOiBmYWxzZSB9LFxuICBbVUlTaXplLkFTU0VUXzZdOiB7IHdpZHRoOiAnMjBweCcsIGhlaWdodDogJzIwcHgnLCBzY2FsYWJsZTogZmFsc2UgfSxcbiAgW1VJU2l6ZS5BU1NFVF83XTogeyB3aWR0aDogJzIycHgnLCBoZWlnaHQ6ICcyMnB4Jywgc2NhbGFibGU6IGZhbHNlIH0sXG4gIFtVSVNpemUuQVNTRVRfOF06IHsgd2lkdGg6ICcyNHB4JywgaGVpZ2h0OiAnMjRweCcsIHNjYWxhYmxlOiBmYWxzZSB9LFxuICBbVUlTaXplLkFTU0VUXzldOiB7IHdpZHRoOiAnNjBweCcsIGhlaWdodDogJzYwcHgnLCBzY2FsYWJsZTogZmFsc2UgfSxcbiAgW1VJU2l6ZS5BU1NFVF8xMF06IHsgd2lkdGg6ICczMHB4JywgaGVpZ2h0OiAnMzBweCcsIHNjYWxhYmxlOiBmYWxzZSB9LFxuXG4gIFtVSVNpemUuQ0FSRF8xXTogeyB3aWR0aDogJzIxMHB4JywgaGVpZ2h0OiAnMjAxcHgnLCBzY2FsYWJsZTogdHJ1ZSB9LFxuICBbVUlTaXplLkNBUkRfMl06IHsgd2lkdGg6ICczMDBweCcsIGhlaWdodDogJzMxNXB4Jywgc2NhbGFibGU6IHRydWUgfSxcbiAgW1VJU2l6ZS5DQVJEXzNdOiB7IHdpZHRoOiAnMzAwcHgnLCBoZWlnaHQ6ICczNzVweCcsIHNjYWxhYmxlOiBmYWxzZSB9LFxuICBbVUlTaXplLkNBUkRfNF06IHsgd2lkdGg6ICcyMTBweCcsIGhlaWdodDogJzIzNXB4Jywgc2NhbGFibGU6IHRydWUgfSxcbn07XG5cbi8qKiBAZGVwcmVjYXRlZCBVc2UgYHNpemVNYXBwaW5nW3NpemVdLmhlaWdodGAgKi9cbmV4cG9ydCBjb25zdCBzaXplTWFwcGluZ0hlaWdodDogUmVjb3JkPFVJU2l6ZSwgc3RyaW5nPiA9IE9iamVjdC5mcm9tRW50cmllcyhcbiAgT2JqZWN0LmVudHJpZXMoc2l6ZU1hcHBpbmcpLm1hcCgoW2tleSwgY29uZmlnXSkgPT4gW2tleSwgY29uZmlnLmhlaWdodF0pLFxuKSBhcyBSZWNvcmQ8VUlTaXplLCBzdHJpbmc+O1xuXG4vKiogQGRlcHJlY2F0ZWQgVXNlIGBzaXplTWFwcGluZ1tzaXplXS53aWR0aGAgKi9cbmV4cG9ydCBjb25zdCBzaXplTWFwcGluZ1dpZHRoOiBSZWNvcmQ8VUlTaXplLCBzdHJpbmc+ID0gT2JqZWN0LmZyb21FbnRyaWVzKFxuICBPYmplY3QuZW50cmllcyhzaXplTWFwcGluZykubWFwKChba2V5LCBjb25maWddKSA9PiBba2V5LCBjb25maWcud2lkdGhdKSxcbikgYXMgUmVjb3JkPFVJU2l6ZSwgc3RyaW5nPjtcbiJdfQ==
@@ -240,9 +240,7 @@ export class UIViewDirective {
240
240
  if (!config)
241
241
  return;
242
242
  let { width: widthValue, height: heightValue } = config;
243
- if (config.scalable &&
244
- this.isSmallScreen() &&
245
- this.currentContainer === UIScreenContainerType.FLUID) {
243
+ if (config.scalable && this.isSmallScreen()) {
246
244
  widthValue = this.scalePixelValue(widthValue, 1.1);
247
245
  heightValue = this.scalePixelValue(heightValue, 1.1);
248
246
  }
@@ -400,4 +398,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
400
398
  type: HostListener,
401
399
  args: ['click', ['$event']]
402
400
  }] } });
403
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWl2aWV3LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2R1aS9zcmMvbGliL2RpcmVjdGl2ZXMvdWl2aWV3LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUVMLFFBQVEsRUFDUixTQUFTLEdBRVYsTUFBTSxlQUFlLENBQUM7QUFhdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzdFLE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIsdUJBQXVCLEdBQ3hCLE1BQU0sd0NBQXdDLENBQUM7QUFDaEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFckUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDOzs7OztBQU01RixNQUFNLE9BQU8sZUFBZTthQUdGLDRCQUF1QixHQUFHLG1CQUFtQixBQUF0QixDQUF1QjthQUM5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QUFLLENBQUMsZ0JBQWdCLENBQWMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvRixDQUFDO0lBRU8sb0JBQW9CLENBQUMsT0FBb0IsRUFBRSxPQUEyQjtRQUM1RSxJQUFJLE9BQU8sQ0FBQyxFQUFFLElBQUksT0FBTyxDQUFDLEVBQUUsS0FBSyxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUM7WUFDN0MsT0FBTyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ3BCLENBQUM7UUFFRCxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBdUIsQ0FBQztRQUNoRSxJQUFJLFNBQVMsRUFBRSxFQUFFLElBQUksU0FBUyxDQUFDLEVBQUUsS0FBSyxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUM7WUFDbEQsT0FBTyxTQUFTLENBQUMsRUFBRSxDQUFDO1FBQ3RCLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7K0dBL2lCVSxlQUFlO21HQUFmLGVBQWU7OzRGQUFmLGVBQWU7a0JBSjNCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFVBQVUsRUFBRSxLQUFLO2lCQUNsQjs7MEJBbUJJLFFBQVE7eUNBakJGLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFzYk4sY0FBYztzQkFEYixZQUFZO3VCQUFDLGVBQWU7Z0JBVTdCLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT3B0aW9uYWwsXG4gIFJlbmRlcmVyMixcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVSVZpZXcgfSBmcm9tICcuLi9jb3JlL3VpY29tcG9zaXRpb24vbW9kZWxzL3Vpdmlldyc7XG5pbXBvcnQgeyBVSVBhZGRpbmcgfSBmcm9tICcuLi9jb3JlL3VpdGhlbWUvbW9kZWxzL3VpcGFkZGluZyc7XG5pbXBvcnQgeyBVSUJhY2tncm91bmQgfSBmcm9tICcuLi9jb3JlL3VpdGhlbWUvbW9kZWxzL3VpYmFja2dyb3VuZCc7XG5pbXBvcnQgeyBVSUFjdGlvbiB9IGZyb20gJy4uL2NvcmUvdWl0aGVtZS9tb2RlbHMvdWlhY3Rpb24nO1xuaW1wb3J0IHsgVUlBbGlnbm1lbnQgfSBmcm9tICcuLi9jb3JlL3VpdGhlbWUvbW9kZWxzL3VpYWxpZ25tZW50JztcbmltcG9ydCB7IFVJU2hhZG93IH0gZnJvbSAnLi4vY29yZS91aXRoZW1lL21vZGVscy91aXNoYWRvdyc7XG5pbXBvcnQgeyBVSVJhZGl1cyB9IGZyb20gJy4uL2NvcmUvdWl0aGVtZS9tb2RlbHMvdWlyYWRpdXMnO1xuaW1wb3J0IHsgVUlTcGFjaW5nIH0gZnJvbSAnLi4vY29yZS91aXRoZW1lL21vZGVscy91aXNwYWNpbmcnO1xuaW1wb3J0IHsgVUlDb2xvciB9IGZyb20gJy4uL2NvcmUvdWl0aGVtZS9lbnVtcy91aWNvbG9yJztcbmltcG9ydCB7IFVJSnVzdGlmeSB9IGZyb20gJy4uL2NvcmUvdWl0aGVtZS9lbnVtcy91aWp1c3RpZnknO1xuaW1wb3J0IHsgVUlEaW1lbnNpb24gfSBmcm9tICcuLi9jb3JlL3VpdGhlbWUvZW51bXMvdWlkaW1lbnNpb24nO1xuaW1wb3J0IHsgVUlDb250ZW50SW5zZXQgfSBmcm9tICcuLi9jb3JlL3VpdGhlbWUvbW9kZWxzL3VpY29udGVudC1pbnNldCc7XG5pbXBvcnQgeyBzcGFjZU1hcHBpbmcgfSBmcm9tICcuLi9jb3JlL3VpdGhlbWUvbWFwcGluZy9zcGFjZS1tYXBwaW5nJztcbmltcG9ydCB7IGNvbG9yTWFwcGluZyB9IGZyb20gJy4uL2NvcmUvdWl0aGVtZS9tYXBwaW5nL2NvbG9yLW1hcHBpbmcnO1xuaW1wb3J0IHsgcGFkTWFwcGluZyB9IGZyb20gJy4uL2NvcmUvdWl0aGVtZS9tYXBwaW5nL3BhZC1tYXBwaW5nJztcbmltcG9ydCB7IHJhZGl1c01hcHBpbmcgfSBmcm9tICcuLi9jb3JlL3VpdGhlbWUvbWFwcGluZy9yYWRpdXMtbWFwcGluZyc7XG5pbXBvcnQgeyBhbGlnbm1lbnRNYXBwaW5nIH0gZnJvbSAnLi4vY29yZS91aXRoZW1lL21hcHBpbmcvYWxpZ25tZW50LW1hcHBpbmcnO1xuaW1wb3J0IHsgZGltZW5zaW9uTWFwcGluZyB9IGZyb20gJy4uL2NvcmUvdWl0aGVtZS9tYXBwaW5nL2RpbWVuc2lvbi1tYXBwaW5nJztcbmltcG9ydCB7XG4gIHNoYWRvd09mZnNldE1hcHBpbmcsXG4gIHNoYWRvd0JsdXJSYWRpdXNNYXBwaW5nLFxufSBmcm9tICcuLi9jb3JlL3VpdGhlbWUvbWFwcGluZy9zaGFkb3ctbWFwcGluZyc7XG5pbXBvcnQgeyBqdXN0aWZ5TWFwcGluZyB9IGZyb20gJy4uL2NvcmUvdWl0aGVtZS9tYXBwaW5nL2p1c3RpZnktbWFwcGluZyc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVUlTY3JlZW5WaWV3TW9kZWwgfSBmcm9tICcuLi9jb3JlL3ZpZXctbW9kZWxzL3Vpc2NyZWVuLnZpZXdtb2RlbCc7XG5pbXBvcnQgeyBVSUFjdGlvblNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3NlcnZpY2VzL3VpLWFjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFVJU2l6ZSB9IGZyb20gJy4uL2NvcmUvdWl0aGVtZS9lbnVtcy91aXNpemUnO1xuaW1wb3J0IHsgc2l6ZU1hcHBpbmcgfSBmcm9tICcuLi9jb3JlL3VpdGhlbWUvbWFwcGluZy9zaXplLW1hcHBpbmcnO1xuaW1wb3J0IHsgVUlTY3JlZW5Db250YWluZXJUeXBlIH0gZnJvbSAnLi4vY29yZS91aWNvbXBvc2l0aW9uL2VudW1zL3Vpc2NyZWVuLWNvbnRhaW5lci10eXBlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2VkbVNkdWlWaWV3XScsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBVSVZpZXdEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBlZG1TZHVpVmlldz86IFVJVmlldztcbiAgQElucHV0KCkgZGlzYWJsZUNsaWNrOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IEVYUExPUkVfTEFTVF9BTkNIT1JfS0VZID0gJ2V4cGxvcmVMYXN0QW5jaG9yJztcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgRVhQTE9SRV9DTElDS0VEX0FOQ0hPUl9LRVkgPSAnZXhwbG9yZUNsaWNrZWRBbmNob3InO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBFWFBMT1JFX0xBU1RfUk9XX0lOREVYX0tFWSA9ICdleHBsb3JlTGFzdFJvd0luZGV4JztcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgRVhQTE9SRV9MQVNUX1JPV19TQ1JPTExfTEVGVF9LRVkgPSAnZXhwbG9yZUxhc3RSb3dTY3JvbGxMZWZ0JztcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgRVhQTE9SRV9MQVNUX0lURU1fSURfS0VZID0gJ2V4cGxvcmVMYXN0SXRlbUlkJztcblxuICBwcml2YXRlIGxhc3RVaVZpZXc6IFVJVmlldyB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIHdhc1NtYWxsU2NyZWVuID0gdGhpcy5pc1NtYWxsU2NyZWVuKCk7XG4gIHByaXZhdGUgY3VycmVudENvbnRhaW5lcjogVUlTY3JlZW5Db250YWluZXJUeXBlID0gVUlTY3JlZW5Db250YWluZXJUeXBlLkNPTlRBSU5FRDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBhY3Rpb25TZXJ2aWNlOiBVSUFjdGlvblNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBzY3JlZW5WaWV3TW9kZWw6IFVJU2NyZWVuVmlld01vZGVsXG4gICkge1xuICAgIGlmICh0aGlzLnNjcmVlblZpZXdNb2RlbCkge1xuICAgICAgdGhpcy5zY3JlZW5WaWV3TW9kZWwudWlTY3JlZW4kLnN1YnNjcmliZSgoc2NyZWVuKSA9PiB7XG4gICAgICAgIHRoaXMuY3VycmVudENvbnRhaW5lciA9XG4gICAgICAgICAgc2NyZWVuPy5jb25maWc/LmNvbnRhaW5lciA/PyBVSVNjcmVlbkNvbnRhaW5lclR5cGUuQ09OVEFJTkVEO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmICh0aGlzLmVkbVNkdWlWaWV3KSB7XG4gICAgICB0aGlzLmxhc3RVaVZpZXcgPSB0aGlzLmVkbVNkdWlWaWV3O1xuICAgICAgdGhpcy5hcHBseVN0eWxlcyh0aGlzLmVkbVNkdWlWaWV3KTtcbiAgICAgIHRoaXMud2FzU21hbGxTY3JlZW4gPSB0aGlzLmlzU21hbGxTY3JlZW4oKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFwcGx5U3R5bGVzKHVpVmlldzogVUlWaWV3KSB7XG4gICAgaWYgKHVpVmlldy5pZCkge1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAnaWQnLFxuICAgICAgICBTdHJpbmcodWlWaWV3LmlkKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAodWlWaWV3LnBhZGRpbmcpIHtcbiAgICAgIHRoaXMuYXBwbHlQYWRkaW5nKHVpVmlldy5wYWRkaW5nKTtcbiAgICB9XG5cbiAgICBpZiAodWlWaWV3LmNvbnRlbnRJbnNldCkge1xuICAgICAgdGhpcy5hcHBseUNvbnRlbnRJbnNldCh1aVZpZXcuY29udGVudEluc2V0KTtcbiAgICB9XG5cbiAgICBpZiAodWlWaWV3LmJhY2tncm91bmQpIHtcbiAgICAgIHRoaXMuYXBwbHlCYWNrZ3JvdW5kKHVpVmlldy5iYWNrZ3JvdW5kKTtcbiAgICB9XG5cbiAgICBpZiAodWlWaWV3LmFjdGlvbikge1xuICAgICAgdGhpcy5hcHBseUFjdGlvbih1aVZpZXcuYWN0aW9uKTtcbiAgICB9XG5cbiAgICBpZiAodWlWaWV3LmFsaWdubWVudCkge1xuICAgICAgdGhpcy5hcHBseUFsaWdubWVudCh1aVZpZXcuYWxpZ25tZW50KTtcbiAgICB9XG5cbiAgICBpZiAodWlWaWV3LnNoYWRvdykge1xuICAgICAgdGhpcy5hcHBseVNoYWRvdyh1aVZpZXcuc2hhZG93KTtcbiAgICB9XG5cbiAgICBpZiAodWlWaWV3LnJhZGl1cykge1xuICAgICAgdGhpcy5hcHBseVJhZGl1cyh1aVZpZXcucmFkaXVzKTtcbiAgICB9XG5cbiAgICBpZiAodWlWaWV3LnNwYWNpbmcpIHtcbiAgICAgIHRoaXMuYXBwbHlTcGFjaW5nKHVpVmlldy5zcGFjaW5nKTtcbiAgICB9XG5cbiAgICBpZiAodWlWaWV3LmhlaWdodCkge1xuICAgICAgdGhpcy5hcHBseUhlaWdodCh1aVZpZXcuaGVpZ2h0KTtcbiAgICB9XG5cbiAgICBpZiAodWlWaWV3LndpZHRoKSB7XG4gICAgICB0aGlzLmFwcGx5V2lkdGgodWlWaWV3LndpZHRoKTtcbiAgICB9XG5cbiAgICBpZiAodWlWaWV3LmJvcmRlcldpZHRoKSB7XG4gICAgICB0aGlzLmFwcGx5Qm9yZGVyV2lkdGgodWlWaWV3LmJvcmRlcldpZHRoKTtcbiAgICB9XG5cbiAgICBpZiAodWlWaWV3LmJvcmRlckNvbG9yKSB7XG4gICAgICB0aGlzLmFwcGx5Qm9yZGVyQ29sb3IodWlWaWV3LmJvcmRlckNvbG9yKTtcbiAgICB9XG5cbiAgICBpZiAodWlWaWV3Lmp1c3RpZnkpIHtcbiAgICAgIHRoaXMuYXBwbHlKdXN0aWZ5KHVpVmlldy5qdXN0aWZ5KTtcbiAgICB9XG5cbiAgICBpZiAodWlWaWV3LnNpemUpIHtcbiAgICAgIHRoaXMuYXBwbHlTaXplKHVpVmlldy5zaXplKTtcbiAgICB9XG4gICAgaWYgKHVpVmlldy5hc3BlY3RSYXRpbyAhPT0gbnVsbCAmJiB1aVZpZXcuYXNwZWN0UmF0aW8gIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5hcHBseUFzcGVjdFJhdGlvKHVpVmlldy5hc3BlY3RSYXRpbyk7XG4gICAgfVxuXG4gICAgaWYodWlWaWV3LmhvdmVyKXtcbiAgICAgIHRoaXMuYXBwbHlIb3ZlclZhcnModWlWaWV3KTtcbiAgICB9XG5cbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlQYWRkaW5nKHVpUGFkZGluZzogVUlQYWRkaW5nKSB7XG4gICAgaWYgKHVpUGFkZGluZy50b3ApIHtcbiAgICAgIGNvbnN0IHBhZFZhbHVlID0gcGFkTWFwcGluZ1t1aVBhZGRpbmcudG9wXTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAncGFkZGluZy10b3AnLFxuICAgICAgICBwYWRWYWx1ZVxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHVpUGFkZGluZy5sZWZ0KSB7XG4gICAgICBjb25zdCBwYWRWYWx1ZSA9IHBhZE1hcHBpbmdbdWlQYWRkaW5nLmxlZnRdO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdwYWRkaW5nLWxlZnQnLFxuICAgICAgICBwYWRWYWx1ZVxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHVpUGFkZGluZy5yaWdodCkge1xuICAgICAgY29uc3QgcGFkVmFsdWUgPSBwYWRNYXBwaW5nW3VpUGFkZGluZy5yaWdodF07XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgJ3BhZGRpbmctcmlnaHQnLFxuICAgICAgICBwYWRWYWx1ZVxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHVpUGFkZGluZy5ib3R0b20pIHtcbiAgICAgIGNvbnN0IHBhZFZhbHVlID0gcGFkTWFwcGluZ1t1aVBhZGRpbmcuYm90dG9tXTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAncGFkZGluZy1ib3R0b20nLFxuICAgICAgICBwYWRWYWx1ZVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFwcGx5Q29udGVudEluc2V0KHVpQ29udGVudEluc2V0OiBVSUNvbnRlbnRJbnNldCkge1xuICAgIGlmICh1aUNvbnRlbnRJbnNldC50b3ApIHtcbiAgICAgIGNvbnN0IGluc2V0VmFsdWUgPSBzcGFjZU1hcHBpbmdbdWlDb250ZW50SW5zZXQudG9wXTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAncGFkZGluZy10b3AnLFxuICAgICAgICBpbnNldFZhbHVlXG4gICAgICApO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICctLXNkdWktY29udGVudC1pbnNldC10b3AnLFxuICAgICAgICBpbnNldFZhbHVlXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICh1aUNvbnRlbnRJbnNldC5sZWZ0KSB7XG4gICAgICBjb25zdCBpbnNldFZhbHVlID0gc3BhY2VNYXBwaW5nW3VpQ29udGVudEluc2V0LmxlZnRdO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdwYWRkaW5nLWxlZnQnLFxuICAgICAgICBpbnNldFZhbHVlXG4gICAgICApO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICctLXNkdWktY29udGVudC1pbnNldC1sZWZ0JyxcbiAgICAgICAgaW5zZXRWYWx1ZVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAodWlDb250ZW50SW5zZXQucmlnaHQpIHtcbiAgICAgIGNvbnN0IGluc2V0VmFsdWUgPSBzcGFjZU1hcHBpbmdbdWlDb250ZW50SW5zZXQucmlnaHRdO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdwYWRkaW5nLXJpZ2h0JyxcbiAgICAgICAgaW5zZXRWYWx1ZVxuICAgICAgKTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAnLS1zZHVpLWNvbnRlbnQtaW5zZXQtcmlnaHQnLFxuICAgICAgICBpbnNldFZhbHVlXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICh1aUNvbnRlbnRJbnNldC5ib3R0b20pIHtcbiAgICAgIGNvbnN0IGluc2V0VmFsdWUgPSBzcGFjZU1hcHBpbmdbdWlDb250ZW50SW5zZXQuYm90dG9tXTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAncGFkZGluZy1ib3R0b20nLFxuICAgICAgICBpbnNldFZhbHVlXG4gICAgICApO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICctLXNkdWktY29udGVudC1pbnNldC1ib3R0b20nLFxuICAgICAgICBpbnNldFZhbHVlXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlCYWNrZ3JvdW5kKHVpQmFja2dyb3VuZDogVUlCYWNrZ3JvdW5kKSB7XG4gICAgaWYgKHVpQmFja2dyb3VuZC5iYWNrZ3JvdW5kQ29sb3IpIHtcbiAgICAgIGNvbnN0IGJhY2tncm91bmRDb2xvciA9IGNvbG9yTWFwcGluZ1t1aUJhY2tncm91bmQuYmFja2dyb3VuZENvbG9yXTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAnYmFja2dyb3VuZC1jb2xvcicsXG4gICAgICAgIGJhY2tncm91bmRDb2xvclxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAodWlCYWNrZ3JvdW5kLmdyYWRpZW50Q29sb3IxICYmIHVpQmFja2dyb3VuZC5ncmFkaWVudENvbG9yMikge1xuICAgICAgY29uc3QgZ3JhZGllbnRDb2xvcjEgPSBjb2xvck1hcHBpbmdbdWlCYWNrZ3JvdW5kLmdyYWRpZW50Q29sb3IxXTtcbiAgICAgIGNvbnN0IGdyYWRpZW50Q29sb3IyID0gY29sb3JNYXBwaW5nW3VpQmFja2dyb3VuZC5ncmFkaWVudENvbG9yMl07XG4gICAgICBjb25zdCBncmFkaWVudFN0eWxlcyA9IGBsaW5lYXItZ3JhZGllbnQoNDVkZWcsICR7Z3JhZGllbnRDb2xvcjF9LCAke2dyYWRpZW50Q29sb3IyfSlgXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgJ2JhY2tncm91bmQnLFxuICAgICAgICBncmFkaWVudFN0eWxlc1xuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFwcGx5QWN0aW9uKHVpQWN0aW9uOiBVSUFjdGlvbikge1xuICAgIGlmICh0aGlzLmRpc2FibGVDbGljaykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdjdXJzb3InLCAncG9pbnRlcicpO1xuICB9XG5cbiAgcHJpdmF0ZSBhcHBseUFsaWdubWVudCh1aUFsaWdubWVudDogVUlBbGlnbm1lbnQpIHtcbiAgICBpZiAodWlBbGlnbm1lbnQuYWxpZ25tZW50KSB7XG4gICAgICBjb25zdCBhbGlnbm1lbnQgPSBhbGlnbm1lbnRNYXBwaW5nW3VpQWxpZ25tZW50LmFsaWdubWVudF07XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgJ2FsaWduLWl0ZW1zJyxcbiAgICAgICAgYWxpZ25tZW50XG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlTaGFkb3codWlTaGFkb3c6IFVJU2hhZG93KSB7XG4gICAgaWYgKHVpU2hhZG93LmNvbG9yICYmIHVpU2hhZG93Lm9mZnNldFggJiYgdWlTaGFkb3cub2Zmc2V0WSAmJiB1aVNoYWRvdy5ibHVyUmFkaXVzKSB7XG4gICAgICBjb25zdCBjb2xvciA9IGNvbG9yTWFwcGluZ1t1aVNoYWRvdy5jb2xvcl07XG4gICAgICBjb25zdCBvZmZzZXRYID0gc2hhZG93T2Zmc2V0TWFwcGluZ1t1aVNoYWRvdy5vZmZzZXRYXTtcbiAgICAgIGNvbnN0IG9mZnNldFkgPSBzaGFkb3dPZmZzZXRNYXBwaW5nW3VpU2hhZG93Lm9mZnNldFldO1xuICAgICAgY29uc3QgYmx1clJhZGl1cyA9IHNoYWRvd0JsdXJSYWRpdXNNYXBwaW5nW3VpU2hhZG93LmJsdXJSYWRpdXNdO1xuICAgICAgY29uc3Qgb3BhY2l0eSA9IHVpU2hhZG93Lm9wYWNpdHkgIT09IHVuZGVmaW5lZCA/IHVpU2hhZG93Lm9wYWNpdHkgOiAxO1xuXG4gICAgICAvLyBGb3JtYXQ6IGJveC1zaGFkb3c6IG9mZnNldFggb2Zmc2V0WSBibHVyUmFkaXVzIGNvbG9yXG4gICAgICBjb25zdCBzaGFkb3dWYWx1ZSA9IGAke29mZnNldFh9ICR7b2Zmc2V0WX0gJHtibHVyUmFkaXVzfSAke2NvbG9yfWA7XG5cbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAnYm94LXNoYWRvdycsXG4gICAgICAgIHNoYWRvd1ZhbHVlXG4gICAgICApO1xuXG4gICAgICBpZiAob3BhY2l0eSAhPT0gMSkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICdvcGFjaXR5JyxcbiAgICAgICAgICBvcGFjaXR5LnRvU3RyaW5nKClcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFwcGx5UmFkaXVzKHVpUmFkaXVzOiBVSVJhZGl1cykge1xuICAgIGlmICh1aVJhZGl1cy50b3BMZWZ0KSB7XG4gICAgICBjb25zdCByYWRpdXMgPSByYWRpdXNNYXBwaW5nW3VpUmFkaXVzLnRvcExlZnRdO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdib3JkZXItdG9wLWxlZnQtcmFkaXVzJyxcbiAgICAgICAgcmFkaXVzXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICh1aVJhZGl1cy50b3BSaWdodCkge1xuICAgICAgY29uc3QgcmFkaXVzID0gcmFkaXVzTWFwcGluZ1t1aVJhZGl1cy50b3BSaWdodF07XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgJ2JvcmRlci10b3AtcmlnaHQtcmFkaXVzJyxcbiAgICAgICAgcmFkaXVzXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICh1aVJhZGl1cy5ib3R0b21MZWZ0KSB7XG4gICAgICBjb25zdCByYWRpdXMgPSByYWRpdXNNYXBwaW5nW3VpUmFkaXVzLmJvdHRvbUxlZnRdO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzJyxcbiAgICAgICAgcmFkaXVzXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICh1aVJhZGl1cy5ib3R0b21SaWdodCkge1xuICAgICAgY29uc3QgcmFkaXVzID0gcmFkaXVzTWFwcGluZ1t1aVJhZGl1cy5ib3R0b21SaWdodF07XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgJ2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzJyxcbiAgICAgICAgcmFkaXVzXG4gICAgICApO1xuICAgIH1cblxuICB9XG5cbiAgcHJpdmF0ZSBhcHBseVNwYWNpbmcodWlTcGFjaW5nOiBVSVNwYWNpbmcpIHtcbiAgICBpZiAodWlTcGFjaW5nLnNwYWNpbmcpIHtcbiAgICAgIGNvbnN0IHNwYWNpbmdWYWx1ZSA9IHNwYWNlTWFwcGluZ1t1aVNwYWNpbmcuc3BhY2luZ107XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgJ2dhcCcsXG4gICAgICAgIHNwYWNpbmdWYWx1ZVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFwcGx5SGVpZ2h0KGhlaWdodDogVUlEaW1lbnNpb24pIHtcbiAgICBpZiAoaGVpZ2h0KSB7XG4gICAgICBjb25zdCBoZWlnaHRWYWx1ZSA9IGRpbWVuc2lvbk1hcHBpbmdbaGVpZ2h0XTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAnaGVpZ2h0JyxcbiAgICAgICAgaGVpZ2h0VmFsdWVcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhcHBseVdpZHRoKHdpZHRoOiBVSURpbWVuc2lvbikge1xuICAgIGlmICh3aWR0aCkge1xuICAgICAgY29uc3Qgd2lkdGhWYWx1ZSA9IGRpbWVuc2lvbk1hcHBpbmdbd2lkdGhdO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICd3aWR0aCcsXG4gICAgICAgIHdpZHRoVmFsdWVcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhcHBseUJvcmRlcldpZHRoKGJvcmRlcldpZHRoOiBudW1iZXIpIHtcbiAgICBpZiAoYm9yZGVyV2lkdGggIT09IG51bGwgJiYgYm9yZGVyV2lkdGggIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdib3JkZXItd2lkdGgnLFxuICAgICAgICBgJHtib3JkZXJXaWR0aH1weGBcbiAgICAgICk7XG5cbiAgICAgIC8vIEVuc3VyZSBib3JkZXIgc3R5bGUgaXMgc2V0LCBvdGhlcndpc2UgYm9yZGVyLXdpZHRoIHdvbid0IGJlIHZpc2libGVcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAnYm9yZGVyLXN0eWxlJyxcbiAgICAgICAgJ3NvbGlkJ1xuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFwcGx5Qm9yZGVyQ29sb3IoYm9yZGVyQ29sb3I6IFVJQ29sb3IpIHtcbiAgICBpZiAoYm9yZGVyQ29sb3IpIHtcbiAgICAgIGNvbnN0IGNvbG9yID0gY29sb3JNYXBwaW5nW2JvcmRlckNvbG9yXTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAnYm9yZGVyLWNvbG9yJyxcbiAgICAgICAgY29sb3JcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhcHBseUp1c3RpZnkoanVzdGlmeTogVUlKdXN0aWZ5KSB7XG4gICAgaWYgKGp1c3RpZnkpIHtcbiAgICAgIGNvbnN0IGp1c3RpZnlWYWx1ZSA9IGp1c3RpZnlNYXBwaW5nW2p1c3RpZnldO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdqdXN0aWZ5LWNvbnRlbnQnLFxuICAgICAgICBqdXN0aWZ5VmFsdWVcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhcHBseUFzcGVjdFJhdGlvKGFzcGVjdFJhdGlvOiBudW1iZXIpIHtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlTaXplKHNpemU6IFVJU2l6ZSkge1xuICAgIGNvbnN0IGNvbmZpZyA9IHNpemVNYXBwaW5nW3NpemVdO1xuICAgIGlmICghY29uZmlnKSByZXR1cm47XG5cbiAgICBsZXQgeyB3aWR0aDogd2lkdGhWYWx1ZSwgaGVpZ2h0OiBoZWlnaHRWYWx1ZSB9ID0gY29uZmlnO1xuXG4gICAgaWYgKFxuICAgICAgY29uZmlnLnNjYWxhYmxlICYmXG4gICAgICB0aGlzLmlzU21hbGxTY3JlZW4oKSAmJlxuICAgICAgdGhpcy5jdXJyZW50Q29udGFpbmVyID09PSBVSVNjcmVlbkNvbnRhaW5lclR5cGUuRkxVSURcbiAgICApIHtcbiAgICAgIHdpZHRoVmFsdWUgPSB0aGlzLnNjYWxlUGl4ZWxWYWx1ZSh3aWR0aFZhbHVlLCAxLjEpO1xuICAgICAgaGVpZ2h0VmFsdWUgPSB0aGlzLnNjYWxlUGl4ZWxWYWx1ZShoZWlnaHRWYWx1ZSwgMS4xKTtcbiAgICB9XG5cbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnd2lkdGgnLCB3aWR0aFZhbHVlKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnaGVpZ2h0JywgaGVpZ2h0VmFsdWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBhcHBseUhvdmVyVmFycyh1aVZpZXc6IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IGhvdmVyID0gdWlWaWV3Py5ob3ZlciA/PyB1aVZpZXc/LmVsZW1lbnQ/LmhvdmVyO1xuICAgIGlmICghaG92ZXIpIHJldHVybjtcblxuICAgIGNvbnN0IGVsID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAvLyBtYXJjYSBxdWUgZXNzZSBlbGVtZW50byB0ZW0gaG92ZXJcbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKGVsLCAnZWRtLWhvdmVyJyk7XG5cbiAgICBpZiAoaG92ZXIuYm9yZGVyX2NvbG9yIHx8IGhvdmVyLmJvcmRlckNvbG9yKSB7XG4gICAgICBjb25zdCB0b2tlbiA9IChob3Zlci5ib3JkZXJfY29sb3IgPz8gaG92ZXIuYm9yZGVyQ29sb3IpLnJlcGxhY2UoL18vZywgJy0nKTtcbiAgICAgIGVsLnN0eWxlLnNldFByb3BlcnR5KCctLWVkbS1ob3Zlci1ib3JkZXItY29sb3InLCBgdmFyKC0tJHt0b2tlbn0pYCk7XG4gICAgfVxuXG4gICAgaWYgKGhvdmVyLmJhY2tncm91bmRfY29sb3IgfHwgaG92ZXIuYmFja2dyb3VuZENvbG9yKSB7XG4gICAgICBjb25zdCB0b2tlbiA9IChob3Zlci5iYWNrZ3JvdW5kX2NvbG9yID8/IGhvdmVyLmJhY2tncm91bmRDb2xvcikucmVwbGFjZSgvXy9nLCAnLScpO1xuICAgICAgZWwuc3R5bGUuc2V0UHJvcGVydHkoJy0tZWRtLWhvdmVyLWJnLWNvbG9yJywgYHZhcigtLSR7dG9rZW59KWApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaXNTbWFsbFNjcmVlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93LmlubmVyV2lkdGggPj0gNTY1O1xuICB9XG5cbiAgcHJpdmF0ZSBzY2FsZVBpeGVsVmFsdWUodmFsdWU6IHN0cmluZywgZGl2aXNvcjogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBjb25zdCBtYXRjaCA9IC9eKFxcZCsoPzpcXC5cXGQrKT8pcHgkLy5leGVjKHZhbHVlKTtcbiAgICBpZiAoIW1hdGNoKSB7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgY29uc3QgbnVtID0gcGFyc2VGbG9hdChtYXRjaFsxXSk7XG4gICAgY29uc3Qgc2NhbGVkID0gbnVtICogZGl2aXNvcjtcbiAgICByZXR1cm4gYCR7c2NhbGVkfXB4YDtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnKVxuICBvbldpbmRvd1Jlc2l6ZSgpOiB2b2lkIHtcbiAgICBjb25zdCBpc1NtYWxsID0gdGhpcy5pc1NtYWxsU2NyZWVuKCk7XG4gICAgaWYgKHRoaXMubGFzdFVpVmlldyAmJiBpc1NtYWxsICE9PSB0aGlzLndhc1NtYWxsU2NyZWVuKSB7XG4gICAgICB0aGlzLmFwcGx5U3R5bGVzKHRoaXMubGFzdFVpVmlldyk7XG4gICAgICB0aGlzLndhc1NtYWxsU2NyZWVuID0gaXNTbWFsbDtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIG9uQ2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZUNsaWNrKSByZXR1cm47XG5cbiAgICBpZiAodGhpcy5lZG1TZHVpVmlldz8uYWN0aW9uKSB7XG4gICAgICB0aGlzLmNhcHR1cmVFeHBsb3JlU2Nyb2xsQ29udGV4dCgpO1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICB0aGlzLmFjdGlvblNlcnZpY2UuZXhlY3V0ZSh0aGlzLmVkbVNkdWlWaWV3LmFjdGlvbik7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjYXB0dXJlRXhwbG9yZVNjcm9sbENvbnRleHQoKTogdm9pZCB7XG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnIHx8ICF0aGlzLnJvdXRlci51cmwuaW5jbHVkZXMoJy9leHBsb3JhcicpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgIGNvbnN0IHNjcm9sbFJvdyA9IGVsZW1lbnQuY2xvc2VzdCgnLnNjcm9sbGFibGUtcm93JykgYXMgSFRNTEVsZW1lbnQgfCBudWxsO1xuXG4gICAgaWYgKCFzY3JvbGxSb3cpIHtcbiAgICAgIHRoaXMuY2xlYXJFeHBsb3JlSG9yaXpvbnRhbFNjcm9sbENvbnRleHQoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzZWN0aW9uID0gdGhpcy5yZXNvbHZlRXhwbG9yZVNlY3Rpb24oZWxlbWVudCwgc2Nyb2xsUm93KTtcbiAgICBjb25zdCBhY3RpdmVUYWcgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yPEhUTUxFbGVtZW50PignLnJvdy10YWctLXNlbGVjdGVkJyk/LmdldEF0dHJpYnV0ZSgnZGF0YS10YWcnKTtcbiAgICBjb25zdCBzZWN0aW9uSWQgPSBzZWN0aW9uPy5pZCB8fCBhY3RpdmVUYWcgfHwgc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShVSVZpZXdEaXJlY3RpdmUuRVhQTE9SRV9MQVNUX0FOQ0hPUl9LRVkpO1xuICAgIGNvbnN0IHJvd0luZGV4ID0gdGhpcy5yZXNvbHZlUm93SW5kZXgoc2Nyb2xsUm93LCBzZWN0aW9uKTtcbiAgICBjb25zdCBpdGVtSWQgPSB0aGlzLnJlc29sdmVDbGlja2VkSXRlbUlkKGVsZW1lbnQsIHNlY3Rpb24pO1xuXG4gICAgdHJ5IHtcbiAgICAgIGlmIChzZWN0aW9uSWQpIHtcbiAgICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShVSVZpZXdEaXJlY3RpdmUuRVhQTE9SRV9MQVNUX0FOQ0hPUl9LRVksIHNlY3Rpb25JZCk7XG4gICAgICB9XG4gICAgICAvLyBTYWx2YSBvIGFuY2hvciBkbyBjbGlxdWUgc2VwYXJhZG8gZG8gc2Nyb2xsIHNweSBwYXJhIG7Do28gc2VyIHNvYnJlc2NyaXRvIGR1cmFudGUgbmF2ZWdhw6fDo29cbiAgICAgIGNvbnN0IGNsaWNrZWRBbmNob3IgPSBzZWN0aW9uPy5pZCB8fCBhY3RpdmVUYWc7XG4gICAgICBpZiAoY2xpY2tlZEFuY2hvcikge1xuICAgICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKFVJVmlld0RpcmVjdGl2ZS5FWFBMT1JFX0NMSUNLRURfQU5DSE9SX0tFWSwgY2xpY2tlZEFuY2hvcik7XG4gICAgICB9XG5cbiAgICAgIGlmIChyb3dJbmRleCA+PSAwKSB7XG4gICAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oVUlWaWV3RGlyZWN0aXZlLkVYUExPUkVfTEFTVF9ST1dfSU5ERVhfS0VZLCBTdHJpbmcocm93SW5kZXgpKTtcbiAgICAgIH1cblxuICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShcbiAgICAgICAgVUlWaWV3RGlyZWN0aXZlLkVYUExPUkVfTEFTVF9ST1dfU0NST0xMX0xFRlRfS0VZLFxuICAgICAgICBTdHJpbmcoTWF0aC5yb3VuZChzY3JvbGxSb3cuc2Nyb2xsTGVmdCkpXG4gICAgICApO1xuXG4gICAgICBpZiAoaXRlbUlkKSB7XG4gICAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oVUlWaWV3RGlyZWN0aXZlLkVYUExPUkVfTEFTVF9JVEVNX0lEX0tFWSwgaXRlbUlkKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oVUlWaWV3RGlyZWN0aXZlLkVYUExPUkVfTEFTVF9JVEVNX0lEX0tFWSk7XG4gICAgICB9XG4gICAgfSBjYXRjaCB7fVxuICB9XG5cbiAgcHJpdmF0ZSBjbGVhckV4cGxvcmVIb3Jpem9udGFsU2Nyb2xsQ29udGV4dCgpOiB2b2lkIHtcbiAgICB0cnkge1xuICAgICAgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShVSVZpZXdEaXJlY3RpdmUuRVhQTE9SRV9MQVNUX1JPV19JTkRFWF9LRVkpO1xuICAgICAgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShVSVZpZXdEaXJlY3RpdmUuRVhQTE9SRV9MQVNUX1JPV19TQ1JPTExfTEVGVF9LRVkpO1xuICAgICAgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShVSVZpZXdEaXJlY3RpdmUuRVhQTE9SRV9MQVNUX0lURU1fSURfS0VZKTtcbiAgICB9IGNhdGNoIHt9XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVFeHBsb3JlU2VjdGlvbihlbGVtZW50OiBIVE1MRWxlbWVudCwgc2Nyb2xsUm93OiBIVE1MRWxlbWVudCk6IEhUTUxFbGVtZW50IHwgbnVsbCB7XG4gICAgY29uc3QgZnJvbUFuY2VzdG9yID1cbiAgICAgIHNjcm9sbFJvdy5jbG9zZXN0KCdbZGF0YS1hbmNob3ItdGFyZ2V0XVtpZF0nKSBhcyBIVE1MRWxlbWVudCB8IG51bGwgfHxcbiAgICAgIHNjcm9sbFJvdy5jbG9zZXN0KCcuY29sdW1uW2lkXScpIGFzIEhUTUxFbGVtZW50IHwgbnVsbCB8fFxuICAgICAgZWxlbWVudC5jbG9zZXN0KCdbZGF0YS1hbmNob3ItdGFyZ2V0XVtpZF0nKSBhcyBIVE1MRWxlbWVudCB8IG51bGwgfHxcbiAgICAgIGVsZW1lbnQuY2xvc2VzdCgnLmNvbHVtbltpZF0nKSBhcyBIVE1MRWxlbWVudCB8IG51bGw7XG5cbiAgICBpZiAoZnJvbUFuY2VzdG9yKSByZXR1cm4gZnJvbUFuY2VzdG9yO1xuXG4gICAgLy8gU2XDp8O1ZXMgcG9kZW0gc2VyIGlybcOjcyBkbyBzY3JvbGxhYmxlLXJvdyAobsOjbyBhbmNlc3RyYWlzKS5cbiAgICAvLyBTb2JlIGF0w6kgbyB3cmFwcGVyIGVkbS1zZHVpLWNvbXBvbmVudCBlIHBlcmNvcnJlIGlybcOjb3MgYW50ZXJpb3Jlcy5cbiAgICBjb25zdCB3cmFwcGVyID0gc2Nyb2xsUm93LmNsb3Nlc3QoJ2VkbS1zZHVpLWNvbXBvbmVudCcpIGFzIEhUTUxFbGVtZW50IHwgbnVsbDtcbiAgICBsZXQgc2libGluZyA9IHdyYXBwZXI/LnByZXZpb3VzRWxlbWVudFNpYmxpbmcgYXMgSFRNTEVsZW1lbnQgfCBudWxsO1xuICAgIHdoaWxlIChzaWJsaW5nKSB7XG4gICAgICBpZiAoc2libGluZy5tYXRjaGVzKCcuY29sdW1uW2lkXScpIHx8IHNpYmxpbmcubWF0Y2hlcygnW2RhdGEtYW5jaG9yLXRhcmdldF1baWRdJykpIHtcbiAgICAgICAgcmV0dXJuIHNpYmxpbmc7XG4gICAgICB9XG4gICAgICBjb25zdCBpbm5lciA9IHNpYmxpbmcucXVlcnlTZWxlY3RvcjxIVE1MRWxlbWVudD4oJy5jb2x1bW5baWRdJykgfHxcbiAgICAgICAgc2libGluZy5xdWVyeVNlbGVjdG9yPEhUTUxFbGVtZW50PignW2RhdGEtYW5jaG9yLXRhcmdldF1baWRdJyk7XG4gICAgICBpZiAoaW5uZXIpIHJldHVybiBpbm5lcjtcbiAgICAgIHNpYmxpbmcgPSBzaWJsaW5nLnByZXZpb3VzRWxlbWVudFNpYmxpbmcgYXMgSFRNTEVsZW1lbnQgfCBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlUm93SW5kZXgoc2Nyb2xsUm93OiBIVE1MRWxlbWVudCwgc2VjdGlvbjogSFRNTEVsZW1lbnQgfCBudWxsKTogbnVtYmVyIHtcbiAgICBjb25zdCBzY29wZSA9IHNlY3Rpb24gPz8gKHNjcm9sbFJvdy5wYXJlbnRFbGVtZW50IGFzIEhUTUxFbGVtZW50IHwgbnVsbCk7XG4gICAgaWYgKCFzY29wZSkge1xuICAgICAgcmV0dXJuIC0xO1xuICAgIH1cblxuICAgIHJldHVybiBBcnJheS5mcm9tKHNjb3BlLnF1ZXJ5U2VsZWN0b3JBbGw8SFRNTEVsZW1lbnQ+KCcuc2Nyb2xsYWJsZS1yb3cnKSkuaW5kZXhPZihzY3JvbGxSb3cpO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlQ2xpY2tlZEl0ZW1JZChlbGVtZW50OiBIVE1MRWxlbWVudCwgc2VjdGlvbjogSFRNTEVsZW1lbnQgfCBudWxsKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgaWYgKGVsZW1lbnQuaWQgJiYgZWxlbWVudC5pZCAhPT0gc2VjdGlvbj8uaWQpIHtcbiAgICAgIHJldHVybiBlbGVtZW50LmlkO1xuICAgIH1cblxuICAgIGNvbnN0IGNhbmRpZGF0ZSA9IGVsZW1lbnQuY2xvc2VzdCgnW2lkXScpIGFzIEhUTUxFbGVtZW50IHwgbnVsbDtcbiAgICBpZiAoY2FuZGlkYXRlPy5pZCAmJiBjYW5kaWRhdGUuaWQgIT09IHNlY3Rpb24/LmlkKSB7XG4gICAgICByZXR1cm4gY2FuZGlkYXRlLmlkO1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG59XG4iXX0=
401
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWl2aWV3LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2R1aS9zcmMvbGliL2RpcmVjdGl2ZXMvdWl2aWV3LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUVMLFFBQVEsRUFDUixTQUFTLEdBRVYsTUFBTSxlQUFlLENBQUM7QUFhdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzdFLE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIsdUJBQXVCLEdBQ3hCLE1BQU0sd0NBQXdDLENBQUM7QUFDaEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFckUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDOzs7OztBQU01RixNQUFNLE9BQU8sZUFBZTthQUdGLDRCQUF1QixHQUFHLG1CQUFtQixBQUF0QixDQUF1QjthQUM5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QU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvRixDQUFDO0lBRU8sb0JBQW9CLENBQUMsT0FBb0IsRUFBRSxPQUEyQjtRQUM1RSxJQUFJLE9BQU8sQ0FBQyxFQUFFLElBQUksT0FBTyxDQUFDLEVBQUUsS0FBSyxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUM7WUFDN0MsT0FBTyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ3BCLENBQUM7UUFFRCxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBdUIsQ0FBQztRQUNoRSxJQUFJLFNBQVMsRUFBRSxFQUFFLElBQUksU0FBUyxDQUFDLEVBQUUsS0FBSyxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUM7WUFDbEQsT0FBTyxTQUFTLENBQUMsRUFBRSxDQUFDO1FBQ3RCLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7K0dBM2lCVSxlQUFlO21HQUFmLGVBQWU7OzRGQUFmLGVBQWU7a0JBSjNCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFVBQVUsRUFBRSxLQUFLO2lCQUNsQjs7MEJBbUJJLFFBQVE7eUNBakJGLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFrYk4sY0FBYztzQkFEYixZQUFZO3VCQUFDLGVBQWU7Z0JBVTdCLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT3B0aW9uYWwsXG4gIFJlbmRlcmVyMixcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVSVZpZXcgfSBmcm9tICcuLi9jb3JlL3VpY29tcG9zaXRpb24vbW9kZWxzL3Vpdmlldyc7XG5pbXBvcnQgeyBVSVBhZGRpbmcgfSBmcm9tICcuLi9jb3JlL3VpdGhlbWUvbW9kZWxzL3VpcGFkZGluZyc7XG5pbXBvcnQgeyBVSUJhY2tncm91bmQgfSBmcm9tICcuLi9jb3JlL3VpdGhlbWUvbW9kZWxzL3VpYmFja2dyb3VuZCc7XG5pbXBvcnQgeyBVSUFjdGlvbiB9IGZyb20gJy4uL2NvcmUvdWl0aGVtZS9tb2RlbHMvdWlhY3Rpb24nO1xuaW1wb3J0IHsgVUlBbGlnbm1lbnQgfSBmcm9tICcuLi9jb3JlL3VpdGhlbWUvbW9kZWxzL3VpYWxpZ25tZW50JztcbmltcG9ydCB7IFVJU2hhZG93IH0gZnJvbSAnLi4vY29yZS91aXRoZW1lL21vZGVscy91aXNoYWRvdyc7XG5pbXBvcnQgeyBVSVJhZGl1cyB9IGZyb20gJy4uL2NvcmUvdWl0aGVtZS9tb2RlbHMvdWlyYWRpdXMnO1xuaW1wb3J0IHsgVUlTcGFjaW5nIH0gZnJvbSAnLi4vY29yZS91aXRoZW1lL21vZGVscy91aXNwYWNpbmcnO1xuaW1wb3J0IHsgVUlDb2xvciB9IGZyb20gJy4uL2NvcmUvdWl0aGVtZS9lbnVtcy91aWNvbG9yJztcbmltcG9ydCB7IFVJSnVzdGlmeSB9IGZyb20gJy4uL2NvcmUvdWl0aGVtZS9lbnVtcy91aWp1c3RpZnknO1xuaW1wb3J0IHsgVUlEaW1lbnNpb24gfSBmcm9tICcuLi9jb3JlL3VpdGhlbWUvZW51bXMvdWlkaW1lbnNpb24nO1xuaW1wb3J0IHsgVUlDb250ZW50SW5zZXQgfSBmcm9tICcuLi9jb3JlL3VpdGhlbWUvbW9kZWxzL3VpY29udGVudC1pbnNldCc7XG5pbXBvcnQgeyBzcGFjZU1hcHBpbmcgfSBmcm9tICcuLi9jb3JlL3VpdGhlbWUvbWFwcGluZy9zcGFjZS1tYXBwaW5nJztcbmltcG9ydCB7IGNvbG9yTWFwcGluZyB9IGZyb20gJy4uL2NvcmUvdWl0aGVtZS9tYXBwaW5nL2NvbG9yLW1hcHBpbmcnO1xuaW1wb3J0IHsgcGFkTWFwcGluZyB9IGZyb20gJy4uL2NvcmUvdWl0aGVtZS9tYXBwaW5nL3BhZC1tYXBwaW5nJztcbmltcG9ydCB7IHJhZGl1c01hcHBpbmcgfSBmcm9tICcuLi9jb3JlL3VpdGhlbWUvbWFwcGluZy9yYWRpdXMtbWFwcGluZyc7XG5pbXBvcnQgeyBhbGlnbm1lbnRNYXBwaW5nIH0gZnJvbSAnLi4vY29yZS91aXRoZW1lL21hcHBpbmcvYWxpZ25tZW50LW1hcHBpbmcnO1xuaW1wb3J0IHsgZGltZW5zaW9uTWFwcGluZyB9IGZyb20gJy4uL2NvcmUvdWl0aGVtZS9tYXBwaW5nL2RpbWVuc2lvbi1tYXBwaW5nJztcbmltcG9ydCB7XG4gIHNoYWRvd09mZnNldE1hcHBpbmcsXG4gIHNoYWRvd0JsdXJSYWRpdXNNYXBwaW5nLFxufSBmcm9tICcuLi9jb3JlL3VpdGhlbWUvbWFwcGluZy9zaGFkb3ctbWFwcGluZyc7XG5pbXBvcnQgeyBqdXN0aWZ5TWFwcGluZyB9IGZyb20gJy4uL2NvcmUvdWl0aGVtZS9tYXBwaW5nL2p1c3RpZnktbWFwcGluZyc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVUlTY3JlZW5WaWV3TW9kZWwgfSBmcm9tICcuLi9jb3JlL3ZpZXctbW9kZWxzL3Vpc2NyZWVuLnZpZXdtb2RlbCc7XG5pbXBvcnQgeyBVSUFjdGlvblNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3NlcnZpY2VzL3VpLWFjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFVJU2l6ZSB9IGZyb20gJy4uL2NvcmUvdWl0aGVtZS9lbnVtcy91aXNpemUnO1xuaW1wb3J0IHsgc2l6ZU1hcHBpbmcgfSBmcm9tICcuLi9jb3JlL3VpdGhlbWUvbWFwcGluZy9zaXplLW1hcHBpbmcnO1xuaW1wb3J0IHsgVUlTY3JlZW5Db250YWluZXJUeXBlIH0gZnJvbSAnLi4vY29yZS91aWNvbXBvc2l0aW9uL2VudW1zL3Vpc2NyZWVuLWNvbnRhaW5lci10eXBlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2VkbVNkdWlWaWV3XScsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBVSVZpZXdEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBlZG1TZHVpVmlldz86IFVJVmlldztcbiAgQElucHV0KCkgZGlzYWJsZUNsaWNrOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IEVYUExPUkVfTEFTVF9BTkNIT1JfS0VZID0gJ2V4cGxvcmVMYXN0QW5jaG9yJztcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgRVhQTE9SRV9DTElDS0VEX0FOQ0hPUl9LRVkgPSAnZXhwbG9yZUNsaWNrZWRBbmNob3InO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBFWFBMT1JFX0xBU1RfUk9XX0lOREVYX0tFWSA9ICdleHBsb3JlTGFzdFJvd0luZGV4JztcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgRVhQTE9SRV9MQVNUX1JPV19TQ1JPTExfTEVGVF9LRVkgPSAnZXhwbG9yZUxhc3RSb3dTY3JvbGxMZWZ0JztcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgRVhQTE9SRV9MQVNUX0lURU1fSURfS0VZID0gJ2V4cGxvcmVMYXN0SXRlbUlkJztcblxuICBwcml2YXRlIGxhc3RVaVZpZXc6IFVJVmlldyB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIHdhc1NtYWxsU2NyZWVuID0gdGhpcy5pc1NtYWxsU2NyZWVuKCk7XG4gIHByaXZhdGUgY3VycmVudENvbnRhaW5lcjogVUlTY3JlZW5Db250YWluZXJUeXBlID0gVUlTY3JlZW5Db250YWluZXJUeXBlLkNPTlRBSU5FRDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBhY3Rpb25TZXJ2aWNlOiBVSUFjdGlvblNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBzY3JlZW5WaWV3TW9kZWw6IFVJU2NyZWVuVmlld01vZGVsXG4gICkge1xuICAgIGlmICh0aGlzLnNjcmVlblZpZXdNb2RlbCkge1xuICAgICAgdGhpcy5zY3JlZW5WaWV3TW9kZWwudWlTY3JlZW4kLnN1YnNjcmliZSgoc2NyZWVuKSA9PiB7XG4gICAgICAgIHRoaXMuY3VycmVudENvbnRhaW5lciA9XG4gICAgICAgICAgc2NyZWVuPy5jb25maWc/LmNvbnRhaW5lciA/PyBVSVNjcmVlbkNvbnRhaW5lclR5cGUuQ09OVEFJTkVEO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmICh0aGlzLmVkbVNkdWlWaWV3KSB7XG4gICAgICB0aGlzLmxhc3RVaVZpZXcgPSB0aGlzLmVkbVNkdWlWaWV3O1xuICAgICAgdGhpcy5hcHBseVN0eWxlcyh0aGlzLmVkbVNkdWlWaWV3KTtcbiAgICAgIHRoaXMud2FzU21hbGxTY3JlZW4gPSB0aGlzLmlzU21hbGxTY3JlZW4oKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFwcGx5U3R5bGVzKHVpVmlldzogVUlWaWV3KSB7XG4gICAgaWYgKHVpVmlldy5pZCkge1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAnaWQnLFxuICAgICAgICBTdHJpbmcodWlWaWV3LmlkKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAodWlWaWV3LnBhZGRpbmcpIHtcbiAgICAgIHRoaXMuYXBwbHlQYWRkaW5nKHVpVmlldy5wYWRkaW5nKTtcbiAgICB9XG5cbiAgICBpZiAodWlWaWV3LmNvbnRlbnRJbnNldCkge1xuICAgICAgdGhpcy5hcHBseUNvbnRlbnRJbnNldCh1aVZpZXcuY29udGVudEluc2V0KTtcbiAgICB9XG5cbiAgICBpZiAodWlWaWV3LmJhY2tncm91bmQpIHtcbiAgICAgIHRoaXMuYXBwbHlCYWNrZ3JvdW5kKHVpVmlldy5iYWNrZ3JvdW5kKTtcbiAgICB9XG5cbiAgICBpZiAodWlWaWV3LmFjdGlvbikge1xuICAgICAgdGhpcy5hcHBseUFjdGlvbih1aVZpZXcuYWN0aW9uKTtcbiAgICB9XG5cbiAgICBpZiAodWlWaWV3LmFsaWdubWVudCkge1xuICAgICAgdGhpcy5hcHBseUFsaWdubWVudCh1aVZpZXcuYWxpZ25tZW50KTtcbiAgICB9XG5cbiAgICBpZiAodWlWaWV3LnNoYWRvdykge1xuICAgICAgdGhpcy5hcHBseVNoYWRvdyh1aVZpZXcuc2hhZG93KTtcbiAgICB9XG5cbiAgICBpZiAodWlWaWV3LnJhZGl1cykge1xuICAgICAgdGhpcy5hcHBseVJhZGl1cyh1aVZpZXcucmFkaXVzKTtcbiAgICB9XG5cbiAgICBpZiAodWlWaWV3LnNwYWNpbmcpIHtcbiAgICAgIHRoaXMuYXBwbHlTcGFjaW5nKHVpVmlldy5zcGFjaW5nKTtcbiAgICB9XG5cbiAgICBpZiAodWlWaWV3LmhlaWdodCkge1xuICAgICAgdGhpcy5hcHBseUhlaWdodCh1aVZpZXcuaGVpZ2h0KTtcbiAgICB9XG5cbiAgICBpZiAodWlWaWV3LndpZHRoKSB7XG4gICAgICB0aGlzLmFwcGx5V2lkdGgodWlWaWV3LndpZHRoKTtcbiAgICB9XG5cbiAgICBpZiAodWlWaWV3LmJvcmRlcldpZHRoKSB7XG4gICAgICB0aGlzLmFwcGx5Qm9yZGVyV2lkdGgodWlWaWV3LmJvcmRlcldpZHRoKTtcbiAgICB9XG5cbiAgICBpZiAodWlWaWV3LmJvcmRlckNvbG9yKSB7XG4gICAgICB0aGlzLmFwcGx5Qm9yZGVyQ29sb3IodWlWaWV3LmJvcmRlckNvbG9yKTtcbiAgICB9XG5cbiAgICBpZiAodWlWaWV3Lmp1c3RpZnkpIHtcbiAgICAgIHRoaXMuYXBwbHlKdXN0aWZ5KHVpVmlldy5qdXN0aWZ5KTtcbiAgICB9XG5cbiAgICBpZiAodWlWaWV3LnNpemUpIHtcbiAgICAgIHRoaXMuYXBwbHlTaXplKHVpVmlldy5zaXplKTtcbiAgICB9XG4gICAgaWYgKHVpVmlldy5hc3BlY3RSYXRpbyAhPT0gbnVsbCAmJiB1aVZpZXcuYXNwZWN0UmF0aW8gIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5hcHBseUFzcGVjdFJhdGlvKHVpVmlldy5hc3BlY3RSYXRpbyk7XG4gICAgfVxuXG4gICAgaWYodWlWaWV3LmhvdmVyKXtcbiAgICAgIHRoaXMuYXBwbHlIb3ZlclZhcnModWlWaWV3KTtcbiAgICB9XG5cbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlQYWRkaW5nKHVpUGFkZGluZzogVUlQYWRkaW5nKSB7XG4gICAgaWYgKHVpUGFkZGluZy50b3ApIHtcbiAgICAgIGNvbnN0IHBhZFZhbHVlID0gcGFkTWFwcGluZ1t1aVBhZGRpbmcudG9wXTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAncGFkZGluZy10b3AnLFxuICAgICAgICBwYWRWYWx1ZVxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHVpUGFkZGluZy5sZWZ0KSB7XG4gICAgICBjb25zdCBwYWRWYWx1ZSA9IHBhZE1hcHBpbmdbdWlQYWRkaW5nLmxlZnRdO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdwYWRkaW5nLWxlZnQnLFxuICAgICAgICBwYWRWYWx1ZVxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHVpUGFkZGluZy5yaWdodCkge1xuICAgICAgY29uc3QgcGFkVmFsdWUgPSBwYWRNYXBwaW5nW3VpUGFkZGluZy5yaWdodF07XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgJ3BhZGRpbmctcmlnaHQnLFxuICAgICAgICBwYWRWYWx1ZVxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHVpUGFkZGluZy5ib3R0b20pIHtcbiAgICAgIGNvbnN0IHBhZFZhbHVlID0gcGFkTWFwcGluZ1t1aVBhZGRpbmcuYm90dG9tXTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAncGFkZGluZy1ib3R0b20nLFxuICAgICAgICBwYWRWYWx1ZVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFwcGx5Q29udGVudEluc2V0KHVpQ29udGVudEluc2V0OiBVSUNvbnRlbnRJbnNldCkge1xuICAgIGlmICh1aUNvbnRlbnRJbnNldC50b3ApIHtcbiAgICAgIGNvbnN0IGluc2V0VmFsdWUgPSBzcGFjZU1hcHBpbmdbdWlDb250ZW50SW5zZXQudG9wXTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAncGFkZGluZy10b3AnLFxuICAgICAgICBpbnNldFZhbHVlXG4gICAgICApO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICctLXNkdWktY29udGVudC1pbnNldC10b3AnLFxuICAgICAgICBpbnNldFZhbHVlXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICh1aUNvbnRlbnRJbnNldC5sZWZ0KSB7XG4gICAgICBjb25zdCBpbnNldFZhbHVlID0gc3BhY2VNYXBwaW5nW3VpQ29udGVudEluc2V0LmxlZnRdO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdwYWRkaW5nLWxlZnQnLFxuICAgICAgICBpbnNldFZhbHVlXG4gICAgICApO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICctLXNkdWktY29udGVudC1pbnNldC1sZWZ0JyxcbiAgICAgICAgaW5zZXRWYWx1ZVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAodWlDb250ZW50SW5zZXQucmlnaHQpIHtcbiAgICAgIGNvbnN0IGluc2V0VmFsdWUgPSBzcGFjZU1hcHBpbmdbdWlDb250ZW50SW5zZXQucmlnaHRdO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdwYWRkaW5nLXJpZ2h0JyxcbiAgICAgICAgaW5zZXRWYWx1ZVxuICAgICAgKTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAnLS1zZHVpLWNvbnRlbnQtaW5zZXQtcmlnaHQnLFxuICAgICAgICBpbnNldFZhbHVlXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICh1aUNvbnRlbnRJbnNldC5ib3R0b20pIHtcbiAgICAgIGNvbnN0IGluc2V0VmFsdWUgPSBzcGFjZU1hcHBpbmdbdWlDb250ZW50SW5zZXQuYm90dG9tXTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAncGFkZGluZy1ib3R0b20nLFxuICAgICAgICBpbnNldFZhbHVlXG4gICAgICApO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICctLXNkdWktY29udGVudC1pbnNldC1ib3R0b20nLFxuICAgICAgICBpbnNldFZhbHVlXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlCYWNrZ3JvdW5kKHVpQmFja2dyb3VuZDogVUlCYWNrZ3JvdW5kKSB7XG4gICAgaWYgKHVpQmFja2dyb3VuZC5iYWNrZ3JvdW5kQ29sb3IpIHtcbiAgICAgIGNvbnN0IGJhY2tncm91bmRDb2xvciA9IGNvbG9yTWFwcGluZ1t1aUJhY2tncm91bmQuYmFja2dyb3VuZENvbG9yXTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAnYmFja2dyb3VuZC1jb2xvcicsXG4gICAgICAgIGJhY2tncm91bmRDb2xvclxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAodWlCYWNrZ3JvdW5kLmdyYWRpZW50Q29sb3IxICYmIHVpQmFja2dyb3VuZC5ncmFkaWVudENvbG9yMikge1xuICAgICAgY29uc3QgZ3JhZGllbnRDb2xvcjEgPSBjb2xvck1hcHBpbmdbdWlCYWNrZ3JvdW5kLmdyYWRpZW50Q29sb3IxXTtcbiAgICAgIGNvbnN0IGdyYWRpZW50Q29sb3IyID0gY29sb3JNYXBwaW5nW3VpQmFja2dyb3VuZC5ncmFkaWVudENvbG9yMl07XG4gICAgICBjb25zdCBncmFkaWVudFN0eWxlcyA9IGBsaW5lYXItZ3JhZGllbnQoNDVkZWcsICR7Z3JhZGllbnRDb2xvcjF9LCAke2dyYWRpZW50Q29sb3IyfSlgXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgJ2JhY2tncm91bmQnLFxuICAgICAgICBncmFkaWVudFN0eWxlc1xuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFwcGx5QWN0aW9uKHVpQWN0aW9uOiBVSUFjdGlvbikge1xuICAgIGlmICh0aGlzLmRpc2FibGVDbGljaykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdjdXJzb3InLCAncG9pbnRlcicpO1xuICB9XG5cbiAgcHJpdmF0ZSBhcHBseUFsaWdubWVudCh1aUFsaWdubWVudDogVUlBbGlnbm1lbnQpIHtcbiAgICBpZiAodWlBbGlnbm1lbnQuYWxpZ25tZW50KSB7XG4gICAgICBjb25zdCBhbGlnbm1lbnQgPSBhbGlnbm1lbnRNYXBwaW5nW3VpQWxpZ25tZW50LmFsaWdubWVudF07XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgJ2FsaWduLWl0ZW1zJyxcbiAgICAgICAgYWxpZ25tZW50XG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlTaGFkb3codWlTaGFkb3c6IFVJU2hhZG93KSB7XG4gICAgaWYgKHVpU2hhZG93LmNvbG9yICYmIHVpU2hhZG93Lm9mZnNldFggJiYgdWlTaGFkb3cub2Zmc2V0WSAmJiB1aVNoYWRvdy5ibHVyUmFkaXVzKSB7XG4gICAgICBjb25zdCBjb2xvciA9IGNvbG9yTWFwcGluZ1t1aVNoYWRvdy5jb2xvcl07XG4gICAgICBjb25zdCBvZmZzZXRYID0gc2hhZG93T2Zmc2V0TWFwcGluZ1t1aVNoYWRvdy5vZmZzZXRYXTtcbiAgICAgIGNvbnN0IG9mZnNldFkgPSBzaGFkb3dPZmZzZXRNYXBwaW5nW3VpU2hhZG93Lm9mZnNldFldO1xuICAgICAgY29uc3QgYmx1clJhZGl1cyA9IHNoYWRvd0JsdXJSYWRpdXNNYXBwaW5nW3VpU2hhZG93LmJsdXJSYWRpdXNdO1xuICAgICAgY29uc3Qgb3BhY2l0eSA9IHVpU2hhZG93Lm9wYWNpdHkgIT09IHVuZGVmaW5lZCA/IHVpU2hhZG93Lm9wYWNpdHkgOiAxO1xuXG4gICAgICAvLyBGb3JtYXQ6IGJveC1zaGFkb3c6IG9mZnNldFggb2Zmc2V0WSBibHVyUmFkaXVzIGNvbG9yXG4gICAgICBjb25zdCBzaGFkb3dWYWx1ZSA9IGAke29mZnNldFh9ICR7b2Zmc2V0WX0gJHtibHVyUmFkaXVzfSAke2NvbG9yfWA7XG5cbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAnYm94LXNoYWRvdycsXG4gICAgICAgIHNoYWRvd1ZhbHVlXG4gICAgICApO1xuXG4gICAgICBpZiAob3BhY2l0eSAhPT0gMSkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICdvcGFjaXR5JyxcbiAgICAgICAgICBvcGFjaXR5LnRvU3RyaW5nKClcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFwcGx5UmFkaXVzKHVpUmFkaXVzOiBVSVJhZGl1cykge1xuICAgIGlmICh1aVJhZGl1cy50b3BMZWZ0KSB7XG4gICAgICBjb25zdCByYWRpdXMgPSByYWRpdXNNYXBwaW5nW3VpUmFkaXVzLnRvcExlZnRdO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdib3JkZXItdG9wLWxlZnQtcmFkaXVzJyxcbiAgICAgICAgcmFkaXVzXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICh1aVJhZGl1cy50b3BSaWdodCkge1xuICAgICAgY29uc3QgcmFkaXVzID0gcmFkaXVzTWFwcGluZ1t1aVJhZGl1cy50b3BSaWdodF07XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgJ2JvcmRlci10b3AtcmlnaHQtcmFkaXVzJyxcbiAgICAgICAgcmFkaXVzXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICh1aVJhZGl1cy5ib3R0b21MZWZ0KSB7XG4gICAgICBjb25zdCByYWRpdXMgPSByYWRpdXNNYXBwaW5nW3VpUmFkaXVzLmJvdHRvbUxlZnRdO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzJyxcbiAgICAgICAgcmFkaXVzXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICh1aVJhZGl1cy5ib3R0b21SaWdodCkge1xuICAgICAgY29uc3QgcmFkaXVzID0gcmFkaXVzTWFwcGluZ1t1aVJhZGl1cy5ib3R0b21SaWdodF07XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgJ2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzJyxcbiAgICAgICAgcmFkaXVzXG4gICAgICApO1xuICAgIH1cblxuICB9XG5cbiAgcHJpdmF0ZSBhcHBseVNwYWNpbmcodWlTcGFjaW5nOiBVSVNwYWNpbmcpIHtcbiAgICBpZiAodWlTcGFjaW5nLnNwYWNpbmcpIHtcbiAgICAgIGNvbnN0IHNwYWNpbmdWYWx1ZSA9IHNwYWNlTWFwcGluZ1t1aVNwYWNpbmcuc3BhY2luZ107XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgJ2dhcCcsXG4gICAgICAgIHNwYWNpbmdWYWx1ZVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFwcGx5SGVpZ2h0KGhlaWdodDogVUlEaW1lbnNpb24pIHtcbiAgICBpZiAoaGVpZ2h0KSB7XG4gICAgICBjb25zdCBoZWlnaHRWYWx1ZSA9IGRpbWVuc2lvbk1hcHBpbmdbaGVpZ2h0XTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAnaGVpZ2h0JyxcbiAgICAgICAgaGVpZ2h0VmFsdWVcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhcHBseVdpZHRoKHdpZHRoOiBVSURpbWVuc2lvbikge1xuICAgIGlmICh3aWR0aCkge1xuICAgICAgY29uc3Qgd2lkdGhWYWx1ZSA9IGRpbWVuc2lvbk1hcHBpbmdbd2lkdGhdO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICd3aWR0aCcsXG4gICAgICAgIHdpZHRoVmFsdWVcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhcHBseUJvcmRlcldpZHRoKGJvcmRlcldpZHRoOiBudW1iZXIpIHtcbiAgICBpZiAoYm9yZGVyV2lkdGggIT09IG51bGwgJiYgYm9yZGVyV2lkdGggIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdib3JkZXItd2lkdGgnLFxuICAgICAgICBgJHtib3JkZXJXaWR0aH1weGBcbiAgICAgICk7XG5cbiAgICAgIC8vIEVuc3VyZSBib3JkZXIgc3R5bGUgaXMgc2V0LCBvdGhlcndpc2UgYm9yZGVyLXdpZHRoIHdvbid0IGJlIHZpc2libGVcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAnYm9yZGVyLXN0eWxlJyxcbiAgICAgICAgJ3NvbGlkJ1xuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFwcGx5Qm9yZGVyQ29sb3IoYm9yZGVyQ29sb3I6IFVJQ29sb3IpIHtcbiAgICBpZiAoYm9yZGVyQ29sb3IpIHtcbiAgICAgIGNvbnN0IGNvbG9yID0gY29sb3JNYXBwaW5nW2JvcmRlckNvbG9yXTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAnYm9yZGVyLWNvbG9yJyxcbiAgICAgICAgY29sb3JcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhcHBseUp1c3RpZnkoanVzdGlmeTogVUlKdXN0aWZ5KSB7XG4gICAgaWYgKGp1c3RpZnkpIHtcbiAgICAgIGNvbnN0IGp1c3RpZnlWYWx1ZSA9IGp1c3RpZnlNYXBwaW5nW2p1c3RpZnldO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdqdXN0aWZ5LWNvbnRlbnQnLFxuICAgICAgICBqdXN0aWZ5VmFsdWVcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhcHBseUFzcGVjdFJhdGlvKGFzcGVjdFJhdGlvOiBudW1iZXIpIHtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlTaXplKHNpemU6IFVJU2l6ZSkge1xuICAgIGNvbnN0IGNvbmZpZyA9IHNpemVNYXBwaW5nW3NpemVdO1xuICAgIGlmICghY29uZmlnKSByZXR1cm47XG5cbiAgICBsZXQgeyB3aWR0aDogd2lkdGhWYWx1ZSwgaGVpZ2h0OiBoZWlnaHRWYWx1ZSB9ID0gY29uZmlnO1xuXG4gICAgaWYgKGNvbmZpZy5zY2FsYWJsZSAmJiB0aGlzLmlzU21hbGxTY3JlZW4oKSkge1xuICAgICAgd2lkdGhWYWx1ZSA9IHRoaXMuc2NhbGVQaXhlbFZhbHVlKHdpZHRoVmFsdWUsIDEuMSk7XG4gICAgICBoZWlnaHRWYWx1ZSA9IHRoaXMuc2NhbGVQaXhlbFZhbHVlKGhlaWdodFZhbHVlLCAxLjEpO1xuICAgIH1cblxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICd3aWR0aCcsIHdpZHRoVmFsdWUpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdoZWlnaHQnLCBoZWlnaHRWYWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIGFwcGx5SG92ZXJWYXJzKHVpVmlldzogYW55KTogdm9pZCB7XG4gICAgY29uc3QgaG92ZXIgPSB1aVZpZXc/LmhvdmVyID8/IHVpVmlldz8uZWxlbWVudD8uaG92ZXI7XG4gICAgaWYgKCFob3ZlcikgcmV0dXJuO1xuXG4gICAgY29uc3QgZWwgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcblxuICAgIC8vIG1hcmNhIHF1ZSBlc3NlIGVsZW1lbnRvIHRlbSBob3ZlclxuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoZWwsICdlZG0taG92ZXInKTtcblxuICAgIGlmIChob3Zlci5ib3JkZXJfY29sb3IgfHwgaG92ZXIuYm9yZGVyQ29sb3IpIHtcbiAgICAgIGNvbnN0IHRva2VuID0gKGhvdmVyLmJvcmRlcl9jb2xvciA/PyBob3Zlci5ib3JkZXJDb2xvcikucmVwbGFjZSgvXy9nLCAnLScpO1xuICAgICAgZWwuc3R5bGUuc2V0UHJvcGVydHkoJy0tZWRtLWhvdmVyLWJvcmRlci1jb2xvcicsIGB2YXIoLS0ke3Rva2VufSlgKTtcbiAgICB9XG5cbiAgICBpZiAoaG92ZXIuYmFja2dyb3VuZF9jb2xvciB8fCBob3Zlci5iYWNrZ3JvdW5kQ29sb3IpIHtcbiAgICAgIGNvbnN0IHRva2VuID0gKGhvdmVyLmJhY2tncm91bmRfY29sb3IgPz8gaG92ZXIuYmFja2dyb3VuZENvbG9yKS5yZXBsYWNlKC9fL2csICctJyk7XG4gICAgICBlbC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1lZG0taG92ZXItYmctY29sb3InLCBgdmFyKC0tJHt0b2tlbn0pYCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpc1NtYWxsU2NyZWVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJiB3aW5kb3cuaW5uZXJXaWR0aCA+PSA1NjU7XG4gIH1cblxuICBwcml2YXRlIHNjYWxlUGl4ZWxWYWx1ZSh2YWx1ZTogc3RyaW5nLCBkaXZpc29yOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGNvbnN0IG1hdGNoID0gL14oXFxkKyg/OlxcLlxcZCspPylweCQvLmV4ZWModmFsdWUpO1xuICAgIGlmICghbWF0Y2gpIHtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICBjb25zdCBudW0gPSBwYXJzZUZsb2F0KG1hdGNoWzFdKTtcbiAgICBjb25zdCBzY2FsZWQgPSBudW0gKiBkaXZpc29yO1xuICAgIHJldHVybiBgJHtzY2FsZWR9cHhgO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScpXG4gIG9uV2luZG93UmVzaXplKCk6IHZvaWQge1xuICAgIGNvbnN0IGlzU21hbGwgPSB0aGlzLmlzU21hbGxTY3JlZW4oKTtcbiAgICBpZiAodGhpcy5sYXN0VWlWaWV3ICYmIGlzU21hbGwgIT09IHRoaXMud2FzU21hbGxTY3JlZW4pIHtcbiAgICAgIHRoaXMuYXBwbHlTdHlsZXModGhpcy5sYXN0VWlWaWV3KTtcbiAgICAgIHRoaXMud2FzU21hbGxTY3JlZW4gPSBpc1NtYWxsO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgb25DbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlQ2xpY2spIHJldHVybjtcblxuICAgIGlmICh0aGlzLmVkbVNkdWlWaWV3Py5hY3Rpb24pIHtcbiAgICAgIHRoaXMuY2FwdHVyZUV4cGxvcmVTY3JvbGxDb250ZXh0KCk7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIHRoaXMuYWN0aW9uU2VydmljZS5leGVjdXRlKHRoaXMuZWRtU2R1aVZpZXcuYWN0aW9uKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNhcHR1cmVFeHBsb3JlU2Nyb2xsQ29udGV4dCgpOiB2b2lkIHtcbiAgICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcgfHwgIXRoaXMucm91dGVyLnVybC5pbmNsdWRlcygnL2V4cGxvcmFyJykpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgY29uc3Qgc2Nyb2xsUm93ID0gZWxlbWVudC5jbG9zZXN0KCcuc2Nyb2xsYWJsZS1yb3cnKSBhcyBIVE1MRWxlbWVudCB8IG51bGw7XG5cbiAgICBpZiAoIXNjcm9sbFJvdykge1xuICAgICAgdGhpcy5jbGVhckV4cGxvcmVIb3Jpem9udGFsU2Nyb2xsQ29udGV4dCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHNlY3Rpb24gPSB0aGlzLnJlc29sdmVFeHBsb3JlU2VjdGlvbihlbGVtZW50LCBzY3JvbGxSb3cpO1xuICAgIGNvbnN0IGFjdGl2ZVRhZyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3I8SFRNTEVsZW1lbnQ+KCcucm93LXRhZy0tc2VsZWN0ZWQnKT8uZ2V0QXR0cmlidXRlKCdkYXRhLXRhZycpO1xuICAgIGNvbnN0IHNlY3Rpb25JZCA9IHNlY3Rpb24/LmlkIHx8IGFjdGl2ZVRhZyB8fCBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKFVJVmlld0RpcmVjdGl2ZS5FWFBMT1JFX0xBU1RfQU5DSE9SX0tFWSk7XG4gICAgY29uc3Qgcm93SW5kZXggPSB0aGlzLnJlc29sdmVSb3dJbmRleChzY3JvbGxSb3csIHNlY3Rpb24pO1xuICAgIGNvbnN0IGl0ZW1JZCA9IHRoaXMucmVzb2x2ZUNsaWNrZWRJdGVtSWQoZWxlbWVudCwgc2VjdGlvbik7XG5cbiAgICB0cnkge1xuICAgICAgaWYgKHNlY3Rpb25JZCkge1xuICAgICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKFVJVmlld0RpcmVjdGl2ZS5FWFBMT1JFX0xBU1RfQU5DSE9SX0tFWSwgc2VjdGlvbklkKTtcbiAgICAgIH1cbiAgICAgIC8vIFNhbHZhIG8gYW5jaG9yIGRvIGNsaXF1ZSBzZXBhcmFkbyBkbyBzY3JvbGwgc3B5IHBhcmEgbsOjbyBzZXIgc29icmVzY3JpdG8gZHVyYW50ZSBuYXZlZ2HDp8Ojb1xuICAgICAgY29uc3QgY2xpY2tlZEFuY2hvciA9IHNlY3Rpb24/LmlkIHx8IGFjdGl2ZVRhZztcbiAgICAgIGlmIChjbGlja2VkQW5jaG9yKSB7XG4gICAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oVUlWaWV3RGlyZWN0aXZlLkVYUExPUkVfQ0xJQ0tFRF9BTkNIT1JfS0VZLCBjbGlja2VkQW5jaG9yKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHJvd0luZGV4ID49IDApIHtcbiAgICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShVSVZpZXdEaXJlY3RpdmUuRVhQTE9SRV9MQVNUX1JPV19JTkRFWF9LRVksIFN0cmluZyhyb3dJbmRleCkpO1xuICAgICAgfVxuXG4gICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKFxuICAgICAgICBVSVZpZXdEaXJlY3RpdmUuRVhQTE9SRV9MQVNUX1JPV19TQ1JPTExfTEVGVF9LRVksXG4gICAgICAgIFN0cmluZyhNYXRoLnJvdW5kKHNjcm9sbFJvdy5zY3JvbGxMZWZ0KSlcbiAgICAgICk7XG5cbiAgICAgIGlmIChpdGVtSWQpIHtcbiAgICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShVSVZpZXdEaXJlY3RpdmUuRVhQTE9SRV9MQVNUX0lURU1fSURfS0VZLCBpdGVtSWQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShVSVZpZXdEaXJlY3RpdmUuRVhQTE9SRV9MQVNUX0lURU1fSURfS0VZKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIHt9XG4gIH1cblxuICBwcml2YXRlIGNsZWFyRXhwbG9yZUhvcml6b250YWxTY3JvbGxDb250ZXh0KCk6IHZvaWQge1xuICAgIHRyeSB7XG4gICAgICBzZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKFVJVmlld0RpcmVjdGl2ZS5FWFBMT1JFX0xBU1RfUk9XX0lOREVYX0tFWSk7XG4gICAgICBzZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKFVJVmlld0RpcmVjdGl2ZS5FWFBMT1JFX0xBU1RfUk9XX1NDUk9MTF9MRUZUX0tFWSk7XG4gICAgICBzZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKFVJVmlld0RpcmVjdGl2ZS5FWFBMT1JFX0xBU1RfSVRFTV9JRF9LRVkpO1xuICAgIH0gY2F0Y2gge31cbiAgfVxuXG4gIHByaXZhdGUgcmVzb2x2ZUV4cGxvcmVTZWN0aW9uKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBzY3JvbGxSb3c6IEhUTUxFbGVtZW50KTogSFRNTEVsZW1lbnQgfCBudWxsIHtcbiAgICBjb25zdCBmcm9tQW5jZXN0b3IgPVxuICAgICAgc2Nyb2xsUm93LmNsb3Nlc3QoJ1tkYXRhLWFuY2hvci10YXJnZXRdW2lkXScpIGFzIEhUTUxFbGVtZW50IHwgbnVsbCB8fFxuICAgICAgc2Nyb2xsUm93LmNsb3Nlc3QoJy5jb2x1bW5baWRdJykgYXMgSFRNTEVsZW1lbnQgfCBudWxsIHx8XG4gICAgICBlbGVtZW50LmNsb3Nlc3QoJ1tkYXRhLWFuY2hvci10YXJnZXRdW2lkXScpIGFzIEhUTUxFbGVtZW50IHwgbnVsbCB8fFxuICAgICAgZWxlbWVudC5jbG9zZXN0KCcuY29sdW1uW2lkXScpIGFzIEhUTUxFbGVtZW50IHwgbnVsbDtcblxuICAgIGlmIChmcm9tQW5jZXN0b3IpIHJldHVybiBmcm9tQW5jZXN0b3I7XG5cbiAgICAvLyBTZcOnw7VlcyBwb2RlbSBzZXIgaXJtw6NzIGRvIHNjcm9sbGFibGUtcm93IChuw6NvIGFuY2VzdHJhaXMpLlxuICAgIC8vIFNvYmUgYXTDqSBvIHdyYXBwZXIgZWRtLXNkdWktY29tcG9uZW50IGUgcGVyY29ycmUgaXJtw6NvcyBhbnRlcmlvcmVzLlxuICAgIGNvbnN0IHdyYXBwZXIgPSBzY3JvbGxSb3cuY2xvc2VzdCgnZWRtLXNkdWktY29tcG9uZW50JykgYXMgSFRNTEVsZW1lbnQgfCBudWxsO1xuICAgIGxldCBzaWJsaW5nID0gd3JhcHBlcj8ucHJldmlvdXNFbGVtZW50U2libGluZyBhcyBIVE1MRWxlbWVudCB8IG51bGw7XG4gICAgd2hpbGUgKHNpYmxpbmcpIHtcbiAgICAgIGlmIChzaWJsaW5nLm1hdGNoZXMoJy5jb2x1bW5baWRdJykgfHwgc2libGluZy5tYXRjaGVzKCdbZGF0YS1hbmNob3ItdGFyZ2V0XVtpZF0nKSkge1xuICAgICAgICByZXR1cm4gc2libGluZztcbiAgICAgIH1cbiAgICAgIGNvbnN0IGlubmVyID0gc2libGluZy5xdWVyeVNlbGVjdG9yPEhUTUxFbGVtZW50PignLmNvbHVtbltpZF0nKSB8fFxuICAgICAgICBzaWJsaW5nLnF1ZXJ5U2VsZWN0b3I8SFRNTEVsZW1lbnQ+KCdbZGF0YS1hbmNob3ItdGFyZ2V0XVtpZF0nKTtcbiAgICAgIGlmIChpbm5lcikgcmV0dXJuIGlubmVyO1xuICAgICAgc2libGluZyA9IHNpYmxpbmcucHJldmlvdXNFbGVtZW50U2libGluZyBhcyBIVE1MRWxlbWVudCB8IG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVSb3dJbmRleChzY3JvbGxSb3c6IEhUTUxFbGVtZW50LCBzZWN0aW9uOiBIVE1MRWxlbWVudCB8IG51bGwpOiBudW1iZXIge1xuICAgIGNvbnN0IHNjb3BlID0gc2VjdGlvbiA/PyAoc2Nyb2xsUm93LnBhcmVudEVsZW1lbnQgYXMgSFRNTEVsZW1lbnQgfCBudWxsKTtcbiAgICBpZiAoIXNjb3BlKSB7XG4gICAgICByZXR1cm4gLTE7XG4gICAgfVxuXG4gICAgcmV0dXJuIEFycmF5LmZyb20oc2NvcGUucXVlcnlTZWxlY3RvckFsbDxIVE1MRWxlbWVudD4oJy5zY3JvbGxhYmxlLXJvdycpKS5pbmRleE9mKHNjcm9sbFJvdyk7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVDbGlja2VkSXRlbUlkKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBzZWN0aW9uOiBIVE1MRWxlbWVudCB8IG51bGwpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBpZiAoZWxlbWVudC5pZCAmJiBlbGVtZW50LmlkICE9PSBzZWN0aW9uPy5pZCkge1xuICAgICAgcmV0dXJuIGVsZW1lbnQuaWQ7XG4gICAgfVxuXG4gICAgY29uc3QgY2FuZGlkYXRlID0gZWxlbWVudC5jbG9zZXN0KCdbaWRdJykgYXMgSFRNTEVsZW1lbnQgfCBudWxsO1xuICAgIGlmIChjYW5kaWRhdGU/LmlkICYmIGNhbmRpZGF0ZS5pZCAhPT0gc2VjdGlvbj8uaWQpIHtcbiAgICAgIHJldHVybiBjYW5kaWRhdGUuaWQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cbiJdfQ==