@tetacom/svg-charts 1.2.1 → 1.2.4

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.
Files changed (45) hide show
  1. package/chart/chart/chart.component.d.ts +2 -1
  2. package/chart/chart-container/chart-container.component.d.ts +5 -6
  3. package/chart/chart-container/series/linear-series-base.d.ts +2 -2
  4. package/chart/chart-container/series/scatter-series/scatter-series.component.d.ts +0 -1
  5. package/chart/chart-container/x-axis/x-axis.component.d.ts +2 -4
  6. package/chart/core/axis/axis.d.ts +3 -0
  7. package/chart/model/i-broadcast-message.d.ts +2 -2
  8. package/chart/service/chart.service.d.ts +4 -0
  9. package/chart/service/scale.service.d.ts +2 -0
  10. package/esm2020/chart/base/series-base.component.mjs +3 -3
  11. package/esm2020/chart/chart/chart.component.mjs +12 -4
  12. package/esm2020/chart/chart-container/annotation/annotation.component.mjs +6 -6
  13. package/esm2020/chart/chart-container/chart-container.component.mjs +21 -30
  14. package/esm2020/chart/chart-container/crosshair/crosshair.component.mjs +3 -3
  15. package/esm2020/chart/chart-container/gridlines/gridlines.component.mjs +14 -8
  16. package/esm2020/chart/chart-container/plotband/plot-band.component.mjs +3 -3
  17. package/esm2020/chart/chart-container/plotline/plotline.component.mjs +3 -3
  18. package/esm2020/chart/chart-container/series/area-series/area-series.component.mjs +8 -8
  19. package/esm2020/chart/chart-container/series/bar/bar-series.component.mjs +8 -8
  20. package/esm2020/chart/chart-container/series/block-area-series/block-area-series.component.mjs +6 -6
  21. package/esm2020/chart/chart-container/series/block-series/block-series.component.mjs +6 -6
  22. package/esm2020/chart/chart-container/series/line/line-series.component.mjs +3 -3
  23. package/esm2020/chart/chart-container/series/linear-series-base.mjs +47 -41
  24. package/esm2020/chart/chart-container/series/scatter-series/scatter-series.component.mjs +6 -6
  25. package/esm2020/chart/chart-container/series-host/series-host.component.mjs +3 -3
  26. package/esm2020/chart/chart-container/tooltip/tooltip.component.mjs +3 -3
  27. package/esm2020/chart/chart-container/x-axis/x-axis.component.mjs +6 -30
  28. package/esm2020/chart/chart-container/y-axis/y-axis.component.mjs +6 -6
  29. package/esm2020/chart/chart.module.mjs +4 -4
  30. package/esm2020/chart/core/axis/axis.mjs +7 -1
  31. package/esm2020/chart/default/default-axis-config.mjs +2 -2
  32. package/esm2020/chart/directives/brushable.directive.mjs +5 -6
  33. package/esm2020/chart/directives/zoomable.directive.mjs +49 -16
  34. package/esm2020/chart/legend/legend.component.mjs +3 -3
  35. package/esm2020/chart/model/i-broadcast-message.mjs +2 -2
  36. package/esm2020/chart/service/broadcast.service.mjs +3 -3
  37. package/esm2020/chart/service/brush.service.mjs +23 -20
  38. package/esm2020/chart/service/chart.service.mjs +9 -4
  39. package/esm2020/chart/service/scale.service.mjs +137 -4
  40. package/esm2020/chart/service/zoom.service.mjs +5 -5
  41. package/fesm2015/tetacom-svg-charts.mjs +404 -231
  42. package/fesm2015/tetacom-svg-charts.mjs.map +1 -1
  43. package/fesm2020/tetacom-svg-charts.mjs +391 -225
  44. package/fesm2020/tetacom-svg-charts.mjs.map +1 -1
  45. package/package.json +3 -3
@@ -12,7 +12,7 @@ export class ZoomService {
12
12
  this.scaleHashMap = new Map();
13
13
  this.elementHashMap = new Map();
14
14
  this.zoomHashMap = new Map();
15
- this.zoomed$ = new BehaviorSubject(null);
15
+ this.zoomed$ = new BehaviorSubject({});
16
16
  this.zoomed = this.zoomed$.asObservable().pipe(shareReplay({
17
17
  bufferSize: 1,
18
18
  refCount: true
@@ -71,12 +71,12 @@ export class ZoomService {
71
71
  currentElement.transition().call(currentZoom.transform, zoomIdentity, null, new MouseEvent('resetZoom'));
72
72
  }
73
73
  }
74
- ZoomService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: ZoomService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
75
- ZoomService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: ZoomService, providedIn: 'root' });
76
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: ZoomService, decorators: [{
74
+ ZoomService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: ZoomService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
75
+ ZoomService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: ZoomService, providedIn: 'root' });
76
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: ZoomService, decorators: [{
77
77
  type: Injectable,
78
78
  args: [{
79
79
  providedIn: 'root',
80
80
  }]
81
81
  }], ctorParameters: function () { return []; } });
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9vbS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NoYXJ0L3NlcnZpY2Uvem9vbS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLGVBQWUsRUFBYyxXQUFXLEdBQUUsTUFBTSxNQUFNLENBQUM7QUFHL0QsT0FBTyxFQUFlLFlBQVksRUFBQyxNQUFNLElBQUksQ0FBQztBQUM5QyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDL0QsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ25ELE9BQU8sVUFBVSxNQUFNLGFBQWEsQ0FBQzs7QUFLckMsTUFBTSxPQUFPLFdBQVc7SUFXdEI7UUFWQSwwQkFBcUIsR0FBRyxFQUFFLENBQUM7UUFFM0IsZ0JBQVcsR0FBRyxJQUFJLEdBQUcsRUFBZ0IsQ0FBQztRQUN0QyxpQkFBWSxHQUFHLElBQUksR0FBRyxFQUFlLENBQUM7UUFDdEMsbUJBQWMsR0FBRyxJQUFJLEdBQUcsRUFBZSxDQUFDO1FBQ3hDLGdCQUFXLEdBQUcsSUFBSSxHQUFHLEVBQWtDLENBQUM7UUFFaEQsWUFBTyxHQUFHLElBQUksZUFBZSxDQUFvQixJQUFJLENBQUMsQ0FBQztRQUk3RCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztZQUN6RCxVQUFVLEVBQUUsQ0FBQztZQUNiLFFBQVEsRUFBRSxJQUFJO1NBQ2YsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDO0lBRUQsUUFBUSxDQUFDLElBQXVCO1FBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxPQUFlO1FBQ2pD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QUFFLElBQUksVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDM0csQ0FBQzs7d0dBbEZVLFdBQVc7NEdBQVgsV0FBVyxjQUZWLE1BQU07MkZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIHNoYXJlUmVwbGF5LH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0F4aXN9IGZyb20gJy4uL2NvcmUvYXhpcy9heGlzJztcbmltcG9ydCB7SUNoYXJ0RXZlbnR9IGZyb20gJy4uL21vZGVsL2ktY2hhcnQtZXZlbnQnO1xuaW1wb3J0IHtab29tQmVoYXZpb3IsIHpvb21JZGVudGl0eX0gZnJvbSBcImQzXCI7XG5pbXBvcnQge0F4aXNPcmllbnRhdGlvbn0gZnJvbSBcIi4uL21vZGVsL2VudW0vYXhpcy1vcmllbnRhdGlvblwiO1xuaW1wb3J0IHtTY2FsZVR5cGV9IGZyb20gXCIuLi9tb2RlbC9lbnVtL3NjYWxlLXR5cGVcIjtcbmltcG9ydCBvYmplY3RIYXNoIGZyb20gJ29iamVjdC1oYXNoJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFpvb21TZXJ2aWNlIHtcbiAgYnJvYWRjYXN0U3Vic2NyaXB0aW9uID0gW107XG4gIHpvb21lZDogT2JzZXJ2YWJsZTxJQ2hhcnRFdmVudDxBeGlzPj47XG4gIGF4aXNIYXNoTWFwID0gbmV3IE1hcDxzdHJpbmcsIEF4aXM+KCk7XG4gIHNjYWxlSGFzaE1hcCA9IG5ldyBNYXA8c3RyaW5nLCBhbnk+KCk7XG4gIGVsZW1lbnRIYXNoTWFwID0gbmV3IE1hcDxzdHJpbmcsIGFueT4oKTtcbiAgem9vbUhhc2hNYXAgPSBuZXcgTWFwPHN0cmluZywgWm9vbUJlaGF2aW9yPGFueSwgYW55Pj4oKTtcblxuICBwcml2YXRlIHpvb21lZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElDaGFydEV2ZW50PEF4aXM+PihudWxsKTtcbiAgcHJpdmF0ZSBicm9hZGNhc3RDaGFubmVsOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy56b29tZWQgPSB0aGlzLnpvb21lZCQuYXNPYnNlcnZhYmxlKCkucGlwZShzaGFyZVJlcGxheSh7XG4gICAgICBidWZmZXJTaXplOiAxLFxuICAgICAgcmVmQ291bnQ6IHRydWVcbiAgICB9KSk7XG4gIH1cblxuICBmaXJlWm9vbSh6b29tOiBJQ2hhcnRFdmVudDxBeGlzPikge1xuICAgIHRoaXMuem9vbWVkJC5uZXh0KHpvb20pO1xuICB9XG5cbiAgc2V0QnJvYWRjYXN0Q2hhbm5lbChjaGFubmVsOiBzdHJpbmcpIHtcbiAgICB0aGlzLmJyb2FkY2FzdENoYW5uZWwgPSBjaGFubmVsO1xuICB9XG5cbiAgc2V0Wm9vbShmcm9tOiBudW1iZXIsIHRvOiBudW1iZXIsIGF4aXNJbmRleCA9IDAsIGF4aXNPcmllbnRhdGlvbiA9IEF4aXNPcmllbnRhdGlvbi54KSB7XG5cbiAgICBjb25zdCBoYXNoID0gb2JqZWN0SGFzaC5zaGExKHtpbmRleDogYXhpc0luZGV4LCBvcmllbnRhdGlvbjogYXhpc09yaWVudGF0aW9ufSk7XG5cbiAgICBpZiAoIXRoaXMuem9vbUhhc2hNYXAuaGFzKGhhc2gpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY3VycmVudEF4aXMgPSB0aGlzLmF4aXNIYXNoTWFwLmdldChoYXNoKTtcbiAgICBjb25zdCBjdXJyZW50U2NhbGUgPSB0aGlzLnNjYWxlSGFzaE1hcC5nZXQoaGFzaCk7XG4gICAgY29uc3QgY3VycmVudEVsZW1lbnQgPSB0aGlzLmVsZW1lbnRIYXNoTWFwLmdldChoYXNoKTtcbiAgICBjb25zdCBjdXJyZW50Wm9vbSA9IHRoaXMuem9vbUhhc2hNYXAuZ2V0KGhhc2gpO1xuXG4gICAgY3VycmVudFNjYWxlLmRvbWFpbihjdXJyZW50QXhpcy5vcmlnaW5Eb21haW4pXG5cbiAgICBpZiAoYXhpc09yaWVudGF0aW9uID09PSBBeGlzT3JpZW50YXRpb24ueCkge1xuICAgICAgaWYgKGN1cnJlbnRBeGlzLm9wdGlvbnMuc2NhbGVUeXBlLnR5cGUgPT09IFNjYWxlVHlwZS5sb2cpIHtcbiAgICAgICAgY3VycmVudFNjYWxlLmRvbWFpbihjdXJyZW50QXhpcy5vcHRpb25zLmludmVydGVkID8gWy4uLmN1cnJlbnRBeGlzLm9yaWdpbkRvbWFpbl0ucmV2ZXJzZSgpIDogY3VycmVudEF4aXMub3JpZ2luRG9tYWluKVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChheGlzT3JpZW50YXRpb24gPT09IEF4aXNPcmllbnRhdGlvbi55KSB7XG4gICAgICBpZiAoY3VycmVudEF4aXMub3B0aW9ucy5zY2FsZVR5cGUudHlwZSA9PT0gU2NhbGVUeXBlLmxvZykge1xuICAgICAgICBjdXJyZW50U2NhbGUuZG9tYWluKGN1cnJlbnRBeGlzLm9wdGlvbnMuaW52ZXJ0ZWQgPyBjdXJyZW50QXhpcy5vcmlnaW5Eb21haW4gOiBbLi4uY3VycmVudEF4aXMub3JpZ2luRG9tYWluXS5yZXZlcnNlKCkpXG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgZGVsdGEgPSBNYXRoLmFicyhjdXJyZW50U2NhbGUodG8pIC0gY3VycmVudFNjYWxlKGZyb20pKTtcbiAgICBjb25zdCBzY2FsZSA9IGN1cnJlbnRTY2FsZS5yYW5nZSgpWzFdIC8gZGVsdGE7XG5cbiAgICBsZXQgdHJhbnNmb3JtID0gem9vbUlkZW50aXR5LnNjYWxlKHNjYWxlKTtcblxuICAgIGlmIChjdXJyZW50QXhpcy5vcmllbnRhdGlvbiA9PT0gQXhpc09yaWVudGF0aW9uLngpIHtcbiAgICAgIGlmIChjdXJyZW50QXhpcy5vcHRpb25zLnNjYWxlVHlwZS50eXBlID09PSBTY2FsZVR5cGUubG9nKSB7XG4gICAgICAgIGN1cnJlbnRTY2FsZS5kb21haW4oY3VycmVudEF4aXMub3B0aW9ucy5pbnZlcnRlZCA/IFsuLi5jdXJyZW50U2NhbGUuZG9tYWluKCldLnJldmVyc2UoKSA6IGN1cnJlbnRTY2FsZS5kb21haW4oKSlcbiAgICAgIH1cbiAgICAgIHRyYW5zZm9ybSA9IHRyYW5zZm9ybS50cmFuc2xhdGUoLWN1cnJlbnRTY2FsZShmcm9tKSwgMCk7XG4gICAgfVxuXG4gICAgaWYgKGN1cnJlbnRBeGlzLm9yaWVudGF0aW9uID09PSBBeGlzT3JpZW50YXRpb24ueSkge1xuICAgICAgaWYgKGN1cnJlbnRBeGlzLm9wdGlvbnMuc2NhbGVUeXBlLnR5cGUgPT09IFNjYWxlVHlwZS5sb2cpIHtcbiAgICAgICAgY3VycmVudFNjYWxlLmRvbWFpbihjdXJyZW50QXhpcy5vcHRpb25zLmludmVydGVkID8gY3VycmVudFNjYWxlLmRvbWFpbigpIDogWy4uLmN1cnJlbnRTY2FsZS5kb21haW4oKV0ucmV2ZXJzZSgpKVxuICAgICAgfVxuICAgICAgdHJhbnNmb3JtID0gdHJhbnNmb3JtLnRyYW5zbGF0ZSgwLCAtY3VycmVudFNjYWxlKGZyb20pKTtcbiAgICB9XG4gICAgY3VycmVudEVsZW1lbnQudHJhbnNpdGlvbigpLmNhbGwoY3VycmVudFpvb20udHJhbnNmb3JtLCB0cmFuc2Zvcm0sIG51bGwsIG5ldyBNb3VzZUV2ZW50KCdzZXRab29tJykpXG4gIH1cblxuICByZXNldFpvb20oYXhpc0luZGV4ID0gMCwgYXhpc09yaWVudGF0aW9uID0gQXhpc09yaWVudGF0aW9uLngpIHtcbiAgICBjb25zdCBoYXNoID0gb2JqZWN0SGFzaC5zaGExKHtpbmRleDogYXhpc0luZGV4LCBvcmllbnRhdGlvbjogYXhpc09yaWVudGF0aW9ufSk7XG4gICAgaWYgKCF0aGlzLnpvb21IYXNoTWFwLmhhcyhoYXNoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBjdXJyZW50RWxlbWVudCA9IHRoaXMuZWxlbWVudEhhc2hNYXAuZ2V0KGhhc2gpO1xuICAgIGNvbnN0IGN1cnJlbnRab29tID0gdGhpcy56b29tSGFzaE1hcC5nZXQoaGFzaCk7XG4gICAgY3VycmVudEVsZW1lbnQudHJhbnNpdGlvbigpLmNhbGwoY3VycmVudFpvb20udHJhbnNmb3JtLCB6b29tSWRlbnRpdHksIG51bGwsIG5ldyBNb3VzZUV2ZW50KCdyZXNldFpvb20nKSk7XG4gIH1cblxufVxuIl19
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9vbS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NoYXJ0L3NlcnZpY2Uvem9vbS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLGVBQWUsRUFBYyxXQUFXLEdBQUUsTUFBTSxNQUFNLENBQUM7QUFHL0QsT0FBTyxFQUFlLFlBQVksRUFBQyxNQUFNLElBQUksQ0FBQztBQUM5QyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDL0QsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ25ELE9BQU8sVUFBVSxNQUFNLGFBQWEsQ0FBQzs7QUFLckMsTUFBTSxPQUFPLFdBQVc7SUFXdEI7UUFWQSwwQkFBcUIsR0FBRyxFQUFFLENBQUM7UUFFM0IsZ0JBQVcsR0FBRyxJQUFJLEdBQUcsRUFBZ0IsQ0FBQztRQUN0QyxpQkFBWSxHQUFHLElBQUksR0FBRyxFQUFlLENBQUM7UUFDdEMsbUJBQWMsR0FBRyxJQUFJLEdBQUcsRUFBZSxDQUFDO1FBQ3hDLGdCQUFXLEdBQUcsSUFBSSxHQUFHLEVBQWtDLENBQUM7UUFFaEQsWUFBTyxHQUFHLElBQUksZUFBZSxDQUFvQixFQUFFLENBQUMsQ0FBQztRQUkzRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztZQUN6RCxVQUFVLEVBQUUsQ0FBQztZQUNiLFFBQVEsRUFBRSxJQUFJO1NBQ2YsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDO0lBRUQsUUFBUSxDQUFDLElBQXVCO1FBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxPQUFlO1FBQ2pD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QUFFLElBQUksVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDM0csQ0FBQzs7d0dBbEZVLFdBQVc7NEdBQVgsV0FBVyxjQUZWLE1BQU07MkZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIHNoYXJlUmVwbGF5LH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0F4aXN9IGZyb20gJy4uL2NvcmUvYXhpcy9heGlzJztcbmltcG9ydCB7SUNoYXJ0RXZlbnR9IGZyb20gJy4uL21vZGVsL2ktY2hhcnQtZXZlbnQnO1xuaW1wb3J0IHtab29tQmVoYXZpb3IsIHpvb21JZGVudGl0eX0gZnJvbSBcImQzXCI7XG5pbXBvcnQge0F4aXNPcmllbnRhdGlvbn0gZnJvbSBcIi4uL21vZGVsL2VudW0vYXhpcy1vcmllbnRhdGlvblwiO1xuaW1wb3J0IHtTY2FsZVR5cGV9IGZyb20gXCIuLi9tb2RlbC9lbnVtL3NjYWxlLXR5cGVcIjtcbmltcG9ydCBvYmplY3RIYXNoIGZyb20gJ29iamVjdC1oYXNoJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFpvb21TZXJ2aWNlIHtcbiAgYnJvYWRjYXN0U3Vic2NyaXB0aW9uID0gW107XG4gIHpvb21lZDogT2JzZXJ2YWJsZTxJQ2hhcnRFdmVudDxBeGlzPj47XG4gIGF4aXNIYXNoTWFwID0gbmV3IE1hcDxzdHJpbmcsIEF4aXM+KCk7XG4gIHNjYWxlSGFzaE1hcCA9IG5ldyBNYXA8c3RyaW5nLCBhbnk+KCk7XG4gIGVsZW1lbnRIYXNoTWFwID0gbmV3IE1hcDxzdHJpbmcsIGFueT4oKTtcbiAgem9vbUhhc2hNYXAgPSBuZXcgTWFwPHN0cmluZywgWm9vbUJlaGF2aW9yPGFueSwgYW55Pj4oKTtcblxuICBwcml2YXRlIHpvb21lZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElDaGFydEV2ZW50PEF4aXM+Pih7fSk7XG4gIHByaXZhdGUgYnJvYWRjYXN0Q2hhbm5lbDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuem9vbWVkID0gdGhpcy56b29tZWQkLmFzT2JzZXJ2YWJsZSgpLnBpcGUoc2hhcmVSZXBsYXkoe1xuICAgICAgYnVmZmVyU2l6ZTogMSxcbiAgICAgIHJlZkNvdW50OiB0cnVlXG4gICAgfSkpO1xuICB9XG5cbiAgZmlyZVpvb20oem9vbTogSUNoYXJ0RXZlbnQ8QXhpcz4pIHtcbiAgICB0aGlzLnpvb21lZCQubmV4dCh6b29tKTtcbiAgfVxuXG4gIHNldEJyb2FkY2FzdENoYW5uZWwoY2hhbm5lbDogc3RyaW5nKSB7XG4gICAgdGhpcy5icm9hZGNhc3RDaGFubmVsID0gY2hhbm5lbDtcbiAgfVxuXG4gIHNldFpvb20oZnJvbTogbnVtYmVyLCB0bzogbnVtYmVyLCBheGlzSW5kZXggPSAwLCBheGlzT3JpZW50YXRpb24gPSBBeGlzT3JpZW50YXRpb24ueCkge1xuXG4gICAgY29uc3QgaGFzaCA9IG9iamVjdEhhc2guc2hhMSh7aW5kZXg6IGF4aXNJbmRleCwgb3JpZW50YXRpb246IGF4aXNPcmllbnRhdGlvbn0pO1xuXG4gICAgaWYgKCF0aGlzLnpvb21IYXNoTWFwLmhhcyhoYXNoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGN1cnJlbnRBeGlzID0gdGhpcy5heGlzSGFzaE1hcC5nZXQoaGFzaCk7XG4gICAgY29uc3QgY3VycmVudFNjYWxlID0gdGhpcy5zY2FsZUhhc2hNYXAuZ2V0KGhhc2gpO1xuICAgIGNvbnN0IGN1cnJlbnRFbGVtZW50ID0gdGhpcy5lbGVtZW50SGFzaE1hcC5nZXQoaGFzaCk7XG4gICAgY29uc3QgY3VycmVudFpvb20gPSB0aGlzLnpvb21IYXNoTWFwLmdldChoYXNoKTtcblxuICAgIGN1cnJlbnRTY2FsZS5kb21haW4oY3VycmVudEF4aXMub3JpZ2luRG9tYWluKVxuXG4gICAgaWYgKGF4aXNPcmllbnRhdGlvbiA9PT0gQXhpc09yaWVudGF0aW9uLngpIHtcbiAgICAgIGlmIChjdXJyZW50QXhpcy5vcHRpb25zLnNjYWxlVHlwZS50eXBlID09PSBTY2FsZVR5cGUubG9nKSB7XG4gICAgICAgIGN1cnJlbnRTY2FsZS5kb21haW4oY3VycmVudEF4aXMub3B0aW9ucy5pbnZlcnRlZCA/IFsuLi5jdXJyZW50QXhpcy5vcmlnaW5Eb21haW5dLnJldmVyc2UoKSA6IGN1cnJlbnRBeGlzLm9yaWdpbkRvbWFpbilcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoYXhpc09yaWVudGF0aW9uID09PSBBeGlzT3JpZW50YXRpb24ueSkge1xuICAgICAgaWYgKGN1cnJlbnRBeGlzLm9wdGlvbnMuc2NhbGVUeXBlLnR5cGUgPT09IFNjYWxlVHlwZS5sb2cpIHtcbiAgICAgICAgY3VycmVudFNjYWxlLmRvbWFpbihjdXJyZW50QXhpcy5vcHRpb25zLmludmVydGVkID8gY3VycmVudEF4aXMub3JpZ2luRG9tYWluIDogWy4uLmN1cnJlbnRBeGlzLm9yaWdpbkRvbWFpbl0ucmV2ZXJzZSgpKVxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGRlbHRhID0gTWF0aC5hYnMoY3VycmVudFNjYWxlKHRvKSAtIGN1cnJlbnRTY2FsZShmcm9tKSk7XG4gICAgY29uc3Qgc2NhbGUgPSBjdXJyZW50U2NhbGUucmFuZ2UoKVsxXSAvIGRlbHRhO1xuXG4gICAgbGV0IHRyYW5zZm9ybSA9IHpvb21JZGVudGl0eS5zY2FsZShzY2FsZSk7XG5cbiAgICBpZiAoY3VycmVudEF4aXMub3JpZW50YXRpb24gPT09IEF4aXNPcmllbnRhdGlvbi54KSB7XG4gICAgICBpZiAoY3VycmVudEF4aXMub3B0aW9ucy5zY2FsZVR5cGUudHlwZSA9PT0gU2NhbGVUeXBlLmxvZykge1xuICAgICAgICBjdXJyZW50U2NhbGUuZG9tYWluKGN1cnJlbnRBeGlzLm9wdGlvbnMuaW52ZXJ0ZWQgPyBbLi4uY3VycmVudFNjYWxlLmRvbWFpbigpXS5yZXZlcnNlKCkgOiBjdXJyZW50U2NhbGUuZG9tYWluKCkpXG4gICAgICB9XG4gICAgICB0cmFuc2Zvcm0gPSB0cmFuc2Zvcm0udHJhbnNsYXRlKC1jdXJyZW50U2NhbGUoZnJvbSksIDApO1xuICAgIH1cblxuICAgIGlmIChjdXJyZW50QXhpcy5vcmllbnRhdGlvbiA9PT0gQXhpc09yaWVudGF0aW9uLnkpIHtcbiAgICAgIGlmIChjdXJyZW50QXhpcy5vcHRpb25zLnNjYWxlVHlwZS50eXBlID09PSBTY2FsZVR5cGUubG9nKSB7XG4gICAgICAgIGN1cnJlbnRTY2FsZS5kb21haW4oY3VycmVudEF4aXMub3B0aW9ucy5pbnZlcnRlZCA/IGN1cnJlbnRTY2FsZS5kb21haW4oKSA6IFsuLi5jdXJyZW50U2NhbGUuZG9tYWluKCldLnJldmVyc2UoKSlcbiAgICAgIH1cbiAgICAgIHRyYW5zZm9ybSA9IHRyYW5zZm9ybS50cmFuc2xhdGUoMCwgLWN1cnJlbnRTY2FsZShmcm9tKSk7XG4gICAgfVxuICAgIGN1cnJlbnRFbGVtZW50LnRyYW5zaXRpb24oKS5jYWxsKGN1cnJlbnRab29tLnRyYW5zZm9ybSwgdHJhbnNmb3JtLCBudWxsLCBuZXcgTW91c2VFdmVudCgnc2V0Wm9vbScpKVxuICB9XG5cbiAgcmVzZXRab29tKGF4aXNJbmRleCA9IDAsIGF4aXNPcmllbnRhdGlvbiA9IEF4aXNPcmllbnRhdGlvbi54KSB7XG4gICAgY29uc3QgaGFzaCA9IG9iamVjdEhhc2guc2hhMSh7aW5kZXg6IGF4aXNJbmRleCwgb3JpZW50YXRpb246IGF4aXNPcmllbnRhdGlvbn0pO1xuICAgIGlmICghdGhpcy56b29tSGFzaE1hcC5oYXMoaGFzaCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgY3VycmVudEVsZW1lbnQgPSB0aGlzLmVsZW1lbnRIYXNoTWFwLmdldChoYXNoKTtcbiAgICBjb25zdCBjdXJyZW50Wm9vbSA9IHRoaXMuem9vbUhhc2hNYXAuZ2V0KGhhc2gpO1xuICAgIGN1cnJlbnRFbGVtZW50LnRyYW5zaXRpb24oKS5jYWxsKGN1cnJlbnRab29tLnRyYW5zZm9ybSwgem9vbUlkZW50aXR5LCBudWxsLCBuZXcgTW91c2VFdmVudCgncmVzZXRab29tJykpO1xuICB9XG5cbn1cbiJdfQ==