@ai-table/grid 0.0.65 → 0.0.66
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.
@@ -282,12 +282,12 @@ export class AITableDragComponent {
|
|
282
282
|
}
|
283
283
|
}
|
284
284
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AITableDragComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
285
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AITableDragComponent, isStandalone: true, selector: "ai-table-drag", outputs: { dragEnd: "dragEnd" }, host: { classAttribute: "drag-container" }, ngImport: i0, template: "<div class=\"rect\"></div>\n<div class=\"auxiliary-line\"></div>", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
285
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AITableDragComponent, isStandalone: true, selector: "ai-table-drag", outputs: { dragEnd: "dragEnd" }, host: { classAttribute: "ai-table-drag-container" }, ngImport: i0, template: "<div class=\"rect\"></div>\n<div class=\"auxiliary-line\"></div>", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
286
286
|
}
|
287
287
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AITableDragComponent, decorators: [{
|
288
288
|
type: Component,
|
289
289
|
args: [{ selector: 'ai-table-drag', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
290
|
-
class: 'drag-container'
|
290
|
+
class: 'ai-table-drag-container'
|
291
291
|
}, template: "<div class=\"rect\"></div>\n<div class=\"auxiliary-line\"></div>" }]
|
292
292
|
}], ctorParameters: () => [] });
|
293
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9jb21wb25lbnRzL2RyYWcvZHJhZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9jb21wb25lbnRzL2RyYWcvZHJhZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFxQixNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JJLE9BQU8sRUFBaUMsUUFBUSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSw0QkFBNEIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQVcxSCxNQUFNLE9BQU8sb0JBQW9CO0lBNkI3QjtRQTVCQSxZQUFPLEdBQUcsTUFBTSxFQUFlLENBQUM7UUFFeEIsZ0NBQTJCLEdBQUcsTUFBTSxDQUFDLDJCQUEyQixDQUFDLENBQUM7UUFFbEUsWUFBTyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUVwQyxlQUFVLEdBQTRCLE1BQU0sQ0FBQyxDQUFBLFVBQXVCLENBQUEsQ0FBQyxDQUFDO1FBTTlELGdCQUFXLEdBQXVCLElBQUksQ0FBQztRQUV2Qyx1QkFBa0IsR0FBb0MsSUFBSSxDQUFDO1FBRTNELGdCQUFXLEdBQTRCLElBQUksQ0FBQztRQUk1QyxxQkFBZ0IsR0FBUSxJQUFJLENBQUM7UUFFN0Isc0JBQWlCLEdBQVksS0FBSyxDQUFDO1FBT3ZDLE1BQU0sQ0FBQyxHQUFHLEVB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QUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNqQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUN0QixDQUFDO0lBQ0wsQ0FBQzsrR0FsVVEsb0JBQW9CO21HQUFwQixvQkFBb0Isc0pDZmpDLGtFQUNrQzs7NEZEY3JCLG9CQUFvQjtrQkFUaEMsU0FBUzsrQkFDSSxlQUFlLGNBRWIsSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNGLEtBQUssRUFBRSxnQkFBZ0I7cUJBQzFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgZWZmZWN0LCBFbGVtZW50UmVmLCBpbmplY3QsIE9uRGVzdHJveSwgT25Jbml0LCBvdXRwdXQsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQUlUYWJsZURyYWdTdGF0ZSwgRHJhZ0VuZERhdGEsIERyYWdUeXBlIH0gZnJvbSAnLi4vLi4vY29yZSc7XG5pbXBvcnQgeyBBSVRhYmxlR3JpZFNlbGVjdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zZWxlY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBNSU5fQ09MVU1OX1dJRFRIIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2dyaWQnO1xuaW1wb3J0IHsgQUlfVEFCTEVfRklFTERfSEVBRF9IRUlHSFQsIEFJX1RBQkxFX1JPV19EUkFHX0lDT05fV0lEVEgsIEFJX1RBQkxFX1JPV19IRUFEX1dJRFRIIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL3RhYmxlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhaS10YWJsZS1kcmFnJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZHJhZy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnZHJhZy1jb250YWluZXInXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBBSVRhYmxlRHJhZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBkcmFnRW5kID0gb3V0cHV0PERyYWdFbmREYXRhPigpO1xuXG4gICAgcHJpdmF0ZSBhaVRhYmxlR3JpZFNlbGVjdGlvblNlcnZpY2UgPSBpbmplY3QoQUlUYWJsZUdyaWRTZWxlY3Rpb25TZXJ2aWNlKTtcblxuICAgIHByaXZhdGUgcmVuZGVyMiA9IGluamVjdChSZW5kZXJlcjIpO1xuXG4gICAgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4gPSBpbmplY3QoRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pO1xuXG4gICAgcHJpdmF0ZSByZWN0ITogSFRNTEVsZW1lbnQ7XG5cbiAgICBwcml2YXRlIGF1eGlsaWFyeUxpbmUhOiBIVE1MRWxlbWVudDtcblxuICAgIHByaXZhdGUgZHJhZ2dlZERhdGE6IERyYWdFbmREYXRhIHwgbnVsbCA9IG51bGw7XG5cbiAgICBwcml2YXRlIG1vdXNlU3RhcnRQb3NpdGlvbjogeyB4OiBudW1iZXI7IHk6IG51bWJlciB9IHwgbnVsbCA9IG51bGw7XG5cbiAgICBwcml2YXRlIGFpVGFibGVEcmFnOiBBSVRhYmxlRHJhZ1N0YXRlIHwgbnVsbCA9IG51bGw7XG5cbiAgICBwcml2YXRlIHRpbWVyITogbnVtYmVyIHwgbnVsbDtcblxuICAgIHByaXZhdGUgbW91c2VEb3duVGltZW91dDogYW55ID0gbnVsbDtcblxuICAgIHByaXZhdGUgaXNEcmFnZ2luZ0VuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIHByaXZhdGUgbW91c2Vkb3duTGlzdGVuZXI/OiAoKSA9PiB2b2lkO1xuICAgIHByaXZhdGUgbW91c2Vtb3ZlTGlzdGVuZXI/OiAoKSA9PiB2b2lkO1xuICAgIHByaXZhdGUgbW91c2V1cExpc3RlbmVyPzogKCkgPT4gdm9pZDtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBlZmZlY3QoKCkgPT4gdGhpcy5oYW5kbGVEcmFnU3RhdGVDaGFuZ2UoKSk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuaW5pdEVsZW1lbnRzKCk7XG4gICAgICAgIHRoaXMuc2V0dXBFdmVudExpc3RlbmVycygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdEVsZW1lbnRzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlY3QgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcucmVjdCcpITtcbiAgICAgICAgdGhpcy5hdXhpbGlhcnlMaW5lID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLmF1eGlsaWFyeS1saW5lJykhO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0dXBFdmVudExpc3RlbmVycygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tb3VzZWRvd25MaXN0ZW5lciA9IHRoaXMucmVuZGVyMi5saXN0ZW4oJ3dpbmRvdycsICdtb3VzZWRvd24nLCAoZTogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5tb3VzZVN0YXJ0UG9zaXRpb24gPSB7IHg6IGUueCwgeTogZS55IH07XG5cbiAgICAgICAgICAgIGlmICh0aGlzLm1vdXNlRG93blRpbWVvdXQpIHtcbiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5tb3VzZURvd25UaW1lb3V0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuaXNEcmFnZ2luZ0VuYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMubW91c2VEb3duVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNEcmFnZ2luZ0VuYWJsZWQgPSB0cnVlO1xuICAgICAgICAgICAgfSwgMjAwKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5tb3VzZW1vdmVMaXN0ZW5lciA9IHRoaXMucmVuZGVyMi5saXN0ZW4oJ3dpbmRvdycsICdtb3VzZW1vdmUnLCAoZTogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmlzRHJhZ2dpbmdFbmFibGVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMudGltZXIpIHtcbiAgICAgICAgICAgICAgICBjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLnRpbWVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMudGltZXIgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmFpVGFibGVEcmFnICYmIHRoaXMubW91c2VTdGFydFBvc2l0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlRHJhZyhlLCB0aGlzLmFpVGFibGVEcmFnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5tb3VzZXVwTGlzdGVuZXIgPSB0aGlzLnJlbmRlcjIubGlzdGVuKCd3aW5kb3cnLCAnbW91c2V1cCcsICgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLm1vdXNlRG93blRpbWVvdXQpIHtcbiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5tb3VzZURvd25UaW1lb3V0KTtcbiAgICAgICAgICAgICAgICB0aGlzLm1vdXNlRG93blRpbWVvdXQgPSBudWxsO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmlzRHJhZ2dpbmdFbmFibGVkID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLm1vdXNlU3RhcnRQb3NpdGlvbiA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLmFpVGFibGVEcmFnID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlRHJhZ0VuZCgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZURyYWdTdGF0ZUNoYW5nZSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZHJhZyA9IHRoaXMuYWlUYWJsZUdyaWRTZWxlY3Rpb25TZXJ2aWNlLmFpVGFibGUuZHJhZ1N0YXRlPy4oKTtcblxuICAgICAgICBpZiAoIWRyYWcpIHtcbiAgICAgICAgICAgIHRoaXMuYWlUYWJsZURyYWcgPSBudWxsO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGRyYWcudHlwZSA9PT0gRHJhZ1R5cGUubm9uZSB8fCAhdGhpcy5yZWN0IHx8ICF0aGlzLmF1eGlsaWFyeUxpbmUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYWlUYWJsZURyYWcgPSBkcmFnO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlRHJhZyhlOiBNb3VzZUV2ZW50LCBkcmFnOiBBSVRhYmxlRHJhZ1N0YXRlKSB7XG4gICAgICAgIGlmIChkcmFnLnR5cGUgPT09IERyYWdUeXBlLm5vbmUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNldERpc3BsYXlTdHlsZSgnYmxvY2snKTtcbiAgICAgICAgY29uc3QgbW92ZVggPSBlLnggLSAodGhpcy5tb3VzZVN0YXJ0UG9zaXRpb24/LnggfHwgMCk7XG4gICAgICAgIGNvbnN0IG1vdmVZID0gZS55IC0gKHRoaXMubW91c2VTdGFydFBvc2l0aW9uPy55IHx8IDApO1xuICAgICAgICBzd2l0Y2ggKGRyYWcudHlwZSkge1xuICAgICAgICAgICAgY2FzZSBEcmFnVHlwZS5maWVsZDpcbiAgICAgICAgICAgICAgICB0aGlzLm1vdmluZ0NvbHVtbihkcmFnLCBtb3ZlWCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIERyYWdUeXBlLnJlY29yZDpcbiAgICAgICAgICAgICAgICB0aGlzLm1vdmluZ1JlY29yZChkcmFnLCBtb3ZlWSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIERyYWdUeXBlLmNvbHVtbldpZHRoOlxuICAgICAgICAgICAgICAgIHRoaXMubW92aW5nQ29sdW1uV2lkdGgoZHJhZywgbW92ZVgpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBtb3ZpbmdDb2x1bW4oZHJhZzogQUlUYWJsZURyYWdTdGF0ZSwgbW92ZVg6IG51bWJlcikge1xuICAgICAgICBjb25zdCBhaVRhYmxlID0gdGhpcy5haVRhYmxlR3JpZFNlbGVjdGlvblNlcnZpY2UuYWlUYWJsZTtcbiAgICAgICAgY29uc3Qgc2Nyb2xsID0gZHJhZy5zY3JvbGwgfHwgeyB4OiAwLCB5OiAwIH07XG4gICAgICAgIGNvbnN0IGNvb3JkaW5hdGUgPSBkcmFnLmNvb3JkaW5hdGUhO1xuICAgICAgICBjb25zdCBmaWVsZHMgPSBhaVRhYmxlLmdyaWREYXRhKCkuZmllbGRzO1xuICAgICAgICBjb25zdCB3aWR0aCA9IHRoaXMuY2FsY3VsYXRlRHJhZ1dpZHRoKGZpZWxkcywgY29vcmRpbmF0ZSwgZHJhZyk7XG4gICAgICAgIGNvbnN0IHZpc2libGVDb2x1bW5JbmRleE1hcCA9IGFpVGFibGUuY29udGV4dCEudmlzaWJsZUNvbHVtbnNJbmRleE1hcCgpO1xuICAgICAgICBjb25zdCBzb3VyY2VDb2x1bW5JbmRleCA9IHZpc2libGVDb2x1bW5JbmRleE1hcC5nZXQoZHJhZy5zb3VyY2VJZHMudmFsdWVzKCkubmV4dCgpLnZhbHVlISkgfHwgMDtcbiAgICAgICAgY29uc3Qgc291cmNlQ29sdW1uU3RhcnRYID0gY29vcmRpbmF0ZS5nZXRDb2x1bW5PZmZzZXQoc291cmNlQ29sdW1uSW5kZXgpO1xuICAgICAgICBjb25zdCBzb3VyY2VDb2x1bW5XaWR0aCA9IGNvb3JkaW5hdGUuZ2V0Q29sdW1uV2lkdGgoc291cmNlQ29sdW1uSW5kZXgpO1xuICAgICAgICAvLyBUT0RPOiDnm67liY3pu5jorqTnrKzkuIDliJfkuLrlhrvnu5PliJfvvIzlkI7mnJ/mlK/mjIHorr7nva7lhrvnu5PliJfpnIDopoHlpITnkIZcbiAgICAgICAgY29uc3QgaXNTb3VyY2VDb2x1bW5Gcm96ZW4gPSBzb3VyY2VDb2x1bW5JbmRleCA9PT0gMDtcbiAgICAgICAgY29uc3QgZnJvemVuQ29sdW1uV2lkdGggPSBjb29yZGluYXRlLmdldENvbHVtbldpZHRoKDApO1xuICAgICAgICBjb25zdCBwb2ludGVyWCA9IG1vdmVYICsgc291cmNlQ29sdW1uU3RhcnRYO1xuICAgICAgICAvLyDmi5bmi73kuK3lv4PngrlcbiAgICAgICAgY29uc3QgZHJhZ0NlbnRlciA9IHNvdXJjZUNvbHVtbldpZHRoIC8gMjtcbiAgICAgICAgdGhpcy5zZXRSZWN0U3R5bGVzKHtcbiAgICAgICAgICAgIGN1cnNvcjogJ21vdmUnLFxuICAgICAgICAgICAgd2lkdGg6IGAke3dpZHRofXB4YCxcbiAgICAgICAgICAgIGhlaWdodDogJzEwMCUnLFxuICAgICAgICAgICAgdG9wOiAnMCcsXG4gICAgICAgICAgICBsZWZ0OiBgJHtwb2ludGVyWCAtIChpc1NvdXJjZUNvbHVtbkZyb3plbiA/IDAgOiBzY3JvbGwueCl9cHhgXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGxhc3RDb2x1bW5PZmZzZXQgPSBjb29yZGluYXRlLmdldENvbHVtbk9mZnNldChjb29yZGluYXRlLmNvbHVtbkNvdW50IC0gMSk7XG4gICAgICAgIGNvbnN0IGxhc3RDb2x1bW5XaWR0aCA9IGNvb3JkaW5hdGUuZ2V0Q29sdW1uV2lkdGgoY29vcmRpbmF0ZS5jb2x1bW5Db3VudCAtIDEpO1xuXG4gICAgICAgIGxldCB0YXJnZXRDb2x1bW5JbmRleCA9IGNvb3JkaW5hdGUuZ2V0Q29sdW1uU3RhcnRJbmRleChwb2ludGVyWCArIChpc1NvdXJjZUNvbHVtbkZyb3plbiA/IHNjcm9sbC54IDogMCkgKyBkcmFnQ2VudGVyKTtcbiAgICAgICAgbGV0IHRhcmdldENvbHVtblN0YXJ0WCA9IGNvb3JkaW5hdGUuZ2V0Q29sdW1uT2Zmc2V0KHRhcmdldENvbHVtbkluZGV4KTtcbiAgICAgICAgbGV0IGlzTGFzdENvbHVtbiA9IGZhbHNlO1xuICAgICAgICAvLyDlpITnkIbmnIDlkI7kuIDliJdcbiAgICAgICAgaWYgKHBvaW50ZXJYICsgZHJhZ0NlbnRlciA+IGxhc3RDb2x1bW5PZmZzZXQgKyBsYXN0Q29sdW1uV2lkdGgpIHtcbiAgICAgICAgICAgIHRhcmdldENvbHVtbkluZGV4ID0gY29vcmRpbmF0ZS5jb2x1bW5Db3VudDtcbiAgICAgICAgICAgIHRhcmdldENvbHVtblN0YXJ0WCA9IGxhc3RDb2x1bW5PZmZzZXQgKyBsYXN0Q29sdW1uV2lkdGg7XG4gICAgICAgICAgICBpc0xhc3RDb2x1bW4gPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICh0YXJnZXRDb2x1bW5JbmRleCA+PSAwICYmICh0YXJnZXRDb2x1bW5JbmRleCAtIHNvdXJjZUNvbHVtbkluZGV4ID4gMSB8fCB0YXJnZXRDb2x1bW5JbmRleCAtIHNvdXJjZUNvbHVtbkluZGV4IDwgMCkpIHx8XG4gICAgICAgICAgICBpc0xhc3RDb2x1bW5cbiAgICAgICAgKSB7XG4gICAgICAgICAgICBsZXQgbGluZUxlZnQgPSB0YXJnZXRDb2x1bW5TdGFydFggLSBzY3JvbGwueDtcbiAgICAgICAgICAgIGNvbnN0IGxpbmVGb3JGcm96ZW5YID0gbGluZUxlZnQgLSBmcm96ZW5Db2x1bW5XaWR0aCAtIEFJX1RBQkxFX1JPV19IRUFEX1dJRFRIO1xuICAgICAgICAgICAgaWYgKGxpbmVGb3JGcm96ZW5YIDwgMCkge1xuICAgICAgICAgICAgICAgIGxpbmVMZWZ0ID0gY29vcmRpbmF0ZS5nZXRDb2x1bW5PZmZzZXQoMCk7XG4gICAgICAgICAgICAgICAgdGFyZ2V0Q29sdW1uSW5kZXggPSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5zZXRBdXhpbGlhcnlMaW5lU3R5bGVzKHtcbiAgICAgICAgICAgICAgICB3aWR0aDogJzJweCcsXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICAgICAgICAgICAgdG9wOiAwLFxuICAgICAgICAgICAgICAgIGxlZnQ6IGAke2xpbmVMZWZ0fXB4YFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAvLyDlkJHlj7Pnp7vliqjnm67moIflnKjnm67moIfliJfnmoTliY3kuIDliJdcbiAgICAgICAgICAgIGlmICh0YXJnZXRDb2x1bW5JbmRleCA+IHNvdXJjZUNvbHVtbkluZGV4KSB7XG4gICAgICAgICAgICAgICAgdGFyZ2V0Q29sdW1uSW5kZXggLT0gMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuZHJhZ2dlZERhdGEgPSB7XG4gICAgICAgICAgICAgICAgdHlwZTogRHJhZ1R5cGUuZmllbGQsXG4gICAgICAgICAgICAgICAgdGFyZ2V0SW5kZXg6IHRhcmdldENvbHVtbkluZGV4LFxuICAgICAgICAgICAgICAgIGZpZWxkSWRzOiBkcmFnLnNvdXJjZUlkcyxcbiAgICAgICAgICAgICAgICBmaWVsZHNJbmRleDogQXJyYXkuZnJvbShkcmFnLnNvdXJjZUlkcykubWFwKChpZCkgPT4gdmlzaWJsZUNvbHVtbkluZGV4TWFwLmdldChpZCkgfHwgMClcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnJlc2V0QXV4aWxpYXJ5TGluZSgpO1xuICAgICAgICAgICAgdGhpcy5kcmFnZ2VkRGF0YSA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIG1vdmluZ0NvbHVtbldpZHRoKGRyYWc6IEFJVGFibGVEcmFnU3RhdGUsIG1vdmVYOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5zZXRDdXJzb3JTdHlsZSgnY29sLXJlc2l6ZScpO1xuICAgICAgICBjb25zdCBhaVRhYmxlID0gdGhpcy5haVRhYmxlR3JpZFNlbGVjdGlvblNlcnZpY2UuYWlUYWJsZTtcbiAgICAgICAgY29uc3QgdmlzaWJsZUNvbHVtbkluZGV4TWFwID0gYWlUYWJsZS5jb250ZXh0IS52aXNpYmxlQ29sdW1uc0luZGV4TWFwKCk7XG4gICAgICAgIGNvbnN0IHNvdXJjZUNvbHVtbkluZGV4ID0gdmlzaWJsZUNvbHVtbkluZGV4TWFwLmdldChkcmFnLnNvdXJjZUlkcy52YWx1ZXMoKS5uZXh0KCkudmFsdWUhKSB8fCAwO1xuICAgICAgICBjb25zdCBzb3VyY2VDb2x1bW5TdGFydFggPSBkcmFnLmNvb3JkaW5hdGUhLmdldENvbHVtbk9mZnNldChzb3VyY2VDb2x1bW5JbmRleCk7XG4gICAgICAgIGNvbnN0IHNvdXJjZUNvbHVtbldpZHRoID0gZHJhZy5jb29yZGluYXRlIS5nZXRDb2x1bW5XaWR0aChzb3VyY2VDb2x1bW5JbmRleCk7XG4gICAgICAgIGNvbnN0IHNjcm9sbCA9IGRyYWcuc2Nyb2xsIHx8IHsgeDogMCwgeTogMCB9O1xuICAgICAgICBjb25zdCBwb2ludGVyWCA9IG1vdmVYICsgc291cmNlQ29sdW1uU3RhcnRYO1xuICAgICAgICBjb25zdCBjb2xSZXNpemVYID0gcG9pbnRlclggLSAoc291cmNlQ29sdW1uSW5kZXggPT09IDAgPyAwIDogc2Nyb2xsLngpO1xuICAgICAgICBjb25zdCBsZWZ0ID0gYCR7Y29sUmVzaXplWCArIHNvdXJjZUNvbHVtbldpZHRofXB4YDtcbiAgICAgICAgdGhpcy5zZXRBdXhpbGlhcnlMaW5lU3R5bGVzKHtcbiAgICAgICAgICAgIHdpZHRoOiAnMnB4JyxcbiAgICAgICAgICAgIGhlaWdodDogJzEwMCUnLFxuICAgICAgICAgICAgdG9wOiAnMCcsXG4gICAgICAgICAgICBsZWZ0XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmRyYWdnZWREYXRhID0ge1xuICAgICAgICAgICAgdHlwZTogRHJhZ1R5cGUuY29sdW1uV2lkdGgsXG4gICAgICAgICAgICBmaWVsZElkczogZHJhZy5zb3VyY2VJZHMsXG4gICAgICAgICAgICB3aWR0aDogTWF0aC5tYXgoTUlOX0NPTFVNTl9XSURUSCwgc291cmNlQ29sdW1uV2lkdGggKyBtb3ZlWClcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG1vdmluZ1JlY29yZChkcmFnOiBBSVRhYmxlRHJhZ1N0YXRlLCBtb3ZlWTogbnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IGFpVGFibGUgPSB0aGlzLmFpVGFibGVHcmlkU2VsZWN0aW9uU2VydmljZS5haVRhYmxlO1xuICAgICAgICBjb25zdCBzY3JvbGwgPSBkcmFnLnNjcm9sbCB8fCB7IHg6IDAsIHk6IDAgfTtcbiAgICAgICAgY29uc3QgY29vcmRpbmF0ZSA9IGRyYWcuY29vcmRpbmF0ZSE7XG5cbiAgICAgICAgY29uc3QgdmlzaWJsZVJvd0luZGV4TWFwID0gYWlUYWJsZS5jb250ZXh0IS52aXNpYmxlUm93c0luZGV4TWFwKCk7XG4gICAgICAgIGNvbnN0IHNvdXJjZVJvd0lkID0gZHJhZy5zb3VyY2VJZHMudmFsdWVzKCkubmV4dCgpLnZhbHVlITtcbiAgICAgICAgY29uc3Qgc291cmNlUm93SW5kZXggPSB2aXNpYmxlUm93SW5kZXhNYXAuZ2V0KHNvdXJjZVJvd0lkKSB8fCAwO1xuICAgICAgICBjb25zdCBzb3VyY2VSb3dTdGFydFkgPSBjb29yZGluYXRlLmdldFJvd09mZnNldChzb3VyY2VSb3dJbmRleCk7XG4gICAgICAgIGNvbnN0IHNvdXJjZVJvd0hlaWdodCA9IGNvb3JkaW5hdGUuZ2V0Um93SGVpZ2h0KHNvdXJjZVJvd0luZGV4KTtcbiAgICAgICAgY29uc3QgcG9pbnRlclkgPSBzb3VyY2VSb3dTdGFydFkgKyBtb3ZlWTtcbiAgICAgICAgdGhpcy5zZXRSZWN0U3R5bGVzKHtcbiAgICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgICAgICBoZWlnaHQ6IGAke3NvdXJjZVJvd0hlaWdodH1weGAsXG4gICAgICAgICAgICB0b3A6IGAke3BvaW50ZXJZIC0gc2Nyb2xsLnl9cHhgLFxuICAgICAgICAgICAgbGVmdDogJzAnXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBkcmFnQ2VudGVyID0gc291cmNlUm93SGVpZ2h0IC8gMjtcbiAgICAgICAgY29uc3QgdGFyZ2V0Um93SW5kZXggPSBjb29yZGluYXRlLmdldFJvd1N0YXJ0SW5kZXgocG9pbnRlclkgKyBkcmFnQ2VudGVyKTtcbiAgICAgICAgY29uc3QgdGFyZ2V0Um93U3RhcnRZID0gY29vcmRpbmF0ZS5nZXRSb3dPZmZzZXQodGFyZ2V0Um93SW5kZXgpO1xuICAgICAgICBjb25zdCBsaW5lVG9wID0gdGFyZ2V0Um93U3RhcnRZIC0gc2Nyb2xsLnk7XG4gICAgICAgIGNvbnN0IGxpbmVIZWlnaHQgPSAyO1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICAoKHRhcmdldFJvd0luZGV4ID49IDAgJiYgc291cmNlUm93SW5kZXggPiB0YXJnZXRSb3dJbmRleCAmJiBzb3VyY2VSb3dJbmRleCAtIHRhcmdldFJvd0luZGV4ID4gMCkgfHxcbiAgICAgICAgICAgICAgICAoc291cmNlUm93SW5kZXggPCB0YXJnZXRSb3dJbmRleCAmJiB0YXJnZXRSb3dJbmRleCAtIHNvdXJjZVJvd0luZGV4ID4gMSkpICYmXG4gICAgICAgICAgICBsaW5lVG9wID4gQUlfVEFCTEVfRklFTERfSEVBRF9IRUlHSFQgLSBsaW5lSGVpZ2h0ICYmIC8vIOmZkOWItuWPr+inhuiMg+WbtOWGhVxuICAgICAgICAgICAgbGluZVRvcCA8IGNvb3JkaW5hdGUuY29udGFpbmVySGVpZ2h0IC0gbGluZUhlaWdodFxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMuc2V0QXV4aWxpYXJ5TGluZVN0eWxlcyh7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGBjYWxjKDEwMCUgLSAke0FJX1RBQkxFX1JPV19EUkFHX0lDT05fV0lEVEh9cHgpYCxcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGAke2xpbmVIZWlnaHR9cHhgLFxuICAgICAgICAgICAgICAgIHRvcDogYCR7bGluZVRvcH1weGAsXG4gICAgICAgICAgICAgICAgbGVmdDogYCR7QUlfVEFCTEVfUk9XX0RSQUdfSUNPTl9XSURUSH1weGBcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5kcmFnZ2VkRGF0YSA9IHtcbiAgICAgICAgICAgICAgICB0eXBlOiBEcmFnVHlwZS5yZWNvcmQsXG4gICAgICAgICAgICAgICAgcmVjb3JkSWRzOiBkcmFnLnNvdXJjZUlkcyxcbiAgICAgICAgICAgICAgICB0YXJnZXRJbmRleDogdGFyZ2V0Um93SW5kZXhcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnJlc2V0QXV4aWxpYXJ5TGluZSgpO1xuICAgICAgICAgICAgdGhpcy5kcmFnZ2VkRGF0YSA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZURyYWdFbmQoKSB7XG4gICAgICAgIGlmICh0aGlzLmRyYWdnZWREYXRhKSB7XG4gICAgICAgICAgICB0aGlzLmRyYWdFbmQuZW1pdCh7IC4uLnRoaXMuZHJhZ2dlZERhdGEgfSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jbGVhckRyYWdTdGF0ZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2xlYXJEcmFnU3RhdGUoKSB7XG4gICAgICAgIHRoaXMuc2V0RGlzcGxheVN0eWxlKCdub25lJyk7XG4gICAgICAgIHRoaXMuc2V0UmVjdFN0eWxlcyh7XG4gICAgICAgICAgICB3aWR0aDogJzAnLFxuICAgICAgICAgICAgaGVpZ2h0OiAnMCcsXG4gICAgICAgICAgICB0b3A6ICcwJyxcbiAgICAgICAgICAgIGxlZnQ6ICcwJ1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5zZXRBdXhpbGlhcnlMaW5lU3R5bGVzKHtcbiAgICAgICAgICAgIHdpZHRoOiAnMCcsXG4gICAgICAgICAgICBoZWlnaHQ6ICcwJyxcbiAgICAgICAgICAgIHRvcDogJzAnLFxuICAgICAgICAgICAgbGVmdDogJzAnXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmRyYWdnZWREYXRhID0gbnVsbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNhbGN1bGF0ZURyYWdXaWR0aChmaWVsZHM6IGFueVtdLCBjb29yZGluYXRlOiBhbnksIGRyYWc6IEFJVGFibGVEcmFnU3RhdGUpOiBudW1iZXIge1xuICAgICAgICBsZXQgd2lkdGggPSAwO1xuICAgICAgICBmaWVsZHMuZm9yRWFjaCgoZmllbGQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBpZiAoZHJhZy5zb3VyY2VJZHMuaGFzKGZpZWxkLl9pZCkpIHtcbiAgICAgICAgICAgICAgICB3aWR0aCArPSBjb29yZGluYXRlLmNvbHVtbkluZGljZXNTaXplTWFwW2luZGV4XSB8fCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHdpZHRoO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0RGlzcGxheVN0eWxlKGRpc3BsYXk6IHN0cmluZykge1xuICAgICAgICB0aGlzLnJlbmRlcjIuc2V0U3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdkaXNwbGF5JywgZGlzcGxheSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRDdXJzb3JTdHlsZShjdXJzb3I6IHN0cmluZykge1xuICAgICAgICB0aGlzLnJlbmRlcjIuc2V0U3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdjdXJzb3InLCBjdXJzb3IpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0UmVjdFN0eWxlcyhzdHlsZXM6IFJlY29yZDxzdHJpbmcsIGFueT4pIHtcbiAgICAgICAgT2JqZWN0LmVudHJpZXMoc3R5bGVzKS5mb3JFYWNoKChbcHJvcCwgdmFsdWVdKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcjIuc2V0U3R5bGUodGhpcy5yZWN0LCBwcm9wLCB2YWx1ZSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0QXV4aWxpYXJ5TGluZVN0eWxlcyhzdHlsZXM6IFJlY29yZDxzdHJpbmcsIGFueT4pIHtcbiAgICAgICAgT2JqZWN0LmVudHJpZXMoc3R5bGVzKS5mb3JFYWNoKChbcHJvcCwgdmFsdWVdKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcjIuc2V0U3R5bGUodGhpcy5hdXhpbGlhcnlMaW5lLCBwcm9wLCB2YWx1ZSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVzZXRBdXhpbGlhcnlMaW5lKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldEF1eGlsaWFyeUxpbmVTdHlsZXMoeyB3aWR0aDogMCwgaGVpZ2h0OiAwLCB0b3A6ICcwJywgbGVmdDogJzAnIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICBpZiAodGhpcy5tb3VzZWRvd25MaXN0ZW5lcikgdGhpcy5tb3VzZWRvd25MaXN0ZW5lcigpO1xuICAgICAgICBpZiAodGhpcy5tb3VzZW1vdmVMaXN0ZW5lcikgdGhpcy5tb3VzZW1vdmVMaXN0ZW5lcigpO1xuICAgICAgICBpZiAodGhpcy5tb3VzZXVwTGlzdGVuZXIpIHRoaXMubW91c2V1cExpc3RlbmVyKCk7XG5cbiAgICAgICAgaWYgKHRoaXMudGltZXIpIHtcbiAgICAgICAgICAgIGNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMudGltZXIpO1xuICAgICAgICAgICAgdGhpcy50aW1lciA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicmVjdFwiPjwvZGl2PlxuPGRpdiBjbGFzcz1cImF1eGlsaWFyeS1saW5lXCI+PC9kaXY+Il19
|
293
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9jb21wb25lbnRzL2RyYWcvZHJhZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9jb21wb25lbnRzL2RyYWcvZHJhZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFxQixNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JJLE9BQU8sRUFBaUMsUUFBUSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSw0QkFBNEIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQVcxSCxNQUFNLE9BQU8sb0JBQW9CO0lBNkI3QjtRQTVCQSxZQUFPLEdBQUcsTUFBTSxFQUFlLENBQUM7UUFFeEIsZ0NBQTJCLEdBQUcsTUFBTSxDQUFDLDJCQUEyQixDQUFDLENBQUM7UUFFbEUsWUFBTyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUVwQyxlQUFVLEdBQTRCLE1BQU0sQ0FBQyxDQUFBLFVBQXVCLENBQUEsQ0FBQyxDQUFDO1FBTTlELGdCQUFXLEdBQXVCLElBQUksQ0FBQztRQUV2Qyx1QkFBa0IsR0FBb0MsSUFBSSxDQUFDO1FBRTNELGdCQUFXLEdBQTRCLElBQUksQ0FBQztRQUk1QyxxQkFBZ0IsR0FBUSxJQUFJLENBQUM7UUFFN0Isc0JBQWlCLEdBQVksS0FBSyxDQUFDO1FBT3ZDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFTyxZQUFZO1FBQ2hCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBRSxDQUFDO1FBQ2xFLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFFLENBQUM7SUFDekYsQ0FBQztJQUVPLG1CQUFtQjtRQUN2QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQWEsRUFBRSxFQUFFO1lBQ2xGLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFFN0MsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztnQkFDeEIsWUFBWSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ3hDLENBQUM7WUFDRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO1lBQy9CLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNwQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1lBQ2xDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNaLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFhLEVBQUUsRUFBRTtZQUNsRixJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7Z0JBQzFCLE9BQU87WUFDWCxDQUFDO1lBQ0QsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ2Isb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3JDLENBQUM7WUFDRCxJQUFJLENBQUMsS0FBSyxHQUFHLHFCQUFxQixDQUFDLEdBQUcsRUFBRTtnQkFDcEMsSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO29CQUM5QyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQ3pDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRTtZQUNqRSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO2dCQUN4QixZQUFZLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7Z0JBQ3BDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7WUFDakMsQ0FBQztZQUVELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7WUFDL0IsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQztZQUMvQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztZQUN4QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8scUJBQXFCO1FBQ3pCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQztRQUVwRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDUixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztZQUN4QixPQUFPO1FBQ1gsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNuRSxPQUFPO1FBQ1gsQ0FBQztRQUVELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO0lBQzVCLENBQUM7SUFFTyxVQUFVLENBQUMsQ0FBYSxFQUFFLElBQXNCO1FBQ3BELElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDOUIsT0FBTztRQUNYLENBQUM7UUFDRCxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlCLE1BQU0sS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3RELE1BQU0sS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3RELFFBQVEsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2hCLEtBQUssUUFBUSxDQUFDLEtBQUs7Z0JBQ2YsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQy9CLE1BQU07WUFDVixLQUFLLFFBQVEsQ0FBQyxNQUFNO2dCQUNoQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDL0IsTUFBTTtZQUNWLEtBQUssUUFBUSxDQUFDLFdBQVc7Z0JBQ3JCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQ3BDLE1BQU07UUFDZCxDQUFDO0lBQ0wsQ0FBQztJQUVPLFlBQVksQ0FBQyxJQUFzQixFQUFFLEtBQWE7UUFDdEQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLDJCQUEyQixDQUFDLE9BQU8sQ0FBQztRQUN6RCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDN0MsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVcsQ0FBQztRQUNwQyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxDQUFDO1FBQ3pDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2hFLE1BQU0scUJBQXFCLEdBQUcsT0FBTyxDQUFDLE9BQVEsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQ3hFLE1BQU0saUJBQWlCLEdBQUcscUJBQXFCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hHLE1BQU0sa0JBQWtCLEdBQUcsVUFBVSxDQUFDLGVBQWUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3pFLE1BQU0saUJBQWlCLEdBQUcsVUFBVSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3ZFLGtDQUFrQztRQUNsQyxNQUFNLG9CQUFvQixHQUFHLGlCQUFpQixLQUFLLENBQUMsQ0FBQztRQUNyRCxNQUFNLGlCQUFpQixHQUFHLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkQsTUFBTSxRQUFRLEdBQUcsS0FBSyxHQUFHLGtCQUFrQixDQUFDO1FBQzVDLFFBQVE7UUFDUixNQUFNLFVBQVUsR0FBRyxpQkFBaUIsR0FBRyxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLGFBQWEsQ0FBQztZQUNmLE1BQU0sRUFBRSxNQUFNO1lBQ2QsS0FBSyxFQUFFLEdBQUcsS0FBSyxJQUFJO1lBQ25CLE1BQU0sRUFBRSxNQUFNO1lBQ2QsR0FBRyxFQUFFLEdBQUc7WUFDUixJQUFJLEVBQUUsR0FBRyxRQUFRLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUk7U0FDaEUsQ0FBQyxDQUFDO1FBRUgsTUFBTSxnQkFBZ0IsR0FBRyxVQUFVLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDaEYsTUFBTSxlQUFlLEdBQUcsVUFBVSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRTlFLElBQUksaUJBQWlCLEdBQUcsVUFBVSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQztRQUN0SCxJQUFJLGtCQUFrQixHQUFHLFVBQVUsQ0FBQyxlQUFlLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUN2RSxJQUFJLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDekIsU0FBUztRQUNULElBQUksUUFBUSxHQUFHLFVBQVUsR0FBRyxnQkFBZ0IsR0FBRyxlQUFlLEVBQUUsQ0FBQztZQUM3RCxpQkFBaUIsR0FBRyxVQUFVLENBQUMsV0FBVyxDQUFDO1lBQzNDLGtCQUFrQixHQUFHLGdCQUFnQixHQUFHLGVBQWUsQ0FBQztZQUN4RCxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLENBQUM7UUFDRCxJQUNJLENBQUMsaUJBQWlCLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsaUJBQWlCLEdBQUcsQ0FBQyxJQUFJLGlCQUFpQixHQUFHLGlCQUFpQixHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ3BILFlBQVksRUFDZCxDQUFDO1lBQ0MsSUFBSSxRQUFRLEdBQUcsa0JBQWtCLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUM3QyxNQUFNLGNBQWMsR0FBRyxRQUFRLEdBQUcsaUJBQWlCLEdBQUcsdUJBQXVCLENBQUM7WUFDOUUsSUFBSSxjQUFjLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3JCLFFBQVEsR0FBRyxVQUFVLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN6QyxpQkFBaUIsR0FBRyxDQUFDLENBQUM7WUFDMUIsQ0FBQztZQUNELElBQUksQ0FBQyxzQkFBc0IsQ0FBQztnQkFDeEIsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osTUFBTSxFQUFFLE1BQU07Z0JBQ2QsR0FBRyxFQUFFLENBQUM7Z0JBQ04sSUFBSSxFQUFFLEdBQUcsUUFBUSxJQUFJO2FBQ3hCLENBQUMsQ0FBQztZQUNILGlCQUFpQjtZQUNqQixJQUFJLGlCQUFpQixHQUFHLGlCQUFpQixFQUFFLENBQUM7Z0JBQ3hDLGlCQUFpQixJQUFJLENBQUMsQ0FBQztZQUMzQixDQUFDO1lBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRztnQkFDZixJQUFJLEVBQUUsUUFBUSxDQUFDLEtBQUs7Z0JBQ3BCLFdBQVcsRUFBRSxpQkFBaUI7Z0JBQzlCLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUztnQkFDeEIsV0FBVyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUMxRixDQUFDO1FBQ04sQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUM1QixDQUFDO0lBQ0wsQ0FBQztJQUVPLGlCQUFpQixDQUFDLElBQXNCLEVBQUUsS0FBYTtRQUMzRCxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxPQUFPLENBQUM7UUFDekQsTUFBTSxxQkFBcUIsR0FBRyxPQUFPLENBQUMsT0FBUSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDeEUsTUFBTSxpQkFBaUIsR0FBRyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEcsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsVUFBVyxDQUFDLGVBQWUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQy9FLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLFVBQVcsQ0FBQyxjQUFjLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM3RSxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDN0MsTUFBTSxRQUFRLEdBQUcsS0FBSyxHQUFHLGtCQUFrQixDQUFDO1FBQzVDLE1BQU0sVUFBVSxHQUFHLFFBQVEsR0FBRyxDQUFDLGlCQUFpQixLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkUsTUFBTSxJQUFJLEdBQUcsR0FBRyxVQUFVLEdBQUcsaUJBQWlCLElBQUksQ0FBQztRQUNuRCxJQUFJLENBQUMsc0JBQXNCLENBQUM7WUFDeEIsS0FBSyxFQUFFLEtBQUs7WUFDWixNQUFNLEVBQUUsTUFBTTtZQUNkLEdBQUcsRUFBRSxHQUFHO1lBQ1IsSUFBSTtTQUNQLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxXQUFXLEdBQUc7WUFDZixJQUFJLEVBQUUsUUFBUSxDQUFDLFdBQVc7WUFDMUIsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3hCLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLGdCQUFnQixFQUFFLGlCQUFpQixHQUFHLEtBQUssQ0FBQztTQUMvRCxDQUFDO0lBQ04sQ0FBQztJQUVPLFlBQVksQ0FBQyxJQUFzQixFQUFFLEtBQWE7UUFDdEQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLDJCQUEyQixDQUFDLE9BQU8sQ0FBQztRQUN6RCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDN0MsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVcsQ0FBQztRQUVwQyxNQUFNLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxPQUFRLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUNsRSxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLEtBQU0sQ0FBQztRQUMxRCxNQUFNLGNBQWMsR0FBRyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hFLE1BQU0sZUFBZSxHQUFHLFVBQVUsQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDaEUsTUFBTSxlQUFlLEdBQUcsVUFBVSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNoRSxNQUFNLFFBQVEsR0FBRyxlQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxhQUFhLENBQUM7WUFDZixLQUFLLEVBQUUsTUFBTTtZQUNiLE1BQU0sRUFBRSxHQUFHLGVBQWUsSUFBSTtZQUM5QixHQUFHLEVBQUUsR0FBRyxRQUFRLEdBQUcsTUFBTSxDQUFDLENBQUMsSUFBSTtZQUMvQixJQUFJLEVBQUUsR0FBRztTQUNaLENBQUMsQ0FBQztRQUNILE1BQU0sVUFBVSxHQUFHLGVBQWUsR0FBRyxDQUFDLENBQUM7UUFDdkMsTUFBTSxjQUFjLEdBQUcsVUFBVSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUMsQ0FBQztRQUMxRSxNQUFNLGVBQWUsR0FBRyxVQUFVLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ2hFLE1BQU0sT0FBTyxHQUFHLGVBQWUsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQzNDLE1BQU0sVUFBVSxHQUFHLENBQUMsQ0FBQztRQUNyQixJQUNJLENBQUMsQ0FBQyxjQUFjLElBQUksQ0FBQyxJQUFJLGNBQWMsR0FBRyxjQUFjLElBQUksY0FBYyxHQUFHLGNBQWMsR0FBRyxDQUFDLENBQUM7WUFDNUYsQ0FBQyxjQUFjLEdBQUcsY0FBYyxJQUFJLGNBQWMsR0FBRyxjQUFjLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDN0UsT0FBTyxHQUFHLDBCQUEwQixHQUFHLFVBQVUsSUFBSSxVQUFVO1lBQy9ELE9BQU8sR0FBRyxVQUFVLENBQUMsZUFBZSxHQUFHLFVBQVUsRUFDbkQsQ0FBQztZQUNDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztnQkFDeEIsS0FBSyxFQUFFLGVBQWUsNEJBQTRCLEtBQUs7Z0JBQ3ZELE1BQU0sRUFBRSxHQUFHLFVBQVUsSUFBSTtnQkFDekIsR0FBRyxFQUFFLEdBQUcsT0FBTyxJQUFJO2dCQUNuQixJQUFJLEVBQUUsR0FBRyw0QkFBNEIsSUFBSTthQUM1QyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsV0FBVyxHQUFHO2dCQUNmLElBQUksRUFBRSxRQUFRLENBQUMsTUFBTTtnQkFDckIsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO2dCQUN6QixXQUFXLEVBQUUsY0FBYzthQUM5QixDQUFDO1FBQ04sQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUM1QixDQUFDO0lBQ0wsQ0FBQztJQUVPLGFBQWE7UUFDakIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQy9DLENBQUM7UUFDRCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVPLGNBQWM7UUFDbEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsYUFBYSxDQUFDO1lBQ2YsS0FBSyxFQUFFLEdBQUc7WUFDVixNQUFNLEVBQUUsR0FBRztZQUNYLEdBQUcsRUFBRSxHQUFHO1lBQ1IsSUFBSSxFQUFFLEdBQUc7U0FDWixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsc0JBQXNCLENBQUM7WUFDeEIsS0FBSyxFQUFFLEdBQUc7WUFDVixNQUFNLEVBQUUsR0FBRztZQUNYLEdBQUcsRUFBRSxHQUFHO1lBQ1IsSUFBSSxFQUFFLEdBQUc7U0FDWixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztJQUM1QixDQUFDO0lBRU8sa0JBQWtCLENBQUMsTUFBYSxFQUFFLFVBQWUsRUFBRSxJQUFzQjtRQUM3RSxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDZCxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQzVCLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ2hDLEtBQUssSUFBSSxVQUFVLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3pELENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFTyxlQUFlLENBQUMsT0FBZTtRQUNuQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVPLGNBQWMsQ0FBQyxNQUFjO1FBQ2pDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRU8sYUFBYSxDQUFDLE1BQTJCO1FBQzdDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtZQUM3QyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNsRCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxzQkFBc0IsQ0FBQyxNQUEyQjtRQUN0RCxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7WUFDN0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDM0QsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sa0JBQWtCO1FBQ3RCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxJQUFJLENBQUMsaUJBQWlCO1lBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDckQsSUFBSSxJQUFJLENBQUMsaUJBQWlCO1lBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDckQsSUFBSSxJQUFJLENBQUMsZUFBZTtZQUFFLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUVqRCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNiLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNqQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUN0QixDQUFDO0lBQ0wsQ0FBQzsrR0FsVVEsb0JBQW9CO21HQUFwQixvQkFBb0IsK0pDZmpDLGtFQUNrQzs7NEZEY3JCLG9CQUFvQjtrQkFUaEMsU0FBUzsrQkFDSSxlQUFlLGNBRWIsSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNGLEtBQUssRUFBRSx5QkFBeUI7cUJBQ25DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgZWZmZWN0LCBFbGVtZW50UmVmLCBpbmplY3QsIE9uRGVzdHJveSwgT25Jbml0LCBvdXRwdXQsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQUlUYWJsZURyYWdTdGF0ZSwgRHJhZ0VuZERhdGEsIERyYWdUeXBlIH0gZnJvbSAnLi4vLi4vY29yZSc7XG5pbXBvcnQgeyBBSVRhYmxlR3JpZFNlbGVjdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zZWxlY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBNSU5fQ09MVU1OX1dJRFRIIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2dyaWQnO1xuaW1wb3J0IHsgQUlfVEFCTEVfRklFTERfSEVBRF9IRUlHSFQsIEFJX1RBQkxFX1JPV19EUkFHX0lDT05fV0lEVEgsIEFJX1RBQkxFX1JPV19IRUFEX1dJRFRIIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL3RhYmxlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhaS10YWJsZS1kcmFnJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZHJhZy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnYWktdGFibGUtZHJhZy1jb250YWluZXInXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBBSVRhYmxlRHJhZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBkcmFnRW5kID0gb3V0cHV0PERyYWdFbmREYXRhPigpO1xuXG4gICAgcHJpdmF0ZSBhaVRhYmxlR3JpZFNlbGVjdGlvblNlcnZpY2UgPSBpbmplY3QoQUlUYWJsZUdyaWRTZWxlY3Rpb25TZXJ2aWNlKTtcblxuICAgIHByaXZhdGUgcmVuZGVyMiA9IGluamVjdChSZW5kZXJlcjIpO1xuXG4gICAgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4gPSBpbmplY3QoRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pO1xuXG4gICAgcHJpdmF0ZSByZWN0ITogSFRNTEVsZW1lbnQ7XG5cbiAgICBwcml2YXRlIGF1eGlsaWFyeUxpbmUhOiBIVE1MRWxlbWVudDtcblxuICAgIHByaXZhdGUgZHJhZ2dlZERhdGE6IERyYWdFbmREYXRhIHwgbnVsbCA9IG51bGw7XG5cbiAgICBwcml2YXRlIG1vdXNlU3RhcnRQb3NpdGlvbjogeyB4OiBudW1iZXI7IHk6IG51bWJlciB9IHwgbnVsbCA9IG51bGw7XG5cbiAgICBwcml2YXRlIGFpVGFibGVEcmFnOiBBSVRhYmxlRHJhZ1N0YXRlIHwgbnVsbCA9IG51bGw7XG5cbiAgICBwcml2YXRlIHRpbWVyITogbnVtYmVyIHwgbnVsbDtcblxuICAgIHByaXZhdGUgbW91c2VEb3duVGltZW91dDogYW55ID0gbnVsbDtcblxuICAgIHByaXZhdGUgaXNEcmFnZ2luZ0VuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIHByaXZhdGUgbW91c2Vkb3duTGlzdGVuZXI/OiAoKSA9PiB2b2lkO1xuICAgIHByaXZhdGUgbW91c2Vtb3ZlTGlzdGVuZXI/OiAoKSA9PiB2b2lkO1xuICAgIHByaXZhdGUgbW91c2V1cExpc3RlbmVyPzogKCkgPT4gdm9pZDtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBlZmZlY3QoKCkgPT4gdGhpcy5oYW5kbGVEcmFnU3RhdGVDaGFuZ2UoKSk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuaW5pdEVsZW1lbnRzKCk7XG4gICAgICAgIHRoaXMuc2V0dXBFdmVudExpc3RlbmVycygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdEVsZW1lbnRzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlY3QgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcucmVjdCcpITtcbiAgICAgICAgdGhpcy5hdXhpbGlhcnlMaW5lID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLmF1eGlsaWFyeS1saW5lJykhO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0dXBFdmVudExpc3RlbmVycygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tb3VzZWRvd25MaXN0ZW5lciA9IHRoaXMucmVuZGVyMi5saXN0ZW4oJ3dpbmRvdycsICdtb3VzZWRvd24nLCAoZTogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5tb3VzZVN0YXJ0UG9zaXRpb24gPSB7IHg6IGUueCwgeTogZS55IH07XG5cbiAgICAgICAgICAgIGlmICh0aGlzLm1vdXNlRG93blRpbWVvdXQpIHtcbiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5tb3VzZURvd25UaW1lb3V0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuaXNEcmFnZ2luZ0VuYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMubW91c2VEb3duVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNEcmFnZ2luZ0VuYWJsZWQgPSB0cnVlO1xuICAgICAgICAgICAgfSwgMjAwKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5tb3VzZW1vdmVMaXN0ZW5lciA9IHRoaXMucmVuZGVyMi5saXN0ZW4oJ3dpbmRvdycsICdtb3VzZW1vdmUnLCAoZTogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmlzRHJhZ2dpbmdFbmFibGVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMudGltZXIpIHtcbiAgICAgICAgICAgICAgICBjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLnRpbWVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMudGltZXIgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmFpVGFibGVEcmFnICYmIHRoaXMubW91c2VTdGFydFBvc2l0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlRHJhZyhlLCB0aGlzLmFpVGFibGVEcmFnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5tb3VzZXVwTGlzdGVuZXIgPSB0aGlzLnJlbmRlcjIubGlzdGVuKCd3aW5kb3cnLCAnbW91c2V1cCcsICgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLm1vdXNlRG93blRpbWVvdXQpIHtcbiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5tb3VzZURvd25UaW1lb3V0KTtcbiAgICAgICAgICAgICAgICB0aGlzLm1vdXNlRG93blRpbWVvdXQgPSBudWxsO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmlzRHJhZ2dpbmdFbmFibGVkID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLm1vdXNlU3RhcnRQb3NpdGlvbiA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLmFpVGFibGVEcmFnID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlRHJhZ0VuZCgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZURyYWdTdGF0ZUNoYW5nZSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZHJhZyA9IHRoaXMuYWlUYWJsZUdyaWRTZWxlY3Rpb25TZXJ2aWNlLmFpVGFibGUuZHJhZ1N0YXRlPy4oKTtcblxuICAgICAgICBpZiAoIWRyYWcpIHtcbiAgICAgICAgICAgIHRoaXMuYWlUYWJsZURyYWcgPSBudWxsO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGRyYWcudHlwZSA9PT0gRHJhZ1R5cGUubm9uZSB8fCAhdGhpcy5yZWN0IHx8ICF0aGlzLmF1eGlsaWFyeUxpbmUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYWlUYWJsZURyYWcgPSBkcmFnO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlRHJhZyhlOiBNb3VzZUV2ZW50LCBkcmFnOiBBSVRhYmxlRHJhZ1N0YXRlKSB7XG4gICAgICAgIGlmIChkcmFnLnR5cGUgPT09IERyYWdUeXBlLm5vbmUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNldERpc3BsYXlTdHlsZSgnYmxvY2snKTtcbiAgICAgICAgY29uc3QgbW92ZVggPSBlLnggLSAodGhpcy5tb3VzZVN0YXJ0UG9zaXRpb24/LnggfHwgMCk7XG4gICAgICAgIGNvbnN0IG1vdmVZID0gZS55IC0gKHRoaXMubW91c2VTdGFydFBvc2l0aW9uPy55IHx8IDApO1xuICAgICAgICBzd2l0Y2ggKGRyYWcudHlwZSkge1xuICAgICAgICAgICAgY2FzZSBEcmFnVHlwZS5maWVsZDpcbiAgICAgICAgICAgICAgICB0aGlzLm1vdmluZ0NvbHVtbihkcmFnLCBtb3ZlWCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIERyYWdUeXBlLnJlY29yZDpcbiAgICAgICAgICAgICAgICB0aGlzLm1vdmluZ1JlY29yZChkcmFnLCBtb3ZlWSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIERyYWdUeXBlLmNvbHVtbldpZHRoOlxuICAgICAgICAgICAgICAgIHRoaXMubW92aW5nQ29sdW1uV2lkdGgoZHJhZywgbW92ZVgpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBtb3ZpbmdDb2x1bW4oZHJhZzogQUlUYWJsZURyYWdTdGF0ZSwgbW92ZVg6IG51bWJlcikge1xuICAgICAgICBjb25zdCBhaVRhYmxlID0gdGhpcy5haVRhYmxlR3JpZFNlbGVjdGlvblNlcnZpY2UuYWlUYWJsZTtcbiAgICAgICAgY29uc3Qgc2Nyb2xsID0gZHJhZy5zY3JvbGwgfHwgeyB4OiAwLCB5OiAwIH07XG4gICAgICAgIGNvbnN0IGNvb3JkaW5hdGUgPSBkcmFnLmNvb3JkaW5hdGUhO1xuICAgICAgICBjb25zdCBmaWVsZHMgPSBhaVRhYmxlLmdyaWREYXRhKCkuZmllbGRzO1xuICAgICAgICBjb25zdCB3aWR0aCA9IHRoaXMuY2FsY3VsYXRlRHJhZ1dpZHRoKGZpZWxkcywgY29vcmRpbmF0ZSwgZHJhZyk7XG4gICAgICAgIGNvbnN0IHZpc2libGVDb2x1bW5JbmRleE1hcCA9IGFpVGFibGUuY29udGV4dCEudmlzaWJsZUNvbHVtbnNJbmRleE1hcCgpO1xuICAgICAgICBjb25zdCBzb3VyY2VDb2x1bW5JbmRleCA9IHZpc2libGVDb2x1bW5JbmRleE1hcC5nZXQoZHJhZy5zb3VyY2VJZHMudmFsdWVzKCkubmV4dCgpLnZhbHVlISkgfHwgMDtcbiAgICAgICAgY29uc3Qgc291cmNlQ29sdW1uU3RhcnRYID0gY29vcmRpbmF0ZS5nZXRDb2x1bW5PZmZzZXQoc291cmNlQ29sdW1uSW5kZXgpO1xuICAgICAgICBjb25zdCBzb3VyY2VDb2x1bW5XaWR0aCA9IGNvb3JkaW5hdGUuZ2V0Q29sdW1uV2lkdGgoc291cmNlQ29sdW1uSW5kZXgpO1xuICAgICAgICAvLyBUT0RPOiDnm67liY3pu5jorqTnrKzkuIDliJfkuLrlhrvnu5PliJfvvIzlkI7mnJ/mlK/mjIHorr7nva7lhrvnu5PliJfpnIDopoHlpITnkIZcbiAgICAgICAgY29uc3QgaXNTb3VyY2VDb2x1bW5Gcm96ZW4gPSBzb3VyY2VDb2x1bW5JbmRleCA9PT0gMDtcbiAgICAgICAgY29uc3QgZnJvemVuQ29sdW1uV2lkdGggPSBjb29yZGluYXRlLmdldENvbHVtbldpZHRoKDApO1xuICAgICAgICBjb25zdCBwb2ludGVyWCA9IG1vdmVYICsgc291cmNlQ29sdW1uU3RhcnRYO1xuICAgICAgICAvLyDmi5bmi73kuK3lv4PngrlcbiAgICAgICAgY29uc3QgZHJhZ0NlbnRlciA9IHNvdXJjZUNvbHVtbldpZHRoIC8gMjtcbiAgICAgICAgdGhpcy5zZXRSZWN0U3R5bGVzKHtcbiAgICAgICAgICAgIGN1cnNvcjogJ21vdmUnLFxuICAgICAgICAgICAgd2lkdGg6IGAke3dpZHRofXB4YCxcbiAgICAgICAgICAgIGhlaWdodDogJzEwMCUnLFxuICAgICAgICAgICAgdG9wOiAnMCcsXG4gICAgICAgICAgICBsZWZ0OiBgJHtwb2ludGVyWCAtIChpc1NvdXJjZUNvbHVtbkZyb3plbiA/IDAgOiBzY3JvbGwueCl9cHhgXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGxhc3RDb2x1bW5PZmZzZXQgPSBjb29yZGluYXRlLmdldENvbHVtbk9mZnNldChjb29yZGluYXRlLmNvbHVtbkNvdW50IC0gMSk7XG4gICAgICAgIGNvbnN0IGxhc3RDb2x1bW5XaWR0aCA9IGNvb3JkaW5hdGUuZ2V0Q29sdW1uV2lkdGgoY29vcmRpbmF0ZS5jb2x1bW5Db3VudCAtIDEpO1xuXG4gICAgICAgIGxldCB0YXJnZXRDb2x1bW5JbmRleCA9IGNvb3JkaW5hdGUuZ2V0Q29sdW1uU3RhcnRJbmRleChwb2ludGVyWCArIChpc1NvdXJjZUNvbHVtbkZyb3plbiA/IHNjcm9sbC54IDogMCkgKyBkcmFnQ2VudGVyKTtcbiAgICAgICAgbGV0IHRhcmdldENvbHVtblN0YXJ0WCA9IGNvb3JkaW5hdGUuZ2V0Q29sdW1uT2Zmc2V0KHRhcmdldENvbHVtbkluZGV4KTtcbiAgICAgICAgbGV0IGlzTGFzdENvbHVtbiA9IGZhbHNlO1xuICAgICAgICAvLyDlpITnkIbmnIDlkI7kuIDliJdcbiAgICAgICAgaWYgKHBvaW50ZXJYICsgZHJhZ0NlbnRlciA+IGxhc3RDb2x1bW5PZmZzZXQgKyBsYXN0Q29sdW1uV2lkdGgpIHtcbiAgICAgICAgICAgIHRhcmdldENvbHVtbkluZGV4ID0gY29vcmRpbmF0ZS5jb2x1bW5Db3VudDtcbiAgICAgICAgICAgIHRhcmdldENvbHVtblN0YXJ0WCA9IGxhc3RDb2x1bW5PZmZzZXQgKyBsYXN0Q29sdW1uV2lkdGg7XG4gICAgICAgICAgICBpc0xhc3RDb2x1bW4gPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICh0YXJnZXRDb2x1bW5JbmRleCA+PSAwICYmICh0YXJnZXRDb2x1bW5JbmRleCAtIHNvdXJjZUNvbHVtbkluZGV4ID4gMSB8fCB0YXJnZXRDb2x1bW5JbmRleCAtIHNvdXJjZUNvbHVtbkluZGV4IDwgMCkpIHx8XG4gICAgICAgICAgICBpc0xhc3RDb2x1bW5cbiAgICAgICAgKSB7XG4gICAgICAgICAgICBsZXQgbGluZUxlZnQgPSB0YXJnZXRDb2x1bW5TdGFydFggLSBzY3JvbGwueDtcbiAgICAgICAgICAgIGNvbnN0IGxpbmVGb3JGcm96ZW5YID0gbGluZUxlZnQgLSBmcm96ZW5Db2x1bW5XaWR0aCAtIEFJX1RBQkxFX1JPV19IRUFEX1dJRFRIO1xuICAgICAgICAgICAgaWYgKGxpbmVGb3JGcm96ZW5YIDwgMCkge1xuICAgICAgICAgICAgICAgIGxpbmVMZWZ0ID0gY29vcmRpbmF0ZS5nZXRDb2x1bW5PZmZzZXQoMCk7XG4gICAgICAgICAgICAgICAgdGFyZ2V0Q29sdW1uSW5kZXggPSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5zZXRBdXhpbGlhcnlMaW5lU3R5bGVzKHtcbiAgICAgICAgICAgICAgICB3aWR0aDogJzJweCcsXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICAgICAgICAgICAgdG9wOiAwLFxuICAgICAgICAgICAgICAgIGxlZnQ6IGAke2xpbmVMZWZ0fXB4YFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAvLyDlkJHlj7Pnp7vliqjnm67moIflnKjnm67moIfliJfnmoTliY3kuIDliJdcbiAgICAgICAgICAgIGlmICh0YXJnZXRDb2x1bW5JbmRleCA+IHNvdXJjZUNvbHVtbkluZGV4KSB7XG4gICAgICAgICAgICAgICAgdGFyZ2V0Q29sdW1uSW5kZXggLT0gMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuZHJhZ2dlZERhdGEgPSB7XG4gICAgICAgICAgICAgICAgdHlwZTogRHJhZ1R5cGUuZmllbGQsXG4gICAgICAgICAgICAgICAgdGFyZ2V0SW5kZXg6IHRhcmdldENvbHVtbkluZGV4LFxuICAgICAgICAgICAgICAgIGZpZWxkSWRzOiBkcmFnLnNvdXJjZUlkcyxcbiAgICAgICAgICAgICAgICBmaWVsZHNJbmRleDogQXJyYXkuZnJvbShkcmFnLnNvdXJjZUlkcykubWFwKChpZCkgPT4gdmlzaWJsZUNvbHVtbkluZGV4TWFwLmdldChpZCkgfHwgMClcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnJlc2V0QXV4aWxpYXJ5TGluZSgpO1xuICAgICAgICAgICAgdGhpcy5kcmFnZ2VkRGF0YSA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIG1vdmluZ0NvbHVtbldpZHRoKGRyYWc6IEFJVGFibGVEcmFnU3RhdGUsIG1vdmVYOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5zZXRDdXJzb3JTdHlsZSgnY29sLXJlc2l6ZScpO1xuICAgICAgICBjb25zdCBhaVRhYmxlID0gdGhpcy5haVRhYmxlR3JpZFNlbGVjdGlvblNlcnZpY2UuYWlUYWJsZTtcbiAgICAgICAgY29uc3QgdmlzaWJsZUNvbHVtbkluZGV4TWFwID0gYWlUYWJsZS5jb250ZXh0IS52aXNpYmxlQ29sdW1uc0luZGV4TWFwKCk7XG4gICAgICAgIGNvbnN0IHNvdXJjZUNvbHVtbkluZGV4ID0gdmlzaWJsZUNvbHVtbkluZGV4TWFwLmdldChkcmFnLnNvdXJjZUlkcy52YWx1ZXMoKS5uZXh0KCkudmFsdWUhKSB8fCAwO1xuICAgICAgICBjb25zdCBzb3VyY2VDb2x1bW5TdGFydFggPSBkcmFnLmNvb3JkaW5hdGUhLmdldENvbHVtbk9mZnNldChzb3VyY2VDb2x1bW5JbmRleCk7XG4gICAgICAgIGNvbnN0IHNvdXJjZUNvbHVtbldpZHRoID0gZHJhZy5jb29yZGluYXRlIS5nZXRDb2x1bW5XaWR0aChzb3VyY2VDb2x1bW5JbmRleCk7XG4gICAgICAgIGNvbnN0IHNjcm9sbCA9IGRyYWcuc2Nyb2xsIHx8IHsgeDogMCwgeTogMCB9O1xuICAgICAgICBjb25zdCBwb2ludGVyWCA9IG1vdmVYICsgc291cmNlQ29sdW1uU3RhcnRYO1xuICAgICAgICBjb25zdCBjb2xSZXNpemVYID0gcG9pbnRlclggLSAoc291cmNlQ29sdW1uSW5kZXggPT09IDAgPyAwIDogc2Nyb2xsLngpO1xuICAgICAgICBjb25zdCBsZWZ0ID0gYCR7Y29sUmVzaXplWCArIHNvdXJjZUNvbHVtbldpZHRofXB4YDtcbiAgICAgICAgdGhpcy5zZXRBdXhpbGlhcnlMaW5lU3R5bGVzKHtcbiAgICAgICAgICAgIHdpZHRoOiAnMnB4JyxcbiAgICAgICAgICAgIGhlaWdodDogJzEwMCUnLFxuICAgICAgICAgICAgdG9wOiAnMCcsXG4gICAgICAgICAgICBsZWZ0XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmRyYWdnZWREYXRhID0ge1xuICAgICAgICAgICAgdHlwZTogRHJhZ1R5cGUuY29sdW1uV2lkdGgsXG4gICAgICAgICAgICBmaWVsZElkczogZHJhZy5zb3VyY2VJZHMsXG4gICAgICAgICAgICB3aWR0aDogTWF0aC5tYXgoTUlOX0NPTFVNTl9XSURUSCwgc291cmNlQ29sdW1uV2lkdGggKyBtb3ZlWClcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG1vdmluZ1JlY29yZChkcmFnOiBBSVRhYmxlRHJhZ1N0YXRlLCBtb3ZlWTogbnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IGFpVGFibGUgPSB0aGlzLmFpVGFibGVHcmlkU2VsZWN0aW9uU2VydmljZS5haVRhYmxlO1xuICAgICAgICBjb25zdCBzY3JvbGwgPSBkcmFnLnNjcm9sbCB8fCB7IHg6IDAsIHk6IDAgfTtcbiAgICAgICAgY29uc3QgY29vcmRpbmF0ZSA9IGRyYWcuY29vcmRpbmF0ZSE7XG5cbiAgICAgICAgY29uc3QgdmlzaWJsZVJvd0luZGV4TWFwID0gYWlUYWJsZS5jb250ZXh0IS52aXNpYmxlUm93c0luZGV4TWFwKCk7XG4gICAgICAgIGNvbnN0IHNvdXJjZVJvd0lkID0gZHJhZy5zb3VyY2VJZHMudmFsdWVzKCkubmV4dCgpLnZhbHVlITtcbiAgICAgICAgY29uc3Qgc291cmNlUm93SW5kZXggPSB2aXNpYmxlUm93SW5kZXhNYXAuZ2V0KHNvdXJjZVJvd0lkKSB8fCAwO1xuICAgICAgICBjb25zdCBzb3VyY2VSb3dTdGFydFkgPSBjb29yZGluYXRlLmdldFJvd09mZnNldChzb3VyY2VSb3dJbmRleCk7XG4gICAgICAgIGNvbnN0IHNvdXJjZVJvd0hlaWdodCA9IGNvb3JkaW5hdGUuZ2V0Um93SGVpZ2h0KHNvdXJjZVJvd0luZGV4KTtcbiAgICAgICAgY29uc3QgcG9pbnRlclkgPSBzb3VyY2VSb3dTdGFydFkgKyBtb3ZlWTtcbiAgICAgICAgdGhpcy5zZXRSZWN0U3R5bGVzKHtcbiAgICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgICAgICBoZWlnaHQ6IGAke3NvdXJjZVJvd0hlaWdodH1weGAsXG4gICAgICAgICAgICB0b3A6IGAke3BvaW50ZXJZIC0gc2Nyb2xsLnl9cHhgLFxuICAgICAgICAgICAgbGVmdDogJzAnXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBkcmFnQ2VudGVyID0gc291cmNlUm93SGVpZ2h0IC8gMjtcbiAgICAgICAgY29uc3QgdGFyZ2V0Um93SW5kZXggPSBjb29yZGluYXRlLmdldFJvd1N0YXJ0SW5kZXgocG9pbnRlclkgKyBkcmFnQ2VudGVyKTtcbiAgICAgICAgY29uc3QgdGFyZ2V0Um93U3RhcnRZID0gY29vcmRpbmF0ZS5nZXRSb3dPZmZzZXQodGFyZ2V0Um93SW5kZXgpO1xuICAgICAgICBjb25zdCBsaW5lVG9wID0gdGFyZ2V0Um93U3RhcnRZIC0gc2Nyb2xsLnk7XG4gICAgICAgIGNvbnN0IGxpbmVIZWlnaHQgPSAyO1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICAoKHRhcmdldFJvd0luZGV4ID49IDAgJiYgc291cmNlUm93SW5kZXggPiB0YXJnZXRSb3dJbmRleCAmJiBzb3VyY2VSb3dJbmRleCAtIHRhcmdldFJvd0luZGV4ID4gMCkgfHxcbiAgICAgICAgICAgICAgICAoc291cmNlUm93SW5kZXggPCB0YXJnZXRSb3dJbmRleCAmJiB0YXJnZXRSb3dJbmRleCAtIHNvdXJjZVJvd0luZGV4ID4gMSkpICYmXG4gICAgICAgICAgICBsaW5lVG9wID4gQUlfVEFCTEVfRklFTERfSEVBRF9IRUlHSFQgLSBsaW5lSGVpZ2h0ICYmIC8vIOmZkOWItuWPr+inhuiMg+WbtOWGhVxuICAgICAgICAgICAgbGluZVRvcCA8IGNvb3JkaW5hdGUuY29udGFpbmVySGVpZ2h0IC0gbGluZUhlaWdodFxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMuc2V0QXV4aWxpYXJ5TGluZVN0eWxlcyh7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGBjYWxjKDEwMCUgLSAke0FJX1RBQkxFX1JPV19EUkFHX0lDT05fV0lEVEh9cHgpYCxcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGAke2xpbmVIZWlnaHR9cHhgLFxuICAgICAgICAgICAgICAgIHRvcDogYCR7bGluZVRvcH1weGAsXG4gICAgICAgICAgICAgICAgbGVmdDogYCR7QUlfVEFCTEVfUk9XX0RSQUdfSUNPTl9XSURUSH1weGBcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5kcmFnZ2VkRGF0YSA9IHtcbiAgICAgICAgICAgICAgICB0eXBlOiBEcmFnVHlwZS5yZWNvcmQsXG4gICAgICAgICAgICAgICAgcmVjb3JkSWRzOiBkcmFnLnNvdXJjZUlkcyxcbiAgICAgICAgICAgICAgICB0YXJnZXRJbmRleDogdGFyZ2V0Um93SW5kZXhcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnJlc2V0QXV4aWxpYXJ5TGluZSgpO1xuICAgICAgICAgICAgdGhpcy5kcmFnZ2VkRGF0YSA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZURyYWdFbmQoKSB7XG4gICAgICAgIGlmICh0aGlzLmRyYWdnZWREYXRhKSB7XG4gICAgICAgICAgICB0aGlzLmRyYWdFbmQuZW1pdCh7IC4uLnRoaXMuZHJhZ2dlZERhdGEgfSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jbGVhckRyYWdTdGF0ZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2xlYXJEcmFnU3RhdGUoKSB7XG4gICAgICAgIHRoaXMuc2V0RGlzcGxheVN0eWxlKCdub25lJyk7XG4gICAgICAgIHRoaXMuc2V0UmVjdFN0eWxlcyh7XG4gICAgICAgICAgICB3aWR0aDogJzAnLFxuICAgICAgICAgICAgaGVpZ2h0OiAnMCcsXG4gICAgICAgICAgICB0b3A6ICcwJyxcbiAgICAgICAgICAgIGxlZnQ6ICcwJ1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5zZXRBdXhpbGlhcnlMaW5lU3R5bGVzKHtcbiAgICAgICAgICAgIHdpZHRoOiAnMCcsXG4gICAgICAgICAgICBoZWlnaHQ6ICcwJyxcbiAgICAgICAgICAgIHRvcDogJzAnLFxuICAgICAgICAgICAgbGVmdDogJzAnXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmRyYWdnZWREYXRhID0gbnVsbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNhbGN1bGF0ZURyYWdXaWR0aChmaWVsZHM6IGFueVtdLCBjb29yZGluYXRlOiBhbnksIGRyYWc6IEFJVGFibGVEcmFnU3RhdGUpOiBudW1iZXIge1xuICAgICAgICBsZXQgd2lkdGggPSAwO1xuICAgICAgICBmaWVsZHMuZm9yRWFjaCgoZmllbGQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBpZiAoZHJhZy5zb3VyY2VJZHMuaGFzKGZpZWxkLl9pZCkpIHtcbiAgICAgICAgICAgICAgICB3aWR0aCArPSBjb29yZGluYXRlLmNvbHVtbkluZGljZXNTaXplTWFwW2luZGV4XSB8fCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHdpZHRoO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0RGlzcGxheVN0eWxlKGRpc3BsYXk6IHN0cmluZykge1xuICAgICAgICB0aGlzLnJlbmRlcjIuc2V0U3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdkaXNwbGF5JywgZGlzcGxheSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRDdXJzb3JTdHlsZShjdXJzb3I6IHN0cmluZykge1xuICAgICAgICB0aGlzLnJlbmRlcjIuc2V0U3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdjdXJzb3InLCBjdXJzb3IpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0UmVjdFN0eWxlcyhzdHlsZXM6IFJlY29yZDxzdHJpbmcsIGFueT4pIHtcbiAgICAgICAgT2JqZWN0LmVudHJpZXMoc3R5bGVzKS5mb3JFYWNoKChbcHJvcCwgdmFsdWVdKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcjIuc2V0U3R5bGUodGhpcy5yZWN0LCBwcm9wLCB2YWx1ZSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0QXV4aWxpYXJ5TGluZVN0eWxlcyhzdHlsZXM6IFJlY29yZDxzdHJpbmcsIGFueT4pIHtcbiAgICAgICAgT2JqZWN0LmVudHJpZXMoc3R5bGVzKS5mb3JFYWNoKChbcHJvcCwgdmFsdWVdKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcjIuc2V0U3R5bGUodGhpcy5hdXhpbGlhcnlMaW5lLCBwcm9wLCB2YWx1ZSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVzZXRBdXhpbGlhcnlMaW5lKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldEF1eGlsaWFyeUxpbmVTdHlsZXMoeyB3aWR0aDogMCwgaGVpZ2h0OiAwLCB0b3A6ICcwJywgbGVmdDogJzAnIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICBpZiAodGhpcy5tb3VzZWRvd25MaXN0ZW5lcikgdGhpcy5tb3VzZWRvd25MaXN0ZW5lcigpO1xuICAgICAgICBpZiAodGhpcy5tb3VzZW1vdmVMaXN0ZW5lcikgdGhpcy5tb3VzZW1vdmVMaXN0ZW5lcigpO1xuICAgICAgICBpZiAodGhpcy5tb3VzZXVwTGlzdGVuZXIpIHRoaXMubW91c2V1cExpc3RlbmVyKCk7XG5cbiAgICAgICAgaWYgKHRoaXMudGltZXIpIHtcbiAgICAgICAgICAgIGNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMudGltZXIpO1xuICAgICAgICAgICAgdGhpcy50aW1lciA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicmVjdFwiPjwvZGl2PlxuPGRpdiBjbGFzcz1cImF1eGlsaWFyeS1saW5lXCI+PC9kaXY+Il19
|
@@ -9736,12 +9736,12 @@ class AITableDragComponent {
|
|
9736
9736
|
}
|
9737
9737
|
}
|
9738
9738
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AITableDragComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
9739
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AITableDragComponent, isStandalone: true, selector: "ai-table-drag", outputs: { dragEnd: "dragEnd" }, host: { classAttribute: "drag-container" }, ngImport: i0, template: "<div class=\"rect\"></div>\n<div class=\"auxiliary-line\"></div>", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
9739
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AITableDragComponent, isStandalone: true, selector: "ai-table-drag", outputs: { dragEnd: "dragEnd" }, host: { classAttribute: "ai-table-drag-container" }, ngImport: i0, template: "<div class=\"rect\"></div>\n<div class=\"auxiliary-line\"></div>", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
9740
9740
|
}
|
9741
9741
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AITableDragComponent, decorators: [{
|
9742
9742
|
type: Component,
|
9743
9743
|
args: [{ selector: 'ai-table-drag', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
9744
|
-
class: 'drag-container'
|
9744
|
+
class: 'ai-table-drag-container'
|
9745
9745
|
}, template: "<div class=\"rect\"></div>\n<div class=\"auxiliary-line\"></div>" }]
|
9746
9746
|
}], ctorParameters: () => [] });
|
9747
9747
|
|