@colijnit/sharedcomponents 1.0.66 → 1.0.68

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (24) hide show
  1. package/bundles/colijnit-sharedcomponents.umd.js +25 -7
  2. package/bundles/colijnit-sharedcomponents.umd.js.map +1 -1
  3. package/colijnit-sharedcomponents.metadata.json +1 -1
  4. package/esm2015/lib/components/date-planning/component/agenda/agenda-header.component.js +56 -47
  5. package/esm2015/lib/components/date-planning/date-planning.component.js +4 -1
  6. package/esm2015/lib/components/stock/components/stock-location/components/stock-location-popup/stock-location-popup.component.js +11 -4
  7. package/esm2015/lib/components/stock/components/stock-location/stock-location.component.js +2 -1
  8. package/esm2015/lib/enum/icon.enum.js +1 -1
  9. package/esm2015/lib/model/icon-svg.js +1 -1
  10. package/esm2015/lib/utils/calendar.utils.js +8 -2
  11. package/fesm2015/colijnit-sharedcomponents.js +76 -50
  12. package/fesm2015/colijnit-sharedcomponents.js.map +1 -1
  13. package/lib/components/date-planning/component/agenda/agenda-header.component.d.ts +2 -0
  14. package/lib/components/date-planning/component/agenda/style/_layout.scss +1 -3
  15. package/lib/components/date-planning/date-planning.component.d.ts +1 -0
  16. package/lib/components/stock/components/stock-location/components/stock-location-popup/stock-location-popup.component.d.ts +1 -0
  17. package/package.json +1 -1
  18. package/3rdpartylicenses.txt +0 -1200
  19. package/favicon.ico +0 -0
  20. package/index.html +0 -12
  21. package/main.1d1ac86d8023edac29b1.js +0 -1
  22. package/polyfills.907fe9d1887c5de17993.js +0 -1
  23. package/runtime.8aac21847ed3d3829cca.js +0 -1
  24. package/styles.42e2561063e306e59f45.css +0 -1
@@ -70,7 +70,7 @@ export class AgendaHeaderComponent {
70
70
  newDate.setDate(this.selectedDate.getDate() - 1);
71
71
  break;
72
72
  case CalendarView.WeekView:
73
- newDate.setDate(this.selectedDate.getDate() - 7);
73
+ newDate.setDate(this.selectedDate.getDate() - 3);
74
74
  break;
75
75
  case CalendarView.WeekSelectView:
76
76
  newDate.setDate(this.selectedDate.getDate() - 7);
@@ -91,7 +91,7 @@ export class AgendaHeaderComponent {
91
91
  newDate.setDate(this.selectedDate.getDate() + 1);
92
92
  break;
93
93
  case CalendarView.WeekView:
94
- newDate.setDate(this.selectedDate.getDate() + 7);
94
+ newDate.setDate(this.selectedDate.getDate() + 3);
95
95
  break;
96
96
  case CalendarView.WeekSelectView:
97
97
  newDate.setDate(this.selectedDate.getDate() + 7);
@@ -164,62 +164,70 @@ export class AgendaHeaderComponent {
164
164
  }
165
165
  }
166
166
  }
167
+ capitalizeString(label) {
168
+ return label[0].toUpperCase() + label.slice(1);
169
+ }
167
170
  }
168
171
  AgendaHeaderComponent.decorators = [
169
172
  { type: Component, args: [{
170
173
  selector: "agenda-header",
171
174
  template: `
172
- <div class="agenda-header-wrapper" *ngIf="view === viewTypes.DayView">
173
- <div class="hour-label-placeholder">
174
- <view-select [selectedView]="view" (selectedViewChange)="changeTheView($event)"></view-select>
175
- </div>
176
- <div class="week-day-label">
177
- <co-icon class="pointer-hover no-user-select sub-unit-icon dark"
178
- [iconData]="iconCacheService.getIcon(icons.ArrowPointLeft)" (click)="subUnit()"></co-icon>
179
- <div class="day-description" [textContent]="day.description"></div>
180
- <co-icon class="pointer-hover no-user-select add-unit-icon dark"
181
- [iconData]="iconCacheService.getIcon(icons.ArrowPointRight)" (click)="addUnit()"></co-icon>
182
- </div>
175
+ <div class="agenda-header-wrapper" *ngIf="view === viewTypes.DayView">
176
+ <div class="hour-label-placeholder" *ngIf="viewSelection">
177
+ <view-select [selectedView]="view" (selectedViewChange)="changeTheView($event)"></view-select>
178
+ </div>
179
+ <div class="week-day-label">
180
+ <co-icon class="pointer-hover no-user-select sub-unit-icon dark"
181
+ [iconData]="iconCacheService.getIcon(icons.ArrowPointLeft)" (click)="subUnit()"></co-icon>
182
+ <div class="day-description" [textContent]="day.description"></div>
183
+ <co-icon class="pointer-hover no-user-select add-unit-icon dark"
184
+ [iconData]="iconCacheService.getIcon(icons.ArrowPointRight)" (click)="addUnit()"></co-icon>
183
185
  </div>
184
- <div class="agenda-header-wrapper" *ngIf="view === viewTypes.WeekView">
186
+ </div>
187
+ <div class="agenda-header-wrapper" *ngIf="view === viewTypes.WeekView">
188
+ <div class="hour-label-placeholder" *ngIf="viewSelection">
189
+ <view-select [selectedView]="view" (selectedViewChange)="changeTheView($event)"></view-select>
190
+ </div>
191
+ <div class="week-day-label" *ngFor="let weekDay of weekDays; let index = index"
192
+ [class.selected]="weekDay.weekdaySelected" (click)="setUnit(weekDay)">
193
+ <co-icon *ngIf="showBackButton && index === 0" class="pointer-hover no-user-select sub-unit-icon dark"
194
+ [iconData]="iconCacheService.getIcon(icons.ArrowPointLeft)" (click)="subUnit()"></co-icon>
195
+ <div *ngIf="weekDay.newMonth" [textContent]="weekDay.weekdayMonthLong + ' ' + weekDay.weekdayYear"
196
+ class="month-description"></div>
197
+ <div class="weekday-value"
198
+ [textContent]="capitalizeString(weekDay.weekdayLong) + ' ' + weekDay.weekdayDay + ' ' + capitalizeString(weekDay.weekdayMonthLong) + ' ' + weekDay.weekdayYear "></div>
199
+ <!-- <div class="weekday-description" [textContent]="weekDay.weekdayYear"></div>-->
200
+
201
+ <co-icon *ngIf="index === 2" class="pointer-hover no-user-select add-unit-icon dark"
202
+ [iconData]="iconCacheService.getIcon(icons.ArrowPointRight)" (click)="addUnit()"></co-icon>
185
203
 
186
- <div class="week-day-label" *ngFor="let weekDay of weekDays; let index = index"
187
- [class.selected]="weekDay.weekdaySelected" (click)="setUnit(weekDay)">
188
- <co-icon *ngIf="index === 0 && showBackButton" class="pointer-hover no-user-select sub-unit-icon dark"
189
- [iconData]="iconCacheService.getIcon(icons.ArrowPointLeft)" (click)="subUnit()"></co-icon>
190
- <div *ngIf="weekDay.newMonth" [textContent]="weekDay.weekdayMonthLong + ' ' + weekDay.weekdayYear"
191
- class="month-description"></div>
192
- <div class="weekday-value"
193
- [textContent]="weekDay.weekdayLong + ' ' + weekDay.weekdayDay + ' ' + weekDay.weekdayMonthLong + ' ' + weekDay.weekdayYear "></div>
194
- <!-- <div class="weekday-description" [textContent]="weekDay.weekdayYear"></div>-->
195
- <co-icon *ngIf="index === 6" class="pointer-hover no-user-select add-unit-icon dark"
196
- [iconData]="iconCacheService.getIcon(icons.ArrowPointRight)" (click)="addUnit()"></co-icon>
197
- </div>
198
204
  </div>
199
205
 
206
+ </div>
207
+
200
208
 
201
- <div class="agenda-header-wrapper" *ngIf="view === viewTypes.WeekSelectView">
202
- <div class="week-day-label" *ngFor="let weekDay of weekDays; let index = index"
203
- [class.selected]="weekDay.weekdaySelected"
204
- [class.selectable]="weekDay.events && weekDay.events.length > 0"
205
- (click)="setUnit(weekDay)">
206
- <co-icon *ngIf="index === 0 && showBackButton" class="pointer-hover no-user-select sub-unit-icon dark"
207
- [iconData]="iconCacheService.getIcon(icons.ArrowPointLeft)" (click)="subUnit()"></co-icon>
208
- <div class="weekday-description" [textContent]="weekDay.weekdayShort"></div>
209
- <div class="weekday-value" [textContent]="weekDay.weekdayDay + ' ' + weekDay.weekdayMonthShort"></div>
210
- <co-icon *ngIf="index === 6" class="pointer-hover no-user-select add-unit-icon dark"
211
- [iconData]="iconCacheService.getIcon(icons.ArrowPointRight)" (click)="addUnit()"></co-icon>
212
- </div>
209
+ <div class="agenda-header-wrapper" *ngIf="view === viewTypes.WeekSelectView">
210
+ <div class="week-day-label" *ngFor="let weekDay of weekDays; let index = index"
211
+ [class.selected]="weekDay.weekdaySelected"
212
+ [class.selectable]="weekDay.events && weekDay.events.length > 0"
213
+ (click)="setUnit(weekDay)">
214
+ <co-icon *ngIf="index === 0 && showBackButton" class="pointer-hover no-user-select sub-unit-icon dark"
215
+ [iconData]="iconCacheService.getIcon(icons.ArrowPointLeft)" (click)="subUnit()"></co-icon>
216
+ <div class="weekday-description" [textContent]="weekDay.weekdayShort"></div>
217
+ <div class="weekday-value" [textContent]="weekDay.weekdayDay + ' ' + weekDay.weekdayMonthShort"></div>
218
+ <co-icon *ngIf="index === 6" class="pointer-hover no-user-select add-unit-icon dark"
219
+ [iconData]="iconCacheService.getIcon(icons.ArrowPointRight)" (click)="addUnit()"></co-icon>
213
220
  </div>
214
- <div class="agenda-header-wrapper" *ngIf="view === viewTypes.MonthView">
215
- <div class="week-day-label" *ngFor="let weekDay of weekDays; let index = index">
216
- <co-icon *ngIf="index === 0 && showBackButton" class="pointer-hover no-user-select sub-unit-icon dark"
217
- [iconData]="iconCacheService.getIcon(icons.ArrowPointLeft)" (click)="subUnit()"></co-icon>
218
- <div class="weekday-description" [textContent]="weekDay.weekdayShort"></div>
219
- <co-icon *ngIf="index === 6" class="pointer-hover no-user-select add-unit-icon dark"
220
- [iconData]="iconCacheService.getIcon(icons.ArrowPointRight)" (click)="addUnit()"></co-icon>
221
- </div>
221
+ </div>
222
+ <div class="agenda-header-wrapper" *ngIf="view === viewTypes.MonthView">
223
+ <div class="week-day-label" *ngFor="let weekDay of weekDays; let index = index">
224
+ <co-icon *ngIf="index === 0 && showBackButton" class="pointer-hover no-user-select sub-unit-icon dark"
225
+ [iconData]="iconCacheService.getIcon(icons.ArrowPointLeft)" (click)="subUnit()"></co-icon>
226
+ <div class="weekday-description" [textContent]="weekDay.weekdayShort"></div>
227
+ <co-icon *ngIf="index === 6" class="pointer-hover no-user-select add-unit-icon dark"
228
+ [iconData]="iconCacheService.getIcon(icons.ArrowPointRight)" (click)="addUnit()"></co-icon>
222
229
  </div>
230
+ </div>
223
231
  `,
224
232
  encapsulation: ViewEncapsulation.None
225
233
  },] }
@@ -236,8 +244,9 @@ AgendaHeaderComponent.propDecorators = {
236
244
  view: [{ type: Input }],
237
245
  firstAvailableDate: [{ type: Input }],
238
246
  eventsPerDay: [{ type: Input }],
247
+ viewSelection: [{ type: Input }],
239
248
  viewChange: [{ type: Output }],
240
249
  selectedDateChange: [{ type: Output }],
241
250
  rangeChange: [{ type: Output }]
242
251
  };
243
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlbmRhLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9kYXRlLXBsYW5uaW5nL2NvbXBvbmVudC9hZ2VuZGEvYWdlbmRhLWhlYWRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFNBQVMsRUFDVCxNQUFNLEVBR04sTUFBTSxFQUNOLFNBQVMsRUFBRSxpQkFBaUIsRUFDN0IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUdqRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDL0QsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQy9ELE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQTtBQUMvQyxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFFaEQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBMkR4RSxNQUFNLE9BQU8scUJBQXFCO0lBd0Q5QixZQUN3QyxPQUFxQixFQUNqRCxXQUF1QixFQUN2QixTQUFvQixFQUNwQixPQUFlLEVBQ2hCLGdCQUFrQztRQUpMLFlBQU8sR0FBUCxPQUFPLENBQWM7UUFDakQsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDdkIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixZQUFPLEdBQVAsT0FBTyxD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VCxNQUFNO1lBZ0JBLGdCQUFnQjs7OzJCQW1FbkIsS0FBSzttQkFVTCxLQUFLO2lDQUdMLEtBQUs7MkJBWUwsS0FBSzt5QkFNTCxNQUFNO2lDQUdOLE1BQU07MEJBR04sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJDb250ZW50Q2hlY2tlZCxcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5qZWN0LFxyXG4gIElucHV0LFxyXG4gIExPQ0FMRV9JRCxcclxuICBOZ1pvbmUsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgUmVuZGVyZXIyLCBWaWV3RW5jYXBzdWxhdGlvblxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7Q2FsZW5kYXJWaWV3fSBmcm9tIFwiLi4vLi4vLi4vLi4vZW51bS9jYWxlbmRhci12aWV3LmVudW1cIjtcclxuaW1wb3J0IHtMYW5ndWFnZUNvZGV9IGZyb20gXCIuLi8uLi8uLi8uLi9lbnVtL2xhbmd1YWdlLWNvZGUuZW51bVwiO1xyXG5pbXBvcnQge1dlZWtkYXl9IGZyb20gXCIuLi8uLi8uLi8uLi9tb2RlbC93ZWVrZGF5Lm1vZGVsXCI7XHJcbmltcG9ydCB7V2Vla30gZnJvbSBcIi4uLy4uLy4uLy4uL21vZGVsL3dlZWsubW9kZWxcIjtcclxuaW1wb3J0IHtDYWxlbmRhclV0aWxzfSBmcm9tIFwiLi4vLi4vLi4vLi4vdXRpbHMvY2FsZW5kYXIudXRpbHNcIjtcclxuaW1wb3J0IHtOVUxMX0RBWX0gZnJvbSBcIi4uLy4uLy4uLy4uL21vZGVsL2FnZW5kYS1udWxsLW9iamVjdHNcIjtcclxuaW1wb3J0IHtEYXl9IGZyb20gXCIuLi8uLi8uLi8uLi9tb2RlbC9kYXkubW9kZWxcIlxyXG5pbXBvcnQge0ljb259IGZyb20gXCIuLi8uLi8uLi8uLi9lbnVtL2ljb24uZW51bVwiO1xyXG5pbXBvcnQge0FnZW5kYUV2ZW50UGVyRGF5fSBmcm9tIFwiLi4vLi4vLi4vLi4vbW9kZWwvYWdlbmRhLWV2ZW50LXBlci1kYXkubW9kZWxcIjtcclxuaW1wb3J0IHtEYXRlVXRpbHN9IGZyb20gXCIuLi8uLi8uLi8uLi91dGlscy9kYXRlLXV0aWxzXCI7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcImFnZW5kYS1oZWFkZXJcIixcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFnZW5kYS1oZWFkZXItd3JhcHBlclwiICpuZ0lmPVwidmlldyA9PT0gdmlld1R5cGVzLkRheVZpZXdcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhvdXItbGFiZWwtcGxhY2Vob2xkZXJcIj5cclxuICAgICAgICAgICAgICAgIDx2aWV3LXNlbGVjdCBbc2VsZWN0ZWRWaWV3XT1cInZpZXdcIiAoc2VsZWN0ZWRWaWV3Q2hhbmdlKT1cImNoYW5nZVRoZVZpZXcoJGV2ZW50KVwiPjwvdmlldy1zZWxlY3Q+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2Vlay1kYXktbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgIDxjby1pY29uIGNsYXNzPVwicG9pbnRlci1ob3ZlciBuby11c2VyLXNlbGVjdCBzdWItdW5pdC1pY29uIGRhcmtcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5BcnJvd1BvaW50TGVmdClcIiAoY2xpY2spPVwic3ViVW5pdCgpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRheS1kZXNjcmlwdGlvblwiIFt0ZXh0Q29udGVudF09XCJkYXkuZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxjby1pY29uIGNsYXNzPVwicG9pbnRlci1ob3ZlciBuby11c2VyLXNlbGVjdCBhZGQtdW5pdC1pY29uIGRhcmtcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5BcnJvd1BvaW50UmlnaHQpXCIgKGNsaWNrKT1cImFkZFVuaXQoKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFnZW5kYS1oZWFkZXItd3JhcHBlclwiICpuZ0lmPVwidmlldyA9PT0gdmlld1R5cGVzLldlZWtWaWV3XCI+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2Vlay1kYXktbGFiZWxcIiAqbmdGb3I9XCJsZXQgd2Vla0RheSBvZiB3ZWVrRGF5czsgbGV0IGluZGV4ID0gaW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJ3ZWVrRGF5LndlZWtkYXlTZWxlY3RlZFwiIChjbGljayk9XCJzZXRVbml0KHdlZWtEYXkpXCI+XHJcbiAgICAgICAgICAgICAgICA8Y28taWNvbiAqbmdJZj1cImluZGV4ID09PSAwICYmIHNob3dCYWNrQnV0dG9uXCIgY2xhc3M9XCJwb2ludGVyLWhvdmVyIG5vLXVzZXItc2VsZWN0IHN1Yi11bml0LWljb24gZGFya1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkFycm93UG9pbnRMZWZ0KVwiIChjbGljayk9XCJzdWJVbml0KClcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwid2Vla0RheS5uZXdNb250aFwiIFt0ZXh0Q29udGVudF09XCJ3ZWVrRGF5LndlZWtkYXlNb250aExvbmcgKyAnICcgKyB3ZWVrRGF5LndlZWtkYXlZZWFyXCJcclxuICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtb250aC1kZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndlZWtkYXktdmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbdGV4dENvbnRlbnRdPVwid2Vla0RheS53ZWVrZGF5TG9uZyArICcgJyArIHdlZWtEYXkud2Vla2RheURheSArICcgJyArIHdlZWtEYXkud2Vla2RheU1vbnRoTG9uZyArICcgJyArIHdlZWtEYXkud2Vla2RheVllYXIgXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8IS0tICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3ZWVrZGF5LWRlc2NyaXB0aW9uXCIgW3RleHRDb250ZW50XT1cIndlZWtEYXkud2Vla2RheVllYXJcIj48L2Rpdj4tLT5cclxuICAgICAgICAgICAgICAgIDxjby1pY29uICpuZ0lmPVwiaW5kZXggPT09IDZcIiBjbGFzcz1cInBvaW50ZXItaG92ZXIgbm8tdXNlci1zZWxlY3QgYWRkLXVuaXQtaWNvbiBkYXJrXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQXJyb3dQb2ludFJpZ2h0KVwiIChjbGljayk9XCJhZGRVbml0KClcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFnZW5kYS1oZWFkZXItd3JhcHBlclwiICpuZ0lmPVwidmlldyA9PT0gdmlld1R5cGVzLldlZWtTZWxlY3RWaWV3XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3ZWVrLWRheS1sYWJlbFwiICpuZ0Zvcj1cImxldCB3ZWVrRGF5IG9mIHdlZWtEYXlzOyBsZXQgaW5kZXggPSBpbmRleFwiXHJcbiAgICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cIndlZWtEYXkud2Vla2RheVNlbGVjdGVkXCJcclxuICAgICAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0YWJsZV09XCJ3ZWVrRGF5LmV2ZW50cyAmJiB3ZWVrRGF5LmV2ZW50cy5sZW5ndGggPiAwXCJcclxuICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2V0VW5pdCh3ZWVrRGF5KVwiPlxyXG4gICAgICAgICAgICAgICAgPGNvLWljb24gKm5nSWY9XCJpbmRleCA9PT0gMCAmJiBzaG93QmFja0J1dHRvblwiIGNsYXNzPVwicG9pbnRlci1ob3ZlciBuby11c2VyLXNlbGVjdCBzdWItdW5pdC1pY29uIGRhcmtcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5BcnJvd1BvaW50TGVmdClcIiAoY2xpY2spPVwic3ViVW5pdCgpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndlZWtkYXktZGVzY3JpcHRpb25cIiBbdGV4dENvbnRlbnRdPVwid2Vla0RheS53ZWVrZGF5U2hvcnRcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3ZWVrZGF5LXZhbHVlXCIgW3RleHRDb250ZW50XT1cIndlZWtEYXkud2Vla2RheURheSArICcgJyArIHdlZWtEYXkud2Vla2RheU1vbnRoU2hvcnRcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxjby1pY29uICpuZ0lmPVwiaW5kZXggPT09IDZcIiBjbGFzcz1cInBvaW50ZXItaG92ZXIgbm8tdXNlci1zZWxlY3QgYWRkLXVuaXQtaWNvbiBkYXJrXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQXJyb3dQb2ludFJpZ2h0KVwiIChjbGljayk9XCJhZGRVbml0KClcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhZ2VuZGEtaGVhZGVyLXdyYXBwZXJcIiAqbmdJZj1cInZpZXcgPT09IHZpZXdUeXBlcy5Nb250aFZpZXdcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndlZWstZGF5LWxhYmVsXCIgKm5nRm9yPVwibGV0IHdlZWtEYXkgb2Ygd2Vla0RheXM7IGxldCBpbmRleCA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICA8Y28taWNvbiAqbmdJZj1cImluZGV4ID09PSAwICYmIHNob3dCYWNrQnV0dG9uXCIgY2xhc3M9XCJwb2ludGVyLWhvdmVyIG5vLXVzZXItc2VsZWN0IHN1Yi11bml0LWljb24gZGFya1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkFycm93UG9pbnRMZWZ0KVwiIChjbGljayk9XCJzdWJVbml0KClcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2Vla2RheS1kZXNjcmlwdGlvblwiIFt0ZXh0Q29udGVudF09XCJ3ZWVrRGF5LndlZWtkYXlTaG9ydFwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGNvLWljb24gKm5nSWY9XCJpbmRleCA9PT0gNlwiIGNsYXNzPVwicG9pbnRlci1ob3ZlciBuby11c2VyLXNlbGVjdCBhZGQtdW5pdC1pY29uIGRhcmtcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5BcnJvd1BvaW50UmlnaHQpXCIgKGNsaWNrKT1cImFkZFVuaXQoKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIEFnZW5kYUhlYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlckNvbnRlbnRDaGVja2VkIHtcclxuICAgIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG4gICAgcHVibGljIHJlYWRvbmx5IHZpZXdUeXBlczogdHlwZW9mIENhbGVuZGFyVmlldyA9IENhbGVuZGFyVmlldztcclxuXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNjcm9sbGJhcldpZHRoOiBudW1iZXIgPSAxNTtcclxuXHJcbiAgICBwdWJsaWMgdG9kYXk6IERhdGUgPSBuZXcgRGF0ZSgpO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2V0IHNlbGVjdGVkRGF0ZSh2YWx1ZTogRGF0ZSkge1xyXG4gICAgICAgIHRoaXMuX3NlbGVjdGVkRGF0ZSA9IG5ldyBEYXRlKHZhbHVlKTtcclxuICAgICAgICB0aGlzLl9wcmVwYXJlSGVhZGVyRGF0YSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgc2VsZWN0ZWREYXRlKCk6IERhdGUge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZERhdGU7XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyB2aWV3OiBDYWxlbmRhclZpZXc7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZXQgZmlyc3RBdmFpbGFibGVEYXRlKHZhbHVlOiBEYXRlKSB7XHJcbiAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2ZpcnN0QXZhaWxhYmxlRGF0ZSA9IG5ldyBEYXRlKHZhbHVlKTtcclxuICAgICAgICAgICAgdGhpcy5fcHJlcGFyZUhlYWRlckRhdGEoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBmaXJzdEF2YWlsYWJsZURhdGUoKTogRGF0ZSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ZpcnN0QXZhaWxhYmxlRGF0ZTtcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldCBldmVudHNQZXJEYXkodmFsdWU6IEFnZW5kYUV2ZW50UGVyRGF5W10pIHtcclxuICAgICAgICB0aGlzLl9ldmVudHNQZXJEYXkgPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLl9wcmVwYXJlSGVhZGVyRGF0YSgpO1xyXG4gICAgfVxyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIHZpZXdDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDYWxlbmRhclZpZXc+ID0gbmV3IEV2ZW50RW1pdHRlcjxDYWxlbmRhclZpZXc+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgc2VsZWN0ZWREYXRlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8RGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgcmFuZ2VDaGFuZ2U6IEV2ZW50RW1pdHRlcjxEYXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKTtcclxuXHJcbiAgICBwdWJsaWMgd2Vla0RheXM6IFdlZWtkYXlbXSA9IFtdO1xyXG4gICAgcHVibGljIGRheTogRGF5ID0gTlVMTF9EQVk7XHJcbiAgICBwdWJsaWMgc2hvd0JhY2tCdXR0b246IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIHByaXZhdGUgX3NlbGVjdGVkRGF0ZTogRGF0ZTtcclxuICAgIHByaXZhdGUgX2ZpcnN0QXZhaWxhYmxlRGF0ZTogRGF0ZTtcclxuICAgIHByaXZhdGUgX2V2ZW50c1BlckRheTogQWdlbmRhRXZlbnRQZXJEYXlbXSA9IFtdO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIEBJbmplY3QoTE9DQUxFX0lEKSBwcml2YXRlIHJlYWRvbmx5IF9sb2NhbGU6IExhbmd1YWdlQ29kZSxcclxuICAgICAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgICAgIHByaXZhdGUgX3JlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICAgICAgcHJpdmF0ZSBfbmdab25lOiBOZ1pvbmUsXHJcbiAgICAgICAgcHVibGljIGljb25DYWNoZVNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2VcclxuICAgICkge1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwicmVzaXplXCIsIHRoaXMuX29uUmVzaXplKTtcclxuICAgICAgICB0aGlzLl9lbGVtZW50UmVmID0gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX25nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XHJcbiAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwicmVzaXplXCIsIHRoaXMuX29uUmVzaXplKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fcmVzaXplSG9zdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzdWJVbml0KCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkRGF0ZSkge1xyXG4gICAgICAgICAgICBjb25zdCBuZXdEYXRlOiBEYXRlID0gbmV3IERhdGUodGhpcy5zZWxlY3RlZERhdGUpO1xyXG4gICAgICAgICAgICBzd2l0Y2ggKHRoaXMudmlldykge1xyXG4gICAgICAgICAgICAgICAgY2FzZSBDYWxlbmRhclZpZXcuRGF5VmlldzpcclxuICAgICAgICAgICAgICAgICAgICBuZXdEYXRlLnNldERhdGUodGhpcy5zZWxlY3RlZERhdGUuZ2V0RGF0ZSgpIC0gMSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIENhbGVuZGFyVmlldy5XZWVrVmlldzpcclxuICAgICAgICAgICAgICAgICAgICBuZXdEYXRlLnNldERhdGUodGhpcy5zZWxlY3RlZERhdGUuZ2V0RGF0ZSgpIC0gNyk7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIENhbGVuZGFyVmlldy5XZWVrU2VsZWN0VmlldzpcclxuICAgICAgICAgICAgICAgICAgICBuZXdEYXRlLnNldERhdGUodGhpcy5zZWxlY3RlZERhdGUuZ2V0RGF0ZSgpIC0gNyk7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIENhbGVuZGFyVmlldy5Nb250aFZpZXc6XHJcbiAgICAgICAgICAgICAgICAgICAgbmV3RGF0ZS5zZXRNb250aCh0aGlzLnNlbGVjdGVkRGF0ZS5nZXRNb250aCgpIC0gMSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZERhdGUgPSBuZXdEYXRlO1xyXG4gICAgICAgICAgICB0aGlzLnJhbmdlQ2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZERhdGUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYWRkVW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZERhdGUpIHtcclxuICAgICAgICAgICAgY29uc3QgbmV3RGF0ZTogRGF0ZSA9IG5ldyBEYXRlKHRoaXMuc2VsZWN0ZWREYXRlKTtcclxuICAgICAgICAgICAgc3dpdGNoICh0aGlzLnZpZXcpIHtcclxuICAgICAgICAgICAgICAgIGNhc2UgQ2FsZW5kYXJWaWV3LkRheVZpZXc6XHJcbiAgICAgICAgICAgICAgICAgICAgbmV3RGF0ZS5zZXREYXRlKHRoaXMuc2VsZWN0ZWREYXRlLmdldERhdGUoKSArIDEpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBDYWxlbmRhclZpZXcuV2Vla1ZpZXc6XHJcbiAgICAgICAgICAgICAgICAgICAgbmV3RGF0ZS5zZXREYXRlKHRoaXMuc2VsZWN0ZWREYXRlLmdldERhdGUoKSArIDcpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBDYWxlbmRhclZpZXcuV2Vla1NlbGVjdFZpZXc6XHJcbiAgICAgICAgICAgICAgICAgICAgbmV3RGF0ZS5zZXREYXRlKHRoaXMuc2VsZWN0ZWREYXRlLmdldERhdGUoKSArIDcpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBDYWxlbmRhclZpZXcuTW9udGhWaWV3OlxyXG4gICAgICAgICAgICAgICAgICAgIG5ld0RhdGUuc2V0TW9udGgodGhpcy5zZWxlY3RlZERhdGUuZ2V0TW9udGgoKSArIDEpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gbmV3RGF0ZTtcclxuICAgICAgICAgICAgdGhpcy5yYW5nZUNoYW5nZS5lbWl0KHRoaXMuc2VsZWN0ZWREYXRlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNldFVuaXQod2Vla0RheTogV2Vla2RheSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gd2Vla0RheS5kYXRlO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlQ2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZERhdGUpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBjaGFuZ2VUaGVWaWV3KHZpZXc6IENhbGVuZGFyVmlldyk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudmlldyA9IHZpZXc7XHJcbiAgICAgICAgdGhpcy52aWV3Q2hhbmdlLmVtaXQodmlldyk7XHJcbiAgICAgICAgdGhpcy5fcHJlcGFyZUhlYWRlckRhdGEoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9vblJlc2l6ZTogRXZlbnRMaXN0ZW5lciA9IGFzeW5jICgpOiBQcm9taXNlPHZvaWQ+ID0+IHtcclxuICAgICAgICB0aGlzLl9yZXNpemVIb3N0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBOZWVkIHRvIHJlc2l6ZSB0aGUgaG9zdCBjb21wb25lbnQgdG8gc2l6ZSBpdCdzIGZpeGVkIHBvc2l0aW9uZWQgY2hpbGQgdGhyb3VnaCBjc3NcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfcmVzaXplSG9zdCgpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5fZWxlbWVudFJlZikge1xyXG4gICAgICAgICAgICB0aGlzLl9yZW5kZXJlci5zZXRTdHlsZShcclxuICAgICAgICAgICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgXCJ3aWR0aFwiLCB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudC5jbGllbnRXaWR0aCAtIHRoaXMuc2Nyb2xsYmFyV2lkdGggKyBcInB4XCIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9wcmVwYXJlSGVhZGVyRGF0YSgpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZERhdGUpIHtcclxuICAgICAgICAgICAgc3dpdGNoICh0aGlzLnZpZXcpIHtcclxuICAgICAgICAgICAgICAgIGNhc2UgQ2FsZW5kYXJWaWV3LkRheVZpZXc6XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF5OiBEYXkgPSBuZXcgRGF5KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgZGF5LmRhdGUgPSBuZXcgRGF0ZSh0aGlzLnNlbGVjdGVkRGF0ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9uczogYW55ID0geyB5ZWFyOiBcIm51bWVyaWNcIiwgbW9udGg6IFwibG9uZ1wiLCBkYXk6IFwibnVtZXJpY1wiIH07XHJcbiAgICAgICAgICAgICAgICAgICAgZGF5LmRlc2NyaXB0aW9uID0gdGhpcy5zZWxlY3RlZERhdGUudG9Mb2NhbGVEYXRlU3RyaW5nKHRoaXMuX2xvY2FsZSwgb3B0aW9ucyk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXkgPSBkYXk7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIENhbGVuZGFyVmlldy5XZWVrVmlldzpcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCB3ZWVrVmlldzogV2VlayA9IENhbGVuZGFyVXRpbHMuR2V0RGF5c09mV2Vlayh0aGlzLnNlbGVjdGVkRGF0ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy53ZWVrRGF5cyA9IHdlZWtWaWV3LndlZWtEYXlzO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmZpcnN0QXZhaWxhYmxlRGF0ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dCYWNrQnV0dG9uID0gdGhpcy53ZWVrRGF5cy5maW5kKHdkID0+IERhdGVVdGlscy5EYXRlc0VxdWFsKHRoaXMuZmlyc3RBdmFpbGFibGVEYXRlLCB3ZC5kYXRlKSkgPT09IHVuZGVmaW5lZDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIENhbGVuZGFyVmlldy5XZWVrU2VsZWN0VmlldzpcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCB3ZWVrU2VsZWN0VmlldzogV2VlayA9IENhbGVuZGFyVXRpbHMuR2V0RGF5c09mV2Vlayh0aGlzLnNlbGVjdGVkRGF0ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy53ZWVrRGF5cyA9IHdlZWtTZWxlY3RWaWV3LndlZWtEYXlzO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMud2Vla0RheXMuZm9yRWFjaCgod2Q6IFdlZWtkYXkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZXZQZXJEYXk6IEFnZW5kYUV2ZW50UGVyRGF5ID0gdGhpcy5fZXZlbnRzUGVyRGF5ICYmIHRoaXMuX2V2ZW50c1BlckRheS5sZW5ndGggPiAwID8gdGhpcy5fZXZlbnRzUGVyRGF5LmZpbmQoZSA9PiBEYXRlVXRpbHMuRGF0ZXNFcXVhbChlLmRhdGUsIHdkLmRhdGUpKSA6IG51bGw7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChldlBlckRheSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2QuZXZlbnRzID0gZXZQZXJEYXkuZXZlbnRzO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2Qud2Vla2RheVNlbGVjdGVkID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5maXJzdEF2YWlsYWJsZURhdGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zaG93QmFja0J1dHRvbiA9IHRoaXMud2Vla0RheXMuZmluZCh3ZCA9PiBEYXRlVXRpbHMuRGF0ZXNFcXVhbCh0aGlzLmZpcnN0QXZhaWxhYmxlRGF0ZSwgd2QuZGF0ZSkpID09PSB1bmRlZmluZWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBDYWxlbmRhclZpZXcuTW9udGhWaWV3OlxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHdlZWtPZk1vbnRoOiBXZWVrID0gQ2FsZW5kYXJVdGlscy5HZXREYXlzT2ZXZWVrKHRoaXMuc2VsZWN0ZWREYXRlKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLndlZWtEYXlzID0gd2Vla09mTW9udGgud2Vla0RheXM7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZmlyc3RBdmFpbGFibGVEYXRlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2hvd0JhY2tCdXR0b24gPSB0aGlzLndlZWtEYXlzLmZpbmQod2QgPT4gRGF0ZVV0aWxzLkRhdGVzRXF1YWwodGhpcy5maXJzdEF2YWlsYWJsZURhdGUsIHdkLmRhdGUpKSA9PT0gdW5kZWZpbmVkO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
252
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlbmRhLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9kYXRlLXBsYW5uaW5nL2NvbXBvbmVudC9hZ2VuZGEvYWdlbmRhLWhlYWRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFNBQVMsRUFDVCxNQUFNLEVBR04sTUFBTSxFQUNOLFNBQVMsRUFBRSxpQkFBaUIsRUFDN0IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUdqRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDL0QsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQy9ELE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQTtBQUMvQyxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFFaEQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBZ0V4RSxNQUFNLE9BQU8scUJBQXFCO0lBMkQ5QixZQUN3QyxPQUFxQixFQUNqRCxXQUF1QixFQUN2QixTQUFvQixFQUNwQixPQUFlLEVBQ2hCLGdCQUFrQztRQUpMLFlBQU8sR0FBUCxPQUFPLENBQWM7UUFDakQsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDdkIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixZQUFPLEdBQVAsT0FBTyxD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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBeURUO2dCQUNILGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUF4RU8sWUFBWSx1QkFxSVgsTUFBTSxTQUFDLFNBQVM7WUFqSnZCLFVBQVU7WUFTVixTQUFTO1lBSlQsTUFBTTtZQWdCQSxnQkFBZ0I7OzsyQkF3RW5CLEtBQUs7bUJBVUwsS0FBSztpQ0FHTCxLQUFLOzJCQVlMLEtBQUs7NEJBTUwsS0FBSzt5QkFHTCxNQUFNO2lDQUdOLE1BQU07MEJBR04sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJDb250ZW50Q2hlY2tlZCxcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5qZWN0LFxyXG4gIElucHV0LFxyXG4gIExPQ0FMRV9JRCxcclxuICBOZ1pvbmUsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgUmVuZGVyZXIyLCBWaWV3RW5jYXBzdWxhdGlvblxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7Q2FsZW5kYXJWaWV3fSBmcm9tIFwiLi4vLi4vLi4vLi4vZW51bS9jYWxlbmRhci12aWV3LmVudW1cIjtcclxuaW1wb3J0IHtMYW5ndWFnZUNvZGV9IGZyb20gXCIuLi8uLi8uLi8uLi9lbnVtL2xhbmd1YWdlLWNvZGUuZW51bVwiO1xyXG5pbXBvcnQge1dlZWtkYXl9IGZyb20gXCIuLi8uLi8uLi8uLi9tb2RlbC93ZWVrZGF5Lm1vZGVsXCI7XHJcbmltcG9ydCB7V2Vla30gZnJvbSBcIi4uLy4uLy4uLy4uL21vZGVsL3dlZWsubW9kZWxcIjtcclxuaW1wb3J0IHtDYWxlbmRhclV0aWxzfSBmcm9tIFwiLi4vLi4vLi4vLi4vdXRpbHMvY2FsZW5kYXIudXRpbHNcIjtcclxuaW1wb3J0IHtOVUxMX0RBWX0gZnJvbSBcIi4uLy4uLy4uLy4uL21vZGVsL2FnZW5kYS1udWxsLW9iamVjdHNcIjtcclxuaW1wb3J0IHtEYXl9IGZyb20gXCIuLi8uLi8uLi8uLi9tb2RlbC9kYXkubW9kZWxcIlxyXG5pbXBvcnQge0ljb259IGZyb20gXCIuLi8uLi8uLi8uLi9lbnVtL2ljb24uZW51bVwiO1xyXG5pbXBvcnQge0FnZW5kYUV2ZW50UGVyRGF5fSBmcm9tIFwiLi4vLi4vLi4vLi4vbW9kZWwvYWdlbmRhLWV2ZW50LXBlci1kYXkubW9kZWxcIjtcclxuaW1wb3J0IHtEYXRlVXRpbHN9IGZyb20gXCIuLi8uLi8uLi8uLi91dGlscy9kYXRlLXV0aWxzXCI7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcImFnZW5kYS1oZWFkZXJcIixcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJhZ2VuZGEtaGVhZGVyLXdyYXBwZXJcIiAqbmdJZj1cInZpZXcgPT09IHZpZXdUeXBlcy5EYXlWaWV3XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImhvdXItbGFiZWwtcGxhY2Vob2xkZXJcIiAqbmdJZj1cInZpZXdTZWxlY3Rpb25cIj5cclxuICAgICAgICAgIDx2aWV3LXNlbGVjdCBbc2VsZWN0ZWRWaWV3XT1cInZpZXdcIiAoc2VsZWN0ZWRWaWV3Q2hhbmdlKT1cImNoYW5nZVRoZVZpZXcoJGV2ZW50KVwiPjwvdmlldy1zZWxlY3Q+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIndlZWstZGF5LWxhYmVsXCI+XHJcbiAgICAgICAgICA8Y28taWNvbiBjbGFzcz1cInBvaW50ZXItaG92ZXIgbm8tdXNlci1zZWxlY3Qgc3ViLXVuaXQtaWNvbiBkYXJrXCJcclxuICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQXJyb3dQb2ludExlZnQpXCIgKGNsaWNrKT1cInN1YlVuaXQoKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXktZGVzY3JpcHRpb25cIiBbdGV4dENvbnRlbnRdPVwiZGF5LmRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICA8Y28taWNvbiBjbGFzcz1cInBvaW50ZXItaG92ZXIgbm8tdXNlci1zZWxlY3QgYWRkLXVuaXQtaWNvbiBkYXJrXCJcclxuICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQXJyb3dQb2ludFJpZ2h0KVwiIChjbGljayk9XCJhZGRVbml0KClcIj48L2NvLWljb24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYWdlbmRhLWhlYWRlci13cmFwcGVyXCIgKm5nSWY9XCJ2aWV3ID09PSB2aWV3VHlwZXMuV2Vla1ZpZXdcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaG91ci1sYWJlbC1wbGFjZWhvbGRlclwiICpuZ0lmPVwidmlld1NlbGVjdGlvblwiPlxyXG4gICAgICAgICAgPHZpZXctc2VsZWN0IFtzZWxlY3RlZFZpZXddPVwidmlld1wiIChzZWxlY3RlZFZpZXdDaGFuZ2UpPVwiY2hhbmdlVGhlVmlldygkZXZlbnQpXCI+PC92aWV3LXNlbGVjdD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwid2Vlay1kYXktbGFiZWxcIiAqbmdGb3I9XCJsZXQgd2Vla0RheSBvZiB3ZWVrRGF5czsgbGV0IGluZGV4ID0gaW5kZXhcIlxyXG4gICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cIndlZWtEYXkud2Vla2RheVNlbGVjdGVkXCIgKGNsaWNrKT1cInNldFVuaXQod2Vla0RheSlcIj5cclxuICAgICAgICAgIDxjby1pY29uICpuZ0lmPVwic2hvd0JhY2tCdXR0b24gJiYgaW5kZXggPT09IDBcIiBjbGFzcz1cInBvaW50ZXItaG92ZXIgbm8tdXNlci1zZWxlY3Qgc3ViLXVuaXQtaWNvbiBkYXJrXCJcclxuICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQXJyb3dQb2ludExlZnQpXCIgKGNsaWNrKT1cInN1YlVuaXQoKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJ3ZWVrRGF5Lm5ld01vbnRoXCIgW3RleHRDb250ZW50XT1cIndlZWtEYXkud2Vla2RheU1vbnRoTG9uZyArICcgJyArIHdlZWtEYXkud2Vla2RheVllYXJcIlxyXG4gICAgICAgICAgICAgICBjbGFzcz1cIm1vbnRoLWRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwid2Vla2RheS12YWx1ZVwiXHJcbiAgICAgICAgICAgICAgIFt0ZXh0Q29udGVudF09XCJjYXBpdGFsaXplU3RyaW5nKHdlZWtEYXkud2Vla2RheUxvbmcpICsgJyAnICsgd2Vla0RheS53ZWVrZGF5RGF5ICsgJyAnICsgY2FwaXRhbGl6ZVN0cmluZyh3ZWVrRGF5LndlZWtkYXlNb250aExvbmcpICsgJyAnICsgd2Vla0RheS53ZWVrZGF5WWVhciBcIj48L2Rpdj5cclxuICAgICAgICAgIDwhLS0gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndlZWtkYXktZGVzY3JpcHRpb25cIiBbdGV4dENvbnRlbnRdPVwid2Vla0RheS53ZWVrZGF5WWVhclwiPjwvZGl2Pi0tPlxyXG5cclxuICAgICAgICAgIDxjby1pY29uICpuZ0lmPVwiaW5kZXggPT09IDJcIiBjbGFzcz1cInBvaW50ZXItaG92ZXIgbm8tdXNlci1zZWxlY3QgYWRkLXVuaXQtaWNvbiBkYXJrXCJcclxuICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQXJyb3dQb2ludFJpZ2h0KVwiIChjbGljayk9XCJhZGRVbml0KClcIj48L2NvLWljb24+XHJcblxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPC9kaXY+XHJcblxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cImFnZW5kYS1oZWFkZXItd3JhcHBlclwiICpuZ0lmPVwidmlldyA9PT0gdmlld1R5cGVzLldlZWtTZWxlY3RWaWV3XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIndlZWstZGF5LWxhYmVsXCIgKm5nRm9yPVwibGV0IHdlZWtEYXkgb2Ygd2Vla0RheXM7IGxldCBpbmRleCA9IGluZGV4XCJcclxuICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJ3ZWVrRGF5LndlZWtkYXlTZWxlY3RlZFwiXHJcbiAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0YWJsZV09XCJ3ZWVrRGF5LmV2ZW50cyAmJiB3ZWVrRGF5LmV2ZW50cy5sZW5ndGggPiAwXCJcclxuICAgICAgICAgICAgIChjbGljayk9XCJzZXRVbml0KHdlZWtEYXkpXCI+XHJcbiAgICAgICAgICA8Y28taWNvbiAqbmdJZj1cImluZGV4ID09PSAwICYmIHNob3dCYWNrQnV0dG9uXCIgY2xhc3M9XCJwb2ludGVyLWhvdmVyIG5vLXVzZXItc2VsZWN0IHN1Yi11bml0LWljb24gZGFya1wiXHJcbiAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkFycm93UG9pbnRMZWZ0KVwiIChjbGljayk9XCJzdWJVbml0KClcIj48L2NvLWljb24+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwid2Vla2RheS1kZXNjcmlwdGlvblwiIFt0ZXh0Q29udGVudF09XCJ3ZWVrRGF5LndlZWtkYXlTaG9ydFwiPjwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIndlZWtkYXktdmFsdWVcIiBbdGV4dENvbnRlbnRdPVwid2Vla0RheS53ZWVrZGF5RGF5ICsgJyAnICsgd2Vla0RheS53ZWVrZGF5TW9udGhTaG9ydFwiPjwvZGl2PlxyXG4gICAgICAgICAgPGNvLWljb24gKm5nSWY9XCJpbmRleCA9PT0gNlwiIGNsYXNzPVwicG9pbnRlci1ob3ZlciBuby11c2VyLXNlbGVjdCBhZGQtdW5pdC1pY29uIGRhcmtcIlxyXG4gICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5BcnJvd1BvaW50UmlnaHQpXCIgKGNsaWNrKT1cImFkZFVuaXQoKVwiPjwvY28taWNvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJhZ2VuZGEtaGVhZGVyLXdyYXBwZXJcIiAqbmdJZj1cInZpZXcgPT09IHZpZXdUeXBlcy5Nb250aFZpZXdcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwid2Vlay1kYXktbGFiZWxcIiAqbmdGb3I9XCJsZXQgd2Vla0RheSBvZiB3ZWVrRGF5czsgbGV0IGluZGV4ID0gaW5kZXhcIj5cclxuICAgICAgICAgIDxjby1pY29uICpuZ0lmPVwiaW5kZXggPT09IDAgJiYgc2hvd0JhY2tCdXR0b25cIiBjbGFzcz1cInBvaW50ZXItaG92ZXIgbm8tdXNlci1zZWxlY3Qgc3ViLXVuaXQtaWNvbiBkYXJrXCJcclxuICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQXJyb3dQb2ludExlZnQpXCIgKGNsaWNrKT1cInN1YlVuaXQoKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3ZWVrZGF5LWRlc2NyaXB0aW9uXCIgW3RleHRDb250ZW50XT1cIndlZWtEYXkud2Vla2RheVNob3J0XCI+PC9kaXY+XHJcbiAgICAgICAgICA8Y28taWNvbiAqbmdJZj1cImluZGV4ID09PSA2XCIgY2xhc3M9XCJwb2ludGVyLWhvdmVyIG5vLXVzZXItc2VsZWN0IGFkZC11bml0LWljb24gZGFya1wiXHJcbiAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkFycm93UG9pbnRSaWdodClcIiAoY2xpY2spPVwiYWRkVW5pdCgpXCI+PC9jby1pY29uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWdlbmRhSGVhZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyQ29udGVudENoZWNrZWQge1xyXG4gICAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgdmlld1R5cGVzOiB0eXBlb2YgQ2FsZW5kYXJWaWV3ID0gQ2FsZW5kYXJWaWV3O1xyXG5cclxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2Nyb2xsYmFyV2lkdGg6IG51bWJlciA9IDE1O1xyXG5cclxuICAgIHB1YmxpYyB0b2RheTogRGF0ZSA9IG5ldyBEYXRlKCk7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZXQgc2VsZWN0ZWREYXRlKHZhbHVlOiBEYXRlKSB7XHJcbiAgICAgICAgdGhpcy5fc2VsZWN0ZWREYXRlID0gbmV3IERhdGUodmFsdWUpO1xyXG4gICAgICAgIHRoaXMuX3ByZXBhcmVIZWFkZXJEYXRhKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBzZWxlY3RlZERhdGUoKTogRGF0ZSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkRGF0ZTtcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHZpZXc6IENhbGVuZGFyVmlldztcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldCBmaXJzdEF2YWlsYWJsZURhdGUodmFsdWU6IERhdGUpIHtcclxuICAgICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5fZmlyc3RBdmFpbGFibGVEYXRlID0gbmV3IERhdGUodmFsdWUpO1xyXG4gICAgICAgICAgICB0aGlzLl9wcmVwYXJlSGVhZGVyRGF0YSgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IGZpcnN0QXZhaWxhYmxlRGF0ZSgpOiBEYXRlIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZmlyc3RBdmFpbGFibGVEYXRlO1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2V0IGV2ZW50c1BlckRheSh2YWx1ZTogQWdlbmRhRXZlbnRQZXJEYXlbXSkge1xyXG4gICAgICAgIHRoaXMuX2V2ZW50c1BlckRheSA9IHZhbHVlO1xyXG4gICAgICAgIHRoaXMuX3ByZXBhcmVIZWFkZXJEYXRhKCk7XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyB2aWV3U2VsZWN0aW9uOiBib29sZWFuO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIHZpZXdDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDYWxlbmRhclZpZXc+ID0gbmV3IEV2ZW50RW1pdHRlcjxDYWxlbmRhclZpZXc+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgc2VsZWN0ZWREYXRlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8RGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgcmFuZ2VDaGFuZ2U6IEV2ZW50RW1pdHRlcjxEYXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKTtcclxuXHJcbiAgICBwdWJsaWMgd2Vla0RheXM6IFdlZWtkYXlbXSA9IFtdO1xyXG4gICAgcHVibGljIGRheTogRGF5ID0gTlVMTF9EQVk7XHJcbiAgICBwdWJsaWMgc2hvd0JhY2tCdXR0b246IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIHByaXZhdGUgX3NlbGVjdGVkRGF0ZTogRGF0ZTtcclxuICAgIHByaXZhdGUgX2ZpcnN0QXZhaWxhYmxlRGF0ZTogRGF0ZTtcclxuICAgIHByaXZhdGUgX2V2ZW50c1BlckRheTogQWdlbmRhRXZlbnRQZXJEYXlbXSA9IFtdO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIEBJbmplY3QoTE9DQUxFX0lEKSBwcml2YXRlIHJlYWRvbmx5IF9sb2NhbGU6IExhbmd1YWdlQ29kZSxcclxuICAgICAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgICAgIHByaXZhdGUgX3JlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICAgICAgcHJpdmF0ZSBfbmdab25lOiBOZ1pvbmUsXHJcbiAgICAgICAgcHVibGljIGljb25DYWNoZVNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2VcclxuICAgICkge1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwicmVzaXplXCIsIHRoaXMuX29uUmVzaXplKTtcclxuICAgICAgICB0aGlzLl9lbGVtZW50UmVmID0gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX25nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XHJcbiAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwicmVzaXplXCIsIHRoaXMuX29uUmVzaXplKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fcmVzaXplSG9zdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzdWJVbml0KCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkRGF0ZSkge1xyXG4gICAgICAgICAgICBjb25zdCBuZXdEYXRlOiBEYXRlID0gbmV3IERhdGUodGhpcy5zZWxlY3RlZERhdGUpO1xyXG4gICAgICAgICAgICBzd2l0Y2ggKHRoaXMudmlldykge1xyXG4gICAgICAgICAgICAgICAgY2FzZSBDYWxlbmRhclZpZXcuRGF5VmlldzpcclxuICAgICAgICAgICAgICAgICAgICBuZXdEYXRlLnNldERhdGUodGhpcy5zZWxlY3RlZERhdGUuZ2V0RGF0ZSgpIC0gMSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIENhbGVuZGFyVmlldy5XZWVrVmlldzpcclxuICAgICAgICAgICAgICAgICAgICBuZXdEYXRlLnNldERhdGUodGhpcy5zZWxlY3RlZERhdGUuZ2V0RGF0ZSgpIC0gMyk7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIENhbGVuZGFyVmlldy5XZWVrU2VsZWN0VmlldzpcclxuICAgICAgICAgICAgICAgICAgICBuZXdEYXRlLnNldERhdGUodGhpcy5zZWxlY3RlZERhdGUuZ2V0RGF0ZSgpIC0gNyk7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIENhbGVuZGFyVmlldy5Nb250aFZpZXc6XHJcbiAgICAgICAgICAgICAgICAgICAgbmV3RGF0ZS5zZXRNb250aCh0aGlzLnNlbGVjdGVkRGF0ZS5nZXRNb250aCgpIC0gMSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZERhdGUgPSBuZXdEYXRlO1xyXG4gICAgICAgICAgICB0aGlzLnJhbmdlQ2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZERhdGUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYWRkVW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZERhdGUpIHtcclxuICAgICAgICAgICAgY29uc3QgbmV3RGF0ZTogRGF0ZSA9IG5ldyBEYXRlKHRoaXMuc2VsZWN0ZWREYXRlKTtcclxuICAgICAgICAgICAgc3dpdGNoICh0aGlzLnZpZXcpIHtcclxuICAgICAgICAgICAgICAgIGNhc2UgQ2FsZW5kYXJWaWV3LkRheVZpZXc6XHJcbiAgICAgICAgICAgICAgICAgICAgbmV3RGF0ZS5zZXREYXRlKHRoaXMuc2VsZWN0ZWREYXRlLmdldERhdGUoKSArIDEpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBDYWxlbmRhclZpZXcuV2Vla1ZpZXc6XHJcbiAgICAgICAgICAgICAgICAgICAgbmV3RGF0ZS5zZXREYXRlKHRoaXMuc2VsZWN0ZWREYXRlLmdldERhdGUoKSArIDMpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBDYWxlbmRhclZpZXcuV2Vla1NlbGVjdFZpZXc6XHJcbiAgICAgICAgICAgICAgICAgICAgbmV3RGF0ZS5zZXREYXRlKHRoaXMuc2VsZWN0ZWREYXRlLmdldERhdGUoKSArIDcpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBDYWxlbmRhclZpZXcuTW9udGhWaWV3OlxyXG4gICAgICAgICAgICAgICAgICAgIG5ld0RhdGUuc2V0TW9udGgodGhpcy5zZWxlY3RlZERhdGUuZ2V0TW9udGgoKSArIDEpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gbmV3RGF0ZTtcclxuICAgICAgICAgICAgdGhpcy5yYW5nZUNoYW5nZS5lbWl0KHRoaXMuc2VsZWN0ZWREYXRlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNldFVuaXQod2Vla0RheTogV2Vla2RheSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gd2Vla0RheS5kYXRlO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlQ2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZERhdGUpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBjaGFuZ2VUaGVWaWV3KHZpZXc6IENhbGVuZGFyVmlldyk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudmlldyA9IHZpZXc7XHJcbiAgICAgICAgdGhpcy52aWV3Q2hhbmdlLmVtaXQodmlldyk7XHJcbiAgICAgICAgdGhpcy5fcHJlcGFyZUhlYWRlckRhdGEoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9vblJlc2l6ZTogRXZlbnRMaXN0ZW5lciA9IGFzeW5jICgpOiBQcm9taXNlPHZvaWQ+ID0+IHtcclxuICAgICAgICB0aGlzLl9yZXNpemVIb3N0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBOZWVkIHRvIHJlc2l6ZSB0aGUgaG9zdCBjb21wb25lbnQgdG8gc2l6ZSBpdCdzIGZpeGVkIHBvc2l0aW9uZWQgY2hpbGQgdGhyb3VnaCBjc3NcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfcmVzaXplSG9zdCgpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5fZWxlbWVudFJlZikge1xyXG4gICAgICAgICAgICB0aGlzLl9yZW5kZXJlci5zZXRTdHlsZShcclxuICAgICAgICAgICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgXCJ3aWR0aFwiLCB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudC5jbGllbnRXaWR0aCAtIHRoaXMuc2Nyb2xsYmFyV2lkdGggKyBcInB4XCIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9wcmVwYXJlSGVhZGVyRGF0YSgpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZERhdGUpIHtcclxuICAgICAgICAgICAgc3dpdGNoICh0aGlzLnZpZXcpIHtcclxuICAgICAgICAgICAgICAgIGNhc2UgQ2FsZW5kYXJWaWV3LkRheVZpZXc6XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF5OiBEYXkgPSBuZXcgRGF5KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgZGF5LmRhdGUgPSBuZXcgRGF0ZSh0aGlzLnNlbGVjdGVkRGF0ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9uczogYW55ID0geyB5ZWFyOiBcIm51bWVyaWNcIiwgbW9udGg6IFwibG9uZ1wiLCBkYXk6IFwibnVtZXJpY1wiIH07XHJcbiAgICAgICAgICAgICAgICAgICAgZGF5LmRlc2NyaXB0aW9uID0gdGhpcy5zZWxlY3RlZERhdGUudG9Mb2NhbGVEYXRlU3RyaW5nKHRoaXMuX2xvY2FsZSwgb3B0aW9ucyk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXkgPSBkYXk7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIENhbGVuZGFyVmlldy5XZWVrVmlldzpcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCB3ZWVrVmlldzogV2VlayA9IENhbGVuZGFyVXRpbHMuR2V0RGF5c09mV2Vlayh0aGlzLnNlbGVjdGVkRGF0ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy53ZWVrRGF5cyA9IHdlZWtWaWV3LndlZWtEYXlzO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmZpcnN0QXZhaWxhYmxlRGF0ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dCYWNrQnV0dG9uID0gdGhpcy53ZWVrRGF5cy5maW5kKHdkID0+IERhdGVVdGlscy5EYXRlc0VxdWFsKHRoaXMuZmlyc3RBdmFpbGFibGVEYXRlLCB3ZC5kYXRlKSkgPT09IHVuZGVmaW5lZDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIENhbGVuZGFyVmlldy5XZWVrU2VsZWN0VmlldzpcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCB3ZWVrU2VsZWN0VmlldzogV2VlayA9IENhbGVuZGFyVXRpbHMuR2V0RGF5c09mV2Vlayh0aGlzLnNlbGVjdGVkRGF0ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy53ZWVrRGF5cyA9IHdlZWtTZWxlY3RWaWV3LndlZWtEYXlzO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMud2Vla0RheXMuZm9yRWFjaCgod2Q6IFdlZWtkYXkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZXZQZXJEYXk6IEFnZW5kYUV2ZW50UGVyRGF5ID0gdGhpcy5fZXZlbnRzUGVyRGF5ICYmIHRoaXMuX2V2ZW50c1BlckRheS5sZW5ndGggPiAwID8gdGhpcy5fZXZlbnRzUGVyRGF5LmZpbmQoZSA9PiBEYXRlVXRpbHMuRGF0ZXNFcXVhbChlLmRhdGUsIHdkLmRhdGUpKSA6IG51bGw7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChldlBlckRheSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2QuZXZlbnRzID0gZXZQZXJEYXkuZXZlbnRzO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2Qud2Vla2RheVNlbGVjdGVkID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5maXJzdEF2YWlsYWJsZURhdGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zaG93QmFja0J1dHRvbiA9IHRoaXMud2Vla0RheXMuZmluZCh3ZCA9PiBEYXRlVXRpbHMuRGF0ZXNFcXVhbCh0aGlzLmZpcnN0QXZhaWxhYmxlRGF0ZSwgd2QuZGF0ZSkpID09PSB1bmRlZmluZWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBDYWxlbmRhclZpZXcuTW9udGhWaWV3OlxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHdlZWtPZk1vbnRoOiBXZWVrID0gQ2FsZW5kYXJVdGlscy5HZXREYXlzT2ZXZWVrKHRoaXMuc2VsZWN0ZWREYXRlKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLndlZWtEYXlzID0gd2Vla09mTW9udGgud2Vla0RheXM7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZmlyc3RBdmFpbGFibGVEYXRlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2hvd0JhY2tCdXR0b24gPSB0aGlzLndlZWtEYXlzLmZpbmQod2QgPT4gRGF0ZVV0aWxzLkRhdGVzRXF1YWwodGhpcy5maXJzdEF2YWlsYWJsZURhdGUsIHdkLmRhdGUpKSA9PT0gdW5kZWZpbmVkO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgY2FwaXRhbGl6ZVN0cmluZyhsYWJlbDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgcmV0dXJuIGxhYmVsWzBdLnRvVXBwZXJDYXNlKCkgKyBsYWJlbC5zbGljZSgxKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -11,6 +11,7 @@ export class DatePlanningComponent {
11
11
  this.buttonLabel = "";
12
12
  this.eventsPerDay = [];
13
13
  this.view = CalendarView.WeekView;
14
+ this.viewSelection = false;
14
15
  this.eventChecked = new EventEmitter();
15
16
  this.selectedDateChange = new EventEmitter();
16
17
  this.rangeChange = new EventEmitter();
@@ -62,6 +63,7 @@ DatePlanningComponent.decorators = [
62
63
  [eventsPerDay]="eventsPerDay"
63
64
  [selectedDate]="selectedDate"
64
65
  (selectedDateChange)="doChangeSelectedDate($event)"
66
+ [viewSelection]="viewSelection"
65
67
  (rangeChange)="doChangeSelectedDate($event, true)"></agenda-header>
66
68
  <agenda-view [view]="view"
67
69
  [customEventObject]="customEventObject"
@@ -103,6 +105,7 @@ DatePlanningComponent.propDecorators = {
103
105
  buttonLabel: [{ type: Input }],
104
106
  eventsPerDay: [{ type: Input }],
105
107
  view: [{ type: Input }],
108
+ viewSelection: [{ type: Input }],
106
109
  eventChecked: [{ type: Output }],
107
110
  selectedDateChange: [{ type: Output }],
108
111
  rangeChange: [{ type: Output }],
@@ -110,4 +113,4 @@ DatePlanningComponent.propDecorators = {
110
113
  buttonClick: [{ type: Output }],
111
114
  showClass: [{ type: HostBinding, args: ["class.co-date-planning",] }]
112
115
  };
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1wbGFubmluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9kYXRlLXBsYW5uaW5nL2RhdGUtcGxhbm5pbmcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUVULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQy9FLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQThDM0QsTUFBTSxPQUFPLHFCQUFxQjtJQWlEaEMsWUFDVSxlQUFrQyxFQUNsQyxRQUFtQjtRQURuQixvQkFBZSxHQUFmLGVBQWUsQ0FBbUI7UUFDbEMsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQTlDdEIsdUJBQWtCLEdBQVksS0FBSyxDQUFDO1FBR3BDLHNCQUFpQixHQUFZLEtBQUssQ0FBQztRQUduQyxlQUFVLEdBQVksS0FBSyxDQUFDO1FBUzVCLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBR3pCLGlCQUFZLEdBQXdCLEVBQUUsQ0FBQztRQUd2QyxTQUFJLEdBQWlCLFlBQVksQ0FBQyxRQUFRLENBQUM7UUFHbEMsaUJBQVksR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUcxRCx1QkFBa0IsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUdsRSxnQkFBVyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRzNELGVBQVUsR0FBK0IsSUFBSSxZQUFZLEVBQWdCLENBQUM7UUFHMUUsZ0JBQVcsR0FBNkIsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUdoRixjQUFTLEdBQVksSUFBSSxDQUFDO1FBRTFCLFNBQUksR0FBVyxFQUFFLENBQUM7UUFDakIsa0JBQWEsR0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO0lBTXpDLENBQUM7SUFFTSxvQkFBb0IsQ0FBQyxJQUFVLEVBQUUsZUFBd0IsS0FBSztRQUNuRSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLElBQUksWUFBWSxFQUFFO1lBQ2hCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUMxQzthQUFNO1lBQ0wsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDakQ7UUFDRCxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFTSxZQUFZLENBQUMsSUFBa0I7UUFDcEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTSxnQkFBZ0I7UUFDckIsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLFNBQVMsRUFBRTtZQUMvQixNQUFNLFFBQVEsR0FBUSxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ25FLElBQUksUUFBUSxFQUFFO2dCQUNaLFVBQVUsQ0FBQyxHQUFHLEVBQUU7b0JBQ2QsUUFBUSxDQUFDLGNBQWMsQ0FBQyxFQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBQyxDQUFDLENBQUM7Z0JBQ2xFLENBQUMsQ0FBQyxDQUFDO2FBQ0o7U0FDRjtJQUNILENBQUM7OztZQTFIRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtnQkFDNUIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBNEJQO2dCQUNILFVBQVUsRUFBRTtvQkFDVixPQUFPLENBQUMsZ0JBQWdCLEVBQUU7d0JBQ3hCLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLFdBQVcsRUFBQyxDQUFDLENBQUM7d0JBQzlDLEtBQUssQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLFdBQVcsRUFBQyxDQUFDLENBQUM7d0JBQzNDLFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRTs0QkFDM0IsT0FBTyxDQUFDLG1CQUFtQixDQUFDO3lCQUM3QixDQUFDO3FCQUNILENBQUM7aUJBQ0g7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQXhEQyxpQkFBaUI7WUFPakIsU0FBUzs7O3VCQW9EUixTQUFTLFNBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtpQ0FHdEMsS0FBSztnQ0FHTCxLQUFLO3lCQUdMLEtBQUs7MkJBR0wsS0FBSztpQ0FHTCxLQUFLOzBCQUdMLEtBQUs7MkJBR0wsS0FBSzttQkFHTCxLQUFLOzJCQUdMLE1BQU07aUNBR04sTUFBTTswQkFHTixNQUFNO3lCQUdOLE1BQU07MEJBR04sTUFBTTt3QkFHTixXQUFXLFNBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIFJlbmRlcmVyMixcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb25cclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHthbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXJ9IGZyb20gXCJAYW5ndWxhci9hbmltYXRpb25zXCI7XHJcbmltcG9ydCB7Q2FsZW5kYXJWaWV3fSBmcm9tICcuLi8uLi9lbnVtL2NhbGVuZGFyLXZpZXcuZW51bSc7XHJcbmltcG9ydCB7QWdlbmRhRXZlbnRQZXJEYXl9IGZyb20gXCIuLi8uLi9tb2RlbC9hZ2VuZGEtZXZlbnQtcGVyLWRheS5tb2RlbFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tZGF0ZS1wbGFubmluZ1wiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwic2MtYWdlbmRhXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LXdyYXBwZXJcIj5cclxuICAgICAgICA8Y2FsZW5kYXIgKm5nSWY9XCJjYWxlbmRhck5hdmlnYXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICBbdmlld109XCJ2aWV3XCJcclxuICAgICAgICAgICAgICAgICAgWyhkYXlzKV09XCJkYXlzXCJcclxuICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkRGF0ZV09XCJzZWxlY3RlZERhdGVcIiAoc2VsZWN0ZWREYXRlQ2hhbmdlKT1cImRvQ2hhbmdlU2VsZWN0ZWREYXRlKCRldmVudClcIj48L2NhbGVuZGFyPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhZ2VuZGEtY29udGVudC13cmFwcGVyIG1pbmktc2Nyb2xsYmFyXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWdlbmRhLWNvbnRlbnRcIj5cclxuICAgICAgICAgICAgPGFnZW5kYS1oZWFkZXIgW3ZpZXddPVwidmlld1wiICh2aWV3Q2hhbmdlKT1cImRvQ2hhbmdlVmlldygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpcnN0QXZhaWxhYmxlRGF0ZV09XCJmaXJzdEF2YWlsYWJsZURhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbZXZlbnRzUGVyRGF5XT1cImV2ZW50c1BlckRheVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZERhdGVdPVwic2VsZWN0ZWREYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNlbGVjdGVkRGF0ZUNoYW5nZSk9XCJkb0NoYW5nZVNlbGVjdGVkRGF0ZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJhbmdlQ2hhbmdlKT1cImRvQ2hhbmdlU2VsZWN0ZWREYXRlKCRldmVudCwgdHJ1ZSlcIj48L2FnZW5kYS1oZWFkZXI+XHJcbiAgICAgICAgICAgIDxhZ2VuZGEtdmlldyBbdmlld109XCJ2aWV3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtjdXN0b21FdmVudE9iamVjdF09XCJjdXN0b21FdmVudE9iamVjdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWREYXRlXT1cInNlbGVjdGVkRGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbZXZlbnRzUGVyRGF5XT1cImV2ZW50c1BlckRheVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAoZXZlbnRDaGVja2VkKT1cImV2ZW50Q2hlY2tlZC5lbWl0KCRldmVudClcIj48L2FnZW5kYS12aWV3PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8Y28tYnV0dG9uICpuZ0lmPVwic2hvd0J1dHRvbiAmJiBldmVudHNQZXJEYXkubGVuZ3RoID4gMFwiIGNsYXNzPVwidGV4dC1vbmx5IHNlbGVjdC1hZ2VuZGEtYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgW2xhYmVsXT1cImJ1dHRvbkxhYmVsXCJcclxuICAgICAgICAgICAgICAgKGNsaWNrKT1cImJ1dHRvbkNsaWNrLmVtaXQoJGV2ZW50KVwiPlxyXG4gICAgPC9jby1idXR0b24+XHJcbiAgICBgLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIHRyaWdnZXIoXCJzaG93SGlkZVdpbmRvd1wiLCBbXHJcbiAgICAgIHN0YXRlKFwidm9pZFwiLCBzdHlsZSh7dHJhbnNmb3JtOiBcInNjYWxlWSgwKVwifSkpLFxyXG4gICAgICBzdGF0ZShcIipcIiwgc3R5bGUoe3RyYW5zZm9ybTogXCJzY2FsZVkoMSlcIn0pKSxcclxuICAgICAgdHJhbnNpdGlvbihcIjplbnRlciwgOmxlYXZlXCIsIFtcclxuICAgICAgICBhbmltYXRlKFwiMjAwbXMgZWFzZS1pbi1vdXRcIilcclxuICAgICAgXSlcclxuICAgIF0pXHJcbiAgXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgRGF0ZVBsYW5uaW5nQ29tcG9uZW50IHtcclxuICBAVmlld0NoaWxkKFwiZGF5U3RhcnRcIiwgeyBzdGF0aWM6IHRydWUgfSlcclxuICBwdWJsaWMgZGF5U3RhcnQ6IEVsZW1lbnRSZWY7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGNhbGVuZGFyTmF2aWdhdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBjdXN0b21FdmVudE9iamVjdDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaG93QnV0dG9uOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNlbGVjdGVkRGF0ZTogRGF0ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZmlyc3RBdmFpbGFibGVEYXRlOiBEYXRlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBidXR0b25MYWJlbDogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZXZlbnRzUGVyRGF5OiBBZ2VuZGFFdmVudFBlckRheVtdID0gW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHZpZXc6IENhbGVuZGFyVmlldyA9IENhbGVuZGFyVmlldy5XZWVrVmlldztcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJlYWRvbmx5IGV2ZW50Q2hlY2tlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJlYWRvbmx5IHNlbGVjdGVkRGF0ZUNoYW5nZTogRXZlbnRFbWl0dGVyPERhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcmVhZG9ubHkgcmFuZ2VDaGFuZ2U6IEV2ZW50RW1pdHRlcjxEYXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJlYWRvbmx5IHZpZXdDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDYWxlbmRhclZpZXc+ID0gbmV3IEV2ZW50RW1pdHRlcjxDYWxlbmRhclZpZXc+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZWFkb25seSBidXR0b25DbGljazogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby1kYXRlLXBsYW5uaW5nXCIpXHJcbiAgcHVibGljIHNob3dDbGFzczogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIHB1YmxpYyBkYXlzOiBEYXRlW10gPSBbXTtcclxuICBwcml2YXRlIF9zZWxlY3RlZERhdGU6IERhdGUgPSBuZXcgRGF0ZSgpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMlxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGRvQ2hhbmdlU2VsZWN0ZWREYXRlKGRhdGU6IERhdGUsIHJhbmdlQ2hhbmdlZDogYm9vbGVhbiA9IGZhbHNlKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IG5ldyBEYXRlKGRhdGUpO1xyXG4gICAgaWYgKHJhbmdlQ2hhbmdlZCkge1xyXG4gICAgICB0aGlzLnJhbmdlQ2hhbmdlLm5leHQodGhpcy5zZWxlY3RlZERhdGUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZERhdGVDaGFuZ2UubmV4dCh0aGlzLnNlbGVjdGVkRGF0ZSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZG9DaGFuZ2VWaWV3KHZpZXc6IENhbGVuZGFyVmlldyk6IHZvaWQge1xyXG4gICAgdGhpcy52aWV3ID0gdmlldztcclxuICAgIHRoaXMudmlld0NoYW5nZS5uZXh0KHRoaXMudmlldyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2Nyb2xsVG9EYXlTdGFydCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmRheVN0YXJ0ICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgY29uc3QgZGF5U3RhcnQ6IGFueSA9IHRoaXMucmVuZGVyZXIuc2VsZWN0Um9vdEVsZW1lbnQoXCIjZGF5U3RhcnRcIik7XHJcbiAgICAgIGlmIChkYXlTdGFydCkge1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgZGF5U3RhcnQuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOiBcImluc3RhbnRcIiwgYmxvY2s6IFwiY2VudGVyXCJ9KTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIl19
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1wbGFubmluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9kYXRlLXBsYW5uaW5nL2RhdGUtcGxhbm5pbmcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUVULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQy9FLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQStDM0QsTUFBTSxPQUFPLHFCQUFxQjtJQW9EaEMsWUFDVSxlQUFrQyxFQUNsQyxRQUFtQjtRQURuQixvQkFBZSxHQUFmLGVBQWUsQ0FBbUI7UUFDbEMsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQWpEdEIsdUJBQWtCLEdBQVksS0FBSyxDQUFDO1FBR3BDLHNCQUFpQixHQUFZLEtBQUssQ0FBQztRQUduQyxlQUFVLEdBQVksS0FBSyxDQUFDO1FBUzVCLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBR3pCLGlCQUFZLEdBQXdCLEVBQUUsQ0FBQztRQUd2QyxTQUFJLEdBQWlCLFlBQVksQ0FBQyxRQUFRLENBQUM7UUFHM0Msa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFHdEIsaUJBQVksR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUcxRCx1QkFBa0IsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUdsRSxnQkFBVyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRzNELGVBQVUsR0FBK0IsSUFBSSxZQUFZLEVBQWdCLENBQUM7UUFHMUUsZ0JBQVcsR0FBNkIsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUdoRixjQUFTLEdBQVksSUFBSSxDQUFDO1FBRTFCLFNBQUksR0FBVyxFQUFFLENBQUM7UUFDakIsa0JBQWEsR0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO0lBTXpDLENBQUM7SUFFTSxvQkFBb0IsQ0FBQyxJQUFVLEVBQUUsZUFBd0IsS0FBSztRQUNuRSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLElBQUksWUFBWSxFQUFFO1lBQ2hCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUMxQzthQUFNO1lBQ0wsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDakQ7UUFDRCxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFTSxZQUFZLENBQUMsSUFBa0I7UUFDcEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTSxnQkFBZ0I7UUFDckIsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLFNBQVMsRUFBRTtZQUMvQixNQUFNLFFBQVEsR0FBUSxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ25FLElBQUksUUFBUSxFQUFFO2dCQUNaLFVBQVUsQ0FBQyxHQUFHLEVBQUU7b0JBQ2QsUUFBUSxDQUFDLGNBQWMsQ0FBQyxFQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBQyxDQUFDLENBQUM7Z0JBQ2xFLENBQUMsQ0FBQyxDQUFDO2FBQ0o7U0FDRjtJQUNILENBQUM7OztZQTlIRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtnQkFDNUIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQTZCUDtnQkFDSCxVQUFVLEVBQUU7b0JBQ1YsT0FBTyxDQUFDLGdCQUFnQixFQUFFO3dCQUN4QixLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUMsQ0FBQyxDQUFDO3dCQUM5QyxLQUFLLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUMsQ0FBQyxDQUFDO3dCQUMzQyxVQUFVLENBQUMsZ0JBQWdCLEVBQUU7NEJBQzNCLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQzt5QkFDN0IsQ0FBQztxQkFDSCxDQUFDO2lCQUNIO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUF6REMsaUJBQWlCO1lBT2pCLFNBQVM7Ozt1QkFxRFIsU0FBUyxTQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7aUNBR3RDLEtBQUs7Z0NBR0wsS0FBSzt5QkFHTCxLQUFLOzJCQUdMLEtBQUs7aUNBR0wsS0FBSzswQkFHTCxLQUFLOzJCQUdMLEtBQUs7bUJBR0wsS0FBSzs0QkFHTCxLQUFLOzJCQUdMLE1BQU07aUNBR04sTUFBTTswQkFHTixNQUFNO3lCQUdOLE1BQU07MEJBR04sTUFBTTt3QkFHTixXQUFXLFNBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIFJlbmRlcmVyMixcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb25cclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHthbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXJ9IGZyb20gXCJAYW5ndWxhci9hbmltYXRpb25zXCI7XHJcbmltcG9ydCB7Q2FsZW5kYXJWaWV3fSBmcm9tICcuLi8uLi9lbnVtL2NhbGVuZGFyLXZpZXcuZW51bSc7XHJcbmltcG9ydCB7QWdlbmRhRXZlbnRQZXJEYXl9IGZyb20gXCIuLi8uLi9tb2RlbC9hZ2VuZGEtZXZlbnQtcGVyLWRheS5tb2RlbFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tZGF0ZS1wbGFubmluZ1wiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwic2MtYWdlbmRhXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LXdyYXBwZXJcIj5cclxuICAgICAgICA8Y2FsZW5kYXIgKm5nSWY9XCJjYWxlbmRhck5hdmlnYXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICBbdmlld109XCJ2aWV3XCJcclxuICAgICAgICAgICAgICAgICAgWyhkYXlzKV09XCJkYXlzXCJcclxuICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkRGF0ZV09XCJzZWxlY3RlZERhdGVcIiAoc2VsZWN0ZWREYXRlQ2hhbmdlKT1cImRvQ2hhbmdlU2VsZWN0ZWREYXRlKCRldmVudClcIj48L2NhbGVuZGFyPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhZ2VuZGEtY29udGVudC13cmFwcGVyIG1pbmktc2Nyb2xsYmFyXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWdlbmRhLWNvbnRlbnRcIj5cclxuICAgICAgICAgICAgPGFnZW5kYS1oZWFkZXIgW3ZpZXddPVwidmlld1wiICh2aWV3Q2hhbmdlKT1cImRvQ2hhbmdlVmlldygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpcnN0QXZhaWxhYmxlRGF0ZV09XCJmaXJzdEF2YWlsYWJsZURhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbZXZlbnRzUGVyRGF5XT1cImV2ZW50c1BlckRheVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZERhdGVdPVwic2VsZWN0ZWREYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNlbGVjdGVkRGF0ZUNoYW5nZSk9XCJkb0NoYW5nZVNlbGVjdGVkRGF0ZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZpZXdTZWxlY3Rpb25dPVwidmlld1NlbGVjdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChyYW5nZUNoYW5nZSk9XCJkb0NoYW5nZVNlbGVjdGVkRGF0ZSgkZXZlbnQsIHRydWUpXCI+PC9hZ2VuZGEtaGVhZGVyPlxyXG4gICAgICAgICAgICA8YWdlbmRhLXZpZXcgW3ZpZXddPVwidmlld1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbY3VzdG9tRXZlbnRPYmplY3RdPVwiY3VzdG9tRXZlbnRPYmplY3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkRGF0ZV09XCJzZWxlY3RlZERhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2V2ZW50c1BlckRheV09XCJldmVudHNQZXJEYXlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgKGV2ZW50Q2hlY2tlZCk9XCJldmVudENoZWNrZWQuZW1pdCgkZXZlbnQpXCI+PC9hZ2VuZGEtdmlldz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGNvLWJ1dHRvbiAqbmdJZj1cInNob3dCdXR0b24gJiYgZXZlbnRzUGVyRGF5Lmxlbmd0aCA+IDBcIiBjbGFzcz1cInRleHQtb25seSBzZWxlY3QtYWdlbmRhLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgIFtsYWJlbF09XCJidXR0b25MYWJlbFwiXHJcbiAgICAgICAgICAgICAgIChjbGljayk9XCJidXR0b25DbGljay5lbWl0KCRldmVudClcIj5cclxuICAgIDwvY28tYnV0dG9uPlxyXG4gICAgYCxcclxuICBhbmltYXRpb25zOiBbXHJcbiAgICB0cmlnZ2VyKFwic2hvd0hpZGVXaW5kb3dcIiwgW1xyXG4gICAgICBzdGF0ZShcInZvaWRcIiwgc3R5bGUoe3RyYW5zZm9ybTogXCJzY2FsZVkoMClcIn0pKSxcclxuICAgICAgc3RhdGUoXCIqXCIsIHN0eWxlKHt0cmFuc2Zvcm06IFwic2NhbGVZKDEpXCJ9KSksXHJcbiAgICAgIHRyYW5zaXRpb24oXCI6ZW50ZXIsIDpsZWF2ZVwiLCBbXHJcbiAgICAgICAgYW5pbWF0ZShcIjIwMG1zIGVhc2UtaW4tb3V0XCIpXHJcbiAgICAgIF0pXHJcbiAgICBdKVxyXG4gIF0sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIERhdGVQbGFubmluZ0NvbXBvbmVudCB7XHJcbiAgQFZpZXdDaGlsZChcImRheVN0YXJ0XCIsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgcHVibGljIGRheVN0YXJ0OiBFbGVtZW50UmVmO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBjYWxlbmRhck5hdmlnYXRpb246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgY3VzdG9tRXZlbnRPYmplY3Q6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2hvd0J1dHRvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZWxlY3RlZERhdGU6IERhdGU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGZpcnN0QXZhaWxhYmxlRGF0ZTogRGF0ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYnV0dG9uTGFiZWw6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGV2ZW50c1BlckRheTogQWdlbmRhRXZlbnRQZXJEYXlbXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB2aWV3OiBDYWxlbmRhclZpZXcgPSBDYWxlbmRhclZpZXcuV2Vla1ZpZXc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHZpZXdTZWxlY3Rpb246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJlYWRvbmx5IGV2ZW50Q2hlY2tlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJlYWRvbmx5IHNlbGVjdGVkRGF0ZUNoYW5nZTogRXZlbnRFbWl0dGVyPERhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcmVhZG9ubHkgcmFuZ2VDaGFuZ2U6IEV2ZW50RW1pdHRlcjxEYXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJlYWRvbmx5IHZpZXdDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDYWxlbmRhclZpZXc+ID0gbmV3IEV2ZW50RW1pdHRlcjxDYWxlbmRhclZpZXc+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZWFkb25seSBidXR0b25DbGljazogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby1kYXRlLXBsYW5uaW5nXCIpXHJcbiAgcHVibGljIHNob3dDbGFzczogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIHB1YmxpYyBkYXlzOiBEYXRlW10gPSBbXTtcclxuICBwcml2YXRlIF9zZWxlY3RlZERhdGU6IERhdGUgPSBuZXcgRGF0ZSgpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMlxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGRvQ2hhbmdlU2VsZWN0ZWREYXRlKGRhdGU6IERhdGUsIHJhbmdlQ2hhbmdlZDogYm9vbGVhbiA9IGZhbHNlKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IG5ldyBEYXRlKGRhdGUpO1xyXG4gICAgaWYgKHJhbmdlQ2hhbmdlZCkge1xyXG4gICAgICB0aGlzLnJhbmdlQ2hhbmdlLm5leHQodGhpcy5zZWxlY3RlZERhdGUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZERhdGVDaGFuZ2UubmV4dCh0aGlzLnNlbGVjdGVkRGF0ZSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZG9DaGFuZ2VWaWV3KHZpZXc6IENhbGVuZGFyVmlldyk6IHZvaWQge1xyXG4gICAgdGhpcy52aWV3ID0gdmlldztcclxuICAgIHRoaXMudmlld0NoYW5nZS5uZXh0KHRoaXMudmlldyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2Nyb2xsVG9EYXlTdGFydCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmRheVN0YXJ0ICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgY29uc3QgZGF5U3RhcnQ6IGFueSA9IHRoaXMucmVuZGVyZXIuc2VsZWN0Um9vdEVsZW1lbnQoXCIjZGF5U3RhcnRcIik7XHJcbiAgICAgIGlmIChkYXlTdGFydCkge1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgZGF5U3RhcnQuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOiBcImluc3RhbnRcIiwgYmxvY2s6IFwiY2VudGVyXCJ9KTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -16,6 +16,7 @@ export class StockLocationPopupComponent {
16
16
  this.articleDetailsInformation = new ArticleStockManagement();
17
17
  this.articleStockInfo = [];
18
18
  this.togglePopupEvent = new EventEmitter();
19
+ this.updateGridData = new EventEmitter();
19
20
  this.stockLocations = [];
20
21
  this.stockStatus = [];
21
22
  }
@@ -82,12 +83,16 @@ export class StockLocationPopupComponent {
82
83
  if (this.selectedLocationNo) {
83
84
  this.selectedArticleDetailsData.locationNo = (_a = this.selectedLocationNo) === null || _a === void 0 ? void 0 : _a.toString();
84
85
  }
86
+ if (!this.selectedArticleDetailsData.amountInStock) {
87
+ this.selectedArticleDetailsData.amountInStock = 1;
88
+ }
85
89
  this._stockService.updateArticleDetails(this.selectedArticleDetailsData).then(result => {
86
90
  var _a;
87
91
  this.articleDetailsInformation.goodId = (_a = this.selectedArticleDetailsData.goodId) === null || _a === void 0 ? void 0 : _a.toString();
88
92
  this.articleDetailsInformation.warehouseNumber = this.selectedArticleDetailsData.warehouseNo;
89
93
  this._stockService.getArticleDetails(this.articleDetailsInformation).then((details) => {
90
94
  this.articleStockInfo = details;
95
+ this.updateGridData.emit(details);
91
96
  });
92
97
  });
93
98
  }
@@ -166,9 +171,10 @@ StockLocationPopupComponent.decorators = [
166
171
  (modelChange)="handleStockStatusRemarkChange($event)"></co-input-text>
167
172
  </div>
168
173
  <co-input-number-picker
169
- [model]="selectedArticleDetailsData?.amountInStock"
170
- [label]="'STOCK' | localize"
171
- (modelChange)="amountInStockChanged($event)"
174
+ [(model)]="selectedArticleDetailsData.amountInStock"
175
+ [label]="'STOCK' | localize"
176
+ (modelChange)="amountInStockChanged($event)"
177
+ [min]="1"
172
178
  ></co-input-number-picker>
173
179
  </div>
174
180
  <ng-template #footerTemplate>
@@ -205,6 +211,7 @@ StockLocationPopupComponent.propDecorators = {
205
211
  selectedLocationNo: [{ type: Input }],
206
212
  articleStockInfo: [{ type: Input }],
207
213
  togglePopupEvent: [{ type: Output }],
214
+ updateGridData: [{ type: Output }],
208
215
  stockLocations: [{ type: Input }]
209
216
  };
210
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2stbG9jYXRpb24tcG9wdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc3RvY2svY29tcG9uZW50cy9zdG9jay1sb2NhdGlvbi9jb21wb25lbnRzL3N0b2NrLWxvY2F0aW9uLXBvcHVwL3N0b2NrLWxvY2F0aW9uLXBvcHVwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDTixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sOENBQThDLENBQUM7QUFDOUUsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ3RELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUVyRSxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUNqRyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxREFBcUQsQ0FBQztBQXFHckYsTUFBTSxPQUFPLDJCQUEyQjtJQWlDdEMsWUFDUyxnQkFBa0MsRUFDakMsYUFBMkIsRUFDM0IsZUFBa0M7UUFGbkMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNqQyxrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQUMzQixvQkFBZSxHQUFmLGVBQWUsQ0FBbUI7UUFuQzVCLFVBQUssR0FBZ0IsSUFBSSxDQUFDO1FBR25DLDJCQUFzQixHQUFXLEtBQUssQ0FBQztRQUV2QyxpQkFBWSxHQUFXLEtBQUssQ0FBQztRQUU3QiwrQkFBMEIsR0FBcUIsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO1FBTXRFLDhCQUF5QixHQUEyQixJQUFJ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LENBQUM7OztZQWxORixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHlCQUF5QjtnQkFDbkMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkZUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUF6R08sZ0JBQWdCO1lBRWhCLFlBQVk7WUFYbEIsaUJBQWlCOzs7cUNBc0hoQixLQUFLOzJCQUVMLEtBQUs7eUNBRUwsS0FBSzswQkFHTCxLQUFLO3dDQUdMLEtBQUs7Z0NBR0wsS0FBSztpQ0FHTCxLQUFLOytCQUdMLEtBQUs7K0JBR0wsTUFBTTs2QkFHTixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlclZpZXdDaGVja2VkLFxyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3RW5jYXBzdWxhdGlvblxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uLy4uL2VudW0vaWNvbi5lbnVtXCI7XHJcbmltcG9ydCB7U3RvY2tTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vLi4vc2VydmljZS9zdG9jay5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7U3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlc30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3N0b2NrLW1hbmFnZW1lbnQtd2FyZWhvdXNlcy5ib1wiO1xyXG5pbXBvcnQge0FydGljbGVTdG9ja01hbmFnZW1lbnR9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLXN0b2NrLW1hbmFnZW1lbnRcIjtcclxuaW1wb3J0IHtBcnRpY2xlRGV0YWlsc0JvfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1kZXRhaWxzLmJvXCI7XHJcbmltcG9ydCB7U3RvY2tTdGF0dXN9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9zdG9jay1zdGF0dXMuYm9cIjtcclxuaW1wb3J0IHtBcnRpY2xlRmxhdH0gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtZmxhdC5ib1wiO1xyXG5pbXBvcnQge1N0b2NrTG9jYXRpb259IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9zdG9jay1sb2NhdGlvbi5ib1wiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tc3RvY2stbG9jYXRpb24tcG9wdXBcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiBjbGFzcz1cInN0b2NrLWdyaWRcIj5cclxuICAgICAgPGNvLWRpYWxvZyAqbmdJZj1cInNob3dDb25maXJtYXRpb25EaWFsb2dcIlxyXG4gICAgICAgICAgICAgICAgIFtzaG93Q2xvc2VJY29uXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgIFttb2RhbF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAoY2xvc2VDbGljayk9XCJ0b2dnbGVQb3B1cCgpXCJcclxuICAgICAgICAgICAgICAgICBbaGVhZGVyVGVtcGxhdGVdPVwiaGVhZGVyVGVtcGxhdGVcIlxyXG4gICAgICAgICAgICAgICAgIFtmb290ZXJUZW1wbGF0ZV09XCJmb290ZXJUZW1wbGF0ZVwiPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVyVGVtcGxhdGU+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY28tZGlhbG9nLWhlYWRlci10aXRsZS13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgIDxjby1pY29uIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQ3ViZXMpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY28tZGlhbG9nLWhlYWRlci10aXRsZVwiIFt0ZXh0Q29udGVudF09XCInQ09ORklSTV9TVE9DS19DSEFOR0UnIHwgbG9jYWxpemVcIj48L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImRpYWxvZy13cmFwcGVyXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RvY2stZGlhbG9nLWhlYWRlclwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN0b2NrLWhlYWRlclwiICpuZ0lmPVwibmV3U3RvY2tMaW5lXCIgW3RleHRDb250ZW50XT1cIidORVdfU1RPQ0tfTElORScgfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdG9jay1oZWFkZXJcIiAqbmdJZj1cIiFuZXdTdG9ja0xpbmVcIiBbdGV4dENvbnRlbnRdPVwiJ0NIQU5HRV9TVE9DS19MSU5FJyB8IGxvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RvY2stZGlhbG9nLXJvd1wiPlxyXG4gICAgICAgICAgICA8Y28taW5wdXQtdGV4dCBbbW9kZWxdPVwic2VsZWN0ZWRXYXJlaG91c2Uud2FyZWhvdXNlRGVzY3JpcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1dBUkVIT1VTRScgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgPjwvY28taW5wdXQtdGV4dD5cclxuXHJcbiAgICAgICAgICAgIDxjby1saXN0LW9mLXZhbHVlc1xyXG4gICAgICAgICAgICAgIFttb2RlbF09XCJsb2NhdGlvbkZvck51bWJlcihzZWxlY3RlZExvY2F0aW9uTm8pXCJcclxuICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJzdG9ja0xvY2F0aW9uc1wiXHJcbiAgICAgICAgICAgICAgW2Rpc3BsYXlGaWVsZF09XCInbG9jYXRpb25ObydcIlxyXG4gICAgICAgICAgICAgIFtsYWJlbF09XCInTE9DQVRJT04nIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwibG9jYXRpb25DaGFuZ2VkKCRldmVudClcIlxyXG4gICAgICAgICAgICA+PC9jby1saXN0LW9mLXZhbHVlcz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLWRpYWxvZy1yb3dcIj5cclxuICAgICAgICAgICAgPGNvLWlucHV0LXRleHQgWyhtb2RlbCldPVwic2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGEuc2VyaWFsTm9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1NFUklBTF9OTycgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgID48L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0IFsobW9kZWwpXT1cInNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhLmJhdGNoTm9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0JBVENIJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cImZhbHNlXCJcclxuICAgICAgICAgICAgPjwvY28taW5wdXQtdGV4dD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLWRpYWxvZy1yb3dcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLWRpYWxvZy1yb3ctcm93XCI+XHJcbiAgICAgICAgICAgICAgPGNvLWlucHV0LXRleHQgW21vZGVsXT1cImFydGljbGVTdG9ja0luZm9bMF0/LnB1cmNoYXNlUHJpY2UgfCBjdXJyZW5jeTonRVVSJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidQVVJDSEFTRV9QUklDRScgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICA+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0IFsobW9kZWwpXT1cImFydGljbGVTdG9ja0luZm9bMF0uY3VycmVuY3lcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInVkFMVVRBJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgID48L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8Y28taW5wdXQtdGV4dCBbbW9kZWxdPVwic2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGE/LmVudHJ5RGF0ZSB8IGRhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0RBVEUnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICA+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RvY2stZGlhbG9nLXJvd1wiPlxyXG4gICAgICAgICAgICA8Y28tbGlzdC1vZi12YWx1ZXMgW2xhYmVsXT1cIidTVEFUVVMnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVsXT1cInN0YXR1c0ZvcklkKHNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhPy5zdG9ja1N0YXRlSWQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uXT1cInN0b2NrU3RhdHVzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNwbGF5RmllbGRdPVwiJ3N0YXRlRGVzY3JpcHRpb24nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJoYW5kbGVTdG9ja1N0YXR1c0NoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgPjwvY28tbGlzdC1vZi12YWx1ZXM+XHJcbiAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0IFtwbGFjZWhvbGRlcl09XCInUkVNQVJLJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImhhbmRsZVN0b2NrU3RhdHVzUmVtYXJrQ2hhbmdlKCRldmVudClcIj48L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxjby1pbnB1dC1udW1iZXItcGlja2VyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZWxdPVwic2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGE/LmFtb3VudEluU3RvY2tcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidTVE9DSycgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiYW1vdW50SW5TdG9ja0NoYW5nZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICA+PC9jby1pbnB1dC1udW1iZXItcGlja2VyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZm9vdGVyVGVtcGxhdGU+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uLXdyYXBwZXIgb2stY2FuY2VsLWJ1dHRvbnNcIj5cclxuICAgICAgICAgICAgPGNvLWJ1dHRvbiBjbGFzcz1cInNhdmUtYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlT2tDbGljaygpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkNoZWNrRHVvdG9uZSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpXCI+XHJcbiAgICAgICAgICAgIDwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwiY2FuY2VsLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVBvcHVwKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQ3Jvc3NTa2lubnkpXCI+XHJcbiAgICAgICAgICAgIDwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPC9jby1kaWFsb2c+XHJcbiAgICA8L2Rpdj5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFN0b2NrTG9jYXRpb25Qb3B1cENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2hvd0NvbmZpcm1hdGlvbkRpYWxvZzpib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbmV3U3RvY2tMaW5lOmJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YTogQXJ0aWNsZURldGFpbHNCbyA9IG5ldyBBcnRpY2xlRGV0YWlsc0JvKCk7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFydGljbGVGbGF0OiBBcnRpY2xlRmxhdDtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYXJ0aWNsZURldGFpbHNJbmZvcm1hdGlvbjogQXJ0aWNsZVN0b2NrTWFuYWdlbWVudCA9IG5ldyBBcnRpY2xlU3RvY2tNYW5hZ2VtZW50KClcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2VsZWN0ZWRXYXJlaG91c2U6IFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXM7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNlbGVjdGVkTG9jYXRpb25Obzogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhcnRpY2xlU3RvY2tJbmZvOiBBcnRpY2xlRGV0YWlsc0JvW10gPSBbXTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHRvZ2dsZVBvcHVwRXZlbnQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc3RvY2tMb2NhdGlvbnM6IFN0b2NrTG9jYXRpb25bXSA9IFtdO1xyXG4gIHB1YmxpYyBzdG9ja1N0YXR1czogU3RvY2tTdGF0dXNbXSA9IFtdO1xyXG5cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgIHByaXZhdGUgX3N0b2NrU2VydmljZTogU3RvY2tTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG5cclxuICApIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICB0aGlzLl9zdG9ja1NlcnZpY2UuZ2V0U3RvY2tTdGF0ZSgpLnRoZW4oIHJlc3VsdCA9PiB7XHJcbiAgICAgICAgdGhpcy5zdG9ja1N0YXR1cyA9IHJlc3VsdDtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0dXNGb3JJZChpZDogbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdG9ja1N0YXR1cy5maW5kKCBzdGF0dXMgPT4gc3RhdHVzLnN0b2NrU3RhdGVJZCA9PT0gaWQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVN0b2NrU3RhdHVzQ2hhbmdlKHN0YXR1czogU3RvY2tTdGF0dXMpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGEuc3RvY2tTdGF0ZUlkID0gc3RhdHVzLnN0b2NrU3RhdGVJZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTdG9ja1N0YXR1c1JlbWFya0NoYW5nZShyZW1hcms6IHN0cmluZykge1xyXG4gICAgdGhpcy5zZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YS5zdG9ja1N0YXRlUmVtYXJrID0gcmVtYXJrO1xyXG4gIH1cclxuICBwdWJsaWMgYW1vdW50SW5TdG9ja0NoYW5nZWQoZGF0YSk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YS5hbW91bnRJblN0b2NrID0gZGF0YTtcclxuICB9XHJcbiAgcHVibGljIGRpc2FibGVkKCkge1xyXG4gICAgcmV0dXJuICghdGhpcy5zZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YT8uc3RvY2tTdGF0ZUlkICYmIHRoaXMuc2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGE/LnN0b2NrU3RhdGVSZW1hcms/Lmxlbmd0aCA8PSAxKTtcclxuICB9XHJcbiAgcHVibGljIGhhbmRsZU9rQ2xpY2soKSB7XHJcbiAgICB0aGlzLmhhbmRsZVN0b2NrQ2hhbmdlKCk7XHJcbiAgICB0aGlzLnRvZ2dsZVBvcHVwRXZlbnQuZW1pdCghdGhpcy5zaG93Q29uZmlybWF0aW9uRGlhbG9nKTtcclxuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gIH1cclxuXHJcblxyXG4gIHB1YmxpYyB0b2dnbGVQb3B1cCgpIHtcclxuICAgIHRoaXMudG9nZ2xlUG9wdXBFdmVudC5lbWl0KCF0aGlzLnNob3dDb25maXJtYXRpb25EaWFsb2cpO1xyXG4gIH1cclxuICBwdWJsaWMgZ2V0U3RvY2tMb2NhdGlvbnMoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9zdG9ja1NlcnZpY2UuZ2V0U3RvY2tNYW5hZ2VtZW50TG9jYXRpb25zKHRoaXMuc2VsZWN0ZWRXYXJlaG91c2Uud2FyZWhvdXNlTm8pLnRoZW4oKGxvY2F0aW9ucykgPT4ge1xyXG4gICAgICB0aGlzLnN0b2NrTG9jYXRpb25zID0gbG9jYXRpb25zO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHB1YmxpYyBsb2NhdGlvbkZvck51bWJlcihudW1iZXI6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RvY2tMb2NhdGlvbnM/LmZpbmQoIGxvY2F0aW9uID0+IGxvY2F0aW9uLmxvY2F0aW9uTm8gPT09IG51bWJlcik7XHJcbiAgfVxyXG4gIHB1YmxpYyBsb2NhdGlvbkNoYW5nZWQoZXZlbnQ6IFN0b2NrTG9jYXRpb24pOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRMb2NhdGlvbk5vID0gZXZlbnQubG9jYXRpb25ObztcclxuICAgIHRoaXMuc2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGEubG9jYXRpb25ObyA9IGV2ZW50LmxvY2F0aW9uTm87XHJcbiAgICBpZih0aGlzLmFydGljbGVTdG9ja0luZm8/Lmxlbmd0aCA9PT0gMSkge1xyXG4gICAgICB0aGlzLmhhbmRsZVN0b2NrQ2hhbmdlKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmdldFN0b2NrTG9jYXRpb25zKClcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTdG9ja0NoYW5nZSgpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGEuc2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgaWYodGhpcy5hcnRpY2xlRmxhdC5nb29kSWQpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YS5nb29kSWQgPSB0aGlzLmFydGljbGVGbGF0Lmdvb2RJZDtcclxuICAgIH0gZWxzZSBpZih0aGlzLmFydGljbGVEZXRhaWxzSW5mb3JtYXRpb24uZ29vZElkKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGEuZ29vZElkID0gcGFyc2VJbnQodGhpcy5hcnRpY2xlRGV0YWlsc0luZm9ybWF0aW9uLmdvb2RJZCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhLmVudHJ5RGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgICB0aGlzLnNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhLndhcmVob3VzZU5vID0gdGhpcy5zZWxlY3RlZFdhcmVob3VzZS53YXJlaG91c2VObztcclxuICAgIGlmKHRoaXMuc2VsZWN0ZWRMb2NhdGlvbk5vKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGEubG9jYXRpb25ObyA9IHRoaXMuc2VsZWN0ZWRMb2NhdGlvbk5vPy50b1N0cmluZygpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fc3RvY2tTZXJ2aWNlLnVwZGF0ZUFydGljbGVEZXRhaWxzKHRoaXMuc2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGEpLnRoZW4oIHJlc3VsdCA9PiB7XHJcbiAgICAgICAgdGhpcy5hcnRpY2xlRGV0YWlsc0luZm9ybWF0aW9uLmdvb2RJZCA9IHRoaXMuc2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGEuZ29vZElkPy50b1N0cmluZygpO1xyXG4gICAgICAgIHRoaXMuYXJ0aWNsZURldGFpbHNJbmZvcm1hdGlvbi53YXJlaG91c2VOdW1iZXIgPSB0aGlzLnNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhLndhcmVob3VzZU5vO1xyXG4gICAgICAgIHRoaXMuX3N0b2NrU2VydmljZS5nZXRBcnRpY2xlRGV0YWlscyh0aGlzLmFydGljbGVEZXRhaWxzSW5mb3JtYXRpb24pLnRoZW4oKGRldGFpbHMpID0+IHtcclxuICAgICAgICAgIHRoaXMuYXJ0aWNsZVN0b2NrSW5mbyA9IGRldGFpbHM7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
217
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2stbG9jYXRpb24tcG9wdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc3RvY2svY29tcG9uZW50cy9zdG9jay1sb2NhdGlvbi9jb21wb25lbnRzL3N0b2NrLWxvY2F0aW9uLXBvcHVwL3N0b2NrLWxvY2F0aW9uLXBvcHVwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDTixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sOENBQThDLENBQUM7QUFDOUUsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ3RELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUVyRSxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUNqRyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxREFBcUQsQ0FBQztBQXNHckYsTUFBTSxPQUFPLDJCQUEyQjtJQWtDdEMsWUFDUyxnQkFBa0MsRUFDakMsYUFBMkIsRUFDM0IsZUFBa0M7UUFGbkMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNqQyxrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQUMzQixvQkFBZSxHQUFmLGVBQWUsQ0FBbUI7UUFwQzVCLFVBQUssR0FBZ0IsSUFBSSxDQUFDO1FBR25DLDJCQUFzQixHQUFZLEtBQUssQ0FBQztRQUV4QyxpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUU5QiwrQkFBMEIsR0FBcUIsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO1FBTXRFLDhCQUF5QixHQUEyQixJQUFJ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QUFJLENBQUMseUJBQXlCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtnQkFDcEYsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE9BQU8sQ0FBQztnQkFDaEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDcEMsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7OztZQTdORixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHlCQUF5QjtnQkFDbkMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTRGVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBMUdPLGdCQUFnQjtZQUVoQixZQUFZO1lBWGxCLGlCQUFpQjs7O3FDQXVIaEIsS0FBSzsyQkFFTCxLQUFLO3lDQUVMLEtBQUs7MEJBR0wsS0FBSzt3Q0FHTCxLQUFLO2dDQUdMLEtBQUs7aUNBR0wsS0FBSzsrQkFHTCxLQUFLOytCQUdMLE1BQU07NkJBRU4sTUFBTTs2QkFFTixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlclZpZXdDaGVja2VkLFxyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3RW5jYXBzdWxhdGlvblxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uLy4uL2VudW0vaWNvbi5lbnVtXCI7XHJcbmltcG9ydCB7U3RvY2tTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vLi4vc2VydmljZS9zdG9jay5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7U3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlc30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3N0b2NrLW1hbmFnZW1lbnQtd2FyZWhvdXNlcy5ib1wiO1xyXG5pbXBvcnQge0FydGljbGVTdG9ja01hbmFnZW1lbnR9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLXN0b2NrLW1hbmFnZW1lbnRcIjtcclxuaW1wb3J0IHtBcnRpY2xlRGV0YWlsc0JvfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1kZXRhaWxzLmJvXCI7XHJcbmltcG9ydCB7U3RvY2tTdGF0dXN9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9zdG9jay1zdGF0dXMuYm9cIjtcclxuaW1wb3J0IHtBcnRpY2xlRmxhdH0gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtZmxhdC5ib1wiO1xyXG5pbXBvcnQge1N0b2NrTG9jYXRpb259IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9zdG9jay1sb2NhdGlvbi5ib1wiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tc3RvY2stbG9jYXRpb24tcG9wdXBcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiBjbGFzcz1cInN0b2NrLWdyaWRcIj5cclxuICAgICAgPGNvLWRpYWxvZyAqbmdJZj1cInNob3dDb25maXJtYXRpb25EaWFsb2dcIlxyXG4gICAgICAgICAgICAgICAgIFtzaG93Q2xvc2VJY29uXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgIFttb2RhbF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAoY2xvc2VDbGljayk9XCJ0b2dnbGVQb3B1cCgpXCJcclxuICAgICAgICAgICAgICAgICBbaGVhZGVyVGVtcGxhdGVdPVwiaGVhZGVyVGVtcGxhdGVcIlxyXG4gICAgICAgICAgICAgICAgIFtmb290ZXJUZW1wbGF0ZV09XCJmb290ZXJUZW1wbGF0ZVwiPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVyVGVtcGxhdGU+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY28tZGlhbG9nLWhlYWRlci10aXRsZS13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgIDxjby1pY29uIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQ3ViZXMpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY28tZGlhbG9nLWhlYWRlci10aXRsZVwiIFt0ZXh0Q29udGVudF09XCInQ09ORklSTV9TVE9DS19DSEFOR0UnIHwgbG9jYWxpemVcIj48L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImRpYWxvZy13cmFwcGVyXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RvY2stZGlhbG9nLWhlYWRlclwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN0b2NrLWhlYWRlclwiICpuZ0lmPVwibmV3U3RvY2tMaW5lXCIgW3RleHRDb250ZW50XT1cIidORVdfU1RPQ0tfTElORScgfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdG9jay1oZWFkZXJcIiAqbmdJZj1cIiFuZXdTdG9ja0xpbmVcIiBbdGV4dENvbnRlbnRdPVwiJ0NIQU5HRV9TVE9DS19MSU5FJyB8IGxvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RvY2stZGlhbG9nLXJvd1wiPlxyXG4gICAgICAgICAgICA8Y28taW5wdXQtdGV4dCBbbW9kZWxdPVwic2VsZWN0ZWRXYXJlaG91c2Uud2FyZWhvdXNlRGVzY3JpcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1dBUkVIT1VTRScgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgPjwvY28taW5wdXQtdGV4dD5cclxuXHJcbiAgICAgICAgICAgIDxjby1saXN0LW9mLXZhbHVlc1xyXG4gICAgICAgICAgICAgIFttb2RlbF09XCJsb2NhdGlvbkZvck51bWJlcihzZWxlY3RlZExvY2F0aW9uTm8pXCJcclxuICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJzdG9ja0xvY2F0aW9uc1wiXHJcbiAgICAgICAgICAgICAgW2Rpc3BsYXlGaWVsZF09XCInbG9jYXRpb25ObydcIlxyXG4gICAgICAgICAgICAgIFtsYWJlbF09XCInTE9DQVRJT04nIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwibG9jYXRpb25DaGFuZ2VkKCRldmVudClcIlxyXG4gICAgICAgICAgICA+PC9jby1saXN0LW9mLXZhbHVlcz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLWRpYWxvZy1yb3dcIj5cclxuICAgICAgICAgICAgPGNvLWlucHV0LXRleHQgWyhtb2RlbCldPVwic2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGEuc2VyaWFsTm9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1NFUklBTF9OTycgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgID48L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0IFsobW9kZWwpXT1cInNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhLmJhdGNoTm9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0JBVENIJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cImZhbHNlXCJcclxuICAgICAgICAgICAgPjwvY28taW5wdXQtdGV4dD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLWRpYWxvZy1yb3dcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLWRpYWxvZy1yb3ctcm93XCI+XHJcbiAgICAgICAgICAgICAgPGNvLWlucHV0LXRleHQgW21vZGVsXT1cImFydGljbGVTdG9ja0luZm9bMF0/LnB1cmNoYXNlUHJpY2UgfCBjdXJyZW5jeTonRVVSJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidQVVJDSEFTRV9QUklDRScgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICA+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0IFsobW9kZWwpXT1cImFydGljbGVTdG9ja0luZm9bMF0uY3VycmVuY3lcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInVkFMVVRBJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgID48L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8Y28taW5wdXQtdGV4dCBbbW9kZWxdPVwic2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGE/LmVudHJ5RGF0ZSB8IGRhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0RBVEUnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICA+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RvY2stZGlhbG9nLXJvd1wiPlxyXG4gICAgICAgICAgICA8Y28tbGlzdC1vZi12YWx1ZXMgW2xhYmVsXT1cIidTVEFUVVMnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVsXT1cInN0YXR1c0ZvcklkKHNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhPy5zdG9ja1N0YXRlSWQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uXT1cInN0b2NrU3RhdHVzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNwbGF5RmllbGRdPVwiJ3N0YXRlRGVzY3JpcHRpb24nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJoYW5kbGVTdG9ja1N0YXR1c0NoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgPjwvY28tbGlzdC1vZi12YWx1ZXM+XHJcbiAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0IFtwbGFjZWhvbGRlcl09XCInUkVNQVJLJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImhhbmRsZVN0b2NrU3RhdHVzUmVtYXJrQ2hhbmdlKCRldmVudClcIj48L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxjby1pbnB1dC1udW1iZXItcGlja2VyXHJcbiAgICAgICAgICAgIFsobW9kZWwpXT1cInNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhLmFtb3VudEluU3RvY2tcIlxyXG4gICAgICAgICAgICBbbGFiZWxdPVwiJ1NUT0NLJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImFtb3VudEluU3RvY2tDaGFuZ2VkKCRldmVudClcIlxyXG4gICAgICAgICAgICBbbWluXT1cIjFcIlxyXG4gICAgICAgICAgPjwvY28taW5wdXQtbnVtYmVyLXBpY2tlcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI2Zvb3RlclRlbXBsYXRlPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbi13cmFwcGVyIG9rLWNhbmNlbC1idXR0b25zXCI+XHJcbiAgICAgICAgICAgIDxjby1idXR0b24gY2xhc3M9XCJzYXZlLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZU9rQ2xpY2soKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5DaGVja0R1b3RvbmUpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiPlxyXG4gICAgICAgICAgICA8L2NvLWJ1dHRvbj5cclxuICAgICAgICAgICAgPGNvLWJ1dHRvbiBjbGFzcz1cImNhbmNlbC1idXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVQb3B1cCgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkNyb3NzU2tpbm55KVwiPlxyXG4gICAgICAgICAgICA8L2NvLWJ1dHRvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvY28tZGlhbG9nPlxyXG4gICAgPC9kaXY+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdG9ja0xvY2F0aW9uUG9wdXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dDb25maXJtYXRpb25EaWFsb2c6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBuZXdTdG9ja0xpbmU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YTogQXJ0aWNsZURldGFpbHNCbyA9IG5ldyBBcnRpY2xlRGV0YWlsc0JvKCk7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFydGljbGVGbGF0OiBBcnRpY2xlRmxhdDtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYXJ0aWNsZURldGFpbHNJbmZvcm1hdGlvbjogQXJ0aWNsZVN0b2NrTWFuYWdlbWVudCA9IG5ldyBBcnRpY2xlU3RvY2tNYW5hZ2VtZW50KClcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2VsZWN0ZWRXYXJlaG91c2U6IFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXM7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNlbGVjdGVkTG9jYXRpb25Obzogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhcnRpY2xlU3RvY2tJbmZvOiBBcnRpY2xlRGV0YWlsc0JvW10gPSBbXTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHRvZ2dsZVBvcHVwRXZlbnQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgdXBkYXRlR3JpZERhdGE6IEV2ZW50RW1pdHRlcjxBcnRpY2xlRGV0YWlsc0JvW10+ID0gbmV3IEV2ZW50RW1pdHRlcjxBcnRpY2xlRGV0YWlsc0JvW10+KCk7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc3RvY2tMb2NhdGlvbnM6IFN0b2NrTG9jYXRpb25bXSA9IFtdO1xyXG4gIHB1YmxpYyBzdG9ja1N0YXR1czogU3RvY2tTdGF0dXNbXSA9IFtdO1xyXG5cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgIHByaXZhdGUgX3N0b2NrU2VydmljZTogU3RvY2tTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9zdG9ja1NlcnZpY2UuZ2V0U3RvY2tTdGF0ZSgpLnRoZW4ocmVzdWx0ID0+IHtcclxuICAgICAgdGhpcy5zdG9ja1N0YXR1cyA9IHJlc3VsdDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXR1c0ZvcklkKGlkOiBudW1iZXIpIHtcclxuICAgIHJldHVybiB0aGlzLnN0b2NrU3RhdHVzLmZpbmQoc3RhdHVzID0+IHN0YXR1cy5zdG9ja1N0YXRlSWQgPT09IGlkKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTdG9ja1N0YXR1c0NoYW5nZShzdGF0dXM6IFN0b2NrU3RhdHVzKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhLnN0b2NrU3RhdGVJZCA9IHN0YXR1cy5zdG9ja1N0YXRlSWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU3RvY2tTdGF0dXNSZW1hcmtDaGFuZ2UocmVtYXJrOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGEuc3RvY2tTdGF0ZVJlbWFyayA9IHJlbWFyaztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhbW91bnRJblN0b2NrQ2hhbmdlZChkYXRhKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhLmFtb3VudEluU3RvY2sgPSBkYXRhO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGRpc2FibGVkKCkge1xyXG4gICAgcmV0dXJuICghdGhpcy5zZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YT8uc3RvY2tTdGF0ZUlkICYmIHRoaXMuc2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGE/LnN0b2NrU3RhdGVSZW1hcms/Lmxlbmd0aCA8PSAxKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVPa0NsaWNrKCkge1xyXG4gICAgdGhpcy5oYW5kbGVTdG9ja0NoYW5nZSgpO1xyXG4gICAgdGhpcy50b2dnbGVQb3B1cEV2ZW50LmVtaXQoIXRoaXMuc2hvd0NvbmZpcm1hdGlvbkRpYWxvZyk7XHJcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICB9XHJcblxyXG5cclxuICBwdWJsaWMgdG9nZ2xlUG9wdXAoKSB7XHJcbiAgICB0aGlzLnRvZ2dsZVBvcHVwRXZlbnQuZW1pdCghdGhpcy5zaG93Q29uZmlybWF0aW9uRGlhbG9nKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRTdG9ja0xvY2F0aW9ucygpOiB2b2lkIHtcclxuICAgIHRoaXMuX3N0b2NrU2VydmljZS5nZXRTdG9ja01hbmFnZW1lbnRMb2NhdGlvbnModGhpcy5zZWxlY3RlZFdhcmVob3VzZS53YXJlaG91c2VObykudGhlbigobG9jYXRpb25zKSA9PiB7XHJcbiAgICAgIHRoaXMuc3RvY2tMb2NhdGlvbnMgPSBsb2NhdGlvbnM7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBsb2NhdGlvbkZvck51bWJlcihudW1iZXI6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RvY2tMb2NhdGlvbnM/LmZpbmQobG9jYXRpb24gPT4gbG9jYXRpb24ubG9jYXRpb25ObyA9PT0gbnVtYmVyKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBsb2NhdGlvbkNoYW5nZWQoZXZlbnQ6IFN0b2NrTG9jYXRpb24pOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRMb2NhdGlvbk5vID0gZXZlbnQubG9jYXRpb25ObztcclxuICAgIHRoaXMuc2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGEubG9jYXRpb25ObyA9IGV2ZW50LmxvY2F0aW9uTm87XHJcbiAgICBpZiAodGhpcy5hcnRpY2xlU3RvY2tJbmZvPy5sZW5ndGggPT09IDEpIHtcclxuICAgICAgdGhpcy5oYW5kbGVTdG9ja0NoYW5nZSgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5nZXRTdG9ja0xvY2F0aW9ucygpXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU3RvY2tDaGFuZ2UoKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhLnNlbGVjdGVkID0gdHJ1ZTtcclxuICAgIGlmICh0aGlzLmFydGljbGVGbGF0Lmdvb2RJZCkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhLmdvb2RJZCA9IHRoaXMuYXJ0aWNsZUZsYXQuZ29vZElkO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmFydGljbGVEZXRhaWxzSW5mb3JtYXRpb24uZ29vZElkKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGEuZ29vZElkID0gcGFyc2VJbnQodGhpcy5hcnRpY2xlRGV0YWlsc0luZm9ybWF0aW9uLmdvb2RJZCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhLmVudHJ5RGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgICB0aGlzLnNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhLndhcmVob3VzZU5vID0gdGhpcy5zZWxlY3RlZFdhcmVob3VzZS53YXJlaG91c2VObztcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkTG9jYXRpb25Obykge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhLmxvY2F0aW9uTm8gPSB0aGlzLnNlbGVjdGVkTG9jYXRpb25Obz8udG9TdHJpbmcoKTtcclxuICAgIH1cclxuICAgIGlmICghdGhpcy5zZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YS5hbW91bnRJblN0b2NrKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGEuYW1vdW50SW5TdG9jayA9IDE7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9zdG9ja1NlcnZpY2UudXBkYXRlQXJ0aWNsZURldGFpbHModGhpcy5zZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YSkudGhlbihyZXN1bHQgPT4ge1xyXG4gICAgICAgIHRoaXMuYXJ0aWNsZURldGFpbHNJbmZvcm1hdGlvbi5nb29kSWQgPSB0aGlzLnNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhLmdvb2RJZD8udG9TdHJpbmcoKTtcclxuICAgICAgICB0aGlzLmFydGljbGVEZXRhaWxzSW5mb3JtYXRpb24ud2FyZWhvdXNlTnVtYmVyID0gdGhpcy5zZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YS53YXJlaG91c2VObztcclxuICAgICAgICB0aGlzLl9zdG9ja1NlcnZpY2UuZ2V0QXJ0aWNsZURldGFpbHModGhpcy5hcnRpY2xlRGV0YWlsc0luZm9ybWF0aW9uKS50aGVuKChkZXRhaWxzKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmFydGljbGVTdG9ja0luZm8gPSBkZXRhaWxzO1xyXG4gICAgICAgICAgdGhpcy51cGRhdGVHcmlkRGF0YS5lbWl0KGRldGFpbHMpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcblxyXG59XHJcbiJdfQ==
@@ -139,6 +139,7 @@ StockLocationComponent.decorators = [
139
139
  [showConfirmationDialog]="showConfirmationDialog"
140
140
  [newStockLine]="newStockLine"
141
141
  (togglePopupEvent)="showConfirmationDialog = $event"
142
+ (updateGridData)="articleStockInfo = $event"
142
143
 
143
144
  ></co-stock-location-popup>
144
145
  <co-simple-grid [data]="articleStockInfo"
@@ -245,4 +246,4 @@ StockLocationComponent.propDecorators = {
245
246
  selectedWarehouse: [{ type: Input }],
246
247
  stockLocations: [{ type: Input }]
247
248
  };
248
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2stbG9jYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc3RvY2svY29tcG9uZW50cy9zdG9jay1sb2NhdGlvbi9zdG9jay1sb2NhdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04saUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFFL0QsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFDakcsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scURBQXFELENBQUM7QUFnSHJGLE1BQU0sT0FBTyxzQkFBc0I7SUErQ2pDLFlBQ1MsZ0JBQWtDLEVBQ2pDLGFBQTJCLEVBQzNCLGVBQWtDO1FBRm5DLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDakMsa0JBQWEsR0FBYixhQUFhLENBQWM7UUFDM0Isb0JBQWUsR0FBZixlQUFlLENBQW1CO1FBakQ1QixVQUFLLEdBQWdCLElBQUksQ0FBQztRQUduQyxxQkFBZ0IsR0FBdUIsRUFBRSxDQUFDO1FBRzFDLDRCQUF1QixHQUFxQixFQUFFLENBQUM7UUFZL0Msc0JBQWlCLEdBQWdDLEVBQUUsQ0FBQztRQUczQyx3QkFBbUIsR0FBaUMsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUd2RSw0QkFBdUIsR0FBcUMsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQU94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QzlDLG9EQUFvRDtRQUNwRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEtBQUssVUFBVSxDQUFDLENBQUM7UUFDaEYsOEVBQThFO1FBQzlFLHNFQUFzRTtRQUN0RSxPQUFPLFFBQVEsSUFBSSxRQUFRLENBQUMsV0FBVyxJQUFJLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7SUFDcEgsQ0FBQzs7O1lBdlFGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsbUJBQW1CO2dCQUM3QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1HVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBcEhPLGdCQUFnQjtZQUVoQixZQUFZO1lBWmxCLGlCQUFpQjs7OytCQWtJaEIsS0FBSztzQ0FHTCxLQUFLO3NCQUdMLEtBQUs7MEJBS0wsS0FBSztnQ0FJTCxLQUFLO2tDQUdMLE1BQU07c0NBR04sTUFBTTtnQ0FHTixLQUFLOzZCQVdMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb25cclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0FydGljbGVTdG9jayBhcyBBcnRpY2xlU3RvY2tCb30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtc3RvY2suYm9cIjtcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtJY29ufSBmcm9tIFwiLi4vLi4vLi4vLi4vZW51bS9pY29uLmVudW1cIjtcclxuaW1wb3J0IHtTdG9ja1NlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi8uLi9zZXJ2aWNlL3N0b2NrLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvc3RvY2stbWFuYWdlbWVudC13YXJlaG91c2VzLmJvXCI7XHJcbmltcG9ydCB7QXJ0aWNsZVN0b2NrTWFuYWdlbWVudH0gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtc3RvY2stbWFuYWdlbWVudFwiO1xyXG5pbXBvcnQge0FydGljbGVEZXRhaWxzQm99IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWRldGFpbHMuYm9cIjtcclxuaW1wb3J0IHtTdG9ja0xvY2F0aW9ufSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvc3RvY2stbG9jYXRpb24uYm9cIjtcclxuaW1wb3J0IHtQcmludFByaWNlU3RpY2tlcnN9IGZyb20gXCJAY29saWpuaXQvc2hhcmVkYXBpL2J1aWxkL21vZGVsL3ByaW50LXByaWNlLXN0aWNrZXJzLmJvXCI7XHJcbmltcG9ydCB7U3RvY2tTdGF0dXN9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9zdG9jay1zdGF0dXMuYm9cIjtcclxuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7QXJ0aWNsZUV4dGVuZGVkfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1leHRlbmRlZC5ib1wiO1xyXG5pbXBvcnQge0FydGljbGVGbGF0fSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1mbGF0LmJvXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby1zdG9jay1sb2NhdGlvblwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwic3RvY2stZ3JpZFwiPlxyXG4gICAgICAgIDxjby1zdG9jay1sb2NhdGlvbi1wb3B1cFxyXG4gICAgICAgICAgW3NlbGVjdGVkV2FyZWhvdXNlXT1cInNlbGVjdGVkV2FyZWhvdXNlXCJcclxuICAgICAgICAgIFthcnRpY2xlRmxhdF09XCJhcnRpY2xlRmxhdFwiXHJcbiAgICAgICAgICBbc2VsZWN0ZWRMb2NhdGlvbk5vXT1cInNlbGVjdGVkTG9jYXRpb25Ob1wiXHJcbiAgICAgICAgICBbc3RvY2tMb2NhdGlvbnNdPVwic3RvY2tMb2NhdGlvbnNcIlxyXG4gICAgICAgICAgW2FydGljbGVEZXRhaWxzSW5mb3JtYXRpb25dPVwiYXJ0aWNsZURldGFpbHNJbmZvcm1hdGlvblwiXHJcbiAgICAgICAgICBbYXJ0aWNsZVN0b2NrSW5mb109XCJhcnRpY2xlU3RvY2tJbmZvXCJcclxuICAgICAgICAgIFtzZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YV09XCJzZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YVwiXHJcbiAgICAgICAgICBbc2hvd0NvbmZpcm1hdGlvbkRpYWxvZ109XCJzaG93Q29uZmlybWF0aW9uRGlhbG9nXCJcclxuICAgICAgICAgIFtuZXdTdG9ja0xpbmVdPVwibmV3U3RvY2tMaW5lXCJcclxuICAgICAgICAgICh0b2dnbGVQb3B1cEV2ZW50KT1cInNob3dDb25maXJtYXRpb25EaWFsb2cgPSAkZXZlbnRcIlxyXG5cclxuICAgICAgICA+PC9jby1zdG9jay1sb2NhdGlvbi1wb3B1cD5cclxuICAgICAgPGNvLXNpbXBsZS1ncmlkIFtkYXRhXT1cImFydGljbGVTdG9ja0luZm9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzaW1wbGUtZ3JpZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbc2hvd0FkZF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtpbmxpbmVFZGl0XT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtzaG93VG9vbGJhcl09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgIChhZGRSb3cpPVwiaGFuZGxlQWRkUm93KClcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInU1RPQ0snIHwgbG9jYWxpemVcIiBbZmllbGRdPVwiJ2Ftb3VudEluU3RvY2snXCI+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgI3RlbXBsYXRlIGxldC1yb3c9XCJyb3dcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLWFtb3VudFwiIChjbGljayk9XCJvbk9rQ2xpY2tTZW5kTG9jYXRpb25zKHJvdylcIj5cclxuICAgICAgICAgICAgICA8Y28taWNvbiBjbGFzcz1cIm1lbnUtaWNvblwiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuRWRpdFBlblJlZ3VsYXIpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJyb3dbJ2Ftb3VudEluU3RvY2snXVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW3dpZHRoXT1cIjE1MFwiIFtoZWFkZXJUZXh0XT1cIidMT0NBVElPTicgfCBsb2NhbGl6ZVwiIFtmaWVsZF09XCInbG9jYXRpb25ObydcIj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZWRpdFRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIj5cclxuICAgICAgICAgICAgPGNvLWxpc3Qtb2YtdmFsdWVzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZWxdPVwibG9jYXRpb25Gb3JOdW1iZXIocm93Wydsb2NhdGlvbk5vJ10pXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uXT1cInN0b2NrTG9jYXRpb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNwbGF5RmllbGRdPVwiJ2Rlc2NyaXB0aW9uJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ0xPQ0FUSU9OJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJsb2NhdGlvbkNoYW5nZWQocm93LCAkZXZlbnQpXCJcclxuICAgICAgICAgICAgPjwvY28tbGlzdC1vZi12YWx1ZXM+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gKm5nSWY9XCJhcnRpY2xlRmxhdD8uYmF0Y2hcIiBbaGVhZGVyVGV4dF09XCInQkFUQ0gnIHwgbG9jYWxpemVcIiBbZmllbGRdPVwiJ2JhdGNoTm8nXCI+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2VkaXRUZW1wbGF0ZSBsZXQtcm93PVwicm93XCI+XHJcbiAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0IFttb2RlbF09XCJzZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YS5iYXRjaE5vXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidCQVRDSCcgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJyb3dbJ2JhdGNoTm8nXSA9ICRldmVudFwiXHJcbiAgICAgICAgICAgID48L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gKm5nSWY9XCJhcnRpY2xlRmxhdD8uc2VyaWFsXCIgW2hlYWRlclRleHRdPVwiJ1NFUklBTF9OTycgfCBsb2NhbGl6ZVwiIFtmaWVsZF09XCInc2VyaWFsTm8nXCI+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2VkaXRUZW1wbGF0ZSBsZXQtcm93PVwicm93XCI+XHJcbiAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0IFttb2RlbF09XCJzZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YS5zZXJpYWxOb1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInU0VSSUFMX05PJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cInJvd1snc2VyaWFsTm8nXSA9ICRldmVudFwiXHJcbiAgICAgICAgICAgID48L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ0FMTE9DQVRFRCcgfCBsb2NhbGl6ZVwiIFtmaWVsZF09XCInc3RvY2tBc3NpZ25lZCdcIj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZWRpdFRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIj5cclxuICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cInJvd1snc3RvY2tBc3NpZ25lZCddXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidBVkFJTEFCTEVfU1RPQ0snIHwgbG9jYWxpemVcIiBbZmllbGRdPVwiJ2Ftb3VudEluU3RvY2tGcmVlJ1wiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNlZGl0VGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwicm93WydhbW91bnRJblN0b2NrRnJlZSddXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidWQUxVVEEnIHwgbG9jYWxpemVcIiBbZmllbGRdPVwiJ2N1cnJlbmN5J1wiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNlZGl0VGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwicm93WydjdXJyZW5jeSddXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidQVVJDSEFTRV9QUklDRScgfCBsb2NhbGl6ZVwiIFtmaWVsZF09XCIncHVyY2hhc2VQcmljZSdcIj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZWRpdFRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIj5cclxuICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cInJvd1sncHVyY2hhc2VQcmljZSddXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidTVVBQTElFUk5SJyB8IGxvY2FsaXplXCIgW2ZpZWxkXT1cIidzdXBwbGllck5vJ1wiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNlZGl0VGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwicm93WydzdXBwbGllck5vJ11cIj48L3NwYW4+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW3JlYWRvbmx5XT1cInRydWVcIiBbaGVhZGVyVGV4dF09XCInVFJBTlNGRVInIHwgbG9jYWxpemVcIiBbZmllbGRdPVwiJ3RyYW5zZmVyJ1wiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZSBsZXQtcm93PVwicm93XCI+XHJcbiAgICAgICAgICAgIDxjby1pY29uIGNsYXNzPVwibWVudS1pY29uXCIgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5EZWxpdmVyeVRydWNrKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVTdG9ja1RyYW5zZmVyQ2xpY2socm93KVwiPjwvY28taWNvbj5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2VkaXRUZW1wbGF0ZT48L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW3JlYWRvbmx5XT1cInRydWVcIiBbaGVhZGVyVGV4dF09XCInU1RJQ0tFUicgfCBsb2NhbGl6ZVwiIFtmaWVsZF09XCInc3RpY2tlcidcIj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8Y28taWNvbiBjbGFzcz1cIm1lbnUtaWNvblwiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuUHJpbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5TZW5kTWV0aG9kRGlhbG9nKHJvdylcIj48L2NvLWljb24+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNlZGl0VGVtcGxhdGU+PC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgPC9jby1zaW1wbGUtZ3JpZD5cclxuICAgIDwvZGl2PlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3RvY2tMb2NhdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYXJ0aWNsZVN0b2NrSW5mbzogQXJ0aWNsZURldGFpbHNCb1tdID0gW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFydGljbGVTdG9ja0luZm9ybWF0aW9uOiBBcnRpY2xlU3RvY2tCb1tdID0gW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBhcnRpY2xlKGFydGljbGU6IEFydGljbGVFeHRlbmRlZCkge1xyXG5cclxuICB9O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhcnRpY2xlRmxhdDogQXJ0aWNsZUZsYXQ7XHJcblxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBkYXRhV2FyZUhvdXNlQ29kZTogU3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlc1tdID0gW107XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZWFkb25seSB0cmFuc2Zlckljb25DbGlja2VkOiBFdmVudEVtaXR0ZXI8QXJ0aWNsZVN0b2NrQm8+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcmVhZG9ubHkgc2VuZE1ldGhvZERpYWxvZ0NsaWNrZWQ6IEV2ZW50RW1pdHRlcjxQcmludFByaWNlU3RpY2tlcnM+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZWxlY3RlZFdhcmVob3VzZTogU3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlcztcclxuXHJcblxyXG4gIHB1YmxpYyBhcnRpY2xlRGV0YWlsczogQXJ0aWNsZURldGFpbHNCbztcclxuICBwdWJsaWMgc2hvd0NvbmZpcm1hdGlvbkRpYWxvZzpib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIG5ld1N0b2NrTGluZTpib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dDb25maXJtU3RvY2tSb3c6Ym9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwdWJsaWMgYXJ0aWNsZURldGFpbHNJbmZvcm1hdGlvbjogQXJ0aWNsZVN0b2NrTWFuYWdlbWVudCA9IG5ldyBBcnRpY2xlU3RvY2tNYW5hZ2VtZW50KClcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc3RvY2tMb2NhdGlvbnM6IFN0b2NrTG9jYXRpb25bXSA9IFtdO1xyXG5cclxuICBwdWJsaWMgc3RvY2tTdGF0dXM6IFN0b2NrU3RhdHVzW10gPSBbXTtcclxuICBwdWJsaWMgc2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGE6IEFydGljbGVEZXRhaWxzQm8gPSBuZXcgQXJ0aWNsZURldGFpbHNCbygpO1xyXG5cclxuICBwdWJsaWMgc2VsZWN0ZWRMb2NhdGlvbk5vOiBzdHJpbmc7XHJcblxyXG4gIHByaXZhdGUgX3N1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgIHByaXZhdGUgX3N0b2NrU2VydmljZTogU3RvY2tTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG5cclxuICApIHtcclxuICB9XHJcblxyXG4gICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuX3N0b2NrU2VydmljZS5nZXRTdG9ja1N0YXRlKCkudGhlbiggcmVzdWx0ID0+IHtcclxuICAgICAgdGhpcy5zdG9ja1N0YXR1cyA9IHJlc3VsdDtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5fc3Vicy5wdXNoKHRoaXMuX3N0b2NrU2VydmljZS53YXJlaG91c2VTZWxlY3RlZC5zdWJzY3JpYmUoICBzZWxlY3RlZFdhcmVob3VzZSA9PiB7XHJcbiAgICAgIHRoaXMuX3N0b2NrU2VydmljZS5nZXRTdG9ja01hbmFnZW1lbnRMb2NhdGlvbnMoc2VsZWN0ZWRXYXJlaG91c2Uud2FyZWhvdXNlTm8pLnRoZW4oIHJlc3VsdCA9PiB7XHJcbiAgICAgICAgdGhpcy5zdG9ja0xvY2F0aW9ucyA9IHJlc3VsdDtcclxuICAgICAgfSk7XHJcbiAgICB9KSk7XHJcblxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcblxyXG5cclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkxvY2F0aW9uRHJvcGRvd25DbGljaygpOiB2b2lkIHtcclxuICAgIHRoaXMuX3N0b2NrU2VydmljZS5nZXRTdG9ja01hbmFnZW1lbnRMb2NhdGlvbnModGhpcy5zZWxlY3RlZFdhcmVob3VzZS53YXJlaG91c2VObykudGhlbigobG9jYXRpb25zKSA9PiB7XHJcbiAgICAgIHRoaXMuc3RvY2tMb2NhdGlvbnMgPSBsb2NhdGlvbnM7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBsb2NhdGlvbkNoYW5nZWQocm93OiBBcnRpY2xlRGV0YWlsc0JvLCBldmVudDogU3RvY2tMb2NhdGlvbik6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZExvY2F0aW9uTm8gPSBldmVudC5sb2NhdGlvbk5vO1xyXG4gICAgcm93LmxvY2F0aW9uTm8gPSBldmVudC5sb2NhdGlvbk5vO1xyXG4gICAgdGhpcy5vbkxvY2F0aW9uRHJvcGRvd25DbGljaygpXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYW1vdW50SW5TdG9ja0NoYW5nZWQoZGF0YSk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YS5hbW91bnRJblN0b2NrID0gZGF0YTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvcGVuU2VuZE1ldGhvZERpYWxvZyhkYXRhKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbmRNZXRob2REaWFsb2dDbGlja2VkLmVtaXQoZGF0YSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU3RvY2tUcmFuc2ZlckNsaWNrKGV2ZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zZmVySWNvbkNsaWNrZWQuZW1pdChldmVudCk7XHJcbiAgfVxyXG4gIHB1YmxpYyBvbk9rQ2xpY2tTZW5kTG9jYXRpb25zKHJvdzogQXJ0aWNsZURldGFpbHNCbyk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YSA9IHJvdztcclxuICAgIHRoaXMubmV3U3RvY2tMaW5lID0gZmFsc2U7XHJcbiAgICB0aGlzLnNob3dDb25maXJtYXRpb25EaWFsb2cgPSB0cnVlO1xyXG4gIH1cclxuICBwdWJsaWMgaGFuZGxlQWRkUm93KCkge1xyXG4gICAgaWYoIXRoaXMuYXJ0aWNsZVN0b2NrSW5mbz8ubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuYXJ0aWNsZVN0b2NrSW5mbyA9IFtdO1xyXG4gICAgfVxyXG4gICAgdGhpcy5hcnRpY2xlU3RvY2tJbmZvLnB1c2gobmV3IEFydGljbGVEZXRhaWxzQm8oKSk7XHJcbiAgICB0aGlzLnNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhID0gdGhpcy5hcnRpY2xlU3RvY2tJbmZvWyh0aGlzLmFydGljbGVTdG9ja0luZm8ubGVuZ3RoIC0gMSldO1xyXG4gICAgdGhpcy5uZXdTdG9ja0xpbmUgPSB0cnVlO1xyXG4gICAgdGhpcy5zaG93Q29uZmlybWF0aW9uRGlhbG9nID0gdHJ1ZTtcclxuICB9XHJcbiAgcHVibGljIGhhbmRsZU9rQ2xpY2soKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhLnNlbGVjdGVkID0gdHJ1ZTtcclxuICAgIGlmKHRoaXMuYXJ0aWNsZUZsYXQuZ29vZElkKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGEuZ29vZElkID0gdGhpcy5hcnRpY2xlRmxhdC5nb29kSWQ7XHJcbiAgICB9IGVsc2UgaWYodGhpcy5hcnRpY2xlRGV0YWlsc0luZm9ybWF0aW9uLmdvb2RJZCkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhLmdvb2RJZCA9IHBhcnNlSW50KHRoaXMuYXJ0aWNsZURldGFpbHNJbmZvcm1hdGlvbi5nb29kSWQpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YS5lbnRyeURhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgdGhpcy5zZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YS53YXJlaG91c2VObyA9IHRoaXMuc2VsZWN0ZWRXYXJlaG91c2Uud2FyZWhvdXNlTm87XHJcbiAgICBpZih0aGlzLnNlbGVjdGVkTG9jYXRpb25Obykge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhLmxvY2F0aW9uTm8gPSB0aGlzLnNlbGVjdGVkTG9jYXRpb25Obz8udG9TdHJpbmcoKTtcclxuICAgIH1cclxuICAgIHRoaXMuX3N0b2NrU2VydmljZS51cGRhdGVBcnRpY2xlRGV0YWlscyh0aGlzLnNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhKS50aGVuKCByZXN1bHQgPT4ge1xyXG4gICAgICB0aGlzLmFydGljbGVEZXRhaWxzSW5mb3JtYXRpb24uZ29vZElkID0gdGhpcy5zZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YS5nb29kSWQ/LnRvU3RyaW5nKCk7XHJcbiAgICAgIHRoaXMuYXJ0aWNsZURldGFpbHNJbmZvcm1hdGlvbi53YXJlaG91c2VOdW1iZXIgPSB0aGlzLnNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhLndhcmVob3VzZU5vO1xyXG4gICAgICB0aGlzLl9zdG9ja1NlcnZpY2UuZ2V0QXJ0aWNsZURldGFpbHModGhpcy5hcnRpY2xlRGV0YWlsc0luZm9ybWF0aW9uKS50aGVuKChkZXRhaWxzKSA9PiB7XHJcbiAgICAgICAgdGhpcy5hcnRpY2xlU3RvY2tJbmZvID0gZGV0YWlscztcclxuICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgICB0aGlzLnNob3dDb25maXJtYXRpb25EaWFsb2cgPSBmYWxzZTtcclxuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTdG9ja1N0YXR1c0NoYW5nZShzdGF0dXM6IFN0b2NrU3RhdHVzKSB7XHJcbiAgICAgdGhpcy5zZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YS5zdG9ja1N0YXRlSWQgPSBzdGF0dXMuc3RvY2tTdGF0ZUlkO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVN0b2NrU3RhdHVzUmVtYXJrQ2hhbmdlKHJlbWFyazogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhLnN0b2NrU3RhdGVSZW1hcmsgPSByZW1hcms7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZGlzYWJsZWQoKSB7XHJcbiAgICByZXR1cm4gKCF0aGlzLnNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhPy5zdG9ja1N0YXRlSWQgJiYgdGhpcy5zZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YT8uc3RvY2tTdGF0ZVJlbWFyaz8ubGVuZ3RoIDw9IDEpO1xyXG4gIH1cclxuXHJcblxyXG4gIHB1YmxpYyBzdGF0dXNGb3JJZChpZDogbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdG9ja1N0YXR1cy5maW5kKCBzdGF0dXMgPT4gc3RhdHVzLnN0b2NrU3RhdGVJZCA9PT0gaWQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGxvY2F0aW9uRm9yTnVtYmVyKG51bWJlcjogbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdG9ja0xvY2F0aW9ucz8uZmluZCggbG9jYXRpb24gPT4gbG9jYXRpb24ubG9jYXRpb25ObyA9PT0gbnVtYmVyPy50b1N0cmluZygpKTtcclxuICB9XHJcbiAgcHVibGljIGxvY2F0aW9uRm9yRGVzY3JpcHRpb24obG9jYXRpb25Obzogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIC8vIEZpbmQgdGhlIGxvY2F0aW9uIGluIHN0b2NrTG9jYXRpb25zIGJ5IGxvY2F0aW9uTm9cclxuICAgIGNvbnN0IGxvY2F0aW9uID0gdGhpcy5zdG9ja0xvY2F0aW9ucy5maW5kKGxvYyA9PiBsb2MubG9jYXRpb25ObyA9PT0gbG9jYXRpb25Obyk7XHJcbiAgICAvLyBJZiBsb2NhdGlvbiBpcyBmb3VuZCBhbmQgaXQgaGFzIGEgbm9uLWVtcHR5IGRlc2NyaXB0aW9uLCByZXR1cm4gZGVzY3JpcHRpb25cclxuICAgIC8vIElmIGxvY2F0aW9uIGlzIG5vdCBmb3VuZCBvciBkZXNjcmlwdGlvbiBpcyBlbXB0eSwgcmV0dXJuIGxvY2F0aW9uTm9cclxuICAgIHJldHVybiBsb2NhdGlvbiAmJiBsb2NhdGlvbi5kZXNjcmlwdGlvbiAmJiBsb2NhdGlvbi5kZXNjcmlwdGlvbi50cmltKCkgIT09ICcnID8gbG9jYXRpb24uZGVzY3JpcHRpb24gOiBsb2NhdGlvbk5vO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
249
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2stbG9jYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc3RvY2svY29tcG9uZW50cy9zdG9jay1sb2NhdGlvbi9zdG9jay1sb2NhdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04saUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFFL0QsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFDakcsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scURBQXFELENBQUM7QUFpSHJGLE1BQU0sT0FBTyxzQkFBc0I7SUErQ2pDLFlBQ1MsZ0JBQWtDLEVBQ2pDLGFBQTJCLEVBQzNCLGVBQWtDO1FBRm5DLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDakMsa0JBQWEsR0FBYixhQUFhLENBQWM7UUFDM0Isb0JBQWUsR0FBZixlQUFlLENBQW1CO1FBakQ1QixVQUFLLEdBQWdCLElBQUksQ0FBQztRQUduQyxxQkFBZ0IsR0FBdUIsRUFBRSxDQUFDO1FBRzFDLDRCQUF1QixHQUFxQixFQUFFLENBQUM7UUFZL0Msc0JBQWlCLEdBQWdDLEVBQUUsQ0FBQztRQUczQyx3QkFBbUIsR0FBaUMsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUd2RSw0QkFBdUIsR0FBcUMsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQU94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QzlDLG9EQUFvRDtRQUNwRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEtBQUssVUFBVSxDQUFDLENBQUM7UUFDaEYsOEVBQThFO1FBQzlFLHNFQUFzRTtRQUN0RSxPQUFPLFFBQVEsSUFBSSxRQUFRLENBQUMsV0FBVyxJQUFJLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7SUFDcEgsQ0FBQzs7O1lBeFFGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsbUJBQW1CO2dCQUM3QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvR1Q7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQXJITyxnQkFBZ0I7WUFFaEIsWUFBWTtZQVpsQixpQkFBaUI7OzsrQkFtSWhCLEtBQUs7c0NBR0wsS0FBSztzQkFHTCxLQUFLOzBCQUtMLEtBQUs7Z0NBSUwsS0FBSztrQ0FHTCxNQUFNO3NDQUdOLE1BQU07Z0NBR04sS0FBSzs2QkFXTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtBcnRpY2xlU3RvY2sgYXMgQXJ0aWNsZVN0b2NrQm99IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLXN0b2NrLmJvXCI7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSBcIi4uLy4uLy4uLy4uL2VudW0vaWNvbi5lbnVtXCI7XHJcbmltcG9ydCB7U3RvY2tTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vLi4vc2VydmljZS9zdG9jay5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7U3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlc30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3N0b2NrLW1hbmFnZW1lbnQtd2FyZWhvdXNlcy5ib1wiO1xyXG5pbXBvcnQge0FydGljbGVTdG9ja01hbmFnZW1lbnR9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLXN0b2NrLW1hbmFnZW1lbnRcIjtcclxuaW1wb3J0IHtBcnRpY2xlRGV0YWlsc0JvfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1kZXRhaWxzLmJvXCI7XHJcbmltcG9ydCB7U3RvY2tMb2NhdGlvbn0gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3N0b2NrLWxvY2F0aW9uLmJvXCI7XHJcbmltcG9ydCB7UHJpbnRQcmljZVN0aWNrZXJzfSBmcm9tIFwiQGNvbGlqbml0L3NoYXJlZGFwaS9idWlsZC9tb2RlbC9wcmludC1wcmljZS1zdGlja2Vycy5ib1wiO1xyXG5pbXBvcnQge1N0b2NrU3RhdHVzfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvc3RvY2stc3RhdHVzLmJvXCI7XHJcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQge0FydGljbGVFeHRlbmRlZH0gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtZXh0ZW5kZWQuYm9cIjtcclxuaW1wb3J0IHtBcnRpY2xlRmxhdH0gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtZmxhdC5ib1wiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tc3RvY2stbG9jYXRpb25cIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiBjbGFzcz1cInN0b2NrLWdyaWRcIj5cclxuICAgICAgICA8Y28tc3RvY2stbG9jYXRpb24tcG9wdXBcclxuICAgICAgICAgIFtzZWxlY3RlZFdhcmVob3VzZV09XCJzZWxlY3RlZFdhcmVob3VzZVwiXHJcbiAgICAgICAgICBbYXJ0aWNsZUZsYXRdPVwiYXJ0aWNsZUZsYXRcIlxyXG4gICAgICAgICAgW3NlbGVjdGVkTG9jYXRpb25Ob109XCJzZWxlY3RlZExvY2F0aW9uTm9cIlxyXG4gICAgICAgICAgW3N0b2NrTG9jYXRpb25zXT1cInN0b2NrTG9jYXRpb25zXCJcclxuICAgICAgICAgIFthcnRpY2xlRGV0YWlsc0luZm9ybWF0aW9uXT1cImFydGljbGVEZXRhaWxzSW5mb3JtYXRpb25cIlxyXG4gICAgICAgICAgW2FydGljbGVTdG9ja0luZm9dPVwiYXJ0aWNsZVN0b2NrSW5mb1wiXHJcbiAgICAgICAgICBbc2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGFdPVwic2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGFcIlxyXG4gICAgICAgICAgW3Nob3dDb25maXJtYXRpb25EaWFsb2ddPVwic2hvd0NvbmZpcm1hdGlvbkRpYWxvZ1wiXHJcbiAgICAgICAgICBbbmV3U3RvY2tMaW5lXT1cIm5ld1N0b2NrTGluZVwiXHJcbiAgICAgICAgICAodG9nZ2xlUG9wdXBFdmVudCk9XCJzaG93Q29uZmlybWF0aW9uRGlhbG9nID0gJGV2ZW50XCJcclxuICAgICAgICAgICh1cGRhdGVHcmlkRGF0YSk9XCJhcnRpY2xlU3RvY2tJbmZvID0gJGV2ZW50XCJcclxuXHJcbiAgICAgICAgPjwvY28tc3RvY2stbG9jYXRpb24tcG9wdXA+XHJcbiAgICAgIDxjby1zaW1wbGUtZ3JpZCBbZGF0YV09XCJhcnRpY2xlU3RvY2tJbmZvXCJcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2ltcGxlLWdyaWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW3Nob3dBZGRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbaW5saW5lRWRpdF09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbc2hvd1Rvb2xiYXJdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAoYWRkUm93KT1cImhhbmRsZUFkZFJvdygpXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1NUT0NLJyB8IGxvY2FsaXplXCIgW2ZpZWxkXT1cIidhbW91bnRJblN0b2NrJ1wiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZSBsZXQtcm93PVwicm93XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdG9jay1hbW91bnRcIiAoY2xpY2spPVwib25Pa0NsaWNrU2VuZExvY2F0aW9ucyhyb3cpXCI+XHJcbiAgICAgICAgICAgICAgPGNvLWljb24gY2xhc3M9XCJtZW51LWljb25cIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkVkaXRQZW5SZWd1bGFyKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwicm93WydhbW91bnRJblN0b2NrJ11cIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFt3aWR0aF09XCIxNTBcIiBbaGVhZGVyVGV4dF09XCInTE9DQVRJT04nIHwgbG9jYWxpemVcIiBbZmllbGRdPVwiJ2xvY2F0aW9uTm8nXCI+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2VkaXRUZW1wbGF0ZSBsZXQtcm93PVwicm93XCI+XHJcbiAgICAgICAgICAgIDxjby1saXN0LW9mLXZhbHVlc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVsXT1cImxvY2F0aW9uRm9yTnVtYmVyKHJvd1snbG9jYXRpb25ObyddKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJzdG9ja0xvY2F0aW9uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzcGxheUZpZWxkXT1cIidkZXNjcmlwdGlvbidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidMT0NBVElPTicgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwibG9jYXRpb25DaGFuZ2VkKHJvdywgJGV2ZW50KVwiXHJcbiAgICAgICAgICAgID48L2NvLWxpc3Qtb2YtdmFsdWVzPlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uICpuZ0lmPVwiYXJ0aWNsZUZsYXQ/LmJhdGNoXCIgW2hlYWRlclRleHRdPVwiJ0JBVENIJyB8IGxvY2FsaXplXCIgW2ZpZWxkXT1cIidiYXRjaE5vJ1wiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNlZGl0VGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8Y28taW5wdXQtdGV4dCBbbW9kZWxdPVwic2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGEuYmF0Y2hOb1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInQkFUQ0gnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwicm93WydiYXRjaE5vJ10gPSAkZXZlbnRcIlxyXG4gICAgICAgICAgICA+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uICpuZ0lmPVwiYXJ0aWNsZUZsYXQ/LnNlcmlhbFwiIFtoZWFkZXJUZXh0XT1cIidTRVJJQUxfTk8nIHwgbG9jYWxpemVcIiBbZmllbGRdPVwiJ3NlcmlhbE5vJ1wiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNlZGl0VGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8Y28taW5wdXQtdGV4dCBbbW9kZWxdPVwic2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGEuc2VyaWFsTm9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1NFUklBTF9OTycgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJyb3dbJ3NlcmlhbE5vJ10gPSAkZXZlbnRcIlxyXG4gICAgICAgICAgICA+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidBTExPQ0FURUQnIHwgbG9jYWxpemVcIiBbZmllbGRdPVwiJ3N0b2NrQXNzaWduZWQnXCI+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2VkaXRUZW1wbGF0ZSBsZXQtcm93PVwicm93XCI+XHJcbiAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJyb3dbJ3N0b2NrQXNzaWduZWQnXVwiPjwvc3Bhbj5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInQVZBSUxBQkxFX1NUT0NLJyB8IGxvY2FsaXplXCIgW2ZpZWxkXT1cIidhbW91bnRJblN0b2NrRnJlZSdcIj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZWRpdFRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIj5cclxuICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cInJvd1snYW1vdW50SW5TdG9ja0ZyZWUnXVwiPjwvc3Bhbj5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInVkFMVVRBJyB8IGxvY2FsaXplXCIgW2ZpZWxkXT1cIidjdXJyZW5jeSdcIj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZWRpdFRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIj5cclxuICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cInJvd1snY3VycmVuY3knXVwiPjwvc3Bhbj5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInUFVSQ0hBU0VfUFJJQ0UnIHwgbG9jYWxpemVcIiBbZmllbGRdPVwiJ3B1cmNoYXNlUHJpY2UnXCI+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2VkaXRUZW1wbGF0ZSBsZXQtcm93PVwicm93XCI+XHJcbiAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJyb3dbJ3B1cmNoYXNlUHJpY2UnXVwiPjwvc3Bhbj5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInU1VQUExJRVJOUicgfCBsb2NhbGl6ZVwiIFtmaWVsZF09XCInc3VwcGxpZXJObydcIj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZWRpdFRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIj5cclxuICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cInJvd1snc3VwcGxpZXJObyddXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtyZWFkb25seV09XCJ0cnVlXCIgW2hlYWRlclRleHRdPVwiJ1RSQU5TRkVSJyB8IGxvY2FsaXplXCIgW2ZpZWxkXT1cIid0cmFuc2ZlcidcIj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8Y28taWNvbiBjbGFzcz1cIm1lbnUtaWNvblwiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuRGVsaXZlcnlUcnVjaylcIlxyXG4gICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlU3RvY2tUcmFuc2ZlckNsaWNrKHJvdylcIj48L2NvLWljb24+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNlZGl0VGVtcGxhdGU+PC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtyZWFkb25seV09XCJ0cnVlXCIgW2hlYWRlclRleHRdPVwiJ1NUSUNLRVInIHwgbG9jYWxpemVcIiBbZmllbGRdPVwiJ3N0aWNrZXInXCI+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgI3RlbXBsYXRlIGxldC1yb3c9XCJyb3dcIj5cclxuICAgICAgICAgICAgPGNvLWljb24gY2xhc3M9XCJtZW51LWljb25cIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLlByaW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuU2VuZE1ldGhvZERpYWxvZyhyb3cpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZWRpdFRlbXBsYXRlPjwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgIDwvY28tc2ltcGxlLWdyaWQ+XHJcbiAgICA8L2Rpdj5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFN0b2NrTG9jYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFydGljbGVTdG9ja0luZm86IEFydGljbGVEZXRhaWxzQm9bXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhcnRpY2xlU3RvY2tJbmZvcm1hdGlvbjogQXJ0aWNsZVN0b2NrQm9bXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgYXJ0aWNsZShhcnRpY2xlOiBBcnRpY2xlRXh0ZW5kZWQpIHtcclxuXHJcbiAgfTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYXJ0aWNsZUZsYXQ6IEFydGljbGVGbGF0O1xyXG5cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZGF0YVdhcmVIb3VzZUNvZGU6IFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXNbXSA9IFtdO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcmVhZG9ubHkgdHJhbnNmZXJJY29uQ2xpY2tlZDogRXZlbnRFbWl0dGVyPEFydGljbGVTdG9ja0JvPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJlYWRvbmx5IHNlbmRNZXRob2REaWFsb2dDbGlja2VkOiBFdmVudEVtaXR0ZXI8UHJpbnRQcmljZVN0aWNrZXJzPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2VsZWN0ZWRXYXJlaG91c2U6IFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXM7XHJcblxyXG5cclxuICBwdWJsaWMgYXJ0aWNsZURldGFpbHM6IEFydGljbGVEZXRhaWxzQm87XHJcbiAgcHVibGljIHNob3dDb25maXJtYXRpb25EaWFsb2c6Ym9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBuZXdTdG9ja0xpbmU6Ym9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaG93Q29uZmlybVN0b2NrUm93OmJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcHVibGljIGFydGljbGVEZXRhaWxzSW5mb3JtYXRpb246IEFydGljbGVTdG9ja01hbmFnZW1lbnQgPSBuZXcgQXJ0aWNsZVN0b2NrTWFuYWdlbWVudCgpXHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHN0b2NrTG9jYXRpb25zOiBTdG9ja0xvY2F0aW9uW10gPSBbXTtcclxuXHJcbiAgcHVibGljIHN0b2NrU3RhdHVzOiBTdG9ja1N0YXR1c1tdID0gW107XHJcbiAgcHVibGljIHNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhOiBBcnRpY2xlRGV0YWlsc0JvID0gbmV3IEFydGljbGVEZXRhaWxzQm8oKTtcclxuXHJcbiAgcHVibGljIHNlbGVjdGVkTG9jYXRpb25Obzogc3RyaW5nO1xyXG5cclxuICBwcml2YXRlIF9zdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGljb25DYWNoZVNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zdG9ja1NlcnZpY2U6IFN0b2NrU2VydmljZSxcclxuICAgIHByaXZhdGUgX2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLl9zdG9ja1NlcnZpY2UuZ2V0U3RvY2tTdGF0ZSgpLnRoZW4oIHJlc3VsdCA9PiB7XHJcbiAgICAgIHRoaXMuc3RvY2tTdGF0dXMgPSByZXN1bHQ7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX3N1YnMucHVzaCh0aGlzLl9zdG9ja1NlcnZpY2Uud2FyZWhvdXNlU2VsZWN0ZWQuc3Vic2NyaWJlKCAgc2VsZWN0ZWRXYXJlaG91c2UgPT4ge1xyXG4gICAgICB0aGlzLl9zdG9ja1NlcnZpY2UuZ2V0U3RvY2tNYW5hZ2VtZW50TG9jYXRpb25zKHNlbGVjdGVkV2FyZWhvdXNlLndhcmVob3VzZU5vKS50aGVuKCByZXN1bHQgPT4ge1xyXG4gICAgICAgIHRoaXMuc3RvY2tMb2NhdGlvbnMgPSByZXN1bHQ7XHJcbiAgICAgIH0pO1xyXG4gICAgfSkpO1xyXG5cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG5cclxuXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25Mb2NhdGlvbkRyb3Bkb3duQ2xpY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLl9zdG9ja1NlcnZpY2UuZ2V0U3RvY2tNYW5hZ2VtZW50TG9jYXRpb25zKHRoaXMuc2VsZWN0ZWRXYXJlaG91c2Uud2FyZWhvdXNlTm8pLnRoZW4oKGxvY2F0aW9ucykgPT4ge1xyXG4gICAgICB0aGlzLnN0b2NrTG9jYXRpb25zID0gbG9jYXRpb25zO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbG9jYXRpb25DaGFuZ2VkKHJvdzogQXJ0aWNsZURldGFpbHNCbywgZXZlbnQ6IFN0b2NrTG9jYXRpb24pOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRMb2NhdGlvbk5vID0gZXZlbnQubG9jYXRpb25ObztcclxuICAgIHJvdy5sb2NhdGlvbk5vID0gZXZlbnQubG9jYXRpb25ObztcclxuICAgIHRoaXMub25Mb2NhdGlvbkRyb3Bkb3duQ2xpY2soKVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFtb3VudEluU3RvY2tDaGFuZ2VkKGRhdGEpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGEuYW1vdW50SW5TdG9jayA9IGRhdGE7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb3BlblNlbmRNZXRob2REaWFsb2coZGF0YSk6IHZvaWQge1xyXG4gICAgdGhpcy5zZW5kTWV0aG9kRGlhbG9nQ2xpY2tlZC5lbWl0KGRhdGEpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVN0b2NrVHJhbnNmZXJDbGljayhldmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2Zlckljb25DbGlja2VkLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuICBwdWJsaWMgb25Pa0NsaWNrU2VuZExvY2F0aW9ucyhyb3c6IEFydGljbGVEZXRhaWxzQm8pOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGEgPSByb3c7XHJcbiAgICB0aGlzLm5ld1N0b2NrTGluZSA9IGZhbHNlO1xyXG4gICAgdGhpcy5zaG93Q29uZmlybWF0aW9uRGlhbG9nID0gdHJ1ZTtcclxuICB9XHJcbiAgcHVibGljIGhhbmRsZUFkZFJvdygpIHtcclxuICAgIGlmKCF0aGlzLmFydGljbGVTdG9ja0luZm8/Lmxlbmd0aCkge1xyXG4gICAgICB0aGlzLmFydGljbGVTdG9ja0luZm8gPSBbXTtcclxuICAgIH1cclxuICAgIHRoaXMuYXJ0aWNsZVN0b2NrSW5mby5wdXNoKG5ldyBBcnRpY2xlRGV0YWlsc0JvKCkpO1xyXG4gICAgdGhpcy5zZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YSA9IHRoaXMuYXJ0aWNsZVN0b2NrSW5mb1sodGhpcy5hcnRpY2xlU3RvY2tJbmZvLmxlbmd0aCAtIDEpXTtcclxuICAgIHRoaXMubmV3U3RvY2tMaW5lID0gdHJ1ZTtcclxuICAgIHRoaXMuc2hvd0NvbmZpcm1hdGlvbkRpYWxvZyA9IHRydWU7XHJcbiAgfVxyXG4gIHB1YmxpYyBoYW5kbGVPa0NsaWNrKCkge1xyXG4gICAgdGhpcy5zZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YS5zZWxlY3RlZCA9IHRydWU7XHJcbiAgICBpZih0aGlzLmFydGljbGVGbGF0Lmdvb2RJZCkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhLmdvb2RJZCA9IHRoaXMuYXJ0aWNsZUZsYXQuZ29vZElkO1xyXG4gICAgfSBlbHNlIGlmKHRoaXMuYXJ0aWNsZURldGFpbHNJbmZvcm1hdGlvbi5nb29kSWQpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YS5nb29kSWQgPSBwYXJzZUludCh0aGlzLmFydGljbGVEZXRhaWxzSW5mb3JtYXRpb24uZ29vZElkKTtcclxuICAgIH1cclxuICAgIHRoaXMuc2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGEuZW50cnlEYXRlID0gbmV3IERhdGUoKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGEud2FyZWhvdXNlTm8gPSB0aGlzLnNlbGVjdGVkV2FyZWhvdXNlLndhcmVob3VzZU5vO1xyXG4gICAgaWYodGhpcy5zZWxlY3RlZExvY2F0aW9uTm8pIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YS5sb2NhdGlvbk5vID0gdGhpcy5zZWxlY3RlZExvY2F0aW9uTm8/LnRvU3RyaW5nKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9zdG9ja1NlcnZpY2UudXBkYXRlQXJ0aWNsZURldGFpbHModGhpcy5zZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YSkudGhlbiggcmVzdWx0ID0+IHtcclxuICAgICAgdGhpcy5hcnRpY2xlRGV0YWlsc0luZm9ybWF0aW9uLmdvb2RJZCA9IHRoaXMuc2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGEuZ29vZElkPy50b1N0cmluZygpO1xyXG4gICAgICB0aGlzLmFydGljbGVEZXRhaWxzSW5mb3JtYXRpb24ud2FyZWhvdXNlTnVtYmVyID0gdGhpcy5zZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YS53YXJlaG91c2VObztcclxuICAgICAgdGhpcy5fc3RvY2tTZXJ2aWNlLmdldEFydGljbGVEZXRhaWxzKHRoaXMuYXJ0aWNsZURldGFpbHNJbmZvcm1hdGlvbikudGhlbigoZGV0YWlscykgPT4ge1xyXG4gICAgICAgIHRoaXMuYXJ0aWNsZVN0b2NrSW5mbyA9IGRldGFpbHM7XHJcbiAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gICAgdGhpcy5zaG93Q29uZmlybWF0aW9uRGlhbG9nID0gZmFsc2U7XHJcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU3RvY2tTdGF0dXNDaGFuZ2Uoc3RhdHVzOiBTdG9ja1N0YXR1cykge1xyXG4gICAgIHRoaXMuc2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGEuc3RvY2tTdGF0ZUlkID0gc3RhdHVzLnN0b2NrU3RhdGVJZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTdG9ja1N0YXR1c1JlbWFya0NoYW5nZShyZW1hcms6IHN0cmluZykge1xyXG4gICAgdGhpcy5zZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YS5zdG9ja1N0YXRlUmVtYXJrID0gcmVtYXJrO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGRpc2FibGVkKCkge1xyXG4gICAgcmV0dXJuICghdGhpcy5zZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YT8uc3RvY2tTdGF0ZUlkICYmIHRoaXMuc2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGE/LnN0b2NrU3RhdGVSZW1hcms/Lmxlbmd0aCA8PSAxKTtcclxuICB9XHJcblxyXG5cclxuICBwdWJsaWMgc3RhdHVzRm9ySWQoaWQ6IG51bWJlcikge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RvY2tTdGF0dXMuZmluZCggc3RhdHVzID0+IHN0YXR1cy5zdG9ja1N0YXRlSWQgPT09IGlkKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBsb2NhdGlvbkZvck51bWJlcihudW1iZXI6IG51bWJlcikge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RvY2tMb2NhdGlvbnM/LmZpbmQoIGxvY2F0aW9uID0+IGxvY2F0aW9uLmxvY2F0aW9uTm8gPT09IG51bWJlcj8udG9TdHJpbmcoKSk7XHJcbiAgfVxyXG4gIHB1YmxpYyBsb2NhdGlvbkZvckRlc2NyaXB0aW9uKGxvY2F0aW9uTm86IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAvLyBGaW5kIHRoZSBsb2NhdGlvbiBpbiBzdG9ja0xvY2F0aW9ucyBieSBsb2NhdGlvbk5vXHJcbiAgICBjb25zdCBsb2NhdGlvbiA9IHRoaXMuc3RvY2tMb2NhdGlvbnMuZmluZChsb2MgPT4gbG9jLmxvY2F0aW9uTm8gPT09IGxvY2F0aW9uTm8pO1xyXG4gICAgLy8gSWYgbG9jYXRpb24gaXMgZm91bmQgYW5kIGl0IGhhcyBhIG5vbi1lbXB0eSBkZXNjcmlwdGlvbiwgcmV0dXJuIGRlc2NyaXB0aW9uXHJcbiAgICAvLyBJZiBsb2NhdGlvbiBpcyBub3QgZm91bmQgb3IgZGVzY3JpcHRpb24gaXMgZW1wdHksIHJldHVybiBsb2NhdGlvbk5vXHJcbiAgICByZXR1cm4gbG9jYXRpb24gJiYgbG9jYXRpb24uZGVzY3JpcHRpb24gJiYgbG9jYXRpb24uZGVzY3JpcHRpb24udHJpbSgpICE9PSAnJyA/IGxvY2F0aW9uLmRlc2NyaXB0aW9uIDogbG9jYXRpb25ObztcclxuICB9XHJcblxyXG59XHJcbiJdfQ==