@acorex/components 5.1.0 → 5.1.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/esm2020/lib/carousel/carousel.class.mjs +1 -1
- package/esm2020/lib/carousel/carousel.component.mjs +1 -1
- package/fesm2015/acorex-components.mjs.map +1 -1
- package/fesm2020/acorex-components.mjs.map +1 -1
- package/lib/carousel/carousel.class.d.ts +2 -2
- package/lib/carousel/carousel.component.d.ts +1 -1
- package/package.json +1 -1
|
@@ -7,4 +7,4 @@ AXCarouselCore.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", versi
|
|
|
7
7
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AXCarouselCore, decorators: [{
|
|
8
8
|
type: Injectable
|
|
9
9
|
}] });
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2Nhcm91c2VsL2Nhcm91c2VsLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUt6RCxNQUFNLE9BQWdCLGNBQWM7OzJHQUFkLGNBQWM7K0dBQWQsY0FBYzsyRkFBZCxjQUFjO2tCQURuQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQVhWYWx1ZUNoYW5nZWRFdmVudCB9IGZyb20gXCIuLi9iYXNlXCI7XHJcblxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQVhDYXJvdXNlbENvcmUge1xyXG4gICAgYWJzdHJhY3QgbmV4dCgpOiB2b2lkO1xyXG4gICAgYWJzdHJhY3QgbGFzdCgpOiB2b2lkO1xyXG4gICAgYWJzdHJhY3QgcHJldigpOiB2b2lkO1xyXG4gICAgYWJzdHJhY3QgZmlyc3QoKTogdm9pZDtcclxuICAgIGFic3RyYWN0IGRlc3Ryb3koKTogdm9pZDtcclxuICAgIGFic3RyYWN0IGdvVG9TbGlkZShpbmRleDogbnVtYmVyKTogdm9pZDtcclxuICAgIGFic3RyYWN0IGdvVG9QYWdlKGluZGV4OiBudW1iZXIpOiB2b2lkO1xyXG4gICAgYWJzdHJhY3QgbW91bnQoaW5zdGFuY2U6IEFYQ2Fyb3VzZWwpOiB2b2lkO1xyXG4gICAgYWJzdHJhY3QgcmVidWlsZCgpOiB2b2lkO1xyXG59XHJcblxyXG5cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQVhDYXJvdXNlbCB7XHJcblxyXG4gICAgb25TbGlkZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxBWFZhbHVlQ2hhbmdlZEV2ZW50PG51bWJlcj4+O1xyXG4gICAgb25PcHRpb25zQ2hhbmdlZDogRXZlbnRFbWl0dGVyPHZvaWQ+
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2Nhcm91c2VsL2Nhcm91c2VsLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUt6RCxNQUFNLE9BQWdCLGNBQWM7OzJHQUFkLGNBQWM7K0dBQWQsY0FBYzsyRkFBZCxjQUFjO2tCQURuQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQVhWYWx1ZUNoYW5nZWRFdmVudCB9IGZyb20gXCIuLi9iYXNlXCI7XHJcblxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQVhDYXJvdXNlbENvcmUge1xyXG4gICAgYWJzdHJhY3QgbmV4dCgpOiB2b2lkO1xyXG4gICAgYWJzdHJhY3QgbGFzdCgpOiB2b2lkO1xyXG4gICAgYWJzdHJhY3QgcHJldigpOiB2b2lkO1xyXG4gICAgYWJzdHJhY3QgZmlyc3QoKTogdm9pZDtcclxuICAgIGFic3RyYWN0IGRlc3Ryb3koKTogdm9pZDtcclxuICAgIGFic3RyYWN0IGdvVG9TbGlkZShpbmRleDogbnVtYmVyKTogdm9pZDtcclxuICAgIGFic3RyYWN0IGdvVG9QYWdlKGluZGV4OiBudW1iZXIpOiB2b2lkO1xyXG4gICAgYWJzdHJhY3QgbW91bnQoaW5zdGFuY2U6IEFYQ2Fyb3VzZWwpOiB2b2lkO1xyXG4gICAgYWJzdHJhY3QgcmVidWlsZCgpOiB2b2lkO1xyXG59XHJcblxyXG5cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQVhDYXJvdXNlbCB7XHJcblxyXG4gICAgb25TbGlkZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxBWFZhbHVlQ2hhbmdlZEV2ZW50PG51bWJlcj4+O1xyXG4gICAgb25PcHRpb25zQ2hhbmdlZDogRXZlbnRFbWl0dGVyPHZvaWQ+O1xyXG5cclxuICAgIC8vXHJcbiAgICBnYXA6IG51bWJlcjtcclxuICAgIC8vXHJcbiAgICBmb2N1c0NoYW5nZTogRXZlbnRFbWl0dGVyPG51bWJlcj47XHJcbiAgICBmb2N1czogbnVtYmVyO1xyXG4gICAgLy9cclxuICAgIGRyYWdDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+O1xyXG4gICAgZHJhZzogYW55O1xyXG4gICAgLy9cclxuICAgIHdoZWVsQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj47XHJcbiAgICB3aGVlbDogYm9vbGVhbjtcclxuICAgIC8vXHJcbiAgICB3aWR0aENoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz47XHJcbiAgICB3aWR0aDogc3RyaW5nO1xyXG4gICAgLy9cclxuICAgIGhlaWdodENoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz47XHJcbiAgICBoZWlnaHQ6IHN0cmluZztcclxuICAgIC8vXHJcbiAgICBwZXJQYWdlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8bnVtYmVyPjtcclxuICAgIHBlclBhZ2U6IG51bWJlcjtcclxuICAgIC8vXHJcbiAgICBwZXJNb3ZlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8bnVtYmVyPjtcclxuICAgIHBlck1vdmU6IG51bWJlcjtcclxuICAgIC8vXHJcbiAgICBoZWlnaHRSYXRpb0NoYW5nZTogRXZlbnRFbWl0dGVyPG51bWJlcj47XHJcbiAgICBoZWlnaHRSYXRpbzogbnVtYmVyO1xyXG4gICAgLy9cclxuICAgIGF1dG9wbGF5Q2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj47XHJcbiAgICBhdXRvcGxheTogYm9vbGVhbjtcclxuICAgIC8vXHJcbiAgICBpbnRlcnZhbENoYW5nZTogRXZlbnRFbWl0dGVyPG51bWJlcj5cclxuICAgIGludGVydmFsOiBudW1iZXI7XHJcbiAgICAvL1xyXG4gICAgY2VudGVyZWRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPlxyXG4gICAgY2VudGVyZWQ6IGJvb2xlYW47XHJcbiAgICAvL1xyXG4gICAgdmVydGljYWxDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPlxyXG4gICAgdmVydGljYWw6IGJvb2xlYW47XHJcbiAgICAvL1xyXG4gICAgcGFkZGluZ0NoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZyB8IG51bWJlcj5cclxuICAgIHBhZGRpbmc6IHN0cmluZyB8IG51bWJlcjtcclxuICAgIC8vXHJcbiAgICBsb29wQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj5cclxuICAgIGxvb3A6IGJvb2xlYW47XHJcbiAgICAvL1xyXG4gICAgc25hcENoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+XHJcbiAgICBzbmFwOiBib29sZWFuO1xyXG4gICAgLy9cclxuICAgIHJld2luZENoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+XHJcbiAgICByZXdpbmQ6IGJvb2xlYW47XHJcbiAgICAvL1xyXG4gICAgYXV0b1dpZHRoQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj5cclxuICAgIGF1dG9XaWR0aDogYm9vbGVhbjtcclxuICAgIC8vXHJcbiAgICB2aXNpYmxlSW5kZXg6IG51bWJlcjtcclxuICAgIC8vXHJcbiAgICBvbkl0ZW1zQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEFYVmFsdWVDaGFuZ2VkRXZlbnQ8SFRNTERpdkVsZW1lbnRbXT4+XHJcbiAgICBpdGVtczogSFRNTERpdkVsZW1lbnRbXTtcclxuXHJcbiAgICBydGw6IGJvb2xlYW47XHJcblxyXG4gICAgbmV4dCgpOiB2b2lkO1xyXG4gICAgbGFzdCgpOiB2b2lkO1xyXG4gICAgcHJldigpOiB2b2lkO1xyXG4gICAgZmlyc3QoKTogdm9pZDtcclxuICAgIGdvVG9TbGlkZShpbmRleDogbnVtYmVyKTogdm9pZDtcclxuICAgIGdvVG9QYWdlKGluZGV4OiBudW1iZXIpOiB2b2lkO1xyXG5cclxuICAgIGhvc3Q6IEhUTUxEaXZFbGVtZW50O1xyXG59XHJcblxyXG4iXX0=
|
|
@@ -386,4 +386,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
386
386
|
}], onItemsChanged: [{
|
|
387
387
|
type: Output
|
|
388
388
|
}] } });
|
|
389
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9jYXJvdXNlbC9jYXJvdXNlbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2Nhcm91c2VsL2Nhcm91c2VsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQTZELEtBQUssRUFBVSxNQUFNLEVBQUUsWUFBWSxFQUEyQixNQUFNLGVBQWUsQ0FBQztBQUMvTSxPQUFPLEVBQUUsb0JBQW9CLEVBQXVCLE1BQU0sU0FBUyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxxQkFBcUIsRUFBdUIsb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RyxPQUFPLEVBQWMsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQWEvRCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsb0JBQW9CO0lBR3pELFlBQ0ksVUFBc0IsRUFDZCxJQUFZLEVBQ3BCLEdBQXNCLEVBQ2QsSUFBb0I7UUFFNUIsS0FBSyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUpmLFNBQUksR0FBSixJQUFJLENBQVE7UUFFWixTQUFJLEdBQUosSUFBSSxDQUFnQjtRQU9oQyxxQkFBZ0IsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUd6RCxtQkFBYyxHQUE4QyxJQUFJLFlBQVksRUFBK0IsQ0FBQztRQUs1RyxrQkFBYSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBRWhFLGFBQVEsR0FBVyxDQUFDLENBQUE7UUFrQnJCLGdCQUFXLEdBQXlCLElBQUks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YTtzQkFEbkIsTUFBTTtnQkFLSSxPQUFPO3NCQURqQixLQUFLO2dCQWVDLGNBQWM7c0JBRHBCLE1BQU07Z0JBS0ksUUFBUTtzQkFEbEIsS0FBSztnQkFrQkMsY0FBYztzQkFEcEIsTUFBTTtnQkFLSSxRQUFRO3NCQURsQixLQUFLO2dCQWNDLFVBQVU7c0JBRGhCLE1BQU07Z0JBS0ksSUFBSTtzQkFEZCxLQUFLO2dCQWtCQyxZQUFZO3NCQURsQixNQUFNO2dCQUtJLE1BQU07c0JBRGhCLEtBQUs7Z0JBZ0NDLGNBQWM7c0JBRHBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgRWxlbWVudFJlZiwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbnRlbnRDaGlsZHJlbiwgUXVlcnlMaXN0LCBJbnB1dCwgTmdab25lLCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgVmlld0NoaWxkLCBDb250ZW50Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhCYXNlQ29tcG9uZW50TWl4aW4sIEFYVmFsdWVDaGFuZ2VkRXZlbnQgfSBmcm9tICcuLi9iYXNlJztcclxuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5LCBjb2VyY2VDc3NQaXhlbFZhbHVlLCBjb2VyY2VOdW1iZXJQcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XHJcbmltcG9ydCB7IEFYQ2Fyb3VzZWwsIEFYQ2Fyb3VzZWxDb3JlIH0gZnJvbSAnLi9jYXJvdXNlbC5jbGFzcyc7XHJcbmltcG9ydCB7IEFYQ2Fyb3VzZWxTcGxpZGVKUyB9IGZyb20gJy4vY2Fyb3VzZWwtc3BsaWRlanMuY2xhc3MnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2F4LWNhcm91c2VsJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9jYXJvdXNlbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgICBob3N0OiB7IGNsYXNzOiAnYXgtY2Fyb3VzZWwnIH0sXHJcbiAgICBwcm92aWRlcnM6W3tcclxuICAgICAgICBwcm92aWRlOiBBWENhcm91c2VsQ29yZSxcclxuICAgICAgICB1c2VDbGFzczogQVhDYXJvdXNlbFNwbGlkZUpTXHJcbiAgICB9XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhDYXJvdXNlbENvbXBvbmVudCBleHRlbmRzIEFYQmFzZUNvbXBvbmVudE1peGluIGltcGxlbWVudHMgQVhDYXJvdXNlbCB7XHJcblxyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICAgICAgcHJpdmF0ZSB6b25lOiBOZ1pvbmUsXHJcbiAgICAgICAgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgICAgICBwcml2YXRlIGNvcmU6IEFYQ2Fyb3VzZWxDb3JlLFxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoZWxlbWVudFJlZiwgY2RyKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBvbk9wdGlvbnNDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgb25TbGlkZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxBWFZhbHVlQ2hhbmdlZEV2ZW50PG51bWJlcj4+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWFZhbHVlQ2hhbmdlZEV2ZW50PG51bWJlcj4+KCk7XHJcblxyXG5cclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBwZXJNb3ZlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG5cclxuICAgIHByaXZhdGUgX3Blck1vdmU6IG51bWJlciA9IDFcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZ2V0IHBlck1vdmUoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fcGVyTW92ZTtcclxuICAgIH1cclxuICAgIHB1YmxpYyBzZXQgcGVyTW92ZSh2OiBudW1iZXIpIHtcclxuICAgICAgICBjb25zdCB2YWwgPSBNYXRoLm1heCgxLCBjb2VyY2VOdW1iZXJQcm9wZXJ0eSh2KSk7XHJcbiAgICAgICAgaWYgKHZhbCAhPSB0aGlzLl9wZXJNb3ZlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3Blck1vdmUgPSB2YWw7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl9wZXJNb3ZlID4gMSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fdmVydGljYWwgPSBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnBlck1vdmVDaGFuZ2UuZW1pdCh0aGlzLnBlck1vdmUpO1xyXG4gICAgICAgICAgICB0aGlzLm9uT3B0aW9uc0NoYW5nZWQuZW1pdCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBmb2N1c0NoYW5nZTogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuXHJcbiAgICBwcml2YXRlIF9mb2N1czogbnVtYmVyID0gMDtcclxuICAgIFxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBnZXQgZm9jdXMoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZm9jdXM7XHJcbiAgICB9XHJcbiAgICBwdWJsaWMgc2V0IGZvY3VzKHY6IG51bWJlcikge1xyXG4gICAgICAgIGlmICh2ICE9IHRoaXMuX2ZvY3VzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2ZvY3VzPXY7XHJcbiAgICAgICAgICAgIHRoaXMucGFkZGluZ0NoYW5nZS5lbWl0KHYpO1xyXG4gICAgICAgICAgICB0aGlzLm9uT3B0aW9uc0NoYW5nZWQuZW1pdCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgaGVpZ2h0UmF0aW9DaGFuZ2U6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcblxyXG4gICAgcHJpdmF0ZSBfaGVpZ2h0UmF0aW86IG51bWJlciA9IDA7XHJcbiAgICBcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZ2V0IGhlaWdodFJhdGlvKCk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hlaWdodFJhdGlvO1xyXG4gICAgfVxyXG4gICAgcHVibGljIHNldCBoZWlnaHRSYXRpbyh2OiBudW1iZXIpIHtcclxuICAgICAgICBpZiAodiAhPSB0aGlzLl9oZWlnaHRSYXRpbykge1xyXG4gICAgICAgICAgICB0aGlzLl9oZWlnaHRSYXRpbz12O1xyXG4gICAgICAgICAgICB0aGlzLnBhZGRpbmdDaGFuZ2UuZW1pdCh2KTtcclxuICAgICAgICAgICAgdGhpcy5vbk9wdGlvbnNDaGFuZ2VkLmVtaXQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIGhlaWdodENoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgICBwcml2YXRlIF9oZWlnaHQ6IHN0cmluZyA9ICdhdXRvJ1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBnZXQgaGVpZ2h0KCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hlaWdodDtcclxuICAgIH1cclxuICAgIHB1YmxpYyBzZXQgaGVpZ2h0KHY6IHN0cmluZykge1xyXG4gICAgICAgIGNvbnN0IHZhbCA9IHY7XHJcbiAgICAgICAgaWYgKHZhbCAhPSB0aGlzLl9oZWlnaHQpIHtcclxuICAgICAgICAgICAgdGhpcy5faGVpZ2h0ID0gdmFsO1xyXG4gICAgICAgICAgICB0aGlzLmhlaWdodENoYW5nZS5lbWl0KHRoaXMuaGVpZ2h0KTtcclxuICAgICAgICAgICAgdGhpcy5vbk9wdGlvbnNDaGFuZ2VkLmVtaXQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgd2lkdGhDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gICAgcHJpdmF0ZSBfd2lkdGg6IHN0cmluZyA9ICdmaXQtY29udGVudCdcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZ2V0IHdpZHRoKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3dpZHRoO1xyXG4gICAgfVxyXG4gICAgcHVibGljIHNldCB3aWR0aCh2OiBzdHJpbmcpIHtcclxuICAgICAgICBjb25zdCB2YWwgPSB2O1xyXG4gICAgICAgIGlmICh2YWwgIT0gdGhpcy5fd2lkdGgpIHtcclxuICAgICAgICAgICAgdGhpcy5fd2lkdGggPSB2YWw7XHJcbiAgICAgICAgICAgIHRoaXMud2lkdGhDaGFuZ2UuZW1pdCh0aGlzLndpZHRoKTtcclxuICAgICAgICAgICAgdGhpcy5vbk9wdGlvbnNDaGFuZ2VkLmVtaXQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgcGVyUGFnZUNoYW5nZTogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuXHJcbiAgICBwcml2YXRlIF9wZXJQYWdlOiBudW1iZXIgPSAxO1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBnZXQgcGVyUGFnZSgpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9wZXJQYWdlO1xyXG4gICAgfVxyXG4gICAgcHVibGljIHNldCBwZXJQYWdlKHY6IG51bWJlcikge1xyXG4gICAgICAgIGNvbnN0IHZhbCA9IHY7XHJcbiAgICAgICAgaWYgKHZhbCAhPSB0aGlzLl9wZXJQYWdlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3BlclBhZ2UgPSB2YWw7XHJcbiAgICAgICAgICAgIHRoaXMucGVyUGFnZUNoYW5nZS5lbWl0KHRoaXMucGVyUGFnZSk7XHJcbiAgICAgICAgICAgIHRoaXMub25PcHRpb25zQ2hhbmdlZC5lbWl0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2FwOiBudW1iZXIgPSAxMDtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBhdXRvcGxheUNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICAgIHByaXZhdGUgX2F1dG9wbGF5OiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGdldCBhdXRvcGxheSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fYXV0b3BsYXk7XHJcbiAgICB9XHJcbiAgICBwdWJsaWMgc2V0IGF1dG9wbGF5KHY6IGJvb2xlYW4pIHtcclxuICAgICAgICBjb25zdCB2YWwgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodik7XHJcbiAgICAgICAgaWYgKHZhbCAhPSB0aGlzLl9hdXRvcGxheSkge1xyXG4gICAgICAgICAgICB0aGlzLl9hdXRvcGxheSA9IHZhbDtcclxuICAgICAgICAgICAgdGhpcy5hdXRvcGxheUNoYW5nZS5lbWl0KHRoaXMuYXV0b3BsYXkpO1xyXG4gICAgICAgICAgICB0aGlzLm9uT3B0aW9uc0NoYW5nZWQuZW1pdCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBzbmFwQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gICAgcHJpdmF0ZSBfc25hcDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBnZXQgc25hcCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc25hcDtcclxuICAgIH1cclxuICAgIHB1YmxpYyBzZXQgc25hcCh2OiBib29sZWFuKSB7XHJcbiAgICAgICAgY29uc3QgdmFsID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHYpO1xyXG4gICAgICAgIGlmICh2YWwgIT0gdGhpcy5fc25hcCkge1xyXG4gICAgICAgICAgICB0aGlzLl9zbmFwID0gdmFsO1xyXG4gICAgICAgICAgICB0aGlzLnNuYXBDaGFuZ2UuZW1pdCh0aGlzLnNuYXApO1xyXG4gICAgICAgICAgICB0aGlzLm9uT3B0aW9uc0NoYW5nZWQuZW1pdCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBhdXRvV2lkdGhDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgICBwcml2YXRlIF9hdXRvV2lkdGg6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBnZXQgYXV0b1dpZHRoKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9hdXRvV2lkdGg7XHJcbiAgICB9XHJcbiAgICBwdWJsaWMgc2V0IGF1dG9XaWR0aCh2OiBib29sZWFuKSB7XHJcbiAgICAgICAgY29uc3QgdmFsID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHYpO1xyXG4gICAgICAgIGlmICh2YWwgIT0gdGhpcy5fYXV0b1dpZHRoKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2F1dG9XaWR0aCA9IHZhbDtcclxuICAgICAgICAgICAgdGhpcy5hdXRvV2lkdGhDaGFuZ2UuZW1pdCh0aGlzLmF1dG9XaWR0aCk7XHJcbiAgICAgICAgICAgIHRoaXMub25PcHRpb25zQ2hhbmdlZC5lbWl0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIGRyYWdDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgICBwcml2YXRlIF9kcmFnOiBhbnkgPSB0cnVlO1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBnZXQgZHJhZygpOiBhbnkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9kcmFnO1xyXG4gICAgfVxyXG4gICAgcHVibGljIHNldCBkcmFnKHY6IGFueSkge1xyXG4gICAgICAgIGNvbnN0IHZhbCA9IHY7XHJcbiAgICAgICAgaWYgKHZhbCAhPSB0aGlzLl9kcmFnKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2RyYWcgPSB2YWw7XHJcbiAgICAgICAgICAgIHRoaXMuZHJhZ0NoYW5nZS5lbWl0KHRoaXMuZHJhZyk7XHJcbiAgICAgICAgICAgIHRoaXMub25PcHRpb25zQ2hhbmdlZC5lbWl0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIHdoZWVsQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gICAgcHJpdmF0ZSBfd2hlZWw6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZ2V0IHdoZWVsKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl93aGVlbDtcclxuICAgIH1cclxuICAgIHB1YmxpYyBzZXQgd2hlZWwodjogYm9vbGVhbikge1xyXG4gICAgICAgIGNvbnN0IHZhbCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KTtcclxuICAgICAgICBpZiAodmFsICE9IHRoaXMuX3doZWVsKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3doZWVsID0gdmFsO1xyXG4gICAgICAgICAgICB0aGlzLndoZWVsQ2hhbmdlLmVtaXQodGhpcy53aGVlbCk7XHJcbiAgICAgICAgICAgIHRoaXMub25PcHRpb25zQ2hhbmdlZC5lbWl0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIGludGVydmFsQ2hhbmdlOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG5cclxuICAgIHByaXZhdGUgX2ludGVydmFsOiBudW1iZXIgPSAzMDAwXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGdldCBpbnRlcnZhbCgpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9pbnRlcnZhbDtcclxuICAgIH1cclxuICAgIHB1YmxpYyBzZXQgaW50ZXJ2YWwodjogbnVtYmVyKSB7XHJcbiAgICAgICAgY29uc3QgdmFsID0gY29lcmNlTnVtYmVyUHJvcGVydHkodik7XHJcbiAgICAgICAgaWYgKHZhbCAhPSB0aGlzLl9pbnRlcnZhbCkge1xyXG4gICAgICAgICAgICB0aGlzLmludGVydmFsQ2hhbmdlLmVtaXQodmFsKTtcclxuICAgICAgICAgICAgdGhpcy5vbk9wdGlvbnNDaGFuZ2VkLmVtaXQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBwYWRkaW5nQ2hhbmdlOiBFdmVudEVtaXR0ZXI8bnVtYmVyIHwgc3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyIHwgc3RyaW5nPigpO1xyXG5cclxuICAgIHByaXZhdGUgX3BhZGRpbmc6IG51bWJlciB8IHN0cmluZyA9IDBcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZ2V0IHBhZGRpbmcoKTogbnVtYmVyIHwgc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fcGFkZGluZztcclxuICAgIH1cclxuICAgIHB1YmxpYyBzZXQgcGFkZGluZyh2OiBudW1iZXIgfCBzdHJpbmcpIHtcclxuICAgICAgICBpZiAodiAhPSB0aGlzLl9wYWRkaW5nKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3BhZGRpbmc9djtcclxuICAgICAgICAgICAgdGhpcy5wYWRkaW5nQ2hhbmdlLmVtaXQodik7XHJcbiAgICAgICAgICAgIHRoaXMub25PcHRpb25zQ2hhbmdlZC5lbWl0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgY2VudGVyZWRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgICBwcml2YXRlIF9jZW50ZXJlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBnZXQgY2VudGVyZWQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NlbnRlcmVkO1xyXG4gICAgfVxyXG4gICAgcHVibGljIHNldCBjZW50ZXJlZCh2OiBib29sZWFuKSB7XHJcbiAgICAgICAgY29uc3QgdmFsID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHYpO1xyXG4gICAgICAgIGlmICh2YWwgIT0gdGhpcy5fY2VudGVyZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5fY2VudGVyZWQgPSB2YWw7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl9jZW50ZXJlZCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fcmV3aW5kID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5jZW50ZXJlZENoYW5nZS5lbWl0KHRoaXMuY2VudGVyZWQpO1xyXG4gICAgICAgICAgICB0aGlzLnJld2luZENoYW5nZS5lbWl0KHRoaXMucmV3aW5kKTtcclxuICAgICAgICAgICAgdGhpcy5vbk9wdGlvbnNDaGFuZ2VkLmVtaXQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgdmVydGljYWxDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgICBwcml2YXRlIF92ZXJ0aWNhbDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBnZXQgdmVydGljYWwoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZlcnRpY2FsO1xyXG4gICAgfVxyXG4gICAgcHVibGljIHNldCB2ZXJ0aWNhbCh2OiBib29sZWFuKSB7XHJcbiAgICAgICAgY29uc3QgdmFsID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHYpO1xyXG4gICAgICAgIGlmICh2YWwgIT0gdGhpcy5fdmVydGljYWwpIHtcclxuICAgICAgICAgICAgdGhpcy5fdmVydGljYWwgPSB2YWw7XHJcbiAgICAgICAgICAgIHRoaXMudmVydGljYWxDaGFuZ2UuZW1pdCh0aGlzLnZlcnRpY2FsKTtcclxuICAgICAgICAgICAgdGhpcy5vbk9wdGlvbnNDaGFuZ2VkLmVtaXQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgbG9vcENoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICAgIHByaXZhdGUgX2xvb3A6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZ2V0IGxvb3AoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xvb3A7XHJcbiAgICB9XHJcbiAgICBwdWJsaWMgc2V0IGxvb3AodjogYm9vbGVhbikge1xyXG4gICAgICAgIGNvbnN0IHZhbCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KTtcclxuICAgICAgICBpZiAodmFsICE9IHRoaXMuX2xvb3ApIHtcclxuICAgICAgICAgICAgdGhpcy5fbG9vcCA9IHZhbDtcclxuICAgICAgICAgICAgaWYgKHRoaXMuX2xvb3ApIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Jld2luZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMubG9vcENoYW5nZS5lbWl0KHRoaXMubG9vcCk7XHJcbiAgICAgICAgICAgIHRoaXMucmV3aW5kQ2hhbmdlLmVtaXQodGhpcy5yZXdpbmQpO1xyXG4gICAgICAgICAgICB0aGlzLm9uT3B0aW9uc0NoYW5nZWQuZW1pdCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyByZXdpbmRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgICBwcml2YXRlIF9yZXdpbmQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZ2V0IHJld2luZCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fcmV3aW5kO1xyXG4gICAgfVxyXG4gICAgcHVibGljIHNldCByZXdpbmQodjogYm9vbGVhbikge1xyXG4gICAgICAgIGNvbnN0IHZhbCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KTtcclxuICAgICAgICBpZiAodmFsICE9IHRoaXMuX3Jld2luZCkge1xyXG4gICAgICAgICAgICB0aGlzLl9yZXdpbmQgPSB2YWw7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl9yZXdpbmQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2xvb3AgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2NlbnRlcmVkID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5yZXdpbmRDaGFuZ2UuZW1pdCh0aGlzLnJld2luZCk7XHJcbiAgICAgICAgICAgIHRoaXMubG9vcENoYW5nZS5lbWl0KHRoaXMubG9vcCk7XHJcbiAgICAgICAgICAgIHRoaXMuY2VudGVyZWRDaGFuZ2UuZW1pdCh0aGlzLmNlbnRlcmVkKTtcclxuICAgICAgICAgICAgdGhpcy5vbk9wdGlvbnNDaGFuZ2VkLmVtaXQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIFxyXG4gICAgcHJpdmF0ZSBfdmlzaWJsZUluZGV4IDogbnVtYmVyID0gMDtcclxuICAgIHB1YmxpYyBnZXQgdmlzaWJsZUluZGV4KCkgOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl92aXNpYmxlSW5kZXg7XHJcbiAgICB9XHJcbiAgICBwdWJsaWMgc2V0IHZpc2libGVJbmRleCh2IDogbnVtYmVyKSB7XHJcbiAgICAgICAgdGhpcy5fdmlzaWJsZUluZGV4ID0gdjtcclxuICAgIH1cclxuICAgIFxyXG5cclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBvbkl0ZW1zQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEFYVmFsdWVDaGFuZ2VkRXZlbnQ8SFRNTERpdkVsZW1lbnRbXT4+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWFZhbHVlQ2hhbmdlZEV2ZW50PEhUTUxEaXZFbGVtZW50W10+PigpO1xyXG5cclxuICAgIHByaXZhdGUgX2l0ZW1zOiBIVE1MRGl2RWxlbWVudFtdID0gW107XHJcbiAgICBwdWJsaWMgZ2V0IGl0ZW1zKCk6IEhUTUxEaXZFbGVtZW50W10ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9pdGVtcyA/PyBbXTtcclxuICAgIH1cclxuICAgIHB1YmxpYyBzZXQgaXRlbXModjogSFRNTERpdkVsZW1lbnRbXSkge1xyXG4gICAgICAgIGNvbnN0IG9sZFZhbHVlID0gdGhpcy5pdGVtcy5zbGljZSgpO1xyXG4gICAgICAgIHRoaXMuX2l0ZW1zID0gdjtcclxuICAgICAgICB0aGlzLm9uSXRlbXNDaGFuZ2VkLmVtaXQoe1xyXG4gICAgICAgICAgICBjb21wb25lbnQ6IHRoaXMsXHJcbiAgICAgICAgICAgIGh0bWxFbGVtZW50OiB0aGlzLl9nZXRIb3N0RWxlbWVudCgpLFxyXG4gICAgICAgICAgICBvbGRWYWx1ZSxcclxuICAgICAgICAgICAgdmFsdWU6IHRoaXMuaXRlbXNcclxuICAgICAgICB9KVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICBvblZpZXdJbml0KCkge1xyXG4gICAgICAgIHRoaXMuY29yZS5tb3VudCh0aGlzKTtcclxuICAgIH1cclxuICBcclxuICAgIG5leHQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jb3JlLm5leHQoKTtcclxuICAgIH1cclxuXHJcbiAgICBsYXN0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY29yZS5sYXN0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJldigpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNvcmUucHJldigpO1xyXG4gICAgfVxyXG5cclxuICAgIGZpcnN0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY29yZS5maXJzdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGdvVG9TbGlkZShpbmRleDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jb3JlLmdvVG9TbGlkZShpbmRleCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ29Ub1BhZ2UoaW5kZXg6IG51bWJlcik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY29yZS5nb1RvUGFnZShpbmRleCk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIGdldCBob3N0KCk6SFRNTERpdkVsZW1lbnRcclxuICAgIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgb25EZXN0cm95KClcclxuICAgIHtcclxuICAgICAgICB0aGlzLmNvcmUuZGVzdHJveSgpO1xyXG4gICAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJheC1jYXJvdXNlbC1saXN0LWNvbnRhaW5lclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImF4LWNhcm91c2VsLWxpc3RcIj5cclxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1jYXJvdXNlbC1pdGVtXCI+XHJcbiAgICAgICAgPC9uZy1jb250ZW50PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1jYXJvdXNlbC1hcnJvd3NcIj5cclxuICAgIDwvbmctY29udGVudD5cclxuPC9kaXY+XHJcblxyXG48bmctY29udGVudCBzZWxlY3Q9XCJheC1jYXJvdXNlbC1wYWdlclwiPlxyXG48L25nLWNvbnRlbnQ+Il19
|
|
389
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9jYXJvdXNlbC9jYXJvdXNlbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2Nhcm91c2VsL2Nhcm91c2VsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQTZELEtBQUssRUFBVSxNQUFNLEVBQUUsWUFBWSxFQUEyQixNQUFNLGVBQWUsQ0FBQztBQUMvTSxPQUFPLEVBQUUsb0JBQW9CLEVBQXVCLE1BQU0sU0FBUyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxxQkFBcUIsRUFBdUIsb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RyxPQUFPLEVBQWMsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQWEvRCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsb0JBQW9CO0lBR3pELFlBQ0ksVUFBc0IsRUFDZCxJQUFZLEVBQ3BCLEdBQXNCLEVBQ2QsSUFBb0I7UUFFNUIsS0FBSyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUpmLFNBQUksR0FBSixJQUFJLENBQVE7UUFFWixTQUFJLEdBQUosSUFBSSxDQUFnQjtRQU9oQyxxQkFBZ0IsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUd6RCxtQkFBYyxHQUE4QyxJQUFJLFlBQVksRUFBK0IsQ0FBQztRQUs1RyxrQkFBYSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBRWhFLGFBQVEsR0FBVyxDQUFDLENBQUE7UUFrQnJCLGdCQUFXLEdBQXlCLElBQUks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YTtzQkFEbkIsTUFBTTtnQkFLSSxPQUFPO3NCQURqQixLQUFLO2dCQWVDLGNBQWM7c0JBRHBCLE1BQU07Z0JBS0ksUUFBUTtzQkFEbEIsS0FBSztnQkFrQkMsY0FBYztzQkFEcEIsTUFBTTtnQkFLSSxRQUFRO3NCQURsQixLQUFLO2dCQWNDLFVBQVU7c0JBRGhCLE1BQU07Z0JBS0ksSUFBSTtzQkFEZCxLQUFLO2dCQWtCQyxZQUFZO3NCQURsQixNQUFNO2dCQUtJLE1BQU07c0JBRGhCLEtBQUs7Z0JBZ0NDLGNBQWM7c0JBRHBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgRWxlbWVudFJlZiwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbnRlbnRDaGlsZHJlbiwgUXVlcnlMaXN0LCBJbnB1dCwgTmdab25lLCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgVmlld0NoaWxkLCBDb250ZW50Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhCYXNlQ29tcG9uZW50TWl4aW4sIEFYVmFsdWVDaGFuZ2VkRXZlbnQgfSBmcm9tICcuLi9iYXNlJztcclxuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5LCBjb2VyY2VDc3NQaXhlbFZhbHVlLCBjb2VyY2VOdW1iZXJQcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XHJcbmltcG9ydCB7IEFYQ2Fyb3VzZWwsIEFYQ2Fyb3VzZWxDb3JlIH0gZnJvbSAnLi9jYXJvdXNlbC5jbGFzcyc7XHJcbmltcG9ydCB7IEFYQ2Fyb3VzZWxTcGxpZGVKUyB9IGZyb20gJy4vY2Fyb3VzZWwtc3BsaWRlanMuY2xhc3MnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2F4LWNhcm91c2VsJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9jYXJvdXNlbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgICBob3N0OiB7IGNsYXNzOiAnYXgtY2Fyb3VzZWwnIH0sXHJcbiAgICBwcm92aWRlcnM6W3tcclxuICAgICAgICBwcm92aWRlOiBBWENhcm91c2VsQ29yZSxcclxuICAgICAgICB1c2VDbGFzczogQVhDYXJvdXNlbFNwbGlkZUpTXHJcbiAgICB9XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhDYXJvdXNlbENvbXBvbmVudCBleHRlbmRzIEFYQmFzZUNvbXBvbmVudE1peGluIGltcGxlbWVudHMgQVhDYXJvdXNlbCB7XHJcblxyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICAgICAgcHJpdmF0ZSB6b25lOiBOZ1pvbmUsXHJcbiAgICAgICAgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgICAgICBwcml2YXRlIGNvcmU6IEFYQ2Fyb3VzZWxDb3JlLFxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoZWxlbWVudFJlZiwgY2RyKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBvbk9wdGlvbnNDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgb25TbGlkZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxBWFZhbHVlQ2hhbmdlZEV2ZW50PG51bWJlcj4+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWFZhbHVlQ2hhbmdlZEV2ZW50PG51bWJlcj4+KCk7XHJcblxyXG5cclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBwZXJNb3ZlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG5cclxuICAgIHByaXZhdGUgX3Blck1vdmU6IG51bWJlciA9IDFcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZ2V0IHBlck1vdmUoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fcGVyTW92ZTtcclxuICAgIH1cclxuICAgIHB1YmxpYyBzZXQgcGVyTW92ZSh2OiBudW1iZXIpIHtcclxuICAgICAgICBjb25zdCB2YWwgPSBNYXRoLm1heCgxLCBjb2VyY2VOdW1iZXJQcm9wZXJ0eSh2KSk7XHJcbiAgICAgICAgaWYgKHZhbCAhPSB0aGlzLl9wZXJNb3ZlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3Blck1vdmUgPSB2YWw7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl9wZXJNb3ZlID4gMSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fdmVydGljYWwgPSBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnBlck1vdmVDaGFuZ2UuZW1pdCh0aGlzLnBlck1vdmUpO1xyXG4gICAgICAgICAgICB0aGlzLm9uT3B0aW9uc0NoYW5nZWQuZW1pdCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBmb2N1c0NoYW5nZTogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuXHJcbiAgICBwcml2YXRlIF9mb2N1czogbnVtYmVyID0gMDtcclxuICAgIFxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBnZXQgZm9jdXMoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZm9jdXM7XHJcbiAgICB9XHJcbiAgICBwdWJsaWMgc2V0IGZvY3VzKHY6IG51bWJlcikge1xyXG4gICAgICAgIGlmICh2ICE9IHRoaXMuX2ZvY3VzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2ZvY3VzPXY7XHJcbiAgICAgICAgICAgIHRoaXMucGFkZGluZ0NoYW5nZS5lbWl0KHYpO1xyXG4gICAgICAgICAgICB0aGlzLm9uT3B0aW9uc0NoYW5nZWQuZW1pdCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgaGVpZ2h0UmF0aW9DaGFuZ2U6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcblxyXG4gICAgcHJpdmF0ZSBfaGVpZ2h0UmF0aW86IG51bWJlciA9IDA7XHJcbiAgICBcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZ2V0IGhlaWdodFJhdGlvKCk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hlaWdodFJhdGlvO1xyXG4gICAgfVxyXG4gICAgcHVibGljIHNldCBoZWlnaHRSYXRpbyh2OiBudW1iZXIpIHtcclxuICAgICAgICBpZiAodiAhPSB0aGlzLl9oZWlnaHRSYXRpbykge1xyXG4gICAgICAgICAgICB0aGlzLl9oZWlnaHRSYXRpbz12O1xyXG4gICAgICAgICAgICB0aGlzLnBhZGRpbmdDaGFuZ2UuZW1pdCh2KTtcclxuICAgICAgICAgICAgdGhpcy5vbk9wdGlvbnNDaGFuZ2VkLmVtaXQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIGhlaWdodENoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgICBwcml2YXRlIF9oZWlnaHQ6IHN0cmluZyA9ICdhdXRvJ1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBnZXQgaGVpZ2h0KCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hlaWdodDtcclxuICAgIH1cclxuICAgIHB1YmxpYyBzZXQgaGVpZ2h0KHY6IHN0cmluZykge1xyXG4gICAgICAgIGNvbnN0IHZhbCA9IHY7XHJcbiAgICAgICAgaWYgKHZhbCAhPSB0aGlzLl9oZWlnaHQpIHtcclxuICAgICAgICAgICAgdGhpcy5faGVpZ2h0ID0gdmFsO1xyXG4gICAgICAgICAgICB0aGlzLmhlaWdodENoYW5nZS5lbWl0KHRoaXMuaGVpZ2h0KTtcclxuICAgICAgICAgICAgdGhpcy5vbk9wdGlvbnNDaGFuZ2VkLmVtaXQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgd2lkdGhDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gICAgcHJpdmF0ZSBfd2lkdGg6IHN0cmluZyA9ICdmaXQtY29udGVudCdcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZ2V0IHdpZHRoKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3dpZHRoO1xyXG4gICAgfVxyXG4gICAgcHVibGljIHNldCB3aWR0aCh2OiBzdHJpbmcpIHtcclxuICAgICAgICBjb25zdCB2YWwgPSB2O1xyXG4gICAgICAgIGlmICh2YWwgIT0gdGhpcy5fd2lkdGgpIHtcclxuICAgICAgICAgICAgdGhpcy5fd2lkdGggPSB2YWw7XHJcbiAgICAgICAgICAgIHRoaXMud2lkdGhDaGFuZ2UuZW1pdCh0aGlzLndpZHRoKTtcclxuICAgICAgICAgICAgdGhpcy5vbk9wdGlvbnNDaGFuZ2VkLmVtaXQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgcGVyUGFnZUNoYW5nZTogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuXHJcbiAgICBwcml2YXRlIF9wZXJQYWdlOiBudW1iZXIgPSAxO1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBnZXQgcGVyUGFnZSgpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9wZXJQYWdlO1xyXG4gICAgfVxyXG4gICAgcHVibGljIHNldCBwZXJQYWdlKHY6IG51bWJlcikge1xyXG4gICAgICAgIGNvbnN0IHZhbCA9IHY7XHJcbiAgICAgICAgaWYgKHZhbCAhPSB0aGlzLl9wZXJQYWdlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3BlclBhZ2UgPSB2YWw7XHJcbiAgICAgICAgICAgIHRoaXMucGVyUGFnZUNoYW5nZS5lbWl0KHRoaXMucGVyUGFnZSk7XHJcbiAgICAgICAgICAgIHRoaXMub25PcHRpb25zQ2hhbmdlZC5lbWl0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2FwOiBudW1iZXIgPSAxMDtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBhdXRvcGxheUNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICAgIHByaXZhdGUgX2F1dG9wbGF5OiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGdldCBhdXRvcGxheSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fYXV0b3BsYXk7XHJcbiAgICB9XHJcbiAgICBwdWJsaWMgc2V0IGF1dG9wbGF5KHY6IGJvb2xlYW4pIHtcclxuICAgICAgICBjb25zdCB2YWwgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodik7XHJcbiAgICAgICAgaWYgKHZhbCAhPSB0aGlzLl9hdXRvcGxheSkge1xyXG4gICAgICAgICAgICB0aGlzLl9hdXRvcGxheSA9IHZhbDtcclxuICAgICAgICAgICAgdGhpcy5hdXRvcGxheUNoYW5nZS5lbWl0KHRoaXMuYXV0b3BsYXkpO1xyXG4gICAgICAgICAgICB0aGlzLm9uT3B0aW9uc0NoYW5nZWQuZW1pdCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBzbmFwQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gICAgcHJpdmF0ZSBfc25hcDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBnZXQgc25hcCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc25hcDtcclxuICAgIH1cclxuICAgIHB1YmxpYyBzZXQgc25hcCh2OiBib29sZWFuKSB7XHJcbiAgICAgICAgY29uc3QgdmFsID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHYpO1xyXG4gICAgICAgIGlmICh2YWwgIT0gdGhpcy5fc25hcCkge1xyXG4gICAgICAgICAgICB0aGlzLl9zbmFwID0gdmFsO1xyXG4gICAgICAgICAgICB0aGlzLnNuYXBDaGFuZ2UuZW1pdCh0aGlzLnNuYXApO1xyXG4gICAgICAgICAgICB0aGlzLm9uT3B0aW9uc0NoYW5nZWQuZW1pdCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBhdXRvV2lkdGhDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgICBwcml2YXRlIF9hdXRvV2lkdGg6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBnZXQgYXV0b1dpZHRoKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9hdXRvV2lkdGg7XHJcbiAgICB9XHJcbiAgICBwdWJsaWMgc2V0IGF1dG9XaWR0aCh2OiBib29sZWFuKSB7XHJcbiAgICAgICAgY29uc3QgdmFsID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHYpO1xyXG4gICAgICAgIGlmICh2YWwgIT0gdGhpcy5fYXV0b1dpZHRoKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2F1dG9XaWR0aCA9IHZhbDtcclxuICAgICAgICAgICAgdGhpcy5hdXRvV2lkdGhDaGFuZ2UuZW1pdCh0aGlzLmF1dG9XaWR0aCk7XHJcbiAgICAgICAgICAgIHRoaXMub25PcHRpb25zQ2hhbmdlZC5lbWl0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIGRyYWdDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gICAgcHJpdmF0ZSBfZHJhZzogYW55ID0gdHJ1ZTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZ2V0IGRyYWcoKTogYW55IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZHJhZztcclxuICAgIH1cclxuICAgIHB1YmxpYyBzZXQgZHJhZyh2OiBhbnkpIHtcclxuICAgICAgICBjb25zdCB2YWwgPSB2O1xyXG4gICAgICAgIGlmICh2YWwgIT0gdGhpcy5fZHJhZykge1xyXG4gICAgICAgICAgICB0aGlzLl9kcmFnID0gdmFsO1xyXG4gICAgICAgICAgICB0aGlzLmRyYWdDaGFuZ2UuZW1pdCh0aGlzLmRyYWcpO1xyXG4gICAgICAgICAgICB0aGlzLm9uT3B0aW9uc0NoYW5nZWQuZW1pdCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyB3aGVlbENoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICAgIHByaXZhdGUgX3doZWVsOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGdldCB3aGVlbCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fd2hlZWw7XHJcbiAgICB9XHJcbiAgICBwdWJsaWMgc2V0IHdoZWVsKHY6IGJvb2xlYW4pIHtcclxuICAgICAgICBjb25zdCB2YWwgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodik7XHJcbiAgICAgICAgaWYgKHZhbCAhPSB0aGlzLl93aGVlbCkge1xyXG4gICAgICAgICAgICB0aGlzLl93aGVlbCA9IHZhbDtcclxuICAgICAgICAgICAgdGhpcy53aGVlbENoYW5nZS5lbWl0KHRoaXMud2hlZWwpO1xyXG4gICAgICAgICAgICB0aGlzLm9uT3B0aW9uc0NoYW5nZWQuZW1pdCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBpbnRlcnZhbENoYW5nZTogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuXHJcbiAgICBwcml2YXRlIF9pbnRlcnZhbDogbnVtYmVyID0gMzAwMFxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBnZXQgaW50ZXJ2YWwoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5faW50ZXJ2YWw7XHJcbiAgICB9XHJcbiAgICBwdWJsaWMgc2V0IGludGVydmFsKHY6IG51bWJlcikge1xyXG4gICAgICAgIGNvbnN0IHZhbCA9IGNvZXJjZU51bWJlclByb3BlcnR5KHYpO1xyXG4gICAgICAgIGlmICh2YWwgIT0gdGhpcy5faW50ZXJ2YWwpIHtcclxuICAgICAgICAgICAgdGhpcy5pbnRlcnZhbENoYW5nZS5lbWl0KHZhbCk7XHJcbiAgICAgICAgICAgIHRoaXMub25PcHRpb25zQ2hhbmdlZC5lbWl0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgcGFkZGluZ0NoYW5nZTogRXZlbnRFbWl0dGVyPG51bWJlciB8IHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlciB8IHN0cmluZz4oKTtcclxuXHJcbiAgICBwcml2YXRlIF9wYWRkaW5nOiBudW1iZXIgfCBzdHJpbmcgPSAwXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGdldCBwYWRkaW5nKCk6IG51bWJlciB8IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3BhZGRpbmc7XHJcbiAgICB9XHJcbiAgICBwdWJsaWMgc2V0IHBhZGRpbmcodjogbnVtYmVyIHwgc3RyaW5nKSB7XHJcbiAgICAgICAgaWYgKHYgIT0gdGhpcy5fcGFkZGluZykge1xyXG4gICAgICAgICAgICB0aGlzLl9wYWRkaW5nPXY7XHJcbiAgICAgICAgICAgIHRoaXMucGFkZGluZ0NoYW5nZS5lbWl0KHYpO1xyXG4gICAgICAgICAgICB0aGlzLm9uT3B0aW9uc0NoYW5nZWQuZW1pdCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIGNlbnRlcmVkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gICAgcHJpdmF0ZSBfY2VudGVyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZ2V0IGNlbnRlcmVkKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9jZW50ZXJlZDtcclxuICAgIH1cclxuICAgIHB1YmxpYyBzZXQgY2VudGVyZWQodjogYm9vbGVhbikge1xyXG4gICAgICAgIGNvbnN0IHZhbCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KTtcclxuICAgICAgICBpZiAodmFsICE9IHRoaXMuX2NlbnRlcmVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2NlbnRlcmVkID0gdmFsO1xyXG4gICAgICAgICAgICBpZiAodGhpcy5fY2VudGVyZWQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Jld2luZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuY2VudGVyZWRDaGFuZ2UuZW1pdCh0aGlzLmNlbnRlcmVkKTtcclxuICAgICAgICAgICAgdGhpcy5yZXdpbmRDaGFuZ2UuZW1pdCh0aGlzLnJld2luZCk7XHJcbiAgICAgICAgICAgIHRoaXMub25PcHRpb25zQ2hhbmdlZC5lbWl0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIHZlcnRpY2FsQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gICAgcHJpdmF0ZSBfdmVydGljYWw6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZ2V0IHZlcnRpY2FsKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl92ZXJ0aWNhbDtcclxuICAgIH1cclxuICAgIHB1YmxpYyBzZXQgdmVydGljYWwodjogYm9vbGVhbikge1xyXG4gICAgICAgIGNvbnN0IHZhbCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KTtcclxuICAgICAgICBpZiAodmFsICE9IHRoaXMuX3ZlcnRpY2FsKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3ZlcnRpY2FsID0gdmFsO1xyXG4gICAgICAgICAgICB0aGlzLnZlcnRpY2FsQ2hhbmdlLmVtaXQodGhpcy52ZXJ0aWNhbCk7XHJcbiAgICAgICAgICAgIHRoaXMub25PcHRpb25zQ2hhbmdlZC5lbWl0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIGxvb3BDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgICBwcml2YXRlIF9sb29wOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGdldCBsb29wKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9sb29wO1xyXG4gICAgfVxyXG4gICAgcHVibGljIHNldCBsb29wKHY6IGJvb2xlYW4pIHtcclxuICAgICAgICBjb25zdCB2YWwgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodik7XHJcbiAgICAgICAgaWYgKHZhbCAhPSB0aGlzLl9sb29wKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2xvb3AgPSB2YWw7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl9sb29wKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9yZXdpbmQgPSBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLmxvb3BDaGFuZ2UuZW1pdCh0aGlzLmxvb3ApO1xyXG4gICAgICAgICAgICB0aGlzLnJld2luZENoYW5nZS5lbWl0KHRoaXMucmV3aW5kKTtcclxuICAgICAgICAgICAgdGhpcy5vbk9wdGlvbnNDaGFuZ2VkLmVtaXQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgcmV3aW5kQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gICAgcHJpdmF0ZSBfcmV3aW5kOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGdldCByZXdpbmQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jld2luZDtcclxuICAgIH1cclxuICAgIHB1YmxpYyBzZXQgcmV3aW5kKHY6IGJvb2xlYW4pIHtcclxuICAgICAgICBjb25zdCB2YWwgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodik7XHJcbiAgICAgICAgaWYgKHZhbCAhPSB0aGlzLl9yZXdpbmQpIHtcclxuICAgICAgICAgICAgdGhpcy5fcmV3aW5kID0gdmFsO1xyXG4gICAgICAgICAgICBpZiAodGhpcy5fcmV3aW5kKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9sb29wID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9jZW50ZXJlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMucmV3aW5kQ2hhbmdlLmVtaXQodGhpcy5yZXdpbmQpO1xyXG4gICAgICAgICAgICB0aGlzLmxvb3BDaGFuZ2UuZW1pdCh0aGlzLmxvb3ApO1xyXG4gICAgICAgICAgICB0aGlzLmNlbnRlcmVkQ2hhbmdlLmVtaXQodGhpcy5jZW50ZXJlZCk7XHJcbiAgICAgICAgICAgIHRoaXMub25PcHRpb25zQ2hhbmdlZC5lbWl0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICBcclxuICAgIHByaXZhdGUgX3Zpc2libGVJbmRleCA6IG51bWJlciA9IDA7XHJcbiAgICBwdWJsaWMgZ2V0IHZpc2libGVJbmRleCgpIDogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fdmlzaWJsZUluZGV4O1xyXG4gICAgfVxyXG4gICAgcHVibGljIHNldCB2aXNpYmxlSW5kZXgodiA6IG51bWJlcikge1xyXG4gICAgICAgIHRoaXMuX3Zpc2libGVJbmRleCA9IHY7XHJcbiAgICB9XHJcbiAgICBcclxuXHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgb25JdGVtc0NoYW5nZWQ6IEV2ZW50RW1pdHRlcjxBWFZhbHVlQ2hhbmdlZEV2ZW50PEhUTUxEaXZFbGVtZW50W10+PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhWYWx1ZUNoYW5nZWRFdmVudDxIVE1MRGl2RWxlbWVudFtdPj4oKTtcclxuXHJcbiAgICBwcml2YXRlIF9pdGVtczogSFRNTERpdkVsZW1lbnRbXSA9IFtdO1xyXG4gICAgcHVibGljIGdldCBpdGVtcygpOiBIVE1MRGl2RWxlbWVudFtdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5faXRlbXMgPz8gW107XHJcbiAgICB9XHJcbiAgICBwdWJsaWMgc2V0IGl0ZW1zKHY6IEhUTUxEaXZFbGVtZW50W10pIHtcclxuICAgICAgICBjb25zdCBvbGRWYWx1ZSA9IHRoaXMuaXRlbXMuc2xpY2UoKTtcclxuICAgICAgICB0aGlzLl9pdGVtcyA9IHY7XHJcbiAgICAgICAgdGhpcy5vbkl0ZW1zQ2hhbmdlZC5lbWl0KHtcclxuICAgICAgICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICAgICAgICBodG1sRWxlbWVudDogdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKSxcclxuICAgICAgICAgICAgb2xkVmFsdWUsXHJcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLml0ZW1zXHJcbiAgICAgICAgfSlcclxuICAgIH1cclxuXHJcblxyXG4gICAgb25WaWV3SW5pdCgpIHtcclxuICAgICAgICB0aGlzLmNvcmUubW91bnQodGhpcyk7XHJcbiAgICB9XHJcbiAgXHJcbiAgICBuZXh0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY29yZS5uZXh0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgbGFzdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNvcmUubGFzdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHByZXYoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jb3JlLnByZXYoKTtcclxuICAgIH1cclxuXHJcbiAgICBmaXJzdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNvcmUuZmlyc3QoKTtcclxuICAgIH1cclxuXHJcbiAgICBnb1RvU2xpZGUoaW5kZXg6IG51bWJlcik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY29yZS5nb1RvU2xpZGUoaW5kZXgpO1xyXG4gICAgfVxyXG5cclxuICAgIGdvVG9QYWdlKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNvcmUuZ29Ub1BhZ2UoaW5kZXgpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBnZXQgaG9zdCgpOkhUTUxEaXZFbGVtZW50XHJcbiAgICB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldEhvc3RFbGVtZW50KCk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIG9uRGVzdHJveSgpXHJcbiAgICB7XHJcbiAgICAgICAgdGhpcy5jb3JlLmRlc3Ryb3koKTtcclxuICAgIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiYXgtY2Fyb3VzZWwtbGlzdC1jb250YWluZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJheC1jYXJvdXNlbC1saXN0XCI+XHJcbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtY2Fyb3VzZWwtaXRlbVwiPlxyXG4gICAgICAgIDwvbmctY29udGVudD5cclxuICAgIDwvZGl2PlxyXG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtY2Fyb3VzZWwtYXJyb3dzXCI+XHJcbiAgICA8L25nLWNvbnRlbnQ+XHJcbjwvZGl2PlxyXG5cclxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtY2Fyb3VzZWwtcGFnZXJcIj5cclxuPC9uZy1jb250ZW50PiJdfQ==
|