@colijnit/sharedcomponents 255.1.6 → 255.1.8

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 (24) hide show
  1. package/bundles/colijnit-sharedcomponents.umd.js +21 -6
  2. package/bundles/colijnit-sharedcomponents.umd.js.map +1 -1
  3. package/colijnit-sharedcomponents.metadata.json +1 -1
  4. package/esm2015/lib/components/file-upload-popup/file-upload-popup.component.js +153 -146
  5. package/esm2015/lib/components/file-upload-popup/file-upload-popup.module.js +4 -3
  6. package/esm2015/lib/components/stock/localization/translation.js +3 -1
  7. package/esm2015/lib/components/task-creator/task-creator.component.js +2 -2
  8. package/esm2015/lib/components/workflow-info-tiles/components/workflow-info-tile.component.js +3 -2
  9. package/esm2015/lib/enum/icon.enum.js +2 -1
  10. package/esm2015/lib/model/icon-svg.js +2 -1
  11. package/fesm2015/colijnit-sharedcomponents.js +159 -148
  12. package/fesm2015/colijnit-sharedcomponents.js.map +1 -1
  13. package/index.html +2 -2
  14. package/lib/components/activity-list/style/_layout.scss +4 -0
  15. package/lib/components/activity-overview-component/style/_layout.scss +35 -5
  16. package/lib/components/file-upload-popup/file-upload-popup.component.d.ts +5 -1
  17. package/lib/components/file-upload-popup/style/_layout.scss +53 -8
  18. package/lib/components/open-activity-list/style/_layout.scss +1 -2
  19. package/lib/components/stock/localization/translation.d.ts +2 -0
  20. package/lib/components/task-creator/style/_layout.scss +11 -8
  21. package/lib/enum/icon.enum.d.ts +1 -0
  22. package/{main.2396a36c81daedb9fd1f.js → main.d0249f34b89d4e820129.js} +1 -1
  23. package/package.json +2 -2
  24. package/{styles.7699734a9d860ab3b86f.css → styles.5648bca110e9e1584719.css} +1 -1
@@ -13,13 +13,23 @@ import { DocumentEmailReport } from "../../enum/document-email-report.enum";
13
13
  import { DomainMultipleName } from "../../enum/domain-multiple-name.enum";
14
14
  import { FileTypeImagePipe } from "../../pipe/file-type-image.pipe";
15
15
  import { FileUtils } from "@colijnit/mainapi/build/utils/file-utils";
16
+ import { Icon } from "../../enum/icon.enum";
17
+ import { IconCacheService } from "../../service/icon-cache.service";
16
18
  // Component that shows a popup when the user wants to upload a CoDocument
17
19
  export class FileUploadPopupComponent {
18
20
  constructor(
19
21
  //private _workabilityService: AppWorkabilityService,
20
- _promptService, _fileTypeImgPipe) {
22
+ _promptService, _fileTypeImgPipe,
23
+ //private _userRights: UserRightsService,
24
+ //private _baseDataRepo: BaseDataDalRepository,
25
+ //private _tagsRepo: TagsDalRepository,
26
+ //private _dataService: DataService,
27
+ //private _toastService: AppToastService
28
+ iconCacheService) {
21
29
  this._promptService = _promptService;
22
30
  this._fileTypeImgPipe = _fileTypeImgPipe;
31
+ this.iconCacheService = iconCacheService;
32
+ this.icon = Icon;
23
33
  this.useWithoutSettingProps = false;
24
34
  this.hasPublicAccessVisible = false;
25
35
  this.showDocumentReportPicker = true;
@@ -187,155 +197,151 @@ FileUploadPopupComponent.decorators = [
187
197
  template: `
188
198
  <co-dialog *ngIf="!useWithoutSettingProps && documentUnderEdit" cssId="popup_files_upload_content"
189
199
  [headerTemplate]="headerTemplate" contentSize noClickOutside
200
+ [footerTemplate]="footerTemplate"
190
201
  (close)="onPopupClose()" (closeClick)="onPopupCancelClick()">
191
- <div class="co-dialog-wrapper">
192
- <div class="file-upload-form-wrapper" fxLayout="column" fxLayoutGap="10px">
193
- <co-form class="narrow-scrollbar" (validSubmit)="onValidSubmit()">
194
- <div class="horizontal-layout-column">
195
- <div class="document-thumb column-left" *ngIf="!addDocumentByUrl">
196
- <a (click)="onPreviewClick()"><img [src]="thumbnail"/></a>
197
- </div>
198
- <div class="column-right">
199
- <co-input-text
200
- [model]="documentUnderEdit.fileSize"
201
- [screenConfigurationObject]="documentUnderEdit.isImageDocument() ?
202
- filesUploadConfigObjects?.ImageDocumentFileSize :
203
- filesUploadConfigObjects?.TextDocumentFileSize"
204
- [placeholder]="'SIZE' | localize"
205
- forceReadonly
206
- noValidation>
207
- </co-input-text>
208
- <ng-container *ngIf="documentUnderEdit.isImageDocument()">
209
- <co-input-text [placeholder]="'DIMENSIONS' | localize"
210
- [model]="documentUnderEdit.imageDimensions"
211
- [screenConfigurationObject]="filesUploadConfigObjects?.ImageDocumentDimensions"
212
- forceReadonly noValidation></co-input-text>
213
- </ng-container>
214
- <co-input-text
215
- [(model)]="documentUnderEdit.title"
216
- [screenConfigurationObject]="documentUnderEdit.isImageDocument() ?
217
- filesUploadConfigObjects?.ImageDocumentTitle :
218
- filesUploadConfigObjects?.TextDocumentTitle"
219
- [placeholder]="'TITLE2' | localize"
220
- noValidation forceReadonly></co-input-text>
221
- </div>
222
- </div>
202
+ <div class="file-upload-form-wrapper" fxLayout="column" fxLayoutGap="10px">
203
+ <co-form class="narrow-scrollbar" (validSubmit)="onValidSubmit()">
204
+ <div class="horizontal-layout-column">
205
+ <div class="document-thumb column-left" *ngIf="!addDocumentByUrl">
206
+ <a (click)="onPreviewClick()"><img [src]="thumbnail"/></a>
207
+ </div>
208
+ <div class="column-right">
209
+ <co-input-text
210
+ [(model)]="documentUnderEdit.title"
211
+ [screenConfigurationObject]="documentUnderEdit.isImageDocument() ?
212
+ filesUploadConfigObjects?.ImageDocumentTitle :
213
+ filesUploadConfigObjects?.TextDocumentTitle"
214
+ [placeholder]="'TITLE' | localize"
215
+ noValidation forceReadonly></co-input-text>
216
+ <co-input-text [placeholder]="'DESCRIPTION' | localize" [(model)]="documentUnderEdit.description"
217
+ [screenConfigurationObject]="documentUnderEdit.isImageDocument() ?
218
+ filesUploadConfigObjects?.ImageDocumentDescription :
219
+ filesUploadConfigObjects?.TextDocumentDescription"
220
+ [readonly]="docUnderEditIsReadOnly"
221
+ ></co-input-text>
222
+ <div class="row sizes">
223
+ <co-input-text
224
+ [model]="documentUnderEdit.fileSize"
225
+ [screenConfigurationObject]="documentUnderEdit.isImageDocument() ?
226
+ filesUploadConfigObjects?.ImageDocumentFileSize :
227
+ filesUploadConfigObjects?.TextDocumentFileSize"
228
+ [placeholder]="'SIZE' | localize"
229
+ forceReadonly
230
+ noValidation>
231
+ </co-input-text>
232
+ <ng-container *ngIf="documentUnderEdit.isImageDocument()">
233
+ <co-input-text [placeholder]="'DIMENSIONS' | localize"
234
+ [model]="documentUnderEdit.imageDimensions"
235
+ [screenConfigurationObject]="filesUploadConfigObjects?.ImageDocumentDimensions"
236
+ forceReadonly noValidation></co-input-text>
237
+ </ng-container>
238
+ </div>
239
+ </div>
240
+ </div>
223
241
 
224
- <div>
225
- <!--<sc-tags
226
- [tagCategory]="tagCategory"
227
- [readonly]="docUnderEditIsReadOnly"-->
242
+ <div>
243
+ <!--<sc-tags
244
+ [tagCategory]="tagCategory"
245
+ [readonly]="docUnderEditIsReadOnly"-->
228
246
 
229
- <!-- ></sc-tags>--><!-- [myCfgNames]="tagsConfigName" | [(joinedTags)]="this.documentUnderEdit.tags"-->
230
- </div>
231
- <!--<div>
232
- <read-write-access *ngIf="showReadWriteAccess"
233
- [readWriteCfgNames]="filesUploadConfigObjects?.readWriteAccess"
234
- [layoutHorizontal]="true"
235
- [medicalUserGroups]="medicalUserGroups"
236
- [(userGroupsForWrite)]="userGroupsForWrite"
237
- [(userGroupsForRead)]="userGroupsForRead"
238
- [readonly]="docUnderEditIsReadOnly"
239
- ></read-write-access>
240
- </div>-->
241
- <!--<div class="horizontal-layout-column">
242
- <ng-container *ngIf="addDocumentByUrl">
243
- <co-input-text required [placeholder]="'URL' | localize" [(model)]="documentUnderEdit.filePath"
244
- [readonly]="docUnderEditIsReadOnly"></co-input-text>
245
- </ng-container>
246
- </div>-->
247
- <div class="horizontal-layout-column">
248
- <div class="column-left">
249
- <co-input-text [placeholder]="'DESCRIPTION' | localize" [(model)]="documentUnderEdit.description"
250
- [screenConfigurationObject]="documentUnderEdit.isImageDocument() ?
251
- filesUploadConfigObjects?.ImageDocumentDescription :
252
- filesUploadConfigObjects?.TextDocumentDescription"
253
- [readonly]="docUnderEditIsReadOnly"
254
- ></co-input-text>
247
+ <!-- ></sc-tags>--><!-- [myCfgNames]="tagsConfigName" | [(joinedTags)]="this.documentUnderEdit.tags"-->
248
+ </div>
249
+ <!--<div>
250
+ <read-write-access *ngIf="showReadWriteAccess"
251
+ [readWriteCfgNames]="filesUploadConfigObjects?.readWriteAccess"
252
+ [layoutHorizontal]="true"
253
+ [medicalUserGroups]="medicalUserGroups"
254
+ [(userGroupsForWrite)]="userGroupsForWrite"
255
+ [(userGroupsForRead)]="userGroupsForRead"
256
+ [readonly]="docUnderEditIsReadOnly"
257
+ ></read-write-access>
258
+ </div>-->
259
+ <!--<div class="horizontal-layout-column">
260
+ <ng-container *ngIf="addDocumentByUrl">
261
+ <co-input-text required [placeholder]="'URL' | localize" [(model)]="documentUnderEdit.filePath"
262
+ [readonly]="docUnderEditIsReadOnly"></co-input-text>
263
+ </ng-container>
264
+ </div>-->
265
+ <div class="horizontal-layout-column">
266
+ <!--<div *ngIf="hasPublicAccessVisible" class="column-right">
267
+ <input-switcher-yes-no label="PUBLIC_ACCESS"
268
+ [(model)]="documentUnderEdit.hasPublicAccess"
269
+ [readonly]="docUnderEditIsReadOnly"
270
+ ></input-switcher-yes-no>
271
+ </div>-->
272
+ </div>
273
+ <div class="horizontal-layout-column">
274
+ <ng-container *ngIf="!documentUnderEdit.isImageDocument()">
275
+ <div class="column-left">
276
+ <!-- <input-switcher-yes-no label="DOWNLOADABLE"
277
+ [(model)]="documentUnderEdit.downloadable"
278
+ [cfgName]="filesUploadConfigObjects?.TextDocumentDownloadable"
279
+ [readonly]="docUnderEditIsReadOnly"
280
+ ></input-switcher-yes-no>-->
281
+ </div>
282
+ </ng-container>
283
+ </div>
284
+ <div class="horizontal-layout-column">
285
+ <ng-container *ngIf="fileType === fileTypes.ThreeDFile">
286
+ <div class="column-left">
287
+ <!-- <input-switcher-yes-no label="ALSO_AS_USDZ"
288
+ [(model)]="documentUnderEdit.convertToUSDZ"
289
+ [readonly]="docUnderEditIsReadOnly"
290
+ ></input-switcher-yes-no>-->
291
+ </div>
292
+ </ng-container>
293
+ </div>
294
+ <div class="horizontal-layout-column">
295
+ <ng-container *ngIf="documentUnderEdit.isImageDocument()">
296
+ <div class="column-left"><!--
297
+ <input-switcher-yes-no label="ATTACH_TO_NOTIFICATION"
298
+ [(model)]="documentUnderEdit.attachToNotification"
299
+ [cfgName]="filesUploadConfigObjects?.ImageDocumentAttachNotification"
300
+ [readonly]="docUnderEditIsReadOnly"
301
+ ></input-switcher-yes-no>-->
302
+ </div>
303
+ <div class="column-right"><!--
304
+ <image-type-select
305
+ [cfgName]="filesUploadConfigObjects?.ImageDocumentDisplayType"
306
+ [(selectedModelId)]="this.documentUnderEdit.imageDisplayKind"
307
+ [readonly]="docUnderEditIsReadOnly"
308
+ label="DISPLAY_TYPE"
309
+ ></image-type-select>-->
310
+ </div>
311
+ </ng-container>
312
+ </div>
313
+ <div *ngIf="!isWorkability">
314
+ <!-- <multiple-property-toggler *ngIf="!showDocumentReportPicker"
315
+ [propertyNamesToToggle]="documentPublication"
316
+ [(enableditems)]="this.documentUnderEdit.publication"
317
+ (onPropertyItemChange)="handlePropertyChange($event)"
318
+ label="PUBLISH_TO"
319
+ [readonly]="docUnderEditIsReadOnly"
320
+ ></multiple-property-toggler>
321
+ <co-multiple-property-toggler *ngIf="showDocumentReportPicker"
322
+ [propertyNamesToToggle]="documentEmailReports"
323
+ [(enableditems)]="documentUnderEdit.reports"
324
+ (onPropertyItemChange)="handleReportsPropertyChange($event)"
325
+ label="REPORTS_TO_ATTACH_TO"
326
+ [readonly]="docUnderEditIsReadOnly"
327
+ ></co-multiple-property-toggler>-->
255
328
 
256
- </div>
257
- <!--<div *ngIf="hasPublicAccessVisible" class="column-right">
258
- <input-switcher-yes-no label="PUBLIC_ACCESS"
259
- [(model)]="documentUnderEdit.hasPublicAccess"
260
- [readonly]="docUnderEditIsReadOnly"
261
- ></input-switcher-yes-no>
262
- </div>-->
263
- </div>
264
- <div class="horizontal-layout-column">
265
- <ng-container *ngIf="!documentUnderEdit.isImageDocument()">
266
- <div class="column-left">
267
- <!-- <input-switcher-yes-no label="DOWNLOADABLE"
268
- [(model)]="documentUnderEdit.downloadable"
269
- [cfgName]="filesUploadConfigObjects?.TextDocumentDownloadable"
270
- [readonly]="docUnderEditIsReadOnly"
271
- ></input-switcher-yes-no>-->
272
- </div>
273
- </ng-container>
274
- </div>
275
- <div class="horizontal-layout-column">
276
- <ng-container *ngIf="fileType === fileTypes.ThreeDFile">
277
- <div class="column-left">
278
- <!-- <input-switcher-yes-no label="ALSO_AS_USDZ"
279
- [(model)]="documentUnderEdit.convertToUSDZ"
280
- [readonly]="docUnderEditIsReadOnly"
281
- ></input-switcher-yes-no>-->
282
- </div>
283
- </ng-container>
284
- </div>
285
- <div class="horizontal-layout-column">
286
- <ng-container *ngIf="documentUnderEdit.isImageDocument()">
287
- <div class="column-left"><!--
288
- <input-switcher-yes-no label="ATTACH_TO_NOTIFICATION"
289
- [(model)]="documentUnderEdit.attachToNotification"
290
- [cfgName]="filesUploadConfigObjects?.ImageDocumentAttachNotification"
291
- [readonly]="docUnderEditIsReadOnly"
292
- ></input-switcher-yes-no>-->
293
- </div>
294
- <div class="column-right"><!--
295
- <image-type-select
296
- [cfgName]="filesUploadConfigObjects?.ImageDocumentDisplayType"
297
- [(selectedModelId)]="this.documentUnderEdit.imageDisplayKind"
298
- [readonly]="docUnderEditIsReadOnly"
299
- label="DISPLAY_TYPE"
300
- ></image-type-select>-->
301
- </div>
302
- </ng-container>
303
- </div>
304
- <div *ngIf="!isWorkability">
305
- <!-- <multiple-property-toggler *ngIf="!showDocumentReportPicker"
306
- [propertyNamesToToggle]="documentPublication"
307
- [(enableditems)]="this.documentUnderEdit.publication"
308
- (onPropertyItemChange)="handlePropertyChange($event)"
309
- label="PUBLISH_TO"
310
- [readonly]="docUnderEditIsReadOnly"
311
- ></multiple-property-toggler>-->
312
- <co-multiple-property-toggler *ngIf="showDocumentReportPicker"
313
- [propertyNamesToToggle]="documentEmailReports"
314
- [(enableditems)]="documentUnderEdit.reports"
315
- (onPropertyItemChange)="handleReportsPropertyChange($event)"
316
- label="REPORTS_TO_ATTACH_TO"
317
- [readonly]="docUnderEditIsReadOnly"
318
- ></co-multiple-property-toggler>
319
-
320
- <!--<ng-container *ngIf="documentUnderEdit.isImageDocument()"
321
- [templateWrapper]="templateImage"></ng-container>-->
322
- </div>
323
- </co-form>
324
- <div class="ok-cancel-buttons">
325
- <co-button [disabled]="docUnderEditIsReadOnly" [textContent]="'OK' | localize" (click)="onPopupOkClick()"></co-button>
326
- <co-button *ngIf="hideCancel" [textContent]="'STICKER' | localize" (click)="onPopupCancelClick()"></co-button>
327
- </div>
328
- <!-- <default-ok-cancel-buttons class="justify-center"
329
- [okDisabled]="docUnderEditIsReadOnly"
330
- [hideCancel]="hideCancel"
331
- (okClick)="onPopupOkClick()"
332
- (cancelClick)="onPopupCancelClick()">
333
- </default-ok-cancel-buttons>-->
334
- </div>
335
- </div>
329
+ <!--<ng-container *ngIf="documentUnderEdit.isImageDocument()"
330
+ [templateWrapper]="templateImage"></ng-container>-->
331
+ </div>
332
+ </co-form>
333
+ </div>
336
334
  </co-dialog>
337
335
  <ng-template #headerTemplate>
338
- <div [textContent]="popupHeader | localize"></div>
336
+ <div class="co-dialog-header-title" [textContent]="popupHeader | localize"></div>
337
+ </ng-template>
338
+ <ng-template #footerTemplate>
339
+ <div class="co-dialog-footer-button-wrapper">
340
+ <co-button [disabled]="docUnderEditIsReadOnly" class="save-button"
341
+ (click)="onPopupOkClick()" [iconData]="iconCacheService.getIcon(icon.CheckDuotone)"></co-button>
342
+ <co-button class="close-button"
343
+ (click)="onPopupCancelClick()" [iconData]="iconCacheService.getIcon(icon.CrossSkinny)"></co-button>
344
+ </div>
339
345
  </ng-template>
340
346
  <ng-template #templateImage *ngIf="!isWorkability">
341
347
  <!-- <div class="column-right">
@@ -357,7 +363,8 @@ FileUploadPopupComponent.decorators = [
357
363
  ];
358
364
  FileUploadPopupComponent.ctorParameters = () => [
359
365
  { type: PromptService },
360
- { type: FileTypeImagePipe }
366
+ { type: FileTypeImagePipe },
367
+ { type: IconCacheService }
361
368
  ];
362
369
  FileUploadPopupComponent.propDecorators = {
363
370
  form: [{ type: ViewChild, args: [FormComponent,] }],
@@ -394,4 +401,4 @@ __decorate([
394
401
  __decorate([
395
402
  InputBoolean()
396
403
  ], FileUploadPopupComponent.prototype, "addDocumentByUrl", void 0);
397
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQtcG9wdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS11cGxvYWQtcG9wdXAvZmlsZS11cGxvYWQtcG9wdXAuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEgsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQzNELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLG1FQUFtRSxDQUFDO0FBRXRHLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSx1REFBdUQsQ0FBQztBQUN0RixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sK0RBQStELENBQUM7QUFDcEcsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUNyRSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0saURBQWlELENBQUM7QUFJaEYsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzlDLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBRTFFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBRXhFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQStLbkUsMEVB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QkFBaUIsR0FBRyxTQUFTLENBQUM7UUFFbkMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNoQyxDQUFDOzs7WUFwYUosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxzQkFBc0I7Z0JBQ2hDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0F1S1Q7Z0JBQ0EsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDekM7OztZQTVMTyxhQUFhO1lBYWIsaUJBQWlCOzs7bUJBa0xwQixTQUFTLFNBQUMsYUFBYTtxQ0FHdkIsS0FBSztxQ0FJTCxLQUFLO3VDQUlMLEtBQUs7Z0NBTUwsS0FBSzt1QkFTTCxLQUFLO3VDQVNMLEtBQUs7MEJBS0wsS0FBSztnQ0FHTCxLQUFLO3FDQUlMLEtBQUs7Z0NBR0wsS0FBSzswQkFHTCxLQUFLOzRCQUdMLEtBQUs7dUJBR0wsS0FBSzsrQkFHTCxLQUFLO2tDQUlMLE1BQU07OEJBR04sTUFBTTt3QkFHTixXQUFXLFNBQUMsNEJBQTRCOztBQW5FekM7SUFEQyxZQUFZLEVBQUU7d0VBQ2dDO0FBSS9DO0lBREMsWUFBWSxFQUFFO3dFQUNnQztBQUsvQztJQUZDLFlBQVksRUFBRTswRUFFaUM7QUErQmhEO0lBREMsWUFBWSxFQUFFO21FQUNtQjtBQW1CbEM7SUFEQyxZQUFZLEVBQUU7a0VBQ2tCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Rm9ybUNvbXBvbmVudH0gZnJvbSAnQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMic7XHJcbmltcG9ydCB7RG9jdW1lbnRQdWJsaWNhdGlvbn0gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL2VudW0vcmVmY29kZS9kb2N1bWVudC1wdWJsaWNhdGlvbi5lbnVtXCI7XHJcbmltcG9ydCB7U3RvcmVHcm91cH0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3N0b3JlLWdyb3VwLmJvXCI7XHJcbmltcG9ydCB7T2JqZWN0UmlnaHRUeXBlfSBmcm9tIFwiQGNvbGlqbml0L3NoYXJlZGFwaS9idWlsZC9lbnVtL29iamVjdC1yaWdodC10eXBlLmVudW1cIjtcclxuaW1wb3J0IHtQcm9tcHRTZXJ2aWNlfSBmcm9tIFwiQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMlwiO1xyXG5pbXBvcnQge0J1c2luZXNzT2JqZWN0RmFjdG9yeX0gZnJvbSBcIkBjb2xpam5pdC9pb25lY29ubmVjdG9yL2J1aWxkL3NlcnZpY2UvYnVzaW5lc3Mtb2JqZWN0LWZhY3RvcnlcIjtcclxuaW1wb3J0IHtJbnB1dEJvb2xlYW59IGZyb20gXCIuLi8uLi9kZWNvcmF0b3IvaW5wdXQtYm9vbGVhbi5kZWNvcmF0b3JcIjtcclxuaW1wb3J0IHtDb0RvY3VtZW50fSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvY28tZG9jdW1lbnRcIjtcclxuaW1wb3J0IHtDb0RvY3VtZW50UmlnaHR9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9jby1kb2N1bWVudC1yaWdodFwiO1xyXG5pbXBvcnQge1RhZ0NhdGVnb3J5fSBmcm9tIFwiLi4vLi4vZW51bS90YWctY2F0ZWdvcnkuZW51bVwiO1xyXG5pbXBvcnQge0ZpbGVzVXBsb2FkQ29uZmlnT2JqZWN0c30gZnJvbSBcIi4uLy4uL2VudW0vZmlsZXMtdXBsb2FkLWNvbmZpZy1vYmplY3RzXCI7XHJcbmltcG9ydCB7VGFibGVOYW1lfSBmcm9tIFwiLi4vLi4vZW51bS90YWJsZS1uYW1lLmVudW1cIjtcclxuaW1wb3J0IHtGaWxlVHlwZX0gZnJvbSBcIi4uLy4uL2VudW0vZmlsZS10eXBlXCI7XHJcbmltcG9ydCB7RG9jdW1lbnRFbWFpbFJlcG9ydH0gZnJvbSBcIi4uLy4uL2VudW0vZG9jdW1lbnQtZW1haWwtcmVwb3J0LmVudW1cIjtcclxuaW1wb3J0IHtUYWdzQ29tcG9uZW50Q29uZmlnTmFtZXN9IGZyb20gXCIuLi8uLi9lbnVtL3RhZ3MtY29tcG9uZW50LWNvbmZpZy1uYW1lc1wiO1xyXG5pbXBvcnQge0RvbWFpbk11bHRpcGxlTmFtZX0gZnJvbSBcIi4uLy4uL2VudW0vZG9tYWluLW11bHRpcGxlLW5hbWUuZW51bVwiO1xyXG5pbXBvcnQge1RhZ1RyZWVJdGVtfSBmcm9tIFwiLi4vLi4vbW9kZWwvdGFnLXRyZWUtaXRlbS5ib1wiO1xyXG5pbXBvcnQge0ZpbGVUeXBlSW1hZ2VQaXBlfSBmcm9tIFwiLi4vLi4vcGlwZS9maWxlLXR5cGUtaW1hZ2UucGlwZVwiO1xyXG5pbXBvcnQge0ZpbGVVdGlsc30gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL3V0aWxzL2ZpbGUtdXRpbHNcIjtcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcImNvLWZpbGUtdXBsb2FkLXBvcHVwXCIsXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgICAgIDxjby1kaWFsb2cgKm5nSWY9XCIhdXNlV2l0aG91dFNldHRpbmdQcm9wcyAmJiBkb2N1bWVudFVuZGVyRWRpdFwiIGNzc0lkPVwicG9wdXBfZmlsZXNfdXBsb2FkX2NvbnRlbnRcIlxyXG4gICAgICAgICAgICAgICAgICAgW2hlYWRlclRlbXBsYXRlXT1cImhlYWRlclRlbXBsYXRlXCIgY29udGVudFNpemUgbm9DbGlja091dHNpZGVcclxuICAgICAgICAgICAgICAgICAgIChjbG9zZSk9XCJvblBvcHVwQ2xvc2UoKVwiIChjbG9zZUNsaWNrKT1cIm9uUG9wdXBDYW5jZWxDbGljaygpXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjby1kaWFsb2ctd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpbGUtdXBsb2FkLWZvcm0td3JhcHBlclwiIGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRHYXA9XCIxMHB4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGNvLWZvcm0gY2xhc3M9XCJuYXJyb3ctc2Nyb2xsYmFyXCIgKHZhbGlkU3VibWl0KT1cIm9uVmFsaWRTdWJtaXQoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaG9yaXpvbnRhbC1sYXlvdXQtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZG9jdW1lbnQtdGh1bWIgY29sdW1uLWxlZnRcIiAqbmdJZj1cIiFhZGREb2N1bWVudEJ5VXJsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgKGNsaWNrKT1cIm9uUHJldmlld0NsaWNrKClcIj48aW1nIFtzcmNdPVwidGh1bWJuYWlsXCIvPjwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbi1yaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZWxdPVwiZG9jdW1lbnRVbmRlckVkaXQuZmlsZVNpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiZG9jdW1lbnRVbmRlckVkaXQuaXNJbWFnZURvY3VtZW50KCkgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlc1VwbG9hZENvbmZpZ09iamVjdHM/LkltYWdlRG9jdW1lbnRGaWxlU2l6ZSA6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzVXBsb2FkQ29uZmlnT2JqZWN0cz8uVGV4dERvY3VtZW50RmlsZVNpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidTSVpFJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcmNlUmVhZG9ubHlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vVmFsaWRhdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRvY3VtZW50VW5kZXJFZGl0LmlzSW1hZ2VEb2N1bWVudCgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28taW5wdXQtdGV4dCBbcGxhY2Vob2xkZXJdPVwiJ0RJTUVOU0lPTlMnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZWxdPVwiZG9jdW1lbnRVbmRlckVkaXQuaW1hZ2VEaW1lbnNpb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiZmlsZXNVcGxvYWRDb25maWdPYmplY3RzPy5JbWFnZURvY3VtZW50RGltZW5zaW9uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcmNlUmVhZG9ubHkgbm9WYWxpZGF0aW9uPjwvY28taW5wdXQtdGV4dD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28taW5wdXQtdGV4dFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwiZG9jdW1lbnRVbmRlckVkaXQudGl0bGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiZG9jdW1lbnRVbmRlckVkaXQuaXNJbWFnZURvY3VtZW50KCkgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlc1VwbG9hZENvbmZpZ09iamVjdHM/LkltYWdlRG9jdW1lbnRUaXRsZSA6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzVXBsb2FkQ29uZmlnT2JqZWN0cz8uVGV4dERvY3VtZW50VGl0bGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidUSVRMRTInIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9WYWxpZGF0aW9uIGZvcmNlUmVhZG9ubHk+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLTxzYy10YWdzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGFnQ2F0ZWdvcnldPVwidGFnQ2F0ZWdvcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cImRvY1VuZGVyRWRpdElzUmVhZE9ubHlcIi0tPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA+PC9zYy10YWdzPi0tPjwhLS0gW215Q2ZnTmFtZXNdPVwidGFnc0NvbmZpZ05hbWVcIiB8IFsoam9pbmVkVGFncyldPVwidGhpcy5kb2N1bWVudFVuZGVyRWRpdC50YWdzXCItLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS08ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWFkLXdyaXRlLWFjY2VzcyAqbmdJZj1cInNob3dSZWFkV3JpdGVBY2Nlc3NcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkV3JpdGVDZmdOYW1lc109XCJmaWxlc1VwbG9hZENvbmZpZ09iamVjdHM/LnJlYWRXcml0ZUFjY2Vzc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xheW91dEhvcml6b250YWxdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21lZGljYWxVc2VyR3JvdXBzXT1cIm1lZGljYWxVc2VyR3JvdXBzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKHVzZXJHcm91cHNGb3JXcml0ZSldPVwidXNlckdyb3Vwc0ZvcldyaXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKHVzZXJHcm91cHNGb3JSZWFkKV09XCJ1c2VyR3JvdXBzRm9yUmVhZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cImRvY1VuZGVyRWRpdElzUmVhZE9ubHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvcmVhZC13cml0ZS1hY2Nlc3M+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pi0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tPGRpdiBjbGFzcz1cImhvcml6b250YWwtbGF5b3V0LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFkZERvY3VtZW50QnlVcmxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28taW5wdXQtdGV4dCByZXF1aXJlZCBbcGxhY2Vob2xkZXJdPVwiJ1VSTCcgfCBsb2NhbGl6ZVwiIFsobW9kZWwpXT1cImRvY3VtZW50VW5kZXJFZGl0LmZpbGVQYXRoXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwiZG9jVW5kZXJFZGl0SXNSZWFkT25seVwiPjwvY28taW5wdXQtdGV4dD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4tLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhvcml6b250YWwtbGF5b3V0LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbi1sZWZ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLWlucHV0LXRleHQgW3BsYWNlaG9sZGVyXT1cIidERVNDUklQVElPTicgfCBsb2NhbGl6ZVwiIFsobW9kZWwpXT1cImRvY3VtZW50VW5kZXJFZGl0LmRlc2NyaXB0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJkb2N1bWVudFVuZGVyRWRpdC5pc0ltYWdlRG9jdW1lbnQoKSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzVXBsb2FkQ29uZmlnT2JqZWN0cz8uSW1hZ2VEb2N1bWVudERlc2NyaXB0aW9uIDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZXNVcGxvYWRDb25maWdPYmplY3RzPy5UZXh0RG9jdW1lbnREZXNjcmlwdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cImRvY1VuZGVyRWRpdElzUmVhZE9ubHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2NvLWlucHV0LXRleHQ+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tPGRpdiAqbmdJZj1cImhhc1B1YmxpY0FjY2Vzc1Zpc2libGVcIiBjbGFzcz1cImNvbHVtbi1yaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dC1zd2l0Y2hlci15ZXMtbm8gbGFiZWw9XCJQVUJMSUNfQUNDRVNTXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cImRvY3VtZW50VW5kZXJFZGl0Lmhhc1B1YmxpY0FjY2Vzc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwiZG9jVW5kZXJFZGl0SXNSZWFkT25seVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvaW5wdXQtc3dpdGNoZXIteWVzLW5vPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+LS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaG9yaXpvbnRhbC1sYXlvdXQtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWRvY3VtZW50VW5kZXJFZGl0LmlzSW1hZ2VEb2N1bWVudCgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbi1sZWZ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8aW5wdXQtc3dpdGNoZXIteWVzLW5vIGxhYmVsPVwiRE9XTkxPQURBQkxFXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJkb2N1bWVudFVuZGVyRWRpdC5kb3dubG9hZGFibGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjZmdOYW1lXT1cImZpbGVzVXBsb2FkQ29uZmlnT2JqZWN0cz8uVGV4dERvY3VtZW50RG93bmxvYWRhYmxlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwiZG9jVW5kZXJFZGl0SXNSZWFkT25seVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2lucHV0LXN3aXRjaGVyLXllcy1ubz4tLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhvcml6b250YWwtbGF5b3V0LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpbGVUeXBlID09PSBmaWxlVHlwZXMuVGhyZWVERmlsZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW4tbGVmdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGlucHV0LXN3aXRjaGVyLXllcy1ubyBsYWJlbD1cIkFMU09fQVNfVVNEWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwiZG9jdW1lbnRVbmRlckVkaXQuY29udmVydFRvVVNEWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cImRvY1VuZGVyRWRpdElzUmVhZE9ubHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9pbnB1dC1zd2l0Y2hlci15ZXMtbm8+LS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJob3Jpem9udGFsLWxheW91dC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkb2N1bWVudFVuZGVyRWRpdC5pc0ltYWdlRG9jdW1lbnQoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW4tbGVmdFwiPjwhLS1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0LXN3aXRjaGVyLXllcy1ubyBsYWJlbD1cIkFUVEFDSF9UT19OT1RJRklDQVRJT05cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cImRvY3VtZW50VW5kZXJFZGl0LmF0dGFjaFRvTm90aWZpY2F0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2ZnTmFtZV09XCJmaWxlc1VwbG9hZENvbmZpZ09iamVjdHM/LkltYWdlRG9jdW1lbnRBdHRhY2hOb3RpZmljYXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJkb2NVbmRlckVkaXRJc1JlYWRPbmx5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvaW5wdXQtc3dpdGNoZXIteWVzLW5vPi0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW4tcmlnaHRcIj48IS0tXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWFnZS10eXBlLXNlbGVjdFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjZmdOYW1lXT1cImZpbGVzVXBsb2FkQ29uZmlnT2JqZWN0cz8uSW1hZ2VEb2N1bWVudERpc3BsYXlUeXBlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKHNlbGVjdGVkTW9kZWxJZCldPVwidGhpcy5kb2N1bWVudFVuZGVyRWRpdC5pbWFnZURpc3BsYXlLaW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwiZG9jVW5kZXJFZGl0SXNSZWFkT25seVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw9XCJESVNQTEFZX1RZUEVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9pbWFnZS10eXBlLXNlbGVjdD4tLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFpc1dvcmthYmlsaXR5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPG11bHRpcGxlLXByb3BlcnR5LXRvZ2dsZXIgKm5nSWY9XCIhc2hvd0RvY3VtZW50UmVwb3J0UGlja2VyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Byb3BlcnR5TmFtZXNUb1RvZ2dsZV09XCJkb2N1bWVudFB1YmxpY2F0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhlbmFibGVkaXRlbXMpXT1cInRoaXMuZG9jdW1lbnRVbmRlckVkaXQucHVibGljYXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob25Qcm9wZXJ0eUl0ZW1DaGFuZ2UpPVwiaGFuZGxlUHJvcGVydHlDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsPVwiUFVCTElTSF9UT1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJkb2NVbmRlckVkaXRJc1JlYWRPbmx5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L211bHRpcGxlLXByb3BlcnR5LXRvZ2dsZXI+LS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28tbXVsdGlwbGUtcHJvcGVydHktdG9nZ2xlciAqbmdJZj1cInNob3dEb2N1bWVudFJlcG9ydFBpY2tlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwcm9wZXJ0eU5hbWVzVG9Ub2dnbGVdPVwiZG9jdW1lbnRFbWFpbFJlcG9ydHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKGVuYWJsZWRpdGVtcyldPVwiZG9jdW1lbnRVbmRlckVkaXQucmVwb3J0c1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvblByb3BlcnR5SXRlbUNoYW5nZSk9XCJoYW5kbGVSZXBvcnRzUHJvcGVydHlDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsPVwiUkVQT1JUU19UT19BVFRBQ0hfVE9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwiZG9jVW5kZXJFZGl0SXNSZWFkT25seVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9jby1tdWx0aXBsZS1wcm9wZXJ0eS10b2dnbGVyPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS08bmctY29udGFpbmVyICpuZ0lmPVwiZG9jdW1lbnRVbmRlckVkaXQuaXNJbWFnZURvY3VtZW50KClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGVtcGxhdGVXcmFwcGVyXT1cInRlbXBsYXRlSW1hZ2VcIj48L25nLWNvbnRhaW5lcj4tLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9jby1mb3JtPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwib2stY2FuY2VsLWJ1dHRvbnNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8Y28tYnV0dG9uIFtkaXNhYmxlZF09XCJkb2NVbmRlckVkaXRJc1JlYWRPbmx5XCIgW3RleHRDb250ZW50XT1cIidPSycgfCBsb2NhbGl6ZVwiIChjbGljayk9XCJvblBvcHVwT2tDbGljaygpXCI+PC9jby1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPGNvLWJ1dHRvbiAqbmdJZj1cImhpZGVDYW5jZWxcIiBbdGV4dENvbnRlbnRdPVwiJ1NUSUNLRVInIHwgbG9jYWxpemVcIiAoY2xpY2spPVwib25Qb3B1cENhbmNlbENsaWNrKClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwhLS0gIDxkZWZhdWx0LW9rLWNhbmNlbC1idXR0b25zIGNsYXNzPVwianVzdGlmeS1jZW50ZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtva0Rpc2FibGVkXT1cImRvY1VuZGVyRWRpdElzUmVhZE9ubHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtoaWRlQ2FuY2VsXT1cImhpZGVDYW5jZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChva0NsaWNrKT1cIm9uUG9wdXBPa0NsaWNrKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjYW5jZWxDbGljayk9XCJvblBvcHVwQ2FuY2VsQ2xpY2soKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGVmYXVsdC1vay1jYW5jZWwtYnV0dG9ucz4tLT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2NvLWRpYWxvZz5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI2hlYWRlclRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8ZGl2IFt0ZXh0Q29udGVudF09XCJwb3B1cEhlYWRlciB8IGxvY2FsaXplXCI+PC9kaXY+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI3RlbXBsYXRlSW1hZ2UgKm5nSWY9XCIhaXNXb3JrYWJpbGl0eVwiPlxyXG4gICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImNvbHVtbi1yaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgPGlucHV0LWxvdi1tdWx0aS1zZWxlY3RcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2NmZ05hbWVdPVwiZmlsZXNVcGxvYWRDb25maWdPYmplY3RzLkltYWdlRG9jdW1lbnRTdG9yZUdyb3Vwc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFsoc2VsZWN0ZWRNb2RlbElkcyldPVwic3RvcmVHcm91cElkc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uXT1cInN0b3JlR3JvdXBzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cImRvY1VuZGVyRWRpdElzUmVhZE9ubHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbkZpZWxkPVwiZGVzY3JpcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkb05vdExvYWRDb2xsZWN0aW9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbVdpZHRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsPVwiUkVUQUlMX0ZPUk1VTEFTXCJcclxuICAgICAgICAgICAgICAgID48L2lucHV0LWxvdi1tdWx0aS1zZWxlY3Q+XHJcbiAgICAgICAgICAgIDwvZGl2Pi0tPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICBgLFxyXG4gICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuLy8gQ29tcG9uZW50IHRoYXQgc2hvd3MgYSBwb3B1cCB3aGVuIHRoZSB1c2VyIHdhbnRzIHRvIHVwbG9hZCBhIENvRG9jdW1lbnRcclxuZXhwb3J0IGNsYXNzIEZpbGVVcGxvYWRQb3B1cENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBAVmlld0NoaWxkKEZvcm1Db21wb25lbnQpXHJcbiAgICBwdWJsaWMgZm9ybTogRm9ybUNvbXBvbmVudDtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgQElucHV0Qm9vbGVhbigpXHJcbiAgICBwdWJsaWMgdXNlV2l0aG91dFNldHRpbmdQcm9wczogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBASW5wdXRCb29sZWFuKClcclxuICAgIHB1YmxpYyBoYXNQdWJsaWNBY2Nlc3NWaXNpYmxlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIEBJbnB1dEJvb2xlYW4oKVxyXG4gICAgLy90b2RvIHRoaXMgaXMgdXN1YWxseSBzZXQgdG8gZmFsc2Ugb24gaW5pdFxyXG4gICAgcHVibGljIHNob3dEb2N1bWVudFJlcG9ydFBpY2tlcjogYm9vbGVhbiA9IHRydWU7XHJcblxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2V0IGRvY3VtZW50VW5kZXJFZGl0KGRvYzogQ29Eb2N1bWVudCkge1xyXG4gICAgICAgIHRoaXMuX2RvY3VtZW50VW5kZXJFZGl0ID0gZG9jID8gdGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoQ29Eb2N1bWVudCwgZG9jKSBhcyB1bmtub3duIGFzIENvRG9jdW1lbnQgOiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBkb2N1bWVudFVuZGVyRWRpdCgpOiBDb0RvY3VtZW50IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZG9jdW1lbnRVbmRlckVkaXQ7XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZXQgcmVhZG9ubHkodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgICAgICB0aGlzLl9yZWFkb25seSA9IHZhbHVlO1xyXG5cclxuICAgICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICAgICAgLy90aGlzLl90b2FzdFNlcnZpY2Uuc3Bhd25Ub2FzdChcIk1FU1NBR0VfRE9DVU1FTlRfTE9DS19TSU5HTEVcIik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2V0IGZpbGVzVXBsb2FkQ29uZmlnT2JqZWN0cyh2YWx1ZTogRmlsZXNVcGxvYWRDb25maWdPYmplY3RzKSB7XHJcbiAgICAgICAgdGhpcy5fZmlsZXNVcGxvYWRDb25maWdPYmplY3RzID0gdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyB0YWdDYXRlZ29yeTogVGFnQ2F0ZWdvcnk7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIEBJbnB1dEJvb2xlYW4oKVxyXG4gICAgcHVibGljIG1lZGljYWxVc2VyR3JvdXBzOiBib29sZWFuO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZGlzcGxheVJlYWRXcml0ZUFjY2VzczogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyB0YWdSZWZlcmVuY2VUYWJsZTogVGFibGVOYW1lO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZG9jdW1lbnRLZXk6IHN0cmluZztcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGRvY3VtZW50VGFibGU6IHN0cmluZztcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGZpbGVUeXBlOiBGaWxlVHlwZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgQElucHV0Qm9vbGVhbigpXHJcbiAgICBwdWJsaWMgYWRkRG9jdW1lbnRCeVVybDogYm9vbGVhbjtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyByZWFkb25seSBkb2N1bWVudENoYW5nZUV2ZW50OiBFdmVudEVtaXR0ZXI8Q29Eb2N1bWVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPENvRG9jdW1lbnQ+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgcG9wdXBDbG9zZUV2ZW50OiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jby1maWxlLXVwbG9hZC1wb3B1cCcpXHJcbiAgICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgcHVibGljIHJlYWRvbmx5IGRvY3VtZW50UHVibGljYXRpb246IHR5cGVvZiBEb2N1bWVudFB1YmxpY2F0aW9uID0gRG9jdW1lbnRQdWJsaWNhdGlvbjtcclxuICAgIHB1YmxpYyByZWFkb25seSBkb2N1bWVudEVtYWlsUmVwb3J0czogdHlwZW9mIERvY3VtZW50RW1haWxSZXBvcnQgPSBEb2N1bWVudEVtYWlsUmVwb3J0O1xyXG5cclxuICAgIHB1YmxpYyBnZXQgc2hvd1JlYWRXcml0ZUFjY2VzcygpOiBib29sZWFuIHtcclxuICAgICAgICAvL1RPRE8gZ2V0IHVzZXJyaWdodHNcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAvL3JldHVybiB0aGlzLl91c2VyUmlnaHRzLndvcmthYmlsaXR5UGFyYW1ldGVyRW5hYmxlZCAmJiB0aGlzLmRpc3BsYXlSZWFkV3JpdGVBY2Nlc3M7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBmaWxlc1VwbG9hZENvbmZpZ09iamVjdHMoKTogRmlsZXNVcGxvYWRDb25maWdPYmplY3RzIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZmlsZXNVcGxvYWRDb25maWdPYmplY3RzO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgaXNXb3JrYWJpbGl0eSgpOiBib29sZWFuIHtcclxuICAgICAgLy9UT0RPIGZpeCB3b3JrYWJpbGl0eVxyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcblxyXG4gICAgICAvL3JldHVybiB0aGlzLl93b3JrYWJpbGl0eVNlcnZpY2Uud29ya2FiaWxpdHlTeXN0ZW1FbmFibGVkO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgZG9jVW5kZXJFZGl0SXNSZWFkT25seSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5kb2N1bWVudFVuZGVyRWRpdC5yZWFkb25seSB8fCB0aGlzLl9yZWFkb25seTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IHRodW1ibmFpbCgpOiBzdHJpbmcge1xyXG4gICAgICAgIGlmICh0aGlzLmRvY3VtZW50VW5kZXJFZGl0LmlzSW1hZ2VEb2N1bWVudCgpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl90aHVtYm5haWxcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ZpbGVUeXBlSW1nUGlwZS50cmFuc2Zvcm0odGhpcy5kb2N1bWVudFVuZGVyRWRpdC5maWxlVHlwZUludGVybmFsKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IHBvcHVwSGVhZGVyKCk6IHN0cmluZyB7XHJcbiAgICAgICAgaWYgKHRoaXMuZG9jdW1lbnRVbmRlckVkaXQgJiYgdGhpcy5kb2N1bWVudFVuZGVyRWRpdC5pc0ltYWdlRG9jdW1lbnQoKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gXCJJTUFHRVwiO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBcIkRPQ1VNRU5UXCI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgcHVibGljYXRpb25Db25maWdOYW1lKCk6IHN0cmluZyB7XHJcbiAgICAgICAgaWYgKHRoaXMuZmlsZXNVcGxvYWRDb25maWdPYmplY3RzKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmRvY3VtZW50VW5kZXJFZGl0LmlzSW1hZ2VEb2N1bWVudCgpID9cclxuICAgICAgICAgICAgICAgIHRoaXMuZmlsZXNVcGxvYWRDb25maWdPYmplY3RzLkltYWdlRG9jdW1lbnRQdWJsaXNoVG8gOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5maWxlc1VwbG9hZENvbmZpZ09iamVjdHMuVGV4dERvY3VtZW50UHVibGlzaFRvO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybjsgLy8gTm8gY29uZmlnbmFtZSBmb3VuZFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgcHVibGljIGdldCB0YWdzQ29uZmlnTmFtZSgpOiBUYWdzQ29tcG9uZW50Q29uZmlnTmFtZXMge1xyXG4gICAgICAgIGlmICh0aGlzLmZpbGVzVXBsb2FkQ29uZmlnT2JqZWN0cykge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5kb2N1bWVudFVuZGVyRWRpdC5pc0ltYWdlRG9jdW1lbnQoKSA/XHJcbiAgICAgICAgICAgICAgICB0aGlzLmZpbGVzVXBsb2FkQ29uZmlnT2JqZWN0cy5UYWdzSW1hZ2VDb25maWdOYW1lcyA6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmZpbGVzVXBsb2FkQ29uZmlnT2JqZWN0cy5UYWdzVGV4dENvbmZpZ05hbWVzO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybjsgLy8gTm8gY29uZmlnbmFtZSBmb3VuZFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgZG9tYWluOiB0eXBlb2YgRG9tYWluTXVsdGlwbGVOYW1lID0gRG9tYWluTXVsdGlwbGVOYW1lO1xyXG4gICAgcHVibGljIHJlYWRvbmx5IGZpbGVUeXBlczogdHlwZW9mIEZpbGVUeXBlID0gRmlsZVR5cGU7XHJcblxyXG4gICAgcHVibGljIF9kb2N1bWVudFVuZGVyRWRpdDogQ29Eb2N1bWVudDtcclxuICAgIHB1YmxpYyBoaWRlQ2FuY2VsOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgc3RvcmVHcm91cHM6IFN0b3JlR3JvdXBbXSA9IFtdO1xyXG4gICAgcHVibGljIHB1YmxpY2F0aW9uSWRzOiBudW1iZXJbXTtcclxuICAgIHB1YmxpYyBzdG9yZUdyb3VwSWRzOiBzdHJpbmdbXTtcclxuICAgIHB1YmxpYyB1c2VyR3JvdXBzRm9yV3JpdGU6IG51bWJlcltdID0gW107XHJcbiAgICBwdWJsaWMgdXNlckdyb3Vwc0ZvclJlYWQ6IG51bWJlcltdID0gW107XHJcbiAgICBwdWJsaWMgZG9jdW1lbnRUYWdzOiBUYWdUcmVlSXRlbVtdID0gW107XHJcblxyXG4gICAgcHJpdmF0ZSBfZmlsZXNVcGxvYWRDb25maWdPYmplY3RzOiBGaWxlc1VwbG9hZENvbmZpZ09iamVjdHMgPSB7fTsgLy8gSW5zdGFudGlhdGUgd2l0aCBlbXB0eSBvYmplY3QgdG8gYXZvaWQgbnVsbHBvaW50ZXJzIGluIHRoZSB0ZW1wbGF0ZVxyXG4gICAgcHJpdmF0ZSBfYm9GYWN0b3J5OiBCdXNpbmVzc09iamVjdEZhY3RvcnkgPSBuZXcgQnVzaW5lc3NPYmplY3RGYWN0b3J5KCk7XHJcbiAgICBwcml2YXRlIF9yZWFkb25seTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHJpdmF0ZSBfcHVibGljYXRpb25OdW1iZXI6IG51bWJlcjtcclxuICAgIHByaXZhdGUgX3JlcG9ydHNOdW1iZXI6IG51bWJlcjtcclxuXHJcbiAgICBwcml2YXRlIF90aHVtYm5haWw6IHN0cmluZztcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICAvL3ByaXZhdGUgX3dvcmthYmlsaXR5U2VydmljZTogQXBwV29ya2FiaWxpdHlTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgX3Byb21wdFNlcnZpY2U6IFByb21wdFNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBfZmlsZVR5cGVJbWdQaXBlOiBGaWxlVHlwZUltYWdlUGlwZSxcclxuICAgICAgICAvL3ByaXZhdGUgX3VzZXJSaWdodHM6IFVzZXJSaWdodHNTZXJ2aWNlLFxyXG4gICAgICAgIC8vcHJpdmF0ZSBfYmFzZURhdGFSZXBvOiBCYXNlRGF0YURhbFJlcG9zaXRvcnksXHJcbiAgICAgICAgLy9wcml2YXRlIF90YWdzUmVwbzogVGFnc0RhbFJlcG9zaXRvcnksXHJcbiAgICAgICAgLy9wcml2YXRlIF9kYXRhU2VydmljZTogRGF0YVNlcnZpY2UsXHJcbiAgICAgICAgLy9wcml2YXRlIF90b2FzdFNlcnZpY2U6IEFwcFRvYXN0U2VydmljZVxyXG4gICAgKSB7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5sb2FkQ29sbGVjdGlvbigpO1xyXG4gICAgICAgIGlmICh0aGlzLmRvY3VtZW50VW5kZXJFZGl0LmlzSW1hZ2VEb2N1bWVudCgpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3RodW1ibmFpbCA9IHRoaXMuZG9jdW1lbnRVbmRlckVkaXQuZG9jdW1lbnRCb2R5QXNEYXRhVXJpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgbG9hZENvbGxlY3Rpb24oKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgLy90aGlzLmRvY3VtZW50VGFncyA9IGF3YWl0IHRoaXMuX3RhZ3NSZXBvLmdldEpvaW5lZFRhZ3ModGhpcy50YWdSZWZlcmVuY2VUYWJsZSwgdGhpcy5kb2N1bWVudEtleSk7XHJcbiAgICAgICAgLy90aGlzLnN0b3JlR3JvdXBzID0gYXdhaXQgdGhpcy5fYmFzZURhdGFSZXBvLmdldFN0b3JlR3JvdXBMaXN0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG9uUHJldmlld0NsaWNrKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmRvY3VtZW50VW5kZXJFZGl0LmlzSW1hZ2VEb2N1bWVudCgpKSB7IC8vcHJldmlldyBpbWFnZVxyXG4gICAgICAgICAgICB0aGlzLl9wcm9tcHRTZXJ2aWNlLnNob3dJbWFnZSh0aGlzLmRvY3VtZW50VW5kZXJFZGl0LmRvY3VtZW50Qm9keUFzRGF0YVVyaSwgXCJQcmV2aWV3XCIpO1xyXG4gICAgICAgIH0gZWxzZSB7IC8vZG93bmxvYWQgZG9jdW1lbnRcclxuICAgICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgICAgIEZpbGVVdGlscy5Eb3dubG9hZEZyb21EYXRhVXJpKHRoaXMuZG9jdW1lbnRVbmRlckVkaXQuYm9keUFzRGF0YVVyaSwgdGhpcy5kb2N1bWVudFVuZGVyRWRpdC5maWxlTmFtZSk7XHJcbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzYXZlRG9jdW1lbnRVbmRlckVkaXRSaWdodHMoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5kb2N1bWVudFVuZGVyRWRpdC5yaWdodHMgPSBbXTtcclxuICAgICAgICBjb25zdCBmb3JXcml0ZUxlbmd0aDogbnVtYmVyID0gdGhpcy51c2VyR3JvdXBzRm9yV3JpdGUubGVuZ3RoO1xyXG4gICAgICAgIGZvciAobGV0IGk6IG51bWJlciA9IDA7IGkgPCBmb3JXcml0ZUxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJpZ2h0czogQ29Eb2N1bWVudFJpZ2h0ID0gbmV3IENvRG9jdW1lbnRSaWdodCgpO1xyXG4gICAgICAgICAgICByaWdodHMudXNlckdyb3VwSWQgPSB0aGlzLnVzZXJHcm91cHNGb3JXcml0ZVtpXTtcclxuICAgICAgICAgICAgcmlnaHRzLnJpZ2h0TGV2ZWwgPSBPYmplY3RSaWdodFR5cGUuUmVhZFdyaXRlO1xyXG4gICAgICAgICAgICB0aGlzLmRvY3VtZW50VW5kZXJFZGl0LnJpZ2h0cy5wdXNoKHJpZ2h0cyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBmb3JSZWFkTGVuZ3RoOiBudW1iZXIgPSB0aGlzLnVzZXJHcm91cHNGb3JSZWFkLmxlbmd0aDtcclxuICAgICAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwOyBpIDwgZm9yUmVhZExlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJpZ2h0czogQ29Eb2N1bWVudFJpZ2h0ID0gbmV3IENvRG9jdW1lbnRSaWdodCgpO1xyXG4gICAgICAgICAgICByaWdodHMudXNlckdyb3VwSWQgPSB0aGlzLnVzZXJHcm91cHNGb3JSZWFkW2ldO1xyXG4gICAgICAgICAgICByaWdodHMucmlnaHRMZXZlbCA9IE9iamVjdFJpZ2h0VHlwZS5SZWFkT25seTtcclxuICAgICAgICAgICAgdGhpcy5kb2N1bWVudFVuZGVyRWRpdC5yaWdodHMucHVzaChyaWdodHMpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgb25Qb3B1cE9rQ2xpY2soKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuZm9ybSkge1xyXG4gICAgICAgICAgICB0aGlzLmZvcm0uc3VibWl0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBoYW5kbGVQcm9wZXJ0eUNoYW5nZShyZWZTdW1PZkVuYWJsZWRJdGVtczogbnVtYmVyKTogYW55IHtcclxuICAgICAgICB0aGlzLl9wdWJsaWNhdGlvbk51bWJlciA9IHJlZlN1bU9mRW5hYmxlZEl0ZW1zO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBoYW5kbGVSZXBvcnRzUHJvcGVydHlDaGFuZ2UocmVmU3VtT2ZFbmFibGVkSXRlbXM6IG51bWJlcik6IGFueSB7XHJcbiAgICAgICAgdGhpcy5fcmVwb3J0c051bWJlciA9IHJlZlN1bU9mRW5hYmxlZEl0ZW1zO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBvblZhbGlkU3VibWl0KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIHRoaXMuX3B1YmxpY2F0aW9uTnVtYmVyID8gdGhpcy5kb2N1bWVudFVuZGVyRWRpdC5wdWJsaWNhdGlvbiA9IHRoaXMuX3B1YmxpY2F0aW9uTnVtYmVyIDogdGhpcy5kb2N1bWVudFVuZGVyRWRpdC5wdWJsaWNhdGlvbiA9IDA7XHJcbiAgICAgICAgdGhpcy5fcmVwb3J0c051bWJlciA/IHRoaXMuZG9jdW1lbnRVbmRlckVkaXQucmVwb3J0cyA9IHRoaXMuX3JlcG9ydHNOdW1iZXIgOiB0aGlzLmRvY3VtZW50VW5kZXJFZGl0LnJlcG9ydHMgPSAwO1xyXG4gICAgICAgIHRoaXMuZG9jdW1lbnRVbmRlckVkaXQucmV0YWlsRm9ybXVsYXMgPSB0aGlzLnN0b3JlR3JvdXBJZHM7XHJcbiAgICAgICAgdGhpcy5zYXZlRG9jdW1lbnRVbmRlckVkaXRSaWdodHMoKTtcclxuICAgICAgICB0aGlzLmRvY3VtZW50Q2hhbmdlRXZlbnQuZW1pdCh0aGlzLmRvY3VtZW50VW5kZXJFZGl0KTtcclxuICAgICAgICB0aGlzLm9uUG9wdXBDbG9zZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBvblBvcHVwQ2FuY2VsQ2xpY2soKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgdGhpcy5vblBvcHVwQ2xvc2UoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgb25Qb3B1cENsb3NlKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudXNlckdyb3Vwc0ZvcldyaXRlLmxlbmd0aCA9IDA7XHJcbiAgICAgICAgdGhpcy51c2VyR3JvdXBzRm9yUmVhZC5sZW5ndGggPSAwO1xyXG4gICAgICAgIHRoaXMuZG9jdW1lbnRVbmRlckVkaXQgPSB1bmRlZmluZWQ7XHJcblxyXG4gICAgICAgIHRoaXMucG9wdXBDbG9zZUV2ZW50Lm5leHQoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKnByaXZhdGUgX3VubG9ja0RvY3VtZW50KGRvYzogQ29Eb2N1bWVudCk6IHZvaWQge1xyXG4gICAgICAgIGlmICghZG9jLnJlYWRvbmx5ICYmICF0aGlzLnJlYWRvbmx5KSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2RhdGFTZXJ2aWNlLnVubG9jayhDb0RvY3VtZW50LCBkb2MuZG9jdW1lbnRJZCk7XHJcbiAgICAgICAgfVxyXG4gICAgfSovXHJcbn1cclxuIl19
404
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQtcG9wdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS11cGxvYWQtcG9wdXAvZmlsZS11cGxvYWQtcG9wdXAuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEgsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQzNELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLG1FQUFtRSxDQUFDO0FBRXRHLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSx1REFBdUQsQ0FBQztBQUN0RixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sK0RBQStELENBQUM7QUFDcEcsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUNyRSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0saURBQWlELENBQUM7QUFJaEYsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzlDLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBRTFFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBRXhFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUNuRSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDMUMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUEyS2xFLDBFQUEwRTtBQUMxRSxNQUFNLE9BQU8sd0JBQXdCO0lBaUtqQztJQUNJLHFEQUFxRDtJQUM3QyxjQUE2QixFQUM3QixnQkFBbUM7SUFDM0MseUNBQXlDO0lBQ3pDLCtDQUErQztJQUMvQyx1Q0FBdUM7SUFDdkMsb0NBQW9DO0lBQ3BDLHdDQUF3QztJQUNqQyxnQkFBa0M7UUFQakMsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFDN0IscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFtQjtRQU1wQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBeks3QixTQUFJLEdBQWdCLElBQUksQ0FBQztRQU9sQywyQkFBc0IsR0FBWSxLQUFLLENBQUM7UUFJeEMsMkJBQXNCLEdBQVksS0FBSyxDQUFDO1FBS3hDLDZCQUF3QixHQUFZLElBQUksQ0FBQztRQWtDekMsMkJBQXNCLEdBQVksSUFBSSxDQUFDO1FBbUI5Qix3QkFBbUIsR0FBNkIsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUcvRSxvQkFBZSxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBUS9ELHdCQUFtQixHQUErQixtQkFBbUIsQ0FBQztRQUN0RSx5QkFBb0IsR0FBK0IsbUJBQW1CLENBQUM7UUEyRHZFLFdBQU0sR0FBOEIsa0JBQWtCLENBQUM7UUFDdkQsY0FBUyxHQUFvQixRQUFRLENBQUM7UUFHL0MsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUM1QixnQkFBVyxHQUFpQixFQUFFLENBQUM7UUFHL0IsdUJBQWtCLEdBQWEsRUFBRSxDQUFDO1FBQ2xDLHNCQUFpQixHQUFhLEVBQUUsQ0FBQztRQUNqQyxpQkFBWSxHQUFrQixFQUFFLENBQUM7UUFFaEMsOEJBQXlCLEdBQTZCLEVBQUUsQ0FBQyxDQUFDLHNFQUFzRTtRQUNoSSxlQUFVLEdBQTBCLElBQUkscUJBQXFCLEVBQUUsQ0FBQztRQUNoRSxjQUFTLEdBQVksS0FBSyxDQUFDO0lBaUJuQyxDQUFDO0lBeEpELElBQ1csaUJBQWlCLENBQUMsR0FBZTtRQUN4QyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLFVBQVUsRUFBRSxHQUFHLENBQTBCLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNqSSxDQUFDO0lBRUQsSUFBVyxpQkFBaUI7UUFDeEIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQ1csUUFBUSxDQUFDLEtBQWM7UUFDOUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFFdkIsSUFBSSxLQUFLLEVBQUU7WUFDUCxnRUFBZ0U7U0FDbkU7SUFDTCxDQUFDO0lBRUQsSUFDVyx3QkFBd0IsQ0FBQyxLQUErQjtRQUMvRCxJQUFJLENBQUMseUJBQXlCLEdBQUcsS0FBSyxDQUFDO0lBQzNDLENBQUM7SUFtQ00sU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQU1ELElBQVcsbUJBQW1CO1FBQzFCLHFCQUFxQjtRQUNyQixPQUFPLElBQUksQ0FBQztRQUNaLHFGQUFxRjtJQUN6RixDQUFDO0lBRUQsSUFBVyx3QkFBd0I7UUFDL0IsT0FBTyxJQUFJLENBQUMseUJBQXlCLENBQUM7SUFDMUMsQ0FBQztJQUVELElBQVcsYUFBYTtRQUN0QixzQkFBc0I7UUFDdEIsT0FBTyxLQUFLLENBQUM7UUFFYiwyREFBMkQ7SUFDN0QsQ0FBQztJQUVELElBQVcsc0JBQXNCO1FBQzdCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzdELENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDaEIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsZUFBZSxFQUFFLEVBQUU7WUFDMUMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFBO1NBQ3pCO1FBQ0QsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRCxJQUFXLFdBQVc7UUFDbEIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsRUFBRSxFQUFFO1lBQ3BFLE9BQU8sT0FBTyxDQUFDO1NBQ2xCO2FBQU07WUFDSCxPQUFPLFVBQVUsQ0FBQztTQUNyQjtJQUNMLENBQUM7SUFFRCxJQUFXLHFCQUFxQjtRQUM1QixJQUFJLElBQUksQ0FBQyx3QkFBd0IsRUFBRTtZQUMvQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDO2dCQUM3QyxJQUFJLENBQUMsd0JBQXdCLENBQUMsc0JBQXNCLENBQUMsQ0FBQztnQkFDdEQsSUFBSSxDQUFDLHdCQUF3QixDQUFDLHFCQUFxQixDQUFDO1NBQzNEO2FBQU07WUFDSCxPQUFPLENBQUMsc0JBQXNCO1NBQ2pDO0lBQ0wsQ0FBQztJQUdELElBQVcsY0FBYztRQUNyQixJQUFJLElBQUksQ0FBQyx3QkFBd0IsRUFBRTtZQUMvQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDO2dCQUM3QyxJQUFJLENBQUMsd0JBQXdCLENBQUMsb0JBQW9CLENBQUMsQ0FBQztnQkFDcEQsSUFBSSxDQUFDLHdCQUF3QixDQUFDLG1CQUFtQixDQUFDO1NBQ3pEO2FBQU07WUFDSCxPQUFPLENBQUMsc0JBQXNCO1NBQ2pDO0lBQ0wsQ0FBQztJQW1DRCxRQUFRO1FBQ0osSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3RCLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsRUFBRSxFQUFFO1lBQzFDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHFCQUFxQixDQUFDO1NBQ2xFO0lBQ0wsQ0FBQztJQUVZLGNBQWM7O1lBQ3ZCLG1HQUFtRztZQUNuRyxrRUFBa0U7UUFDdEUsQ0FBQztLQUFBO0lBRU0sY0FBYztRQUNqQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLEVBQUUsRUFBRSxFQUFFLGVBQWU7WUFDM0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHFCQUFxQixFQUFFLFNBQVMsQ0FBQyxDQUFDO1NBQzFGO2FBQU0sRUFBRSxtQkFBbUI7WUFDeEIsSUFBSTtnQkFDQSxTQUFTLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDeEc7WUFBQyxPQUFPLEtBQUssRUFBRTthQUVmO1NBQ0o7SUFDTCxDQUFDO0lBRU0sMkJBQTJCO1FBQzlCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ25DLE1BQU0sY0FBYyxHQUFXLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUM7UUFDOUQsS0FBSyxJQUFJLENBQUMsR0FBVyxDQUFDLEVBQUUsQ0FBQyxHQUFHLGNBQWMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUM3QyxNQUFNLE1BQU0sR0FBb0IsSUFBSSxlQUFlLEVBQUUsQ0FBQztZQUN0RCxNQUFNLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNoRCxNQUFNLENBQUMsVUFBVSxHQUFHLGVBQWUsQ0FBQyxTQUFTLENBQUM7WUFDOUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDOUM7UUFFRCxNQUFNLGFBQWEsR0FBVyxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDO1FBQzVELEtBQUssSUFBSSxDQUFDLEdBQVcsQ0FBQyxFQUFFLENBQUMsR0FBRyxhQUFhLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDNUMsTUFBTSxNQUFNLEdBQW9CLElBQUksZUFBZSxFQUFFLENBQUM7WUFDdEQsTUFBTSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDL0MsTUFBTSxDQUFDLFVBQVUsR0FBRyxlQUFlLENBQUMsUUFBUSxDQUFDO1lBQzdDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzlDO0lBQ0wsQ0FBQztJQUVNLGNBQWM7UUFDakIsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUN0QjtJQUNMLENBQUM7SUFFTSxvQkFBb0IsQ0FBQyxvQkFBNEI7UUFDcEQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLG9CQUFvQixDQUFDO0lBQ25ELENBQUM7SUFFTSwyQkFBMkIsQ0FBQyxvQkFBNEI7UUFDM0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxvQkFBb0IsQ0FBQztJQUMvQyxDQUFDO0lBRVksYUFBYTs7WUFDdEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7WUFDaEksSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztZQUNoSCxJQUFJLENBQUMsaUJBQWlCLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7WUFDM0QsSUFBSSxDQUFDLDJCQUEyQixFQUFFLENBQUM7WUFDbkMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUN0RCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDeEIsQ0FBQztLQUFBO0lBRVksa0JBQWtCOztZQUMzQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDeEIsQ0FBQztLQUFBO0lBRU0sWUFBWTtRQUNmLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxTQUFTLENBQUM7UUFFbkMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNoQyxDQUFDOzs7WUFuYUosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxzQkFBc0I7Z0JBQ2hDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQW1LVDtnQkFDQSxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN6Qzs7O1lBMUxPLGFBQWE7WUFhYixpQkFBaUI7WUFHakIsZ0JBQWdCOzs7bUJBK0tuQixTQUFTLFNBQUMsYUFBYTtxQ0FHdkIsS0FBSztxQ0FJTCxLQUFLO3VDQUlMLEtBQUs7Z0NBTUwsS0FBSzt1QkFTTCxLQUFLO3VDQVNMLEtBQUs7MEJBS0wsS0FBSztnQ0FHTCxLQUFLO3FDQUlMLEtBQUs7Z0NBR0wsS0FBSzswQkFHTCxLQUFLOzRCQUdMLEtBQUs7dUJBR0wsS0FBSzsrQkFHTCxLQUFLO2tDQUlMLE1BQU07OEJBR04sTUFBTTt3QkFHTixXQUFXLFNBQUMsNEJBQTRCOztBQW5FekM7SUFEQyxZQUFZLEVBQUU7d0VBQ2dDO0FBSS9DO0lBREMsWUFBWSxFQUFFO3dFQUNnQztBQUsvQztJQUZDLFlBQVksRUFBRTswRUFFaUM7QUErQmhEO0lBREMsWUFBWSxFQUFFO21FQUNtQjtBQW1CbEM7SUFEQyxZQUFZLEVBQUU7a0VBQ2tCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Rm9ybUNvbXBvbmVudH0gZnJvbSAnQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMic7XHJcbmltcG9ydCB7RG9jdW1lbnRQdWJsaWNhdGlvbn0gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL2VudW0vcmVmY29kZS9kb2N1bWVudC1wdWJsaWNhdGlvbi5lbnVtXCI7XHJcbmltcG9ydCB7U3RvcmVHcm91cH0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3N0b3JlLWdyb3VwLmJvXCI7XHJcbmltcG9ydCB7T2JqZWN0UmlnaHRUeXBlfSBmcm9tIFwiQGNvbGlqbml0L3NoYXJlZGFwaS9idWlsZC9lbnVtL29iamVjdC1yaWdodC10eXBlLmVudW1cIjtcclxuaW1wb3J0IHtQcm9tcHRTZXJ2aWNlfSBmcm9tIFwiQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMlwiO1xyXG5pbXBvcnQge0J1c2luZXNzT2JqZWN0RmFjdG9yeX0gZnJvbSBcIkBjb2xpam5pdC9pb25lY29ubmVjdG9yL2J1aWxkL3NlcnZpY2UvYnVzaW5lc3Mtb2JqZWN0LWZhY3RvcnlcIjtcclxuaW1wb3J0IHtJbnB1dEJvb2xlYW59IGZyb20gXCIuLi8uLi9kZWNvcmF0b3IvaW5wdXQtYm9vbGVhbi5kZWNvcmF0b3JcIjtcclxuaW1wb3J0IHtDb0RvY3VtZW50fSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvY28tZG9jdW1lbnRcIjtcclxuaW1wb3J0IHtDb0RvY3VtZW50UmlnaHR9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9jby1kb2N1bWVudC1yaWdodFwiO1xyXG5pbXBvcnQge1RhZ0NhdGVnb3J5fSBmcm9tIFwiLi4vLi4vZW51bS90YWctY2F0ZWdvcnkuZW51bVwiO1xyXG5pbXBvcnQge0ZpbGVzVXBsb2FkQ29uZmlnT2JqZWN0c30gZnJvbSBcIi4uLy4uL2VudW0vZmlsZXMtdXBsb2FkLWNvbmZpZy1vYmplY3RzXCI7XHJcbmltcG9ydCB7VGFibGVOYW1lfSBmcm9tIFwiLi4vLi4vZW51bS90YWJsZS1uYW1lLmVudW1cIjtcclxuaW1wb3J0IHtGaWxlVHlwZX0gZnJvbSBcIi4uLy4uL2VudW0vZmlsZS10eXBlXCI7XHJcbmltcG9ydCB7RG9jdW1lbnRFbWFpbFJlcG9ydH0gZnJvbSBcIi4uLy4uL2VudW0vZG9jdW1lbnQtZW1haWwtcmVwb3J0LmVudW1cIjtcclxuaW1wb3J0IHtUYWdzQ29tcG9uZW50Q29uZmlnTmFtZXN9IGZyb20gXCIuLi8uLi9lbnVtL3RhZ3MtY29tcG9uZW50LWNvbmZpZy1uYW1lc1wiO1xyXG5pbXBvcnQge0RvbWFpbk11bHRpcGxlTmFtZX0gZnJvbSBcIi4uLy4uL2VudW0vZG9tYWluLW11bHRpcGxlLW5hbWUuZW51bVwiO1xyXG5pbXBvcnQge1RhZ1RyZWVJdGVtfSBmcm9tIFwiLi4vLi4vbW9kZWwvdGFnLXRyZWUtaXRlbS5ib1wiO1xyXG5pbXBvcnQge0ZpbGVUeXBlSW1hZ2VQaXBlfSBmcm9tIFwiLi4vLi4vcGlwZS9maWxlLXR5cGUtaW1hZ2UucGlwZVwiO1xyXG5pbXBvcnQge0ZpbGVVdGlsc30gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL3V0aWxzL2ZpbGUtdXRpbHNcIjtcclxuaW1wb3J0IHtJY29ufSBmcm9tIFwiLi4vLi4vZW51bS9pY29uLmVudW1cIjtcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2VcIjtcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcImNvLWZpbGUtdXBsb2FkLXBvcHVwXCIsXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgICAgIDxjby1kaWFsb2cgKm5nSWY9XCIhdXNlV2l0aG91dFNldHRpbmdQcm9wcyAmJiBkb2N1bWVudFVuZGVyRWRpdFwiIGNzc0lkPVwicG9wdXBfZmlsZXNfdXBsb2FkX2NvbnRlbnRcIlxyXG4gICAgICAgICAgICAgICAgICAgW2hlYWRlclRlbXBsYXRlXT1cImhlYWRlclRlbXBsYXRlXCIgY29udGVudFNpemUgbm9DbGlja091dHNpZGVcclxuICAgICAgICAgICAgICAgICAgIFtmb290ZXJUZW1wbGF0ZV09XCJmb290ZXJUZW1wbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAoY2xvc2UpPVwib25Qb3B1cENsb3NlKClcIiAoY2xvc2VDbGljayk9XCJvblBvcHVwQ2FuY2VsQ2xpY2soKVwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWxlLXVwbG9hZC1mb3JtLXdyYXBwZXJcIiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0R2FwPVwiMTBweFwiPlxyXG4gICAgICAgICAgICAgICAgICA8Y28tZm9ybSBjbGFzcz1cIm5hcnJvdy1zY3JvbGxiYXJcIiAodmFsaWRTdWJtaXQpPVwib25WYWxpZFN1Ym1pdCgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaG9yaXpvbnRhbC1sYXlvdXQtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRvY3VtZW50LXRodW1iIGNvbHVtbi1sZWZ0XCIgKm5nSWY9XCIhYWRkRG9jdW1lbnRCeVVybFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSAoY2xpY2spPVwib25QcmV2aWV3Q2xpY2soKVwiPjxpbWcgW3NyY109XCJ0aHVtYm5haWxcIi8+PC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW4tcmlnaHRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cImRvY3VtZW50VW5kZXJFZGl0LnRpdGxlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiZG9jdW1lbnRVbmRlckVkaXQuaXNJbWFnZURvY3VtZW50KCkgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZXNVcGxvYWRDb25maWdPYmplY3RzPy5JbWFnZURvY3VtZW50VGl0bGUgOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZXNVcGxvYWRDb25maWdPYmplY3RzPy5UZXh0RG9jdW1lbnRUaXRsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInVElUTEUnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub1ZhbGlkYXRpb24gZm9yY2VSZWFkb25seT48L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28taW5wdXQtdGV4dCBbcGxhY2Vob2xkZXJdPVwiJ0RFU0NSSVBUSU9OJyB8IGxvY2FsaXplXCIgWyhtb2RlbCldPVwiZG9jdW1lbnRVbmRlckVkaXQuZGVzY3JpcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiZG9jdW1lbnRVbmRlckVkaXQuaXNJbWFnZURvY3VtZW50KCkgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZXNVcGxvYWRDb25maWdPYmplY3RzPy5JbWFnZURvY3VtZW50RGVzY3JpcHRpb24gOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZXNVcGxvYWRDb25maWdPYmplY3RzPy5UZXh0RG9jdW1lbnREZXNjcmlwdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwiZG9jVW5kZXJFZGl0SXNSZWFkT25seVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IHNpemVzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28taW5wdXQtdGV4dFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZWxdPVwiZG9jdW1lbnRVbmRlckVkaXQuZmlsZVNpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJkb2N1bWVudFVuZGVyRWRpdC5pc0ltYWdlRG9jdW1lbnQoKSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZXNVcGxvYWRDb25maWdPYmplY3RzPy5JbWFnZURvY3VtZW50RmlsZVNpemUgOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzVXBsb2FkQ29uZmlnT2JqZWN0cz8uVGV4dERvY3VtZW50RmlsZVNpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1NJWkUnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JjZVJlYWRvbmx5XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vVmFsaWRhdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY28taW5wdXQtdGV4dD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkb2N1bWVudFVuZGVyRWRpdC5pc0ltYWdlRG9jdW1lbnQoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28taW5wdXQtdGV4dCBbcGxhY2Vob2xkZXJdPVwiJ0RJTUVOU0lPTlMnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlbF09XCJkb2N1bWVudFVuZGVyRWRpdC5pbWFnZURpbWVuc2lvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImZpbGVzVXBsb2FkQ29uZmlnT2JqZWN0cz8uSW1hZ2VEb2N1bWVudERpbWVuc2lvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcmNlUmVhZG9ubHkgbm9WYWxpZGF0aW9uPjwvY28taW5wdXQtdGV4dD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tPHNjLXRhZ3NcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGFnQ2F0ZWdvcnldPVwidGFnQ2F0ZWdvcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJkb2NVbmRlckVkaXRJc1JlYWRPbmx5XCItLT5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tID48L3NjLXRhZ3M+LS0+PCEtLSBbbXlDZmdOYW1lc109XCJ0YWdzQ29uZmlnTmFtZVwiIHwgWyhqb2luZWRUYWdzKV09XCJ0aGlzLmRvY3VtZW50VW5kZXJFZGl0LnRhZ3NcIi0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8IS0tPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHJlYWQtd3JpdGUtYWNjZXNzICpuZ0lmPVwic2hvd1JlYWRXcml0ZUFjY2Vzc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkV3JpdGVDZmdOYW1lc109XCJmaWxlc1VwbG9hZENvbmZpZ09iamVjdHM/LnJlYWRXcml0ZUFjY2Vzc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYXlvdXRIb3Jpem9udGFsXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWVkaWNhbFVzZXJHcm91cHNdPVwibWVkaWNhbFVzZXJHcm91cHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKHVzZXJHcm91cHNGb3JXcml0ZSldPVwidXNlckdyb3Vwc0ZvcldyaXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyh1c2VyR3JvdXBzRm9yUmVhZCldPVwidXNlckdyb3Vwc0ZvclJlYWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwiZG9jVW5kZXJFZGl0SXNSZWFkT25seVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvcmVhZC13cml0ZS1hY2Nlc3M+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4tLT5cclxuICAgICAgICAgICAgICAgICAgICAgIDwhLS08ZGl2IGNsYXNzPVwiaG9yaXpvbnRhbC1sYXlvdXQtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFkZERvY3VtZW50QnlVcmxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLWlucHV0LXRleHQgcmVxdWlyZWQgW3BsYWNlaG9sZGVyXT1cIidVUkwnIHwgbG9jYWxpemVcIiBbKG1vZGVsKV09XCJkb2N1bWVudFVuZGVyRWRpdC5maWxlUGF0aFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJkb2NVbmRlckVkaXRJc1JlYWRPbmx5XCI+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+LS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaG9yaXpvbnRhbC1sYXlvdXQtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLTxkaXYgKm5nSWY9XCJoYXNQdWJsaWNBY2Nlc3NWaXNpYmxlXCIgY2xhc3M9XCJjb2x1bW4tcmlnaHRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0LXN3aXRjaGVyLXllcy1ubyBsYWJlbD1cIlBVQkxJQ19BQ0NFU1NcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cImRvY3VtZW50VW5kZXJFZGl0Lmhhc1B1YmxpY0FjY2Vzc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cImRvY1VuZGVyRWRpdElzUmVhZE9ubHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9pbnB1dC1zd2l0Y2hlci15ZXMtbm8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+LS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJob3Jpem9udGFsLWxheW91dC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWRvY3VtZW50VW5kZXJFZGl0LmlzSW1hZ2VEb2N1bWVudCgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW4tbGVmdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxpbnB1dC1zd2l0Y2hlci15ZXMtbm8gbGFiZWw9XCJET1dOTE9BREFCTEVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJkb2N1bWVudFVuZGVyRWRpdC5kb3dubG9hZGFibGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2ZnTmFtZV09XCJmaWxlc1VwbG9hZENvbmZpZ09iamVjdHM/LlRleHREb2N1bWVudERvd25sb2FkYWJsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJkb2NVbmRlckVkaXRJc1JlYWRPbmx5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2lucHV0LXN3aXRjaGVyLXllcy1ubz4tLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJob3Jpem9udGFsLWxheW91dC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmlsZVR5cGUgPT09IGZpbGVUeXBlcy5UaHJlZURGaWxlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW4tbGVmdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxpbnB1dC1zd2l0Y2hlci15ZXMtbm8gbGFiZWw9XCJBTFNPX0FTX1VTRFpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJkb2N1bWVudFVuZGVyRWRpdC5jb252ZXJ0VG9VU0RaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cImRvY1VuZGVyRWRpdElzUmVhZE9ubHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvaW5wdXQtc3dpdGNoZXIteWVzLW5vPi0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhvcml6b250YWwtbGF5b3V0LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkb2N1bWVudFVuZGVyRWRpdC5pc0ltYWdlRG9jdW1lbnQoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uLWxlZnRcIj48IS0tXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQtc3dpdGNoZXIteWVzLW5vIGxhYmVsPVwiQVRUQUNIX1RPX05PVElGSUNBVElPTlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cImRvY3VtZW50VW5kZXJFZGl0LmF0dGFjaFRvTm90aWZpY2F0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NmZ05hbWVdPVwiZmlsZXNVcGxvYWRDb25maWdPYmplY3RzPy5JbWFnZURvY3VtZW50QXR0YWNoTm90aWZpY2F0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cImRvY1VuZGVyRWRpdElzUmVhZE9ubHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvaW5wdXQtc3dpdGNoZXIteWVzLW5vPi0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbi1yaWdodFwiPjwhLS1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWFnZS10eXBlLXNlbGVjdFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2ZnTmFtZV09XCJmaWxlc1VwbG9hZENvbmZpZ09iamVjdHM/LkltYWdlRG9jdW1lbnREaXNwbGF5VHlwZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsoc2VsZWN0ZWRNb2RlbElkKV09XCJ0aGlzLmRvY3VtZW50VW5kZXJFZGl0LmltYWdlRGlzcGxheUtpbmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwiZG9jVW5kZXJFZGl0SXNSZWFkT25seVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsPVwiRElTUExBWV9UWVBFXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2ltYWdlLXR5cGUtc2VsZWN0Pi0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFpc1dvcmthYmlsaXR5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxtdWx0aXBsZS1wcm9wZXJ0eS10b2dnbGVyICpuZ0lmPVwiIXNob3dEb2N1bWVudFJlcG9ydFBpY2tlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcHJvcGVydHlOYW1lc1RvVG9nZ2xlXT1cImRvY3VtZW50UHVibGljYXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhlbmFibGVkaXRlbXMpXT1cInRoaXMuZG9jdW1lbnRVbmRlckVkaXQucHVibGljYXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9uUHJvcGVydHlJdGVtQ2hhbmdlKT1cImhhbmRsZVByb3BlcnR5Q2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw9XCJQVUJMSVNIX1RPXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJkb2NVbmRlckVkaXRJc1JlYWRPbmx5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9tdWx0aXBsZS1wcm9wZXJ0eS10b2dnbGVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxjby1tdWx0aXBsZS1wcm9wZXJ0eS10b2dnbGVyICpuZ0lmPVwic2hvd0RvY3VtZW50UmVwb3J0UGlja2VyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwcm9wZXJ0eU5hbWVzVG9Ub2dnbGVdPVwiZG9jdW1lbnRFbWFpbFJlcG9ydHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhlbmFibGVkaXRlbXMpXT1cImRvY3VtZW50VW5kZXJFZGl0LnJlcG9ydHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9uUHJvcGVydHlJdGVtQ2hhbmdlKT1cImhhbmRsZVJlcG9ydHNQcm9wZXJ0eUNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsPVwiUkVQT1JUU19UT19BVFRBQ0hfVE9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cImRvY1VuZGVyRWRpdElzUmVhZE9ubHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgID48L2NvLW11bHRpcGxlLXByb3BlcnR5LXRvZ2dsZXI+LS0+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS08bmctY29udGFpbmVyICpuZ0lmPVwiZG9jdW1lbnRVbmRlckVkaXQuaXNJbWFnZURvY3VtZW50KClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RlbXBsYXRlV3JhcHBlcl09XCJ0ZW1wbGF0ZUltYWdlXCI+PC9uZy1jb250YWluZXI+LS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9jby1mb3JtPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvY28tZGlhbG9nPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVyVGVtcGxhdGU+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY28tZGlhbG9nLWhlYWRlci10aXRsZVwiIFt0ZXh0Q29udGVudF09XCJwb3B1cEhlYWRlciB8IGxvY2FsaXplXCI+PC9kaXY+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI2Zvb3RlclRlbXBsYXRlPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvLWRpYWxvZy1mb290ZXItYnV0dG9uLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICA8Y28tYnV0dG9uIFtkaXNhYmxlZF09XCJkb2NVbmRlckVkaXRJc1JlYWRPbmx5XCIgY2xhc3M9XCJzYXZlLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Qb3B1cE9rQ2xpY2soKVwiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbi5DaGVja0R1b3RvbmUpXCI+PC9jby1idXR0b24+XHJcbiAgICAgICAgICAgICAgPGNvLWJ1dHRvbiBjbGFzcz1cImNsb3NlLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Qb3B1cENhbmNlbENsaWNrKClcIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb24uQ3Jvc3NTa2lubnkpXCI+PC9jby1idXR0b24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjdGVtcGxhdGVJbWFnZSAqbmdJZj1cIiFpc1dvcmthYmlsaXR5XCI+XHJcbiAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiY29sdW1uLXJpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXQtbG92LW11bHRpLXNlbGVjdFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2ZnTmFtZV09XCJmaWxlc1VwbG9hZENvbmZpZ09iamVjdHMuSW1hZ2VEb2N1bWVudFN0b3JlR3JvdXBzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgWyhzZWxlY3RlZE1vZGVsSWRzKV09XCJzdG9yZUdyb3VwSWRzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2NvbGxlY3Rpb25dPVwic3RvcmVHcm91cHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwiZG9jVW5kZXJFZGl0SXNSZWFkT25seVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uRmllbGQ9XCJkZXNjcmlwdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRvTm90TG9hZENvbGxlY3Rpb25cclxuICAgICAgICAgICAgICAgICAgICAgICAgY3VzdG9tV2lkdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw9XCJSRVRBSUxfRk9STVVMQVNcIlxyXG4gICAgICAgICAgICAgICAgPjwvaW5wdXQtbG92LW11bHRpLXNlbGVjdD5cclxuICAgICAgICAgICAgPC9kaXY+LS0+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIGAsXHJcbiAgICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG4vLyBDb21wb25lbnQgdGhhdCBzaG93cyBhIHBvcHVwIHdoZW4gdGhlIHVzZXIgd2FudHMgdG8gdXBsb2FkIGEgQ29Eb2N1bWVudFxyXG5leHBvcnQgY2xhc3MgRmlsZVVwbG9hZFBvcHVwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIHB1YmxpYyByZWFkb25seSBpY29uOiB0eXBlb2YgSWNvbiA9IEljb247XHJcblxyXG4gICAgQFZpZXdDaGlsZChGb3JtQ29tcG9uZW50KVxyXG4gICAgcHVibGljIGZvcm06IEZvcm1Db21wb25lbnQ7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIEBJbnB1dEJvb2xlYW4oKVxyXG4gICAgcHVibGljIHVzZVdpdGhvdXRTZXR0aW5nUHJvcHM6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgQElucHV0Qm9vbGVhbigpXHJcbiAgICBwdWJsaWMgaGFzUHVibGljQWNjZXNzVmlzaWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBASW5wdXRCb29sZWFuKClcclxuICAgIC8vdG9kbyB0aGlzIGlzIHVzdWFsbHkgc2V0IHRvIGZhbHNlIG9uIGluaXRcclxuICAgIHB1YmxpYyBzaG93RG9jdW1lbnRSZXBvcnRQaWNrZXI6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldCBkb2N1bWVudFVuZGVyRWRpdChkb2M6IENvRG9jdW1lbnQpIHtcclxuICAgICAgICB0aGlzLl9kb2N1bWVudFVuZGVyRWRpdCA9IGRvYyA/IHRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKENvRG9jdW1lbnQsIGRvYykgYXMgdW5rbm93biBhcyBDb0RvY3VtZW50IDogdW5kZWZpbmVkO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgZG9jdW1lbnRVbmRlckVkaXQoKTogQ29Eb2N1bWVudCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RvY3VtZW50VW5kZXJFZGl0O1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2V0IHJlYWRvbmx5KHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5fcmVhZG9ubHkgPSB2YWx1ZTtcclxuXHJcbiAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICAgIC8vdGhpcy5fdG9hc3RTZXJ2aWNlLnNwYXduVG9hc3QoXCJNRVNTQUdFX0RPQ1VNRU5UX0xPQ0tfU0lOR0xFXCIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldCBmaWxlc1VwbG9hZENvbmZpZ09iamVjdHModmFsdWU6IEZpbGVzVXBsb2FkQ29uZmlnT2JqZWN0cykge1xyXG4gICAgICAgIHRoaXMuX2ZpbGVzVXBsb2FkQ29uZmlnT2JqZWN0cyA9IHZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgdGFnQ2F0ZWdvcnk6IFRhZ0NhdGVnb3J5O1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBASW5wdXRCb29sZWFuKClcclxuICAgIHB1YmxpYyBtZWRpY2FsVXNlckdyb3VwczogYm9vbGVhbjtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGRpc3BsYXlSZWFkV3JpdGVBY2Nlc3M6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgdGFnUmVmZXJlbmNlVGFibGU6IFRhYmxlTmFtZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGRvY3VtZW50S2V5OiBzdHJpbmc7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBkb2N1bWVudFRhYmxlOiBzdHJpbmc7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBmaWxlVHlwZTogRmlsZVR5cGU7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIEBJbnB1dEJvb2xlYW4oKVxyXG4gICAgcHVibGljIGFkZERvY3VtZW50QnlVcmw6IGJvb2xlYW47XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgZG9jdW1lbnRDaGFuZ2VFdmVudDogRXZlbnRFbWl0dGVyPENvRG9jdW1lbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxDb0RvY3VtZW50PigpO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIHJlYWRvbmx5IHBvcHVwQ2xvc2VFdmVudDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuY28tZmlsZS11cGxvYWQtcG9wdXAnKVxyXG4gICAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHB1YmxpYyByZWFkb25seSBkb2N1bWVudFB1YmxpY2F0aW9uOiB0eXBlb2YgRG9jdW1lbnRQdWJsaWNhdGlvbiA9IERvY3VtZW50UHVibGljYXRpb247XHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgZG9jdW1lbnRFbWFpbFJlcG9ydHM6IHR5cGVvZiBEb2N1bWVudEVtYWlsUmVwb3J0ID0gRG9jdW1lbnRFbWFpbFJlcG9ydDtcclxuXHJcbiAgICBwdWJsaWMgZ2V0IHNob3dSZWFkV3JpdGVBY2Nlc3MoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgLy9UT0RPIGdldCB1c2VycmlnaHRzXHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgLy9yZXR1cm4gdGhpcy5fdXNlclJpZ2h0cy53b3JrYWJpbGl0eVBhcmFtZXRlckVuYWJsZWQgJiYgdGhpcy5kaXNwbGF5UmVhZFdyaXRlQWNjZXNzO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgZmlsZXNVcGxvYWRDb25maWdPYmplY3RzKCk6IEZpbGVzVXBsb2FkQ29uZmlnT2JqZWN0cyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ZpbGVzVXBsb2FkQ29uZmlnT2JqZWN0cztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IGlzV29ya2FiaWxpdHkoKTogYm9vbGVhbiB7XHJcbiAgICAgIC8vVE9ETyBmaXggd29ya2FiaWxpdHlcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG5cclxuICAgICAgLy9yZXR1cm4gdGhpcy5fd29ya2FiaWxpdHlTZXJ2aWNlLndvcmthYmlsaXR5U3lzdGVtRW5hYmxlZDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IGRvY1VuZGVyRWRpdElzUmVhZE9ubHkoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZG9jdW1lbnRVbmRlckVkaXQucmVhZG9ubHkgfHwgdGhpcy5fcmVhZG9ubHk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCB0aHVtYm5haWwoKTogc3RyaW5nIHtcclxuICAgICAgICBpZiAodGhpcy5kb2N1bWVudFVuZGVyRWRpdC5pc0ltYWdlRG9jdW1lbnQoKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fdGh1bWJuYWlsXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0aGlzLl9maWxlVHlwZUltZ1BpcGUudHJhbnNmb3JtKHRoaXMuZG9jdW1lbnRVbmRlckVkaXQuZmlsZVR5cGVJbnRlcm5hbCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBwb3B1cEhlYWRlcigpOiBzdHJpbmcge1xyXG4gICAgICAgIGlmICh0aGlzLmRvY3VtZW50VW5kZXJFZGl0ICYmIHRoaXMuZG9jdW1lbnRVbmRlckVkaXQuaXNJbWFnZURvY3VtZW50KCkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIFwiSU1BR0VcIjtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gXCJET0NVTUVOVFwiO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IHB1YmxpY2F0aW9uQ29uZmlnTmFtZSgpOiBzdHJpbmcge1xyXG4gICAgICAgIGlmICh0aGlzLmZpbGVzVXBsb2FkQ29uZmlnT2JqZWN0cykge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5kb2N1bWVudFVuZGVyRWRpdC5pc0ltYWdlRG9jdW1lbnQoKSA/XHJcbiAgICAgICAgICAgICAgICB0aGlzLmZpbGVzVXBsb2FkQ29uZmlnT2JqZWN0cy5JbWFnZURvY3VtZW50UHVibGlzaFRvIDpcclxuICAgICAgICAgICAgICAgIHRoaXMuZmlsZXNVcGxvYWRDb25maWdPYmplY3RzLlRleHREb2N1bWVudFB1Ymxpc2hUbztcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm47IC8vIE5vIGNvbmZpZ25hbWUgZm91bmRcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHB1YmxpYyBnZXQgdGFnc0NvbmZpZ05hbWUoKTogVGFnc0NvbXBvbmVudENvbmZpZ05hbWVzIHtcclxuICAgICAgICBpZiAodGhpcy5maWxlc1VwbG9hZENvbmZpZ09iamVjdHMpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZG9jdW1lbnRVbmRlckVkaXQuaXNJbWFnZURvY3VtZW50KCkgP1xyXG4gICAgICAgICAgICAgICAgdGhpcy5maWxlc1VwbG9hZENvbmZpZ09iamVjdHMuVGFnc0ltYWdlQ29uZmlnTmFtZXMgOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5maWxlc1VwbG9hZENvbmZpZ09iamVjdHMuVGFnc1RleHRDb25maWdOYW1lcztcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm47IC8vIE5vIGNvbmZpZ25hbWUgZm91bmRcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHJlYWRvbmx5IGRvbWFpbjogdHlwZW9mIERvbWFpbk11bHRpcGxlTmFtZSA9IERvbWFpbk11bHRpcGxlTmFtZTtcclxuICAgIHB1YmxpYyByZWFkb25seSBmaWxlVHlwZXM6IHR5cGVvZiBGaWxlVHlwZSA9IEZpbGVUeXBlO1xyXG5cclxuICAgIHB1YmxpYyBfZG9jdW1lbnRVbmRlckVkaXQ6IENvRG9jdW1lbnQ7XHJcbiAgICBwdWJsaWMgaGlkZUNhbmNlbDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIHN0b3JlR3JvdXBzOiBTdG9yZUdyb3VwW10gPSBbXTtcclxuICAgIHB1YmxpYyBwdWJsaWNhdGlvbklkczogbnVtYmVyW107XHJcbiAgICBwdWJsaWMgc3RvcmVHcm91cElkczogc3RyaW5nW107XHJcbiAgICBwdWJsaWMgdXNlckdyb3Vwc0ZvcldyaXRlOiBudW1iZXJbXSA9IFtdO1xyXG4gICAgcHVibGljIHVzZXJHcm91cHNGb3JSZWFkOiBudW1iZXJbXSA9IFtdO1xyXG4gICAgcHVibGljIGRvY3VtZW50VGFnczogVGFnVHJlZUl0ZW1bXSA9IFtdO1xyXG5cclxuICAgIHByaXZhdGUgX2ZpbGVzVXBsb2FkQ29uZmlnT2JqZWN0czogRmlsZXNVcGxvYWRDb25maWdPYmplY3RzID0ge307IC8vIEluc3RhbnRpYXRlIHdpdGggZW1wdHkgb2JqZWN0IHRvIGF2b2lkIG51bGxwb2ludGVycyBpbiB0aGUgdGVtcGxhdGVcclxuICAgIHByaXZhdGUgX2JvRmFjdG9yeTogQnVzaW5lc3NPYmplY3RGYWN0b3J5ID0gbmV3IEJ1c2luZXNzT2JqZWN0RmFjdG9yeSgpO1xyXG4gICAgcHJpdmF0ZSBfcmVhZG9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHByaXZhdGUgX3B1YmxpY2F0aW9uTnVtYmVyOiBudW1iZXI7XHJcbiAgICBwcml2YXRlIF9yZXBvcnRzTnVtYmVyOiBudW1iZXI7XHJcblxyXG4gICAgcHJpdmF0ZSBfdGh1bWJuYWlsOiBzdHJpbmc7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgLy9wcml2YXRlIF93b3JrYWJpbGl0eVNlcnZpY2U6IEFwcFdvcmthYmlsaXR5U2VydmljZSxcclxuICAgICAgICBwcml2YXRlIF9wcm9tcHRTZXJ2aWNlOiBQcm9tcHRTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgX2ZpbGVUeXBlSW1nUGlwZTogRmlsZVR5cGVJbWFnZVBpcGUsXHJcbiAgICAgICAgLy9wcml2YXRlIF91c2VyUmlnaHRzOiBVc2VyUmlnaHRzU2VydmljZSxcclxuICAgICAgICAvL3ByaXZhdGUgX2Jhc2VEYXRhUmVwbzogQmFzZURhdGFEYWxSZXBvc2l0b3J5LFxyXG4gICAgICAgIC8vcHJpdmF0ZSBfdGFnc1JlcG86IFRhZ3NEYWxSZXBvc2l0b3J5LFxyXG4gICAgICAgIC8vcHJpdmF0ZSBfZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlLFxyXG4gICAgICAgIC8vcHJpdmF0ZSBfdG9hc3RTZXJ2aWNlOiBBcHBUb2FzdFNlcnZpY2VcclxuICAgICAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgICkge1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMubG9hZENvbGxlY3Rpb24oKTtcclxuICAgICAgICBpZiAodGhpcy5kb2N1bWVudFVuZGVyRWRpdC5pc0ltYWdlRG9jdW1lbnQoKSkge1xyXG4gICAgICAgICAgICB0aGlzLl90aHVtYm5haWwgPSB0aGlzLmRvY3VtZW50VW5kZXJFZGl0LmRvY3VtZW50Qm9keUFzRGF0YVVyaTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGxvYWRDb2xsZWN0aW9uKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIC8vdGhpcy5kb2N1bWVudFRhZ3MgPSBhd2FpdCB0aGlzLl90YWdzUmVwby5nZXRKb2luZWRUYWdzKHRoaXMudGFnUmVmZXJlbmNlVGFibGUsIHRoaXMuZG9jdW1lbnRLZXkpO1xyXG4gICAgICAgIC8vdGhpcy5zdG9yZUdyb3VwcyA9IGF3YWl0IHRoaXMuX2Jhc2VEYXRhUmVwby5nZXRTdG9yZUdyb3VwTGlzdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvblByZXZpZXdDbGljaygpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5kb2N1bWVudFVuZGVyRWRpdC5pc0ltYWdlRG9jdW1lbnQoKSkgeyAvL3ByZXZpZXcgaW1hZ2VcclxuICAgICAgICAgICAgdGhpcy5fcHJvbXB0U2VydmljZS5zaG93SW1hZ2UodGhpcy5kb2N1bWVudFVuZGVyRWRpdC5kb2N1bWVudEJvZHlBc0RhdGFVcmksIFwiUHJldmlld1wiKTtcclxuICAgICAgICB9IGVsc2UgeyAvL2Rvd25sb2FkIGRvY3VtZW50XHJcbiAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICBGaWxlVXRpbHMuRG93bmxvYWRGcm9tRGF0YVVyaSh0aGlzLmRvY3VtZW50VW5kZXJFZGl0LmJvZHlBc0RhdGFVcmksIHRoaXMuZG9jdW1lbnRVbmRlckVkaXQuZmlsZU5hbWUpO1xyXG4gICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2F2ZURvY3VtZW50VW5kZXJFZGl0UmlnaHRzKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZG9jdW1lbnRVbmRlckVkaXQucmlnaHRzID0gW107XHJcbiAgICAgICAgY29uc3QgZm9yV3JpdGVMZW5ndGg6IG51bWJlciA9IHRoaXMudXNlckdyb3Vwc0ZvcldyaXRlLmxlbmd0aDtcclxuICAgICAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwOyBpIDwgZm9yV3JpdGVMZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBjb25zdCByaWdodHM6IENvRG9jdW1lbnRSaWdodCA9IG5ldyBDb0RvY3VtZW50UmlnaHQoKTtcclxuICAgICAgICAgICAgcmlnaHRzLnVzZXJHcm91cElkID0gdGhpcy51c2VyR3JvdXBzRm9yV3JpdGVbaV07XHJcbiAgICAgICAgICAgIHJpZ2h0cy5yaWdodExldmVsID0gT2JqZWN0UmlnaHRUeXBlLlJlYWRXcml0ZTtcclxuICAgICAgICAgICAgdGhpcy5kb2N1bWVudFVuZGVyRWRpdC5yaWdodHMucHVzaChyaWdodHMpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgZm9yUmVhZExlbmd0aDogbnVtYmVyID0gdGhpcy51c2VyR3JvdXBzRm9yUmVhZC5sZW5ndGg7XHJcbiAgICAgICAgZm9yIChsZXQgaTogbnVtYmVyID0gMDsgaSA8IGZvclJlYWRMZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBjb25zdCByaWdodHM6IENvRG9jdW1lbnRSaWdodCA9IG5ldyBDb0RvY3VtZW50UmlnaHQoKTtcclxuICAgICAgICAgICAgcmlnaHRzLnVzZXJHcm91cElkID0gdGhpcy51c2VyR3JvdXBzRm9yUmVhZFtpXTtcclxuICAgICAgICAgICAgcmlnaHRzLnJpZ2h0TGV2ZWwgPSBPYmplY3RSaWdodFR5cGUuUmVhZE9ubHk7XHJcbiAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRVbmRlckVkaXQucmlnaHRzLnB1c2gocmlnaHRzKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG9uUG9wdXBPa0NsaWNrKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmZvcm0pIHtcclxuICAgICAgICAgICAgdGhpcy5mb3JtLnN1Ym1pdCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaGFuZGxlUHJvcGVydHlDaGFuZ2UocmVmU3VtT2ZFbmFibGVkSXRlbXM6IG51bWJlcik6IGFueSB7XHJcbiAgICAgICAgdGhpcy5fcHVibGljYXRpb25OdW1iZXIgPSByZWZTdW1PZkVuYWJsZWRJdGVtcztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaGFuZGxlUmVwb3J0c1Byb3BlcnR5Q2hhbmdlKHJlZlN1bU9mRW5hYmxlZEl0ZW1zOiBudW1iZXIpOiBhbnkge1xyXG4gICAgICAgIHRoaXMuX3JlcG9ydHNOdW1iZXIgPSByZWZTdW1PZkVuYWJsZWRJdGVtcztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgb25WYWxpZFN1Ym1pdCgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICB0aGlzLl9wdWJsaWNhdGlvbk51bWJlciA/IHRoaXMuZG9jdW1lbnRVbmRlckVkaXQucHVibGljYXRpb24gPSB0aGlzLl9wdWJsaWNhdGlvbk51bWJlciA6IHRoaXMuZG9jdW1lbnRVbmRlckVkaXQucHVibGljYXRpb24gPSAwO1xyXG4gICAgICAgIHRoaXMuX3JlcG9ydHNOdW1iZXIgPyB0aGlzLmRvY3VtZW50VW5kZXJFZGl0LnJlcG9ydHMgPSB0aGlzLl9yZXBvcnRzTnVtYmVyIDogdGhpcy5kb2N1bWVudFVuZGVyRWRpdC5yZXBvcnRzID0gMDtcclxuICAgICAgICB0aGlzLmRvY3VtZW50VW5kZXJFZGl0LnJldGFpbEZvcm11bGFzID0gdGhpcy5zdG9yZUdyb3VwSWRzO1xyXG4gICAgICAgIHRoaXMuc2F2ZURvY3VtZW50VW5kZXJFZGl0UmlnaHRzKCk7XHJcbiAgICAgICAgdGhpcy5kb2N1bWVudENoYW5nZUV2ZW50LmVtaXQodGhpcy5kb2N1bWVudFVuZGVyRWRpdCk7XHJcbiAgICAgICAgdGhpcy5vblBvcHVwQ2xvc2UoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgb25Qb3B1cENhbmNlbENsaWNrKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIHRoaXMub25Qb3B1cENsb3NlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG9uUG9wdXBDbG9zZSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnVzZXJHcm91cHNGb3JXcml0ZS5sZW5ndGggPSAwO1xyXG4gICAgICAgIHRoaXMudXNlckdyb3Vwc0ZvclJlYWQubGVuZ3RoID0gMDtcclxuICAgICAgICB0aGlzLmRvY3VtZW50VW5kZXJFZGl0ID0gdW5kZWZpbmVkO1xyXG5cclxuICAgICAgICB0aGlzLnBvcHVwQ2xvc2VFdmVudC5uZXh0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgLypwcml2YXRlIF91bmxvY2tEb2N1bWVudChkb2M6IENvRG9jdW1lbnQpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIWRvYy5yZWFkb25seSAmJiAhdGhpcy5yZWFkb25seSkge1xyXG4gICAgICAgICAgICB0aGlzLl9kYXRhU2VydmljZS51bmxvY2soQ29Eb2N1bWVudCwgZG9jLmRvY3VtZW50SWQpO1xyXG4gICAgICAgIH1cclxuICAgIH0qL1xyXG59XHJcbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import { NgModule } from "@angular/core";
2
- import { ButtonModule, CoDialogModule, FormModule, InputTextModule, ScreenConfigurationModule } from "@colijnit/corecomponents_v12";
2
+ import { ButtonModule, CoDialogModule, FormModule, IconModule, InputTextModule, ScreenConfigurationModule } from "@colijnit/corecomponents_v12";
3
3
  import { LocalizationModule } from "../../localization/localization.module";
4
4
  import { CommonModule } from "@angular/common";
5
5
  import { MultiplePropertyTogglerModule } from "../multi-property-toggler/multiple-property-toggler.module";
@@ -16,7 +16,8 @@ FileUploadPopupModule.decorators = [
16
16
  ButtonModule,
17
17
  CommonModule,
18
18
  ScreenConfigurationModule,
19
- MultiplePropertyTogglerModule
19
+ MultiplePropertyTogglerModule,
20
+ IconModule
20
21
  ],
21
22
  declarations: [
22
23
  FileUploadPopupComponent
@@ -27,4 +28,4 @@ FileUploadPopupModule.decorators = [
27
28
  providers: []
28
29
  },] }
29
30
  ];
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQtcG9wdXAubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS11cGxvYWQtcG9wdXAvZmlsZS11cGxvYWQtcG9wdXAubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUNMLFlBQVksRUFDWixjQUFjLEVBQ2QsVUFBVSxFQUNWLGVBQWUsRUFDZix5QkFBeUIsRUFDMUIsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUMxRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0sNERBQTRELENBQUM7QUFDekcsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUF1QnZFLE1BQU0sT0FBTyxxQkFBcUI7OztZQXBCakMsUUFBUSxTQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxjQUFjO29CQUNkLFVBQVU7b0JBQ1Ysa0JBQWtCO29CQUNsQixlQUFlO29CQUNmLFlBQVk7b0JBQ1osWUFBWTtvQkFDWix5QkFBeUI7b0JBQ3pCLDZCQUE2QjtpQkFDOUI7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLHdCQUF3QjtpQkFDekI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLHdCQUF3QjtpQkFDekI7Z0JBQ0QsU0FBUyxFQUFFLEVBQ1Y7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7XHJcbiAgQnV0dG9uTW9kdWxlLFxyXG4gIENvRGlhbG9nTW9kdWxlLFxyXG4gIEZvcm1Nb2R1bGUsXHJcbiAgSW5wdXRUZXh0TW9kdWxlLFxyXG4gIFNjcmVlbkNvbmZpZ3VyYXRpb25Nb2R1bGVcclxufSBmcm9tIFwiQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMlwiO1xyXG5pbXBvcnQge0xvY2FsaXphdGlvbk1vZHVsZX0gZnJvbSBcIi4uLy4uL2xvY2FsaXphdGlvbi9sb2NhbGl6YXRpb24ubW9kdWxlXCI7XHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7TXVsdGlwbGVQcm9wZXJ0eVRvZ2dsZXJNb2R1bGV9IGZyb20gXCIuLi9tdWx0aS1wcm9wZXJ0eS10b2dnbGVyL211bHRpcGxlLXByb3BlcnR5LXRvZ2dsZXIubW9kdWxlXCI7XHJcbmltcG9ydCB7RmlsZVVwbG9hZFBvcHVwQ29tcG9uZW50fSBmcm9tIFwiLi9maWxlLXVwbG9hZC1wb3B1cC5jb21wb25lbnRcIjtcclxuXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIENvRGlhbG9nTW9kdWxlLFxyXG4gICAgRm9ybU1vZHVsZSxcclxuICAgIExvY2FsaXphdGlvbk1vZHVsZSxcclxuICAgIElucHV0VGV4dE1vZHVsZSxcclxuICAgIEJ1dHRvbk1vZHVsZSxcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFNjcmVlbkNvbmZpZ3VyYXRpb25Nb2R1bGUsXHJcbiAgICBNdWx0aXBsZVByb3BlcnR5VG9nZ2xlck1vZHVsZVxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBGaWxlVXBsb2FkUG9wdXBDb21wb25lbnRcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIEZpbGVVcGxvYWRQb3B1cENvbXBvbmVudFxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmlsZVVwbG9hZFBvcHVwTW9kdWxlIHtcclxuXHJcbn1cclxuIl19
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQtcG9wdXAubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS11cGxvYWQtcG9wdXAvZmlsZS11cGxvYWQtcG9wdXAubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUNILFlBQVksRUFDWixjQUFjLEVBQ2QsVUFBVSxFQUFFLFVBQVUsRUFDdEIsZUFBZSxFQUNmLHlCQUF5QixFQUM1QixNQUFNLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQzFFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsNkJBQTZCLEVBQUMsTUFBTSw0REFBNEQsQ0FBQztBQUN6RyxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQXdCdkUsTUFBTSxPQUFPLHFCQUFxQjs7O1lBckJqQyxRQUFRLFNBQUM7Z0JBQ04sT0FBTyxFQUFFO29CQUNMLGNBQWM7b0JBQ2QsVUFBVTtvQkFDVixrQkFBa0I7b0JBQ2xCLGVBQWU7b0JBQ2YsWUFBWTtvQkFDWixZQUFZO29CQUNaLHlCQUF5QjtvQkFDekIsNkJBQTZCO29CQUM3QixVQUFVO2lCQUNiO2dCQUNILFlBQVksRUFBRTtvQkFDWix3QkFBd0I7aUJBQ3pCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCx3QkFBd0I7aUJBQ3pCO2dCQUNELFNBQVMsRUFBRSxFQUNWO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1xyXG4gICAgQnV0dG9uTW9kdWxlLFxyXG4gICAgQ29EaWFsb2dNb2R1bGUsXHJcbiAgICBGb3JtTW9kdWxlLCBJY29uTW9kdWxlLFxyXG4gICAgSW5wdXRUZXh0TW9kdWxlLFxyXG4gICAgU2NyZWVuQ29uZmlndXJhdGlvbk1vZHVsZVxyXG59IGZyb20gXCJAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyXCI7XHJcbmltcG9ydCB7TG9jYWxpemF0aW9uTW9kdWxlfSBmcm9tIFwiLi4vLi4vbG9jYWxpemF0aW9uL2xvY2FsaXphdGlvbi5tb2R1bGVcIjtcclxuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHtNdWx0aXBsZVByb3BlcnR5VG9nZ2xlck1vZHVsZX0gZnJvbSBcIi4uL211bHRpLXByb3BlcnR5LXRvZ2dsZXIvbXVsdGlwbGUtcHJvcGVydHktdG9nZ2xlci5tb2R1bGVcIjtcclxuaW1wb3J0IHtGaWxlVXBsb2FkUG9wdXBDb21wb25lbnR9IGZyb20gXCIuL2ZpbGUtdXBsb2FkLXBvcHVwLmNvbXBvbmVudFwiO1xyXG5cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgQ29EaWFsb2dNb2R1bGUsXHJcbiAgICAgICAgRm9ybU1vZHVsZSxcclxuICAgICAgICBMb2NhbGl6YXRpb25Nb2R1bGUsXHJcbiAgICAgICAgSW5wdXRUZXh0TW9kdWxlLFxyXG4gICAgICAgIEJ1dHRvbk1vZHVsZSxcclxuICAgICAgICBDb21tb25Nb2R1bGUsXHJcbiAgICAgICAgU2NyZWVuQ29uZmlndXJhdGlvbk1vZHVsZSxcclxuICAgICAgICBNdWx0aXBsZVByb3BlcnR5VG9nZ2xlck1vZHVsZSxcclxuICAgICAgICBJY29uTW9kdWxlXHJcbiAgICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgRmlsZVVwbG9hZFBvcHVwQ29tcG9uZW50XHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBGaWxlVXBsb2FkUG9wdXBDb21wb25lbnRcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEZpbGVVcGxvYWRQb3B1cE1vZHVsZSB7XHJcblxyXG59XHJcbiJdfQ==
@@ -50,6 +50,7 @@ export class Translation {
50
50
  this.RELATION_ID = 'RELATION_ID';
51
51
  this.RELATION_NR = 'RELATION_NR';
52
52
  this.REMARK = 'REMARK';
53
+ this.REPORTS_TO_ATTACH_TO = 'REPORTS_TO_ATTACH_TO';
53
54
  this.RESERVED = 'RESERVED';
54
55
  this.QUANTITY = 'QUANTITY';
55
56
  this.SEARCH = 'SEARCH';
@@ -66,6 +67,7 @@ export class Translation {
66
67
  this.STOCK_STATE = 'STOCK_STATE';
67
68
  this.STOCK_STATUS = 'STOCK_STATUS';
68
69
  this.SUPPLIER_NUMBER = 'SUPPLIER_NUMBER';
70
+ this.TITLE = 'TITLE';
69
71
  this.TRANSFER = 'TRANSFER';
70
72
  this.TRANSFER_STOCK = 'TRANSFER_STOCK';
71
73
  this.USER = 'USER';
@@ -73,4 +75,4 @@ export class Translation {
73
75
  this.WAREHOUSE = 'WAREHOUSE';
74
76
  }
75
77
  }
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zdG9jay9sb2NhbGl6YXRpb24vdHJhbnNsYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFdBQVc7SUFBeEI7UUFDVyxjQUFTLEdBQVksV0FBVyxDQUFDO1FBQ2pDLGVBQVUsR0FBWSxZQUFZLENBQUM7UUFDbkMscUJBQWdCLEdBQVksa0JBQWtCLENBQUM7UUFDL0MsV0FBTSxHQUFZLFFBQVEsQ0FBQztRQUMzQixxQkFBZ0IsR0FBWSxrQkFBa0IsQ0FBQztRQUMvQyxvQkFBZSxHQUFZLGlCQUFpQixDQUFDO1FBQzdDLDJCQUFzQixHQUFZLHdCQUF3QixDQUFDO1FBQzNELG1CQUFjLEdBQVksZ0JBQWdCLENBQUM7UUFDM0MsaUJBQVksR0FBWSxjQUFjLENBQUM7UUFDdkMsb0JBQWUsR0FBWSxpQkFBaUIsQ0FBQztRQUM3Qyx3QkFBbUIsR0FBWSxxQkFBcUIsQ0FBQztRQUNyRCxVQUFLLEdBQVksT0FBTyxDQUFDO1FBQ3pCLGFBQVEsR0FBWSxVQUFVLENBQUM7UUFDL0IsV0FBTSxHQUFZLFFBQVEsQ0FBQztRQUMzQixzQkFBaUIsR0FBWSxtQkFBbUIsQ0FBQztRQUNqRCxZQUFPLEdBQVksU0FBUyxDQUFDO1FBQzdCLHlCQUFvQixHQUFZLHNCQUFzQixDQUFDO1FBQ3ZELGFBQVEsR0FBWSxVQUFVLENBQUM7UUFDL0IsU0FBSSxHQUFZLE1BQU0sQ0FBQztRQUN2QixtQkFBYyxHQUFZLGdCQUFnQixDQUFDO1FBQzNDLGtCQUFhLEdBQVksZUFBZSxDQUFDO1FBQ3pDLDRCQUF1QixHQUFZLHlCQUF5QixDQUFDO1FBQzdELGdCQUFXLEdBQVksYUFBYSxDQUFDO1FBQ3JDLG9CQUFlLEdBQVksaUJBQWlCLENBQUM7UUFDN0MscUJBQWdCLEdBQVksa0JBQWtCLENBQUM7UUFDL0MsZUFBVSxHQUFZLFlBQVksQ0FBQztRQUNuQyxzQkFBaUIsR0FBWSxtQkFBbUIsQ0FBQztRQUNqRCxZQUFPLEdBQVksU0FBUyxDQUFDO1FBQzdCLGFBQVEsR0FBWSxVQUFVLENBQUM7UUFDL0IsU0FBSSxHQUFZLE1BQU0sQ0FBQztRQUN2QixhQUFRLEdBQVksVUFBVSxDQUFDO1FBQy9CLFlBQU8sR0FBWSxTQUFTLENBQUM7UUFDN0Isa0JBQWEsR0FBWSxlQUFlLENBQUM7UUFDekMsa0JBQWEsR0FBWSxlQUFlLENBQUM7UUFDekMsa0JBQWEsR0FBWSxlQUFlLENBQUM7UUFDekMsbUJBQWMsR0FBWSxnQkFBZ0IsQ0FBQztRQUMzQyxPQUFFLEdBQVksSUFBSSxDQUFDO1FBQ25CLGlCQUFZLEdBQVksY0FBYyxDQUFDO1FBQ3ZDLFVBQUssR0FBWSxPQUFPLENBQUM7UUFDekIscUJBQWdCLEdBQVksa0JBQWtCLENBQUM7UUFDL0MsZ0JBQVcsR0FBWSxhQUFhLENBQUM7UUFDckMsYUFBUSxHQUFZLFVBQVUsQ0FBQztRQUMvQixtQkFBYyxHQUFZLGdCQUFnQixDQUFDO1FBQzNDLHdCQUFtQixHQUFZLHFCQUFxQixDQUFDO1FBQ3JELHNCQUFpQixHQUFZLG1CQUFtQixDQUFDO1FBQ2pELG1CQUFjLEdBQVksZ0JBQWdCLENBQUM7UUFDM0MsY0FBUyxHQUFZLFdBQVcsQ0FBQztRQUNqQyxnQkFBVyxHQUFZLGFBQWEsQ0FBQztRQUNyQyxnQkFBVyxHQUFZLGFBQWEsQ0FBQztRQUNyQyxXQUFNLEdBQVksUUFBUSxDQUFDO1FBQzNCLGFBQVEsR0FBWSxVQUFVLENBQUM7UUFDL0IsYUFBUSxHQUFXLFVBQVUsQ0FBQztRQUM5QixXQUFNLEdBQVksUUFBUSxDQUFDO1FBQzNCLGNBQVMsR0FBWSxXQUFXLENBQUM7UUFDakMsYUFBUSxHQUFXLFVBQVUsQ0FBQztRQUM5Qix1QkFBa0IsR0FBVyxvQkFBb0IsQ0FBQztRQUNsRCxzQkFBaUIsR0FBVyxtQkFBbUIsQ0FBQztRQUNoRCxXQUFNLEdBQVcsUUFBUSxDQUFDO1FBQzFCLFlBQU8sR0FBWSxTQUFTLENBQUM7UUFDN0IsVUFBSyxHQUFZLE9BQU8sQ0FBQztRQUN6QixrQkFBYSxHQUFZLGVBQWUsQ0FBQztRQUN6QyxtQkFBYyxHQUFZLGdCQUFnQixDQUFDO1FBQzNDLGlCQUFZLEdBQVksY0FBYyxDQUFDO1FBQ3ZDLGdCQUFXLEdBQVksYUFBYSxDQUFDO1FBQ3JDLGlCQUFZLEdBQVksY0FBYyxDQUFDO1FBQ3ZDLG9CQUFlLEdBQVksaUJBQWlCLENBQUM7UUFDN0MsYUFBUSxHQUFZLFVBQVUsQ0FBQztRQUMvQixtQkFBYyxHQUFZLGdCQUFnQixDQUFDO1FBQzNDLFNBQUksR0FBWSxNQUFNLENBQUM7UUFDdkIsV0FBTSxHQUFZLFFBQVEsQ0FBQztRQUMzQixjQUFTLEdBQVksV0FBVyxDQUFDO0lBQzVDLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBUcmFuc2xhdGlvbiB7XHJcbiAgICBwdWJsaWMgQUxMT0NBVEVEPzogc3RyaW5nID0gJ0FMTE9DQVRFRCc7XHJcbiAgICBwdWJsaWMgQUxMT0NBVElPTj86IHN0cmluZyA9ICdBTExPQ0FUSU9OJztcclxuICAgIHB1YmxpYyBBTFJFQURZX0lOX09SREVSPzogc3RyaW5nID0gJ0FMUkVBRFlfSU5fT1JERVInO1xyXG4gICAgcHVibGljIEFNT1VOVD86IHN0cmluZyA9ICdBTU9VTlQnO1xyXG4gICAgcHVibGljIEFNT1VOVF9BVkFJTEFCTEU/OiBzdHJpbmcgPSAnQU1PVU5UX0FWQUlMQUJMRSc7XHJcbiAgICBwdWJsaWMgQU1PVU5UX0lOX1NUT0NLPzogc3RyaW5nID0gJ0FNT1VOVF9JTl9TVE9DSyc7XHJcbiAgICBwdWJsaWMgQU1PVU5UX0xBVEVSX0FWQUlMQUJMRT86IHN0cmluZyA9ICdBTU9VTlRfTEFURVJfQVZBSUxBQkxFJztcclxuICAgIHB1YmxpYyBBUlRJQ0xFX05VTUJFUj86IHN0cmluZyA9ICdBUlRJQ0xFX05VTUJFUic7XHJcbiAgICBwdWJsaWMgQVZBSUxBQklMSVRZPzogc3RyaW5nID0gJ0FWQUlMQUJJTElUWSc7XHJcbiAgICBwdWJsaWMgQVZBSUxBQkxFX1NUT0NLPzogc3RyaW5nID0gJ0FWQUlMQUJMRV9TVE9DSyc7XHJcbiAgICBwdWJsaWMgQkFDS19UT19TVE9DS19MSU5FUz86IHN0cmluZyA9ICdCQUNLX1RPX1NUT0NLX0xJTkVTJztcclxuICAgIHB1YmxpYyBCQVRDSD86IHN0cmluZyA9ICdCQVRDSCc7XHJcbiAgICBwdWJsaWMgQkFUQ0hfTk8/OiBzdHJpbmcgPSAnQkFUQ0hfTk8nO1xyXG4gICAgcHVibGljIENBTkNFTD86IHN0cmluZyA9ICdDQU5DRUwnO1xyXG4gICAgcHVibGljIENIQU5HRV9TVE9DS19MSU5FPzogc3RyaW5nID0gJ0NIQU5HRV9TVE9DS19MSU5FJztcclxuICAgIHB1YmxpYyBDSE9JQ0VTPzogc3RyaW5nID0gJ0NIT0lDRVMnO1xyXG4gICAgcHVibGljIENPTkZJUk1fU1RPQ0tfQ0hBTkdFPzogc3RyaW5nID0gJ0NPTkZJUk1fU1RPQ0tfQ0hBTkdFJztcclxuICAgIHB1YmxpYyBDVVNUT01FUj86IHN0cmluZyA9ICdDVVNUT01FUic7XHJcbiAgICBwdWJsaWMgREFURT86IHN0cmluZyA9ICdEQVRFJztcclxuICAgIHB1YmxpYyBEQVRFX0RFTElWRVJFRD86IHN0cmluZyA9ICdEQVRFX0RFTElWRVJFRCc7XHJcbiAgICBwdWJsaWMgREVMSVZFUllfREFURT86IHN0cmluZyA9ICdERUxJVkVSWV9EQVRFJztcclxuICAgIHB1YmxpYyBERUxJVkVSWV9EQVRFX0NPTkZJUk1FRD86IHN0cmluZyA9ICdERUxJVkVSWV9EQVRFX0NPTkZJUk1FRCc7XHJcbiAgICBwdWJsaWMgREVTQ1JJUFRJT04/OiBzdHJpbmcgPSAnREVTQ1JJUFRJT04nO1xyXG4gICAgcHVibGljIERPQ1VNRU5UX05VTUJFUj86IHN0cmluZyA9ICdET0NVTUVOVF9OVU1CRVInO1xyXG4gICAgcHVibGljIEVDT05PTUlDQUxfU1RPQ0s/OiBzdHJpbmcgPSAnRUNPTk9NSUNBTF9TVE9DSyc7XHJcbiAgICBwdWJsaWMgRlJFRV9TVE9DSz86IHN0cmluZyA9ICdGUkVFX1NUT0NLJztcclxuICAgIHB1YmxpYyBGVVRVUkVfRlJFRV9TVE9DSz86IHN0cmluZyA9ICdGVVRVUkVfRlJFRV9TVE9DSyc7XHJcbiAgICBwdWJsaWMgSElTVE9SWT86IHN0cmluZyA9ICdISVNUT1JZJztcclxuICAgIHB1YmxpYyBJTl9PUkRFUj86IHN0cmluZyA9ICdJTl9PUkRFUic7XHJcbiAgICBwdWJsaWMgTElORT86IHN0cmluZyA9ICdMSU5FJztcclxuICAgIHB1YmxpYyBMT0NBVElPTj86IHN0cmluZyA9ICdMT0NBVElPTic7XHJcbiAgICBwdWJsaWMgTE9PS19BVD86IHN0cmluZyA9ICdMT09LX0FUJztcclxuICAgIHB1YmxpYyBNVVRBVElPTl9EQVRFPzogc3RyaW5nID0gJ01VVEFUSU9OX0RBVEUnO1xyXG4gICAgcHVibGljIE1VVEFUSU9OX1RJTUU/OiBzdHJpbmcgPSAnTVVUQVRJT05fVElNRSc7XHJcbiAgICBwdWJsaWMgTVVUQVRJT05fVFlQRT86IHN0cmluZyA9ICdNVVRBVElPTl9UWVBFJztcclxuICAgIHB1YmxpYyBORVdfU1RPQ0tfTElORT86IHN0cmluZyA9ICdORVdfU1RPQ0tfTElORSc7XHJcbiAgICBwdWJsaWMgT0s/OiBzdHJpbmcgPSAnT0snO1xyXG4gICAgcHVibGljIE9QRU5fREVUQUlMUz86IHN0cmluZyA9ICdPUEVOX0RFVEFJTFMnO1xyXG4gICAgcHVibGljIE9SREVSPzogc3RyaW5nID0gJ09SREVSJztcclxuICAgIHB1YmxpYyBPUkRFUl9DT01NSVNTSU9OPzogc3RyaW5nID0gJ09SREVSX0NPTU1JU1NJT04nO1xyXG4gICAgcHVibGljIE9SREVSX1NUT0NLPzogc3RyaW5nID0gJ09SREVSX1NUT0NLJztcclxuICAgIHB1YmxpYyBPVkVSVklFVz86IHN0cmluZyA9ICdPVkVSVklFVyc7XHJcbiAgICBwdWJsaWMgUFVSQ0hBU0VfT1JERVI/OiBzdHJpbmcgPSAnUFVSQ0hBU0VfT1JERVInO1xyXG4gICAgcHVibGljIFBVUkNIQVNFX09SREVSX0RBVEU/OiBzdHJpbmcgPSAnUFVSQ0hBU0VfT1JERVJfREFURSc7XHJcbiAgICBwdWJsaWMgUFVSQ0hBU0VfT1JERVJfTlI/OiBzdHJpbmcgPSAnUFVSQ0hBU0VfT1JERVJfTlInO1xyXG4gICAgcHVibGljIFBVUkNIQVNFX1BSSUNFPzogc3RyaW5nID0gJ1BVUkNIQVNFX1BSSUNFJztcclxuICAgIHB1YmxpYyBSRUZFUkVOQ0U/OiBzdHJpbmcgPSAnUkVGRVJFTkNFJztcclxuICAgIHB1YmxpYyBSRUxBVElPTl9JRD86IHN0cmluZyA9ICdSRUxBVElPTl9JRCc7XHJcbiAgICBwdWJsaWMgUkVMQVRJT05fTlI/OiBzdHJpbmcgPSAnUkVMQVRJT05fTlInO1xyXG4gICAgcHVibGljIFJFTUFSSz86IHN0cmluZyA9ICdSRU1BUksnO1xyXG4gICAgcHVibGljIFJFU0VSVkVEPzogc3RyaW5nID0gJ1JFU0VSVkVEJztcclxuICAgIHB1YmxpYyBRVUFOVElUWT86c3RyaW5nID0gJ1FVQU5USVRZJztcclxuICAgIHB1YmxpYyBTRUFSQ0g/OiBzdHJpbmcgPSAnU0VBUkNIJztcclxuICAgIHB1YmxpYyBTRVJJQUxfTk8/OiBzdHJpbmcgPSAnU0VSSUFMX05PJztcclxuICAgIHB1YmxpYyBTRVJJRV9OTz86c3RyaW5nID0gJ1NFUklFX05PJztcclxuICAgIHB1YmxpYyBTVEFOREFSRF9XQVJFSE9VU0U/OnN0cmluZyA9ICdTVEFOREFSRF9XQVJFSE9VU0UnO1xyXG4gICAgcHVibGljIFNUQU5EQVJEX0xPQ0FUSU9OPzpzdHJpbmcgPSAnU1RBTkRBUkRfTE9DQVRJT04nO1xyXG4gICAgcHVibGljIFNUQVRVUz86c3RyaW5nID0gJ1NUQVRVUyc7XHJcbiAgICBwdWJsaWMgU1RJQ0tFUj86IHN0cmluZyA9ICdTVElDS0VSJztcclxuICAgIHB1YmxpYyBTVE9DSz86IHN0cmluZyA9ICdTVE9DSyc7XHJcbiAgICBwdWJsaWMgU1RPQ0tfREVUQUlMUz86IHN0cmluZyA9ICdTVE9DS19ERVRBSUxTJztcclxuICAgIHB1YmxpYyBTVE9DS19GT1JFQ0FTVD86IHN0cmluZyA9ICdTVE9DS19GT1JFQ0FTVCc7XHJcbiAgICBwdWJsaWMgU1RPQ0tfUkVNQVJLPzogc3RyaW5nID0gJ1NUT0NLX1JFTUFSSyc7XHJcbiAgICBwdWJsaWMgU1RPQ0tfU1RBVEU/OiBzdHJpbmcgPSAnU1RPQ0tfU1RBVEUnO1xyXG4gICAgcHVibGljIFNUT0NLX1NUQVRVUz86IHN0cmluZyA9ICdTVE9DS19TVEFUVVMnO1xyXG4gICAgcHVibGljIFNVUFBMSUVSX05VTUJFUj86IHN0cmluZyA9ICdTVVBQTElFUl9OVU1CRVInO1xyXG4gICAgcHVibGljIFRSQU5TRkVSPzogc3RyaW5nID0gJ1RSQU5TRkVSJztcclxuICAgIHB1YmxpYyBUUkFOU0ZFUl9TVE9DSz86IHN0cmluZyA9ICdUUkFOU0ZFUl9TVE9DSyc7XHJcbiAgICBwdWJsaWMgVVNFUj86IHN0cmluZyA9ICdVU0VSJztcclxuICAgIHB1YmxpYyBWQUxVVEE/OiBzdHJpbmcgPSAnVkFMVVRBJztcclxuICAgIHB1YmxpYyBXQVJFSE9VU0U/OiBzdHJpbmcgPSAnV0FSRUhPVVNFJztcclxufVxyXG4iXX0=
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zdG9jay9sb2NhbGl6YXRpb24vdHJhbnNsYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFdBQVc7SUFBeEI7UUFDVyxjQUFTLEdBQVksV0FBVyxDQUFDO1FBQ2pDLGVBQVUsR0FBWSxZQUFZLENBQUM7UUFDbkMscUJBQWdCLEdBQVksa0JBQWtCLENBQUM7UUFDL0MsV0FBTSxHQUFZLFFBQVEsQ0FBQztRQUMzQixxQkFBZ0IsR0FBWSxrQkFBa0IsQ0FBQztRQUMvQyxvQkFBZSxHQUFZLGlCQUFpQixDQUFDO1FBQzdDLDJCQUFzQixHQUFZLHdCQUF3QixDQUFDO1FBQzNELG1CQUFjLEdBQVksZ0JBQWdCLENBQUM7UUFDM0MsaUJBQVksR0FBWSxjQUFjLENBQUM7UUFDdkMsb0JBQWUsR0FBWSxpQkFBaUIsQ0FBQztRQUM3Qyx3QkFBbUIsR0FBWSxxQkFBcUIsQ0FBQztRQUNyRCxVQUFLLEdBQVksT0FBTyxDQUFDO1FBQ3pCLGFBQVEsR0FBWSxVQUFVLENBQUM7UUFDL0IsV0FBTSxHQUFZLFFBQVEsQ0FBQztRQUMzQixzQkFBaUIsR0FBWSxtQkFBbUIsQ0FBQztRQUNqRCxZQUFPLEdBQVksU0FBUyxDQUFDO1FBQzdCLHlCQUFvQixHQUFZLHNCQUFzQixDQUFDO1FBQ3ZELGFBQVEsR0FBWSxVQUFVLENBQUM7UUFDL0IsU0FBSSxHQUFZLE1BQU0sQ0FBQztRQUN2QixtQkFBYyxHQUFZLGdCQUFnQixDQUFDO1FBQzNDLGtCQUFhLEdBQVksZUFBZSxDQUFDO1FBQ3pDLDRCQUF1QixHQUFZLHlCQUF5QixDQUFDO1FBQzdELGdCQUFXLEdBQVksYUFBYSxDQUFDO1FBQ3JDLG9CQUFlLEdBQVksaUJBQWlCLENBQUM7UUFDN0MscUJBQWdCLEdBQVksa0JBQWtCLENBQUM7UUFDL0MsZUFBVSxHQUFZLFlBQVksQ0FBQztRQUNuQyxzQkFBaUIsR0FBWSxtQkFBbUIsQ0FBQztRQUNqRCxZQUFPLEdBQVksU0FBUyxDQUFDO1FBQzdCLGFBQVEsR0FBWSxVQUFVLENBQUM7UUFDL0IsU0FBSSxHQUFZLE1BQU0sQ0FBQztRQUN2QixhQUFRLEdBQVksVUFBVSxDQUFDO1FBQy9CLFlBQU8sR0FBWSxTQUFTLENBQUM7UUFDN0Isa0JBQWEsR0FBWSxlQUFlLENBQUM7UUFDekMsa0JBQWEsR0FBWSxlQUFlLENBQUM7UUFDekMsa0JBQWEsR0FBWSxlQUFlLENBQUM7UUFDekMsbUJBQWMsR0FBWSxnQkFBZ0IsQ0FBQztRQUMzQyxPQUFFLEdBQVksSUFBSSxDQUFDO1FBQ25CLGlCQUFZLEdBQVksY0FBYyxDQUFDO1FBQ3ZDLFVBQUssR0FBWSxPQUFPLENBQUM7UUFDekIscUJBQWdCLEdBQVksa0JBQWtCLENBQUM7UUFDL0MsZ0JBQVcsR0FBWSxhQUFhLENBQUM7UUFDckMsYUFBUSxHQUFZLFVBQVUsQ0FBQztRQUMvQixtQkFBYyxHQUFZLGdCQUFnQixDQUFDO1FBQzNDLHdCQUFtQixHQUFZLHFCQUFxQixDQUFDO1FBQ3JELHNCQUFpQixHQUFZLG1CQUFtQixDQUFDO1FBQ2pELG1CQUFjLEdBQVksZ0JBQWdCLENBQUM7UUFDM0MsY0FBUyxHQUFZLFdBQVcsQ0FBQztRQUNqQyxnQkFBVyxHQUFZLGFBQWEsQ0FBQztRQUNyQyxnQkFBVyxHQUFZLGFBQWEsQ0FBQztRQUNyQyxXQUFNLEdBQVksUUFBUSxDQUFDO1FBQzNCLHlCQUFvQixHQUFZLHNCQUFzQixDQUFDO1FBQ3ZELGFBQVEsR0FBWSxVQUFVLENBQUM7UUFDL0IsYUFBUSxHQUFXLFVBQVUsQ0FBQztRQUM5QixXQUFNLEdBQVksUUFBUSxDQUFDO1FBQzNCLGNBQVMsR0FBWSxXQUFXLENBQUM7UUFDakMsYUFBUSxHQUFXLFVBQVUsQ0FBQztRQUM5Qix1QkFBa0IsR0FBVyxvQkFBb0IsQ0FBQztRQUNsRCxzQkFBaUIsR0FBVyxtQkFBbUIsQ0FBQztRQUNoRCxXQUFNLEdBQVcsUUFBUSxDQUFDO1FBQzFCLFlBQU8sR0FBWSxTQUFTLENBQUM7UUFDN0IsVUFBSyxHQUFZLE9BQU8sQ0FBQztRQUN6QixrQkFBYSxHQUFZLGVBQWUsQ0FBQztRQUN6QyxtQkFBYyxHQUFZLGdCQUFnQixDQUFDO1FBQzNDLGlCQUFZLEdBQVksY0FBYyxDQUFDO1FBQ3ZDLGdCQUFXLEdBQVksYUFBYSxDQUFDO1FBQ3JDLGlCQUFZLEdBQVksY0FBYyxDQUFDO1FBQ3ZDLG9CQUFlLEdBQVksaUJBQWlCLENBQUM7UUFDN0MsVUFBSyxHQUFZLE9BQU8sQ0FBQztRQUN6QixhQUFRLEdBQVksVUFBVSxDQUFDO1FBQy9CLG1CQUFjLEdBQVksZ0JBQWdCLENBQUM7UUFDM0MsU0FBSSxHQUFZLE1BQU0sQ0FBQztRQUN2QixXQUFNLEdBQVksUUFBUSxDQUFDO1FBQzNCLGNBQVMsR0FBWSxXQUFXLENBQUM7SUFDNUMsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFRyYW5zbGF0aW9uIHtcclxuICAgIHB1YmxpYyBBTExPQ0FURUQ/OiBzdHJpbmcgPSAnQUxMT0NBVEVEJztcclxuICAgIHB1YmxpYyBBTExPQ0FUSU9OPzogc3RyaW5nID0gJ0FMTE9DQVRJT04nO1xyXG4gICAgcHVibGljIEFMUkVBRFlfSU5fT1JERVI/OiBzdHJpbmcgPSAnQUxSRUFEWV9JTl9PUkRFUic7XHJcbiAgICBwdWJsaWMgQU1PVU5UPzogc3RyaW5nID0gJ0FNT1VOVCc7XHJcbiAgICBwdWJsaWMgQU1PVU5UX0FWQUlMQUJMRT86IHN0cmluZyA9ICdBTU9VTlRfQVZBSUxBQkxFJztcclxuICAgIHB1YmxpYyBBTU9VTlRfSU5fU1RPQ0s/OiBzdHJpbmcgPSAnQU1PVU5UX0lOX1NUT0NLJztcclxuICAgIHB1YmxpYyBBTU9VTlRfTEFURVJfQVZBSUxBQkxFPzogc3RyaW5nID0gJ0FNT1VOVF9MQVRFUl9BVkFJTEFCTEUnO1xyXG4gICAgcHVibGljIEFSVElDTEVfTlVNQkVSPzogc3RyaW5nID0gJ0FSVElDTEVfTlVNQkVSJztcclxuICAgIHB1YmxpYyBBVkFJTEFCSUxJVFk/OiBzdHJpbmcgPSAnQVZBSUxBQklMSVRZJztcclxuICAgIHB1YmxpYyBBVkFJTEFCTEVfU1RPQ0s/OiBzdHJpbmcgPSAnQVZBSUxBQkxFX1NUT0NLJztcclxuICAgIHB1YmxpYyBCQUNLX1RPX1NUT0NLX0xJTkVTPzogc3RyaW5nID0gJ0JBQ0tfVE9fU1RPQ0tfTElORVMnO1xyXG4gICAgcHVibGljIEJBVENIPzogc3RyaW5nID0gJ0JBVENIJztcclxuICAgIHB1YmxpYyBCQVRDSF9OTz86IHN0cmluZyA9ICdCQVRDSF9OTyc7XHJcbiAgICBwdWJsaWMgQ0FOQ0VMPzogc3RyaW5nID0gJ0NBTkNFTCc7XHJcbiAgICBwdWJsaWMgQ0hBTkdFX1NUT0NLX0xJTkU/OiBzdHJpbmcgPSAnQ0hBTkdFX1NUT0NLX0xJTkUnO1xyXG4gICAgcHVibGljIENIT0lDRVM/OiBzdHJpbmcgPSAnQ0hPSUNFUyc7XHJcbiAgICBwdWJsaWMgQ09ORklSTV9TVE9DS19DSEFOR0U/OiBzdHJpbmcgPSAnQ09ORklSTV9TVE9DS19DSEFOR0UnO1xyXG4gICAgcHVibGljIENVU1RPTUVSPzogc3RyaW5nID0gJ0NVU1RPTUVSJztcclxuICAgIHB1YmxpYyBEQVRFPzogc3RyaW5nID0gJ0RBVEUnO1xyXG4gICAgcHVibGljIERBVEVfREVMSVZFUkVEPzogc3RyaW5nID0gJ0RBVEVfREVMSVZFUkVEJztcclxuICAgIHB1YmxpYyBERUxJVkVSWV9EQVRFPzogc3RyaW5nID0gJ0RFTElWRVJZX0RBVEUnO1xyXG4gICAgcHVibGljIERFTElWRVJZX0RBVEVfQ09ORklSTUVEPzogc3RyaW5nID0gJ0RFTElWRVJZX0RBVEVfQ09ORklSTUVEJztcclxuICAgIHB1YmxpYyBERVNDUklQVElPTj86IHN0cmluZyA9ICdERVNDUklQVElPTic7XHJcbiAgICBwdWJsaWMgRE9DVU1FTlRfTlVNQkVSPzogc3RyaW5nID0gJ0RPQ1VNRU5UX05VTUJFUic7XHJcbiAgICBwdWJsaWMgRUNPTk9NSUNBTF9TVE9DSz86IHN0cmluZyA9ICdFQ09OT01JQ0FMX1NUT0NLJztcclxuICAgIHB1YmxpYyBGUkVFX1NUT0NLPzogc3RyaW5nID0gJ0ZSRUVfU1RPQ0snO1xyXG4gICAgcHVibGljIEZVVFVSRV9GUkVFX1NUT0NLPzogc3RyaW5nID0gJ0ZVVFVSRV9GUkVFX1NUT0NLJztcclxuICAgIHB1YmxpYyBISVNUT1JZPzogc3RyaW5nID0gJ0hJU1RPUlknO1xyXG4gICAgcHVibGljIElOX09SREVSPzogc3RyaW5nID0gJ0lOX09SREVSJztcclxuICAgIHB1YmxpYyBMSU5FPzogc3RyaW5nID0gJ0xJTkUnO1xyXG4gICAgcHVibGljIExPQ0FUSU9OPzogc3RyaW5nID0gJ0xPQ0FUSU9OJztcclxuICAgIHB1YmxpYyBMT09LX0FUPzogc3RyaW5nID0gJ0xPT0tfQVQnO1xyXG4gICAgcHVibGljIE1VVEFUSU9OX0RBVEU/OiBzdHJpbmcgPSAnTVVUQVRJT05fREFURSc7XHJcbiAgICBwdWJsaWMgTVVUQVRJT05fVElNRT86IHN0cmluZyA9ICdNVVRBVElPTl9USU1FJztcclxuICAgIHB1YmxpYyBNVVRBVElPTl9UWVBFPzogc3RyaW5nID0gJ01VVEFUSU9OX1RZUEUnO1xyXG4gICAgcHVibGljIE5FV19TVE9DS19MSU5FPzogc3RyaW5nID0gJ05FV19TVE9DS19MSU5FJztcclxuICAgIHB1YmxpYyBPSz86IHN0cmluZyA9ICdPSyc7XHJcbiAgICBwdWJsaWMgT1BFTl9ERVRBSUxTPzogc3RyaW5nID0gJ09QRU5fREVUQUlMUyc7XHJcbiAgICBwdWJsaWMgT1JERVI/OiBzdHJpbmcgPSAnT1JERVInO1xyXG4gICAgcHVibGljIE9SREVSX0NPTU1JU1NJT04/OiBzdHJpbmcgPSAnT1JERVJfQ09NTUlTU0lPTic7XHJcbiAgICBwdWJsaWMgT1JERVJfU1RPQ0s/OiBzdHJpbmcgPSAnT1JERVJfU1RPQ0snO1xyXG4gICAgcHVibGljIE9WRVJWSUVXPzogc3RyaW5nID0gJ09WRVJWSUVXJztcclxuICAgIHB1YmxpYyBQVVJDSEFTRV9PUkRFUj86IHN0cmluZyA9ICdQVVJDSEFTRV9PUkRFUic7XHJcbiAgICBwdWJsaWMgUFVSQ0hBU0VfT1JERVJfREFURT86IHN0cmluZyA9ICdQVVJDSEFTRV9PUkRFUl9EQVRFJztcclxuICAgIHB1YmxpYyBQVVJDSEFTRV9PUkRFUl9OUj86IHN0cmluZyA9ICdQVVJDSEFTRV9PUkRFUl9OUic7XHJcbiAgICBwdWJsaWMgUFVSQ0hBU0VfUFJJQ0U/OiBzdHJpbmcgPSAnUFVSQ0hBU0VfUFJJQ0UnO1xyXG4gICAgcHVibGljIFJFRkVSRU5DRT86IHN0cmluZyA9ICdSRUZFUkVOQ0UnO1xyXG4gICAgcHVibGljIFJFTEFUSU9OX0lEPzogc3RyaW5nID0gJ1JFTEFUSU9OX0lEJztcclxuICAgIHB1YmxpYyBSRUxBVElPTl9OUj86IHN0cmluZyA9ICdSRUxBVElPTl9OUic7XHJcbiAgICBwdWJsaWMgUkVNQVJLPzogc3RyaW5nID0gJ1JFTUFSSyc7XHJcbiAgICBwdWJsaWMgUkVQT1JUU19UT19BVFRBQ0hfVE8/OiBzdHJpbmcgPSAnUkVQT1JUU19UT19BVFRBQ0hfVE8nO1xyXG4gICAgcHVibGljIFJFU0VSVkVEPzogc3RyaW5nID0gJ1JFU0VSVkVEJztcclxuICAgIHB1YmxpYyBRVUFOVElUWT86c3RyaW5nID0gJ1FVQU5USVRZJztcclxuICAgIHB1YmxpYyBTRUFSQ0g/OiBzdHJpbmcgPSAnU0VBUkNIJztcclxuICAgIHB1YmxpYyBTRVJJQUxfTk8/OiBzdHJpbmcgPSAnU0VSSUFMX05PJztcclxuICAgIHB1YmxpYyBTRVJJRV9OTz86c3RyaW5nID0gJ1NFUklFX05PJztcclxuICAgIHB1YmxpYyBTVEFOREFSRF9XQVJFSE9VU0U/OnN0cmluZyA9ICdTVEFOREFSRF9XQVJFSE9VU0UnO1xyXG4gICAgcHVibGljIFNUQU5EQVJEX0xPQ0FUSU9OPzpzdHJpbmcgPSAnU1RBTkRBUkRfTE9DQVRJT04nO1xyXG4gICAgcHVibGljIFNUQVRVUz86c3RyaW5nID0gJ1NUQVRVUyc7XHJcbiAgICBwdWJsaWMgU1RJQ0tFUj86IHN0cmluZyA9ICdTVElDS0VSJztcclxuICAgIHB1YmxpYyBTVE9DSz86IHN0cmluZyA9ICdTVE9DSyc7XHJcbiAgICBwdWJsaWMgU1RPQ0tfREVUQUlMUz86IHN0cmluZyA9ICdTVE9DS19ERVRBSUxTJztcclxuICAgIHB1YmxpYyBTVE9DS19GT1JFQ0FTVD86IHN0cmluZyA9ICdTVE9DS19GT1JFQ0FTVCc7XHJcbiAgICBwdWJsaWMgU1RPQ0tfUkVNQVJLPzogc3RyaW5nID0gJ1NUT0NLX1JFTUFSSyc7XHJcbiAgICBwdWJsaWMgU1RPQ0tfU1RBVEU/OiBzdHJpbmcgPSAnU1RPQ0tfU1RBVEUnO1xyXG4gICAgcHVibGljIFNUT0NLX1NUQVRVUz86IHN0cmluZyA9ICdTVE9DS19TVEFUVVMnO1xyXG4gICAgcHVibGljIFNVUFBMSUVSX05VTUJFUj86IHN0cmluZyA9ICdTVVBQTElFUl9OVU1CRVInO1xyXG4gICAgcHVibGljIFRJVExFPzogc3RyaW5nID0gJ1RJVExFJztcclxuICAgIHB1YmxpYyBUUkFOU0ZFUj86IHN0cmluZyA9ICdUUkFOU0ZFUic7XHJcbiAgICBwdWJsaWMgVFJBTlNGRVJfU1RPQ0s/OiBzdHJpbmcgPSAnVFJBTlNGRVJfU1RPQ0snO1xyXG4gICAgcHVibGljIFVTRVI/OiBzdHJpbmcgPSAnVVNFUic7XHJcbiAgICBwdWJsaWMgVkFMVVRBPzogc3RyaW5nID0gJ1ZBTFVUQSc7XHJcbiAgICBwdWJsaWMgV0FSRUhPVVNFPzogc3RyaW5nID0gJ1dBUkVIT1VTRSc7XHJcbn1cclxuIl19