mmhglobal-dynamicform 2.41.4 → 2.41.5

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/README.md CHANGED
@@ -5,6 +5,9 @@ This library was generated with [Angular CLI](https://github.com/angular/angular
5
5
  ## Changelog
6
6
  ### Upcoming
7
7
 
8
+ ### 2.41.5
9
+ - Determine the URL and resolve to either mmh or mus domain based on the DNS for zreport.
10
+
8
11
  ### 2.41.4
9
12
  - Determine the URL and resolve to either mmh or mus domain based on the DNS for zupload and zreport.
10
13
 
@@ -39,7 +39,7 @@ export class ZreportComponent extends FieldBase {
39
39
  this.onPrintBegin = this.printBegin.bind(this);
40
40
  this.onPrintEnd = this.printEnd.bind(this);
41
41
  super.initComponent().subscribe(() => {
42
- this.serviceUrl = this.resourceApiService.getURL(this.data.ResourceURL);
42
+ this.serviceUrl = this.zcoreService.normalizeUrl(this.resourceApiService.getURL(this.data.ResourceURL));
43
43
  if (!this.serviceUrl) {
44
44
  console.log("resourceURL is empty.");
45
45
  }
@@ -182,4 +182,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImpor
182
182
  type: HostListener,
183
183
  args: ['window:resize', ['$event']]
184
184
  }] } });
185
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoienJlcG9ydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbWhnbG9iYWwtZHluYW1pY2Zvcm0vc3JjL2xpYi96cmVwb3J0L3pyZXBvcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvenJlcG9ydC96cmVwb3J0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtCQUErQjtBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFVLFNBQVMsRUFBRSxZQUFZLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBTzFGLDJDQUEyQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFOUQsT0FBTyxFQUFxRSxnQkFBZ0IsRUFBZ0IsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUFXcEksTUFBTSxPQUFPLGdCQUFpQixTQUFRLFNBQVM7SUEwQjdDLFlBQ1MsZ0JBQW1DLEVBQ25DLGtCQUFzQyxFQUNyQyxrQkFBc0MsRUFDdEMsV0FBd0IsRUFDeEIsWUFBMEIsRUFDMUIsWUFBMEI7UUFFbEMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFQakIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFtQjtRQUNuQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3JDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUF0QjVCLGtCQUFhLEdBQVksSUFBSSxDQUFDO1FBRS9CLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFDbEIsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFDcEIseUJBQW9CLEdBQUc7WUFDNUIsUUFBUSxFQUFFLFVBQVU7WUFDcEIsS0FB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TyxDQUFDLElBQUksQ0FBQywyREFBMkQsQ0FBQyxDQUFBO1lBQ3pFLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1NBQ3JCO0lBQ0gsQ0FBQztJQUVNLGNBQWM7UUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRS9DLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUU7WUFDL0UsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsbUJBQW1CLENBQUMsYUFBYSxDQUFDO1NBQ2pHO1FBRUQsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzVCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQzVFO1FBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQy9DLDhCQUE4QjtJQUNoQyxDQUFDOzs2R0F2TVUsZ0JBQWdCO2lHQUFoQixnQkFBZ0IsaVBDdEI3Qix1dUJBa0JBOzJGRElhLGdCQUFnQjtrQkFONUIsU0FBUzsrQkFDRSxhQUFhOzBQQU13QixNQUFNO3NCQUFwRCxTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBOEQ3QyxRQUFRO3NCQURQLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKiogQW5ndWxhciAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgVmlld0NoaWxkLCBIb3N0TGlzdGVuZXIsIEFmdGVyVmlld0luaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuLyoqKioqKioqKiogSW9uaWMgKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqIFBsdWdpbiAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBUZWxlcmlrUmVwb3J0Vmlld2VyQ29tcG9uZW50IH0gZnJvbSBcIkBwcm9ncmVzcy90ZWxlcmlrLWFuZ3VsYXItcmVwb3J0LXZpZXdlclwiO1xyXG5cclxuLyoqKioqKioqKiogQ29tcG9uZW50ICYgU2VydmljZSAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBGaWVsZEJhc2UgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9maWVsZGJhc2UuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFpDb21wb25lbnRTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL3pjb21wb25lbnQuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBBbGVydFNlcnZpY2UsIEF1dGhTZXJ2aWNlLCBGb250QXdlU29tZVNlcnZpY2UsIFJlc291cmNlQXBpU2VydmljZSwgWkNvbXBvbmVudEhlbHBlciwgWkNvcmVTZXJ2aWNlIH0gZnJvbSBcIm1taGdsb2JhbC16Y29yZVwiO1xyXG5cclxuZGVjbGFyZSB2YXIgJDogYW55O1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImFwcC16cmVwb3J0XCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi96cmVwb3J0LmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL3pyZXBvcnQuY29tcG9uZW50LnNjc3NcIl1cclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBacmVwb3J0Q29tcG9uZW50IGV4dGVuZHMgRmllbGRCYXNlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcclxuICBAVmlld0NoaWxkKCdyZXBvcnRWaWV3ZXIxJywgeyBzdGF0aWM6IGZhbHNlIH0pIHZpZXdlcjogVGVsZXJpa1JlcG9ydFZpZXdlckNvbXBvbmVudDtcclxuXHJcbiAgcHVibGljIG9uRXhwb3J0QmVnaW46IEZ1bmN0aW9uO1xyXG4gIHB1YmxpYyBvbkV4cG9ydEVuZDogRnVuY3Rpb247XHJcbiAgcHVibGljIG9uUmVuZGVyaW5nQmVnaW46IEZ1bmN0aW9uO1xyXG4gIHB1YmxpYyBvblJlbmRlcmluZ0VuZDogRnVuY3Rpb247XHJcbiAgcHVibGljIG9uUHJpbnRCZWdpbjogRnVuY3Rpb247XHJcbiAgcHVibGljIG9uUHJpbnRFbmQ6IEZ1bmN0aW9uO1xyXG5cclxuICBwcml2YXRlIGFsbG93UHJpbnRQREY6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBwdWJsaWMgc2VydmljZVVybCA9IG51bGw7XHJcbiAgcHVibGljIHJlcG9ydFNvdXJjZSA9IG51bGw7XHJcbiAgcHVibGljIHZpZXdlckNvbnRhaW5lclN0eWxlID0ge1xyXG4gICAgcG9zaXRpb246IFwicmVsYXRpdmVcIixcclxuICAgIHdpZHRoOiBcIjEwMCVcIixcclxuICAgIGhlaWdodDogXCI4MDBweFwiLFxyXG4gICAgZm9udEZhbWlseTogJ0FyaWFsLCBzYW5zLXNlcmlmJyxcclxuICAgIGJhY2tncm91bmRDb2xvcjogJyNmOWY5ZjknLFxyXG4gICAgYm94U2hhZG93OiAnMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xKScsXHJcbiAgICBmb250U2l6ZTogJzE2cHgnLFxyXG4gICAgbGluZUhlaWdodDogJzEuNScsXHJcbiAgICBjb2xvcjogJyMzMzMnLFxyXG4gIH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGNvbXBvbmVudFNlcnZpY2U6IFpDb21wb25lbnRTZXJ2aWNlLFxyXG4gICAgcHVibGljIGZvbnRBd2VTb21lU2VydmljZTogRm9udEF3ZVNvbWVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZXNvdXJjZUFwaVNlcnZpY2U6IFJlc291cmNlQXBpU2VydmljZSxcclxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZSxcclxuICAgIHByaXZhdGUgemNvcmVTZXJ2aWNlOiBaQ29yZVNlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKGNvbXBvbmVudFNlcnZpY2UpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLm9uRXhwb3J0QmVnaW4gPSB0aGlzLmV4cG9ydEJlZ2luLmJpbmQodGhpcyk7XHJcbiAgICB0aGlzLm9uRXhwb3J0RW5kID0gdGhpcy5leHBvcnRFbmQuYmluZCh0aGlzKTtcclxuICAgIHRoaXMub25SZW5kZXJpbmdCZWdpbiA9IHRoaXMucmVuZGVyaW5nQmVnaW4uYmluZCh0aGlzKTtcclxuICAgIHRoaXMub25SZW5kZXJpbmdFbmQgPSB0aGlzLnJlbmRlcmluZ0VuZC5iaW5kKHRoaXMpO1xyXG4gICAgdGhpcy5vblByaW50QmVnaW4gPSB0aGlzLnByaW50QmVnaW4uYmluZCh0aGlzKTtcclxuICAgIHRoaXMub25QcmludEVuZCA9IHRoaXMucHJpbnRFbmQuYmluZCh0aGlzKTtcclxuXHJcblxyXG4gICAgc3VwZXIuaW5pdENvbXBvbmVudCgpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuc2VydmljZVVybCA9IHRoaXMucmVzb3VyY2VBcGlTZXJ2aWNlLmdldFVSTCh0aGlzLmRhdGEuUmVzb3VyY2VVUkwpO1xyXG4gICAgICBpZiAoIXRoaXMuc2VydmljZVVybCkge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFwicmVzb3VyY2VVUkwgaXMgZW1wdHkuXCIpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoISF0aGlzLmRhdGEuSXNBdXRvR2VuZXJhdGVSZXBvcnQpIHtcclxuICAgICAgICB0aGlzLnJlcG9ydFNvdXJjZSA9IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBFdmFsVmFsdWUuY2FsbCh0aGlzLCB0aGlzLmRhdGEuUmVwb3J0U291cmNlKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvbXBvbmVudFNlcnZpY2UuZGVjcmVtZW50Q29tcG9uZW50Q291bnRlckZvckZpZWxkKHRoaXMuZGF0YSk7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcclxuICBvblJlc2l6ZSgpIHtcclxuICAgIGNvbnNvbGUubG9nKFwiUmVwb3J0IHJlc2l6ZWQuXCIpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uUmVhZHkoKSB7XHJcbiAgICBjb25zb2xlLmxvZyhcIlJlcG9ydCByZWFkeS5cIik7XHJcbiAgICAkKFwiW2RhdGEtY29tbWFuZCo9J3RlbGVyaWtfUmVwb3J0Vmlld2VyX2hpc3RvcnlCYWNrJ11cIikucGFyZW50KCkuaGlkZSgpO1xyXG4gICAgJChcIltkYXRhLWNvbW1hbmQqPSd0ZWxlcmlrX1JlcG9ydFZpZXdlcl9oaXN0b3J5Rm9yd2FyZCddXCIpLnBhcmVudCgpLmhpZGUoKTtcclxuICAgICQoXCJbZGF0YS1jb21tYW5kKj0ndGVsZXJpa19SZXBvcnRWaWV3ZXJfc3RvcFJlbmRlcmluZyddXCIpLnBhcmVudCgpLmhpZGUoKTtcclxuICAgIC8vJChcIltkYXRhLWNvbW1hbmQqPSd0ZWxlcmlrX1JlcG9ydFZpZXdlcl9yZWZyZXNoJ11cIikucGFyZW50KCkuaGlkZSgpO1xyXG4gICAgLy8kKFwiW2RhdGEtY29tbWFuZCo9J3RlbGVyaWtfUmVwb3J0Vmlld2VyX2dvVG9GaXJzdFBhZ2UnXVwiKS5wYXJlbnQoKS5oaWRlKCk7XHJcbiAgICAvLyQoXCJbZGF0YS1jb21tYW5kKj0ndGVsZXJpa19SZXBvcnRWaWV3ZXJfZ29Ub1ByZXZQYWdlJ11cIikucGFyZW50KCkuaGlkZSgpO1xyXG4gICAgLy8kKFwiW2RhdGEtY29tbWFuZCo9J3RlbGVyaWtfUmVwb3J0Vmlld2VyX2dvVG9OZXh0UGFnZSddXCIpLnBhcmVudCgpLmhpZGUoKTtcclxuICAgIC8vJChcIltkYXRhLWNvbW1hbmQqPSd0ZWxlcmlrX1JlcG9ydFZpZXdlcl9nb1RvTGFzdFBhZ2UnXVwiKS5wYXJlbnQoKS5oaWRlKCk7XHJcbiAgICAvLyQoXCJbZGF0YS1jb21tYW5kKj0ndGVsZXJpa19SZXBvcnRWaWV3ZXJfdG9nZ2xlUHJpbnRQcmV2aWV3J11cIikucGFyZW50KCkuaGlkZSgpO1xyXG4gICAgLy8kKFwiW2RhdGEtY29tbWFuZCo9J3RlbGVyaWtfUmVwb3J0Vmlld2VyX2V4cG9ydCddXCIpLnBhcmVudCgpLmhpZGUoKTtcclxuICAgIC8vJChcIltkYXRhLWNvbW1hbmQqPSd0ZWxlcmlrX1JlcG9ydFZpZXdlcl9wcmludCddXCIpLnBhcmVudCgpLmhpZGUoKTtcclxuICAgICQoXCJbZGF0YS1jb21tYW5kKj0ndGVsZXJpa19SZXBvcnRWaWV3ZXJfdG9nZ2xlRG9jdW1lbnRNYXAnXVwiKS5wYXJlbnQoKS5oaWRlKCk7XHJcbiAgICAkKFwiW2RhdGEtY29tbWFuZCo9J3RlbGVyaWtfUmVwb3J0Vmlld2VyX3RvZ2dsZVBhcmFtZXRlcnNBcmVhJ11cIikucGFyZW50KCkuaGlkZSgpO1xyXG4gICAgLy8kKFwiW2RhdGEtY29tbWFuZCo9J3RlbGVyaWtfUmVwb3J0Vmlld2VyX3pvb21JbiddXCIpLnBhcmVudCgpLmhpZGUoKTtcclxuICAgIC8vJChcIltkYXRhLWNvbW1hbmQqPSd0ZWxlcmlrX1JlcG9ydFZpZXdlcl96b29tT3V0J11cIikucGFyZW50KCkuaGlkZSgpO1xyXG4gICAgLy8kKFwiW2RhdGEtY29tbWFuZCo9J3RlbGVyaWtfUmVwb3J0Vmlld2VyX3RvZ2dsZVpvb21Nb2RlJ11cIikucGFyZW50KCkuaGlkZSgpO1xyXG4gICAgJChcIltkYXRhLWNvbW1hbmQqPSd0ZWxlcmlrX1JlcG9ydFZpZXdlcl90b2dnbGVTZWFyY2hEaWFsb2cnXVwiKS5wYXJlbnQoKS5oaWRlKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZXhwb3J0QmVnaW4oZTogYW55LCBhcmdzOiBhbnkpIHtcclxuICAgIGNvbnNvbGUubG9nKFwiRXhwb3J0IGJlZ2luLlwiKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBleHBvcnRFbmQoZTogYW55LCBhcmdzOiBhbnkpIHtcclxuICAgIGNvbnNvbGUubG9nKFwiRXhwb3J0IGVuZC5cIik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVuZGVyaW5nQmVnaW4oZTogYW55LCBhcmdzOiBhbnkpOiB2b2lkIHtcclxuICAgIGNvbnNvbGUubG9nKFwiUmVuZGVyaW5nIHN0YXJ0ZWQuXCIpO1xyXG4gICAgaWYgKHRoaXMucmVwb3J0U291cmNlLnBhcmFtZXRlcnMgJiYgdGhpcy5yZXBvcnRTb3VyY2UucGFyYW1ldGVycy5BdXRob3JpemF0aW9uICE9PSB0aGlzLmF1dGhTZXJ2aWNlLmF1dGhvcml6YXRpb25CZWFyZXIuQXV0aG9yaXphdGlvbikge1xyXG4gICAgICBjb25zb2xlLndhcm4oXCJVcGRhdGVkIGludmFsaWQgYXV0aG9yaXphdGlvbiB0b2tlbi5cIik7XHJcblxyXG4gICAgICB0aGlzLnJlcG9ydFNvdXJjZS5wYXJhbWV0ZXJzLkF1dGhvcml6YXRpb24gPSB0aGlzLmF1dGhTZXJ2aWNlLmF1dGhvcml6YXRpb25CZWFyZXIuQXV0aG9yaXphdGlvbjtcclxuICAgICAgdGhpcy52aWV3ZXIuc2V0UmVwb3J0U291cmNlKHRoaXMucmVwb3J0U291cmNlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyByZW5kZXJpbmdFbmQoZTogYW55LCBhcmdzOiBhbnkpOiB2b2lkIHtcclxuICAgIGNvbnNvbGUubG9nKFwiUmVuZGVyaW5nIGVuZGVkLlwiKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2VuZXJhdGVFbXB0eVBkZigpOiBCbG9iIHtcclxuICAgIC8vIENyZWF0ZSBhbiBlbXB0eSBQREYgZmlsZSB3aXRoIGp1c3QgYSBoZWFkZXJcclxuICAgIGNvbnN0IHBkZkNvbnRlbnQgPSAnJVBERi0xLjNcXG4xIDAgb2JqXFxuPDwgL1R5cGUgL0NhdGFsb2cgL1BhZ2VzIDIgMCBSID4+XFxuZW5kb2JqXFxuMiAwIG9ialxcbjw8IC9UeXBlIC9QYWdlcyAvS2lkcyBbXSAvQ291bnQgMCA+PlxcbmVuZG9ialxcbnhyZWZcXG4wIDNcXG4wMDAwMDAwMDAwIDY1NTM1IGYgXFxuMDAwMDAwMDAxMCAwMDAwMCBuIFxcbnRyYWlsZXJcXG48PCAvUm9vdCAxIDAgUiAvU2l6ZSAzID4+XFxuc3RhcnR4cmVmXFxuMjA1XFxuJSVFT0YnO1xyXG4gICAgcmV0dXJuIG5ldyBCbG9iKFtwZGZDb250ZW50XSwgeyB0eXBlOiAnYXBwbGljYXRpb24vcGRmJyB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBwcmludEJlZ2luKGU6IGFueSwgYXJnczogYW55KSB7XHJcbiAgICBjb25zb2xlLmxvZyhcIlByaW50IGJlZ2luLlwiKTtcclxuXHJcbiAgICBjb25zdCBhbGVydFRpdGxlID0gJ1ByaW50IFBERiBFcnJvcic7XHJcbiAgICBjb25zdCBwZGZCbG9iID0gdGhpcy5nZW5lcmF0ZUVtcHR5UGRmKCk7XHJcbiAgICBjb25zdCBwZGZVcmwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKHBkZkJsb2IpOyBjb25zdCB1c2VyQWdlbnQgPSBuYXZpZ2F0b3IudXNlckFnZW50O1xyXG4gICAgY29uc3QgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7XHJcbiAgICBsZXQgaXNDaHJvbWUgPSBmYWxzZTtcclxuICAgIGxldCBpc0VkZ2UgPSBmYWxzZTtcclxuXHJcbiAgICBpZiAoL0VkZy8udGVzdCh1c2VyQWdlbnQpKSB7XHJcbiAgICAgIGlzRWRnZSA9IHRydWU7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmICgvQ2hyb21lLy50ZXN0KHVzZXJBZ2VudCkpIHtcclxuICAgICAgaXNDaHJvbWUgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmcmFtZS5zcmMgPSBwZGZVcmw7XHJcbiAgICBpZnJhbWUub25sb2FkID0gKCkgPT4ge1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIGNvbnN0IGlmcmFtZURvY3VtZW50ID0gaWZyYW1lLmNvbnRlbnREb2N1bWVudCB8fCBpZnJhbWUuY29udGVudFdpbmRvdz8uZG9jdW1lbnQ7XHJcbiAgICAgICAgY29uc3QgcGRmRWxlbWVudCA9IGlmcmFtZURvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2VtYmVkW3R5cGU9XCJhcHBsaWNhdGlvbi9wZGZcIl0sIG9iamVjdFt0eXBlPVwiYXBwbGljYXRpb24vcGRmXCJdLCBpZnJhbWUnKTtcclxuICAgICAgICBjb25zb2xlLmxvZygnQ2hlY2tpbmcgYnJvd3NlciBpcyByZXBvcnQgYWJsZSB0byBwcmludC4nLCBwZGZFbGVtZW50KTtcclxuXHJcbiAgICAgICAgLy8gSWYgbm8gUERGIGVsZW1lbnQgZm91bmQsIGFsZXJ0IHVzZXIgYWJvdXQgcG90ZW50aWFsIGlzc3VlXHJcbiAgICAgICAgaWYgKCFwZGZFbGVtZW50KSB7XHJcbiAgICAgICAgICB0aGlzLmFsbG93UHJpbnRQREYgPSBmYWxzZTtcclxuXHJcbiAgICAgICAgICBpZiAoaXNDaHJvbWUpIHtcclxuICAgICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc2hvd09rYXkoYWxlcnRUaXRsZSwgXCJTdGVwIDE6IFBsZWFzZSBuYXZpZ2F0ZSB0byAnY2hyb21lOi8vc2V0dGluZ3MvY29udGVudC9wZGZEb2N1bWVudHMnIGluIHRoZSBicm93ZXIuPGJyLz5TdGVwIDI6IFNlbGVjdCAnT3BlbiBQREZzIGluIENocm9tZScgaW4gdGhlIHNldHRpbmcgYmVmb3JlIHByaW50aW5nIHRoZSByZXBvcnQuXCIsIFtcImNvbC02XCJdKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGVsc2UgaWYgKGlzRWRnZSkge1xyXG4gICAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5zaG93T2theShhbGVydFRpdGxlLCBcIlN0ZXAgMTogUGxlYXNlIG5hdmlnYXRlIHRvICdlZGdlOi8vc2V0dGluZ3MvY29udGVudC9wZGZEb2N1bWVudHMnIGluIHRoZSBicm93ZXIuPGJyLz5TdGVwIDI6IEVuYWJsZSAnUERGIHZpZXcgc2V0dGluZ3MnIGFuZCBEaXNhYmxlICdBbHdheXMgRG93bmxvYWQgUERGIGZpbGVzJyBpbiB0aGUgc2V0dGluZyBiZWZvcmUgcHJpbnRpbmcgdGhlIHJlcG9ydC5cIiwgW1wiY29sLTZcIl0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnNob3dPa2F5KGFsZXJ0VGl0bGUsIFwiVGhlIGJyb3dzZXIgc2V0dGluZ3MgY2Fubm90IGJlIGRldGVjdGVkLCBwbGVhc2UgcmVhY2ggb3V0IHRvIHN1cHBvcnQgZm9yIGFzc2lzdGFuY2UuXCIsIFtcImNvbC00XCJdKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmFsbG93UHJpbnRQREYgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICAvLyBJZiBhY2Nlc3NpbmcgaWZyYW1lIGNvbnRlbnQgdGhyb3dzIGFuIGVycm9yLCBhbGVydCB1c2VyIGFib3V0IHBvdGVudGlhbCBpc3N1ZVxyXG4gICAgICAgIHRoaXMuYWxsb3dQcmludFBERiA9IGZhbHNlO1xyXG4gICAgICAgIC8vIFBERiBmYWlsZWQgdG8gbG9hZCBvciBkaXNwbGF5IHByb3Blcmx5XHJcbiAgICAgICAgY29uc29sZS5sb2coJ1BERiBmYWlsZWQgdG8gbG9hZCBvciBkaXNwbGF5IHByb3Blcmx5IGluIHRoZSBpZnJhbWUuJyk7XHJcbiAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc2hvd09rYXkoYWxlcnRUaXRsZSwgXCJUaGUgYnJvd3NlciBzZXR0aW5ncyBjYW5ub3QgYmUgZGV0ZWN0ZWQsIHBsZWFzZSByZWFjaCBvdXQgdG8gc3VwcG9ydCBmb3IgYXNzaXN0YW5jZS5cIiwgW1wiY29sLTRcIl0pO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG5cclxuICAgIGlmcmFtZS5vbmVycm9yID0gKCkgPT4ge1xyXG4gICAgICB0aGlzLmFsbG93UHJpbnRQREYgPSBmYWxzZTtcclxuICAgICAgLy8gUERGIGZhaWxlZCB0byBsb2FkIG9yIGRpc3BsYXkgcHJvcGVybHlcclxuICAgICAgY29uc29sZS5sb2coJ1BERiBmYWlsZWQgdG8gbG9hZCBvciBkaXNwbGF5IHByb3Blcmx5IGluIHRoZSBpZnJhbWUuJyk7XHJcbiAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnNob3dPa2F5KGFsZXJ0VGl0bGUsIFwiVGhlIGJyb3dzZXIgc2V0dGluZ3MgY2Fubm90IGJlIGRldGVjdGVkLCBwbGVhc2UgcmVhY2ggb3V0IHRvIHN1cHBvcnQgZm9yIGFzc2lzdGFuY2UuXCIsIFtcImNvbC00XCJdKTtcclxuICAgIH07XHJcblxyXG4gICAgaWZyYW1lLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XHJcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcHJpbnRFbmQoZTogYW55LCBhcmdzOiBhbnkpIHtcclxuICAgIGNvbnNvbGUubG9nKFwiUHJpbnQgZW5kLlwiKTtcclxuXHJcbiAgICBpZiAoIXRoaXMuYWxsb3dQcmludFBERikge1xyXG4gICAgICBjb25zb2xlLndhcm4oJ0Jyb3dzZXIgaW5jb3JyZWN0IGNvbmZpZ3VyYXRpb24sIHVuYWJsZSB0byBwcmludCB0aGUgUERGLicpXHJcbiAgICAgIGFyZ3MuaGFuZGxlZCA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2VuZXJhdGVSZXBvcnQoKSB7XHJcbiAgICB0aGlzLnJlcG9ydFNvdXJjZSA9IHRoaXMuZ3JvdXBbXCJSZXBvcnRTb3VyY2VcIl07XHJcblxyXG4gICAgaWYgKHRoaXMucmVwb3J0U291cmNlLnBhcmFtZXRlcnMgJiYgIXRoaXMucmVwb3J0U291cmNlLnBhcmFtZXRlcnMuQXV0aG9yaXphdGlvbikge1xyXG4gICAgICB0aGlzLnJlcG9ydFNvdXJjZS5wYXJhbWV0ZXJzLkF1dGhvcml6YXRpb24gPSB0aGlzLmF1dGhTZXJ2aWNlLmF1dGhvcml6YXRpb25CZWFyZXIuQXV0aG9yaXphdGlvbjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5yZXBvcnRTb3VyY2VbJ3VybCddKSB7XHJcbiAgICAgIHRoaXMuc2VydmljZVVybCA9IHRoaXMuemNvcmVTZXJ2aWNlLm5vcm1hbGl6ZVVybCh0aGlzLnJlcG9ydFNvdXJjZVsndXJsJ10pO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudmlld2VyLnNldFJlcG9ydFNvdXJjZSh0aGlzLnJlcG9ydFNvdXJjZSk7XHJcbiAgICAvL3RoaXMudmlld2VyLnJlZnJlc2hSZXBvcnQoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiB3aWR0aD1cIjEwMCVcIiBoZWlnaHQ9XCI4MDBweFwiPiBcclxuICA8dHItdmlld2VyICNyZXBvcnRWaWV3ZXIxXHJcbiAgICAgICAgICAgICBbY29udGFpbmVyU3R5bGVdPVwidmlld2VyQ29udGFpbmVyU3R5bGVcIlxyXG4gICAgICAgICAgICAgW3NlcnZpY2VVcmxdPVwic2VydmljZVVybFwiXHJcbiAgICAgICAgICAgICBbcmVwb3J0U291cmNlXT1cInJlcG9ydFNvdXJjZVwiXHJcbiAgICAgICAgICAgICBbdmlld01vZGVdPVwiJ0lOVEVSQUNUSVZFJ1wiXHJcbiAgICAgICAgICAgICBbc2NhbGVNb2RlXT1cIidTUEVDSUZJQydcIlxyXG4gICAgICAgICAgICAgW3NjYWxlXT1cIjEuMFwiXHJcbiAgICAgICAgICAgICBbZW5hYmxlQWNjZXNzaWJpbGl0eV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICBbcmVhZHldPVwib25SZWFkeVwiIFxyXG4gICAgICAgICAgICAgW2V4cG9ydEJlZ2luXT1cIm9uRXhwb3J0QmVnaW5cIlxyXG4gICAgICAgICAgICAgW2V4cG9ydEVuZF09XCJvbkV4cG9ydEVuZFwiXHJcbiAgICAgICAgICAgICBbcmVuZGVyaW5nQmVnaW5dPVwib25SZW5kZXJpbmdCZWdpblwiXHJcbiAgICAgICAgICAgICBbcmVuZGVyaW5nRW5kXT1cIm9uUmVuZGVyaW5nRW5kXCJcclxuICAgICAgICAgICAgIFtwcmludEJlZ2luXT1cIm9uUHJpbnRCZWdpblwiXHJcbiAgICAgICAgICAgICBbcHJpbnRFbmRdPVwib25QcmludEVuZFwiPlxyXG4gIDwvdHItdmlld2VyPlxyXG48L2Rpdj5cclxuIl19
185
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoienJlcG9ydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbWhnbG9iYWwtZHluYW1pY2Zvcm0vc3JjL2xpYi96cmVwb3J0L3pyZXBvcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvenJlcG9ydC96cmVwb3J0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtCQUErQjtBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFVLFNBQVMsRUFBRSxZQUFZLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBTzFGLDJDQUEyQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFOUQsT0FBTyxFQUFxRSxnQkFBZ0IsRUFBZ0IsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUFXcEksTUFBTSxPQUFPLGdCQUFpQixTQUFRLFNBQVM7SUEwQjdDLFlBQ1MsZ0JBQW1DLEVBQ25DLGtCQUFzQyxFQUNyQyxrQkFBc0MsRUFDdEMsV0FBd0IsRUFDeEIsWUFBMEIsRUFDMUIsWUFBMEI7UUFFbEMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFQakIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFtQjtRQUNuQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3JDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUF0QjVCLGtCQUFhLEdBQVksSUFBSSxDQUFDO1FBRS9CLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFDbEIsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFDcEIseUJBQW9CLEdBQUc7WUFDNUIsUUFBUSxFQUFFLFVBQVU7WUFDcEIsS0FB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LENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN2QixPQUFPLENBQUMsSUFBSSxDQUFDLDJEQUEyRCxDQUFDLENBQUE7WUFDekUsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7U0FDckI7SUFDSCxDQUFDO0lBRU0sY0FBYztRQUNuQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFL0MsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRTtZQUMvRSxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUM7U0FDakc7UUFFRCxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDNUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7U0FDNUU7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDL0MsOEJBQThCO0lBQ2hDLENBQUM7OzZHQXZNVSxnQkFBZ0I7aUdBQWhCLGdCQUFnQixpUEN0QjdCLHV1QkFrQkE7MkZESWEsZ0JBQWdCO2tCQU41QixTQUFTOytCQUNFLGFBQWE7MFBBTXdCLE1BQU07c0JBQXBELFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkE4RDdDLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKiBBbmd1bGFyICoqKioqKioqKiovXHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGQsIEhvc3RMaXN0ZW5lciwgQWZ0ZXJWaWV3SW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vKioqKioqKioqKiBJb25pYyAqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKiogUGx1Z2luICoqKioqKioqKiovXHJcbmltcG9ydCB7IFRlbGVyaWtSZXBvcnRWaWV3ZXJDb21wb25lbnQgfSBmcm9tIFwiQHByb2dyZXNzL3RlbGVyaWstYW5ndWxhci1yZXBvcnQtdmlld2VyXCI7XHJcblxyXG4vKioqKioqKioqKiBDb21wb25lbnQgJiBTZXJ2aWNlICoqKioqKioqKiovXHJcbmltcG9ydCB7IEZpZWxkQmFzZSB9IGZyb20gXCIuLi9jb21wb25lbnRzL2ZpZWxkYmFzZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgWkNvbXBvbmVudFNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvemNvbXBvbmVudC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEFsZXJ0U2VydmljZSwgQXV0aFNlcnZpY2UsIEZvbnRBd2VTb21lU2VydmljZSwgUmVzb3VyY2VBcGlTZXJ2aWNlLCBaQ29tcG9uZW50SGVscGVyLCBaQ29yZVNlcnZpY2UgfSBmcm9tIFwibW1oZ2xvYmFsLXpjb3JlXCI7XHJcblxyXG5kZWNsYXJlIHZhciAkOiBhbnk7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiYXBwLXpyZXBvcnRcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL3pyZXBvcnQuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4venJlcG9ydC5jb21wb25lbnQuc2Nzc1wiXVxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIFpyZXBvcnRDb21wb25lbnQgZXh0ZW5kcyBGaWVsZEJhc2UgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xyXG4gIEBWaWV3Q2hpbGQoJ3JlcG9ydFZpZXdlcjEnLCB7IHN0YXRpYzogZmFsc2UgfSkgdmlld2VyOiBUZWxlcmlrUmVwb3J0Vmlld2VyQ29tcG9uZW50O1xyXG5cclxuICBwdWJsaWMgb25FeHBvcnRCZWdpbjogRnVuY3Rpb247XHJcbiAgcHVibGljIG9uRXhwb3J0RW5kOiBGdW5jdGlvbjtcclxuICBwdWJsaWMgb25SZW5kZXJpbmdCZWdpbjogRnVuY3Rpb247XHJcbiAgcHVibGljIG9uUmVuZGVyaW5nRW5kOiBGdW5jdGlvbjtcclxuICBwdWJsaWMgb25QcmludEJlZ2luOiBGdW5jdGlvbjtcclxuICBwdWJsaWMgb25QcmludEVuZDogRnVuY3Rpb247XHJcblxyXG4gIHByaXZhdGUgYWxsb3dQcmludFBERjogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIHB1YmxpYyBzZXJ2aWNlVXJsID0gbnVsbDtcclxuICBwdWJsaWMgcmVwb3J0U291cmNlID0gbnVsbDtcclxuICBwdWJsaWMgdmlld2VyQ29udGFpbmVyU3R5bGUgPSB7XHJcbiAgICBwb3NpdGlvbjogXCJyZWxhdGl2ZVwiLFxyXG4gICAgd2lkdGg6IFwiMTAwJVwiLFxyXG4gICAgaGVpZ2h0OiBcIjgwMHB4XCIsXHJcbiAgICBmb250RmFtaWx5OiAnQXJpYWwsIHNhbnMtc2VyaWYnLFxyXG4gICAgYmFja2dyb3VuZENvbG9yOiAnI2Y5ZjlmOScsXHJcbiAgICBib3hTaGFkb3c6ICcwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjEpJyxcclxuICAgIGZvbnRTaXplOiAnMTZweCcsXHJcbiAgICBsaW5lSGVpZ2h0OiAnMS41JyxcclxuICAgIGNvbG9yOiAnIzMzMycsXHJcbiAgfTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgY29tcG9uZW50U2VydmljZTogWkNvbXBvbmVudFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgZm9udEF3ZVNvbWVTZXJ2aWNlOiBGb250QXdlU29tZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlc291cmNlQXBpU2VydmljZTogUmVzb3VyY2VBcGlTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB6Y29yZVNlcnZpY2U6IFpDb3JlU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIoY29tcG9uZW50U2VydmljZSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMub25FeHBvcnRCZWdpbiA9IHRoaXMuZXhwb3J0QmVnaW4uYmluZCh0aGlzKTtcclxuICAgIHRoaXMub25FeHBvcnRFbmQgPSB0aGlzLmV4cG9ydEVuZC5iaW5kKHRoaXMpO1xyXG4gICAgdGhpcy5vblJlbmRlcmluZ0JlZ2luID0gdGhpcy5yZW5kZXJpbmdCZWdpbi5iaW5kKHRoaXMpO1xyXG4gICAgdGhpcy5vblJlbmRlcmluZ0VuZCA9IHRoaXMucmVuZGVyaW5nRW5kLmJpbmQodGhpcyk7XHJcbiAgICB0aGlzLm9uUHJpbnRCZWdpbiA9IHRoaXMucHJpbnRCZWdpbi5iaW5kKHRoaXMpO1xyXG4gICAgdGhpcy5vblByaW50RW5kID0gdGhpcy5wcmludEVuZC5iaW5kKHRoaXMpO1xyXG5cclxuXHJcbiAgICBzdXBlci5pbml0Q29tcG9uZW50KCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5zZXJ2aWNlVXJsID0gdGhpcy56Y29yZVNlcnZpY2Uubm9ybWFsaXplVXJsKHRoaXMucmVzb3VyY2VBcGlTZXJ2aWNlLmdldFVSTCh0aGlzLmRhdGEuUmVzb3VyY2VVUkwpKTtcclxuICAgICAgaWYgKCF0aGlzLnNlcnZpY2VVcmwpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhcInJlc291cmNlVVJMIGlzIGVtcHR5LlwiKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKCEhdGhpcy5kYXRhLklzQXV0b0dlbmVyYXRlUmVwb3J0KSB7XHJcbiAgICAgICAgdGhpcy5yZXBvcnRTb3VyY2UgPSBaQ29tcG9uZW50SGVscGVyLmdldEdyb3VwRXZhbFZhbHVlLmNhbGwodGhpcywgdGhpcy5kYXRhLlJlcG9ydFNvdXJjZSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5jb21wb25lbnRTZXJ2aWNlLmRlY3JlbWVudENvbXBvbmVudENvdW50ZXJGb3JGaWVsZCh0aGlzLmRhdGEpO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFsnJGV2ZW50J10pXHJcbiAgb25SZXNpemUoKSB7XHJcbiAgICBjb25zb2xlLmxvZyhcIlJlcG9ydCByZXNpemVkLlwiKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblJlYWR5KCkge1xyXG4gICAgY29uc29sZS5sb2coXCJSZXBvcnQgcmVhZHkuXCIpO1xyXG4gICAgJChcIltkYXRhLWNvbW1hbmQqPSd0ZWxlcmlrX1JlcG9ydFZpZXdlcl9oaXN0b3J5QmFjayddXCIpLnBhcmVudCgpLmhpZGUoKTtcclxuICAgICQoXCJbZGF0YS1jb21tYW5kKj0ndGVsZXJpa19SZXBvcnRWaWV3ZXJfaGlzdG9yeUZvcndhcmQnXVwiKS5wYXJlbnQoKS5oaWRlKCk7XHJcbiAgICAkKFwiW2RhdGEtY29tbWFuZCo9J3RlbGVyaWtfUmVwb3J0Vmlld2VyX3N0b3BSZW5kZXJpbmcnXVwiKS5wYXJlbnQoKS5oaWRlKCk7XHJcbiAgICAvLyQoXCJbZGF0YS1jb21tYW5kKj0ndGVsZXJpa19SZXBvcnRWaWV3ZXJfcmVmcmVzaCddXCIpLnBhcmVudCgpLmhpZGUoKTtcclxuICAgIC8vJChcIltkYXRhLWNvbW1hbmQqPSd0ZWxlcmlrX1JlcG9ydFZpZXdlcl9nb1RvRmlyc3RQYWdlJ11cIikucGFyZW50KCkuaGlkZSgpO1xyXG4gICAgLy8kKFwiW2RhdGEtY29tbWFuZCo9J3RlbGVyaWtfUmVwb3J0Vmlld2VyX2dvVG9QcmV2UGFnZSddXCIpLnBhcmVudCgpLmhpZGUoKTtcclxuICAgIC8vJChcIltkYXRhLWNvbW1hbmQqPSd0ZWxlcmlrX1JlcG9ydFZpZXdlcl9nb1RvTmV4dFBhZ2UnXVwiKS5wYXJlbnQoKS5oaWRlKCk7XHJcbiAgICAvLyQoXCJbZGF0YS1jb21tYW5kKj0ndGVsZXJpa19SZXBvcnRWaWV3ZXJfZ29Ub0xhc3RQYWdlJ11cIikucGFyZW50KCkuaGlkZSgpO1xyXG4gICAgLy8kKFwiW2RhdGEtY29tbWFuZCo9J3RlbGVyaWtfUmVwb3J0Vmlld2VyX3RvZ2dsZVByaW50UHJldmlldyddXCIpLnBhcmVudCgpLmhpZGUoKTtcclxuICAgIC8vJChcIltkYXRhLWNvbW1hbmQqPSd0ZWxlcmlrX1JlcG9ydFZpZXdlcl9leHBvcnQnXVwiKS5wYXJlbnQoKS5oaWRlKCk7XHJcbiAgICAvLyQoXCJbZGF0YS1jb21tYW5kKj0ndGVsZXJpa19SZXBvcnRWaWV3ZXJfcHJpbnQnXVwiKS5wYXJlbnQoKS5oaWRlKCk7XHJcbiAgICAkKFwiW2RhdGEtY29tbWFuZCo9J3RlbGVyaWtfUmVwb3J0Vmlld2VyX3RvZ2dsZURvY3VtZW50TWFwJ11cIikucGFyZW50KCkuaGlkZSgpO1xyXG4gICAgJChcIltkYXRhLWNvbW1hbmQqPSd0ZWxlcmlrX1JlcG9ydFZpZXdlcl90b2dnbGVQYXJhbWV0ZXJzQXJlYSddXCIpLnBhcmVudCgpLmhpZGUoKTtcclxuICAgIC8vJChcIltkYXRhLWNvbW1hbmQqPSd0ZWxlcmlrX1JlcG9ydFZpZXdlcl96b29tSW4nXVwiKS5wYXJlbnQoKS5oaWRlKCk7XHJcbiAgICAvLyQoXCJbZGF0YS1jb21tYW5kKj0ndGVsZXJpa19SZXBvcnRWaWV3ZXJfem9vbU91dCddXCIpLnBhcmVudCgpLmhpZGUoKTtcclxuICAgIC8vJChcIltkYXRhLWNvbW1hbmQqPSd0ZWxlcmlrX1JlcG9ydFZpZXdlcl90b2dnbGVab29tTW9kZSddXCIpLnBhcmVudCgpLmhpZGUoKTtcclxuICAgICQoXCJbZGF0YS1jb21tYW5kKj0ndGVsZXJpa19SZXBvcnRWaWV3ZXJfdG9nZ2xlU2VhcmNoRGlhbG9nJ11cIikucGFyZW50KCkuaGlkZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGV4cG9ydEJlZ2luKGU6IGFueSwgYXJnczogYW55KSB7XHJcbiAgICBjb25zb2xlLmxvZyhcIkV4cG9ydCBiZWdpbi5cIik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZXhwb3J0RW5kKGU6IGFueSwgYXJnczogYW55KSB7XHJcbiAgICBjb25zb2xlLmxvZyhcIkV4cG9ydCBlbmQuXCIpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlbmRlcmluZ0JlZ2luKGU6IGFueSwgYXJnczogYW55KTogdm9pZCB7XHJcbiAgICBjb25zb2xlLmxvZyhcIlJlbmRlcmluZyBzdGFydGVkLlwiKTtcclxuICAgIGlmICh0aGlzLnJlcG9ydFNvdXJjZS5wYXJhbWV0ZXJzICYmIHRoaXMucmVwb3J0U291cmNlLnBhcmFtZXRlcnMuQXV0aG9yaXphdGlvbiAhPT0gdGhpcy5hdXRoU2VydmljZS5hdXRob3JpemF0aW9uQmVhcmVyLkF1dGhvcml6YXRpb24pIHtcclxuICAgICAgY29uc29sZS53YXJuKFwiVXBkYXRlZCBpbnZhbGlkIGF1dGhvcml6YXRpb24gdG9rZW4uXCIpO1xyXG5cclxuICAgICAgdGhpcy5yZXBvcnRTb3VyY2UucGFyYW1ldGVycy5BdXRob3JpemF0aW9uID0gdGhpcy5hdXRoU2VydmljZS5hdXRob3JpemF0aW9uQmVhcmVyLkF1dGhvcml6YXRpb247XHJcbiAgICAgIHRoaXMudmlld2VyLnNldFJlcG9ydFNvdXJjZSh0aGlzLnJlcG9ydFNvdXJjZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVuZGVyaW5nRW5kKGU6IGFueSwgYXJnczogYW55KTogdm9pZCB7XHJcbiAgICBjb25zb2xlLmxvZyhcIlJlbmRlcmluZyBlbmRlZC5cIik7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdlbmVyYXRlRW1wdHlQZGYoKTogQmxvYiB7XHJcbiAgICAvLyBDcmVhdGUgYW4gZW1wdHkgUERGIGZpbGUgd2l0aCBqdXN0IGEgaGVhZGVyXHJcbiAgICBjb25zdCBwZGZDb250ZW50ID0gJyVQREYtMS4zXFxuMSAwIG9ialxcbjw8IC9UeXBlIC9DYXRhbG9nIC9QYWdlcyAyIDAgUiA+PlxcbmVuZG9ialxcbjIgMCBvYmpcXG48PCAvVHlwZSAvUGFnZXMgL0tpZHMgW10gL0NvdW50IDAgPj5cXG5lbmRvYmpcXG54cmVmXFxuMCAzXFxuMDAwMDAwMDAwMCA2NTUzNSBmIFxcbjAwMDAwMDAwMTAgMDAwMDAgbiBcXG50cmFpbGVyXFxuPDwgL1Jvb3QgMSAwIFIgL1NpemUgMyA+PlxcbnN0YXJ0eHJlZlxcbjIwNVxcbiUlRU9GJztcclxuICAgIHJldHVybiBuZXcgQmxvYihbcGRmQ29udGVudF0sIHsgdHlwZTogJ2FwcGxpY2F0aW9uL3BkZicgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcHJpbnRCZWdpbihlOiBhbnksIGFyZ3M6IGFueSkge1xyXG4gICAgY29uc29sZS5sb2coXCJQcmludCBiZWdpbi5cIik7XHJcblxyXG4gICAgY29uc3QgYWxlcnRUaXRsZSA9ICdQcmludCBQREYgRXJyb3InO1xyXG4gICAgY29uc3QgcGRmQmxvYiA9IHRoaXMuZ2VuZXJhdGVFbXB0eVBkZigpO1xyXG4gICAgY29uc3QgcGRmVXJsID0gVVJMLmNyZWF0ZU9iamVjdFVSTChwZGZCbG9iKTsgY29uc3QgdXNlckFnZW50ID0gbmF2aWdhdG9yLnVzZXJBZ2VudDtcclxuICAgIGNvbnN0IGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpO1xyXG4gICAgbGV0IGlzQ2hyb21lID0gZmFsc2U7XHJcbiAgICBsZXQgaXNFZGdlID0gZmFsc2U7XHJcblxyXG4gICAgaWYgKC9FZGcvLnRlc3QodXNlckFnZW50KSkge1xyXG4gICAgICBpc0VkZ2UgPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoL0Nocm9tZS8udGVzdCh1c2VyQWdlbnQpKSB7XHJcbiAgICAgIGlzQ2hyb21lID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBpZnJhbWUuc3JjID0gcGRmVXJsO1xyXG4gICAgaWZyYW1lLm9ubG9hZCA9ICgpID0+IHtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICBjb25zdCBpZnJhbWVEb2N1bWVudCA9IGlmcmFtZS5jb250ZW50RG9jdW1lbnQgfHwgaWZyYW1lLmNvbnRlbnRXaW5kb3c/LmRvY3VtZW50O1xyXG4gICAgICAgIGNvbnN0IHBkZkVsZW1lbnQgPSBpZnJhbWVEb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdlbWJlZFt0eXBlPVwiYXBwbGljYXRpb24vcGRmXCJdLCBvYmplY3RbdHlwZT1cImFwcGxpY2F0aW9uL3BkZlwiXSwgaWZyYW1lJyk7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ0NoZWNraW5nIGJyb3dzZXIgaXMgcmVwb3J0IGFibGUgdG8gcHJpbnQuJywgcGRmRWxlbWVudCk7XHJcblxyXG4gICAgICAgIC8vIElmIG5vIFBERiBlbGVtZW50IGZvdW5kLCBhbGVydCB1c2VyIGFib3V0IHBvdGVudGlhbCBpc3N1ZVxyXG4gICAgICAgIGlmICghcGRmRWxlbWVudCkge1xyXG4gICAgICAgICAgdGhpcy5hbGxvd1ByaW50UERGID0gZmFsc2U7XHJcblxyXG4gICAgICAgICAgaWYgKGlzQ2hyb21lKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnNob3dPa2F5KGFsZXJ0VGl0bGUsIFwiU3RlcCAxOiBQbGVhc2UgbmF2aWdhdGUgdG8gJ2Nocm9tZTovL3NldHRpbmdzL2NvbnRlbnQvcGRmRG9jdW1lbnRzJyBpbiB0aGUgYnJvd2VyLjxici8+U3RlcCAyOiBTZWxlY3QgJ09wZW4gUERGcyBpbiBDaHJvbWUnIGluIHRoZSBzZXR0aW5nIGJlZm9yZSBwcmludGluZyB0aGUgcmVwb3J0LlwiLCBbXCJjb2wtNlwiXSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlIGlmIChpc0VkZ2UpIHtcclxuICAgICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc2hvd09rYXkoYWxlcnRUaXRsZSwgXCJTdGVwIDE6IFBsZWFzZSBuYXZpZ2F0ZSB0byAnZWRnZTovL3NldHRpbmdzL2NvbnRlbnQvcGRmRG9jdW1lbnRzJyBpbiB0aGUgYnJvd2VyLjxici8+U3RlcCAyOiBFbmFibGUgJ1BERiB2aWV3IHNldHRpbmdzJyBhbmQgRGlzYWJsZSAnQWx3YXlzIERvd25sb2FkIFBERiBmaWxlcycgaW4gdGhlIHNldHRpbmcgYmVmb3JlIHByaW50aW5nIHRoZSByZXBvcnQuXCIsIFtcImNvbC02XCJdKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5zaG93T2theShhbGVydFRpdGxlLCBcIlRoZSBicm93c2VyIHNldHRpbmdzIGNhbm5vdCBiZSBkZXRlY3RlZCwgcGxlYXNlIHJlYWNoIG91dCB0byBzdXBwb3J0IGZvciBhc3Npc3RhbmNlLlwiLCBbXCJjb2wtNFwiXSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5hbGxvd1ByaW50UERGID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgICAgLy8gSWYgYWNjZXNzaW5nIGlmcmFtZSBjb250ZW50IHRocm93cyBhbiBlcnJvciwgYWxlcnQgdXNlciBhYm91dCBwb3RlbnRpYWwgaXNzdWVcclxuICAgICAgICB0aGlzLmFsbG93UHJpbnRQREYgPSBmYWxzZTtcclxuICAgICAgICAvLyBQREYgZmFpbGVkIHRvIGxvYWQgb3IgZGlzcGxheSBwcm9wZXJseVxyXG4gICAgICAgIGNvbnNvbGUubG9nKCdQREYgZmFpbGVkIHRvIGxvYWQgb3IgZGlzcGxheSBwcm9wZXJseSBpbiB0aGUgaWZyYW1lLicpO1xyXG4gICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnNob3dPa2F5KGFsZXJ0VGl0bGUsIFwiVGhlIGJyb3dzZXIgc2V0dGluZ3MgY2Fubm90IGJlIGRldGVjdGVkLCBwbGVhc2UgcmVhY2ggb3V0IHRvIHN1cHBvcnQgZm9yIGFzc2lzdGFuY2UuXCIsIFtcImNvbC00XCJdKTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuXHJcbiAgICBpZnJhbWUub25lcnJvciA9ICgpID0+IHtcclxuICAgICAgdGhpcy5hbGxvd1ByaW50UERGID0gZmFsc2U7XHJcbiAgICAgIC8vIFBERiBmYWlsZWQgdG8gbG9hZCBvciBkaXNwbGF5IHByb3Blcmx5XHJcbiAgICAgIGNvbnNvbGUubG9nKCdQREYgZmFpbGVkIHRvIGxvYWQgb3IgZGlzcGxheSBwcm9wZXJseSBpbiB0aGUgaWZyYW1lLicpO1xyXG4gICAgICB0aGlzLmFsZXJ0U2VydmljZS5zaG93T2theShhbGVydFRpdGxlLCBcIlRoZSBicm93c2VyIHNldHRpbmdzIGNhbm5vdCBiZSBkZXRlY3RlZCwgcGxlYXNlIHJlYWNoIG91dCB0byBzdXBwb3J0IGZvciBhc3Npc3RhbmNlLlwiLCBbXCJjb2wtNFwiXSk7XHJcbiAgICB9O1xyXG5cclxuICAgIGlmcmFtZS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xyXG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHByaW50RW5kKGU6IGFueSwgYXJnczogYW55KSB7XHJcbiAgICBjb25zb2xlLmxvZyhcIlByaW50IGVuZC5cIik7XHJcblxyXG4gICAgaWYgKCF0aGlzLmFsbG93UHJpbnRQREYpIHtcclxuICAgICAgY29uc29sZS53YXJuKCdCcm93c2VyIGluY29ycmVjdCBjb25maWd1cmF0aW9uLCB1bmFibGUgdG8gcHJpbnQgdGhlIFBERi4nKVxyXG4gICAgICBhcmdzLmhhbmRsZWQgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdlbmVyYXRlUmVwb3J0KCkge1xyXG4gICAgdGhpcy5yZXBvcnRTb3VyY2UgPSB0aGlzLmdyb3VwW1wiUmVwb3J0U291cmNlXCJdO1xyXG5cclxuICAgIGlmICh0aGlzLnJlcG9ydFNvdXJjZS5wYXJhbWV0ZXJzICYmICF0aGlzLnJlcG9ydFNvdXJjZS5wYXJhbWV0ZXJzLkF1dGhvcml6YXRpb24pIHtcclxuICAgICAgdGhpcy5yZXBvcnRTb3VyY2UucGFyYW1ldGVycy5BdXRob3JpemF0aW9uID0gdGhpcy5hdXRoU2VydmljZS5hdXRob3JpemF0aW9uQmVhcmVyLkF1dGhvcml6YXRpb247XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMucmVwb3J0U291cmNlWyd1cmwnXSkge1xyXG4gICAgICB0aGlzLnNlcnZpY2VVcmwgPSB0aGlzLnpjb3JlU2VydmljZS5ub3JtYWxpemVVcmwodGhpcy5yZXBvcnRTb3VyY2VbJ3VybCddKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnZpZXdlci5zZXRSZXBvcnRTb3VyY2UodGhpcy5yZXBvcnRTb3VyY2UpO1xyXG4gICAgLy90aGlzLnZpZXdlci5yZWZyZXNoUmVwb3J0KCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgd2lkdGg9XCIxMDAlXCIgaGVpZ2h0PVwiODAwcHhcIj4gXHJcbiAgPHRyLXZpZXdlciAjcmVwb3J0Vmlld2VyMVxyXG4gICAgICAgICAgICAgW2NvbnRhaW5lclN0eWxlXT1cInZpZXdlckNvbnRhaW5lclN0eWxlXCJcclxuICAgICAgICAgICAgIFtzZXJ2aWNlVXJsXT1cInNlcnZpY2VVcmxcIlxyXG4gICAgICAgICAgICAgW3JlcG9ydFNvdXJjZV09XCJyZXBvcnRTb3VyY2VcIlxyXG4gICAgICAgICAgICAgW3ZpZXdNb2RlXT1cIidJTlRFUkFDVElWRSdcIlxyXG4gICAgICAgICAgICAgW3NjYWxlTW9kZV09XCInU1BFQ0lGSUMnXCJcclxuICAgICAgICAgICAgIFtzY2FsZV09XCIxLjBcIlxyXG4gICAgICAgICAgICAgW2VuYWJsZUFjY2Vzc2liaWxpdHldPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgW3JlYWR5XT1cIm9uUmVhZHlcIiBcclxuICAgICAgICAgICAgIFtleHBvcnRCZWdpbl09XCJvbkV4cG9ydEJlZ2luXCJcclxuICAgICAgICAgICAgIFtleHBvcnRFbmRdPVwib25FeHBvcnRFbmRcIlxyXG4gICAgICAgICAgICAgW3JlbmRlcmluZ0JlZ2luXT1cIm9uUmVuZGVyaW5nQmVnaW5cIlxyXG4gICAgICAgICAgICAgW3JlbmRlcmluZ0VuZF09XCJvblJlbmRlcmluZ0VuZFwiXHJcbiAgICAgICAgICAgICBbcHJpbnRCZWdpbl09XCJvblByaW50QmVnaW5cIlxyXG4gICAgICAgICAgICAgW3ByaW50RW5kXT1cIm9uUHJpbnRFbmRcIj5cclxuICA8L3RyLXZpZXdlcj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -11854,7 +11854,7 @@ class ZreportComponent extends FieldBase {
11854
11854
  this.onPrintBegin = this.printBegin.bind(this);
11855
11855
  this.onPrintEnd = this.printEnd.bind(this);
11856
11856
  super.initComponent().subscribe(() => {
11857
- this.serviceUrl = this.resourceApiService.getURL(this.data.ResourceURL);
11857
+ this.serviceUrl = this.zcoreService.normalizeUrl(this.resourceApiService.getURL(this.data.ResourceURL));
11858
11858
  if (!this.serviceUrl) {
11859
11859
  console.log("resourceURL is empty.");
11860
11860
  }