rfx-parallax
Advanced tools
Comparing version 1.2.1 to 1.2.2
@@ -97,6 +97,10 @@ (function (global, factory) { | ||
_this.imageTop = _this.getImageTop(window.scrollY); | ||
_this.setImageTransform(_this.imageLeft, _this.imageTop); | ||
if (_this.image) { | ||
_this.setImageTransform(_this.imageLeft, _this.imageTop); | ||
} | ||
}); | ||
this.onResizeListener = this.rfxParallaxService.getWindowResize().subscribe(function () { | ||
_this.setParallaxProperties(); | ||
if (_this.image) { | ||
_this.setParallaxProperties(); | ||
} | ||
}); | ||
@@ -103,0 +107,0 @@ }; |
@@ -1,2 +0,2 @@ | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("rxjs")):"function"==typeof define&&define.amd?define("rfx-parallax",["exports","@angular/core","rxjs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["rfx-parallax"]={},e.ng.core,e.rxjs)}(this,(function(e,t,i){"use strict";var s=function(){function e(){this.subjectScroll=new i.BehaviorSubject(void 0),this.subjectResize=new i.BehaviorSubject(void 0)}return e.prototype.ngOnDestroy=function(){document.removeEventListener("scroll",this.mouseScroll),document.removeEventListener("resize",this.windowResize)},e.prototype.initListeners=function(){this.mouseScroll=this.onMouseScroll.bind(this),this.windowResize=this.onWindowResize.bind(this),document.addEventListener("scroll",this.mouseScroll,!1),window.addEventListener("resize",this.windowResize,!1)},e.prototype.onMouseScroll=function(){this.subjectScroll.next(void 0)},e.prototype.getMouseScroll=function(){return this.subjectScroll.asObservable()},e.prototype.onWindowResize=function(){this.subjectResize.next(void 0)},e.prototype.getWindowResize=function(){return this.subjectResize.asObservable()},e}();s.ɵprov=t.ɵɵdefineInjectable({factory:function(){return new s},token:s,providedIn:"root"}),s.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],s.ctorParameters=function(){return[]};var r=function(){function e(e,t,i){this.htmlElement=e,this.renderer=t,this.rfxParallaxService=i,this.parallaxPercentage=20,this.positionPercentage=50,this.imageZIndex=-1,this.isDisabled=!1,this.visibleOverflow=!1}return e.prototype.ngOnInit=function(){this.setListeners()},e.prototype.ngOnDestroy=function(){this.onScrollListener&&this.onScrollListener.unsubscribe(),this.onResizeListener&&this.onResizeListener.unsubscribe()},e.prototype.ngOnChanges=function(e){var t;(null===(t=e.imageUrl)||void 0===t?void 0:t.currentValue)?this.loadImage(e.imageUrl.currentValue):this.image&&this.setParallaxProperties()},e.prototype.setListeners=function(){var e=this;this.onScrollListener=this.rfxParallaxService.getMouseScroll().subscribe((function(){e.imageTop=e.getImageTop(window.scrollY),e.setImageTransform(e.imageLeft,e.imageTop)})),this.onResizeListener=this.rfxParallaxService.getWindowResize().subscribe((function(){e.setParallaxProperties()}))},e.prototype.loadImage=function(e){var t=this;this.image=new Image,this.image.src=e,this.renderer.setStyle(this.image,"visilibity","hidden"),this.renderer.addClass(this.image,"parallax-image"),this.htmlElement.nativeElement.appendChild(this.image),this.image.onload=function(){t.setParallaxProperties(),t.renderer.setStyle(t.image,"visibility","visible")}},e.prototype.setParallaxProperties=function(){this.setStaticProperties(),this.setImageSize(),this.setParallaxValues(window.scrollY),this.imageLeft=this.getImageLeft(this.htmlElement.nativeElement.clientWidth),this.imageTop=this.getImageTop(window.scrollY),this.setImageTransform(this.imageLeft,this.imageTop)},e.prototype.setStaticProperties=function(){this.isAlreadyPositionAbsRel(this.htmlElement.nativeElement)||this.renderer.setStyle(this.htmlElement.nativeElement,"position","relative"),this.renderer.setStyle(this.htmlElement.nativeElement,"overflow",this.visibleOverflow?"visible":"hidden"),this.renderer.setStyle(this.image,"z-index",this.imageZIndex),this.renderer.setStyle(this.image,"position","absolute"),this.renderer.setStyle(this.image,"left","0"),this.renderer.setStyle(this.image,"top","0")},e.prototype.isAlreadyPositionAbsRel=function(e){return["absolute","relative"].includes(window.getComputedStyle(e).position)},e.prototype.setImageSize=function(){var e=this.htmlElement.nativeElement.clientHeight,t=this.htmlElement.nativeElement.clientWidth,i=e*(100+this.parallaxPercentage)/100;this.image.naturalHeight/this.image.naturalWidth>i/t?(this.renderer.setStyle(this.image,"width",t+"px"),this.renderer.setStyle(this.image,"height","auto")):(this.renderer.setStyle(this.image,"height",i+"px"),this.renderer.setStyle(this.image,"width","auto"))},e.prototype.setParallaxValues=function(e){var t=this.htmlElement.nativeElement.getBoundingClientRect();this.availablePixels=this.image.height-t.height,this.startPoint=t.top+e-window.innerHeight,this.endPoint=t.top+e+t.height},e.prototype.setImageTransform=function(e,t){this.renderer.setStyle(this.image,"transform","translate("+e+"px, "+t+"px)")},e.prototype.getImageLeft=function(e){return-(this.image.width-e)/100*this.positionPercentage},e.prototype.getImageTop=function(e){if(this.isDisabled)return-this.availablePixels/2;var t=Math.min(this.endPoint-this.startPoint,Math.max(0,e-this.startPoint));return-(this.availablePixels/100*(100-100*t/(this.endPoint-this.startPoint)))},e}();r.decorators=[{type:t.Directive,args:[{selector:"[libRfxParallax]"}]}],r.ctorParameters=function(){return[{type:t.ElementRef},{type:t.Renderer2},{type:s}]},r.propDecorators={parallaxPercentage:[{type:t.Input}],positionPercentage:[{type:t.Input}],imageUrl:[{type:t.Input}],imageZIndex:[{type:t.Input}],visibleOverflow:[{type:t.Input}],isDisabled:[{type:t.Input}]};var n=function(){};n.decorators=[{type:t.NgModule,args:[{declarations:[r],imports:[],exports:[r]}]}],e.RfxParallaxModule=n,e.RfxParallaxService=s,e.ɵa=r,Object.defineProperty(e,"__esModule",{value:!0})})); | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("rxjs")):"function"==typeof define&&define.amd?define("rfx-parallax",["exports","@angular/core","rxjs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["rfx-parallax"]={},e.ng.core,e.rxjs)}(this,(function(e,t,i){"use strict";var s=function(){function e(){this.subjectScroll=new i.BehaviorSubject(void 0),this.subjectResize=new i.BehaviorSubject(void 0)}return e.prototype.ngOnDestroy=function(){document.removeEventListener("scroll",this.mouseScroll),document.removeEventListener("resize",this.windowResize)},e.prototype.initListeners=function(){this.mouseScroll=this.onMouseScroll.bind(this),this.windowResize=this.onWindowResize.bind(this),document.addEventListener("scroll",this.mouseScroll,!1),window.addEventListener("resize",this.windowResize,!1)},e.prototype.onMouseScroll=function(){this.subjectScroll.next(void 0)},e.prototype.getMouseScroll=function(){return this.subjectScroll.asObservable()},e.prototype.onWindowResize=function(){this.subjectResize.next(void 0)},e.prototype.getWindowResize=function(){return this.subjectResize.asObservable()},e}();s.ɵprov=t.ɵɵdefineInjectable({factory:function(){return new s},token:s,providedIn:"root"}),s.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],s.ctorParameters=function(){return[]};var r=function(){function e(e,t,i){this.htmlElement=e,this.renderer=t,this.rfxParallaxService=i,this.parallaxPercentage=20,this.positionPercentage=50,this.imageZIndex=-1,this.isDisabled=!1,this.visibleOverflow=!1}return e.prototype.ngOnInit=function(){this.setListeners()},e.prototype.ngOnDestroy=function(){this.onScrollListener&&this.onScrollListener.unsubscribe(),this.onResizeListener&&this.onResizeListener.unsubscribe()},e.prototype.ngOnChanges=function(e){var t;(null===(t=e.imageUrl)||void 0===t?void 0:t.currentValue)?this.loadImage(e.imageUrl.currentValue):this.image&&this.setParallaxProperties()},e.prototype.setListeners=function(){var e=this;this.onScrollListener=this.rfxParallaxService.getMouseScroll().subscribe((function(){e.imageTop=e.getImageTop(window.scrollY),e.image&&e.setImageTransform(e.imageLeft,e.imageTop)})),this.onResizeListener=this.rfxParallaxService.getWindowResize().subscribe((function(){e.image&&e.setParallaxProperties()}))},e.prototype.loadImage=function(e){var t=this;this.image=new Image,this.image.src=e,this.renderer.setStyle(this.image,"visilibity","hidden"),this.renderer.addClass(this.image,"parallax-image"),this.htmlElement.nativeElement.appendChild(this.image),this.image.onload=function(){t.setParallaxProperties(),t.renderer.setStyle(t.image,"visibility","visible")}},e.prototype.setParallaxProperties=function(){this.setStaticProperties(),this.setImageSize(),this.setParallaxValues(window.scrollY),this.imageLeft=this.getImageLeft(this.htmlElement.nativeElement.clientWidth),this.imageTop=this.getImageTop(window.scrollY),this.setImageTransform(this.imageLeft,this.imageTop)},e.prototype.setStaticProperties=function(){this.isAlreadyPositionAbsRel(this.htmlElement.nativeElement)||this.renderer.setStyle(this.htmlElement.nativeElement,"position","relative"),this.renderer.setStyle(this.htmlElement.nativeElement,"overflow",this.visibleOverflow?"visible":"hidden"),this.renderer.setStyle(this.image,"z-index",this.imageZIndex),this.renderer.setStyle(this.image,"position","absolute"),this.renderer.setStyle(this.image,"left","0"),this.renderer.setStyle(this.image,"top","0")},e.prototype.isAlreadyPositionAbsRel=function(e){return["absolute","relative"].includes(window.getComputedStyle(e).position)},e.prototype.setImageSize=function(){var e=this.htmlElement.nativeElement.clientHeight,t=this.htmlElement.nativeElement.clientWidth,i=e*(100+this.parallaxPercentage)/100;this.image.naturalHeight/this.image.naturalWidth>i/t?(this.renderer.setStyle(this.image,"width",t+"px"),this.renderer.setStyle(this.image,"height","auto")):(this.renderer.setStyle(this.image,"height",i+"px"),this.renderer.setStyle(this.image,"width","auto"))},e.prototype.setParallaxValues=function(e){var t=this.htmlElement.nativeElement.getBoundingClientRect();this.availablePixels=this.image.height-t.height,this.startPoint=t.top+e-window.innerHeight,this.endPoint=t.top+e+t.height},e.prototype.setImageTransform=function(e,t){this.renderer.setStyle(this.image,"transform","translate("+e+"px, "+t+"px)")},e.prototype.getImageLeft=function(e){return-(this.image.width-e)/100*this.positionPercentage},e.prototype.getImageTop=function(e){if(this.isDisabled)return-this.availablePixels/2;var t=Math.min(this.endPoint-this.startPoint,Math.max(0,e-this.startPoint));return-(this.availablePixels/100*(100-100*t/(this.endPoint-this.startPoint)))},e}();r.decorators=[{type:t.Directive,args:[{selector:"[libRfxParallax]"}]}],r.ctorParameters=function(){return[{type:t.ElementRef},{type:t.Renderer2},{type:s}]},r.propDecorators={parallaxPercentage:[{type:t.Input}],positionPercentage:[{type:t.Input}],imageUrl:[{type:t.Input}],imageZIndex:[{type:t.Input}],visibleOverflow:[{type:t.Input}],isDisabled:[{type:t.Input}]};var n=function(){};n.decorators=[{type:t.NgModule,args:[{declarations:[r],imports:[],exports:[r]}]}],e.RfxParallaxModule=n,e.RfxParallaxService=s,e.ɵa=r,Object.defineProperty(e,"__esModule",{value:!0})})); | ||
//# sourceMappingURL=rfx-parallax.umd.min.js.map |
@@ -40,6 +40,10 @@ import { Directive, ElementRef, Input, Renderer2 } from '@angular/core'; | ||
this.imageTop = this.getImageTop(window.scrollY); | ||
this.setImageTransform(this.imageLeft, this.imageTop); | ||
if (this.image) { | ||
this.setImageTransform(this.imageLeft, this.imageTop); | ||
} | ||
}); | ||
this.onResizeListener = this.rfxParallaxService.getWindowResize().subscribe(() => { | ||
this.setParallaxProperties(); | ||
if (this.image) { | ||
this.setParallaxProperties(); | ||
} | ||
}); | ||
@@ -167,2 +171,2 @@ } | ||
}; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmZ4LXBhcmFsbGF4LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJFOi9TdmlsdXBwb19sYmllbHNraS9SZXBvcy9SRlhMaWJyYXJ5L3Byb2plY3RzL3JmeC1wYXJhbGxheC9zcmMvIiwic291cmNlcyI6WyJsaWIvcmZ4LXBhcmFsbGF4LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQWdDLFNBQVMsRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFckgsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFLNUQsTUFBTSxPQUFPLG9CQUFvQjtJQWtCL0IsWUFDVSxXQUF1QixFQUN2QixRQUFtQixFQUNuQixrQkFBc0M7UUFGdEMsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDdkIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBRTlDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO0lBQy9CLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQ3pCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNyQztRQUVELElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQ3pCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNyQztJQUNILENBQUM7SUFF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QUFPLFFBQVEsS0FBSyxDQUFDLENBQUM7SUFDOUYsQ0FBQztJQUVEOzs7T0FHRztJQUNLLFlBQVksQ0FBQyxjQUFzQjtRQUN6QyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLGNBQWMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssV0FBVyxDQUFDLFNBQWlCO1FBQ25DLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNuQixPQUFPLENBQUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUM7U0FDbEM7UUFFRCxNQUFNLHNCQUFzQixHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUNuSCxNQUFNLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUcsc0JBQXNCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDM0gsT0FBTyxDQUFDLFFBQVEsQ0FBQztJQUNuQixDQUFDOzs7WUFwTEYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxrQkFBa0I7YUFDN0I7OztZQU5tQixVQUFVO1lBQXVDLFNBQVM7WUFFckUsa0JBQWtCOzs7aUNBTXhCLEtBQUs7aUNBQ0wsS0FBSzt1QkFDTCxLQUFLOzBCQUNMLEtBQUs7OEJBQ0wsS0FBSzt5QkFDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgUmVuZGVyZXIyLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBSZnhQYXJhbGxheFNlcnZpY2UgfSBmcm9tICcuL3JmeC1wYXJhbGxheC5zZXJ2aWNlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2xpYlJmeFBhcmFsbGF4XSdcclxufSlcclxuZXhwb3J0IGNsYXNzIFJmeFBhcmFsbGF4RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KCkgcHVibGljIHBhcmFsbGF4UGVyY2VudGFnZTogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBwb3NpdGlvblBlcmNlbnRhZ2U6IG51bWJlcjtcclxuICBASW5wdXQoKSBwdWJsaWMgaW1hZ2VVcmw6IHN0cmluZztcclxuICBASW5wdXQoKSBwdWJsaWMgaW1hZ2VaSW5kZXg6IG51bWJlcjtcclxuICBASW5wdXQoKSBwdWJsaWMgdmlzaWJsZU92ZXJmbG93OiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBpc0Rpc2FibGVkOiBib29sZWFuO1xyXG5cclxuICBwcml2YXRlIGltYWdlOiBIVE1MSW1hZ2VFbGVtZW50O1xyXG4gIHByaXZhdGUgYXZhaWxhYmxlUGl4ZWxzOiBudW1iZXI7XHJcbiAgcHJpdmF0ZSBzdGFydFBvaW50OiBudW1iZXI7XHJcbiAgcHJpdmF0ZSBlbmRQb2ludDogbnVtYmVyO1xyXG4gIHByaXZhdGUgaW1hZ2VMZWZ0OiBudW1iZXI7XHJcbiAgcHJpdmF0ZSBpbWFnZVRvcDogbnVtYmVyO1xyXG5cclxuICBwcml2YXRlIG9uU2Nyb2xsTGlzdGVuZXI6IFN1YnNjcmlwdGlvbjtcclxuICBwcml2YXRlIG9uUmVzaXplTGlzdGVuZXI6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGh0bWxFbGVtZW50OiBFbGVtZW50UmVmLFxyXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHJpdmF0ZSByZnhQYXJhbGxheFNlcnZpY2U6IFJmeFBhcmFsbGF4U2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5wYXJhbGxheFBlcmNlbnRhZ2UgPSAyMDtcclxuICAgIHRoaXMucG9zaXRpb25QZXJjZW50YWdlID0gNTA7XHJcbiAgICB0aGlzLmltYWdlWkluZGV4ID0gLTE7XHJcbiAgICB0aGlzLmlzRGlzYWJsZWQgPSBmYWxzZTtcclxuICAgIHRoaXMudmlzaWJsZU92ZXJmbG93ID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNldExpc3RlbmVycygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMub25TY3JvbGxMaXN0ZW5lcikge1xyXG4gICAgICB0aGlzLm9uU2Nyb2xsTGlzdGVuZXIudW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5vblJlc2l6ZUxpc3RlbmVyKSB7XHJcbiAgICAgIHRoaXMub25SZXNpemVMaXN0ZW5lci51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzLmltYWdlVXJsPy5jdXJyZW50VmFsdWUpIHtcclxuICAgICAgdGhpcy5sb2FkSW1hZ2UoY2hhbmdlcy5pbWFnZVVybC5jdXJyZW50VmFsdWUpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmltYWdlKSB7XHJcbiAgICAgIHRoaXMuc2V0UGFyYWxsYXhQcm9wZXJ0aWVzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTdWJzY3JpYmUgdG8gc2Nyb2xsIGFuZCByZXNpemUgbGlzdGVuZXJzXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzZXRMaXN0ZW5lcnMoKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uU2Nyb2xsTGlzdGVuZXIgPSB0aGlzLnJmeFBhcmFsbGF4U2VydmljZS5nZXRNb3VzZVNjcm9sbCgpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuaW1hZ2VUb3AgPSB0aGlzLmdldEltYWdlVG9wKHdpbmRvdy5zY3JvbGxZKTtcclxuICAgICAgdGhpcy5zZXRJbWFnZVRyYW5zZm9ybSh0aGlzLmltYWdlTGVmdCwgdGhpcy5pbWFnZVRvcCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLm9uUmVzaXplTGlzdGVuZXIgPSB0aGlzLnJmeFBhcmFsbGF4U2VydmljZS5nZXRXaW5kb3dSZXNpemUoKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLnNldFBhcmFsbGF4UHJvcGVydGllcygpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBMb2FkIHBhcmFsbGF4IGltYWdlIGZyb20gaW1hZ2VVcmxcclxuICAgKiBAcGFyYW0gaW1hZ2VVcmwgaW1hZ2UgdXJsXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBsb2FkSW1hZ2UoaW1hZ2VVcmw6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5pbWFnZSA9IG5ldyBJbWFnZSgpO1xyXG4gICAgdGhpcy5pbWFnZS5zcmMgPSBpbWFnZVVybDtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5pbWFnZSwgJ3Zpc2lsaWJpdHknLCAnaGlkZGVuJyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuaW1hZ2UsICdwYXJhbGxheC1pbWFnZScpO1xyXG4gICAgdGhpcy5odG1sRWxlbWVudC5uYXRpdmVFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuaW1hZ2UpO1xyXG5cclxuICAgIHRoaXMuaW1hZ2Uub25sb2FkID0gKCkgPT4ge1xyXG4gICAgICB0aGlzLnNldFBhcmFsbGF4UHJvcGVydGllcygpO1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuaW1hZ2UsICd2aXNpYmlsaXR5JywgJ3Zpc2libGUnKTtcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXQgcGFyYWxsYXggcHJvcGVydGllcyBhbmQgcG9zaXRpb25cclxuICAgKi9cclxuICBwcml2YXRlIHNldFBhcmFsbGF4UHJvcGVydGllcygpOiB2b2lkIHtcclxuICAgIHRoaXMuc2V0U3RhdGljUHJvcGVydGllcygpO1xyXG4gICAgdGhpcy5zZXRJbWFnZVNpemUoKTtcclxuICAgIHRoaXMuc2V0UGFyYWxsYXhWYWx1ZXMod2luZG93LnNjcm9sbFkpO1xyXG4gICAgdGhpcy5pbWFnZUxlZnQgPSB0aGlzLmdldEltYWdlTGVmdCh0aGlzLmh0bWxFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGgpO1xyXG4gICAgdGhpcy5pbWFnZVRvcCA9IHRoaXMuZ2V0SW1hZ2VUb3Aod2luZG93LnNjcm9sbFkpO1xyXG4gICAgdGhpcy5zZXRJbWFnZVRyYW5zZm9ybSh0aGlzLmltYWdlTGVmdCwgdGhpcy5pbWFnZVRvcCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXQgZGVmYXVsdCBwcm9wZXJ0aWVzIGZvciBjb250YWluZXIgYW5kIGltYWdlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzZXRTdGF0aWNQcm9wZXJ0aWVzKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmlzQWxyZWFkeVBvc2l0aW9uQWJzUmVsKHRoaXMuaHRtbEVsZW1lbnQubmF0aXZlRWxlbWVudCkpIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmh0bWxFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdwb3NpdGlvbicsICdyZWxhdGl2ZScpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5odG1sRWxlbWVudC5uYXRpdmVFbGVtZW50LCAnb3ZlcmZsb3cnLCB0aGlzLnZpc2libGVPdmVyZmxvdyA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5pbWFnZSwgJ3otaW5kZXgnLCB0aGlzLmltYWdlWkluZGV4KTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5pbWFnZSwgJ3Bvc2l0aW9uJywgJ2Fic29sdXRlJyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuaW1hZ2UsICdsZWZ0JywgJzAnKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5pbWFnZSwgJ3RvcCcsICcwJyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVjayBpZiBlbGVtZW50IGhhcyBwb3NpdGlvbiBhYnNvbHV0ZSBvciByZWxhdGl2ZVxyXG4gICAqIEBwYXJhbSBlbGVtZW50IGh0bWwgZWxlbWVudFxyXG4gICAqL1xyXG4gIHByaXZhdGUgaXNBbHJlYWR5UG9zaXRpb25BYnNSZWwoZWxlbWVudDogRWxlbWVudCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIFsnYWJzb2x1dGUnLCAncmVsYXRpdmUnXS5pbmNsdWRlcyh3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KS5wb3NpdGlvbik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXQgZGVmYXVsdCBpbWFnZSBzaXplIHRoYXQgbWF0Y2ggcHJvcGVydGllc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgc2V0SW1hZ2VTaXplKCk6IHZvaWQge1xyXG4gICAgY29uc3QgYm94SGVpZ2h0ID0gdGhpcy5odG1sRWxlbWVudC5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodDtcclxuICAgIGNvbnN0IGJveFdpZHRoID0gdGhpcy5odG1sRWxlbWVudC5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoO1xyXG4gICAgY29uc3QgbWluSGVpZ2h0ID0gKGJveEhlaWdodCAqICgxMDAgKyB0aGlzLnBhcmFsbGF4UGVyY2VudGFnZSkpIC8gMTAwO1xyXG4gICAgY29uc3QgcmF0aW8gPSB0aGlzLmltYWdlLm5hdHVyYWxIZWlnaHQgLyB0aGlzLmltYWdlLm5hdHVyYWxXaWR0aDtcclxuICAgIGNvbnN0IG1pblJhdGlvID0gbWluSGVpZ2h0IC8gYm94V2lkdGg7XHJcblxyXG4gICAgaWYgKHJhdGlvID4gbWluUmF0aW8pIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmltYWdlLCAnd2lkdGgnLCBgJHtib3hXaWR0aH1weGApO1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuaW1hZ2UsICdoZWlnaHQnLCAnYXV0bycpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmltYWdlLCAnaGVpZ2h0JywgYCR7bWluSGVpZ2h0fXB4YCk7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5pbWFnZSwgJ3dpZHRoJywgJ2F1dG8nKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldCBhdmFpbGFibGUgcGl4ZWxzIGFuZCBzdGFydCAmIHN0b3AgcGFyYWxsYXggcG9pbnRzIGZvciBiZXR0ZXIgY3B1IHVzYWdlXHJcbiAgICogQHBhcmFtIHNjcm9sbFRvcCBwaXhlbHMgZnJvbSB0aGUgdG9wIG9mIHRoZSBwYWdlIHRvIHRoZSBjdXJyZW50IHZpZXdcclxuICAgKi9cclxuICBwcml2YXRlIHNldFBhcmFsbGF4VmFsdWVzKHNjcm9sbFRvcDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBjb25zdCBlbGVtZW50UG9zaXRpb24gPSB0aGlzLmh0bWxFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICB0aGlzLmF2YWlsYWJsZVBpeGVscyA9IHRoaXMuaW1hZ2UuaGVpZ2h0IC0gZWxlbWVudFBvc2l0aW9uLmhlaWdodDtcclxuICAgIHRoaXMuc3RhcnRQb2ludCA9IGVsZW1lbnRQb3NpdGlvbi50b3AgKyBzY3JvbGxUb3AgLSB3aW5kb3cuaW5uZXJIZWlnaHQ7XHJcbiAgICB0aGlzLmVuZFBvaW50ID0gZWxlbWVudFBvc2l0aW9uLnRvcCArIHNjcm9sbFRvcCArIGVsZW1lbnRQb3NpdGlvbi5oZWlnaHQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXQgaW1hZ2UgdHJhbnNmb3JtIHByb3BlcnR5XHJcbiAgICogQHBhcmFtIGltYWdlTGVmdCBpbWFnZSBsZWZ0IHNoaWZ0IGluIHBpeGVsc1xyXG4gICAqIEBwYXJhbSBpbWFnZVRvcCBpbWFnZXRvcCBzaGlmdCBpbiBwaXhlbHNcclxuICAgKi9cclxuICBwcml2YXRlIHNldEltYWdlVHJhbnNmb3JtKGltYWdlTGVmdDogbnVtYmVyLCBpbWFnZVRvcDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuaW1hZ2UsICd0cmFuc2Zvcm0nLCBgdHJhbnNsYXRlKCR7aW1hZ2VMZWZ0fXB4LCAke2ltYWdlVG9wfXB4KWApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IGltYWdlIGxlZnQgc2hpZnQgaW4gcGl4ZWxzXHJcbiAgICogQHBhcmFtIGNvbnRhaW5lcldpZHRoIGNvbnRhaW5lciB3aWR0aCBpbiBwaXhlbHNcclxuICAgKi9cclxuICBwcml2YXRlIGdldEltYWdlTGVmdChjb250YWluZXJXaWR0aDogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgIHJldHVybiAtKCh0aGlzLmltYWdlLndpZHRoIC0gY29udGFpbmVyV2lkdGgpIC8gMTAwICogdGhpcy5wb3NpdGlvblBlcmNlbnRhZ2UpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IGltYWdlIHRvcCBzaGlmdCBpbiBwaXhlbHNcclxuICAgKiBAcGFyYW0gc2Nyb2xsVG9wIHBpeGVscyBmcm9tIHRoZSB0b3Agb2YgdGhlIHBhZ2UgdG8gdGhlIGN1cnJlbnQgdmlld1xyXG4gICAqL1xyXG4gIHByaXZhdGUgZ2V0SW1hZ2VUb3Aoc2Nyb2xsVG9wOiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgaWYgKHRoaXMuaXNEaXNhYmxlZCkge1xyXG4gICAgICByZXR1cm4gLXRoaXMuYXZhaWxhYmxlUGl4ZWxzIC8gMjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBwYXJhbGxheFBvc2l0aW9uUGl4ZWxzID0gTWF0aC5taW4odGhpcy5lbmRQb2ludCAtIHRoaXMuc3RhcnRQb2ludCwgTWF0aC5tYXgoMCwgc2Nyb2xsVG9wIC0gdGhpcy5zdGFydFBvaW50KSk7XHJcbiAgICBjb25zdCBpbWFnZVRvcCA9ICh0aGlzLmF2YWlsYWJsZVBpeGVscyAvIDEwMCkgKiAoMTAwIC0gKDEwMCAqIHBhcmFsbGF4UG9zaXRpb25QaXhlbHMpIC8gKHRoaXMuZW5kUG9pbnQgLSB0aGlzLnN0YXJ0UG9pbnQpKTtcclxuICAgIHJldHVybiAtaW1hZ2VUb3A7XHJcbiAgfVxyXG59XHJcbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmZ4LXBhcmFsbGF4LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJFOi9TdmlsdXBwb19sYmllbHNraS9SZXBvcy9SRlhMaWJyYXJ5L3Byb2plY3RzL3JmeC1wYXJhbGxheC9zcmMvIiwic291cmNlcyI6WyJsaWIvcmZ4LXBhcmFsbGF4LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQWdDLFNBQVMsRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFckgsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFLNUQsTUFBTSxPQUFPLG9CQUFvQjtJQWtCL0IsWUFDVSxXQUF1QixFQUN2QixRQUFtQixFQUNuQixrQkFBc0M7UUFGdEMsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDdkIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBRTlDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO0lBQy9CLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQ3pCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNyQztRQUVELElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQ3pCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNyQztJQUNILENBQUM7SUFFTSxXQUFXLENBQUMsT0FBc0I7O1FBQ3ZDLFVBQUksT0FBTyxDQUFDLFFBQVEsMENBQUUsWUFBWSxFQUFFO1lBQ2xDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUMvQzthQUFNLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNyQixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztTQUM5QjtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNLLFlBQVk7UUFDbEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQzlFLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDakQsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNkLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUN2RDtRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQy9FLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDZCxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQzthQUM5QjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNLLFNBQVMsQ0FBQyxRQUFnQjtRQUNoQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsUUFBUSxDQUFDO1FBQzFCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsWUFBWSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXZELElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRTtZQUN2QixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFlBQVksRUFBRSxTQUFTLENBQUMsQ0FBQztRQUM5RCxDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSyxxQkFBcUI7UUFDM0IsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQy9FLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRDs7T0FFRztJQUNLLG1CQUFtQjtRQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLEVBQUU7WUFDakUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1NBQ2hGO1FBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEgsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRDs7O09BR0c7SUFDSyx1QkFBdUIsQ0FBQyxPQUFnQjtRQUM5QyxPQUFPLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdEYsQ0FBQztJQUVEOztPQUVHO0lBQ0ssWUFBWTtRQUNsQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUM7UUFDOUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDO1FBQzVELE1BQU0sU0FBUyxHQUFHLENBQUMsU0FBUyxHQUFHLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO1FBQ3RFLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDO1FBQ2pFLE1BQU0sUUFBUSxHQUFHLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFFdEMsSUFBSSxLQUFLLEdBQUcsUUFBUSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEdBQUcsUUFBUSxJQUFJLENBQUMsQ0FBQztZQUM3RCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztTQUN0RDthQUFNO1lBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsR0FBRyxTQUFTLElBQUksQ0FBQyxDQUFDO1lBQy9ELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQ3JEO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNLLGlCQUFpQixDQUFDLFNBQWlCO1FBQ3pDLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDL0UsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxlQUFlLENBQUMsTUFBTSxDQUFDO1FBQ2xFLElBQUksQ0FBQyxVQUFVLEdBQUcsZUFBZSxDQUFDLEdBQUcsR0FBRyxTQUFTLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQztRQUN2RSxJQUFJLENBQUMsUUFBUSxHQUFHLGVBQWUsQ0FBQyxHQUFHLEdBQUcsU0FBUyxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUM7SUFDM0UsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxpQkFBaUIsQ0FBQyxTQUFpQixFQUFFLFFBQWdCO1FBQzNELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLGFBQWEsU0FBUyxPQUFPLFFBQVEsS0FBSyxDQUFDLENBQUM7SUFDOUYsQ0FBQztJQUVEOzs7T0FHRztJQUNLLFlBQVksQ0FBQyxjQUFzQjtRQUN6QyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLGNBQWMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssV0FBVyxDQUFDLFNBQWlCO1FBQ25DLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNuQixPQUFPLENBQUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUM7U0FDbEM7UUFFRCxNQUFNLHNCQUFzQixHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUNuSCxNQUFNLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUcsc0JBQXNCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDM0gsT0FBTyxDQUFDLFFBQVEsQ0FBQztJQUNuQixDQUFDOzs7WUF4TEYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxrQkFBa0I7YUFDN0I7OztZQU5tQixVQUFVO1lBQXVDLFNBQVM7WUFFckUsa0JBQWtCOzs7aUNBTXhCLEtBQUs7aUNBQ0wsS0FBSzt1QkFDTCxLQUFLOzBCQUNMLEtBQUs7OEJBQ0wsS0FBSzt5QkFDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgUmVuZGVyZXIyLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBSZnhQYXJhbGxheFNlcnZpY2UgfSBmcm9tICcuL3JmeC1wYXJhbGxheC5zZXJ2aWNlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2xpYlJmeFBhcmFsbGF4XSdcclxufSlcclxuZXhwb3J0IGNsYXNzIFJmeFBhcmFsbGF4RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KCkgcHVibGljIHBhcmFsbGF4UGVyY2VudGFnZTogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBwb3NpdGlvblBlcmNlbnRhZ2U6IG51bWJlcjtcclxuICBASW5wdXQoKSBwdWJsaWMgaW1hZ2VVcmw6IHN0cmluZztcclxuICBASW5wdXQoKSBwdWJsaWMgaW1hZ2VaSW5kZXg6IG51bWJlcjtcclxuICBASW5wdXQoKSBwdWJsaWMgdmlzaWJsZU92ZXJmbG93OiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBpc0Rpc2FibGVkOiBib29sZWFuO1xyXG5cclxuICBwcml2YXRlIGltYWdlOiBIVE1MSW1hZ2VFbGVtZW50O1xyXG4gIHByaXZhdGUgYXZhaWxhYmxlUGl4ZWxzOiBudW1iZXI7XHJcbiAgcHJpdmF0ZSBzdGFydFBvaW50OiBudW1iZXI7XHJcbiAgcHJpdmF0ZSBlbmRQb2ludDogbnVtYmVyO1xyXG4gIHByaXZhdGUgaW1hZ2VMZWZ0OiBudW1iZXI7XHJcbiAgcHJpdmF0ZSBpbWFnZVRvcDogbnVtYmVyO1xyXG5cclxuICBwcml2YXRlIG9uU2Nyb2xsTGlzdGVuZXI6IFN1YnNjcmlwdGlvbjtcclxuICBwcml2YXRlIG9uUmVzaXplTGlzdGVuZXI6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGh0bWxFbGVtZW50OiBFbGVtZW50UmVmLFxyXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHJpdmF0ZSByZnhQYXJhbGxheFNlcnZpY2U6IFJmeFBhcmFsbGF4U2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5wYXJhbGxheFBlcmNlbnRhZ2UgPSAyMDtcclxuICAgIHRoaXMucG9zaXRpb25QZXJjZW50YWdlID0gNTA7XHJcbiAgICB0aGlzLmltYWdlWkluZGV4ID0gLTE7XHJcbiAgICB0aGlzLmlzRGlzYWJsZWQgPSBmYWxzZTtcclxuICAgIHRoaXMudmlzaWJsZU92ZXJmbG93ID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNldExpc3RlbmVycygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMub25TY3JvbGxMaXN0ZW5lcikge1xyXG4gICAgICB0aGlzLm9uU2Nyb2xsTGlzdGVuZXIudW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5vblJlc2l6ZUxpc3RlbmVyKSB7XHJcbiAgICAgIHRoaXMub25SZXNpemVMaXN0ZW5lci51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzLmltYWdlVXJsPy5jdXJyZW50VmFsdWUpIHtcclxuICAgICAgdGhpcy5sb2FkSW1hZ2UoY2hhbmdlcy5pbWFnZVVybC5jdXJyZW50VmFsdWUpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmltYWdlKSB7XHJcbiAgICAgIHRoaXMuc2V0UGFyYWxsYXhQcm9wZXJ0aWVzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTdWJzY3JpYmUgdG8gc2Nyb2xsIGFuZCByZXNpemUgbGlzdGVuZXJzXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzZXRMaXN0ZW5lcnMoKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uU2Nyb2xsTGlzdGVuZXIgPSB0aGlzLnJmeFBhcmFsbGF4U2VydmljZS5nZXRNb3VzZVNjcm9sbCgpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuaW1hZ2VUb3AgPSB0aGlzLmdldEltYWdlVG9wKHdpbmRvdy5zY3JvbGxZKTtcclxuICAgICAgaWYgKHRoaXMuaW1hZ2UpIHtcclxuICAgICAgICB0aGlzLnNldEltYWdlVHJhbnNmb3JtKHRoaXMuaW1hZ2VMZWZ0LCB0aGlzLmltYWdlVG9wKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5vblJlc2l6ZUxpc3RlbmVyID0gdGhpcy5yZnhQYXJhbGxheFNlcnZpY2UuZ2V0V2luZG93UmVzaXplKCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgaWYgKHRoaXMuaW1hZ2UpIHtcclxuICAgICAgICB0aGlzLnNldFBhcmFsbGF4UHJvcGVydGllcygpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIExvYWQgcGFyYWxsYXggaW1hZ2UgZnJvbSBpbWFnZVVybFxyXG4gICAqIEBwYXJhbSBpbWFnZVVybCBpbWFnZSB1cmxcclxuICAgKi9cclxuICBwcml2YXRlIGxvYWRJbWFnZShpbWFnZVVybDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLmltYWdlID0gbmV3IEltYWdlKCk7XHJcbiAgICB0aGlzLmltYWdlLnNyYyA9IGltYWdlVXJsO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmltYWdlLCAndmlzaWxpYml0eScsICdoaWRkZW4nKTtcclxuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5pbWFnZSwgJ3BhcmFsbGF4LWltYWdlJyk7XHJcbiAgICB0aGlzLmh0bWxFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5pbWFnZSk7XHJcblxyXG4gICAgdGhpcy5pbWFnZS5vbmxvYWQgPSAoKSA9PiB7XHJcbiAgICAgIHRoaXMuc2V0UGFyYWxsYXhQcm9wZXJ0aWVzKCk7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5pbWFnZSwgJ3Zpc2liaWxpdHknLCAndmlzaWJsZScpO1xyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldCBwYXJhbGxheCBwcm9wZXJ0aWVzIGFuZCBwb3NpdGlvblxyXG4gICAqL1xyXG4gIHByaXZhdGUgc2V0UGFyYWxsYXhQcm9wZXJ0aWVzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXRTdGF0aWNQcm9wZXJ0aWVzKCk7XHJcbiAgICB0aGlzLnNldEltYWdlU2l6ZSgpO1xyXG4gICAgdGhpcy5zZXRQYXJhbGxheFZhbHVlcyh3aW5kb3cuc2Nyb2xsWSk7XHJcbiAgICB0aGlzLmltYWdlTGVmdCA9IHRoaXMuZ2V0SW1hZ2VMZWZ0KHRoaXMuaHRtbEVsZW1lbnQubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCk7XHJcbiAgICB0aGlzLmltYWdlVG9wID0gdGhpcy5nZXRJbWFnZVRvcCh3aW5kb3cuc2Nyb2xsWSk7XHJcbiAgICB0aGlzLnNldEltYWdlVHJhbnNmb3JtKHRoaXMuaW1hZ2VMZWZ0LCB0aGlzLmltYWdlVG9wKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldCBkZWZhdWx0IHByb3BlcnRpZXMgZm9yIGNvbnRhaW5lciBhbmQgaW1hZ2VcclxuICAgKi9cclxuICBwcml2YXRlIHNldFN0YXRpY1Byb3BlcnRpZXMoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuaXNBbHJlYWR5UG9zaXRpb25BYnNSZWwodGhpcy5odG1sRWxlbWVudC5uYXRpdmVFbGVtZW50KSkge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuaHRtbEVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ3Bvc2l0aW9uJywgJ3JlbGF0aXZlJyk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmh0bWxFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdvdmVyZmxvdycsIHRoaXMudmlzaWJsZU92ZXJmbG93ID8gJ3Zpc2libGUnIDogJ2hpZGRlbicpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmltYWdlLCAnei1pbmRleCcsIHRoaXMuaW1hZ2VaSW5kZXgpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmltYWdlLCAncG9zaXRpb24nLCAnYWJzb2x1dGUnKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5pbWFnZSwgJ2xlZnQnLCAnMCcpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmltYWdlLCAndG9wJywgJzAnKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENoZWNrIGlmIGVsZW1lbnQgaGFzIHBvc2l0aW9uIGFic29sdXRlIG9yIHJlbGF0aXZlXHJcbiAgICogQHBhcmFtIGVsZW1lbnQgaHRtbCBlbGVtZW50XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBpc0FscmVhZHlQb3NpdGlvbkFic1JlbChlbGVtZW50OiBFbGVtZW50KTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gWydhYnNvbHV0ZScsICdyZWxhdGl2ZSddLmluY2x1ZGVzKHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpLnBvc2l0aW9uKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldCBkZWZhdWx0IGltYWdlIHNpemUgdGhhdCBtYXRjaCBwcm9wZXJ0aWVzXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzZXRJbWFnZVNpemUoKTogdm9pZCB7XHJcbiAgICBjb25zdCBib3hIZWlnaHQgPSB0aGlzLmh0bWxFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0O1xyXG4gICAgY29uc3QgYm94V2lkdGggPSB0aGlzLmh0bWxFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGg7XHJcbiAgICBjb25zdCBtaW5IZWlnaHQgPSAoYm94SGVpZ2h0ICogKDEwMCArIHRoaXMucGFyYWxsYXhQZXJjZW50YWdlKSkgLyAxMDA7XHJcbiAgICBjb25zdCByYXRpbyA9IHRoaXMuaW1hZ2UubmF0dXJhbEhlaWdodCAvIHRoaXMuaW1hZ2UubmF0dXJhbFdpZHRoO1xyXG4gICAgY29uc3QgbWluUmF0aW8gPSBtaW5IZWlnaHQgLyBib3hXaWR0aDtcclxuXHJcbiAgICBpZiAocmF0aW8gPiBtaW5SYXRpbykge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuaW1hZ2UsICd3aWR0aCcsIGAke2JveFdpZHRofXB4YCk7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5pbWFnZSwgJ2hlaWdodCcsICdhdXRvJyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuaW1hZ2UsICdoZWlnaHQnLCBgJHttaW5IZWlnaHR9cHhgKTtcclxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmltYWdlLCAnd2lkdGgnLCAnYXV0bycpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0IGF2YWlsYWJsZSBwaXhlbHMgYW5kIHN0YXJ0ICYgc3RvcCBwYXJhbGxheCBwb2ludHMgZm9yIGJldHRlciBjcHUgdXNhZ2VcclxuICAgKiBAcGFyYW0gc2Nyb2xsVG9wIHBpeGVscyBmcm9tIHRoZSB0b3Agb2YgdGhlIHBhZ2UgdG8gdGhlIGN1cnJlbnQgdmlld1xyXG4gICAqL1xyXG4gIHByaXZhdGUgc2V0UGFyYWxsYXhWYWx1ZXMoc2Nyb2xsVG9wOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGNvbnN0IGVsZW1lbnRQb3NpdGlvbiA9IHRoaXMuaHRtbEVsZW1lbnQubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIHRoaXMuYXZhaWxhYmxlUGl4ZWxzID0gdGhpcy5pbWFnZS5oZWlnaHQgLSBlbGVtZW50UG9zaXRpb24uaGVpZ2h0O1xyXG4gICAgdGhpcy5zdGFydFBvaW50ID0gZWxlbWVudFBvc2l0aW9uLnRvcCArIHNjcm9sbFRvcCAtIHdpbmRvdy5pbm5lckhlaWdodDtcclxuICAgIHRoaXMuZW5kUG9pbnQgPSBlbGVtZW50UG9zaXRpb24udG9wICsgc2Nyb2xsVG9wICsgZWxlbWVudFBvc2l0aW9uLmhlaWdodDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldCBpbWFnZSB0cmFuc2Zvcm0gcHJvcGVydHlcclxuICAgKiBAcGFyYW0gaW1hZ2VMZWZ0IGltYWdlIGxlZnQgc2hpZnQgaW4gcGl4ZWxzXHJcbiAgICogQHBhcmFtIGltYWdlVG9wIGltYWdldG9wIHNoaWZ0IGluIHBpeGVsc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgc2V0SW1hZ2VUcmFuc2Zvcm0oaW1hZ2VMZWZ0OiBudW1iZXIsIGltYWdlVG9wOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5pbWFnZSwgJ3RyYW5zZm9ybScsIGB0cmFuc2xhdGUoJHtpbWFnZUxlZnR9cHgsICR7aW1hZ2VUb3B9cHgpYCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgaW1hZ2UgbGVmdCBzaGlmdCBpbiBwaXhlbHNcclxuICAgKiBAcGFyYW0gY29udGFpbmVyV2lkdGggY29udGFpbmVyIHdpZHRoIGluIHBpeGVsc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgZ2V0SW1hZ2VMZWZ0KGNvbnRhaW5lcldpZHRoOiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIC0oKHRoaXMuaW1hZ2Uud2lkdGggLSBjb250YWluZXJXaWR0aCkgLyAxMDAgKiB0aGlzLnBvc2l0aW9uUGVyY2VudGFnZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgaW1hZ2UgdG9wIHNoaWZ0IGluIHBpeGVsc1xyXG4gICAqIEBwYXJhbSBzY3JvbGxUb3AgcGl4ZWxzIGZyb20gdGhlIHRvcCBvZiB0aGUgcGFnZSB0byB0aGUgY3VycmVudCB2aWV3XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBnZXRJbWFnZVRvcChzY3JvbGxUb3A6IG51bWJlcik6IG51bWJlciB7XHJcbiAgICBpZiAodGhpcy5pc0Rpc2FibGVkKSB7XHJcbiAgICAgIHJldHVybiAtdGhpcy5hdmFpbGFibGVQaXhlbHMgLyAyO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHBhcmFsbGF4UG9zaXRpb25QaXhlbHMgPSBNYXRoLm1pbih0aGlzLmVuZFBvaW50IC0gdGhpcy5zdGFydFBvaW50LCBNYXRoLm1heCgwLCBzY3JvbGxUb3AgLSB0aGlzLnN0YXJ0UG9pbnQpKTtcclxuICAgIGNvbnN0IGltYWdlVG9wID0gKHRoaXMuYXZhaWxhYmxlUGl4ZWxzIC8gMTAwKSAqICgxMDAgLSAoMTAwICogcGFyYWxsYXhQb3NpdGlvblBpeGVscykgLyAodGhpcy5lbmRQb2ludCAtIHRoaXMuc3RhcnRQb2ludCkpO1xyXG4gICAgcmV0dXJuIC1pbWFnZVRvcDtcclxuICB9XHJcbn1cclxuIl19 |
@@ -92,6 +92,10 @@ import { ɵɵdefineInjectable, Injectable, Directive, ElementRef, Renderer2, Input, NgModule } from '@angular/core'; | ||
this.imageTop = this.getImageTop(window.scrollY); | ||
this.setImageTransform(this.imageLeft, this.imageTop); | ||
if (this.image) { | ||
this.setImageTransform(this.imageLeft, this.imageTop); | ||
} | ||
}); | ||
this.onResizeListener = this.rfxParallaxService.getWindowResize().subscribe(() => { | ||
this.setParallaxProperties(); | ||
if (this.image) { | ||
this.setParallaxProperties(); | ||
} | ||
}); | ||
@@ -98,0 +102,0 @@ } |
{ | ||
"name": "rfx-parallax", | ||
"version": "1.2.1", | ||
"version": "1.2.2", | ||
"description": "RfxParallax - parallax made easy", | ||
@@ -5,0 +5,0 @@ "author": "RedFoxxo", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
112023
873