@rangertechnologies/ngnxt 2.0.38 → 2.0.40

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.
@@ -13,7 +13,8 @@ import * as i9 from "../../components/custom-text-area/custom-text-area.componen
13
13
  import * as i10 from "../../components/custom-table/custom-table.component";
14
14
  import * as i11 from "../../components/custom-date-picker/custom-date-picker.component";
15
15
  import * as i12 from "../../components/custom-dropdown/custom-dropdown.component";
16
- import * as i13 from "../../components/file-upload/file-upload.component";
16
+ import * as i13 from "../../components/search-box/search-box.component";
17
+ import * as i14 from "../../components/file-upload/file-upload.component";
17
18
  export class QuestionbookComponent {
18
19
  sfService;
19
20
  dataService;
@@ -35,12 +36,17 @@ export class QuestionbookComponent {
35
36
  console.log('inside QuestionBookComponent OnInit');
36
37
  // console.log(this.qbItem);
37
38
  // console.log(this.questions);
39
+ this.questions.forEach(element => {
40
+ var htmlElement = element.Question_Text__c;
41
+ var textOnly = htmlElement?.replace(/<[^>]*>/g, '');
42
+ element.Question_Text__c = textOnly;
43
+ });
38
44
  this.subQuestions = [];
39
45
  this.setSubQuestions(this.questions);
40
46
  }
41
47
  clearSQError(quesId) {
42
48
  // console.log('inside QuestionBookComponent clearSQError');
43
- var sqList = this.subQuestions.filter((item) => item.Id == quesId);
49
+ var sqList = this.subQuestions?.filter((item) => item.Id == quesId);
44
50
  for (var sq of sqList) {
45
51
  sq.error = null;
46
52
  }
@@ -79,11 +85,11 @@ export class QuestionbookComponent {
79
85
  console.log('fileDATA', fileData);
80
86
  }
81
87
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: QuestionbookComponent, deps: [{ token: i1.SalesforceService }, { token: i2.DataService }, { token: i3.ChangeService }, { token: i4.StorageService }], target: i0.ɵɵFactoryTarget.Component });
82
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: QuestionbookComponent, selector: "lib-questionbook", inputs: { qbItem: "qbItem", questionItem: "questionItem", questions: "questions", errorFieldId: "errorFieldId" }, ngImport: i0, template: "<div [class]=\"qbItem.isShengel__c ? 'form-group content-box' : 'form-group'\">\n <div class=\"form-row\">\n <div [class]=\"qbItem.isShengel__c ? '' : 'myt-align3'\"\n [class]=\"qbItem.isShengel__c ? 'col-lg-' + ques.Size__c + ' paddingnone' : 'col-md-' + ques.Size__c + ' paddingnone'\"\n *ngFor=\"let ques of questions;let i = index\" [id]=\"ques.Id\">\n <!-- Sub Question Label -->\n <div [ngClass]=\"{ down2: qbItem?.Progress_Bar__c }\">\n <span [class]=\"qbItem.isShengel__c ? 'dis-flex shengel-myt-font3 myt-font7' : 'dis-flex myt-font3 myt-font7' \">{{ ques?.Question__c }}</span>\n </div>\n\n <!-- DateTime -->\n <div *ngIf=\"ques.Type__c === 'DateTime'\">\n <app-custom-date-picker [minDate]=\"ques.minDate\" [date]=\"ques.input\" (dateChange)=\"childEventCapture($event, ques)\">\n </app-custom-date-picker>\n </div>\n\n <!-- Text -->\n <div *ngIf=\"ques.Type__c === 'Text'\">\n <app-custom-input [fromShengel]=\"qbItem.isShengel__c\" [value]=\"ques.input\" [ngClassValue]=\"{\n 'dis-flex dt-line date-line bookText boxoutline myt-font1': qbItem.Progress_Bar__c,\n textBox: !qbItem.Progress_Bar__c\n }\" [question]=\"ques\" [idValue]=\"ques.Tracking_ID__c\" [focusEvent]=\"clearSQError(ques.Id)\"\n [error]=\"ques.error\" [placeholder]=\"ques.Question__c\" (inputValue)=\"childEventCapture($event, ques)\">\n </app-custom-input>\n </div>\n \n <!-- for pick location -->\n <div *ngIf=\"ques.Type__c === 'Location'\">\n <app-pick-location [address]=\"ques.input\" (locationSelected)=\"childEventCapture($event, ques)\">\n </app-pick-location>\n </div>\n\n <!-- for text area -->\n <div *ngIf=\"ques.Type__c === 'TextArea'\">\n <app-custom-text-area [value]=\"ques.input\" [rows]=\"3\" [error]=\"ques.error\" [placeholder]=\"ques.Question__c \"\n (textareaValueChange)=\"childEventCapture($event, ques)\"></app-custom-text-area>\n </div>\n\n <!-- Email -->\n <div *ngIf=\"ques.Type__c === 'Email'\">\n <input type=\"email\" [(ngModel)]=\"ques.input\" [id]=\"ques.Id\" required=\"\" (focus)=\"clearSQError(ques.Id)\"\n style.border-color=\"{{ ques.error ? 'red' : '' }}\" placeholder=\"{{ ques.Question__c }}\" />\n </div>\n\n <!-- Table -->\n <div *ngIf=\"ques.Type__c === 'Table'\" class=\"\">\n <app-custom-table [question]=\"ques\" (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.Id)\">\n </app-custom-table>\n </div>\n\n <!-- Dropdown -->\n <div *ngIf=\"ques.Type__c === 'Dropdown'\" class=\"\">\n <app-custom-dropdown [fromShengel]=\"qbItem.isShengel__c\" [options]=\"ques.Question_Options__r.records\"\n [apiMeta]=\"ques.Sub_Text__c\" [id]=\"ques.Id\" [selectedValue]=\"ques.selectedValue\" [placeholder]=\"'---Select---'\"\n [errorMessage]=\"ques.Error_Message__c\" [error]=\"ques.error\"\n (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.Id)\">\n </app-custom-dropdown>\n <i class=\"fa fa-check \" aria-hidden=\"true\" *ngIf=\"ques?.input?.length > 0\"></i>\n </div>\n\n <!-- Attachment / Files -->\n <div *ngIf=\"ques.Type__c === 'File'\" class=\"\">\n <app-file-upload [limitFileUploading]=\"5\" [allFiles]=\"ques.input\" \n (selectedFileData)=\"childEventCapture($event, ques)\" (deletedFileData)=\"deleteFile($event)\"\n [isDeleteFileButtonVisible]=\"true\"></app-file-upload>\n </div>\n </div>\n </div>\n</div>", styles: [".form-group.content-box{background:#ffffff;padding:40px;border:1px solid #e8e8e8;border-bottom-left-radius:5px;border-bottom-right-radius:5px}.col-lg-6{width:100%}.shengel-myt-font3{padding:5px 15px 5px 2px;color:#9a9a9a;font-size:14px;font-weight:400}.myt-font7{display:flex;justify-content:flex-start}@media (min-width: 1200px){.col-lg-6{width:50%!important}.form-row{display:flex;flex-wrap:wrap}}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i7.PickLocationComponent, selector: "app-pick-location", inputs: ["address"], outputs: ["locationSelected"] }, { kind: "component", type: i8.CustomInputComponent, selector: "app-custom-input", inputs: ["value", "question", "disabled", "placeholder", "error", "fromShengel", "ngClassValue", "idValue", "focusEvent"], outputs: ["inputValue"] }, { kind: "component", type: i9.CustomTextAreaComponent, selector: "app-custom-text-area", inputs: ["value", "placeholder", "rows", "error"], outputs: ["textareaValueChange"] }, { kind: "component", type: i10.CustomTableComponent, selector: "app-custom-table", inputs: ["question"], outputs: ["valueChange"] }, { kind: "component", type: i11.CustomDatePickerComponent, selector: "app-custom-date-picker", inputs: ["date", "minDate", "maxDate"], outputs: ["dateChange"] }, { kind: "component", type: i12.CustomDropdownComponent, selector: "app-custom-dropdown", inputs: ["options", "placeholder", "apiMeta", "selectedValue", "progressBar", "id", "errorMessage", "error", "fromShengel"], outputs: ["valueChange"] }, { kind: "component", type: i13.FileUploadComponent, selector: "app-file-upload", inputs: ["allFiles", "limitFileUploading", "isDeleteFileButtonVisible", "isShowNoFileIcon"], outputs: ["selectedFileData", "deletedFileData"] }] });
88
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: QuestionbookComponent, selector: "lib-questionbook", inputs: { qbItem: "qbItem", questionItem: "questionItem", questions: "questions", errorFieldId: "errorFieldId" }, ngImport: i0, template: "<div [class]=\"qbItem.isShengel__c ? 'form-group content-box' : 'form-group'\">\n <div class=\"form-row\">\n <div [class]=\"qbItem.isShengel__c ? '' : 'myt-align3'\"\n [class]=\"qbItem.isShengel__c ? 'col-lg-' + ques.Size__c + ' paddingnone' : 'col-md-' + ques.Size__c + ' paddingnone'\"\n *ngFor=\"let ques of questions;let i = index\" [id]=\"ques.Id\">\n <!-- Sub Question Label -->\n <div [ngClass]=\"{ down2: qbItem?.Progress_Bar__c }\">\n <span [class]=\"qbItem.isShengel__c ? 'dis-flex shengel-myt-font3 myt-font7' : 'dis-flex myt-font3 myt-font7' \">{{ ques?.Question_Text__c }}</span>\n </div>\n\n <!-- DateTime -->\n <div *ngIf=\"ques.Type__c === 'DateTime'\">\n <app-custom-date-picker [minDate]=\"ques.minDate\" [date]=\"ques.input\" (dateChange)=\"childEventCapture($event, ques)\">\n </app-custom-date-picker>\n </div>\n\n <!-- Text -->\n <div *ngIf=\"ques.Type__c === 'Text'\">\n <app-custom-input [fromShengel]=\"qbItem.isShengel__c\" [value]=\"ques.input\" [ngClassValue]=\"{\n 'dis-flex dt-line date-line bookText boxoutline myt-font1': qbItem.Progress_Bar__c,\n textBox: !qbItem.Progress_Bar__c\n }\" [question]=\"ques\" [idValue]=\"ques.Tracking_ID__c\" [focusEvent]=\"clearSQError(ques.Id)\"\n [error]=\"ques.error\" [placeholder]=\"ques.Question__c\" (inputValue)=\"childEventCapture($event, ques)\">\n </app-custom-input>\n </div>\n \n <!-- for pick location -->\n <div *ngIf=\"ques.Type__c === 'Location'\">\n <app-pick-location [address]=\"ques.input\" (locationSelected)=\"childEventCapture($event, ques)\">\n </app-pick-location>\n </div>\n\n <!-- for text area -->\n <div *ngIf=\"ques.Type__c === 'TextArea'\">\n <app-custom-text-area [value]=\"ques.input\" [rows]=\"3\" [error]=\"ques.error\" [placeholder]=\"ques.Question__c \"\n (textareaValueChange)=\"childEventCapture($event, ques)\"></app-custom-text-area>\n </div>\n\n <!-- Email -->\n <div *ngIf=\"ques.Type__c === 'Email'\">\n <input type=\"email\" [(ngModel)]=\"ques.input\" [id]=\"ques.Id\" required=\"\" (focus)=\"clearSQError(ques.Id)\"\n style.border-color=\"{{ ques.error ? 'red' : '' }}\" placeholder=\"{{ ques.Question__c }}\" />\n </div>\n\n <!-- Table -->\n <div *ngIf=\"ques.Type__c === 'Table'\" class=\"\">\n <app-custom-table [question]=\"ques\" (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.Id)\">\n </app-custom-table>\n </div>\n\n <!-- list -->\n <div *ngIf=\"ques.Type__c === 'List'\" class=\"\">\n <lib-search-box [question]=\"ques\" [apiMeta]=\"ques.Sub_Text__c\" [id]=\"ques.Id\" [placeHolderText]=\"ques.Question__c\" [selectedValue]=\"ques.input\" (searchValueChange)=\"childEventCapture($event, ques)\">\n </lib-search-box>\n </div>\n\n <!-- Dropdown -->\n <div *ngIf=\"ques.Type__c === 'Dropdown'\" class=\"\">\n <app-custom-dropdown [fromShengel]=\"qbItem.isShengel__c\" [options]=\"ques.Question_Options__r.records\"\n [apiMeta]=\"ques.Sub_Text__c\" [id]=\"ques.Id\" [selectedValue]=\"ques.selectedValue\" [placeholder]=\"'---Select---'\"\n [errorMessage]=\"ques.Error_Message__c\" [error]=\"ques.error\"\n (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.Id)\">\n </app-custom-dropdown>\n <i class=\"fa fa-check \" aria-hidden=\"true\" *ngIf=\"ques?.input?.length > 0\"></i>\n </div>\n\n <!-- Attachment / Files -->\n <div *ngIf=\"ques.Type__c === 'File'\" class=\"\">\n <app-file-upload [limitFileUploading]=\"5\" [allFiles]=\"ques.input\" \n (selectedFileData)=\"childEventCapture($event, ques)\" (deletedFileData)=\"deleteFile($event)\"\n [isDeleteFileButtonVisible]=\"true\"></app-file-upload>\n </div>\n </div>\n </div>\n</div>", styles: [".form-group.content-box{background:#ffffff;padding:40px;border:1px solid #e8e8e8;border-bottom-left-radius:5px;border-bottom-right-radius:5px}.col-lg-6{width:100%}.shengel-myt-font3{padding:5px 15px 5px 2px;color:#9a9a9a;font-size:14px;font-weight:400}.myt-font7{display:flex;justify-content:flex-start}@media (min-width: 1200px){.col-lg-6{width:50%!important}.form-row{display:flex;flex-wrap:wrap}}.dis-flex.shengel-myt-font3.myt-font7{color:#434555!important;font-style:normal!important;font-weight:600!important;font-size:13px!important}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i7.PickLocationComponent, selector: "app-pick-location", inputs: ["address"], outputs: ["locationSelected"] }, { kind: "component", type: i8.CustomInputComponent, selector: "app-custom-input", inputs: ["value", "question", "disabled", "placeholder", "error", "fromShengel", "ngClassValue", "idValue", "focusEvent"], outputs: ["inputValue"] }, { kind: "component", type: i9.CustomTextAreaComponent, selector: "app-custom-text-area", inputs: ["value", "placeholder", "rows", "error"], outputs: ["textareaValueChange"] }, { kind: "component", type: i10.CustomTableComponent, selector: "app-custom-table", inputs: ["question"], outputs: ["valueChange"] }, { kind: "component", type: i11.CustomDatePickerComponent, selector: "app-custom-date-picker", inputs: ["date", "minDate", "maxDate"], outputs: ["dateChange"] }, { kind: "component", type: i12.CustomDropdownComponent, selector: "app-custom-dropdown", inputs: ["options", "placeholder", "apiMeta", "selectedValue", "progressBar", "id", "errorMessage", "error", "fromShengel"], outputs: ["valueChange"] }, { kind: "component", type: i13.SearchBoxComponent, selector: "lib-search-box", inputs: ["placeHolderText", "question", "apiMeta", "id"], outputs: ["searchValueChange"] }, { kind: "component", type: i14.FileUploadComponent, selector: "app-file-upload", inputs: ["allFiles", "limitFileUploading", "isDeleteFileButtonVisible", "isShowNoFileIcon"], outputs: ["selectedFileData", "deletedFileData"] }] });
83
89
  }
84
90
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: QuestionbookComponent, decorators: [{
85
91
  type: Component,
86
- args: [{ selector: 'lib-questionbook', template: "<div [class]=\"qbItem.isShengel__c ? 'form-group content-box' : 'form-group'\">\n <div class=\"form-row\">\n <div [class]=\"qbItem.isShengel__c ? '' : 'myt-align3'\"\n [class]=\"qbItem.isShengel__c ? 'col-lg-' + ques.Size__c + ' paddingnone' : 'col-md-' + ques.Size__c + ' paddingnone'\"\n *ngFor=\"let ques of questions;let i = index\" [id]=\"ques.Id\">\n <!-- Sub Question Label -->\n <div [ngClass]=\"{ down2: qbItem?.Progress_Bar__c }\">\n <span [class]=\"qbItem.isShengel__c ? 'dis-flex shengel-myt-font3 myt-font7' : 'dis-flex myt-font3 myt-font7' \">{{ ques?.Question__c }}</span>\n </div>\n\n <!-- DateTime -->\n <div *ngIf=\"ques.Type__c === 'DateTime'\">\n <app-custom-date-picker [minDate]=\"ques.minDate\" [date]=\"ques.input\" (dateChange)=\"childEventCapture($event, ques)\">\n </app-custom-date-picker>\n </div>\n\n <!-- Text -->\n <div *ngIf=\"ques.Type__c === 'Text'\">\n <app-custom-input [fromShengel]=\"qbItem.isShengel__c\" [value]=\"ques.input\" [ngClassValue]=\"{\n 'dis-flex dt-line date-line bookText boxoutline myt-font1': qbItem.Progress_Bar__c,\n textBox: !qbItem.Progress_Bar__c\n }\" [question]=\"ques\" [idValue]=\"ques.Tracking_ID__c\" [focusEvent]=\"clearSQError(ques.Id)\"\n [error]=\"ques.error\" [placeholder]=\"ques.Question__c\" (inputValue)=\"childEventCapture($event, ques)\">\n </app-custom-input>\n </div>\n \n <!-- for pick location -->\n <div *ngIf=\"ques.Type__c === 'Location'\">\n <app-pick-location [address]=\"ques.input\" (locationSelected)=\"childEventCapture($event, ques)\">\n </app-pick-location>\n </div>\n\n <!-- for text area -->\n <div *ngIf=\"ques.Type__c === 'TextArea'\">\n <app-custom-text-area [value]=\"ques.input\" [rows]=\"3\" [error]=\"ques.error\" [placeholder]=\"ques.Question__c \"\n (textareaValueChange)=\"childEventCapture($event, ques)\"></app-custom-text-area>\n </div>\n\n <!-- Email -->\n <div *ngIf=\"ques.Type__c === 'Email'\">\n <input type=\"email\" [(ngModel)]=\"ques.input\" [id]=\"ques.Id\" required=\"\" (focus)=\"clearSQError(ques.Id)\"\n style.border-color=\"{{ ques.error ? 'red' : '' }}\" placeholder=\"{{ ques.Question__c }}\" />\n </div>\n\n <!-- Table -->\n <div *ngIf=\"ques.Type__c === 'Table'\" class=\"\">\n <app-custom-table [question]=\"ques\" (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.Id)\">\n </app-custom-table>\n </div>\n\n <!-- Dropdown -->\n <div *ngIf=\"ques.Type__c === 'Dropdown'\" class=\"\">\n <app-custom-dropdown [fromShengel]=\"qbItem.isShengel__c\" [options]=\"ques.Question_Options__r.records\"\n [apiMeta]=\"ques.Sub_Text__c\" [id]=\"ques.Id\" [selectedValue]=\"ques.selectedValue\" [placeholder]=\"'---Select---'\"\n [errorMessage]=\"ques.Error_Message__c\" [error]=\"ques.error\"\n (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.Id)\">\n </app-custom-dropdown>\n <i class=\"fa fa-check \" aria-hidden=\"true\" *ngIf=\"ques?.input?.length > 0\"></i>\n </div>\n\n <!-- Attachment / Files -->\n <div *ngIf=\"ques.Type__c === 'File'\" class=\"\">\n <app-file-upload [limitFileUploading]=\"5\" [allFiles]=\"ques.input\" \n (selectedFileData)=\"childEventCapture($event, ques)\" (deletedFileData)=\"deleteFile($event)\"\n [isDeleteFileButtonVisible]=\"true\"></app-file-upload>\n </div>\n </div>\n </div>\n</div>", styles: [".form-group.content-box{background:#ffffff;padding:40px;border:1px solid #e8e8e8;border-bottom-left-radius:5px;border-bottom-right-radius:5px}.col-lg-6{width:100%}.shengel-myt-font3{padding:5px 15px 5px 2px;color:#9a9a9a;font-size:14px;font-weight:400}.myt-font7{display:flex;justify-content:flex-start}@media (min-width: 1200px){.col-lg-6{width:50%!important}.form-row{display:flex;flex-wrap:wrap}}\n"] }]
92
+ args: [{ selector: 'lib-questionbook', template: "<div [class]=\"qbItem.isShengel__c ? 'form-group content-box' : 'form-group'\">\n <div class=\"form-row\">\n <div [class]=\"qbItem.isShengel__c ? '' : 'myt-align3'\"\n [class]=\"qbItem.isShengel__c ? 'col-lg-' + ques.Size__c + ' paddingnone' : 'col-md-' + ques.Size__c + ' paddingnone'\"\n *ngFor=\"let ques of questions;let i = index\" [id]=\"ques.Id\">\n <!-- Sub Question Label -->\n <div [ngClass]=\"{ down2: qbItem?.Progress_Bar__c }\">\n <span [class]=\"qbItem.isShengel__c ? 'dis-flex shengel-myt-font3 myt-font7' : 'dis-flex myt-font3 myt-font7' \">{{ ques?.Question_Text__c }}</span>\n </div>\n\n <!-- DateTime -->\n <div *ngIf=\"ques.Type__c === 'DateTime'\">\n <app-custom-date-picker [minDate]=\"ques.minDate\" [date]=\"ques.input\" (dateChange)=\"childEventCapture($event, ques)\">\n </app-custom-date-picker>\n </div>\n\n <!-- Text -->\n <div *ngIf=\"ques.Type__c === 'Text'\">\n <app-custom-input [fromShengel]=\"qbItem.isShengel__c\" [value]=\"ques.input\" [ngClassValue]=\"{\n 'dis-flex dt-line date-line bookText boxoutline myt-font1': qbItem.Progress_Bar__c,\n textBox: !qbItem.Progress_Bar__c\n }\" [question]=\"ques\" [idValue]=\"ques.Tracking_ID__c\" [focusEvent]=\"clearSQError(ques.Id)\"\n [error]=\"ques.error\" [placeholder]=\"ques.Question__c\" (inputValue)=\"childEventCapture($event, ques)\">\n </app-custom-input>\n </div>\n \n <!-- for pick location -->\n <div *ngIf=\"ques.Type__c === 'Location'\">\n <app-pick-location [address]=\"ques.input\" (locationSelected)=\"childEventCapture($event, ques)\">\n </app-pick-location>\n </div>\n\n <!-- for text area -->\n <div *ngIf=\"ques.Type__c === 'TextArea'\">\n <app-custom-text-area [value]=\"ques.input\" [rows]=\"3\" [error]=\"ques.error\" [placeholder]=\"ques.Question__c \"\n (textareaValueChange)=\"childEventCapture($event, ques)\"></app-custom-text-area>\n </div>\n\n <!-- Email -->\n <div *ngIf=\"ques.Type__c === 'Email'\">\n <input type=\"email\" [(ngModel)]=\"ques.input\" [id]=\"ques.Id\" required=\"\" (focus)=\"clearSQError(ques.Id)\"\n style.border-color=\"{{ ques.error ? 'red' : '' }}\" placeholder=\"{{ ques.Question__c }}\" />\n </div>\n\n <!-- Table -->\n <div *ngIf=\"ques.Type__c === 'Table'\" class=\"\">\n <app-custom-table [question]=\"ques\" (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.Id)\">\n </app-custom-table>\n </div>\n\n <!-- list -->\n <div *ngIf=\"ques.Type__c === 'List'\" class=\"\">\n <lib-search-box [question]=\"ques\" [apiMeta]=\"ques.Sub_Text__c\" [id]=\"ques.Id\" [placeHolderText]=\"ques.Question__c\" [selectedValue]=\"ques.input\" (searchValueChange)=\"childEventCapture($event, ques)\">\n </lib-search-box>\n </div>\n\n <!-- Dropdown -->\n <div *ngIf=\"ques.Type__c === 'Dropdown'\" class=\"\">\n <app-custom-dropdown [fromShengel]=\"qbItem.isShengel__c\" [options]=\"ques.Question_Options__r.records\"\n [apiMeta]=\"ques.Sub_Text__c\" [id]=\"ques.Id\" [selectedValue]=\"ques.selectedValue\" [placeholder]=\"'---Select---'\"\n [errorMessage]=\"ques.Error_Message__c\" [error]=\"ques.error\"\n (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.Id)\">\n </app-custom-dropdown>\n <i class=\"fa fa-check \" aria-hidden=\"true\" *ngIf=\"ques?.input?.length > 0\"></i>\n </div>\n\n <!-- Attachment / Files -->\n <div *ngIf=\"ques.Type__c === 'File'\" class=\"\">\n <app-file-upload [limitFileUploading]=\"5\" [allFiles]=\"ques.input\" \n (selectedFileData)=\"childEventCapture($event, ques)\" (deletedFileData)=\"deleteFile($event)\"\n [isDeleteFileButtonVisible]=\"true\"></app-file-upload>\n </div>\n </div>\n </div>\n</div>", styles: [".form-group.content-box{background:#ffffff;padding:40px;border:1px solid #e8e8e8;border-bottom-left-radius:5px;border-bottom-right-radius:5px}.col-lg-6{width:100%}.shengel-myt-font3{padding:5px 15px 5px 2px;color:#9a9a9a;font-size:14px;font-weight:400}.myt-font7{display:flex;justify-content:flex-start}@media (min-width: 1200px){.col-lg-6{width:50%!important}.form-row{display:flex;flex-wrap:wrap}}.dis-flex.shengel-myt-font3.myt-font7{color:#434555!important;font-style:normal!important;font-weight:600!important;font-size:13px!important}\n"] }]
87
93
  }], ctorParameters: function () { return [{ type: i1.SalesforceService }, { type: i2.DataService }, { type: i3.ChangeService }, { type: i4.StorageService }]; }, propDecorators: { qbItem: [{
88
94
  type: Input
89
95
  }], questionItem: [{
@@ -93,4 +99,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
93
99
  }], errorFieldId: [{
94
100
  type: Input
95
101
  }] } });
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb25ib29rLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL254dC1hcHAvc3JjL2xpYi9wYWdlcy9xdWVzdGlvbmJvb2svcXVlc3Rpb25ib29rLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL254dC1hcHAvc3JjL2xpYi9wYWdlcy9xdWVzdGlvbmJvb2svcXVlc3Rpb25ib29rLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxHQUF5QixNQUFNLGVBQWUsQ0FBQztBQU9oRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQU94RCxNQUFNLE9BQU8scUJBQXFCO0lBVVo7SUFDVjtJQUNBO0lBQ0E7SUFaRCxNQUFNLENBQWU7SUFDckIsWUFBWSxDQUFXO0lBQ3ZCLFNBQVMsQ0FBYTtJQUV0QixZQUFZLENBQUs7SUFFMUIsWUFBWSxDQUFhO0lBQ3pCLGdCQUFnQixHQUFVLEVBQUUsQ0FBQztJQUU3QixZQUFvQixTQUE0QixFQUN0QyxXQUF3QixFQUN4QixhQUE0QixFQUM1QixjQUE4QjtRQUhwQixjQUFTLEdBQVQsU0FBUyxDQUFtQjtRQUN0QyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7SUFFeEMsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLENBQUMsR0FBRyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7UUFDbkQsNEJBQTRCO1FBQzVCLCtCQUErQjtRQUMvQixJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsWUFBWSxDQUFDLE1BQU07UUFDakIsNERBQTREO1FBQzVELElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLE1BQU0sQ0FBQyxDQUFDO1FBQ25FLEtBQUssSUFBSSxFQUFFLElBQUksTUFBTSxFQUFFO1lBQ3JCLEVBQUUsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1NBQ2pCO0lBQ0gsQ0FBQztJQUVELGVBQWUsQ0FBQyxPQUFPO1FBQ3JCLE9BQU8sQ0FBQyxHQUFHLENBQUMsOENBQThDLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsa0NBQWtDO0lBQ2xDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxJQUFTO1FBQ2pDLGlFQUFpRTtRQUNoRSxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLGdGQUFnRjtRQUNoRixJQUFHLElBQUksQ0FBQyxPQUFPLElBQUksVUFBVSxFQUFFO1lBQzdCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUN2RCxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7U0FDbEU7YUFBSyxJQUFHLElBQUksQ0FBQyxPQUFPLElBQUksTUFBTSxFQUFDO1lBQzlCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztTQUM1QzthQUFJO1lBQ0gsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7U0FDcEI7UUFDRCwyQkFBMkI7UUFDM0IsSUFBRyxJQUFJLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFDO1lBQ3RDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxZQUFZLENBQUE7U0FDOUI7YUFBSTtZQUNILElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1NBQ25CO1FBQ0QsNkZBQTZGO1FBQzdGLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFDRCxVQUFVLENBQUMsUUFBWTtRQUNyQixPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBQyxRQUFRLENBQUMsQ0FBQTtJQUNsQyxDQUFDO3dHQS9EVSxxQkFBcUI7NEZBQXJCLHFCQUFxQiwwS0NkbEMsMDlIQW9FTTs7NEZEdERPLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxrQkFBa0I7MkxBS25CLE1BQU07c0JBQWQsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBRdWVzdGlvbiwgUXVlc3Rpb25Cb29rIH0gZnJvbSAnLi4vLi4vd3JhcHBlcic7XG5pbXBvcnQgeyBTYWxlc2ZvcmNlU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9zYWxlc2ZvcmNlLnNlcnZpY2VcIjtcbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGF0YS5zZXJ2aWNlJztcbmltcG9ydCB7IENoYW5nZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jaGFuZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3N0b3JhZ2Uuc2VydmljZSc7XG5pbXBvcnQgKiBhcyBtb21lbnQgZnJvbSAnbW9tZW50JztcbmltcG9ydCB7IEVycm9yV3JhcHBlciB9IGZyb20gJy4uLy4uL21vZGVsL2Vycm9yV3JhcHBlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1xdWVzdGlvbmJvb2snLFxuICB0ZW1wbGF0ZVVybDogJy4vcXVlc3Rpb25ib29rLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcXVlc3Rpb25ib29rLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBRdWVzdGlvbmJvb2tDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBxYkl0ZW06IFF1ZXN0aW9uQm9vaztcbiAgQElucHV0KCkgcXVlc3Rpb25JdGVtOiBRdWVzdGlvbjtcbiAgQElucHV0KCkgcXVlc3Rpb25zOiBRdWVzdGlvbltdO1xuXG4gIEBJbnB1dCgpIGVycm9yRmllbGRJZDphbnk7XG4gIFxuICBzdWJRdWVzdGlvbnM6IFF1ZXN0aW9uW107XG4gIHNlbGVjdGVkRmlsZURhdGE6IGFueVtdID0gW107XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzZlNlcnZpY2U6IFNhbGVzZm9yY2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2hhbmdlU2VydmljZTogQ2hhbmdlU2VydmljZSwgXG4gICAgcHJpdmF0ZSBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2UpIHsgXG4gICAgICBcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGNvbnNvbGUubG9nKCdpbnNpZGUgUXVlc3Rpb25Cb29rQ29tcG9uZW50IE9uSW5pdCcpO1xuICAgIC8vIGNvbnNvbGUubG9nKHRoaXMucWJJdGVtKTtcbiAgICAvLyBjb25zb2xlLmxvZyh0aGlzLnF1ZXN0aW9ucyk7XG4gICAgdGhpcy5zdWJRdWVzdGlvbnMgPSBbXTtcbiAgICB0aGlzLnNldFN1YlF1ZXN0aW9ucyh0aGlzLnF1ZXN0aW9ucyk7XG4gIH1cblxuICBjbGVhclNRRXJyb3IocXVlc0lkKSB7XG4gICAgLy8gY29uc29sZS5sb2coJ2luc2lkZSBRdWVzdGlvbkJvb2tDb21wb25lbnQgY2xlYXJTUUVycm9yJyk7XG4gICAgdmFyIHNxTGlzdCA9IHRoaXMuc3ViUXVlc3Rpb25zLmZpbHRlcigoaXRlbSkgPT4gaXRlbS5JZCA9PSBxdWVzSWQpO1xuICAgIGZvciAodmFyIHNxIG9mIHNxTGlzdCkge1xuICAgICAgc3EuZXJyb3IgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHNldFN1YlF1ZXN0aW9ucyhyZWNvcmRzKSB7XG4gICAgY29uc29sZS5sb2coJ2luc2lkZSBRdWVzdGlvbmJvb2tDb21wb25lbnQgc2V0U3ViUXVlc3Rpb25zJyk7XG4gICAgdGhpcy5zdWJRdWVzdGlvbnMucHVzaChyZWNvcmRzKTtcbiAgfVxuXG4gIC8vIENhcHR1cmUgYW5kIFByb2Nlc3MgQ2hpbGQgRXZlbnRcbiAgY2hpbGRFdmVudENhcHR1cmUoZXZlbnQsIHF1ZXM/OmFueSkge1xuICAgLy8gY29uc29sZS5sb2coJ2luc2lkZSBRdWVzdGlvbmJvb2tDb21wb25lbnQgY2hpbGRFdmVudENhcHR1cmUnKTtcbiAgICBjb25zb2xlLmxvZyhldmVudCk7XG4gICAgdGhpcy5jaGFuZ2VTZXJ2aWNlLmFubm91bmNlQ2hhbmdlKGV2ZW50KTtcbiAgICAvLyBQcm9jZXNzIHRoZSBjaGFuZ2VzIGluIFRhYmxlIGFuZCBEcm9wZG93biBhbmQgc3RvcmUgcmlnaHQgdmFsdWUgaW4gcXVlcy5pbnB1dFxuICAgIGlmKHF1ZXMuVHlwZV9fYyA9PSAnRHJvcGRvd24nKSB7XG4gICAgICBxdWVzLmlucHV0ID0gZXZlbnQudmFsdWVPYmogPyBldmVudC52YWx1ZU9iai5pZCA6IG51bGw7XG4gICAgICBxdWVzLnNlbGVjdGVkVmFsdWUgPSBldmVudC52YWx1ZU9iaiA/IGV2ZW50LnZhbHVlT2JqLm5hbWUgOiBudWxsO1xuICAgIH1lbHNlIGlmKHF1ZXMuVHlwZV9fYyA9PSAnRmlsZScpeyBcbiAgICAgIHF1ZXMuaW5wdXQgPSB0aGlzLnNlbGVjdGVkRmlsZURhdGEgPSBldmVudDtcbiAgICB9ZWxzZXtcbiAgICAgIHF1ZXMuaW5wdXQgPSBldmVudDtcbiAgICB9XG4gICAgLy8gdmFsaWRhdGluZyBlcnJvciBtZXNzYWdlXG4gICAgaWYocXVlcy5FcnJvcl9NZXNzYWdlX19jICYmICFxdWVzLmlucHV0KXtcbiAgICAgIHF1ZXMuZXJyb3IgPSBuZXcgRXJyb3JXcmFwcGVyXG4gICAgfWVsc2V7XG4gICAgICBxdWVzLmVycm9yID0gbnVsbDsgIFxuICAgIH1cbiAgICAvLyBPbmNlIHRoZSByaWdodCB2YWx1ZSBpcyBzdG9yZWQgaW4gcXVlcy5pbnB1dCBzdG9yZSB0aGUgcXVlcyAod2l0aCBpbnB1dCkgaW4gc3RvcmFnZVNlcnZpY2VcbiAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnVwZGF0ZShxdWVzKTtcbiAgfVxuICBkZWxldGVGaWxlKGZpbGVEYXRhOmFueSl7XG4gICAgY29uc29sZS5sb2coJ2ZpbGVEQVRBJyxmaWxlRGF0YSlcbiAgfVxufVxuIiwiPGRpdiBbY2xhc3NdPVwicWJJdGVtLmlzU2hlbmdlbF9fYyA/ICdmb3JtLWdyb3VwIGNvbnRlbnQtYm94JyA6ICdmb3JtLWdyb3VwJ1wiPlxuICAgIDxkaXYgY2xhc3M9XCJmb3JtLXJvd1wiPlxuICAgICAgICA8ZGl2IFtjbGFzc109XCJxYkl0ZW0uaXNTaGVuZ2VsX19jID8gJycgOiAnbXl0LWFsaWduMydcIlxuICAgICAgICAgICAgW2NsYXNzXT1cInFiSXRlbS5pc1NoZW5nZWxfX2MgPyAnY29sLWxnLScgKyBxdWVzLlNpemVfX2MgKyAnIHBhZGRpbmdub25lJyA6ICdjb2wtbWQtJyArIHF1ZXMuU2l6ZV9fYyArICcgcGFkZGluZ25vbmUnXCJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBxdWVzIG9mIHF1ZXN0aW9ucztsZXQgaSA9IGluZGV4XCIgW2lkXT1cInF1ZXMuSWRcIj5cbiAgICAgICAgICAgIDwhLS0gU3ViIFF1ZXN0aW9uIExhYmVsIC0tPlxuICAgICAgICAgICAgPGRpdiBbbmdDbGFzc109XCJ7IGRvd24yOiBxYkl0ZW0/LlByb2dyZXNzX0Jhcl9fYyB9XCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gW2NsYXNzXT1cInFiSXRlbS5pc1NoZW5nZWxfX2MgPyAnZGlzLWZsZXggc2hlbmdlbC1teXQtZm9udDMgbXl0LWZvbnQ3JyAgOiAnZGlzLWZsZXggbXl0LWZvbnQzIG15dC1mb250NycgXCI+e3sgcXVlcz8uUXVlc3Rpb25fX2MgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPCEtLSBEYXRlVGltZSAtLT5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJxdWVzLlR5cGVfX2MgPT09ICdEYXRlVGltZSdcIj5cbiAgICAgICAgICAgICAgICA8YXBwLWN1c3RvbS1kYXRlLXBpY2tlciBbbWluRGF0ZV09XCJxdWVzLm1pbkRhdGVcIiBbZGF0ZV09XCJxdWVzLmlucHV0XCIgKGRhdGVDaGFuZ2UpPVwiY2hpbGRFdmVudENhcHR1cmUoJGV2ZW50LCBxdWVzKVwiPlxuICAgICAgICAgICAgICAgIDwvYXBwLWN1c3RvbS1kYXRlLXBpY2tlcj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8IS0tIFRleHQgLS0+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwicXVlcy5UeXBlX19jID09PSAnVGV4dCdcIj5cbiAgICAgICAgICAgICAgICA8YXBwLWN1c3RvbS1pbnB1dCBbZnJvbVNoZW5nZWxdPVwicWJJdGVtLmlzU2hlbmdlbF9fY1wiIFt2YWx1ZV09XCJxdWVzLmlucHV0XCIgW25nQ2xhc3NWYWx1ZV09XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAnZGlzLWZsZXggZHQtbGluZSBkYXRlLWxpbmUgYm9va1RleHQgYm94b3V0bGluZSBteXQtZm9udDEnOiBxYkl0ZW0uUHJvZ3Jlc3NfQmFyX19jLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dEJveDogIXFiSXRlbS5Qcm9ncmVzc19CYXJfX2NcbiAgICAgICAgICAgICAgICAgICAgfVwiIFtxdWVzdGlvbl09XCJxdWVzXCIgW2lkVmFsdWVdPVwicXVlcy5UcmFja2luZ19JRF9fY1wiIFtmb2N1c0V2ZW50XT1cImNsZWFyU1FFcnJvcihxdWVzLklkKVwiXG4gICAgICAgICAgICAgICAgICAgIFtlcnJvcl09XCJxdWVzLmVycm9yXCIgW3BsYWNlaG9sZGVyXT1cInF1ZXMuUXVlc3Rpb25fX2NcIiAoaW5wdXRWYWx1ZSk9XCJjaGlsZEV2ZW50Q2FwdHVyZSgkZXZlbnQsIHF1ZXMpXCI+XG4gICAgICAgICAgICAgICAgPC9hcHAtY3VzdG9tLWlucHV0PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIDwhLS0gZm9yIHBpY2sgbG9jYXRpb24gLS0+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwicXVlcy5UeXBlX19jID09PSAnTG9jYXRpb24nXCI+XG4gICAgICAgICAgICAgICAgPGFwcC1waWNrLWxvY2F0aW9uIFthZGRyZXNzXT1cInF1ZXMuaW5wdXRcIiAobG9jYXRpb25TZWxlY3RlZCk9XCJjaGlsZEV2ZW50Q2FwdHVyZSgkZXZlbnQsIHF1ZXMpXCI+XG4gICAgICAgICAgICAgICAgPC9hcHAtcGljay1sb2NhdGlvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8IS0tIGZvciAgdGV4dCBhcmVhICAgLS0+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwicXVlcy5UeXBlX19jID09PSAnVGV4dEFyZWEnXCI+XG4gICAgICAgICAgICAgICAgPGFwcC1jdXN0b20tdGV4dC1hcmVhIFt2YWx1ZV09XCJxdWVzLmlucHV0XCIgW3Jvd3NdPVwiM1wiIFtlcnJvcl09XCJxdWVzLmVycm9yXCIgW3BsYWNlaG9sZGVyXT1cInF1ZXMuUXVlc3Rpb25fX2MgXCJcbiAgICAgICAgICAgICAgICAgICAgKHRleHRhcmVhVmFsdWVDaGFuZ2UpPVwiY2hpbGRFdmVudENhcHR1cmUoJGV2ZW50LCBxdWVzKVwiPjwvYXBwLWN1c3RvbS10ZXh0LWFyZWE+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPCEtLSBFbWFpbCAtLT5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJxdWVzLlR5cGVfX2MgPT09ICdFbWFpbCdcIj5cbiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImVtYWlsXCIgWyhuZ01vZGVsKV09XCJxdWVzLmlucHV0XCIgW2lkXT1cInF1ZXMuSWRcIiByZXF1aXJlZD1cIlwiIChmb2N1cyk9XCJjbGVhclNRRXJyb3IocXVlcy5JZClcIlxuICAgICAgICAgICAgICAgICAgICBzdHlsZS5ib3JkZXItY29sb3I9XCJ7eyBxdWVzLmVycm9yID8gJ3JlZCcgOiAnJyB9fVwiIHBsYWNlaG9sZGVyPVwie3sgcXVlcy5RdWVzdGlvbl9fYyB9fVwiIC8+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPCEtLSBUYWJsZSAtLT5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJxdWVzLlR5cGVfX2MgPT09ICdUYWJsZSdcIiBjbGFzcz1cIlwiPlxuICAgICAgICAgICAgICAgIDxhcHAtY3VzdG9tLXRhYmxlIFtxdWVzdGlvbl09XCJxdWVzXCIgKHZhbHVlQ2hhbmdlKT1cImNoaWxkRXZlbnRDYXB0dXJlKCRldmVudCwgcXVlcyk7IGNsZWFyU1FFcnJvcihxdWVzLklkKVwiPlxuICAgICAgICAgICAgICAgIDwvYXBwLWN1c3RvbS10YWJsZT5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8IS0tIERyb3Bkb3duIC0tPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInF1ZXMuVHlwZV9fYyA9PT0gJ0Ryb3Bkb3duJ1wiIGNsYXNzPVwiXCI+XG4gICAgICAgICAgICAgICAgPGFwcC1jdXN0b20tZHJvcGRvd24gW2Zyb21TaGVuZ2VsXT1cInFiSXRlbS5pc1NoZW5nZWxfX2NcIiBbb3B0aW9uc109XCJxdWVzLlF1ZXN0aW9uX09wdGlvbnNfX3IucmVjb3Jkc1wiXG4gICAgICAgICAgICAgICAgICAgIFthcGlNZXRhXT1cInF1ZXMuU3ViX1RleHRfX2NcIiBbaWRdPVwicXVlcy5JZFwiIFtzZWxlY3RlZFZhbHVlXT1cInF1ZXMuc2VsZWN0ZWRWYWx1ZVwiIFtwbGFjZWhvbGRlcl09XCInLS0tU2VsZWN0LS0tJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtlcnJvck1lc3NhZ2VdPVwicXVlcy5FcnJvcl9NZXNzYWdlX19jXCIgW2Vycm9yXT1cInF1ZXMuZXJyb3JcIlxuICAgICAgICAgICAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwiY2hpbGRFdmVudENhcHR1cmUoJGV2ZW50LCBxdWVzKTsgY2xlYXJTUUVycm9yKHF1ZXMuSWQpXCI+XG4gICAgICAgICAgICAgICAgPC9hcHAtY3VzdG9tLWRyb3Bkb3duPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtY2hlY2sgXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgKm5nSWY9XCJxdWVzPy5pbnB1dD8ubGVuZ3RoID4gMFwiPjwvaT5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8IS0tIEF0dGFjaG1lbnQgLyBGaWxlcyAtLT5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJxdWVzLlR5cGVfX2MgPT09ICdGaWxlJ1wiIGNsYXNzPVwiXCI+XG4gICAgICAgICAgICAgICAgPGFwcC1maWxlLXVwbG9hZCBbbGltaXRGaWxlVXBsb2FkaW5nXT1cIjVcIiBbYWxsRmlsZXNdPVwicXVlcy5pbnB1dFwiIFxuICAgICAgICAgICAgICAgIChzZWxlY3RlZEZpbGVEYXRhKT1cImNoaWxkRXZlbnRDYXB0dXJlKCRldmVudCwgcXVlcylcIiAoZGVsZXRlZEZpbGVEYXRhKT1cImRlbGV0ZUZpbGUoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgW2lzRGVsZXRlRmlsZUJ1dHRvblZpc2libGVdPVwidHJ1ZVwiPjwvYXBwLWZpbGUtdXBsb2FkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+Il19
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb25ib29rLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL254dC1hcHAvc3JjL2xpYi9wYWdlcy9xdWVzdGlvbmJvb2svcXVlc3Rpb25ib29rLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL254dC1hcHAvc3JjL2xpYi9wYWdlcy9xdWVzdGlvbmJvb2svcXVlc3Rpb25ib29rLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxHQUF5QixNQUFNLGVBQWUsQ0FBQztBQU9oRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFPeEQsTUFBTSxPQUFPLHFCQUFxQjtJQVVaO0lBQ1Y7SUFDQTtJQUNBO0lBWkQsTUFBTSxDQUFlO0lBQ3JCLFlBQVksQ0FBVztJQUN2QixTQUFTLENBQWE7SUFFdEIsWUFBWSxDQUFLO0lBRTFCLFlBQVksQ0FBYTtJQUN6QixnQkFBZ0IsR0FBVSxFQUFFLENBQUM7SUFFN0IsWUFBb0IsU0FBNEIsRUFDdEMsV0FBd0IsRUFDeEIsYUFBNEIsRUFDNUIsY0FBOEI7UUFIcEIsY0FBUyxHQUFULFNBQVMsQ0FBbUI7UUFDdEMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO0lBRXhDLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxDQUFDLEdBQUcsQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO1FBQ25ELDRCQUE0QjtRQUM1QiwrQkFBK0I7UUFDL0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDL0IsSUFBSSxXQUFXLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixDQUFFO1lBQzVDLElBQUksUUFBUSxHQUFHLFdBQVcsRUFBRSxPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFBO1lBQ25ELE9BQU8sQ0FBQyxnQkFBZ0IsR0FBRyxRQUFRLENBQUM7UUFDdEMsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsWUFBWSxDQUFDLE1BQU07UUFDakIsNERBQTREO1FBQzVELElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLE1BQU0sQ0FBQyxDQUFDO1FBQ3BFLEtBQUssSUFBSSxFQUFFLElBQUksTUFBTSxFQUFFO1lBQ3JCLEVBQUUsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1NBQ2pCO0lBQ0gsQ0FBQztJQUVELGVBQWUsQ0FBQyxPQUFPO1FBQ3JCLE9BQU8sQ0FBQyxHQUFHLENBQUMsOENBQThDLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsa0NBQWtDO0lBQ2xDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxJQUFTO1FBQ2pDLGlFQUFpRTtRQUNoRSxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLGdGQUFnRjtRQUNoRixJQUFHLElBQUksQ0FBQyxPQUFPLElBQUksVUFBVSxFQUFFO1lBQzdCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUN2RCxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7U0FDbEU7YUFBSyxJQUFHLElBQUksQ0FBQyxPQUFPLElBQUksTUFBTSxFQUFDO1lBQzlCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztTQUM1QzthQUFJO1lBQ0gsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7U0FDcEI7UUFDRCwyQkFBMkI7UUFDM0IsSUFBRyxJQUFJLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFDO1lBQ3RDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxZQUFZLENBQUE7U0FDOUI7YUFBSTtZQUNILElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1NBQ25CO1FBQ0QsNkZBQTZGO1FBQzdGLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFDRCxVQUFVLENBQUMsUUFBWTtRQUNyQixPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBQyxRQUFRLENBQUMsQ0FBQTtJQUNsQyxDQUFDO3dHQXBFVSxxQkFBcUI7NEZBQXJCLHFCQUFxQiwwS0NkbEMsMDFJQTBFTTs7NEZENURPLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxrQkFBa0I7MkxBS25CLE1BQU07c0JBQWQsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBRdWVzdGlvbiwgUXVlc3Rpb25Cb29rIH0gZnJvbSAnLi4vLi4vd3JhcHBlcic7XG5pbXBvcnQgeyBTYWxlc2ZvcmNlU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9zYWxlc2ZvcmNlLnNlcnZpY2VcIjtcbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGF0YS5zZXJ2aWNlJztcbmltcG9ydCB7IENoYW5nZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jaGFuZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3N0b3JhZ2Uuc2VydmljZSc7XG5pbXBvcnQgKiBhcyBtb21lbnQgZnJvbSAnbW9tZW50JztcbmltcG9ydCB7IEVycm9yV3JhcHBlciB9IGZyb20gJy4uLy4uL21vZGVsL2Vycm9yV3JhcHBlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1xdWVzdGlvbmJvb2snLFxuICB0ZW1wbGF0ZVVybDogJy4vcXVlc3Rpb25ib29rLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcXVlc3Rpb25ib29rLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBRdWVzdGlvbmJvb2tDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBxYkl0ZW06IFF1ZXN0aW9uQm9vaztcbiAgQElucHV0KCkgcXVlc3Rpb25JdGVtOiBRdWVzdGlvbjtcbiAgQElucHV0KCkgcXVlc3Rpb25zOiBRdWVzdGlvbltdO1xuXG4gIEBJbnB1dCgpIGVycm9yRmllbGRJZDphbnk7XG4gIFxuICBzdWJRdWVzdGlvbnM6IFF1ZXN0aW9uW107XG4gIHNlbGVjdGVkRmlsZURhdGE6IGFueVtdID0gW107XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzZlNlcnZpY2U6IFNhbGVzZm9yY2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2hhbmdlU2VydmljZTogQ2hhbmdlU2VydmljZSwgXG4gICAgcHJpdmF0ZSBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2UpIHsgXG4gICAgICBcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGNvbnNvbGUubG9nKCdpbnNpZGUgUXVlc3Rpb25Cb29rQ29tcG9uZW50IE9uSW5pdCcpO1xuICAgIC8vIGNvbnNvbGUubG9nKHRoaXMucWJJdGVtKTtcbiAgICAvLyBjb25zb2xlLmxvZyh0aGlzLnF1ZXN0aW9ucyk7XG4gICAgdGhpcy5xdWVzdGlvbnMuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgIHZhciBodG1sRWxlbWVudCA9IGVsZW1lbnQuUXVlc3Rpb25fVGV4dF9fYyA7XG4gICAgICB2YXIgdGV4dE9ubHkgPSBodG1sRWxlbWVudD8ucmVwbGFjZSgvPFtePl0qPi9nLCAnJylcbiAgICAgIGVsZW1lbnQuUXVlc3Rpb25fVGV4dF9fYyA9IHRleHRPbmx5O1xuICAgIH0pO1xuICAgIHRoaXMuc3ViUXVlc3Rpb25zID0gW107XG4gICAgdGhpcy5zZXRTdWJRdWVzdGlvbnModGhpcy5xdWVzdGlvbnMpO1xuICB9XG5cbiAgY2xlYXJTUUVycm9yKHF1ZXNJZCkge1xuICAgIC8vIGNvbnNvbGUubG9nKCdpbnNpZGUgUXVlc3Rpb25Cb29rQ29tcG9uZW50IGNsZWFyU1FFcnJvcicpO1xuICAgIHZhciBzcUxpc3QgPSB0aGlzLnN1YlF1ZXN0aW9ucz8uZmlsdGVyKChpdGVtKSA9PiBpdGVtLklkID09IHF1ZXNJZCk7XG4gICAgZm9yICh2YXIgc3Egb2Ygc3FMaXN0KSB7XG4gICAgICBzcS5lcnJvciA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgc2V0U3ViUXVlc3Rpb25zKHJlY29yZHMpIHtcbiAgICBjb25zb2xlLmxvZygnaW5zaWRlIFF1ZXN0aW9uYm9va0NvbXBvbmVudCBzZXRTdWJRdWVzdGlvbnMnKTtcbiAgICB0aGlzLnN1YlF1ZXN0aW9ucy5wdXNoKHJlY29yZHMpO1xuICB9XG5cbiAgLy8gQ2FwdHVyZSBhbmQgUHJvY2VzcyBDaGlsZCBFdmVudFxuICBjaGlsZEV2ZW50Q2FwdHVyZShldmVudCwgcXVlcz86YW55KSB7XG4gICAvLyBjb25zb2xlLmxvZygnaW5zaWRlIFF1ZXN0aW9uYm9va0NvbXBvbmVudCBjaGlsZEV2ZW50Q2FwdHVyZScpO1xuICAgIGNvbnNvbGUubG9nKGV2ZW50KTtcbiAgICB0aGlzLmNoYW5nZVNlcnZpY2UuYW5ub3VuY2VDaGFuZ2UoZXZlbnQpO1xuICAgIC8vIFByb2Nlc3MgdGhlIGNoYW5nZXMgaW4gVGFibGUgYW5kIERyb3Bkb3duIGFuZCBzdG9yZSByaWdodCB2YWx1ZSBpbiBxdWVzLmlucHV0XG4gICAgaWYocXVlcy5UeXBlX19jID09ICdEcm9wZG93bicpIHtcbiAgICAgIHF1ZXMuaW5wdXQgPSBldmVudC52YWx1ZU9iaiA/IGV2ZW50LnZhbHVlT2JqLmlkIDogbnVsbDtcbiAgICAgIHF1ZXMuc2VsZWN0ZWRWYWx1ZSA9IGV2ZW50LnZhbHVlT2JqID8gZXZlbnQudmFsdWVPYmoubmFtZSA6IG51bGw7XG4gICAgfWVsc2UgaWYocXVlcy5UeXBlX19jID09ICdGaWxlJyl7IFxuICAgICAgcXVlcy5pbnB1dCA9IHRoaXMuc2VsZWN0ZWRGaWxlRGF0YSA9IGV2ZW50O1xuICAgIH1lbHNle1xuICAgICAgcXVlcy5pbnB1dCA9IGV2ZW50O1xuICAgIH1cbiAgICAvLyB2YWxpZGF0aW5nIGVycm9yIG1lc3NhZ2VcbiAgICBpZihxdWVzLkVycm9yX01lc3NhZ2VfX2MgJiYgIXF1ZXMuaW5wdXQpe1xuICAgICAgcXVlcy5lcnJvciA9IG5ldyBFcnJvcldyYXBwZXJcbiAgICB9ZWxzZXtcbiAgICAgIHF1ZXMuZXJyb3IgPSBudWxsOyAgXG4gICAgfVxuICAgIC8vIE9uY2UgdGhlIHJpZ2h0IHZhbHVlIGlzIHN0b3JlZCBpbiBxdWVzLmlucHV0IHN0b3JlIHRoZSBxdWVzICh3aXRoIGlucHV0KSBpbiBzdG9yYWdlU2VydmljZVxuICAgIHRoaXMuc3RvcmFnZVNlcnZpY2UudXBkYXRlKHF1ZXMpO1xuICB9XG4gIGRlbGV0ZUZpbGUoZmlsZURhdGE6YW55KXtcbiAgICBjb25zb2xlLmxvZygnZmlsZURBVEEnLGZpbGVEYXRhKVxuICB9XG59XG4iLCI8ZGl2IFtjbGFzc109XCJxYkl0ZW0uaXNTaGVuZ2VsX19jID8gJ2Zvcm0tZ3JvdXAgY29udGVudC1ib3gnIDogJ2Zvcm0tZ3JvdXAnXCI+XG4gICAgPGRpdiBjbGFzcz1cImZvcm0tcm93XCI+XG4gICAgICAgIDxkaXYgW2NsYXNzXT1cInFiSXRlbS5pc1NoZW5nZWxfX2MgPyAnJyA6ICdteXQtYWxpZ24zJ1wiXG4gICAgICAgICAgICBbY2xhc3NdPVwicWJJdGVtLmlzU2hlbmdlbF9fYyA/ICdjb2wtbGctJyArIHF1ZXMuU2l6ZV9fYyArICcgcGFkZGluZ25vbmUnIDogJ2NvbC1tZC0nICsgcXVlcy5TaXplX19jICsgJyBwYWRkaW5nbm9uZSdcIlxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IHF1ZXMgb2YgcXVlc3Rpb25zO2xldCBpID0gaW5kZXhcIiBbaWRdPVwicXVlcy5JZFwiPlxuICAgICAgICAgICAgPCEtLSBTdWIgUXVlc3Rpb24gTGFiZWwgLS0+XG4gICAgICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cInsgZG93bjI6IHFiSXRlbT8uUHJvZ3Jlc3NfQmFyX19jIH1cIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBbY2xhc3NdPVwicWJJdGVtLmlzU2hlbmdlbF9fYyA/ICdkaXMtZmxleCBzaGVuZ2VsLW15dC1mb250MyBteXQtZm9udDcnICA6ICdkaXMtZmxleCBteXQtZm9udDMgbXl0LWZvbnQ3JyBcIj57eyBxdWVzPy5RdWVzdGlvbl9UZXh0X19jIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDwhLS0gRGF0ZVRpbWUgLS0+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwicXVlcy5UeXBlX19jID09PSAnRGF0ZVRpbWUnXCI+XG4gICAgICAgICAgICAgICAgPGFwcC1jdXN0b20tZGF0ZS1waWNrZXIgW21pbkRhdGVdPVwicXVlcy5taW5EYXRlXCIgW2RhdGVdPVwicXVlcy5pbnB1dFwiIChkYXRlQ2hhbmdlKT1cImNoaWxkRXZlbnRDYXB0dXJlKCRldmVudCwgcXVlcylcIj5cbiAgICAgICAgICAgICAgICA8L2FwcC1jdXN0b20tZGF0ZS1waWNrZXI+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPCEtLSBUZXh0IC0tPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInF1ZXMuVHlwZV9fYyA9PT0gJ1RleHQnXCI+XG4gICAgICAgICAgICAgICAgPGFwcC1jdXN0b20taW5wdXQgW2Zyb21TaGVuZ2VsXT1cInFiSXRlbS5pc1NoZW5nZWxfX2NcIiBbdmFsdWVdPVwicXVlcy5pbnB1dFwiIFtuZ0NsYXNzVmFsdWVdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgJ2Rpcy1mbGV4IGR0LWxpbmUgZGF0ZS1saW5lIGJvb2tUZXh0IGJveG91dGxpbmUgbXl0LWZvbnQxJzogcWJJdGVtLlByb2dyZXNzX0Jhcl9fYyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHRCb3g6ICFxYkl0ZW0uUHJvZ3Jlc3NfQmFyX19jXG4gICAgICAgICAgICAgICAgICAgIH1cIiBbcXVlc3Rpb25dPVwicXVlc1wiIFtpZFZhbHVlXT1cInF1ZXMuVHJhY2tpbmdfSURfX2NcIiBbZm9jdXNFdmVudF09XCJjbGVhclNRRXJyb3IocXVlcy5JZClcIlxuICAgICAgICAgICAgICAgICAgICBbZXJyb3JdPVwicXVlcy5lcnJvclwiIFtwbGFjZWhvbGRlcl09XCJxdWVzLlF1ZXN0aW9uX19jXCIgKGlucHV0VmFsdWUpPVwiY2hpbGRFdmVudENhcHR1cmUoJGV2ZW50LCBxdWVzKVwiPlxuICAgICAgICAgICAgICAgIDwvYXBwLWN1c3RvbS1pbnB1dD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgXG4gICAgICAgICAgICA8IS0tIGZvciBwaWNrIGxvY2F0aW9uIC0tPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInF1ZXMuVHlwZV9fYyA9PT0gJ0xvY2F0aW9uJ1wiPlxuICAgICAgICAgICAgICAgIDxhcHAtcGljay1sb2NhdGlvbiBbYWRkcmVzc109XCJxdWVzLmlucHV0XCIgKGxvY2F0aW9uU2VsZWN0ZWQpPVwiY2hpbGRFdmVudENhcHR1cmUoJGV2ZW50LCBxdWVzKVwiPlxuICAgICAgICAgICAgICAgIDwvYXBwLXBpY2stbG9jYXRpb24+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPCEtLSBmb3IgIHRleHQgYXJlYSAgIC0tPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInF1ZXMuVHlwZV9fYyA9PT0gJ1RleHRBcmVhJ1wiPlxuICAgICAgICAgICAgICAgIDxhcHAtY3VzdG9tLXRleHQtYXJlYSBbdmFsdWVdPVwicXVlcy5pbnB1dFwiIFtyb3dzXT1cIjNcIiBbZXJyb3JdPVwicXVlcy5lcnJvclwiIFtwbGFjZWhvbGRlcl09XCJxdWVzLlF1ZXN0aW9uX19jIFwiXG4gICAgICAgICAgICAgICAgICAgICh0ZXh0YXJlYVZhbHVlQ2hhbmdlKT1cImNoaWxkRXZlbnRDYXB0dXJlKCRldmVudCwgcXVlcylcIj48L2FwcC1jdXN0b20tdGV4dC1hcmVhPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDwhLS0gRW1haWwgLS0+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwicXVlcy5UeXBlX19jID09PSAnRW1haWwnXCI+XG4gICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJlbWFpbFwiIFsobmdNb2RlbCldPVwicXVlcy5pbnB1dFwiIFtpZF09XCJxdWVzLklkXCIgcmVxdWlyZWQ9XCJcIiAoZm9jdXMpPVwiY2xlYXJTUUVycm9yKHF1ZXMuSWQpXCJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUuYm9yZGVyLWNvbG9yPVwie3sgcXVlcy5lcnJvciA/ICdyZWQnIDogJycgfX1cIiBwbGFjZWhvbGRlcj1cInt7IHF1ZXMuUXVlc3Rpb25fX2MgfX1cIiAvPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDwhLS0gVGFibGUgLS0+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwicXVlcy5UeXBlX19jID09PSAnVGFibGUnXCIgY2xhc3M9XCJcIj5cbiAgICAgICAgICAgICAgICA8YXBwLWN1c3RvbS10YWJsZSBbcXVlc3Rpb25dPVwicXVlc1wiICh2YWx1ZUNoYW5nZSk9XCJjaGlsZEV2ZW50Q2FwdHVyZSgkZXZlbnQsIHF1ZXMpOyBjbGVhclNRRXJyb3IocXVlcy5JZClcIj5cbiAgICAgICAgICAgICAgICA8L2FwcC1jdXN0b20tdGFibGU+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgIDwhLS0gbGlzdCAtLT5cbiAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwicXVlcy5UeXBlX19jID09PSAnTGlzdCdcIiBjbGFzcz1cIlwiPlxuICAgICAgICAgICAgICAgIDxsaWItc2VhcmNoLWJveCBbcXVlc3Rpb25dPVwicXVlc1wiIFthcGlNZXRhXT1cInF1ZXMuU3ViX1RleHRfX2NcIiBbaWRdPVwicXVlcy5JZFwiIFtwbGFjZUhvbGRlclRleHRdPVwicXVlcy5RdWVzdGlvbl9fY1wiICBbc2VsZWN0ZWRWYWx1ZV09XCJxdWVzLmlucHV0XCIgKHNlYXJjaFZhbHVlQ2hhbmdlKT1cImNoaWxkRXZlbnRDYXB0dXJlKCRldmVudCwgcXVlcylcIj5cbiAgICAgICAgICAgICAgICA8L2xpYi1zZWFyY2gtYm94PlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDwhLS0gRHJvcGRvd24gLS0+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwicXVlcy5UeXBlX19jID09PSAnRHJvcGRvd24nXCIgY2xhc3M9XCJcIj5cbiAgICAgICAgICAgICAgICA8YXBwLWN1c3RvbS1kcm9wZG93biBbZnJvbVNoZW5nZWxdPVwicWJJdGVtLmlzU2hlbmdlbF9fY1wiIFtvcHRpb25zXT1cInF1ZXMuUXVlc3Rpb25fT3B0aW9uc19fci5yZWNvcmRzXCJcbiAgICAgICAgICAgICAgICAgICAgW2FwaU1ldGFdPVwicXVlcy5TdWJfVGV4dF9fY1wiIFtpZF09XCJxdWVzLklkXCIgW3NlbGVjdGVkVmFsdWVdPVwicXVlcy5zZWxlY3RlZFZhbHVlXCIgW3BsYWNlaG9sZGVyXT1cIictLS1TZWxlY3QtLS0nXCJcbiAgICAgICAgICAgICAgICAgICAgW2Vycm9yTWVzc2FnZV09XCJxdWVzLkVycm9yX01lc3NhZ2VfX2NcIiBbZXJyb3JdPVwicXVlcy5lcnJvclwiXG4gICAgICAgICAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJjaGlsZEV2ZW50Q2FwdHVyZSgkZXZlbnQsIHF1ZXMpOyBjbGVhclNRRXJyb3IocXVlcy5JZClcIj5cbiAgICAgICAgICAgICAgICA8L2FwcC1jdXN0b20tZHJvcGRvd24+XG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1jaGVjayBcIiBhcmlhLWhpZGRlbj1cInRydWVcIiAqbmdJZj1cInF1ZXM/LmlucHV0Py5sZW5ndGggPiAwXCI+PC9pPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDwhLS0gQXR0YWNobWVudCAvIEZpbGVzIC0tPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInF1ZXMuVHlwZV9fYyA9PT0gJ0ZpbGUnXCIgY2xhc3M9XCJcIj5cbiAgICAgICAgICAgICAgICA8YXBwLWZpbGUtdXBsb2FkIFtsaW1pdEZpbGVVcGxvYWRpbmddPVwiNVwiIFthbGxGaWxlc109XCJxdWVzLmlucHV0XCIgXG4gICAgICAgICAgICAgICAgKHNlbGVjdGVkRmlsZURhdGEpPVwiY2hpbGRFdmVudENhcHR1cmUoJGV2ZW50LCBxdWVzKVwiIChkZWxldGVkRmlsZURhdGEpPVwiZGVsZXRlRmlsZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICBbaXNEZWxldGVGaWxlQnV0dG9uVmlzaWJsZV09XCJ0cnVlXCI+PC9hcHAtZmlsZS11cGxvYWQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj4iXX0=