@wizishop/img-manager 15.2.5 → 15.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -104,12 +104,12 @@ In your `index.html` file add the following balise.
104
104
  ```
105
105
 
106
106
  ## Add package dependencies
107
- In your `app.module.ts` :
107
+ In your module like `app.module.ts` :
108
108
  ```
109
109
  import { BrowserModule } from '@angular/platform-browser';
110
110
  import { NgModule } from '@angular/core';
111
111
  import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
112
- import { WzImgManagerModule } from '@wizishop/img-manager';
112
+ import { WzImgManagerModule, ApiService } from '@wizishop/img-manager';
113
113
  import { AppComponent } from './app.component';
114
114
  import { TranslateModule, TranslateLoader} from '@ngx-translate/core';
115
115
  import { HttpClient } from '@angular/common/http';
@@ -130,7 +130,10 @@ export function HttpLoaderFactory(http: HttpClient) {
130
130
  imports: [
131
131
  BrowserModule,
132
132
  BrowserAnimationsModule,
133
- WzImgManagerModule,
133
+ WzImgManagerModule.withConfig({
134
+ provide: ApiService,
135
+ useClass: ImageManagerApiService,
136
+ }),
134
137
  TranslateModule.forRoot({
135
138
  defaultLanguage: 'fr',
136
139
  loader: {
@@ -146,151 +149,149 @@ export function HttpLoaderFactory(http: HttpClient) {
146
149
  export class AppModule { }
147
150
  ```
148
151
 
149
- ### Install external package dependencies
150
- The list of all external package required by the image manager is listed at at the end of the installation.
152
+ ### Provide the ApiService
153
+ You must provide the ApiService needed to fetch images, upload new images...
154
+ Your service should extends ApiService from `@wizishop/img-manager` in order to implements all needed properties and methods.
151
155
 
152
- Install all the dependencies packages.
153
- It should look like that :
154
- `npm i tslib @angular/core @ngx-translate @angular/common rxjs @wizishop/ng-wizi-bulma @angular/common @angular/forms ngx-scrollbar ngx-scrollbar/reached-event ngx-image-cropper @angular/cdk/table`
156
+ Example:
155
157
 
156
- ## Image Manager setup
157
- ### Image Manager Set External And Display config
158
- Ts file :
159
158
  ```
160
- id_shop;
161
- token;
162
- externalConfig: ImgManagerConfigDto;
159
+ @Injectable()
160
+ export class ImageManagerApiService implements ApiService {
163
161
 
164
- constructor(
165
- private imgSelectionService: ImgSelectionService
166
- ){}
162
+ SHOP_ID_KEY = "shopIdKey";
163
+ SHOP_TOKEN_KEY = "shopTokenKey";
167
164
 
168
- ngOnInit(): void {
169
- this.imgManagerDisplayConfig = this.imgManagerService.getImgManagerDisplayConfig('window');
170
- this.setExternalConfig();
171
- }
165
+ get shopId(): number {
166
+ return Number(localStorage.getItem(this.SHOP_ID_KEY)) || 0;
167
+ }
172
168
 
173
- setExternalConfig() {
174
- this.id_shop = this.appService.getShopId();
175
- this.token = this.appService.getToken();
176
-
177
- const apiDto = new ImgApiDto();
178
- apiDto.shop_token = this.token;
179
- apiDto.image_manager_route = `${environment.wiziApiBaseUrl}/image-manager/shops/${this.id_shop}`;
180
- apiDto.canva_token = 'tokenCanva';
181
- apiDto.canva_url = 'https://sdk.canva.com/v2/beta/api.js';
182
- apiDto.pexels_token = 'tokenPexelsApi';
183
- apiDto.pexels_route = 'https://api.pexels.com/v1';
184
- apiDto.shop_category = this.appService.getShop().category;
185
-
186
- const imgCDNConfigDTO = new ImgCDNConfigDTO();
187
- imgCDNConfigDTO.url_raw_image = `${environment.imageManager.CDN_URL}/_i/${this.id_shop}/RAW-`;
188
- imgCDNConfigDTO.url_800_image = `${environment.imageManager.CDN_URL}/_i/${this.id_shop}/cs800-`;
189
- imgCDNConfigDTO.url_400_image = `${environment.imageManager.CDN_URL}/_i/${this.id_shop}/cs400-`;
190
- imgCDNConfigDTO.url_200_image = `${environment.imageManager.CDN_URL}/_i/${this.id_shop}/cs200-`;
191
- imgCDNConfigDTO.url_100_image = `${environment.imageManager.CDN_URL}/_i/${this.id_shop}/m100-`;
192
-
193
- this.externalConfig = new ImgManagerConfigDto();
194
- this.externalConfig.api = apiDto;
195
- this.externalConfig.imgCDNConfig = imgCDNConfigDTO;
196
- }
169
+ get shopToken(): string {
170
+ return localStorage.getItem(this.SHOP_TOKEN_KEY) || '';
171
+ }
172
+
173
+ CONFIG = {
174
+ image_manager_route: `https://api.wizilocal.com/v3/image-manager/shops/${this.shopId}`,
175
+ canva_token: 'wdByHayF5v57nj2ZSLvu055O',
176
+ canva_url: 'https://sdk.canva.com/designbutton/v2/api.js',
177
+ pexels_token: '563492ad6f91700001000001e39215727d8b42c1b08498a9ce1e6b94',
178
+ pexels_route: 'https://api.pexels.com/v1',
179
+ assets_route: 'assets/img-manager/'
180
+ }
181
+
182
+ IMG_SIZE = {
183
+ url_raw_image: `https://mepdia.wizilocal.com/_i/${this.shopId}/RAW-`,
184
+ url_100_image: `https://media.wizilocal.com/_i/${this.shopId}/m100-`,
185
+ url_200_image: `https://media.wizilocal.com/_i/${this.shopId}/cs200-`,
186
+ url_400_image: `https://media.wizilocal.com/_i/${this.shopId}/cs400-`,
187
+ url_800_image: `https://media.wizilocal.com/_i/${this.shopId}/cs800-`
188
+ }
189
+
190
+ constructor(private http: HttpClient) {
191
+ }
192
+
193
+ getShopCategory(): string {
194
+ return 'other';
195
+ }
196
+
197
+ private getOptionsHeaders(params?: ParamsImgManagerDTO) {
198
+ const header = { headers: new HttpHeaders({
199
+ Authorization: 'Bearer ' + this.shopToken
200
+ })
201
+ };
202
+ if (params) {
203
+ header['params'] = params
204
+ }
205
+ return header;
206
+ }
197
207
 
198
- ```
208
+ getShopImgList(params?: ParamsImgManagerDTO): Observable<ImgPicturesDTO> {
209
+ return this.http.get<ImgPicturesDTO>(`${this.CONFIG.image_manager_route}/images`, this.getOptionsHeaders(params));
210
+ }
199
211
 
200
- You can choose the display config with the parameter passed in the getImgManagerDisplayConfig method.
212
+ getShopTotalImgList(params?: ParamsImgManagerDTO) {
213
+ return this.http.get<{totalRecords: string}>(`${this.CONFIG.image_manager_route}/total/image`, this.getOptionsHeaders(params)).pipe(map(data => Number(data.totalRecords)));
214
+ }
201
215
 
202
- ```
203
- this.imgManagerService.getImgManagerDisplayConfig("window" | "wizi-block" | "fiche-product" | "simple-with-button");
204
- ```
216
+ getShopImg(idFile: string): Observable<ImgPictureDTO> {
217
+ return this.http.get<ImgPictureDTO>(`${this.CONFIG.image_manager_route}/images/${idFile}`, this.getOptionsHeaders());
218
+ }
205
219
 
220
+ uploadFile(formData: FormData) {
221
+ return this.http.post<ImgPictureDTO>(`${this.CONFIG.image_manager_route}/images/template`, formData, this.getOptionsHeaders());
222
+ }
206
223
 
207
- Html file :
208
- ```
209
- <wz-img-manager
210
- #wzImgManager
211
- [stateDisplayed]="imgManagerDisplayConfig.stateDisplayed"
212
- [multipleImgMode]="imgManagerDisplayConfig.multipleImgMode"
213
- [showImgManagerModule]="imgManagerDisplayConfig.showImgManagerModule && openImgManager"
214
- [showSelection]="imgManagerDisplayConfig.showSelection"
215
- [externalConfig]="imgExternalConfig"
216
- (imgManagerClosed)="onImgManagerClosed()">
217
- </wz-img-manager>
218
- ```
219
- ### Image Manager - Wizi-block and Canva
220
- <!-- TODO ADD provider -->
221
- TS file :
222
- ```
223
- id_shop: number;
224
- token: string;
225
- openImgManager: boolean = false;
226
- waitForImage: boolean = false;
227
- imgExternalConfig: ImgManagerConfigDto;
228
-
229
- constructor(
230
- private imgSelectionService: ImgSelectionService,
231
- private canvaService: CanvaService
232
- ){}
233
-
234
- ngOnInit() {
235
- // Config img manager
236
- this.imgManagerDisplayConfig = this.imgManagerService.getImgManagerDisplayConfig('wizi-block');
237
- this.setImgExternalConfig();
238
- this.mediaConnectorService
239
- .bindEventImage()
240
- .pipe(takeUntil(this.unsubscribe))
241
- .subscribe((mediaDto: MediaDto) => {
242
- this.imgSelectionService.setImgSelection(null); // Reset last img selected
243
- this.canvaService.expectedImgSizesChange(mediaDto);
244
- if (this.waitForImage) {
245
- return;
224
+ uploadFileByUrl(url: string, fileName?: string) {
225
+ return this.http.post<ImgPictureDTO>(`${this.CONFIG.image_manager_route}/images/template`, { url, fileName }, this.getOptionsHeaders());
226
+ }
227
+
228
+ replaceImg(imageBase64: string, id_file: string) {
229
+ const body = {
230
+ imageBase64,
231
+ type : "RAW"
246
232
  }
247
- this.waitForImage = true;
248
- this.openImgManager = true;
249
-
250
- this.imgSelectionService
251
- .getImgSelectionChange()
252
- .pipe(first(data => !!data))
253
- .subscribe(imgSelectionList => {
254
- if (imgSelectionList && imgSelectionList.length) {
255
- this.setImgInWiziBlock(imgSelectionList[0].file_name, imgSelectionList[0].id_file);
256
- }
257
- });
258
- });
259
-
260
- ...
261
- }
233
+ return this.http.put<ImgPictureDTO>(`${this.CONFIG.image_manager_route}/images/${id_file}/replace`, body, this.getOptionsHeaders());
234
+ }
262
235
 
263
- onImgManagerClosed() {
264
- // Close img manager
265
- this.openImgManager = false;
266
- this.waitForImage = false;
267
- }
236
+ changeImgName(fileName: string, id_file: string) {
237
+ return this.http.put<ImgPictureDTO>(`${this.CONFIG.image_manager_route}/images/${id_file}?file_name=${fileName}`, null, this.getOptionsHeaders());
238
+ }
268
239
 
269
- setImgInWiziBlock(file_name: string, id_file: string) {
270
- const image_url = this.imageManagerService.getUrlImage(this.id_shop, file_name, 'RAW');
240
+ removeImg(id_file: string) {
241
+ return this.http.delete<ImgPictureDTO>(`${this.CONFIG.image_manager_route}/images/${id_file}`, this.getOptionsHeaders());
242
+ }
271
243
 
272
- const imgSelected = new MediaDto();
273
- imgSelected.id = id_file;
274
- imgSelected.image_url = image_url;
244
+ removeMultipleImg(id_array: string[]) {
245
+ return this.http.post<ImgPictureDTO[]>(`${this.CONFIG.image_manager_route}/images-multiple-delete`, { id_array }, this.getOptionsHeaders());
246
+ }
275
247
 
276
- // Send img to wiziblock
277
- this.mediaConnectorService.image = imgSelected;
278
248
  }
279
249
  ```
280
250
 
251
+
252
+ ### Install external package dependencies
253
+ The list of all external package required by the image manager is listed at at the end of the installation.
254
+
255
+ Install all the dependencies packages.
256
+ It should look like that :
257
+ `npm i tslib @angular/core @ngx-translate @angular/common rxjs @wizishop/ng-wizi-bulma @angular/common @angular/forms ngx-scrollbar ngx-scrollbar/reached-event ngx-image-cropper @angular/cdk/table`
258
+
259
+ ## Image Manager setup
260
+ ### Choose the image manager display
261
+ You can choose the display config with the parameter passed in the getImgManagerDisplayConfig method.
262
+
263
+ ```
264
+ imgManagerDisplayConfig = this.imgManagerService.getImgManagerDisplayConfig('wizi-block');
265
+ ```
266
+
267
+
281
268
  Html file :
282
269
  ```
283
270
  <wz-img-manager
284
- #wzImgManager
285
271
  [stateDisplayed]="imgManagerDisplayConfig.stateDisplayed"
286
272
  [multipleImgMode]="imgManagerDisplayConfig.multipleImgMode"
287
273
  [showImgManagerModule]="imgManagerDisplayConfig.showImgManagerModule && openImgManager"
288
274
  [showSelection]="imgManagerDisplayConfig.showSelection"
289
- [externalConfig]="imgExternalConfig"
290
275
  (imgManagerClosed)="onImgManagerClosed()"
276
+ (imgSelectionChange)="onImageSelected($event)"
291
277
  >
292
278
  </wz-img-manager>
279
+
280
+ ```
281
+ ### Detect when an image is selected
282
+
283
+ TS file :
284
+ ```
285
+ onImageSelected(imgPictures: ImgPictureDTO[]) {
286
+ if (!this.waitForImage) {
287
+ return;
288
+ }
289
+ if (imgPictures && imgPictures.length) {
290
+ this.setImgInWiziBlock(imgPictures[0].file_name, imgPictures[0].id_file);
291
+ }
292
+ }
293
293
  ```
294
+ ### Set Canva expected image size
294
295
  The `this.canvaService.expectedImgSizesChange(mediaDto);` send the expected size of the image asked by the wizi block. It is optional.
295
296
 
296
297
  ## Config the translations
@@ -337,7 +338,7 @@ import { TranslateModule } from '@ngx-translate/core';
337
338
  })
338
339
  ```
339
340
 
340
- And somewhere in the project or in a custom translat loader :
341
+ And somewhere in the project or in a custom translate loader :
341
342
 
342
343
  ```
343
344
  import { TranslateService } from '@ngx-translate/core';
@@ -36,7 +36,7 @@ export class CanvaService {
36
36
  return this.apiService.CONFIG.canva_token;
37
37
  }
38
38
  getCanvaLogo() {
39
- return this.apiService.CONFIG.canva_url + "canva/icon_canva.svg";
39
+ return this.apiService.CONFIG.assets_route + "canva/icon_canva.svg";
40
40
  }
41
41
  bindEventExepectedImgSizeChange() {
42
42
  return this.bindExpectedSizeDone;
@@ -156,4 +156,4 @@ CanvaService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version
156
156
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CanvaService, decorators: [{
157
157
  type: Injectable
158
158
  }], ctorParameters: function () { return [{ type: i1.ImgEventService }, { type: i2.AlertService }, { type: i3.TranslateService }, { type: i4.UploadService }, { type: i5.ApiService }]; } });
159
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FudmEuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvc2VydmljZXMvY2FudmEuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQWMsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRy9ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBUzNDLE1BQU0sT0FBTyxZQUFZO0lBcUJ2QixZQUNVLGlCQUFrQyxFQUNsQyxZQUEwQixFQUMxQixnQkFBa0MsRUFDbEMsYUFBNEIsRUFDNUIsVUFBc0I7UUFKdEIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFpQjtRQUNsQyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFoQmhDLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsaUJBQVksR0FBRyxrQ0FBa0MsQ0FBQztRQUNsRCx1QkFBa0IsR0FBRyxtQ0FBbUMsQ0FBQztRQUN6RCx3QkFBbUIsR0FBRyx5Q0FBeUMsQ0FBQztRQUNoRSx3QkFBbUIsR0FBRyx5Q0FBeUMsQ0FB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QyxrQkFBa0IsRUFBRSxDQUFDO2dCQUUxQixJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLEdBQUcsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRTtvQkFDbkQsSUFBSSxDQUFDLFlBQVksQ0FBQyw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQTtpQkFDOUY7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7aUJBQ3ZEO1lBQ0gsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7O3lHQTlKVSxZQUFZOzZHQUFaLFlBQVk7MkZBQVosWUFBWTtrQkFEeEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmliZXIsIEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ2FudmFCdXR0b25BcGkgfSBmcm9tICcuLi9kdG8vY2FudmEuZHRvJztcbmltcG9ydCB7IFdpemlCbG9ja01lZGlhRHRvIH0gZnJvbSAnLi4vZHRvL3dpemktYmxvY2stbWVkaWEuZHRvJztcbmltcG9ydCB7IEFsZXJ0U2VydmljZSB9IGZyb20gJy4vYWxlcnQuc2VydmljZSc7XG5pbXBvcnQgeyBJbWdFdmVudFNlcnZpY2UgfSBmcm9tICcuL2ltZy1ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDYW52YUNyZWF0ZURlc2lnbiB9IGZyb20gJy4uL2R0by9jYW52YS1jcmVhdGUtZGVzaWduLmR0byc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBVcGxvYWRTZXJ2aWNlIH0gZnJvbSAnLi91cGxvYWQuc2VydmljZSc7XG5pbXBvcnQgeyBBcGlTZXJ2aWNlIH0gZnJvbSAnLi9hcGkuc2VydmljZSc7XG5cbmRlY2xhcmUgbGV0IENhbnZhICA6IHtcbiAgRGVzaWduQnV0dG9uIDoge1xuICAgIGluaXRpYWxpemU6IChvcHRzOiB7IGFwaUtleTogc3RyaW5nIH0pID0+IFByb21pc2U8Q2FudmFCdXR0b25BcGk+O1xuICB9XG59O1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ2FudmFTZXJ2aWNlIHtcblxuICBjYW52YUFwaSAvLyBPYmplY3QgdXNlIHRvIG1hbmFnZSB0aGUgY2FudmEgYXBpXG4gIGdldCBjYW52YUFwaVVSTCgpIHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLkNPTkZJRy5jYW52YV91cmw7XG4gIH07XG4gIGdldCBjYW52YUFwaUtleSgpIHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLkNPTkZJRy5jYW52YV90b2tlbjtcbiAgfVxuXG4gIGltZ0xvYWRpbmcgPSBmYWxzZTtcbiAgdXBsb2FkaW5nSW1nID0gJ0ltZ01hbmFnZXIuQ2FudmFCdG4udXBsb2FkaW5nSW1nJztcbiAgc3VjY2Vzc1VwbG9hZFBob3RvID0gJ0ltZ01hbmFnZXIuQ2FudmFCdG4uc3VjY2Vzc0ltcG9ydCc7XG4gIGVycm9yVXBsb2FkQ2FudmFJbWcgPSAnSW1nTWFuYWdlci5DYW52YUJ0bi5lcnJvclVwbG9hZENhbnZhSW1nJztcbiAgZXJyb3JSZW5hbWVDYW52YUltZyA9ICdJbWdNYW5hZ2VyLkNhbnZhQnRuLmVycm9yUmVuYW1lQ2FudmFJbWcnO1xuXG4gIGZvcmNlVG9PcGVuQ2FudmE6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcml2YXRlIGJpbmRFeHBlY3RlZEltZ1NpemVFdmVudDogQmVoYXZpb3JTdWJqZWN0PFdpemlCbG9ja01lZGlhRHRvPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8V2l6aUJsb2NrTWVkaWFEdG8+KG51bGwpO1xuICBwcml2YXRlIGJpbmRFeHBlY3RlZFNpemVEb25lID0gdGhpcy5iaW5kRXhwZWN0ZWRJbWdTaXplRXZlbnQuYXNPYnNlcnZhYmxlKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB3ekltZ0V2ZW50U2VydmljZTogSW1nRXZlbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgdXBsb2FkU2VydmljZTogVXBsb2FkU2VydmljZSxcbiAgICBwcml2YXRlIGFwaVNlcnZpY2U6IEFwaVNlcnZpY2VcbiAgKSB7fVxuXG4gIGdldENhbnZhTG9nbygpIHtcbiAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuQ09ORklHLmNhbnZhX3VybCArIFwiY2FudmEvaWNvbl9jYW52YS5zdmdcIjtcbiAgfVxuXG4gIGJpbmRFdmVudEV4ZXBlY3RlZEltZ1NpemVDaGFuZ2UoKSB7XG4gICAgcmV0dXJuIHRoaXMuYmluZEV4cGVjdGVkU2l6ZURvbmU7XG4gIH1cblxuICBleHBlY3RlZEltZ1NpemVzQ2hhbmdlIChtZWRpYURUTzogV2l6aUJsb2NrTWVkaWFEdG8pe1xuICAgIHRoaXMuYmluZEV4cGVjdGVkSW1nU2l6ZUV2ZW50Lm5leHQobWVkaWFEVE8pO1xuICAgIGlmICh0aGlzLmZvcmNlVG9PcGVuQ2FudmEpIHtcbiAgICAgIHRoaXMub3BlbkNhbnZhKHBhcnNlSW50KG1lZGlhRFRPLmltYWdlX3dpZHRoKSwgcGFyc2VJbnQobWVkaWFEVE8uaW1hZ2VfaGVpZ2h0KSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0Q2FudmFBcGkoKTpPYnNlcnZhYmxlPENhbnZhQnV0dG9uQXBpPiB7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKG9ic2VydmVyID0+IHtcbiAgICB0aGlzLmxvYWRDYW52YSgpLnN1YnNjcmliZSh7XG4gICAgICAgIGNvbXBsZXRlOiAoKSA9PiB7XG4gICAgICAgICAgICBpZih0aGlzLmNhbnZhQXBpICYmIENhbnZhLkRlc2lnbkJ1dHRvbikge1xuICAgICAgICAgICAgICAgIG9ic2VydmVyLm5leHQodGhpcy5jYW52YUFwaSk7XG4gICAgICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplQ2FudmEob2JzZXJ2ZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemVDYW52YShvYnNlcnZlcjogU3Vic2NyaWJlcjxDYW52YUJ1dHRvbkFwaT4pIHtcbiAgICBpZiAoQ2FudmEuRGVzaWduQnV0dG9uKSB7XG4gICAgICBDYW52YS5EZXNpZ25CdXR0b24uaW5pdGlhbGl6ZSh7XG4gICAgICAgIGFwaUtleTogdGhpcy5jYW52YUFwaUtleVxuXG4gICAgICB9KS50aGVuKChjYW52YUFwaSkgPT4ge1xuICAgICAgICB0aGlzLmNhbnZhQXBpID0gIGNhbnZhQXBpO1xuICAgICAgICBvYnNlcnZlci5uZXh0KHRoaXMuY2FudmFBcGkpO1xuICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBsb2FkQ2FudmEoKTpPYnNlcnZhYmxlPG51bGw+IHtcbiAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZShvYnNlcnZlciA9PiB7XG4gICAgICAgIGlmKHRoaXMuY2FudmFBcGkpIHtcbiAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgICAgICB9ZWxzZXtcbiAgICAgICAgICB0aGlzLmxvYWRDYW52YVNjcmlwdChvYnNlcnZlcik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBsb2FkQ2FudmFTY3JpcHQob2JzZXJ2ZXI6IFN1YnNjcmliZXI8bnVsbD4pIHtcblxuICAgIGNvbnN0IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICBub2RlLnNyYyA9IHRoaXMuY2FudmFBcGlVUkw7XG4gICAgbm9kZS50eXBlID0gJ3RleHQvamF2YXNjcmlwdCc7XG4gICAgbm9kZS5hc3luYyA9IGZhbHNlO1xuICAgIG5vZGUuY2hhcnNldCA9ICd1dGYtOCc7XG4gICAgbm9kZS5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgIH1cbiAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdLmFwcGVuZENoaWxkKG5vZGUpO1xuICB9XG5cbiAgb3BlbkNhbnZhKHdpZHRoOiBudW1iZXIsIGhlaWdodDogbnVtYmVyKSB7XG4gICAgaWYgKHRoaXMuaW1nTG9hZGluZykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmdldENhbnZhQXBpKCkucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKGFwaTogQ2FudmFCdXR0b25BcGkpID0+IHtcbiAgICAgIHRoaXMuY2FudmFBcGkgPSBhcGk7XG4gICAgICB0aGlzLmFkZE92ZXJmbG93Qm9keSgpO1xuICAgICAgdGhpcy5jcmVhdGVEZXNpZ24od2lkdGgsIGhlaWdodCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFkZE92ZXJmbG93Qm9keSgpIHtcbiAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoJ292aC1jYW52YScpO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVPdmVyZmxvd0JvZHkoKSB7XG4gICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKCdvdmgtY2FudmEnKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRGVzaWduKHdpZHRoOiBudW1iZXIsIGhlaWdodDogbnVtYmVyKSB7XG4gICAgY29uc3QgIGNyZWF0ZURlc2lnbjogQ2FudmFDcmVhdGVEZXNpZ24gPSB7XG4gICAgICB0eXBlOiAnRXRzeVNob3BJY29uJyxcbiAgICAgIGRpbWVuc2lvbnMgOiB7XG4gICAgICAgIHVuaXRzOiAncHgnLFxuICAgICAgICB3aWR0aDogd2lkdGggPyB3aWR0aCA6IHVuZGVmaW5lZCxcbiAgICAgICAgaGVpZ2h0OiBoZWlnaHQgPyBoZWlnaHQgOiB1bmRlZmluZWQsXG4gICAgICB9LFxuICAgICAgcHVibGlzaExhYmVsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnSW1nTWFuYWdlci5DYW52YUJ0bi5wdWJsaXNoJyksXG4gICAgfTtcbiAgICB0aGlzLmNhbnZhQXBpLmNyZWF0ZURlc2lnbih7XG4gICAgICBkZXNpZ246IGNyZWF0ZURlc2lnbixcbiAgICAgIG9uRGVzaWduUHVibGlzaDogKHsgZXhwb3J0VXJsLCBkZXNpZ25UaXRsZSB9KSA9PiB0aGlzLmRlc2lnblB1Ymxpc2hlZChleHBvcnRVcmwsIGRlc2lnblRpdGxlKSxcbiAgICAgIG9uRGVzaWduQ2xvc2U6ICgpID0+IHtcbiAgICAgICAgdGhpcy5yZW1vdmVPdmVyZmxvd0JvZHkoKTtcbiAgICAgIH1cblxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBkZXNpZ25QdWJsaXNoZWQoZXhwb3J0VXJsOiBzdHJpbmcsIGRlc2lnblRpdGxlOiBzdHJpbmcpIHtcbiAgICB0aGlzLmFsZXJ0U2VydmljZS5vcGVuQWxlcnQodGhpcy51cGxvYWRpbmdJbWcpO1xuICAgIHRoaXMuaW1nTG9hZGluZyA9IHRydWU7XG5cblxuICAgIHRoaXMudXBsb2FkU2VydmljZS51cGxvYWRGaWxlQnlVcmwoZXhwb3J0VXJsLCBkZXNpZ25UaXRsZSkucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKGltZykgPT4ge1xuICAgICAgICB0aGlzLmltZ0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5yZW1vdmVPdmVyZmxvd0JvZHkoKTtcblxuICAgICAgICB0aGlzLnd6SW1nRXZlbnRTZXJ2aWNlLmVtaXRJbWdBZGRlZChpbWcuaWRfZmlsZSk7XG4gICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLm9wZW5BbGVydCh0aGlzLnN1Y2Nlc3NVcGxvYWRQaG90byk7XG4gICAgICB9LFxuICAgICAgZXJyb3I6IGVycm9yID0+IHtcbiAgICAgICAgdGhpcy5pbWdMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMucmVtb3ZlT3ZlcmZsb3dCb2R5KCk7XG5cbiAgICAgICAgaWYgKGVycm9yLmVycm9yLmNvZGUgPT09IDQwNiAmJiBlcnJvci5lcnJvci5tZXNzYWdlKSB7XG4gICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uub3BlbkFsZXJ0V2l0aEJhY2tlbmRSZXNwb25zZSh0aGlzLmVycm9yVXBsb2FkQ2FudmFJbWcsIGVycm9yLmVycm9yLm1lc3NhZ2UpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uub3BlbkFsZXJ0KHRoaXMuZXJyb3JVcGxvYWRDYW52YUltZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIl19
159
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FudmEuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvc2VydmljZXMvY2FudmEuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQWMsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRy9ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBUzNDLE1BQU0sT0FBTyxZQUFZO0lBcUJ2QixZQUNVLGlCQUFrQyxFQUNsQyxZQUEwQixFQUMxQixnQkFBa0MsRUFDbEMsYUFBNEIsRUFDNUIsVUFBc0I7UUFKdEIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFpQjtRQUNsQyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFoQmhDLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsaUJBQVksR0FBRyxrQ0FBa0MsQ0FBQztRQUNsRCx1QkFBa0IsR0FBRyxtQ0FBbUMsQ0FBQztRQUN6RCx3QkFBbUIsR0FBRyx5Q0FBeUMsQ0FBQztRQUNoRSx3QkFBbUIsR0FBRyx5Q0FBeUMsQ0FB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QyxrQkFBa0IsRUFBRSxDQUFDO2dCQUUxQixJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLEdBQUcsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRTtvQkFDbkQsSUFBSSxDQUFDLFlBQVksQ0FBQyw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQTtpQkFDOUY7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7aUJBQ3ZEO1lBQ0gsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7O3lHQTlKVSxZQUFZOzZHQUFaLFlBQVk7MkZBQVosWUFBWTtrQkFEeEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmliZXIsIEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ2FudmFCdXR0b25BcGkgfSBmcm9tICcuLi9kdG8vY2FudmEuZHRvJztcbmltcG9ydCB7IFdpemlCbG9ja01lZGlhRHRvIH0gZnJvbSAnLi4vZHRvL3dpemktYmxvY2stbWVkaWEuZHRvJztcbmltcG9ydCB7IEFsZXJ0U2VydmljZSB9IGZyb20gJy4vYWxlcnQuc2VydmljZSc7XG5pbXBvcnQgeyBJbWdFdmVudFNlcnZpY2UgfSBmcm9tICcuL2ltZy1ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDYW52YUNyZWF0ZURlc2lnbiB9IGZyb20gJy4uL2R0by9jYW52YS1jcmVhdGUtZGVzaWduLmR0byc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBVcGxvYWRTZXJ2aWNlIH0gZnJvbSAnLi91cGxvYWQuc2VydmljZSc7XG5pbXBvcnQgeyBBcGlTZXJ2aWNlIH0gZnJvbSAnLi9hcGkuc2VydmljZSc7XG5cbmRlY2xhcmUgbGV0IENhbnZhICA6IHtcbiAgRGVzaWduQnV0dG9uIDoge1xuICAgIGluaXRpYWxpemU6IChvcHRzOiB7IGFwaUtleTogc3RyaW5nIH0pID0+IFByb21pc2U8Q2FudmFCdXR0b25BcGk+O1xuICB9XG59O1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ2FudmFTZXJ2aWNlIHtcblxuICBjYW52YUFwaSAvLyBPYmplY3QgdXNlIHRvIG1hbmFnZSB0aGUgY2FudmEgYXBpXG4gIGdldCBjYW52YUFwaVVSTCgpIHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLkNPTkZJRy5jYW52YV91cmw7XG4gIH07XG4gIGdldCBjYW52YUFwaUtleSgpIHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLkNPTkZJRy5jYW52YV90b2tlbjtcbiAgfVxuXG4gIGltZ0xvYWRpbmcgPSBmYWxzZTtcbiAgdXBsb2FkaW5nSW1nID0gJ0ltZ01hbmFnZXIuQ2FudmFCdG4udXBsb2FkaW5nSW1nJztcbiAgc3VjY2Vzc1VwbG9hZFBob3RvID0gJ0ltZ01hbmFnZXIuQ2FudmFCdG4uc3VjY2Vzc0ltcG9ydCc7XG4gIGVycm9yVXBsb2FkQ2FudmFJbWcgPSAnSW1nTWFuYWdlci5DYW52YUJ0bi5lcnJvclVwbG9hZENhbnZhSW1nJztcbiAgZXJyb3JSZW5hbWVDYW52YUltZyA9ICdJbWdNYW5hZ2VyLkNhbnZhQnRuLmVycm9yUmVuYW1lQ2FudmFJbWcnO1xuXG4gIGZvcmNlVG9PcGVuQ2FudmE6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcml2YXRlIGJpbmRFeHBlY3RlZEltZ1NpemVFdmVudDogQmVoYXZpb3JTdWJqZWN0PFdpemlCbG9ja01lZGlhRHRvPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8V2l6aUJsb2NrTWVkaWFEdG8+KG51bGwpO1xuICBwcml2YXRlIGJpbmRFeHBlY3RlZFNpemVEb25lID0gdGhpcy5iaW5kRXhwZWN0ZWRJbWdTaXplRXZlbnQuYXNPYnNlcnZhYmxlKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB3ekltZ0V2ZW50U2VydmljZTogSW1nRXZlbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgdXBsb2FkU2VydmljZTogVXBsb2FkU2VydmljZSxcbiAgICBwcml2YXRlIGFwaVNlcnZpY2U6IEFwaVNlcnZpY2VcbiAgKSB7fVxuXG4gIGdldENhbnZhTG9nbygpIHtcbiAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuQ09ORklHLmFzc2V0c19yb3V0ZSArIFwiY2FudmEvaWNvbl9jYW52YS5zdmdcIjtcbiAgfVxuXG4gIGJpbmRFdmVudEV4ZXBlY3RlZEltZ1NpemVDaGFuZ2UoKSB7XG4gICAgcmV0dXJuIHRoaXMuYmluZEV4cGVjdGVkU2l6ZURvbmU7XG4gIH1cblxuICBleHBlY3RlZEltZ1NpemVzQ2hhbmdlIChtZWRpYURUTzogV2l6aUJsb2NrTWVkaWFEdG8pe1xuICAgIHRoaXMuYmluZEV4cGVjdGVkSW1nU2l6ZUV2ZW50Lm5leHQobWVkaWFEVE8pO1xuICAgIGlmICh0aGlzLmZvcmNlVG9PcGVuQ2FudmEpIHtcbiAgICAgIHRoaXMub3BlbkNhbnZhKHBhcnNlSW50KG1lZGlhRFRPLmltYWdlX3dpZHRoKSwgcGFyc2VJbnQobWVkaWFEVE8uaW1hZ2VfaGVpZ2h0KSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0Q2FudmFBcGkoKTpPYnNlcnZhYmxlPENhbnZhQnV0dG9uQXBpPiB7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKG9ic2VydmVyID0+IHtcbiAgICB0aGlzLmxvYWRDYW52YSgpLnN1YnNjcmliZSh7XG4gICAgICAgIGNvbXBsZXRlOiAoKSA9PiB7XG4gICAgICAgICAgICBpZih0aGlzLmNhbnZhQXBpICYmIENhbnZhLkRlc2lnbkJ1dHRvbikge1xuICAgICAgICAgICAgICAgIG9ic2VydmVyLm5leHQodGhpcy5jYW52YUFwaSk7XG4gICAgICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplQ2FudmEob2JzZXJ2ZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemVDYW52YShvYnNlcnZlcjogU3Vic2NyaWJlcjxDYW52YUJ1dHRvbkFwaT4pIHtcbiAgICBpZiAoQ2FudmEuRGVzaWduQnV0dG9uKSB7XG4gICAgICBDYW52YS5EZXNpZ25CdXR0b24uaW5pdGlhbGl6ZSh7XG4gICAgICAgIGFwaUtleTogdGhpcy5jYW52YUFwaUtleVxuXG4gICAgICB9KS50aGVuKChjYW52YUFwaSkgPT4ge1xuICAgICAgICB0aGlzLmNhbnZhQXBpID0gIGNhbnZhQXBpO1xuICAgICAgICBvYnNlcnZlci5uZXh0KHRoaXMuY2FudmFBcGkpO1xuICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBsb2FkQ2FudmEoKTpPYnNlcnZhYmxlPG51bGw+IHtcbiAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZShvYnNlcnZlciA9PiB7XG4gICAgICAgIGlmKHRoaXMuY2FudmFBcGkpIHtcbiAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgICAgICB9ZWxzZXtcbiAgICAgICAgICB0aGlzLmxvYWRDYW52YVNjcmlwdChvYnNlcnZlcik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBsb2FkQ2FudmFTY3JpcHQob2JzZXJ2ZXI6IFN1YnNjcmliZXI8bnVsbD4pIHtcblxuICAgIGNvbnN0IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICBub2RlLnNyYyA9IHRoaXMuY2FudmFBcGlVUkw7XG4gICAgbm9kZS50eXBlID0gJ3RleHQvamF2YXNjcmlwdCc7XG4gICAgbm9kZS5hc3luYyA9IGZhbHNlO1xuICAgIG5vZGUuY2hhcnNldCA9ICd1dGYtOCc7XG4gICAgbm9kZS5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgIH1cbiAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdLmFwcGVuZENoaWxkKG5vZGUpO1xuICB9XG5cbiAgb3BlbkNhbnZhKHdpZHRoOiBudW1iZXIsIGhlaWdodDogbnVtYmVyKSB7XG4gICAgaWYgKHRoaXMuaW1nTG9hZGluZykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmdldENhbnZhQXBpKCkucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKGFwaTogQ2FudmFCdXR0b25BcGkpID0+IHtcbiAgICAgIHRoaXMuY2FudmFBcGkgPSBhcGk7XG4gICAgICB0aGlzLmFkZE92ZXJmbG93Qm9keSgpO1xuICAgICAgdGhpcy5jcmVhdGVEZXNpZ24od2lkdGgsIGhlaWdodCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFkZE92ZXJmbG93Qm9keSgpIHtcbiAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoJ292aC1jYW52YScpO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVPdmVyZmxvd0JvZHkoKSB7XG4gICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKCdvdmgtY2FudmEnKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRGVzaWduKHdpZHRoOiBudW1iZXIsIGhlaWdodDogbnVtYmVyKSB7XG4gICAgY29uc3QgIGNyZWF0ZURlc2lnbjogQ2FudmFDcmVhdGVEZXNpZ24gPSB7XG4gICAgICB0eXBlOiAnRXRzeVNob3BJY29uJyxcbiAgICAgIGRpbWVuc2lvbnMgOiB7XG4gICAgICAgIHVuaXRzOiAncHgnLFxuICAgICAgICB3aWR0aDogd2lkdGggPyB3aWR0aCA6IHVuZGVmaW5lZCxcbiAgICAgICAgaGVpZ2h0OiBoZWlnaHQgPyBoZWlnaHQgOiB1bmRlZmluZWQsXG4gICAgICB9LFxuICAgICAgcHVibGlzaExhYmVsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnSW1nTWFuYWdlci5DYW52YUJ0bi5wdWJsaXNoJyksXG4gICAgfTtcbiAgICB0aGlzLmNhbnZhQXBpLmNyZWF0ZURlc2lnbih7XG4gICAgICBkZXNpZ246IGNyZWF0ZURlc2lnbixcbiAgICAgIG9uRGVzaWduUHVibGlzaDogKHsgZXhwb3J0VXJsLCBkZXNpZ25UaXRsZSB9KSA9PiB0aGlzLmRlc2lnblB1Ymxpc2hlZChleHBvcnRVcmwsIGRlc2lnblRpdGxlKSxcbiAgICAgIG9uRGVzaWduQ2xvc2U6ICgpID0+IHtcbiAgICAgICAgdGhpcy5yZW1vdmVPdmVyZmxvd0JvZHkoKTtcbiAgICAgIH1cblxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBkZXNpZ25QdWJsaXNoZWQoZXhwb3J0VXJsOiBzdHJpbmcsIGRlc2lnblRpdGxlOiBzdHJpbmcpIHtcbiAgICB0aGlzLmFsZXJ0U2VydmljZS5vcGVuQWxlcnQodGhpcy51cGxvYWRpbmdJbWcpO1xuICAgIHRoaXMuaW1nTG9hZGluZyA9IHRydWU7XG5cblxuICAgIHRoaXMudXBsb2FkU2VydmljZS51cGxvYWRGaWxlQnlVcmwoZXhwb3J0VXJsLCBkZXNpZ25UaXRsZSkucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKGltZykgPT4ge1xuICAgICAgICB0aGlzLmltZ0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5yZW1vdmVPdmVyZmxvd0JvZHkoKTtcblxuICAgICAgICB0aGlzLnd6SW1nRXZlbnRTZXJ2aWNlLmVtaXRJbWdBZGRlZChpbWcuaWRfZmlsZSk7XG4gICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLm9wZW5BbGVydCh0aGlzLnN1Y2Nlc3NVcGxvYWRQaG90byk7XG4gICAgICB9LFxuICAgICAgZXJyb3I6IGVycm9yID0+IHtcbiAgICAgICAgdGhpcy5pbWdMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMucmVtb3ZlT3ZlcmZsb3dCb2R5KCk7XG5cbiAgICAgICAgaWYgKGVycm9yLmVycm9yLmNvZGUgPT09IDQwNiAmJiBlcnJvci5lcnJvci5tZXNzYWdlKSB7XG4gICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uub3BlbkFsZXJ0V2l0aEJhY2tlbmRSZXNwb25zZSh0aGlzLmVycm9yVXBsb2FkQ2FudmFJbWcsIGVycm9yLmVycm9yLm1lc3NhZ2UpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uub3BlbkFsZXJ0KHRoaXMuZXJyb3JVcGxvYWRDYW52YUltZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -119,4 +119,4 @@ ImgManagerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", ve
119
119
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ImgManagerService, decorators: [{
120
120
  type: Injectable
121
121
  }] });
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLW1hbmFnZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvc2VydmljZXMvaW1nLW1hbmFnZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFzQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUlsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUczQyxNQUFNLE9BQU8saUJBQWlCO0lBRDlCO1FBR0UsV0FBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRTVELDRCQUE0QjtRQUNwQiwyQkFBc0IsR0FBNEI7WUFDeEQsY0FBYyxFQUFFLFFBQVE7WUFDeEIsZUFBZSxFQUFFLElBQUk7WUFDckIsb0JBQW9CLEVBQUUsSUFBSTtZQUMxQixhQUFhLEVBQUUsSUFBSTtZQUNuQixVQUFVLEVBQUUsSUFBSTtZQUNoQixnQkFBZ0IsRUFBRSxJQUFJO1NBQ3ZCLENBQUE7UUFFTyw4QkFBeUIsR0FBNEI7WUFDM0QsY0FBYyxFQUFFLFFBQVE7WUFDeEIsZUFBZSxFQUFFLElBQUk7WUFDckIsb0JBQW9CLEVBQUUsSUFBSTtZQUMxQixhQUFhLEVBQUUsSUFBSTtZQUNuQixVQUFVLEVBQUUsS0FBSztZQUNqQixnQkFBZ0IsRUFBRSxJQUFJO1NBQ3ZCLENBQUE7UUFFTyxvQkFBZSxHQUE0QjtZQUNqRCxjQUFjLEVBQUUsUUFBUTtZQUN4QixlQUFlLEVBQUUsS0FBSztZQUN0QixvQkFBb0IsRUFBRSxJQUFJO1lBQzFCLGFBQWEsRUFBRSxLQUFLO1lBQ3BCLFVBQVUsRUFBRSxLQUFLO1NBQ2xCLENBQUE7UUFFTyxpQ0FBNEIsR0FBNEI7WUFDOUQsY0FBYyxFQUFFLFFBQVE7WUFDeEIsZUFBZSxFQUFFLEtBQUs7WUFDdEIsb0JBQW9CLEVBQUUsSUFBSTtZQUMxQixhQUFhLEVBQUUsS0FBSztZQUNwQixVQUFVLEVBQUUsSUFBSTtTQUNqQixDQUFBO1FBRU8scUJBQWdCLEdBQTRCO1lBQ2xELGNBQWMsRUFBRSxRQUFRO1lBQ3hCLGVBQWUsRUFBRSxLQUFLO1lBQ3RCLG9CQUFvQixFQUFFLElBQUk7WUFDMUIsYUFBYSxFQUFFLEtBQUs7WUFDcEIsVUFBVSxFQUFFLEtBQUs7U0FDbEIsQ0FBQTtRQUVELGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7S0EyRmpDO0lBdkZDLGNBQWMsQ0FBQyxNQUE0QjtRQUN6QyxJQUNFLE1BQU0sSUFBSSxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxLQUFLLE1BQU0sQ0FBQyxLQUFLO2VBQ3hFLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFdBQVc7ZUFDNUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEtBQUssTUFBTSxDQUFDLE1BQU0sRUFDL0M7WUFDQSxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzVDO1FBRUQsSUFBSSxNQUFNLEVBQUU7WUFDVixJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzFCO1FBRUQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQ2hELEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1lBQy9CLElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUNILENBQUM7UUFBQSxDQUFDO0lBQ0wsQ0FBQztJQUVELG1CQUFtQixDQUFDLE1BQTRCO1FBQzlDLElBQUksTUFBTSxFQUFFO1lBQ1YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUMxQjtRQUNELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsVUFBVSxDQUFDLE1BQWM7UUFDdkIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsV0FBVyxDQUFDLE1BQTJCO1FBQ3JDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN0RCxLQUFLLE1BQU0sS0FBSyxJQUFJLE1BQU0sRUFBRTtZQUMxQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUNyRDtRQUVELElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRTtZQUNqQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLHVCQUF1QixFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUN2RTtJQUNILENBQUM7SUFFRCxVQUFVLENBQUMsV0FBbUIsRUFBRSxPQUFlO1FBQzdDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFHRCxTQUFTLENBQUMsT0FBZTtRQUN2QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxRQUFrQjtRQUNsQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELDBCQUEwQixDQUFDLFdBQTZCO1FBQ3RELFFBQVEsV0FBVyxFQUFFO1lBQ25CLEtBQUssUUFBUTtnQkFDWCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztZQUUvQixLQUFLLFlBQVk7Z0JBQ2YsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO1lBRTlCLEtBQUssZUFBZTtnQkFDbEIsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUM7WUFFckMsS0FBSyxvQkFBb0I7Z0JBQ3ZCLE9BQU8sSUFBSSxDQUFDLDRCQUE0QixDQUFDO1lBRTNDLEtBQUssdUJBQXVCO2dCQUMxQixPQUFPLElBQUksQ0FBQyx5QkFBeUIsQ0FBQTtZQUV2QztnQkFDRSxPQUFPO1NBQ1Y7SUFDSCxDQUFDO0lBRUQsNkJBQTZCO1FBQzNCLE9BQU87WUFDTCxJQUFJLENBQUMsZ0JBQWdCO1lBQ3JCLElBQUksQ0FBQyxlQUFlO1lBQ3BCLElBQUksQ0FBQyxzQkFBc0I7WUFDM0IsSUFBSSxDQUFDLDRCQUE0QjtTQUNsQyxDQUFBO0lBQ0gsQ0FBQzs7OEdBeklVLGlCQUFpQjtrSEFBakIsaUJBQWlCOzJGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPcHRpb25hbCwgU2tpcFNlbGYsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IGRlbGF5LCBPYnNlcnZhYmxlLCBvZiwgdGFwIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IEltZ1BpY3R1cmVEVE8sIEltZ1BpY3R1cmVzRFRPLCBQYXJhbXNJbWdNYW5hZ2VyRFRPIH0gZnJvbSAnLi4vZHRvL2ltZy1tYW5hZ2VyLmR0byc7XG5pbXBvcnQgeyBJbWdNYW5hZ2VyRGlzcGxheUNvbmZpZyB9IGZyb20gJy4uL2R0by9leHBvcnQtZHRvcy5hcGknO1xuaW1wb3J0IHsgSW1nTWFuYWdlckNvbmZpZyB9IGZyb20gJy4uL2R0by9jb25maWcvaW1nLW1hbmFnZXInO1xuaW1wb3J0IHsgQXBpU2VydmljZSB9IGZyb20gJy4vYXBpLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgSW1nTWFuYWdlclNlcnZpY2Uge1xuXG4gIHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KFwibGltaXRcIixcIjIwXCIpLnNldChcInBhZ2VcIixcIjFcIik7XG5cbiAgLy8gRGlzcGxheSB0aGUgaW1nIHNlbGVjdGlvblxuICBwcml2YXRlIHBhZ2VGaWNoZVByb2R1Y3RDb25maWc6IEltZ01hbmFnZXJEaXNwbGF5Q29uZmlnID0ge1xuICAgIHN0YXRlRGlzcGxheWVkOiAnY2xvc2VkJyxcbiAgICBtdWx0aXBsZUltZ01vZGU6IHRydWUsXG4gICAgc2hvd0ltZ01hbmFnZXJNb2R1bGU6IHRydWUsXG4gICAgc2hvd1NlbGVjdGlvbjogdHJ1ZSxcbiAgICBkaXNwbGF5QnRuOiB0cnVlLFxuICAgIHBhZ2VmaWNoZVByb2R1Y3Q6IHRydWVcbiAgfVxuXG4gIHByaXZhdGUgYW5ndWxhckZpY2hlUHJvZHVjdENvbmZpZzogSW1nTWFuYWdlckRpc3BsYXlDb25maWcgPSB7XG4gICAgc3RhdGVEaXNwbGF5ZWQ6ICdjbG9zZWQnLFxuICAgIG11bHRpcGxlSW1nTW9kZTogdHJ1ZSxcbiAgICBzaG93SW1nTWFuYWdlck1vZHVsZTogdHJ1ZSxcbiAgICBzaG93U2VsZWN0aW9uOiB0cnVlLFxuICAgIGRpc3BsYXlCdG46IGZhbHNlLFxuICAgIHBhZ2VmaWNoZVByb2R1Y3Q6IHRydWVcbiAgfVxuXG4gIHByaXZhdGUgd2l6aWJsb2NrQ29uZmlnOiBJbWdNYW5hZ2VyRGlzcGxheUNvbmZpZyA9IHtcbiAgICBzdGF0ZURpc3BsYXllZDogJ2Nsb3NlZCcsXG4gICAgbXVsdGlwbGVJbWdNb2RlOiBmYWxzZSxcbiAgICBzaG93SW1nTWFuYWdlck1vZHVsZTogdHJ1ZSxcbiAgICBzaG93U2VsZWN0aW9uOiBmYWxzZSxcbiAgICBkaXNwbGF5QnRuOiBmYWxzZVxuICB9XG5cbiAgcHJpdmF0ZSBzaW1wbGVXaXRoQnV0dG9uT3BlbmVyQ29uZmlnOiBJbWdNYW5hZ2VyRGlzcGxheUNvbmZpZyA9IHtcbiAgICBzdGF0ZURpc3BsYXllZDogJ2Nsb3NlZCcsXG4gICAgbXVsdGlwbGVJbWdNb2RlOiBmYWxzZSxcbiAgICBzaG93SW1nTWFuYWdlck1vZHVsZTogdHJ1ZSxcbiAgICBzaG93U2VsZWN0aW9uOiBmYWxzZSxcbiAgICBkaXNwbGF5QnRuOiB0cnVlXG4gIH1cblxuICBwcml2YXRlIGZ1bGxXaW5kb3dDb25maWc6IEltZ01hbmFnZXJEaXNwbGF5Q29uZmlnID0ge1xuICAgIHN0YXRlRGlzcGxheWVkOiAnd2luZG93JyxcbiAgICBtdWx0aXBsZUltZ01vZGU6IGZhbHNlLFxuICAgIHNob3dJbWdNYW5hZ2VyTW9kdWxlOiB0cnVlLFxuICAgIHNob3dTZWxlY3Rpb246IGZhbHNlLFxuICAgIGRpc3BsYXlCdG46IGZhbHNlXG4gIH1cblxuICBhcGlTZXJ2aWNlID0gaW5qZWN0KEFwaVNlcnZpY2UpO1xuICBzaG9wSW1nTGlzdDogSW1nUGljdHVyZXNEVE87XG4gIHByZXZpb3VzUGFyYW1zOiBQYXJhbXNJbWdNYW5hZ2VyRFRPO1xuXG4gIGdldFNob3BJbWdMaXN0KHBhcmFtcz86IFBhcmFtc0ltZ01hbmFnZXJEVE8pIHtcbiAgICBpZiAoXG4gICAgICBwYXJhbXMgJiYgdGhpcy5wcmV2aW91c1BhcmFtcyAmJiB0aGlzLnByZXZpb3VzUGFyYW1zLmxpbWl0ID09PSBwYXJhbXMubGltaXRcbiAgICAgICYmIHRoaXMucHJldmlvdXNQYXJhbXMucGFnZSA9PT0gcGFyYW1zLnBhZ2UgJiYgdGhpcy5zaG9wSW1nTGlzdFxuICAgICAgJiYgdGhpcy5wcmV2aW91c1BhcmFtcy5zZWFyY2ggPT09IHBhcmFtcy5zZWFyY2hcbiAgICApIHtcbiAgICAgIHJldHVybiBvZih0aGlzLnNob3BJbWdMaXN0KS5waXBlKGRlbGF5KDApKTtcbiAgICB9XG5cbiAgICBpZiAocGFyYW1zKSB7XG4gICAgICB0aGlzLnJlc2V0UGFyYW1zKHBhcmFtcyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5nZXRTaG9wSW1nTGlzdChwYXJhbXMpLnBpcGUoXG4gICAgICB0YXAoKHNob3BJbWdMaXN0KSA9PiB7XG4gICAgICAgIHRoaXMuc2hvcEltZ0xpc3QgPSBzaG9wSW1nTGlzdDtcbiAgICAgICAgdGhpcy5wcmV2aW91c1BhcmFtcyA9IHBhcmFtcztcbiAgICAgIH0pXG4gICAgKTs7XG4gIH1cblxuICBnZXRTaG9wVG90YWxJbWdMaXN0KHBhcmFtcz86IFBhcmFtc0ltZ01hbmFnZXJEVE8pIHtcbiAgICBpZiAocGFyYW1zKSB7XG4gICAgICB0aGlzLnJlc2V0UGFyYW1zKHBhcmFtcyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZ2V0U2hvcFRvdGFsSW1nTGlzdChwYXJhbXMpO1xuICB9XG5cbiAgZ2V0U2hvcEltZyhpZEZpbGU6IHN0cmluZyk6IE9ic2VydmFibGU8SW1nUGljdHVyZURUTz4ge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZ2V0U2hvcEltZyhpZEZpbGUpO1xuICB9XG5cbiAgcmVzZXRQYXJhbXMocGFyYW1zOiBQYXJhbXNJbWdNYW5hZ2VyRFRPKXtcbiAgICB0aGlzLnBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG4gICAgdGhpcy5wYXJhbXMgPSB0aGlzLnBhcmFtcy5zZXQoJ2lkX2ZpbGU6c29ydCcsICdkZXNjJyk7XG4gICAgZm9yIChjb25zdCBwYXJhbSBpbiBwYXJhbXMpIHtcbiAgICAgIHRoaXMucGFyYW1zID0gdGhpcy5wYXJhbXMuc2V0KHBhcmFtLCBwYXJhbXNbcGFyYW1dKTtcbiAgICB9XG5cbiAgICBpZiAocGFyYW1zLnNlYXJjaCkge1xuICAgICAgdGhpcy5wYXJhbXMgPSB0aGlzLnBhcmFtcy5zZXQoJ2Rpc3BsYXlfbmFtZTpjb250YWlucycsIHBhcmFtcy5zZWFyY2gpO1xuICAgIH1cbiAgfVxuXG4gIHJlcGxhY2VJbWcoaW1hZ2VCYXNlNjQ6IHN0cmluZywgaWRfZmlsZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5yZXBsYWNlSW1nKGltYWdlQmFzZTY0LCBpZF9maWxlKTtcbiAgfVxuXG5cbiAgcmVtb3ZlSW1nKGlkX2ZpbGU6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucmVtb3ZlSW1nKGlkX2ZpbGUpO1xuICB9XG5cbiAgcmVtb3ZlTXVsdGlwbGVJbWcoaWRfYXJyYXk6IHN0cmluZ1tdKXtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnJlbW92ZU11bHRpcGxlSW1nKGlkX2FycmF5KTtcbiAgfVxuXG4gIGdldEltZ01hbmFnZXJEaXNwbGF5Q29uZmlnKGRpc3BsYXlOYW1lOiBJbWdNYW5hZ2VyQ29uZmlnKSB7XG4gICAgc3dpdGNoIChkaXNwbGF5TmFtZSkge1xuICAgICAgY2FzZSBcIndpbmRvd1wiOlxuICAgICAgICByZXR1cm4gdGhpcy5mdWxsV2luZG93Q29uZmlnO1xuXG4gICAgICBjYXNlIFwid2l6aS1ibG9ja1wiOlxuICAgICAgICByZXR1cm4gdGhpcy53aXppYmxvY2tDb25maWc7XG5cbiAgICAgIGNhc2UgXCJmaWNoZS1wcm9kdWN0XCI6XG4gICAgICAgIHJldHVybiB0aGlzLnBhZ2VGaWNoZVByb2R1Y3RDb25maWc7XG5cbiAgICAgIGNhc2UgXCJzaW1wbGUtd2l0aC1idXR0b25cIjpcbiAgICAgICAgcmV0dXJuIHRoaXMuc2ltcGxlV2l0aEJ1dHRvbk9wZW5lckNvbmZpZztcblxuICAgICAgY2FzZSAnYW5ndWxhci1maWNoZS1wcm9kdWN0JzpcbiAgICAgICAgcmV0dXJuIHRoaXMuYW5ndWxhckZpY2hlUHJvZHVjdENvbmZpZ1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgZ2V0QWxsSW1nTWFuYWdlckRpc3BsYXlDb25maWcoKTogSW1nTWFuYWdlckRpc3BsYXlDb25maWdbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHRoaXMuZnVsbFdpbmRvd0NvbmZpZyxcbiAgICAgIHRoaXMud2l6aWJsb2NrQ29uZmlnLFxuICAgICAgdGhpcy5wYWdlRmljaGVQcm9kdWN0Q29uZmlnLFxuICAgICAgdGhpcy5zaW1wbGVXaXRoQnV0dG9uT3BlbmVyQ29uZmlnLFxuICAgIF1cbiAgfVxufVxuXG4vKiBleHBvcnQgY29uc3QgSW1nTWFuYWdlclNlcnZpY2VQcm92aWRlciA9XG57XG4gIHByb3ZpZGU6IEltZ01hbmFnZXJTZXJ2aWNlLFxuICB1c2VGYWN0b3J5OiAocGFyZW50U2VydmljZTogSW1nTWFuYWdlclNlcnZpY2UsIGFwaVNlcnZpY2U6IEFwaVNlcnZpY2UpID0+IHtcbiAgICBjb25zb2xlLmxvZygncHJvdmlkZSBJbWdNYW5hZ2VyU2VydmljZScsICEhcGFyZW50U2VydmljZSk7XG4gICAgY29uc29sZS5sb2coJ2FwaVNlcnZpY2UnLCBhcGlTZXJ2aWNlKTtcbiAgICAvLyBWw6lyaWZpZSBzaSBsZSBzZXJ2aWNlIGV4aXN0ZSBkw6lqw6AgZGFucyBsZSBwcm92aWRlciBwYXJlbnRcbiAgICBpZiAocGFyZW50U2VydmljZSkge1xuICAgICAgcmV0dXJuIHBhcmVudFNlcnZpY2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFNpIGxlIHNlcnZpY2UgbidleGlzdGUgcGFzIGRhbnMgbGUgcHJvdmlkZXIgcGFyZW50LCBjcsOpZSB1biBub3V2ZWF1IHNlcnZpY2VcbiAgICAgIHJldHVybiBuZXcgSW1nTWFuYWdlclNlcnZpY2UoYXBpU2VydmljZSk7XG4gICAgfVxuICB9LFxuICAvLyBVdGlsaXNlIGwnaW5qZWN0aW9uIGNvbmRpdGlvbm5lbGxlIHBvdXIgdsOpcmlmaWVyIHNpIGxlIHNlcnZpY2UgZXhpc3RlIGTDqWrDoCBkYW5zIGxlIHByb3ZpZGVyIHBhcmVudFxuICBkZXBzOiBbW25ldyBPcHRpb25hbCgpLCBuZXcgU2tpcFNlbGYoKSwgSW1nTWFuYWdlclNlcnZpY2VdLCBBcGlTZXJ2aWNlXSxcbn07ICovIl19
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLW1hbmFnZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvc2VydmljZXMvaW1nLW1hbmFnZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFzQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUlsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUczQyxNQUFNLE9BQU8saUJBQWlCO0lBRDlCO1FBR0UsV0FBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRTVELDRCQUE0QjtRQUNwQiwyQkFBc0IsR0FBNEI7WUFDeEQsY0FBYyxFQUFFLFFBQVE7WUFDeEIsZUFBZSxFQUFFLElBQUk7WUFDckIsb0JBQW9CLEVBQUUsSUFBSTtZQUMxQixhQUFhLEVBQUUsSUFBSTtZQUNuQixVQUFVLEVBQUUsSUFBSTtZQUNoQixnQkFBZ0IsRUFBRSxJQUFJO1NBQ3ZCLENBQUE7UUFFTyw4QkFBeUIsR0FBNEI7WUFDM0QsY0FBYyxFQUFFLFFBQVE7WUFDeEIsZUFBZSxFQUFFLElBQUk7WUFDckIsb0JBQW9CLEVBQUUsSUFBSTtZQUMxQixhQUFhLEVBQUUsSUFBSTtZQUNuQixVQUFVLEVBQUUsS0FBSztZQUNqQixnQkFBZ0IsRUFBRSxJQUFJO1NBQ3ZCLENBQUE7UUFFTyxvQkFBZSxHQUE0QjtZQUNqRCxjQUFjLEVBQUUsUUFBUTtZQUN4QixlQUFlLEVBQUUsS0FB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ZTtRQUN2QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxRQUFrQjtRQUNsQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELDBCQUEwQixDQUFDLFdBQTZCO1FBQ3RELFFBQVEsV0FBVyxFQUFFO1lBQ25CLEtBQUssUUFBUTtnQkFDWCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztZQUUvQixLQUFLLFlBQVk7Z0JBQ2YsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO1lBRTlCLEtBQUssZUFBZTtnQkFDbEIsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUM7WUFFckMsS0FBSyxvQkFBb0I7Z0JBQ3ZCLE9BQU8sSUFBSSxDQUFDLDRCQUE0QixDQUFDO1lBRTNDLEtBQUssdUJBQXVCO2dCQUMxQixPQUFPLElBQUksQ0FBQyx5QkFBeUIsQ0FBQTtZQUV2QztnQkFDRSxPQUFPO1NBQ1Y7SUFDSCxDQUFDO0lBRUQsNkJBQTZCO1FBQzNCLE9BQU87WUFDTCxJQUFJLENBQUMsZ0JBQWdCO1lBQ3JCLElBQUksQ0FBQyxlQUFlO1lBQ3BCLElBQUksQ0FBQyxzQkFBc0I7WUFDM0IsSUFBSSxDQUFDLDRCQUE0QjtTQUNsQyxDQUFBO0lBQ0gsQ0FBQzs7OEdBeklVLGlCQUFpQjtrSEFBakIsaUJBQWlCOzJGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPcHRpb25hbCwgU2tpcFNlbGYsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IGRlbGF5LCBPYnNlcnZhYmxlLCBvZiwgdGFwIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IEltZ1BpY3R1cmVEVE8sIEltZ1BpY3R1cmVzRFRPLCBQYXJhbXNJbWdNYW5hZ2VyRFRPIH0gZnJvbSAnLi4vZHRvL2ltZy1tYW5hZ2VyLmR0byc7XG5pbXBvcnQgeyBJbWdNYW5hZ2VyRGlzcGxheUNvbmZpZyB9IGZyb20gJy4uL2R0by9leHBvcnQtZHRvcy5hcGknO1xuaW1wb3J0IHsgSW1nTWFuYWdlckNvbmZpZyB9IGZyb20gJy4uL2R0by9jb25maWcvaW1nLW1hbmFnZXInO1xuaW1wb3J0IHsgQXBpU2VydmljZSB9IGZyb20gJy4vYXBpLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgSW1nTWFuYWdlclNlcnZpY2Uge1xuXG4gIHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KFwibGltaXRcIixcIjIwXCIpLnNldChcInBhZ2VcIixcIjFcIik7XG5cbiAgLy8gRGlzcGxheSB0aGUgaW1nIHNlbGVjdGlvblxuICBwcml2YXRlIHBhZ2VGaWNoZVByb2R1Y3RDb25maWc6IEltZ01hbmFnZXJEaXNwbGF5Q29uZmlnID0ge1xuICAgIHN0YXRlRGlzcGxheWVkOiAnY2xvc2VkJyxcbiAgICBtdWx0aXBsZUltZ01vZGU6IHRydWUsXG4gICAgc2hvd0ltZ01hbmFnZXJNb2R1bGU6IHRydWUsXG4gICAgc2hvd1NlbGVjdGlvbjogdHJ1ZSxcbiAgICBkaXNwbGF5QnRuOiB0cnVlLFxuICAgIHBhZ2VmaWNoZVByb2R1Y3Q6IHRydWVcbiAgfVxuXG4gIHByaXZhdGUgYW5ndWxhckZpY2hlUHJvZHVjdENvbmZpZzogSW1nTWFuYWdlckRpc3BsYXlDb25maWcgPSB7XG4gICAgc3RhdGVEaXNwbGF5ZWQ6ICdjbG9zZWQnLFxuICAgIG11bHRpcGxlSW1nTW9kZTogdHJ1ZSxcbiAgICBzaG93SW1nTWFuYWdlck1vZHVsZTogdHJ1ZSxcbiAgICBzaG93U2VsZWN0aW9uOiB0cnVlLFxuICAgIGRpc3BsYXlCdG46IGZhbHNlLFxuICAgIHBhZ2VmaWNoZVByb2R1Y3Q6IHRydWVcbiAgfVxuXG4gIHByaXZhdGUgd2l6aWJsb2NrQ29uZmlnOiBJbWdNYW5hZ2VyRGlzcGxheUNvbmZpZyA9IHtcbiAgICBzdGF0ZURpc3BsYXllZDogJ2Nsb3NlZCcsXG4gICAgbXVsdGlwbGVJbWdNb2RlOiBmYWxzZSxcbiAgICBzaG93SW1nTWFuYWdlck1vZHVsZTogdHJ1ZSxcbiAgICBzaG93U2VsZWN0aW9uOiBmYWxzZSxcbiAgICBkaXNwbGF5QnRuOiBmYWxzZVxuICB9XG5cbiAgcHJpdmF0ZSBzaW1wbGVXaXRoQnV0dG9uT3BlbmVyQ29uZmlnOiBJbWdNYW5hZ2VyRGlzcGxheUNvbmZpZyA9IHtcbiAgICBzdGF0ZURpc3BsYXllZDogJ2Nsb3NlZCcsXG4gICAgbXVsdGlwbGVJbWdNb2RlOiBmYWxzZSxcbiAgICBzaG93SW1nTWFuYWdlck1vZHVsZTogdHJ1ZSxcbiAgICBzaG93U2VsZWN0aW9uOiBmYWxzZSxcbiAgICBkaXNwbGF5QnRuOiB0cnVlXG4gIH1cblxuICBwcml2YXRlIGZ1bGxXaW5kb3dDb25maWc6IEltZ01hbmFnZXJEaXNwbGF5Q29uZmlnID0ge1xuICAgIHN0YXRlRGlzcGxheWVkOiAnd2luZG93JyxcbiAgICBtdWx0aXBsZUltZ01vZGU6IGZhbHNlLFxuICAgIHNob3dJbWdNYW5hZ2VyTW9kdWxlOiB0cnVlLFxuICAgIHNob3dTZWxlY3Rpb246IGZhbHNlLFxuICAgIGRpc3BsYXlCdG46IGZhbHNlXG4gIH1cblxuICBhcGlTZXJ2aWNlID0gaW5qZWN0KEFwaVNlcnZpY2UpO1xuICBzaG9wSW1nTGlzdDogSW1nUGljdHVyZXNEVE87XG4gIHByZXZpb3VzUGFyYW1zOiBQYXJhbXNJbWdNYW5hZ2VyRFRPO1xuXG4gIGdldFNob3BJbWdMaXN0KHBhcmFtcz86IFBhcmFtc0ltZ01hbmFnZXJEVE8pIHtcbiAgICBpZiAoXG4gICAgICBwYXJhbXMgJiYgdGhpcy5wcmV2aW91c1BhcmFtcyAmJiB0aGlzLnByZXZpb3VzUGFyYW1zLmxpbWl0ID09PSBwYXJhbXMubGltaXRcbiAgICAgICYmIHRoaXMucHJldmlvdXNQYXJhbXMucGFnZSA9PT0gcGFyYW1zLnBhZ2UgJiYgdGhpcy5zaG9wSW1nTGlzdFxuICAgICAgJiYgdGhpcy5wcmV2aW91c1BhcmFtcy5zZWFyY2ggPT09IHBhcmFtcy5zZWFyY2hcbiAgICApIHtcbiAgICAgIHJldHVybiBvZih0aGlzLnNob3BJbWdMaXN0KS5waXBlKGRlbGF5KDApKTtcbiAgICB9XG5cbiAgICBpZiAocGFyYW1zKSB7XG4gICAgICB0aGlzLnJlc2V0UGFyYW1zKHBhcmFtcyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5nZXRTaG9wSW1nTGlzdChwYXJhbXMpLnBpcGUoXG4gICAgICB0YXAoKHNob3BJbWdMaXN0KSA9PiB7XG4gICAgICAgIHRoaXMuc2hvcEltZ0xpc3QgPSBzaG9wSW1nTGlzdDtcbiAgICAgICAgdGhpcy5wcmV2aW91c1BhcmFtcyA9IHBhcmFtcztcbiAgICAgIH0pXG4gICAgKTs7XG4gIH1cblxuICBnZXRTaG9wVG90YWxJbWdMaXN0KHBhcmFtcz86IFBhcmFtc0ltZ01hbmFnZXJEVE8pIHtcbiAgICBpZiAocGFyYW1zKSB7XG4gICAgICB0aGlzLnJlc2V0UGFyYW1zKHBhcmFtcyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZ2V0U2hvcFRvdGFsSW1nTGlzdChwYXJhbXMpO1xuICB9XG5cbiAgZ2V0U2hvcEltZyhpZEZpbGU6IHN0cmluZyk6IE9ic2VydmFibGU8SW1nUGljdHVyZURUTz4ge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZ2V0U2hvcEltZyhpZEZpbGUpO1xuICB9XG5cbiAgcmVzZXRQYXJhbXMocGFyYW1zOiBQYXJhbXNJbWdNYW5hZ2VyRFRPKXtcbiAgICB0aGlzLnBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG4gICAgdGhpcy5wYXJhbXMgPSB0aGlzLnBhcmFtcy5zZXQoJ2lkX2ZpbGU6c29ydCcsICdkZXNjJyk7XG4gICAgZm9yIChjb25zdCBwYXJhbSBpbiBwYXJhbXMpIHtcbiAgICAgIHRoaXMucGFyYW1zID0gdGhpcy5wYXJhbXMuc2V0KHBhcmFtLCBwYXJhbXNbcGFyYW1dKTtcbiAgICB9XG5cbiAgICBpZiAocGFyYW1zLnNlYXJjaCkge1xuICAgICAgdGhpcy5wYXJhbXMgPSB0aGlzLnBhcmFtcy5zZXQoJ2Rpc3BsYXlfbmFtZTpjb250YWlucycsIHBhcmFtcy5zZWFyY2gpO1xuICAgIH1cbiAgfVxuXG4gIHJlcGxhY2VJbWcoaW1hZ2VCYXNlNjQ6IHN0cmluZywgaWRfZmlsZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5yZXBsYWNlSW1nKGltYWdlQmFzZTY0LCBpZF9maWxlKTtcbiAgfVxuXG5cbiAgcmVtb3ZlSW1nKGlkX2ZpbGU6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucmVtb3ZlSW1nKGlkX2ZpbGUpO1xuICB9XG5cbiAgcmVtb3ZlTXVsdGlwbGVJbWcoaWRfYXJyYXk6IHN0cmluZ1tdKXtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnJlbW92ZU11bHRpcGxlSW1nKGlkX2FycmF5KTtcbiAgfVxuXG4gIGdldEltZ01hbmFnZXJEaXNwbGF5Q29uZmlnKGRpc3BsYXlOYW1lOiBJbWdNYW5hZ2VyQ29uZmlnKSB7XG4gICAgc3dpdGNoIChkaXNwbGF5TmFtZSkge1xuICAgICAgY2FzZSBcIndpbmRvd1wiOlxuICAgICAgICByZXR1cm4gdGhpcy5mdWxsV2luZG93Q29uZmlnO1xuXG4gICAgICBjYXNlIFwid2l6aS1ibG9ja1wiOlxuICAgICAgICByZXR1cm4gdGhpcy53aXppYmxvY2tDb25maWc7XG5cbiAgICAgIGNhc2UgXCJmaWNoZS1wcm9kdWN0XCI6XG4gICAgICAgIHJldHVybiB0aGlzLnBhZ2VGaWNoZVByb2R1Y3RDb25maWc7XG5cbiAgICAgIGNhc2UgXCJzaW1wbGUtd2l0aC1idXR0b25cIjpcbiAgICAgICAgcmV0dXJuIHRoaXMuc2ltcGxlV2l0aEJ1dHRvbk9wZW5lckNvbmZpZztcblxuICAgICAgY2FzZSAnYW5ndWxhci1maWNoZS1wcm9kdWN0JzpcbiAgICAgICAgcmV0dXJuIHRoaXMuYW5ndWxhckZpY2hlUHJvZHVjdENvbmZpZ1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgZ2V0QWxsSW1nTWFuYWdlckRpc3BsYXlDb25maWcoKTogSW1nTWFuYWdlckRpc3BsYXlDb25maWdbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHRoaXMuZnVsbFdpbmRvd0NvbmZpZyxcbiAgICAgIHRoaXMud2l6aWJsb2NrQ29uZmlnLFxuICAgICAgdGhpcy5wYWdlRmljaGVQcm9kdWN0Q29uZmlnLFxuICAgICAgdGhpcy5zaW1wbGVXaXRoQnV0dG9uT3BlbmVyQ29uZmlnLFxuICAgIF1cbiAgfVxufSJdfQ==
@@ -73,4 +73,4 @@ ImgSelectionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0",
73
73
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ImgSelectionService, decorators: [{
74
74
  type: Injectable
75
75
  }], ctorParameters: function () { return []; } });
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLXNlbGVjdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9zZXJ2aWNlcy9pbWctc2VsZWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBc0IsTUFBTSxlQUFlLENBQUM7QUFFL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFJdkMsTUFBTSxPQUFPLG1CQUFtQjtJQU01QjtRQUpBLG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBQ2pDLGtCQUFhLEdBQXFDLElBQUksZUFBZSxDQUFrQixFQUFFLENBQUMsQ0FBQztRQUMzRiw0QkFBdUIsR0FBNkIsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7SUFFekUsQ0FBQztJQUVoQixlQUFlO1FBQ1gsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFRCw2RUFBNkU7SUFDN0UsZUFBZSxDQUFDLGVBQWdDO1FBQzVDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGVBQWUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsY0FBYyxDQUFDLE9BQXVCO1FBQ2xDLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO1NBQ3hFO2FBQU07WUFDSCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7U0FDdEM7SUFDTCxDQUFDO0lBRUQsd0JBQXdCLENBQUMsS0FBYTtRQUNsQyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3RELGVBQWUsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBRTdDLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxPQUFlO1FBQ2pDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzVCLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ2xHLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxZQUFzQjtRQUMxQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUM1QixPQUFPO1NBQ1Y7UUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3RyxDQUFDO0lBRUQsb0JBQW9CO1FBQ2hCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxTQUFrQjtRQUNqQyxJQUFJLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsbUJBQW1CLENBQUMsZUFBZ0M7UUFDaEQsOENBQThDO1FBQzlDLElBQUksZUFBZSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ3pDLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsWUFBWSxDQUFDLEtBQTRCO1FBQ3JDLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUM7UUFDdEMsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQztRQUNuQyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3RELGVBQWUsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxlQUFlLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7O2dIQTVFUSxtQkFBbUI7b0hBQW5CLG1CQUFtQjsyRkFBbkIsbUJBQW1CO2tCQUQvQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT3B0aW9uYWwsIFNraXBTZWxmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbWdQaWN0dXJlRFRPIH0gZnJvbSAnLi4vZHRvL2ltZy1tYW5hZ2VyLmR0byc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENka0RyYWdEcm9wIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBJbWdTZWxlY3Rpb25TZXJ2aWNlIHtcblxuICAgIG11bHRpcGxlSW1nTW9kZTogYm9vbGVhbiA9IGZhbHNlO1xuICAgIGltZ1NlbGVjdGlvbiQ6IEJlaGF2aW9yU3ViamVjdDxJbWdQaWN0dXJlRFRPW10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxJbWdQaWN0dXJlRFRPW10+KFtdKTtcbiAgICBpbWdTZWxlY3RlZExpc3RMb2FkaW5nJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgICBnZXRJbWdTZWxlY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmltZ1NlbGVjdGlvbiQuZ2V0VmFsdWUoKTtcbiAgICB9XG5cbiAgICAvLyBVc2UgaW4gaW1nIG1hbmFnZXIgd2ViZWxlbWVudCwgd2hlbiB0aGUgcHJvZHVjdCBpbWcgc2VsZWN0aW9uIGlzIHJldHJpZXZlZFxuICAgIHNldEltZ1NlbGVjdGlvbihpbWdTZWxlY3RlZExpc3Q6IEltZ1BpY3R1cmVEVE9bXSkge1xuICAgICAgICB0aGlzLmltZ1NlbGVjdGlvbiQubmV4dChpbWdTZWxlY3RlZExpc3QgfHwgW10pO1xuICAgIH1cblxuICAgIGFkZEltZ1NlbGVjdGVkKHBpY3R1cmUgOiBJbWdQaWN0dXJlRFRPKSB7XG4gICAgICAgIGlmICh0aGlzLm11bHRpcGxlSW1nTW9kZSkge1xuICAgICAgICAgICAgdGhpcy5pbWdTZWxlY3Rpb24kLm5leHQoWy4uLnRoaXMuaW1nU2VsZWN0aW9uJC5nZXRWYWx1ZSgpLCBwaWN0dXJlXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmltZ1NlbGVjdGlvbiQubmV4dChbcGljdHVyZV0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVtb3ZlSW1nU2VsZWN0ZWRCeUluZGV4KGluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgY29uc3QgaW1nU2VsZWN0ZWRMaXN0ID0gdGhpcy5pbWdTZWxlY3Rpb24kLmdldFZhbHVlKCk7XG4gICAgICAgIGltZ1NlbGVjdGVkTGlzdC5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICB0aGlzLmltZ1NlbGVjdGlvbiQubmV4dChpbWdTZWxlY3RlZExpc3QpO1xuXG4gICAgfVxuXG4gICAgcmVtb3ZlSW1nU2VsZWN0ZWRCeUlkKGlkX2ZpbGU6IHN0cmluZykge1xuICAgICAgICBpZiAoIXRoaXMubXVsdGlwbGVJbWdNb2RlKSB7XG4gICAgICAgICAgICB0aGlzLmltZ1NlbGVjdGlvbiQubmV4dChbXSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pbWdTZWxlY3Rpb24kLm5leHQodGhpcy5pbWdTZWxlY3Rpb24kLmdldFZhbHVlKCkuZmlsdGVyKGltZyA9PiBpbWcuaWRfZmlsZSAhPT0gaWRfZmlsZSkpO1xuICAgIH1cblxuICAgIHJlbW92ZUltZ1NlbGVjdGlvbkJ5SWRzKGlkX2ZpbGVfbGlzdDogc3RyaW5nW10pIHtcbiAgICAgICAgaWYgKCF0aGlzLm11bHRpcGxlSW1nTW9kZSkge1xuICAgICAgICAgICAgdGhpcy5pbWdTZWxlY3Rpb24kLm5leHQoW10pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaW1nU2VsZWN0aW9uJC5uZXh0KHRoaXMuaW1nU2VsZWN0aW9uJC5nZXRWYWx1ZSgpLmZpbHRlcihpbWcgPT4gaWRfZmlsZV9saXN0LmluY2x1ZGVzKGltZy5pZF9maWxlKSkpO1xuICAgIH1cblxuICAgIHJlbW92ZUFsbEltZ1NlbGVjdGVkKCkgeyAvLyBUT0RPIHRlc3QgaXRcbiAgICAgICAgdGhpcy5pbWdTZWxlY3Rpb24kLm5leHQoW10pO1xuICAgIH1cblxuICAgIHNldE11bHRpcGxlSW1nTW9kZShhY3RpdmF0ZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5tdWx0aXBsZUltZ01vZGUgPSBhY3RpdmF0ZWQ7XG4gICAgfVxuXG4gICAgaW5pdEltZ1NlbGVjdGVkTGlzdChpbWdTZWxlY3RlZExpc3Q6IEltZ1BpY3R1cmVEVE9bXSkge1xuICAgICAgICAvLyBSZXRyaWV2ZSB0aGUgaW1nU2VsZWN0ZWRMaXN0IGZyb20gcGFyYW1ldGVyXG4gICAgICAgIGlmIChpbWdTZWxlY3RlZExpc3QpIHtcbiAgICAgICAgICAgIHRoaXMuaW1nU2VsZWN0aW9uJC5uZXh0KGltZ1NlbGVjdGVkTGlzdCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pbWdTZWxlY3Rpb24kLm5leHQoW10pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVzZSBhbmd1bGFyIGNkayBmdW5jdGlvblxuICAgICAqIENhbGxlZCBieSBpbWcgc2VsZWN0aW9uIGNvbXBvbmVudFxuICAgICAqIEBwYXJhbSBldmVudFxuICAgICAqL1xuICAgIG1vdmVJbWdPcmRlcihldmVudDogQ2RrRHJhZ0Ryb3A8c3RyaW5nW10+KSB7XG4gICAgICAgIGNvbnN0IGZyb21JbmRleCA9IGV2ZW50LnByZXZpb3VzSW5kZXg7XG4gICAgICAgIGNvbnN0IHRvSW5kZXggPSBldmVudC5jdXJyZW50SW5kZXg7XG4gICAgICAgIGNvbnN0IGltZ1NlbGVjdGVkTGlzdCA9IHRoaXMuaW1nU2VsZWN0aW9uJC5nZXRWYWx1ZSgpO1xuICAgICAgICBpbWdTZWxlY3RlZExpc3Quc3BsaWNlKHRvSW5kZXgsIDAsIGltZ1NlbGVjdGVkTGlzdC5zcGxpY2UoZnJvbUluZGV4LCAxKVswXSk7XG4gICAgICAgIHRoaXMuaW1nU2VsZWN0aW9uJC5uZXh0KGltZ1NlbGVjdGVkTGlzdCk7XG4gICAgfVxufVxuXG4vKiAgIGV4cG9ydCBjb25zdCBJbWdTZWxlY3Rpb25TZXJ2aWNlUHJvdmlkZXIgPVxuICB7XG4gICAgcHJvdmlkZTogSW1nU2VsZWN0aW9uU2VydmljZSxcbiAgICB1c2VGYWN0b3J5OiAocGFyZW50U2VydmljZTogSW1nU2VsZWN0aW9uU2VydmljZSkgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZygncGFyZW50U2VydmljZScsICEhcGFyZW50U2VydmljZSk7XG4gICAgICAvLyBWw6lyaWZpZSBzaSBsZSBzZXJ2aWNlIGV4aXN0ZSBkw6lqw6AgZGFucyBsZSBwcm92aWRlciBwYXJlbnRcbiAgICAgIGlmIChwYXJlbnRTZXJ2aWNlKSB7XG4gICAgICAgIHJldHVybiBwYXJlbnRTZXJ2aWNlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gU2kgbGUgc2VydmljZSBuJ2V4aXN0ZSBwYXMgZGFucyBsZSBwcm92aWRlciBwYXJlbnQsIGNyw6llIHVuIG5vdXZlYXUgc2VydmljZVxuICAgICAgICByZXR1cm4gbmV3IEltZ1NlbGVjdGlvblNlcnZpY2UoKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIC8vIFV0aWxpc2UgbCdpbmplY3Rpb24gY29uZGl0aW9ubmVsbGUgcG91ciB2w6lyaWZpZXIgc2kgbGUgc2VydmljZSBleGlzdGUgZMOpasOgIGRhbnMgbGUgcHJvdmlkZXIgcGFyZW50XG4gICAgZGVwczogW1tuZXcgT3B0aW9uYWwoKSwgbmV3IFNraXBTZWxmKCksIEltZ1NlbGVjdGlvblNlcnZpY2VdXSxcbiAgfTsgKi8iXX0=
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLXNlbGVjdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9zZXJ2aWNlcy9pbWctc2VsZWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBc0IsTUFBTSxlQUFlLENBQUM7QUFFL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFJdkMsTUFBTSxPQUFPLG1CQUFtQjtJQU01QjtRQUpBLG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBQ2pDLGtCQUFhLEdBQXFDLElBQUksZUFBZSxDQUFrQixFQUFFLENBQUMsQ0FBQztRQUMzRiw0QkFBdUIsR0FBNkIsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7SUFFekUsQ0FBQztJQUVoQixlQUFlO1FBQ1gsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFRCw2RUFBNkU7SUFDN0UsZUFBZSxDQUFDLGVBQWdDO1FBQzVDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGVBQWUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsY0FBYyxDQUFDLE9BQXVCO1FBQ2xDLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO1NBQ3hFO2FBQU07WUFDSCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7U0FDdEM7SUFDTCxDQUFDO0lBRUQsd0JBQXdCLENBQUMsS0FBYTtRQUNsQyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3RELGVBQWUsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBRTdDLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxPQUFlO1FBQ2pDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzVCLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ2xHLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxZQUFzQjtRQUMxQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUM1QixPQUFPO1NBQ1Y7UUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3RyxDQUFDO0lBRUQsb0JBQW9CO1FBQ2hCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxTQUFrQjtRQUNqQyxJQUFJLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsbUJBQW1CLENBQUMsZUFBZ0M7UUFDaEQsOENBQThDO1FBQzlDLElBQUksZUFBZSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ3pDLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsWUFBWSxDQUFDLEtBQTRCO1FBQ3JDLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUM7UUFDdEMsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQztRQUNuQyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3RELGVBQWUsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxlQUFlLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7O2dIQTVFUSxtQkFBbUI7b0hBQW5CLG1CQUFtQjsyRkFBbkIsbUJBQW1CO2tCQUQvQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT3B0aW9uYWwsIFNraXBTZWxmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbWdQaWN0dXJlRFRPIH0gZnJvbSAnLi4vZHRvL2ltZy1tYW5hZ2VyLmR0byc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENka0RyYWdEcm9wIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBJbWdTZWxlY3Rpb25TZXJ2aWNlIHtcblxuICAgIG11bHRpcGxlSW1nTW9kZTogYm9vbGVhbiA9IGZhbHNlO1xuICAgIGltZ1NlbGVjdGlvbiQ6IEJlaGF2aW9yU3ViamVjdDxJbWdQaWN0dXJlRFRPW10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxJbWdQaWN0dXJlRFRPW10+KFtdKTtcbiAgICBpbWdTZWxlY3RlZExpc3RMb2FkaW5nJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgICBnZXRJbWdTZWxlY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmltZ1NlbGVjdGlvbiQuZ2V0VmFsdWUoKTtcbiAgICB9XG5cbiAgICAvLyBVc2UgaW4gaW1nIG1hbmFnZXIgd2ViZWxlbWVudCwgd2hlbiB0aGUgcHJvZHVjdCBpbWcgc2VsZWN0aW9uIGlzIHJldHJpZXZlZFxuICAgIHNldEltZ1NlbGVjdGlvbihpbWdTZWxlY3RlZExpc3Q6IEltZ1BpY3R1cmVEVE9bXSkge1xuICAgICAgICB0aGlzLmltZ1NlbGVjdGlvbiQubmV4dChpbWdTZWxlY3RlZExpc3QgfHwgW10pO1xuICAgIH1cblxuICAgIGFkZEltZ1NlbGVjdGVkKHBpY3R1cmUgOiBJbWdQaWN0dXJlRFRPKSB7XG4gICAgICAgIGlmICh0aGlzLm11bHRpcGxlSW1nTW9kZSkge1xuICAgICAgICAgICAgdGhpcy5pbWdTZWxlY3Rpb24kLm5leHQoWy4uLnRoaXMuaW1nU2VsZWN0aW9uJC5nZXRWYWx1ZSgpLCBwaWN0dXJlXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmltZ1NlbGVjdGlvbiQubmV4dChbcGljdHVyZV0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVtb3ZlSW1nU2VsZWN0ZWRCeUluZGV4KGluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgY29uc3QgaW1nU2VsZWN0ZWRMaXN0ID0gdGhpcy5pbWdTZWxlY3Rpb24kLmdldFZhbHVlKCk7XG4gICAgICAgIGltZ1NlbGVjdGVkTGlzdC5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICB0aGlzLmltZ1NlbGVjdGlvbiQubmV4dChpbWdTZWxlY3RlZExpc3QpO1xuXG4gICAgfVxuXG4gICAgcmVtb3ZlSW1nU2VsZWN0ZWRCeUlkKGlkX2ZpbGU6IHN0cmluZykge1xuICAgICAgICBpZiAoIXRoaXMubXVsdGlwbGVJbWdNb2RlKSB7XG4gICAgICAgICAgICB0aGlzLmltZ1NlbGVjdGlvbiQubmV4dChbXSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pbWdTZWxlY3Rpb24kLm5leHQodGhpcy5pbWdTZWxlY3Rpb24kLmdldFZhbHVlKCkuZmlsdGVyKGltZyA9PiBpbWcuaWRfZmlsZSAhPT0gaWRfZmlsZSkpO1xuICAgIH1cblxuICAgIHJlbW92ZUltZ1NlbGVjdGlvbkJ5SWRzKGlkX2ZpbGVfbGlzdDogc3RyaW5nW10pIHtcbiAgICAgICAgaWYgKCF0aGlzLm11bHRpcGxlSW1nTW9kZSkge1xuICAgICAgICAgICAgdGhpcy5pbWdTZWxlY3Rpb24kLm5leHQoW10pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaW1nU2VsZWN0aW9uJC5uZXh0KHRoaXMuaW1nU2VsZWN0aW9uJC5nZXRWYWx1ZSgpLmZpbHRlcihpbWcgPT4gaWRfZmlsZV9saXN0LmluY2x1ZGVzKGltZy5pZF9maWxlKSkpO1xuICAgIH1cblxuICAgIHJlbW92ZUFsbEltZ1NlbGVjdGVkKCkgeyAvLyBUT0RPIHRlc3QgaXRcbiAgICAgICAgdGhpcy5pbWdTZWxlY3Rpb24kLm5leHQoW10pO1xuICAgIH1cblxuICAgIHNldE11bHRpcGxlSW1nTW9kZShhY3RpdmF0ZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5tdWx0aXBsZUltZ01vZGUgPSBhY3RpdmF0ZWQ7XG4gICAgfVxuXG4gICAgaW5pdEltZ1NlbGVjdGVkTGlzdChpbWdTZWxlY3RlZExpc3Q6IEltZ1BpY3R1cmVEVE9bXSkge1xuICAgICAgICAvLyBSZXRyaWV2ZSB0aGUgaW1nU2VsZWN0ZWRMaXN0IGZyb20gcGFyYW1ldGVyXG4gICAgICAgIGlmIChpbWdTZWxlY3RlZExpc3QpIHtcbiAgICAgICAgICAgIHRoaXMuaW1nU2VsZWN0aW9uJC5uZXh0KGltZ1NlbGVjdGVkTGlzdCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pbWdTZWxlY3Rpb24kLm5leHQoW10pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVzZSBhbmd1bGFyIGNkayBmdW5jdGlvblxuICAgICAqIENhbGxlZCBieSBpbWcgc2VsZWN0aW9uIGNvbXBvbmVudFxuICAgICAqIEBwYXJhbSBldmVudFxuICAgICAqL1xuICAgIG1vdmVJbWdPcmRlcihldmVudDogQ2RrRHJhZ0Ryb3A8c3RyaW5nW10+KSB7XG4gICAgICAgIGNvbnN0IGZyb21JbmRleCA9IGV2ZW50LnByZXZpb3VzSW5kZXg7XG4gICAgICAgIGNvbnN0IHRvSW5kZXggPSBldmVudC5jdXJyZW50SW5kZXg7XG4gICAgICAgIGNvbnN0IGltZ1NlbGVjdGVkTGlzdCA9IHRoaXMuaW1nU2VsZWN0aW9uJC5nZXRWYWx1ZSgpO1xuICAgICAgICBpbWdTZWxlY3RlZExpc3Quc3BsaWNlKHRvSW5kZXgsIDAsIGltZ1NlbGVjdGVkTGlzdC5zcGxpY2UoZnJvbUluZGV4LCAxKVswXSk7XG4gICAgICAgIHRoaXMuaW1nU2VsZWN0aW9uJC5uZXh0KGltZ1NlbGVjdGVkTGlzdCk7XG4gICAgfVxufVxuIl19
@@ -252,7 +252,7 @@ class CanvaService {
252
252
  return this.apiService.CONFIG.canva_token;
253
253
  }
254
254
  getCanvaLogo() {
255
- return this.apiService.CONFIG.canva_url + "canva/icon_canva.svg";
255
+ return this.apiService.CONFIG.assets_route + "canva/icon_canva.svg";
256
256
  }
257
257
  bindEventExepectedImgSizeChange() {
258
258
  return this.bindExpectedSizeDone;
@@ -4106,4 +4106,3 @@ class ImgManagerConfigDto {
4106
4106
 
4107
4107
  export { ApiService, CanvaButtonApi, CanvaService, ImgApiDto, ImgManagerConfigDto, ImgManagerService, ImgSelectionService, RenamePictureService, WzImgManagerComponent, WzImgManagerModule };
4108
4108
  //# sourceMappingURL=wizishop-img-manager.mjs.map
4109
- //# sourceMappingURL=wizishop-img-manager.mjs.map