wacom 17.1.1 → 17.1.2

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.
@@ -203,8 +203,8 @@ export class FileService {
203
203
  const canvasElement = this.core.document.createElement('canvas');
204
204
  const imageElement = this.core.document.createElement('img');
205
205
  imageElement.onload = () => {
206
- if (imageElement.width < info.resize.width &&
207
- imageElement.height < info.resize.height) {
206
+ if (imageElement.width <= info.resize.width &&
207
+ imageElement.height <= info.resize.height) {
208
208
  return this.update(loadEvent.target.result, info, file);
209
209
  }
210
210
  const infoRatio = info.resize.width / info.resize.height;
@@ -239,4 +239,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImpor
239
239
  providedIn: 'root'
240
240
  }]
241
241
  }], ctorParameters: () => [{ type: i1.DomService }, { type: i2.CoreService }, { type: i3.HttpService }] });
242
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2Fjb20vc3JjL2xpYi9zZXJ2aWNlcy9maWxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBS3JFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBTzNDLE1BQU0sT0FBTyxXQUFXO0lBR0g7SUFBeUI7SUFBMkI7SUFGaEUsS0FBSyxHQUFPLEVBQUUsQ0FBQztJQUNmLEtBQUssR0FBTyxFQUFFLENBQUM7SUFDdkIsWUFBb0IsR0FBZSxFQUFVLElBQWlCLEVBQVUsSUFBaUI7UUFBckUsUUFBRyxHQUFILEdBQUcsQ0FBWTtRQUFVLFNBQUksR0FBSixJQUFJLENBQWE7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFhO1FBQ3hGLElBQUksQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLGNBQWMsRUFBRTtZQUN4QyxFQUFFLEVBQUUsSUFBSTtTQUNSLENBQUMsQ0FBQztJQUNKLENBQUM7SUFDRDs7TUFFRTtJQUNNLEdBQUcsQ0FBQyxJQUFRO1FBQ2xCLElBQUcsT0FBTyxJQUFJLElBQUksUUFBUSxFQUFDO1lBQzFCLElBQUksR0FBRztnQkFDTixFQUFFLEVBQUUsSUFBSTthQUNSLENBQUM7U0FDRjtRQUNELElBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUFFLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO1FBQ3hFLElBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSTtZQUFFLElBQUksQ0FBQyxJQUFJLEdBQUMsT0FBTyxDQUFDO1FBQ2pDLElBQUcsT0FBTyxJQUFJLENBQUMsTUFBTSxJQUFJLFFBQVEsRUFBQztZQUNqQyxJQUFJLENBQUMsTUFBTSxHQUFHO2dCQUNiLEtBQUssRUFBRSxJQUFJLENBQUMsTUFB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aWxlc0NvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvZmlsZXMvZmlsZXMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEh0dHBTZXJ2aWNlIH0gZnJvbSAnLi9odHRwLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEb21TZXJ2aWNlIH0gZnJvbSAnLi9kb20uc2VydmljZSc7XHJcbmltcG9ydCB7IENvcmVTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuXHRwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEZpbGVTZXJ2aWNlIHtcclxuXHRwcml2YXRlIGFkZGVkOmFueSA9IHt9O1xyXG5cdHByaXZhdGUgZmlsZXM6YW55ID0gW107XHJcblx0Y29uc3RydWN0b3IocHJpdmF0ZSBkb206IERvbVNlcnZpY2UsIHByaXZhdGUgY29yZTogQ29yZVNlcnZpY2UsIHByaXZhdGUgaHR0cDogSHR0cFNlcnZpY2UpIHtcclxuXHRcdHRoaXMuZG9tLmFwcGVuZENvbXBvbmVudChGaWxlc0NvbXBvbmVudCwge1xyXG5cdFx0XHRmczogdGhpc1xyXG5cdFx0fSk7XHJcblx0fVxyXG5cdC8qXHJcblx0Klx0SW5wdXQgTWFuYWdlbWVudFxyXG5cdCovXHJcblx0XHRwdWJsaWMgYWRkKG9wdHM6YW55KXtcclxuXHRcdFx0aWYodHlwZW9mIG9wdHMgPT0gJ3N0cmluZycpe1xyXG5cdFx0XHRcdG9wdHMgPSB7XHJcblx0XHRcdFx0XHRpZDogb3B0c1xyXG5cdFx0XHRcdH07XHJcblx0XHRcdH1cclxuXHRcdFx0aWYoIW9wdHMuaWQpIHJldHVybiBjb25zb2xlLmxvZygnWW91IGhhdmUgdG8gcGFzcyBJRCBpbnRvIGZpbGUgb2JqZWN0Jyk7XHJcblx0XHRcdGlmKCFvcHRzLnR5cGUpIG9wdHMudHlwZT0naW1hZ2UnO1xyXG5cdFx0XHRpZih0eXBlb2Ygb3B0cy5yZXNpemUgPT0gJ251bWJlcicpe1xyXG5cdFx0XHRcdG9wdHMucmVzaXplID0ge1xyXG5cdFx0XHRcdFx0d2lkdGg6IG9wdHMucmVzaXplLFxyXG5cdFx0XHRcdFx0aGVpZ2h0OiBvcHRzLnJlc2l6ZVxyXG5cdFx0XHRcdH07XHJcblx0XHRcdH1cclxuXHRcdFx0aWYodGhpcy5hZGRlZFtvcHRzLmlkXSl7XHJcblx0XHRcdFx0Zm9yIChsZXQgaSA9IHRoaXMuZmlsZXMubGVuZ3RoLTE7IGkgPj0gMDsgaS0tKXtcclxuXHRcdFx0XHQgICAgaWYodGhpcy5maWxlc1tpXS5pZCA9PSBvcHRzLmlkKXtcclxuXHRcdFx0XHQgICAgXHR0aGlzLmZpbGVzLnNwbGljZShpLCAxKTtcclxuXHRcdFx0XHQgICAgfVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHR0aGlzLmZpbGVzLnB1c2gob3B0cyk7XHJcblx0XHRcdHRoaXMuYWRkZWRbb3B0cy5pZF0gPSBvcHRzO1xyXG5cdFx0XHRpZihvcHRzLnNhdmUpe1xyXG5cdFx0XHRcdHJldHVybiAoKT0+eyBvcHRzLmNvbXBsZXRlKCk7IH07XHJcblx0XHRcdH1cclxuXHRcdH07XHJcblx0XHRwdWJsaWMgY2hhbmdlKGV2ZW50OmFueSwgaW5mbzphbnkpe1xyXG5cdFx0XHRpZihpbmZvLnR5cGUgPT0gJ2ltYWdlJyl7XHJcblx0XHRcdFx0aWYoaW5mby5tdWx0aXBsZSl7XHJcblx0XHRcdFx0XHRpZih0eXBlb2YgaW5mby5tdWx0aXBsZV9jYiA9PSAnZnVuY3Rpb24nKXtcclxuXHRcdFx0XHRcdFx0aW5mby5tdWx0aXBsZV9maWxlcyA9IFtdO1xyXG5cdFx0XHRcdFx0XHRpbmZvLm11bHRpcGxlX2NvdW50ZXIgPSBldmVudC50YXJnZXQuZmlsZXMubGVuZ3RoO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBldmVudC50YXJnZXQuZmlsZXMubGVuZ3RoOyBpKyspe1xyXG5cdFx0XHRcdFx0XHR0aGlzLnByb2Nlc3MoZXZlbnQudGFyZ2V0LmZpbGVzW2ldLCBpbmZvKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9ZWxzZXtcclxuXHRcdFx0XHRcdHRoaXMucHJvY2VzcyhldmVudC50YXJnZXQuZmlsZXNbMF0sIGluZm8pO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fWVsc2UgaWYoaW5mby50eXBlID09ICdmaWxlJyl7XHJcblx0XHRcdFx0aWYoaW5mby5tdWx0aXBsZSl7XHJcblx0XHRcdFx0XHRpZih0eXBlb2YgaW5mby5tdWx0aXBsZV9jYiA9PSAnZnVuY3Rpb24nKXtcclxuXHRcdFx0XHRcdFx0aW5mby5tdWx0aXBsZV9jYihldmVudC50YXJnZXQuZmlsZXMpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBldmVudC50YXJnZXQuZmlsZXMubGVuZ3RoOyBpKyspe1xyXG5cdFx0XHRcdFx0XHRpZih0eXBlb2YgaW5mby5jYiA9PSAnZnVuY3Rpb24nKXtcclxuXHRcdFx0XHRcdFx0XHRpbmZvLmNiKGV2ZW50LnRhcmdldC5maWxlc1tpXSk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9ZWxzZXtcclxuXHRcdFx0XHRcdGlmKHR5cGVvZiBpbmZvLmNiID09ICdmdW5jdGlvbicpe1xyXG5cdFx0XHRcdFx0XHRpbmZvLmNiKGV2ZW50LnRhcmdldC5maWxlc1swXSk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGlmKGluZm8ucGFydCB8fCBpbmZvLnVybCl7XHJcblx0XHRcdFx0XHR0aGlzLmZpbGUoaW5mbywgZXZlbnQudGFyZ2V0LmZpbGVzKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1lbHNlIGNvbnNvbGUubG9nKCdQcm92aWRlIHR5cGUgYGltYWdlYCBvciBgZmlsZWAgJyk7XHJcblx0XHR9O1xyXG5cdFx0cHVibGljIHJlbW92ZShwYXJ0OmFueSwgdXJsOmFueSwgb3B0czphbnk9e30sIGNiOmFueT0ocmVzcDphbnkpPT57fSk6YW55e1xyXG5cdFx0XHRvcHRzLnVybCA9IHVybDtcclxuXHRcdFx0aWYob3B0cy5zYXZlKXtcclxuXHRcdFx0XHRyZXR1cm4gKCk9PntcclxuXHRcdFx0XHRcdHRoaXMuaHR0cC5wb3N0KG9wdHMuYXBpIHx8ICcvYXBpLycrcGFydCsnL2ZpbGUvZGVsZXRlJywgb3B0cywgY2IpO1xyXG5cdFx0XHRcdH07XHJcblx0XHRcdH1lbHNle1xyXG5cdFx0XHRcdHRoaXMuaHR0cC5wb3N0KG9wdHMuYXBpIHx8ICcvYXBpLycrcGFydCsnL2ZpbGUvZGVsZXRlJywgb3B0cywgY2IpO1xyXG5cdFx0XHR9XHJcblx0XHR9O1xyXG5cdFx0cHVibGljIGZpbGUoaW5mbzphbnksIGZpbGVzOmFueSwgY2I6YW55PSgpPT57fSl7XHJcblx0XHRcdGxldCBmb3JtRGF0YTogRm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcclxuXHRcdFx0aWYodHlwZW9mIGluZm8uYXBwZW5kID09ICdmdW5jdGlvbicpe1xyXG5cdFx0XHRcdGluZm8uYXBwZW5kKGZvcm1EYXRhLCBmaWxlcyk7XHJcblx0XHRcdH1lbHNle1xyXG5cdFx0XHRcdGZvciAobGV0IGkgPSAwOyBpIDwgZmlsZXMubGVuZ3RoOyBpKyspe1xyXG5cdFx0XHRcdFx0Zm9ybURhdGEuYXBwZW5kKCdmaWxlWycraSsnXScsIGZpbGVzW2ldKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0bGV0IGJvZHkgPSB0eXBlb2YgaW5mby5ib2R5ID09ICdmdW5jdGlvbicgJiYgaW5mby5ib2R5KCkgfHwgICh0eXBlb2YgaW5mby5ib2R5ID09ICdvYmplY3QnICYmIGluZm8uYm9keSB8fCB7fSk7XHJcblx0XHRcdGZvciAobGV0IGVhY2ggaW4gYm9keSl7XHJcblx0XHRcdCAgICBmb3JtRGF0YS5hcHBlbmQoZWFjaCwgYm9keVtlYWNoXSk7XHJcblx0XHRcdH1cclxuXHRcdFx0aWYoaW5mby5zYXZlKXtcclxuXHRcdFx0XHRpbmZvLmNvbXBsZXRlID0gKCk9PntcclxuXHRcdFx0XHRcdHRoaXMuaHR0cC5wb3N0KGluZm8uYXBpIHx8ICcvYXBpLycgKyBpbmZvLnBhcnQgKyAnL2ZpbGUnKyhpbmZvLm5hbWUmJignLycraW5mby5uYW1lKXx8JycpLCBmb3JtRGF0YSwgcmVzcCA9PiB7XHJcblx0XHRcdFx0XHRcdGlmKHJlc3AgJiYgdHlwZW9mIGluZm8ucmVzcCA9PSAnZnVuY3Rpb24nKSBpbmZvLnJlc3AocmVzcCk7XHJcblx0XHRcdFx0XHRcdGlmKHJlc3AgJiYgdHlwZW9mIGNiID09ICdmdW5jdGlvbicpIGNiKHJlc3ApO1xyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9ZWxzZXtcclxuXHRcdFx0XHR0aGlzLmh0dHAucG9zdChpbmZvLmFwaSB8fCAnL2FwaS8nICsgaW5mby5wYXJ0ICsgJy9maWxlJysoaW5mby5uYW1lJiYoJy8nK2luZm8ubmFtZSl8fCcnKSwgZm9ybURhdGEsIHJlc3AgPT4ge1xyXG5cdFx0XHRcdFx0aWYocmVzcCAmJiB0eXBlb2YgaW5mby5yZXNwID09ICdmdW5jdGlvbicpIGluZm8ucmVzcChyZXNwKTtcclxuXHRcdFx0XHRcdGlmKHJlc3AgJiYgdHlwZW9mIGNiID09ICdmdW5jdGlvbicpIGNiKHJlc3ApO1xyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9XHJcblx0XHR9O1xyXG5cdFx0cHVibGljIGltYWdlKGluZm86YW55LCByZXNwOmFueT0oKT0+e30pOmFueXtcclxuXHRcdFx0aWYoaW5mby5zYXZlKXtcclxuXHRcdFx0XHRyZXR1cm4gKCk9PntcclxuXHRcdFx0XHRcdHRoaXMuaHR0cC5wb3N0KGluZm8uYXBpfHwnL2FwaS8nK2luZm8ucGFydCsnL2ZpbGUnKyhpbmZvLm5hbWUmJignLycraW5mby5uYW1lKXx8JycpLCBpbmZvLCByZXNwKTtcclxuXHRcdFx0XHR9O1xyXG5cdFx0XHR9ZWxzZXtcclxuXHRcdFx0XHR0aGlzLmh0dHAucG9zdChpbmZvLmFwaXx8Jy9hcGkvJytpbmZvLnBhcnQrJy9maWxlJysoaW5mby5uYW1lJiYoJy8nK2luZm8ubmFtZSl8fCcnKSwgaW5mbywgcmVzcCk7XHJcblx0XHRcdH1cclxuXHJcblx0XHR9O1xyXG5cdC8qXHJcblx0Klx0Q29tbW9uIE1hbmFnZW1lbnRcclxuXHQqL1xyXG5cdFx0cHJpdmF0ZSB1cGRhdGUoZGF0YVVybDphbnksIGluZm86YW55LCBmaWxlOmFueSl7XHJcblx0XHRcdGlmKHR5cGVvZiBpbmZvLmNiID09ICdmdW5jdGlvbicpe1xyXG5cdFx0XHRcdGluZm8uY2IoZGF0YVVybCwgZmlsZSk7XHJcblx0XHRcdH1cclxuXHRcdFx0aWYodHlwZW9mIGluZm8ubXVsdGlwbGVfY2IgPT0gJ2Z1bmN0aW9uJyl7XHJcblx0XHRcdFx0aW5mby5tdWx0aXBsZV9maWxlcy5wdXNoKHtkYXRhVXJsOiBkYXRhVXJsLCBmaWxlOiBmaWxlfSk7XHJcblx0XHRcdFx0aWYoLS1pbmZvLm11bHRpcGxlX2NvdW50ZXIgPT0gMCkgaW5mby5tdWx0aXBsZV9jYihpbmZvLm11bHRpcGxlX2ZpbGVzKTtcclxuXHRcdFx0fVxyXG5cdFx0XHRpZighaW5mby5wYXJ0KSByZXR1cm47XHJcblx0XHRcdGxldCBvYmogPSB0eXBlb2YgaW5mby5ib2R5ID09ICdmdW5jdGlvbicgJiYgaW5mby5ib2R5KCkgfHwge307XHJcblx0XHRcdG9iai5kYXRhVXJsID0gZGF0YVVybDtcclxuXHRcdFx0aWYoaW5mby5zYXZlKXtcclxuXHRcdFx0XHRpbmZvLmNvbXBsZXRlID0gKCk9PntcclxuXHRcdFx0XHRcdHRoaXMuaHR0cC5wb3N0KGluZm8uYXBpfHwnL2FwaS8nK2luZm8ucGFydCsnL2ZpbGUnKyhpbmZvLm5hbWUmJignLycraW5mby5uYW1lKXx8JycpLCBvYmosIHJlc3AgPT4ge1xyXG5cdFx0XHRcdFx0XHRpZihyZXNwICYmIHR5cGVvZiBpbmZvLmNiID09ICdmdW5jdGlvbicpIGluZm8uY2IocmVzcCk7XHJcblx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHR9O1xyXG5cdFx0XHR9ZWxzZXtcclxuXHRcdFx0XHR0aGlzLmh0dHAucG9zdChpbmZvLmFwaXx8Jy9hcGkvJytpbmZvLnBhcnQrJy9maWxlJysoaW5mby5uYW1lJiYoJy8nK2luZm8ubmFtZSl8fCcnKSwgb2JqLCByZXNwID0+IHtcclxuXHRcdFx0XHRcdGlmKHJlc3AgJiYgdHlwZW9mIGluZm8uY2IgPT0gJ2Z1bmN0aW9uJykgaW5mby5jYihyZXNwKTtcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fVxyXG5cdFx0fTtcclxuXHRcdHByaXZhdGUgcHJvY2VzcyhmaWxlOmFueSwgaW5mbzphbnkpe1xyXG5cdFx0XHRpZihmaWxlLnR5cGUuaW5kZXhPZihcImltYWdlL1wiKSE9MCl7XHJcblx0XHRcdFx0aWYodHlwZW9mIGluZm8uY2IgPT0gJ2Z1bmN0aW9uJyl7XHJcblx0XHRcdFx0XHRpbmZvLmNiKGZhbHNlLCBmaWxlKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0aWYodHlwZW9mIGluZm8ubXVsdGlwbGVfY2IgPT0gJ2Z1bmN0aW9uJyl7XHJcblx0XHRcdFx0XHRpbmZvLm11bHRpcGxlX2ZpbGVzLnB1c2goe2ZpbGU6IGZpbGV9KTtcclxuXHRcdFx0XHRcdGlmKC0taW5mby5tdWx0aXBsZV9jb3VudGVyID09IDApIGluZm8ubXVsdGlwbGVfY2IoaW5mby5tdWx0aXBsZV9maWxlcyk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHJldHVybjtcclxuXHRcdFx0fVxyXG5cdFx0XHRpZihpbmZvLnJlc2l6ZSl7XHJcblx0XHRcdFx0aW5mby5yZXNpemUud2lkdGggPSBpbmZvLnJlc2l6ZS53aWR0aCB8fCAxOTIwO1xyXG5cdFx0XHRcdGluZm8ucmVzaXplLmhlaWdodCA9IGluZm8ucmVzaXplLmhlaWdodCB8fCAxMDgwO1xyXG5cdFx0XHR9XHJcblx0XHRcdGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XHJcblx0XHRcdHJlYWRlci5vbmxvYWQgPSAobG9hZEV2ZW50OmFueSk9PntcclxuXHRcdFx0XHRpZighaW5mby5yZXNpemUpe1xyXG5cdFx0XHRcdFx0cmV0dXJuIHRoaXMudXBkYXRlKGxvYWRFdmVudC50YXJnZXQucmVzdWx0LCBpbmZvLCBmaWxlKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0Y29uc3QgY2FudmFzRWxlbWVudCA9IHRoaXMuY29yZS5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcclxuXHRcdFx0XHRjb25zdCBpbWFnZUVsZW1lbnQgPSB0aGlzLmNvcmUuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW1nJyk7XHJcblx0XHRcdFx0aW1hZ2VFbGVtZW50Lm9ubG9hZCA9ICgpID0+IHtcclxuXHRcdFx0XHRcdGlmIChcclxuXHRcdFx0XHRcdFx0aW1hZ2VFbGVtZW50LndpZHRoIDwgaW5mby5yZXNpemUud2lkdGggJiZcclxuXHRcdFx0XHRcdFx0aW1hZ2VFbGVtZW50LmhlaWdodCA8IGluZm8ucmVzaXplLmhlaWdodFxyXG5cdFx0XHRcdFx0KSB7XHJcblx0XHRcdFx0XHRcdHJldHVybiB0aGlzLnVwZGF0ZShsb2FkRXZlbnQudGFyZ2V0LnJlc3VsdCwgaW5mbywgZmlsZSk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRjb25zdCBpbmZvUmF0aW8gPSBpbmZvLnJlc2l6ZS53aWR0aCAvIGluZm8ucmVzaXplLmhlaWdodDtcclxuXHRcdFx0XHRcdGNvbnN0IGltZ1JhdGlvID0gaW1hZ2VFbGVtZW50LndpZHRoIC8gaW1hZ2VFbGVtZW50LmhlaWdodDtcclxuXHRcdFx0XHRcdGxldCB3aWR0aCwgaGVpZ2h0O1xyXG5cdFx0XHRcdFx0aWYgKGltZ1JhdGlvID4gaW5mb1JhdGlvKSB7XHJcblx0XHRcdFx0XHRcdHdpZHRoID0gTWF0aC5taW4oaW5mby5yZXNpemUud2lkdGgsIGltYWdlRWxlbWVudC53aWR0aCk7XHJcblx0XHRcdFx0XHRcdGhlaWdodCA9IHdpZHRoIC8gaW1nUmF0aW87XHJcblx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRoZWlnaHQgPSBNYXRoLm1pbihpbmZvLnJlc2l6ZS5oZWlnaHQsIGltYWdlRWxlbWVudC5oZWlnaHQpO1xyXG5cdFx0XHRcdFx0XHR3aWR0aCA9IGhlaWdodCAqIGltZ1JhdGlvO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0Y2FudmFzRWxlbWVudC53aWR0aCA9IHdpZHRoO1xyXG5cdFx0XHRcdFx0Y2FudmFzRWxlbWVudC5oZWlnaHQgPSBoZWlnaHQ7XHJcblx0XHRcdFx0XHRsZXQgY29udGV4dCA9IGNhbnZhc0VsZW1lbnQuZ2V0Q29udGV4dCgnMmQnKTtcclxuXHRcdFx0XHRcdGNvbnRleHQuZHJhd0ltYWdlKGltYWdlRWxlbWVudCwgMCwgMCAsIHdpZHRoLCBoZWlnaHQpO1xyXG5cdFx0XHRcdFx0bGV0IGRhdGFVcmwgPSBjYW52YXNFbGVtZW50LnRvRGF0YVVSTCgnaW1hZ2UvanBlZycsIDEpO1xyXG5cdFx0XHRcdFx0cmV0dXJuIHRoaXMudXBkYXRlKGRhdGFVcmwsIGluZm8sIGZpbGUpO1xyXG5cdFx0XHRcdH07XHJcblx0XHRcdFx0aW1hZ2VFbGVtZW50LnNyYyA9IGxvYWRFdmVudC50YXJnZXQucmVzdWx0O1xyXG5cdFx0XHR9O1xyXG5cdFx0XHRyZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcclxuXHRcdH07XHJcblx0LypcclxuXHQqXHRFbmQgT2ZcclxuXHQqL1xyXG59XHJcbiJdfQ==
242
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2Fjb20vc3JjL2xpYi9zZXJ2aWNlcy9maWxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBS3JFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBTzNDLE1BQU0sT0FBTyxXQUFXO0lBR0g7SUFBeUI7SUFBMkI7SUFGaEUsS0FBSyxHQUFPLEVBQUUsQ0FBQztJQUNmLEtBQUssR0FBTyxFQUFFLENBQUM7SUFDdkIsWUFBb0IsR0FBZSxFQUFVLElBQWlCLEVBQVUsSUFBaUI7UUFBckUsUUFBRyxHQUFILEdBQUcsQ0FBWTtRQUFVLFNBQUksR0FBSixJQUFJLENBQWE7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFhO1FBQ3hGLElBQUksQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLGNBQWMsRUFBRTtZQUN4QyxFQUFFLEVBQUUsSUFBSTtTQUNSLENBQUMsQ0FBQztJQUNKLENBQUM7SUFDRDs7TUFFRTtJQUNNLEdBQUcsQ0FBQyxJQUFRO1FBQ2xCLElBQUcsT0FBTyxJQUFJLElBQUksUUFBUSxFQUFDO1lBQzFCLElBQUksR0FBRztnQkFDTixFQUFFLEVBQUUsSUFBSTthQUNSLENBQUM7U0FDRjtRQUNELElBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUFFLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO1FBQ3hFLElBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSTtZQUFFLElBQUksQ0FBQyxJQUFJLEdBQUMsT0FBTyxDQUFDO1FBQ2pDLElBQUcsT0FBTyxJQUFJLENBQUMsTUFBTSxJQUFJLFFBQVEsRUFBQztZQUNqQyxJQUFJLENBQUMsTUFBTSxHQUFHO2dCQUNiLEtBQUssRUFBRSxJQUFJLENBQUMsTUFB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aWxlc0NvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvZmlsZXMvZmlsZXMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEh0dHBTZXJ2aWNlIH0gZnJvbSAnLi9odHRwLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEb21TZXJ2aWNlIH0gZnJvbSAnLi9kb20uc2VydmljZSc7XHJcbmltcG9ydCB7IENvcmVTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuXHRwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEZpbGVTZXJ2aWNlIHtcclxuXHRwcml2YXRlIGFkZGVkOmFueSA9IHt9O1xyXG5cdHByaXZhdGUgZmlsZXM6YW55ID0gW107XHJcblx0Y29uc3RydWN0b3IocHJpdmF0ZSBkb206IERvbVNlcnZpY2UsIHByaXZhdGUgY29yZTogQ29yZVNlcnZpY2UsIHByaXZhdGUgaHR0cDogSHR0cFNlcnZpY2UpIHtcclxuXHRcdHRoaXMuZG9tLmFwcGVuZENvbXBvbmVudChGaWxlc0NvbXBvbmVudCwge1xyXG5cdFx0XHRmczogdGhpc1xyXG5cdFx0fSk7XHJcblx0fVxyXG5cdC8qXHJcblx0Klx0SW5wdXQgTWFuYWdlbWVudFxyXG5cdCovXHJcblx0XHRwdWJsaWMgYWRkKG9wdHM6YW55KXtcclxuXHRcdFx0aWYodHlwZW9mIG9wdHMgPT0gJ3N0cmluZycpe1xyXG5cdFx0XHRcdG9wdHMgPSB7XHJcblx0XHRcdFx0XHRpZDogb3B0c1xyXG5cdFx0XHRcdH07XHJcblx0XHRcdH1cclxuXHRcdFx0aWYoIW9wdHMuaWQpIHJldHVybiBjb25zb2xlLmxvZygnWW91IGhhdmUgdG8gcGFzcyBJRCBpbnRvIGZpbGUgb2JqZWN0Jyk7XHJcblx0XHRcdGlmKCFvcHRzLnR5cGUpIG9wdHMudHlwZT0naW1hZ2UnO1xyXG5cdFx0XHRpZih0eXBlb2Ygb3B0cy5yZXNpemUgPT0gJ251bWJlcicpe1xyXG5cdFx0XHRcdG9wdHMucmVzaXplID0ge1xyXG5cdFx0XHRcdFx0d2lkdGg6IG9wdHMucmVzaXplLFxyXG5cdFx0XHRcdFx0aGVpZ2h0OiBvcHRzLnJlc2l6ZVxyXG5cdFx0XHRcdH07XHJcblx0XHRcdH1cclxuXHRcdFx0aWYodGhpcy5hZGRlZFtvcHRzLmlkXSl7XHJcblx0XHRcdFx0Zm9yIChsZXQgaSA9IHRoaXMuZmlsZXMubGVuZ3RoLTE7IGkgPj0gMDsgaS0tKXtcclxuXHRcdFx0XHQgICAgaWYodGhpcy5maWxlc1tpXS5pZCA9PSBvcHRzLmlkKXtcclxuXHRcdFx0XHQgICAgXHR0aGlzLmZpbGVzLnNwbGljZShpLCAxKTtcclxuXHRcdFx0XHQgICAgfVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHR0aGlzLmZpbGVzLnB1c2gob3B0cyk7XHJcblx0XHRcdHRoaXMuYWRkZWRbb3B0cy5pZF0gPSBvcHRzO1xyXG5cdFx0XHRpZihvcHRzLnNhdmUpe1xyXG5cdFx0XHRcdHJldHVybiAoKT0+eyBvcHRzLmNvbXBsZXRlKCk7IH07XHJcblx0XHRcdH1cclxuXHRcdH07XHJcblx0XHRwdWJsaWMgY2hhbmdlKGV2ZW50OmFueSwgaW5mbzphbnkpe1xyXG5cdFx0XHRpZihpbmZvLnR5cGUgPT0gJ2ltYWdlJyl7XHJcblx0XHRcdFx0aWYoaW5mby5tdWx0aXBsZSl7XHJcblx0XHRcdFx0XHRpZih0eXBlb2YgaW5mby5tdWx0aXBsZV9jYiA9PSAnZnVuY3Rpb24nKXtcclxuXHRcdFx0XHRcdFx0aW5mby5tdWx0aXBsZV9maWxlcyA9IFtdO1xyXG5cdFx0XHRcdFx0XHRpbmZvLm11bHRpcGxlX2NvdW50ZXIgPSBldmVudC50YXJnZXQuZmlsZXMubGVuZ3RoO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBldmVudC50YXJnZXQuZmlsZXMubGVuZ3RoOyBpKyspe1xyXG5cdFx0XHRcdFx0XHR0aGlzLnByb2Nlc3MoZXZlbnQudGFyZ2V0LmZpbGVzW2ldLCBpbmZvKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9ZWxzZXtcclxuXHRcdFx0XHRcdHRoaXMucHJvY2VzcyhldmVudC50YXJnZXQuZmlsZXNbMF0sIGluZm8pO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fWVsc2UgaWYoaW5mby50eXBlID09ICdmaWxlJyl7XHJcblx0XHRcdFx0aWYoaW5mby5tdWx0aXBsZSl7XHJcblx0XHRcdFx0XHRpZih0eXBlb2YgaW5mby5tdWx0aXBsZV9jYiA9PSAnZnVuY3Rpb24nKXtcclxuXHRcdFx0XHRcdFx0aW5mby5tdWx0aXBsZV9jYihldmVudC50YXJnZXQuZmlsZXMpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBldmVudC50YXJnZXQuZmlsZXMubGVuZ3RoOyBpKyspe1xyXG5cdFx0XHRcdFx0XHRpZih0eXBlb2YgaW5mby5jYiA9PSAnZnVuY3Rpb24nKXtcclxuXHRcdFx0XHRcdFx0XHRpbmZvLmNiKGV2ZW50LnRhcmdldC5maWxlc1tpXSk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9ZWxzZXtcclxuXHRcdFx0XHRcdGlmKHR5cGVvZiBpbmZvLmNiID09ICdmdW5jdGlvbicpe1xyXG5cdFx0XHRcdFx0XHRpbmZvLmNiKGV2ZW50LnRhcmdldC5maWxlc1swXSk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGlmKGluZm8ucGFydCB8fCBpbmZvLnVybCl7XHJcblx0XHRcdFx0XHR0aGlzLmZpbGUoaW5mbywgZXZlbnQudGFyZ2V0LmZpbGVzKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1lbHNlIGNvbnNvbGUubG9nKCdQcm92aWRlIHR5cGUgYGltYWdlYCBvciBgZmlsZWAgJyk7XHJcblx0XHR9O1xyXG5cdFx0cHVibGljIHJlbW92ZShwYXJ0OmFueSwgdXJsOmFueSwgb3B0czphbnk9e30sIGNiOmFueT0ocmVzcDphbnkpPT57fSk6YW55e1xyXG5cdFx0XHRvcHRzLnVybCA9IHVybDtcclxuXHRcdFx0aWYob3B0cy5zYXZlKXtcclxuXHRcdFx0XHRyZXR1cm4gKCk9PntcclxuXHRcdFx0XHRcdHRoaXMuaHR0cC5wb3N0KG9wdHMuYXBpIHx8ICcvYXBpLycrcGFydCsnL2ZpbGUvZGVsZXRlJywgb3B0cywgY2IpO1xyXG5cdFx0XHRcdH07XHJcblx0XHRcdH1lbHNle1xyXG5cdFx0XHRcdHRoaXMuaHR0cC5wb3N0KG9wdHMuYXBpIHx8ICcvYXBpLycrcGFydCsnL2ZpbGUvZGVsZXRlJywgb3B0cywgY2IpO1xyXG5cdFx0XHR9XHJcblx0XHR9O1xyXG5cdFx0cHVibGljIGZpbGUoaW5mbzphbnksIGZpbGVzOmFueSwgY2I6YW55PSgpPT57fSl7XHJcblx0XHRcdGxldCBmb3JtRGF0YTogRm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcclxuXHRcdFx0aWYodHlwZW9mIGluZm8uYXBwZW5kID09ICdmdW5jdGlvbicpe1xyXG5cdFx0XHRcdGluZm8uYXBwZW5kKGZvcm1EYXRhLCBmaWxlcyk7XHJcblx0XHRcdH1lbHNle1xyXG5cdFx0XHRcdGZvciAobGV0IGkgPSAwOyBpIDwgZmlsZXMubGVuZ3RoOyBpKyspe1xyXG5cdFx0XHRcdFx0Zm9ybURhdGEuYXBwZW5kKCdmaWxlWycraSsnXScsIGZpbGVzW2ldKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0bGV0IGJvZHkgPSB0eXBlb2YgaW5mby5ib2R5ID09ICdmdW5jdGlvbicgJiYgaW5mby5ib2R5KCkgfHwgICh0eXBlb2YgaW5mby5ib2R5ID09ICdvYmplY3QnICYmIGluZm8uYm9keSB8fCB7fSk7XHJcblx0XHRcdGZvciAobGV0IGVhY2ggaW4gYm9keSl7XHJcblx0XHRcdCAgICBmb3JtRGF0YS5hcHBlbmQoZWFjaCwgYm9keVtlYWNoXSk7XHJcblx0XHRcdH1cclxuXHRcdFx0aWYoaW5mby5zYXZlKXtcclxuXHRcdFx0XHRpbmZvLmNvbXBsZXRlID0gKCk9PntcclxuXHRcdFx0XHRcdHRoaXMuaHR0cC5wb3N0KGluZm8uYXBpIHx8ICcvYXBpLycgKyBpbmZvLnBhcnQgKyAnL2ZpbGUnKyhpbmZvLm5hbWUmJignLycraW5mby5uYW1lKXx8JycpLCBmb3JtRGF0YSwgcmVzcCA9PiB7XHJcblx0XHRcdFx0XHRcdGlmKHJlc3AgJiYgdHlwZW9mIGluZm8ucmVzcCA9PSAnZnVuY3Rpb24nKSBpbmZvLnJlc3AocmVzcCk7XHJcblx0XHRcdFx0XHRcdGlmKHJlc3AgJiYgdHlwZW9mIGNiID09ICdmdW5jdGlvbicpIGNiKHJlc3ApO1xyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9ZWxzZXtcclxuXHRcdFx0XHR0aGlzLmh0dHAucG9zdChpbmZvLmFwaSB8fCAnL2FwaS8nICsgaW5mby5wYXJ0ICsgJy9maWxlJysoaW5mby5uYW1lJiYoJy8nK2luZm8ubmFtZSl8fCcnKSwgZm9ybURhdGEsIHJlc3AgPT4ge1xyXG5cdFx0XHRcdFx0aWYocmVzcCAmJiB0eXBlb2YgaW5mby5yZXNwID09ICdmdW5jdGlvbicpIGluZm8ucmVzcChyZXNwKTtcclxuXHRcdFx0XHRcdGlmKHJlc3AgJiYgdHlwZW9mIGNiID09ICdmdW5jdGlvbicpIGNiKHJlc3ApO1xyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9XHJcblx0XHR9O1xyXG5cdFx0cHVibGljIGltYWdlKGluZm86YW55LCByZXNwOmFueT0oKT0+e30pOmFueXtcclxuXHRcdFx0aWYoaW5mby5zYXZlKXtcclxuXHRcdFx0XHRyZXR1cm4gKCk9PntcclxuXHRcdFx0XHRcdHRoaXMuaHR0cC5wb3N0KGluZm8uYXBpfHwnL2FwaS8nK2luZm8ucGFydCsnL2ZpbGUnKyhpbmZvLm5hbWUmJignLycraW5mby5uYW1lKXx8JycpLCBpbmZvLCByZXNwKTtcclxuXHRcdFx0XHR9O1xyXG5cdFx0XHR9ZWxzZXtcclxuXHRcdFx0XHR0aGlzLmh0dHAucG9zdChpbmZvLmFwaXx8Jy9hcGkvJytpbmZvLnBhcnQrJy9maWxlJysoaW5mby5uYW1lJiYoJy8nK2luZm8ubmFtZSl8fCcnKSwgaW5mbywgcmVzcCk7XHJcblx0XHRcdH1cclxuXHJcblx0XHR9O1xyXG5cdC8qXHJcblx0Klx0Q29tbW9uIE1hbmFnZW1lbnRcclxuXHQqL1xyXG5cdFx0cHJpdmF0ZSB1cGRhdGUoZGF0YVVybDphbnksIGluZm86YW55LCBmaWxlOmFueSl7XHJcblx0XHRcdGlmKHR5cGVvZiBpbmZvLmNiID09ICdmdW5jdGlvbicpe1xyXG5cdFx0XHRcdGluZm8uY2IoZGF0YVVybCwgZmlsZSk7XHJcblx0XHRcdH1cclxuXHRcdFx0aWYodHlwZW9mIGluZm8ubXVsdGlwbGVfY2IgPT0gJ2Z1bmN0aW9uJyl7XHJcblx0XHRcdFx0aW5mby5tdWx0aXBsZV9maWxlcy5wdXNoKHtkYXRhVXJsOiBkYXRhVXJsLCBmaWxlOiBmaWxlfSk7XHJcblx0XHRcdFx0aWYoLS1pbmZvLm11bHRpcGxlX2NvdW50ZXIgPT0gMCkgaW5mby5tdWx0aXBsZV9jYihpbmZvLm11bHRpcGxlX2ZpbGVzKTtcclxuXHRcdFx0fVxyXG5cdFx0XHRpZighaW5mby5wYXJ0KSByZXR1cm47XHJcblx0XHRcdGxldCBvYmogPSB0eXBlb2YgaW5mby5ib2R5ID09ICdmdW5jdGlvbicgJiYgaW5mby5ib2R5KCkgfHwge307XHJcblx0XHRcdG9iai5kYXRhVXJsID0gZGF0YVVybDtcclxuXHRcdFx0aWYoaW5mby5zYXZlKXtcclxuXHRcdFx0XHRpbmZvLmNvbXBsZXRlID0gKCk9PntcclxuXHRcdFx0XHRcdHRoaXMuaHR0cC5wb3N0KGluZm8uYXBpfHwnL2FwaS8nK2luZm8ucGFydCsnL2ZpbGUnKyhpbmZvLm5hbWUmJignLycraW5mby5uYW1lKXx8JycpLCBvYmosIHJlc3AgPT4ge1xyXG5cdFx0XHRcdFx0XHRpZihyZXNwICYmIHR5cGVvZiBpbmZvLmNiID09ICdmdW5jdGlvbicpIGluZm8uY2IocmVzcCk7XHJcblx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHR9O1xyXG5cdFx0XHR9ZWxzZXtcclxuXHRcdFx0XHR0aGlzLmh0dHAucG9zdChpbmZvLmFwaXx8Jy9hcGkvJytpbmZvLnBhcnQrJy9maWxlJysoaW5mby5uYW1lJiYoJy8nK2luZm8ubmFtZSl8fCcnKSwgb2JqLCByZXNwID0+IHtcclxuXHRcdFx0XHRcdGlmKHJlc3AgJiYgdHlwZW9mIGluZm8uY2IgPT0gJ2Z1bmN0aW9uJykgaW5mby5jYihyZXNwKTtcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fVxyXG5cdFx0fTtcclxuXHRcdHByaXZhdGUgcHJvY2VzcyhmaWxlOmFueSwgaW5mbzphbnkpe1xyXG5cdFx0XHRpZihmaWxlLnR5cGUuaW5kZXhPZihcImltYWdlL1wiKSE9MCl7XHJcblx0XHRcdFx0aWYodHlwZW9mIGluZm8uY2IgPT0gJ2Z1bmN0aW9uJyl7XHJcblx0XHRcdFx0XHRpbmZvLmNiKGZhbHNlLCBmaWxlKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0aWYodHlwZW9mIGluZm8ubXVsdGlwbGVfY2IgPT0gJ2Z1bmN0aW9uJyl7XHJcblx0XHRcdFx0XHRpbmZvLm11bHRpcGxlX2ZpbGVzLnB1c2goe2ZpbGU6IGZpbGV9KTtcclxuXHRcdFx0XHRcdGlmKC0taW5mby5tdWx0aXBsZV9jb3VudGVyID09IDApIGluZm8ubXVsdGlwbGVfY2IoaW5mby5tdWx0aXBsZV9maWxlcyk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHJldHVybjtcclxuXHRcdFx0fVxyXG5cdFx0XHRpZihpbmZvLnJlc2l6ZSl7XHJcblx0XHRcdFx0aW5mby5yZXNpemUud2lkdGggPSBpbmZvLnJlc2l6ZS53aWR0aCB8fCAxOTIwO1xyXG5cdFx0XHRcdGluZm8ucmVzaXplLmhlaWdodCA9IGluZm8ucmVzaXplLmhlaWdodCB8fCAxMDgwO1xyXG5cdFx0XHR9XHJcblx0XHRcdGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XHJcblx0XHRcdHJlYWRlci5vbmxvYWQgPSAobG9hZEV2ZW50OmFueSk9PntcclxuXHRcdFx0XHRpZighaW5mby5yZXNpemUpe1xyXG5cdFx0XHRcdFx0cmV0dXJuIHRoaXMudXBkYXRlKGxvYWRFdmVudC50YXJnZXQucmVzdWx0LCBpbmZvLCBmaWxlKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0Y29uc3QgY2FudmFzRWxlbWVudCA9IHRoaXMuY29yZS5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcclxuXHRcdFx0XHRjb25zdCBpbWFnZUVsZW1lbnQgPSB0aGlzLmNvcmUuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW1nJyk7XHJcblx0XHRcdFx0aW1hZ2VFbGVtZW50Lm9ubG9hZCA9ICgpID0+IHtcclxuXHRcdFx0XHRcdGlmIChcclxuXHRcdFx0XHRcdFx0aW1hZ2VFbGVtZW50LndpZHRoIDw9IGluZm8ucmVzaXplLndpZHRoICYmXHJcblx0XHRcdFx0XHRcdGltYWdlRWxlbWVudC5oZWlnaHQgPD0gaW5mby5yZXNpemUuaGVpZ2h0XHJcblx0XHRcdFx0XHQpIHtcclxuXHRcdFx0XHRcdFx0cmV0dXJuIHRoaXMudXBkYXRlKGxvYWRFdmVudC50YXJnZXQucmVzdWx0LCBpbmZvLCBmaWxlKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGNvbnN0IGluZm9SYXRpbyA9IGluZm8ucmVzaXplLndpZHRoIC8gaW5mby5yZXNpemUuaGVpZ2h0O1xyXG5cdFx0XHRcdFx0Y29uc3QgaW1nUmF0aW8gPSBpbWFnZUVsZW1lbnQud2lkdGggLyBpbWFnZUVsZW1lbnQuaGVpZ2h0O1xyXG5cdFx0XHRcdFx0bGV0IHdpZHRoLCBoZWlnaHQ7XHJcblx0XHRcdFx0XHRpZiAoaW1nUmF0aW8gPiBpbmZvUmF0aW8pIHtcclxuXHRcdFx0XHRcdFx0d2lkdGggPSBNYXRoLm1pbihpbmZvLnJlc2l6ZS53aWR0aCwgaW1hZ2VFbGVtZW50LndpZHRoKTtcclxuXHRcdFx0XHRcdFx0aGVpZ2h0ID0gd2lkdGggLyBpbWdSYXRpbztcclxuXHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdGhlaWdodCA9IE1hdGgubWluKGluZm8ucmVzaXplLmhlaWdodCwgaW1hZ2VFbGVtZW50LmhlaWdodCk7XHJcblx0XHRcdFx0XHRcdHdpZHRoID0gaGVpZ2h0ICogaW1nUmF0aW87XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRjYW52YXNFbGVtZW50LndpZHRoID0gd2lkdGg7XHJcblx0XHRcdFx0XHRjYW52YXNFbGVtZW50LmhlaWdodCA9IGhlaWdodDtcclxuXHRcdFx0XHRcdGxldCBjb250ZXh0ID0gY2FudmFzRWxlbWVudC5nZXRDb250ZXh0KCcyZCcpO1xyXG5cdFx0XHRcdFx0Y29udGV4dC5kcmF3SW1hZ2UoaW1hZ2VFbGVtZW50LCAwLCAwICwgd2lkdGgsIGhlaWdodCk7XHJcblx0XHRcdFx0XHRsZXQgZGF0YVVybCA9IGNhbnZhc0VsZW1lbnQudG9EYXRhVVJMKCdpbWFnZS9qcGVnJywgMSk7XHJcblx0XHRcdFx0XHRyZXR1cm4gdGhpcy51cGRhdGUoZGF0YVVybCwgaW5mbywgZmlsZSk7XHJcblx0XHRcdFx0fTtcclxuXHRcdFx0XHRpbWFnZUVsZW1lbnQuc3JjID0gbG9hZEV2ZW50LnRhcmdldC5yZXN1bHQ7XHJcblx0XHRcdH07XHJcblx0XHRcdHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpO1xyXG5cdFx0fTtcclxuXHQvKlxyXG5cdCpcdEVuZCBPZlxyXG5cdCovXHJcbn1cclxuIl19
@@ -3158,8 +3158,8 @@ class FileService {
3158
3158
  const canvasElement = this.core.document.createElement('canvas');
3159
3159
  const imageElement = this.core.document.createElement('img');
3160
3160
  imageElement.onload = () => {
3161
- if (imageElement.width < info.resize.width &&
3162
- imageElement.height < info.resize.height) {
3161
+ if (imageElement.width <= info.resize.width &&
3162
+ imageElement.height <= info.resize.height) {
3163
3163
  return this.update(loadEvent.target.result, info, file);
3164
3164
  }
3165
3165
  const infoRatio = info.resize.width / info.resize.height;