@impartner/design-components 1.0.2 → 1.0.4

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.
@@ -46,7 +46,6 @@ export class DropdownComponent {
46
46
  */
47
47
  this.buttonClick = new EventEmitter();
48
48
  this.classBtnGroup = true;
49
- this._interactableId = this._interactionService.add(this);
50
49
  }
51
50
  get classDropdown() {
52
51
  return this.position === 'down';
@@ -77,6 +76,9 @@ export class DropdownComponent {
77
76
  get shown() {
78
77
  return this.valid && this.show;
79
78
  }
79
+ ngOnInit() {
80
+ this._interactableId = this._interactionService.add(this);
81
+ }
80
82
  ngOnDestroy() {
81
83
  this._interactionService.remove(this.interactableId);
82
84
  this._interactableId = 0;
@@ -137,4 +139,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
137
139
  type: HostListener,
138
140
  args: ['document:click']
139
141
  }] } });
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWNvbXBvbmVudHMvc3JjL2xpYi9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLFlBQVksRUFDWixNQUFNLEVBQ04sWUFBWSxFQUNaLFdBQVcsRUFFWCxlQUFlLEVBRWhCLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7QUFHckQ7Ozs7O0dBS0c7QUFNSCxNQUFNLE9BQU8saUJBQWlCO0lBaUc1QixZQUFvQixtQkFBdUM7UUFBdkMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFvQjtRQWhHbkQsb0JBQWUsR0FBRyxDQUFDLENBQUM7UUFFNUI7O1dBRUc7UUFFSCxTQUFJLEdBQUcsS0FBSyxDQUFDO1FBUWI7O1dBRUc7UUFFSCxnQkFBVyxHQUFnQixTQUFTLENBQUM7UUFFckM7O1dBRUc7UUFFSCxlQUFVLEdBQUcsRUFBRSxDQUFDO1FBRWhCLHFEQUFxRDtRQUNyRCxXQUFXO1FBQ1gsMEJBQTBCO1FBRTFCOztXQUVHO1FBRUgsYUFBUSxHQUFxQixNQUFNLENBQUM7UUFFcEM7O1dBRUc7UUFFSCxVQUFLLEdBQUcsS0FBSyxDQUFDO1FBRWQ7O1dBRUc7UUFFSCxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUVyQzs7V0FFRztRQUVJLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUVaLGtCQUFhLEdBQUcsSUFBSSxDQUFDO1FBMkMzRCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQTFDRCxJQUEyQyxhQUFhO1FBQ3RELE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxNQUFNLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQTBDLFlBQVk7UUFDcEQsT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLE9BQU8sQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBNEMsY0FBYztRQUN4RCxPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssTUFBTSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUF5QyxXQUFXO1FBQ2xELE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUM7SUFDaEMsQ0FBQztJQUdELGVBQWUsQ0FBQyxNQUFrQjtRQUNoQyxNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUdELG1CQUFtQjtRQUNqQixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDYixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDYjtJQUNILENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQztJQUNqQyxDQUFDO0lBTUQsV0FBVztRQUNULElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsaUJBQWlCLENBQUMsS0FBaUI7UUFDakMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQUk7UUFDRixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztRQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQzs7K0dBdEhVLGlCQUFpQjttR0FBakIsaUJBQWlCLHNrQkFZWCxxQkFBcUIsNkJDdkN4Qyx1dURBMkRBOzRGRGhDYSxpQkFBaUI7a0JBTDdCLFNBQVM7K0JBQ0Usa0NBQWtDO3lHQVc1QyxJQUFJO3NCQURILEtBQUs7Z0JBT04sS0FBSztzQkFESixlQUFlO3VCQUFDLHFCQUFxQjtnQkFPdEMsV0FBVztzQkFEVixLQUFLO2dCQU9OLFVBQVU7c0JBRFQsS0FBSztnQkFXTixRQUFRO3NCQURQLEtBQUs7Z0JBT04sS0FBSztzQkFESixLQUFLO2dCQU9OLE1BQU07c0JBREwsTUFBTTtnQkFPQSxXQUFXO3NCQURqQixNQUFNO2dCQUdpQyxhQUFhO3NCQUFwRCxXQUFXO3VCQUFDLGlCQUFpQjtnQkFFYSxhQUFhO3NCQUF2RCxXQUFXO3VCQUFDLGdCQUFnQjtnQkFJYSxZQUFZO3NCQUFyRCxXQUFXO3VCQUFDLGVBQWU7Z0JBSWdCLGNBQWM7c0JBQXpELFdBQVc7dUJBQUMsaUJBQWlCO2dCQUlXLFdBQVc7c0JBQW5ELFdBQVc7dUJBQUMsY0FBYztnQkFLM0IsZUFBZTtzQkFEZCxZQUFZO3VCQUFDLE9BQU87Z0JBTXJCLG1CQUFtQjtzQkFEbEIsWUFBWTt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBIb3N0TGlzdGVuZXIsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgUXVlcnlMaXN0LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIE9uRGVzdHJveVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEludGVyYWN0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IEJ1dHRvblRoZW1lIH0gZnJvbSAnLi4vYnV0dG9uJztcbmltcG9ydCB7IERyb3Bkb3duSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cyc7XG5pbXBvcnQgeyBEcm9wZG93blBvc2l0aW9uIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogVGhlIGBEcm9wZG93bkNvbXBvbmVudGAgKGA8aW1wZGMtZHJvcGRvd25gIG9yIGA8YW55IGltcGRjLWRyb3Bkb3duYCkgY29udGFpbnMgYSBidXR0b24gdGhhdCB0b2dnbGVzIGEgZHJvcGRvd24gd2hlcmUgYSB1c2VyXG4gKiBjYW4gc2VsZWN0IHZhcmlvdXMgYWN0aW9ucy4gSXRlbXMgd2l0aGluIG11c3QgYmUgd3JhcHBlZCB3aXRoIGBEcm9wZG93bkl0ZW1Db21wb25lbnRgIChgPGltcGRjLWRyb3Bkb3duLWl0ZW1gKS5cbiAqIFRvIHVzZSwgaW1wb3J0IGBEcm9wZG93bk1vZHVsZWAgb3IgYW5vdGhlciBtb2R1bGUgdGhhdCBpbXBvcnRzIGFuZCBleHBvcnRzIHRoYXQgbW9kdWxlIGZyb20gYEBpbXBhcnRuZXIvZGVzaWduLWNvbXBvbmVudHNgLlxuICogYERyb3Bkb3duTW9kdWxlYCBpbXBvcnRzIGFuZCBleHBvcnRzIFtCdXR0b25Nb2R1bGVdKC4vP3BhdGg9L2RvY3MvZGVzaWduLWNvbXBvbmVudHMtYnV0dG9uKS5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaW1wZGMtZHJvcGRvd24sIFtpbXBkYy1kcm9wZG93bl0nLFxuICB0ZW1wbGF0ZVVybDogJy4vZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kcm9wZG93bi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIERyb3Bkb3duQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBfaW50ZXJhY3RhYmxlSWQgPSAwO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0aGUgZHJvcGRvd24gbGlzdCBpcyBzaG93aW5nLlxuICAgKi9cbiAgQElucHV0KClcbiAgc2hvdyA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBUaGUgY29udGVudCBwcm9qZWN0ZWQgYERyb3Bkb3duSXRlbUNvbXBvbmVudGAgY2hpbGRyZW4uXG4gICAqL1xuICBAQ29udGVudENoaWxkcmVuKERyb3Bkb3duSXRlbUNvbXBvbmVudClcbiAgaXRlbXMhOiBRdWVyeUxpc3Q8RHJvcGRvd25JdGVtQ29tcG9uZW50PjtcblxuICAvKipcbiAgICogVGhlIHRoZW1lIG9mIHRoZSBidXR0b24gYWZmZWN0aW5nIHRleHQsIGljb25zLCBiYWNrZ3JvdW5kcywgYW5kIGJvcmRlcnMuXG4gICAqL1xuICBASW5wdXQoKVxuICBidXR0b25UaGVtZTogQnV0dG9uVGhlbWUgPSAncHJpbWFyeSc7XG5cbiAgLyoqXG4gICAqIFRoZSB0ZXh0IG9mIHRoZSBidXR0b24uXG4gICAqL1xuICBASW5wdXQoKVxuICBidXR0b25UZXh0ID0gJyc7XG5cbiAgLy8gd2UgZG9uJ3Qgd2FudCBoZWFkZXJUZXh0IHRvIGJlIGF2YWlsYWJsZSByaWdodCBub3dcbiAgLy8gQElucHV0KClcbiAgLy9oZWFkZXJUZXh0OiBzdHJpbmcgPSAnJztcblxuICAvKipcbiAgICogV2hlcmUgdGhlIGxpc3Qgc2hvd3MgcmVsYXRpdmUgdG8gdGhlIGJ1dHRvbiB3aGVuIGl0IGlzIHNob3dpbmcuXG4gICAqL1xuICBASW5wdXQoKVxuICBwb3NpdGlvbjogRHJvcGRvd25Qb3NpdGlvbiA9ICdkb3duJztcblxuICAvKipcbiAgICogSWYgdHJ1ZSwgdGhlIGljb24gaXMgc3BsaXQgZnJvbSB0aGUgYnV0dG9uIGFuZCBvbmx5IGNsaWNraW5nIHRoZSBpY29uIHRyaWdnZXJzIHRoZSBsaXN0IHNob3dpbmcvaGlkaW5nLlxuICAgKi9cbiAgQElucHV0KClcbiAgc3BsaXQgPSBmYWxzZTtcblxuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBkcm9wZG93biBpcyB0b2dnbGVkLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHRvZ2dsZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBidXR0b24gaXMgY2xpY2tlZC5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgYnV0dG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5idG4tZ3JvdXAnKSBwcml2YXRlIGNsYXNzQnRuR3JvdXAgPSB0cnVlO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZHJvcGRvd24nKSBwcml2YXRlIGdldCBjbGFzc0Ryb3Bkb3duKCkge1xuICAgIHJldHVybiB0aGlzLnBvc2l0aW9uID09PSAnZG93bic7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmRyb3BlbmQnKSBwcml2YXRlIGdldCBjbGFzc0Ryb3BlbmQoKSB7XG4gICAgcmV0dXJuIHRoaXMucG9zaXRpb24gPT09ICdyaWdodCc7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmRyb3BzdGFydCcpIHByaXZhdGUgZ2V0IGNsYXNzRHJvcHN0YXJ0KCkge1xuICAgIHJldHVybiB0aGlzLnBvc2l0aW9uID09PSAnbGVmdCc7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmRyb3B1cCcpIHByaXZhdGUgZ2V0IGNsYXNzRHJvcHVwKCkge1xuICAgIHJldHVybiB0aGlzLnBvc2l0aW9uID09PSAndXAnO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICBoYW5kbGVIb3N0Q2xpY2soJGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snKVxuICBoYW5kbGVEb2N1bWVudENsaWNrKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNob3cpIHtcbiAgICAgIHRoaXMuaGlkZSgpO1xuICAgIH1cbiAgfVxuXG4gIGdldCBpbnRlcmFjdGFibGVJZCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9pbnRlcmFjdGFibGVJZDtcbiAgfVxuXG4gIGdldCB2YWxpZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pbnRlcmFjdGFibGVJZCA+IDA7XG4gIH1cblxuICBnZXQgc2hvd24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudmFsaWQgJiYgdGhpcy5zaG93O1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfaW50ZXJhY3Rpb25TZXJ2aWNlOiBJbnRlcmFjdGlvblNlcnZpY2UpIHtcbiAgICB0aGlzLl9pbnRlcmFjdGFibGVJZCA9IHRoaXMuX2ludGVyYWN0aW9uU2VydmljZS5hZGQodGhpcyk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9pbnRlcmFjdGlvblNlcnZpY2UucmVtb3ZlKHRoaXMuaW50ZXJhY3RhYmxlSWQpO1xuICAgIHRoaXMuX2ludGVyYWN0YWJsZUlkID0gMDtcbiAgfVxuXG4gIGhhbmRsZVRvZ2dsZSgpOiB2b2lkIHtcbiAgICB0aGlzLnNob3cgPSB0aGlzLl9pbnRlcmFjdGlvblNlcnZpY2UudG9nZ2xlKHRoaXMpO1xuICAgIHRoaXMudG9nZ2xlLmVtaXQodGhpcy5zaG93KTtcbiAgfVxuXG4gIGhhbmRsZUJ1dHRvbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5idXR0b25DbGljay5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIGhpZGUoKTogdm9pZCB7XG4gICAgdGhpcy5zaG93ID0gZmFsc2U7XG4gICAgdGhpcy50b2dnbGUuZW1pdCh0aGlzLnNob3cpO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiIWxpbmtFbC5jaGlsZHJlbi5sZW5ndGhcIj5cbiAgPGJ1dHRvblxuICAgICpuZ0lmPVwiIXNwbGl0OyBlbHNlIHNwbGl0VGVtcGxhdGVcIlxuICAgIGltcGRjQnV0dG9uXG4gICAgW3RoZW1lXT1cImJ1dHRvblRoZW1lXCJcbiAgICBbdGV4dF09XCJidXR0b25UZXh0XCJcbiAgICBjbGFzcz1cImRyb3Bkb3duLXRvZ2dsZVwiXG4gICAgW2NsYXNzLnNob3ddPVwic2hvd1wiXG4gICAgZGF0YS1icy10b2dnbGU9XCJkcm9wZG93blwiXG4gICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJzaG93XCJcbiAgICAoY2xpY2spPVwiaGFuZGxlVG9nZ2xlKCk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPjwvYnV0dG9uPlxuXG4gIDxuZy10ZW1wbGF0ZSAjc3BsaXRUZW1wbGF0ZT5cbiAgICA8YnV0dG9uXG4gICAgICBpbXBkY0J1dHRvblxuICAgICAgW3RoZW1lXT1cImJ1dHRvblRoZW1lXCJcbiAgICAgIFt0ZXh0XT1cImJ1dHRvblRleHRcIlxuICAgICAgKGNsaWNrKT1cImhhbmRsZUJ1dHRvbkNsaWNrKCRldmVudClcIj48L2J1dHRvbj5cbiAgICA8YnV0dG9uXG4gICAgICBpbXBkY0J1dHRvblxuICAgICAgW3RoZW1lXT1cImJ1dHRvblRoZW1lXCJcbiAgICAgIGNsYXNzPVwiZHJvcGRvd24tdG9nZ2xlIGRyb3Bkb3duLXRvZ2dsZS1zcGxpdFwiXG4gICAgICBbY2xhc3Muc2hvd109XCJzaG93XCJcbiAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwic2hvd1wiXG4gICAgICAoY2xpY2spPVwiaGFuZGxlVG9nZ2xlKCk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj5Ub2dnbGUgRHJvcGRvd248L3NwYW4+XG4gICAgPC9idXR0b24+XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cblxuPHVsXG4gIGNsYXNzPVwiZHJvcGRvd24tbWVudVwiXG4gIFtjbGFzcy5kcm9wZG93bi1tZW51LWVuZF09XCJmYWxzZVwiXG4gIFtjbGFzcy5zaG93XT1cInNob3dcIlxuICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XG4gIDwhLS0gPGxpICpuZ0lmPVwiaGVhZGVyVGV4dFwiPlxuICAgIDxoNiBjbGFzcz1cImRyb3Bkb3duLWhlYWRlclwiPnt7IGhlYWRlclRleHQgfX08L2g2PlxuICA8L2xpPiAtLT5cbiAgPGxpICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zXCI+XG4gICAgPHNwYW4gKm5nSWY9XCIhaXRlbS5kaXZpZGVyOyBlbHNlIGRpdmlkZXJUZW1wbGF0ZVwiIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiPlxuICAgICAgPG5nLWNvbnRlbnQgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtLnRlbXBsYXRlXCI+PC9uZy1jb250ZW50PlxuICAgIDwvc3Bhbj5cbiAgPC9saT5cbjwvdWw+XG5cbjxuZy10ZW1wbGF0ZSAjZGl2aWRlclRlbXBsYXRlPlxuICA8aHIgY2xhc3M9XCJkcm9wZG93bi1kaXZpZGVyXCIgLz5cbjwvbmctdGVtcGxhdGU+XG5cbjxhXG4gICNsaW5rRWxcbiAgY2xhc3M9XCJpbXBkYy1kcm9wZG93bi1saW5rXCJcbiAgW2NsYXNzLmhpZGVdPVwiIWxpbmtFbC5jaGlsZHJlbi5sZW5ndGhcIlxuICBbY2xhc3MuaW1wZGMtZHJvcGRvd24tb3Blbl09XCJzaG93XCJcbiAgZGF0YS1icy10b2dnbGU9XCJkcm9wZG93blwiXG4gIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwic2hvd1wiXG4gIChjbGljayk9XCJoYW5kbGVUb2dnbGUoKTsgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIlt0b2dnbGVdXCI+PC9uZy1jb250ZW50PlxuPC9hPlxuIl19
142
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWNvbXBvbmVudHMvc3JjL2xpYi9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLFlBQVksRUFDWixNQUFNLEVBQ04sWUFBWSxFQUNaLFdBQVcsRUFFWCxlQUFlLEVBR2hCLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7QUFHckQ7Ozs7O0dBS0c7QUFNSCxNQUFNLE9BQU8saUJBQWlCO0lBcUY1QixZQUFvQixtQkFBdUM7UUFBdkMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFvQjtRQXBGbkQsb0JBQWUsR0FBRyxDQUFDLENBQUM7UUFFNUI7O1dBRUc7UUFFSCxTQUFJLEdBQUcsS0FBSyxDQUFDO1FBUWI7O1dBRUc7UUFFSCxnQkFBVyxHQUFnQixTQUFTLENBQUM7UUFFckM7O1dBRUc7UUFFSCxlQUFVLEdBQUcsRUFBRSxDQUFDO1FBRWhCLHFEQUFxRDtRQUNyRCxXQUFXO1FBQ1gsMEJBQTBCO1FBRTFCOztXQUVHO1FBRUgsYUFBUSxHQUFxQixNQUFNLENBQUM7UUFFcEM7O1dBRUc7UUFFSCxVQUFLLEdBQUcsS0FBSyxDQUFDO1FBRWQ7O1dBRUc7UUFFSCxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUVyQzs7V0FFRztRQUVJLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUVaLGtCQUFhLEdBQUcsSUFBSSxDQUFDO0lBOEJDLENBQUM7SUE1Qi9ELElBQTJDLGFBQWE7UUFDdEQsT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLE1BQU0sQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBMEMsWUFBWTtRQUNwRCxPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssT0FBTyxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUE0QyxjQUFjO1FBQ3hELE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxNQUFNLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQXlDLFdBQVc7UUFDbEQsT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQztJQUNoQyxDQUFDO0lBR0QsZUFBZSxDQUFDLE1BQWtCO1FBQ2hDLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBR0QsbUJBQW1CO1FBQ2pCLElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUNiLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNiO0lBQ0gsQ0FBQztJQUlELElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxLQUFpQjtRQUNqQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDOzsrR0F4SFUsaUJBQWlCO21HQUFqQixpQkFBaUIsc2tCQVlYLHFCQUFxQiw2QkN4Q3hDLHV1REEyREE7NEZEL0JhLGlCQUFpQjtrQkFMN0IsU0FBUzsrQkFDRSxrQ0FBa0M7eUdBVzVDLElBQUk7c0JBREgsS0FBSztnQkFPTixLQUFLO3NCQURKLGVBQWU7dUJBQUMscUJBQXFCO2dCQU90QyxXQUFXO3NCQURWLEtBQUs7Z0JBT04sVUFBVTtzQkFEVCxLQUFLO2dCQVdOLFFBQVE7c0JBRFAsS0FBSztnQkFPTixLQUFLO3NCQURKLEtBQUs7Z0JBT04sTUFBTTtzQkFETCxNQUFNO2dCQU9BLFdBQVc7c0JBRGpCLE1BQU07Z0JBR2lDLGFBQWE7c0JBQXBELFdBQVc7dUJBQUMsaUJBQWlCO2dCQUVhLGFBQWE7c0JBQXZELFdBQVc7dUJBQUMsZ0JBQWdCO2dCQUlhLFlBQVk7c0JBQXJELFdBQVc7dUJBQUMsZUFBZTtnQkFJZ0IsY0FBYztzQkFBekQsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBSVcsV0FBVztzQkFBbkQsV0FBVzt1QkFBQyxjQUFjO2dCQUszQixlQUFlO3NCQURkLFlBQVk7dUJBQUMsT0FBTztnQkFNckIsbUJBQW1CO3NCQURsQixZQUFZO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIEhvc3RMaXN0ZW5lcixcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBRdWVyeUxpc3QsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgT25Jbml0LFxuICBPbkRlc3Ryb3lcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbnRlcmFjdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBCdXR0b25UaGVtZSB9IGZyb20gJy4uL2J1dHRvbic7XG5pbXBvcnQgeyBEcm9wZG93bkl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgRHJvcGRvd25Qb3NpdGlvbiB9IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIFRoZSBgRHJvcGRvd25Db21wb25lbnRgIChgPGltcGRjLWRyb3Bkb3duYCBvciBgPGFueSBpbXBkYy1kcm9wZG93bmApIGNvbnRhaW5zIGEgYnV0dG9uIHRoYXQgdG9nZ2xlcyBhIGRyb3Bkb3duIHdoZXJlIGEgdXNlclxuICogY2FuIHNlbGVjdCB2YXJpb3VzIGFjdGlvbnMuIEl0ZW1zIHdpdGhpbiBtdXN0IGJlIHdyYXBwZWQgd2l0aCBgRHJvcGRvd25JdGVtQ29tcG9uZW50YCAoYDxpbXBkYy1kcm9wZG93bi1pdGVtYCkuXG4gKiBUbyB1c2UsIGltcG9ydCBgRHJvcGRvd25Nb2R1bGVgIG9yIGFub3RoZXIgbW9kdWxlIHRoYXQgaW1wb3J0cyBhbmQgZXhwb3J0cyB0aGF0IG1vZHVsZSBmcm9tIGBAaW1wYXJ0bmVyL2Rlc2lnbi1jb21wb25lbnRzYC5cbiAqIGBEcm9wZG93bk1vZHVsZWAgaW1wb3J0cyBhbmQgZXhwb3J0cyBbQnV0dG9uTW9kdWxlXSguLz9wYXRoPS9kb2NzL2Rlc2lnbi1jb21wb25lbnRzLWJ1dHRvbikuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ltcGRjLWRyb3Bkb3duLCBbaW1wZGMtZHJvcGRvd25dJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZHJvcGRvd24uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93bkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBfaW50ZXJhY3RhYmxlSWQgPSAwO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0aGUgZHJvcGRvd24gbGlzdCBpcyBzaG93aW5nLlxuICAgKi9cbiAgQElucHV0KClcbiAgc2hvdyA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBUaGUgY29udGVudCBwcm9qZWN0ZWQgYERyb3Bkb3duSXRlbUNvbXBvbmVudGAgY2hpbGRyZW4uXG4gICAqL1xuICBAQ29udGVudENoaWxkcmVuKERyb3Bkb3duSXRlbUNvbXBvbmVudClcbiAgaXRlbXMhOiBRdWVyeUxpc3Q8RHJvcGRvd25JdGVtQ29tcG9uZW50PjtcblxuICAvKipcbiAgICogVGhlIHRoZW1lIG9mIHRoZSBidXR0b24gYWZmZWN0aW5nIHRleHQsIGljb25zLCBiYWNrZ3JvdW5kcywgYW5kIGJvcmRlcnMuXG4gICAqL1xuICBASW5wdXQoKVxuICBidXR0b25UaGVtZTogQnV0dG9uVGhlbWUgPSAncHJpbWFyeSc7XG5cbiAgLyoqXG4gICAqIFRoZSB0ZXh0IG9mIHRoZSBidXR0b24uXG4gICAqL1xuICBASW5wdXQoKVxuICBidXR0b25UZXh0ID0gJyc7XG5cbiAgLy8gd2UgZG9uJ3Qgd2FudCBoZWFkZXJUZXh0IHRvIGJlIGF2YWlsYWJsZSByaWdodCBub3dcbiAgLy8gQElucHV0KClcbiAgLy9oZWFkZXJUZXh0OiBzdHJpbmcgPSAnJztcblxuICAvKipcbiAgICogV2hlcmUgdGhlIGxpc3Qgc2hvd3MgcmVsYXRpdmUgdG8gdGhlIGJ1dHRvbiB3aGVuIGl0IGlzIHNob3dpbmcuXG4gICAqL1xuICBASW5wdXQoKVxuICBwb3NpdGlvbjogRHJvcGRvd25Qb3NpdGlvbiA9ICdkb3duJztcblxuICAvKipcbiAgICogSWYgdHJ1ZSwgdGhlIGljb24gaXMgc3BsaXQgZnJvbSB0aGUgYnV0dG9uIGFuZCBvbmx5IGNsaWNraW5nIHRoZSBpY29uIHRyaWdnZXJzIHRoZSBsaXN0IHNob3dpbmcvaGlkaW5nLlxuICAgKi9cbiAgQElucHV0KClcbiAgc3BsaXQgPSBmYWxzZTtcblxuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBkcm9wZG93biBpcyB0b2dnbGVkLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHRvZ2dsZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBidXR0b24gaXMgY2xpY2tlZC5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgYnV0dG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5idG4tZ3JvdXAnKSBwcml2YXRlIGNsYXNzQnRuR3JvdXAgPSB0cnVlO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZHJvcGRvd24nKSBwcml2YXRlIGdldCBjbGFzc0Ryb3Bkb3duKCkge1xuICAgIHJldHVybiB0aGlzLnBvc2l0aW9uID09PSAnZG93bic7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmRyb3BlbmQnKSBwcml2YXRlIGdldCBjbGFzc0Ryb3BlbmQoKSB7XG4gICAgcmV0dXJuIHRoaXMucG9zaXRpb24gPT09ICdyaWdodCc7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmRyb3BzdGFydCcpIHByaXZhdGUgZ2V0IGNsYXNzRHJvcHN0YXJ0KCkge1xuICAgIHJldHVybiB0aGlzLnBvc2l0aW9uID09PSAnbGVmdCc7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmRyb3B1cCcpIHByaXZhdGUgZ2V0IGNsYXNzRHJvcHVwKCkge1xuICAgIHJldHVybiB0aGlzLnBvc2l0aW9uID09PSAndXAnO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICBoYW5kbGVIb3N0Q2xpY2soJGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snKVxuICBoYW5kbGVEb2N1bWVudENsaWNrKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNob3cpIHtcbiAgICAgIHRoaXMuaGlkZSgpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2ludGVyYWN0aW9uU2VydmljZTogSW50ZXJhY3Rpb25TZXJ2aWNlKSB7fVxuXG4gIGdldCBpbnRlcmFjdGFibGVJZCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9pbnRlcmFjdGFibGVJZDtcbiAgfVxuXG4gIGdldCB2YWxpZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pbnRlcmFjdGFibGVJZCA+IDA7XG4gIH1cblxuICBnZXQgc2hvd24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudmFsaWQgJiYgdGhpcy5zaG93O1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5faW50ZXJhY3RhYmxlSWQgPSB0aGlzLl9pbnRlcmFjdGlvblNlcnZpY2UuYWRkKHRoaXMpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5faW50ZXJhY3Rpb25TZXJ2aWNlLnJlbW92ZSh0aGlzLmludGVyYWN0YWJsZUlkKTtcbiAgICB0aGlzLl9pbnRlcmFjdGFibGVJZCA9IDA7XG4gIH1cblxuICBoYW5kbGVUb2dnbGUoKTogdm9pZCB7XG4gICAgdGhpcy5zaG93ID0gdGhpcy5faW50ZXJhY3Rpb25TZXJ2aWNlLnRvZ2dsZSh0aGlzKTtcbiAgICB0aGlzLnRvZ2dsZS5lbWl0KHRoaXMuc2hvdyk7XG4gIH1cblxuICBoYW5kbGVCdXR0b25DbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuYnV0dG9uQ2xpY2suZW1pdChldmVudCk7XG4gIH1cblxuICBoaWRlKCk6IHZvaWQge1xuICAgIHRoaXMuc2hvdyA9IGZhbHNlO1xuICAgIHRoaXMudG9nZ2xlLmVtaXQodGhpcy5zaG93KTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFsaW5rRWwuY2hpbGRyZW4ubGVuZ3RoXCI+XG4gIDxidXR0b25cbiAgICAqbmdJZj1cIiFzcGxpdDsgZWxzZSBzcGxpdFRlbXBsYXRlXCJcbiAgICBpbXBkY0J1dHRvblxuICAgIFt0aGVtZV09XCJidXR0b25UaGVtZVwiXG4gICAgW3RleHRdPVwiYnV0dG9uVGV4dFwiXG4gICAgY2xhc3M9XCJkcm9wZG93bi10b2dnbGVcIlxuICAgIFtjbGFzcy5zaG93XT1cInNob3dcIlxuICAgIGRhdGEtYnMtdG9nZ2xlPVwiZHJvcGRvd25cIlxuICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwic2hvd1wiXG4gICAgKGNsaWNrKT1cImhhbmRsZVRvZ2dsZSgpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj48L2J1dHRvbj5cblxuICA8bmctdGVtcGxhdGUgI3NwbGl0VGVtcGxhdGU+XG4gICAgPGJ1dHRvblxuICAgICAgaW1wZGNCdXR0b25cbiAgICAgIFt0aGVtZV09XCJidXR0b25UaGVtZVwiXG4gICAgICBbdGV4dF09XCJidXR0b25UZXh0XCJcbiAgICAgIChjbGljayk9XCJoYW5kbGVCdXR0b25DbGljaygkZXZlbnQpXCI+PC9idXR0b24+XG4gICAgPGJ1dHRvblxuICAgICAgaW1wZGNCdXR0b25cbiAgICAgIFt0aGVtZV09XCJidXR0b25UaGVtZVwiXG4gICAgICBjbGFzcz1cImRyb3Bkb3duLXRvZ2dsZSBkcm9wZG93bi10b2dnbGUtc3BsaXRcIlxuICAgICAgW2NsYXNzLnNob3ddPVwic2hvd1wiXG4gICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cInNob3dcIlxuICAgICAgKGNsaWNrKT1cImhhbmRsZVRvZ2dsZSgpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwidmlzdWFsbHktaGlkZGVuXCI+VG9nZ2xlIERyb3Bkb3duPC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICA8L25nLXRlbXBsYXRlPlxuPC9uZy1jb250YWluZXI+XG5cbjx1bFxuICBjbGFzcz1cImRyb3Bkb3duLW1lbnVcIlxuICBbY2xhc3MuZHJvcGRvd24tbWVudS1lbmRdPVwiZmFsc2VcIlxuICBbY2xhc3Muc2hvd109XCJzaG93XCJcbiAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxuICA8IS0tIDxsaSAqbmdJZj1cImhlYWRlclRleHRcIj5cbiAgICA8aDYgY2xhc3M9XCJkcm9wZG93bi1oZWFkZXJcIj57eyBoZWFkZXJUZXh0IH19PC9oNj5cbiAgPC9saT4gLS0+XG4gIDxsaSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtc1wiPlxuICAgIDxzcGFuICpuZ0lmPVwiIWl0ZW0uZGl2aWRlcjsgZWxzZSBkaXZpZGVyVGVtcGxhdGVcIiBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIj5cbiAgICAgIDxuZy1jb250ZW50ICpuZ1RlbXBsYXRlT3V0bGV0PVwiaXRlbS50ZW1wbGF0ZVwiPjwvbmctY29udGVudD5cbiAgICA8L3NwYW4+XG4gIDwvbGk+XG48L3VsPlxuXG48bmctdGVtcGxhdGUgI2RpdmlkZXJUZW1wbGF0ZT5cbiAgPGhyIGNsYXNzPVwiZHJvcGRvd24tZGl2aWRlclwiIC8+XG48L25nLXRlbXBsYXRlPlxuXG48YVxuICAjbGlua0VsXG4gIGNsYXNzPVwiaW1wZGMtZHJvcGRvd24tbGlua1wiXG4gIFtjbGFzcy5oaWRlXT1cIiFsaW5rRWwuY2hpbGRyZW4ubGVuZ3RoXCJcbiAgW2NsYXNzLmltcGRjLWRyb3Bkb3duLW9wZW5dPVwic2hvd1wiXG4gIGRhdGEtYnMtdG9nZ2xlPVwiZHJvcGRvd25cIlxuICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cInNob3dcIlxuICAoY2xpY2spPVwiaGFuZGxlVG9nZ2xlKCk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJbdG9nZ2xlXVwiPjwvbmctY29udGVudD5cbjwvYT5cbiJdfQ==
@@ -58,13 +58,17 @@ export class ModalComponent {
58
58
  * Event emitted when the Modal content is accepted.
59
59
  */
60
60
  this.accept = new EventEmitter();
61
- this._interactableId = this._interactionService.add(this);
62
61
  }
63
62
  /**
64
63
  * Determines if the Modal should be shown immediately.
65
64
  */
66
65
  set show(show) {
67
- this._show = show;
66
+ if (show) {
67
+ this.open();
68
+ }
69
+ else {
70
+ this.close();
71
+ }
68
72
  }
69
73
  get interactableId() {
70
74
  return this._interactableId;
@@ -88,6 +92,7 @@ export class ModalComponent {
88
92
  return !this.titleText && !this.dismissable;
89
93
  }
90
94
  ngOnInit() {
95
+ this._interactableId = this._interactionService.add(this);
91
96
  if (this.dismissable === undefined && this.theme === ModalTheme.Working) {
92
97
  this.dismissable = true;
93
98
  }
@@ -104,35 +109,38 @@ export class ModalComponent {
104
109
  !!this.dismissEl?.nativeElement?.firstChild?.disabled) {
105
110
  return;
106
111
  }
107
- this._show = false;
112
+ this.close();
108
113
  this.dismiss.emit(event);
109
114
  }
110
115
  handleDeny(event) {
111
116
  if (!!this.denyEl?.nativeElement?.firstChild?.disabled) {
112
117
  return;
113
118
  }
114
- this._show = false;
119
+ this.close();
115
120
  this.deny.emit(event);
116
121
  }
117
122
  handleAccept(event) {
118
- console.log('this.acceptEl', this.acceptEl);
119
123
  if (!!this.acceptEl?.nativeElement?.firstChild?.disabled) {
120
124
  return;
121
125
  }
122
- this._show = false;
126
+ this.close();
123
127
  this.accept.emit(event);
124
128
  }
125
129
  /**
126
- * Opens/shows the modal programmatically.
130
+ * Opens/shows the modal. Can be used programmatically.
127
131
  */
128
132
  open() {
133
+ if (this.backdrop) {
134
+ this._interactionService.queueBackdrop(this.interactableId);
135
+ }
129
136
  this._show = true;
130
137
  }
131
138
  /**
132
- * Closes/hides the modal programmatically.
139
+ * Closes/hides the modal. Can be used programmatically.
133
140
  */
134
141
  close() {
135
142
  this._show = false;
143
+ this._interactionService.dequeueBackdrop(this.interactableId);
136
144
  }
137
145
  }
138
146
  ModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ModalComponent, deps: [{ token: i1.InteractionService }], target: i0.ɵɵFactoryTarget.Component });
@@ -176,4 +184,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
176
184
  }], accept: [{
177
185
  type: Output
178
186
  }] } });
179
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWNvbXBvbmVudHMvc3JjL2xpYi9tb2RhbC9tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL21vZGFsL21vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFNUMsT0FBTyxFQUF1QixVQUFVLEVBQWUsTUFBTSxTQUFTLENBQUM7Ozs7OztBQUV2RTs7Ozs7R0FLRztBQU1ILE1BQU0sT0FBTyxjQUFjO0lBdUd6QixZQUFvQixtQkFBdUM7UUFBdkMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFvQjtRQXRHbkQsb0JBQWUsR0FBRyxDQUFDLENBQUM7UUFDcEIsVUFBSyxHQUFHLEtBQUssQ0FBQztRQVV0Qjs7V0FFRztRQUVILFVBQUssR0FBZ0IsVUFBVSxDQUFDLE1BQU0sQ0FBQztRQUV2Qzs7V0FFRztRQUVILFNBQUksR0FBd0IsYUFBYSxDQUFDLE1BQU0sQ0FBQztRQVFqRDs7O1dBR0c7UUFFSCxjQUFTLEdBQXlCLE9BQU8sQ0FBQztRQUUxQzs7V0FFRztRQUVILGNBQVMsR0FBRyxFQUFFLENBQUM7UUFFZjs7V0FFRztRQUVILGVBQVUsR0FBRyxJQUFJLENBQUM7UUFRbEI7O1dBRUc7UUFFSCxTQUFJLEdBQUcsSUFBSSxDQUFDO1FBRVo7O1dBRUc7UUFFSCxhQUFRLEdBQUcsSUFBSSxDQUFDO1FBb0JoQjs7V0FFRztRQUVILFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBc0IsQ0FBQztRQUVqRDs7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RWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9udEF3ZXNvbWVJY29uLCBGb250QXdlc29tZUljb25UaGVtZSB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBJbnRlcmFjdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBDb21wb25lbnRTaXplIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgQnV0dG9uVGhlbWUgfSBmcm9tICcuLi9idXR0b24nO1xuaW1wb3J0IHsgTW9kYWxDb21wb25lbnRTaXplcywgTW9kYWxUaGVtZSwgTW9kYWxUaGVtZXMgfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiBUaGUgYE1vZGFsQ29tcG9uZW50YCAoYDxpbXBkYy1tb2RhbGApIGRpc3BsYXlzIG92ZXIgdGhlIGNvbnRlbnQgb2YgdGhlIHBhZ2Ugd2hlbiBhIHVzZXIgYWN0aW9uIGlzIHJlcXVpcmVkLlxuICogVG8gdXNlLCBpbXBvcnQgYE1vZGFsTW9kdWxlYCBvciBhbm90aGVyIG1vZHVsZSB0aGF0IGltcG9ydHMgYW5kIGV4cG9ydHMgdGhhdCBtb2R1bGUgZnJvbSBgQGltcGFydG5lci9kZXNpZ24tY29tcG9uZW50c2AuXG4gKiBgTW9kYWxNb2R1bGVgIGltcG9ydHMgYW5kIGV4cG9ydHMgQmFja2Ryb3BNb2R1bGUsIFtCdXR0b25Nb2R1bGVdKC4vP3BhdGg9L2RvY3MvZGVzaWduLWNvbXBvbmVudHMtYnV0dG9uKSxcbiAqIGFuZCBbSWNvbk1vZHVsZV0oLi8/cGF0aD0vZG9jcy9kZXNpZ24tY29tcG9uZW50cy1pY29uKS5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaW1wZGMtbW9kYWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tb2RhbC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIE1vZGFsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIF9pbnRlcmFjdGFibGVJZCA9IDA7XG4gIHByaXZhdGUgX3Nob3cgPSBmYWxzZTtcblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyBpZiB0aGUgTW9kYWwgc2hvdWxkIGJlIHNob3duIGltbWVkaWF0ZWx5LlxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IHNob3coc2hvdzogYm9vbGVhbikge1xuICAgIHRoaXMuX3Nob3cgPSBzaG93O1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSB0aGVtZSBvZiB0aGUgTW9kYWwuIEFmZmVjdHMgdGhlIGxheW91dCBvZiB0aGUgTW9kYWwgYXMgd2VsbCBhcyBzb21lIGNvbG9ycy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHRoZW1lOiBNb2RhbFRoZW1lcyA9IE1vZGFsVGhlbWUuU2ltcGxlO1xuXG4gIC8qKlxuICAgKiBUaGUgc2l6ZSBvZiB0aGUgTW9kYWwuXG4gICAqL1xuICBASW5wdXQoKVxuICBzaXplOiBNb2RhbENvbXBvbmVudFNpemVzID0gQ29tcG9uZW50U2l6ZS5NZWRpdW07XG5cbiAgLyoqXG4gICAqIFRoZSBGb250IEF3ZXNvbWUgNSBpY29uIG5hbWUuIE9ubHkgc3VwcG9ydGVkIHdoZW4gdGhlIHRoZW1lIGlzIFdvcmtpbmcgb3IgRGVzdHJ1Y3RpdmUuXG4gICAqL1xuICBASW5wdXQoKVxuICBpY29uTmFtZT86IEZvbnRBd2Vzb21lSWNvbjtcblxuICAvKipcbiAgICogVGhlIEZvbnQgQXdlc29tZSA1IGljb24gc3R5bGUuIEZld2VyIGljb25zIHN1cHBvcnQgdGhlIFJlZ3VsYXIgdGhlbWUgYW5kIHdpbGwgZmFsbGJhY2sgdG8gU29saWRcbiAgICogaWYgbm90IHN1cHBvcnRlZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGljb25UaGVtZTogRm9udEF3ZXNvbWVJY29uVGhlbWUgPSAnbGlnaHQnO1xuXG4gIC8qKlxuICAgKiBUaGUgc3ViamVjdCB0ZXh0IG9mIHRoZSBNb2RhbC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHRpdGxlVGV4dCA9ICcnO1xuXG4gIC8qKlxuICAgKiBUaGUgZmFsbGJhY2sgYnV0dG9uIHRleHQgdG8gYWNjZXB0IHRoZSBNb2RhbC4gVGhpcyBpcyBieXBhc3NlZCBpZiB5b3UgY29udGVudC1wcm9qZWN0IHRoZSBhY2NlcHQgYnV0dG9uLlxuICAgKi9cbiAgQElucHV0KClcbiAgYWNjZXB0VGV4dCA9ICdPSyc7XG5cbiAgLyoqXG4gICAqIEFsbG93cyB0aGUgTW9kYWwgdG8gYmUgZGlzbWlzc2VkLiBUaGlzIGlzIGRpZmZlcmVudCBmcm9tIGBhY2NlcHRgIGFuZCBgZGVueWAuIElmIGEgTW9kYWwgaXMgbWVhbnQgdG8gYmUgcmUtb3BlbmVkIGZyZXF1ZW50bHkgaXQgc2hvdWxkIGJlIGRpc21pc3NhYmxlLlxuICAgKi9cbiAgQElucHV0KClcbiAgZGlzbWlzc2FibGU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIGlmIHRoZSBNb2RhbCBzaG91bGQgZmFkZSBpbi9vdXQuXG4gICAqL1xuICBASW5wdXQoKVxuICBmYWRlID0gdHJ1ZTtcblxuICAvKipcbiAgICogU2hvd3MgYSBiYWNrZHJvcCBiZWhpbmQgdGhlIE1vZGFsLlxuICAgKi9cbiAgQElucHV0KClcbiAgYmFja2Ryb3AgPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBDb250YWlucyB0aGUgZGlzbWlzcyBidXR0b24gY29udGVudCBwcm9qZWN0aW9uLlxuICAgKi9cbiAgQFZpZXdDaGlsZCgnZGlzbWlzc0VsJywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIGRpc21pc3NFbCE6IEVsZW1lbnRSZWY7XG5cbiAgLyoqXG4gICAqIENvbnRhaW5zIHRoZSBkZW55IGJ1dHRvbiBjb250ZW50IHByb2plY3Rpb24uXG4gICAqL1xuICBAVmlld0NoaWxkKCdkZW55RWwnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgZGVueUVsITogRWxlbWVudFJlZjtcblxuICAvKipcbiAgICogQ29udGFpbnMgdGhlIGFjY2VwdCBidXR0b24gY29udGVudCBwcm9qZWN0aW9uLlxuICAgKi9cbiAgQFZpZXdDaGlsZCgnYWNjZXB0RWwnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgYWNjZXB0RWwhOiBFbGVtZW50UmVmO1xuXG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIE1vZGFsIGNvbnRlbnQgaXMgZGlzbWlzc2VkLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIGRpc21pc3MgPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQgfCBFdmVudD4oKTtcblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBNb2RhbCBjb250ZW50IGlzIGRlbmllZC5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBkZW55ID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50IHwgRXZlbnQ+KCk7XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgTW9kYWwgY29udGVudCBpcyBhY2NlcHRlZC5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBhY2NlcHQgPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQgfCBFdmVudD4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9pbnRlcmFjdGlvblNlcnZpY2U6IEludGVyYWN0aW9uU2VydmljZSkge1xuICAgIHRoaXMuX2ludGVyYWN0YWJsZUlkID0gdGhpcy5faW50ZXJhY3Rpb25TZXJ2aWNlLmFkZCh0aGlzKTtcbiAgfVxuXG4gIGdldCBpbnRlcmFjdGFibGVJZCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9pbnRlcmFjdGFibGVJZDtcbiAgfVxuXG4gIGdldCB2YWxpZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pbnRlcmFjdGFibGVJZCA+IDA7XG4gIH1cblxuICBnZXQgc2hvd24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudmFsaWQgJiYgdGhpcy5fc2hvdztcbiAgfVxuXG4gIGdldCBzaG93V29ya2luZ0ljb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5pY29uTmFtZSAmJiB0aGlzLnRoZW1lID09PSBNb2RhbFRoZW1lLldvcmtpbmc7XG4gIH1cblxuICBnZXQgc2hvd0Rlc3RydWN0aXZlSWNvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmljb25OYW1lICYmIHRoaXMudGhlbWUgPT09IE1vZGFsVGhlbWUuRGVzdHJ1Y3RpdmU7XG4gIH1cblxuICBnZXQgYWNjZXB0RmFsbGJhY2tUaGVtZSgpOiBCdXR0b25UaGVtZSB7XG4gICAgcmV0dXJuIHRoaXMudGhlbWUgPT09IE1vZGFsVGhlbWUuRGVzdHJ1Y3RpdmUgPyAnZGFuZ2VyJyA6ICdwcmltYXJ5JztcbiAgfVxuXG4gIGdldCBoaWRlSGVhZGVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy50aXRsZVRleHQgJiYgIXRoaXMuZGlzbWlzc2FibGU7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNtaXNzYWJsZSA9PT0gdW5kZWZpbmVkICYmIHRoaXMudGhlbWUgPT09IE1vZGFsVGhlbWUuV29ya2luZykge1xuICAgICAgdGhpcy5kaXNtaXNzYWJsZSA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaWNvbk5hbWUgPT09IHVuZGVmaW5lZCAmJiB0aGlzLnRoZW1lID09PSBNb2RhbFRoZW1lLkRlc3RydWN0aXZlKSB7XG4gICAgICB0aGlzLmljb25OYW1lID0gJ2V4Y2xhbWF0aW9uLXRyaWFuZ2xlJztcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9pbnRlcmFjdGlvblNlcnZpY2UucmVtb3ZlKHRoaXMuaW50ZXJhY3RhYmxlSWQpO1xuICAgIHRoaXMuX2ludGVyYWN0YWJsZUlkID0gMDtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVEaXNtaXNzKGV2ZW50OiBNb3VzZUV2ZW50IHwgRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICAhdGhpcy5kaXNtaXNzYWJsZSB8fFxuICAgICAgISF0aGlzLmRpc21pc3NFbD8ubmF0aXZlRWxlbWVudD8uZmlyc3RDaGlsZD8uZGlzYWJsZWRcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fc2hvdyA9IGZhbHNlO1xuICAgIHRoaXMuZGlzbWlzcy5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVEZW55KGV2ZW50OiBNb3VzZUV2ZW50IHwgRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoISF0aGlzLmRlbnlFbD8ubmF0aXZlRWxlbWVudD8uZmlyc3RDaGlsZD8uZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fc2hvdyA9IGZhbHNlO1xuICAgIHRoaXMuZGVueS5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVBY2NlcHQoZXZlbnQ6IE1vdXNlRXZlbnQgfCBFdmVudCk6IHZvaWQge1xuICAgIGNvbnNvbGUubG9nKCd0aGlzLmFjY2VwdEVsJywgdGhpcy5hY2NlcHRFbCk7XG4gICAgaWYgKCEhdGhpcy5hY2NlcHRFbD8ubmF0aXZlRWxlbWVudD8uZmlyc3RDaGlsZD8uZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fc2hvdyA9IGZhbHNlO1xuICAgIHRoaXMuYWNjZXB0LmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIE9wZW5zL3Nob3dzIHRoZSBtb2RhbCBwcm9ncmFtbWF0aWNhbGx5LlxuICAgKi9cbiAgb3BlbigpOiB2b2lkIHtcbiAgICB0aGlzLl9zaG93ID0gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbG9zZXMvaGlkZXMgdGhlIG1vZGFsIHByb2dyYW1tYXRpY2FsbHkuXG4gICAqL1xuICBjbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zaG93ID0gZmFsc2U7XG4gIH1cbn1cbiIsIjxkaXZcbiAgKm5nSWY9XCJ2YWxpZFwiXG4gIGNsYXNzPVwiaW1wZGMgbW9kYWxcIlxuICBbY2xhc3MuZmFkZV09XCJmYWRlXCJcbiAgW2NsYXNzLmluXT1cImZhZGUgJiYgc2hvd25cIlxuICBbY2xhc3Muc2hvd109XCJzaG93blwiXG4gIFtjbGFzcy5kaXNtaXNzYWJsZV09XCJkaXNtaXNzYWJsZVwiXG4gIHRhYmluZGV4PVwiLTFcIlxuICAoY2xpY2spPVwiaGFuZGxlRGlzbWlzcygkZXZlbnQpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAoa2V5ZG93bi5lc2NhcGUpPVwiaGFuZGxlRGlzbWlzcygkZXZlbnQpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAoa2V5ZG93bi5lbnRlcik9XCJoYW5kbGVBY2NlcHQoJGV2ZW50KTsgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XG4gIDxkaXZcbiAgICBjbGFzcz1cIm1vZGFsLWRpYWxvZyBtb2RhbC1kaWFsb2ctY2VudGVyZWQgbW9kYWwtZGlhbG9nLXNjcm9sbGFibGUgbW9kYWwtdGhlbWUte3tcbiAgICAgIHRoZW1lXG4gICAgfX1cIlxuICAgIFtjbGFzcy5tb2RhbC1zbV09XCJzaXplID09PSAnc20nXCJcbiAgICBbY2xhc3MubW9kYWwtbGddPVwic2l6ZSA9PT0gJ2xnJ1wiXG4gICAgW2NsYXNzLm1vZGFsLXhsXT1cInNpemUgPT09ICd4bCdcIlxuICAgIFtjbGFzcy5tb2RhbC1mdWxsc2NyZWVuXT1cInNpemUgPT09ICdmcydcIlxuICAgIFtjbGFzcy5tb2RhbC1mdWxsc2NyZWVuLWxnLWRvd25dPVwic2l6ZSAhPT0gJ2ZzJ1wiXG4gICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1jb250ZW50XCI+XG4gICAgICA8ZGl2ICpuZ0lmPVwic2hvd0Rlc3RydWN0aXZlSWNvblwiIGNsYXNzPVwibW9kYWwtaWNvblwiPlxuICAgICAgICA8c3BhbiBpbXBkYy1pY29uIFtuYW1lXT1cImljb25OYW1lXCIgW3RoZW1lXT1cImljb25UaGVtZVwiPjwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAjaGVhZGVyIGNsYXNzPVwibW9kYWwtaGVhZGVyXCIgW2NsYXNzLmhpZGVdPVwiaGlkZUhlYWRlclwiPlxuICAgICAgICA8aDMgY2xhc3M9XCJtb2RhbC10aXRsZVwiPlxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwic2hvd1dvcmtpbmdJY29uXCIgY2xhc3M9XCJtb2RhbC1pY29uXCI+XG4gICAgICAgICAgICA8c3BhbiBpbXBkYy1pY29uIFtuYW1lXT1cImljb25OYW1lXCIgW3RoZW1lXT1cImljb25UaGVtZVwiPjwvc3Bhbj5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPHNwYW4+e3sgdGl0bGVUZXh0IH19PC9zcGFuPlxuICAgICAgICA8L2gzPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgaW1wZGNCdXR0b25cbiAgICAgICAgICAqbmdJZj1cImRpc21pc3NhYmxlXCJcbiAgICAgICAgICB0aGVtZT1cImNsb3NlXCJcbiAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlRGlzbWlzcygkZXZlbnQpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj48L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAjYm9keUVsIGNsYXNzPVwibW9kYWwtYm9keVwiPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgI2Zvb3RlciBjbGFzcz1cIm1vZGFsLWZvb3RlclwiPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICNkaXNtaXNzRWxcbiAgICAgICAgICAqbmdJZj1cImRpc21pc3NhYmxlXCJcbiAgICAgICAgICBbY2xhc3MuaGlkZV09XCIhZGlzbWlzc0VsLmNoaWxkcmVuLmxlbmd0aFwiXG4gICAgICAgICAgKGNsaWNrKT1cImhhbmRsZURpc21pc3MoJGV2ZW50KTsgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XG4gICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2Rpc21pc3NdXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgI2RlbnlFbFxuICAgICAgICAgIFtjbGFzcy5oaWRlXT1cIiFkZW55RWwuY2hpbGRyZW4ubGVuZ3RoXCJcbiAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlRGVueSgkZXZlbnQpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cbiAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZGVueV1cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAjYWNjZXB0RWxcbiAgICAgICAgICBbY2xhc3MuaGlkZV09XCIhYWNjZXB0RWwuY2hpbGRyZW4ubGVuZ3RoXCJcbiAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlQWNjZXB0KCRldmVudCk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxuICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlthY2NlcHRdXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgI2FjY2VwdEZhbGxiYWNrRWxcbiAgICAgICAgICAqbmdJZj1cIiFhY2NlcHRFbC5jaGlsZHJlbi5sZW5ndGhcIlxuICAgICAgICAgIChjbGljayk9XCJoYW5kbGVBY2NlcHQoJGV2ZW50KTsgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgaW1wZGNCdXR0b25cbiAgICAgICAgICAgIFt0ZXh0XT1cImFjY2VwdFRleHRcIlxuICAgICAgICAgICAgW3RoZW1lXT1cImFjY2VwdEZhbGxiYWNrVGhlbWVcIj48L2J1dHRvbj5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
187
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWNvbXBvbmVudHMvc3JjL2xpYi9tb2RhbC9tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL21vZGFsL21vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFNUMsT0FBTyxFQUF1QixVQUFVLEVBQWUsTUFBTSxTQUFTLENBQUM7Ozs7OztBQUV2RTs7Ozs7R0FLRztBQU1ILE1BQU0sT0FBTyxjQUFjO0lBMkd6QixZQUFvQixtQkFBdUM7UUFBdkMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFvQjtRQTFHbkQsb0JBQWUsR0FBRyxDQUFDLENBQUM7UUFDcEIsVUFBSyxHQUFHLEtBQUssQ0FBQztRQWN0Qjs7V0FFRztRQUVILFVBQUssR0FBZ0IsVUFBVSxDQUFDLE1BQU0sQ0FBQztRQUV2Qzs7V0FFRztRQUVILFNBQUksR0FBd0IsYUFBYSxDQUFDLE1BQU0sQ0FBQztRQVFqRDs7O1dBR0c7UUFFSCxjQUFTLEdBQXlCLE9BQU8sQ0FBQztRQUUxQzs7V0FFRztRQUVILGNBQVMsR0FBRyxFQUFFLENBQUM7UUFFZjs7V0FFRztRQUVILGVBQVUsR0FBRyxJQUFJLENBQUM7UUFRbEI7O1dBRUc7UUFFSCxTQUFJLEdBQUcsSUFBSSxDQUFDO1FBRVo7O1dBRUc7UUFFSCxhQUFRLEdBQUcsSUFBSSxDQUFDO1FBb0JoQjs7V0FFRztRQUVILFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBc0IsQ0FBQztRQUVqRDs7V0FFRztRQUVILFNBQUksR0FBRyxJQUFJLFlBQVksRUFBc0IsQ0FBQztRQUU5Qzs7V0FFRztRQUVILFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBc0IsQ0FBQztJQUVjLENBQUM7SUF2Ry9EOztPQUVHO0lBQ0gsSUFDSSxJQUFJLENBQUMsSUFBYTtRQUNwQixJQUFJLElBQUksRUFBRTtZQUNSLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNiO2FBQU07WUFDTCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDZDtJQUNILENBQUM7SUErRkQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssVUFBVSxDQUFDLE9BQU8sQ0FBQztJQUM5RCxDQUFDO0lBRUQsSUFBSSxtQkFBbUI7UUFDckIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLFVBQVUsQ0FBQyxXQUFXLENBQUM7SUFDbEUsQ0FBQztJQUVELElBQUksbUJBQW1CO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUN0RSxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzlDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTFELElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxVQUFVLENBQUMsT0FBTyxFQUFFO1lBQ3ZFLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1NBQ3pCO1FBRUQsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLFVBQVUsQ0FBQyxXQUFXLEVBQUU7WUFDeEUsSUFBSSxDQUFDLFFBQVEsR0FBRyxzQkFBc0IsQ0FBQztTQUN4QztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVTLGFBQWEsQ0FBQyxLQUF5QjtRQUMvQyxJQUNFLENBQUMsSUFBSSxDQUFDLFdBQVc7WUFDakIsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQ3JEO1lBQ0EsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVTLFVBQVUsQ0FBQyxLQUF5QjtRQUM1QyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFO1lBQ3RELE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFUyxZQUFZLENBQUMsS0FBeUI7UUFDOUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRTtZQUN4RCxPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDYixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJO1FBQ0YsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQzdEO1FBQ0QsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7SUFDcEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSztRQUNILElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7OzRHQXJNVSxjQUFjO2dHQUFkLGNBQWMsOGxCQzNCM0IsaXFGQTBFQTs0RkQvQ2EsY0FBYztrQkFMMUIsU0FBUzsrQkFDRSxhQUFhO3lHQVluQixJQUFJO3NCQURQLEtBQUs7Z0JBYU4sS0FBSztzQkFESixLQUFLO2dCQU9OLElBQUk7c0JBREgsS0FBSztnQkFPTixRQUFRO3NCQURQLEtBQUs7Z0JBUU4sU0FBUztzQkFEUixLQUFLO2dCQU9OLFNBQVM7c0JBRFIsS0FBSztnQkFPTixVQUFVO3NCQURULEtBQUs7Z0JBT04sV0FBVztzQkFEVixLQUFLO2dCQU9OLElBQUk7c0JBREgsS0FBSztnQkFPTixRQUFRO3NCQURQLEtBQUs7Z0JBT04sU0FBUztzQkFEUixTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBT3pDLE1BQU07c0JBREwsU0FBUzt1QkFBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQU90QyxRQUFRO3NCQURQLFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFPeEMsT0FBTztzQkFETixNQUFNO2dCQU9QLElBQUk7c0JBREgsTUFBTTtnQkFPUCxNQUFNO3NCQURMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvbnRBd2Vzb21lSWNvbiwgRm9udEF3ZXNvbWVJY29uVGhlbWUgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgSW50ZXJhY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgQ29tcG9uZW50U2l6ZSB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IEJ1dHRvblRoZW1lIH0gZnJvbSAnLi4vYnV0dG9uJztcbmltcG9ydCB7IE1vZGFsQ29tcG9uZW50U2l6ZXMsIE1vZGFsVGhlbWUsIE1vZGFsVGhlbWVzIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogVGhlIGBNb2RhbENvbXBvbmVudGAgKGA8aW1wZGMtbW9kYWxgKSBkaXNwbGF5cyBvdmVyIHRoZSBjb250ZW50IG9mIHRoZSBwYWdlIHdoZW4gYSB1c2VyIGFjdGlvbiBpcyByZXF1aXJlZC5cbiAqIFRvIHVzZSwgaW1wb3J0IGBNb2RhbE1vZHVsZWAgb3IgYW5vdGhlciBtb2R1bGUgdGhhdCBpbXBvcnRzIGFuZCBleHBvcnRzIHRoYXQgbW9kdWxlIGZyb20gYEBpbXBhcnRuZXIvZGVzaWduLWNvbXBvbmVudHNgLlxuICogYE1vZGFsTW9kdWxlYCBpbXBvcnRzIGFuZCBleHBvcnRzIEJhY2tkcm9wTW9kdWxlLCBbQnV0dG9uTW9kdWxlXSguLz9wYXRoPS9kb2NzL2Rlc2lnbi1jb21wb25lbnRzLWJ1dHRvbiksXG4gKiBhbmQgW0ljb25Nb2R1bGVdKC4vP3BhdGg9L2RvY3MvZGVzaWduLWNvbXBvbmVudHMtaWNvbikuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ltcGRjLW1vZGFsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbW9kYWwuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBfaW50ZXJhY3RhYmxlSWQgPSAwO1xuICBwcml2YXRlIF9zaG93ID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgaWYgdGhlIE1vZGFsIHNob3VsZCBiZSBzaG93biBpbW1lZGlhdGVseS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBzaG93KHNob3c6IGJvb2xlYW4pIHtcbiAgICBpZiAoc2hvdykge1xuICAgICAgdGhpcy5vcGVuKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVGhlIHRoZW1lIG9mIHRoZSBNb2RhbC4gQWZmZWN0cyB0aGUgbGF5b3V0IG9mIHRoZSBNb2RhbCBhcyB3ZWxsIGFzIHNvbWUgY29sb3JzLlxuICAgKi9cbiAgQElucHV0KClcbiAgdGhlbWU6IE1vZGFsVGhlbWVzID0gTW9kYWxUaGVtZS5TaW1wbGU7XG5cbiAgLyoqXG4gICAqIFRoZSBzaXplIG9mIHRoZSBNb2RhbC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHNpemU6IE1vZGFsQ29tcG9uZW50U2l6ZXMgPSBDb21wb25lbnRTaXplLk1lZGl1bTtcblxuICAvKipcbiAgICogVGhlIEZvbnQgQXdlc29tZSA1IGljb24gbmFtZS4gT25seSBzdXBwb3J0ZWQgd2hlbiB0aGUgdGhlbWUgaXMgV29ya2luZyBvciBEZXN0cnVjdGl2ZS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGljb25OYW1lPzogRm9udEF3ZXNvbWVJY29uO1xuXG4gIC8qKlxuICAgKiBUaGUgRm9udCBBd2Vzb21lIDUgaWNvbiBzdHlsZS4gRmV3ZXIgaWNvbnMgc3VwcG9ydCB0aGUgUmVndWxhciB0aGVtZSBhbmQgd2lsbCBmYWxsYmFjayB0byBTb2xpZFxuICAgKiBpZiBub3Qgc3VwcG9ydGVkLlxuICAgKi9cbiAgQElucHV0KClcbiAgaWNvblRoZW1lOiBGb250QXdlc29tZUljb25UaGVtZSA9ICdsaWdodCc7XG5cbiAgLyoqXG4gICAqIFRoZSBzdWJqZWN0IHRleHQgb2YgdGhlIE1vZGFsLlxuICAgKi9cbiAgQElucHV0KClcbiAgdGl0bGVUZXh0ID0gJyc7XG5cbiAgLyoqXG4gICAqIFRoZSBmYWxsYmFjayBidXR0b24gdGV4dCB0byBhY2NlcHQgdGhlIE1vZGFsLiBUaGlzIGlzIGJ5cGFzc2VkIGlmIHlvdSBjb250ZW50LXByb2plY3QgdGhlIGFjY2VwdCBidXR0b24uXG4gICAqL1xuICBASW5wdXQoKVxuICBhY2NlcHRUZXh0ID0gJ09LJztcblxuICAvKipcbiAgICogQWxsb3dzIHRoZSBNb2RhbCB0byBiZSBkaXNtaXNzZWQuIFRoaXMgaXMgZGlmZmVyZW50IGZyb20gYGFjY2VwdGAgYW5kIGBkZW55YC4gSWYgYSBNb2RhbCBpcyBtZWFudCB0byBiZSByZS1vcGVuZWQgZnJlcXVlbnRseSBpdCBzaG91bGQgYmUgZGlzbWlzc2FibGUuXG4gICAqL1xuICBASW5wdXQoKVxuICBkaXNtaXNzYWJsZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgaWYgdGhlIE1vZGFsIHNob3VsZCBmYWRlIGluL291dC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGZhZGUgPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBTaG93cyBhIGJhY2tkcm9wIGJlaGluZCB0aGUgTW9kYWwuXG4gICAqL1xuICBASW5wdXQoKVxuICBiYWNrZHJvcCA9IHRydWU7XG5cbiAgLyoqXG4gICAqIENvbnRhaW5zIHRoZSBkaXNtaXNzIGJ1dHRvbiBjb250ZW50IHByb2plY3Rpb24uXG4gICAqL1xuICBAVmlld0NoaWxkKCdkaXNtaXNzRWwnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgZGlzbWlzc0VsITogRWxlbWVudFJlZjtcblxuICAvKipcbiAgICogQ29udGFpbnMgdGhlIGRlbnkgYnV0dG9uIGNvbnRlbnQgcHJvamVjdGlvbi5cbiAgICovXG4gIEBWaWV3Q2hpbGQoJ2RlbnlFbCcsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBkZW55RWwhOiBFbGVtZW50UmVmO1xuXG4gIC8qKlxuICAgKiBDb250YWlucyB0aGUgYWNjZXB0IGJ1dHRvbiBjb250ZW50IHByb2plY3Rpb24uXG4gICAqL1xuICBAVmlld0NoaWxkKCdhY2NlcHRFbCcsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBhY2NlcHRFbCE6IEVsZW1lbnRSZWY7XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgTW9kYWwgY29udGVudCBpcyBkaXNtaXNzZWQuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgZGlzbWlzcyA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudCB8IEV2ZW50PigpO1xuXG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIE1vZGFsIGNvbnRlbnQgaXMgZGVuaWVkLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIGRlbnkgPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQgfCBFdmVudD4oKTtcblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBNb2RhbCBjb250ZW50IGlzIGFjY2VwdGVkLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIGFjY2VwdCA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudCB8IEV2ZW50PigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2ludGVyYWN0aW9uU2VydmljZTogSW50ZXJhY3Rpb25TZXJ2aWNlKSB7fVxuXG4gIGdldCBpbnRlcmFjdGFibGVJZCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9pbnRlcmFjdGFibGVJZDtcbiAgfVxuXG4gIGdldCB2YWxpZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pbnRlcmFjdGFibGVJZCA+IDA7XG4gIH1cblxuICBnZXQgc2hvd24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudmFsaWQgJiYgdGhpcy5fc2hvdztcbiAgfVxuXG4gIGdldCBzaG93V29ya2luZ0ljb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5pY29uTmFtZSAmJiB0aGlzLnRoZW1lID09PSBNb2RhbFRoZW1lLldvcmtpbmc7XG4gIH1cblxuICBnZXQgc2hvd0Rlc3RydWN0aXZlSWNvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmljb25OYW1lICYmIHRoaXMudGhlbWUgPT09IE1vZGFsVGhlbWUuRGVzdHJ1Y3RpdmU7XG4gIH1cblxuICBnZXQgYWNjZXB0RmFsbGJhY2tUaGVtZSgpOiBCdXR0b25UaGVtZSB7XG4gICAgcmV0dXJuIHRoaXMudGhlbWUgPT09IE1vZGFsVGhlbWUuRGVzdHJ1Y3RpdmUgPyAnZGFuZ2VyJyA6ICdwcmltYXJ5JztcbiAgfVxuXG4gIGdldCBoaWRlSGVhZGVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy50aXRsZVRleHQgJiYgIXRoaXMuZGlzbWlzc2FibGU7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9pbnRlcmFjdGFibGVJZCA9IHRoaXMuX2ludGVyYWN0aW9uU2VydmljZS5hZGQodGhpcyk7XG5cbiAgICBpZiAodGhpcy5kaXNtaXNzYWJsZSA9PT0gdW5kZWZpbmVkICYmIHRoaXMudGhlbWUgPT09IE1vZGFsVGhlbWUuV29ya2luZykge1xuICAgICAgdGhpcy5kaXNtaXNzYWJsZSA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaWNvbk5hbWUgPT09IHVuZGVmaW5lZCAmJiB0aGlzLnRoZW1lID09PSBNb2RhbFRoZW1lLkRlc3RydWN0aXZlKSB7XG4gICAgICB0aGlzLmljb25OYW1lID0gJ2V4Y2xhbWF0aW9uLXRyaWFuZ2xlJztcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9pbnRlcmFjdGlvblNlcnZpY2UucmVtb3ZlKHRoaXMuaW50ZXJhY3RhYmxlSWQpO1xuICAgIHRoaXMuX2ludGVyYWN0YWJsZUlkID0gMDtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVEaXNtaXNzKGV2ZW50OiBNb3VzZUV2ZW50IHwgRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICAhdGhpcy5kaXNtaXNzYWJsZSB8fFxuICAgICAgISF0aGlzLmRpc21pc3NFbD8ubmF0aXZlRWxlbWVudD8uZmlyc3RDaGlsZD8uZGlzYWJsZWRcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5jbG9zZSgpO1xuICAgIHRoaXMuZGlzbWlzcy5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVEZW55KGV2ZW50OiBNb3VzZUV2ZW50IHwgRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoISF0aGlzLmRlbnlFbD8ubmF0aXZlRWxlbWVudD8uZmlyc3RDaGlsZD8uZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5jbG9zZSgpO1xuICAgIHRoaXMuZGVueS5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVBY2NlcHQoZXZlbnQ6IE1vdXNlRXZlbnQgfCBFdmVudCk6IHZvaWQge1xuICAgIGlmICghIXRoaXMuYWNjZXB0RWw/Lm5hdGl2ZUVsZW1lbnQ/LmZpcnN0Q2hpbGQ/LmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuY2xvc2UoKTtcbiAgICB0aGlzLmFjY2VwdC5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPcGVucy9zaG93cyB0aGUgbW9kYWwuIENhbiBiZSB1c2VkIHByb2dyYW1tYXRpY2FsbHkuXG4gICAqL1xuICBvcGVuKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmJhY2tkcm9wKSB7XG4gICAgICB0aGlzLl9pbnRlcmFjdGlvblNlcnZpY2UucXVldWVCYWNrZHJvcCh0aGlzLmludGVyYWN0YWJsZUlkKTtcbiAgICB9XG4gICAgdGhpcy5fc2hvdyA9IHRydWU7XG4gIH1cblxuICAvKipcbiAgICogQ2xvc2VzL2hpZGVzIHRoZSBtb2RhbC4gQ2FuIGJlIHVzZWQgcHJvZ3JhbW1hdGljYWxseS5cbiAgICovXG4gIGNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuX3Nob3cgPSBmYWxzZTtcbiAgICB0aGlzLl9pbnRlcmFjdGlvblNlcnZpY2UuZGVxdWV1ZUJhY2tkcm9wKHRoaXMuaW50ZXJhY3RhYmxlSWQpO1xuICB9XG59XG4iLCI8ZGl2XG4gICpuZ0lmPVwidmFsaWRcIlxuICBjbGFzcz1cImltcGRjIG1vZGFsXCJcbiAgW2NsYXNzLmZhZGVdPVwiZmFkZVwiXG4gIFtjbGFzcy5pbl09XCJmYWRlICYmIHNob3duXCJcbiAgW2NsYXNzLnNob3ddPVwic2hvd25cIlxuICBbY2xhc3MuZGlzbWlzc2FibGVdPVwiZGlzbWlzc2FibGVcIlxuICB0YWJpbmRleD1cIi0xXCJcbiAgKGNsaWNrKT1cImhhbmRsZURpc21pc3MoJGV2ZW50KTsgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgKGtleWRvd24uZXNjYXBlKT1cImhhbmRsZURpc21pc3MoJGV2ZW50KTsgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgKGtleWRvd24uZW50ZXIpPVwiaGFuZGxlQWNjZXB0KCRldmVudCk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJtb2RhbC1kaWFsb2cgbW9kYWwtZGlhbG9nLWNlbnRlcmVkIG1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIG1vZGFsLXRoZW1lLXt7XG4gICAgICB0aGVtZVxuICAgIH19XCJcbiAgICBbY2xhc3MubW9kYWwtc21dPVwic2l6ZSA9PT0gJ3NtJ1wiXG4gICAgW2NsYXNzLm1vZGFsLWxnXT1cInNpemUgPT09ICdsZydcIlxuICAgIFtjbGFzcy5tb2RhbC14bF09XCJzaXplID09PSAneGwnXCJcbiAgICBbY2xhc3MubW9kYWwtZnVsbHNjcmVlbl09XCJzaXplID09PSAnZnMnXCJcbiAgICBbY2xhc3MubW9kYWwtZnVsbHNjcmVlbi1sZy1kb3duXT1cInNpemUgIT09ICdmcydcIlxuICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cbiAgICA8ZGl2IGNsYXNzPVwibW9kYWwtY29udGVudFwiPlxuICAgICAgPGRpdiAqbmdJZj1cInNob3dEZXN0cnVjdGl2ZUljb25cIiBjbGFzcz1cIm1vZGFsLWljb25cIj5cbiAgICAgICAgPHNwYW4gaW1wZGMtaWNvbiBbbmFtZV09XCJpY29uTmFtZVwiIFt0aGVtZV09XCJpY29uVGhlbWVcIj48L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgI2hlYWRlciBjbGFzcz1cIm1vZGFsLWhlYWRlclwiIFtjbGFzcy5oaWRlXT1cImhpZGVIZWFkZXJcIj5cbiAgICAgICAgPGgzIGNsYXNzPVwibW9kYWwtdGl0bGVcIj5cbiAgICAgICAgICA8c3BhbiAqbmdJZj1cInNob3dXb3JraW5nSWNvblwiIGNsYXNzPVwibW9kYWwtaWNvblwiPlxuICAgICAgICAgICAgPHNwYW4gaW1wZGMtaWNvbiBbbmFtZV09XCJpY29uTmFtZVwiIFt0aGVtZV09XCJpY29uVGhlbWVcIj48L3NwYW4+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxzcGFuPnt7IHRpdGxlVGV4dCB9fTwvc3Bhbj5cbiAgICAgICAgPC9oMz5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGltcGRjQnV0dG9uXG4gICAgICAgICAgKm5nSWY9XCJkaXNtaXNzYWJsZVwiXG4gICAgICAgICAgdGhlbWU9XCJjbG9zZVwiXG4gICAgICAgICAgKGNsaWNrKT1cImhhbmRsZURpc21pc3MoJGV2ZW50KTsgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+PC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgI2JvZHlFbCBjbGFzcz1cIm1vZGFsLWJvZHlcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICNmb290ZXIgY2xhc3M9XCJtb2RhbC1mb290ZXJcIj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAjZGlzbWlzc0VsXG4gICAgICAgICAgKm5nSWY9XCJkaXNtaXNzYWJsZVwiXG4gICAgICAgICAgW2NsYXNzLmhpZGVdPVwiIWRpc21pc3NFbC5jaGlsZHJlbi5sZW5ndGhcIlxuICAgICAgICAgIChjbGljayk9XCJoYW5kbGVEaXNtaXNzKCRldmVudCk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxuICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltkaXNtaXNzXVwiPjwvbmctY29udGVudD5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICNkZW55RWxcbiAgICAgICAgICBbY2xhc3MuaGlkZV09XCIhZGVueUVsLmNoaWxkcmVuLmxlbmd0aFwiXG4gICAgICAgICAgKGNsaWNrKT1cImhhbmRsZURlbnkoJGV2ZW50KTsgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XG4gICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2RlbnldXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgI2FjY2VwdEVsXG4gICAgICAgICAgW2NsYXNzLmhpZGVdPVwiIWFjY2VwdEVsLmNoaWxkcmVuLmxlbmd0aFwiXG4gICAgICAgICAgKGNsaWNrKT1cImhhbmRsZUFjY2VwdCgkZXZlbnQpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cbiAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbYWNjZXB0XVwiPjwvbmctY29udGVudD5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICNhY2NlcHRGYWxsYmFja0VsXG4gICAgICAgICAgKm5nSWY9XCIhYWNjZXB0RWwuY2hpbGRyZW4ubGVuZ3RoXCJcbiAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlQWNjZXB0KCRldmVudCk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGltcGRjQnV0dG9uXG4gICAgICAgICAgICBbdGV4dF09XCJhY2NlcHRUZXh0XCJcbiAgICAgICAgICAgIFt0aGVtZV09XCJhY2NlcHRGYWxsYmFja1RoZW1lXCI+PC9idXR0b24+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,12 +1,13 @@
1
1
  import { Injectable } from '@angular/core';
2
- import { DropdownComponent, ModalComponent } from '../lib';
2
+ import { DropdownComponent } from '../lib';
3
3
  import * as i0 from "@angular/core";
4
4
  export class InteractionService {
5
5
  constructor() {
6
6
  this._interactables = [];
7
+ this._backdropQueue = [];
7
8
  }
8
9
  get showBackdrop() {
9
- return this._interactables.some(i => i instanceof ModalComponent && i.shown && i.backdrop);
10
+ return this._backdropQueue.length > 0;
10
11
  }
11
12
  registerBackdrop(modalBackdrop) {
12
13
  // WARNING: there should only be 1 backdrop component, preferably loaded in the body
@@ -28,8 +29,12 @@ export class InteractionService {
28
29
  }
29
30
  }
30
31
  add(interactable) {
31
- if (interactable.interactableId > 0) {
32
- return interactable.interactableId;
32
+ const interactableId = interactable.interactableId;
33
+ if (interactableId > 0) {
34
+ if (!this._interactables.some(i => i.interactableId === interactableId)) {
35
+ this._interactables.push(interactable);
36
+ }
37
+ return interactableId;
33
38
  }
34
39
  this._interactables.push(interactable);
35
40
  return this._interactables.length;
@@ -39,6 +44,7 @@ export class InteractionService {
39
44
  return;
40
45
  }
41
46
  this._interactables.splice(interactableId - 1, 1);
47
+ this.dequeueBackdrop(interactableId);
42
48
  }
43
49
  toggle(interactable) {
44
50
  if (interactable.interactableId <= 0 || interactable.show) {
@@ -52,6 +58,17 @@ export class InteractionService {
52
58
  }
53
59
  return true;
54
60
  }
61
+ queueBackdrop(interactableId) {
62
+ if (!this._backdropQueue.includes(interactableId)) {
63
+ this._backdropQueue.push(interactableId);
64
+ }
65
+ }
66
+ dequeueBackdrop(interactableId) {
67
+ const interactableIdIndex = this._backdropQueue.indexOf(interactableId);
68
+ if (interactableIdIndex !== -1) {
69
+ this._backdropQueue.splice(interactableIdIndex, 1);
70
+ }
71
+ }
55
72
  }
56
73
  InteractionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: InteractionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
57
74
  InteractionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: InteractionService, providedIn: 'root' });
@@ -61,4 +78,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
61
78
  providedIn: 'root'
62
79
  }]
63
80
  }] });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1jb21wb25lbnRzL3NyYy9zZXJ2aWNlcy9pbnRlcmFjdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFxQixpQkFBaUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxRQUFRLENBQUM7O0FBTzlFLE1BQU0sT0FBTyxrQkFBa0I7SUFIL0I7UUFLVSxtQkFBYyxHQUE0QixFQUFFLENBQUM7S0F1RHREO0lBckRDLElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQzdCLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxZQUFZLGNBQWMsSUFBSSxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQzFELENBQUM7SUFDSixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsYUFBZ0M7UUFDL0Msb0ZBQW9GO1FBQ3BGLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ25CLElBQUksQ0FBQyxTQUFTLEdBQUcsYUFBYSxDQUFDO1NBQ2hDO2FBQU0sSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLGFBQWEsRUFBRTtZQUMzQyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsYUFBYSxDQUFDO1lBQy9CLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFO2dCQUN4Qix1REFBdUQ7Z0JBQ3ZELGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQzthQUMxQjtTQUNGO0lBQ0gsQ0FBQztJQUVELGtCQUFrQixDQUFDLGFBQWdDO1FBQ2pELElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxhQUFhLEVBQUU7WUFDcEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7U0FDNUI7SUFDSCxDQUFDO0lBRUQsR0FBRyxDQUFDLFlBQW1DO1FBQ3JDLElBQUksWUFBWSxDQUFDLGNBQWMsR0FBRyxDQUFDLEVBQUU7WUFDbkMsT0FBTyxZQUFZLENBQUMsY0FBYyxDQUFDO1NBQ3BDO1FBQ0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDdkMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQztJQUNwQyxDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQXNCO1FBQzNCLElBQUksY0FBYyxJQUFJLENBQUMsSUFBSSxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUU7WUFDdEUsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsY0FBYyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsTUFBTSxDQUFDLFlBQW1DO1FBQ3hDLElBQUksWUFBWSxDQUFDLGNBQWMsSUFBSSxDQUFDLElBQUksWUFBWSxDQUFDLElBQUksRUFBRTtZQUN6RCx3REFBd0Q7WUFDeEQsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELEtBQUssTUFBTSxpQkFBaUIsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN6RSxJQUFJLGlCQUFpQixZQUFZLGlCQUFpQixFQUFFO2dCQUNsRCxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQzthQUMxQjtTQUNGO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOztnSEF4RFUsa0JBQWtCO29IQUFsQixrQkFBa0IsY0FGakIsTUFBTTs0RkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFja2Ryb3BDb21wb25lbnQsIERyb3Bkb3duQ29tcG9uZW50LCBNb2RhbENvbXBvbmVudCB9IGZyb20gJy4uL2xpYic7XG5cbmV4cG9ydCB0eXBlIEludGVyYWN0YWJsZUNvbXBvbmVudCA9IE1vZGFsQ29tcG9uZW50IHwgRHJvcGRvd25Db21wb25lbnQ7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEludGVyYWN0aW9uU2VydmljZSB7XG4gIHByaXZhdGUgX2JhY2tkcm9wPzogQmFja2Ryb3BDb21wb25lbnQ7XG4gIHByaXZhdGUgX2ludGVyYWN0YWJsZXM6IEludGVyYWN0YWJsZUNvbXBvbmVudFtdID0gW107XG5cbiAgZ2V0IHNob3dCYWNrZHJvcCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faW50ZXJhY3RhYmxlcy5zb21lKFxuICAgICAgaSA9PiBpIGluc3RhbmNlb2YgTW9kYWxDb21wb25lbnQgJiYgaS5zaG93biAmJiBpLmJhY2tkcm9wXG4gICAgKTtcbiAgfVxuXG4gIHJlZ2lzdGVyQmFja2Ryb3AobW9kYWxCYWNrZHJvcDogQmFja2Ryb3BDb21wb25lbnQpIHtcbiAgICAvLyBXQVJOSU5HOiB0aGVyZSBzaG91bGQgb25seSBiZSAxIGJhY2tkcm9wIGNvbXBvbmVudCwgcHJlZmVyYWJseSBsb2FkZWQgaW4gdGhlIGJvZHlcbiAgICBpZiAoIXRoaXMuX2JhY2tkcm9wKSB7XG4gICAgICB0aGlzLl9iYWNrZHJvcCA9IG1vZGFsQmFja2Ryb3A7XG4gICAgfSBlbHNlIGlmICh0aGlzLl9iYWNrZHJvcCAhPT0gbW9kYWxCYWNrZHJvcCkge1xuICAgICAgdGhpcy5fYmFja2Ryb3AuaW52YWxpZGF0ZSgpO1xuICAgICAgdGhpcy5fYmFja2Ryb3AgPSBtb2RhbEJhY2tkcm9wO1xuICAgICAgaWYgKCFtb2RhbEJhY2tkcm9wLnZhbGlkKSB7XG4gICAgICAgIC8vIHdlIGludmFsaWRhdGVkIGFuZCBzZXQgYmFja2Ryb3AgdG8gdGhlIHNhbWUgYmFja2Ryb3BcbiAgICAgICAgbW9kYWxCYWNrZHJvcC52YWxpZGF0ZSgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHVucmVnaXN0ZXJCYWNrZHJvcChtb2RhbEJhY2tkcm9wOiBCYWNrZHJvcENvbXBvbmVudCkge1xuICAgIGlmICh0aGlzLl9iYWNrZHJvcCA9PT0gbW9kYWxCYWNrZHJvcCkge1xuICAgICAgdGhpcy5fYmFja2Ryb3AgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgYWRkKGludGVyYWN0YWJsZTogSW50ZXJhY3RhYmxlQ29tcG9uZW50KTogbnVtYmVyIHtcbiAgICBpZiAoaW50ZXJhY3RhYmxlLmludGVyYWN0YWJsZUlkID4gMCkge1xuICAgICAgcmV0dXJuIGludGVyYWN0YWJsZS5pbnRlcmFjdGFibGVJZDtcbiAgICB9XG4gICAgdGhpcy5faW50ZXJhY3RhYmxlcy5wdXNoKGludGVyYWN0YWJsZSk7XG4gICAgcmV0dXJuIHRoaXMuX2ludGVyYWN0YWJsZXMubGVuZ3RoO1xuICB9XG5cbiAgcmVtb3ZlKGludGVyYWN0YWJsZUlkOiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAoaW50ZXJhY3RhYmxlSWQgPD0gMCB8fCBpbnRlcmFjdGFibGVJZCA+IHRoaXMuX2ludGVyYWN0YWJsZXMubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX2ludGVyYWN0YWJsZXMuc3BsaWNlKGludGVyYWN0YWJsZUlkIC0gMSwgMSk7XG4gIH1cblxuICB0b2dnbGUoaW50ZXJhY3RhYmxlOiBJbnRlcmFjdGFibGVDb21wb25lbnQpOiBib29sZWFuIHtcbiAgICBpZiAoaW50ZXJhY3RhYmxlLmludGVyYWN0YWJsZUlkIDw9IDAgfHwgaW50ZXJhY3RhYmxlLnNob3cpIHtcbiAgICAgIC8vIG90aGVyIGludGVyYWN0YWJsZXMgZG9uJ3QgbmVlZCB0byBiZSBhbHRlcmVkL25vdGlmaWVkXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGZvciAoY29uc3Qgb3RoZXJJbnRlcmFjdGFibGUgb2YgdGhpcy5faW50ZXJhY3RhYmxlcy5maWx0ZXIob2kgPT4gb2kuc2hvdykpIHtcbiAgICAgIGlmIChvdGhlckludGVyYWN0YWJsZSBpbnN0YW5jZW9mIERyb3Bkb3duQ29tcG9uZW50KSB7XG4gICAgICAgIG90aGVySW50ZXJhY3RhYmxlLmhpZGUoKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cbiJdfQ==
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1jb21wb25lbnRzL3NyYy9zZXJ2aWNlcy9pbnRlcmFjdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFxQixpQkFBaUIsRUFBa0IsTUFBTSxRQUFRLENBQUM7O0FBTzlFLE1BQU0sT0FBTyxrQkFBa0I7SUFIL0I7UUFLVSxtQkFBYyxHQUE0QixFQUFFLENBQUM7UUFDN0MsbUJBQWMsR0FBYSxFQUFFLENBQUM7S0F1RXZDO0lBckVDLElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxhQUFnQztRQUMvQyxvRkFBb0Y7UUFDcEYsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxhQUFhLENBQUM7U0FDaEM7YUFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssYUFBYSxFQUFFO1lBQzNDLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxhQUFhLENBQUM7WUFDL0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUU7Z0JBQ3hCLHVEQUF1RDtnQkFDdkQsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO2FBQzFCO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsYUFBZ0M7UUFDakQsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLGFBQWEsRUFBRTtZQUNwQyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztTQUM1QjtJQUNILENBQUM7SUFFRCxHQUFHLENBQUMsWUFBbUM7UUFDckMsTUFBTSxjQUFjLEdBQUcsWUFBWSxDQUFDLGNBQWMsQ0FBQztRQUNuRCxJQUFJLGNBQWMsR0FBRyxDQUFDLEVBQUU7WUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGNBQWMsS0FBSyxjQUFjLENBQUMsRUFBRTtnQkFDdkUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDeEM7WUFDRCxPQUFPLGNBQWMsQ0FBQztTQUN2QjtRQUNELElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUM7SUFDcEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxjQUFzQjtRQUMzQixJQUFJLGNBQWMsSUFBSSxDQUFDLElBQUksY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFO1lBQ3RFLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLGNBQWMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsTUFBTSxDQUFDLFlBQW1DO1FBQ3hDLElBQUksWUFBWSxDQUFDLGNBQWMsSUFBSSxDQUFDLElBQUksWUFBWSxDQUFDLElBQUksRUFBRTtZQUN6RCx3REFBd0Q7WUFDeEQsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELEtBQUssTUFBTSxpQkFBaUIsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN6RSxJQUFJLGlCQUFpQixZQUFZLGlCQUFpQixFQUFFO2dCQUNsRCxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQzthQUMxQjtTQUNGO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsYUFBYSxDQUFDLGNBQXNCO1FBQ2xDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsRUFBRTtZQUNqRCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUMxQztJQUNILENBQUM7SUFFRCxlQUFlLENBQUMsY0FBc0I7UUFDcEMsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN4RSxJQUFJLG1CQUFtQixLQUFLLENBQUMsQ0FBQyxFQUFFO1lBQzlCLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ3BEO0lBQ0gsQ0FBQzs7Z0hBekVVLGtCQUFrQjtvSEFBbEIsa0JBQWtCLGNBRmpCLE1BQU07NEZBRVAsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhY2tkcm9wQ29tcG9uZW50LCBEcm9wZG93bkNvbXBvbmVudCwgTW9kYWxDb21wb25lbnQgfSBmcm9tICcuLi9saWInO1xuXG5leHBvcnQgdHlwZSBJbnRlcmFjdGFibGVDb21wb25lbnQgPSBNb2RhbENvbXBvbmVudCB8IERyb3Bkb3duQ29tcG9uZW50O1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBJbnRlcmFjdGlvblNlcnZpY2Uge1xuICBwcml2YXRlIF9iYWNrZHJvcD86IEJhY2tkcm9wQ29tcG9uZW50O1xuICBwcml2YXRlIF9pbnRlcmFjdGFibGVzOiBJbnRlcmFjdGFibGVDb21wb25lbnRbXSA9IFtdO1xuICBwcml2YXRlIF9iYWNrZHJvcFF1ZXVlOiBudW1iZXJbXSA9IFtdO1xuXG4gIGdldCBzaG93QmFja2Ryb3AoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2JhY2tkcm9wUXVldWUubGVuZ3RoID4gMDtcbiAgfVxuXG4gIHJlZ2lzdGVyQmFja2Ryb3AobW9kYWxCYWNrZHJvcDogQmFja2Ryb3BDb21wb25lbnQpIHtcbiAgICAvLyBXQVJOSU5HOiB0aGVyZSBzaG91bGQgb25seSBiZSAxIGJhY2tkcm9wIGNvbXBvbmVudCwgcHJlZmVyYWJseSBsb2FkZWQgaW4gdGhlIGJvZHlcbiAgICBpZiAoIXRoaXMuX2JhY2tkcm9wKSB7XG4gICAgICB0aGlzLl9iYWNrZHJvcCA9IG1vZGFsQmFja2Ryb3A7XG4gICAgfSBlbHNlIGlmICh0aGlzLl9iYWNrZHJvcCAhPT0gbW9kYWxCYWNrZHJvcCkge1xuICAgICAgdGhpcy5fYmFja2Ryb3AuaW52YWxpZGF0ZSgpO1xuICAgICAgdGhpcy5fYmFja2Ryb3AgPSBtb2RhbEJhY2tkcm9wO1xuICAgICAgaWYgKCFtb2RhbEJhY2tkcm9wLnZhbGlkKSB7XG4gICAgICAgIC8vIHdlIGludmFsaWRhdGVkIGFuZCBzZXQgYmFja2Ryb3AgdG8gdGhlIHNhbWUgYmFja2Ryb3BcbiAgICAgICAgbW9kYWxCYWNrZHJvcC52YWxpZGF0ZSgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHVucmVnaXN0ZXJCYWNrZHJvcChtb2RhbEJhY2tkcm9wOiBCYWNrZHJvcENvbXBvbmVudCkge1xuICAgIGlmICh0aGlzLl9iYWNrZHJvcCA9PT0gbW9kYWxCYWNrZHJvcCkge1xuICAgICAgdGhpcy5fYmFja2Ryb3AgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgYWRkKGludGVyYWN0YWJsZTogSW50ZXJhY3RhYmxlQ29tcG9uZW50KTogbnVtYmVyIHtcbiAgICBjb25zdCBpbnRlcmFjdGFibGVJZCA9IGludGVyYWN0YWJsZS5pbnRlcmFjdGFibGVJZDtcbiAgICBpZiAoaW50ZXJhY3RhYmxlSWQgPiAwKSB7XG4gICAgICBpZiAoIXRoaXMuX2ludGVyYWN0YWJsZXMuc29tZShpID0+IGkuaW50ZXJhY3RhYmxlSWQgPT09IGludGVyYWN0YWJsZUlkKSkge1xuICAgICAgICB0aGlzLl9pbnRlcmFjdGFibGVzLnB1c2goaW50ZXJhY3RhYmxlKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBpbnRlcmFjdGFibGVJZDtcbiAgICB9XG4gICAgdGhpcy5faW50ZXJhY3RhYmxlcy5wdXNoKGludGVyYWN0YWJsZSk7XG4gICAgcmV0dXJuIHRoaXMuX2ludGVyYWN0YWJsZXMubGVuZ3RoO1xuICB9XG5cbiAgcmVtb3ZlKGludGVyYWN0YWJsZUlkOiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAoaW50ZXJhY3RhYmxlSWQgPD0gMCB8fCBpbnRlcmFjdGFibGVJZCA+IHRoaXMuX2ludGVyYWN0YWJsZXMubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX2ludGVyYWN0YWJsZXMuc3BsaWNlKGludGVyYWN0YWJsZUlkIC0gMSwgMSk7XG4gICAgdGhpcy5kZXF1ZXVlQmFja2Ryb3AoaW50ZXJhY3RhYmxlSWQpO1xuICB9XG5cbiAgdG9nZ2xlKGludGVyYWN0YWJsZTogSW50ZXJhY3RhYmxlQ29tcG9uZW50KTogYm9vbGVhbiB7XG4gICAgaWYgKGludGVyYWN0YWJsZS5pbnRlcmFjdGFibGVJZCA8PSAwIHx8IGludGVyYWN0YWJsZS5zaG93KSB7XG4gICAgICAvLyBvdGhlciBpbnRlcmFjdGFibGVzIGRvbid0IG5lZWQgdG8gYmUgYWx0ZXJlZC9ub3RpZmllZFxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBmb3IgKGNvbnN0IG90aGVySW50ZXJhY3RhYmxlIG9mIHRoaXMuX2ludGVyYWN0YWJsZXMuZmlsdGVyKG9pID0+IG9pLnNob3cpKSB7XG4gICAgICBpZiAob3RoZXJJbnRlcmFjdGFibGUgaW5zdGFuY2VvZiBEcm9wZG93bkNvbXBvbmVudCkge1xuICAgICAgICBvdGhlckludGVyYWN0YWJsZS5oaWRlKCk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcXVldWVCYWNrZHJvcChpbnRlcmFjdGFibGVJZDogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9iYWNrZHJvcFF1ZXVlLmluY2x1ZGVzKGludGVyYWN0YWJsZUlkKSkge1xuICAgICAgdGhpcy5fYmFja2Ryb3BRdWV1ZS5wdXNoKGludGVyYWN0YWJsZUlkKTtcbiAgICB9XG4gIH1cblxuICBkZXF1ZXVlQmFja2Ryb3AoaW50ZXJhY3RhYmxlSWQ6IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IGludGVyYWN0YWJsZUlkSW5kZXggPSB0aGlzLl9iYWNrZHJvcFF1ZXVlLmluZGV4T2YoaW50ZXJhY3RhYmxlSWQpO1xuICAgIGlmIChpbnRlcmFjdGFibGVJZEluZGV4ICE9PSAtMSkge1xuICAgICAgdGhpcy5fYmFja2Ryb3BRdWV1ZS5zcGxpY2UoaW50ZXJhY3RhYmxlSWRJbmRleCwgMSk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -3561,13 +3561,17 @@ class ModalComponent {
3561
3561
  * Event emitted when the Modal content is accepted.
3562
3562
  */
3563
3563
  this.accept = new EventEmitter();
3564
- this._interactableId = this._interactionService.add(this);
3565
3564
  }
3566
3565
  /**
3567
3566
  * Determines if the Modal should be shown immediately.
3568
3567
  */
3569
3568
  set show(show) {
3570
- this._show = show;
3569
+ if (show) {
3570
+ this.open();
3571
+ }
3572
+ else {
3573
+ this.close();
3574
+ }
3571
3575
  }
3572
3576
  get interactableId() {
3573
3577
  return this._interactableId;
@@ -3591,6 +3595,7 @@ class ModalComponent {
3591
3595
  return !this.titleText && !this.dismissable;
3592
3596
  }
3593
3597
  ngOnInit() {
3598
+ this._interactableId = this._interactionService.add(this);
3594
3599
  if (this.dismissable === undefined && this.theme === ModalTheme.Working) {
3595
3600
  this.dismissable = true;
3596
3601
  }
@@ -3608,7 +3613,7 @@ class ModalComponent {
3608
3613
  !!((_c = (_b = (_a = this.dismissEl) === null || _a === void 0 ? void 0 : _a.nativeElement) === null || _b === void 0 ? void 0 : _b.firstChild) === null || _c === void 0 ? void 0 : _c.disabled)) {
3609
3614
  return;
3610
3615
  }
3611
- this._show = false;
3616
+ this.close();
3612
3617
  this.dismiss.emit(event);
3613
3618
  }
3614
3619
  handleDeny(event) {
@@ -3616,29 +3621,32 @@ class ModalComponent {
3616
3621
  if (!!((_c = (_b = (_a = this.denyEl) === null || _a === void 0 ? void 0 : _a.nativeElement) === null || _b === void 0 ? void 0 : _b.firstChild) === null || _c === void 0 ? void 0 : _c.disabled)) {
3617
3622
  return;
3618
3623
  }
3619
- this._show = false;
3624
+ this.close();
3620
3625
  this.deny.emit(event);
3621
3626
  }
3622
3627
  handleAccept(event) {
3623
3628
  var _a, _b, _c;
3624
- console.log('this.acceptEl', this.acceptEl);
3625
3629
  if (!!((_c = (_b = (_a = this.acceptEl) === null || _a === void 0 ? void 0 : _a.nativeElement) === null || _b === void 0 ? void 0 : _b.firstChild) === null || _c === void 0 ? void 0 : _c.disabled)) {
3626
3630
  return;
3627
3631
  }
3628
- this._show = false;
3632
+ this.close();
3629
3633
  this.accept.emit(event);
3630
3634
  }
3631
3635
  /**
3632
- * Opens/shows the modal programmatically.
3636
+ * Opens/shows the modal. Can be used programmatically.
3633
3637
  */
3634
3638
  open() {
3639
+ if (this.backdrop) {
3640
+ this._interactionService.queueBackdrop(this.interactableId);
3641
+ }
3635
3642
  this._show = true;
3636
3643
  }
3637
3644
  /**
3638
- * Closes/hides the modal programmatically.
3645
+ * Closes/hides the modal. Can be used programmatically.
3639
3646
  */
3640
3647
  close() {
3641
3648
  this._show = false;
3649
+ this._interactionService.dequeueBackdrop(this.interactableId);
3642
3650
  }
3643
3651
  }
3644
3652
  ModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ModalComponent, deps: [{ token: InteractionService }], target: i0.ɵɵFactoryTarget.Component });
@@ -3872,7 +3880,6 @@ class DropdownComponent {
3872
3880
  */
3873
3881
  this.buttonClick = new EventEmitter();
3874
3882
  this.classBtnGroup = true;
3875
- this._interactableId = this._interactionService.add(this);
3876
3883
  }
3877
3884
  get classDropdown() {
3878
3885
  return this.position === 'down';
@@ -3903,6 +3910,9 @@ class DropdownComponent {
3903
3910
  get shown() {
3904
3911
  return this.valid && this.show;
3905
3912
  }
3913
+ ngOnInit() {
3914
+ this._interactableId = this._interactionService.add(this);
3915
+ }
3906
3916
  ngOnDestroy() {
3907
3917
  this._interactionService.remove(this.interactableId);
3908
3918
  this._interactableId = 0;
@@ -8423,9 +8433,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
8423
8433
  class InteractionService {
8424
8434
  constructor() {
8425
8435
  this._interactables = [];
8436
+ this._backdropQueue = [];
8426
8437
  }
8427
8438
  get showBackdrop() {
8428
- return this._interactables.some(i => i instanceof ModalComponent && i.shown && i.backdrop);
8439
+ return this._backdropQueue.length > 0;
8429
8440
  }
8430
8441
  registerBackdrop(modalBackdrop) {
8431
8442
  // WARNING: there should only be 1 backdrop component, preferably loaded in the body
@@ -8447,8 +8458,12 @@ class InteractionService {
8447
8458
  }
8448
8459
  }
8449
8460
  add(interactable) {
8450
- if (interactable.interactableId > 0) {
8451
- return interactable.interactableId;
8461
+ const interactableId = interactable.interactableId;
8462
+ if (interactableId > 0) {
8463
+ if (!this._interactables.some(i => i.interactableId === interactableId)) {
8464
+ this._interactables.push(interactable);
8465
+ }
8466
+ return interactableId;
8452
8467
  }
8453
8468
  this._interactables.push(interactable);
8454
8469
  return this._interactables.length;
@@ -8458,6 +8473,7 @@ class InteractionService {
8458
8473
  return;
8459
8474
  }
8460
8475
  this._interactables.splice(interactableId - 1, 1);
8476
+ this.dequeueBackdrop(interactableId);
8461
8477
  }
8462
8478
  toggle(interactable) {
8463
8479
  if (interactable.interactableId <= 0 || interactable.show) {
@@ -8471,6 +8487,17 @@ class InteractionService {
8471
8487
  }
8472
8488
  return true;
8473
8489
  }
8490
+ queueBackdrop(interactableId) {
8491
+ if (!this._backdropQueue.includes(interactableId)) {
8492
+ this._backdropQueue.push(interactableId);
8493
+ }
8494
+ }
8495
+ dequeueBackdrop(interactableId) {
8496
+ const interactableIdIndex = this._backdropQueue.indexOf(interactableId);
8497
+ if (interactableIdIndex !== -1) {
8498
+ this._backdropQueue.splice(interactableIdIndex, 1);
8499
+ }
8500
+ }
8474
8501
  }
8475
8502
  InteractionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: InteractionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
8476
8503
  InteractionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: InteractionService, providedIn: 'root' });