survery-lib 2.1.15 → 2.1.17

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.
@@ -50,7 +50,8 @@ export class QuestionInstitutionsTemplateComponent {
50
50
  return this.institutionsArr$().map(x => {
51
51
  return {
52
52
  id: x.submissionId,
53
- name: this.isArabicLang == true ? x.institutionNameArabic : x.institutionNameEnglish
53
+ name: this.isArabicLang == true ? x.institutionNameArabic : x.institutionNameEnglish,
54
+ requestTimestamp: x.requestTimestamp,
54
55
  };
55
56
  });
56
57
  });
@@ -62,6 +63,7 @@ export class QuestionInstitutionsTemplateComponent {
62
63
  isShow: new FormControl(false),
63
64
  isRequired: new FormControl(null),
64
65
  institutionId: new FormControl(null),
66
+ institutionTimestamp: new FormControl(null),
65
67
  branchId: new FormControl(null),
66
68
  collageId: new FormControl(null),
67
69
  sectionId: new FormControl(null),
@@ -112,6 +114,7 @@ export class QuestionInstitutionsTemplateComponent {
112
114
  if (value.level == 1) {
113
115
  this.rForm.patchValue({
114
116
  institutionId: answerId,
117
+ institutionTimestamp: this.institutionsQuestionArr().find(x => x.id == answerId)?.requestTimestamp,
115
118
  branchId: null,
116
119
  collageId: null,
117
120
  sectionId: null
@@ -173,7 +176,7 @@ export class QuestionInstitutionsTemplateComponent {
173
176
  var group = this.fCtrls.questionArr.at(nextGroupIndex);
174
177
  if (group) {
175
178
  if (group.value.level == 2) {
176
- this._ApiService.getAllBranches({ submissionId: formValue.institutionId }).pipe(take(1)).subscribe(res => {
179
+ this._ApiService.getAllBranches({ submissionId: formValue.institutionId, requestTimestamp: formValue.institutionTimestamp }).pipe(take(1)).subscribe(res => {
177
180
  group.controls.answers.setValue(res.responseDetails.map(x => {
178
181
  return {
179
182
  id: x.branchSubmissionId,
@@ -183,7 +186,7 @@ export class QuestionInstitutionsTemplateComponent {
183
186
  });
184
187
  }
185
188
  else if (group.value.level == 3) {
186
- this._ApiService.getAllCollages({ submissionId: formValue.institutionId, branchSubmissionId: formValue.branchId }).pipe(take(1)).subscribe(res => {
189
+ this._ApiService.getAllCollages({ submissionId: formValue.institutionId, branchSubmissionId: formValue.branchId, requestTimestamp: formValue.institutionTimestamp }).pipe(take(1)).subscribe(res => {
187
190
  group.controls.answers.setValue(res.responseDetails.map(x => {
188
191
  return {
189
192
  id: x.collageSubmissionId,
@@ -193,20 +196,20 @@ export class QuestionInstitutionsTemplateComponent {
193
196
  });
194
197
  }
195
198
  else if (group.value.level == 4) {
196
- this._ApiService.getAllSections({ submissionId: formValue.institutionId, collageSubmissionId: formValue.collageId }).pipe(take(1)).subscribe(res => {
199
+ this._ApiService.getAllSections({ submissionId: formValue.institutionId, collageSubmissionId: formValue.collageId, requestTimestamp: formValue.institutionTimestamp }).pipe(take(1)).subscribe(res => {
197
200
  group.controls.answers.setValue(res.responseDetails.map(x => {
198
201
  return {
199
- id: x.generatedId,
202
+ id: x.generatedKey,
200
203
  name: this.isArabicLang == true ? x.sectionNameInArabic : x.sectionNameInEnglish
201
204
  };
202
205
  }));
203
206
  });
204
207
  }
205
208
  else if (group.value.level == 5) {
206
- this._ApiService.getAllPrograms({ submissionId: formValue.institutionId, sectionGeneratedKey: formValue.sectionId }).pipe(take(1)).subscribe(res => {
209
+ this._ApiService.getAllPrograms({ submissionId: formValue.institutionId, sectionGeneratedKey: formValue.sectionId, requestTimestamp: formValue.institutionTimestamp }).pipe(take(1)).subscribe(res => {
207
210
  group.controls.answers.setValue(res.responseDetails.map(x => {
208
211
  return {
209
- id: x.generatedId,
212
+ id: x.generatedKey,
210
213
  name: this.isArabicLang == true ? x.programNameArabic : x.programNameEnglish
211
214
  };
212
215
  }));
@@ -236,4 +239,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
236
239
  }], setQuestion: [{
237
240
  type: Input
238
241
  }] } });
239
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24taW5zdGl0dXRpb25zLXRlbXBsYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N1cnZlcnktbGliL3NyYy9saWIvY29tcG9uZW50cy9xdWVzdGlvbi1pbnN0aXR1dGlvbnMtdGVtcGxhdGUvcXVlc3Rpb24taW5zdGl0dXRpb25zLXRlbXBsYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N1cnZlcnktbGliL3NyYy9saWIvY29tcG9uZW50cy9xdWVzdGlvbi1pbnN0aXR1dGlvbnMtdGVtcGxhdGUvcXVlc3Rpb24taW5zdGl0dXRpb25zLXRlbXBsYXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLFFBQVEsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQWUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRTVFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBT3JGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUk3RSxPQUFPLEVBQUUsb0JBQW9CLEVBQVksSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQzs7Ozs7OztBQU9qRixNQUFNLE9BQU8scUNBQXFDO0lBUWhELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sZ0JBQWdCLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksaUJBQWlCO1FBQ25C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QkFDMUQsT0FBTzs0QkFDTCxFQUFFLEVBQUUsQ0FBQyxDQUFDLFdBQVc7NEJBQ2pCLElBQUksRUFBRSxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCO3lCQUM3RSxDQUFBO29CQUNILENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ04sQ0FBQyxDQUFDLENBQUM7YUFDSjtTQUNGO0lBQ0gsQ0FBQztJQUVPLG9DQUFvQyxDQUFDLEtBQWE7UUFDeEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQStFLEVBQUUsRUFBRTtZQUMzSCxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLEtBQUssRUFBRTtnQkFDN0IsS0FBSyxDQUFDLFVBQVUsQ0FBQztvQkFDZixRQUFRLEVBQUUsSUFBSTtvQkFDZCxXQUFXLEVBQUUsSUFBSTtvQkFDakIsT0FBTyxFQUFFLEVBQUU7aUJBQ1osRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO2FBQzFCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFFTCxDQUFDOzhHQWhQVSxxQ0FBcUM7a0dBQXJDLHFDQUFxQyxnSkN4QmxELGdxQ0F1QkE7OzJGRENhLHFDQUFxQztrQkFMakQsU0FBUzsrQkFDRSxvQ0FBb0M7K0lBVXJDLFlBQVk7c0JBQXBCLEtBQUs7Z0JBdUJPLFdBQVc7c0JBQXZCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIGNvbXB1dGVkLCBlZmZlY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUXVlc3Rpb25UeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9lbnVtcy9xdWVzdGlvbi10eXBlLmVudW0nO1xuaW1wb3J0IHsgUXVlc3Rpb25BbnN3ZXJNb2RlbCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9tb2RlbHMvcXVlc3Rpb24tYW5zd2VyLm1vZGVsJztcbmltcG9ydCB7IHF1ZXN0aW9uU2VsZWN0b3JzIH0gZnJvbSAnLi4vLi4vY29yZS9zdGF0ZXMvc3VydmV5LXN0b3JlL3F1ZXN0aW9uLnNlbGVjdG9yJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHtcbiAgUXVlc3Rpb25Hcm91cENoaWxkT2ZRdWVzdGlvbkluc3RpdHV0aW9uc1RlbXBsYXRlRm9ybUludGVyZmFjZSxcbiAgUXVlc3Rpb25JbnN0aXR1dGlvbnNUZW1wbGF0ZUZvcm1JbnRlcmZhY2Vcbn0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2Zvcm0taW50ZXJmYWNlcy9xdWVzdGlvbi1JbnN0aXR1dGlvbnMtdGVtcGxhdGUuZm9ybS1pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUXVlc3Rpb25OZ3J4TW9kZWwgfSBmcm9tICcuLi8uLi9jb3JlL3N0YXRlcy9lbnRpdGVzL3F1ZXN0aW9uLmVudGl0eSc7XG5pbXBvcnQgeyBzdXJ2ZXlBY3Rpb25zIH0gZnJvbSAnLi4vLi4vY29yZS9zdGF0ZXMvc3VydmV5LXN0b3JlL3N1cnZleS5hY3Rpb24nO1xuaW1wb3J0IHsgU3VydmV5UXVlc3Rpb25EdG8gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZHRvcy9zdXJ2ZXktcXVlc3Rpb24uZHRvJztcbmltcG9ydCB7IFN1cnZleVN1YlF1ZXN0aW9uTGV2ZWxEdG8gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZHRvcy9zdXJ2ZXktc3ViLXF1ZXN0aW9uLWxldmVsLmR0byc7XG5pbXBvcnQgeyBBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIHBhaXJ3aXNlLCB0YWtlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTdXJ2ZXlMYW5ndWFnZUVudW0gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZW51bXMvc3VydmV5LWxhbmd1YWdlLmVudW0nO1xuaW1wb3J0IHsgc3VydmV5U2VsZWN0b3JzIH0gZnJvbSAnLi4vLi4vY29yZS9zdGF0ZXMvc3VydmV5LXN0b3JlL3N1cnZleS5zZWxlY3Rvcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1xdWVzdGlvbi1pbnN0aXR1dGlvbnMtdGVtcGxhdGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vcXVlc3Rpb24taW5zdGl0dXRpb25zLXRlbXBsYXRlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcXVlc3Rpb24taW5zdGl0dXRpb25zLXRlbXBsYXRlLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBRdWVzdGlvbkluc3RpdHV0aW9uc1RlbXBsYXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgaW5zdGl0dXRpb25zUXVlc3Rpb246IFN1cnZleVF1ZXN0aW9uRHRvID0gbnVsbDtcbiAgckZvcm06IEZvcm1Hcm91cDxRdWVzdGlvbkluc3RpdHV0aW9uc1RlbXBsYXRlRm9ybUludGVyZmFjZT47XG4gIHBhZ2VRdWVzdGlvbnMkID0gdGhpcy5fU3RvcmUuc2VsZWN0U2lnbmFsKHF1ZXN0aW9uU2VsZWN0b3JzLnBhZ2VRdWVzdGlvbnMpO1xuICBpbnN0aXR1dGlvbnNBcnIkID0gdGhpcy5fU3RvcmUuc2VsZWN0U2lnbmFsKHN1cnZleVNlbGVjdG9ycy5pbnN0aXR1dGlvbkFycik7XG5cbiAgQElucHV0KCkgaXNBcmFiaWNMYW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgZ2V0IGZDdHJscygpIHtcbiAgICByZXR1cm4gdGhpcy5yRm9ybS5jb250cm9scztcbiAgfVxuXG4gIGdldCBxdWVzdGlvblR5cGVFbnVtKCkge1xuICAgIHJldHVybiBRdWVzdGlvblR5cGVFbnVtO1xuICB9XG5cbiAgZ2V0IHF1ZXN0aW9uRm9ybUFycmF5KCkge1xuICAgIHJldHVybiB0aGlzLmZDdHJscy5xdWVzdGlvbkFyclxuICB9XG5cbiAgaW5zdGl0dXRpb25zUXVlc3Rpb25BcnIgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMuaW5zdGl0dXRpb25zQXJyJCgpLm1hcCh4ID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGlkOiB4LnN1Ym1pc3Npb25JZCxcbiAgICAgICAgbmFtZTogdGhpcy5pc0FyYWJpY0xhbmcgPT0gdHJ1ZSA/IHguaW5zdGl0dXRpb25OYW1lQXJhYmljIDogeC5pbnN0aXR1dGlvbk5hbWVFbmdsaXNoXG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xuXG4gIEBJbnB1dCgpIHNldCBzZXRRdWVzdGlvbih2YWx1ZTogUXVlc3Rpb25OZ3J4TW9kZWwpIHtcbiAgICBpZiAodGhpcy5pbnN0aXR1dGlvbnNRdWVzdGlvbiA9PSBudWxsKSB7XG4gICAgICB0aGlzLmluc3RpdHV0aW9uc1F1ZXN0aW9uID0gdmFsdWUucXVlc3Rpb25BbGxJbmZvO1xuXG4gICAgICB0aGlzLnJGb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICBpZDogdmFsdWUucXVlc3Rpb25JZCxcbiAgICAgICAgdGl0bGU6ICB2YWx1ZS5xdWVzdGlvbkFsbEluZm8ucXVlc3Rpb25UaXRsZSAgLFxuICAgICAgICBtYXhMZXZlbFZhbHVlOiB2YWx1ZS5xdWVzdGlvbkFsbEluZm8ubWF4TGV2ZWxWYWx1ZSxcbiAgICAgICAgaXNSZXF1aXJlZDogdmFsdWUuaXNSZXF1aXJlZCxcbiAgICAgICAgaXNEaXNhYmxlZDogdmFsdWUuaXNEaXNhYmxlZCxcbiAgICAgICAgaXNTaG93OiB2YWx1ZS5pc1Nob3dcbiAgICAgIH0pO1xuXG4gICAgICB2YWx1ZS5xdWVzdGlvbkFsbEluZm8uc3VydmV5U3ViUXVlc3Rpb25MZXZlbHMuZm9yRWFjaChzdXJ2ZXlTdWJRdWVzdGlvbkxldmVsID0+IHtcblxuICAgICAgICB2YXIgcXVlc3Rpb24gPSB0aGlzLnBhZ2VRdWVzdGlvbnMkKCkuZmluZCh4ID0+IHgucXVlc3Rpb25JZCA9PSB2YWx1ZS5xdWVzdGlvbklkKTtcbiAgICAgICAgdGhpcy5zZXRRdWVzdGlvbkZvcm1Hcm91cChzdXJ2ZXlTdWJRdWVzdGlvbkxldmVsLCBxdWVzdGlvbj8uaXNSZXF1aXJlZCwgcXVlc3Rpb24/LmFuc3dlcklkKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX1N0b3JlOiBTdG9yZSwgcHJpdmF0ZSBfZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLCBwcml2YXRlIF9BcGlTZXJ2aWNlOiBBcGlTZXJ2aWNlKSB7XG4gICAgdGhpcy5yRm9ybSA9IHRoaXMuX2Zvcm1CdWlsZGVyLmdyb3VwPFF1ZXN0aW9uSW5zdGl0dXRpb25zVGVtcGxhdGVGb3JtSW50ZXJmYWNlPih7XG4gICAgICBpZDogbmV3IEZvcm1Db250cm9sKG51bGwpLFxuICAgICAgdGl0bGU6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcbiAgICAgIG1heExldmVsVmFsdWU6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcbiAgICAgIGlzRGlzYWJsZWQ6IG5ldyBGb3JtQ29udHJvbChmYWxzZSksXG4gICAgICBpc1Nob3c6IG5ldyBGb3JtQ29udHJvbChmYWxzZSksXG4gICAgICBpc1JlcXVpcmVkOiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXG4gICAgICBpbnN0aXR1dGlvbklkOiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXG4gICAgICBicmFuY2hJZDogbmV3IEZvcm1Db250cm9sKG51bGwpLFxuICAgICAgY29sbGFnZUlkOiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXG4gICAgICBzZWN0aW9uSWQ6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcbiAgICAgIHF1ZXN0aW9uQXJyOiB0aGlzLl9mb3JtQnVpbGRlci5hcnJheTxGb3JtR3JvdXA8UXVlc3Rpb25Hcm91cENoaWxkT2ZRdWVzdGlvbkluc3RpdHV0aW9uc1RlbXBsYXRlRm9ybUludGVyZmFjZT4+KFtdKVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fU3RvcmUuZGlzcGF0Y2goc3VydmV5QWN0aW9ucy5sb2FkSW5zdGl0dXRpb25BcnIoKSk7XG4gIH1cblxuICBvblVwZGF0ZUFuc3dlcihtb2RlbDogeyBpZDogbnVtYmVyLCBuYW1lOiBzdHJpbmcgfSwgZ3JvdXBJbmRleDogbnVtYmVyKSB7XG4gICAgdmFyIGdyb3VwID10aGlzLmZDdHJscy5xdWVzdGlvbkFyci5hdChncm91cEluZGV4KTtcbiAgICBncm91cC5wYXRjaFZhbHVlKHtcbiAgICAgIGFuc3dlcklkOiBtb2RlbC5pZCxcbiAgICAgIGFuc3dlclZhbHVlOiBtb2RlbC5uYW1lXG4gICAgfSk7XG5cbiAgICB0aGlzLl9TdG9yZS5kaXNwYXRjaChzdXJ2ZXlBY3Rpb25zLnVwZGF0ZUluc3RpdHV0aW9uUXVlc3Rpb25BbnN3ZXIoe1xuICAgICAgcXVlc3Rpb25JZDogZ3JvdXAudmFsdWUuaWQsXG4gICAgICBhbnN3ZXJJZDogZ3JvdXAudmFsdWUuYW5zd2VySWQsXG4gICAgICBhbnN3ZXI6IGdyb3VwLnZhbHVlLmFuc3dlclZhbHVlLFxuICAgICAgaXNWYWxpZDogZ3JvdXAuY29udHJvbHMuYW5zd2VySWQudmFsaWQsXG4gICAgICBhbnN3ZXJMZXZlbElkOiBncm91cC52YWx1ZS5sZXZlbEFuc3dlcklkLFxuICAgIH0pKTtcbiAgfVxuXG4gIGlkZW50aWZ5KGluZGV4LCBpdGVtOiBGb3JtR3JvdXA8UXVlc3Rpb25Hcm91cENoaWxkT2ZRdWVzdGlvbkluc3RpdHV0aW9uc1RlbXBsYXRlRm9ybUludGVyZmFjZT4pIHtcbiAgICByZXR1cm4gaXRlbS52YWx1ZS5pZDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0UXVlc3Rpb25Gb3JtR3JvdXAodmFsdWU6IFN1cnZleVN1YlF1ZXN0aW9uTGV2ZWxEdG8sIGlzUnF1aXJlZDogYm9vbGVhbiwgYW5zd2VySWQ6IG51bWJlcikge1xuICAgIHZhciBncm91cCA9IHRoaXMuX2Zvcm1CdWlsZGVyLmdyb3VwPFF1ZXN0aW9uR3JvdXBDaGlsZE9mUXVlc3Rpb25JbnN0aXR1dGlvbnNUZW1wbGF0ZUZvcm1JbnRlcmZhY2U+KHtcbiAgICAgIGlkOiBuZXcgRm9ybUNvbnRyb2wodmFsdWUucXVlc3Rpb25JZCksXG4gICAgICB0eXBlSWQ6IG5ldyBGb3JtQ29udHJvbCh2YWx1ZS5xdWVzdGlvblR5cGVJZCksXG4gICAgICBuYW1lOiBuZXcgRm9ybUNvbnRyb2wodmFsdWUucXVlc3Rpb25OYW1lKSxcbiAgICAgIGRlc2NyaXB0aW9uOiBuZXcgRm9ybUNvbnRyb2wodmFsdWUucXVlc3Rpb25EZXNjcmlwdGlvbiksXG4gICAgICB0aXRsZTogbmV3IEZvcm1Db250cm9sKHZhbHVlLnF1ZXN0aW9uVGl0bGUpLFxuICAgICAgbGV2ZWw6IG5ldyBGb3JtQ29udHJvbCh2YWx1ZS5sZXZlbCksXG4gICAgICBsZXZlbEFuc3dlcklkOiBuZXcgRm9ybUNvbnRyb2wodmFsdWUubGV2ZWxBbnN3ZXIuYW5zd2VySWQpLFxuICAgICAgYW5zd2VySWQ6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcbiAgICAgIGFuc3dlclZhbHVlOiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXG4gICAgICBhbnN3ZXJzOiBuZXcgRm9ybUNvbnRyb2woW10pLFxuICAgIH0pO1xuXG4gICAgaWYgKGlzUnF1aXJlZCA9PSB0cnVlKSB7XG4gICAgICBncm91cC5jb250cm9scy5hbnN3ZXJJZC5hZGRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSk7XG4gICAgICBncm91cC5jb250cm9scy5hbnN3ZXJJZC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgICBncm91cC5jb250cm9scy5hbnN3ZXJWYWx1ZS5hZGRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSk7XG4gICAgICBncm91cC5jb250cm9scy5hbnN3ZXJWYWx1ZS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgfVxuXG4gICAgZ3JvdXAuY29udHJvbHMuYW5zd2VySWQudmFsdWVDaGFuZ2VzLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSkuc3Vic2NyaWJlKGFuc3dlcklkID0+IHtcbiAgICAgIGlmIChhbnN3ZXJJZCkge1xuICAgICAgICBpZiAodmFsdWUubGV2ZWwgPT0gMSkge1xuICAgICAgICAgIHRoaXMuckZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICAgICAgICBpbnN0aXR1dGlvbklkOiBhbnN3ZXJJZCxcbiAgICAgICAgICAgIGJyYW5jaElkOiBudWxsLFxuICAgICAgICAgICAgY29sbGFnZUlkOiBudWxsLFxuICAgICAgICAgICAgc2VjdGlvbklkOiBudWxsXG4gICAgICAgICAgfSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHZhbHVlLmxldmVsID09IDIpIHtcbiAgICAgICAgICB0aGlzLnJGb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICAgICAgYnJhbmNoSWQ6IGFuc3dlcklkLFxuICAgICAgICAgICAgY29sbGFnZUlkOiBudWxsLFxuICAgICAgICAgICAgc2VjdGlvbklkOiBudWxsXG4gICAgICAgICAgfSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHZhbHVlLmxldmVsID09IDMpIHtcbiAgICAgICAgICB0aGlzLnJGb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICAgICAgY29sbGFnZUlkOiBhbnN3ZXJJZCxcbiAgICAgICAgICAgIHNlY3Rpb25JZDogbnVsbFxuICAgICAgICAgIH0sIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICh2YWx1ZS5sZXZlbCA9PSA0KSB7XG4gICAgICAgICAgdGhpcy5yRm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICAgIHNlY3Rpb25JZDogYW5zd2VySWRcbiAgICAgICAgICB9LCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBsZXZlbCA9IGdyb3VwLnZhbHVlLmxldmVsO1xuICAgICAgICB0aGlzLnJlc2V0QW5zd2Vyc09mRm9ybUdyb3VwaW5IaWdoZXJMZXZlbChsZXZlbCk7XG5cbiAgICAgICAgdmFyIG5leHRHcm91cEluZGV4ID0gdGhpcy5mQ3RybHMucXVlc3Rpb25BcnIuY29udHJvbHMuZmluZEluZGV4KHggPT4geC52YWx1ZS5sZXZlbCA9PSBsZXZlbCArIDEpO1xuICAgICAgICBpZiAobmV4dEdyb3VwSW5kZXgpIHtcbiAgICAgICAgICB0aGlzLmZpbGxRdWVzdGlvbkFuc3dlcnMobmV4dEdyb3VwSW5kZXgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBncm91cC5jb250cm9scy5hbnN3ZXJzLnZhbHVlQ2hhbmdlcy5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLnN1YnNjcmliZSh2YWx1ZSA9PiB7XG4gICAgICBjb25zdCBncm91cEluZGV4ID0gdGhpcy5mQ3RybHMucXVlc3Rpb25BcnIuY29udHJvbHMuZmluZEluZGV4KHggPT4geC52YWx1ZS5sZXZlbCA9PSBncm91cC52YWx1ZS5sZXZlbCk7XG4gICAgICB2YXIgcXVlc3Rpb25Hcm91cCA9IHRoaXMuZkN0cmxzLnF1ZXN0aW9uQXJyLmF0KGdyb3VwSW5kZXgpO1xuXG4gICAgICBpZiAocXVlc3Rpb25Hcm91cCkge1xuICAgICAgICBpZiAodmFsdWUubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGlmICh0aGlzLmZDdHJscy5pc1JlcXVpcmVkLnZhbHVlID09IHRydWUpIHtcbiAgICAgICAgICAgIHF1ZXN0aW9uR3JvdXAuY29udHJvbHMuYW5zd2VySWQuYWRkVmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5yZXF1aXJlZF0pO1xuICAgICAgICAgICAgcXVlc3Rpb25Hcm91cC5jb250cm9scy5hbnN3ZXJWYWx1ZS5hZGRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSk7XG5cbiAgICAgICAgICAgIHRoaXMuX1N0b3JlLmRpc3BhdGNoKHN1cnZleUFjdGlvbnMudXBkYXRlUXVlc3Rpb25SZXF1aXJlZCh7IHF1ZXN0aW9uSWQ6IGdyb3VwLnZhbHVlLmlkLCBpc1JlcXVpcmVkOiB0cnVlIH0pKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcXVlc3Rpb25Hcm91cC5jb250cm9scy5hbnN3ZXJJZC5jbGVhclZhbGlkYXRvcnMoKTtcbiAgICAgICAgICBxdWVzdGlvbkdyb3VwLmNvbnRyb2xzLmFuc3dlclZhbHVlLmNsZWFyVmFsaWRhdG9ycygpO1xuXG4gICAgICAgICAgdGhpcy5fU3RvcmUuZGlzcGF0Y2goc3VydmV5QWN0aW9ucy51cGRhdGVRdWVzdGlvblJlcXVpcmVkKHsgcXVlc3Rpb25JZDogZ3JvdXAudmFsdWUuaWQsIGlzUmVxdWlyZWQ6IGZhbHNlIH0pKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHF1ZXN0aW9uR3JvdXAuY29udHJvbHMuYW5zd2VySWQudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgICBxdWVzdGlvbkdyb3VwLmNvbnRyb2xzLmFuc3dlclZhbHVlLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICAgIH1cblxuICAgIH0pO1xuXG4gICAgaWYgKGFuc3dlcklkKSB7XG4gICAgICBncm91cC5jb250cm9scy5hbnN3ZXJJZC5zZXRWYWx1ZShhbnN3ZXJJZCk7XG4gICAgfVxuXG4gICAgdGhpcy5mQ3RybHMucXVlc3Rpb25BcnIucHVzaChncm91cCk7XG4gIH1cblxuICBwcml2YXRlIGZpbGxRdWVzdGlvbkFuc3dlcnMobmV4dEdyb3VwSW5kZXg6IG51bWJlcikge1xuICAgIGNvbnN0IGZvcm1WYWx1ZSA9IHRoaXMuckZvcm0udmFsdWU7XG4gICAgdmFyIGdyb3VwID0gdGhpcy5mQ3RybHMucXVlc3Rpb25BcnIuYXQobmV4dEdyb3VwSW5kZXgpO1xuICAgIGlmIChncm91cCkge1xuICAgICAgaWYgKGdyb3VwLnZhbHVlLmxldmVsID09IDIpIHtcbiAgICAgICAgdGhpcy5fQXBpU2VydmljZS5nZXRBbGxCcmFuY2hlcyh7IHN1Ym1pc3Npb25JZDogZm9ybVZhbHVlLmluc3RpdHV0aW9uSWQgfSkucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgICBncm91cC5jb250cm9scy5hbnN3ZXJzLnNldFZhbHVlKHJlcy5yZXNwb25zZURldGFpbHMubWFwKHggPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgaWQ6IHguYnJhbmNoU3VibWlzc2lvbklkLFxuICAgICAgICAgICAgICBuYW1lOiB0aGlzLmlzQXJhYmljTGFuZyA9PSB0cnVlID8geC5icmFuY2hOYW1lSW5BcmFiaWMgOiB4LmJyYW5jaE5hbWVJbkVuZ2xpc2hcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgZWxzZSBpZiAoZ3JvdXAudmFsdWUubGV2ZWwgPT0gMykge1xuICAgICAgICB0aGlzLl9BcGlTZXJ2aWNlLmdldEFsbENvbGxhZ2VzKHsgc3VibWlzc2lvbklkOiBmb3JtVmFsdWUuaW5zdGl0dXRpb25JZCwgYnJhbmNoU3VibWlzc2lvbklkOiBmb3JtVmFsdWUuYnJhbmNoSWQgfSkucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgICBncm91cC5jb250cm9scy5hbnN3ZXJzLnNldFZhbHVlKHJlcy5yZXNwb25zZURldGFpbHMubWFwKHggPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgaWQ6IHguY29sbGFnZVN1Ym1pc3Npb25JZCxcbiAgICAgICAgICAgICAgbmFtZTogdGhpcy5pc0FyYWJpY0xhbmcgPT0gdHJ1ZSA/IHguY29sbGFnZU5hbWVJbkFyYWJpYyA6IHguY29sbGFnZU5hbWVJbkVuZ2xpc2hcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgZWxzZSBpZiAoZ3JvdXAudmFsdWUubGV2ZWwgPT0gNCkge1xuICAgICAgICB0aGlzLl9BcGlTZXJ2aWNlLmdldEFsbFNlY3Rpb25zKHsgc3VibWlzc2lvbklkOiBmb3JtVmFsdWUuaW5zdGl0dXRpb25JZCwgY29sbGFnZVN1Ym1pc3Npb25JZDogZm9ybVZhbHVlLmNvbGxhZ2VJZCB9KS5waXBlKHRha2UoMSkpLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICAgIGdyb3VwLmNvbnRyb2xzLmFuc3dlcnMuc2V0VmFsdWUocmVzLnJlc3BvbnNlRGV0YWlscy5tYXAoeCA9PiB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICBpZDogeC5nZW5lcmF0ZWRJZCxcbiAgICAgICAgICAgICAgbmFtZTogdGhpcy5pc0FyYWJpY0xhbmcgPT0gdHJ1ZSA/IHguc2VjdGlvbk5hbWVJbkFyYWJpYyA6IHguc2VjdGlvbk5hbWVJbkVuZ2xpc2hcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgZWxzZSBpZiAoZ3JvdXAudmFsdWUubGV2ZWwgPT0gNSkge1xuICAgICAgICB0aGlzLl9BcGlTZXJ2aWNlLmdldEFsbFByb2dyYW1zKHsgc3VibWlzc2lvbklkOiBmb3JtVmFsdWUuaW5zdGl0dXRpb25JZCwgc2VjdGlvbkdlbmVyYXRlZEtleTogZm9ybVZhbHVlLnNlY3Rpb25JZCB9KS5waXBlKHRha2UoMSkpLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICAgIGdyb3VwLmNvbnRyb2xzLmFuc3dlcnMuc2V0VmFsdWUocmVzLnJlc3BvbnNlRGV0YWlscy5tYXAoeCA9PiB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICBpZDogeC5nZW5lcmF0ZWRJZCxcbiAgICAgICAgICAgICAgbmFtZTogdGhpcy5pc0FyYWJpY0xhbmcgPT0gdHJ1ZSA/IHgucHJvZ3JhbU5hbWVBcmFiaWMgOiB4LnByb2dyYW1OYW1lRW5nbGlzaFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZXNldEFuc3dlcnNPZkZvcm1Hcm91cGluSGlnaGVyTGV2ZWwobGV2ZWw6IG51bWJlcikge1xuICAgIHRoaXMuZkN0cmxzLnF1ZXN0aW9uQXJyLmNvbnRyb2xzLmZvckVhY2goKGdyb3VwOiBGb3JtR3JvdXA8UXVlc3Rpb25Hcm91cENoaWxkT2ZRdWVzdGlvbkluc3RpdHV0aW9uc1RlbXBsYXRlRm9ybUludGVyZmFjZT4pID0+IHtcbiAgICAgIGlmIChncm91cC52YWx1ZS5sZXZlbCA+IGxldmVsKSB7XG4gICAgICAgIGdyb3VwLnBhdGNoVmFsdWUoe1xuICAgICAgICAgIGFuc3dlcklkOiBudWxsLFxuICAgICAgICAgIGFuc3dlclZhbHVlOiBudWxsLFxuICAgICAgICAgIGFuc3dlcnM6IFtdXG4gICAgICAgIH0sIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJxdWFzdGlvblwiPlxuICA8aDMgY2xhc3M9XCJxdWFzdGlvbi10aXRsZSBtYi0yXCI+XG4gICAgPHNwYW4gW2lubmVySFRNTF09XCJmQ3RybHMudGl0bGUudmFsdWVcIj48L3NwYW4+XG4gIDwvaDM+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgcXVlc3Rpb25Gb3JtQXJyYXkuY29udHJvbHM7IHRyYWNrQnk6aWRlbnRpZnkgOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgPGRpdiBjbGFzcz1cInF1YXN0aW9uXCIgW2F0dHIuaWRdPVwiJ3F1ZXN0aW9uXycraXRlbS52YWx1ZS5pZFwiXG4gICAgICAqbmdJZj1cIml0ZW0udmFsdWUubGV2ZWwgPT0gMSB8fCAoIGl0ZW0udmFsdWUubGV2ZWwgPiAxICYmIGl0ZW0udmFsdWUuYW5zd2Vycy5sZW5ndGggPiAwIClcIlxuICAgICAgW25nQ2xhc3NdPVwieydpbnZhbGlkLXF1ZXN0aW9uJzogaXRlbS5jb250cm9scy5hbnN3ZXJJZC5pbnZhbGlkICAsICdkLW5vbmUnOmZDdHJscy5pc1Nob3cudmFsdWUgIT0gdHJ1ZX1cIj5cbiAgICAgIDxoMyBjbGFzcz1cInF1YXN0aW9uLXRpdGxlIFwiPlxuICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cIml0ZW0udmFsdWUudGl0bGVcIj48L3NwYW4+XG4gICAgICAgIDxzcGFuIHN0eWxlPVwiY29sb3I6IHJlZDtcIiAqbmdJZj1cImZDdHJscy5pc1JlcXVpcmVkXCI+Kjwvc3Bhbj5cbiAgICAgIDwvaDM+XG4gICAgICA8ZGl2IGNsYXNzPVwidGV4dC1xdWFzdGlvbiB0ZXh0LXF1YXN0aW9uX19kcm9wZG93blwiPlxuICAgICAgICA8bmctc2VsZWN0IFtpdGVtc109XCJpdGVtLnZhbHVlLmxldmVsID09MSA/IGluc3RpdHV0aW9uc1F1ZXN0aW9uQXJyKCkgOiBpdGVtLnZhbHVlLmFuc3dlcnNcIiBiaW5kVmFsdWU9XCJpZFwiIGJpbmRMYWJlbD1cIm5hbWVcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgW2Zvcm1Db250cm9sXT1cIml0ZW0uY29udHJvbHMuYW5zd2VySWRcIiBbdmlydHVhbFNjcm9sbF09XCJ0cnVlXCIgW2Rpc2FibGVkXT1cImZDdHJscy5pc0Rpc2FibGVkLnZhbHVlXCIgKGNoYW5nZSk9XCJvblVwZGF0ZUFuc3dlcigkZXZlbnQsaSlcIlxuICAgICAgICAgIFttdWx0aXBsZV09XCJmYWxzZVwiPlxuICAgICAgICA8L25nLXNlbGVjdD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbiJdfQ==
242
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24taW5zdGl0dXRpb25zLXRlbXBsYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N1cnZlcnktbGliL3NyYy9saWIvY29tcG9uZW50cy9xdWVzdGlvbi1pbnN0aXR1dGlvbnMtdGVtcGxhdGUvcXVlc3Rpb24taW5zdGl0dXRpb25zLXRlbXBsYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N1cnZlcnktbGliL3NyYy9saWIvY29tcG9uZW50cy9xdWVzdGlvbi1pbnN0aXR1dGlvbnMtdGVtcGxhdGUvcXVlc3Rpb24taW5zdGl0dXRpb25zLXRlbXBsYXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLFFBQVEsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQWUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRTVFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBT3JGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUk3RSxPQUFPLEVBQUUsb0JBQW9CLEVBQVksSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQzs7Ozs7OztBQU9qRixNQUFNLE9BQU8scUNBQXFDO0lBUWhELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sZ0JBQWdCLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksaUJBQWlCO1FBQ25C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QXJDLHFDQUFxQyxnSkN4QmxELGdxQ0F1QkE7OzJGRENhLHFDQUFxQztrQkFMakQsU0FBUzsrQkFDRSxvQ0FBb0M7K0lBVXJDLFlBQVk7c0JBQXBCLEtBQUs7Z0JBd0JPLFdBQVc7c0JBQXZCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIGNvbXB1dGVkLCBlZmZlY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUXVlc3Rpb25UeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9lbnVtcy9xdWVzdGlvbi10eXBlLmVudW0nO1xuaW1wb3J0IHsgUXVlc3Rpb25BbnN3ZXJNb2RlbCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9tb2RlbHMvcXVlc3Rpb24tYW5zd2VyLm1vZGVsJztcbmltcG9ydCB7IHF1ZXN0aW9uU2VsZWN0b3JzIH0gZnJvbSAnLi4vLi4vY29yZS9zdGF0ZXMvc3VydmV5LXN0b3JlL3F1ZXN0aW9uLnNlbGVjdG9yJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHtcbiAgUXVlc3Rpb25Hcm91cENoaWxkT2ZRdWVzdGlvbkluc3RpdHV0aW9uc1RlbXBsYXRlRm9ybUludGVyZmFjZSxcbiAgUXVlc3Rpb25JbnN0aXR1dGlvbnNUZW1wbGF0ZUZvcm1JbnRlcmZhY2Vcbn0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2Zvcm0taW50ZXJmYWNlcy9xdWVzdGlvbi1JbnN0aXR1dGlvbnMtdGVtcGxhdGUuZm9ybS1pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUXVlc3Rpb25OZ3J4TW9kZWwgfSBmcm9tICcuLi8uLi9jb3JlL3N0YXRlcy9lbnRpdGVzL3F1ZXN0aW9uLmVudGl0eSc7XG5pbXBvcnQgeyBzdXJ2ZXlBY3Rpb25zIH0gZnJvbSAnLi4vLi4vY29yZS9zdGF0ZXMvc3VydmV5LXN0b3JlL3N1cnZleS5hY3Rpb24nO1xuaW1wb3J0IHsgU3VydmV5UXVlc3Rpb25EdG8gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZHRvcy9zdXJ2ZXktcXVlc3Rpb24uZHRvJztcbmltcG9ydCB7IFN1cnZleVN1YlF1ZXN0aW9uTGV2ZWxEdG8gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZHRvcy9zdXJ2ZXktc3ViLXF1ZXN0aW9uLWxldmVsLmR0byc7XG5pbXBvcnQgeyBBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIHBhaXJ3aXNlLCB0YWtlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTdXJ2ZXlMYW5ndWFnZUVudW0gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZW51bXMvc3VydmV5LWxhbmd1YWdlLmVudW0nO1xuaW1wb3J0IHsgc3VydmV5U2VsZWN0b3JzIH0gZnJvbSAnLi4vLi4vY29yZS9zdGF0ZXMvc3VydmV5LXN0b3JlL3N1cnZleS5zZWxlY3Rvcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1xdWVzdGlvbi1pbnN0aXR1dGlvbnMtdGVtcGxhdGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vcXVlc3Rpb24taW5zdGl0dXRpb25zLXRlbXBsYXRlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcXVlc3Rpb24taW5zdGl0dXRpb25zLXRlbXBsYXRlLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBRdWVzdGlvbkluc3RpdHV0aW9uc1RlbXBsYXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgaW5zdGl0dXRpb25zUXVlc3Rpb246IFN1cnZleVF1ZXN0aW9uRHRvID0gbnVsbDtcbiAgckZvcm06IEZvcm1Hcm91cDxRdWVzdGlvbkluc3RpdHV0aW9uc1RlbXBsYXRlRm9ybUludGVyZmFjZT47XG4gIHBhZ2VRdWVzdGlvbnMkID0gdGhpcy5fU3RvcmUuc2VsZWN0U2lnbmFsKHF1ZXN0aW9uU2VsZWN0b3JzLnBhZ2VRdWVzdGlvbnMpO1xuICBpbnN0aXR1dGlvbnNBcnIkID0gdGhpcy5fU3RvcmUuc2VsZWN0U2lnbmFsKHN1cnZleVNlbGVjdG9ycy5pbnN0aXR1dGlvbkFycik7XG5cbiAgQElucHV0KCkgaXNBcmFiaWNMYW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgZ2V0IGZDdHJscygpIHtcbiAgICByZXR1cm4gdGhpcy5yRm9ybS5jb250cm9scztcbiAgfVxuXG4gIGdldCBxdWVzdGlvblR5cGVFbnVtKCkge1xuICAgIHJldHVybiBRdWVzdGlvblR5cGVFbnVtO1xuICB9XG5cbiAgZ2V0IHF1ZXN0aW9uRm9ybUFycmF5KCkge1xuICAgIHJldHVybiB0aGlzLmZDdHJscy5xdWVzdGlvbkFyclxuICB9XG5cbiAgaW5zdGl0dXRpb25zUXVlc3Rpb25BcnIgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMuaW5zdGl0dXRpb25zQXJyJCgpLm1hcCh4ID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGlkOiB4LnN1Ym1pc3Npb25JZCxcbiAgICAgICAgbmFtZTogdGhpcy5pc0FyYWJpY0xhbmcgPT0gdHJ1ZSA/IHguaW5zdGl0dXRpb25OYW1lQXJhYmljIDogeC5pbnN0aXR1dGlvbk5hbWVFbmdsaXNoLFxuICAgICAgICByZXF1ZXN0VGltZXN0YW1wOiB4LnJlcXVlc3RUaW1lc3RhbXAsXG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xuXG4gIEBJbnB1dCgpIHNldCBzZXRRdWVzdGlvbih2YWx1ZTogUXVlc3Rpb25OZ3J4TW9kZWwpIHtcbiAgICBpZiAodGhpcy5pbnN0aXR1dGlvbnNRdWVzdGlvbiA9PSBudWxsKSB7XG4gICAgICB0aGlzLmluc3RpdHV0aW9uc1F1ZXN0aW9uID0gdmFsdWUucXVlc3Rpb25BbGxJbmZvO1xuXG4gICAgICB0aGlzLnJGb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICBpZDogdmFsdWUucXVlc3Rpb25JZCxcbiAgICAgICAgdGl0bGU6IHZhbHVlLnF1ZXN0aW9uQWxsSW5mby5xdWVzdGlvblRpdGxlLFxuICAgICAgICBtYXhMZXZlbFZhbHVlOiB2YWx1ZS5xdWVzdGlvbkFsbEluZm8ubWF4TGV2ZWxWYWx1ZSxcbiAgICAgICAgaXNSZXF1aXJlZDogdmFsdWUuaXNSZXF1aXJlZCxcbiAgICAgICAgaXNEaXNhYmxlZDogdmFsdWUuaXNEaXNhYmxlZCxcbiAgICAgICAgaXNTaG93OiB2YWx1ZS5pc1Nob3dcbiAgICAgIH0pO1xuXG4gICAgICB2YWx1ZS5xdWVzdGlvbkFsbEluZm8uc3VydmV5U3ViUXVlc3Rpb25MZXZlbHMuZm9yRWFjaChzdXJ2ZXlTdWJRdWVzdGlvbkxldmVsID0+IHtcblxuICAgICAgICB2YXIgcXVlc3Rpb24gPSB0aGlzLnBhZ2VRdWVzdGlvbnMkKCkuZmluZCh4ID0+IHgucXVlc3Rpb25JZCA9PSB2YWx1ZS5xdWVzdGlvbklkKTtcbiAgICAgICAgdGhpcy5zZXRRdWVzdGlvbkZvcm1Hcm91cChzdXJ2ZXlTdWJRdWVzdGlvbkxldmVsLCBxdWVzdGlvbj8uaXNSZXF1aXJlZCwgcXVlc3Rpb24/LmFuc3dlcklkKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX1N0b3JlOiBTdG9yZSwgcHJpdmF0ZSBfZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLCBwcml2YXRlIF9BcGlTZXJ2aWNlOiBBcGlTZXJ2aWNlKSB7XG4gICAgdGhpcy5yRm9ybSA9IHRoaXMuX2Zvcm1CdWlsZGVyLmdyb3VwPFF1ZXN0aW9uSW5zdGl0dXRpb25zVGVtcGxhdGVGb3JtSW50ZXJmYWNlPih7XG4gICAgICBpZDogbmV3IEZvcm1Db250cm9sKG51bGwpLFxuICAgICAgdGl0bGU6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcbiAgICAgIG1heExldmVsVmFsdWU6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcbiAgICAgIGlzRGlzYWJsZWQ6IG5ldyBGb3JtQ29udHJvbChmYWxzZSksXG4gICAgICBpc1Nob3c6IG5ldyBGb3JtQ29udHJvbChmYWxzZSksXG4gICAgICBpc1JlcXVpcmVkOiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXG4gICAgICBpbnN0aXR1dGlvbklkOiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXG4gICAgICBpbnN0aXR1dGlvblRpbWVzdGFtcDogbmV3IEZvcm1Db250cm9sKG51bGwpLFxuICAgICAgYnJhbmNoSWQ6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcbiAgICAgIGNvbGxhZ2VJZDogbmV3IEZvcm1Db250cm9sKG51bGwpLFxuICAgICAgc2VjdGlvbklkOiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXG4gICAgICBxdWVzdGlvbkFycjogdGhpcy5fZm9ybUJ1aWxkZXIuYXJyYXk8Rm9ybUdyb3VwPFF1ZXN0aW9uR3JvdXBDaGlsZE9mUXVlc3Rpb25JbnN0aXR1dGlvbnNUZW1wbGF0ZUZvcm1JbnRlcmZhY2U+PihbXSlcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX1N0b3JlLmRpc3BhdGNoKHN1cnZleUFjdGlvbnMubG9hZEluc3RpdHV0aW9uQXJyKCkpO1xuICB9XG5cbiAgb25VcGRhdGVBbnN3ZXIobW9kZWw6IHsgaWQ6IHN0cmluZywgbmFtZTogc3RyaW5nIH0sIGdyb3VwSW5kZXg6IG51bWJlcikge1xuICAgIHZhciBncm91cCA9IHRoaXMuZkN0cmxzLnF1ZXN0aW9uQXJyLmF0KGdyb3VwSW5kZXgpO1xuICAgIGdyb3VwLnBhdGNoVmFsdWUoe1xuICAgICAgYW5zd2VySWQ6IG1vZGVsLmlkLFxuICAgICAgYW5zd2VyVmFsdWU6IG1vZGVsLm5hbWVcbiAgICB9KTtcblxuICAgIHRoaXMuX1N0b3JlLmRpc3BhdGNoKHN1cnZleUFjdGlvbnMudXBkYXRlSW5zdGl0dXRpb25RdWVzdGlvbkFuc3dlcih7XG4gICAgICBxdWVzdGlvbklkOiBncm91cC52YWx1ZS5pZCxcbiAgICAgIGFuc3dlcklkOiBncm91cC52YWx1ZS5hbnN3ZXJJZCxcbiAgICAgIGFuc3dlcjogZ3JvdXAudmFsdWUuYW5zd2VyVmFsdWUsXG4gICAgICBpc1ZhbGlkOiBncm91cC5jb250cm9scy5hbnN3ZXJJZC52YWxpZCxcbiAgICAgIGFuc3dlckxldmVsSWQ6IGdyb3VwLnZhbHVlLmxldmVsQW5zd2VySWQsXG4gICAgfSkpO1xuICB9XG5cbiAgaWRlbnRpZnkoaW5kZXgsIGl0ZW06IEZvcm1Hcm91cDxRdWVzdGlvbkdyb3VwQ2hpbGRPZlF1ZXN0aW9uSW5zdGl0dXRpb25zVGVtcGxhdGVGb3JtSW50ZXJmYWNlPikge1xuICAgIHJldHVybiBpdGVtLnZhbHVlLmlkO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRRdWVzdGlvbkZvcm1Hcm91cCh2YWx1ZTogU3VydmV5U3ViUXVlc3Rpb25MZXZlbER0bywgaXNScXVpcmVkOiBib29sZWFuLCBhbnN3ZXJJZDogc3RyaW5nKSB7XG4gICAgdmFyIGdyb3VwID0gdGhpcy5fZm9ybUJ1aWxkZXIuZ3JvdXA8UXVlc3Rpb25Hcm91cENoaWxkT2ZRdWVzdGlvbkluc3RpdHV0aW9uc1RlbXBsYXRlRm9ybUludGVyZmFjZT4oe1xuICAgICAgaWQ6IG5ldyBGb3JtQ29udHJvbCh2YWx1ZS5xdWVzdGlvbklkKSxcbiAgICAgIHR5cGVJZDogbmV3IEZvcm1Db250cm9sKHZhbHVlLnF1ZXN0aW9uVHlwZUlkKSxcbiAgICAgIG5hbWU6IG5ldyBGb3JtQ29udHJvbCh2YWx1ZS5xdWVzdGlvbk5hbWUpLFxuICAgICAgZGVzY3JpcHRpb246IG5ldyBGb3JtQ29udHJvbCh2YWx1ZS5xdWVzdGlvbkRlc2NyaXB0aW9uKSxcbiAgICAgIHRpdGxlOiBuZXcgRm9ybUNvbnRyb2wodmFsdWUucXVlc3Rpb25UaXRsZSksXG4gICAgICBsZXZlbDogbmV3IEZvcm1Db250cm9sKHZhbHVlLmxldmVsKSxcbiAgICAgIGxldmVsQW5zd2VySWQ6IG5ldyBGb3JtQ29udHJvbCh2YWx1ZS5sZXZlbEFuc3dlci5hbnN3ZXJJZCksXG4gICAgICBhbnN3ZXJJZDogbmV3IEZvcm1Db250cm9sKG51bGwpLFxuICAgICAgYW5zd2VyVmFsdWU6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcbiAgICAgIGFuc3dlcnM6IG5ldyBGb3JtQ29udHJvbChbXSksXG4gICAgfSk7XG5cbiAgICBpZiAoaXNScXVpcmVkID09IHRydWUpIHtcbiAgICAgIGdyb3VwLmNvbnRyb2xzLmFuc3dlcklkLmFkZFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWRdKTtcbiAgICAgIGdyb3VwLmNvbnRyb2xzLmFuc3dlcklkLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICAgIGdyb3VwLmNvbnRyb2xzLmFuc3dlclZhbHVlLmFkZFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWRdKTtcbiAgICAgIGdyb3VwLmNvbnRyb2xzLmFuc3dlclZhbHVlLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICB9XG5cbiAgICBncm91cC5jb250cm9scy5hbnN3ZXJJZC52YWx1ZUNoYW5nZXMucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKS5zdWJzY3JpYmUoYW5zd2VySWQgPT4ge1xuICAgICAgaWYgKGFuc3dlcklkKSB7XG4gICAgICAgIGlmICh2YWx1ZS5sZXZlbCA9PSAxKSB7XG4gICAgICAgICAgdGhpcy5yRm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICAgIGluc3RpdHV0aW9uSWQ6IGFuc3dlcklkLFxuICAgICAgICAgICAgaW5zdGl0dXRpb25UaW1lc3RhbXA6IHRoaXMuaW5zdGl0dXRpb25zUXVlc3Rpb25BcnIoKS5maW5kKHggPT4geC5pZCA9PSBhbnN3ZXJJZCk/LnJlcXVlc3RUaW1lc3RhbXAsXG4gICAgICAgICAgICBicmFuY2hJZDogbnVsbCxcbiAgICAgICAgICAgIGNvbGxhZ2VJZDogbnVsbCxcbiAgICAgICAgICAgIHNlY3Rpb25JZDogbnVsbFxuICAgICAgICAgIH0sIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICh2YWx1ZS5sZXZlbCA9PSAyKSB7XG4gICAgICAgICAgdGhpcy5yRm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICAgIGJyYW5jaElkOiBhbnN3ZXJJZCxcbiAgICAgICAgICAgIGNvbGxhZ2VJZDogbnVsbCxcbiAgICAgICAgICAgIHNlY3Rpb25JZDogbnVsbFxuICAgICAgICAgIH0sIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICh2YWx1ZS5sZXZlbCA9PSAzKSB7XG4gICAgICAgICAgdGhpcy5yRm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICAgIGNvbGxhZ2VJZDogYW5zd2VySWQsXG4gICAgICAgICAgICBzZWN0aW9uSWQ6IG51bGxcbiAgICAgICAgICB9LCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAodmFsdWUubGV2ZWwgPT0gNCkge1xuICAgICAgICAgIHRoaXMuckZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICAgICAgICBzZWN0aW9uSWQ6IGFuc3dlcklkXG4gICAgICAgICAgfSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbGV2ZWwgPSBncm91cC52YWx1ZS5sZXZlbDtcbiAgICAgICAgdGhpcy5yZXNldEFuc3dlcnNPZkZvcm1Hcm91cGluSGlnaGVyTGV2ZWwobGV2ZWwpO1xuXG4gICAgICAgIHZhciBuZXh0R3JvdXBJbmRleCA9IHRoaXMuZkN0cmxzLnF1ZXN0aW9uQXJyLmNvbnRyb2xzLmZpbmRJbmRleCh4ID0+IHgudmFsdWUubGV2ZWwgPT0gbGV2ZWwgKyAxKTtcbiAgICAgICAgaWYgKG5leHRHcm91cEluZGV4KSB7XG4gICAgICAgICAgdGhpcy5maWxsUXVlc3Rpb25BbnN3ZXJzKG5leHRHcm91cEluZGV4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgZ3JvdXAuY29udHJvbHMuYW5zd2Vycy52YWx1ZUNoYW5nZXMucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKS5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgICAgY29uc3QgZ3JvdXBJbmRleCA9IHRoaXMuZkN0cmxzLnF1ZXN0aW9uQXJyLmNvbnRyb2xzLmZpbmRJbmRleCh4ID0+IHgudmFsdWUubGV2ZWwgPT0gZ3JvdXAudmFsdWUubGV2ZWwpO1xuICAgICAgdmFyIHF1ZXN0aW9uR3JvdXAgPSB0aGlzLmZDdHJscy5xdWVzdGlvbkFyci5hdChncm91cEluZGV4KTtcblxuICAgICAgaWYgKHF1ZXN0aW9uR3JvdXApIHtcbiAgICAgICAgaWYgKHZhbHVlLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBpZiAodGhpcy5mQ3RybHMuaXNSZXF1aXJlZC52YWx1ZSA9PSB0cnVlKSB7XG4gICAgICAgICAgICBxdWVzdGlvbkdyb3VwLmNvbnRyb2xzLmFuc3dlcklkLmFkZFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWRdKTtcbiAgICAgICAgICAgIHF1ZXN0aW9uR3JvdXAuY29udHJvbHMuYW5zd2VyVmFsdWUuYWRkVmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5yZXF1aXJlZF0pO1xuXG4gICAgICAgICAgICB0aGlzLl9TdG9yZS5kaXNwYXRjaChzdXJ2ZXlBY3Rpb25zLnVwZGF0ZVF1ZXN0aW9uUmVxdWlyZWQoeyBxdWVzdGlvbklkOiBncm91cC52YWx1ZS5pZCwgaXNSZXF1aXJlZDogdHJ1ZSB9KSk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHF1ZXN0aW9uR3JvdXAuY29udHJvbHMuYW5zd2VySWQuY2xlYXJWYWxpZGF0b3JzKCk7XG4gICAgICAgICAgcXVlc3Rpb25Hcm91cC5jb250cm9scy5hbnN3ZXJWYWx1ZS5jbGVhclZhbGlkYXRvcnMoKTtcblxuICAgICAgICAgIHRoaXMuX1N0b3JlLmRpc3BhdGNoKHN1cnZleUFjdGlvbnMudXBkYXRlUXVlc3Rpb25SZXF1aXJlZCh7IHF1ZXN0aW9uSWQ6IGdyb3VwLnZhbHVlLmlkLCBpc1JlcXVpcmVkOiBmYWxzZSB9KSk7XG4gICAgICAgIH1cblxuICAgICAgICBxdWVzdGlvbkdyb3VwLmNvbnRyb2xzLmFuc3dlcklkLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICAgICAgcXVlc3Rpb25Hcm91cC5jb250cm9scy5hbnN3ZXJWYWx1ZS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgICB9XG5cbiAgICB9KTtcblxuICAgIGlmIChhbnN3ZXJJZCkge1xuICAgICAgZ3JvdXAuY29udHJvbHMuYW5zd2VySWQuc2V0VmFsdWUoYW5zd2VySWQpO1xuICAgIH1cblxuICAgIHRoaXMuZkN0cmxzLnF1ZXN0aW9uQXJyLnB1c2goZ3JvdXApO1xuICB9XG5cbiAgcHJpdmF0ZSBmaWxsUXVlc3Rpb25BbnN3ZXJzKG5leHRHcm91cEluZGV4OiBudW1iZXIpIHtcbiAgICBjb25zdCBmb3JtVmFsdWUgPSB0aGlzLnJGb3JtLnZhbHVlO1xuICAgIHZhciBncm91cCA9IHRoaXMuZkN0cmxzLnF1ZXN0aW9uQXJyLmF0KG5leHRHcm91cEluZGV4KTtcbiAgICBpZiAoZ3JvdXApIHtcbiAgICAgIGlmIChncm91cC52YWx1ZS5sZXZlbCA9PSAyKSB7XG4gICAgICAgIHRoaXMuX0FwaVNlcnZpY2UuZ2V0QWxsQnJhbmNoZXMoeyBzdWJtaXNzaW9uSWQ6IGZvcm1WYWx1ZS5pbnN0aXR1dGlvbklkICwgcmVxdWVzdFRpbWVzdGFtcDogZm9ybVZhbHVlLmluc3RpdHV0aW9uVGltZXN0YW1wIH0pLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgICAgZ3JvdXAuY29udHJvbHMuYW5zd2Vycy5zZXRWYWx1ZShyZXMucmVzcG9uc2VEZXRhaWxzLm1hcCh4ID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIGlkOiB4LmJyYW5jaFN1Ym1pc3Npb25JZCxcbiAgICAgICAgICAgICAgbmFtZTogdGhpcy5pc0FyYWJpY0xhbmcgPT0gdHJ1ZSA/IHguYnJhbmNoTmFtZUluQXJhYmljIDogeC5icmFuY2hOYW1lSW5FbmdsaXNoXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSkpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGVsc2UgaWYgKGdyb3VwLnZhbHVlLmxldmVsID09IDMpIHtcbiAgICAgICAgdGhpcy5fQXBpU2VydmljZS5nZXRBbGxDb2xsYWdlcyh7IHN1Ym1pc3Npb25JZDogZm9ybVZhbHVlLmluc3RpdHV0aW9uSWQsIGJyYW5jaFN1Ym1pc3Npb25JZDogZm9ybVZhbHVlLmJyYW5jaElkICwgcmVxdWVzdFRpbWVzdGFtcDogZm9ybVZhbHVlLmluc3RpdHV0aW9uVGltZXN0YW1wIH0pLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgICAgZ3JvdXAuY29udHJvbHMuYW5zd2Vycy5zZXRWYWx1ZShyZXMucmVzcG9uc2VEZXRhaWxzLm1hcCh4ID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIGlkOiB4LmNvbGxhZ2VTdWJtaXNzaW9uSWQsXG4gICAgICAgICAgICAgIG5hbWU6IHRoaXMuaXNBcmFiaWNMYW5nID09IHRydWUgPyB4LmNvbGxhZ2VOYW1lSW5BcmFiaWMgOiB4LmNvbGxhZ2VOYW1lSW5FbmdsaXNoXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSkpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGVsc2UgaWYgKGdyb3VwLnZhbHVlLmxldmVsID09IDQpIHtcbiAgICAgICAgdGhpcy5fQXBpU2VydmljZS5nZXRBbGxTZWN0aW9ucyh7IHN1Ym1pc3Npb25JZDogZm9ybVZhbHVlLmluc3RpdHV0aW9uSWQsIGNvbGxhZ2VTdWJtaXNzaW9uSWQ6IGZvcm1WYWx1ZS5jb2xsYWdlSWQgLCByZXF1ZXN0VGltZXN0YW1wOiBmb3JtVmFsdWUuaW5zdGl0dXRpb25UaW1lc3RhbXAgfSkucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgICBncm91cC5jb250cm9scy5hbnN3ZXJzLnNldFZhbHVlKHJlcy5yZXNwb25zZURldGFpbHMubWFwKHggPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgaWQ6IHguZ2VuZXJhdGVkS2V5LFxuICAgICAgICAgICAgICBuYW1lOiB0aGlzLmlzQXJhYmljTGFuZyA9PSB0cnVlID8geC5zZWN0aW9uTmFtZUluQXJhYmljIDogeC5zZWN0aW9uTmFtZUluRW5nbGlzaFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBlbHNlIGlmIChncm91cC52YWx1ZS5sZXZlbCA9PSA1KSB7XG4gICAgICAgIHRoaXMuX0FwaVNlcnZpY2UuZ2V0QWxsUHJvZ3JhbXMoeyBzdWJtaXNzaW9uSWQ6IGZvcm1WYWx1ZS5pbnN0aXR1dGlvbklkLCBzZWN0aW9uR2VuZXJhdGVkS2V5OiBmb3JtVmFsdWUuc2VjdGlvbklkICwgcmVxdWVzdFRpbWVzdGFtcDogZm9ybVZhbHVlLmluc3RpdHV0aW9uVGltZXN0YW1wIH0pLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgICAgZ3JvdXAuY29udHJvbHMuYW5zd2Vycy5zZXRWYWx1ZShyZXMucmVzcG9uc2VEZXRhaWxzLm1hcCh4ID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIGlkOiB4LmdlbmVyYXRlZEtleSxcbiAgICAgICAgICAgICAgbmFtZTogdGhpcy5pc0FyYWJpY0xhbmcgPT0gdHJ1ZSA/IHgucHJvZ3JhbU5hbWVBcmFiaWMgOiB4LnByb2dyYW1OYW1lRW5nbGlzaFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZXNldEFuc3dlcnNPZkZvcm1Hcm91cGluSGlnaGVyTGV2ZWwobGV2ZWw6IG51bWJlcikge1xuICAgIHRoaXMuZkN0cmxzLnF1ZXN0aW9uQXJyLmNvbnRyb2xzLmZvckVhY2goKGdyb3VwOiBGb3JtR3JvdXA8UXVlc3Rpb25Hcm91cENoaWxkT2ZRdWVzdGlvbkluc3RpdHV0aW9uc1RlbXBsYXRlRm9ybUludGVyZmFjZT4pID0+IHtcbiAgICAgIGlmIChncm91cC52YWx1ZS5sZXZlbCA+IGxldmVsKSB7XG4gICAgICAgIGdyb3VwLnBhdGNoVmFsdWUoe1xuICAgICAgICAgIGFuc3dlcklkOiBudWxsLFxuICAgICAgICAgIGFuc3dlclZhbHVlOiBudWxsLFxuICAgICAgICAgIGFuc3dlcnM6IFtdXG4gICAgICAgIH0sIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJxdWFzdGlvblwiPlxuICA8aDMgY2xhc3M9XCJxdWFzdGlvbi10aXRsZSBtYi0yXCI+XG4gICAgPHNwYW4gW2lubmVySFRNTF09XCJmQ3RybHMudGl0bGUudmFsdWVcIj48L3NwYW4+XG4gIDwvaDM+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgcXVlc3Rpb25Gb3JtQXJyYXkuY29udHJvbHM7IHRyYWNrQnk6aWRlbnRpZnkgOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgPGRpdiBjbGFzcz1cInF1YXN0aW9uXCIgW2F0dHIuaWRdPVwiJ3F1ZXN0aW9uXycraXRlbS52YWx1ZS5pZFwiXG4gICAgICAqbmdJZj1cIml0ZW0udmFsdWUubGV2ZWwgPT0gMSB8fCAoIGl0ZW0udmFsdWUubGV2ZWwgPiAxICYmIGl0ZW0udmFsdWUuYW5zd2Vycy5sZW5ndGggPiAwIClcIlxuICAgICAgW25nQ2xhc3NdPVwieydpbnZhbGlkLXF1ZXN0aW9uJzogaXRlbS5jb250cm9scy5hbnN3ZXJJZC5pbnZhbGlkICAsICdkLW5vbmUnOmZDdHJscy5pc1Nob3cudmFsdWUgIT0gdHJ1ZX1cIj5cbiAgICAgIDxoMyBjbGFzcz1cInF1YXN0aW9uLXRpdGxlIFwiPlxuICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cIml0ZW0udmFsdWUudGl0bGVcIj48L3NwYW4+XG4gICAgICAgIDxzcGFuIHN0eWxlPVwiY29sb3I6IHJlZDtcIiAqbmdJZj1cImZDdHJscy5pc1JlcXVpcmVkXCI+Kjwvc3Bhbj5cbiAgICAgIDwvaDM+XG4gICAgICA8ZGl2IGNsYXNzPVwidGV4dC1xdWFzdGlvbiB0ZXh0LXF1YXN0aW9uX19kcm9wZG93blwiPlxuICAgICAgICA8bmctc2VsZWN0IFtpdGVtc109XCJpdGVtLnZhbHVlLmxldmVsID09MSA/IGluc3RpdHV0aW9uc1F1ZXN0aW9uQXJyKCkgOiBpdGVtLnZhbHVlLmFuc3dlcnNcIiBiaW5kVmFsdWU9XCJpZFwiIGJpbmRMYWJlbD1cIm5hbWVcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgW2Zvcm1Db250cm9sXT1cIml0ZW0uY29udHJvbHMuYW5zd2VySWRcIiBbdmlydHVhbFNjcm9sbF09XCJ0cnVlXCIgW2Rpc2FibGVkXT1cImZDdHJscy5pc0Rpc2FibGVkLnZhbHVlXCIgKGNoYW5nZSk9XCJvblVwZGF0ZUFuc3dlcigkZXZlbnQsaSlcIlxuICAgICAgICAgIFttdWx0aXBsZV09XCJmYWxzZVwiPlxuICAgICAgICA8L25nLXNlbGVjdD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbiJdfQ==
@@ -44,4 +44,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
44
44
  type: Inject,
45
45
  args: [LibConfigService]
46
46
  }] }]; } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdXJ2ZXJ5LWxpYi9zcmMvbGliL3NlcnZpY2VzL2FwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQWtCLE1BQU0sc0JBQXNCLENBQUM7OztBQWdCeEUsTUFBTSxPQUFPLFVBQVU7SUFHckIsWUFBb0IsV0FBdUIsRUFDUCxpQkFBaUM7UUFEakQsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDUCxzQkFBaUIsR0FBakIsaUJBQWlCLENBQWdCO1FBQ25FLElBQUksQ0FBQyxHQUFHLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxlQUFlLENBQUMsTUFBMkQ7UUFDekUsSUFBSSxXQUFXLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUF3QixHQUFHLElBQUksQ0FBQyxHQUFHLGtDQUFrQyxXQUFXLEVBQUUsRUFDNUcsRUFBRSxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQTRCLEdBQUcsSUFBSSxDQUFDLEdBQUcseUNBQXlDLEVBQzFHLEVBQUUsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELGNBQWMsQ0FBQyxNQUE0QjtRQUN6QyxJQUFJLFdBQVcsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQWtDLEdBQUcsSUFBSSxDQUFDLEdBQUcsb0NBQW9DLFdBQVcsRUFBRSxFQUN4SCxFQUFFLE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxjQUFjLENBQUUsTUFBd0Q7UUFDdEUsSUFBSSxXQUFXLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFtQyxHQUFHLElBQUksQ0FBQyxHQUFHLG9DQUFvQyxXQUFXLEVBQUUsRUFDekgsRUFBRSxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsY0FBYyxDQUFFLE1BQXlEO1FBQ3ZFLElBQUksV0FBVyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBbUMsR0FBRyxJQUFJLENBQUMsR0FBRyxvQ0FBb0MsV0FBVyxFQUFFLEVBQ3pILEVBQUUsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELGNBQWMsQ0FBQyxNQUF5RDtRQUN0RSxJQUFJLFdBQVcsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQW1DLEdBQUcsSUFBSSxDQUFDLEdBQUcsb0NBQW9DLFdBQVcsRUFBRSxFQUN6SCxFQUFFLE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7OEdBekNVLFVBQVUsNENBSVgsZ0JBQWdCO2tIQUpmLFVBQVUsY0FGVCxNQUFNOzsyRkFFUCxVQUFVO2tCQUh0QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBS0ksTUFBTTsyQkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExpYkNvbmZpZ1NlcnZpY2UsIExpYkNvbmZpZ01vZGVsIH0gZnJvbSAnLi9saWItY29uZmlnLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFN1cnZleVF1ZXN0aW9uRHRvIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2R0b3Mvc3VydmV5LXF1ZXN0aW9uLmR0byc7XHJcbmltcG9ydCB7IER0b0Jhc2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvZHRvcy9iYXNlL2R0by5iYXNlJztcclxuaW1wb3J0IHsgR2V0TmV4dFF1ZXN0aW9uUmVzdWx0IH0gZnJvbSAnLi4vLi4vc2hhcmVkL3Jlc3VsdHMvYXBpLnJlc3VsdCc7XHJcbmltcG9ydCB7IFJlc3VsdER0byB9IGZyb20gJy4uLy4uL3NoYXJlZC9kdG9zL2Jhc2UvcmVzdWx0LmR0byc7XHJcbmltcG9ydCB7IEluc3RpdHV0aW9uRHRvIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2R0b3MvaW5zdGl0dXRpb24uZHRvJztcclxuaW1wb3J0IHsgSW5zdGl0dXRpb25CcmFuY2hEdG8gfSBmcm9tICcuLi8uLi9zaGFyZWQvZHRvcy9pbnN0aXR1dGlvbi1icmFuY2guZHRvJztcclxuaW1wb3J0IHsgSW5zdGl0dXRpb25Db2xsYWdlRHRvIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2R0b3MvaW5zdGl0dXRpb24tY29sbGFnZS5kdG8nO1xyXG5pbXBvcnQgeyBJbnN0aXR1dGlvblNlY3Rpb25EdG8gfSBmcm9tICcuLi8uLi9zaGFyZWQvZHRvcy9pbnN0aXR1dGlvbi1zZWN0aW9uLmR0byc7XHJcbmltcG9ydCB7IEluc3RpdHV0aW9uUHJvZ3JhbUR0byB9IGZyb20gJy4uLy4uL3NoYXJlZC9kdG9zL2luc3RpdHV0aW9uLXByb2dyYW0uZHRvJztcclxuZGVjbGFyZSB2YXIgJDogYW55O1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQXBpU2VydmljZSB7XHJcbiAgcHJpdmF0ZSB1cmw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX0h0dHBDbGllbnQ6IEh0dHBDbGllbnQsXHJcbiAgICBASW5qZWN0KExpYkNvbmZpZ1NlcnZpY2UpIHByaXZhdGUgX0xpYkNvbmZpZ1NlcnZpY2U6IExpYkNvbmZpZ01vZGVsKSB7XHJcbiAgICB0aGlzLnVybCA9IF9MaWJDb25maWdTZXJ2aWNlLmFwaVVybDtcclxuICB9XHJcblxyXG4gIGdldE5leHRRdWVzdGlvbihmaWx0ZXI6IHsgYW5zd2VySWQsIHN1cnZleUxhbmd1YWdlSWQsIGFwcGxpY2FudEtleSwgaXNQcmUgfSk6IE9ic2VydmFibGU8R2V0TmV4dFF1ZXN0aW9uUmVzdWx0PiB7XHJcbiAgICB2YXIgcXVlcnlTdHJpbmcgPSAkLnBhcmFtKGZpbHRlcik7XHJcbiAgICByZXR1cm4gdGhpcy5fSHR0cENsaWVudC5nZXQ8R2V0TmV4dFF1ZXN0aW9uUmVzdWx0PihgJHt0aGlzLnVybH0vYXBpL3YxL1N1cnZleS9HZXROZXh0UXVlc3Rpb24/JHtxdWVyeVN0cmluZ31gLFxyXG4gICAgIHsgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHsgJ2Rpc2FibGUtZXJyb3ItYWxlcnQnOiAndHJ1ZScgfSkgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRBbGxJbnN0aXR1dGlvbnMoICkge1xyXG4gICAgcmV0dXJuIHRoaXMuX0h0dHBDbGllbnQuZ2V0PFJlc3VsdER0bzxJbnN0aXR1dGlvbkR0bz4+KGAke3RoaXMudXJsfS9hcGkvdjEvSW5zdGl0dXRpb25zL0dldEFsbEluc3RpdHV0aW9uc2AsXHJcbiAgICAgeyBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoeyAnZGlzYWJsZS1lcnJvci1hbGVydCc6ICd0cnVlJyB9KSB9KTtcclxuICB9XHJcblxyXG4gIGdldEFsbEJyYW5jaGVzKGZpbHRlcjp7c3VibWlzc2lvbklkOnN0cmluZ30gKSB7XHJcbiAgICB2YXIgcXVlcnlTdHJpbmcgPSAkLnBhcmFtKGZpbHRlcik7XHJcbiAgICByZXR1cm4gdGhpcy5fSHR0cENsaWVudC5nZXQ8UmVzdWx0RHRvPEluc3RpdHV0aW9uQnJhbmNoRHRvPj4oYCR7dGhpcy51cmx9L2FwaS92MS9JbnN0aXR1dGlvbnMvR2V0QnJhbmNoZXM/JHtxdWVyeVN0cmluZ31gLFxyXG4gICAgIHsgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHsgJ2Rpc2FibGUtZXJyb3ItYWxlcnQnOiAndHJ1ZScgfSkgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRBbGxDb2xsYWdlcyggZmlsdGVyOntzdWJtaXNzaW9uSWQ6c3RyaW5nICxicmFuY2hTdWJtaXNzaW9uSWQ6c3RyaW5nIH0pIHtcclxuICAgIHZhciBxdWVyeVN0cmluZyA9ICQucGFyYW0oZmlsdGVyKTtcclxuICAgIHJldHVybiB0aGlzLl9IdHRwQ2xpZW50LmdldDxSZXN1bHREdG88SW5zdGl0dXRpb25Db2xsYWdlRHRvPj4oYCR7dGhpcy51cmx9L2FwaS92MS9JbnN0aXR1dGlvbnMvR2V0Q29sbGFnZXM/JHtxdWVyeVN0cmluZ31gLFxyXG4gICAgIHsgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHsgJ2Rpc2FibGUtZXJyb3ItYWxlcnQnOiAndHJ1ZScgfSkgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRBbGxTZWN0aW9ucyggZmlsdGVyOntzdWJtaXNzaW9uSWQ6c3RyaW5nICxjb2xsYWdlU3VibWlzc2lvbklkOnN0cmluZyB9KSB7XHJcbiAgICB2YXIgcXVlcnlTdHJpbmcgPSAkLnBhcmFtKGZpbHRlcik7XHJcbiAgICByZXR1cm4gdGhpcy5fSHR0cENsaWVudC5nZXQ8UmVzdWx0RHRvPEluc3RpdHV0aW9uU2VjdGlvbkR0bz4+KGAke3RoaXMudXJsfS9hcGkvdjEvSW5zdGl0dXRpb25zL0dldFNlY3Rpb25zPyR7cXVlcnlTdHJpbmd9YCxcclxuICAgICB7IGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7ICdkaXNhYmxlLWVycm9yLWFsZXJ0JzogJ3RydWUnIH0pIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0QWxsUHJvZ3JhbXMoZmlsdGVyOntzdWJtaXNzaW9uSWQ6c3RyaW5nICxzZWN0aW9uR2VuZXJhdGVkS2V5OnN0cmluZyB9ICkge1xyXG4gICAgdmFyIHF1ZXJ5U3RyaW5nID0gJC5wYXJhbShmaWx0ZXIpO1xyXG4gICAgcmV0dXJuIHRoaXMuX0h0dHBDbGllbnQuZ2V0PFJlc3VsdER0bzxJbnN0aXR1dGlvblByb2dyYW1EdG8+PihgJHt0aGlzLnVybH0vYXBpL3YxL0luc3RpdHV0aW9ucy9HZXRQcm9ncmFtcz8ke3F1ZXJ5U3RyaW5nfWAsXHJcbiAgICAgeyBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoeyAnZGlzYWJsZS1lcnJvci1hbGVydCc6ICd0cnVlJyB9KSB9KTtcclxuICB9XHJcbn1cclxuIl19
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdXJ2ZXJ5LWxpYi9zcmMvbGliL3NlcnZpY2VzL2FwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQWtCLE1BQU0sc0JBQXNCLENBQUM7OztBQWdCeEUsTUFBTSxPQUFPLFVBQVU7SUFHckIsWUFBb0IsV0FBdUIsRUFDUCxpQkFBaUM7UUFEakQsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDUCxzQkFBaUIsR0FBakIsaUJBQWlCLENBQWdCO1FBQ25FLElBQUksQ0FBQyxHQUFHLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxlQUFlLENBQUMsTUFBMkQ7UUFDekUsSUFBSSxXQUFXLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUF3QixHQUFHLElBQUksQ0FBQyxHQUFHLGtDQUFrQyxXQUFXLEVBQUUsRUFDNUcsRUFBRSxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQTRCLEdBQUcsSUFBSSxDQUFDLEdBQUcseUNBQXlDLEVBQzFHLEVBQUUsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELGNBQWMsQ0FBQyxNQUFxRDtRQUNsRSxJQUFJLFdBQVcsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQWtDLEdBQUcsSUFBSSxDQUFDLEdBQUcsb0NBQW9DLFdBQVcsRUFBRSxFQUN4SCxFQUFFLE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxjQUFjLENBQUUsTUFBZ0Y7UUFDOUYsSUFBSSxXQUFXLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFtQyxHQUFHLElBQUksQ0FBQyxHQUFHLG9DQUFvQyxXQUFXLEVBQUUsRUFDekgsRUFBRSxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsY0FBYyxDQUFFLE1BQWlGO1FBQy9GLElBQUksV0FBVyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBbUMsR0FBRyxJQUFJLENBQUMsR0FBRyxvQ0FBb0MsV0FBVyxFQUFFLEVBQ3pILEVBQUUsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELGNBQWMsQ0FBQyxNQUFpRjtRQUM5RixJQUFJLFdBQVcsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQW1DLEdBQUcsSUFBSSxDQUFDLEdBQUcsb0NBQW9DLFdBQVcsRUFBRSxFQUN6SCxFQUFFLE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7OEdBekNVLFVBQVUsNENBSVgsZ0JBQWdCO2tIQUpmLFVBQVUsY0FGVCxNQUFNOzsyRkFFUCxVQUFVO2tCQUh0QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBS0ksTUFBTTsyQkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExpYkNvbmZpZ1NlcnZpY2UsIExpYkNvbmZpZ01vZGVsIH0gZnJvbSAnLi9saWItY29uZmlnLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFN1cnZleVF1ZXN0aW9uRHRvIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2R0b3Mvc3VydmV5LXF1ZXN0aW9uLmR0byc7XHJcbmltcG9ydCB7IER0b0Jhc2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvZHRvcy9iYXNlL2R0by5iYXNlJztcclxuaW1wb3J0IHsgR2V0TmV4dFF1ZXN0aW9uUmVzdWx0IH0gZnJvbSAnLi4vLi4vc2hhcmVkL3Jlc3VsdHMvYXBpLnJlc3VsdCc7XHJcbmltcG9ydCB7IFJlc3VsdER0byB9IGZyb20gJy4uLy4uL3NoYXJlZC9kdG9zL2Jhc2UvcmVzdWx0LmR0byc7XHJcbmltcG9ydCB7IEluc3RpdHV0aW9uRHRvIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2R0b3MvaW5zdGl0dXRpb24uZHRvJztcclxuaW1wb3J0IHsgSW5zdGl0dXRpb25CcmFuY2hEdG8gfSBmcm9tICcuLi8uLi9zaGFyZWQvZHRvcy9pbnN0aXR1dGlvbi1icmFuY2guZHRvJztcclxuaW1wb3J0IHsgSW5zdGl0dXRpb25Db2xsYWdlRHRvIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2R0b3MvaW5zdGl0dXRpb24tY29sbGFnZS5kdG8nO1xyXG5pbXBvcnQgeyBJbnN0aXR1dGlvblNlY3Rpb25EdG8gfSBmcm9tICcuLi8uLi9zaGFyZWQvZHRvcy9pbnN0aXR1dGlvbi1zZWN0aW9uLmR0byc7XHJcbmltcG9ydCB7IEluc3RpdHV0aW9uUHJvZ3JhbUR0byB9IGZyb20gJy4uLy4uL3NoYXJlZC9kdG9zL2luc3RpdHV0aW9uLXByb2dyYW0uZHRvJztcclxuZGVjbGFyZSB2YXIgJDogYW55O1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQXBpU2VydmljZSB7XHJcbiAgcHJpdmF0ZSB1cmw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX0h0dHBDbGllbnQ6IEh0dHBDbGllbnQsXHJcbiAgICBASW5qZWN0KExpYkNvbmZpZ1NlcnZpY2UpIHByaXZhdGUgX0xpYkNvbmZpZ1NlcnZpY2U6IExpYkNvbmZpZ01vZGVsKSB7XHJcbiAgICB0aGlzLnVybCA9IF9MaWJDb25maWdTZXJ2aWNlLmFwaVVybDtcclxuICB9XHJcblxyXG4gIGdldE5leHRRdWVzdGlvbihmaWx0ZXI6IHsgYW5zd2VySWQsIHN1cnZleUxhbmd1YWdlSWQsIGFwcGxpY2FudEtleSwgaXNQcmUgfSk6IE9ic2VydmFibGU8R2V0TmV4dFF1ZXN0aW9uUmVzdWx0PiB7XHJcbiAgICB2YXIgcXVlcnlTdHJpbmcgPSAkLnBhcmFtKGZpbHRlcik7XHJcbiAgICByZXR1cm4gdGhpcy5fSHR0cENsaWVudC5nZXQ8R2V0TmV4dFF1ZXN0aW9uUmVzdWx0PihgJHt0aGlzLnVybH0vYXBpL3YxL1N1cnZleS9HZXROZXh0UXVlc3Rpb24/JHtxdWVyeVN0cmluZ31gLFxyXG4gICAgIHsgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHsgJ2Rpc2FibGUtZXJyb3ItYWxlcnQnOiAndHJ1ZScgfSkgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRBbGxJbnN0aXR1dGlvbnMoICkge1xyXG4gICAgcmV0dXJuIHRoaXMuX0h0dHBDbGllbnQuZ2V0PFJlc3VsdER0bzxJbnN0aXR1dGlvbkR0bz4+KGAke3RoaXMudXJsfS9hcGkvdjEvSW5zdGl0dXRpb25zL0dldEFsbEluc3RpdHV0aW9uc2AsXHJcbiAgICAgeyBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoeyAnZGlzYWJsZS1lcnJvci1hbGVydCc6ICd0cnVlJyB9KSB9KTtcclxuICB9XHJcblxyXG4gIGdldEFsbEJyYW5jaGVzKGZpbHRlcjp7c3VibWlzc2lvbklkOnN0cmluZyAscmVxdWVzdFRpbWVzdGFtcDpzdHJpbmd9ICkge1xyXG4gICAgdmFyIHF1ZXJ5U3RyaW5nID0gJC5wYXJhbShmaWx0ZXIpO1xyXG4gICAgcmV0dXJuIHRoaXMuX0h0dHBDbGllbnQuZ2V0PFJlc3VsdER0bzxJbnN0aXR1dGlvbkJyYW5jaER0bz4+KGAke3RoaXMudXJsfS9hcGkvdjEvSW5zdGl0dXRpb25zL0dldEJyYW5jaGVzPyR7cXVlcnlTdHJpbmd9YCxcclxuICAgICB7IGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7ICdkaXNhYmxlLWVycm9yLWFsZXJ0JzogJ3RydWUnIH0pIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0QWxsQ29sbGFnZXMoIGZpbHRlcjp7c3VibWlzc2lvbklkOnN0cmluZyAsYnJhbmNoU3VibWlzc2lvbklkOnN0cmluZyxyZXF1ZXN0VGltZXN0YW1wOnN0cmluZyB9KSB7XHJcbiAgICB2YXIgcXVlcnlTdHJpbmcgPSAkLnBhcmFtKGZpbHRlcik7XHJcbiAgICByZXR1cm4gdGhpcy5fSHR0cENsaWVudC5nZXQ8UmVzdWx0RHRvPEluc3RpdHV0aW9uQ29sbGFnZUR0bz4+KGAke3RoaXMudXJsfS9hcGkvdjEvSW5zdGl0dXRpb25zL0dldENvbGxhZ2VzPyR7cXVlcnlTdHJpbmd9YCxcclxuICAgICB7IGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7ICdkaXNhYmxlLWVycm9yLWFsZXJ0JzogJ3RydWUnIH0pIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0QWxsU2VjdGlvbnMoIGZpbHRlcjp7c3VibWlzc2lvbklkOnN0cmluZyAsY29sbGFnZVN1Ym1pc3Npb25JZDpzdHJpbmcscmVxdWVzdFRpbWVzdGFtcDpzdHJpbmcgfSkge1xyXG4gICAgdmFyIHF1ZXJ5U3RyaW5nID0gJC5wYXJhbShmaWx0ZXIpO1xyXG4gICAgcmV0dXJuIHRoaXMuX0h0dHBDbGllbnQuZ2V0PFJlc3VsdER0bzxJbnN0aXR1dGlvblNlY3Rpb25EdG8+PihgJHt0aGlzLnVybH0vYXBpL3YxL0luc3RpdHV0aW9ucy9HZXRTZWN0aW9ucz8ke3F1ZXJ5U3RyaW5nfWAsXHJcbiAgICAgeyBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoeyAnZGlzYWJsZS1lcnJvci1hbGVydCc6ICd0cnVlJyB9KSB9KTtcclxuICB9XHJcblxyXG4gIGdldEFsbFByb2dyYW1zKGZpbHRlcjp7c3VibWlzc2lvbklkOnN0cmluZyAsc2VjdGlvbkdlbmVyYXRlZEtleTpzdHJpbmcscmVxdWVzdFRpbWVzdGFtcDpzdHJpbmcgfSApIHtcclxuICAgIHZhciBxdWVyeVN0cmluZyA9ICQucGFyYW0oZmlsdGVyKTtcclxuICAgIHJldHVybiB0aGlzLl9IdHRwQ2xpZW50LmdldDxSZXN1bHREdG88SW5zdGl0dXRpb25Qcm9ncmFtRHRvPj4oYCR7dGhpcy51cmx9L2FwaS92MS9JbnN0aXR1dGlvbnMvR2V0UHJvZ3JhbXM/JHtxdWVyeVN0cmluZ31gLFxyXG4gICAgIHsgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHsgJ2Rpc2FibGUtZXJyb3ItYWxlcnQnOiAndHJ1ZScgfSkgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdGl0dXRpb24tcHJvZ3JhbS5kdG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdXJ2ZXJ5LWxpYi9zcmMvc2hhcmVkL2R0b3MvaW5zdGl0dXRpb24tcHJvZ3JhbS5kdG8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSW5zdGl0dXRpb25Qcm9ncmFtRHRvIHtcclxuICAgIGdlbmVyYXRlZElkOiBzdHJpbmcsXHJcbiAgICBwcm9ncmFtTmFtZUFyYWJpYzogc3RyaW5nLFxyXG4gICAgcHJvZ3JhbU5hbWVFbmdsaXNoOiBzdHJpbmcsXHJcbn0iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdGl0dXRpb24tcHJvZ3JhbS5kdG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdXJ2ZXJ5LWxpYi9zcmMvc2hhcmVkL2R0b3MvaW5zdGl0dXRpb24tcHJvZ3JhbS5kdG8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSW5zdGl0dXRpb25Qcm9ncmFtRHRvIHtcclxuICAgIGdlbmVyYXRlZEtleTogc3RyaW5nLFxyXG4gICAgcHJvZ3JhbU5hbWVBcmFiaWM6IHN0cmluZyxcclxuICAgIHByb2dyYW1OYW1lRW5nbGlzaDogc3RyaW5nLFxyXG59Il19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdGl0dXRpb24tc2VjdGlvbi5kdG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdXJ2ZXJ5LWxpYi9zcmMvc2hhcmVkL2R0b3MvaW5zdGl0dXRpb24tc2VjdGlvbi5kdG8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSW5zdGl0dXRpb25TZWN0aW9uRHRvIHtcclxuICAgIGdlbmVyYXRlZElkOiBzdHJpbmcsXHJcbiAgICBzZWN0aW9uTmFtZUluQXJhYmljOiBzdHJpbmcsXHJcbiAgICBzZWN0aW9uTmFtZUluRW5nbGlzaDogc3RyaW5nLFxyXG4gICAgc2VjdGlvblN1Ym1pc3Npb25JZDogc3RyaW5nXHJcbn0iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdGl0dXRpb24tc2VjdGlvbi5kdG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdXJ2ZXJ5LWxpYi9zcmMvc2hhcmVkL2R0b3MvaW5zdGl0dXRpb24tc2VjdGlvbi5kdG8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSW5zdGl0dXRpb25TZWN0aW9uRHRvIHtcclxuICAgIGdlbmVyYXRlZEtleTogc3RyaW5nLFxyXG4gICAgc2VjdGlvbk5hbWVJbkFyYWJpYzogc3RyaW5nLFxyXG4gICAgc2VjdGlvbk5hbWVJbkVuZ2xpc2g6IHN0cmluZyxcclxuICAgIHNlY3Rpb25TdWJtaXNzaW9uSWQ6IHN0cmluZ1xyXG59Il19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdGl0dXRpb24uZHRvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3VydmVyeS1saWIvc3JjL3NoYXJlZC9kdG9zL2luc3RpdHV0aW9uLmR0by50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJbnN0aXR1dGlvbkR0byB7XHJcbiAgICBnZW5lcmF0ZWRJZDogc3RyaW5nLFxyXG4gICAgaW5zdGl0dXRpb25OYW1lQXJhYmljOiBzdHJpbmcsXHJcbiAgICBpbnN0aXR1dGlvbk5hbWVFbmdsaXNoOiBzdHJpbmcsXHJcbiAgICBzdWJtaXNzaW9uSWQ6IHN0cmluZ1xyXG59Il19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdGl0dXRpb24uZHRvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3VydmVyeS1saWIvc3JjL3NoYXJlZC9kdG9zL2luc3RpdHV0aW9uLmR0by50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJbnN0aXR1dGlvbkR0byB7XHJcbiAgICBnZW5lcmF0ZWRJZDogc3RyaW5nLFxyXG4gICAgaW5zdGl0dXRpb25OYW1lQXJhYmljOiBzdHJpbmcsXHJcbiAgICBpbnN0aXR1dGlvbk5hbWVFbmdsaXNoOiBzdHJpbmcsXHJcbiAgICBzdWJtaXNzaW9uSWQ6IHN0cmluZ1xyXG4gICAgcmVxdWVzdFRpbWVzdGFtcDogc3RyaW5nO1xyXG59Il19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24tSW5zdGl0dXRpb25zLXRlbXBsYXRlLmZvcm0taW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3VydmVyeS1saWIvc3JjL3NoYXJlZC9mb3JtLWludGVyZmFjZXMvcXVlc3Rpb24tSW5zdGl0dXRpb25zLXRlbXBsYXRlLmZvcm0taW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtQXJyYXksIEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgUXVlc3Rpb25UeXBlRW51bSB9IGZyb20gXCIuLi9lbnVtcy9xdWVzdGlvbi10eXBlLmVudW1cIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUXVlc3Rpb25JbnN0aXR1dGlvbnNUZW1wbGF0ZUZvcm1JbnRlcmZhY2Uge1xyXG4gICAgbWF4TGV2ZWxWYWx1ZTogRm9ybUNvbnRyb2w8bnVtYmVyPjtcclxuICAgIGlkOiBGb3JtQ29udHJvbDxhbnk+O1xyXG4gICAgdGl0bGU6IEZvcm1Db250cm9sPHN0cmluZz47XHJcbiAgICBpc1JlcXVpcmVkOiBGb3JtQ29udHJvbDxib29sZWFuPjtcclxuICAgIGlzU2hvdzogIEZvcm1Db250cm9sPGJvb2xlYW4+O1xyXG4gICAgaXNEaXNhYmxlZDogRm9ybUNvbnRyb2w8Ym9vbGVhbj47XHJcbiAgICBpbnN0aXR1dGlvbklkOiBGb3JtQ29udHJvbDxhbnk+O1xyXG4gICAgYnJhbmNoSWQ6IEZvcm1Db250cm9sPGFueT47XHJcbiAgICBjb2xsYWdlSWQ6IEZvcm1Db250cm9sPGFueT47XHJcbiAgICBzZWN0aW9uSWQ6IEZvcm1Db250cm9sPGFueT47XHJcbiAgICBxdWVzdGlvbkFycjogRm9ybUFycmF5PEZvcm1Hcm91cDwgUXVlc3Rpb25Hcm91cENoaWxkT2ZRdWVzdGlvbkluc3RpdHV0aW9uc1RlbXBsYXRlRm9ybUludGVyZmFjZT4+O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXN0aW9uR3JvdXBDaGlsZE9mUXVlc3Rpb25JbnN0aXR1dGlvbnNUZW1wbGF0ZUZvcm1JbnRlcmZhY2Uge1xyXG4gICAgaWQ6IEZvcm1Db250cm9sPGFueT47XHJcbiAgICBuYW1lOiBGb3JtQ29udHJvbDxzdHJpbmc+O1xyXG4gICAgdGl0bGU6IEZvcm1Db250cm9sPHN0cmluZz47XHJcbiAgICBkZXNjcmlwdGlvbjogRm9ybUNvbnRyb2w8c3RyaW5nPjtcclxuICAgIGxldmVsIDogRm9ybUNvbnRyb2w8bnVtYmVyPjtcclxuICAgIGxldmVsQW5zd2VySWQ6ICBGb3JtQ29udHJvbDxudW1iZXI+O1xyXG4gICAgdHlwZUlkOkZvcm1Db250cm9sPFF1ZXN0aW9uVHlwZUVudW0+O1xyXG4gICAgYW5zd2VyczpGb3JtQ29udHJvbDx7aWQsbmFtZX1bXT47XHJcbiAgICBhbnN3ZXJWYWx1ZTpGb3JtQ29udHJvbDxzdHJpbmc+O1xyXG4gICAgYW5zd2VySWQ6Rm9ybUNvbnRyb2w8bnVtYmVyPjtcclxufSJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24tSW5zdGl0dXRpb25zLXRlbXBsYXRlLmZvcm0taW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3VydmVyeS1saWIvc3JjL3NoYXJlZC9mb3JtLWludGVyZmFjZXMvcXVlc3Rpb24tSW5zdGl0dXRpb25zLXRlbXBsYXRlLmZvcm0taW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtQXJyYXksIEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgUXVlc3Rpb25UeXBlRW51bSB9IGZyb20gXCIuLi9lbnVtcy9xdWVzdGlvbi10eXBlLmVudW1cIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUXVlc3Rpb25JbnN0aXR1dGlvbnNUZW1wbGF0ZUZvcm1JbnRlcmZhY2Uge1xyXG4gICAgbWF4TGV2ZWxWYWx1ZTogRm9ybUNvbnRyb2w8bnVtYmVyPjtcclxuICAgIGlkOiBGb3JtQ29udHJvbDxhbnk+O1xyXG4gICAgdGl0bGU6IEZvcm1Db250cm9sPHN0cmluZz47XHJcbiAgICBpc1JlcXVpcmVkOiBGb3JtQ29udHJvbDxib29sZWFuPjtcclxuICAgIGlzU2hvdzogIEZvcm1Db250cm9sPGJvb2xlYW4+O1xyXG4gICAgaXNEaXNhYmxlZDogRm9ybUNvbnRyb2w8Ym9vbGVhbj47XHJcbiAgICBpbnN0aXR1dGlvbklkOiBGb3JtQ29udHJvbDxhbnk+O1xyXG4gICAgaW5zdGl0dXRpb25UaW1lc3RhbXA6IEZvcm1Db250cm9sPHN0cmluZz47XHJcbiAgICBicmFuY2hJZDogRm9ybUNvbnRyb2w8YW55PjtcclxuICAgIGNvbGxhZ2VJZDogRm9ybUNvbnRyb2w8YW55PjtcclxuICAgIHNlY3Rpb25JZDogRm9ybUNvbnRyb2w8YW55PjtcclxuICAgIHF1ZXN0aW9uQXJyOiBGb3JtQXJyYXk8Rm9ybUdyb3VwPCBRdWVzdGlvbkdyb3VwQ2hpbGRPZlF1ZXN0aW9uSW5zdGl0dXRpb25zVGVtcGxhdGVGb3JtSW50ZXJmYWNlPj47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUXVlc3Rpb25Hcm91cENoaWxkT2ZRdWVzdGlvbkluc3RpdHV0aW9uc1RlbXBsYXRlRm9ybUludGVyZmFjZSB7XHJcbiAgICBpZDogRm9ybUNvbnRyb2w8YW55PjtcclxuICAgIG5hbWU6IEZvcm1Db250cm9sPHN0cmluZz47XHJcbiAgICB0aXRsZTogRm9ybUNvbnRyb2w8c3RyaW5nPjtcclxuICAgIGRlc2NyaXB0aW9uOiBGb3JtQ29udHJvbDxzdHJpbmc+O1xyXG4gICAgbGV2ZWwgOiBGb3JtQ29udHJvbDxudW1iZXI+O1xyXG4gICAgbGV2ZWxBbnN3ZXJJZDogIEZvcm1Db250cm9sPG51bWJlcj47XHJcbiAgICB0eXBlSWQ6Rm9ybUNvbnRyb2w8UXVlc3Rpb25UeXBlRW51bT47XHJcbiAgICBhbnN3ZXJzOkZvcm1Db250cm9sPHtpZCxuYW1lfVtdPjtcclxuICAgIGFuc3dlclZhbHVlOkZvcm1Db250cm9sPHN0cmluZz47XHJcbiAgICBhbnN3ZXJJZDpGb3JtQ29udHJvbDxzdHJpbmc+O1xyXG59Il19
@@ -1832,7 +1832,8 @@ class QuestionInstitutionsTemplateComponent {
1832
1832
  return this.institutionsArr$().map(x => {
1833
1833
  return {
1834
1834
  id: x.submissionId,
1835
- name: this.isArabicLang == true ? x.institutionNameArabic : x.institutionNameEnglish
1835
+ name: this.isArabicLang == true ? x.institutionNameArabic : x.institutionNameEnglish,
1836
+ requestTimestamp: x.requestTimestamp,
1836
1837
  };
1837
1838
  });
1838
1839
  });
@@ -1844,6 +1845,7 @@ class QuestionInstitutionsTemplateComponent {
1844
1845
  isShow: new FormControl(false),
1845
1846
  isRequired: new FormControl(null),
1846
1847
  institutionId: new FormControl(null),
1848
+ institutionTimestamp: new FormControl(null),
1847
1849
  branchId: new FormControl(null),
1848
1850
  collageId: new FormControl(null),
1849
1851
  sectionId: new FormControl(null),
@@ -1894,6 +1896,7 @@ class QuestionInstitutionsTemplateComponent {
1894
1896
  if (value.level == 1) {
1895
1897
  this.rForm.patchValue({
1896
1898
  institutionId: answerId,
1899
+ institutionTimestamp: this.institutionsQuestionArr().find(x => x.id == answerId)?.requestTimestamp,
1897
1900
  branchId: null,
1898
1901
  collageId: null,
1899
1902
  sectionId: null
@@ -1955,7 +1958,7 @@ class QuestionInstitutionsTemplateComponent {
1955
1958
  var group = this.fCtrls.questionArr.at(nextGroupIndex);
1956
1959
  if (group) {
1957
1960
  if (group.value.level == 2) {
1958
- this._ApiService.getAllBranches({ submissionId: formValue.institutionId }).pipe(take(1)).subscribe(res => {
1961
+ this._ApiService.getAllBranches({ submissionId: formValue.institutionId, requestTimestamp: formValue.institutionTimestamp }).pipe(take(1)).subscribe(res => {
1959
1962
  group.controls.answers.setValue(res.responseDetails.map(x => {
1960
1963
  return {
1961
1964
  id: x.branchSubmissionId,
@@ -1965,7 +1968,7 @@ class QuestionInstitutionsTemplateComponent {
1965
1968
  });
1966
1969
  }
1967
1970
  else if (group.value.level == 3) {
1968
- this._ApiService.getAllCollages({ submissionId: formValue.institutionId, branchSubmissionId: formValue.branchId }).pipe(take(1)).subscribe(res => {
1971
+ this._ApiService.getAllCollages({ submissionId: formValue.institutionId, branchSubmissionId: formValue.branchId, requestTimestamp: formValue.institutionTimestamp }).pipe(take(1)).subscribe(res => {
1969
1972
  group.controls.answers.setValue(res.responseDetails.map(x => {
1970
1973
  return {
1971
1974
  id: x.collageSubmissionId,
@@ -1975,20 +1978,20 @@ class QuestionInstitutionsTemplateComponent {
1975
1978
  });
1976
1979
  }
1977
1980
  else if (group.value.level == 4) {
1978
- this._ApiService.getAllSections({ submissionId: formValue.institutionId, collageSubmissionId: formValue.collageId }).pipe(take(1)).subscribe(res => {
1981
+ this._ApiService.getAllSections({ submissionId: formValue.institutionId, collageSubmissionId: formValue.collageId, requestTimestamp: formValue.institutionTimestamp }).pipe(take(1)).subscribe(res => {
1979
1982
  group.controls.answers.setValue(res.responseDetails.map(x => {
1980
1983
  return {
1981
- id: x.generatedId,
1984
+ id: x.generatedKey,
1982
1985
  name: this.isArabicLang == true ? x.sectionNameInArabic : x.sectionNameInEnglish
1983
1986
  };
1984
1987
  }));
1985
1988
  });
1986
1989
  }
1987
1990
  else if (group.value.level == 5) {
1988
- this._ApiService.getAllPrograms({ submissionId: formValue.institutionId, sectionGeneratedKey: formValue.sectionId }).pipe(take(1)).subscribe(res => {
1991
+ this._ApiService.getAllPrograms({ submissionId: formValue.institutionId, sectionGeneratedKey: formValue.sectionId, requestTimestamp: formValue.institutionTimestamp }).pipe(take(1)).subscribe(res => {
1989
1992
  group.controls.answers.setValue(res.responseDetails.map(x => {
1990
1993
  return {
1991
- id: x.generatedId,
1994
+ id: x.generatedKey,
1992
1995
  name: this.isArabicLang == true ? x.programNameArabic : x.programNameEnglish
1993
1996
  };
1994
1997
  }));