simpo-component-library 3.6.314 → 3.6.315

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.
@@ -43,24 +43,26 @@ export class AnimationDirective {
43
43
  root: null, // Use the viewport as the container
44
44
  threshold: 0.1 // Percentage of element visibility required to trigger the callback
45
45
  };
46
- if (typeof window !== 'undefined' && 'IntersectionObserver' in window) {
47
- this.observer = new IntersectionObserver((entries) => {
48
- entries.forEach(entry => {
49
- if (entry.isIntersecting &&
50
- !this.el.nativeElement.className.includes('visible')) {
51
- this.el.nativeElement.classList.add('visible');
52
- this.el.nativeElement.style.setProperty('position', 'relative');
53
- this.el.nativeElement.style.setProperty('animation-name', this.getAnimationName());
54
- if (this.animationData?.speed) {
55
- const speed = animation.speed[this.animationData?.speed];
56
- this.el.nativeElement.style.setProperty('animation-duration', this.getAnimationSpeed(this.animationData.speed));
57
- }
58
- this.observer?.unobserve(this.el.nativeElement);
59
- }
60
- });
61
- }, options);
62
- this.observer.observe(this.el.nativeElement);
63
- }
46
+ // if(typeof window !== 'undefined' && 'IntersectionObserver' in window) {
47
+ // this.observer = new IntersectionObserver((entries) => {
48
+ // entries.forEach(entry => {
49
+ // if (
50
+ // entry.isIntersecting &&
51
+ // !this.el.nativeElement.className.includes('visible')
52
+ // ) {
53
+ // this.el.nativeElement.classList.add('visible');
54
+ // this.el.nativeElement.style.setProperty('position', 'relative');
55
+ // this.el.nativeElement.style.setProperty('animation-name', this.getAnimationName());
56
+ // if (this.animationData?.speed) {
57
+ // const speed = animation.speed[this.animationData?.speed];
58
+ // this.el.nativeElement.style.setProperty('animation-duration', this.getAnimationSpeed(this.animationData.speed));
59
+ // }
60
+ // this.observer?.unobserve(this.el.nativeElement);
61
+ // }
62
+ // });
63
+ // }, options);
64
+ // this.observer.observe(this.el.nativeElement);
65
+ // }
64
66
  }
65
67
  getAnimationName() {
66
68
  if (this.animationData?.type) {
@@ -146,4 +148,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
146
148
  type: Input,
147
149
  args: ['simpoAnimation']
148
150
  }] } });
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9uLWRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvZGlyZWN0aXZlL2FuaW1hdGlvbi1kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEdBS04sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFRNUMsTUFBTSxPQUFPLGtCQUFrQjtJQU03QixZQUNVLEVBQWMsRUFDZCxRQUFtQixFQUNuQixZQUE0QjtRQUY1QixPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ2QsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixpQkFBWSxHQUFaLFlBQVksQ0FBZ0I7UUFKdEMsbUJBQWMsR0FBRyxTQUFTLENBQUE7UUErSTFCLG1CQUFjLEdBQVE7WUFDcEIsSUFBSSxFQUFHLGFBQWE7WUFDcEIsS0FBSyxFQUFHLGNBQWM7WUFDdEIsTUFBTSxFQUFFLGVBQWU7WUFDdkIsR0FBRyxFQUFHLFlBQVk7WUFDbEIsSUFBSSxFQUFHLGFBQWE7WUFDcEIsTUFBTSxFQUFHLE1BQU07U0FDaEIsQ0FBQTtRQWhKQyxJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLENBQy9FLENBQUMsR0FBTyxFQUFFLEVBQUU7WUFDVixJQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsS0FBSyxHQUFHLENBQUMsRUFBRSxFQUFDLENBQUM7Z0JBQ3RDLElBQUksQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQTtnQkFDN0IsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3hCLENBQUM7UUFDSCxDQUFDLENBQ0YsQ0FBQTtJQUNILENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxJQUFJ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QztRQUNsSCxDQUFDO0lBQ0gsQ0FBQztJQUVELGlCQUFpQixDQUFDLEtBQXFCO1FBQ3JDLElBQUksVUFBVSxHQUFHLEVBQUUsQ0FBQTtRQUNuQixLQUFJLElBQUksR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFDLENBQUM7WUFDMUMsSUFBRyxHQUFHLEtBQUssS0FBSyxFQUFDLENBQUM7Z0JBQ2pCLFVBQVUsR0FBSSxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3BDLENBQUM7UUFDSixDQUFDO1FBQ0QsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQzsrR0FsSlUsa0JBQWtCO21HQUFsQixrQkFBa0I7OzRGQUFsQixrQkFBa0I7a0JBSjlCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCO21JQUUwQixhQUFhO3NCQUFyQyxLQUFLO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgRGlyZWN0aXZlLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgUmVuZGVyZXIyLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBhbmltYXRpb24gfSBmcm9tICcuLi9zdHlsZXMvaW5kZXgnO1xyXG5pbXBvcnQgeyBBbmltYXRpb25Nb2RlbCB9IGZyb20gJy4uL3N0eWxlcy9zdHlsZS5tb2RlbCc7XHJcbmltcG9ydCB7IEV2ZW50c1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9ldmVudHMuc2VydmljZSc7XHJcbmltcG9ydCB7IEFOSU1BVElPTl9TUEVFRCB9IGZyb20gJy4uL3N0eWxlcy90eXBlcyc7XHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3NpbXBvQW5pbWF0aW9uXScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFuaW1hdGlvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgnc2ltcG9BbmltYXRpb24nKSBhbmltYXRpb25EYXRhPzogQW5pbWF0aW9uTW9kZWw7XHJcbiAgZXZlbnRTZXJ2aWNlU3Vic2NyaXB0aW9uIDogYW55O1xyXG4gIHByaXZhdGUgb2JzZXJ2ZXI6IEludGVyc2VjdGlvbk9ic2VydmVyIHwgdW5kZWZpbmVkO1xyXG5cclxuICBhbmltYXRpb25TcGVlZCA9IGFuaW1hdGlvblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIHByaXZhdGUgZXZlbnRTZXJ2aWNlIDogRXZlbnRzU2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5ldmVudFNlcnZpY2VTdWJzY3JpcHRpb24gPSB0aGlzLmV2ZW50U2VydmljZS5hbmltYXRpb25DaGFuZ2VDaGVja3Muc3Vic2NyaWJlKFxyXG4gICAgICAocmVzOmFueSkgPT4ge1xyXG4gICAgICAgIGlmKHRoaXMuZWwubmF0aXZlRWxlbWVudC5pZCA9PT0gcmVzLmlkKXtcclxuICAgICAgICAgIHRoaXMuYW5pbWF0aW9uRGF0YSA9IHJlcy5kYXRhXHJcbiAgICAgICAgICB0aGlzLmFwcGx5QW5pbWF0aW9uKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICApXHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMub2JzZXJ2ZXIpIHtcclxuICAgICAgdGhpcy5vYnNlcnZlci5kaXNjb25uZWN0KCk7XHJcbiAgICB9XHJcbiAgICBpZih0aGlzLmV2ZW50U2VydmljZVN1YnNjcmlwdGlvbil7XHJcbiAgICAgIHRoaXMuZXZlbnRTZXJ2aWNlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5jcmVhdGVPYnNlcnZlcigpO1xyXG4gICAgLy8gdGhpcy5hcHBseUFuaW1hdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XHJcbiAgICAvLyB0aGlzLmFwcGx5QW5pbWF0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZU9ic2VydmVyKCk6IHZvaWQge1xyXG5cclxuICAgIGNvbnN0IG9wdGlvbnMgPSB7XHJcbiAgICAgIHJvb3Q6IG51bGwsIC8vIFVzZSB0aGUgdmlld3BvcnQgYXMgdGhlIGNvbnRhaW5lclxyXG4gICAgICB0aHJlc2hvbGQ6IDAuMSAvLyBQZXJjZW50YWdlIG9mIGVsZW1lbnQgdmlzaWJpbGl0eSByZXF1aXJlZCB0byB0cmlnZ2VyIHRoZSBjYWxsYmFja1xyXG4gICAgfTtcclxuICAgIGlmKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmICdJbnRlcnNlY3Rpb25PYnNlcnZlcicgaW4gd2luZG93KSB7XHJcbiAgICAgIHRoaXMub2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKGVudHJpZXMpID0+IHtcclxuICAgICAgICBlbnRyaWVzLmZvckVhY2goZW50cnkgPT4ge1xyXG4gICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICBlbnRyeS5pc0ludGVyc2VjdGluZyAmJlxyXG4gICAgICAgICAgICAhdGhpcy5lbC5uYXRpdmVFbGVtZW50LmNsYXNzTmFtZS5pbmNsdWRlcygndmlzaWJsZScpXHJcbiAgICAgICAgICApIHtcclxuICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3Zpc2libGUnKTtcclxuICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCdwb3NpdGlvbicsICdyZWxhdGl2ZScpO1xyXG4gICAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJ2FuaW1hdGlvbi1uYW1lJywgdGhpcy5nZXRBbmltYXRpb25OYW1lKCkpO1xyXG5cclxuICAgICAgICAgICAgaWYgKHRoaXMuYW5pbWF0aW9uRGF0YT8uc3BlZWQpIHtcclxuICAgICAgICAgICAgICBjb25zdCBzcGVlZCA9IGFuaW1hdGlvbi5zcGVlZFt0aGlzLmFuaW1hdGlvbkRhdGE/LnNwZWVkXTtcclxuICAgICAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJ2FuaW1hdGlvbi1kdXJhdGlvbicsIHRoaXMuZ2V0QW5pbWF0aW9uU3BlZWQodGhpcy5hbmltYXRpb25EYXRhLnNwZWVkKSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXI/LnVub2JzZXJ2ZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9LCBvcHRpb25zKTtcclxuXHJcbiAgICAgIHRoaXMub2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIGdldEFuaW1hdGlvbk5hbWUoKSB7XHJcbiAgICBpZiAodGhpcy5hbmltYXRpb25EYXRhPy50eXBlKSB7XHJcblxyXG4gICAgICBpZiAodGhpcy5hbmltYXRpb25EYXRhPy50eXBlID09ICdsZWZ0Jykge1xyXG4gICAgICAgIHJldHVybiAnYW5pbWF0ZWxlZnQnXHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuYW5pbWF0aW9uRGF0YT8udHlwZSA9PSAncmlnaHQnKSB7XHJcbiAgICAgICAgcmV0dXJuICdhbmltYXRlcmlnaHQnXHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuYW5pbWF0aW9uRGF0YT8udHlwZSA9PSAndG9wJykge1xyXG4gICAgICAgIHJldHVybiAnYW5pbWF0ZXRvcCdcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5hbmltYXRpb25EYXRhPy50eXBlID09ICdib3R0b20nKSB7XHJcbiAgICAgICAgcmV0dXJuICdhbmltYXRlYm90dG9tJ1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLmFuaW1hdGlvbkRhdGE/LnR5cGUgPT0gJ2ZhZGVJbicpIHtcclxuICAgICAgICByZXR1cm4gJ29wYWMnXHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuYW5pbWF0aW9uRGF0YT8udHlwZSA9PSAnem9vbScpIHtcclxuICAgICAgICByZXR1cm4gJ2FuaW1hdGV6b29tJ1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLmFuaW1hdGlvbkRhdGE/LnR5cGUgPT09ICdub25lJykge1xyXG4gICAgICAgIHJldHVybiAnbm9uZSdcclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgbmFtZTogYW55O1xyXG5cclxuICBwcml2YXRlIGFwcGx5QW5pbWF0aW9uKCkge1xyXG4gICAgaWYgKHRoaXMuYW5pbWF0aW9uRGF0YT8udHlwZSkge1xyXG4gICAgICBjb25zdCBhbmltID0gYW5pbWF0aW9uLnR5cGVbdGhpcy5hbmltYXRpb25EYXRhPy50eXBlXTtcclxuICAgICAgLy8gdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsYW5pbSk7XHJcbiAgICAgIC8vIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbC5uYXRpdmVFbGVtZW50LCBhbmltKTtcclxuICAgICAgaWYodGhpcy5hbmltYXRpb25EYXRhLnR5cGUgPT0gJ2xlZnQnKXtcclxuICAgICAgICB0aGlzLm5hbWUgPSAnYW5pbWF0ZWxlZnQnXHJcbiAgICAgIH1cclxuICAgICAgaWYodGhpcy5hbmltYXRpb25EYXRhLnR5cGUgPT0gJ3JpZ2h0Jyl7XHJcbiAgICAgICAgdGhpcy5uYW1lID0gJ2FuaW1hdGVyaWdodCdcclxuICAgICAgfVxyXG4gICAgICBpZih0aGlzLmFuaW1hdGlvbkRhdGEudHlwZSA9PSAndG9wJyl7XHJcbiAgICAgICAgdGhpcy5uYW1lID0gJ2FuaW1hdGV0b3AnXHJcbiAgICAgIH1cclxuICAgICAgaWYodGhpcy5hbmltYXRpb25EYXRhLnR5cGUgPT0gJ2JvdHRvbScpe1xyXG4gICAgICAgIHRoaXMubmFtZSA9ICdhbmltYXRlYm90dG9tJ1xyXG4gICAgICB9XHJcbiAgICAgIGlmKHRoaXMuYW5pbWF0aW9uRGF0YS50eXBlID09ICdmYWRlSW4nKXtcclxuICAgICAgICB0aGlzLm5hbWUgPSAnb3BhYydcclxuICAgICAgfVxyXG4gICAgICBpZih0aGlzLmFuaW1hdGlvbkRhdGEudHlwZSA9PSAnem9vbScpe1xyXG4gICAgICAgIHRoaXMubmFtZSA9ICdhbmltYXRlem9vbSdcclxuICAgICAgfVxyXG4gICAgICBpZih0aGlzLmFuaW1hdGlvbkRhdGEudHlwZSA9PT0gJ25vbmUnKSB7XHJcbiAgICAgICAgdGhpcy5uYW1lID0gJ25vbmUnXHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCdwb3NpdGlvbicsICdyZWxhdGl2ZScpO1xyXG4gICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJ2FuaW1hdGlvbi1uYW1lJywgdGhpcy5uYW1lKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5hbmltYXRpb25EYXRhPy5zcGVlZCkge1xyXG4gICAgICBjb25zdCBzcGVlZCA9IGFuaW1hdGlvbi5zcGVlZFt0aGlzLmFuaW1hdGlvbkRhdGE/LnNwZWVkXTtcclxuICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCdwb3NpdGlvbicsICdyZWxhdGl2ZScpO1xyXG4gICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJ2FuaW1hdGlvbi1uYW1lJywgdGhpcy5uYW1lKTtcclxuICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCdhbmltYXRpb24tZHVyYXRpb24nLCB0aGlzLmdldEFuaW1hdGlvblNwZWVkKHRoaXMuYW5pbWF0aW9uRGF0YS5zcGVlZCkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0QW5pbWF0aW9uU3BlZWQoc3BlZWQ6QU5JTUFUSU9OX1NQRUVEKXtcclxuICAgIGxldCBzcGVlZEluU2VjID0gJydcclxuICAgIGZvcihsZXQga2V5IG9mIE9iamVjdC5rZXlzKGFuaW1hdGlvbi5zcGVlZCkpe1xyXG4gICAgICAgaWYoa2V5ID09PSBzcGVlZCl7XHJcbiAgICAgICAgc3BlZWRJblNlYyA9ICBhbmltYXRpb24uc3BlZWRba2V5XTtcclxuICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBzcGVlZEluU2VjO1xyXG4gIH1cclxuXHJcbiAgYW5pbWF0aW9uVHlwZXMgOiBhbnkgPXtcclxuICAgIGxlZnQgOiBcImFuaW1hdGVsZWZ0XCIsXHJcbiAgICByaWdodCA6IFwiYW5pbWF0ZXJpZ2h0XCIsXHJcbiAgICBib3R0b20gOlwiYW5pbWF0ZWJvdHRvbVwiLFxyXG4gICAgdG9wIDogXCJhbmltYXRldG9wXCIsXHJcbiAgICB6b29tIDogXCJhbmltYXRlem9vbVwiLFxyXG4gICAgZmFkZUluIDogXCJvcGFjXCJcclxuICB9XHJcbn1cclxuIl19
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9uLWRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvZGlyZWN0aXZlL2FuaW1hdGlvbi1kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEdBS04sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFRNUMsTUFBTSxPQUFPLGtCQUFrQjtJQU03QixZQUNVLEVBQWMsRUFDZCxRQUFtQixFQUNuQixZQUE0QjtRQUY1QixPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ2QsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixpQkFBWSxHQUFaLFlBQVksQ0FBZ0I7UUFKdEMsbUJBQWMsR0FBRyxTQUFTLENBQUE7UUErSTFCLG1CQUFjLEdBQVE7WUFDcEIsSUFBSSxFQUFHLGFBQWE7WUFDcEIsS0FBSyxFQUFHLGNBQWM7WUFDdEIsTUFBTSxFQUFFLGVBQWU7WUFDdkIsR0FBRyxFQUFHLFlBQVk7WUFDbEIsSUFBSSxFQUFHLGFBQWE7WUFDcEIsTUFBTSxFQUFHLE1BQU07U0FDaEIsQ0FBQTtRQWhKQyxJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLENBQy9FLENBQUMsR0FBTyxFQUFFLEVBQUU7WUFDVixJQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsS0FBSyxHQUFHLENBQUMsRUFBRSxFQUFDLENBQUM7Z0JBQ3RDLElBQUksQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQTtnQkFDN0IsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3hCLENBQUM7UUFDSCxDQUFDLENBQ0YsQ0FBQTtJQUNILENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxJQUFJ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O1lBQ3JFLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNsSCxDQUFDO0lBQ0gsQ0FBQztJQUVELGlCQUFpQixDQUFDLEtBQXFCO1FBQ3JDLElBQUksVUFBVSxHQUFHLEVBQUUsQ0FBQTtRQUNuQixLQUFJLElBQUksR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFDLENBQUM7WUFDMUMsSUFBRyxHQUFHLEtBQUssS0FBSyxFQUFDLENBQUM7Z0JBQ2pCLFVBQVUsR0FBSSxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3BDLENBQUM7UUFDSixDQUFDO1FBQ0QsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQzsrR0FsSlUsa0JBQWtCO21HQUFsQixrQkFBa0I7OzRGQUFsQixrQkFBa0I7a0JBSjlCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCO21JQUUwQixhQUFhO3NCQUFyQyxLQUFLO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgRGlyZWN0aXZlLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgUmVuZGVyZXIyLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBhbmltYXRpb24gfSBmcm9tICcuLi9zdHlsZXMvaW5kZXgnO1xyXG5pbXBvcnQgeyBBbmltYXRpb25Nb2RlbCB9IGZyb20gJy4uL3N0eWxlcy9zdHlsZS5tb2RlbCc7XHJcbmltcG9ydCB7IEV2ZW50c1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9ldmVudHMuc2VydmljZSc7XHJcbmltcG9ydCB7IEFOSU1BVElPTl9TUEVFRCB9IGZyb20gJy4uL3N0eWxlcy90eXBlcyc7XHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3NpbXBvQW5pbWF0aW9uXScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFuaW1hdGlvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgnc2ltcG9BbmltYXRpb24nKSBhbmltYXRpb25EYXRhPzogQW5pbWF0aW9uTW9kZWw7XHJcbiAgZXZlbnRTZXJ2aWNlU3Vic2NyaXB0aW9uIDogYW55O1xyXG4gIHByaXZhdGUgb2JzZXJ2ZXI6IEludGVyc2VjdGlvbk9ic2VydmVyIHwgdW5kZWZpbmVkO1xyXG5cclxuICBhbmltYXRpb25TcGVlZCA9IGFuaW1hdGlvblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIHByaXZhdGUgZXZlbnRTZXJ2aWNlIDogRXZlbnRzU2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5ldmVudFNlcnZpY2VTdWJzY3JpcHRpb24gPSB0aGlzLmV2ZW50U2VydmljZS5hbmltYXRpb25DaGFuZ2VDaGVja3Muc3Vic2NyaWJlKFxyXG4gICAgICAocmVzOmFueSkgPT4ge1xyXG4gICAgICAgIGlmKHRoaXMuZWwubmF0aXZlRWxlbWVudC5pZCA9PT0gcmVzLmlkKXtcclxuICAgICAgICAgIHRoaXMuYW5pbWF0aW9uRGF0YSA9IHJlcy5kYXRhXHJcbiAgICAgICAgICB0aGlzLmFwcGx5QW5pbWF0aW9uKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICApXHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMub2JzZXJ2ZXIpIHtcclxuICAgICAgdGhpcy5vYnNlcnZlci5kaXNjb25uZWN0KCk7XHJcbiAgICB9XHJcbiAgICBpZih0aGlzLmV2ZW50U2VydmljZVN1YnNjcmlwdGlvbil7XHJcbiAgICAgIHRoaXMuZXZlbnRTZXJ2aWNlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5jcmVhdGVPYnNlcnZlcigpO1xyXG4gICAgLy8gdGhpcy5hcHBseUFuaW1hdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XHJcbiAgICAvLyB0aGlzLmFwcGx5QW5pbWF0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZU9ic2VydmVyKCk6IHZvaWQge1xyXG5cclxuICAgIGNvbnN0IG9wdGlvbnMgPSB7XHJcbiAgICAgIHJvb3Q6IG51bGwsIC8vIFVzZSB0aGUgdmlld3BvcnQgYXMgdGhlIGNvbnRhaW5lclxyXG4gICAgICB0aHJlc2hvbGQ6IDAuMSAvLyBQZXJjZW50YWdlIG9mIGVsZW1lbnQgdmlzaWJpbGl0eSByZXF1aXJlZCB0byB0cmlnZ2VyIHRoZSBjYWxsYmFja1xyXG4gICAgfTtcclxuICAgIC8vIGlmKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmICdJbnRlcnNlY3Rpb25PYnNlcnZlcicgaW4gd2luZG93KSB7XHJcbiAgICAvLyAgIHRoaXMub2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKGVudHJpZXMpID0+IHtcclxuICAgIC8vICAgICBlbnRyaWVzLmZvckVhY2goZW50cnkgPT4ge1xyXG4gICAgLy8gICAgICAgaWYgKFxyXG4gICAgLy8gICAgICAgICBlbnRyeS5pc0ludGVyc2VjdGluZyAmJlxyXG4gICAgLy8gICAgICAgICAhdGhpcy5lbC5uYXRpdmVFbGVtZW50LmNsYXNzTmFtZS5pbmNsdWRlcygndmlzaWJsZScpXHJcbiAgICAvLyAgICAgICApIHtcclxuICAgIC8vICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3Zpc2libGUnKTtcclxuICAgIC8vICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCdwb3NpdGlvbicsICdyZWxhdGl2ZScpO1xyXG4gICAgLy8gICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJ2FuaW1hdGlvbi1uYW1lJywgdGhpcy5nZXRBbmltYXRpb25OYW1lKCkpO1xyXG5cclxuICAgIC8vICAgICAgICAgaWYgKHRoaXMuYW5pbWF0aW9uRGF0YT8uc3BlZWQpIHtcclxuICAgIC8vICAgICAgICAgICBjb25zdCBzcGVlZCA9IGFuaW1hdGlvbi5zcGVlZFt0aGlzLmFuaW1hdGlvbkRhdGE/LnNwZWVkXTtcclxuICAgIC8vICAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJ2FuaW1hdGlvbi1kdXJhdGlvbicsIHRoaXMuZ2V0QW5pbWF0aW9uU3BlZWQodGhpcy5hbmltYXRpb25EYXRhLnNwZWVkKSk7XHJcbiAgICAvLyAgICAgICAgIH1cclxuXHJcbiAgICAvLyAgICAgICAgIHRoaXMub2JzZXJ2ZXI/LnVub2JzZXJ2ZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgLy8gICAgICAgfVxyXG4gICAgLy8gICAgIH0pO1xyXG4gICAgLy8gICB9LCBvcHRpb25zKTtcclxuXHJcbiAgICAvLyAgIHRoaXMub2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgLy8gfVxyXG5cclxuICB9XHJcblxyXG4gIGdldEFuaW1hdGlvbk5hbWUoKSB7XHJcbiAgICBpZiAodGhpcy5hbmltYXRpb25EYXRhPy50eXBlKSB7XHJcblxyXG4gICAgICBpZiAodGhpcy5hbmltYXRpb25EYXRhPy50eXBlID09ICdsZWZ0Jykge1xyXG4gICAgICAgIHJldHVybiAnYW5pbWF0ZWxlZnQnXHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuYW5pbWF0aW9uRGF0YT8udHlwZSA9PSAncmlnaHQnKSB7XHJcbiAgICAgICAgcmV0dXJuICdhbmltYXRlcmlnaHQnXHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuYW5pbWF0aW9uRGF0YT8udHlwZSA9PSAndG9wJykge1xyXG4gICAgICAgIHJldHVybiAnYW5pbWF0ZXRvcCdcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5hbmltYXRpb25EYXRhPy50eXBlID09ICdib3R0b20nKSB7XHJcbiAgICAgICAgcmV0dXJuICdhbmltYXRlYm90dG9tJ1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLmFuaW1hdGlvbkRhdGE/LnR5cGUgPT0gJ2ZhZGVJbicpIHtcclxuICAgICAgICByZXR1cm4gJ29wYWMnXHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuYW5pbWF0aW9uRGF0YT8udHlwZSA9PSAnem9vbScpIHtcclxuICAgICAgICByZXR1cm4gJ2FuaW1hdGV6b29tJ1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLmFuaW1hdGlvbkRhdGE/LnR5cGUgPT09ICdub25lJykge1xyXG4gICAgICAgIHJldHVybiAnbm9uZSdcclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgbmFtZTogYW55O1xyXG5cclxuICBwcml2YXRlIGFwcGx5QW5pbWF0aW9uKCkge1xyXG4gICAgaWYgKHRoaXMuYW5pbWF0aW9uRGF0YT8udHlwZSkge1xyXG4gICAgICBjb25zdCBhbmltID0gYW5pbWF0aW9uLnR5cGVbdGhpcy5hbmltYXRpb25EYXRhPy50eXBlXTtcclxuICAgICAgLy8gdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsYW5pbSk7XHJcbiAgICAgIC8vIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbC5uYXRpdmVFbGVtZW50LCBhbmltKTtcclxuICAgICAgaWYodGhpcy5hbmltYXRpb25EYXRhLnR5cGUgPT0gJ2xlZnQnKXtcclxuICAgICAgICB0aGlzLm5hbWUgPSAnYW5pbWF0ZWxlZnQnXHJcbiAgICAgIH1cclxuICAgICAgaWYodGhpcy5hbmltYXRpb25EYXRhLnR5cGUgPT0gJ3JpZ2h0Jyl7XHJcbiAgICAgICAgdGhpcy5uYW1lID0gJ2FuaW1hdGVyaWdodCdcclxuICAgICAgfVxyXG4gICAgICBpZih0aGlzLmFuaW1hdGlvbkRhdGEudHlwZSA9PSAndG9wJyl7XHJcbiAgICAgICAgdGhpcy5uYW1lID0gJ2FuaW1hdGV0b3AnXHJcbiAgICAgIH1cclxuICAgICAgaWYodGhpcy5hbmltYXRpb25EYXRhLnR5cGUgPT0gJ2JvdHRvbScpe1xyXG4gICAgICAgIHRoaXMubmFtZSA9ICdhbmltYXRlYm90dG9tJ1xyXG4gICAgICB9XHJcbiAgICAgIGlmKHRoaXMuYW5pbWF0aW9uRGF0YS50eXBlID09ICdmYWRlSW4nKXtcclxuICAgICAgICB0aGlzLm5hbWUgPSAnb3BhYydcclxuICAgICAgfVxyXG4gICAgICBpZih0aGlzLmFuaW1hdGlvbkRhdGEudHlwZSA9PSAnem9vbScpe1xyXG4gICAgICAgIHRoaXMubmFtZSA9ICdhbmltYXRlem9vbSdcclxuICAgICAgfVxyXG4gICAgICBpZih0aGlzLmFuaW1hdGlvbkRhdGEudHlwZSA9PT0gJ25vbmUnKSB7XHJcbiAgICAgICAgdGhpcy5uYW1lID0gJ25vbmUnXHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCdwb3NpdGlvbicsICdyZWxhdGl2ZScpO1xyXG4gICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJ2FuaW1hdGlvbi1uYW1lJywgdGhpcy5uYW1lKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5hbmltYXRpb25EYXRhPy5zcGVlZCkge1xyXG4gICAgICBjb25zdCBzcGVlZCA9IGFuaW1hdGlvbi5zcGVlZFt0aGlzLmFuaW1hdGlvbkRhdGE/LnNwZWVkXTtcclxuICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCdwb3NpdGlvbicsICdyZWxhdGl2ZScpO1xyXG4gICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJ2FuaW1hdGlvbi1uYW1lJywgdGhpcy5uYW1lKTtcclxuICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCdhbmltYXRpb24tZHVyYXRpb24nLCB0aGlzLmdldEFuaW1hdGlvblNwZWVkKHRoaXMuYW5pbWF0aW9uRGF0YS5zcGVlZCkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0QW5pbWF0aW9uU3BlZWQoc3BlZWQ6QU5JTUFUSU9OX1NQRUVEKXtcclxuICAgIGxldCBzcGVlZEluU2VjID0gJydcclxuICAgIGZvcihsZXQga2V5IG9mIE9iamVjdC5rZXlzKGFuaW1hdGlvbi5zcGVlZCkpe1xyXG4gICAgICAgaWYoa2V5ID09PSBzcGVlZCl7XHJcbiAgICAgICAgc3BlZWRJblNlYyA9ICBhbmltYXRpb24uc3BlZWRba2V5XTtcclxuICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBzcGVlZEluU2VjO1xyXG4gIH1cclxuXHJcbiAgYW5pbWF0aW9uVHlwZXMgOiBhbnkgPXtcclxuICAgIGxlZnQgOiBcImFuaW1hdGVsZWZ0XCIsXHJcbiAgICByaWdodCA6IFwiYW5pbWF0ZXJpZ2h0XCIsXHJcbiAgICBib3R0b20gOlwiYW5pbWF0ZWJvdHRvbVwiLFxyXG4gICAgdG9wIDogXCJhbmltYXRldG9wXCIsXHJcbiAgICB6b29tIDogXCJhbmltYXRlem9vbVwiLFxyXG4gICAgZmFkZUluIDogXCJvcGFjXCJcclxuICB9XHJcbn1cclxuIl19
@@ -13,27 +13,27 @@ export class BackgroundDirective {
13
13
  this.eventEmmitter = this.eventService.backgroundImageChangeCheck.subscribe((res) => {
14
14
  if (this.el.nativeElement.id === res.id || res.globalThemeChange) {
15
15
  if (res.data?.showImage && this?.scrollValue == 0) {
16
- if (this.simpoBackground?.image.includes('.mp4')) {
17
- this.el.nativeElement.style.setProperty('background-image', '');
18
- const videoElement = document.createElement('video');
19
- videoElement.src = this.simpoBackground.image;
20
- videoElement.autoplay = true;
21
- videoElement.loop = true;
22
- videoElement.muted = true;
23
- videoElement.playsInline = true;
24
- // Style the video element
25
- videoElement.style.position = 'absolute';
26
- videoElement.style.right = '0';
27
- videoElement.style.bottom = '0';
28
- videoElement.style.minWidth = '100%';
29
- videoElement.style.minHeight = '100%';
30
- videoElement.style.width = '100%';
31
- videoElement.style.height = '100%';
32
- videoElement.style.zIndex = '-1';
33
- videoElement.style.objectFit = 'cover';
34
- this.el.nativeElement.appendChild(videoElement);
35
- return;
36
- }
16
+ // if (this.simpoBackground?.image.includes('.mp4')) {
17
+ // this.el.nativeElement.style.setProperty('background-image', '');
18
+ // const videoElement = document.createElement('video');
19
+ // videoElement.src = this.simpoBackground.image;
20
+ // videoElement.autoplay = true;
21
+ // videoElement.loop = true;
22
+ // videoElement.muted = true;
23
+ // videoElement.playsInline = true;
24
+ // // Style the video element
25
+ // videoElement.style.position = 'absolute';
26
+ // videoElement.style.right = '0';
27
+ // videoElement.style.bottom = '0';
28
+ // videoElement.style.minWidth = '100%';
29
+ // videoElement.style.minHeight = '100%';
30
+ // videoElement.style.width = '100%';
31
+ // videoElement.style.height = '100%';
32
+ // videoElement.style.zIndex = '-1';
33
+ // videoElement.style.objectFit = 'cover';
34
+ // this.el.nativeElement.appendChild(videoElement);
35
+ // return;
36
+ // }
37
37
  if (this.el.nativeElement.querySelector('video'))
38
38
  this.el.nativeElement.removeChild(this.el.nativeElement.querySelector('video'));
39
39
  this.el.nativeElement.style.setProperty('background-image', `url(${res.data.image})`);
@@ -106,27 +106,27 @@ export class BackgroundDirective {
106
106
  ngOnChanges(change) {
107
107
  this.el.nativeElement.style.setProperty('color', this.getTextColor(this.simpoBackground?.color ? this.simpoBackground?.color : '#ffffff'));
108
108
  if (this.simpoBackground?.showImage) {
109
- if (this.simpoBackground?.image.includes('.mp4')) {
110
- this.el.nativeElement.style.setProperty('background-image', '');
111
- const videoElement = document.createElement('video');
112
- videoElement.src = this.simpoBackground.image;
113
- videoElement.autoplay = true;
114
- videoElement.loop = true;
115
- videoElement.muted = true;
116
- videoElement.playsInline = true;
117
- // Style the video element
118
- videoElement.style.position = 'absolute';
119
- videoElement.style.right = '0';
120
- videoElement.style.bottom = '0';
121
- videoElement.style.minWidth = '100%';
122
- videoElement.style.minHeight = '100%';
123
- videoElement.style.width = '100%';
124
- videoElement.style.height = '100%';
125
- videoElement.style.zIndex = '-1';
126
- videoElement.style.objectFit = 'cover';
127
- this.el.nativeElement.appendChild(videoElement);
128
- return;
129
- }
109
+ // if (this.simpoBackground?.image.includes('.mp4')) {
110
+ // this.el.nativeElement.style.setProperty('background-image', '');
111
+ // const videoElement = document.createElement('video');
112
+ // videoElement.src = this.simpoBackground.image;
113
+ // videoElement.autoplay = true;
114
+ // videoElement.loop = true;
115
+ // videoElement.muted = true;
116
+ // videoElement.playsInline = true;
117
+ // // Style the video element
118
+ // videoElement.style.position = 'absolute';
119
+ // videoElement.style.right = '0';
120
+ // videoElement.style.bottom = '0';
121
+ // videoElement.style.minWidth = '100%';
122
+ // videoElement.style.minHeight = '100%';
123
+ // videoElement.style.width = '100%';
124
+ // videoElement.style.height = '100%';
125
+ // videoElement.style.zIndex = '-1';
126
+ // videoElement.style.objectFit = 'cover';
127
+ // this.el.nativeElement.appendChild(videoElement);
128
+ // return;
129
+ // }
130
130
  if (this.el.nativeElement.querySelector('video'))
131
131
  this.el.nativeElement.removeChild(this.el.nativeElement.querySelector('video'));
132
132
  this.el.nativeElement.style.setProperty('background-image', `url(${this.simpoBackground.image})`);
@@ -214,4 +214,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
214
214
  type: Input,
215
215
  args: ['scrollValue']
216
216
  }] } });
217
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2dyb3VuZC1kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL2RpcmVjdGl2ZS9iYWNrZ3JvdW5kLWRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFJdkYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQU1wRCxNQUFNLE9BQU8sbUJBQW1CO0lBSzlCLFlBQ1UsRUFBYyxFQUNkLFlBQTJCO1FBRDNCLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDZCxpQkFBWSxHQUFaLFlBQVksQ0FBZTtRQUxmLGdCQUFXLEdBQVksQ0FBQyxDQUFDO1FBTTdDLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLENBQUE7UUFDbEMsQ0FBQztRQUNELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQywwQkFBMEIsQ0FBQyxTQUFTLENBQ3pFLENBQUMsR0FBUSxFQUFFLEVBQUU7WUFDWCxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsS0FBSyxHQUFHLENBQUMsRUFBRSxJQUFJLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2dCQUNqRSxJQUFJLEdBQUcsQ0FBQyxJQUFJLEVBQUUsU0FBUyxJQUFJLElBQUksRUFBRSxXQUFXLElBQUksQ0FBQyxFQUFFLENBQUM7b0JBQ2xELElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7d0JBQ2pELElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxDQUFD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QyxDQUFDO1lBQzVDLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUM1QyxNQUFNLENBQUMsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDNUMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQztZQUV4RCxPQUFPLFVBQVUsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ3hELENBQUM7UUFDRCxPQUFPLFVBQVUsQ0FBQTtJQUNuQixDQUFDOytHQTdRVSxtQkFBbUI7bUdBQW5CLG1CQUFtQjs7NEZBQW5CLG1CQUFtQjtrQkFKL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixVQUFVLEVBQUUsSUFBSTtpQkFDakI7MkdBRTJCLGVBQWU7c0JBQXhDLEtBQUs7dUJBQUMsaUJBQWlCO2dCQUNGLFdBQVc7c0JBQWhDLEtBQUs7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBFdmVudHNTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZXZlbnRzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCYWNrZ3JvdW5kTW9kZWwgfSBmcm9tICcuLi9zdHlsZXMvc3R5bGUubW9kZWwnO1xyXG5pbXBvcnQgeyBCQUNLR1JPVU5EX1RZUEUgfSBmcm9tICcuLi9zdHlsZXMvdHlwZXMnO1xyXG5pbXBvcnQgeyBHcmFkaWVudERpcmVjdGlvbiB9IGZyb20gJy4uL3N0eWxlcy9pbmRleCc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tzaW1wb0JhY2tncm91bmRdJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQmFja2dyb3VuZERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KCdzaW1wb0JhY2tncm91bmQnKSBzaW1wb0JhY2tncm91bmQ/OiBCYWNrZ3JvdW5kTW9kZWw7XHJcbiAgQElucHV0KCdzY3JvbGxWYWx1ZScpIHNjcm9sbFZhbHVlPzogbnVtYmVyID0gMDtcclxuXHJcbiAgZXZlbnRFbW1pdHRlcjogYW55O1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgZXZlbnRTZXJ2aWNlOiBFdmVudHNTZXJ2aWNlKSB7XHJcbiAgICBpZiAodGhpcy5ldmVudEVtbWl0dGVyKSB7XHJcbiAgICAgIHRoaXMuZXZlbnRFbW1pdHRlci51bnN1YnNjcmliZSgpXHJcbiAgICB9XHJcbiAgICB0aGlzLmV2ZW50RW1taXR0ZXIgPSB0aGlzLmV2ZW50U2VydmljZS5iYWNrZ3JvdW5kSW1hZ2VDaGFuZ2VDaGVjay5zdWJzY3JpYmUoXHJcbiAgICAgIChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuaWQgPT09IHJlcy5pZCB8fCByZXMuZ2xvYmFsVGhlbWVDaGFuZ2UpIHtcclxuICAgICAgICAgIGlmIChyZXMuZGF0YT8uc2hvd0ltYWdlICYmIHRoaXM/LnNjcm9sbFZhbHVlID09IDApIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuc2ltcG9CYWNrZ3JvdW5kPy5pbWFnZS5pbmNsdWRlcygnLm1wNCcpKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCdiYWNrZ3JvdW5kLWltYWdlJywgJycpO1xyXG4gICAgICAgICAgICAgIGNvbnN0IHZpZGVvRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3ZpZGVvJyk7XHJcbiAgICAgICAgICAgICAgdmlkZW9FbGVtZW50LnNyYyA9IHRoaXMuc2ltcG9CYWNrZ3JvdW5kLmltYWdlO1xyXG4gICAgICAgICAgICAgIHZpZGVvRWxlbWVudC5hdXRvcGxheSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgdmlkZW9FbGVtZW50Lmxvb3AgPSB0cnVlO1xyXG4gICAgICAgICAgICAgIHZpZGVvRWxlbWVudC5tdXRlZCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgdmlkZW9FbGVtZW50LnBsYXlzSW5saW5lID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAvLyBTdHlsZSB0aGUgdmlkZW8gZWxlbWVudFxyXG4gICAgICAgICAgICAgIHZpZGVvRWxlbWVudC5zdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7XHJcbiAgICAgICAgICAgICAgdmlkZW9FbGVtZW50LnN0eWxlLnJpZ2h0ID0gJzAnO1xyXG4gICAgICAgICAgICAgIHZpZGVvRWxlbWVudC5zdHlsZS5ib3R0b20gPSAnMCc7XHJcbiAgICAgICAgICAgICAgdmlkZW9FbGVtZW50LnN0eWxlLm1pbldpZHRoID0gJzEwMCUnO1xyXG4gICAgICAgICAgICAgIHZpZGVvRWxlbWVudC5zdHlsZS5taW5IZWlnaHQgPSAnMTAwJSc7XHJcbiAgICAgICAgICAgICAgdmlkZW9FbGVtZW50LnN0eWxlLndpZHRoID0gJzEwMCUnO1xyXG4gICAgICAgICAgICAgIHZpZGVvRWxlbWVudC5zdHlsZS5oZWlnaHQgPSAnMTAwJSc7XHJcbiAgICAgICAgICAgICAgdmlkZW9FbGVtZW50LnN0eWxlLnpJbmRleCA9ICctMSc7XHJcbiAgICAgICAgICAgICAgdmlkZW9FbGVtZW50LnN0eWxlLm9iamVjdEZpdCA9ICdjb3Zlcic7XHJcbiAgICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LmFwcGVuZENoaWxkKHZpZGVvRWxlbWVudCk7XHJcbiAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcigndmlkZW8nKSlcclxuICAgICAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucmVtb3ZlQ2hpbGQodGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ3ZpZGVvJykpO1xyXG4gICAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoXHJcbiAgICAgICAgICAgICAgJ2JhY2tncm91bmQtaW1hZ2UnLFxyXG4gICAgICAgICAgICAgIGB1cmwoJHtyZXMuZGF0YS5pbWFnZX0pYFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoXHJcbiAgICAgICAgICAgICAgJ2JhY2tncm91bmQtcG9zaXRpb24nLFxyXG4gICAgICAgICAgICAgIGAke3Jlcy5kYXRhLnBvc2l0aW9uPy54fSUgJHtyZXMuZGF0YS5wb3NpdGlvbj8ueX0lYFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJ2JhY2tncm91bmQtcmVwZWF0JywgYG5vLXJlcGVhdGApO1xyXG4gICAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJ2JhY2tncm91bmQtc2l6ZScsIGBjb3ZlcmApO1xyXG4gICAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJ2NvbG9yJywgdGhpcy5nZXRUZXh0Q29sb3IocmVzLmRhdGE/LmNvbG9yKSlcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcigndmlkZW8nKSlcclxuICAgICAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucmVtb3ZlQ2hpbGQodGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ3ZpZGVvJykpO1xyXG4gICAgICAgICAgICBpZiAodGhpcy5zaW1wb0JhY2tncm91bmQ/LmJhY2tncm91bmRUeXBlID09PSAoJ0dyYWRpZW50JyBhcyBCQUNLR1JPVU5EX1RZUEUpKSB7XHJcbiAgICAgICAgICAgICAgY29uc3QgZGlyZWN0aW9uID0gR3JhZGllbnREaXJlY3Rpb25bdGhpcy5zaW1wb0JhY2tncm91bmQuYmFja2dyb3VuZEdyYWRpZW50RGlyZWN0aW9uIGFzIHVua25vd24gYXMga2V5b2YgdHlwZW9mIEdyYWRpZW50RGlyZWN0aW9uIHx8IEdyYWRpZW50RGlyZWN0aW9uLkRPV05dO1xyXG4gICAgICAgICAgICAgIGNvbnN0IGdyYWRpZW50Q29sb3IgPSBkaXJlY3Rpb24gIT0gR3JhZGllbnREaXJlY3Rpb24uRE9XTiA/IGBsaW5lYXItZ3JhZGllbnQoJHtkaXJlY3Rpb259LCR7dGhpcy5zaW1wb0JhY2tncm91bmQuY29sb3J9LCR7dGhpcy5zaW1wb0JhY2tncm91bmQuc2Vjb25kYXJ5Q29sb3J9KWAgOlxyXG4gICAgICAgICAgICAgICAgYGxpbmVhci1ncmFkaWVudCgke3RoaXMuc2ltcG9CYWNrZ3JvdW5kLmNvbG9yfSwke3RoaXMuc2ltcG9CYWNrZ3JvdW5kLnNlY29uZGFyeUNvbG9yfSlgO1xyXG4gICAgICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShcclxuICAgICAgICAgICAgICAgICdiYWNrZ3JvdW5kJyxcclxuICAgICAgICAgICAgICAgIGdyYWRpZW50Q29sb3JcclxuICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnY29sb3InLCB0aGlzLmdldFRleHRDb2xvcihncmFkaWVudENvbG9yKSlcclxuXHJcbiAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoXHJcbiAgICAgICAgICAgICAgJ2JhY2tncm91bmQtY29sb3InLFxyXG4gICAgICAgICAgICAgIHJlcy5kYXRhPy5jb2xvclxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoXHJcbiAgICAgICAgICAgICAgJ2JhY2tncm91bmQtaW1hZ2UnLFxyXG4gICAgICAgICAgICAgIGB1cmwoJycpYFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJ2JhY2tncm91bmQtc2l6ZScsICdjb3ZlcicpO1xyXG4gICAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJ2JhY2tncm91bmQtcmVwZWF0JywgJ25vLXJlcGVhdCcpO1xyXG4gICAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJ2JhY2tncm91bmQtcG9zaXRpb24nLCAnY2VudGVyJyk7XHJcbiAgICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnY29sb3InLCB0aGlzLmdldFRleHRDb2xvcihyZXMuZGF0YT8uY29sb3IpKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKHRoaXMuc2ltcG9CYWNrZ3JvdW5kPy5iYWNrZ3JvdW5kQW5pbWF0aW9uID09PSAnREFOQ0lOR19ET1RTJykge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ3ZpZGVvJykpXHJcbiAgICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnJlbW92ZUNoaWxkKHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCd2aWRlbycpKTtcclxuICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFxyXG4gICAgICAgICAgICAgICdiYWNrZ3JvdW5kLWltYWdlJyxcclxuICAgICAgICAgICAgICBgdXJsKCdodHRwczovL2QyeXgxNXBuY2dtdTYzLmNsb3VkZnJvbnQubmV0L3Byb2QtaW1hZ2VzLzExNjAyNmMxNzQ3MTIyMjk2NDA4QXJ0Ym9hcmQxLmdpZicpYFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKHRoaXMuc2ltcG9CYWNrZ3JvdW5kPy5iYWNrZ3JvdW5kQW5pbWF0aW9uID09PSAnU0NBVFRFUklOR19ET1RTJykge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ3ZpZGVvJykpXHJcbiAgICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnJlbW92ZUNoaWxkKHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCd2aWRlbycpKTtcclxuICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFxyXG4gICAgICAgICAgICAgICdiYWNrZ3JvdW5kLWltYWdlJyxcclxuICAgICAgICAgICAgICBgdXJsKCdodHRwczovL2QyeXgxNXBuY2dtdTYzLmNsb3VkZnJvbnQubmV0L3Byb2QtaW1hZ2VzLzI4NzM0OGMxNzQ3MDUxNTQwMDg4V2hhdHNBcHBWaWRlbzIwMjUtMDUtMTJhdDUuMTkuMTFQTS1lemdpZi5jb20tdmlkZW8tdG8tZ2lmLWNvbnZlcnRlciAoMSkuZ2lmJylgXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAodGhpcy5zaW1wb0JhY2tncm91bmQ/LmJhY2tncm91bmRBbmltYXRpb24gPT09ICdXQVZFUycpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCd2aWRlbycpKVxyXG4gICAgICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5yZW1vdmVDaGlsZCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcigndmlkZW8nKSk7XHJcbiAgICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShcclxuICAgICAgICAgICAgICAnYmFja2dyb3VuZC1pbWFnZScsXHJcbiAgICAgICAgICAgICAgYHVybCgnaHR0cHM6Ly9kMnl4MTVwbmNnbXU2My5jbG91ZGZyb250Lm5ldC9wcm9kLWltYWdlcy82MzA3NTNjMTc0NzQwMzIxNzIzOTY5MTM5OTdfTW90aW9uJTIwR3JhcGhpY3NfTW90aW9uJTIwR3JhcGhpY18zODQweDIxNjAlMjAoMSklMjAoMikuZ2lmJylgXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAodGhpcy5zaW1wb0JhY2tncm91bmQ/LmJhY2tncm91bmRBbmltYXRpb24gPT09ICdBQlNUUkFDVCcpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCd2aWRlbycpKVxyXG4gICAgICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5yZW1vdmVDaGlsZCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcigndmlkZW8nKSk7XHJcbiAgICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShcclxuICAgICAgICAgICAgICAnYmFja2dyb3VuZC1pbWFnZScsXHJcbiAgICAgICAgICAgICAgYHVybCgnaHR0cHM6Ly9kMnl4MTVwbmNnbXU2My5jbG91ZGZyb250Lm5ldC9wcm9kLWltYWdlcy81Nzc1MDdjMTc0NzQ2NTYzNjk1NlJvdGF0aW9uJTIwZ2lmLmdpZicpYFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKHRoaXMuc2ltcG9CYWNrZ3JvdW5kPy5iYWNrZ3JvdW5kQW5pbWF0aW9uID09PSAnRFJFVycpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCd2aWRlbycpKVxyXG4gICAgICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5yZW1vdmVDaGlsZCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcigndmlkZW8nKSk7XHJcbiAgICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShcclxuICAgICAgICAgICAgICAnYmFja2dyb3VuZC1pbWFnZScsXHJcbiAgICAgICAgICAgICAgYHVybCgnaHR0cHM6Ly9kMnl4MTVwbmNnbXU2My5jbG91ZGZyb250Lm5ldC9wcm9kLWltYWdlcy83MjEyNDRjMTc0NzQ2NzY5ODAwNGFuaW1hdGUuZ2lmJylgXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAodGhpcy5zaW1wb0JhY2tncm91bmQ/LmJhY2tncm91bmRBbmltYXRpb24gPT09ICdET1RTJykge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ3ZpZGVvJykpXHJcbiAgICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnJlbW92ZUNoaWxkKHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCd2aWRlbycpKTtcclxuICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFxyXG4gICAgICAgICAgICAgICdiYWNrZ3JvdW5kLWltYWdlJyxcclxuICAgICAgICAgICAgICBgdXJsKCdodHRwczovL2QyeXgxNXBuY2dtdTYzLmNsb3VkZnJvbnQubmV0L3Byb2QtaW1hZ2VzLzY1OTEzNGMxNzQ3NDY3ODAxMjQyRG90cyUyMCgxKS5naWYnKWBcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmICh0aGlzLnNpbXBvQmFja2dyb3VuZD8uYmFja2dyb3VuZEFuaW1hdGlvbikge1xyXG4gICAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJ2JhY2tncm91bmQtc2l6ZScsICdjb3ZlcicpO1xyXG4gICAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJ2JhY2tncm91bmQtcmVwZWF0JywgJ25vLXJlcGVhdCcpO1xyXG4gICAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJ2JhY2tncm91bmQtcG9zaXRpb24nLCAnY2VudGVyJyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICApXHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgaWYgKHRoaXMuZXZlbnRFbW1pdHRlcikge1xyXG4gICAgICB0aGlzLmV2ZW50RW1taXR0ZXIudW5zdWJzY3JpYmUoKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJ2NvbG9yJywgdGhpcy5nZXRUZXh0Q29sb3IodGhpcy5zaW1wb0JhY2tncm91bmQ/LmNvbG9yID8gdGhpcy5zaW1wb0JhY2tncm91bmQ/LmNvbG9yIDogJyNmZmZmZmYnKSlcclxuICAgIGlmICh0aGlzLnNpbXBvQmFja2dyb3VuZD8uc2hvd0ltYWdlKSB7XHJcbiAgICAgIGlmICh0aGlzLnNpbXBvQmFja2dyb3VuZD8uaW1hZ2UuaW5jbHVkZXMoJy5tcDQnKSkge1xyXG4gICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnYmFja2dyb3VuZC1pbWFnZScsICcnKTtcclxuICAgICAgICBjb25zdCB2aWRlb0VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd2aWRlbycpO1xyXG4gICAgICAgIHZpZGVvRWxlbWVudC5zcmMgPSB0aGlzLnNpbXBvQmFja2dyb3VuZC5pbWFnZTtcclxuICAgICAgICB2aWRlb0VsZW1lbnQuYXV0b3BsYXkgPSB0cnVlO1xyXG4gICAgICAgIHZpZGVvRWxlbWVudC5sb29wID0gdHJ1ZTtcclxuICAgICAgICB2aWRlb0VsZW1lbnQubXV0ZWQgPSB0cnVlO1xyXG4gICAgICAgIHZpZGVvRWxlbWVudC5wbGF5c0lubGluZSA9IHRydWU7XHJcbiAgICAgICAgLy8gU3R5bGUgdGhlIHZpZGVvIGVsZW1lbnRcclxuICAgICAgICB2aWRlb0VsZW1lbnQuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xyXG4gICAgICAgIHZpZGVvRWxlbWVudC5zdHlsZS5yaWdodCA9ICcwJztcclxuICAgICAgICB2aWRlb0VsZW1lbnQuc3R5bGUuYm90dG9tID0gJzAnO1xyXG4gICAgICAgIHZpZGVvRWxlbWVudC5zdHlsZS5taW5XaWR0aCA9ICcxMDAlJztcclxuICAgICAgICB2aWRlb0VsZW1lbnQuc3R5bGUubWluSGVpZ2h0ID0gJzEwMCUnO1xyXG4gICAgICAgIHZpZGVvRWxlbWVudC5zdHlsZS53aWR0aCA9ICcxMDAlJztcclxuICAgICAgICB2aWRlb0VsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gJzEwMCUnO1xyXG4gICAgICAgIHZpZGVvRWxlbWVudC5zdHlsZS56SW5kZXggPSAnLTEnO1xyXG4gICAgICAgIHZpZGVvRWxlbWVudC5zdHlsZS5vYmplY3RGaXQgPSAnY292ZXInO1xyXG4gICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5hcHBlbmRDaGlsZCh2aWRlb0VsZW1lbnQpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ3ZpZGVvJykpXHJcbiAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnJlbW92ZUNoaWxkKHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCd2aWRlbycpKTtcclxuICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFxyXG4gICAgICAgICdiYWNrZ3JvdW5kLWltYWdlJyxcclxuICAgICAgICBgdXJsKCR7dGhpcy5zaW1wb0JhY2tncm91bmQuaW1hZ2V9KWBcclxuICAgICAgKTtcclxuICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFxyXG4gICAgICAgICdiYWNrZ3JvdW5kLXBvc2l0aW9uJyxcclxuICAgICAgICBgJHt0aGlzLnNpbXBvQmFja2dyb3VuZC5wb3NpdGlvbj8ueH0lICR7dGhpcy5zaW1wb0JhY2tncm91bmQucG9zaXRpb24/Lnl9JWBcclxuICAgICAgKTtcclxuICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCdiYWNrZ3JvdW5kLXJlcGVhdCcsIGBuby1yZXBlYXRgKTtcclxuICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCdiYWNrZ3JvdW5kLXNpemUnLCBgY292ZXJgKTtcclxuICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCdjb2xvcicsIHRoaXMuZ2V0VGV4dENvbG9yKHRoaXMuc2ltcG9CYWNrZ3JvdW5kPy5jb2xvciA/IHRoaXMuc2ltcG9CYWNrZ3JvdW5kPy5jb2xvciA6ICcjZmZmZmZmJykpXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAodGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ3ZpZGVvJykpXHJcbiAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnJlbW92ZUNoaWxkKHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCd2aWRlbycpKTtcclxuICAgICAgaWYgKHRoaXMuc2ltcG9CYWNrZ3JvdW5kPy5iYWNrZ3JvdW5kVHlwZSA9PT0gKCdHcmFkaWVudCcgYXMgQkFDS0dST1VORF9UWVBFKSAmJiB0aGlzLnNpbXBvQmFja2dyb3VuZD8uYmFja2dyb3VuZEFuaW1hdGlvbiA9PSAnTk9ORScpIHtcclxuICAgICAgICBjb25zdCBkaXJlY3Rpb24gPSBHcmFkaWVudERpcmVjdGlvblt0aGlzLnNpbXBvQmFja2dyb3VuZC5iYWNrZ3JvdW5kR3JhZGllbnREaXJlY3Rpb24gYXMgdW5rbm93biBhcyBrZXlvZiB0eXBlb2YgR3JhZGllbnREaXJlY3Rpb24gfHwgR3JhZGllbnREaXJlY3Rpb24uRE9XTl07XHJcbiAgICAgICAgY29uc3QgZ3JhZGllbnRDb2xvciA9IGRpcmVjdGlvbiAhPSBHcmFkaWVudERpcmVjdGlvbi5ET1dOID8gYGxpbmVhci1ncmFkaWVudCgke2RpcmVjdGlvbn0sJHt0aGlzLnNpbXBvQmFja2dyb3VuZC5jb2xvcn0sJHt0aGlzLnNpbXBvQmFja2dyb3VuZC5zZWNvbmRhcnlDb2xvcn0pYCA6XHJcbiAgICAgICAgICBgbGluZWFyLWdyYWRpZW50KCR7dGhpcy5zaW1wb0JhY2tncm91bmQuY29sb3J9LCR7dGhpcy5zaW1wb0JhY2tncm91bmQuc2Vjb25kYXJ5Q29sb3J9KWA7XHJcbiAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFxyXG4gICAgICAgICAgJ2JhY2tncm91bmQnLFxyXG4gICAgICAgICAgZ3JhZGllbnRDb2xvclxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCdjb2xvcicsIHRoaXMuZ2V0VGV4dENvbG9yKGdyYWRpZW50Q29sb3IpKVxyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICAvLyB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucmVtb3ZlQ2hpbGQodGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ3ZpZGVvJykpO1xyXG4gICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoXHJcbiAgICAgICAgJ2JhY2tncm91bmQtY29sb3InLFxyXG4gICAgICAgIHRoaXMuc2ltcG9CYWNrZ3JvdW5kPy5jb2xvclxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoXHJcbiAgICAgICAgJ2JhY2tncm91bmQtaW1hZ2UnLFxyXG4gICAgICAgIGBgXHJcbiAgICAgICk7XHJcbiAgICAgIGlmICh0aGlzLnNpbXBvQmFja2dyb3VuZD8uYmFja2dyb3VuZEFuaW1hdGlvbiA9PT0gJ0RBTkNJTkdfRE9UUycpIHtcclxuICAgICAgICBpZiAodGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ3ZpZGVvJykpXHJcbiAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucmVtb3ZlQ2hpbGQodGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ3ZpZGVvJykpO1xyXG4gICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShcclxuICAgICAgICAgICdiYWNrZ3JvdW5kLWltYWdlJyxcclxuICAgICAgICAgIGB1cmwoJ2h0dHBzOi8vZDJ5eDE1cG5jZ211NjMuY2xvdWRmcm9udC5uZXQvcHJvZC1pbWFnZXMvMTE2MDI2YzE3NDcxMjIyOTY0MDhBcnRib2FyZDEuZ2lmJylgXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5zaW1wb0JhY2tncm91bmQ/LmJhY2tncm91bmRBbmltYXRpb24gPT09ICdTQ0FUVEVSSU5HX0RPVFMnKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCd2aWRlbycpKVxyXG4gICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnJlbW92ZUNoaWxkKHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCd2aWRlbycpKTtcclxuICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoXHJcbiAgICAgICAgICAnYmFja2dyb3VuZC1pbWFnZScsXHJcbiAgICAgICAgICBgdXJsKCdodHRwczovL2QyeXgxNXBuY2dtdTYzLmNsb3VkZnJvbnQubmV0L3Byb2QtaW1hZ2VzLzI4NzM0OGMxNzQ3MDUxNTQwMDg4V2hhdHNBcHBWaWRlbzIwMjUtMDUtMTJhdDUuMTkuMTFQTS1lemdpZi5jb20tdmlkZW8tdG8tZ2lmLWNvbnZlcnRlciAoMSkuZ2lmJylgXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5zaW1wb0JhY2tncm91bmQ/LmJhY2tncm91bmRBbmltYXRpb24gPT09ICdXQVZFUycpIHtcclxuICAgICAgICBpZiAodGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ3ZpZGVvJykpXHJcbiAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucmVtb3ZlQ2hpbGQodGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ3ZpZGVvJykpO1xyXG4gICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShcclxuICAgICAgICAgICdiYWNrZ3JvdW5kLWltYWdlJyxcclxuICAgICAgICAgIGB1cmwoJ2h0dHBzOi8vZDJ5eDE1cG5jZ211NjMuY2xvdWRmcm9udC5uZXQvcHJvZC1pbWFnZXMvNjMwNzUzYzE3NDc0MDMyMTcyMzk2OTEzOTk3X01vdGlvbiUyMEdyYXBoaWNzX01vdGlvbiUyMEdyYXBoaWNfMzg0MHgyMTYwJTIwKDEpJTIwKDIpLmdpZicpYFxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuc2ltcG9CYWNrZ3JvdW5kPy5iYWNrZ3JvdW5kQW5pbWF0aW9uID09PSAnQUJTVFJBQ1QnKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCd2aWRlbycpKVxyXG4gICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnJlbW92ZUNoaWxkKHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCd2aWRlbycpKTtcclxuICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoXHJcbiAgICAgICAgICAnYmFja2dyb3VuZC1pbWFnZScsXHJcbiAgICAgICAgICBgdXJsKCdodHRwczovL2QyeXgxNXBuY2dtdTYzLmNsb3VkZnJvbnQubmV0L3Byb2QtaW1hZ2VzLzU3NzUwN2MxNzQ3NDY1NjM2OTU2Um90YXRpb24lMjBnaWYuZ2lmJylgXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5zaW1wb0JhY2tncm91bmQ/LmJhY2tncm91bmRBbmltYXRpb24gPT09ICdEUkVXJykge1xyXG4gICAgICAgIGlmICh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcigndmlkZW8nKSlcclxuICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5yZW1vdmVDaGlsZCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcigndmlkZW8nKSk7XHJcbiAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFxyXG4gICAgICAgICAgJ2JhY2tncm91bmQtaW1hZ2UnLFxyXG4gICAgICAgICAgYHVybCgnaHR0cHM6Ly9kMnl4MTVwbmNnbXU2My5jbG91ZGZyb250Lm5ldC9wcm9kLWltYWdlcy83MjEyNDRjMTc0NzQ2NzY5ODAwNGFuaW1hdGUuZ2lmJylgXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5zaW1wb0JhY2tncm91bmQ/LmJhY2tncm91bmRBbmltYXRpb24gPT09ICdET1RTJykge1xyXG4gICAgICAgIGlmICh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcigndmlkZW8nKSlcclxuICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5yZW1vdmVDaGlsZCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcigndmlkZW8nKSk7XHJcbiAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFxyXG4gICAgICAgICAgJ2JhY2tncm91bmQtaW1hZ2UnLFxyXG4gICAgICAgICAgYHVybCgnaHR0cHM6Ly9kMnl4MTVwbmNnbXU2My5jbG91ZGZyb250Lm5ldC9wcm9kLWltYWdlcy82NTkxMzRjMTc0NzQ2NzgwMTI0MkRvdHMlMjAoMSkuZ2lmJylgXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5zaW1wb0JhY2tncm91bmQ/LmJhY2tncm91bmRBbmltYXRpb24pIHtcclxuICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJ2JhY2tncm91bmQtc2l6ZScsICdjb3ZlcicpO1xyXG4gICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnYmFja2dyb3VuZC1yZXBlYXQnLCAnbm8tcmVwZWF0Jyk7XHJcbiAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCdiYWNrZ3JvdW5kLXBvc2l0aW9uJywgJ2NlbnRlcicpO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldFRleHRDb2xvcihiZ0NvbG9yOiBzdHJpbmcpIHtcclxuICAgIGlmIChiZ0NvbG9yKSB7XHJcbiAgICAgIGNvbnN0IHRocmVzaG9sZCA9IDEzMDsgLy8gQWRqdXN0IHRoaXMgdGhyZXNob2xkIGFzIG5lZWRlZFxyXG4gICAgICBjb25zdCByID0gcGFyc2VJbnQoYmdDb2xvci5zbGljZSgxLCAzKSwgMTYpO1xyXG4gICAgICBjb25zdCBnID0gcGFyc2VJbnQoYmdDb2xvci5zbGljZSgzLCA1KSwgMTYpO1xyXG4gICAgICBjb25zdCBiID0gcGFyc2VJbnQoYmdDb2xvci5zbGljZSg1LCA3KSwgMTYpO1xyXG4gICAgICBjb25zdCBicmlnaHRuZXNzID0gKHIgKiAyOTkgKyBnICogNTg3ICsgYiAqIDExNCkgLyAxMDAwO1xyXG5cclxuICAgICAgcmV0dXJuIGJyaWdodG5lc3MgPiB0aHJlc2hvbGQgPyAnIzAwMDAwMCcgOiAnI2ZmZmZmZic7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gXCIjZmZmZmZmO1wiXHJcbiAgfVxyXG59XHJcbiJdfQ==
217
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2dyb3VuZC1kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL2RpcmVjdGl2ZS9iYWNrZ3JvdW5kLWRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFJdkYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQU1wRCxNQUFNLE9BQU8sbUJBQW1CO0lBSzlCLFlBQ1UsRUFBYyxFQUNkLFlBQTJCO1FBRDNCLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDZCxpQkFBWSxHQUFaLFlBQVksQ0FBZTtRQUxmLGdCQUFXLEdBQVksQ0FBQyxDQUFDO1FBTTdDLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLENBQUE7UUFDbEMsQ0FBQztRQUNELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQywwQkFBMEIsQ0FBQyxTQUFTLENBQ3pFLENBQUMsR0FBUSxFQUFFLEVBQUU7WUFDWCxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsS0FBSyxHQUFHLENBQUMsRUFBRSxJQUFJLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2dCQUNqRSxJQUFJLEdBQUcsQ0FBQyxJQUFJLEVBQUUsU0FBUyxJQUFJLElBQUksRUFBRSxXQUFXLElBQUksQ0FBQyxFQUFFLENBQUM7b0JBQ2xELHNEQUFzRDtvQkFDdEQscUVBQXFFO29CQUNyRSwwREFBMEQ7b0JBQzFELG1EQUFtRDtvQkFDbkQsa0NBQWtDO29CQUNsQyw4QkFBOEI7b0JBQzlCLCtCQUErQjtvQkFDL0IscUNBQXFDO29CQUNyQywrQkFBK0I7b0JBQy9CLDhDQUE4QztvQkFDOUMsb0NB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bkIsbUJBQW1COzs0RkFBbkIsbUJBQW1CO2tCQUovQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjsyR0FFMkIsZUFBZTtzQkFBeEMsS0FBSzt1QkFBQyxpQkFBaUI7Z0JBQ0YsV0FBVztzQkFBaEMsS0FBSzt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEV2ZW50c1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9ldmVudHMuc2VydmljZSc7XHJcbmltcG9ydCB7IEJhY2tncm91bmRNb2RlbCB9IGZyb20gJy4uL3N0eWxlcy9zdHlsZS5tb2RlbCc7XHJcbmltcG9ydCB7IEJBQ0tHUk9VTkRfVFlQRSB9IGZyb20gJy4uL3N0eWxlcy90eXBlcyc7XHJcbmltcG9ydCB7IEdyYWRpZW50RGlyZWN0aW9uIH0gZnJvbSAnLi4vc3R5bGVzL2luZGV4JztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3NpbXBvQmFja2dyb3VuZF0nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCYWNrZ3JvdW5kRGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoJ3NpbXBvQmFja2dyb3VuZCcpIHNpbXBvQmFja2dyb3VuZD86IEJhY2tncm91bmRNb2RlbDtcclxuICBASW5wdXQoJ3Njcm9sbFZhbHVlJykgc2Nyb2xsVmFsdWU/OiBudW1iZXIgPSAwO1xyXG5cclxuICBldmVudEVtbWl0dGVyOiBhbnk7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxyXG4gICAgcHJpdmF0ZSBldmVudFNlcnZpY2U6IEV2ZW50c1NlcnZpY2UpIHtcclxuICAgIGlmICh0aGlzLmV2ZW50RW1taXR0ZXIpIHtcclxuICAgICAgdGhpcy5ldmVudEVtbWl0dGVyLnVuc3Vic2NyaWJlKClcclxuICAgIH1cclxuICAgIHRoaXMuZXZlbnRFbW1pdHRlciA9IHRoaXMuZXZlbnRTZXJ2aWNlLmJhY2tncm91bmRJbWFnZUNoYW5nZUNoZWNrLnN1YnNjcmliZShcclxuICAgICAgKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMuZWwubmF0aXZlRWxlbWVudC5pZCA9PT0gcmVzLmlkIHx8IHJlcy5nbG9iYWxUaGVtZUNoYW5nZSkge1xyXG4gICAgICAgICAgaWYgKHJlcy5kYXRhPy5zaG93SW1hZ2UgJiYgdGhpcz8uc2Nyb2xsVmFsdWUgPT0gMCkge1xyXG4gICAgICAgICAgICAvLyBpZiAodGhpcy5zaW1wb0JhY2tncm91bmQ/LmltYWdlLmluY2x1ZGVzKCcubXA0JykpIHtcclxuICAgICAgICAgICAgLy8gICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJ2JhY2tncm91bmQtaW1hZ2UnLCAnJyk7XHJcbiAgICAgICAgICAgIC8vICAgY29uc3QgdmlkZW9FbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndmlkZW8nKTtcclxuICAgICAgICAgICAgLy8gICB2aWRlb0VsZW1lbnQuc3JjID0gdGhpcy5zaW1wb0JhY2tncm91bmQuaW1hZ2U7XHJcbiAgICAgICAgICAgIC8vICAgdmlkZW9FbGVtZW50LmF1dG9wbGF5ID0gdHJ1ZTtcclxuICAgICAgICAgICAgLy8gICB2aWRlb0VsZW1lbnQubG9vcCA9IHRydWU7XHJcbiAgICAgICAgICAgIC8vICAgdmlkZW9FbGVtZW50Lm11dGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgLy8gICB2aWRlb0VsZW1lbnQucGxheXNJbmxpbmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAvLyAgIC8vIFN0eWxlIHRoZSB2aWRlbyBlbGVtZW50XHJcbiAgICAgICAgICAgIC8vICAgdmlkZW9FbGVtZW50LnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcclxuICAgICAgICAgICAgLy8gICB2aWRlb0VsZW1lbnQuc3R5bGUucmlnaHQgPSAnMCc7XHJcbiAgICAgICAgICAgIC8vICAgdmlkZW9FbGVtZW50LnN0eWxlLmJvdHRvbSA9ICcwJztcclxuICAgICAgICAgICAgLy8gICB2aWRlb0VsZW1lbnQuc3R5bGUubWluV2lkdGggPSAnMTAwJSc7XHJcbiAgICAgICAgICAgIC8vICAgdmlkZW9FbGVtZW50LnN0eWxlLm1pbkhlaWdodCA9ICcxMDAlJztcclxuICAgICAgICAgICAgLy8gICB2aWRlb0VsZW1lbnQuc3R5bGUud2lkdGggPSAnMTAwJSc7XHJcbiAgICAgICAgICAgIC8vICAgdmlkZW9FbGVtZW50LnN0eWxlLmhlaWdodCA9ICcxMDAlJztcclxuICAgICAgICAgICAgLy8gICB2aWRlb0VsZW1lbnQuc3R5bGUuekluZGV4ID0gJy0xJztcclxuICAgICAgICAgICAgLy8gICB2aWRlb0VsZW1lbnQuc3R5bGUub2JqZWN0Rml0ID0gJ2NvdmVyJztcclxuICAgICAgICAgICAgLy8gICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuYXBwZW5kQ2hpbGQodmlkZW9FbGVtZW50KTtcclxuICAgICAgICAgICAgLy8gICByZXR1cm47XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgaWYgKHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCd2aWRlbycpKVxyXG4gICAgICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5yZW1vdmVDaGlsZCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcigndmlkZW8nKSk7XHJcbiAgICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShcclxuICAgICAgICAgICAgICAnYmFja2dyb3VuZC1pbWFnZScsXHJcbiAgICAgICAgICAgICAgYHVybCgke3Jlcy5kYXRhLmltYWdlfSlgXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShcclxuICAgICAgICAgICAgICAnYmFja2dyb3VuZC1wb3NpdGlvbicsXHJcbiAgICAgICAgICAgICAgYCR7cmVzLmRhdGEucG9zaXRpb24/Lnh9JSAke3Jlcy5kYXRhLnBvc2l0aW9uPy55fSVgXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnYmFja2dyb3VuZC1yZXBlYXQnLCBgbm8tcmVwZWF0YCk7XHJcbiAgICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnYmFja2dyb3VuZC1zaXplJywgYGNvdmVyYCk7XHJcbiAgICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnY29sb3InLCB0aGlzLmdldFRleHRDb2xvcihyZXMuZGF0YT8uY29sb3IpKVxyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCd2aWRlbycpKVxyXG4gICAgICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5yZW1vdmVDaGlsZCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcigndmlkZW8nKSk7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnNpbXBvQmFja2dyb3VuZD8uYmFja2dyb3VuZFR5cGUgPT09ICgnR3JhZGllbnQnIGFzIEJBQ0tHUk9VTkRfVFlQRSkpIHtcclxuICAgICAgICAgICAgICBjb25zdCBkaXJlY3Rpb24gPSBHcmFkaWVudERpcmVjdGlvblt0aGlzLnNpbXBvQmFja2dyb3VuZC5iYWNrZ3JvdW5kR3JhZGllbnREaXJlY3Rpb24gYXMgdW5rbm93biBhcyBrZXlvZiB0eXBlb2YgR3JhZGllbnREaXJlY3Rpb24gfHwgR3JhZGllbnREaXJlY3Rpb24uRE9XTl07XHJcbiAgICAgICAgICAgICAgY29uc3QgZ3JhZGllbnRDb2xvciA9IGRpcmVjdGlvbiAhPSBHcmFkaWVudERpcmVjdGlvbi5ET1dOID8gYGxpbmVhci1ncmFkaWVudCgke2RpcmVjdGlvbn0sJHt0aGlzLnNpbXBvQmFja2dyb3VuZC5jb2xvcn0sJHt0aGlzLnNpbXBvQmFja2dyb3VuZC5zZWNvbmRhcnlDb2xvcn0pYCA6XHJcbiAgICAgICAgICAgICAgICBgbGluZWFyLWdyYWRpZW50KCR7dGhpcy5zaW1wb0JhY2tncm91bmQuY29sb3J9LCR7dGhpcy5zaW1wb0JhY2tncm91bmQuc2Vjb25kYXJ5Q29sb3J9KWA7XHJcbiAgICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFxyXG4gICAgICAgICAgICAgICAgJ2JhY2tncm91bmQnLFxyXG4gICAgICAgICAgICAgICAgZ3JhZGllbnRDb2xvclxyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCdjb2xvcicsIHRoaXMuZ2V0VGV4dENvbG9yKGdyYWRpZW50Q29sb3IpKVxyXG5cclxuICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShcclxuICAgICAgICAgICAgICAnYmFja2dyb3VuZC1jb2xvcicsXHJcbiAgICAgICAgICAgICAgcmVzLmRhdGE/LmNvbG9yXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShcclxuICAgICAgICAgICAgICAnYmFja2dyb3VuZC1pbWFnZScsXHJcbiAgICAgICAgICAgICAgYHVybCgnJylgXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnYmFja2dyb3VuZC1zaXplJywgJ2NvdmVyJyk7XHJcbiAgICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnYmFja2dyb3VuZC1yZXBlYXQnLCAnbm8tcmVwZWF0Jyk7XHJcbiAgICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnYmFja2dyb3VuZC1wb3NpdGlvbicsICdjZW50ZXInKTtcclxuICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCdjb2xvcicsIHRoaXMuZ2V0VGV4dENvbG9yKHJlcy5kYXRhPy5jb2xvcikpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAodGhpcy5zaW1wb0JhY2tncm91bmQ/LmJhY2tncm91bmRBbmltYXRpb24gPT09ICdEQU5DSU5HX0RPVFMnKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcigndmlkZW8nKSlcclxuICAgICAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucmVtb3ZlQ2hpbGQodGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ3ZpZGVvJykpO1xyXG4gICAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoXHJcbiAgICAgICAgICAgICAgJ2JhY2tncm91bmQtaW1hZ2UnLFxyXG4gICAgICAgICAgICAgIGB1cmwoJ2h0dHBzOi8vZDJ5eDE1cG5jZ211NjMuY2xvdWRmcm9udC5uZXQvcHJvZC1pbWFnZXMvMTE2MDI2YzE3NDcxMjIyOTY0MDhBcnRib2FyZDEuZ2lmJylgXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAodGhpcy5zaW1wb0JhY2tncm91bmQ/LmJhY2tncm91bmRBbmltYXRpb24gPT09ICdTQ0FUVEVSSU5HX0RPVFMnKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcigndmlkZW8nKSlcclxuICAgICAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucmVtb3ZlQ2hpbGQodGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ3ZpZGVvJykpO1xyXG4gICAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoXHJcbiAgICAgICAgICAgICAgJ2JhY2tncm91bmQtaW1hZ2UnLFxyXG4gICAgICAgICAgICAgIGB1cmwoJ2h0dHBzOi8vZDJ5eDE1cG5jZ211NjMuY2xvdWRmcm9udC5uZXQvcHJvZC1pbWFnZXMvMjg3MzQ4YzE3NDcwNTE1NDAwODhXaGF0c0FwcFZpZGVvMjAyNS0wNS0xMmF0NS4xOS4xMVBNLWV6Z2lmLmNvbS12aWRlby10by1naWYtY29udmVydGVyICgxKS5naWYnKWBcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmICh0aGlzLnNpbXBvQmFja2dyb3VuZD8uYmFja2dyb3VuZEFuaW1hdGlvbiA9PT0gJ1dBVkVTJykge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ3ZpZGVvJykpXHJcbiAgICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnJlbW92ZUNoaWxkKHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCd2aWRlbycpKTtcclxuICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFxyXG4gICAgICAgICAgICAgICdiYWNrZ3JvdW5kLWltYWdlJyxcclxuICAgICAgICAgICAgICBgdXJsKCdodHRwczovL2QyeXgxNXBuY2dtdTYzLmNsb3VkZnJvbnQubmV0L3Byb2QtaW1hZ2VzLzYzMDc1M2MxNzQ3NDAzMjE3MjM5NjkxMzk5N19Nb3Rpb24lMjBHcmFwaGljc19Nb3Rpb24lMjBHcmFwaGljXzM4NDB4MjE2MCUyMCgxKSUyMCgyKS5naWYnKWBcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmICh0aGlzLnNpbXBvQmFja2dyb3VuZD8uYmFja2dyb3VuZEFuaW1hdGlvbiA9PT0gJ0FCU1RSQUNUJykge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ3ZpZGVvJykpXHJcbiAgICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnJlbW92ZUNoaWxkKHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCd2aWRlbycpKTtcclxuICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFxyXG4gICAgICAgICAgICAgICdiYWNrZ3JvdW5kLWltYWdlJyxcclxuICAgICAgICAgICAgICBgdXJsKCdodHRwczovL2QyeXgxNXBuY2dtdTYzLmNsb3VkZnJvbnQubmV0L3Byb2QtaW1hZ2VzLzU3NzUwN2MxNzQ3NDY1NjM2OTU2Um90YXRpb24lMjBnaWYuZ2lmJylgXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAodGhpcy5zaW1wb0JhY2tncm91bmQ/LmJhY2tncm91bmRBbmltYXRpb24gPT09ICdEUkVXJykge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ3ZpZGVvJykpXHJcbiAgICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnJlbW92ZUNoaWxkKHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCd2aWRlbycpKTtcclxuICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFxyXG4gICAgICAgICAgICAgICdiYWNrZ3JvdW5kLWltYWdlJyxcclxuICAgICAgICAgICAgICBgdXJsKCdodHRwczovL2QyeXgxNXBuY2dtdTYzLmNsb3VkZnJvbnQubmV0L3Byb2QtaW1hZ2VzLzcyMTI0NGMxNzQ3NDY3Njk4MDA0YW5pbWF0ZS5naWYnKWBcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmICh0aGlzLnNpbXBvQmFja2dyb3VuZD8uYmFja2dyb3VuZEFuaW1hdGlvbiA9PT0gJ0RPVFMnKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcigndmlkZW8nKSlcclxuICAgICAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucmVtb3ZlQ2hpbGQodGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ3ZpZGVvJykpO1xyXG4gICAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoXHJcbiAgICAgICAgICAgICAgJ2JhY2tncm91bmQtaW1hZ2UnLFxyXG4gICAgICAgICAgICAgIGB1cmwoJ2h0dHBzOi8vZDJ5eDE1cG5jZ211NjMuY2xvdWRmcm9udC5uZXQvcHJvZC1pbWFnZXMvNjU5MTM0YzE3NDc0Njc4MDEyNDJEb3RzJTIwKDEpLmdpZicpYFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKHRoaXMuc2ltcG9CYWNrZ3JvdW5kPy5iYWNrZ3JvdW5kQW5pbWF0aW9uKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnYmFja2dyb3VuZC1zaXplJywgJ2NvdmVyJyk7XHJcbiAgICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnYmFja2dyb3VuZC1yZXBlYXQnLCAnbm8tcmVwZWF0Jyk7XHJcbiAgICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnYmFja2dyb3VuZC1wb3NpdGlvbicsICdjZW50ZXInKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIClcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICBpZiAodGhpcy5ldmVudEVtbWl0dGVyKSB7XHJcbiAgICAgIHRoaXMuZXZlbnRFbW1pdHRlci51bnN1YnNjcmliZSgpXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2U6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnY29sb3InLCB0aGlzLmdldFRleHRDb2xvcih0aGlzLnNpbXBvQmFja2dyb3VuZD8uY29sb3IgPyB0aGlzLnNpbXBvQmFja2dyb3VuZD8uY29sb3IgOiAnI2ZmZmZmZicpKVxyXG4gICAgaWYgKHRoaXMuc2ltcG9CYWNrZ3JvdW5kPy5zaG93SW1hZ2UpIHtcclxuICAgICAgLy8gaWYgKHRoaXMuc2ltcG9CYWNrZ3JvdW5kPy5pbWFnZS5pbmNsdWRlcygnLm1wNCcpKSB7XHJcbiAgICAgIC8vICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCdiYWNrZ3JvdW5kLWltYWdlJywgJycpO1xyXG4gICAgICAvLyAgIGNvbnN0IHZpZGVvRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3ZpZGVvJyk7XHJcbiAgICAgIC8vICAgdmlkZW9FbGVtZW50LnNyYyA9IHRoaXMuc2ltcG9CYWNrZ3JvdW5kLmltYWdlO1xyXG4gICAgICAvLyAgIHZpZGVvRWxlbWVudC5hdXRvcGxheSA9IHRydWU7XHJcbiAgICAgIC8vICAgdmlkZW9FbGVtZW50Lmxvb3AgPSB0cnVlO1xyXG4gICAgICAvLyAgIHZpZGVvRWxlbWVudC5tdXRlZCA9IHRydWU7XHJcbiAgICAgIC8vICAgdmlkZW9FbGVtZW50LnBsYXlzSW5saW5lID0gdHJ1ZTtcclxuICAgICAgLy8gICAvLyBTdHlsZSB0aGUgdmlkZW8gZWxlbWVudFxyXG4gICAgICAvLyAgIHZpZGVvRWxlbWVudC5zdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7XHJcbiAgICAgIC8vICAgdmlkZW9FbGVtZW50LnN0eWxlLnJpZ2h0ID0gJzAnO1xyXG4gICAgICAvLyAgIHZpZGVvRWxlbWVudC5zdHlsZS5ib3R0b20gPSAnMCc7XHJcbiAgICAgIC8vICAgdmlkZW9FbGVtZW50LnN0eWxlLm1pbldpZHRoID0gJzEwMCUnO1xyXG4gICAgICAvLyAgIHZpZGVvRWxlbWVudC5zdHlsZS5taW5IZWlnaHQgPSAnMTAwJSc7XHJcbiAgICAgIC8vICAgdmlkZW9FbGVtZW50LnN0eWxlLndpZHRoID0gJzEwMCUnO1xyXG4gICAgICAvLyAgIHZpZGVvRWxlbWVudC5zdHlsZS5oZWlnaHQgPSAnMTAwJSc7XHJcbiAgICAgIC8vICAgdmlkZW9FbGVtZW50LnN0eWxlLnpJbmRleCA9ICctMSc7XHJcbiAgICAgIC8vICAgdmlkZW9FbGVtZW50LnN0eWxlLm9iamVjdEZpdCA9ICdjb3Zlcic7XHJcbiAgICAgIC8vICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LmFwcGVuZENoaWxkKHZpZGVvRWxlbWVudCk7XHJcbiAgICAgIC8vICAgcmV0dXJuO1xyXG4gICAgICAvLyB9XHJcbiAgICAgIGlmICh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcigndmlkZW8nKSlcclxuICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucmVtb3ZlQ2hpbGQodGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ3ZpZGVvJykpO1xyXG4gICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoXHJcbiAgICAgICAgJ2JhY2tncm91bmQtaW1hZ2UnLFxyXG4gICAgICAgIGB1cmwoJHt0aGlzLnNpbXBvQmFja2dyb3VuZC5pbWFnZX0pYFxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoXHJcbiAgICAgICAgJ2JhY2tncm91bmQtcG9zaXRpb24nLFxyXG4gICAgICAgIGAke3RoaXMuc2ltcG9CYWNrZ3JvdW5kLnBvc2l0aW9uPy54fSUgJHt0aGlzLnNpbXBvQmFja2dyb3VuZC5wb3NpdGlvbj8ueX0lYFxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJ2JhY2tncm91bmQtcmVwZWF0JywgYG5vLXJlcGVhdGApO1xyXG4gICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJ2JhY2tncm91bmQtc2l6ZScsIGBjb3ZlcmApO1xyXG4gICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJ2NvbG9yJywgdGhpcy5nZXRUZXh0Q29sb3IodGhpcy5zaW1wb0JhY2tncm91bmQ/LmNvbG9yID8gdGhpcy5zaW1wb0JhY2tncm91bmQ/LmNvbG9yIDogJyNmZmZmZmYnKSlcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmICh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcigndmlkZW8nKSlcclxuICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucmVtb3ZlQ2hpbGQodGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ3ZpZGVvJykpO1xyXG4gICAgICBpZiAodGhpcy5zaW1wb0JhY2tncm91bmQ/LmJhY2tncm91bmRUeXBlID09PSAoJ0dyYWRpZW50JyBhcyBCQUNLR1JPVU5EX1RZUEUpICYmIHRoaXMuc2ltcG9CYWNrZ3JvdW5kPy5iYWNrZ3JvdW5kQW5pbWF0aW9uID09ICdOT05FJykge1xyXG4gICAgICAgIGNvbnN0IGRpcmVjdGlvbiA9IEdyYWRpZW50RGlyZWN0aW9uW3RoaXMuc2ltcG9CYWNrZ3JvdW5kLmJhY2tncm91bmRHcmFkaWVudERpcmVjdGlvbiBhcyB1bmtub3duIGFzIGtleW9mIHR5cGVvZiBHcmFkaWVudERpcmVjdGlvbiB8fCBHcmFkaWVudERpcmVjdGlvbi5ET1dOXTtcclxuICAgICAgICBjb25zdCBncmFkaWVudENvbG9yID0gZGlyZWN0aW9uICE9IEdyYWRpZW50RGlyZWN0aW9uLkRPV04gPyBgbGluZWFyLWdyYWRpZW50KCR7ZGlyZWN0aW9ufSwke3RoaXMuc2ltcG9CYWNrZ3JvdW5kLmNvbG9yfSwke3RoaXMuc2ltcG9CYWNrZ3JvdW5kLnNlY29uZGFyeUNvbG9yfSlgIDpcclxuICAgICAgICAgIGBsaW5lYXItZ3JhZGllbnQoJHt0aGlzLnNpbXBvQmFja2dyb3VuZC5jb2xvcn0sJHt0aGlzLnNpbXBvQmFja2dyb3VuZC5zZWNvbmRhcnlDb2xvcn0pYDtcclxuICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoXHJcbiAgICAgICAgICAnYmFja2dyb3VuZCcsXHJcbiAgICAgICAgICBncmFkaWVudENvbG9yXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJ2NvbG9yJywgdGhpcy5nZXRUZXh0Q29sb3IoZ3JhZGllbnRDb2xvcikpXHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIHRoaXMuZWwubmF0aXZlRWxlbWVudC5yZW1vdmVDaGlsZCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcigndmlkZW8nKSk7XHJcbiAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShcclxuICAgICAgICAnYmFja2dyb3VuZC1jb2xvcicsXHJcbiAgICAgICAgdGhpcy5zaW1wb0JhY2tncm91bmQ/LmNvbG9yXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShcclxuICAgICAgICAnYmFja2dyb3VuZC1pbWFnZScsXHJcbiAgICAgICAgYGBcclxuICAgICAgKTtcclxuICAgICAgaWYgKHRoaXMuc2ltcG9CYWNrZ3JvdW5kPy5iYWNrZ3JvdW5kQW5pbWF0aW9uID09PSAnREFOQ0lOR19ET1RTJykge1xyXG4gICAgICAgIGlmICh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcigndmlkZW8nKSlcclxuICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5yZW1vdmVDaGlsZCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcigndmlkZW8nKSk7XHJcbiAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFxyXG4gICAgICAgICAgJ2JhY2tncm91bmQtaW1hZ2UnLFxyXG4gICAgICAgICAgYHVybCgnaHR0cHM6Ly9kMnl4MTVwbmNnbXU2My5jbG91ZGZyb250Lm5ldC9wcm9kLWltYWdlcy8xMTYwMjZjMTc0NzEyMjI5NjQwOEFydGJvYXJkMS5naWYnKWBcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLnNpbXBvQmFja2dyb3VuZD8uYmFja2dyb3VuZEFuaW1hdGlvbiA9PT0gJ1NDQVRURVJJTkdfRE9UUycpIHtcclxuICAgICAgICBpZiAodGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ3ZpZGVvJykpXHJcbiAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucmVtb3ZlQ2hpbGQodGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ3ZpZGVvJykpO1xyXG4gICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShcclxuICAgICAgICAgICdiYWNrZ3JvdW5kLWltYWdlJyxcclxuICAgICAgICAgIGB1cmwoJ2h0dHBzOi8vZDJ5eDE1cG5jZ211NjMuY2xvdWRmcm9udC5uZXQvcHJvZC1pbWFnZXMvMjg3MzQ4YzE3NDcwNTE1NDAwODhXaGF0c0FwcFZpZGVvMjAyNS0wNS0xMmF0NS4xOS4xMVBNLWV6Z2lmLmNvbS12aWRlby10by1naWYtY29udmVydGVyICgxKS5naWYnKWBcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLnNpbXBvQmFja2dyb3VuZD8uYmFja2dyb3VuZEFuaW1hdGlvbiA9PT0gJ1dBVkVTJykge1xyXG4gICAgICAgIGlmICh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcigndmlkZW8nKSlcclxuICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5yZW1vdmVDaGlsZCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcigndmlkZW8nKSk7XHJcbiAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFxyXG4gICAgICAgICAgJ2JhY2tncm91bmQtaW1hZ2UnLFxyXG4gICAgICAgICAgYHVybCgnaHR0cHM6Ly9kMnl4MTVwbmNnbXU2My5jbG91ZGZyb250Lm5ldC9wcm9kLWltYWdlcy82MzA3NTNjMTc0NzQwMzIxNzIzOTY5MTM5OTdfTW90aW9uJTIwR3JhcGhpY3NfTW90aW9uJTIwR3JhcGhpY18zODQweDIxNjAlMjAoMSklMjAoMikuZ2lmJylgXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5zaW1wb0JhY2tncm91bmQ/LmJhY2tncm91bmRBbmltYXRpb24gPT09ICdBQlNUUkFDVCcpIHtcclxuICAgICAgICBpZiAodGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ3ZpZGVvJykpXHJcbiAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucmVtb3ZlQ2hpbGQodGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ3ZpZGVvJykpO1xyXG4gICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShcclxuICAgICAgICAgICdiYWNrZ3JvdW5kLWltYWdlJyxcclxuICAgICAgICAgIGB1cmwoJ2h0dHBzOi8vZDJ5eDE1cG5jZ211NjMuY2xvdWRmcm9udC5uZXQvcHJvZC1pbWFnZXMvNTc3NTA3YzE3NDc0NjU2MzY5NTZSb3RhdGlvbiUyMGdpZi5naWYnKWBcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLnNpbXBvQmFja2dyb3VuZD8uYmFja2dyb3VuZEFuaW1hdGlvbiA9PT0gJ0RSRVcnKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCd2aWRlbycpKVxyXG4gICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnJlbW92ZUNoaWxkKHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCd2aWRlbycpKTtcclxuICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoXHJcbiAgICAgICAgICAnYmFja2dyb3VuZC1pbWFnZScsXHJcbiAgICAgICAgICBgdXJsKCdodHRwczovL2QyeXgxNXBuY2dtdTYzLmNsb3VkZnJvbnQubmV0L3Byb2QtaW1hZ2VzLzcyMTI0NGMxNzQ3NDY3Njk4MDA0YW5pbWF0ZS5naWYnKWBcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLnNpbXBvQmFja2dyb3VuZD8uYmFja2dyb3VuZEFuaW1hdGlvbiA9PT0gJ0RPVFMnKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCd2aWRlbycpKVxyXG4gICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnJlbW92ZUNoaWxkKHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCd2aWRlbycpKTtcclxuICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoXHJcbiAgICAgICAgICAnYmFja2dyb3VuZC1pbWFnZScsXHJcbiAgICAgICAgICBgdXJsKCdodHRwczovL2QyeXgxNXBuY2dtdTYzLmNsb3VkZnJvbnQubmV0L3Byb2QtaW1hZ2VzLzY1OTEzNGMxNzQ3NDY3ODAxMjQyRG90cyUyMCgxKS5naWYnKWBcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLnNpbXBvQmFja2dyb3VuZD8uYmFja2dyb3VuZEFuaW1hdGlvbikge1xyXG4gICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnYmFja2dyb3VuZC1zaXplJywgJ2NvdmVyJyk7XHJcbiAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCdiYWNrZ3JvdW5kLXJlcGVhdCcsICduby1yZXBlYXQnKTtcclxuICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJ2JhY2tncm91bmQtcG9zaXRpb24nLCAnY2VudGVyJyk7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0VGV4dENvbG9yKGJnQ29sb3I6IHN0cmluZykge1xyXG4gICAgaWYgKGJnQ29sb3IpIHtcclxuICAgICAgY29uc3QgdGhyZXNob2xkID0gMTMwOyAvLyBBZGp1c3QgdGhpcyB0aHJlc2hvbGQgYXMgbmVlZGVkXHJcbiAgICAgIGNvbnN0IHIgPSBwYXJzZUludChiZ0NvbG9yLnNsaWNlKDEsIDMpLCAxNik7XHJcbiAgICAgIGNvbnN0IGcgPSBwYXJzZUludChiZ0NvbG9yLnNsaWNlKDMsIDUpLCAxNik7XHJcbiAgICAgIGNvbnN0IGIgPSBwYXJzZUludChiZ0NvbG9yLnNsaWNlKDUsIDcpLCAxNik7XHJcbiAgICAgIGNvbnN0IGJyaWdodG5lc3MgPSAociAqIDI5OSArIGcgKiA1ODcgKyBiICogMTE0KSAvIDEwMDA7XHJcblxyXG4gICAgICByZXR1cm4gYnJpZ2h0bmVzcyA+IHRocmVzaG9sZCA/ICcjMDAwMDAwJyA6ICcjZmZmZmZmJztcclxuICAgIH1cclxuICAgIHJldHVybiBcIiNmZmZmZmY7XCJcclxuICB9XHJcbn1cclxuIl19
@@ -17,28 +17,28 @@ export class SpacingHorizontalDirective {
17
17
  }
18
18
  }
19
19
  changeHorizontalSpacing() {
20
- if (window.innerWidth <= 475) {
21
- if (this.layout?.spacingHorizontal == "none") {
22
- this.el.nativeElement.style.setProperty("padding", "0rem");
23
- return;
24
- }
25
- this.el.nativeElement.style.setProperty("padding-left", '1rem');
26
- this.el.nativeElement.style.setProperty("padding-right", '1rem');
27
- if (!this.isHeader) {
28
- this.el.nativeElement.style.setProperty("padding-top", '0.8rem');
29
- this.el.nativeElement.style.setProperty("padding-bottom", '0.8rem');
30
- }
31
- }
32
- else if (window.innerWidth > 475 && window.innerWidth <= 1024) {
33
- this.el.nativeElement.style.setProperty("padding-left", SPACINGALIGN.small);
34
- this.el.nativeElement.style.setProperty("padding-right", SPACINGALIGN.small);
35
- this.el.nativeElement.style.setProperty("padding-top", '0.8rem');
36
- this.el.nativeElement.style.setProperty("padding-bottom", '0.8rem');
37
- }
38
- else {
39
- this.el.nativeElement.style.setProperty("padding-left", SPACINGALIGN[this.layout?.spacingHorizontal]);
40
- this.el.nativeElement.style.setProperty("padding-right", SPACINGALIGN[this.layout?.spacingHorizontal]);
41
- }
20
+ // if (window.innerWidth <= 475) {
21
+ // if(this.layout?.spacingHorizontal == "none") {
22
+ // this.el.nativeElement.style.setProperty("padding","0rem")
23
+ // return;
24
+ // }
25
+ // this.el.nativeElement.style.setProperty("padding-left", '1rem');
26
+ // this.el.nativeElement.style.setProperty("padding-right", '1rem');
27
+ // if(!this.isHeader) {
28
+ // this.el.nativeElement.style.setProperty("padding-top", '0.8rem');
29
+ // this.el.nativeElement.style.setProperty("padding-bottom", '0.8rem');
30
+ // }
31
+ // }
32
+ // else if (window.innerWidth > 475 && window.innerWidth <= 1024) {
33
+ // this.el.nativeElement.style.setProperty("padding-left", SPACINGALIGN.small);
34
+ // this.el.nativeElement.style.setProperty("padding-right", SPACINGALIGN.small);
35
+ // this.el.nativeElement.style.setProperty("padding-top", '0.8rem');
36
+ // this.el.nativeElement.style.setProperty("padding-bottom", '0.8rem');
37
+ // }
38
+ // else {
39
+ this.el.nativeElement.style.setProperty("padding-left", SPACINGALIGN[this.layout?.spacingHorizontal]);
40
+ this.el.nativeElement.style.setProperty("padding-right", SPACINGALIGN[this.layout?.spacingHorizontal]);
41
+ // }
42
42
  }
43
43
  positionLayoutChangeCheck() {
44
44
  this.positionLayoutSubscription = this.eventService.postionLayoutChangeChecks.subscribe((res) => {
@@ -64,4 +64,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
64
64
  type: Input,
65
65
  args: ['isHeader']
66
66
  }] } });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BhY2luZy1ob3Jpem9udGFsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvZGlyZWN0aXZlL3NwYWNpbmctaG9yaXpvbnRhbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFdBQVcsQ0FBQzs7O0FBUXpDLE1BQU0sT0FBTywwQkFBMEI7SUFJckMsWUFBb0IsRUFBYyxFQUN4QixZQUEyQjtRQURqQixPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ3hCLGlCQUFZLEdBQVosWUFBWSxDQUFlO1FBQ2pDLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFSCxXQUFXO1FBQ1QsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFHLElBQUksQ0FBQywwQkFBMEIsRUFBQyxDQUFDO1lBQ2xDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNoRCxDQUFDO0lBQ0gsQ0FBQztJQUVELHVCQUF1QjtRQUNyQixJQUFJLE1BQU0sQ0FBQyxVQUFVLElBQUksR0FBRyxFQUFFLENBQUM7WUFDN0IsSUFBRyxJQUFJLENBQUMsTUFBTSxFQUFFLGlCQUFpQixJQUFJLE1BQU0sRUFBRSxDQUFDO2dCQUM1QyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBQyxNQUFNLENBQUMsQ0FBQTtnQkFDekQsT0FBTztZQUNULENBQUM7WUFDRCxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUNoRSxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUNqRSxJQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNsQixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDakUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUN0RSxDQUFDO1FBQ0gsQ0FBQzthQUNJLElBQUksTUFBTSxDQUFDLFVBQVUsR0FBRyxHQUFHLElBQUksTUFBTSxDQUFDLFVBQVUsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUM5RCxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzdFLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQ2pFLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDdEUsQ0FBQzthQUNJLENBQUM7WUFDSixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxpQkFBOEMsQ0FBQyxDQUFDLENBQUM7WUFDbkksSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsaUJBQThDLENBQUMsQ0FBQyxDQUFDO1FBQ3RJLENBQUM7SUFDSCxDQUFDO0lBS0QseUJBQXlCO1FBQ3ZCLElBQUksQ0FBQywwQkFBMEIsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLHlCQUF5QixDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQU8sRUFBRSxFQUFFO1lBQ2xHLElBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEVBQUMsQ0FBQztnQkFDdEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDO2dCQUN2QixJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztZQUNqQyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDOytHQXREVSwwQkFBMEI7bUdBQTFCLDBCQUEwQjs7NEZBQTFCLDBCQUEwQjtrQkFKdEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixVQUFVLEVBQUUsSUFBSTtpQkFDakI7MkdBRTZCLE1BQU07c0JBQWpDLEtBQUs7dUJBQUMsbUJBQW1CO2dCQUNQLFFBQVE7c0JBQTFCLEtBQUs7dUJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEV2ZW50c1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9ldmVudHMuc2VydmljZSc7XG5pbXBvcnQgeyBTUEFDSU5HQUxJR04gfSBmcm9tICcuLi9zdHlsZXMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMYXlPdXRNb2RlbCB9IGZyb20gJy4uL3N0eWxlcy9zdHlsZS5tb2RlbCc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tzcGFjaW5nSG9yaXpvbnRhbF0nLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFNwYWNpbmdIb3Jpem9udGFsRGlyZWN0aXZlIHtcbiAgQElucHV0KCdzcGFjaW5nSG9yaXpvbnRhbCcpIGxheW91dD86IExheU91dE1vZGVsO1xuICBASW5wdXQoJ2lzSGVhZGVyJykgaXNIZWFkZXI/OmJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIGV2ZW50U2VydmljZSA6RXZlbnRzU2VydmljZSkge1xuICAgICAgdGhpcy5wb3NpdGlvbkxheW91dENoYW5nZUNoZWNrKCk7XG4gICAgfVxuXG4gIG5nT25DaGFuZ2VzKCl7XG4gICAgdGhpcy5jaGFuZ2VIb3Jpem9udGFsU3BhY2luZygpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKXtcbiAgICBpZih0aGlzLnBvc2l0aW9uTGF5b3V0U3Vic2NyaXB0aW9uKXtcbiAgICAgIHRoaXMucG9zaXRpb25MYXlvdXRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBjaGFuZ2VIb3Jpem9udGFsU3BhY2luZygpIHtcbiAgICBpZiAod2luZG93LmlubmVyV2lkdGggPD0gNDc1KSB7XG4gICAgICBpZih0aGlzLmxheW91dD8uc3BhY2luZ0hvcml6b250YWwgPT0gXCJub25lXCIpIHtcbiAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFwicGFkZGluZ1wiLFwiMHJlbVwiKVxuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoXCJwYWRkaW5nLWxlZnRcIiwgJzFyZW0nKTtcbiAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShcInBhZGRpbmctcmlnaHRcIiwgJzFyZW0nKTtcbiAgICAgIGlmKCF0aGlzLmlzSGVhZGVyKSB7XG4gICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShcInBhZGRpbmctdG9wXCIsICcwLjhyZW0nKTtcbiAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFwicGFkZGluZy1ib3R0b21cIiwgJzAuOHJlbScpO1xuICAgICAgfVxuICAgIH1cbiAgICBlbHNlIGlmICh3aW5kb3cuaW5uZXJXaWR0aCA+IDQ3NSAmJiB3aW5kb3cuaW5uZXJXaWR0aCA8PSAxMDI0KSB7XG4gICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoXCJwYWRkaW5nLWxlZnRcIiwgU1BBQ0lOR0FMSUdOLnNtYWxsKTtcbiAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShcInBhZGRpbmctcmlnaHRcIiwgU1BBQ0lOR0FMSUdOLnNtYWxsKTtcbiAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShcInBhZGRpbmctdG9wXCIsICcwLjhyZW0nKTtcbiAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShcInBhZGRpbmctYm90dG9tXCIsICcwLjhyZW0nKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoXCJwYWRkaW5nLWxlZnRcIiwgU1BBQ0lOR0FMSUdOW3RoaXMubGF5b3V0Py5zcGFjaW5nSG9yaXpvbnRhbCBhcyBrZXlvZiB0eXBlb2YgU1BBQ0lOR0FMSUdOXSk7XG4gICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoXCJwYWRkaW5nLXJpZ2h0XCIsIFNQQUNJTkdBTElHTlt0aGlzLmxheW91dD8uc3BhY2luZ0hvcml6b250YWwgYXMga2V5b2YgdHlwZW9mIFNQQUNJTkdBTElHTl0pO1xuICAgIH1cbiAgfVxuXG5cblxuICBwb3NpdGlvbkxheW91dFN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcbiAgcG9zaXRpb25MYXlvdXRDaGFuZ2VDaGVjaygpe1xuICAgIHRoaXMucG9zaXRpb25MYXlvdXRTdWJzY3JpcHRpb24gPSB0aGlzLmV2ZW50U2VydmljZS5wb3N0aW9uTGF5b3V0Q2hhbmdlQ2hlY2tzLnN1YnNjcmliZSgocmVzOmFueSkgPT4ge1xuICAgICAgaWYodGhpcy5lbC5uYXRpdmVFbGVtZW50LmlkID09PSByZXMuaWQpe1xuICAgICAgICB0aGlzLmxheW91dCA9IHJlcy5kYXRhO1xuICAgICAgICB0aGlzLmNoYW5nZUhvcml6b250YWxTcGFjaW5nKCk7XG4gICAgICB9XG4gICAgfSlcbiAgfVxufVxuIl19
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BhY2luZy1ob3Jpem9udGFsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvZGlyZWN0aXZlL3NwYWNpbmctaG9yaXpvbnRhbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFdBQVcsQ0FBQzs7O0FBUXpDLE1BQU0sT0FBTywwQkFBMEI7SUFJckMsWUFBb0IsRUFBYyxFQUN4QixZQUEyQjtRQURqQixPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ3hCLGlCQUFZLEdBQVosWUFBWSxDQUFlO1FBQ2pDLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFSCxXQUFXO1FBQ1QsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFHLElBQUksQ0FBQywwQkFBMEIsRUFBQyxDQUFDO1lBQ2xDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNoRCxDQUFDO0lBQ0gsQ0FBQztJQUVELHVCQUF1QjtRQUNyQixrQ0FBa0M7UUFDbEMsbURBQW1EO1FBQ25ELGdFQUFnRTtRQUNoRSxjQUFjO1FBQ2QsTUFBTTtRQUNOLHFFQUFxRTtRQUNyRSxzRUFBc0U7UUFDdEUseUJBQXlCO1FBQ3pCLHdFQUF3RTtRQUN4RSwyRUFBMkU7UUFDM0UsTUFBTTtRQUNOLElBQUk7UUFDSixtRUFBbUU7UUFDbkUsaUZBQWlGO1FBQ2pGLGtGQUFrRjtRQUNsRixzRUFBc0U7UUFDdEUseUVBQXlFO1FBQ3pFLElBQUk7UUFDSixTQUFTO1FBQ1AsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsaUJBQThDLENBQUMsQ0FBQyxDQUFDO1FBQ25JLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsZUFBZSxFQUFFLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLGlCQUE4QyxDQUFDLENBQUMsQ0FBQztRQUN0SSxJQUFJO0lBQ04sQ0FBQztJQUtELHlCQUF5QjtRQUN2QixJQUFJLENBQUMsMEJBQTBCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyx5QkFBeUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFPLEVBQUUsRUFBRTtZQUNsRyxJQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsS0FBSyxHQUFHLENBQUMsRUFBRSxFQUFDLENBQUM7Z0JBQ3RDLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQztnQkFDdkIsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7WUFDakMsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQzsrR0F0RFUsMEJBQTBCO21HQUExQiwwQkFBMEI7OzRGQUExQiwwQkFBMEI7a0JBSnRDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzJHQUU2QixNQUFNO3NCQUFqQyxLQUFLO3VCQUFDLG1CQUFtQjtnQkFDUCxRQUFRO3NCQUExQixLQUFLO3VCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFdmVudHNTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZXZlbnRzLnNlcnZpY2UnO1xuaW1wb3J0IHsgU1BBQ0lOR0FMSUdOIH0gZnJvbSAnLi4vc3R5bGVzJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTGF5T3V0TW9kZWwgfSBmcm9tICcuLi9zdHlsZXMvc3R5bGUubW9kZWwnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbc3BhY2luZ0hvcml6b250YWxdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBTcGFjaW5nSG9yaXpvbnRhbERpcmVjdGl2ZSB7XG4gIEBJbnB1dCgnc3BhY2luZ0hvcml6b250YWwnKSBsYXlvdXQ/OiBMYXlPdXRNb2RlbDtcbiAgQElucHV0KCdpc0hlYWRlcicpIGlzSGVhZGVyPzpib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBldmVudFNlcnZpY2UgOkV2ZW50c1NlcnZpY2UpIHtcbiAgICAgIHRoaXMucG9zaXRpb25MYXlvdXRDaGFuZ2VDaGVjaygpO1xuICAgIH1cblxuICBuZ09uQ2hhbmdlcygpe1xuICAgIHRoaXMuY2hhbmdlSG9yaXpvbnRhbFNwYWNpbmcoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCl7XG4gICAgaWYodGhpcy5wb3NpdGlvbkxheW91dFN1YnNjcmlwdGlvbil7XG4gICAgICB0aGlzLnBvc2l0aW9uTGF5b3V0U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgY2hhbmdlSG9yaXpvbnRhbFNwYWNpbmcoKSB7XG4gICAgLy8gaWYgKHdpbmRvdy5pbm5lcldpZHRoIDw9IDQ3NSkge1xuICAgIC8vICAgaWYodGhpcy5sYXlvdXQ/LnNwYWNpbmdIb3Jpem9udGFsID09IFwibm9uZVwiKSB7XG4gICAgLy8gICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShcInBhZGRpbmdcIixcIjByZW1cIilcbiAgICAvLyAgICAgcmV0dXJuO1xuICAgIC8vICAgfVxuICAgIC8vICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFwicGFkZGluZy1sZWZ0XCIsICcxcmVtJyk7XG4gICAgLy8gICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoXCJwYWRkaW5nLXJpZ2h0XCIsICcxcmVtJyk7XG4gICAgLy8gICBpZighdGhpcy5pc0hlYWRlcikge1xuICAgIC8vICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoXCJwYWRkaW5nLXRvcFwiLCAnMC44cmVtJyk7XG4gICAgLy8gICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShcInBhZGRpbmctYm90dG9tXCIsICcwLjhyZW0nKTtcbiAgICAvLyAgIH1cbiAgICAvLyB9XG4gICAgLy8gZWxzZSBpZiAod2luZG93LmlubmVyV2lkdGggPiA0NzUgJiYgd2luZG93LmlubmVyV2lkdGggPD0gMTAyNCkge1xuICAgIC8vICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFwicGFkZGluZy1sZWZ0XCIsIFNQQUNJTkdBTElHTi5zbWFsbCk7XG4gICAgLy8gICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoXCJwYWRkaW5nLXJpZ2h0XCIsIFNQQUNJTkdBTElHTi5zbWFsbCk7XG4gICAgLy8gICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoXCJwYWRkaW5nLXRvcFwiLCAnMC44cmVtJyk7XG4gICAgLy8gICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoXCJwYWRkaW5nLWJvdHRvbVwiLCAnMC44cmVtJyk7XG4gICAgLy8gfVxuICAgIC8vIGVsc2Uge1xuICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFwicGFkZGluZy1sZWZ0XCIsIFNQQUNJTkdBTElHTlt0aGlzLmxheW91dD8uc3BhY2luZ0hvcml6b250YWwgYXMga2V5b2YgdHlwZW9mIFNQQUNJTkdBTElHTl0pO1xuICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFwicGFkZGluZy1yaWdodFwiLCBTUEFDSU5HQUxJR05bdGhpcy5sYXlvdXQ/LnNwYWNpbmdIb3Jpem9udGFsIGFzIGtleW9mIHR5cGVvZiBTUEFDSU5HQUxJR05dKTtcbiAgICAvLyB9XG4gIH1cblxuXG5cbiAgcG9zaXRpb25MYXlvdXRTdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XG4gIHBvc2l0aW9uTGF5b3V0Q2hhbmdlQ2hlY2soKXtcbiAgICB0aGlzLnBvc2l0aW9uTGF5b3V0U3Vic2NyaXB0aW9uID0gdGhpcy5ldmVudFNlcnZpY2UucG9zdGlvbkxheW91dENoYW5nZUNoZWNrcy5zdWJzY3JpYmUoKHJlczphbnkpID0+IHtcbiAgICAgIGlmKHRoaXMuZWwubmF0aXZlRWxlbWVudC5pZCA9PT0gcmVzLmlkKXtcbiAgICAgICAgdGhpcy5sYXlvdXQgPSByZXMuZGF0YTtcbiAgICAgICAgdGhpcy5jaGFuZ2VIb3Jpem9udGFsU3BhY2luZygpO1xuICAgICAgfVxuICAgIH0pXG4gIH1cbn1cbiJdfQ==