survery-lib 2.1.49 → 2.1.51

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.
@@ -6,7 +6,7 @@ import { surveyActions } from '../../core/states/survey-store/survey.action';
6
6
  import { questionSelectors } from '../../core/states/survey-store/question.selector';
7
7
  import * as i0 from "@angular/core";
8
8
  import * as i1 from "@angular/forms";
9
- import * as i2 from "../../services/survey-lib.service";
9
+ import * as i2 from "../../services/api.service";
10
10
  import * as i3 from "@ngrx/store";
11
11
  import * as i4 from "@angular/common";
12
12
  export class QuestionFileTemplateComponent {
@@ -46,16 +46,16 @@ export class QuestionFileTemplateComponent {
46
46
  var question = this.questionArr().find(x => x.questionId == value.questionId);
47
47
  if (question?.answerText) {
48
48
  this.rForm.patchValue({
49
- fileArr: question.answerFile.map(x => ({ file: x.file, name: x.name, byteArr: null })),
49
+ fileArr: question.answerFile.map(x => ({ fileBase64: null, name: x.name, byteArr: null, id: x.id })),
50
50
  isDisabled: question.isDisabled,
51
51
  isShow: question.isShow
52
52
  }, { emitEvent: false });
53
53
  }
54
54
  }
55
55
  }
56
- constructor(_formBuilder, _surveyLibService, _Store) {
56
+ constructor(_formBuilder, _apiService, _Store) {
57
57
  this._formBuilder = _formBuilder;
58
- this._surveyLibService = _surveyLibService;
58
+ this._apiService = _apiService;
59
59
  this._Store = _Store;
60
60
  this.MAX_FILE_SIZE = 10 * 1024 * 1024;
61
61
  this.questionArr = this._Store.selectSignal(questionSelectors.pageQuestions);
@@ -91,7 +91,7 @@ export class QuestionFileTemplateComponent {
91
91
  const newValue = value[1];
92
92
  //updated answer
93
93
  if (JSON.stringify(oldValue?.answerFile) != JSON.stringify(newValue?.answerFile) && oldValue?.answerFile == null) {
94
- this.fCtrls.fileArr.setValue(newValue?.answerFile.map(x => ({ file: x.file, name: x.name, byteArr: null })), { emitEvent: false });
94
+ this.fCtrls.fileArr.setValue(newValue?.answerFile.map(x => ({ id: x.id, name: x.name, byteArr: x.byteArr, fileBase64: null, })), { emitEvent: false });
95
95
  }
96
96
  //updated isDisabled
97
97
  if (oldValue?.isDisabled != newValue?.isDisabled) {
@@ -131,7 +131,7 @@ export class QuestionFileTemplateComponent {
131
131
  if (this.fCtrls.isMultiple.value == false) {
132
132
  fileArr = [];
133
133
  }
134
- fileArr.push({ file: base64Result, name: file.name, byteArr: base64Data, fileRaw: file });
134
+ fileArr.push({ fileBase64: base64Result, name: file.name, byteArr: base64Data, id: null });
135
135
  this.fCtrls.fileArr.setValue(fileArr);
136
136
  this.fileInputRef.nativeElement.value = '';
137
137
  };
@@ -140,29 +140,31 @@ export class QuestionFileTemplateComponent {
140
140
  }
141
141
  }
142
142
  openFileInNewTab(item) {
143
- if (!item?.file)
144
- return;
145
- console.log('Opening file in new tab:', item);
146
- const link = document.createElement('a');
147
- link.href = item.file;
148
- link.download = item.name || 'downloaded-file';
149
- // Append to body, trigger click, and remove
150
- document.body.appendChild(link);
151
- link.click();
152
- document.body.removeChild(link);
143
+ if (item?.fileBase64) {
144
+ const link = document.createElement('a');
145
+ link.href = item.fileBase64;
146
+ link.download = item.name || 'downloaded-file';
147
+ // Append to body, trigger click, and remove
148
+ document.body.appendChild(link);
149
+ link.click();
150
+ document.body.removeChild(link);
151
+ }
152
+ else if (item?.id) {
153
+ this._apiService.downloadFile({ fileId: item.id, fileName: item.name }).subscribe();
154
+ }
153
155
  }
154
156
  onDeleteFile(index) {
155
157
  const fileArr = this.fCtrls.fileArr.value || [];
156
158
  var newFileArr = fileArr.filter((_, i) => i !== index);
157
159
  this.fCtrls.fileArr.setValue(newFileArr);
158
160
  }
159
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: QuestionFileTemplateComponent, deps: [{ token: i1.FormBuilder }, { token: i2.SurveyLibService }, { token: i3.Store }], target: i0.ɵɵFactoryTarget.Component }); }
160
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: QuestionFileTemplateComponent, selector: "lib-question-file-template", inputs: { isArabicLang: "isArabicLang", setQuestion: "setQuestion" }, viewQueries: [{ propertyName: "fileInputRef", first: true, predicate: ["fileInput"], descendants: true }], ngImport: i0, template: "<div class=\"quastion\" [formGroup]=\"rForm\" [attr.id]=\"'question_'+fCtrls.id.value\"\r\n [ngClass]=\"{'invalid-question': fCtrls.fileArr.invalid , 'd-none':fCtrls.isShow.value != true}\">\r\n <h3 class=\"quastion-title \">\r\n <span [innerHTML]=\"surveyQuestion?.questionTitle\"></span>\r\n <span style=\"color: red;\" *ngIf=\"surveyQuestion.isRequired\">*</span>\r\n </h3>\r\n <div class=\"text-quastion\">\r\n <input #fileInput class=\"form-control\" [disabled]=\"fCtrls.isDisabled.value\" [multiple]=\"fCtrls.isMultiple.value\"\r\n type=\"file\" (change)=\"onFileSelect($event)\">\r\n <div class=\"d-flex flex-row gap-2 mt-2\">\r\n <div *ngFor=\"let item of fCtrls.fileArr.value; let i = index\" class=\"me-4\">\r\n <a href=\"javascript:void(0)\" (click)=\"openFileInNewTab(item)\">{{item.name}}</a>\r\n <a href=\"javascript:void(0)\" class=\"text-danger ms-2\" (click)=\"onDeleteFile(i)\">\r\n <i class=\"fa-solid fa-xmark\"></i>\r\n </a>\r\n </div>\r\n </div>\r\n </div>", styles: [""], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }] }); }
161
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: QuestionFileTemplateComponent, deps: [{ token: i1.FormBuilder }, { token: i2.ApiService }, { token: i3.Store }], target: i0.ɵɵFactoryTarget.Component }); }
162
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: QuestionFileTemplateComponent, selector: "lib-question-file-template", inputs: { isArabicLang: "isArabicLang", setQuestion: "setQuestion" }, viewQueries: [{ propertyName: "fileInputRef", first: true, predicate: ["fileInput"], descendants: true }], ngImport: i0, template: "<div class=\"quastion\" [formGroup]=\"rForm\" [attr.id]=\"'question_'+fCtrls.id.value\"\r\n [ngClass]=\"{'invalid-question': fCtrls.fileArr.invalid , 'd-none':fCtrls.isShow.value != true}\">\r\n <h3 class=\"quastion-title \">\r\n <span [innerHTML]=\"surveyQuestion?.questionTitle\"></span>\r\n <span style=\"color: red;\" *ngIf=\"surveyQuestion.isRequired\">*</span>\r\n </h3>\r\n <div class=\"text-quastion\">\r\n <input #fileInput class=\"form-control\" [disabled]=\"fCtrls.isDisabled.value\" [multiple]=\"fCtrls.isMultiple.value\"\r\n type=\"file\" [accept]=\"fCtrls.acceptedTypes.value\" (change)=\"onFileSelect($event)\">\r\n <div class=\"d-flex flex-row gap-2 mt-2\">\r\n <div *ngFor=\"let item of fCtrls.fileArr.value; let i = index\" class=\"me-4\">\r\n <a href=\"javascript:void(0)\" (click)=\"openFileInNewTab(item)\">{{item.name}}</a>\r\n <a href=\"javascript:void(0)\" class=\"text-danger ms-2\" (click)=\"onDeleteFile(i)\">\r\n <i class=\"fa-solid fa-xmark\"></i>\r\n </a>\r\n </div>\r\n </div>\r\n </div>", styles: [""], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }] }); }
161
163
  }
162
164
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: QuestionFileTemplateComponent, decorators: [{
163
165
  type: Component,
164
- args: [{ selector: 'lib-question-file-template', template: "<div class=\"quastion\" [formGroup]=\"rForm\" [attr.id]=\"'question_'+fCtrls.id.value\"\r\n [ngClass]=\"{'invalid-question': fCtrls.fileArr.invalid , 'd-none':fCtrls.isShow.value != true}\">\r\n <h3 class=\"quastion-title \">\r\n <span [innerHTML]=\"surveyQuestion?.questionTitle\"></span>\r\n <span style=\"color: red;\" *ngIf=\"surveyQuestion.isRequired\">*</span>\r\n </h3>\r\n <div class=\"text-quastion\">\r\n <input #fileInput class=\"form-control\" [disabled]=\"fCtrls.isDisabled.value\" [multiple]=\"fCtrls.isMultiple.value\"\r\n type=\"file\" (change)=\"onFileSelect($event)\">\r\n <div class=\"d-flex flex-row gap-2 mt-2\">\r\n <div *ngFor=\"let item of fCtrls.fileArr.value; let i = index\" class=\"me-4\">\r\n <a href=\"javascript:void(0)\" (click)=\"openFileInNewTab(item)\">{{item.name}}</a>\r\n <a href=\"javascript:void(0)\" class=\"text-danger ms-2\" (click)=\"onDeleteFile(i)\">\r\n <i class=\"fa-solid fa-xmark\"></i>\r\n </a>\r\n </div>\r\n </div>\r\n </div>" }]
165
- }], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.SurveyLibService }, { type: i3.Store }]; }, propDecorators: { isArabicLang: [{
166
+ args: [{ selector: 'lib-question-file-template', template: "<div class=\"quastion\" [formGroup]=\"rForm\" [attr.id]=\"'question_'+fCtrls.id.value\"\r\n [ngClass]=\"{'invalid-question': fCtrls.fileArr.invalid , 'd-none':fCtrls.isShow.value != true}\">\r\n <h3 class=\"quastion-title \">\r\n <span [innerHTML]=\"surveyQuestion?.questionTitle\"></span>\r\n <span style=\"color: red;\" *ngIf=\"surveyQuestion.isRequired\">*</span>\r\n </h3>\r\n <div class=\"text-quastion\">\r\n <input #fileInput class=\"form-control\" [disabled]=\"fCtrls.isDisabled.value\" [multiple]=\"fCtrls.isMultiple.value\"\r\n type=\"file\" [accept]=\"fCtrls.acceptedTypes.value\" (change)=\"onFileSelect($event)\">\r\n <div class=\"d-flex flex-row gap-2 mt-2\">\r\n <div *ngFor=\"let item of fCtrls.fileArr.value; let i = index\" class=\"me-4\">\r\n <a href=\"javascript:void(0)\" (click)=\"openFileInNewTab(item)\">{{item.name}}</a>\r\n <a href=\"javascript:void(0)\" class=\"text-danger ms-2\" (click)=\"onDeleteFile(i)\">\r\n <i class=\"fa-solid fa-xmark\"></i>\r\n </a>\r\n </div>\r\n </div>\r\n </div>" }]
167
+ }], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.ApiService }, { type: i3.Store }]; }, propDecorators: { isArabicLang: [{
166
168
  type: Input
167
169
  }], setQuestion: [{
168
170
  type: Input
@@ -170,4 +172,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
170
172
  type: ViewChild,
171
173
  args: ['fileInput']
172
174
  }] } });
173
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24tZmlsZS10ZW1wbGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdXJ2ZXJ5LWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcXVlc3Rpb24tZmlsZS10ZW1wbGF0ZS9xdWVzdGlvbi1maWxlLXRlbXBsYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N1cnZlcnktbGliL3NyYy9saWIvY29tcG9uZW50cy9xdWVzdGlvbi1maWxlLXRlbXBsYXRlL3F1ZXN0aW9uLWZpbGUtdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBNEIsS0FBSyxFQUFrQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEcsT0FBTyxFQUFlLFdBQVcsRUFBYSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUU1RSxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBUWpGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQzs7Ozs7O0FBUXJGLE1BQU0sT0FBTyw2QkFBNkI7SUFReEMsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDbEIsT0FBTyxnQkFBZ0IsQ0FBQztJQUMxQixDQUFDO0lBSUQsSUFBYSxXQUFXLENBQUMsS0FBd0I7UUFDL0MsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDeEIsSUFBSSxD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OUMsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxJQUFJLGlCQUFpQixDQUFDO1FBRS9DLDRDQUE0QztRQUM1QyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDYixRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQWE7UUFDeEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUNoRCxJQUFJLFVBQVUsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMzQyxDQUFDOzhHQXhMVSw2QkFBNkI7a0dBQTdCLDZCQUE2QixtUEN0QjFDLHNtQ0FpQlU7OzJGREtHLDZCQUE2QjtrQkFMekMsU0FBUzsrQkFDRSw0QkFBNEI7cUpBcUI3QixZQUFZO3NCQUFwQixLQUFLO2dCQUNPLFdBQVc7c0JBQXZCLEtBQUs7Z0JBMkNrQixZQUFZO3NCQUFuQyxTQUFTO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFN1cnZleVF1ZXN0aW9uRHRvIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2R0b3Mvc3VydmV5LXF1ZXN0aW9uLmR0byc7XHJcbmltcG9ydCB7IFF1ZXN0aW9uVHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZW51bXMvcXVlc3Rpb24tdHlwZS5lbnVtJztcclxuaW1wb3J0IHsgUXVlc3Rpb25UZXh0VGVtcGxhdGVGb3JtSW50ZXJmYWNlIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2Zvcm0taW50ZXJmYWNlcy9xdWVzdGlvbi10ZXh0LXRlbXBsYXRlLmZvcm0taW50ZXJmYWNlJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBtYXAsIHBhaXJ3aXNlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFF1ZXN0aW9uQW5zd2VyTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvbW9kZWxzL3F1ZXN0aW9uLWFuc3dlci5tb2RlbCc7XHJcbmltcG9ydCB7IERlZmF1bHRRdWVzdGlvbkFuc3dlckR0byB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9kdG9zL2RlZmF1bHQtcXVlc3Rpb24tYW5zd2Vycy5kdG8nO1xyXG5pbXBvcnQgeyBTdXJ2ZXlMaWJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc3VydmV5LWxpYi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSW5wdXRUeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9lbnVtcy9pbnB1dC10eXBlLmVudW0nO1xyXG5pbXBvcnQgeyBQaG9uZVZhbGlkYXRvciB9IGZyb20gJy4uLy4uL3ZhbGlkYXRvcnMvcGhvbmUudmFsaWRhdG9yJztcclxuaW1wb3J0IHsgUXVlc3Rpb25OZ3J4TW9kZWwgfSBmcm9tICcuLi8uLi9jb3JlL3N0YXRlcy9lbnRpdGVzL3F1ZXN0aW9uLmVudGl0eSc7XHJcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xyXG5pbXBvcnQgeyBzdXJ2ZXlBY3Rpb25zIH0gZnJvbSAnLi4vLi4vY29yZS9zdGF0ZXMvc3VydmV5LXN0b3JlL3N1cnZleS5hY3Rpb24nO1xyXG5pbXBvcnQgeyBxdWVzdGlvblNlbGVjdG9ycyB9IGZyb20gJy4uLy4uL2NvcmUvc3RhdGVzL3N1cnZleS1zdG9yZS9xdWVzdGlvbi5zZWxlY3Rvcic7XHJcbmltcG9ydCB7IFF1ZXN0aW9uRmlsZVRlbXBsYXRlRm9ybUludGVyZmFjZSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9mb3JtLWludGVyZmFjZXMvcXVlc3Rpb24tZmlsZS10ZW1wbGF0ZS5mb3JtLWludGVyZmFjZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1xdWVzdGlvbi1maWxlLXRlbXBsYXRlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcXVlc3Rpb24tZmlsZS10ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcXVlc3Rpb24tZmlsZS10ZW1wbGF0ZS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBRdWVzdGlvbkZpbGVUZW1wbGF0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIHJlYWRvbmx5IE1BWF9GSUxFX1NJWkUgPSAxMCAqIDEwMjQgKiAxMDI0O1xyXG5cclxuICBzdXJ2ZXlRdWVzdGlvbjogU3VydmV5UXVlc3Rpb25EdG87XHJcbiAgckZvcm06IEZvcm1Hcm91cDxRdWVzdGlvbkZpbGVUZW1wbGF0ZUZvcm1JbnRlcmZhY2U+O1xyXG4gIHF1ZXN0aW9uQXJyID0gdGhpcy5fU3RvcmUuc2VsZWN0U2lnbmFsKHF1ZXN0aW9uU2VsZWN0b3JzLnBhZ2VRdWVzdGlvbnMpO1xyXG5cclxuICBnZXQgZkN0cmxzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuckZvcm0uY29udHJvbHM7XHJcbiAgfVxyXG5cclxuICBnZXQgcXVlc3Rpb25UeXBlRW51bSgpIHtcclxuICAgIHJldHVybiBRdWVzdGlvblR5cGVFbnVtO1xyXG4gIH1cclxuXHJcblxyXG4gIEBJbnB1dCgpIGlzQXJhYmljTGFuZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNldCBzZXRRdWVzdGlvbih2YWx1ZTogUXVlc3Rpb25OZ3J4TW9kZWwpIHtcclxuICAgIGlmICghdGhpcy5zdXJ2ZXlRdWVzdGlvbikge1xyXG4gICAgICB0aGlzLnN1cnZleVF1ZXN0aW9uID0gdmFsdWUucXVlc3Rpb25BbGxJbmZvO1xyXG5cclxuICAgICAgdGhpcy5yRm9ybS5wYXRjaFZhbHVlKHtcclxuICAgICAgICBpZDogdmFsdWUucXVlc3Rpb25JZCxcclxuICAgICAgICBuYW1lOiB2YWx1ZS5xdWVzdGlvbkFsbEluZm8ucXVlc3Rpb25OYW1lLFxyXG4gICAgICAgIHRpdGxlOiB2YWx1ZS5xdWVzdGlvbkFsbEluZm8ucXVlc3Rpb25UaXRsZSxcclxuICAgICAgICB0eXBlSWQ6IHZhbHVlLnF1ZXN0aW9uQWxsSW5mby5xdWVzdGlvblR5cGVJZCxcclxuICAgICAgICBkZXNjcmlwdGlvbjogdmFsdWUucXVlc3Rpb25BbGxJbmZvLnF1ZXN0aW9uRGVzY3JpcHRpb24sXHJcbiAgICAgICAgaXNEaXNhYmxlZDogdmFsdWUucXVlc3Rpb25BbGxJbmZvLmlzUmVhZE9ubHksXHJcbiAgICAgICAgaXNTaG93OiB2YWx1ZS5xdWVzdGlvbkFsbEluZm8uaXNWaXNhYmxlXHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgaWYgKHZhbHVlLmlzU2hvdyA9PSB0cnVlKSB7XHJcbiAgICAgICAgdGhpcy5mQ3RybHMuaXNTaG93LnNldFZhbHVlKHZhbHVlLmlzU2hvdyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICh2YWx1ZS5xdWVzdGlvbkFsbEluZm8uc3VydmV5QW5zd2Vyc1swXT8uYW5zd2VySWQgIT0gbnVsbCAmJiB2YWx1ZS5xdWVzdGlvbkFsbEluZm8uc3VydmV5QW5zd2Vyc1swXT8uYW5zd2VySWQgIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgY29uc3QgYW5zd2VyID0gdmFsdWUucXVlc3Rpb25BbGxJbmZvLnN1cnZleUFuc3dlcnNbMF07XHJcbiAgICAgICAgdGhpcy5yRm9ybS5wYXRjaFZhbHVlKHtcclxuICAgICAgICAgIHN1cnZleUFuc3dlcklkOiBhbnN3ZXIuYW5zd2VySWQsXHJcbiAgICAgICAgICBpc011bHRpcGxlOiBhbnN3ZXIuaXNNdWx0aXBsZSxcclxuICAgICAgICAgIGFjY2VwdGVkVHlwZXM6IGFuc3dlci5hY2NlcHRlZFR5cGVzXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICh2YWx1ZS5pc1JlcXVpcmVkID09IHRydWUpIHtcclxuICAgICAgICB0aGlzLmZDdHJscy5maWxlQXJyLmFkZFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWRdKTtcclxuICAgICAgICB0aGlzLmZDdHJscy5maWxlQXJyLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdmFyIHF1ZXN0aW9uID0gdGhpcy5xdWVzdGlvbkFycigpLmZpbmQoeCA9PiB4LnF1ZXN0aW9uSWQgPT0gdmFsdWUucXVlc3Rpb25JZCk7XHJcbiAgICAgIGlmIChxdWVzdGlvbj8uYW5zd2VyVGV4dCkge1xyXG4gICAgICAgIHRoaXMuckZvcm0ucGF0Y2hWYWx1ZSh7XHJcbiAgICAgICAgICBmaWxlQXJyOiBxdWVzdGlvbi5hbnN3ZXJGaWxlLm1hcCh4ID0+ICh7IGZpbGU6IHguZmlsZSwgbmFtZTogeC5uYW1lLCBieXRlQXJyOiBudWxsIH0pKSxcclxuICAgICAgICAgIGlzRGlzYWJsZWQ6IHF1ZXN0aW9uLmlzRGlzYWJsZWQsXHJcbiAgICAgICAgICBpc1Nob3c6IHF1ZXN0aW9uLmlzU2hvd1xyXG4gICAgICAgIH0sIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQFZpZXdDaGlsZCgnZmlsZUlucHV0JykgZmlsZUlucHV0UmVmITogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLCBwcml2YXRlIF9zdXJ2ZXlMaWJTZXJ2aWNlOiBTdXJ2ZXlMaWJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfU3RvcmU6IFN0b3JlKSB7XHJcbiAgICB0aGlzLnJGb3JtID0gdGhpcy5fZm9ybUJ1aWxkZXIuZ3JvdXA8UXVlc3Rpb25GaWxlVGVtcGxhdGVGb3JtSW50ZXJmYWNlPih7XHJcbiAgICAgIGlkOiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXHJcbiAgICAgIG5hbWU6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcclxuICAgICAgdGl0bGU6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcclxuICAgICAgdHlwZUlkOiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXHJcbiAgICAgIGRlc2NyaXB0aW9uOiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXHJcbiAgICAgIHN1cnZleUFuc3dlcklkOiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXHJcbiAgICAgIGZpbGVBcnI6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcclxuICAgICAgaXNEaXNhYmxlZDogbmV3IEZvcm1Db250cm9sKGZhbHNlKSxcclxuICAgICAgaXNTaG93OiBuZXcgRm9ybUNvbnRyb2wodHJ1ZSksXHJcbiAgICAgIGlzTXVsdGlwbGU6IG5ldyBGb3JtQ29udHJvbChmYWxzZSksXHJcbiAgICAgIGFjY2VwdGVkVHlwZXM6IG5ldyBGb3JtQ29udHJvbCgnJyksXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5mQ3RybHMuZmlsZUFyci52YWx1ZUNoYW5nZXMucGlwZSgpLnBpcGUoZGVib3VuY2VUaW1lKDIwMCksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLnN1YnNjcmliZSh2YWx1ZSA9PiB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGZvcm1WYWx1ZSA9IHRoaXMuckZvcm0udmFsdWU7XHJcbiAgICAgICAgdGhpcy5fU3RvcmUuZGlzcGF0Y2goc3VydmV5QWN0aW9ucy51cGRhdGVRdWVzdGlvbkZpbGVBbnN3ZXIoe1xyXG4gICAgICAgICAgcXVlc3Rpb25JZDogZm9ybVZhbHVlLmlkLFxyXG4gICAgICAgICAgZmlsZUFycjogZm9ybVZhbHVlLmZpbGVBcnIsXHJcbiAgICAgICAgICBpc1ZhbGlkOiB0aGlzLmZDdHJscy5maWxlQXJyLnZhbGlkXHJcbiAgICAgICAgfSkpXHJcbiAgICAgIH0sIDEwMCk7XHJcblxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5fU3RvcmUuc2VsZWN0KHF1ZXN0aW9uU2VsZWN0b3JzLnBhZ2VRdWVzdGlvbnMpLnBpcGUobWFwKGFyciA9PiBhcnIuZmluZCh4ID0+IHgucXVlc3Rpb25JZCA9PSB0aGlzLmZDdHJscy5pZC52YWx1ZSkpKVxyXG4gICAgICAucGlwZShmaWx0ZXIoeCA9PiB4ICE9IG51bGwpLCBwYWlyd2lzZSgpKS5zdWJzY3JpYmUodmFsdWUgPT4ge1xyXG4gICAgICAgIGNvbnN0IG9sZFZhbHVlID0gdmFsdWVbMF07XHJcbiAgICAgICAgY29uc3QgbmV3VmFsdWUgPSB2YWx1ZVsxXTtcclxuXHJcbiAgICAgICAgLy91cGRhdGVkIGFuc3dlclxyXG4gICAgICAgIGlmIChKU09OLnN0cmluZ2lmeShvbGRWYWx1ZT8uYW5zd2VyRmlsZSkgIT0gSlNPTi5zdHJpbmdpZnkobmV3VmFsdWU/LmFuc3dlckZpbGUpICYmIG9sZFZhbHVlPy5hbnN3ZXJGaWxlID09IG51bGwpIHtcclxuICAgICAgICAgIHRoaXMuZkN0cmxzLmZpbGVBcnIuc2V0VmFsdWUobmV3VmFsdWU/LmFuc3dlckZpbGUubWFwKHggPT4gKHsgZmlsZTogeC5maWxlLCBuYW1lOiB4Lm5hbWUsIGJ5dGVBcnI6IG51bGwgfSkpLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvL3VwZGF0ZWQgaXNEaXNhYmxlZFxyXG4gICAgICAgIGlmIChvbGRWYWx1ZT8uaXNEaXNhYmxlZCAhPSBuZXdWYWx1ZT8uaXNEaXNhYmxlZCkge1xyXG4gICAgICAgICAgdGhpcy5mQ3RybHMuaXNEaXNhYmxlZC5zZXRWYWx1ZShuZXdWYWx1ZT8uaXNEaXNhYmxlZCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvL3VwZGF0ZWQgaXNTaG93XHJcbiAgICAgICAgaWYgKG9sZFZhbHVlPy5pc1Nob3cgIT0gbmV3VmFsdWU/LmlzU2hvdykge1xyXG4gICAgICAgICAgdGhpcy5mQ3RybHMuaXNTaG93LnNldFZhbHVlKG5ld1ZhbHVlPy5pc1Nob3cpO1xyXG5cclxuICAgICAgICAgIGlmIChuZXdWYWx1ZT8uaXNTaG93ID09IGZhbHNlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZkN0cmxzLmZpbGVBcnIuc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIGNvbnZlcnRUb0Zvcm1Db250cm9sKGVsZW1lbnQ6IGFueSkge1xyXG4gICAgcmV0dXJuIGVsZW1lbnQgYXMgRm9ybUNvbnRyb2w7XHJcbiAgfVxyXG5cclxuICBvbkZpbGVTZWxlY3QoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XHJcbiAgICBjb25zdCBpbnB1dCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xyXG5cclxuICAgIGlmIChpbnB1dC5maWxlcyAmJiBpbnB1dC5maWxlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuZkN0cmxzLmZpbGVBcnIuc2V0VmFsdWUoW10pO1xyXG5cclxuICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGlucHV0LmZpbGVzLmxlbmd0aDsgaW5kZXgrKykge1xyXG5cclxuICAgICAgICBjb25zdCBmaWxlID0gaW5wdXQuZmlsZXNbaW5kZXhdO1xyXG4gICAgICAgIGlmIChmaWxlLnNpemUgPiB0aGlzLk1BWF9GSUxFX1NJWkUpIHtcclxuICAgICAgICAgIC8vIEV4Y2VlZHMgbWF4IGxlbmd0aC9zaXplXHJcbiAgICAgICAgICBhbGVydCgnRmlsZSBzaXplIGV4Y2VlZHMgdGhlIDEwTUIgbGltaXQuJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcclxuXHJcbiAgICAgICAgICAvLyBSZWFkIHRoZSBmaWxlIGFzIGEgRGF0YSBVUkwgKEJhc2U2NClcclxuICAgICAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpO1xyXG5cclxuICAgICAgICAgIHJlYWRlci5vbmxvYWQgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGJhc2U2NFJlc3VsdCA9IHJlYWRlci5yZXN1bHQgYXMgc3RyaW5nO1xyXG5cclxuICAgICAgICAgICAgLy8gU3RyaXAgdGhlIERhdGEgVVJMIHByZWZpeCAoZS5nLiwgXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsXCIpIHRvIGxlYXZlIHJhdyBCYXNlNjQgZGF0YVxyXG4gICAgICAgICAgICBjb25zdCBiYXNlNjREYXRhID0gYmFzZTY0UmVzdWx0LnNwbGl0KCcsJylbMV07XHJcblxyXG4gICAgICAgICAgICBsZXQgZmlsZUFyciA9IFsuLi50aGlzLmZDdHJscy5maWxlQXJyLnZhbHVlIHx8IFtdXTtcclxuXHJcbiAgICAgICAgICAgIGlmICh0aGlzLmZDdHJscy5pc011bHRpcGxlLnZhbHVlID09IGZhbHNlKSB7XHJcbiAgICAgICAgICAgICAgZmlsZUFyciA9IFtdO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBmaWxlQXJyLnB1c2goeyBmaWxlOiBiYXNlNjRSZXN1bHQsIG5hbWU6IGZpbGUubmFtZSwgYnl0ZUFycjogYmFzZTY0RGF0YSwgZmlsZVJhdzogZmlsZSB9KTtcclxuICAgICAgICAgICAgdGhpcy5mQ3RybHMuZmlsZUFyci5zZXRWYWx1ZShmaWxlQXJyKTtcclxuXHJcbiAgICAgICAgICAgICB0aGlzLmZpbGVJbnB1dFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3BlbkZpbGVJbk5ld1RhYihpdGVtOiB7IGZpbGU6IHN0cmluZywgbmFtZTogc3RyaW5nIH0pIHtcclxuICAgIGlmICghaXRlbT8uZmlsZSkgcmV0dXJuO1xyXG5cclxuICAgIGNvbnNvbGUubG9nKCdPcGVuaW5nIGZpbGUgaW4gbmV3IHRhYjonLCBpdGVtKTtcclxuXHJcbiAgICBjb25zdCBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xyXG4gICAgbGluay5ocmVmID0gaXRlbS5maWxlO1xyXG4gICAgbGluay5kb3dubG9hZCA9IGl0ZW0ubmFtZSB8fCAnZG93bmxvYWRlZC1maWxlJztcclxuXHJcbiAgICAvLyBBcHBlbmQgdG8gYm9keSwgdHJpZ2dlciBjbGljaywgYW5kIHJlbW92ZVxyXG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsaW5rKTtcclxuICAgIGxpbmsuY2xpY2soKTtcclxuICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQobGluayk7XHJcbiAgfVxyXG5cclxuICBvbkRlbGV0ZUZpbGUoaW5kZXg6IG51bWJlcik6IHZvaWQge1xyXG4gICAgY29uc3QgZmlsZUFyciA9IHRoaXMuZkN0cmxzLmZpbGVBcnIudmFsdWUgfHwgW107XHJcbiAgICB2YXIgbmV3RmlsZUFyciA9IGZpbGVBcnIuZmlsdGVyKChfLCBpKSA9PiBpICE9PSBpbmRleCk7XHJcbiAgICB0aGlzLmZDdHJscy5maWxlQXJyLnNldFZhbHVlKG5ld0ZpbGVBcnIpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInF1YXN0aW9uXCIgW2Zvcm1Hcm91cF09XCJyRm9ybVwiIFthdHRyLmlkXT1cIidxdWVzdGlvbl8nK2ZDdHJscy5pZC52YWx1ZVwiXHJcbiAgICBbbmdDbGFzc109XCJ7J2ludmFsaWQtcXVlc3Rpb24nOiBmQ3RybHMuZmlsZUFyci5pbnZhbGlkICwgJ2Qtbm9uZSc6ZkN0cmxzLmlzU2hvdy52YWx1ZSAhPSB0cnVlfVwiPlxyXG4gICAgPGgzIGNsYXNzPVwicXVhc3Rpb24tdGl0bGUgXCI+XHJcbiAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJzdXJ2ZXlRdWVzdGlvbj8ucXVlc3Rpb25UaXRsZVwiPjwvc3Bhbj5cclxuICAgICAgICA8c3BhbiBzdHlsZT1cImNvbG9yOiByZWQ7XCIgKm5nSWY9XCJzdXJ2ZXlRdWVzdGlvbi5pc1JlcXVpcmVkXCI+Kjwvc3Bhbj5cclxuICAgIDwvaDM+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGV4dC1xdWFzdGlvblwiPlxyXG4gICAgICAgIDxpbnB1dCAjZmlsZUlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgW2Rpc2FibGVkXT1cImZDdHJscy5pc0Rpc2FibGVkLnZhbHVlXCIgW211bHRpcGxlXT1cImZDdHJscy5pc011bHRpcGxlLnZhbHVlXCJcclxuICAgICAgICAgICAgdHlwZT1cImZpbGVcIiAoY2hhbmdlKT1cIm9uRmlsZVNlbGVjdCgkZXZlbnQpXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LXJvdyBnYXAtMiBtdC0yXCI+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZkN0cmxzLmZpbGVBcnIudmFsdWU7IGxldCBpID0gaW5kZXhcIiBjbGFzcz1cIm1lLTRcIj5cclxuICAgICAgICAgICAgICAgIDxhIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIiAoY2xpY2spPVwib3BlbkZpbGVJbk5ld1RhYihpdGVtKVwiPnt7aXRlbS5uYW1lfX08L2E+XHJcbiAgICAgICAgICAgICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgY2xhc3M9XCJ0ZXh0LWRhbmdlciBtcy0yXCIgIChjbGljayk9XCJvbkRlbGV0ZUZpbGUoaSlcIj5cclxuICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYS1zb2xpZCBmYS14bWFya1wiPjwvaT5cclxuICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj4iXX0=
175
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24tZmlsZS10ZW1wbGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdXJ2ZXJ5LWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcXVlc3Rpb24tZmlsZS10ZW1wbGF0ZS9xdWVzdGlvbi1maWxlLXRlbXBsYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N1cnZlcnktbGliL3NyYy9saWIvY29tcG9uZW50cy9xdWVzdGlvbi1maWxlLXRlbXBsYXRlL3F1ZXN0aW9uLWZpbGUtdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBNEIsS0FBSyxFQUFrQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEcsT0FBTyxFQUFlLFdBQVcsRUFBYSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUU1RSxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBUWpGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQzs7Ozs7O0FBU3JGLE1BQU0sT0FBTyw2QkFBNkI7SUFReEMsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDbEIsT0FBTyxnQkFBZ0IsQ0FBQztJQUMxQixDQUFDO0lBSUQsSUFBYSxXQUFXLENBQUMsS0FBd0I7UUFDL0MsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDeEIsSUFBSSxD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c0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTdXJ2ZXlRdWVzdGlvbkR0byB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9kdG9zL3N1cnZleS1xdWVzdGlvbi5kdG8nO1xyXG5pbXBvcnQgeyBRdWVzdGlvblR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2VudW1zL3F1ZXN0aW9uLXR5cGUuZW51bSc7XHJcbmltcG9ydCB7IFF1ZXN0aW9uVGV4dFRlbXBsYXRlRm9ybUludGVyZmFjZSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9mb3JtLWludGVyZmFjZXMvcXVlc3Rpb24tdGV4dC10ZW1wbGF0ZS5mb3JtLWludGVyZmFjZSc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgbWFwLCBwYWlyd2lzZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBRdWVzdGlvbkFuc3dlck1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL21vZGVscy9xdWVzdGlvbi1hbnN3ZXIubW9kZWwnO1xyXG5pbXBvcnQgeyBEZWZhdWx0UXVlc3Rpb25BbnN3ZXJEdG8gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZHRvcy9kZWZhdWx0LXF1ZXN0aW9uLWFuc3dlcnMuZHRvJztcclxuaW1wb3J0IHsgU3VydmV5TGliU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3N1cnZleS1saWIuc2VydmljZSc7XHJcbmltcG9ydCB7IElucHV0VHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZW51bXMvaW5wdXQtdHlwZS5lbnVtJztcclxuaW1wb3J0IHsgUGhvbmVWYWxpZGF0b3IgfSBmcm9tICcuLi8uLi92YWxpZGF0b3JzL3Bob25lLnZhbGlkYXRvcic7XHJcbmltcG9ydCB7IFF1ZXN0aW9uTmdyeE1vZGVsIH0gZnJvbSAnLi4vLi4vY29yZS9zdGF0ZXMvZW50aXRlcy9xdWVzdGlvbi5lbnRpdHknO1xyXG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcclxuaW1wb3J0IHsgc3VydmV5QWN0aW9ucyB9IGZyb20gJy4uLy4uL2NvcmUvc3RhdGVzL3N1cnZleS1zdG9yZS9zdXJ2ZXkuYWN0aW9uJztcclxuaW1wb3J0IHsgcXVlc3Rpb25TZWxlY3RvcnMgfSBmcm9tICcuLi8uLi9jb3JlL3N0YXRlcy9zdXJ2ZXktc3RvcmUvcXVlc3Rpb24uc2VsZWN0b3InO1xyXG5pbXBvcnQgeyBRdWVzdGlvbkZpbGVUZW1wbGF0ZUZvcm1JbnRlcmZhY2UgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZm9ybS1pbnRlcmZhY2VzL3F1ZXN0aW9uLWZpbGUtdGVtcGxhdGUuZm9ybS1pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYXBpLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItcXVlc3Rpb24tZmlsZS10ZW1wbGF0ZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3F1ZXN0aW9uLWZpbGUtdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3F1ZXN0aW9uLWZpbGUtdGVtcGxhdGUuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUXVlc3Rpb25GaWxlVGVtcGxhdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICByZWFkb25seSBNQVhfRklMRV9TSVpFID0gMTAgKiAxMDI0ICogMTAyNDtcclxuXHJcbiAgc3VydmV5UXVlc3Rpb246IFN1cnZleVF1ZXN0aW9uRHRvO1xyXG4gIHJGb3JtOiBGb3JtR3JvdXA8UXVlc3Rpb25GaWxlVGVtcGxhdGVGb3JtSW50ZXJmYWNlPjtcclxuICBxdWVzdGlvbkFyciA9IHRoaXMuX1N0b3JlLnNlbGVjdFNpZ25hbChxdWVzdGlvblNlbGVjdG9ycy5wYWdlUXVlc3Rpb25zKTtcclxuXHJcbiAgZ2V0IGZDdHJscygpIHtcclxuICAgIHJldHVybiB0aGlzLnJGb3JtLmNvbnRyb2xzO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHF1ZXN0aW9uVHlwZUVudW0oKSB7XHJcbiAgICByZXR1cm4gUXVlc3Rpb25UeXBlRW51bTtcclxuICB9XHJcblxyXG5cclxuICBASW5wdXQoKSBpc0FyYWJpY0xhbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBzZXQgc2V0UXVlc3Rpb24odmFsdWU6IFF1ZXN0aW9uTmdyeE1vZGVsKSB7XHJcbiAgICBpZiAoIXRoaXMuc3VydmV5UXVlc3Rpb24pIHtcclxuICAgICAgdGhpcy5zdXJ2ZXlRdWVzdGlvbiA9IHZhbHVlLnF1ZXN0aW9uQWxsSW5mbztcclxuXHJcbiAgICAgIHRoaXMuckZvcm0ucGF0Y2hWYWx1ZSh7XHJcbiAgICAgICAgaWQ6IHZhbHVlLnF1ZXN0aW9uSWQsXHJcbiAgICAgICAgbmFtZTogdmFsdWUucXVlc3Rpb25BbGxJbmZvLnF1ZXN0aW9uTmFtZSxcclxuICAgICAgICB0aXRsZTogdmFsdWUucXVlc3Rpb25BbGxJbmZvLnF1ZXN0aW9uVGl0bGUsXHJcbiAgICAgICAgdHlwZUlkOiB2YWx1ZS5xdWVzdGlvbkFsbEluZm8ucXVlc3Rpb25UeXBlSWQsXHJcbiAgICAgICAgZGVzY3JpcHRpb246IHZhbHVlLnF1ZXN0aW9uQWxsSW5mby5xdWVzdGlvbkRlc2NyaXB0aW9uLFxyXG4gICAgICAgIGlzRGlzYWJsZWQ6IHZhbHVlLnF1ZXN0aW9uQWxsSW5mby5pc1JlYWRPbmx5LFxyXG4gICAgICAgIGlzU2hvdzogdmFsdWUucXVlc3Rpb25BbGxJbmZvLmlzVmlzYWJsZVxyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIGlmICh2YWx1ZS5pc1Nob3cgPT0gdHJ1ZSkge1xyXG4gICAgICAgIHRoaXMuZkN0cmxzLmlzU2hvdy5zZXRWYWx1ZSh2YWx1ZS5pc1Nob3cpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAodmFsdWUucXVlc3Rpb25BbGxJbmZvLnN1cnZleUFuc3dlcnNbMF0/LmFuc3dlcklkICE9IG51bGwgJiYgdmFsdWUucXVlc3Rpb25BbGxJbmZvLnN1cnZleUFuc3dlcnNbMF0/LmFuc3dlcklkICE9IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIGNvbnN0IGFuc3dlciA9IHZhbHVlLnF1ZXN0aW9uQWxsSW5mby5zdXJ2ZXlBbnN3ZXJzWzBdO1xyXG4gICAgICAgIHRoaXMuckZvcm0ucGF0Y2hWYWx1ZSh7XHJcbiAgICAgICAgICBzdXJ2ZXlBbnN3ZXJJZDogYW5zd2VyLmFuc3dlcklkLFxyXG4gICAgICAgICAgaXNNdWx0aXBsZTogYW5zd2VyLmlzTXVsdGlwbGUsXHJcbiAgICAgICAgICBhY2NlcHRlZFR5cGVzOiBhbnN3ZXIuYWNjZXB0ZWRUeXBlc1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAodmFsdWUuaXNSZXF1aXJlZCA9PSB0cnVlKSB7XHJcbiAgICAgICAgdGhpcy5mQ3RybHMuZmlsZUFyci5hZGRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSk7XHJcbiAgICAgICAgdGhpcy5mQ3RybHMuZmlsZUFyci51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHZhciBxdWVzdGlvbiA9IHRoaXMucXVlc3Rpb25BcnIoKS5maW5kKHggPT4geC5xdWVzdGlvbklkID09IHZhbHVlLnF1ZXN0aW9uSWQpO1xyXG4gICAgICBpZiAocXVlc3Rpb24/LmFuc3dlclRleHQpIHtcclxuICAgICAgICB0aGlzLnJGb3JtLnBhdGNoVmFsdWUoe1xyXG4gICAgICAgICAgZmlsZUFycjogcXVlc3Rpb24uYW5zd2VyRmlsZS5tYXAoeCA9PiAoeyBmaWxlQmFzZTY0OiBudWxsLCBuYW1lOiB4Lm5hbWUsIGJ5dGVBcnI6IG51bGwsIGlkOiB4LmlkIH0pKSxcclxuICAgICAgICAgIGlzRGlzYWJsZWQ6IHF1ZXN0aW9uLmlzRGlzYWJsZWQsXHJcbiAgICAgICAgICBpc1Nob3c6IHF1ZXN0aW9uLmlzU2hvd1xyXG4gICAgICAgIH0sIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQFZpZXdDaGlsZCgnZmlsZUlucHV0JykgZmlsZUlucHV0UmVmITogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLCBwcml2YXRlIF9hcGlTZXJ2aWNlOiBBcGlTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfU3RvcmU6IFN0b3JlKSB7XHJcbiAgICB0aGlzLnJGb3JtID0gdGhpcy5fZm9ybUJ1aWxkZXIuZ3JvdXA8UXVlc3Rpb25GaWxlVGVtcGxhdGVGb3JtSW50ZXJmYWNlPih7XHJcbiAgICAgIGlkOiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXHJcbiAgICAgIG5hbWU6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcclxuICAgICAgdGl0bGU6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcclxuICAgICAgdHlwZUlkOiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXHJcbiAgICAgIGRlc2NyaXB0aW9uOiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXHJcbiAgICAgIHN1cnZleUFuc3dlcklkOiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXHJcbiAgICAgIGZpbGVBcnI6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcclxuICAgICAgaXNEaXNhYmxlZDogbmV3IEZvcm1Db250cm9sKGZhbHNlKSxcclxuICAgICAgaXNTaG93OiBuZXcgRm9ybUNvbnRyb2wodHJ1ZSksXHJcbiAgICAgIGlzTXVsdGlwbGU6IG5ldyBGb3JtQ29udHJvbChmYWxzZSksXHJcbiAgICAgIGFjY2VwdGVkVHlwZXM6IG5ldyBGb3JtQ29udHJvbCgnJyksXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5mQ3RybHMuZmlsZUFyci52YWx1ZUNoYW5nZXMucGlwZSgpLnBpcGUoZGVib3VuY2VUaW1lKDIwMCksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLnN1YnNjcmliZSh2YWx1ZSA9PiB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGZvcm1WYWx1ZSA9IHRoaXMuckZvcm0udmFsdWU7XHJcbiAgICAgICAgdGhpcy5fU3RvcmUuZGlzcGF0Y2goc3VydmV5QWN0aW9ucy51cGRhdGVRdWVzdGlvbkZpbGVBbnN3ZXIoe1xyXG4gICAgICAgICAgcXVlc3Rpb25JZDogZm9ybVZhbHVlLmlkLFxyXG4gICAgICAgICAgZmlsZUFycjogZm9ybVZhbHVlLmZpbGVBcnIsXHJcbiAgICAgICAgICBpc1ZhbGlkOiB0aGlzLmZDdHJscy5maWxlQXJyLnZhbGlkXHJcbiAgICAgICAgfSkpXHJcbiAgICAgIH0sIDEwMCk7XHJcblxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5fU3RvcmUuc2VsZWN0KHF1ZXN0aW9uU2VsZWN0b3JzLnBhZ2VRdWVzdGlvbnMpLnBpcGUobWFwKGFyciA9PiBhcnIuZmluZCh4ID0+IHgucXVlc3Rpb25JZCA9PSB0aGlzLmZDdHJscy5pZC52YWx1ZSkpKVxyXG4gICAgICAucGlwZShmaWx0ZXIoeCA9PiB4ICE9IG51bGwpLCBwYWlyd2lzZSgpKS5zdWJzY3JpYmUodmFsdWUgPT4ge1xyXG4gICAgICAgIGNvbnN0IG9sZFZhbHVlID0gdmFsdWVbMF07XHJcbiAgICAgICAgY29uc3QgbmV3VmFsdWUgPSB2YWx1ZVsxXTtcclxuXHJcbiAgICAgICAgLy91cGRhdGVkIGFuc3dlclxyXG4gICAgICAgIGlmIChKU09OLnN0cmluZ2lmeShvbGRWYWx1ZT8uYW5zd2VyRmlsZSkgIT0gSlNPTi5zdHJpbmdpZnkobmV3VmFsdWU/LmFuc3dlckZpbGUpICYmIG9sZFZhbHVlPy5hbnN3ZXJGaWxlID09IG51bGwpIHtcclxuICAgICAgICAgIHRoaXMuZkN0cmxzLmZpbGVBcnIuc2V0VmFsdWUobmV3VmFsdWU/LmFuc3dlckZpbGUubWFwKHggPT4gKHsgaWQ6IHguaWQsIG5hbWU6IHgubmFtZSwgYnl0ZUFycjogeC5ieXRlQXJyLCBmaWxlQmFzZTY0OiBudWxsLCB9KSksIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vdXBkYXRlZCBpc0Rpc2FibGVkXHJcbiAgICAgICAgaWYgKG9sZFZhbHVlPy5pc0Rpc2FibGVkICE9IG5ld1ZhbHVlPy5pc0Rpc2FibGVkKSB7XHJcbiAgICAgICAgICB0aGlzLmZDdHJscy5pc0Rpc2FibGVkLnNldFZhbHVlKG5ld1ZhbHVlPy5pc0Rpc2FibGVkKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vdXBkYXRlZCBpc1Nob3dcclxuICAgICAgICBpZiAob2xkVmFsdWU/LmlzU2hvdyAhPSBuZXdWYWx1ZT8uaXNTaG93KSB7XHJcbiAgICAgICAgICB0aGlzLmZDdHJscy5pc1Nob3cuc2V0VmFsdWUobmV3VmFsdWU/LmlzU2hvdyk7XHJcblxyXG4gICAgICAgICAgaWYgKG5ld1ZhbHVlPy5pc1Nob3cgPT0gZmFsc2UpIHtcclxuICAgICAgICAgICAgdGhpcy5mQ3RybHMuZmlsZUFyci5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgY29udmVydFRvRm9ybUNvbnRyb2woZWxlbWVudDogYW55KSB7XHJcbiAgICByZXR1cm4gZWxlbWVudCBhcyBGb3JtQ29udHJvbDtcclxuICB9XHJcblxyXG4gIG9uRmlsZVNlbGVjdChldmVudDogRXZlbnQpOiB2b2lkIHtcclxuICAgIGNvbnN0IGlucHV0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XHJcblxyXG4gICAgaWYgKGlucHV0LmZpbGVzICYmIGlucHV0LmZpbGVzLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5mQ3RybHMuZmlsZUFyci5zZXRWYWx1ZShbXSk7XHJcblxyXG4gICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgaW5wdXQuZmlsZXMubGVuZ3RoOyBpbmRleCsrKSB7XHJcblxyXG4gICAgICAgIGNvbnN0IGZpbGUgPSBpbnB1dC5maWxlc1tpbmRleF07XHJcbiAgICAgICAgaWYgKGZpbGUuc2l6ZSA+IHRoaXMuTUFYX0ZJTEVfU0laRSkge1xyXG4gICAgICAgICAgLy8gRXhjZWVkcyBtYXggbGVuZ3RoL3NpemVcclxuICAgICAgICAgIGFsZXJ0KCdGaWxlIHNpemUgZXhjZWVkcyB0aGUgMTBNQiBsaW1pdC4nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG5cclxuICAgICAgICAgIC8vIFJlYWQgdGhlIGZpbGUgYXMgYSBEYXRhIFVSTCAoQmFzZTY0KVxyXG4gICAgICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZSk7XHJcblxyXG4gICAgICAgICAgcmVhZGVyLm9ubG9hZCA9ICgpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgYmFzZTY0UmVzdWx0ID0gcmVhZGVyLnJlc3VsdCBhcyBzdHJpbmc7XHJcblxyXG4gICAgICAgICAgICAvLyBTdHJpcCB0aGUgRGF0YSBVUkwgcHJlZml4IChlLmcuLCBcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxcIikgdG8gbGVhdmUgcmF3IEJhc2U2NCBkYXRhXHJcbiAgICAgICAgICAgIGNvbnN0IGJhc2U2NERhdGEgPSBiYXNlNjRSZXN1bHQuc3BsaXQoJywnKVsxXTtcclxuXHJcbiAgICAgICAgICAgIGxldCBmaWxlQXJyID0gWy4uLnRoaXMuZkN0cmxzLmZpbGVBcnIudmFsdWUgfHwgW11dO1xyXG5cclxuICAgICAgICAgICAgaWYgKHRoaXMuZkN0cmxzLmlzTXVsdGlwbGUudmFsdWUgPT0gZmFsc2UpIHtcclxuICAgICAgICAgICAgICBmaWxlQXJyID0gW107XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGZpbGVBcnIucHVzaCh7IGZpbGVCYXNlNjQ6IGJhc2U2NFJlc3VsdCwgbmFtZTogZmlsZS5uYW1lLCBieXRlQXJyOiBiYXNlNjREYXRhLCBpZDogbnVsbCB9KTtcclxuICAgICAgICAgICAgdGhpcy5mQ3RybHMuZmlsZUFyci5zZXRWYWx1ZShmaWxlQXJyKTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuZmlsZUlucHV0UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvcGVuRmlsZUluTmV3VGFiKGl0ZW06IHsgZmlsZUJhc2U2NDogc3RyaW5nLCBuYW1lOiBzdHJpbmcsIGlkOiBzdHJpbmcgfSkge1xyXG4gICAgaWYgKGl0ZW0/LmZpbGVCYXNlNjQpIHtcclxuICAgICAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcclxuICAgICAgbGluay5ocmVmID0gaXRlbS5maWxlQmFzZTY0O1xyXG4gICAgICBsaW5rLmRvd25sb2FkID0gaXRlbS5uYW1lIHx8ICdkb3dubG9hZGVkLWZpbGUnO1xyXG5cclxuICAgICAgLy8gQXBwZW5kIHRvIGJvZHksIHRyaWdnZXIgY2xpY2ssIGFuZCByZW1vdmVcclxuICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsaW5rKTtcclxuICAgICAgbGluay5jbGljaygpO1xyXG4gICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGxpbmspO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaXRlbT8uaWQpIHtcclxuICAgICAgdGhpcy5fYXBpU2VydmljZS5kb3dubG9hZEZpbGUoeyBmaWxlSWQ6IGl0ZW0uaWQsIGZpbGVOYW1lOiBpdGVtLm5hbWUgfSkuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkRlbGV0ZUZpbGUoaW5kZXg6IG51bWJlcik6IHZvaWQge1xyXG4gICAgY29uc3QgZmlsZUFyciA9IHRoaXMuZkN0cmxzLmZpbGVBcnIudmFsdWUgfHwgW107XHJcbiAgICB2YXIgbmV3RmlsZUFyciA9IGZpbGVBcnIuZmlsdGVyKChfLCBpKSA9PiBpICE9PSBpbmRleCk7XHJcbiAgICB0aGlzLmZDdHJscy5maWxlQXJyLnNldFZhbHVlKG5ld0ZpbGVBcnIpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInF1YXN0aW9uXCIgW2Zvcm1Hcm91cF09XCJyRm9ybVwiIFthdHRyLmlkXT1cIidxdWVzdGlvbl8nK2ZDdHJscy5pZC52YWx1ZVwiXHJcbiAgICBbbmdDbGFzc109XCJ7J2ludmFsaWQtcXVlc3Rpb24nOiBmQ3RybHMuZmlsZUFyci5pbnZhbGlkICwgJ2Qtbm9uZSc6ZkN0cmxzLmlzU2hvdy52YWx1ZSAhPSB0cnVlfVwiPlxyXG4gICAgPGgzIGNsYXNzPVwicXVhc3Rpb24tdGl0bGUgXCI+XHJcbiAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJzdXJ2ZXlRdWVzdGlvbj8ucXVlc3Rpb25UaXRsZVwiPjwvc3Bhbj5cclxuICAgICAgICA8c3BhbiBzdHlsZT1cImNvbG9yOiByZWQ7XCIgKm5nSWY9XCJzdXJ2ZXlRdWVzdGlvbi5pc1JlcXVpcmVkXCI+Kjwvc3Bhbj5cclxuICAgIDwvaDM+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGV4dC1xdWFzdGlvblwiPlxyXG4gICAgICAgIDxpbnB1dCAjZmlsZUlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgW2Rpc2FibGVkXT1cImZDdHJscy5pc0Rpc2FibGVkLnZhbHVlXCIgW211bHRpcGxlXT1cImZDdHJscy5pc011bHRpcGxlLnZhbHVlXCJcclxuICAgICAgICAgICAgdHlwZT1cImZpbGVcIiBbYWNjZXB0XT1cImZDdHJscy5hY2NlcHRlZFR5cGVzLnZhbHVlXCIgKGNoYW5nZSk9XCJvbkZpbGVTZWxlY3QoJGV2ZW50KVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1yb3cgZ2FwLTIgbXQtMlwiPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpdGVtIG9mIGZDdHJscy5maWxlQXJyLnZhbHVlOyBsZXQgaSA9IGluZGV4XCIgY2xhc3M9XCJtZS00XCI+XHJcbiAgICAgICAgICAgICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgKGNsaWNrKT1cIm9wZW5GaWxlSW5OZXdUYWIoaXRlbSlcIj57e2l0ZW0ubmFtZX19PC9hPlxyXG4gICAgICAgICAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIGNsYXNzPVwidGV4dC1kYW5nZXIgbXMtMlwiICAoY2xpY2spPVwib25EZWxldGVGaWxlKGkpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEtc29saWQgZmEteG1hcmtcIj48L2k+XHJcbiAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+Il19
@@ -5,4 +5,4 @@ export function selectQuestionId(a) {
5
5
  export const questionAdapter = createEntityAdapter({
6
6
  selectId: selectQuestionId
7
7
  });
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24uZW50aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3VydmVyeS1saWIvc3JjL2xpYi9jb3JlL3N0YXRlcy9lbnRpdGVzL3F1ZXN0aW9uLmVudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQThCLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBSy9FLE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxDQUFvQjtJQUNqRCxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQUM7QUFDeEIsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBcUMsbUJBQW1CLENBQW9CO0lBQ3BHLFFBQVEsRUFBRSxnQkFBZ0I7Q0FDN0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW50aXR5QWRhcHRlciwgRW50aXR5U3RhdGUsIGNyZWF0ZUVudGl0eUFkYXB0ZXIgfSBmcm9tIFwiQG5ncngvZW50aXR5XCI7XHJcbmltcG9ydCB7IFF1ZXN0aW9uVHlwZUVudW0gfSBmcm9tIFwiLi4vLi4vLi4vLi4vc2hhcmVkL2VudW1zL3F1ZXN0aW9uLXR5cGUuZW51bVwiO1xyXG5pbXBvcnQgeyBJbnB1dFR5cGVFbnVtIH0gZnJvbSBcIi4uLy4uLy4uLy4uL3NoYXJlZC9lbnVtcy9pbnB1dC10eXBlLmVudW1cIjtcclxuaW1wb3J0IHsgU3VydmV5UXVlc3Rpb25EdG8gfSBmcm9tIFwiLi4vLi4vLi4vLi4vc2hhcmVkL2R0b3Mvc3VydmV5LXF1ZXN0aW9uLmR0b1wiO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHNlbGVjdFF1ZXN0aW9uSWQoYTogUXVlc3Rpb25OZ3J4TW9kZWwpIHtcclxuICAgIHJldHVybiBhLnF1ZXN0aW9uSWQ7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBxdWVzdGlvbkFkYXB0ZXI6IEVudGl0eUFkYXB0ZXI8UXVlc3Rpb25OZ3J4TW9kZWw+ID0gY3JlYXRlRW50aXR5QWRhcHRlcjxRdWVzdGlvbk5ncnhNb2RlbD4oe1xyXG4gICAgc2VsZWN0SWQ6IHNlbGVjdFF1ZXN0aW9uSWRcclxufSk7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXN0aW9uRW50aXR5U3RhdGUgZXh0ZW5kcyBFbnRpdHlTdGF0ZTxRdWVzdGlvbk5ncnhNb2RlbD4geyB9XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXN0aW9uTmdyeE1vZGVsIHtcclxuICAgIHN1cnZleVBhZ2VJZDpudW1iZXI7XHJcbiAgICBxdWVzdGlvbkdyb3VwSWQ6IG51bWJlcjtcclxuICAgIHF1ZXN0aW9uSWQ7XHJcbiAgICBxdWVzdGlvblR5cGU6UXVlc3Rpb25UeXBlRW51bTtcclxuICAgIGlucHV0VHlwZUlkOklucHV0VHlwZUVudW07XHJcbiAgICBpc1F1ZXN0aW9uR3JvdXA6Ym9vbGVhbjtcclxuICAgIGFuc3dlcklkO1xyXG4gICAgYW5zd2VySWRBcnI7XHJcbiAgICBhbnN3ZXJUZXh0O1xyXG4gICAgYW5zd2VyRmlsZSA6IHtmaWxlOnN0cmluZywgbmFtZTpzdHJpbmd9W107XHJcbiAgICBhbnN3ZXJMZXZlbElkID86bnVtYmVyO1xyXG4gICAgaXNSZXF1aXJlZDpib29sZWFuO1xyXG4gICAgaXNWYWxpZDpib29sZWFuO1xyXG4gICAgb3JkZXI6IG51bWJlcjtcclxuICAgIGlzRGlzYWJsZWQgOmJvb2xlYW47XHJcbiAgICBpc1Nob3c6Ym9vbGVhbjtcclxuICAgIGlzRGlzYWJsZWRfZGVmYXVsdCA6Ym9vbGVhbjtcclxuICAgIGlzU2hvd19kZWZhdWx0OmJvb2xlYW47XHJcbiAgICBwYXJlbnRRdWVzdGlvbklkO1xyXG4gICAgcXVlc3Rpb25BbGxJbmZvIDogU3VydmV5UXVlc3Rpb25EdG87XHJcbiAgICBtYXhMZXZlbFZhbHVlPzogbnVtYmVyO1xyXG4gICAgcGFzc2VkUnVsZVF1ZXN0aW9uSWQ/OiBudW1iZXI7XHJcbn0iXX0=
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24uZW50aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3VydmVyeS1saWIvc3JjL2xpYi9jb3JlL3N0YXRlcy9lbnRpdGVzL3F1ZXN0aW9uLmVudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQThCLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBSy9FLE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxDQUFvQjtJQUNqRCxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQUM7QUFDeEIsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBcUMsbUJBQW1CLENBQW9CO0lBQ3BHLFFBQVEsRUFBRSxnQkFBZ0I7Q0FDN0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW50aXR5QWRhcHRlciwgRW50aXR5U3RhdGUsIGNyZWF0ZUVudGl0eUFkYXB0ZXIgfSBmcm9tIFwiQG5ncngvZW50aXR5XCI7XHJcbmltcG9ydCB7IFF1ZXN0aW9uVHlwZUVudW0gfSBmcm9tIFwiLi4vLi4vLi4vLi4vc2hhcmVkL2VudW1zL3F1ZXN0aW9uLXR5cGUuZW51bVwiO1xyXG5pbXBvcnQgeyBJbnB1dFR5cGVFbnVtIH0gZnJvbSBcIi4uLy4uLy4uLy4uL3NoYXJlZC9lbnVtcy9pbnB1dC10eXBlLmVudW1cIjtcclxuaW1wb3J0IHsgU3VydmV5UXVlc3Rpb25EdG8gfSBmcm9tIFwiLi4vLi4vLi4vLi4vc2hhcmVkL2R0b3Mvc3VydmV5LXF1ZXN0aW9uLmR0b1wiO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHNlbGVjdFF1ZXN0aW9uSWQoYTogUXVlc3Rpb25OZ3J4TW9kZWwpIHtcclxuICAgIHJldHVybiBhLnF1ZXN0aW9uSWQ7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBxdWVzdGlvbkFkYXB0ZXI6IEVudGl0eUFkYXB0ZXI8UXVlc3Rpb25OZ3J4TW9kZWw+ID0gY3JlYXRlRW50aXR5QWRhcHRlcjxRdWVzdGlvbk5ncnhNb2RlbD4oe1xyXG4gICAgc2VsZWN0SWQ6IHNlbGVjdFF1ZXN0aW9uSWRcclxufSk7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXN0aW9uRW50aXR5U3RhdGUgZXh0ZW5kcyBFbnRpdHlTdGF0ZTxRdWVzdGlvbk5ncnhNb2RlbD4geyB9XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXN0aW9uTmdyeE1vZGVsIHtcclxuICAgIHN1cnZleVBhZ2VJZDpudW1iZXI7XHJcbiAgICBxdWVzdGlvbkdyb3VwSWQ6IG51bWJlcjtcclxuICAgIHF1ZXN0aW9uSWQ7XHJcbiAgICBxdWVzdGlvblR5cGU6UXVlc3Rpb25UeXBlRW51bTtcclxuICAgIGlucHV0VHlwZUlkOklucHV0VHlwZUVudW07XHJcbiAgICBpc1F1ZXN0aW9uR3JvdXA6Ym9vbGVhbjtcclxuICAgIGFuc3dlcklkO1xyXG4gICAgYW5zd2VySWRBcnI7XHJcbiAgICBhbnN3ZXJUZXh0O1xyXG4gICAgYW5zd2VyRmlsZSA6IHtieXRlQXJyOnN0cmluZywgbmFtZTpzdHJpbmcgLCBpZDpzdHJpbmcgfVtdO1xyXG4gICAgYW5zd2VyTGV2ZWxJZCA/Om51bWJlcjtcclxuICAgIGlzUmVxdWlyZWQ6Ym9vbGVhbjtcclxuICAgIGlzVmFsaWQ6Ym9vbGVhbjtcclxuICAgIG9yZGVyOiBudW1iZXI7XHJcbiAgICBpc0Rpc2FibGVkIDpib29sZWFuO1xyXG4gICAgaXNTaG93OmJvb2xlYW47XHJcbiAgICBpc0Rpc2FibGVkX2RlZmF1bHQgOmJvb2xlYW47XHJcbiAgICBpc1Nob3dfZGVmYXVsdDpib29sZWFuO1xyXG4gICAgcGFyZW50UXVlc3Rpb25JZDtcclxuICAgIHF1ZXN0aW9uQWxsSW5mbyA6IFN1cnZleVF1ZXN0aW9uRHRvO1xyXG4gICAgbWF4TGV2ZWxWYWx1ZT86IG51bWJlcjtcclxuICAgIHBhc3NlZFJ1bGVRdWVzdGlvbklkPzogbnVtYmVyO1xyXG59Il19
@@ -58,7 +58,7 @@ const questionAnswers = createSelector(selectSurveyData, (state) => selectAll(st
58
58
  AnswerText: answerText,
59
59
  AnswerIdArr: x.answerIdArr,
60
60
  AnswerLevelId: x.answerLevelId,
61
- AnswerFile: x.answerFile,
61
+ AnswerFile: x.answerFile.map(x => ({ byteArr: x.byteArr, name: x.name, id: x.id })),
62
62
  PassedRuleQuestionId: x.passedRuleQuestionId
63
63
  };
64
64
  }
@@ -95,4 +95,4 @@ export const questionSelectors = {
95
95
  questionAnswers,
96
96
  allRequiredQuestionsOfCurrentPageDone
97
97
  };
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24uc2VsZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdXJ2ZXJ5LWxpYi9zcmMvbGliL2NvcmUvc3RhdGVzL3N1cnZleS1zdG9yZS9xdWVzdGlvbi5zZWxlY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXBFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUc3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFekUsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7QUFHaEUsTUFBTSxnQkFBZ0IsR0FBRyxxQkFBcUIsQ0FBYyxZQUFZLENBQUMsQ0FBQztBQUUxRSxNQUFNLFlBQVksR0FBRyxjQUFjLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztBQUUvRixNQUFNLGFBQWEsR0FBRyxjQUFjLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksSUFBSSxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztBQUVwSixNQUFNLHFDQUFxQyxHQUFHLGNBQWMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO0lBQ3JGLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksSUFBSSxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFckcsSUFBSSxXQUFXLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRTtRQUN6QixPQUFPLElBQUksQ0FBQztLQUNmO1NBQU07UUFDSCxJQUFJLGNBQWMsR0FBRyxFQUFFLENBQUM7UUFFeEIsSUFBSSxHQUFHLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQyxNQUFNLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLENBQUM7UUFDckcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNSLElBQUksQ0FBQyxDQUFDLE9BQU8sSUFBSSxJQUFJLElBQUksQ0FBQyxDQUFDLGVBQWUsSUFBSSxJQUFJLEVBQUU7Z0JBQ2hELGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDMUI7aUJBQ0k7Z0JBQ0QsSUFBSSxDQUFDLENBQUMsWUFBWSxJQUFJLGdCQUFnQixDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUMsV0FBVyxJQUFJLGFBQWEsQ0FBQyxLQUFLLEVBQUU7b0JBQ3RGLElBQUksQ0FBQyxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsT0FBTyxJQUFJLElBQUksRUFBRTt3QkFDM0MsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztxQkFDMUI7aUJBQ0o7YUFDSjtRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxjQUFjLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQztLQUNyQztBQUNMLENBQUMsQ0FBQyxDQUFDO0FBRUgsTUFBTSxlQUFlLEdBQUcsY0FBYyxDQUFDLGdCQUFnQixFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQztLQUMzRixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsZUFBZSxJQUFJLElBQUksSUFBSSxDQUFDLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtJQUVoRSxJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDO0lBQzlCLElBQUksQ0FBQyxDQUFDLFVBQVUsS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDLFVBQVUsS0FBSyxTQUFTLEVBQUU7UUFDckQsVUFBVSxHQUFHLFVBQVUsR0FBRyxFQUFFLENBQUM7S0FDaEM7SUFFRCxJQUFJLENBQUMsQ0FBQyxZQUFZLElBQUksZ0JBQWdCLENBQUMsWUFBWSxFQUFFO1FBQ2pELE9BQU87WUFDSCxlQUFlLEVBQUUsQ0FBQyxDQUFDLFlBQVk7WUFDL0IsVUFBVSxFQUFFLENBQUMsQ0FBQyxVQUFVO1lBQ3hCLFlBQVksRUFBRSxDQUFDLENBQUMsZUFBZSxDQUFDLGFBQWE7WUFDN0MsWUFBWSxFQUFFLENBQUMsQ0FBQyxZQUFZO1lBQzVCLFFBQVEsRUFBRSxDQUFDLENBQUMsYUFBYTtZQUN6QixVQUFVLEVBQUUsVUFBVTtZQUN0QixXQUFXLEVBQUUsQ0FBQyxDQUFDLFdBQVc7WUFDMUIsYUFBYSxFQUFFLENBQUMsQ0FBQyxRQUFRO1lBQ3pCLG9CQUFvQixFQUFFLENBQUMsQ0FBQyxvQkFBb0I7U0FDdkIsQ0FBQTtLQUM1QjtTQUNJLElBQUksQ0FBQyxDQUFDLFlBQVksSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUU7UUFDOUMsT0FBTztZQUNILGVBQWUsRUFBRSxDQUFDLENBQUMsWUFBWTtZQUMvQixVQUFVLEVBQUUsQ0FBQyxDQUFDLFVBQVU7WUFDeEIsWUFBWSxFQUFFLENBQUMsQ0FBQyxlQUFlLENBQUMsYUFBYTtZQUM3QyxZQUFZLEVBQUUsQ0FBQyxDQUFDLFlBQVk7WUFDNUIsUUFBUSxFQUFFLENBQUMsQ0FBQyxRQUFRO1lBQ3BCLFVBQVUsRUFBRSxVQUFVO1lBQ3RCLFdBQVcsRUFBRSxDQUFDLENBQUMsV0FBVztZQUMxQixhQUFhLEVBQUUsQ0FBQyxDQUFDLGFBQWE7WUFDOUIsVUFBVSxFQUFFLENBQUMsQ0FBQyxVQUFVO1lBQ3hCLG9CQUFvQixFQUFFLENBQUMsQ0FBQyxvQkFBb0I7U0FDdkIsQ0FBQTtLQUM1QjtTQUNJO1FBQ0QsT0FBTztZQUNILGVBQWUsRUFBRSxDQUFDLENBQUMsWUFBWTtZQUMvQixVQUFVLEVBQUUsQ0FBQyxDQUFDLFVBQVU7WUFDeEIsWUFBWSxFQUFFLENBQUMsQ0FBQyxlQUFlLENBQUMsYUFBYTtZQUM3QyxZQUFZLEVBQUUsQ0FBQyxDQUFDLFlBQVk7WUFDNUIsUUFBUSxFQUFFLENBQUMsQ0FBQyxRQUFRO1lBQ3BCLFVBQVUsRUFBRSxVQUFVO1lBQ3RCLFdBQVcsRUFBRSxDQUFDLENBQUMsV0FBVztZQUMxQixhQUFhLEVBQUUsQ0FBQyxDQUFDLGFBQWE7WUFDOUIsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDLG9CQUFvQjtTQUN2QixDQUFBO0tBQzVCO0FBQ0wsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFO0lBQ1osSUFBSSxHQUFHLENBQUMsb0JBQW9CLEtBQUssSUFBSSxJQUFJLEdBQUcsQ0FBQyxvQkFBb0IsS0FBSyxTQUFTLEVBQUU7UUFDN0UsSUFBSSxrQkFBa0IsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLElBQUksR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDMUcsSUFBSSxrQkFBa0IsRUFBRTtZQUNwQixNQUFNLFdBQVcsR0FBRyxHQUFHLENBQUMsUUFBUSxLQUFLLElBQUksSUFBSSxHQUFHLENBQUMsUUFBUSxLQUFLLFNBQVMsQ0FBQztZQUN4RSxNQUFNLGFBQWEsR0FBRyxHQUFHLENBQUMsVUFBVSxLQUFLLElBQUksSUFBSSxHQUFHLENBQUMsVUFBVSxLQUFLLFNBQVMsSUFBSSxHQUFHLENBQUMsVUFBVSxLQUFLLEVBQUUsQ0FBQztZQUN2RyxNQUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxHQUFHLENBQUMsV0FBVyxFQUFFLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDckYsTUFBTSxhQUFhLEdBQUcsR0FBRyxDQUFDLFVBQVUsS0FBSyxJQUFJLElBQUksR0FBRyxDQUFDLFVBQVUsS0FBSyxTQUFTLENBQUM7WUFFOUUsT0FBTyxXQUFXLElBQUksYUFBYSxJQUFJLGNBQWMsSUFBSSxhQUFhLENBQUM7U0FDMUU7S0FDSjtJQUVELDBEQUEwRDtJQUMxRCxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDLENBQUMsQ0FDTCxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUc7SUFDN0IsWUFBWTtJQUNaLGFBQWE7SUFDYixlQUFlO0lBQ2YscUNBQXFDO0NBQ3hDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVGZWF0dXJlU2VsZWN0b3IsIGNyZWF0ZVNlbGVjdG9yIH0gZnJvbSBcIkBuZ3J4L3N0b3JlXCI7XHJcbmltcG9ydCB7IHF1ZXN0aW9uR3JvdXBBZGFwdGVyIH0gZnJvbSBcIi4uL2VudGl0ZXMvcXVlc3Rpb24tZ3JvdXAuZW50aXR5XCI7XHJcbmltcG9ydCB7IHF1ZXN0aW9uQWRhcHRlciB9IGZyb20gXCIuLi9lbnRpdGVzL3F1ZXN0aW9uLmVudGl0eVwiO1xyXG5pbXBvcnQgeyBTdXJ2ZXlTdGF0ZSB9IGZyb20gXCIuL3N1cnZleS5yZWR1Y2VyXCI7XHJcbmltcG9ydCB7IFN1cnZleVF1ZXN0aW9uUmVzdWx0IH0gZnJvbSBcIi4uLy4uLy4uLy4uL3NoYXJlZC9tb2RlbHMvc3VydmVyeS1xdWVzdGlvbi1yZXN1bHQubW9kZWxcIjtcclxuaW1wb3J0IHsgUXVlc3Rpb25UeXBlRW51bSB9IGZyb20gXCIuLi8uLi8uLi8uLi9zaGFyZWQvZW51bXMvcXVlc3Rpb24tdHlwZS5lbnVtXCI7XHJcbmltcG9ydCB7IElucHV0VHlwZUVudW0gfSBmcm9tIFwiLi4vLi4vLi4vLi4vc2hhcmVkL2VudW1zL2lucHV0LXR5cGUuZW51bVwiO1xyXG5cclxuY29uc3QgeyBzZWxlY3RBbGwsIHNlbGVjdElkcyB9ID0gcXVlc3Rpb25BZGFwdGVyLmdldFNlbGVjdG9ycygpO1xyXG5cclxuXHJcbmNvbnN0IHNlbGVjdFN1cnZleURhdGEgPSBjcmVhdGVGZWF0dXJlU2VsZWN0b3I8U3VydmV5U3RhdGU+KCdzdXJ2ZXktbGliJyk7XHJcblxyXG5jb25zdCBhbGxRdWVzdGlvbnMgPSBjcmVhdGVTZWxlY3RvcihzZWxlY3RTdXJ2ZXlEYXRhLCAoc3RhdGUpID0+IHNlbGVjdEFsbChzdGF0ZS5xdWVzdGlvbkFycikpO1xyXG5cclxuY29uc3QgcGFnZVF1ZXN0aW9ucyA9IGNyZWF0ZVNlbGVjdG9yKHNlbGVjdFN1cnZleURhdGEsIChzdGF0ZSkgPT4gc2VsZWN0QWxsKHN0YXRlLnF1ZXN0aW9uQXJyKS5maWx0ZXIoeCA9PiB4LnN1cnZleVBhZ2VJZCA9PSBzdGF0ZS5zZWxlY3RlZFBhZ2VJZCkpO1xyXG5cclxuY29uc3QgYWxsUmVxdWlyZWRRdWVzdGlvbnNPZkN1cnJlbnRQYWdlRG9uZSA9IGNyZWF0ZVNlbGVjdG9yKHNlbGVjdFN1cnZleURhdGEsIChzdGF0ZSkgPT4ge1xyXG4gICAgY29uc3QgcXVlc3Rpb25BcnIgPSBzZWxlY3RBbGwoc3RhdGUucXVlc3Rpb25BcnIpLmZpbHRlcih4ID0+IHguc3VydmV5UGFnZUlkID09IHN0YXRlLnNlbGVjdGVkUGFnZUlkKTtcclxuXHJcbiAgICBpZiAocXVlc3Rpb25BcnIubGVuZ3RoID09IDApIHtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdmFyIGludmFsaWRSZWNvcmRzID0gW107XHJcblxyXG4gICAgICAgIHZhciBhcnIgPSBxdWVzdGlvbkFyci5maWx0ZXIoeCA9PiB4LmlzRGlzYWJsZWQgPT0gZmFsc2UgJiYgeC5pc1Nob3cgPT0gdHJ1ZSAmJiB4LmlzUmVxdWlyZWQgPT0gdHJ1ZSk7XHJcbiAgICAgICAgYXJyLm1hcCh4ID0+IHtcclxuICAgICAgICAgICAgaWYgKHguaXNWYWxpZCAhPSB0cnVlICYmIHguaXNRdWVzdGlvbkdyb3VwICE9IHRydWUpIHtcclxuICAgICAgICAgICAgICAgIGludmFsaWRSZWNvcmRzLnB1c2goeCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoeC5xdWVzdGlvblR5cGUgPT0gUXVlc3Rpb25UeXBlRW51bS5UZXh0SW5wdXQgJiYgeC5pbnB1dFR5cGVJZCA9PSBJbnB1dFR5cGVFbnVtLkVtYWlsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHguYW5zd2VyVGV4dD8udHJpbSgpICYmIHguaXNWYWxpZCAhPSB0cnVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGludmFsaWRSZWNvcmRzLnB1c2goeCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHJldHVybiBpbnZhbGlkUmVjb3Jkcy5sZW5ndGggPT0gMDtcclxuICAgIH1cclxufSk7XHJcblxyXG5jb25zdCBxdWVzdGlvbkFuc3dlcnMgPSBjcmVhdGVTZWxlY3RvcihzZWxlY3RTdXJ2ZXlEYXRhLCAoc3RhdGUpID0+IHNlbGVjdEFsbChzdGF0ZS5xdWVzdGlvbkFycilcclxuICAgIC5maWx0ZXIoeCA9PiB4LmlzUXVlc3Rpb25Hcm91cCAhPSB0cnVlICYmIHguaXNTaG93ID09IHRydWUpLm1hcCh4ID0+IHtcclxuXHJcbiAgICAgICAgdmFyIGFuc3dlclRleHQgPSB4LmFuc3dlclRleHQ7XHJcbiAgICAgICAgaWYgKHguYW5zd2VyVGV4dCAhPT0gbnVsbCAmJiB4LmFuc3dlclRleHQgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICBhbnN3ZXJUZXh0ID0gYW5zd2VyVGV4dCArIFwiXCI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoeC5xdWVzdGlvblR5cGUgPT0gUXVlc3Rpb25UeXBlRW51bS5JbnN0aXR1dGlvbnMpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIFN1cnZleVBhZ2VJbmRleDogeC5zdXJ2ZXlQYWdlSWQsXHJcbiAgICAgICAgICAgICAgICBRdWVzdGlvbklkOiB4LnF1ZXN0aW9uSWQsXHJcbiAgICAgICAgICAgICAgICBRdWVzdGlvbk5hbWU6IHgucXVlc3Rpb25BbGxJbmZvLnF1ZXN0aW9uVGl0bGUsXHJcbiAgICAgICAgICAgICAgICBRdWVzdGlvblR5cGU6IHgucXVlc3Rpb25UeXBlLFxyXG4gICAgICAgICAgICAgICAgQW5zd2VySWQ6IHguYW5zd2VyTGV2ZWxJZCxcclxuICAgICAgICAgICAgICAgIEFuc3dlclRleHQ6IGFuc3dlclRleHQsXHJcbiAgICAgICAgICAgICAgICBBbnN3ZXJJZEFycjogeC5hbnN3ZXJJZEFycixcclxuICAgICAgICAgICAgICAgIEFuc3dlckxldmVsSWQ6IHguYW5zd2VySWQsXHJcbiAgICAgICAgICAgICAgICBQYXNzZWRSdWxlUXVlc3Rpb25JZDogeC5wYXNzZWRSdWxlUXVlc3Rpb25JZFxyXG4gICAgICAgICAgICB9IGFzIFN1cnZleVF1ZXN0aW9uUmVzdWx0XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKHgucXVlc3Rpb25UeXBlID09IFF1ZXN0aW9uVHlwZUVudW0uRmlsZSkge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgU3VydmV5UGFnZUluZGV4OiB4LnN1cnZleVBhZ2VJZCxcclxuICAgICAgICAgICAgICAgIFF1ZXN0aW9uSWQ6IHgucXVlc3Rpb25JZCxcclxuICAgICAgICAgICAgICAgIFF1ZXN0aW9uTmFtZTogeC5xdWVzdGlvbkFsbEluZm8ucXVlc3Rpb25UaXRsZSxcclxuICAgICAgICAgICAgICAgIFF1ZXN0aW9uVHlwZTogeC5xdWVzdGlvblR5cGUsXHJcbiAgICAgICAgICAgICAgICBBbnN3ZXJJZDogeC5hbnN3ZXJJZCxcclxuICAgICAgICAgICAgICAgIEFuc3dlclRleHQ6IGFuc3dlclRleHQsXHJcbiAgICAgICAgICAgICAgICBBbnN3ZXJJZEFycjogeC5hbnN3ZXJJZEFycixcclxuICAgICAgICAgICAgICAgIEFuc3dlckxldmVsSWQ6IHguYW5zd2VyTGV2ZWxJZCxcclxuICAgICAgICAgICAgICAgIEFuc3dlckZpbGU6IHguYW5zd2VyRmlsZSxcclxuICAgICAgICAgICAgICAgIFBhc3NlZFJ1bGVRdWVzdGlvbklkOiB4LnBhc3NlZFJ1bGVRdWVzdGlvbklkXHJcbiAgICAgICAgICAgIH0gYXMgU3VydmV5UXVlc3Rpb25SZXN1bHRcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICBTdXJ2ZXlQYWdlSW5kZXg6IHguc3VydmV5UGFnZUlkLFxyXG4gICAgICAgICAgICAgICAgUXVlc3Rpb25JZDogeC5xdWVzdGlvbklkLFxyXG4gICAgICAgICAgICAgICAgUXVlc3Rpb25OYW1lOiB4LnF1ZXN0aW9uQWxsSW5mby5xdWVzdGlvblRpdGxlLFxyXG4gICAgICAgICAgICAgICAgUXVlc3Rpb25UeXBlOiB4LnF1ZXN0aW9uVHlwZSxcclxuICAgICAgICAgICAgICAgIEFuc3dlcklkOiB4LmFuc3dlcklkLFxyXG4gICAgICAgICAgICAgICAgQW5zd2VyVGV4dDogYW5zd2VyVGV4dCxcclxuICAgICAgICAgICAgICAgIEFuc3dlcklkQXJyOiB4LmFuc3dlcklkQXJyLFxyXG4gICAgICAgICAgICAgICAgQW5zd2VyTGV2ZWxJZDogeC5hbnN3ZXJMZXZlbElkLFxyXG4gICAgICAgICAgICAgICAgUGFzc2VkUnVsZVF1ZXN0aW9uSWQ6IHgucGFzc2VkUnVsZVF1ZXN0aW9uSWRcclxuICAgICAgICAgICAgfSBhcyBTdXJ2ZXlRdWVzdGlvblJlc3VsdFxyXG4gICAgICAgIH1cclxuICAgIH0pLmZpbHRlcihyZXMgPT4ge1xyXG4gICAgICAgIGlmIChyZXMuUGFzc2VkUnVsZVF1ZXN0aW9uSWQgIT09IG51bGwgJiYgcmVzLlBhc3NlZFJ1bGVRdWVzdGlvbklkICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgdmFyIHBhc3NlZFJ1bGVRdWVzdGlvbiA9IHNlbGVjdEFsbChzdGF0ZS5xdWVzdGlvbkFycikuZmluZCh4ID0+IHgucXVlc3Rpb25JZCA9PSByZXMuUGFzc2VkUnVsZVF1ZXN0aW9uSWQpO1xyXG4gICAgICAgICAgICBpZiAocGFzc2VkUnVsZVF1ZXN0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBoYXNBbnN3ZXJJZCA9IHJlcy5BbnN3ZXJJZCAhPT0gbnVsbCAmJiByZXMuQW5zd2VySWQgIT09IHVuZGVmaW5lZDtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGhhc0Fuc3dlclRleHQgPSByZXMuQW5zd2VyVGV4dCAhPT0gbnVsbCAmJiByZXMuQW5zd2VyVGV4dCAhPT0gdW5kZWZpbmVkICYmIHJlcy5BbnN3ZXJUZXh0ICE9PSAnJztcclxuICAgICAgICAgICAgICAgIGNvbnN0IGhhc0Fuc3dlcklkQXJyID0gQXJyYXkuaXNBcnJheShyZXMuQW5zd2VySWRBcnIpICYmIHJlcy5BbnN3ZXJJZEFycj8ubGVuZ3RoID4gMDtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGhhc0Fuc3dlckZpbGUgPSByZXMuQW5zd2VyRmlsZSAhPT0gbnVsbCAmJiByZXMuQW5zd2VyRmlsZSAhPT0gdW5kZWZpbmVkOyBcclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gaGFzQW5zd2VySWQgfHwgaGFzQW5zd2VyVGV4dCB8fCBoYXNBbnN3ZXJJZEFyciB8fCBoYXNBbnN3ZXJGaWxlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBLZWVwIHRoZSBpdGVtIGlmIGF0IGxlYXN0IG9uZSBvZiB0aGVtIGhhcyBhIHZhbGlkIHZhbHVlXHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9KVxyXG4pXHJcblxyXG5leHBvcnQgY29uc3QgcXVlc3Rpb25TZWxlY3RvcnMgPSB7XHJcbiAgICBhbGxRdWVzdGlvbnMsXHJcbiAgICBwYWdlUXVlc3Rpb25zLFxyXG4gICAgcXVlc3Rpb25BbnN3ZXJzLFxyXG4gICAgYWxsUmVxdWlyZWRRdWVzdGlvbnNPZkN1cnJlbnRQYWdlRG9uZVxyXG59Il19
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24uc2VsZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdXJ2ZXJ5LWxpYi9zcmMvbGliL2NvcmUvc3RhdGVzL3N1cnZleS1zdG9yZS9xdWVzdGlvbi5zZWxlY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXBFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUc3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFekUsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7QUFHaEUsTUFBTSxnQkFBZ0IsR0FBRyxxQkFBcUIsQ0FBYyxZQUFZLENBQUMsQ0FBQztBQUUxRSxNQUFNLFlBQVksR0FBRyxjQUFjLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztBQUUvRixNQUFNLGFBQWEsR0FBRyxjQUFjLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksSUFBSSxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztBQUVwSixNQUFNLHFDQUFxQyxHQUFHLGNBQWMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO0lBQ3JGLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENB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LEdBQUcsR0FBRyxDQUFDLFFBQVEsS0FBSyxJQUFJLElBQUksR0FBRyxDQUFDLFFBQVEsS0FBSyxTQUFTLENBQUM7WUFDeEUsTUFBTSxhQUFhLEdBQUcsR0FBRyxDQUFDLFVBQVUsS0FBSyxJQUFJLElBQUksR0FBRyxDQUFDLFVBQVUsS0FBSyxTQUFTLElBQUksR0FBRyxDQUFDLFVBQVUsS0FBSyxFQUFFLENBQUM7WUFDdkcsTUFBTSxjQUFjLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksR0FBRyxDQUFDLFdBQVcsRUFBRSxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBQ3JGLE1BQU0sYUFBYSxHQUFHLEdBQUcsQ0FBQyxVQUFVLEtBQUssSUFBSSxJQUFJLEdBQUcsQ0FBQyxVQUFVLEtBQUssU0FBUyxDQUFDO1lBRTlFLE9BQU8sV0FBVyxJQUFJLGFBQWEsSUFBSSxjQUFjLElBQUksYUFBYSxDQUFDO1NBQzFFO0tBQ0o7SUFFRCwwREFBMEQ7SUFDMUQsT0FBTyxJQUFJLENBQUM7QUFDaEIsQ0FBQyxDQUFDLENBQ0wsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHO0lBQzdCLFlBQVk7SUFDWixhQUFhO0lBQ2IsZUFBZTtJQUNmLHFDQUFxQztDQUN4QyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlRmVhdHVyZVNlbGVjdG9yLCBjcmVhdGVTZWxlY3RvciB9IGZyb20gXCJAbmdyeC9zdG9yZVwiO1xyXG5pbXBvcnQgeyBxdWVzdGlvbkdyb3VwQWRhcHRlciB9IGZyb20gXCIuLi9lbnRpdGVzL3F1ZXN0aW9uLWdyb3VwLmVudGl0eVwiO1xyXG5pbXBvcnQgeyBxdWVzdGlvbkFkYXB0ZXIgfSBmcm9tIFwiLi4vZW50aXRlcy9xdWVzdGlvbi5lbnRpdHlcIjtcclxuaW1wb3J0IHsgU3VydmV5U3RhdGUgfSBmcm9tIFwiLi9zdXJ2ZXkucmVkdWNlclwiO1xyXG5pbXBvcnQgeyBTdXJ2ZXlRdWVzdGlvblJlc3VsdCB9IGZyb20gXCIuLi8uLi8uLi8uLi9zaGFyZWQvbW9kZWxzL3N1cnZlcnktcXVlc3Rpb24tcmVzdWx0Lm1vZGVsXCI7XHJcbmltcG9ydCB7IFF1ZXN0aW9uVHlwZUVudW0gfSBmcm9tIFwiLi4vLi4vLi4vLi4vc2hhcmVkL2VudW1zL3F1ZXN0aW9uLXR5cGUuZW51bVwiO1xyXG5pbXBvcnQgeyBJbnB1dFR5cGVFbnVtIH0gZnJvbSBcIi4uLy4uLy4uLy4uL3NoYXJlZC9lbnVtcy9pbnB1dC10eXBlLmVudW1cIjtcclxuXHJcbmNvbnN0IHsgc2VsZWN0QWxsLCBzZWxlY3RJZHMgfSA9IHF1ZXN0aW9uQWRhcHRlci5nZXRTZWxlY3RvcnMoKTtcclxuXHJcblxyXG5jb25zdCBzZWxlY3RTdXJ2ZXlEYXRhID0gY3JlYXRlRmVhdHVyZVNlbGVjdG9yPFN1cnZleVN0YXRlPignc3VydmV5LWxpYicpO1xyXG5cclxuY29uc3QgYWxsUXVlc3Rpb25zID0gY3JlYXRlU2VsZWN0b3Ioc2VsZWN0U3VydmV5RGF0YSwgKHN0YXRlKSA9PiBzZWxlY3RBbGwoc3RhdGUucXVlc3Rpb25BcnIpKTtcclxuXHJcbmNvbnN0IHBhZ2VRdWVzdGlvbnMgPSBjcmVhdGVTZWxlY3RvcihzZWxlY3RTdXJ2ZXlEYXRhLCAoc3RhdGUpID0+IHNlbGVjdEFsbChzdGF0ZS5xdWVzdGlvbkFycikuZmlsdGVyKHggPT4geC5zdXJ2ZXlQYWdlSWQgPT0gc3RhdGUuc2VsZWN0ZWRQYWdlSWQpKTtcclxuXHJcbmNvbnN0IGFsbFJlcXVpcmVkUXVlc3Rpb25zT2ZDdXJyZW50UGFnZURvbmUgPSBjcmVhdGVTZWxlY3RvcihzZWxlY3RTdXJ2ZXlEYXRhLCAoc3RhdGUpID0+IHtcclxuICAgIGNvbnN0IHF1ZXN0aW9uQXJyID0gc2VsZWN0QWxsKHN0YXRlLnF1ZXN0aW9uQXJyKS5maWx0ZXIoeCA9PiB4LnN1cnZleVBhZ2VJZCA9PSBzdGF0ZS5zZWxlY3RlZFBhZ2VJZCk7XHJcblxyXG4gICAgaWYgKHF1ZXN0aW9uQXJyLmxlbmd0aCA9PSAwKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAgIHZhciBpbnZhbGlkUmVjb3JkcyA9IFtdO1xyXG5cclxuICAgICAgICB2YXIgYXJyID0gcXVlc3Rpb25BcnIuZmlsdGVyKHggPT4geC5pc0Rpc2FibGVkID09IGZhbHNlICYmIHguaXNTaG93ID09IHRydWUgJiYgeC5pc1JlcXVpcmVkID09IHRydWUpO1xyXG4gICAgICAgIGFyci5tYXAoeCA9PiB7XHJcbiAgICAgICAgICAgIGlmICh4LmlzVmFsaWQgIT0gdHJ1ZSAmJiB4LmlzUXVlc3Rpb25Hcm91cCAhPSB0cnVlKSB7XHJcbiAgICAgICAgICAgICAgICBpbnZhbGlkUmVjb3Jkcy5wdXNoKHgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgaWYgKHgucXVlc3Rpb25UeXBlID09IFF1ZXN0aW9uVHlwZUVudW0uVGV4dElucHV0ICYmIHguaW5wdXRUeXBlSWQgPT0gSW5wdXRUeXBlRW51bS5FbWFpbCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICh4LmFuc3dlclRleHQ/LnRyaW0oKSAmJiB4LmlzVmFsaWQgIT0gdHJ1ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpbnZhbGlkUmVjb3Jkcy5wdXNoKHgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICByZXR1cm4gaW52YWxpZFJlY29yZHMubGVuZ3RoID09IDA7XHJcbiAgICB9XHJcbn0pO1xyXG5cclxuY29uc3QgcXVlc3Rpb25BbnN3ZXJzID0gY3JlYXRlU2VsZWN0b3Ioc2VsZWN0U3VydmV5RGF0YSwgKHN0YXRlKSA9PiBzZWxlY3RBbGwoc3RhdGUucXVlc3Rpb25BcnIpXHJcbiAgICAuZmlsdGVyKHggPT4geC5pc1F1ZXN0aW9uR3JvdXAgIT0gdHJ1ZSAmJiB4LmlzU2hvdyA9PSB0cnVlKS5tYXAoeCA9PiB7XHJcblxyXG4gICAgICAgIHZhciBhbnN3ZXJUZXh0ID0geC5hbnN3ZXJUZXh0O1xyXG4gICAgICAgIGlmICh4LmFuc3dlclRleHQgIT09IG51bGwgJiYgeC5hbnN3ZXJUZXh0ICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgYW5zd2VyVGV4dCA9IGFuc3dlclRleHQgKyBcIlwiO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHgucXVlc3Rpb25UeXBlID09IFF1ZXN0aW9uVHlwZUVudW0uSW5zdGl0dXRpb25zKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICBTdXJ2ZXlQYWdlSW5kZXg6IHguc3VydmV5UGFnZUlkLFxyXG4gICAgICAgICAgICAgICAgUXVlc3Rpb25JZDogeC5xdWVzdGlvbklkLFxyXG4gICAgICAgICAgICAgICAgUXVlc3Rpb25OYW1lOiB4LnF1ZXN0aW9uQWxsSW5mby5xdWVzdGlvblRpdGxlLFxyXG4gICAgICAgICAgICAgICAgUXVlc3Rpb25UeXBlOiB4LnF1ZXN0aW9uVHlwZSxcclxuICAgICAgICAgICAgICAgIEFuc3dlcklkOiB4LmFuc3dlckxldmVsSWQsXHJcbiAgICAgICAgICAgICAgICBBbnN3ZXJUZXh0OiBhbnN3ZXJUZXh0LFxyXG4gICAgICAgICAgICAgICAgQW5zd2VySWRBcnI6IHguYW5zd2VySWRBcnIsXHJcbiAgICAgICAgICAgICAgICBBbnN3ZXJMZXZlbElkOiB4LmFuc3dlcklkLFxyXG4gICAgICAgICAgICAgICAgUGFzc2VkUnVsZVF1ZXN0aW9uSWQ6IHgucGFzc2VkUnVsZVF1ZXN0aW9uSWRcclxuICAgICAgICAgICAgfSBhcyBTdXJ2ZXlRdWVzdGlvblJlc3VsdFxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmICh4LnF1ZXN0aW9uVHlwZSA9PSBRdWVzdGlvblR5cGVFbnVtLkZpbGUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIFN1cnZleVBhZ2VJbmRleDogeC5zdXJ2ZXlQYWdlSWQsXHJcbiAgICAgICAgICAgICAgICBRdWVzdGlvbklkOiB4LnF1ZXN0aW9uSWQsXHJcbiAgICAgICAgICAgICAgICBRdWVzdGlvbk5hbWU6IHgucXVlc3Rpb25BbGxJbmZvLnF1ZXN0aW9uVGl0bGUsXHJcbiAgICAgICAgICAgICAgICBRdWVzdGlvblR5cGU6IHgucXVlc3Rpb25UeXBlLFxyXG4gICAgICAgICAgICAgICAgQW5zd2VySWQ6IHguYW5zd2VySWQsXHJcbiAgICAgICAgICAgICAgICBBbnN3ZXJUZXh0OiBhbnN3ZXJUZXh0LFxyXG4gICAgICAgICAgICAgICAgQW5zd2VySWRBcnI6IHguYW5zd2VySWRBcnIsXHJcbiAgICAgICAgICAgICAgICBBbnN3ZXJMZXZlbElkOiB4LmFuc3dlckxldmVsSWQsXHJcbiAgICAgICAgICAgICAgICBBbnN3ZXJGaWxlOiB4LmFuc3dlckZpbGUubWFwKHggPT4gKHsgYnl0ZUFycjogeC5ieXRlQXJyLCBuYW1lOiB4Lm5hbWUsIGlkOiB4LmlkIH0pKSxcclxuICAgICAgICAgICAgICAgIFBhc3NlZFJ1bGVRdWVzdGlvbklkOiB4LnBhc3NlZFJ1bGVRdWVzdGlvbklkXHJcbiAgICAgICAgICAgIH0gYXMgU3VydmV5UXVlc3Rpb25SZXN1bHRcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICBTdXJ2ZXlQYWdlSW5kZXg6IHguc3VydmV5UGFnZUlkLFxyXG4gICAgICAgICAgICAgICAgUXVlc3Rpb25JZDogeC5xdWVzdGlvbklkLFxyXG4gICAgICAgICAgICAgICAgUXVlc3Rpb25OYW1lOiB4LnF1ZXN0aW9uQWxsSW5mby5xdWVzdGlvblRpdGxlLFxyXG4gICAgICAgICAgICAgICAgUXVlc3Rpb25UeXBlOiB4LnF1ZXN0aW9uVHlwZSxcclxuICAgICAgICAgICAgICAgIEFuc3dlcklkOiB4LmFuc3dlcklkLFxyXG4gICAgICAgICAgICAgICAgQW5zd2VyVGV4dDogYW5zd2VyVGV4dCxcclxuICAgICAgICAgICAgICAgIEFuc3dlcklkQXJyOiB4LmFuc3dlcklkQXJyLFxyXG4gICAgICAgICAgICAgICAgQW5zd2VyTGV2ZWxJZDogeC5hbnN3ZXJMZXZlbElkLFxyXG4gICAgICAgICAgICAgICAgUGFzc2VkUnVsZVF1ZXN0aW9uSWQ6IHgucGFzc2VkUnVsZVF1ZXN0aW9uSWRcclxuICAgICAgICAgICAgfSBhcyBTdXJ2ZXlRdWVzdGlvblJlc3VsdFxyXG4gICAgICAgIH1cclxuICAgIH0pLmZpbHRlcihyZXMgPT4ge1xyXG4gICAgICAgIGlmIChyZXMuUGFzc2VkUnVsZVF1ZXN0aW9uSWQgIT09IG51bGwgJiYgcmVzLlBhc3NlZFJ1bGVRdWVzdGlvbklkICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgdmFyIHBhc3NlZFJ1bGVRdWVzdGlvbiA9IHNlbGVjdEFsbChzdGF0ZS5xdWVzdGlvbkFycikuZmluZCh4ID0+IHgucXVlc3Rpb25JZCA9PSByZXMuUGFzc2VkUnVsZVF1ZXN0aW9uSWQpO1xyXG4gICAgICAgICAgICBpZiAocGFzc2VkUnVsZVF1ZXN0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBoYXNBbnN3ZXJJZCA9IHJlcy5BbnN3ZXJJZCAhPT0gbnVsbCAmJiByZXMuQW5zd2VySWQgIT09IHVuZGVmaW5lZDtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGhhc0Fuc3dlclRleHQgPSByZXMuQW5zd2VyVGV4dCAhPT0gbnVsbCAmJiByZXMuQW5zd2VyVGV4dCAhPT0gdW5kZWZpbmVkICYmIHJlcy5BbnN3ZXJUZXh0ICE9PSAnJztcclxuICAgICAgICAgICAgICAgIGNvbnN0IGhhc0Fuc3dlcklkQXJyID0gQXJyYXkuaXNBcnJheShyZXMuQW5zd2VySWRBcnIpICYmIHJlcy5BbnN3ZXJJZEFycj8ubGVuZ3RoID4gMDtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGhhc0Fuc3dlckZpbGUgPSByZXMuQW5zd2VyRmlsZSAhPT0gbnVsbCAmJiByZXMuQW5zd2VyRmlsZSAhPT0gdW5kZWZpbmVkOyBcclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gaGFzQW5zd2VySWQgfHwgaGFzQW5zd2VyVGV4dCB8fCBoYXNBbnN3ZXJJZEFyciB8fCBoYXNBbnN3ZXJGaWxlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBLZWVwIHRoZSBpdGVtIGlmIGF0IGxlYXN0IG9uZSBvZiB0aGVtIGhhcyBhIHZhbGlkIHZhbHVlXHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9KVxyXG4pXHJcblxyXG5leHBvcnQgY29uc3QgcXVlc3Rpb25TZWxlY3RvcnMgPSB7XHJcbiAgICBhbGxRdWVzdGlvbnMsXHJcbiAgICBwYWdlUXVlc3Rpb25zLFxyXG4gICAgcXVlc3Rpb25BbnN3ZXJzLFxyXG4gICAgYWxsUmVxdWlyZWRRdWVzdGlvbnNPZkN1cnJlbnRQYWdlRG9uZVxyXG59Il19
@@ -31,4 +31,4 @@ export const surveyActions = {
31
31
  loadInstitutionArrSuccess,
32
32
  resetSurvey
33
33
  };
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VydmV5LmFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N1cnZlcnktbGliL3NyYy9saWIvY29yZS9zdGF0ZXMvc3VydmV5LXN0b3JlL3N1cnZleS5hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFNbEQsTUFBTSxVQUFVLEdBQUcsWUFBWSxDQUFDLDhCQUE4QixFQUFFLEtBQUssRUFDTSxDQUFDLENBQUM7QUFFN0UsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLCtCQUErQixFQUFDLEtBQUssRUFBZ0MsQ0FBQyxDQUFBO0FBQ3ZHLE1BQU0sb0JBQW9CLEdBQUcsWUFBWSxDQUFDLHlDQUF5QyxFQUFDLEtBQUssRUFBcUQsQ0FBQyxDQUFDO0FBQ2hKLE1BQU0sd0JBQXdCLEdBQUcsWUFBWSxDQUFDLHlDQUF5QyxFQUFDLEtBQUssRUFBbUYsQ0FBQyxDQUFDO0FBQ2xMLE1BQU0sK0JBQStCLEdBQUcsWUFBWSxDQUFDLHFEQUFxRCxFQUN0RyxLQUFLLEVBQXNGLENBQUMsQ0FBQztBQUNqRyxNQUFNLGtCQUFrQixHQUFHLFlBQVksQ0FBQyx1Q0FBdUMsRUFBQyxLQUFLLEVBQXNDLENBQUMsQ0FBQztBQUM3SCxNQUFNLG1CQUFtQixHQUFHLFlBQVksQ0FBQyx3Q0FBd0MsRUFBQyxLQUFLLEVBQXdFLENBQUMsQ0FBQztBQUNqSyxNQUFNLHFCQUFxQixHQUFHLFlBQVksQ0FBQywwQ0FBMEMsRUFBQyxLQUFLLEVBQTJDLENBQUMsQ0FBQztBQUN4SSxNQUFNLHNCQUFzQixHQUFHLFlBQVksQ0FBQywyQ0FBMkMsRUFBQyxLQUFLLEVBQTRFLENBQUMsQ0FBQztBQUMzSyxNQUFNLHNCQUFzQixHQUFHLFlBQVksQ0FBQywyQ0FBMkMsRUFBQyxLQUFLLEVBQTJDLENBQUMsQ0FBQztBQUMxSSxNQUFNLGNBQWMsR0FBRyxZQUFZLENBQUMsa0NBQWtDLEVBQUMsS0FBSyxFQUFvQixDQUFDLENBQUE7QUFFakcsTUFBTSxZQUFZLEdBQUksWUFBWSxDQUFDLGlDQUFpQyxFQUFDLEtBQUssRUFBbUIsQ0FBQyxDQUFDO0FBRS9GLE1BQU0sa0JBQWtCLEdBQUcsWUFBWSxDQUFDLHVDQUF1QyxDQUFDLENBQUM7QUFDakYsTUFBTSx5QkFBeUIsR0FBRyxZQUFZLENBQUMsK0NBQStDLEVBQUMsS0FBSyxFQUFxQyxDQUFDLENBQUE7QUFFMUksTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLCtCQUErQixDQUFDLENBQUE7QUFFakUsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFFO0lBQ3hCLFVBQVU7SUFDVixXQUFXO0lBQ1gsb0JBQW9CO0lBQ3BCLHdCQUF3QjtJQUN4QiwrQkFBK0I7SUFDL0Isa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixxQkFBcUI7SUFDckIsc0JBQXNCO0lBQ3RCLHNCQUFzQjtJQUN0QixjQUFjO0lBQ2QsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQix5QkFBeUI7SUFDekIsV0FBVztDQUNkLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVBY3Rpb24sIHByb3BzIH0gZnJvbSBcIkBuZ3J4L3N0b3JlXCI7XHJcbmltcG9ydCB7IFF1ZXN0aW9uTmdyeE1vZGVsIH0gZnJvbSBcIi4uL2VudGl0ZXMvcXVlc3Rpb24uZW50aXR5XCI7XHJcbmltcG9ydCB7IFJ1bGVOZ3J4TW9kZWwgfSBmcm9tIFwiLi4vZW50aXRlcy9ydWxlLmVudGl0eVwiO1xyXG5pbXBvcnQgeyBRdWVzdGlvbkdyb3VwTmdyeE1vZGVsIH0gZnJvbSBcIi4uL2VudGl0ZXMvcXVlc3Rpb24tZ3JvdXAuZW50aXR5XCI7XHJcbmltcG9ydCB7IEluc3RpdHV0aW9uRHRvIH0gZnJvbSBcIi4uLy4uLy4uLy4uL3NoYXJlZC9kdG9zL2luc3RpdHV0aW9uLmR0b1wiO1xyXG5cclxuY29uc3QgbG9hZFN1cnZleSA9IGNyZWF0ZUFjdGlvbignW1N1cnZleSBsaWJyYXJ5XSBMb2FkIFN1cnZleScsIHByb3BzPHsgcXVlc3Rpb25BcnI6IFF1ZXN0aW9uTmdyeE1vZGVsW10gLCBydWxlQXJyOlJ1bGVOZ3J4TW9kZWxbXSAsXHJcbiAgICBxdWVzdGlvbkdyb3VwQXJyIDogUXVlc3Rpb25Hcm91cE5ncnhNb2RlbFtdICxzZWxlY3RlZFBhZ2VJZDpudW1iZXIgfT4oKSk7XHJcblxyXG5jb25zdCBhZGRRdWVzdGlvbiA9IGNyZWF0ZUFjdGlvbignW1N1cnZleSBsaWJyYXJ5XSBBZGQgUXVlc3Rpb24nLHByb3BzPHtxdWVzdGlvbjpRdWVzdGlvbk5ncnhNb2RlbH0+KCkpXHJcbmNvbnN0IHVwZGF0ZVF1ZXN0aW9uQW5zd2VyID0gY3JlYXRlQWN0aW9uKCdbU3VydmV5IGxpYnJhcnldIFVwZGF0ZSBRdWVzdGlvbiBBbnN3ZXInLHByb3BzPHtxdWVzdGlvbklkOmFueSAsIGFuc3dlciA6YW55ICxpc1ZhbGlkIDogYm9vbGVhbn0+KCkpO1xyXG5jb25zdCB1cGRhdGVRdWVzdGlvbkZpbGVBbnN3ZXIgPSBjcmVhdGVBY3Rpb24oJ1tTdXJ2ZXkgbGlicmFyeV0gVXBkYXRlIFF1ZXN0aW9uIEFuc3dlcicscHJvcHM8e3F1ZXN0aW9uSWQ6YW55ICxmaWxlQXJyIDoge2J5dGVBcnI6c3RyaW5nLCBuYW1lOnN0cmluZ30gW10gLGlzVmFsaWQgOiBib29sZWFufT4oKSk7XHJcbmNvbnN0IHVwZGF0ZUluc3RpdHV0aW9uUXVlc3Rpb25BbnN3ZXIgPSBjcmVhdGVBY3Rpb24oJ1tTdXJ2ZXkgbGlicmFyeV0gVXBkYXRlIEluc3RpdHV0aW9uIFF1ZXN0aW9uIEFuc3dlcicsXHJcbiAgICBwcm9wczx7cXVlc3Rpb25JZDphbnkgLCBhbnN3ZXIgOmFueSAsYW5zd2VySWQ6YW55ICxhbnN3ZXJMZXZlbElkOmFueSAsaXNWYWxpZCA6IGJvb2xlYW59PigpKTtcclxuY29uc3QgdXBkYXRlUXVlc3Rpb25TaG93ID0gY3JlYXRlQWN0aW9uKCdbU3VydmV5IGxpYnJhcnldIFVwZGF0ZSBRdWVzdGlvbiBTaG93Jyxwcm9wczx7cXVlc3Rpb25JZDphbnkgLGlzU2hvdyA6IGJvb2xlYW59PigpKTtcclxuY29uc3QgdXBkYXRlUXVlc3Rpb25zU2hvdyA9IGNyZWF0ZUFjdGlvbignW1N1cnZleSBsaWJyYXJ5XSBVcGRhdGUgUXVlc3Rpb25zIFNob3cnLHByb3BzPHtxdWVzdGlvbnM6e2lkOmFueSAsIHBhc3NlZFJ1bGVRdWVzdGlvbklkOmFueX1bXSwgaXNTaG93IDogYm9vbGVhbiB9PigpKTtcclxuY29uc3QgdXBkYXRlUXVlc3Rpb25EaXNhYmxlID0gY3JlYXRlQWN0aW9uKCdbU3VydmV5IGxpYnJhcnldIFVwZGF0ZSBRdWVzdGlvbiBEaXNhYmxlJyxwcm9wczx7cXVlc3Rpb25JZDphbnkgLCBpc0Rpc2FibGVkIDogYm9vbGVhbn0+KCkpO1xyXG5jb25zdCB1cGRhdGVRdWVzdGlvbnNEaXNhYmxlID0gY3JlYXRlQWN0aW9uKCdbU3VydmV5IGxpYnJhcnldIFVwZGF0ZSBRdWVzdGlvbnMgRGlzYWJsZScscHJvcHM8e3F1ZXN0aW9uczp7aWQ6YW55ICwgcGFzc2VkUnVsZVF1ZXN0aW9uSWQ6YW55fVtdICwgaXNEaXNhYmxlZCA6IGJvb2xlYW59PigpKTtcclxuY29uc3QgdXBkYXRlUXVlc3Rpb25SZXF1aXJlZCA9IGNyZWF0ZUFjdGlvbignW1N1cnZleSBsaWJyYXJ5XSBVcGRhdGUgUXVlc3Rpb24gUmVxdWlyZWQnLHByb3BzPHtxdWVzdGlvbklkOmFueSAsIGlzUmVxdWlyZWQgOiBib29sZWFufT4oKSk7XHJcbmNvbnN0IHJlbW92ZVF1ZXN0aW9uID0gY3JlYXRlQWN0aW9uKCdbU3VydmV5IGxpYnJhcnldIFJlbW92ZSBRdWVzdGlvbicscHJvcHM8e3F1ZXN0aW9uSWQ6YW55fT4oKSlcclxuXHJcbmNvbnN0IHVwZGF0ZVBhZ2VJZCA9ICBjcmVhdGVBY3Rpb24oJ1tTdXJ2ZXkgbGlicmFyeV0gVXBkYXRlIFBhZ2UgSWQnLHByb3BzPHtwYWdlSWQ6bnVtYmVyfT4oKSk7XHJcblxyXG5jb25zdCBsb2FkSW5zdGl0dXRpb25BcnIgPSBjcmVhdGVBY3Rpb24oJ1tTdXJ2ZXkgbGlicmFyeV0gTG9hZCBJbnN0aXR1dGlvbiBBcnInKTtcclxuY29uc3QgbG9hZEluc3RpdHV0aW9uQXJyU3VjY2VzcyA9IGNyZWF0ZUFjdGlvbignW1N1cnZleSBsaWJyYXJ5XSBMb2FkIEluc3RpdHV0aW9uIEFyciBTdWNjZXNzJyxwcm9wczx7aW5zdGl0dXRpb25BcnI6SW5zdGl0dXRpb25EdG9bXX0+KCkpXHJcblxyXG5jb25zdCByZXNldFN1cnZleSA9IGNyZWF0ZUFjdGlvbignW1N1cnZleSBsaWJyYXJ5XSBSZXNldCBTdXJ2ZXknKVxyXG5cclxuZXhwb3J0IGNvbnN0IHN1cnZleUFjdGlvbnMgPXtcclxuICAgIGxvYWRTdXJ2ZXkgLFxyXG4gICAgYWRkUXVlc3Rpb24gLFxyXG4gICAgdXBkYXRlUXVlc3Rpb25BbnN3ZXIsXHJcbiAgICB1cGRhdGVRdWVzdGlvbkZpbGVBbnN3ZXIsXHJcbiAgICB1cGRhdGVJbnN0aXR1dGlvblF1ZXN0aW9uQW5zd2VyLFxyXG4gICAgdXBkYXRlUXVlc3Rpb25TaG93LFxyXG4gICAgdXBkYXRlUXVlc3Rpb25zU2hvdyxcclxuICAgIHVwZGF0ZVF1ZXN0aW9uRGlzYWJsZSxcclxuICAgIHVwZGF0ZVF1ZXN0aW9uc0Rpc2FibGUsXHJcbiAgICB1cGRhdGVRdWVzdGlvblJlcXVpcmVkLFxyXG4gICAgcmVtb3ZlUXVlc3Rpb24gLFxyXG4gICAgdXBkYXRlUGFnZUlkICxcclxuICAgIGxvYWRJbnN0aXR1dGlvbkFycixcclxuICAgIGxvYWRJbnN0aXR1dGlvbkFyclN1Y2Nlc3MsXHJcbiAgICByZXNldFN1cnZleVxyXG59XHJcbiJdfQ==
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VydmV5LmFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N1cnZlcnktbGliL3NyYy9saWIvY29yZS9zdGF0ZXMvc3VydmV5LXN0b3JlL3N1cnZleS5hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFNbEQsTUFBTSxVQUFVLEdBQUcsWUFBWSxDQUFDLDhCQUE4QixFQUFFLEtBQUssRUFDTSxDQUFDLENBQUM7QUFFN0UsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLCtCQUErQixFQUFDLEtBQUssRUFBZ0MsQ0FBQyxDQUFBO0FBQ3ZHLE1BQU0sb0JBQW9CLEdBQUcsWUFBWSxDQUFDLHlDQUF5QyxFQUFDLEtBQUssRUFBcUQsQ0FBQyxDQUFDO0FBQ2hKLE1BQU0sd0JBQXdCLEdBQUcsWUFBWSxDQUFDLHlDQUF5QyxFQUFDLEtBQUssRUFBK0YsQ0FBQyxDQUFDO0FBQzlMLE1BQU0sK0JBQStCLEdBQUcsWUFBWSxDQUFDLHFEQUFxRCxFQUN0RyxLQUFLLEVBQXNGLENBQUMsQ0FBQztBQUNqRyxNQUFNLGtCQUFrQixHQUFHLFlBQVksQ0FBQyx1Q0FBdUMsRUFBQyxLQUFLLEVBQXNDLENBQUMsQ0FBQztBQUM3SCxNQUFNLG1CQUFtQixHQUFHLFlBQVksQ0FBQyx3Q0FBd0MsRUFBQyxLQUFLLEVBQXdFLENBQUMsQ0FBQztBQUNqSyxNQUFNLHFCQUFxQixHQUFHLFlBQVksQ0FBQywwQ0FBMEMsRUFBQyxLQUFLLEVBQTJDLENBQUMsQ0FBQztBQUN4SSxNQUFNLHNCQUFzQixHQUFHLFlBQVksQ0FBQywyQ0FBMkMsRUFBQyxLQUFLLEVBQTRFLENBQUMsQ0FBQztBQUMzSyxNQUFNLHNCQUFzQixHQUFHLFlBQVksQ0FBQywyQ0FBMkMsRUFBQyxLQUFLLEVBQTJDLENBQUMsQ0FBQztBQUMxSSxNQUFNLGNBQWMsR0FBRyxZQUFZLENBQUMsa0NBQWtDLEVBQUMsS0FBSyxFQUFvQixDQUFDLENBQUE7QUFFakcsTUFBTSxZQUFZLEdBQUksWUFBWSxDQUFDLGlDQUFpQyxFQUFDLEtBQUssRUFBbUIsQ0FBQyxDQUFDO0FBRS9GLE1BQU0sa0JBQWtCLEdBQUcsWUFBWSxDQUFDLHVDQUF1QyxDQUFDLENBQUM7QUFDakYsTUFBTSx5QkFBeUIsR0FBRyxZQUFZLENBQUMsK0NBQStDLEVBQUMsS0FBSyxFQUFxQyxDQUFDLENBQUE7QUFFMUksTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLCtCQUErQixDQUFDLENBQUE7QUFFakUsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFFO0lBQ3hCLFVBQVU7SUFDVixXQUFXO0lBQ1gsb0JBQW9CO0lBQ3BCLHdCQUF3QjtJQUN4QiwrQkFBK0I7SUFDL0Isa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixxQkFBcUI7SUFDckIsc0JBQXNCO0lBQ3RCLHNCQUFzQjtJQUN0QixjQUFjO0lBQ2QsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQix5QkFBeUI7SUFDekIsV0FBVztDQUNkLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVBY3Rpb24sIHByb3BzIH0gZnJvbSBcIkBuZ3J4L3N0b3JlXCI7XHJcbmltcG9ydCB7IFF1ZXN0aW9uTmdyeE1vZGVsIH0gZnJvbSBcIi4uL2VudGl0ZXMvcXVlc3Rpb24uZW50aXR5XCI7XHJcbmltcG9ydCB7IFJ1bGVOZ3J4TW9kZWwgfSBmcm9tIFwiLi4vZW50aXRlcy9ydWxlLmVudGl0eVwiO1xyXG5pbXBvcnQgeyBRdWVzdGlvbkdyb3VwTmdyeE1vZGVsIH0gZnJvbSBcIi4uL2VudGl0ZXMvcXVlc3Rpb24tZ3JvdXAuZW50aXR5XCI7XHJcbmltcG9ydCB7IEluc3RpdHV0aW9uRHRvIH0gZnJvbSBcIi4uLy4uLy4uLy4uL3NoYXJlZC9kdG9zL2luc3RpdHV0aW9uLmR0b1wiO1xyXG5cclxuY29uc3QgbG9hZFN1cnZleSA9IGNyZWF0ZUFjdGlvbignW1N1cnZleSBsaWJyYXJ5XSBMb2FkIFN1cnZleScsIHByb3BzPHsgcXVlc3Rpb25BcnI6IFF1ZXN0aW9uTmdyeE1vZGVsW10gLCBydWxlQXJyOlJ1bGVOZ3J4TW9kZWxbXSAsXHJcbiAgICBxdWVzdGlvbkdyb3VwQXJyIDogUXVlc3Rpb25Hcm91cE5ncnhNb2RlbFtdICxzZWxlY3RlZFBhZ2VJZDpudW1iZXIgfT4oKSk7XHJcblxyXG5jb25zdCBhZGRRdWVzdGlvbiA9IGNyZWF0ZUFjdGlvbignW1N1cnZleSBsaWJyYXJ5XSBBZGQgUXVlc3Rpb24nLHByb3BzPHtxdWVzdGlvbjpRdWVzdGlvbk5ncnhNb2RlbH0+KCkpXHJcbmNvbnN0IHVwZGF0ZVF1ZXN0aW9uQW5zd2VyID0gY3JlYXRlQWN0aW9uKCdbU3VydmV5IGxpYnJhcnldIFVwZGF0ZSBRdWVzdGlvbiBBbnN3ZXInLHByb3BzPHtxdWVzdGlvbklkOmFueSAsIGFuc3dlciA6YW55ICxpc1ZhbGlkIDogYm9vbGVhbn0+KCkpO1xyXG5jb25zdCB1cGRhdGVRdWVzdGlvbkZpbGVBbnN3ZXIgPSBjcmVhdGVBY3Rpb24oJ1tTdXJ2ZXkgbGlicmFyeV0gVXBkYXRlIFF1ZXN0aW9uIEFuc3dlcicscHJvcHM8e3F1ZXN0aW9uSWQ6YW55ICxmaWxlQXJyIDoge2J5dGVBcnI6c3RyaW5nLCBuYW1lOnN0cmluZyAsIGlkOnN0cmluZ30gW10gLGlzVmFsaWQgOiBib29sZWFufT4oKSk7XHJcbmNvbnN0IHVwZGF0ZUluc3RpdHV0aW9uUXVlc3Rpb25BbnN3ZXIgPSBjcmVhdGVBY3Rpb24oJ1tTdXJ2ZXkgbGlicmFyeV0gVXBkYXRlIEluc3RpdHV0aW9uIFF1ZXN0aW9uIEFuc3dlcicsXHJcbiAgICBwcm9wczx7cXVlc3Rpb25JZDphbnkgLCBhbnN3ZXIgOmFueSAsYW5zd2VySWQ6YW55ICxhbnN3ZXJMZXZlbElkOmFueSAsaXNWYWxpZCA6IGJvb2xlYW59PigpKTtcclxuY29uc3QgdXBkYXRlUXVlc3Rpb25TaG93ID0gY3JlYXRlQWN0aW9uKCdbU3VydmV5IGxpYnJhcnldIFVwZGF0ZSBRdWVzdGlvbiBTaG93Jyxwcm9wczx7cXVlc3Rpb25JZDphbnkgLGlzU2hvdyA6IGJvb2xlYW59PigpKTtcclxuY29uc3QgdXBkYXRlUXVlc3Rpb25zU2hvdyA9IGNyZWF0ZUFjdGlvbignW1N1cnZleSBsaWJyYXJ5XSBVcGRhdGUgUXVlc3Rpb25zIFNob3cnLHByb3BzPHtxdWVzdGlvbnM6e2lkOmFueSAsIHBhc3NlZFJ1bGVRdWVzdGlvbklkOmFueX1bXSwgaXNTaG93IDogYm9vbGVhbiB9PigpKTtcclxuY29uc3QgdXBkYXRlUXVlc3Rpb25EaXNhYmxlID0gY3JlYXRlQWN0aW9uKCdbU3VydmV5IGxpYnJhcnldIFVwZGF0ZSBRdWVzdGlvbiBEaXNhYmxlJyxwcm9wczx7cXVlc3Rpb25JZDphbnkgLCBpc0Rpc2FibGVkIDogYm9vbGVhbn0+KCkpO1xyXG5jb25zdCB1cGRhdGVRdWVzdGlvbnNEaXNhYmxlID0gY3JlYXRlQWN0aW9uKCdbU3VydmV5IGxpYnJhcnldIFVwZGF0ZSBRdWVzdGlvbnMgRGlzYWJsZScscHJvcHM8e3F1ZXN0aW9uczp7aWQ6YW55ICwgcGFzc2VkUnVsZVF1ZXN0aW9uSWQ6YW55fVtdICwgaXNEaXNhYmxlZCA6IGJvb2xlYW59PigpKTtcclxuY29uc3QgdXBkYXRlUXVlc3Rpb25SZXF1aXJlZCA9IGNyZWF0ZUFjdGlvbignW1N1cnZleSBsaWJyYXJ5XSBVcGRhdGUgUXVlc3Rpb24gUmVxdWlyZWQnLHByb3BzPHtxdWVzdGlvbklkOmFueSAsIGlzUmVxdWlyZWQgOiBib29sZWFufT4oKSk7XHJcbmNvbnN0IHJlbW92ZVF1ZXN0aW9uID0gY3JlYXRlQWN0aW9uKCdbU3VydmV5IGxpYnJhcnldIFJlbW92ZSBRdWVzdGlvbicscHJvcHM8e3F1ZXN0aW9uSWQ6YW55fT4oKSlcclxuXHJcbmNvbnN0IHVwZGF0ZVBhZ2VJZCA9ICBjcmVhdGVBY3Rpb24oJ1tTdXJ2ZXkgbGlicmFyeV0gVXBkYXRlIFBhZ2UgSWQnLHByb3BzPHtwYWdlSWQ6bnVtYmVyfT4oKSk7XHJcblxyXG5jb25zdCBsb2FkSW5zdGl0dXRpb25BcnIgPSBjcmVhdGVBY3Rpb24oJ1tTdXJ2ZXkgbGlicmFyeV0gTG9hZCBJbnN0aXR1dGlvbiBBcnInKTtcclxuY29uc3QgbG9hZEluc3RpdHV0aW9uQXJyU3VjY2VzcyA9IGNyZWF0ZUFjdGlvbignW1N1cnZleSBsaWJyYXJ5XSBMb2FkIEluc3RpdHV0aW9uIEFyciBTdWNjZXNzJyxwcm9wczx7aW5zdGl0dXRpb25BcnI6SW5zdGl0dXRpb25EdG9bXX0+KCkpXHJcblxyXG5jb25zdCByZXNldFN1cnZleSA9IGNyZWF0ZUFjdGlvbignW1N1cnZleSBsaWJyYXJ5XSBSZXNldCBTdXJ2ZXknKVxyXG5cclxuZXhwb3J0IGNvbnN0IHN1cnZleUFjdGlvbnMgPXtcclxuICAgIGxvYWRTdXJ2ZXkgLFxyXG4gICAgYWRkUXVlc3Rpb24gLFxyXG4gICAgdXBkYXRlUXVlc3Rpb25BbnN3ZXIsXHJcbiAgICB1cGRhdGVRdWVzdGlvbkZpbGVBbnN3ZXIsXHJcbiAgICB1cGRhdGVJbnN0aXR1dGlvblF1ZXN0aW9uQW5zd2VyLFxyXG4gICAgdXBkYXRlUXVlc3Rpb25TaG93LFxyXG4gICAgdXBkYXRlUXVlc3Rpb25zU2hvdyxcclxuICAgIHVwZGF0ZVF1ZXN0aW9uRGlzYWJsZSxcclxuICAgIHVwZGF0ZVF1ZXN0aW9uc0Rpc2FibGUsXHJcbiAgICB1cGRhdGVRdWVzdGlvblJlcXVpcmVkLFxyXG4gICAgcmVtb3ZlUXVlc3Rpb24gLFxyXG4gICAgdXBkYXRlUGFnZUlkICxcclxuICAgIGxvYWRJbnN0aXR1dGlvbkFycixcclxuICAgIGxvYWRJbnN0aXR1dGlvbkFyclN1Y2Nlc3MsXHJcbiAgICByZXNldFN1cnZleVxyXG59XHJcbiJdfQ==
@@ -76,7 +76,7 @@ export const _surveyReducer = createReducer(initialSurveyState, on(surveyActions
76
76
  changes: {
77
77
  answerId: question.questionAllInfo.surveyAnswers[0].answerId,
78
78
  answerText: null,
79
- answerFile: props.fileArr.map(x => ({ file: x.byteArr, name: x.name })),
79
+ answerFile: props.fileArr.map(x => ({ byteArr: x.byteArr, name: x.name, id: x.id })),
80
80
  isValid: props.isValid
81
81
  }
82
82
  };
@@ -185,4 +185,4 @@ export const _surveyReducer = createReducer(initialSurveyState, on(surveyActions
185
185
  export function surveyReducer(state, action) {
186
186
  return _surveyReducer(state, action);
187
187
  }
188
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VydmV5LnJlZHVjZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdXJ2ZXJ5LWxpYi9zcmMvbGliL2NvcmUvc3RhdGVzL3N1cnZleS1zdG9yZS9zdXJ2ZXkucmVkdWNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZUFBZSxFQUEwQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3JHLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQW1CLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RFLE9BQU8sRUFBNEIsb0JBQW9CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUkvRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztBQVVoRSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBZ0I7SUFDM0MsY0FBYyxFQUFFLElBQUk7SUFDcEIsZ0JBQWdCLEVBQUUsb0JBQW9CLENBQUMsZUFBZSxFQUFFO0lBQ3hELFdBQVcsRUFBRSxlQUFlLENBQUMsZUFBZSxFQUFFO0lBQzlDLE9BQU8sRUFBRSxXQUFXLENBQUMsZUFBZSxFQUFFO0lBQ3RDLGNBQWMsRUFBRSxFQUFFO0NBQ3JCLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsYUFBYSxDQUN2QyxrQkFBa0IsRUFDbEIsRUFBRSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUU7SUFDMUMsT0FBTztRQUNILEdBQUcsS0FBSztRQUNSLFdBQVcsRUFBRSxlQUFlLENBQUMsTUFBTSxDQUFDLEtB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QWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtJQUNwQyxPQUFPO1FBQ0gsR0FBRyxrQkFBa0I7S0FDeEIsQ0FBQTtBQUNMLENBQUMsQ0FBQyxDQUNMLENBQUM7QUFFRixNQUFNLFVBQVUsYUFBYSxDQUFDLEtBQUssRUFBRSxNQUFNO0lBQ3ZDLE9BQU8sY0FBYyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztBQUN6QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlUmVkdWNlciwgb24gfSBmcm9tIFwiQG5ncngvc3RvcmVcIjtcclxuaW1wb3J0IHsgcXVlc3Rpb25BZGFwdGVyLCBRdWVzdGlvbkVudGl0eVN0YXRlLCBRdWVzdGlvbk5ncnhNb2RlbCB9IGZyb20gXCIuLi9lbnRpdGVzL3F1ZXN0aW9uLmVudGl0eVwiO1xyXG5pbXBvcnQgeyBzdXJ2ZXlBY3Rpb25zIH0gZnJvbSBcIi4vc3VydmV5LmFjdGlvblwiO1xyXG5pbXBvcnQgeyBSdWxlRW50aXR5U3RhdGUsIHJ1bGVBZGFwdGVyIH0gZnJvbSBcIi4uL2VudGl0ZXMvcnVsZS5lbnRpdHlcIjtcclxuaW1wb3J0IHsgUXVlc3Rpb25Hcm91cEVudGl0eVN0YXRlLCBxdWVzdGlvbkdyb3VwQWRhcHRlciB9IGZyb20gXCIuLi9lbnRpdGVzL3F1ZXN0aW9uLWdyb3VwLmVudGl0eVwiO1xyXG5pbXBvcnQgeyBRdWVzdGlvblR5cGVFbnVtIH0gZnJvbSBcIi4uLy4uLy4uLy4uL3NoYXJlZC9lbnVtcy9xdWVzdGlvbi10eXBlLmVudW1cIjtcclxuaW1wb3J0IHsgVXBkYXRlIH0gZnJvbSBcIkBuZ3J4L2VudGl0eVwiO1xyXG5pbXBvcnQgeyBJbnN0aXR1dGlvbkR0byB9IGZyb20gXCIuLi8uLi8uLi8uLi9zaGFyZWQvZHRvcy9pbnN0aXR1dGlvbi5kdG9cIjtcclxuXHJcbmNvbnN0IHsgc2VsZWN0QWxsLCBzZWxlY3RJZHMgfSA9IHF1ZXN0aW9uQWRhcHRlci5nZXRTZWxlY3RvcnMoKTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU3VydmV5U3RhdGUge1xyXG4gICAgc2VsZWN0ZWRQYWdlSWQ6IG51bWJlcixcclxuICAgIHF1ZXN0aW9uR3JvdXBBcnI6IFF1ZXN0aW9uR3JvdXBFbnRpdHlTdGF0ZSxcclxuICAgIHF1ZXN0aW9uQXJyOiBRdWVzdGlvbkVudGl0eVN0YXRlLFxyXG4gICAgcnVsZUFycjogUnVsZUVudGl0eVN0YXRlLFxyXG4gICAgSW5zdGl0dXRpb25BcnI6IEluc3RpdHV0aW9uRHRvW11cclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IGluaXRpYWxTdXJ2ZXlTdGF0ZTogU3VydmV5U3RhdGUgPSB7XHJcbiAgICBzZWxlY3RlZFBhZ2VJZDogbnVsbCxcclxuICAgIHF1ZXN0aW9uR3JvdXBBcnI6IHF1ZXN0aW9uR3JvdXBBZGFwdGVyLmdldEluaXRpYWxTdGF0ZSgpLFxyXG4gICAgcXVlc3Rpb25BcnI6IHF1ZXN0aW9uQWRhcHRlci5nZXRJbml0aWFsU3RhdGUoKSxcclxuICAgIHJ1bGVBcnI6IHJ1bGVBZGFwdGVyLmdldEluaXRpYWxTdGF0ZSgpLFxyXG4gICAgSW5zdGl0dXRpb25BcnI6IFtdXHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBfc3VydmV5UmVkdWNlciA9IGNyZWF0ZVJlZHVjZXIoXHJcbiAgICBpbml0aWFsU3VydmV5U3RhdGUsXHJcbiAgICBvbihzdXJ2ZXlBY3Rpb25zLmxvYWRTdXJ2ZXksIChzdGF0ZSwgcHJvcHMpID0+IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAuLi5zdGF0ZSxcclxuICAgICAgICAgICAgcXVlc3Rpb25BcnI6IHF1ZXN0aW9uQWRhcHRlci5zZXRBbGwocHJvcHMucXVlc3Rpb25BcnIsIHN0YXRlLnF1ZXN0aW9uQXJyKSxcclxuICAgICAgICAgICAgcXVlc3Rpb25Hcm91cEFycjogcXVlc3Rpb25Hcm91cEFkYXB0ZXIuc2V0QWxsKHByb3BzLnF1ZXN0aW9uR3JvdXBBcnIsIHN0YXRlLnF1ZXN0aW9uR3JvdXBBcnIpLFxyXG4gICAgICAgICAgICBydWxlQXJyOiBydWxlQWRhcHRlci5zZXRBbGwocHJvcHMucnVsZUFyciwgc3RhdGUucnVsZUFyciksXHJcbiAgICAgICAgICAgIHNlbGVjdGVkUGFnZUlkOiBwcm9wcy5zZWxlY3RlZFBhZ2VJZCxcclxuICAgICAgICAgICAgSW5zdGl0dXRpb25BcnI6IFtdXHJcbiAgICAgICAgfVxyXG4gICAgfSksXHJcbiAgICBvbihzdXJ2ZXlBY3Rpb25zLmFkZFF1ZXN0aW9uLCAoc3RhdGUsIHByb3BzKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgLi4uc3RhdGUsXHJcbiAgICAgICAgICAgIHF1ZXN0aW9uQXJyOiBxdWVzdGlvbkFkYXB0ZXIuYWRkT25lKHByb3BzLnF1ZXN0aW9uLCBzdGF0ZS5xdWVzdGlvbkFycilcclxuICAgICAgICB9XHJcbiAgICB9KSxcclxuICAgIG9uKHN1cnZleUFjdGlvbnMudXBkYXRlUXVlc3Rpb25BbnN3ZXIsIChzdGF0ZSwgcHJvcHMpID0+IHtcclxuICAgICAgICBjb25zdCBxdWVzdGlvbiA9IHNlbGVjdEFsbChzdGF0ZS5xdWVzdGlvbkFycikuZmluZCh4ID0+IHgucXVlc3Rpb25JZCA9PSBwcm9wcy5xdWVzdGlvbklkKTtcclxuICAgICAgICBpZiAocXVlc3Rpb24pIHtcclxuICAgICAgICAgICAgdmFyIHVwZGF0ZU1vZGVsOiBVcGRhdGU8UXVlc3Rpb25OZ3J4TW9kZWw+O1xyXG5cclxuICAgICAgICAgICAgaWYgKHF1ZXN0aW9uLnF1ZXN0aW9uVHlwZSA9PSBRdWVzdGlvblR5cGVFbnVtLlRleHRJbnB1dCB8fCBxdWVzdGlvbi5xdWVzdGlvblR5cGUgPT0gUXVlc3Rpb25UeXBlRW51bS5GZWVkQmFjaykge1xyXG4gICAgICAgICAgICAgICAgdXBkYXRlTW9kZWwgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWQ6IHByb3BzLnF1ZXN0aW9uSWQsXHJcbiAgICAgICAgICAgICAgICAgICAgY2hhbmdlczoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbnN3ZXJJZDogcXVlc3Rpb24ucXVlc3Rpb25BbGxJbmZvLnN1cnZleUFuc3dlcnNbMF0uYW5zd2VySWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFuc3dlclRleHQ6IHByb3BzLmFuc3dlcixcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXNWYWxpZDogcHJvcHMuaXNWYWxpZFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAocXVlc3Rpb24ucXVlc3Rpb25UeXBlID09IFF1ZXN0aW9uVHlwZUVudW0uQ2hlY2tCb3ggfHwgcXVlc3Rpb24ucXVlc3Rpb25UeXBlID09IFF1ZXN0aW9uVHlwZUVudW0uRHJvcERvd25NdWx0aSkge1xyXG4gICAgICAgICAgICAgICAgdXBkYXRlTW9kZWwgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWQ6IHByb3BzLnF1ZXN0aW9uSWQsXHJcbiAgICAgICAgICAgICAgICAgICAgY2hhbmdlczoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbnN3ZXJJZEFycjogcHJvcHMuYW5zd2VyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpc1ZhbGlkOiBwcm9wcy5pc1ZhbGlkXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHVwZGF0ZU1vZGVsID0ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlkOiBwcm9wcy5xdWVzdGlvbklkLFxyXG4gICAgICAgICAgICAgICAgICAgIGNoYW5nZXM6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYW5zd2VySWQ6IHByb3BzLmFuc3dlcixcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXNWYWxpZDogcHJvcHMuaXNWYWxpZFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIC4uLnN0YXRlLFxyXG4gICAgICAgICAgICAgICAgcXVlc3Rpb25BcnI6IHF1ZXN0aW9uQWRhcHRlci51cGRhdGVPbmUodXBkYXRlTW9kZWwsIHN0YXRlLnF1ZXN0aW9uQXJyKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAuLi5zdGF0ZVxyXG4gICAgICAgIH1cclxuICAgIH0pLCBvbihzdXJ2ZXlBY3Rpb25zLnVwZGF0ZVF1ZXN0aW9uRmlsZUFuc3dlciwgKHN0YXRlLCBwcm9wcykgPT4ge1xyXG4gICAgICAgIGNvbnN0IHF1ZXN0aW9uID0gc2VsZWN0QWxsKHN0YXRlLnF1ZXN0aW9uQXJyKS5maW5kKHggPT4geC5xdWVzdGlvbklkID09IHByb3BzLnF1ZXN0aW9uSWQpO1xyXG4gICAgICAgIGlmIChxdWVzdGlvbikge1xyXG4gICAgICAgICAgICB2YXIgdXBkYXRlTW9kZWw6IFVwZGF0ZTxRdWVzdGlvbk5ncnhNb2RlbD47XHJcblxyXG4gICAgICAgICAgICBpZiAocXVlc3Rpb24ucXVlc3Rpb25UeXBlID09IFF1ZXN0aW9uVHlwZUVudW0uRmlsZSkge1xyXG4gICAgICAgICAgICAgICAgdXBkYXRlTW9kZWwgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWQ6IHByb3BzLnF1ZXN0aW9uSWQsXHJcbiAgICAgICAgICAgICAgICAgICAgY2hhbmdlczoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbnN3ZXJJZDogcXVlc3Rpb24ucXVlc3Rpb25BbGxJbmZvLnN1cnZleUFuc3dlcnNbMF0uYW5zd2VySWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFuc3dlclRleHQ6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFuc3dlckZpbGU6IHByb3BzLmZpbGVBcnIubWFwKHggPT4gKHsgZmlsZTogeC5ieXRlQXJyLCBuYW1lOiB4Lm5hbWUgfSkpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpc1ZhbGlkOiBwcm9wcy5pc1ZhbGlkXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgICAgIC4uLnN0YXRlLFxyXG4gICAgICAgICAgICAgICAgICAgIHF1ZXN0aW9uQXJyOiBxdWVzdGlvbkFkYXB0ZXIudXBkYXRlT25lKHVwZGF0ZU1vZGVsLCBzdGF0ZS5xdWVzdGlvbkFycilcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgLi4uc3RhdGVcclxuICAgICAgICB9XHJcbiAgICB9KSxcclxuICAgIG9uKHN1cnZleUFjdGlvbnMudXBkYXRlSW5zdGl0dXRpb25RdWVzdGlvbkFuc3dlciwgKHN0YXRlLCBwcm9wcykgPT4ge1xyXG4gICAgICAgIGNvbnN0IHF1ZXN0aW9uID0gc2VsZWN0QWxsKHN0YXRlLnF1ZXN0aW9uQXJyKS5maW5kKHggPT4geC5xdWVzdGlvbklkID09IHByb3BzLnF1ZXN0aW9uSWQpO1xyXG4gICAgICAgIGlmIChxdWVzdGlvbikge1xyXG4gICAgICAgICAgICB2YXIgdXBkYXRlTW9kZWw6IFVwZGF0ZTxRdWVzdGlvbk5ncnhNb2RlbD47XHJcblxyXG4gICAgICAgICAgICBpZiAocXVlc3Rpb24ucXVlc3Rpb25UeXBlID09IFF1ZXN0aW9uVHlwZUVudW0uSW5zdGl0dXRpb25zKSB7XHJcbiAgICAgICAgICAgICAgICB1cGRhdGVNb2RlbCA9IHtcclxuICAgICAgICAgICAgICAgICAgICBpZDogcHJvcHMucXVlc3Rpb25JZCxcclxuICAgICAgICAgICAgICAgICAgICBjaGFuZ2VzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFuc3dlcklkOiBwcm9wcy5hbnN3ZXJJZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgYW5zd2VyVGV4dDogcHJvcHMuYW5zd2VyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbnN3ZXJMZXZlbElkOiBwcm9wcy5hbnN3ZXJMZXZlbElkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpc1ZhbGlkOiBwcm9wcy5pc1ZhbGlkXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgICAgIC4uLnN0YXRlLFxyXG4gICAgICAgICAgICAgICAgICAgIHF1ZXN0aW9uQXJyOiBxdWVzdGlvbkFkYXB0ZXIudXBkYXRlT25lKHVwZGF0ZU1vZGVsLCBzdGF0ZS5xdWVzdGlvbkFycilcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgLi4uc3RhdGVcclxuICAgICAgICB9XHJcbiAgICB9KSxcclxuICAgIG9uKHN1cnZleUFjdGlvbnMudXBkYXRlUXVlc3Rpb25TaG93LCAoc3RhdGUsIHByb3BzKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgLi4uc3RhdGUsXHJcbiAgICAgICAgICAgIHF1ZXN0aW9uQXJyOiBxdWVzdGlvbkFkYXB0ZXIudXBkYXRlT25lKHtcclxuICAgICAgICAgICAgICAgIGlkOiBwcm9wcy5xdWVzdGlvbklkLFxyXG4gICAgICAgICAgICAgICAgY2hhbmdlczoge1xyXG4gICAgICAgICAgICAgICAgICAgIGlzU2hvdzogcHJvcHMuaXNTaG93XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0sIHN0YXRlLnF1ZXN0aW9uQXJyKVxyXG4gICAgICAgIH1cclxuICAgIH0pLFxyXG4gICAgb24oc3VydmV5QWN0aW9ucy51cGRhdGVRdWVzdGlvbnNTaG93LCAoc3RhdGUsIHByb3BzKSA9PiB7XHJcbiAgICAgICAgY29uc3QgdXBkYXRlcyA9IHByb3BzLnF1ZXN0aW9ucy5tYXAocSA9PiAoe1xyXG4gICAgICAgICAgICBpZDogcS5pZCxcclxuICAgICAgICAgICAgY2hhbmdlczogeyBpc1Nob3c6IHByb3BzLmlzU2hvdywgcGFzc2VkUnVsZVF1ZXN0aW9uSWQ6IHEucGFzc2VkUnVsZVF1ZXN0aW9uSWQgfVxyXG4gICAgICAgIH0pKTtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAuLi5zdGF0ZSxcclxuICAgICAgICAgICAgcXVlc3Rpb25BcnI6IHF1ZXN0aW9uQWRhcHRlci51cGRhdGVNYW55KHVwZGF0ZXMsIHN0YXRlLnF1ZXN0aW9uQXJyKVxyXG4gICAgICAgIH1cclxuICAgIH0pLFxyXG4gICAgb24oc3VydmV5QWN0aW9ucy51cGRhdGVRdWVzdGlvbkRpc2FibGUsIChzdGF0ZSwgcHJvcHMpID0+IHtcclxuICAgICAgICBjb25zdCBxdWVzdGlvbiA9IHNlbGVjdEFsbChzdGF0ZS5xdWVzdGlvbkFycikuZmluZCh4ID0+IHgucXVlc3Rpb25JZCA9PSBwcm9wcy5xdWVzdGlvbklkKTtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAuLi5zdGF0ZSxcclxuICAgICAgICAgICAgcXVlc3Rpb25BcnI6IHF1ZXN0aW9uQWRhcHRlci51cGRhdGVPbmUoe1xyXG4gICAgICAgICAgICAgICAgaWQ6IHByb3BzLnF1ZXN0aW9uSWQsXHJcbiAgICAgICAgICAgICAgICBjaGFuZ2VzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaXNEaXNhYmxlZDogcHJvcHMuaXNEaXNhYmxlZFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9LCBzdGF0ZS5xdWVzdGlvbkFycilcclxuICAgICAgICB9XHJcbiAgICB9KSxcclxuICAgIG9uKHN1cnZleUFjdGlvbnMudXBkYXRlUXVlc3Rpb25zRGlzYWJsZSwgKHN0YXRlLCBwcm9wcykgPT4ge1xyXG4gICAgICAgIGNvbnN0IHVwZGF0ZXMgPSBwcm9wcy5xdWVzdGlvbnMubWFwKHEgPT4gKHtcclxuICAgICAgICAgICAgaWQ6IHEuaWQsXHJcbiAgICAgICAgICAgIGNoYW5nZXM6IHsgaXNEaXNhYmxlZDogcHJvcHMuaXNEaXNhYmxlZCwgcGFzc2VkUnVsZVF1ZXN0aW9uSWQ6IHEucGFzc2VkUnVsZVF1ZXN0aW9uSWQgfVxyXG4gICAgICAgIH0pKTtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAuLi5zdGF0ZSxcclxuICAgICAgICAgICAgcXVlc3Rpb25BcnI6IHF1ZXN0aW9uQWRhcHRlci51cGRhdGVNYW55KHVwZGF0ZXMsIHN0YXRlLnF1ZXN0aW9uQXJyKVxyXG4gICAgICAgIH1cclxuICAgIH0pLFxyXG4gICAgb24oc3VydmV5QWN0aW9ucy51cGRhdGVRdWVzdGlvblJlcXVpcmVkLCAoc3RhdGUsIHByb3BzKSA9PiB7XHJcbiAgICAgICAgY29uc3QgcXVlc3Rpb24gPSBzZWxlY3RBbGwoc3RhdGUucXVlc3Rpb25BcnIpLmZpbmQoeCA9PiB4LnF1ZXN0aW9uSWQgPT0gcHJvcHMucXVlc3Rpb25JZCk7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgLi4uc3RhdGUsXHJcbiAgICAgICAgICAgIHF1ZXN0aW9uQXJyOiBxdWVzdGlvbkFkYXB0ZXIudXBkYXRlT25lKHtcclxuICAgICAgICAgICAgICAgIGlkOiBwcm9wcy5xdWVzdGlvbklkLFxyXG4gICAgICAgICAgICAgICAgY2hhbmdlczoge1xyXG4gICAgICAgICAgICAgICAgICAgIGlzUmVxdWlyZWQ6IHByb3BzLmlzUmVxdWlyZWRcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSwgc3RhdGUucXVlc3Rpb25BcnIpXHJcbiAgICAgICAgfVxyXG4gICAgfSksXHJcbiAgICBvbihzdXJ2ZXlBY3Rpb25zLnJlbW92ZVF1ZXN0aW9uLCAoc3RhdGUsIHByb3BzKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgLi4uc3RhdGUsXHJcbiAgICAgICAgICAgIHF1ZXN0aW9uQXJyOiBxdWVzdGlvbkFkYXB0ZXIucmVtb3ZlT25lKHByb3BzLnF1ZXN0aW9uSWQsIHN0YXRlLnF1ZXN0aW9uQXJyKVxyXG4gICAgICAgIH1cclxuICAgIH0pLFxyXG4gICAgb24oc3VydmV5QWN0aW9ucy51cGRhdGVQYWdlSWQsIChzdGF0ZSwgcHJvcHMpID0+IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAuLi5zdGF0ZSxcclxuICAgICAgICAgICAgc2VsZWN0ZWRQYWdlSWQ6IHByb3BzLnBhZ2VJZFxyXG4gICAgICAgIH1cclxuICAgIH0pLFxyXG4gICAgb24oc3VydmV5QWN0aW9ucy5sb2FkSW5zdGl0dXRpb25BcnJTdWNjZXNzLCAoc3RhdGUsIHByb3BzKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgLi4uc3RhdGUsXHJcbiAgICAgICAgICAgIEluc3RpdHV0aW9uQXJyOiBwcm9wcy5pbnN0aXR1dGlvbkFyclxyXG4gICAgICAgIH1cclxuICAgIH0pLFxyXG4gICAgb24oc3VydmV5QWN0aW9ucy5yZXNldFN1cnZleSwgKHN0YXRlKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgLi4uaW5pdGlhbFN1cnZleVN0YXRlXHJcbiAgICAgICAgfVxyXG4gICAgfSlcclxuKTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBzdXJ2ZXlSZWR1Y2VyKHN0YXRlLCBhY3Rpb24pIHtcclxuICAgIHJldHVybiBfc3VydmV5UmVkdWNlcihzdGF0ZSwgYWN0aW9uKTtcclxufVxyXG4iXX0=
188
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VydmV5LnJlZHVjZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdXJ2ZXJ5LWxpYi9zcmMvbGliL2NvcmUvc3RhdGVzL3N1cnZleS1zdG9yZS9zdXJ2ZXkucmVkdWNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZUFBZSxFQUEwQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3JHLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQW1CLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RFLE9BQU8sRUFBNEIsb0JBQW9CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUkvRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztBQVVoRSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBZ0I7SUFDM0MsY0FBYyxFQUFFLElBQUk7SUFDcEIsZ0JBQWdCLEVBQUUsb0JBQW9CLENBQUMsZUFBZSxFQUFFO0lBQ3hELFdBQVcsRUFBRSxlQUFlLENBQUMsZUFBZSxFQUFFO0lBQzlDLE9BQU8sRUFBRSxXQUFXLENBQUMsZUFBZSxFQUFFO0lBQ3RDLGNBQWMsRUFBRSxFQUFFO0NBQ3JCLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsYUFBYSxDQUN2QyxrQkFBa0IsRUFDbEIsRUFBRSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUU7SUFDMUMsT0FBTztRQUNILEdBQUcsS0FBSztRQUNSLFdBQVcsRUFBRSxlQUFlLENBQUMsTUFBTSxDQUFDLEtB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Q0wsQ0FBQyxDQUFDLEVBQ0YsRUFBRSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtJQUNwQyxPQUFPO1FBQ0gsR0FBRyxrQkFBa0I7S0FDeEIsQ0FBQTtBQUNMLENBQUMsQ0FBQyxDQUNMLENBQUM7QUFFRixNQUFNLFVBQVUsYUFBYSxDQUFDLEtBQUssRUFBRSxNQUFNO0lBQ3ZDLE9BQU8sY0FBYyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztBQUN6QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlUmVkdWNlciwgb24gfSBmcm9tIFwiQG5ncngvc3RvcmVcIjtcclxuaW1wb3J0IHsgcXVlc3Rpb25BZGFwdGVyLCBRdWVzdGlvbkVudGl0eVN0YXRlLCBRdWVzdGlvbk5ncnhNb2RlbCB9IGZyb20gXCIuLi9lbnRpdGVzL3F1ZXN0aW9uLmVudGl0eVwiO1xyXG5pbXBvcnQgeyBzdXJ2ZXlBY3Rpb25zIH0gZnJvbSBcIi4vc3VydmV5LmFjdGlvblwiO1xyXG5pbXBvcnQgeyBSdWxlRW50aXR5U3RhdGUsIHJ1bGVBZGFwdGVyIH0gZnJvbSBcIi4uL2VudGl0ZXMvcnVsZS5lbnRpdHlcIjtcclxuaW1wb3J0IHsgUXVlc3Rpb25Hcm91cEVudGl0eVN0YXRlLCBxdWVzdGlvbkdyb3VwQWRhcHRlciB9IGZyb20gXCIuLi9lbnRpdGVzL3F1ZXN0aW9uLWdyb3VwLmVudGl0eVwiO1xyXG5pbXBvcnQgeyBRdWVzdGlvblR5cGVFbnVtIH0gZnJvbSBcIi4uLy4uLy4uLy4uL3NoYXJlZC9lbnVtcy9xdWVzdGlvbi10eXBlLmVudW1cIjtcclxuaW1wb3J0IHsgVXBkYXRlIH0gZnJvbSBcIkBuZ3J4L2VudGl0eVwiO1xyXG5pbXBvcnQgeyBJbnN0aXR1dGlvbkR0byB9IGZyb20gXCIuLi8uLi8uLi8uLi9zaGFyZWQvZHRvcy9pbnN0aXR1dGlvbi5kdG9cIjtcclxuXHJcbmNvbnN0IHsgc2VsZWN0QWxsLCBzZWxlY3RJZHMgfSA9IHF1ZXN0aW9uQWRhcHRlci5nZXRTZWxlY3RvcnMoKTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU3VydmV5U3RhdGUge1xyXG4gICAgc2VsZWN0ZWRQYWdlSWQ6IG51bWJlcixcclxuICAgIHF1ZXN0aW9uR3JvdXBBcnI6IFF1ZXN0aW9uR3JvdXBFbnRpdHlTdGF0ZSxcclxuICAgIHF1ZXN0aW9uQXJyOiBRdWVzdGlvbkVudGl0eVN0YXRlLFxyXG4gICAgcnVsZUFycjogUnVsZUVudGl0eVN0YXRlLFxyXG4gICAgSW5zdGl0dXRpb25BcnI6IEluc3RpdHV0aW9uRHRvW11cclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IGluaXRpYWxTdXJ2ZXlTdGF0ZTogU3VydmV5U3RhdGUgPSB7XHJcbiAgICBzZWxlY3RlZFBhZ2VJZDogbnVsbCxcclxuICAgIHF1ZXN0aW9uR3JvdXBBcnI6IHF1ZXN0aW9uR3JvdXBBZGFwdGVyLmdldEluaXRpYWxTdGF0ZSgpLFxyXG4gICAgcXVlc3Rpb25BcnI6IHF1ZXN0aW9uQWRhcHRlci5nZXRJbml0aWFsU3RhdGUoKSxcclxuICAgIHJ1bGVBcnI6IHJ1bGVBZGFwdGVyLmdldEluaXRpYWxTdGF0ZSgpLFxyXG4gICAgSW5zdGl0dXRpb25BcnI6IFtdXHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBfc3VydmV5UmVkdWNlciA9IGNyZWF0ZVJlZHVjZXIoXHJcbiAgICBpbml0aWFsU3VydmV5U3RhdGUsXHJcbiAgICBvbihzdXJ2ZXlBY3Rpb25zLmxvYWRTdXJ2ZXksIChzdGF0ZSwgcHJvcHMpID0+IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAuLi5zdGF0ZSxcclxuICAgICAgICAgICAgcXVlc3Rpb25BcnI6IHF1ZXN0aW9uQWRhcHRlci5zZXRBbGwocHJvcHMucXVlc3Rpb25BcnIsIHN0YXRlLnF1ZXN0aW9uQXJyKSxcclxuICAgICAgICAgICAgcXVlc3Rpb25Hcm91cEFycjogcXVlc3Rpb25Hcm91cEFkYXB0ZXIuc2V0QWxsKHByb3BzLnF1ZXN0aW9uR3JvdXBBcnIsIHN0YXRlLnF1ZXN0aW9uR3JvdXBBcnIpLFxyXG4gICAgICAgICAgICBydWxlQXJyOiBydWxlQWRhcHRlci5zZXRBbGwocHJvcHMucnVsZUFyciwgc3RhdGUucnVsZUFyciksXHJcbiAgICAgICAgICAgIHNlbGVjdGVkUGFnZUlkOiBwcm9wcy5zZWxlY3RlZFBhZ2VJZCxcclxuICAgICAgICAgICAgSW5zdGl0dXRpb25BcnI6IFtdXHJcbiAgICAgICAgfVxyXG4gICAgfSksXHJcbiAgICBvbihzdXJ2ZXlBY3Rpb25zLmFkZFF1ZXN0aW9uLCAoc3RhdGUsIHByb3BzKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgLi4uc3RhdGUsXHJcbiAgICAgICAgICAgIHF1ZXN0aW9uQXJyOiBxdWVzdGlvbkFkYXB0ZXIuYWRkT25lKHByb3BzLnF1ZXN0aW9uLCBzdGF0ZS5xdWVzdGlvbkFycilcclxuICAgICAgICB9XHJcbiAgICB9KSxcclxuICAgIG9uKHN1cnZleUFjdGlvbnMudXBkYXRlUXVlc3Rpb25BbnN3ZXIsIChzdGF0ZSwgcHJvcHMpID0+IHtcclxuICAgICAgICBjb25zdCBxdWVzdGlvbiA9IHNlbGVjdEFsbChzdGF0ZS5xdWVzdGlvbkFycikuZmluZCh4ID0+IHgucXVlc3Rpb25JZCA9PSBwcm9wcy5xdWVzdGlvbklkKTtcclxuICAgICAgICBpZiAocXVlc3Rpb24pIHtcclxuICAgICAgICAgICAgdmFyIHVwZGF0ZU1vZGVsOiBVcGRhdGU8UXVlc3Rpb25OZ3J4TW9kZWw+O1xyXG5cclxuICAgICAgICAgICAgaWYgKHF1ZXN0aW9uLnF1ZXN0aW9uVHlwZSA9PSBRdWVzdGlvblR5cGVFbnVtLlRleHRJbnB1dCB8fCBxdWVzdGlvbi5xdWVzdGlvblR5cGUgPT0gUXVlc3Rpb25UeXBlRW51bS5GZWVkQmFjaykge1xyXG4gICAgICAgICAgICAgICAgdXBkYXRlTW9kZWwgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWQ6IHByb3BzLnF1ZXN0aW9uSWQsXHJcbiAgICAgICAgICAgICAgICAgICAgY2hhbmdlczoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbnN3ZXJJZDogcXVlc3Rpb24ucXVlc3Rpb25BbGxJbmZvLnN1cnZleUFuc3dlcnNbMF0uYW5zd2VySWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFuc3dlclRleHQ6IHByb3BzLmFuc3dlcixcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXNWYWxpZDogcHJvcHMuaXNWYWxpZFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAocXVlc3Rpb24ucXVlc3Rpb25UeXBlID09IFF1ZXN0aW9uVHlwZUVudW0uQ2hlY2tCb3ggfHwgcXVlc3Rpb24ucXVlc3Rpb25UeXBlID09IFF1ZXN0aW9uVHlwZUVudW0uRHJvcERvd25NdWx0aSkge1xyXG4gICAgICAgICAgICAgICAgdXBkYXRlTW9kZWwgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWQ6IHByb3BzLnF1ZXN0aW9uSWQsXHJcbiAgICAgICAgICAgICAgICAgICAgY2hhbmdlczoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbnN3ZXJJZEFycjogcHJvcHMuYW5zd2VyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpc1ZhbGlkOiBwcm9wcy5pc1ZhbGlkXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHVwZGF0ZU1vZGVsID0ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlkOiBwcm9wcy5xdWVzdGlvbklkLFxyXG4gICAgICAgICAgICAgICAgICAgIGNoYW5nZXM6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYW5zd2VySWQ6IHByb3BzLmFuc3dlcixcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXNWYWxpZDogcHJvcHMuaXNWYWxpZFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIC4uLnN0YXRlLFxyXG4gICAgICAgICAgICAgICAgcXVlc3Rpb25BcnI6IHF1ZXN0aW9uQWRhcHRlci51cGRhdGVPbmUodXBkYXRlTW9kZWwsIHN0YXRlLnF1ZXN0aW9uQXJyKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAuLi5zdGF0ZVxyXG4gICAgICAgIH1cclxuICAgIH0pLCBvbihzdXJ2ZXlBY3Rpb25zLnVwZGF0ZVF1ZXN0aW9uRmlsZUFuc3dlciwgKHN0YXRlLCBwcm9wcykgPT4ge1xyXG4gICAgICAgIGNvbnN0IHF1ZXN0aW9uID0gc2VsZWN0QWxsKHN0YXRlLnF1ZXN0aW9uQXJyKS5maW5kKHggPT4geC5xdWVzdGlvbklkID09IHByb3BzLnF1ZXN0aW9uSWQpO1xyXG4gICAgICAgIGlmIChxdWVzdGlvbikge1xyXG4gICAgICAgICAgICB2YXIgdXBkYXRlTW9kZWw6IFVwZGF0ZTxRdWVzdGlvbk5ncnhNb2RlbD47XHJcblxyXG4gICAgICAgICAgICBpZiAocXVlc3Rpb24ucXVlc3Rpb25UeXBlID09IFF1ZXN0aW9uVHlwZUVudW0uRmlsZSkge1xyXG4gICAgICAgICAgICAgICAgdXBkYXRlTW9kZWwgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWQ6IHByb3BzLnF1ZXN0aW9uSWQsXHJcbiAgICAgICAgICAgICAgICAgICAgY2hhbmdlczoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbnN3ZXJJZDogcXVlc3Rpb24ucXVlc3Rpb25BbGxJbmZvLnN1cnZleUFuc3dlcnNbMF0uYW5zd2VySWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFuc3dlclRleHQ6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFuc3dlckZpbGU6IHByb3BzLmZpbGVBcnIubWFwKHggPT4gKHsgYnl0ZUFycjogeC5ieXRlQXJyLCBuYW1lOiB4Lm5hbWUsIGlkOiB4LmlkIH0pKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXNWYWxpZDogcHJvcHMuaXNWYWxpZFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgICAgICAuLi5zdGF0ZSxcclxuICAgICAgICAgICAgICAgICAgICBxdWVzdGlvbkFycjogcXVlc3Rpb25BZGFwdGVyLnVwZGF0ZU9uZSh1cGRhdGVNb2RlbCwgc3RhdGUucXVlc3Rpb25BcnIpXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIC4uLnN0YXRlXHJcbiAgICAgICAgfVxyXG4gICAgfSksXHJcbiAgICBvbihzdXJ2ZXlBY3Rpb25zLnVwZGF0ZUluc3RpdHV0aW9uUXVlc3Rpb25BbnN3ZXIsIChzdGF0ZSwgcHJvcHMpID0+IHtcclxuICAgICAgICBjb25zdCBxdWVzdGlvbiA9IHNlbGVjdEFsbChzdGF0ZS5xdWVzdGlvbkFycikuZmluZCh4ID0+IHgucXVlc3Rpb25JZCA9PSBwcm9wcy5xdWVzdGlvbklkKTtcclxuICAgICAgICBpZiAocXVlc3Rpb24pIHtcclxuICAgICAgICAgICAgdmFyIHVwZGF0ZU1vZGVsOiBVcGRhdGU8UXVlc3Rpb25OZ3J4TW9kZWw+O1xyXG5cclxuICAgICAgICAgICAgaWYgKHF1ZXN0aW9uLnF1ZXN0aW9uVHlwZSA9PSBRdWVzdGlvblR5cGVFbnVtLkluc3RpdHV0aW9ucykge1xyXG4gICAgICAgICAgICAgICAgdXBkYXRlTW9kZWwgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWQ6IHByb3BzLnF1ZXN0aW9uSWQsXHJcbiAgICAgICAgICAgICAgICAgICAgY2hhbmdlczoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbnN3ZXJJZDogcHJvcHMuYW5zd2VySWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFuc3dlclRleHQ6IHByb3BzLmFuc3dlcixcclxuICAgICAgICAgICAgICAgICAgICAgICAgYW5zd2VyTGV2ZWxJZDogcHJvcHMuYW5zd2VyTGV2ZWxJZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXNWYWxpZDogcHJvcHMuaXNWYWxpZFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgICAgICAuLi5zdGF0ZSxcclxuICAgICAgICAgICAgICAgICAgICBxdWVzdGlvbkFycjogcXVlc3Rpb25BZGFwdGVyLnVwZGF0ZU9uZSh1cGRhdGVNb2RlbCwgc3RhdGUucXVlc3Rpb25BcnIpXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIC4uLnN0YXRlXHJcbiAgICAgICAgfVxyXG4gICAgfSksXHJcbiAgICBvbihzdXJ2ZXlBY3Rpb25zLnVwZGF0ZVF1ZXN0aW9uU2hvdywgKHN0YXRlLCBwcm9wcykgPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIC4uLnN0YXRlLFxyXG4gICAgICAgICAgICBxdWVzdGlvbkFycjogcXVlc3Rpb25BZGFwdGVyLnVwZGF0ZU9uZSh7XHJcbiAgICAgICAgICAgICAgICBpZDogcHJvcHMucXVlc3Rpb25JZCxcclxuICAgICAgICAgICAgICAgIGNoYW5nZXM6IHtcclxuICAgICAgICAgICAgICAgICAgICBpc1Nob3c6IHByb3BzLmlzU2hvd1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9LCBzdGF0ZS5xdWVzdGlvbkFycilcclxuICAgICAgICB9XHJcbiAgICB9KSxcclxuICAgIG9uKHN1cnZleUFjdGlvbnMudXBkYXRlUXVlc3Rpb25zU2hvdywgKHN0YXRlLCBwcm9wcykgPT4ge1xyXG4gICAgICAgIGNvbnN0IHVwZGF0ZXMgPSBwcm9wcy5xdWVzdGlvbnMubWFwKHEgPT4gKHtcclxuICAgICAgICAgICAgaWQ6IHEuaWQsXHJcbiAgICAgICAgICAgIGNoYW5nZXM6IHsgaXNTaG93OiBwcm9wcy5pc1Nob3csIHBhc3NlZFJ1bGVRdWVzdGlvbklkOiBxLnBhc3NlZFJ1bGVRdWVzdGlvbklkIH1cclxuICAgICAgICB9KSk7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgLi4uc3RhdGUsXHJcbiAgICAgICAgICAgIHF1ZXN0aW9uQXJyOiBxdWVzdGlvbkFkYXB0ZXIudXBkYXRlTWFueSh1cGRhdGVzLCBzdGF0ZS5xdWVzdGlvbkFycilcclxuICAgICAgICB9XHJcbiAgICB9KSxcclxuICAgIG9uKHN1cnZleUFjdGlvbnMudXBkYXRlUXVlc3Rpb25EaXNhYmxlLCAoc3RhdGUsIHByb3BzKSA9PiB7XHJcbiAgICAgICAgY29uc3QgcXVlc3Rpb24gPSBzZWxlY3RBbGwoc3RhdGUucXVlc3Rpb25BcnIpLmZpbmQoeCA9PiB4LnF1ZXN0aW9uSWQgPT0gcHJvcHMucXVlc3Rpb25JZCk7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgLi4uc3RhdGUsXHJcbiAgICAgICAgICAgIHF1ZXN0aW9uQXJyOiBxdWVzdGlvbkFkYXB0ZXIudXBkYXRlT25lKHtcclxuICAgICAgICAgICAgICAgIGlkOiBwcm9wcy5xdWVzdGlvbklkLFxyXG4gICAgICAgICAgICAgICAgY2hhbmdlczoge1xyXG4gICAgICAgICAgICAgICAgICAgIGlzRGlzYWJsZWQ6IHByb3BzLmlzRGlzYWJsZWRcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSwgc3RhdGUucXVlc3Rpb25BcnIpXHJcbiAgICAgICAgfVxyXG4gICAgfSksXHJcbiAgICBvbihzdXJ2ZXlBY3Rpb25zLnVwZGF0ZVF1ZXN0aW9uc0Rpc2FibGUsIChzdGF0ZSwgcHJvcHMpID0+IHtcclxuICAgICAgICBjb25zdCB1cGRhdGVzID0gcHJvcHMucXVlc3Rpb25zLm1hcChxID0+ICh7XHJcbiAgICAgICAgICAgIGlkOiBxLmlkLFxyXG4gICAgICAgICAgICBjaGFuZ2VzOiB7IGlzRGlzYWJsZWQ6IHByb3BzLmlzRGlzYWJsZWQsIHBhc3NlZFJ1bGVRdWVzdGlvbklkOiBxLnBhc3NlZFJ1bGVRdWVzdGlvbklkIH1cclxuICAgICAgICB9KSk7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgLi4uc3RhdGUsXHJcbiAgICAgICAgICAgIHF1ZXN0aW9uQXJyOiBxdWVzdGlvbkFkYXB0ZXIudXBkYXRlTWFueSh1cGRhdGVzLCBzdGF0ZS5xdWVzdGlvbkFycilcclxuICAgICAgICB9XHJcbiAgICB9KSxcclxuICAgIG9uKHN1cnZleUFjdGlvbnMudXBkYXRlUXVlc3Rpb25SZXF1aXJlZCwgKHN0YXRlLCBwcm9wcykgPT4ge1xyXG4gICAgICAgIGNvbnN0IHF1ZXN0aW9uID0gc2VsZWN0QWxsKHN0YXRlLnF1ZXN0aW9uQXJyKS5maW5kKHggPT4geC5xdWVzdGlvbklkID09IHByb3BzLnF1ZXN0aW9uSWQpO1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIC4uLnN0YXRlLFxyXG4gICAgICAgICAgICBxdWVzdGlvbkFycjogcXVlc3Rpb25BZGFwdGVyLnVwZGF0ZU9uZSh7XHJcbiAgICAgICAgICAgICAgICBpZDogcHJvcHMucXVlc3Rpb25JZCxcclxuICAgICAgICAgICAgICAgIGNoYW5nZXM6IHtcclxuICAgICAgICAgICAgICAgICAgICBpc1JlcXVpcmVkOiBwcm9wcy5pc1JlcXVpcmVkXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0sIHN0YXRlLnF1ZXN0aW9uQXJyKVxyXG4gICAgICAgIH1cclxuICAgIH0pLFxyXG4gICAgb24oc3VydmV5QWN0aW9ucy5yZW1vdmVRdWVzdGlvbiwgKHN0YXRlLCBwcm9wcykgPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIC4uLnN0YXRlLFxyXG4gICAgICAgICAgICBxdWVzdGlvbkFycjogcXVlc3Rpb25BZGFwdGVyLnJlbW92ZU9uZShwcm9wcy5xdWVzdGlvbklkLCBzdGF0ZS5xdWVzdGlvbkFycilcclxuICAgICAgICB9XHJcbiAgICB9KSxcclxuICAgIG9uKHN1cnZleUFjdGlvbnMudXBkYXRlUGFnZUlkLCAoc3RhdGUsIHByb3BzKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgLi4uc3RhdGUsXHJcbiAgICAgICAgICAgIHNlbGVjdGVkUGFnZUlkOiBwcm9wcy5wYWdlSWRcclxuICAgICAgICB9XHJcbiAgICB9KSxcclxuICAgIG9uKHN1cnZleUFjdGlvbnMubG9hZEluc3RpdHV0aW9uQXJyU3VjY2VzcywgKHN0YXRlLCBwcm9wcykgPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIC4uLnN0YXRlLFxyXG4gICAgICAgICAgICBJbnN0aXR1dGlvbkFycjogcHJvcHMuaW5zdGl0dXRpb25BcnJcclxuICAgICAgICB9XHJcbiAgICB9KSxcclxuICAgIG9uKHN1cnZleUFjdGlvbnMucmVzZXRTdXJ2ZXksIChzdGF0ZSkgPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIC4uLmluaXRpYWxTdXJ2ZXlTdGF0ZVxyXG4gICAgICAgIH1cclxuICAgIH0pXHJcbik7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gc3VydmV5UmVkdWNlcihzdGF0ZSwgYWN0aW9uKSB7XHJcbiAgICByZXR1cm4gX3N1cnZleVJlZHVjZXIoc3RhdGUsIGFjdGlvbik7XHJcbn1cclxuIl19
@@ -1,6 +1,8 @@
1
1
  import { HttpHeaders } from '@angular/common/http';
2
2
  import { Inject, Injectable } from '@angular/core';
3
3
  import { LibConfigService } from './lib-config.service';
4
+ import { tap } from 'rxjs';
5
+ import { saveAs } from 'file-saver';
4
6
  import * as i0 from "@angular/core";
5
7
  import * as i1 from "@angular/common/http";
6
8
  export class ApiService {
@@ -40,6 +42,15 @@ export class ApiService {
40
42
  var queryString = $.param(filter);
41
43
  return this._HttpClient.get(`${this.url}/Institutions/GetPrograms?${queryString}`, { headers: new HttpHeaders({ 'disable-error-alert': 'true' }) });
42
44
  }
45
+ downloadFile(params) {
46
+ var queryString = $.param({ fileId: params.fileId });
47
+ return this._HttpClient.get(`${this.url}/Survey/GetFile?${queryString}`, { observe: 'response', responseType: 'blob', headers: new HttpHeaders({ 'disable-error-alert': 'true' }) })
48
+ .pipe(tap((res) => {
49
+ if (res.body) {
50
+ saveAs(res.body, params.fileName);
51
+ }
52
+ }));
53
+ }
43
54
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: ApiService, deps: [{ token: i1.HttpClient }, { token: LibConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
44
55
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: ApiService, providedIn: 'root' }); }
45
56
  }
@@ -52,4 +63,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
52
63
  type: Inject,
53
64
  args: [LibConfigService]
54
65
  }] }]; } });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdXJ2ZXJ5LWxpYi9zcmMvbGliL3NlcnZpY2VzL2FwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQWtCLE1BQU0sc0JBQXNCLENBQUM7OztBQWlCeEUsTUFBTSxPQUFPLFVBQVU7SUFHckIsWUFBb0IsV0FBdUIsRUFDUCxpQkFBaUM7UUFEakQsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDUCxzQkFBaUIsR0FBakIsaUJBQWlCLENBQWdCO1FBQ25FLElBQUksQ0FBQyxHQUFHLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxlQUFlLENBQUMsTUFBMkQ7UUFDekUsSUFBSSxXQUFXLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUF3QixHQUFHLElBQUksQ0FBQyxHQUFHLDJCQUEyQixXQUFXLEVBQUUsRUFDckcsRUFBRSxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsa0JBQWtCLENBQUUsTUFBOEQ7UUFDaEYsSUFBSSxXQUFXLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUEyQixHQUFHLElBQUksQ0FBQyxHQUFHLDhCQUE4QixXQUFXLEVBQUUsRUFDM0csRUFBRSxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQTRCLEdBQUcsSUFBSSxDQUFDLEdBQUcsa0NBQWtDLEVBQ25HLEVBQUUsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELG1DQUFtQyxDQUFDLE1BQXlFO1FBQzNHLElBQUksV0FBVyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBNkMsR0FBRyxJQUFJLENBQUMsR0FBRywyQ0FBMkMsV0FBVyxFQUFFLEVBQzFJLEVBQUUsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELGNBQWMsQ0FBQyxNQUFxRDtRQUNsRSxJQUFJLFdBQVcsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQWtDLEdBQUcsSUFBSSxDQUFDLEdBQUcsNkJBQTZCLFdBQVcsRUFBRSxFQUNqSCxFQUFFLE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxjQUFjLENBQUUsTUFBZ0Y7UUFDOUYsSUFBSSxXQUFXLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFtQyxHQUFHLElBQUksQ0FBQyxHQUFHLDZCQUE2QixXQUFXLEVBQUUsRUFDbEgsRUFBRSxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsY0FBYyxDQUFFLE1BQWlGO1FBQy9GLElBQUksV0FBVyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBbUMsR0FBRyxJQUFJLENBQUMsR0FBRyw2QkFBNkIsV0FBVyxFQUFFLEVBQ2xILEVBQUUsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELGNBQWMsQ0FBQyxNQUFpRjtRQUM5RixJQUFJLFdBQVcsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQW1DLEdBQUcsSUFBSSxDQUFDLEdBQUcsNkJBQTZCLFdBQVcsRUFBRSxFQUNsSCxFQUFFLE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7OEdBckRVLFVBQVUsNENBSVgsZ0JBQWdCO2tIQUpmLFVBQVUsY0FGVCxNQUFNOzsyRkFFUCxVQUFVO2tCQUh0QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBS0ksTUFBTTsyQkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExpYkNvbmZpZ1NlcnZpY2UsIExpYkNvbmZpZ01vZGVsIH0gZnJvbSAnLi9saWItY29uZmlnLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFN1cnZleVF1ZXN0aW9uRHRvIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2R0b3Mvc3VydmV5LXF1ZXN0aW9uLmR0byc7XHJcbmltcG9ydCB7IER0b0Jhc2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvZHRvcy9iYXNlL2R0by5iYXNlJztcclxuaW1wb3J0IHsgR2V0SXNPdGhlclF1ZXN0aW9uUmVzdWx0LCBHZXROZXh0UXVlc3Rpb25SZXN1bHQgfSBmcm9tICcuLi8uLi9zaGFyZWQvcmVzdWx0cy9hcGkucmVzdWx0JztcclxuaW1wb3J0IHsgUmVzdWx0RHRvIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2R0b3MvYmFzZS9yZXN1bHQuZHRvJztcclxuaW1wb3J0IHsgSW5zdGl0dXRpb25EdG8gfSBmcm9tICcuLi8uLi9zaGFyZWQvZHRvcy9pbnN0aXR1dGlvbi5kdG8nO1xyXG5pbXBvcnQgeyBJbnN0aXR1dGlvbkJyYW5jaER0byB9IGZyb20gJy4uLy4uL3NoYXJlZC9kdG9zL2luc3RpdHV0aW9uLWJyYW5jaC5kdG8nO1xyXG5pbXBvcnQgeyBJbnN0aXR1dGlvbkNvbGxhZ2VEdG8gfSBmcm9tICcuLi8uLi9zaGFyZWQvZHRvcy9pbnN0aXR1dGlvbi1jb2xsYWdlLmR0byc7XHJcbmltcG9ydCB7IEluc3RpdHV0aW9uU2VjdGlvbkR0byB9IGZyb20gJy4uLy4uL3NoYXJlZC9kdG9zL2luc3RpdHV0aW9uLXNlY3Rpb24uZHRvJztcclxuaW1wb3J0IHsgSW5zdGl0dXRpb25Qcm9ncmFtRHRvIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2R0b3MvaW5zdGl0dXRpb24tcHJvZ3JhbS5kdG8nO1xyXG5pbXBvcnQgeyBQcm9ncmFtc1JlbGF0ZWRUb0luc3RpdHV0aW9uRHRvIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2R0b3MvcHJvZ3JhbXMtcmVsYXRlZC10by1pbnN0aXR1dGlvbi5kdG8nO1xyXG5kZWNsYXJlIHZhciAkOiBhbnk7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcGlTZXJ2aWNlIHtcclxuICBwcml2YXRlIHVybDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfSHR0cENsaWVudDogSHR0cENsaWVudCxcclxuICAgIEBJbmplY3QoTGliQ29uZmlnU2VydmljZSkgcHJpdmF0ZSBfTGliQ29uZmlnU2VydmljZTogTGliQ29uZmlnTW9kZWwpIHtcclxuICAgIHRoaXMudXJsID0gX0xpYkNvbmZpZ1NlcnZpY2UuYXBpVXJsO1xyXG4gIH1cclxuXHJcbiAgZ2V0TmV4dFF1ZXN0aW9uKGZpbHRlcjogeyBhbnN3ZXJJZCwgc3VydmV5TGFuZ3VhZ2VJZCwgYXBwbGljYW50S2V5LCBpc1ByZSB9KTogT2JzZXJ2YWJsZTxHZXROZXh0UXVlc3Rpb25SZXN1bHQ+IHtcclxuICAgIHZhciBxdWVyeVN0cmluZyA9ICQucGFyYW0oZmlsdGVyKTtcclxuICAgIHJldHVybiB0aGlzLl9IdHRwQ2xpZW50LmdldDxHZXROZXh0UXVlc3Rpb25SZXN1bHQ+KGAke3RoaXMudXJsfS9TdXJ2ZXkvR2V0TmV4dFF1ZXN0aW9uPyR7cXVlcnlTdHJpbmd9YCxcclxuICAgICB7IGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7ICdkaXNhYmxlLWVycm9yLWFsZXJ0JzogJ3RydWUnIH0pIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0SXNPdGhlclF1ZXN0aW9uIChmaWx0ZXI6IHsgcGFyZW50UUlkICwgZ3JvdXBJZCAsIHN1cnZleUxhbmd1YWdlSWQgLCBzdXJ2ZXlLZXkgfSk6IE9ic2VydmFibGU8R2V0SXNPdGhlclF1ZXN0aW9uUmVzdWx0PiB7XHJcbiAgICB2YXIgcXVlcnlTdHJpbmcgPSAkLnBhcmFtKGZpbHRlcik7XHJcbiAgICByZXR1cm4gdGhpcy5fSHR0cENsaWVudC5nZXQ8R2V0SXNPdGhlclF1ZXN0aW9uUmVzdWx0PihgJHt0aGlzLnVybH0vU3VydmV5L0dldElzT3RoZXJRdWVzdGlvbj8ke3F1ZXJ5U3RyaW5nfWAsXHJcbiAgICAgeyBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoeyAnZGlzYWJsZS1lcnJvci1hbGVydCc6ICd0cnVlJyB9KSB9KTtcclxuICB9XHJcblxyXG4gIGdldEFsbEluc3RpdHV0aW9ucyggKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fSHR0cENsaWVudC5nZXQ8UmVzdWx0RHRvPEluc3RpdHV0aW9uRHRvPj4oYCR7dGhpcy51cmx9L0luc3RpdHV0aW9ucy9HZXRBbGxJbnN0aXR1dGlvbnNgLFxyXG4gICAgIHsgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHsgJ2Rpc2FibGUtZXJyb3ItYWxlcnQnOiAndHJ1ZScgfSkgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRBbGxQcm9ncmFtc1JlbGF0ZWRUb0luc3RpdHV0aW9ucyhmaWx0ZXI6e3N1Ym1pc3Npb25JZDpzdHJpbmcgLGdlbmVyYXRlZElkOnN0cmluZyxyZXF1ZXN0VGltZXN0YW1wOnN0cmluZyB9ICkge1xyXG4gICAgdmFyIHF1ZXJ5U3RyaW5nID0gJC5wYXJhbShmaWx0ZXIpO1xyXG4gICAgcmV0dXJuIHRoaXMuX0h0dHBDbGllbnQuZ2V0PFJlc3VsdER0bzxQcm9ncmFtc1JlbGF0ZWRUb0luc3RpdHV0aW9uRHRvPj4oYCR7dGhpcy51cmx9L0luc3RpdHV0aW9ucy9HZXRQcm9ncmFtc0Zvckluc3RpdHV0aW9uPyR7cXVlcnlTdHJpbmd9YCxcclxuICAgICB7IGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7ICdkaXNhYmxlLWVycm9yLWFsZXJ0JzogJ3RydWUnIH0pIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0QWxsQnJhbmNoZXMoZmlsdGVyOntzdWJtaXNzaW9uSWQ6c3RyaW5nICxyZXF1ZXN0VGltZXN0YW1wOnN0cmluZ30gKSB7XHJcbiAgICB2YXIgcXVlcnlTdHJpbmcgPSAkLnBhcmFtKGZpbHRlcik7XHJcbiAgICByZXR1cm4gdGhpcy5fSHR0cENsaWVudC5nZXQ8UmVzdWx0RHRvPEluc3RpdHV0aW9uQnJhbmNoRHRvPj4oYCR7dGhpcy51cmx9L0luc3RpdHV0aW9ucy9HZXRCcmFuY2hlcz8ke3F1ZXJ5U3RyaW5nfWAsXHJcbiAgICAgeyBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoeyAnZGlzYWJsZS1lcnJvci1hbGVydCc6ICd0cnVlJyB9KSB9KTtcclxuICB9XHJcblxyXG4gIGdldEFsbENvbGxhZ2VzKCBmaWx0ZXI6e3N1Ym1pc3Npb25JZDpzdHJpbmcgLGJyYW5jaFN1Ym1pc3Npb25JZDpzdHJpbmcscmVxdWVzdFRpbWVzdGFtcDpzdHJpbmcgfSkge1xyXG4gICAgdmFyIHF1ZXJ5U3RyaW5nID0gJC5wYXJhbShmaWx0ZXIpO1xyXG4gICAgcmV0dXJuIHRoaXMuX0h0dHBDbGllbnQuZ2V0PFJlc3VsdER0bzxJbnN0aXR1dGlvbkNvbGxhZ2VEdG8+PihgJHt0aGlzLnVybH0vSW5zdGl0dXRpb25zL0dldENvbGxhZ2VzPyR7cXVlcnlTdHJpbmd9YCxcclxuICAgICB7IGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7ICdkaXNhYmxlLWVycm9yLWFsZXJ0JzogJ3RydWUnIH0pIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0QWxsU2VjdGlvbnMoIGZpbHRlcjp7c3VibWlzc2lvbklkOnN0cmluZyAsY29sbGFnZVN1Ym1pc3Npb25JZDpzdHJpbmcscmVxdWVzdFRpbWVzdGFtcDpzdHJpbmcgfSkge1xyXG4gICAgdmFyIHF1ZXJ5U3RyaW5nID0gJC5wYXJhbShmaWx0ZXIpO1xyXG4gICAgcmV0dXJuIHRoaXMuX0h0dHBDbGllbnQuZ2V0PFJlc3VsdER0bzxJbnN0aXR1dGlvblNlY3Rpb25EdG8+PihgJHt0aGlzLnVybH0vSW5zdGl0dXRpb25zL0dldFNlY3Rpb25zPyR7cXVlcnlTdHJpbmd9YCxcclxuICAgICB7IGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7ICdkaXNhYmxlLWVycm9yLWFsZXJ0JzogJ3RydWUnIH0pIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0QWxsUHJvZ3JhbXMoZmlsdGVyOntzdWJtaXNzaW9uSWQ6c3RyaW5nICxzZWN0aW9uR2VuZXJhdGVkS2V5OnN0cmluZyxyZXF1ZXN0VGltZXN0YW1wOnN0cmluZyB9ICkge1xyXG4gICAgdmFyIHF1ZXJ5U3RyaW5nID0gJC5wYXJhbShmaWx0ZXIpO1xyXG4gICAgcmV0dXJuIHRoaXMuX0h0dHBDbGllbnQuZ2V0PFJlc3VsdER0bzxJbnN0aXR1dGlvblByb2dyYW1EdG8+PihgJHt0aGlzLnVybH0vSW5zdGl0dXRpb25zL0dldFByb2dyYW1zPyR7cXVlcnlTdHJpbmd9YCxcclxuICAgICB7IGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7ICdkaXNhYmxlLWVycm9yLWFsZXJ0JzogJ3RydWUnIH0pIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdXJ2ZXJ5LWxpYi9zcmMvbGliL3NlcnZpY2VzL2FwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQWtCLE1BQU0sc0JBQXNCLENBQUM7QUFDeEUsT0FBTyxFQUFjLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQVd2QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sWUFBWSxDQUFDOzs7QUFNcEMsTUFBTSxPQUFPLFVBQVU7SUFHckIsWUFBb0IsV0FBdUIsRUFDUCxpQkFBaUM7UUFEakQsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDUCxzQkFBaUIsR0FBakIsaUJBQWlCLENBQWdCO1FBQ25FLElBQUksQ0FBQyxHQUFHLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxlQUFlLENBQUMsTUFBMkQ7UUFDekUsSUFBSSxXQUFXLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUF3QixHQUFHLElBQUksQ0FBQyxHQUFHLDJCQUEyQixXQUFXLEVBQUUsRUFDcEcsRUFBRSxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsa0JBQWtCLENBQUMsTUFBMkQ7UUFDNUUsSUFBSSxXQUFXLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxPQUFPLElBQUksQ0FBQyxX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QUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQzthQUNqTCxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDVixJQUFJLEdBQUcsQ0FBQyxJQUFJLEVBQUU7Z0JBQ1osTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQ25DO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNOLENBQUM7OEdBakVVLFVBQVUsNENBSVgsZ0JBQWdCO2tIQUpmLFVBQVUsY0FGVCxNQUFNOzsyRkFFUCxVQUFVO2tCQUh0QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBS0ksTUFBTTsyQkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExpYkNvbmZpZ1NlcnZpY2UsIExpYkNvbmZpZ01vZGVsIH0gZnJvbSAnLi9saWItY29uZmlnLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0YXAgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgU3VydmV5UXVlc3Rpb25EdG8gfSBmcm9tICcuLi8uLi9zaGFyZWQvZHRvcy9zdXJ2ZXktcXVlc3Rpb24uZHRvJztcclxuaW1wb3J0IHsgRHRvQmFzZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9kdG9zL2Jhc2UvZHRvLmJhc2UnO1xyXG5pbXBvcnQgeyBHZXRJc090aGVyUXVlc3Rpb25SZXN1bHQsIEdldE5leHRRdWVzdGlvblJlc3VsdCB9IGZyb20gJy4uLy4uL3NoYXJlZC9yZXN1bHRzL2FwaS5yZXN1bHQnO1xyXG5pbXBvcnQgeyBSZXN1bHREdG8gfSBmcm9tICcuLi8uLi9zaGFyZWQvZHRvcy9iYXNlL3Jlc3VsdC5kdG8nO1xyXG5pbXBvcnQgeyBJbnN0aXR1dGlvbkR0byB9IGZyb20gJy4uLy4uL3NoYXJlZC9kdG9zL2luc3RpdHV0aW9uLmR0byc7XHJcbmltcG9ydCB7IEluc3RpdHV0aW9uQnJhbmNoRHRvIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2R0b3MvaW5zdGl0dXRpb24tYnJhbmNoLmR0byc7XHJcbmltcG9ydCB7IEluc3RpdHV0aW9uQ29sbGFnZUR0byB9IGZyb20gJy4uLy4uL3NoYXJlZC9kdG9zL2luc3RpdHV0aW9uLWNvbGxhZ2UuZHRvJztcclxuaW1wb3J0IHsgSW5zdGl0dXRpb25TZWN0aW9uRHRvIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2R0b3MvaW5zdGl0dXRpb24tc2VjdGlvbi5kdG8nO1xyXG5pbXBvcnQgeyBJbnN0aXR1dGlvblByb2dyYW1EdG8gfSBmcm9tICcuLi8uLi9zaGFyZWQvZHRvcy9pbnN0aXR1dGlvbi1wcm9ncmFtLmR0byc7XHJcbmltcG9ydCB7IFByb2dyYW1zUmVsYXRlZFRvSW5zdGl0dXRpb25EdG8gfSBmcm9tICcuLi8uLi9zaGFyZWQvZHRvcy9wcm9ncmFtcy1yZWxhdGVkLXRvLWluc3RpdHV0aW9uLmR0byc7XHJcbmltcG9ydCB7IHNhdmVBcyB9IGZyb20gJ2ZpbGUtc2F2ZXInO1xyXG5kZWNsYXJlIHZhciAkOiBhbnk7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcGlTZXJ2aWNlIHtcclxuICBwcml2YXRlIHVybDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfSHR0cENsaWVudDogSHR0cENsaWVudCxcclxuICAgIEBJbmplY3QoTGliQ29uZmlnU2VydmljZSkgcHJpdmF0ZSBfTGliQ29uZmlnU2VydmljZTogTGliQ29uZmlnTW9kZWwpIHtcclxuICAgIHRoaXMudXJsID0gX0xpYkNvbmZpZ1NlcnZpY2UuYXBpVXJsO1xyXG4gIH1cclxuXHJcbiAgZ2V0TmV4dFF1ZXN0aW9uKGZpbHRlcjogeyBhbnN3ZXJJZCwgc3VydmV5TGFuZ3VhZ2VJZCwgYXBwbGljYW50S2V5LCBpc1ByZSB9KTogT2JzZXJ2YWJsZTxHZXROZXh0UXVlc3Rpb25SZXN1bHQ+IHtcclxuICAgIHZhciBxdWVyeVN0cmluZyA9ICQucGFyYW0oZmlsdGVyKTtcclxuICAgIHJldHVybiB0aGlzLl9IdHRwQ2xpZW50LmdldDxHZXROZXh0UXVlc3Rpb25SZXN1bHQ+KGAke3RoaXMudXJsfS9TdXJ2ZXkvR2V0TmV4dFF1ZXN0aW9uPyR7cXVlcnlTdHJpbmd9YCxcclxuICAgICAgeyBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoeyAnZGlzYWJsZS1lcnJvci1hbGVydCc6ICd0cnVlJyB9KSB9KTtcclxuICB9XHJcblxyXG4gIGdldElzT3RoZXJRdWVzdGlvbihmaWx0ZXI6IHsgcGFyZW50UUlkLCBncm91cElkLCBzdXJ2ZXlMYW5ndWFnZUlkLCBzdXJ2ZXlLZXkgfSk6IE9ic2VydmFibGU8R2V0SXNPdGhlclF1ZXN0aW9uUmVzdWx0PiB7XHJcbiAgICB2YXIgcXVlcnlTdHJpbmcgPSAkLnBhcmFtKGZpbHRlcik7XHJcbiAgICByZXR1cm4gdGhpcy5fSHR0cENsaWVudC5nZXQ8R2V0SXNPdGhlclF1ZXN0aW9uUmVzdWx0PihgJHt0aGlzLnVybH0vU3VydmV5L0dldElzT3RoZXJRdWVzdGlvbj8ke3F1ZXJ5U3RyaW5nfWAsXHJcbiAgICAgIHsgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHsgJ2Rpc2FibGUtZXJyb3ItYWxlcnQnOiAndHJ1ZScgfSkgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRBbGxJbnN0aXR1dGlvbnMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fSHR0cENsaWVudC5nZXQ8UmVzdWx0RHRvPEluc3RpdHV0aW9uRHRvPj4oYCR7dGhpcy51cmx9L0luc3RpdHV0aW9ucy9HZXRBbGxJbnN0aXR1dGlvbnNgLFxyXG4gICAgICB7IGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7ICdkaXNhYmxlLWVycm9yLWFsZXJ0JzogJ3RydWUnIH0pIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0QWxsUHJvZ3JhbXNSZWxhdGVkVG9JbnN0aXR1dGlvbnMoZmlsdGVyOiB7IHN1Ym1pc3Npb25JZDogc3RyaW5nLCBnZW5lcmF0ZWRJZDogc3RyaW5nLCByZXF1ZXN0VGltZXN0YW1wOiBzdHJpbmcgfSkge1xyXG4gICAgdmFyIHF1ZXJ5U3RyaW5nID0gJC5wYXJhbShmaWx0ZXIpO1xyXG4gICAgcmV0dXJuIHRoaXMuX0h0dHBDbGllbnQuZ2V0PFJlc3VsdER0bzxQcm9ncmFtc1JlbGF0ZWRUb0luc3RpdHV0aW9uRHRvPj4oYCR7dGhpcy51cmx9L0luc3RpdHV0aW9ucy9HZXRQcm9ncmFtc0Zvckluc3RpdHV0aW9uPyR7cXVlcnlTdHJpbmd9YCxcclxuICAgICAgeyBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoeyAnZGlzYWJsZS1lcnJvci1hbGVydCc6ICd0cnVlJyB9KSB9KTtcclxuICB9XHJcblxyXG4gIGdldEFsbEJyYW5jaGVzKGZpbHRlcjogeyBzdWJtaXNzaW9uSWQ6IHN0cmluZywgcmVxdWVzdFRpbWVzdGFtcDogc3RyaW5nIH0pIHtcclxuICAgIHZhciBxdWVyeVN0cmluZyA9ICQucGFyYW0oZmlsdGVyKTtcclxuICAgIHJldHVybiB0aGlzLl9IdHRwQ2xpZW50LmdldDxSZXN1bHREdG88SW5zdGl0dXRpb25CcmFuY2hEdG8+PihgJHt0aGlzLnVybH0vSW5zdGl0dXRpb25zL0dldEJyYW5jaGVzPyR7cXVlcnlTdHJpbmd9YCxcclxuICAgICAgeyBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoeyAnZGlzYWJsZS1lcnJvci1hbGVydCc6ICd0cnVlJyB9KSB9KTtcclxuICB9XHJcblxyXG4gIGdldEFsbENvbGxhZ2VzKGZpbHRlcjogeyBzdWJtaXNzaW9uSWQ6IHN0cmluZywgYnJhbmNoU3VibWlzc2lvbklkOiBzdHJpbmcsIHJlcXVlc3RUaW1lc3RhbXA6IHN0cmluZyB9KSB7XHJcbiAgICB2YXIgcXVlcnlTdHJpbmcgPSAkLnBhcmFtKGZpbHRlcik7XHJcbiAgICByZXR1cm4gdGhpcy5fSHR0cENsaWVudC5nZXQ8UmVzdWx0RHRvPEluc3RpdHV0aW9uQ29sbGFnZUR0bz4+KGAke3RoaXMudXJsfS9JbnN0aXR1dGlvbnMvR2V0Q29sbGFnZXM/JHtxdWVyeVN0cmluZ31gLFxyXG4gICAgICB7IGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7ICdkaXNhYmxlLWVycm9yLWFsZXJ0JzogJ3RydWUnIH0pIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0QWxsU2VjdGlvbnMoZmlsdGVyOiB7IHN1Ym1pc3Npb25JZDogc3RyaW5nLCBjb2xsYWdlU3VibWlzc2lvbklkOiBzdHJpbmcsIHJlcXVlc3RUaW1lc3RhbXA6IHN0cmluZyB9KSB7XHJcbiAgICB2YXIgcXVlcnlTdHJpbmcgPSAkLnBhcmFtKGZpbHRlcik7XHJcbiAgICByZXR1cm4gdGhpcy5fSHR0cENsaWVudC5nZXQ8UmVzdWx0RHRvPEluc3RpdHV0aW9uU2VjdGlvbkR0bz4+KGAke3RoaXMudXJsfS9JbnN0aXR1dGlvbnMvR2V0U2VjdGlvbnM/JHtxdWVyeVN0cmluZ31gLFxyXG4gICAgICB7IGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7ICdkaXNhYmxlLWVycm9yLWFsZXJ0JzogJ3RydWUnIH0pIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0QWxsUHJvZ3JhbXMoZmlsdGVyOiB7IHN1Ym1pc3Npb25JZDogc3RyaW5nLCBzZWN0aW9uR2VuZXJhdGVkS2V5OiBzdHJpbmcsIHJlcXVlc3RUaW1lc3RhbXA6IHN0cmluZyB9KSB7XHJcbiAgICB2YXIgcXVlcnlTdHJpbmcgPSAkLnBhcmFtKGZpbHRlcik7XHJcbiAgICByZXR1cm4gdGhpcy5fSHR0cENsaWVudC5nZXQ8UmVzdWx0RHRvPEluc3RpdHV0aW9uUHJvZ3JhbUR0bz4+KGAke3RoaXMudXJsfS9JbnN0aXR1dGlvbnMvR2V0UHJvZ3JhbXM/JHtxdWVyeVN0cmluZ31gLFxyXG4gICAgICB7IGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7ICdkaXNhYmxlLWVycm9yLWFsZXJ0JzogJ3RydWUnIH0pIH0pO1xyXG4gIH1cclxuXHJcbiAgZG93bmxvYWRGaWxlKHBhcmFtczogeyBmaWxlSWQ6IHN0cmluZywgZmlsZU5hbWU6IHN0cmluZyB9KSB7XHJcbiAgICB2YXIgcXVlcnlTdHJpbmcgPSAkLnBhcmFtKHsgZmlsZUlkOiBwYXJhbXMuZmlsZUlkIH0pO1xyXG4gICAgcmV0dXJuIHRoaXMuX0h0dHBDbGllbnQuZ2V0KGAke3RoaXMudXJsfS9TdXJ2ZXkvR2V0RmlsZT8ke3F1ZXJ5U3RyaW5nfWAsIHsgb2JzZXJ2ZTogJ3Jlc3BvbnNlJywgcmVzcG9uc2VUeXBlOiAnYmxvYicsIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7ICdkaXNhYmxlLWVycm9yLWFsZXJ0JzogJ3RydWUnIH0pIH0pXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIHRhcCgocmVzKSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzLmJvZHkpIHtcclxuICAgICAgICAgICAgc2F2ZUFzKHJlcy5ib2R5LCBwYXJhbXMuZmlsZU5hbWUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==