slick-components 17.0.7 → 17.0.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.
@@ -27,7 +27,7 @@ export class SlickEmailViewerComponent {
27
27
  useExisting: forwardRef((() => SlickEmailViewerComponent)),
28
28
  multi: true,
29
29
  }
30
- ], ngImport: i0, template: "<div *ngIf=\"emailerModel\" id=\"slick-email-viewer_{{uuid}}\" class=\"slick-email-viewer\">\r\n\t<div class=\"row form-group\">\r\n\t\t<div class=\"col-12\">\r\n\t\t\t<label>To:&nbsp;</label><br />\r\n\t\t\t<div *ngFor=\"let emailAddress of emailerModel.toEmailAddresses; let idx = index;\" class=\"slick-email-viewer_email-address card\">{{emailAddress.displayName}} [{{emailAddress.emailAddress}}]</div>\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"row form-group\">\r\n\t\t<div class=\"col-12\">\r\n\t\t\t<label>Subject:</label><br />\r\n\t\t\t<div class=\"slick-email-viewer_subject card\">{{emailerModel.subject}}</div>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<div class=\"row form-group\">\r\n\t\t<div class=\"col-12\">\r\n\t\t\t<label>Body:</label><br />\r\n\t\t\t<div class=\"slick-email-viewer_body card\" [innerHTML]=\"emailerModel.body\"></div>\r\n\t\t\t\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<div *ngIf=\"emailerModel.attachments && emailerModel.attachments.length > 0\" class=\"row form-group\">\r\n\t\t<div class=\"col-12\">\r\n\t\t\t<label>Attachments:</label>\r\n\t\t\t<slick-file-list [(files)]=\"emailerModel.attachments\" [allowDelete]=\"false\"></slick-file-list>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.SlickFileListComponent, selector: "slick-file-list", inputs: ["files", "allowDelete", "showPhotoGallery", "showCheckboxes", "thumbnailSize", "confirmDelete"], outputs: ["filesEmitter", "onFileDelete", "onFileCheckChanged", "onFileClicked"] }] }); }
30
+ ], ngImport: i0, template: "<div *ngIf=\"emailerModel\" id=\"slick-email-viewer_{{uuid}}\" class=\"slick-email-viewer\">\r\n\t<div class=\"row form-group\">\r\n\t\t<div class=\"col-12\">\r\n\t\t\t<label>To:&nbsp;</label><br />\r\n\t\t\t<div *ngFor=\"let emailAddress of emailerModel.toEmailAddresses; let idx = index;\" class=\"slick-email-viewer_email-address card\">{{emailAddress.displayName}} [{{emailAddress.emailAddress}}]</div>\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"row form-group\">\r\n\t\t<div class=\"col-12\">\r\n\t\t\t<label>Subject:</label><br />\r\n\t\t\t<div class=\"slick-email-viewer_subject card\">{{emailerModel.subject}}</div>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<div class=\"row form-group\">\r\n\t\t<div class=\"col-12\">\r\n\t\t\t<label>Body:</label><br />\r\n\t\t\t<div class=\"slick-email-viewer_body card\" [innerHTML]=\"emailerModel.body\"></div>\r\n\t\t\t\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<div *ngIf=\"emailerModel.attachments && emailerModel.attachments.length > 0\" class=\"row form-group\">\r\n\t\t<div class=\"col-12\">\r\n\t\t\t<label>Attachments:</label>\r\n\t\t\t<slick-file-list [(files)]=\"emailerModel.attachments\" [allowDelete]=\"false\"></slick-file-list>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.SlickFileListComponent, selector: "slick-file-list", inputs: ["files", "allowDelete", "showPhotoGallery", "showCheckboxes", "thumbnailSize", "confirmDelete"], outputs: ["filesEmitter", "onFileChanged", "onFileDeleted", "onFileCheckChanged", "onFileClicked"] }] }); }
31
31
  }
32
32
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: SlickEmailViewerComponent, decorators: [{
33
33
  type: Component,
@@ -198,7 +198,7 @@ export class SlickEmailerComponent {
198
198
  multi: true,
199
199
  },
200
200
  SlickFunctionLockService
201
- ], viewQueries: [{ propertyName: "tinyMCEContainerRef", first: true, predicate: ["tinyMCEContainerRef"], descendants: true }], ngImport: i0, template: "<div *ngIf=\"emailerModel\" id=\"slick-emailer_{{uuid}}\" class=\"slick-emailer\">\r\n <div class=\"row form-group\">\r\n <div class=\"col-12\">\r\n <div *ngIf=\"isSubmitted === true && emailerModel.toEmailAddresses.length === 0\" class=\"errorWrapper showIcons\"><div class=\"text-danger\">Email must have at least one email address</div></div>\r\n <div class=\"input-group\">\r\n <span class=\"input-group-text\"><span class=\"fas fa-search\"></span></span>\r\n <input class=\"form-control\" #emailAddressAutocomplete [(ngModel)]=\"toEmailAddress\" placeholder=\"Email Search...\" autofocus />\r\n </div>\r\n <slick-auto-complete [inputRef]=\"emailAddressAutocomplete\" textField=\"emailDisplay\" [items]=\"toEmailAddressList\" (onRefresh)=\"toAddressSearch($event)\" (onSelect)=\"onSelectEmailAddress($event)\" (onFreeformTextSelect)=\"onFreeformTextSelect($event)\">\r\n <ng-template let-emailDisplay [slickAutoCompleteListItemTemplate]>\r\n <div style='line-height: 1.1em; font-size: 12px;'>\r\n {{emailDisplay.displayName}} [{{emailDisplay.emailAddress}}]\r\n </div>\r\n </ng-template>\r\n </slick-auto-complete>\r\n\r\n <label>To:&nbsp;</label>\r\n <div *ngFor=\"let emailAddress of emailerModel.toEmailAddresses; let idx = index;\" class=\"slick-emailer_email-address alert alert-secondary\">{{emailAddress.displayName}} [{{emailAddress.emailAddress}}]<i (click)=\"deleteEmailAddress(idx)\" class=\"fas fa-times-circle bg-white text-danger ms-1\"></i></div>\r\n </div>\r\n </div>\r\n <div class=\"row form-group\">\r\n <div class=\"col-12\">\r\n <label>Subject:</label>\r\n <input type=\"text\" class=\"form-control\" [(ngModel)]=\"emailerModel.subject\" />\r\n </div>\r\n </div>\r\n\r\n <div class=\"row form-group\">\r\n <div class=\"col-12\">\r\n <label>Body:</label>\r\n <div #tinyMCEContainerRef></div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row form-group\">\r\n <div class=\"col-12\">\r\n <label>Attachments:</label>\r\n <slick-file-drop (filesChanged)=\"onAttachmentsChanged($event)\"></slick-file-drop>\r\n <slick-file-list [(files)]=\"emailerModel.attachments\"></slick-file-list>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"showButtons\" class=\"row form-group\">\r\n <div class=\"col-12 text-center\">\r\n <button type=\"button\" style=\"width: 120px; margin-right: 10px;\" [slick-button-spinner]=\"spinnerStatus\" class=\"btn btn-outline-primary\" (click)=\"onSendEmail()\"><i class=\"far fa-envelope\"></i>&nbsp;Send</button>\r\n <button type=\"button\" style=\"width: 120px;\" class=\"btn btn-outline-danger\" (click)=\"onCancelEmail()\"><i class=\"far fa-times\"></i>&nbsp;Cancel</button>\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.SlickAutoCompleteComponent, selector: "slick-auto-complete", inputs: ["inputRef", "searchBarRef", "items", "delay", "selectFirst", "displayTextFieldName", "offset", "listHeight", "listWidth", "allowFreeformText", "showNoItemsFoundDisplay"], outputs: ["onRefresh", "onSelect", "onFreeformTextSelect"] }, { kind: "directive", type: i5.SlickAutoCompleteListItemTemplateDirective, selector: "[slickAutoCompleteListItemTemplate]", inputs: ["type", "slickAutoCompleteListItemTemplate"] }, { kind: "component", type: i6.SlickButtonSpinnerComponent, selector: "[slick-button-spinner]", inputs: ["slick-button-spinner"] }, { kind: "component", type: i7.SlickFileDropComponent, selector: "slick-file-drop", inputs: ["displayText"], outputs: ["filesChanged"] }, { kind: "component", type: i8.SlickFileListComponent, selector: "slick-file-list", inputs: ["files", "allowDelete", "showPhotoGallery", "showCheckboxes", "thumbnailSize", "confirmDelete"], outputs: ["filesEmitter", "onFileDelete", "onFileCheckChanged", "onFileClicked"] }] }); }
201
+ ], viewQueries: [{ propertyName: "tinyMCEContainerRef", first: true, predicate: ["tinyMCEContainerRef"], descendants: true }], ngImport: i0, template: "<div *ngIf=\"emailerModel\" id=\"slick-emailer_{{uuid}}\" class=\"slick-emailer\">\r\n <div class=\"row form-group\">\r\n <div class=\"col-12\">\r\n <div *ngIf=\"isSubmitted === true && emailerModel.toEmailAddresses.length === 0\" class=\"errorWrapper showIcons\"><div class=\"text-danger\">Email must have at least one email address</div></div>\r\n <div class=\"input-group\">\r\n <span class=\"input-group-text\"><span class=\"fas fa-search\"></span></span>\r\n <input class=\"form-control\" #emailAddressAutocomplete [(ngModel)]=\"toEmailAddress\" placeholder=\"Email Search...\" autofocus />\r\n </div>\r\n <slick-auto-complete [inputRef]=\"emailAddressAutocomplete\" textField=\"emailDisplay\" [items]=\"toEmailAddressList\" (onRefresh)=\"toAddressSearch($event)\" (onSelect)=\"onSelectEmailAddress($event)\" (onFreeformTextSelect)=\"onFreeformTextSelect($event)\">\r\n <ng-template let-emailDisplay [slickAutoCompleteListItemTemplate]>\r\n <div style='line-height: 1.1em; font-size: 12px;'>\r\n {{emailDisplay.displayName}} [{{emailDisplay.emailAddress}}]\r\n </div>\r\n </ng-template>\r\n </slick-auto-complete>\r\n\r\n <label>To:&nbsp;</label>\r\n <div *ngFor=\"let emailAddress of emailerModel.toEmailAddresses; let idx = index;\" class=\"slick-emailer_email-address alert alert-secondary\">{{emailAddress.displayName}} [{{emailAddress.emailAddress}}]<i (click)=\"deleteEmailAddress(idx)\" class=\"fas fa-times-circle bg-white text-danger ms-1\"></i></div>\r\n </div>\r\n </div>\r\n <div class=\"row form-group\">\r\n <div class=\"col-12\">\r\n <label>Subject:</label>\r\n <input type=\"text\" class=\"form-control\" [(ngModel)]=\"emailerModel.subject\" />\r\n </div>\r\n </div>\r\n\r\n <div class=\"row form-group\">\r\n <div class=\"col-12\">\r\n <label>Body:</label>\r\n <div #tinyMCEContainerRef></div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row form-group\">\r\n <div class=\"col-12\">\r\n <label>Attachments:</label>\r\n <slick-file-drop (filesChanged)=\"onAttachmentsChanged($event)\"></slick-file-drop>\r\n <slick-file-list [(files)]=\"emailerModel.attachments\"></slick-file-list>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"showButtons\" class=\"row form-group\">\r\n <div class=\"col-12 text-center\">\r\n <button type=\"button\" style=\"width: 120px; margin-right: 10px;\" [slick-button-spinner]=\"spinnerStatus\" class=\"btn btn-outline-primary\" (click)=\"onSendEmail()\"><i class=\"far fa-envelope\"></i>&nbsp;Send</button>\r\n <button type=\"button\" style=\"width: 120px;\" class=\"btn btn-outline-danger\" (click)=\"onCancelEmail()\"><i class=\"far fa-times\"></i>&nbsp;Cancel</button>\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.SlickAutoCompleteComponent, selector: "slick-auto-complete", inputs: ["inputRef", "searchBarRef", "items", "delay", "selectFirst", "displayTextFieldName", "offset", "listHeight", "listWidth", "allowFreeformText", "showNoItemsFoundDisplay"], outputs: ["onRefresh", "onSelect", "onFreeformTextSelect"] }, { kind: "directive", type: i5.SlickAutoCompleteListItemTemplateDirective, selector: "[slickAutoCompleteListItemTemplate]", inputs: ["type", "slickAutoCompleteListItemTemplate"] }, { kind: "component", type: i6.SlickButtonSpinnerComponent, selector: "[slick-button-spinner]", inputs: ["slick-button-spinner"] }, { kind: "component", type: i7.SlickFileDropComponent, selector: "slick-file-drop", inputs: ["displayText"], outputs: ["filesChanged"] }, { kind: "component", type: i8.SlickFileListComponent, selector: "slick-file-list", inputs: ["files", "allowDelete", "showPhotoGallery", "showCheckboxes", "thumbnailSize", "confirmDelete"], outputs: ["filesEmitter", "onFileChanged", "onFileDeleted", "onFileCheckChanged", "onFileClicked"] }] }); }
202
202
  }
203
203
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: SlickEmailerComponent, decorators: [{
204
204
  type: Component,
@@ -100,7 +100,9 @@ export class SlickFileListItemComponent {
100
100
  });
101
101
  }
102
102
  }
103
- async editTitle() {
103
+ async editTitle(e) {
104
+ e.stopPropagation();
105
+ e.preventDefault();
104
106
  this.isEditing = true;
105
107
  this.tempTitle = this.file.title;
106
108
  await SlickSleepService.sleep();
@@ -111,6 +113,7 @@ export class SlickFileListItemComponent {
111
113
  onKeyDown(e) {
112
114
  if (e.which === 13) {
113
115
  this.file.title = this.tempTitle;
116
+ console.log(this.file);
114
117
  this.fileChangeEmitter.emit(this.file);
115
118
  this.isEditing = false;
116
119
  document.removeEventListener("click", this.fnDocumentClick, true);
@@ -142,11 +145,11 @@ export class SlickFileListItemComponent {
142
145
  document.removeEventListener("click", this.fnDocumentClick, true);
143
146
  }
144
147
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: SlickFileListItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
145
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: SlickFileListItemComponent, selector: "slick-file-list-item", inputs: { file: "file", allowDelete: "allowDelete", showPhotoGallery: "showPhotoGallery", showCheckbox: "showCheckbox", thumbnailSize: "thumbnailSize", confirmDelete: "confirmDelete" }, outputs: { fileChangeEmitter: "fileChange", fileDeleteEmitter: "fileDelete", fileClicked: "fileClicked", checkChanged: "checkChanged" }, viewQueries: [{ propertyName: "titleDivRef", first: true, predicate: ["titleDivRef"], descendants: true }, { propertyName: "editTitleDivRef", first: true, predicate: ["editTitleDivRef"], descendants: true }, { propertyName: "editTitleInputRef", first: true, predicate: ["editTitleInputRef"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"slick-file-list-item\" id=\"slick-file-list-item_{{uuid}}\">\r\n\t<div class=\"slick-file-list-item_img gray-block card\" (click)=\"onClick()\" [ngStyle]=\"{ 'cursor': (showPhotoGallery === true) ? 'pointer' : 'default' }\" [style.minHeight.px]=\"itemSize + 2\" [style.minWidth.px]=\"itemSize\">\r\n\t\t<img *ngIf=\"file.thumbnailBase64Image\" [src]=\"file.thumbnailBase64Image\" [style.maxWidth.px]=\"itemImgSize\" [style.maxHeight.px]=\"itemImgSize\" />\r\n\t\t<img *ngIf=\"!file.thumbnailBase64Image && file.base64Image\" [src]=\"file.base64Image\" [style.maxWidth.px]=\"itemImgSize\" [style.maxHeight.px]=\"itemImgSize\" />\r\n\t\t<img *ngIf=\"!file.thumbnailBase64Image && !file.base64Image && file.thumbnailUrl\" [src]=\"file.thumbnailUrl\" [style.maxWidth.px]=\"itemImgSize\" [style.maxHeight.px]=\"itemImgSize\" />\r\n\t\t<img *ngIf=\"!file.thumbnailBase64Image && !file.base64Image && !file.thumbnailUrl && file.url\" [src]=\"file.url\" [style.maxWidth.px]=\"itemImgSize\" [style.maxHeight.px]=\"itemImgSize\" />\r\n\t\t<i *ngIf=\"allowDelete\" class=\"fas fa-circle-x bg-white text-danger\" (click)=\"deleteFile($event)\"></i>\r\n\t\t<div class=\"file-info\">\r\n\t\t\t<div class=\"slick-file-list-item_title\" [style.minWidth.px]=\"itemSize\" [style.maxWidth.px]=\"itemSize\">\r\n\t\t\t <div class=\"slick-file-list-item_display-title\" #titleDivRef style=\"cursor: pointer\" *ngIf=\"!isEditing\" (click)=\"editTitle()\">\r\n\t\t\t\t{{ (file.title ?? '').length > 18 ? (file.title ?? '').slice(0, 18) + '...' : file.title }}\r\n\t\t\t </div>\r\n\t\t\t <div #editTitleDivRef class=\"slick-file-list-item_edit-title\" *ngIf=\"isEditing\">\r\n\t\t\t\t<input #editTitleInputRef type=\"text\" class=\"form-control\" [(ngModel)]=\"tempTitle\" (keydown)=\"onKeyDown($event)\" [style.width.px]=\"itemSize\" />\r\n\t\t\t </div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"slick-file-list-item_title\" *ngIf=\"fileDateFormatted\" [style.minWidth.px]=\"itemSize\" [style.maxWidth.px]=\"itemSize\">\r\n\t\t\t <div class=\"slick-file-list-item_date\">\r\n\t\t\t\t<div *ngIf=\"fileDateFormatted\" [style.minWidth.px]=\"itemSize\">{{ fileDateFormatted }}</div>\r\n\t\t\t\t<div *ngIf=\"fileTimeFormatted\" [style.minWidth.px]=\"itemSize\">{{ fileTimeFormatted }}</div>\r\n\t\t\t </div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<!-- We want the user to be able to click just a little outside of the checkbox and still have it check -->\r\n\t<div *ngIf=\"showCheckbox === true\" class=\"slick-file-checkbox\" (click)=\"onCheckboxClicked($event)\">\r\n\t\t<input type=\"checkbox\" [ngModel]=\"file.isChecked\" />\r\n\t</div>\r\n</div>\r\n\r\n<slick-confirm-dialog #deleteConfirmRef okButtonText='Delete'>\r\n\t<h4 class=\"p-0 m-0\">Are you sure you want to delete?</h4>\r\n\t<h5 class=\"p-0 m-0\">\"{{file.title}}\"</h5>\r\n</slick-confirm-dialog>", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.SlickConfirmDialogComponent, selector: "slick-confirm-dialog", inputs: ["width", "okButtonText", "cancelButtonText", "showOkButton", "showCancelButton"] }] }); }
148
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: SlickFileListItemComponent, selector: "slick-file-list-item", inputs: { file: "file", allowDelete: "allowDelete", showPhotoGallery: "showPhotoGallery", showCheckbox: "showCheckbox", thumbnailSize: "thumbnailSize", confirmDelete: "confirmDelete" }, outputs: { fileChangeEmitter: "fileChanged", fileDeleteEmitter: "fileDeleted", fileClicked: "fileClicked", checkChanged: "checkChanged" }, viewQueries: [{ propertyName: "titleDivRef", first: true, predicate: ["titleDivRef"], descendants: true }, { propertyName: "editTitleDivRef", first: true, predicate: ["editTitleDivRef"], descendants: true }, { propertyName: "editTitleInputRef", first: true, predicate: ["editTitleInputRef"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"slick-file-list-item\" id=\"slick-file-list-item_{{uuid}}\">\r\n\t<div class=\"slick-file-list-item_img gray-block card\" (click)=\"onClick()\" [ngStyle]=\"{ 'cursor': (showPhotoGallery === true) ? 'pointer' : 'default' }\" [style.minHeight.px]=\"itemSize + 2\" [style.minWidth.px]=\"itemSize\">\r\n\t\t<img *ngIf=\"file.thumbnailBase64Image\" [src]=\"file.thumbnailBase64Image\" [style.maxWidth.px]=\"itemImgSize\" [style.maxHeight.px]=\"itemImgSize\" />\r\n\t\t<img *ngIf=\"!file.thumbnailBase64Image && file.base64Image\" [src]=\"file.base64Image\" [style.maxWidth.px]=\"itemImgSize\" [style.maxHeight.px]=\"itemImgSize\" />\r\n\t\t<img *ngIf=\"!file.thumbnailBase64Image && !file.base64Image && file.thumbnailUrl\" [src]=\"file.thumbnailUrl\" [style.maxWidth.px]=\"itemImgSize\" [style.maxHeight.px]=\"itemImgSize\" />\r\n\t\t<img *ngIf=\"!file.thumbnailBase64Image && !file.base64Image && !file.thumbnailUrl && file.url\" [src]=\"file.url\" [style.maxWidth.px]=\"itemImgSize\" [style.maxHeight.px]=\"itemImgSize\" />\r\n\t\t<i *ngIf=\"allowDelete\" class=\"fas fa-circle-x bg-white text-danger\" (click)=\"deleteFile($event)\"></i>\r\n\t\t<div class=\"file-info\" (click)=\"editTitle($event)\">\r\n\t\t\t<div class=\"slick-file-list-item_title\" [style.minWidth.px]=\"itemSize\" [style.maxWidth.px]=\"itemSize\">\r\n\t\t\t <div class=\"slick-file-list-item_display-title\" #titleDivRef style=\"cursor: pointer\" *ngIf=\"!isEditing\">\r\n\t\t\t\t{{ (file.title ?? '').length > 18 ? (file.title ?? '').slice(0, 18) + '...' : file.title }}\r\n\t\t\t </div>\r\n\t\t\t <div #editTitleDivRef class=\"slick-file-list-item_edit-title\" *ngIf=\"isEditing\">\r\n\t\t\t\t<input #editTitleInputRef type=\"text\" class=\"form-control\" [(ngModel)]=\"tempTitle\" (keydown)=\"onKeyDown($event)\" [style.width.px]=\"itemSize\" />\r\n\t\t\t </div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"slick-file-list-item_title\" *ngIf=\"fileDateFormatted\" [style.minWidth.px]=\"itemSize\" [style.maxWidth.px]=\"itemSize\">\r\n\t\t\t <div class=\"slick-file-list-item_date\">\r\n\t\t\t\t<div *ngIf=\"fileDateFormatted\" [style.minWidth.px]=\"itemSize\">{{ fileDateFormatted }}</div>\r\n\t\t\t\t<div *ngIf=\"fileTimeFormatted\" [style.minWidth.px]=\"itemSize\">{{ fileTimeFormatted }}</div>\r\n\t\t\t </div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<!-- We want the user to be able to click just a little outside of the checkbox and still have it check -->\r\n\t<div *ngIf=\"showCheckbox === true\" class=\"slick-file-checkbox\" (click)=\"onCheckboxClicked($event)\">\r\n\t\t<input type=\"checkbox\" [ngModel]=\"file.isChecked\" />\r\n\t</div>\r\n</div>\r\n\r\n<slick-confirm-dialog #deleteConfirmRef okButtonText='Delete'>\r\n\t<h4 class=\"p-0 m-0\">Are you sure you want to delete?</h4>\r\n\t<h5 class=\"p-0 m-0\">\"{{file.title}}\"</h5>\r\n</slick-confirm-dialog>", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.SlickConfirmDialogComponent, selector: "slick-confirm-dialog", inputs: ["width", "okButtonText", "cancelButtonText", "showOkButton", "showCancelButton"] }] }); }
146
149
  }
147
150
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: SlickFileListItemComponent, decorators: [{
148
151
  type: Component,
149
- args: [{ selector: 'slick-file-list-item', template: "<div class=\"slick-file-list-item\" id=\"slick-file-list-item_{{uuid}}\">\r\n\t<div class=\"slick-file-list-item_img gray-block card\" (click)=\"onClick()\" [ngStyle]=\"{ 'cursor': (showPhotoGallery === true) ? 'pointer' : 'default' }\" [style.minHeight.px]=\"itemSize + 2\" [style.minWidth.px]=\"itemSize\">\r\n\t\t<img *ngIf=\"file.thumbnailBase64Image\" [src]=\"file.thumbnailBase64Image\" [style.maxWidth.px]=\"itemImgSize\" [style.maxHeight.px]=\"itemImgSize\" />\r\n\t\t<img *ngIf=\"!file.thumbnailBase64Image && file.base64Image\" [src]=\"file.base64Image\" [style.maxWidth.px]=\"itemImgSize\" [style.maxHeight.px]=\"itemImgSize\" />\r\n\t\t<img *ngIf=\"!file.thumbnailBase64Image && !file.base64Image && file.thumbnailUrl\" [src]=\"file.thumbnailUrl\" [style.maxWidth.px]=\"itemImgSize\" [style.maxHeight.px]=\"itemImgSize\" />\r\n\t\t<img *ngIf=\"!file.thumbnailBase64Image && !file.base64Image && !file.thumbnailUrl && file.url\" [src]=\"file.url\" [style.maxWidth.px]=\"itemImgSize\" [style.maxHeight.px]=\"itemImgSize\" />\r\n\t\t<i *ngIf=\"allowDelete\" class=\"fas fa-circle-x bg-white text-danger\" (click)=\"deleteFile($event)\"></i>\r\n\t\t<div class=\"file-info\">\r\n\t\t\t<div class=\"slick-file-list-item_title\" [style.minWidth.px]=\"itemSize\" [style.maxWidth.px]=\"itemSize\">\r\n\t\t\t <div class=\"slick-file-list-item_display-title\" #titleDivRef style=\"cursor: pointer\" *ngIf=\"!isEditing\" (click)=\"editTitle()\">\r\n\t\t\t\t{{ (file.title ?? '').length > 18 ? (file.title ?? '').slice(0, 18) + '...' : file.title }}\r\n\t\t\t </div>\r\n\t\t\t <div #editTitleDivRef class=\"slick-file-list-item_edit-title\" *ngIf=\"isEditing\">\r\n\t\t\t\t<input #editTitleInputRef type=\"text\" class=\"form-control\" [(ngModel)]=\"tempTitle\" (keydown)=\"onKeyDown($event)\" [style.width.px]=\"itemSize\" />\r\n\t\t\t </div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"slick-file-list-item_title\" *ngIf=\"fileDateFormatted\" [style.minWidth.px]=\"itemSize\" [style.maxWidth.px]=\"itemSize\">\r\n\t\t\t <div class=\"slick-file-list-item_date\">\r\n\t\t\t\t<div *ngIf=\"fileDateFormatted\" [style.minWidth.px]=\"itemSize\">{{ fileDateFormatted }}</div>\r\n\t\t\t\t<div *ngIf=\"fileTimeFormatted\" [style.minWidth.px]=\"itemSize\">{{ fileTimeFormatted }}</div>\r\n\t\t\t </div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<!-- We want the user to be able to click just a little outside of the checkbox and still have it check -->\r\n\t<div *ngIf=\"showCheckbox === true\" class=\"slick-file-checkbox\" (click)=\"onCheckboxClicked($event)\">\r\n\t\t<input type=\"checkbox\" [ngModel]=\"file.isChecked\" />\r\n\t</div>\r\n</div>\r\n\r\n<slick-confirm-dialog #deleteConfirmRef okButtonText='Delete'>\r\n\t<h4 class=\"p-0 m-0\">Are you sure you want to delete?</h4>\r\n\t<h5 class=\"p-0 m-0\">\"{{file.title}}\"</h5>\r\n</slick-confirm-dialog>" }]
152
+ args: [{ selector: 'slick-file-list-item', template: "<div class=\"slick-file-list-item\" id=\"slick-file-list-item_{{uuid}}\">\r\n\t<div class=\"slick-file-list-item_img gray-block card\" (click)=\"onClick()\" [ngStyle]=\"{ 'cursor': (showPhotoGallery === true) ? 'pointer' : 'default' }\" [style.minHeight.px]=\"itemSize + 2\" [style.minWidth.px]=\"itemSize\">\r\n\t\t<img *ngIf=\"file.thumbnailBase64Image\" [src]=\"file.thumbnailBase64Image\" [style.maxWidth.px]=\"itemImgSize\" [style.maxHeight.px]=\"itemImgSize\" />\r\n\t\t<img *ngIf=\"!file.thumbnailBase64Image && file.base64Image\" [src]=\"file.base64Image\" [style.maxWidth.px]=\"itemImgSize\" [style.maxHeight.px]=\"itemImgSize\" />\r\n\t\t<img *ngIf=\"!file.thumbnailBase64Image && !file.base64Image && file.thumbnailUrl\" [src]=\"file.thumbnailUrl\" [style.maxWidth.px]=\"itemImgSize\" [style.maxHeight.px]=\"itemImgSize\" />\r\n\t\t<img *ngIf=\"!file.thumbnailBase64Image && !file.base64Image && !file.thumbnailUrl && file.url\" [src]=\"file.url\" [style.maxWidth.px]=\"itemImgSize\" [style.maxHeight.px]=\"itemImgSize\" />\r\n\t\t<i *ngIf=\"allowDelete\" class=\"fas fa-circle-x bg-white text-danger\" (click)=\"deleteFile($event)\"></i>\r\n\t\t<div class=\"file-info\" (click)=\"editTitle($event)\">\r\n\t\t\t<div class=\"slick-file-list-item_title\" [style.minWidth.px]=\"itemSize\" [style.maxWidth.px]=\"itemSize\">\r\n\t\t\t <div class=\"slick-file-list-item_display-title\" #titleDivRef style=\"cursor: pointer\" *ngIf=\"!isEditing\">\r\n\t\t\t\t{{ (file.title ?? '').length > 18 ? (file.title ?? '').slice(0, 18) + '...' : file.title }}\r\n\t\t\t </div>\r\n\t\t\t <div #editTitleDivRef class=\"slick-file-list-item_edit-title\" *ngIf=\"isEditing\">\r\n\t\t\t\t<input #editTitleInputRef type=\"text\" class=\"form-control\" [(ngModel)]=\"tempTitle\" (keydown)=\"onKeyDown($event)\" [style.width.px]=\"itemSize\" />\r\n\t\t\t </div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"slick-file-list-item_title\" *ngIf=\"fileDateFormatted\" [style.minWidth.px]=\"itemSize\" [style.maxWidth.px]=\"itemSize\">\r\n\t\t\t <div class=\"slick-file-list-item_date\">\r\n\t\t\t\t<div *ngIf=\"fileDateFormatted\" [style.minWidth.px]=\"itemSize\">{{ fileDateFormatted }}</div>\r\n\t\t\t\t<div *ngIf=\"fileTimeFormatted\" [style.minWidth.px]=\"itemSize\">{{ fileTimeFormatted }}</div>\r\n\t\t\t </div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<!-- We want the user to be able to click just a little outside of the checkbox and still have it check -->\r\n\t<div *ngIf=\"showCheckbox === true\" class=\"slick-file-checkbox\" (click)=\"onCheckboxClicked($event)\">\r\n\t\t<input type=\"checkbox\" [ngModel]=\"file.isChecked\" />\r\n\t</div>\r\n</div>\r\n\r\n<slick-confirm-dialog #deleteConfirmRef okButtonText='Delete'>\r\n\t<h4 class=\"p-0 m-0\">Are you sure you want to delete?</h4>\r\n\t<h5 class=\"p-0 m-0\">\"{{file.title}}\"</h5>\r\n</slick-confirm-dialog>" }]
150
153
  }], ctorParameters: () => [], propDecorators: { file: [{
151
154
  type: Input,
152
155
  args: ["file"]
@@ -167,10 +170,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
167
170
  args: ["confirmDelete"]
168
171
  }], fileChangeEmitter: [{
169
172
  type: Output,
170
- args: ["fileChange"]
173
+ args: ["fileChanged"]
171
174
  }], fileDeleteEmitter: [{
172
175
  type: Output,
173
- args: ["fileDelete"]
176
+ args: ["fileDeleted"]
174
177
  }], fileClicked: [{
175
178
  type: Output,
176
179
  args: ["fileClicked"]
@@ -187,4 +190,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
187
190
  type: ViewChild,
188
191
  args: ["editTitleInputRef"]
189
192
  }] } });
190
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2stZmlsZS1saXN0LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvc2xpY2stZmlsZS1saXN0L3NsaWNrLWZpbGUtbGlzdC1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL3NsaWNrLWZpbGUtbGlzdC9zbGljay1maWxlLWxpc3QtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBZ0UsTUFBTSxlQUFlLENBQUM7QUFDaEosT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDakUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFHakUsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sSUFBSSxNQUFNLGFBQWEsQ0FBQTs7Ozs7QUFFOUIsTUFBTSxlQUFlLEdBQWEsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQzdILE1BQU0sY0FBYyxHQUFhLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQy9GLE1BQU0sYUFBYSxHQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7QUFNeEMsTUFBTSxPQUFPLDBCQUEwQjtJQTJCdEM7UUF6QnNCLGdCQUFXLEdBQVksSUFBSSxDQUFDO1FBQ3ZCLHFCQUFnQixHQUFZ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dUJBQUMsZUFBZTtnQkFDRSxhQUFhO3NCQUFwQyxLQUFLO3VCQUFDLGVBQWU7Z0JBQ0EsaUJBQWlCO3NCQUF0QyxNQUFNO3VCQUFDLFlBQVk7Z0JBQ0UsaUJBQWlCO3NCQUF0QyxNQUFNO3VCQUFDLFlBQVk7Z0JBQ0csV0FBVztzQkFBakMsTUFBTTt1QkFBQyxhQUFhO2dCQUNHLFlBQVk7c0JBQW5DLE1BQU07dUJBQUMsY0FBYztnQkFFSSxXQUFXO3NCQUFwQyxTQUFTO3VCQUFDLGFBQWE7Z0JBQ00sZUFBZTtzQkFBNUMsU0FBUzt1QkFBQyxpQkFBaUI7Z0JBQ0ksaUJBQWlCO3NCQUFoRCxTQUFTO3VCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkLCBFdmVudEVtaXR0ZXIsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcywgT25EZXN0cm95LCBFbGVtZW50UmVmLCBIb3N0QmluZGluZyB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFNsaWNrU2xlZXBTZXJ2aWNlIH0gZnJvbSBcIi4uL3V0aWxzL3NsaWNrLXNsZWVwLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgU2xpY2tVdGlsc1NlcnZpY2UgfSBmcm9tIFwiLi4vdXRpbHMvc2xpY2stdXRpbHMuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBJU2xpY2tGaWxlTW9kZWwgfSBmcm9tIFwiLi4vc2xpY2stZmlsZS1tb2RlbC9zbGljay1maWxlLm1vZGVsXCI7XHJcbmltcG9ydCB7IFNsaWNrQ29uZmlybURpYWxvZ0NvbXBvbmVudCwgU2xpY2tDb25maXJtRGlhbG9nUmVzdWx0cyB9IGZyb20gXCIuLi9zbGljay1jb25maXJtLWRpYWxvZy9zbGljay1jb25maXJtLWRpYWxvZy5tb2R1bGVcIjtcclxuaW1wb3J0IG1vbWVudCBmcm9tIFwibW9tZW50XCI7XHJcbmltcG9ydCBTd2FsIGZyb20gXCJzd2VldGFsZXJ0MlwiXHJcblxyXG5jb25zdCBleGNlbEV4dGVuc2lvbnM6IHN0cmluZ1tdID0gWyd4bHMnLCAneGx0JywgJ3hsbScsICd4bHN4JywgJ3hsc20nLCAneGx0eCcsICd4bHRtJywgJ3hsc2InLCAneGxhJywgJ3hsYW0nLCAneGxsJywgJ3hsdyddO1xyXG5jb25zdCB3b3JkRXh0ZW5zaW9uczogc3RyaW5nW10gPSBbJ2RvYycsICdkb3QnLCAnd2JrJywgJ2RvY3gnLCAnZG9jbScsICdkb3R4JywgJ2RvdG0nLCAnZG9jYiddO1xyXG5jb25zdCBwZGZFeHRlbnNpb25zOiBzdHJpbmdbXSA9IFsncGRmJ107XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ3NsaWNrLWZpbGUtbGlzdC1pdGVtJyxcclxuXHR0ZW1wbGF0ZVVybDogJ3NsaWNrLWZpbGUtbGlzdC1pdGVtLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU2xpY2tGaWxlTGlzdEl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XHJcblx0QElucHV0KFwiZmlsZVwiKSBmaWxlOiBJU2xpY2tGaWxlTW9kZWw7XHRcclxuXHRASW5wdXQoXCJhbGxvd0RlbGV0ZVwiKSBhbGxvd0RlbGV0ZTogYm9vbGVhbiA9IHRydWU7XHJcblx0QElucHV0KFwic2hvd1Bob3RvR2FsbGVyeVwiKSBzaG93UGhvdG9HYWxsZXJ5OiBib29sZWFuID0gZmFsc2U7XHJcblx0QElucHV0KFwic2hvd0NoZWNrYm94XCIpIHNob3dDaGVja2JveDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdEBJbnB1dChcInRodW1ibmFpbFNpemVcIikgdGh1bWJuYWlsU2l6ZTogbnVtYmVyO1xyXG5cdEBJbnB1dChcImNvbmZpcm1EZWxldGVcIikgY29uZmlybURlbGV0ZTogYm9vbGVhbiA9IHRydWU7XHJcblx0QE91dHB1dChcImZpbGVDaGFuZ2VcIikgZmlsZUNoYW5nZUVtaXR0ZXI6IEV2ZW50RW1pdHRlcjxJU2xpY2tGaWxlTW9kZWw+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cdEBPdXRwdXQoXCJmaWxlRGVsZXRlXCIpIGZpbGVEZWxldGVFbWl0dGVyOiBFdmVudEVtaXR0ZXI8SVNsaWNrRmlsZU1vZGVsPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHRAT3V0cHV0KFwiZmlsZUNsaWNrZWRcIikgZmlsZUNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxJU2xpY2tGaWxlTW9kZWw+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cdEBPdXRwdXQoXCJjaGVja0NoYW5nZWRcIikgY2hlY2tDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG5cdEBWaWV3Q2hpbGQoXCJ0aXRsZURpdlJlZlwiKSB0aXRsZURpdlJlZjogRWxlbWVudFJlZjtcclxuXHRAVmlld0NoaWxkKFwiZWRpdFRpdGxlRGl2UmVmXCIpIGVkaXRUaXRsZURpdlJlZjogRWxlbWVudFJlZjtcclxuXHRAVmlld0NoaWxkKFwiZWRpdFRpdGxlSW5wdXRSZWZcIikgZWRpdFRpdGxlSW5wdXRSZWY6IEVsZW1lbnRSZWY7XHJcblx0Ly8gQFZpZXdDaGlsZChcImRlbGV0ZUNvbmZpcm1SZWZcIikgZGVsZXRlQ29uZmlybVJlZjogU2xpY2tDb25maXJtRGlhbG9nQ29tcG9uZW50O1xyXG5cclxuXHR1dWlkOiBzdHJpbmc7XHJcblx0aXNFZGl0aW5nOiBib29sZWFuID0gZmFsc2U7XHJcblx0dGVtcFRpdGxlOiBzdHJpbmcgPSAnJztcclxuXHRmaWxlRGF0ZUZvcm1hdHRlZDogc3RyaW5nO1xyXG5cdGZpbGVUaW1lRm9ybWF0dGVkOiBzdHJpbmc7XHJcblx0Zm5Eb2N1bWVudENsaWNrID0gKGUpID0+IHRoaXMuZG9jdW1lbnRDbGljayhlKTtcclxuXHJcblx0aXRlbVNpemU6IG51bWJlciA9IDEyMDtcclxuXHRpdGVtSW1nU2l6ZTogbnVtYmVyID0gOTA7XHJcblxyXG5cdGNvbnN0cnVjdG9yKCkge1xyXG5cdFx0dGhpcy51dWlkID0gU2xpY2tVdGlsc1NlcnZpY2UubmV3R3VpZCgpO1xyXG5cdH1cclxuXHJcblx0bmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG5cdFx0aWYgKGNoYW5nZXMudGh1bWJuYWlsU2l6ZSkge1xyXG5cdFx0XHR0aGlzLml0ZW1JbWdTaXplID0gcGFyc2VJbnQodGhpcy50aHVtYm5haWxTaXplLnRvU3RyaW5nKCkpO1xyXG5cdFx0XHR0aGlzLml0ZW1TaXplID0gdGhpcy5pdGVtSW1nU2l6ZSArIDEwO1xyXG5cdFx0fVxyXG5cclxuXHRcdGlmIChjaGFuZ2VzLmFsbG93RGVsZXRlICYmIGNoYW5nZXMuYWxsb3dEZWxldGUuY3VycmVudFZhbHVlKVxyXG5cdFx0XHR0aGlzLmFsbG93RGVsZXRlID0gKGNoYW5nZXMuYWxsb3dEZWxldGUuY3VycmVudFZhbHVlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKSAhPT0gJ2ZhbHNlJyk7XHRcdFxyXG5cclxuXHRcdGlmIChjaGFuZ2VzLnNob3dQaG90b0dhbGxlcnkgJiYgY2hhbmdlcy5zaG93UGhvdG9HYWxsZXJ5LmN1cnJlbnRWYWx1ZSlcclxuXHRcdFx0dGhpcy5zaG93UGhvdG9HYWxsZXJ5ID0gKGNoYW5nZXMuc2hvd1Bob3RvR2FsbGVyeS5jdXJyZW50VmFsdWUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpICE9PSAnZmFsc2UnKTtcdFxyXG5cclxuXHRcdGlmIChjaGFuZ2VzLnNob3dDaGVja2JveCAmJiBjaGFuZ2VzLnNob3dDaGVja2JveC5jdXJyZW50VmFsdWUpXHJcblx0XHRcdHRoaXMuc2hvd0NoZWNrYm94ID0gKGNoYW5nZXMuc2hvd0NoZWNrYm94LmN1cnJlbnRWYWx1ZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkgIT09ICdmYWxzZScpO1xyXG5cclxuXHRcdHRoaXMuY29uZmlybURlbGV0ZSA9ICh0aGlzLmNvbmZpcm1EZWxldGUudG9TdHJpbmcoKSA9PT0gJ3RydWUnKSA/IHRydWUgOiBmYWxzZTtcclxuXHJcblx0XHRpZiAodGhpcy5maWxlKVxyXG5cdFx0XHR0aGlzLmZpbGUudGl0bGUgPSAodGhpcy5maWxlLnRpdGxlID8/ICcnKTtcclxuXHJcblx0XHRpZiAodGhpcy5maWxlICYmIHRoaXMuZmlsZS5uYW1lICYmICF0aGlzLmZpbGUudGh1bWJuYWlsQmFzZTY0SW1hZ2UgJiYgIXRoaXMuZmlsZS51cmwpIHtcclxuXHRcdFx0aWYgKHRoaXMuZmlsZS5pc0NoZWNrZWQgPT09IG51bGwpXHJcblx0XHRcdFx0dGhpcy5maWxlLmlzQ2hlY2tlZCA9IGZhbHNlO1xyXG5cclxuXHRcdFx0bGV0IGZpbGVOYW1lUGFydHMgPSB0aGlzLmZpbGUubmFtZS5zcGxpdCgnLicpO1xyXG5cdFx0XHRpZiAoZmlsZU5hbWVQYXJ0cy5sZW5ndGggPiAxKSB7XHJcblx0XHRcdFx0bGV0IGV4dCA9IGZpbGVOYW1lUGFydHNbZmlsZU5hbWVQYXJ0cy5sZW5ndGggLSAxXS50b0xvd2VyQ2FzZSgpO1xyXG5cclxuXHRcdFx0XHRpZiAoZXhjZWxFeHRlbnNpb25zLmluZGV4T2YoZXh0KSA+PSAwKSB7XHJcblx0XHRcdFx0XHR0aGlzLmZpbGUudGh1bWJuYWlsQmFzZTY0SW1hZ2UgPSBcImRhdGE6aW1hZ2UvanBlZztiYXNlNjQsLzlqLzRBQVFTa1pKUmdBQkFRQUFBUUFCQUFELzJ3Q0VBQWtHQnhBUUVoSU5EUkFRRFEwUkVBNFBEUTBORUJzUERRME9GUk1XRnhVUkZSVVlLQ2dnR0JzbUhCWVRMVDB0SlNrck15NDNJeDh6UVQ4dU55a3RMaXNCQ2dvS0RnME9HaEFRR3kwbEh4OHZLeXN0TnkwM01pc3RNQ3N0TWkwdE1EVXRMUzB0TFMwdExTc3RMU3N1S3kwdExTMHRMU3N0TFM4dEt5MHRMUzByTGYvQUFCRUlBTmdBNlFNQkVRQUNFUUVERVFIL3hBQWNBQUVBQVFVQkFRQUFBQUFBQUFBQUFBQUFBUUlEQkFVSEJnai94QUJGRUFBQ0FRSUJCQTBLQkFVREJRQUFBQUFBQVFJREJCRVNJVEZSQlFZSEV4UXlRV0Z4Y29HaHNSVWlVbFJpa1pPaTBlRWpRclBCTkRWRGdwSWxNMU1YWTdMUzhQL0VBQm9CQVFBREFRRUJBQUFBQUFBQUFBQUFBQUFCQWdNRUJRYi94QUF2RVFFQUFnRURBZ1VDQlFRREFBQUFBQUFBQVFJUkF4SXhCQk1oTWtGUllWS1JCVE54c2RFaU5JSHdGVVBoLzlvQURBTUJBQUlSQXhFQVB3RHVJQUFBQUFBTEY5ZFJvMDUxNm5FcHdsT1dHbkJMSEJjNFUxTHhTczJuaUhIOW1kbnJpNms1Vlp5akJ2emFNSk5Vb1I1Rmh5dm5mMk1abkw1blc2blUxcHphZkQyOUdySVlBQUFBQUFBQUFBQnNyTGlMcGZpR2R1VjhLZ0FBQUFBQUFBRGE3RGJPMWJhU2VWS2RIRlpkS1R4V1R5dU9PaGt4YkRzNmJyZFRSdHptdnJIOE9oZVVxUDhBeVI5NXJtSDB2ZjAvZGxrdFFBQUFBQU5IdDIvZ2JqcXcvd0RPSlczRGs2NzhpemtCaythQUFBQUFBQUFBQUFCc3JMaUxwZmlHZHVWOEtnQUFBQUFBQUFBQmN5M3JmdkMyNlhYamQ5b0FBQUFBQm85dS93REEzSFZoK3BFcmJoeWRkL2IyY2dNbnpRQUFBQUFBQUFBQUFObFpjUmRMOFF6dHl2aFVBQUFBQUFBQUFBS2dsMkEzZmFnQUFBQUFhUGJ2L0EzSFZoK3BFcmJoeWRkL2IyY2dNbnpRQUFBQUFBQUFBQUFObFpjUmRMOFF6dHl2aFVBQUFBQUFBQUFBS2dsMkEzZmFnQUFBQUFhUGJ2OEF3TngxWWZxUksyNGNuWGYyOW5JREo4MEFBQUFBQUFBQUFBRFpXWEVYUy9FTTdjcjRWQUFBQUFBQUFBQUNvSmRnTjMyb0FBQUFBR2gyOHZDeHVIN01QMUlrVzRjdlcva1djYzM1NmtaWWZPYlRmbnFRd2JUZm5xUXdiVGZucVF3YlRmbnFRd2JUZm5xUXdiVGZucVF3YlRmbnFRd2JVeHJhL2VNSW1xNlFxQWJLeTRpNlg0aG5ibGZDb0FBQUFBQUFBQUFWQkxMMjY3ZGE4NnM3YXpxU29VS2NwVTVWS2J5YXRhYWVFbXBhWXhUeHd3MDZlWEJXdGIyZTUxWFdYbTAxcE9JaDVGN0tYSHJGeDhhZjFLNWx4ZHkvMVQ5NVI1VHVQV0sveHAvVVprN2wvcW43eWVVN2oxaXY4YWYxR1pPNWY2cCs4bzhxWEhyRmY0MC9xTXlkeS8xVDk1UEtseDZ4WCtOUDZqTW5jdjhBVlAzbFJWMlFyeVRqT3RXbkY2WXpxeWxGOUtiR1NiM253bVorN0h4SVVSaUF4Q1RLQ0VZc0pNb0NNV0JZcnR4V1hHVWxobmF4YldIUVRFdGFURS8weXYybXlNSnJ6bmhKYWN6ejg1S21wcFRXZkJuMDd5bmd2TzdtUXdtazVWY01wK2wzTWhHeVd5c2J1R1F2TzVYeVBXU3l0V2NzamhVUFM3bUViWk9GUTlMdVlOc25Db2VsM01HMlRoVVBTN21EYkp3cUhwZHpCdGs0VkQwdTVnMnljS2g2WGN3YlpPRlE5THVZTnNuQ29lbDNNRzJUaFVQUzdtRGJLcmhVUFM3bURiTHpFbmkyM25iYmJldGtPeFNFQUVBQUlBQVFFZ0VBQUFFRUFCYnVPTExxeThDVnErYUdxMlAwdm9KbDFhM0VOcFQwRlhMUEtvSWJTdzRpNlg0a3NMOHNnbFVBQUFBQUFBQUFBS2lVdFN5clpBQUFCQUFKUUFBZ0FCQUFnQUlBb3I4V1hWbDRFclY4ME5Wc2ZwZlIrNU11clc0aHRLZWdxNVo1VkJEYVdIRVhTL0VsaGZsa0VxZ0FBQUFBQUFBQUJVU2xxR1ZiQUVBQVBkYkFiUXFWNVFoYzA3eVNVbGhPRzhwdW5VV2FVSDUzSS9mbWZLWGltWWVqbzlGWFZwRm9zMlAvQUVyajY1TDRDLzhBWW50dGYrTmo2bk85azdLZHZWcVc5VllWS1UzQ1dwNnBMbWF3ZmFaejRQTXZTYVdtcytqR0NwMzlHa0RvdGx1WFNsVGhPcmN1bFZsR01wMGxSVWxUazFpNDQ1V2ZBdjIzcDEvRHN4RXpieFdkbWR6eWphMGFseld2WlpGT09PQ29MS25MUkdDODdTM2doTk1RcnFkRFhUck5wdHg4T2ZHYnpnQUJicjhXWFZsNEV3dFh6UTFleCtsOUg3a3k2dGJpRzBwNkNybG5sVUVOcFljUmRMOFNXRitXUVNxQUFBQUFBQUFBQUZSS1dvWlZzZ0NBa0E5ZnViYllPQzNIQjZqd3Q3aHFMeDBVNitpRXViSFEvd0MzVVdwT0pkdlE2L2J2dG5pZjNkak5udHViYnJXd21hR3lGTmFNbWpjWWFtL3c1dnRlSGJIVVozajFlWCtJYVBHcEg2UzVvWlBMZXgzTTlnZUUzSENhaXhvV3pVcytpZGY4a2V6VC9qckwwak11M29kSGZmZFBFZnU3R2JQYmNnM1R0c1hDSzNBNlR4b1c4bmx0YUtseG9mWkhPdW5LNWpHOXN6aDQzWGErKzJ5T0kvZi9BTWVKS09CQURFSlc2NzgyWFZsNEVwcjVvYXpZL1Mrajl5WmRXdHhEYVU5QlZ5enlxQ0cwc09JdWwrSkxDL0xJSlZBQUFBQUFBQUFBQ29sTFRzcTNRQkFBQ0dCMnpjKzJ3OE10OG1vOGJtaGswNjJPbWF3OHlyMnBQdFROcVd6RDNlazErN1R4NWpsNkRaQ3poWHBUb1ZWbFU2a0pRbXVYQnJERmFtVE1aZE42eGFzMW4xY0F2OWk2dEc0bFpPTG5YalZWS01WL1VsSnJJYTZ5Y1gybUV4NDRmT1gwN1Z2czllSGN0ck93MGJLM3AyMGNISkxLcXpYOVNxK05MNmN5UnZXTVErZzBOS05La1ZocnR2MjJIZ1Z1OTdlRnpXeXFkRFhITjUxWCsxTmRyaVJhMklaZFhyOXFuaHpQRGlCZzhGR0lFWWhLQUxkYml5NnN2QUxWNWhydGo5TDZQM0xTNmRiaUcwcDZDcmxubFVFTnBZY1JkTDhTV0YrV1FTcUFBQUFBQUFBQUFGUktXbVpWdWdBQkFBZ2JiYXRzM0t5dUlYQ3hkUGlWNEw4OUY4WmRLek5jNlJNVGlXM1Q2MDZWNHQ5LzBkN29Wb3pqR3BCcWNKeGpPRW81MUtMV0thN0RvZlF4TVRHWWFtNTJ2VXAzdExaRi93QzVTcFRoazRacFQvSlBzVHFMdGpxSzdmSExLMmhXZFdOVDFqL2Y1Yld2V2pUaktwVWtvUWhHVTV5bG1VWXBZdHZzTE5abUlqTXVDYmF0bkpYMXhPNGVLcDhTaEIva29yUjJ2TzN6dm1PZTA1bDgvd0JScXpxM20zcDZOUGlReFFBQWpFSlc2ejgyWFZsNEV3dFhtR3YyUDB2by9jbVhScmNRMmxQUVZjczhxZ2h0TERpTHBmaVN3dnl5Q1ZRQUFBQUFBQUFBQXFKUzByS3QwQUNBQWdBQjJmY3doWFZqSGY4QS9iYzVPMVQ0Nm9QWHpaV1ZoelljbUJ0VE9IdWREdTdVYnY4QUg2UFhGM1k4anVvMDY3c1pidy93MU9NcnBMak9ndFhNcFpMZk56WWxMNXc0K3VpMDZVN2Y4L280cmlZdkVBSXhDVVlnUUJicnZ6WmRXWGdUQzlJL3FocTdDdG5lYmsxbDVoMmF1bG1PV3loYzV0SGVWdzU1MGZsVndubTd4aEhZK1d3czcvQ0tXVGpwL056OUJIRG4xTkxGdVY3eWo3SHpmWVpaOXY1UEtQc2ZOOWhrN2Z5ZVVmWStiN0RKMi9rOG8reDgzMkdUdC9KNVI5ajV2c01uYitUeWo3SHpmWVpPMzhubEgyUG0rd3lkdjVQS1BzZk45aGs3ZnllVWZZK2I3REoyL2s4byt4ODMyR1R0L0tyeWo3SHpmWVpUMi9saHNoZEFFQUFBRysybDdYM2YzQ3B5VDRQVHduY3lXYnpPU0NldVRXSFJpK1F0V015Nk9tME83ZkU4Unk3ckNDaWxHS1VZcEpSaWxna2xvU1J1K2dlZXBiYktVdGtKYkdMRE5UelZOZHdzWlNwZjQ0ZHFhSzd2SERuanFLenJkdjhBM0wwTlNDa25HU1VvdE5TaTFpcEo2VTBXZEhMZ3UzUFlCMkZ6S2tzZDRualV0cFBQalRiNGpldUx6ZTU4cGhhTVM4RHFkSHRYeDZlalE0bFdDQUdJU2pFQzNYNHN1ckx3Smhhbm1ocDdMUytnMGw2T3B3ejRhQ3JHVlFReTdmaXJ0S3p5NWRYekxwRE1BQUFBQUFBQUFBS2dKWVFnQUFBcW8wcFRsR25UaTV6bktNSVFqcGxKdkJKZG9URVRNNGgzamFqc0RHeHQ0MFZnNnN2UHVKcjg5VnJQaHpMUXVqbk42eGlIMEhUNk1hVk52cjZxdHQyemFzYmFwY1puVTRsQ0wvTldseGV4WjIrWk1XbkVKNmpWN1ZKdDl2MWNGcDNWU05SVjR6ZS9LYXFxbzg4dDl5c3JLZXQ0bUR3SXRNVzNldkw2QTJ1Ykx4dkxlbmRRd1dYSENwQmYwNnF6VGgyUEhwV0RPaUp6RDZIUjFJMUtSYUdGdDMydksvdHBVNHBjSXA0MUxhVHpmaUpjUnZWSlp2YytRaTBaaG4xT2ozYVk5ZlJ3V2NXbTR5VGpKTnFVWkxDVVdzelRYSXpCNFdGT0lFWWdRRXJkZCtiTHF5OENZV3A1b2FteTB2b05KZWhxY00rR2dxeGxVRU11MzRxN1NzOHVYVjh5NlF6QUFBQUFBQUFBQUNvQXdnQWdDTVFsMHJjcDJ0NC82bFdqbTg2RnBGKzZkWHhTL3U1alNsZlY2ZlFhSC9aUCtQNWROTlhxT0o3cFd6L0NycDBxYnh0N1p5cHd3MFRxNC9pVDk2d1hSanltTjV6THhPczF1NWZFY1IrN3lPSlJ5UGNibFd6KzhYRHM2andvM0xXUmpvaGNKWnY4bG02VkV2U2NUaDM5RHJiYmJKNG45M1lqWjY3a202eHRjM3FvdGthTWZ3cXJVYmhKWm9WdVNmUkxEMzlZeXZHUEY1WFhhR0o3a2V2TG5wbTRFWWdSaUJicjhXWFZsNEV3dFR6UTFWbHBmUWFTOURVNFo4TkJWaktvSVpkdnhWMmxaNWN1cjVsMGhtQUFBQUFBQUFBQUZRQmhDbkVKUmlCVlNjY3FPV25LR1VzdU1Ya3lsSEhPaytSNEJNWXo0dWtXKzZsU3B4alRwMkxoVGhHTUlRalhTVVlwWUpMemRScDNQaDZjZmlGWWpFVldkazkxT1ZTbFVwMExaMGFzNE9NS3pyWlc5dDVzcExCWjE5Qk4wWC9FTTFtSzF4TG5CbTgweENTTTJtcFJiakpOT01vdkNVV3M2YWZJd09sMjI2emhDS3Eyam5VVVlxcE9OWlJqT2VHZVNXVG1UZklhZHg2Y2ZpSGg0MVd0a3QwNmpjVXAyOWF3bEtsVWk0VFcvckhCOHE4M00xcEUzeWkzWFZ0RTFtdkxtcmYvQU05Sm04NUFBSlc2NzgyWFZsNEV3dFR6UTFkbHBmUWFTNzlUaG53MEZXTXFnaGwyL0ZYYVZubHk2dm1YU0dZQUFBQUFBQUFBQVZBVXRnUUJHSVNqRUNBQVNqRUNBSUNVWWdSaUFDVVlnUmlCYnJjV1hWbDRFd3ZUelExdGxwZlFhUzd0VGhudzBGV01xZ2hsMi9GWGFWbmx5NnZtWFNHWUFBQUFBQUFBQUFWQVV5V0RhZVpwdE5hbUVxY1FJQWdKUmlCR0lFQkppQkdJRUFSaUVveEFnQmlFcmRaK2JMcXk4Q1lXcDVvYTZ5MHZvTkpkMnB3ejRhQ3JHVlFReTdmaXJ0S3p5NWRYekxwRE1BQUFBQUFBQUFBS2dQYzdldG8xZUZhZDFaVTVWNkZXVXFrcVZOWlZXak9UeGtsSFRLTGVMV0dqUnlZdTlxZXowZXA2UzBXbTFJekV2R1BZbTU5V3VQZ1QraFhFdVB0WCttZnNqeVZjK3JYSHdKL1FZazdWL3BuN0k4bFhQcTF4OENmMEdKTzFmNloreDVLdWZWcmo0RS9vTVNudFg5cCt5UEpWejZ0Y2ZBbjlCaVR0WCttZnN0MTlqNjhJdWRTaFdwd1hHbk9sS0VJOG1kdFlJWWtuVHZIcExDMzJQcFI5NkdFYkxleHZzZlNqNzBNRzJmWkcreDlLUHZRd25iUHNqZlkrbEgzb0cyZlkzMlBwTDNqQnRuMlJ2c2ZTWHZHRTdaOWtPckgwbys5REJ0dDdNRzl2RTFrUWVPUEdrdEdHcEZxMWRPam96RTdyS0xMUytndExXL0RQaG9Lc1pWQkN1TldTeko1dWdZVm1sWm5NcDMrV3Z1UXhDTzFUMk4vbHI3a01RZHFuc2IvTFgzSVlnN1ZQWTMrV3Z1UXhCMnFleHY4QUxYM0lZZzdWUFkzK1d2dVF4QjJxZXh2OHRmY2hpRHRVOWpmNWErNURFSGFwN0cveTE5eUdJTzFUMk4vbHI3a01RZHF2c3EzNld2dVF4QjJxZXo2aE5udUFBQUFBQWVUM1ZZNDdGWGkvN2RQOVdCRXFhazRyTDVxNE05YUs1Y20rRGd6MW9aTjhIQm5yUXliNE9EUFdoazN3Y0dldERKdmc0TTlhR1RmQndaNjBNbStGY0tHSEtNb216S3RvNFprVmxuWm1KRU1raEFBQUFBQUFBQUFBQUFGUVMrcFRaN0FBQUFBQUhsdDA5ZjZYZDlTbityQWllR2V0NUpmT3VSekdiejhtUnpBeVpITURKa2N3TW1SekF5WkhNREprY3dNaXA4d01zaWxUdzZRcGFjcmhDb0FBQUFBQUFBQUFBQUFDb0pmVXBzOWdBQUFBQUR6TzZWL0xicnFVL3dCV0JGdUdXdjhBbHkrZmpKNVlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFWQkw2bE5uc0FBQUFBQWVaM1N2NWJkZFNuK3JBaTNETFgvTGw4L0dUeXdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFxQ1gxS2JQWUFBQUFBQTh6dWsvd0F0dXVwRDlTQkZ1R1d2K1hMNStNbmxnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCZTNtWG95OXdXeEw2aE5ucmdBQUFBQVl1eWRqQzRvMUxhcmp2ZFduT25QRFNsSllZcm5DTFZpMFlsOCtiWXRxMTNZemxDdFNsS21tOGk1cHhibzFJOGp4WEZmTTgvVHBNc1REeTc2VnFUNHRLUXpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUFNiVTlwbHpmMUlwMDZsRzF4VHJYRTR1RWNqbFZQSGpTZk5tWEx6ekVaYmFlamE4L0R1UGtHMC93Q0NuN2pURDBkc1AvL1pcIjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0ZWxzZSBpZiAod29yZEV4dGVuc2lvbnMuaW5kZXhPZihleHQpID49IDApIHtcclxuXHRcdFx0XHRcdHRoaXMuZmlsZS50aHVtYm5haWxCYXNlNjRJbWFnZSA9IFwiZGF0YTppbWFnZS9qcGVnO2Jhc2U2NCwvOWovNEFBUVNrWkpSZ0FCQVFBQUFRQUJBQUQvMndDRUFBa0dCeEVIQmhJUER4QVFFdzhSRlJNTkVCSVNFZzhURVJBUkZ4UVdJaFlTRlJVWUhpZ2dHaHN4SGhjVExUMGhKU2tyTWk0dUhTc3pPRE1zTnlndE5Tc0JDZ29LRFEwT0d4QVFHaTBsSHlZMk1pOHZMUzAxTFNzdExUQTFOeThyTFMwdExTMDNMUzB0TFMwck5pc3RMUzB0TFMwdExTMHJMUzB0TFMwdExTMHRMZi9BQUJFSUFOY0E2d01CRVFBQ0VRRURFUUgveEFBY0FBRUFBZ01CQVFFQUFBQUFBQUFBQUFBQUJRY0RCZ2dFQVFML3hBQkFFQUFDQVFJQ0JBa0hDd1VCQVFBQUFBQUFBUUlERVFRVEJRWVNJUWNVSWxGeWdaR1NzUlV4TTFOeG90RVdORFpCVkdGemxNSEMwaVF5WW9LaEkwUC94QUFhQVFFQUFnTUJBQUFBQUFBQUFBQUFBQUFBQXdZQ0JBVUIvOFFBTVJFQkFBRURBZ1FFQlFRQ0F3RUFBQUFBQUFFQ0F4RVNVUVFVTTNFRk1sS2hFeUZoa2ZBVkl6RkJKSUhSNGZIQi85b0FEQU1CQUFJUkF4RUFQd0M4UUFBQUFBQVZockhVdHAydjAvMFIyckVmdDB1SnhFL3UxSTdOUkxoRGt6VU1HVE5Rd1pNMURCa3pVTUdUTlF3Wk0xREJrelVNR1ROUXdaTTFEQmt6VU1HVE5Rd1pNMURCa3pVTUdUTlF3Wk0xREJrelVNR1ROUXdaTTFEQmt6VU1HVE5Rd1pNMURCa3pVTUdWd0hBV0VBQUFBQUNwTmFhbHRZc1IwLzBSM2VIajlxbHdPSm45MnBGWnBQaEJrelJneVpvd1pNMFlNbWFNR1ROR0RKbWpCa3pSZ3lab3daTTBZTW1hTUdUTkdESm1qQmt6Umd5Wm93Wk0wWU1tYU1HVE5HREptakJrelJneVpvd1pNMFlNbWFNR1Y0RmJXWUFBQUFBQ29OYXZwSGlPbitpTzl3M1NwVi9pdXRVaWlkQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDOUN0TE9BQUFBQUJVR3RYMGp4SFQvUkhlNGJwVXEveFhXcVJST2dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQmVoV2xuQUFBQUFBcURXcjZSNGpwL29qdmNOMHFWZjRyclZJb25RQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUF1RDVSNEw3YmhQekZIK1JYL2dYZlRQMmxZZVlzK3FQdkI4bzhGOXR3bjVpai9JZkF1K21mdEp6Rm4xUjk0UGxIZ3Z0dUUvTVVmNUQ0RjMwejlwT1lzK3FQdkI4bzhGOXR3bjVpai9JZkF1K21mdEp6Rm4xUjk0UGxIZ3Z0dUUvTVVmNUQ0RjMwejlwT1lzK3FQdkI4bzhGOXR3bjVpai9BQ0h3THZwbjdTY3haOVVmZUZXNnk0NmxXMC9YbENyU2xGenVwUm5CcHF5M3BwbmE0ZW1ZdFV4TU9KeEZVVGRxbUpSbkdhZnJJZDZKTmhCazR6VDlaRHZSR0RKeG1uNnlIZWlNR1RqTlAxa085RVlNbkdhZnJJZDZJd1pPTTAvV1E3MFJneWNacCtzaDNvakJsOVdJaEoyVTROdmNsdFIzZ3l5QjZBQUFBQUFBQUFBQUFBQUFBTlZNMFFBQUFBQUFBQUFBQUFBQUIrWnljSU5wMmFUYWE4NmE4ekk3c3pGRlV4dEtTekVUY3BpZDRiUGc1T2VFZzN2YmpGdDg3c1kyNXpUQ1M1R0s1aUdVellBQUFBQUFBQUFBQUFBQUFHcW1hSUFBQUFBQUFBQUFBQUFBQS9GYjBNdlkvQWp2ZE9ydEtXeDFLZThOaHdWVCtqaDBZK0I1YjhrTXJ2bm51elpobGhnWmd3R1lNQm1EQVpnd0dZTUJtREFaZ3dHWU1CbURBWmd3R1lNQm1EQVpnd05iTTBZQUFBQUFBQUFBQUFBQUFCanIraGw3SDRFZDdwMWRwUzJPcFQzaE5ZUi8wc09qSHdGdnlSMlpYZlBQZG11Wm95NEM0QzRDNEM0QzRDNEM0QzRDNEM0QzRDNEVHZXNBQ1QwYnE5aTlLNGQxTVBRblVnbTRPVWRteWtrbTA5L00xMmtWZCszUk9LcHdtdDhQY3VSbW1Ndlg4ak5JL1k2dnVmRXc1cXo2a25KWC9TaHNYaHA0TEV5cFZZdUZTRDJaUmZuaStZbXBxaXFNeC9EWHJvcW9uVFYvTEVaTVg3b1VaWWl2R25CT1U1eVVJUlhubEtUc2t1dG84bVlpTXk5cHBtcWNRbS9rWnBIN0hWOXo0a0hOV2ZVMmVTditsNDlKNkJ4V2lhS25pS0U2Y0pQWWk1V3M1V2J0dWZNbVowWHJkYzRwbktPNXc5eTNHYW9ScEtoQUpYUjJyZU0wbmhzMmhoNmxTbTI0cVVkbXphOC9uWkRYZnQwVGlxZm1ubzRhN1hHcW1QazlQeU0wajlqcSs1OFRIbXJQcVo4bGY5S0RxUWRPbzR5Vm5GdUxYTTA5Nko0bk1aYTB4TVRpV0d2NkdYc2ZnWVh1blYybEpZNmxQZUUxaFBtc09qSHdGcnlSMmUzZlBQZGxNMkFBQUFBQUFBQUFBQUFBQUJDSHJBQXNyZ1kwanM0akVZVnYrNVJ4TUY5OFhzejhhZlljenhHajVSWC9BS2Rid3k1NXFQOEFhMURsT3NwWGhhd0hGZGFjMUxrMTZjS2wvcTI0OGxyc2pEdE8zd0ZlcTFqWncvRWFNWGRXN1N6ZGM5dHZCZm8vajJ0dE9UWEpvUmxpSHpYVzZQWHRTVDZqVDQ2dlRhbU4vazN2RDZOVjNPeThUaHU4MW5oSDBmNVExUXI3dVZTU3hNZnUyTjhuM052dE5uZzY5TjZQcjhtcnhsdlhabjZmTlE1MzFkQU9oZFR0SCtUTldNTlNhdEpVMU9hNXB6NVVsMnlaWGVJcjEzYXBXYmg2TkZxbWxsMW4wbDVJMWZyNGk5cFFwdlkvRWU2SHZPSjVabzEzSXBlM3E5RnVhbk9oWTFZZml2NkdYc2ZnUjN1blYybExZNmxQZUUxaFBtc09qSHdGcnlSMmUzZlBQZGxNMkFBQUFBQUFBQUFBQUFBQUJDSHJBQW5kUnRJK1ROYThQVWI1TXBxalBtMmFuSnUvdVRhZlVhL0ZVYTdVdzJlRHVhTDBUL3AwQ1Y5WTFmY01tQXp0RFVjUWx2bzFIQi9kQ290NzcwWWRwMFBEcThWelR1NTNpVkdiY1ZiS2lPdzRpMnVCclIrVm91dmlXdDlXYXBSNkZOZWRkYzMzVGtlSTE1cmluWjJ2RGFNVVRWdTMrcGlJMDYwSU44cWUxc3JuMlZkLzhPZkVUTVpkSE1mdy9WV21xMUp3a3J4a25HUzUwMXZRaWNmTjdNWmMyYVJ3ajBmcENyUWwvZFNuT2szejdNbXIvd0RDeTBWYXFZcTNWYTVSb3Jtblo2Tlg4QjVVMDVRb1d1cWxTRVpkQzk1KzZwR042dlJibXBuWW8xM0thWFJ4VzFtVjN3eWFSeWRGMGNNbnZxemRXWFFwcmNuL0FMU1Qvd0JUbytIVVpybXJaemZFcm1LSXAzVktkZHhXT3Y2R1hzZmdSM3VuVjJsTFk2bFBlRTFoUG1zT2pId0ZyeVIyZTNmUFBkbE0yQUFBQUFBQUFBQUFBQUFBQkNIckFBWHQ1dlA0QWljT2p0WDlJZVZkQ1VNUnV2VXB4bkszMVR0eWwyM0szZG8wVnpUc3RGcXZYUkZXN3phNVlEeWxxdmlhVnJ5ZE56Z3VlY09WRmRzVVpjUFhvdTB5eDRpalhhcXBjODMzRmlWbDBOcWZvL3lYcXpocUxWcEttcHpYTk9mS211MlRLN3hGZXU1VlVzM0QwYUxkTkxXTmROT2NSMTgwZEMrNm5lVlRmdXRYZXcyL1lrMzFtMXc5clZZcm44K1h6YTNFWHROK2lQejUvSllCejIrcEhoVndIRTliSlRTNU5lRUt5NXRwTFprdmRUNnp1Y0RYcXRZMmNMeENqVGR6dTlIQkZnT002elNyTmJxRk9VaythYytTdmRkUXg4UXJ4YjA3c3ZEYU0zSnEyWE1jVjIxRjhKdWt2S0d0dFJKM2hRVWNOSDJ4M3o2OXFVbDFIZDRLalRhajYvTndPUHVhcnVOdmsxVTIya3gxL1F5OWo4Q085MDZ1MHBiSFVwN3dtc0o4MWgwWStBdGVTT3oyNzU1N3NwbXdBQUFBQUFBQUFBQUFBQUFJUTlZQUFDNGVCN1NQR05BVk1PM3ZvVkcwdWFuVTNyM2xVT040aFJpNUZXN3VlSFhOVnJUczMxNzBhRG9PZjhQb1BhMTJXQnR5VmlYU2FmMTBZemJiN2liTEJONzlqNG4wOS84QTFYcWJQK1I4UDYrem9BcjZ3dWZ0ZXNmNVIxc3hNMDNhTThtUDNLbWxHNjY0dDlaWU9GbzAycVlWM2k3bXE5TTdMeDFmeC9sVFFsQ3Y5ZFNuQ2N2dW5ibEx0dWNPN1Jvcm1uWjNyVmV1aUt0Mmw4TXVBemRGME1RbHZwVkhTbDBhaXZkOWNGMm03NGRYaXVhZDJqNGxSbWlLdG1UZ2N3T1RvU3RYYTMxcW13bnp3cHgzZTlLWjU0alhtdUtkbnZodEdMYzFidDMwbGpJNlAwZlZyei90cFFsVmw3SXhidC93MGFLWnFxaW1QN2I5ZFVVMHpWUDlPYmE5YVdJcnlxVGQ1ems2a256eWs3dDlyWlpZaUlqRUt2VlZOVXpNdndlc1dPdjZHWHNmZ1IzdW5WMmxMWTZsUGVFMWhQbXNPakh3RnZ5UjJlM2ZQUGRsdVpzQzRDNEM0QzRDNEM0QzRDNEM0QzRDNEM0QzRFSWVzQUFCdW5CTnBEaW10R1UzeWNSQ1ZPMzFiY2VWRjlpbXVzMGVQbzFXczdPaDRkYzAzZE82NmppdTQwakRhR3R3clZhOXVTc1BIRXA4MDVmK2EvNUNvYjAzZjhXS2Zyai9BT3RLTFgrVk5YMC82YlZwckhMUm1pSzFkLzhBeXB6cUpjN1NkbDF1eHFXNk5kY1U3dHE1WG9wbXJaemMyNU83YmJlOXQrZHZuTEtxOHptY3JrNElkSWNaMWJsUmIzMEtra2wvaFBsSjk1MU93NHZpRkdMbXJkM1BEcTlWckd5ZDE1d1BsRFZQRTA3WGFwdXJIbjJxZHBKTHUyNnlEaHE5TjJtV3h4Tkd1MVZCcVBnK0k2cFlXRnJOMDFWZlB0Vk9VNzljaHhOV3E3VlA1c2NOVHB0VXg5RVB3czZSNG5xeGxKOHJFVGpUOCsvWWp5cFAyYm9yL1ltNENqVmR6c2c4UXVhYldOMUxIYmNFQXgxL1FTNkw4Q085MDZ1MHBiSFVwN3dsY0xMK2xoMFkrQjdiOGtkbnQzenozWk5zelJtMkEyd0cyQjkyd1BtMkEyd0cyQTJ3RzJCOTJ3UG0yQTJ3RzJCRkJpQUFQVG92R3ZSMmtxVmVONzBwd3EyWDE3TWsydXRYUmhjbzEwelR1a3RWNks0cTJkSjA2aXEwMUtMdkdTVWsrZFB6TXJVeGhhSDRqUWpIRXlxVzVjb3hwdC80eGNtbDJ6a2U1bkdIbUl6bHBmQzdwRGkycmNhS2ZLeEZTTVd2OEljcHZ0VlB0TjN3K2pOelZzMGZFSzlOckc2bWp0T0UzbmdoMGh4YldTVkZ2azRpbTBsejFJY3FQdTVob2VJVVp0eFZzNlBodHpGeWFkMXh6aXB3Y1h2VFRUWE9tY1oyeWxUVktrb3g4MFVvcjJKYmhNNUkrU25PRjNTWEd0WTQwRStUaDZhVFhOVXFXbEwzY3M3UGg5R0xlcmY4L3dDWEU4U3VadVJUczBZMzNPQU1kZjBFdWkvQWp2ZE9ydEtXeDFLZThKSEMvTm9kRmVCbGI4a2RpNzU1N3NwbXdBQUFBQUFBQUFBQUFBQUFJMDhZZ0FBQmVuQjlwbUdMMVNvYmRTQ25TVHc4azVSVDVEdEh6LzQ3QndlTHR6VGRuRWZ6ODFpNFM1RlZtbjdOaTQ3UzliVDc4ZmlhK21yWnM2bzNWQnd0YVVXTzFoalNoSlNoUXBwYm5kWms5OHQvc3krdzdIQVc5TnVabiszRjhSdWFya1V4L1RTRGVjNTdkQjQ5NkwweFJ4Q3Yvd0NWU0U1Vzg3aW55bDF4dXVzanUwYTZKcDNTMmE5RnlLblJLeDFKcjB0UHZ3K0pYZE5XeXphbzNmSjQrakNMYnEwN0pYZkxqNWwxalJWczgxUnU1MTB2am5wUFNsWEVTdmVyT1ZTeitwTjdvOVNzdW9zZHVqUlJGT3lzM3E5ZGMxYnZJWm93REhYOUJMb3Z3STczVHE3U2xzZFNudkNSd3Z6YUhSWGdaVy9KSFl1K2VlN0tac0FBQUFBQUFBQUFBQUFBQUNOUEdJQUFBZkxBTEF5K2dBQUh5d01sZ1pmUUFBREhYOUJMb3Z3STczVHE3U2xzZFNudkNSd3Z6YUhSWGdaVy9KSFl1K2VlN0tac0FBQUFBQUFBQUFBQUFBQUNOUEdJQUFBQUFBQUFBQUFBQUFCanIrZ2wwWDRFZDdwMWRwUzJPcFQzaEk0WDV0RG9yd01yZmtqc1hmUFBkbE0yQUFBQUFBQUFBQUFBQUFBQkduakVBQUFBQUFBQUFBQUFBQUF4MS9RUzZMOENPOTA2dTBwYkhVcDd3a2NMODJoMFY0R1Z2eVIyTHZubnV5bWJBQUFBQUFBQUFBQUFBQUFBYVMwRGlkR1l0MHF0S1Nta20xSGxxelc3Zkc2TlBuckcvdExiL1Q3KzN2RHk4UnErcm4zWmZBYzlZMzlwUDAvaU52ZURpTlgxYys3TDREbnJHL3RKK244UnQ3d2NScStybjNaZkFjOVkzOXBQMC9pTnZlRGlOWDFjKzdMNERuckcvdEorbjhSdDd3Y1JxK3JuM1pmQWM5WTM5cFAwL2lOdmVIanExbFJxT01ycVMzTmJNdHo3RE9PS3RUR1luMmxIUENYWW5FeDd3L0hHb2M3N3N2Z2U4emIvQUNKZWNyZDI5NE9OUTUzM1pmQWN6Yi9JazVXN3Q3d2NhaHp2dXkrQTVtMytSSnl0M2IzZzQxRG5mZGw4QnpOdjhpVGxidTN2QnhxSE8rN0w0RG1iZjVFbkszZHZlRGpVT2Q5Mlh3SE0yL3lKT1Z1N2U4SEdvYzc3c3ZnT1p0L2tTY3JkMjk0Zml0aVl5b3lTYnUwMHVUTG05aGhjdjBUUk1SdHRLUzF3MXltdW1aM2orNFNHSHEydzhlaXZBbnQrU096WHUrZWU3Sm1rakF6UUdhQXpRR2FBelFHYUF6UUdhQXpRR2FBelFHYUF6UU9sQ3JMV0FBQUFBQnovQUs5L1RERi9pZnRSWU9GNk5LdWNaMXFrRGMyR3NYQVhBWEFYQVhBWEFYQVhBWEFYQVhBWEFYQVhBWEFYQVhBWEFYQVhBWEFYQTZlS3V0Z0FBQUFBSFAydmYwd3hmNG43VVdEaGVqU3JuR2RhcEJHdzFnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWRQRlhXd0FBQUFBRG43WHY2WVl2OFQ5cUxCd3ZScFZ6ak90VWdqWWF3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU9uaXJyWUFBQUFBQno5cjM5TU1YK0orMUZnNFhvMHE1eG5XcVFSc05ZQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUhUeFYxc0FBQUFBQTUrMTcrbUdML0FCUDJvc0hDOUdsWE9NNjFTQ05ockFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBNmVLdXRnQUFBQUFIUDJ2ZjB3eGY0bjdVV0RoZWpTcm5HZGFwQkd3MWdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBZi9aXCI7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGVsc2UgaWYgKHBkZkV4dGVuc2lvbnMuaW5kZXhPZihleHQpID49IDApIHtcclxuXHRcdFx0XHRcdHRoaXMuZmlsZS50aHVtYm5haWxCYXNlNjRJbWFnZSA9IFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFNb0FBQUQ1Q0FNQUFBQlJWVnFaQUFBQXcxQk1WRVgxOWZYL0lSYi8vLzhzTEN6L0FBRDErdnI1c0s3L0hBLzdsWlAvVWszNHZyejAvLy81cWFmNysvc2tKQ1QxK1BnYkd4dHJhMnVscGFXZG5aMWtaR1JYVjFlWGw1Y1NFaElBQUFEL0dBbk16TXkrdnI0Z0lDRDhjR3o0eWNqMThQRC9LUi85VjFJTURBei9NaW4zMjlyNXVMYjdscFAzejg3MjV1WC90clQ5WjJQN2pvdjZvWi8rU1VOOGZId1hGeGYrUVRyOGVuZjdoWUwzMXRYK05pNkxpNHV3c0xEWTJOam01dVpNVEV6OVhsbjliR2oyNE4vOGYzczlQVDMvcjZ4MmRuWWZINm43QUFBTmIwbEVRVlI0bk8yZGFWdmlQaGZHUTAyc0VySHFPRXFSVFhaWkZCQlJRWjMvOS85VVQvYW1VQlNrYVp2bjRyN214VWlCNXNmSlNVNjJVK0NzcS9VdzdZL3J1ZVRWUEswTUhsb1JKZHBLWVBXRjdnUVMrVzRLSkxtYzY5T2JWL0p4b0R3MElVd0ZRaGY1SllmN29sVHJNQjFyck1xRjhHd3ZsR1ZHUUpqZ2JGZW5DVkJhZnZwVlM1Y0xPNzlFeVdmSkpGencvbGNvRDJHVHNKWWtCWVYvVGpncjdJNlMxMGxJQzlJZkRNOFMxL0JrTWdyandPWU9MQnlscFpGQS82U0ZNVXBGNUw3ZGs1d0c0Ky9Bd2xGY043RElHVUllU0U4ZXd1MTY4TXY2OWRwT0tFdjFVZGdIS0VVT0xvUUdnV0cyWjZFbzFZQmtpTlBtWU1MUHJxOVljbHV5VUpTbS9BbmdjVFpJaUdGcU03Z3JDMEZwdzR6WmhNb0RHb3ZmMnhKbDVrby95UTRKWlJudnlBS2NyakpLMnFVUFMyZHg0Ullzd1BrVUh5Q3RjTnFsRDJ0WEZ1Q0l0N3R1eGtnSWl6ZmFoUVhJamg1Mk1vZXl3dkx4RTRxTUkyRXJ6VDUrZ3p4MHVqMExHTWozWnFuNUNoUmkrWDR3QnZxOFcvV1gyVVFCNkg1YkZqRGl2UW84eVo2cmNHM05BdW9aYllvRG9ZWEc4dndOaWdxL01vc0NjTUNTKzRiRkJoU0EreHBMMTJxVTdWanNRQUY0cWJGVXJVWUJ1UElqaXkwb1c3Qllnd0x3UkdPSm11dTNCK1ZIRm90UUFQNzhsc1VtbERCTDIyb1VnS2NheTRQVktOK3lXSVlDOEVCaitXYzF5amNzMXFFQWZLS3huRm1OQW5CSFl4bGFqUUx3TUpMRlJwUU5MRmFpaEZrNlZxTUFmTFp1RjB0UndpeHRxMUVBUHRaWVdzWlI2SW92K1JmL0YxTnBMRzdkTkFxdUxpR0UvVFkyTXh1TjFYSmREazdOb3FBS3BKTzRQbXcrbXpHTXp2SmhFb1VPeHZsZUR4ZFdEYkdvT3VZdkRLS2dLaUZaOWtDVkxsMlpXdkVJWW43aStjWlE4TUtIZmVJbENOMzdPYmRwYUowQWorV2E4S2ZCQ2thTVVxTzI4RDZndWJiZVU3dHpvREVVcnd0aGhac0NONG03akUyWlJVN0R3SllwRk5TR3NNMi9FbGQ4MnNTWThSYnZXYUk4R0VNWlF1bnJhR3F3aGdFc1VRWW1VZVIvNlJBV2ZwcENPWlVya01aUVRpQVU3c0ZRL0h0RHpvS0VzN2luU2FEUUNtYXNPVVppMnNJZEdVUHBLQlErQnc4TlZURFVNWTVDZkVXMFdmaWUxbVpvYUljRE9qRmV3WTRoN1BIL1lyWjF6bUtVUElUUG9qRm05N0lYaGZiMmVmYVZMSEF4NkN2bVVYb1FEdGxYSXJFZDIxUUxaaHdGZUJCT1VYQXZZMEZZQWlpNENYbXZpTm1HSUg5aE1VcGZkQ3lZalNpTUJTNEpvTkR1dnVjeHAySGZQN1FZcGMyYk1PSDFNdUtQWFVtNFBXbkM2QjR6RVNNWjI4K1lBQXJBdm4rS1ZSQnVxb2RNQnFVQ1lRM1FNYjdKdGpnUkZCcUZ0WkhIajJFWWE4QVNRU0hPNGkreGRCVmpzK3RKb0FBODlxR0grZUVGYzd1WUUwR2hRNVlxNzFWeTBOalczMFJRYUhNODVadkxmWFBuU1JKQm9lMXdmZWtiN2V1VFFrRm5NTWRuZGd4dStFOEdCZFRVaEs2NVhmSUpvZUNGTUVyRmVoUWtscVZNcnRrbWhTTE9rWm1hKzJiM1NLaUM4UTIxcnNtek1RbWhBR0dVaWZVb1NLeDZHaHQyc1pzazAwV09mT091a2xEZzhpRlhjVDV0cjJCcXVjRG82YjVrZ254ZXZkd1pIeGtiVWlLalNIR01IM1pIdmtISFQyUnN2eFJPajF2UTRGSHJKRkJxcWxQQkF3aU5IYnRNWWtwUGJHK2tXM1hRekZ3VlMyTE9XR1Frb09zcXRGbG1zNjRHbE1oU2tkYW5rSDdmSDVtcFl1WlI1TkVzMkdYR3dBc0lCMFpZektNSXAzZnJXUDF0Wm9PYmNSVGw5REloQWVsbFhMNnBLbVlaUjhGMTRmVEsyZkhVakx1WVJwRTl2VDcvUmVKa09JMmZ4VFNLbXAvUTNNT3JrU29XZis5aUdFVXMyZ1ZPejI5SzJtZllpajNVTTRzaXcvdVZTVWw4RE4wY2lObjFUVnRGanJsV2VuZ2FqTVVkNzV0RmtXUDY5ZFFkZENVczdQcWVweVZ0ODM1aE1iTW9LdnhhN3hQUldBU1dIazgzVjJ0MTg4ZkRZYWR6MGhtZXRiczloSGROR1djVVJiYkVZYWZuSWcyQ0Mxc1kxNTd6dytsaXRwN2k4SFJRM1MwQm5sRVV2cFV0YWlXQ21JS013OXo2YUZPdVJwNGxjdERid1o5TW9xZ04yV3g5V01QQXVKY2ZzS1FzTGp0M2tMdWZETTd5M1ZhTnFkZXFubFY0cGtZSU85dXptRVNSKzdHMTZYdGlqRnAxMktmbDk4blA3dWY4cytvSHdDd2xwSFIxNnYvWU8rYkpEZUZwRmxCazkwaWNuaFdTV0tPV240NEZCWVQzSjlVRmRHZlAwYjg3UW4zQnNxMWRES0tvMmE4WlpoeXQ0U2s5eEVJeHhwL0hMZEpFSWJ3a3ZqOUYwVGNVVTVwYkwvbVpyR0RTS0hsU2Y2cURPczFZVFkzUnFkYXdiSnZva1daWTcwWWVuRkp6VHFtanlJR0tPOEo1bW5xYllvdzZYV29NN1YyNERWMFhWbnBSTUNpWTNrZ1pKZWNLRk1GUmFkY2l1ajMwTWFQSHB5WWY2ekE0TW43YmZFTlRLRWlkSkhNcHgyY1ZiVGhMNkxIa3BSRDJ1NnR2a1BObmc1UlJnZ05MMzNId3R6NlBXWmM0UGdhNmFmRHFVUG9IR1VMeDFQRSt5dkZUL09HUm9CK3lsT1dUcW5JbC9CeHV5MytVRVJRUGQrOVZPYlk2bzRxOElldmZTU3MzemRjdzdUUGwwZUN0VDFZWVFHRWdJdDN0OW91UHlEdWJzY3o4cEVMTytwV0Z6Tkx2YnIwa0V6dUtEa0xhc0IxQ1c0UzduenhMTnVsR2ZRbVMyL3FBYTh3b0hFU2g3RGgzNTlHdWxBZkxQZzl1bXNQdDQveFlVUVFJSEV4L3ZRMkVCRGlnZTN3eVdTNzZrOEh4eHk2SHdXTkVrU0NUbm9vamYvbEZiRnlKOFk2cHgyTkQ4WEJyd1VHd1BBcG5kSlYrWFhHaG9GcEZnSGhxYnNMVVVidE5SWWdGQmRIZGtUNlBDajI1OTh2VWt0REdRc1NCZ3J0TkFySm9zYkJEVGEwbW5WVTBCaFRrVFVqa082N3krRW4yMGlaWDZEZVVZMjhVL0V3NzZEUFJiQWFqNElTclZ3d29KSDUxNGJJbVA0UEdxYlJlN05iN29YaG9TYndrcitxU3pIRm5jby9rSnUySDRnRVNacHdxazZqeGx0dE0zQ1o3b3RDazczQWFESmVRMml4bGN0L1hKdTJGZ2tiVTM5V2ZIcERyanZrVWpMSVhDcDdBMEdNMDhLa2NqS2VTUFh3UEZGUU5UK21xdlFZcFBaRmlEeFE4QzAyQ3lvU0RjSlJHN1FMN29IaFZxSTlWNWZ5STM0eDdqWEZiL1I0RkRhQjJBazJSMUUxc2xOaXVRTDlHSWE0UjlJTXliV0tLSlB0WTVWTlpCU0hwOGJQMFNQWkJvZWRwMlJZdm5CZlBySUwzYWZrSks5QWVqYkhyd2pZWmdlZEgvSUZWYmtyOWlTclBYdjFLRHJwanlLZUtYTmpzcHZ0Y2piMTZlMUxGeE5QWklLd2ZtOHI2dDYzMmk4RStLdUl4Z3BQdHBvYU5hczhnSDROdVBsL3Q0UTNMaVlscTcxR2s5N3NOS1FhVTFLbWlCSFJBeWFJT0tGblVBU1dMT3FCa1VRZVVMT3FBa2tVZFVMS29BMG9XZFVESm9nNG9XZFFCWlZVRjdWRlVCYUlOMTFZdnJYMDJlR2RhS0lXWGE2WEx4NXQ1Q1FSbEtjeERsMTRMSzhVc3pQOWVyK3RxZDVaNFVKekxpM09sY3ZtaTBiaDhkV1JSLzl4cWw1NGFGNDhsUi85czRTcTRydlQwa2g3SytWRlk1OFVYUjZKY2hDK1ZpMy9mdElJV3JsYXVzL2RrQ09Yb3FQSG9SS05Rem5sZ21HeWlsQnRVdDZKb2pYbEJRem0vSmJxUXhNVWJ4U0pSYm5VVkg5TkZLYi9VM29oS1YxOWx6dklXb0p6L2ZTMlY3dWFQNVNmQk1wZGxGU2p2NUxxbTE1M0xFQ3ZLQmYrcFNZUDc5enlvSlFMbGtyWEVUbUgreEMxVGZBdWhuUDlsMTVWMko0a1pSWldBbStWSlE3bVdyY0RiRjJNaFpWOUIrVVhwRTBBUmxhWlJLcXloZ0FJUVZheFVzQUVGdkRWb2FTK3VJbEJBb2NRdXlsZXlqbEpvS0dkWlF3RU9keVhoTFZsSGNiamZQMGFpRk81dW1jMUVZNTF4bEVMNUc2c0ltNUZHelFZVVVHUW9OOUVvempVM21nMG9oVmRXaFo3bUc2eHlVdzZjSmVNb3pnc3JhK04xQThxYzlmbTNyRG1PNkNJemhPSzhGbm5mUVlzZmhWTGlScnNMVUk3ZTk0dGE0a2I1dzRNVGNNVktTdjZPNk8wWnltc2phTUxXdzhuaWY3K3lTNXdvNTljM056Y3ZqMzhiSWpRdTgzS3ZvNERYb0FlTkNQTEx2d2lMWTBZNUlxUEVjdmxjQmZJbExjZ1BvN3hGV0NWYktDSEo0ZFZtcXp5RlVMVFJjS1pRenArTzVBZyswbGZXM2Y3ck1waWorSk0reXZrRjFkTnQ0L1o2cnByVUtKUzdKOVZXQjQzeFhqTkhNYU9jWDE0UnplOUtvUW1pS0JSdWlHSXQrQ05yWGVRZko2S0xpMEo1UEZmZFRrWlJicUpxUmxRTXh2M0prbkF5VUVTUXIvZVFkcU9JQ00yU29aZW1pQXJHbW1KWmVKdFJuRWRtbE5zN082WXBOSzJpT0hNZU5uL1pNWG1rSzR4U2NLNktlb1JtSXdxZG5YUWNjUGN1QmdDUGFsN01OcFNqcjhmSC95N2ZHMkthdGZ3ZXpHaFloOElpWHhsdFhyeHIxKzFEMGVOL2ZaaG9NVXE1OFhXbkZ6dHJLTmZGcDZlbllqVEtEYjNHZGRzb2ZyMlV3a0Y4NFlwZWI3eG5CS1ZRdXFPS25pbDV2Vk1xdlFKbmJXNklYeS85YnBDaUthNTErKy9tcjM1YUFkcG44a3ZUWVRkRkZuVkF5YUlPS0ZuVUFTV0xRcDMvUjVTNlFFazZnMVJjVXBsNjc0RkkzN2x0OHMzTVNXYUM5cGVnenhNditTbWtLNHBGZUNSc01RVlRZWitJOU9sV1NEMWVZQWlPMDB4WXRML0UwNmRwc2t1ZzhxZWJleWl0U2NsOFhqVC91eU96b2xwYXcyVHhadzV3SmhMcndVS3p5RXd5cEFVbUtMS3l1YTU5enVJRmp3ZitJQ2hPWFNhR052bmNVRE9TejN6SSthY09SZm1ueUk0dFkxSFZpN1JmRE1VUlNkVHBDMWF4WUptU091ZVBISTZTbDYva1lOc2lGcGtHaTViN1dhQTRpK0Mxenl3a05ObEdDQ3kxVWpzU1JiVUQ1TlY2ZnVjSDB5UXZEL0ZzN3JKTGRCU0swdzFZWERnN284bG1zaXpjRzlhREV0T0dPRUFKV2pFR0E4ZWZ3M1krbzJvUEowMyt5Qm10OWRKUW5LSEd3bWl5TEZjdksydzdZWlNRWFN5U0MvUE9LZ29KWVB5ZlA1azFRYi9scktNNHRWUGJET1BDdm5hUVQwTnhuQWRvRTR3TGMzbTk5Q0VVNnYyMlZEUHlxLzhMbDMwRnhYSGFDMGdmTDVSMlNiOFRlNGJUc3JwYThqVVUyZ0FNSzZPMGkvdWRUaWZEYmtTeC93ZEVWMlhmTDNNUGJ3QUFBQUJKUlU1RXJrSmdnZz09XCI7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGVsc2Uge1xyXG5cdFx0XHRcdFx0dGhpcy5maWxlLnRodW1ibmFpbEJhc2U2NEltYWdlID0gXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQURBQUFBQThDQVlBQUFBZ3dEbjhBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQXlacFZGaDBXRTFNT21OdmJTNWhaRzlpWlM1NGJYQUFBQUFBQUR3L2VIQmhZMnRsZENCaVpXZHBiajBpNzd1L0lpQnBaRDBpVnpWTk1FMXdRMlZvYVVoNmNtVlRlazVVWTNwcll6bGtJajgrSUR4NE9uaHRjRzFsZEdFZ2VHMXNibk02ZUQwaVlXUnZZbVU2Ym5NNmJXVjBZUzhpSUhnNmVHMXdkR3M5SWtGa2IySmxJRmhOVUNCRGIzSmxJRFV1Tmkxak1UTTRJRGM1TGpFMU9UZ3lOQ3dnTWpBeE5pOHdPUzh4TkMwd01Ub3dPVG93TVNBZ0lDQWdJQ0FnSWo0Z1BISmtaanBTUkVZZ2VHMXNibk02Y21SbVBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1THpBeUx6SXlMWEprWmkxemVXNTBZWGd0Ym5NaklqNGdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlnZUcxc2JuTTZlRzF3UFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwzaGhjQzh4TGpBdklpQjRiV3h1Y3pwNGJYQk5UVDBpYUhSMGNEb3ZMMjV6TG1Ga2IySmxMbU52YlM5NFlYQXZNUzR3TDIxdEx5SWdlRzFzYm5NNmMzUlNaV1k5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndMekV1TUM5elZIbHdaUzlTWlhOdmRYSmpaVkpsWmlNaUlIaHRjRHBEY21WaGRHOXlWRzl2YkQwaVFXUnZZbVVnVUdodmRHOXphRzl3SUVORElESXdNVGNnS0ZkcGJtUnZkM01wSWlCNGJYQk5UVHBKYm5OMFlXNWpaVWxFUFNKNGJYQXVhV2xrT2pBME9FRkJNVVk0T0RVd1FURXhSVGRDUlRCRU9EQTFSVGt3UWtZd1JrRXpJaUI0YlhCTlRUcEViMk4xYldWdWRFbEVQU0o0YlhBdVpHbGtPakEwT0VGQk1VWTVPRFV3UVRFeFJUZENSVEJFT0RBMVJUa3dRa1l3UmtFeklqNGdQSGh0Y0UxTk9rUmxjbWwyWldSR2NtOXRJSE4wVW1WbU9tbHVjM1JoYm1ObFNVUTlJbmh0Y0M1cGFXUTZNRFE0UVVFeFJqWTROVEJCTVRGRk4wSkZNRVE0TURWRk9UQkNSakJHUVRNaUlITjBVbVZtT21SdlkzVnRaVzUwU1VROUluaHRjQzVrYVdRNk1EUTRRVUV4UmpjNE5UQkJNVEZGTjBKRk1FUTRNRFZGT1RCQ1JqQkdRVE1pTHo0Z1BDOXlaR1k2UkdWelkzSnBjSFJwYjI0K0lEd3ZjbVJtT2xKRVJqNGdQQzk0T25odGNHMWxkR0UrSUR3L2VIQmhZMnRsZENCbGJtUTlJbklpUHo0eVA1aWVBQUFGRDBsRVFWUjQydXhheVVzYlVSaC9pYVBHZlFzS2VyR3V1Q0FGTDU0S0lpcDZzVklFZTVNZVJKSHFYOU5lbENxMVNDdUZHb1BpVXBlRG9oNFV4WlBlM1NPNGErTFc5M3Y2aHNtUW1Ka2tzMGp6d1RDVE9HYSszN2Y4M3ZkOWJ5eFRVMU5WYTJ0clB4NGZINk9zVnV1TnhXSWg5TnBLbm9SZVB0cnBPWjRlZC9TYVNFWCtPVmk1djcrMzBWTjBSVVhGcCt6czdQN3I2MnNTRlJWRm9xT2pTVnhjSEx2R0lRZ0NnWDVTRWRiWDE0ZjI5dmJlSkNRa2VQMUJmcU12VVhLUEVzSHZ1TjF1c3JpNCtLMnFxaW91THkvdjY5WFZsYUwvRlM0dUx1eXBxYW1pTXJCcXVDeXJSS2pYMlJrR3ZMbTVJVXRMUzErb3BUMzUrZmw5U2tBSWNOUHQ3UzBEZ0I4N1B6OW4xdUEvckpYQVNIaEdjbkl5TytPenpXWWpDSitGaFlWZWZGZFVWTlFIWFY0RThCeno1T0hoZ1ZtZ3JxNk9GQlFVRU9vWlRRSEV4c1l5WTAxTVRMQm54Y1RFTUQzaTQrUEo1ZVVsbVp1YjY2WGZ1Y3ZLeWdiUHpzNzhBK0F4Q0FBMG1RaDFIY25OemRVbGZPRDUyZGxaOW14Y3c5cndDTUlKSUthbnA3OVRFSjZTa3BKZnA2ZW52a09ReHpzSGNYZDNwMXY4UTJrOEQ4clNjQ0hsNWVYazRPQ0E2Y0ZKWld4czdPZlcxdGFIakl3TW4yRnRKU1lRSkd0aVlpSnBhMnRqSUhaMmRsZzRKU1VsTWNNNkhJN2ZtNXViSDlQVDAxbW9nVkk1R0ZNQTRPUUI2ZXpzOUFJQllGQjRkSFIwaUZMK2Uxd2owZUU5MHdDUVMxZFhGNkZ4VDNaM2QwVVFZRXVuMC9sbmRYVzFFYmtLcnpFbTA1UHpsUXFzREJDRmhZVWlDT1FFd29sUzdKakw1YXBKUzB0N0FrQk1LckI0ZDNjM28zUmFLYkR2a0JPdy91VGs1Ti85L2YxM0xMSE5vQ3hmMUh5QjZPbnBJY1hGeGVUbzZFZ0VnZlZxWkdSa2h1YkpXOU40d0Y5ZEJSQWRIUjJNWnJHZ2dXSlIrbmc4SG9HeTAwL0JETXFucEtRdzFoa1lHR0FLU3ZNU0lZTjRoNGNBQm9KN3NPRFJGVHhiWEltTlNHWThFMlVFUW9MR05ObmUzaFpEU2VvUnprU29sYUE4a2h4bmxDT0MwV3lUazVQRGxFUGREMnZMZXcxZUhlTUFLSURGZlJ5Z29RQmcwZmIyZHZFenJPb1BBSm9aSFAzOS9XUmpZNE9GbGVFQXVCZDhYZnNUbEJKU29LWmRCL3dKaWo5cGZydzZBSEs2ZlhVQVRGbE8vOWNBQXJJUXVxWGw1V1ZHWlVwWUlweE5EbHBiMmhPSEJnRDF4L0R3TUFPQWxVOHZRZkdHQVVQSUFHQjF1OTNPQUlDRDlXUWJWSjZCV0NnZ0FDemJzSWJlSGpnOFBDUXZqVk1VQTBBbjFORFFvSGlsREpjZzk5Q1JoUXdBWld0emMzT0VSZzJsMFpXVkZVMUNpQSswMFBkcUJrQkxHa1d6M3RyYXFncUF2UEZTUktQby9yV2dVVlNXR09hcUxiK2xJQlRScU12bDBzUURvRXFFa2Fxa2ZSN0ZLd2FBZHEreHNWR1RITUE0RVJNNHRYMjBkREVMQ0FDcllWTlRVNFJHRGFOUnVIbG1aa1pzckxVVVRCd3dRcStwcVFrdmdQSHhjVjFxb1pPVEU3WkRGRllBc0hwbVpxWXUxU2dNQk1vT1ZLV3FwbEhRblY0ZThGVkNoMXlOMXRiVzZwSUQySGtKNUlHZ3F0R1dscFlJalJwR281Z2V6OC9QQjcwUzgrYThzckxTdUhYQTZYUUduY1JvUjZ1cnE4TUtRRlVwRVdwVDc2ODVEMFZVMCtqeDhYRkFBUElOQ2FrSGxMNDZvN1FhVlJWQ3NCNTZZbmtWS0ZkVU9zK1hqcjlSTHF1dE9GWG53RXZiU3lpbjYrdnJJelFhQWVBUFFMamVlelBjQTN5M1hNL3BXekRpdDZtSDhqaXc0WXo2UjhsY1VsZExVOTJ3RlF1OXBIVHVCUUFqRGpRdkRvZEQ4NWYrZ2wzQUFBSmJySnlxQmVtWUFtZHM1OE5OWnN3Tkh1WmVJVVFSM1dPYkgzei9Hc1RqOFlnclA2b0VvYlMwOURPTnEwR2J6WGFMVjQ5ZkNmbFkzRzUzWWxaVzFzSS9BUVlBL2FPeG1Qekk3dVVBQUFBQVNVVk9SSzVDWUlJPVwiO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdGlmICh0aGlzLmZpbGUgJiYgdGhpcy5maWxlLmZpbGVEYXRlKSB7XHJcblxyXG5cdFx0XHRjb25zdCBkYXRlRm9ybWF0ID0gJ01NTS4gRCwgWVlZWSc7XHJcblx0XHRcdGNvbnN0IHRpbWVGb3JtYXQgPSAnaDptbTpzcyBhJztcclxuXHJcblx0XHRcdHRoaXMuZmlsZURhdGVGb3JtYXR0ZWQgPSBtb21lbnQodGhpcy5maWxlLmZpbGVEYXRlKS5mb3JtYXQoZGF0ZUZvcm1hdCk7XHJcblx0XHRcdHRoaXMuZmlsZVRpbWVGb3JtYXR0ZWQgPSBtb21lbnQodGhpcy5maWxlLmZpbGVEYXRlKS5mb3JtYXQodGltZUZvcm1hdCk7XHJcblx0XHRcdFxyXG5cdFx0XHQvLyBjb25zdCBmaWxlRGF0ZUZvcm1hdCA9ICh0aGlzLmZpbGUuZmlsZURhdGVGb3JtYXQgPz8gJycpICE9PSAnJyA/IHRoaXMuZmlsZS5maWxlRGF0ZUZvcm1hdCA6ICdNTU0uIEQsIFlZWVkgaDptbTpzcyBhJztcclxuXHRcdFx0Ly8gdGhpcy5maWxlRGF0ZUZvcm1hdHRlZCA9IG1vbWVudCh0aGlzLmZpbGUuZmlsZURhdGUpLmZvcm1hdChmaWxlRGF0ZUZvcm1hdCk7XHJcblx0XHRcdC8vIHRoaXMuZmlsZVRpbWVGb3JtYXR0ZWQgPSBtb21lbnQodGhpcy5maWxlLmZpbGVEYXRlKS5mb3JtYXQoZmlsZURhdGVGb3JtYXQpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0b25DbGljaygpIHtcclxuXHRcdGlmICh0aGlzLmZpbGVDbGlja2VkKVxyXG5cdFx0XHR0aGlzLmZpbGVDbGlja2VkLmVtaXQodGhpcy5maWxlKTtcclxuXHR9XHJcblxyXG5cdGFzeW5jIGRlbGV0ZUZpbGUoZTogRXZlbnQpIHtcclxuXHRcdGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcblx0XHRlLnByZXZlbnREZWZhdWx0KCk7XHJcblxyXG5cdFx0aWYgKHRoaXMuY29uZmlybURlbGV0ZSA9PT0gZmFsc2UpIHtcclxuXHRcdFx0dGhpcy5maWxlRGVsZXRlRW1pdHRlci5lbWl0KHRoaXMuZmlsZSk7XHJcblx0XHR9XHJcblx0XHRlbHNlIHtcclxuXHRcdFx0U3dhbC5maXJlKHtcclxuXHRcdFx0XHR0aXRsZTogJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGU/JyxcclxuXHRcdFx0XHR0ZXh0OiBgJHt0aGlzLmZpbGUudGl0bGV9YCxcclxuXHRcdFx0XHRzaG93RGVueUJ1dHRvbjogZmFsc2UsXHJcblx0XHRcdFx0c2hvd0NhbmNlbEJ1dHRvbjogdHJ1ZSxcclxuXHRcdFx0XHRjb25maXJtQnV0dG9uVGV4dDogJ0RlbGV0ZScsXHJcblx0XHRcdFx0Y3VzdG9tQ2xhc3M6IHtcclxuXHRcdFx0XHRcdGNvbmZpcm1CdXR0b246ICdidG4gYnRuLW91dGxpbmUtZGFuZ2VyJyxcclxuXHRcdFx0XHRcdGNhbmNlbEJ1dHRvbjonYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeScsXHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHRoZWlnaHRBdXRvOiBmYWxzZVxyXG5cdFx0XHQgIH0pLnRoZW4oKHJlc3VsdCkgPT4ge1xyXG5cdFx0XHRcdGlmIChyZXN1bHQuaXNDb25maXJtZWQpIHtcclxuXHRcdFx0XHRcdHRoaXMuZmlsZURlbGV0ZUVtaXR0ZXIuZW1pdCh0aGlzLmZpbGUpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0ICB9KVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0YXN5bmMgZWRpdFRpdGxlKCkge1xyXG5cdFx0dGhpcy5pc0VkaXRpbmcgPSB0cnVlO1xyXG5cdFx0dGhpcy50ZW1wVGl0bGUgPSB0aGlzLmZpbGUudGl0bGU7XHJcblx0XHRhd2FpdCBTbGlja1NsZWVwU2VydmljZS5zbGVlcCgpO1xyXG5cdFx0dGhpcy5lZGl0VGl0bGVJbnB1dFJlZi5uYXRpdmVFbGVtZW50LnNldFNlbGVjdGlvblJhbmdlKDAsIHRoaXMuZWRpdFRpdGxlSW5wdXRSZWYubmF0aXZlRWxlbWVudC52YWx1ZS5sZW5ndGgpXHJcblx0XHR0aGlzLmVkaXRUaXRsZUlucHV0UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuXHRcdGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCB0aGlzLmZuRG9jdW1lbnRDbGljaywgdHJ1ZSk7XHJcblx0fVxyXG5cclxuXHRvbktleURvd24oZTogS2V5Ym9hcmRFdmVudCkge1xyXG5cdFx0aWYgKGUud2hpY2ggPT09IDEzKSB7XHJcblx0XHRcdHRoaXMuZmlsZS50aXRsZSA9IHRoaXMudGVtcFRpdGxlO1xyXG5cdFx0XHR0aGlzLmZpbGVDaGFuZ2VFbWl0dGVyLmVtaXQodGhpcy5maWxlKTtcclxuXHRcdFx0dGhpcy5pc0VkaXRpbmcgPSBmYWxzZTtcclxuXHRcdFx0ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIHRoaXMuZm5Eb2N1bWVudENsaWNrLCB0cnVlKTtcclxuXHRcdH1cclxuXHJcblx0XHRpZiAoZS53aGljaCA9PT0gMjcpIHtcclxuXHRcdFx0dGhpcy50ZW1wVGl0bGUgPSBudWxsO1xyXG5cdFx0XHR0aGlzLmlzRWRpdGluZyA9IGZhbHNlO1xyXG5cdFx0XHRkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgdGhpcy5mbkRvY3VtZW50Q2xpY2ssIHRydWUpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0YXN5bmMgZG9jdW1lbnRDbGljayhlOiBNb3VzZUV2ZW50KSB7XHJcblx0XHRhd2FpdCBTbGlja1NsZWVwU2VydmljZS5zbGVlcCgpO1xyXG5cdFx0Y29uc3QgY2xpY2tlZEluc2lkZSA9IFNsaWNrVXRpbHNTZXJ2aWNlLmNoZWNrUGFyZW50Q2xhc3NFeGlzdHMoPEhUTUxFbGVtZW50PmUudGFyZ2V0LCAnc2xpY2stZmlsZS1saXN0LWl0ZW1fdGl0bGUnKVxyXG5cdFx0aWYgKGNsaWNrZWRJbnNpZGUpXHJcblx0XHRcdHJldHVybjtcclxuXHJcblx0XHRpZiAodGhpcy5pc0VkaXRpbmcgPT09IHRydWUpIHtcclxuXHRcdFx0dGhpcy5maWxlLnRpdGxlID0gdGhpcy50ZW1wVGl0bGU7XHJcblx0XHRcdHRoaXMuZmlsZUNoYW5nZUVtaXR0ZXIuZW1pdCh0aGlzLmZpbGUpO1xyXG5cdFx0XHR0aGlzLmlzRWRpdGluZyA9IGZhbHNlO1xyXG5cdFx0XHRkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgdGhpcy5mbkRvY3VtZW50Q2xpY2ssIHRydWUpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0YXN5bmMgb25DaGVja2JveENsaWNrZWQoZTogTW91c2VFdmVudCkge1xyXG5cdFx0dGhpcy5maWxlLmlzQ2hlY2tlZCA9ICF0aGlzLmZpbGUuaXNDaGVja2VkO1xyXG5cdFx0aWYgKHRoaXMuY2hlY2tDaGFuZ2VkKVxyXG5cdFx0XHR0aGlzLmNoZWNrQ2hhbmdlZC5lbWl0KGUpO1xyXG5cdH1cclxuXHJcblx0bmdPbkRlc3Ryb3koKSB7XHJcblx0XHRkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgdGhpcy5mbkRvY3VtZW50Q2xpY2ssIHRydWUpO1xyXG5cdH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwic2xpY2stZmlsZS1saXN0LWl0ZW1cIiBpZD1cInNsaWNrLWZpbGUtbGlzdC1pdGVtX3t7dXVpZH19XCI+XHJcblx0PGRpdiBjbGFzcz1cInNsaWNrLWZpbGUtbGlzdC1pdGVtX2ltZyBncmF5LWJsb2NrIGNhcmRcIiAoY2xpY2spPVwib25DbGljaygpXCIgW25nU3R5bGVdPVwieyAnY3Vyc29yJzogKHNob3dQaG90b0dhbGxlcnkgPT09IHRydWUpID8gJ3BvaW50ZXInIDogJ2RlZmF1bHQnIH1cIiBbc3R5bGUubWluSGVpZ2h0LnB4XT1cIml0ZW1TaXplICsgMlwiIFtzdHlsZS5taW5XaWR0aC5weF09XCJpdGVtU2l6ZVwiPlxyXG5cdFx0PGltZyAqbmdJZj1cImZpbGUudGh1bWJuYWlsQmFzZTY0SW1hZ2VcIiBbc3JjXT1cImZpbGUudGh1bWJuYWlsQmFzZTY0SW1hZ2VcIiBbc3R5bGUubWF4V2lkdGgucHhdPVwiaXRlbUltZ1NpemVcIiBbc3R5bGUubWF4SGVpZ2h0LnB4XT1cIml0ZW1JbWdTaXplXCIgLz5cclxuXHRcdDxpbWcgKm5nSWY9XCIhZmlsZS50aHVtYm5haWxCYXNlNjRJbWFnZSAmJiBmaWxlLmJhc2U2NEltYWdlXCIgW3NyY109XCJmaWxlLmJhc2U2NEltYWdlXCIgW3N0eWxlLm1heFdpZHRoLnB4XT1cIml0ZW1JbWdTaXplXCIgW3N0eWxlLm1heEhlaWdodC5weF09XCJpdGVtSW1nU2l6ZVwiIC8+XHJcblx0XHQ8aW1nICpuZ0lmPVwiIWZpbGUudGh1bWJuYWlsQmFzZTY0SW1hZ2UgJiYgIWZpbGUuYmFzZTY0SW1hZ2UgJiYgZmlsZS50aHVtYm5haWxVcmxcIiBbc3JjXT1cImZpbGUudGh1bWJuYWlsVXJsXCIgW3N0eWxlLm1heFdpZHRoLnB4XT1cIml0ZW1JbWdTaXplXCIgW3N0eWxlLm1heEhlaWdodC5weF09XCJpdGVtSW1nU2l6ZVwiIC8+XHJcblx0XHQ8aW1nICpuZ0lmPVwiIWZpbGUudGh1bWJuYWlsQmFzZTY0SW1hZ2UgJiYgIWZpbGUuYmFzZTY0SW1hZ2UgJiYgIWZpbGUudGh1bWJuYWlsVXJsICYmIGZpbGUudXJsXCIgW3NyY109XCJmaWxlLnVybFwiIFtzdHlsZS5tYXhXaWR0aC5weF09XCJpdGVtSW1nU2l6ZVwiIFtzdHlsZS5tYXhIZWlnaHQucHhdPVwiaXRlbUltZ1NpemVcIiAvPlxyXG5cdFx0PGkgKm5nSWY9XCJhbGxvd0RlbGV0ZVwiIGNsYXNzPVwiZmFzIGZhLWNpcmNsZS14IGJnLXdoaXRlIHRleHQtZGFuZ2VyXCIgKGNsaWNrKT1cImRlbGV0ZUZpbGUoJGV2ZW50KVwiPjwvaT5cclxuXHRcdDxkaXYgY2xhc3M9XCJmaWxlLWluZm9cIj5cclxuXHRcdFx0PGRpdiBjbGFzcz1cInNsaWNrLWZpbGUtbGlzdC1pdGVtX3RpdGxlXCIgW3N0eWxlLm1pbldpZHRoLnB4XT1cIml0ZW1TaXplXCIgW3N0eWxlLm1heFdpZHRoLnB4XT1cIml0ZW1TaXplXCI+XHJcblx0XHRcdCAgPGRpdiBjbGFzcz1cInNsaWNrLWZpbGUtbGlzdC1pdGVtX2Rpc3BsYXktdGl0bGVcIiAjdGl0bGVEaXZSZWYgc3R5bGU9XCJjdXJzb3I6IHBvaW50ZXJcIiAqbmdJZj1cIiFpc0VkaXRpbmdcIiAoY2xpY2spPVwiZWRpdFRpdGxlKClcIj5cclxuXHRcdFx0XHR7eyAoZmlsZS50aXRsZSA/PyAnJykubGVuZ3RoID4gMTggPyAoZmlsZS50aXRsZSA/PyAnJykuc2xpY2UoMCwgMTgpICsgJy4uLicgOiBmaWxlLnRpdGxlIH19XHJcblx0XHRcdCAgPC9kaXY+XHJcblx0XHRcdCAgPGRpdiAjZWRpdFRpdGxlRGl2UmVmIGNsYXNzPVwic2xpY2stZmlsZS1saXN0LWl0ZW1fZWRpdC10aXRsZVwiICpuZ0lmPVwiaXNFZGl0aW5nXCI+XHJcblx0XHRcdFx0PGlucHV0ICNlZGl0VGl0bGVJbnB1dFJlZiB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgWyhuZ01vZGVsKV09XCJ0ZW1wVGl0bGVcIiAoa2V5ZG93bik9XCJvbktleURvd24oJGV2ZW50KVwiIFtzdHlsZS53aWR0aC5weF09XCJpdGVtU2l6ZVwiIC8+XHJcblx0XHRcdCAgPC9kaXY+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwic2xpY2stZmlsZS1saXN0LWl0ZW1fdGl0bGVcIiAqbmdJZj1cImZpbGVEYXRlRm9ybWF0dGVkXCIgW3N0eWxlLm1pbldpZHRoLnB4XT1cIml0ZW1TaXplXCIgW3N0eWxlLm1heFdpZHRoLnB4XT1cIml0ZW1TaXplXCI+XHJcblx0XHRcdCAgPGRpdiBjbGFzcz1cInNsaWNrLWZpbGUtbGlzdC1pdGVtX2RhdGVcIj5cclxuXHRcdFx0XHQ8ZGl2ICpuZ0lmPVwiZmlsZURhdGVGb3JtYXR0ZWRcIiBbc3R5bGUubWluV2lkdGgucHhdPVwiaXRlbVNpemVcIj57eyBmaWxlRGF0ZUZvcm1hdHRlZCB9fTwvZGl2PlxyXG5cdFx0XHRcdDxkaXYgKm5nSWY9XCJmaWxlVGltZUZvcm1hdHRlZFwiIFtzdHlsZS5taW5XaWR0aC5weF09XCJpdGVtU2l6ZVwiPnt7IGZpbGVUaW1lRm9ybWF0dGVkIH19PC9kaXY+XHJcblx0XHRcdCAgPC9kaXY+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0PC9kaXY+XHJcblx0PC9kaXY+XHJcblxyXG5cdDwhLS0gV2Ugd2FudCB0aGUgdXNlciB0byBiZSBhYmxlIHRvIGNsaWNrIGp1c3QgYSBsaXR0bGUgb3V0c2lkZSBvZiB0aGUgY2hlY2tib3ggYW5kIHN0aWxsIGhhdmUgaXQgY2hlY2sgLS0+XHJcblx0PGRpdiAqbmdJZj1cInNob3dDaGVja2JveCA9PT0gdHJ1ZVwiIGNsYXNzPVwic2xpY2stZmlsZS1jaGVja2JveFwiIChjbGljayk9XCJvbkNoZWNrYm94Q2xpY2tlZCgkZXZlbnQpXCI+XHJcblx0XHQ8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgW25nTW9kZWxdPVwiZmlsZS5pc0NoZWNrZWRcIiAvPlxyXG5cdDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxzbGljay1jb25maXJtLWRpYWxvZyAjZGVsZXRlQ29uZmlybVJlZiBva0J1dHRvblRleHQ9J0RlbGV0ZSc+XHJcblx0PGg0IGNsYXNzPVwicC0wIG0tMFwiPkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGU/PC9oND5cclxuXHQ8aDUgY2xhc3M9XCJwLTAgbS0wXCI+XCJ7e2ZpbGUudGl0bGV9fVwiPC9oNT5cclxuPC9zbGljay1jb25maXJtLWRpYWxvZz4iXX0=
193
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2stZmlsZS1saXN0LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvc2xpY2stZmlsZS1saXN0L3NsaWNrLWZpbGUtbGlzdC1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL3NsaWNrLWZpbGUtbGlzdC9zbGljay1maWxlLWxpc3QtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBZ0UsTUFBTSxlQUFlLENBQUM7QUFDaEosT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDakUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFHakUsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sSUFBSSxNQUFNLGFBQWEsQ0FBQTs7Ozs7QUFFOUIsTUFBTSxlQUFlLEdBQWEsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQzdILE1BQU0sY0FBYyxHQUFhLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQy9GLE1BQU0sYUFBYSxHQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7QUFNeEMsTUFBTSxPQUFPLDBCQUEwQjtJQTJCdEM7UUF6QnNCLGdCQUFXLEdBQVksSUFBSSxDQUFDO1FBQ3ZCLHFCQUFnQixHQUFZ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LFdBQVc7c0JBQWhDLEtBQUs7dUJBQUMsYUFBYTtnQkFDTyxnQkFBZ0I7c0JBQTFDLEtBQUs7dUJBQUMsa0JBQWtCO2dCQUNGLFlBQVk7c0JBQWxDLEtBQUs7dUJBQUMsY0FBYztnQkFDRyxhQUFhO3NCQUFwQyxLQUFLO3VCQUFDLGVBQWU7Z0JBQ0UsYUFBYTtzQkFBcEMsS0FBSzt1QkFBQyxlQUFlO2dCQUNDLGlCQUFpQjtzQkFBdkMsTUFBTTt1QkFBQyxhQUFhO2dCQUNFLGlCQUFpQjtzQkFBdkMsTUFBTTt1QkFBQyxhQUFhO2dCQUNFLFdBQVc7c0JBQWpDLE1BQU07dUJBQUMsYUFBYTtnQkFDRyxZQUFZO3NCQUFuQyxNQUFNO3VCQUFDLGNBQWM7Z0JBRUksV0FBVztzQkFBcEMsU0FBUzt1QkFBQyxhQUFhO2dCQUNNLGVBQWU7c0JBQTVDLFNBQVM7dUJBQUMsaUJBQWlCO2dCQUNJLGlCQUFpQjtzQkFBaEQsU0FBUzt1QkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCwgRXZlbnRFbWl0dGVyLCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIE9uRGVzdHJveSwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBTbGlja1NsZWVwU2VydmljZSB9IGZyb20gXCIuLi91dGlscy9zbGljay1zbGVlcC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFNsaWNrVXRpbHNTZXJ2aWNlIH0gZnJvbSBcIi4uL3V0aWxzL3NsaWNrLXV0aWxzLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgSVNsaWNrRmlsZU1vZGVsIH0gZnJvbSBcIi4uL3NsaWNrLWZpbGUtbW9kZWwvc2xpY2stZmlsZS5tb2RlbFwiO1xyXG5pbXBvcnQgeyBTbGlja0NvbmZpcm1EaWFsb2dDb21wb25lbnQsIFNsaWNrQ29uZmlybURpYWxvZ1Jlc3VsdHMgfSBmcm9tIFwiLi4vc2xpY2stY29uZmlybS1kaWFsb2cvc2xpY2stY29uZmlybS1kaWFsb2cubW9kdWxlXCI7XHJcbmltcG9ydCBtb21lbnQgZnJvbSBcIm1vbWVudFwiO1xyXG5pbXBvcnQgU3dhbCBmcm9tIFwic3dlZXRhbGVydDJcIlxyXG5cclxuY29uc3QgZXhjZWxFeHRlbnNpb25zOiBzdHJpbmdbXSA9IFsneGxzJywgJ3hsdCcsICd4bG0nLCAneGxzeCcsICd4bHNtJywgJ3hsdHgnLCAneGx0bScsICd4bHNiJywgJ3hsYScsICd4bGFtJywgJ3hsbCcsICd4bHcnXTtcclxuY29uc3Qgd29yZEV4dGVuc2lvbnM6IHN0cmluZ1tdID0gWydkb2MnLCAnZG90JywgJ3diaycsICdkb2N4JywgJ2RvY20nLCAnZG90eCcsICdkb3RtJywgJ2RvY2InXTtcclxuY29uc3QgcGRmRXh0ZW5zaW9uczogc3RyaW5nW10gPSBbJ3BkZiddO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdzbGljay1maWxlLWxpc3QtaXRlbScsXHJcblx0dGVtcGxhdGVVcmw6ICdzbGljay1maWxlLWxpc3QtaXRlbS5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNsaWNrRmlsZUxpc3RJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xyXG5cdEBJbnB1dChcImZpbGVcIikgZmlsZTogSVNsaWNrRmlsZU1vZGVsO1x0XHJcblx0QElucHV0KFwiYWxsb3dEZWxldGVcIikgYWxsb3dEZWxldGU6IGJvb2xlYW4gPSB0cnVlO1xyXG5cdEBJbnB1dChcInNob3dQaG90b0dhbGxlcnlcIikgc2hvd1Bob3RvR2FsbGVyeTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdEBJbnB1dChcInNob3dDaGVja2JveFwiKSBzaG93Q2hlY2tib3g6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHRASW5wdXQoXCJ0aHVtYm5haWxTaXplXCIpIHRodW1ibmFpbFNpemU6IG51bWJlcjtcclxuXHRASW5wdXQoXCJjb25maXJtRGVsZXRlXCIpIGNvbmZpcm1EZWxldGU6IGJvb2xlYW4gPSB0cnVlO1xyXG5cdEBPdXRwdXQoXCJmaWxlQ2hhbmdlZFwiKSBmaWxlQ2hhbmdlRW1pdHRlcjogRXZlbnRFbWl0dGVyPElTbGlja0ZpbGVNb2RlbD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblx0QE91dHB1dChcImZpbGVEZWxldGVkXCIpIGZpbGVEZWxldGVFbWl0dGVyOiBFdmVudEVtaXR0ZXI8SVNsaWNrRmlsZU1vZGVsPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHRAT3V0cHV0KFwiZmlsZUNsaWNrZWRcIikgZmlsZUNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxJU2xpY2tGaWxlTW9kZWw+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cdEBPdXRwdXQoXCJjaGVja0NoYW5nZWRcIikgY2hlY2tDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG5cdEBWaWV3Q2hpbGQoXCJ0aXRsZURpdlJlZlwiKSB0aXRsZURpdlJlZjogRWxlbWVudFJlZjtcclxuXHRAVmlld0NoaWxkKFwiZWRpdFRpdGxlRGl2UmVmXCIpIGVkaXRUaXRsZURpdlJlZjogRWxlbWVudFJlZjtcclxuXHRAVmlld0NoaWxkKFwiZWRpdFRpdGxlSW5wdXRSZWZcIikgZWRpdFRpdGxlSW5wdXRSZWY6IEVsZW1lbnRSZWY7XHJcblx0Ly8gQFZpZXdDaGlsZChcImRlbGV0ZUNvbmZpcm1SZWZcIikgZGVsZXRlQ29uZmlybVJlZjogU2xpY2tDb25maXJtRGlhbG9nQ29tcG9uZW50O1xyXG5cclxuXHR1dWlkOiBzdHJpbmc7XHJcblx0aXNFZGl0aW5nOiBib29sZWFuID0gZmFsc2U7XHJcblx0dGVtcFRpdGxlOiBzdHJpbmcgPSAnJztcclxuXHRmaWxlRGF0ZUZvcm1hdHRlZDogc3RyaW5nO1xyXG5cdGZpbGVUaW1lRm9ybWF0dGVkOiBzdHJpbmc7XHJcblx0Zm5Eb2N1bWVudENsaWNrID0gKGUpID0+IHRoaXMuZG9jdW1lbnRDbGljayhlKTtcclxuXHJcblx0aXRlbVNpemU6IG51bWJlciA9IDEyMDtcclxuXHRpdGVtSW1nU2l6ZTogbnVtYmVyID0gOTA7XHJcblxyXG5cdGNvbnN0cnVjdG9yKCkge1xyXG5cdFx0dGhpcy51dWlkID0gU2xpY2tVdGlsc1NlcnZpY2UubmV3R3VpZCgpO1xyXG5cdH1cclxuXHJcblx0bmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG5cdFx0aWYgKGNoYW5nZXMudGh1bWJuYWlsU2l6ZSkge1xyXG5cdFx0XHR0aGlzLml0ZW1JbWdTaXplID0gcGFyc2VJbnQodGhpcy50aHVtYm5haWxTaXplLnRvU3RyaW5nKCkpO1xyXG5cdFx0XHR0aGlzLml0ZW1TaXplID0gdGhpcy5pdGVtSW1nU2l6ZSArIDEwO1xyXG5cdFx0fVxyXG5cclxuXHRcdGlmIChjaGFuZ2VzLmFsbG93RGVsZXRlICYmIGNoYW5nZXMuYWxsb3dEZWxldGUuY3VycmVudFZhbHVlKVxyXG5cdFx0XHR0aGlzLmFsbG93RGVsZXRlID0gKGNoYW5nZXMuYWxsb3dEZWxldGUuY3VycmVudFZhbHVlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKSAhPT0gJ2ZhbHNlJyk7XHRcdFxyXG5cclxuXHRcdGlmIChjaGFuZ2VzLnNob3dQaG90b0dhbGxlcnkgJiYgY2hhbmdlcy5zaG93UGhvdG9HYWxsZXJ5LmN1cnJlbnRWYWx1ZSlcclxuXHRcdFx0dGhpcy5zaG93UGhvdG9HYWxsZXJ5ID0gKGNoYW5nZXMuc2hvd1Bob3RvR2FsbGVyeS5jdXJyZW50VmFsdWUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpICE9PSAnZmFsc2UnKTtcdFxyXG5cclxuXHRcdGlmIChjaGFuZ2VzLnNob3dDaGVja2JveCAmJiBjaGFuZ2VzLnNob3dDaGVja2JveC5jdXJyZW50VmFsdWUpXHJcblx0XHRcdHRoaXMuc2hvd0NoZWNrYm94ID0gKGNoYW5nZXMuc2hvd0NoZWNrYm94LmN1cnJlbnRWYWx1ZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkgIT09ICdmYWxzZScpO1xyXG5cclxuXHRcdHRoaXMuY29uZmlybURlbGV0ZSA9ICh0aGlzLmNvbmZpcm1EZWxldGUudG9TdHJpbmcoKSA9PT0gJ3RydWUnKSA/IHRydWUgOiBmYWxzZTtcclxuXHJcblx0XHRpZiAodGhpcy5maWxlKVxyXG5cdFx0XHR0aGlzLmZpbGUudGl0bGUgPSAodGhpcy5maWxlLnRpdGxlID8/ICcnKTtcclxuXHJcblx0XHRpZiAodGhpcy5maWxlICYmIHRoaXMuZmlsZS5uYW1lICYmICF0aGlzLmZpbGUudGh1bWJuYWlsQmFzZTY0SW1hZ2UgJiYgIXRoaXMuZmlsZS51cmwpIHtcclxuXHRcdFx0aWYgKHRoaXMuZmlsZS5pc0NoZWNrZWQgPT09IG51bGwpXHJcblx0XHRcdFx0dGhpcy5maWxlLmlzQ2hlY2tlZCA9IGZhbHNlO1xyXG5cclxuXHRcdFx0bGV0IGZpbGVOYW1lUGFydHMgPSB0aGlzLmZpbGUubmFtZS5zcGxpdCgnLicpO1xyXG5cdFx0XHRpZiAoZmlsZU5hbWVQYXJ0cy5sZW5ndGggPiAxKSB7XHJcblx0XHRcdFx0bGV0IGV4dCA9IGZpbGVOYW1lUGFydHNbZmlsZU5hbWVQYXJ0cy5sZW5ndGggLSAxXS50b0xvd2VyQ2FzZSgpO1xyXG5cclxuXHRcdFx0XHRpZiAoZXhjZWxFeHRlbnNpb25zLmluZGV4T2YoZXh0KSA+PSAwKSB7XHJcblx0XHRcdFx0XHR0aGlzLmZpbGUudGh1bWJuYWlsQmFzZTY0SW1hZ2UgPSBcImRhdGE6aW1hZ2UvanBlZztiYXNlNjQsLzlqLzRBQVFTa1pKUmdBQkFRQUFBUUFCQUFELzJ3Q0VBQWtHQnhBUUVoSU5EUkFRRFEwUkVBNFBEUTBORUJzUERRME9GUk1XRnhVUkZSVVlLQ2dnR0JzbUhCWVRMVDB0SlNrck15NDNJeDh6UVQ4dU55a3RMaXNCQ2dvS0RnME9HaEFRR3kwbEh4OHZLeXN0TnkwM01pc3RNQ3N0TWkwdE1EVXRMUzB0TFMwdExTc3RMU3N1S3kwdExTMHRMU3N0TFM4dEt5MHRMUzByTGYvQUFCRUlBTmdBNlFNQkVRQUNFUUVERVFIL3hBQWNBQUVBQVFVQkFRQUFBQUFBQUFBQUFBQUFBUUlEQkFVSEJnai94QUJGRUFBQ0FRSUJCQTBLQkFVREJRQUFBQUFBQVFJREJCRVNJVEZSQlFZSEV4UXlRV0Z4Y29HaHNSVWlVbFJpa1pPaTBlRWpRclBCTkRWRGdwSWxNMU1YWTdMUzhQL0VBQm9CQVFBREFRRUJBQUFBQUFBQUFBQUFBQUFCQWdNRUJRYi94QUF2RVFFQUFnRURBZ1VDQlFRREFBQUFBQUFBQVFJUkF4SXhCQk1oTWtGUllWS1JCVE54c2RFaU5JSHdGVVBoLzlvQURBTUJBQUlSQXhFQVB3RHVJQUFBQUFBTEY5ZFJvMDUxNm5FcHdsT1dHbkJMSEJjNFUxTHhTczJuaUhIOW1kbnJpNms1Vlp5akJ2emFNSk5Vb1I1Rmh5dm5mMk1abkw1blc2blUxcHphZkQyOUdySVlBQUFBQUFBQUFBQnNyTGlMcGZpR2R1VjhLZ0FBQUFBQUFBRGE3RGJPMWJhU2VWS2RIRlpkS1R4V1R5dU9PaGt4YkRzNmJyZFRSdHptdnJIOE9oZVVxUDhBeVI5NXJtSDB2ZjAvZGxrdFFBQUFBQU5IdDIvZ2JqcXcvd0RPSlczRGs2NzhpemtCaythQUFBQUFBQUFBQUFCc3JMaUxwZmlHZHVWOEtnQUFBQUFBQUFBQmN5M3JmdkMyNlhYamQ5b0FBQUFBQm85dS93REEzSFZoK3BFcmJoeWRkL2IyY2dNbnpRQUFBQUFBQUFBQUFObFpjUmRMOFF6dHl2aFVBQUFBQUFBQUFBS2dsMkEzZmFnQUFBQUFhUGJ2L0EzSFZoK3BFcmJoeWRkL2IyY2dNbnpRQUFBQUFBQUFBQUFObFpjUmRMOFF6dHl2aFVBQUFBQUFBQUFBS2dsMkEzZmFnQUFBQUFhUGJ2OEF3TngxWWZxUksyNGNuWGYyOW5JREo4MEFBQUFBQUFBQUFBRFpXWEVYUy9FTTdjcjRWQUFBQUFBQUFBQUNvSmRnTjMyb0FBQUFBR2gyOHZDeHVIN01QMUlrVzRjdlcva1djYzM1NmtaWWZPYlRmbnFRd2JUZm5xUXdiVGZucVF3YlRmbnFRd2JUZm5xUXdiVGZucVF3YlRmbnFRd2JVeHJhL2VNSW1xNlFxQWJLeTRpNlg0aG5ibGZDb0FBQUFBQUFBQUFWQkxMMjY3ZGE4NnM3YXpxU29VS2NwVTVWS2J5YXRhYWVFbXBhWXhUeHd3MDZlWEJXdGIyZTUxWFdYbTAxcE9JaDVGN0tYSHJGeDhhZjFLNWx4ZHkvMVQ5NVI1VHVQV0sveHAvVVprN2wvcW43eWVVN2oxaXY4YWYxR1pPNWY2cCs4bzhxWEhyRmY0MC9xTXlkeS8xVDk1UEtseDZ4WCtOUDZqTW5jdjhBVlAzbFJWMlFyeVRqT3RXbkY2WXpxeWxGOUtiR1NiM253bVorN0h4SVVSaUF4Q1RLQ0VZc0pNb0NNV0JZcnR4V1hHVWxobmF4YldIUVRFdGFURS8weXYybXlNSnJ6bmhKYWN6ejg1S21wcFRXZkJuMDd5bmd2TzdtUXdtazVWY01wK2wzTWhHeVd5c2J1R1F2TzVYeVBXU3l0V2NzamhVUFM3bUViWk9GUTlMdVlOc25Db2VsM01HMlRoVVBTN21EYkp3cUhwZHpCdGs0VkQwdTVnMnljS2g2WGN3YlpPRlE5THVZTnNuQ29lbDNNRzJUaFVQUzdtRGJLcmhVUFM3bURiTHpFbmkyM25iYmJldGtPeFNFQUVBQUlBQVFFZ0VBQUFFRUFCYnVPTExxeThDVnErYUdxMlAwdm9KbDFhM0VOcFQwRlhMUEtvSWJTdzRpNlg0a3NMOHNnbFVBQUFBQUFBQUFBS2lVdFN5clpBQUFCQUFKUUFBZ0FCQUFnQUlBb3I4V1hWbDRFclY4ME5Wc2ZwZlIrNU11clc0aHRLZWdxNVo1VkJEYVdIRVhTL0VsaGZsa0VxZ0FBQUFBQUFBQUJVU2xxR1ZiQUVBQVBkYkFiUXFWNVFoYzA3eVNVbGhPRzhwdW5VV2FVSDUzSS9mbWZLWGltWWVqbzlGWFZwRm9zMlAvQUVyajY1TDRDLzhBWW50dGYrTmo2bk85azdLZHZWcVc5VllWS1UzQ1dwNnBMbWF3ZmFaejRQTXZTYVdtcytqR0NwMzlHa0RvdGx1WFNsVGhPcmN1bFZsR01wMGxSVWxUazFpNDQ1V2ZBdjIzcDEvRHN4RXpieFdkbWR6eWphMGFseld2WlpGT09PQ29MS25MUkdDODdTM2doTk1RcnFkRFhUck5wdHg4T2ZHYnpnQUJicjhXWFZsNEV3dFh6UTFleCtsOUg3a3k2dGJpRzBwNkNybG5sVUVOcFljUmRMOFNXRitXUVNxQUFBQUFBQUFBQUZSS1dvWlZzZ0NBa0E5ZnViYllPQzNIQjZqd3Q3aHFMeDBVNitpRXViSFEvd0MzVVdwT0pkdlE2L2J2dG5pZjNkak5udHViYnJXd21hR3lGTmFNbWpjWWFtL3c1dnRlSGJIVVozajFlWCtJYVBHcEg2UzVvWlBMZXgzTTlnZUUzSENhaXhvV3pVcytpZGY4a2V6VC9qckwwak11M29kSGZmZFBFZnU3R2JQYmNnM1R0c1hDSzNBNlR4b1c4bmx0YUtseG9mWkhPdW5LNWpHOXN6aDQzWGErKzJ5T0kvZi9BTWVKS09CQURFSlc2NzgyWFZsNEVwcjVvYXpZL1Mrajl5WmRXdHhEYVU5QlZ5enlxQ0cwc09JdWwrSkxDL0xJSlZBQUFBQUFBQUFBQ29sTFRzcTNRQkFBQ0dCMnpjKzJ3OE10OG1vOGJtaGswNjJPbWF3OHlyMnBQdFROcVd6RDNlazErN1R4NWpsNkRaQ3poWHBUb1ZWbFU2a0pRbXVYQnJERmFtVE1aZE42eGFzMW4xY0F2OWk2dEc0bFpPTG5YalZWS01WL1VsSnJJYTZ5Y1gybUV4NDRmT1gwN1Z2czllSGN0ck93MGJLM3AyMGNISkxLcXpYOVNxK05MNmN5UnZXTVErZzBOS05La1ZocnR2MjJIZ1Z1OTdlRnpXeXFkRFhITjUxWCsxTmRyaVJhMklaZFhyOXFuaHpQRGlCZzhGR0lFWWhLQUxkYml5NnN2QUxWNWhydGo5TDZQM0xTNmRiaUcwcDZDcmxubFVFTnBZY1JkTDhTV0YrV1FTcUFBQUFBQUFBQUFGUktXbVpWdWdBQkFBZ2JiYXRzM0t5dUlYQ3hkUGlWNEw4OUY4WmRLek5jNlJNVGlXM1Q2MDZWNHQ5LzBkN29Wb3pqR3BCcWNKeGpPRW81MUtMV0thN0RvZlF4TVRHWWFtNTJ2VXAzdExaRi93QzVTcFRoazRacFQvSlBzVHFMdGpxSzdmSExLMmhXZFdOVDFqL2Y1Yld2V2pUaktwVWtvUWhHVTV5bG1VWXBZdHZzTE5abUlqTXVDYmF0bkpYMXhPNGVLcDhTaEIva29yUjJ2TzN6dm1PZTA1bDgvd0JScXpxM20zcDZOUGlReFFBQWpFSlc2ejgyWFZsNEV3dFhtR3YyUDB2by9jbVhScmNRMmxQUVZjczhxZ2h0TERpTHBmaVN3dnl5Q1ZRQUFBQUFBQUFBQXFKUzByS3QwQUNBQWdBQjJmY3doWFZqSGY4QS9iYzVPMVQ0Nm9QWHpaV1ZoelljbUJ0VE9IdWREdTdVYnY4QUg2UFhGM1k4anVvMDY3c1pidy93MU9NcnBMak9ndFhNcFpMZk56WWxMNXc0K3VpMDZVN2Y4L280cmlZdkVBSXhDVVlnUUJicnZ6WmRXWGdUQzlJL3FocTdDdG5lYmsxbDVoMmF1bG1PV3loYzV0SGVWdzU1MGZsVndubTd4aEhZK1d3czcvQ0tXVGpwL056OUJIRG4xTkxGdVY3eWo3SHpmWVpaOXY1UEtQc2ZOOWhrN2Z5ZVVmWStiN0RKMi9rOG8reDgzMkdUdC9KNVI5ajV2c01uYitUeWo3SHpmWVpPMzhubEgyUG0rd3lkdjVQS1BzZk45aGs3ZnllVWZZK2I3REoyL2s4byt4ODMyR1R0L0tyeWo3SHpmWVpUMi9saHNoZEFFQUFBRysybDdYM2YzQ3B5VDRQVHduY3lXYnpPU0NldVRXSFJpK1F0V015Nk9tME83ZkU4Unk3ckNDaWxHS1VZcEpSaWxna2xvU1J1K2dlZXBiYktVdGtKYkdMRE5UelZOZHdzWlNwZjQ0ZHFhSzd2SERuanFLenJkdjhBM0wwTlNDa25HU1VvdE5TaTFpcEo2VTBXZEhMZ3UzUFlCMkZ6S2tzZDRualV0cFBQalRiNGpldUx6ZTU4cGhhTVM4RHFkSHRYeDZlalE0bFdDQUdJU2pFQzNYNHN1ckx3Smhhbm1ocDdMUytnMGw2T3B3ejRhQ3JHVlFReTdmaXJ0S3p5NWRYekxwRE1BQUFBQUFBQUFBS2dKWVFnQUFBcW8wcFRsR25UaTV6bktNSVFqcGxKdkJKZG9URVRNNGgzamFqc0RHeHQ0MFZnNnN2UHVKcjg5VnJQaHpMUXVqbk42eGlIMEhUNk1hVk52cjZxdHQyemFzYmFwY1puVTRsQ0wvTldseGV4WjIrWk1XbkVKNmpWN1ZKdDl2MWNGcDNWU05SVjR6ZS9LYXFxbzg4dDl5c3JLZXQ0bUR3SXRNVzNldkw2QTJ1Ykx4dkxlbmRRd1dYSENwQmYwNnF6VGgyUEhwV0RPaUp6RDZIUjFJMUtSYUdGdDMydksvdHBVNHBjSXA0MUxhVHpmaUpjUnZWSlp2YytRaTBaaG4xT2ozYVk5ZlJ3V2NXbTR5VGpKTnFVWkxDVVdzelRYSXpCNFdGT0lFWWdRRXJkZCtiTHF5OENZV3A1b2FteTB2b05KZWhxY00rR2dxeGxVRU11MzRxN1NzOHVYVjh5NlF6QUFBQUFBQUFBQUNvQXdnQWdDTVFsMHJjcDJ0NC82bFdqbTg2RnBGKzZkWHhTL3U1alNsZlY2ZlFhSC9aUCtQNWROTlhxT0o3cFd6L0NycDBxYnh0N1p5cHd3MFRxNC9pVDk2d1hSanltTjV6THhPczF1NWZFY1IrN3lPSlJ5UGNibFd6KzhYRHM2andvM0xXUmpvaGNKWnY4bG02VkV2U2NUaDM5RHJiYmJKNG45M1lqWjY3a202eHRjM3FvdGthTWZ3cXJVYmhKWm9WdVNmUkxEMzlZeXZHUEY1WFhhR0o3a2V2TG5wbTRFWWdSaUJicjhXWFZsNEV3dFR6UTFWbHBmUWFTOURVNFo4TkJWaktvSVpkdnhWMmxaNWN1cjVsMGhtQUFBQUFBQUFBQUZRQmhDbkVKUmlCVlNjY3FPV25LR1VzdU1Ya3lsSEhPaytSNEJNWXo0dWtXKzZsU3B4alRwMkxoVGhHTUlRalhTVVlwWUpMemRScDNQaDZjZmlGWWpFVldkazkxT1ZTbFVwMExaMGFzNE9NS3pyWlc5dDVzcExCWjE5Qk4wWC9FTTFtSzF4TG5CbTgweENTTTJtcFJiakpOT01vdkNVV3M2YWZJd09sMjI2emhDS3Eyam5VVVlxcE9OWlJqT2VHZVNXVG1UZklhZHg2Y2ZpSGg0MVd0a3QwNmpjVXAyOWF3bEtsVWk0VFcvckhCOHE4M00xcEUzeWkzWFZ0RTFtdkxtcmYvQU05Sm04NUFBSlc2NzgyWFZsNEV3dFR6UTFkbHBmUWFTNzlUaG53MEZXTXFnaGwyL0ZYYVZubHk2dm1YU0dZQUFBQUFBQUFBQVZBVXRnUUJHSVNqRUNBQVNqRUNBSUNVWWdSaUFDVVlnUmlCYnJjV1hWbDRFd3ZUelExdGxwZlFhUzd0VGhudzBGV01xZ2hsMi9GWGFWbmx5NnZtWFNHWUFBQUFBQUFBQUFWQVV5V0RhZVpwdE5hbUVxY1FJQWdKUmlCR0lFQkppQkdJRUFSaUVveEFnQmlFcmRaK2JMcXk4Q1lXcDVvYTZ5MHZvTkpkMnB3ejRhQ3JHVlFReTdmaXJ0S3p5NWRYekxwRE1BQUFBQUFBQUFBS2dQYzdldG8xZUZhZDFaVTVWNkZXVXFrcVZOWlZXak9UeGtsSFRLTGVMV0dqUnlZdTlxZXowZXA2UzBXbTFJekV2R1BZbTU5V3VQZ1QraFhFdVB0WCttZnNqeVZjK3JYSHdKL1FZazdWL3BuN0k4bFhQcTF4OENmMEdKTzFmNloreDVLdWZWcmo0RS9vTVNudFg5cCt5UEpWejZ0Y2ZBbjlCaVR0WCttZnN0MTlqNjhJdWRTaFdwd1hHbk9sS0VJOG1kdFlJWWtuVHZIcExDMzJQcFI5NkdFYkxleHZzZlNqNzBNRzJmWkcreDlLUHZRd25iUHNqZlkrbEgzb0cyZlkzMlBwTDNqQnRuMlJ2c2ZTWHZHRTdaOWtPckgwbys5REJ0dDdNRzl2RTFrUWVPUEdrdEdHcEZxMWRPam96RTdyS0xMUytndExXL0RQaG9Lc1pWQkN1TldTeko1dWdZVm1sWm5NcDMrV3Z1UXhDTzFUMk4vbHI3a01RZHFuc2IvTFgzSVlnN1ZQWTMrV3Z1UXhCMnFleHY4QUxYM0lZZzdWUFkzK1d2dVF4QjJxZXh2OHRmY2hpRHRVOWpmNWErNURFSGFwN0cveTE5eUdJTzFUMk4vbHI3a01RZHF2c3EzNld2dVF4QjJxZXo2aE5udUFBQUFBQWVUM1ZZNDdGWGkvN2RQOVdCRXFhazRyTDVxNE05YUs1Y20rRGd6MW9aTjhIQm5yUXliNE9EUFdoazN3Y0dldERKdmc0TTlhR1RmQndaNjBNbStGY0tHSEtNb216S3RvNFprVmxuWm1KRU1raEFBQUFBQUFBQUFBQUFGUVMrcFRaN0FBQUFBQUhsdDA5ZjZYZDlTbityQWllR2V0NUpmT3VSekdiejhtUnpBeVpITURKa2N3TW1SekF5WkhNREprY3dNaXA4d01zaWxUdzZRcGFjcmhDb0FBQUFBQUFBQUFBQUFDb0pmVXBzOWdBQUFBQUR6TzZWL0xicnFVL3dCV0JGdUdXdjhBbHkrZmpKNVlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFWQkw2bE5uc0FBQUFBQWVaM1N2NWJkZFNuK3JBaTNETFgvTGw4L0dUeXdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFxQ1gxS2JQWUFBQUFBQTh6dWsvd0F0dXVwRDlTQkZ1R1d2K1hMNStNbmxnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCZTNtWG95OXdXeEw2aE5ucmdBQUFBQVl1eWRqQzRvMUxhcmp2ZFduT25QRFNsSllZcm5DTFZpMFlsOCtiWXRxMTNZemxDdFNsS21tOGk1cHhibzFJOGp4WEZmTTgvVHBNc1REeTc2VnFUNHRLUXpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUFNiVTlwbHpmMUlwMDZsRzF4VHJYRTR1RWNqbFZQSGpTZk5tWEx6ekVaYmFlamE4L0R1UGtHMC93Q0NuN2pURDBkc1AvL1pcIjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0ZWxzZSBpZiAod29yZEV4dGVuc2lvbnMuaW5kZXhPZihleHQpID49IDApIHtcclxuXHRcdFx0XHRcdHRoaXMuZmlsZS50aHVtYm5haWxCYXNlNjRJbWFnZSA9IFwiZGF0YTppbWFnZS9qcGVnO2Jhc2U2NCwvOWovNEFBUVNrWkpSZ0FCQVFBQUFRQUJBQUQvMndDRUFBa0dCeEVIQmhJUER4QVFFdzhSRlJNTkVCSVNFZzhURVJBUkZ4UVdJaFlTRlJVWUhpZ2dHaHN4SGhjVExUMGhKU2tyTWk0dUhTc3pPRE1zTnlndE5Tc0JDZ29LRFEwT0d4QVFHaTBsSHlZMk1pOHZMUzAxTFNzdExUQTFOeThyTFMwdExTMDNMUzB0TFMwck5pc3RMUzB0TFMwdExTMHJMUzB0TFMwdExTMHRMZi9BQUJFSUFOY0E2d01CRVFBQ0VRRURFUUgveEFBY0FBRUFBZ01CQVFFQUFBQUFBQUFBQUFBQUJRY0RCZ2dFQVFML3hBQkFFQUFDQVFJQ0JBa0hDd1VCQVFBQUFBQUFBUUlERVFRVEJRWVNJUWNVSWxGeWdaR1NzUlV4TTFOeG90RVdORFpCVkdGemxNSEMwaVF5WW9LaEkwUC94QUFhQVFFQUFnTUJBQUFBQUFBQUFBQUFBQUFBQXdZQ0JBVUIvOFFBTVJFQkFBRURBZ1FFQlFRQ0F3RUFBQUFBQUFFQ0F4RVNVUVFVTTNFRk1sS2hFeUZoa2ZBVkl6RkJKSUhSNGZIQi85b0FEQU1CQUFJUkF4RUFQd0M4UUFBQUFBQVZockhVdHAydjAvMFIyckVmdDB1SnhFL3UxSTdOUkxoRGt6VU1HVE5Rd1pNMURCa3pVTUdUTlF3Wk0xREJrelVNR1ROUXdaTTFEQmt6VU1HVE5Rd1pNMURCa3pVTUdUTlF3Wk0xREJrelVNR1ROUXdaTTFEQmt6VU1HVE5Rd1pNMURCa3pVTUdWd0hBV0VBQUFBQUNwTmFhbHRZc1IwLzBSM2VIajlxbHdPSm45MnBGWnBQaEJrelJneVpvd1pNMFlNbWFNR1ROR0RKbWpCa3pSZ3lab3daTTBZTW1hTUdUTkdESm1qQmt6Umd5Wm93Wk0wWU1tYU1HVE5HREptakJrelJneVpvd1pNMFlNbWFNR1Y0RmJXWUFBQUFBQ29OYXZwSGlPbitpTzl3M1NwVi9pdXRVaWlkQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDOUN0TE9BQUFBQUJVR3RYMGp4SFQvUkhlNGJwVXEveFhXcVJST2dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQmVoV2xuQUFBQUFBcURXcjZSNGpwL29qdmNOMHFWZjRyclZJb25RQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUF1RDVSNEw3YmhQekZIK1JYL2dYZlRQMmxZZVlzK3FQdkI4bzhGOXR3bjVpai9JZkF1K21mdEp6Rm4xUjk0UGxIZ3Z0dUUvTVVmNUQ0RjMwejlwT1lzK3FQdkI4bzhGOXR3bjVpai9JZkF1K21mdEp6Rm4xUjk0UGxIZ3Z0dUUvTVVmNUQ0RjMwejlwT1lzK3FQdkI4bzhGOXR3bjVpai9BQ0h3THZwbjdTY3haOVVmZUZXNnk0NmxXMC9YbENyU2xGenVwUm5CcHF5M3BwbmE0ZW1ZdFV4TU9KeEZVVGRxbUpSbkdhZnJJZDZKTmhCazR6VDlaRHZSR0RKeG1uNnlIZWlNR1RqTlAxa085RVlNbkdhZnJJZDZJd1pPTTAvV1E3MFJneWNacCtzaDNvakJsOVdJaEoyVTROdmNsdFIzZ3l5QjZBQUFBQUFBQUFBQUFBQUFBTlZNMFFBQUFBQUFBQUFBQUFBQUIrWnljSU5wMmFUYWE4NmE4ekk3c3pGRlV4dEtTekVUY3BpZDRiUGc1T2VFZzN2YmpGdDg3c1kyNXpUQ1M1R0s1aUdVellBQUFBQUFBQUFBQUFBQUFHcW1hSUFBQUFBQUFBQUFBQUFBQS9GYjBNdlkvQWp2ZE9ydEtXeDFLZThOaHdWVCtqaDBZK0I1YjhrTXJ2bm51elpobGhnWmd3R1lNQm1EQVpnd0dZTUJtREFaZ3dHWU1CbURBWmd3R1lNQm1EQVpnd05iTTBZQUFBQUFBQUFBQUFBQUFCanIraGw3SDRFZDdwMWRwUzJPcFQzaE5ZUi8wc09qSHdGdnlSMlpYZlBQZG11Wm95NEM0QzRDNEM0QzRDNEM0QzRDNEM0QzRDNEVHZXNBQ1QwYnE5aTlLNGQxTVBRblVnbTRPVWRteWtrbTA5L00xMmtWZCszUk9LcHdtdDhQY3VSbW1Ndlg4ak5JL1k2dnVmRXc1cXo2a25KWC9TaHNYaHA0TEV5cFZZdUZTRDJaUmZuaStZbXBxaXFNeC9EWHJvcW9uVFYvTEVaTVg3b1VaWWl2R25CT1U1eVVJUlhubEtUc2t1dG84bVlpTXk5cHBtcWNRbS9rWnBIN0hWOXo0a0hOV2ZVMmVTditsNDlKNkJ4V2lhS25pS0U2Y0pQWWk1V3M1V2J0dWZNbVowWHJkYzRwbktPNXc5eTNHYW9ScEtoQUpYUjJyZU0wbmhzMmhoNmxTbTI0cVVkbXphOC9uWkRYZnQwVGlxZm1ubzRhN1hHcW1QazlQeU0wajlqcSs1OFRIbXJQcVo4bGY5S0RxUWRPbzR5Vm5GdUxYTTA5Nko0bk1aYTB4TVRpV0d2NkdYc2ZnWVh1blYybEpZNmxQZUUxaFBtc09qSHdGcnlSMmUzZlBQZGxNMkFBQUFBQUFBQUFBQUFBQUJDSHJBQXNyZ1kwanM0akVZVnYrNVJ4TUY5OFhzejhhZlljenhHajVSWC9BS2Rid3k1NXFQOEFhMURsT3NwWGhhd0hGZGFjMUxrMTZjS2wvcTI0OGxyc2pEdE8zd0ZlcTFqWncvRWFNWGRXN1N6ZGM5dHZCZm8vajJ0dE9UWEpvUmxpSHpYVzZQWHRTVDZqVDQ2dlRhbU4vazN2RDZOVjNPeThUaHU4MW5oSDBmNVExUXI3dVZTU3hNZnUyTjhuM052dE5uZzY5TjZQcjhtcnhsdlhabjZmTlE1MzFkQU9oZFR0SCtUTldNTlNhdEpVMU9hNXB6NVVsMnlaWGVJcjEzYXBXYmg2TkZxbWxsMW4wbDVJMWZyNGk5cFFwdlkvRWU2SHZPSjVabzEzSXBlM3E5RnVhbk9oWTFZZml2NkdYc2ZnUjN1blYybExZNmxQZUUxaFBtc09qSHdGcnlSMmUzZlBQZGxNMkFBQUFBQUFBQUFBQUFBQUJDSHJBQW5kUnRJK1ROYThQVWI1TXBxalBtMmFuSnUvdVRhZlVhL0ZVYTdVdzJlRHVhTDBUL3AwQ1Y5WTFmY01tQXp0RFVjUWx2bzFIQi9kQ290NzcwWWRwMFBEcThWelR1NTNpVkdiY1ZiS2lPdzRpMnVCclIrVm91dmlXdDlXYXBSNkZOZWRkYzMzVGtlSTE1cmluWjJ2RGFNVVRWdTMrcGlJMDYwSU44cWUxc3JuMlZkLzhPZkVUTVpkSE1mdy9WV21xMUp3a3J4a25HUzUwMXZRaWNmTjdNWmMyYVJ3ajBmcENyUWwvZFNuT2szejdNbXIvd0RDeTBWYXFZcTNWYTVSb3Jtblo2Tlg4QjVVMDVRb1d1cWxTRVpkQzk1KzZwR042dlJibXBuWW8xM0thWFJ4VzFtVjN3eWFSeWRGMGNNbnZxemRXWFFwcmNuL0FMU1Qvd0JUbytIVVpybXJaemZFcm1LSXAzVktkZHhXT3Y2R1hzZmdSM3VuVjJsTFk2bFBlRTFoUG1zT2pId0ZyeVIyZTNmUFBkbE0yQUFBQUFBQUFBQUFBQUFBQkNIckFBWHQ1dlA0QWljT2p0WDlJZVZkQ1VNUnV2VXB4bkszMVR0eWwyM0szZG8wVnpUc3RGcXZYUkZXN3phNVlEeWxxdmlhVnJ5ZE56Z3VlY09WRmRzVVpjUFhvdTB5eDRpalhhcXBjODMzRmlWbDBOcWZvL3lYcXpocUxWcEttcHpYTk9mS211MlRLN3hGZXU1VlVzM0QwYUxkTkxXTmROT2NSMTgwZEMrNm5lVlRmdXRYZXcyL1lrMzFtMXc5clZZcm44K1h6YTNFWHROK2lQejUvSllCejIrcEhoVndIRTliSlRTNU5lRUt5NXRwTFprdmRUNnp1Y0RYcXRZMmNMeENqVGR6dTlIQkZnT002elNyTmJxRk9VaythYytTdmRkUXg4UXJ4YjA3c3ZEYU0zSnEyWE1jVjIxRjhKdWt2S0d0dFJKM2hRVWNOSDJ4M3o2OXFVbDFIZDRLalRhajYvTndPUHVhcnVOdmsxVTIya3gxL1F5OWo4Q085MDZ1MHBiSFVwN3dtc0o4MWgwWStBdGVTT3oyNzU1N3NwbXdBQUFBQUFBQUFBQUFBQUFJUTlZQUFDNGVCN1NQR05BVk1PM3ZvVkcwdWFuVTNyM2xVT040aFJpNUZXN3VlSFhOVnJUczMxNzBhRG9PZjhQb1BhMTJXQnR5VmlYU2FmMTBZemJiN2liTEJONzlqNG4wOS84QTFYcWJQK1I4UDYrem9BcjZ3dWZ0ZXNmNVIxc3hNMDNhTThtUDNLbWxHNjY0dDlaWU9GbzAycVlWM2k3bXE5TTdMeDFmeC9sVFFsQ3Y5ZFNuQ2N2dW5ibEx0dWNPN1Jvcm1uWjNyVmV1aUt0Mmw4TXVBemRGME1RbHZwVkhTbDBhaXZkOWNGMm03NGRYaXVhZDJqNGxSbWlLdG1UZ2N3T1RvU3RYYTMxcW13bnp3cHgzZTlLWjU0alhtdUtkbnZodEdMYzFidDMwbGpJNlAwZlZyei90cFFsVmw3SXhidC93MGFLWnFxaW1QN2I5ZFVVMHpWUDlPYmE5YVdJcnlxVGQ1ems2a256eWs3dDlyWlpZaUlqRUt2VlZOVXpNdndlc1dPdjZHWHNmZ1IzdW5WMmxMWTZsUGVFMWhQbXNPakh3RnZ5UjJlM2ZQUGRsdVpzQzRDNEM0QzRDNEM0QzRDNEM0QzRDNEM0QzRFSWVzQUFCdW5CTnBEaW10R1UzeWNSQ1ZPMzFiY2VWRjlpbXVzMGVQbzFXczdPaDRkYzAzZE82NmppdTQwakRhR3R3clZhOXVTc1BIRXA4MDVmK2EvNUNvYjAzZjhXS2Zyai9BT3RLTFgrVk5YMC82YlZwckhMUm1pSzFkLzhBeXB6cUpjN1NkbDF1eHFXNk5kY1U3dHE1WG9wbXJaemMyNU83YmJlOXQrZHZuTEtxOHptY3JrNElkSWNaMWJsUmIzMEtra2wvaFBsSjk1MU93NHZpRkdMbXJkM1BEcTlWckd5ZDE1d1BsRFZQRTA3WGFwdXJIbjJxZHBKTHUyNnlEaHE5TjJtV3h4Tkd1MVZCcVBnK0k2cFlXRnJOMDFWZlB0Vk9VNzljaHhOV3E3VlA1c2NOVHB0VXg5RVB3czZSNG5xeGxKOHJFVGpUOCsvWWp5cFAyYm9yL1ltNENqVmR6c2c4UXVhYldOMUxIYmNFQXgxL1FTNkw4Q085MDZ1MHBiSFVwN3dsY0xMK2xoMFkrQjdiOGtkbnQzenozWk5zelJtMkEyd0cyQjkyd1BtMkEyd0cyQTJ3RzJCOTJ3UG0yQTJ3RzJCRkJpQUFQVG92R3ZSMmtxVmVONzBwd3EyWDE3TWsydXRYUmhjbzEwelR1a3RWNks0cTJkSjA2aXEwMUtMdkdTVWsrZFB6TXJVeGhhSDRqUWpIRXlxVzVjb3hwdC80eGNtbDJ6a2U1bkdIbUl6bHBmQzdwRGkycmNhS2ZLeEZTTVd2OEljcHZ0VlB0TjN3K2pOelZzMGZFSzlOckc2bWp0T0UzbmdoMGh4YldTVkZ2azRpbTBsejFJY3FQdTVob2VJVVp0eFZzNlBodHpGeWFkMXh6aXB3Y1h2VFRUWE9tY1oyeWxUVktrb3g4MFVvcjJKYmhNNUkrU25PRjNTWEd0WTQwRStUaDZhVFhOVXFXbEwzY3M3UGg5R0xlcmY4L3dDWEU4U3VadVJUczBZMzNPQU1kZjBFdWkvQWp2ZE9ydEtXeDFLZThKSEMvTm9kRmVCbGI4a2RpNzU1N3NwbXdBQUFBQUFBQUFBQUFBQUFJMDhZZ0FBQmVuQjlwbUdMMVNvYmRTQ25TVHc4azVSVDVEdEh6LzQ3QndlTHR6VGRuRWZ6ODFpNFM1RlZtbjdOaTQ3UzliVDc4ZmlhK21yWnM2bzNWQnd0YVVXTzFoalNoSlNoUXBwYm5kWms5OHQvc3krdzdIQVc5TnVabiszRjhSdWFya1V4L1RTRGVjNTdkQjQ5NkwweFJ4Q3Yvd0NWU0U1Vzg3aW55bDF4dXVzanUwYTZKcDNTMmE5RnlLblJLeDFKcjB0UHZ3K0pYZE5XeXphbzNmSjQrakNMYnEwN0pYZkxqNWwxalJWczgxUnU1MTB2am5wUFNsWEVTdmVyT1ZTeitwTjdvOVNzdW9zZHVqUlJGT3lzM3E5ZGMxYnZJWm93REhYOUJMb3Z3STczVHE3U2xzZFNudkNSd3Z6YUhSWGdaVy9KSFl1K2VlN0tac0FBQUFBQUFBQUFBQUFBQUNOUEdJQUFBZkxBTEF5K2dBQUh5d01sZ1pmUUFBREhYOUJMb3Z3STczVHE3U2xzZFNudkNSd3Z6YUhSWGdaVy9KSFl1K2VlN0tac0FBQUFBQUFBQUFBQUFBQUNOUEdJQUFBQUFBQUFBQUFBQUFCanIrZ2wwWDRFZDdwMWRwUzJPcFQzaEk0WDV0RG9yd01yZmtqc1hmUFBkbE0yQUFBQUFBQUFBQUFBQUFBQkduakVBQUFBQUFBQUFBQUFBQUF4MS9RUzZMOENPOTA2dTBwYkhVcDd3a2NMODJoMFY0R1Z2eVIyTHZubnV5bWJBQUFBQUFBQUFBQUFBQUFBYVMwRGlkR1l0MHF0S1Nta20xSGxxelc3Zkc2TlBuckcvdExiL1Q3KzN2RHk4UnErcm4zWmZBYzlZMzlwUDAvaU52ZURpTlgxYys3TDREbnJHL3RKK244UnQ3d2NScStybjNaZkFjOVkzOXBQMC9pTnZlRGlOWDFjKzdMNERuckcvdEorbjhSdDd3Y1JxK3JuM1pmQWM5WTM5cFAwL2lOdmVIanExbFJxT01ycVMzTmJNdHo3RE9PS3RUR1luMmxIUENYWW5FeDd3L0hHb2M3N3N2Z2U4emIvQUNKZWNyZDI5NE9OUTUzM1pmQWN6Yi9JazVXN3Q3d2NhaHp2dXkrQTVtMytSSnl0M2IzZzQxRG5mZGw4QnpOdjhpVGxidTN2QnhxSE8rN0w0RG1iZjVFbkszZHZlRGpVT2Q5Mlh3SE0yL3lKT1Z1N2U4SEdvYzc3c3ZnT1p0L2tTY3JkMjk0Zml0aVl5b3lTYnUwMHVUTG05aGhjdjBUUk1SdHRLUzF3MXltdW1aM2orNFNHSHEydzhlaXZBbnQrU096WHUrZWU3Sm1rakF6UUdhQXpRR2FBelFHYUF6UUdhQXpRR2FBelFHYUF6UU9sQ3JMV0FBQUFBQnovQUs5L1RERi9pZnRSWU9GNk5LdWNaMXFrRGMyR3NYQVhBWEFYQVhBWEFYQVhBWEFYQVhBWEFYQVhBWEFYQVhBWEFYQVhBWEFYQTZlS3V0Z0FBQUFBSFAydmYwd3hmNG43VVdEaGVqU3JuR2RhcEJHdzFnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWRQRlhXd0FBQUFBRG43WHY2WVl2OFQ5cUxCd3ZScFZ6ak90VWdqWWF3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU9uaXJyWUFBQUFBQno5cjM5TU1YK0orMUZnNFhvMHE1eG5XcVFSc05ZQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUhUeFYxc0FBQUFBQTUrMTcrbUdML0FCUDJvc0hDOUdsWE9NNjFTQ05ockFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBNmVLdXRnQUFBQUFIUDJ2ZjB3eGY0bjdVV0RoZWpTcm5HZGFwQkd3MWdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBZi9aXCI7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGVsc2UgaWYgKHBkZkV4dGVuc2lvbnMuaW5kZXhPZihleHQpID49IDApIHtcclxuXHRcdFx0XHRcdHRoaXMuZmlsZS50aHVtYm5haWxCYXNlNjRJbWFnZSA9IFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFNb0FBQUQ1Q0FNQUFBQlJWVnFaQUFBQXcxQk1WRVgxOWZYL0lSYi8vLzhzTEN6L0FBRDErdnI1c0s3L0hBLzdsWlAvVWszNHZyejAvLy81cWFmNysvc2tKQ1QxK1BnYkd4dHJhMnVscGFXZG5aMWtaR1JYVjFlWGw1Y1NFaElBQUFEL0dBbk16TXkrdnI0Z0lDRDhjR3o0eWNqMThQRC9LUi85VjFJTURBei9NaW4zMjlyNXVMYjdscFAzejg3MjV1WC90clQ5WjJQN2pvdjZvWi8rU1VOOGZId1hGeGYrUVRyOGVuZjdoWUwzMXRYK05pNkxpNHV3c0xEWTJOam01dVpNVEV6OVhsbjliR2oyNE4vOGYzczlQVDMvcjZ4MmRuWWZINm43QUFBTmIwbEVRVlI0bk8yZGFWdmlQaGZHUTAyc0VySHFPRXFSVFhaWkZCQlJRWjMvOS85VVQvYW1VQlNrYVp2bjRyN214VWlCNXNmSlNVNjJVK0NzcS9VdzdZL3J1ZVRWUEswTUhsb1JKZHBLWVBXRjdnUVMrVzRLSkxtYzY5T2JWL0p4b0R3MElVd0ZRaGY1SllmN29sVHJNQjFyck1xRjhHd3ZsR1ZHUUpqZ2JGZW5DVkJhZnZwVlM1Y0xPNzlFeVdmSkpGencvbGNvRDJHVHNKWWtCWVYvVGpncjdJNlMxMGxJQzlJZkRNOFMxL0JrTWdyandPWU9MQnlscFpGQS82U0ZNVXBGNUw3ZGs1d0c0Ky9Bd2xGY043RElHVUllU0U4ZXd1MTY4TXY2OWRwT0tFdjFVZGdIS0VVT0xvUUdnV0cyWjZFbzFZQmtpTlBtWU1MUHJxOVljbHV5VUpTbS9BbmdjVFpJaUdGcU03Z3JDMEZwdzR6WmhNb0RHb3ZmMnhKbDVrby95UTRKWlJudnlBS2NyakpLMnFVUFMyZHg0Ullzd1BrVUh5Q3RjTnFsRDJ0WEZ1Q0l0N3R1eGtnSWl6ZmFoUVhJamg1Mk1vZXl3dkx4RTRxTUkyRXJ6VDUrZ3p4MHVqMExHTWozWnFuNUNoUmkrWDR3QnZxOFcvV1gyVVFCNkg1YkZqRGl2UW84eVo2cmNHM05BdW9aYllvRG9ZWEc4dndOaWdxL01vc0NjTUNTKzRiRkJoU0EreHBMMTJxVTdWanNRQUY0cWJGVXJVWUJ1UElqaXkwb1c3Qllnd0x3UkdPSm11dTNCK1ZIRm90UUFQNzhsc1VtbERCTDIyb1VnS2NheTRQVktOK3lXSVlDOEVCaitXYzF5amNzMXFFQWZLS3huRm1OQW5CSFl4bGFqUUx3TUpMRlJwUU5MRmFpaEZrNlZxTUFmTFp1RjB0UndpeHRxMUVBUHRaWVdzWlI2SW92K1JmL0YxTnBMRzdkTkFxdUxpR0UvVFkyTXh1TjFYSmREazdOb3FBS3BKTzRQbXcrbXpHTXp2SmhFb1VPeHZsZUR4ZFdEYkdvT3VZdkRLS2dLaUZaOWtDVkxsMlpXdkVJWW43aStjWlE4TUtIZmVJbENOMzdPYmRwYUowQWorV2E4S2ZCQ2thTVVxTzI4RDZndWJiZVU3dHpvREVVcnd0aGhac0NONG03akUyWlJVN0R3SllwRk5TR3NNMi9FbGQ4MnNTWThSYnZXYUk4R0VNWlF1bnJhR3F3aGdFc1VRWW1VZVIvNlJBV2ZwcENPWlVya01aUVRpQVU3c0ZRL0h0RHpvS0VzN2luU2FEUUNtYXNPVVppMnNJZEdVUHBLQlErQnc4TlZURFVNWTVDZkVXMFdmaWUxbVpvYUljRE9qRmV3WTRoN1BIL1lyWjF6bUtVUElUUG9qRm05N0lYaGZiMmVmYVZMSEF4NkN2bVVYb1FEdGxYSXJFZDIxUUxaaHdGZUJCT1VYQXZZMEZZQWlpNENYbXZpTm1HSUg5aE1VcGZkQ3lZalNpTUJTNEpvTkR1dnVjeHAySGZQN1FZcGMyYk1PSDFNdUtQWFVtNFBXbkM2QjR6RVNNWjI4K1lBQXJBdm4rS1ZSQnVxb2RNQnFVQ1lRM1FNYjdKdGpnUkZCcUZ0WkhIajJFWWE4QVNRU0hPNGkreGRCVmpzK3RKb0FBODlxR0grZUVGYzd1WUUwR2hRNVlxNzFWeTBOalczMFJRYUhNODVadkxmWFBuU1JKQm9lMXdmZWtiN2V1VFFrRm5NTWRuZGd4dStFOEdCZFRVaEs2NVhmSUpvZUNGTUVyRmVoUWtscVZNcnRrbWhTTE9rWm1hKzJiM1NLaUM4UTIxcnNtek1RbWhBR0dVaWZVb1NLeDZHaHQyc1pzazAwV09mT091a2xEZzhpRlhjVDV0cjJCcXVjRG82YjVrZ254ZXZkd1pIeGtiVWlLalNIR01IM1pIdmtISFQyUnN2eFJPajF2UTRGSHJKRkJxcWxQQkF3aU5IYnRNWWtwUGJHK2tXM1hRekZ3VlMyTE9XR1Frb09zcXRGbG1zNjRHbE1oU2tkYW5rSDdmSDVtcFl1WlI1TkVzMkdYR3dBc0lCMFpZektNSXAzZnJXUDF0Wm9PYmNSVGw5REloQWVsbFhMNnBLbVlaUjhGMTRmVEsyZkhVakx1WVJwRTl2VDcvUmVKa09JMmZ4VFNLbXAvUTNNT3JrU29XZis5aUdFVXMyZ1ZPejI5SzJtZllpajNVTTRzaXcvdVZTVWw4RE4wY2lObjFUVnRGanJsV2VuZ2FqTVVkNzV0RmtXUDY5ZFFkZENVczdQcWVweVZ0ODM1aE1iTW9LdnhhN3hQUldBU1dIazgzVjJ0MTg4ZkRZYWR6MGhtZXRiczloSGROR1djVVJiYkVZYWZuSWcyQ0Mxc1kxNTd6dytsaXRwN2k4SFJRM1MwQm5sRVV2cFV0YWlXQ21JS013OXo2YUZPdVJwNGxjdERid1o5TW9xZ04yV3g5V01QQXVKY2ZzS1FzTGp0M2tMdWZETTd5M1ZhTnFkZXFubFY0cGtZSU85dXptRVNSKzdHMTZYdGlqRnAxMktmbDk4blA3dWY4cytvSHdDd2xwSFIxNnYvWU8rYkpEZUZwRmxCazkwaWNuaFdTV0tPV240NEZCWVQzSjlVRmRHZlAwYjg3UW4zQnNxMWRES0tvMmE4WlpoeXQ0U2s5eEVJeHhwL0hMZEpFSWJ3a3ZqOUYwVGNVVTVwYkwvbVpyR0RTS0hsU2Y2cURPczFZVFkzUnFkYXdiSnZva1daWTcwWWVuRkp6VHFtanlJR0tPOEo1bW5xYllvdzZYV29NN1YyNERWMFhWbnBSTUNpWTNrZ1pKZWNLRk1GUmFkY2l1ajMwTWFQSHB5WWY2ekE0TW43YmZFTlRLRWlkSkhNcHgyY1ZiVGhMNkxIa3BSRDJ1NnR2a1BObmc1UlJnZ05MMzNId3R6NlBXWmM0UGdhNmFmRHFVUG9IR1VMeDFQRSt5dkZUL09HUm9CK3lsT1dUcW5JbC9CeHV5MytVRVJRUGQrOVZPYlk2bzRxOElldmZTU3MzemRjdzdUUGwwZUN0VDFZWVFHRWdJdDN0OW91UHlEdWJzY3o4cEVMTytwV0Z6Tkx2YnIwa0V6dUtEa0xhc0IxQ1c0UzduenhMTnVsR2ZRbVMyL3FBYTh3b0hFU2g3RGgzNTlHdWxBZkxQZzl1bXNQdDQveFlVUVFJSEV4L3ZRMkVCRGlnZTN3eVdTNzZrOEh4eHk2SHdXTkVrU0NUbm9vamYvbEZiRnlKOFk2cHgyTkQ4WEJyd1VHd1BBcG5kSlYrWFhHaG9GcEZnSGhxYnNMVVVidE5SWWdGQmRIZGtUNlBDajI1OTh2VWt0REdRc1NCZ3J0TkFySm9zYkJEVGEwbW5WVTBCaFRrVFVqa082N3krRW4yMGlaWDZEZVVZMjhVL0V3NzZEUFJiQWFqNElTclZ3d29KSDUxNGJJbVA0UEdxYlJlN05iN29YaG9TYndrcitxU3pIRm5jby9rSnUySDRnRVNacHdxazZqeGx0dE0zQ1o3b3RDazczQWFESmVRMml4bGN0L1hKdTJGZ2tiVTM5V2ZIcERyanZrVWpMSVhDcDdBMEdNMDhLa2NqS2VTUFh3UEZGUU5UK21xdlFZcFBaRmlEeFE4QzAyQ3lvU0RjSlJHN1FMN29IaFZxSTlWNWZ5STM0eDdqWEZiL1I0RkRhQjJBazJSMUUxc2xOaXVRTDlHSWE0UjlJTXliV0tLSlB0WTVWTlpCU0hwOGJQMFNQWkJvZWRwMlJZdm5CZlBySUwzYWZrSks5QWVqYkhyd2pZWmdlZEgvSUZWYmtyOWlTclBYdjFLRHJwanlLZUtYTmpzcHZ0Y2piMTZlMUxGeE5QWklLd2ZtOHI2dDYzMmk4RStLdUl4Z3BQdHBvYU5hczhnSDROdVBsL3Q0UTNMaVlscTcxR2s5N3NOS1FhVTFLbWlCSFJBeWFJT0tGblVBU1dMT3FCa1VRZVVMT3FBa2tVZFVMS29BMG9XZFVESm9nNG9XZFFCWlZVRjdWRlVCYUlOMTFZdnJYMDJlR2RhS0lXWGE2WEx4NXQ1Q1FSbEtjeERsMTRMSzhVc3pQOWVyK3RxZDVaNFVKekxpM09sY3ZtaTBiaDhkV1JSLzl4cWw1NGFGNDhsUi85czRTcTRydlQwa2g3SytWRlk1OFVYUjZKY2hDK1ZpMy9mdElJV3JsYXVzL2RrQ09Yb3FQSG9SS05Rem5sZ21HeWlsQnRVdDZKb2pYbEJRem0vSmJxUXhNVWJ4U0pSYm5VVkg5TkZLYi9VM29oS1YxOWx6dklXb0p6L2ZTMlY3dWFQNVNmQk1wZGxGU2p2NUxxbTE1M0xFQ3ZLQmYrcFNZUDc5enlvSlFMbGtyWEVUbUgreEMxVGZBdWhuUDlsMTVWMko0a1pSWldBbStWSlE3bVdyY0RiRjJNaFpWOUIrVVhwRTBBUmxhWlJLcXloZ0FJUVZheFVzQUVGdkRWb2FTK3VJbEJBb2NRdXlsZXlqbEpvS0dkWlF3RU9keVhoTFZsSGNiamZQMGFpRk81dW1jMUVZNTF4bEVMNUc2c0ltNUZHelFZVVVHUW9OOUVvempVM21nMG9oVmRXaFo3bUc2eHlVdzZjSmVNb3pnc3JhK04xQThxYzlmbTNyRG1PNkNJemhPSzhGbm5mUVlzZmhWTGlScnNMVUk3ZTk0dGE0a2I1dzRNVGNNVktTdjZPNk8wWnltc2phTUxXdzhuaWY3K3lTNXdvNTljM056Y3ZqMzhiSWpRdTgzS3ZvNERYb0FlTkNQTEx2d2lMWTBZNUlxUEVjdmxjQmZJbExjZ1BvN3hGV0NWYktDSEo0ZFZtcXp5RlVMVFJjS1pRenArTzVBZyswbGZXM2Y3ck1waWorSk0reXZrRjFkTnQ0L1o2cnByVUtKUzdKOVZXQjQzeFhqTkhNYU9jWDE0UnplOUtvUW1pS0JSdWlHSXQrQ05yWGVRZko2S0xpMEo1UEZmZFRrWlJicUpxUmxRTXh2M0prbkF5VUVTUXIvZVFkcU9JQ00yU29aZW1pQXJHbW1KWmVKdFJuRWRtbE5zN082WXBOSzJpT0hNZU5uL1pNWG1rSzR4U2NLNktlb1JtSXdxZG5YUWNjUGN1QmdDUGFsN01OcFNqcjhmSC95N2ZHMkthdGZ3ZXpHaFloOElpWHhsdFhyeHIxKzFEMGVOL2ZaaG9NVXE1OFhXbkZ6dHJLTmZGcDZlbllqVEtEYjNHZGRzb2ZyMlV3a0Y4NFlwZWI3eG5CS1ZRdXFPS25pbDV2Vk1xdlFKbmJXNklYeS85YnBDaUthNTErKy9tcjM1YUFkcG44a3ZUWVRkRkZuVkF5YUlPS0ZuVUFTV0xRcDMvUjVTNlFFazZnMVJjVXBsNjc0RkkzN2x0OHMzTVNXYUM5cGVnenhNditTbWtLNHBGZUNSc01RVlRZWitJOU9sV1NEMWVZQWlPMDB4WXRML0UwNmRwc2t1ZzhxZWJleWl0U2NsOFhqVC91eU96b2xwYXcyVHhadzV3SmhMcndVS3p5RXd5cEFVbUtMS3l1YTU5enVJRmp3ZitJQ2hPWFNhR052bmNVRE9TejN6SSthY09SZm1ueUk0dFkxSFZpN1JmRE1VUlNkVHBDMWF4WUptU091ZVBISTZTbDYva1lOc2lGcGtHaTViN1dhQTRpK0Mxenl3a05ObEdDQ3kxVWpzU1JiVUQ1TlY2ZnVjSDB5UXZEL0ZzN3JKTGRCU0swdzFZWERnN284bG1zaXpjRzlhREV0T0dPRUFKV2pFR0E4ZWZ3M1krbzJvUEowMyt5Qm10OWRKUW5LSEd3bWl5TEZjdksydzdZWlNRWFN5U0MvUE9LZ29KWVB5ZlA1azFRYi9scktNNHRWUGJET1BDdm5hUVQwTnhuQWRvRTR3TGMzbTk5Q0VVNnYyMlZEUHlxLzhMbDMwRnhYSGFDMGdmTDVSMlNiOFRlNGJUc3JwYThqVVUyZ0FNSzZPMGkvdWRUaWZEYmtTeC93ZEVWMlhmTDNNUGJ3QUFBQUJKUlU1RXJrSmdnZz09XCI7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGVsc2Uge1xyXG5cdFx0XHRcdFx0dGhpcy5maWxlLnRodW1ibmFpbEJhc2U2NEltYWdlID0gXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQURBQUFBQThDQVlBQUFBZ3dEbjhBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQXlacFZGaDBXRTFNT21OdmJTNWhaRzlpWlM1NGJYQUFBQUFBQUR3L2VIQmhZMnRsZENCaVpXZHBiajBpNzd1L0lpQnBaRDBpVnpWTk1FMXdRMlZvYVVoNmNtVlRlazVVWTNwcll6bGtJajgrSUR4NE9uaHRjRzFsZEdFZ2VHMXNibk02ZUQwaVlXUnZZbVU2Ym5NNmJXVjBZUzhpSUhnNmVHMXdkR3M5SWtGa2IySmxJRmhOVUNCRGIzSmxJRFV1Tmkxak1UTTRJRGM1TGpFMU9UZ3lOQ3dnTWpBeE5pOHdPUzh4TkMwd01Ub3dPVG93TVNBZ0lDQWdJQ0FnSWo0Z1BISmtaanBTUkVZZ2VHMXNibk02Y21SbVBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1THpBeUx6SXlMWEprWmkxemVXNTBZWGd0Ym5NaklqNGdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlnZUcxc2JuTTZlRzF3UFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwzaGhjQzh4TGpBdklpQjRiV3h1Y3pwNGJYQk5UVDBpYUhSMGNEb3ZMMjV6TG1Ga2IySmxMbU52YlM5NFlYQXZNUzR3TDIxdEx5SWdlRzFzYm5NNmMzUlNaV1k5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndMekV1TUM5elZIbHdaUzlTWlhOdmRYSmpaVkpsWmlNaUlIaHRjRHBEY21WaGRHOXlWRzl2YkQwaVFXUnZZbVVnVUdodmRHOXphRzl3SUVORElESXdNVGNnS0ZkcGJtUnZkM01wSWlCNGJYQk5UVHBKYm5OMFlXNWpaVWxFUFNKNGJYQXVhV2xrT2pBME9FRkJNVVk0T0RVd1FURXhSVGRDUlRCRU9EQTFSVGt3UWtZd1JrRXpJaUI0YlhCTlRUcEViMk4xYldWdWRFbEVQU0o0YlhBdVpHbGtPakEwT0VGQk1VWTVPRFV3UVRFeFJUZENSVEJFT0RBMVJUa3dRa1l3UmtFeklqNGdQSGh0Y0UxTk9rUmxjbWwyWldSR2NtOXRJSE4wVW1WbU9tbHVjM1JoYm1ObFNVUTlJbmh0Y0M1cGFXUTZNRFE0UVVFeFJqWTROVEJCTVRGRk4wSkZNRVE0TURWRk9UQkNSakJHUVRNaUlITjBVbVZtT21SdlkzVnRaVzUwU1VROUluaHRjQzVrYVdRNk1EUTRRVUV4UmpjNE5UQkJNVEZGTjBKRk1FUTRNRFZGT1RCQ1JqQkdRVE1pTHo0Z1BDOXlaR1k2UkdWelkzSnBjSFJwYjI0K0lEd3ZjbVJtT2xKRVJqNGdQQzk0T25odGNHMWxkR0UrSUR3L2VIQmhZMnRsZENCbGJtUTlJbklpUHo0eVA1aWVBQUFGRDBsRVFWUjQydXhheVVzYlVSaC9pYVBHZlFzS2VyR3V1Q0FGTDU0S0lpcDZzVklFZTVNZVJKSHFYOU5lbENxMVNDdUZHb1BpVXBlRG9oNFV4WlBlM1NPNGErTFc5M3Y2aHNtUW1Ka2tzMGp6d1RDVE9HYSszN2Y4M3ZkOWJ5eFRVMU5WYTJ0clB4NGZINk9zVnV1TnhXSWg5TnBLbm9SZVB0cnBPWjRlZC9TYVNFWCtPVmk1djcrMzBWTjBSVVhGcCt6czdQN3I2MnNTRlJWRm9xT2pTVnhjSEx2R0lRZ0NnWDVTRWRiWDE0ZjI5dmJlSkNRa2VQMUJmcU12VVhLUEVzSHZ1TjF1c3JpNCtLMnFxaW91THkvdjY5WFZsYUwvRlM0dUx1eXBxYW1pTXJCcXVDeXJSS2pYMlJrR3ZMbTVJVXRMUzErb3BUMzUrZmw5U2tBSWNOUHQ3UzBEZ0I4N1B6OW4xdUEvckpYQVNIaEdjbkl5TytPenpXWWpDSitGaFlWZWZGZFVWTlFIWFY0RThCeno1T0hoZ1ZtZ3JxNk9GQlFVRU9vWlRRSEV4c1l5WTAxTVRMQm54Y1RFTUQzaTQrUEo1ZVVsbVp1YjY2WGZ1Y3ZLeWdiUHpzNzhBK0F4Q0FBMG1RaDFIY25OemRVbGZPRDUyZGxaOW14Y3c5cndDTUlKSUthbnA3OVRFSjZTa3BKZnA2ZW52a09ReHpzSGNYZDNwMXY4UTJrOEQ4clNjQ0hsNWVYazRPQ0E2Y0ZKWld4czdPZlcxdGFIakl3TW4yRnRKU1lRSkd0aVlpSnBhMnRqSUhaMmRsZzRKU1VsTWNNNkhJN2ZtNXViSDlQVDAxbW9nVkk1R0ZNQTRPUUI2ZXpzOUFJQllGQjRkSFIwaUZMK2Uxd2owZUU5MHdDUVMxZFhGNkZ4VDNaM2QwVVFZRXVuMC9sbmRYVzFFYmtLcnpFbTA1UHpsUXFzREJDRmhZVWlDT1FFd29sUzdKakw1YXBKUzB0N0FrQk1LckI0ZDNjM28zUmFLYkR2a0JPdy91VGs1Ti85L2YxM0xMSE5vQ3hmMUh5QjZPbnBJY1hGeGVUbzZFZ0VnZlZxWkdSa2h1YkpXOU40d0Y5ZEJSQWRIUjJNWnJHZ2dXSlIrbmc4SG9HeTAwL0JETXFucEtRdzFoa1lHR0FLU3ZNU0lZTjRoNGNBQm9KN3NPRFJGVHhiWEltTlNHWThFMlVFUW9MR05ObmUzaFpEU2VvUnprU29sYUE4a2h4bmxDT0MwV3lUazVQRGxFUGREMnZMZXcxZUhlTUFLSURGZlJ5Z29RQmcwZmIyZHZFenJPb1BBSm9aSFAzOS9XUmpZNE9GbGVFQXVCZDhYZnNUbEJKU29LWmRCL3dKaWo5cGZydzZBSEs2ZlhVQVRGbE8vOWNBQXJJUXVxWGw1V1ZHWlVwWUlweE5EbHBiMmhPSEJnRDF4L0R3TUFPQWxVOHZRZkdHQVVQSUFHQjF1OTNPQUlDRDlXUWJWSjZCV0NnZ0FDemJzSWJlSGpnOFBDUXZqVk1VQTBBbjFORFFvSGlsREpjZzk5Q1JoUXdBWld0emMzT0VSZzJsMFpXVkZVMUNpQSswMFBkcUJrQkxHa1d6M3RyYXFncUF2UEZTUktQby9yV2dVVlNXR09hcUxiK2xJQlRScU12bDBzUURvRXFFa2Fxa2ZSN0ZLd2FBZHEreHNWR1RITUE0RVJNNHRYMjBkREVMQ0FDcllWTlRVNFJHRGFOUnVIbG1aa1pzckxVVVRCd3dRcStwcVFrdmdQSHhjVjFxb1pPVEU3WkRGRllBc0hwbVpxWXUxU2dNQk1vT1ZLV3FwbEhRblY0ZThGVkNoMXlOMXRiVzZwSUQySGtKNUlHZ3F0R1dscFlJalJwR281Z2V6OC9QQjcwUzgrYThzckxTdUhYQTZYUUduY1JvUjZ1cnE4TUtRRlVwRVdwVDc2ODVEMFZVMCtqeDhYRkFBUElOQ2FrSGxMNDZvN1FhVlJWQ3NCNTZZbmtWS0ZkVU9zK1hqcjlSTHF1dE9GWG53RXZiU3lpbjYrdnJJelFhQWVBUFFMamVlelBjQTN5M1hNL3BXekRpdDZtSDhqaXc0WXo2UjhsY1VsZExVOTJ3RlF1OXBIVHVCUUFqRGpRdkRvZEQ4NWYrZ2wzQUFBSmJySnlxQmVtWUFtZHM1OE5OWnN3Tkh1WmVJVVFSM1dPYkgzei9Hc1RqOFlnclA2b0VvYlMwOURPTnEwR2J6WGFMVjQ5ZkNmbFkzRzUzWWxaVzFzSS9BUVlBL2FPeG1Qekk3dVVBQUFBQVNVVk9SSzVDWUlJPVwiO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdGlmICh0aGlzLmZpbGUgJiYgdGhpcy5maWxlLmZpbGVEYXRlKSB7XHJcblxyXG5cdFx0XHRjb25zdCBkYXRlRm9ybWF0ID0gJ01NTS4gRCwgWVlZWSc7XHJcblx0XHRcdGNvbnN0IHRpbWVGb3JtYXQgPSAnaDptbTpzcyBhJztcclxuXHJcblx0XHRcdHRoaXMuZmlsZURhdGVGb3JtYXR0ZWQgPSBtb21lbnQodGhpcy5maWxlLmZpbGVEYXRlKS5mb3JtYXQoZGF0ZUZvcm1hdCk7XHJcblx0XHRcdHRoaXMuZmlsZVRpbWVGb3JtYXR0ZWQgPSBtb21lbnQodGhpcy5maWxlLmZpbGVEYXRlKS5mb3JtYXQodGltZUZvcm1hdCk7XHJcblx0XHRcdFxyXG5cdFx0XHQvLyBjb25zdCBmaWxlRGF0ZUZvcm1hdCA9ICh0aGlzLmZpbGUuZmlsZURhdGVGb3JtYXQgPz8gJycpICE9PSAnJyA/IHRoaXMuZmlsZS5maWxlRGF0ZUZvcm1hdCA6ICdNTU0uIEQsIFlZWVkgaDptbTpzcyBhJztcclxuXHRcdFx0Ly8gdGhpcy5maWxlRGF0ZUZvcm1hdHRlZCA9IG1vbWVudCh0aGlzLmZpbGUuZmlsZURhdGUpLmZvcm1hdChmaWxlRGF0ZUZvcm1hdCk7XHJcblx0XHRcdC8vIHRoaXMuZmlsZVRpbWVGb3JtYXR0ZWQgPSBtb21lbnQodGhpcy5maWxlLmZpbGVEYXRlKS5mb3JtYXQoZmlsZURhdGVGb3JtYXQpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0b25DbGljaygpIHtcclxuXHRcdGlmICh0aGlzLmZpbGVDbGlja2VkKVxyXG5cdFx0XHR0aGlzLmZpbGVDbGlja2VkLmVtaXQodGhpcy5maWxlKTtcclxuXHR9XHJcblxyXG5cdGFzeW5jIGRlbGV0ZUZpbGUoZTogRXZlbnQpIHtcclxuXHRcdGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcblx0XHRlLnByZXZlbnREZWZhdWx0KCk7XHJcblxyXG5cdFx0aWYgKHRoaXMuY29uZmlybURlbGV0ZSA9PT0gZmFsc2UpIHtcclxuXHRcdFx0dGhpcy5maWxlRGVsZXRlRW1pdHRlci5lbWl0KHRoaXMuZmlsZSk7XHJcblx0XHR9XHJcblx0XHRlbHNlIHtcclxuXHRcdFx0U3dhbC5maXJlKHtcclxuXHRcdFx0XHR0aXRsZTogJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGU/JyxcclxuXHRcdFx0XHR0ZXh0OiBgJHt0aGlzLmZpbGUudGl0bGV9YCxcclxuXHRcdFx0XHRzaG93RGVueUJ1dHRvbjogZmFsc2UsXHJcblx0XHRcdFx0c2hvd0NhbmNlbEJ1dHRvbjogdHJ1ZSxcclxuXHRcdFx0XHRjb25maXJtQnV0dG9uVGV4dDogJ0RlbGV0ZScsXHJcblx0XHRcdFx0Y3VzdG9tQ2xhc3M6IHtcclxuXHRcdFx0XHRcdGNvbmZpcm1CdXR0b246ICdidG4gYnRuLW91dGxpbmUtZGFuZ2VyJyxcclxuXHRcdFx0XHRcdGNhbmNlbEJ1dHRvbjonYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeScsXHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHRoZWlnaHRBdXRvOiBmYWxzZVxyXG5cdFx0XHQgIH0pLnRoZW4oKHJlc3VsdCkgPT4ge1xyXG5cdFx0XHRcdGlmIChyZXN1bHQuaXNDb25maXJtZWQpIHtcclxuXHRcdFx0XHRcdHRoaXMuZmlsZURlbGV0ZUVtaXR0ZXIuZW1pdCh0aGlzLmZpbGUpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0ICB9KVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0YXN5bmMgZWRpdFRpdGxlKGU6IE1vdXNlRXZlbnQpIHtcclxuXHRcdGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcblx0XHRlLnByZXZlbnREZWZhdWx0KCk7XHJcblxyXG5cdFx0dGhpcy5pc0VkaXRpbmcgPSB0cnVlO1xyXG5cdFx0dGhpcy50ZW1wVGl0bGUgPSB0aGlzLmZpbGUudGl0bGU7XHJcblx0XHRhd2FpdCBTbGlja1NsZWVwU2VydmljZS5zbGVlcCgpO1xyXG5cdFx0dGhpcy5lZGl0VGl0bGVJbnB1dFJlZi5uYXRpdmVFbGVtZW50LnNldFNlbGVjdGlvblJhbmdlKDAsIHRoaXMuZWRpdFRpdGxlSW5wdXRSZWYubmF0aXZlRWxlbWVudC52YWx1ZS5sZW5ndGgpXHJcblx0XHR0aGlzLmVkaXRUaXRsZUlucHV0UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuXHRcdGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCB0aGlzLmZuRG9jdW1lbnRDbGljaywgdHJ1ZSk7XHJcblx0fVxyXG5cclxuXHRvbktleURvd24oZTogS2V5Ym9hcmRFdmVudCkge1xyXG5cdFx0aWYgKGUud2hpY2ggPT09IDEzKSB7XHJcblx0XHRcdHRoaXMuZmlsZS50aXRsZSA9IHRoaXMudGVtcFRpdGxlO1xyXG5cdFx0XHRjb25zb2xlLmxvZyh0aGlzLmZpbGUpO1xyXG5cdFx0XHR0aGlzLmZpbGVDaGFuZ2VFbWl0dGVyLmVtaXQodGhpcy5maWxlKTtcclxuXHRcdFx0dGhpcy5pc0VkaXRpbmcgPSBmYWxzZTtcclxuXHRcdFx0ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIHRoaXMuZm5Eb2N1bWVudENsaWNrLCB0cnVlKTtcclxuXHRcdH1cclxuXHJcblx0XHRpZiAoZS53aGljaCA9PT0gMjcpIHtcclxuXHRcdFx0dGhpcy50ZW1wVGl0bGUgPSBudWxsO1xyXG5cdFx0XHR0aGlzLmlzRWRpdGluZyA9IGZhbHNlO1xyXG5cdFx0XHRkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgdGhpcy5mbkRvY3VtZW50Q2xpY2ssIHRydWUpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0YXN5bmMgZG9jdW1lbnRDbGljayhlOiBNb3VzZUV2ZW50KSB7XHJcblx0XHRhd2FpdCBTbGlja1NsZWVwU2VydmljZS5zbGVlcCgpO1xyXG5cdFx0Y29uc3QgY2xpY2tlZEluc2lkZSA9IFNsaWNrVXRpbHNTZXJ2aWNlLmNoZWNrUGFyZW50Q2xhc3NFeGlzdHMoPEhUTUxFbGVtZW50PmUudGFyZ2V0LCAnc2xpY2stZmlsZS1saXN0LWl0ZW1fdGl0bGUnKVxyXG5cdFx0aWYgKGNsaWNrZWRJbnNpZGUpXHJcblx0XHRcdHJldHVybjtcclxuXHJcblx0XHRpZiAodGhpcy5pc0VkaXRpbmcgPT09IHRydWUpIHtcclxuXHRcdFx0dGhpcy5maWxlLnRpdGxlID0gdGhpcy50ZW1wVGl0bGU7XHJcblx0XHRcdHRoaXMuZmlsZUNoYW5nZUVtaXR0ZXIuZW1pdCh0aGlzLmZpbGUpO1xyXG5cdFx0XHR0aGlzLmlzRWRpdGluZyA9IGZhbHNlO1xyXG5cdFx0XHRkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgdGhpcy5mbkRvY3VtZW50Q2xpY2ssIHRydWUpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0YXN5bmMgb25DaGVja2JveENsaWNrZWQoZTogTW91c2VFdmVudCkge1xyXG5cdFx0dGhpcy5maWxlLmlzQ2hlY2tlZCA9ICF0aGlzLmZpbGUuaXNDaGVja2VkO1xyXG5cdFx0aWYgKHRoaXMuY2hlY2tDaGFuZ2VkKVxyXG5cdFx0XHR0aGlzLmNoZWNrQ2hhbmdlZC5lbWl0KGUpO1xyXG5cdH1cclxuXHJcblx0bmdPbkRlc3Ryb3koKSB7XHJcblx0XHRkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgdGhpcy5mbkRvY3VtZW50Q2xpY2ssIHRydWUpO1xyXG5cdH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwic2xpY2stZmlsZS1saXN0LWl0ZW1cIiBpZD1cInNsaWNrLWZpbGUtbGlzdC1pdGVtX3t7dXVpZH19XCI+XHJcblx0PGRpdiBjbGFzcz1cInNsaWNrLWZpbGUtbGlzdC1pdGVtX2ltZyBncmF5LWJsb2NrIGNhcmRcIiAoY2xpY2spPVwib25DbGljaygpXCIgW25nU3R5bGVdPVwieyAnY3Vyc29yJzogKHNob3dQaG90b0dhbGxlcnkgPT09IHRydWUpID8gJ3BvaW50ZXInIDogJ2RlZmF1bHQnIH1cIiBbc3R5bGUubWluSGVpZ2h0LnB4XT1cIml0ZW1TaXplICsgMlwiIFtzdHlsZS5taW5XaWR0aC5weF09XCJpdGVtU2l6ZVwiPlxyXG5cdFx0PGltZyAqbmdJZj1cImZpbGUudGh1bWJuYWlsQmFzZTY0SW1hZ2VcIiBbc3JjXT1cImZpbGUudGh1bWJuYWlsQmFzZTY0SW1hZ2VcIiBbc3R5bGUubWF4V2lkdGgucHhdPVwiaXRlbUltZ1NpemVcIiBbc3R5bGUubWF4SGVpZ2h0LnB4XT1cIml0ZW1JbWdTaXplXCIgLz5cclxuXHRcdDxpbWcgKm5nSWY9XCIhZmlsZS50aHVtYm5haWxCYXNlNjRJbWFnZSAmJiBmaWxlLmJhc2U2NEltYWdlXCIgW3NyY109XCJmaWxlLmJhc2U2NEltYWdlXCIgW3N0eWxlLm1heFdpZHRoLnB4XT1cIml0ZW1JbWdTaXplXCIgW3N0eWxlLm1heEhlaWdodC5weF09XCJpdGVtSW1nU2l6ZVwiIC8+XHJcblx0XHQ8aW1nICpuZ0lmPVwiIWZpbGUudGh1bWJuYWlsQmFzZTY0SW1hZ2UgJiYgIWZpbGUuYmFzZTY0SW1hZ2UgJiYgZmlsZS50aHVtYm5haWxVcmxcIiBbc3JjXT1cImZpbGUudGh1bWJuYWlsVXJsXCIgW3N0eWxlLm1heFdpZHRoLnB4XT1cIml0ZW1JbWdTaXplXCIgW3N0eWxlLm1heEhlaWdodC5weF09XCJpdGVtSW1nU2l6ZVwiIC8+XHJcblx0XHQ8aW1nICpuZ0lmPVwiIWZpbGUudGh1bWJuYWlsQmFzZTY0SW1hZ2UgJiYgIWZpbGUuYmFzZTY0SW1hZ2UgJiYgIWZpbGUudGh1bWJuYWlsVXJsICYmIGZpbGUudXJsXCIgW3NyY109XCJmaWxlLnVybFwiIFtzdHlsZS5tYXhXaWR0aC5weF09XCJpdGVtSW1nU2l6ZVwiIFtzdHlsZS5tYXhIZWlnaHQucHhdPVwiaXRlbUltZ1NpemVcIiAvPlxyXG5cdFx0PGkgKm5nSWY9XCJhbGxvd0RlbGV0ZVwiIGNsYXNzPVwiZmFzIGZhLWNpcmNsZS14IGJnLXdoaXRlIHRleHQtZGFuZ2VyXCIgKGNsaWNrKT1cImRlbGV0ZUZpbGUoJGV2ZW50KVwiPjwvaT5cclxuXHRcdDxkaXYgY2xhc3M9XCJmaWxlLWluZm9cIiAgKGNsaWNrKT1cImVkaXRUaXRsZSgkZXZlbnQpXCI+XHJcblx0XHRcdDxkaXYgY2xhc3M9XCJzbGljay1maWxlLWxpc3QtaXRlbV90aXRsZVwiIFtzdHlsZS5taW5XaWR0aC5weF09XCJpdGVtU2l6ZVwiIFtzdHlsZS5tYXhXaWR0aC5weF09XCJpdGVtU2l6ZVwiPlxyXG5cdFx0XHQgIDxkaXYgY2xhc3M9XCJzbGljay1maWxlLWxpc3QtaXRlbV9kaXNwbGF5LXRpdGxlXCIgI3RpdGxlRGl2UmVmIHN0eWxlPVwiY3Vyc29yOiBwb2ludGVyXCIgKm5nSWY9XCIhaXNFZGl0aW5nXCI+XHJcblx0XHRcdFx0e3sgKGZpbGUudGl0bGUgPz8gJycpLmxlbmd0aCA+IDE4ID8gKGZpbGUudGl0bGUgPz8gJycpLnNsaWNlKDAsIDE4KSArICcuLi4nIDogZmlsZS50aXRsZSB9fVxyXG5cdFx0XHQgIDwvZGl2PlxyXG5cdFx0XHQgIDxkaXYgI2VkaXRUaXRsZURpdlJlZiBjbGFzcz1cInNsaWNrLWZpbGUtbGlzdC1pdGVtX2VkaXQtdGl0bGVcIiAqbmdJZj1cImlzRWRpdGluZ1wiPlxyXG5cdFx0XHRcdDxpbnB1dCAjZWRpdFRpdGxlSW5wdXRSZWYgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIFsobmdNb2RlbCldPVwidGVtcFRpdGxlXCIgKGtleWRvd24pPVwib25LZXlEb3duKCRldmVudClcIiBbc3R5bGUud2lkdGgucHhdPVwiaXRlbVNpemVcIiAvPlxyXG5cdFx0XHQgIDwvZGl2PlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PGRpdiBjbGFzcz1cInNsaWNrLWZpbGUtbGlzdC1pdGVtX3RpdGxlXCIgKm5nSWY9XCJmaWxlRGF0ZUZvcm1hdHRlZFwiIFtzdHlsZS5taW5XaWR0aC5weF09XCJpdGVtU2l6ZVwiIFtzdHlsZS5tYXhXaWR0aC5weF09XCJpdGVtU2l6ZVwiPlxyXG5cdFx0XHQgIDxkaXYgY2xhc3M9XCJzbGljay1maWxlLWxpc3QtaXRlbV9kYXRlXCI+XHJcblx0XHRcdFx0PGRpdiAqbmdJZj1cImZpbGVEYXRlRm9ybWF0dGVkXCIgW3N0eWxlLm1pbldpZHRoLnB4XT1cIml0ZW1TaXplXCI+e3sgZmlsZURhdGVGb3JtYXR0ZWQgfX08L2Rpdj5cclxuXHRcdFx0XHQ8ZGl2ICpuZ0lmPVwiZmlsZVRpbWVGb3JtYXR0ZWRcIiBbc3R5bGUubWluV2lkdGgucHhdPVwiaXRlbVNpemVcIj57eyBmaWxlVGltZUZvcm1hdHRlZCB9fTwvZGl2PlxyXG5cdFx0XHQgIDwvZGl2PlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdDwvZGl2PlxyXG5cdDwvZGl2PlxyXG5cclxuXHQ8IS0tIFdlIHdhbnQgdGhlIHVzZXIgdG8gYmUgYWJsZSB0byBjbGljayBqdXN0IGEgbGl0dGxlIG91dHNpZGUgb2YgdGhlIGNoZWNrYm94IGFuZCBzdGlsbCBoYXZlIGl0IGNoZWNrIC0tPlxyXG5cdDxkaXYgKm5nSWY9XCJzaG93Q2hlY2tib3ggPT09IHRydWVcIiBjbGFzcz1cInNsaWNrLWZpbGUtY2hlY2tib3hcIiAoY2xpY2spPVwib25DaGVja2JveENsaWNrZWQoJGV2ZW50KVwiPlxyXG5cdFx0PGlucHV0IHR5cGU9XCJjaGVja2JveFwiIFtuZ01vZGVsXT1cImZpbGUuaXNDaGVja2VkXCIgLz5cclxuXHQ8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48c2xpY2stY29uZmlybS1kaWFsb2cgI2RlbGV0ZUNvbmZpcm1SZWYgb2tCdXR0b25UZXh0PSdEZWxldGUnPlxyXG5cdDxoNCBjbGFzcz1cInAtMCBtLTBcIj5BcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlPzwvaDQ+XHJcblx0PGg1IGNsYXNzPVwicC0wIG0tMFwiPlwie3tmaWxlLnRpdGxlfX1cIjwvaDU+XHJcbjwvc2xpY2stY29uZmlybS1kaWFsb2c+Il19
@@ -13,7 +13,8 @@ export class SlickFileListComponent {
13
13
  this.thumbnailSize = 90;
14
14
  this.confirmDelete = true;
15
15
  this.filesEmitter = new EventEmitter();
16
- this.onFileDeleteEmitter = new EventEmitter();
16
+ this.fileChangedEmitter = new EventEmitter();
17
+ this.onFileDeletedEmitter = new EventEmitter();
17
18
  this.onFileCheckChanged = new EventEmitter();
18
19
  this.onFileClicked = new EventEmitter();
19
20
  this.photos = [];
@@ -41,13 +42,16 @@ export class SlickFileListComponent {
41
42
  }
42
43
  onFileChange(file, idx) {
43
44
  this.files[idx] = file;
45
+ console.log(file);
46
+ if (this.fileChangedEmitter)
47
+ this.fileChangedEmitter.emit(file);
44
48
  this.filesEmitter.emit(this.files);
45
49
  }
46
50
  async onFileDelete(file, idx) {
47
51
  this.files.splice(idx, 1);
48
52
  this.filesEmitter.emit(this.files);
49
- if (this.onFileDeleteEmitter)
50
- this.onFileDeleteEmitter.emit(file);
53
+ if (this.onFileDeletedEmitter)
54
+ this.onFileDeletedEmitter.emit(file);
51
55
  }
52
56
  async onCheckChanged(e, fileIdx) {
53
57
  await SlickSleepService.sleep();
@@ -88,11 +92,11 @@ export class SlickFileListComponent {
88
92
  return this.files.filter(x => x.isChecked === true);
89
93
  }
90
94
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: SlickFileListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
91
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: SlickFileListComponent, selector: "slick-file-list", inputs: { files: "files", allowDelete: "allowDelete", showPhotoGallery: "showPhotoGallery", showCheckboxes: "showCheckboxes", thumbnailSize: "thumbnailSize", confirmDelete: "confirmDelete" }, outputs: { filesEmitter: "filesEmitter", onFileDeleteEmitter: "onFileDelete", onFileCheckChanged: "onFileCheckChanged", onFileClicked: "onFileClicked" }, viewQueries: [{ propertyName: "photoGalleryRef", first: true, predicate: ["photoGalleryRef"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #containerRef id=\"slick-file-list_{{uuid}}\" class=\"slick-file-list\">\r\n\t<slick-file-list-item *ngFor=\"let file of files; let idx = index\" \r\n\t\t\t\t\t\t [file]=\"file\" \r\n\t\t\t\t\t\t [allowDelete]=\"allowDelete\" \r\n\t\t\t\t\t\t [showPhotoGallery]=\"showPhotoGallery\" \r\n\t\t\t\t\t\t [showCheckbox]=\"showCheckboxes\" \r\n\t\t\t\t\t\t [thumbnailSize]=\"thumbnailSize\" \r\n\t\t\t\t\t\t [confirmDelete]=\"confirmDelete\"\r\n\t\t\t\t\t\t (checkChanged)=\"onCheckChanged($event, idx)\" \r\n\t\t\t\t\t\t (fileClicked)=\"fileClicked($event, idx)\" \r\n\t\t\t\t\t\t (fileChanged)=\"onFileChange($event, idx)\" \r\n\t\t\t\t\t\t (fileDelete)=\"onFileDelete($event, idx)\"></slick-file-list-item>\r\n</div>\r\n\r\n<slick-photo-gallery #photoGalleryRef *ngIf=\"showPhotoGallery === true\" [files]=\"files\"></slick-photo-gallery>\r\n\r\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.SlickPhotoGalleryComponent, selector: "slick-photo-gallery", inputs: ["photos", "files"] }, { kind: "component", type: i3.SlickFileListItemComponent, selector: "slick-file-list-item", inputs: ["file", "allowDelete", "showPhotoGallery", "showCheckbox", "thumbnailSize", "confirmDelete"], outputs: ["fileChange", "fileDelete", "fileClicked", "checkChanged"] }] }); }
95
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: SlickFileListComponent, selector: "slick-file-list", inputs: { files: "files", allowDelete: "allowDelete", showPhotoGallery: "showPhotoGallery", showCheckboxes: "showCheckboxes", thumbnailSize: "thumbnailSize", confirmDelete: "confirmDelete" }, outputs: { filesEmitter: "filesEmitter", fileChangedEmitter: "onFileChanged", onFileDeletedEmitter: "onFileDeleted", onFileCheckChanged: "onFileCheckChanged", onFileClicked: "onFileClicked" }, viewQueries: [{ propertyName: "photoGalleryRef", first: true, predicate: ["photoGalleryRef"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #containerRef id=\"slick-file-list_{{uuid}}\" class=\"slick-file-list\">\r\n\t<slick-file-list-item *ngFor=\"let file of files; let idx = index\" \r\n\t\t\t\t\t\t [file]=\"file\" \r\n\t\t\t\t\t\t [allowDelete]=\"allowDelete\" \r\n\t\t\t\t\t\t [showPhotoGallery]=\"showPhotoGallery\" \r\n\t\t\t\t\t\t [showCheckbox]=\"showCheckboxes\" \r\n\t\t\t\t\t\t [thumbnailSize]=\"thumbnailSize\" \r\n\t\t\t\t\t\t [confirmDelete]=\"confirmDelete\"\r\n\t\t\t\t\t\t (checkChanged)=\"onCheckChanged($event, idx)\" \r\n\t\t\t\t\t\t (fileClicked)=\"fileClicked($event, idx)\" \r\n\t\t\t\t\t\t (fileChanged)=\"onFileChange($event, idx)\" \r\n\t\t\t\t\t\t (fileDeleted)=\"onFileDelete($event, idx)\"></slick-file-list-item>\r\n</div>\r\n\r\n<slick-photo-gallery #photoGalleryRef *ngIf=\"showPhotoGallery === true\" [files]=\"files\"></slick-photo-gallery>\r\n\r\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.SlickPhotoGalleryComponent, selector: "slick-photo-gallery", inputs: ["photos", "files"] }, { kind: "component", type: i3.SlickFileListItemComponent, selector: "slick-file-list-item", inputs: ["file", "allowDelete", "showPhotoGallery", "showCheckbox", "thumbnailSize", "confirmDelete"], outputs: ["fileChanged", "fileDeleted", "fileClicked", "checkChanged"] }] }); }
92
96
  }
93
97
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: SlickFileListComponent, decorators: [{
94
98
  type: Component,
95
- args: [{ selector: 'slick-file-list', template: "<div #containerRef id=\"slick-file-list_{{uuid}}\" class=\"slick-file-list\">\r\n\t<slick-file-list-item *ngFor=\"let file of files; let idx = index\" \r\n\t\t\t\t\t\t [file]=\"file\" \r\n\t\t\t\t\t\t [allowDelete]=\"allowDelete\" \r\n\t\t\t\t\t\t [showPhotoGallery]=\"showPhotoGallery\" \r\n\t\t\t\t\t\t [showCheckbox]=\"showCheckboxes\" \r\n\t\t\t\t\t\t [thumbnailSize]=\"thumbnailSize\" \r\n\t\t\t\t\t\t [confirmDelete]=\"confirmDelete\"\r\n\t\t\t\t\t\t (checkChanged)=\"onCheckChanged($event, idx)\" \r\n\t\t\t\t\t\t (fileClicked)=\"fileClicked($event, idx)\" \r\n\t\t\t\t\t\t (fileChanged)=\"onFileChange($event, idx)\" \r\n\t\t\t\t\t\t (fileDelete)=\"onFileDelete($event, idx)\"></slick-file-list-item>\r\n</div>\r\n\r\n<slick-photo-gallery #photoGalleryRef *ngIf=\"showPhotoGallery === true\" [files]=\"files\"></slick-photo-gallery>\r\n\r\n" }]
99
+ args: [{ selector: 'slick-file-list', template: "<div #containerRef id=\"slick-file-list_{{uuid}}\" class=\"slick-file-list\">\r\n\t<slick-file-list-item *ngFor=\"let file of files; let idx = index\" \r\n\t\t\t\t\t\t [file]=\"file\" \r\n\t\t\t\t\t\t [allowDelete]=\"allowDelete\" \r\n\t\t\t\t\t\t [showPhotoGallery]=\"showPhotoGallery\" \r\n\t\t\t\t\t\t [showCheckbox]=\"showCheckboxes\" \r\n\t\t\t\t\t\t [thumbnailSize]=\"thumbnailSize\" \r\n\t\t\t\t\t\t [confirmDelete]=\"confirmDelete\"\r\n\t\t\t\t\t\t (checkChanged)=\"onCheckChanged($event, idx)\" \r\n\t\t\t\t\t\t (fileClicked)=\"fileClicked($event, idx)\" \r\n\t\t\t\t\t\t (fileChanged)=\"onFileChange($event, idx)\" \r\n\t\t\t\t\t\t (fileDeleted)=\"onFileDelete($event, idx)\"></slick-file-list-item>\r\n</div>\r\n\r\n<slick-photo-gallery #photoGalleryRef *ngIf=\"showPhotoGallery === true\" [files]=\"files\"></slick-photo-gallery>\r\n\r\n" }]
96
100
  }], ctorParameters: () => [], propDecorators: { files: [{
97
101
  type: Input,
98
102
  args: ["files"]
@@ -114,9 +118,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
114
118
  }], filesEmitter: [{
115
119
  type: Output,
116
120
  args: ["filesEmitter"]
117
- }], onFileDeleteEmitter: [{
121
+ }], fileChangedEmitter: [{
118
122
  type: Output,
119
- args: ["onFileDelete"]
123
+ args: ["onFileChanged"]
124
+ }], onFileDeletedEmitter: [{
125
+ type: Output,
126
+ args: ["onFileDeleted"]
120
127
  }], onFileCheckChanged: [{
121
128
  type: Output,
122
129
  args: ["onFileCheckChanged"]
@@ -127,4 +134,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
127
134
  type: ViewChild,
128
135
  args: ["photoGalleryRef"]
129
136
  }] } });
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2stZmlsZS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL3NsaWNrLWZpbGUtbGlzdC9zbGljay1maWxlLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvc2xpY2stZmlsZS1saXN0L3NsaWNrLWZpbGUtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUE0QixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDakUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7O0FBUWpFLE1BQU0sT0FBTyxzQkFBc0I7SUFtQmxDO1FBakJzQixnQkFBVyxHQUFZLElBQUksQ0FBQztRQUN2QixxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFDcEMsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFDakMsa0JBQWEsR0FBVyxFQUFFLENBQUM7UUFDM0Isa0JBQWEsR0FBWSxJQUFJLENBQUM7UUFDOUIsaUJBQVksR0FBb0MsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNuRSx3QkFBbUIsR0FBa0MsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNsRSx1QkFBa0IsR0FBa0MsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUM1RSxrQkFBYSxHQUFrQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBSTNGLFdBQU0sR0FBNkIsRUFBRSxDQUFDO1FBRzlCLG1CQUFjLEdBQVcsSUFBSSxDQUFDO1FBR3JDLElBQUksQ0FBQyxJQUFJLEdBQUcsaUJBQWlCLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNqQyxJQUFJLE9BQU8sQ0FBQyxhQUFhO1lBQ3hCLElBQUksQ0FBQyxhQUFhLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUU5RCxJQUFJLE9BQU8sQ0FBQyxXQUFXLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQyxZQUFZO1lBQzFELElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsS0FBSyxPQUFPLENBQUMsQ0FBQztRQUU1RixJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsSUFBSSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsWUFBWTtZQUNwRSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxLQUFLLE9BQU8sQ0FBQyxDQUFDO1FBRXRHLElBQUksT0FBTyxDQUFDLGNBQWMsSUFBSSxPQUFPLENBQUMsY0FBYyxDQUFDLFlBQVk7WUFDaEUsSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxLQUFLLE9BQU8sQ0FBQyxDQUFDO1FBRWxHLElBQUksT0FBTyxDQUFDLGtCQUFrQixJQUFJLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZO1lBQ3hFLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNqRixDQUFDO0lBRUQsV0FBVyxDQUFDLElBQXFCLEVBQUUsR0FBVztRQUM3QyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsZUFBZSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVDLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxhQUFhO1lBQ3JCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxZQUFZLENBQUMsSUFBcUIsRUFBRSxHQUFXO1FBQzlDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFxQixFQUFFLEdBQUc7UUFDNUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuQyxJQUFJLElBQUksQ0FBQyxtQkFBbUI7WUFDM0IsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFhLEVBQUUsT0FBZTtRQUNsRCxNQUFNLGlCQUFpQixDQUFDLEtBQUssRUFBRSxDQUFDO1FBRWhDLElBQUksQ0FBQyxDQUFDLFFBQVEsS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLGNBQWMsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUN6RCxJQUFJLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztZQUMvRSxJQUFJLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQztZQUU3RSxLQUFLLElBQUksQ0FBQyxHQUFHLFFBQVEsRUFBRSxDQUFDLElBQUksTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQ3pDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztnQkFDL0IsSUFBSSxJQUFJLENBQUMsa0JBQWtCO29CQUMxQixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM5QyxDQUFDO1FBQ0YsQ0FBQzthQUNJLENBQUM7WUFDTCxJQUFJLENBQUMsY0FBYyxHQUFHLE9BQU8sQ0FBQztZQUM5QixJQUFJLElBQUksQ0FBQyxrQkFBa0I7Z0JBQzFCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ3BELENBQUM7SUFHRixDQUFDO0lBRUQsYUFBYTtRQUNaLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3RCLElBQUksQ0FBQyxDQUFDLFNBQVMsS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7Z0JBQ3RELENBQUMsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO2dCQUNuQixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pDLENBQUM7WUFFRCxDQUFDLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRCxlQUFlO1FBQ2QsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDdEIsSUFBSSxDQUFDLENBQUMsU0FBUyxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztnQkFDckQsQ0FBQyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakMsQ0FBQztZQUVELENBQUMsQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVELGVBQWU7UUFDZCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsS0FBSyxJQUFJLENBQUMsQ0FBQztJQUNyRCxDQUFDO2lJQTNHVyxzQkFBc0I7cUhBQXRCLHNCQUFzQiwwaEJDVm5DLDQxQkFnQkE7OzJGRE5hLHNCQUFzQjtrQkFKbEMsU0FBUzsrQkFDQyxpQkFBaUI7d0RBSVgsS0FBSztzQkFBcEIsS0FBSzt1QkFBQyxPQUFPO2dCQUNRLFdBQVc7c0JBQWhDLEtBQUs7dUJBQUMsYUFBYTtnQkFDTyxnQkFBZ0I7c0JBQTFDLEtBQUs7dUJBQUMsa0JBQWtCO2dCQUNBLGNBQWM7c0JBQXRDLEtBQUs7dUJBQUMsZ0JBQWdCO2dCQUNDLGFBQWE7c0JBQXBDLEtBQUs7dUJBQUMsZUFBZTtnQkFDRSxhQUFhO3NCQUFwQyxLQUFLO3VCQUFDLGVBQWU7Z0JBQ0UsWUFBWTtzQkFBbkMsTUFBTTt1QkFBQyxjQUFjO2dCQUNFLG1CQUFtQjtzQkFBMUMsTUFBTTt1QkFBQyxjQUFjO2dCQUNRLGtCQUFrQjtzQkFBL0MsTUFBTTt1QkFBQyxvQkFBb0I7Z0JBQ0gsYUFBYTtzQkFBckMsTUFBTTt1QkFBQyxlQUFlO2dCQUVPLGVBQWU7c0JBQTVDLFNBQVM7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgU2xpY2tVdGlsc1NlcnZpY2UgfSBmcm9tIFwiLi4vdXRpbHMvc2xpY2stdXRpbHMuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBTbGlja1NsZWVwU2VydmljZSB9IGZyb20gXCIuLi91dGlscy9zbGljay1zbGVlcC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IElTbGlja0ZpbGVNb2RlbCB9IGZyb20gXCIuLi9zbGljay1maWxlLW1vZGVsL3NsaWNrLWZpbGUubW9kZWxcIjtcclxuaW1wb3J0IHsgU2xpY2tQaG90b0dhbGxlcnlDb21wb25lbnQsIFNsaWNrUGhvdG9HYWxsZXJ5TW9kZWwgfSBmcm9tIFwiLi4vc2xpY2stcGhvdG8tZ2FsbGVyeS9zbGljay1waG90by1nYWxsZXJ5Lm1vZHVsZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdzbGljay1maWxlLWxpc3QnLFxyXG5cdHRlbXBsYXRlVXJsOiAnc2xpY2stZmlsZS1saXN0LmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU2xpY2tGaWxlTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcblx0QElucHV0KFwiZmlsZXNcIikgZmlsZXM6IElTbGlja0ZpbGVNb2RlbFtdO1xyXG5cdEBJbnB1dChcImFsbG93RGVsZXRlXCIpIGFsbG93RGVsZXRlOiBib29sZWFuID0gdHJ1ZTtcclxuXHRASW5wdXQoXCJzaG93UGhvdG9HYWxsZXJ5XCIpIHNob3dQaG90b0dhbGxlcnk6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHRASW5wdXQoXCJzaG93Q2hlY2tib3hlc1wiKSBzaG93Q2hlY2tib3hlczogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdEBJbnB1dChcInRodW1ibmFpbFNpemVcIikgdGh1bWJuYWlsU2l6ZTogbnVtYmVyID0gOTA7XHJcblx0QElucHV0KFwiY29uZmlybURlbGV0ZVwiKSBjb25maXJtRGVsZXRlOiBib29sZWFuID0gdHJ1ZTtcclxuXHRAT3V0cHV0KFwiZmlsZXNFbWl0dGVyXCIpIGZpbGVzRW1pdHRlcjogRXZlbnRFbWl0dGVyPElTbGlja0ZpbGVNb2RlbFtdPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHRAT3V0cHV0KFwib25GaWxlRGVsZXRlXCIpIG9uRmlsZURlbGV0ZUVtaXR0ZXI6IEV2ZW50RW1pdHRlcjxJU2xpY2tGaWxlTW9kZWw+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cdEBPdXRwdXQoXCJvbkZpbGVDaGVja0NoYW5nZWRcIikgb25GaWxlQ2hlY2tDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8SVNsaWNrRmlsZU1vZGVsPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHRAT3V0cHV0KFwib25GaWxlQ2xpY2tlZFwiKSBvbkZpbGVDbGlja2VkOiBFdmVudEVtaXR0ZXI8SVNsaWNrRmlsZU1vZGVsPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcblx0QFZpZXdDaGlsZChcInBob3RvR2FsbGVyeVJlZlwiKSBwaG90b0dhbGxlcnlSZWY6IFNsaWNrUGhvdG9HYWxsZXJ5Q29tcG9uZW50O1xyXG5cclxuXHRwaG90b3M6IFNsaWNrUGhvdG9HYWxsZXJ5TW9kZWxbXSA9IFtdO1xyXG5cdHV1aWQ6IHN0cmluZztcclxuXHJcblx0cHJpdmF0ZSBsYXN0Q2hlY2tlZElkeDogbnVtYmVyID0gbnVsbDtcclxuXHJcblx0Y29uc3RydWN0b3IoKSB7XHJcblx0XHR0aGlzLnV1aWQgPSBTbGlja1V0aWxzU2VydmljZS5uZXdHdWlkKCk7XHJcblx0fVxyXG5cclxuXHRuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcblx0XHRpZiAoY2hhbmdlcy50aHVtYm5haWxTaXplKVxyXG5cdFx0XHR0aGlzLnRodW1ibmFpbFNpemUgPSBwYXJzZUludCh0aGlzLnRodW1ibmFpbFNpemUudG9TdHJpbmcoKSk7XHJcblxyXG5cdFx0aWYgKGNoYW5nZXMuYWxsb3dEZWxldGUgJiYgY2hhbmdlcy5hbGxvd0RlbGV0ZS5jdXJyZW50VmFsdWUpXHJcblx0XHRcdHRoaXMuYWxsb3dEZWxldGUgPSAoY2hhbmdlcy5hbGxvd0RlbGV0ZS5jdXJyZW50VmFsdWUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpICE9PSAnZmFsc2UnKTtcclxuXHJcblx0XHRpZiAoY2hhbmdlcy5zaG93UGhvdG9HYWxsZXJ5ICYmIGNoYW5nZXMuc2hvd1Bob3RvR2FsbGVyeS5jdXJyZW50VmFsdWUpXHJcblx0XHRcdHRoaXMuc2hvd1Bob3RvR2FsbGVyeSA9IChjaGFuZ2VzLnNob3dQaG90b0dhbGxlcnkuY3VycmVudFZhbHVlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKSAhPT0gJ2ZhbHNlJyk7XHJcblxyXG5cdFx0aWYgKGNoYW5nZXMuc2hvd0NoZWNrYm94ZXMgJiYgY2hhbmdlcy5zaG93Q2hlY2tib3hlcy5jdXJyZW50VmFsdWUpXHJcblx0XHRcdHRoaXMuc2hvd0NoZWNrYm94ZXMgPSAoY2hhbmdlcy5zaG93Q2hlY2tib3hlcy5jdXJyZW50VmFsdWUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpICE9PSAnZmFsc2UnKTtcclxuXHJcblx0XHRpZiAoY2hhbmdlcy5kZWxldGVDb25maXJtYXRpb24gJiYgY2hhbmdlcy5kZWxldGVDb25maXJtYXRpb24uY3VycmVudFZhbHVlKVxyXG5cdFx0XHR0aGlzLmNvbmZpcm1EZWxldGUgPSAodGhpcy5jb25maXJtRGVsZXRlLnRvU3RyaW5nKCkgPT09ICd0cnVlJykgPyB0cnVlIDogZmFsc2U7XHJcblx0fVxyXG5cclxuXHRmaWxlQ2xpY2tlZChmaWxlOiBJU2xpY2tGaWxlTW9kZWwsIGlkeDogbnVtYmVyKSB7XHJcblx0XHRpZiAodGhpcy5zaG93UGhvdG9HYWxsZXJ5ID09PSB0cnVlKSB7XHJcblx0XHRcdHRoaXMucGhvdG9HYWxsZXJ5UmVmLnNob3dQaG90b0dhbGxlcnkoaWR4KTtcclxuXHRcdH1cclxuXHJcblx0XHRpZiAodGhpcy5vbkZpbGVDbGlja2VkKVxyXG5cdFx0XHR0aGlzLm9uRmlsZUNsaWNrZWQuZW1pdChmaWxlKTtcclxuXHR9XHJcblxyXG5cdG9uRmlsZUNoYW5nZShmaWxlOiBJU2xpY2tGaWxlTW9kZWwsIGlkeDogbnVtYmVyKSB7XHJcblx0XHR0aGlzLmZpbGVzW2lkeF0gPSBmaWxlO1xyXG5cdFx0dGhpcy5maWxlc0VtaXR0ZXIuZW1pdCh0aGlzLmZpbGVzKTtcclxuXHR9XHJcblxyXG5cdGFzeW5jIG9uRmlsZURlbGV0ZShmaWxlOiBJU2xpY2tGaWxlTW9kZWwsIGlkeCkge1xyXG5cdFx0dGhpcy5maWxlcy5zcGxpY2UoaWR4LCAxKTtcclxuXHRcdHRoaXMuZmlsZXNFbWl0dGVyLmVtaXQodGhpcy5maWxlcyk7XHJcblx0XHRpZiAodGhpcy5vbkZpbGVEZWxldGVFbWl0dGVyKVxyXG5cdFx0XHR0aGlzLm9uRmlsZURlbGV0ZUVtaXR0ZXIuZW1pdChmaWxlKTtcclxuXHR9XHJcblxyXG5cdGFzeW5jIG9uQ2hlY2tDaGFuZ2VkKGU6IE1vdXNlRXZlbnQsIGZpbGVJZHg6IG51bWJlcikge1xyXG5cdFx0YXdhaXQgU2xpY2tTbGVlcFNlcnZpY2Uuc2xlZXAoKTtcclxuXHJcblx0XHRpZiAoZS5zaGlmdEtleSA9PT0gdHJ1ZSAmJiB0aGlzLmxhc3RDaGVja2VkSWR4ICE9PSBudWxsKSB7XHJcblx0XHRcdGxldCBzdGFydElkeCA9ICh0aGlzLmxhc3RDaGVja2VkSWR4IDwgZmlsZUlkeCkgPyB0aGlzLmxhc3RDaGVja2VkSWR4IDogZmlsZUlkeDtcclxuXHRcdFx0bGV0IGVuZElkeCA9ICh0aGlzLmxhc3RDaGVja2VkSWR4IDwgZmlsZUlkeCkgPyBmaWxlSWR4IDogdGhpcy5sYXN0Q2hlY2tlZElkeDtcclxuXHJcblx0XHRcdGZvciAobGV0IGkgPSBzdGFydElkeDsgaSA8PSBlbmRJZHg7IGkrKykge1xyXG5cdFx0XHRcdHRoaXMuZmlsZXNbaV0uaXNDaGVja2VkID0gdHJ1ZTtcclxuXHRcdFx0XHRpZiAodGhpcy5vbkZpbGVDaGVja0NoYW5nZWQpXHJcblx0XHRcdFx0XHR0aGlzLm9uRmlsZUNoZWNrQ2hhbmdlZC5lbWl0KHRoaXMuZmlsZXNbaV0pO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRlbHNlIHtcclxuXHRcdFx0dGhpcy5sYXN0Q2hlY2tlZElkeCA9IGZpbGVJZHg7XHJcblx0XHRcdGlmICh0aGlzLm9uRmlsZUNoZWNrQ2hhbmdlZClcclxuXHRcdFx0XHR0aGlzLm9uRmlsZUNoZWNrQ2hhbmdlZC5lbWl0KHRoaXMuZmlsZXNbZmlsZUlkeF0pO1xyXG5cdFx0fVxyXG5cclxuXHJcblx0fVxyXG5cclxuXHRjaGVja0FsbEZpbGVzKCkge1xyXG5cdFx0dGhpcy5maWxlcy5mb3JFYWNoKHggPT4ge1xyXG5cdFx0XHRpZiAoeC5pc0NoZWNrZWQgPT09IGZhbHNlICYmIHRoaXMub25GaWxlQ2hlY2tDaGFuZ2VkKSB7XHJcblx0XHRcdFx0eC5pc0NoZWNrZWQgPSB0cnVlO1xyXG5cdFx0XHRcdHRoaXMub25GaWxlQ2hlY2tDaGFuZ2VkLmVtaXQoeCk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHguaXNDaGVja2VkID0gdHJ1ZTtcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0dW5jaGVja0FsbEZpbGVzKCkge1xyXG5cdFx0dGhpcy5maWxlcy5mb3JFYWNoKHggPT4ge1xyXG5cdFx0XHRpZiAoeC5pc0NoZWNrZWQgPT09IHRydWUgJiYgdGhpcy5vbkZpbGVDaGVja0NoYW5nZWQpIHtcclxuXHRcdFx0XHR4LmlzQ2hlY2tlZCA9IGZhbHNlO1xyXG5cdFx0XHRcdHRoaXMub25GaWxlQ2hlY2tDaGFuZ2VkLmVtaXQoeCk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHguaXNDaGVja2VkID0gZmFsc2U7XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdGdldENoZWNrZWRGaWxlcygpOiBJU2xpY2tGaWxlTW9kZWxbXSB7XHJcblx0XHRyZXR1cm4gdGhpcy5maWxlcy5maWx0ZXIoeCA9PiB4LmlzQ2hlY2tlZCA9PT0gdHJ1ZSk7XHJcblx0fVxyXG59XHJcbiIsIjxkaXYgI2NvbnRhaW5lclJlZiBpZD1cInNsaWNrLWZpbGUtbGlzdF97e3V1aWR9fVwiIGNsYXNzPVwic2xpY2stZmlsZS1saXN0XCI+XHJcblx0PHNsaWNrLWZpbGUtbGlzdC1pdGVtICpuZ0Zvcj1cImxldCBmaWxlIG9mIGZpbGVzOyBsZXQgaWR4ID0gaW5kZXhcIiBcclxuXHRcdFx0XHRcdFx0ICBbZmlsZV09XCJmaWxlXCIgXHJcblx0XHRcdFx0XHRcdCAgW2FsbG93RGVsZXRlXT1cImFsbG93RGVsZXRlXCIgXHJcblx0XHRcdFx0XHRcdCAgW3Nob3dQaG90b0dhbGxlcnldPVwic2hvd1Bob3RvR2FsbGVyeVwiIFxyXG5cdFx0XHRcdFx0XHQgIFtzaG93Q2hlY2tib3hdPVwic2hvd0NoZWNrYm94ZXNcIiBcclxuXHRcdFx0XHRcdFx0ICBbdGh1bWJuYWlsU2l6ZV09XCJ0aHVtYm5haWxTaXplXCIgXHJcblx0XHRcdFx0XHRcdCAgW2NvbmZpcm1EZWxldGVdPVwiY29uZmlybURlbGV0ZVwiXHJcblx0XHRcdFx0XHRcdCAgKGNoZWNrQ2hhbmdlZCk9XCJvbkNoZWNrQ2hhbmdlZCgkZXZlbnQsIGlkeClcIiBcclxuXHRcdFx0XHRcdFx0ICAoZmlsZUNsaWNrZWQpPVwiZmlsZUNsaWNrZWQoJGV2ZW50LCBpZHgpXCIgXHJcblx0XHRcdFx0XHRcdCAgKGZpbGVDaGFuZ2VkKT1cIm9uRmlsZUNoYW5nZSgkZXZlbnQsIGlkeClcIiBcclxuXHRcdFx0XHRcdFx0ICAoZmlsZURlbGV0ZSk9XCJvbkZpbGVEZWxldGUoJGV2ZW50LCBpZHgpXCI+PC9zbGljay1maWxlLWxpc3QtaXRlbT5cclxuPC9kaXY+XHJcblxyXG48c2xpY2stcGhvdG8tZ2FsbGVyeSAjcGhvdG9HYWxsZXJ5UmVmICpuZ0lmPVwic2hvd1Bob3RvR2FsbGVyeSA9PT0gdHJ1ZVwiIFtmaWxlc109XCJmaWxlc1wiPjwvc2xpY2stcGhvdG8tZ2FsbGVyeT5cclxuXHJcbiJdfQ==
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2stZmlsZS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL3NsaWNrLWZpbGUtbGlzdC9zbGljay1maWxlLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvc2xpY2stZmlsZS1saXN0L3NsaWNrLWZpbGUtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUE0QixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDakUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7O0FBUWpFLE1BQU0sT0FBTyxzQkFBc0I7SUFvQmxDO1FBbEJzQixnQkFBVyxHQUFZLElBQUksQ0FBQztRQUN2QixxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFDcEMsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFDakMsa0JBQWEsR0FBVyxFQUFFLENBQUM7UUFDM0Isa0JBQWEsR0FBWSxJQUFJLENBQUM7UUFDOUIsaUJBQVksR0FBb0MsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNsRSx1QkFBa0IsR0FBa0MsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN2RSx5QkFBb0IsR0FBa0MsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNwRSx1QkFBa0IsR0FBa0MsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUM1RSxrQkFBYSxHQUFrQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBSTNGLFdBQU0sR0FBNkIsRUFBRSxDQUFDO1FBRzlCLG1CQUFjLEdBQVcsSUFBSSxDQUFDO1FBR3JDLElBQUksQ0FBQyxJQUFJLEdBQUcsaUJBQWlCLENBQUMsT0FB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QkFBNUMsU0FBUzt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBTbGlja1V0aWxzU2VydmljZSB9IGZyb20gXCIuLi91dGlscy9zbGljay11dGlscy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFNsaWNrU2xlZXBTZXJ2aWNlIH0gZnJvbSBcIi4uL3V0aWxzL3NsaWNrLXNsZWVwLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgSVNsaWNrRmlsZU1vZGVsIH0gZnJvbSBcIi4uL3NsaWNrLWZpbGUtbW9kZWwvc2xpY2stZmlsZS5tb2RlbFwiO1xyXG5pbXBvcnQgeyBTbGlja1Bob3RvR2FsbGVyeUNvbXBvbmVudCwgU2xpY2tQaG90b0dhbGxlcnlNb2RlbCB9IGZyb20gXCIuLi9zbGljay1waG90by1nYWxsZXJ5L3NsaWNrLXBob3RvLWdhbGxlcnkubW9kdWxlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ3NsaWNrLWZpbGUtbGlzdCcsXHJcblx0dGVtcGxhdGVVcmw6ICdzbGljay1maWxlLWxpc3QuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTbGlja0ZpbGVMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuXHRASW5wdXQoXCJmaWxlc1wiKSBmaWxlczogSVNsaWNrRmlsZU1vZGVsW107XHJcblx0QElucHV0KFwiYWxsb3dEZWxldGVcIikgYWxsb3dEZWxldGU6IGJvb2xlYW4gPSB0cnVlO1xyXG5cdEBJbnB1dChcInNob3dQaG90b0dhbGxlcnlcIikgc2hvd1Bob3RvR2FsbGVyeTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdEBJbnB1dChcInNob3dDaGVja2JveGVzXCIpIHNob3dDaGVja2JveGVzOiBib29sZWFuID0gZmFsc2U7XHJcblx0QElucHV0KFwidGh1bWJuYWlsU2l6ZVwiKSB0aHVtYm5haWxTaXplOiBudW1iZXIgPSA5MDtcclxuXHRASW5wdXQoXCJjb25maXJtRGVsZXRlXCIpIGNvbmZpcm1EZWxldGU6IGJvb2xlYW4gPSB0cnVlO1xyXG5cdEBPdXRwdXQoXCJmaWxlc0VtaXR0ZXJcIikgZmlsZXNFbWl0dGVyOiBFdmVudEVtaXR0ZXI8SVNsaWNrRmlsZU1vZGVsW10+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cdEBPdXRwdXQoXCJvbkZpbGVDaGFuZ2VkXCIpIGZpbGVDaGFuZ2VkRW1pdHRlcjogRXZlbnRFbWl0dGVyPElTbGlja0ZpbGVNb2RlbD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblx0QE91dHB1dChcIm9uRmlsZURlbGV0ZWRcIikgb25GaWxlRGVsZXRlZEVtaXR0ZXI6IEV2ZW50RW1pdHRlcjxJU2xpY2tGaWxlTW9kZWw+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cdEBPdXRwdXQoXCJvbkZpbGVDaGVja0NoYW5nZWRcIikgb25GaWxlQ2hlY2tDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8SVNsaWNrRmlsZU1vZGVsPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHRAT3V0cHV0KFwib25GaWxlQ2xpY2tlZFwiKSBvbkZpbGVDbGlja2VkOiBFdmVudEVtaXR0ZXI8SVNsaWNrRmlsZU1vZGVsPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcblx0QFZpZXdDaGlsZChcInBob3RvR2FsbGVyeVJlZlwiKSBwaG90b0dhbGxlcnlSZWY6IFNsaWNrUGhvdG9HYWxsZXJ5Q29tcG9uZW50O1xyXG5cclxuXHRwaG90b3M6IFNsaWNrUGhvdG9HYWxsZXJ5TW9kZWxbXSA9IFtdO1xyXG5cdHV1aWQ6IHN0cmluZztcclxuXHJcblx0cHJpdmF0ZSBsYXN0Q2hlY2tlZElkeDogbnVtYmVyID0gbnVsbDtcclxuXHJcblx0Y29uc3RydWN0b3IoKSB7XHJcblx0XHR0aGlzLnV1aWQgPSBTbGlja1V0aWxzU2VydmljZS5uZXdHdWlkKCk7XHJcblx0fVxyXG5cclxuXHRuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcblx0XHRpZiAoY2hhbmdlcy50aHVtYm5haWxTaXplKVxyXG5cdFx0XHR0aGlzLnRodW1ibmFpbFNpemUgPSBwYXJzZUludCh0aGlzLnRodW1ibmFpbFNpemUudG9TdHJpbmcoKSk7XHJcblxyXG5cdFx0aWYgKGNoYW5nZXMuYWxsb3dEZWxldGUgJiYgY2hhbmdlcy5hbGxvd0RlbGV0ZS5jdXJyZW50VmFsdWUpXHJcblx0XHRcdHRoaXMuYWxsb3dEZWxldGUgPSAoY2hhbmdlcy5hbGxvd0RlbGV0ZS5jdXJyZW50VmFsdWUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpICE9PSAnZmFsc2UnKTtcclxuXHJcblx0XHRpZiAoY2hhbmdlcy5zaG93UGhvdG9HYWxsZXJ5ICYmIGNoYW5nZXMuc2hvd1Bob3RvR2FsbGVyeS5jdXJyZW50VmFsdWUpXHJcblx0XHRcdHRoaXMuc2hvd1Bob3RvR2FsbGVyeSA9IChjaGFuZ2VzLnNob3dQaG90b0dhbGxlcnkuY3VycmVudFZhbHVlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKSAhPT0gJ2ZhbHNlJyk7XHJcblxyXG5cdFx0aWYgKGNoYW5nZXMuc2hvd0NoZWNrYm94ZXMgJiYgY2hhbmdlcy5zaG93Q2hlY2tib3hlcy5jdXJyZW50VmFsdWUpXHJcblx0XHRcdHRoaXMuc2hvd0NoZWNrYm94ZXMgPSAoY2hhbmdlcy5zaG93Q2hlY2tib3hlcy5jdXJyZW50VmFsdWUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpICE9PSAnZmFsc2UnKTtcclxuXHJcblx0XHRpZiAoY2hhbmdlcy5kZWxldGVDb25maXJtYXRpb24gJiYgY2hhbmdlcy5kZWxldGVDb25maXJtYXRpb24uY3VycmVudFZhbHVlKVxyXG5cdFx0XHR0aGlzLmNvbmZpcm1EZWxldGUgPSAodGhpcy5jb25maXJtRGVsZXRlLnRvU3RyaW5nKCkgPT09ICd0cnVlJykgPyB0cnVlIDogZmFsc2U7XHJcblx0fVxyXG5cclxuXHRmaWxlQ2xpY2tlZChmaWxlOiBJU2xpY2tGaWxlTW9kZWwsIGlkeDogbnVtYmVyKSB7XHJcblx0XHRpZiAodGhpcy5zaG93UGhvdG9HYWxsZXJ5ID09PSB0cnVlKSB7XHJcblx0XHRcdHRoaXMucGhvdG9HYWxsZXJ5UmVmLnNob3dQaG90b0dhbGxlcnkoaWR4KTtcclxuXHRcdH1cclxuXHJcblx0XHRpZiAodGhpcy5vbkZpbGVDbGlja2VkKVxyXG5cdFx0XHR0aGlzLm9uRmlsZUNsaWNrZWQuZW1pdChmaWxlKTtcclxuXHR9XHJcblxyXG5cdG9uRmlsZUNoYW5nZShmaWxlOiBJU2xpY2tGaWxlTW9kZWwsIGlkeDogbnVtYmVyKSB7XHJcblx0XHR0aGlzLmZpbGVzW2lkeF0gPSBmaWxlO1xyXG5cdFx0Y29uc29sZS5sb2coZmlsZSlcclxuXHRcdGlmICh0aGlzLmZpbGVDaGFuZ2VkRW1pdHRlcilcclxuXHRcdFx0dGhpcy5maWxlQ2hhbmdlZEVtaXR0ZXIuZW1pdChmaWxlKTtcclxuXHRcdHRoaXMuZmlsZXNFbWl0dGVyLmVtaXQodGhpcy5maWxlcyk7XHJcblx0fVxyXG5cclxuXHRhc3luYyBvbkZpbGVEZWxldGUoZmlsZTogSVNsaWNrRmlsZU1vZGVsLCBpZHgpIHtcclxuXHRcdHRoaXMuZmlsZXMuc3BsaWNlKGlkeCwgMSk7XHJcblx0XHR0aGlzLmZpbGVzRW1pdHRlci5lbWl0KHRoaXMuZmlsZXMpO1xyXG5cdFx0aWYgKHRoaXMub25GaWxlRGVsZXRlZEVtaXR0ZXIpXHJcblx0XHRcdHRoaXMub25GaWxlRGVsZXRlZEVtaXR0ZXIuZW1pdChmaWxlKTtcclxuXHR9XHJcblxyXG5cdGFzeW5jIG9uQ2hlY2tDaGFuZ2VkKGU6IE1vdXNlRXZlbnQsIGZpbGVJZHg6IG51bWJlcikge1xyXG5cdFx0YXdhaXQgU2xpY2tTbGVlcFNlcnZpY2Uuc2xlZXAoKTtcclxuXHJcblx0XHRpZiAoZS5zaGlmdEtleSA9PT0gdHJ1ZSAmJiB0aGlzLmxhc3RDaGVja2VkSWR4ICE9PSBudWxsKSB7XHJcblx0XHRcdGxldCBzdGFydElkeCA9ICh0aGlzLmxhc3RDaGVja2VkSWR4IDwgZmlsZUlkeCkgPyB0aGlzLmxhc3RDaGVja2VkSWR4IDogZmlsZUlkeDtcclxuXHRcdFx0bGV0IGVuZElkeCA9ICh0aGlzLmxhc3RDaGVja2VkSWR4IDwgZmlsZUlkeCkgPyBmaWxlSWR4IDogdGhpcy5sYXN0Q2hlY2tlZElkeDtcclxuXHJcblx0XHRcdGZvciAobGV0IGkgPSBzdGFydElkeDsgaSA8PSBlbmRJZHg7IGkrKykge1xyXG5cdFx0XHRcdHRoaXMuZmlsZXNbaV0uaXNDaGVja2VkID0gdHJ1ZTtcclxuXHRcdFx0XHRpZiAodGhpcy5vbkZpbGVDaGVja0NoYW5nZWQpXHJcblx0XHRcdFx0XHR0aGlzLm9uRmlsZUNoZWNrQ2hhbmdlZC5lbWl0KHRoaXMuZmlsZXNbaV0pO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRlbHNlIHtcclxuXHRcdFx0dGhpcy5sYXN0Q2hlY2tlZElkeCA9IGZpbGVJZHg7XHJcblx0XHRcdGlmICh0aGlzLm9uRmlsZUNoZWNrQ2hhbmdlZClcclxuXHRcdFx0XHR0aGlzLm9uRmlsZUNoZWNrQ2hhbmdlZC5lbWl0KHRoaXMuZmlsZXNbZmlsZUlkeF0pO1xyXG5cdFx0fVxyXG5cclxuXHJcblx0fVxyXG5cclxuXHRjaGVja0FsbEZpbGVzKCkge1xyXG5cdFx0dGhpcy5maWxlcy5mb3JFYWNoKHggPT4ge1xyXG5cdFx0XHRpZiAoeC5pc0NoZWNrZWQgPT09IGZhbHNlICYmIHRoaXMub25GaWxlQ2hlY2tDaGFuZ2VkKSB7XHJcblx0XHRcdFx0eC5pc0NoZWNrZWQgPSB0cnVlO1xyXG5cdFx0XHRcdHRoaXMub25GaWxlQ2hlY2tDaGFuZ2VkLmVtaXQoeCk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHguaXNDaGVja2VkID0gdHJ1ZTtcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0dW5jaGVja0FsbEZpbGVzKCkge1xyXG5cdFx0dGhpcy5maWxlcy5mb3JFYWNoKHggPT4ge1xyXG5cdFx0XHRpZiAoeC5pc0NoZWNrZWQgPT09IHRydWUgJiYgdGhpcy5vbkZpbGVDaGVja0NoYW5nZWQpIHtcclxuXHRcdFx0XHR4LmlzQ2hlY2tlZCA9IGZhbHNlO1xyXG5cdFx0XHRcdHRoaXMub25GaWxlQ2hlY2tDaGFuZ2VkLmVtaXQoeCk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHguaXNDaGVja2VkID0gZmFsc2U7XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdGdldENoZWNrZWRGaWxlcygpOiBJU2xpY2tGaWxlTW9kZWxbXSB7XHJcblx0XHRyZXR1cm4gdGhpcy5maWxlcy5maWx0ZXIoeCA9PiB4LmlzQ2hlY2tlZCA9PT0gdHJ1ZSk7XHJcblx0fVxyXG59XHJcbiIsIjxkaXYgI2NvbnRhaW5lclJlZiBpZD1cInNsaWNrLWZpbGUtbGlzdF97e3V1aWR9fVwiIGNsYXNzPVwic2xpY2stZmlsZS1saXN0XCI+XHJcblx0PHNsaWNrLWZpbGUtbGlzdC1pdGVtICpuZ0Zvcj1cImxldCBmaWxlIG9mIGZpbGVzOyBsZXQgaWR4ID0gaW5kZXhcIiBcclxuXHRcdFx0XHRcdFx0ICBbZmlsZV09XCJmaWxlXCIgXHJcblx0XHRcdFx0XHRcdCAgW2FsbG93RGVsZXRlXT1cImFsbG93RGVsZXRlXCIgXHJcblx0XHRcdFx0XHRcdCAgW3Nob3dQaG90b0dhbGxlcnldPVwic2hvd1Bob3RvR2FsbGVyeVwiIFxyXG5cdFx0XHRcdFx0XHQgIFtzaG93Q2hlY2tib3hdPVwic2hvd0NoZWNrYm94ZXNcIiBcclxuXHRcdFx0XHRcdFx0ICBbdGh1bWJuYWlsU2l6ZV09XCJ0aHVtYm5haWxTaXplXCIgXHJcblx0XHRcdFx0XHRcdCAgW2NvbmZpcm1EZWxldGVdPVwiY29uZmlybURlbGV0ZVwiXHJcblx0XHRcdFx0XHRcdCAgKGNoZWNrQ2hhbmdlZCk9XCJvbkNoZWNrQ2hhbmdlZCgkZXZlbnQsIGlkeClcIiBcclxuXHRcdFx0XHRcdFx0ICAoZmlsZUNsaWNrZWQpPVwiZmlsZUNsaWNrZWQoJGV2ZW50LCBpZHgpXCIgXHJcblx0XHRcdFx0XHRcdCAgKGZpbGVDaGFuZ2VkKT1cIm9uRmlsZUNoYW5nZSgkZXZlbnQsIGlkeClcIiBcclxuXHRcdFx0XHRcdFx0ICAoZmlsZURlbGV0ZWQpPVwib25GaWxlRGVsZXRlKCRldmVudCwgaWR4KVwiPjwvc2xpY2stZmlsZS1saXN0LWl0ZW0+XHJcbjwvZGl2PlxyXG5cclxuPHNsaWNrLXBob3RvLWdhbGxlcnkgI3Bob3RvR2FsbGVyeVJlZiAqbmdJZj1cInNob3dQaG90b0dhbGxlcnkgPT09IHRydWVcIiBbZmlsZXNdPVwiZmlsZXNcIj48L3NsaWNrLXBob3RvLWdhbGxlcnk+XHJcblxyXG4iXX0=
@@ -6,7 +6,7 @@ export class SlickInitParams {
6
6
  }
7
7
  }
8
8
  export class SlickInitService {
9
- static { this.version = "17.0.7"; }
9
+ static { this.version = "17.0.8"; }
10
10
  constructor() { }
11
11
  static init(initParams) {
12
12
  console.info(`Slick Components Version ${SlickInitService.version}`);
@@ -46,4 +46,4 @@ export class SlickInitService {
46
46
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: SlickInitService, decorators: [{
47
47
  type: Injectable
48
48
  }], ctorParameters: () => [] });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2staW5pdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvdXRpbHMvc2xpY2staW5pdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTNDLE1BQU0sT0FBTyxlQUFlO0lBQTVCO1FBR0MsYUFBUSxHQUFXLFNBQVMsQ0FBQztJQUc5QixDQUFDO0NBQUE7QUFHRCxNQUFNLE9BQU8sZ0JBQWdCO2FBQ3JCLFlBQU8sR0FBRyxRQUFRLEFBQVgsQ0FBWTtJQUUxQixnQkFBZ0IsQ0FBQztJQUdqQixNQUFNLENBQUMsSUFBSSxDQUFDLFVBQTJCO1FBQ3RDLE9BQU8sQ0FBQyxJQUFJLENBQUMsNEJBQTRCLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDckUsVUFBVSxDQUFDLE9BQU8sR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUM7UUFDeEMsTUFBTyxDQUFDLHFCQUFxQixHQUFHLFVBQVUsQ0FBQztRQUVqRCxPQUFhLE1BQU8sQ0FBQyxxQkFBcUIsQ0FBQztJQUM1QyxDQUFDO0lBRUQsTUFBTSxDQUFDLFNBQVM7UUFDZixJQUFJLENBQU8sTUFBTyxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDMUMsTUFBTSxhQUFhLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQztZQUM1QyxhQUFhLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQztZQUMxQixNQUFPLENBQUMscUJBQXFCLEdBQUcsYUFBYSxDQUFDO1FBQ3JELENBQUM7UUFFRCxPQUE4QixNQUFPLENBQUMscUJBQXFCLENBQUM7SUFDN0QsQ0FBQztJQUVELE1BQU0sQ0FBQyxXQUFXO1FBQ2pCLE9BQU8sZ0JBQWdCLENBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDO0lBQzlDLENBQUM7SUFFRCxNQUFNLENBQUMsV0FBVyxDQUFDLGVBQXVCO1FBQ3pDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsR0FBRyxlQUFlLENBQUM7SUFDekQsQ0FBQztJQUVELE1BQU0sQ0FBQyxXQUFXO1FBQ2pCLE9BQU8sZ0JBQWdCLENBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDO0lBQzlDLENBQUM7SUFFRCxNQUFNLENBQUMsV0FBVyxDQUFDLFFBQWdCO1FBQ2xDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDbEQsQ0FBQztJQUVELE1BQU0sQ0FBQyxXQUFXO1FBQ2pCLE9BQU8sZ0JBQWdCLENBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDO0lBQzlDLENBQUM7SUFFRCxNQUFNLENBQUMsV0FBVyxDQUFDLFFBQWdCO1FBQ2xDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDbEQsQ0FBQztpSUE5Q1csZ0JBQWdCO3FJQUFoQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBTbGlja0luaXRQYXJhbXMge1xyXG5cdGF0dGFjaFRvOiBzdHJpbmc7XHJcblx0cGxhdGZvcm06IHN0cmluZztcclxuXHRlcnJvckxvZzogc3RyaW5nID0gXCJtaW5pbWFsXCI7XHJcblx0dmVyc2lvbjogc3RyaW5nO1xyXG5cclxufVxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgU2xpY2tJbml0U2VydmljZSB7XHRcclxuXHRzdGF0aWMgdmVyc2lvbiA9IFwiMTcuMC43XCI7XHJcblxyXG5cdGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG5cclxuXHRzdGF0aWMgaW5pdChpbml0UGFyYW1zOiBTbGlja0luaXRQYXJhbXMpOiBTbGlja0luaXRQYXJhbXMge1xyXG5cdFx0Y29uc29sZS5pbmZvKGBTbGljayBDb21wb25lbnRzIFZlcnNpb24gJHtTbGlja0luaXRTZXJ2aWNlLnZlcnNpb259YCk7XHJcblx0XHRpbml0UGFyYW1zLnZlcnNpb24gPSBTbGlja0luaXRTZXJ2aWNlLnZlcnNpb247XHJcblx0XHQoPGFueT53aW5kb3cpLnNsaWNrQ29tcG9uZW50c1BhcmFtcyA9IGluaXRQYXJhbXM7XHJcblxyXG5cdFx0cmV0dXJuICg8YW55PndpbmRvdykuc2xpY2tDb21wb25lbnRzUGFyYW1zO1xyXG5cdH1cclxuXHJcblx0c3RhdGljIGdldFBhcmFtcygpOiBTbGlja0luaXRQYXJhbXMge1xyXG5cdFx0aWYgKCEoPGFueT53aW5kb3cpLnNsaWNrQ29tcG9uZW50c1BhcmFtcykge1xyXG5cdFx0XHRjb25zdCBkZWZhdWx0UGFyYW1zID0gbmV3IFNsaWNrSW5pdFBhcmFtcygpO1xyXG5cdFx0XHRkZWZhdWx0UGFyYW1zLmF0dGFjaFRvID0gXCJib2R5XCI7XHJcblx0XHRcdCg8YW55PndpbmRvdykuc2xpY2tDb21wb25lbnRzUGFyYW1zID0gZGVmYXVsdFBhcmFtcztcclxuXHRcdH1cclxuXHJcblx0XHRyZXR1cm4gPFNsaWNrSW5pdFBhcmFtcz4oPGFueT53aW5kb3cpLnNsaWNrQ29tcG9uZW50c1BhcmFtcztcclxuXHR9XHJcblxyXG5cdHN0YXRpYyBnZXRBdHRhY2hUbygpOiBzdHJpbmcge1xyXG5cdFx0cmV0dXJuIFNsaWNrSW5pdFNlcnZpY2UuZ2V0UGFyYW1zKCkuYXR0YWNoVG87XHJcblx0fVxyXG5cclxuXHRzdGF0aWMgc2V0QXR0YWNoVG8oYXR0YWNoVG9FbGVtZW50OiBzdHJpbmcpIHtcclxuXHRcdFNsaWNrSW5pdFNlcnZpY2UuZ2V0UGFyYW1zKCkuYXR0YWNoVG8gPSBhdHRhY2hUb0VsZW1lbnQ7XHJcblx0fVxyXG5cclxuXHRzdGF0aWMgZ2V0UGxhdGZvcm0oKTogc3RyaW5nIHtcclxuXHRcdHJldHVybiBTbGlja0luaXRTZXJ2aWNlLmdldFBhcmFtcygpLnBsYXRmb3JtO1xyXG5cdH1cclxuXHJcblx0c3RhdGljIHNldFBsYXRmb3JtKHBsYXRmb3JtOiBzdHJpbmcpIHtcclxuXHRcdFNsaWNrSW5pdFNlcnZpY2UuZ2V0UGFyYW1zKCkucGxhdGZvcm0gPSBwbGF0Zm9ybTtcclxuXHR9XHJcblxyXG5cdHN0YXRpYyBnZXRFcnJvckxvZygpOiBzdHJpbmcge1xyXG5cdFx0cmV0dXJuIFNsaWNrSW5pdFNlcnZpY2UuZ2V0UGFyYW1zKCkuZXJyb3JMb2c7XHJcblx0fVxyXG5cclxuXHRzdGF0aWMgc2V0RXJyb3JMb2coZXJyb3JMb2c6IHN0cmluZykge1xyXG5cdFx0U2xpY2tJbml0U2VydmljZS5nZXRQYXJhbXMoKS5lcnJvckxvZyA9IGVycm9yTG9nO1xyXG5cdH1cclxufVxyXG5cclxuIl19
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2staW5pdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvdXRpbHMvc2xpY2staW5pdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTNDLE1BQU0sT0FBTyxlQUFlO0lBQTVCO1FBR0MsYUFBUSxHQUFXLFNBQVMsQ0FBQztJQUc5QixDQUFDO0NBQUE7QUFHRCxNQUFNLE9BQU8sZ0JBQWdCO2FBQ3JCLFlBQU8sR0FBRyxRQUFRLEFBQVgsQ0FBWTtJQUUxQixnQkFBZ0IsQ0FBQztJQUdqQixNQUFNLENBQUMsSUFBSSxDQUFDLFVBQTJCO1FBQ3RDLE9BQU8sQ0FBQyxJQUFJLENBQUMsNEJBQTRCLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDckUsVUFBVSxDQUFDLE9BQU8sR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUM7UUFDeEMsTUFBTyxDQUFDLHFCQUFxQixHQUFHLFVBQVUsQ0FBQztRQUVqRCxPQUFhLE1BQU8sQ0FBQyxxQkFBcUIsQ0FBQztJQUM1QyxDQUFDO0lBRUQsTUFBTSxDQUFDLFNBQVM7UUFDZixJQUFJLENBQU8sTUFBTyxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDMUMsTUFBTSxhQUFhLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQztZQUM1QyxhQUFhLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQztZQUMxQixNQUFPLENBQUMscUJBQXFCLEdBQUcsYUFBYSxDQUFDO1FBQ3JELENBQUM7UUFFRCxPQUE4QixNQUFPLENBQUMscUJBQXFCLENBQUM7SUFDN0QsQ0FBQztJQUVELE1BQU0sQ0FBQyxXQUFXO1FBQ2pCLE9BQU8sZ0JBQWdCLENBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDO0lBQzlDLENBQUM7SUFFRCxNQUFNLENBQUMsV0FBVyxDQUFDLGVBQXVCO1FBQ3pDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsR0FBRyxlQUFlLENBQUM7SUFDekQsQ0FBQztJQUVELE1BQU0sQ0FBQyxXQUFXO1FBQ2pCLE9BQU8sZ0JBQWdCLENBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDO0lBQzlDLENBQUM7SUFFRCxNQUFNLENBQUMsV0FBVyxDQUFDLFFBQWdCO1FBQ2xDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDbEQsQ0FBQztJQUVELE1BQU0sQ0FBQyxXQUFXO1FBQ2pCLE9BQU8sZ0JBQWdCLENBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDO0lBQzlDLENBQUM7SUFFRCxNQUFNLENBQUMsV0FBVyxDQUFDLFFBQWdCO1FBQ2xDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDbEQsQ0FBQztpSUE5Q1csZ0JBQWdCO3FJQUFoQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBTbGlja0luaXRQYXJhbXMge1xyXG5cdGF0dGFjaFRvOiBzdHJpbmc7XHJcblx0cGxhdGZvcm06IHN0cmluZztcclxuXHRlcnJvckxvZzogc3RyaW5nID0gXCJtaW5pbWFsXCI7XHJcblx0dmVyc2lvbjogc3RyaW5nO1xyXG5cclxufVxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgU2xpY2tJbml0U2VydmljZSB7XHRcclxuXHRzdGF0aWMgdmVyc2lvbiA9IFwiMTcuMC44XCI7XHJcblxyXG5cdGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG5cclxuXHRzdGF0aWMgaW5pdChpbml0UGFyYW1zOiBTbGlja0luaXRQYXJhbXMpOiBTbGlja0luaXRQYXJhbXMge1xyXG5cdFx0Y29uc29sZS5pbmZvKGBTbGljayBDb21wb25lbnRzIFZlcnNpb24gJHtTbGlja0luaXRTZXJ2aWNlLnZlcnNpb259YCk7XHJcblx0XHRpbml0UGFyYW1zLnZlcnNpb24gPSBTbGlja0luaXRTZXJ2aWNlLnZlcnNpb247XHJcblx0XHQoPGFueT53aW5kb3cpLnNsaWNrQ29tcG9uZW50c1BhcmFtcyA9IGluaXRQYXJhbXM7XHJcblxyXG5cdFx0cmV0dXJuICg8YW55PndpbmRvdykuc2xpY2tDb21wb25lbnRzUGFyYW1zO1xyXG5cdH1cclxuXHJcblx0c3RhdGljIGdldFBhcmFtcygpOiBTbGlja0luaXRQYXJhbXMge1xyXG5cdFx0aWYgKCEoPGFueT53aW5kb3cpLnNsaWNrQ29tcG9uZW50c1BhcmFtcykge1xyXG5cdFx0XHRjb25zdCBkZWZhdWx0UGFyYW1zID0gbmV3IFNsaWNrSW5pdFBhcmFtcygpO1xyXG5cdFx0XHRkZWZhdWx0UGFyYW1zLmF0dGFjaFRvID0gXCJib2R5XCI7XHJcblx0XHRcdCg8YW55PndpbmRvdykuc2xpY2tDb21wb25lbnRzUGFyYW1zID0gZGVmYXVsdFBhcmFtcztcclxuXHRcdH1cclxuXHJcblx0XHRyZXR1cm4gPFNsaWNrSW5pdFBhcmFtcz4oPGFueT53aW5kb3cpLnNsaWNrQ29tcG9uZW50c1BhcmFtcztcclxuXHR9XHJcblxyXG5cdHN0YXRpYyBnZXRBdHRhY2hUbygpOiBzdHJpbmcge1xyXG5cdFx0cmV0dXJuIFNsaWNrSW5pdFNlcnZpY2UuZ2V0UGFyYW1zKCkuYXR0YWNoVG87XHJcblx0fVxyXG5cclxuXHRzdGF0aWMgc2V0QXR0YWNoVG8oYXR0YWNoVG9FbGVtZW50OiBzdHJpbmcpIHtcclxuXHRcdFNsaWNrSW5pdFNlcnZpY2UuZ2V0UGFyYW1zKCkuYXR0YWNoVG8gPSBhdHRhY2hUb0VsZW1lbnQ7XHJcblx0fVxyXG5cclxuXHRzdGF0aWMgZ2V0UGxhdGZvcm0oKTogc3RyaW5nIHtcclxuXHRcdHJldHVybiBTbGlja0luaXRTZXJ2aWNlLmdldFBhcmFtcygpLnBsYXRmb3JtO1xyXG5cdH1cclxuXHJcblx0c3RhdGljIHNldFBsYXRmb3JtKHBsYXRmb3JtOiBzdHJpbmcpIHtcclxuXHRcdFNsaWNrSW5pdFNlcnZpY2UuZ2V0UGFyYW1zKCkucGxhdGZvcm0gPSBwbGF0Zm9ybTtcclxuXHR9XHJcblxyXG5cdHN0YXRpYyBnZXRFcnJvckxvZygpOiBzdHJpbmcge1xyXG5cdFx0cmV0dXJuIFNsaWNrSW5pdFNlcnZpY2UuZ2V0UGFyYW1zKCkuZXJyb3JMb2c7XHJcblx0fVxyXG5cclxuXHRzdGF0aWMgc2V0RXJyb3JMb2coZXJyb3JMb2c6IHN0cmluZykge1xyXG5cdFx0U2xpY2tJbml0U2VydmljZS5nZXRQYXJhbXMoKS5lcnJvckxvZyA9IGVycm9yTG9nO1xyXG5cdH1cclxufVxyXG5cclxuIl19