barsa-novin-ray-core 2.2.72 → 2.2.73

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.
@@ -28,18 +28,22 @@ export class SplideSliderDirective extends BaseDirective {
28
28
  ngAfterViewInit() {
29
29
  this._init();
30
30
  setTimeout(() => {
31
- this._splide.refresh();
31
+ this._refreshSplide();
32
32
  }, 200);
33
33
  }
34
34
  ngOnChanges(changes) {
35
35
  super.ngOnChanges(changes);
36
36
  const { moDataList } = changes;
37
37
  if (moDataList && moDataList.currentValue) {
38
- this._splide && this._splide.refresh();
38
+ this._refreshSplide();
39
39
  }
40
40
  }
41
41
  onRefresh() {
42
- this._splide.refresh();
42
+ this._refreshSplide();
43
+ }
44
+ _refreshSplide() {
45
+ this._splide && this._splide.refresh();
46
+ this._splide && this._splide.length < this._splide.options.perPage && this._splide.Components.Arrows.destroy();
43
47
  }
44
48
  _init() {
45
49
  this._renderer2.setAttribute(this.dom, 'data-splide', '{"direction":"rtl"}');
@@ -60,12 +64,18 @@ export class SplideSliderDirective extends BaseDirective {
60
64
  },
61
65
  1279: {
62
66
  perPage: +this.breakpoint1279
63
- },
67
+ }
64
68
  }
65
69
  }).mount();
66
70
  }
67
71
  get _getCommonOptions() {
68
- return { rewind: true, arrows: this.moDataList?.length > 1, type: 'loop', direction: 'rtl', pagination: false };
72
+ return {
73
+ rewind: true,
74
+ arrows: this.moDataList?.length > 1,
75
+ type: 'slide',
76
+ direction: 'rtl',
77
+ pagination: false
78
+ };
69
79
  }
70
80
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SplideSliderDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
71
81
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: SplideSliderDirective, selector: "[splideSlider]", inputs: { moDataList: "moDataList", type: "type", breakpoint991: "breakpoint991", breakpoint768: "breakpoint768", breakpoint480: "breakpoint480", breakpoint1279: "breakpoint1279", sliderPerPage: "sliderPerPage", sliderGap: "sliderGap", sliderPadding: "sliderPadding", width: "width" }, host: { properties: { "style.width": "this._width" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0 }); }
@@ -100,4 +110,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
100
110
  }], width: [{
101
111
  type: Input
102
112
  }] } });
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaWRlLXNsaWRlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL2RpcmVjdGl2ZXMvc3BsaWRlLXNsaWRlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUU1RyxPQUFPLE1BQU0sTUFBTSxrQkFBa0IsQ0FBQztBQUN0QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFakQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7O0FBTTVFLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxhQUFhO0lBSnhEOztRQVFhLFNBQUksR0FBZSxPQUFPLENBQUM7UUFRM0IsVUFBSyxHQUFHLE1BQU0sQ0FBQztRQUV4QixnQkFBVyxHQUFHLGVBQWUsQ0FBQztRQUU5QixhQUFRLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQztRQUM3QixXQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFLM0IsU0FBSSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2QsaUJBQVksR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUM5QyxlQUFVLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQy9CLFFBQUcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7S0FnRC9DO0lBdkRHLElBQUksR0FBRztRQUNILE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUM7SUFDbEMsQ0FBQztJQU1ELFFB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dmUsIEhvc3RCaW5kaW5nLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgU3BsaWRlIGZyb20gJ0BzcGxpZGVqcy9zcGxpZGUnO1xyXG5pbXBvcnQgeyBCYXNlRGlyZWN0aXZlIH0gZnJvbSAnLi9iYXNlLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IE1ldGFvYmplY3REYXRhTW9kZWwgfSBmcm9tICcuLi9hYnN0cmFjdC1jbGFzc2VzJztcclxuaW1wb3J0IHsgTW9SZXBvcnRWYWx1ZVBpcGUgfSBmcm9tICcuLi9waXBlcy9tby1yZXBvcnQtdmFsdWUucGlwZSc7XHJcbmltcG9ydCB7IFBpY3R1cmVGaWVsZFNvdXJjZVBpcGUgfSBmcm9tICcuLi9waXBlcy9waWN0dXJlLWZpZWxkLXNvdXJjZS5waXBlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6ICdbc3BsaWRlU2xpZGVyXScsXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3BsaWRlU2xpZGVyRGlyZWN0aXZlIGV4dGVuZHMgQmFzZURpcmVjdGl2ZSB7XHJcbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLndpZHRoJykgX3dpZHRoO1xyXG5cclxuICAgIEBJbnB1dCgpIG1vRGF0YUxpc3Q6IE1ldGFvYmplY3REYXRhTW9kZWxbXTtcclxuICAgIEBJbnB1dCgpIHR5cGU6IFNsaWRlclR5cGUgPSAnc21hbGwnO1xyXG4gICAgQElucHV0KCkgYnJlYWtwb2ludDk5MTogbnVtYmVyO1xyXG4gICAgQElucHV0KCkgYnJlYWtwb2ludDc2ODogbnVtYmVyO1xyXG4gICAgQElucHV0KCkgYnJlYWtwb2ludDQ4MDogbnVtYmVyO1xyXG4gICAgQElucHV0KCkgYnJlYWtwb2ludDEyNzk6IG51bWJlcjtcclxuICAgIEBJbnB1dCgpIHNsaWRlclBlclBhZ2U6IG51bWJlcjtcclxuICAgIEBJbnB1dCgpIHNsaWRlckdhcDogbnVtYmVyO1xyXG4gICAgQElucHV0KCkgc2xpZGVyUGFkZGluZzogbnVtYmVyO1xyXG4gICAgQElucHV0KCkgd2lkdGggPSAnMTAwJSc7XHJcblxyXG4gICAgY2Fyb3VzZWxDbHMgPSAnY2Fyb3VzZWwtZnVsbCc7XHJcblxyXG4gICAgbnVtV2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aDtcclxuICAgIGhlaWdodCA9IHRoaXMubnVtV2lkdGggLyAyO1xyXG4gICAgZ2V0IGRvbSgpOiBIVE1MRWxlbWVudCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2VsLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICB9XHJcbiAgICBfc3BsaWRlOiB1bmRlZmluZWQgfCBhbnk7XHJcbiAgICBydmFsID0gaW5qZWN0KE1vUmVwb3J0VmFsdWVQaXBlKTtcclxuICAgIHByb3RlY3RlZCByZWFkb25seSBfcGljRmllbGRTcmMgPSBpbmplY3QoUGljdHVyZUZpZWxkU291cmNlUGlwZSk7XHJcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgX3JlbmRlcmVyMiA9IGluamVjdChSZW5kZXJlcjIpO1xyXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IF9lbCA9IGluamVjdChFbGVtZW50UmVmKTtcclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgdGhpcy50eXBlID0gdGhpcy50eXBlIHx8ICdmdWxsJztcclxuICAgICAgICB0aGlzLl93aWR0aCA9IHRoaXMud2lkdGg7XHJcbiAgICB9XHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5faW5pdCgpO1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLl9zcGxpZGUucmVmcmVzaCgpO1xyXG4gICAgICAgIH0sIDIwMCk7XHJcbiAgICB9XHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkNoYW5nZXMoY2hhbmdlcyk7XHJcbiAgICAgICAgY29uc3QgeyBtb0RhdGFMaXN0IH0gPSBjaGFuZ2VzO1xyXG4gICAgICAgIGlmIChtb0RhdGFMaXN0ICYmIG1vRGF0YUxpc3QuY3VycmVudFZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3NwbGlkZSAmJiB0aGlzLl9zcGxpZGUucmVmcmVzaCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIG9uUmVmcmVzaCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9zcGxpZGUucmVmcmVzaCgpO1xyXG4gICAgfVxyXG4gICAgX2luaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIyLnNldEF0dHJpYnV0ZSh0aGlzLmRvbSwgJ2RhdGEtc3BsaWRlJywgJ3tcImRpcmVjdGlvblwiOlwicnRsXCJ9Jyk7XHJcbiAgICAgICAgdGhpcy5fc3BsaWRlID0gbmV3IFNwbGlkZSh0aGlzLmRvbSwge1xyXG4gICAgICAgICAgICAuLi50aGlzLl9nZXRDb21tb25PcHRpb25zLFxyXG4gICAgICAgICAgICBnYXA6ICt0aGlzLnNsaWRlckdhcCxcclxuICAgICAgICAgICAgcGFkZGluZzogK3RoaXMuc2xpZGVyUGFkZGluZyxcclxuICAgICAgICAgICAgcGVyUGFnZTogK3RoaXMuc2xpZGVyUGVyUGFnZSxcclxuICAgICAgICAgICAgYnJlYWtwb2ludHM6IHtcclxuICAgICAgICAgICAgICAgIDQ4MDoge1xyXG4gICAgICAgICAgICAgICAgICAgIHBlclBhZ2U6ICt0aGlzLmJyZWFrcG9pbnQ0ODBcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICA3Njg6IHtcclxuICAgICAgICAgICAgICAgICAgICBwZXJQYWdlOiArdGhpcy5icmVha3BvaW50NzY4XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgOTkxOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGVyUGFnZTogK3RoaXMuYnJlYWtwb2ludDk5MVxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIDEyNzk6IHtcclxuICAgICAgICAgICAgICAgICAgICBwZXJQYWdlOiArdGhpcy5icmVha3BvaW50MTI3OVxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pLm1vdW50KCk7XHJcbiAgICB9XHJcbiAgICBnZXQgX2dldENvbW1vbk9wdGlvbnMoKTogUmVjb3JkPHN0cmluZywgYW55PiB7XHJcbiAgICAgICAgcmV0dXJuIHsgcmV3aW5kOiB0cnVlLCBhcnJvd3M6IHRoaXMubW9EYXRhTGlzdD8ubGVuZ3RoID4gMSwgdHlwZTogJ2xvb3AnLCBkaXJlY3Rpb246ICdydGwnLCBwYWdpbmF0aW9uOiBmYWxzZSB9O1xyXG4gICAgfVxyXG59XHJcbnR5cGUgU2xpZGVyVHlwZSA9ICdmdWxsJyB8ICdtdWx0aXBsZScgfCAnc2luZ2xlJyB8ICdzbWFsbCcgfCB1bmRlZmluZWQ7XHJcbiJdfQ==
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaWRlLXNsaWRlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL2RpcmVjdGl2ZXMvc3BsaWRlLXNsaWRlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUU1RyxPQUFPLE1BQU0sTUFBTSxrQkFBa0IsQ0FBQztBQUN0QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFakQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7O0FBTTVFLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxhQUFhO0lBSnhEOztRQVFhLFNBQUksR0FBZSxPQUFPLENBQUM7UUFRM0IsVUFBSyxHQUFHLE1BQU0sQ0FBQztRQUV4QixnQkFBVyxHQUFHLGVBQWUsQ0FBQztRQUU5QixhQUFRLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQztRQUM3QixXQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFLM0IsU0FBSSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2QsaUJBQVksR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUM5QyxlQUFVLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQy9CLFFBQUcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7S0EwRC9DO0lBakVHLElBQUksR0FBRztRQUNILE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUM7SUFDbEMsQ0FBQztJQU1ELFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxJQUFJLE1BQU0sQ0FBQztRQUNoQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDN0IsQ0FBQztJQUNELGVBQWU7UUFDWCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDYixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzFCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNaLENBQUM7SUFDRCxXQUFXLENBQUMsT0FBc0I7UUFDOUIsS0FBSyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQixNQUFNLEVBQUUsVUFBVSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQy9CLElBQUksVUFBVSxJQUFJLFVBQVUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDMUIsQ0FBQztJQUNMLENBQUM7SUFDRCxTQUFTO1FBQ0wsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFDRCxjQUFjO1FBQ1YsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNuSCxDQUFDO0lBQ0QsS0FBSztRQUNELElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsYUFBYSxFQUFFLHFCQUFxQixDQUFDLENBQUM7UUFDN0UsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ2hDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQjtZQUN6QixHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUztZQUNwQixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYTtZQUM1QixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYTtZQUM1QixXQUFXLEVBQUU7Z0JBQ1QsR0FBRyxFQUFFO29CQUNELE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhO2lCQUMvQjtnQkFDRCxHQUFHLEVBQUU7b0JBQ0QsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWE7aUJBQy9CO2dCQUNELEdBQUcsRUFBRTtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYTtpQkFDL0I7Z0JBQ0QsSUFBSSxFQUFFO29CQUNGLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjO2lCQUNoQzthQUNKO1NBQ0osQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2YsQ0FBQztJQUNELElBQUksaUJBQWlCO1FBQ2pCLE9BQU87WUFDSCxNQUFNLEVBQUUsSUFBSTtZQUNaLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sR0FBRyxDQUFDO1lBQ25DLElBQUksRUFBRSxPQUFPO1lBQ2IsU0FBUyxFQUFFLEtBQUs7WUFDaEIsVUFBVSxFQUFFLEtBQUs7U0FDcEIsQ0FBQztJQUNOLENBQUM7K0dBbEZRLHFCQUFxQjttR0FBckIscUJBQXFCOzs0RkFBckIscUJBQXFCO2tCQUpqQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFVBQVUsRUFBRSxLQUFLO2lCQUNwQjs4QkFFK0IsTUFBTTtzQkFBakMsV0FBVzt1QkFBQyxhQUFhO2dCQUVqQixVQUFVO3NCQUFsQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElucHV0LCBSZW5kZXJlcjIsIGluamVjdCwgRWxlbWVudFJlZiwgRGlyZWN0aXZlLCBIb3N0QmluZGluZywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IFNwbGlkZSBmcm9tICdAc3BsaWRlanMvc3BsaWRlJztcclxuaW1wb3J0IHsgQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4vYmFzZS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBNZXRhb2JqZWN0RGF0YU1vZGVsIH0gZnJvbSAnLi4vYWJzdHJhY3QtY2xhc3Nlcyc7XHJcbmltcG9ydCB7IE1vUmVwb3J0VmFsdWVQaXBlIH0gZnJvbSAnLi4vcGlwZXMvbW8tcmVwb3J0LXZhbHVlLnBpcGUnO1xyXG5pbXBvcnQgeyBQaWN0dXJlRmllbGRTb3VyY2VQaXBlIH0gZnJvbSAnLi4vcGlwZXMvcGljdHVyZS1maWVsZC1zb3VyY2UucGlwZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiAnW3NwbGlkZVNsaWRlcl0nLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIFNwbGlkZVNsaWRlckRpcmVjdGl2ZSBleHRlbmRzIEJhc2VEaXJlY3RpdmUge1xyXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS53aWR0aCcpIF93aWR0aDtcclxuXHJcbiAgICBASW5wdXQoKSBtb0RhdGFMaXN0OiBNZXRhb2JqZWN0RGF0YU1vZGVsW107XHJcbiAgICBASW5wdXQoKSB0eXBlOiBTbGlkZXJUeXBlID0gJ3NtYWxsJztcclxuICAgIEBJbnB1dCgpIGJyZWFrcG9pbnQ5OTE6IG51bWJlcjtcclxuICAgIEBJbnB1dCgpIGJyZWFrcG9pbnQ3Njg6IG51bWJlcjtcclxuICAgIEBJbnB1dCgpIGJyZWFrcG9pbnQ0ODA6IG51bWJlcjtcclxuICAgIEBJbnB1dCgpIGJyZWFrcG9pbnQxMjc5OiBudW1iZXI7XHJcbiAgICBASW5wdXQoKSBzbGlkZXJQZXJQYWdlOiBudW1iZXI7XHJcbiAgICBASW5wdXQoKSBzbGlkZXJHYXA6IG51bWJlcjtcclxuICAgIEBJbnB1dCgpIHNsaWRlclBhZGRpbmc6IG51bWJlcjtcclxuICAgIEBJbnB1dCgpIHdpZHRoID0gJzEwMCUnO1xyXG5cclxuICAgIGNhcm91c2VsQ2xzID0gJ2Nhcm91c2VsLWZ1bGwnO1xyXG5cclxuICAgIG51bVdpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XHJcbiAgICBoZWlnaHQgPSB0aGlzLm51bVdpZHRoIC8gMjtcclxuICAgIGdldCBkb20oKTogSFRNTEVsZW1lbnQge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9lbC5uYXRpdmVFbGVtZW50O1xyXG4gICAgfVxyXG4gICAgX3NwbGlkZTogdW5kZWZpbmVkIHwgYW55O1xyXG4gICAgcnZhbCA9IGluamVjdChNb1JlcG9ydFZhbHVlUGlwZSk7XHJcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgX3BpY0ZpZWxkU3JjID0gaW5qZWN0KFBpY3R1cmVGaWVsZFNvdXJjZVBpcGUpO1xyXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IF9yZW5kZXJlcjIgPSBpbmplY3QoUmVuZGVyZXIyKTtcclxuICAgIHByb3RlY3RlZCByZWFkb25seSBfZWwgPSBpbmplY3QoRWxlbWVudFJlZik7XHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIHRoaXMudHlwZSA9IHRoaXMudHlwZSB8fCAnZnVsbCc7XHJcbiAgICAgICAgdGhpcy5fd2lkdGggPSB0aGlzLndpZHRoO1xyXG4gICAgfVxyXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2luaXQoKTtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5fcmVmcmVzaFNwbGlkZSgpO1xyXG4gICAgICAgIH0sIDIwMCk7XHJcbiAgICB9XHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkNoYW5nZXMoY2hhbmdlcyk7XHJcbiAgICAgICAgY29uc3QgeyBtb0RhdGFMaXN0IH0gPSBjaGFuZ2VzO1xyXG4gICAgICAgIGlmIChtb0RhdGFMaXN0ICYmIG1vRGF0YUxpc3QuY3VycmVudFZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3JlZnJlc2hTcGxpZGUoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBvblJlZnJlc2goKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fcmVmcmVzaFNwbGlkZSgpO1xyXG4gICAgfVxyXG4gICAgX3JlZnJlc2hTcGxpZGUoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fc3BsaWRlICYmIHRoaXMuX3NwbGlkZS5yZWZyZXNoKCk7XHJcbiAgICAgICAgdGhpcy5fc3BsaWRlICYmIHRoaXMuX3NwbGlkZS5sZW5ndGggPCB0aGlzLl9zcGxpZGUub3B0aW9ucy5wZXJQYWdlICYmIHRoaXMuX3NwbGlkZS5Db21wb25lbnRzLkFycm93cy5kZXN0cm95KCk7XHJcbiAgICB9XHJcbiAgICBfaW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9yZW5kZXJlcjIuc2V0QXR0cmlidXRlKHRoaXMuZG9tLCAnZGF0YS1zcGxpZGUnLCAne1wiZGlyZWN0aW9uXCI6XCJydGxcIn0nKTtcclxuICAgICAgICB0aGlzLl9zcGxpZGUgPSBuZXcgU3BsaWRlKHRoaXMuZG9tLCB7XHJcbiAgICAgICAgICAgIC4uLnRoaXMuX2dldENvbW1vbk9wdGlvbnMsXHJcbiAgICAgICAgICAgIGdhcDogK3RoaXMuc2xpZGVyR2FwLFxyXG4gICAgICAgICAgICBwYWRkaW5nOiArdGhpcy5zbGlkZXJQYWRkaW5nLFxyXG4gICAgICAgICAgICBwZXJQYWdlOiArdGhpcy5zbGlkZXJQZXJQYWdlLFxyXG4gICAgICAgICAgICBicmVha3BvaW50czoge1xyXG4gICAgICAgICAgICAgICAgNDgwOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGVyUGFnZTogK3RoaXMuYnJlYWtwb2ludDQ4MFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIDc2ODoge1xyXG4gICAgICAgICAgICAgICAgICAgIHBlclBhZ2U6ICt0aGlzLmJyZWFrcG9pbnQ3NjhcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICA5OTE6IHtcclxuICAgICAgICAgICAgICAgICAgICBwZXJQYWdlOiArdGhpcy5icmVha3BvaW50OTkxXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgMTI3OToge1xyXG4gICAgICAgICAgICAgICAgICAgIHBlclBhZ2U6ICt0aGlzLmJyZWFrcG9pbnQxMjc5XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KS5tb3VudCgpO1xyXG4gICAgfVxyXG4gICAgZ2V0IF9nZXRDb21tb25PcHRpb25zKCk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIHJld2luZDogdHJ1ZSxcclxuICAgICAgICAgICAgYXJyb3dzOiB0aGlzLm1vRGF0YUxpc3Q/Lmxlbmd0aCA+IDEsXHJcbiAgICAgICAgICAgIHR5cGU6ICdzbGlkZScsXHJcbiAgICAgICAgICAgIGRpcmVjdGlvbjogJ3J0bCcsXHJcbiAgICAgICAgICAgIHBhZ2luYXRpb246IGZhbHNlXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxufVxyXG50eXBlIFNsaWRlclR5cGUgPSAnZnVsbCcgfCAnbXVsdGlwbGUnIHwgJ3NpbmdsZScgfCAnc21hbGwnIHwgdW5kZWZpbmVkO1xyXG4iXX0=
@@ -73,10 +73,14 @@ export class RootPortalComponent extends PageBaseComponent {
73
73
  this.addFooter(pageData);
74
74
  BigNumber.prototype.subtract = BigNumber.prototype.minus;
75
75
  BigNumber.prototype.add = BigNumber.prototype.plus;
76
- const { BackgroundId } = this.pageData;
76
+ const { BackgroundId, BackgroundColor, HasOverlay } = this.pageData;
77
77
  if (BackgroundId) {
78
+ this.backgroundColor = BackgroundColor;
79
+ this.hasOverlay = HasOverlay !== 'False';
78
80
  this._renderer2.addClass(this._el.nativeElement, 'root-custom-background');
79
- this.imageUrl = `/IH.ashx?ty=ID&moId=&id=${BackgroundId}&si=1920&sih=1080`;
81
+ this.hasOverlay && this._renderer2.addClass(this._el.nativeElement, 'root-background-overlay');
82
+ this.imageUrl = `/IH.ashx?ty=ID&moId=&id=${BackgroundId}`;
83
+ this._portalService.setSiteImageUrl(BackgroundColor, this.imageUrl);
80
84
  }
81
85
  }
82
86
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RootPortalComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
@@ -120,9 +124,16 @@ export class RootPortalComponent extends PageBaseComponent {
120
124
  <div id="headerSpaceHolder" #headerSpaceHolder>
121
125
  <div id="bgOuterHolder" #bgOuterHolder>
122
126
  <div id="bgInnerHolder" style="height: 100vh">
123
- <div class="backgroundImage" id="backgroundImage">
124
- <img class="picture" [src]="imageUrl" loading="lazy" />
127
+ <div
128
+ class="backgroundImage"
129
+ id="backgroundImage"
130
+ [style.background-color]="backgroundColor"
131
+ [style.background-image]="'url(' + imageUrl + ')'"
132
+ >
133
+ <!-- <img class="picture" [src]="imageUrl" loading="lazy" /> -->
134
+ @if(hasOverlay){
125
135
  <span id="backgroundImageOverlay" class="overlay"></span>
136
+ }
126
137
  </div>
127
138
  </div>
128
139
  </div>
@@ -185,9 +196,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
185
196
  <div id="headerSpaceHolder" #headerSpaceHolder>
186
197
  <div id="bgOuterHolder" #bgOuterHolder>
187
198
  <div id="bgInnerHolder" style="height: 100vh">
188
- <div class="backgroundImage" id="backgroundImage">
189
- <img class="picture" [src]="imageUrl" loading="lazy" />
199
+ <div
200
+ class="backgroundImage"
201
+ id="backgroundImage"
202
+ [style.background-color]="backgroundColor"
203
+ [style.background-image]="'url(' + imageUrl + ')'"
204
+ >
205
+ <!-- <img class="picture" [src]="imageUrl" loading="lazy" /> -->
206
+ @if(hasOverlay){
190
207
  <span id="backgroundImageOverlay" class="overlay"></span>
208
+ }
191
209
  </div>
192
210
  </div>
193
211
  </div>
@@ -215,4 +233,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
215
233
  type: ViewChild,
216
234
  args: ['footerRef', { read: ViewContainerRef }]
217
235
  }] } });
218
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC1wb3J0YWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9yb290LXBvcnRhbC9yb290LXBvcnRhbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBc0IsU0FBUyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXBILE9BQU8sRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlFLE9BQU8sRUFBYyxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWxELE9BQU8sRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQWlCLE1BQU0scUJBQXFCLENBQUM7QUFDakYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7QUFvRTdDLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxpQkFBaUI7SUFqRTFEOztRQXNFSSxXQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ2QsZ0JBQVcsR0FBRyxJQUFJLENBQUM7S0F3RXRCO0lBdEVHLFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLFdBQVcsR0FBRyxhQUFhLEVBQUUsQ0FBQztRQUNuQywyQkFBMkI7UUFFM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDcEMsSUFBSSxLQUFLLFlBQVksZUFBZSxJQUFJLEtBQUssWUFBWSxXQUFXLEVBQUUsQ0FBQztnQkFDbkUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDOUMsQ0FBQztZQUNELElBQUksS0FBSyxZQUFZLGFBQWEsSUFBSSxLQUFLLFlB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QUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDekIsU0FBUyxDQUFDLFNBQVMsQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7UUFDekQsU0FBUyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7UUFDbkQsTUFBTSxFQUFFLFlBQVksRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFlLENBQUM7UUFDOUMsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLHdCQUF3QixDQUFDLENBQUM7WUFDM0UsSUFBSSxDQUFDLFFBQVEsR0FBRywyQkFBMkIsWUFBWSxtQkFBbUIsQ0FBQztRQUMvRSxDQUFDO0lBQ0wsQ0FBQzsrR0E3RVEsbUJBQW1CO21HQUFuQixtQkFBbUIseU9BRUksZ0JBQWdCLG9EQWpFdEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBMkRUOzs0RkFJUSxtQkFBbUI7a0JBakUvQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0EyRFQ7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFVBQVUsRUFBRSxLQUFLO2lCQUNwQjs4QkFFNEIsVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZO2dCQUM2QixZQUFZO3NCQUEvRCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uSW5pdCwgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBOYXZpZ2F0aW9uRW5kLCBOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlckV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IEJhcnNhQXBpLCBQYWdlQmFzZUNvbXBvbmVudCwgUGFnZURhdGFNb2RlbCB9IGZyb20gJy4uL2Fic3RyYWN0LWNsYXNzZXMnO1xyXG5pbXBvcnQgeyBpc0luTG9jYWxNb2RlIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcclxuZGVjbGFyZSBjb25zdCBCaWdOdW1iZXI6IGFueTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdibnJjLXJvb3QtcG9ydGFsJyxcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzcz1cInR3LWhpZGRlbiBncmlkLWNvbHMtMCB0dy1ncmlkLWNvbHMtMSB0dy1ncmlkLWNvbHMtMiB0dy1ncmlkLWNvbHMtMyB0dy1ncmlkLWNvbHMtNCB0dy1ncmlkLWNvbHMtNSBcclxuICAgICAgICAgICAgdHctZ3JpZC1jb2xzLTYgdHctZ3JpZC1jb2xzLTcgdHctZ3JpZC1jb2xzLTggdHctZ3JpZC1jb2xzLTkgdHctZ3JpZC1jb2xzLTEwIHR3LWdyaWQtY29scy0xMSB0dy1ncmlkLWNvbHMtMTJcIlxyXG4gICAgICAgID48L2Rpdj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwidHctaGlkZGVuIG1kOmdyaWQtY29scy0wIG1kOnR3LWdyaWQtY29scy0xIG1kOnR3LWdyaWQtY29scy0yIG1kOnR3LWdyaWQtY29scy0zIG1kOnR3LWdyaWQtY29scy00IFxyXG4gICAgICAgICAgICBtZDp0dy1ncmlkLWNvbHMtNSBtZDp0dy1ncmlkLWNvbHMtNiBtZDp0dy1ncmlkLWNvbHMtNyBtZDp0dy1ncmlkLWNvbHMtOCBtZDp0dy1ncmlkLWNvbHMtOSBtZDp0dy1ncmlkLWNvbHMtMTAgbWQ6dHctZ3JpZC1jb2xzLTExIG1kOnR3LWdyaWQtY29scy0xMlwiXHJcbiAgICAgICAgPjwvZGl2PlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJ0dy1oaWRkZW4gbGc6Z3JpZC1jb2xzLTAgbGc6dHctZ3JpZC1jb2xzLTEgbGc6dHctZ3JpZC1jb2xzLTIgbGc6dHctZ3JpZC1jb2xzLTMgXHJcbiAgICAgICAgICAgIGxnOnR3LWdyaWQtY29scy00IGxnOnR3LWdyaWQtY29scy01IGxnOnR3LWdyaWQtY29scy02IGxnOnR3LWdyaWQtY29scy03IGxnOnR3LWdyaWQtY29scy04IGxnOnR3LWdyaWQtY29scy05IFxyXG4gICAgICAgICAgICBsZzp0dy1ncmlkLWNvbHMtMTAgbGc6dHctZ3JpZC1jb2xzLTExIGxnOnR3LWdyaWQtY29scy0xMlwiXHJcbiAgICAgICAgPjwvZGl2PlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJ0dy1oaWRkZW4geGw6Z3JpZC1jb2xzLTAgeGw6dHctZ3JpZC1jb2xzLTEgeGw6dHctZ3JpZC1jb2xzLTIgeGw6dHctZ3JpZC1jb2xzLTMgXHJcbiAgICAgICAgICAgIHhsOnR3LWdyaWQtY29scy00IHhsOnR3LWdyaWQtY29scy01IHhsOnR3LWdyaWQtY29scy02IHhsOnR3LWdyaWQtY29scy03IHhsOnR3LWdyaWQtY29scy04IFxyXG4gICAgICAgICAgICB4bDp0dy1ncmlkLWNvbHMtOSB4bDp0dy1ncmlkLWNvbHMtMTAgeGw6dHctZ3JpZC1jb2xzLTExIHhsOnR3LWdyaWQtY29scy0xMlwiXHJcbiAgICAgICAgPjwvZGl2PlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJ0dy1oaWRkZW4gMnhsOmdyaWQtY29scy0wIDJ4bDp0dy1ncmlkLWNvbHMtMSAyeGw6dHctZ3JpZC1jb2xzLTIgMnhsOnR3LWdyaWQtY29scy0zIFxyXG4gICAgICAgICAgICAyeGw6dHctZ3JpZC1jb2xzLTQgMnhsOnR3LWdyaWQtY29scy01IDJ4bDp0dy1ncmlkLWNvbHMtNiAyeGw6dHctZ3JpZC1jb2xzLTcgMnhsOnR3LWdyaWQtY29scy04IDJ4bDp0dy1ncmlkLWNvbHMtOSBcclxuICAgICAgICAgICAgMnhsOnR3LWdyaWQtY29scy0xMCAyeGw6dHctZ3JpZC1jb2xzLTExIDJ4bDp0dy1ncmlkLWNvbHMtMTJcIlxyXG4gICAgICAgID48L2Rpdj5cclxuICAgICAgICBAaWYoaW5Mb2NhbE1vZGUpe1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmZC10b29sYmFyXCIgc3R5bGU9XCJmbGV4LXdyYXA6d3JhcDtwYWRkaW5nOjAuNXJlbTtoZWlnaHQ6YXV0b1wiPlxyXG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiZmQtYnV0dG9uIGZkLWJ1dHRvbi0tYXR0ZW50aW9uIGlzLWNvbXBhY3RcIiAoY2xpY2spPVwib25SZW1vdmVPZmZsaW5lRGF0YSgpXCI+XHJcbiAgICAgICAgICAgICAgICDYrdiw2YEg2KfYt9mE2KfYudin2Kog2KLZgdmE2KfbjNmGXHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiZmQtYnV0dG9uIGZkLWJ1dHRvbi0tbmVnYXRpdmUgaXMtY29tcGFjdFwiIChjbGljayk9XCJvblJlbW92ZU9mZmxpbmVEYXRhQW5kUmV0dXJuVG9PbmxpbmUoKVwiPlxyXG4gICAgICAgICAgICAgICAg2K3YsNmBINin2LfZhNin2LnYp9iqINii2YHZhNin24zZhiDZiCDYqNix2q/YtNiqINio2Ycg2K3Yp9mE2Kog2KLZhtmE2KfbjNmGXHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiZmQtYnV0dG9uIGZkLWJ1dHRvbi0tcG9zaXRpdmUgaXMtY29tcGFjdFwiIChjbGljayk9XCJvblNlbmRPZmZsaW5lRGF0YVRvU2VydmVyKClcIj5cclxuICAgICAgICAgICAgICAgINin2LHYs9in2YQg2KfYt9mE2KfYudin2Kog2KLZgdmE2KfbjNmGINio2Ycg2LPYsdmI2LFcclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfSBAaWYgKGltYWdlVXJsKSB7XHJcbiAgICAgICAgPGRpdiBpZD1cImhlYWRlclNwYWNlSG9sZGVyXCIgI2hlYWRlclNwYWNlSG9sZGVyPlxyXG4gICAgICAgICAgICA8ZGl2IGlkPVwiYmdPdXRlckhvbGRlclwiICNiZ091dGVySG9sZGVyPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBpZD1cImJnSW5uZXJIb2xkZXJcIiBzdHlsZT1cImhlaWdodDogMTAwdmhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmFja2dyb3VuZEltYWdlXCIgaWQ9XCJiYWNrZ3JvdW5kSW1hZ2VcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cInBpY3R1cmVcIiBbc3JjXT1cImltYWdlVXJsXCIgbG9hZGluZz1cImxhenlcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD1cImJhY2tncm91bmRJbWFnZU92ZXJsYXlcIiBjbGFzcz1cIm92ZXJsYXlcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIDxzZWN0aW9uIGxvYWRFeHRlcm5hbEZpbGVzIGNsYXNzPVwic2VjdGlvblwiIGlkPVwibWFpbnBhZ2VcIiAjc2VjdGlvblJlZj5cclxuICAgICAgICAgICAgPGRpdiAjY29udGFpbmVyUmVmPjwvZGl2PlxyXG4gICAgICAgIDwvc2VjdGlvbj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicGFnZS13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgIDxyb3V0ZXItb3V0bGV0Pjwvcm91dGVyLW91dGxldD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8IS0tIDxmb290ZXIgI2Zvb3RlclJlZj48L2Zvb3Rlcj4gLS0+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAjZm9vdGVyUmVmPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIEBpZihwYWdlRGF0YT8uVW5saW1pdFNlc3Npb249PT0nVHJ1ZScpe1xyXG4gICAgICAgIDxibnJjLXVubGltaXQtc2Vzc2lvbj48L2JucmMtdW5saW1pdC1zZXNzaW9uPlxyXG4gICAgICAgIH1cclxuICAgIGAsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSb290UG9ydGFsQ29tcG9uZW50IGV4dGVuZHMgUGFnZUJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgQFZpZXdDaGlsZCgnc2VjdGlvblJlZicpIHNlY3Rpb25SZWY6IEVsZW1lbnRSZWY7XHJcbiAgICBAVmlld0NoaWxkKCdmb290ZXJSZWYnLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYgfSkgZm9vdGVyUmVmVmNyOiBWaWV3Q29udGFpbmVyUmVmO1xyXG4gICAgcG9ydGFsTG9hZGluZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICBtb2R1bGVzOiBhbnk7XHJcbiAgICBpc1Jvb3QgPSB0cnVlO1xyXG4gICAgaW5Mb2NhbE1vZGUgPSB0cnVlO1xyXG4gICAgaW1hZ2VVcmw6IHN0cmluZztcclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgdGhpcy5pbkxvY2FsTW9kZSA9IGlzSW5Mb2NhbE1vZGUoKTtcclxuICAgICAgICAvLyB0aGlzLmluTG9jYWxNb2RlID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgdGhpcy5fcm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCAmJiBldmVudCBpbnN0YW5jZW9mIFJvdXRlckV2ZW50KSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9wb3J0YWxTZXJ2aWNlLm5hdmlhdGlvblN0YXJ0KGV2ZW50KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kICYmIGV2ZW50IGluc3RhbmNlb2YgUm91dGVyRXZlbnQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3BvcnRhbFNlcnZpY2UubmF2aWF0aW9uRW5kKGV2ZW50KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIG9uU2VuZE9mZmxpbmVEYXRhVG9TZXJ2ZXIoKTogdm9pZCB7XHJcbiAgICAgICAgQmFyc2FBcGkuQncuTXNnLlllc05vKEJhcnNhQXBpLkJCQi5PZmZsaW5lR29PbmxpbmUsIEJhcnNhQXBpLkJCQi5EZWxldGUsIGZ1bmN0aW9uIChidXR0b25JZCkge1xyXG4gICAgICAgICAgICBpZiAoYnV0dG9uSWQgPT09ICd5ZXMnKSB7XHJcbiAgICAgICAgICAgICAgICBCYXJzYUFwaS5Cdy5Nc2cuV2FpdCgwLCBCYXJzYUFwaS5CQkIuTG9hZGluZ01hc2tNc2csICd3YWl0Jyk7XHJcbiAgICAgICAgICAgICAgICBCYXJzYUFwaS5PZmZsaW5lLkdvT25saW5lKGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIG9uUmVtb3ZlT2ZmbGluZURhdGFBbmRSZXR1cm5Ub09ubGluZSgpOiB2b2lkIHtcclxuICAgICAgICBCYXJzYUFwaS5Cdy5Nc2cuWWVzTm8oQmFyc2FBcGkuQkJCLk9mZmxpbmVDbGVhckFsbCwgQmFyc2FBcGkuQkJCLkRlbGV0ZSwgZnVuY3Rpb24gKGJ1dHRvbklkKSB7XHJcbiAgICAgICAgICAgIGlmIChidXR0b25JZCA9PT0gJ3llcycpIHtcclxuICAgICAgICAgICAgICAgIEJhcnNhQXBpLk9mZmxpbmUuQ2xlYXJBbGwoKTtcclxuICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIG9uUmVtb3ZlT2ZmbGluZURhdGEoKTogdm9pZCB7XHJcbiAgICAgICAgQmFyc2FBcGkuQncuTXNnLlllc05vKEJhcnNhQXBpLkJCQi5PZmZsaW5lQ2xlYXJVbnNhdmVkRGF0YSwgQmFyc2FBcGkuQkJCLkRlbGV0ZSwgZnVuY3Rpb24gKGJ1dHRvbklkKSB7XHJcbiAgICAgICAgICAgIGlmIChidXR0b25JZCA9PT0gJ3llcycpIHtcclxuICAgICAgICAgICAgICAgIEJhcnNhQXBpLk9mZmxpbmUuQ2FjaGVkRGF0YS5VbnNhdmVkRGF0YSA9IHt9O1xyXG4gICAgICAgICAgICAgICAgQmFyc2FBcGkuT2ZmbGluZS5DYWNoZWREYXRhLnNhdmUoKTtcclxuICAgICAgICAgICAgICAgIEJhcnNhQXBpLkJ3LlRvYXN0LlN1Y2Nlc3MoQmFyc2FBcGkuQkJCLkFjdGlvbiArIEJhcnNhQXBpLkJCQi5Kb2JDb21wbGV0ZWQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgYWRkRm9vdGVyKHBhZ2VEYXRhOiBQYWdlRGF0YU1vZGVsIHwgbnVsbCk6IHZvaWQge1xyXG4gICAgICAgIGlmICghcGFnZURhdGE/LkZvb3Rlcikge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGZvb3RlckNvbXBvbmVudCA9IHBhZ2VEYXRhLkZvb3Rlci5Db21wb25lbnQ7XHJcbiAgICAgICAgdGhpcy5nZXRDb21wb25lbnRGYWN0b3J5KGZvb3RlckNvbXBvbmVudClcclxuICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCksXHJcbiAgICAgICAgICAgICAgICB0YXAoKGNvbnRyb2xVaSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRyb2xVaS5pbnN0YW5jZS5zZXR0aW5ncyA9IGZvb3RlckNvbXBvbmVudC5TZXR0aW5ncztcclxuICAgICAgICAgICAgICAgICAgICBjb250cm9sVWkuaW5zdGFuY2UuYWN0aXZhdGVkUm91dGUgPSB0aGlzLl9hY3RpdmF0ZWRSb3V0ZTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5mb290ZXJSZWZWY3IpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb290ZXJSZWZWY3IuaW5zZXJ0KGNvbnRyb2xVaS5ob3N0Vmlldyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgcmVuZGVyUGxhY2VIb2xkZXJzKHBhZ2VEYXRhOiBQYWdlRGF0YU1vZGVsIHwgbnVsbCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLnJlbmRlclBsYWNlSG9sZGVycyhwYWdlRGF0YSk7XHJcbiAgICAgICAgdGhpcy5hZGRGb290ZXIocGFnZURhdGEpO1xyXG4gICAgICAgIEJpZ051bWJlci5wcm90b3R5cGUuc3VidHJhY3QgPSBCaWdOdW1iZXIucHJvdG90eXBlLm1pbnVzO1xyXG4gICAgICAgIEJpZ051bWJlci5wcm90b3R5cGUuYWRkID0gQmlnTnVtYmVyLnByb3RvdHlwZS5wbHVzO1xyXG4gICAgICAgIGNvbnN0IHsgQmFja2dyb3VuZElkIH0gPSB0aGlzLnBhZ2VEYXRhIGFzIGFueTtcclxuICAgICAgICBpZiAoQmFja2dyb3VuZElkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyMi5hZGRDbGFzcyh0aGlzLl9lbC5uYXRpdmVFbGVtZW50LCAncm9vdC1jdXN0b20tYmFja2dyb3VuZCcpO1xyXG4gICAgICAgICAgICB0aGlzLmltYWdlVXJsID0gYC9JSC5hc2h4P3R5PUlEJm1vSWQ9JmlkPSR7QmFja2dyb3VuZElkfSZzaT0xOTIwJnNpaD0xMDgwYDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
236
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC1wb3J0YWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9yb290LXBvcnRhbC9yb290LXBvcnRhbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBc0IsU0FBUyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXBILE9BQU8sRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlFLE9BQU8sRUFBYyxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWxELE9BQU8sRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQWlCLE1BQU0scUJBQXFCLENBQUM7QUFDakYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7QUEyRTdDLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxpQkFBaUI7SUF4RTFEOztRQTZFSSxXQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ2QsZ0JBQVcsR0FBRyxJQUFJLENBQUM7S0ErRXRCO0lBM0VHLFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLFdBQVcsR0FBRyxhQUFhLEVBQUUsQ0FBQztRQUNuQywyQkFBMkI7UUFFM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDcEMsSUFBSSxLQUFLLFlBQVksZUFBZSxJQUFJLEtBQUssWUFBWSxXQUFXLEVBQUUsQ0FBQztnQkFDbkUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDOUMsQ0FBQztZQUNELElBQUksS0FBSyxZQUFZLGFBQWEsSUFBSSxLQUFLLFlB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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0FrRVQ7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFVBQVUsRUFBRSxLQUFLO2lCQUNwQjs4QkFFNEIsVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZO2dCQUM2QixZQUFZO3NCQUEvRCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uSW5pdCwgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBOYXZpZ2F0aW9uRW5kLCBOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlckV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IEJhcnNhQXBpLCBQYWdlQmFzZUNvbXBvbmVudCwgUGFnZURhdGFNb2RlbCB9IGZyb20gJy4uL2Fic3RyYWN0LWNsYXNzZXMnO1xyXG5pbXBvcnQgeyBpc0luTG9jYWxNb2RlIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcclxuZGVjbGFyZSBjb25zdCBCaWdOdW1iZXI6IGFueTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdibnJjLXJvb3QtcG9ydGFsJyxcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzcz1cInR3LWhpZGRlbiBncmlkLWNvbHMtMCB0dy1ncmlkLWNvbHMtMSB0dy1ncmlkLWNvbHMtMiB0dy1ncmlkLWNvbHMtMyB0dy1ncmlkLWNvbHMtNCB0dy1ncmlkLWNvbHMtNSBcclxuICAgICAgICAgICAgdHctZ3JpZC1jb2xzLTYgdHctZ3JpZC1jb2xzLTcgdHctZ3JpZC1jb2xzLTggdHctZ3JpZC1jb2xzLTkgdHctZ3JpZC1jb2xzLTEwIHR3LWdyaWQtY29scy0xMSB0dy1ncmlkLWNvbHMtMTJcIlxyXG4gICAgICAgID48L2Rpdj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwidHctaGlkZGVuIG1kOmdyaWQtY29scy0wIG1kOnR3LWdyaWQtY29scy0xIG1kOnR3LWdyaWQtY29scy0yIG1kOnR3LWdyaWQtY29scy0zIG1kOnR3LWdyaWQtY29scy00IFxyXG4gICAgICAgICAgICBtZDp0dy1ncmlkLWNvbHMtNSBtZDp0dy1ncmlkLWNvbHMtNiBtZDp0dy1ncmlkLWNvbHMtNyBtZDp0dy1ncmlkLWNvbHMtOCBtZDp0dy1ncmlkLWNvbHMtOSBtZDp0dy1ncmlkLWNvbHMtMTAgbWQ6dHctZ3JpZC1jb2xzLTExIG1kOnR3LWdyaWQtY29scy0xMlwiXHJcbiAgICAgICAgPjwvZGl2PlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJ0dy1oaWRkZW4gbGc6Z3JpZC1jb2xzLTAgbGc6dHctZ3JpZC1jb2xzLTEgbGc6dHctZ3JpZC1jb2xzLTIgbGc6dHctZ3JpZC1jb2xzLTMgXHJcbiAgICAgICAgICAgIGxnOnR3LWdyaWQtY29scy00IGxnOnR3LWdyaWQtY29scy01IGxnOnR3LWdyaWQtY29scy02IGxnOnR3LWdyaWQtY29scy03IGxnOnR3LWdyaWQtY29scy04IGxnOnR3LWdyaWQtY29scy05IFxyXG4gICAgICAgICAgICBsZzp0dy1ncmlkLWNvbHMtMTAgbGc6dHctZ3JpZC1jb2xzLTExIGxnOnR3LWdyaWQtY29scy0xMlwiXHJcbiAgICAgICAgPjwvZGl2PlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJ0dy1oaWRkZW4geGw6Z3JpZC1jb2xzLTAgeGw6dHctZ3JpZC1jb2xzLTEgeGw6dHctZ3JpZC1jb2xzLTIgeGw6dHctZ3JpZC1jb2xzLTMgXHJcbiAgICAgICAgICAgIHhsOnR3LWdyaWQtY29scy00IHhsOnR3LWdyaWQtY29scy01IHhsOnR3LWdyaWQtY29scy02IHhsOnR3LWdyaWQtY29scy03IHhsOnR3LWdyaWQtY29scy04IFxyXG4gICAgICAgICAgICB4bDp0dy1ncmlkLWNvbHMtOSB4bDp0dy1ncmlkLWNvbHMtMTAgeGw6dHctZ3JpZC1jb2xzLTExIHhsOnR3LWdyaWQtY29scy0xMlwiXHJcbiAgICAgICAgPjwvZGl2PlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJ0dy1oaWRkZW4gMnhsOmdyaWQtY29scy0wIDJ4bDp0dy1ncmlkLWNvbHMtMSAyeGw6dHctZ3JpZC1jb2xzLTIgMnhsOnR3LWdyaWQtY29scy0zIFxyXG4gICAgICAgICAgICAyeGw6dHctZ3JpZC1jb2xzLTQgMnhsOnR3LWdyaWQtY29scy01IDJ4bDp0dy1ncmlkLWNvbHMtNiAyeGw6dHctZ3JpZC1jb2xzLTcgMnhsOnR3LWdyaWQtY29scy04IDJ4bDp0dy1ncmlkLWNvbHMtOSBcclxuICAgICAgICAgICAgMnhsOnR3LWdyaWQtY29scy0xMCAyeGw6dHctZ3JpZC1jb2xzLTExIDJ4bDp0dy1ncmlkLWNvbHMtMTJcIlxyXG4gICAgICAgID48L2Rpdj5cclxuICAgICAgICBAaWYoaW5Mb2NhbE1vZGUpe1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmZC10b29sYmFyXCIgc3R5bGU9XCJmbGV4LXdyYXA6d3JhcDtwYWRkaW5nOjAuNXJlbTtoZWlnaHQ6YXV0b1wiPlxyXG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiZmQtYnV0dG9uIGZkLWJ1dHRvbi0tYXR0ZW50aW9uIGlzLWNvbXBhY3RcIiAoY2xpY2spPVwib25SZW1vdmVPZmZsaW5lRGF0YSgpXCI+XHJcbiAgICAgICAgICAgICAgICDYrdiw2YEg2KfYt9mE2KfYudin2Kog2KLZgdmE2KfbjNmGXHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiZmQtYnV0dG9uIGZkLWJ1dHRvbi0tbmVnYXRpdmUgaXMtY29tcGFjdFwiIChjbGljayk9XCJvblJlbW92ZU9mZmxpbmVEYXRhQW5kUmV0dXJuVG9PbmxpbmUoKVwiPlxyXG4gICAgICAgICAgICAgICAg2K3YsNmBINin2LfZhNin2LnYp9iqINii2YHZhNin24zZhiDZiCDYqNix2q/YtNiqINio2Ycg2K3Yp9mE2Kog2KLZhtmE2KfbjNmGXHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiZmQtYnV0dG9uIGZkLWJ1dHRvbi0tcG9zaXRpdmUgaXMtY29tcGFjdFwiIChjbGljayk9XCJvblNlbmRPZmZsaW5lRGF0YVRvU2VydmVyKClcIj5cclxuICAgICAgICAgICAgICAgINin2LHYs9in2YQg2KfYt9mE2KfYudin2Kog2KLZgdmE2KfbjNmGINio2Ycg2LPYsdmI2LFcclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfSBAaWYgKGltYWdlVXJsKSB7XHJcbiAgICAgICAgPGRpdiBpZD1cImhlYWRlclNwYWNlSG9sZGVyXCIgI2hlYWRlclNwYWNlSG9sZGVyPlxyXG4gICAgICAgICAgICA8ZGl2IGlkPVwiYmdPdXRlckhvbGRlclwiICNiZ091dGVySG9sZGVyPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBpZD1cImJnSW5uZXJIb2xkZXJcIiBzdHlsZT1cImhlaWdodDogMTAwdmhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYmFja2dyb3VuZEltYWdlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJiYWNrZ3JvdW5kSW1hZ2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJiYWNrZ3JvdW5kQ29sb3JcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZC1pbWFnZV09XCIndXJsKCcgKyBpbWFnZVVybCArICcpJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxpbWcgY2xhc3M9XCJwaWN0dXJlXCIgW3NyY109XCJpbWFnZVVybFwiIGxvYWRpbmc9XCJsYXp5XCIgLz4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZihoYXNPdmVybGF5KXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJiYWNrZ3JvdW5kSW1hZ2VPdmVybGF5XCIgY2xhc3M9XCJvdmVybGF5XCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIDxzZWN0aW9uIGxvYWRFeHRlcm5hbEZpbGVzIGNsYXNzPVwic2VjdGlvblwiIGlkPVwibWFpbnBhZ2VcIiAjc2VjdGlvblJlZj5cclxuICAgICAgICAgICAgPGRpdiAjY29udGFpbmVyUmVmPjwvZGl2PlxyXG4gICAgICAgIDwvc2VjdGlvbj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicGFnZS13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgIDxyb3V0ZXItb3V0bGV0Pjwvcm91dGVyLW91dGxldD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8IS0tIDxmb290ZXIgI2Zvb3RlclJlZj48L2Zvb3Rlcj4gLS0+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAjZm9vdGVyUmVmPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIEBpZihwYWdlRGF0YT8uVW5saW1pdFNlc3Npb249PT0nVHJ1ZScpe1xyXG4gICAgICAgIDxibnJjLXVubGltaXQtc2Vzc2lvbj48L2JucmMtdW5saW1pdC1zZXNzaW9uPlxyXG4gICAgICAgIH1cclxuICAgIGAsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSb290UG9ydGFsQ29tcG9uZW50IGV4dGVuZHMgUGFnZUJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgQFZpZXdDaGlsZCgnc2VjdGlvblJlZicpIHNlY3Rpb25SZWY6IEVsZW1lbnRSZWY7XHJcbiAgICBAVmlld0NoaWxkKCdmb290ZXJSZWYnLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYgfSkgZm9vdGVyUmVmVmNyOiBWaWV3Q29udGFpbmVyUmVmO1xyXG4gICAgcG9ydGFsTG9hZGluZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICBtb2R1bGVzOiBhbnk7XHJcbiAgICBpc1Jvb3QgPSB0cnVlO1xyXG4gICAgaW5Mb2NhbE1vZGUgPSB0cnVlO1xyXG4gICAgaGFzT3ZlcmxheTogYm9vbGVhbjtcclxuICAgIGltYWdlVXJsOiBzdHJpbmc7XHJcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IHN0cmluZztcclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgdGhpcy5pbkxvY2FsTW9kZSA9IGlzSW5Mb2NhbE1vZGUoKTtcclxuICAgICAgICAvLyB0aGlzLmluTG9jYWxNb2RlID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgdGhpcy5fcm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCAmJiBldmVudCBpbnN0YW5jZW9mIFJvdXRlckV2ZW50KSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9wb3J0YWxTZXJ2aWNlLm5hdmlhdGlvblN0YXJ0KGV2ZW50KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kICYmIGV2ZW50IGluc3RhbmNlb2YgUm91dGVyRXZlbnQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3BvcnRhbFNlcnZpY2UubmF2aWF0aW9uRW5kKGV2ZW50KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIG9uU2VuZE9mZmxpbmVEYXRhVG9TZXJ2ZXIoKTogdm9pZCB7XHJcbiAgICAgICAgQmFyc2FBcGkuQncuTXNnLlllc05vKEJhcnNhQXBpLkJCQi5PZmZsaW5lR29PbmxpbmUsIEJhcnNhQXBpLkJCQi5EZWxldGUsIGZ1bmN0aW9uIChidXR0b25JZCkge1xyXG4gICAgICAgICAgICBpZiAoYnV0dG9uSWQgPT09ICd5ZXMnKSB7XHJcbiAgICAgICAgICAgICAgICBCYXJzYUFwaS5Cdy5Nc2cuV2FpdCgwLCBCYXJzYUFwaS5CQkIuTG9hZGluZ01hc2tNc2csICd3YWl0Jyk7XHJcbiAgICAgICAgICAgICAgICBCYXJzYUFwaS5PZmZsaW5lLkdvT25saW5lKGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIG9uUmVtb3ZlT2ZmbGluZURhdGFBbmRSZXR1cm5Ub09ubGluZSgpOiB2b2lkIHtcclxuICAgICAgICBCYXJzYUFwaS5Cdy5Nc2cuWWVzTm8oQmFyc2FBcGkuQkJCLk9mZmxpbmVDbGVhckFsbCwgQmFyc2FBcGkuQkJCLkRlbGV0ZSwgZnVuY3Rpb24gKGJ1dHRvbklkKSB7XHJcbiAgICAgICAgICAgIGlmIChidXR0b25JZCA9PT0gJ3llcycpIHtcclxuICAgICAgICAgICAgICAgIEJhcnNhQXBpLk9mZmxpbmUuQ2xlYXJBbGwoKTtcclxuICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIG9uUmVtb3ZlT2ZmbGluZURhdGEoKTogdm9pZCB7XHJcbiAgICAgICAgQmFyc2FBcGkuQncuTXNnLlllc05vKEJhcnNhQXBpLkJCQi5PZmZsaW5lQ2xlYXJVbnNhdmVkRGF0YSwgQmFyc2FBcGkuQkJCLkRlbGV0ZSwgZnVuY3Rpb24gKGJ1dHRvbklkKSB7XHJcbiAgICAgICAgICAgIGlmIChidXR0b25JZCA9PT0gJ3llcycpIHtcclxuICAgICAgICAgICAgICAgIEJhcnNhQXBpLk9mZmxpbmUuQ2FjaGVkRGF0YS5VbnNhdmVkRGF0YSA9IHt9O1xyXG4gICAgICAgICAgICAgICAgQmFyc2FBcGkuT2ZmbGluZS5DYWNoZWREYXRhLnNhdmUoKTtcclxuICAgICAgICAgICAgICAgIEJhcnNhQXBpLkJ3LlRvYXN0LlN1Y2Nlc3MoQmFyc2FBcGkuQkJCLkFjdGlvbiArIEJhcnNhQXBpLkJCQi5Kb2JDb21wbGV0ZWQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgYWRkRm9vdGVyKHBhZ2VEYXRhOiBQYWdlRGF0YU1vZGVsIHwgbnVsbCk6IHZvaWQge1xyXG4gICAgICAgIGlmICghcGFnZURhdGE/LkZvb3Rlcikge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGZvb3RlckNvbXBvbmVudCA9IHBhZ2VEYXRhLkZvb3Rlci5Db21wb25lbnQ7XHJcbiAgICAgICAgdGhpcy5nZXRDb21wb25lbnRGYWN0b3J5KGZvb3RlckNvbXBvbmVudClcclxuICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCksXHJcbiAgICAgICAgICAgICAgICB0YXAoKGNvbnRyb2xVaSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRyb2xVaS5pbnN0YW5jZS5zZXR0aW5ncyA9IGZvb3RlckNvbXBvbmVudC5TZXR0aW5ncztcclxuICAgICAgICAgICAgICAgICAgICBjb250cm9sVWkuaW5zdGFuY2UuYWN0aXZhdGVkUm91dGUgPSB0aGlzLl9hY3RpdmF0ZWRSb3V0ZTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5mb290ZXJSZWZWY3IpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb290ZXJSZWZWY3IuaW5zZXJ0KGNvbnRyb2xVaS5ob3N0Vmlldyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgcmVuZGVyUGxhY2VIb2xkZXJzKHBhZ2VEYXRhOiBQYWdlRGF0YU1vZGVsIHwgbnVsbCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLnJlbmRlclBsYWNlSG9sZGVycyhwYWdlRGF0YSk7XHJcbiAgICAgICAgdGhpcy5hZGRGb290ZXIocGFnZURhdGEpO1xyXG4gICAgICAgIEJpZ051bWJlci5wcm90b3R5cGUuc3VidHJhY3QgPSBCaWdOdW1iZXIucHJvdG90eXBlLm1pbnVzO1xyXG4gICAgICAgIEJpZ051bWJlci5wcm90b3R5cGUuYWRkID0gQmlnTnVtYmVyLnByb3RvdHlwZS5wbHVzO1xyXG4gICAgICAgIGNvbnN0IHsgQmFja2dyb3VuZElkLCBCYWNrZ3JvdW5kQ29sb3IsIEhhc092ZXJsYXkgfSA9IHRoaXMucGFnZURhdGEgYXMgYW55O1xyXG5cclxuICAgICAgICBpZiAoQmFja2dyb3VuZElkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYmFja2dyb3VuZENvbG9yID0gQmFja2dyb3VuZENvbG9yO1xyXG4gICAgICAgICAgICB0aGlzLmhhc092ZXJsYXkgPSBIYXNPdmVybGF5ICE9PSAnRmFsc2UnO1xyXG4gICAgICAgICAgICB0aGlzLl9yZW5kZXJlcjIuYWRkQ2xhc3ModGhpcy5fZWwubmF0aXZlRWxlbWVudCwgJ3Jvb3QtY3VzdG9tLWJhY2tncm91bmQnKTtcclxuICAgICAgICAgICAgdGhpcy5oYXNPdmVybGF5ICYmIHRoaXMuX3JlbmRlcmVyMi5hZGRDbGFzcyh0aGlzLl9lbC5uYXRpdmVFbGVtZW50LCAncm9vdC1iYWNrZ3JvdW5kLW92ZXJsYXknKTtcclxuICAgICAgICAgICAgdGhpcy5pbWFnZVVybCA9IGAvSUguYXNoeD90eT1JRCZtb0lkPSZpZD0ke0JhY2tncm91bmRJZH1gO1xyXG4gICAgICAgICAgICB0aGlzLl9wb3J0YWxTZXJ2aWNlLnNldFNpdGVJbWFnZVVybChCYWNrZ3JvdW5kQ29sb3IsIHRoaXMuaW1hZ2VVcmwpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=