@seniorsistemas/angular-components 17.18.4 → 17.18.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,14 +5,16 @@ export declare class ThumbnailItemComponent implements OnInit {
5
5
  itemData: ThumbnailsItem;
6
6
  isCheckable: boolean;
7
7
  isChecked: boolean;
8
+ combineCheckboxEvent: boolean;
8
9
  checked: EventEmitter<{
9
10
  item: ThumbnailsItem;
10
- checked: boolean;
11
+ selected: boolean;
11
12
  }>;
12
13
  opened: EventEmitter<ThumbnailsItem>;
13
14
  checkboxFormGroup: FormGroup;
14
15
  ngOnInit(): void;
15
16
  onClick(): void;
17
+ checkboxClick(event: Event): void;
16
18
  private _createFormGroup;
17
19
  private _validateItemData;
18
20
  }
@@ -3,12 +3,13 @@ import { ThumbnailsItem } from "./models/thumbnails-item";
3
3
  export declare class ThumbnailsComponent {
4
4
  items: ThumbnailsItem[];
5
5
  selectable: boolean;
6
+ combineCheckboxEvent: boolean;
6
7
  set selection(items: ThumbnailsItem[]);
7
8
  selectionChange: EventEmitter<ThumbnailsItem[]>;
8
9
  itemOpened: EventEmitter<ThumbnailsItem>;
9
10
  private _selection;
10
11
  onItemOpened(item: ThumbnailsItem): void;
11
- onItemSelected(items: {
12
+ onItemSelected(item: {
12
13
  item: ThumbnailsItem;
13
14
  selected: boolean;
14
15
  }): void;
@@ -127,6 +127,7 @@ let TableFrozenPositionDirective = class TableFrozenPositionDirective {
127
127
  console.warn("Unable to find frozen element from table. Is the table configured with frozen template?");
128
128
  return;
129
129
  }
130
+ frozenTable.style.width = 'min-content';
130
131
  frozenTable.style.order = "1";
131
132
  frozenTable.style.borderRight = "none";
132
133
  frozenTable.style.borderLeft = "1px solid #dddddd";
@@ -137,6 +138,7 @@ let TableFrozenPositionDirective = class TableFrozenPositionDirective {
137
138
  return;
138
139
  }
139
140
  unfrozenTable.style.position = "unset";
141
+ unfrozenTable.style.overflow = 'auto';
140
142
  }
141
143
  handleWindowResize() {
142
144
  this.synchronizeRowHeight();
@@ -200,4 +202,4 @@ TableFrozenPositionDirective = __decorate([
200
202
  })
201
203
  ], TableFrozenPositionDirective);
202
204
  export { TableFrozenPositionDirective };
203
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvemVuLXBvc2l0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3RhYmxlL2Zyb3plbi1wb3NpdGlvbi9mcm96ZW4tcG9zaXRpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUgsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUt0QyxJQUFhLDRCQUE0QixHQUF6QyxNQUFhLDRCQUE0QjtJQXVCckMsWUFBb0IsRUFBYyxFQUFFLElBQVc7UUFBM0IsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQXJCbEMseUJBQW9CLEdBQUcsTUFBTSxDQUFDO1FBV3RCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBSS9CLHFCQUFnQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBSXhDLG1DQUE4QixHQUFHLDhCQUE4QixDQUFDO1FBRzdFLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLEdBQUcsMEJBQTBCLENBQUM7UUFDbkYsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFFeEIsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFFdEUsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTFE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LEtBQUssTUFBTSxLQUFLLElBQUksTUFBTSxFQUFFO1lBQ3hCLEtBQUssTUFBTSxHQUFHLElBQUksS0FBSyxDQUFDLElBQUksRUFBRTtnQkFDMUIsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDO2FBQzlCO1NBQ0o7SUFDTCxDQUFDO0NBQ0osQ0FBQTs7WUE1TTJCLFVBQVU7WUFBUSxLQUFLOztBQXJCL0M7SUFEQyxLQUFLLEVBQUU7MEVBQ3NCO0FBRzlCO0lBREMsS0FBSyxFQUFFO3FFQU1QO0FBVlEsNEJBQTRCO0lBSHhDLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSx3QkFBd0I7S0FDckMsQ0FBQztHQUNXLDRCQUE0QixDQW1PeEM7U0FuT1ksNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJDb250ZW50Q2hlY2tlZCwgQWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3kgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgVGFibGUgfSBmcm9tIFwicHJpbWVuZy90YWJsZVwiO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogXCJbc1RhYmxlRnJvemVuUG9zaXRpb25dXCJcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVGcm96ZW5Qb3NpdGlvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgQWZ0ZXJDb250ZW50Q2hlY2tlZCB7XG4gICAgQElucHV0KClcbiAgICBzVGFibGVGcm96ZW5Qb3NpdGlvbiA9IFwibGVmdFwiO1xuXG4gICAgQElucHV0KClcbiAgICBzZXQgc1RhYmxlRnJvemVuVmFsdWUoXzogYW55W10pIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnN5bmNocm9uaXplUm93SGVpZ2h0KCk7XG4gICAgICAgICAgICB0aGlzLnNldFVwUm93UmVzaXplTW9uaXRvcmluZygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRhYmxlOiBUYWJsZTtcbiAgICBwcml2YXRlIGlzVGFibGVWaXNpYmxlID0gZmFsc2U7XG5cbiAgICB0YWJsZUhlYWRPYnNlcnZhYmxlOiBNdXRhdGlvbk9ic2VydmVyO1xuICAgIHJvd0V4cGFuZGVkT2JzZXJ2ZXI6IGFueTtcbiAgICBvbkNvbHVtbnNDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIHByaXZhdGUgdGFibGVXcmFwcGVyT2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXI7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IFRBQkxFX1NDUk9MTEFCTEVfV1JBUFBFUl9DTEFTUyA9IFwiLnVpLXRhYmxlLXNjcm9sbGFibGUtd3JhcHBlclwiO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZiwgaG9zdDogVGFibGUpIHtcbiAgICAgICAgdGhpcy50YWJsZSA9IGhvc3Q7XG4gICAgICAgIHRoaXMudGFibGUuc3R5bGVDbGFzcyA9ICh0aGlzLnRhYmxlLnN0eWxlQ2xhc3MgfHwgXCJcIikgKyBcIiBzLXRhYmxlLWZyb3plbi1wb3NpdGlvblwiO1xuICAgICAgICB0aGlzLnNldFVwVGFibGVFdmVudHMoKTtcblxuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCB0aGlzLmhhbmRsZVdpbmRvd1Jlc2l6ZS5iaW5kKHRoaXMpKTtcblxuICAgICAgICBjb25zdCBodG1sSGVhZCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiaGVhZFwiKVswXTtcblxuICAgICAgICBjb25zdCBleHBhbmRGcm96ZW5TdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiKTtcbiAgICAgICAgZXhwYW5kRnJvemVuU3R5bGUuaW5uZXJIVE1MID0gXCIucy10YWJsZS1mcm96ZW4tcG9zaXRpb24gLnVpLXRhYmxlLWZyb3plbi12aWV3IC5zZHMtZXhwYW5kZWQtcm93ID4gdGQgeyB2aXNpYmlsaXR5OiBoaWRkZW47IH1cIjtcbiAgICAgICAgaHRtbEhlYWQuYXBwZW5kQ2hpbGQoZXhwYW5kRnJvemVuU3R5bGUpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc1RhYmxlRnJvemVuUG9zaXRpb24gPT09IFwibGVmdFwiKSByZXR1cm47XG4gICAgICAgIHRoaXMuYXBwbHlTdHlsZXNGb3JUYWJsZSgpO1xuICAgICAgICB0aGlzLnNldFVwQ29sdW1uTW9uaXRvcmluZygpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzVGFibGVWaXNpYmxlICYmICEhdGhpcy50YWJsZS5lbC5uYXRpdmVFbGVtZW50Lm9mZnNldFBhcmVudCkge1xuICAgICAgICAgICAgdGhpcy5pc1RhYmxlVmlzaWJsZSA9IHRydWU7XG5cbiAgICAgICAgICAgIHRoaXMuc3luY2hyb25pemVSb3dIZWlnaHQoKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmlzVGFibGVWaXNpYmxlICYmICF0aGlzLnRhYmxlLmVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0UGFyZW50KSB7XG4gICAgICAgICAgICB0aGlzLmlzVGFibGVWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgdGhpcy5oYW5kbGVXaW5kb3dSZXNpemUuYmluZCh0aGlzKSk7XG4gICAgICAgIGlmICh0aGlzLnRhYmxlSGVhZE9ic2VydmFibGUpIHtcbiAgICAgICAgICAgIHRoaXMudGFibGVIZWFkT2JzZXJ2YWJsZS5kaXNjb25uZWN0KCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5yb3dFeHBhbmRlZE9ic2VydmVyKSB7XG4gICAgICAgICAgICB0aGlzLnJvd0V4cGFuZGVkT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMudGFibGVXcmFwcGVyT2JzZXJ2ZXIpIHtcbiAgICAgICAgICAgIHRoaXMudGFibGVXcmFwcGVyT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRVcFRhYmxlRXZlbnRzKCkge1xuICAgICAgICB0aGlzLnRhYmxlLm9uQ29sUmVzaXplLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZUNvbFJlc2l6ZSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnRhYmxlLm9uUm93RXhwYW5kLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNldFVwUm93UmVzaXplTW9uaXRvcmluZygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFVwUm93UmVzaXplTW9uaXRvcmluZygpIHtcbiAgICAgICAgaWYgKHRoaXMucm93RXhwYW5kZWRPYnNlcnZlcikge1xuICAgICAgICAgICAgdGhpcy5yb3dFeHBhbmRlZE9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRoZSB2ZXJzaW9uIG9mIEFuZ3VsYXIvVHlwZXNjcmlwdCBkb2VzIG5vdCByZWNvZ25pemUgdGhlIG9iamVjdCBSZXNpemVPYnNlcnZlciBhbmQgYnJlYWtzIGJ1aWxkXG4gICAgICAgIHRoaXMucm93RXhwYW5kZWRPYnNlcnZlciA9IG5ldyAod2luZG93IGFzIGFueSkuUmVzaXplT2JzZXJ2ZXIoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5hcHBseUhlaWdodEZvckV4cGFuZGVkUm93cygpO1xuICAgICAgICB9KTtcblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHRkc1RvQWRqdXN0ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXCIudWktdGFibGUtZnJvemVuLXZpZXcgLnNkcy1leHBhbmRlZC1yb3cgPiB0ZFwiKTtcbiAgICAgICAgICAgIGNvbnN0IG9yaWdpbmFsc1RkcyA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKFwiLnVpLXRhYmxlLXVuZnJvemVuLXZpZXcgLnNkcy1leHBhbmRlZC1yb3cgPiB0ZFwiKTtcbiAgICAgICAgICAgIHRkc1RvQWRqdXN0LmZvckVhY2goKHRkOiBIVE1MRWxlbWVudCwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9yaWdpbmFsVGQ6IEhUTUxFbGVtZW50ID0gb3JpZ2luYWxzVGRzW2luZGV4XTtcbiAgICAgICAgICAgICAgICB0ZC5pbm5lckhUTUwgPSBudWxsO1xuICAgICAgICAgICAgICAgIHRkLnN0eWxlLnBhZGRpbmcgPSBcIjBweFwiO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5yb3dFeHBhbmRlZE9ic2VydmVyLm9ic2VydmUob3JpZ2luYWxUZCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRVcENvbHVtbk1vbml0b3JpbmcoKSB7XG4gICAgICAgIHRoaXMudGFibGVIZWFkT2JzZXJ2YWJsZSA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc3luY2hyb25pemVSb3dIZWlnaHQoKTtcbiAgICAgICAgICAgIHRoaXMub25Db2x1bW5zQ2hhbmdlZC5lbWl0KG51bGwpO1xuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgdGFibGVIZWFkcyA9IFsuLi50aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCJ0aGVhZFwiKV07XG4gICAgICAgIHRhYmxlSGVhZHMuZm9yRWFjaCgodGFibGVIZWFkOiBFbGVtZW50KSA9PiB7XG4gICAgICAgICAgICB0aGlzLnRhYmxlSGVhZE9ic2VydmFibGUub2JzZXJ2ZSh0YWJsZUhlYWQsIHtcbiAgICAgICAgICAgICAgICBzdWJ0cmVlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGNoaWxkTGlzdDogdHJ1ZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IHRhYmxlV3JhcGVyID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IodGhpcy5UQUJMRV9TQ1JPTExBQkxFX1dSQVBQRVJfQ0xBU1MpO1xuICAgICAgICBpZiAodGFibGVXcmFwZXIpIHtcbiAgICAgICAgICAgIGNvbnN0IG11dGF0aW9uT2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcigoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zeW5jaHJvbml6ZVJvd0hlaWdodCgpO1xuICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgbXV0YXRpb25PYnNlcnZlci5vYnNlcnZlKHRhYmxlV3JhcGVyLCB7XG4gICAgICAgICAgICAgICAgc3VidHJlZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBjaGlsZExpc3Q6IHRydWVcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB0aGlzLnRhYmxlV3JhcHBlck9ic2VydmVyID0gbXV0YXRpb25PYnNlcnZlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgYXBwbHlIZWlnaHRGb3JFeHBhbmRlZFJvd3MoKSB7XG4gICAgICAgIGNvbnN0IGZyb3plblREc1RvQWRqdXN0ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXCIudWktdGFibGUtZnJvemVuLXZpZXcgLnNkcy1leHBhbmRlZC1yb3cgPiB0ZFwiKTtcbiAgICAgICAgY29uc3QgdW5Gcm96ZW5URHMgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbChcIi51aS10YWJsZS11bmZyb3plbi12aWV3IC5zZHMtZXhwYW5kZWQtcm93ID4gdGRcIik7XG4gICAgICAgIGZyb3plblREc1RvQWRqdXN0LmZvckVhY2goKGZyb3plblRkOiBIVE1MRWxlbWVudCwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgY29uc3QgdW5mcm96ZW5URDogSFRNTEVsZW1lbnQgPSB1bkZyb3plblREc1tpbmRleF07XG4gICAgICAgICAgICBjb25zdCB1bmZyb3plbkhlaWdodCA9IHVuZnJvemVuVEQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0O1xuICAgICAgICAgICAgY29uc3QgZnJvemVuSGVpZ2h0ID0gZnJvemVuVGQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0O1xuXG4gICAgICAgICAgICBpZiAoTWF0aC5hYnModW5mcm96ZW5IZWlnaHQgLSBmcm96ZW5IZWlnaHQpID4gMSkge1xuICAgICAgICAgICAgICAgIGZyb3plblRkLnN0eWxlLmhlaWdodCA9IGAke3VuZnJvemVuSGVpZ2h0fXB4YDtcbiAgICAgICAgICAgICAgICBmcm96ZW5UZC5pbm5lckhUTUwgPSBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFwcGx5U3R5bGVzRm9yVGFibGUoKSB7XG4gICAgICAgIGNvbnN0IHNjcm9sbFdyYXBwZXIgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3Rvcih0aGlzLlRBQkxFX1NDUk9MTEFCTEVfV1JBUFBFUl9DTEFTUyk7XG4gICAgICAgIGlmICghc2Nyb2xsV3JhcHBlcikge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKFwiVW5hYmxlIHRvIGZpbmQgc2Nyb2xsLXdyYXBwZXIgZWxlbWVudCBmcm9tIHRhYmxlLiBJcyB0aGUgdGFibGUgY29uZmlndXJlZCB3aXRoIGZyb3plbiB0ZW1wbGF0ZT9cIik7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgc2Nyb2xsV3JhcHBlci5zdHlsZS5kaXNwbGF5ID0gXCJmbGV4XCI7XG4gICAgICAgIHNjcm9sbFdyYXBwZXIuc3R5bGUuZmxleERpcmVjdGlvbiA9IFwicm93XCI7XG5cbiAgICAgICAgY29uc3QgZnJvemVuVGFibGUgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihcIi51aS10YWJsZS1mcm96ZW4tdmlld1wiKTtcbiAgICAgICAgaWYgKCFmcm96ZW5UYWJsZSkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKFwiVW5hYmxlIHRvIGZpbmQgZnJvemVuIGVsZW1lbnQgZnJvbSB0YWJsZS4gSXMgdGhlIHRhYmxlIGNvbmZpZ3VyZWQgd2l0aCBmcm96ZW4gdGVtcGxhdGU/XCIpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGZyb3plblRhYmxlLnN0eWxlLm9yZGVyID0gXCIxXCI7XG4gICAgICAgIGZyb3plblRhYmxlLnN0eWxlLmJvcmRlclJpZ2h0ID0gXCJub25lXCI7XG4gICAgICAgIGZyb3plblRhYmxlLnN0eWxlLmJvcmRlckxlZnQgPSBcIjFweCBzb2xpZCAjZGRkZGRkXCI7XG4gICAgICAgIGZyb3plblRhYmxlLnN0eWxlLmJveFNoYWRvdyA9IFwiLTVweCAwIDVweCAtNXB4ICNjY2NjY2NcIjtcblxuICAgICAgICBjb25zdCB1bmZyb3plblRhYmxlID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXCIudWktdGFibGUtdW5mcm96ZW4tdmlld1wiKTtcbiAgICAgICAgaWYgKCF1bmZyb3plblRhYmxlKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oXCJVbmFibGUgdG8gZmluZCB1bmZyb3plbiBlbGVtZW50IGZyb20gdGFibGUuIElzIHRoZSB0YWJsZSBjb25maWd1cmVkIHdpdGggZnJvemVuIHRlbXBsYXRlP1wiKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB1bmZyb3plblRhYmxlLnN0eWxlLnBvc2l0aW9uID0gXCJ1bnNldFwiO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlV2luZG93UmVzaXplKCkge1xuICAgICAgICB0aGlzLnN5bmNocm9uaXplUm93SGVpZ2h0KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVDb2xSZXNpemUoKSB7XG4gICAgICAgIHRoaXMuc3luY2hyb25pemVSb3dIZWlnaHQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN5bmNocm9uaXplUm93SGVpZ2h0KCkge1xuICAgICAgICBjb25zdCB0YWJsZUJvZHlXcmFwcGVycyA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKFwidWktdGFibGUtc2Nyb2xsYWJsZS1ib2R5XCIpO1xuICAgICAgICBjb25zdCB0YWJsZUJvZGllcyA9IFsuLi50YWJsZUJvZHlXcmFwcGVyc10ubWFwKGRpdldyYXBwZXIgPT4gWy4uLmRpdldyYXBwZXIuY2hpbGROb2Rlc10uZmluZChwID0+IHAudGFnTmFtZSA9PT0gXCJUQUJMRVwiKSk7XG4gICAgICAgIHRoaXMuX3Jlc2V0Um93SGVpZ2h0KHRhYmxlQm9kaWVzKTtcbiAgICAgICAgdGhpcy5fYXBwbHlNYXhSb3dIZWlnaHQodGFibGVCb2RpZXMpO1xuXG4gICAgICAgIGNvbnN0IHRhYmxlSGVhZFdyYXBwZXJzID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoXCJ1aS10YWJsZS1zY3JvbGxhYmxlLWhlYWRlci1ib3hcIik7XG4gICAgICAgIGNvbnN0IHRhYmxlSGVhZHMgPSBbLi4udGFibGVIZWFkV3JhcHBlcnNdLm1hcChkaXZXcmFwcGVyID0+IFsuLi5kaXZXcmFwcGVyLmNoaWxkTm9kZXNdLmZpbmQocCA9PiBwLnRhZ05hbWUgPT09IFwiVEFCTEVcIikpO1xuICAgICAgICB0aGlzLl9yZXNldFJvd0hlaWdodCh0YWJsZUhlYWRzKTtcbiAgICAgICAgdGhpcy5fYXBwbHlNYXhSb3dIZWlnaHQodGFibGVIZWFkcyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfYXBwbHlNYXhSb3dIZWlnaHQodGFibGVzOiBhbnlbXSkge1xuICAgICAgICBpZiAoIXRhYmxlcyB8fCAhdGFibGVzLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbGVuZ3RocyA9IHRhYmxlcy5tYXAodGFibGUgPT4gdGFibGUucm93cy5sZW5ndGgpO1xuICAgICAgICBjb25zdCBtYXhMZW5ndGggPSBsZW5ndGhzLnJlZHVjZSgoYWNjdW11bGF0b3IsIGN1cnJlbnRWYWx1ZSkgPT4gTWF0aC5tYXgoYWNjdW11bGF0b3IsIGN1cnJlbnRWYWx1ZSksIGxlbmd0aHNbMF0pO1xuICAgICAgICBjb25zdCBtaW5MZW5ndGggPSBsZW5ndGhzLnJlZHVjZSgoYWNjdW11bGF0b3IsIGN1cnJlbnRWYWx1ZSkgPT4gTWF0aC5taW4oYWNjdW11bGF0b3IsIGN1cnJlbnRWYWx1ZSksIGxlbmd0aHNbMF0pO1xuXG4gICAgICAgIGlmIChtYXhMZW5ndGggIT09IG1pbkxlbmd0aCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVGhlIG51bWJlciBvZiByb3dzIGluIGJvdGggdGFibGVzIG11c3QgYmUgdGhlIHNhbWVcIik7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB0YWJsZSA9IHRhYmxlc1swXTtcblxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRhYmxlLnJvd3MubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IHRycyA9IFtdO1xuICAgICAgICAgICAgZm9yIChjb25zdCB0YWJsZSBvZiB0YWJsZXMpIHtcbiAgICAgICAgICAgICAgICB0cnMucHVzaCh0YWJsZS5yb3dzW2ldIGFzIEhUTUxUYWJsZVJvd0VsZW1lbnQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBtYXggPSB0cnMucmVkdWNlKChhY2N1bXVsYXRvciwgY3VycmVudFZhbHVlKSA9PlxuICAgICAgICAgICAgICAgIE1hdGgubWF4KGFjY3VtdWxhdG9yLCBjdXJyZW50VmFsdWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0KSwgdHJzWzBdLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodCk7XG5cbiAgICAgICAgICAgIGZvciAoY29uc3QgdHIgb2YgdHJzKSB7XG4gICAgICAgICAgICAgICAgdHIuc3R5bGUuaGVpZ2h0ID0gYCR7bWF4fXB4YDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX3Jlc2V0Um93SGVpZ2h0KHRhYmxlczogYW55W10pIHtcbiAgICAgICAgZm9yIChjb25zdCB0YWJsZSBvZiB0YWJsZXMpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3Qgcm93IG9mIHRhYmxlLnJvd3MpIHtcbiAgICAgICAgICAgICAgICByb3cuc3R5bGUuaGVpZ2h0ID0gXCJ1bnNldFwiO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIl19
205
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvemVuLXBvc2l0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3RhYmxlL2Zyb3plbi1wb3NpdGlvbi9mcm96ZW4tcG9zaXRpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUgsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUt0QyxJQUFhLDRCQUE0QixHQUF6QyxNQUFhLDRCQUE0QjtJQXVCckMsWUFBb0IsRUFBYyxFQUFFLElBQVc7UUFBM0IsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQXJCbEMseUJBQW9CLEdBQUcsTUFBTSxDQUFDO1FBV3RCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBSS9CLHFCQUFnQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBSXhDLG1DQUE4QixHQUFHLDhCQUE4QixDQUFDO1FBRzdFLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLEdBQUcsMEJBQTBCLENBQUM7UUFDbkYsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFFeEIsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFFdEUsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTFE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LENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDO2FBQ2hDO1NBQ0o7SUFDTCxDQUFDO0lBRU8sZUFBZSxDQUFDLE1BQWE7UUFDakMsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLEVBQUU7WUFDeEIsS0FBSyxNQUFNLEdBQUcsSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFO2dCQUMxQixHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUM7YUFDOUI7U0FDSjtJQUNMLENBQUM7Q0FDSixDQUFBOztZQTlNMkIsVUFBVTtZQUFRLEtBQUs7O0FBckIvQztJQURDLEtBQUssRUFBRTswRUFDc0I7QUFHOUI7SUFEQyxLQUFLLEVBQUU7cUVBTVA7QUFWUSw0QkFBNEI7SUFIeEMsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLHdCQUF3QjtLQUNyQyxDQUFDO0dBQ1csNEJBQTRCLENBcU94QztTQXJPWSw0QkFBNEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlckNvbnRlbnRDaGVja2VkLCBBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBUYWJsZSB9IGZyb20gXCJwcmltZW5nL3RhYmxlXCI7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiBcIltzVGFibGVGcm96ZW5Qb3NpdGlvbl1cIlxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUZyb3plblBvc2l0aW9uRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBBZnRlckNvbnRlbnRDaGVja2VkIHtcbiAgICBASW5wdXQoKVxuICAgIHNUYWJsZUZyb3plblBvc2l0aW9uID0gXCJsZWZ0XCI7XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBzVGFibGVGcm96ZW5WYWx1ZShfOiBhbnlbXSkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc3luY2hyb25pemVSb3dIZWlnaHQoKTtcbiAgICAgICAgICAgIHRoaXMuc2V0VXBSb3dSZXNpemVNb25pdG9yaW5nKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgdGFibGU6IFRhYmxlO1xuICAgIHByaXZhdGUgaXNUYWJsZVZpc2libGUgPSBmYWxzZTtcblxuICAgIHRhYmxlSGVhZE9ic2VydmFibGU6IE11dGF0aW9uT2JzZXJ2ZXI7XG4gICAgcm93RXhwYW5kZWRPYnNlcnZlcjogYW55O1xuICAgIG9uQ29sdW1uc0NoYW5nZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgcHJpdmF0ZSB0YWJsZVdyYXBwZXJPYnNlcnZlcjogTXV0YXRpb25PYnNlcnZlcjtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgVEFCTEVfU0NST0xMQUJMRV9XUkFQUEVSX0NMQVNTID0gXCIudWktdGFibGUtc2Nyb2xsYWJsZS13cmFwcGVyXCI7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmLCBob3N0OiBUYWJsZSkge1xuICAgICAgICB0aGlzLnRhYmxlID0gaG9zdDtcbiAgICAgICAgdGhpcy50YWJsZS5zdHlsZUNsYXNzID0gKHRoaXMudGFibGUuc3R5bGVDbGFzcyB8fCBcIlwiKSArIFwiIHMtdGFibGUtZnJvemVuLXBvc2l0aW9uXCI7XG4gICAgICAgIHRoaXMuc2V0VXBUYWJsZUV2ZW50cygpO1xuXG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwicmVzaXplXCIsIHRoaXMuaGFuZGxlV2luZG93UmVzaXplLmJpbmQodGhpcykpO1xuXG4gICAgICAgIGNvbnN0IGh0bWxIZWFkID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCJoZWFkXCIpWzBdO1xuXG4gICAgICAgIGNvbnN0IGV4cGFuZEZyb3plblN0eWxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInN0eWxlXCIpO1xuICAgICAgICBleHBhbmRGcm96ZW5TdHlsZS5pbm5lckhUTUwgPSBcIi5zLXRhYmxlLWZyb3plbi1wb3NpdGlvbiAudWktdGFibGUtZnJvemVuLXZpZXcgLnNkcy1leHBhbmRlZC1yb3cgPiB0ZCB7IHZpc2liaWxpdHk6IGhpZGRlbjsgfVwiO1xuICAgICAgICBodG1sSGVhZC5hcHBlbmRDaGlsZChleHBhbmRGcm96ZW5TdHlsZSk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zVGFibGVGcm96ZW5Qb3NpdGlvbiA9PT0gXCJsZWZ0XCIpIHJldHVybjtcbiAgICAgICAgdGhpcy5hcHBseVN0eWxlc0ZvclRhYmxlKCk7XG4gICAgICAgIHRoaXMuc2V0VXBDb2x1bW5Nb25pdG9yaW5nKCk7XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaXNUYWJsZVZpc2libGUgJiYgISF0aGlzLnRhYmxlLmVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0UGFyZW50KSB7XG4gICAgICAgICAgICB0aGlzLmlzVGFibGVWaXNpYmxlID0gdHJ1ZTtcblxuICAgICAgICAgICAgdGhpcy5zeW5jaHJvbml6ZVJvd0hlaWdodCgpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXNUYWJsZVZpc2libGUgJiYgIXRoaXMudGFibGUuZWwubmF0aXZlRWxlbWVudC5vZmZzZXRQYXJlbnQpIHtcbiAgICAgICAgICAgIHRoaXMuaXNUYWJsZVZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCB0aGlzLmhhbmRsZVdpbmRvd1Jlc2l6ZS5iaW5kKHRoaXMpKTtcbiAgICAgICAgaWYgKHRoaXMudGFibGVIZWFkT2JzZXJ2YWJsZSkge1xuICAgICAgICAgICAgdGhpcy50YWJsZUhlYWRPYnNlcnZhYmxlLmRpc2Nvbm5lY3QoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnJvd0V4cGFuZGVkT2JzZXJ2ZXIpIHtcbiAgICAgICAgICAgIHRoaXMucm93RXhwYW5kZWRPYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy50YWJsZVdyYXBwZXJPYnNlcnZlcikge1xuICAgICAgICAgICAgdGhpcy50YWJsZVdyYXBwZXJPYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFVwVGFibGVFdmVudHMoKSB7XG4gICAgICAgIHRoaXMudGFibGUub25Db2xSZXNpemUuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlQ29sUmVzaXplKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMudGFibGUub25Sb3dFeHBhbmQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2V0VXBSb3dSZXNpemVNb25pdG9yaW5nKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0VXBSb3dSZXNpemVNb25pdG9yaW5nKCkge1xuICAgICAgICBpZiAodGhpcy5yb3dFeHBhbmRlZE9ic2VydmVyKSB7XG4gICAgICAgICAgICB0aGlzLnJvd0V4cGFuZGVkT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVGhlIHZlcnNpb24gb2YgQW5ndWxhci9UeXBlc2NyaXB0IGRvZXMgbm90IHJlY29nbml6ZSB0aGUgb2JqZWN0IFJlc2l6ZU9ic2VydmVyIGFuZCBicmVha3MgYnVpbGRcbiAgICAgICAgdGhpcy5yb3dFeHBhbmRlZE9ic2VydmVyID0gbmV3ICh3aW5kb3cgYXMgYW55KS5SZXNpemVPYnNlcnZlcigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmFwcGx5SGVpZ2h0Rm9yRXhwYW5kZWRSb3dzKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdGRzVG9BZGp1c3QgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbChcIi51aS10YWJsZS1mcm96ZW4tdmlldyAuc2RzLWV4cGFuZGVkLXJvdyA+IHRkXCIpO1xuICAgICAgICAgICAgY29uc3Qgb3JpZ2luYWxzVGRzID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXCIudWktdGFibGUtdW5mcm96ZW4tdmlldyAuc2RzLWV4cGFuZGVkLXJvdyA+IHRkXCIpO1xuICAgICAgICAgICAgdGRzVG9BZGp1c3QuZm9yRWFjaCgodGQ6IEhUTUxFbGVtZW50LCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb3JpZ2luYWxUZDogSFRNTEVsZW1lbnQgPSBvcmlnaW5hbHNUZHNbaW5kZXhdO1xuICAgICAgICAgICAgICAgIHRkLmlubmVySFRNTCA9IG51bGw7XG4gICAgICAgICAgICAgICAgdGQuc3R5bGUucGFkZGluZyA9IFwiMHB4XCI7XG5cbiAgICAgICAgICAgICAgICB0aGlzLnJvd0V4cGFuZGVkT2JzZXJ2ZXIub2JzZXJ2ZShvcmlnaW5hbFRkKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFVwQ29sdW1uTW9uaXRvcmluZygpIHtcbiAgICAgICAgdGhpcy50YWJsZUhlYWRPYnNlcnZhYmxlID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zeW5jaHJvbml6ZVJvd0hlaWdodCgpO1xuICAgICAgICAgICAgdGhpcy5vbkNvbHVtbnNDaGFuZ2VkLmVtaXQobnVsbCk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCB0YWJsZUhlYWRzID0gWy4uLnRoaXMuZWwubmF0aXZlRWxlbWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShcInRoZWFkXCIpXTtcbiAgICAgICAgdGFibGVIZWFkcy5mb3JFYWNoKCh0YWJsZUhlYWQ6IEVsZW1lbnQpID0+IHtcbiAgICAgICAgICAgIHRoaXMudGFibGVIZWFkT2JzZXJ2YWJsZS5vYnNlcnZlKHRhYmxlSGVhZCwge1xuICAgICAgICAgICAgICAgIHN1YnRyZWU6IHRydWUsXG4gICAgICAgICAgICAgICAgY2hpbGRMaXN0OiB0cnVlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgdGFibGVXcmFwZXIgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3Rvcih0aGlzLlRBQkxFX1NDUk9MTEFCTEVfV1JBUFBFUl9DTEFTUyk7XG4gICAgICAgIGlmICh0YWJsZVdyYXBlcikge1xuICAgICAgICAgICAgY29uc3QgbXV0YXRpb25PYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnN5bmNocm9uaXplUm93SGVpZ2h0KCk7XG4gICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICBtdXRhdGlvbk9ic2VydmVyLm9ic2VydmUodGFibGVXcmFwZXIsIHtcbiAgICAgICAgICAgICAgICBzdWJ0cmVlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGNoaWxkTGlzdDogdHJ1ZVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIHRoaXMudGFibGVXcmFwcGVyT2JzZXJ2ZXIgPSBtdXRhdGlvbk9ic2VydmVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhcHBseUhlaWdodEZvckV4cGFuZGVkUm93cygpIHtcbiAgICAgICAgY29uc3QgZnJvemVuVERzVG9BZGp1c3QgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbChcIi51aS10YWJsZS1mcm96ZW4tdmlldyAuc2RzLWV4cGFuZGVkLXJvdyA+IHRkXCIpO1xuICAgICAgICBjb25zdCB1bkZyb3plblREcyA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKFwiLnVpLXRhYmxlLXVuZnJvemVuLXZpZXcgLnNkcy1leHBhbmRlZC1yb3cgPiB0ZFwiKTtcbiAgICAgICAgZnJvemVuVERzVG9BZGp1c3QuZm9yRWFjaCgoZnJvemVuVGQ6IEhUTUxFbGVtZW50LCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB1bmZyb3plblREOiBIVE1MRWxlbWVudCA9IHVuRnJvemVuVERzW2luZGV4XTtcbiAgICAgICAgICAgIGNvbnN0IHVuZnJvemVuSGVpZ2h0ID0gdW5mcm96ZW5URC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQ7XG4gICAgICAgICAgICBjb25zdCBmcm96ZW5IZWlnaHQgPSBmcm96ZW5UZC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQ7XG5cbiAgICAgICAgICAgIGlmIChNYXRoLmFicyh1bmZyb3plbkhlaWdodCAtIGZyb3plbkhlaWdodCkgPiAxKSB7XG4gICAgICAgICAgICAgICAgZnJvemVuVGQuc3R5bGUuaGVpZ2h0ID0gYCR7dW5mcm96ZW5IZWlnaHR9cHhgO1xuICAgICAgICAgICAgICAgIGZyb3plblRkLmlubmVySFRNTCA9IG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXBwbHlTdHlsZXNGb3JUYWJsZSgpIHtcbiAgICAgICAgY29uc3Qgc2Nyb2xsV3JhcHBlciA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKHRoaXMuVEFCTEVfU0NST0xMQUJMRV9XUkFQUEVSX0NMQVNTKTtcbiAgICAgICAgaWYgKCFzY3JvbGxXcmFwcGVyKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oXCJVbmFibGUgdG8gZmluZCBzY3JvbGwtd3JhcHBlciBlbGVtZW50IGZyb20gdGFibGUuIElzIHRoZSB0YWJsZSBjb25maWd1cmVkIHdpdGggZnJvemVuIHRlbXBsYXRlP1wiKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBzY3JvbGxXcmFwcGVyLnN0eWxlLmRpc3BsYXkgPSBcImZsZXhcIjtcbiAgICAgICAgc2Nyb2xsV3JhcHBlci5zdHlsZS5mbGV4RGlyZWN0aW9uID0gXCJyb3dcIjtcblxuICAgICAgICBjb25zdCBmcm96ZW5UYWJsZSA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFwiLnVpLXRhYmxlLWZyb3plbi12aWV3XCIpO1xuICAgICAgICBpZiAoIWZyb3plblRhYmxlKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oXCJVbmFibGUgdG8gZmluZCBmcm96ZW4gZWxlbWVudCBmcm9tIHRhYmxlLiBJcyB0aGUgdGFibGUgY29uZmlndXJlZCB3aXRoIGZyb3plbiB0ZW1wbGF0ZT9cIik7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgZnJvemVuVGFibGUuc3R5bGUud2lkdGggPSAnbWluLWNvbnRlbnQnO1xuICAgICAgICBmcm96ZW5UYWJsZS5zdHlsZS5vcmRlciA9IFwiMVwiO1xuICAgICAgICBmcm96ZW5UYWJsZS5zdHlsZS5ib3JkZXJSaWdodCA9IFwibm9uZVwiO1xuICAgICAgICBmcm96ZW5UYWJsZS5zdHlsZS5ib3JkZXJMZWZ0ID0gXCIxcHggc29saWQgI2RkZGRkZFwiO1xuICAgICAgICBmcm96ZW5UYWJsZS5zdHlsZS5ib3hTaGFkb3cgPSBcIi01cHggMCA1cHggLTVweCAjY2NjY2NjXCI7XG5cbiAgICAgICAgY29uc3QgdW5mcm96ZW5UYWJsZSA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFwiLnVpLXRhYmxlLXVuZnJvemVuLXZpZXdcIik7XG4gICAgICAgIGlmICghdW5mcm96ZW5UYWJsZSkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKFwiVW5hYmxlIHRvIGZpbmQgdW5mcm96ZW4gZWxlbWVudCBmcm9tIHRhYmxlLiBJcyB0aGUgdGFibGUgY29uZmlndXJlZCB3aXRoIGZyb3plbiB0ZW1wbGF0ZT9cIik7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdW5mcm96ZW5UYWJsZS5zdHlsZS5wb3NpdGlvbiA9IFwidW5zZXRcIjtcbiAgICAgICAgdW5mcm96ZW5UYWJsZS5zdHlsZS5vdmVyZmxvdyA9ICdhdXRvJztcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZVdpbmRvd1Jlc2l6ZSgpIHtcbiAgICAgICAgdGhpcy5zeW5jaHJvbml6ZVJvd0hlaWdodCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlQ29sUmVzaXplKCkge1xuICAgICAgICB0aGlzLnN5bmNocm9uaXplUm93SGVpZ2h0KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzeW5jaHJvbml6ZVJvd0hlaWdodCgpIHtcbiAgICAgICAgY29uc3QgdGFibGVCb2R5V3JhcHBlcnMgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShcInVpLXRhYmxlLXNjcm9sbGFibGUtYm9keVwiKTtcbiAgICAgICAgY29uc3QgdGFibGVCb2RpZXMgPSBbLi4udGFibGVCb2R5V3JhcHBlcnNdLm1hcChkaXZXcmFwcGVyID0+IFsuLi5kaXZXcmFwcGVyLmNoaWxkTm9kZXNdLmZpbmQocCA9PiBwLnRhZ05hbWUgPT09IFwiVEFCTEVcIikpO1xuICAgICAgICB0aGlzLl9yZXNldFJvd0hlaWdodCh0YWJsZUJvZGllcyk7XG4gICAgICAgIHRoaXMuX2FwcGx5TWF4Um93SGVpZ2h0KHRhYmxlQm9kaWVzKTtcblxuICAgICAgICBjb25zdCB0YWJsZUhlYWRXcmFwcGVycyA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKFwidWktdGFibGUtc2Nyb2xsYWJsZS1oZWFkZXItYm94XCIpO1xuICAgICAgICBjb25zdCB0YWJsZUhlYWRzID0gWy4uLnRhYmxlSGVhZFdyYXBwZXJzXS5tYXAoZGl2V3JhcHBlciA9PiBbLi4uZGl2V3JhcHBlci5jaGlsZE5vZGVzXS5maW5kKHAgPT4gcC50YWdOYW1lID09PSBcIlRBQkxFXCIpKTtcbiAgICAgICAgdGhpcy5fcmVzZXRSb3dIZWlnaHQodGFibGVIZWFkcyk7XG4gICAgICAgIHRoaXMuX2FwcGx5TWF4Um93SGVpZ2h0KHRhYmxlSGVhZHMpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2FwcGx5TWF4Um93SGVpZ2h0KHRhYmxlczogYW55W10pIHtcbiAgICAgICAgaWYgKCF0YWJsZXMgfHwgIXRhYmxlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGxlbmd0aHMgPSB0YWJsZXMubWFwKHRhYmxlID0+IHRhYmxlLnJvd3MubGVuZ3RoKTtcbiAgICAgICAgY29uc3QgbWF4TGVuZ3RoID0gbGVuZ3Rocy5yZWR1Y2UoKGFjY3VtdWxhdG9yLCBjdXJyZW50VmFsdWUpID0+IE1hdGgubWF4KGFjY3VtdWxhdG9yLCBjdXJyZW50VmFsdWUpLCBsZW5ndGhzWzBdKTtcbiAgICAgICAgY29uc3QgbWluTGVuZ3RoID0gbGVuZ3Rocy5yZWR1Y2UoKGFjY3VtdWxhdG9yLCBjdXJyZW50VmFsdWUpID0+IE1hdGgubWluKGFjY3VtdWxhdG9yLCBjdXJyZW50VmFsdWUpLCBsZW5ndGhzWzBdKTtcblxuICAgICAgICBpZiAobWF4TGVuZ3RoICE9PSBtaW5MZW5ndGgpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIlRoZSBudW1iZXIgb2Ygcm93cyBpbiBib3RoIHRhYmxlcyBtdXN0IGJlIHRoZSBzYW1lXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdGFibGUgPSB0YWJsZXNbMF07XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0YWJsZS5yb3dzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCB0cnMgPSBbXTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgdGFibGUgb2YgdGFibGVzKSB7XG4gICAgICAgICAgICAgICAgdHJzLnB1c2godGFibGUucm93c1tpXSBhcyBIVE1MVGFibGVSb3dFbGVtZW50KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgbWF4ID0gdHJzLnJlZHVjZSgoYWNjdW11bGF0b3IsIGN1cnJlbnRWYWx1ZSkgPT5cbiAgICAgICAgICAgICAgICBNYXRoLm1heChhY2N1bXVsYXRvciwgY3VycmVudFZhbHVlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodCksIHRyc1swXS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQpO1xuXG4gICAgICAgICAgICBmb3IgKGNvbnN0IHRyIG9mIHRycykge1xuICAgICAgICAgICAgICAgIHRyLnN0eWxlLmhlaWdodCA9IGAke21heH1weGA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9yZXNldFJvd0hlaWdodCh0YWJsZXM6IGFueVtdKSB7XG4gICAgICAgIGZvciAoY29uc3QgdGFibGUgb2YgdGFibGVzKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHJvdyBvZiB0YWJsZS5yb3dzKSB7XG4gICAgICAgICAgICAgICAgcm93LnN0eWxlLmhlaWdodCA9IFwidW5zZXRcIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -6,6 +6,7 @@ let ThumbnailItemComponent = class ThumbnailItemComponent {
6
6
  constructor() {
7
7
  this.isCheckable = true;
8
8
  this.isChecked = false;
9
+ this.combineCheckboxEvent = true;
9
10
  this.checked = new EventEmitter();
10
11
  this.opened = new EventEmitter();
11
12
  }
@@ -16,12 +17,18 @@ let ThumbnailItemComponent = class ThumbnailItemComponent {
16
17
  onClick() {
17
18
  this.opened.emit(this.itemData);
18
19
  }
20
+ checkboxClick(event) {
21
+ if (this.combineCheckboxEvent) {
22
+ return;
23
+ }
24
+ event.stopPropagation();
25
+ }
19
26
  _createFormGroup() {
20
27
  this.checkboxFormGroup = new FormGroup({
21
28
  checkbox: new FormControl({ checked: this.isChecked }),
22
29
  });
23
30
  this.checkboxFormGroup.get("checkbox").valueChanges.subscribe((value) => {
24
- this.checked.emit({ item: this.itemData, checked: value.checked });
31
+ this.checked.emit({ item: this.itemData, selected: value.checked });
25
32
  });
26
33
  }
27
34
  _validateItemData() {
@@ -39,6 +46,9 @@ __decorate([
39
46
  __decorate([
40
47
  Input()
41
48
  ], ThumbnailItemComponent.prototype, "isChecked", void 0);
49
+ __decorate([
50
+ Input()
51
+ ], ThumbnailItemComponent.prototype, "combineCheckboxEvent", void 0);
42
52
  __decorate([
43
53
  Output()
44
54
  ], ThumbnailItemComponent.prototype, "checked", void 0);
@@ -48,9 +58,9 @@ __decorate([
48
58
  ThumbnailItemComponent = __decorate([
49
59
  Component({
50
60
  selector: "s-thumbnail-item",
51
- template: "<button *ngIf=\"itemData\" class=\"thumbnail-item\" (click)=\"onClick()\">\n <div class=\"thumbnail-item-content\">\n <div class=\"content\">\n <ng-container *ngIf=\"itemData.type === 'video'\">\n <s-thumbnail-item-video\n [imageUrl]=\"itemData.imageUrl\"\n [videoUrl]=\"itemData.videoUrl\">\n </s-thumbnail-item-video>\n </ng-container>\n <ng-container *ngIf=\"itemData.type === 'image'\">\n <s-thumbnail-item-image [imageUrl]=\"itemData.imageUrl\"></s-thumbnail-item-image>\n </ng-container>\n <ng-container *ngIf=\"itemData.type === 'audio'\">\n <i class=\"icon fas fa-volume-down\"></i>\n <span class=\"label\">{{ \"platform.angular_components.listen\" | translate }}</span>\n </ng-container>\n <ng-container *ngIf=\"itemData.type === 'file'\">\n <i class=\"icon fas fa-file-alt\"></i>\n <span class=\"label\">{{ \"platform.angular_components.view\" | translate }}</span>\n </ng-container>\n </div>\n <form *ngIf=\"isCheckable\" [formGroup]=\"checkboxFormGroup\" class=\"checkbox\">\n <s-checkbox [data]=\"{ label: '' }\" formControlName=\"checkbox\"> </s-checkbox>\n </form>\n </div>\n <span class=\"file-name-label\">{{ itemData.fileName }}</span>\n</button>\n",
61
+ template: "<button *ngIf=\"itemData\" class=\"thumbnail-item\" (click)=\"onClick()\">\n <div class=\"thumbnail-item-content\">\n <div class=\"content\">\n <ng-container *ngIf=\"itemData.type === 'video'\">\n <s-thumbnail-item-video\n [imageUrl]=\"itemData.imageUrl\"\n [videoUrl]=\"itemData.videoUrl\">\n </s-thumbnail-item-video>\n </ng-container>\n <ng-container *ngIf=\"itemData.type === 'image'\">\n <s-thumbnail-item-image [imageUrl]=\"itemData.imageUrl\"></s-thumbnail-item-image>\n </ng-container>\n <ng-container *ngIf=\"itemData.type === 'audio'\">\n <i class=\"icon fas fa-volume-down\"></i>\n <span class=\"label\">{{ \"platform.angular_components.listen\" | translate }}</span>\n </ng-container>\n <ng-container *ngIf=\"itemData.type === 'file'\">\n <i class=\"icon fas fa-file-alt\"></i>\n <span class=\"label\">{{ \"platform.angular_components.view\" | translate }}</span>\n </ng-container>\n </div>\n <form *ngIf=\"isCheckable\" [formGroup]=\"checkboxFormGroup\" class=\"checkbox\">\n <s-checkbox [data]=\"{ label: '' }\" formControlName=\"checkbox\" (click)=\"checkboxClick($event)\"></s-checkbox>\n </form>\n </div>\n <span class=\"file-name-label\">{{ itemData.fileName }}</span>\n</button>\n",
52
62
  styles: [".thumbnail-item{-ms-flex-align:center;align-items:center;background:0 0;border:none;cursor:pointer;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;overflow:hidden;width:100px}.thumbnail-item-content{-ms-flex-align:center;align-items:center;background-image:linear-gradient(to top right,#5288b6,#00c89a);border-radius:8px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;height:100px;-ms-flex-pack:center;justify-content:center;position:relative;-webkit-user-select:none;-ms-user-select:none;user-select:none;width:100%;overflow:hidden}.thumbnail-item-content .checkbox{position:absolute;right:8px;top:8px}.thumbnail-item-content .content{-ms-flex-align:center;align-items:center;color:#fff;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;gap:4px;overflow:hidden;width:100%}.thumbnail-item-content .content .icon{font-size:24px}.thumbnail-item-content .content .label{font-size:12px;width:100%;padding:0 8px;overflow:hidden;text-overflow:ellipsis}.thumbnail-item:hover{transform:scale(1.05);transition:.2s ease-in-out}.thumbnail-item .file-name-label{color:#525966;font-family:\"Open Sans\",sans-serif;font-size:12px;overflow:hidden;text-align:center;text-overflow:ellipsis;text-wrap:nowrap;-webkit-user-select:none;-ms-user-select:none;user-select:none;width:100%}"]
53
63
  })
54
64
  ], ThumbnailItemComponent);
55
65
  export { ThumbnailItemComponent };
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGh1bWJuYWlsLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvdGh1bWJuYWlscy9jb21wb25lbnRzL3RodW1ibmFpbC1pdGVtL3RodW1ibmFpbC1pdGVtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBUXpELElBQWEsc0JBQXNCLEdBQW5DLE1BQWEsc0JBQXNCO0lBQW5DO1FBS1csZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFHbkIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUdsQixZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQTRDLENBQUM7UUFHdkUsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFrQixDQUFDO0lBNEJ2RCxDQUFDO0lBeEJVLFFBQVE7UUFDWCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRU0sT0FBTztRQUNWLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRU8sZ0JBQWdCO1FBQ3BCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLFNBQVMsQ0FBQztZQUNuQyxRQUFRLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ3pELENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQW9CLEVBQUUsRUFBRTtZQUNuRixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUN2RSxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxpQkFBaUI7UUFDckIsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDbEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1NBQzNDO0lBQ0wsQ0FBQztDQUNKLENBQUE7QUF4Q0c7SUFEQyxLQUFLLEVBQUU7d0RBQ3dCO0FBR2hDO0lBREMsS0FBSyxFQUFFOzJEQUNrQjtBQUcxQjtJQURDLEtBQUssRUFBRTt5REFDaUI7QUFHekI7SUFEQyxNQUFNLEVBQUU7dURBQ3FFO0FBRzlFO0lBREMsTUFBTSxFQUFFO3NEQUMwQztBQWQxQyxzQkFBc0I7SUFMbEMsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLGtCQUFrQjtRQUM1QixpN0NBQThDOztLQUVqRCxDQUFDO0dBQ1csc0JBQXNCLENBMENsQztTQTFDWSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcblxuaW1wb3J0IHsgQ2hlY2tib3hTdGF0ZSB9IGZyb20gXCIuLi8uLi8uLi9jaGVja2JveC9tb2RlbHMvY2hlY2tib3gtc3RhdGVcIjtcbmltcG9ydCB7IGlzTnVsbE9yVW5kZWZpbmVkIH0gZnJvbSBcIi4uLy4uLy4uL3V0aWxzL3V0aWxzXCI7XG5pbXBvcnQgeyBUaHVtYm5haWxzSXRlbSB9IGZyb20gXCIuLi8uLi9tb2RlbHMvdGh1bWJuYWlscy1pdGVtXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBcInMtdGh1bWJuYWlsLWl0ZW1cIixcbiAgICB0ZW1wbGF0ZVVybDogXCIuL3RodW1ibmFpbC1pdGVtLmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmxzOiBbXCIuL3RodW1ibmFpbC1pdGVtLmNvbXBvbmVudC5zY3NzXCJdLFxufSlcbmV4cG9ydCBjbGFzcyBUaHVtYm5haWxJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpdGVtRGF0YTogVGh1bWJuYWlsc0l0ZW07XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpc0NoZWNrYWJsZSA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpc0NoZWNrZWQgPSBmYWxzZTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBjaGVja2VkID0gbmV3IEV2ZW50RW1pdHRlcjx7aXRlbTogVGh1bWJuYWlsc0l0ZW0sIGNoZWNrZWQ6IGJvb2xlYW59PigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIG9wZW5lZCA9IG5ldyBFdmVudEVtaXR0ZXI8VGh1bWJuYWlsc0l0ZW0+KCk7XG5cbiAgICBwdWJsaWMgY2hlY2tib3hGb3JtR3JvdXA6IEZvcm1Hcm91cDtcblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdmFsaWRhdGVJdGVtRGF0YSgpO1xuICAgICAgICB0aGlzLl9jcmVhdGVGb3JtR3JvdXAoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25DbGljaygpIHtcbiAgICAgICAgdGhpcy5vcGVuZWQuZW1pdCh0aGlzLml0ZW1EYXRhKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9jcmVhdGVGb3JtR3JvdXAoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2hlY2tib3hGb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHtcbiAgICAgICAgICAgIGNoZWNrYm94OiBuZXcgRm9ybUNvbnRyb2woeyBjaGVja2VkOiB0aGlzLmlzQ2hlY2tlZCB9KSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5jaGVja2JveEZvcm1Hcm91cC5nZXQoXCJjaGVja2JveFwiKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh2YWx1ZTogQ2hlY2tib3hTdGF0ZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jaGVja2VkLmVtaXQoeyBpdGVtOiB0aGlzLml0ZW1EYXRhLCBjaGVja2VkOiB2YWx1ZS5jaGVja2VkIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF92YWxpZGF0ZUl0ZW1EYXRhKCk6IHZvaWQge1xuICAgICAgICBpZiAoaXNOdWxsT3JVbmRlZmluZWQodGhpcy5pdGVtRGF0YSkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIml0ZW1EYXRhIGlzIHJlcXVpcmVkXCIpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGh1bWJuYWlsLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvdGh1bWJuYWlscy9jb21wb25lbnRzL3RodW1ibmFpbC1pdGVtL3RodW1ibmFpbC1pdGVtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBUXpELElBQWEsc0JBQXNCLEdBQW5DLE1BQWEsc0JBQXNCO0lBQW5DO1FBS1csZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFHbkIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUVoQix5QkFBb0IsR0FBRyxJQUFJLENBQUM7UUFHOUIsWUFBTyxHQUFHLElBQUksWUFBWSxFQUErQyxDQUFDO1FBRzFFLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBa0IsQ0FBQztJQW9DdkQsQ0FBQztJQWhDVSxRQUFRO1FBQ1gsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVNLE9BQU87UUFDVixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVNLGFBQWEsQ0FBQyxLQUFZO1FBQzdCLElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFO1lBQzNCLE9BQU87U0FDVjtRQUVELEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRU8sZ0JBQWdCO1FBQ3BCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLFNBQVMsQ0FBQztZQUNuQyxRQUFRLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ3pELENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQW9CLEVBQUUsRUFBRTtZQUNuRixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUN4RSxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxpQkFBaUI7UUFDckIsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDbEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1NBQzNDO0lBQ0wsQ0FBQztDQUNKLENBQUE7QUFsREc7SUFEQyxLQUFLLEVBQUU7d0RBQ3dCO0FBR2hDO0lBREMsS0FBSyxFQUFFOzJEQUNrQjtBQUcxQjtJQURDLEtBQUssRUFBRTt5REFDaUI7QUFFaEI7SUFBUixLQUFLLEVBQUU7b0VBQTZCO0FBR3JDO0lBREMsTUFBTSxFQUFFO3VEQUN3RTtBQUdqRjtJQURDLE1BQU0sRUFBRTtzREFDMEM7QUFoQjFDLHNCQUFzQjtJQUxsQyxTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsa0JBQWtCO1FBQzVCLGs5Q0FBOEM7O0tBRWpELENBQUM7R0FDVyxzQkFBc0IsQ0FvRGxDO1NBcERZLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuXG5pbXBvcnQgeyBDaGVja2JveFN0YXRlIH0gZnJvbSBcIi4uLy4uLy4uL2NoZWNrYm94L21vZGVscy9jaGVja2JveC1zdGF0ZVwiO1xuaW1wb3J0IHsgaXNOdWxsT3JVbmRlZmluZWQgfSBmcm9tIFwiLi4vLi4vLi4vdXRpbHMvdXRpbHNcIjtcbmltcG9ydCB7IFRodW1ibmFpbHNJdGVtIH0gZnJvbSBcIi4uLy4uL21vZGVscy90aHVtYm5haWxzLWl0ZW1cIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFwicy10aHVtYm5haWwtaXRlbVwiLFxuICAgIHRlbXBsYXRlVXJsOiBcIi4vdGh1bWJuYWlsLWl0ZW0uY29tcG9uZW50Lmh0bWxcIixcbiAgICBzdHlsZVVybHM6IFtcIi4vdGh1bWJuYWlsLWl0ZW0uY29tcG9uZW50LnNjc3NcIl0sXG59KVxuZXhwb3J0IGNsYXNzIFRodW1ibmFpbEl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGl0ZW1EYXRhOiBUaHVtYm5haWxzSXRlbTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGlzQ2hlY2thYmxlID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGlzQ2hlY2tlZCA9IGZhbHNlO1xuXG4gICAgQElucHV0KCkgY29tYmluZUNoZWNrYm94RXZlbnQgPSB0cnVlO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGNoZWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHsgaXRlbTogVGh1bWJuYWlsc0l0ZW0sIHNlbGVjdGVkOiBib29sZWFuIH0+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgb3BlbmVkID0gbmV3IEV2ZW50RW1pdHRlcjxUaHVtYm5haWxzSXRlbT4oKTtcblxuICAgIHB1YmxpYyBjaGVja2JveEZvcm1Hcm91cDogRm9ybUdyb3VwO1xuXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl92YWxpZGF0ZUl0ZW1EYXRhKCk7XG4gICAgICAgIHRoaXMuX2NyZWF0ZUZvcm1Hcm91cCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkNsaWNrKCkge1xuICAgICAgICB0aGlzLm9wZW5lZC5lbWl0KHRoaXMuaXRlbURhdGEpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjaGVja2JveENsaWNrKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jb21iaW5lQ2hlY2tib3hFdmVudCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY3JlYXRlRm9ybUdyb3VwKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNoZWNrYm94Rm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7XG4gICAgICAgICAgICBjaGVja2JveDogbmV3IEZvcm1Db250cm9sKHsgY2hlY2tlZDogdGhpcy5pc0NoZWNrZWQgfSksXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuY2hlY2tib3hGb3JtR3JvdXAuZ2V0KFwiY2hlY2tib3hcIikudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsdWU6IENoZWNrYm94U3RhdGUpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2hlY2tlZC5lbWl0KHsgaXRlbTogdGhpcy5pdGVtRGF0YSwgc2VsZWN0ZWQ6IHZhbHVlLmNoZWNrZWQgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3ZhbGlkYXRlSXRlbURhdGEoKTogdm9pZCB7XG4gICAgICAgIGlmIChpc051bGxPclVuZGVmaW5lZCh0aGlzLml0ZW1EYXRhKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiaXRlbURhdGEgaXMgcmVxdWlyZWRcIik7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -3,6 +3,7 @@ import { Component, EventEmitter, Input, Output } from "@angular/core";
3
3
  let ThumbnailsComponent = class ThumbnailsComponent {
4
4
  constructor() {
5
5
  this.selectable = true;
6
+ this.combineCheckboxEvent = true;
6
7
  this.selectionChange = new EventEmitter();
7
8
  this.itemOpened = new EventEmitter();
8
9
  this._selection = [];
@@ -13,12 +14,12 @@ let ThumbnailsComponent = class ThumbnailsComponent {
13
14
  onItemOpened(item) {
14
15
  this.itemOpened.emit(item);
15
16
  }
16
- onItemSelected(items) {
17
- if (items.selected) {
18
- this._selection.push(items.item);
17
+ onItemSelected(item) {
18
+ if (item.selected) {
19
+ this._selection.push(item.item);
19
20
  }
20
21
  else {
21
- this._selection.splice(this._selection.findIndex((item) => item === items.item), 1);
22
+ this._selection.splice(this._selection.findIndex((_item) => _item === item.item), 1);
22
23
  }
23
24
  this.selectionChange.emit(this._selection);
24
25
  }
@@ -32,6 +33,9 @@ __decorate([
32
33
  __decorate([
33
34
  Input()
34
35
  ], ThumbnailsComponent.prototype, "selectable", void 0);
36
+ __decorate([
37
+ Input()
38
+ ], ThumbnailsComponent.prototype, "combineCheckboxEvent", void 0);
35
39
  __decorate([
36
40
  Input()
37
41
  ], ThumbnailsComponent.prototype, "selection", null);
@@ -44,9 +48,9 @@ __decorate([
44
48
  ThumbnailsComponent = __decorate([
45
49
  Component({
46
50
  selector: "s-thumbnails",
47
- template: "<div class=\"thumbnails\">\n <s-thumbnail-item\n *ngFor=\"let item of items\"\n [itemData]=\"item\"\n [isCheckable]=\"selectable\"\n [isChecked]=\"isSelected(item)\"\n (checked)=\"onItemSelected($event)\"\n (opened)=\"onItemOpened($event)\">\n </s-thumbnail-item>\n</div>\n",
51
+ template: "<div class=\"thumbnails\">\n <s-thumbnail-item\n *ngFor=\"let item of items\"\n [combineCheckboxEvent]=\"combineCheckboxEvent\"\n [itemData]=\"item\"\n [isCheckable]=\"selectable\"\n [isChecked]=\"isSelected(item)\"\n (checked)=\"onItemSelected($event)\"\n (opened)=\"onItemOpened($event)\">\n </s-thumbnail-item>\n</div>\n",
48
52
  styles: [".thumbnails{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:12px}"]
49
53
  })
50
54
  ], ThumbnailsComponent);
51
55
  export { ThumbnailsComponent };
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGh1bWJuYWlscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy90aHVtYm5haWxzL3RodW1ibmFpbHMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBU3ZFLElBQWEsbUJBQW1CLEdBQWhDLE1BQWEsbUJBQW1CO0lBQWhDO1FBS1csZUFBVSxHQUFHLElBQUksQ0FBQztRQVFsQixvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFvQixDQUFDO1FBR3ZELGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBa0IsQ0FBQztRQUUvQyxlQUFVLEdBQXFCLEVBQUUsQ0FBQztJQXNCOUMsQ0FBQztJQWhDRyxJQUFXLFNBQVMsQ0FBQyxLQUF1QjtRQUN4QyxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBVU0sWUFBWSxDQUFDLElBQW9CO1FBQ3BDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFTSxjQUFjLENBQUMsS0FBa0Q7UUFDcEUsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFO1lBQ2hCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNwQzthQUFNO1lBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQ2xCLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssS0FBSyxDQUFDLElBQUksQ0FBQyxFQUN4RCxDQUFDLENBQ0osQ0FBQztTQUNMO1FBRUQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFTSxVQUFVLENBQUMsSUFBb0I7UUFDbEMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQWlCLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7Q0FDSixDQUFBO0FBdENHO0lBREMsS0FBSyxFQUFFO2tEQUN1QjtBQUcvQjtJQURDLEtBQUssRUFBRTt1REFDaUI7QUFHekI7SUFEQyxLQUFLLEVBQUU7b0RBR1A7QUFHRDtJQURDLE1BQU0sRUFBRTs0REFDcUQ7QUFHOUQ7SUFEQyxNQUFNLEVBQUU7dURBQzhDO0FBaEI5QyxtQkFBbUI7SUFML0IsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLGNBQWM7UUFDeEIsNlVBQTBDOztLQUU3QyxDQUFDO0dBQ1csbUJBQW1CLENBd0MvQjtTQXhDWSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbmltcG9ydCB7IFRodW1ibmFpbHNJdGVtIH0gZnJvbSBcIi4vbW9kZWxzL3RodW1ibmFpbHMtaXRlbVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogXCJzLXRodW1ibmFpbHNcIixcbiAgICB0ZW1wbGF0ZVVybDogXCIuL3RodW1ibmFpbHMuY29tcG9uZW50Lmh0bWxcIixcbiAgICBzdHlsZVVybHM6IFtcIi4vdGh1bWJuYWlscy5jb21wb25lbnQuc2Nzc1wiXSxcbn0pXG5leHBvcnQgY2xhc3MgVGh1bWJuYWlsc0NvbXBvbmVudCB7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaXRlbXM6IFRodW1ibmFpbHNJdGVtW107XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZWxlY3RhYmxlID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCBzZWxlY3Rpb24oaXRlbXM6IFRodW1ibmFpbHNJdGVtW10pIHtcbiAgICAgICAgdGhpcy5fc2VsZWN0aW9uID0gWy4uLml0ZW1zXTtcbiAgICB9XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgc2VsZWN0aW9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxUaHVtYm5haWxzSXRlbVtdPigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGl0ZW1PcGVuZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFRodW1ibmFpbHNJdGVtPigpO1xuXG4gICAgcHJpdmF0ZSBfc2VsZWN0aW9uOiBUaHVtYm5haWxzSXRlbVtdID0gW107XG5cbiAgICBwdWJsaWMgb25JdGVtT3BlbmVkKGl0ZW06IFRodW1ibmFpbHNJdGVtKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXRlbU9wZW5lZC5lbWl0KGl0ZW0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkl0ZW1TZWxlY3RlZChpdGVtczogeyBpdGVtOiBUaHVtYm5haWxzSXRlbTsgc2VsZWN0ZWQ6IGJvb2xlYW4gfSk6IHZvaWQge1xuICAgICAgICBpZiAoaXRlbXMuc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGlvbi5wdXNoKGl0ZW1zLml0ZW0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0aW9uLnNwbGljZShcbiAgICAgICAgICAgICAgICB0aGlzLl9zZWxlY3Rpb24uZmluZEluZGV4KChpdGVtKSA9PiBpdGVtID09PSBpdGVtcy5pdGVtKSxcbiAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2UuZW1pdCh0aGlzLl9zZWxlY3Rpb24pO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc1NlbGVjdGVkKGl0ZW06IFRodW1ibmFpbHNJdGVtKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3Rpb24uc29tZSgoaTogVGh1bWJuYWlsc0l0ZW0pID0+IGkuaWQgPT09IGl0ZW0uaWQpO1xuICAgIH1cbn1cbiJdfQ==
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGh1bWJuYWlscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy90aHVtYm5haWxzL3RodW1ibmFpbHMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBU3ZFLElBQWEsbUJBQW1CLEdBQWhDLE1BQWEsbUJBQW1CO0lBQWhDO1FBS1csZUFBVSxHQUFHLElBQUksQ0FBQztRQUVoQix5QkFBb0IsR0FBRyxJQUFJLENBQUM7UUFROUIsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBb0IsQ0FBQztRQUd2RCxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQWtCLENBQUM7UUFFL0MsZUFBVSxHQUFxQixFQUFFLENBQUM7SUFxQjlDLENBQUM7SUEvQkcsSUFBVyxTQUFTLENBQUMsS0FBdUI7UUFDeEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQVVNLFlBQVksQ0FBQyxJQUFvQjtRQUNwQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRU0sY0FBYyxDQUFDLElBQWlEO1FBQ25FLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNmLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNuQzthQUFNO1lBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQ2xCLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxFQUN6RCxDQUFDLENBQ0osQ0FBQztTQUNMO1FBQ0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFTSxVQUFVLENBQUMsSUFBb0I7UUFDbEMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQWlCLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7Q0FDSixDQUFBO0FBdkNHO0lBREMsS0FBSyxFQUFFO2tEQUN1QjtBQUcvQjtJQURDLEtBQUssRUFBRTt1REFDaUI7QUFFaEI7SUFBUixLQUFLLEVBQUU7aUVBQTZCO0FBR3JDO0lBREMsS0FBSyxFQUFFO29EQUdQO0FBR0Q7SUFEQyxNQUFNLEVBQUU7NERBQ3FEO0FBRzlEO0lBREMsTUFBTSxFQUFFO3VEQUM4QztBQWxCOUMsbUJBQW1CO0lBTC9CLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSxjQUFjO1FBQ3hCLHNZQUEwQzs7S0FFN0MsQ0FBQztHQUNXLG1CQUFtQixDQXlDL0I7U0F6Q1ksbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5pbXBvcnQgeyBUaHVtYm5haWxzSXRlbSB9IGZyb20gXCIuL21vZGVscy90aHVtYm5haWxzLWl0ZW1cIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFwicy10aHVtYm5haWxzXCIsXG4gICAgdGVtcGxhdGVVcmw6IFwiLi90aHVtYm5haWxzLmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmxzOiBbXCIuL3RodW1ibmFpbHMuY29tcG9uZW50LnNjc3NcIl0sXG59KVxuZXhwb3J0IGNsYXNzIFRodW1ibmFpbHNDb21wb25lbnQge1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGl0ZW1zOiBUaHVtYm5haWxzSXRlbVtdO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2VsZWN0YWJsZSA9IHRydWU7XG5cbiAgICBASW5wdXQoKSBjb21iaW5lQ2hlY2tib3hFdmVudCA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgc2VsZWN0aW9uKGl0ZW1zOiBUaHVtYm5haWxzSXRlbVtdKSB7XG4gICAgICAgIHRoaXMuX3NlbGVjdGlvbiA9IFsuLi5pdGVtc107XG4gICAgfVxuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHNlbGVjdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8VGh1bWJuYWlsc0l0ZW1bXT4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBpdGVtT3BlbmVkID0gbmV3IEV2ZW50RW1pdHRlcjxUaHVtYm5haWxzSXRlbT4oKTtcblxuICAgIHByaXZhdGUgX3NlbGVjdGlvbjogVGh1bWJuYWlsc0l0ZW1bXSA9IFtdO1xuXG4gICAgcHVibGljIG9uSXRlbU9wZW5lZChpdGVtOiBUaHVtYm5haWxzSXRlbSk6IHZvaWQge1xuICAgICAgICB0aGlzLml0ZW1PcGVuZWQuZW1pdChpdGVtKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25JdGVtU2VsZWN0ZWQoaXRlbTogeyBpdGVtOiBUaHVtYm5haWxzSXRlbTsgc2VsZWN0ZWQ6IGJvb2xlYW4gfSk6IHZvaWQge1xuICAgICAgICBpZiAoaXRlbS5zZWxlY3RlZCkge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0aW9uLnB1c2goaXRlbS5pdGVtKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGlvbi5zcGxpY2UoXG4gICAgICAgICAgICAgICAgdGhpcy5fc2VsZWN0aW9uLmZpbmRJbmRleCgoX2l0ZW0pID0+IF9pdGVtID09PSBpdGVtLml0ZW0pLFxuICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2UuZW1pdCh0aGlzLl9zZWxlY3Rpb24pO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc1NlbGVjdGVkKGl0ZW06IFRodW1ibmFpbHNJdGVtKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3Rpb24uc29tZSgoaTogVGh1bWJuYWlsc0l0ZW0pID0+IGkuaWQgPT09IGl0ZW0uaWQpO1xuICAgIH1cbn1cbiJdfQ==
@@ -135,6 +135,7 @@ var TableFrozenPositionDirective = /** @class */ (function () {
135
135
  console.warn("Unable to find frozen element from table. Is the table configured with frozen template?");
136
136
  return;
137
137
  }
138
+ frozenTable.style.width = 'min-content';
138
139
  frozenTable.style.order = "1";
139
140
  frozenTable.style.borderRight = "none";
140
141
  frozenTable.style.borderLeft = "1px solid #dddddd";
@@ -145,6 +146,7 @@ var TableFrozenPositionDirective = /** @class */ (function () {
145
146
  return;
146
147
  }
147
148
  unfrozenTable.style.position = "unset";
149
+ unfrozenTable.style.overflow = 'auto';
148
150
  };
149
151
  TableFrozenPositionDirective.prototype.handleWindowResize = function () {
150
152
  this.synchronizeRowHeight();
@@ -253,4 +255,4 @@ var TableFrozenPositionDirective = /** @class */ (function () {
253
255
  return TableFrozenPositionDirective;
254
256
  }());
255
257
  export { TableFrozenPositionDirective };
256
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvemVuLXBvc2l0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3RhYmxlL2Zyb3plbi1wb3NpdGlvbi9mcm96ZW4tcG9zaXRpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUgsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUt0QztJQXVCSSxzQ0FBb0IsRUFBYyxFQUFFLElBQVc7UUFBM0IsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQXJCbEMseUJBQW9CLEdBQUcsTUFBTSxDQUFDO1FBV3RCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBSS9CLHFCQUFnQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBSXhDLG1DQUE4QixHQUFHLDhCQUE4QixDQUFDO1FBRzdFLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLEdBQUcsMEJBQTBCLENBQUM7UUFDbkYsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFFeEIsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFFdEUsSUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTFELElBQU0saUJBQWlCLEdBQUcsUUFBUSxDQUFDLGFB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QUFqQixJQUFNLEVBQUUsZ0JBQUE7b0JBQ1QsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQU0sR0FBRyxPQUFJLENBQUM7aUJBQ2hDOzs7Ozs7Ozs7U0FDSjtJQUNMLENBQUM7SUFFTyxzREFBZSxHQUF2QixVQUF3QixNQUFhOzs7WUFDakMsS0FBb0IsSUFBQSxXQUFBLFNBQUEsTUFBTSxDQUFBLDhCQUFBLGtEQUFFO2dCQUF2QixJQUFNLEtBQUssbUJBQUE7O29CQUNaLEtBQWtCLElBQUEsb0JBQUEsU0FBQSxLQUFLLENBQUMsSUFBSSxDQUFBLENBQUEsZ0JBQUEsNEJBQUU7d0JBQXpCLElBQU0sR0FBRyxXQUFBO3dCQUNWLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQztxQkFDOUI7Ozs7Ozs7OzthQUNKOzs7Ozs7Ozs7SUFDTCxDQUFDOztnQkEzTXVCLFVBQVU7Z0JBQVEsS0FBSzs7SUFyQi9DO1FBREMsS0FBSyxFQUFFOzhFQUNzQjtJQUc5QjtRQURDLEtBQUssRUFBRTt5RUFNUDtJQVZRLDRCQUE0QjtRQUh4QyxTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUsd0JBQXdCO1NBQ3JDLENBQUM7T0FDVyw0QkFBNEIsQ0FtT3hDO0lBQUQsbUNBQUM7Q0FBQSxBQW5PRCxJQW1PQztTQW5PWSw0QkFBNEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlckNvbnRlbnRDaGVja2VkLCBBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBUYWJsZSB9IGZyb20gXCJwcmltZW5nL3RhYmxlXCI7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiBcIltzVGFibGVGcm96ZW5Qb3NpdGlvbl1cIlxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUZyb3plblBvc2l0aW9uRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBBZnRlckNvbnRlbnRDaGVja2VkIHtcbiAgICBASW5wdXQoKVxuICAgIHNUYWJsZUZyb3plblBvc2l0aW9uID0gXCJsZWZ0XCI7XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBzVGFibGVGcm96ZW5WYWx1ZShfOiBhbnlbXSkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc3luY2hyb25pemVSb3dIZWlnaHQoKTtcbiAgICAgICAgICAgIHRoaXMuc2V0VXBSb3dSZXNpemVNb25pdG9yaW5nKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgdGFibGU6IFRhYmxlO1xuICAgIHByaXZhdGUgaXNUYWJsZVZpc2libGUgPSBmYWxzZTtcblxuICAgIHRhYmxlSGVhZE9ic2VydmFibGU6IE11dGF0aW9uT2JzZXJ2ZXI7XG4gICAgcm93RXhwYW5kZWRPYnNlcnZlcjogYW55O1xuICAgIG9uQ29sdW1uc0NoYW5nZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgcHJpdmF0ZSB0YWJsZVdyYXBwZXJPYnNlcnZlcjogTXV0YXRpb25PYnNlcnZlcjtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgVEFCTEVfU0NST0xMQUJMRV9XUkFQUEVSX0NMQVNTID0gXCIudWktdGFibGUtc2Nyb2xsYWJsZS13cmFwcGVyXCI7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmLCBob3N0OiBUYWJsZSkge1xuICAgICAgICB0aGlzLnRhYmxlID0gaG9zdDtcbiAgICAgICAgdGhpcy50YWJsZS5zdHlsZUNsYXNzID0gKHRoaXMudGFibGUuc3R5bGVDbGFzcyB8fCBcIlwiKSArIFwiIHMtdGFibGUtZnJvemVuLXBvc2l0aW9uXCI7XG4gICAgICAgIHRoaXMuc2V0VXBUYWJsZUV2ZW50cygpO1xuXG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwicmVzaXplXCIsIHRoaXMuaGFuZGxlV2luZG93UmVzaXplLmJpbmQodGhpcykpO1xuXG4gICAgICAgIGNvbnN0IGh0bWxIZWFkID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCJoZWFkXCIpWzBdO1xuXG4gICAgICAgIGNvbnN0IGV4cGFuZEZyb3plblN0eWxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInN0eWxlXCIpO1xuICAgICAgICBleHBhbmRGcm96ZW5TdHlsZS5pbm5lckhUTUwgPSBcIi5zLXRhYmxlLWZyb3plbi1wb3NpdGlvbiAudWktdGFibGUtZnJvemVuLXZpZXcgLnNkcy1leHBhbmRlZC1yb3cgPiB0ZCB7IHZpc2liaWxpdHk6IGhpZGRlbjsgfVwiO1xuICAgICAgICBodG1sSGVhZC5hcHBlbmRDaGlsZChleHBhbmRGcm96ZW5TdHlsZSk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zVGFibGVGcm96ZW5Qb3NpdGlvbiA9PT0gXCJsZWZ0XCIpIHJldHVybjtcbiAgICAgICAgdGhpcy5hcHBseVN0eWxlc0ZvclRhYmxlKCk7XG4gICAgICAgIHRoaXMuc2V0VXBDb2x1bW5Nb25pdG9yaW5nKCk7XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaXNUYWJsZVZpc2libGUgJiYgISF0aGlzLnRhYmxlLmVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0UGFyZW50KSB7XG4gICAgICAgICAgICB0aGlzLmlzVGFibGVWaXNpYmxlID0gdHJ1ZTtcblxuICAgICAgICAgICAgdGhpcy5zeW5jaHJvbml6ZVJvd0hlaWdodCgpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXNUYWJsZVZpc2libGUgJiYgIXRoaXMudGFibGUuZWwubmF0aXZlRWxlbWVudC5vZmZzZXRQYXJlbnQpIHtcbiAgICAgICAgICAgIHRoaXMuaXNUYWJsZVZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCB0aGlzLmhhbmRsZVdpbmRvd1Jlc2l6ZS5iaW5kKHRoaXMpKTtcbiAgICAgICAgaWYgKHRoaXMudGFibGVIZWFkT2JzZXJ2YWJsZSkge1xuICAgICAgICAgICAgdGhpcy50YWJsZUhlYWRPYnNlcnZhYmxlLmRpc2Nvbm5lY3QoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnJvd0V4cGFuZGVkT2JzZXJ2ZXIpIHtcbiAgICAgICAgICAgIHRoaXMucm93RXhwYW5kZWRPYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy50YWJsZVdyYXBwZXJPYnNlcnZlcikge1xuICAgICAgICAgICAgdGhpcy50YWJsZVdyYXBwZXJPYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFVwVGFibGVFdmVudHMoKSB7XG4gICAgICAgIHRoaXMudGFibGUub25Db2xSZXNpemUuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlQ29sUmVzaXplKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMudGFibGUub25Sb3dFeHBhbmQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2V0VXBSb3dSZXNpemVNb25pdG9yaW5nKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0VXBSb3dSZXNpemVNb25pdG9yaW5nKCkge1xuICAgICAgICBpZiAodGhpcy5yb3dFeHBhbmRlZE9ic2VydmVyKSB7XG4gICAgICAgICAgICB0aGlzLnJvd0V4cGFuZGVkT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVGhlIHZlcnNpb24gb2YgQW5ndWxhci9UeXBlc2NyaXB0IGRvZXMgbm90IHJlY29nbml6ZSB0aGUgb2JqZWN0IFJlc2l6ZU9ic2VydmVyIGFuZCBicmVha3MgYnVpbGRcbiAgICAgICAgdGhpcy5yb3dFeHBhbmRlZE9ic2VydmVyID0gbmV3ICh3aW5kb3cgYXMgYW55KS5SZXNpemVPYnNlcnZlcigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmFwcGx5SGVpZ2h0Rm9yRXhwYW5kZWRSb3dzKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdGRzVG9BZGp1c3QgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbChcIi51aS10YWJsZS1mcm96ZW4tdmlldyAuc2RzLWV4cGFuZGVkLXJvdyA+IHRkXCIpO1xuICAgICAgICAgICAgY29uc3Qgb3JpZ2luYWxzVGRzID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXCIudWktdGFibGUtdW5mcm96ZW4tdmlldyAuc2RzLWV4cGFuZGVkLXJvdyA+IHRkXCIpO1xuICAgICAgICAgICAgdGRzVG9BZGp1c3QuZm9yRWFjaCgodGQ6IEhUTUxFbGVtZW50LCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb3JpZ2luYWxUZDogSFRNTEVsZW1lbnQgPSBvcmlnaW5hbHNUZHNbaW5kZXhdO1xuICAgICAgICAgICAgICAgIHRkLmlubmVySFRNTCA9IG51bGw7XG4gICAgICAgICAgICAgICAgdGQuc3R5bGUucGFkZGluZyA9IFwiMHB4XCI7XG5cbiAgICAgICAgICAgICAgICB0aGlzLnJvd0V4cGFuZGVkT2JzZXJ2ZXIub2JzZXJ2ZShvcmlnaW5hbFRkKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFVwQ29sdW1uTW9uaXRvcmluZygpIHtcbiAgICAgICAgdGhpcy50YWJsZUhlYWRPYnNlcnZhYmxlID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zeW5jaHJvbml6ZVJvd0hlaWdodCgpO1xuICAgICAgICAgICAgdGhpcy5vbkNvbHVtbnNDaGFuZ2VkLmVtaXQobnVsbCk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCB0YWJsZUhlYWRzID0gWy4uLnRoaXMuZWwubmF0aXZlRWxlbWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShcInRoZWFkXCIpXTtcbiAgICAgICAgdGFibGVIZWFkcy5mb3JFYWNoKCh0YWJsZUhlYWQ6IEVsZW1lbnQpID0+IHtcbiAgICAgICAgICAgIHRoaXMudGFibGVIZWFkT2JzZXJ2YWJsZS5vYnNlcnZlKHRhYmxlSGVhZCwge1xuICAgICAgICAgICAgICAgIHN1YnRyZWU6IHRydWUsXG4gICAgICAgICAgICAgICAgY2hpbGRMaXN0OiB0cnVlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgdGFibGVXcmFwZXIgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3Rvcih0aGlzLlRBQkxFX1NDUk9MTEFCTEVfV1JBUFBFUl9DTEFTUyk7XG4gICAgICAgIGlmICh0YWJsZVdyYXBlcikge1xuICAgICAgICAgICAgY29uc3QgbXV0YXRpb25PYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnN5bmNocm9uaXplUm93SGVpZ2h0KCk7XG4gICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICBtdXRhdGlvbk9ic2VydmVyLm9ic2VydmUodGFibGVXcmFwZXIsIHtcbiAgICAgICAgICAgICAgICBzdWJ0cmVlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGNoaWxkTGlzdDogdHJ1ZVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIHRoaXMudGFibGVXcmFwcGVyT2JzZXJ2ZXIgPSBtdXRhdGlvbk9ic2VydmVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhcHBseUhlaWdodEZvckV4cGFuZGVkUm93cygpIHtcbiAgICAgICAgY29uc3QgZnJvemVuVERzVG9BZGp1c3QgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbChcIi51aS10YWJsZS1mcm96ZW4tdmlldyAuc2RzLWV4cGFuZGVkLXJvdyA+IHRkXCIpO1xuICAgICAgICBjb25zdCB1bkZyb3plblREcyA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKFwiLnVpLXRhYmxlLXVuZnJvemVuLXZpZXcgLnNkcy1leHBhbmRlZC1yb3cgPiB0ZFwiKTtcbiAgICAgICAgZnJvemVuVERzVG9BZGp1c3QuZm9yRWFjaCgoZnJvemVuVGQ6IEhUTUxFbGVtZW50LCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB1bmZyb3plblREOiBIVE1MRWxlbWVudCA9IHVuRnJvemVuVERzW2luZGV4XTtcbiAgICAgICAgICAgIGNvbnN0IHVuZnJvemVuSGVpZ2h0ID0gdW5mcm96ZW5URC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQ7XG4gICAgICAgICAgICBjb25zdCBmcm96ZW5IZWlnaHQgPSBmcm96ZW5UZC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQ7XG5cbiAgICAgICAgICAgIGlmIChNYXRoLmFicyh1bmZyb3plbkhlaWdodCAtIGZyb3plbkhlaWdodCkgPiAxKSB7XG4gICAgICAgICAgICAgICAgZnJvemVuVGQuc3R5bGUuaGVpZ2h0ID0gYCR7dW5mcm96ZW5IZWlnaHR9cHhgO1xuICAgICAgICAgICAgICAgIGZyb3plblRkLmlubmVySFRNTCA9IG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXBwbHlTdHlsZXNGb3JUYWJsZSgpIHtcbiAgICAgICAgY29uc3Qgc2Nyb2xsV3JhcHBlciA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKHRoaXMuVEFCTEVfU0NST0xMQUJMRV9XUkFQUEVSX0NMQVNTKTtcbiAgICAgICAgaWYgKCFzY3JvbGxXcmFwcGVyKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oXCJVbmFibGUgdG8gZmluZCBzY3JvbGwtd3JhcHBlciBlbGVtZW50IGZyb20gdGFibGUuIElzIHRoZSB0YWJsZSBjb25maWd1cmVkIHdpdGggZnJvemVuIHRlbXBsYXRlP1wiKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBzY3JvbGxXcmFwcGVyLnN0eWxlLmRpc3BsYXkgPSBcImZsZXhcIjtcbiAgICAgICAgc2Nyb2xsV3JhcHBlci5zdHlsZS5mbGV4RGlyZWN0aW9uID0gXCJyb3dcIjtcblxuICAgICAgICBjb25zdCBmcm96ZW5UYWJsZSA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFwiLnVpLXRhYmxlLWZyb3plbi12aWV3XCIpO1xuICAgICAgICBpZiAoIWZyb3plblRhYmxlKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oXCJVbmFibGUgdG8gZmluZCBmcm96ZW4gZWxlbWVudCBmcm9tIHRhYmxlLiBJcyB0aGUgdGFibGUgY29uZmlndXJlZCB3aXRoIGZyb3plbiB0ZW1wbGF0ZT9cIik7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgZnJvemVuVGFibGUuc3R5bGUub3JkZXIgPSBcIjFcIjtcbiAgICAgICAgZnJvemVuVGFibGUuc3R5bGUuYm9yZGVyUmlnaHQgPSBcIm5vbmVcIjtcbiAgICAgICAgZnJvemVuVGFibGUuc3R5bGUuYm9yZGVyTGVmdCA9IFwiMXB4IHNvbGlkICNkZGRkZGRcIjtcbiAgICAgICAgZnJvemVuVGFibGUuc3R5bGUuYm94U2hhZG93ID0gXCItNXB4IDAgNXB4IC01cHggI2NjY2NjY1wiO1xuXG4gICAgICAgIGNvbnN0IHVuZnJvemVuVGFibGUgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihcIi51aS10YWJsZS11bmZyb3plbi12aWV3XCIpO1xuICAgICAgICBpZiAoIXVuZnJvemVuVGFibGUpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihcIlVuYWJsZSB0byBmaW5kIHVuZnJvemVuIGVsZW1lbnQgZnJvbSB0YWJsZS4gSXMgdGhlIHRhYmxlIGNvbmZpZ3VyZWQgd2l0aCBmcm96ZW4gdGVtcGxhdGU/XCIpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHVuZnJvemVuVGFibGUuc3R5bGUucG9zaXRpb24gPSBcInVuc2V0XCI7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVXaW5kb3dSZXNpemUoKSB7XG4gICAgICAgIHRoaXMuc3luY2hyb25pemVSb3dIZWlnaHQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZUNvbFJlc2l6ZSgpIHtcbiAgICAgICAgdGhpcy5zeW5jaHJvbml6ZVJvd0hlaWdodCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3luY2hyb25pemVSb3dIZWlnaHQoKSB7XG4gICAgICAgIGNvbnN0IHRhYmxlQm9keVdyYXBwZXJzID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoXCJ1aS10YWJsZS1zY3JvbGxhYmxlLWJvZHlcIik7XG4gICAgICAgIGNvbnN0IHRhYmxlQm9kaWVzID0gWy4uLnRhYmxlQm9keVdyYXBwZXJzXS5tYXAoZGl2V3JhcHBlciA9PiBbLi4uZGl2V3JhcHBlci5jaGlsZE5vZGVzXS5maW5kKHAgPT4gcC50YWdOYW1lID09PSBcIlRBQkxFXCIpKTtcbiAgICAgICAgdGhpcy5fcmVzZXRSb3dIZWlnaHQodGFibGVCb2RpZXMpO1xuICAgICAgICB0aGlzLl9hcHBseU1heFJvd0hlaWdodCh0YWJsZUJvZGllcyk7XG5cbiAgICAgICAgY29uc3QgdGFibGVIZWFkV3JhcHBlcnMgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShcInVpLXRhYmxlLXNjcm9sbGFibGUtaGVhZGVyLWJveFwiKTtcbiAgICAgICAgY29uc3QgdGFibGVIZWFkcyA9IFsuLi50YWJsZUhlYWRXcmFwcGVyc10ubWFwKGRpdldyYXBwZXIgPT4gWy4uLmRpdldyYXBwZXIuY2hpbGROb2Rlc10uZmluZChwID0+IHAudGFnTmFtZSA9PT0gXCJUQUJMRVwiKSk7XG4gICAgICAgIHRoaXMuX3Jlc2V0Um93SGVpZ2h0KHRhYmxlSGVhZHMpO1xuICAgICAgICB0aGlzLl9hcHBseU1heFJvd0hlaWdodCh0YWJsZUhlYWRzKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9hcHBseU1heFJvd0hlaWdodCh0YWJsZXM6IGFueVtdKSB7XG4gICAgICAgIGlmICghdGFibGVzIHx8ICF0YWJsZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBsZW5ndGhzID0gdGFibGVzLm1hcCh0YWJsZSA9PiB0YWJsZS5yb3dzLmxlbmd0aCk7XG4gICAgICAgIGNvbnN0IG1heExlbmd0aCA9IGxlbmd0aHMucmVkdWNlKChhY2N1bXVsYXRvciwgY3VycmVudFZhbHVlKSA9PiBNYXRoLm1heChhY2N1bXVsYXRvciwgY3VycmVudFZhbHVlKSwgbGVuZ3Roc1swXSk7XG4gICAgICAgIGNvbnN0IG1pbkxlbmd0aCA9IGxlbmd0aHMucmVkdWNlKChhY2N1bXVsYXRvciwgY3VycmVudFZhbHVlKSA9PiBNYXRoLm1pbihhY2N1bXVsYXRvciwgY3VycmVudFZhbHVlKSwgbGVuZ3Roc1swXSk7XG5cbiAgICAgICAgaWYgKG1heExlbmd0aCAhPT0gbWluTGVuZ3RoKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJUaGUgbnVtYmVyIG9mIHJvd3MgaW4gYm90aCB0YWJsZXMgbXVzdCBiZSB0aGUgc2FtZVwiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHRhYmxlID0gdGFibGVzWzBdO1xuXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGFibGUucm93cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgdHJzID0gW107XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHRhYmxlIG9mIHRhYmxlcykge1xuICAgICAgICAgICAgICAgIHRycy5wdXNoKHRhYmxlLnJvd3NbaV0gYXMgSFRNTFRhYmxlUm93RWxlbWVudCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IG1heCA9IHRycy5yZWR1Y2UoKGFjY3VtdWxhdG9yLCBjdXJyZW50VmFsdWUpID0+XG4gICAgICAgICAgICAgICAgTWF0aC5tYXgoYWNjdW11bGF0b3IsIGN1cnJlbnRWYWx1ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQpLCB0cnNbMF0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0KTtcblxuICAgICAgICAgICAgZm9yIChjb25zdCB0ciBvZiB0cnMpIHtcbiAgICAgICAgICAgICAgICB0ci5zdHlsZS5oZWlnaHQgPSBgJHttYXh9cHhgO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfcmVzZXRSb3dIZWlnaHQodGFibGVzOiBhbnlbXSkge1xuICAgICAgICBmb3IgKGNvbnN0IHRhYmxlIG9mIHRhYmxlcykge1xuICAgICAgICAgICAgZm9yIChjb25zdCByb3cgb2YgdGFibGUucm93cykge1xuICAgICAgICAgICAgICAgIHJvdy5zdHlsZS5oZWlnaHQgPSBcInVuc2V0XCI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
258
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvemVuLXBvc2l0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3RhYmxlL2Zyb3plbi1wb3NpdGlvbi9mcm96ZW4tcG9zaXRpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUgsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUt0QztJQXVCSSxzQ0FBb0IsRUFBYyxFQUFFLElBQVc7UUFBM0IsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQXJCbEMseUJBQW9CLEdBQUcsTUFBTSxDQUFDO1FBV3RCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBSS9CLHFCQUFnQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBSXhDLG1DQUE4QixHQUFHLDhCQUE4QixDQUFDO1FBRzdFLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLEdBQUcsMEJBQTBCLENBQUM7UUFDbkYsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFFeEIsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFFdEUsSUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTFELElBQU0saUJBQWlCLEdBQUcsUUFBUSxDQUFDLGFB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LHFCQUFxQixFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7O2dCQUUvRyxLQUFpQixJQUFBLHVCQUFBLFNBQUEsR0FBRyxDQUFBLENBQUEsd0JBQUEseUNBQUU7b0JBQWpCLElBQU0sRUFBRSxnQkFBQTtvQkFDVCxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBTSxHQUFHLE9BQUksQ0FBQztpQkFDaEM7Ozs7Ozs7OztTQUNKO0lBQ0wsQ0FBQztJQUVPLHNEQUFlLEdBQXZCLFVBQXdCLE1BQWE7OztZQUNqQyxLQUFvQixJQUFBLFdBQUEsU0FBQSxNQUFNLENBQUEsOEJBQUEsa0RBQUU7Z0JBQXZCLElBQU0sS0FBSyxtQkFBQTs7b0JBQ1osS0FBa0IsSUFBQSxvQkFBQSxTQUFBLEtBQUssQ0FBQyxJQUFJLENBQUEsQ0FBQSxnQkFBQSw0QkFBRTt3QkFBekIsSUFBTSxHQUFHLFdBQUE7d0JBQ1YsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDO3FCQUM5Qjs7Ozs7Ozs7O2FBQ0o7Ozs7Ozs7OztJQUNMLENBQUM7O2dCQTdNdUIsVUFBVTtnQkFBUSxLQUFLOztJQXJCL0M7UUFEQyxLQUFLLEVBQUU7OEVBQ3NCO0lBRzlCO1FBREMsS0FBSyxFQUFFO3lFQU1QO0lBVlEsNEJBQTRCO1FBSHhDLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSx3QkFBd0I7U0FDckMsQ0FBQztPQUNXLDRCQUE0QixDQXFPeEM7SUFBRCxtQ0FBQztDQUFBLEFBck9ELElBcU9DO1NBck9ZLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyQ29udGVudENoZWNrZWQsIEFmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFRhYmxlIH0gZnJvbSBcInByaW1lbmcvdGFibGVcIjtcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6IFwiW3NUYWJsZUZyb3plblBvc2l0aW9uXVwiXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlRnJvemVuUG9zaXRpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIEFmdGVyQ29udGVudENoZWNrZWQge1xuICAgIEBJbnB1dCgpXG4gICAgc1RhYmxlRnJvemVuUG9zaXRpb24gPSBcImxlZnRcIjtcblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IHNUYWJsZUZyb3plblZhbHVlKF86IGFueVtdKSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zeW5jaHJvbml6ZVJvd0hlaWdodCgpO1xuICAgICAgICAgICAgdGhpcy5zZXRVcFJvd1Jlc2l6ZU1vbml0b3JpbmcoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB0YWJsZTogVGFibGU7XG4gICAgcHJpdmF0ZSBpc1RhYmxlVmlzaWJsZSA9IGZhbHNlO1xuXG4gICAgdGFibGVIZWFkT2JzZXJ2YWJsZTogTXV0YXRpb25PYnNlcnZlcjtcbiAgICByb3dFeHBhbmRlZE9ic2VydmVyOiBhbnk7XG4gICAgb25Db2x1bW5zQ2hhbmdlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBwcml2YXRlIHRhYmxlV3JhcHBlck9ic2VydmVyOiBNdXRhdGlvbk9ic2VydmVyO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBUQUJMRV9TQ1JPTExBQkxFX1dSQVBQRVJfQ0xBU1MgPSBcIi51aS10YWJsZS1zY3JvbGxhYmxlLXdyYXBwZXJcIjtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsIGhvc3Q6IFRhYmxlKSB7XG4gICAgICAgIHRoaXMudGFibGUgPSBob3N0O1xuICAgICAgICB0aGlzLnRhYmxlLnN0eWxlQ2xhc3MgPSAodGhpcy50YWJsZS5zdHlsZUNsYXNzIHx8IFwiXCIpICsgXCIgcy10YWJsZS1mcm96ZW4tcG9zaXRpb25cIjtcbiAgICAgICAgdGhpcy5zZXRVcFRhYmxlRXZlbnRzKCk7XG5cbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgdGhpcy5oYW5kbGVXaW5kb3dSZXNpemUuYmluZCh0aGlzKSk7XG5cbiAgICAgICAgY29uc3QgaHRtbEhlYWQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShcImhlYWRcIilbMF07XG5cbiAgICAgICAgY29uc3QgZXhwYW5kRnJvemVuU3R5bGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic3R5bGVcIik7XG4gICAgICAgIGV4cGFuZEZyb3plblN0eWxlLmlubmVySFRNTCA9IFwiLnMtdGFibGUtZnJvemVuLXBvc2l0aW9uIC51aS10YWJsZS1mcm96ZW4tdmlldyAuc2RzLWV4cGFuZGVkLXJvdyA+IHRkIHsgdmlzaWJpbGl0eTogaGlkZGVuOyB9XCI7XG4gICAgICAgIGh0bWxIZWFkLmFwcGVuZENoaWxkKGV4cGFuZEZyb3plblN0eWxlKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnNUYWJsZUZyb3plblBvc2l0aW9uID09PSBcImxlZnRcIikgcmV0dXJuO1xuICAgICAgICB0aGlzLmFwcGx5U3R5bGVzRm9yVGFibGUoKTtcbiAgICAgICAgdGhpcy5zZXRVcENvbHVtbk1vbml0b3JpbmcoKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5pc1RhYmxlVmlzaWJsZSAmJiAhIXRoaXMudGFibGUuZWwubmF0aXZlRWxlbWVudC5vZmZzZXRQYXJlbnQpIHtcbiAgICAgICAgICAgIHRoaXMuaXNUYWJsZVZpc2libGUgPSB0cnVlO1xuXG4gICAgICAgICAgICB0aGlzLnN5bmNocm9uaXplUm93SGVpZ2h0KCk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5pc1RhYmxlVmlzaWJsZSAmJiAhdGhpcy50YWJsZS5lbC5uYXRpdmVFbGVtZW50Lm9mZnNldFBhcmVudCkge1xuICAgICAgICAgICAgdGhpcy5pc1RhYmxlVmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwicmVzaXplXCIsIHRoaXMuaGFuZGxlV2luZG93UmVzaXplLmJpbmQodGhpcykpO1xuICAgICAgICBpZiAodGhpcy50YWJsZUhlYWRPYnNlcnZhYmxlKSB7XG4gICAgICAgICAgICB0aGlzLnRhYmxlSGVhZE9ic2VydmFibGUuZGlzY29ubmVjdCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMucm93RXhwYW5kZWRPYnNlcnZlcikge1xuICAgICAgICAgICAgdGhpcy5yb3dFeHBhbmRlZE9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnRhYmxlV3JhcHBlck9ic2VydmVyKSB7XG4gICAgICAgICAgICB0aGlzLnRhYmxlV3JhcHBlck9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2V0VXBUYWJsZUV2ZW50cygpIHtcbiAgICAgICAgdGhpcy50YWJsZS5vbkNvbFJlc2l6ZS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVDb2xSZXNpemUoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy50YWJsZS5vblJvd0V4cGFuZC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZXRVcFJvd1Jlc2l6ZU1vbml0b3JpbmcoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRVcFJvd1Jlc2l6ZU1vbml0b3JpbmcoKSB7XG4gICAgICAgIGlmICh0aGlzLnJvd0V4cGFuZGVkT2JzZXJ2ZXIpIHtcbiAgICAgICAgICAgIHRoaXMucm93RXhwYW5kZWRPYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUaGUgdmVyc2lvbiBvZiBBbmd1bGFyL1R5cGVzY3JpcHQgZG9lcyBub3QgcmVjb2duaXplIHRoZSBvYmplY3QgUmVzaXplT2JzZXJ2ZXIgYW5kIGJyZWFrcyBidWlsZFxuICAgICAgICB0aGlzLnJvd0V4cGFuZGVkT2JzZXJ2ZXIgPSBuZXcgKHdpbmRvdyBhcyBhbnkpLlJlc2l6ZU9ic2VydmVyKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuYXBwbHlIZWlnaHRGb3JFeHBhbmRlZFJvd3MoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB0ZHNUb0FkanVzdCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKFwiLnVpLXRhYmxlLWZyb3plbi12aWV3IC5zZHMtZXhwYW5kZWQtcm93ID4gdGRcIik7XG4gICAgICAgICAgICBjb25zdCBvcmlnaW5hbHNUZHMgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbChcIi51aS10YWJsZS11bmZyb3plbi12aWV3IC5zZHMtZXhwYW5kZWQtcm93ID4gdGRcIik7XG4gICAgICAgICAgICB0ZHNUb0FkanVzdC5mb3JFYWNoKCh0ZDogSFRNTEVsZW1lbnQsIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvcmlnaW5hbFRkOiBIVE1MRWxlbWVudCA9IG9yaWdpbmFsc1Rkc1tpbmRleF07XG4gICAgICAgICAgICAgICAgdGQuaW5uZXJIVE1MID0gbnVsbDtcbiAgICAgICAgICAgICAgICB0ZC5zdHlsZS5wYWRkaW5nID0gXCIwcHhcIjtcblxuICAgICAgICAgICAgICAgIHRoaXMucm93RXhwYW5kZWRPYnNlcnZlci5vYnNlcnZlKG9yaWdpbmFsVGQpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0VXBDb2x1bW5Nb25pdG9yaW5nKCkge1xuICAgICAgICB0aGlzLnRhYmxlSGVhZE9ic2VydmFibGUgPSBuZXcgTXV0YXRpb25PYnNlcnZlcigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnN5bmNocm9uaXplUm93SGVpZ2h0KCk7XG4gICAgICAgICAgICB0aGlzLm9uQ29sdW1uc0NoYW5nZWQuZW1pdChudWxsKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IHRhYmxlSGVhZHMgPSBbLi4udGhpcy5lbC5uYXRpdmVFbGVtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKFwidGhlYWRcIildO1xuICAgICAgICB0YWJsZUhlYWRzLmZvckVhY2goKHRhYmxlSGVhZDogRWxlbWVudCkgPT4ge1xuICAgICAgICAgICAgdGhpcy50YWJsZUhlYWRPYnNlcnZhYmxlLm9ic2VydmUodGFibGVIZWFkLCB7XG4gICAgICAgICAgICAgICAgc3VidHJlZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBjaGlsZExpc3Q6IHRydWVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCB0YWJsZVdyYXBlciA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKHRoaXMuVEFCTEVfU0NST0xMQUJMRV9XUkFQUEVSX0NMQVNTKTtcbiAgICAgICAgaWYgKHRhYmxlV3JhcGVyKSB7XG4gICAgICAgICAgICBjb25zdCBtdXRhdGlvbk9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc3luY2hyb25pemVSb3dIZWlnaHQoKTtcbiAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgIG11dGF0aW9uT2JzZXJ2ZXIub2JzZXJ2ZSh0YWJsZVdyYXBlciwge1xuICAgICAgICAgICAgICAgIHN1YnRyZWU6IHRydWUsXG4gICAgICAgICAgICAgICAgY2hpbGRMaXN0OiB0cnVlXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgdGhpcy50YWJsZVdyYXBwZXJPYnNlcnZlciA9IG11dGF0aW9uT2JzZXJ2ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGFwcGx5SGVpZ2h0Rm9yRXhwYW5kZWRSb3dzKCkge1xuICAgICAgICBjb25zdCBmcm96ZW5URHNUb0FkanVzdCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKFwiLnVpLXRhYmxlLWZyb3plbi12aWV3IC5zZHMtZXhwYW5kZWQtcm93ID4gdGRcIik7XG4gICAgICAgIGNvbnN0IHVuRnJvemVuVERzID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXCIudWktdGFibGUtdW5mcm96ZW4tdmlldyAuc2RzLWV4cGFuZGVkLXJvdyA+IHRkXCIpO1xuICAgICAgICBmcm96ZW5URHNUb0FkanVzdC5mb3JFYWNoKChmcm96ZW5UZDogSFRNTEVsZW1lbnQsIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHVuZnJvemVuVEQ6IEhUTUxFbGVtZW50ID0gdW5Gcm96ZW5URHNbaW5kZXhdO1xuICAgICAgICAgICAgY29uc3QgdW5mcm96ZW5IZWlnaHQgPSB1bmZyb3plblRELmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodDtcbiAgICAgICAgICAgIGNvbnN0IGZyb3plbkhlaWdodCA9IGZyb3plblRkLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodDtcblxuICAgICAgICAgICAgaWYgKE1hdGguYWJzKHVuZnJvemVuSGVpZ2h0IC0gZnJvemVuSGVpZ2h0KSA+IDEpIHtcbiAgICAgICAgICAgICAgICBmcm96ZW5UZC5zdHlsZS5oZWlnaHQgPSBgJHt1bmZyb3plbkhlaWdodH1weGA7XG4gICAgICAgICAgICAgICAgZnJvemVuVGQuaW5uZXJIVE1MID0gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhcHBseVN0eWxlc0ZvclRhYmxlKCkge1xuICAgICAgICBjb25zdCBzY3JvbGxXcmFwcGVyID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IodGhpcy5UQUJMRV9TQ1JPTExBQkxFX1dSQVBQRVJfQ0xBU1MpO1xuICAgICAgICBpZiAoIXNjcm9sbFdyYXBwZXIpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihcIlVuYWJsZSB0byBmaW5kIHNjcm9sbC13cmFwcGVyIGVsZW1lbnQgZnJvbSB0YWJsZS4gSXMgdGhlIHRhYmxlIGNvbmZpZ3VyZWQgd2l0aCBmcm96ZW4gdGVtcGxhdGU/XCIpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHNjcm9sbFdyYXBwZXIuc3R5bGUuZGlzcGxheSA9IFwiZmxleFwiO1xuICAgICAgICBzY3JvbGxXcmFwcGVyLnN0eWxlLmZsZXhEaXJlY3Rpb24gPSBcInJvd1wiO1xuXG4gICAgICAgIGNvbnN0IGZyb3plblRhYmxlID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXCIudWktdGFibGUtZnJvemVuLXZpZXdcIik7XG4gICAgICAgIGlmICghZnJvemVuVGFibGUpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihcIlVuYWJsZSB0byBmaW5kIGZyb3plbiBlbGVtZW50IGZyb20gdGFibGUuIElzIHRoZSB0YWJsZSBjb25maWd1cmVkIHdpdGggZnJvemVuIHRlbXBsYXRlP1wiKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBmcm96ZW5UYWJsZS5zdHlsZS53aWR0aCA9ICdtaW4tY29udGVudCc7XG4gICAgICAgIGZyb3plblRhYmxlLnN0eWxlLm9yZGVyID0gXCIxXCI7XG4gICAgICAgIGZyb3plblRhYmxlLnN0eWxlLmJvcmRlclJpZ2h0ID0gXCJub25lXCI7XG4gICAgICAgIGZyb3plblRhYmxlLnN0eWxlLmJvcmRlckxlZnQgPSBcIjFweCBzb2xpZCAjZGRkZGRkXCI7XG4gICAgICAgIGZyb3plblRhYmxlLnN0eWxlLmJveFNoYWRvdyA9IFwiLTVweCAwIDVweCAtNXB4ICNjY2NjY2NcIjtcblxuICAgICAgICBjb25zdCB1bmZyb3plblRhYmxlID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXCIudWktdGFibGUtdW5mcm96ZW4tdmlld1wiKTtcbiAgICAgICAgaWYgKCF1bmZyb3plblRhYmxlKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oXCJVbmFibGUgdG8gZmluZCB1bmZyb3plbiBlbGVtZW50IGZyb20gdGFibGUuIElzIHRoZSB0YWJsZSBjb25maWd1cmVkIHdpdGggZnJvemVuIHRlbXBsYXRlP1wiKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB1bmZyb3plblRhYmxlLnN0eWxlLnBvc2l0aW9uID0gXCJ1bnNldFwiO1xuICAgICAgICB1bmZyb3plblRhYmxlLnN0eWxlLm92ZXJmbG93ID0gJ2F1dG8nO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlV2luZG93UmVzaXplKCkge1xuICAgICAgICB0aGlzLnN5bmNocm9uaXplUm93SGVpZ2h0KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVDb2xSZXNpemUoKSB7XG4gICAgICAgIHRoaXMuc3luY2hyb25pemVSb3dIZWlnaHQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN5bmNocm9uaXplUm93SGVpZ2h0KCkge1xuICAgICAgICBjb25zdCB0YWJsZUJvZHlXcmFwcGVycyA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKFwidWktdGFibGUtc2Nyb2xsYWJsZS1ib2R5XCIpO1xuICAgICAgICBjb25zdCB0YWJsZUJvZGllcyA9IFsuLi50YWJsZUJvZHlXcmFwcGVyc10ubWFwKGRpdldyYXBwZXIgPT4gWy4uLmRpdldyYXBwZXIuY2hpbGROb2Rlc10uZmluZChwID0+IHAudGFnTmFtZSA9PT0gXCJUQUJMRVwiKSk7XG4gICAgICAgIHRoaXMuX3Jlc2V0Um93SGVpZ2h0KHRhYmxlQm9kaWVzKTtcbiAgICAgICAgdGhpcy5fYXBwbHlNYXhSb3dIZWlnaHQodGFibGVCb2RpZXMpO1xuXG4gICAgICAgIGNvbnN0IHRhYmxlSGVhZFdyYXBwZXJzID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoXCJ1aS10YWJsZS1zY3JvbGxhYmxlLWhlYWRlci1ib3hcIik7XG4gICAgICAgIGNvbnN0IHRhYmxlSGVhZHMgPSBbLi4udGFibGVIZWFkV3JhcHBlcnNdLm1hcChkaXZXcmFwcGVyID0+IFsuLi5kaXZXcmFwcGVyLmNoaWxkTm9kZXNdLmZpbmQocCA9PiBwLnRhZ05hbWUgPT09IFwiVEFCTEVcIikpO1xuICAgICAgICB0aGlzLl9yZXNldFJvd0hlaWdodCh0YWJsZUhlYWRzKTtcbiAgICAgICAgdGhpcy5fYXBwbHlNYXhSb3dIZWlnaHQodGFibGVIZWFkcyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfYXBwbHlNYXhSb3dIZWlnaHQodGFibGVzOiBhbnlbXSkge1xuICAgICAgICBpZiAoIXRhYmxlcyB8fCAhdGFibGVzLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbGVuZ3RocyA9IHRhYmxlcy5tYXAodGFibGUgPT4gdGFibGUucm93cy5sZW5ndGgpO1xuICAgICAgICBjb25zdCBtYXhMZW5ndGggPSBsZW5ndGhzLnJlZHVjZSgoYWNjdW11bGF0b3IsIGN1cnJlbnRWYWx1ZSkgPT4gTWF0aC5tYXgoYWNjdW11bGF0b3IsIGN1cnJlbnRWYWx1ZSksIGxlbmd0aHNbMF0pO1xuICAgICAgICBjb25zdCBtaW5MZW5ndGggPSBsZW5ndGhzLnJlZHVjZSgoYWNjdW11bGF0b3IsIGN1cnJlbnRWYWx1ZSkgPT4gTWF0aC5taW4oYWNjdW11bGF0b3IsIGN1cnJlbnRWYWx1ZSksIGxlbmd0aHNbMF0pO1xuXG4gICAgICAgIGlmIChtYXhMZW5ndGggIT09IG1pbkxlbmd0aCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVGhlIG51bWJlciBvZiByb3dzIGluIGJvdGggdGFibGVzIG11c3QgYmUgdGhlIHNhbWVcIik7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB0YWJsZSA9IHRhYmxlc1swXTtcblxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRhYmxlLnJvd3MubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IHRycyA9IFtdO1xuICAgICAgICAgICAgZm9yIChjb25zdCB0YWJsZSBvZiB0YWJsZXMpIHtcbiAgICAgICAgICAgICAgICB0cnMucHVzaCh0YWJsZS5yb3dzW2ldIGFzIEhUTUxUYWJsZVJvd0VsZW1lbnQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBtYXggPSB0cnMucmVkdWNlKChhY2N1bXVsYXRvciwgY3VycmVudFZhbHVlKSA9PlxuICAgICAgICAgICAgICAgIE1hdGgubWF4KGFjY3VtdWxhdG9yLCBjdXJyZW50VmFsdWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0KSwgdHJzWzBdLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodCk7XG5cbiAgICAgICAgICAgIGZvciAoY29uc3QgdHIgb2YgdHJzKSB7XG4gICAgICAgICAgICAgICAgdHIuc3R5bGUuaGVpZ2h0ID0gYCR7bWF4fXB4YDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX3Jlc2V0Um93SGVpZ2h0KHRhYmxlczogYW55W10pIHtcbiAgICAgICAgZm9yIChjb25zdCB0YWJsZSBvZiB0YWJsZXMpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3Qgcm93IG9mIHRhYmxlLnJvd3MpIHtcbiAgICAgICAgICAgICAgICByb3cuc3R5bGUuaGVpZ2h0ID0gXCJ1bnNldFwiO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -6,6 +6,7 @@ var ThumbnailItemComponent = /** @class */ (function () {
6
6
  function ThumbnailItemComponent() {
7
7
  this.isCheckable = true;
8
8
  this.isChecked = false;
9
+ this.combineCheckboxEvent = true;
9
10
  this.checked = new EventEmitter();
10
11
  this.opened = new EventEmitter();
11
12
  }
@@ -16,13 +17,19 @@ var ThumbnailItemComponent = /** @class */ (function () {
16
17
  ThumbnailItemComponent.prototype.onClick = function () {
17
18
  this.opened.emit(this.itemData);
18
19
  };
20
+ ThumbnailItemComponent.prototype.checkboxClick = function (event) {
21
+ if (this.combineCheckboxEvent) {
22
+ return;
23
+ }
24
+ event.stopPropagation();
25
+ };
19
26
  ThumbnailItemComponent.prototype._createFormGroup = function () {
20
27
  var _this = this;
21
28
  this.checkboxFormGroup = new FormGroup({
22
29
  checkbox: new FormControl({ checked: this.isChecked }),
23
30
  });
24
31
  this.checkboxFormGroup.get("checkbox").valueChanges.subscribe(function (value) {
25
- _this.checked.emit({ item: _this.itemData, checked: value.checked });
32
+ _this.checked.emit({ item: _this.itemData, selected: value.checked });
26
33
  });
27
34
  };
28
35
  ThumbnailItemComponent.prototype._validateItemData = function () {
@@ -39,6 +46,9 @@ var ThumbnailItemComponent = /** @class */ (function () {
39
46
  __decorate([
40
47
  Input()
41
48
  ], ThumbnailItemComponent.prototype, "isChecked", void 0);
49
+ __decorate([
50
+ Input()
51
+ ], ThumbnailItemComponent.prototype, "combineCheckboxEvent", void 0);
42
52
  __decorate([
43
53
  Output()
44
54
  ], ThumbnailItemComponent.prototype, "checked", void 0);
@@ -48,11 +58,11 @@ var ThumbnailItemComponent = /** @class */ (function () {
48
58
  ThumbnailItemComponent = __decorate([
49
59
  Component({
50
60
  selector: "s-thumbnail-item",
51
- template: "<button *ngIf=\"itemData\" class=\"thumbnail-item\" (click)=\"onClick()\">\n <div class=\"thumbnail-item-content\">\n <div class=\"content\">\n <ng-container *ngIf=\"itemData.type === 'video'\">\n <s-thumbnail-item-video\n [imageUrl]=\"itemData.imageUrl\"\n [videoUrl]=\"itemData.videoUrl\">\n </s-thumbnail-item-video>\n </ng-container>\n <ng-container *ngIf=\"itemData.type === 'image'\">\n <s-thumbnail-item-image [imageUrl]=\"itemData.imageUrl\"></s-thumbnail-item-image>\n </ng-container>\n <ng-container *ngIf=\"itemData.type === 'audio'\">\n <i class=\"icon fas fa-volume-down\"></i>\n <span class=\"label\">{{ \"platform.angular_components.listen\" | translate }}</span>\n </ng-container>\n <ng-container *ngIf=\"itemData.type === 'file'\">\n <i class=\"icon fas fa-file-alt\"></i>\n <span class=\"label\">{{ \"platform.angular_components.view\" | translate }}</span>\n </ng-container>\n </div>\n <form *ngIf=\"isCheckable\" [formGroup]=\"checkboxFormGroup\" class=\"checkbox\">\n <s-checkbox [data]=\"{ label: '' }\" formControlName=\"checkbox\"> </s-checkbox>\n </form>\n </div>\n <span class=\"file-name-label\">{{ itemData.fileName }}</span>\n</button>\n",
61
+ template: "<button *ngIf=\"itemData\" class=\"thumbnail-item\" (click)=\"onClick()\">\n <div class=\"thumbnail-item-content\">\n <div class=\"content\">\n <ng-container *ngIf=\"itemData.type === 'video'\">\n <s-thumbnail-item-video\n [imageUrl]=\"itemData.imageUrl\"\n [videoUrl]=\"itemData.videoUrl\">\n </s-thumbnail-item-video>\n </ng-container>\n <ng-container *ngIf=\"itemData.type === 'image'\">\n <s-thumbnail-item-image [imageUrl]=\"itemData.imageUrl\"></s-thumbnail-item-image>\n </ng-container>\n <ng-container *ngIf=\"itemData.type === 'audio'\">\n <i class=\"icon fas fa-volume-down\"></i>\n <span class=\"label\">{{ \"platform.angular_components.listen\" | translate }}</span>\n </ng-container>\n <ng-container *ngIf=\"itemData.type === 'file'\">\n <i class=\"icon fas fa-file-alt\"></i>\n <span class=\"label\">{{ \"platform.angular_components.view\" | translate }}</span>\n </ng-container>\n </div>\n <form *ngIf=\"isCheckable\" [formGroup]=\"checkboxFormGroup\" class=\"checkbox\">\n <s-checkbox [data]=\"{ label: '' }\" formControlName=\"checkbox\" (click)=\"checkboxClick($event)\"></s-checkbox>\n </form>\n </div>\n <span class=\"file-name-label\">{{ itemData.fileName }}</span>\n</button>\n",
52
62
  styles: [".thumbnail-item{-ms-flex-align:center;align-items:center;background:0 0;border:none;cursor:pointer;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;overflow:hidden;width:100px}.thumbnail-item-content{-ms-flex-align:center;align-items:center;background-image:linear-gradient(to top right,#5288b6,#00c89a);border-radius:8px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;height:100px;-ms-flex-pack:center;justify-content:center;position:relative;-webkit-user-select:none;-ms-user-select:none;user-select:none;width:100%;overflow:hidden}.thumbnail-item-content .checkbox{position:absolute;right:8px;top:8px}.thumbnail-item-content .content{-ms-flex-align:center;align-items:center;color:#fff;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;gap:4px;overflow:hidden;width:100%}.thumbnail-item-content .content .icon{font-size:24px}.thumbnail-item-content .content .label{font-size:12px;width:100%;padding:0 8px;overflow:hidden;text-overflow:ellipsis}.thumbnail-item:hover{transform:scale(1.05);transition:.2s ease-in-out}.thumbnail-item .file-name-label{color:#525966;font-family:\"Open Sans\",sans-serif;font-size:12px;overflow:hidden;text-align:center;text-overflow:ellipsis;text-wrap:nowrap;-webkit-user-select:none;-ms-user-select:none;user-select:none;width:100%}"]
53
63
  })
54
64
  ], ThumbnailItemComponent);
55
65
  return ThumbnailItemComponent;
56
66
  }());
57
67
  export { ThumbnailItemComponent };
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGh1bWJuYWlsLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvdGh1bWJuYWlscy9jb21wb25lbnRzL3RodW1ibmFpbC1pdGVtL3RodW1ibmFpbC1pdGVtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBUXpEO0lBQUE7UUFLVyxnQkFBVyxHQUFHLElBQUksQ0FBQztRQUduQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBR2xCLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBNEMsQ0FBQztRQUd2RSxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQWtCLENBQUM7SUE0QnZELENBQUM7SUF4QlUseUNBQVEsR0FBZjtRQUNJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFTSx3Q0FBTyxHQUFkO1FBQ0ksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFTyxpREFBZ0IsR0FBeEI7UUFBQSxpQkFRQztRQVBHLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLFNBQVMsQ0FBQztZQUNuQyxRQUFRLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ3pELENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxVQUFDLEtBQW9CO1lBQy9FLEtBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUksQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLGtEQUFpQixHQUF6QjtRQUNJLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ2xDLE1BQU0sSUFBSSxLQUFLLENBQUMsc0JBQXNCLENBQUMsQ0FBQztTQUMzQztJQUNMLENBQUM7SUF2Q0Q7UUFEQyxLQUFLLEVBQUU7NERBQ3dCO0lBR2hDO1FBREMsS0FBSyxFQUFFOytEQUNrQjtJQUcxQjtRQURDLEtBQUssRUFBRTs2REFDaUI7SUFHekI7UUFEQyxNQUFNLEVBQUU7MkRBQ3FFO0lBRzlFO1FBREMsTUFBTSxFQUFFOzBEQUMwQztJQWQxQyxzQkFBc0I7UUFMbEMsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLGtCQUFrQjtZQUM1QixpN0NBQThDOztTQUVqRCxDQUFDO09BQ1csc0JBQXNCLENBMENsQztJQUFELDZCQUFDO0NBQUEsQUExQ0QsSUEwQ0M7U0ExQ1ksc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5cbmltcG9ydCB7IENoZWNrYm94U3RhdGUgfSBmcm9tIFwiLi4vLi4vLi4vY2hlY2tib3gvbW9kZWxzL2NoZWNrYm94LXN0YXRlXCI7XG5pbXBvcnQgeyBpc051bGxPclVuZGVmaW5lZCB9IGZyb20gXCIuLi8uLi8uLi91dGlscy91dGlsc1wiO1xuaW1wb3J0IHsgVGh1bWJuYWlsc0l0ZW0gfSBmcm9tIFwiLi4vLi4vbW9kZWxzL3RodW1ibmFpbHMtaXRlbVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogXCJzLXRodW1ibmFpbC1pdGVtXCIsXG4gICAgdGVtcGxhdGVVcmw6IFwiLi90aHVtYm5haWwtaXRlbS5jb21wb25lbnQuaHRtbFwiLFxuICAgIHN0eWxlVXJsczogW1wiLi90aHVtYm5haWwtaXRlbS5jb21wb25lbnQuc2Nzc1wiXSxcbn0pXG5leHBvcnQgY2xhc3MgVGh1bWJuYWlsSXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaXRlbURhdGE6IFRodW1ibmFpbHNJdGVtO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaXNDaGVja2FibGUgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaXNDaGVja2VkID0gZmFsc2U7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgY2hlY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8e2l0ZW06IFRodW1ibmFpbHNJdGVtLCBjaGVja2VkOiBib29sZWFufT4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBvcGVuZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFRodW1ibmFpbHNJdGVtPigpO1xuXG4gICAgcHVibGljIGNoZWNrYm94Rm9ybUdyb3VwOiBGb3JtR3JvdXA7XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3ZhbGlkYXRlSXRlbURhdGEoKTtcbiAgICAgICAgdGhpcy5fY3JlYXRlRm9ybUdyb3VwKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uQ2xpY2soKSB7XG4gICAgICAgIHRoaXMub3BlbmVkLmVtaXQodGhpcy5pdGVtRGF0YSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY3JlYXRlRm9ybUdyb3VwKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNoZWNrYm94Rm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7XG4gICAgICAgICAgICBjaGVja2JveDogbmV3IEZvcm1Db250cm9sKHsgY2hlY2tlZDogdGhpcy5pc0NoZWNrZWQgfSksXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuY2hlY2tib3hGb3JtR3JvdXAuZ2V0KFwiY2hlY2tib3hcIikudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsdWU6IENoZWNrYm94U3RhdGUpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2hlY2tlZC5lbWl0KHsgaXRlbTogdGhpcy5pdGVtRGF0YSwgY2hlY2tlZDogdmFsdWUuY2hlY2tlZCB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfdmFsaWRhdGVJdGVtRGF0YSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKGlzTnVsbE9yVW5kZWZpbmVkKHRoaXMuaXRlbURhdGEpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJpdGVtRGF0YSBpcyByZXF1aXJlZFwiKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGh1bWJuYWlsLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvdGh1bWJuYWlscy9jb21wb25lbnRzL3RodW1ibmFpbC1pdGVtL3RodW1ibmFpbC1pdGVtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBUXpEO0lBQUE7UUFLVyxnQkFBVyxHQUFHLElBQUksQ0FBQztRQUduQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRWhCLHlCQUFvQixHQUFHLElBQUksQ0FBQztRQUc5QixZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQStDLENBQUM7UUFHMUUsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFrQixDQUFDO0lBb0N2RCxDQUFDO0lBaENVLHlDQUFRLEdBQWY7UUFDSSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRU0sd0NBQU8sR0FBZDtRQUNJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRU0sOENBQWEsR0FBcEIsVUFBcUIsS0FBWTtRQUM3QixJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtZQUMzQixPQUFPO1NBQ1Y7UUFFRCxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVPLGlEQUFnQixHQUF4QjtRQUFBLGlCQVFDO1FBUEcsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksU0FBUyxDQUFDO1lBQ25DLFFBQVEsRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDekQsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLFVBQUMsS0FBb0I7WUFDL0UsS0FBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDeEUsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sa0RBQWlCLEdBQXpCO1FBQ0ksSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDbEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1NBQzNDO0lBQ0wsQ0FBQztJQWpERDtRQURDLEtBQUssRUFBRTs0REFDd0I7SUFHaEM7UUFEQyxLQUFLLEVBQUU7K0RBQ2tCO0lBRzFCO1FBREMsS0FBSyxFQUFFOzZEQUNpQjtJQUVoQjtRQUFSLEtBQUssRUFBRTt3RUFBNkI7SUFHckM7UUFEQyxNQUFNLEVBQUU7MkRBQ3dFO0lBR2pGO1FBREMsTUFBTSxFQUFFOzBEQUMwQztJQWhCMUMsc0JBQXNCO1FBTGxDLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxrQkFBa0I7WUFDNUIsazlDQUE4Qzs7U0FFakQsQ0FBQztPQUNXLHNCQUFzQixDQW9EbEM7SUFBRCw2QkFBQztDQUFBLEFBcERELElBb0RDO1NBcERZLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuXG5pbXBvcnQgeyBDaGVja2JveFN0YXRlIH0gZnJvbSBcIi4uLy4uLy4uL2NoZWNrYm94L21vZGVscy9jaGVja2JveC1zdGF0ZVwiO1xuaW1wb3J0IHsgaXNOdWxsT3JVbmRlZmluZWQgfSBmcm9tIFwiLi4vLi4vLi4vdXRpbHMvdXRpbHNcIjtcbmltcG9ydCB7IFRodW1ibmFpbHNJdGVtIH0gZnJvbSBcIi4uLy4uL21vZGVscy90aHVtYm5haWxzLWl0ZW1cIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFwicy10aHVtYm5haWwtaXRlbVwiLFxuICAgIHRlbXBsYXRlVXJsOiBcIi4vdGh1bWJuYWlsLWl0ZW0uY29tcG9uZW50Lmh0bWxcIixcbiAgICBzdHlsZVVybHM6IFtcIi4vdGh1bWJuYWlsLWl0ZW0uY29tcG9uZW50LnNjc3NcIl0sXG59KVxuZXhwb3J0IGNsYXNzIFRodW1ibmFpbEl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGl0ZW1EYXRhOiBUaHVtYm5haWxzSXRlbTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGlzQ2hlY2thYmxlID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGlzQ2hlY2tlZCA9IGZhbHNlO1xuXG4gICAgQElucHV0KCkgY29tYmluZUNoZWNrYm94RXZlbnQgPSB0cnVlO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGNoZWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHsgaXRlbTogVGh1bWJuYWlsc0l0ZW0sIHNlbGVjdGVkOiBib29sZWFuIH0+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgb3BlbmVkID0gbmV3IEV2ZW50RW1pdHRlcjxUaHVtYm5haWxzSXRlbT4oKTtcblxuICAgIHB1YmxpYyBjaGVja2JveEZvcm1Hcm91cDogRm9ybUdyb3VwO1xuXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl92YWxpZGF0ZUl0ZW1EYXRhKCk7XG4gICAgICAgIHRoaXMuX2NyZWF0ZUZvcm1Hcm91cCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkNsaWNrKCkge1xuICAgICAgICB0aGlzLm9wZW5lZC5lbWl0KHRoaXMuaXRlbURhdGEpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjaGVja2JveENsaWNrKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jb21iaW5lQ2hlY2tib3hFdmVudCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY3JlYXRlRm9ybUdyb3VwKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNoZWNrYm94Rm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7XG4gICAgICAgICAgICBjaGVja2JveDogbmV3IEZvcm1Db250cm9sKHsgY2hlY2tlZDogdGhpcy5pc0NoZWNrZWQgfSksXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuY2hlY2tib3hGb3JtR3JvdXAuZ2V0KFwiY2hlY2tib3hcIikudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsdWU6IENoZWNrYm94U3RhdGUpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2hlY2tlZC5lbWl0KHsgaXRlbTogdGhpcy5pdGVtRGF0YSwgc2VsZWN0ZWQ6IHZhbHVlLmNoZWNrZWQgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3ZhbGlkYXRlSXRlbURhdGEoKTogdm9pZCB7XG4gICAgICAgIGlmIChpc051bGxPclVuZGVmaW5lZCh0aGlzLml0ZW1EYXRhKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiaXRlbURhdGEgaXMgcmVxdWlyZWRcIik7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -3,6 +3,7 @@ import { Component, EventEmitter, Input, Output } from "@angular/core";
3
3
  var ThumbnailsComponent = /** @class */ (function () {
4
4
  function ThumbnailsComponent() {
5
5
  this.selectable = true;
6
+ this.combineCheckboxEvent = true;
6
7
  this.selectionChange = new EventEmitter();
7
8
  this.itemOpened = new EventEmitter();
8
9
  this._selection = [];
@@ -17,12 +18,12 @@ var ThumbnailsComponent = /** @class */ (function () {
17
18
  ThumbnailsComponent.prototype.onItemOpened = function (item) {
18
19
  this.itemOpened.emit(item);
19
20
  };
20
- ThumbnailsComponent.prototype.onItemSelected = function (items) {
21
- if (items.selected) {
22
- this._selection.push(items.item);
21
+ ThumbnailsComponent.prototype.onItemSelected = function (item) {
22
+ if (item.selected) {
23
+ this._selection.push(item.item);
23
24
  }
24
25
  else {
25
- this._selection.splice(this._selection.findIndex(function (item) { return item === items.item; }), 1);
26
+ this._selection.splice(this._selection.findIndex(function (_item) { return _item === item.item; }), 1);
26
27
  }
27
28
  this.selectionChange.emit(this._selection);
28
29
  };
@@ -35,6 +36,9 @@ var ThumbnailsComponent = /** @class */ (function () {
35
36
  __decorate([
36
37
  Input()
37
38
  ], ThumbnailsComponent.prototype, "selectable", void 0);
39
+ __decorate([
40
+ Input()
41
+ ], ThumbnailsComponent.prototype, "combineCheckboxEvent", void 0);
38
42
  __decorate([
39
43
  Input()
40
44
  ], ThumbnailsComponent.prototype, "selection", null);
@@ -47,11 +51,11 @@ var ThumbnailsComponent = /** @class */ (function () {
47
51
  ThumbnailsComponent = __decorate([
48
52
  Component({
49
53
  selector: "s-thumbnails",
50
- template: "<div class=\"thumbnails\">\n <s-thumbnail-item\n *ngFor=\"let item of items\"\n [itemData]=\"item\"\n [isCheckable]=\"selectable\"\n [isChecked]=\"isSelected(item)\"\n (checked)=\"onItemSelected($event)\"\n (opened)=\"onItemOpened($event)\">\n </s-thumbnail-item>\n</div>\n",
54
+ template: "<div class=\"thumbnails\">\n <s-thumbnail-item\n *ngFor=\"let item of items\"\n [combineCheckboxEvent]=\"combineCheckboxEvent\"\n [itemData]=\"item\"\n [isCheckable]=\"selectable\"\n [isChecked]=\"isSelected(item)\"\n (checked)=\"onItemSelected($event)\"\n (opened)=\"onItemOpened($event)\">\n </s-thumbnail-item>\n</div>\n",
51
55
  styles: [".thumbnails{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:12px}"]
52
56
  })
53
57
  ], ThumbnailsComponent);
54
58
  return ThumbnailsComponent;
55
59
  }());
56
60
  export { ThumbnailsComponent };
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGh1bWJuYWlscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy90aHVtYm5haWxzL3RodW1ibmFpbHMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBU3ZFO0lBQUE7UUFLVyxlQUFVLEdBQUcsSUFBSSxDQUFDO1FBUWxCLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQW9CLENBQUM7UUFHdkQsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFrQixDQUFDO1FBRS9DLGVBQVUsR0FBcUIsRUFBRSxDQUFDO0lBc0I5QyxDQUFDO0lBaENHLHNCQUFXLDBDQUFTO2FBQXBCLFVBQXFCLEtBQXVCO1lBQ3hDLElBQUksQ0FBQyxVQUFVLFlBQU8sS0FBSyxDQUFDLENBQUM7UUFDakMsQ0FBQzs7O09BQUE7SUFVTSwwQ0FBWSxHQUFuQixVQUFvQixJQUFvQjtRQUNwQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRU0sNENBQWMsR0FBckIsVUFBc0IsS0FBa0Q7UUFDcEUsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFO1lBQ2hCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNwQzthQUFNO1lBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQ2xCLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLFVBQUMsSUFBSSxJQUFLLE9BQUEsSUFBSSxLQUFLLEtBQUssQ0FBQyxJQUFJLEVBQW5CLENBQW1CLENBQUMsRUFDeEQsQ0FBQyxDQUNKLENBQUM7U0FDTDtRQUVELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRU0sd0NBQVUsR0FBakIsVUFBa0IsSUFBb0I7UUFDbEMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFDLENBQWlCLElBQUssT0FBQSxDQUFDLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxFQUFFLEVBQWhCLENBQWdCLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBckNEO1FBREMsS0FBSyxFQUFFO3NEQUN1QjtJQUcvQjtRQURDLEtBQUssRUFBRTsyREFDaUI7SUFHekI7UUFEQyxLQUFLLEVBQUU7d0RBR1A7SUFHRDtRQURDLE1BQU0sRUFBRTtnRUFDcUQ7SUFHOUQ7UUFEQyxNQUFNLEVBQUU7MkRBQzhDO0lBaEI5QyxtQkFBbUI7UUFML0IsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLGNBQWM7WUFDeEIsNlVBQTBDOztTQUU3QyxDQUFDO09BQ1csbUJBQW1CLENBd0MvQjtJQUFELDBCQUFDO0NBQUEsQUF4Q0QsSUF3Q0M7U0F4Q1ksbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5pbXBvcnQgeyBUaHVtYm5haWxzSXRlbSB9IGZyb20gXCIuL21vZGVscy90aHVtYm5haWxzLWl0ZW1cIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFwicy10aHVtYm5haWxzXCIsXG4gICAgdGVtcGxhdGVVcmw6IFwiLi90aHVtYm5haWxzLmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmxzOiBbXCIuL3RodW1ibmFpbHMuY29tcG9uZW50LnNjc3NcIl0sXG59KVxuZXhwb3J0IGNsYXNzIFRodW1ibmFpbHNDb21wb25lbnQge1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGl0ZW1zOiBUaHVtYm5haWxzSXRlbVtdO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2VsZWN0YWJsZSA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgc2VsZWN0aW9uKGl0ZW1zOiBUaHVtYm5haWxzSXRlbVtdKSB7XG4gICAgICAgIHRoaXMuX3NlbGVjdGlvbiA9IFsuLi5pdGVtc107XG4gICAgfVxuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHNlbGVjdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8VGh1bWJuYWlsc0l0ZW1bXT4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBpdGVtT3BlbmVkID0gbmV3IEV2ZW50RW1pdHRlcjxUaHVtYm5haWxzSXRlbT4oKTtcblxuICAgIHByaXZhdGUgX3NlbGVjdGlvbjogVGh1bWJuYWlsc0l0ZW1bXSA9IFtdO1xuXG4gICAgcHVibGljIG9uSXRlbU9wZW5lZChpdGVtOiBUaHVtYm5haWxzSXRlbSk6IHZvaWQge1xuICAgICAgICB0aGlzLml0ZW1PcGVuZWQuZW1pdChpdGVtKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25JdGVtU2VsZWN0ZWQoaXRlbXM6IHsgaXRlbTogVGh1bWJuYWlsc0l0ZW07IHNlbGVjdGVkOiBib29sZWFuIH0pOiB2b2lkIHtcbiAgICAgICAgaWYgKGl0ZW1zLnNlbGVjdGVkKSB7XG4gICAgICAgICAgICB0aGlzLl9zZWxlY3Rpb24ucHVzaChpdGVtcy5pdGVtKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGlvbi5zcGxpY2UoXG4gICAgICAgICAgICAgICAgdGhpcy5fc2VsZWN0aW9uLmZpbmRJbmRleCgoaXRlbSkgPT4gaXRlbSA9PT0gaXRlbXMuaXRlbSksXG4gICAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlLmVtaXQodGhpcy5fc2VsZWN0aW9uKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNTZWxlY3RlZChpdGVtOiBUaHVtYm5haWxzSXRlbSkge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uLnNvbWUoKGk6IFRodW1ibmFpbHNJdGVtKSA9PiBpLmlkID09PSBpdGVtLmlkKTtcbiAgICB9XG59XG4iXX0=
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGh1bWJuYWlscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy90aHVtYm5haWxzL3RodW1ibmFpbHMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBU3ZFO0lBQUE7UUFLVyxlQUFVLEdBQUcsSUFBSSxDQUFDO1FBRWhCLHlCQUFvQixHQUFHLElBQUksQ0FBQztRQVE5QixvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFvQixDQUFDO1FBR3ZELGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBa0IsQ0FBQztRQUUvQyxlQUFVLEdBQXFCLEVBQUUsQ0FBQztJQXFCOUMsQ0FBQztJQS9CRyxzQkFBVywwQ0FBUzthQUFwQixVQUFxQixLQUF1QjtZQUN4QyxJQUFJLENBQUMsVUFBVSxZQUFPLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLENBQUM7OztPQUFBO0lBVU0sMENBQVksR0FBbkIsVUFBb0IsSUFBb0I7UUFDcEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVNLDRDQUFjLEdBQXJCLFVBQXNCLElBQWlEO1FBQ25FLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNmLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNuQzthQUFNO1lBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQ2xCLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLFVBQUMsS0FBSyxJQUFLLE9BQUEsS0FBSyxLQUFLLElBQUksQ0FBQyxJQUFJLEVBQW5CLENBQW1CLENBQUMsRUFDekQsQ0FBQyxDQUNKLENBQUM7U0FDTDtRQUNELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRU0sd0NBQVUsR0FBakIsVUFBa0IsSUFBb0I7UUFDbEMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFDLENBQWlCLElBQUssT0FBQSxDQUFDLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxFQUFFLEVBQWhCLENBQWdCLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBdENEO1FBREMsS0FBSyxFQUFFO3NEQUN1QjtJQUcvQjtRQURDLEtBQUssRUFBRTsyREFDaUI7SUFFaEI7UUFBUixLQUFLLEVBQUU7cUVBQTZCO0lBR3JDO1FBREMsS0FBSyxFQUFFO3dEQUdQO0lBR0Q7UUFEQyxNQUFNLEVBQUU7Z0VBQ3FEO0lBRzlEO1FBREMsTUFBTSxFQUFFOzJEQUM4QztJQWxCOUMsbUJBQW1CO1FBTC9CLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxjQUFjO1lBQ3hCLHNZQUEwQzs7U0FFN0MsQ0FBQztPQUNXLG1CQUFtQixDQXlDL0I7SUFBRCwwQkFBQztDQUFBLEFBekNELElBeUNDO1NBekNZLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuaW1wb3J0IHsgVGh1bWJuYWlsc0l0ZW0gfSBmcm9tIFwiLi9tb2RlbHMvdGh1bWJuYWlscy1pdGVtXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBcInMtdGh1bWJuYWlsc1wiLFxuICAgIHRlbXBsYXRlVXJsOiBcIi4vdGh1bWJuYWlscy5jb21wb25lbnQuaHRtbFwiLFxuICAgIHN0eWxlVXJsczogW1wiLi90aHVtYm5haWxzLmNvbXBvbmVudC5zY3NzXCJdLFxufSlcbmV4cG9ydCBjbGFzcyBUaHVtYm5haWxzQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpdGVtczogVGh1bWJuYWlsc0l0ZW1bXTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNlbGVjdGFibGUgPSB0cnVlO1xuXG4gICAgQElucHV0KCkgY29tYmluZUNoZWNrYm94RXZlbnQgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IHNlbGVjdGlvbihpdGVtczogVGh1bWJuYWlsc0l0ZW1bXSkge1xuICAgICAgICB0aGlzLl9zZWxlY3Rpb24gPSBbLi4uaXRlbXNdO1xuICAgIH1cblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBzZWxlY3Rpb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFRodW1ibmFpbHNJdGVtW10+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgaXRlbU9wZW5lZCA9IG5ldyBFdmVudEVtaXR0ZXI8VGh1bWJuYWlsc0l0ZW0+KCk7XG5cbiAgICBwcml2YXRlIF9zZWxlY3Rpb246IFRodW1ibmFpbHNJdGVtW10gPSBbXTtcblxuICAgIHB1YmxpYyBvbkl0ZW1PcGVuZWQoaXRlbTogVGh1bWJuYWlsc0l0ZW0pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pdGVtT3BlbmVkLmVtaXQoaXRlbSk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uSXRlbVNlbGVjdGVkKGl0ZW06IHsgaXRlbTogVGh1bWJuYWlsc0l0ZW07IHNlbGVjdGVkOiBib29sZWFuIH0pOiB2b2lkIHtcbiAgICAgICAgaWYgKGl0ZW0uc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGlvbi5wdXNoKGl0ZW0uaXRlbSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9zZWxlY3Rpb24uc3BsaWNlKFxuICAgICAgICAgICAgICAgIHRoaXMuX3NlbGVjdGlvbi5maW5kSW5kZXgoKF9pdGVtKSA9PiBfaXRlbSA9PT0gaXRlbS5pdGVtKSxcbiAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlLmVtaXQodGhpcy5fc2VsZWN0aW9uKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNTZWxlY3RlZChpdGVtOiBUaHVtYm5haWxzSXRlbSkge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uLnNvbWUoKGk6IFRodW1ibmFpbHNJdGVtKSA9PiBpLmlkID09PSBpdGVtLmlkKTtcbiAgICB9XG59XG4iXX0=