Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

ngx-slick-carousel

Package Overview
Dependencies
Maintainers
1
Versions
28
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ngx-slick-carousel - npm Package Compare versions

Comparing version 0.5.0 to 0.5.1

18

bundles/ngx-slick-carousel.umd.js

@@ -28,2 +28,4 @@ (function (global, factory) {

this.init = new core.EventEmitter();
// access from parent component can be a problem with change detection timing. Please use afterChange output
this.currentIndex = 0;
this.slides = [];

@@ -162,4 +164,5 @@ this.initialized = false;

function () {
var _a;
_this.initialized = true;
_this.currentIndex = (_this.config && _this.config.initialSlide) ? _this.config.initialSlide : 0;
_this.currentIndex = ((_a = _this.config) === null || _a === void 0 ? void 0 : _a.initialSlide) || 0;
}));

@@ -177,3 +180,9 @@ _this.$instance.on('afterChange', (/**

function () {
_this.afterChange.emit({ event: event, slick: slick, currentSlide: currentSlide });
_this.afterChange.emit({
event: event,
slick: slick,
currentSlide: currentSlide,
first: currentSlide === 0,
last: slick.$slides.length === currentSlide + slick.options.slidesToScroll
});
_this.currentIndex = currentSlide;

@@ -425,3 +434,6 @@ }));

SlickCarouselComponent.prototype.$instance;
/** @type {?} */
/**
* @type {?}
* @private
*/
SlickCarouselComponent.prototype.currentIndex;

@@ -428,0 +440,0 @@ /** @type {?} */

2

bundles/ngx-slick-carousel.umd.min.js

@@ -1,2 +0,2 @@

!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/common"),require("@angular/core"),require("@angular/forms")):"function"==typeof define&&define.amd?define("ngx-slick-carousel",["exports","@angular/common","@angular/core","@angular/forms"],t):t((e=e||self)["ngx-slick-carousel"]={},e.ng.common,e.ng.core,e.ng.forms)}(this,(function(e,t,n,i){"use strict";var o=function(){function e(e,t,i){this.el=e,this.zone=t,this.platformId=i,this.afterChange=new n.EventEmitter,this.beforeChange=new n.EventEmitter,this.breakpoint=new n.EventEmitter,this.destroy=new n.EventEmitter,this.init=new n.EventEmitter,this.slides=[],this.initialized=!1,this._removedSlides=[],this._addedSlides=[]}return e.prototype.ngOnDestroy=function(){this.unslick()},e.prototype.ngAfterViewInit=function(){this.ngAfterViewChecked()},e.prototype.ngAfterViewChecked=function(){var e=this;if(!t.isPlatformServer(this.platformId)&&(this._addedSlides.length>0||this._removedSlides.length>0)){var n=this.slides.length-this._removedSlides.length+this._addedSlides.length;this.initialized?0===n?this.unslick():(this._addedSlides.forEach((function(t){e.slides.push(t),e.zone.runOutsideAngular((function(){e.$instance.slick("slickAdd",t.el.nativeElement)}))})),this._addedSlides=[],this._removedSlides.forEach((function(t){var n=e.slides.indexOf(t);e.slides=e.slides.filter((function(e){return e!==t})),e.zone.runOutsideAngular((function(){e.$instance.slick("slickRemove",n)}))})),this._removedSlides=[]):n>0&&this.initSlick()}},e.prototype.initSlick=function(){var e=this;this.slides=this._addedSlides,this._addedSlides=[],this._removedSlides=[],this.zone.runOutsideAngular((function(){e.$instance=jQuery(e.el.nativeElement),e.$instance.on("init",(function(t,n){e.zone.run((function(){e.init.emit({event:t,slick:n})}))})),e.$instance.slick(e.config),e.zone.run((function(){e.initialized=!0,e.currentIndex=e.config&&e.config.initialSlide?e.config.initialSlide:0})),e.$instance.on("afterChange",(function(t,n,i){e.zone.run((function(){e.afterChange.emit({event:t,slick:n,currentSlide:i}),e.currentIndex=i}))})),e.$instance.on("beforeChange",(function(t,n,i,o){e.zone.run((function(){e.beforeChange.emit({event:t,slick:n,currentSlide:i,nextSlide:o}),e.currentIndex=o}))})),e.$instance.on("breakpoint",(function(t,n,i){e.zone.run((function(){e.breakpoint.emit({event:t,slick:n,breakpoint:i})}))})),e.$instance.on("destroy",(function(t,n){e.zone.run((function(){e.destroy.emit({event:t,slick:n}),e.initialized=!1}))}))}))},e.prototype.addSlide=function(e){this._addedSlides.push(e)},e.prototype.removeSlide=function(e){this._removedSlides.push(e)},e.prototype.slickGoTo=function(e){var t=this;this.zone.runOutsideAngular((function(){t.$instance.slick("slickGoTo",e)}))},e.prototype.slickNext=function(){var e=this;this.zone.runOutsideAngular((function(){e.$instance.slick("slickNext")}))},e.prototype.slickPrev=function(){var e=this;this.zone.runOutsideAngular((function(){e.$instance.slick("slickPrev")}))},e.prototype.slickPause=function(){var e=this;this.zone.runOutsideAngular((function(){e.$instance.slick("slickPause")}))},e.prototype.slickPlay=function(){var e=this;this.zone.runOutsideAngular((function(){e.$instance.slick("slickPlay")}))},e.prototype.unslick=function(){var e=this;this.$instance&&(this.zone.runOutsideAngular((function(){e.$instance.slick("unslick")})),this.$instance=void 0),this.initialized=!1},e.prototype.ngOnChanges=function(e){var t=this;if(this.initialized){var n=e.config;if(n.previousValue!==n.currentValue&&void 0!==n.currentValue){var i=n.currentValue.refresh,o=Object.assign({},n.currentValue);delete o.refresh,this.zone.runOutsideAngular((function(){t.$instance.slick("slickSetOption",o,i)}))}}},e.decorators=[{type:n.Component,args:[{selector:"ngx-slick-carousel",exportAs:"slick-carousel",providers:[{provide:i.NG_VALUE_ACCESSOR,useExisting:n.forwardRef((function(){return e})),multi:!0}],template:"<ng-content></ng-content>"}]}],e.ctorParameters=function(){return[{type:n.ElementRef},{type:n.NgZone},{type:String,decorators:[{type:n.Inject,args:[n.PLATFORM_ID]}]}]},e.propDecorators={config:[{type:n.Input}],afterChange:[{type:n.Output}],beforeChange:[{type:n.Output}],breakpoint:[{type:n.Output}],destroy:[{type:n.Output}],init:[{type:n.Output}]},e}();var r=function(){function e(e,t,n){this.el=e,this.platformId=t,this.carousel=n}return e.prototype.ngOnInit=function(){t.isPlatformBrowser(this.platformId)&&this.carousel.addSlide(this)},e.prototype.ngOnDestroy=function(){t.isPlatformBrowser(this.platformId)&&this.carousel.removeSlide(this)},e.decorators=[{type:n.Directive,args:[{selector:"[ngxSlickItem]"}]}],e.ctorParameters=function(){return[{type:n.ElementRef},{type:String,decorators:[{type:n.Inject,args:[n.PLATFORM_ID]}]},{type:o,decorators:[{type:n.Host}]}]},e}();var s=function(){function e(){}return e.decorators=[{type:n.NgModule,args:[{imports:[t.CommonModule],declarations:[o,r],exports:[o,r]}]}],e}();e.SlickCarouselComponent=o,e.SlickCarouselModule=s,e.SlickItemDirective=r,Object.defineProperty(e,"__esModule",{value:!0})}));
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/common"),require("@angular/core"),require("@angular/forms")):"function"==typeof define&&define.amd?define("ngx-slick-carousel",["exports","@angular/common","@angular/core","@angular/forms"],t):t((e=e||self)["ngx-slick-carousel"]={},e.ng.common,e.ng.core,e.ng.forms)}(this,(function(e,t,n,i){"use strict";var s=function(){function e(e,t,i){this.el=e,this.zone=t,this.platformId=i,this.afterChange=new n.EventEmitter,this.beforeChange=new n.EventEmitter,this.breakpoint=new n.EventEmitter,this.destroy=new n.EventEmitter,this.init=new n.EventEmitter,this.currentIndex=0,this.slides=[],this.initialized=!1,this._removedSlides=[],this._addedSlides=[]}return e.prototype.ngOnDestroy=function(){this.unslick()},e.prototype.ngAfterViewInit=function(){this.ngAfterViewChecked()},e.prototype.ngAfterViewChecked=function(){var e=this;if(!t.isPlatformServer(this.platformId)&&(this._addedSlides.length>0||this._removedSlides.length>0)){var n=this.slides.length-this._removedSlides.length+this._addedSlides.length;this.initialized?0===n?this.unslick():(this._addedSlides.forEach((function(t){e.slides.push(t),e.zone.runOutsideAngular((function(){e.$instance.slick("slickAdd",t.el.nativeElement)}))})),this._addedSlides=[],this._removedSlides.forEach((function(t){var n=e.slides.indexOf(t);e.slides=e.slides.filter((function(e){return e!==t})),e.zone.runOutsideAngular((function(){e.$instance.slick("slickRemove",n)}))})),this._removedSlides=[]):n>0&&this.initSlick()}},e.prototype.initSlick=function(){var e=this;this.slides=this._addedSlides,this._addedSlides=[],this._removedSlides=[],this.zone.runOutsideAngular((function(){e.$instance=jQuery(e.el.nativeElement),e.$instance.on("init",(function(t,n){e.zone.run((function(){e.init.emit({event:t,slick:n})}))})),e.$instance.slick(e.config),e.zone.run((function(){var t;e.initialized=!0,e.currentIndex=(null===(t=e.config)||void 0===t?void 0:t.initialSlide)||0})),e.$instance.on("afterChange",(function(t,n,i){e.zone.run((function(){e.afterChange.emit({event:t,slick:n,currentSlide:i,first:0===i,last:n.$slides.length===i+n.options.slidesToScroll}),e.currentIndex=i}))})),e.$instance.on("beforeChange",(function(t,n,i,s){e.zone.run((function(){e.beforeChange.emit({event:t,slick:n,currentSlide:i,nextSlide:s}),e.currentIndex=s}))})),e.$instance.on("breakpoint",(function(t,n,i){e.zone.run((function(){e.breakpoint.emit({event:t,slick:n,breakpoint:i})}))})),e.$instance.on("destroy",(function(t,n){e.zone.run((function(){e.destroy.emit({event:t,slick:n}),e.initialized=!1}))}))}))},e.prototype.addSlide=function(e){this._addedSlides.push(e)},e.prototype.removeSlide=function(e){this._removedSlides.push(e)},e.prototype.slickGoTo=function(e){var t=this;this.zone.runOutsideAngular((function(){t.$instance.slick("slickGoTo",e)}))},e.prototype.slickNext=function(){var e=this;this.zone.runOutsideAngular((function(){e.$instance.slick("slickNext")}))},e.prototype.slickPrev=function(){var e=this;this.zone.runOutsideAngular((function(){e.$instance.slick("slickPrev")}))},e.prototype.slickPause=function(){var e=this;this.zone.runOutsideAngular((function(){e.$instance.slick("slickPause")}))},e.prototype.slickPlay=function(){var e=this;this.zone.runOutsideAngular((function(){e.$instance.slick("slickPlay")}))},e.prototype.unslick=function(){var e=this;this.$instance&&(this.zone.runOutsideAngular((function(){e.$instance.slick("unslick")})),this.$instance=void 0),this.initialized=!1},e.prototype.ngOnChanges=function(e){var t=this;if(this.initialized){var n=e.config;if(n.previousValue!==n.currentValue&&void 0!==n.currentValue){var i=n.currentValue.refresh,s=Object.assign({},n.currentValue);delete s.refresh,this.zone.runOutsideAngular((function(){t.$instance.slick("slickSetOption",s,i)}))}}},e.decorators=[{type:n.Component,args:[{selector:"ngx-slick-carousel",exportAs:"slick-carousel",providers:[{provide:i.NG_VALUE_ACCESSOR,useExisting:n.forwardRef((function(){return e})),multi:!0}],template:"<ng-content></ng-content>"}]}],e.ctorParameters=function(){return[{type:n.ElementRef},{type:n.NgZone},{type:String,decorators:[{type:n.Inject,args:[n.PLATFORM_ID]}]}]},e.propDecorators={config:[{type:n.Input}],afterChange:[{type:n.Output}],beforeChange:[{type:n.Output}],breakpoint:[{type:n.Output}],destroy:[{type:n.Output}],init:[{type:n.Output}]},e}();var r=function(){function e(e,t,n){this.el=e,this.platformId=t,this.carousel=n}return e.prototype.ngOnInit=function(){t.isPlatformBrowser(this.platformId)&&this.carousel.addSlide(this)},e.prototype.ngOnDestroy=function(){t.isPlatformBrowser(this.platformId)&&this.carousel.removeSlide(this)},e.decorators=[{type:n.Directive,args:[{selector:"[ngxSlickItem]"}]}],e.ctorParameters=function(){return[{type:n.ElementRef},{type:String,decorators:[{type:n.Inject,args:[n.PLATFORM_ID]}]},{type:s,decorators:[{type:n.Host}]}]},e}();var o=function(){function e(){}return e.decorators=[{type:n.NgModule,args:[{imports:[t.CommonModule],declarations:[s,r],exports:[s,r]}]}],e}();e.SlickCarouselComponent=s,e.SlickCarouselModule=o,e.SlickItemDirective=r,Object.defineProperty(e,"__esModule",{value:!0})}));
//# sourceMappingURL=ngx-slick-carousel.umd.min.js.map

@@ -28,2 +28,4 @@ /**

this.init = new EventEmitter();
// access from parent component can be a problem with change detection timing. Please use afterChange output
this.currentIndex = 0;
this.slides = [];

@@ -136,4 +138,5 @@ this.initialized = false;

() => {
var _a;
this.initialized = true;
this.currentIndex = (this.config && this.config.initialSlide) ? this.config.initialSlide : 0;
this.currentIndex = ((_a = this.config) === null || _a === void 0 ? void 0 : _a.initialSlide) || 0;
}));

@@ -151,3 +154,9 @@ this.$instance.on('afterChange', (/**

() => {
this.afterChange.emit({ event, slick, currentSlide });
this.afterChange.emit({
event,
slick,
currentSlide,
first: currentSlide === 0,
last: slick.$slides.length === currentSlide + slick.options.slidesToScroll
});
this.currentIndex = currentSlide;

@@ -356,3 +365,6 @@ }));

SlickCarouselComponent.prototype.$instance;
/** @type {?} */
/**
* @type {?}
* @private
*/
SlickCarouselComponent.prototype.currentIndex;

@@ -442,2 +454,2 @@ /** @type {?} */

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LXNsaWNrLWNhcm91c2VsLyIsInNvdXJjZXMiOlsic2xpY2suY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdEUsT0FBTyxFQUdMLFNBQVMsRUFDVCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixVQUFVLEVBQ1YsSUFBSSxFQUNKLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUlOLE1BQU0sRUFDTixXQUFXLEVBRVosTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFpQm5ELE1BQU0sT0FBTyxzQkFBc0I7Ozs7Ozs7SUFtQmpDLFlBQW9CLEVBQWMsRUFDZCxJQUFZLEVBQ1MsVUFBa0I7UUFGdkMsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLFNBQUksR0FBSixJQUFJLENBQVE7UUFDUyxlQUFVLEdBQVYsVUFBVSxDQUFRO1FBbEJqRCxnQkFBVyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3BELGlCQUFZLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDckQsZUFBVSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ25ELFlBQU8sR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNoRCxTQUFJLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFJaEQsV0FBTSxHQUFVLEVBQUUsQ0FBQztRQUNuQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNuQixtQkFBYyxHQUF5QixFQUFFLENBQUM7UUFDMUMsaUJBQVksR0FBeUIsRUFBRSxDQUFDO0lBUWhELENBQUM7Ozs7O0lBS0QsV0FBVztRQUNULElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQixDQUFDOzs7O0lB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dkQsMkNBQXNCOztJQUN0Qiw4Q0FBNEI7O0lBQzVCLHdDQUEwQjs7SUFDMUIsNkNBQTJCOzs7OztJQUMzQixnREFBa0Q7Ozs7O0lBQ2xELDhDQUFnRDs7Ozs7SUFLcEMsb0NBQXNCOzs7OztJQUN0QixzQ0FBb0I7Ozs7O0lBQ3BCLDRDQUErQzs7QUErSzdELE1BQU0sT0FBTyxrQkFBa0I7Ozs7OztJQUM3QixZQUFtQixFQUFjLEVBQ1EsVUFBa0IsRUFDL0IsUUFBZ0M7UUFGekMsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNRLGVBQVUsR0FBVixVQUFVLENBQVE7UUFDL0IsYUFBUSxHQUFSLFFBQVEsQ0FBd0I7SUFDNUQsQ0FBQzs7OztJQUVELFFBQVE7UUFDTixJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUN0QyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM5QjtJQUNILENBQUM7Ozs7SUFFRCxXQUFXO1FBQ1QsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDdEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDakM7SUFDSCxDQUFDOzs7WUFuQkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxnQkFBZ0I7YUFDM0I7Ozs7WUFsT0MsVUFBVTt5Q0FxT0csTUFBTSxTQUFDLFdBQVc7WUFDTyxzQkFBc0IsdUJBQS9DLElBQUk7Ozs7SUFGTCxnQ0FBcUI7Ozs7O0lBQ3JCLHdDQUErQzs7Ozs7SUFDL0Msc0NBQWdEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIsIGlzUGxhdGZvcm1TZXJ2ZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3Q2hlY2tlZCxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSG9zdCxcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgTmdab25lLFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFBMQVRGT1JNX0lELFxuICBTaW1wbGVDaGFuZ2VzXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmRlY2xhcmUgY29uc3QgalF1ZXJ5OiBhbnk7XG5cbi8qKlxuICogU2xpY2sgY29tcG9uZW50XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25neC1zbGljay1jYXJvdXNlbCcsXG4gIGV4cG9ydEFzOiAnc2xpY2stY2Fyb3VzZWwnLFxuICBwcm92aWRlcnM6IFt7XG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2xpY2tDYXJvdXNlbENvbXBvbmVudCksXG4gICAgbXVsdGk6IHRydWVcbiAgfV0sXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG59KVxuZXhwb3J0IGNsYXNzIFNsaWNrQ2Fyb3VzZWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCwgQWZ0ZXJWaWV3Q2hlY2tlZCB7XG5cbiAgQElucHV0KCkgY29uZmlnOiBhbnk7XG4gIEBPdXRwdXQoKSBhZnRlckNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBiZWZvcmVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgYnJlYWtwb2ludDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBkZXN0cm95OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGluaXQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHB1YmxpYyAkaW5zdGFuY2U6IGFueTtcbiAgcHVibGljIGN1cnJlbnRJbmRleDogbnVtYmVyO1xuICBwdWJsaWMgc2xpZGVzOiBhbnlbXSA9IFtdO1xuICBwdWJsaWMgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfcmVtb3ZlZFNsaWRlczogU2xpY2tJdGVtRGlyZWN0aXZlW10gPSBbXTtcbiAgcHJpdmF0ZSBfYWRkZWRTbGlkZXM6IFNsaWNrSXRlbURpcmVjdGl2ZVtdID0gW107XG5cbiAgLyoqXG4gICAqIENvbnN0cnVjdG9yXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxuICAgICAgICAgICAgICBwcml2YXRlIHpvbmU6IE5nWm9uZSxcbiAgICAgICAgICAgICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBzdHJpbmcpIHtcbiAgfVxuXG4gIC8qKlxuICAgKiBPbiBjb21wb25lbnQgZGVzdHJveVxuICAgKi9cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy51bnNsaWNrKCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5uZ0FmdGVyVmlld0NoZWNrZWQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPbiBjb21wb25lbnQgdmlldyBjaGVja2VkXG4gICAqL1xuICBuZ0FmdGVyVmlld0NoZWNrZWQoKSB7XG4gICAgaWYgKGlzUGxhdGZvcm1TZXJ2ZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5fYWRkZWRTbGlkZXMubGVuZ3RoID4gMCB8fCB0aGlzLl9yZW1vdmVkU2xpZGVzLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IG5leHRTbGlkZXNMZW5ndGggPSB0aGlzLnNsaWRlcy5sZW5ndGggLSB0aGlzLl9yZW1vdmVkU2xpZGVzLmxlbmd0aCArIHRoaXMuX2FkZGVkU2xpZGVzLmxlbmd0aDtcbiAgICAgIGlmICghdGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgICBpZiAobmV4dFNsaWRlc0xlbmd0aCA+IDApIHtcbiAgICAgICAgICB0aGlzLmluaXRTbGljaygpO1xuICAgICAgICB9XG4gICAgICAgIC8vIGlmIG5leHRTbGlkZXNMZW5ndGggaXMgemVyZSwgZG8gbm90aGluZ1xuICAgICAgfSBlbHNlIGlmIChuZXh0U2xpZGVzTGVuZ3RoID09PSAwKSB7IC8vIHVuc2xpY2sgY2FzZVxuICAgICAgICB0aGlzLnVuc2xpY2soKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX2FkZGVkU2xpZGVzLmZvckVhY2goc2xpY2tJdGVtID0+IHtcbiAgICAgICAgICB0aGlzLnNsaWRlcy5wdXNoKHNsaWNrSXRlbSk7XG4gICAgICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuJGluc3RhbmNlLnNsaWNrKCdzbGlja0FkZCcsIHNsaWNrSXRlbS5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX2FkZGVkU2xpZGVzID0gW107XG5cbiAgICAgICAgdGhpcy5fcmVtb3ZlZFNsaWRlcy5mb3JFYWNoKHNsaWNrSXRlbSA9PiB7XG4gICAgICAgICAgY29uc3QgaWR4ID0gdGhpcy5zbGlkZXMuaW5kZXhPZihzbGlja0l0ZW0pO1xuICAgICAgICAgIHRoaXMuc2xpZGVzID0gdGhpcy5zbGlkZXMuZmlsdGVyKHMgPT4gcyAhPT0gc2xpY2tJdGVtKTtcbiAgICAgICAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy4kaW5zdGFuY2Uuc2xpY2soJ3NsaWNrUmVtb3ZlJywgaWR4KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX3JlbW92ZWRTbGlkZXMgPSBbXTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogaW5pdCBzbGlja1xuICAgKi9cbiAgaW5pdFNsaWNrKCkge1xuICAgIHRoaXMuc2xpZGVzID0gdGhpcy5fYWRkZWRTbGlkZXM7XG4gICAgdGhpcy5fYWRkZWRTbGlkZXMgPSBbXTtcbiAgICB0aGlzLl9yZW1vdmVkU2xpZGVzID0gW107XG4gICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIHRoaXMuJGluc3RhbmNlID0galF1ZXJ5KHRoaXMuZWwubmF0aXZlRWxlbWVudCk7XG5cbiAgICAgIHRoaXMuJGluc3RhbmNlLm9uKCdpbml0JywgKGV2ZW50LCBzbGljaykgPT4ge1xuICAgICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmluaXQuZW1pdCh7IGV2ZW50LCBzbGljayB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgICAgdGhpcy4kaW5zdGFuY2Uuc2xpY2sodGhpcy5jb25maWcpO1xuXG4gICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG5cbiAgICAgICAgdGhpcy5jdXJyZW50SW5kZXggPSAodGhpcy5jb25maWcgJiYgdGhpcy5jb25maWcuaW5pdGlhbFNsaWRlKSA/IHRoaXMuY29uZmlnLmluaXRpYWxTbGlkZSA6IDA7XG4gICAgICB9KTtcblxuICAgICAgdGhpcy4kaW5zdGFuY2Uub24oJ2FmdGVyQ2hhbmdlJywgKGV2ZW50LCBzbGljaywgY3VycmVudFNsaWRlKSA9PiB7XG4gICAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgIHRoaXMuYWZ0ZXJDaGFuZ2UuZW1pdCh7IGV2ZW50LCBzbGljaywgY3VycmVudFNsaWRlIH0pO1xuICAgICAgICAgIHRoaXMuY3VycmVudEluZGV4ID0gY3VycmVudFNsaWRlO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLiRpbnN0YW5jZS5vbignYmVmb3JlQ2hhbmdlJywgKGV2ZW50LCBzbGljaywgY3VycmVudFNsaWRlLCBuZXh0U2xpZGUpID0+IHtcbiAgICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgdGhpcy5iZWZvcmVDaGFuZ2UuZW1pdCh7IGV2ZW50LCBzbGljaywgY3VycmVudFNsaWRlLCBuZXh0U2xpZGUgfSk7XG4gICAgICAgICAgdGhpcy5jdXJyZW50SW5kZXggPSBuZXh0U2xpZGU7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuJGluc3RhbmNlLm9uKCdicmVha3BvaW50JywgKGV2ZW50LCBzbGljaywgYnJlYWtwb2ludCkgPT4ge1xuICAgICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmJyZWFrcG9pbnQuZW1pdCh7IGV2ZW50LCBzbGljaywgYnJlYWtwb2ludCB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgICAgdGhpcy4kaW5zdGFuY2Uub24oJ2Rlc3Ryb3knLCAoZXZlbnQsIHNsaWNrKSA9PiB7XG4gICAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgIHRoaXMuZGVzdHJveS5lbWl0KHsgZXZlbnQsIHNsaWNrIH0pO1xuICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSBmYWxzZTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIGFkZFNsaWRlKHNsaWNrSXRlbTogU2xpY2tJdGVtRGlyZWN0aXZlKSB7XG4gICAgdGhpcy5fYWRkZWRTbGlkZXMucHVzaChzbGlja0l0ZW0pO1xuICB9XG5cbiAgcmVtb3ZlU2xpZGUoc2xpY2tJdGVtOiBTbGlja0l0ZW1EaXJlY3RpdmUpIHtcbiAgICB0aGlzLl9yZW1vdmVkU2xpZGVzLnB1c2goc2xpY2tJdGVtKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTbGljayBNZXRob2RcbiAgICovXG4gIHB1YmxpYyBzbGlja0dvVG8oaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICB0aGlzLiRpbnN0YW5jZS5zbGljaygnc2xpY2tHb1RvJywgaW5kZXgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHNsaWNrTmV4dCgpIHtcbiAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgdGhpcy4kaW5zdGFuY2Uuc2xpY2soJ3NsaWNrTmV4dCcpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHNsaWNrUHJldigpIHtcbiAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgdGhpcy4kaW5zdGFuY2Uuc2xpY2soJ3NsaWNrUHJldicpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHNsaWNrUGF1c2UoKSB7XG4gICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIHRoaXMuJGluc3RhbmNlLnNsaWNrKCdzbGlja1BhdXNlJyk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc2xpY2tQbGF5KCkge1xuICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICB0aGlzLiRpbnN0YW5jZS5zbGljaygnc2xpY2tQbGF5Jyk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgdW5zbGljaygpIHtcbiAgICBpZiAodGhpcy4kaW5zdGFuY2UpIHtcbiAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgIHRoaXMuJGluc3RhbmNlLnNsaWNrKCd1bnNsaWNrJyk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMuJGluc3RhbmNlID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgICB0aGlzLmluaXRpYWxpemVkID0gZmFsc2U7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaW5pdGlhbGl6ZWQpIHtcbiAgICAgIGNvbnN0IGNvbmZpZyA9IGNoYW5nZXNbJ2NvbmZpZyddO1xuICAgICAgaWYgKGNvbmZpZy5wcmV2aW91c1ZhbHVlICE9PSBjb25maWcuY3VycmVudFZhbHVlICYmIGNvbmZpZy5jdXJyZW50VmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb25zdCByZWZyZXNoID0gY29uZmlnLmN1cnJlbnRWYWx1ZVsncmVmcmVzaCddO1xuICAgICAgICBjb25zdCBuZXdPcHRpb25zID0gT2JqZWN0LmFzc2lnbih7fSwgY29uZmlnLmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgIGRlbGV0ZSBuZXdPcHRpb25zWydyZWZyZXNoJ107XG5cbiAgICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICB0aGlzLiRpbnN0YW5jZS5zbGljaygnc2xpY2tTZXRPcHRpb24nLCBuZXdPcHRpb25zLCByZWZyZXNoKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW25neFNsaWNrSXRlbV0nLFxufSlcbmV4cG9ydCBjbGFzcyBTbGlja0l0ZW1EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBlbDogRWxlbWVudFJlZixcbiAgICAgICAgICAgICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBzdHJpbmcsXG4gICAgICAgICAgICAgIEBIb3N0KCkgcHJpdmF0ZSBjYXJvdXNlbDogU2xpY2tDYXJvdXNlbENvbXBvbmVudCkge1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgIHRoaXMuY2Fyb3VzZWwuYWRkU2xpZGUodGhpcyk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgIHRoaXMuY2Fyb3VzZWwucmVtb3ZlU2xpZGUodGhpcyk7XG4gICAgfVxuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LXNsaWNrLWNhcm91c2VsLyIsInNvdXJjZXMiOlsic2xpY2suY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdEUsT0FBTyxFQUdMLFNBQVMsRUFDVCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixVQUFVLEVBQ1YsSUFBSSxFQUNKLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUlOLE1BQU0sRUFDTixXQUFXLEVBRVosTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFpQm5ELE1BQU0sT0FBTyxzQkFBc0I7Ozs7Ozs7SUFzQmpDLFlBQW9CLEVBQWMsRUFDZCxJQUFZLEVBQ1MsVUFBa0I7UUFGdkMsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLFNBQUksR0FBSixJQUFJLENBQVE7UUFDUyxlQUFVLEdBQVYsVUFBVSxDQUFRO1FBckIvQyxnQkFBVyxHQUFrRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2hJLGlCQUFZLEdBQXNGLElBQUksWUFBWSxFQUFFLENBQUM7UUFDckgsZUFBVSxHQUE4RCxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzNGLFlBQU8sR0FBNkMsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN2RSxTQUFJLEdBQTZDLElBQUksWUFBWSxFQUFFLENBQUM7O1FBS3hFLGlCQUFZLEdBQUcsQ0FBQyxDQUFDO1FBRWxCLFdBQU0sR0FBVSxFQUFFLENBQUM7UUFDbkIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDbkIsbUJBQWMsR0FBeUIsRUFBRSxDQUFDO1FBQzFDLGlCQUFZLEdBQXlCLEVBQUUsQ0FBQztJQVFoRCxDQUFDOzs7OztJQUtELFdBQVc7UUFDVCxJQUFJLENBQUMsT0FB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QUNyQiw2Q0FBMEk7O0lBQzFJLDhDQUErSDs7SUFDL0gsNENBQXFHOztJQUNyRyx5Q0FBaUY7O0lBQ2pGLHNDQUE4RTs7SUFFaEYsMkNBQXNCOzs7OztJQUd0Qiw4Q0FBeUI7O0lBRXpCLHdDQUEwQjs7SUFDMUIsNkNBQTJCOzs7OztJQUMzQixnREFBa0Q7Ozs7O0lBQ2xELDhDQUFnRDs7Ozs7SUFLcEMsb0NBQXNCOzs7OztJQUN0QixzQ0FBb0I7Ozs7O0lBQ3BCLDRDQUErQzs7QUFxTDdELE1BQU0sT0FBTyxrQkFBa0I7Ozs7OztJQUM3QixZQUFtQixFQUFjLEVBQ1EsVUFBa0IsRUFDL0IsUUFBZ0M7UUFGekMsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNRLGVBQVUsR0FBVixVQUFVLENBQVE7UUFDL0IsYUFBUSxHQUFSLFFBQVEsQ0FBd0I7SUFDNUQsQ0FBQzs7OztJQUVELFFBQVE7UUFDTixJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUN0QyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM5QjtJQUNILENBQUM7Ozs7SUFFRCxXQUFXO1FBQ1QsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDdEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDakM7SUFDSCxDQUFDOzs7WUFuQkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxnQkFBZ0I7YUFDM0I7Ozs7WUEzT0MsVUFBVTt5Q0E4T0csTUFBTSxTQUFDLFdBQVc7WUFDTyxzQkFBc0IsdUJBQS9DLElBQUk7Ozs7SUFGTCxnQ0FBcUI7Ozs7O0lBQ3JCLHdDQUErQzs7Ozs7SUFDL0Msc0NBQWdEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIsIGlzUGxhdGZvcm1TZXJ2ZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3Q2hlY2tlZCxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSG9zdCxcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgTmdab25lLFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFBMQVRGT1JNX0lELFxuICBTaW1wbGVDaGFuZ2VzXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmRlY2xhcmUgY29uc3QgalF1ZXJ5OiBhbnk7XG5cbi8qKlxuICogU2xpY2sgY29tcG9uZW50XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25neC1zbGljay1jYXJvdXNlbCcsXG4gIGV4cG9ydEFzOiAnc2xpY2stY2Fyb3VzZWwnLFxuICBwcm92aWRlcnM6IFt7XG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2xpY2tDYXJvdXNlbENvbXBvbmVudCksXG4gICAgbXVsdGk6IHRydWVcbiAgfV0sXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG59KVxuZXhwb3J0IGNsYXNzIFNsaWNrQ2Fyb3VzZWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCwgQWZ0ZXJWaWV3Q2hlY2tlZCB7XG5cbiAgICBASW5wdXQoKSBjb25maWc6IGFueTtcbiAgICBAT3V0cHV0KCkgYWZ0ZXJDaGFuZ2U6IEV2ZW50RW1pdHRlcjx7IGV2ZW50OiBhbnksIHNsaWNrOiBhbnksIGN1cnJlbnRTbGlkZTogbnVtYmVyLCBmaXJzdDogYm9vbGVhbiwgbGFzdDogYm9vbGVhbiB9PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgYmVmb3JlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8eyBldmVudDogYW55LCBzbGljazogYW55LCBjdXJyZW50U2xpZGU6IG51bWJlciwgbmV4dFNsaWRlOiBudW1iZXIgfT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpIGJyZWFrcG9pbnQ6IEV2ZW50RW1pdHRlcjx7IGV2ZW50OiBhbnksIHNsaWNrOiBhbnksIGJyZWFrcG9pbnQ6IGFueSB9PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgZGVzdHJveTogRXZlbnRFbWl0dGVyPHsgZXZlbnQ6IGFueSwgc2xpY2s6IGFueSB9PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgaW5pdDogRXZlbnRFbWl0dGVyPHsgZXZlbnQ6IGFueSwgc2xpY2s6IGFueSB9PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBwdWJsaWMgJGluc3RhbmNlOiBhbnk7XG5cbiAgLy8gYWNjZXNzIGZyb20gcGFyZW50IGNvbXBvbmVudCBjYW4gYmUgYSBwcm9ibGVtIHdpdGggY2hhbmdlIGRldGVjdGlvbiB0aW1pbmcuIFBsZWFzZSB1c2UgYWZ0ZXJDaGFuZ2Ugb3V0cHV0XG4gIHByaXZhdGUgY3VycmVudEluZGV4ID0gMDtcblxuICBwdWJsaWMgc2xpZGVzOiBhbnlbXSA9IFtdO1xuICBwdWJsaWMgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfcmVtb3ZlZFNsaWRlczogU2xpY2tJdGVtRGlyZWN0aXZlW10gPSBbXTtcbiAgcHJpdmF0ZSBfYWRkZWRTbGlkZXM6IFNsaWNrSXRlbURpcmVjdGl2ZVtdID0gW107XG5cbiAgLyoqXG4gICAqIENvbnN0cnVjdG9yXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxuICAgICAgICAgICAgICBwcml2YXRlIHpvbmU6IE5nWm9uZSxcbiAgICAgICAgICAgICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBzdHJpbmcpIHtcbiAgfVxuXG4gIC8qKlxuICAgKiBPbiBjb21wb25lbnQgZGVzdHJveVxuICAgKi9cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy51bnNsaWNrKCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5uZ0FmdGVyVmlld0NoZWNrZWQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPbiBjb21wb25lbnQgdmlldyBjaGVja2VkXG4gICAqL1xuICBuZ0FmdGVyVmlld0NoZWNrZWQoKSB7XG4gICAgaWYgKGlzUGxhdGZvcm1TZXJ2ZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5fYWRkZWRTbGlkZXMubGVuZ3RoID4gMCB8fCB0aGlzLl9yZW1vdmVkU2xpZGVzLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IG5leHRTbGlkZXNMZW5ndGggPSB0aGlzLnNsaWRlcy5sZW5ndGggLSB0aGlzLl9yZW1vdmVkU2xpZGVzLmxlbmd0aCArIHRoaXMuX2FkZGVkU2xpZGVzLmxlbmd0aDtcbiAgICAgIGlmICghdGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgICBpZiAobmV4dFNsaWRlc0xlbmd0aCA+IDApIHtcbiAgICAgICAgICB0aGlzLmluaXRTbGljaygpO1xuICAgICAgICB9XG4gICAgICAgIC8vIGlmIG5leHRTbGlkZXNMZW5ndGggaXMgemVyZSwgZG8gbm90aGluZ1xuICAgICAgfSBlbHNlIGlmIChuZXh0U2xpZGVzTGVuZ3RoID09PSAwKSB7IC8vIHVuc2xpY2sgY2FzZVxuICAgICAgICB0aGlzLnVuc2xpY2soKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX2FkZGVkU2xpZGVzLmZvckVhY2goc2xpY2tJdGVtID0+IHtcbiAgICAgICAgICB0aGlzLnNsaWRlcy5wdXNoKHNsaWNrSXRlbSk7XG4gICAgICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuJGluc3RhbmNlLnNsaWNrKCdzbGlja0FkZCcsIHNsaWNrSXRlbS5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX2FkZGVkU2xpZGVzID0gW107XG5cbiAgICAgICAgdGhpcy5fcmVtb3ZlZFNsaWRlcy5mb3JFYWNoKHNsaWNrSXRlbSA9PiB7XG4gICAgICAgICAgY29uc3QgaWR4ID0gdGhpcy5zbGlkZXMuaW5kZXhPZihzbGlja0l0ZW0pO1xuICAgICAgICAgIHRoaXMuc2xpZGVzID0gdGhpcy5zbGlkZXMuZmlsdGVyKHMgPT4gcyAhPT0gc2xpY2tJdGVtKTtcbiAgICAgICAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy4kaW5zdGFuY2Uuc2xpY2soJ3NsaWNrUmVtb3ZlJywgaWR4KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX3JlbW92ZWRTbGlkZXMgPSBbXTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogaW5pdCBzbGlja1xuICAgKi9cbiAgaW5pdFNsaWNrKCkge1xuICAgIHRoaXMuc2xpZGVzID0gdGhpcy5fYWRkZWRTbGlkZXM7XG4gICAgdGhpcy5fYWRkZWRTbGlkZXMgPSBbXTtcbiAgICB0aGlzLl9yZW1vdmVkU2xpZGVzID0gW107XG4gICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIHRoaXMuJGluc3RhbmNlID0galF1ZXJ5KHRoaXMuZWwubmF0aXZlRWxlbWVudCk7XG5cbiAgICAgIHRoaXMuJGluc3RhbmNlLm9uKCdpbml0JywgKGV2ZW50LCBzbGljaykgPT4ge1xuICAgICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmluaXQuZW1pdCh7IGV2ZW50LCBzbGljayB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgICAgdGhpcy4kaW5zdGFuY2Uuc2xpY2sodGhpcy5jb25maWcpO1xuXG4gICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG5cbiAgICAgICAgdGhpcy5jdXJyZW50SW5kZXggPSB0aGlzLmNvbmZpZz8uaW5pdGlhbFNsaWRlIHx8IDA7XG4gICAgICB9KTtcblxuICAgICAgICAgICAgdGhpcy4kaW5zdGFuY2Uub24oJ2FmdGVyQ2hhbmdlJywgKGV2ZW50LCBzbGljaywgY3VycmVudFNsaWRlKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWZ0ZXJDaGFuZ2UuZW1pdCh7XG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNsaWNrLFxuICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudFNsaWRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3Q6IGN1cnJlbnRTbGlkZSA9PT0gMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhc3Q6IHNsaWNrLiRzbGlkZXMubGVuZ3RoID09PSBjdXJyZW50U2xpZGUgKyBzbGljay5vcHRpb25zLnNsaWRlc1RvU2Nyb2xsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRJbmRleCA9IGN1cnJlbnRTbGlkZTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICB0aGlzLiRpbnN0YW5jZS5vbignYmVmb3JlQ2hhbmdlJywgKGV2ZW50LCBzbGljaywgY3VycmVudFNsaWRlLCBuZXh0U2xpZGUpID0+IHtcbiAgICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgdGhpcy5iZWZvcmVDaGFuZ2UuZW1pdCh7IGV2ZW50LCBzbGljaywgY3VycmVudFNsaWRlLCBuZXh0U2xpZGUgfSk7XG4gICAgICAgICAgdGhpcy5jdXJyZW50SW5kZXggPSBuZXh0U2xpZGU7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuJGluc3RhbmNlLm9uKCdicmVha3BvaW50JywgKGV2ZW50LCBzbGljaywgYnJlYWtwb2ludCkgPT4ge1xuICAgICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmJyZWFrcG9pbnQuZW1pdCh7IGV2ZW50LCBzbGljaywgYnJlYWtwb2ludCB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgICAgdGhpcy4kaW5zdGFuY2Uub24oJ2Rlc3Ryb3knLCAoZXZlbnQsIHNsaWNrKSA9PiB7XG4gICAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgIHRoaXMuZGVzdHJveS5lbWl0KHsgZXZlbnQsIHNsaWNrIH0pO1xuICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSBmYWxzZTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIGFkZFNsaWRlKHNsaWNrSXRlbTogU2xpY2tJdGVtRGlyZWN0aXZlKSB7XG4gICAgdGhpcy5fYWRkZWRTbGlkZXMucHVzaChzbGlja0l0ZW0pO1xuICB9XG5cbiAgcmVtb3ZlU2xpZGUoc2xpY2tJdGVtOiBTbGlja0l0ZW1EaXJlY3RpdmUpIHtcbiAgICB0aGlzLl9yZW1vdmVkU2xpZGVzLnB1c2goc2xpY2tJdGVtKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTbGljayBNZXRob2RcbiAgICovXG4gIHB1YmxpYyBzbGlja0dvVG8oaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICB0aGlzLiRpbnN0YW5jZS5zbGljaygnc2xpY2tHb1RvJywgaW5kZXgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHNsaWNrTmV4dCgpIHtcbiAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgdGhpcy4kaW5zdGFuY2Uuc2xpY2soJ3NsaWNrTmV4dCcpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHNsaWNrUHJldigpIHtcbiAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgdGhpcy4kaW5zdGFuY2Uuc2xpY2soJ3NsaWNrUHJldicpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHNsaWNrUGF1c2UoKSB7XG4gICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIHRoaXMuJGluc3RhbmNlLnNsaWNrKCdzbGlja1BhdXNlJyk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc2xpY2tQbGF5KCkge1xuICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICB0aGlzLiRpbnN0YW5jZS5zbGljaygnc2xpY2tQbGF5Jyk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgdW5zbGljaygpIHtcbiAgICBpZiAodGhpcy4kaW5zdGFuY2UpIHtcbiAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgIHRoaXMuJGluc3RhbmNlLnNsaWNrKCd1bnNsaWNrJyk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMuJGluc3RhbmNlID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgICB0aGlzLmluaXRpYWxpemVkID0gZmFsc2U7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaW5pdGlhbGl6ZWQpIHtcbiAgICAgIGNvbnN0IGNvbmZpZyA9IGNoYW5nZXNbJ2NvbmZpZyddO1xuICAgICAgaWYgKGNvbmZpZy5wcmV2aW91c1ZhbHVlICE9PSBjb25maWcuY3VycmVudFZhbHVlICYmIGNvbmZpZy5jdXJyZW50VmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb25zdCByZWZyZXNoID0gY29uZmlnLmN1cnJlbnRWYWx1ZVsncmVmcmVzaCddO1xuICAgICAgICBjb25zdCBuZXdPcHRpb25zID0gT2JqZWN0LmFzc2lnbih7fSwgY29uZmlnLmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgIGRlbGV0ZSBuZXdPcHRpb25zWydyZWZyZXNoJ107XG5cbiAgICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICB0aGlzLiRpbnN0YW5jZS5zbGljaygnc2xpY2tTZXRPcHRpb24nLCBuZXdPcHRpb25zLCByZWZyZXNoKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW25neFNsaWNrSXRlbV0nLFxufSlcbmV4cG9ydCBjbGFzcyBTbGlja0l0ZW1EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBlbDogRWxlbWVudFJlZixcbiAgICAgICAgICAgICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBzdHJpbmcsXG4gICAgICAgICAgICAgIEBIb3N0KCkgcHJpdmF0ZSBjYXJvdXNlbDogU2xpY2tDYXJvdXNlbENvbXBvbmVudCkge1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgIHRoaXMuY2Fyb3VzZWwuYWRkU2xpZGUodGhpcyk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgIHRoaXMuY2Fyb3VzZWwucmVtb3ZlU2xpZGUodGhpcyk7XG4gICAgfVxuICB9XG59XG4iXX0=

@@ -25,2 +25,4 @@ /**

this.init = new EventEmitter();
// access from parent component can be a problem with change detection timing. Please use afterChange output
this.currentIndex = 0;
this.slides = [];

@@ -159,4 +161,5 @@ this.initialized = false;

function () {
var _a;
_this.initialized = true;
_this.currentIndex = (_this.config && _this.config.initialSlide) ? _this.config.initialSlide : 0;
_this.currentIndex = ((_a = _this.config) === null || _a === void 0 ? void 0 : _a.initialSlide) || 0;
}));

@@ -174,3 +177,9 @@ _this.$instance.on('afterChange', (/**

function () {
_this.afterChange.emit({ event: event, slick: slick, currentSlide: currentSlide });
_this.afterChange.emit({
event: event,
slick: slick,
currentSlide: currentSlide,
first: currentSlide === 0,
last: slick.$slides.length === currentSlide + slick.options.slidesToScroll
});
_this.currentIndex = currentSlide;

@@ -423,3 +432,6 @@ }));

SlickCarouselComponent.prototype.$instance;
/** @type {?} */
/**
* @type {?}
* @private
*/
SlickCarouselComponent.prototype.currentIndex;

@@ -512,2 +524,2 @@ /** @type {?} */

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LXNsaWNrLWNhcm91c2VsLyIsInNvdXJjZXMiOlsic2xpY2suY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdEUsT0FBTyxFQUdMLFNBQVMsRUFDVCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixVQUFVLEVBQ1YsSUFBSSxFQUNKLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUlOLE1BQU0sRUFDTixXQUFXLEVBRVosTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFPbkQ7SUEwQkU7O09BRUc7SUFDSCxnQ0FBb0IsRUFBYyxFQUNkLElBQVksRUFDUyxVQUFrQjtRQUZ2QyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ2QsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNTLGVBQVUsR0FBVixVQUFVLENBQVE7UUFsQmpELGdCQUFXLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDcEQsaUJBQVksR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNyRCxlQUFVLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbkQsWUFBTyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2hELFNBQUksR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUloRCxXQUFNLEdBQVUsRUFBRSxDQUFDO1FBQ25CLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ25CLG1CQUFjLEdBQXlCLEVBQUUsQ0FBQztRQUMxQyxpQkFBWSxHQUF5QixFQUFFLENBQUM7SUFRaEQsQ0FBQztJQUVEOztPQUVHOzs7OztJQUNILDRDQUFXOzs7O0lBQVg7UUFDRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakIsQ0FB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QWdEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIsIGlzUGxhdGZvcm1TZXJ2ZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3Q2hlY2tlZCxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSG9zdCxcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgTmdab25lLFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFBMQVRGT1JNX0lELFxuICBTaW1wbGVDaGFuZ2VzXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmRlY2xhcmUgY29uc3QgalF1ZXJ5OiBhbnk7XG5cbi8qKlxuICogU2xpY2sgY29tcG9uZW50XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25neC1zbGljay1jYXJvdXNlbCcsXG4gIGV4cG9ydEFzOiAnc2xpY2stY2Fyb3VzZWwnLFxuICBwcm92aWRlcnM6IFt7XG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2xpY2tDYXJvdXNlbENvbXBvbmVudCksXG4gICAgbXVsdGk6IHRydWVcbiAgfV0sXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG59KVxuZXhwb3J0IGNsYXNzIFNsaWNrQ2Fyb3VzZWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCwgQWZ0ZXJWaWV3Q2hlY2tlZCB7XG5cbiAgQElucHV0KCkgY29uZmlnOiBhbnk7XG4gIEBPdXRwdXQoKSBhZnRlckNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBiZWZvcmVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgYnJlYWtwb2ludDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBkZXN0cm95OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGluaXQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHB1YmxpYyAkaW5zdGFuY2U6IGFueTtcbiAgcHVibGljIGN1cnJlbnRJbmRleDogbnVtYmVyO1xuICBwdWJsaWMgc2xpZGVzOiBhbnlbXSA9IFtdO1xuICBwdWJsaWMgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfcmVtb3ZlZFNsaWRlczogU2xpY2tJdGVtRGlyZWN0aXZlW10gPSBbXTtcbiAgcHJpdmF0ZSBfYWRkZWRTbGlkZXM6IFNsaWNrSXRlbURpcmVjdGl2ZVtdID0gW107XG5cbiAgLyoqXG4gICAqIENvbnN0cnVjdG9yXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxuICAgICAgICAgICAgICBwcml2YXRlIHpvbmU6IE5nWm9uZSxcbiAgICAgICAgICAgICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBzdHJpbmcpIHtcbiAgfVxuXG4gIC8qKlxuICAgKiBPbiBjb21wb25lbnQgZGVzdHJveVxuICAgKi9cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy51bnNsaWNrKCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5uZ0FmdGVyVmlld0NoZWNrZWQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPbiBjb21wb25lbnQgdmlldyBjaGVja2VkXG4gICAqL1xuICBuZ0FmdGVyVmlld0NoZWNrZWQoKSB7XG4gICAgaWYgKGlzUGxhdGZvcm1TZXJ2ZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5fYWRkZWRTbGlkZXMubGVuZ3RoID4gMCB8fCB0aGlzLl9yZW1vdmVkU2xpZGVzLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IG5leHRTbGlkZXNMZW5ndGggPSB0aGlzLnNsaWRlcy5sZW5ndGggLSB0aGlzLl9yZW1vdmVkU2xpZGVzLmxlbmd0aCArIHRoaXMuX2FkZGVkU2xpZGVzLmxlbmd0aDtcbiAgICAgIGlmICghdGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgICBpZiAobmV4dFNsaWRlc0xlbmd0aCA+IDApIHtcbiAgICAgICAgICB0aGlzLmluaXRTbGljaygpO1xuICAgICAgICB9XG4gICAgICAgIC8vIGlmIG5leHRTbGlkZXNMZW5ndGggaXMgemVyZSwgZG8gbm90aGluZ1xuICAgICAgfSBlbHNlIGlmIChuZXh0U2xpZGVzTGVuZ3RoID09PSAwKSB7IC8vIHVuc2xpY2sgY2FzZVxuICAgICAgICB0aGlzLnVuc2xpY2soKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX2FkZGVkU2xpZGVzLmZvckVhY2goc2xpY2tJdGVtID0+IHtcbiAgICAgICAgICB0aGlzLnNsaWRlcy5wdXNoKHNsaWNrSXRlbSk7XG4gICAgICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuJGluc3RhbmNlLnNsaWNrKCdzbGlja0FkZCcsIHNsaWNrSXRlbS5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX2FkZGVkU2xpZGVzID0gW107XG5cbiAgICAgICAgdGhpcy5fcmVtb3ZlZFNsaWRlcy5mb3JFYWNoKHNsaWNrSXRlbSA9PiB7XG4gICAgICAgICAgY29uc3QgaWR4ID0gdGhpcy5zbGlkZXMuaW5kZXhPZihzbGlja0l0ZW0pO1xuICAgICAgICAgIHRoaXMuc2xpZGVzID0gdGhpcy5zbGlkZXMuZmlsdGVyKHMgPT4gcyAhPT0gc2xpY2tJdGVtKTtcbiAgICAgICAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy4kaW5zdGFuY2Uuc2xpY2soJ3NsaWNrUmVtb3ZlJywgaWR4KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX3JlbW92ZWRTbGlkZXMgPSBbXTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogaW5pdCBzbGlja1xuICAgKi9cbiAgaW5pdFNsaWNrKCkge1xuICAgIHRoaXMuc2xpZGVzID0gdGhpcy5fYWRkZWRTbGlkZXM7XG4gICAgdGhpcy5fYWRkZWRTbGlkZXMgPSBbXTtcbiAgICB0aGlzLl9yZW1vdmVkU2xpZGVzID0gW107XG4gICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIHRoaXMuJGluc3RhbmNlID0galF1ZXJ5KHRoaXMuZWwubmF0aXZlRWxlbWVudCk7XG5cbiAgICAgIHRoaXMuJGluc3RhbmNlLm9uKCdpbml0JywgKGV2ZW50LCBzbGljaykgPT4ge1xuICAgICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmluaXQuZW1pdCh7IGV2ZW50LCBzbGljayB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgICAgdGhpcy4kaW5zdGFuY2Uuc2xpY2sodGhpcy5jb25maWcpO1xuXG4gICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG5cbiAgICAgICAgdGhpcy5jdXJyZW50SW5kZXggPSAodGhpcy5jb25maWcgJiYgdGhpcy5jb25maWcuaW5pdGlhbFNsaWRlKSA/IHRoaXMuY29uZmlnLmluaXRpYWxTbGlkZSA6IDA7XG4gICAgICB9KTtcblxuICAgICAgdGhpcy4kaW5zdGFuY2Uub24oJ2FmdGVyQ2hhbmdlJywgKGV2ZW50LCBzbGljaywgY3VycmVudFNsaWRlKSA9PiB7XG4gICAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgIHRoaXMuYWZ0ZXJDaGFuZ2UuZW1pdCh7IGV2ZW50LCBzbGljaywgY3VycmVudFNsaWRlIH0pO1xuICAgICAgICAgIHRoaXMuY3VycmVudEluZGV4ID0gY3VycmVudFNsaWRlO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLiRpbnN0YW5jZS5vbignYmVmb3JlQ2hhbmdlJywgKGV2ZW50LCBzbGljaywgY3VycmVudFNsaWRlLCBuZXh0U2xpZGUpID0+IHtcbiAgICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgdGhpcy5iZWZvcmVDaGFuZ2UuZW1pdCh7IGV2ZW50LCBzbGljaywgY3VycmVudFNsaWRlLCBuZXh0U2xpZGUgfSk7XG4gICAgICAgICAgdGhpcy5jdXJyZW50SW5kZXggPSBuZXh0U2xpZGU7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuJGluc3RhbmNlLm9uKCdicmVha3BvaW50JywgKGV2ZW50LCBzbGljaywgYnJlYWtwb2ludCkgPT4ge1xuICAgICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmJyZWFrcG9pbnQuZW1pdCh7IGV2ZW50LCBzbGljaywgYnJlYWtwb2ludCB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgICAgdGhpcy4kaW5zdGFuY2Uub24oJ2Rlc3Ryb3knLCAoZXZlbnQsIHNsaWNrKSA9PiB7XG4gICAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgIHRoaXMuZGVzdHJveS5lbWl0KHsgZXZlbnQsIHNsaWNrIH0pO1xuICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSBmYWxzZTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIGFkZFNsaWRlKHNsaWNrSXRlbTogU2xpY2tJdGVtRGlyZWN0aXZlKSB7XG4gICAgdGhpcy5fYWRkZWRTbGlkZXMucHVzaChzbGlja0l0ZW0pO1xuICB9XG5cbiAgcmVtb3ZlU2xpZGUoc2xpY2tJdGVtOiBTbGlja0l0ZW1EaXJlY3RpdmUpIHtcbiAgICB0aGlzLl9yZW1vdmVkU2xpZGVzLnB1c2goc2xpY2tJdGVtKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTbGljayBNZXRob2RcbiAgICovXG4gIHB1YmxpYyBzbGlja0dvVG8oaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICB0aGlzLiRpbnN0YW5jZS5zbGljaygnc2xpY2tHb1RvJywgaW5kZXgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHNsaWNrTmV4dCgpIHtcbiAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgdGhpcy4kaW5zdGFuY2Uuc2xpY2soJ3NsaWNrTmV4dCcpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHNsaWNrUHJldigpIHtcbiAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgdGhpcy4kaW5zdGFuY2Uuc2xpY2soJ3NsaWNrUHJldicpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHNsaWNrUGF1c2UoKSB7XG4gICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIHRoaXMuJGluc3RhbmNlLnNsaWNrKCdzbGlja1BhdXNlJyk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc2xpY2tQbGF5KCkge1xuICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICB0aGlzLiRpbnN0YW5jZS5zbGljaygnc2xpY2tQbGF5Jyk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgdW5zbGljaygpIHtcbiAgICBpZiAodGhpcy4kaW5zdGFuY2UpIHtcbiAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgIHRoaXMuJGluc3RhbmNlLnNsaWNrKCd1bnNsaWNrJyk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMuJGluc3RhbmNlID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgICB0aGlzLmluaXRpYWxpemVkID0gZmFsc2U7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaW5pdGlhbGl6ZWQpIHtcbiAgICAgIGNvbnN0IGNvbmZpZyA9IGNoYW5nZXNbJ2NvbmZpZyddO1xuICAgICAgaWYgKGNvbmZpZy5wcmV2aW91c1ZhbHVlICE9PSBjb25maWcuY3VycmVudFZhbHVlICYmIGNvbmZpZy5jdXJyZW50VmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb25zdCByZWZyZXNoID0gY29uZmlnLmN1cnJlbnRWYWx1ZVsncmVmcmVzaCddO1xuICAgICAgICBjb25zdCBuZXdPcHRpb25zID0gT2JqZWN0LmFzc2lnbih7fSwgY29uZmlnLmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgIGRlbGV0ZSBuZXdPcHRpb25zWydyZWZyZXNoJ107XG5cbiAgICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICB0aGlzLiRpbnN0YW5jZS5zbGljaygnc2xpY2tTZXRPcHRpb24nLCBuZXdPcHRpb25zLCByZWZyZXNoKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW25neFNsaWNrSXRlbV0nLFxufSlcbmV4cG9ydCBjbGFzcyBTbGlja0l0ZW1EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBlbDogRWxlbWVudFJlZixcbiAgICAgICAgICAgICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBzdHJpbmcsXG4gICAgICAgICAgICAgIEBIb3N0KCkgcHJpdmF0ZSBjYXJvdXNlbDogU2xpY2tDYXJvdXNlbENvbXBvbmVudCkge1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgIHRoaXMuY2Fyb3VzZWwuYWRkU2xpZGUodGhpcyk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgIHRoaXMuY2Fyb3VzZWwucmVtb3ZlU2xpZGUodGhpcyk7XG4gICAgfVxuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LXNsaWNrLWNhcm91c2VsLyIsInNvdXJjZXMiOlsic2xpY2suY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdEUsT0FBTyxFQUdMLFNBQVMsRUFDVCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixVQUFVLEVBQ1YsSUFBSSxFQUNKLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUlOLE1BQU0sRUFDTixXQUFXLEVBRVosTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFPbkQ7SUE2QkU7O09BRUc7SUFDSCxnQ0FBb0IsRUFBYyxFQUNkLElBQVksRUFDUyxVQUFrQjtRQUZ2QyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ2QsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNTLGVBQVUsR0FBVixVQUFVLENBQVE7UUFyQi9DLGdCQUFXLEdBQWtHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDaEksaUJBQVksR0FBc0YsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNySCxlQUFVLEdBQThELElBQUksWUFBWSxFQUFFLENBQUM7UUFDM0YsWUFBTyxHQUE2QyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3ZFLFNBQUksR0FBNkMsSUFBSSxZQUFZLEVBQUUsQ0FBQzs7UUFLeEUsaUJBQVksR0FBRyxDQUFDLENBQUM7UUFFbEIsV0FBTSxHQUFVLEVBQUUsQ0FBQztRQUNuQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNuQixtQkFBYyxHQUF5QixFQUFFLENBQUM7UUFDMUMsaUJBQVksR0FBeUIsRUFBRSxDQUFDO0lBUWhELENBQUM7SUFFRDs7T0FFRzs7Ozs7SUFDSCw0Q0FBVzs7OztJQUFYO1FBQ0UsSUFBSSxD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O0NBQUEsQUFwQkQsSUFvQkM7U0FqQlksa0JBQWtCOzs7SUFDakIsZ0NBQXFCOzs7OztJQUNyQix3Q0FBK0M7Ozs7O0lBQy9DLHNDQUFnRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyLCBpc1BsYXRmb3JtU2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0NoZWNrZWQsXG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIEhvc3QsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBQTEFURk9STV9JRCxcbiAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5kZWNsYXJlIGNvbnN0IGpRdWVyeTogYW55O1xuXG4vKipcbiAqIFNsaWNrIGNvbXBvbmVudFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ3gtc2xpY2stY2Fyb3VzZWwnLFxuICBleHBvcnRBczogJ3NsaWNrLWNhcm91c2VsJyxcbiAgcHJvdmlkZXJzOiBbe1xuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNsaWNrQ2Fyb3VzZWxDb21wb25lbnQpLFxuICAgIG11bHRpOiB0cnVlXG4gIH1dLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxufSlcbmV4cG9ydCBjbGFzcyBTbGlja0Nhcm91c2VsQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQsIEFmdGVyVmlld0NoZWNrZWQge1xuXG4gICAgQElucHV0KCkgY29uZmlnOiBhbnk7XG4gICAgQE91dHB1dCgpIGFmdGVyQ2hhbmdlOiBFdmVudEVtaXR0ZXI8eyBldmVudDogYW55LCBzbGljazogYW55LCBjdXJyZW50U2xpZGU6IG51bWJlciwgZmlyc3Q6IGJvb2xlYW4sIGxhc3Q6IGJvb2xlYW4gfT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpIGJlZm9yZUNoYW5nZTogRXZlbnRFbWl0dGVyPHsgZXZlbnQ6IGFueSwgc2xpY2s6IGFueSwgY3VycmVudFNsaWRlOiBudW1iZXIsIG5leHRTbGlkZTogbnVtYmVyIH0+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKSBicmVha3BvaW50OiBFdmVudEVtaXR0ZXI8eyBldmVudDogYW55LCBzbGljazogYW55LCBicmVha3BvaW50OiBhbnkgfT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpIGRlc3Ryb3k6IEV2ZW50RW1pdHRlcjx7IGV2ZW50OiBhbnksIHNsaWNrOiBhbnkgfT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpIGluaXQ6IEV2ZW50RW1pdHRlcjx7IGV2ZW50OiBhbnksIHNsaWNrOiBhbnkgfT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHVibGljICRpbnN0YW5jZTogYW55O1xuXG4gIC8vIGFjY2VzcyBmcm9tIHBhcmVudCBjb21wb25lbnQgY2FuIGJlIGEgcHJvYmxlbSB3aXRoIGNoYW5nZSBkZXRlY3Rpb24gdGltaW5nLiBQbGVhc2UgdXNlIGFmdGVyQ2hhbmdlIG91dHB1dFxuICBwcml2YXRlIGN1cnJlbnRJbmRleCA9IDA7XG5cbiAgcHVibGljIHNsaWRlczogYW55W10gPSBbXTtcbiAgcHVibGljIGluaXRpYWxpemVkID0gZmFsc2U7XG4gIHByaXZhdGUgX3JlbW92ZWRTbGlkZXM6IFNsaWNrSXRlbURpcmVjdGl2ZVtdID0gW107XG4gIHByaXZhdGUgX2FkZGVkU2xpZGVzOiBTbGlja0l0ZW1EaXJlY3RpdmVbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RvclxuICAgKi9cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZixcbiAgICAgICAgICAgICAgcHJpdmF0ZSB6b25lOiBOZ1pvbmUsXG4gICAgICAgICAgICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogc3RyaW5nKSB7XG4gIH1cblxuICAvKipcbiAgICogT24gY29tcG9uZW50IGRlc3Ryb3lcbiAgICovXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMudW5zbGljaygpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMubmdBZnRlclZpZXdDaGVja2VkKCk7XG4gIH1cblxuICAvKipcbiAgICogT24gY29tcG9uZW50IHZpZXcgY2hlY2tlZFxuICAgKi9cbiAgbmdBZnRlclZpZXdDaGVja2VkKCkge1xuICAgIGlmIChpc1BsYXRmb3JtU2VydmVyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHRoaXMuX2FkZGVkU2xpZGVzLmxlbmd0aCA+IDAgfHwgdGhpcy5fcmVtb3ZlZFNsaWRlcy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBuZXh0U2xpZGVzTGVuZ3RoID0gdGhpcy5zbGlkZXMubGVuZ3RoIC0gdGhpcy5fcmVtb3ZlZFNsaWRlcy5sZW5ndGggKyB0aGlzLl9hZGRlZFNsaWRlcy5sZW5ndGg7XG4gICAgICBpZiAoIXRoaXMuaW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgaWYgKG5leHRTbGlkZXNMZW5ndGggPiAwKSB7XG4gICAgICAgICAgdGhpcy5pbml0U2xpY2soKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBpZiBuZXh0U2xpZGVzTGVuZ3RoIGlzIHplcmUsIGRvIG5vdGhpbmdcbiAgICAgIH0gZWxzZSBpZiAobmV4dFNsaWRlc0xlbmd0aCA9PT0gMCkgeyAvLyB1bnNsaWNrIGNhc2VcbiAgICAgICAgdGhpcy51bnNsaWNrKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl9hZGRlZFNsaWRlcy5mb3JFYWNoKHNsaWNrSXRlbSA9PiB7XG4gICAgICAgICAgdGhpcy5zbGlkZXMucHVzaChzbGlja0l0ZW0pO1xuICAgICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLiRpbnN0YW5jZS5zbGljaygnc2xpY2tBZGQnLCBzbGlja0l0ZW0uZWwubmF0aXZlRWxlbWVudCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLl9hZGRlZFNsaWRlcyA9IFtdO1xuXG4gICAgICAgIHRoaXMuX3JlbW92ZWRTbGlkZXMuZm9yRWFjaChzbGlja0l0ZW0gPT4ge1xuICAgICAgICAgIGNvbnN0IGlkeCA9IHRoaXMuc2xpZGVzLmluZGV4T2Yoc2xpY2tJdGVtKTtcbiAgICAgICAgICB0aGlzLnNsaWRlcyA9IHRoaXMuc2xpZGVzLmZpbHRlcihzID0+IHMgIT09IHNsaWNrSXRlbSk7XG4gICAgICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuJGluc3RhbmNlLnNsaWNrKCdzbGlja1JlbW92ZScsIGlkeCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLl9yZW1vdmVkU2xpZGVzID0gW107XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIGluaXQgc2xpY2tcbiAgICovXG4gIGluaXRTbGljaygpIHtcbiAgICB0aGlzLnNsaWRlcyA9IHRoaXMuX2FkZGVkU2xpZGVzO1xuICAgIHRoaXMuX2FkZGVkU2xpZGVzID0gW107XG4gICAgdGhpcy5fcmVtb3ZlZFNsaWRlcyA9IFtdO1xuICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICB0aGlzLiRpbnN0YW5jZSA9IGpRdWVyeSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpO1xuXG4gICAgICB0aGlzLiRpbnN0YW5jZS5vbignaW5pdCcsIChldmVudCwgc2xpY2spID0+IHtcbiAgICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgdGhpcy5pbml0LmVtaXQoeyBldmVudCwgc2xpY2sgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuJGluc3RhbmNlLnNsaWNrKHRoaXMuY29uZmlnKTtcblxuICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlO1xuXG4gICAgICAgIHRoaXMuY3VycmVudEluZGV4ID0gdGhpcy5jb25maWc/LmluaXRpYWxTbGlkZSB8fCAwO1xuICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMuJGluc3RhbmNlLm9uKCdhZnRlckNoYW5nZScsIChldmVudCwgc2xpY2ssIGN1cnJlbnRTbGlkZSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFmdGVyQ2hhbmdlLmVtaXQoe1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICBzbGljayxcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRTbGlkZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpcnN0OiBjdXJyZW50U2xpZGUgPT09IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICBsYXN0OiBzbGljay4kc2xpZGVzLmxlbmd0aCA9PT0gY3VycmVudFNsaWRlICsgc2xpY2sub3B0aW9ucy5zbGlkZXNUb1Njcm9sbFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50SW5kZXggPSBjdXJyZW50U2xpZGU7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgdGhpcy4kaW5zdGFuY2Uub24oJ2JlZm9yZUNoYW5nZScsIChldmVudCwgc2xpY2ssIGN1cnJlbnRTbGlkZSwgbmV4dFNsaWRlKSA9PiB7XG4gICAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgIHRoaXMuYmVmb3JlQ2hhbmdlLmVtaXQoeyBldmVudCwgc2xpY2ssIGN1cnJlbnRTbGlkZSwgbmV4dFNsaWRlIH0pO1xuICAgICAgICAgIHRoaXMuY3VycmVudEluZGV4ID0gbmV4dFNsaWRlO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLiRpbnN0YW5jZS5vbignYnJlYWtwb2ludCcsIChldmVudCwgc2xpY2ssIGJyZWFrcG9pbnQpID0+IHtcbiAgICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgdGhpcy5icmVha3BvaW50LmVtaXQoeyBldmVudCwgc2xpY2ssIGJyZWFrcG9pbnQgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuJGluc3RhbmNlLm9uKCdkZXN0cm95JywgKGV2ZW50LCBzbGljaykgPT4ge1xuICAgICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmRlc3Ryb3kuZW1pdCh7IGV2ZW50LCBzbGljayB9KTtcbiAgICAgICAgICB0aGlzLmluaXRpYWxpemVkID0gZmFsc2U7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBhZGRTbGlkZShzbGlja0l0ZW06IFNsaWNrSXRlbURpcmVjdGl2ZSkge1xuICAgIHRoaXMuX2FkZGVkU2xpZGVzLnB1c2goc2xpY2tJdGVtKTtcbiAgfVxuXG4gIHJlbW92ZVNsaWRlKHNsaWNrSXRlbTogU2xpY2tJdGVtRGlyZWN0aXZlKSB7XG4gICAgdGhpcy5fcmVtb3ZlZFNsaWRlcy5wdXNoKHNsaWNrSXRlbSk7XG4gIH1cblxuICAvKipcbiAgICogU2xpY2sgTWV0aG9kXG4gICAqL1xuICBwdWJsaWMgc2xpY2tHb1RvKGluZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgdGhpcy4kaW5zdGFuY2Uuc2xpY2soJ3NsaWNrR29UbycsIGluZGV4KTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzbGlja05leHQoKSB7XG4gICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIHRoaXMuJGluc3RhbmNlLnNsaWNrKCdzbGlja05leHQnKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzbGlja1ByZXYoKSB7XG4gICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIHRoaXMuJGluc3RhbmNlLnNsaWNrKCdzbGlja1ByZXYnKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzbGlja1BhdXNlKCkge1xuICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICB0aGlzLiRpbnN0YW5jZS5zbGljaygnc2xpY2tQYXVzZScpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHNsaWNrUGxheSgpIHtcbiAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgdGhpcy4kaW5zdGFuY2Uuc2xpY2soJ3NsaWNrUGxheScpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHVuc2xpY2soKSB7XG4gICAgaWYgKHRoaXMuJGluc3RhbmNlKSB7XG4gICAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICB0aGlzLiRpbnN0YW5jZS5zbGljaygndW5zbGljaycpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLiRpbnN0YW5jZSA9IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgdGhpcy5pbml0aWFsaXplZCA9IGZhbHNlO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmICh0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICBjb25zdCBjb25maWcgPSBjaGFuZ2VzWydjb25maWcnXTtcbiAgICAgIGlmIChjb25maWcucHJldmlvdXNWYWx1ZSAhPT0gY29uZmlnLmN1cnJlbnRWYWx1ZSAmJiBjb25maWcuY3VycmVudFZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29uc3QgcmVmcmVzaCA9IGNvbmZpZy5jdXJyZW50VmFsdWVbJ3JlZnJlc2gnXTtcbiAgICAgICAgY29uc3QgbmV3T3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe30sIGNvbmZpZy5jdXJyZW50VmFsdWUpO1xuICAgICAgICBkZWxldGUgbmV3T3B0aW9uc1sncmVmcmVzaCddO1xuXG4gICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgdGhpcy4kaW5zdGFuY2Uuc2xpY2soJ3NsaWNrU2V0T3B0aW9uJywgbmV3T3B0aW9ucywgcmVmcmVzaCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tuZ3hTbGlja0l0ZW1dJyxcbn0pXG5leHBvcnQgY2xhc3MgU2xpY2tJdGVtRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgZWw6IEVsZW1lbnRSZWYsXG4gICAgICAgICAgICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogc3RyaW5nLFxuICAgICAgICAgICAgICBASG9zdCgpIHByaXZhdGUgY2Fyb3VzZWw6IFNsaWNrQ2Fyb3VzZWxDb21wb25lbnQpIHtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICB0aGlzLmNhcm91c2VsLmFkZFNsaWRlKHRoaXMpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICB0aGlzLmNhcm91c2VsLnJlbW92ZVNsaWRlKHRoaXMpO1xuICAgIH1cbiAgfVxufVxuIl19

@@ -29,2 +29,4 @@ import { isPlatformServer, isPlatformBrowser, CommonModule } from '@angular/common';

this.init = new EventEmitter();
// access from parent component can be a problem with change detection timing. Please use afterChange output
this.currentIndex = 0;
this.slides = [];

@@ -137,4 +139,5 @@ this.initialized = false;

() => {
var _a;
this.initialized = true;
this.currentIndex = (this.config && this.config.initialSlide) ? this.config.initialSlide : 0;
this.currentIndex = ((_a = this.config) === null || _a === void 0 ? void 0 : _a.initialSlide) || 0;
}));

@@ -152,3 +155,9 @@ this.$instance.on('afterChange', (/**

() => {
this.afterChange.emit({ event, slick, currentSlide });
this.afterChange.emit({
event,
slick,
currentSlide,
first: currentSlide === 0,
last: slick.$slides.length === currentSlide + slick.options.slidesToScroll
});
this.currentIndex = currentSlide;

@@ -357,3 +366,6 @@ }));

SlickCarouselComponent.prototype.$instance;
/** @type {?} */
/**
* @type {?}
* @private
*/
SlickCarouselComponent.prototype.currentIndex;

@@ -360,0 +372,0 @@ /** @type {?} */

@@ -26,2 +26,4 @@ import { isPlatformServer, isPlatformBrowser, CommonModule } from '@angular/common';

this.init = new EventEmitter();
// access from parent component can be a problem with change detection timing. Please use afterChange output
this.currentIndex = 0;
this.slides = [];

@@ -160,4 +162,5 @@ this.initialized = false;

function () {
var _a;
_this.initialized = true;
_this.currentIndex = (_this.config && _this.config.initialSlide) ? _this.config.initialSlide : 0;
_this.currentIndex = ((_a = _this.config) === null || _a === void 0 ? void 0 : _a.initialSlide) || 0;
}));

@@ -175,3 +178,9 @@ _this.$instance.on('afterChange', (/**

function () {
_this.afterChange.emit({ event: event, slick: slick, currentSlide: currentSlide });
_this.afterChange.emit({
event: event,
slick: slick,
currentSlide: currentSlide,
first: currentSlide === 0,
last: slick.$slides.length === currentSlide + slick.options.slidesToScroll
});
_this.currentIndex = currentSlide;

@@ -423,3 +432,6 @@ }));

SlickCarouselComponent.prototype.$instance;
/** @type {?} */
/**
* @type {?}
* @private
*/
SlickCarouselComponent.prototype.currentIndex;

@@ -426,0 +438,0 @@ /** @type {?} */

@@ -1,1 +0,1 @@

{"__symbolic":"module","version":4,"metadata":{"SlickCarouselModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":6,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":8,"character":4}],"declarations":[{"__symbolic":"reference","name":"SlickCarouselComponent"},{"__symbolic":"reference","name":"SlickItemDirective"}],"exports":[{"__symbolic":"reference","name":"SlickCarouselComponent"},{"__symbolic":"reference","name":"SlickItemDirective"}]}]}],"members":{}},"SlickCarouselComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":27,"character":1},"arguments":[{"selector":"ngx-slick-carousel","exportAs":"slick-carousel","providers":[{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":31,"character":13},"useExisting":{"__symbolic":"reference","name":"SlickCarouselComponent"},"multi":true}],"template":"<ng-content></ng-content>"}]}],"members":{"config":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":39,"character":3}}]}],"afterChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":40,"character":3}}]}],"beforeChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":41,"character":3}}]}],"breakpoint":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":42,"character":3}}]}],"destroy":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":43,"character":3}}]}],"init":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":44,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":58,"character":15},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"PLATFORM_ID","line":58,"character":22}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":56,"character":26},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":57,"character":28},{"__symbolic":"reference","name":"string"}]}],"ngOnDestroy":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngAfterViewChecked":[{"__symbolic":"method"}],"initSlick":[{"__symbolic":"method"}],"addSlide":[{"__symbolic":"method"}],"removeSlide":[{"__symbolic":"method"}],"slickGoTo":[{"__symbolic":"method"}],"slickNext":[{"__symbolic":"method"}],"slickPrev":[{"__symbolic":"method"}],"slickPause":[{"__symbolic":"method"}],"slickPlay":[{"__symbolic":"method"}],"unslick":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}]}},"SlickItemDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":230,"character":1},"arguments":[{"selector":"[ngxSlickItem]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":235,"character":15},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"PLATFORM_ID","line":235,"character":22}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Host","line":236,"character":15}}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":56,"character":26},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"SlickCarouselComponent"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}}},"origins":{"SlickCarouselModule":"./index","SlickCarouselComponent":"./slick.component","SlickItemDirective":"./slick.component"},"importAs":"ngx-slick-carousel"}
{"__symbolic":"module","version":4,"metadata":{"SlickCarouselModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":6,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":8,"character":4}],"declarations":[{"__symbolic":"reference","name":"SlickCarouselComponent"},{"__symbolic":"reference","name":"SlickItemDirective"}],"exports":[{"__symbolic":"reference","name":"SlickCarouselComponent"},{"__symbolic":"reference","name":"SlickItemDirective"}]}]}],"members":{}},"SlickCarouselComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":27,"character":1},"arguments":[{"selector":"ngx-slick-carousel","exportAs":"slick-carousel","providers":[{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":31,"character":13},"useExisting":{"__symbolic":"reference","name":"SlickCarouselComponent"},"multi":true}],"template":"<ng-content></ng-content>"}]}],"members":{"config":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":39,"character":5}}]}],"afterChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":40,"character":5}}]}],"beforeChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":41,"character":5}}]}],"breakpoint":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":42,"character":5}}]}],"destroy":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":43,"character":5}}]}],"init":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":44,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":61,"character":15},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"PLATFORM_ID","line":61,"character":22}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":59,"character":26},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":60,"character":28},{"__symbolic":"reference","name":"string"}]}],"ngOnDestroy":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngAfterViewChecked":[{"__symbolic":"method"}],"initSlick":[{"__symbolic":"method"}],"addSlide":[{"__symbolic":"method"}],"removeSlide":[{"__symbolic":"method"}],"slickGoTo":[{"__symbolic":"method"}],"slickNext":[{"__symbolic":"method"}],"slickPrev":[{"__symbolic":"method"}],"slickPause":[{"__symbolic":"method"}],"slickPlay":[{"__symbolic":"method"}],"unslick":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}]}},"SlickItemDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":239,"character":1},"arguments":[{"selector":"[ngxSlickItem]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":244,"character":15},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"PLATFORM_ID","line":244,"character":22}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Host","line":245,"character":15}}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":59,"character":26},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"SlickCarouselComponent"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}}},"origins":{"SlickCarouselModule":"./index","SlickCarouselComponent":"./slick.component","SlickItemDirective":"./slick.component"},"importAs":"ngx-slick-carousel"}
{
"name": "ngx-slick-carousel",
"version": "0.5.0",
"version": "0.5.1",
"repository": {

@@ -26,4 +26,3 @@ "type": "git",

"rxjs": "^6.0.0",
"zone.js": "~0.10.2",
"tslib": "^1.10.0"
"zone.js": "~0.10.2"
},

@@ -37,3 +36,6 @@ "main": "bundles/ngx-slick-carousel.umd.js",

"metadata": "ngx-slick-carousel.metadata.json",
"sideEffects": false
"sideEffects": false,
"dependencies": {
"tslib": "^1.10.0"
}
}

@@ -10,9 +10,30 @@ import { AfterViewChecked, AfterViewInit, ElementRef, EventEmitter, NgZone, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';

config: any;
afterChange: EventEmitter<any>;
beforeChange: EventEmitter<any>;
breakpoint: EventEmitter<any>;
destroy: EventEmitter<any>;
init: EventEmitter<any>;
afterChange: EventEmitter<{
event: any;
slick: any;
currentSlide: number;
first: boolean;
last: boolean;
}>;
beforeChange: EventEmitter<{
event: any;
slick: any;
currentSlide: number;
nextSlide: number;
}>;
breakpoint: EventEmitter<{
event: any;
slick: any;
breakpoint: any;
}>;
destroy: EventEmitter<{
event: any;
slick: any;
}>;
init: EventEmitter<{
event: any;
slick: any;
}>;
$instance: any;
currentIndex: number;
private currentIndex;
slides: any[];

@@ -19,0 +40,0 @@ initialized: boolean;

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

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc