@skyux/popovers 4.5.2 → 4.7.1
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.
- package/CHANGELOG.md +16 -0
- package/bundles/skyux-popovers.umd.js +34 -13
- package/bundles/skyux-popovers.umd.js.map +1 -1
- package/bundles/skyux-popovers.umd.min.js +2 -2
- package/bundles/skyux-popovers.umd.min.js.map +1 -1
- package/esm2015/modules/dropdown/dropdown-menu.component.js +2 -2
- package/esm2015/modules/dropdown/dropdown.component.js +4 -3
- package/esm2015/modules/popover/popover-content.component.js +13 -3
- package/esm2015/modules/popover/popover.component.js +16 -8
- package/esm2015/modules/popover/popover.directive.js +4 -2
- package/esm5/modules/dropdown/dropdown-menu.component.js +2 -2
- package/esm5/modules/dropdown/dropdown.component.js +4 -3
- package/esm5/modules/popover/popover-content.component.js +13 -3
- package/esm5/modules/popover/popover.component.js +16 -8
- package/esm5/modules/popover/popover.directive.js +4 -2
- package/fesm2015/skyux-popovers.js +34 -13
- package/fesm2015/skyux-popovers.js.map +1 -1
- package/fesm5/skyux-popovers.js +34 -13
- package/fesm5/skyux-popovers.js.map +1 -1
- package/modules/dropdown/dropdown.component.d.ts +1 -0
- package/modules/popover/popover-content.component.d.ts +2 -0
- package/modules/popover/popover.component.d.ts +5 -0
- package/package.json +1 -1
- package/skyux-popovers.metadata.json +1 -1
|
@@ -296,7 +296,7 @@ __decorate([
|
|
|
296
296
|
Output()
|
|
297
297
|
], SkyDropdownMenuComponent.prototype, "menuChanges", void 0);
|
|
298
298
|
__decorate([
|
|
299
|
-
ContentChildren(SkyDropdownItemComponent)
|
|
299
|
+
ContentChildren(SkyDropdownItemComponent, { descendants: true })
|
|
300
300
|
], SkyDropdownMenuComponent.prototype, "menuItems", void 0);
|
|
301
301
|
SkyDropdownMenuComponent = __decorate([
|
|
302
302
|
Component({
|
|
@@ -309,4 +309,4 @@ SkyDropdownMenuComponent = __decorate([
|
|
|
309
309
|
__param(2, Optional())
|
|
310
310
|
], SkyDropdownMenuComponent);
|
|
311
311
|
export { SkyDropdownMenuComponent };
|
|
312
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2t5dXgvcG9wb3ZlcnMvIiwic291cmNlcyI6WyJtb2R1bGVzL2Ryb3Bkb3duL2Ryb3Bkb3duLW1lbnUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxTQUFTLEVBQ1QsUUFBUSxFQUNSLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDTCxTQUFTLElBQUksbUJBQW1CLEVBQ2hDLE9BQU8sRUFDUixNQUFNLE1BQU0sQ0FBQztBQUVkLE9BQU8sRUFDTCxTQUFTLEVBQ1YsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQ0wsb0JBQW9CLEVBQ3JCLE1BQU0sc0JBQXNCLENBQUM7QUFFOUIsT0FBTyxFQUNMLHdCQUF3QixFQUN6QixNQUFNLDJCQUEyQixDQUFDO0FBVW5DLE9BQU8sRUFDTCxzQkFBc0IsRUFDdkIsTUFBTSwrQkFBK0IsQ0FBQztBQUV2QyxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7QUFTZixJQUFhLHdCQUF3QixHQUFyQyxNQUFhLHdCQUF3QjtJQTBGbkMsWUFDVSxjQUFpQyxFQUNqQyxVQUFzQixFQUNWLGlCQUF1QztRQUZuRCxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFDakMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUNWLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBc0I7UUE3QzdEOzs7O1dBSUc7UUFFSSxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUF5QixDQUFDO1FBRXhELG1CQUFjLEdBQVcscUJBQXFCLEVBQUUsTUFBTSxFQUFFLENBQUM7UUEwQnhELGtCQUFhLEdBQUcsSUFBSSxPQUFP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dGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgZnJvbUV2ZW50IGFzIG9ic2VydmFibGVGcm9tRXZlbnQsXG4gIFN1YmplY3Rcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gIHRha2VVbnRpbFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7XG4gIFNreURyb3Bkb3duQ29tcG9uZW50XG59IGZyb20gJy4vZHJvcGRvd24uY29tcG9uZW50JztcblxuaW1wb3J0IHtcbiAgU2t5RHJvcGRvd25JdGVtQ29tcG9uZW50XG59IGZyb20gJy4vZHJvcGRvd24taXRlbS5jb21wb25lbnQnO1xuXG5pbXBvcnQge1xuICBTa3lEcm9wZG93bk1lbnVDaGFuZ2Vcbn0gZnJvbSAnLi90eXBlcy9kcm9wZG93bi1tZW51LWNoYW5nZSc7XG5cbmltcG9ydCB7XG4gIFNreURyb3Bkb3duTWVzc2FnZVxufSBmcm9tICcuL3R5cGVzL2Ryb3Bkb3duLW1lc3NhZ2UnO1xuXG5pbXBvcnQge1xuICBTa3lEcm9wZG93bk1lc3NhZ2VUeXBlXG59IGZyb20gJy4vdHlwZXMvZHJvcGRvd24tbWVzc2FnZS10eXBlJztcblxubGV0IG5leHRJZCA9IDA7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1kcm9wZG93bi1tZW51JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Ryb3Bkb3duLW1lbnUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kcm9wZG93bi1tZW51LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFNreURyb3Bkb3duTWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSB7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgSFRNTCBlbGVtZW50IElEICh3aXRob3V0IHRoZSBsZWFkaW5nIGAjYCkgb2YgdGhlIGVsZW1lbnQgdGhhdCBsYWJlbHNcbiAgICogdGhlIGRyb3Bkb3duIG1lbnUuIFRoaXMgc2V0cyB0aGUgZHJvcGRvd24gbWVudSdzIGBhcmlhLWxhYmVsbGVkYnlgIGF0dHJpYnV0ZVxuICAgKiBbdG8gc3VwcG9ydCBhY2Nlc3NpYmlsaXR5XShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2xlYXJuL2FjY2Vzc2liaWxpdHkpLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGFyaWFMYWJlbGxlZEJ5OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBhbiBBUklBIHJvbGUgZm9yIHRoZSBkcm9wZG93biBtZW51XG4gICAqIFt0byBzdXBwb3J0IGFjY2Vzc2liaWxpdHldKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvbGVhcm4vYWNjZXNzaWJpbGl0eSlcbiAgICogYnkgaW5kaWNhdGluZyBob3cgdGhlIGRyb3Bkb3duIG1lbnUgZnVuY3Rpb25zIGFuZCB3aGF0IGl0IGNvbnRyb2xzLiBUaGUgZHJvcGRvd24gYnV0dG9uXG4gICAqIGluaGVyaXRzIHRoaXMgdmFsdWUgdG8gc2V0IGl0cyBgYXJpYS1oYXNwb3B1cGAgcHJvcGVydHkuIEZvciBpbmZvcm1hdGlvblxuICAgKiBhYm91dCBob3cgYW4gQVJJQSByb2xlIGluZGljYXRlcyB3aGF0IGFuIGl0ZW0gcmVwcmVzZW50cyBvbiBhIHdlYiBwYWdlLCBzZWUgdGhlXG4gICAqIFtXQUktQVJJQSByb2xlcyBtb2RlbF0oaHR0cHM6Ly93d3cudzMub3JnL1dBSS9QRi9hcmlhL3JvbGVzKS5cbiAgICogQGRlZmF1bHQgXCJtZW51XCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgYXJpYVJvbGUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2FyaWFSb2xlID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFyaWFSb2xlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2FyaWFSb2xlIHx8ICdtZW51JztcbiAgfVxuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0byB1c2UgdGhlIGJyb3dzZXIncyBuYXRpdmUgZm9jdXMgZnVuY3Rpb24gd2hlbiB1c2VycyBuYXZpZ2F0ZSB0aHJvdWdoIG1lbnVcbiAgICogaXRlbXMgd2l0aCB0aGUga2V5Ym9hcmQuIFRvIGRpc2FibGUgdGhlIG5hdGl2ZSBmb2N1cyBmdW5jdGlvbiwgc2V0IHRoaXMgcHJvcGVydHkgdG8gYGZhbHNlYC5cbiAgICogRm9yIGV4YW1wbGUsIHRvIGxldCB1c2VycyBpbnRlcmFjdCB3aXRoIHRoZSBkcm9wZG93biBtZW51IGJ1dCBrZWVwIHRoZSBrZXlib2FyZCBmb2N1cyBvbiBhXG4gICAqIGRpZmZlcmVudCBlbGVtZW50LCBzZXQgdGhpcyBwcm9wZXJ0eSB0byBgZmFsc2VgLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHVzZU5hdGl2ZUZvY3VzKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fdXNlTmF0aXZlRm9jdXMgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdXNlTmF0aXZlRm9jdXMoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuX3VzZU5hdGl2ZUZvY3VzID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl91c2VOYXRpdmVGb2N1cztcbiAgfVxuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHRoZSBkcm9wZG93biBtZW51J3MgYWN0aXZlIGluZGV4IG9yIHNlbGVjdGVkIGl0ZW0gY2hhbmdlcy4gVGhpcyBldmVudCBwcm92aWRlcyBhblxuICAgKiBvYnNlcnZhYmxlIHRvIGVtaXQgY2hhbmdlcywgYW5kIHRoZSByZXNwb25zZSBpcyBvZlxuICAgKiB0aGUgU2t5RHJvcGRvd25NZW51Q2hhbmdlIHR5cGUuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIG1lbnVDaGFuZ2VzID0gbmV3IEV2ZW50RW1pdHRlcjxTa3lEcm9wZG93bk1lbnVDaGFuZ2U+KCk7XG5cbiAgcHVibGljIGRyb3Bkb3duTWVudUlkOiBzdHJpbmcgPSBgc2t5LWRyb3Bkb3duLW1lbnUtJHsrK25leHRJZH1gO1xuXG4gIHByaXZhdGUgZ2V0IGhhc0ZvY3VzYWJsZUl0ZW1zKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGZvdW5kID0gdGhpcy5tZW51SXRlbXMuZmluZChpdGVtID0+IGl0ZW0uaXNGb2N1c2FibGUoKSk7XG4gICAgcmV0dXJuIChmb3VuZCAhPT0gdW5kZWZpbmVkKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgbWVudUluZGV4KHZhbHVlOiBudW1iZXIpIHtcbiAgICBpZiAodmFsdWUgPCAwKSB7XG4gICAgICB2YWx1ZSA9IHRoaXMubWVudUl0ZW1zLmxlbmd0aCAtIDE7XG4gICAgfVxuXG4gICAgaWYgKHZhbHVlID49IHRoaXMubWVudUl0ZW1zLmxlbmd0aCkge1xuICAgICAgdmFsdWUgPSAwO1xuICAgIH1cblxuICAgIHRoaXMuX21lbnVJbmRleCA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBtZW51SW5kZXgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fbWVudUluZGV4O1xuICB9XG5cbiAgQENvbnRlbnRDaGlsZHJlbihTa3lEcm9wZG93bkl0ZW1Db21wb25lbnQpXG4gIHB1YmxpYyBtZW51SXRlbXM6IFF1ZXJ5TGlzdDxTa3lEcm9wZG93bkl0ZW1Db21wb25lbnQ+O1xuXG4gIHByaXZhdGUgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgcHJpdmF0ZSBfYXJpYVJvbGU6IHN0cmluZztcblxuICBwcml2YXRlIF9tZW51SW5kZXggPSAwO1xuXG4gIHByaXZhdGUgX3VzZU5hdGl2ZUZvY3VzOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGRyb3Bkb3duQ29tcG9uZW50OiBTa3lEcm9wZG93bkNvbXBvbmVudFxuICApIHsgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy5kcm9wZG93bkNvbXBvbmVudCkge1xuICAgICAgdGhpcy5kcm9wZG93bkNvbXBvbmVudC5tZW51SWQgPSB0aGlzLmRyb3Bkb3duTWVudUlkO1xuICAgICAgdGhpcy5kcm9wZG93bkNvbXBvbmVudC5tZW51QXJpYVJvbGUgPSB0aGlzLmFyaWFSb2xlO1xuXG4gICAgICB0aGlzLmRyb3Bkb3duQ29tcG9uZW50Lm1lc3NhZ2VTdHJlYW1cbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSlcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKChtZXNzYWdlOiBTa3lEcm9wZG93bk1lc3NhZ2UpID0+IHtcbiAgICAgICAgICAvKiB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6c3dpdGNoLWRlZmF1bHQgKi9cbiAgICAgICAgICBzd2l0Y2ggKG1lc3NhZ2UudHlwZSkge1xuICAgICAgICAgICAgY2FzZSBTa3lEcm9wZG93bk1lc3NhZ2VUeXBlLk9wZW46XG4gICAgICAgICAgICBjYXNlIFNreURyb3Bkb3duTWVzc2FnZVR5cGUuQ2xvc2U6XG4gICAgICAgICAgICB0aGlzLnJlc2V0KCk7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSBTa3lEcm9wZG93bk1lc3NhZ2VUeXBlLkZvY3VzRmlyc3RJdGVtOlxuICAgICAgICAgICAgdGhpcy5mb2N1c0ZpcnN0SXRlbSgpO1xuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgU2t5RHJvcGRvd25NZXNzYWdlVHlwZS5Gb2N1c05leHRJdGVtOlxuICAgICAgICAgICAgdGhpcy5mb2N1c05leHRJdGVtKCk7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSBTa3lEcm9wZG93bk1lc3NhZ2VUeXBlLkZvY3VzUHJldmlvdXNJdGVtOlxuICAgICAgICAgICAgdGhpcy5mb2N1c1ByZXZpb3VzSXRlbSgpO1xuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgU2t5RHJvcGRvd25NZXNzYWdlVHlwZS5Gb2N1c0xhc3RJdGVtOlxuICAgICAgICAgICAgdGhpcy5mb2N1c0xhc3RJdGVtKCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICB0aGlzLm1lbnVDaGFuZ2VzXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoY2hhbmdlOiBTa3lEcm9wZG93bk1lbnVDaGFuZ2UpID0+IHtcbiAgICAgICAgICAvLyBDbG9zZSB0aGUgZHJvcGRvd24gd2hlbiBhIG1lbnUgaXRlbSBpcyBzZWxlY3RlZC5cbiAgICAgICAgICBpZiAoY2hhbmdlLnNlbGVjdGVkSXRlbSkge1xuICAgICAgICAgICAgdGhpcy5zZW5kTWVzc2FnZShTa3lEcm9wZG93bk1lc3NhZ2VUeXBlLkNsb3NlKTtcbiAgICAgICAgICAgIHRoaXMuc2VuZE1lc3NhZ2UoU2t5RHJvcGRvd25NZXNzYWdlVHlwZS5Gb2N1c1RyaWdnZXJCdXR0b24pO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChjaGFuZ2UuaXRlbXMpIHtcbiAgICAgICAgICAgIC8vIFVwZGF0ZSB0aGUgcG9wb3ZlciBzdHlsZSBhbmQgcG9zaXRpb24gd2hlbmV2ZXIgdGhlIG51bWJlciBvZiBpdGVtcyBjaGFuZ2VzLlxuICAgICAgICAgICAgdGhpcy5zZW5kTWVzc2FnZShTa3lEcm9wZG93bk1lc3NhZ2VUeXBlLlJlcG9zaXRpb24pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gUmVzZXQgZHJvcGRvd24gd2hlbmV2ZXIgdGhlIG1lbnUgaXRlbXMgY2hhbmdlLlxuICAgIHRoaXMubWVudUl0ZW1zLmNoYW5nZXNcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoaXRlbXM6IFF1ZXJ5TGlzdDxTa3lEcm9wZG93bkl0ZW1Db21wb25lbnQ+KSA9PiB7XG4gICAgICAgIHRoaXMucmVzZXQoKTtcbiAgICAgICAgdGhpcy5tZW51Q2hhbmdlcy5lbWl0KHtcbiAgICAgICAgICBpdGVtczogaXRlbXMudG9BcnJheSgpXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXJzKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUgPSB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgZm9jdXNGaXJzdEl0ZW0oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmhhc0ZvY3VzYWJsZUl0ZW1zKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5tZW51SW5kZXggPSAwO1xuXG4gICAgY29uc3QgZmlyc3RJdGVtID0gdGhpcy5nZXRJdGVtQnlJbmRleCh0aGlzLm1lbnVJbmRleCk7XG4gICAgaWYgKGZpcnN0SXRlbSAmJiBmaXJzdEl0ZW0uaXNGb2N1c2FibGUoKSkge1xuICAgICAgdGhpcy5mb2N1c0l0ZW0oZmlyc3RJdGVtKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mb2N1c05leHRJdGVtKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGZvY3VzTGFzdEl0ZW0oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmhhc0ZvY3VzYWJsZUl0ZW1zKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5tZW51SW5kZXggPSB0aGlzLm1lbnVJdGVtcy5sZW5ndGggLSAxO1xuXG4gICAgY29uc3QgbGFzdEl0ZW0gPSB0aGlzLmdldEl0ZW1CeUluZGV4KHRoaXMubWVudUluZGV4KTtcbiAgICBpZiAobGFzdEl0ZW0gJiYgbGFzdEl0ZW0uaXNGb2N1c2FibGUoKSkge1xuICAgICAgdGhpcy5mb2N1c0l0ZW0obGFzdEl0ZW0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZvY3VzUHJldmlvdXNJdGVtKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGZvY3VzUHJldmlvdXNJdGVtKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5oYXNGb2N1c2FibGVJdGVtcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMubWVudUluZGV4LS07XG5cbiAgICBjb25zdCBwcmV2aW91c0l0ZW0gPSB0aGlzLmdldEl0ZW1CeUluZGV4KHRoaXMubWVudUluZGV4KTtcbiAgICBpZiAocHJldmlvdXNJdGVtICYmIHByZXZpb3VzSXRlbS5pc0ZvY3VzYWJsZSgpKSB7XG4gICAgICB0aGlzLmZvY3VzSXRlbShwcmV2aW91c0l0ZW0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZvY3VzUHJldmlvdXNJdGVtKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGZvY3VzTmV4dEl0ZW0oKSB7XG4gICAgaWYgKCF0aGlzLmhhc0ZvY3VzYWJsZUl0ZW1zKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5tZW51SW5kZXgrKztcblxuICAgIGNvbnN0IG5leHRJdGVtID0gdGhpcy5nZXRJdGVtQnlJbmRleCh0aGlzLm1lbnVJbmRleCk7XG4gICAgaWYgKG5leHRJdGVtICYmIG5leHRJdGVtLmlzRm9jdXNhYmxlKCkpIHtcbiAgICAgIHRoaXMuZm9jdXNJdGVtKG5leHRJdGVtKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mb2N1c05leHRJdGVtKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMuX21lbnVJbmRleCA9IC0xO1xuICAgIHRoaXMucmVzZXRJdGVtc0FjdGl2ZVN0YXRlKCk7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzZXRJdGVtc0FjdGl2ZVN0YXRlKCkge1xuICAgIHRoaXMubWVudUl0ZW1zLmZvckVhY2goKGl0ZW06IFNreURyb3Bkb3duSXRlbUNvbXBvbmVudCkgPT4ge1xuICAgICAgaXRlbS5yZXNldFN0YXRlKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGZvY3VzSXRlbShpdGVtOiBTa3lEcm9wZG93bkl0ZW1Db21wb25lbnQpOiB2b2lkIHtcbiAgICB0aGlzLnJlc2V0SXRlbXNBY3RpdmVTdGF0ZSgpO1xuICAgIGl0ZW0uZm9jdXNFbGVtZW50KHRoaXMudXNlTmF0aXZlRm9jdXMpO1xuICAgIHRoaXMubWVudUNoYW5nZXMuZW1pdCh7XG4gICAgICBhY3RpdmVJbmRleDogdGhpcy5tZW51SW5kZXhcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0SXRlbUJ5SW5kZXgoaW5kZXg6IG51bWJlcik6IFNreURyb3Bkb3duSXRlbUNvbXBvbmVudCB7XG4gICAgcmV0dXJuIHRoaXMubWVudUl0ZW1zLmZpbmQoKGl0ZW06IGFueSwgaTogbnVtYmVyKSA9PiB7XG4gICAgICByZXR1cm4gKGkgPT09IGluZGV4KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2VsZWN0SXRlbUJ5RXZlbnRUYXJnZXQodGFyZ2V0OiBFdmVudFRhcmdldCk6IHZvaWQge1xuICAgIGNvbnN0IHNlbGVjdGVkSXRlbSA9IHRoaXMubWVudUl0ZW1zLmZpbmQoKGl0ZW06IFNreURyb3Bkb3duSXRlbUNvbXBvbmVudCwgaTogbnVtYmVyKSA9PiB7XG4gICAgICBjb25zdCBmb3VuZCA9IChpdGVtLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyh0YXJnZXQpKTtcblxuICAgICAgaWYgKGZvdW5kKSB7XG4gICAgICAgIHRoaXMubWVudUluZGV4ID0gaTtcbiAgICAgICAgdGhpcy5tZW51Q2hhbmdlcy5uZXh0KHtcbiAgICAgICAgICBhY3RpdmVJbmRleDogdGhpcy5tZW51SW5kZXhcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmb3VuZDtcbiAgICB9KTtcblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHNlbGVjdGVkSXRlbSkge1xuICAgICAgdGhpcy5tZW51Q2hhbmdlcy5uZXh0KHtcbiAgICAgICAgc2VsZWN0ZWRJdGVtXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNlbmRNZXNzYWdlKHR5cGU6IFNreURyb3Bkb3duTWVzc2FnZVR5cGUpOiB2b2lkIHtcbiAgICB0aGlzLmRyb3Bkb3duQ29tcG9uZW50Lm1lc3NhZ2VTdHJlYW0ubmV4dCh7IHR5cGUgfSk7XG4gIH1cblxuICBwcml2YXRlIGFkZEV2ZW50TGlzdGVuZXJzKCk6IHZvaWQge1xuICAgIGNvbnN0IGRyb3Bkb3duTWVudUVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcblxuICAgIG9ic2VydmFibGVGcm9tRXZlbnQoZHJvcGRvd25NZW51RWxlbWVudCwgJ2NsaWNrJylcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgdGhpcy5zZWxlY3RJdGVtQnlFdmVudFRhcmdldChldmVudC50YXJnZXQpO1xuICAgICAgfSk7XG5cbiAgICBvYnNlcnZhYmxlRnJvbUV2ZW50KGRyb3Bkb3duTWVudUVsZW1lbnQsICdrZXlkb3duJylcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgICAgY29uc3Qga2V5ID0gZXZlbnQua2V5LnRvTG93ZXJDYXNlKCk7XG5cbiAgICAgICAgLyp0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6c3dpdGNoLWRlZmF1bHQqL1xuICAgICAgICBzd2l0Y2ggKGtleSkge1xuICAgICAgICAgIGNhc2UgJ2VzY2FwZSc6XG4gICAgICAgICAgICB0aGlzLnNlbmRNZXNzYWdlKFNreURyb3Bkb3duTWVzc2FnZVR5cGUuQ2xvc2UpO1xuICAgICAgICAgICAgdGhpcy5zZW5kTWVzc2FnZShTa3lEcm9wZG93bk1lc3NhZ2VUeXBlLkZvY3VzVHJpZ2dlckJ1dHRvbik7XG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGNhc2UgJ2Fycm93ZG93bic6XG4gICAgICAgICAgY2FzZSAnZG93bic6XG4gICAgICAgICAgICB0aGlzLmZvY3VzTmV4dEl0ZW0oKTtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGNhc2UgJ2Fycm93dXAnOlxuICAgICAgICAgIGNhc2UgJ3VwJzpcbiAgICAgICAgICAgIHRoaXMuZm9jdXNQcmV2aW91c0l0ZW0oKTtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGNhc2UgJ3RhYic6XG4gICAgICAgICAgICBpZiAodGhpcy5kcm9wZG93bkNvbXBvbmVudC5kaXNtaXNzT25CbHVyKSB7XG4gICAgICAgICAgICAgIHRoaXMuc2VuZE1lc3NhZ2UoU2t5RHJvcGRvd25NZXNzYWdlVHlwZS5DbG9zZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnNlbmRNZXNzYWdlKFNreURyb3Bkb3duTWVzc2FnZVR5cGUuRm9jdXNUcmlnZ2VyQnV0dG9uKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIG9ic2VydmFibGVGcm9tRXZlbnQoZHJvcGRvd25NZW51RWxlbWVudCwgJ21vdXNlZW50ZXInKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5kcm9wZG93bkNvbXBvbmVudC5pc01vdXNlRW50ZXIgPSB0cnVlO1xuICAgICAgfSk7XG5cbiAgICBvYnNlcnZhYmxlRnJvbUV2ZW50KGRyb3Bkb3duTWVudUVsZW1lbnQsICdtb3VzZWxlYXZlJylcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuZHJvcGRvd25Db21wb25lbnQuaXNNb3VzZUVudGVyID0gZmFsc2U7XG4gICAgICAgIC8vIEFsbG93IHRoZSBkcm9wZG93biBjb21wb25lbnQgdG8gc2V0IGlzTW91c2VFbnRlciBiZWZvcmUgY2hlY2tpbmcgaWYgdGhlIGNsb3NlIGFjdGlvblxuICAgICAgICAvLyBzaG91bGQgYmUgdGFrZW4uXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIHRoaXMuZHJvcGRvd25Db21wb25lbnQudHJpZ2dlciA9PT0gJ2hvdmVyJyAmJlxuICAgICAgICAgICAgdGhpcy5kcm9wZG93bkNvbXBvbmVudC5pc01vdXNlRW50ZXIgPT09IGZhbHNlXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLnNlbmRNZXNzYWdlKFNreURyb3Bkb3duTWVzc2FnZVR5cGUuQ2xvc2UpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgfVxuXG59XG4iXX0=
|
|
312
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2t5dXgvcG9wb3ZlcnMvIiwic291cmNlcyI6WyJtb2R1bGVzL2Ryb3Bkb3duL2Ryb3Bkb3duLW1lbnUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxTQUFTLEVBQ1QsUUFBUSxFQUNSLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDTCxTQUFTLElBQUksbUJBQW1CLEVBQ2hDLE9BQU8sRUFDUixNQUFNLE1BQU0sQ0FBQztBQUVkLE9BQU8sRUFDTCxTQUFTLEVBQ1YsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQ0wsb0JBQW9CLEVBQ3JCLE1BQU0sc0JBQXNCLENBQUM7QUFFOUIsT0FBTyxFQUNMLHdCQUF3QixFQUN6QixNQUFNLDJCQUEyQixDQUFDO0FBVW5DLE9BQU8sRUFDTCxzQkFBc0IsRUFDdkIsTUFBTSwrQkFBK0IsQ0FBQztBQUV2QyxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7QUFTZixJQUFhLHdCQUF3QixHQUFyQyxNQUFhLHdCQUF3QjtJQTBGbkMsWUFDVSxjQUFpQyxFQUNqQyxVQUFzQixFQUNWLGlCQUF1QztRQUZuRCxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFDakMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUNWLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBc0I7UUE3QzdEOzs7O1dBSUc7UUFFSSxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUF5QixDQUFDO1FBRXhELG1CQUFjLEdBQVcscUJBQXFCLEVBQUUsTUFBTSxFQUFFLENBQUM7UUEwQnhELGtCQUFhLEdBQUcsSUFBSSxPQUFP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dGVyQ29udGVudEluaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgZnJvbUV2ZW50IGFzIG9ic2VydmFibGVGcm9tRXZlbnQsXG4gIFN1YmplY3Rcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gIHRha2VVbnRpbFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7XG4gIFNreURyb3Bkb3duQ29tcG9uZW50XG59IGZyb20gJy4vZHJvcGRvd24uY29tcG9uZW50JztcblxuaW1wb3J0IHtcbiAgU2t5RHJvcGRvd25JdGVtQ29tcG9uZW50XG59IGZyb20gJy4vZHJvcGRvd24taXRlbS5jb21wb25lbnQnO1xuXG5pbXBvcnQge1xuICBTa3lEcm9wZG93bk1lbnVDaGFuZ2Vcbn0gZnJvbSAnLi90eXBlcy9kcm9wZG93bi1tZW51LWNoYW5nZSc7XG5cbmltcG9ydCB7XG4gIFNreURyb3Bkb3duTWVzc2FnZVxufSBmcm9tICcuL3R5cGVzL2Ryb3Bkb3duLW1lc3NhZ2UnO1xuXG5pbXBvcnQge1xuICBTa3lEcm9wZG93bk1lc3NhZ2VUeXBlXG59IGZyb20gJy4vdHlwZXMvZHJvcGRvd24tbWVzc2FnZS10eXBlJztcblxubGV0IG5leHRJZCA9IDA7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1kcm9wZG93bi1tZW51JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Ryb3Bkb3duLW1lbnUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kcm9wZG93bi1tZW51LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFNreURyb3Bkb3duTWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSB7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgSFRNTCBlbGVtZW50IElEICh3aXRob3V0IHRoZSBsZWFkaW5nIGAjYCkgb2YgdGhlIGVsZW1lbnQgdGhhdCBsYWJlbHNcbiAgICogdGhlIGRyb3Bkb3duIG1lbnUuIFRoaXMgc2V0cyB0aGUgZHJvcGRvd24gbWVudSdzIGBhcmlhLWxhYmVsbGVkYnlgIGF0dHJpYnV0ZVxuICAgKiBbdG8gc3VwcG9ydCBhY2Nlc3NpYmlsaXR5XShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2xlYXJuL2FjY2Vzc2liaWxpdHkpLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGFyaWFMYWJlbGxlZEJ5OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBhbiBBUklBIHJvbGUgZm9yIHRoZSBkcm9wZG93biBtZW51XG4gICAqIFt0byBzdXBwb3J0IGFjY2Vzc2liaWxpdHldKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvbGVhcm4vYWNjZXNzaWJpbGl0eSlcbiAgICogYnkgaW5kaWNhdGluZyBob3cgdGhlIGRyb3Bkb3duIG1lbnUgZnVuY3Rpb25zIGFuZCB3aGF0IGl0IGNvbnRyb2xzLiBUaGUgZHJvcGRvd24gYnV0dG9uXG4gICAqIGluaGVyaXRzIHRoaXMgdmFsdWUgdG8gc2V0IGl0cyBgYXJpYS1oYXNwb3B1cGAgcHJvcGVydHkuIEZvciBpbmZvcm1hdGlvblxuICAgKiBhYm91dCBob3cgYW4gQVJJQSByb2xlIGluZGljYXRlcyB3aGF0IGFuIGl0ZW0gcmVwcmVzZW50cyBvbiBhIHdlYiBwYWdlLCBzZWUgdGhlXG4gICAqIFtXQUktQVJJQSByb2xlcyBtb2RlbF0oaHR0cHM6Ly93d3cudzMub3JnL1dBSS9QRi9hcmlhL3JvbGVzKS5cbiAgICogQGRlZmF1bHQgXCJtZW51XCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgYXJpYVJvbGUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2FyaWFSb2xlID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFyaWFSb2xlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2FyaWFSb2xlIHx8ICdtZW51JztcbiAgfVxuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0byB1c2UgdGhlIGJyb3dzZXIncyBuYXRpdmUgZm9jdXMgZnVuY3Rpb24gd2hlbiB1c2VycyBuYXZpZ2F0ZSB0aHJvdWdoIG1lbnVcbiAgICogaXRlbXMgd2l0aCB0aGUga2V5Ym9hcmQuIFRvIGRpc2FibGUgdGhlIG5hdGl2ZSBmb2N1cyBmdW5jdGlvbiwgc2V0IHRoaXMgcHJvcGVydHkgdG8gYGZhbHNlYC5cbiAgICogRm9yIGV4YW1wbGUsIHRvIGxldCB1c2VycyBpbnRlcmFjdCB3aXRoIHRoZSBkcm9wZG93biBtZW51IGJ1dCBrZWVwIHRoZSBrZXlib2FyZCBmb2N1cyBvbiBhXG4gICAqIGRpZmZlcmVudCBlbGVtZW50LCBzZXQgdGhpcyBwcm9wZXJ0eSB0byBgZmFsc2VgLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHVzZU5hdGl2ZUZvY3VzKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fdXNlTmF0aXZlRm9jdXMgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdXNlTmF0aXZlRm9jdXMoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuX3VzZU5hdGl2ZUZvY3VzID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl91c2VOYXRpdmVGb2N1cztcbiAgfVxuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHRoZSBkcm9wZG93biBtZW51J3MgYWN0aXZlIGluZGV4IG9yIHNlbGVjdGVkIGl0ZW0gY2hhbmdlcy4gVGhpcyBldmVudCBwcm92aWRlcyBhblxuICAgKiBvYnNlcnZhYmxlIHRvIGVtaXQgY2hhbmdlcywgYW5kIHRoZSByZXNwb25zZSBpcyBvZlxuICAgKiB0aGUgU2t5RHJvcGRvd25NZW51Q2hhbmdlIHR5cGUuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIG1lbnVDaGFuZ2VzID0gbmV3IEV2ZW50RW1pdHRlcjxTa3lEcm9wZG93bk1lbnVDaGFuZ2U+KCk7XG5cbiAgcHVibGljIGRyb3Bkb3duTWVudUlkOiBzdHJpbmcgPSBgc2t5LWRyb3Bkb3duLW1lbnUtJHsrK25leHRJZH1gO1xuXG4gIHByaXZhdGUgZ2V0IGhhc0ZvY3VzYWJsZUl0ZW1zKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGZvdW5kID0gdGhpcy5tZW51SXRlbXMuZmluZChpdGVtID0+IGl0ZW0uaXNGb2N1c2FibGUoKSk7XG4gICAgcmV0dXJuIChmb3VuZCAhPT0gdW5kZWZpbmVkKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgbWVudUluZGV4KHZhbHVlOiBudW1iZXIpIHtcbiAgICBpZiAodmFsdWUgPCAwKSB7XG4gICAgICB2YWx1ZSA9IHRoaXMubWVudUl0ZW1zLmxlbmd0aCAtIDE7XG4gICAgfVxuXG4gICAgaWYgKHZhbHVlID49IHRoaXMubWVudUl0ZW1zLmxlbmd0aCkge1xuICAgICAgdmFsdWUgPSAwO1xuICAgIH1cblxuICAgIHRoaXMuX21lbnVJbmRleCA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBtZW51SW5kZXgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fbWVudUluZGV4O1xuICB9XG5cbiAgQENvbnRlbnRDaGlsZHJlbihTa3lEcm9wZG93bkl0ZW1Db21wb25lbnQsIHtkZXNjZW5kYW50czogdHJ1ZX0pXG4gIHB1YmxpYyBtZW51SXRlbXM6IFF1ZXJ5TGlzdDxTa3lEcm9wZG93bkl0ZW1Db21wb25lbnQ+O1xuXG4gIHByaXZhdGUgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgcHJpdmF0ZSBfYXJpYVJvbGU6IHN0cmluZztcblxuICBwcml2YXRlIF9tZW51SW5kZXggPSAwO1xuXG4gIHByaXZhdGUgX3VzZU5hdGl2ZUZvY3VzOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGRyb3Bkb3duQ29tcG9uZW50OiBTa3lEcm9wZG93bkNvbXBvbmVudFxuICApIHsgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy5kcm9wZG93bkNvbXBvbmVudCkge1xuICAgICAgdGhpcy5kcm9wZG93bkNvbXBvbmVudC5tZW51SWQgPSB0aGlzLmRyb3Bkb3duTWVudUlkO1xuICAgICAgdGhpcy5kcm9wZG93bkNvbXBvbmVudC5tZW51QXJpYVJvbGUgPSB0aGlzLmFyaWFSb2xlO1xuXG4gICAgICB0aGlzLmRyb3Bkb3duQ29tcG9uZW50Lm1lc3NhZ2VTdHJlYW1cbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSlcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKChtZXNzYWdlOiBTa3lEcm9wZG93bk1lc3NhZ2UpID0+IHtcbiAgICAgICAgICAvKiB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6c3dpdGNoLWRlZmF1bHQgKi9cbiAgICAgICAgICBzd2l0Y2ggKG1lc3NhZ2UudHlwZSkge1xuICAgICAgICAgICAgY2FzZSBTa3lEcm9wZG93bk1lc3NhZ2VUeXBlLk9wZW46XG4gICAgICAgICAgICBjYXNlIFNreURyb3Bkb3duTWVzc2FnZVR5cGUuQ2xvc2U6XG4gICAgICAgICAgICB0aGlzLnJlc2V0KCk7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSBTa3lEcm9wZG93bk1lc3NhZ2VUeXBlLkZvY3VzRmlyc3RJdGVtOlxuICAgICAgICAgICAgdGhpcy5mb2N1c0ZpcnN0SXRlbSgpO1xuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgU2t5RHJvcGRvd25NZXNzYWdlVHlwZS5Gb2N1c05leHRJdGVtOlxuICAgICAgICAgICAgdGhpcy5mb2N1c05leHRJdGVtKCk7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSBTa3lEcm9wZG93bk1lc3NhZ2VUeXBlLkZvY3VzUHJldmlvdXNJdGVtOlxuICAgICAgICAgICAgdGhpcy5mb2N1c1ByZXZpb3VzSXRlbSgpO1xuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgU2t5RHJvcGRvd25NZXNzYWdlVHlwZS5Gb2N1c0xhc3RJdGVtOlxuICAgICAgICAgICAgdGhpcy5mb2N1c0xhc3RJdGVtKCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICB0aGlzLm1lbnVDaGFuZ2VzXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoY2hhbmdlOiBTa3lEcm9wZG93bk1lbnVDaGFuZ2UpID0+IHtcbiAgICAgICAgICAvLyBDbG9zZSB0aGUgZHJvcGRvd24gd2hlbiBhIG1lbnUgaXRlbSBpcyBzZWxlY3RlZC5cbiAgICAgICAgICBpZiAoY2hhbmdlLnNlbGVjdGVkSXRlbSkge1xuICAgICAgICAgICAgdGhpcy5zZW5kTWVzc2FnZShTa3lEcm9wZG93bk1lc3NhZ2VUeXBlLkNsb3NlKTtcbiAgICAgICAgICAgIHRoaXMuc2VuZE1lc3NhZ2UoU2t5RHJvcGRvd25NZXNzYWdlVHlwZS5Gb2N1c1RyaWdnZXJCdXR0b24pO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChjaGFuZ2UuaXRlbXMpIHtcbiAgICAgICAgICAgIC8vIFVwZGF0ZSB0aGUgcG9wb3ZlciBzdHlsZSBhbmQgcG9zaXRpb24gd2hlbmV2ZXIgdGhlIG51bWJlciBvZiBpdGVtcyBjaGFuZ2VzLlxuICAgICAgICAgICAgdGhpcy5zZW5kTWVzc2FnZShTa3lEcm9wZG93bk1lc3NhZ2VUeXBlLlJlcG9zaXRpb24pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gUmVzZXQgZHJvcGRvd24gd2hlbmV2ZXIgdGhlIG1lbnUgaXRlbXMgY2hhbmdlLlxuICAgIHRoaXMubWVudUl0ZW1zLmNoYW5nZXNcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoaXRlbXM6IFF1ZXJ5TGlzdDxTa3lEcm9wZG93bkl0ZW1Db21wb25lbnQ+KSA9PiB7XG4gICAgICAgIHRoaXMucmVzZXQoKTtcbiAgICAgICAgdGhpcy5tZW51Q2hhbmdlcy5lbWl0KHtcbiAgICAgICAgICBpdGVtczogaXRlbXMudG9BcnJheSgpXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXJzKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUgPSB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgZm9jdXNGaXJzdEl0ZW0oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmhhc0ZvY3VzYWJsZUl0ZW1zKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5tZW51SW5kZXggPSAwO1xuXG4gICAgY29uc3QgZmlyc3RJdGVtID0gdGhpcy5nZXRJdGVtQnlJbmRleCh0aGlzLm1lbnVJbmRleCk7XG4gICAgaWYgKGZpcnN0SXRlbSAmJiBmaXJzdEl0ZW0uaXNGb2N1c2FibGUoKSkge1xuICAgICAgdGhpcy5mb2N1c0l0ZW0oZmlyc3RJdGVtKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mb2N1c05leHRJdGVtKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGZvY3VzTGFzdEl0ZW0oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmhhc0ZvY3VzYWJsZUl0ZW1zKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5tZW51SW5kZXggPSB0aGlzLm1lbnVJdGVtcy5sZW5ndGggLSAxO1xuXG4gICAgY29uc3QgbGFzdEl0ZW0gPSB0aGlzLmdldEl0ZW1CeUluZGV4KHRoaXMubWVudUluZGV4KTtcbiAgICBpZiAobGFzdEl0ZW0gJiYgbGFzdEl0ZW0uaXNGb2N1c2FibGUoKSkge1xuICAgICAgdGhpcy5mb2N1c0l0ZW0obGFzdEl0ZW0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZvY3VzUHJldmlvdXNJdGVtKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGZvY3VzUHJldmlvdXNJdGVtKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5oYXNGb2N1c2FibGVJdGVtcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMubWVudUluZGV4LS07XG5cbiAgICBjb25zdCBwcmV2aW91c0l0ZW0gPSB0aGlzLmdldEl0ZW1CeUluZGV4KHRoaXMubWVudUluZGV4KTtcbiAgICBpZiAocHJldmlvdXNJdGVtICYmIHByZXZpb3VzSXRlbS5pc0ZvY3VzYWJsZSgpKSB7XG4gICAgICB0aGlzLmZvY3VzSXRlbShwcmV2aW91c0l0ZW0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZvY3VzUHJldmlvdXNJdGVtKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGZvY3VzTmV4dEl0ZW0oKSB7XG4gICAgaWYgKCF0aGlzLmhhc0ZvY3VzYWJsZUl0ZW1zKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5tZW51SW5kZXgrKztcblxuICAgIGNvbnN0IG5leHRJdGVtID0gdGhpcy5nZXRJdGVtQnlJbmRleCh0aGlzLm1lbnVJbmRleCk7XG4gICAgaWYgKG5leHRJdGVtICYmIG5leHRJdGVtLmlzRm9jdXNhYmxlKCkpIHtcbiAgICAgIHRoaXMuZm9jdXNJdGVtKG5leHRJdGVtKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mb2N1c05leHRJdGVtKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMuX21lbnVJbmRleCA9IC0xO1xuICAgIHRoaXMucmVzZXRJdGVtc0FjdGl2ZVN0YXRlKCk7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzZXRJdGVtc0FjdGl2ZVN0YXRlKCkge1xuICAgIHRoaXMubWVudUl0ZW1zLmZvckVhY2goKGl0ZW06IFNreURyb3Bkb3duSXRlbUNvbXBvbmVudCkgPT4ge1xuICAgICAgaXRlbS5yZXNldFN0YXRlKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGZvY3VzSXRlbShpdGVtOiBTa3lEcm9wZG93bkl0ZW1Db21wb25lbnQpOiB2b2lkIHtcbiAgICB0aGlzLnJlc2V0SXRlbXNBY3RpdmVTdGF0ZSgpO1xuICAgIGl0ZW0uZm9jdXNFbGVtZW50KHRoaXMudXNlTmF0aXZlRm9jdXMpO1xuICAgIHRoaXMubWVudUNoYW5nZXMuZW1pdCh7XG4gICAgICBhY3RpdmVJbmRleDogdGhpcy5tZW51SW5kZXhcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0SXRlbUJ5SW5kZXgoaW5kZXg6IG51bWJlcik6IFNreURyb3Bkb3duSXRlbUNvbXBvbmVudCB7XG4gICAgcmV0dXJuIHRoaXMubWVudUl0ZW1zLmZpbmQoKGl0ZW06IGFueSwgaTogbnVtYmVyKSA9PiB7XG4gICAgICByZXR1cm4gKGkgPT09IGluZGV4KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2VsZWN0SXRlbUJ5RXZlbnRUYXJnZXQodGFyZ2V0OiBFdmVudFRhcmdldCk6IHZvaWQge1xuICAgIGNvbnN0IHNlbGVjdGVkSXRlbSA9IHRoaXMubWVudUl0ZW1zLmZpbmQoKGl0ZW06IFNreURyb3Bkb3duSXRlbUNvbXBvbmVudCwgaTogbnVtYmVyKSA9PiB7XG4gICAgICBjb25zdCBmb3VuZCA9IChpdGVtLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyh0YXJnZXQpKTtcblxuICAgICAgaWYgKGZvdW5kKSB7XG4gICAgICAgIHRoaXMubWVudUluZGV4ID0gaTtcbiAgICAgICAgdGhpcy5tZW51Q2hhbmdlcy5uZXh0KHtcbiAgICAgICAgICBhY3RpdmVJbmRleDogdGhpcy5tZW51SW5kZXhcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmb3VuZDtcbiAgICB9KTtcblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHNlbGVjdGVkSXRlbSkge1xuICAgICAgdGhpcy5tZW51Q2hhbmdlcy5uZXh0KHtcbiAgICAgICAgc2VsZWN0ZWRJdGVtXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNlbmRNZXNzYWdlKHR5cGU6IFNreURyb3Bkb3duTWVzc2FnZVR5cGUpOiB2b2lkIHtcbiAgICB0aGlzLmRyb3Bkb3duQ29tcG9uZW50Lm1lc3NhZ2VTdHJlYW0ubmV4dCh7IHR5cGUgfSk7XG4gIH1cblxuICBwcml2YXRlIGFkZEV2ZW50TGlzdGVuZXJzKCk6IHZvaWQge1xuICAgIGNvbnN0IGRyb3Bkb3duTWVudUVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcblxuICAgIG9ic2VydmFibGVGcm9tRXZlbnQoZHJvcGRvd25NZW51RWxlbWVudCwgJ2NsaWNrJylcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgdGhpcy5zZWxlY3RJdGVtQnlFdmVudFRhcmdldChldmVudC50YXJnZXQpO1xuICAgICAgfSk7XG5cbiAgICBvYnNlcnZhYmxlRnJvbUV2ZW50KGRyb3Bkb3duTWVudUVsZW1lbnQsICdrZXlkb3duJylcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgICAgY29uc3Qga2V5ID0gZXZlbnQua2V5LnRvTG93ZXJDYXNlKCk7XG5cbiAgICAgICAgLyp0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6c3dpdGNoLWRlZmF1bHQqL1xuICAgICAgICBzd2l0Y2ggKGtleSkge1xuICAgICAgICAgIGNhc2UgJ2VzY2FwZSc6XG4gICAgICAgICAgICB0aGlzLnNlbmRNZXNzYWdlKFNreURyb3Bkb3duTWVzc2FnZVR5cGUuQ2xvc2UpO1xuICAgICAgICAgICAgdGhpcy5zZW5kTWVzc2FnZShTa3lEcm9wZG93bk1lc3NhZ2VUeXBlLkZvY3VzVHJpZ2dlckJ1dHRvbik7XG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGNhc2UgJ2Fycm93ZG93bic6XG4gICAgICAgICAgY2FzZSAnZG93bic6XG4gICAgICAgICAgICB0aGlzLmZvY3VzTmV4dEl0ZW0oKTtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGNhc2UgJ2Fycm93dXAnOlxuICAgICAgICAgIGNhc2UgJ3VwJzpcbiAgICAgICAgICAgIHRoaXMuZm9jdXNQcmV2aW91c0l0ZW0oKTtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGNhc2UgJ3RhYic6XG4gICAgICAgICAgICBpZiAodGhpcy5kcm9wZG93bkNvbXBvbmVudC5kaXNtaXNzT25CbHVyKSB7XG4gICAgICAgICAgICAgIHRoaXMuc2VuZE1lc3NhZ2UoU2t5RHJvcGRvd25NZXNzYWdlVHlwZS5DbG9zZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnNlbmRNZXNzYWdlKFNreURyb3Bkb3duTWVzc2FnZVR5cGUuRm9jdXNUcmlnZ2VyQnV0dG9uKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIG9ic2VydmFibGVGcm9tRXZlbnQoZHJvcGRvd25NZW51RWxlbWVudCwgJ21vdXNlZW50ZXInKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5kcm9wZG93bkNvbXBvbmVudC5pc01vdXNlRW50ZXIgPSB0cnVlO1xuICAgICAgfSk7XG5cbiAgICBvYnNlcnZhYmxlRnJvbUV2ZW50KGRyb3Bkb3duTWVudUVsZW1lbnQsICdtb3VzZWxlYXZlJylcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuZHJvcGRvd25Db21wb25lbnQuaXNNb3VzZUVudGVyID0gZmFsc2U7XG4gICAgICAgIC8vIEFsbG93IHRoZSBkcm9wZG93biBjb21wb25lbnQgdG8gc2V0IGlzTW91c2VFbnRlciBiZWZvcmUgY2hlY2tpbmcgaWYgdGhlIGNsb3NlIGFjdGlvblxuICAgICAgICAvLyBzaG91bGQgYmUgdGFrZW4uXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIHRoaXMuZHJvcGRvd25Db21wb25lbnQudHJpZ2dlciA9PT0gJ2hvdmVyJyAmJlxuICAgICAgICAgICAgdGhpcy5kcm9wZG93bkNvbXBvbmVudC5pc01vdXNlRW50ZXIgPT09IGZhbHNlXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLnNlbmRNZXNzYWdlKFNreURyb3Bkb3duTWVzc2FnZVR5cGUuQ2xvc2UpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -131,6 +131,7 @@ let SkyDropdownComponent = class SkyDropdownComponent {
|
|
|
131
131
|
ngOnDestroy() {
|
|
132
132
|
this.destroyAffixer();
|
|
133
133
|
this.destroyOverlay();
|
|
134
|
+
clearTimeout(this._positionTimeout);
|
|
134
135
|
this.ngUnsubscribe.next();
|
|
135
136
|
this.ngUnsubscribe.complete();
|
|
136
137
|
this.ngUnsubscribe = undefined;
|
|
@@ -290,7 +291,7 @@ let SkyDropdownComponent = class SkyDropdownComponent {
|
|
|
290
291
|
this.isVisible = false;
|
|
291
292
|
this.createOverlay();
|
|
292
293
|
this.changeDetector.markForCheck();
|
|
293
|
-
setTimeout(() => {
|
|
294
|
+
this._positionTimeout = setTimeout(() => {
|
|
294
295
|
this.affixer.affixTo(this.triggerButton.nativeElement, {
|
|
295
296
|
autoFitContext: SkyAffixAutoFitContext.Viewport,
|
|
296
297
|
enableAutoFit: true,
|
|
@@ -358,9 +359,9 @@ SkyDropdownComponent = __decorate([
|
|
|
358
359
|
selector: 'sky-dropdown',
|
|
359
360
|
template: "<div\n class=\"sky-dropdown\"\n>\n <button\n class=\"sky-btn sky-dropdown-button\"\n type=\"button\"\n [attr.aria-expanded]=\"isOpen\"\n [attr.aria-controls]=\"isOpen ? menuId : null\"\n [attr.aria-haspopup]=\"menuAriaRole\"\n [attr.aria-label]=\"label || ('skyux_dropdown_context_menu_default_label' | skyLibResources)\"\n [attr.title]=\"title\"\n [disabled]=\"disabled\"\n [ngClass]=\"[\n 'sky-dropdown-button-type-' + buttonType,\n 'sky-btn-' + buttonStyle\n ]\"\n #triggerButton\n >\n <ng-container [ngSwitch]=\"buttonType\">\n <ng-template ngSwitchCase=\"context-menu\">\n <sky-icon *skyThemeIf=\"'default'\"\n icon=\"ellipsis-h\"\n ></sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\"\n icon=\"ellipsis\"\n iconType=\"skyux\"\n ></sky-icon>\n </ng-template>\n\n <ng-template ngSwitchDefault>\n <div *ngIf=\"buttonType === 'select' || buttonType === 'tab' || !buttonType\"\n class=\"sky-dropdown-button-container\"\n >\n <div\n class=\"sky-dropdown-button-content-container\"\n >\n <ng-content\n select=\"sky-dropdown-button\"\n >\n </ng-content>\n </div>\n <div\n class=\"sky-dropdown-button-icon-container\"\n >\n <sky-icon *skyThemeIf=\"'default'\"\n class=\"sky-dropdown-caret\"\n icon=\"caret-down\"\n >\n </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\"\n class=\"sky-dropdown-caret\"\n icon=\"chevron-down\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </div>\n </div>\n <div *ngIf=\"buttonType !== 'select' && buttonType !== 'tab' && buttonType\">\n <sky-icon\n [icon]=\"buttonType\"\n size=\"lg\"\n ></sky-icon>\n </div>\n </ng-template>\n </ng-container>\n </button>\n</div>\n\n<ng-template\n #menuContainerTemplateRef\n>\n <div\n class=\"sky-dropdown-menu-container\"\n [class.hidden]=\"!isVisible\"\n #menuContainerElementRef\n >\n <ng-content\n select=\"sky-dropdown-menu\"\n ></ng-content>\n </div>\n</ng-template>\n",
|
|
360
361
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
361
|
-
styles: [".sky-dropdown-button-type-tab{border:none;border-radius:4px 4px 0 0;cursor:pointer;display:inline-block;font-weight:600;line-height:1.8;padding:8px 16px;background-color:#0974a1;color:#fff;max-width:100%;text-align:left}.sky-dropdown-button-type-tab.sky-btn-tab-disabled{background-color:#cdcfd2;cursor:default;outline:0;text-decoration:none}.sky-dropdown-button-type-tab.sky-btn-tab-disabled:hover{color:#686c73;cursor:default;text-decoration:none}.sky-dropdown-button-type-tab:hover:not(.sky-btn-tab-disabled){text-decoration:none;background-color:#0974a1;color:#fff}.sky-dropdown-button-type-context-menu{border-radius:50%;padding:3px 8px}.sky-dropdown-caret{margin-left:10px}.sky-dropdown-button-container{display:flex}.sky-dropdown-button-content-container{flex-shrink:1;overflow:hidden;text-overflow:ellipsis}.sky-dropdown-button-icon-container{flex-grow:1}.sky-dropdown-menu-container{position:fixed}.hidden{visibility:hidden}
|
|
362
|
+
styles: [".sky-dropdown-button-type-tab{border:none;border-radius:4px 4px 0 0;cursor:pointer;display:inline-block;font-weight:600;line-height:1.8;padding:8px 16px;background-color:#0974a1;color:#fff;max-width:100%;text-align:left}.sky-dropdown-button-type-tab.sky-btn-tab-disabled{background-color:#cdcfd2;cursor:default;outline:0;text-decoration:none}.sky-dropdown-button-type-tab.sky-btn-tab-disabled:hover{color:#686c73;cursor:default;text-decoration:none}.sky-dropdown-button-type-tab:hover:not(.sky-btn-tab-disabled){text-decoration:none;background-color:#0974a1;color:#fff}.sky-dropdown-button-type-context-menu{border-radius:50%;padding:3px 8px}.sky-dropdown-caret{margin-left:10px}.sky-dropdown-button-container{display:flex}.sky-dropdown-button-content-container{flex-shrink:1;overflow:hidden;text-overflow:ellipsis}.sky-dropdown-button-icon-container{flex-grow:1}.sky-dropdown-menu-container{position:fixed}.hidden{visibility:hidden}:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab{border:none;border-radius:0;font-weight:400;padding:10px 15px;transition:box-shadow 150ms;background-color:transparent;color:#212327}:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab:hover:not(.sky-btn-tab-disabled):not(.sky-btn-tab-selected):not(.sky-dropdown-button-type-tab):not(:focus){background-color:transparent;border-bottom:1px solid #00b4f1;padding-bottom:9px}:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab:focus{background-color:transparent;outline:0}:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab:focus:not(:active){outline:#1870b8 solid 2px;outline-offset:-2px;box-shadow:0 1px 8px 0 rgba(0,0,0,.3)}:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab:active{border-bottom:3px solid #00b4f1;padding-bottom:7px}:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab:not(:active){border-bottom:3px solid #1870b8;padding-bottom:7px}:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab:hover:not(.sky-btn-tab-disabled){background-color:transparent;color:#212327}:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab .sky-btn-tab-close,:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab .sky-tab-header-count{color:#686c73}:host-context(.sky-theme-modern) .sky-dropdown-caret{margin-left:10px}.sky-theme-modern .sky-dropdown-button-type-tab{border:none;border-radius:0;font-weight:400;padding:10px 15px;transition:box-shadow 150ms;background-color:transparent;color:#212327}.sky-theme-modern .sky-dropdown-button-type-tab:hover:not(.sky-btn-tab-disabled):not(.sky-btn-tab-selected):not(.sky-dropdown-button-type-tab):not(:focus){background-color:transparent;border-bottom:1px solid #00b4f1;padding-bottom:9px}.sky-theme-modern .sky-dropdown-button-type-tab:focus{background-color:transparent;outline:0}.sky-theme-modern .sky-dropdown-button-type-tab:focus:not(:active){outline:#1870b8 solid 2px;outline-offset:-2px;box-shadow:0 1px 8px 0 rgba(0,0,0,.3)}.sky-theme-modern .sky-dropdown-button-type-tab:active{border-bottom:3px solid #00b4f1;padding-bottom:7px}.sky-theme-modern .sky-dropdown-button-type-tab:not(:active){border-bottom:3px solid #1870b8;padding-bottom:7px}.sky-theme-modern .sky-dropdown-button-type-tab:hover:not(.sky-btn-tab-disabled){background-color:transparent;color:#212327}.sky-theme-modern .sky-dropdown-button-type-tab .sky-btn-tab-close,.sky-theme-modern .sky-dropdown-button-type-tab .sky-tab-header-count{color:#686c73}.sky-theme-modern .sky-dropdown-caret{margin-left:10px}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-dropdown-button-type-tab{color:#fff}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-dropdown-button-type-tab:hover{color:#fff}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-dropdown-button-type-tab .sky-btn-tab-close,:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-dropdown-button-type-tab .sky-tab-header-count{color:#efefef}.sky-theme-modern.sky-theme-mode-dark .sky-dropdown-button-type-tab,.sky-theme-modern.sky-theme-mode-dark .sky-dropdown-button-type-tab:hover{color:#fff}.sky-theme-modern.sky-theme-mode-dark .sky-dropdown-button-type-tab .sky-btn-tab-close,.sky-theme-modern.sky-theme-mode-dark .sky-dropdown-button-type-tab .sky-tab-header-count{color:#efefef}"]
|
|
362
363
|
}),
|
|
363
364
|
__param(3, Optional())
|
|
364
365
|
], SkyDropdownComponent);
|
|
365
366
|
export { SkyDropdownComponent };
|
|
366
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNreXV4L3BvcG92ZXJzLyIsInNvdXJjZXMiOlsibW9kdWxlcy9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUNMLFNBQVMsRUFDVCxNQUFNLEVBQ04sUUFBUSxFQUNSLFdBQVcsRUFDWCxTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixVQUFVLEVBQ1YsZUFBZSxFQUNmLGtCQUFrQixFQUNsQixpQkFBaUIsRUFDbEIsTUFBTSxhQUFhLENBQUM7QUFFckIsT0FBTyxFQUNMLGVBQWUsRUFDaEIsTUFBTSxjQUFjLENBQUM7QUFFdEIsT0FBTyxFQUNMLFNBQVMsSUFBSSxtQkFBbUIsRUFDaEMsT0FBTyxFQUNSLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUNMLFNBQVMsRUFDVixNQUFNLGdCQUFnQixDQUFDO0FBVXhCLE9BQU8sRUFDTCxzQkFBc0IsRUFDdkIsTUFBTSwrQkFBK0IsQ0FBQztBQU12QyxPQUFPLEVBQ0wsNkJBQTZCLEVBQzlCLE1BQU0sdUJBQXVCLENBQUM7QUFRL0IsSUFBYSxvQkFBb0IsR0FBakMsTUFBYSxvQkFBb0I7SUF3TC9CLFlBQ1UsY0FBaUMsRUFDakMsWUFBNkIsRUFDN0IsY0FBaUMsRUFDckIsUUFBMEI7UUFIdEMsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQ2pDLGlCQUFZLEdBQVosWUFBWSxDQUFpQjtRQUM3QixtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFDckIsYUFBUSxHQUFSLFFBQVEsQ0FBa0I7UUF4R2hEOzs7V0FHRztRQUdJLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQXNCLENBQUM7UUFvRGxELGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBRTlCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFvQjFCLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQWM5QixZQUFPLEdBQUcsS0FBSyxDQUFDO0lBV3BCLENBQUM7SUEzTEw7Ozs7O09BS0c7SUFFSCxJQUFXLFdBQVcsQ0FBQyxLQUFhO1FBQ2xDLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsWUFBWSxJQUFJLFNBQVMsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUVILElBQVcsVUFBVSxDQUFDLEtBQWE7UUFDakMsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQVcsVUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxXQUFXLElBQUksUUFBUSxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7O09BR0c7SUFFSCxJQUFXLFFBQVEsQ0FBQyxLQUFjO1FBQ2hDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxJQUFJLEtBQUssQ0FBQztJQUNqQyxDQUFDO0lBRUQ7OztPQUdHO0lBRUgsSUFBVyxhQUFhLENBQUMsS0FBYztRQUNyQyxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3RCLElBQUksSUFBSSxDQUFDLGNBQWMsS0FBSyxTQUFTLEVBQUU7WUFDckMsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDO0lBU0Q7OztPQUdHO0lBRUgsSUFBVyxtQkFBbUIsQ0FBQyxLQUFxQztRQUNsRSxJQUFJLENBQUMsb0JBQW9CLEdBQUcsS0FBSyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFXLG1CQUFtQjtRQUM1QixPQUFPLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxNQUFNLENBQUM7SUFDN0MsQ0FBQztJQWdCRDs7Ozs7Ozs7O09BU0c7SUFFSCxJQUFXLE9BQU8sQ0FBQyxLQUE2QjtRQUM5QyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsSUFBSSxPQUFPLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQVcsTUFBTSxDQUFDLEtBQWM7UUFDOUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBVyxNQUFNO1FBQ2YsT0FBTyxJQUFJLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQztJQUMvQixDQUFDO0lBS0QsSUFBVyx1QkFBdUIsQ0FBQyxLQUFpQjtRQUNsRCxJQUFJLEtBQUssRUFBRTtZQUNULElBQUksQ0FBQyx3QkFBd0IsR0FBRyxLQUFLLENBQUM7WUFDdEMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ3BDO0lBQ0gsQ0FBQztJQUVELElBQVcsdUJBQXVCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDO0lBQ3ZDLENBQUM7SUFtRE0sUUFBUTs7UUFDYixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUV6QixJQUFJLENBQUMsYUFBYTthQUNmLElBQUksQ0FDSCxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUM5QjthQUNBLFNBQVMsQ0FBQyxDQUFDLE9BQTJCLEVBQUUsRUFBRTtZQUN6QyxJQUFJLENBQUMsc0JBQXNCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkMsQ0FBQyxDQUFDLENBQUM7UUFFTCxxQ0FBcUM7UUFDckMsTUFBQSxJQUFJLENBQUMsUUFBUSwwQ0FBRSxjQUFjLENBQzFCLElBQUksQ0FDSCxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUU5QixTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNyQyxDQUFDLEVBQUU7SUFDUCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBRXRCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsYUFBYSxHQUFHLFNBQVMsQ0FBQztJQUNqQyxDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDO1FBRXZELG1CQUFtQixDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUM7YUFDeEMsSUFBSSxDQUNILFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQzlCO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtnQkFDZixJQUFJLENBQUMsV0FBVyxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ2hEO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxXQUFXLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzlDLDJEQUEyRDtnQkFDM0QsVUFBVSxDQUFDLEdBQUcsRUFBRTtvQkFDZCxJQUFJLENBQUMsV0FBVyxDQUFDLHNCQUFzQixDQUFDLGNBQWMsQ0FBQyxDQUFDO2dCQUMxRCxDQUFDLENBQUMsQ0FBQzthQUNKO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFTCxtQkFBbUIsQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDO2FBQzFDLElBQUksQ0FDSCxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUM5QjthQUNBLFNBQVMsQ0FBQyxDQUFDLEtBQW9CLEVBQUUsRUFBRTtZQUNsQyxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBRXBDLDZDQUE2QztZQUM3QyxRQUFRLEdBQUcsRUFBRTtnQkFDWCxLQUFLLFFBQVE7b0JBQ1gsd0JBQXdCO29CQUN4QixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7d0JBQ2YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsQ0FBQzt3QkFDL0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO3dCQUM1RCxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7cUJBQ3pCO29CQUNELE1BQU07Z0JBRVIsS0FBSyxLQUFLO29CQUNSLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO3dCQUNyQyxJQUFJLENBQUMsV0FBVyxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDO3FCQUNoRDtvQkFDRCxNQUFNO2dCQUVSLEtBQUssU0FBUyxDQUFDO2dCQUNmLEtBQUssSUFBSTtvQkFDUCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTt3QkFDaEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQzt3QkFDOUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsQ0FBQyxhQUFhLENBQUMsQ0FBQzt3QkFDdkQsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO3dCQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7cUJBQ3pCO29CQUNELE1BQU07Z0JBRVIsS0FBSyxPQUFPLENBQUM7Z0JBQ2IsS0FBSyxXQUFXLENBQUM7Z0JBQ2pCLEtBQUssTUFBTSxDQUFDO2dCQUNaLEtBQUssR0FBRyxFQUFFLFlBQVk7b0JBQ3BCLHdCQUF3QjtvQkFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7d0JBQ2hCLElBQUksQ0FBQyxXQUFXLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUM7d0JBQzlDLElBQUksQ0FBQyxXQUFXLENBQUMsc0JBQXNCLENBQUMsY0FBYyxDQUFDLENBQUM7d0JBQ3hELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQzt3QkFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO3FCQUN6QjtvQkFDRCxNQUFNO2FBQ1Q7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVMLG1CQUFtQixDQUFDLGFBQWEsRUFBRSxZQUFZLENBQUM7YUFDN0MsSUFBSSxDQUNILFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQzlCO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1lBQ3pCLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxPQUFPLEVBQUU7Z0JBQzVCLElBQUksQ0FBQyxXQUFXLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDL0M7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVMLG1CQUFtQixDQUFDLGFBQWEsRUFBRSxZQUFZLENBQUM7YUFDN0MsSUFBSSxDQUNILFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQzlCO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1lBQzFCLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxPQUFPLEVBQUU7Z0JBQzVCLGtGQUFrRjtnQkFDbEYsbUJBQW1CO2dCQUNuQixVQUFVLENBQUMsR0FBRyxFQUFFO29CQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO3dCQUN0QixJQUFJLENBQUMsV0FBVyxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDO3FCQUNoRDtnQkFDSCxDQUFDLENBQUMsQ0FBQzthQUNKO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sYUFBYTtRQUNuQixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDaEIsT0FBTztTQUNSO1FBRUQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUM7WUFDekMsWUFBWSxFQUFFLElBQUk7WUFDbEIsbUJBQW1CLEVBQUUsSUFBSTtTQUMxQixDQUFDLENBQUM7UUFFSCxPQUFPLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBRXRELE9BQU8sQ0FBQyxhQUFhO2FBQ2xCLElBQUksQ0FDSCxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUM5QjthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQyxXQUFXLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDaEQ7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVMLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ3pCLENBQUM7SUFFTyxjQUFjO1FBQ3BCLHdCQUF3QjtRQUN4QixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDaEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQztTQUMxQjtJQUNILENBQUM7SUFFTyxjQUFjO1FBQ3BCLHdCQUF3QjtRQUN4QixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDaEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFDO1NBQzFCO0lBQ0gsQ0FBQztJQUVPLGFBQWE7UUFDbkIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFFOUUsT0FBTyxDQUFDLGVBQWU7YUFDcEIsSUFBSSxDQUNILFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQzlCO2FBQ0EsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxTQUFTLEtBQUssSUFBSSxDQUFDLENBQUM7WUFDN0MsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FBQztRQUVMLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ3pCLENBQUM7SUFFTyxzQkFBc0IsQ0FBQyxPQUEyQjtRQUN4RCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQiw2Q0FBNkM7WUFDN0MsUUFBUSxPQUFPLENBQUMsSUFBSSxFQUFFO2dCQUNwQixLQUFLLHNCQUFzQixDQUFDLElBQUk7b0JBQzlCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO29CQUNuQixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztvQkFDNUIsTUFBTTtnQkFFUixLQUFLLHNCQUFzQixDQUFDLEtBQUs7b0JBQy9CLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO29CQUNwQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7b0JBQ3RCLE1BQU07Z0JBRVIsS0FBSyxzQkFBc0IsQ0FBQyxVQUFVO29CQUNwQyxzREFBc0Q7b0JBQ3RELDBCQUEwQjtvQkFDMUIsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7d0JBQy9CLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7cUJBQ3hCO29CQUNELE1BQU07Z0JBRVIsS0FBSyxzQkFBc0IsQ0FBQyxrQkFBa0I7b0JBQzVDLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO29CQUN6QyxNQUFNO2FBQ1Q7U0FDRjtJQUNILENBQUM7SUFFTyxXQUFXLENBQUMsSUFBNEI7UUFDOUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFTyxvQkFBb0I7UUFDMUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFbkMsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxFQUFFO2dCQUNyRCxjQUFjLEVBQUUsc0JBQXNCLENBQUMsUUFBUTtnQkFDL0MsYUFBYSxFQUFFLElBQUk7Z0JBQ25CLG1CQUFtQixFQUFFLDZCQUE2QixDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztnQkFDNUUsUUFBUSxFQUFFLElBQUk7Z0JBQ2QsU0FBUyxFQUFFLE9BQU87YUFDbkIsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7WUFDdEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FFRixDQUFBOztZQWpQMkIsaUJBQWlCO1lBQ25CLGVBQWU7WUFDYixpQkFBaUI7WUFDVixlQUFlLHVCQUE3QyxRQUFROztBQW5MWDtJQURDLEtBQUssRUFBRTt1REFHUDtBQWVEO0lBREMsS0FBSyxFQUFFO3NEQUdQO0FBV0Q7SUFEQyxLQUFLLEVBQUU7b0RBR1A7QUFXRDtJQURDLEtBQUssRUFBRTt5REFHUDtBQWVEO0lBREMsS0FBSyxFQUFFO21EQUNhO0FBT3JCO0lBREMsS0FBSyxFQUFFOytEQUdQO0FBWUQ7SUFEQyxLQUFLLEVBQUU7MkRBQ2lEO0FBTXpEO0lBREMsS0FBSyxFQUFFO21EQUNhO0FBYXJCO0lBREMsS0FBSyxFQUFFO21EQUdQO0FBa0JEO0lBSEMsU0FBUyxDQUFDLHlCQUF5QixFQUFFO1FBQ3BDLElBQUksRUFBRSxVQUFVO0tBQ2pCLENBQUM7bUVBUUQ7QUFrQkQ7SUFKQyxTQUFTLENBQUMsMEJBQTBCLEVBQUU7UUFDckMsSUFBSSxFQUFFLFdBQVc7UUFDakIsTUFBTSxFQUFFLElBQUk7S0FDYixDQUFDO3NFQUNpRDtBQU1uRDtJQUpDLFNBQVMsQ0FBQyxlQUFlLEVBQUU7UUFDMUIsSUFBSSxFQUFFLFVBQVU7UUFDaEIsTUFBTSxFQUFFLElBQUk7S0FDYixDQUFDOzJEQUNnQztBQWhLdkIsb0JBQW9CO0lBTmhDLFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRSxjQUFjO1FBQ3hCLHl4RUFBd0M7UUFFeEMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O0tBQ2hELENBQUM7SUE2TEcsV0FBQSxRQUFRLEVBQUUsQ0FBQTtHQTVMRixvQkFBb0IsQ0EwYWhDO1NBMWFZLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1xuICBTa3lBZmZpeEF1dG9GaXRDb250ZXh0LFxuICBTa3lBZmZpeGVyLFxuICBTa3lBZmZpeFNlcnZpY2UsXG4gIFNreU92ZXJsYXlJbnN0YW5jZSxcbiAgU2t5T3ZlcmxheVNlcnZpY2Vcbn0gZnJvbSAnQHNreXV4L2NvcmUnO1xuXG5pbXBvcnQge1xuICBTa3lUaGVtZVNlcnZpY2Vcbn0gZnJvbSAnQHNreXV4L3RoZW1lJztcblxuaW1wb3J0IHtcbiAgZnJvbUV2ZW50IGFzIG9ic2VydmFibGVGcm9tRXZlbnQsXG4gIFN1YmplY3Rcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gIHRha2VVbnRpbFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7XG4gIFNreURyb3Bkb3duSG9yaXpvbnRhbEFsaWdubWVudFxufSBmcm9tICcuL3R5cGVzL2Ryb3Bkb3duLWhvcml6b250YWwtYWxpZ25tZW50JztcblxuaW1wb3J0IHtcbiAgU2t5RHJvcGRvd25NZXNzYWdlXG59IGZyb20gJy4vdHlwZXMvZHJvcGRvd24tbWVzc2FnZSc7XG5cbmltcG9ydCB7XG4gIFNreURyb3Bkb3duTWVzc2FnZVR5cGVcbn0gZnJvbSAnLi90eXBlcy9kcm9wZG93bi1tZXNzYWdlLXR5cGUnO1xuXG5pbXBvcnQge1xuICBTa3lEcm9wZG93blRyaWdnZXJUeXBlXG59IGZyb20gJy4vdHlwZXMvZHJvcGRvd24tdHJpZ2dlci10eXBlJztcblxuaW1wb3J0IHtcbiAgcGFyc2VBZmZpeEhvcml6b250YWxBbGlnbm1lbnRcbn0gZnJvbSAnLi9kcm9wZG93bi1leHRlbnNpb25zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWRyb3Bkb3duJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZHJvcGRvd24uY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgU2t5RHJvcGRvd25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBhIGJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBkcm9wZG93biBidXR0b24uIEF2YWlsYWJsZSB2YWx1ZXMgYXJlIGBkZWZhdWx0YCBhbmRcbiAgICogYHByaW1hcnlgLiBUaGVzZSB2YWx1ZXMgc2V0IHRoZSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gdGhlXG4gICAqIFtzZWNvbmRhcnkgYW5kIHByaW1hcnkgYnV0dG9uIGNsYXNzZXNdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9idXR0b24pIHJlc3BlY3RpdmVseS5cbiAgICogQGRlZmF1bHQgXCJkZWZhdWx0XCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgYnV0dG9uU3R5bGUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2J1dHRvblN0eWxlID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGJ1dHRvblN0eWxlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2J1dHRvblN0eWxlIHx8ICdkZWZhdWx0JztcbiAgfVxuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIHR5cGUgb2YgYnV0dG9uIHRvIHJlbmRlciBhcyB0aGUgZHJvcGRvd24ncyB0cmlnZ2VyIGVsZW1lbnQuIFRvIGRpc3BsYXkgYSBidXR0b25cbiAgICogd2l0aCB0ZXh0IGFuZCBhIGNhcmV0LCBzcGVjaWZ5IGBzZWxlY3RgIGFuZCB0aGVuIGVudGVyIHRoZSBidXR0b24gdGV4dCBpbiBhXG4gICAqIGBza3ktZHJvcGRvd24tYnV0dG9uYCBlbGVtZW50LiBUbyBkaXNwbGF5IGEgcm91bmQgYnV0dG9uIHdpdGggYW4gZWxsaXBzaXMsIHNwZWNpZnlcbiAgICogYGNvbnRleHQtbWVudWAuIEFuZCB0byBkaXNwbGF5IGEgYnV0dG9uIHdpdGggYSBbRm9udCBBd2Vzb21lIGljb25dKGh0dHA6Ly9mb250YXdlc29tZS5pby9pY29ucy8pLCBzcGVjaWZ5IHRoZSBpY29uJ3MgY2xhc3MgbmFtZS5cbiAgICogRm9yIGV4YW1wbGUsIHRvIGRpc3BsYXkgdGhlIGBmYS1maWx0ZXJgIGljb24sIHNwZWNpZnkgYGZpbHRlcmAuXG4gICAqIEBkZWZhdWx0IFwic2VsZWN0XCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgYnV0dG9uVHlwZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fYnV0dG9uVHlwZSA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBidXR0b25UeXBlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2J1dHRvblR5cGUgfHwgJ3NlbGVjdCc7XG4gIH1cblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdG8gZGlzYWJsZSB0aGUgZHJvcGRvd24gYnV0dG9uLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2Rpc2FibGVkID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZCB8fCBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0byBjbG9zZSB0aGUgZHJvcGRvd24gd2hlbiB1c2VycyBjbGljayBhd2F5IGZyb20gdGhlIG1lbnUuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGlzbWlzc09uQmx1cih2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2Rpc21pc3NPbkJsdXIgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGlzbWlzc09uQmx1cigpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5fZGlzbWlzc09uQmx1ciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fZGlzbWlzc09uQmx1cjtcbiAgfVxuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgYW4gQVJJQSBsYWJlbCBmb3IgdGhlIGRyb3Bkb3duLiBUaGlzIHNldHMgdGhlIGRyb3Bkb3duJ3MgYGFyaWEtbGFiZWxgIGF0dHJpYnV0ZVxuICAgKiBbdG8gc3VwcG9ydCBhY2Nlc3NpYmlsaXR5XShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2xlYXJuL2FjY2Vzc2liaWxpdHkpLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGxhYmVsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgaG9yaXpvbnRhbCBhbGlnbm1lbnQgb2YgdGhlIGRyb3Bkb3duIG1lbnUgaW4gcmVsYXRpb24gdG8gdGhlIGRyb3Bkb3duIGJ1dHRvbi5cbiAgICogQGRlZmF1bHQgXCJsZWZ0XCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgaG9yaXpvbnRhbEFsaWdubWVudCh2YWx1ZTogU2t5RHJvcGRvd25Ib3Jpem9udGFsQWxpZ25tZW50KSB7XG4gICAgdGhpcy5faG9yaXpvbnRhbEFsaWdubWVudCA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBob3Jpem9udGFsQWxpZ25tZW50KCk6IFNreURyb3Bkb3duSG9yaXpvbnRhbEFsaWdubWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX2hvcml6b250YWxBbGlnbm1lbnQgfHwgJ2xlZnQnO1xuICB9XG5cbiAgLyoqXG4gICAqIFByb3ZpZGVzIGFuIG9ic2VydmFibGUgdG8gc2VuZCBjb21tYW5kcyB0byB0aGUgZHJvcGRvd24uIFRoZSBjb21tYW5kcyBzaG91bGQgcmVzcGVjdFxuICAgKiB0aGUgW1tTa3lEcm9wZG93bk1lc3NhZ2VdXSB0eXBlLlxuICAgKi9cblxuICBASW5wdXQoKVxuICBwdWJsaWMgbWVzc2FnZVN0cmVhbSA9IG5ldyBTdWJqZWN0PFNreURyb3Bkb3duTWVzc2FnZT4oKTtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIGEgdGl0bGUgdG8gZGlzcGxheSBpbiBhIHRvb2x0aXAgd2hlbiB1c2VycyBob3ZlciB0aGUgbW91c2Ugb3ZlciB0aGUgZHJvcGRvd24gYnV0dG9uLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHRpdGxlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBob3cgdXNlcnMgaW50ZXJhY3Qgd2l0aCB0aGUgZHJvcGRvd24gYnV0dG9uIHRvIGV4cG9zZSB0aGUgZHJvcGRvd24gbWVudS5cbiAgICogV2UgcmVjb21tZW5kIHRoZSBkZWZhdWx0IGBjbGlja2AgdmFsdWUgYmVjYXVzZSB0aGUgYGhvdmVyYCB2YWx1ZSBjYW4gcG9zZVxuICAgKiBbYWNjZXNzaWJpbGl0eV0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9sZWFybi9hY2Nlc3NpYmlsaXR5KSBpc3N1ZXNcbiAgICogZm9yIHVzZXJzIG9uIHRvdWNoIGRldmljZXMgc3VjaCBhcyBwaG9uZXMgYW5kIHRhYmxldHMuXG4gICAqIEBkZXByZWNhdGVkIFdlIHJlY29tbWVuZCBhZ2FpbnN0IHVzaW5nIHRoaXMgcHJvcGVydHkuIElmIHlvdSBjaG9vc2UgdG8gdXNlIHRoZSBkZXByZWNhdGVkXG4gICAqIGBob3ZlcmAgdmFsdWUgYW55d2F5LCB3ZSByZWNvbW1lbmQgdGhhdCB5b3Ugbm90IHVzZSBpdCBpbiBjb21iaW5hdGlvbiB3aXRoIHRoZSBgdGl0bGVgXG4gICAqIHByb3BlcnR5LiAoVGhpcyBwcm9wZXJ0eSB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlLilcbiAgICogQGRlZmF1bHQgXCJjbGlja1wiXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHRyaWdnZXIodmFsdWU6IFNreURyb3Bkb3duVHJpZ2dlclR5cGUpIHtcbiAgICB0aGlzLl90cmlnZ2VyID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRyaWdnZXIoKTogU2t5RHJvcGRvd25UcmlnZ2VyVHlwZSB7XG4gICAgcmV0dXJuIHRoaXMuX3RyaWdnZXIgfHwgJ2NsaWNrJztcbiAgfVxuXG4gIHB1YmxpYyBzZXQgaXNPcGVuKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5faXNPcGVuID0gdmFsdWU7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNPcGVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9pc09wZW4gfHwgZmFsc2U7XG4gIH1cblxuICBAVmlld0NoaWxkKCdtZW51Q29udGFpbmVyRWxlbWVudFJlZicsIHtcbiAgICByZWFkOiBFbGVtZW50UmVmXG4gIH0pXG4gIHB1YmxpYyBzZXQgbWVudUNvbnRhaW5lckVsZW1lbnRSZWYodmFsdWU6IEVsZW1lbnRSZWYpIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuX21lbnVDb250YWluZXJFbGVtZW50UmVmID0gdmFsdWU7XG4gICAgICB0aGlzLmRlc3Ryb3lBZmZpeGVyKCk7XG4gICAgICB0aGlzLmNyZWF0ZUFmZml4ZXIoKTtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBtZW51Q29udGFpbmVyRWxlbWVudFJlZigpOiBFbGVtZW50UmVmIHtcbiAgICByZXR1cm4gdGhpcy5fbWVudUNvbnRhaW5lckVsZW1lbnRSZWY7XG4gIH1cblxuICBwdWJsaWMgaXNNb3VzZUVudGVyOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIGlzVmlzaWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBtZW51SWQ6IHN0cmluZztcblxuICBwdWJsaWMgbWVudUFyaWFSb2xlOiBzdHJpbmc7XG5cbiAgQFZpZXdDaGlsZCgnbWVudUNvbnRhaW5lclRlbXBsYXRlUmVmJywge1xuICAgIHJlYWQ6IFRlbXBsYXRlUmVmLFxuICAgIHN0YXRpYzogdHJ1ZVxuICB9KVxuICBwcml2YXRlIG1lbnVDb250YWluZXJUZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAVmlld0NoaWxkKCd0cmlnZ2VyQnV0dG9uJywge1xuICAgIHJlYWQ6IEVsZW1lbnRSZWYsXG4gICAgc3RhdGljOiB0cnVlXG4gIH0pXG4gIHByaXZhdGUgdHJpZ2dlckJ1dHRvbjogRWxlbWVudFJlZjtcblxuICBwcml2YXRlIGFmZml4ZXI6IFNreUFmZml4ZXI7XG5cbiAgcHJpdmF0ZSBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3QoKTtcblxuICBwcml2YXRlIG92ZXJsYXk6IFNreU92ZXJsYXlJbnN0YW5jZTtcblxuICBwcml2YXRlIF9idXR0b25TdHlsZTogc3RyaW5nO1xuXG4gIHByaXZhdGUgX2J1dHRvblR5cGU6IHN0cmluZztcblxuICBwcml2YXRlIF9kaXNhYmxlZDogYm9vbGVhbjtcblxuICBwcml2YXRlIF9kaXNtaXNzT25CbHVyOiBib29sZWFuO1xuXG4gIHByaXZhdGUgX2hvcml6b250YWxBbGlnbm1lbnQ6IFNreURyb3Bkb3duSG9yaXpvbnRhbEFsaWdubWVudDtcblxuICBwcml2YXRlIF9pc09wZW4gPSBmYWxzZTtcblxuICBwcml2YXRlIF9tZW51Q29udGFpbmVyRWxlbWVudFJlZjogRWxlbWVudFJlZjtcblxuICBwcml2YXRlIF90cmlnZ2VyOiBTa3lEcm9wZG93blRyaWdnZXJUeXBlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgYWZmaXhTZXJ2aWNlOiBTa3lBZmZpeFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBvdmVybGF5U2VydmljZTogU2t5T3ZlcmxheVNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSB0aGVtZVN2Yz86IFNreVRoZW1lU2VydmljZVxuICApIHsgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXJzKCk7XG5cbiAgICB0aGlzLm1lc3NhZ2VTdHJlYW1cbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgobWVzc2FnZTogU2t5RHJvcGRvd25NZXNzYWdlKSA9PiB7XG4gICAgICAgIHRoaXMuaGFuZGxlSW5jb21pbmdNZXNzYWdlcyhtZXNzYWdlKTtcbiAgICAgIH0pO1xuXG4gICAgLy8gTG9hZCBwcm9wZXIgaWNvbnMgb24gdGhlbWUgY2hhbmdlLlxuICAgIHRoaXMudGhlbWVTdmM/LnNldHRpbmdzQ2hhbmdlXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95QWZmaXhlcigpO1xuICAgIHRoaXMuZGVzdHJveU92ZXJsYXkoKTtcblxuICAgIHRoaXMubmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRFdmVudExpc3RlbmVycygpOiB2b2lkIHtcbiAgICBjb25zdCBidXR0b25FbGVtZW50ID0gdGhpcy50cmlnZ2VyQnV0dG9uLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICBvYnNlcnZhYmxlRnJvbUV2ZW50KGJ1dHRvbkVsZW1lbnQsICdjbGljaycpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5pc09wZW4pIHtcbiAgICAgICAgICB0aGlzLnNlbmRNZXNzYWdlKFNreURyb3Bkb3duTWVzc2FnZVR5cGUuQ2xvc2UpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuc2VuZE1lc3NhZ2UoU2t5RHJvcGRvd25NZXNzYWdlVHlwZS5PcGVuKTtcbiAgICAgICAgICAvLyBXYWl0IGZvciBkcm9wZG93biB0byBvcGVuLCB0aGVuIHNldCBmb2N1cyBvbiBmaXJzdCBpdGVtLlxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZW5kTWVzc2FnZShTa3lEcm9wZG93bk1lc3NhZ2VUeXBlLkZvY3VzRmlyc3RJdGVtKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICBvYnNlcnZhYmxlRnJvbUV2ZW50KGJ1dHRvbkVsZW1lbnQsICdrZXlkb3duJylcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgICAgY29uc3Qga2V5ID0gZXZlbnQua2V5LnRvTG93ZXJDYXNlKCk7XG5cbiAgICAgICAgLyogdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOnN3aXRjaC1kZWZhdWx0ICovXG4gICAgICAgIHN3aXRjaCAoa2V5KSB7XG4gICAgICAgICAgY2FzZSAnZXNjYXBlJzpcbiAgICAgICAgICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UqL1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNPcGVuKSB7XG4gICAgICAgICAgICAgIHRoaXMuc2VuZE1lc3NhZ2UoU2t5RHJvcGRvd25NZXNzYWdlVHlwZS5DbG9zZSk7XG4gICAgICAgICAgICAgIHRoaXMuc2VuZE1lc3NhZ2UoU2t5RHJvcGRvd25NZXNzYWdlVHlwZS5Gb2N1c1RyaWdnZXJCdXR0b24pO1xuICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgY2FzZSAndGFiJzpcbiAgICAgICAgICAgIGlmICh0aGlzLmlzT3BlbiAmJiB0aGlzLmRpc21pc3NPbkJsdXIpIHtcbiAgICAgICAgICAgICAgdGhpcy5zZW5kTWVzc2FnZShTa3lEcm9wZG93bk1lc3NhZ2VUeXBlLkNsb3NlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgY2FzZSAnYXJyb3d1cCc6XG4gICAgICAgICAgY2FzZSAndXAnOlxuICAgICAgICAgICAgaWYgKCF0aGlzLmlzT3Blbikge1xuICAgICAgICAgICAgICB0aGlzLnNlbmRNZXNzYWdlKFNreURyb3Bkb3duTWVzc2FnZVR5cGUuT3Blbik7XG4gICAgICAgICAgICAgIHRoaXMuc2VuZE1lc3NhZ2UoU2t5RHJvcGRvd25NZXNzYWdlVHlwZS5Gb2N1c0xhc3RJdGVtKTtcbiAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGNhc2UgJ2VudGVyJzpcbiAgICAgICAgICBjYXNlICdhcnJvd2Rvd24nOlxuICAgICAgICAgIGNhc2UgJ2Rvd24nOlxuICAgICAgICAgIGNhc2UgJyAnOiAvLyBTcGFjZWJhci5cbiAgICAgICAgICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UqL1xuICAgICAgICAgICAgaWYgKCF0aGlzLmlzT3Blbikge1xuICAgICAgICAgICAgICB0aGlzLnNlbmRNZXNzYWdlKFNreURyb3Bkb3duTWVzc2FnZVR5cGUuT3Blbik7XG4gICAgICAgICAgICAgIHRoaXMuc2VuZE1lc3NhZ2UoU2t5RHJvcGRvd25NZXNzYWdlVHlwZS5Gb2N1c0ZpcnN0SXRlbSk7XG4gICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgb2JzZXJ2YWJsZUZyb21FdmVudChidXR0b25FbGVtZW50LCAnbW91c2VlbnRlcicpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmlzTW91c2VFbnRlciA9IHRydWU7XG4gICAgICAgIGlmICh0aGlzLnRyaWdnZXIgPT09ICdob3ZlcicpIHtcbiAgICAgICAgICB0aGlzLnNlbmRNZXNzYWdlKFNreURyb3Bkb3duTWVzc2FnZVR5cGUuT3Blbik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgb2JzZXJ2YWJsZUZyb21FdmVudChidXR0b25FbGVtZW50LCAnbW91c2VsZWF2ZScpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmlzTW91c2VFbnRlciA9IGZhbHNlO1xuICAgICAgICBpZiAodGhpcy50cmlnZ2VyID09PSAnaG92ZXInKSB7XG4gICAgICAgICAgLy8gQWxsb3cgdGhlIGRyb3Bkb3duIG1lbnUgdG8gc2V0IGlzTW91c2VFbnRlciBiZWZvcmUgY2hlY2tpbmcgaWYgdGhlIGNsb3NlIGFjdGlvblxuICAgICAgICAgIC8vIHNob3VsZCBiZSB0YWtlbi5cbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGlmICghdGhpcy5pc01vdXNlRW50ZXIpIHtcbiAgICAgICAgICAgICAgdGhpcy5zZW5kTWVzc2FnZShTa3lEcm9wZG93bk1lc3NhZ2VUeXBlLkNsb3NlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZU92ZXJsYXkoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMub3ZlcmxheSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG92ZXJsYXkgPSB0aGlzLm92ZXJsYXlTZXJ2aWNlLmNyZWF0ZSh7XG4gICAgICBlbmFibGVTY3JvbGw6IHRydWUsXG4gICAgICBlbmFibGVQb2ludGVyRXZlbnRzOiB0cnVlXG4gICAgfSk7XG5cbiAgICBvdmVybGF5LmF0dGFjaFRlbXBsYXRlKHRoaXMubWVudUNvbnRhaW5lclRlbXBsYXRlUmVmKTtcblxuICAgIG92ZXJsYXkuYmFja2Ryb3BDbGlja1xuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuZGlzbWlzc09uQmx1cikge1xuICAgICAgICAgIHRoaXMuc2VuZE1lc3NhZ2UoU2t5RHJvcGRvd25NZXNzYWdlVHlwZS5DbG9zZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgdGhpcy5vdmVybGF5ID0gb3ZlcmxheTtcbiAgfVxuXG4gIHByaXZhdGUgZGVzdHJveUFmZml4ZXIoKTogdm9pZCB7XG4gICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSovXG4gICAgaWYgKHRoaXMuYWZmaXhlcikge1xuICAgICAgdGhpcy5hZmZpeGVyLmRlc3Ryb3koKTtcbiAgICAgIHRoaXMuYWZmaXhlciA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGRlc3Ryb3lPdmVybGF5KCk6IHZvaWQge1xuICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UqL1xuICAgIGlmICh0aGlzLm92ZXJsYXkpIHtcbiAgICAgIHRoaXMub3ZlcmxheVNlcnZpY2UuY2xvc2UodGhpcy5vdmVybGF5KTtcbiAgICAgIHRoaXMub3ZlcmxheSA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUFmZml4ZXIoKTogdm9pZCB7XG4gICAgY29uc3QgYWZmaXhlciA9IHRoaXMuYWZmaXhTZXJ2aWNlLmNyZWF0ZUFmZml4ZXIodGhpcy5tZW51Q29udGFpbmVyRWxlbWVudFJlZik7XG5cbiAgICBhZmZpeGVyLnBsYWNlbWVudENoYW5nZVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChjaGFuZ2UpID0+IHtcbiAgICAgICAgdGhpcy5pc1Zpc2libGUgPSAoY2hhbmdlLnBsYWNlbWVudCAhPT0gbnVsbCk7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcblxuICAgIHRoaXMuYWZmaXhlciA9IGFmZml4ZXI7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUluY29taW5nTWVzc2FnZXMobWVzc2FnZTogU2t5RHJvcGRvd25NZXNzYWdlKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICAvKiB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6c3dpdGNoLWRlZmF1bHQgKi9cbiAgICAgIHN3aXRjaCAobWVzc2FnZS50eXBlKSB7XG4gICAgICAgIGNhc2UgU2t5RHJvcGRvd25NZXNzYWdlVHlwZS5PcGVuOlxuICAgICAgICAgIHRoaXMuaXNPcGVuID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLnBvc2l0aW9uRHJvcGRvd25NZW51KCk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSBTa3lEcm9wZG93bk1lc3NhZ2VUeXBlLkNsb3NlOlxuICAgICAgICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5kZXN0cm95T3ZlcmxheSgpO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgU2t5RHJvcGRvd25NZXNzYWdlVHlwZS5SZXBvc2l0aW9uOlxuICAgICAgICAgIC8vIE9ubHkgcmVwb3NpdGlvbiB0aGUgZHJvcGRvd24gaWYgaXQgaXMgYWxyZWFkeSBvcGVuLlxuICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgICAgaWYgKHRoaXMuaXNPcGVuICYmIHRoaXMuYWZmaXhlcikge1xuICAgICAgICAgICAgdGhpcy5hZmZpeGVyLnJlYWZmaXgoKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSBTa3lEcm9wZG93bk1lc3NhZ2VUeXBlLkZvY3VzVHJpZ2dlckJ1dHRvbjpcbiAgICAgICAgICB0aGlzLnRyaWdnZXJCdXR0b24ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2VuZE1lc3NhZ2UodHlwZTogU2t5RHJvcGRvd25NZXNzYWdlVHlwZSk6IHZvaWQge1xuICAgIHRoaXMubWVzc2FnZVN0cmVhbS5uZXh0KHsgdHlwZSB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcG9zaXRpb25Ecm9wZG93bk1lbnUoKTogdm9pZCB7XG4gICAgdGhpcy5pc1Zpc2libGUgPSBmYWxzZTtcbiAgICB0aGlzLmNyZWF0ZU92ZXJsYXkoKTtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmFmZml4ZXIuYWZmaXhUbyh0aGlzLnRyaWdnZXJCdXR0b24ubmF0aXZlRWxlbWVudCwge1xuICAgICAgICBhdXRvRml0Q29udGV4dDogU2t5QWZmaXhBdXRvRml0Q29udGV4dC5WaWV3cG9ydCxcbiAgICAgICAgZW5hYmxlQXV0b0ZpdDogdHJ1ZSxcbiAgICAgICAgaG9yaXpvbnRhbEFsaWdubWVudDogcGFyc2VBZmZpeEhvcml6b250YWxBbGlnbm1lbnQodGhpcy5ob3Jpem9udGFsQWxpZ25tZW50KSxcbiAgICAgICAgaXNTdGlja3k6IHRydWUsXG4gICAgICAgIHBsYWNlbWVudDogJ2JlbG93J1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuaXNWaXNpYmxlID0gdHJ1ZTtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG4gIH1cblxufVxuIl19
|
|
367
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNreXV4L3BvcG92ZXJzLyIsInNvdXJjZXMiOlsibW9kdWxlcy9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUNMLFNBQVMsRUFDVCxNQUFNLEVBQ04sUUFBUSxFQUNSLFdBQVcsRUFDWCxTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixVQUFVLEVBQ1YsZUFBZSxFQUNmLGtCQUFrQixFQUNsQixpQkFBaUIsRUFDbEIsTUFBTSxhQUFhLENBQUM7QUFFckIsT0FBTyxFQUNMLGVBQWUsRUFDaEIsTUFBTSxjQUFjLENBQUM7QUFFdEIsT0FBTyxFQUNMLFNBQVMsSUFBSSxtQkFBbUIsRUFDaEMsT0FBTyxFQUNSLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUNMLFNBQVMsRUFDVixNQUFNLGdCQUFnQixDQUFDO0FBVXhCLE9BQU8sRUFDTCxzQkFBc0IsRUFDdkIsTUFBTSwrQkFBK0IsQ0FBQztBQU12QyxPQUFPLEVBQ0wsNkJBQTZCLEVBQzlCLE1BQU0sdUJBQXVCLENBQUM7QUFRL0IsSUFBYSxvQkFBb0IsR0FBakMsTUFBYSxvQkFBb0I7SUEwTC9CLFlBQ1UsY0FBaUMsRUFDakMsWUFBNkIsRUFDN0IsY0FBaUMsRUFDckIsUUFBMEI7UUFIdEMsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQ2pDLGlCQUFZLEdBQVosWUFBWSxDQUFpQjtRQUM3QixtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFDckIsYUFBUSxHQUFSLFFBQVEsQ0FBa0I7UUExR2hEOzs7V0FHRztRQUdJLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQXNCLENBQUM7UUFvRGxELGlCQUFZLEdBQVksS0FBSyxD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UyxDQUFDLHlCQUF5QixFQUFFO1FBQ3BDLElBQUksRUFBRSxVQUFVO0tBQ2pCLENBQUM7bUVBUUQ7QUFrQkQ7SUFKQyxTQUFTLENBQUMsMEJBQTBCLEVBQUU7UUFDckMsSUFBSSxFQUFFLFdBQVc7UUFDakIsTUFBTSxFQUFFLElBQUk7S0FDYixDQUFDO3NFQUNpRDtBQU1uRDtJQUpDLFNBQVMsQ0FBQyxlQUFlLEVBQUU7UUFDMUIsSUFBSSxFQUFFLFVBQVU7UUFDaEIsTUFBTSxFQUFFLElBQUk7S0FDYixDQUFDOzJEQUNnQztBQWhLdkIsb0JBQW9CO0lBTmhDLFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRSxjQUFjO1FBQ3hCLHl4RUFBd0M7UUFFeEMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O0tBQ2hELENBQUM7SUErTEcsV0FBQSxRQUFRLEVBQUUsQ0FBQTtHQTlMRixvQkFBb0IsQ0E2YWhDO1NBN2FZLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1xuICBTa3lBZmZpeEF1dG9GaXRDb250ZXh0LFxuICBTa3lBZmZpeGVyLFxuICBTa3lBZmZpeFNlcnZpY2UsXG4gIFNreU92ZXJsYXlJbnN0YW5jZSxcbiAgU2t5T3ZlcmxheVNlcnZpY2Vcbn0gZnJvbSAnQHNreXV4L2NvcmUnO1xuXG5pbXBvcnQge1xuICBTa3lUaGVtZVNlcnZpY2Vcbn0gZnJvbSAnQHNreXV4L3RoZW1lJztcblxuaW1wb3J0IHtcbiAgZnJvbUV2ZW50IGFzIG9ic2VydmFibGVGcm9tRXZlbnQsXG4gIFN1YmplY3Rcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gIHRha2VVbnRpbFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7XG4gIFNreURyb3Bkb3duSG9yaXpvbnRhbEFsaWdubWVudFxufSBmcm9tICcuL3R5cGVzL2Ryb3Bkb3duLWhvcml6b250YWwtYWxpZ25tZW50JztcblxuaW1wb3J0IHtcbiAgU2t5RHJvcGRvd25NZXNzYWdlXG59IGZyb20gJy4vdHlwZXMvZHJvcGRvd24tbWVzc2FnZSc7XG5cbmltcG9ydCB7XG4gIFNreURyb3Bkb3duTWVzc2FnZVR5cGVcbn0gZnJvbSAnLi90eXBlcy9kcm9wZG93bi1tZXNzYWdlLXR5cGUnO1xuXG5pbXBvcnQge1xuICBTa3lEcm9wZG93blRyaWdnZXJUeXBlXG59IGZyb20gJy4vdHlwZXMvZHJvcGRvd24tdHJpZ2dlci10eXBlJztcblxuaW1wb3J0IHtcbiAgcGFyc2VBZmZpeEhvcml6b250YWxBbGlnbm1lbnRcbn0gZnJvbSAnLi9kcm9wZG93bi1leHRlbnNpb25zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWRyb3Bkb3duJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZHJvcGRvd24uY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgU2t5RHJvcGRvd25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBhIGJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBkcm9wZG93biBidXR0b24uIEF2YWlsYWJsZSB2YWx1ZXMgYXJlIGBkZWZhdWx0YCBhbmRcbiAgICogYHByaW1hcnlgLiBUaGVzZSB2YWx1ZXMgc2V0IHRoZSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gdGhlXG4gICAqIFtzZWNvbmRhcnkgYW5kIHByaW1hcnkgYnV0dG9uIGNsYXNzZXNdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9idXR0b24pIHJlc3BlY3RpdmVseS5cbiAgICogQGRlZmF1bHQgXCJkZWZhdWx0XCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgYnV0dG9uU3R5bGUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2J1dHRvblN0eWxlID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGJ1dHRvblN0eWxlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2J1dHRvblN0eWxlIHx8ICdkZWZhdWx0JztcbiAgfVxuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIHR5cGUgb2YgYnV0dG9uIHRvIHJlbmRlciBhcyB0aGUgZHJvcGRvd24ncyB0cmlnZ2VyIGVsZW1lbnQuIFRvIGRpc3BsYXkgYSBidXR0b25cbiAgICogd2l0aCB0ZXh0IGFuZCBhIGNhcmV0LCBzcGVjaWZ5IGBzZWxlY3RgIGFuZCB0aGVuIGVudGVyIHRoZSBidXR0b24gdGV4dCBpbiBhXG4gICAqIGBza3ktZHJvcGRvd24tYnV0dG9uYCBlbGVtZW50LiBUbyBkaXNwbGF5IGEgcm91bmQgYnV0dG9uIHdpdGggYW4gZWxsaXBzaXMsIHNwZWNpZnlcbiAgICogYGNvbnRleHQtbWVudWAuIEFuZCB0byBkaXNwbGF5IGEgYnV0dG9uIHdpdGggYSBbRm9udCBBd2Vzb21lIGljb25dKGh0dHA6Ly9mb250YXdlc29tZS5pby9pY29ucy8pLCBzcGVjaWZ5IHRoZSBpY29uJ3MgY2xhc3MgbmFtZS5cbiAgICogRm9yIGV4YW1wbGUsIHRvIGRpc3BsYXkgdGhlIGBmYS1maWx0ZXJgIGljb24sIHNwZWNpZnkgYGZpbHRlcmAuXG4gICAqIEBkZWZhdWx0IFwic2VsZWN0XCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgYnV0dG9uVHlwZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fYnV0dG9uVHlwZSA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBidXR0b25UeXBlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2J1dHRvblR5cGUgfHwgJ3NlbGVjdCc7XG4gIH1cblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdG8gZGlzYWJsZSB0aGUgZHJvcGRvd24gYnV0dG9uLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2Rpc2FibGVkID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZCB8fCBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0byBjbG9zZSB0aGUgZHJvcGRvd24gd2hlbiB1c2VycyBjbGljayBhd2F5IGZyb20gdGhlIG1lbnUuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGlzbWlzc09uQmx1cih2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2Rpc21pc3NPbkJsdXIgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGlzbWlzc09uQmx1cigpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5fZGlzbWlzc09uQmx1ciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fZGlzbWlzc09uQmx1cjtcbiAgfVxuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgYW4gQVJJQSBsYWJlbCBmb3IgdGhlIGRyb3Bkb3duLiBUaGlzIHNldHMgdGhlIGRyb3Bkb3duJ3MgYGFyaWEtbGFiZWxgIGF0dHJpYnV0ZVxuICAgKiBbdG8gc3VwcG9ydCBhY2Nlc3NpYmlsaXR5XShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2xlYXJuL2FjY2Vzc2liaWxpdHkpLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGxhYmVsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgaG9yaXpvbnRhbCBhbGlnbm1lbnQgb2YgdGhlIGRyb3Bkb3duIG1lbnUgaW4gcmVsYXRpb24gdG8gdGhlIGRyb3Bkb3duIGJ1dHRvbi5cbiAgICogQGRlZmF1bHQgXCJsZWZ0XCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgaG9yaXpvbnRhbEFsaWdubWVudCh2YWx1ZTogU2t5RHJvcGRvd25Ib3Jpem9udGFsQWxpZ25tZW50KSB7XG4gICAgdGhpcy5faG9yaXpvbnRhbEFsaWdubWVudCA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBob3Jpem9udGFsQWxpZ25tZW50KCk6IFNreURyb3Bkb3duSG9yaXpvbnRhbEFsaWdubWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX2hvcml6b250YWxBbGlnbm1lbnQgfHwgJ2xlZnQnO1xuICB9XG5cbiAgLyoqXG4gICAqIFByb3ZpZGVzIGFuIG9ic2VydmFibGUgdG8gc2VuZCBjb21tYW5kcyB0byB0aGUgZHJvcGRvd24uIFRoZSBjb21tYW5kcyBzaG91bGQgcmVzcGVjdFxuICAgKiB0aGUgW1tTa3lEcm9wZG93bk1lc3NhZ2VdXSB0eXBlLlxuICAgKi9cblxuICBASW5wdXQoKVxuICBwdWJsaWMgbWVzc2FnZVN0cmVhbSA9IG5ldyBTdWJqZWN0PFNreURyb3Bkb3duTWVzc2FnZT4oKTtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIGEgdGl0bGUgdG8gZGlzcGxheSBpbiBhIHRvb2x0aXAgd2hlbiB1c2VycyBob3ZlciB0aGUgbW91c2Ugb3ZlciB0aGUgZHJvcGRvd24gYnV0dG9uLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHRpdGxlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBob3cgdXNlcnMgaW50ZXJhY3Qgd2l0aCB0aGUgZHJvcGRvd24gYnV0dG9uIHRvIGV4cG9zZSB0aGUgZHJvcGRvd24gbWVudS5cbiAgICogV2UgcmVjb21tZW5kIHRoZSBkZWZhdWx0IGBjbGlja2AgdmFsdWUgYmVjYXVzZSB0aGUgYGhvdmVyYCB2YWx1ZSBjYW4gcG9zZVxuICAgKiBbYWNjZXNzaWJpbGl0eV0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9sZWFybi9hY2Nlc3NpYmlsaXR5KSBpc3N1ZXNcbiAgICogZm9yIHVzZXJzIG9uIHRvdWNoIGRldmljZXMgc3VjaCBhcyBwaG9uZXMgYW5kIHRhYmxldHMuXG4gICAqIEBkZXByZWNhdGVkIFdlIHJlY29tbWVuZCBhZ2FpbnN0IHVzaW5nIHRoaXMgcHJvcGVydHkuIElmIHlvdSBjaG9vc2UgdG8gdXNlIHRoZSBkZXByZWNhdGVkXG4gICAqIGBob3ZlcmAgdmFsdWUgYW55d2F5LCB3ZSByZWNvbW1lbmQgdGhhdCB5b3Ugbm90IHVzZSBpdCBpbiBjb21iaW5hdGlvbiB3aXRoIHRoZSBgdGl0bGVgXG4gICAqIHByb3BlcnR5LiAoVGhpcyBwcm9wZXJ0eSB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlLilcbiAgICogQGRlZmF1bHQgXCJjbGlja1wiXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHRyaWdnZXIodmFsdWU6IFNreURyb3Bkb3duVHJpZ2dlclR5cGUpIHtcbiAgICB0aGlzLl90cmlnZ2VyID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRyaWdnZXIoKTogU2t5RHJvcGRvd25UcmlnZ2VyVHlwZSB7XG4gICAgcmV0dXJuIHRoaXMuX3RyaWdnZXIgfHwgJ2NsaWNrJztcbiAgfVxuXG4gIHB1YmxpYyBzZXQgaXNPcGVuKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5faXNPcGVuID0gdmFsdWU7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNPcGVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9pc09wZW4gfHwgZmFsc2U7XG4gIH1cblxuICBAVmlld0NoaWxkKCdtZW51Q29udGFpbmVyRWxlbWVudFJlZicsIHtcbiAgICByZWFkOiBFbGVtZW50UmVmXG4gIH0pXG4gIHB1YmxpYyBzZXQgbWVudUNvbnRhaW5lckVsZW1lbnRSZWYodmFsdWU6IEVsZW1lbnRSZWYpIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuX21lbnVDb250YWluZXJFbGVtZW50UmVmID0gdmFsdWU7XG4gICAgICB0aGlzLmRlc3Ryb3lBZmZpeGVyKCk7XG4gICAgICB0aGlzLmNyZWF0ZUFmZml4ZXIoKTtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBtZW51Q29udGFpbmVyRWxlbWVudFJlZigpOiBFbGVtZW50UmVmIHtcbiAgICByZXR1cm4gdGhpcy5fbWVudUNvbnRhaW5lckVsZW1lbnRSZWY7XG4gIH1cblxuICBwdWJsaWMgaXNNb3VzZUVudGVyOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIGlzVmlzaWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBtZW51SWQ6IHN0cmluZztcblxuICBwdWJsaWMgbWVudUFyaWFSb2xlOiBzdHJpbmc7XG5cbiAgQFZpZXdDaGlsZCgnbWVudUNvbnRhaW5lclRlbXBsYXRlUmVmJywge1xuICAgIHJlYWQ6IFRlbXBsYXRlUmVmLFxuICAgIHN0YXRpYzogdHJ1ZVxuICB9KVxuICBwcml2YXRlIG1lbnVDb250YWluZXJUZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAVmlld0NoaWxkKCd0cmlnZ2VyQnV0dG9uJywge1xuICAgIHJlYWQ6IEVsZW1lbnRSZWYsXG4gICAgc3RhdGljOiB0cnVlXG4gIH0pXG4gIHByaXZhdGUgdHJpZ2dlckJ1dHRvbjogRWxlbWVudFJlZjtcblxuICBwcml2YXRlIGFmZml4ZXI6IFNreUFmZml4ZXI7XG5cbiAgcHJpdmF0ZSBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3QoKTtcblxuICBwcml2YXRlIG92ZXJsYXk6IFNreU92ZXJsYXlJbnN0YW5jZTtcblxuICBwcml2YXRlIF9idXR0b25TdHlsZTogc3RyaW5nO1xuXG4gIHByaXZhdGUgX2J1dHRvblR5cGU6IHN0cmluZztcblxuICBwcml2YXRlIF9kaXNhYmxlZDogYm9vbGVhbjtcblxuICBwcml2YXRlIF9kaXNtaXNzT25CbHVyOiBib29sZWFuO1xuXG4gIHByaXZhdGUgX2hvcml6b250YWxBbGlnbm1lbnQ6IFNreURyb3Bkb3duSG9yaXpvbnRhbEFsaWdubWVudDtcblxuICBwcml2YXRlIF9pc09wZW4gPSBmYWxzZTtcblxuICBwcml2YXRlIF9tZW51Q29udGFpbmVyRWxlbWVudFJlZjogRWxlbWVudFJlZjtcblxuICBwcml2YXRlIF90cmlnZ2VyOiBTa3lEcm9wZG93blRyaWdnZXJUeXBlO1xuXG4gIHByaXZhdGUgX3Bvc2l0aW9uVGltZW91dDogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgYWZmaXhTZXJ2aWNlOiBTa3lBZmZpeFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBvdmVybGF5U2VydmljZTogU2t5T3ZlcmxheVNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSB0aGVtZVN2Yz86IFNreVRoZW1lU2VydmljZVxuICApIHsgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXJzKCk7XG5cbiAgICB0aGlzLm1lc3NhZ2VTdHJlYW1cbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgobWVzc2FnZTogU2t5RHJvcGRvd25NZXNzYWdlKSA9PiB7XG4gICAgICAgIHRoaXMuaGFuZGxlSW5jb21pbmdNZXNzYWdlcyhtZXNzYWdlKTtcbiAgICAgIH0pO1xuXG4gICAgLy8gTG9hZCBwcm9wZXIgaWNvbnMgb24gdGhlbWUgY2hhbmdlLlxuICAgIHRoaXMudGhlbWVTdmM/LnNldHRpbmdzQ2hhbmdlXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95QWZmaXhlcigpO1xuICAgIHRoaXMuZGVzdHJveU92ZXJsYXkoKTtcbiAgICBjbGVhclRpbWVvdXQodGhpcy5fcG9zaXRpb25UaW1lb3V0KTtcblxuICAgIHRoaXMubmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRFdmVudExpc3RlbmVycygpOiB2b2lkIHtcbiAgICBjb25zdCBidXR0b25FbGVtZW50ID0gdGhpcy50cmlnZ2VyQnV0dG9uLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICBvYnNlcnZhYmxlRnJvbUV2ZW50KGJ1dHRvbkVsZW1lbnQsICdjbGljaycpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5pc09wZW4pIHtcbiAgICAgICAgICB0aGlzLnNlbmRNZXNzYWdlKFNreURyb3Bkb3duTWVzc2FnZVR5cGUuQ2xvc2UpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuc2VuZE1lc3NhZ2UoU2t5RHJvcGRvd25NZXNzYWdlVHlwZS5PcGVuKTtcbiAgICAgICAgICAvLyBXYWl0IGZvciBkcm9wZG93biB0byBvcGVuLCB0aGVuIHNldCBmb2N1cyBvbiBmaXJzdCBpdGVtLlxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZW5kTWVzc2FnZShTa3lEcm9wZG93bk1lc3NhZ2VUeXBlLkZvY3VzRmlyc3RJdGVtKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICBvYnNlcnZhYmxlRnJvbUV2ZW50KGJ1dHRvbkVsZW1lbnQsICdrZXlkb3duJylcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgICAgY29uc3Qga2V5ID0gZXZlbnQua2V5LnRvTG93ZXJDYXNlKCk7XG5cbiAgICAgICAgLyogdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOnN3aXRjaC1kZWZhdWx0ICovXG4gICAgICAgIHN3aXRjaCAoa2V5KSB7XG4gICAgICAgICAgY2FzZSAnZXNjYXBlJzpcbiAgICAgICAgICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UqL1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNPcGVuKSB7XG4gICAgICAgICAgICAgIHRoaXMuc2VuZE1lc3NhZ2UoU2t5RHJvcGRvd25NZXNzYWdlVHlwZS5DbG9zZSk7XG4gICAgICAgICAgICAgIHRoaXMuc2VuZE1lc3NhZ2UoU2t5RHJvcGRvd25NZXNzYWdlVHlwZS5Gb2N1c1RyaWdnZXJCdXR0b24pO1xuICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgY2FzZSAndGFiJzpcbiAgICAgICAgICAgIGlmICh0aGlzLmlzT3BlbiAmJiB0aGlzLmRpc21pc3NPbkJsdXIpIHtcbiAgICAgICAgICAgICAgdGhpcy5zZW5kTWVzc2FnZShTa3lEcm9wZG93bk1lc3NhZ2VUeXBlLkNsb3NlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgY2FzZSAnYXJyb3d1cCc6XG4gICAgICAgICAgY2FzZSAndXAnOlxuICAgICAgICAgICAgaWYgKCF0aGlzLmlzT3Blbikge1xuICAgICAgICAgICAgICB0aGlzLnNlbmRNZXNzYWdlKFNreURyb3Bkb3duTWVzc2FnZVR5cGUuT3Blbik7XG4gICAgICAgICAgICAgIHRoaXMuc2VuZE1lc3NhZ2UoU2t5RHJvcGRvd25NZXNzYWdlVHlwZS5Gb2N1c0xhc3RJdGVtKTtcbiAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGNhc2UgJ2VudGVyJzpcbiAgICAgICAgICBjYXNlICdhcnJvd2Rvd24nOlxuICAgICAgICAgIGNhc2UgJ2Rvd24nOlxuICAgICAgICAgIGNhc2UgJyAnOiAvLyBTcGFjZWJhci5cbiAgICAgICAgICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UqL1xuICAgICAgICAgICAgaWYgKCF0aGlzLmlzT3Blbikge1xuICAgICAgICAgICAgICB0aGlzLnNlbmRNZXNzYWdlKFNreURyb3Bkb3duTWVzc2FnZVR5cGUuT3Blbik7XG4gICAgICAgICAgICAgIHRoaXMuc2VuZE1lc3NhZ2UoU2t5RHJvcGRvd25NZXNzYWdlVHlwZS5Gb2N1c0ZpcnN0SXRlbSk7XG4gICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgb2JzZXJ2YWJsZUZyb21FdmVudChidXR0b25FbGVtZW50LCAnbW91c2VlbnRlcicpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmlzTW91c2VFbnRlciA9IHRydWU7XG4gICAgICAgIGlmICh0aGlzLnRyaWdnZXIgPT09ICdob3ZlcicpIHtcbiAgICAgICAgICB0aGlzLnNlbmRNZXNzYWdlKFNreURyb3Bkb3duTWVzc2FnZVR5cGUuT3Blbik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgb2JzZXJ2YWJsZUZyb21FdmVudChidXR0b25FbGVtZW50LCAnbW91c2VsZWF2ZScpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmlzTW91c2VFbnRlciA9IGZhbHNlO1xuICAgICAgICBpZiAodGhpcy50cmlnZ2VyID09PSAnaG92ZXInKSB7XG4gICAgICAgICAgLy8gQWxsb3cgdGhlIGRyb3Bkb3duIG1lbnUgdG8gc2V0IGlzTW91c2VFbnRlciBiZWZvcmUgY2hlY2tpbmcgaWYgdGhlIGNsb3NlIGFjdGlvblxuICAgICAgICAgIC8vIHNob3VsZCBiZSB0YWtlbi5cbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGlmICghdGhpcy5pc01vdXNlRW50ZXIpIHtcbiAgICAgICAgICAgICAgdGhpcy5zZW5kTWVzc2FnZShTa3lEcm9wZG93bk1lc3NhZ2VUeXBlLkNsb3NlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZU92ZXJsYXkoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMub3ZlcmxheSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG92ZXJsYXkgPSB0aGlzLm92ZXJsYXlTZXJ2aWNlLmNyZWF0ZSh7XG4gICAgICBlbmFibGVTY3JvbGw6IHRydWUsXG4gICAgICBlbmFibGVQb2ludGVyRXZlbnRzOiB0cnVlXG4gICAgfSk7XG5cbiAgICBvdmVybGF5LmF0dGFjaFRlbXBsYXRlKHRoaXMubWVudUNvbnRhaW5lclRlbXBsYXRlUmVmKTtcblxuICAgIG92ZXJsYXkuYmFja2Ryb3BDbGlja1xuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuZGlzbWlzc09uQmx1cikge1xuICAgICAgICAgIHRoaXMuc2VuZE1lc3NhZ2UoU2t5RHJvcGRvd25NZXNzYWdlVHlwZS5DbG9zZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgdGhpcy5vdmVybGF5ID0gb3ZlcmxheTtcbiAgfVxuXG4gIHByaXZhdGUgZGVzdHJveUFmZml4ZXIoKTogdm9pZCB7XG4gICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSovXG4gICAgaWYgKHRoaXMuYWZmaXhlcikge1xuICAgICAgdGhpcy5hZmZpeGVyLmRlc3Ryb3koKTtcbiAgICAgIHRoaXMuYWZmaXhlciA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGRlc3Ryb3lPdmVybGF5KCk6IHZvaWQge1xuICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UqL1xuICAgIGlmICh0aGlzLm92ZXJsYXkpIHtcbiAgICAgIHRoaXMub3ZlcmxheVNlcnZpY2UuY2xvc2UodGhpcy5vdmVybGF5KTtcbiAgICAgIHRoaXMub3ZlcmxheSA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUFmZml4ZXIoKTogdm9pZCB7XG4gICAgY29uc3QgYWZmaXhlciA9IHRoaXMuYWZmaXhTZXJ2aWNlLmNyZWF0ZUFmZml4ZXIodGhpcy5tZW51Q29udGFpbmVyRWxlbWVudFJlZik7XG5cbiAgICBhZmZpeGVyLnBsYWNlbWVudENoYW5nZVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChjaGFuZ2UpID0+IHtcbiAgICAgICAgdGhpcy5pc1Zpc2libGUgPSAoY2hhbmdlLnBsYWNlbWVudCAhPT0gbnVsbCk7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcblxuICAgIHRoaXMuYWZmaXhlciA9IGFmZml4ZXI7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUluY29taW5nTWVzc2FnZXMobWVzc2FnZTogU2t5RHJvcGRvd25NZXNzYWdlKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICAvKiB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6c3dpdGNoLWRlZmF1bHQgKi9cbiAgICAgIHN3aXRjaCAobWVzc2FnZS50eXBlKSB7XG4gICAgICAgIGNhc2UgU2t5RHJvcGRvd25NZXNzYWdlVHlwZS5PcGVuOlxuICAgICAgICAgIHRoaXMuaXNPcGVuID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLnBvc2l0aW9uRHJvcGRvd25NZW51KCk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSBTa3lEcm9wZG93bk1lc3NhZ2VUeXBlLkNsb3NlOlxuICAgICAgICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5kZXN0cm95T3ZlcmxheSgpO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgU2t5RHJvcGRvd25NZXNzYWdlVHlwZS5SZXBvc2l0aW9uOlxuICAgICAgICAgIC8vIE9ubHkgcmVwb3NpdGlvbiB0aGUgZHJvcGRvd24gaWYgaXQgaXMgYWxyZWFkeSBvcGVuLlxuICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgICAgaWYgKHRoaXMuaXNPcGVuICYmIHRoaXMuYWZmaXhlcikge1xuICAgICAgICAgICAgdGhpcy5hZmZpeGVyLnJlYWZmaXgoKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSBTa3lEcm9wZG93bk1lc3NhZ2VUeXBlLkZvY3VzVHJpZ2dlckJ1dHRvbjpcbiAgICAgICAgICB0aGlzLnRyaWdnZXJCdXR0b24ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2VuZE1lc3NhZ2UodHlwZTogU2t5RHJvcGRvd25NZXNzYWdlVHlwZSk6IHZvaWQge1xuICAgIHRoaXMubWVzc2FnZVN0cmVhbS5uZXh0KHsgdHlwZSB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcG9zaXRpb25Ecm9wZG93bk1lbnUoKTogdm9pZCB7XG4gICAgdGhpcy5pc1Zpc2libGUgPSBmYWxzZTtcbiAgICB0aGlzLmNyZWF0ZU92ZXJsYXkoKTtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuXG4gICAgdGhpcy5fcG9zaXRpb25UaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmFmZml4ZXIuYWZmaXhUbyh0aGlzLnRyaWdnZXJCdXR0b24ubmF0aXZlRWxlbWVudCwge1xuICAgICAgICBhdXRvRml0Q29udGV4dDogU2t5QWZmaXhBdXRvRml0Q29udGV4dC5WaWV3cG9ydCxcbiAgICAgICAgZW5hYmxlQXV0b0ZpdDogdHJ1ZSxcbiAgICAgICAgaG9yaXpvbnRhbEFsaWdubWVudDogcGFyc2VBZmZpeEhvcml6b250YWxBbGlnbm1lbnQodGhpcy5ob3Jpem9udGFsQWxpZ25tZW50KSxcbiAgICAgICAgaXNTdGlja3k6IHRydWUsXG4gICAgICAgIHBsYWNlbWVudDogJ2JlbG93J1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuaXNWaXNpYmxlID0gdHJ1ZTtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG4gIH1cblxufVxuIl19
|
|
@@ -23,6 +23,7 @@ let SkyPopoverContentComponent = class SkyPopoverContentComponent {
|
|
|
23
23
|
this.dismissOnBlur = true;
|
|
24
24
|
this.enableAnimations = true;
|
|
25
25
|
this.isOpen = false;
|
|
26
|
+
this.popoverType = 'info';
|
|
26
27
|
this.ngUnsubscribe = new Subject();
|
|
27
28
|
this._closed = new Subject();
|
|
28
29
|
this._isMouseEnter = new Subject();
|
|
@@ -43,6 +44,7 @@ let SkyPopoverContentComponent = class SkyPopoverContentComponent {
|
|
|
43
44
|
ngOnInit() {
|
|
44
45
|
this.contentTarget.createEmbeddedView(this.context.contentTemplateRef);
|
|
45
46
|
this.addEventListeners();
|
|
47
|
+
/*istanbul ignore else*/
|
|
46
48
|
if (this.themeSvc) {
|
|
47
49
|
this.themeSvc.settingsChange
|
|
48
50
|
.pipe(takeUntil(this.ngUnsubscribe))
|
|
@@ -89,6 +91,9 @@ let SkyPopoverContentComponent = class SkyPopoverContentComponent {
|
|
|
89
91
|
this.horizontalAlignment = config.horizontalAlignment;
|
|
90
92
|
this.placement = config.placement;
|
|
91
93
|
this.popoverTitle = config.popoverTitle;
|
|
94
|
+
if (config.popoverType) {
|
|
95
|
+
this.popoverType = config.popoverType;
|
|
96
|
+
}
|
|
92
97
|
this.changeDetector.markForCheck();
|
|
93
98
|
// Indicates if the popover should be displayed statically.
|
|
94
99
|
// Please note: This feature is internal-only and used by the visual tests to capture multiple
|
|
@@ -101,6 +106,11 @@ let SkyPopoverContentComponent = class SkyPopoverContentComponent {
|
|
|
101
106
|
}
|
|
102
107
|
// Let the styles render before gauging the affix dimensions.
|
|
103
108
|
setTimeout(() => {
|
|
109
|
+
var _a;
|
|
110
|
+
/*istanbul ignore next*/
|
|
111
|
+
if (!((_a = this.popoverRef) === null || _a === void 0 ? void 0 : _a.nativeElement) || !this.ngUnsubscribe || this.ngUnsubscribe.isStopped) {
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
104
114
|
if (!this.affixer) {
|
|
105
115
|
this.setupAffixer();
|
|
106
116
|
}
|
|
@@ -242,11 +252,11 @@ __decorate([
|
|
|
242
252
|
SkyPopoverContentComponent = __decorate([
|
|
243
253
|
Component({
|
|
244
254
|
selector: 'sky-popover-content',
|
|
245
|
-
template: "<div\n class=\"sky-popover-container sky-popover-max-height\"\n [@.disabled]=\"!enableAnimations\"\n [@skyPopoverAnimation]=\"animationState\"\n [class.sky-popover-hidden]=\"!placement\"\n [ngClass]=\"[\n 'sky-popover-alignment-' + horizontalAlignment,\n 'sky-popover-placement-' + placement\n ]\"\n (@skyPopoverAnimation.done)=\"onAnimationEvent($event)\"\n (@skyPopoverAnimation.start)=\"onAnimationEvent($event)\"\n #popoverRef\n>\n <div\n class=\"sky-popover\"\n tabindex=\"-1\"\n [skyThemeClass]=\"{\n 'sky-rounded-corners sky-shadow': 'default',\n 'sky-elevation-4': 'modern'\n }\"\n >\n <header *ngIf=\"popoverTitle\"\n class=\"sky-popover-header\"\n [skyThemeClass]=\"{\n 'sky-padding-even-default': 'default',\n 'sky-padding-even-lg sky-margin-stacked-lg': 'modern'\n }\"\n >\n <h1 *ngIf=\"popoverTitle\"\n class=\"sky-popover-title\"\n [skyThemeClass]=\"{\n 'sky-emphasized': 'default',\n 'sky-font-emphasized': 'modern'\n }\"\n >\n {{ popoverTitle }}\n </h1>\n </header>\n <div\n class=\"sky-popover-body\"\n [skyThemeClass]=\"{\n 'sky-padding-even-default': 'default',\n 'sky-padding-even-lg': 'modern'\n }\"\n >\n <ng-container #contentTarget></ng-container>\n </div>\n <span\n aria-hidden=\"true\"\n class=\"sky-popover-arrow\"\n [style.left.px]=\"arrowLeft\"\n [style.top.px]=\"arrowTop\"\n #arrowRef\n ></span>\n </div>\n</div>\n",
|
|
255
|
+
template: "<div\n class=\"sky-popover-container sky-popover-max-height\"\n [@.disabled]=\"!enableAnimations\"\n [@skyPopoverAnimation]=\"animationState\"\n [class.sky-popover-hidden]=\"!placement\"\n [ngClass]=\"[\n 'sky-popover-alignment-' + horizontalAlignment,\n 'sky-popover-placement-' + placement,\n 'sky-popover-' + popoverType\n ]\"\n (@skyPopoverAnimation.done)=\"onAnimationEvent($event)\"\n (@skyPopoverAnimation.start)=\"onAnimationEvent($event)\"\n #popoverRef\n>\n <div\n class=\"sky-popover\"\n tabindex=\"-1\"\n [skyThemeClass]=\"{\n 'sky-rounded-corners sky-shadow': 'default',\n 'sky-elevation-4': 'modern'\n }\"\n >\n <header *ngIf=\"popoverTitle\"\n class=\"sky-popover-header\"\n [skyThemeClass]=\"{\n 'sky-padding-even-default': 'default',\n 'sky-padding-even-lg sky-margin-stacked-lg': 'modern'\n }\"\n >\n <h1 *ngIf=\"popoverTitle\"\n class=\"sky-popover-title\"\n [skyThemeClass]=\"{\n 'sky-emphasized': 'default',\n 'sky-font-emphasized': 'modern'\n }\"\n >\n {{ popoverTitle }}\n </h1>\n </header>\n <div\n class=\"sky-popover-body\"\n [skyThemeClass]=\"{\n 'sky-padding-even-default': 'default',\n 'sky-padding-even-lg': 'modern'\n }\"\n >\n <ng-container #contentTarget></ng-container>\n </div>\n <span\n aria-hidden=\"true\"\n class=\"sky-popover-arrow\"\n [style.left.px]=\"arrowLeft\"\n [style.top.px]=\"arrowTop\"\n #arrowRef\n ></span>\n </div>\n</div>\n",
|
|
246
256
|
animations: [skyPopoverAnimation],
|
|
247
|
-
styles: [".sky-popover-container{position:fixed;min-width:276px;max-width:276px}.sky-popover-container.sky-popover-hidden{visibility:hidden;opacity:0;pointer-events:none!important}.sky-popover-container.sky-popover-hidden *{pointer-events:none!important}.sky-popover-container.sky-popover-static .sky-popover-arrow{position:absolute}.sky-popover-container:focus{outline:0}@media (max-width:276px){.sky-popover-container{max-width:100%;min-width:auto}}.sky-popover{background-color:#fff}.sky-popover-header{padding-bottom:0}.sky-popover-header+.sky-popover-body{padding-top:2px}.sky-popover-title{margin:0}.sky-popover-arrow{width:0;height:0;position:fixed;border:10px solid transparent}.sky-popover-placement-above{padding-bottom:10px}.sky-popover-placement-above .sky-popover{border-bottom:10px solid #00b4f1}.sky-popover-placement-above .sky-popover-arrow{border-bottom:0;border-top-color:#00b4f1;bottom:0;left:50%;margin-left:-10px}.sky-popover-placement-below{padding-top:10px}.sky-popover-placement-below .sky-popover{border-top:10px solid #00b4f1}.sky-popover-placement-below .sky-popover-arrow{border-top:0;border-bottom-color:#00b4f1;top:0;left:50%;margin-left:-10px}.sky-popover-placement-right{padding-left:10px}.sky-popover-placement-right .sky-popover{border-left:10px solid #00b4f1}.sky-popover-placement-right .sky-popover-arrow{border-left:0;border-right-color:#00b4f1;left:0;top:50%;margin-top:-10px}.sky-popover-placement-left{padding-right:10px}.sky-popover-placement-left .sky-popover{border-right:10px solid #00b4f1}.sky-popover-placement-left .sky-popover-arrow{border-right:0;border-left-color:#00b4f1;right:0;top:50%;margin-top:-10px}.sky-popover-placement-above.sky-popover-alignment-left .sky-popover-arrow,.sky-popover-placement-below.sky-popover-alignment-left .sky-popover-arrow{left:40px;right:auto}.sky-popover-placement-above.sky-popover-alignment-right .sky-popover-arrow,.sky-popover-placement-below.sky-popover-alignment-right .sky-popover-arrow{left:auto;right:40px}.sky-popover-max-height .sky-popover{overflow-y:auto;overflow-x:hidden;min-height:35px;max-height:calc(50vh - 50px)}
|
|
257
|
+
styles: [".sky-popover-container{position:fixed;min-width:276px;max-width:276px}.sky-popover-container.sky-popover-hidden{visibility:hidden;opacity:0;pointer-events:none!important}.sky-popover-container.sky-popover-hidden *{pointer-events:none!important}.sky-popover-container.sky-popover-static .sky-popover-arrow{position:absolute}.sky-popover-container:focus{outline:0}@media (max-width:276px){.sky-popover-container{max-width:100%;min-width:auto}}.sky-popover{background-color:#fff}.sky-popover-header{padding-bottom:0}.sky-popover-header+.sky-popover-body{padding-top:2px}.sky-popover-title{margin:0}.sky-popover-arrow{width:0;height:0;position:fixed;border:10px solid transparent}.sky-popover-placement-above{padding-bottom:10px}.sky-popover-placement-above .sky-popover{border-bottom:10px solid #00b4f1}.sky-popover-placement-above .sky-popover-arrow{border-bottom:0;border-top-color:#00b4f1;bottom:0;left:50%;margin-left:-10px}.sky-popover-placement-above.sky-popover-danger .sky-popover{border-bottom-color:#ef4044}.sky-popover-placement-above.sky-popover-danger .sky-popover-arrow{border-top-color:#ef4044}.sky-popover-placement-below{padding-top:10px}.sky-popover-placement-below .sky-popover{border-top:10px solid #00b4f1}.sky-popover-placement-below .sky-popover-arrow{border-top:0;border-bottom-color:#00b4f1;top:0;left:50%;margin-left:-10px}.sky-popover-placement-below.sky-popover-danger .sky-popover{border-top-color:#ef4044}.sky-popover-placement-below.sky-popover-danger .sky-popover-arrow{border-bottom-color:#ef4044}.sky-popover-placement-right{padding-left:10px}.sky-popover-placement-right .sky-popover{border-left:10px solid #00b4f1}.sky-popover-placement-right .sky-popover-arrow{border-left:0;border-right-color:#00b4f1;left:0;top:50%;margin-top:-10px}.sky-popover-placement-right.sky-popover-danger .sky-popover{border-left-color:#ef4044}.sky-popover-placement-right.sky-popover-danger .sky-popover-arrow{border-right-color:#ef4044}.sky-popover-placement-left{padding-right:10px}.sky-popover-placement-left .sky-popover{border-right:10px solid #00b4f1}.sky-popover-placement-left .sky-popover-arrow{border-right:0;border-left-color:#00b4f1;right:0;top:50%;margin-top:-10px}.sky-popover-placement-left.sky-popover-danger .sky-popover{border-right-color:#ef4044}.sky-popover-placement-left.sky-popover-danger .sky-popover-arrow{border-left-color:#ef4044}.sky-popover-placement-above.sky-popover-alignment-left .sky-popover-arrow,.sky-popover-placement-below.sky-popover-alignment-left .sky-popover-arrow{left:40px;right:auto}.sky-popover-placement-above.sky-popover-alignment-right .sky-popover-arrow,.sky-popover-placement-below.sky-popover-alignment-right .sky-popover-arrow{left:auto;right:40px}.sky-popover-max-height .sky-popover{overflow-y:auto;overflow-x:hidden;min-height:35px;max-height:calc(50vh - 50px)}:host-context(.sky-theme-modern) .sky-popover{border-radius:6px}:host-context(.sky-theme-modern) .sky-popover-arrow{transform:rotate(45deg);border-color:transparent}:host-context(.sky-theme-modern) .sky-popover-placement-above{padding-bottom:10px}:host-context(.sky-theme-modern) .sky-popover-placement-above .sky-popover{border-bottom:6px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-above .sky-popover-arrow{bottom:1px;border-radius:0 0 3px;border-bottom:10px solid #00b4f1;border-right:10px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-above.sky-popover-danger .sky-popover{border-bottom-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-above.sky-popover-danger .sky-popover-arrow{border-color:transparent #ef4044 #ef4044 transparent}:host-context(.sky-theme-modern) .sky-popover-placement-below{padding-top:10px}:host-context(.sky-theme-modern) .sky-popover-placement-below .sky-popover{border-top:6px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-below .sky-popover-arrow{top:1px;border-radius:3px 0 0;border-top:10px solid #00b4f1;border-left:10px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-below.sky-popover-danger .sky-popover{border-top-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-below.sky-popover-danger .sky-popover-arrow{border-color:#ef4044 transparent transparent #ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-right{padding-left:10px}:host-context(.sky-theme-modern) .sky-popover-placement-right .sky-popover{border-left:6px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-right .sky-popover-arrow{left:1px;border-radius:0 0 0 3px;border-bottom:10px solid #00b4f1;border-left:10px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-right.sky-popover-danger .sky-popover{border-left-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-right.sky-popover-danger .sky-popover-arrow{border-color:transparent transparent #ef4044 #ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-left{padding-right:10px}:host-context(.sky-theme-modern) .sky-popover-placement-left .sky-popover{border-right:6px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-left .sky-popover-arrow{right:1px;border-radius:0 3px 0 0;border-top:10px solid #00b4f1;border-right:10px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-left.sky-popover-danger .sky-popover{border-right-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-left.sky-popover-danger .sky-popover-arrow{border-color:#ef4044 #ef4044 transparent transparent}.sky-theme-modern .sky-popover{border-radius:6px}.sky-theme-modern .sky-popover-arrow{transform:rotate(45deg);border-color:transparent}.sky-theme-modern .sky-popover-placement-above{padding-bottom:10px}.sky-theme-modern .sky-popover-placement-above .sky-popover{border-bottom:6px solid #00b4f1}.sky-theme-modern .sky-popover-placement-above .sky-popover-arrow{bottom:1px;border-radius:0 0 3px;border-bottom:10px solid #00b4f1;border-right:10px solid #00b4f1}.sky-theme-modern .sky-popover-placement-above.sky-popover-danger .sky-popover{border-bottom-color:#ef4044}.sky-theme-modern .sky-popover-placement-above.sky-popover-danger .sky-popover-arrow{border-color:transparent #ef4044 #ef4044 transparent}.sky-theme-modern .sky-popover-placement-below{padding-top:10px}.sky-theme-modern .sky-popover-placement-below .sky-popover{border-top:6px solid #00b4f1}.sky-theme-modern .sky-popover-placement-below .sky-popover-arrow{top:1px;border-radius:3px 0 0;border-top:10px solid #00b4f1;border-left:10px solid #00b4f1}.sky-theme-modern .sky-popover-placement-below.sky-popover-danger .sky-popover{border-top-color:#ef4044}.sky-theme-modern .sky-popover-placement-below.sky-popover-danger .sky-popover-arrow{border-color:#ef4044 transparent transparent #ef4044}.sky-theme-modern .sky-popover-placement-right{padding-left:10px}.sky-theme-modern .sky-popover-placement-right .sky-popover{border-left:6px solid #00b4f1}.sky-theme-modern .sky-popover-placement-right .sky-popover-arrow{left:1px;border-radius:0 0 0 3px;border-bottom:10px solid #00b4f1;border-left:10px solid #00b4f1}.sky-theme-modern .sky-popover-placement-right.sky-popover-danger .sky-popover{border-left-color:#ef4044}.sky-theme-modern .sky-popover-placement-right.sky-popover-danger .sky-popover-arrow{border-color:transparent transparent #ef4044 #ef4044}.sky-theme-modern .sky-popover-placement-left{padding-right:10px}.sky-theme-modern .sky-popover-placement-left .sky-popover{border-right:6px solid #00b4f1}.sky-theme-modern .sky-popover-placement-left .sky-popover-arrow{right:1px;border-radius:0 3px 0 0;border-top:10px solid #00b4f1;border-right:10px solid #00b4f1}.sky-theme-modern .sky-popover-placement-left.sky-popover-danger .sky-popover{border-right-color:#ef4044}.sky-theme-modern .sky-popover-placement-left.sky-popover-danger .sky-popover-arrow{border-color:#ef4044 #ef4044 transparent transparent}"]
|
|
248
258
|
}),
|
|
249
259
|
__param(6, Optional())
|
|
250
260
|
], SkyPopoverContentComponent);
|
|
251
261
|
export { SkyPopoverContentComponent };
|
|
252
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bza3l1eC9wb3BvdmVycy8iLCJzb3VyY2VzIjpbIm1vZHVsZXMvcG9wb3Zlci9wb3BvdmVyLWNvbnRlbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFJQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsU0FBUyxFQUNULE1BQU0sRUFDTixRQUFRLEVBQ1IsU0FBUyxFQUNULGdCQUFnQixFQUNqQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLGNBQWMsRUFDZCxVQUFVLEVBQ1YsZUFBZSxFQUNmLHFCQUFxQixFQUN0QixNQUFNLGFBQWEsQ0FBQztBQUVyQixPQUFPLEVBQ0wsZUFBZSxFQUNoQixNQUFNLGNBQWMsQ0FBQztBQUV0QixPQUFPLEVBQ0wsU0FBUyxJQUFJLG1CQUFtQixFQUVoQyxPQUFPLEVBQ1IsTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQ0wsU0FBUyxFQUNWLE1BQU0sZ0JBQWdCLENBQUM7QUFVeEIsT0FBTyxFQUNMLHdCQUF3QixFQUN6QixNQUFNLDJCQUEyQixDQUFDO0FBRW5DLE9BQU8sRUFDTCxtQkFBbUIsRUFDcEIsTUFBTSxxQkFBcUIsQ0FBQztBQU03QixPQUFPLEVBQ0wsaUJBQWlCLEVBQ2xCLE1BQU0sbUJBQW1CLENBQUM7QUFFM0IsT0FBTyxFQUNMLDZCQUE2QixFQUM3QixtQkFBbUIsRUFDcEIsTUFBTSxzQkFBc0IsQ0FBQztBQUU5Qjs7R0FFRztBQU9ILElBQWEsMEJBQTBCLEdBQXZDLE1BQWEsMEJBQTBCO0lBa0VyQyxZQUNVLGNBQWlDLEVBQ2pDLFVBQXNCLEVBQ3RCLFlBQTZCLEVBQzdCLGtCQUF5QyxFQUN6QyxjQUF3QyxFQUN4QyxRQUF5QixFQUNiLE9BQTBCO1FBTnRDLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQUNqQyxlQUFVLEdBQVYs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UUFDVCxRQUFRLEVBQUUscUJBQXFCO1FBQy9CLGtpREFBK0M7UUFFL0MsVUFBVSxFQUFFLENBQUMsbUJBQW1CLENBQUM7O0tBQ2xDLENBQUM7SUEwRUcsV0FBQSxRQUFRLEVBQUUsQ0FBQTtHQXpFRiwwQkFBMEIsQ0EyVHRDO1NBM1RZLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFuaW1hdGlvbkV2ZW50XG59IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuXG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NvbnRhaW5lclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgU2t5QWZmaXhBdXRvRml0Q29udGV4dCxcbiAgU2t5QWZmaXhDb25maWcsXG4gIFNreUFmZml4ZXIsXG4gIFNreUFmZml4U2VydmljZSxcbiAgU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlXG59IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuaW1wb3J0IHtcbiAgU2t5VGhlbWVTZXJ2aWNlXG59IGZyb20gJ0Bza3l1eC90aGVtZSc7XG5cbmltcG9ydCB7XG4gIGZyb21FdmVudCBhcyBvYnNlcnZhYmxlRnJvbUV2ZW50LFxuICBPYnNlcnZhYmxlLFxuICBTdWJqZWN0XG59IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1xuICB0YWtlVW50aWxcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1xuICBTa3lQb3BvdmVyQWxpZ25tZW50XG59IGZyb20gJy4vdHlwZXMvcG9wb3Zlci1hbGlnbm1lbnQnO1xuXG5pbXBvcnQge1xuICBTa3lQb3BvdmVyUGxhY2VtZW50XG59IGZyb20gJy4vdHlwZXMvcG9wb3Zlci1wbGFjZW1lbnQnO1xuXG5pbXBvcnQge1xuICBTa3lQb3BvdmVyQWRhcHRlclNlcnZpY2Vcbn0gZnJvbSAnLi9wb3BvdmVyLWFkYXB0ZXIuc2VydmljZSc7XG5cbmltcG9ydCB7XG4gIHNreVBvcG92ZXJBbmltYXRpb25cbn0gZnJvbSAnLi9wb3BvdmVyLWFuaW1hdGlvbic7XG5cbmltcG9ydCB7XG4gIFNreVBvcG92ZXJBbmltYXRpb25TdGF0ZVxufSBmcm9tICcuL3BvcG92ZXItYW5pbWF0aW9uLXN0YXRlJztcblxuaW1wb3J0IHtcbiAgU2t5UG9wb3ZlckNvbnRleHRcbn0gZnJvbSAnLi9wb3BvdmVyLWNvbnRleHQnO1xuXG5pbXBvcnQge1xuICBwYXJzZUFmZml4SG9yaXpvbnRhbEFsaWdubWVudCxcbiAgcGFyc2VBZmZpeFBsYWNlbWVudFxufSBmcm9tICcuL3BvcG92ZXItZXh0ZW5zaW9ucyc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1wb3BvdmVyLWNvbnRlbnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcG9wb3Zlci1jb250ZW50LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcG9wb3Zlci1jb250ZW50LmNvbXBvbmVudC5zY3NzJ10sXG4gIGFuaW1hdGlvbnM6IFtza3lQb3BvdmVyQW5pbWF0aW9uXVxufSlcbmV4cG9ydCBjbGFzcyBTa3lQb3BvdmVyQ29udGVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBwdWJsaWMgZ2V0IGFuaW1hdGlvblN0YXRlKCk6IFNreVBvcG92ZXJBbmltYXRpb25TdGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuaXNPcGVuID8gJ29wZW4nIDogJ2Nsb3NlZCc7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNsb3NlZCgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fY2xvc2VkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBvcGVuZWQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuX29wZW5lZC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNNb3VzZUVudGVyKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLl9pc01vdXNlRW50ZXIuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgYWZmaXhlcjogU2t5QWZmaXhlcjtcblxuICBwdWJsaWMgYXJyb3dMZWZ0OiBudW1iZXI7XG5cbiAgcHVibGljIGFycm93VG9wOiBudW1iZXI7XG5cbiAgcHVibGljIGRpc21pc3NPbkJsdXI6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIHB1YmxpYyBlbmFibGVBbmltYXRpb25zOiBib29sZWFuID0gdHJ1ZTtcblxuICBwdWJsaWMgaG9yaXpvbnRhbEFsaWdubWVudDogU2t5UG9wb3ZlckFsaWdubWVudDtcblxuICBwdWJsaWMgaXNPcGVuOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIHBsYWNlbWVudDogU2t5UG9wb3ZlclBsYWNlbWVudDtcblxuICBwdWJsaWMgcG9wb3ZlclRpdGxlOiBzdHJpbmc7XG5cbiAgcHVibGljIHRoZW1lTmFtZTogc3RyaW5nO1xuXG4gIEBWaWV3Q2hpbGQoJ2Fycm93UmVmJywge1xuICAgIHJlYWQ6IEVsZW1lbnRSZWYsXG4gICAgc3RhdGljOiB0cnVlXG4gIH0pXG4gIHByaXZhdGUgYXJyb3dSZWY6IEVsZW1lbnRSZWY7XG5cbiAgQFZpZXdDaGlsZCgncG9wb3ZlclJlZicsIHtcbiAgICByZWFkOiBFbGVtZW50UmVmLFxuICAgIHN0YXRpYzogdHJ1ZVxuICB9KVxuICBwcml2YXRlIHBvcG92ZXJSZWY6IEVsZW1lbnRSZWY7XG5cbiAgQFZpZXdDaGlsZCgnY29udGVudFRhcmdldCcsIHtcbiAgICByZWFkOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHN0YXRpYzogdHJ1ZVxuICB9KVxuICBwcml2YXRlIGNvbnRlbnRUYXJnZXQ6IFZpZXdDb250YWluZXJSZWY7XG5cbiAgcHJpdmF0ZSBjYWxsZXI6IEVsZW1lbnRSZWY7XG5cbiAgcHJpdmF0ZSBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwcml2YXRlIF9jbG9zZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHByaXZhdGUgX2lzTW91c2VFbnRlciA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgcHJpdmF0ZSBfb3BlbmVkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBhZmZpeFNlcnZpY2U6IFNreUFmZml4U2VydmljZSxcbiAgICBwcml2YXRlIGNvcmVBZGFwdGVyU2VydmljZTogU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgYWRhcHRlclNlcnZpY2U6IFNreVBvcG92ZXJBZGFwdGVyU2VydmljZSxcbiAgICBwcml2YXRlIHRoZW1lU3ZjOiBTa3lUaGVtZVNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBjb250ZXh0OiBTa3lQb3BvdmVyQ29udGV4dFxuICApIHsgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbnRlbnRUYXJnZXQuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMuY29udGV4dC5jb250ZW50VGVtcGxhdGVSZWYpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcnMoKTtcblxuICAgIGlmICh0aGlzLnRoZW1lU3ZjKSB7XG4gICAgICB0aGlzLnRoZW1lU3ZjLnNldHRpbmdzQ2hhbmdlXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgodGhlbWVTZXR0aW5ncykgPT4ge1xuICAgICAgICAgIHRoaXMudGhlbWVOYW1lID0gdGhlbWVTZXR0aW5ncy5jdXJyZW50U2V0dGluZ3M/LnRoZW1lPy5uYW1lO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcblxuICAgIHRoaXMuX2Nsb3NlZC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX2lzTW91c2VFbnRlci5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX29wZW5lZC5jb21wbGV0ZSgpO1xuXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy5hZmZpeGVyKSB7XG4gICAgICB0aGlzLmFmZml4ZXIuZGVzdHJveSgpO1xuICAgIH1cblxuICAgIHRoaXMuX2Nsb3NlZCA9XG4gICAgICB0aGlzLl9pc01vdXNlRW50ZXIgPVxuICAgICAgdGhpcy5fb3BlbmVkID1cbiAgICAgIHRoaXMuYWZmaXhlciA9XG4gICAgICB0aGlzLm5nVW5zdWJzY3JpYmUgPSB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgb25BbmltYXRpb25FdmVudChldmVudDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQuZnJvbVN0YXRlID09PSAndm9pZCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQucGhhc2VOYW1lID09PSAnZG9uZScpIHtcbiAgICAgIGlmIChldmVudC50b1N0YXRlID09PSAnb3BlbicpIHtcbiAgICAgICAgdGhpcy5fb3BlbmVkPy5uZXh0KCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl9jbG9zZWQ/Lm5leHQoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3BlbihcbiAgICBjYWxsZXI6IEVsZW1lbnRSZWYsXG4gICAgY29uZmlnOiB7XG4gICAgICBkaXNtaXNzT25CbHVyOiBib29sZWFuO1xuICAgICAgZW5hYmxlQW5pbWF0aW9uczogYm9vbGVhbjtcbiAgICAgIGhvcml6b250YWxBbGlnbm1lbnQ6IFNreVBvcG92ZXJBbGlnbm1lbnQ7XG4gICAgICBpc1N0YXRpYzogYm9vbGVhbjtcbiAgICAgIHBsYWNlbWVudDogU2t5UG9wb3ZlclBsYWNlbWVudDtcbiAgICAgIHBvcG92ZXJUaXRsZTogc3RyaW5nO1xuICAgIH1cbiAgKTogdm9pZCB7XG4gICAgdGhpcy5jYWxsZXIgPSBjYWxsZXI7XG4gICAgdGhpcy5kaXNtaXNzT25CbHVyID0gY29uZmlnLmRpc21pc3NPbkJsdXI7XG4gICAgdGhpcy5lbmFibGVBbmltYXRpb25zID0gY29uZmlnLmVuYWJsZUFuaW1hdGlvbnM7XG4gICAgdGhpcy5ob3Jpem9udGFsQWxpZ25tZW50ID0gY29uZmlnLmhvcml6b250YWxBbGlnbm1lbnQ7XG4gICAgdGhpcy5wbGFjZW1lbnQgPSBjb25maWcucGxhY2VtZW50O1xuICAgIHRoaXMucG9wb3ZlclRpdGxlID0gY29uZmlnLnBvcG92ZXJUaXRsZTtcblxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG5cbiAgICAvLyBJbmRpY2F0ZXMgaWYgdGhlIHBvcG92ZXIgc2hvdWxkIGJlIGRpc3BsYXllZCBzdGF0aWNhbGx5LlxuICAgIC8vIFBsZWFzZSBub3RlOiBUaGlzIGZlYXR1cmUgaXMgaW50ZXJuYWwtb25seSBhbmQgdXNlZCBieSB0aGUgdmlzdWFsIHRlc3RzIHRvIGNhcHR1cmUgbXVsdGlwbGVcbiAgICAvLyBzdGF0ZXMgc2ltdWx0YW5lb3VzbHkgd2l0aG91dCB0aGUgb3ZlcmhlYWQgb2YgZXZlbnQgbGlzdGVuZXJzLlxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmIChjb25maWcuaXNTdGF0aWMpIHtcbiAgICAgIHRoaXMuaXNPcGVuID0gdHJ1ZTtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gTGV0IHRoZSBzdHlsZXMgcmVuZGVyIGJlZm9yZSBnYXVnaW5nIHRoZSBhZmZpeCBkaW1lbnNpb25zLlxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLmFmZml4ZXIpIHtcbiAgICAgICAgdGhpcy5zZXR1cEFmZml4ZXIoKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgYWZmaXhPcHRpb25zOiBTa3lBZmZpeENvbmZpZyA9IHtcbiAgICAgICAgYXV0b0ZpdENvbnRleHQ6IFNreUFmZml4QXV0b0ZpdENvbnRleHQuVmlld3BvcnQsXG4gICAgICAgIGVuYWJsZUF1dG9GaXQ6IHRydWUsXG4gICAgICAgIGhvcml6b250YWxBbGlnbm1lbnQ6IHBhcnNlQWZmaXhIb3Jpem9udGFsQWxpZ25tZW50KHRoaXMuaG9yaXpvbnRhbEFsaWdubWVudCksXG4gICAgICAgIGlzU3RpY2t5OiB0cnVlLFxuICAgICAgICBwbGFjZW1lbnQ6IHBhcnNlQWZmaXhQbGFjZW1lbnQodGhpcy5wbGFjZW1lbnQpXG4gICAgICB9O1xuXG4gICAgICAvLyBFbnN1cmUgdGhhdCB3ZSBhcmUgcG9zaXRpb25pbmcgdGhlIHZlcnRpY2FsIGFsZ2lubWVudCBjb3JyZWN0bHkuIFRoZXNlXG4gICAgICAvLyBhcmUgdGhlIGRlZmF1bHQgYWxpZ25tZW50cyBmb3IgYWxsIHBvcG92ZXJzIGJ1dCBlbnN1cmUgdGhhdCB3ZSBhcmUgZnV0dXJlIHByb29mIGhlcmUuXG4gICAgICBpZiAoYWZmaXhPcHRpb25zLnBsYWNlbWVudCA9PT0gJ2xlZnQnIHx8IGFmZml4T3B0aW9ucy5wbGFjZW1lbnQgPT09ICdyaWdodCcpIHtcbiAgICAgICAgYWZmaXhPcHRpb25zLnZlcnRpY2FsQWxpZ25tZW50ID0gJ21pZGRsZSc7XG4gICAgICB9IGVsc2UgaWYgKGFmZml4T3B0aW9ucy5wbGFjZW1lbnQgPT09ICdhYm92ZScpIHtcbiAgICAgICAgYWZmaXhPcHRpb25zLnZlcnRpY2FsQWxpZ25tZW50ID0gJ2JvdHRvbSc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhZmZpeE9wdGlvbnMudmVydGljYWxBbGlnbm1lbnQgPSAndG9wJztcbiAgICAgIH1cblxuICAgICAgdGhpcy5hZmZpeGVyLmFmZml4VG8odGhpcy5jYWxsZXIubmF0aXZlRWxlbWVudCwgYWZmaXhPcHRpb25zKTtcblxuICAgICAgdGhpcy51cGRhdGVBcnJvd09mZnNldCgpO1xuXG4gICAgICB0aGlzLmlzT3BlbiA9IHRydWU7XG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBhcHBseUZvY3VzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzT3Blbikge1xuICAgICAgdGhpcy5jb3JlQWRhcHRlclNlcnZpY2UuZ2V0Rm9jdXNhYmxlQ2hpbGRyZW5BbmRBcHBseUZvY3VzKFxuICAgICAgICB0aGlzLnBvcG92ZXJSZWYsXG4gICAgICAgICcuc2t5LXBvcG92ZXInLFxuICAgICAgICB0cnVlXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBBZmZpeGVyKCk6IHZvaWQge1xuICAgIGNvbnN0IGFmZml4ZXIgPSB0aGlzLmFmZml4U2VydmljZS5jcmVhdGVBZmZpeGVyKHRoaXMucG9wb3ZlclJlZik7XG5cbiAgICBhZmZpeGVyLm9mZnNldENoYW5nZVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy51cGRhdGVBcnJvd09mZnNldCgpO1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG5cbiAgICBhZmZpeGVyLm92ZXJmbG93U2Nyb2xsXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnVwZGF0ZUFycm93T2Zmc2V0KCk7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcblxuICAgIGFmZml4ZXIucGxhY2VtZW50Q2hhbmdlXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKGNoYW5nZSkgPT4ge1xuICAgICAgICB0aGlzLnBsYWNlbWVudCA9IGNoYW5nZS5wbGFjZW1lbnQ7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcblxuICAgIHRoaXMuYWZmaXhlciA9IGFmZml4ZXI7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUFycm93T2Zmc2V0KCk6IHZvaWQge1xuICAgIGNvbnN0IHsgdG9wLCBsZWZ0IH0gPSB0aGlzLmFkYXB0ZXJTZXJ2aWNlLmdldEFycm93Q29vcmRpbmF0ZXMoXG4gICAgICB7XG4gICAgICAgIGNhbGxlcjogdGhpcy5jYWxsZXIsXG4gICAgICAgIHBvcG92ZXI6IHRoaXMucG9wb3ZlclJlZixcbiAgICAgICAgcG9wb3ZlckFycm93OiB0aGlzLmFycm93UmVmXG4gICAgICB9LFxuICAgICAgdGhpcy5wbGFjZW1lbnQsXG4gICAgICB0aGlzLnRoZW1lTmFtZVxuICAgICk7XG5cbiAgICB0aGlzLmFycm93VG9wID0gdG9wO1xuICAgIHRoaXMuYXJyb3dMZWZ0ID0gbGVmdDtcbiAgICB9XG5cbiAgcHJpdmF0ZSBhZGRFdmVudExpc3RlbmVycygpOiB2b2lkIHtcbiAgICBjb25zdCBob3N0RWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuXG4gICAgb2JzZXJ2YWJsZUZyb21FdmVudChob3N0RWxlbWVudCwgJ21vdXNlZW50ZXInKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuX2lzTW91c2VFbnRlci5uZXh0KHRydWUpKTtcblxuICAgIG9ic2VydmFibGVGcm9tRXZlbnQoaG9zdEVsZW1lbnQsICdtb3VzZWxlYXZlJylcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLl9pc01vdXNlRW50ZXIubmV4dChmYWxzZSkpO1xuXG4gICAgb2JzZXJ2YWJsZUZyb21FdmVudChob3N0RWxlbWVudCwgJ2tleWRvd24nKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgICBjb25zdCBrZXkgPSBldmVudC5rZXkudG9Mb3dlckNhc2UoKTtcblxuICAgICAgICAvKiB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6c3dpdGNoLWRlZmF1bHQgKi9cbiAgICAgICAgc3dpdGNoIChrZXkpIHtcblxuICAgICAgICAgIGNhc2UgJ2VzY2FwZSc6XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgICAgICB0aGlzLmNhbGxlci5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIC8vIFNpbmNlIHRoZSBwb3BvdmVyIG5vdyBsaXZlcyBpbiBhbiBvdmVybGF5IGF0IHRoZSBib3R0b20gb2YgdGhlIGRvY3VtZW50IGJvZHksIHdlIG5lZWRcbiAgICAgICAgICAvLyB0byBoYW5kbGUgdGhlIHRhYiBrZXkgb3Vyc2VsdmVzLiBPdGhlcndpc2UsIGZvY3VzIHdvdWxkIGJlIG1vdmVkIHRvIHRoZSBicm93c2VyJ3NcbiAgICAgICAgICAvLyBzZWFyY2ggYmFyLlxuICAgICAgICAgIGNhc2UgJ3RhYic6XG4gICAgICAgICAgICBpZiAoIXRoaXMuZGlzbWlzc09uQmx1cikge1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGZvY3VzYWJsZUl0ZW1zID0gdGhpcy5jb3JlQWRhcHRlclNlcnZpY2UuZ2V0Rm9jdXNhYmxlQ2hpbGRyZW4oaG9zdEVsZW1lbnQpO1xuXG4gICAgICAgICAgICBjb25zdCBpc0ZpcnN0SXRlbSA9IChcbiAgICAgICAgICAgICAgZm9jdXNhYmxlSXRlbXNbMF0gPT09IGV2ZW50LnRhcmdldCAmJlxuICAgICAgICAgICAgICBldmVudC5zaGlmdEtleVxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgY29uc3QgaXNMYXN0SXRlbSA9IChcbiAgICAgICAgICAgICAgZm9jdXNhYmxlSXRlbXNbZm9jdXNhYmxlSXRlbXMubGVuZ3RoIC0gMV0gPT09IGV2ZW50LnRhcmdldCAmJlxuICAgICAgICAgICAgICAhZXZlbnQuc2hpZnRLZXlcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UqL1xuICAgICAgICAgICAgaWYgKGZvY3VzYWJsZUl0ZW1zLmxlbmd0aCA9PT0gMCB8fCBpc0ZpcnN0SXRlbSB8fCBpc0xhc3RJdGVtKSB7XG4gICAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgICAgICAgdGhpcy5jYWxsZXIubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG59XG4iXX0=
|
|
262
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bza3l1eC9wb3BvdmVycy8iLCJzb3VyY2VzIjpbIm1vZHVsZXMvcG9wb3Zlci9wb3BvdmVyLWNvbnRlbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFJQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsU0FBUyxFQUNULE1BQU0sRUFDTixRQUFRLEVBQ1IsU0FBUyxFQUNULGdCQUFnQixFQUNqQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLGNBQWMsRUFDZCxVQUFVLEVBQ1YsZUFBZSxFQUNmLHFCQUFxQixFQUN0QixNQUFNLGFBQWEsQ0FBQztBQUVyQixPQUFPLEVBQ0wsZUFBZSxFQUNoQixNQUFNLGNBQWMsQ0FBQztBQUV0QixPQUFPLEVBQ0wsU0FBUyxJQUFJLG1CQUFtQixFQUVoQyxPQUFPLEVBQ1IsTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQ0wsU0FBUyxFQUNWLE1BQU0sZ0JBQWdCLENBQUM7QUFVeEIsT0FBTyxFQUNMLHdCQUF3QixFQUN6QixNQUFNLDJCQUEyQixDQUFDO0FBRW5DLE9BQU8sRUFDTCxtQkFBbUIsRUFDcEIsTUFBTSxxQkFBcUIsQ0FBQztBQU03QixPQUFPLEVBQ0wsaUJBQWlCLEVBQ2xCLE1BQU0sbUJBQW1CLENBQUM7QUFFM0IsT0FBTyxFQUNMLDZCQUE2QixFQUM3QixtQkFBbUIsRUFDcEIsTUFBTSxzQkFBc0IsQ0FBQztBQUU5Qjs7R0FFRztBQU9ILElBQWEsMEJBQTBCLEdBQXZDLE1BQWEsMEJBQTBCO0lBb0VyQyxZQUNVLGNBQWlDLEVBQ2pDLFVBQXNCLEVBQ3RCLFlBQTZCLEVBQzdCLGtCQUF5QyxFQUN6QyxjQUF3QyxFQUN4QyxRQUF5QixFQUNiLE9BQTBCO1FBTnRDLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQUNqQyxlQUFVLEdBQVYs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RUFBRSxVQUFVO1FBQ2hCLE1BQU0sRUFBRSxJQUFJO0tBQ2IsQ0FBQzs0REFDMkI7QUFNN0I7SUFKQyxTQUFTLENBQUMsWUFBWSxFQUFFO1FBQ3ZCLElBQUksRUFBRSxVQUFVO1FBQ2hCLE1BQU0sRUFBRSxJQUFJO0tBQ2IsQ0FBQzs4REFDNkI7QUFNL0I7SUFKQyxTQUFTLENBQUMsZUFBZSxFQUFFO1FBQzFCLElBQUksRUFBRSxnQkFBZ0I7UUFDdEIsTUFBTSxFQUFFLElBQUk7S0FDYixDQUFDO2lFQUNzQztBQXhEN0IsMEJBQTBCO0lBTnRDLFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRSxxQkFBcUI7UUFDL0IscWtEQUErQztRQUUvQyxVQUFVLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQzs7S0FDbEMsQ0FBQztJQTRFRyxXQUFBLFFBQVEsRUFBRSxDQUFBO0dBM0VGLDBCQUEwQixDQXVVdEM7U0F2VVksMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQW5pbWF0aW9uRXZlbnRcbn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5cbmltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1xuICBTa3lBZmZpeEF1dG9GaXRDb250ZXh0LFxuICBTa3lBZmZpeENvbmZpZyxcbiAgU2t5QWZmaXhlcixcbiAgU2t5QWZmaXhTZXJ2aWNlLFxuICBTa3lDb3JlQWRhcHRlclNlcnZpY2Vcbn0gZnJvbSAnQHNreXV4L2NvcmUnO1xuXG5pbXBvcnQge1xuICBTa3lUaGVtZVNlcnZpY2Vcbn0gZnJvbSAnQHNreXV4L3RoZW1lJztcblxuaW1wb3J0IHtcbiAgZnJvbUV2ZW50IGFzIG9ic2VydmFibGVGcm9tRXZlbnQsXG4gIE9ic2VydmFibGUsXG4gIFN1YmplY3Rcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gIHRha2VVbnRpbFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7XG4gIFNreVBvcG92ZXJBbGlnbm1lbnRcbn0gZnJvbSAnLi90eXBlcy9wb3BvdmVyLWFsaWdubWVudCc7XG5cbmltcG9ydCB7XG4gIFNreVBvcG92ZXJQbGFjZW1lbnRcbn0gZnJvbSAnLi90eXBlcy9wb3BvdmVyLXBsYWNlbWVudCc7XG5cbmltcG9ydCB7XG4gIFNreVBvcG92ZXJBZGFwdGVyU2VydmljZVxufSBmcm9tICcuL3BvcG92ZXItYWRhcHRlci5zZXJ2aWNlJztcblxuaW1wb3J0IHtcbiAgc2t5UG9wb3ZlckFuaW1hdGlvblxufSBmcm9tICcuL3BvcG92ZXItYW5pbWF0aW9uJztcblxuaW1wb3J0IHtcbiAgU2t5UG9wb3ZlckFuaW1hdGlvblN0YXRlXG59IGZyb20gJy4vcG9wb3Zlci1hbmltYXRpb24tc3RhdGUnO1xuXG5pbXBvcnQge1xuICBTa3lQb3BvdmVyQ29udGV4dFxufSBmcm9tICcuL3BvcG92ZXItY29udGV4dCc7XG5cbmltcG9ydCB7XG4gIHBhcnNlQWZmaXhIb3Jpem9udGFsQWxpZ25tZW50LFxuICBwYXJzZUFmZml4UGxhY2VtZW50XG59IGZyb20gJy4vcG9wb3Zlci1leHRlbnNpb25zJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LXBvcG92ZXItY29udGVudCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wb3BvdmVyLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wb3BvdmVyLWNvbnRlbnQuY29tcG9uZW50LnNjc3MnXSxcbiAgYW5pbWF0aW9uczogW3NreVBvcG92ZXJBbmltYXRpb25dXG59KVxuZXhwb3J0IGNsYXNzIFNreVBvcG92ZXJDb250ZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIHB1YmxpYyBnZXQgYW5pbWF0aW9uU3RhdGUoKTogU2t5UG9wb3ZlckFuaW1hdGlvblN0YXRlIHtcbiAgICByZXR1cm4gdGhpcy5pc09wZW4gPyAnb3BlbicgOiAnY2xvc2VkJztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2xvc2VkKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLl9jbG9zZWQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG9wZW5lZCgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fb3BlbmVkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBpc01vdXNlRW50ZXIoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX2lzTW91c2VFbnRlci5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBhZmZpeGVyOiBTa3lBZmZpeGVyO1xuXG4gIHB1YmxpYyBhcnJvd0xlZnQ6IG51bWJlcjtcblxuICBwdWJsaWMgYXJyb3dUb3A6IG51bWJlcjtcblxuICBwdWJsaWMgZGlzbWlzc09uQmx1cjogYm9vbGVhbiA9IHRydWU7XG5cbiAgcHVibGljIGVuYWJsZUFuaW1hdGlvbnM6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIHB1YmxpYyBob3Jpem9udGFsQWxpZ25tZW50OiBTa3lQb3BvdmVyQWxpZ25tZW50O1xuXG4gIHB1YmxpYyBpc09wZW46IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwdWJsaWMgcGxhY2VtZW50OiBTa3lQb3BvdmVyUGxhY2VtZW50O1xuXG4gIHB1YmxpYyBwb3BvdmVyVGl0bGU6IHN0cmluZztcblxuICBwdWJsaWMgcG9wb3ZlclR5cGU6ICdkYW5nZXInIHwgJ2luZm8nID0gJ2luZm8nO1xuXG4gIHB1YmxpYyB0aGVtZU5hbWU6IHN0cmluZztcblxuICBAVmlld0NoaWxkKCdhcnJvd1JlZicsIHtcbiAgICByZWFkOiBFbGVtZW50UmVmLFxuICAgIHN0YXRpYzogdHJ1ZVxuICB9KVxuICBwcml2YXRlIGFycm93UmVmOiBFbGVtZW50UmVmO1xuXG4gIEBWaWV3Q2hpbGQoJ3BvcG92ZXJSZWYnLCB7XG4gICAgcmVhZDogRWxlbWVudFJlZixcbiAgICBzdGF0aWM6IHRydWVcbiAgfSlcbiAgcHJpdmF0ZSBwb3BvdmVyUmVmOiBFbGVtZW50UmVmO1xuXG4gIEBWaWV3Q2hpbGQoJ2NvbnRlbnRUYXJnZXQnLCB7XG4gICAgcmVhZDogVmlld0NvbnRhaW5lclJlZixcbiAgICBzdGF0aWM6IHRydWVcbiAgfSlcbiAgcHJpdmF0ZSBjb250ZW50VGFyZ2V0OiBWaWV3Q29udGFpbmVyUmVmO1xuXG4gIHByaXZhdGUgY2FsbGVyOiBFbGVtZW50UmVmO1xuXG4gIHByaXZhdGUgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHJpdmF0ZSBfY2xvc2VkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwcml2YXRlIF9pc01vdXNlRW50ZXIgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gIHByaXZhdGUgX29wZW5lZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgYWZmaXhTZXJ2aWNlOiBTa3lBZmZpeFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb3JlQWRhcHRlclNlcnZpY2U6IFNreUNvcmVBZGFwdGVyU2VydmljZSxcbiAgICBwcml2YXRlIGFkYXB0ZXJTZXJ2aWNlOiBTa3lQb3BvdmVyQWRhcHRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0aGVtZVN2YzogU2t5VGhlbWVTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgY29udGV4dDogU2t5UG9wb3ZlckNvbnRleHRcbiAgKSB7IH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jb250ZW50VGFyZ2V0LmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLmNvbnRleHQuY29udGVudFRlbXBsYXRlUmVmKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXJzKCk7XG5cbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlKi9cbiAgICBpZiAodGhpcy50aGVtZVN2Yykge1xuICAgICAgdGhpcy50aGVtZVN2Yy5zZXR0aW5nc0NoYW5nZVxuICAgICAgICAucGlwZShcbiAgICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKHRoZW1lU2V0dGluZ3MpID0+IHtcbiAgICAgICAgICB0aGlzLnRoZW1lTmFtZSA9IHRoZW1lU2V0dGluZ3MuY3VycmVudFNldHRpbmdzPy50aGVtZT8ubmFtZTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMubmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG5cbiAgICB0aGlzLl9jbG9zZWQuY29tcGxldGUoKTtcbiAgICB0aGlzLl9pc01vdXNlRW50ZXIuY29tcGxldGUoKTtcbiAgICB0aGlzLl9vcGVuZWQuY29tcGxldGUoKTtcblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuYWZmaXhlcikge1xuICAgICAgdGhpcy5hZmZpeGVyLmRlc3Ryb3koKTtcbiAgICB9XG5cbiAgICB0aGlzLl9jbG9zZWQgPVxuICAgICAgdGhpcy5faXNNb3VzZUVudGVyID1cbiAgICAgIHRoaXMuX29wZW5lZCA9XG4gICAgICB0aGlzLmFmZml4ZXIgPVxuICAgICAgdGhpcy5uZ1Vuc3Vic2NyaWJlID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHVibGljIG9uQW5pbWF0aW9uRXZlbnQoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LmZyb21TdGF0ZSA9PT0gJ3ZvaWQnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGV2ZW50LnBoYXNlTmFtZSA9PT0gJ2RvbmUnKSB7XG4gICAgICBpZiAoZXZlbnQudG9TdGF0ZSA9PT0gJ29wZW4nKSB7XG4gICAgICAgIHRoaXMuX29wZW5lZD8ubmV4dCgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fY2xvc2VkPy5uZXh0KCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9wZW4oXG4gICAgY2FsbGVyOiBFbGVtZW50UmVmLFxuICAgIGNvbmZpZzoge1xuICAgICAgZGlzbWlzc09uQmx1cjogYm9vbGVhbjtcbiAgICAgIGVuYWJsZUFuaW1hdGlvbnM6IGJvb2xlYW47XG4gICAgICBob3Jpem9udGFsQWxpZ25tZW50OiBTa3lQb3BvdmVyQWxpZ25tZW50O1xuICAgICAgaXNTdGF0aWM6IGJvb2xlYW47XG4gICAgICBwbGFjZW1lbnQ6IFNreVBvcG92ZXJQbGFjZW1lbnQ7XG4gICAgICBwb3BvdmVyVGl0bGU6IHN0cmluZztcbiAgICAgIHBvcG92ZXJUeXBlPzogJ2RhbmdlcicgfCAnaW5mbyc7XG4gICAgfVxuICApOiB2b2lkIHtcbiAgICB0aGlzLmNhbGxlciA9IGNhbGxlcjtcbiAgICB0aGlzLmRpc21pc3NPbkJsdXIgPSBjb25maWcuZGlzbWlzc09uQmx1cjtcbiAgICB0aGlzLmVuYWJsZUFuaW1hdGlvbnMgPSBjb25maWcuZW5hYmxlQW5pbWF0aW9ucztcbiAgICB0aGlzLmhvcml6b250YWxBbGlnbm1lbnQgPSBjb25maWcuaG9yaXpvbnRhbEFsaWdubWVudDtcbiAgICB0aGlzLnBsYWNlbWVudCA9IGNvbmZpZy5wbGFjZW1lbnQ7XG4gICAgdGhpcy5wb3BvdmVyVGl0bGUgPSBjb25maWcucG9wb3ZlclRpdGxlO1xuICAgIGlmIChjb25maWcucG9wb3ZlclR5cGUpIHtcbiAgICAgIHRoaXMucG9wb3ZlclR5cGUgPSBjb25maWcucG9wb3ZlclR5cGU7XG4gICAgfVxuXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcblxuICAgIC8vIEluZGljYXRlcyBpZiB0aGUgcG9wb3ZlciBzaG91bGQgYmUgZGlzcGxheWVkIHN0YXRpY2FsbHkuXG4gICAgLy8gUGxlYXNlIG5vdGU6IFRoaXMgZmVhdHVyZSBpcyBpbnRlcm5hbC1vbmx5IGFuZCB1c2VkIGJ5IHRoZSB2aXN1YWwgdGVzdHMgdG8gY2FwdHVyZSBtdWx0aXBsZVxuICAgIC8vIHN0YXRlcyBzaW11bHRhbmVvdXNseSB3aXRob3V0IHRoZSBvdmVyaGVhZCBvZiBldmVudCBsaXN0ZW5lcnMuXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKGNvbmZpZy5pc1N0YXRpYykge1xuICAgICAgdGhpcy5pc09wZW4gPSB0cnVlO1xuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBMZXQgdGhlIHN0eWxlcyByZW5kZXIgYmVmb3JlIGdhdWdpbmcgdGhlIGFmZml4IGRpbWVuc2lvbnMuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAvKmlzdGFuYnVsIGlnbm9yZSBuZXh0Ki9cbiAgICAgIGlmICghdGhpcy5wb3BvdmVyUmVmPy5uYXRpdmVFbGVtZW50IHx8ICF0aGlzLm5nVW5zdWJzY3JpYmUgfHwgdGhpcy5uZ1Vuc3Vic2NyaWJlLmlzU3RvcHBlZCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICghdGhpcy5hZmZpeGVyKSB7XG4gICAgICAgIHRoaXMuc2V0dXBBZmZpeGVyKCk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGFmZml4T3B0aW9uczogU2t5QWZmaXhDb25maWcgPSB7XG4gICAgICAgIGF1dG9GaXRDb250ZXh0OiBTa3lBZmZpeEF1dG9GaXRDb250ZXh0LlZpZXdwb3J0LFxuICAgICAgICBlbmFibGVBdXRvRml0OiB0cnVlLFxuICAgICAgICBob3Jpem9udGFsQWxpZ25tZW50OiBwYXJzZUFmZml4SG9yaXpvbnRhbEFsaWdubWVudCh0aGlzLmhvcml6b250YWxBbGlnbm1lbnQpLFxuICAgICAgICBpc1N0aWNreTogdHJ1ZSxcbiAgICAgICAgcGxhY2VtZW50OiBwYXJzZUFmZml4UGxhY2VtZW50KHRoaXMucGxhY2VtZW50KVxuICAgICAgfTtcblxuICAgICAgLy8gRW5zdXJlIHRoYXQgd2UgYXJlIHBvc2l0aW9uaW5nIHRoZSB2ZXJ0aWNhbCBhbGdpbm1lbnQgY29ycmVjdGx5LiBUaGVzZVxuICAgICAgLy8gYXJlIHRoZSBkZWZhdWx0IGFsaWdubWVudHMgZm9yIGFsbCBwb3BvdmVycyBidXQgZW5zdXJlIHRoYXQgd2UgYXJlIGZ1dHVyZSBwcm9vZiBoZXJlLlxuICAgICAgaWYgKGFmZml4T3B0aW9ucy5wbGFjZW1lbnQgPT09ICdsZWZ0JyB8fCBhZmZpeE9wdGlvbnMucGxhY2VtZW50ID09PSAncmlnaHQnKSB7XG4gICAgICAgIGFmZml4T3B0aW9ucy52ZXJ0aWNhbEFsaWdubWVudCA9ICdtaWRkbGUnO1xuICAgICAgfSBlbHNlIGlmIChhZmZpeE9wdGlvbnMucGxhY2VtZW50ID09PSAnYWJvdmUnKSB7XG4gICAgICAgIGFmZml4T3B0aW9ucy52ZXJ0aWNhbEFsaWdubWVudCA9ICdib3R0b20nO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYWZmaXhPcHRpb25zLnZlcnRpY2FsQWxpZ25tZW50ID0gJ3RvcCc7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuYWZmaXhlci5hZmZpeFRvKHRoaXMuY2FsbGVyLm5hdGl2ZUVsZW1lbnQsIGFmZml4T3B0aW9ucyk7XG5cbiAgICAgIHRoaXMudXBkYXRlQXJyb3dPZmZzZXQoKTtcblxuICAgICAgdGhpcy5pc09wZW4gPSB0cnVlO1xuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLmlzT3BlbiA9IGZhbHNlO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwdWJsaWMgYXBwbHlGb2N1cygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc09wZW4pIHtcbiAgICAgIHRoaXMuY29yZUFkYXB0ZXJTZXJ2aWNlLmdldEZvY3VzYWJsZUNoaWxkcmVuQW5kQXBwbHlGb2N1cyhcbiAgICAgICAgdGhpcy5wb3BvdmVyUmVmLFxuICAgICAgICAnLnNreS1wb3BvdmVyJyxcbiAgICAgICAgdHJ1ZVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldHVwQWZmaXhlcigpOiB2b2lkIHtcbiAgICBjb25zdCBhZmZpeGVyID0gdGhpcy5hZmZpeFNlcnZpY2UuY3JlYXRlQWZmaXhlcih0aGlzLnBvcG92ZXJSZWYpO1xuXG4gICAgYWZmaXhlci5vZmZzZXRDaGFuZ2VcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMudXBkYXRlQXJyb3dPZmZzZXQoKTtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuXG4gICAgYWZmaXhlci5vdmVyZmxvd1Njcm9sbFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy51cGRhdGVBcnJvd09mZnNldCgpO1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG5cbiAgICBhZmZpeGVyLnBsYWNlbWVudENoYW5nZVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChjaGFuZ2UpID0+IHtcbiAgICAgICAgdGhpcy5wbGFjZW1lbnQgPSBjaGFuZ2UucGxhY2VtZW50O1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLmFmZml4ZXIgPSBhZmZpeGVyO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVBcnJvd09mZnNldCgpOiB2b2lkIHtcbiAgICBjb25zdCB7IHRvcCwgbGVmdCB9ID0gdGhpcy5hZGFwdGVyU2VydmljZS5nZXRBcnJvd0Nvb3JkaW5hdGVzKFxuICAgICAge1xuICAgICAgICBjYWxsZXI6IHRoaXMuY2FsbGVyLFxuICAgICAgICBwb3BvdmVyOiB0aGlzLnBvcG92ZXJSZWYsXG4gICAgICAgIHBvcG92ZXJBcnJvdzogdGhpcy5hcnJvd1JlZlxuICAgICAgfSxcbiAgICAgIHRoaXMucGxhY2VtZW50LFxuICAgICAgdGhpcy50aGVtZU5hbWVcbiAgICApO1xuXG4gICAgdGhpcy5hcnJvd1RvcCA9IHRvcDtcbiAgICB0aGlzLmFycm93TGVmdCA9IGxlZnQ7XG4gICAgfVxuXG4gIHByaXZhdGUgYWRkRXZlbnRMaXN0ZW5lcnMoKTogdm9pZCB7XG4gICAgY29uc3QgaG9zdEVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcblxuICAgIG9ic2VydmFibGVGcm9tRXZlbnQoaG9zdEVsZW1lbnQsICdtb3VzZWVudGVyJylcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLl9pc01vdXNlRW50ZXIubmV4dCh0cnVlKSk7XG5cbiAgICBvYnNlcnZhYmxlRnJvbUV2ZW50KGhvc3RFbGVtZW50LCAnbW91c2VsZWF2ZScpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5faXNNb3VzZUVudGVyLm5leHQoZmFsc2UpKTtcblxuICAgIG9ic2VydmFibGVGcm9tRXZlbnQoaG9zdEVsZW1lbnQsICdrZXlkb3duJylcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgICAgY29uc3Qga2V5ID0gZXZlbnQua2V5LnRvTG93ZXJDYXNlKCk7XG5cbiAgICAgICAgLyogdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOnN3aXRjaC1kZWZhdWx0ICovXG4gICAgICAgIHN3aXRjaCAoa2V5KSB7XG5cbiAgICAgICAgICBjYXNlICdlc2NhcGUnOlxuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICAgICAgdGhpcy5jYWxsZXIubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAvLyBTaW5jZSB0aGUgcG9wb3ZlciBub3cgbGl2ZXMgaW4gYW4gb3ZlcmxheSBhdCB0aGUgYm90dG9tIG9mIHRoZSBkb2N1bWVudCBib2R5LCB3ZSBuZWVkXG4gICAgICAgICAgLy8gdG8gaGFuZGxlIHRoZSB0YWIga2V5IG91cnNlbHZlcy4gT3RoZXJ3aXNlLCBmb2N1cyB3b3VsZCBiZSBtb3ZlZCB0byB0aGUgYnJvd3NlcidzXG4gICAgICAgICAgLy8gc2VhcmNoIGJhci5cbiAgICAgICAgICBjYXNlICd0YWInOlxuICAgICAgICAgICAgaWYgKCF0aGlzLmRpc21pc3NPbkJsdXIpIHtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBmb2N1c2FibGVJdGVtcyA9IHRoaXMuY29yZUFkYXB0ZXJTZXJ2aWNlLmdldEZvY3VzYWJsZUNoaWxkcmVuKGhvc3RFbGVtZW50KTtcblxuICAgICAgICAgICAgY29uc3QgaXNGaXJzdEl0ZW0gPSAoXG4gICAgICAgICAgICAgIGZvY3VzYWJsZUl0ZW1zWzBdID09PSBldmVudC50YXJnZXQgJiZcbiAgICAgICAgICAgICAgZXZlbnQuc2hpZnRLZXlcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIGNvbnN0IGlzTGFzdEl0ZW0gPSAoXG4gICAgICAgICAgICAgIGZvY3VzYWJsZUl0ZW1zW2ZvY3VzYWJsZUl0ZW1zLmxlbmd0aCAtIDFdID09PSBldmVudC50YXJnZXQgJiZcbiAgICAgICAgICAgICAgIWV2ZW50LnNoaWZ0S2V5XG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlKi9cbiAgICAgICAgICAgIGlmIChmb2N1c2FibGVJdGVtcy5sZW5ndGggPT09IDAgfHwgaXNGaXJzdEl0ZW0gfHwgaXNMYXN0SXRlbSkge1xuICAgICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgICAgICAgIHRoaXMuY2FsbGVyLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxufVxuIl19
|