@wizishop/img-manager 15.2.58 → 15.2.59

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/assets/i18n/en.json +1 -1
  2. package/assets/i18n/es.json +1 -1
  3. package/assets/i18n/fr.json +1 -1
  4. package/assets/i18n/it.json +1 -1
  5. package/esm2020/lib/components/images-view/images-actions-handler.mjs +4 -1
  6. package/esm2020/lib/components/images-view/mosaic-view/img-card/img-card.component.mjs +3 -3
  7. package/esm2020/lib/components/images-view/table-view/table-view.component.mjs +3 -3
  8. package/esm2020/lib/components/img-editor/img-editor.component.mjs +44 -7
  9. package/esm2020/lib/components/img-editor/info-video/info-video.component.mjs +62 -0
  10. package/esm2020/lib/components/img-editor/show-iframe/show-iframe.component.mjs +54 -0
  11. package/esm2020/lib/components/img-tabs/img-tabs.component.mjs +12 -3
  12. package/esm2020/lib/dto/img-manager.dto.mjs +1 -1
  13. package/esm2020/lib/services/api.service.mjs +1 -1
  14. package/esm2020/lib/services/img-event.service.mjs +8 -1
  15. package/esm2020/lib/services/rename-picture.service.mjs +4 -1
  16. package/esm2020/lib/services/video-info.service.mjs +87 -0
  17. package/esm2020/lib/wz-img-manager.module.mjs +7 -1
  18. package/fesm2015/wizishop-img-manager.mjs +257 -9
  19. package/fesm2015/wizishop-img-manager.mjs.map +1 -1
  20. package/fesm2020/wizishop-img-manager.mjs +256 -9
  21. package/fesm2020/wizishop-img-manager.mjs.map +1 -1
  22. package/lib/components/images-view/images-actions-handler.d.ts +1 -0
  23. package/lib/components/img-editor/img-editor.component.d.ts +8 -1
  24. package/lib/components/img-editor/info-video/info-video.component.d.ts +20 -0
  25. package/lib/components/img-editor/show-iframe/show-iframe.component.d.ts +15 -0
  26. package/lib/components/img-tabs/img-tabs.component.d.ts +1 -0
  27. package/lib/dto/img-manager.dto.d.ts +1 -0
  28. package/lib/services/api.service.d.ts +1 -0
  29. package/lib/services/img-event.service.d.ts +3 -0
  30. package/lib/services/rename-picture.service.d.ts +1 -0
  31. package/lib/services/video-info.service.d.ts +23 -0
  32. package/lib/wz-img-manager.module.d.ts +46 -44
  33. package/package.json +1 -1
  34. package/wizishop-img-manager-15.2.59.tgz +0 -0
  35. package/wz-img-manager.scss +183 -2
  36. package/wizishop-img-manager-15.2.58.tgz +0 -0
@@ -8,40 +8,71 @@ import * as i2 from "../../services/rename-picture.service";
8
8
  import * as i3 from "@angular/common";
9
9
  import * as i4 from "ngx-scrollbar";
10
10
  import * as i5 from "./info-section/info-section.component";
11
- import * as i6 from "./cropper/cropper.component";
12
- import * as i7 from "../../directives/loading.directive";
13
- import * as i8 from "@ngx-translate/core";
11
+ import * as i6 from "./info-video/info-video.component";
12
+ import * as i7 from "./show-iframe/show-iframe.component";
13
+ import * as i8 from "./cropper/cropper.component";
14
+ import * as i9 from "../../directives/loading.directive";
15
+ import * as i10 from "@ngx-translate/core";
14
16
  export class ImgEditorComponent {
15
17
  constructor(imgManagerService, renamePictureService) {
16
18
  this.imgManagerService = imgManagerService;
17
19
  this.renamePictureService = renamePictureService;
20
+ this._isVideoEdit = false;
18
21
  this.editClosed = new EventEmitter();
19
22
  this.isLoading = false;
20
23
  this.isImgModified = false;
21
24
  this.isNameModified = false;
22
25
  this.currentCroppedImage = ''; // Img modified return in base64 by the cropper
26
+ this.isEditorLinkActive = false;
27
+ this.isVideoModified = false;
23
28
  this.msgFailSave = 'ImgManager.ImgEditor.msgFailSave';
24
29
  this.msgFailLoad = 'ImgManager.ImgEditor.msgFailLoad';
25
30
  this.msgSuccessEdit = "Les modifications de l'image ont bien été enregistrées.";
26
31
  }
32
+ set isVideoEdit(value) {
33
+ this._isVideoEdit = value;
34
+ if (value === true) {
35
+ this.isEditorLinkActive = true;
36
+ }
37
+ }
38
+ get isVideoEdit() {
39
+ return this._isVideoEdit;
40
+ }
27
41
  ngOnInit() {
28
42
  this.previousName = this.imgToEdit.display_name;
43
+ this.previousVideoLink = this.imgToEdit.video_link;
29
44
  }
30
45
  onSave() {
31
46
  if (this.isLoading) {
32
47
  return;
33
48
  }
34
49
  this.isLoading = true;
35
- if (!this.isImgModified && !this.isNameModified) {
50
+ if (!this.isImgModified && !this.isNameModified && !this.isVideoModified) {
36
51
  this.isLoading = false;
37
52
  this.onEditClosed();
38
53
  }
39
54
  const obsReplaceImg = this.imgManagerService.replaceImg(this.currentCroppedImage, this.imgToEdit.id_file);
40
55
  const obsChangeImgName = this.renamePictureService.changeImageName(this.imgToEdit.display_name, this.imgToEdit.id_file);
56
+ const obsChangeVideoLink = this.renamePictureService.changeVideoLink(this.imgToEdit.video_link, this.imgToEdit.id_file);
41
57
  if (this.isImgModified && this.isNameModified) {
42
58
  this.renameAndReplaceImg(obsChangeImgName, obsReplaceImg);
43
59
  return;
44
60
  }
61
+ if (this.isVideoModified && !this.isImgModified && !this.isNameModified) {
62
+ obsChangeVideoLink.subscribe({
63
+ next: () => {
64
+ this.isLoading = false;
65
+ this.previousVideoLink = this.imgToEdit.video_link;
66
+ this.onEditClosed(this.msgSuccessEdit);
67
+ },
68
+ error: () => {
69
+ this.isLoading = false;
70
+ this.imgToEdit.video_link = this.previousVideoLink;
71
+ this.onEditClosed(this.msgFailSave);
72
+ }
73
+ });
74
+ return;
75
+ }
45
76
  if (this.isImgModified) {
46
77
  obsReplaceImg.subscribe({
47
78
  next: data => {
@@ -86,6 +117,10 @@ export class ImgEditorComponent {
86
117
  onImgCropped(imgBase64) {
87
118
  this.currentCroppedImage = imgBase64;
88
119
  }
120
+ onDeleteVideo() {
121
+ this.imgToEdit.video_link = null;
122
+ this.isVideoModified = true;
123
+ }
89
124
  renameAndReplaceImg(obsChangeImgName, obsReplaceImg) {
90
125
  // Avoid to use forkjoin, because it can create conflict and loose the img
91
126
  obsChangeImgName.subscribe({
@@ -106,19 +141,21 @@ export class ImgEditorComponent {
106
141
  }
107
142
  }
108
143
  ImgEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ImgEditorComponent, deps: [{ token: i1.ImgManagerService }, { token: i2.RenamePictureService }], target: i0.ɵɵFactoryTarget.Component });
109
- ImgEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ImgEditorComponent, selector: "img-editor", inputs: { stateDisplayed: "stateDisplayed", imgToEdit: "imgToEdit" }, outputs: { editClosed: "editClosed" }, ngImport: i0, template: "<div class=\"img-editor\" [@easeInOut]=\"'in'\">\r\n\r\n <!-- Button Action Section -->\r\n\r\n <div class=\"img-editor__infoSection__actions\">\r\n <div>\r\n <button\r\n type=\"button\"\r\n class=\"button img-editor__infoSection__actions__cancel\"\r\n (click)=\"onCancel()\"\r\n [disabled]=\"isLoading || (!isImgModified && !isNameModified)\"\r\n >\r\n {{ 'ImgManager.ImgLib.cancel' | translate }}\r\n </button>\r\n <div\r\n class=\"button danger button img-editor__infoSection__actions__save\"\r\n [ngClass]=\"{'img-editor__infoSection__actions__save--disable': isLoading}\"\r\n (click)=\"onSave()\"\r\n >\r\n {{ 'ImgManager.ImgEditor.saveBtn' | translate }}\r\n <span btnLoadingAnim *ngIf=\"isLoading\" class=\"btnLoadingAnnimation\"></span>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n <ng-scrollbar\r\n class=\"img-editor__scroll\"\r\n [ngClass]=\"{\r\n 'img-editor__scroll--full': stateDisplayed === 'full',\r\n 'img-editor__scroll--smallDisplay': stateDisplayed === 'small',\r\n 'img-editor__scroll--window': stateDisplayed === 'window'\r\n }\"\r\n >\r\n <div class=\"columns\">\r\n <!-- Left section -->\r\n <div class=\"column is-one-third img-editor__infoSection\">\r\n\r\n <info-section\r\n [imgToEdit]=\"imgToEdit\"\r\n [(isNameModified)]=\"isNameModified\"\r\n >\r\n </info-section>\r\n </div>\r\n\r\n\r\n <!-- Right section -->\r\n <div class=\"column img-editor__container\">\r\n <cropper\r\n [imgToEdit]=\"imgToEdit\"\r\n [(isImgModified)]=\"isImgModified\"\r\n (currentCroppedImageChange)=\"onImgCropped($event)\"\r\n (editClosed)=\"onEditClosed($event)\">\r\n </cropper>\r\n </div>\r\n </div>\r\n </ng-scrollbar>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.NgScrollbar, selector: "ng-scrollbar", inputs: ["disabled", "sensorDisabled", "pointerEventsDisabled", "viewportPropagateMouseMove", "autoHeightDisabled", "autoWidthDisabled", "viewClass", "trackClass", "thumbClass", "minThumbSize", "trackClickScrollDuration", "pointerEventsMethod", "track", "visibility", "appearance", "position", "sensorDebounce", "scrollAuditTime"], outputs: ["updated"], exportAs: ["ngScrollbar"] }, { kind: "component", type: i5.EditorInfoSectionComponent, selector: "info-section", inputs: ["imgToEdit", "isNameModified"], outputs: ["isNameModifiedChange"] }, { kind: "component", type: i6.CropperComponent, selector: "cropper", inputs: ["imgToEdit", "isImgModified"], outputs: ["isImgModifiedChange", "editClosed", "currentCroppedImageChange"] }, { kind: "directive", type: i7.LoadingDirective, selector: "[btnLoadingAnim]" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }], animations: [
144
+ ImgEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ImgEditorComponent, selector: "img-editor", inputs: { stateDisplayed: "stateDisplayed", imgToEdit: "imgToEdit", isVideoEdit: "isVideoEdit" }, outputs: { editClosed: "editClosed" }, ngImport: i0, template: "<div class=\"img-editor\" [@easeInOut]=\"'in'\">\r\n\r\n <!-- Button Action Section -->\r\n\r\n <div class=\"img-editor__infoSection__actions\">\r\n <div>\r\n <button\r\n type=\"button\"\r\n class=\"button img-editor__infoSection__actions__cancel\"\r\n (click)=\"onCancel()\"\r\n [disabled]=\"isLoading || (!isImgModified && !isNameModified)\"\r\n >\r\n {{ 'ImgManager.ImgLib.cancel' | translate }}\r\n </button>\r\n <div\r\n class=\"button danger button img-editor__infoSection__actions__save\"\r\n [ngClass]=\"{'img-editor__infoSection__actions__save--disable': isLoading}\"\r\n (click)=\"onSave()\"\r\n >\r\n {{ 'ImgManager.ImgEditor.saveBtn' | translate }}\r\n <span btnLoadingAnim *ngIf=\"isLoading\" class=\"btnLoadingAnnimation\"></span>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n <ng-scrollbar\r\n class=\"img-editor__scroll\"\r\n style=\"min-height: 500px\"\r\n [ngClass]=\"{\r\n 'img-editor__scroll--full': stateDisplayed === 'full',\r\n 'img-editor__scroll--smallDisplay': stateDisplayed === 'small',\r\n 'img-editor__scroll--window': stateDisplayed === 'window'\r\n }\"\r\n >\r\n\r\n <div class=\"columns\">\r\n <!-- Left section -->\r\n <div class=\"column is-one-third img-editor__infoSection\">\r\n\r\n <ul class=\"img-editorVideo__tabs\">\r\n <li [ngClass]=\"{'active': !isEditorLinkActive}\"><span (click)=\"isEditorLinkActive = !isEditorLinkActive\">Informations</span></li>\r\n <li [ngClass]=\"{'active': isEditorLinkActive}\"><span (click)=\"isEditorLinkActive = !isEditorLinkActive\">Associer une vid\u00E9o</span></li>\r\n </ul>\r\n\r\n <info-section\r\n *ngIf=\"!isEditorLinkActive\"\r\n [imgToEdit]=\"imgToEdit\"\r\n [(isNameModified)]=\"isNameModified\"\r\n >\r\n </info-section>\r\n <info-video\r\n *ngIf=\"isEditorLinkActive\"\r\n [(videoLink)]=\"imgToEdit.video_link\"\r\n [(isVideoModified)]=\"isVideoModified\"\r\n (deleteVideo)=\"onDeleteVideo()\">\r\n </info-video>\r\n </div>\r\n\r\n\r\n <!-- Right section -->\r\n <div class=\"column img-editor__container\">\r\n <cropper\r\n *ngIf=\"!isEditorLinkActive\"\r\n [imgToEdit]=\"imgToEdit\"\r\n [(isImgModified)]=\"isImgModified\"\r\n (currentCroppedImageChange)=\"onImgCropped($event)\"\r\n (editClosed)=\"onEditClosed($event)\">\r\n </cropper>\r\n <show-iframe\r\n style=\"display: block;width: 100%\"\r\n [videoLink]=\"imgToEdit.video_link\"\r\n *ngIf=\"isEditorLinkActive\">\r\n\r\n </show-iframe>\r\n </div>\r\n </div>\r\n </ng-scrollbar>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.NgScrollbar, selector: "ng-scrollbar", inputs: ["disabled", "sensorDisabled", "pointerEventsDisabled", "viewportPropagateMouseMove", "autoHeightDisabled", "autoWidthDisabled", "viewClass", "trackClass", "thumbClass", "minThumbSize", "trackClickScrollDuration", "pointerEventsMethod", "track", "visibility", "appearance", "position", "sensorDebounce", "scrollAuditTime"], outputs: ["updated"], exportAs: ["ngScrollbar"] }, { kind: "component", type: i5.EditorInfoSectionComponent, selector: "info-section", inputs: ["imgToEdit", "isNameModified"], outputs: ["isNameModifiedChange"] }, { kind: "component", type: i6.EditorInfoVideoComponent, selector: "info-video", inputs: ["videoLink", "isVideoModified"], outputs: ["videoLinkChange", "isVideoModifiedChange", "deleteVideo"] }, { kind: "component", type: i7.EditorShowIframeComponent, selector: "show-iframe", inputs: ["videoLink"] }, { kind: "component", type: i8.CropperComponent, selector: "cropper", inputs: ["imgToEdit", "isImgModified"], outputs: ["isImgModifiedChange", "editClosed", "currentCroppedImageChange"] }, { kind: "directive", type: i9.LoadingDirective, selector: "[btnLoadingAnim]" }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }], animations: [
110
145
  easeInOut
111
146
  ] });
112
147
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ImgEditorComponent, decorators: [{
113
148
  type: Component,
114
149
  args: [{ selector: 'img-editor', animations: [
115
150
  easeInOut
116
- ], template: "<div class=\"img-editor\" [@easeInOut]=\"'in'\">\r\n\r\n <!-- Button Action Section -->\r\n\r\n <div class=\"img-editor__infoSection__actions\">\r\n <div>\r\n <button\r\n type=\"button\"\r\n class=\"button img-editor__infoSection__actions__cancel\"\r\n (click)=\"onCancel()\"\r\n [disabled]=\"isLoading || (!isImgModified && !isNameModified)\"\r\n >\r\n {{ 'ImgManager.ImgLib.cancel' | translate }}\r\n </button>\r\n <div\r\n class=\"button danger button img-editor__infoSection__actions__save\"\r\n [ngClass]=\"{'img-editor__infoSection__actions__save--disable': isLoading}\"\r\n (click)=\"onSave()\"\r\n >\r\n {{ 'ImgManager.ImgEditor.saveBtn' | translate }}\r\n <span btnLoadingAnim *ngIf=\"isLoading\" class=\"btnLoadingAnnimation\"></span>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n <ng-scrollbar\r\n class=\"img-editor__scroll\"\r\n [ngClass]=\"{\r\n 'img-editor__scroll--full': stateDisplayed === 'full',\r\n 'img-editor__scroll--smallDisplay': stateDisplayed === 'small',\r\n 'img-editor__scroll--window': stateDisplayed === 'window'\r\n }\"\r\n >\r\n <div class=\"columns\">\r\n <!-- Left section -->\r\n <div class=\"column is-one-third img-editor__infoSection\">\r\n\r\n <info-section\r\n [imgToEdit]=\"imgToEdit\"\r\n [(isNameModified)]=\"isNameModified\"\r\n >\r\n </info-section>\r\n </div>\r\n\r\n\r\n <!-- Right section -->\r\n <div class=\"column img-editor__container\">\r\n <cropper\r\n [imgToEdit]=\"imgToEdit\"\r\n [(isImgModified)]=\"isImgModified\"\r\n (currentCroppedImageChange)=\"onImgCropped($event)\"\r\n (editClosed)=\"onEditClosed($event)\">\r\n </cropper>\r\n </div>\r\n </div>\r\n </ng-scrollbar>\r\n</div>\r\n" }]
151
+ ], template: "<div class=\"img-editor\" [@easeInOut]=\"'in'\">\r\n\r\n <!-- Button Action Section -->\r\n\r\n <div class=\"img-editor__infoSection__actions\">\r\n <div>\r\n <button\r\n type=\"button\"\r\n class=\"button img-editor__infoSection__actions__cancel\"\r\n (click)=\"onCancel()\"\r\n [disabled]=\"isLoading || (!isImgModified && !isNameModified)\"\r\n >\r\n {{ 'ImgManager.ImgLib.cancel' | translate }}\r\n </button>\r\n <div\r\n class=\"button danger button img-editor__infoSection__actions__save\"\r\n [ngClass]=\"{'img-editor__infoSection__actions__save--disable': isLoading}\"\r\n (click)=\"onSave()\"\r\n >\r\n {{ 'ImgManager.ImgEditor.saveBtn' | translate }}\r\n <span btnLoadingAnim *ngIf=\"isLoading\" class=\"btnLoadingAnnimation\"></span>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n <ng-scrollbar\r\n class=\"img-editor__scroll\"\r\n style=\"min-height: 500px\"\r\n [ngClass]=\"{\r\n 'img-editor__scroll--full': stateDisplayed === 'full',\r\n 'img-editor__scroll--smallDisplay': stateDisplayed === 'small',\r\n 'img-editor__scroll--window': stateDisplayed === 'window'\r\n }\"\r\n >\r\n\r\n <div class=\"columns\">\r\n <!-- Left section -->\r\n <div class=\"column is-one-third img-editor__infoSection\">\r\n\r\n <ul class=\"img-editorVideo__tabs\">\r\n <li [ngClass]=\"{'active': !isEditorLinkActive}\"><span (click)=\"isEditorLinkActive = !isEditorLinkActive\">Informations</span></li>\r\n <li [ngClass]=\"{'active': isEditorLinkActive}\"><span (click)=\"isEditorLinkActive = !isEditorLinkActive\">Associer une vid\u00E9o</span></li>\r\n </ul>\r\n\r\n <info-section\r\n *ngIf=\"!isEditorLinkActive\"\r\n [imgToEdit]=\"imgToEdit\"\r\n [(isNameModified)]=\"isNameModified\"\r\n >\r\n </info-section>\r\n <info-video\r\n *ngIf=\"isEditorLinkActive\"\r\n [(videoLink)]=\"imgToEdit.video_link\"\r\n [(isVideoModified)]=\"isVideoModified\"\r\n (deleteVideo)=\"onDeleteVideo()\">\r\n </info-video>\r\n </div>\r\n\r\n\r\n <!-- Right section -->\r\n <div class=\"column img-editor__container\">\r\n <cropper\r\n *ngIf=\"!isEditorLinkActive\"\r\n [imgToEdit]=\"imgToEdit\"\r\n [(isImgModified)]=\"isImgModified\"\r\n (currentCroppedImageChange)=\"onImgCropped($event)\"\r\n (editClosed)=\"onEditClosed($event)\">\r\n </cropper>\r\n <show-iframe\r\n style=\"display: block;width: 100%\"\r\n [videoLink]=\"imgToEdit.video_link\"\r\n *ngIf=\"isEditorLinkActive\">\r\n\r\n </show-iframe>\r\n </div>\r\n </div>\r\n </ng-scrollbar>\r\n</div>\r\n" }]
117
152
  }], ctorParameters: function () { return [{ type: i1.ImgManagerService }, { type: i2.RenamePictureService }]; }, propDecorators: { stateDisplayed: [{
118
153
  type: Input
119
154
  }], imgToEdit: [{
120
155
  type: Input
156
+ }], isVideoEdit: [{
157
+ type: Input
121
158
  }], editClosed: [{
122
159
  type: Output
123
160
  }] } });
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLWVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ei1pbWctbWFuYWdlci9zcmMvbGliL2NvbXBvbmVudHMvaW1nLWVkaXRvci9pbWctZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvY29tcG9uZW50cy9pbWctZWRpdG9yL2ltZy1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFHOUYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQzdFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7Ozs7Ozs7O0FBUzdFLE1BQU0sT0FBTyxrQkFBa0I7SUFtQjdCLFlBQ1UsaUJBQW9DLEVBQ3BDLG9CQUEwQztRQUQxQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFkMUMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFMUMsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixrQkFBYSxHQUFZLEtBQUssQ0FBQztRQUMvQixtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUNoQyx3QkFBbUIsR0FBVyxFQUFFLENBQUMsQ0FBQywrQ0FBK0M7UUFHakYsZ0JBQVcsR0FBVyxrQ0FBa0MsQ0FBQztRQUN6RCxnQkFBVyxHQUFXLGtDQUFrQyxDQUFDO1FBQ3pELG1CQUFjLEdBQVcseURBQXlELENBQUE7SUFLNUUsQ0FBQztJQUVQLFFBQVE7UUFD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QUMsQ0FBQztJQUN4QixDQUFDO0lBRUQsWUFBWSxDQUFDLFNBQWlCO1FBQzVCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxTQUFTLENBQUM7SUFDdkMsQ0FBQztJQUVPLG1CQUFtQixDQUFDLGdCQUFpQyxFQUFFLGFBQThCO1FBQzNGLDBFQUEwRTtRQUMxRSxnQkFBZ0IsQ0FBQyxTQUFTLENBQUM7WUFDekIsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFO2dCQUNYLGFBQWEsQ0FBQyxTQUFTLENBQUM7b0JBQ3RCLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRTt3QkFDWCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztvQkFDekMsQ0FBQztvQkFDRCxLQUFLLEVBQUUsS0FBSyxDQUFDLEVBQUU7d0JBQ2IsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7b0JBQ3RDLENBQUM7aUJBQ0YsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUNELEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRTtnQkFDYixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUN0QyxDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7K0dBakhVLGtCQUFrQjttR0FBbEIsa0JBQWtCLCtKQ2QvQiw0L0RBMERBLCtvQ0RoRGM7UUFDVixTQUFTO0tBQ1Y7MkZBRVUsa0JBQWtCO2tCQVA5QixTQUFTOytCQUNFLFlBQVksY0FFVjt3QkFDVixTQUFTO3FCQUNWOzJJQUtELGNBQWM7c0JBRGIsS0FBSztnQkFHTixTQUFTO3NCQURSLEtBQUs7Z0JBR0ksVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIEFmdGVyVmlld0luaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSW1nUGljdHVyZURUTyB9IGZyb20gJy4uLy4uL2R0by9pbWctbWFuYWdlci5kdG8nO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmb3JrSm9pbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBJbWdNYW5hZ2VyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ltZy1tYW5hZ2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBlYXNlSW5PdXQgfSBmcm9tICcuLi8uLi9hbmltYXRpb25zL2Vhc2VJbk91dC9lYXNlLWluLW91dC5hbmltYXRpb24nO1xyXG5pbXBvcnQgeyBSZW5hbWVQaWN0dXJlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3JlbmFtZS1waWN0dXJlLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpbWctZWRpdG9yJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaW1nLWVkaXRvci5jb21wb25lbnQuaHRtbCcsXHJcbiAgYW5pbWF0aW9uczogW1xyXG4gICAgZWFzZUluT3V0XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW1nRWRpdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQElucHV0KClcclxuICBzdGF0ZURpc3BsYXllZDtcclxuICBASW5wdXQoKVxyXG4gIGltZ1RvRWRpdDogSW1nUGljdHVyZURUTztcclxuXHJcbiAgQE91dHB1dCgpIGVkaXRDbG9zZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGlzTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGlzSW1nTW9kaWZpZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBpc05hbWVNb2RpZmllZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGN1cnJlbnRDcm9wcGVkSW1hZ2U6IHN0cmluZyA9ICcnOyAvLyBJbWcgbW9kaWZpZWQgcmV0dXJuIGluIGJhc2U2NCBieSB0aGUgY3JvcHBlclxyXG4gIHByaXZhdGUgcHJldmlvdXNOYW1lOiBzdHJpbmc7XHJcblxyXG4gIG1zZ0ZhaWxTYXZlOiBzdHJpbmcgPSAnSW1nTWFuYWdlci5JbWdFZGl0b3IubXNnRmFpbFNhdmUnO1xyXG4gIG1zZ0ZhaWxMb2FkOiBzdHJpbmcgPSAnSW1nTWFuYWdlci5JbWdFZGl0b3IubXNnRmFpbExvYWQnO1xyXG4gIG1zZ1N1Y2Nlc3NFZGl0OiBzdHJpbmcgPSBcIkxlcyBtb2RpZmljYXRpb25zIGRlIGwnaW1hZ2Ugb250IGJpZW4gw6l0w6kgZW5yZWdpc3Ryw6llcy5cIlxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaW1nTWFuYWdlclNlcnZpY2U6IEltZ01hbmFnZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZW5hbWVQaWN0dXJlU2VydmljZTogUmVuYW1lUGljdHVyZVNlcnZpY2VcclxuICAgICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5wcmV2aW91c05hbWUgPSB0aGlzLmltZ1RvRWRpdC5kaXNwbGF5X25hbWU7XHJcbiAgfVxyXG5cclxuICBvblNhdmUoKSB7XHJcbiAgICBpZiAodGhpcy5pc0xvYWRpbmcpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xyXG5cclxuICAgIGlmICghdGhpcy5pc0ltZ01vZGlmaWVkICAmJiAhdGhpcy5pc05hbWVNb2RpZmllZCkge1xyXG4gICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICB0aGlzLm9uRWRpdENsb3NlZCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IG9ic1JlcGxhY2VJbWcgPSB0aGlzLmltZ01hbmFnZXJTZXJ2aWNlLnJlcGxhY2VJbWcodGhpcy5jdXJyZW50Q3JvcHBlZEltYWdlLCB0aGlzLmltZ1RvRWRpdC5pZF9maWxlKTtcclxuICAgIGNvbnN0IG9ic0NoYW5nZUltZ05hbWUgPSB0aGlzLnJlbmFtZVBpY3R1cmVTZXJ2aWNlLmNoYW5nZUltYWdlTmFtZSh0aGlzLmltZ1RvRWRpdC5kaXNwbGF5X25hbWUsIHRoaXMuaW1nVG9FZGl0LmlkX2ZpbGUpO1xyXG5cclxuICAgIGlmKHRoaXMuaXNJbWdNb2RpZmllZCAmJiB0aGlzLmlzTmFtZU1vZGlmaWVkKSB7XHJcbiAgICAgIHRoaXMucmVuYW1lQW5kUmVwbGFjZUltZyhvYnNDaGFuZ2VJbWdOYW1lLCBvYnNSZXBsYWNlSW1nKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmKHRoaXMuaXNJbWdNb2RpZmllZCl7XHJcbiAgICAgIG9ic1JlcGxhY2VJbWcuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiBkYXRhID0+IHtcclxuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMub25FZGl0Q2xvc2VkKHRoaXMubXNnU3VjY2Vzc0VkaXQpO1xyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogZXJyb3IgPT4ge1xyXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50Q3JvcHBlZEltYWdlID0gJyc7XHJcbiAgICAgICAgdGhpcy5vbkVkaXRDbG9zZWQodGhpcy5tc2dGYWlsU2F2ZSk7XHJcbiAgICAgIH19KTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmlzTmFtZU1vZGlmaWVkKSB7XHJcbiAgICAgIG9ic0NoYW5nZUltZ05hbWUuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiBkYXRhID0+IHtcclxuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMucHJldmlvdXNOYW1lID0gdGhpcy5pbWdUb0VkaXQuZGlzcGxheV9uYW1lO1xyXG4gICAgICAgIHRoaXMub25FZGl0Q2xvc2VkKHRoaXMubXNnU3VjY2Vzc0VkaXQpO1xyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogZXJyb3IgPT4ge1xyXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5pbWdUb0VkaXQuZGlzcGxheV9uYW1lID0gdGhpcy5wcmV2aW91c05hbWU7XHJcbiAgICAgICAgdGhpcy5vbkVkaXRDbG9zZWQodGhpcy5tc2dGYWlsU2F2ZSk7XHJcbiAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmlzTmFtZU1vZGlmaWVkID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBvbkVkaXRDbG9zZWQobXNnS2V5Pzogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmVkaXRDbG9zZWQuZW1pdChtc2dLZXkpO1xyXG4gIH1cclxuXHJcbiAgb25SZXN0YXJ0RWRpdCgpIHtcclxuICAgIHRoaXMuaXNJbWdNb2RpZmllZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5pc05hbWVNb2RpZmllZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5pbWdUb0VkaXQuZGlzcGxheV9uYW1lID0gdGhpcy5wcmV2aW91c05hbWU7XHJcbiAgfVxyXG5cclxuICBvbkNhbmNlbCgpIHtcclxuICAgIHRoaXMub25FZGl0Q2xvc2VkKCcnKTtcclxuICB9XHJcblxyXG4gIG9uSW1nQ3JvcHBlZChpbWdCYXNlNjQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5jdXJyZW50Q3JvcHBlZEltYWdlID0gaW1nQmFzZTY0O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZW5hbWVBbmRSZXBsYWNlSW1nKG9ic0NoYW5nZUltZ05hbWU6IE9ic2VydmFibGU8YW55Piwgb2JzUmVwbGFjZUltZzogT2JzZXJ2YWJsZTxhbnk+KSB7XHJcbiAgICAvLyBBdm9pZCB0byB1c2UgZm9ya2pvaW4sIGJlY2F1c2UgaXQgY2FuIGNyZWF0ZSBjb25mbGljdCBhbmQgbG9vc2UgdGhlIGltZ1xyXG4gICAgb2JzQ2hhbmdlSW1nTmFtZS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiByZXMxID0+IHtcclxuICAgICAgICBvYnNSZXBsYWNlSW1nLnN1YnNjcmliZSh7XHJcbiAgICAgICAgICBuZXh0OiByZXMyID0+IHtcclxuICAgICAgICAgICAgdGhpcy5vbkVkaXRDbG9zZWQodGhpcy5tc2dTdWNjZXNzRWRpdCk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZXJyb3I6IGVycm9yID0+IHtcclxuICAgICAgICAgICAgdGhpcy5vbkVkaXRDbG9zZWQodGhpcy5tc2dGYWlsU2F2ZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiBlcnJvciA9PiB7XHJcbiAgICAgICAgdGhpcy5vbkVkaXRDbG9zZWQodGhpcy5tc2dGYWlsU2F2ZSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiaW1nLWVkaXRvclwiIFtAZWFzZUluT3V0XT1cIidpbidcIj5cclxuXHJcbiAgICA8IS0tIEJ1dHRvbiBBY3Rpb24gU2VjdGlvbiAtLT5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiaW1nLWVkaXRvcl9faW5mb1NlY3Rpb25fX2FjdGlvbnNcIj5cclxuICAgICAgPGRpdj5cclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgIGNsYXNzPVwiYnV0dG9uIGltZy1lZGl0b3JfX2luZm9TZWN0aW9uX19hY3Rpb25zX19jYW5jZWxcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cIm9uQ2FuY2VsKClcIlxyXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImlzTG9hZGluZyB8fCAoIWlzSW1nTW9kaWZpZWQgICYmICFpc05hbWVNb2RpZmllZClcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIHt7ICdJbWdNYW5hZ2VyLkltZ0xpYi5jYW5jZWwnIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3M9XCJidXR0b24gZGFuZ2VyIGJ1dHRvbiBpbWctZWRpdG9yX19pbmZvU2VjdGlvbl9fYWN0aW9uc19fc2F2ZVwiXHJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7J2ltZy1lZGl0b3JfX2luZm9TZWN0aW9uX19hY3Rpb25zX19zYXZlLS1kaXNhYmxlJzogaXNMb2FkaW5nfVwiXHJcbiAgICAgICAgICAoY2xpY2spPVwib25TYXZlKClcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIHt7ICdJbWdNYW5hZ2VyLkltZ0VkaXRvci5zYXZlQnRuJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgPHNwYW4gYnRuTG9hZGluZ0FuaW0gKm5nSWY9XCJpc0xvYWRpbmdcIiBjbGFzcz1cImJ0bkxvYWRpbmdBbm5pbWF0aW9uXCI+PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8bmctc2Nyb2xsYmFyXHJcbiAgICAgICAgY2xhc3M9XCJpbWctZWRpdG9yX19zY3JvbGxcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgJ2ltZy1lZGl0b3JfX3Njcm9sbC0tZnVsbCc6IHN0YXRlRGlzcGxheWVkID09PSAnZnVsbCcsXHJcbiAgICAgICAgICAgICdpbWctZWRpdG9yX19zY3JvbGwtLXNtYWxsRGlzcGxheSc6IHN0YXRlRGlzcGxheWVkID09PSAnc21hbGwnLFxyXG4gICAgICAgICAgICAnaW1nLWVkaXRvcl9fc2Nyb2xsLS13aW5kb3cnOiBzdGF0ZURpc3BsYXllZCA9PT0gJ3dpbmRvdydcclxuICAgICAgICB9XCJcclxuICAgID5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2x1bW5zXCI+XHJcbiAgICAgICAgPCEtLSBMZWZ0IHNlY3Rpb24gLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbiBpcy1vbmUtdGhpcmQgaW1nLWVkaXRvcl9faW5mb1NlY3Rpb25cIj5cclxuXHJcbiAgICAgICAgICAgIDxpbmZvLXNlY3Rpb25cclxuICAgICAgICAgICAgICBbaW1nVG9FZGl0XT1cImltZ1RvRWRpdFwiXHJcbiAgICAgICAgICAgICAgWyhpc05hbWVNb2RpZmllZCldPVwiaXNOYW1lTW9kaWZpZWRcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgPC9pbmZvLXNlY3Rpb24+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG5cclxuICAgICAgICA8IS0tIFJpZ2h0IHNlY3Rpb24gLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbiBpbWctZWRpdG9yX19jb250YWluZXJcIj5cclxuICAgICAgICAgICAgPGNyb3BwZXJcclxuICAgICAgICAgICAgICBbaW1nVG9FZGl0XT1cImltZ1RvRWRpdFwiXHJcbiAgICAgICAgICAgICAgWyhpc0ltZ01vZGlmaWVkKV09XCJpc0ltZ01vZGlmaWVkXCJcclxuICAgICAgICAgICAgICAoY3VycmVudENyb3BwZWRJbWFnZUNoYW5nZSk9XCJvbkltZ0Nyb3BwZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgKGVkaXRDbG9zZWQpPVwib25FZGl0Q2xvc2VkKCRldmVudClcIj5cclxuICAgICAgICAgICAgPC9jcm9wcGVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8L25nLXNjcm9sbGJhcj5cclxuPC9kaXY+XHJcbiJdfQ==
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLWVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ei1pbWctbWFuYWdlci9zcmMvbGliL2NvbXBvbmVudHMvaW1nLWVkaXRvci9pbWctZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvY29tcG9uZW50cy9pbWctZWRpdG9yL2ltZy1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFHOUYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQzdFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7Ozs7Ozs7Ozs7QUFTN0UsTUFBTSxPQUFPLGtCQUFrQjtJQW9DN0IsWUFDVSxpQkFBb0MsRUFDcEMsb0JBQTBDO1FBRDFDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQW5CNUMsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFFbkIsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFMUMsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixrQkFBYSxHQUFZLEtBQUssQ0FBQztRQUMvQixtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUNoQyx3QkFBbUIsR0FBVyxFQUFFLENBQUMsQ0FBQywrQ0FBK0M7UUFFakYsdUJBQWtCLEdBQUcsS0FBSyxDQUFDO1FBQzNCLG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBR2pDLGdCQUFXLEdBQVcsa0NBQWtDLENBQUM7UUFDekQsZ0JBQVcsR0FBVyxrQ0FBa0MsQ0FBQztRQUN6RCxtQkFBYyxHQUFXLHlEQUF5RCxDQUFBO0lBSzVFLENBQUM7SUFqQ1AsSUFDSSxXQUFXLENBQUMsS0FBYztRQUM1QixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUUxQixJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUU7WUFDbEIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQztTQUNoQztJQUNILENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQXdCRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQztRQUNoRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUM7SUFDckQsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbEIsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFFdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN4RSxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN2QixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDckI7UUFFRCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzFHLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3hILE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGVBQWUsQ0FDbEUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUN2QixDQUFDO1FBRUYsSUFBRyxJQUFJLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDNUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGdCQUFnQixFQUFFLGFBQWEsQ0FBQyxDQUFDO1lBQzFELE9BQU87U0FDUjtRQUVELElBQUksSUFBSSxDQUFDLGVBQWUsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3ZFLGtCQUFrQixDQUFDLFNBQVMsQ0FBQztnQkFDM0IsSUFBSSxFQUFFLEdBQUcsRUFBRTtvQkFDVCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztvQkFDdkIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDO29CQUNuRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFDekMsQ0FBQztnQkFDRCxLQUFLLEVBQUUsR0FBRyxFQUFFO29CQUNWLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO29CQUN2QixJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUM7b0JBQ25ELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUN0QyxDQUFDO2FBQ0YsQ0FBQyxDQUFDO1lBQ0gsT0FBTztTQUNSO1FBRUQsSUFBRyxJQUFJLENBQUMsYUFBYSxFQUFDO1lBQ3BCLGFBQWEsQ0FBQyxTQUFTLENBQUM7Z0JBQ3RCLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRTtvQkFDYixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztvQkFDdkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7Z0JBQ3pDLENBQUM7Z0JBQ0QsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUFFO29CQUNiLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO29CQUN2QixJQUFJLENBQUMsbUJBQW1CLEdBQUcsRUFBRSxDQUFDO29CQUM5QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDdEMsQ0FBQzthQUFDLENBQUMsQ0FBQztZQUNKLE9BQU87U0FDUjtRQUVELElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN2QixnQkFBZ0IsQ0FBQyxTQUFTLENBQUM7Z0JBQ3pCLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRTtvQkFDYixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztvQkFDdkIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQztvQkFDaEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7Z0JBQ3pDLENBQUM7Z0JBQ0QsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUFFO29CQUNiLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO29CQUN2QixJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO29CQUNoRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDdEMsQ0FBQzthQUNBLENBQUMsQ0FBQztTQUNKO1FBQ0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDOUIsQ0FBQztJQUVELFlBQVksQ0FBQyxNQUFlO1FBQzFCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFDM0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7UUFDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztJQUNsRCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVELFlBQVksQ0FBQyxTQUFpQjtRQUM1QixJQUFJLENBQUMsbUJBQW1CLEdBQUcsU0FBUyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO0lBQzlCLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxnQkFBaUMsRUFBRSxhQUE4QjtRQUMzRiwwRUFBMEU7UUFDMUUsZ0JBQWdCLENBQUMsU0FBUyxDQUFDO1lBQ3pCLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRTtnQkFDWCxhQUFhLENBQUMsU0FBUyxDQUFDO29CQUN0QixJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUU7d0JBQ1gsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7b0JBQ3pDLENBQUM7b0JBQ0QsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUFFO3dCQUNiLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO29CQUN0QyxDQUFDO2lCQUNGLENBQUMsQ0FBQztZQUNMLENBQUM7WUFDRCxLQUFLLEVBQUUsS0FBSyxDQUFDLEVBQUU7Z0JBQ2IsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDdEMsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7OytHQTVKVSxrQkFBa0I7bUdBQWxCLGtCQUFrQiwyTENkL0IsczlGQStFQSw2N0NEckVjO1FBQ1YsU0FBUztLQUNWOzJGQUVVLGtCQUFrQjtrQkFQOUIsU0FBUzsrQkFDRSxZQUFZLGNBRVY7d0JBQ1YsU0FBUztxQkFDVjsySUFLRCxjQUFjO3NCQURiLEtBQUs7Z0JBR04sU0FBUztzQkFEUixLQUFLO2dCQUdGLFdBQVc7c0JBRGQsS0FBSztnQkFlSSxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgQWZ0ZXJWaWV3SW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJbWdQaWN0dXJlRFRPIH0gZnJvbSAnLi4vLi4vZHRvL2ltZy1tYW5hZ2VyLmR0byc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIGZvcmtKb2luIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEltZ01hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaW1nLW1hbmFnZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IGVhc2VJbk91dCB9IGZyb20gJy4uLy4uL2FuaW1hdGlvbnMvZWFzZUluT3V0L2Vhc2UtaW4tb3V0LmFuaW1hdGlvbic7XHJcbmltcG9ydCB7IFJlbmFtZVBpY3R1cmVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcmVuYW1lLXBpY3R1cmUuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2ltZy1lZGl0b3InLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbWctZWRpdG9yLmNvbXBvbmVudC5odG1sJyxcclxuICBhbmltYXRpb25zOiBbXHJcbiAgICBlYXNlSW5PdXRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbWdFZGl0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHN0YXRlRGlzcGxheWVkO1xyXG4gIEBJbnB1dCgpXHJcbiAgaW1nVG9FZGl0OiBJbWdQaWN0dXJlRFRPO1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGlzVmlkZW9FZGl0KHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9pc1ZpZGVvRWRpdCA9IHZhbHVlO1xyXG5cclxuICAgIGlmICh2YWx1ZSA9PT0gdHJ1ZSkge1xyXG4gICAgICB0aGlzLmlzRWRpdG9yTGlua0FjdGl2ZSA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXQgaXNWaWRlb0VkaXQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5faXNWaWRlb0VkaXQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9pc1ZpZGVvRWRpdCA9IGZhbHNlO1xyXG5cclxuICBAT3V0cHV0KCkgZWRpdENsb3NlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgaXNMb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgaXNJbWdNb2RpZmllZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGlzTmFtZU1vZGlmaWVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgY3VycmVudENyb3BwZWRJbWFnZTogc3RyaW5nID0gJyc7IC8vIEltZyBtb2RpZmllZCByZXR1cm4gaW4gYmFzZTY0IGJ5IHRoZSBjcm9wcGVyXHJcbiAgcHJpdmF0ZSBwcmV2aW91c05hbWU6IHN0cmluZztcclxuICBpc0VkaXRvckxpbmtBY3RpdmUgPSBmYWxzZTtcclxuICBpc1ZpZGVvTW9kaWZpZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwcml2YXRlIHByZXZpb3VzVmlkZW9MaW5rOiBzdHJpbmc7XHJcblxyXG4gIG1zZ0ZhaWxTYXZlOiBzdHJpbmcgPSAnSW1nTWFuYWdlci5JbWdFZGl0b3IubXNnRmFpbFNhdmUnO1xyXG4gIG1zZ0ZhaWxMb2FkOiBzdHJpbmcgPSAnSW1nTWFuYWdlci5JbWdFZGl0b3IubXNnRmFpbExvYWQnO1xyXG4gIG1zZ1N1Y2Nlc3NFZGl0OiBzdHJpbmcgPSBcIkxlcyBtb2RpZmljYXRpb25zIGRlIGwnaW1hZ2Ugb250IGJpZW4gw6l0w6kgZW5yZWdpc3Ryw6llcy5cIlxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaW1nTWFuYWdlclNlcnZpY2U6IEltZ01hbmFnZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZW5hbWVQaWN0dXJlU2VydmljZTogUmVuYW1lUGljdHVyZVNlcnZpY2VcclxuICAgICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5wcmV2aW91c05hbWUgPSB0aGlzLmltZ1RvRWRpdC5kaXNwbGF5X25hbWU7XHJcbiAgICB0aGlzLnByZXZpb3VzVmlkZW9MaW5rID0gdGhpcy5pbWdUb0VkaXQudmlkZW9fbGluaztcclxuICB9XHJcblxyXG4gIG9uU2F2ZSgpIHtcclxuICAgIGlmICh0aGlzLmlzTG9hZGluZykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XHJcblxyXG4gICAgaWYgKCF0aGlzLmlzSW1nTW9kaWZpZWQgJiYgIXRoaXMuaXNOYW1lTW9kaWZpZWQgJiYgIXRoaXMuaXNWaWRlb01vZGlmaWVkKSB7XHJcbiAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIHRoaXMub25FZGl0Q2xvc2VkKCk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgb2JzUmVwbGFjZUltZyA9IHRoaXMuaW1nTWFuYWdlclNlcnZpY2UucmVwbGFjZUltZyh0aGlzLmN1cnJlbnRDcm9wcGVkSW1hZ2UsIHRoaXMuaW1nVG9FZGl0LmlkX2ZpbGUpO1xyXG4gICAgY29uc3Qgb2JzQ2hhbmdlSW1nTmFtZSA9IHRoaXMucmVuYW1lUGljdHVyZVNlcnZpY2UuY2hhbmdlSW1hZ2VOYW1lKHRoaXMuaW1nVG9FZGl0LmRpc3BsYXlfbmFtZSwgdGhpcy5pbWdUb0VkaXQuaWRfZmlsZSk7XHJcbiAgICBjb25zdCBvYnNDaGFuZ2VWaWRlb0xpbmsgPSB0aGlzLnJlbmFtZVBpY3R1cmVTZXJ2aWNlLmNoYW5nZVZpZGVvTGluayhcclxuICAgICAgdGhpcy5pbWdUb0VkaXQudmlkZW9fbGluayxcclxuICAgICAgdGhpcy5pbWdUb0VkaXQuaWRfZmlsZVxyXG4gICAgKTtcclxuXHJcbiAgICBpZih0aGlzLmlzSW1nTW9kaWZpZWQgJiYgdGhpcy5pc05hbWVNb2RpZmllZCkge1xyXG4gICAgICB0aGlzLnJlbmFtZUFuZFJlcGxhY2VJbWcob2JzQ2hhbmdlSW1nTmFtZSwgb2JzUmVwbGFjZUltZyk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5pc1ZpZGVvTW9kaWZpZWQgJiYgIXRoaXMuaXNJbWdNb2RpZmllZCAmJiAhdGhpcy5pc05hbWVNb2RpZmllZCkge1xyXG4gICAgICBvYnNDaGFuZ2VWaWRlb0xpbmsuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5wcmV2aW91c1ZpZGVvTGluayA9IHRoaXMuaW1nVG9FZGl0LnZpZGVvX2xpbms7XHJcbiAgICAgICAgICB0aGlzLm9uRWRpdENsb3NlZCh0aGlzLm1zZ1N1Y2Nlc3NFZGl0KTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5pbWdUb0VkaXQudmlkZW9fbGluayA9IHRoaXMucHJldmlvdXNWaWRlb0xpbms7XHJcbiAgICAgICAgICB0aGlzLm9uRWRpdENsb3NlZCh0aGlzLm1zZ0ZhaWxTYXZlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYodGhpcy5pc0ltZ01vZGlmaWVkKXtcclxuICAgICAgb2JzUmVwbGFjZUltZy5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IGRhdGEgPT4ge1xyXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5vbkVkaXRDbG9zZWQodGhpcy5tc2dTdWNjZXNzRWRpdCk7XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiBlcnJvciA9PiB7XHJcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmN1cnJlbnRDcm9wcGVkSW1hZ2UgPSAnJztcclxuICAgICAgICB0aGlzLm9uRWRpdENsb3NlZCh0aGlzLm1zZ0ZhaWxTYXZlKTtcclxuICAgICAgfX0pO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuaXNOYW1lTW9kaWZpZWQpIHtcclxuICAgICAgb2JzQ2hhbmdlSW1nTmFtZS5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IGRhdGEgPT4ge1xyXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5wcmV2aW91c05hbWUgPSB0aGlzLmltZ1RvRWRpdC5kaXNwbGF5X25hbWU7XHJcbiAgICAgICAgdGhpcy5vbkVkaXRDbG9zZWQodGhpcy5tc2dTdWNjZXNzRWRpdCk7XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiBlcnJvciA9PiB7XHJcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmltZ1RvRWRpdC5kaXNwbGF5X25hbWUgPSB0aGlzLnByZXZpb3VzTmFtZTtcclxuICAgICAgICB0aGlzLm9uRWRpdENsb3NlZCh0aGlzLm1zZ0ZhaWxTYXZlKTtcclxuICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHRoaXMuaXNOYW1lTW9kaWZpZWQgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIG9uRWRpdENsb3NlZChtc2dLZXk/OiBzdHJpbmcpIHtcclxuICAgIHRoaXMuZWRpdENsb3NlZC5lbWl0KG1zZ0tleSk7XHJcbiAgfVxyXG5cclxuICBvblJlc3RhcnRFZGl0KCkge1xyXG4gICAgdGhpcy5pc0ltZ01vZGlmaWVkID0gZmFsc2U7XHJcbiAgICB0aGlzLmlzTmFtZU1vZGlmaWVkID0gZmFsc2U7XHJcbiAgICB0aGlzLmltZ1RvRWRpdC5kaXNwbGF5X25hbWUgPSB0aGlzLnByZXZpb3VzTmFtZTtcclxuICB9XHJcblxyXG4gIG9uQ2FuY2VsKCkge1xyXG4gICAgdGhpcy5vbkVkaXRDbG9zZWQoJycpO1xyXG4gIH1cclxuXHJcbiAgb25JbWdDcm9wcGVkKGltZ0Jhc2U2NDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmN1cnJlbnRDcm9wcGVkSW1hZ2UgPSBpbWdCYXNlNjQ7XHJcbiAgfVxyXG5cclxuICBvbkRlbGV0ZVZpZGVvKCkge1xyXG4gICAgdGhpcy5pbWdUb0VkaXQudmlkZW9fbGluayA9IG51bGw7XHJcbiAgICB0aGlzLmlzVmlkZW9Nb2RpZmllZCA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlbmFtZUFuZFJlcGxhY2VJbWcob2JzQ2hhbmdlSW1nTmFtZTogT2JzZXJ2YWJsZTxhbnk+LCBvYnNSZXBsYWNlSW1nOiBPYnNlcnZhYmxlPGFueT4pIHtcclxuICAgIC8vIEF2b2lkIHRvIHVzZSBmb3Jram9pbiwgYmVjYXVzZSBpdCBjYW4gY3JlYXRlIGNvbmZsaWN0IGFuZCBsb29zZSB0aGUgaW1nXHJcbiAgICBvYnNDaGFuZ2VJbWdOYW1lLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IHJlczEgPT4ge1xyXG4gICAgICAgIG9ic1JlcGxhY2VJbWcuc3Vic2NyaWJlKHtcclxuICAgICAgICAgIG5leHQ6IHJlczIgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm9uRWRpdENsb3NlZCh0aGlzLm1zZ1N1Y2Nlc3NFZGl0KTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBlcnJvcjogZXJyb3IgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm9uRWRpdENsb3NlZCh0aGlzLm1zZ0ZhaWxTYXZlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IGVycm9yID0+IHtcclxuICAgICAgICB0aGlzLm9uRWRpdENsb3NlZCh0aGlzLm1zZ0ZhaWxTYXZlKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJpbWctZWRpdG9yXCIgW0BlYXNlSW5PdXRdPVwiJ2luJ1wiPlxyXG5cclxuICAgIDwhLS0gQnV0dG9uIEFjdGlvbiBTZWN0aW9uIC0tPlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJpbWctZWRpdG9yX19pbmZvU2VjdGlvbl9fYWN0aW9uc1wiPlxyXG4gICAgICA8ZGl2PlxyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgY2xhc3M9XCJidXR0b24gaW1nLWVkaXRvcl9faW5mb1NlY3Rpb25fX2FjdGlvbnNfX2NhbmNlbFwiXHJcbiAgICAgICAgICAoY2xpY2spPVwib25DYW5jZWwoKVwiXHJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNMb2FkaW5nIHx8ICghaXNJbWdNb2RpZmllZCAgJiYgIWlzTmFtZU1vZGlmaWVkKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAge3sgJ0ltZ01hbmFnZXIuSW1nTGliLmNhbmNlbCcgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzcz1cImJ1dHRvbiBkYW5nZXIgYnV0dG9uIGltZy1lZGl0b3JfX2luZm9TZWN0aW9uX19hY3Rpb25zX19zYXZlXCJcclxuICAgICAgICAgIFtuZ0NsYXNzXT1cInsnaW1nLWVkaXRvcl9faW5mb1NlY3Rpb25fX2FjdGlvbnNfX3NhdmUtLWRpc2FibGUnOiBpc0xvYWRpbmd9XCJcclxuICAgICAgICAgIChjbGljayk9XCJvblNhdmUoKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAge3sgJ0ltZ01hbmFnZXIuSW1nRWRpdG9yLnNhdmVCdG4nIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICA8c3BhbiBidG5Mb2FkaW5nQW5pbSAqbmdJZj1cImlzTG9hZGluZ1wiIGNsYXNzPVwiYnRuTG9hZGluZ0FubmltYXRpb25cIj48L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxuZy1zY3JvbGxiYXJcclxuICAgICAgICBjbGFzcz1cImltZy1lZGl0b3JfX3Njcm9sbFwiXHJcbiAgICAgICAgc3R5bGU9XCJtaW4taGVpZ2h0OiA1MDBweFwiXHJcbiAgICAgICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgICAnaW1nLWVkaXRvcl9fc2Nyb2xsLS1mdWxsJzogc3RhdGVEaXNwbGF5ZWQgPT09ICdmdWxsJyxcclxuICAgICAgICAgICAgJ2ltZy1lZGl0b3JfX3Njcm9sbC0tc21hbGxEaXNwbGF5Jzogc3RhdGVEaXNwbGF5ZWQgPT09ICdzbWFsbCcsXHJcbiAgICAgICAgICAgICdpbWctZWRpdG9yX19zY3JvbGwtLXdpbmRvdyc6IHN0YXRlRGlzcGxheWVkID09PSAnd2luZG93J1xyXG4gICAgICAgIH1cIlxyXG4gICAgPlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2x1bW5zXCI+XHJcbiAgICAgICAgPCEtLSBMZWZ0IHNlY3Rpb24gLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbiBpcy1vbmUtdGhpcmQgaW1nLWVkaXRvcl9faW5mb1NlY3Rpb25cIj5cclxuXHJcbiAgICAgICAgICA8dWwgY2xhc3M9XCJpbWctZWRpdG9yVmlkZW9fX3RhYnNcIj5cclxuICAgICAgICAgICAgPGxpIFtuZ0NsYXNzXT1cInsnYWN0aXZlJzogIWlzRWRpdG9yTGlua0FjdGl2ZX1cIj48c3BhbiAoY2xpY2spPVwiaXNFZGl0b3JMaW5rQWN0aXZlID0gIWlzRWRpdG9yTGlua0FjdGl2ZVwiPkluZm9ybWF0aW9uczwvc3Bhbj48L2xpPlxyXG4gICAgICAgICAgICA8bGkgW25nQ2xhc3NdPVwieydhY3RpdmUnOiBpc0VkaXRvckxpbmtBY3RpdmV9XCI+PHNwYW4gKGNsaWNrKT1cImlzRWRpdG9yTGlua0FjdGl2ZSA9ICFpc0VkaXRvckxpbmtBY3RpdmVcIj5Bc3NvY2llciB1bmUgdmlkw6lvPC9zcGFuPjwvbGk+XHJcbiAgICAgICAgICA8L3VsPlxyXG5cclxuICAgICAgICAgICAgPGluZm8tc2VjdGlvblxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiIWlzRWRpdG9yTGlua0FjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgW2ltZ1RvRWRpdF09XCJpbWdUb0VkaXRcIlxyXG4gICAgICAgICAgICAgIFsoaXNOYW1lTW9kaWZpZWQpXT1cImlzTmFtZU1vZGlmaWVkXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDwvaW5mby1zZWN0aW9uPlxyXG4gICAgICAgICAgIDxpbmZvLXZpZGVvXHJcbiAgICAgICAgICAgICAqbmdJZj1cImlzRWRpdG9yTGlua0FjdGl2ZVwiXHJcbiAgICAgICAgICAgICBbKHZpZGVvTGluayldPVwiaW1nVG9FZGl0LnZpZGVvX2xpbmtcIlxyXG4gICAgICAgICAgICAgWyhpc1ZpZGVvTW9kaWZpZWQpXT1cImlzVmlkZW9Nb2RpZmllZFwiXHJcbiAgICAgICAgICAgICAoZGVsZXRlVmlkZW8pPVwib25EZWxldGVWaWRlbygpXCI+XHJcbiAgICAgICAgICAgPC9pbmZvLXZpZGVvPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICAgICAgPCEtLSBSaWdodCBzZWN0aW9uIC0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW4gaW1nLWVkaXRvcl9fY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgIDxjcm9wcGVyXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCIhaXNFZGl0b3JMaW5rQWN0aXZlXCJcclxuICAgICAgICAgICAgICBbaW1nVG9FZGl0XT1cImltZ1RvRWRpdFwiXHJcbiAgICAgICAgICAgICAgWyhpc0ltZ01vZGlmaWVkKV09XCJpc0ltZ01vZGlmaWVkXCJcclxuICAgICAgICAgICAgICAoY3VycmVudENyb3BwZWRJbWFnZUNoYW5nZSk9XCJvbkltZ0Nyb3BwZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgKGVkaXRDbG9zZWQpPVwib25FZGl0Q2xvc2VkKCRldmVudClcIj5cclxuICAgICAgICAgICAgPC9jcm9wcGVyPlxyXG4gICAgICAgICAgPHNob3ctaWZyYW1lXHJcbiAgICAgICAgICAgIHN0eWxlPVwiZGlzcGxheTogYmxvY2s7d2lkdGg6IDEwMCVcIlxyXG4gICAgICAgICAgICBbdmlkZW9MaW5rXT1cImltZ1RvRWRpdC52aWRlb19saW5rXCJcclxuICAgICAgICAgICAgKm5nSWY9XCJpc0VkaXRvckxpbmtBY3RpdmVcIj5cclxuXHJcbiAgICAgICAgICA8L3Nob3ctaWZyYW1lPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8L25nLXNjcm9sbGJhcj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -0,0 +1,62 @@
1
+ import { Component, Input, Output, EventEmitter } from '@angular/core';
2
+ import { VideoInfoService } from "../../../services/video-info.service";
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../../services/video-info.service";
5
+ import * as i2 from "@angular/common";
6
+ import * as i3 from "@angular/forms";
7
+ import * as i4 from "@ngx-translate/core";
8
+ export class EditorInfoVideoComponent {
9
+ constructor(videoInfoService) {
10
+ this.videoInfoService = videoInfoService;
11
+ this.videoLink = '';
12
+ this.videoLinkChange = new EventEmitter();
13
+ this.isVideoModified = false;
14
+ this.isVideoModifiedChange = new EventEmitter();
15
+ this.deleteVideo = new EventEmitter();
16
+ this.videoDuration = '';
17
+ this.videoPublishDate = '';
18
+ }
19
+ ngOnInit() {
20
+ this.loadVideoInfos();
21
+ }
22
+ onVideoLinkChange(value) {
23
+ this.videoLink = value;
24
+ this.videoLinkChange.emit(value);
25
+ this.isVideoModifiedChange.emit(true);
26
+ this.loadVideoInfos();
27
+ }
28
+ loadVideoInfos() {
29
+ const obs = this.videoInfoService.getVideoInfo(this.videoLink);
30
+ if (!obs) {
31
+ this.videoDuration = '';
32
+ this.videoPublishDate = '';
33
+ return;
34
+ }
35
+ obs.subscribe(data => {
36
+ if (!data)
37
+ return;
38
+ this.videoDuration = data.duration;
39
+ this.videoPublishDate = data.publishDate;
40
+ });
41
+ }
42
+ onDelete() {
43
+ this.deleteVideo.emit();
44
+ }
45
+ }
46
+ EditorInfoVideoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: EditorInfoVideoComponent, deps: [{ token: i1.VideoInfoService }], target: i0.ɵɵFactoryTarget.Component });
47
+ EditorInfoVideoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: EditorInfoVideoComponent, selector: "info-video", inputs: { videoLink: "videoLink", isVideoModified: "isVideoModified" }, outputs: { videoLinkChange: "videoLinkChange", isVideoModifiedChange: "isVideoModifiedChange", deleteVideo: "deleteVideo" }, ngImport: i0, template: "<div class=\"info-video\">\r\n <div class=\"info-video__wrapper\">\r\n\r\n <div class=\"info-video__wrapper__top\">\r\n <label for=\"input-video\">\r\n {{ 'ImgManager.ImgEditor.UrlVideo' | translate }}\r\n <i class=\"fa-solid fa-circle-info\"></i>\r\n </label>\r\n\r\n <input\r\n type=\"text\"\r\n id=\"input-video\"\r\n [ngModel]=\"videoLink\"\r\n (ngModelChange)=\"onVideoLinkChange($event)\"\r\n />\r\n\r\n <span>{{ 'ImgManager.ImgEditor.tooltipsIframe' | translate }}</span>\r\n </div>\r\n\r\n <a *ngIf=\"videoLink\" (click)=\"onDelete()\">{{ 'ImgManager.ImgEditor.deleteVideo' | translate }}</a>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] });
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: EditorInfoVideoComponent, decorators: [{
49
+ type: Component,
50
+ args: [{ selector: 'info-video', template: "<div class=\"info-video\">\r\n <div class=\"info-video__wrapper\">\r\n\r\n <div class=\"info-video__wrapper__top\">\r\n <label for=\"input-video\">\r\n {{ 'ImgManager.ImgEditor.UrlVideo' | translate }}\r\n <i class=\"fa-solid fa-circle-info\"></i>\r\n </label>\r\n\r\n <input\r\n type=\"text\"\r\n id=\"input-video\"\r\n [ngModel]=\"videoLink\"\r\n (ngModelChange)=\"onVideoLinkChange($event)\"\r\n />\r\n\r\n <span>{{ 'ImgManager.ImgEditor.tooltipsIframe' | translate }}</span>\r\n </div>\r\n\r\n <a *ngIf=\"videoLink\" (click)=\"onDelete()\">{{ 'ImgManager.ImgEditor.deleteVideo' | translate }}</a>\r\n </div>\r\n</div>\r\n" }]
51
+ }], ctorParameters: function () { return [{ type: i1.VideoInfoService }]; }, propDecorators: { videoLink: [{
52
+ type: Input
53
+ }], videoLinkChange: [{
54
+ type: Output
55
+ }], isVideoModified: [{
56
+ type: Input
57
+ }], isVideoModifiedChange: [{
58
+ type: Output
59
+ }], deleteVideo: [{
60
+ type: Output
61
+ }] } });
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mby12aWRlby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ei1pbWctbWFuYWdlci9zcmMvbGliL2NvbXBvbmVudHMvaW1nLWVkaXRvci9pbmZvLXZpZGVvL2luZm8tdmlkZW8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9jb21wb25lbnRzL2ltZy1lZGl0b3IvaW5mby12aWRlby9pbmZvLXZpZGVvLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sc0NBQXNDLENBQUM7Ozs7OztBQU10RSxNQUFNLE9BQU8sd0JBQXdCO0lBYW5DLFlBQW9CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBWDdDLGNBQVMsR0FBVyxFQUFFLENBQUM7UUFDdEIsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRTlDLG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBQ2hDLDBCQUFxQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFFcEQsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRWpELGtCQUFhLEdBQVcsRUFBRSxDQUFDO1FBQzNCLHFCQUFnQixHQUFXLEVBQUUsQ0FBQztJQUUyQixDQUFDO0lBRTFELFFBQVE7UUFDTixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEtBQWE7UUFDN0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFFdkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV0QyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELGNBQWM7UUFDWixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1IsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztZQUMzQixPQUFPO1NBQ1I7UUFFRCxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ25CLElBQUksQ0FBQyxJQUFJO2dCQUFFLE9BQU87WUFDbEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQ25DLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQzNDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzFCLENBQUM7O3FIQTdDVSx3QkFBd0I7eUdBQXhCLHdCQUF3Qix1UENQckMsaXNCQXNCQTsyRkRmYSx3QkFBd0I7a0JBSnBDLFNBQVM7K0JBQ0UsWUFBWTt1R0FLYixTQUFTO3NCQUFqQixLQUFLO2dCQUNJLGVBQWU7c0JBQXhCLE1BQU07Z0JBRUUsZUFBZTtzQkFBdkIsS0FBSztnQkFDSSxxQkFBcUI7c0JBQTlCLE1BQU07Z0JBRUcsV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtWaWRlb0luZm9TZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZXMvdmlkZW8taW5mby5zZXJ2aWNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2luZm8tdmlkZW8nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbmZvLXZpZGVvLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRWRpdG9ySW5mb1ZpZGVvQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQElucHV0KCkgdmlkZW9MaW5rOiBzdHJpbmcgPSAnJztcclxuICBAT3V0cHV0KCkgdmlkZW9MaW5rQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIEBJbnB1dCgpIGlzVmlkZW9Nb2RpZmllZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBPdXRwdXQoKSBpc1ZpZGVvTW9kaWZpZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gIEBPdXRwdXQoKSBkZWxldGVWaWRlbyA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgdmlkZW9EdXJhdGlvbjogc3RyaW5nID0gJyc7XHJcbiAgdmlkZW9QdWJsaXNoRGF0ZTogc3RyaW5nID0gJyc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdmlkZW9JbmZvU2VydmljZTogVmlkZW9JbmZvU2VydmljZSkge31cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmxvYWRWaWRlb0luZm9zKCk7XHJcbiAgfVxyXG5cclxuICBvblZpZGVvTGlua0NoYW5nZSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnZpZGVvTGluayA9IHZhbHVlO1xyXG5cclxuICAgIHRoaXMudmlkZW9MaW5rQ2hhbmdlLmVtaXQodmFsdWUpO1xyXG4gICAgdGhpcy5pc1ZpZGVvTW9kaWZpZWRDaGFuZ2UuZW1pdCh0cnVlKTtcclxuXHJcbiAgICB0aGlzLmxvYWRWaWRlb0luZm9zKCk7XHJcbiAgfVxyXG5cclxuICBsb2FkVmlkZW9JbmZvcygpIHtcclxuICAgIGNvbnN0IG9icyA9IHRoaXMudmlkZW9JbmZvU2VydmljZS5nZXRWaWRlb0luZm8odGhpcy52aWRlb0xpbmspO1xyXG4gICAgaWYgKCFvYnMpIHtcclxuICAgICAgdGhpcy52aWRlb0R1cmF0aW9uID0gJyc7XHJcbiAgICAgIHRoaXMudmlkZW9QdWJsaXNoRGF0ZSA9ICcnO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgb2JzLnN1YnNjcmliZShkYXRhID0+IHtcclxuICAgICAgaWYgKCFkYXRhKSByZXR1cm47XHJcbiAgICAgIHRoaXMudmlkZW9EdXJhdGlvbiA9IGRhdGEuZHVyYXRpb247XHJcbiAgICAgIHRoaXMudmlkZW9QdWJsaXNoRGF0ZSA9IGRhdGEucHVibGlzaERhdGU7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uRGVsZXRlKCkge1xyXG4gICAgdGhpcy5kZWxldGVWaWRlby5lbWl0KCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJpbmZvLXZpZGVvXCI+XHJcbiAgPGRpdiBjbGFzcz1cImluZm8tdmlkZW9fX3dyYXBwZXJcIj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiaW5mby12aWRlb19fd3JhcHBlcl9fdG9wXCI+XHJcbiAgICAgIDxsYWJlbCBmb3I9XCJpbnB1dC12aWRlb1wiPlxyXG4gICAgICAgIHt7ICdJbWdNYW5hZ2VyLkltZ0VkaXRvci5VcmxWaWRlbycgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICA8aSBjbGFzcz1cImZhLXNvbGlkIGZhLWNpcmNsZS1pbmZvXCI+PC9pPlxyXG4gICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgPGlucHV0XHJcbiAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgIGlkPVwiaW5wdXQtdmlkZW9cIlxyXG4gICAgICAgIFtuZ01vZGVsXT1cInZpZGVvTGlua1wiXHJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25WaWRlb0xpbmtDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgIC8+XHJcblxyXG4gICAgICA8c3Bhbj57eyAnSW1nTWFuYWdlci5JbWdFZGl0b3IudG9vbHRpcHNJZnJhbWUnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGEgKm5nSWY9XCJ2aWRlb0xpbmtcIiAoY2xpY2spPVwib25EZWxldGUoKVwiPnt7ICdJbWdNYW5hZ2VyLkltZ0VkaXRvci5kZWxldGVWaWRlbycgfCB0cmFuc2xhdGUgfX08L2E+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -0,0 +1,54 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { DomSanitizer } from '@angular/platform-browser';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/platform-browser";
5
+ import * as i2 from "@angular/common";
6
+ import * as i3 from "@ngx-translate/core";
7
+ export class EditorShowIframeComponent {
8
+ constructor(sanitizer) {
9
+ this.sanitizer = sanitizer;
10
+ this.videoLink = '';
11
+ this.safeUrl = null;
12
+ }
13
+ ngOnChanges() {
14
+ this.safeUrl = this.buildSafeIframeUrl(this.videoLink);
15
+ }
16
+ buildSafeIframeUrl(url) {
17
+ if (!url)
18
+ return null;
19
+ if (url.includes('youtube.com') || url.includes('youtu.be')) {
20
+ const videoId = this.extractYoutubeId(url);
21
+ if (!videoId)
22
+ return null;
23
+ const embed = `https://www.youtube.com/embed/${videoId}`;
24
+ return this.sanitizer.bypassSecurityTrustResourceUrl(embed);
25
+ }
26
+ if (url.includes('vimeo.com')) {
27
+ const videoId = this.extractVimeoId(url);
28
+ if (!videoId)
29
+ return null;
30
+ const embed = `https://player.vimeo.com/video/${videoId}`;
31
+ return this.sanitizer.bypassSecurityTrustResourceUrl(embed);
32
+ }
33
+ return null;
34
+ }
35
+ extractYoutubeId(url) {
36
+ const regExp = /^.*(youtu.be\/|v=|embed\/)([^#\&\?]*).*/;
37
+ const match = url.match(regExp);
38
+ return match && match[2].length > 0 ? match[2] : null;
39
+ }
40
+ extractVimeoId(url) {
41
+ const regExp = /vimeo\.com\/(?:video\/)?(\d+)/;
42
+ const match = url.match(regExp);
43
+ return match ? match[1] : null;
44
+ }
45
+ }
46
+ EditorShowIframeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: EditorShowIframeComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
47
+ EditorShowIframeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: EditorShowIframeComponent, selector: "show-iframe", inputs: { videoLink: "videoLink" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"show-iframe\" *ngIf=\"safeUrl\">\r\n <iframe\r\n width=\"100%\"\r\n [src]=\"safeUrl\"\r\n frameborder=\"0\"\r\n allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\"\r\n allowfullscreen>\r\n </iframe>\r\n</div>\r\n\r\n<div class=\"show-iframe__none\" *ngIf=\"!safeUrl\">\r\n <p>{{ 'ImgManager.ImgEditor.NoVideo' | translate }}</p>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] });
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: EditorShowIframeComponent, decorators: [{
49
+ type: Component,
50
+ args: [{ selector: 'show-iframe', template: "<div class=\"show-iframe\" *ngIf=\"safeUrl\">\r\n <iframe\r\n width=\"100%\"\r\n [src]=\"safeUrl\"\r\n frameborder=\"0\"\r\n allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\"\r\n allowfullscreen>\r\n </iframe>\r\n</div>\r\n\r\n<div class=\"show-iframe__none\" *ngIf=\"!safeUrl\">\r\n <p>{{ 'ImgManager.ImgEditor.NoVideo' | translate }}</p>\r\n</div>\r\n" }]
51
+ }], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; }, propDecorators: { videoLink: [{
52
+ type: Input
53
+ }] } });
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvdy1pZnJhbWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9jb21wb25lbnRzL2ltZy1lZGl0b3Ivc2hvdy1pZnJhbWUvc2hvdy1pZnJhbWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9jb21wb25lbnRzL2ltZy1lZGl0b3Ivc2hvdy1pZnJhbWUvc2hvdy1pZnJhbWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBbUIsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7QUFNMUUsTUFBTSxPQUFPLHlCQUF5QjtJQUtwQyxZQUFvQixTQUF1QjtRQUF2QixjQUFTLEdBQVQsU0FBUyxDQUFjO1FBSGxDLGNBQVMsR0FBVyxFQUFFLENBQUM7UUFDaEMsWUFBTyxHQUEyQixJQUFJLENBQUM7SUFFTyxDQUFDO0lBRS9DLFdBQVc7UUFDVCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVPLGtCQUFrQixDQUFDLEdBQVc7UUFDcEMsSUFBSSxDQUFDLEdBQUc7WUFBRSxPQUFPLElBQUksQ0FBQztRQUV0QixJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUMzRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDM0MsSUFBSSxDQUFDLE9BQU87Z0JBQUUsT0FBTyxJQUFJLENBQUM7WUFFMUIsTUFBTSxLQUFLLEdBQUcsaUNBQWlDLE9BQU8sRUFBRSxDQUFDO1lBQ3pELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyw4QkFBOEIsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUM3RDtRQUVELElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUM3QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3pDLElBQUksQ0FBQyxPQUFPO2dCQUFFLE9BQU8sSUFBSSxDQUFDO1lBRTFCLE1BQU0sS0FBSyxHQUFHLGtDQUFrQyxPQUFPLEVBQUUsQ0FBQztZQUMxRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsOEJBQThCLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDN0Q7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxHQUFXO1FBQ2xDLE1BQU0sTUFBTSxHQUFHLHlDQUF5QyxDQUFDO1FBQ3pELE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEMsT0FBTyxLQUFLLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3hELENBQUM7SUFFTyxjQUFjLENBQUMsR0FBVztRQUNoQyxNQUFNLE1BQU0sR0FBRywrQkFBK0IsQ0FBQztRQUMvQyxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hDLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNqQyxDQUFDOztzSEEzQ1UseUJBQXlCOzBHQUF6Qix5QkFBeUIsNEdDUHRDLGliQWFBOzJGRE5hLHlCQUF5QjtrQkFKckMsU0FBUzsrQkFDRSxhQUFhO21HQUtkLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlUmVzb3VyY2VVcmwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2hvdy1pZnJhbWUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zaG93LWlmcmFtZS5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEVkaXRvclNob3dJZnJhbWVDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG5cclxuICBASW5wdXQoKSB2aWRlb0xpbms6IHN0cmluZyA9ICcnO1xyXG4gIHNhZmVVcmw6IFNhZmVSZXNvdXJjZVVybCB8IG51bGwgPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyKSB7fVxyXG5cclxuICBuZ09uQ2hhbmdlcygpIHtcclxuICAgIHRoaXMuc2FmZVVybCA9IHRoaXMuYnVpbGRTYWZlSWZyYW1lVXJsKHRoaXMudmlkZW9MaW5rKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGRTYWZlSWZyYW1lVXJsKHVybDogc3RyaW5nKTogU2FmZVJlc291cmNlVXJsIHwgbnVsbCB7XHJcbiAgICBpZiAoIXVybCkgcmV0dXJuIG51bGw7XHJcblxyXG4gICAgaWYgKHVybC5pbmNsdWRlcygneW91dHViZS5jb20nKSB8fCB1cmwuaW5jbHVkZXMoJ3lvdXR1LmJlJykpIHtcclxuICAgICAgY29uc3QgdmlkZW9JZCA9IHRoaXMuZXh0cmFjdFlvdXR1YmVJZCh1cmwpO1xyXG4gICAgICBpZiAoIXZpZGVvSWQpIHJldHVybiBudWxsO1xyXG5cclxuICAgICAgY29uc3QgZW1iZWQgPSBgaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvJHt2aWRlb0lkfWA7XHJcbiAgICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwoZW1iZWQpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh1cmwuaW5jbHVkZXMoJ3ZpbWVvLmNvbScpKSB7XHJcbiAgICAgIGNvbnN0IHZpZGVvSWQgPSB0aGlzLmV4dHJhY3RWaW1lb0lkKHVybCk7XHJcbiAgICAgIGlmICghdmlkZW9JZCkgcmV0dXJuIG51bGw7XHJcblxyXG4gICAgICBjb25zdCBlbWJlZCA9IGBodHRwczovL3BsYXllci52aW1lby5jb20vdmlkZW8vJHt2aWRlb0lkfWA7XHJcbiAgICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwoZW1iZWQpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBleHRyYWN0WW91dHViZUlkKHVybDogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICBjb25zdCByZWdFeHAgPSAvXi4qKHlvdXR1LmJlXFwvfHY9fGVtYmVkXFwvKShbXiNcXCZcXD9dKikuKi87XHJcbiAgICBjb25zdCBtYXRjaCA9IHVybC5tYXRjaChyZWdFeHApO1xyXG4gICAgcmV0dXJuIG1hdGNoICYmIG1hdGNoWzJdLmxlbmd0aCA+IDAgPyBtYXRjaFsyXSA6IG51bGw7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGV4dHJhY3RWaW1lb0lkKHVybDogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICBjb25zdCByZWdFeHAgPSAvdmltZW9cXC5jb21cXC8oPzp2aWRlb1xcLyk/KFxcZCspLztcclxuICAgIGNvbnN0IG1hdGNoID0gdXJsLm1hdGNoKHJlZ0V4cCk7XHJcbiAgICByZXR1cm4gbWF0Y2ggPyBtYXRjaFsxXSA6IG51bGw7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJzaG93LWlmcmFtZVwiICpuZ0lmPVwic2FmZVVybFwiPlxyXG4gIDxpZnJhbWVcclxuICAgIHdpZHRoPVwiMTAwJVwiXHJcbiAgICBbc3JjXT1cInNhZmVVcmxcIlxyXG4gICAgZnJhbWVib3JkZXI9XCIwXCJcclxuICAgIGFsbG93PVwiYWNjZWxlcm9tZXRlcjsgYXV0b3BsYXk7IGNsaXBib2FyZC13cml0ZTsgZW5jcnlwdGVkLW1lZGlhOyBneXJvc2NvcGU7IHBpY3R1cmUtaW4tcGljdHVyZTsgd2ViLXNoYXJlXCJcclxuICAgIGFsbG93ZnVsbHNjcmVlbj5cclxuICA8L2lmcmFtZT5cclxuPC9kaXY+XHJcblxyXG48ZGl2IGNsYXNzPVwic2hvdy1pZnJhbWVfX25vbmVcIiAqbmdJZj1cIiFzYWZlVXJsXCI+XHJcbiAgPHA+e3sgJ0ltZ01hbmFnZXIuSW1nRWRpdG9yLk5vVmlkZW8nIHwgdHJhbnNsYXRlIH19PC9wPlxyXG48L2Rpdj5cclxuIl19
@@ -56,6 +56,7 @@ export class ImgTabsComponent {
56
56
  tabs: string[] = ['img-upload', 'images-view', 'pexels-lib', 'img-edition']; */
57
57
  this.editTab = false;
58
58
  this.imgUpload = false;
59
+ this.isVideoEdit = false;
59
60
  this.snackBarNewVersionConfig = {
60
61
  message: '',
61
62
  duration: 3000
@@ -66,6 +67,14 @@ export class ImgTabsComponent {
66
67
  this.tabActive = this.tabs[3];
67
68
  this.imgToEdit = imgToEdit;
68
69
  this.editTab = true;
70
+ this.isVideoEdit = false;
71
+ this.currentTab.emit(this.tabs[3]);
72
+ });
73
+ this.imgEventEditService.getImgToVideoEventListener().subscribe(imgToEdit => {
74
+ this.tabActive = this.tabs[3];
75
+ this.imgToEdit = imgToEdit;
76
+ this.editTab = true;
77
+ this.isVideoEdit = true;
69
78
  this.currentTab.emit(this.tabs[3]);
70
79
  });
71
80
  }
@@ -99,10 +108,10 @@ export class ImgTabsComponent {
99
108
  }
100
109
  }
101
110
  ImgTabsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ImgTabsComponent, deps: [{ token: i1.ImgEventService }, { token: i2.AlertService }, { token: i3.Router }], target: i0.ɵɵFactoryTarget.Component });
102
- ImgTabsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ImgTabsComponent, selector: "img-tabs", inputs: { multipleImgMode: "multipleImgMode", stateDisplayed: "stateDisplayed", listDisplayed: "listDisplayed" }, outputs: { imgManagerClosed: "imgManagerClosed", currentTab: "currentTab", switchDisplayWindow: "switchDisplayWindow" }, viewQueries: [{ propertyName: "imgUploadedComponent", first: true, predicate: ["imgUploadedImg"], descendants: true }], ngImport: i0, template: "<div\r\n class=\"img-tabs\" [ngClass]=\"{'small': stateDisplayed === 'small'}\">\r\n <div class=\"wrapper-tabs\">\r\n <div\r\n class=\"tabs\"\r\n [ngClass]=\"\r\n {\r\n 'tabs--notWindow': stateDisplayed !== 'window',\r\n 'tabs--notDisplayed': stateDisplayed === 'window' && tabActive.value === tabs[3].value\r\n }\">\r\n\r\n <ul>\r\n <li class=\"is-active\" [ngClass]=\"{'is-active': tabActive.value === tabs[0].value}\" (click)=\"toggleTabs(tabs[0])\"><a>{{ tabs[0].name | translate }}</a></li>\r\n <li [ngClass]=\"{'is-active': tabActive.value === tabs[1].value}\" (click)=\"toggleTabs(tabs[1])\"><a>{{ tabs[1].name | translate }}</a></li>\r\n <li [ngClass]=\"{'is-active': tabActive.value === tabs[2].value}\" (click)=\"toggleTabs(tabs[2])\"><a>{{ tabs[2].name | translate }}</a></li>\r\n <li [ngClass]=\"{'is-active': tabActive.value === tabs[3].value}\" *ngIf=\"editTab\"><a>{{ tabs[3].name | translate }}</a></li>\r\n </ul>\r\n <div\r\n class=\"img-tabs__canva\"\r\n [ngClass]=\"{'img-tabs__canva--window': stateDisplayed === 'window'}\">\r\n <canva-btn\r\n (showImgUploaded)=\"onShowImgUploaded()\"\r\n [stateDisplayed]=\"stateDisplayed\">\r\n </canva-btn>\r\n </div>\r\n </div>\r\n <div class=\"select-mobile-page\">\r\n <wac-select\r\n [(ngModel)]=\"tabActive\"\r\n name=\"tabs\"\r\n [items]=\"tabs\"\r\n ></wac-select>\r\n </div>\r\n </div>\r\n\r\n <!-- Upload section -->\r\n <div\r\n class=\"columns img-tabs__tabsFirst\"\r\n [ngClass]=\"{\r\n 'img-tabs__tabsFirst--small': stateDisplayed === 'small',\r\n 'img-tabs__tabsFirst--window': stateDisplayed === 'window'\r\n }\"\r\n *ngIf=\"tabActive.value === tabs[0].value\">\r\n <div class=\"column img-tabs__tabsFirst__upload\">\r\n <img-upload\r\n [stateDisplayed]=\"stateDisplayed\"\r\n (imgUploaded)=\"onImgUploaded($event)\"\r\n ></img-upload>\r\n </div>\r\n <div class=\"column img-tabs__tabsFirst__list\" [ngClass]=\"{\r\n 'img-tabs__tabsFirst__list--upload': imgUpload\r\n }\">\r\n <images-view\r\n *ngIf=\"!imgUpload\"\r\n [stateDisplayed]=\"stateDisplayed\"\r\n [listDisplayed]=\"false\"\r\n [multipleImgMode]=\"multipleImgMode\"\r\n [tabDisplayed]=\"tabActive.value\"\r\n [nbRowToShow]=\"2\"\r\n (switchDisplayWindow)=\"switchDisplayWindowImgView()\"\r\n [fullSize]=\"false\">\r\n </images-view>\r\n\r\n\r\n <div [hidden]=\"!imgUpload\">\r\n <upload-list\r\n #imgUploadedImg\r\n [stateDisplayed]=\"stateDisplayed\"\r\n [tabDisplayed]=\"tabActive.value\"\r\n [multipleImgMode]=\"multipleImgMode\"\r\n (switchDisplayWindow)=\"switchDisplayWindowImgView()\"\r\n >\r\n </upload-list>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Images section -->\r\n <div class=\"columns img-tabs__tabsSecond\" *ngIf=\"tabActive.value === tabs[1].value\">\r\n <div class=\"column\">\r\n\r\n <images-view\r\n [stateDisplayed]=\"stateDisplayed\"\r\n [listDisplayed]=\"listDisplayed\"\r\n [multipleImgMode]=\"multipleImgMode\"\r\n [tabDisplayed]=\"tabActive.value\"\r\n (switchDisplayWindow)=\"switchDisplayWindowImgView()\"\r\n [fullSize]=\"true\">\r\n </images-view>\r\n\r\n </div>\r\n </div>\r\n\r\n <!-- Pexels img section -->\r\n <div class=\"columns img-tabs__tabsThird\" *ngIf=\"tabActive.value === tabs[2].value\">\r\n <div class=\"column\">\r\n <pexels-lib\r\n [stateDisplayed]=\"stateDisplayed\"\r\n (showImgUploaded)=\"onShowImgUploaded()\">\r\n </pexels-lib>\r\n </div>\r\n </div>\r\n\r\n <!--Edition section -->\r\n <div class=\"columns img-tabs__tabsEdit\" *ngIf=\"tabActive.value === tabs[3].value\">\r\n <div class=\"column\">\r\n <img-editor\r\n [stateDisplayed]=\"stateDisplayed\"\r\n [imgToEdit]=\"imgToEdit\"\r\n (editClosed)=\"onEditClosed($event)\">\r\n </img-editor>\r\n </div>\r\n </div>\r\n\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.ImgUploadComponent, selector: "img-upload", inputs: ["stateDisplayed"], outputs: ["imgUploaded"] }, { kind: "component", type: i7.PexelLibComponent, selector: "pexels-lib", inputs: ["stateDisplayed", "searchValue", "disableSearch"] }, { kind: "component", type: i8.UploadListComponent, selector: "upload-list", inputs: ["stateDisplayed", "tabDisplayed", "multipleImgMode"], outputs: ["switchDisplayWindow"] }, { kind: "component", type: i9.ImgEditorComponent, selector: "img-editor", inputs: ["stateDisplayed", "imgToEdit"], outputs: ["editClosed"] }, { kind: "component", type: i10.CanvaBtnComponent, selector: "canva-btn", inputs: ["stateDisplayed"], outputs: ["showImgUploaded"] }, { kind: "component", type: i11.ImagesViewComponent, selector: "images-view", inputs: ["stateDisplayed", "tabDisplayed", "fullSize", "nbRowToShow", "listDisplayed", "multipleImgMode"], outputs: ["switchDisplayWindow"] }, { kind: "component", type: i12.SelectComponent, selector: "wac-select", inputs: ["items", "placeholder", "label", "maxWidthItems", "search", "type", "callToAction", "maxWidth", "disabled"], outputs: ["selectValue", "clickOnCallToAction"] }, { kind: "pipe", type: i13.TranslatePipe, name: "translate" }] });
111
+ ImgTabsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ImgTabsComponent, selector: "img-tabs", inputs: { multipleImgMode: "multipleImgMode", stateDisplayed: "stateDisplayed", listDisplayed: "listDisplayed" }, outputs: { imgManagerClosed: "imgManagerClosed", currentTab: "currentTab", switchDisplayWindow: "switchDisplayWindow" }, viewQueries: [{ propertyName: "imgUploadedComponent", first: true, predicate: ["imgUploadedImg"], descendants: true }], ngImport: i0, template: "<div\r\n class=\"img-tabs\" [ngClass]=\"{'small': stateDisplayed === 'small'}\">\r\n <div class=\"wrapper-tabs\">\r\n <div\r\n class=\"tabs\"\r\n [ngClass]=\"\r\n {\r\n 'tabs--notWindow': stateDisplayed !== 'window',\r\n 'tabs--notDisplayed': stateDisplayed === 'window' && tabActive.value === tabs[3].value\r\n }\">\r\n\r\n <ul>\r\n <li class=\"is-active\" [ngClass]=\"{'is-active': tabActive.value === tabs[0].value}\" (click)=\"toggleTabs(tabs[0])\"><a>{{ tabs[0].name | translate }}</a></li>\r\n <li [ngClass]=\"{'is-active': tabActive.value === tabs[1].value}\" (click)=\"toggleTabs(tabs[1])\"><a>{{ tabs[1].name | translate }}</a></li>\r\n <li [ngClass]=\"{'is-active': tabActive.value === tabs[2].value}\" (click)=\"toggleTabs(tabs[2])\"><a>{{ tabs[2].name | translate }}</a></li>\r\n <li [ngClass]=\"{'is-active': tabActive.value === tabs[3].value}\" *ngIf=\"editTab\"><a>{{ tabs[3].name | translate }}</a></li>\r\n </ul>\r\n <div\r\n class=\"img-tabs__canva\"\r\n [ngClass]=\"{'img-tabs__canva--window': stateDisplayed === 'window'}\">\r\n <canva-btn\r\n (showImgUploaded)=\"onShowImgUploaded()\"\r\n [stateDisplayed]=\"stateDisplayed\">\r\n </canva-btn>\r\n </div>\r\n </div>\r\n <div class=\"select-mobile-page\">\r\n <wac-select\r\n [(ngModel)]=\"tabActive\"\r\n name=\"tabs\"\r\n [items]=\"tabs\"\r\n ></wac-select>\r\n </div>\r\n </div>\r\n\r\n <!-- Upload section -->\r\n <div\r\n class=\"columns img-tabs__tabsFirst\"\r\n [ngClass]=\"{\r\n 'img-tabs__tabsFirst--small': stateDisplayed === 'small',\r\n 'img-tabs__tabsFirst--window': stateDisplayed === 'window'\r\n }\"\r\n *ngIf=\"tabActive.value === tabs[0].value\">\r\n <div class=\"column img-tabs__tabsFirst__upload\">\r\n <img-upload\r\n [stateDisplayed]=\"stateDisplayed\"\r\n (imgUploaded)=\"onImgUploaded($event)\"\r\n ></img-upload>\r\n </div>\r\n <div class=\"column img-tabs__tabsFirst__list\" [ngClass]=\"{\r\n 'img-tabs__tabsFirst__list--upload': imgUpload\r\n }\">\r\n <images-view\r\n *ngIf=\"!imgUpload\"\r\n [stateDisplayed]=\"stateDisplayed\"\r\n [listDisplayed]=\"false\"\r\n [multipleImgMode]=\"multipleImgMode\"\r\n [tabDisplayed]=\"tabActive.value\"\r\n [nbRowToShow]=\"2\"\r\n (switchDisplayWindow)=\"switchDisplayWindowImgView()\"\r\n [fullSize]=\"false\">\r\n </images-view>\r\n\r\n\r\n <div [hidden]=\"!imgUpload\">\r\n <upload-list\r\n #imgUploadedImg\r\n [stateDisplayed]=\"stateDisplayed\"\r\n [tabDisplayed]=\"tabActive.value\"\r\n [multipleImgMode]=\"multipleImgMode\"\r\n (switchDisplayWindow)=\"switchDisplayWindowImgView()\"\r\n >\r\n </upload-list>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Images section -->\r\n <div class=\"columns img-tabs__tabsSecond\" *ngIf=\"tabActive.value === tabs[1].value\">\r\n <div class=\"column\">\r\n\r\n <images-view\r\n [stateDisplayed]=\"stateDisplayed\"\r\n [listDisplayed]=\"listDisplayed\"\r\n [multipleImgMode]=\"multipleImgMode\"\r\n [tabDisplayed]=\"tabActive.value\"\r\n (switchDisplayWindow)=\"switchDisplayWindowImgView()\"\r\n [fullSize]=\"true\">\r\n </images-view>\r\n\r\n </div>\r\n </div>\r\n\r\n <!-- Pexels img section -->\r\n <div class=\"columns img-tabs__tabsThird\" *ngIf=\"tabActive.value === tabs[2].value\">\r\n <div class=\"column\">\r\n <pexels-lib\r\n [stateDisplayed]=\"stateDisplayed\"\r\n (showImgUploaded)=\"onShowImgUploaded()\">\r\n </pexels-lib>\r\n </div>\r\n </div>\r\n\r\n <!--Edition section -->\r\n <div class=\"columns img-tabs__tabsEdit\" *ngIf=\"tabActive.value === tabs[3].value\">\r\n <div class=\"column\">\r\n <img-editor\r\n [stateDisplayed]=\"stateDisplayed\"\r\n [imgToEdit]=\"imgToEdit\"\r\n [isVideoEdit]=\"isVideoEdit\"\r\n (editClosed)=\"onEditClosed($event)\">\r\n </img-editor>\r\n </div>\r\n </div>\r\n\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.ImgUploadComponent, selector: "img-upload", inputs: ["stateDisplayed"], outputs: ["imgUploaded"] }, { kind: "component", type: i7.PexelLibComponent, selector: "pexels-lib", inputs: ["stateDisplayed", "searchValue", "disableSearch"] }, { kind: "component", type: i8.UploadListComponent, selector: "upload-list", inputs: ["stateDisplayed", "tabDisplayed", "multipleImgMode"], outputs: ["switchDisplayWindow"] }, { kind: "component", type: i9.ImgEditorComponent, selector: "img-editor", inputs: ["stateDisplayed", "imgToEdit", "isVideoEdit"], outputs: ["editClosed"] }, { kind: "component", type: i10.CanvaBtnComponent, selector: "canva-btn", inputs: ["stateDisplayed"], outputs: ["showImgUploaded"] }, { kind: "component", type: i11.ImagesViewComponent, selector: "images-view", inputs: ["stateDisplayed", "tabDisplayed", "fullSize", "nbRowToShow", "listDisplayed", "multipleImgMode"], outputs: ["switchDisplayWindow"] }, { kind: "component", type: i12.SelectComponent, selector: "wac-select", inputs: ["items", "placeholder", "label", "maxWidthItems", "search", "type", "callToAction", "maxWidth", "disabled"], outputs: ["selectValue", "clickOnCallToAction"] }, { kind: "pipe", type: i13.TranslatePipe, name: "translate" }] });
103
112
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ImgTabsComponent, decorators: [{
104
113
  type: Component,
105
- args: [{ selector: 'img-tabs', template: "<div\r\n class=\"img-tabs\" [ngClass]=\"{'small': stateDisplayed === 'small'}\">\r\n <div class=\"wrapper-tabs\">\r\n <div\r\n class=\"tabs\"\r\n [ngClass]=\"\r\n {\r\n 'tabs--notWindow': stateDisplayed !== 'window',\r\n 'tabs--notDisplayed': stateDisplayed === 'window' && tabActive.value === tabs[3].value\r\n }\">\r\n\r\n <ul>\r\n <li class=\"is-active\" [ngClass]=\"{'is-active': tabActive.value === tabs[0].value}\" (click)=\"toggleTabs(tabs[0])\"><a>{{ tabs[0].name | translate }}</a></li>\r\n <li [ngClass]=\"{'is-active': tabActive.value === tabs[1].value}\" (click)=\"toggleTabs(tabs[1])\"><a>{{ tabs[1].name | translate }}</a></li>\r\n <li [ngClass]=\"{'is-active': tabActive.value === tabs[2].value}\" (click)=\"toggleTabs(tabs[2])\"><a>{{ tabs[2].name | translate }}</a></li>\r\n <li [ngClass]=\"{'is-active': tabActive.value === tabs[3].value}\" *ngIf=\"editTab\"><a>{{ tabs[3].name | translate }}</a></li>\r\n </ul>\r\n <div\r\n class=\"img-tabs__canva\"\r\n [ngClass]=\"{'img-tabs__canva--window': stateDisplayed === 'window'}\">\r\n <canva-btn\r\n (showImgUploaded)=\"onShowImgUploaded()\"\r\n [stateDisplayed]=\"stateDisplayed\">\r\n </canva-btn>\r\n </div>\r\n </div>\r\n <div class=\"select-mobile-page\">\r\n <wac-select\r\n [(ngModel)]=\"tabActive\"\r\n name=\"tabs\"\r\n [items]=\"tabs\"\r\n ></wac-select>\r\n </div>\r\n </div>\r\n\r\n <!-- Upload section -->\r\n <div\r\n class=\"columns img-tabs__tabsFirst\"\r\n [ngClass]=\"{\r\n 'img-tabs__tabsFirst--small': stateDisplayed === 'small',\r\n 'img-tabs__tabsFirst--window': stateDisplayed === 'window'\r\n }\"\r\n *ngIf=\"tabActive.value === tabs[0].value\">\r\n <div class=\"column img-tabs__tabsFirst__upload\">\r\n <img-upload\r\n [stateDisplayed]=\"stateDisplayed\"\r\n (imgUploaded)=\"onImgUploaded($event)\"\r\n ></img-upload>\r\n </div>\r\n <div class=\"column img-tabs__tabsFirst__list\" [ngClass]=\"{\r\n 'img-tabs__tabsFirst__list--upload': imgUpload\r\n }\">\r\n <images-view\r\n *ngIf=\"!imgUpload\"\r\n [stateDisplayed]=\"stateDisplayed\"\r\n [listDisplayed]=\"false\"\r\n [multipleImgMode]=\"multipleImgMode\"\r\n [tabDisplayed]=\"tabActive.value\"\r\n [nbRowToShow]=\"2\"\r\n (switchDisplayWindow)=\"switchDisplayWindowImgView()\"\r\n [fullSize]=\"false\">\r\n </images-view>\r\n\r\n\r\n <div [hidden]=\"!imgUpload\">\r\n <upload-list\r\n #imgUploadedImg\r\n [stateDisplayed]=\"stateDisplayed\"\r\n [tabDisplayed]=\"tabActive.value\"\r\n [multipleImgMode]=\"multipleImgMode\"\r\n (switchDisplayWindow)=\"switchDisplayWindowImgView()\"\r\n >\r\n </upload-list>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Images section -->\r\n <div class=\"columns img-tabs__tabsSecond\" *ngIf=\"tabActive.value === tabs[1].value\">\r\n <div class=\"column\">\r\n\r\n <images-view\r\n [stateDisplayed]=\"stateDisplayed\"\r\n [listDisplayed]=\"listDisplayed\"\r\n [multipleImgMode]=\"multipleImgMode\"\r\n [tabDisplayed]=\"tabActive.value\"\r\n (switchDisplayWindow)=\"switchDisplayWindowImgView()\"\r\n [fullSize]=\"true\">\r\n </images-view>\r\n\r\n </div>\r\n </div>\r\n\r\n <!-- Pexels img section -->\r\n <div class=\"columns img-tabs__tabsThird\" *ngIf=\"tabActive.value === tabs[2].value\">\r\n <div class=\"column\">\r\n <pexels-lib\r\n [stateDisplayed]=\"stateDisplayed\"\r\n (showImgUploaded)=\"onShowImgUploaded()\">\r\n </pexels-lib>\r\n </div>\r\n </div>\r\n\r\n <!--Edition section -->\r\n <div class=\"columns img-tabs__tabsEdit\" *ngIf=\"tabActive.value === tabs[3].value\">\r\n <div class=\"column\">\r\n <img-editor\r\n [stateDisplayed]=\"stateDisplayed\"\r\n [imgToEdit]=\"imgToEdit\"\r\n (editClosed)=\"onEditClosed($event)\">\r\n </img-editor>\r\n </div>\r\n </div>\r\n\r\n</div>\r\n" }]
114
+ args: [{ selector: 'img-tabs', template: "<div\r\n class=\"img-tabs\" [ngClass]=\"{'small': stateDisplayed === 'small'}\">\r\n <div class=\"wrapper-tabs\">\r\n <div\r\n class=\"tabs\"\r\n [ngClass]=\"\r\n {\r\n 'tabs--notWindow': stateDisplayed !== 'window',\r\n 'tabs--notDisplayed': stateDisplayed === 'window' && tabActive.value === tabs[3].value\r\n }\">\r\n\r\n <ul>\r\n <li class=\"is-active\" [ngClass]=\"{'is-active': tabActive.value === tabs[0].value}\" (click)=\"toggleTabs(tabs[0])\"><a>{{ tabs[0].name | translate }}</a></li>\r\n <li [ngClass]=\"{'is-active': tabActive.value === tabs[1].value}\" (click)=\"toggleTabs(tabs[1])\"><a>{{ tabs[1].name | translate }}</a></li>\r\n <li [ngClass]=\"{'is-active': tabActive.value === tabs[2].value}\" (click)=\"toggleTabs(tabs[2])\"><a>{{ tabs[2].name | translate }}</a></li>\r\n <li [ngClass]=\"{'is-active': tabActive.value === tabs[3].value}\" *ngIf=\"editTab\"><a>{{ tabs[3].name | translate }}</a></li>\r\n </ul>\r\n <div\r\n class=\"img-tabs__canva\"\r\n [ngClass]=\"{'img-tabs__canva--window': stateDisplayed === 'window'}\">\r\n <canva-btn\r\n (showImgUploaded)=\"onShowImgUploaded()\"\r\n [stateDisplayed]=\"stateDisplayed\">\r\n </canva-btn>\r\n </div>\r\n </div>\r\n <div class=\"select-mobile-page\">\r\n <wac-select\r\n [(ngModel)]=\"tabActive\"\r\n name=\"tabs\"\r\n [items]=\"tabs\"\r\n ></wac-select>\r\n </div>\r\n </div>\r\n\r\n <!-- Upload section -->\r\n <div\r\n class=\"columns img-tabs__tabsFirst\"\r\n [ngClass]=\"{\r\n 'img-tabs__tabsFirst--small': stateDisplayed === 'small',\r\n 'img-tabs__tabsFirst--window': stateDisplayed === 'window'\r\n }\"\r\n *ngIf=\"tabActive.value === tabs[0].value\">\r\n <div class=\"column img-tabs__tabsFirst__upload\">\r\n <img-upload\r\n [stateDisplayed]=\"stateDisplayed\"\r\n (imgUploaded)=\"onImgUploaded($event)\"\r\n ></img-upload>\r\n </div>\r\n <div class=\"column img-tabs__tabsFirst__list\" [ngClass]=\"{\r\n 'img-tabs__tabsFirst__list--upload': imgUpload\r\n }\">\r\n <images-view\r\n *ngIf=\"!imgUpload\"\r\n [stateDisplayed]=\"stateDisplayed\"\r\n [listDisplayed]=\"false\"\r\n [multipleImgMode]=\"multipleImgMode\"\r\n [tabDisplayed]=\"tabActive.value\"\r\n [nbRowToShow]=\"2\"\r\n (switchDisplayWindow)=\"switchDisplayWindowImgView()\"\r\n [fullSize]=\"false\">\r\n </images-view>\r\n\r\n\r\n <div [hidden]=\"!imgUpload\">\r\n <upload-list\r\n #imgUploadedImg\r\n [stateDisplayed]=\"stateDisplayed\"\r\n [tabDisplayed]=\"tabActive.value\"\r\n [multipleImgMode]=\"multipleImgMode\"\r\n (switchDisplayWindow)=\"switchDisplayWindowImgView()\"\r\n >\r\n </upload-list>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Images section -->\r\n <div class=\"columns img-tabs__tabsSecond\" *ngIf=\"tabActive.value === tabs[1].value\">\r\n <div class=\"column\">\r\n\r\n <images-view\r\n [stateDisplayed]=\"stateDisplayed\"\r\n [listDisplayed]=\"listDisplayed\"\r\n [multipleImgMode]=\"multipleImgMode\"\r\n [tabDisplayed]=\"tabActive.value\"\r\n (switchDisplayWindow)=\"switchDisplayWindowImgView()\"\r\n [fullSize]=\"true\">\r\n </images-view>\r\n\r\n </div>\r\n </div>\r\n\r\n <!-- Pexels img section -->\r\n <div class=\"columns img-tabs__tabsThird\" *ngIf=\"tabActive.value === tabs[2].value\">\r\n <div class=\"column\">\r\n <pexels-lib\r\n [stateDisplayed]=\"stateDisplayed\"\r\n (showImgUploaded)=\"onShowImgUploaded()\">\r\n </pexels-lib>\r\n </div>\r\n </div>\r\n\r\n <!--Edition section -->\r\n <div class=\"columns img-tabs__tabsEdit\" *ngIf=\"tabActive.value === tabs[3].value\">\r\n <div class=\"column\">\r\n <img-editor\r\n [stateDisplayed]=\"stateDisplayed\"\r\n [imgToEdit]=\"imgToEdit\"\r\n [isVideoEdit]=\"isVideoEdit\"\r\n (editClosed)=\"onEditClosed($event)\">\r\n </img-editor>\r\n </div>\r\n </div>\r\n\r\n</div>\r\n" }]
106
115
  }], ctorParameters: function () { return [{ type: i1.ImgEventService }, { type: i2.AlertService }, { type: i3.Router }]; }, propDecorators: { multipleImgMode: [{
107
116
  type: Input
108
117
  }], stateDisplayed: [{
@@ -119,4 +128,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
119
128
  type: ViewChild,
120
129
  args: ['imgUploadedImg']
121
130
  }] } });
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLXRhYnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9jb21wb25lbnRzL2ltZy10YWJzL2ltZy10YWJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvY29tcG9uZW50cy9pbWctdGFicy9pbWctdGFicy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBVSxTQUFTLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV4RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFHbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0FBT3ZDLE1BQU0sT0FBTyxnQkFBZ0I7SUE2RDNCLFlBQ1UsbUJBQW9DLEVBQ3BDLFlBQTBCLEVBQzFCLEtBQWE7UUFGYix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQWlCO1FBQ3BDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLFVBQUssR0FBTCxLQUFLLENBQVE7UUE3RHZCLG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBSWpDLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBR3RCLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFHdEMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFHaEMsd0JBQW1CLEdBQTBCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFaEUsU0FBSSxHQUFpQjtZQUNuQjtn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LGdCQUFnQjtzQkFEZixNQUFNO2dCQUlQLFVBQVU7c0JBRFQsTUFBTTtnQkFJUCxtQkFBbUI7c0JBRGxCLE1BQU07Z0JBdUNQLG9CQUFvQjtzQkFEbkIsU0FBUzt1QkFBRSxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgVmlld0NoaWxkLCBPdXRwdXQsIEV2ZW50RW1pdHRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEltZ1BpY3R1cmVEVE8gfSBmcm9tICcuLi8uLi9kdG8vaW1nLW1hbmFnZXIuZHRvJztcclxuaW1wb3J0IHsgVXBsb2FkTGlzdENvbXBvbmVudCB9IGZyb20gJy4uL3VwbG9hZC1saXN0L3VwbG9hZC1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEltZ0V2ZW50U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ltZy1ldmVudC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTndiU25hY2tiYXJDb25maWcgfSBmcm9tICdAd2l6aXNob3Avbmctd2l6aS1idWxtYSc7XHJcbmltcG9ydCB7IHN0YXRlRGlzcGxheWVkIH0gZnJvbSAnLi4vLi4vZHRvL2V4cG9ydC1kdG9zLmFwaSc7XHJcbmltcG9ydCB7IEFsZXJ0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2FsZXJ0LnNlcnZpY2UnO1xyXG5pbXBvcnQge1JvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgU2VsZWN0SXRlbSB9IGZyb20gJy4uL3NoYXJlZC9zZWxlY3Qvc2VsZWN0LWl0ZW1zLmR0byc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2ltZy10YWJzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaW1nLXRhYnMuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbWdUYWJzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQElucHV0KClcclxuICBtdWx0aXBsZUltZ01vZGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIHN0YXRlRGlzcGxheWVkOiBzdGF0ZURpc3BsYXllZDtcclxuICBASW5wdXQoKVxyXG4gIGxpc3REaXNwbGF5ZWQgPSBmYWxzZTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgaW1nTWFuYWdlckNsb3NlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgY3VycmVudFRhYiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgc3dpdGNoRGlzcGxheVdpbmRvdzogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICB0YWJzOiBTZWxlY3RJdGVtW10gPSBbXHJcbiAgICB7XHJcbiAgICAgIG5hbWU6ICdJbWdNYW5hZ2VyLlRhYnMuYWRkSW1nJyxcclxuICAgICAgdmFsdWU6ICdpbWctdXBsb2FkJyxcclxuICAgICAgc2VsZWN0ZWQ6IHRydWUsXHJcbiAgICAgIGlkOiAwXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBuYW1lOiAnSW1nTWFuYWdlci5UYWJzLmltZ0xpYicsXHJcbiAgICAgIHZhbHVlOiAnaW1hZ2VzLXZpZXcnLFxyXG4gICAgICBpZDogMVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgbmFtZTogJ0ltZ01hbmFnZXIuVGFicy5mcmVlSW1nTGliJyxcclxuICAgICAgdmFsdWU6ICdwZXhlbHMtbGliJyxcclxuICAgICAgaWQ6IDJcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIG5hbWU6ICdJbWdNYW5hZ2VyLlRhYnMuRWRpdG9yJyxcclxuICAgICAgdmFsdWU6ICdpbWctZWRpdGlvbicsXHJcbiAgICAgIGhpZGU6IHRydWUsXHJcbiAgICAgIGlkOiAzXHJcbiAgICB9XHJcbiAgXTtcclxuXHJcbiAgdGFiQWN0aXZlOiBTZWxlY3RJdGVtID0gdGhpcy50YWJzWzBdO1xyXG5cclxuICAvKiB0YWJBY3RpdmUgPSAnaW1hZ2VzLXZpZXcnO1xyXG4gIHRhYnM6IHN0cmluZ1tdID0gWydpbWctdXBsb2FkJywgJ2ltYWdlcy12aWV3JywgJ3BleGVscy1saWInLCAnaW1nLWVkaXRpb24nXTsgKi9cclxuICBlZGl0VGFiID0gZmFsc2U7XHJcblxyXG4gIGltZ1RvRWRpdDogSW1nUGljdHVyZURUTztcclxuXHJcbiAgaW1nVXBsb2FkID0gZmFsc2U7XHJcblxyXG4gIEBWaWV3Q2hpbGQoICdpbWdVcGxvYWRlZEltZycgKVxyXG4gIGltZ1VwbG9hZGVkQ29tcG9uZW50OiBVcGxvYWRMaXN0Q29tcG9uZW50IDtcclxuXHJcbiAgc25hY2tCYXJOZXdWZXJzaW9uQ29uZmlnOiBOd2JTbmFja2JhckNvbmZpZyA9IHtcclxuICAgIG1lc3NhZ2U6ICcnLFxyXG4gICAgZHVyYXRpb246IDMwMDBcclxuICB9O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaW1nRXZlbnRFZGl0U2VydmljZTogSW1nRXZlbnRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZSxcclxuICAgIHByaXZhdGUgcm91dGU6IFJvdXRlclxyXG4gICAgKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmltZ0V2ZW50RWRpdFNlcnZpY2UuZ2V0SW1nVG9FZGl0RXZlbnRMaXN0ZW5lcigpLnN1YnNjcmliZShpbWdUb0VkaXQgPT57XHJcbiAgICAgIHRoaXMudGFiQWN0aXZlID0gdGhpcy50YWJzWzNdO1xyXG4gICAgICB0aGlzLmltZ1RvRWRpdCA9IGltZ1RvRWRpdDtcclxuICAgICAgdGhpcy5lZGl0VGFiID0gdHJ1ZTtcclxuICAgICAgdGhpcy5jdXJyZW50VGFiLmVtaXQodGhpcy50YWJzWzNdKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlVGFicyhpdGVtOiBTZWxlY3RJdGVtKSB7XHJcbiAgICB0aGlzLmltZ1VwbG9hZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5lZGl0VGFiID0gZmFsc2U7XHJcbiAgICB0aGlzLnRhYkFjdGl2ZSA9IGl0ZW07XHJcbiAgfVxyXG5cclxuICBvbkltZ1VwbG9hZGVkKGltZzogSW1nUGljdHVyZURUT1tdKSB7XHJcbiAgICB0aGlzLmltZ1VwbG9hZCA9IHRydWU7XHJcbiAgICB0aGlzLmltZ1VwbG9hZGVkQ29tcG9uZW50Lm9uSW1nVXBsb2FkZWQoaW1nKTtcclxuICB9XHJcblxyXG4gIG9uRWRpdENsb3NlZChtc2dLZXk6IHN0cmluZykge1xyXG4gICAgdGhpcy5lZGl0VGFiID0gZmFsc2U7XHJcbiAgICB0aGlzLnRvZ2dsZVRhYnModGhpcy50YWJzWzFdKTtcclxuICAgIGlmIChtc2dLZXkpIHtcclxuICAgICAgdGhpcy5hbGVydFNlcnZpY2Uub3BlbkFsZXJ0KG1zZ0tleSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmN1cnJlbnRUYWIuZW1pdCgnY2xvc2UnKTtcclxuICB9XHJcblxyXG4gIG9uU2hvd0ltZ1VwbG9hZGVkKCkge1xyXG4gICAgdGhpcy50YWJBY3RpdmUgPSB0aGlzLnRhYnNbMV07XHJcbiAgfVxyXG5cclxuICBzd2l0Y2hEaXNwbGF5V2luZG93SW1nVmlldygpIHtcclxuICAgIHRoaXMuc3dpdGNoRGlzcGxheVdpbmRvdy5lbWl0KHRydWUpO1xyXG4gIH1cclxuXHJcbiAgc3dpdGNoUm91dGVyTGluayhldmVudCkge1xyXG5cclxuICB9XHJcblxyXG4gIG9uSW1nTWFuYWdlckNsb3NlZCgpIHtcclxuICAgIHRoaXMuaW1nTWFuYWdlckNsb3NlZC5lbWl0KCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcclxuICBjbGFzcz1cImltZy10YWJzXCIgW25nQ2xhc3NdPVwieydzbWFsbCc6IHN0YXRlRGlzcGxheWVkID09PSAnc21hbGwnfVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJ3cmFwcGVyLXRhYnNcIj5cclxuICAgIDxkaXZcclxuICAgICAgY2xhc3M9XCJ0YWJzXCJcclxuICAgICAgW25nQ2xhc3NdPVwiXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgJ3RhYnMtLW5vdFdpbmRvdyc6IHN0YXRlRGlzcGxheWVkICE9PSAnd2luZG93JyxcclxuICAgICAgICAgICd0YWJzLS1ub3REaXNwbGF5ZWQnOiBzdGF0ZURpc3BsYXllZCA9PT0gJ3dpbmRvdycgJiYgdGFiQWN0aXZlLnZhbHVlID09PSB0YWJzWzNdLnZhbHVlXHJcbiAgICAgICAgfVwiPlxyXG5cclxuICAgICAgPHVsPlxyXG4gICAgICAgIDxsaSBjbGFzcz1cImlzLWFjdGl2ZVwiIFtuZ0NsYXNzXT1cInsnaXMtYWN0aXZlJzogdGFiQWN0aXZlLnZhbHVlID09PSB0YWJzWzBdLnZhbHVlfVwiIChjbGljayk9XCJ0b2dnbGVUYWJzKHRhYnNbMF0pXCI+PGE+e3sgdGFic1swXS5uYW1lIHwgdHJhbnNsYXRlIH19PC9hPjwvbGk+XHJcbiAgICAgICAgPGxpIFtuZ0NsYXNzXT1cInsnaXMtYWN0aXZlJzogdGFiQWN0aXZlLnZhbHVlID09PSB0YWJzWzFdLnZhbHVlfVwiIChjbGljayk9XCJ0b2dnbGVUYWJzKHRhYnNbMV0pXCI+PGE+e3sgdGFic1sxXS5uYW1lIHwgdHJhbnNsYXRlIH19PC9hPjwvbGk+XHJcbiAgICAgICAgPGxpIFtuZ0NsYXNzXT1cInsnaXMtYWN0aXZlJzogdGFiQWN0aXZlLnZhbHVlID09PSB0YWJzWzJdLnZhbHVlfVwiIChjbGljayk9XCJ0b2dnbGVUYWJzKHRhYnNbMl0pXCI+PGE+e3sgdGFic1syXS5uYW1lIHwgdHJhbnNsYXRlIH19PC9hPjwvbGk+XHJcbiAgICAgICAgPGxpIFtuZ0NsYXNzXT1cInsnaXMtYWN0aXZlJzogdGFiQWN0aXZlLnZhbHVlID09PSB0YWJzWzNdLnZhbHVlfVwiICpuZ0lmPVwiZWRpdFRhYlwiPjxhPnt7IHRhYnNbM10ubmFtZSB8IHRyYW5zbGF0ZSB9fTwvYT48L2xpPlxyXG4gICAgICA8L3VsPlxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgY2xhc3M9XCJpbWctdGFic19fY2FudmFcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cInsnaW1nLXRhYnNfX2NhbnZhLS13aW5kb3cnOiBzdGF0ZURpc3BsYXllZCA9PT0gJ3dpbmRvdyd9XCI+XHJcbiAgICAgICAgPGNhbnZhLWJ0blxyXG4gICAgICAgICAgKHNob3dJbWdVcGxvYWRlZCk9XCJvblNob3dJbWdVcGxvYWRlZCgpXCJcclxuICAgICAgICAgIFtzdGF0ZURpc3BsYXllZF09XCJzdGF0ZURpc3BsYXllZFwiPlxyXG4gICAgICAgIDwvY2FudmEtYnRuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInNlbGVjdC1tb2JpbGUtcGFnZVwiPlxyXG4gICAgICA8d2FjLXNlbGVjdFxyXG4gICAgICAgIFsobmdNb2RlbCldPVwidGFiQWN0aXZlXCJcclxuICAgICAgICBuYW1lPVwidGFic1wiXHJcbiAgICAgICAgW2l0ZW1zXT1cInRhYnNcIlxyXG4gICAgICA+PC93YWMtc2VsZWN0PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDwhLS0gVXBsb2FkIHNlY3Rpb24gLS0+XHJcbiAgPGRpdlxyXG4gICAgY2xhc3M9XCJjb2x1bW5zIGltZy10YWJzX190YWJzRmlyc3RcIlxyXG4gICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAnaW1nLXRhYnNfX3RhYnNGaXJzdC0tc21hbGwnOiBzdGF0ZURpc3BsYXllZCA9PT0gJ3NtYWxsJyxcclxuICAgICAgJ2ltZy10YWJzX190YWJzRmlyc3QtLXdpbmRvdyc6IHN0YXRlRGlzcGxheWVkID09PSAnd2luZG93J1xyXG4gICAgfVwiXHJcbiAgICAqbmdJZj1cInRhYkFjdGl2ZS52YWx1ZSA9PT0gdGFic1swXS52YWx1ZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbHVtbiBpbWctdGFic19fdGFic0ZpcnN0X191cGxvYWRcIj5cclxuICAgICAgPGltZy11cGxvYWRcclxuICAgICAgICBbc3RhdGVEaXNwbGF5ZWRdPVwic3RhdGVEaXNwbGF5ZWRcIlxyXG4gICAgICAgIChpbWdVcGxvYWRlZCk9XCJvbkltZ1VwbG9hZGVkKCRldmVudClcIlxyXG4gICAgICA+PC9pbWctdXBsb2FkPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sdW1uIGltZy10YWJzX190YWJzRmlyc3RfX2xpc3RcIiBbbmdDbGFzc109XCJ7XHJcbiAgICAgICdpbWctdGFic19fdGFic0ZpcnN0X19saXN0LS11cGxvYWQnOiBpbWdVcGxvYWRcclxuICAgIH1cIj5cclxuICAgICAgPGltYWdlcy12aWV3XHJcbiAgICAgICAgKm5nSWY9XCIhaW1nVXBsb2FkXCJcclxuICAgICAgICBbc3RhdGVEaXNwbGF5ZWRdPVwic3RhdGVEaXNwbGF5ZWRcIlxyXG4gICAgICAgIFtsaXN0RGlzcGxheWVkXT1cImZhbHNlXCJcclxuICAgICAgICBbbXVsdGlwbGVJbWdNb2RlXT1cIm11bHRpcGxlSW1nTW9kZVwiXHJcbiAgICAgICAgW3RhYkRpc3BsYXllZF09XCJ0YWJBY3RpdmUudmFsdWVcIlxyXG4gICAgICAgIFtuYlJvd1RvU2hvd109XCIyXCJcclxuICAgICAgICAoc3dpdGNoRGlzcGxheVdpbmRvdyk9XCJzd2l0Y2hEaXNwbGF5V2luZG93SW1nVmlldygpXCJcclxuICAgICAgICBbZnVsbFNpemVdPVwiZmFsc2VcIj5cclxuICAgICAgPC9pbWFnZXMtdmlldz5cclxuXHJcblxyXG4gICAgICA8ZGl2IFtoaWRkZW5dPVwiIWltZ1VwbG9hZFwiPlxyXG4gICAgICAgIDx1cGxvYWQtbGlzdFxyXG4gICAgICAgICAgI2ltZ1VwbG9hZGVkSW1nXHJcbiAgICAgICAgICBbc3RhdGVEaXNwbGF5ZWRdPVwic3RhdGVEaXNwbGF5ZWRcIlxyXG4gICAgICAgICAgW3RhYkRpc3BsYXllZF09XCJ0YWJBY3RpdmUudmFsdWVcIlxyXG4gICAgICAgICAgW211bHRpcGxlSW1nTW9kZV09XCJtdWx0aXBsZUltZ01vZGVcIlxyXG4gICAgICAgICAgKHN3aXRjaERpc3BsYXlXaW5kb3cpPVwic3dpdGNoRGlzcGxheVdpbmRvd0ltZ1ZpZXcoKVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgPC91cGxvYWQtbGlzdD5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPCEtLSBJbWFnZXMgc2VjdGlvbiAtLT5cclxuICA8ZGl2IGNsYXNzPVwiY29sdW1ucyBpbWctdGFic19fdGFic1NlY29uZFwiICpuZ0lmPVwidGFiQWN0aXZlLnZhbHVlID09PSB0YWJzWzFdLnZhbHVlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sdW1uXCI+XHJcblxyXG4gICAgICA8aW1hZ2VzLXZpZXdcclxuICAgICAgICBbc3RhdGVEaXNwbGF5ZWRdPVwic3RhdGVEaXNwbGF5ZWRcIlxyXG4gICAgICAgIFtsaXN0RGlzcGxheWVkXT1cImxpc3REaXNwbGF5ZWRcIlxyXG4gICAgICAgIFttdWx0aXBsZUltZ01vZGVdPVwibXVsdGlwbGVJbWdNb2RlXCJcclxuICAgICAgICBbdGFiRGlzcGxheWVkXT1cInRhYkFjdGl2ZS52YWx1ZVwiXHJcbiAgICAgICAgKHN3aXRjaERpc3BsYXlXaW5kb3cpPVwic3dpdGNoRGlzcGxheVdpbmRvd0ltZ1ZpZXcoKVwiXHJcbiAgICAgICAgW2Z1bGxTaXplXT1cInRydWVcIj5cclxuICAgICAgPC9pbWFnZXMtdmlldz5cclxuXHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPCEtLSBQZXhlbHMgaW1nIHNlY3Rpb24gLS0+XHJcbiAgPGRpdiBjbGFzcz1cImNvbHVtbnMgaW1nLXRhYnNfX3RhYnNUaGlyZFwiICpuZ0lmPVwidGFiQWN0aXZlLnZhbHVlID09PSB0YWJzWzJdLnZhbHVlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sdW1uXCI+XHJcbiAgICAgIDxwZXhlbHMtbGliXHJcbiAgICAgICAgW3N0YXRlRGlzcGxheWVkXT1cInN0YXRlRGlzcGxheWVkXCJcclxuICAgICAgICAoc2hvd0ltZ1VwbG9hZGVkKT1cIm9uU2hvd0ltZ1VwbG9hZGVkKClcIj5cclxuICAgICAgPC9wZXhlbHMtbGliPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDwhLS1FZGl0aW9uIHNlY3Rpb24gLS0+XHJcbiAgPGRpdiBjbGFzcz1cImNvbHVtbnMgaW1nLXRhYnNfX3RhYnNFZGl0XCIgKm5nSWY9XCJ0YWJBY3RpdmUudmFsdWUgPT09IHRhYnNbM10udmFsdWVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2x1bW5cIj5cclxuICAgICAgPGltZy1lZGl0b3JcclxuICAgICAgICBbc3RhdGVEaXNwbGF5ZWRdPVwic3RhdGVEaXNwbGF5ZWRcIlxyXG4gICAgICAgIFtpbWdUb0VkaXRdPVwiaW1nVG9FZGl0XCJcclxuICAgICAgICAoZWRpdENsb3NlZCk9XCJvbkVkaXRDbG9zZWQoJGV2ZW50KVwiPlxyXG4gICAgICA8L2ltZy1lZGl0b3I+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbjwvZGl2PlxyXG4iXX0=
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLXRhYnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9jb21wb25lbnRzL2ltZy10YWJzL2ltZy10YWJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvY29tcG9uZW50cy9pbWctdGFicy9pbWctdGFicy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBVSxTQUFTLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV4RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFHbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0FBT3ZDLE1BQU0sT0FBTyxnQkFBZ0I7SUErRDNCLFlBQ1UsbUJBQW9DLEVBQ3BDLFlBQTBCLEVBQzFCLEtBQWE7UUFGYix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQWlCO1FBQ3BDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLFVBQUssR0FBTCxLQUFLLENBQVE7UUEvRHZCLG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBSWpDLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBR3RCLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFHdEMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFHaEMsd0JBQW1CLEdBQTBCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFaEUsU0FBSSxHQUFpQjtZQUNuQjtn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QUNmLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsMEJBQTBCO1FBQ3hCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQUs7SUFFdEIsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDL0IsQ0FBQzs7NkdBeEhVLGdCQUFnQjtpR0FBaEIsZ0JBQWdCLG1aQ2Q3QiwwcElBb0hBOzJGRHRHYSxnQkFBZ0I7a0JBSjVCLFNBQVM7K0JBQ0UsVUFBVTtzSkFNcEIsZUFBZTtzQkFEZCxLQUFLO2dCQUdOLGNBQWM7c0JBRGIsS0FBSztnQkFHTixhQUFhO3NCQURaLEtBQUs7Z0JBSU4sZ0JBQWdCO3NCQURmLE1BQU07Z0JBSVAsVUFBVTtzQkFEVCxNQUFNO2dCQUlQLG1CQUFtQjtzQkFEbEIsTUFBTTtnQkF5Q1Asb0JBQW9CO3NCQURuQixTQUFTO3VCQUFFLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBWaWV3Q2hpbGQsIE91dHB1dCwgRXZlbnRFbWl0dGVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSW1nUGljdHVyZURUTyB9IGZyb20gJy4uLy4uL2R0by9pbWctbWFuYWdlci5kdG8nO1xyXG5pbXBvcnQgeyBVcGxvYWRMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi4vdXBsb2FkLWxpc3QvdXBsb2FkLWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSW1nRXZlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaW1nLWV2ZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOd2JTbmFja2JhckNvbmZpZyB9IGZyb20gJ0B3aXppc2hvcC9uZy13aXppLWJ1bG1hJztcclxuaW1wb3J0IHsgc3RhdGVEaXNwbGF5ZWQgfSBmcm9tICcuLi8uLi9kdG8vZXhwb3J0LWR0b3MuYXBpJztcclxuaW1wb3J0IHsgQWxlcnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYWxlcnQuc2VydmljZSc7XHJcbmltcG9ydCB7Um91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBTZWxlY3RJdGVtIH0gZnJvbSAnLi4vc2hhcmVkL3NlbGVjdC9zZWxlY3QtaXRlbXMuZHRvJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaW1nLXRhYnMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbWctdGFicy5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEltZ1RhYnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASW5wdXQoKVxyXG4gIG11bHRpcGxlSW1nTW9kZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgc3RhdGVEaXNwbGF5ZWQ6IHN0YXRlRGlzcGxheWVkO1xyXG4gIEBJbnB1dCgpXHJcbiAgbGlzdERpc3BsYXllZCA9IGZhbHNlO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBpbWdNYW5hZ2VyQ2xvc2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBjdXJyZW50VGFiID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBzd2l0Y2hEaXNwbGF5V2luZG93OiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIHRhYnM6IFNlbGVjdEl0ZW1bXSA9IFtcclxuICAgIHtcclxuICAgICAgbmFtZTogJ0ltZ01hbmFnZXIuVGFicy5hZGRJbWcnLFxyXG4gICAgICB2YWx1ZTogJ2ltZy11cGxvYWQnLFxyXG4gICAgICBzZWxlY3RlZDogdHJ1ZSxcclxuICAgICAgaWQ6IDBcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIG5hbWU6ICdJbWdNYW5hZ2VyLlRhYnMuaW1nTGliJyxcclxuICAgICAgdmFsdWU6ICdpbWFnZXMtdmlldycsXHJcbiAgICAgIGlkOiAxXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBuYW1lOiAnSW1nTWFuYWdlci5UYWJzLmZyZWVJbWdMaWInLFxyXG4gICAgICB2YWx1ZTogJ3BleGVscy1saWInLFxyXG4gICAgICBpZDogMlxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgbmFtZTogJ0ltZ01hbmFnZXIuVGFicy5FZGl0b3InLFxyXG4gICAgICB2YWx1ZTogJ2ltZy1lZGl0aW9uJyxcclxuICAgICAgaGlkZTogdHJ1ZSxcclxuICAgICAgaWQ6IDNcclxuICAgIH1cclxuICBdO1xyXG5cclxuICB0YWJBY3RpdmU6IFNlbGVjdEl0ZW0gPSB0aGlzLnRhYnNbMF07XHJcblxyXG4gIC8qIHRhYkFjdGl2ZSA9ICdpbWFnZXMtdmlldyc7XHJcbiAgdGFiczogc3RyaW5nW10gPSBbJ2ltZy11cGxvYWQnLCAnaW1hZ2VzLXZpZXcnLCAncGV4ZWxzLWxpYicsICdpbWctZWRpdGlvbiddOyAqL1xyXG4gIGVkaXRUYWIgPSBmYWxzZTtcclxuXHJcbiAgaW1nVG9FZGl0OiBJbWdQaWN0dXJlRFRPO1xyXG5cclxuICBpbWdVcGxvYWQgPSBmYWxzZTtcclxuXHJcbiAgaXNWaWRlb0VkaXQgPSBmYWxzZTtcclxuXHJcbiAgQFZpZXdDaGlsZCggJ2ltZ1VwbG9hZGVkSW1nJyApXHJcbiAgaW1nVXBsb2FkZWRDb21wb25lbnQ6IFVwbG9hZExpc3RDb21wb25lbnQgO1xyXG5cclxuICBzbmFja0Jhck5ld1ZlcnNpb25Db25maWc6IE53YlNuYWNrYmFyQ29uZmlnID0ge1xyXG4gICAgbWVzc2FnZTogJycsXHJcbiAgICBkdXJhdGlvbjogMzAwMFxyXG4gIH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBpbWdFdmVudEVkaXRTZXJ2aWNlOiBJbWdFdmVudFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByb3V0ZTogUm91dGVyXHJcbiAgICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaW1nRXZlbnRFZGl0U2VydmljZS5nZXRJbWdUb0VkaXRFdmVudExpc3RlbmVyKCkuc3Vic2NyaWJlKGltZ1RvRWRpdCA9PntcclxuICAgICAgdGhpcy50YWJBY3RpdmUgPSB0aGlzLnRhYnNbM107XHJcbiAgICAgIHRoaXMuaW1nVG9FZGl0ID0gaW1nVG9FZGl0O1xyXG4gICAgICB0aGlzLmVkaXRUYWIgPSB0cnVlO1xyXG4gICAgICB0aGlzLmlzVmlkZW9FZGl0ID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuY3VycmVudFRhYi5lbWl0KHRoaXMudGFic1szXSk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuaW1nRXZlbnRFZGl0U2VydmljZS5nZXRJbWdUb1ZpZGVvRXZlbnRMaXN0ZW5lcigpLnN1YnNjcmliZShpbWdUb0VkaXQgPT57XHJcbiAgICAgIHRoaXMudGFiQWN0aXZlID0gdGhpcy50YWJzWzNdO1xyXG4gICAgICB0aGlzLmltZ1RvRWRpdCA9IGltZ1RvRWRpdDtcclxuICAgICAgdGhpcy5lZGl0VGFiID0gdHJ1ZTtcclxuICAgICAgdGhpcy5pc1ZpZGVvRWRpdCA9IHRydWU7XHJcbiAgICAgIHRoaXMuY3VycmVudFRhYi5lbWl0KHRoaXMudGFic1szXSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHRvZ2dsZVRhYnMoaXRlbTogU2VsZWN0SXRlbSkge1xyXG4gICAgdGhpcy5pbWdVcGxvYWQgPSBmYWxzZTtcclxuICAgIHRoaXMuZWRpdFRhYiA9IGZhbHNlO1xyXG4gICAgdGhpcy50YWJBY3RpdmUgPSBpdGVtO1xyXG4gIH1cclxuXHJcbiAgb25JbWdVcGxvYWRlZChpbWc6IEltZ1BpY3R1cmVEVE9bXSkge1xyXG4gICAgdGhpcy5pbWdVcGxvYWQgPSB0cnVlO1xyXG4gICAgdGhpcy5pbWdVcGxvYWRlZENvbXBvbmVudC5vbkltZ1VwbG9hZGVkKGltZyk7XHJcbiAgfVxyXG5cclxuICBvbkVkaXRDbG9zZWQobXNnS2V5OiBzdHJpbmcpIHtcclxuICAgIHRoaXMuZWRpdFRhYiA9IGZhbHNlO1xyXG4gICAgdGhpcy50b2dnbGVUYWJzKHRoaXMudGFic1sxXSk7XHJcbiAgICBpZiAobXNnS2V5KSB7XHJcbiAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLm9wZW5BbGVydChtc2dLZXkpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jdXJyZW50VGFiLmVtaXQoJ2Nsb3NlJyk7XHJcbiAgfVxyXG5cclxuICBvblNob3dJbWdVcGxvYWRlZCgpIHtcclxuICAgIHRoaXMudGFiQWN0aXZlID0gdGhpcy50YWJzWzFdO1xyXG4gIH1cclxuXHJcbiAgc3dpdGNoRGlzcGxheVdpbmRvd0ltZ1ZpZXcoKSB7XHJcbiAgICB0aGlzLnN3aXRjaERpc3BsYXlXaW5kb3cuZW1pdCh0cnVlKTtcclxuICB9XHJcblxyXG4gIHN3aXRjaFJvdXRlckxpbmsoZXZlbnQpIHtcclxuXHJcbiAgfVxyXG5cclxuICBvbkltZ01hbmFnZXJDbG9zZWQoKSB7XHJcbiAgICB0aGlzLmltZ01hbmFnZXJDbG9zZWQuZW1pdCgpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2XHJcbiAgY2xhc3M9XCJpbWctdGFic1wiIFtuZ0NsYXNzXT1cInsnc21hbGwnOiBzdGF0ZURpc3BsYXllZCA9PT0gJ3NtYWxsJ31cIj5cclxuICA8ZGl2IGNsYXNzPVwid3JhcHBlci10YWJzXCI+XHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwidGFic1wiXHJcbiAgICAgIFtuZ0NsYXNzXT1cIlxyXG4gICAgICAgIHtcclxuICAgICAgICAgICd0YWJzLS1ub3RXaW5kb3cnOiBzdGF0ZURpc3BsYXllZCAhPT0gJ3dpbmRvdycsXHJcbiAgICAgICAgICAndGFicy0tbm90RGlzcGxheWVkJzogc3RhdGVEaXNwbGF5ZWQgPT09ICd3aW5kb3cnICYmIHRhYkFjdGl2ZS52YWx1ZSA9PT0gdGFic1szXS52YWx1ZVxyXG4gICAgICAgIH1cIj5cclxuXHJcbiAgICAgIDx1bD5cclxuICAgICAgICA8bGkgY2xhc3M9XCJpcy1hY3RpdmVcIiBbbmdDbGFzc109XCJ7J2lzLWFjdGl2ZSc6IHRhYkFjdGl2ZS52YWx1ZSA9PT0gdGFic1swXS52YWx1ZX1cIiAoY2xpY2spPVwidG9nZ2xlVGFicyh0YWJzWzBdKVwiPjxhPnt7IHRhYnNbMF0ubmFtZSB8IHRyYW5zbGF0ZSB9fTwvYT48L2xpPlxyXG4gICAgICAgIDxsaSBbbmdDbGFzc109XCJ7J2lzLWFjdGl2ZSc6IHRhYkFjdGl2ZS52YWx1ZSA9PT0gdGFic1sxXS52YWx1ZX1cIiAoY2xpY2spPVwidG9nZ2xlVGFicyh0YWJzWzFdKVwiPjxhPnt7IHRhYnNbMV0ubmFtZSB8IHRyYW5zbGF0ZSB9fTwvYT48L2xpPlxyXG4gICAgICAgIDxsaSBbbmdDbGFzc109XCJ7J2lzLWFjdGl2ZSc6IHRhYkFjdGl2ZS52YWx1ZSA9PT0gdGFic1syXS52YWx1ZX1cIiAoY2xpY2spPVwidG9nZ2xlVGFicyh0YWJzWzJdKVwiPjxhPnt7IHRhYnNbMl0ubmFtZSB8IHRyYW5zbGF0ZSB9fTwvYT48L2xpPlxyXG4gICAgICAgIDxsaSBbbmdDbGFzc109XCJ7J2lzLWFjdGl2ZSc6IHRhYkFjdGl2ZS52YWx1ZSA9PT0gdGFic1szXS52YWx1ZX1cIiAqbmdJZj1cImVkaXRUYWJcIj48YT57eyB0YWJzWzNdLm5hbWUgfCB0cmFuc2xhdGUgfX08L2E+PC9saT5cclxuICAgICAgPC91bD5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIGNsYXNzPVwiaW1nLXRhYnNfX2NhbnZhXCJcclxuICAgICAgICBbbmdDbGFzc109XCJ7J2ltZy10YWJzX19jYW52YS0td2luZG93Jzogc3RhdGVEaXNwbGF5ZWQgPT09ICd3aW5kb3cnfVwiPlxyXG4gICAgICAgIDxjYW52YS1idG5cclxuICAgICAgICAgIChzaG93SW1nVXBsb2FkZWQpPVwib25TaG93SW1nVXBsb2FkZWQoKVwiXHJcbiAgICAgICAgICBbc3RhdGVEaXNwbGF5ZWRdPVwic3RhdGVEaXNwbGF5ZWRcIj5cclxuICAgICAgICA8L2NhbnZhLWJ0bj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJzZWxlY3QtbW9iaWxlLXBhZ2VcIj5cclxuICAgICAgPHdhYy1zZWxlY3RcclxuICAgICAgICBbKG5nTW9kZWwpXT1cInRhYkFjdGl2ZVwiXHJcbiAgICAgICAgbmFtZT1cInRhYnNcIlxyXG4gICAgICAgIFtpdGVtc109XCJ0YWJzXCJcclxuICAgICAgPjwvd2FjLXNlbGVjdD5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG5cclxuICA8IS0tIFVwbG9hZCBzZWN0aW9uIC0tPlxyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwiY29sdW1ucyBpbWctdGFic19fdGFic0ZpcnN0XCJcclxuICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgJ2ltZy10YWJzX190YWJzRmlyc3QtLXNtYWxsJzogc3RhdGVEaXNwbGF5ZWQgPT09ICdzbWFsbCcsXHJcbiAgICAgICdpbWctdGFic19fdGFic0ZpcnN0LS13aW5kb3cnOiBzdGF0ZURpc3BsYXllZCA9PT0gJ3dpbmRvdydcclxuICAgIH1cIlxyXG4gICAgKm5nSWY9XCJ0YWJBY3RpdmUudmFsdWUgPT09IHRhYnNbMF0udmFsdWVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2x1bW4gaW1nLXRhYnNfX3RhYnNGaXJzdF9fdXBsb2FkXCI+XHJcbiAgICAgIDxpbWctdXBsb2FkXHJcbiAgICAgICAgW3N0YXRlRGlzcGxheWVkXT1cInN0YXRlRGlzcGxheWVkXCJcclxuICAgICAgICAoaW1nVXBsb2FkZWQpPVwib25JbWdVcGxvYWRlZCgkZXZlbnQpXCJcclxuICAgICAgPjwvaW1nLXVwbG9hZD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbHVtbiBpbWctdGFic19fdGFic0ZpcnN0X19saXN0XCIgW25nQ2xhc3NdPVwie1xyXG4gICAgICAnaW1nLXRhYnNfX3RhYnNGaXJzdF9fbGlzdC0tdXBsb2FkJzogaW1nVXBsb2FkXHJcbiAgICB9XCI+XHJcbiAgICAgIDxpbWFnZXMtdmlld1xyXG4gICAgICAgICpuZ0lmPVwiIWltZ1VwbG9hZFwiXHJcbiAgICAgICAgW3N0YXRlRGlzcGxheWVkXT1cInN0YXRlRGlzcGxheWVkXCJcclxuICAgICAgICBbbGlzdERpc3BsYXllZF09XCJmYWxzZVwiXHJcbiAgICAgICAgW211bHRpcGxlSW1nTW9kZV09XCJtdWx0aXBsZUltZ01vZGVcIlxyXG4gICAgICAgIFt0YWJEaXNwbGF5ZWRdPVwidGFiQWN0aXZlLnZhbHVlXCJcclxuICAgICAgICBbbmJSb3dUb1Nob3ddPVwiMlwiXHJcbiAgICAgICAgKHN3aXRjaERpc3BsYXlXaW5kb3cpPVwic3dpdGNoRGlzcGxheVdpbmRvd0ltZ1ZpZXcoKVwiXHJcbiAgICAgICAgW2Z1bGxTaXplXT1cImZhbHNlXCI+XHJcbiAgICAgIDwvaW1hZ2VzLXZpZXc+XHJcblxyXG5cclxuICAgICAgPGRpdiBbaGlkZGVuXT1cIiFpbWdVcGxvYWRcIj5cclxuICAgICAgICA8dXBsb2FkLWxpc3RcclxuICAgICAgICAgICNpbWdVcGxvYWRlZEltZ1xyXG4gICAgICAgICAgW3N0YXRlRGlzcGxheWVkXT1cInN0YXRlRGlzcGxheWVkXCJcclxuICAgICAgICAgIFt0YWJEaXNwbGF5ZWRdPVwidGFiQWN0aXZlLnZhbHVlXCJcclxuICAgICAgICAgIFttdWx0aXBsZUltZ01vZGVdPVwibXVsdGlwbGVJbWdNb2RlXCJcclxuICAgICAgICAgIChzd2l0Y2hEaXNwbGF5V2luZG93KT1cInN3aXRjaERpc3BsYXlXaW5kb3dJbWdWaWV3KClcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgIDwvdXBsb2FkLWxpc3Q+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDwhLS0gSW1hZ2VzIHNlY3Rpb24gLS0+XHJcbiAgPGRpdiBjbGFzcz1cImNvbHVtbnMgaW1nLXRhYnNfX3RhYnNTZWNvbmRcIiAqbmdJZj1cInRhYkFjdGl2ZS52YWx1ZSA9PT0gdGFic1sxXS52YWx1ZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbHVtblwiPlxyXG5cclxuICAgICAgPGltYWdlcy12aWV3XHJcbiAgICAgICAgW3N0YXRlRGlzcGxheWVkXT1cInN0YXRlRGlzcGxheWVkXCJcclxuICAgICAgICBbbGlzdERpc3BsYXllZF09XCJsaXN0RGlzcGxheWVkXCJcclxuICAgICAgICBbbXVsdGlwbGVJbWdNb2RlXT1cIm11bHRpcGxlSW1nTW9kZVwiXHJcbiAgICAgICAgW3RhYkRpc3BsYXllZF09XCJ0YWJBY3RpdmUudmFsdWVcIlxyXG4gICAgICAgIChzd2l0Y2hEaXNwbGF5V2luZG93KT1cInN3aXRjaERpc3BsYXlXaW5kb3dJbWdWaWV3KClcIlxyXG4gICAgICAgIFtmdWxsU2l6ZV09XCJ0cnVlXCI+XHJcbiAgICAgIDwvaW1hZ2VzLXZpZXc+XHJcblxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDwhLS0gUGV4ZWxzIGltZyBzZWN0aW9uIC0tPlxyXG4gIDxkaXYgY2xhc3M9XCJjb2x1bW5zIGltZy10YWJzX190YWJzVGhpcmRcIiAqbmdJZj1cInRhYkFjdGl2ZS52YWx1ZSA9PT0gdGFic1syXS52YWx1ZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbHVtblwiPlxyXG4gICAgICA8cGV4ZWxzLWxpYlxyXG4gICAgICAgIFtzdGF0ZURpc3BsYXllZF09XCJzdGF0ZURpc3BsYXllZFwiXHJcbiAgICAgICAgKHNob3dJbWdVcGxvYWRlZCk9XCJvblNob3dJbWdVcGxvYWRlZCgpXCI+XHJcbiAgICAgIDwvcGV4ZWxzLWxpYj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG5cclxuICA8IS0tRWRpdGlvbiBzZWN0aW9uIC0tPlxyXG4gIDxkaXYgY2xhc3M9XCJjb2x1bW5zIGltZy10YWJzX190YWJzRWRpdFwiICpuZ0lmPVwidGFiQWN0aXZlLnZhbHVlID09PSB0YWJzWzNdLnZhbHVlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sdW1uXCI+XHJcbiAgICAgIDxpbWctZWRpdG9yXHJcbiAgICAgICAgW3N0YXRlRGlzcGxheWVkXT1cInN0YXRlRGlzcGxheWVkXCJcclxuICAgICAgICBbaW1nVG9FZGl0XT1cImltZ1RvRWRpdFwiXHJcbiAgICAgICAgW2lzVmlkZW9FZGl0XT1cImlzVmlkZW9FZGl0XCJcclxuICAgICAgICAoZWRpdENsb3NlZCk9XCJvbkVkaXRDbG9zZWQoJGV2ZW50KVwiPlxyXG4gICAgICA8L2ltZy1lZGl0b3I+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbjwvZGl2PlxyXG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLW1hbmFnZXIuZHRvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9kdG8vaW1nLW1hbmFnZXIuZHRvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEltZ1BpY3R1cmVEVE8ge1xyXG4gICAgYmlnX21pbmlhdHVyZTogc3RyaW5nLFxyXG4gICAgY2F0ZWdvcnk6IHN0cmluZyxcclxuICAgIGNyb3BwZWQ6IHN0cmluZyxcclxuICAgIGRhdGU6IHN0cmluZyxcclxuICAgIGRpc3BsYXlfbmFtZTogc3RyaW5nLFxyXG4gICAgZmlsZV9uYW1lOiBzdHJpbmcsXHJcbiAgICBnX2lkOiBzdHJpbmcsXHJcbiAgICBpZF9maWxlOiBzdHJpbmcsXHJcbiAgICBpZF9zaG9wOiBzdHJpbmcsXHJcbiAgICBuYl91c2VkOiBzdHJpbmcsXHJcbiAgICBvbGRfZmlsZV9uYW1lOiBzdHJpbmcsXHJcbiAgICByYXdfaGVpZ2h0OiBzdHJpbmcsXHJcbiAgICByYXdfd2lkdGg6IHN0cmluZyxcclxuICAgIHNpemU6IHN0cmluZyxcclxuICAgIGNoZWNrZWQ/OiBib29sZWFuLFxyXG4gICAgc2VsZWN0ZWQ/OiBib29sZWFuLFxyXG4gICAgZGVsU2VsZWN0ZWQ/OiBib29sZWFuLFxyXG4gICAgZGVsZXRlZD86IGJvb2xlYW4sXHJcbiAgICBpbWdOb3RMb2FkZWQ/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEltZ1BpY3R1cmVzRFRPIHtcclxuICAgIGRhdGE6IEltZ1BpY3R1cmVEVE9bXSxcclxuICAgIGZpbHRlcjogYW55W10sXHJcbiAgICBsaW1pdDogbnVtYmVyLFxyXG4gICAgcGFnZTogbnVtYmVyLFxyXG4gICAgdG90YWxSZWNvcmRzOiBudW1iZXJcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQYXJhbXNJbWdNYW5hZ2VyRFRPIHtcclxuICAgIGxpbWl0OiBzdHJpbmc7XHJcbiAgICBwYWdlOiBzdHJpbmc7XHJcbiAgICBzZWFyY2g/OiBzdHJpbmc7XHJcbn0iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLW1hbmFnZXIuZHRvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9kdG8vaW1nLW1hbmFnZXIuZHRvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEltZ1BpY3R1cmVEVE8ge1xyXG4gICAgYmlnX21pbmlhdHVyZTogc3RyaW5nLFxyXG4gICAgY2F0ZWdvcnk6IHN0cmluZyxcclxuICAgIGNyb3BwZWQ6IHN0cmluZyxcclxuICAgIGRhdGU6IHN0cmluZyxcclxuICAgIGRpc3BsYXlfbmFtZTogc3RyaW5nLFxyXG4gICAgZmlsZV9uYW1lOiBzdHJpbmcsXHJcbiAgICBnX2lkOiBzdHJpbmcsXHJcbiAgICBpZF9maWxlOiBzdHJpbmcsXHJcbiAgICBpZF9zaG9wOiBzdHJpbmcsXHJcbiAgICBuYl91c2VkOiBzdHJpbmcsXHJcbiAgICBvbGRfZmlsZV9uYW1lOiBzdHJpbmcsXHJcbiAgICByYXdfaGVpZ2h0OiBzdHJpbmcsXHJcbiAgICByYXdfd2lkdGg6IHN0cmluZyxcclxuICAgIHNpemU6IHN0cmluZyxcclxuICAgIGNoZWNrZWQ/OiBib29sZWFuLFxyXG4gICAgc2VsZWN0ZWQ/OiBib29sZWFuLFxyXG4gICAgZGVsU2VsZWN0ZWQ/OiBib29sZWFuLFxyXG4gICAgZGVsZXRlZD86IGJvb2xlYW4sXHJcbiAgICBpbWdOb3RMb2FkZWQ/OiBib29sZWFuO1xyXG4gICAgdmlkZW9fbGluaz86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJbWdQaWN0dXJlc0RUTyB7XHJcbiAgICBkYXRhOiBJbWdQaWN0dXJlRFRPW10sXHJcbiAgICBmaWx0ZXI6IGFueVtdLFxyXG4gICAgbGltaXQ6IG51bWJlcixcclxuICAgIHBhZ2U6IG51bWJlcixcclxuICAgIHRvdGFsUmVjb3JkczogbnVtYmVyXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUGFyYW1zSW1nTWFuYWdlckRUTyB7XHJcbiAgICBsaW1pdDogc3RyaW5nO1xyXG4gICAgcGFnZTogc3RyaW5nO1xyXG4gICAgc2VhcmNoPzogc3RyaW5nO1xyXG59XHJcbiJdfQ==
@@ -7,4 +7,4 @@ ApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version:
7
7
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ApiService, decorators: [{
8
8
  type: Injectable
9
9
  }] });
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ei1pbWctbWFuYWdlci9zcmMvbGliL3NlcnZpY2VzL2FwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTzNDLE1BQU0sT0FBZ0IsVUFBVTs7dUdBQVYsVUFBVTsyR0FBVixVQUFVOzJGQUFWLFVBQVU7a0JBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEltZ1BpY3R1cmVEVE8sIEltZ1BpY3R1cmVzRFRPIH0gZnJvbSAnLi4vZHRvL2ltZy1tYW5hZ2VyLmR0byc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSW1nQ0ROQ29uZmlnRFRPIH0gZnJvbSAnLi4vZHRvL2V4cG9ydC1kdG9zLmFwaSc7XHJcbmltcG9ydCB7IEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBcGlTZXJ2aWNlIHtcclxuXHJcbiAgICBhYnN0cmFjdCBDT05GSUc6IHtcclxuICAgICAgICBpbWFnZV9tYW5hZ2VyX3JvdXRlOiBzdHJpbmc7XHJcbiAgICAgICAgY2FudmFfdG9rZW46IHN0cmluZztcclxuICAgICAgICBjYW52YV91cmw6IHN0cmluZztcclxuICAgICAgICBwZXhlbHNfdG9rZW46IHN0cmluZ1xyXG4gICAgICAgIHBleGVsc19yb3V0ZTogc3RyaW5nO1xyXG4gICAgICAgIGFzc2V0c19yb3V0ZTogc3RyaW5nO1xyXG4gICAgfVxyXG5cclxuICAgIGFic3RyYWN0IElNR19TSVpFIDogSW1nQ0ROQ29uZmlnRFRPO1xyXG5cclxuICAgIGFic3RyYWN0IGdldFNob3BDYXRlZ29yeSgpOiBzdHJpbmc7XHJcblxyXG4gICAgYWJzdHJhY3QgZ2V0U2hvcEltZ0xpc3QocGFyYW1zPzogSHR0cFBhcmFtcyk6IE9ic2VydmFibGU8SW1nUGljdHVyZXNEVE8+O1xyXG5cclxuICAgIGFic3RyYWN0IGdldFNob3BUb3RhbEltZ0xpc3QocGFyYW1zPzogSHR0cFBhcmFtcyk6IE9ic2VydmFibGU8bnVtYmVyPjtcclxuXHJcbiAgICBhYnN0cmFjdCBnZXRTaG9wSW1nKGlkRmlsZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxJbWdQaWN0dXJlRFRPPjtcclxuXHJcbiAgICBhYnN0cmFjdCB1cGxvYWRGaWxlKGZvcm1EYXRhOiBGb3JtRGF0YSk6IE9ic2VydmFibGU8SW1nUGljdHVyZURUTz47XHJcblxyXG4gICAgYWJzdHJhY3QgdXBsb2FkRmlsZUJ5VXJsKHVybDogc3RyaW5nLCBmaWxlTmFtZT86IHN0cmluZyk6IE9ic2VydmFibGU8SW1nUGljdHVyZURUTz47XHJcblxyXG4gICAgYWJzdHJhY3QgcmVwbGFjZUltZyhpbWFnZUJhc2U2NDogc3RyaW5nLCBpZF9maWxlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEltZ1BpY3R1cmVEVE8+O1xyXG5cclxuICAgIGFic3RyYWN0IGNoYW5nZUltZ05hbWUoZmlsZU5hbWU6IHN0cmluZywgaWRfZmlsZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxJbWdQaWN0dXJlRFRPPjtcclxuXHJcbiAgICBhYnN0cmFjdCByZW1vdmVJbWcoaWRfZmlsZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxJbWdQaWN0dXJlRFRPPjtcclxuXHJcbiAgICBhYnN0cmFjdCByZW1vdmVNdWx0aXBsZUltZyhpZF9hcnJheTogc3RyaW5nW10pOiBPYnNlcnZhYmxlPEltZ1BpY3R1cmVEVE9bXT47XHJcblxyXG59Il19
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ei1pbWctbWFuYWdlci9zcmMvbGliL3NlcnZpY2VzL2FwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTzNDLE1BQU0sT0FBZ0IsVUFBVTs7dUdBQVYsVUFBVTsyR0FBVixVQUFVOzJGQUFWLFVBQVU7a0JBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEltZ1BpY3R1cmVEVE8sIEltZ1BpY3R1cmVzRFRPIH0gZnJvbSAnLi4vZHRvL2ltZy1tYW5hZ2VyLmR0byc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSW1nQ0ROQ29uZmlnRFRPIH0gZnJvbSAnLi4vZHRvL2V4cG9ydC1kdG9zLmFwaSc7XHJcbmltcG9ydCB7IEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBcGlTZXJ2aWNlIHtcclxuXHJcbiAgICBhYnN0cmFjdCBDT05GSUc6IHtcclxuICAgICAgICBpbWFnZV9tYW5hZ2VyX3JvdXRlOiBzdHJpbmc7XHJcbiAgICAgICAgY2FudmFfdG9rZW46IHN0cmluZztcclxuICAgICAgICBjYW52YV91cmw6IHN0cmluZztcclxuICAgICAgICBwZXhlbHNfdG9rZW46IHN0cmluZ1xyXG4gICAgICAgIHBleGVsc19yb3V0ZTogc3RyaW5nO1xyXG4gICAgICAgIGFzc2V0c19yb3V0ZTogc3RyaW5nO1xyXG4gICAgfVxyXG5cclxuICAgIGFic3RyYWN0IElNR19TSVpFIDogSW1nQ0ROQ29uZmlnRFRPO1xyXG5cclxuICAgIGFic3RyYWN0IGdldFNob3BDYXRlZ29yeSgpOiBzdHJpbmc7XHJcblxyXG4gICAgYWJzdHJhY3QgZ2V0U2hvcEltZ0xpc3QocGFyYW1zPzogSHR0cFBhcmFtcyk6IE9ic2VydmFibGU8SW1nUGljdHVyZXNEVE8+O1xyXG5cclxuICAgIGFic3RyYWN0IGdldFNob3BUb3RhbEltZ0xpc3QocGFyYW1zPzogSHR0cFBhcmFtcyk6IE9ic2VydmFibGU8bnVtYmVyPjtcclxuXHJcbiAgICBhYnN0cmFjdCBnZXRTaG9wSW1nKGlkRmlsZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxJbWdQaWN0dXJlRFRPPjtcclxuXHJcbiAgICBhYnN0cmFjdCB1cGxvYWRGaWxlKGZvcm1EYXRhOiBGb3JtRGF0YSk6IE9ic2VydmFibGU8SW1nUGljdHVyZURUTz47XHJcblxyXG4gICAgYWJzdHJhY3QgdXBsb2FkRmlsZUJ5VXJsKHVybDogc3RyaW5nLCBmaWxlTmFtZT86IHN0cmluZyk6IE9ic2VydmFibGU8SW1nUGljdHVyZURUTz47XHJcblxyXG4gICAgYWJzdHJhY3QgcmVwbGFjZUltZyhpbWFnZUJhc2U2NDogc3RyaW5nLCBpZF9maWxlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEltZ1BpY3R1cmVEVE8+O1xyXG5cclxuICAgIGFic3RyYWN0IGNoYW5nZUltZ05hbWUoZmlsZU5hbWU6IHN0cmluZywgaWRfZmlsZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxJbWdQaWN0dXJlRFRPPjtcclxuXHJcbiAgICBhYnN0cmFjdCBjaGFuZ2VWaWRlb0xpbmsodmlkZW9MaW5rOiBzdHJpbmcsIGlkX2ZpbGU6IHN0cmluZyk6IE9ic2VydmFibGU8SW1nUGljdHVyZURUTz47XHJcblxyXG4gICAgYWJzdHJhY3QgcmVtb3ZlSW1nKGlkX2ZpbGU6IHN0cmluZyk6IE9ic2VydmFibGU8SW1nUGljdHVyZURUTz47XHJcblxyXG4gICAgYWJzdHJhY3QgcmVtb3ZlTXVsdGlwbGVJbWcoaWRfYXJyYXk6IHN0cmluZ1tdKTogT2JzZXJ2YWJsZTxJbWdQaWN0dXJlRFRPW10+O1xyXG5cclxufVxyXG4iXX0=
@@ -5,15 +5,22 @@ export class ImgEventService {
5
5
  constructor() {
6
6
  this.imgRemoved$ = new BehaviorSubject(undefined);
7
7
  this.imgToEditEvent = new Subject();
8
+ this.imgToVideoEvent = new Subject();
8
9
  this.imgAdded = new Subject();
9
10
  this.listDisplayedChange = new Subject();
10
11
  }
11
12
  emitImgToEdit(imgToEdit) {
12
13
  this.imgToEditEvent.next(imgToEdit);
13
14
  }
15
+ emitImgToVideo(imgToEdit) {
16
+ this.imgToVideoEvent.next(imgToEdit);
17
+ }
14
18
  getImgToEditEventListener() {
15
19
  return this.imgToEditEvent.asObservable();
16
20
  }
21
+ getImgToVideoEventListener() {
22
+ return this.imgToVideoEvent.asObservable();
23
+ }
17
24
  emitImgAdded(id_file) {
18
25
  this.imgAdded.next(id_file);
19
26
  }
@@ -32,4 +39,4 @@ ImgEventService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", vers
32
39
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ImgEventService, decorators: [{
33
40
  type: Injectable
34
41
  }] });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLWV2ZW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ei1pbWctbWFuYWdlci9zcmMvbGliL3NlcnZpY2VzL2ltZy1ldmVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBSWhELE1BQU0sT0FBTyxlQUFlO0lBRDVCO1FBR0UsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBUyxTQUFTLENBQUMsQ0FBQztRQUM3QyxtQkFBYyxHQUEyQixJQUFJLE9BQU8sRUFBaUIsQ0FBQztRQUN0RSxhQUFRLEdBQW9CLElBQUksT0FBTyxFQUFVLENBQUM7UUFDbEQsd0JBQW1CLEdBQXFCLElBQUksT0FBTyxFQUFXLENBQUM7S0EwQnhFO0lBdkJFLGFBQWEsQ0FBQyxTQUF3QjtRQUNuQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQseUJBQXlCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0lBRUQsWUFBWSxDQUFDLE9BQWU7UUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELHVCQUF1QjtRQUNwQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVELHVCQUF1QixDQUFDLEtBQWM7UUFDbkMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsc0JBQXNCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ2xELENBQUM7OzRHQTlCUyxlQUFlO2dIQUFmLGVBQWU7MkZBQWYsZUFBZTtrQkFEM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IEltZ1BpY3R1cmVEVE8gfSBmcm9tICcuLi9kdG8vaW1nLW1hbmFnZXIuZHRvJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEltZ0V2ZW50U2VydmljZSB7XHJcblxyXG4gIGltZ1JlbW92ZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KHVuZGVmaW5lZCk7XHJcbiAgcHJpdmF0ZSBpbWdUb0VkaXRFdmVudDogU3ViamVjdDxJbWdQaWN0dXJlRFRPPiA9IG5ldyBTdWJqZWN0PEltZ1BpY3R1cmVEVE8+KCk7XHJcbiAgcHJpdmF0ZSBpbWdBZGRlZDogU3ViamVjdDxzdHJpbmc+ID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xyXG4gIHByaXZhdGUgbGlzdERpc3BsYXllZENoYW5nZTogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XHJcblxyXG5cclxuICAgZW1pdEltZ1RvRWRpdChpbWdUb0VkaXQ6IEltZ1BpY3R1cmVEVE8pe1xyXG4gICAgICB0aGlzLmltZ1RvRWRpdEV2ZW50Lm5leHQoaW1nVG9FZGl0KTtcclxuICAgfVxyXG5cclxuICAgZ2V0SW1nVG9FZGl0RXZlbnRMaXN0ZW5lcigpe1xyXG4gICAgICByZXR1cm4gdGhpcy5pbWdUb0VkaXRFdmVudC5hc09ic2VydmFibGUoKTtcclxuICAgfVxyXG5cclxuICAgZW1pdEltZ0FkZGVkKGlkX2ZpbGU6IHN0cmluZyl7XHJcbiAgICAgIHRoaXMuaW1nQWRkZWQubmV4dChpZF9maWxlKTtcclxuICAgfVxyXG5cclxuICAgZ2V0SW1nQWRkZWRFdmVudExpc3RuZXIoKXtcclxuICAgICAgcmV0dXJuIHRoaXMuaW1nQWRkZWQuYXNPYnNlcnZhYmxlKCk7XHJcbiAgIH1cclxuXHJcbiAgIGVtaXRsaXN0RGlzcGxheWVkQ2hhbmdlKHZhbHVlOiBib29sZWFuKXtcclxuICAgICAgdGhpcy5saXN0RGlzcGxheWVkQ2hhbmdlLm5leHQodmFsdWUpO1xyXG4gICB9XHJcblxyXG4gICBnZXRsaXN0RGlzcGxheWVkQ2hhbmdlKCl7XHJcbiAgICAgIHJldHVybiB0aGlzLmxpc3REaXNwbGF5ZWRDaGFuZ2UuYXNPYnNlcnZhYmxlKCk7XHJcbiAgIH1cclxufVxyXG4iXX0=
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLWV2ZW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ei1pbWctbWFuYWdlci9zcmMvbGliL3NlcnZpY2VzL2ltZy1ldmVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBSWhELE1BQU0sT0FBTyxlQUFlO0lBRDVCO1FBR0UsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBUyxTQUFTLENBQUMsQ0FBQztRQUM3QyxtQkFBYyxHQUEyQixJQUFJLE9BQU8sRUFBaUIsQ0FBQztRQUN0RSxvQkFBZSxHQUEyQixJQUFJLE9BQU8sRUFBaUIsQ0FBQztRQUN2RSxhQUFRLEdBQW9CLElBQUksT0FBTyxFQUFVLENBQUM7UUFDbEQsd0JBQW1CLEdBQXFCLElBQUksT0FBTyxFQUFXLENBQUM7S0FrQ3hFO0lBL0JFLGFBQWEsQ0FBQyxTQUF3QjtRQUNuQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsY0FBYyxDQUFDLFNBQXdCO1FBQ3BDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCx5QkFBeUI7UUFDdEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzdDLENBQUM7SUFFRCwwQkFBMEI7UUFDdkIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzlDLENBQUM7SUFFRCxZQUFZLENBQUMsT0FBZTtRQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsdUJBQXVCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsdUJBQXVCLENBQUMsS0FBYztRQUNuQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxzQkFBc0I7UUFDbkIsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDbEQsQ0FBQzs7NEdBdkNTLGVBQWU7Z0hBQWYsZUFBZTsyRkFBZixlQUFlO2tCQUQzQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgSW1nUGljdHVyZURUTyB9IGZyb20gJy4uL2R0by9pbWctbWFuYWdlci5kdG8nO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgSW1nRXZlbnRTZXJ2aWNlIHtcclxuXHJcbiAgaW1nUmVtb3ZlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4odW5kZWZpbmVkKTtcclxuICBwcml2YXRlIGltZ1RvRWRpdEV2ZW50OiBTdWJqZWN0PEltZ1BpY3R1cmVEVE8+ID0gbmV3IFN1YmplY3Q8SW1nUGljdHVyZURUTz4oKTtcclxuICBwcml2YXRlIGltZ1RvVmlkZW9FdmVudDogU3ViamVjdDxJbWdQaWN0dXJlRFRPPiA9IG5ldyBTdWJqZWN0PEltZ1BpY3R1cmVEVE8+KCk7XHJcbiAgcHJpdmF0ZSBpbWdBZGRlZDogU3ViamVjdDxzdHJpbmc+ID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xyXG4gIHByaXZhdGUgbGlzdERpc3BsYXllZENoYW5nZTogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XHJcblxyXG5cclxuICAgZW1pdEltZ1RvRWRpdChpbWdUb0VkaXQ6IEltZ1BpY3R1cmVEVE8pe1xyXG4gICAgICB0aGlzLmltZ1RvRWRpdEV2ZW50Lm5leHQoaW1nVG9FZGl0KTtcclxuICAgfVxyXG5cclxuICAgZW1pdEltZ1RvVmlkZW8oaW1nVG9FZGl0OiBJbWdQaWN0dXJlRFRPKXtcclxuICAgICAgdGhpcy5pbWdUb1ZpZGVvRXZlbnQubmV4dChpbWdUb0VkaXQpO1xyXG4gICB9XHJcblxyXG4gICBnZXRJbWdUb0VkaXRFdmVudExpc3RlbmVyKCl7XHJcbiAgICAgIHJldHVybiB0aGlzLmltZ1RvRWRpdEV2ZW50LmFzT2JzZXJ2YWJsZSgpO1xyXG4gICB9XHJcblxyXG4gICBnZXRJbWdUb1ZpZGVvRXZlbnRMaXN0ZW5lcigpe1xyXG4gICAgICByZXR1cm4gdGhpcy5pbWdUb1ZpZGVvRXZlbnQuYXNPYnNlcnZhYmxlKCk7XHJcbiAgIH1cclxuXHJcbiAgIGVtaXRJbWdBZGRlZChpZF9maWxlOiBzdHJpbmcpe1xyXG4gICAgICB0aGlzLmltZ0FkZGVkLm5leHQoaWRfZmlsZSk7XHJcbiAgIH1cclxuXHJcbiAgIGdldEltZ0FkZGVkRXZlbnRMaXN0bmVyKCl7XHJcbiAgICAgIHJldHVybiB0aGlzLmltZ0FkZGVkLmFzT2JzZXJ2YWJsZSgpO1xyXG4gICB9XHJcblxyXG4gICBlbWl0bGlzdERpc3BsYXllZENoYW5nZSh2YWx1ZTogYm9vbGVhbil7XHJcbiAgICAgIHRoaXMubGlzdERpc3BsYXllZENoYW5nZS5uZXh0KHZhbHVlKTtcclxuICAgfVxyXG5cclxuICAgZ2V0bGlzdERpc3BsYXllZENoYW5nZSgpe1xyXG4gICAgICByZXR1cm4gdGhpcy5saXN0RGlzcGxheWVkQ2hhbmdlLmFzT2JzZXJ2YWJsZSgpO1xyXG4gICB9XHJcbn1cclxuIl19