simpo-component-library 3.6.815 → 3.6.817
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/directive/merge-header.directive.mjs +7 -21
- package/esm2022/lib/directive/sticky-directive.mjs +8 -19
- package/esm2022/lib/ecommerce/sections/cart/cart.component.mjs +8 -9
- package/esm2022/lib/elements/below-image-card/below-image-card.component.mjs +3 -3
- package/esm2022/lib/sections/banner-section/banner-section.component.mjs +3 -3
- package/esm2022/lib/sections/choose-us-section/choose-us-section.component.mjs +3 -3
- package/esm2022/lib/sections/header-section/header-section.component.mjs +62 -53
- package/esm2022/lib/sections/header-section/header-section.model.mjs +1 -1
- package/esm2022/lib/sections/testimonial-slider/testimonial-slider.component.mjs +3 -3
- package/esm2022/lib/services/events.service.mjs +2 -1
- package/esm2022/lib/services/rest.service.mjs +4 -1
- package/esm2022/lib/styles/index.mjs +6 -1
- package/fesm2022/simpo-component-library.mjs +96 -102
- package/fesm2022/simpo-component-library.mjs.map +1 -1
- package/lib/components/input-fields/input-fields.component.d.ts +1 -1
- package/lib/directive/merge-header.directive.d.ts +3 -7
- package/lib/directive/sticky-directive.d.ts +2 -4
- package/lib/ecommerce/sections/authentication-required/authentication-required.component.d.ts +1 -1
- package/lib/ecommerce/sections/featured-category/featured-category.component.d.ts +1 -1
- package/lib/ecommerce/sections/featured-category/featured-collection.component.d.ts +1 -1
- package/lib/ecommerce/sections/new-collection/new-collection.component.d.ts +1 -1
- package/lib/ecommerce/sections/product-desc/product-desc.component.d.ts +1 -1
- package/lib/ecommerce/sections/schemes/schemes.component.d.ts +1 -1
- package/lib/elements/link-editor/link-editor.component.d.ts +1 -1
- package/lib/sections/banner-carousel/banner-carousel.component.d.ts +2 -2
- package/lib/sections/carousel-banner/carousel-banner.component.d.ts +1 -1
- package/lib/sections/contact-us/contact-us.component.d.ts +1 -1
- package/lib/sections/faq-columns-cards/faq-columns-cards.component.d.ts +1 -1
- package/lib/sections/faq-section/faq-section.component.d.ts +1 -1
- package/lib/sections/header-section/header-section.component.d.ts +13 -9
- package/lib/sections/header-section/header-section.model.d.ts +2 -1
- package/lib/sections/image-grid-hotspot/image-grid-hotspot.component.d.ts +1 -1
- package/lib/sections/image-grid-section/image-grid-section.component.d.ts +1 -1
- package/lib/sections/image-section/image-section.component.d.ts +2 -2
- package/lib/sections/logo-showcase/logo-showcase.component.d.ts +2 -2
- package/lib/sections/new-testimonials/new-testimonials.component.d.ts +1 -1
- package/lib/sections/pricing-section/pricing-section.component.d.ts +2 -2
- package/lib/services/events.service.d.ts +1 -0
- package/lib/services/rest.service.d.ts +1 -0
- package/lib/styles/index.d.ts +4 -0
- package/package.json +1 -1
- package/simpo-component-library-3.6.817.tgz +0 -0
- package/simpo-component-library-3.6.815.tgz +0 -0
|
@@ -1,33 +1,22 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Directive, Inject, Input, PLATFORM_ID } from '@angular/core';
|
|
1
|
+
import { Directive, Input } from '@angular/core';
|
|
3
2
|
import * as i0 from "@angular/core";
|
|
4
3
|
import * as i1 from "../services/events.service";
|
|
5
4
|
export class MergeHeaderDirective {
|
|
6
|
-
constructor(eventsService, el
|
|
5
|
+
constructor(eventsService, el) {
|
|
7
6
|
this.eventsService = eventsService;
|
|
8
7
|
this.el = el;
|
|
9
|
-
this.platformId = platformId;
|
|
10
8
|
this.top = 0;
|
|
11
|
-
this.isBrowser = false;
|
|
12
|
-
this.isBrowser = isPlatformBrowser(this.platformId);
|
|
13
9
|
}
|
|
14
10
|
ngOnInit() {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
this.elementHeightSubscription = this.eventsService.elementHeight.subscribe((res) => {
|
|
18
|
-
this.top = Number(res) || 0;
|
|
11
|
+
this.eventsService.elementHeight.subscribe((res) => {
|
|
12
|
+
this.top = res;
|
|
19
13
|
this.applyBackgroundPosition();
|
|
20
14
|
});
|
|
21
15
|
}
|
|
22
16
|
ngOnChanges() {
|
|
23
17
|
this.applyBackgroundPosition();
|
|
24
18
|
}
|
|
25
|
-
ngOnDestroy() {
|
|
26
|
-
this.elementHeightSubscription?.unsubscribe();
|
|
27
|
-
}
|
|
28
19
|
applyBackgroundPosition() {
|
|
29
|
-
if (!this.isBrowser)
|
|
30
|
-
return;
|
|
31
20
|
if (window.innerWidth > 475) {
|
|
32
21
|
if (this.merge)
|
|
33
22
|
this.el.nativeElement.style.setProperty('margin-top', `-${this.top}px`);
|
|
@@ -35,7 +24,7 @@ export class MergeHeaderDirective {
|
|
|
35
24
|
this.el.nativeElement.style.setProperty('margin-top', `0px`);
|
|
36
25
|
}
|
|
37
26
|
}
|
|
38
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MergeHeaderDirective, deps: [{ token: i1.EventsService }, { token: i0.ElementRef }
|
|
27
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MergeHeaderDirective, deps: [{ token: i1.EventsService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
39
28
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: MergeHeaderDirective, isStandalone: true, selector: "[simpoMergeHeader]", inputs: { merge: ["simpoMergeHeader", "merge"], backgroundInfo: "backgroundInfo" }, usesOnChanges: true, ngImport: i0 }); }
|
|
40
29
|
}
|
|
41
30
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MergeHeaderDirective, decorators: [{
|
|
@@ -44,14 +33,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
44
33
|
selector: '[simpoMergeHeader]',
|
|
45
34
|
standalone: true
|
|
46
35
|
}]
|
|
47
|
-
}], ctorParameters: () => [{ type: i1.EventsService }, { type: i0.ElementRef },
|
|
48
|
-
type: Inject,
|
|
49
|
-
args: [PLATFORM_ID]
|
|
50
|
-
}] }], propDecorators: { merge: [{
|
|
36
|
+
}], ctorParameters: () => [{ type: i1.EventsService }, { type: i0.ElementRef }], propDecorators: { merge: [{
|
|
51
37
|
type: Input,
|
|
52
38
|
args: ['simpoMergeHeader']
|
|
53
39
|
}], backgroundInfo: [{
|
|
54
40
|
type: Input,
|
|
55
41
|
args: ['backgroundInfo']
|
|
56
42
|
}] } });
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVyZ2UtaGVhZGVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvZGlyZWN0aXZlL21lcmdlLWhlYWRlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQW9DLE1BQU0sZUFBZSxDQUFDOzs7QUFPL0YsTUFBTSxPQUFPLG9CQUFvQjtJQU0vQixZQUFvQixhQUE0QixFQUFVLEVBQWM7UUFBcEQsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBRmhFLFFBQUcsR0FBVyxDQUFDLENBQUM7SUFFb0QsQ0FBQztJQUU3RSxRQUFRO1FBQ04sSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBVyxFQUFFLEVBQUU7WUFDekQsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7WUFDZixJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUE7SUFDaEMsQ0FBQztJQUVPLHVCQUF1QjtRQUU3QixJQUFJLE1BQU0sQ0FBQyxVQUFVLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDNUIsSUFBSSxJQUFJLENBQUMsS0FBSztnQkFDWixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUNyQyxZQUFZLEVBQUUsSUFBSSxJQUFJLENBQUMsR0FBRyxJQUFJLENBQy9CLENBQUM7O2dCQUVGLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQ3JDLFlBQVksRUFBRSxLQUFLLENBQ3BCLENBQUM7UUFDTixDQUFDO0lBQ0gsQ0FBQzsrR0EvQlUsb0JBQW9CO21HQUFwQixvQkFBb0I7OzRGQUFwQixvQkFBb0I7a0JBSmhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzJHQUU0QixLQUFLO3NCQUEvQixLQUFLO3VCQUFDLGtCQUFrQjtnQkFDQSxjQUFjO3NCQUF0QyxLQUFLO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIFNpbXBsZUNoYW5nZXMsIE9uSW5pdCwgT25DaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEV2ZW50c1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9ldmVudHMuc2VydmljZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tzaW1wb01lcmdlSGVhZGVyXScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWVyZ2VIZWFkZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KCdzaW1wb01lcmdlSGVhZGVyJykgbWVyZ2U/OiBib29sZWFuO1xyXG4gIEBJbnB1dCgnYmFja2dyb3VuZEluZm8nKSBiYWNrZ3JvdW5kSW5mbzogYW55O1xyXG5cclxuICBwcml2YXRlIHRvcDogbnVtYmVyID0gMDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBldmVudHNTZXJ2aWNlOiBFdmVudHNTZXJ2aWNlLCBwcml2YXRlIGVsOiBFbGVtZW50UmVmKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmV2ZW50c1NlcnZpY2UuZWxlbWVudEhlaWdodC5zdWJzY3JpYmUoKHJlczogbnVtYmVyKSA9PiB7XHJcbiAgICAgIHRoaXMudG9wID0gcmVzO1xyXG4gICAgICB0aGlzLmFwcGx5QmFja2dyb3VuZFBvc2l0aW9uKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKCkge1xyXG4gICAgdGhpcy5hcHBseUJhY2tncm91bmRQb3NpdGlvbigpXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFwcGx5QmFja2dyb3VuZFBvc2l0aW9uKCkge1xyXG5cclxuICAgIGlmICh3aW5kb3cuaW5uZXJXaWR0aCA+IDQ3NSkge1xyXG4gICAgICBpZiAodGhpcy5tZXJnZSlcclxuICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoXHJcbiAgICAgICAgICAnbWFyZ2luLXRvcCcsIGAtJHt0aGlzLnRvcH1weGBcclxuICAgICAgICApO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFxyXG4gICAgICAgICAgJ21hcmdpbi10b3AnLCBgMHB4YFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,21 +1,17 @@
|
|
|
1
|
-
import { Directive,
|
|
2
|
-
import { isPlatformBrowser } from '@angular/common';
|
|
1
|
+
import { Directive, Input } from '@angular/core';
|
|
3
2
|
import * as i0 from "@angular/core";
|
|
4
3
|
import * as i1 from "@angular/router";
|
|
5
4
|
export class SimpoStickyDirective {
|
|
6
|
-
constructor(el, router
|
|
5
|
+
constructor(el, router) {
|
|
7
6
|
this.el = el;
|
|
8
7
|
this.router = router;
|
|
9
|
-
this.platformId = platformId;
|
|
10
|
-
this.isBrowser = false;
|
|
11
|
-
this.isBrowser = isPlatformBrowser(this.platformId);
|
|
12
8
|
}
|
|
13
9
|
ngOnChanges() {
|
|
14
10
|
if (this.simpoSticky) {
|
|
15
11
|
this.el.nativeElement.style.setProperty("position", "fixed");
|
|
16
12
|
this.el.nativeElement.style.setProperty("top", "0px");
|
|
17
13
|
this.el.nativeElement.style.setProperty("left", '0px');
|
|
18
|
-
if (
|
|
14
|
+
if (localStorage.getItem('REQUEST_FROM') == 'USER')
|
|
19
15
|
this.el.nativeElement.style.setProperty("z-index", "10000002");
|
|
20
16
|
else {
|
|
21
17
|
let url = this.router.url;
|
|
@@ -28,7 +24,7 @@ export class SimpoStickyDirective {
|
|
|
28
24
|
this.el.nativeElement.style.setProperty("margin-top", "0px");
|
|
29
25
|
}
|
|
30
26
|
setTimeout(() => {
|
|
31
|
-
if (
|
|
27
|
+
if (window.innerWidth > 475) {
|
|
32
28
|
this.addParentMargin();
|
|
33
29
|
}
|
|
34
30
|
}, 0);
|
|
@@ -39,8 +35,6 @@ export class SimpoStickyDirective {
|
|
|
39
35
|
}
|
|
40
36
|
}
|
|
41
37
|
ngAfterViewInit() {
|
|
42
|
-
if (!this.isBrowser || typeof ResizeObserver === 'undefined')
|
|
43
|
-
return;
|
|
44
38
|
this.resizeObserver = new ResizeObserver(() => {
|
|
45
39
|
setTimeout(() => {
|
|
46
40
|
if (window.innerWidth > 475 && this.simpoSticky) {
|
|
@@ -51,8 +45,7 @@ export class SimpoStickyDirective {
|
|
|
51
45
|
this.resizeObserver.observe(this.el.nativeElement);
|
|
52
46
|
}
|
|
53
47
|
addParentMargin() {
|
|
54
|
-
|
|
55
|
-
let headerHeight = Math.ceil(nativeElement.getBoundingClientRect().height || nativeElement.offsetHeight || 0);
|
|
48
|
+
let headerHeight = this.el.nativeElement.offsetHeight;
|
|
56
49
|
const parent = this.el.nativeElement.parentElement;
|
|
57
50
|
if (parent && headerHeight > 0) {
|
|
58
51
|
parent.style.marginBottom = (headerHeight) + 'px';
|
|
@@ -65,10 +58,9 @@ export class SimpoStickyDirective {
|
|
|
65
58
|
}
|
|
66
59
|
}
|
|
67
60
|
ngOnDestroy() {
|
|
68
|
-
this.resizeObserver?.disconnect();
|
|
69
61
|
this.removeParentMargin();
|
|
70
62
|
}
|
|
71
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SimpoStickyDirective, deps: [{ token: i0.ElementRef }, { token: i1.Router }
|
|
63
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SimpoStickyDirective, deps: [{ token: i0.ElementRef }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
72
64
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: SimpoStickyDirective, isStandalone: true, selector: "[simpoSticky]", inputs: { simpoSticky: "simpoSticky", categoryHeader: "categoryHeader" }, usesOnChanges: true, ngImport: i0 }); }
|
|
73
65
|
}
|
|
74
66
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SimpoStickyDirective, decorators: [{
|
|
@@ -77,14 +69,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
77
69
|
selector: '[simpoSticky]',
|
|
78
70
|
standalone: true
|
|
79
71
|
}]
|
|
80
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.Router },
|
|
81
|
-
type: Inject,
|
|
82
|
-
args: [PLATFORM_ID]
|
|
83
|
-
}] }], propDecorators: { simpoSticky: [{
|
|
72
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.Router }], propDecorators: { simpoSticky: [{
|
|
84
73
|
type: Input,
|
|
85
74
|
args: ['simpoSticky']
|
|
86
75
|
}], categoryHeader: [{
|
|
87
76
|
type: Input,
|
|
88
77
|
args: ['categoryHeader']
|
|
89
78
|
}] } });
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RpY2t5LWRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvZGlyZWN0aXZlL3N0aWNreS1kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU83RCxNQUFNLE9BQU8sb0JBQW9CO0lBSS9CLFlBQW9CLEVBQWMsRUFDeEIsTUFBYztRQURKLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDeEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUNwQixDQUFDO0lBS0wsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQzdELElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3RELElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFBO1lBQ3RELElBQUksWUFBWSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsSUFBSSxNQUFNO2dCQUNoRCxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQTtpQkFDM0QsQ0FBQztnQkFDSixJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQTtnQkFDekIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUE7Z0JBQ3pELElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDaEMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLENBQUE7cUJBQzFELElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUM7b0JBQ25DLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFBOztvQkFFN0QsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUE7WUFDaEUsQ0FBQztZQUNELFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxNQUFNLENBQUMsVUFBVSxHQUFHLEdBQUcsRUFBRSxDQUFDO29CQUM1QixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ3pCLENBQUM7WUFDSCxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDUixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ2hFLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzVCLENBQUM7SUFDSCxDQUFDO0lBR0QsZUFBZTtRQUNiLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQUMsR0FBRyxFQUFFO1lBQzVDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxNQUFNLENBQUMsVUFBVSxHQUFHLEdBQUcsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7b0JBQ2hELElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFDekIsQ0FBQztZQUNILENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNSLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRU8sZUFBZTtRQUNyQixJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUM7UUFDdEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDO1FBQ25ELElBQUksTUFBTSxJQUFJLFlBQVksR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUMvQixNQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksR0FBRyxDQUFDLFlBQVksQ0FBQyxHQUFHLElBQUksQ0FBQztRQUNwRCxDQUFDO0lBQ0gsQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUM7UUFDbkQsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNYLE1BQU0sQ0FBQyxLQUFLLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUNwQyxDQUFDO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDOytHQXBFVSxvQkFBb0I7bUdBQXBCLG9CQUFvQjs7NEZBQXBCLG9CQUFvQjtrQkFKaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZUFBZTtvQkFDekIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCO29HQUV1QixXQUFXO3NCQUFoQyxLQUFLO3VCQUFDLGFBQWE7Z0JBQ0ssY0FBYztzQkFBdEMsS0FBSzt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tzaW1wb1N0aWNreV0nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuZXhwb3J0IGNsYXNzIFNpbXBvU3RpY2t5RGlyZWN0aXZlIHtcclxuICBASW5wdXQoJ3NpbXBvU3RpY2t5Jykgc2ltcG9TdGlja3k/OiBib29sZWFuO1xyXG4gIEBJbnB1dCgnY2F0ZWdvcnlIZWFkZXInKSBjYXRlZ29yeUhlYWRlcj86IGJvb2xlYW5cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcclxuICApIHsgfVxyXG5cclxuXHJcblxyXG5cclxuICBuZ09uQ2hhbmdlcygpIHtcclxuICAgIGlmICh0aGlzLnNpbXBvU3RpY2t5KSB7XHJcbiAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShcInBvc2l0aW9uXCIsIFwiZml4ZWRcIik7XHJcbiAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShcInRvcFwiLCBcIjBweFwiKTtcclxuICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFwibGVmdFwiLCAnMHB4JylcclxuICAgICAgaWYgKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdSRVFVRVNUX0ZST00nKSA9PSAnVVNFUicpXHJcbiAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFwiei1pbmRleFwiLCBcIjEwMDAwMDAyXCIpXHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGxldCB1cmwgPSB0aGlzLnJvdXRlci51cmxcclxuICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoXCJ6LWluZGV4XCIsIFwiMTA4XCIpXHJcbiAgICAgICAgaWYgKHVybC5pbmNsdWRlcygnd2Vic2l0ZS1lZGl0b3InKSlcclxuICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShcIm1hcmdpbi10b3BcIiwgXCI0NXB4XCIpXHJcbiAgICAgICAgZWxzZSBpZiAodXJsLmluY2x1ZGVzKCd2My1nZW5lcmF0b3InKSlcclxuICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShcIm1hcmdpbi10b3BcIiwgXCI3MHB4XCIpXHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFwibWFyZ2luLXRvcFwiLCBcIjBweFwiKVxyXG4gICAgICB9XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIGlmICh3aW5kb3cuaW5uZXJXaWR0aCA+IDQ3NSkge1xyXG4gICAgICAgICAgdGhpcy5hZGRQYXJlbnRNYXJnaW4oKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sIDApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFwicG9zaXRpb25cIiwgXCJyZWxhdGl2ZVwiKTtcclxuICAgICAgdGhpcy5yZW1vdmVQYXJlbnRNYXJnaW4oKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVzaXplT2JzZXJ2ZXIhOiBSZXNpemVPYnNlcnZlcjtcclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLnJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKCgpID0+IHtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgaWYgKHdpbmRvdy5pbm5lcldpZHRoID4gNDc1ICYmIHRoaXMuc2ltcG9TdGlja3kpIHtcclxuICAgICAgICAgIHRoaXMuYWRkUGFyZW50TWFyZ2luKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LCAwKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5yZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMuZWwubmF0aXZlRWxlbWVudCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFkZFBhcmVudE1hcmdpbigpIHtcclxuICAgIGxldCBoZWFkZXJIZWlnaHQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xyXG4gICAgY29uc3QgcGFyZW50ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQ7XHJcbiAgICBpZiAocGFyZW50ICYmIGhlYWRlckhlaWdodCA+IDApIHtcclxuICAgICAgcGFyZW50LnN0eWxlLm1hcmdpbkJvdHRvbSA9IChoZWFkZXJIZWlnaHQpICsgJ3B4JztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVtb3ZlUGFyZW50TWFyZ2luKCkge1xyXG4gICAgY29uc3QgcGFyZW50ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQ7XHJcbiAgICBpZiAocGFyZW50KSB7XHJcbiAgICAgIHBhcmVudC5zdHlsZS5tYXJnaW5Cb3R0b20gPSAnMHB4JztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5yZW1vdmVQYXJlbnRNYXJnaW4oKTtcclxuICB9XHJcbn0iXX0=
|