@rangertechnologies/ngnxt 2.1.13 → 2.1.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/README.md +29 -1
  2. package/esm2022/lib/ar.i18n.mjs +2 -2
  3. package/esm2022/lib/components/custom-button/custom-button.component.mjs +4 -4
  4. package/esm2022/lib/components/custom-date/custom-date.component.mjs +4 -4
  5. package/esm2022/lib/components/custom-date-picker/custom-date-picker.component.mjs +4 -4
  6. package/esm2022/lib/components/custom-dropdown/custom-dropdown.component.mjs +4 -4
  7. package/esm2022/lib/components/custom-input/custom-input.component.mjs +4 -4
  8. package/esm2022/lib/components/custom-label/custom-label.component.mjs +4 -4
  9. package/esm2022/lib/components/custom-table/custom-table.component.mjs +10 -98
  10. package/esm2022/lib/components/custom-text-area/custom-text-area.component.mjs +4 -4
  11. package/esm2022/lib/components/custom-time/custom-time.component.mjs +4 -4
  12. package/esm2022/lib/components/dependent-table/dependent-table.component.mjs +4 -4
  13. package/esm2022/lib/components/dropdown-with-flag/dropdown-with-flag.component.mjs +5 -5
  14. package/esm2022/lib/components/file-upload/file-upload.component.mjs +12 -9
  15. package/esm2022/lib/components/file-view/file-view.component.mjs +5 -5
  16. package/esm2022/lib/components/pick-location/pick-location.component.mjs +4 -4
  17. package/esm2022/lib/components/search-box/search-box.component.mjs +22 -8
  18. package/esm2022/lib/components/table-appendix/table-appendix.component.mjs +5 -5
  19. package/esm2022/lib/en.i18n.mjs +2 -2
  20. package/esm2022/lib/i18n.component.mjs +4 -4
  21. package/esm2022/lib/i18n.module.mjs +5 -5
  22. package/esm2022/lib/i18n.pipe.mjs +4 -4
  23. package/esm2022/lib/i18n.service.mjs +4 -4
  24. package/esm2022/lib/nxt-app.component.mjs +4 -4
  25. package/esm2022/lib/nxt-app.module.mjs +5 -5
  26. package/esm2022/lib/nxt-app.service.mjs +4 -4
  27. package/esm2022/lib/pages/booklet/booklet.component.mjs +8 -6
  28. package/esm2022/lib/pages/questionbook/questionbook.component.mjs +4 -4
  29. package/esm2022/lib/pages/questionnaire/questionnaire.component.mjs +9 -5
  30. package/esm2022/lib/pages/summary-page/summary-page.component.mjs +5 -5
  31. package/esm2022/lib/services/change.service.mjs +4 -4
  32. package/esm2022/lib/services/data.service.mjs +4 -4
  33. package/esm2022/lib/services/salesforce.service.mjs +4 -4
  34. package/esm2022/lib/services/shared.service.mjs +4 -4
  35. package/esm2022/lib/services/storage.service.mjs +4 -4
  36. package/esm2022/lib/tam.i18n.mjs +2 -2
  37. package/fesm2022/rangertechnologies-ngnxt.mjs +143 -206
  38. package/fesm2022/rangertechnologies-ngnxt.mjs.map +1 -1
  39. package/lib/ar.i18n.d.ts +1 -1
  40. package/lib/components/custom-table/custom-table.component.d.ts +2 -16
  41. package/lib/components/file-upload/file-upload.component.d.ts +0 -1
  42. package/lib/components/search-box/search-box.component.d.ts +1 -0
  43. package/lib/en.i18n.d.ts +1 -1
  44. package/lib/tam.i18n.d.ts +1 -1
  45. package/package.json +1 -1
  46. package/rangertechnologies-ngnxt-2.1.15.tgz +0 -0
  47. package/rangertechnologies-ngnxt-2.1.13.tgz +0 -0
@@ -22,10 +22,13 @@ export class FileUploadComponent {
22
22
  this.i18nService = i18nService;
23
23
  }
24
24
  ngOnInit() { }
25
- onFileUpload(event) {
26
- const fileUploaderElement = document.getElementById('fileUpload');
27
- fileUploaderElement.click();
28
- }
25
+ // VD 03May24 file upload fix
26
+ // onFileUpload(event: any) {
27
+ // const fileUploaderElement: HTMLElement = document.getElementById(
28
+ // 'fileUpload'
29
+ // ) as HTMLElement;
30
+ // fileUploaderElement.click();
31
+ // }
29
32
  ngOnChanges(simpleChanges) {
30
33
  console.log('simple changes', simpleChanges);
31
34
  this.copyOfInputAllFiles = simpleChanges.allFiles?.currentValue;
@@ -93,12 +96,12 @@ export class FileUploadComponent {
93
96
  const ext = docName.split('.').pop(-1);
94
97
  return this.SharedService.docIcon(ext);
95
98
  }
96
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FileUploadComponent, deps: [{ token: i1.SharedService }, { token: i2.I18nService }], target: i0.ɵɵFactoryTarget.Component });
97
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FileUploadComponent, selector: "app-file-upload", inputs: { allFiles: "allFiles", limitFileUploading: "limitFileUploading", isDeleteFileButtonVisible: "isDeleteFileButtonVisible", isShowNoFileIcon: "isShowNoFileIcon", tableFile: "tableFile" }, outputs: { selectedFileData: "selectedFileData", deletedFileData: "deletedFileData" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"row\" style=\"margin: 0;\">\n <div class=\"col-md-12\" *ngIf=\"!isDeleteFileButtonVisible\" style=\"text-align: left;\">\n <!-- HA 19DEC23 For translation -->\n <label class=\"she-label\">{{ 'attachment' | i18n:i18nService.currentLanguage }}</label>\n </div>\n <div class=\"col-lg-3 document-cnt m-t-10 m-b-10 hover-pointer\"\n *ngFor=\"let eachFile of copyOfInputAllFiles; let currentFileIndex = index\">\n <div *ngIf=\"!tableFile\" class=\"row\"> <!-- (click)=\"viewFile(eachFile)\" -->\n <div class=\"col-lg-3 document_image\">\n <img [src]=\"getDocIcon(eachFile?.name)\" style=\"margin-right: 10px;height: 40px;\">\n </div>\n <div class=\"col-lg-9 document_name\">\n {{eachFile?.name}}\n </div>\n <div class=\"document_delete\" (click)=\"deleteFile(currentFileIndex);$event.stopPropagation()\" *ngIf=\"isDeleteFileButtonVisible\">\n <img src=\"https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/bin.svg\">\n </div>\n </div>\n <div *ngIf=\"tableFile\" class=\"row\" style=\"cursor: pointer;\">\n <div class=\"col-lg-3 document_image\">\n <img [src]=\"getDocIcon(eachFile?.doc)\" style=\"margin-right: 10px;height: 40px;\">\n </div>\n <div class=\"col-lg-9 document_name\" style=\"overflow:hidden;height:35px;\">\n {{eachFile?.name}}\n </div>\n </div>\n </div>\n <div class=\"col-md-12 m-b-30 text-center\" *ngIf=\"copyOfInputAllFiles?.length === 0 && isShowNoFileIcon\">\n <img src=\"https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/ic_no_attachments.svg\" style=\"height: 140px;\">\n </div>\n</div>\n\n<div class=\"col-lg-6\" style=\"padding:0;margin-top: 10px;\">\n <label class=\"custom-file\" *ngIf=\"isDeleteFileButtonVisible && !tableFile\">\n <!-- HA 19DEC23 For translation -->\n <button class=\"she-btn-primary-bordered\" style=\"width:275px;\" (click)=\"onFileUpload($event)\"\n [ngClass]=\"{ 'btn-disabled': copyOfInputAllFiles?.length >= copyOfFileUploadingLimit }\" [disabled]=\"copyOfInputAllFiles?.length >= copyOfFileUploadingLimit\"\n >{{ 'chooseFiles' | i18n:i18nService.currentLanguage }}</button>\n\n <input id='fileUpload' type=\"file\" id=\"fileUpload\" name=\"fileUpload\" multiple=\"multiple\" accept=\"*\" style=\"display:none;\"\n (change) = uploadMultipleFiles($event)\n />\n </label>\n<!-- HA 19DEC23 For translation -->\n <label *ngIf=\"tableFile\" class=\"btn btn-primary\">\n {{ 'uploadFile' | i18n:i18nService.currentLanguage }}\n <input id=\"file\" style=\"display: none;\" type=\"file\" class=\"form-control\" (change)= uploadMultipleFiles($event) />\n </label>\n <!-- <span class=\"error-msg\" *ngIf=\"(formControl?.documents?.touched || formControl?.documents?.dirty) &&\n formControl?.documents?.errors?.required\">\n {{LM_POLICY_VALIDATION_MESSAGE.REQUIRED}}\n </span> -->\n</div>\n", styles: [".nav.nav-tabs+.tab-content{background:transparent}.row_cnt_folder{background:#fff;padding:50px 30px}.row-recent-file{border-top:1px solid #EBEBEB;padding:20px 0;cursor:pointer}p{margin-bottom:0}.floating_button{position:fixed;right:20px;bottom:20px;z-index:10;cursor:pointer}.floating_button img{height:60px}.form-cnt{background:#fff;padding:40px;border:1px solid #e8e8e8;border-bottom-left-radius:5px;border-bottom-right-radius:5px}.section-header{padding:15px;background:#f8f8f8;color:#898989;border:1px solid #e8e8e8;border-top-left-radius:5px;border-top-right-radius:5px}.document-cnt{border:1px solid #48B7FF;border-radius:5px;margin-right:30px;margin-top:10px}.document_image{background:#48b7ff66;padding:10px}.document_name{padding:15px 5px;overflow:hidden}.document_delete{position:absolute;background:#c20808;display:block;height:30px;width:30px;border-radius:50px;bottom:32px;right:-15px;cursor:pointer}.document_delete img{position:relative;left:8px;top:3px}.btn-disabled{background:#e1e1e1;color:#fff;border:none;border-radius:5px;height:50px}.form-control[disabled]{border-radius:5px}.custom-file{color:#9a9a9a;font-size:14px;font-weight:400;display:inline-block;width:auto;margin-bottom:5px}.she-btn-primary-bordered{background:#fff;color:#48b7ff;border:1px solid #48B7FF;border-radius:5px;height:50px;outline:none!important}.btn-primary{background-color:#03a9f4!important;border:1px solid #03a9f4!important;color:#fff!important}.btn.btn-primary{border-radius:2px;padding:6px 14px;font-size:14px}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }] });
99
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FileUploadComponent, deps: [{ token: i1.SharedService }, { token: i2.I18nService }], target: i0.ɵɵFactoryTarget.Component });
100
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: FileUploadComponent, selector: "app-file-upload", inputs: { allFiles: "allFiles", limitFileUploading: "limitFileUploading", isDeleteFileButtonVisible: "isDeleteFileButtonVisible", isShowNoFileIcon: "isShowNoFileIcon", tableFile: "tableFile" }, outputs: { selectedFileData: "selectedFileData", deletedFileData: "deletedFileData" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"row\" style=\"margin: 0;\">\n <div class=\"col-md-12\" *ngIf=\"!isDeleteFileButtonVisible\" style=\"text-align: left;\">\n <!-- HA 19DEC23 For translation -->\n <label class=\"she-label\">{{ 'attachment' | i18n:i18nService.currentLanguage }}</label>\n </div>\n <div class=\"col-lg-3 document-cnt m-t-10 m-b-10 hover-pointer\"\n *ngFor=\"let eachFile of copyOfInputAllFiles; let currentFileIndex = index\">\n <div *ngIf=\"!tableFile\" class=\"row\"> <!-- (click)=\"viewFile(eachFile)\" -->\n <div class=\"col-lg-3 document_image\">\n <img [src]=\"getDocIcon(eachFile?.name)\" style=\"margin-right: 10px;height: 40px;\">\n </div>\n <div class=\"col-lg-9 document_name\">\n {{eachFile?.name}}\n </div>\n <div class=\"document_delete\" (click)=\"deleteFile(currentFileIndex);$event.stopPropagation()\" *ngIf=\"isDeleteFileButtonVisible\">\n <img src=\"https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/bin.svg\">\n </div>\n </div>\n <div *ngIf=\"tableFile\" class=\"row\" style=\"cursor: pointer;\">\n <div class=\"col-lg-3 document_image\">\n <img [src]=\"getDocIcon(eachFile?.doc)\" style=\"margin-right: 10px;height: 40px;\">\n </div>\n <div class=\"col-lg-9 document_name\" style=\"overflow:hidden;height:35px;\">\n {{eachFile?.name}}\n </div>\n </div>\n </div>\n <div class=\"col-md-12 m-b-30 text-center\" *ngIf=\"copyOfInputAllFiles?.length === 0 && isShowNoFileIcon\">\n <img src=\"https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/ic_no_attachments.svg\" style=\"height: 140px;\">\n </div>\n</div>\n\n<div class=\"col-lg-6\" style=\"padding:0;margin-top: 10px;\">\n <label class=\"custom-file\" *ngIf=\"isDeleteFileButtonVisible && !tableFile\">\n <!-- HA 19DEC23 For translation -->\n <!-- VD 03May24 file upload fix-->\n <button class=\"she-btn-primary-bordered\" style=\"width:275px;\" (click)=\"fileInput.click()\"\n [ngClass]=\"{ 'btn-disabled': copyOfInputAllFiles?.length >= copyOfFileUploadingLimit }\" [disabled]=\"copyOfInputAllFiles?.length >= copyOfFileUploadingLimit\"\n >{{ 'chooseFiles' | i18n:i18nService.currentLanguage }}</button>\n\n <input #fileInput type=\"file\" name=\"fileUpload\" multiple=\"multiple\" accept=\"*\" style=\"display:none;\"\n (change) = uploadMultipleFiles($event)\n />\n </label>\n<!-- HA 19DEC23 For translation -->\n <label *ngIf=\"tableFile\" class=\"btn btn-primary\">\n {{ 'uploadFile' | i18n:i18nService.currentLanguage }}\n <input id=\"file\" style=\"display: none;\" type=\"file\" class=\"form-control\" (change)= uploadMultipleFiles($event) />\n </label>\n <!-- <span class=\"error-msg\" *ngIf=\"(formControl?.documents?.touched || formControl?.documents?.dirty) &&\n formControl?.documents?.errors?.required\">\n {{LM_POLICY_VALIDATION_MESSAGE.REQUIRED}}\n </span> -->\n</div>\n", styles: [".nav.nav-tabs+.tab-content{background:transparent}.row_cnt_folder{background:#fff;padding:50px 30px}.row-recent-file{border-top:1px solid #EBEBEB;padding:20px 0;cursor:pointer}p{margin-bottom:0}.floating_button{position:fixed;right:20px;bottom:20px;z-index:10;cursor:pointer}.floating_button img{height:60px}.form-cnt{background:#ffffff;padding:40px;border:1px solid #e8e8e8;border-bottom-left-radius:5px;border-bottom-right-radius:5px}.section-header{padding:15px;background:#F8F8F8;color:#898989;border:1px solid #e8e8e8;border-top-left-radius:5px;border-top-right-radius:5px}.document-cnt{border:1px solid #48B7FF;border-radius:5px;margin-right:30px;margin-top:10px}.document_image{background:#48B7FF66;padding:10px}.document_name{padding:15px 5px;overflow:hidden}.document_delete{position:absolute;background:#C20808;display:block;height:30px;width:30px;border-radius:50px;bottom:32px;right:-15px;cursor:pointer}.document_delete img{position:relative;left:8px;top:3px}.btn-disabled{background:#e1e1e1;color:#fff;border:none;border-radius:5px;height:50px}.form-control[disabled]{border-radius:5px}.custom-file{color:#9a9a9a;font-size:14px;font-weight:400;display:inline-block;width:auto;margin-bottom:5px}.she-btn-primary-bordered{background:#ffffff;color:#48b7ff;border:1px solid #48B7FF;border-radius:5px;height:50px;outline:none!important}.btn-primary{background-color:#03a9f4!important;border:1px solid #03a9f4!important;color:#fff!important}.btn.btn-primary{border-radius:2px;padding:6px 14px;font-size:14px}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }] });
98
101
  }
99
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FileUploadComponent, decorators: [{
102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FileUploadComponent, decorators: [{
100
103
  type: Component,
101
- args: [{ selector: 'app-file-upload', template: "<div class=\"row\" style=\"margin: 0;\">\n <div class=\"col-md-12\" *ngIf=\"!isDeleteFileButtonVisible\" style=\"text-align: left;\">\n <!-- HA 19DEC23 For translation -->\n <label class=\"she-label\">{{ 'attachment' | i18n:i18nService.currentLanguage }}</label>\n </div>\n <div class=\"col-lg-3 document-cnt m-t-10 m-b-10 hover-pointer\"\n *ngFor=\"let eachFile of copyOfInputAllFiles; let currentFileIndex = index\">\n <div *ngIf=\"!tableFile\" class=\"row\"> <!-- (click)=\"viewFile(eachFile)\" -->\n <div class=\"col-lg-3 document_image\">\n <img [src]=\"getDocIcon(eachFile?.name)\" style=\"margin-right: 10px;height: 40px;\">\n </div>\n <div class=\"col-lg-9 document_name\">\n {{eachFile?.name}}\n </div>\n <div class=\"document_delete\" (click)=\"deleteFile(currentFileIndex);$event.stopPropagation()\" *ngIf=\"isDeleteFileButtonVisible\">\n <img src=\"https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/bin.svg\">\n </div>\n </div>\n <div *ngIf=\"tableFile\" class=\"row\" style=\"cursor: pointer;\">\n <div class=\"col-lg-3 document_image\">\n <img [src]=\"getDocIcon(eachFile?.doc)\" style=\"margin-right: 10px;height: 40px;\">\n </div>\n <div class=\"col-lg-9 document_name\" style=\"overflow:hidden;height:35px;\">\n {{eachFile?.name}}\n </div>\n </div>\n </div>\n <div class=\"col-md-12 m-b-30 text-center\" *ngIf=\"copyOfInputAllFiles?.length === 0 && isShowNoFileIcon\">\n <img src=\"https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/ic_no_attachments.svg\" style=\"height: 140px;\">\n </div>\n</div>\n\n<div class=\"col-lg-6\" style=\"padding:0;margin-top: 10px;\">\n <label class=\"custom-file\" *ngIf=\"isDeleteFileButtonVisible && !tableFile\">\n <!-- HA 19DEC23 For translation -->\n <button class=\"she-btn-primary-bordered\" style=\"width:275px;\" (click)=\"onFileUpload($event)\"\n [ngClass]=\"{ 'btn-disabled': copyOfInputAllFiles?.length >= copyOfFileUploadingLimit }\" [disabled]=\"copyOfInputAllFiles?.length >= copyOfFileUploadingLimit\"\n >{{ 'chooseFiles' | i18n:i18nService.currentLanguage }}</button>\n\n <input id='fileUpload' type=\"file\" id=\"fileUpload\" name=\"fileUpload\" multiple=\"multiple\" accept=\"*\" style=\"display:none;\"\n (change) = uploadMultipleFiles($event)\n />\n </label>\n<!-- HA 19DEC23 For translation -->\n <label *ngIf=\"tableFile\" class=\"btn btn-primary\">\n {{ 'uploadFile' | i18n:i18nService.currentLanguage }}\n <input id=\"file\" style=\"display: none;\" type=\"file\" class=\"form-control\" (change)= uploadMultipleFiles($event) />\n </label>\n <!-- <span class=\"error-msg\" *ngIf=\"(formControl?.documents?.touched || formControl?.documents?.dirty) &&\n formControl?.documents?.errors?.required\">\n {{LM_POLICY_VALIDATION_MESSAGE.REQUIRED}}\n </span> -->\n</div>\n", styles: [".nav.nav-tabs+.tab-content{background:transparent}.row_cnt_folder{background:#fff;padding:50px 30px}.row-recent-file{border-top:1px solid #EBEBEB;padding:20px 0;cursor:pointer}p{margin-bottom:0}.floating_button{position:fixed;right:20px;bottom:20px;z-index:10;cursor:pointer}.floating_button img{height:60px}.form-cnt{background:#fff;padding:40px;border:1px solid #e8e8e8;border-bottom-left-radius:5px;border-bottom-right-radius:5px}.section-header{padding:15px;background:#f8f8f8;color:#898989;border:1px solid #e8e8e8;border-top-left-radius:5px;border-top-right-radius:5px}.document-cnt{border:1px solid #48B7FF;border-radius:5px;margin-right:30px;margin-top:10px}.document_image{background:#48b7ff66;padding:10px}.document_name{padding:15px 5px;overflow:hidden}.document_delete{position:absolute;background:#c20808;display:block;height:30px;width:30px;border-radius:50px;bottom:32px;right:-15px;cursor:pointer}.document_delete img{position:relative;left:8px;top:3px}.btn-disabled{background:#e1e1e1;color:#fff;border:none;border-radius:5px;height:50px}.form-control[disabled]{border-radius:5px}.custom-file{color:#9a9a9a;font-size:14px;font-weight:400;display:inline-block;width:auto;margin-bottom:5px}.she-btn-primary-bordered{background:#fff;color:#48b7ff;border:1px solid #48B7FF;border-radius:5px;height:50px;outline:none!important}.btn-primary{background-color:#03a9f4!important;border:1px solid #03a9f4!important;color:#fff!important}.btn.btn-primary{border-radius:2px;padding:6px 14px;font-size:14px}\n"] }]
104
+ args: [{ selector: 'app-file-upload', template: "<div class=\"row\" style=\"margin: 0;\">\n <div class=\"col-md-12\" *ngIf=\"!isDeleteFileButtonVisible\" style=\"text-align: left;\">\n <!-- HA 19DEC23 For translation -->\n <label class=\"she-label\">{{ 'attachment' | i18n:i18nService.currentLanguage }}</label>\n </div>\n <div class=\"col-lg-3 document-cnt m-t-10 m-b-10 hover-pointer\"\n *ngFor=\"let eachFile of copyOfInputAllFiles; let currentFileIndex = index\">\n <div *ngIf=\"!tableFile\" class=\"row\"> <!-- (click)=\"viewFile(eachFile)\" -->\n <div class=\"col-lg-3 document_image\">\n <img [src]=\"getDocIcon(eachFile?.name)\" style=\"margin-right: 10px;height: 40px;\">\n </div>\n <div class=\"col-lg-9 document_name\">\n {{eachFile?.name}}\n </div>\n <div class=\"document_delete\" (click)=\"deleteFile(currentFileIndex);$event.stopPropagation()\" *ngIf=\"isDeleteFileButtonVisible\">\n <img src=\"https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/bin.svg\">\n </div>\n </div>\n <div *ngIf=\"tableFile\" class=\"row\" style=\"cursor: pointer;\">\n <div class=\"col-lg-3 document_image\">\n <img [src]=\"getDocIcon(eachFile?.doc)\" style=\"margin-right: 10px;height: 40px;\">\n </div>\n <div class=\"col-lg-9 document_name\" style=\"overflow:hidden;height:35px;\">\n {{eachFile?.name}}\n </div>\n </div>\n </div>\n <div class=\"col-md-12 m-b-30 text-center\" *ngIf=\"copyOfInputAllFiles?.length === 0 && isShowNoFileIcon\">\n <img src=\"https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/ic_no_attachments.svg\" style=\"height: 140px;\">\n </div>\n</div>\n\n<div class=\"col-lg-6\" style=\"padding:0;margin-top: 10px;\">\n <label class=\"custom-file\" *ngIf=\"isDeleteFileButtonVisible && !tableFile\">\n <!-- HA 19DEC23 For translation -->\n <!-- VD 03May24 file upload fix-->\n <button class=\"she-btn-primary-bordered\" style=\"width:275px;\" (click)=\"fileInput.click()\"\n [ngClass]=\"{ 'btn-disabled': copyOfInputAllFiles?.length >= copyOfFileUploadingLimit }\" [disabled]=\"copyOfInputAllFiles?.length >= copyOfFileUploadingLimit\"\n >{{ 'chooseFiles' | i18n:i18nService.currentLanguage }}</button>\n\n <input #fileInput type=\"file\" name=\"fileUpload\" multiple=\"multiple\" accept=\"*\" style=\"display:none;\"\n (change) = uploadMultipleFiles($event)\n />\n </label>\n<!-- HA 19DEC23 For translation -->\n <label *ngIf=\"tableFile\" class=\"btn btn-primary\">\n {{ 'uploadFile' | i18n:i18nService.currentLanguage }}\n <input id=\"file\" style=\"display: none;\" type=\"file\" class=\"form-control\" (change)= uploadMultipleFiles($event) />\n </label>\n <!-- <span class=\"error-msg\" *ngIf=\"(formControl?.documents?.touched || formControl?.documents?.dirty) &&\n formControl?.documents?.errors?.required\">\n {{LM_POLICY_VALIDATION_MESSAGE.REQUIRED}}\n </span> -->\n</div>\n", styles: [".nav.nav-tabs+.tab-content{background:transparent}.row_cnt_folder{background:#fff;padding:50px 30px}.row-recent-file{border-top:1px solid #EBEBEB;padding:20px 0;cursor:pointer}p{margin-bottom:0}.floating_button{position:fixed;right:20px;bottom:20px;z-index:10;cursor:pointer}.floating_button img{height:60px}.form-cnt{background:#ffffff;padding:40px;border:1px solid #e8e8e8;border-bottom-left-radius:5px;border-bottom-right-radius:5px}.section-header{padding:15px;background:#F8F8F8;color:#898989;border:1px solid #e8e8e8;border-top-left-radius:5px;border-top-right-radius:5px}.document-cnt{border:1px solid #48B7FF;border-radius:5px;margin-right:30px;margin-top:10px}.document_image{background:#48B7FF66;padding:10px}.document_name{padding:15px 5px;overflow:hidden}.document_delete{position:absolute;background:#C20808;display:block;height:30px;width:30px;border-radius:50px;bottom:32px;right:-15px;cursor:pointer}.document_delete img{position:relative;left:8px;top:3px}.btn-disabled{background:#e1e1e1;color:#fff;border:none;border-radius:5px;height:50px}.form-control[disabled]{border-radius:5px}.custom-file{color:#9a9a9a;font-size:14px;font-weight:400;display:inline-block;width:auto;margin-bottom:5px}.she-btn-primary-bordered{background:#ffffff;color:#48b7ff;border:1px solid #48B7FF;border-radius:5px;height:50px;outline:none!important}.btn-primary{background-color:#03a9f4!important;border:1px solid #03a9f4!important;color:#fff!important}.btn.btn-primary{border-radius:2px;padding:6px 14px;font-size:14px}\n"] }]
102
105
  }], ctorParameters: function () { return [{ type: i1.SharedService }, { type: i2.I18nService }]; }, propDecorators: { selectedFileData: [{
103
106
  type: Output
104
107
  }], deletedFileData: [{
@@ -114,4 +117,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
114
117
  }], tableFile: [{
115
118
  type: Input
116
119
  }] } });
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS11cGxvYWQvZmlsZS11cGxvYWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS11cGxvYWQvZmlsZS11cGxvYWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBUyxNQUFNLEVBQUMsWUFBWSxFQUFFLEtBQUssRUFBc0MsTUFBTSxlQUFlLENBQUM7Ozs7OztBQVNqSCxNQUFNLE9BQU8sbUJBQW1CO0lBWVY7SUFDWDtJQVpDLGdCQUFnQixHQUFHLElBQUksWUFBWSxFQUFTLENBQUM7SUFDN0MsZUFBZSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDM0MsUUFBUSxDQUFDO0lBQ1Qsa0JBQWtCLENBQUM7SUFDbkIseUJBQXlCLENBQUM7SUFDMUIsZ0JBQWdCLENBQUM7SUFDakIsU0FBUyxDQUFDLENBQUUseUJBQXlCO0lBRXZDLHFCQUFxQixHQUFhLEVBQUUsQ0FBQztJQUNyQyxtQkFBbUIsQ0FBQztJQUNwQix3QkFBd0IsQ0FBQztJQUNoQyxZQUFvQixhQUE0QixFQUN2QyxXQUF3QjtRQURiLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQ3ZDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO0lBQzdCLENBQUM7SUFFTCxRQUFRLEtBQUssQ0FBQztJQUVkLFlBQVksQ0FBQyxLQUFVO1FBQ3JCLE1BQU0sbUJBQW1CLEdBQWdCLFFBQVEsQ0FBQyxjQUFjLENBQzlELFlBQVksQ0FDRSxDQUFDO1FBQ2pCLG1CQUFtQixDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxXQUFXLENBQUMsYUFBNEI7UUFDdEMsT0FBTyxD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R0FBc0c7SUFDdEcsa0RBQWtEO0lBQ2xELHNEQUFzRDtJQUN0RCxVQUFVO0lBQ1YseUJBQXlCO0lBQ3pCLG9FQUFvRTtJQUNwRSxVQUFVO0lBQ1YsTUFBTTtJQUNOLElBQUk7SUFFSixVQUFVLENBQUMsT0FBTztRQUNoQixNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekMsQ0FBQzt1R0FoR1UsbUJBQW1COzJGQUFuQixtQkFBbUIscVdDVGhDLG0xRkFxREE7OzJGRDVDYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsaUJBQWlCOzhIQUtqQixnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTTtnQkFDRSxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyx5QkFBeUI7c0JBQWpDLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCxPdXRwdXQsRXZlbnRFbWl0dGVyLCBJbnB1dCAsRWxlbWVudFJlZiwgT25DaGFuZ2VzLFNpbXBsZUNoYW5nZXN9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuLy8gSEEgMTlERUMyMyBpbXBvcnRlZCB0cmFuc2xhdGlvbiBzZXJ2aWNlXG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uL2kxOG4uc2VydmljZSc7XG5pbXBvcnQgeyBTaGFyZWRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc2hhcmVkLnNlcnZpY2UnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWZpbGUtdXBsb2FkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmlsZS11cGxvYWQuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVVcGxvYWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsT25DaGFuZ2VzIHtcbiAgQE91dHB1dCgpIHNlbGVjdGVkRmlsZURhdGEgPSBuZXcgRXZlbnRFbWl0dGVyPGFueVtdPigpO1xuICBAT3V0cHV0KCkgZGVsZXRlZEZpbGVEYXRhID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBJbnB1dCgpIGFsbEZpbGVzO1xuICBASW5wdXQoKSBsaW1pdEZpbGVVcGxvYWRpbmc7XG4gIEBJbnB1dCgpIGlzRGVsZXRlRmlsZUJ1dHRvblZpc2libGU7XG4gIEBJbnB1dCgpIGlzU2hvd05vRmlsZUljb247XG4gIEBJbnB1dCgpIHRhYmxlRmlsZTsgIC8vIGZpbGUgVXBsb2FkIGZyb20gdGFibGVcblxuICBwdWJsaWMgc2VsZWN0ZWRGaWxlTmFtZUFycmF5OiBzdHJpbmdbXSA9IFtdO1xuICBwdWJsaWMgY29weU9mSW5wdXRBbGxGaWxlcztcbiAgcHVibGljIGNvcHlPZkZpbGVVcGxvYWRpbmdMaW1pdDtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBTaGFyZWRTZXJ2aWNlOiBTaGFyZWRTZXJ2aWNlLFxuICAgIHB1YmxpYyBpMThuU2VydmljZTogSTE4blNlcnZpY2VcbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpIHsgfVxuXG4gIG9uRmlsZVVwbG9hZChldmVudDogYW55KSB7XG4gICAgY29uc3QgZmlsZVVwbG9hZGVyRWxlbWVudDogSFRNTEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcbiAgICAgICdmaWxlVXBsb2FkJ1xuICAgICkgYXMgSFRNTEVsZW1lbnQ7XG4gICAgZmlsZVVwbG9hZGVyRWxlbWVudC5jbGljaygpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoc2ltcGxlQ2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGNvbnNvbGUubG9nKCdzaW1wbGUgY2hhbmdlcycsIHNpbXBsZUNoYW5nZXMpO1xuICAgIHRoaXMuY29weU9mSW5wdXRBbGxGaWxlcyA9IHNpbXBsZUNoYW5nZXMuYWxsRmlsZXM/LmN1cnJlbnRWYWx1ZTtcbiAgICBpZiAoc2ltcGxlQ2hhbmdlcy5saW1pdEZpbGVVcGxvYWRpbmcpIHtcbiAgICAgIHRoaXMuY29weU9mRmlsZVVwbG9hZGluZ0xpbWl0ID0gc2ltcGxlQ2hhbmdlcy5saW1pdEZpbGVVcGxvYWRpbmc/LmN1cnJlbnRWYWx1ZTtcbiAgICB9XG5cbiAgfVxuXG4gIHVwbG9hZE11bHRpcGxlRmlsZXMoZXZlbnQ6IGFueSkge1xuICAgIGNvbnNvbGUubG9nKCdGaWxlIHVwbG9hZGVyIGluaXRpYXRlZCcpO1xuICAgIGNvbnN0IGlucHV0RmlsZXM6IGFueVtdID0gdGhpcy5jb3B5T2ZJbnB1dEFsbEZpbGVzID8gdGhpcy5jb3B5T2ZJbnB1dEFsbEZpbGVzIDogW107XG4gICAgY29uc3Qgc2VsZWN0ZWRGaWxlRGF0YSA9IFtdO1xuICAgIGNvbnN0IHVwbG9hZGVkRmlsZXMgPSBldmVudC50YXJnZXQuZmlsZXM7XG4gICAgaWYgKHVwbG9hZGVkRmlsZXMubGVuZ3RoICsgaW5wdXRGaWxlcy5sZW5ndGggPD0gdGhpcy5jb3B5T2ZGaWxlVXBsb2FkaW5nTGltaXQpIHtcbiAgICAgIGZvciAoY29uc3QgZWFjaFVwbG9hZGVkRmlsZSBvZiB1cGxvYWRlZEZpbGVzKSB7XG4gICAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgICAgIGNvbnN0IGZpbGU6IEZpbGUgPSBlYWNoVXBsb2FkZWRGaWxlO1xuICAgICAgICBjb25zdCBmb3JtYXQgPSBmaWxlLm5hbWUuc3BsaXQoJy4nKVsxXTtcbiAgICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZSk7XG4gICAgICAgIHJlYWRlci5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgICAgc2VsZWN0ZWRGaWxlRGF0YS5wdXNoKHtcbiAgICAgICAgICAgIGRvYzogcmVhZGVyLnJlc3VsdCxcbiAgICAgICAgICAgIG5hbWU6IGZpbGUubmFtZSxcbiAgICAgICAgICAgIHR5cGU6IGZpbGUudHlwZSxcbiAgICAgICAgICAgIGZvcm1hdCxcbiAgICAgICAgICAgIGlkOiBudWxsLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGlucHV0RmlsZXMucHVzaCh7XG4gICAgICAgICAgICBkb2M6IHJlYWRlci5yZXN1bHQsXG4gICAgICAgICAgICBuYW1lOiBmaWxlLm5hbWUsXG4gICAgICAgICAgICB0eXBlOiBmaWxlLnR5cGUsXG4gICAgICAgICAgICBmb3JtYXQsXG4gICAgICAgICAgICBpZDogbnVsbCxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS53YXJuKCdZb3UgY2FuIHVwbG9hZCBtYXggNSBmaWxlcycpO1xuICAgICAgLy90aGlzLnRvYXN0ci53YXJuaW5nKFRPQVNURVJfTUVTU0FHRVMuTUFYX0ZJVkVfRklMRVMsIFRPQVNURVJfTUVTU0FHRVMuV0FSTklOR19USVRMRSk7XG4gICAgfVxuICAgIGV2ZW50LnRhcmdldC52YWx1ZSA9ICcnO1xuICAgIHRoaXMuY29weU9mSW5wdXRBbGxGaWxlcyA9IGlucHV0RmlsZXM7XG4gICAgY29uc29sZS5sb2coJ3VwbG9hZGVkRmlsZXMnLGlucHV0RmlsZXMpO1xuICAgIHRoaXMuc2VsZWN0ZWRGaWxlRGF0YS5lbWl0KGlucHV0RmlsZXMpO1xuICB9XG5cblxuICBkZWxldGVGaWxlKGN1cnJlbnRGaWxlSW5kZXgpIHtcbiAgICAgICAgY29uc3QgZGVsZXRlZEZpbGVOYW1lID0gdGhpcy5zZWxlY3RlZEZpbGVOYW1lQXJyYXkuc3BsaWNlKGN1cnJlbnRGaWxlSW5kZXgsIDEpO1xuICAgICAgICBjb25zdCBkZWxldGVkRmlsZSA9IHRoaXMuY29weU9mSW5wdXRBbGxGaWxlcy5zcGxpY2UoY3VycmVudEZpbGVJbmRleCwgMSk7XG4gICAgICAgIGNvbnNvbGUubG9nKCdlbWl0JywgZGVsZXRlZEZpbGVbMF0pO1xuICAgICAgICB0aGlzLmRlbGV0ZWRGaWxlRGF0YS5lbWl0KGRlbGV0ZWRGaWxlWzBdKTtcbiAgfVxuXG4gIC8vIHZpZXdGaWxlKGN1cnJlbnRGaWxlKSB7XG4gIC8vICAgLy8gRGlzcGxheSBmaWxlIGhlcmVcbiAgLy8gICBpZiAoY3VycmVudEZpbGUgJiYgY3VycmVudEZpbGUuZG9jKSB7XG4gIC8vICAgICB0aGlzLnNoYXJlZFNlcnZpY2Uudmlld0ZpbGUoY3VycmVudEZpbGUuZG9jLnNwbGl0KCcvJykucG9wKCkpLnN1YnNjcmliZSgoYXBpUmVzcG9uc2U6IGFueSkgPT4ge1xuICAvLyAgICAgICBpZiAoYXBpUmVzcG9uc2UgJiYgYXBpUmVzcG9uc2Uuc2FzX3VybCkge1xuICAvLyAgICAgICAgIHdpbmRvdy5vcGVuKGFwaVJlc3BvbnNlLnNhc191cmwsICdfYmxhbmsnKTtcbiAgLy8gICAgICAgfVxuICAvLyAgICAgfSwgKGFwaUVycm9yKSA9PiB7XG4gIC8vICAgICAgIHRoaXMudG9hc3RyLndhcm5pbmcoJ0Vycm9yIHdoaWxlIHZpZXdpbmcgZmlsZScsICdXYXJuaW5nJyk7XG4gIC8vICAgICB9KTtcbiAgLy8gICB9XG4gIC8vIH1cblxuICBnZXREb2NJY29uKGRvY05hbWUpIHtcbiAgICBjb25zdCBleHQgPSBkb2NOYW1lLnNwbGl0KCcuJykucG9wKC0xKTtcbiAgICByZXR1cm4gdGhpcy5TaGFyZWRTZXJ2aWNlLmRvY0ljb24oZXh0KTtcbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwicm93XCIgc3R5bGU9XCJtYXJnaW46IDA7XCI+XG4gIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIiAqbmdJZj1cIiFpc0RlbGV0ZUZpbGVCdXR0b25WaXNpYmxlXCIgc3R5bGU9XCJ0ZXh0LWFsaWduOiBsZWZ0O1wiPlxuICAgIDwhLS0gSEEgMTlERUMyMyBGb3IgdHJhbnNsYXRpb24gLS0+XG4gICAgPGxhYmVsIGNsYXNzPVwic2hlLWxhYmVsXCI+e3sgJ2F0dGFjaG1lbnQnIHwgaTE4bjppMThuU2VydmljZS5jdXJyZW50TGFuZ3VhZ2UgfX08L2xhYmVsPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImNvbC1sZy0zIGRvY3VtZW50LWNudCBtLXQtMTAgbS1iLTEwIGhvdmVyLXBvaW50ZXJcIlxuICAgICpuZ0Zvcj1cImxldCBlYWNoRmlsZSBvZiBjb3B5T2ZJbnB1dEFsbEZpbGVzOyBsZXQgY3VycmVudEZpbGVJbmRleCA9IGluZGV4XCI+XG4gICAgIDxkaXYgKm5nSWY9XCIhdGFibGVGaWxlXCIgY2xhc3M9XCJyb3dcIj4gPCEtLSAoY2xpY2spPVwidmlld0ZpbGUoZWFjaEZpbGUpXCIgIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0zIGRvY3VtZW50X2ltYWdlXCI+XG4gICAgICAgIDxpbWcgW3NyY109XCJnZXREb2NJY29uKGVhY2hGaWxlPy5uYW1lKVwiIHN0eWxlPVwibWFyZ2luLXJpZ2h0OiAxMHB4O2hlaWdodDogNDBweDtcIj5cbiAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctOSBkb2N1bWVudF9uYW1lXCI+XG4gICAgICAgIHt7ZWFjaEZpbGU/Lm5hbWV9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZG9jdW1lbnRfZGVsZXRlXCIgKGNsaWNrKT1cImRlbGV0ZUZpbGUoY3VycmVudEZpbGVJbmRleCk7JGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCIgKm5nSWY9XCJpc0RlbGV0ZUZpbGVCdXR0b25WaXNpYmxlXCI+XG4gICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9ybnh0LnMzLmFtYXpvbmF3cy5jb20vSWNvbnMvZmlsZVR5cGVJY29ucy9iaW4uc3ZnXCI+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwidGFibGVGaWxlXCIgY2xhc3M9XCJyb3dcIiBzdHlsZT1cImN1cnNvcjogcG9pbnRlcjtcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMyBkb2N1bWVudF9pbWFnZVwiPlxuICAgICAgICAgIDxpbWcgW3NyY109XCJnZXREb2NJY29uKGVhY2hGaWxlPy5kb2MpXCIgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDEwcHg7aGVpZ2h0OiA0MHB4O1wiPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTkgZG9jdW1lbnRfbmFtZVwiIHN0eWxlPVwib3ZlcmZsb3c6aGlkZGVuO2hlaWdodDozNXB4O1wiPlxuICAgICAgICAgIHt7ZWFjaEZpbGU/Lm5hbWV9fVxuICAgICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBtLWItMzAgdGV4dC1jZW50ZXJcIiAqbmdJZj1cImNvcHlPZklucHV0QWxsRmlsZXM/Lmxlbmd0aCA9PT0gMCAmJiBpc1Nob3dOb0ZpbGVJY29uXCI+XG4gICAgPGltZyBzcmM9XCJodHRwczovL3JueHQuczMuYW1hem9uYXdzLmNvbS9JY29ucy9maWxlVHlwZUljb25zL2ljX25vX2F0dGFjaG1lbnRzLnN2Z1wiIHN0eWxlPVwiaGVpZ2h0OiAxNDBweDtcIj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cImNvbC1sZy02XCIgc3R5bGU9XCJwYWRkaW5nOjA7bWFyZ2luLXRvcDogMTBweDtcIj5cbiAgPGxhYmVsIGNsYXNzPVwiY3VzdG9tLWZpbGVcIiAqbmdJZj1cImlzRGVsZXRlRmlsZUJ1dHRvblZpc2libGUgJiYgIXRhYmxlRmlsZVwiPlxuICAgIDwhLS0gSEEgMTlERUMyMyBGb3IgdHJhbnNsYXRpb24gLS0+XG4gICAgPGJ1dHRvbiBjbGFzcz1cInNoZS1idG4tcHJpbWFyeS1ib3JkZXJlZFwiIHN0eWxlPVwid2lkdGg6Mjc1cHg7XCIgKGNsaWNrKT1cIm9uRmlsZVVwbG9hZCgkZXZlbnQpXCJcbiAgICBbbmdDbGFzc109XCJ7ICdidG4tZGlzYWJsZWQnOiBjb3B5T2ZJbnB1dEFsbEZpbGVzPy5sZW5ndGggPj0gY29weU9mRmlsZVVwbG9hZGluZ0xpbWl0IH1cIiBbZGlzYWJsZWRdPVwiY29weU9mSW5wdXRBbGxGaWxlcz8ubGVuZ3RoID49IGNvcHlPZkZpbGVVcGxvYWRpbmdMaW1pdFwiXG4gICAgPnt7ICdjaG9vc2VGaWxlcycgfCBpMThuOmkxOG5TZXJ2aWNlLmN1cnJlbnRMYW5ndWFnZSB9fTwvYnV0dG9uPlxuXG4gICAgPGlucHV0IGlkPSdmaWxlVXBsb2FkJyB0eXBlPVwiZmlsZVwiIGlkPVwiZmlsZVVwbG9hZFwiIG5hbWU9XCJmaWxlVXBsb2FkXCIgbXVsdGlwbGU9XCJtdWx0aXBsZVwiIGFjY2VwdD1cIipcIiBzdHlsZT1cImRpc3BsYXk6bm9uZTtcIlxuICAgIChjaGFuZ2UpID0gdXBsb2FkTXVsdGlwbGVGaWxlcygkZXZlbnQpXG4gICAgLz5cbiAgPC9sYWJlbD5cbjwhLS0gSEEgMTlERUMyMyBGb3IgdHJhbnNsYXRpb24gLS0+XG4gIDxsYWJlbCAqbmdJZj1cInRhYmxlRmlsZVwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCI+XG4gICAge3sgJ3VwbG9hZEZpbGUnIHwgaTE4bjppMThuU2VydmljZS5jdXJyZW50TGFuZ3VhZ2UgfX1cbiAgICA8aW5wdXQgaWQ9XCJmaWxlXCIgc3R5bGU9XCJkaXNwbGF5OiBub25lO1wiIHR5cGU9XCJmaWxlXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiAoY2hhbmdlKT0gdXBsb2FkTXVsdGlwbGVGaWxlcygkZXZlbnQpIC8+XG4gIDwvbGFiZWw+XG4gIDwhLS0gPHNwYW4gY2xhc3M9XCJlcnJvci1tc2dcIiAqbmdJZj1cIihmb3JtQ29udHJvbD8uZG9jdW1lbnRzPy50b3VjaGVkIHx8ICAgICAgICBmb3JtQ29udHJvbD8uZG9jdW1lbnRzPy5kaXJ0eSkgJiZcbiAgZm9ybUNvbnRyb2w/LmRvY3VtZW50cz8uZXJyb3JzPy5yZXF1aXJlZFwiPlxuICAgIHt7TE1fUE9MSUNZX1ZBTElEQVRJT05fTUVTU0FHRS5SRVFVSVJFRH19XG4gIDwvc3Bhbj4gLS0+XG48L2Rpdj5cbiJdfQ==
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS11cGxvYWQvZmlsZS11cGxvYWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS11cGxvYWQvZmlsZS11cGxvYWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBUyxNQUFNLEVBQUMsWUFBWSxFQUFFLEtBQUssRUFBc0MsTUFBTSxlQUFlLENBQUM7Ozs7OztBQVNqSCxNQUFNLE9BQU8sbUJBQW1CO0lBWVY7SUFDWDtJQVpDLGdCQUFnQixHQUFHLElBQUksWUFBWSxFQUFTLENBQUM7SUFDN0MsZUFBZSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDM0MsUUFBUSxDQUFDO0lBQ1Qsa0JBQWtCLENBQUM7SUFDbkIseUJBQXlCLENBQUM7SUFDMUIsZ0JBQWdCLENBQUM7SUFDakIsU0FBUyxDQUFDLENBQUUseUJBQXlCO0lBRXZDLHFCQUFxQixHQUFhLEVBQUUsQ0FBQztJQUNyQyxtQkFBbUIsQ0FBQztJQUNwQix3QkFBd0IsQ0FBQztJQUNoQyxZQUFvQixhQUE0QixFQUN2QyxXQUF3QjtRQURiLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQ3ZDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO0lBQzdCLENBQUM7SUFFTCxRQUFRLEtBQUssQ0FBQztJQUNkLDZCQUE2QjtJQUM3Qiw2QkFBNkI7SUFDN0Isc0VBQXNFO0lBQ3RFLG1CQUFtQjtJQUNuQixzQkFBc0I7SUFDdEIsaUNBQWlDO0lBQ2pDLElBQUk7SUFFSixXQUFXLENBQUMsYUFBNEI7UUFDdEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLENBQUMs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RCxVQUFVO0lBQ1YseUJBQXlCO0lBQ3pCLG9FQUFvRTtJQUNwRSxVQUFVO0lBQ1YsTUFBTTtJQUNOLElBQUk7SUFFSixVQUFVLENBQUMsT0FBTztRQUNoQixNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekMsQ0FBQzt3R0FoR1UsbUJBQW1COzRGQUFuQixtQkFBbUIscVdDVGhDLGsyRkFzREE7OzRGRDdDYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsaUJBQWlCOzhIQUtqQixnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTTtnQkFDRSxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyx5QkFBeUI7c0JBQWpDLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCxPdXRwdXQsRXZlbnRFbWl0dGVyLCBJbnB1dCAsRWxlbWVudFJlZiwgT25DaGFuZ2VzLFNpbXBsZUNoYW5nZXN9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuLy8gSEEgMTlERUMyMyBpbXBvcnRlZCB0cmFuc2xhdGlvbiBzZXJ2aWNlXG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uL2kxOG4uc2VydmljZSc7XG5pbXBvcnQgeyBTaGFyZWRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc2hhcmVkLnNlcnZpY2UnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWZpbGUtdXBsb2FkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmlsZS11cGxvYWQuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVVcGxvYWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsT25DaGFuZ2VzIHtcbiAgQE91dHB1dCgpIHNlbGVjdGVkRmlsZURhdGEgPSBuZXcgRXZlbnRFbWl0dGVyPGFueVtdPigpO1xuICBAT3V0cHV0KCkgZGVsZXRlZEZpbGVEYXRhID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBJbnB1dCgpIGFsbEZpbGVzO1xuICBASW5wdXQoKSBsaW1pdEZpbGVVcGxvYWRpbmc7XG4gIEBJbnB1dCgpIGlzRGVsZXRlRmlsZUJ1dHRvblZpc2libGU7XG4gIEBJbnB1dCgpIGlzU2hvd05vRmlsZUljb247XG4gIEBJbnB1dCgpIHRhYmxlRmlsZTsgIC8vIGZpbGUgVXBsb2FkIGZyb20gdGFibGVcblxuICBwdWJsaWMgc2VsZWN0ZWRGaWxlTmFtZUFycmF5OiBzdHJpbmdbXSA9IFtdO1xuICBwdWJsaWMgY29weU9mSW5wdXRBbGxGaWxlcztcbiAgcHVibGljIGNvcHlPZkZpbGVVcGxvYWRpbmdMaW1pdDtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBTaGFyZWRTZXJ2aWNlOiBTaGFyZWRTZXJ2aWNlLFxuICAgIHB1YmxpYyBpMThuU2VydmljZTogSTE4blNlcnZpY2VcbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpIHsgfVxuICAvLyBWRCAwM01heTI0IGZpbGUgdXBsb2FkIGZpeFxuICAvLyBvbkZpbGVVcGxvYWQoZXZlbnQ6IGFueSkge1xuICAvLyAgIGNvbnN0IGZpbGVVcGxvYWRlckVsZW1lbnQ6IEhUTUxFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXG4gIC8vICAgICAnZmlsZVVwbG9hZCdcbiAgLy8gICApIGFzIEhUTUxFbGVtZW50O1xuICAvLyAgIGZpbGVVcGxvYWRlckVsZW1lbnQuY2xpY2soKTtcbiAgLy8gfVxuXG4gIG5nT25DaGFuZ2VzKHNpbXBsZUNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBjb25zb2xlLmxvZygnc2ltcGxlIGNoYW5nZXMnLCBzaW1wbGVDaGFuZ2VzKTtcbiAgICB0aGlzLmNvcHlPZklucHV0QWxsRmlsZXMgPSBzaW1wbGVDaGFuZ2VzLmFsbEZpbGVzPy5jdXJyZW50VmFsdWU7XG4gICAgaWYgKHNpbXBsZUNoYW5nZXMubGltaXRGaWxlVXBsb2FkaW5nKSB7XG4gICAgICB0aGlzLmNvcHlPZkZpbGVVcGxvYWRpbmdMaW1pdCA9IHNpbXBsZUNoYW5nZXMubGltaXRGaWxlVXBsb2FkaW5nPy5jdXJyZW50VmFsdWU7XG4gICAgfVxuXG4gIH1cblxuICB1cGxvYWRNdWx0aXBsZUZpbGVzKGV2ZW50OiBhbnkpIHtcbiAgICBjb25zb2xlLmxvZygnRmlsZSB1cGxvYWRlciBpbml0aWF0ZWQnKTtcbiAgICBjb25zdCBpbnB1dEZpbGVzOiBhbnlbXSA9IHRoaXMuY29weU9mSW5wdXRBbGxGaWxlcyA/IHRoaXMuY29weU9mSW5wdXRBbGxGaWxlcyA6IFtdO1xuICAgIGNvbnN0IHNlbGVjdGVkRmlsZURhdGEgPSBbXTtcbiAgICBjb25zdCB1cGxvYWRlZEZpbGVzID0gZXZlbnQudGFyZ2V0LmZpbGVzO1xuICAgIGlmICh1cGxvYWRlZEZpbGVzLmxlbmd0aCArIGlucHV0RmlsZXMubGVuZ3RoIDw9IHRoaXMuY29weU9mRmlsZVVwbG9hZGluZ0xpbWl0KSB7XG4gICAgICBmb3IgKGNvbnN0IGVhY2hVcGxvYWRlZEZpbGUgb2YgdXBsb2FkZWRGaWxlcykge1xuICAgICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgICAgICBjb25zdCBmaWxlOiBGaWxlID0gZWFjaFVwbG9hZGVkRmlsZTtcbiAgICAgICAgY29uc3QgZm9ybWF0ID0gZmlsZS5uYW1lLnNwbGl0KCcuJylbMV07XG4gICAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpO1xuICAgICAgICByZWFkZXIub25sb2FkID0gKCkgPT4ge1xuICAgICAgICAgIHNlbGVjdGVkRmlsZURhdGEucHVzaCh7XG4gICAgICAgICAgICBkb2M6IHJlYWRlci5yZXN1bHQsXG4gICAgICAgICAgICBuYW1lOiBmaWxlLm5hbWUsXG4gICAgICAgICAgICB0eXBlOiBmaWxlLnR5cGUsXG4gICAgICAgICAgICBmb3JtYXQsXG4gICAgICAgICAgICBpZDogbnVsbCxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBpbnB1dEZpbGVzLnB1c2goe1xuICAgICAgICAgICAgZG9jOiByZWFkZXIucmVzdWx0LFxuICAgICAgICAgICAgbmFtZTogZmlsZS5uYW1lLFxuICAgICAgICAgICAgdHlwZTogZmlsZS50eXBlLFxuICAgICAgICAgICAgZm9ybWF0LFxuICAgICAgICAgICAgaWQ6IG51bGwsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUud2FybignWW91IGNhbiB1cGxvYWQgbWF4IDUgZmlsZXMnKTtcbiAgICAgIC8vdGhpcy50b2FzdHIud2FybmluZyhUT0FTVEVSX01FU1NBR0VTLk1BWF9GSVZFX0ZJTEVTLCBUT0FTVEVSX01FU1NBR0VTLldBUk5JTkdfVElUTEUpO1xuICAgIH1cbiAgICBldmVudC50YXJnZXQudmFsdWUgPSAnJztcbiAgICB0aGlzLmNvcHlPZklucHV0QWxsRmlsZXMgPSBpbnB1dEZpbGVzO1xuICAgIGNvbnNvbGUubG9nKCd1cGxvYWRlZEZpbGVzJyxpbnB1dEZpbGVzKTtcbiAgICB0aGlzLnNlbGVjdGVkRmlsZURhdGEuZW1pdChpbnB1dEZpbGVzKTtcbiAgfVxuXG5cbiAgZGVsZXRlRmlsZShjdXJyZW50RmlsZUluZGV4KSB7XG4gICAgICAgIGNvbnN0IGRlbGV0ZWRGaWxlTmFtZSA9IHRoaXMuc2VsZWN0ZWRGaWxlTmFtZUFycmF5LnNwbGljZShjdXJyZW50RmlsZUluZGV4LCAxKTtcbiAgICAgICAgY29uc3QgZGVsZXRlZEZpbGUgPSB0aGlzLmNvcHlPZklucHV0QWxsRmlsZXMuc3BsaWNlKGN1cnJlbnRGaWxlSW5kZXgsIDEpO1xuICAgICAgICBjb25zb2xlLmxvZygnZW1pdCcsIGRlbGV0ZWRGaWxlWzBdKTtcbiAgICAgICAgdGhpcy5kZWxldGVkRmlsZURhdGEuZW1pdChkZWxldGVkRmlsZVswXSk7XG4gIH1cblxuICAvLyB2aWV3RmlsZShjdXJyZW50RmlsZSkge1xuICAvLyAgIC8vIERpc3BsYXkgZmlsZSBoZXJlXG4gIC8vICAgaWYgKGN1cnJlbnRGaWxlICYmIGN1cnJlbnRGaWxlLmRvYykge1xuICAvLyAgICAgdGhpcy5zaGFyZWRTZXJ2aWNlLnZpZXdGaWxlKGN1cnJlbnRGaWxlLmRvYy5zcGxpdCgnLycpLnBvcCgpKS5zdWJzY3JpYmUoKGFwaVJlc3BvbnNlOiBhbnkpID0+IHtcbiAgLy8gICAgICAgaWYgKGFwaVJlc3BvbnNlICYmIGFwaVJlc3BvbnNlLnNhc191cmwpIHtcbiAgLy8gICAgICAgICB3aW5kb3cub3BlbihhcGlSZXNwb25zZS5zYXNfdXJsLCAnX2JsYW5rJyk7XG4gIC8vICAgICAgIH1cbiAgLy8gICAgIH0sIChhcGlFcnJvcikgPT4ge1xuICAvLyAgICAgICB0aGlzLnRvYXN0ci53YXJuaW5nKCdFcnJvciB3aGlsZSB2aWV3aW5nIGZpbGUnLCAnV2FybmluZycpO1xuICAvLyAgICAgfSk7XG4gIC8vICAgfVxuICAvLyB9XG5cbiAgZ2V0RG9jSWNvbihkb2NOYW1lKSB7XG4gICAgY29uc3QgZXh0ID0gZG9jTmFtZS5zcGxpdCgnLicpLnBvcCgtMSk7XG4gICAgcmV0dXJuIHRoaXMuU2hhcmVkU2VydmljZS5kb2NJY29uKGV4dCk7XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cInJvd1wiIHN0eWxlPVwibWFyZ2luOiAwO1wiPlxuICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCIgKm5nSWY9XCIhaXNEZWxldGVGaWxlQnV0dG9uVmlzaWJsZVwiIHN0eWxlPVwidGV4dC1hbGlnbjogbGVmdDtcIj5cbiAgICA8IS0tIEhBIDE5REVDMjMgRm9yIHRyYW5zbGF0aW9uIC0tPlxuICAgIDxsYWJlbCBjbGFzcz1cInNoZS1sYWJlbFwiPnt7ICdhdHRhY2htZW50JyB8IGkxOG46aTE4blNlcnZpY2UuY3VycmVudExhbmd1YWdlIH19PC9sYWJlbD5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJjb2wtbGctMyBkb2N1bWVudC1jbnQgbS10LTEwIG0tYi0xMCBob3Zlci1wb2ludGVyXCJcbiAgICAqbmdGb3I9XCJsZXQgZWFjaEZpbGUgb2YgY29weU9mSW5wdXRBbGxGaWxlczsgbGV0IGN1cnJlbnRGaWxlSW5kZXggPSBpbmRleFwiPlxuICAgICA8ZGl2ICpuZ0lmPVwiIXRhYmxlRmlsZVwiIGNsYXNzPVwicm93XCI+IDwhLS0gKGNsaWNrKT1cInZpZXdGaWxlKGVhY2hGaWxlKVwiICAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMyBkb2N1bWVudF9pbWFnZVwiPlxuICAgICAgICA8aW1nIFtzcmNdPVwiZ2V0RG9jSWNvbihlYWNoRmlsZT8ubmFtZSlcIiBzdHlsZT1cIm1hcmdpbi1yaWdodDogMTBweDtoZWlnaHQ6IDQwcHg7XCI+XG4gICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTkgZG9jdW1lbnRfbmFtZVwiPlxuICAgICAgICB7e2VhY2hGaWxlPy5uYW1lfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImRvY3VtZW50X2RlbGV0ZVwiIChjbGljayk9XCJkZWxldGVGaWxlKGN1cnJlbnRGaWxlSW5kZXgpOyRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiICpuZ0lmPVwiaXNEZWxldGVGaWxlQnV0dG9uVmlzaWJsZVwiPlxuICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vcm54dC5zMy5hbWF6b25hd3MuY29tL0ljb25zL2ZpbGVUeXBlSWNvbnMvYmluLnN2Z1wiPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cInRhYmxlRmlsZVwiIGNsYXNzPVwicm93XCIgc3R5bGU9XCJjdXJzb3I6IHBvaW50ZXI7XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTMgZG9jdW1lbnRfaW1hZ2VcIj5cbiAgICAgICAgICA8aW1nIFtzcmNdPVwiZ2V0RG9jSWNvbihlYWNoRmlsZT8uZG9jKVwiIHN0eWxlPVwibWFyZ2luLXJpZ2h0OiAxMHB4O2hlaWdodDogNDBweDtcIj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy05IGRvY3VtZW50X25hbWVcIiBzdHlsZT1cIm92ZXJmbG93OmhpZGRlbjtoZWlnaHQ6MzVweDtcIj5cbiAgICAgICAgICB7e2VhY2hGaWxlPy5uYW1lfX1cbiAgICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgbS1iLTMwIHRleHQtY2VudGVyXCIgKm5nSWY9XCJjb3B5T2ZJbnB1dEFsbEZpbGVzPy5sZW5ndGggPT09IDAgJiYgaXNTaG93Tm9GaWxlSWNvblwiPlxuICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9ybnh0LnMzLmFtYXpvbmF3cy5jb20vSWNvbnMvZmlsZVR5cGVJY29ucy9pY19ub19hdHRhY2htZW50cy5zdmdcIiBzdHlsZT1cImhlaWdodDogMTQwcHg7XCI+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJjb2wtbGctNlwiIHN0eWxlPVwicGFkZGluZzowO21hcmdpbi10b3A6IDEwcHg7XCI+XG4gIDxsYWJlbCBjbGFzcz1cImN1c3RvbS1maWxlXCIgKm5nSWY9XCJpc0RlbGV0ZUZpbGVCdXR0b25WaXNpYmxlICYmICF0YWJsZUZpbGVcIj5cbiAgICA8IS0tIEhBIDE5REVDMjMgRm9yIHRyYW5zbGF0aW9uIC0tPlxuICAgIDwhLS0gVkQgMDNNYXkyNCBmaWxlIHVwbG9hZCBmaXgtLT5cbiAgICA8YnV0dG9uIGNsYXNzPVwic2hlLWJ0bi1wcmltYXJ5LWJvcmRlcmVkXCIgc3R5bGU9XCJ3aWR0aDoyNzVweDtcIiAoY2xpY2spPVwiZmlsZUlucHV0LmNsaWNrKClcIlxuICAgIFtuZ0NsYXNzXT1cInsgJ2J0bi1kaXNhYmxlZCc6IGNvcHlPZklucHV0QWxsRmlsZXM/Lmxlbmd0aCA+PSBjb3B5T2ZGaWxlVXBsb2FkaW5nTGltaXQgfVwiIFtkaXNhYmxlZF09XCJjb3B5T2ZJbnB1dEFsbEZpbGVzPy5sZW5ndGggPj0gY29weU9mRmlsZVVwbG9hZGluZ0xpbWl0XCJcbiAgICA+e3sgJ2Nob29zZUZpbGVzJyB8IGkxOG46aTE4blNlcnZpY2UuY3VycmVudExhbmd1YWdlIH19PC9idXR0b24+XG5cbiAgICA8aW5wdXQgI2ZpbGVJbnB1dCB0eXBlPVwiZmlsZVwiICBuYW1lPVwiZmlsZVVwbG9hZFwiIG11bHRpcGxlPVwibXVsdGlwbGVcIiBhY2NlcHQ9XCIqXCIgc3R5bGU9XCJkaXNwbGF5Om5vbmU7XCJcbiAgICAoY2hhbmdlKSA9IHVwbG9hZE11bHRpcGxlRmlsZXMoJGV2ZW50KVxuICAgIC8+XG4gIDwvbGFiZWw+XG48IS0tIEhBIDE5REVDMjMgRm9yIHRyYW5zbGF0aW9uIC0tPlxuICA8bGFiZWwgKm5nSWY9XCJ0YWJsZUZpbGVcIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiPlxuICAgIHt7ICd1cGxvYWRGaWxlJyB8IGkxOG46aTE4blNlcnZpY2UuY3VycmVudExhbmd1YWdlIH19XG4gICAgPGlucHV0IGlkPVwiZmlsZVwiIHN0eWxlPVwiZGlzcGxheTogbm9uZTtcIiB0eXBlPVwiZmlsZVwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgKGNoYW5nZSk9IHVwbG9hZE11bHRpcGxlRmlsZXMoJGV2ZW50KSAvPlxuICA8L2xhYmVsPlxuICA8IS0tIDxzcGFuIGNsYXNzPVwiZXJyb3ItbXNnXCIgKm5nSWY9XCIoZm9ybUNvbnRyb2w/LmRvY3VtZW50cz8udG91Y2hlZCB8fCAgICAgICAgZm9ybUNvbnRyb2w/LmRvY3VtZW50cz8uZGlydHkpICYmXG4gIGZvcm1Db250cm9sPy5kb2N1bWVudHM/LmVycm9ycz8ucmVxdWlyZWRcIj5cbiAgICB7e0xNX1BPTElDWV9WQUxJREFUSU9OX01FU1NBR0UuUkVRVUlSRUR9fVxuICA8L3NwYW4+IC0tPlxuPC9kaXY+XG4iXX0=
@@ -32,15 +32,15 @@ export class FileViewComponent {
32
32
  const ext = docName.split('.').pop(-1);
33
33
  return this.SharedService.docIcon(ext);
34
34
  }
35
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FileViewComponent, deps: [{ token: i1.SharedService }, { token: i2.I18nService }], target: i0.ɵɵFactoryTarget.Component });
36
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FileViewComponent, selector: "app-file-view", inputs: { documentData: "documentData", api: "api" }, ngImport: i0, template: "<div class=\"col-lg-12\">\n <div class=\"row\" style=\"text-align: left;\">\n <div class=\"col-md-12\">\n <!-- HA 19DEC23 For translation -->\n <label class=\"she-label attachment\">{{ 'attachment' | i18n:i18nService.currentLanguage }}</label>\n </div>\n </div>\n <div class=\"row\" style=\"margin: 0;\">\n <div class=\"col-lg-3 document-cnt\" *ngFor=\"let file of documentData;let i = index;\" style=\"margin-bottom: 10px;\">\n <div class=\"row\" (click)=\"viewDoc(file?.doc)\" style=\"cursor: pointer;\">\n <div class=\"col-lg-3 document_image\">\n <img [src]=\"getDocIcon(file?.doc)\" style=\"margin-right: 10px;height: 40px;\">\n </div>\n <div class=\"col-lg-9 document_name\" style=\"overflow:hidden;height:35px;\">\n {{file?.name}}\n </div>\n </div>\n </div>\n </div>\n <div class=\"col-md-12 m-b-30 text-center\" *ngIf=\"documentData?.length === 0\">\n <img src=\"https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/ic_no_attachments.svg\" style=\"height: 140px;\">\n </div>\n </div>\n ", styles: [".document-cnt{border:1px solid #48B7FF;border-radius:5px;margin-right:30px}.document_image{background:#48b7ff66;padding:10px}.document_name{padding:15px 5px}.document_delete{position:absolute;background:#c20808;display:block;height:30px;width:30px;border-radius:50px;bottom:32px;right:-15px;cursor:pointer}.document_delete img{position:relative;left:8px;top:3px}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }] });
35
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FileViewComponent, deps: [{ token: i1.SharedService }, { token: i2.I18nService }], target: i0.ɵɵFactoryTarget.Component });
36
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: FileViewComponent, selector: "app-file-view", inputs: { documentData: "documentData", api: "api" }, ngImport: i0, template: "<div class=\"col-lg-12\">\n <div class=\"row\" style=\"text-align: left;\">\n <div class=\"col-md-12\">\n <!-- HA 19DEC23 For translation -->\n <label class=\"she-label attachment\">{{ 'attachment' | i18n:i18nService.currentLanguage }}</label>\n </div>\n </div>\n <div class=\"row\" style=\"margin: 0;\">\n <div class=\"col-lg-3 document-cnt\" *ngFor=\"let file of documentData;let i = index;\" style=\"margin-bottom: 10px;\">\n <div class=\"row\" (click)=\"viewDoc(file?.doc)\" style=\"cursor: pointer;\">\n <div class=\"col-lg-3 document_image\">\n <img [src]=\"getDocIcon(file?.doc)\" style=\"margin-right: 10px;height: 40px;\">\n </div>\n <div class=\"col-lg-9 document_name\" style=\"overflow:hidden;height:35px;\">\n {{file?.name}}\n </div>\n </div>\n </div>\n </div>\n <div class=\"col-md-12 m-b-30 text-center\" *ngIf=\"documentData?.length === 0\">\n <img src=\"https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/ic_no_attachments.svg\" style=\"height: 140px;\">\n </div>\n </div>\n ", styles: [".document-cnt{border:1px solid #48B7FF;border-radius:5px;margin-right:30px}.document_image{background:#48B7FF66;padding:10px}.document_name{padding:15px 5px}.document_delete{position:absolute;background:#C20808;display:block;height:30px;width:30px;border-radius:50px;bottom:32px;right:-15px;cursor:pointer}.document_delete img{position:relative;left:8px;top:3px}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }] });
37
37
  }
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FileViewComponent, decorators: [{
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FileViewComponent, decorators: [{
39
39
  type: Component,
40
- args: [{ selector: 'app-file-view', template: "<div class=\"col-lg-12\">\n <div class=\"row\" style=\"text-align: left;\">\n <div class=\"col-md-12\">\n <!-- HA 19DEC23 For translation -->\n <label class=\"she-label attachment\">{{ 'attachment' | i18n:i18nService.currentLanguage }}</label>\n </div>\n </div>\n <div class=\"row\" style=\"margin: 0;\">\n <div class=\"col-lg-3 document-cnt\" *ngFor=\"let file of documentData;let i = index;\" style=\"margin-bottom: 10px;\">\n <div class=\"row\" (click)=\"viewDoc(file?.doc)\" style=\"cursor: pointer;\">\n <div class=\"col-lg-3 document_image\">\n <img [src]=\"getDocIcon(file?.doc)\" style=\"margin-right: 10px;height: 40px;\">\n </div>\n <div class=\"col-lg-9 document_name\" style=\"overflow:hidden;height:35px;\">\n {{file?.name}}\n </div>\n </div>\n </div>\n </div>\n <div class=\"col-md-12 m-b-30 text-center\" *ngIf=\"documentData?.length === 0\">\n <img src=\"https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/ic_no_attachments.svg\" style=\"height: 140px;\">\n </div>\n </div>\n ", styles: [".document-cnt{border:1px solid #48B7FF;border-radius:5px;margin-right:30px}.document_image{background:#48b7ff66;padding:10px}.document_name{padding:15px 5px}.document_delete{position:absolute;background:#c20808;display:block;height:30px;width:30px;border-radius:50px;bottom:32px;right:-15px;cursor:pointer}.document_delete img{position:relative;left:8px;top:3px}\n"] }]
40
+ args: [{ selector: 'app-file-view', template: "<div class=\"col-lg-12\">\n <div class=\"row\" style=\"text-align: left;\">\n <div class=\"col-md-12\">\n <!-- HA 19DEC23 For translation -->\n <label class=\"she-label attachment\">{{ 'attachment' | i18n:i18nService.currentLanguage }}</label>\n </div>\n </div>\n <div class=\"row\" style=\"margin: 0;\">\n <div class=\"col-lg-3 document-cnt\" *ngFor=\"let file of documentData;let i = index;\" style=\"margin-bottom: 10px;\">\n <div class=\"row\" (click)=\"viewDoc(file?.doc)\" style=\"cursor: pointer;\">\n <div class=\"col-lg-3 document_image\">\n <img [src]=\"getDocIcon(file?.doc)\" style=\"margin-right: 10px;height: 40px;\">\n </div>\n <div class=\"col-lg-9 document_name\" style=\"overflow:hidden;height:35px;\">\n {{file?.name}}\n </div>\n </div>\n </div>\n </div>\n <div class=\"col-md-12 m-b-30 text-center\" *ngIf=\"documentData?.length === 0\">\n <img src=\"https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/ic_no_attachments.svg\" style=\"height: 140px;\">\n </div>\n </div>\n ", styles: [".document-cnt{border:1px solid #48B7FF;border-radius:5px;margin-right:30px}.document_image{background:#48B7FF66;padding:10px}.document_name{padding:15px 5px}.document_delete{position:absolute;background:#C20808;display:block;height:30px;width:30px;border-radius:50px;bottom:32px;right:-15px;cursor:pointer}.document_delete img{position:relative;left:8px;top:3px}\n"] }]
41
41
  }], ctorParameters: function () { return [{ type: i1.SharedService }, { type: i2.I18nService }]; }, propDecorators: { documentData: [{
42
42
  type: Input
43
43
  }], api: [{
44
44
  type: Input
45
45
  }] } });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL254dC1hcHAvc3JjL2xpYi9jb21wb25lbnRzL2ZpbGUtdmlldy9maWxlLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS12aWV3L2ZpbGUtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFXLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBVXpELE1BQU0sT0FBTyxpQkFBaUI7SUFJUjtJQUNUO0lBSkYsWUFBWSxDQUFDO0lBQ2IsR0FBRyxDQUFDO0lBRWIsWUFBb0IsYUFBNEIsRUFDckMsV0FBd0I7UUFEZixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUNyQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtJQUM3QixDQUFDO0lBRVAsUUFBUTtJQUNSLENBQUM7SUFFRCxPQUFPLENBQUMsSUFBSTtRQUNUOzs7Ozs7T0FNRDtRQUNELElBQUksSUFBSSxJQUFJLElBQUksS0FBSyxJQUFJLEVBQUU7WUFDMUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDcEU7UUFDQywwRkFBMEY7SUFDNUYsQ0FBQztJQUVELFVBQVUsQ0FBQyxPQUFPO1FBQ2hCLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkMsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QyxDQUFDO3VHQTVCVSxpQkFBaUI7MkZBQWpCLGlCQUFpQiwyR0NWOUIsd3BDQXVCRTs7MkZEYlcsaUJBQWlCO2tCQUw3QixTQUFTOytCQUNFLGVBQWU7OEhBS2hCLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgLCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG4vLyBIQSAxOURFQzIzIGltcG9ydGVkIHRyYW5zbGF0aW9uIHNlcnZpY2VcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaTE4bi5zZXJ2aWNlJztcbmltcG9ydCB7IFNoYXJlZFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zaGFyZWQuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1maWxlLXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsZS12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmlsZS12aWV3LmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBGaWxlVmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGRvY3VtZW50RGF0YTtcbiAgQElucHV0KCkgYXBpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgU2hhcmVkU2VydmljZTogU2hhcmVkU2VydmljZSxcbiAgICAgIHB1YmxpYyBpMThuU2VydmljZTogSTE4blNlcnZpY2VcbiAgICApIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG5cbiAgdmlld0RvYyhsaW5rKSB7XG4gICAgIC8qXG4gICAgQXV0aG9yOiBWaW5heSBKYWRoYXZcbiAgICBAZGVzY3JpcHRpb246IFRoaXMgZnVuY3Rpb24gd2lsbCB2aWV3IHRoZSBmaWxlIGZyb20gYXp1cmUgYmxvYi5cbiAgICAgICAgICAgICAgICAgIFRoZSBsaW5rIHBhc3NlZCBhcyBhIHBhcmFtZXRlciB3aWxsIGV4dHJhY3QgZmlsZSBuYW1lIGFuZCBwYXNzIGl0IHRvIHRoZSBzZXJ2aWNlXG4gICAgQHBhcmFtIGxpbms6IEl0IHdpbGwgYWNjZXB0IGEgZG9jIGxpbmtcbiAgICBAcmV0dXJuOiBJdCB3aWxsIG5vdCByZXR1cm4gYW55dGhpbmcgYnV0IGl0IHdpbGwgZWl0aGVyIHNob3cgb3IgZG93bmxvYWQgdGhlIGZpbGUuXG4gICovXG4gICBpZiAobGluayAmJiBsaW5rICE9PSBudWxsKSB7XG4gICAgdGhpcy5TaGFyZWRTZXJ2aWNlLnByb2Nlc3NWaWV3RmlsZShsaW5rLnNwbGl0KCcvJykucG9wKCksdGhpcy5hcGkpO1xuICB9XG4gICAgLy8gd2luZG93Lm9wZW4oZW52aXJvbm1lbnQuYXBpLnN1YnN0cmluZygwLCBlbnZpcm9ubWVudC5hcGkubGVuZ3RoIC0gMSkgKyBsaW5rLCAnX2JsYW5rJyk7XG4gIH1cblxuICBnZXREb2NJY29uKGRvY05hbWUpIHtcbiAgICBjb25zdCBleHQgPSBkb2NOYW1lLnNwbGl0KCcuJykucG9wKC0xKTtcbiAgICByZXR1cm4gdGhpcy5TaGFyZWRTZXJ2aWNlLmRvY0ljb24oZXh0KTtcbiAgfVxuXG4gIFxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiY29sLWxnLTEyXCI+XG4gICAgPGRpdiBjbGFzcz1cInJvd1wiIHN0eWxlPVwidGV4dC1hbGlnbjogbGVmdDtcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cbiAgICAgICAgICA8IS0tIEhBIDE5REVDMjMgRm9yIHRyYW5zbGF0aW9uIC0tPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJzaGUtbGFiZWwgYXR0YWNobWVudFwiPnt7ICdhdHRhY2htZW50JyB8IGkxOG46aTE4blNlcnZpY2UuY3VycmVudExhbmd1YWdlIH19PC9sYWJlbD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIiBzdHlsZT1cIm1hcmdpbjogMDtcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0zIGRvY3VtZW50LWNudFwiICpuZ0Zvcj1cImxldCBmaWxlIG9mIGRvY3VtZW50RGF0YTtsZXQgaSA9IGluZGV4O1wiIHN0eWxlPVwibWFyZ2luLWJvdHRvbTogMTBweDtcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIiAoY2xpY2spPVwidmlld0RvYyhmaWxlPy5kb2MpXCIgc3R5bGU9XCJjdXJzb3I6IHBvaW50ZXI7XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0zIGRvY3VtZW50X2ltYWdlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJnZXREb2NJY29uKGZpbGU/LmRvYylcIiBzdHlsZT1cIm1hcmdpbi1yaWdodDogMTBweDtoZWlnaHQ6IDQwcHg7XCI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy05IGRvY3VtZW50X25hbWVcIiBzdHlsZT1cIm92ZXJmbG93OmhpZGRlbjtoZWlnaHQ6MzVweDtcIj5cbiAgICAgICAgICAgICAgICAgICAge3tmaWxlPy5uYW1lfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIG0tYi0zMCB0ZXh0LWNlbnRlclwiICpuZ0lmPVwiZG9jdW1lbnREYXRhPy5sZW5ndGggPT09IDBcIj5cbiAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9ybnh0LnMzLmFtYXpvbmF3cy5jb20vSWNvbnMvZmlsZVR5cGVJY29ucy9pY19ub19hdHRhY2htZW50cy5zdmdcIiBzdHlsZT1cImhlaWdodDogMTQwcHg7XCI+XG4gIDwvZGl2PlxuICA8L2Rpdj5cbiAgIl19
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL254dC1hcHAvc3JjL2xpYi9jb21wb25lbnRzL2ZpbGUtdmlldy9maWxlLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS12aWV3L2ZpbGUtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFXLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBVXpELE1BQU0sT0FBTyxpQkFBaUI7SUFJUjtJQUNUO0lBSkYsWUFBWSxDQUFDO0lBQ2IsR0FBRyxDQUFDO0lBRWIsWUFBb0IsYUFBNEIsRUFDckMsV0FBd0I7UUFEZixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUNyQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtJQUM3QixDQUFDO0lBRVAsUUFBUTtJQUNSLENBQUM7SUFFRCxPQUFPLENBQUMsSUFBSTtRQUNUOzs7Ozs7T0FNRDtRQUNELElBQUksSUFBSSxJQUFJLElBQUksS0FBSyxJQUFJLEVBQUU7WUFDMUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDcEU7UUFDQywwRkFBMEY7SUFDNUYsQ0FBQztJQUVELFVBQVUsQ0FBQyxPQUFPO1FBQ2hCLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkMsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QyxDQUFDO3dHQTVCVSxpQkFBaUI7NEZBQWpCLGlCQUFpQiwyR0NWOUIsd3BDQXVCRTs7NEZEYlcsaUJBQWlCO2tCQUw3QixTQUFTOytCQUNFLGVBQWU7OEhBS2hCLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgLCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG4vLyBIQSAxOURFQzIzIGltcG9ydGVkIHRyYW5zbGF0aW9uIHNlcnZpY2VcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaTE4bi5zZXJ2aWNlJztcbmltcG9ydCB7IFNoYXJlZFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zaGFyZWQuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1maWxlLXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsZS12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmlsZS12aWV3LmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBGaWxlVmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGRvY3VtZW50RGF0YTtcbiAgQElucHV0KCkgYXBpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgU2hhcmVkU2VydmljZTogU2hhcmVkU2VydmljZSxcbiAgICAgIHB1YmxpYyBpMThuU2VydmljZTogSTE4blNlcnZpY2VcbiAgICApIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG5cbiAgdmlld0RvYyhsaW5rKSB7XG4gICAgIC8qXG4gICAgQXV0aG9yOiBWaW5heSBKYWRoYXZcbiAgICBAZGVzY3JpcHRpb246IFRoaXMgZnVuY3Rpb24gd2lsbCB2aWV3IHRoZSBmaWxlIGZyb20gYXp1cmUgYmxvYi5cbiAgICAgICAgICAgICAgICAgIFRoZSBsaW5rIHBhc3NlZCBhcyBhIHBhcmFtZXRlciB3aWxsIGV4dHJhY3QgZmlsZSBuYW1lIGFuZCBwYXNzIGl0IHRvIHRoZSBzZXJ2aWNlXG4gICAgQHBhcmFtIGxpbms6IEl0IHdpbGwgYWNjZXB0IGEgZG9jIGxpbmtcbiAgICBAcmV0dXJuOiBJdCB3aWxsIG5vdCByZXR1cm4gYW55dGhpbmcgYnV0IGl0IHdpbGwgZWl0aGVyIHNob3cgb3IgZG93bmxvYWQgdGhlIGZpbGUuXG4gICovXG4gICBpZiAobGluayAmJiBsaW5rICE9PSBudWxsKSB7XG4gICAgdGhpcy5TaGFyZWRTZXJ2aWNlLnByb2Nlc3NWaWV3RmlsZShsaW5rLnNwbGl0KCcvJykucG9wKCksdGhpcy5hcGkpO1xuICB9XG4gICAgLy8gd2luZG93Lm9wZW4oZW52aXJvbm1lbnQuYXBpLnN1YnN0cmluZygwLCBlbnZpcm9ubWVudC5hcGkubGVuZ3RoIC0gMSkgKyBsaW5rLCAnX2JsYW5rJyk7XG4gIH1cblxuICBnZXREb2NJY29uKGRvY05hbWUpIHtcbiAgICBjb25zdCBleHQgPSBkb2NOYW1lLnNwbGl0KCcuJykucG9wKC0xKTtcbiAgICByZXR1cm4gdGhpcy5TaGFyZWRTZXJ2aWNlLmRvY0ljb24oZXh0KTtcbiAgfVxuXG4gIFxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiY29sLWxnLTEyXCI+XG4gICAgPGRpdiBjbGFzcz1cInJvd1wiIHN0eWxlPVwidGV4dC1hbGlnbjogbGVmdDtcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cbiAgICAgICAgICA8IS0tIEhBIDE5REVDMjMgRm9yIHRyYW5zbGF0aW9uIC0tPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJzaGUtbGFiZWwgYXR0YWNobWVudFwiPnt7ICdhdHRhY2htZW50JyB8IGkxOG46aTE4blNlcnZpY2UuY3VycmVudExhbmd1YWdlIH19PC9sYWJlbD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIiBzdHlsZT1cIm1hcmdpbjogMDtcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0zIGRvY3VtZW50LWNudFwiICpuZ0Zvcj1cImxldCBmaWxlIG9mIGRvY3VtZW50RGF0YTtsZXQgaSA9IGluZGV4O1wiIHN0eWxlPVwibWFyZ2luLWJvdHRvbTogMTBweDtcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIiAoY2xpY2spPVwidmlld0RvYyhmaWxlPy5kb2MpXCIgc3R5bGU9XCJjdXJzb3I6IHBvaW50ZXI7XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0zIGRvY3VtZW50X2ltYWdlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJnZXREb2NJY29uKGZpbGU/LmRvYylcIiBzdHlsZT1cIm1hcmdpbi1yaWdodDogMTBweDtoZWlnaHQ6IDQwcHg7XCI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy05IGRvY3VtZW50X25hbWVcIiBzdHlsZT1cIm92ZXJmbG93OmhpZGRlbjtoZWlnaHQ6MzVweDtcIj5cbiAgICAgICAgICAgICAgICAgICAge3tmaWxlPy5uYW1lfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIG0tYi0zMCB0ZXh0LWNlbnRlclwiICpuZ0lmPVwiZG9jdW1lbnREYXRhPy5sZW5ndGggPT09IDBcIj5cbiAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9ybnh0LnMzLmFtYXpvbmF3cy5jb20vSWNvbnMvZmlsZVR5cGVJY29ucy9pY19ub19hdHRhY2htZW50cy5zdmdcIiBzdHlsZT1cImhlaWdodDogMTQwcHg7XCI+XG4gIDwvZGl2PlxuICA8L2Rpdj5cbiAgIl19
@@ -165,10 +165,10 @@ export class PickLocationComponent {
165
165
  closeModal() {
166
166
  this.showModal = false;
167
167
  }
168
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PickLocationComponent, deps: [{ token: i1.I18nService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
169
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PickLocationComponent, selector: "app-pick-location", inputs: { address: "address", question: "question", apiKey: "apiKey" }, outputs: { locationSelected: "locationSelected" }, viewQueries: [{ propertyName: "searchElementRef", first: true, predicate: ["search"], descendants: true, static: true }], ngImport: i0, template: "<div>\n <!-- <label class=\"she-label\">Location</label> -->\n <!-- HA 19DEC23 For translation -->\n <input #search class=\"she-line-input form-control\" type=\"text\" placeholder=\"{{ 'enterLocation' | i18n:i18nService.currentLanguage }}\"\n (keydown.enter)=\"$event.preventDefault()\" placeholder=\"{{ 'searchNearestLocation' | i18n:i18nService.currentLanguage }}\" autocorrect=\"off\"\n autocapitalize=\"off\" spellcheck=\"off\" type=\"text\" [(ngModel)]=\"address\"\n >\n <a (click)=\"openMap()\"\n style=\"color:#48B7FF;position:relative;top:5px;cursor: pointer;\">\n <i class=\"fa fa-location-arrow\" aria-hidden=\"true\">\n <!-- HA 19DEC23 For translation -->\n </i> {{ 'pickLocation' | i18n:i18nService.currentLanguage }}</a>\n</div>\n\n<div class=\"map-overlay\" *ngIf=\"showModal\">\n <div class=\"map-modal\">\n <div class=\"map-modal-content\">\n <div class=\"map-modal-header\">\n <!-- HA 19DEC23 For translation -->\n <h4>{{ 'pickYourLocation' | i18n:i18nService.currentLanguage }}</h4>\n <button class=\"close-button\" (click)=\"closeModal()\">X</button>\n </div>\n <!-- Modal content goes here -->\n <!-- <agm-map [latitude]=\"latitude\" [longitude]=\"longitude\" [zoom]=\"zoom\" (mapClick)=\"markerDragEnd($event)\"\n [fullscreenControl]=\"true\">\n <agm-marker [latitude]=\"latitude\" [longitude]=\"longitude\" [markerDraggable]=\"true\"\n (dragEnd)=\"markerDragEnd($event)\"></agm-marker>\n </agm-map> -->\n <google-map [latitude]=\"latitude\" [longitude]=\"longitude\" [zoom]=\"zoom\" [center]=\"center\" (mapClick)=\"onMapClick($event)\">\n <map-marker [position]=\"markerPosition\" [options]=\"markerOptions\"></map-marker>\n </google-map>\n </div>\n </div>\n</div>\n\n\n\n\n\n\n", styles: [".she-label{font-weight:400;color:#9a9a9a;padding-bottom:5px;padding-top:5px;padding-right:15px;font-size:14px}.she-line-input{border:none;background:#fff;border-bottom:1px solid #eeeeee;border-radius:0}.fa-location-arrow:before{content:\"\\f124\"}google-map .map-container{width:auto!important}.map-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1}.map-modal{width:600px;background-color:#fff;border-radius:5px;box-shadow:0 2px 4px #0003}.map-modal-header{display:flex;align-items:center;justify-content:space-between;padding:0 0 10px;background-color:#fff;border-bottom:2px solid #e5e5e5}.map-modal-header h3{margin:0}.map-modal-content{padding:20px}.close-button{border:none;cursor:pointer;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.GoogleMap, selector: "google-map", inputs: ["height", "width", "mapTypeId", "center", "zoom", "options"], outputs: ["mapInitialized", "authFailure", "boundsChanged", "centerChanged", "mapClick", "mapDblclick", "mapDrag", "mapDragend", "mapDragstart", "headingChanged", "idle", "maptypeidChanged", "mapMousemove", "mapMouseout", "mapMouseover", "projectionChanged", "mapRightclick", "tilesloaded", "tiltChanged", "zoomChanged"], exportAs: ["googleMap"] }, { kind: "directive", type: i4.MapMarker, selector: "map-marker", inputs: ["title", "position", "label", "clickable", "options", "icon", "visible"], outputs: ["animationChanged", "mapClick", "clickableChanged", "cursorChanged", "mapDblclick", "mapDrag", "mapDragend", "draggableChanged", "mapDragstart", "flatChanged", "iconChanged", "mapMousedown", "mapMouseout", "mapMouseover", "mapMouseup", "positionChanged", "mapRightclick", "shapeChanged", "titleChanged", "visibleChanged", "zindexChanged"], exportAs: ["mapMarker"] }, { kind: "pipe", type: i5.I18nPipe, name: "i18n" }] });
168
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PickLocationComponent, deps: [{ token: i1.I18nService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
169
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: PickLocationComponent, selector: "app-pick-location", inputs: { address: "address", question: "question", apiKey: "apiKey" }, outputs: { locationSelected: "locationSelected" }, viewQueries: [{ propertyName: "searchElementRef", first: true, predicate: ["search"], descendants: true, static: true }], ngImport: i0, template: "<div>\n <!-- <label class=\"she-label\">Location</label> -->\n <!-- HA 19DEC23 For translation -->\n <input #search class=\"she-line-input form-control\" type=\"text\" placeholder=\"{{ 'enterLocation' | i18n:i18nService.currentLanguage }}\"\n (keydown.enter)=\"$event.preventDefault()\" placeholder=\"{{ 'searchNearestLocation' | i18n:i18nService.currentLanguage }}\" autocorrect=\"off\"\n autocapitalize=\"off\" spellcheck=\"off\" type=\"text\" [(ngModel)]=\"address\"\n >\n <a (click)=\"openMap()\"\n style=\"color:#48B7FF;position:relative;top:5px;cursor: pointer;\">\n <i class=\"fa fa-location-arrow\" aria-hidden=\"true\">\n <!-- HA 19DEC23 For translation -->\n </i> {{ 'pickLocation' | i18n:i18nService.currentLanguage }}</a>\n</div>\n\n<div class=\"map-overlay\" *ngIf=\"showModal\">\n <div class=\"map-modal\">\n <div class=\"map-modal-content\">\n <div class=\"map-modal-header\">\n <!-- HA 19DEC23 For translation -->\n <h4>{{ 'pickYourLocation' | i18n:i18nService.currentLanguage }}</h4>\n <button class=\"close-button\" (click)=\"closeModal()\">X</button>\n </div>\n <!-- Modal content goes here -->\n <!-- <agm-map [latitude]=\"latitude\" [longitude]=\"longitude\" [zoom]=\"zoom\" (mapClick)=\"markerDragEnd($event)\"\n [fullscreenControl]=\"true\">\n <agm-marker [latitude]=\"latitude\" [longitude]=\"longitude\" [markerDraggable]=\"true\"\n (dragEnd)=\"markerDragEnd($event)\"></agm-marker>\n </agm-map> -->\n <google-map [latitude]=\"latitude\" [longitude]=\"longitude\" [zoom]=\"zoom\" [center]=\"center\" (mapClick)=\"onMapClick($event)\">\n <map-marker [position]=\"markerPosition\" [options]=\"markerOptions\"></map-marker>\n </google-map>\n </div>\n </div>\n</div>\n\n\n\n\n\n\n", styles: [".she-label{font-weight:400;color:#9a9a9a;padding-bottom:5px;padding-top:5px;padding-right:15px;font-size:14px}.she-line-input{border:none;background:#fff;border-bottom:1px solid #eeeeee;border-radius:0}.fa-location-arrow:before{content:\"\\f124\"}google-map .map-container{width:auto!important}.map-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1}.map-modal{width:600px;background-color:#fff;border-radius:5px;box-shadow:0 2px 4px #0003}.map-modal-header{display:flex;align-items:center;justify-content:space-between;padding:0 0 10px;background-color:#fff;border-bottom:2px solid #e5e5e5}.map-modal-header h3{margin:0}.map-modal-content{padding:20px}.close-button{border:none;cursor:pointer;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.GoogleMap, selector: "google-map", inputs: ["height", "width", "mapTypeId", "center", "zoom", "options"], outputs: ["mapInitialized", "authFailure", "boundsChanged", "centerChanged", "mapClick", "mapDblclick", "mapDrag", "mapDragend", "mapDragstart", "headingChanged", "idle", "maptypeidChanged", "mapMousemove", "mapMouseout", "mapMouseover", "projectionChanged", "mapRightclick", "tilesloaded", "tiltChanged", "zoomChanged"], exportAs: ["googleMap"] }, { kind: "directive", type: i4.MapMarker, selector: "map-marker", inputs: ["title", "position", "label", "clickable", "options", "icon", "visible"], outputs: ["animationChanged", "mapClick", "clickableChanged", "cursorChanged", "mapDblclick", "mapDrag", "mapDragend", "draggableChanged", "mapDragstart", "flatChanged", "iconChanged", "mapMousedown", "mapMouseout", "mapMouseover", "mapMouseup", "positionChanged", "mapRightclick", "shapeChanged", "titleChanged", "visibleChanged", "zindexChanged"], exportAs: ["mapMarker"] }, { kind: "pipe", type: i5.I18nPipe, name: "i18n" }] });
170
170
  }
171
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PickLocationComponent, decorators: [{
171
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PickLocationComponent, decorators: [{
172
172
  type: Component,
173
173
  args: [{ selector: 'app-pick-location', template: "<div>\n <!-- <label class=\"she-label\">Location</label> -->\n <!-- HA 19DEC23 For translation -->\n <input #search class=\"she-line-input form-control\" type=\"text\" placeholder=\"{{ 'enterLocation' | i18n:i18nService.currentLanguage }}\"\n (keydown.enter)=\"$event.preventDefault()\" placeholder=\"{{ 'searchNearestLocation' | i18n:i18nService.currentLanguage }}\" autocorrect=\"off\"\n autocapitalize=\"off\" spellcheck=\"off\" type=\"text\" [(ngModel)]=\"address\"\n >\n <a (click)=\"openMap()\"\n style=\"color:#48B7FF;position:relative;top:5px;cursor: pointer;\">\n <i class=\"fa fa-location-arrow\" aria-hidden=\"true\">\n <!-- HA 19DEC23 For translation -->\n </i> {{ 'pickLocation' | i18n:i18nService.currentLanguage }}</a>\n</div>\n\n<div class=\"map-overlay\" *ngIf=\"showModal\">\n <div class=\"map-modal\">\n <div class=\"map-modal-content\">\n <div class=\"map-modal-header\">\n <!-- HA 19DEC23 For translation -->\n <h4>{{ 'pickYourLocation' | i18n:i18nService.currentLanguage }}</h4>\n <button class=\"close-button\" (click)=\"closeModal()\">X</button>\n </div>\n <!-- Modal content goes here -->\n <!-- <agm-map [latitude]=\"latitude\" [longitude]=\"longitude\" [zoom]=\"zoom\" (mapClick)=\"markerDragEnd($event)\"\n [fullscreenControl]=\"true\">\n <agm-marker [latitude]=\"latitude\" [longitude]=\"longitude\" [markerDraggable]=\"true\"\n (dragEnd)=\"markerDragEnd($event)\"></agm-marker>\n </agm-map> -->\n <google-map [latitude]=\"latitude\" [longitude]=\"longitude\" [zoom]=\"zoom\" [center]=\"center\" (mapClick)=\"onMapClick($event)\">\n <map-marker [position]=\"markerPosition\" [options]=\"markerOptions\"></map-marker>\n </google-map>\n </div>\n </div>\n</div>\n\n\n\n\n\n\n", styles: [".she-label{font-weight:400;color:#9a9a9a;padding-bottom:5px;padding-top:5px;padding-right:15px;font-size:14px}.she-line-input{border:none;background:#fff;border-bottom:1px solid #eeeeee;border-radius:0}.fa-location-arrow:before{content:\"\\f124\"}google-map .map-container{width:auto!important}.map-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1}.map-modal{width:600px;background-color:#fff;border-radius:5px;box-shadow:0 2px 4px #0003}.map-modal-header{display:flex;align-items:center;justify-content:space-between;padding:0 0 10px;background-color:#fff;border-bottom:2px solid #e5e5e5}.map-modal-header h3{margin:0}.map-modal-content{padding:20px}.close-button{border:none;cursor:pointer;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2}\n"] }]
174
174
  }], ctorParameters: function () { return [{ type: i1.I18nService }, { type: i0.NgZone }]; }, propDecorators: { searchElementRef: [{
@@ -183,4 +183,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
183
183
  }], apiKey: [{
184
184
  type: Input
185
185
  }] } });
186
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGljay1sb2NhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ueHQtYXBwL3NyYy9saWIvY29tcG9uZW50cy9waWNrLWxvY2F0aW9uL3BpY2stbG9jYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvcGljay1sb2NhdGlvbi9waWNrLWxvY2F0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBNEIsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd2SCxzQ0FBc0M7QUFDdkMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7O0FBUzFELE1BQU0sT0FBTyxxQkFBcUI7SUFxQnhCO0lBQ0U7SUFyQlYsUUFBUSxHQUFHLElBQUksQ0FBQztJQUNoQixTQUFTLEdBQUcsSUFBSSxDQUFDO0lBQ2pCLElBQUksR0FBVyxFQUFFLENBQUM7SUFDVixRQUFRLENBQUM7SUFDbEIsK0JBQStCO0lBRXZCLGdCQUFnQixDQUErQjtJQUN0RCxTQUFTLEdBQVksS0FBSyxDQUFDO0lBQ2xCLE9BQU8sQ0FBUTtJQUN2QixzQ0FBc0M7SUFDOUIsUUFBUSxDQUFVO0lBQ2pCLGdCQUFnQixHQUFnQyxJQUFJLFlBQVksRUFBaUIsQ0FBQztJQUM1RixvQkFBb0IsQ0FBTTtJQUMxQixjQUFjLENBQTBCO0lBQ3hDLE1BQU0sQ0FBMEI7SUFDaEMsYUFBYSxDQUFLO0lBQ1QsTUFBTSxDQUFNLENBQUMscUNBQXFDO0lBRTNEO0lBQ0Msd0NBQXdDO0lBQ2pDLFdBQXdCLEVBQ3RCLE1BQWM7UUFEaEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDdEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNwQiwwRkFBMEY7SUFDOUYsQ0FBQztJQUVELFFBQVE7UUFDTixzSEFBc0g7UUFDdEgsSUFBRyxJQUFJLENBQUMsTUFBTSxFQUFDO1lBQ2IsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtnQkFDcEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQzNDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBRTtvQkFDM0MsU0FBUyxFQUFFLElBQUk7b0JBQ2YsU0FBUyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUk7aUJBQ3RDLENBQUMsQ0FBQztnQkFDSCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztnQkFDeEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3pCLENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBQ0QsbURBQW1EO0lBQzNDLG9CQUFvQjtRQUMxQixNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hELE1BQU0sQ0FBQyxJQUFJLEdBQUcsaUJBQWlCLENBQUM7UUFDaEMscUNBQXFDO1FBQ3JDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsK0NBQStDLElBQUksQ0FBQyxNQUFNLDRCQUE0QixDQUFDO1FBQ3BHLE1BQU0sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLE1BQU0sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRWxDLE9BQU8sSUFBSSxPQUFPLENBQU8sQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDM0MsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUU7Z0JBQ25CLE9BQU8sRUFBRSxDQUFDO1lBQ1osQ0FBQyxDQUFDO1lBQ0YsTUFBTSxDQUFDLE9BQU8sR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFO2dCQUM5QixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDaEIsQ0FBQyxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLE1BQU0sWUFBWSxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLEVBQUU7Z0JBQzdGLEtBQUssRUFBRSxFQUFFO2FBQ1YsQ0FBQyxDQUFDO1lBQ0gsWUFBWSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsR0FBRyxFQUFFO2dCQUM3QyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7b0JBQ25CLE1BQU0sS0FBSyxHQUFtQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBRXRFLElBQUksS0FBSyxDQUFDLFFBQVEsS0FBSyxTQUFTLElBQUksS0FBSyxDQUFDLFFBQVEsS0FBSyxJQUFJLEVBQUU7d0JBQzNELE9BQU87cUJBQ1I7b0JBQ0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQztvQkFDOUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQztvQkFDL0MsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7b0JBQ2YsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsaUJBQWlCLENBQUM7b0JBQ3ZDLHNDQUFzQztvQkFDdEMsSUFBSSxNQUFNLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQztvQkFDakMsTUFBTSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztvQkFDekMsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDO29CQUNoQixNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztvQkFDakMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7b0JBQ25DLE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO29CQUNyQyxNQUFNLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQztvQkFDMUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDcEMsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVELGVBQWU7UUFDYixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxTQUFTLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNyRSxPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixFQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNuQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNuRCxDQUFDLENBQUMsQ0FBQztJQUNILENBQUM7SUFFRCxVQUFVLENBQUMsS0FBZ0M7UUFDekMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ25DLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNwQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFHTyxrQkFBa0I7UUFDeEIsSUFBSSxhQUFhLElBQUksU0FBUyxFQUFFO1lBQzlCLFNBQVMsQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtnQkFDcEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztnQkFDekMsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQztnQkFDM0MsSUFBSSxDQUFDLGNBQWMsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ2xFLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUMxRCxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztnQkFDZCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ2pELENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBR0QsVUFBVSxDQUFDLFFBQWdCLEVBQUUsU0FBaUI7UUFDNUMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtnQkFDekYsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQy9CLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUM3QixJQUFJLE1BQU0sS0FBSyxJQUFJLEVBQUU7b0JBQ25CLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO3dCQUNmLGtCQUFrQjt3QkFDakIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUM7d0JBQzNDLHNDQUFzQzt3QkFDdkMsSUFBSSxNQUFNLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQzt3QkFDakMsTUFBTSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQzt3QkFDekMsSUFBSSxPQUFPLEdBQUcsRUFBRSxDQUFDO3dCQUNqQixPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQzt3QkFDbEMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxHQUFHLFFBQVEsQ0FBQzt3QkFDL0IsT0FBTyxDQUFDLFdBQVcsQ0FBQyxHQUFHLFNBQVMsQ0FBQzt3QkFDakMsTUFBTSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7d0JBQzFCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7cUJBQ3BDO3lCQUFNO3dCQUNMLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQztxQkFDakM7aUJBQ0Y7cUJBQU07b0JBQ0wsT0FBTyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsR0FBRyxNQUFNLENBQUMsQ0FBQztpQkFDbEQ7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixJQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBQztZQUNmLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7U0FDdkM7UUFDRCxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUN0QyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztTQUMzQjthQUFJO1lBQ0gsSUFBSSxDQUFDLGNBQWMsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDbEUsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDMUQsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7U0FDZjtJQUNILENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQzt1R0FyS1UscUJBQXFCOzJGQUFyQixxQkFBcUIsOFNDYmxDLG96REF3Q0E7OzJGRDNCYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0UsbUJBQW1CO3VIQVd0QixnQkFBZ0I7c0JBRHRCLFNBQVM7dUJBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFHNUIsT0FBTztzQkFBZixLQUFLO2dCQUVHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0ksZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUtFLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgTmdNb2R1bGUsIE5nWm9uZSwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuLy8gSEEgMTlERUMyMyBpbXBvcnRlZCB0cmFuc2xhdGlvbiBzZXJ2aWNlXG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uL2kxOG4uc2VydmljZSc7XG4gLy8gVkQgMjFERUMyMyAtIGRlcGVuZGVudCBmaWVsZCBjaGFuZ2VcbmltcG9ydCB7IENoYW5nZVdyYXBwZXIgfSBmcm9tICcuLi8uLi9tb2RlbC9jaGFuZ2VXcmFwcGVyJztcbmltcG9ydCB7IFF1ZXN0aW9uIH0gZnJvbSAnLi4vLi4vd3JhcHBlcic7XG5kZWNsYXJlIHZhciAkOiBhbnk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1waWNrLWxvY2F0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BpY2stbG9jYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9waWNrLWxvY2F0aW9uLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBQaWNrTG9jYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBsYXRpdHVkZSA9IG51bGw7XG4gIGxvbmdpdHVkZSA9IG51bGw7XG4gIHpvb206IG51bWJlciA9IDEwO1xuICBwcml2YXRlIGdlb0NvZGVyO1xuIC8vIHB1YmxpYyBmb3JtR3JvdXA6IEZvcm1Hcm91cDtcbiAgQFZpZXdDaGlsZCgnc2VhcmNoJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIHNlYXJjaEVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG4gIHNob3dNb2RhbDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBhZGRyZXNzOnN0cmluZztcbiAgIC8vIFZEIDIxREVDMjMgLSBkZXBlbmRlbnQgZmllbGQgY2hhbmdlXG4gIEBJbnB1dCgpIHF1ZXN0aW9uOiBRdWVzdGlvblxuICBAT3V0cHV0KCkgbG9jYXRpb25TZWxlY3RlZDogRXZlbnRFbWl0dGVyPENoYW5nZVdyYXBwZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxDaGFuZ2VXcmFwcGVyPigpO1xuICBuYXZpZ2F0b3JHZW9sb2NhdGlvbjogYW55O1xuICBtYXJrZXJQb3NpdGlvbjogeyBsYXQ6IGFueTsgbG5nOiBhbnk7IH07XG4gIGNlbnRlcjogeyBsYXQ6IGFueTsgbG5nOiBhbnk7IH07XG4gIG1hcmtlck9wdGlvbnM6YW55O1xuICBASW5wdXQoKSBhcGlLZXk6IGFueTsgLy8gSEExMDAxMjAyNCBkZWNsYXJlZCBBcGkga2V5IHRvIHNyY1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgLy8gcHJpdmF0ZSBtYXBzQVBJTG9hZGVyOiBNYXBzQVBJTG9hZGVyLFxuICAgcHVibGljIGkxOG5TZXJ2aWNlOiBJMThuU2VydmljZSxcbiAgICBwcml2YXRlIG5nWm9uZTogTmdab25lKSB7IFxuICAgICAgLy8gSEEwOTAxMjAyNCBpcyB0byBhdm9pZCBnb29nbGUgaXMgdW5kZWZpbmVkIGVycm9yIGFuZCBjYWxsaW5nIHRoZSBiZWxvdyBjcmVhdGVkIGZ1bmN0aW9uXG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBIQS0xMS0wMS0yMDI0IENoYW5nZWQgdGhlIG1hcCBDYWxsIGZyb20gY29uc3RydWN0b3IgdG8gbmdPbkluaXQgYXMgaXQgd2FzIGdpdmluZyB1bmRlZmluZWQgdmFsdWVzIGluIHRoZSBvdXRzb3VyY2VkXG4gICAgaWYodGhpcy5hcGlLZXkpe1xuICAgICAgdGhpcy5sb2FkR29vZ2xlTWFwc1NjcmlwdCgpLnRoZW4oKCkgPT4ge1xuICAgICAgICB0aGlzLmdlb0NvZGVyID0gbmV3IGdvb2dsZS5tYXBzLkdlb2NvZGVyKCk7XG4gICAgICAgIHRoaXMubWFya2VyT3B0aW9ucyA9IG5ldyBnb29nbGUubWFwcy5NYXJrZXIgKHtcbiAgICAgICAgICBkcmFnZ2FibGU6IHRydWUsXG4gICAgICAgICAgYW5pbWF0aW9uOiBnb29nbGUubWFwcy5BbmltYXRpb24uRFJPUFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5pbml0QXV0b2NvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMub25NYXJrZXJEcmFnRW5kKCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbiAgLy8gSEEwOTAxMjAyNCBpcyB0byBhdm9pZCBnb29nbGUgaXMgdW5kZWZpbmVkIGVycm9yXG4gIHByaXZhdGUgbG9hZEdvb2dsZU1hcHNTY3JpcHQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3Qgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgc2NyaXB0LnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JztcbiAgICAvLyBIQTEwMDEyMDI0IEFzc2lnbmVkIEFwaSBrZXkgdG8gc3JjXG4gICAgc2NyaXB0LnNyYyA9IGBodHRwczovL21hcHMuZ29vZ2xlYXBpcy5jb20vbWFwcy9hcGkvanM/a2V5PSR7dGhpcy5hcGlLZXl9JmxpYnJhcmllcz1nZW9tZXRyeSxwbGFjZXNgO1xuICAgIHNjcmlwdC5hc3luYyA9IHRydWU7XG4gICAgc2NyaXB0LmRlZmVyID0gdHJ1ZTtcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNjcmlwdCk7XG5cbiAgICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgc2NyaXB0Lm9ubG9hZCA9ICgpID0+IHtcbiAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgfTtcbiAgICAgIHNjcmlwdC5vbmVycm9yID0gKGVycm9yOiBhbnkpID0+IHtcbiAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cbiAgXG4gIGluaXRBdXRvY29tcGxldGUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZ2VvQ29kZXIpIHtcbiAgICAgIGNvbnN0IGF1dG9jb21wbGV0ZSA9IG5ldyBnb29nbGUubWFwcy5wbGFjZXMuQXV0b2NvbXBsZXRlKHRoaXMuc2VhcmNoRWxlbWVudFJlZj8ubmF0aXZlRWxlbWVudCwge1xuICAgICAgICB0eXBlczogW11cbiAgICAgIH0pO1xuICAgICAgYXV0b2NvbXBsZXRlLmFkZExpc3RlbmVyKCdwbGFjZV9jaGFuZ2VkJywgKCkgPT4ge1xuICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHBsYWNlOiBnb29nbGUubWFwcy5wbGFjZXMuUGxhY2VSZXN1bHQgPSBhdXRvY29tcGxldGUuZ2V0UGxhY2UoKTtcblxuICAgICAgICAgIGlmIChwbGFjZS5nZW9tZXRyeSA9PT0gdW5kZWZpbmVkIHx8IHBsYWNlLmdlb21ldHJ5ID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMubGF0aXR1ZGUgPSBwbGFjZS5nZW9tZXRyeS5sb2NhdGlvbi5sYXQoKTtcbiAgICAgICAgICB0aGlzLmxvbmdpdHVkZSA9IHBsYWNlLmdlb21ldHJ5LmxvY2F0aW9uLmxuZygpO1xuICAgICAgICAgIHRoaXMuem9vbSA9IDE4O1xuICAgICAgICAgIHRoaXMuYWRkcmVzcyA9IHBsYWNlLmZvcm1hdHRlZF9hZGRyZXNzO1xuICAgICAgICAgIC8vIFZEIDIxREVDMjMgLSBkZXBlbmRlbnQgZmllbGQgY2hhbmdlXG4gICAgICAgICAgbGV0IGNoYW5nZSA9IG5ldyBDaGFuZ2VXcmFwcGVyKCk7XG4gICAgICAgICAgY2hhbmdlLmZyb21RdWVzdGlvbklkID0gdGhpcy5xdWVzdGlvbi5JZDtcbiAgICAgICAgICBsZXQgYWRkT2JqID0ge307XG4gICAgICAgICAgYWRkT2JqWydhZGRyZXNzJ10gPSB0aGlzLmFkZHJlc3M7XG4gICAgICAgICAgYWRkT2JqWydsYXRpdHVkZSddID0gdGhpcy5sYXRpdHVkZTtcbiAgICAgICAgICBhZGRPYmpbJ2xvbmdpdHVkZSddID0gdGhpcy5sb25naXR1ZGU7XG4gICAgICAgICAgY2hhbmdlLnZhbHVlT2JqID0gYWRkT2JqO1xuICAgICAgICAgdGhpcy5sb2NhdGlvblNlbGVjdGVkLmVtaXQoY2hhbmdlKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBvbk1hcmtlckRyYWdFbmQoKTogdm9pZCB7XG4gICAgZ29vZ2xlLm1hcHMuZXZlbnQuYWRkTGlzdGVuZXIodGhpcy5tYXJrZXJPcHRpb25zLCAnZHJhZ2VuZCcsIChldmVudCkgPT4ge1xuICAgICAgY29uc29sZS5sb2coJ2RyYWdhYmxlIHdvcmtpbmcnLGV2ZW50KTtcbiAgICAgIHRoaXMubGF0aXR1ZGUgPSBldmVudC5sYXRMbmcubGF0KCk7XG4gICAgICB0aGlzLmxvbmdpdHVkZSA9IGV2ZW50LmxhdExuZy5sbmcoKTtcbiAgICAgIHRoaXMuZ2V0QWRkcmVzcyh0aGlzLmxhdGl0dWRlLCB0aGlzLmxvbmdpdHVkZSk7XG4gIH0pO1xuICB9XG5cbiAgb25NYXBDbGljayhldmVudDogZ29vZ2xlLm1hcHMuTWFwTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGNvbnNvbGUubG9nKCdvbk1hcENsaWNrJyxldmVudCk7XG4gICAgdGhpcy5sYXRpdHVkZSA9IGV2ZW50LmxhdExuZy5sYXQoKTtcbiAgICB0aGlzLmxvbmdpdHVkZSA9IGV2ZW50LmxhdExuZy5sbmcoKTtcbiAgICB0aGlzLmdldEFkZHJlc3ModGhpcy5sYXRpdHVkZSwgdGhpcy5sb25naXR1ZGUpO1xuICB9XG5cblxuICBwcml2YXRlIHNldEN1cnJlbnRMb2NhdGlvbigpIHtcbiAgICBpZiAoJ2dlb2xvY2F0aW9uJyBpbiBuYXZpZ2F0b3IpIHtcbiAgICAgIG5hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24oKHBvc2l0aW9uKSA9PiB7XG4gICAgICAgIHRoaXMubGF0aXR1ZGUgPSBwb3NpdGlvbi5jb29yZHMubGF0aXR1ZGU7XG4gICAgICAgIHRoaXMubG9uZ2l0dWRlID0gcG9zaXRpb24uY29vcmRzLmxvbmdpdHVkZTtcbiAgICAgICAgdGhpcy5tYXJrZXJQb3NpdGlvbiA9IHsgbGF0OiB0aGlzLmxhdGl0dWRlLCBsbmc6IHRoaXMubG9uZ2l0dWRlIH07XG4gICAgICAgIHRoaXMuY2VudGVyID0geyBsYXQ6IHRoaXMubGF0aXR1ZGUsIGxuZzogdGhpcy5sb25naXR1ZGUgfTtcbiAgICAgICAgdGhpcy56b29tID0gODtcbiAgICAgICAgdGhpcy5nZXRBZGRyZXNzKHRoaXMubGF0aXR1ZGUsIHRoaXMubG9uZ2l0dWRlKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG5cbiAgZ2V0QWRkcmVzcyhsYXRpdHVkZTogbnVtYmVyLCBsb25naXR1ZGU6IG51bWJlcikge1xuICAgIGlmICh0aGlzLmdlb0NvZGVyKSB7XG4gICAgICB0aGlzLmdlb0NvZGVyLmdlb2NvZGUoeyBsb2NhdGlvbjogeyBsYXQ6IGxhdGl0dWRlLCBsbmc6IGxvbmdpdHVkZSB9IH0sIChyZXN1bHRzLCBzdGF0dXMpID0+IHtcbiAgICAgICAgY29uc29sZS5sb2coJ3Jlc3VsdHMnLHJlc3VsdHMpO1xuICAgICAgICBjb25zb2xlLmxvZygnc3RhdHVzJyxzdGF0dXMpO1xuICAgICAgICBpZiAoc3RhdHVzID09PSAnT0snKSB7XG4gICAgICAgICAgaWYgKHJlc3VsdHNbMF0pIHtcbiAgICAgICAgICAgLy8gdGhpcy56b29tID0gMTg7XG4gICAgICAgICAgICB0aGlzLmFkZHJlc3MgPSByZXN1bHRzWzBdLmZvcm1hdHRlZF9hZGRyZXNzO1xuICAgICAgICAgICAgIC8vIFZEIDIxREVDMjMgLSBkZXBlbmRlbnQgZmllbGQgY2hhbmdlXG4gICAgICAgICAgICBsZXQgY2hhbmdlID0gbmV3IENoYW5nZVdyYXBwZXIoKTtcbiAgICAgICAgICAgIGNoYW5nZS5mcm9tUXVlc3Rpb25JZCA9IHRoaXMucXVlc3Rpb24uSWQ7XG4gICAgICAgICAgICBsZXQgYWRkT2JqMSA9IHt9O1xuICAgICAgICAgICAgYWRkT2JqMVsnYWRkcmVzcyddID0gdGhpcy5hZGRyZXNzO1xuICAgICAgICAgICAgYWRkT2JqMVsnbGF0aXR1ZGUnXSA9IGxhdGl0dWRlO1xuICAgICAgICAgICAgYWRkT2JqMVsnbG9uZ2l0dWRlJ10gPSBsb25naXR1ZGU7XG4gICAgICAgICAgICBjaGFuZ2UudmFsdWVPYmogPSBhZGRPYmoxO1xuICAgICAgICAgICAgdGhpcy5sb2NhdGlvblNlbGVjdGVkLmVtaXQoY2hhbmdlKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc29sZS5sb2coJ05vIHJlc3VsdHMgZm91bmQnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc29sZS5sb2coJ0dlb2NvZGVyIGZhaWxlZCBkdWUgdG86ICcgKyBzdGF0dXMpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBvcGVuTWFwKCkge1xuICAgIHRoaXMuc2hvd01vZGFsID0gdHJ1ZTtcbiAgICBpZighdGhpcy5hZGRyZXNzKXtcbiAgICAgIHRoaXMubGF0aXR1ZGUgPSB0aGlzLmxvbmdpdHVkZSA9IG51bGw7XG4gICAgfVxuICAgIGlmICghKHRoaXMubGF0aXR1ZGUgJiYgdGhpcy5sb25naXR1ZGUpKSB7XG4gICAgICB0aGlzLnNldEN1cnJlbnRMb2NhdGlvbigpO1xuICAgIH1lbHNle1xuICAgICAgdGhpcy5tYXJrZXJQb3NpdGlvbiA9IHsgbGF0OiB0aGlzLmxhdGl0dWRlLCBsbmc6IHRoaXMubG9uZ2l0dWRlIH07XG4gICAgICB0aGlzLmNlbnRlciA9IHsgbGF0OiB0aGlzLmxhdGl0dWRlLCBsbmc6IHRoaXMubG9uZ2l0dWRlIH07XG4gICAgICB0aGlzLnpvb20gPSA4O1xuICAgIH1cbiAgfVxuXG4gIGNsb3NlTW9kYWwoKSB7XG4gICAgdGhpcy5zaG93TW9kYWwgPSBmYWxzZTtcbiAgfVxuXG5cbn1cbiIsIjxkaXY+XG4gICAgIDwhLS0gPGxhYmVsIGNsYXNzPVwic2hlLWxhYmVsXCI+TG9jYXRpb248L2xhYmVsPiAtLT5cbiAgICA8IS0tIEhBIDE5REVDMjMgRm9yIHRyYW5zbGF0aW9uIC0tPlxuICAgICA8aW5wdXQgI3NlYXJjaCBjbGFzcz1cInNoZS1saW5lLWlucHV0IGZvcm0tY29udHJvbFwiIHR5cGU9XCJ0ZXh0XCIgcGxhY2Vob2xkZXI9XCJ7eyAnZW50ZXJMb2NhdGlvbicgfCBpMThuOmkxOG5TZXJ2aWNlLmN1cnJlbnRMYW5ndWFnZSB9fVwiXG4gICAgICAgIChrZXlkb3duLmVudGVyKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCIgcGxhY2Vob2xkZXI9XCJ7eyAnc2VhcmNoTmVhcmVzdExvY2F0aW9uJyB8IGkxOG46aTE4blNlcnZpY2UuY3VycmVudExhbmd1YWdlIH19XCIgYXV0b2NvcnJlY3Q9XCJvZmZcIlxuICAgICAgICBhdXRvY2FwaXRhbGl6ZT1cIm9mZlwiIHNwZWxsY2hlY2s9XCJvZmZcIiB0eXBlPVwidGV4dFwiICBbKG5nTW9kZWwpXT1cImFkZHJlc3NcIlxuICAgICAgICA+XG4gICAgICAgIDxhIChjbGljayk9XCJvcGVuTWFwKClcIlxuICAgICAgICBzdHlsZT1cImNvbG9yOiM0OEI3RkY7cG9zaXRpb246cmVsYXRpdmU7dG9wOjVweDtjdXJzb3I6IHBvaW50ZXI7XCI+XG4gICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtbG9jYXRpb24tYXJyb3dcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgPCEtLSBIQSAxOURFQzIzIEZvciB0cmFuc2xhdGlvbiAtLT5cbiAgICAgICAgPC9pPiB7eyAncGlja0xvY2F0aW9uJyB8IGkxOG46aTE4blNlcnZpY2UuY3VycmVudExhbmd1YWdlIH19PC9hPlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJtYXAtb3ZlcmxheVwiICpuZ0lmPVwic2hvd01vZGFsXCI+XG4gIDxkaXYgY2xhc3M9XCJtYXAtbW9kYWxcIj5cbiAgICA8ZGl2IGNsYXNzPVwibWFwLW1vZGFsLWNvbnRlbnRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtYXAtbW9kYWwtaGVhZGVyXCI+XG4gICAgICAgIDwhLS0gSEEgMTlERUMyMyBGb3IgdHJhbnNsYXRpb24gLS0+XG4gICAgICAgIDxoND57eyAncGlja1lvdXJMb2NhdGlvbicgfCBpMThuOmkxOG5TZXJ2aWNlLmN1cnJlbnRMYW5ndWFnZSB9fTwvaDQ+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJjbG9zZS1idXR0b25cIiAoY2xpY2spPVwiY2xvc2VNb2RhbCgpXCI+WDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tIE1vZGFsIGNvbnRlbnQgZ29lcyBoZXJlIC0tPlxuICAgIDwhLS0gPGFnbS1tYXAgW2xhdGl0dWRlXT1cImxhdGl0dWRlXCIgW2xvbmdpdHVkZV09XCJsb25naXR1ZGVcIiBbem9vbV09XCJ6b29tXCIgKG1hcENsaWNrKT1cIm1hcmtlckRyYWdFbmQoJGV2ZW50KVwiXG4gICAgW2Z1bGxzY3JlZW5Db250cm9sXT1cInRydWVcIj5cbiAgICA8YWdtLW1hcmtlciBbbGF0aXR1ZGVdPVwibGF0aXR1ZGVcIiBbbG9uZ2l0dWRlXT1cImxvbmdpdHVkZVwiIFttYXJrZXJEcmFnZ2FibGVdPVwidHJ1ZVwiXG4gICAgICAoZHJhZ0VuZCk9XCJtYXJrZXJEcmFnRW5kKCRldmVudClcIj48L2FnbS1tYXJrZXI+XG4gICAgPC9hZ20tbWFwPiAtLT5cbiAgICA8Z29vZ2xlLW1hcCBbbGF0aXR1ZGVdPVwibGF0aXR1ZGVcIiAgW2xvbmdpdHVkZV09XCJsb25naXR1ZGVcIiBbem9vbV09XCJ6b29tXCIgW2NlbnRlcl09XCJjZW50ZXJcIiAobWFwQ2xpY2spPVwib25NYXBDbGljaygkZXZlbnQpXCI+XG4gICAgICA8bWFwLW1hcmtlciBbcG9zaXRpb25dPVwibWFya2VyUG9zaXRpb25cIiBbb3B0aW9uc109XCJtYXJrZXJPcHRpb25zXCI+PC9tYXAtbWFya2VyPlxuICAgIDwvZ29vZ2xlLW1hcD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuXG5cblxuXG5cbiJdfQ==
186
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGljay1sb2NhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ueHQtYXBwL3NyYy9saWIvY29tcG9uZW50cy9waWNrLWxvY2F0aW9uL3BpY2stbG9jYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvcGljay1sb2NhdGlvbi9waWNrLWxvY2F0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBNEIsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd2SCxzQ0FBc0M7QUFDdkMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7O0FBUzFELE1BQU0sT0FBTyxxQkFBcUI7SUFxQnhCO0lBQ0U7SUFyQlYsUUFBUSxHQUFHLElBQUksQ0FBQztJQUNoQixTQUFTLEdBQUcsSUFBSSxDQUFDO0lBQ2pCLElBQUksR0FBVyxFQUFFLENBQUM7SUFDVixRQUFRLENBQUM7SUFDbEIsK0JBQStCO0lBRXZCLGdCQUFnQixDQUErQjtJQUN0RCxTQUFTLEdBQVksS0FBSyxDQUFDO0lBQ2xCLE9BQU8sQ0FBUTtJQUN2QixzQ0FBc0M7SUFDOUIsUUFBUSxDQUFVO0lBQ2pCLGdCQUFnQixHQUFnQyxJQUFJLFlBQVksRUFBaUIsQ0FBQztJQUM1RixvQkFBb0IsQ0FBTTtJQUMxQixjQUFjLENBQTBCO0lBQ3hDLE1BQU0sQ0FBMEI7SUFDaEMsYUFBYSxDQUFLO0lBQ1QsTUFBTSxDQUFNLENBQUMscUNBQXFDO0lBRTNEO0lBQ0Msd0NBQXdDO0lBQ2pDLFdBQXdCLEVBQ3RCLE1BQWM7UUFEaEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDdEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtR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QUMsRUFBRTtZQUN0QyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztTQUMzQjthQUFJO1lBQ0gsSUFBSSxDQUFDLGNBQWMsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDbEUsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDMUQsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7U0FDZjtJQUNILENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQzt3R0FyS1UscUJBQXFCOzRGQUFyQixxQkFBcUIsOFNDYmxDLG96REF3Q0E7OzRGRDNCYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0UsbUJBQW1CO3VIQVd0QixnQkFBZ0I7c0JBRHRCLFNBQVM7dUJBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFHNUIsT0FBTztzQkFBZixLQUFLO2dCQUVHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0ksZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUtFLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgTmdNb2R1bGUsIE5nWm9uZSwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuLy8gSEEgMTlERUMyMyBpbXBvcnRlZCB0cmFuc2xhdGlvbiBzZXJ2aWNlXG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uL2kxOG4uc2VydmljZSc7XG4gLy8gVkQgMjFERUMyMyAtIGRlcGVuZGVudCBmaWVsZCBjaGFuZ2VcbmltcG9ydCB7IENoYW5nZVdyYXBwZXIgfSBmcm9tICcuLi8uLi9tb2RlbC9jaGFuZ2VXcmFwcGVyJztcbmltcG9ydCB7IFF1ZXN0aW9uIH0gZnJvbSAnLi4vLi4vd3JhcHBlcic7XG5kZWNsYXJlIHZhciAkOiBhbnk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1waWNrLWxvY2F0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BpY2stbG9jYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9waWNrLWxvY2F0aW9uLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBQaWNrTG9jYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBsYXRpdHVkZSA9IG51bGw7XG4gIGxvbmdpdHVkZSA9IG51bGw7XG4gIHpvb206IG51bWJlciA9IDEwO1xuICBwcml2YXRlIGdlb0NvZGVyO1xuIC8vIHB1YmxpYyBmb3JtR3JvdXA6IEZvcm1Hcm91cDtcbiAgQFZpZXdDaGlsZCgnc2VhcmNoJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIHNlYXJjaEVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG4gIHNob3dNb2RhbDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBhZGRyZXNzOnN0cmluZztcbiAgIC8vIFZEIDIxREVDMjMgLSBkZXBlbmRlbnQgZmllbGQgY2hhbmdlXG4gIEBJbnB1dCgpIHF1ZXN0aW9uOiBRdWVzdGlvblxuICBAT3V0cHV0KCkgbG9jYXRpb25TZWxlY3RlZDogRXZlbnRFbWl0dGVyPENoYW5nZVdyYXBwZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxDaGFuZ2VXcmFwcGVyPigpO1xuICBuYXZpZ2F0b3JHZW9sb2NhdGlvbjogYW55O1xuICBtYXJrZXJQb3NpdGlvbjogeyBsYXQ6IGFueTsgbG5nOiBhbnk7IH07XG4gIGNlbnRlcjogeyBsYXQ6IGFueTsgbG5nOiBhbnk7IH07XG4gIG1hcmtlck9wdGlvbnM6YW55O1xuICBASW5wdXQoKSBhcGlLZXk6IGFueTsgLy8gSEExMDAxMjAyNCBkZWNsYXJlZCBBcGkga2V5IHRvIHNyY1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgLy8gcHJpdmF0ZSBtYXBzQVBJTG9hZGVyOiBNYXBzQVBJTG9hZGVyLFxuICAgcHVibGljIGkxOG5TZXJ2aWNlOiBJMThuU2VydmljZSxcbiAgICBwcml2YXRlIG5nWm9uZTogTmdab25lKSB7IFxuICAgICAgLy8gSEEwOTAxMjAyNCBpcyB0byBhdm9pZCBnb29nbGUgaXMgdW5kZWZpbmVkIGVycm9yIGFuZCBjYWxsaW5nIHRoZSBiZWxvdyBjcmVhdGVkIGZ1bmN0aW9uXG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBIQS0xMS0wMS0yMDI0IENoYW5nZWQgdGhlIG1hcCBDYWxsIGZyb20gY29uc3RydWN0b3IgdG8gbmdPbkluaXQgYXMgaXQgd2FzIGdpdmluZyB1bmRlZmluZWQgdmFsdWVzIGluIHRoZSBvdXRzb3VyY2VkXG4gICAgaWYodGhpcy5hcGlLZXkpe1xuICAgICAgdGhpcy5sb2FkR29vZ2xlTWFwc1NjcmlwdCgpLnRoZW4oKCkgPT4ge1xuICAgICAgICB0aGlzLmdlb0NvZGVyID0gbmV3IGdvb2dsZS5tYXBzLkdlb2NvZGVyKCk7XG4gICAgICAgIHRoaXMubWFya2VyT3B0aW9ucyA9IG5ldyBnb29nbGUubWFwcy5NYXJrZXIgKHtcbiAgICAgICAgICBkcmFnZ2FibGU6IHRydWUsXG4gICAgICAgICAgYW5pbWF0aW9uOiBnb29nbGUubWFwcy5BbmltYXRpb24uRFJPUFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5pbml0QXV0b2NvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMub25NYXJrZXJEcmFnRW5kKCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbiAgLy8gSEEwOTAxMjAyNCBpcyB0byBhdm9pZCBnb29nbGUgaXMgdW5kZWZpbmVkIGVycm9yXG4gIHByaXZhdGUgbG9hZEdvb2dsZU1hcHNTY3JpcHQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3Qgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgc2NyaXB0LnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JztcbiAgICAvLyBIQTEwMDEyMDI0IEFzc2lnbmVkIEFwaSBrZXkgdG8gc3JjXG4gICAgc2NyaXB0LnNyYyA9IGBodHRwczovL21hcHMuZ29vZ2xlYXBpcy5jb20vbWFwcy9hcGkvanM/a2V5PSR7dGhpcy5hcGlLZXl9JmxpYnJhcmllcz1nZW9tZXRyeSxwbGFjZXNgO1xuICAgIHNjcmlwdC5hc3luYyA9IHRydWU7XG4gICAgc2NyaXB0LmRlZmVyID0gdHJ1ZTtcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNjcmlwdCk7XG5cbiAgICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgc2NyaXB0Lm9ubG9hZCA9ICgpID0+IHtcbiAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgfTtcbiAgICAgIHNjcmlwdC5vbmVycm9yID0gKGVycm9yOiBhbnkpID0+IHtcbiAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cbiAgXG4gIGluaXRBdXRvY29tcGxldGUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZ2VvQ29kZXIpIHtcbiAgICAgIGNvbnN0IGF1dG9jb21wbGV0ZSA9IG5ldyBnb29nbGUubWFwcy5wbGFjZXMuQXV0b2NvbXBsZXRlKHRoaXMuc2VhcmNoRWxlbWVudFJlZj8ubmF0aXZlRWxlbWVudCwge1xuICAgICAgICB0eXBlczogW11cbiAgICAgIH0pO1xuICAgICAgYXV0b2NvbXBsZXRlLmFkZExpc3RlbmVyKCdwbGFjZV9jaGFuZ2VkJywgKCkgPT4ge1xuICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHBsYWNlOiBnb29nbGUubWFwcy5wbGFjZXMuUGxhY2VSZXN1bHQgPSBhdXRvY29tcGxldGUuZ2V0UGxhY2UoKTtcblxuICAgICAgICAgIGlmIChwbGFjZS5nZW9tZXRyeSA9PT0gdW5kZWZpbmVkIHx8IHBsYWNlLmdlb21ldHJ5ID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMubGF0aXR1ZGUgPSBwbGFjZS5nZW9tZXRyeS5sb2NhdGlvbi5sYXQoKTtcbiAgICAgICAgICB0aGlzLmxvbmdpdHVkZSA9IHBsYWNlLmdlb21ldHJ5LmxvY2F0aW9uLmxuZygpO1xuICAgICAgICAgIHRoaXMuem9vbSA9IDE4O1xuICAgICAgICAgIHRoaXMuYWRkcmVzcyA9IHBsYWNlLmZvcm1hdHRlZF9hZGRyZXNzO1xuICAgICAgICAgIC8vIFZEIDIxREVDMjMgLSBkZXBlbmRlbnQgZmllbGQgY2hhbmdlXG4gICAgICAgICAgbGV0IGNoYW5nZSA9IG5ldyBDaGFuZ2VXcmFwcGVyKCk7XG4gICAgICAgICAgY2hhbmdlLmZyb21RdWVzdGlvbklkID0gdGhpcy5xdWVzdGlvbi5JZDtcbiAgICAgICAgICBsZXQgYWRkT2JqID0ge307XG4gICAgICAgICAgYWRkT2JqWydhZGRyZXNzJ10gPSB0aGlzLmFkZHJlc3M7XG4gICAgICAgICAgYWRkT2JqWydsYXRpdHVkZSddID0gdGhpcy5sYXRpdHVkZTtcbiAgICAgICAgICBhZGRPYmpbJ2xvbmdpdHVkZSddID0gdGhpcy5sb25naXR1ZGU7XG4gICAgICAgICAgY2hhbmdlLnZhbHVlT2JqID0gYWRkT2JqO1xuICAgICAgICAgdGhpcy5sb2NhdGlvblNlbGVjdGVkLmVtaXQoY2hhbmdlKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBvbk1hcmtlckRyYWdFbmQoKTogdm9pZCB7XG4gICAgZ29vZ2xlLm1hcHMuZXZlbnQuYWRkTGlzdGVuZXIodGhpcy5tYXJrZXJPcHRpb25zLCAnZHJhZ2VuZCcsIChldmVudCkgPT4ge1xuICAgICAgY29uc29sZS5sb2coJ2RyYWdhYmxlIHdvcmtpbmcnLGV2ZW50KTtcbiAgICAgIHRoaXMubGF0aXR1ZGUgPSBldmVudC5sYXRMbmcubGF0KCk7XG4gICAgICB0aGlzLmxvbmdpdHVkZSA9IGV2ZW50LmxhdExuZy5sbmcoKTtcbiAgICAgIHRoaXMuZ2V0QWRkcmVzcyh0aGlzLmxhdGl0dWRlLCB0aGlzLmxvbmdpdHVkZSk7XG4gIH0pO1xuICB9XG5cbiAgb25NYXBDbGljayhldmVudDogZ29vZ2xlLm1hcHMuTWFwTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGNvbnNvbGUubG9nKCdvbk1hcENsaWNrJyxldmVudCk7XG4gICAgdGhpcy5sYXRpdHVkZSA9IGV2ZW50LmxhdExuZy5sYXQoKTtcbiAgICB0aGlzLmxvbmdpdHVkZSA9IGV2ZW50LmxhdExuZy5sbmcoKTtcbiAgICB0aGlzLmdldEFkZHJlc3ModGhpcy5sYXRpdHVkZSwgdGhpcy5sb25naXR1ZGUpO1xuICB9XG5cblxuICBwcml2YXRlIHNldEN1cnJlbnRMb2NhdGlvbigpIHtcbiAgICBpZiAoJ2dlb2xvY2F0aW9uJyBpbiBuYXZpZ2F0b3IpIHtcbiAgICAgIG5hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24oKHBvc2l0aW9uKSA9PiB7XG4gICAgICAgIHRoaXMubGF0aXR1ZGUgPSBwb3NpdGlvbi5jb29yZHMubGF0aXR1ZGU7XG4gICAgICAgIHRoaXMubG9uZ2l0dWRlID0gcG9zaXRpb24uY29vcmRzLmxvbmdpdHVkZTtcbiAgICAgICAgdGhpcy5tYXJrZXJQb3NpdGlvbiA9IHsgbGF0OiB0aGlzLmxhdGl0dWRlLCBsbmc6IHRoaXMubG9uZ2l0dWRlIH07XG4gICAgICAgIHRoaXMuY2VudGVyID0geyBsYXQ6IHRoaXMubGF0aXR1ZGUsIGxuZzogdGhpcy5sb25naXR1ZGUgfTtcbiAgICAgICAgdGhpcy56b29tID0gODtcbiAgICAgICAgdGhpcy5nZXRBZGRyZXNzKHRoaXMubGF0aXR1ZGUsIHRoaXMubG9uZ2l0dWRlKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG5cbiAgZ2V0QWRkcmVzcyhsYXRpdHVkZTogbnVtYmVyLCBsb25naXR1ZGU6IG51bWJlcikge1xuICAgIGlmICh0aGlzLmdlb0NvZGVyKSB7XG4gICAgICB0aGlzLmdlb0NvZGVyLmdlb2NvZGUoeyBsb2NhdGlvbjogeyBsYXQ6IGxhdGl0dWRlLCBsbmc6IGxvbmdpdHVkZSB9IH0sIChyZXN1bHRzLCBzdGF0dXMpID0+IHtcbiAgICAgICAgY29uc29sZS5sb2coJ3Jlc3VsdHMnLHJlc3VsdHMpO1xuICAgICAgICBjb25zb2xlLmxvZygnc3RhdHVzJyxzdGF0dXMpO1xuICAgICAgICBpZiAoc3RhdHVzID09PSAnT0snKSB7XG4gICAgICAgICAgaWYgKHJlc3VsdHNbMF0pIHtcbiAgICAgICAgICAgLy8gdGhpcy56b29tID0gMTg7XG4gICAgICAgICAgICB0aGlzLmFkZHJlc3MgPSByZXN1bHRzWzBdLmZvcm1hdHRlZF9hZGRyZXNzO1xuICAgICAgICAgICAgIC8vIFZEIDIxREVDMjMgLSBkZXBlbmRlbnQgZmllbGQgY2hhbmdlXG4gICAgICAgICAgICBsZXQgY2hhbmdlID0gbmV3IENoYW5nZVdyYXBwZXIoKTtcbiAgICAgICAgICAgIGNoYW5nZS5mcm9tUXVlc3Rpb25JZCA9IHRoaXMucXVlc3Rpb24uSWQ7XG4gICAgICAgICAgICBsZXQgYWRkT2JqMSA9IHt9O1xuICAgICAgICAgICAgYWRkT2JqMVsnYWRkcmVzcyddID0gdGhpcy5hZGRyZXNzO1xuICAgICAgICAgICAgYWRkT2JqMVsnbGF0aXR1ZGUnXSA9IGxhdGl0dWRlO1xuICAgICAgICAgICAgYWRkT2JqMVsnbG9uZ2l0dWRlJ10gPSBsb25naXR1ZGU7XG4gICAgICAgICAgICBjaGFuZ2UudmFsdWVPYmogPSBhZGRPYmoxO1xuICAgICAgICAgICAgdGhpcy5sb2NhdGlvblNlbGVjdGVkLmVtaXQoY2hhbmdlKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc29sZS5sb2coJ05vIHJlc3VsdHMgZm91bmQnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc29sZS5sb2coJ0dlb2NvZGVyIGZhaWxlZCBkdWUgdG86ICcgKyBzdGF0dXMpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBvcGVuTWFwKCkge1xuICAgIHRoaXMuc2hvd01vZGFsID0gdHJ1ZTtcbiAgICBpZighdGhpcy5hZGRyZXNzKXtcbiAgICAgIHRoaXMubGF0aXR1ZGUgPSB0aGlzLmxvbmdpdHVkZSA9IG51bGw7XG4gICAgfVxuICAgIGlmICghKHRoaXMubGF0aXR1ZGUgJiYgdGhpcy5sb25naXR1ZGUpKSB7XG4gICAgICB0aGlzLnNldEN1cnJlbnRMb2NhdGlvbigpO1xuICAgIH1lbHNle1xuICAgICAgdGhpcy5tYXJrZXJQb3NpdGlvbiA9IHsgbGF0OiB0aGlzLmxhdGl0dWRlLCBsbmc6IHRoaXMubG9uZ2l0dWRlIH07XG4gICAgICB0aGlzLmNlbnRlciA9IHsgbGF0OiB0aGlzLmxhdGl0dWRlLCBsbmc6IHRoaXMubG9uZ2l0dWRlIH07XG4gICAgICB0aGlzLnpvb20gPSA4O1xuICAgIH1cbiAgfVxuXG4gIGNsb3NlTW9kYWwoKSB7XG4gICAgdGhpcy5zaG93TW9kYWwgPSBmYWxzZTtcbiAgfVxuXG5cbn1cbiIsIjxkaXY+XG4gICAgIDwhLS0gPGxhYmVsIGNsYXNzPVwic2hlLWxhYmVsXCI+TG9jYXRpb248L2xhYmVsPiAtLT5cbiAgICA8IS0tIEhBIDE5REVDMjMgRm9yIHRyYW5zbGF0aW9uIC0tPlxuICAgICA8aW5wdXQgI3NlYXJjaCBjbGFzcz1cInNoZS1saW5lLWlucHV0IGZvcm0tY29udHJvbFwiIHR5cGU9XCJ0ZXh0XCIgcGxhY2Vob2xkZXI9XCJ7eyAnZW50ZXJMb2NhdGlvbicgfCBpMThuOmkxOG5TZXJ2aWNlLmN1cnJlbnRMYW5ndWFnZSB9fVwiXG4gICAgICAgIChrZXlkb3duLmVudGVyKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCIgcGxhY2Vob2xkZXI9XCJ7eyAnc2VhcmNoTmVhcmVzdExvY2F0aW9uJyB8IGkxOG46aTE4blNlcnZpY2UuY3VycmVudExhbmd1YWdlIH19XCIgYXV0b2NvcnJlY3Q9XCJvZmZcIlxuICAgICAgICBhdXRvY2FwaXRhbGl6ZT1cIm9mZlwiIHNwZWxsY2hlY2s9XCJvZmZcIiB0eXBlPVwidGV4dFwiICBbKG5nTW9kZWwpXT1cImFkZHJlc3NcIlxuICAgICAgICA+XG4gICAgICAgIDxhIChjbGljayk9XCJvcGVuTWFwKClcIlxuICAgICAgICBzdHlsZT1cImNvbG9yOiM0OEI3RkY7cG9zaXRpb246cmVsYXRpdmU7dG9wOjVweDtjdXJzb3I6IHBvaW50ZXI7XCI+XG4gICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtbG9jYXRpb24tYXJyb3dcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgPCEtLSBIQSAxOURFQzIzIEZvciB0cmFuc2xhdGlvbiAtLT5cbiAgICAgICAgPC9pPiB7eyAncGlja0xvY2F0aW9uJyB8IGkxOG46aTE4blNlcnZpY2UuY3VycmVudExhbmd1YWdlIH19PC9hPlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJtYXAtb3ZlcmxheVwiICpuZ0lmPVwic2hvd01vZGFsXCI+XG4gIDxkaXYgY2xhc3M9XCJtYXAtbW9kYWxcIj5cbiAgICA8ZGl2IGNsYXNzPVwibWFwLW1vZGFsLWNvbnRlbnRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtYXAtbW9kYWwtaGVhZGVyXCI+XG4gICAgICAgIDwhLS0gSEEgMTlERUMyMyBGb3IgdHJhbnNsYXRpb24gLS0+XG4gICAgICAgIDxoND57eyAncGlja1lvdXJMb2NhdGlvbicgfCBpMThuOmkxOG5TZXJ2aWNlLmN1cnJlbnRMYW5ndWFnZSB9fTwvaDQ+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJjbG9zZS1idXR0b25cIiAoY2xpY2spPVwiY2xvc2VNb2RhbCgpXCI+WDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tIE1vZGFsIGNvbnRlbnQgZ29lcyBoZXJlIC0tPlxuICAgIDwhLS0gPGFnbS1tYXAgW2xhdGl0dWRlXT1cImxhdGl0dWRlXCIgW2xvbmdpdHVkZV09XCJsb25naXR1ZGVcIiBbem9vbV09XCJ6b29tXCIgKG1hcENsaWNrKT1cIm1hcmtlckRyYWdFbmQoJGV2ZW50KVwiXG4gICAgW2Z1bGxzY3JlZW5Db250cm9sXT1cInRydWVcIj5cbiAgICA8YWdtLW1hcmtlciBbbGF0aXR1ZGVdPVwibGF0aXR1ZGVcIiBbbG9uZ2l0dWRlXT1cImxvbmdpdHVkZVwiIFttYXJrZXJEcmFnZ2FibGVdPVwidHJ1ZVwiXG4gICAgICAoZHJhZ0VuZCk9XCJtYXJrZXJEcmFnRW5kKCRldmVudClcIj48L2FnbS1tYXJrZXI+XG4gICAgPC9hZ20tbWFwPiAtLT5cbiAgICA8Z29vZ2xlLW1hcCBbbGF0aXR1ZGVdPVwibGF0aXR1ZGVcIiAgW2xvbmdpdHVkZV09XCJsb25naXR1ZGVcIiBbem9vbV09XCJ6b29tXCIgW2NlbnRlcl09XCJjZW50ZXJcIiAobWFwQ2xpY2spPVwib25NYXBDbGljaygkZXZlbnQpXCI+XG4gICAgICA8bWFwLW1hcmtlciBbcG9zaXRpb25dPVwibWFya2VyUG9zaXRpb25cIiBbb3B0aW9uc109XCJtYXJrZXJPcHRpb25zXCI+PC9tYXAtbWFya2VyPlxuICAgIDwvZ29vZ2xlLW1hcD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuXG5cblxuXG5cbiJdfQ==
@@ -19,6 +19,7 @@ export class SearchBoxComponent {
19
19
  id;
20
20
  searchValueChange = new EventEmitter();
21
21
  apiObj;
22
+ SearchItem;
22
23
  filterName;
23
24
  finalResults = [];
24
25
  searchKeyWord = '';
@@ -36,6 +37,9 @@ export class SearchBoxComponent {
36
37
  this.i18nService = i18nService;
37
38
  }
38
39
  ngOnInit() {
40
+ // VD 03May- search changes
41
+ let apiObj = JSON.parse(this.apiMeta);
42
+ this.SearchItem = apiObj.field;
39
43
  }
40
44
  clearList() {
41
45
  setTimeout(() => {
@@ -56,15 +60,23 @@ export class SearchBoxComponent {
56
60
  this.noResult = false;
57
61
  }
58
62
  }
63
+ // VD 03May- search changes
59
64
  getSourceData = (keyword) => {
60
65
  if (this.apiMeta !== undefined) {
61
66
  let apiObj = JSON.parse(this.apiMeta);
62
67
  this.dataService.apiResponse(apiObj.endpoint).subscribe((apiResponse) => {
63
- let response = apiResponse[apiObj.variable];
68
+ let response;
69
+ if (apiObj.variable) {
70
+ response = apiResponse[apiObj.variable];
71
+ }
72
+ else {
73
+ response = apiResponse;
74
+ }
75
+ let field = apiObj.field;
64
76
  let results = [];
65
77
  for (let i = 0; i < response.length; i++) { // VD NOV23 - updated the search keys
66
- if (response[i].firstName?.toLowerCase() === keyword?.toLowerCase() || response[i].lastName?.toLowerCase() === keyword?.toLowerCase()) {
67
- console.log('pushing ' + response[i].firstName);
78
+ if (response[i][field]?.toLowerCase().includes(keyword?.toLowerCase())) {
79
+ console.log('pushing ' + response[i].field);
68
80
  results.push(response[i]);
69
81
  }
70
82
  }
@@ -75,17 +87,19 @@ export class SearchBoxComponent {
75
87
  };
76
88
  clickItem(event) {
77
89
  // console.log('inside clickItem of ' + event.target.value);
90
+ let apiObj = JSON.parse(this.apiMeta);
91
+ this.filterName = event[apiObj.field];
78
92
  let change = new ChangeWrapper(); // ChangeWrapper = JSON.parse('{}');
79
93
  change.fromQuestionId = this.id;
80
94
  change.valueObj = event;
81
95
  this.searchValueChange.emit(change);
82
96
  }
83
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SearchBoxComponent, deps: [{ token: i1.SalesforceService }, { token: i2.DataService }, { token: i3.ActivatedRoute }, { token: i0.ElementRef }, { token: i4.I18nService }], target: i0.ɵɵFactoryTarget.Component });
84
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: SearchBoxComponent, selector: "lib-search-box", inputs: { placeHolderText: "placeHolderText", question: "question", apiMeta: "apiMeta", id: "id" }, outputs: { searchValueChange: "searchValueChange" }, viewQueries: [{ propertyName: "auto", first: true, predicate: ["auto"], descendants: true }], ngImport: i0, template: "<div id=\"autocomplete-input\">\n <input #auto id=\"searchbox-style\"\n (blur)=\"clearList()\" \n [(ngModel)]=\"filterName\" \n type=\"text\" \n name=\"name\" \n [placeholder]=\"placeHolderText\" \n style=\"margin: 0 !important;\" \n class=\"searchInput she-line-input form-control\" \n (focusin)=\"getSourceDataLocal($event)\" \n (input)=\"getSourceDataLocal($event)\">\n <div id=\"selectList\" style=\"position: absolute;position: absolute;background: white;z-index: 2;\">\n <div *ngIf=\"finalResults.length > 0 && showSuggestion\" \n style=\"max-height: 100vh;border: 1px solid #d2d4d6;overflow: scroll;\" \n class=\"suggestions-container\">\n <!-- HA 20DEC23 Uncommented the logic -->\n <div *ngFor=\"let item of finalResults\" (click)='clickItem(item)' class=\"hoover\">\n <div class=\"grid-x align-middle\" style=\"padding: 1rem\" *ngIf=\"item.id != null\">\n <div class=\"cell shrink\" style=\"width: 60px; margin-right: 1.6rem;\">\n <img [src]=\"item.thumbnail\" style=\"width: 60px;\" alt=\"\">\n </div>\n <div class=\"cell auto\" style=\"text-align: left; padding-left: 20px;\">\n <h4 >{{item.title}}</h4>\n </div>\n </div>\n </div>\n <!-- HA 20DEC23 For Commented this for future purpose -->\n <!-- <table class=\"table table-striped table-bordered\">\n <thead>\n <tr>\n <th>{{ 'firstName' | i18n:i18nService.currentLanguage }}</th>\n <th>{{ 'lastName' | i18n:i18nService.currentLanguage }}</th>\n <th>{{ 'division' | i18n:i18nService.currentLanguage }}</th>\n <th>{{ 'numberPlate' | i18n:i18nService.currentLanguage }}</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let item of finalResults\" (click)='clickItem(item)'>\n <td>{{ item.firstName }}</td>\n <td>{{ item.lastName }}</td>\n <td>{{ item.division }}</td>\n <td>{{ item.numberPlate }}</td>\n </tr>\n </tbody>\n </table> -->\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.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: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
97
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SearchBoxComponent, deps: [{ token: i1.SalesforceService }, { token: i2.DataService }, { token: i3.ActivatedRoute }, { token: i0.ElementRef }, { token: i4.I18nService }], target: i0.ɵɵFactoryTarget.Component });
98
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: SearchBoxComponent, selector: "lib-search-box", inputs: { placeHolderText: "placeHolderText", question: "question", apiMeta: "apiMeta", id: "id" }, outputs: { searchValueChange: "searchValueChange" }, viewQueries: [{ propertyName: "auto", first: true, predicate: ["auto"], descendants: true }], ngImport: i0, template: "<div id=\"autocomplete-input\">\n <input #auto id=\"searchbox-style\"\n (blur)=\"clearList()\" \n [(ngModel)]=\"filterName\" \n type=\"text\" \n name=\"name\" \n [placeholder]=\"placeHolderText\" \n style=\"margin: 0 !important;\" \n class=\"searchInput she-line-input form-control\" \n (focusin)=\"getSourceDataLocal($event)\" \n (input)=\"getSourceDataLocal($event)\">\n <div id=\"selectList\" style=\"position: absolute;position: absolute;background: white;z-index: 2;\">\n <div *ngIf=\"finalResults.length > 0 && showSuggestion\" \n style=\"max-height: 100vh;border: 1px solid #d2d4d6;overflow: scroll;\" \n class=\"suggestions-container\">\n <!-- HA 20DEC23 Uncommented the logic -->\n <!-- VD 03May- search changes -->\n <div *ngFor=\"let item of finalResults\" (click)='clickItem(item)' class=\"hoover\">\n <div class=\"grid-x align-middle\" style=\"padding: 1rem\" *ngIf=\"item.id != null\">\n <div *ngIf=\"item.thumbnail\" class=\"cell shrink\" style=\"width: 60px; margin-right: 1.6rem;\">\n <img [src]=\"item.thumbnail\" style=\"width: 60px;\" alt=\"\">\n </div>\n <div class=\"cell auto\" style=\"text-align: left; padding-left: 20px;\">\n <h4 >{{item[SearchItem]}}</h4>\n </div>\n </div>\n </div>\n <!-- HA 20DEC23 For Commented this for future purpose -->\n <!-- <table class=\"table table-striped table-bordered\">\n <thead>\n <tr>\n <th>{{ 'firstName' | i18n:i18nService.currentLanguage }}</th>\n <th>{{ 'lastName' | i18n:i18nService.currentLanguage }}</th>\n <th>{{ 'division' | i18n:i18nService.currentLanguage }}</th>\n <th>{{ 'numberPlate' | i18n:i18nService.currentLanguage }}</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let item of finalResults\" (click)='clickItem(item)'>\n <td>{{ item.firstName }}</td>\n <td>{{ item.lastName }}</td>\n <td>{{ item.division }}</td>\n <td>{{ item.numberPlate }}</td>\n </tr>\n </tbody>\n </table> -->\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.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: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
85
99
  }
86
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SearchBoxComponent, decorators: [{
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SearchBoxComponent, decorators: [{
87
101
  type: Component,
88
- args: [{ selector: 'lib-search-box', template: "<div id=\"autocomplete-input\">\n <input #auto id=\"searchbox-style\"\n (blur)=\"clearList()\" \n [(ngModel)]=\"filterName\" \n type=\"text\" \n name=\"name\" \n [placeholder]=\"placeHolderText\" \n style=\"margin: 0 !important;\" \n class=\"searchInput she-line-input form-control\" \n (focusin)=\"getSourceDataLocal($event)\" \n (input)=\"getSourceDataLocal($event)\">\n <div id=\"selectList\" style=\"position: absolute;position: absolute;background: white;z-index: 2;\">\n <div *ngIf=\"finalResults.length > 0 && showSuggestion\" \n style=\"max-height: 100vh;border: 1px solid #d2d4d6;overflow: scroll;\" \n class=\"suggestions-container\">\n <!-- HA 20DEC23 Uncommented the logic -->\n <div *ngFor=\"let item of finalResults\" (click)='clickItem(item)' class=\"hoover\">\n <div class=\"grid-x align-middle\" style=\"padding: 1rem\" *ngIf=\"item.id != null\">\n <div class=\"cell shrink\" style=\"width: 60px; margin-right: 1.6rem;\">\n <img [src]=\"item.thumbnail\" style=\"width: 60px;\" alt=\"\">\n </div>\n <div class=\"cell auto\" style=\"text-align: left; padding-left: 20px;\">\n <h4 >{{item.title}}</h4>\n </div>\n </div>\n </div>\n <!-- HA 20DEC23 For Commented this for future purpose -->\n <!-- <table class=\"table table-striped table-bordered\">\n <thead>\n <tr>\n <th>{{ 'firstName' | i18n:i18nService.currentLanguage }}</th>\n <th>{{ 'lastName' | i18n:i18nService.currentLanguage }}</th>\n <th>{{ 'division' | i18n:i18nService.currentLanguage }}</th>\n <th>{{ 'numberPlate' | i18n:i18nService.currentLanguage }}</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let item of finalResults\" (click)='clickItem(item)'>\n <td>{{ item.firstName }}</td>\n <td>{{ item.lastName }}</td>\n <td>{{ item.division }}</td>\n <td>{{ item.numberPlate }}</td>\n </tr>\n </tbody>\n </table> -->\n </div>\n</div>\n" }]
102
+ args: [{ selector: 'lib-search-box', template: "<div id=\"autocomplete-input\">\n <input #auto id=\"searchbox-style\"\n (blur)=\"clearList()\" \n [(ngModel)]=\"filterName\" \n type=\"text\" \n name=\"name\" \n [placeholder]=\"placeHolderText\" \n style=\"margin: 0 !important;\" \n class=\"searchInput she-line-input form-control\" \n (focusin)=\"getSourceDataLocal($event)\" \n (input)=\"getSourceDataLocal($event)\">\n <div id=\"selectList\" style=\"position: absolute;position: absolute;background: white;z-index: 2;\">\n <div *ngIf=\"finalResults.length > 0 && showSuggestion\" \n style=\"max-height: 100vh;border: 1px solid #d2d4d6;overflow: scroll;\" \n class=\"suggestions-container\">\n <!-- HA 20DEC23 Uncommented the logic -->\n <!-- VD 03May- search changes -->\n <div *ngFor=\"let item of finalResults\" (click)='clickItem(item)' class=\"hoover\">\n <div class=\"grid-x align-middle\" style=\"padding: 1rem\" *ngIf=\"item.id != null\">\n <div *ngIf=\"item.thumbnail\" class=\"cell shrink\" style=\"width: 60px; margin-right: 1.6rem;\">\n <img [src]=\"item.thumbnail\" style=\"width: 60px;\" alt=\"\">\n </div>\n <div class=\"cell auto\" style=\"text-align: left; padding-left: 20px;\">\n <h4 >{{item[SearchItem]}}</h4>\n </div>\n </div>\n </div>\n <!-- HA 20DEC23 For Commented this for future purpose -->\n <!-- <table class=\"table table-striped table-bordered\">\n <thead>\n <tr>\n <th>{{ 'firstName' | i18n:i18nService.currentLanguage }}</th>\n <th>{{ 'lastName' | i18n:i18nService.currentLanguage }}</th>\n <th>{{ 'division' | i18n:i18nService.currentLanguage }}</th>\n <th>{{ 'numberPlate' | i18n:i18nService.currentLanguage }}</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let item of finalResults\" (click)='clickItem(item)'>\n <td>{{ item.firstName }}</td>\n <td>{{ item.lastName }}</td>\n <td>{{ item.division }}</td>\n <td>{{ item.numberPlate }}</td>\n </tr>\n </tbody>\n </table> -->\n </div>\n</div>\n" }]
89
103
  }], ctorParameters: function () { return [{ type: i1.SalesforceService }, { type: i2.DataService }, { type: i3.ActivatedRoute }, { type: i0.ElementRef }, { type: i4.I18nService }]; }, propDecorators: { placeHolderText: [{
90
104
  type: Input
91
105
  }], auto: [{
@@ -100,4 +114,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
100
114
  }], searchValueChange: [{
101
115
  type: Output
102
116
  }] } });
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ueHQtYXBwL3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2gtYm94L3NlYXJjaC1ib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvc2VhcmNoLWJveC9zZWFyY2gtYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBSVQsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBR1osU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBU3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7QUFTMUQsTUFBTSxPQUFPLGtCQUFrQjtJQXNCbkI7SUFDQTtJQUNBO0lBRUQ7SUF6QkEsZUFBZSxDQUFTO0lBQ2QsSUFBSSxDQUFDO0lBRWYsUUFBUSxDQUFDO0lBQ1QsT0FBTyxDQUFTO0lBQ2hCLEVBQUUsQ0FBUztJQUNWLGlCQUFpQixHQUFnQyxJQUFJLFlBQVksRUFBaUIsQ0FBQztJQUM1RixNQUFNLENBQUs7SUFFTCxVQUFVLENBQVM7SUFDbkIsWUFBWSxHQUFVLEVBQUUsQ0FBQztJQUN6QixhQUFhLEdBQVcsRUFBRSxDQUFDO0lBQzNCLFNBQVMsQ0FBTTtJQUNmLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDbkIsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUNqQixjQUFjLEdBQUcsSUFBSSxDQUFDO0lBQ3JCLEVBQUUsQ0FBYztJQUNoQixJQUFJLEdBQVcsS0FBSyxDQUFDO0lBQ3JCLEdBQUcsR0FBVyxFQUFFLENBQUM7SUFFekIsWUFDVSxTQUE0QixFQUM1QixXQUF3QixFQUN4QixLQUFxQixFQUM3QixFQUFjLEVBQ1AsV0FBd0I7UUFKdkIsY0FBUyxHQUFULFNBQVMs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QWtCLDZTQzdCL0IsaXhFQStDQTs7MkZEbEJhLGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDRSxnQkFBZ0I7a05BS2pCLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ2EsSUFBSTtzQkFBdEIsU0FBUzt1QkFBQyxNQUFNO2dCQUVSLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLEVBQUU7c0JBQVYsS0FBSztnQkFDSSxpQkFBaUI7c0JBQTFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIE9uSW5pdCxcbiAgT25DaGFuZ2VzLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIEVsZW1lbnRSZWYsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGF0YS5zZXJ2aWNlJztcbmltcG9ydCB7IFNhbGVzZm9yY2VTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL3NhbGVzZm9yY2Uuc2VydmljZVwiO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFBhcmFtcyB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcbi8vIFZEIDIzSkFOMjQgcmVtb3ZlZCBodHRwQ2xpZW50IGltcG9ydCB1c2VkIHNlcnZpY2UgZmlsZSBmb3IgY2FsbG91dFxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSXRlbXNMaXN0IH0gZnJvbSBcIkBuZy1zZWxlY3Qvbmctc2VsZWN0L2xpYi9pdGVtcy1saXN0XCI7XG5pbXBvcnQgeyBDb25zb2xlU2VydmljZSB9IGZyb20gXCJAbmctc2VsZWN0L25nLXNlbGVjdC9saWIvY29uc29sZS5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBBUElNZXRhIH0gZnJvbSBcIi4uLy4uL2ludGVyZmFjZXMvYXBpbWV0YVwiO1xuaW1wb3J0IHsgQ2hhbmdlV3JhcHBlciB9IGZyb20gXCIuLi8uLi9tb2RlbC9jaGFuZ2VXcmFwcGVyXCI7XG4vLyBIQSAxOURFQzIzIGltcG9ydGVkIHRyYW5zbGF0aW9uIHNlcnZpY2VcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2kxOG4uc2VydmljZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItc2VhcmNoLWJveCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtYm94LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VhcmNoLWJveC5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoQm94Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcGxhY2VIb2xkZXJUZXh0OiBzdHJpbmc7XG4gIEBWaWV3Q2hpbGQoJ2F1dG8nKSBhdXRvO1xuXG4gIEBJbnB1dCgpIHF1ZXN0aW9uO1xuICBASW5wdXQoKSBhcGlNZXRhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGlkOiBzdHJpbmc7XG4gIEBPdXRwdXQoKSBzZWFyY2hWYWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPENoYW5nZVdyYXBwZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxDaGFuZ2VXcmFwcGVyPigpO1xuICAgYXBpT2JqOmFueTtcblxuICBwdWJsaWMgZmlsdGVyTmFtZTogc3RyaW5nO1xuICBwdWJsaWMgZmluYWxSZXN1bHRzOiBhbnlbXSA9IFtdO1xuICBwdWJsaWMgc2VhcmNoS2V5V29yZDogc3RyaW5nID0gJyc7XG4gIHB1YmxpYyBuZXdSZXN1bHQ6IGFueTtcbiAgcHVibGljIHNob3dSZXN1bHQgPSBmYWxzZTtcbiAgcHVibGljIG5vUmVzdWx0ID0gZmFsc2U7XG4gIHB1YmxpYyBzaG93U3VnZ2VzdGlvbiA9IHRydWU7XG4gIHByaXZhdGUgZWw6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIHNlcnY6IHN0cmluZyA9ICdhcGknO1xuICBwcml2YXRlIHRrbjogc3RyaW5nID0gJyc7XG4gIFxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHNmU2VydmljZTogU2FsZXNmb3JjZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgZWw6IEVsZW1lbnRSZWYsXG4gICAgcHVibGljIGkxOG5TZXJ2aWNlOiBJMThuU2VydmljZVxuICApIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuXG4gIH1cblxuICBjbGVhckxpc3QoKXtcbiAgICBzZXRUaW1lb3V0KCgpPT4ge1xuICAgICAgdGhpcy5maW5hbFJlc3VsdHMgPSBbXTtcbiAgICB9LCAxMDAwKTtcbiAgfVxuXG4gIGdldFNvdXJjZURhdGFMb2NhbChldmVudCkgeyAvL3RvIGdldCByZXN1bHRzIGxpc3QgZnJvbSBiYWNrZW5kIEFQSSB3aGVuZXZlciBrZXkgaXMgdXAgYWZ0ZXIgdGhlIGVudGVyaW5nIGF0bGVhc3Qgb25lIGtleVxuICAgIGlmKGV2ZW50LnRhcmdldC52YWx1ZS5sZW5ndGggPiAyKXtcbiAgICAgIHRoaXMuc2hvd1N1Z2dlc3Rpb249dHJ1ZTtcbiAgICAgIHRoaXMuZmluYWxSZXN1bHRzPVtdO1xuICAgICAgdGhpcy5zZWFyY2hLZXlXb3JkID0gZXZlbnQudGFyZ2V0LnZhbHVlO1xuICAgICAgdGhpcy5zaG93UmVzdWx0ID0gZmFsc2U7XG4gICAgICB0aGlzLmdldFNvdXJjZURhdGEoZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zaG93U3VnZ2VzdGlvbj1mYWxzZTtcbiAgICAgIHRoaXMuZmluYWxSZXN1bHRzID0gW107XG4gICAgICB0aGlzLm5vUmVzdWx0ID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldFNvdXJjZURhdGEgPSAoa2V5d29yZDogc3RyaW5nKSA9PiB7XG4gICAgaWYodGhpcy5hcGlNZXRhICE9PSB1bmRlZmluZWQpIHtcbiAgICAgbGV0IGFwaU9iajogQVBJTWV0YSA9IEpTT04ucGFyc2UodGhpcy5hcGlNZXRhKTtcbiAgICAgIHRoaXMuZGF0YVNlcnZpY2UuYXBpUmVzcG9uc2UoYXBpT2JqLmVuZHBvaW50KS5zdWJzY3JpYmUoKGFwaVJlc3BvbnNlKSA9PiB7XG4gICAgICAgIGxldCByZXNwb25zZSA9IGFwaVJlc3BvbnNlW2FwaU9iai52YXJpYWJsZV07XG4gICAgICBsZXQgcmVzdWx0cz1bXTtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcmVzcG9uc2UubGVuZ3RoOyBpKyspIHsgLy8gVkQgTk9WMjMgLSB1cGRhdGVkIHRoZSBzZWFyY2gga2V5c1xuICAgICAgICBpZihyZXNwb25zZVtpXS5maXJzdE5hbWU/LnRvTG93ZXJDYXNlKCkgPT09IGtleXdvcmQ/LnRvTG93ZXJDYXNlKCkgfHwgcmVzcG9uc2VbaV0ubGFzdE5hbWU/LnRvTG93ZXJDYXNlKCkgPT09IGtleXdvcmQ/LnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgICAgICBjb25zb2xlLmxvZygncHVzaGluZyAnICsgcmVzcG9uc2VbaV0uZmlyc3ROYW1lKTtcbiAgICAgICAgICByZXN1bHRzLnB1c2gocmVzcG9uc2VbaV0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0aGlzLm5vUmVzdWx0ID0gIShyZXN1bHRzLmxlbmd0aCA+IDEpO1xuICAgICAgdGhpcy5maW5hbFJlc3VsdHMgPSByZXN1bHRzO1xuICAgIH0pXG4gIH1cbiAgfVxuXG4gIHB1YmxpYyBjbGlja0l0ZW0oZXZlbnQpIHtcbiAgICAvLyBjb25zb2xlLmxvZygnaW5zaWRlIGNsaWNrSXRlbSBvZiAnICsgZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgICBsZXQgY2hhbmdlID0gbmV3IENoYW5nZVdyYXBwZXIoKTsgLy8gQ2hhbmdlV3JhcHBlciA9IEpTT04ucGFyc2UoJ3t9Jyk7XG4gICAgY2hhbmdlLmZyb21RdWVzdGlvbklkID0gdGhpcy5pZDtcbiAgICBjaGFuZ2UudmFsdWVPYmogPSBldmVudDtcbiAgICB0aGlzLnNlYXJjaFZhbHVlQ2hhbmdlLmVtaXQoY2hhbmdlKTtcbiAgfVxuICAvKlxuICBwdWJsaWMgZ2V0U291cmNlRGF0YSA9IChrZXl3b3JkOiBzdHJpbmcpID0+IHtcbiAgICBpZih0aGlzLnNlcnYgPT0gXCJhcGlcIikge1xuICAgICAgdGhpcy5kYXRhU2VydmljZS5nZXRBUElEYXRhKFxuICAgICAgICB0aGlzLnRrbixcbiAgICAgICAgW1wiUXVlc3Rpb25Cb29rXCIsIFwicmVhZFwiLCB1dWlkXSxcbiAgICAgICAgdGhpcy5zdWNjZXNzU291cmNlRGF0YSxcbiAgICAgICAgdGhpcy5mYWlsdXJlU291cmNlRGF0YVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZlNlcnZpY2UucmVtb3RlQWN0aW9uKFxuICAgICAgICBcIk54dENvbnRyb2xsZXIucHJvY2Vzc1wiLFxuICAgICAgICBbXCJRdWVzdGlvbkJvb2tcIiwgXCJyZWFkXCIsIHV1aWRdLFxuICAgICAgICB0aGlzLnN1Y2Nlc3NTb3VyY2VEYXRhLFxuICAgICAgICB0aGlzLmZhaWx1cmVTb3VyY2VEYXRhXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzdWNjZXNzU291cmNlRGF0YSA9IChyZXNwb25zZSkgPT4ge1xuICAgIGxldCByZXN1bHRzPVtdO1xuICAgIHJlc3VsdHM9cmVzcG9uc2UucmVzdWx0cztcbiAgICByZXN1bHRzLnB1c2goe3V1aWQ6IG51bGwsIG5hbWU6IFwiXCJ9KTtcbiAgICB0aGlzLm5vUmVzdWx0ID0gIShyZXN1bHRzLmxlbmd0aCA+IDEpO1xuICAgIHRoaXMuZmluYWxSZXN1bHRzID0gcmVzdWx0cztcbiAgfVxuXG4gIHB1YmxpYyBmYWlsdXJlU291cmNlRGF0YSA9IChyZXNwb25zZSkgPT4ge1xuICAgIGNvbnNvbGUubG9nKFwiRXJyb3IgcmVhZGluZyB0aGUgZGF0YSBmcm9tIEFQSVwiKTtcbiAgfVxuICAqL1xufVxuIiwiPGRpdiBpZD1cImF1dG9jb21wbGV0ZS1pbnB1dFwiPlxuICAgIDxpbnB1dCAjYXV0byBpZD1cInNlYXJjaGJveC1zdHlsZVwiXG4gICAgICAgICAgICAoYmx1cik9XCJjbGVhckxpc3QoKVwiIFxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJOYW1lXCIgXG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiIFxuICAgICAgICAgICAgbmFtZT1cIm5hbWVcIiBcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZUhvbGRlclRleHRcIiBcbiAgICAgICAgICAgIHN0eWxlPVwibWFyZ2luOiAwICFpbXBvcnRhbnQ7XCIgXG4gICAgICAgICAgICBjbGFzcz1cInNlYXJjaElucHV0IHNoZS1saW5lLWlucHV0IGZvcm0tY29udHJvbFwiIFxuICAgICAgICAgICAgKGZvY3VzaW4pPVwiZ2V0U291cmNlRGF0YUxvY2FsKCRldmVudClcIiBcbiAgICAgICAgICAgIChpbnB1dCk9XCJnZXRTb3VyY2VEYXRhTG9jYWwoJGV2ZW50KVwiPlxuICAgIDxkaXYgaWQ9XCJzZWxlY3RMaXN0XCIgc3R5bGU9XCJwb3NpdGlvbjogYWJzb2x1dGU7cG9zaXRpb246IGFic29sdXRlO2JhY2tncm91bmQ6IHdoaXRlO3otaW5kZXg6IDI7XCI+XG4gICAgPGRpdiAqbmdJZj1cImZpbmFsUmVzdWx0cy5sZW5ndGggPiAwICYmIHNob3dTdWdnZXN0aW9uXCIgXG4gICAgICAgIHN0eWxlPVwibWF4LWhlaWdodDogMTAwdmg7Ym9yZGVyOiAxcHggc29saWQgI2QyZDRkNjtvdmVyZmxvdzogc2Nyb2xsO1wiIFxuICAgICAgICBjbGFzcz1cInN1Z2dlc3Rpb25zLWNvbnRhaW5lclwiPlxuICAgICAgICA8IS0tIEhBIDIwREVDMjMgVW5jb21tZW50ZWQgdGhlIGxvZ2ljIC0tPlxuICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpdGVtIG9mIGZpbmFsUmVzdWx0c1wiIChjbGljayk9J2NsaWNrSXRlbShpdGVtKScgY2xhc3M9XCJob292ZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkLXggYWxpZ24tbWlkZGxlXCIgc3R5bGU9XCJwYWRkaW5nOiAxcmVtXCIgKm5nSWY9XCJpdGVtLmlkICE9IG51bGxcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2VsbCBzaHJpbmtcIiBzdHlsZT1cIndpZHRoOiA2MHB4OyBtYXJnaW4tcmlnaHQ6IDEuNnJlbTtcIj5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBbc3JjXT1cIml0ZW0udGh1bWJuYWlsXCIgc3R5bGU9XCJ3aWR0aDogNjBweDtcIiBhbHQ9XCJcIj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2VsbCBhdXRvXCIgc3R5bGU9XCJ0ZXh0LWFsaWduOiBsZWZ0OyBwYWRkaW5nLWxlZnQ6IDIwcHg7XCI+XG4gICAgICAgICAgICAgICAgICAgIDxoNCA+e3tpdGVtLnRpdGxlfX08L2g0PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8IS0tIEhBIDIwREVDMjMgRm9yIENvbW1lbnRlZCB0aGlzIGZvciBmdXR1cmUgcHVycG9zZSAtLT5cbiAgICAgICAgPCEtLSA8dGFibGUgY2xhc3M9XCJ0YWJsZSB0YWJsZS1zdHJpcGVkIHRhYmxlLWJvcmRlcmVkXCI+XG4gICAgICAgICAgICA8dGhlYWQ+XG4gICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICA8dGg+e3sgJ2ZpcnN0TmFtZScgfCBpMThuOmkxOG5TZXJ2aWNlLmN1cnJlbnRMYW5ndWFnZSB9fTwvdGg+XG4gICAgICAgICAgICAgICAgPHRoPnt7ICdsYXN0TmFtZScgfCBpMThuOmkxOG5TZXJ2aWNlLmN1cnJlbnRMYW5ndWFnZSB9fTwvdGg+XG4gICAgICAgICAgICAgICAgPHRoPnt7ICdkaXZpc2lvbicgfCBpMThuOmkxOG5TZXJ2aWNlLmN1cnJlbnRMYW5ndWFnZSB9fTwvdGg+XG4gICAgICAgICAgICAgICAgPHRoPnt7ICdudW1iZXJQbGF0ZScgfCBpMThuOmkxOG5TZXJ2aWNlLmN1cnJlbnRMYW5ndWFnZSB9fTwvdGg+XG4gICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICA8L3RoZWFkPlxuICAgICAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgICA8dHIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZmluYWxSZXN1bHRzXCIgKGNsaWNrKT0nY2xpY2tJdGVtKGl0ZW0pJz5cbiAgICAgICAgICAgICAgICA8dGQ+e3sgaXRlbS5maXJzdE5hbWUgfX08L3RkPlxuICAgICAgICAgICAgICAgIDx0ZD57eyBpdGVtLmxhc3ROYW1lIH19PC90ZD5cbiAgICAgICAgICAgICAgICA8dGQ+e3sgaXRlbS5kaXZpc2lvbiB9fTwvdGQ+XG4gICAgICAgICAgICAgICAgPHRkPnt7IGl0ZW0ubnVtYmVyUGxhdGUgfX08L3RkPlxuICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgICA8L3RhYmxlPiAtLT5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ueHQtYXBwL3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2gtYm94L3NlYXJjaC1ib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvc2VhcmNoLWJveC9zZWFyY2gtYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBSVQsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBR1osU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBU3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7QUFTMUQsTUFBTSxPQUFPLGtCQUFrQjtJQXVCbkI7SUFDQTtJQUNBO0lBRUc7SUExQkosZUFBZSxDQUFTO0lBQ2QsSUFBSSxDQUFDO0lBRWYsUUFBUSxDQUFDO0lBQ1QsT0FBTyxDQUFTO0lBQ2hCLEVBQUUsQ0FBUztJQUNWLGlCQUFpQixHQUFnQyxJQUFJLFlBQVksRUFBaUIsQ0FBQztJQUM1RixNQUFNLENBQUs7SUFDWCxVQUFVLENBQU07SUFFVixVQUFVLENBQVM7SUFDbkIsWUFBWSxHQUFVLEVBQUUsQ0FBQztJQUN6QixhQUFhLEdBQVcsRUFBRSxDQUFDO0lBQzNCLFNBQVMsQ0FBTTtJQUNmLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDbkIsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUNqQixjQUFjLEdBQUcsSUFBSSxDQUFDO0lBQ3JCLEVBQUUsQ0FBYztJQUNoQixJQUFJLEdBQVcsS0FBSyxDQUFDO0lBQ3JCLEdBQUcsR0FBVyxFQUFFLENBQUM7SUFFekIsWUFDVSxTQUE0QixFQUM1QixXQUF3QixFQUN4QixLQUFxQixFQUM3QixFQUFjLEVBQ0gsV0FBd0I7UUFKM0Is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cEIsNERBQTREO1FBQzVELElBQUksTUFBTSxHQUFZLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0QyxJQUFJLE1BQU0sR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDLENBQUMsb0NBQW9DO1FBQ3RFLE1BQU0sQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNoQyxNQUFNLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN4QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7d0dBeEZVLGtCQUFrQjs0RkFBbEIsa0JBQWtCLDZTQzdCL0IsNDFFQWdEQTs7NEZEbkJhLGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDRSxnQkFBZ0I7a05BS2pCLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ2EsSUFBSTtzQkFBdEIsU0FBUzt1QkFBQyxNQUFNO2dCQUVSLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLEVBQUU7c0JBQVYsS0FBSztnQkFDSSxpQkFBaUI7c0JBQTFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIE9uSW5pdCxcbiAgT25DaGFuZ2VzLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIEVsZW1lbnRSZWYsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGF0YS5zZXJ2aWNlJztcbmltcG9ydCB7IFNhbGVzZm9yY2VTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL3NhbGVzZm9yY2Uuc2VydmljZVwiO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFBhcmFtcyB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcbi8vIFZEIDIzSkFOMjQgcmVtb3ZlZCBodHRwQ2xpZW50IGltcG9ydCB1c2VkIHNlcnZpY2UgZmlsZSBmb3IgY2FsbG91dFxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSXRlbXNMaXN0IH0gZnJvbSBcIkBuZy1zZWxlY3Qvbmctc2VsZWN0L2xpYi9pdGVtcy1saXN0XCI7XG5pbXBvcnQgeyBDb25zb2xlU2VydmljZSB9IGZyb20gXCJAbmctc2VsZWN0L25nLXNlbGVjdC9saWIvY29uc29sZS5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBBUElNZXRhIH0gZnJvbSBcIi4uLy4uL2ludGVyZmFjZXMvYXBpbWV0YVwiO1xuaW1wb3J0IHsgQ2hhbmdlV3JhcHBlciB9IGZyb20gXCIuLi8uLi9tb2RlbC9jaGFuZ2VXcmFwcGVyXCI7XG4vLyBIQSAxOURFQzIzIGltcG9ydGVkIHRyYW5zbGF0aW9uIHNlcnZpY2VcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2kxOG4uc2VydmljZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItc2VhcmNoLWJveCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtYm94LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VhcmNoLWJveC5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoQm94Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcGxhY2VIb2xkZXJUZXh0OiBzdHJpbmc7XG4gIEBWaWV3Q2hpbGQoJ2F1dG8nKSBhdXRvO1xuXG4gIEBJbnB1dCgpIHF1ZXN0aW9uO1xuICBASW5wdXQoKSBhcGlNZXRhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGlkOiBzdHJpbmc7XG4gIEBPdXRwdXQoKSBzZWFyY2hWYWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPENoYW5nZVdyYXBwZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxDaGFuZ2VXcmFwcGVyPigpO1xuICAgYXBpT2JqOmFueTtcbiAgIFNlYXJjaEl0ZW06IGFueTtcblxuICBwdWJsaWMgZmlsdGVyTmFtZTogc3RyaW5nO1xuICBwdWJsaWMgZmluYWxSZXN1bHRzOiBhbnlbXSA9IFtdO1xuICBwdWJsaWMgc2VhcmNoS2V5V29yZDogc3RyaW5nID0gJyc7XG4gIHB1YmxpYyBuZXdSZXN1bHQ6IGFueTtcbiAgcHVibGljIHNob3dSZXN1bHQgPSBmYWxzZTtcbiAgcHVibGljIG5vUmVzdWx0ID0gZmFsc2U7XG4gIHB1YmxpYyBzaG93U3VnZ2VzdGlvbiA9IHRydWU7XG4gIHByaXZhdGUgZWw6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIHNlcnY6IHN0cmluZyA9ICdhcGknO1xuICBwcml2YXRlIHRrbjogc3RyaW5nID0gJyc7XG4gIFxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHNmU2VydmljZTogU2FsZXNmb3JjZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgZWw6IEVsZW1lbnRSZWYsXG4gICAgICAgIHB1YmxpYyBpMThuU2VydmljZTogSTE4blNlcnZpY2VcbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbi8vICBWRCAwM01heS0gc2VhcmNoIGNoYW5nZXNcbiAgICBsZXQgYXBpT2JqOiBBUElNZXRhID0gSlNPTi5wYXJzZSh0aGlzLmFwaU1ldGEpO1xuICAgIHRoaXMuU2VhcmNoSXRlbSA9IGFwaU9iai5maWVsZDtcbiAgfVxuXG4gIGNsZWFyTGlzdCgpe1xuICAgIHNldFRpbWVvdXQoKCk9PiB7XG4gICAgICB0aGlzLmZpbmFsUmVzdWx0cyA9IFtdO1xuICAgIH0sIDEwMDApO1xuICB9XG5cbiAgZ2V0U291cmNlRGF0YUxvY2FsKGV2ZW50KSB7IC8vdG8gZ2V0IHJlc3VsdHMgbGlzdCBmcm9tIGJhY2tlbmQgQVBJIHdoZW5ldmVyIGtleSBpcyB1cCBhZnRlciB0aGUgZW50ZXJpbmcgYXRsZWFzdCBvbmUga2V5XG4gICAgaWYoZXZlbnQudGFyZ2V0LnZhbHVlLmxlbmd0aCA+IDIpe1xuICAgICAgdGhpcy5zaG93U3VnZ2VzdGlvbj10cnVlO1xuICAgICAgdGhpcy5maW5hbFJlc3VsdHM9W107XG4gICAgICB0aGlzLnNlYXJjaEtleVdvcmQgPSBldmVudC50YXJnZXQudmFsdWU7XG4gICAgICB0aGlzLnNob3dSZXN1bHQgPSBmYWxzZTtcbiAgICAgIHRoaXMuZ2V0U291cmNlRGF0YShldmVudC50YXJnZXQudmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNob3dTdWdnZXN0aW9uPWZhbHNlO1xuICAgICAgdGhpcy5maW5hbFJlc3VsdHMgPSBbXTtcbiAgICAgIHRoaXMubm9SZXN1bHQgPSBmYWxzZTtcbiAgICB9XG4gIH1cbiAgLy8gVkQgMDNNYXktIHNlYXJjaCBjaGFuZ2VzXG4gIHB1YmxpYyBnZXRTb3VyY2VEYXRhID0gKGtleXdvcmQ6IHN0cmluZykgPT4ge1xuICAgIGlmKHRoaXMuYXBpTWV0YSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgIGxldCBhcGlPYmo6IEFQSU1ldGEgPSBKU09OLnBhcnNlKHRoaXMuYXBpTWV0YSk7XG4gICAgICB0aGlzLmRhdGFTZXJ2aWNlLmFwaVJlc3BvbnNlKGFwaU9iai5lbmRwb2ludCkuc3Vic2NyaWJlKChhcGlSZXNwb25zZSkgPT4ge1xuICAgICAgICBsZXQgcmVzcG9uc2U7XG4gICAgICAgIGlmKGFwaU9iai52YXJpYWJsZSl7XG4gICAgICAgICAgIHJlc3BvbnNlID0gYXBpUmVzcG9uc2VbYXBpT2JqLnZhcmlhYmxlXTtcbiAgICAgICAgfWVsc2V7XG4gICAgICAgICAgcmVzcG9uc2UgPSBhcGlSZXNwb25zZTtcbiAgICAgICAgfVxuICAgICAgbGV0IGZpZWxkID0gYXBpT2JqLmZpZWxkO1xuICAgICAgbGV0IHJlc3VsdHM9W107XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJlc3BvbnNlLmxlbmd0aDsgaSsrKSB7IC8vIFZEIE5PVjIzIC0gdXBkYXRlZCB0aGUgc2VhcmNoIGtleXNcbiAgICAgICAgaWYocmVzcG9uc2VbaV1bZmllbGRdPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGtleXdvcmQ/LnRvTG93ZXJDYXNlKCkpKSB7XG4gICAgICAgICAgY29uc29sZS5sb2coJ3B1c2hpbmcgJyArIHJlc3BvbnNlW2ldLmZpZWxkKTtcbiAgICAgICAgICByZXN1bHRzLnB1c2gocmVzcG9uc2VbaV0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0aGlzLm5vUmVzdWx0ID0gIShyZXN1bHRzLmxlbmd0aCA+IDEpO1xuICAgICAgdGhpcy5maW5hbFJlc3VsdHMgPSByZXN1bHRzO1xuICAgIH0pXG4gIH1cbiAgfVxuXG4gIHB1YmxpYyBjbGlja0l0ZW0oZXZlbnQpIHtcbiAgICAvLyBjb25zb2xlLmxvZygnaW5zaWRlIGNsaWNrSXRlbSBvZiAnICsgZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgICBsZXQgYXBpT2JqOiBBUElNZXRhID0gSlNPTi5wYXJzZSh0aGlzLmFwaU1ldGEpO1xuICAgIHRoaXMuZmlsdGVyTmFtZSA9IGV2ZW50W2FwaU9iai5maWVsZF07XG4gICAgbGV0IGNoYW5nZSA9IG5ldyBDaGFuZ2VXcmFwcGVyKCk7IC8vIENoYW5nZVdyYXBwZXIgPSBKU09OLnBhcnNlKCd7fScpO1xuICAgIGNoYW5nZS5mcm9tUXVlc3Rpb25JZCA9IHRoaXMuaWQ7XG4gICAgY2hhbmdlLnZhbHVlT2JqID0gZXZlbnQ7XG4gICAgdGhpcy5zZWFyY2hWYWx1ZUNoYW5nZS5lbWl0KGNoYW5nZSk7XG4gIH1cbiAgLypcbiAgcHVibGljIGdldFNvdXJjZURhdGEgPSAoa2V5d29yZDogc3RyaW5nKSA9PiB7XG4gICAgaWYodGhpcy5zZXJ2ID09IFwiYXBpXCIpIHtcbiAgICAgIHRoaXMuZGF0YVNlcnZpY2UuZ2V0QVBJRGF0YShcbiAgICAgICAgdGhpcy50a24sXG4gICAgICAgIFtcIlF1ZXN0aW9uQm9va1wiLCBcInJlYWRcIiwgdXVpZF0sXG4gICAgICAgIHRoaXMuc3VjY2Vzc1NvdXJjZURhdGEsXG4gICAgICAgIHRoaXMuZmFpbHVyZVNvdXJjZURhdGFcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2ZTZXJ2aWNlLnJlbW90ZUFjdGlvbihcbiAgICAgICAgXCJOeHRDb250cm9sbGVyLnByb2Nlc3NcIixcbiAgICAgICAgW1wiUXVlc3Rpb25Cb29rXCIsIFwicmVhZFwiLCB1dWlkXSxcbiAgICAgICAgdGhpcy5zdWNjZXNzU291cmNlRGF0YSxcbiAgICAgICAgdGhpcy5mYWlsdXJlU291cmNlRGF0YVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc3VjY2Vzc1NvdXJjZURhdGEgPSAocmVzcG9uc2UpID0+IHtcbiAgICBsZXQgcmVzdWx0cz1bXTtcbiAgICByZXN1bHRzPXJlc3BvbnNlLnJlc3VsdHM7XG4gICAgcmVzdWx0cy5wdXNoKHt1dWlkOiBudWxsLCBuYW1lOiBcIlwifSk7XG4gICAgdGhpcy5ub1Jlc3VsdCA9ICEocmVzdWx0cy5sZW5ndGggPiAxKTtcbiAgICB0aGlzLmZpbmFsUmVzdWx0cyA9IHJlc3VsdHM7XG4gIH1cblxuICBwdWJsaWMgZmFpbHVyZVNvdXJjZURhdGEgPSAocmVzcG9uc2UpID0+IHtcbiAgICBjb25zb2xlLmxvZyhcIkVycm9yIHJlYWRpbmcgdGhlIGRhdGEgZnJvbSBBUElcIik7XG4gIH1cbiAgKi9cbn1cbiIsIjxkaXYgaWQ9XCJhdXRvY29tcGxldGUtaW5wdXRcIj5cbiAgICA8aW5wdXQgI2F1dG8gaWQ9XCJzZWFyY2hib3gtc3R5bGVcIlxuICAgICAgICAgICAgKGJsdXIpPVwiY2xlYXJMaXN0KClcIiBcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVyTmFtZVwiIFxuICAgICAgICAgICAgdHlwZT1cInRleHRcIiBcbiAgICAgICAgICAgIG5hbWU9XCJuYW1lXCIgXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2VIb2xkZXJUZXh0XCIgXG4gICAgICAgICAgICBzdHlsZT1cIm1hcmdpbjogMCAhaW1wb3J0YW50O1wiIFxuICAgICAgICAgICAgY2xhc3M9XCJzZWFyY2hJbnB1dCBzaGUtbGluZS1pbnB1dCBmb3JtLWNvbnRyb2xcIiBcbiAgICAgICAgICAgIChmb2N1c2luKT1cImdldFNvdXJjZURhdGFMb2NhbCgkZXZlbnQpXCIgXG4gICAgICAgICAgICAoaW5wdXQpPVwiZ2V0U291cmNlRGF0YUxvY2FsKCRldmVudClcIj5cbiAgICA8ZGl2IGlkPVwic2VsZWN0TGlzdFwiIHN0eWxlPVwicG9zaXRpb246IGFic29sdXRlO3Bvc2l0aW9uOiBhYnNvbHV0ZTtiYWNrZ3JvdW5kOiB3aGl0ZTt6LWluZGV4OiAyO1wiPlxuICAgIDxkaXYgKm5nSWY9XCJmaW5hbFJlc3VsdHMubGVuZ3RoID4gMCAmJiBzaG93U3VnZ2VzdGlvblwiIFxuICAgICAgICBzdHlsZT1cIm1heC1oZWlnaHQ6IDEwMHZoO2JvcmRlcjogMXB4IHNvbGlkICNkMmQ0ZDY7b3ZlcmZsb3c6IHNjcm9sbDtcIiBcbiAgICAgICAgY2xhc3M9XCJzdWdnZXN0aW9ucy1jb250YWluZXJcIj5cbiAgICAgICAgPCEtLSBIQSAyMERFQzIzIFVuY29tbWVudGVkIHRoZSBsb2dpYyAtLT5cbiAgICAgICAgIDwhLS0gVkQgMDNNYXktIHNlYXJjaCBjaGFuZ2VzIC0tPlxuICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpdGVtIG9mIGZpbmFsUmVzdWx0c1wiIChjbGljayk9J2NsaWNrSXRlbShpdGVtKScgY2xhc3M9XCJob292ZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkLXggYWxpZ24tbWlkZGxlXCIgc3R5bGU9XCJwYWRkaW5nOiAxcmVtXCIgKm5nSWY9XCJpdGVtLmlkICE9IG51bGxcIj5cbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXRlbS50aHVtYm5haWxcIiBjbGFzcz1cImNlbGwgc2hyaW5rXCIgc3R5bGU9XCJ3aWR0aDogNjBweDsgbWFyZ2luLXJpZ2h0OiAxLjZyZW07XCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJpdGVtLnRodW1ibmFpbFwiIHN0eWxlPVwid2lkdGg6IDYwcHg7XCIgYWx0PVwiXCI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNlbGwgYXV0b1wiIHN0eWxlPVwidGV4dC1hbGlnbjogbGVmdDsgcGFkZGluZy1sZWZ0OiAyMHB4O1wiPlxuICAgICAgICAgICAgICAgICAgICA8aDQgPnt7aXRlbVtTZWFyY2hJdGVtXX19PC9oND5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPCEtLSBIQSAyMERFQzIzIEZvciBDb21tZW50ZWQgdGhpcyBmb3IgZnV0dXJlIHB1cnBvc2UgLS0+XG4gICAgICAgIDwhLS0gPHRhYmxlIGNsYXNzPVwidGFibGUgdGFibGUtc3RyaXBlZCB0YWJsZS1ib3JkZXJlZFwiPlxuICAgICAgICAgICAgPHRoZWFkPlxuICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgPHRoPnt7ICdmaXJzdE5hbWUnIHwgaTE4bjppMThuU2VydmljZS5jdXJyZW50TGFuZ3VhZ2UgfX08L3RoPlxuICAgICAgICAgICAgICAgIDx0aD57eyAnbGFzdE5hbWUnIHwgaTE4bjppMThuU2VydmljZS5jdXJyZW50TGFuZ3VhZ2UgfX08L3RoPlxuICAgICAgICAgICAgICAgIDx0aD57eyAnZGl2aXNpb24nIHwgaTE4bjppMThuU2VydmljZS5jdXJyZW50TGFuZ3VhZ2UgfX08L3RoPlxuICAgICAgICAgICAgICAgIDx0aD57eyAnbnVtYmVyUGxhdGUnIHwgaTE4bjppMThuU2VydmljZS5jdXJyZW50TGFuZ3VhZ2UgfX08L3RoPlxuICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgPC90aGVhZD5cbiAgICAgICAgICAgIDx0Ym9keT5cbiAgICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGZpbmFsUmVzdWx0c1wiIChjbGljayk9J2NsaWNrSXRlbShpdGVtKSc+XG4gICAgICAgICAgICAgICAgPHRkPnt7IGl0ZW0uZmlyc3ROYW1lIH19PC90ZD5cbiAgICAgICAgICAgICAgICA8dGQ+e3sgaXRlbS5sYXN0TmFtZSB9fTwvdGQ+XG4gICAgICAgICAgICAgICAgPHRkPnt7IGl0ZW0uZGl2aXNpb24gfX08L3RkPlxuICAgICAgICAgICAgICAgIDx0ZD57eyBpdGVtLm51bWJlclBsYXRlIH19PC90ZD5cbiAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgICAgPC90YWJsZT4gLS0+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==