croco-html 2.17.0 → 2.18.0

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.
@@ -9,12 +9,12 @@ export class YoutubeVideoPlayerComponent {
9
9
  this.sanitizer = sanitizer;
10
10
  }
11
11
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: YoutubeVideoPlayerComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
12
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: YoutubeVideoPlayerComponent, isStandalone: true, selector: "youtube-video-player", inputs: { link: "link" }, ngImport: i0, template: "<div class=\"video-player\">\n <iframe\n width=\"100%\"\n height=\"100%\"\n [src]=\"safeUrl\"\n title=\"YouTube video player\"\n frameborder=\"0\"\n allow=\"accelerometer;\n autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\"\n referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen></iframe>\n</div>\n", styles: [".video-player{margin:0 auto;max-width:640px;width:100%;height:360px}@media screen and (max-width: 760px){.video-player{height:300px}}@media screen and (max-width: 540px){.video-player{height:250px}}@media screen and (max-width: 450px){.video-player{height:200px}}@media screen and (max-width: 380px){.video-player{height:180px}}\n"] }); }
12
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: YoutubeVideoPlayerComponent, isStandalone: true, selector: "youtube-video-player", inputs: { link: "link" }, ngImport: i0, template: "<div class=\"video-player\">\n <iframe\n width=\"100%\"\n height=\"100%\"\n [src]=\"safeUrl\"\n title=\"YouTube video player\"\n frameborder=\"0\"\n allow=\"accelerometer; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\"\n referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen></iframe>\n</div>\n", styles: [".video-player{margin:0 auto;max-width:640px;width:100%;height:360px}@media screen and (max-width: 760px){.video-player{height:300px}}@media screen and (max-width: 540px){.video-player{height:250px}}@media screen and (max-width: 450px){.video-player{height:200px}}@media screen and (max-width: 380px){.video-player{height:180px}}\n"] }); }
13
13
  }
14
14
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: YoutubeVideoPlayerComponent, decorators: [{
15
15
  type: Component,
16
- args: [{ selector: 'youtube-video-player', standalone: true, imports: [], template: "<div class=\"video-player\">\n <iframe\n width=\"100%\"\n height=\"100%\"\n [src]=\"safeUrl\"\n title=\"YouTube video player\"\n frameborder=\"0\"\n allow=\"accelerometer;\n autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\"\n referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen></iframe>\n</div>\n", styles: [".video-player{margin:0 auto;max-width:640px;width:100%;height:360px}@media screen and (max-width: 760px){.video-player{height:300px}}@media screen and (max-width: 540px){.video-player{height:250px}}@media screen and (max-width: 450px){.video-player{height:200px}}@media screen and (max-width: 380px){.video-player{height:180px}}\n"] }]
16
+ args: [{ selector: 'youtube-video-player', standalone: true, imports: [], template: "<div class=\"video-player\">\n <iframe\n width=\"100%\"\n height=\"100%\"\n [src]=\"safeUrl\"\n title=\"YouTube video player\"\n frameborder=\"0\"\n allow=\"accelerometer; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\"\n referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen></iframe>\n</div>\n", styles: [".video-player{margin:0 auto;max-width:640px;width:100%;height:360px}@media screen and (max-width: 760px){.video-player{height:300px}}@media screen and (max-width: 540px){.video-player{height:250px}}@media screen and (max-width: 450px){.video-player{height:200px}}@media screen and (max-width: 380px){.video-player{height:180px}}\n"] }]
17
17
  }], ctorParameters: () => [{ type: i1.DomSanitizer }], propDecorators: { link: [{
18
18
  type: Input
19
19
  }] } });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieW91dHViZS12aWRlby1wbGF5ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JvY28taHRtbC9zcmMvbGliL2NvbXBvbmVudHMvZWRpdG9yL2V4dGVybmFsLXZpZGVvLWJsb2NrL3lvdXR1YmUtdmlkZW8tcGxheWVyL3lvdXR1YmUtdmlkZW8tcGxheWVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nyb2NvLWh0bWwvc3JjL2xpYi9jb21wb25lbnRzL2VkaXRvci9leHRlcm5hbC12aWRlby1ibG9jay95b3V0dWJlLXZpZGVvLXBsYXllci95b3V0dWJlLXZpZGVvLXBsYXllci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQzs7O0FBVS9DLE1BQU0sT0FBTywyQkFBMkI7SUFFdEMsSUFBYSxJQUFJLENBQUMsSUFBWTtRQUM1QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsOEJBQThCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUdELFlBQW9CLFNBQXVCO1FBQXZCLGNBQVMsR0FBVCxTQUFTLENBQWM7SUFBRyxDQUFDOzhHQVBwQywyQkFBMkI7a0dBQTNCLDJCQUEyQiwwR0NWeEMsOFlBV0E7OzJGRERhLDJCQUEyQjtrQkFQdkMsU0FBUzsrQkFDRSxzQkFBc0IsY0FDcEIsSUFBSSxXQUNQLEVBQUU7aUZBTUUsSUFBSTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0RvbVNhbml0aXplciwgU2FmZVJlc291cmNlVXJsfSBmcm9tIFwiQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3NlclwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd5b3V0dWJlLXZpZGVvLXBsYXllcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtdLFxuICB0ZW1wbGF0ZVVybDogJy4veW91dHViZS12aWRlby1wbGF5ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4uL2V4dGVybmFsLXZpZGVvLWJsb2NrLmNvbXBvbmVudC5zY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBZb3V0dWJlVmlkZW9QbGF5ZXJDb21wb25lbnQge1xuXG4gIEBJbnB1dCgpIHNldCBsaW5rKGxpbms6IHN0cmluZykge1xuICAgIHRoaXMuc2FmZVVybCA9IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybChsaW5rKTtcbiAgfVxuICBwdWJsaWMgc2FmZVVybDogU2FmZVJlc291cmNlVXJsO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIpIHt9XG59XG4iLCI8ZGl2IGNsYXNzPVwidmlkZW8tcGxheWVyXCI+XG4gICAgPGlmcmFtZVxuICAgICAgd2lkdGg9XCIxMDAlXCJcbiAgICAgIGhlaWdodD1cIjEwMCVcIlxuICAgICAgW3NyY109XCJzYWZlVXJsXCJcbiAgICAgIHRpdGxlPVwiWW91VHViZSB2aWRlbyBwbGF5ZXJcIlxuICAgICAgZnJhbWVib3JkZXI9XCIwXCJcbiAgICAgIGFsbG93PVwiYWNjZWxlcm9tZXRlcjtcbiAgICAgICAgICBhdXRvcGxheTsgY2xpcGJvYXJkLXdyaXRlOyBlbmNyeXB0ZWQtbWVkaWE7IGd5cm9zY29wZTsgcGljdHVyZS1pbi1waWN0dXJlOyB3ZWItc2hhcmVcIlxuICAgICAgcmVmZXJyZXJwb2xpY3k9XCJzdHJpY3Qtb3JpZ2luLXdoZW4tY3Jvc3Mtb3JpZ2luXCIgYWxsb3dmdWxsc2NyZWVuPjwvaWZyYW1lPlxuPC9kaXY+XG4iXX0=
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieW91dHViZS12aWRlby1wbGF5ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JvY28taHRtbC9zcmMvbGliL2NvbXBvbmVudHMvZWRpdG9yL2V4dGVybmFsLXZpZGVvLWJsb2NrL3lvdXR1YmUtdmlkZW8tcGxheWVyL3lvdXR1YmUtdmlkZW8tcGxheWVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nyb2NvLWh0bWwvc3JjL2xpYi9jb21wb25lbnRzL2VkaXRvci9leHRlcm5hbC12aWRlby1ibG9jay95b3V0dWJlLXZpZGVvLXBsYXllci95b3V0dWJlLXZpZGVvLXBsYXllci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQzs7O0FBVS9DLE1BQU0sT0FBTywyQkFBMkI7SUFFdEMsSUFBYSxJQUFJLENBQUMsSUFBWTtRQUM1QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsOEJBQThCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUdELFlBQW9CLFNBQXVCO1FBQXZCLGNBQVMsR0FBVCxTQUFTLENBQWM7SUFBRyxDQUFDOzhHQVBwQywyQkFBMkI7a0dBQTNCLDJCQUEyQiwwR0NWeEMseVhBVUE7OzJGREFhLDJCQUEyQjtrQkFQdkMsU0FBUzsrQkFDRSxzQkFBc0IsY0FDcEIsSUFBSSxXQUNQLEVBQUU7aUZBTUUsSUFBSTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0RvbVNhbml0aXplciwgU2FmZVJlc291cmNlVXJsfSBmcm9tIFwiQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3NlclwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd5b3V0dWJlLXZpZGVvLXBsYXllcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtdLFxuICB0ZW1wbGF0ZVVybDogJy4veW91dHViZS12aWRlby1wbGF5ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4uL2V4dGVybmFsLXZpZGVvLWJsb2NrLmNvbXBvbmVudC5zY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBZb3V0dWJlVmlkZW9QbGF5ZXJDb21wb25lbnQge1xuXG4gIEBJbnB1dCgpIHNldCBsaW5rKGxpbms6IHN0cmluZykge1xuICAgIHRoaXMuc2FmZVVybCA9IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybChsaW5rKTtcbiAgfVxuICBwdWJsaWMgc2FmZVVybDogU2FmZVJlc291cmNlVXJsO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIpIHt9XG59XG4iLCI8ZGl2IGNsYXNzPVwidmlkZW8tcGxheWVyXCI+XG4gICAgPGlmcmFtZVxuICAgICAgd2lkdGg9XCIxMDAlXCJcbiAgICAgIGhlaWdodD1cIjEwMCVcIlxuICAgICAgW3NyY109XCJzYWZlVXJsXCJcbiAgICAgIHRpdGxlPVwiWW91VHViZSB2aWRlbyBwbGF5ZXJcIlxuICAgICAgZnJhbWVib3JkZXI9XCIwXCJcbiAgICAgIGFsbG93PVwiYWNjZWxlcm9tZXRlcjsgY2xpcGJvYXJkLXdyaXRlOyBlbmNyeXB0ZWQtbWVkaWE7IGd5cm9zY29wZTsgcGljdHVyZS1pbi1waWN0dXJlOyB3ZWItc2hhcmVcIlxuICAgICAgcmVmZXJyZXJwb2xpY3k9XCJzdHJpY3Qtb3JpZ2luLXdoZW4tY3Jvc3Mtb3JpZ2luXCIgYWxsb3dmdWxsc2NyZWVuPjwvaWZyYW1lPlxuPC9kaXY+XG4iXX0=
@@ -21,8 +21,9 @@ export class ImageEditorComponent {
21
21
  onErrorHandler() {
22
22
  this.hasImageError = true;
23
23
  }
24
- constructor(_options, screenWidth) {
24
+ constructor(_options, screenWidthService) {
25
25
  this._options = _options;
26
+ this.screenWidthService = screenWidthService;
26
27
  this.hasImageError = false;
27
28
  this.searchOrEdit = "search";
28
29
  this.requests = [];
@@ -30,11 +31,6 @@ export class ImageEditorComponent {
30
31
  this.isShowMediaRequest = false;
31
32
  this.unsubscribe = new Subject();
32
33
  this.onTagUpdated = new EventEmitter();
33
- screenWidth.getScreenWidth()
34
- .pipe(takeUntil(this.unsubscribe))
35
- .subscribe(screenWidth => {
36
- this.imageMaxHeight = ImageMethods.screenSizeChanged(screenWidth, this.requests);
37
- });
38
34
  }
39
35
  getSrc() {
40
36
  return ImageMethods.buildUrl(this.tag.attributes[FileImageTagDataConsts.FileIdAttrName], "Medium", this._options);
@@ -52,6 +48,11 @@ export class ImageEditorComponent {
52
48
  ngOnInit() {
53
49
  let attr = this.tag.attributes[FileImageTagDataConsts.ScreenMediaRequest];
54
50
  this.requests = ImageMethods.mediaRequestStringToArrayParser(attr);
51
+ this.screenWidthService.getScreenWidth()
52
+ .pipe(takeUntil(this.unsubscribe))
53
+ .subscribe(screenWidth => {
54
+ this.imageMaxHeight = ImageMethods.screenSizeChanged(screenWidth, this.requests);
55
+ });
55
56
  }
56
57
  requestChanged() {
57
58
  this.tag.attributes[FileImageTagDataConsts.ScreenMediaRequest] = ImageMethods.mediaRequestsArrayToStringParser(this.requests);
@@ -84,4 +85,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
84
85
  }], onTagUpdated: [{
85
86
  type: Output
86
87
  }] } });
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nyb2NvLWh0bWwvc3JjL2xpYi9jb21wb25lbnRzL2VkaXRvci9pbWFnZS1lZGl0b3IvaW1hZ2UtZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nyb2NvLWh0bWwvc3JjL2xpYi9jb21wb25lbnRzL2VkaXRvci9pbWFnZS1lZGl0b3IvaW1hZ2UtZWRpdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUUsWUFBWSxFQUFFLHNCQUFzQixFQUFpQixNQUFNLHFCQUFxQixDQUFDO0FBRTFGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXhELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSw0QkFBNEIs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LENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDOUIsQ0FBQzs4R0F6RVUsb0JBQW9CLGtCQW9CckIscUJBQXFCO2tHQXBCcEIsb0JBQW9CLHNKQzNCakMscWpMQW9IQSwwWEQzRlksb0JBQW9CLDBSQUFFLFdBQVcsaXhCQUFFLGVBQWUsc1BBQUUsT0FBTywySUFBRSxxQkFBcUIsK0lBQUUsWUFBWSw0TEFBRSxRQUFRLHNEQUFFLFFBQVEsaVVBQXdFLE9BQU8sMkVBQWEsYUFBYSw2RkFBRSxjQUFjOzsyRkFFNU8sb0JBQW9CO2tCQVBoQyxTQUFTOytCQUNFLHlCQUF5QixjQUd2QixJQUFJLFdBQ1AsQ0FBQyxvQkFBb0IsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSw0QkFBNEIsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxjQUFjLENBQUM7OzBCQXNCclAsTUFBTTsyQkFBQyxxQkFBcUI7MEVBVi9CLEdBQUc7c0JBREYsS0FBSztnQkFRTixZQUFZO3NCQURYLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW1hZ2VNZXRob2RzLCBGaWxlSW1hZ2VUYWdEYXRhQ29uc3RzLCBJTWVkaWFSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vLi4vZXh0ZW5zaW9ucyc7XG5pbXBvcnQgeyBIdG1sQm9keVRhZyB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9tb2RlbHMnO1xuaW1wb3J0IHsgQ3JvY29IdG1sT3B0aW9uc1Rva2VuIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RzJztcbmltcG9ydCB7IENyb2NvSHRtbE9wdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9leHRlbnNpb25zL0h0bWxFeHRyYWN0aW9uTWV0aG9kcyc7XG5pbXBvcnQgeyBNYXRJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZCwgTWF0TGFiZWwgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IEZpbGVJZFNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2ZpbGUtaWQtc2VsZWN0L2ZpbGUtaWQtc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRJY29uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEJ1dHRvblRvZ2dsZUdyb3VwLCBNYXRCdXR0b25Ub2dnbGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24tdG9nZ2xlJztcbmltcG9ydCB7IENka0RyYWdIYW5kbGUgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2RyYWctZHJvcFwiO1xuaW1wb3J0IHsgTWF0Q2FyZCwgTWF0Q2FyZENvbnRlbnQgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvY2FyZFwiO1xuaW1wb3J0IHsgWG1sVGFnRXh0ZXJuYWxWaWRlb0NvbXBvbmVudCB9IGZyb20gXCIuLi8uLi94bWwtdGFnc1wiO1xuaW1wb3J0IHsgTmdTdHlsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IFNjcmVlbldpZHRoU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlcy9zY3JlZW4td2lkdGguc2VydmljZVwiO1xuaW1wb3J0IHsgTWF0QnV0dG9uLCBNYXRJY29uQnV0dG9uIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2J1dHRvblwiO1xuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvc2xpZGUtdG9nZ2xlXCI7XG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tIFwicnhqc1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcm9jby1odG1sLWltYWdlLWVkaXRvcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbWFnZS1lZGl0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pbWFnZS1lZGl0b3IuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW01hdEJ1dHRvblRvZ2dsZUdyb3VwLCBGb3Jtc01vZHVsZSwgTWF0QnV0dG9uVG9nZ2xlLCBNYXRJY29uLCBGaWxlSWRTZWxlY3RDb21wb25lbnQsIE1hdEZvcm1GaWVsZCwgTWF0TGFiZWwsIE1hdElucHV0LCBDZGtEcmFnSGFuZGxlLCBNYXRDYXJkLCBNYXRDYXJkQ29udGVudCwgWG1sVGFnRXh0ZXJuYWxWaWRlb0NvbXBvbmVudCwgTmdTdHlsZSwgTWF0QnV0dG9uLCBNYXRJY29uQnV0dG9uLCBNYXRTbGlkZVRvZ2dsZV1cbn0pXG5leHBvcnQgY2xhc3MgSW1hZ2VFZGl0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgaGFzSW1hZ2VFcnJvciA9IGZhbHNlO1xuICBzZWFyY2hPckVkaXQgPSBcInNlYXJjaFwiO1xuICByZXF1ZXN0czogSU1lZGlhUmVxdWVzdFtdID0gW107XG4gIGltYWdlTWF4SGVpZ2h0ID0gbnVsbDtcbiAgaXNTaG93TWVkaWFSZXF1ZXN0ID0gZmFsc2U7XG4gIHByaXZhdGUgdW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIEBJbnB1dCgpXG4gIHRhZzogSHRtbEJvZHlUYWc7XG5cbiAgb25FcnJvckhhbmRsZXIoKSB7XG4gICAgdGhpcy5oYXNJbWFnZUVycm9yID0gdHJ1ZTtcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICBvblRhZ1VwZGF0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEh0bWxCb2R5VGFnPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoQ3JvY29IdG1sT3B0aW9uc1Rva2VuKSBwcml2YXRlIHJlYWRvbmx5IF9vcHRpb25zOiBDcm9jb0h0bWxPcHRpb25zLFxuICAgIHNjcmVlbldpZHRoOiBTY3JlZW5XaWR0aFNlcnZpY2UpIHtcblxuICAgIHNjcmVlbldpZHRoLmdldFNjcmVlbldpZHRoKClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoc2NyZWVuV2lkdGggPT4ge1xuICAgICAgICB0aGlzLmltYWdlTWF4SGVpZ2h0ID0gSW1hZ2VNZXRob2RzLnNjcmVlblNpemVDaGFuZ2VkKHNjcmVlbldpZHRoLCB0aGlzLnJlcXVlc3RzKTtcbiAgICAgIH0pXG4gIH1cblxuICBnZXRTcmMoKSB7XG4gICAgcmV0dXJuIEltYWdlTWV0aG9kcy5idWlsZFVybCh0aGlzLnRhZy5hdHRyaWJ1dGVzW0ZpbGVJbWFnZVRhZ0RhdGFDb25zdHMuRmlsZUlkQXR0ck5hbWVdLCBcIk1lZGl1bVwiLCB0aGlzLl9vcHRpb25zKTtcbiAgfVxuXG4gIGhhc0ZpbGVJZCgpIHtcbiAgICByZXR1cm4gdGhpcy50YWcuYXR0cmlidXRlcy5oYXNPd25Qcm9wZXJ0eShGaWxlSW1hZ2VUYWdEYXRhQ29uc3RzLkZpbGVJZEF0dHJOYW1lKSAmJiAhaXNOYU4odGhpcy50YWcuYXR0cmlidXRlc1tGaWxlSW1hZ2VUYWdEYXRhQ29uc3RzLkZpbGVJZEF0dHJOYW1lXSk7XG4gIH1cblxuICBvbkZpbGVJZENoYW5nZWQoZmlsZUlkOiBudW1iZXIpIHtcbiAgICB0aGlzLnRhZy5hdHRyaWJ1dGVzW0ZpbGVJbWFnZVRhZ0RhdGFDb25zdHMuRmlsZUlkQXR0ck5hbWVdID0gZmlsZUlkO1xuICAgIHRoaXMucmVtb3ZlSW1hZ2VFcnJvcigpO1xuICB9XG5cbiAgcmVtb3ZlSW1hZ2VFcnJvcigpIHtcbiAgICB0aGlzLmhhc0ltYWdlRXJyb3IgPSBmYWxzZTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuXG4gICAgbGV0IGF0dHIgPSB0aGlzLnRhZy5hdHRyaWJ1dGVzW0ZpbGVJbWFnZVRhZ0RhdGFDb25zdHMuU2NyZWVuTWVkaWFSZXF1ZXN0XTtcblxuICAgIHRoaXMucmVxdWVzdHMgPSBJbWFnZU1ldGhvZHMubWVkaWFSZXF1ZXN0U3RyaW5nVG9BcnJheVBhcnNlcihhdHRyKVxuICB9XG5cbiAgcmVxdWVzdENoYW5nZWQoKSB7XG4gICAgdGhpcy50YWcuYXR0cmlidXRlc1tGaWxlSW1hZ2VUYWdEYXRhQ29uc3RzLlNjcmVlbk1lZGlhUmVxdWVzdF0gPSBJbWFnZU1ldGhvZHMubWVkaWFSZXF1ZXN0c0FycmF5VG9TdHJpbmdQYXJzZXIodGhpcy5yZXF1ZXN0cylcbiAgfVxuXG4gIGFkZE5ld01lZGlhUmVxdWVzdCgpIHtcbiAgICB0aGlzLnJlcXVlc3RzLnB1c2goe1xuICAgICAgc2NyZWVuV2lkdGg6IDAsXG4gICAgICBtYXhJbWFnZUhlaWdodDogMCxcbiAgICB9KVxuICB9XG5cbiAgZGVsZXRlTWVkaWFSZXF1ZXN0KGluZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLnJlcXVlc3RzLnNwbGljZShpbmRleCwgMSk7XG4gICAgdGhpcy5yZXF1ZXN0Q2hhbmdlZCgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy51bnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy51bnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG59XG4iLCI8ZGl2PlxuICA8ZGl2IHN0eWxlPVwiaGVpZ2h0OiAxMHB4O1wiPlxuICA8L2Rpdj5cblxuICBAaWYgKGhhc0ltYWdlRXJyb3IpIHtcbiAgICA8ZGl2IGNsYXNzPVwiZXJyb3ItYmxvY2tcIj5cbiAgICAgINCY0LfQvtCx0YDQsNC20LXQvdC40LUg0L3QtSDQvdCw0LnQtNC10L3QviDQv9C+INGD0LrQsNC30LDQvdC90L7QvNGDINC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGA0YMsINCy0L7Qt9C80L7QttC90L4g0YTQsNC50Lsg0L3QtSDRgdGD0YnQtdGB0YLQstGD0LXRgiDQuNC70Lgg0L7RgtGB0YPRgtGB0YLQstGD0LXRgiDQvdCwINGB0LXRgNCy0LXRgNC1LlxuICAgIDwvZGl2PlxuICB9XG5cbiAgQGlmIChoYXNGaWxlSWQoKSAmJiAhaGFzSW1hZ2VFcnJvcikge1xuICAgIDxkaXY+XG4gICAgICA8aW1nXG4gICAgICAgIFtuZ1N0eWxlXT1cInsgJ21heC1oZWlnaHQnOiBpbWFnZU1heEhlaWdodCA/IGltYWdlTWF4SGVpZ2h0ICsgJ3B4JyA6ICcxMDAlJ31cIlxuICAgICAgICBjbGFzcz1cIm14LWF1dG8gZC1ibG9jayBpbWctZmx1aWRcIiBbc3JjXT1cImdldFNyYygpXCIgKGVycm9yKT1cIm9uRXJyb3JIYW5kbGVyKClcIiBhbHQ9XCJwaG90b1wiLz5cbiAgICA8L2Rpdj5cbiAgfVxuXG4gIEBpZiAoIWhhc0ZpbGVJZCgpKSB7XG4gICAgPGRpdj5cbiAgICAgIDxoNT5b0JjQt9C+0LHRgNCw0LbQtdC90LjQtSDQvdC1INCy0YvQsdGA0LDQvdC+XTwvaDU+XG4gICAgPC9kaXY+XG4gIH1cblxuICBAaWYoIXRhZy5wcmVzZW50T3JFZGl0KSB7XG4gICAgPG1hdC1zbGlkZS10b2dnbGUgc3R5bGU9XCJwYWRkaW5nOiAxMHB4IDBcIiBbKG5nTW9kZWwpXT1cImlzU2hvd01lZGlhUmVxdWVzdFwiPtCf0L7QutCw0LfRi9Cy0LDRgtGMINC80LXQtNC40LAg0LfQsNC/0YDQvtGB0Ys8L21hdC1zbGlkZS10b2dnbGU+XG4gIH1cblxuICBAaWYoaXNTaG93TWVkaWFSZXF1ZXN0KSB7XG4gICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogMjBweFwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1lZGlhLXJlcXVlc3RfX2hlYWRlclwiPlxuICAgICAgICA8c3Bhbj7QnNC10LTQuNCwINC30LDQv9GA0L7RgdGLOjwvc3Bhbj5cbiAgICAgICAgQGlmICghdGFnLnByZXNlbnRPckVkaXQpIHtcbiAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJhZGROZXdNZWRpYVJlcXVlc3QoKVwiIGNsYXNzPVwidy0zMFwiIG1hdC1pY29uLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbj5hZGQ8L21hdC1pY29uPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICAgIEBmb3IgKHJlcXVlc3Qgb2YgcmVxdWVzdHM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwibWVkaWEtcmVxdWVzdF9fY29udGFpbmVyXCI+XG4gICAgICAgICAgQGlmICh0YWcucHJlc2VudE9yRWRpdCkge1xuICAgICAgICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogNXB4XCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidy0xMDBcIj7Qk9GA0LDQvdC40YbQsCDRiNC40YDQuNC90Ys6IHt7cmVxdWVzdC5zY3JlZW5XaWR0aH19PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInctMTAwXCI+0JzQsNC60YHQuNC80LDQu9GM0L3QsNGPINCy0YvRgdC+0YLQsDoge3tyZXF1ZXN0Lm1heEltYWdlSGVpZ2h0fX08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgKCF0YWcucHJlc2VudE9yRWRpdCkge1xuICAgICAgICAgICAgPGRpdiBzdHlsZT1cIndpZHRoOiAxMDAlXCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cInctMTAwXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgINCT0YDQsNC90LjRhtCwINGI0LjRgNC40L3Ri1xuICAgICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBwbGFjZWhvbGRlcj1cItCT0YDQsNC90LjRhtCwINGI0LjRgNC40L3Ri1wiXG4gICAgICAgICAgICAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwicmVxdWVzdC5zY3JlZW5XaWR0aFwiXG4gICAgICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInJlcXVlc3RDaGFuZ2VkKClcIj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJ3LTEwMFwiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICDQnNCw0LrRgdC40LzQsNC70YzQvdCw0Y8g0LLRi9GB0L7RgtCwXG4gICAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHBsYWNlaG9sZGVyPVwiINCc0LDQutGB0LjQvNCw0LvRjNC90LDRjyDQstGL0YHQvtGC0LBcIlxuICAgICAgICAgICAgICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInJlcXVlc3QubWF4SW1hZ2VIZWlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJyZXF1ZXN0Q2hhbmdlZCgpXCI+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiZGVsZXRlTWVkaWFSZXF1ZXN0KCRpbmRleClcIiBjbGFzcz1cInctMzBcIiBtYXQtaWNvbi1idXR0b24gY29sb3I9XCJ3YXJuXCI+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgfVxuPC9kaXY+XG5cbkBpZiAoIXRhZy5wcmVzZW50T3JFZGl0KSB7XG4gIDxkaXY+XG4gICAgPGRpdiBzdHlsZT1cImhlaWdodDogMTBweDtcIj48L2Rpdj5cbiAgICA8ZGl2IHN0eWxlPVwib3ZlcmZsb3cteDphdXRvO1wiPlxuICAgICAgPG1hdC1idXR0b24tdG9nZ2xlLWdyb3VwIFsobmdNb2RlbCldPVwic2VhcmNoT3JFZGl0XCI+XG4gICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSB2YWx1ZT1cInNlYXJjaFwiPlxuICAgICAgICAgINCY0YHQutCw0YLRjCDRhNCw0LnQuyA8bWF0LWljb24+c2VhcmNoPC9tYXQtaWNvbj5cbiAgICAgICAgPC9tYXQtYnV0dG9uLXRvZ2dsZT5cbiAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlIHZhbHVlPVwiZWRpdFwiPlxuICAgICAgICAgINCj0LrQsNC30LDRgtGMINC/0L4g0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YDRgyA8bWF0LWljb24+c2V0dGluZ3M8L21hdC1pY29uPlxuICAgICAgICA8L21hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgPC9tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IHN0eWxlPVwiaGVpZ2h0OiAxMHB4O1wiPjwvZGl2PlxuICAgIDxkaXYgW2hpZGRlbl09XCJzZWFyY2hPckVkaXQgIT09ICdzZWFyY2gnXCI+XG4gICAgICA8Y3JvY28taHRtbC1maWxlLWlkLXNlbGVjdFxuICAgICAgICBbbGFiZWxUZXh0XT1cIifQktGL0LHRgNCw0YLRjCDRhNCw0LnQuydcIlxuICAgICAgICBbKGZpbGVJZCldPVwidGFnLmF0dHJpYnV0ZXNbJ2ZpbGUtaWQnXVwiXG4gICAgICAgIChvbkZpbGVJZENoYW5nZWQpPVwib25GaWxlSWRDaGFuZ2VkKCRldmVudClcIj5cbiAgICAgIDwvY3JvY28taHRtbC1maWxlLWlkLXNlbGVjdD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IFtoaWRkZW5dPVwic2VhcmNoT3JFZGl0ICE9PSAnZWRpdCdcIj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cInctMTAwXCI+XG4gICAgICAgICAgPG1hdC1sYWJlbD5cbiAgICAgICAgICAgINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINGE0LDQudC70LBcbiAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgcGxhY2Vob2xkZXI9XCLQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDRhNCw0LnQu9CwXCIgbmV3LWF1dG9jb21wbGV0ZT1cIm9mZlwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwidGFnLmF0dHJpYnV0ZXNbJ2ZpbGUtaWQnXVwiXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJyZW1vdmVJbWFnZUVycm9yKClcIj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbn1cbiJdfQ==
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nyb2NvLWh0bWwvc3JjL2xpYi9jb21wb25lbnRzL2VkaXRvci9pbWFnZS1lZGl0b3IvaW1hZ2UtZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nyb2NvLWh0bWwvc3JjL2xpYi9jb21wb25lbnRzL2VkaXRvci9pbWFnZS1lZGl0b3IvaW1hZ2UtZWRpdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUUsWUFBWSxFQUFFLHNCQUFzQixFQUFpQixNQUFNLHFCQUFxQixDQUFDO0FBRTFGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXhELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7OztBQVMxQyxNQUFNLE9BQU8sb0JBQW9CO0lBWS9CLGNBQWM7UUFDWixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztJQUM1QixDQUFDO0lBS0QsWUFDa0QsUUFBMEIsRUFDekQsa0JBQXNDO1FBRFAsYUFBUSxHQUFSLFFBQVEsQ0FBa0I7UUFDekQsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQW5CekQsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFDdEIsaUJBQVksR0FBRyxRQUFRLENBQUM7UUFDeEIsYUFBUSxHQUFvQixFQUFFLENBQUM7UUFDL0IsbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFDdEIsdUJBQWtCLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGdCQUFXLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQVUxQyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFlLENBQUM7SUFJYSxDQUFDO0lBRTdELE1BQU07UUFDSixPQUFPLFlBQVksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsc0JBQXNCLENBQUMsY0FBYyxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNwSCxDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLHNCQUFzQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7SUFDekosQ0FBQztJQUVELGVBQWUsQ0FBQyxNQUFjO1FBQzVCLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLGNBQWMsQ0FBQyxHQUFHLE1BQU0sQ0FBQztRQUNwRSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFDN0IsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQzFFLElBQUksQ0FBQyxRQUFRLEdBQUcsWUFBWSxDQUFDLCtCQUErQixDQUFDLElBQUksQ0FBQyxDQUFBO1FBRWxFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLEVBQUU7YUFDckMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDakMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxjQUFjLEdBQUcsWUFBWSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbkYsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLGtCQUFrQixDQUFDLEdBQUcsWUFBWSxDQUFDLGdDQUFnQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUMvSCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQ2pCLFdBQVcsRUFBRSxDQUFDO1lBQ2QsY0FBYyxFQUFFLENBQUM7U0FDbEIsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELGtCQUFrQixDQUFDLEtBQWE7UUFDOUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM5QixDQUFDOzhHQXRFVSxvQkFBb0Isa0JBb0JyQixxQkFBcUI7a0dBcEJwQixvQkFBb0Isc0pDM0JqQyxxakxBb0hBLDBYRDNGWSxvQkFBb0IsMFJBQUUsV0FBVyxpeEJBQUUsZUFBZSxzUEFBRSxPQUFPLDJJQUFFLHFCQUFxQiwrSUFBRSxZQUFZLDRMQUFFLFFBQVEsc0RBQUUsUUFBUSxpVUFBd0UsT0FBTywyRUFBYSxhQUFhLDZGQUFFLGNBQWM7OzJGQUU1TyxvQkFBb0I7a0JBUGhDLFNBQVM7K0JBQ0UseUJBQXlCLGNBR3ZCLElBQUksV0FDUCxDQUFDLG9CQUFvQixFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLDRCQUE0QixFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLGNBQWMsQ0FBQzs7MEJBc0JyUCxNQUFNOzJCQUFDLHFCQUFxQjswRUFWL0IsR0FBRztzQkFERixLQUFLO2dCQVFOLFlBQVk7c0JBRFgsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbWFnZU1ldGhvZHMsIEZpbGVJbWFnZVRhZ0RhdGFDb25zdHMsIElNZWRpYVJlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi9leHRlbnNpb25zJztcbmltcG9ydCB7IEh0bWxCb2R5VGFnIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL21vZGVscyc7XG5pbXBvcnQgeyBDcm9jb0h0bWxPcHRpb25zVG9rZW4gfSBmcm9tICcuLi8uLi8uLi9jb25zdHMnO1xuaW1wb3J0IHsgQ3JvY29IdG1sT3B0aW9ucyB9IGZyb20gJy4uLy4uLy4uL2V4dGVuc2lvbnMvSHRtbEV4dHJhY3Rpb25NZXRob2RzJztcbmltcG9ydCB7IE1hdElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkLCBNYXRMYWJlbCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgRmlsZUlkU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZmlsZS1pZC1zZWxlY3QvZmlsZS1pZC1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IE1hdEljb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0QnV0dG9uVG9nZ2xlR3JvdXAsIE1hdEJ1dHRvblRvZ2dsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbi10b2dnbGUnO1xuaW1wb3J0IHsgQ2RrRHJhZ0hhbmRsZSB9IGZyb20gXCJAYW5ndWxhci9jZGsvZHJhZy1kcm9wXCI7XG5pbXBvcnQgeyBNYXRDYXJkLCBNYXRDYXJkQ29udGVudCB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9jYXJkXCI7XG5pbXBvcnQgeyBYbWxUYWdFeHRlcm5hbFZpZGVvQ29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL3htbC10YWdzXCI7XG5pbXBvcnQgeyBOZ1N0eWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHsgU2NyZWVuV2lkdGhTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2VzL3NjcmVlbi13aWR0aC5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBNYXRCdXR0b24sIE1hdEljb25CdXR0b24gfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uXCI7XG5pbXBvcnQgeyBNYXRTbGlkZVRvZ2dsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGVcIjtcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gXCJyeGpzXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Nyb2NvLWh0bWwtaW1hZ2UtZWRpdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ltYWdlLWVkaXRvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ltYWdlLWVkaXRvci5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTWF0QnV0dG9uVG9nZ2xlR3JvdXAsIEZvcm1zTW9kdWxlLCBNYXRCdXR0b25Ub2dnbGUsIE1hdEljb24sIEZpbGVJZFNlbGVjdENvbXBvbmVudCwgTWF0Rm9ybUZpZWxkLCBNYXRMYWJlbCwgTWF0SW5wdXQsIENka0RyYWdIYW5kbGUsIE1hdENhcmQsIE1hdENhcmRDb250ZW50LCBYbWxUYWdFeHRlcm5hbFZpZGVvQ29tcG9uZW50LCBOZ1N0eWxlLCBNYXRCdXR0b24sIE1hdEljb25CdXR0b24sIE1hdFNsaWRlVG9nZ2xlXVxufSlcbmV4cG9ydCBjbGFzcyBJbWFnZUVkaXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBoYXNJbWFnZUVycm9yID0gZmFsc2U7XG4gIHNlYXJjaE9yRWRpdCA9IFwic2VhcmNoXCI7XG4gIHJlcXVlc3RzOiBJTWVkaWFSZXF1ZXN0W10gPSBbXTtcbiAgaW1hZ2VNYXhIZWlnaHQgPSBudWxsO1xuICBpc1Nob3dNZWRpYVJlcXVlc3QgPSBmYWxzZTtcbiAgcHJpdmF0ZSB1bnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgQElucHV0KClcbiAgdGFnOiBIdG1sQm9keVRhZztcblxuICBvbkVycm9ySGFuZGxlcigpIHtcbiAgICB0aGlzLmhhc0ltYWdlRXJyb3IgPSB0cnVlO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIG9uVGFnVXBkYXRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8SHRtbEJvZHlUYWc+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChDcm9jb0h0bWxPcHRpb25zVG9rZW4pIHByaXZhdGUgcmVhZG9ubHkgX29wdGlvbnM6IENyb2NvSHRtbE9wdGlvbnMsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzY3JlZW5XaWR0aFNlcnZpY2U6IFNjcmVlbldpZHRoU2VydmljZSkge31cblxuICBnZXRTcmMoKSB7XG4gICAgcmV0dXJuIEltYWdlTWV0aG9kcy5idWlsZFVybCh0aGlzLnRhZy5hdHRyaWJ1dGVzW0ZpbGVJbWFnZVRhZ0RhdGFDb25zdHMuRmlsZUlkQXR0ck5hbWVdLCBcIk1lZGl1bVwiLCB0aGlzLl9vcHRpb25zKTtcbiAgfVxuXG4gIGhhc0ZpbGVJZCgpIHtcbiAgICByZXR1cm4gdGhpcy50YWcuYXR0cmlidXRlcy5oYXNPd25Qcm9wZXJ0eShGaWxlSW1hZ2VUYWdEYXRhQ29uc3RzLkZpbGVJZEF0dHJOYW1lKSAmJiAhaXNOYU4odGhpcy50YWcuYXR0cmlidXRlc1tGaWxlSW1hZ2VUYWdEYXRhQ29uc3RzLkZpbGVJZEF0dHJOYW1lXSk7XG4gIH1cblxuICBvbkZpbGVJZENoYW5nZWQoZmlsZUlkOiBudW1iZXIpIHtcbiAgICB0aGlzLnRhZy5hdHRyaWJ1dGVzW0ZpbGVJbWFnZVRhZ0RhdGFDb25zdHMuRmlsZUlkQXR0ck5hbWVdID0gZmlsZUlkO1xuICAgIHRoaXMucmVtb3ZlSW1hZ2VFcnJvcigpO1xuICB9XG5cbiAgcmVtb3ZlSW1hZ2VFcnJvcigpIHtcbiAgICB0aGlzLmhhc0ltYWdlRXJyb3IgPSBmYWxzZTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGxldCBhdHRyID0gdGhpcy50YWcuYXR0cmlidXRlc1tGaWxlSW1hZ2VUYWdEYXRhQ29uc3RzLlNjcmVlbk1lZGlhUmVxdWVzdF07XG4gICAgdGhpcy5yZXF1ZXN0cyA9IEltYWdlTWV0aG9kcy5tZWRpYVJlcXVlc3RTdHJpbmdUb0FycmF5UGFyc2VyKGF0dHIpXG5cbiAgICB0aGlzLnNjcmVlbldpZHRoU2VydmljZS5nZXRTY3JlZW5XaWR0aCgpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKHNjcmVlbldpZHRoID0+IHtcbiAgICAgICAgdGhpcy5pbWFnZU1heEhlaWdodCA9IEltYWdlTWV0aG9kcy5zY3JlZW5TaXplQ2hhbmdlZChzY3JlZW5XaWR0aCwgdGhpcy5yZXF1ZXN0cyk7XG4gICAgICB9KVxuICB9XG5cbiAgcmVxdWVzdENoYW5nZWQoKSB7XG4gICAgdGhpcy50YWcuYXR0cmlidXRlc1tGaWxlSW1hZ2VUYWdEYXRhQ29uc3RzLlNjcmVlbk1lZGlhUmVxdWVzdF0gPSBJbWFnZU1ldGhvZHMubWVkaWFSZXF1ZXN0c0FycmF5VG9TdHJpbmdQYXJzZXIodGhpcy5yZXF1ZXN0cylcbiAgfVxuXG4gIGFkZE5ld01lZGlhUmVxdWVzdCgpIHtcbiAgICB0aGlzLnJlcXVlc3RzLnB1c2goe1xuICAgICAgc2NyZWVuV2lkdGg6IDAsXG4gICAgICBtYXhJbWFnZUhlaWdodDogMCxcbiAgICB9KVxuICB9XG5cbiAgZGVsZXRlTWVkaWFSZXF1ZXN0KGluZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLnJlcXVlc3RzLnNwbGljZShpbmRleCwgMSk7XG4gICAgdGhpcy5yZXF1ZXN0Q2hhbmdlZCgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy51bnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy51bnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG59XG4iLCI8ZGl2PlxuICA8ZGl2IHN0eWxlPVwiaGVpZ2h0OiAxMHB4O1wiPlxuICA8L2Rpdj5cblxuICBAaWYgKGhhc0ltYWdlRXJyb3IpIHtcbiAgICA8ZGl2IGNsYXNzPVwiZXJyb3ItYmxvY2tcIj5cbiAgICAgINCY0LfQvtCx0YDQsNC20LXQvdC40LUg0L3QtSDQvdCw0LnQtNC10L3QviDQv9C+INGD0LrQsNC30LDQvdC90L7QvNGDINC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGA0YMsINCy0L7Qt9C80L7QttC90L4g0YTQsNC50Lsg0L3QtSDRgdGD0YnQtdGB0YLQstGD0LXRgiDQuNC70Lgg0L7RgtGB0YPRgtGB0YLQstGD0LXRgiDQvdCwINGB0LXRgNCy0LXRgNC1LlxuICAgIDwvZGl2PlxuICB9XG5cbiAgQGlmIChoYXNGaWxlSWQoKSAmJiAhaGFzSW1hZ2VFcnJvcikge1xuICAgIDxkaXY+XG4gICAgICA8aW1nXG4gICAgICAgIFtuZ1N0eWxlXT1cInsgJ21heC1oZWlnaHQnOiBpbWFnZU1heEhlaWdodCA/IGltYWdlTWF4SGVpZ2h0ICsgJ3B4JyA6ICcxMDAlJ31cIlxuICAgICAgICBjbGFzcz1cIm14LWF1dG8gZC1ibG9jayBpbWctZmx1aWRcIiBbc3JjXT1cImdldFNyYygpXCIgKGVycm9yKT1cIm9uRXJyb3JIYW5kbGVyKClcIiBhbHQ9XCJwaG90b1wiLz5cbiAgICA8L2Rpdj5cbiAgfVxuXG4gIEBpZiAoIWhhc0ZpbGVJZCgpKSB7XG4gICAgPGRpdj5cbiAgICAgIDxoNT5b0JjQt9C+0LHRgNCw0LbQtdC90LjQtSDQvdC1INCy0YvQsdGA0LDQvdC+XTwvaDU+XG4gICAgPC9kaXY+XG4gIH1cblxuICBAaWYoIXRhZy5wcmVzZW50T3JFZGl0KSB7XG4gICAgPG1hdC1zbGlkZS10b2dnbGUgc3R5bGU9XCJwYWRkaW5nOiAxMHB4IDBcIiBbKG5nTW9kZWwpXT1cImlzU2hvd01lZGlhUmVxdWVzdFwiPtCf0L7QutCw0LfRi9Cy0LDRgtGMINC80LXQtNC40LAg0LfQsNC/0YDQvtGB0Ys8L21hdC1zbGlkZS10b2dnbGU+XG4gIH1cblxuICBAaWYoaXNTaG93TWVkaWFSZXF1ZXN0KSB7XG4gICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogMjBweFwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1lZGlhLXJlcXVlc3RfX2hlYWRlclwiPlxuICAgICAgICA8c3Bhbj7QnNC10LTQuNCwINC30LDQv9GA0L7RgdGLOjwvc3Bhbj5cbiAgICAgICAgQGlmICghdGFnLnByZXNlbnRPckVkaXQpIHtcbiAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJhZGROZXdNZWRpYVJlcXVlc3QoKVwiIGNsYXNzPVwidy0zMFwiIG1hdC1pY29uLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbj5hZGQ8L21hdC1pY29uPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICAgIEBmb3IgKHJlcXVlc3Qgb2YgcmVxdWVzdHM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwibWVkaWEtcmVxdWVzdF9fY29udGFpbmVyXCI+XG4gICAgICAgICAgQGlmICh0YWcucHJlc2VudE9yRWRpdCkge1xuICAgICAgICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogNXB4XCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidy0xMDBcIj7Qk9GA0LDQvdC40YbQsCDRiNC40YDQuNC90Ys6IHt7cmVxdWVzdC5zY3JlZW5XaWR0aH19PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInctMTAwXCI+0JzQsNC60YHQuNC80LDQu9GM0L3QsNGPINCy0YvRgdC+0YLQsDoge3tyZXF1ZXN0Lm1heEltYWdlSGVpZ2h0fX08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgKCF0YWcucHJlc2VudE9yRWRpdCkge1xuICAgICAgICAgICAgPGRpdiBzdHlsZT1cIndpZHRoOiAxMDAlXCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cInctMTAwXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgINCT0YDQsNC90LjRhtCwINGI0LjRgNC40L3Ri1xuICAgICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBwbGFjZWhvbGRlcj1cItCT0YDQsNC90LjRhtCwINGI0LjRgNC40L3Ri1wiXG4gICAgICAgICAgICAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwicmVxdWVzdC5zY3JlZW5XaWR0aFwiXG4gICAgICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInJlcXVlc3RDaGFuZ2VkKClcIj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJ3LTEwMFwiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICDQnNCw0LrRgdC40LzQsNC70YzQvdCw0Y8g0LLRi9GB0L7RgtCwXG4gICAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHBsYWNlaG9sZGVyPVwiINCc0LDQutGB0LjQvNCw0LvRjNC90LDRjyDQstGL0YHQvtGC0LBcIlxuICAgICAgICAgICAgICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInJlcXVlc3QubWF4SW1hZ2VIZWlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJyZXF1ZXN0Q2hhbmdlZCgpXCI+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiZGVsZXRlTWVkaWFSZXF1ZXN0KCRpbmRleClcIiBjbGFzcz1cInctMzBcIiBtYXQtaWNvbi1idXR0b24gY29sb3I9XCJ3YXJuXCI+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgfVxuPC9kaXY+XG5cbkBpZiAoIXRhZy5wcmVzZW50T3JFZGl0KSB7XG4gIDxkaXY+XG4gICAgPGRpdiBzdHlsZT1cImhlaWdodDogMTBweDtcIj48L2Rpdj5cbiAgICA8ZGl2IHN0eWxlPVwib3ZlcmZsb3cteDphdXRvO1wiPlxuICAgICAgPG1hdC1idXR0b24tdG9nZ2xlLWdyb3VwIFsobmdNb2RlbCldPVwic2VhcmNoT3JFZGl0XCI+XG4gICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSB2YWx1ZT1cInNlYXJjaFwiPlxuICAgICAgICAgINCY0YHQutCw0YLRjCDRhNCw0LnQuyA8bWF0LWljb24+c2VhcmNoPC9tYXQtaWNvbj5cbiAgICAgICAgPC9tYXQtYnV0dG9uLXRvZ2dsZT5cbiAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlIHZhbHVlPVwiZWRpdFwiPlxuICAgICAgICAgINCj0LrQsNC30LDRgtGMINC/0L4g0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YDRgyA8bWF0LWljb24+c2V0dGluZ3M8L21hdC1pY29uPlxuICAgICAgICA8L21hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgPC9tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IHN0eWxlPVwiaGVpZ2h0OiAxMHB4O1wiPjwvZGl2PlxuICAgIDxkaXYgW2hpZGRlbl09XCJzZWFyY2hPckVkaXQgIT09ICdzZWFyY2gnXCI+XG4gICAgICA8Y3JvY28taHRtbC1maWxlLWlkLXNlbGVjdFxuICAgICAgICBbbGFiZWxUZXh0XT1cIifQktGL0LHRgNCw0YLRjCDRhNCw0LnQuydcIlxuICAgICAgICBbKGZpbGVJZCldPVwidGFnLmF0dHJpYnV0ZXNbJ2ZpbGUtaWQnXVwiXG4gICAgICAgIChvbkZpbGVJZENoYW5nZWQpPVwib25GaWxlSWRDaGFuZ2VkKCRldmVudClcIj5cbiAgICAgIDwvY3JvY28taHRtbC1maWxlLWlkLXNlbGVjdD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IFtoaWRkZW5dPVwic2VhcmNoT3JFZGl0ICE9PSAnZWRpdCdcIj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cInctMTAwXCI+XG4gICAgICAgICAgPG1hdC1sYWJlbD5cbiAgICAgICAgICAgINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINGE0LDQudC70LBcbiAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgcGxhY2Vob2xkZXI9XCLQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDRhNCw0LnQu9CwXCIgbmV3LWF1dG9jb21wbGV0ZT1cIm9mZlwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwidGFnLmF0dHJpYnV0ZXNbJ2ZpbGUtaWQnXVwiXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJyZW1vdmVJbWFnZUVycm9yKClcIj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbn1cbiJdfQ==
@@ -1,20 +1,42 @@
1
1
  import { Component, Input } from '@angular/core';
2
+ import { ImageMethods } from '../../../extensions';
3
+ import { Subject, takeUntil } from "rxjs";
4
+ import { NgStyle } from "@angular/common";
2
5
  import * as i0 from "@angular/core";
6
+ import * as i1 from "../../../services/screen-width.service";
3
7
  export class FileImageTagViewComponent {
4
- constructor() {
8
+ set item(item) {
9
+ let data = item.data;
10
+ this.imageSrc = data.src;
11
+ this.requests = ImageMethods.mediaRequestStringToArrayParser(data.screenMediaRequest);
12
+ }
13
+ constructor(screenWidthService) {
14
+ this.screenWidthService = screenWidthService;
5
15
  this.imageSrc = "";
16
+ this.requests = [];
17
+ this.unsubscribe = new Subject();
18
+ this.imageMaxHeight = null;
6
19
  }
7
20
  ngOnInit() {
8
- let data = this.item.data;
9
- this.imageSrc = data.src;
21
+ this.screenWidthService.getScreenWidth()
22
+ .pipe(takeUntil(this.unsubscribe))
23
+ .subscribe(screenWidth => {
24
+ this.imageMaxHeight = ImageMethods.screenSizeChanged(screenWidth, this.requests);
25
+ });
26
+ }
27
+ ngOnDestroy() {
28
+ this.unsubscribe.next();
29
+ this.unsubscribe.complete();
10
30
  }
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: FileImageTagViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: FileImageTagViewComponent, isStandalone: true, selector: "croco-html-file-image-tag-view", inputs: { item: "item" }, ngImport: i0, template: "<img class=\"mx-auto d-block img-fluid\" [src]=\"imageSrc\" alt=\"\u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u043D\u0435 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043D\u043E\"/>", styles: [""] }); }
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: FileImageTagViewComponent, deps: [{ token: i1.ScreenWidthService }], target: i0.ɵɵFactoryTarget.Component }); }
32
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: FileImageTagViewComponent, isStandalone: true, selector: "croco-html-file-image-tag-view", inputs: { item: "item" }, ngImport: i0, template: "<img\n [ngStyle]=\"{ 'max-height': imageMaxHeight ? imageMaxHeight + 'px' : '100%'}\"\n class=\"mx-auto d-block img-fluid\"\n [src]=\"imageSrc\"\n alt=\"\u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u043D\u0435 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043D\u043E\"\n/>\n", styles: [""], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
13
33
  }
14
34
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: FileImageTagViewComponent, decorators: [{
15
35
  type: Component,
16
- args: [{ selector: 'croco-html-file-image-tag-view', standalone: true, template: "<img class=\"mx-auto d-block img-fluid\" [src]=\"imageSrc\" alt=\"\u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u043D\u0435 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043D\u043E\"/>" }]
17
- }], propDecorators: { item: [{
36
+ args: [{ selector: 'croco-html-file-image-tag-view', imports: [
37
+ NgStyle
38
+ ], standalone: true, template: "<img\n [ngStyle]=\"{ 'max-height': imageMaxHeight ? imageMaxHeight + 'px' : '100%'}\"\n class=\"mx-auto d-block img-fluid\"\n [src]=\"imageSrc\"\n alt=\"\u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u043D\u0435 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043D\u043E\"\n/>\n" }]
39
+ }], ctorParameters: () => [{ type: i1.ScreenWidthService }], propDecorators: { item: [{
18
40
  type: Input
19
41
  }] } });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pbWFnZS10YWctdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jcm9jby1odG1sL3NyYy9saWIvY29tcG9uZW50cy94bWwtdGFncy9maWxlLWltYWdlLXRhZy12aWV3L2ZpbGUtaW1hZ2UtdGFnLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JvY28taHRtbC9zcmMvbGliL2NvbXBvbmVudHMveG1sLXRhZ3MvZmlsZS1pbWFnZS10YWctdmlldy9maWxlLWltYWdlLXRhZy12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDOztBQVV6RCxNQUFNLE9BQU8seUJBQXlCO0lBTnRDO1FBV0UsYUFBUSxHQUFHLEVBQUUsQ0FBQztLQU9mO0lBTEMsUUFBUTtRQUVOLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBd0IsQ0FBQztRQUM5QyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDM0IsQ0FBQzs4R0FYVSx5QkFBeUI7a0dBQXpCLHlCQUF5QixvSENWdEMsOE1BQXdGOzsyRkRVM0UseUJBQXlCO2tCQU5yQyxTQUFTOytCQUNJLGdDQUFnQyxjQUc5QixJQUFJOzhCQUtsQixJQUFJO3NCQURILEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEludGVyZmFjZUJsb2NrIH0gZnJvbSAnLi4vLi4vLi4vZXh0ZW5zaW9ucy9JbnRlcmZhY2VCbG9jayc7XG5pbXBvcnQgeyBGaWxlSW1hZ2VUYWdEYXRhIH0gZnJvbSAnLi4vLi4vLi4vZXh0ZW5zaW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnY3JvY28taHRtbC1maWxlLWltYWdlLXRhZy12aWV3JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZmlsZS1pbWFnZS10YWctdmlldy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL2ZpbGUtaW1hZ2UtdGFnLXZpZXcuY29tcG9uZW50LmNzcycsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBGaWxlSW1hZ2VUYWdWaWV3Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgXG4gIEBJbnB1dCgpXG4gIGl0ZW06IEludGVyZmFjZUJsb2NrO1xuXG4gIGltYWdlU3JjID0gXCJcIjtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcblxuICAgIGxldCBkYXRhID0gdGhpcy5pdGVtLmRhdGEgYXMgRmlsZUltYWdlVGFnRGF0YTtcbiAgICB0aGlzLmltYWdlU3JjID0gZGF0YS5zcmM7XG4gIH1cbn1cbiIsIjxpbWcgY2xhc3M9XCJteC1hdXRvIGQtYmxvY2sgaW1nLWZsdWlkXCIgW3NyY109XCJpbWFnZVNyY1wiIGFsdD1cItCY0LfQvtCx0YDQsNC20LXQvdC40LUg0L3QtSDQt9Cw0LPRgNGD0LbQtdC90L5cIi8+Il19
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pbWFnZS10YWctdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jcm9jby1odG1sL3NyYy9saWIvY29tcG9uZW50cy94bWwtdGFncy9maWxlLWltYWdlLXRhZy12aWV3L2ZpbGUtaW1hZ2UtdGFnLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JvY28taHRtbC9zcmMvbGliL2NvbXBvbmVudHMveG1sLXRhZ3MvZmlsZS1pbWFnZS10YWctdmlldy9maWxlLWltYWdlLXRhZy12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUVsRSxPQUFPLEVBQW1CLFlBQVksRUFBZ0IsTUFBTSxxQkFBcUIsQ0FBQztBQUVsRixPQUFPLEVBQUMsT0FBTyxFQUFFLFNBQVMsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUN4QyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0saUJBQWlCLENBQUM7OztBQVd4QyxNQUFNLE9BQU8seUJBQXlCO0lBRXBDLElBQWEsSUFBSSxDQUFDLElBQW9CO1FBQ3BDLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxJQUF3QixDQUFDO1FBQ3pDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztRQUN6QixJQUFJLENBQUMsUUFBUSxHQUFHLFlBQVksQ0FBQywrQkFBK0IsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtJQUN2RixDQUFDO0lBUUQsWUFBNkIsa0JBQXNDO1FBQXRDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFObkUsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNkLGFBQVEsR0FBb0IsRUFBRSxDQUFBO1FBRXRCLGdCQUFXLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUNuQyxtQkFBYyxHQUFHLElBQUksQ0FBQztJQUV5QyxDQUFDO0lBRXZFLFFBQVE7UUFDTixJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxFQUFFO2FBQ3JDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQ2pDLFNBQVMsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUN2QixJQUFJLENBQUMsY0FBYyxHQUFHLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ25GLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDOUIsQ0FBQzs4R0EzQlUseUJBQXlCO2tHQUF6Qix5QkFBeUIsb0hDaEJ0Qyw2U0FNQSwwRERNSSxPQUFPOzsyRkFJRSx5QkFBeUI7a0JBVHJDLFNBQVM7K0JBQ0UsZ0NBQWdDLFdBR2pDO3dCQUNQLE9BQU87cUJBQ1IsY0FDVyxJQUFJO3VGQUlILElBQUk7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEludGVyZmFjZUJsb2NrIH0gZnJvbSAnLi4vLi4vLi4vZXh0ZW5zaW9ucy9JbnRlcmZhY2VCbG9jayc7XG5pbXBvcnQge0ZpbGVJbWFnZVRhZ0RhdGEsIEltYWdlTWV0aG9kcywgSU1lZGlhUmVxdWVzdH0gZnJvbSAnLi4vLi4vLi4vZXh0ZW5zaW9ucyc7XG5pbXBvcnQge1NjcmVlbldpZHRoU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2VzL3NjcmVlbi13aWR0aC5zZXJ2aWNlXCI7XG5pbXBvcnQge1N1YmplY3QsIHRha2VVbnRpbH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7TmdTdHlsZX0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcm9jby1odG1sLWZpbGUtaW1hZ2UtdGFnLXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsZS1pbWFnZS10YWctdmlldy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9maWxlLWltYWdlLXRhZy12aWV3LmNvbXBvbmVudC5jc3MnLFxuICBpbXBvcnRzOiBbXG4gICAgTmdTdHlsZVxuICBdLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVJbWFnZVRhZ1ZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgQElucHV0KCkgc2V0IGl0ZW0oaXRlbTogSW50ZXJmYWNlQmxvY2spIHtcbiAgICBsZXQgZGF0YSA9IGl0ZW0uZGF0YSBhcyBGaWxlSW1hZ2VUYWdEYXRhO1xuICAgIHRoaXMuaW1hZ2VTcmMgPSBkYXRhLnNyYztcbiAgICB0aGlzLnJlcXVlc3RzID0gSW1hZ2VNZXRob2RzLm1lZGlhUmVxdWVzdFN0cmluZ1RvQXJyYXlQYXJzZXIoZGF0YS5zY3JlZW5NZWRpYVJlcXVlc3QpXG4gIH1cblxuICBpbWFnZVNyYyA9IFwiXCI7XG4gIHJlcXVlc3RzOiBJTWVkaWFSZXF1ZXN0W10gPSBbXVxuXG4gIHByaXZhdGUgdW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwdWJsaWMgaW1hZ2VNYXhIZWlnaHQgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgc2NyZWVuV2lkdGhTZXJ2aWNlOiBTY3JlZW5XaWR0aFNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zY3JlZW5XaWR0aFNlcnZpY2UuZ2V0U2NyZWVuV2lkdGgoKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZShzY3JlZW5XaWR0aCA9PiB7XG4gICAgICAgIHRoaXMuaW1hZ2VNYXhIZWlnaHQgPSBJbWFnZU1ldGhvZHMuc2NyZWVuU2l6ZUNoYW5nZWQoc2NyZWVuV2lkdGgsIHRoaXMucmVxdWVzdHMpO1xuICAgICAgfSlcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMudW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMudW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxufVxuIiwiPGltZ1xuICBbbmdTdHlsZV09XCJ7ICdtYXgtaGVpZ2h0JzogaW1hZ2VNYXhIZWlnaHQgPyBpbWFnZU1heEhlaWdodCArICdweCcgOiAnMTAwJSd9XCJcbiAgY2xhc3M9XCJteC1hdXRvIGQtYmxvY2sgaW1nLWZsdWlkXCJcbiAgW3NyY109XCJpbWFnZVNyY1wiXG4gIGFsdD1cItCY0LfQvtCx0YDQsNC20LXQvdC40LUg0L3QtSDQt9Cw0LPRgNGD0LbQtdC90L5cIlxuLz5cbiJdfQ==
@@ -48,11 +48,13 @@ export class BodyTagsExtensions {
48
48
  static imageTagToHtml(imageTag) {
49
49
  let fileIdAttr = "";
50
50
  let screenMediaRequestAttr = "";
51
- let attrValue = imageTag.attributes[FileImageTagDataConsts.FileIdAttrName];
52
- if (imageTag.attributes.hasOwnProperty(FileImageTagDataConsts.FileIdAttrName) && attrValue) {
53
- fileIdAttr = `${FileImageTagDataConsts.FileIdAttrName}="${attrValue}"`;
51
+ if (imageTag.attributes.hasOwnProperty(FileImageTagDataConsts.FileIdAttrName) && imageTag.attributes[FileImageTagDataConsts.FileIdAttrName]) {
52
+ fileIdAttr = `${FileImageTagDataConsts.FileIdAttrName}="${imageTag.attributes[FileImageTagDataConsts.FileIdAttrName]}"`;
54
53
  }
55
- return `<${FileImageTagDataConsts.TagName} ${fileIdAttr} ${FileImageTagDataConsts.ScreenMediaRequest}="${imageTag.attributes[FileImageTagDataConsts.ScreenMediaRequest]}"></${FileImageTagDataConsts.TagName}>`;
54
+ if (imageTag.attributes.hasOwnProperty(FileImageTagDataConsts.ScreenMediaRequest) && imageTag.attributes[FileImageTagDataConsts.ScreenMediaRequest]) {
55
+ screenMediaRequestAttr = `${FileImageTagDataConsts.ScreenMediaRequest}="${imageTag.attributes[FileImageTagDataConsts.ScreenMediaRequest]}"`;
56
+ }
57
+ return `<${FileImageTagDataConsts.TagName} ${fileIdAttr} ${screenMediaRequestAttr}></${FileImageTagDataConsts.TagName}>`;
56
58
  }
57
59
  static getBodyTags(html, options) {
58
60
  let result = HtmlExtractionMethods.transformHtmlStringToBlocks(html, options);
@@ -127,4 +129,4 @@ export class BodyTagsExtensions {
127
129
  };
128
130
  }
129
131
  }
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQm9keVRhZ3NFeHRlbnNpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JvY28taHRtbC9zcmMvbGliL2V4dGVuc2lvbnMvQm9keVRhZ3NFeHRlbnNpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxxQkFBcUIsRUFBb0IsTUFBTSx5QkFBeUIsQ0FBQztBQUVsRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RCxPQUFPLEVBQW9CLHNCQUFzQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzlCLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzFELE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBRXBFLE1BQU0sT0FBTyxrQkFBa0I7SUFFM0IsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFlO1FBQ2pDLElBQUksWUFBWSxHQUFHO1lBQ2YsTUFBTSxFQUFFLE9BQU87WUFDZixJQUFJLEVBQUUsb0JBQW9CO1lBQzFCLElBQUksRUFBRSxvQkFBb0I7WUFDMUIsSUFBSSxFQUFFLG9CQUFvQjtZQUMxQixJQUFJLEVBQUUsb0JBQW9CO1lBQzFCLElBQUksRUFBRSxvQkFBb0I7WUFDMUIsSUFBSSxFQUFFLG9CQUFvQjtZQUMxQixDQUFDLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxFQUFFLGFBQWE7WUFDL0MsQ0FBQywwQkFBMEIsQ0FBQyxPQUFPLENBQUMsRUFBRSxlQUFlO1lBQ3JELENBQUMsMkJBQTJCLENBQUMsT0FBTyxDQUFDLEVBQUUsdUJBQXVCO1lBQzlELENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEVBQUUsZUFBZTtTQUNsRCxDQUFDO1FB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LENBQUM7aUJBQzdEO2dCQUNELFVBQVUsRUFBRSxFQUFFO2dCQUNkLFNBQVMsRUFBRSxrQkFBa0IsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQzFFLENBQUM7UUFDTixDQUFDO1FBRUQsT0FBTztZQUNILGFBQWEsRUFBRSxJQUFJO1lBQ25CLGNBQWMsRUFBRTtnQkFDWixHQUFHLEVBQUUsSUFBSSxDQUFDLGNBQWM7Z0JBQ3hCLFlBQVksRUFBRSxzQkFBc0I7YUFDdkM7WUFDRCxVQUFVLEVBQUUsRUFBRTtZQUNkLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztTQUNsQyxDQUFDO0lBQ04sQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHRtbEJvZHlUYWcgfSBmcm9tIFwiLi4vbW9kZWxzL21vZGVsc1wiO1xuaW1wb3J0IHsgSHRtbEV4dHJhY3Rpb25NZXRob2RzLCBDcm9jb0h0bWxPcHRpb25zIH0gZnJvbSBcIi4vSHRtbEV4dHJhY3Rpb25NZXRob2RzXCI7XG5pbXBvcnQgeyBJbnRlcmZhY2VCbG9jayB9IGZyb20gXCIuL0ludGVyZmFjZUJsb2NrXCI7XG5pbXBvcnQgeyBIdG1sUmF3VGFnRGF0YUNvbnN0cyB9IGZyb20gXCIuL0h0bWxSYXdUYWdEYXRhQ29uc3RzXCI7XG5pbXBvcnQgeyBGaWxlSW1hZ2VUYWdEYXRhLCBGaWxlSW1hZ2VUYWdEYXRhQ29uc3RzIH0gZnJvbSBcIi4vSW1hZ2VNZXRob2RzXCI7XG5pbXBvcnQgeyBUZXh0VGFncyB9IGZyb20gXCIuL1RleHRNZXRob2RzXCI7XG5pbXBvcnQgeyBTaW1wbGVUZXh0VGFnRGF0YSB9IGZyb20gXCIuL1RleHRTaW1wbGVNZXRob2RzXCI7XG5pbXBvcnQgeyBUYWdzIH0gZnJvbSBcIi4vVGFnc1wiO1xuaW1wb3J0IHtFeHRlcm5hbFZpZGVvVGFnRGF0YUNvbnN0c30gZnJvbSBcIi4vVmlkZW9NZXRob2RzXCI7XG5pbXBvcnQge0Rvd25sb2FkQnV0dG9uVGFnRGF0YUNvbnN0c30gZnJvbSBcIi4vRG93bmxvYWRCdXR0b25NZXRob2RzXCI7XG5cbmV4cG9ydCBjbGFzcyBCb2R5VGFnc0V4dGVuc2lvbnMge1xuXG4gICAgc3RhdGljIGdldERlc2NyaXB0aW9uKHRhZ05hbWU6IHN0cmluZykge1xuICAgICAgICB2YXIgZGVzY3JpcHRpb25zID0ge1xuICAgICAgICAgICAgXCJ0ZXh0XCI6IFwi0KLQtdC60YHRglwiLFxuICAgICAgICAgICAgXCJoMVwiOiBcItCX0LDQs9C+0LvQvtCy0L7QuiAxINGD0YDQvtCy0L3Rj1wiLFxuICAgICAgICAgICAgXCJoMlwiOiBcItCX0LDQs9C+0LvQvtCy0L7QuiAyINGD0YDQvtCy0L3Rj1wiLFxuICAgICAgICAgICAgXCJoM1wiOiBcItCX0LDQs9C+0LvQvtCy0L7QuiAzINGD0YDQvtCy0L3Rj1wiLFxuICAgICAgICAgICAgXCJoNFwiOiBcItCX0LDQs9C+0LvQvtCy0L7QuiA0INGD0YDQvtCy0L3Rj1wiLFxuICAgICAgICAgICAgXCJoNVwiOiBcItCX0LDQs9C+0LvQvtCy0L7QuiA1INGD0YDQvtCy0L3Rj1wiLFxuICAgICAgICAgICAgXCJoNlwiOiBcItCX0LDQs9C+0LvQvtCy0L7QuiA2INGD0YDQvtCy0L3Rj1wiLFxuICAgICAgICAgICAgW0ZpbGVJbWFnZVRhZ0RhdGFDb25zdHMuVGFnTmFtZV06IFwi0JjQt9C+0LHRgNCw0LbQtdC90LjQtVwiLFxuICAgICAgICAgICAgW0V4dGVybmFsVmlkZW9UYWdEYXRhQ29uc3RzLlRhZ05hbWVdOiBcItCS0L3QtdGI0L3QtdC1INCy0LjQtNC10L5cIixcbiAgICAgICAgICAgIFtEb3dubG9hZEJ1dHRvblRhZ0RhdGFDb25zdHMuVGFnTmFtZV06IFwi0JrQvdC+0L/QutCwINC00LvRjyDRgdC60LDRh9C40LLQsNC90LjRj1wiLFxuICAgICAgICAgICAgW0h0bWxSYXdUYWdEYXRhQ29uc3RzLlRhZ05hbWVdOiBcIkh0bWwg0YDQsNC30LzQtdGC0LrQsFwiXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIGRlc2NyaXB0aW9uc1t0YWdOYW1lXTtcbiAgICB9XG5cbiAgICBzdGF0aWMgdG9IdG1sKGJvZHlUYWdzOiBIdG1sQm9keVRhZ1tdKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IGh0bWxzID0gYm9keVRhZ3MubWFwKHggPT4ge1xuICAgICAgICAgICAgaWYgKFRleHRUYWdzLmFsbFRleHRUYWdzLmluY2x1ZGVzKHgudGFnRGVzY3JpcHRpb24udGFnKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBgPCR7eC50YWdEZXNjcmlwdGlvbi50YWd9IGgtYWxpZ249XCIke3guYXR0cmlidXRlc1snaC1hbGlnbiddfVwiPiR7eC5pbm5lckh0bWx9PC8ke3gudGFnRGVzY3JpcHRpb24udGFnfT5gO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoeC50YWdEZXNjcmlwdGlvbi50YWcgPT09IEV4dGVybmFsVmlkZW9UYWdEYXRhQ29uc3RzLlRhZ05hbWUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gYDwke3gudGFnRGVzY3JpcHRpb24udGFnfSB0eXBlPVwiJHt4LmF0dHJpYnV0ZXNbJ3R5cGUnXX1cIiBsaW5rPVwiJHt4LmF0dHJpYnV0ZXNbJ2xpbmsnXX1cIj4ke3guaW5uZXJIdG1sfTwvJHt4LnRhZ0Rlc2NyaXB0aW9uLnRhZ30+YFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoeC50YWdEZXNjcmlwdGlvbi50YWcgPT09IFwiaHRtbC1yYXdcIikge1xuICAgICAgICAgICAgICAgIHJldHVybiBgPCR7eC50YWdEZXNjcmlwdGlvbi50YWd9PiR7eC5pbm5lckh0bWx9PC8ke3gudGFnRGVzY3JpcHRpb24udGFnfT5gXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh4LnRhZ0Rlc2NyaXB0aW9uLnRhZyA9PT0gRG93bmxvYWRCdXR0b25UYWdEYXRhQ29uc3RzLlRhZ05hbWUpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGA8JHt4LnRhZ0Rlc2NyaXB0aW9uLnRhZ30gdGl0bGU9XCIke3guYXR0cmlidXRlc1sndGl0bGUnXX1cIiBsaW5rPVwiJHt4LmF0dHJpYnV0ZXNbJ2xpbmsnXX1cIj48LyR7eC50YWdEZXNjcmlwdGlvbi50YWd9PmBcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIEJvZHlUYWdzRXh0ZW5zaW9ucy5pbWFnZVRhZ1RvSHRtbCh4KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgbGV0IHJlc3VsdCA9IFwiXCI7XG5cbiAgICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGh0bWxzLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9IGh0bWxzW2luZGV4XTtcblxuICAgICAgICAgICAgcmVzdWx0ICs9IGVsZW1lbnQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIHN0YXRpYyBpbWFnZVRhZ1RvSHRtbChpbWFnZVRhZzogSHRtbEJvZHlUYWcpIHtcblxuICAgICAgICBsZXQgZmlsZUlkQXR0ciA9IFwiXCI7XG4gICAgICAgIGxldCBzY3JlZW5NZWRpYVJlcXVlc3RBdHRyID0gXCJcIjtcblxuICAgICAgICBsZXQgYXR0clZhbHVlID0gaW1hZ2VUYWcuYXR0cmlidXRlc1tGaWxlSW1hZ2VUYWdEYXRhQ29uc3RzLkZpbGVJZEF0dHJOYW1lXTtcbiAgICAgICAgaWYgKGltYWdlVGFnLmF0dHJpYnV0ZXMuaGFzT3duUHJvcGVydHkoRmlsZUltYWdlVGFnRGF0YUNvbnN0cy5GaWxlSWRBdHRyTmFtZSkgJiYgYXR0clZhbHVlKSB7XG4gICAgICAgICAgICBmaWxlSWRBdHRyID0gYCR7RmlsZUltYWdlVGFnRGF0YUNvbnN0cy5GaWxlSWRBdHRyTmFtZX09XCIke2F0dHJWYWx1ZX1cImA7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYDwke0ZpbGVJbWFnZVRhZ0RhdGFDb25zdHMuVGFnTmFtZX0gJHtmaWxlSWRBdHRyfSAke0ZpbGVJbWFnZVRhZ0RhdGFDb25zdHMuU2NyZWVuTWVkaWFSZXF1ZXN0fT1cIiR7aW1hZ2VUYWcuYXR0cmlidXRlc1tGaWxlSW1hZ2VUYWdEYXRhQ29uc3RzLlNjcmVlbk1lZGlhUmVxdWVzdF19XCI+PC8ke0ZpbGVJbWFnZVRhZ0RhdGFDb25zdHMuVGFnTmFtZX0+YDtcbiAgICB9XG5cbiAgICBzdGF0aWMgZ2V0Qm9keVRhZ3MoaHRtbDogc3RyaW5nLCBvcHRpb25zOiBDcm9jb0h0bWxPcHRpb25zKSB7XG4gICAgICAgIGxldCByZXN1bHQgPSBIdG1sRXh0cmFjdGlvbk1ldGhvZHMudHJhbnNmb3JtSHRtbFN0cmluZ1RvQmxvY2tzKGh0bWwsIG9wdGlvbnMpO1xuICAgICAgICByZXR1cm4gcmVzdWx0Lm1hcCh4ID0+IEJvZHlUYWdzRXh0ZW5zaW9ucy50b0JvZHlUYWcoeCkpO1xuICAgIH1cblxuICAgIHN0YXRpYyBzYW5pdGl6ZUlubmVySHRtbChodG1sOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gaHRtbC50cmltKCkucmVwbGFjZSgnXFxuXFx0JywgJycpO1xuICAgIH1cblxuICAgIHN0YXRpYyB0b0JvZHlUYWcoZGF0YTogSW50ZXJmYWNlQmxvY2spOiBIdG1sQm9keVRhZyB7XG4gICAgICAgIGlmIChUZXh0VGFncy5hbGxUZXh0VGFncy5pbmNsdWRlcyhkYXRhLnR5cGUpKSB7XG4gICAgICAgICAgICBsZXQgdGV4dFRhZ0RhdGEgPSBkYXRhLmRhdGEgYXMgU2ltcGxlVGV4dFRhZ0RhdGE7XG5cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgcHJlc2VudE9yRWRpdDogdHJ1ZSxcbiAgICAgICAgICAgICAgICB0YWdEZXNjcmlwdGlvbjoge1xuICAgICAgICAgICAgICAgICAgICB0YWc6IHRleHRUYWdEYXRhLnRleHRUYWdOYW1lLFxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5VmFsdWU6IEJvZHlUYWdzRXh0ZW5zaW9ucy5nZXREZXNjcmlwdGlvbihkYXRhLnR5cGUpXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzOiB7IFwiaC1hbGlnblwiOiB0ZXh0VGFnRGF0YS5ob3Jpem9udGFsQWxpZ25tZW50IH0sXG4gICAgICAgICAgICAgICAgaW5uZXJIdG1sOiBCb2R5VGFnc0V4dGVuc2lvbnMuc2FuaXRpemVJbm5lckh0bWwodGV4dFRhZ0RhdGEuaHRtbClcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZGF0YS50eXBlID09PSBGaWxlSW1hZ2VUYWdEYXRhQ29uc3RzLlRhZ05hbWUpIHtcblxuICAgICAgICAgICAgbGV0IGZpbGVEYXRhID0gZGF0YS5kYXRhIGFzIEZpbGVJbWFnZVRhZ0RhdGE7XG5cbiAgICAgICAgICAgIGxldCBhdHRycyA9IHt9O1xuXG4gICAgICAgICAgICBpZiAoZmlsZURhdGEuZmlsZUlkKSB7XG4gICAgICAgICAgICAgICAgYXR0cnNbRmlsZUltYWdlVGFnRGF0YUNvbnN0cy5GaWxlSWRBdHRyTmFtZV0gPSBmaWxlRGF0YS5maWxlSWQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChmaWxlRGF0YS5zY3JlZW5NZWRpYVJlcXVlc3QpIHtcbiAgICAgICAgICAgICAgYXR0cnNbRmlsZUltYWdlVGFnRGF0YUNvbnN0cy5TY3JlZW5NZWRpYVJlcXVlc3RdID0gZmlsZURhdGEuc2NyZWVuTWVkaWFSZXF1ZXN0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHByZXNlbnRPckVkaXQ6IHRydWUsXG4gICAgICAgICAgICAgICAgdGFnRGVzY3JpcHRpb246IHtcbiAgICAgICAgICAgICAgICAgICAgdGFnOiBGaWxlSW1hZ2VUYWdEYXRhQ29uc3RzLlRhZ05hbWUsXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXlWYWx1ZTogQm9keVRhZ3NFeHRlbnNpb25zLmdldERlc2NyaXB0aW9uKGRhdGEudHlwZSlcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IGF0dHJzLFxuICAgICAgICAgICAgICAgIGlubmVySHRtbDogXCJcIlxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChkYXRhLnR5cGUgPT09IEV4dGVybmFsVmlkZW9UYWdEYXRhQ29uc3RzLlRhZ05hbWUpIHtcbiAgICAgICAgICAgIGxldCBmaWxlRGF0YSA9IGRhdGEuZGF0YSBhcyBFeHRlcm5hbFZpZGVvVGFnRGF0YUNvbnN0cztcblxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBwcmVzZW50T3JFZGl0OiB0cnVlLFxuICAgICAgICAgICAgICAgIHRhZ0Rlc2NyaXB0aW9uOiB7XG4gICAgICAgICAgICAgICAgICAgIHRhZzogZGF0YS50eXBlLFxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5VmFsdWU6IEJvZHlUYWdzRXh0ZW5zaW9ucy5nZXREZXNjcmlwdGlvbihkYXRhLnR5cGUpXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzOiBmaWxlRGF0YSxcbiAgICAgICAgICAgICAgICBpbm5lckh0bWw6IFwiXCJcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZGF0YS50eXBlID09PSBIdG1sUmF3VGFnRGF0YUNvbnN0cy5UYWdOYW1lKSB7XG5cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgcHJlc2VudE9yRWRpdDogdHJ1ZSxcbiAgICAgICAgICAgICAgICB0YWdEZXNjcmlwdGlvbjoge1xuICAgICAgICAgICAgICAgICAgICB0YWc6IEh0bWxSYXdUYWdEYXRhQ29uc3RzLlRhZ05hbWUsXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXlWYWx1ZTogQm9keVRhZ3NFeHRlbnNpb25zLmdldERlc2NyaXB0aW9uKGRhdGEudHlwZSlcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IHt9LFxuICAgICAgICAgICAgICAgIGlubmVySHRtbDogQm9keVRhZ3NFeHRlbnNpb25zLnNhbml0aXplSW5uZXJIdG1sKGRhdGEuZGF0YVtcImlubmVySFRNTFwiXSlcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcHJlc2VudE9yRWRpdDogdHJ1ZSxcbiAgICAgICAgICAgIHRhZ0Rlc2NyaXB0aW9uOiB7XG4gICAgICAgICAgICAgICAgdGFnOiBUYWdzLlVuc3VwcG9ydGVkVGFnLFxuICAgICAgICAgICAgICAgIGRpc3BsYXlWYWx1ZTogXCLQndC10L/QvtC00LTQtdGA0LbQuNCy0LDQtdC80YvQuSDRgtC10LNcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGF0dHJpYnV0ZXM6IHt9LFxuICAgICAgICAgICAgaW5uZXJIdG1sOiBKU09OLnN0cmluZ2lmeShkYXRhKVxuICAgICAgICB9O1xuICAgIH1cbn1cbiJdfQ==
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQm9keVRhZ3NFeHRlbnNpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JvY28taHRtbC9zcmMvbGliL2V4dGVuc2lvbnMvQm9keVRhZ3NFeHRlbnNpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxxQkFBcUIsRUFBb0IsTUFBTSx5QkFBeUIsQ0FBQztBQUVsRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RCxPQUFPLEVBQW9CLHNCQUFzQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzlCLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzFELE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBRXBFLE1BQU0sT0FBTyxrQkFBa0I7SUFFM0IsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFlO1FBQ2pDLElBQUksWUFBWSxHQUFHO1lBQ2YsTUFBTSxFQUFFLE9BQU87WUFDZixJQUFJLEVBQUUsb0JBQW9CO1lBQzFCLElBQUksRUFBRSxvQkFBb0I7WUFDMUIsSUFBSSxFQUFFLG9CQUFvQjtZQUMxQixJQUFJLEVBQUUsb0JBQW9CO1lBQzFCLElBQUksRUFBRSxvQkFBb0I7WUFDMUIsSUFBSSxFQUFFLG9CQUFvQjtZQUMxQixDQUFDLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxFQUFFLGFBQWE7WUFDL0MsQ0FBQywwQkFBMEIsQ0FBQyxPQUFPLENBQUMsRUFBRSxlQUFlO1lBQ3JELENBQUMsMkJBQTJCLENBQUMsT0FBTyxDQUFDLEVBQUUsdUJBQXVCO1lBQzlELENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEVBQUUsZUFBZTtTQUNsRCxDQUFDO1FB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QUksQ0FBQyxJQUFJLEtBQUssb0JBQW9CLENBQUMsT0FBTyxFQUFFLENBQUM7WUFFN0MsT0FBTztnQkFDSCxhQUFhLEVBQUUsSUFBSTtnQkFDbkIsY0FBYyxFQUFFO29CQUNaLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQyxPQUFPO29CQUNqQyxZQUFZLEVBQUUsa0JBQWtCLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7aUJBQzdEO2dCQUNELFVBQVUsRUFBRSxFQUFFO2dCQUNkLFNBQVMsRUFBRSxrQkFBa0IsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQzFFLENBQUM7UUFDTixDQUFDO1FBRUQsT0FBTztZQUNILGFBQWEsRUFBRSxJQUFJO1lBQ25CLGNBQWMsRUFBRTtnQkFDWixHQUFHLEVBQUUsSUFBSSxDQUFDLGNBQWM7Z0JBQ3hCLFlBQVksRUFBRSxzQkFBc0I7YUFDdkM7WUFDRCxVQUFVLEVBQUUsRUFBRTtZQUNkLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztTQUNsQyxDQUFDO0lBQ04sQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHRtbEJvZHlUYWcgfSBmcm9tIFwiLi4vbW9kZWxzL21vZGVsc1wiO1xuaW1wb3J0IHsgSHRtbEV4dHJhY3Rpb25NZXRob2RzLCBDcm9jb0h0bWxPcHRpb25zIH0gZnJvbSBcIi4vSHRtbEV4dHJhY3Rpb25NZXRob2RzXCI7XG5pbXBvcnQgeyBJbnRlcmZhY2VCbG9jayB9IGZyb20gXCIuL0ludGVyZmFjZUJsb2NrXCI7XG5pbXBvcnQgeyBIdG1sUmF3VGFnRGF0YUNvbnN0cyB9IGZyb20gXCIuL0h0bWxSYXdUYWdEYXRhQ29uc3RzXCI7XG5pbXBvcnQgeyBGaWxlSW1hZ2VUYWdEYXRhLCBGaWxlSW1hZ2VUYWdEYXRhQ29uc3RzIH0gZnJvbSBcIi4vSW1hZ2VNZXRob2RzXCI7XG5pbXBvcnQgeyBUZXh0VGFncyB9IGZyb20gXCIuL1RleHRNZXRob2RzXCI7XG5pbXBvcnQgeyBTaW1wbGVUZXh0VGFnRGF0YSB9IGZyb20gXCIuL1RleHRTaW1wbGVNZXRob2RzXCI7XG5pbXBvcnQgeyBUYWdzIH0gZnJvbSBcIi4vVGFnc1wiO1xuaW1wb3J0IHtFeHRlcm5hbFZpZGVvVGFnRGF0YUNvbnN0c30gZnJvbSBcIi4vVmlkZW9NZXRob2RzXCI7XG5pbXBvcnQge0Rvd25sb2FkQnV0dG9uVGFnRGF0YUNvbnN0c30gZnJvbSBcIi4vRG93bmxvYWRCdXR0b25NZXRob2RzXCI7XG5cbmV4cG9ydCBjbGFzcyBCb2R5VGFnc0V4dGVuc2lvbnMge1xuXG4gICAgc3RhdGljIGdldERlc2NyaXB0aW9uKHRhZ05hbWU6IHN0cmluZykge1xuICAgICAgICB2YXIgZGVzY3JpcHRpb25zID0ge1xuICAgICAgICAgICAgXCJ0ZXh0XCI6IFwi0KLQtdC60YHRglwiLFxuICAgICAgICAgICAgXCJoMVwiOiBcItCX0LDQs9C+0LvQvtCy0L7QuiAxINGD0YDQvtCy0L3Rj1wiLFxuICAgICAgICAgICAgXCJoMlwiOiBcItCX0LDQs9C+0LvQvtCy0L7QuiAyINGD0YDQvtCy0L3Rj1wiLFxuICAgICAgICAgICAgXCJoM1wiOiBcItCX0LDQs9C+0LvQvtCy0L7QuiAzINGD0YDQvtCy0L3Rj1wiLFxuICAgICAgICAgICAgXCJoNFwiOiBcItCX0LDQs9C+0LvQvtCy0L7QuiA0INGD0YDQvtCy0L3Rj1wiLFxuICAgICAgICAgICAgXCJoNVwiOiBcItCX0LDQs9C+0LvQvtCy0L7QuiA1INGD0YDQvtCy0L3Rj1wiLFxuICAgICAgICAgICAgXCJoNlwiOiBcItCX0LDQs9C+0LvQvtCy0L7QuiA2INGD0YDQvtCy0L3Rj1wiLFxuICAgICAgICAgICAgW0ZpbGVJbWFnZVRhZ0RhdGFDb25zdHMuVGFnTmFtZV06IFwi0JjQt9C+0LHRgNCw0LbQtdC90LjQtVwiLFxuICAgICAgICAgICAgW0V4dGVybmFsVmlkZW9UYWdEYXRhQ29uc3RzLlRhZ05hbWVdOiBcItCS0L3QtdGI0L3QtdC1INCy0LjQtNC10L5cIixcbiAgICAgICAgICAgIFtEb3dubG9hZEJ1dHRvblRhZ0RhdGFDb25zdHMuVGFnTmFtZV06IFwi0JrQvdC+0L/QutCwINC00LvRjyDRgdC60LDRh9C40LLQsNC90LjRj1wiLFxuICAgICAgICAgICAgW0h0bWxSYXdUYWdEYXRhQ29uc3RzLlRhZ05hbWVdOiBcIkh0bWwg0YDQsNC30LzQtdGC0LrQsFwiXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIGRlc2NyaXB0aW9uc1t0YWdOYW1lXTtcbiAgICB9XG5cbiAgICBzdGF0aWMgdG9IdG1sKGJvZHlUYWdzOiBIdG1sQm9keVRhZ1tdKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IGh0bWxzID0gYm9keVRhZ3MubWFwKHggPT4ge1xuICAgICAgICAgICAgaWYgKFRleHRUYWdzLmFsbFRleHRUYWdzLmluY2x1ZGVzKHgudGFnRGVzY3JpcHRpb24udGFnKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBgPCR7eC50YWdEZXNjcmlwdGlvbi50YWd9IGgtYWxpZ249XCIke3guYXR0cmlidXRlc1snaC1hbGlnbiddfVwiPiR7eC5pbm5lckh0bWx9PC8ke3gudGFnRGVzY3JpcHRpb24udGFnfT5gO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoeC50YWdEZXNjcmlwdGlvbi50YWcgPT09IEV4dGVybmFsVmlkZW9UYWdEYXRhQ29uc3RzLlRhZ05hbWUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gYDwke3gudGFnRGVzY3JpcHRpb24udGFnfSB0eXBlPVwiJHt4LmF0dHJpYnV0ZXNbJ3R5cGUnXX1cIiBsaW5rPVwiJHt4LmF0dHJpYnV0ZXNbJ2xpbmsnXX1cIj4ke3guaW5uZXJIdG1sfTwvJHt4LnRhZ0Rlc2NyaXB0aW9uLnRhZ30+YFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoeC50YWdEZXNjcmlwdGlvbi50YWcgPT09IFwiaHRtbC1yYXdcIikge1xuICAgICAgICAgICAgICAgIHJldHVybiBgPCR7eC50YWdEZXNjcmlwdGlvbi50YWd9PiR7eC5pbm5lckh0bWx9PC8ke3gudGFnRGVzY3JpcHRpb24udGFnfT5gXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh4LnRhZ0Rlc2NyaXB0aW9uLnRhZyA9PT0gRG93bmxvYWRCdXR0b25UYWdEYXRhQ29uc3RzLlRhZ05hbWUpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGA8JHt4LnRhZ0Rlc2NyaXB0aW9uLnRhZ30gdGl0bGU9XCIke3guYXR0cmlidXRlc1sndGl0bGUnXX1cIiBsaW5rPVwiJHt4LmF0dHJpYnV0ZXNbJ2xpbmsnXX1cIj48LyR7eC50YWdEZXNjcmlwdGlvbi50YWd9PmBcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIEJvZHlUYWdzRXh0ZW5zaW9ucy5pbWFnZVRhZ1RvSHRtbCh4KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgbGV0IHJlc3VsdCA9IFwiXCI7XG5cbiAgICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGh0bWxzLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9IGh0bWxzW2luZGV4XTtcblxuICAgICAgICAgICAgcmVzdWx0ICs9IGVsZW1lbnQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIHN0YXRpYyBpbWFnZVRhZ1RvSHRtbChpbWFnZVRhZzogSHRtbEJvZHlUYWcpIHtcblxuICAgICAgICBsZXQgZmlsZUlkQXR0ciA9IFwiXCI7XG4gICAgICAgIGxldCBzY3JlZW5NZWRpYVJlcXVlc3RBdHRyID0gXCJcIjtcblxuICAgICAgICBpZiAoaW1hZ2VUYWcuYXR0cmlidXRlcy5oYXNPd25Qcm9wZXJ0eShGaWxlSW1hZ2VUYWdEYXRhQ29uc3RzLkZpbGVJZEF0dHJOYW1lKSAmJiBpbWFnZVRhZy5hdHRyaWJ1dGVzW0ZpbGVJbWFnZVRhZ0RhdGFDb25zdHMuRmlsZUlkQXR0ck5hbWVdKSB7XG4gICAgICAgICAgICBmaWxlSWRBdHRyID0gYCR7RmlsZUltYWdlVGFnRGF0YUNvbnN0cy5GaWxlSWRBdHRyTmFtZX09XCIke2ltYWdlVGFnLmF0dHJpYnV0ZXNbRmlsZUltYWdlVGFnRGF0YUNvbnN0cy5GaWxlSWRBdHRyTmFtZV19XCJgO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGltYWdlVGFnLmF0dHJpYnV0ZXMuaGFzT3duUHJvcGVydHkoRmlsZUltYWdlVGFnRGF0YUNvbnN0cy5TY3JlZW5NZWRpYVJlcXVlc3QpICYmIGltYWdlVGFnLmF0dHJpYnV0ZXNbRmlsZUltYWdlVGFnRGF0YUNvbnN0cy5TY3JlZW5NZWRpYVJlcXVlc3RdKSB7XG4gICAgICAgICAgc2NyZWVuTWVkaWFSZXF1ZXN0QXR0ciA9IGAke0ZpbGVJbWFnZVRhZ0RhdGFDb25zdHMuU2NyZWVuTWVkaWFSZXF1ZXN0fT1cIiR7aW1hZ2VUYWcuYXR0cmlidXRlc1tGaWxlSW1hZ2VUYWdEYXRhQ29uc3RzLlNjcmVlbk1lZGlhUmVxdWVzdF19XCJgO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGA8JHtGaWxlSW1hZ2VUYWdEYXRhQ29uc3RzLlRhZ05hbWV9ICR7ZmlsZUlkQXR0cn0gJHtzY3JlZW5NZWRpYVJlcXVlc3RBdHRyfT48LyR7RmlsZUltYWdlVGFnRGF0YUNvbnN0cy5UYWdOYW1lfT5gO1xuICAgIH1cblxuICAgIHN0YXRpYyBnZXRCb2R5VGFncyhodG1sOiBzdHJpbmcsIG9wdGlvbnM6IENyb2NvSHRtbE9wdGlvbnMpIHtcbiAgICAgICAgbGV0IHJlc3VsdCA9IEh0bWxFeHRyYWN0aW9uTWV0aG9kcy50cmFuc2Zvcm1IdG1sU3RyaW5nVG9CbG9ja3MoaHRtbCwgb3B0aW9ucyk7XG4gICAgICAgIHJldHVybiByZXN1bHQubWFwKHggPT4gQm9keVRhZ3NFeHRlbnNpb25zLnRvQm9keVRhZyh4KSk7XG4gICAgfVxuXG4gICAgc3RhdGljIHNhbml0aXplSW5uZXJIdG1sKGh0bWw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBodG1sLnRyaW0oKS5yZXBsYWNlKCdcXG5cXHQnLCAnJyk7XG4gICAgfVxuXG4gICAgc3RhdGljIHRvQm9keVRhZyhkYXRhOiBJbnRlcmZhY2VCbG9jayk6IEh0bWxCb2R5VGFnIHtcbiAgICAgICAgaWYgKFRleHRUYWdzLmFsbFRleHRUYWdzLmluY2x1ZGVzKGRhdGEudHlwZSkpIHtcbiAgICAgICAgICAgIGxldCB0ZXh0VGFnRGF0YSA9IGRhdGEuZGF0YSBhcyBTaW1wbGVUZXh0VGFnRGF0YTtcblxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBwcmVzZW50T3JFZGl0OiB0cnVlLFxuICAgICAgICAgICAgICAgIHRhZ0Rlc2NyaXB0aW9uOiB7XG4gICAgICAgICAgICAgICAgICAgIHRhZzogdGV4dFRhZ0RhdGEudGV4dFRhZ05hbWUsXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXlWYWx1ZTogQm9keVRhZ3NFeHRlbnNpb25zLmdldERlc2NyaXB0aW9uKGRhdGEudHlwZSlcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IHsgXCJoLWFsaWduXCI6IHRleHRUYWdEYXRhLmhvcml6b250YWxBbGlnbm1lbnQgfSxcbiAgICAgICAgICAgICAgICBpbm5lckh0bWw6IEJvZHlUYWdzRXh0ZW5zaW9ucy5zYW5pdGl6ZUlubmVySHRtbCh0ZXh0VGFnRGF0YS5odG1sKVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChkYXRhLnR5cGUgPT09IEZpbGVJbWFnZVRhZ0RhdGFDb25zdHMuVGFnTmFtZSkge1xuXG4gICAgICAgICAgICBsZXQgZmlsZURhdGEgPSBkYXRhLmRhdGEgYXMgRmlsZUltYWdlVGFnRGF0YTtcblxuICAgICAgICAgICAgbGV0IGF0dHJzID0ge307XG5cbiAgICAgICAgICAgIGlmIChmaWxlRGF0YS5maWxlSWQpIHtcbiAgICAgICAgICAgICAgICBhdHRyc1tGaWxlSW1hZ2VUYWdEYXRhQ29uc3RzLkZpbGVJZEF0dHJOYW1lXSA9IGZpbGVEYXRhLmZpbGVJZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGZpbGVEYXRhLnNjcmVlbk1lZGlhUmVxdWVzdCkge1xuICAgICAgICAgICAgICBhdHRyc1tGaWxlSW1hZ2VUYWdEYXRhQ29uc3RzLlNjcmVlbk1lZGlhUmVxdWVzdF0gPSBmaWxlRGF0YS5zY3JlZW5NZWRpYVJlcXVlc3Q7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgcHJlc2VudE9yRWRpdDogdHJ1ZSxcbiAgICAgICAgICAgICAgICB0YWdEZXNjcmlwdGlvbjoge1xuICAgICAgICAgICAgICAgICAgICB0YWc6IEZpbGVJbWFnZVRhZ0RhdGFDb25zdHMuVGFnTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheVZhbHVlOiBCb2R5VGFnc0V4dGVuc2lvbnMuZ2V0RGVzY3JpcHRpb24oZGF0YS50eXBlKVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgYXR0cmlidXRlczogYXR0cnMsXG4gICAgICAgICAgICAgICAgaW5uZXJIdG1sOiBcIlwiXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGRhdGEudHlwZSA9PT0gRXh0ZXJuYWxWaWRlb1RhZ0RhdGFDb25zdHMuVGFnTmFtZSkge1xuICAgICAgICAgICAgbGV0IGZpbGVEYXRhID0gZGF0YS5kYXRhIGFzIEV4dGVybmFsVmlkZW9UYWdEYXRhQ29uc3RzO1xuXG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHByZXNlbnRPckVkaXQ6IHRydWUsXG4gICAgICAgICAgICAgICAgdGFnRGVzY3JpcHRpb246IHtcbiAgICAgICAgICAgICAgICAgICAgdGFnOiBkYXRhLnR5cGUsXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXlWYWx1ZTogQm9keVRhZ3NFeHRlbnNpb25zLmdldERlc2NyaXB0aW9uKGRhdGEudHlwZSlcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IGZpbGVEYXRhLFxuICAgICAgICAgICAgICAgIGlubmVySHRtbDogXCJcIlxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChkYXRhLnR5cGUgPT09IEh0bWxSYXdUYWdEYXRhQ29uc3RzLlRhZ05hbWUpIHtcblxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBwcmVzZW50T3JFZGl0OiB0cnVlLFxuICAgICAgICAgICAgICAgIHRhZ0Rlc2NyaXB0aW9uOiB7XG4gICAgICAgICAgICAgICAgICAgIHRhZzogSHRtbFJhd1RhZ0RhdGFDb25zdHMuVGFnTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheVZhbHVlOiBCb2R5VGFnc0V4dGVuc2lvbnMuZ2V0RGVzY3JpcHRpb24oZGF0YS50eXBlKVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgYXR0cmlidXRlczoge30sXG4gICAgICAgICAgICAgICAgaW5uZXJIdG1sOiBCb2R5VGFnc0V4dGVuc2lvbnMuc2FuaXRpemVJbm5lckh0bWwoZGF0YS5kYXRhW1wiaW5uZXJIVE1MXCJdKVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBwcmVzZW50T3JFZGl0OiB0cnVlLFxuICAgICAgICAgICAgdGFnRGVzY3JpcHRpb246IHtcbiAgICAgICAgICAgICAgICB0YWc6IFRhZ3MuVW5zdXBwb3J0ZWRUYWcsXG4gICAgICAgICAgICAgICAgZGlzcGxheVZhbHVlOiBcItCd0LXQv9C+0LTQtNC10YDQttC40LLQsNC10LzRi9C5INGC0LXQs1wiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgYXR0cmlidXRlczoge30sXG4gICAgICAgICAgICBpbm5lckh0bWw6IEpTT04uc3RyaW5naWZ5KGRhdGEpXG4gICAgICAgIH07XG4gICAgfVxufVxuIl19
@@ -14,6 +14,8 @@ import * as i27 from '@angular/material/icon';
14
14
  import { MatIcon, MatIconModule } from '@angular/material/icon';
15
15
  import * as i1$2 from '@angular/material/card';
16
16
  import { MatCardModule, MatCard, MatCardContent } from '@angular/material/card';
17
+ import { BehaviorSubject, Subject, takeUntil } from 'rxjs';
18
+ import { NgStyle, CommonModule } from '@angular/common';
17
19
  import * as i2$1 from '@angular/material/input';
18
20
  import { MatInputModule, MatInput } from '@angular/material/input';
19
21
  import { CdkTextareaAutosize } from '@angular/cdk/text-field';
@@ -23,10 +25,8 @@ import * as i29 from '@angular/material/button-toggle';
23
25
  import { MatButtonToggleGroup, MatButtonToggle, MatButtonToggleModule } from '@angular/material/button-toggle';
24
26
  import * as i28 from '@angular/cdk/drag-drop';
25
27
  import { CdkDragHandle, moveItemInArray, CdkDropList, CdkDrag, DragDropModule } from '@angular/cdk/drag-drop';
26
- import { NgStyle, CommonModule } from '@angular/common';
27
28
  import * as i22 from '@angular/material/slide-toggle';
28
29
  import { MatSlideToggle, MatSlideToggleModule } from '@angular/material/slide-toggle';
29
- import { BehaviorSubject, Subject, takeUntil } from 'rxjs';
30
30
  import * as i24 from '@angular/material/core';
31
31
  import { MatOption, MatNativeDateModule } from '@angular/material/core';
32
32
  import * as i11 from '@angular/material/select';
@@ -675,11 +675,13 @@ class BodyTagsExtensions {
675
675
  static imageTagToHtml(imageTag) {
676
676
  let fileIdAttr = "";
677
677
  let screenMediaRequestAttr = "";
678
- let attrValue = imageTag.attributes[FileImageTagDataConsts.FileIdAttrName];
679
- if (imageTag.attributes.hasOwnProperty(FileImageTagDataConsts.FileIdAttrName) && attrValue) {
680
- fileIdAttr = `${FileImageTagDataConsts.FileIdAttrName}="${attrValue}"`;
678
+ if (imageTag.attributes.hasOwnProperty(FileImageTagDataConsts.FileIdAttrName) && imageTag.attributes[FileImageTagDataConsts.FileIdAttrName]) {
679
+ fileIdAttr = `${FileImageTagDataConsts.FileIdAttrName}="${imageTag.attributes[FileImageTagDataConsts.FileIdAttrName]}"`;
680
+ }
681
+ if (imageTag.attributes.hasOwnProperty(FileImageTagDataConsts.ScreenMediaRequest) && imageTag.attributes[FileImageTagDataConsts.ScreenMediaRequest]) {
682
+ screenMediaRequestAttr = `${FileImageTagDataConsts.ScreenMediaRequest}="${imageTag.attributes[FileImageTagDataConsts.ScreenMediaRequest]}"`;
681
683
  }
682
- return `<${FileImageTagDataConsts.TagName} ${fileIdAttr} ${FileImageTagDataConsts.ScreenMediaRequest}="${imageTag.attributes[FileImageTagDataConsts.ScreenMediaRequest]}"></${FileImageTagDataConsts.TagName}>`;
684
+ return `<${FileImageTagDataConsts.TagName} ${fileIdAttr} ${screenMediaRequestAttr}></${FileImageTagDataConsts.TagName}>`;
683
685
  }
684
686
  static getBodyTags(html, options) {
685
687
  let result = HtmlExtractionMethods.transformHtmlStringToBlocks(html, options);
@@ -952,11 +954,11 @@ class YoutubeVideoPlayerComponent {
952
954
  this.sanitizer = sanitizer;
953
955
  }
954
956
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: YoutubeVideoPlayerComponent, deps: [{ token: i1$1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
955
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: YoutubeVideoPlayerComponent, isStandalone: true, selector: "youtube-video-player", inputs: { link: "link" }, ngImport: i0, template: "<div class=\"video-player\">\n <iframe\n width=\"100%\"\n height=\"100%\"\n [src]=\"safeUrl\"\n title=\"YouTube video player\"\n frameborder=\"0\"\n allow=\"accelerometer;\n autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\"\n referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen></iframe>\n</div>\n", styles: [".video-player{margin:0 auto;max-width:640px;width:100%;height:360px}@media screen and (max-width: 760px){.video-player{height:300px}}@media screen and (max-width: 540px){.video-player{height:250px}}@media screen and (max-width: 450px){.video-player{height:200px}}@media screen and (max-width: 380px){.video-player{height:180px}}\n"] }); }
957
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: YoutubeVideoPlayerComponent, isStandalone: true, selector: "youtube-video-player", inputs: { link: "link" }, ngImport: i0, template: "<div class=\"video-player\">\n <iframe\n width=\"100%\"\n height=\"100%\"\n [src]=\"safeUrl\"\n title=\"YouTube video player\"\n frameborder=\"0\"\n allow=\"accelerometer; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\"\n referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen></iframe>\n</div>\n", styles: [".video-player{margin:0 auto;max-width:640px;width:100%;height:360px}@media screen and (max-width: 760px){.video-player{height:300px}}@media screen and (max-width: 540px){.video-player{height:250px}}@media screen and (max-width: 450px){.video-player{height:200px}}@media screen and (max-width: 380px){.video-player{height:180px}}\n"] }); }
956
958
  }
957
959
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: YoutubeVideoPlayerComponent, decorators: [{
958
960
  type: Component,
959
- args: [{ selector: 'youtube-video-player', standalone: true, imports: [], template: "<div class=\"video-player\">\n <iframe\n width=\"100%\"\n height=\"100%\"\n [src]=\"safeUrl\"\n title=\"YouTube video player\"\n frameborder=\"0\"\n allow=\"accelerometer;\n autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\"\n referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen></iframe>\n</div>\n", styles: [".video-player{margin:0 auto;max-width:640px;width:100%;height:360px}@media screen and (max-width: 760px){.video-player{height:300px}}@media screen and (max-width: 540px){.video-player{height:250px}}@media screen and (max-width: 450px){.video-player{height:200px}}@media screen and (max-width: 380px){.video-player{height:180px}}\n"] }]
961
+ args: [{ selector: 'youtube-video-player', standalone: true, imports: [], template: "<div class=\"video-player\">\n <iframe\n width=\"100%\"\n height=\"100%\"\n [src]=\"safeUrl\"\n title=\"YouTube video player\"\n frameborder=\"0\"\n allow=\"accelerometer; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\"\n referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen></iframe>\n</div>\n", styles: [".video-player{margin:0 auto;max-width:640px;width:100%;height:360px}@media screen and (max-width: 760px){.video-player{height:300px}}@media screen and (max-width: 540px){.video-player{height:250px}}@media screen and (max-width: 450px){.video-player{height:200px}}@media screen and (max-width: 380px){.video-player{height:180px}}\n"] }]
960
962
  }], ctorParameters: () => [{ type: i1$1.DomSanitizer }], propDecorators: { link: [{
961
963
  type: Input
962
964
  }] } });
@@ -1203,21 +1205,60 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
1203
1205
  args: [{ required: true }]
1204
1206
  }] } });
1205
1207
 
1206
- class FileImageTagViewComponent {
1208
+ class ScreenWidthService {
1207
1209
  constructor() {
1210
+ this.screenWidth = new BehaviorSubject(window.innerWidth);
1211
+ window.addEventListener('resize', this.onResize.bind(this));
1212
+ }
1213
+ onResize(event) {
1214
+ this.screenWidth.next(window.innerWidth);
1215
+ }
1216
+ getScreenWidth() {
1217
+ return this.screenWidth.asObservable();
1218
+ }
1219
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ScreenWidthService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1220
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ScreenWidthService, providedIn: 'root' }); }
1221
+ }
1222
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ScreenWidthService, decorators: [{
1223
+ type: Injectable,
1224
+ args: [{
1225
+ providedIn: 'root'
1226
+ }]
1227
+ }], ctorParameters: () => [] });
1228
+
1229
+ class FileImageTagViewComponent {
1230
+ set item(item) {
1231
+ let data = item.data;
1232
+ this.imageSrc = data.src;
1233
+ this.requests = ImageMethods.mediaRequestStringToArrayParser(data.screenMediaRequest);
1234
+ }
1235
+ constructor(screenWidthService) {
1236
+ this.screenWidthService = screenWidthService;
1208
1237
  this.imageSrc = "";
1238
+ this.requests = [];
1239
+ this.unsubscribe = new Subject();
1240
+ this.imageMaxHeight = null;
1209
1241
  }
1210
1242
  ngOnInit() {
1211
- let data = this.item.data;
1212
- this.imageSrc = data.src;
1243
+ this.screenWidthService.getScreenWidth()
1244
+ .pipe(takeUntil(this.unsubscribe))
1245
+ .subscribe(screenWidth => {
1246
+ this.imageMaxHeight = ImageMethods.screenSizeChanged(screenWidth, this.requests);
1247
+ });
1213
1248
  }
1214
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: FileImageTagViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1215
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: FileImageTagViewComponent, isStandalone: true, selector: "croco-html-file-image-tag-view", inputs: { item: "item" }, ngImport: i0, template: "<img class=\"mx-auto d-block img-fluid\" [src]=\"imageSrc\" alt=\"\u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u043D\u0435 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043D\u043E\"/>", styles: [""] }); }
1249
+ ngOnDestroy() {
1250
+ this.unsubscribe.next();
1251
+ this.unsubscribe.complete();
1252
+ }
1253
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: FileImageTagViewComponent, deps: [{ token: ScreenWidthService }], target: i0.ɵɵFactoryTarget.Component }); }
1254
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: FileImageTagViewComponent, isStandalone: true, selector: "croco-html-file-image-tag-view", inputs: { item: "item" }, ngImport: i0, template: "<img\n [ngStyle]=\"{ 'max-height': imageMaxHeight ? imageMaxHeight + 'px' : '100%'}\"\n class=\"mx-auto d-block img-fluid\"\n [src]=\"imageSrc\"\n alt=\"\u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u043D\u0435 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043D\u043E\"\n/>\n", styles: [""], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
1216
1255
  }
1217
1256
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: FileImageTagViewComponent, decorators: [{
1218
1257
  type: Component,
1219
- args: [{ selector: 'croco-html-file-image-tag-view', standalone: true, template: "<img class=\"mx-auto d-block img-fluid\" [src]=\"imageSrc\" alt=\"\u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u043D\u0435 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043D\u043E\"/>" }]
1220
- }], propDecorators: { item: [{
1258
+ args: [{ selector: 'croco-html-file-image-tag-view', imports: [
1259
+ NgStyle
1260
+ ], standalone: true, template: "<img\n [ngStyle]=\"{ 'max-height': imageMaxHeight ? imageMaxHeight + 'px' : '100%'}\"\n class=\"mx-auto d-block img-fluid\"\n [src]=\"imageSrc\"\n alt=\"\u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u043D\u0435 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043D\u043E\"\n/>\n" }]
1261
+ }], ctorParameters: () => [{ type: ScreenWidthService }], propDecorators: { item: [{
1221
1262
  type: Input
1222
1263
  }] } });
1223
1264
 
@@ -1423,33 +1464,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
1423
1464
  type: Output
1424
1465
  }] } });
1425
1466
 
1426
- class ScreenWidthService {
1427
- constructor() {
1428
- this.screenWidth = new BehaviorSubject(window.innerWidth);
1429
- window.addEventListener('resize', this.onResize.bind(this));
1430
- }
1431
- onResize(event) {
1432
- this.screenWidth.next(window.innerWidth);
1433
- }
1434
- getScreenWidth() {
1435
- return this.screenWidth.asObservable();
1436
- }
1437
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ScreenWidthService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1438
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ScreenWidthService, providedIn: 'root' }); }
1439
- }
1440
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ScreenWidthService, decorators: [{
1441
- type: Injectable,
1442
- args: [{
1443
- providedIn: 'root'
1444
- }]
1445
- }], ctorParameters: () => [] });
1446
-
1447
1467
  class ImageEditorComponent {
1448
1468
  onErrorHandler() {
1449
1469
  this.hasImageError = true;
1450
1470
  }
1451
- constructor(_options, screenWidth) {
1471
+ constructor(_options, screenWidthService) {
1452
1472
  this._options = _options;
1473
+ this.screenWidthService = screenWidthService;
1453
1474
  this.hasImageError = false;
1454
1475
  this.searchOrEdit = "search";
1455
1476
  this.requests = [];
@@ -1457,11 +1478,6 @@ class ImageEditorComponent {
1457
1478
  this.isShowMediaRequest = false;
1458
1479
  this.unsubscribe = new Subject();
1459
1480
  this.onTagUpdated = new EventEmitter();
1460
- screenWidth.getScreenWidth()
1461
- .pipe(takeUntil(this.unsubscribe))
1462
- .subscribe(screenWidth => {
1463
- this.imageMaxHeight = ImageMethods.screenSizeChanged(screenWidth, this.requests);
1464
- });
1465
1481
  }
1466
1482
  getSrc() {
1467
1483
  return ImageMethods.buildUrl(this.tag.attributes[FileImageTagDataConsts.FileIdAttrName], "Medium", this._options);
@@ -1479,6 +1495,11 @@ class ImageEditorComponent {
1479
1495
  ngOnInit() {
1480
1496
  let attr = this.tag.attributes[FileImageTagDataConsts.ScreenMediaRequest];
1481
1497
  this.requests = ImageMethods.mediaRequestStringToArrayParser(attr);
1498
+ this.screenWidthService.getScreenWidth()
1499
+ .pipe(takeUntil(this.unsubscribe))
1500
+ .subscribe(screenWidth => {
1501
+ this.imageMaxHeight = ImageMethods.screenSizeChanged(screenWidth, this.requests);
1502
+ });
1482
1503
  }
1483
1504
  requestChanged() {
1484
1505
  this.tag.attributes[FileImageTagDataConsts.ScreenMediaRequest] = ImageMethods.mediaRequestsArrayToStringParser(this.requests);