@kms-ngx-ui/presentational 14.1.4 → 14.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -163,10 +163,10 @@ export class ImageSliderComponent {
163
163
  }
164
164
  }
165
165
  ImageSliderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ImageSliderComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
166
- ImageSliderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ImageSliderComponent, selector: "kms-image-slider", inputs: { slides: "slides", editMode: "editMode", imagesTOSave: "imagesTOSave", swipeConfig: "swipeConfig" }, outputs: { orderChanged: "orderChanged", deleteImageEvent: "deleteImageEvent" }, host: { listeners: { "document:keydown": "onKeydownHandler($event)" } }, viewQueries: [{ propertyName: "usefulSwiper", first: true, predicate: ["usefulSwiper"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"all-wrapper\">\n <!--(swiperight)=\"previousSlide()\" (swipeleft)=\"nextSlide()\"-->\n <div \n class=\"swiper-bigImage\"\n [style.backgroundImage]=\"selectedSlideImage\"\n [swipeDirective]=\"swipeConfig\"\n (moveEvent)=\"handleMoveEvent($event)\"\n (releaseEvent)=\"handleReleaseEvent($event)\"\n (mouseup)=\"lastClicked()\"\n (mouseout)=\"noLastClicked()\" >\n </div>\n\n <ng-content select=\"[description]\"></ng-content>\n\n <div class=\"swiper-holder\">\n <!--\n (mouseWheelUp)=\"scrollLeft($event)\"\n (mouseWheelDown)=\"scrollRight($event)\"\n -->\n\n <swiper [config]=\"config\" #usefulSwiper>\n <div class=\"swiper-wrapper\" \n cdkDropList (cdkDropListDropped)=\"drop($event)\" \n cdkDropListOrientation=\"horizontal\"> \n <div class=\"swiper-slide\" \n *ngFor=\"let slide of slides; let index = index\" \n cdkDrag [cdkDragDisabled]=\"!editMode\">\n <button mat-menu-item *ngIf=\"editMode\" (click)=\"deleteImage(index)\"> \n <kms-icon icon=\"trash\"></kms-icon>\n </button>\n <div class=\"img\" (click)=\"openSlide(index)\"\n [style.backgroundImage]=\"sanitizer.bypassSecurityTrustStyle('url(' + slide + ')')\"\n [ngClass]=\"{'active': index === selectedSlide}\">\n </div>\n \n <div class=\"default-image\">{{\"common.defaultImage\" | translate}} </div>\n </div>\n </div>\n </swiper>\n\n <div class=\"swiper-button-next\" *ngIf=\"slides?.length > 3\"></div>\n <div class=\"swiper-button-prev\" *ngIf=\"slides?.length > 3\"></div>\n\n <div class=\"swiper-button-next2\" *ngIf=\"slides?.length > 1\" (click)=\"nextSlide()\">\n <kms-icon icon=\"chevron-right\" [iconClass]=\"{'color-disabled': selectedSlide == slides?.length - 1, 'color-primary': true}\"></kms-icon>\n </div>\n <div class=\"swiper-button-prev2\" *ngIf=\"slides?.length > 1\" (click)=\"previousSlide()\">\n <kms-icon icon=\"chevron-left\" [iconClass]=\"{'color-disabled': selectedSlide == 0, 'color-primary': true}\"></kms-icon>\n </div>\n\n </div>\n\n <ng-content></ng-content>\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i3.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i5.SwipeDirective, selector: "[swipeDirective]", inputs: ["swipeDirective"], outputs: ["moveEvent", "releaseEvent"] }, { kind: "component", type: i6.SwiperComponent, selector: "swiper", inputs: ["initialize", "config"] }, { kind: "component", type: i7.IconComponent, selector: "kms-icon", inputs: ["icon", "iconClass", "iconStyle", "iconSize", "size", "dontUseSprite"] }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] });
166
+ ImageSliderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ImageSliderComponent, selector: "kms-image-slider", inputs: { slides: "slides", editMode: "editMode", imagesTOSave: "imagesTOSave", swipeConfig: "swipeConfig" }, outputs: { orderChanged: "orderChanged", deleteImageEvent: "deleteImageEvent" }, host: { listeners: { "document:keydown": "onKeydownHandler($event)" } }, viewQueries: [{ propertyName: "usefulSwiper", first: true, predicate: ["usefulSwiper"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"all-wrapper\">\n <!--(swiperight)=\"previousSlide()\" (swipeleft)=\"nextSlide()\"-->\n <div\n class=\"swiper-bigImage\"\n [style.backgroundImage]=\"selectedSlideImage\"\n [swipeDirective]=\"swipeConfig\"\n (moveEvent)=\"handleMoveEvent($event)\"\n (releaseEvent)=\"handleReleaseEvent($event)\"\n (mouseup)=\"lastClicked()\"\n (mouseout)=\"noLastClicked()\"\n ></div>\n\n <ng-content select=\"[description]\"></ng-content>\n\n <div class=\"swiper-holder\">\n <!--\n (mouseWheelUp)=\"scrollLeft($event)\"\n (mouseWheelDown)=\"scrollRight($event)\"\n -->\n\n <swiper [config]=\"config\" #usefulSwiper>\n <div\n class=\"swiper-wrapper\"\n cdkDropList\n (cdkDropListDropped)=\"drop($event)\"\n cdkDropListOrientation=\"horizontal\"\n >\n <div\n class=\"swiper-slide\"\n *ngFor=\"let slide of slides; let index = index\"\n cdkDrag\n [cdkDragDisabled]=\"!editMode\"\n >\n <button mat-menu-item *ngIf=\"editMode\" (click)=\"deleteImage(index)\">\n <kms-icon icon=\"trash\"></kms-icon>\n </button>\n <div\n class=\"img\"\n (click)=\"openSlide(index)\"\n [style.backgroundImage]=\"\n sanitizer.bypassSecurityTrustStyle('url(' + slide + ')')\n \"\n [ngClass]=\"{ active: index === selectedSlide }\"\n ></div>\n\n <div class=\"default-image\">\n {{ \"common.defaultImage\" | translate }}\n </div>\n </div>\n </div>\n </swiper>\n\n <button\n class=\"swiper-button-next\"\n (click)=\"nextSlide()\"\n *ngIf=\"slides?.length > 3\"\n >&nbsp;</button>\n <button\n class=\"swiper-button-prev\"\n (click)=\"previousSlide()\"\n *ngIf=\"slides?.length > 3\"\n >&nbsp;</button>\n\n <div\n class=\"swiper-button-next2\"\n *ngIf=\"slides?.length > 1\"\n (click)=\"nextSlide()\"\n >\n <kms-icon\n icon=\"chevron-right\"\n [iconClass]=\"{\n 'color-disabled': selectedSlide == slides?.length - 1,\n 'color-primary': true\n }\"\n ></kms-icon>\n </div>\n <div\n class=\"swiper-button-prev2\"\n *ngIf=\"slides?.length > 1\"\n (click)=\"previousSlide()\"\n >\n <kms-icon\n icon=\"chevron-left\"\n [iconClass]=\"{\n 'color-disabled': selectedSlide == 0,\n 'color-primary': true\n }\"\n ></kms-icon>\n </div>\n </div>\n\n <ng-content></ng-content>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i3.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i5.SwipeDirective, selector: "[swipeDirective]", inputs: ["swipeDirective"], outputs: ["moveEvent", "releaseEvent"] }, { kind: "component", type: i6.SwiperComponent, selector: "swiper", inputs: ["initialize", "config"] }, { kind: "component", type: i7.IconComponent, selector: "kms-icon", inputs: ["icon", "iconClass", "iconStyle", "iconSize", "size", "dontUseSprite"] }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] });
167
167
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ImageSliderComponent, decorators: [{
168
168
  type: Component,
169
- args: [{ selector: 'kms-image-slider', template: "<div class=\"all-wrapper\">\n <!--(swiperight)=\"previousSlide()\" (swipeleft)=\"nextSlide()\"-->\n <div \n class=\"swiper-bigImage\"\n [style.backgroundImage]=\"selectedSlideImage\"\n [swipeDirective]=\"swipeConfig\"\n (moveEvent)=\"handleMoveEvent($event)\"\n (releaseEvent)=\"handleReleaseEvent($event)\"\n (mouseup)=\"lastClicked()\"\n (mouseout)=\"noLastClicked()\" >\n </div>\n\n <ng-content select=\"[description]\"></ng-content>\n\n <div class=\"swiper-holder\">\n <!--\n (mouseWheelUp)=\"scrollLeft($event)\"\n (mouseWheelDown)=\"scrollRight($event)\"\n -->\n\n <swiper [config]=\"config\" #usefulSwiper>\n <div class=\"swiper-wrapper\" \n cdkDropList (cdkDropListDropped)=\"drop($event)\" \n cdkDropListOrientation=\"horizontal\"> \n <div class=\"swiper-slide\" \n *ngFor=\"let slide of slides; let index = index\" \n cdkDrag [cdkDragDisabled]=\"!editMode\">\n <button mat-menu-item *ngIf=\"editMode\" (click)=\"deleteImage(index)\"> \n <kms-icon icon=\"trash\"></kms-icon>\n </button>\n <div class=\"img\" (click)=\"openSlide(index)\"\n [style.backgroundImage]=\"sanitizer.bypassSecurityTrustStyle('url(' + slide + ')')\"\n [ngClass]=\"{'active': index === selectedSlide}\">\n </div>\n \n <div class=\"default-image\">{{\"common.defaultImage\" | translate}} </div>\n </div>\n </div>\n </swiper>\n\n <div class=\"swiper-button-next\" *ngIf=\"slides?.length > 3\"></div>\n <div class=\"swiper-button-prev\" *ngIf=\"slides?.length > 3\"></div>\n\n <div class=\"swiper-button-next2\" *ngIf=\"slides?.length > 1\" (click)=\"nextSlide()\">\n <kms-icon icon=\"chevron-right\" [iconClass]=\"{'color-disabled': selectedSlide == slides?.length - 1, 'color-primary': true}\"></kms-icon>\n </div>\n <div class=\"swiper-button-prev2\" *ngIf=\"slides?.length > 1\" (click)=\"previousSlide()\">\n <kms-icon icon=\"chevron-left\" [iconClass]=\"{'color-disabled': selectedSlide == 0, 'color-primary': true}\"></kms-icon>\n </div>\n\n </div>\n\n <ng-content></ng-content>\n</div>" }]
169
+ args: [{ selector: 'kms-image-slider', template: "<div class=\"all-wrapper\">\n <!--(swiperight)=\"previousSlide()\" (swipeleft)=\"nextSlide()\"-->\n <div\n class=\"swiper-bigImage\"\n [style.backgroundImage]=\"selectedSlideImage\"\n [swipeDirective]=\"swipeConfig\"\n (moveEvent)=\"handleMoveEvent($event)\"\n (releaseEvent)=\"handleReleaseEvent($event)\"\n (mouseup)=\"lastClicked()\"\n (mouseout)=\"noLastClicked()\"\n ></div>\n\n <ng-content select=\"[description]\"></ng-content>\n\n <div class=\"swiper-holder\">\n <!--\n (mouseWheelUp)=\"scrollLeft($event)\"\n (mouseWheelDown)=\"scrollRight($event)\"\n -->\n\n <swiper [config]=\"config\" #usefulSwiper>\n <div\n class=\"swiper-wrapper\"\n cdkDropList\n (cdkDropListDropped)=\"drop($event)\"\n cdkDropListOrientation=\"horizontal\"\n >\n <div\n class=\"swiper-slide\"\n *ngFor=\"let slide of slides; let index = index\"\n cdkDrag\n [cdkDragDisabled]=\"!editMode\"\n >\n <button mat-menu-item *ngIf=\"editMode\" (click)=\"deleteImage(index)\">\n <kms-icon icon=\"trash\"></kms-icon>\n </button>\n <div\n class=\"img\"\n (click)=\"openSlide(index)\"\n [style.backgroundImage]=\"\n sanitizer.bypassSecurityTrustStyle('url(' + slide + ')')\n \"\n [ngClass]=\"{ active: index === selectedSlide }\"\n ></div>\n\n <div class=\"default-image\">\n {{ \"common.defaultImage\" | translate }}\n </div>\n </div>\n </div>\n </swiper>\n\n <button\n class=\"swiper-button-next\"\n (click)=\"nextSlide()\"\n *ngIf=\"slides?.length > 3\"\n >&nbsp;</button>\n <button\n class=\"swiper-button-prev\"\n (click)=\"previousSlide()\"\n *ngIf=\"slides?.length > 3\"\n >&nbsp;</button>\n\n <div\n class=\"swiper-button-next2\"\n *ngIf=\"slides?.length > 1\"\n (click)=\"nextSlide()\"\n >\n <kms-icon\n icon=\"chevron-right\"\n [iconClass]=\"{\n 'color-disabled': selectedSlide == slides?.length - 1,\n 'color-primary': true\n }\"\n ></kms-icon>\n </div>\n <div\n class=\"swiper-button-prev2\"\n *ngIf=\"slides?.length > 1\"\n (click)=\"previousSlide()\"\n >\n <kms-icon\n icon=\"chevron-left\"\n [iconClass]=\"{\n 'color-disabled': selectedSlide == 0,\n 'color-primary': true\n }\"\n ></kms-icon>\n </div>\n </div>\n\n <ng-content></ng-content>\n</div>\n" }]
170
170
  }], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; }, propDecorators: { slides: [{
171
171
  type: Input
172
172
  }], editMode: [{
@@ -186,4 +186,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
186
186
  type: HostListener,
187
187
  args: ['document:keydown', ['$event']]
188
188
  }] } });
189
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Utc2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ttcy1uZ3gtdWktcHJlc2VudGF0aW9uYWwvc3JjL2xpYi91aS9pbWFnZS1zbGlkZXIvaW1hZ2Utc2xpZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ttcy1uZ3gtdWktcHJlc2VudGF0aW9uYWwvc3JjL2xpYi91aS9pbWFnZS1zbGlkZXIvaW1hZ2Utc2xpZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsT0FBTyxFQUNILFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRU4sU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBS3ZCLE9BQU8sRUFBZSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7OztBQVV0RSxNQUFNLE9BQU8sb0JBQW9CO0lBOEM3QixZQUFtQixTQUF1QjtRQUF2QixjQUFTLEdBQVQsU0FBUyxDQUFjO1FBNUNqQyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWhCLGlCQUFZLEdBQWlDLElBQUksWUFBWSxFQUFFLENBQUM7UUFDaEUscUJBQWdCLEdBQXlCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFdEU7OztXQUdHO1FBQ00sZ0JBQVcsR0FBaUI7WUFDakMsY0FBYyxFQUFFLENBQUM7WUFDakIsa0JBQWtCLEVBQUUsR0FBRztZQUN2QixrQkFBa0IsRUFBRSxJQUFJO1NBQzNCLENBQUM7UUFFSyxrQkFBYSxHQUFHLENBQUMsQ0FBQztRQUlsQiwrQkFBMEIsR0FBRyxLQUFLLENBQUM7UUFJMUMsV0FBTSxHQUFrQjtZQUNwQixZQUFZLEVBQUUsQ0FBQztZQUNmLGFBQWEsRUFBRSxDQUFDO1lBQ2hCLFVBQVUsRUFBRTtnQkFDUixNQUFNLEVBQUUscUJBQXFC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QUFLLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUN0RSxlQUFlLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUM1RSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDN0M7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxXQUFXLENBQUMsS0FBYTtRQUNyQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7O2lIQTlLUSxvQkFBb0I7cUdBQXBCLG9CQUFvQixtY0M3QmpDLG82RUFxRE07MkZEeEJPLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDSSxrQkFBa0I7bUdBS25CLE1BQU07c0JBQWQsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0ksWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBTUUsV0FBVztzQkFBbkIsS0FBSztnQkFZcUIsWUFBWTtzQkFBdEMsU0FBUzt1QkFBQyxjQUFjO2dCQWtDcUIsZ0JBQWdCO3NCQUE3RCxZQUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAY29weXJpZ2h0IEZMWUFDVFMgR21iSCAyMDE5XG4gKi9cblxuaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVTdHlsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5pbXBvcnQgeyBTd2lwZXJDb21wb25lbnQgfSBmcm9tICduZ3gtdXNlZnVsLXN3aXBlcic7XG5pbXBvcnQgeyBTd2lwZXJPcHRpb25zIH0gZnJvbSAnc3dpcGVyJztcbmltcG9ydCB7IENka0RyYWdEcm9wLCBtb3ZlSXRlbUluQXJyYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7IEltYWdlU25pcHBldCB9IGZyb20gJy4uLy4uL21vZGVscy9pbWFnZS1zbmlwcGV0Lm1vZGVsJztcbmltcG9ydCB7IFN3aXBlTW92ZUV2ZW50LCBTd2lwZU9wdGlvbnMsIFN3aXBlUmVsZWFzZUV2ZW50IH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9zd2lwZS5tb2RlbCc7XG5cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdrbXMtaW1hZ2Utc2xpZGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW1hZ2Utc2xpZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pbWFnZS1zbGlkZXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgSW1hZ2VTbGlkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgQElucHV0KCkgc2xpZGVzOiBzdHJpbmdbXSB8IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBlZGl0TW9kZSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGltYWdlc1RPU2F2ZTogSW1hZ2VTbmlwcGV0W10gfCB1bmRlZmluZWQ7XG4gICAgQE91dHB1dCgpIG9yZGVyQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEltYWdlU25pcHBldFtdPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgZGVsZXRlSW1hZ2VFdmVudDogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICAvKipcbiAgICAgKiBPcHRpb25hbDogRGVmaW5lIFN3aXBlIGJlaGF2aW91ciBjb25maWd1cmF0aW9uLlxuICAgICAqIERlZmF1bHQgaXMgMTAlIGZvciB0aGUgdGhyZXNob2xkIGRlZmluaXRpb24gdW50aWwgYSBzd2lwZSB0cmlnZ2VycyBuZXh0L3ByZXZpb3VzIHNsaWRlLlxuICAgICAqL1xuICAgIEBJbnB1dCgpIHN3aXBlQ29uZmlnOiBTd2lwZU9wdGlvbnMgPSB7XG4gICAgICAgIHN3aXBlVGhyZXNob2xkOiA1LFxuICAgICAgICBzd2lwZVRocmVzaG9sZFR5cGU6ICclJyxcbiAgICAgICAgc3dpcGVMb2NhbFBvc2l0aW9uOiB0cnVlLFxuICAgIH07XG5cbiAgICBwdWJsaWMgc2VsZWN0ZWRTbGlkZSA9IDA7XG4gICAgcHVibGljIGNoZWNrZWRJbWFnZUluZGV4PzogbnVtYmVyO1xuXG4gICAgcHVibGljIHNlbGVjdGVkU2xpZGVJbWFnZTogU2FmZVN0eWxlIHwgdW5kZWZpbmVkO1xuICAgIHB1YmxpYyBpc0xhc3RDbGlja2VkSW5TbGlkZXJJbWFnZSA9IGZhbHNlO1xuXG4gICAgQFZpZXdDaGlsZCgndXNlZnVsU3dpcGVyJykgdXNlZnVsU3dpcGVyOiBTd2lwZXJDb21wb25lbnQgfCB1bmRlZmluZWQ7XG5cbiAgICBjb25maWc6IFN3aXBlck9wdGlvbnMgPSB7XG4gICAgICAgIGluaXRpYWxTbGlkZTogMCxcbiAgICAgICAgc2xpZGVzUGVyVmlldzogMyxcbiAgICAgICAgbmF2aWdhdGlvbjoge1xuICAgICAgICAgICAgbmV4dEVsOiAnLnN3aXBlci1idXR0b24tbmV4dCcsXG4gICAgICAgICAgICBwcmV2RWw6ICcuc3dpcGVyLWJ1dHRvbi1wcmV2JyxcbiAgICAgICAgfSxcbiAgICAgICAgd2F0Y2hPdmVyZmxvdzogdHJ1ZSxcbiAgICAgICAgYXV0b0hlaWdodDogdHJ1ZSxcbiAgICAgICAgYWxsb3dUb3VjaE1vdmU6IGZhbHNlLFxuICAgICAgICBzcGFjZUJldHdlZW46IDMwLFxuICAgICAgICBvbjoge1xuICAgICAgICAgICAgc2xpZGVDaGFuZ2U6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBkbyBzb21ldGhpbmdcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzbGlkZUNoYW5nZVRyYW5zaXRpb25FbmQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBkbyBzb21ldGhpbmdcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgfTtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBzYW5pdGl6ZXI6IERvbVNhbml0aXplcikge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAodGhpcy5zbGlkZXMpIHtcbiAgICAgICAgICAgIC8vIFRPRE8gdXNlIFBpcGUgc2FmZVN0eWxlXG5cbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRTbGlkZUltYWdlID0gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFN0eWxlKCd1cmwoJyArIHRoaXMuc2xpZGVzWzBdICsgJyknKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vICFUT0RPXG4gICAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bicsIFsnJGV2ZW50J10pIG9uS2V5ZG93bkhhbmRsZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93UmlnaHQnKSB7XG4gICAgICAgICAgICB0aGlzLm5leHRTbGlkZSgpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09ICdBcnJvd0xlZnQnKSB7XG4gICAgICAgICAgICB0aGlzLnByZXZpb3VzU2xpZGUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNsaWRlIGZvbGxvd3MgdGhlIGZpbmdlciBvciBtb3VzZSBhY2NvcmRpbmcgdG8gaXTCtHMgbW92ZSBkZWx0YS5cbiAgICAgKiBAcGFyYW0gZXZlbnQgU3dpcGVNb3ZlRXZlbnRcbiAgICAgKi9cbiAgICBoYW5kbGVNb3ZlRXZlbnQoZXZlbnQ6IFN3aXBlTW92ZUV2ZW50KSB7XG4gICAgICAgIC8vIGNlcnRhaW4gbW92ZSB0aHJlc2hvbGQgbmVlZHMgdG8gYmUgcmVhY2hlZFxuICAgICAgICBpZiAoIWV2ZW50LnRocmVzaG9sZFdhc1JlYWNoZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNvbmZpZy5kaXJlY3Rpb24gPSBldmVudC5kaXJlY3Rpb24gPT09IDEgPyAnaG9yaXpvbnRhbCcgOiAndmVydGljYWwnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1vdXNlIHVwIG9yIHNsaWRlIGNvbnRhaW5lciB3YXMgbGVmdC5cbiAgICAgKiBAcGFyYW0gZXZlbnQgU3dpcGVSZWxlYXNlRXZlbnRcbiAgICAgKi9cbiAgICBoYW5kbGVSZWxlYXNlRXZlbnQoZXZlbnQ6IFN3aXBlUmVsZWFzZUV2ZW50KSB7XG4gICAgICAgIGlmICghZXZlbnQudGhyZXNob2xkV2FzUmVhY2hlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIC8vIEp1c3QgZG8gaWYgdXNlciBjbGlja2VkIHRvIHNsaWRlIG9uIGltYWdlIGFuZCBub3Qgb24gYXJyb3cgb3Igb3RoZXIgZWxlbWVudFxuICAgICAgICBpZiAoIXRoaXMuaXNMYXN0Q2xpY2tlZEluU2xpZGVySW1hZ2UpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXZlbnQuZGlyZWN0aW9uID09PSAxKSB7XG4gICAgICAgICAgICB0aGlzLnByZXZpb3VzU2xpZGUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubmV4dFNsaWRlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsYXN0Q2xpY2tlZCgpIHtcbiAgICAgICAgdGhpcy5pc0xhc3RDbGlja2VkSW5TbGlkZXJJbWFnZSA9IHRydWU7XG4gICAgfVxuXG4gICAgbm9MYXN0Q2xpY2tlZCgpIHtcbiAgICAgICAgdGhpcy5pc0xhc3RDbGlja2VkSW5TbGlkZXJJbWFnZSA9IGZhbHNlO1xuICAgIH1cblxuICAgIHNjcm9sbExlZnQoKSB7XG4gICAgICAgIHRoaXMucHJldmlvdXNTbGlkZSgpO1xuICAgIH1cblxuICAgIHNjcm9sbFJpZ2h0KCkge1xuICAgICAgICB0aGlzLm5leHRTbGlkZSgpO1xuICAgIH1cblxuICAgIG5leHRTbGlkZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuc2xpZGVzICYmIHRoaXMuc2VsZWN0ZWRTbGlkZSA8IHRoaXMuc2xpZGVzLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnVzZWZ1bFN3aXBlcikge1xuICAgICAgICAgICAgICAgIHRoaXMudXNlZnVsU3dpcGVyLnN3aXBlci5zbGlkZU5leHQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMub3BlblNsaWRlKHRoaXMuc2VsZWN0ZWRTbGlkZSArIDEpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaXNMYXN0Q2xpY2tlZEluU2xpZGVySW1hZ2UgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwcmV2aW91c1NsaWRlKCkge1xuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZFNsaWRlID4gMCkge1xuICAgICAgICAgICAgaWYgKHRoaXMudXNlZnVsU3dpcGVyKSB7XG4gICAgICAgICAgICAgICAgdGhpcy51c2VmdWxTd2lwZXIuc3dpcGVyLnNsaWRlUHJldigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5vcGVuU2xpZGUodGhpcy5zZWxlY3RlZFNsaWRlIC0gMSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pc0xhc3RDbGlja2VkSW5TbGlkZXJJbWFnZSA9IGZhbHNlO1xuICAgIH1cblxuICAgIHNsaWRlVG8oaW5kZXg6IG51bWJlcikge1xuICAgICAgICBpZiAodGhpcy51c2VmdWxTd2lwZXIpIHtcbiAgICAgICAgICAgIHRoaXMudXNlZnVsU3dpcGVyLnN3aXBlci5zbGlkZVRvKGluZGV4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9wZW5TbGlkZShudW1iZXI6IG51bWJlcikge1xuICAgICAgICBpZiAodGhpcy5zbGlkZXMgJiYgbnVtYmVyIDwgdGhpcy5zbGlkZXMubGVuZ3RoICYmIG51bWJlciA+PSAwKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkU2xpZGUgPSBudW1iZXI7XG4gICAgICAgICAgICAvLyBUT0RPIHVzZSBQaXBlIHNhZmVTdHlsZVxuXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkU2xpZGVJbWFnZSA9IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RTdHlsZSgndXJsKCcgKyB0aGlzLnNsaWRlc1tudW1iZXJdIHx8ICcpJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhfY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBpZiAoX2NoYW5nZXMuc2xpZGVzKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5zbGlkZXMpIHtcbiAgICAgICAgICAgICAgICAvLyBUT0RPIHVzZSBQaXBlIHNhZmVTdHlsZVxuXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFNsaWRlSW1hZ2UgPSB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0U3R5bGUoJ3VybCgnICsgdGhpcy5zbGlkZXNbMF0gKyAnKScpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmUtb3JkZXIgc2xpZGVzIGFuZCBub3RpZnkgcGFyZW50IGNvbXBvbmVudFxuICAgICAqL1xuICAgIGRyb3AoZXZlbnQ6IENka0RyYWdEcm9wPHN0cmluZ1tdPikge1xuICAgICAgICBpZiAodGhpcy5zbGlkZXMgJiYgdGhpcy5pbWFnZXNUT1NhdmUpIHtcbiAgICAgICAgICAgIG1vdmVJdGVtSW5BcnJheSh0aGlzLnNsaWRlcywgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcbiAgICAgICAgICAgIG1vdmVJdGVtSW5BcnJheSh0aGlzLmltYWdlc1RPU2F2ZSwgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcbiAgICAgICAgICAgIHRoaXMub3JkZXJDaGFuZ2VkLmVtaXQodGhpcy5pbWFnZXNUT1NhdmUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2VuZCBpbWFnZSBpbmRleCB0byBwYXJlbnQgdG8gcGVyZm9ybSBkZWxldGVcbiAgICAgKi9cbiAgICBkZWxldGVJbWFnZShpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuZGVsZXRlSW1hZ2VFdmVudC5lbWl0KGluZGV4KTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYWxsLXdyYXBwZXJcIj5cbiAgICA8IS0tKHN3aXBlcmlnaHQpPVwicHJldmlvdXNTbGlkZSgpXCIgKHN3aXBlbGVmdCk9XCJuZXh0U2xpZGUoKVwiLS0+XG4gICAgPGRpdiBcbiAgICAgICAgY2xhc3M9XCJzd2lwZXItYmlnSW1hZ2VcIlxuICAgICAgICBbc3R5bGUuYmFja2dyb3VuZEltYWdlXT1cInNlbGVjdGVkU2xpZGVJbWFnZVwiXG4gICAgICAgIFtzd2lwZURpcmVjdGl2ZV09XCJzd2lwZUNvbmZpZ1wiXG4gICAgICAgIChtb3ZlRXZlbnQpPVwiaGFuZGxlTW92ZUV2ZW50KCRldmVudClcIlxuICAgICAgICAocmVsZWFzZUV2ZW50KT1cImhhbmRsZVJlbGVhc2VFdmVudCgkZXZlbnQpXCJcbiAgICAgICAgKG1vdXNldXApPVwibGFzdENsaWNrZWQoKVwiXG4gICAgICAgIChtb3VzZW91dCk9XCJub0xhc3RDbGlja2VkKClcIiA+XG4gICAgPC9kaXY+XG5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZGVzY3JpcHRpb25dXCI+PC9uZy1jb250ZW50PlxuXG4gICAgPGRpdiBjbGFzcz1cInN3aXBlci1ob2xkZXJcIj5cbiAgICAgICAgPCEtLVxuICAgICAgICAobW91c2VXaGVlbFVwKT1cInNjcm9sbExlZnQoJGV2ZW50KVwiXG4gICAgICAgIChtb3VzZVdoZWVsRG93bik9XCJzY3JvbGxSaWdodCgkZXZlbnQpXCJcbiAgICAgICAgLS0+XG5cbiAgICAgICAgPHN3aXBlciBbY29uZmlnXT1cImNvbmZpZ1wiICN1c2VmdWxTd2lwZXI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3dpcGVyLXdyYXBwZXJcIiBcbiAgICAgICAgICAgICAgICBjZGtEcm9wTGlzdCAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3AoJGV2ZW50KVwiIFxuICAgICAgICAgICAgICAgIGNka0Ryb3BMaXN0T3JpZW50YXRpb249XCJob3Jpem9udGFsXCI+ICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzd2lwZXItc2xpZGVcIiBcbiAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHNsaWRlIG9mIHNsaWRlczsgbGV0IGluZGV4ID0gaW5kZXhcIiBcbiAgICAgICAgICAgICAgICAgICAgY2RrRHJhZyBbY2RrRHJhZ0Rpc2FibGVkXT1cIiFlZGl0TW9kZVwiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKm5nSWY9XCJlZGl0TW9kZVwiIChjbGljayk9XCJkZWxldGVJbWFnZShpbmRleClcIj4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8a21zLWljb24gaWNvbj1cInRyYXNoXCI+PC9rbXMtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbWdcIiAoY2xpY2spPVwib3BlblNsaWRlKGluZGV4KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZEltYWdlXT1cInNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0U3R5bGUoJ3VybCgnICsgc2xpZGUgKyAnKScpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnYWN0aXZlJzogaW5kZXggPT09IHNlbGVjdGVkU2xpZGV9XCI+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlZmF1bHQtaW1hZ2VcIj57e1wiY29tbW9uLmRlZmF1bHRJbWFnZVwiIHwgdHJhbnNsYXRlfX0gPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9zd2lwZXI+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cInN3aXBlci1idXR0b24tbmV4dFwiICpuZ0lmPVwic2xpZGVzPy5sZW5ndGggPiAzXCI+PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzd2lwZXItYnV0dG9uLXByZXZcIiAqbmdJZj1cInNsaWRlcz8ubGVuZ3RoID4gM1wiPjwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzd2lwZXItYnV0dG9uLW5leHQyXCIgKm5nSWY9XCJzbGlkZXM/Lmxlbmd0aCA+IDFcIiAoY2xpY2spPVwibmV4dFNsaWRlKClcIj5cbiAgICAgICAgICAgIDxrbXMtaWNvbiBpY29uPVwiY2hldnJvbi1yaWdodFwiIFtpY29uQ2xhc3NdPVwieydjb2xvci1kaXNhYmxlZCc6IHNlbGVjdGVkU2xpZGUgPT0gc2xpZGVzPy5sZW5ndGggLSAxLCAnY29sb3ItcHJpbWFyeSc6IHRydWV9XCI+PC9rbXMtaWNvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzd2lwZXItYnV0dG9uLXByZXYyXCIgKm5nSWY9XCJzbGlkZXM/Lmxlbmd0aCA+IDFcIiAoY2xpY2spPVwicHJldmlvdXNTbGlkZSgpXCI+XG4gICAgICAgICAgICA8a21zLWljb24gaWNvbj1cImNoZXZyb24tbGVmdFwiIFtpY29uQ2xhc3NdPVwieydjb2xvci1kaXNhYmxlZCc6IHNlbGVjdGVkU2xpZGUgPT0gMCwgJ2NvbG9yLXByaW1hcnknOiB0cnVlfVwiPjwva21zLWljb24+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgPC9kaXY+XG5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Rpdj4iXX0=
189
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Utc2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ttcy1uZ3gtdWktcHJlc2VudGF0aW9uYWwvc3JjL2xpYi91aS9pbWFnZS1zbGlkZXIvaW1hZ2Utc2xpZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ttcy1uZ3gtdWktcHJlc2VudGF0aW9uYWwvc3JjL2xpYi91aS9pbWFnZS1zbGlkZXIvaW1hZ2Utc2xpZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRU4sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBS3ZCLE9BQU8sRUFBZSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7OztBQWF0RSxNQUFNLE9BQU8sb0JBQW9CO0lBOEMvQixZQUFtQixTQUF1QjtRQUF2QixjQUFTLEdBQVQsU0FBUyxDQUFjO1FBNUNqQyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWhCLGlCQUFZLEdBQWlDLElBQUksWUFBWSxFQUFFLENBQUM7UUFDaEUscUJBQWdCLEdBQXlCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFdEU7OztXQUdHO1FBQ00sZ0JBQVcsR0FBaUI7WUFDbkMsY0FBYyxFQUFFLENBQUM7WUFDakIsa0JBQWtCLEVBQUUsR0FBRztZQUN2QixrQkFBa0IsRUFBRSxJQUFJO1NBQ3pCLENBQUM7UUFFSyxrQkFBYSxHQUFHLENBQUMsQ0FBQztRQUlsQiwrQkFBMEIsR0FBRyxLQUFLLENBQUM7UUFJMUMsV0FBTSxHQUFrQjtZQUN0QixZQUFZLEVBQUUsQ0FBQztZQUNmLGFBQWEsRUFBRSxDQUFDO1lBQ2hCLFVBQVUsRUFBRTtnQkFDVixNQUFNLEVBQUUscUJBQXFC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QUFFLEtBQUssQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3RFLGVBQWUsQ0FDYixJQUFJLENBQUMsWUFBWSxFQUNqQixLQUFLLENBQUMsYUFBYSxFQUNuQixLQUFLLENBQUMsWUFBWSxDQUNuQixDQUFDO1lBQ0YsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQzNDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsV0FBVyxDQUFDLEtBQWE7UUFDdkIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQyxDQUFDOztpSEExTFUsb0JBQW9CO3FHQUFwQixvQkFBb0IsbWNDaENqQyxva0ZBNkZBOzJGRDdEYSxvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0Usa0JBQWtCO21HQUtuQixNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNJLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csZ0JBQWdCO3NCQUF6QixNQUFNO2dCQU1FLFdBQVc7c0JBQW5CLEtBQUs7Z0JBWXFCLFlBQVk7c0JBQXRDLFNBQVM7dUJBQUMsY0FBYztnQkFvQ3FCLGdCQUFnQjtzQkFBN0QsWUFBWTt1QkFBQyxrQkFBa0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGNvcHlyaWdodCBGTFlBQ1RTIEdtYkggMjAxOVxuICovXG5cbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlU3R5bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuaW1wb3J0IHsgU3dpcGVyQ29tcG9uZW50IH0gZnJvbSAnbmd4LXVzZWZ1bC1zd2lwZXInO1xuaW1wb3J0IHsgU3dpcGVyT3B0aW9ucyB9IGZyb20gJ3N3aXBlcic7XG5pbXBvcnQgeyBDZGtEcmFnRHJvcCwgbW92ZUl0ZW1JbkFycmF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBJbWFnZVNuaXBwZXQgfSBmcm9tICcuLi8uLi9tb2RlbHMvaW1hZ2Utc25pcHBldC5tb2RlbCc7XG5pbXBvcnQge1xuICBTd2lwZU1vdmVFdmVudCxcbiAgU3dpcGVPcHRpb25zLFxuICBTd2lwZVJlbGVhc2VFdmVudCxcbn0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9zd2lwZS5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ttcy1pbWFnZS1zbGlkZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vaW1hZ2Utc2xpZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaW1hZ2Utc2xpZGVyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEltYWdlU2xpZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBzbGlkZXM6IHN0cmluZ1tdIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBlZGl0TW9kZSA9IGZhbHNlO1xuICBASW5wdXQoKSBpbWFnZXNUT1NhdmU6IEltYWdlU25pcHBldFtdIHwgdW5kZWZpbmVkO1xuICBAT3V0cHV0KCkgb3JkZXJDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8SW1hZ2VTbmlwcGV0W10+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgZGVsZXRlSW1hZ2VFdmVudDogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsOiBEZWZpbmUgU3dpcGUgYmVoYXZpb3VyIGNvbmZpZ3VyYXRpb24uXG4gICAqIERlZmF1bHQgaXMgMTAlIGZvciB0aGUgdGhyZXNob2xkIGRlZmluaXRpb24gdW50aWwgYSBzd2lwZSB0cmlnZ2VycyBuZXh0L3ByZXZpb3VzIHNsaWRlLlxuICAgKi9cbiAgQElucHV0KCkgc3dpcGVDb25maWc6IFN3aXBlT3B0aW9ucyA9IHtcbiAgICBzd2lwZVRocmVzaG9sZDogNSxcbiAgICBzd2lwZVRocmVzaG9sZFR5cGU6ICclJyxcbiAgICBzd2lwZUxvY2FsUG9zaXRpb246IHRydWUsXG4gIH07XG5cbiAgcHVibGljIHNlbGVjdGVkU2xpZGUgPSAwO1xuICBwdWJsaWMgY2hlY2tlZEltYWdlSW5kZXg/OiBudW1iZXI7XG5cbiAgcHVibGljIHNlbGVjdGVkU2xpZGVJbWFnZTogU2FmZVN0eWxlIHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgaXNMYXN0Q2xpY2tlZEluU2xpZGVySW1hZ2UgPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKCd1c2VmdWxTd2lwZXInKSB1c2VmdWxTd2lwZXI6IFN3aXBlckNvbXBvbmVudCB8IHVuZGVmaW5lZDtcblxuICBjb25maWc6IFN3aXBlck9wdGlvbnMgPSB7XG4gICAgaW5pdGlhbFNsaWRlOiAwLFxuICAgIHNsaWRlc1BlclZpZXc6IDMsXG4gICAgbmF2aWdhdGlvbjoge1xuICAgICAgbmV4dEVsOiAnLnN3aXBlci1idXR0b24tbmV4dCcsXG4gICAgICBwcmV2RWw6ICcuc3dpcGVyLWJ1dHRvbi1wcmV2JyxcbiAgICB9LFxuICAgIHdhdGNoT3ZlcmZsb3c6IHRydWUsXG4gICAgYXV0b0hlaWdodDogdHJ1ZSxcbiAgICBhbGxvd1RvdWNoTW92ZTogZmFsc2UsXG4gICAgc3BhY2VCZXR3ZWVuOiAzMCxcbiAgICBvbjoge1xuICAgICAgc2xpZGVDaGFuZ2U6ICgpID0+IHtcbiAgICAgICAgLy8gZG8gc29tZXRoaW5nXG4gICAgICB9LFxuICAgICAgc2xpZGVDaGFuZ2VUcmFuc2l0aW9uRW5kOiAoKSA9PiB7XG4gICAgICAgIC8vIGRvIHNvbWV0aGluZ1xuICAgICAgfSxcbiAgICB9LFxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBzYW5pdGl6ZXI6IERvbVNhbml0aXplcikge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5zbGlkZXMpIHtcbiAgICAgIC8vIFRPRE8gdXNlIFBpcGUgc2FmZVN0eWxlXG5cbiAgICAgIHRoaXMuc2VsZWN0ZWRTbGlkZUltYWdlID0gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFN0eWxlKFxuICAgICAgICAndXJsKCcgKyB0aGlzLnNsaWRlc1swXSArICcpJ1xuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvLyAhVE9ET1xuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duJywgWyckZXZlbnQnXSkgb25LZXlkb3duSGFuZGxlcihcbiAgICBldmVudDogS2V5Ym9hcmRFdmVudFxuICApIHtcbiAgICBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dSaWdodCcpIHtcbiAgICAgIHRoaXMubmV4dFNsaWRlKCk7XG4gICAgfVxuICAgIGlmIChldmVudC5rZXkgPT09ICdBcnJvd0xlZnQnKSB7XG4gICAgICB0aGlzLnByZXZpb3VzU2xpZGUoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2xpZGUgZm9sbG93cyB0aGUgZmluZ2VyIG9yIG1vdXNlIGFjY29yZGluZyB0byBpdMK0cyBtb3ZlIGRlbHRhLlxuICAgKiBAcGFyYW0gZXZlbnQgU3dpcGVNb3ZlRXZlbnRcbiAgICovXG4gIGhhbmRsZU1vdmVFdmVudChldmVudDogU3dpcGVNb3ZlRXZlbnQpIHtcbiAgICAvLyBjZXJ0YWluIG1vdmUgdGhyZXNob2xkIG5lZWRzIHRvIGJlIHJlYWNoZWRcbiAgICBpZiAoIWV2ZW50LnRocmVzaG9sZFdhc1JlYWNoZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5jb25maWcuZGlyZWN0aW9uID0gZXZlbnQuZGlyZWN0aW9uID09PSAxID8gJ2hvcml6b250YWwnIDogJ3ZlcnRpY2FsJztcbiAgfVxuXG4gIC8qKlxuICAgKiBNb3VzZSB1cCBvciBzbGlkZSBjb250YWluZXIgd2FzIGxlZnQuXG4gICAqIEBwYXJhbSBldmVudCBTd2lwZVJlbGVhc2VFdmVudFxuICAgKi9cbiAgaGFuZGxlUmVsZWFzZUV2ZW50KGV2ZW50OiBTd2lwZVJlbGVhc2VFdmVudCkge1xuICAgIGlmICghZXZlbnQudGhyZXNob2xkV2FzUmVhY2hlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvLyBKdXN0IGRvIGlmIHVzZXIgY2xpY2tlZCB0byBzbGlkZSBvbiBpbWFnZSBhbmQgbm90IG9uIGFycm93IG9yIG90aGVyIGVsZW1lbnRcbiAgICBpZiAoIXRoaXMuaXNMYXN0Q2xpY2tlZEluU2xpZGVySW1hZ2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGV2ZW50LmRpcmVjdGlvbiA9PT0gMSkge1xuICAgICAgdGhpcy5wcmV2aW91c1NsaWRlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubmV4dFNsaWRlKCk7XG4gICAgfVxuICB9XG5cbiAgbGFzdENsaWNrZWQoKSB7XG4gICAgdGhpcy5pc0xhc3RDbGlja2VkSW5TbGlkZXJJbWFnZSA9IHRydWU7XG4gIH1cblxuICBub0xhc3RDbGlja2VkKCkge1xuICAgIHRoaXMuaXNMYXN0Q2xpY2tlZEluU2xpZGVySW1hZ2UgPSBmYWxzZTtcbiAgfVxuXG4gIHNjcm9sbExlZnQoKSB7XG4gICAgdGhpcy5wcmV2aW91c1NsaWRlKCk7XG4gIH1cblxuICBzY3JvbGxSaWdodCgpIHtcbiAgICB0aGlzLm5leHRTbGlkZSgpO1xuICB9XG5cbiAgbmV4dFNsaWRlKCkge1xuICAgIGlmICh0aGlzLnNsaWRlcyAmJiB0aGlzLnNlbGVjdGVkU2xpZGUgPCB0aGlzLnNsaWRlcy5sZW5ndGggLSAxKSB7XG4gICAgICBpZiAodGhpcy51c2VmdWxTd2lwZXIpIHtcbiAgICAgICAgdGhpcy51c2VmdWxTd2lwZXIuc3dpcGVyLnNsaWRlTmV4dCgpO1xuICAgICAgfVxuICAgICAgdGhpcy5vcGVuU2xpZGUodGhpcy5zZWxlY3RlZFNsaWRlICsgMSk7XG4gICAgfVxuICAgIHRoaXMuaXNMYXN0Q2xpY2tlZEluU2xpZGVySW1hZ2UgPSBmYWxzZTtcbiAgfVxuXG4gIHByZXZpb3VzU2xpZGUoKSB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRTbGlkZSA+IDApIHtcbiAgICAgIGlmICh0aGlzLnVzZWZ1bFN3aXBlcikge1xuICAgICAgICB0aGlzLnVzZWZ1bFN3aXBlci5zd2lwZXIuc2xpZGVQcmV2KCk7XG4gICAgICB9XG4gICAgICB0aGlzLm9wZW5TbGlkZSh0aGlzLnNlbGVjdGVkU2xpZGUgLSAxKTtcbiAgICB9XG4gICAgdGhpcy5pc0xhc3RDbGlja2VkSW5TbGlkZXJJbWFnZSA9IGZhbHNlO1xuICB9XG5cbiAgc2xpZGVUbyhpbmRleDogbnVtYmVyKSB7XG4gICAgaWYgKHRoaXMudXNlZnVsU3dpcGVyKSB7XG4gICAgICB0aGlzLnVzZWZ1bFN3aXBlci5zd2lwZXIuc2xpZGVUbyhpbmRleCk7XG4gICAgfVxuICB9XG5cbiAgb3BlblNsaWRlKG51bWJlcjogbnVtYmVyKSB7XG4gICAgaWYgKHRoaXMuc2xpZGVzICYmIG51bWJlciA8IHRoaXMuc2xpZGVzLmxlbmd0aCAmJiBudW1iZXIgPj0gMCkge1xuICAgICAgdGhpcy5zZWxlY3RlZFNsaWRlID0gbnVtYmVyO1xuICAgICAgLy8gVE9ETyB1c2UgUGlwZSBzYWZlU3R5bGVcblxuICAgICAgdGhpcy5zZWxlY3RlZFNsaWRlSW1hZ2UgPSB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0U3R5bGUoXG4gICAgICAgICd1cmwoJyArIHRoaXMuc2xpZGVzW251bWJlcl0gfHwgJyknXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKF9jaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKF9jaGFuZ2VzLnNsaWRlcykge1xuICAgICAgaWYgKHRoaXMuc2xpZGVzKSB7XG4gICAgICAgIC8vIFRPRE8gdXNlIFBpcGUgc2FmZVN0eWxlXG5cbiAgICAgICAgdGhpcy5zZWxlY3RlZFNsaWRlSW1hZ2UgPSB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0U3R5bGUoXG4gICAgICAgICAgJ3VybCgnICsgdGhpcy5zbGlkZXNbMF0gKyAnKSdcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmUtb3JkZXIgc2xpZGVzIGFuZCBub3RpZnkgcGFyZW50IGNvbXBvbmVudFxuICAgKi9cbiAgZHJvcChldmVudDogQ2RrRHJhZ0Ryb3A8c3RyaW5nW10+KSB7XG4gICAgaWYgKHRoaXMuc2xpZGVzICYmIHRoaXMuaW1hZ2VzVE9TYXZlKSB7XG4gICAgICBtb3ZlSXRlbUluQXJyYXkodGhpcy5zbGlkZXMsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XG4gICAgICBtb3ZlSXRlbUluQXJyYXkoXG4gICAgICAgIHRoaXMuaW1hZ2VzVE9TYXZlLFxuICAgICAgICBldmVudC5wcmV2aW91c0luZGV4LFxuICAgICAgICBldmVudC5jdXJyZW50SW5kZXhcbiAgICAgICk7XG4gICAgICB0aGlzLm9yZGVyQ2hhbmdlZC5lbWl0KHRoaXMuaW1hZ2VzVE9TYXZlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2VuZCBpbWFnZSBpbmRleCB0byBwYXJlbnQgdG8gcGVyZm9ybSBkZWxldGVcbiAgICovXG4gIGRlbGV0ZUltYWdlKGluZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLmRlbGV0ZUltYWdlRXZlbnQuZW1pdChpbmRleCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJhbGwtd3JhcHBlclwiPlxuICA8IS0tKHN3aXBlcmlnaHQpPVwicHJldmlvdXNTbGlkZSgpXCIgKHN3aXBlbGVmdCk9XCJuZXh0U2xpZGUoKVwiLS0+XG4gIDxkaXZcbiAgICBjbGFzcz1cInN3aXBlci1iaWdJbWFnZVwiXG4gICAgW3N0eWxlLmJhY2tncm91bmRJbWFnZV09XCJzZWxlY3RlZFNsaWRlSW1hZ2VcIlxuICAgIFtzd2lwZURpcmVjdGl2ZV09XCJzd2lwZUNvbmZpZ1wiXG4gICAgKG1vdmVFdmVudCk9XCJoYW5kbGVNb3ZlRXZlbnQoJGV2ZW50KVwiXG4gICAgKHJlbGVhc2VFdmVudCk9XCJoYW5kbGVSZWxlYXNlRXZlbnQoJGV2ZW50KVwiXG4gICAgKG1vdXNldXApPVwibGFzdENsaWNrZWQoKVwiXG4gICAgKG1vdXNlb3V0KT1cIm5vTGFzdENsaWNrZWQoKVwiXG4gID48L2Rpdj5cblxuICA8bmctY29udGVudCBzZWxlY3Q9XCJbZGVzY3JpcHRpb25dXCI+PC9uZy1jb250ZW50PlxuXG4gIDxkaXYgY2xhc3M9XCJzd2lwZXItaG9sZGVyXCI+XG4gICAgPCEtLVxuICAgICAgICAobW91c2VXaGVlbFVwKT1cInNjcm9sbExlZnQoJGV2ZW50KVwiXG4gICAgICAgIChtb3VzZVdoZWVsRG93bik9XCJzY3JvbGxSaWdodCgkZXZlbnQpXCJcbiAgICAgICAgLS0+XG5cbiAgICA8c3dpcGVyIFtjb25maWddPVwiY29uZmlnXCIgI3VzZWZ1bFN3aXBlcj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJzd2lwZXItd3JhcHBlclwiXG4gICAgICAgIGNka0Ryb3BMaXN0XG4gICAgICAgIChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcCgkZXZlbnQpXCJcbiAgICAgICAgY2RrRHJvcExpc3RPcmllbnRhdGlvbj1cImhvcml6b250YWxcIlxuICAgICAgPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJzd2lwZXItc2xpZGVcIlxuICAgICAgICAgICpuZ0Zvcj1cImxldCBzbGlkZSBvZiBzbGlkZXM7IGxldCBpbmRleCA9IGluZGV4XCJcbiAgICAgICAgICBjZGtEcmFnXG4gICAgICAgICAgW2Nka0RyYWdEaXNhYmxlZF09XCIhZWRpdE1vZGVcIlxuICAgICAgICA+XG4gICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtICpuZ0lmPVwiZWRpdE1vZGVcIiAoY2xpY2spPVwiZGVsZXRlSW1hZ2UoaW5kZXgpXCI+XG4gICAgICAgICAgICA8a21zLWljb24gaWNvbj1cInRyYXNoXCI+PC9rbXMtaWNvbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImltZ1wiXG4gICAgICAgICAgICAoY2xpY2spPVwib3BlblNsaWRlKGluZGV4KVwiXG4gICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZEltYWdlXT1cIlxuICAgICAgICAgICAgICBzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFN0eWxlKCd1cmwoJyArIHNsaWRlICsgJyknKVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgYWN0aXZlOiBpbmRleCA9PT0gc2VsZWN0ZWRTbGlkZSB9XCJcbiAgICAgICAgICA+PC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGVmYXVsdC1pbWFnZVwiPlxuICAgICAgICAgICAge3sgXCJjb21tb24uZGVmYXVsdEltYWdlXCIgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L3N3aXBlcj5cblxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwic3dpcGVyLWJ1dHRvbi1uZXh0XCJcbiAgICAgIChjbGljayk9XCJuZXh0U2xpZGUoKVwiXG4gICAgICAqbmdJZj1cInNsaWRlcz8ubGVuZ3RoID4gM1wiXG4gICAgPiZuYnNwOzwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwic3dpcGVyLWJ1dHRvbi1wcmV2XCJcbiAgICAgIChjbGljayk9XCJwcmV2aW91c1NsaWRlKClcIlxuICAgICAgKm5nSWY9XCJzbGlkZXM/Lmxlbmd0aCA+IDNcIlxuICAgID4mbmJzcDs8L2J1dHRvbj5cblxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwic3dpcGVyLWJ1dHRvbi1uZXh0MlwiXG4gICAgICAqbmdJZj1cInNsaWRlcz8ubGVuZ3RoID4gMVwiXG4gICAgICAoY2xpY2spPVwibmV4dFNsaWRlKClcIlxuICAgID5cbiAgICAgIDxrbXMtaWNvblxuICAgICAgICBpY29uPVwiY2hldnJvbi1yaWdodFwiXG4gICAgICAgIFtpY29uQ2xhc3NdPVwie1xuICAgICAgICAgICdjb2xvci1kaXNhYmxlZCc6IHNlbGVjdGVkU2xpZGUgPT0gc2xpZGVzPy5sZW5ndGggLSAxLFxuICAgICAgICAgICdjb2xvci1wcmltYXJ5JzogdHJ1ZVxuICAgICAgICB9XCJcbiAgICAgID48L2ttcy1pY29uPlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwic3dpcGVyLWJ1dHRvbi1wcmV2MlwiXG4gICAgICAqbmdJZj1cInNsaWRlcz8ubGVuZ3RoID4gMVwiXG4gICAgICAoY2xpY2spPVwicHJldmlvdXNTbGlkZSgpXCJcbiAgICA+XG4gICAgICA8a21zLWljb25cbiAgICAgICAgaWNvbj1cImNoZXZyb24tbGVmdFwiXG4gICAgICAgIFtpY29uQ2xhc3NdPVwie1xuICAgICAgICAgICdjb2xvci1kaXNhYmxlZCc6IHNlbGVjdGVkU2xpZGUgPT0gMCxcbiAgICAgICAgICAnY29sb3ItcHJpbWFyeSc6IHRydWVcbiAgICAgICAgfVwiXG4gICAgICA+PC9rbXMtaWNvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
@@ -2900,10 +2900,10 @@ class ImageSliderComponent {
2900
2900
  }
2901
2901
  }
2902
2902
  ImageSliderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ImageSliderComponent, deps: [{ token: i1$1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
2903
- ImageSliderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ImageSliderComponent, selector: "kms-image-slider", inputs: { slides: "slides", editMode: "editMode", imagesTOSave: "imagesTOSave", swipeConfig: "swipeConfig" }, outputs: { orderChanged: "orderChanged", deleteImageEvent: "deleteImageEvent" }, host: { listeners: { "document:keydown": "onKeydownHandler($event)" } }, viewQueries: [{ propertyName: "usefulSwiper", first: true, predicate: ["usefulSwiper"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"all-wrapper\">\n <!--(swiperight)=\"previousSlide()\" (swipeleft)=\"nextSlide()\"-->\n <div \n class=\"swiper-bigImage\"\n [style.backgroundImage]=\"selectedSlideImage\"\n [swipeDirective]=\"swipeConfig\"\n (moveEvent)=\"handleMoveEvent($event)\"\n (releaseEvent)=\"handleReleaseEvent($event)\"\n (mouseup)=\"lastClicked()\"\n (mouseout)=\"noLastClicked()\" >\n </div>\n\n <ng-content select=\"[description]\"></ng-content>\n\n <div class=\"swiper-holder\">\n <!--\n (mouseWheelUp)=\"scrollLeft($event)\"\n (mouseWheelDown)=\"scrollRight($event)\"\n -->\n\n <swiper [config]=\"config\" #usefulSwiper>\n <div class=\"swiper-wrapper\" \n cdkDropList (cdkDropListDropped)=\"drop($event)\" \n cdkDropListOrientation=\"horizontal\"> \n <div class=\"swiper-slide\" \n *ngFor=\"let slide of slides; let index = index\" \n cdkDrag [cdkDragDisabled]=\"!editMode\">\n <button mat-menu-item *ngIf=\"editMode\" (click)=\"deleteImage(index)\"> \n <kms-icon icon=\"trash\"></kms-icon>\n </button>\n <div class=\"img\" (click)=\"openSlide(index)\"\n [style.backgroundImage]=\"sanitizer.bypassSecurityTrustStyle('url(' + slide + ')')\"\n [ngClass]=\"{'active': index === selectedSlide}\">\n </div>\n \n <div class=\"default-image\">{{\"common.defaultImage\" | translate}} </div>\n </div>\n </div>\n </swiper>\n\n <div class=\"swiper-button-next\" *ngIf=\"slides?.length > 3\"></div>\n <div class=\"swiper-button-prev\" *ngIf=\"slides?.length > 3\"></div>\n\n <div class=\"swiper-button-next2\" *ngIf=\"slides?.length > 1\" (click)=\"nextSlide()\">\n <kms-icon icon=\"chevron-right\" [iconClass]=\"{'color-disabled': selectedSlide == slides?.length - 1, 'color-primary': true}\"></kms-icon>\n </div>\n <div class=\"swiper-button-prev2\" *ngIf=\"slides?.length > 1\" (click)=\"previousSlide()\">\n <kms-icon icon=\"chevron-left\" [iconClass]=\"{'color-disabled': selectedSlide == 0, 'color-primary': true}\"></kms-icon>\n </div>\n\n </div>\n\n <ng-content></ng-content>\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3$4.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i3$4.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i4$2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: SwipeDirective, selector: "[swipeDirective]", inputs: ["swipeDirective"], outputs: ["moveEvent", "releaseEvent"] }, { kind: "component", type: i6$1.SwiperComponent, selector: "swiper", inputs: ["initialize", "config"] }, { kind: "component", type: IconComponent, selector: "kms-icon", inputs: ["icon", "iconClass", "iconStyle", "iconSize", "size", "dontUseSprite"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
2903
+ ImageSliderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ImageSliderComponent, selector: "kms-image-slider", inputs: { slides: "slides", editMode: "editMode", imagesTOSave: "imagesTOSave", swipeConfig: "swipeConfig" }, outputs: { orderChanged: "orderChanged", deleteImageEvent: "deleteImageEvent" }, host: { listeners: { "document:keydown": "onKeydownHandler($event)" } }, viewQueries: [{ propertyName: "usefulSwiper", first: true, predicate: ["usefulSwiper"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"all-wrapper\">\n <!--(swiperight)=\"previousSlide()\" (swipeleft)=\"nextSlide()\"-->\n <div\n class=\"swiper-bigImage\"\n [style.backgroundImage]=\"selectedSlideImage\"\n [swipeDirective]=\"swipeConfig\"\n (moveEvent)=\"handleMoveEvent($event)\"\n (releaseEvent)=\"handleReleaseEvent($event)\"\n (mouseup)=\"lastClicked()\"\n (mouseout)=\"noLastClicked()\"\n ></div>\n\n <ng-content select=\"[description]\"></ng-content>\n\n <div class=\"swiper-holder\">\n <!--\n (mouseWheelUp)=\"scrollLeft($event)\"\n (mouseWheelDown)=\"scrollRight($event)\"\n -->\n\n <swiper [config]=\"config\" #usefulSwiper>\n <div\n class=\"swiper-wrapper\"\n cdkDropList\n (cdkDropListDropped)=\"drop($event)\"\n cdkDropListOrientation=\"horizontal\"\n >\n <div\n class=\"swiper-slide\"\n *ngFor=\"let slide of slides; let index = index\"\n cdkDrag\n [cdkDragDisabled]=\"!editMode\"\n >\n <button mat-menu-item *ngIf=\"editMode\" (click)=\"deleteImage(index)\">\n <kms-icon icon=\"trash\"></kms-icon>\n </button>\n <div\n class=\"img\"\n (click)=\"openSlide(index)\"\n [style.backgroundImage]=\"\n sanitizer.bypassSecurityTrustStyle('url(' + slide + ')')\n \"\n [ngClass]=\"{ active: index === selectedSlide }\"\n ></div>\n\n <div class=\"default-image\">\n {{ \"common.defaultImage\" | translate }}\n </div>\n </div>\n </div>\n </swiper>\n\n <button\n class=\"swiper-button-next\"\n (click)=\"nextSlide()\"\n *ngIf=\"slides?.length > 3\"\n >&nbsp;</button>\n <button\n class=\"swiper-button-prev\"\n (click)=\"previousSlide()\"\n *ngIf=\"slides?.length > 3\"\n >&nbsp;</button>\n\n <div\n class=\"swiper-button-next2\"\n *ngIf=\"slides?.length > 1\"\n (click)=\"nextSlide()\"\n >\n <kms-icon\n icon=\"chevron-right\"\n [iconClass]=\"{\n 'color-disabled': selectedSlide == slides?.length - 1,\n 'color-primary': true\n }\"\n ></kms-icon>\n </div>\n <div\n class=\"swiper-button-prev2\"\n *ngIf=\"slides?.length > 1\"\n (click)=\"previousSlide()\"\n >\n <kms-icon\n icon=\"chevron-left\"\n [iconClass]=\"{\n 'color-disabled': selectedSlide == 0,\n 'color-primary': true\n }\"\n ></kms-icon>\n </div>\n </div>\n\n <ng-content></ng-content>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3$4.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i3$4.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i4$2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: SwipeDirective, selector: "[swipeDirective]", inputs: ["swipeDirective"], outputs: ["moveEvent", "releaseEvent"] }, { kind: "component", type: i6$1.SwiperComponent, selector: "swiper", inputs: ["initialize", "config"] }, { kind: "component", type: IconComponent, selector: "kms-icon", inputs: ["icon", "iconClass", "iconStyle", "iconSize", "size", "dontUseSprite"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
2904
2904
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ImageSliderComponent, decorators: [{
2905
2905
  type: Component,
2906
- args: [{ selector: 'kms-image-slider', template: "<div class=\"all-wrapper\">\n <!--(swiperight)=\"previousSlide()\" (swipeleft)=\"nextSlide()\"-->\n <div \n class=\"swiper-bigImage\"\n [style.backgroundImage]=\"selectedSlideImage\"\n [swipeDirective]=\"swipeConfig\"\n (moveEvent)=\"handleMoveEvent($event)\"\n (releaseEvent)=\"handleReleaseEvent($event)\"\n (mouseup)=\"lastClicked()\"\n (mouseout)=\"noLastClicked()\" >\n </div>\n\n <ng-content select=\"[description]\"></ng-content>\n\n <div class=\"swiper-holder\">\n <!--\n (mouseWheelUp)=\"scrollLeft($event)\"\n (mouseWheelDown)=\"scrollRight($event)\"\n -->\n\n <swiper [config]=\"config\" #usefulSwiper>\n <div class=\"swiper-wrapper\" \n cdkDropList (cdkDropListDropped)=\"drop($event)\" \n cdkDropListOrientation=\"horizontal\"> \n <div class=\"swiper-slide\" \n *ngFor=\"let slide of slides; let index = index\" \n cdkDrag [cdkDragDisabled]=\"!editMode\">\n <button mat-menu-item *ngIf=\"editMode\" (click)=\"deleteImage(index)\"> \n <kms-icon icon=\"trash\"></kms-icon>\n </button>\n <div class=\"img\" (click)=\"openSlide(index)\"\n [style.backgroundImage]=\"sanitizer.bypassSecurityTrustStyle('url(' + slide + ')')\"\n [ngClass]=\"{'active': index === selectedSlide}\">\n </div>\n \n <div class=\"default-image\">{{\"common.defaultImage\" | translate}} </div>\n </div>\n </div>\n </swiper>\n\n <div class=\"swiper-button-next\" *ngIf=\"slides?.length > 3\"></div>\n <div class=\"swiper-button-prev\" *ngIf=\"slides?.length > 3\"></div>\n\n <div class=\"swiper-button-next2\" *ngIf=\"slides?.length > 1\" (click)=\"nextSlide()\">\n <kms-icon icon=\"chevron-right\" [iconClass]=\"{'color-disabled': selectedSlide == slides?.length - 1, 'color-primary': true}\"></kms-icon>\n </div>\n <div class=\"swiper-button-prev2\" *ngIf=\"slides?.length > 1\" (click)=\"previousSlide()\">\n <kms-icon icon=\"chevron-left\" [iconClass]=\"{'color-disabled': selectedSlide == 0, 'color-primary': true}\"></kms-icon>\n </div>\n\n </div>\n\n <ng-content></ng-content>\n</div>" }]
2906
+ args: [{ selector: 'kms-image-slider', template: "<div class=\"all-wrapper\">\n <!--(swiperight)=\"previousSlide()\" (swipeleft)=\"nextSlide()\"-->\n <div\n class=\"swiper-bigImage\"\n [style.backgroundImage]=\"selectedSlideImage\"\n [swipeDirective]=\"swipeConfig\"\n (moveEvent)=\"handleMoveEvent($event)\"\n (releaseEvent)=\"handleReleaseEvent($event)\"\n (mouseup)=\"lastClicked()\"\n (mouseout)=\"noLastClicked()\"\n ></div>\n\n <ng-content select=\"[description]\"></ng-content>\n\n <div class=\"swiper-holder\">\n <!--\n (mouseWheelUp)=\"scrollLeft($event)\"\n (mouseWheelDown)=\"scrollRight($event)\"\n -->\n\n <swiper [config]=\"config\" #usefulSwiper>\n <div\n class=\"swiper-wrapper\"\n cdkDropList\n (cdkDropListDropped)=\"drop($event)\"\n cdkDropListOrientation=\"horizontal\"\n >\n <div\n class=\"swiper-slide\"\n *ngFor=\"let slide of slides; let index = index\"\n cdkDrag\n [cdkDragDisabled]=\"!editMode\"\n >\n <button mat-menu-item *ngIf=\"editMode\" (click)=\"deleteImage(index)\">\n <kms-icon icon=\"trash\"></kms-icon>\n </button>\n <div\n class=\"img\"\n (click)=\"openSlide(index)\"\n [style.backgroundImage]=\"\n sanitizer.bypassSecurityTrustStyle('url(' + slide + ')')\n \"\n [ngClass]=\"{ active: index === selectedSlide }\"\n ></div>\n\n <div class=\"default-image\">\n {{ \"common.defaultImage\" | translate }}\n </div>\n </div>\n </div>\n </swiper>\n\n <button\n class=\"swiper-button-next\"\n (click)=\"nextSlide()\"\n *ngIf=\"slides?.length > 3\"\n >&nbsp;</button>\n <button\n class=\"swiper-button-prev\"\n (click)=\"previousSlide()\"\n *ngIf=\"slides?.length > 3\"\n >&nbsp;</button>\n\n <div\n class=\"swiper-button-next2\"\n *ngIf=\"slides?.length > 1\"\n (click)=\"nextSlide()\"\n >\n <kms-icon\n icon=\"chevron-right\"\n [iconClass]=\"{\n 'color-disabled': selectedSlide == slides?.length - 1,\n 'color-primary': true\n }\"\n ></kms-icon>\n </div>\n <div\n class=\"swiper-button-prev2\"\n *ngIf=\"slides?.length > 1\"\n (click)=\"previousSlide()\"\n >\n <kms-icon\n icon=\"chevron-left\"\n [iconClass]=\"{\n 'color-disabled': selectedSlide == 0,\n 'color-primary': true\n }\"\n ></kms-icon>\n </div>\n </div>\n\n <ng-content></ng-content>\n</div>\n" }]
2907
2907
  }], ctorParameters: function () { return [{ type: i1$1.DomSanitizer }]; }, propDecorators: { slides: [{
2908
2908
  type: Input
2909
2909
  }], editMode: [{