@ts-core/angular 15.0.16 → 15.0.18
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/asset/language/en.json +9 -0
- package/asset/language/ru.json +9 -0
- package/esm2020/VIModule.mjs +4 -4
- package/esm2020/application/ApplicationBaseComponent.mjs +3 -3
- package/esm2020/asset/AssetBackgroundDirective.mjs +3 -3
- package/esm2020/asset/AssetBackgroundPipe.mjs +3 -3
- package/esm2020/asset/AssetFilePipe.mjs +3 -3
- package/esm2020/asset/AssetIconPipe.mjs +3 -3
- package/esm2020/asset/AssetImagePipe.mjs +3 -3
- package/esm2020/asset/AssetModule.mjs +4 -4
- package/esm2020/asset/AssetSoundPipe.mjs +3 -3
- package/esm2020/asset/AssetVideoPipe.mjs +3 -3
- package/esm2020/cookie/CookieModule.mjs +4 -4
- package/esm2020/directive/AspectRatioResizeDirective.mjs +3 -3
- package/esm2020/directive/AutoScrollBottomDirective.mjs +3 -3
- package/esm2020/directive/ClickToCopyDirective.mjs +3 -3
- package/esm2020/directive/ClickToSelectDirective.mjs +3 -3
- package/esm2020/directive/FocusDirective.mjs +3 -3
- package/esm2020/directive/HTMLContentTitleDirective.mjs +3 -3
- package/esm2020/directive/HTMLTitleDirective.mjs +3 -3
- package/esm2020/directive/InfiniteScrollDirective.mjs +3 -3
- package/esm2020/directive/IsBrowserDirective.mjs +3 -3
- package/esm2020/directive/IsServerDirective.mjs +3 -3
- package/esm2020/directive/ResizeDirective.mjs +3 -3
- package/esm2020/directive/ScrollCheckDirective.mjs +3 -3
- package/esm2020/directive/ScrollDirective.mjs +3 -3
- package/esm2020/directive/SelectOnFocusDirective.mjs +3 -3
- package/esm2020/form/FormElementSync.mjs +3 -3
- package/esm2020/language/LanguageDirective.mjs +3 -3
- package/esm2020/language/LanguageHasDirective.mjs +3 -3
- package/esm2020/language/LanguageModule.mjs +4 -4
- package/esm2020/language/LanguagePipe.mjs +3 -3
- package/esm2020/language/LanguagePipeHas.mjs +3 -3
- package/esm2020/language/LanguagePipeHasPure.mjs +3 -3
- package/esm2020/language/LanguagePipePure.mjs +3 -3
- package/esm2020/language/LanguageResolver.mjs +3 -3
- package/esm2020/login/LoginGuard.mjs +4 -4
- package/esm2020/login/LoginIfCanGuard.mjs +4 -4
- package/esm2020/login/LoginNotGuard.mjs +4 -4
- package/esm2020/login/LoginResolver.mjs +3 -3
- package/esm2020/module/LazyModuleLoader.mjs +3 -3
- package/esm2020/notification/INotificationContent.mjs +3 -3
- package/esm2020/pipe/CamelCasePipe.mjs +3 -3
- package/esm2020/pipe/FinancePipe.mjs +3 -3
- package/esm2020/pipe/MomentDateAdaptivePipe.mjs +3 -3
- package/esm2020/pipe/MomentDateFromNowPipe.mjs +3 -3
- package/esm2020/pipe/MomentDatePipe.mjs +3 -3
- package/esm2020/pipe/MomentTimePipe.mjs +3 -3
- package/esm2020/pipe/NgModelErrorPipe.mjs +3 -3
- package/esm2020/pipe/PrettifyPipe.mjs +3 -3
- package/esm2020/pipe/SanitizePipe.mjs +3 -3
- package/esm2020/pipe/StartCasePipe.mjs +3 -3
- package/esm2020/pipe/TimePipe.mjs +3 -3
- package/esm2020/pipe/TruncatePipe.mjs +3 -3
- package/esm2020/service/PlatformService.mjs +3 -3
- package/esm2020/theme/ThemeAssetBackgroundDirective.mjs +3 -3
- package/esm2020/theme/ThemeAssetDirective.mjs +31 -10
- package/esm2020/theme/ThemeAssetIconDirective.mjs +3 -3
- package/esm2020/theme/ThemeAssetImageDirective.mjs +3 -3
- package/esm2020/theme/ThemeModule.mjs +4 -4
- package/esm2020/theme/ThemeStyleDirective.mjs +3 -3
- package/esm2020/theme/ThemeStyleHoverDirective.mjs +3 -3
- package/esm2020/theme/ThemeToggleDirective.mjs +3 -3
- package/esm2020/window/IWindowContent.mjs +3 -3
- package/esm2020/window/WindowBase.mjs +3 -23
- package/fesm2015/ts-core-angular.mjs +220 -219
- package/fesm2015/ts-core-angular.mjs.map +1 -1
- package/fesm2020/ts-core-angular.mjs +220 -219
- package/fesm2020/ts-core-angular.mjs.map +1 -1
- package/login/LoginGuard.d.ts +1 -2
- package/login/LoginNotGuard.d.ts +1 -2
- package/package.json +1 -1
- package/theme/ThemeAssetDirective.d.ts +7 -4
|
@@ -97,9 +97,9 @@ export class ThemeStyleDirective extends Destroyable {
|
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
99
|
}
|
|
100
|
-
ThemeStyleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
101
|
-
ThemeStyleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.
|
|
102
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
100
|
+
ThemeStyleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: ThemeStyleDirective, deps: [{ token: i0.ElementRef }, { token: i1.ThemeService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
101
|
+
ThemeStyleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.2", type: ThemeStyleDirective, selector: "[vi-theme-style]", inputs: { flags: "flags", styleName: "styleName", key: ["vi-theme-style", "key"] }, usesInheritance: true, ngImport: i0 });
|
|
102
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: ThemeStyleDirective, decorators: [{
|
|
103
103
|
type: Directive,
|
|
104
104
|
args: [{
|
|
105
105
|
selector: '[vi-theme-style]'
|
|
@@ -89,9 +89,9 @@ export class ThemeStyleHoverDirective extends ThemeStyleDirective {
|
|
|
89
89
|
super.flags = value;
|
|
90
90
|
}
|
|
91
91
|
}
|
|
92
|
-
ThemeStyleHoverDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
93
|
-
ThemeStyleHoverDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.
|
|
94
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
92
|
+
ThemeStyleHoverDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: ThemeStyleHoverDirective, deps: [{ token: i0.ElementRef }, { token: i1.ThemeService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
93
|
+
ThemeStyleHoverDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.2", type: ThemeStyleHoverDirective, selector: "[vi-theme-style-hover]", inputs: { key: ["vi-theme-style-hover", "key"], styleName: "styleName", flags: "flags" }, usesInheritance: true, ngImport: i0 });
|
|
94
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: ThemeStyleHoverDirective, decorators: [{
|
|
95
95
|
type: Directive,
|
|
96
96
|
args: [{
|
|
97
97
|
selector: '[vi-theme-style-hover]'
|
|
@@ -48,9 +48,9 @@ export class ThemeToggleDirective extends Destroyable {
|
|
|
48
48
|
this.theme = null;
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
|
-
ThemeToggleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
52
|
-
ThemeToggleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.
|
|
53
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
51
|
+
ThemeToggleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: ThemeToggleDirective, deps: [{ token: i1.ThemeService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
52
|
+
ThemeToggleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.2", type: ThemeToggleDirective, selector: "[vi-theme-toggle]", host: { listeners: { "click": "clickHandler($event)" } }, usesInheritance: true, ngImport: i0 });
|
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: ThemeToggleDirective, decorators: [{
|
|
54
54
|
type: Directive,
|
|
55
55
|
args: [{
|
|
56
56
|
selector: '[vi-theme-toggle]'
|
|
@@ -113,9 +113,9 @@ export class IWindowContent extends DestroyableContainer {
|
|
|
113
113
|
}
|
|
114
114
|
}
|
|
115
115
|
}
|
|
116
|
-
IWindowContent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
117
|
-
IWindowContent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.
|
|
118
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
116
|
+
IWindowContent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: IWindowContent, deps: [{ token: WINDOW_CONTENT_CONTAINER, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
117
|
+
IWindowContent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: IWindowContent, selector: "ng-component", inputs: { isDisabled: "isDisabled", window: "window" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
118
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: IWindowContent, decorators: [{
|
|
119
119
|
type: Component,
|
|
120
120
|
args: [{ template: '' }]
|
|
121
121
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
@@ -94,28 +94,8 @@ export class WindowBase extends DestroyableContainer {
|
|
|
94
94
|
this._width = NaN;
|
|
95
95
|
this._height = NaN;
|
|
96
96
|
}
|
|
97
|
-
commitSizeProperties() {
|
|
98
|
-
|
|
99
|
-
let width = !_.isNaN(this.width) ? `${this.width}px` : 'auto';
|
|
100
|
-
let height = !_.isNaN(this.height) ? `${this.height}px` : 'auto';
|
|
101
|
-
this.getReference().updateSize(width, height);
|
|
102
|
-
*/
|
|
103
|
-
}
|
|
104
|
-
commitPositionProperties() {
|
|
105
|
-
/*
|
|
106
|
-
if (_.isNaN(this._x) && _.isNaN(this._y)) {
|
|
107
|
-
return;
|
|
108
|
-
}
|
|
109
|
-
let position = {} as any;
|
|
110
|
-
if (!_.isNaN(this._y)) {
|
|
111
|
-
position.top = `${this._y}px`;
|
|
112
|
-
}
|
|
113
|
-
if (!_.isNaN(this._x)) {
|
|
114
|
-
position.left = `${this._x}px`;
|
|
115
|
-
}
|
|
116
|
-
this.getReference().updatePosition(position);
|
|
117
|
-
*/
|
|
118
|
-
}
|
|
97
|
+
commitSizeProperties() { }
|
|
98
|
+
commitPositionProperties() { }
|
|
119
99
|
// --------------------------------------------------------------------------
|
|
120
100
|
//
|
|
121
101
|
// Public Methods
|
|
@@ -194,4 +174,4 @@ export class WindowBase extends DestroyableContainer {
|
|
|
194
174
|
return this.getConfig().paddingBottom;
|
|
195
175
|
}
|
|
196
176
|
}
|
|
197
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2luZG93QmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy93aW5kb3cvV2luZG93QmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQWlCLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU1QyxNQUFNLE9BQWdCLFVBQW9CLFNBQVEsb0JBQW9CO0lBMkNsRSw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGVBQWU7SUFDZixFQUFFO0lBQ0YsNkVBQTZFO0lBRTdFO1FBQ0ksS0FBSyxFQUFFLENBQUM7UUFuQlosNkVBQTZFO1FBQzdFLEVBQUU7UUFDRixjQUFjO1FBQ2QsRUFBRTtRQUNGLDZFQUE2RTtRQUVuRSxPQUFFLEdBQVcsR0FBRyxDQUFDO1FBQ2pCLFdBQU0sR0FBVyxHQUFHLENBQUM7UUFFckIsT0FBRSxHQUFXLEdBQUcsQ0FBQztRQUNqQixZQUFPLEdBQVcsR0FBRyxDQUFDO1FBa0d0QixtQkFBYyxHQUFHLEdBQVMsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQXhGMUQsQ0FBQztJQWxERCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGtCQUFrQjtJQUNsQixFQUFFO0lBQ0YsNkVBQTZFO0lBRW5FLE1BQU0sQ0FBQyxNQUFNLENBQUksS0FBYSxFQUFFLE1BQXdCO1FBQzlELEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDNUMsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM1QyxPQUFPLEtBQUssQ0FB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QUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDbkQsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNuQixPQUFPO1NBQ1Y7UUFDRCxJQUFJLENBQUMsRUFBRSxHQUFHLEtBQUssQ0FBQztRQUNoQixJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBVyxDQUFDO1FBQ1IsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCxJQUFXLENBQUMsQ0FBQyxLQUFhO1FBQ3RCLEtBQUssR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUNuRCxJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxFQUFFO1lBQ25CLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxFQUFFLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFXLFVBQVU7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsVUFBVSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUFXLFdBQVc7UUFDbEIsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsV0FBVyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFXLFlBQVk7UUFDbkIsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsWUFBWSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDcEIsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsYUFBYSxDQUFDO0lBQzFDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IERlc3Ryb3lhYmxlQ29udGFpbmVyIH0gZnJvbSAnQHRzLWNvcmUvY29tbW9uJztcbmltcG9ydCB7IElXaW5kb3dDb25maWcsIFdpbmRvd0FsaWduIH0gZnJvbSAnLi9JV2luZG93Q29uZmlnJztcbmltcG9ydCB7IFZpZXdVdGlsIH0gZnJvbSAnLi4vdXRpbC9WaWV3VXRpbCc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBXaW5kb3dCYXNlPFQgPSBhbnk+IGV4dGVuZHMgRGVzdHJveWFibGVDb250YWluZXIge1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFN0YXRpYyBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJvdGVjdGVkIHN0YXRpYyBwYXJzZVg8VD4odmFsdWU6IG51bWJlciwgY29uZmlnOiBJV2luZG93Q29uZmlnPFQ+KTogbnVtYmVyIHtcbiAgICAgICAgdmFsdWUgPSBNYXRoLm1heCh2YWx1ZSwgY29uZmlnLmVsZW1lbnRNaW5YKTtcbiAgICAgICAgdmFsdWUgPSBNYXRoLm1pbih2YWx1ZSwgY29uZmlnLmVsZW1lbnRNYXhYKTtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBzdGF0aWMgcGFyc2VZPFQ+KHZhbHVlOiBudW1iZXIsIGNvbmZpZzogSVdpbmRvd0NvbmZpZzxUPik6IG51bWJlciB7XG4gICAgICAgIHZhbHVlID0gTWF0aC5tYXgodmFsdWUsIGNvbmZpZy5lbGVtZW50TWluWSk7XG4gICAgICAgIHZhbHVlID0gTWF0aC5taW4odmFsdWUsIGNvbmZpZy5lbGVtZW50TWF4WSk7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc3RhdGljIHBhcnNlV2lkdGg8VD4odmFsdWU6IG51bWJlciwgY29uZmlnOiBJV2luZG93Q29uZmlnPFQ+KTogbnVtYmVyIHtcbiAgICAgICAgdmFsdWUgPSBNYXRoLm1heCh2YWx1ZSwgY29uZmlnLmVsZW1lbnRNaW5XaWR0aCk7XG4gICAgICAgIHZhbHVlID0gTWF0aC5taW4odmFsdWUsIGNvbmZpZy5lbGVtZW50TWF4V2lkdGgpO1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHN0YXRpYyBwYXJzZUhlaWdodDxUPih2YWx1ZTogbnVtYmVyLCBjb25maWc6IElXaW5kb3dDb25maWc8VD4pOiBudW1iZXIge1xuICAgICAgICB2YWx1ZSA9IE1hdGgubWF4KHZhbHVlLCBjb25maWcuZWxlbWVudE1pbkhlaWdodCk7XG4gICAgICAgIHZhbHVlID0gTWF0aC5taW4odmFsdWUsIGNvbmZpZy5lbGVtZW50TWF4SGVpZ2h0KTtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFByb3BlcnRpZXNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwcm90ZWN0ZWQgX3g6IG51bWJlciA9IE5hTjtcbiAgICBwcm90ZWN0ZWQgX3dpZHRoOiBudW1iZXIgPSBOYU47XG5cbiAgICBwcm90ZWN0ZWQgX3k6IG51bWJlciA9IE5hTjtcbiAgICBwcm90ZWN0ZWQgX2hlaWdodDogbnVtYmVyID0gTmFOO1xuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0Q29uc3RydWN0b3JcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRQcm90ZWN0ZWQgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBnZXRDb25maWcoKTogSVdpbmRvd0NvbmZpZzxUPjtcbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0Q29udGFpbmVyKCk6IEhUTUxFbGVtZW50O1xuXG4gICAgcHJvdGVjdGVkIHNldFByb3BlcnRpZXMoKTogdm9pZCB7XG4gICAgICAgIGxldCBjb25maWcgPSB0aGlzLmdldENvbmZpZygpO1xuICAgICAgICBpZiAoIV8uaXNOYU4oY29uZmlnLmRlZmF1bHRXaWR0aCkpIHtcbiAgICAgICAgICAgIHRoaXMud2lkdGggPSBjb25maWcuZGVmYXVsdFdpZHRoO1xuICAgICAgICB9XG4gICAgICAgIGlmICghXy5pc05hTihjb25maWcuZGVmYXVsdEhlaWdodCkpIHtcbiAgICAgICAgICAgIHRoaXMuaGVpZ2h0ID0gY29uZmlnLmRlZmF1bHRIZWlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc2V0UG9zaXRpb24oKTogdm9pZCB7XG4gICAgICAgIGxldCBjb25maWcgPSB0aGlzLmdldENvbmZpZygpO1xuXG4gICAgICAgIHN3aXRjaCAoY29uZmlnLmhvcml6b250YWxBbGlnbikge1xuICAgICAgICAgICAgY2FzZSBXaW5kb3dBbGlnbi5TVEFSVDpcbiAgICAgICAgICAgICAgICB0aGlzLnggPSAhXy5pc05hTih0aGlzLnBhZGRpbmdMZWZ0KSA/IHRoaXMucGFkZGluZ0xlZnQgOiAwO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBXaW5kb3dBbGlnbi5FTkQ6XG4gICAgICAgICAgICAgICAgbGV0IHZhbHVlID0gVmlld1V0aWwuZ2V0U3RhZ2VXaWR0aCgpIC0gdGhpcy5jYWxjdWxhdGVXaWR0aCgpO1xuICAgICAgICAgICAgICAgIGlmICghXy5pc05hTih0aGlzLnBhZGRpbmdSaWdodCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWUgLT0gdGhpcy5wYWRkaW5nUmlnaHQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMueCA9IHZhbHVlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICB0aGlzLnggPSAoVmlld1V0aWwuZ2V0U3RhZ2VXaWR0aCgpIC0gdGhpcy5jYWxjdWxhdGVXaWR0aCgpKSAvIDI7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICBzd2l0Y2ggKGNvbmZpZy52ZXJ0aWNhbEFsaWduKSB7XG4gICAgICAgICAgICBjYXNlIFdpbmRvd0FsaWduLlNUQVJUOlxuICAgICAgICAgICAgICAgIHRoaXMueSA9ICFfLmlzTmFOKHRoaXMucGFkZGluZ1RvcCkgPyB0aGlzLnBhZGRpbmdUb3AgOiAwO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBXaW5kb3dBbGlnbi5FTkQ6XG4gICAgICAgICAgICAgICAgbGV0IHZhbHVlID0gVmlld1V0aWwuZ2V0U3RhZ2VIZWlnaHQoKSAtIHRoaXMuY2FsY3VsYXRlSGVpZ2h0KCk7XG4gICAgICAgICAgICAgICAgaWYgKCFfLmlzTmFOKHRoaXMucGFkZGluZ0JvdHRvbSkpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWUgLT0gdGhpcy5wYWRkaW5nQm90dG9tO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLnkgPSB2YWx1ZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgdGhpcy55ID0gKFZpZXdVdGlsLmdldFN0YWdlSGVpZ2h0KCkgLSB0aGlzLmNhbGN1bGF0ZUhlaWdodCgpKSAvIDI7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY2xlYXJTaXplKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl94ID0gTmFOO1xuICAgICAgICB0aGlzLl95ID0gTmFOO1xuICAgICAgICB0aGlzLl93aWR0aCA9IE5hTjtcbiAgICAgICAgdGhpcy5faGVpZ2h0ID0gTmFOO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjb21taXRTaXplUHJvcGVydGllcygpOiB2b2lkIHtcbiAgICAgICAgLypcbiAgICAgICAgbGV0IHdpZHRoID0gIV8uaXNOYU4odGhpcy53aWR0aCkgPyBgJHt0aGlzLndpZHRofXB4YCA6ICdhdXRvJztcbiAgICAgICAgbGV0IGhlaWdodCA9ICFfLmlzTmFOKHRoaXMuaGVpZ2h0KSA/IGAke3RoaXMuaGVpZ2h0fXB4YCA6ICdhdXRvJztcbiAgICAgICAgdGhpcy5nZXRSZWZlcmVuY2UoKS51cGRhdGVTaXplKHdpZHRoLCBoZWlnaHQpO1xuICAgICAgICAqL1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjb21taXRQb3NpdGlvblByb3BlcnRpZXMoKTogdm9pZCB7XG4gICAgICAgIC8qXG4gICAgICAgIGlmIChfLmlzTmFOKHRoaXMuX3gpICYmIF8uaXNOYU4odGhpcy5feSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBsZXQgcG9zaXRpb24gPSB7fSBhcyBhbnk7XG4gICAgICAgIGlmICghXy5pc05hTih0aGlzLl95KSkge1xuICAgICAgICAgICAgcG9zaXRpb24udG9wID0gYCR7dGhpcy5feX1weGA7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFfLmlzTmFOKHRoaXMuX3gpKSB7XG4gICAgICAgICAgICBwb3NpdGlvbi5sZWZ0ID0gYCR7dGhpcy5feH1weGA7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5nZXRSZWZlcmVuY2UoKS51cGRhdGVQb3NpdGlvbihwb3NpdGlvbik7XG4gICAgICAgICovXG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHVwZGF0ZVBvc2l0aW9uID0gKCk6IHZvaWQgPT4gdGhpcy5zZXRQb3NpdGlvbigpO1xuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHVibGljIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgY2FsY3VsYXRlV2lkdGgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuICFfLmlzTmFOKHRoaXMud2lkdGgpID8gdGhpcy53aWR0aCA6IFZpZXdVdGlsLmdldFdpZHRoKHRoaXMuZ2V0Q29udGFpbmVyKCkpO1xuICAgIH1cbiAgICBwdWJsaWMgY2FsY3VsYXRlSGVpZ2h0KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiAhXy5pc05hTih0aGlzLmhlaWdodCkgPyB0aGlzLmhlaWdodCA6IFZpZXdVdGlsLmdldEhlaWdodCh0aGlzLmdldENvbnRhaW5lcigpKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRQcml2YXRlIFByb3BlcnRpZXNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwcm90ZWN0ZWQgZ2V0IHdpZHRoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl93aWR0aDtcbiAgICB9XG4gICAgcHJvdGVjdGVkIHNldCB3aWR0aCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIHZhbHVlID0gV2luZG93QmFzZS5wYXJzZVdpZHRoKHZhbHVlLCB0aGlzLmdldENvbmZpZygpKTtcbiAgICAgICAgaWYgKHZhbHVlID09PSB0aGlzLl93aWR0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3dpZHRoID0gdmFsdWU7XG4gICAgICAgIHRoaXMuY29tbWl0U2l6ZVByb3BlcnRpZXMoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGhlaWdodCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5faGVpZ2h0O1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgc2V0IGhlaWdodCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIHZhbHVlID0gV2luZG93QmFzZS5wYXJzZVdpZHRoKHZhbHVlLCB0aGlzLmdldENvbmZpZygpKTtcbiAgICAgICAgaWYgKHZhbHVlID09PSB0aGlzLl9oZWlnaHQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9oZWlnaHQgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5jb21taXRTaXplUHJvcGVydGllcygpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFB1YmxpYyBQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGdldCB4KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl94O1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgeCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIHZhbHVlID0gV2luZG93QmFzZS5wYXJzZVgodmFsdWUsIHRoaXMuZ2V0Q29uZmlnKCkpO1xuICAgICAgICBpZiAodmFsdWUgPT09IHRoaXMuX3gpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl94ID0gdmFsdWU7XG4gICAgICAgIHRoaXMuY29tbWl0UG9zaXRpb25Qcm9wZXJ0aWVzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCB5KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl95O1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgeSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIHZhbHVlID0gV2luZG93QmFzZS5wYXJzZVkodmFsdWUsIHRoaXMuZ2V0Q29uZmlnKCkpO1xuICAgICAgICBpZiAodmFsdWUgPT09IHRoaXMuX3kpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl95ID0gdmFsdWU7XG4gICAgICAgIHRoaXMuY29tbWl0UG9zaXRpb25Qcm9wZXJ0aWVzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBwYWRkaW5nVG9wKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldENvbmZpZygpLnBhZGRpbmdUb3A7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBwYWRkaW5nTGVmdCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRDb25maWcoKS5wYWRkaW5nTGVmdDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHBhZGRpbmdSaWdodCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRDb25maWcoKS5wYWRkaW5nUmlnaHQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBwYWRkaW5nQm90dG9tKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldENvbmZpZygpLnBhZGRpbmdCb3R0b207XG4gICAgfVxufVxuIl19
|
|
177
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2luZG93QmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy93aW5kb3cvV2luZG93QmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQWlCLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU1QyxNQUFNLE9BQWdCLFVBQW9CLFNBQVEsb0JBQW9CO0lBMkNsRSw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGVBQWU7SUFDZixFQUFFO0lBQ0YsNkVBQTZFO0lBRTdFO1FBQ0ksS0FBSyxFQUFFLENBQUM7UUFuQlosNkVBQTZFO1FBQzdFLEVBQUU7UUFDRixjQUFjO1FBQ2QsRUFBRTtRQUNGLDZFQUE2RTtRQUVuRSxPQUFFLEdBQVcsR0FBRyxDQUFDO1FBQ2pCLFdBQU0sR0FBVyxHQUFHLENBQUM7UUFFckIsT0FBRSxHQUFXLEdBQUcsQ0FBQztRQUNqQixZQUFPLEdBQVcsR0FBRyxDQUFDO1FBOEV0QixtQkFBYyxHQUFHLEdBQVMsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQXBFMUQsQ0FBQztJQWxERCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGtCQUFrQjtJQUNsQixFQUFFO0lBQ0YsNkVBQTZFO0lBRW5FLE1BQU0sQ0FBQyxNQUFNLENBQUksS0FBYSxFQUFFLE1BQXdCO1FBQzlELEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDNUMsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM1QyxPQUFPLEtBQUssQ0FB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U0FBUyxFQUFFLENBQUMsQ0FBQztRQUNuRCxJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxFQUFFO1lBQ25CLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxFQUFFLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFXLENBQUM7UUFDUixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELElBQVcsQ0FBQyxDQUFDLEtBQWE7UUFDdEIsS0FBSyxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ25ELElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxFQUFFLEVBQUU7WUFDbkIsT0FBTztTQUNWO1FBQ0QsSUFBSSxDQUFDLEVBQUUsR0FBRyxLQUFLLENBQUM7UUFDaEIsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQVcsVUFBVTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxVQUFVLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQVcsV0FBVztRQUNsQixPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxXQUFXLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQVcsWUFBWTtRQUNuQixPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxZQUFZLENBQUM7SUFDekMsQ0FBQztJQUVELElBQVcsYUFBYTtRQUNwQixPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxhQUFhLENBQUM7SUFDMUMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgRGVzdHJveWFibGVDb250YWluZXIgfSBmcm9tICdAdHMtY29yZS9jb21tb24nO1xuaW1wb3J0IHsgSVdpbmRvd0NvbmZpZywgV2luZG93QWxpZ24gfSBmcm9tICcuL0lXaW5kb3dDb25maWcnO1xuaW1wb3J0IHsgVmlld1V0aWwgfSBmcm9tICcuLi91dGlsL1ZpZXdVdGlsJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFdpbmRvd0Jhc2U8VCA9IGFueT4gZXh0ZW5kcyBEZXN0cm95YWJsZUNvbnRhaW5lciB7XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0U3RhdGljIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwcm90ZWN0ZWQgc3RhdGljIHBhcnNlWDxUPih2YWx1ZTogbnVtYmVyLCBjb25maWc6IElXaW5kb3dDb25maWc8VD4pOiBudW1iZXIge1xuICAgICAgICB2YWx1ZSA9IE1hdGgubWF4KHZhbHVlLCBjb25maWcuZWxlbWVudE1pblgpO1xuICAgICAgICB2YWx1ZSA9IE1hdGgubWluKHZhbHVlLCBjb25maWcuZWxlbWVudE1heFgpO1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHN0YXRpYyBwYXJzZVk8VD4odmFsdWU6IG51bWJlciwgY29uZmlnOiBJV2luZG93Q29uZmlnPFQ+KTogbnVtYmVyIHtcbiAgICAgICAgdmFsdWUgPSBNYXRoLm1heCh2YWx1ZSwgY29uZmlnLmVsZW1lbnRNaW5ZKTtcbiAgICAgICAgdmFsdWUgPSBNYXRoLm1pbih2YWx1ZSwgY29uZmlnLmVsZW1lbnRNYXhZKTtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBzdGF0aWMgcGFyc2VXaWR0aDxUPih2YWx1ZTogbnVtYmVyLCBjb25maWc6IElXaW5kb3dDb25maWc8VD4pOiBudW1iZXIge1xuICAgICAgICB2YWx1ZSA9IE1hdGgubWF4KHZhbHVlLCBjb25maWcuZWxlbWVudE1pbldpZHRoKTtcbiAgICAgICAgdmFsdWUgPSBNYXRoLm1pbih2YWx1ZSwgY29uZmlnLmVsZW1lbnRNYXhXaWR0aCk7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc3RhdGljIHBhcnNlSGVpZ2h0PFQ+KHZhbHVlOiBudW1iZXIsIGNvbmZpZzogSVdpbmRvd0NvbmZpZzxUPik6IG51bWJlciB7XG4gICAgICAgIHZhbHVlID0gTWF0aC5tYXgodmFsdWUsIGNvbmZpZy5lbGVtZW50TWluSGVpZ2h0KTtcbiAgICAgICAgdmFsdWUgPSBNYXRoLm1pbih2YWx1ZSwgY29uZmlnLmVsZW1lbnRNYXhIZWlnaHQpO1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByb3RlY3RlZCBfeDogbnVtYmVyID0gTmFOO1xuICAgIHByb3RlY3RlZCBfd2lkdGg6IG51bWJlciA9IE5hTjtcblxuICAgIHByb3RlY3RlZCBfeTogbnVtYmVyID0gTmFOO1xuICAgIHByb3RlY3RlZCBfaGVpZ2h0OiBudW1iZXIgPSBOYU47XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRDb25zdHJ1Y3RvclxuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFByb3RlY3RlZCBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldENvbmZpZygpOiBJV2luZG93Q29uZmlnPFQ+O1xuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBnZXRDb250YWluZXIoKTogSFRNTEVsZW1lbnQ7XG5cbiAgICBwcm90ZWN0ZWQgc2V0UHJvcGVydGllcygpOiB2b2lkIHtcbiAgICAgICAgbGV0IGNvbmZpZyA9IHRoaXMuZ2V0Q29uZmlnKCk7XG4gICAgICAgIGlmICghXy5pc05hTihjb25maWcuZGVmYXVsdFdpZHRoKSkge1xuICAgICAgICAgICAgdGhpcy53aWR0aCA9IGNvbmZpZy5kZWZhdWx0V2lkdGg7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFfLmlzTmFOKGNvbmZpZy5kZWZhdWx0SGVpZ2h0KSkge1xuICAgICAgICAgICAgdGhpcy5oZWlnaHQgPSBjb25maWcuZGVmYXVsdEhlaWdodDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBzZXRQb3NpdGlvbigpOiB2b2lkIHtcbiAgICAgICAgbGV0IGNvbmZpZyA9IHRoaXMuZ2V0Q29uZmlnKCk7XG5cbiAgICAgICAgc3dpdGNoIChjb25maWcuaG9yaXpvbnRhbEFsaWduKSB7XG4gICAgICAgICAgICBjYXNlIFdpbmRvd0FsaWduLlNUQVJUOlxuICAgICAgICAgICAgICAgIHRoaXMueCA9ICFfLmlzTmFOKHRoaXMucGFkZGluZ0xlZnQpID8gdGhpcy5wYWRkaW5nTGVmdCA6IDA7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFdpbmRvd0FsaWduLkVORDpcbiAgICAgICAgICAgICAgICBsZXQgdmFsdWUgPSBWaWV3VXRpbC5nZXRTdGFnZVdpZHRoKCkgLSB0aGlzLmNhbGN1bGF0ZVdpZHRoKCk7XG4gICAgICAgICAgICAgICAgaWYgKCFfLmlzTmFOKHRoaXMucGFkZGluZ1JpZ2h0KSkge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZSAtPSB0aGlzLnBhZGRpbmdSaWdodDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy54ID0gdmFsdWU7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHRoaXMueCA9IChWaWV3VXRpbC5nZXRTdGFnZVdpZHRoKCkgLSB0aGlzLmNhbGN1bGF0ZVdpZHRoKCkpIC8gMjtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIHN3aXRjaCAoY29uZmlnLnZlcnRpY2FsQWxpZ24pIHtcbiAgICAgICAgICAgIGNhc2UgV2luZG93QWxpZ24uU1RBUlQ6XG4gICAgICAgICAgICAgICAgdGhpcy55ID0gIV8uaXNOYU4odGhpcy5wYWRkaW5nVG9wKSA/IHRoaXMucGFkZGluZ1RvcCA6IDA7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFdpbmRvd0FsaWduLkVORDpcbiAgICAgICAgICAgICAgICBsZXQgdmFsdWUgPSBWaWV3VXRpbC5nZXRTdGFnZUhlaWdodCgpIC0gdGhpcy5jYWxjdWxhdGVIZWlnaHQoKTtcbiAgICAgICAgICAgICAgICBpZiAoIV8uaXNOYU4odGhpcy5wYWRkaW5nQm90dG9tKSkge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZSAtPSB0aGlzLnBhZGRpbmdCb3R0b207XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMueSA9IHZhbHVlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICB0aGlzLnkgPSAoVmlld1V0aWwuZ2V0U3RhZ2VIZWlnaHQoKSAtIHRoaXMuY2FsY3VsYXRlSGVpZ2h0KCkpIC8gMjtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBjbGVhclNpemUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3ggPSBOYU47XG4gICAgICAgIHRoaXMuX3kgPSBOYU47XG4gICAgICAgIHRoaXMuX3dpZHRoID0gTmFOO1xuICAgICAgICB0aGlzLl9oZWlnaHQgPSBOYU47XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNvbW1pdFNpemVQcm9wZXJ0aWVzKCk6IHZvaWQge31cblxuICAgIHByb3RlY3RlZCBjb21taXRQb3NpdGlvblByb3BlcnRpZXMoKTogdm9pZCB7fVxuXG4gICAgcHJvdGVjdGVkIHVwZGF0ZVBvc2l0aW9uID0gKCk6IHZvaWQgPT4gdGhpcy5zZXRQb3NpdGlvbigpO1xuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHVibGljIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgY2FsY3VsYXRlV2lkdGgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuICFfLmlzTmFOKHRoaXMud2lkdGgpID8gdGhpcy53aWR0aCA6IFZpZXdVdGlsLmdldFdpZHRoKHRoaXMuZ2V0Q29udGFpbmVyKCkpO1xuICAgIH1cbiAgICBwdWJsaWMgY2FsY3VsYXRlSGVpZ2h0KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiAhXy5pc05hTih0aGlzLmhlaWdodCkgPyB0aGlzLmhlaWdodCA6IFZpZXdVdGlsLmdldEhlaWdodCh0aGlzLmdldENvbnRhaW5lcigpKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRQcml2YXRlIFByb3BlcnRpZXNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwcm90ZWN0ZWQgZ2V0IHdpZHRoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl93aWR0aDtcbiAgICB9XG4gICAgcHJvdGVjdGVkIHNldCB3aWR0aCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIHZhbHVlID0gV2luZG93QmFzZS5wYXJzZVdpZHRoKHZhbHVlLCB0aGlzLmdldENvbmZpZygpKTtcbiAgICAgICAgaWYgKHZhbHVlID09PSB0aGlzLl93aWR0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3dpZHRoID0gdmFsdWU7XG4gICAgICAgIHRoaXMuY29tbWl0U2l6ZVByb3BlcnRpZXMoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGhlaWdodCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5faGVpZ2h0O1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgc2V0IGhlaWdodCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIHZhbHVlID0gV2luZG93QmFzZS5wYXJzZVdpZHRoKHZhbHVlLCB0aGlzLmdldENvbmZpZygpKTtcbiAgICAgICAgaWYgKHZhbHVlID09PSB0aGlzLl9oZWlnaHQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9oZWlnaHQgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5jb21taXRTaXplUHJvcGVydGllcygpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFB1YmxpYyBQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGdldCB4KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl94O1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgeCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIHZhbHVlID0gV2luZG93QmFzZS5wYXJzZVgodmFsdWUsIHRoaXMuZ2V0Q29uZmlnKCkpO1xuICAgICAgICBpZiAodmFsdWUgPT09IHRoaXMuX3gpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl94ID0gdmFsdWU7XG4gICAgICAgIHRoaXMuY29tbWl0UG9zaXRpb25Qcm9wZXJ0aWVzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCB5KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl95O1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgeSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIHZhbHVlID0gV2luZG93QmFzZS5wYXJzZVkodmFsdWUsIHRoaXMuZ2V0Q29uZmlnKCkpO1xuICAgICAgICBpZiAodmFsdWUgPT09IHRoaXMuX3kpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl95ID0gdmFsdWU7XG4gICAgICAgIHRoaXMuY29tbWl0UG9zaXRpb25Qcm9wZXJ0aWVzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBwYWRkaW5nVG9wKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldENvbmZpZygpLnBhZGRpbmdUb3A7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBwYWRkaW5nTGVmdCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRDb25maWcoKS5wYWRkaW5nTGVmdDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHBhZGRpbmdSaWdodCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRDb25maWcoKS5wYWRkaW5nUmlnaHQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBwYWRkaW5nQm90dG9tKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldENvbmZpZygpLnBhZGRpbmdCb3R0b207XG4gICAgfVxufVxuIl19
|