@colijnit/sharedcomponents 260.1.11 → 260.1.13

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 (31) hide show
  1. package/bundles/colijnit-sharedcomponents.umd.js +116 -12
  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 +83 -18
  5. package/esm2015/lib/components/date-planning/component/agenda/view-select.component.js +37 -4
  6. package/esm2015/lib/components/date-planning/component/calendar/calendar-view.component.js +2 -2
  7. package/esm2015/lib/components/date-planning/component/calendar/calendar.component.js +2 -2
  8. package/esm2015/lib/components/date-planning/date-planning.component.js +3 -3
  9. package/esm2015/lib/components/send-method-dialog/send-method-dialog.component.js +4 -1
  10. package/esm2015/lib/enum/calendar-view.enum.js +3 -1
  11. package/esm2015/lib/enum/icon.enum.js +1 -1
  12. package/esm2015/lib/model/icon-svg.js +1 -1
  13. package/esm2015/lib/res/dictionary/dictionaries.js +1 -7
  14. package/esm2015/lib/utils/calendar.utils.js +73 -1
  15. package/fesm2015/colijnit-sharedcomponents.js +199 -30
  16. package/fesm2015/colijnit-sharedcomponents.js.map +1 -1
  17. package/lib/components/date-planning/component/agenda/view-select.component.d.ts +2 -0
  18. package/lib/enum/calendar-view.enum.d.ts +2 -0
  19. package/lib/res/dictionary/dictionaries.d.ts +0 -31885
  20. package/lib/utils/calendar.utils.d.ts +3 -0
  21. package/package.json +1 -1
  22. package/358.645812766f7a400d0d38.js +0 -1
  23. package/3rdpartylicenses.txt +0 -2017
  24. package/7.3142e473803d1a7f9729.js +0 -1
  25. package/977.bd6291f9ee6f6ddf91f1.js +0 -1
  26. package/favicon.ico +0 -0
  27. package/index.html +0 -12
  28. package/main.0245847a0061efd03ea1.js +0 -1
  29. package/polyfills.907fe9d1887c5de17993.js +0 -1
  30. package/runtime.023dce2502cba6970a33.js +0 -1
  31. package/styles.1eab293def3e726bfaa4.css +0 -1
@@ -72,9 +72,15 @@ export class AgendaHeaderComponent {
72
72
  case CalendarView.DaysAround:
73
73
  newDate.setDate(this.selectedDate.getDate() - 1);
74
74
  break;
75
- case CalendarView.WeekView:
75
+ case CalendarView.ThreeDaysView:
76
76
  newDate.setDate(this.selectedDate.getDate() - 3);
77
77
  break;
78
+ case CalendarView.WeekView:
79
+ newDate.setDate(this.selectedDate.getDate() - 7);
80
+ break;
81
+ case CalendarView.WeekWorkView:
82
+ newDate.setDate(this.selectedDate.getDate() - 5);
83
+ break;
78
84
  case CalendarView.WeekSelectView:
79
85
  newDate.setDate(this.selectedDate.getDate() - 7);
80
86
  break;
@@ -96,9 +102,15 @@ export class AgendaHeaderComponent {
96
102
  case CalendarView.DaysAround:
97
103
  newDate.setDate(this.selectedDate.getDate() + 1);
98
104
  break;
99
- case CalendarView.WeekView:
105
+ case CalendarView.ThreeDaysView:
100
106
  newDate.setDate(this.selectedDate.getDate() + 3);
101
107
  break;
108
+ case CalendarView.WeekView:
109
+ newDate.setDate(this.selectedDate.getDate() + 7);
110
+ break;
111
+ case CalendarView.WeekWorkView:
112
+ newDate.setDate(this.selectedDate.getDate() + 5);
113
+ break;
102
114
  case CalendarView.WeekSelectView:
103
115
  newDate.setDate(this.selectedDate.getDate() + 7);
104
116
  break;
@@ -144,6 +156,13 @@ export class AgendaHeaderComponent {
144
156
  this.showBackButton = this.weekDays.find(wd => DateUtils.DatesEqual(this.firstAvailableDate, wd.date)) === undefined;
145
157
  }
146
158
  break;
159
+ case CalendarView.ThreeDaysView:
160
+ const threeDaysView = CalendarUtils.GetThreeDays(this.selectedDate);
161
+ this.weekDays = threeDaysView.weekDays;
162
+ if (this.firstAvailableDate) {
163
+ this.showBackButton = this.weekDays.find(wd => DateUtils.DatesEqual(this.firstAvailableDate, wd.date)) === undefined;
164
+ }
165
+ break;
147
166
  case CalendarView.WeekView:
148
167
  const weekView = CalendarUtils.GetDaysOfWeek(this.selectedDate);
149
168
  this.weekDays = weekView.weekDays;
@@ -151,6 +170,13 @@ export class AgendaHeaderComponent {
151
170
  this.showBackButton = this.weekDays.find(wd => DateUtils.DatesEqual(this.firstAvailableDate, wd.date)) === undefined;
152
171
  }
153
172
  break;
173
+ case CalendarView.WeekWorkView:
174
+ const weekWorkView = CalendarUtils.GetWorkDaysOfWeek(this.selectedDate);
175
+ this.weekDays = weekWorkView.weekDays;
176
+ if (this.firstAvailableDate) {
177
+ this.showBackButton = this.weekDays.find(wd => DateUtils.DatesEqual(this.firstAvailableDate, wd.date)) === undefined;
178
+ }
179
+ break;
154
180
  case CalendarView.WeekSelectView:
155
181
  const weekSelectView = CalendarUtils.GetDaysOfWeek(this.selectedDate);
156
182
  this.weekDays = weekSelectView.weekDays;
@@ -197,10 +223,7 @@ AgendaHeaderComponent.decorators = [
197
223
  { type: Component, args: [{
198
224
  selector: "agenda-header",
199
225
  template: `
200
- <div class="agenda-header-wrapper" *ngIf="view === viewTypes.DayView">
201
- <div class="hour-label-placeholder" *ngIf="viewSelection">
202
- <view-select [selectedView]="view" (selectedViewChange)="changeTheView($event)"></view-select>
203
- </div>
226
+ <div class="agenda-header-wrapper day-view" *ngIf="view === viewTypes.DayView">
204
227
  <div class="week-day-label">
205
228
  <co-icon class="pointer-hover no-user-select sub-unit-icon dark"
206
229
  [iconData]="iconCacheService.getIcon(icons.ArrowPointLeft)" (click)="subUnit()"></co-icon>
@@ -210,9 +233,6 @@ AgendaHeaderComponent.decorators = [
210
233
  </div>
211
234
  </div>
212
235
  <div class="agenda-header-wrapper days-around" *ngIf="view === viewTypes.DaysAround">
213
- <div class="hour-label-placeholder" *ngIf="viewSelection">
214
- <view-select [selectedView]="view" (selectedViewChange)="changeTheView($event)"></view-select>
215
- </div>
216
236
  <div class="month-description" *ngIf="weekDays?.length > 0">
217
237
  {{ (selectedDate | date: 'MMMM') + ' ' + selectedDate.getFullYear() + ' ' + ('WEEK' | sharedLocalize)+ ': ' + getWeekNumber(selectedDate) }}
218
238
  </div>
@@ -228,25 +248,46 @@ AgendaHeaderComponent.decorators = [
228
248
  [iconData]="iconCacheService.getIcon(icons.ArrowPointRight)" (click)="addUnit()"></co-icon>
229
249
  </div>
230
250
  </div>
231
- <div class="agenda-header-wrapper" *ngIf="view === viewTypes.WeekView">
251
+ <div class="agenda-header-wrapper three-days-view" *ngIf="view === viewTypes.ThreeDaysView">
232
252
  <div class="hour-label-placeholder" *ngIf="viewSelection">
233
253
  <view-select [selectedView]="view" (selectedViewChange)="changeTheView($event)"></view-select>
234
254
  </div>
235
- <div class="week-number-header-wrapper">
236
- <span [textContent]="(selectedDate | date: 'MMMM') + ' ' + selectedDate.getFullYear() + ' ' + ('WEEK' | sharedLocalize)+ ': ' + getWeekNumber(selectedDate) "> </span>
255
+ <div class="week-view-header-wrapper">
256
+ <div class="week-day-label" *ngFor="let weekDay of weekDays; let index = index"
257
+ [class.selected]="weekDay.weekdaySelected">
258
+ <co-icon *ngIf="showBackButton && index === 0" class="pointer-hover no-user-select sub-unit-icon dark"
259
+ [iconData]="iconCacheService.getIcon(icons.ArrowPointLeft)" (click)="subUnit()"></co-icon>
260
+ <div *ngIf="weekDay.newMonth"
261
+ class="month-description">
262
+ <span [textContent]="(selectedDate | date: 'MMMM') + ' ' + selectedDate.getFullYear() + ' ' + ('WEEK' | sharedLocalize)+ ': ' + getWeekNumber(selectedDate) "> </span>
263
+ </div>
264
+ <div class="weekday-value"
265
+ [textContent]="capitalizeString(weekDay.weekdayLong) + ' ' + weekDay.weekdayDay + ' ' + capitalizeString(weekDay.weekdayMonthLong) + ' ' + weekDay.weekdayYear "></div>
266
+ <co-icon *ngIf="index === 2" class="pointer-hover no-user-select add-unit-icon dark"
267
+ [iconData]="iconCacheService.getIcon(icons.ArrowPointRight)" (click)="addUnit()"></co-icon>
268
+
237
269
  </div>
238
-
270
+ </div>
271
+
272
+ </div>
273
+ <div class="agenda-header-wrapper week-view" *ngIf="view === viewTypes.WeekView">
274
+ <div class="hour-label-placeholder" *ngIf="viewSelection">
275
+ <view-select [selectedView]="view" (selectedViewChange)="changeTheView($event)"></view-select>
276
+ </div>
239
277
  <div class="week-view-header-wrapper">
240
278
  <div class="week-day-label" *ngFor="let weekDay of weekDays; let index = index"
241
279
  [class.selected]="weekDay.weekdaySelected" (click)="setUnit(weekDay)">
242
280
  <co-icon *ngIf="showBackButton && index === 0" class="pointer-hover no-user-select sub-unit-icon dark"
243
281
  [iconData]="iconCacheService.getIcon(icons.ArrowPointLeft)" (click)="subUnit()"></co-icon>
244
- <div *ngIf="weekDay.newMonth" [textContent]="weekDay.weekdayMonthLong + ' ' + weekDay.weekdayYear"
282
+ <div *ngIf="weekDay.newMonth"
245
283
  class="month-description">
284
+ <span [textContent]="(selectedDate | date: 'MMMM') + ' ' + selectedDate.getFullYear() + ' ' + ('WEEK' | sharedLocalize)+ ': ' + getWeekNumber(selectedDate) "> </span>
246
285
  </div>
247
- <div class="weekday-value"
248
- [textContent]="capitalizeString(weekDay.weekdayLong) + ' ' + weekDay.weekdayDay + ' ' + capitalizeString(weekDay.weekdayMonthLong) + ' ' + weekDay.weekdayYear "></div>
249
- <co-icon *ngIf="index === 2" class="pointer-hover no-user-select add-unit-icon dark"
286
+ <div class="weekday-value">
287
+ <span [textContent]="capitalizeString(weekDay.weekdayLong)"></span>
288
+ <span [textContent]="weekDay.weekdayDay + ' ' + capitalizeString(weekDay.weekdayMonthLong) + ' ' + weekDay.weekdayYear"></span>
289
+ </div>
290
+ <co-icon *ngIf="index === 6" class="pointer-hover no-user-select add-unit-icon dark"
250
291
  [iconData]="iconCacheService.getIcon(icons.ArrowPointRight)" (click)="addUnit()"></co-icon>
251
292
 
252
293
  </div>
@@ -254,6 +295,30 @@ AgendaHeaderComponent.decorators = [
254
295
 
255
296
  </div>
256
297
 
298
+ <div class="agenda-header-wrapper work-week-view" *ngIf="view === viewTypes.WeekWorkView">
299
+ <div class="hour-label-placeholder" *ngIf="viewSelection">
300
+ <view-select [selectedView]="view" (selectedViewChange)="changeTheView($event)"></view-select>
301
+ </div>
302
+ <div class="week-view-header-wrapper">
303
+ <div class="week-day-label" *ngFor="let weekDay of weekDays; let index = index"
304
+ [class.selected]="weekDay.weekdaySelected">
305
+ <co-icon *ngIf="showBackButton && index === 0" class="pointer-hover no-user-select sub-unit-icon dark"
306
+ [iconData]="iconCacheService.getIcon(icons.ArrowPointLeft)" (click)="subUnit()"></co-icon>
307
+ <div *ngIf="weekDay.newMonth"
308
+ class="month-description">
309
+ <span [textContent]="(selectedDate | date: 'MMMM') + ' ' + selectedDate.getFullYear() + ' ' + ('WEEK' | sharedLocalize)+ ': ' + getWeekNumber(selectedDate) "> </span>
310
+ </div>
311
+ <div class="weekday-value">
312
+ <span [textContent]="capitalizeString(weekDay.weekdayLong)"></span>
313
+ <span [textContent]="weekDay.weekdayDay + ' ' + capitalizeString(weekDay.weekdayMonthLong) + ' ' + weekDay.weekdayYear"></span>
314
+ </div>
315
+ <co-icon *ngIf="index === 4" class="pointer-hover no-user-select add-unit-icon dark"
316
+ [iconData]="iconCacheService.getIcon(icons.ArrowPointRight)" (click)="addUnit()"></co-icon>
317
+
318
+ </div>
319
+ </div>
320
+
321
+ </div>
257
322
 
258
323
  <div class="agenda-header-wrapper" *ngIf="view === viewTypes.WeekSelectView">
259
324
  <div class="week-day-label" *ngFor="let weekDay of weekDays; let index = index"
@@ -298,4 +363,4 @@ AgendaHeaderComponent.propDecorators = {
298
363
  selectedDateChange: [{ type: Output }],
299
364
  rangeChange: [{ type: Output }]
300
365
  };
301
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlbmRhLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9kYXRlLXBsYW5uaW5nL2NvbXBvbmVudC9hZ2VuZGEvYWdlbmRhLWhlYWRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFNBQVMsRUFDVCxNQUFNLEVBR04sTUFBTSxFQUNOLFNBQVMsRUFBRSxpQkFBaUIsRUFDN0IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUdqRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDL0QsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQy9ELE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQTtBQUMvQyxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFFaEQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBd0Z4RSxNQUFNLE9BQU8scUJBQXFCO0lBMkQ5QixZQUN3QyxPQUFxQixFQUNqRCxXQUF1QixFQUN2QixTQUFvQixFQUNwQixPQUFlLEVBQ2hCLGdCQUFrQztRQUpMLFlBQU8sR0FBUCxPQUFPLENBQWM7UUFDakQsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDdkIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixZQUFPLEdBQVAsT0FBTyxD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QUFjLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwRSxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsR0FBRyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUUxRixPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDOzs7WUF4VEosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxlQUFlO2dCQUN6QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQWlGVDtnQkFDSCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBaEdPLFlBQVksdUJBNkpYLE1BQU0sU0FBQyxTQUFTO1lBekt2QixVQUFVO1lBU1YsU0FBUztZQUpULE1BQU07WUFnQkEsZ0JBQWdCOzs7MkJBZ0duQixLQUFLO21CQVVMLEtBQUs7aUNBR0wsS0FBSzsyQkFZTCxLQUFLOzRCQU1MLEtBQUs7eUJBR0wsTUFBTTtpQ0FHTixNQUFNOzBCQUdOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyQ29udGVudENoZWNrZWQsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEluamVjdCxcclxuICBJbnB1dCxcclxuICBMT0NBTEVfSUQsXHJcbiAgTmdab25lLFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFJlbmRlcmVyMiwgVmlld0VuY2Fwc3VsYXRpb25cclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0NhbGVuZGFyVmlld30gZnJvbSBcIi4uLy4uLy4uLy4uL2VudW0vY2FsZW5kYXItdmlldy5lbnVtXCI7XHJcbmltcG9ydCB7TGFuZ3VhZ2VDb2RlfSBmcm9tIFwiLi4vLi4vLi4vLi4vZW51bS9sYW5ndWFnZS1jb2RlLmVudW1cIjtcclxuaW1wb3J0IHtXZWVrZGF5fSBmcm9tIFwiLi4vLi4vLi4vLi4vbW9kZWwvd2Vla2RheS5tb2RlbFwiO1xyXG5pbXBvcnQge1dlZWt9IGZyb20gXCIuLi8uLi8uLi8uLi9tb2RlbC93ZWVrLm1vZGVsXCI7XHJcbmltcG9ydCB7Q2FsZW5kYXJVdGlsc30gZnJvbSBcIi4uLy4uLy4uLy4uL3V0aWxzL2NhbGVuZGFyLnV0aWxzXCI7XHJcbmltcG9ydCB7TlVMTF9EQVl9IGZyb20gXCIuLi8uLi8uLi8uLi9tb2RlbC9hZ2VuZGEtbnVsbC1vYmplY3RzXCI7XHJcbmltcG9ydCB7RGF5fSBmcm9tIFwiLi4vLi4vLi4vLi4vbW9kZWwvZGF5Lm1vZGVsXCJcclxuaW1wb3J0IHtJY29ufSBmcm9tIFwiLi4vLi4vLi4vLi4vZW51bS9pY29uLmVudW1cIjtcclxuaW1wb3J0IHtBZ2VuZGFFdmVudFBlckRheX0gZnJvbSBcIi4uLy4uLy4uLy4uL21vZGVsL2FnZW5kYS1ldmVudC1wZXItZGF5Lm1vZGVsXCI7XHJcbmltcG9ydCB7RGF0ZVV0aWxzfSBmcm9tIFwiLi4vLi4vLi4vLi4vdXRpbHMvZGF0ZS11dGlsc1wiO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJhZ2VuZGEtaGVhZGVyXCIsXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYWdlbmRhLWhlYWRlci13cmFwcGVyXCIgKm5nSWY9XCJ2aWV3ID09PSB2aWV3VHlwZXMuRGF5Vmlld1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJob3VyLWxhYmVsLXBsYWNlaG9sZGVyXCIgKm5nSWY9XCJ2aWV3U2VsZWN0aW9uXCI+XHJcbiAgICAgICAgICA8dmlldy1zZWxlY3QgW3NlbGVjdGVkVmlld109XCJ2aWV3XCIgKHNlbGVjdGVkVmlld0NoYW5nZSk9XCJjaGFuZ2VUaGVWaWV3KCRldmVudClcIj48L3ZpZXctc2VsZWN0PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3ZWVrLWRheS1sYWJlbFwiPlxyXG4gICAgICAgICAgPGNvLWljb24gY2xhc3M9XCJwb2ludGVyLWhvdmVyIG5vLXVzZXItc2VsZWN0IHN1Yi11bml0LWljb24gZGFya1wiXHJcbiAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkFycm93UG9pbnRMZWZ0KVwiIChjbGljayk9XCJzdWJVbml0KClcIj48L2NvLWljb24+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGF5LWRlc2NyaXB0aW9uXCIgW3RleHRDb250ZW50XT1cImRheS5kZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgPGNvLWljb24gY2xhc3M9XCJwb2ludGVyLWhvdmVyIG5vLXVzZXItc2VsZWN0IGFkZC11bml0LWljb24gZGFya1wiXHJcbiAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkFycm93UG9pbnRSaWdodClcIiAoY2xpY2spPVwiYWRkVW5pdCgpXCI+PC9jby1pY29uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImFnZW5kYS1oZWFkZXItd3JhcHBlciBkYXlzLWFyb3VuZFwiICpuZ0lmPVwidmlldyA9PT0gdmlld1R5cGVzLkRheXNBcm91bmRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaG91ci1sYWJlbC1wbGFjZWhvbGRlclwiICpuZ0lmPVwidmlld1NlbGVjdGlvblwiPlxyXG4gICAgICAgICAgPHZpZXctc2VsZWN0IFtzZWxlY3RlZFZpZXddPVwidmlld1wiIChzZWxlY3RlZFZpZXdDaGFuZ2UpPVwiY2hhbmdlVGhlVmlldygkZXZlbnQpXCI+PC92aWV3LXNlbGVjdD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibW9udGgtZGVzY3JpcHRpb25cIiAqbmdJZj1cIndlZWtEYXlzPy5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgICB7eyAoc2VsZWN0ZWREYXRlIHwgZGF0ZTogJ01NTU0nKSArICcgJyArIHNlbGVjdGVkRGF0ZS5nZXRGdWxsWWVhcigpICsgJyAnICsgKCdXRUVLJyB8IHNoYXJlZExvY2FsaXplKSsgJzogJyArICBnZXRXZWVrTnVtYmVyKHNlbGVjdGVkRGF0ZSkgfX1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwid2Vlay1kYXktbGFiZWwgZGF5cy1hcm91bmRcIiAqbmdGb3I9XCJsZXQgd2Vla0RheSBvZiB3ZWVrRGF5czsgbGV0IGluZGV4ID0gaW5kZXhcIlxyXG4gICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cIndlZWtEYXkud2Vla2RheVNlbGVjdGVkXCIgKGNsaWNrKT1cInNldFVuaXQod2Vla0RheSlcIj5cclxuICAgICAgICAgIDxjby1pY29uICpuZ0lmPVwic2hvd0JhY2tCdXR0b24gJiYgaW5kZXggPT09IDBcIiBjbGFzcz1cInBvaW50ZXItaG92ZXIgbm8tdXNlci1zZWxlY3Qgc3ViLXVuaXQtaWNvbiBkYXJrXCJcclxuICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQXJyb3dQb2ludExlZnQpXCIgKGNsaWNrKT1cInN1YlVuaXQoKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3ZWVrZGF5LXZhbHVlIGRheVwiXHJcbiAgICAgICAgICAgICAgIFt0ZXh0Q29udGVudF09XCJjYXBpdGFsaXplU3RyaW5nKHdlZWtEYXkud2Vla2RheVNob3J0KVwiPjwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIndlZWtkYXktdmFsdWUgZGF0ZVwiXHJcbiAgICAgICAgICAgICAgIFt0ZXh0Q29udGVudF09XCJ3ZWVrRGF5LndlZWtkYXlEYXlcIj48L2Rpdj5cclxuICAgICAgICAgIDxjby1pY29uICpuZ0lmPVwiaW5kZXggPT09IDZcIiBjbGFzcz1cInBvaW50ZXItaG92ZXIgbm8tdXNlci1zZWxlY3QgYWRkLXVuaXQtaWNvbiBkYXJrXCJcclxuICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQXJyb3dQb2ludFJpZ2h0KVwiIChjbGljayk9XCJhZGRVbml0KClcIj48L2NvLWljb24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYWdlbmRhLWhlYWRlci13cmFwcGVyXCIgKm5nSWY9XCJ2aWV3ID09PSB2aWV3VHlwZXMuV2Vla1ZpZXdcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaG91ci1sYWJlbC1wbGFjZWhvbGRlclwiICpuZ0lmPVwidmlld1NlbGVjdGlvblwiPlxyXG4gICAgICAgICAgPHZpZXctc2VsZWN0IFtzZWxlY3RlZFZpZXddPVwidmlld1wiIChzZWxlY3RlZFZpZXdDaGFuZ2UpPVwiY2hhbmdlVGhlVmlldygkZXZlbnQpXCI+PC92aWV3LXNlbGVjdD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3ZWVrLW51bWJlci1oZWFkZXItd3JhcHBlclwiPlxyXG4gICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cIihzZWxlY3RlZERhdGUgfCBkYXRlOiAnTU1NTScpICsgJyAnICsgc2VsZWN0ZWREYXRlLmdldEZ1bGxZZWFyKCkgKyAnICcgKyAoJ1dFRUsnIHwgc2hhcmVkTG9jYWxpemUpKyAnOiAnICsgIGdldFdlZWtOdW1iZXIoc2VsZWN0ZWREYXRlKSBcIj4gPC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICBcclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3ZWVrLXZpZXctaGVhZGVyLXdyYXBwZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwid2Vlay1kYXktbGFiZWxcIiAqbmdGb3I9XCJsZXQgd2Vla0RheSBvZiB3ZWVrRGF5czsgbGV0IGluZGV4ID0gaW5kZXhcIlxyXG4gICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cIndlZWtEYXkud2Vla2RheVNlbGVjdGVkXCIgKGNsaWNrKT1cInNldFVuaXQod2Vla0RheSlcIj5cclxuICAgICAgICAgIDxjby1pY29uICpuZ0lmPVwic2hvd0JhY2tCdXR0b24gJiYgaW5kZXggPT09IDBcIiBjbGFzcz1cInBvaW50ZXItaG92ZXIgbm8tdXNlci1zZWxlY3Qgc3ViLXVuaXQtaWNvbiBkYXJrXCJcclxuICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQXJyb3dQb2ludExlZnQpXCIgKGNsaWNrKT1cInN1YlVuaXQoKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJ3ZWVrRGF5Lm5ld01vbnRoXCIgW3RleHRDb250ZW50XT1cIndlZWtEYXkud2Vla2RheU1vbnRoTG9uZyArICcgJyArIHdlZWtEYXkud2Vla2RheVllYXJcIlxyXG4gICAgICAgICAgICAgICBjbGFzcz1cIm1vbnRoLWRlc2NyaXB0aW9uXCI+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3ZWVrZGF5LXZhbHVlXCJcclxuICAgICAgICAgICAgICAgW3RleHRDb250ZW50XT1cImNhcGl0YWxpemVTdHJpbmcod2Vla0RheS53ZWVrZGF5TG9uZykgKyAnICcgKyB3ZWVrRGF5LndlZWtkYXlEYXkgKyAnICcgKyBjYXBpdGFsaXplU3RyaW5nKHdlZWtEYXkud2Vla2RheU1vbnRoTG9uZykgKyAnICcgKyB3ZWVrRGF5LndlZWtkYXlZZWFyIFwiPjwvZGl2PlxyXG4gICAgICAgICAgPGNvLWljb24gKm5nSWY9XCJpbmRleCA9PT0gMlwiIGNsYXNzPVwicG9pbnRlci1ob3ZlciBuby11c2VyLXNlbGVjdCBhZGQtdW5pdC1pY29uIGRhcmtcIlxyXG4gICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5BcnJvd1BvaW50UmlnaHQpXCIgKGNsaWNrKT1cImFkZFVuaXQoKVwiPjwvY28taWNvbj5cclxuXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJhZ2VuZGEtaGVhZGVyLXdyYXBwZXJcIiAqbmdJZj1cInZpZXcgPT09IHZpZXdUeXBlcy5XZWVrU2VsZWN0Vmlld1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3ZWVrLWRheS1sYWJlbFwiICpuZ0Zvcj1cImxldCB3ZWVrRGF5IG9mIHdlZWtEYXlzOyBsZXQgaW5kZXggPSBpbmRleFwiXHJcbiAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwid2Vla0RheS53ZWVrZGF5U2VsZWN0ZWRcIlxyXG4gICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGFibGVdPVwid2Vla0RheS5ldmVudHMgJiYgd2Vla0RheS5ldmVudHMubGVuZ3RoID4gMFwiXHJcbiAgICAgICAgICAgICAoY2xpY2spPVwic2V0VW5pdCh3ZWVrRGF5KVwiPlxyXG4gICAgICAgICAgPGNvLWljb24gKm5nSWY9XCJpbmRleCA9PT0gMCAmJiBzaG93QmFja0J1dHRvblwiIGNsYXNzPVwicG9pbnRlci1ob3ZlciBuby11c2VyLXNlbGVjdCBzdWItdW5pdC1pY29uIGRhcmtcIlxyXG4gICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5BcnJvd1BvaW50TGVmdClcIiAoY2xpY2spPVwic3ViVW5pdCgpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIndlZWtkYXktZGVzY3JpcHRpb25cIiBbdGV4dENvbnRlbnRdPVwid2Vla0RheS53ZWVrZGF5U2hvcnRcIj48L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3ZWVrZGF5LXZhbHVlXCIgW3RleHRDb250ZW50XT1cIndlZWtEYXkud2Vla2RheURheSArICcgJyArIHdlZWtEYXkud2Vla2RheU1vbnRoU2hvcnRcIj48L2Rpdj5cclxuICAgICAgICAgIDxjby1pY29uICpuZ0lmPVwiaW5kZXggPT09IDZcIiBjbGFzcz1cInBvaW50ZXItaG92ZXIgbm8tdXNlci1zZWxlY3QgYWRkLXVuaXQtaWNvbiBkYXJrXCJcclxuICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQXJyb3dQb2ludFJpZ2h0KVwiIChjbGljayk9XCJhZGRVbml0KClcIj48L2NvLWljb24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYWdlbmRhLWhlYWRlci13cmFwcGVyXCIgKm5nSWY9XCJ2aWV3ID09PSB2aWV3VHlwZXMuTW9udGhWaWV3XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIndlZWstZGF5LWxhYmVsXCIgKm5nRm9yPVwibGV0IHdlZWtEYXkgb2Ygd2Vla0RheXM7IGxldCBpbmRleCA9IGluZGV4XCI+XHJcbiAgICAgICAgICA8Y28taWNvbiAqbmdJZj1cImluZGV4ID09PSAwICYmIHNob3dCYWNrQnV0dG9uXCIgY2xhc3M9XCJwb2ludGVyLWhvdmVyIG5vLXVzZXItc2VsZWN0IHN1Yi11bml0LWljb24gZGFya1wiXHJcbiAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkFycm93UG9pbnRMZWZ0KVwiIChjbGljayk9XCJzdWJVbml0KClcIj48L2NvLWljb24+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwid2Vla2RheS1kZXNjcmlwdGlvblwiIFt0ZXh0Q29udGVudF09XCJ3ZWVrRGF5LndlZWtkYXlTaG9ydFwiPjwvZGl2PlxyXG4gICAgICAgICAgPGNvLWljb24gKm5nSWY9XCJpbmRleCA9PT0gNlwiIGNsYXNzPVwicG9pbnRlci1ob3ZlciBuby11c2VyLXNlbGVjdCBhZGQtdW5pdC1pY29uIGRhcmtcIlxyXG4gICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5BcnJvd1BvaW50UmlnaHQpXCIgKGNsaWNrKT1cImFkZFVuaXQoKVwiPjwvY28taWNvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIEFnZW5kYUhlYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlckNvbnRlbnRDaGVja2VkIHtcclxuICAgIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG4gICAgcHVibGljIHJlYWRvbmx5IHZpZXdUeXBlczogdHlwZW9mIENhbGVuZGFyVmlldyA9IENhbGVuZGFyVmlldztcclxuXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNjcm9sbGJhcldpZHRoOiBudW1iZXIgPSAxNTtcclxuXHJcbiAgICBwdWJsaWMgdG9kYXk6IERhdGUgPSBuZXcgRGF0ZSgpO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2V0IHNlbGVjdGVkRGF0ZSh2YWx1ZTogRGF0ZSkge1xyXG4gICAgICAgIHRoaXMuX3NlbGVjdGVkRGF0ZSA9IG5ldyBEYXRlKHZhbHVlKTtcclxuICAgICAgICB0aGlzLl9wcmVwYXJlSGVhZGVyRGF0YSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgc2VsZWN0ZWREYXRlKCk6IERhdGUge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZERhdGU7XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyB2aWV3OiBDYWxlbmRhclZpZXc7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZXQgZmlyc3RBdmFpbGFibGVEYXRlKHZhbHVlOiBEYXRlKSB7XHJcbiAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2ZpcnN0QXZhaWxhYmxlRGF0ZSA9IG5ldyBEYXRlKHZhbHVlKTtcclxuICAgICAgICAgICAgdGhpcy5fcHJlcGFyZUhlYWRlckRhdGEoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBmaXJzdEF2YWlsYWJsZURhdGUoKTogRGF0ZSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ZpcnN0QXZhaWxhYmxlRGF0ZTtcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldCBldmVudHNQZXJEYXkodmFsdWU6IEFnZW5kYUV2ZW50UGVyRGF5W10pIHtcclxuICAgICAgICB0aGlzLl9ldmVudHNQZXJEYXkgPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLl9wcmVwYXJlSGVhZGVyRGF0YSgpO1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgdmlld1NlbGVjdGlvbjogYm9vbGVhbjtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyB2aWV3Q2hhbmdlOiBFdmVudEVtaXR0ZXI8Q2FsZW5kYXJWaWV3PiA9IG5ldyBFdmVudEVtaXR0ZXI8Q2FsZW5kYXJWaWV3PigpO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIHNlbGVjdGVkRGF0ZUNoYW5nZTogRXZlbnRFbWl0dGVyPERhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIHJhbmdlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8RGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XHJcblxyXG4gICAgcHVibGljIHdlZWtEYXlzOiBXZWVrZGF5W10gPSBbXTtcclxuICAgIHB1YmxpYyBkYXk6IERheSA9IE5VTExfREFZO1xyXG4gICAgcHVibGljIHNob3dCYWNrQnV0dG9uOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICBwcml2YXRlIF9zZWxlY3RlZERhdGU6IERhdGU7XHJcbiAgICBwcml2YXRlIF9maXJzdEF2YWlsYWJsZURhdGU6IERhdGU7XHJcbiAgICBwcml2YXRlIF9ldmVudHNQZXJEYXk6IEFnZW5kYUV2ZW50UGVyRGF5W10gPSBbXTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBASW5qZWN0KExPQ0FMRV9JRCkgcHJpdmF0ZSByZWFkb25seSBfbG9jYWxlOiBMYW5ndWFnZUNvZGUsXHJcbiAgICAgICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgICAgICBwcml2YXRlIF9yZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgICAgIHByaXZhdGUgX25nWm9uZTogTmdab25lLFxyXG4gICAgICAgIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlXHJcbiAgICApIHtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCB0aGlzLl9vblJlc2l6ZSk7XHJcbiAgICAgICAgdGhpcy5fZWxlbWVudFJlZiA9IHVuZGVmaW5lZDtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xyXG4gICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCB0aGlzLl9vblJlc2l6ZSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3Jlc2l6ZUhvc3QoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3ViVW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZERhdGUpIHtcclxuICAgICAgICAgICAgY29uc3QgbmV3RGF0ZTogRGF0ZSA9IG5ldyBEYXRlKHRoaXMuc2VsZWN0ZWREYXRlKTtcclxuICAgICAgICAgICAgc3dpdGNoICh0aGlzLnZpZXcpIHtcclxuICAgICAgICAgICAgICAgIGNhc2UgQ2FsZW5kYXJWaWV3LkRheVZpZXc6XHJcbiAgICAgICAgICAgICAgICAgICAgbmV3RGF0ZS5zZXREYXRlKHRoaXMuc2VsZWN0ZWREYXRlLmdldERhdGUoKSAtIDEpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBDYWxlbmRhclZpZXcuRGF5c0Fyb3VuZDpcclxuICAgICAgICAgICAgICAgICAgbmV3RGF0ZS5zZXREYXRlKHRoaXMuc2VsZWN0ZWREYXRlLmdldERhdGUoKSAtIDEpO1xyXG4gICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgQ2FsZW5kYXJWaWV3LldlZWtWaWV3OlxyXG4gICAgICAgICAgICAgICAgICAgIG5ld0RhdGUuc2V0RGF0ZSh0aGlzLnNlbGVjdGVkRGF0ZS5nZXREYXRlKCkgLSAzKTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgQ2FsZW5kYXJWaWV3LldlZWtTZWxlY3RWaWV3OlxyXG4gICAgICAgICAgICAgICAgICAgIG5ld0RhdGUuc2V0RGF0ZSh0aGlzLnNlbGVjdGVkRGF0ZS5nZXREYXRlKCkgLSA3KTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgQ2FsZW5kYXJWaWV3Lk1vbnRoVmlldzpcclxuICAgICAgICAgICAgICAgICAgICBuZXdEYXRlLnNldE1vbnRoKHRoaXMuc2VsZWN0ZWREYXRlLmdldE1vbnRoKCkgLSAxKTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IG5ld0RhdGU7XHJcbiAgICAgICAgICAgIHRoaXMucmFuZ2VDaGFuZ2UuZW1pdCh0aGlzLnNlbGVjdGVkRGF0ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhZGRVbml0KCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkRGF0ZSkge1xyXG4gICAgICAgICAgICBjb25zdCBuZXdEYXRlOiBEYXRlID0gbmV3IERhdGUodGhpcy5zZWxlY3RlZERhdGUpO1xyXG4gICAgICAgICAgICBzd2l0Y2ggKHRoaXMudmlldykge1xyXG4gICAgICAgICAgICAgICAgY2FzZSBDYWxlbmRhclZpZXcuRGF5VmlldzpcclxuICAgICAgICAgICAgICAgICAgICBuZXdEYXRlLnNldERhdGUodGhpcy5zZWxlY3RlZERhdGUuZ2V0RGF0ZSgpICsgMSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIENhbGVuZGFyVmlldy5EYXlzQXJvdW5kOlxyXG4gICAgICAgICAgICAgICAgICAgIG5ld0RhdGUuc2V0RGF0ZSh0aGlzLnNlbGVjdGVkRGF0ZS5nZXREYXRlKCkgKyAxKTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgQ2FsZW5kYXJWaWV3LldlZWtWaWV3OlxyXG4gICAgICAgICAgICAgICAgICAgIG5ld0RhdGUuc2V0RGF0ZSh0aGlzLnNlbGVjdGVkRGF0ZS5nZXREYXRlKCkgKyAzKTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgQ2FsZW5kYXJWaWV3LldlZWtTZWxlY3RWaWV3OlxyXG4gICAgICAgICAgICAgICAgICAgIG5ld0RhdGUuc2V0RGF0ZSh0aGlzLnNlbGVjdGVkRGF0ZS5nZXREYXRlKCkgKyA3KTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgQ2FsZW5kYXJWaWV3Lk1vbnRoVmlldzpcclxuICAgICAgICAgICAgICAgICAgICBuZXdEYXRlLnNldE1vbnRoKHRoaXMuc2VsZWN0ZWREYXRlLmdldE1vbnRoKCkgKyAxKTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IG5ld0RhdGU7XHJcbiAgICAgICAgICAgIHRoaXMucmFuZ2VDaGFuZ2UuZW1pdCh0aGlzLnNlbGVjdGVkRGF0ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzZXRVbml0KHdlZWtEYXk6IFdlZWtkYXkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IHdlZWtEYXkuZGF0ZTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZUNoYW5nZS5lbWl0KHRoaXMuc2VsZWN0ZWREYXRlKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgY2hhbmdlVGhlVmlldyh2aWV3OiBDYWxlbmRhclZpZXcpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnZpZXcgPSB2aWV3O1xyXG4gICAgICAgIHRoaXMudmlld0NoYW5nZS5lbWl0KHZpZXcpO1xyXG4gICAgICAgIHRoaXMuX3ByZXBhcmVIZWFkZXJEYXRhKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfb25SZXNpemU6IEV2ZW50TGlzdGVuZXIgPSBhc3luYyAoKTogUHJvbWlzZTx2b2lkPiA9PiB7XHJcbiAgICAgICAgdGhpcy5fcmVzaXplSG9zdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogTmVlZCB0byByZXNpemUgdGhlIGhvc3QgY29tcG9uZW50IHRvIHNpemUgaXQncyBmaXhlZCBwb3NpdGlvbmVkIGNoaWxkIHRocm91Z2ggY3NzXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX3Jlc2l6ZUhvc3QoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuX2VsZW1lbnRSZWYpIHtcclxuICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUoXHJcbiAgICAgICAgICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIFwid2lkdGhcIiwgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQuY2xpZW50V2lkdGggLSB0aGlzLnNjcm9sbGJhcldpZHRoICsgXCJweFwiKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfcHJlcGFyZUhlYWRlckRhdGEoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWREYXRlKSB7XHJcbiAgICAgICAgICAgIHN3aXRjaCAodGhpcy52aWV3KSB7XHJcbiAgICAgICAgICAgICAgICBjYXNlIENhbGVuZGFyVmlldy5EYXlWaWV3OlxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRheTogRGF5ID0gbmV3IERheSgpO1xyXG4gICAgICAgICAgICAgICAgICAgIGRheS5kYXRlID0gbmV3IERhdGUodGhpcy5zZWxlY3RlZERhdGUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG9wdGlvbnM6IGFueSA9IHsgeWVhcjogXCJudW1lcmljXCIsIG1vbnRoOiBcImxvbmdcIiwgZGF5OiBcIm51bWVyaWNcIiB9O1xyXG4gICAgICAgICAgICAgICAgICAgIGRheS5kZXNjcmlwdGlvbiA9IHRoaXMuc2VsZWN0ZWREYXRlLnRvTG9jYWxlRGF0ZVN0cmluZyh0aGlzLl9sb2NhbGUsIG9wdGlvbnMpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGF5ID0gZGF5O1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBDYWxlbmRhclZpZXcuRGF5c0Fyb3VuZDpcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCB3ZWVrQXJvdW5kVmlldzogV2VlayA9IENhbGVuZGFyVXRpbHMuR2V0RGF5c0Fyb3VuZCh0aGlzLnNlbGVjdGVkRGF0ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy53ZWVrRGF5cyA9IHdlZWtBcm91bmRWaWV3LndlZWtEYXlzO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmZpcnN0QXZhaWxhYmxlRGF0ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5zaG93QmFja0J1dHRvbiA9IHRoaXMud2Vla0RheXMuZmluZCh3ZCA9PiBEYXRlVXRpbHMuRGF0ZXNFcXVhbCh0aGlzLmZpcnN0QXZhaWxhYmxlRGF0ZSwgd2QuZGF0ZSkpID09PSB1bmRlZmluZWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBDYWxlbmRhclZpZXcuV2Vla1ZpZXc6XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgd2Vla1ZpZXc6IFdlZWsgPSBDYWxlbmRhclV0aWxzLkdldERheXNPZldlZWsodGhpcy5zZWxlY3RlZERhdGUpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMud2Vla0RheXMgPSB3ZWVrVmlldy53ZWVrRGF5cztcclxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5maXJzdEF2YWlsYWJsZURhdGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zaG93QmFja0J1dHRvbiA9IHRoaXMud2Vla0RheXMuZmluZCh3ZCA9PiBEYXRlVXRpbHMuRGF0ZXNFcXVhbCh0aGlzLmZpcnN0QXZhaWxhYmxlRGF0ZSwgd2QuZGF0ZSkpID09PSB1bmRlZmluZWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBDYWxlbmRhclZpZXcuV2Vla1NlbGVjdFZpZXc6XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgd2Vla1NlbGVjdFZpZXc6IFdlZWsgPSBDYWxlbmRhclV0aWxzLkdldERheXNPZldlZWsodGhpcy5zZWxlY3RlZERhdGUpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMud2Vla0RheXMgPSB3ZWVrU2VsZWN0Vmlldy53ZWVrRGF5cztcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLndlZWtEYXlzLmZvckVhY2goKHdkOiBXZWVrZGF5KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGV2UGVyRGF5OiBBZ2VuZGFFdmVudFBlckRheSA9IHRoaXMuX2V2ZW50c1BlckRheSAmJiB0aGlzLl9ldmVudHNQZXJEYXkubGVuZ3RoID4gMCA/IHRoaXMuX2V2ZW50c1BlckRheS5maW5kKGUgPT4gRGF0ZVV0aWxzLkRhdGVzRXF1YWwoZS5kYXRlLCB3ZC5kYXRlKSkgOiBudWxsO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXZQZXJEYXkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdkLmV2ZW50cyA9IGV2UGVyRGF5LmV2ZW50cztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdkLndlZWtkYXlTZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZmlyc3RBdmFpbGFibGVEYXRlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2hvd0JhY2tCdXR0b24gPSB0aGlzLndlZWtEYXlzLmZpbmQod2QgPT4gRGF0ZVV0aWxzLkRhdGVzRXF1YWwodGhpcy5maXJzdEF2YWlsYWJsZURhdGUsIHdkLmRhdGUpKSA9PT0gdW5kZWZpbmVkO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgQ2FsZW5kYXJWaWV3Lk1vbnRoVmlldzpcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCB3ZWVrT2ZNb250aDogV2VlayA9IENhbGVuZGFyVXRpbHMuR2V0RGF5c09mV2Vlayh0aGlzLnNlbGVjdGVkRGF0ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy53ZWVrRGF5cyA9IHdlZWtPZk1vbnRoLndlZWtEYXlzO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmZpcnN0QXZhaWxhYmxlRGF0ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dCYWNrQnV0dG9uID0gdGhpcy53ZWVrRGF5cy5maW5kKHdkID0+IERhdGVVdGlscy5EYXRlc0VxdWFsKHRoaXMuZmlyc3RBdmFpbGFibGVEYXRlLCB3ZC5kYXRlKSkgPT09IHVuZGVmaW5lZDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNhcGl0YWxpemVTdHJpbmcobGFiZWw6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgIHJldHVybiBsYWJlbFswXS50b1VwcGVyQ2FzZSgpICsgbGFiZWwuc2xpY2UoMSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldFdlZWtOdW1iZXIoZGF0ZTogRGF0ZSk6IG51bWJlciB7XHJcbiAgICAgICAgLy8gQ29weSBkYXRlIHNvIHdlIGRvbuKAmXQgbW9kaWZ5IHRoZSBvcmlnaW5hbFxyXG4gICAgICAgIGNvbnN0IHRhcmdldCA9IG5ldyBEYXRlKERhdGUuVVRDKGRhdGUuZ2V0RnVsbFllYXIoKSwgZGF0ZS5nZXRNb250aCgpLCBkYXRlLmdldERhdGUoKSkpO1xyXG5cclxuICAgICAgICAvLyBJU08gd2VlayBzdGFydHMgb24gTW9uZGF5ICgxKSBhbmQgZW5kcyBvbiBTdW5kYXkgKDcpXHJcbiAgICAgICAgLy8gU2V0IHRvIG5lYXJlc3QgVGh1cnNkYXk6IGN1cnJlbnQgZGF0ZSArIDQgLSBjdXJyZW50IGRheSBudW1iZXJcclxuICAgICAgICBjb25zdCBkYXlOdW0gPSB0YXJnZXQuZ2V0VVRDRGF5KCkgfHwgNztcclxuICAgICAgICB0YXJnZXQuc2V0VVRDRGF0ZSh0YXJnZXQuZ2V0VVRDRGF0ZSgpICsgNCAtIGRheU51bSk7XHJcblxyXG4gICAgICAgIC8vIENhbGN1bGF0ZSB3ZWVrIG51bWJlclxyXG4gICAgICAgIGNvbnN0IHllYXJTdGFydCA9IG5ldyBEYXRlKERhdGUuVVRDKHRhcmdldC5nZXRVVENGdWxsWWVhcigpLCAwLCAxKSk7XHJcbiAgICAgICAgY29uc3Qgd2Vla05vID0gTWF0aC5jZWlsKCgoKHRhcmdldC5nZXRUaW1lKCkgLSB5ZWFyU3RhcnQuZ2V0VGltZSgpKSAvIDg2NDAwMDAwKSArIDEpIC8gNyk7XHJcblxyXG4gICAgICAgIHJldHVybiB3ZWVrTm87XHJcbiAgICB9XHJcbn1cclxuIl19
366
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlbmRhLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9kYXRlLXBsYW5uaW5nL2NvbXBvbmVudC9hZ2VuZGEvYWdlbmRhLWhlYWRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFNBQVMsRUFDVCxNQUFNLEVBR04sTUFBTSxFQUNOLFNBQVMsRUFBRSxpQkFBaUIsRUFDN0IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUdqRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDL0QsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQy9ELE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQTtBQUMvQyxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFFaEQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBK0h4RSxNQUFNLE9BQU8scUJBQXFCO0lBMkQ5QixZQUN3QyxPQUFxQixFQUNqRCxXQUF1QixFQUN2QixTQUFvQixFQUNwQixPQUFlLEVBQ2hCLGdCQUFrQztRQUpMLFlBQU8sR0FBUCxPQUFPLENBQWM7UUFDakQsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDdkIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixZQUFPLEdBQVAsT0FBTyxD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dGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyQ29udGVudENoZWNrZWQsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEluamVjdCxcclxuICBJbnB1dCxcclxuICBMT0NBTEVfSUQsXHJcbiAgTmdab25lLFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFJlbmRlcmVyMiwgVmlld0VuY2Fwc3VsYXRpb25cclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0NhbGVuZGFyVmlld30gZnJvbSBcIi4uLy4uLy4uLy4uL2VudW0vY2FsZW5kYXItdmlldy5lbnVtXCI7XHJcbmltcG9ydCB7TGFuZ3VhZ2VDb2RlfSBmcm9tIFwiLi4vLi4vLi4vLi4vZW51bS9sYW5ndWFnZS1jb2RlLmVudW1cIjtcclxuaW1wb3J0IHtXZWVrZGF5fSBmcm9tIFwiLi4vLi4vLi4vLi4vbW9kZWwvd2Vla2RheS5tb2RlbFwiO1xyXG5pbXBvcnQge1dlZWt9IGZyb20gXCIuLi8uLi8uLi8uLi9tb2RlbC93ZWVrLm1vZGVsXCI7XHJcbmltcG9ydCB7Q2FsZW5kYXJVdGlsc30gZnJvbSBcIi4uLy4uLy4uLy4uL3V0aWxzL2NhbGVuZGFyLnV0aWxzXCI7XHJcbmltcG9ydCB7TlVMTF9EQVl9IGZyb20gXCIuLi8uLi8uLi8uLi9tb2RlbC9hZ2VuZGEtbnVsbC1vYmplY3RzXCI7XHJcbmltcG9ydCB7RGF5fSBmcm9tIFwiLi4vLi4vLi4vLi4vbW9kZWwvZGF5Lm1vZGVsXCJcclxuaW1wb3J0IHtJY29ufSBmcm9tIFwiLi4vLi4vLi4vLi4vZW51bS9pY29uLmVudW1cIjtcclxuaW1wb3J0IHtBZ2VuZGFFdmVudFBlckRheX0gZnJvbSBcIi4uLy4uLy4uLy4uL21vZGVsL2FnZW5kYS1ldmVudC1wZXItZGF5Lm1vZGVsXCI7XHJcbmltcG9ydCB7RGF0ZVV0aWxzfSBmcm9tIFwiLi4vLi4vLi4vLi4vdXRpbHMvZGF0ZS11dGlsc1wiO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJhZ2VuZGEtaGVhZGVyXCIsXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYWdlbmRhLWhlYWRlci13cmFwcGVyIGRheS12aWV3XCIgKm5nSWY9XCJ2aWV3ID09PSB2aWV3VHlwZXMuRGF5Vmlld1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3ZWVrLWRheS1sYWJlbFwiPlxyXG4gICAgICAgICAgPGNvLWljb24gY2xhc3M9XCJwb2ludGVyLWhvdmVyIG5vLXVzZXItc2VsZWN0IHN1Yi11bml0LWljb24gZGFya1wiXHJcbiAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkFycm93UG9pbnRMZWZ0KVwiIChjbGljayk9XCJzdWJVbml0KClcIj48L2NvLWljb24+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGF5LWRlc2NyaXB0aW9uXCIgW3RleHRDb250ZW50XT1cImRheS5kZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgPGNvLWljb24gY2xhc3M9XCJwb2ludGVyLWhvdmVyIG5vLXVzZXItc2VsZWN0IGFkZC11bml0LWljb24gZGFya1wiXHJcbiAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkFycm93UG9pbnRSaWdodClcIiAoY2xpY2spPVwiYWRkVW5pdCgpXCI+PC9jby1pY29uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImFnZW5kYS1oZWFkZXItd3JhcHBlciBkYXlzLWFyb3VuZFwiICpuZ0lmPVwidmlldyA9PT0gdmlld1R5cGVzLkRheXNBcm91bmRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibW9udGgtZGVzY3JpcHRpb25cIiAqbmdJZj1cIndlZWtEYXlzPy5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgICB7eyAoc2VsZWN0ZWREYXRlIHwgZGF0ZTogJ01NTU0nKSArICcgJyArIHNlbGVjdGVkRGF0ZS5nZXRGdWxsWWVhcigpICsgJyAnICsgKCdXRUVLJyB8IHNoYXJlZExvY2FsaXplKSsgJzogJyArICBnZXRXZWVrTnVtYmVyKHNlbGVjdGVkRGF0ZSkgfX1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwid2Vlay1kYXktbGFiZWwgZGF5cy1hcm91bmRcIiAqbmdGb3I9XCJsZXQgd2Vla0RheSBvZiB3ZWVrRGF5czsgbGV0IGluZGV4ID0gaW5kZXhcIlxyXG4gICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cIndlZWtEYXkud2Vla2RheVNlbGVjdGVkXCIgKGNsaWNrKT1cInNldFVuaXQod2Vla0RheSlcIj5cclxuICAgICAgICAgIDxjby1pY29uICpuZ0lmPVwic2hvd0JhY2tCdXR0b24gJiYgaW5kZXggPT09IDBcIiBjbGFzcz1cInBvaW50ZXItaG92ZXIgbm8tdXNlci1zZWxlY3Qgc3ViLXVuaXQtaWNvbiBkYXJrXCJcclxuICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQXJyb3dQb2ludExlZnQpXCIgKGNsaWNrKT1cInN1YlVuaXQoKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3ZWVrZGF5LXZhbHVlIGRheVwiXHJcbiAgICAgICAgICAgICAgIFt0ZXh0Q29udGVudF09XCJjYXBpdGFsaXplU3RyaW5nKHdlZWtEYXkud2Vla2RheVNob3J0KVwiPjwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIndlZWtkYXktdmFsdWUgZGF0ZVwiXHJcbiAgICAgICAgICAgICAgIFt0ZXh0Q29udGVudF09XCJ3ZWVrRGF5LndlZWtkYXlEYXlcIj48L2Rpdj5cclxuICAgICAgICAgIDxjby1pY29uICpuZ0lmPVwiaW5kZXggPT09IDZcIiBjbGFzcz1cInBvaW50ZXItaG92ZXIgbm8tdXNlci1zZWxlY3QgYWRkLXVuaXQtaWNvbiBkYXJrXCJcclxuICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQXJyb3dQb2ludFJpZ2h0KVwiIChjbGljayk9XCJhZGRVbml0KClcIj48L2NvLWljb24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYWdlbmRhLWhlYWRlci13cmFwcGVyIHRocmVlLWRheXMtdmlld1wiICpuZ0lmPVwidmlldyA9PT0gdmlld1R5cGVzLlRocmVlRGF5c1ZpZXdcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaG91ci1sYWJlbC1wbGFjZWhvbGRlclwiICpuZ0lmPVwidmlld1NlbGVjdGlvblwiPlxyXG4gICAgICAgICAgPHZpZXctc2VsZWN0IFtzZWxlY3RlZFZpZXddPVwidmlld1wiIChzZWxlY3RlZFZpZXdDaGFuZ2UpPVwiY2hhbmdlVGhlVmlldygkZXZlbnQpXCI+PC92aWV3LXNlbGVjdD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwid2Vlay12aWV3LWhlYWRlci13cmFwcGVyXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwid2Vlay1kYXktbGFiZWxcIiAqbmdGb3I9XCJsZXQgd2Vla0RheSBvZiB3ZWVrRGF5czsgbGV0IGluZGV4ID0gaW5kZXhcIlxyXG4gICAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwid2Vla0RheS53ZWVrZGF5U2VsZWN0ZWRcIj5cclxuICAgICAgICAgICAgPGNvLWljb24gKm5nSWY9XCJzaG93QmFja0J1dHRvbiAmJiBpbmRleCA9PT0gMFwiIGNsYXNzPVwicG9pbnRlci1ob3ZlciBuby11c2VyLXNlbGVjdCBzdWItdW5pdC1pY29uIGRhcmtcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkFycm93UG9pbnRMZWZ0KVwiIChjbGljayk9XCJzdWJVbml0KClcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ3ZWVrRGF5Lm5ld01vbnRoXCJcclxuICAgICAgICAgICAgICAgICBjbGFzcz1cIm1vbnRoLWRlc2NyaXB0aW9uXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cIihzZWxlY3RlZERhdGUgfCBkYXRlOiAnTU1NTScpICsgJyAnICsgc2VsZWN0ZWREYXRlLmdldEZ1bGxZZWFyKCkgKyAnICcgKyAoJ1dFRUsnIHwgc2hhcmVkTG9jYWxpemUpKyAnOiAnICsgIGdldFdlZWtOdW1iZXIoc2VsZWN0ZWREYXRlKSBcIj4gPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndlZWtkYXktdmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgIFt0ZXh0Q29udGVudF09XCJjYXBpdGFsaXplU3RyaW5nKHdlZWtEYXkud2Vla2RheUxvbmcpICsgJyAnICsgd2Vla0RheS53ZWVrZGF5RGF5ICsgJyAnICsgY2FwaXRhbGl6ZVN0cmluZyh3ZWVrRGF5LndlZWtkYXlNb250aExvbmcpICsgJyAnICsgd2Vla0RheS53ZWVrZGF5WWVhciBcIj48L2Rpdj5cclxuICAgICAgICAgICAgPGNvLWljb24gKm5nSWY9XCJpbmRleCA9PT0gMlwiIGNsYXNzPVwicG9pbnRlci1ob3ZlciBuby11c2VyLXNlbGVjdCBhZGQtdW5pdC1pY29uIGRhcmtcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkFycm93UG9pbnRSaWdodClcIiAoY2xpY2spPVwiYWRkVW5pdCgpXCI+PC9jby1pY29uPlxyXG5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJhZ2VuZGEtaGVhZGVyLXdyYXBwZXIgd2Vlay12aWV3XCIgKm5nSWY9XCJ2aWV3ID09PSB2aWV3VHlwZXMuV2Vla1ZpZXdcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaG91ci1sYWJlbC1wbGFjZWhvbGRlclwiICpuZ0lmPVwidmlld1NlbGVjdGlvblwiPlxyXG4gICAgICAgICAgPHZpZXctc2VsZWN0IFtzZWxlY3RlZFZpZXddPVwidmlld1wiIChzZWxlY3RlZFZpZXdDaGFuZ2UpPVwiY2hhbmdlVGhlVmlldygkZXZlbnQpXCI+PC92aWV3LXNlbGVjdD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3ZWVrLXZpZXctaGVhZGVyLXdyYXBwZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwid2Vlay1kYXktbGFiZWxcIiAqbmdGb3I9XCJsZXQgd2Vla0RheSBvZiB3ZWVrRGF5czsgbGV0IGluZGV4ID0gaW5kZXhcIlxyXG4gICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cIndlZWtEYXkud2Vla2RheVNlbGVjdGVkXCIgKGNsaWNrKT1cInNldFVuaXQod2Vla0RheSlcIj5cclxuICAgICAgICAgIDxjby1pY29uICpuZ0lmPVwic2hvd0JhY2tCdXR0b24gJiYgaW5kZXggPT09IDBcIiBjbGFzcz1cInBvaW50ZXItaG92ZXIgbm8tdXNlci1zZWxlY3Qgc3ViLXVuaXQtaWNvbiBkYXJrXCJcclxuICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQXJyb3dQb2ludExlZnQpXCIgKGNsaWNrKT1cInN1YlVuaXQoKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJ3ZWVrRGF5Lm5ld01vbnRoXCJcclxuICAgICAgICAgICAgICAgY2xhc3M9XCJtb250aC1kZXNjcmlwdGlvblwiPlxyXG4gICAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwiKHNlbGVjdGVkRGF0ZSB8IGRhdGU6ICdNTU1NJykgKyAnICcgKyBzZWxlY3RlZERhdGUuZ2V0RnVsbFllYXIoKSArICcgJyArICgnV0VFSycgfCBzaGFyZWRMb2NhbGl6ZSkrICc6ICcgKyAgZ2V0V2Vla051bWJlcihzZWxlY3RlZERhdGUpIFwiPiA8L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3ZWVrZGF5LXZhbHVlXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwiY2FwaXRhbGl6ZVN0cmluZyh3ZWVrRGF5LndlZWtkYXlMb25nKVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJ3ZWVrRGF5LndlZWtkYXlEYXkgKyAnICcgKyBjYXBpdGFsaXplU3RyaW5nKHdlZWtEYXkud2Vla2RheU1vbnRoTG9uZykgKyAnICcgKyB3ZWVrRGF5LndlZWtkYXlZZWFyXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8Y28taWNvbiAqbmdJZj1cImluZGV4ID09PSA2XCIgY2xhc3M9XCJwb2ludGVyLWhvdmVyIG5vLXVzZXItc2VsZWN0IGFkZC11bml0LWljb24gZGFya1wiXHJcbiAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkFycm93UG9pbnRSaWdodClcIiAoY2xpY2spPVwiYWRkVW5pdCgpXCI+PC9jby1pY29uPlxyXG5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYWdlbmRhLWhlYWRlci13cmFwcGVyIHdvcmstd2Vlay12aWV3XCIgKm5nSWY9XCJ2aWV3ID09PSB2aWV3VHlwZXMuV2Vla1dvcmtWaWV3XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImhvdXItbGFiZWwtcGxhY2Vob2xkZXJcIiAqbmdJZj1cInZpZXdTZWxlY3Rpb25cIj5cclxuICAgICAgICAgIDx2aWV3LXNlbGVjdCBbc2VsZWN0ZWRWaWV3XT1cInZpZXdcIiAoc2VsZWN0ZWRWaWV3Q2hhbmdlKT1cImNoYW5nZVRoZVZpZXcoJGV2ZW50KVwiPjwvdmlldy1zZWxlY3Q+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIndlZWstdmlldy1oZWFkZXItd3JhcHBlclwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIndlZWstZGF5LWxhYmVsXCIgKm5nRm9yPVwibGV0IHdlZWtEYXkgb2Ygd2Vla0RheXM7IGxldCBpbmRleCA9IGluZGV4XCJcclxuICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cIndlZWtEYXkud2Vla2RheVNlbGVjdGVkXCI+XHJcbiAgICAgICAgICAgIDxjby1pY29uICpuZ0lmPVwic2hvd0JhY2tCdXR0b24gJiYgaW5kZXggPT09IDBcIiBjbGFzcz1cInBvaW50ZXItaG92ZXIgbm8tdXNlci1zZWxlY3Qgc3ViLXVuaXQtaWNvbiBkYXJrXCJcclxuICAgICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5BcnJvd1BvaW50TGVmdClcIiAoY2xpY2spPVwic3ViVW5pdCgpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwid2Vla0RheS5uZXdNb250aFwiXHJcbiAgICAgICAgICAgICAgICAgY2xhc3M9XCJtb250aC1kZXNjcmlwdGlvblwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCIoc2VsZWN0ZWREYXRlIHwgZGF0ZTogJ01NTU0nKSArICcgJyArIHNlbGVjdGVkRGF0ZS5nZXRGdWxsWWVhcigpICsgJyAnICsgKCdXRUVLJyB8IHNoYXJlZExvY2FsaXplKSsgJzogJyArICBnZXRXZWVrTnVtYmVyKHNlbGVjdGVkRGF0ZSkgXCI+IDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3ZWVrZGF5LXZhbHVlXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cImNhcGl0YWxpemVTdHJpbmcod2Vla0RheS53ZWVrZGF5TG9uZylcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cIndlZWtEYXkud2Vla2RheURheSArICcgJyArIGNhcGl0YWxpemVTdHJpbmcod2Vla0RheS53ZWVrZGF5TW9udGhMb25nKSArICcgJyArIHdlZWtEYXkud2Vla2RheVllYXJcIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8Y28taWNvbiAqbmdJZj1cImluZGV4ID09PSA0XCIgY2xhc3M9XCJwb2ludGVyLWhvdmVyIG5vLXVzZXItc2VsZWN0IGFkZC11bml0LWljb24gZGFya1wiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQXJyb3dQb2ludFJpZ2h0KVwiIChjbGljayk9XCJhZGRVbml0KClcIj48L2NvLWljb24+XHJcblxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJhZ2VuZGEtaGVhZGVyLXdyYXBwZXJcIiAqbmdJZj1cInZpZXcgPT09IHZpZXdUeXBlcy5XZWVrU2VsZWN0Vmlld1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3ZWVrLWRheS1sYWJlbFwiICpuZ0Zvcj1cImxldCB3ZWVrRGF5IG9mIHdlZWtEYXlzOyBsZXQgaW5kZXggPSBpbmRleFwiXHJcbiAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwid2Vla0RheS53ZWVrZGF5U2VsZWN0ZWRcIlxyXG4gICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGFibGVdPVwid2Vla0RheS5ldmVudHMgJiYgd2Vla0RheS5ldmVudHMubGVuZ3RoID4gMFwiXHJcbiAgICAgICAgICAgICAoY2xpY2spPVwic2V0VW5pdCh3ZWVrRGF5KVwiPlxyXG4gICAgICAgICAgPGNvLWljb24gKm5nSWY9XCJpbmRleCA9PT0gMCAmJiBzaG93QmFja0J1dHRvblwiIGNsYXNzPVwicG9pbnRlci1ob3ZlciBuby11c2VyLXNlbGVjdCBzdWItdW5pdC1pY29uIGRhcmtcIlxyXG4gICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5BcnJvd1BvaW50TGVmdClcIiAoY2xpY2spPVwic3ViVW5pdCgpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIndlZWtkYXktZGVzY3JpcHRpb25cIiBbdGV4dENvbnRlbnRdPVwid2Vla0RheS53ZWVrZGF5U2hvcnRcIj48L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3ZWVrZGF5LXZhbHVlXCIgW3RleHRDb250ZW50XT1cIndlZWtEYXkud2Vla2RheURheSArICcgJyArIHdlZWtEYXkud2Vla2RheU1vbnRoU2hvcnRcIj48L2Rpdj5cclxuICAgICAgICAgIDxjby1pY29uICpuZ0lmPVwiaW5kZXggPT09IDZcIiBjbGFzcz1cInBvaW50ZXItaG92ZXIgbm8tdXNlci1zZWxlY3QgYWRkLXVuaXQtaWNvbiBkYXJrXCJcclxuICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQXJyb3dQb2ludFJpZ2h0KVwiIChjbGljayk9XCJhZGRVbml0KClcIj48L2NvLWljb24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYWdlbmRhLWhlYWRlci13cmFwcGVyXCIgKm5nSWY9XCJ2aWV3ID09PSB2aWV3VHlwZXMuTW9udGhWaWV3XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIndlZWstZGF5LWxhYmVsXCIgKm5nRm9yPVwibGV0IHdlZWtEYXkgb2Ygd2Vla0RheXM7IGxldCBpbmRleCA9IGluZGV4XCI+XHJcbiAgICAgICAgICA8Y28taWNvbiAqbmdJZj1cImluZGV4ID09PSAwICYmIHNob3dCYWNrQnV0dG9uXCIgY2xhc3M9XCJwb2ludGVyLWhvdmVyIG5vLXVzZXItc2VsZWN0IHN1Yi11bml0LWljb24gZGFya1wiXHJcbiAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkFycm93UG9pbnRMZWZ0KVwiIChjbGljayk9XCJzdWJVbml0KClcIj48L2NvLWljb24+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwid2Vla2RheS1kZXNjcmlwdGlvblwiIFt0ZXh0Q29udGVudF09XCJ3ZWVrRGF5LndlZWtkYXlTaG9ydFwiPjwvZGl2PlxyXG4gICAgICAgICAgPGNvLWljb24gKm5nSWY9XCJpbmRleCA9PT0gNlwiIGNsYXNzPVwicG9pbnRlci1ob3ZlciBuby11c2VyLXNlbGVjdCBhZGQtdW5pdC1pY29uIGRhcmtcIlxyXG4gICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5BcnJvd1BvaW50UmlnaHQpXCIgKGNsaWNrKT1cImFkZFVuaXQoKVwiPjwvY28taWNvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIEFnZW5kYUhlYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlckNvbnRlbnRDaGVja2VkIHtcclxuICAgIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG4gICAgcHVibGljIHJlYWRvbmx5IHZpZXdUeXBlczogdHlwZW9mIENhbGVuZGFyVmlldyA9IENhbGVuZGFyVmlldztcclxuXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNjcm9sbGJhcldpZHRoOiBudW1iZXIgPSAxNTtcclxuXHJcbiAgICBwdWJsaWMgdG9kYXk6IERhdGUgPSBuZXcgRGF0ZSgpO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2V0IHNlbGVjdGVkRGF0ZSh2YWx1ZTogRGF0ZSkge1xyXG4gICAgICAgIHRoaXMuX3NlbGVjdGVkRGF0ZSA9IG5ldyBEYXRlKHZhbHVlKTtcclxuICAgICAgICB0aGlzLl9wcmVwYXJlSGVhZGVyRGF0YSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgc2VsZWN0ZWREYXRlKCk6IERhdGUge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZERhdGU7XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyB2aWV3OiBDYWxlbmRhclZpZXc7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZXQgZmlyc3RBdmFpbGFibGVEYXRlKHZhbHVlOiBEYXRlKSB7XHJcbiAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2ZpcnN0QXZhaWxhYmxlRGF0ZSA9IG5ldyBEYXRlKHZhbHVlKTtcclxuICAgICAgICAgICAgdGhpcy5fcHJlcGFyZUhlYWRlckRhdGEoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBmaXJzdEF2YWlsYWJsZURhdGUoKTogRGF0ZSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ZpcnN0QXZhaWxhYmxlRGF0ZTtcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldCBldmVudHNQZXJEYXkodmFsdWU6IEFnZW5kYUV2ZW50UGVyRGF5W10pIHtcclxuICAgICAgICB0aGlzLl9ldmVudHNQZXJEYXkgPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLl9wcmVwYXJlSGVhZGVyRGF0YSgpO1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgdmlld1NlbGVjdGlvbjogYm9vbGVhbjtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyB2aWV3Q2hhbmdlOiBFdmVudEVtaXR0ZXI8Q2FsZW5kYXJWaWV3PiA9IG5ldyBFdmVudEVtaXR0ZXI8Q2FsZW5kYXJWaWV3PigpO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIHNlbGVjdGVkRGF0ZUNoYW5nZTogRXZlbnRFbWl0dGVyPERhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIHJhbmdlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8RGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XHJcblxyXG4gICAgcHVibGljIHdlZWtEYXlzOiBXZWVrZGF5W10gPSBbXTtcclxuICAgIHB1YmxpYyBkYXk6IERheSA9IE5VTExfREFZO1xyXG4gICAgcHVibGljIHNob3dCYWNrQnV0dG9uOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICBwcml2YXRlIF9zZWxlY3RlZERhdGU6IERhdGU7XHJcbiAgICBwcml2YXRlIF9maXJzdEF2YWlsYWJsZURhdGU6IERhdGU7XHJcbiAgICBwcml2YXRlIF9ldmVudHNQZXJEYXk6IEFnZW5kYUV2ZW50UGVyRGF5W10gPSBbXTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBASW5qZWN0KExPQ0FMRV9JRCkgcHJpdmF0ZSByZWFkb25seSBfbG9jYWxlOiBMYW5ndWFnZUNvZGUsXHJcbiAgICAgICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgICAgICBwcml2YXRlIF9yZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgICAgIHByaXZhdGUgX25nWm9uZTogTmdab25lLFxyXG4gICAgICAgIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlXHJcbiAgICApIHtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCB0aGlzLl9vblJlc2l6ZSk7XHJcbiAgICAgICAgdGhpcy5fZWxlbWVudFJlZiA9IHVuZGVmaW5lZDtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xyXG4gICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCB0aGlzLl9vblJlc2l6ZSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3Jlc2l6ZUhvc3QoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3ViVW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZERhdGUpIHtcclxuICAgICAgICAgICAgY29uc3QgbmV3RGF0ZTogRGF0ZSA9IG5ldyBEYXRlKHRoaXMuc2VsZWN0ZWREYXRlKTtcclxuICAgICAgICAgICAgc3dpdGNoICh0aGlzLnZpZXcpIHtcclxuICAgICAgICAgICAgICAgIGNhc2UgQ2FsZW5kYXJWaWV3LkRheVZpZXc6XHJcbiAgICAgICAgICAgICAgICAgICAgbmV3RGF0ZS5zZXREYXRlKHRoaXMuc2VsZWN0ZWREYXRlLmdldERhdGUoKSAtIDEpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBDYWxlbmRhclZpZXcuRGF5c0Fyb3VuZDpcclxuICAgICAgICAgICAgICAgICAgbmV3RGF0ZS5zZXREYXRlKHRoaXMuc2VsZWN0ZWREYXRlLmdldERhdGUoKSAtIDEpO1xyXG4gICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgQ2FsZW5kYXJWaWV3LlRocmVlRGF5c1ZpZXc6XHJcbiAgICAgICAgICAgICAgICAgIG5ld0RhdGUuc2V0RGF0ZSh0aGlzLnNlbGVjdGVkRGF0ZS5nZXREYXRlKCkgLSAzKTtcclxuICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIENhbGVuZGFyVmlldy5XZWVrVmlldzpcclxuICAgICAgICAgICAgICAgICAgICBuZXdEYXRlLnNldERhdGUodGhpcy5zZWxlY3RlZERhdGUuZ2V0RGF0ZSgpIC0gNyk7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIENhbGVuZGFyVmlldy5XZWVrV29ya1ZpZXc6XHJcbiAgICAgICAgICAgICAgICAgICAgbmV3RGF0ZS5zZXREYXRlKHRoaXMuc2VsZWN0ZWREYXRlLmdldERhdGUoKSAtIDUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBDYWxlbmRhclZpZXcuV2Vla1NlbGVjdFZpZXc6XHJcbiAgICAgICAgICAgICAgICAgICAgbmV3RGF0ZS5zZXREYXRlKHRoaXMuc2VsZWN0ZWREYXRlLmdldERhdGUoKSAtIDcpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBDYWxlbmRhclZpZXcuTW9udGhWaWV3OlxyXG4gICAgICAgICAgICAgICAgICAgIG5ld0RhdGUuc2V0TW9udGgodGhpcy5zZWxlY3RlZERhdGUuZ2V0TW9udGgoKSAtIDEpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gbmV3RGF0ZTtcclxuICAgICAgICAgICAgdGhpcy5yYW5nZUNoYW5nZS5lbWl0KHRoaXMuc2VsZWN0ZWREYXRlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFkZFVuaXQoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWREYXRlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG5ld0RhdGU6IERhdGUgPSBuZXcgRGF0ZSh0aGlzLnNlbGVjdGVkRGF0ZSk7XHJcbiAgICAgICAgICAgIHN3aXRjaCAodGhpcy52aWV3KSB7XHJcbiAgICAgICAgICAgICAgICBjYXNlIENhbGVuZGFyVmlldy5EYXlWaWV3OlxyXG4gICAgICAgICAgICAgICAgICAgIG5ld0RhdGUuc2V0RGF0ZSh0aGlzLnNlbGVjdGVkRGF0ZS5nZXREYXRlKCkgKyAxKTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgQ2FsZW5kYXJWaWV3LkRheXNBcm91bmQ6XHJcbiAgICAgICAgICAgICAgICAgICAgbmV3RGF0ZS5zZXREYXRlKHRoaXMuc2VsZWN0ZWREYXRlLmdldERhdGUoKSArIDEpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBDYWxlbmRhclZpZXcuVGhyZWVEYXlzVmlldzpcclxuICAgICAgICAgICAgICAgICAgICBuZXdEYXRlLnNldERhdGUodGhpcy5zZWxlY3RlZERhdGUuZ2V0RGF0ZSgpICsgMyk7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIENhbGVuZGFyVmlldy5XZWVrVmlldzpcclxuICAgICAgICAgICAgICAgICAgICBuZXdEYXRlLnNldERhdGUodGhpcy5zZWxlY3RlZERhdGUuZ2V0RGF0ZSgpICsgNyk7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIENhbGVuZGFyVmlldy5XZWVrV29ya1ZpZXc6XHJcbiAgICAgICAgICAgICAgICAgICAgbmV3RGF0ZS5zZXREYXRlKHRoaXMuc2VsZWN0ZWREYXRlLmdldERhdGUoKSArIDUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBDYWxlbmRhclZpZXcuV2Vla1NlbGVjdFZpZXc6XHJcbiAgICAgICAgICAgICAgICAgICAgbmV3RGF0ZS5zZXREYXRlKHRoaXMuc2VsZWN0ZWREYXRlLmdldERhdGUoKSArIDcpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBDYWxlbmRhclZpZXcuTW9udGhWaWV3OlxyXG4gICAgICAgICAgICAgICAgICAgIG5ld0RhdGUuc2V0TW9udGgodGhpcy5zZWxlY3RlZERhdGUuZ2V0TW9udGgoKSArIDEpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gbmV3RGF0ZTtcclxuICAgICAgICAgICAgdGhpcy5yYW5nZUNoYW5nZS5lbWl0KHRoaXMuc2VsZWN0ZWREYXRlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNldFVuaXQod2Vla0RheTogV2Vla2RheSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gd2Vla0RheS5kYXRlO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlQ2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZERhdGUpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBjaGFuZ2VUaGVWaWV3KHZpZXc6IENhbGVuZGFyVmlldyk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudmlldyA9IHZpZXc7XHJcbiAgICAgICAgdGhpcy52aWV3Q2hhbmdlLmVtaXQodmlldyk7XHJcbiAgICAgICAgdGhpcy5fcHJlcGFyZUhlYWRlckRhdGEoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9vblJlc2l6ZTogRXZlbnRMaXN0ZW5lciA9IGFzeW5jICgpOiBQcm9taXNlPHZvaWQ+ID0+IHtcclxuICAgICAgICB0aGlzLl9yZXNpemVIb3N0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBOZWVkIHRvIHJlc2l6ZSB0aGUgaG9zdCBjb21wb25lbnQgdG8gc2l6ZSBpdCdzIGZpeGVkIHBvc2l0aW9uZWQgY2hpbGQgdGhyb3VnaCBjc3NcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfcmVzaXplSG9zdCgpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5fZWxlbWVudFJlZikge1xyXG4gICAgICAgICAgICB0aGlzLl9yZW5kZXJlci5zZXRTdHlsZShcclxuICAgICAgICAgICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgXCJ3aWR0aFwiLCB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudC5jbGllbnRXaWR0aCAtIHRoaXMuc2Nyb2xsYmFyV2lkdGggKyBcInB4XCIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9wcmVwYXJlSGVhZGVyRGF0YSgpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZERhdGUpIHtcclxuICAgICAgICAgICAgc3dpdGNoICh0aGlzLnZpZXcpIHtcclxuICAgICAgICAgICAgICAgIGNhc2UgQ2FsZW5kYXJWaWV3LkRheVZpZXc6XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF5OiBEYXkgPSBuZXcgRGF5KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgZGF5LmRhdGUgPSBuZXcgRGF0ZSh0aGlzLnNlbGVjdGVkRGF0ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9uczogYW55ID0geyB5ZWFyOiBcIm51bWVyaWNcIiwgbW9udGg6IFwibG9uZ1wiLCBkYXk6IFwibnVtZXJpY1wiIH07XHJcbiAgICAgICAgICAgICAgICAgICAgZGF5LmRlc2NyaXB0aW9uID0gdGhpcy5zZWxlY3RlZERhdGUudG9Mb2NhbGVEYXRlU3RyaW5nKHRoaXMuX2xvY2FsZSwgb3B0aW9ucyk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXkgPSBkYXk7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIENhbGVuZGFyVmlldy5EYXlzQXJvdW5kOlxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHdlZWtBcm91bmRWaWV3OiBXZWVrID0gQ2FsZW5kYXJVdGlscy5HZXREYXlzQXJvdW5kKHRoaXMuc2VsZWN0ZWREYXRlKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLndlZWtEYXlzID0gd2Vla0Fyb3VuZFZpZXcud2Vla0RheXM7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZmlyc3RBdmFpbGFibGVEYXRlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dCYWNrQnV0dG9uID0gdGhpcy53ZWVrRGF5cy5maW5kKHdkID0+IERhdGVVdGlscy5EYXRlc0VxdWFsKHRoaXMuZmlyc3RBdmFpbGFibGVEYXRlLCB3ZC5kYXRlKSkgPT09IHVuZGVmaW5lZDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIENhbGVuZGFyVmlldy5UaHJlZURheXNWaWV3OlxyXG4gICAgICAgICAgICAgICAgY29uc3QgdGhyZWVEYXlzVmlldzogV2VlayA9IENhbGVuZGFyVXRpbHMuR2V0VGhyZWVEYXlzKHRoaXMuc2VsZWN0ZWREYXRlKTtcclxuICAgICAgICAgICAgICAgIHRoaXMud2Vla0RheXMgPSB0aHJlZURheXNWaWV3LndlZWtEYXlzO1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZmlyc3RBdmFpbGFibGVEYXRlKSB7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuc2hvd0JhY2tCdXR0b24gPSB0aGlzLndlZWtEYXlzLmZpbmQod2QgPT4gRGF0ZVV0aWxzLkRhdGVzRXF1YWwodGhpcy5maXJzdEF2YWlsYWJsZURhdGUsIHdkLmRhdGUpKSA9PT0gdW5kZWZpbmVkO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIENhbGVuZGFyVmlldy5XZWVrVmlldzpcclxuICAgICAgICAgICAgICAgIGNvbnN0IHdlZWtWaWV3OiBXZWVrID0gQ2FsZW5kYXJVdGlscy5HZXREYXlzT2ZXZWVrKHRoaXMuc2VsZWN0ZWREYXRlKTtcclxuICAgICAgICAgICAgICAgIHRoaXMud2Vla0RheXMgPSB3ZWVrVmlldy53ZWVrRGF5cztcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmZpcnN0QXZhaWxhYmxlRGF0ZSkge1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLnNob3dCYWNrQnV0dG9uID0gdGhpcy53ZWVrRGF5cy5maW5kKHdkID0+IERhdGVVdGlscy5EYXRlc0VxdWFsKHRoaXMuZmlyc3RBdmFpbGFibGVEYXRlLCB3ZC5kYXRlKSkgPT09IHVuZGVmaW5lZDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBDYWxlbmRhclZpZXcuV2Vla1dvcmtWaWV3OlxyXG4gICAgICAgICAgICAgICAgY29uc3Qgd2Vla1dvcmtWaWV3OiBXZWVrID0gQ2FsZW5kYXJVdGlscy5HZXRXb3JrRGF5c09mV2Vlayh0aGlzLnNlbGVjdGVkRGF0ZSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLndlZWtEYXlzID0gd2Vla1dvcmtWaWV3LndlZWtEYXlzO1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZmlyc3RBdmFpbGFibGVEYXRlKSB7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuc2hvd0JhY2tCdXR0b24gPSB0aGlzLndlZWtEYXlzLmZpbmQod2QgPT4gRGF0ZVV0aWxzLkRhdGVzRXF1YWwodGhpcy5maXJzdEF2YWlsYWJsZURhdGUsIHdkLmRhdGUpKSA9PT0gdW5kZWZpbmVkO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIENhbGVuZGFyVmlldy5XZWVrU2VsZWN0VmlldzpcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCB3ZWVrU2VsZWN0VmlldzogV2VlayA9IENhbGVuZGFyVXRpbHMuR2V0RGF5c09mV2Vlayh0aGlzLnNlbGVjdGVkRGF0ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy53ZWVrRGF5cyA9IHdlZWtTZWxlY3RWaWV3LndlZWtEYXlzO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMud2Vla0RheXMuZm9yRWFjaCgod2Q6IFdlZWtkYXkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZXZQZXJEYXk6IEFnZW5kYUV2ZW50UGVyRGF5ID0gdGhpcy5fZXZlbnRzUGVyRGF5ICYmIHRoaXMuX2V2ZW50c1BlckRheS5sZW5ndGggPiAwID8gdGhpcy5fZXZlbnRzUGVyRGF5LmZpbmQoZSA9PiBEYXRlVXRpbHMuRGF0ZXNFcXVhbChlLmRhdGUsIHdkLmRhdGUpKSA6IG51bGw7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChldlBlckRheSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2QuZXZlbnRzID0gZXZQZXJEYXkuZXZlbnRzO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2Qud2Vla2RheVNlbGVjdGVkID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5maXJzdEF2YWlsYWJsZURhdGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zaG93QmFja0J1dHRvbiA9IHRoaXMud2Vla0RheXMuZmluZCh3ZCA9PiBEYXRlVXRpbHMuRGF0ZXNFcXVhbCh0aGlzLmZpcnN0QXZhaWxhYmxlRGF0ZSwgd2QuZGF0ZSkpID09PSB1bmRlZmluZWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBDYWxlbmRhclZpZXcuTW9udGhWaWV3OlxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHdlZWtPZk1vbnRoOiBXZWVrID0gQ2FsZW5kYXJVdGlscy5HZXREYXlzT2ZXZWVrKHRoaXMuc2VsZWN0ZWREYXRlKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLndlZWtEYXlzID0gd2Vla09mTW9udGgud2Vla0RheXM7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZmlyc3RBdmFpbGFibGVEYXRlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2hvd0JhY2tCdXR0b24gPSB0aGlzLndlZWtEYXlzLmZpbmQod2QgPT4gRGF0ZVV0aWxzLkRhdGVzRXF1YWwodGhpcy5maXJzdEF2YWlsYWJsZURhdGUsIHdkLmRhdGUpKSA9PT0gdW5kZWZpbmVkO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgY2FwaXRhbGl6ZVN0cmluZyhsYWJlbDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgcmV0dXJuIGxhYmVsWzBdLnRvVXBwZXJDYXNlKCkgKyBsYWJlbC5zbGljZSgxKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0V2Vla051bWJlcihkYXRlOiBEYXRlKTogbnVtYmVyIHtcclxuICAgICAgICAvLyBDb3B5IGRhdGUgc28gd2UgZG9u4oCZdCBtb2RpZnkgdGhlIG9yaWdpbmFsXHJcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gbmV3IERhdGUoRGF0ZS5VVEMoZGF0ZS5nZXRGdWxsWWVhcigpLCBkYXRlLmdldE1vbnRoKCksIGRhdGUuZ2V0RGF0ZSgpKSk7XHJcblxyXG4gICAgICAgIC8vIElTTyB3ZWVrIHN0YXJ0cyBvbiBNb25kYXkgKDEpIGFuZCBlbmRzIG9uIFN1bmRheSAoNylcclxuICAgICAgICAvLyBTZXQgdG8gbmVhcmVzdCBUaHVyc2RheTogY3VycmVudCBkYXRlICsgNCAtIGN1cnJlbnQgZGF5IG51bWJlclxyXG4gICAgICAgIGNvbnN0IGRheU51bSA9IHRhcmdldC5nZXRVVENEYXkoKSB8fCA3O1xyXG4gICAgICAgIHRhcmdldC5zZXRVVENEYXRlKHRhcmdldC5nZXRVVENEYXRlKCkgKyA0IC0gZGF5TnVtKTtcclxuXHJcbiAgICAgICAgLy8gQ2FsY3VsYXRlIHdlZWsgbnVtYmVyXHJcbiAgICAgICAgY29uc3QgeWVhclN0YXJ0ID0gbmV3IERhdGUoRGF0ZS5VVEModGFyZ2V0LmdldFVUQ0Z1bGxZZWFyKCksIDAsIDEpKTtcclxuICAgICAgICBjb25zdCB3ZWVrTm8gPSBNYXRoLmNlaWwoKCgodGFyZ2V0LmdldFRpbWUoKSAtIHllYXJTdGFydC5nZXRUaW1lKCkpIC8gODY0MDAwMDApICsgMSkgLyA3KTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHdlZWtObztcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -11,10 +11,15 @@ export class ViewSelectComponent {
11
11
  ]);
12
12
  this.selectedView = CalendarView.WeekView;
13
13
  this.selectedViewChange = new EventEmitter();
14
+ this.CalendarView = CalendarView;
14
15
  }
15
16
  get modelAsThumbState() {
16
17
  return this._viewsToThumb.get(this.selectedView);
17
18
  }
19
+ selectView(view) {
20
+ this.selectedView = view;
21
+ this.selectedViewChange.emit(view);
22
+ }
18
23
  onThumbStateChange(thumbState) {
19
24
  this.selectedView = MapUtils.FindKeyByValue(this._viewsToThumb, (value) => {
20
25
  return (value === thumbState);
@@ -26,10 +31,38 @@ ViewSelectComponent.decorators = [
26
31
  { type: Component, args: [{
27
32
  selector: "view-select",
28
33
  template: `
29
- <div class="select-wrapper">
30
- <div [textContent]="'DAY'" class="label"></div>
31
- <div [textContent]="'MONTH'" class="label"></div>
34
+ <div class="select-wrapper">
35
+ <!--div class="label"
36
+ [class.active]="selectedView === CalendarView.DayView"
37
+ (click)="selectView(CalendarView.DayView)">
38
+ DAY
39
+ </div-->
40
+ <div
41
+ class="label"
42
+ [class.active]="selectedView === CalendarView.ThreeDaysView"
43
+ (click)="selectView(CalendarView.ThreeDaysView)">
44
+ <span [textContent]="'THREE_DAYS_VIEW' | sharedLocalize"></span>
45
+ </div>
46
+ <div
47
+ class="label"
48
+ [class.active]="selectedView === CalendarView.WeekWorkView"
49
+ (click)="selectView(CalendarView.WeekWorkView)">
50
+ <span [textContent]="'FIVE_DAYS_VIEW' | sharedLocalize"></span>
51
+ </div>
52
+ <div
53
+ class="label"
54
+ [class.active]="selectedView === CalendarView.WeekView"
55
+ (click)="selectView(CalendarView.WeekView)">
56
+ <span [textContent]="'WEEK_VIEW' | sharedLocalize"></span>
32
57
  </div>
58
+ <!--div
59
+ class="label"
60
+ [class.active]="selectedView === CalendarView.MonthView"
61
+ (click)="selectView(CalendarView.MonthView)">
62
+ MONTH
63
+ </div-->
64
+ </div>
65
+
33
66
  `,
34
67
  encapsulation: ViewEncapsulation.None
35
68
  },] }
@@ -39,4 +72,4 @@ ViewSelectComponent.propDecorators = {
39
72
  selectedView: [{ type: Input }],
40
73
  selectedViewChange: [{ type: Output }]
41
74
  };
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvZGF0ZS1wbGFubmluZy9jb21wb25lbnQvYWdlbmRhL3ZpZXctc2VsZWN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hGLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNqRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUMxRSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFZckQsTUFBTSxPQUFPLG1CQUFtQjtJQWtCNUI7UUFoQmlCLGtCQUFhLEdBQTBDLElBQUksR0FBRyxDQUFtQztZQUM5RyxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsa0JBQWtCLENBQUMsSUFBSSxDQUFDO1lBQy9DLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxrQkFBa0IsQ0FBQyxNQUFNLENBQUM7WUFDbEQsQ0FBQyxZQUFZLENBQUMsU0FBUyxFQUFFLGtCQUFrQixDQUFDLEtBQUssQ0FBQztTQUNyRCxDQUFDLENBQUM7UUFHSSxpQkFBWSxHQUFpQixZQUFZLENBQUMsUUFBUSxDQUFDO1FBR25ELHVCQUFrQixHQUErQixJQUFJLFlBQVksRUFBZ0IsQ0FBQztJQU96RixDQUFDO0lBTEQsSUFBVyxpQkFBaUI7UUFDeEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUtNLGtCQUFrQixDQUFDLFVBQThCO1FBQ3BELElBQUksQ0FBQyxZQUFZLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBbUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLEtBQXlCLEVBQUUsRUFBRTtZQUM1SCxPQUFPLENBQUMsS0FBSyxLQUFLLFVBQVUsQ0FBQyxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDcEQsQ0FBQzs7O1lBcENKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsYUFBYTtnQkFDdkIsUUFBUSxFQUFFOzs7OztLQUtUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3hDOzs7OzJCQVNJLEtBQUs7aUNBR0wsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0NhbGVuZGFyVmlld30gZnJvbSBcIi4uLy4uLy4uLy4uL2VudW0vY2FsZW5kYXItdmlldy5lbnVtXCI7XHJcbmltcG9ydCB7VGh1bWJUaHJlZVdheVN0YXRlfSBmcm9tIFwiLi4vLi4vLi4vLi4vZW51bS90aHVtYi10aHJlZS13YXktc3RhdGVcIjtcclxuaW1wb3J0IHtNYXBVdGlsc30gZnJvbSBcIi4uLy4uLy4uLy4uL3V0aWxzL21hcC11dGlsc1wiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJ2aWV3LXNlbGVjdFwiLFxyXG4gICAgdGVtcGxhdGU6IGBcclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0LXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgPGRpdiBbdGV4dENvbnRlbnRdPVwiJ0RBWSdcIiBjbGFzcz1cImxhYmVsXCI+PC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgW3RleHRDb250ZW50XT1cIidNT05USCdcIiBjbGFzcz1cImxhYmVsXCI+PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICBgLFxyXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVmlld1NlbGVjdENvbXBvbmVudCB7XHJcblxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBfdmlld3NUb1RodW1iOiBNYXA8Q2FsZW5kYXJWaWV3LCBUaHVtYlRocmVlV2F5U3RhdGU+ID0gbmV3IE1hcDxDYWxlbmRhclZpZXcsIFRodW1iVGhyZWVXYXlTdGF0ZT4oW1xyXG4gICAgICAgIFtDYWxlbmRhclZpZXcuRGF5VmlldywgVGh1bWJUaHJlZVdheVN0YXRlLkxlZnRdLFxyXG4gICAgICAgIFtDYWxlbmRhclZpZXcuV2Vla1ZpZXcsIFRodW1iVGhyZWVXYXlTdGF0ZS5NaWRkbGVdLFxyXG4gICAgICAgIFtDYWxlbmRhclZpZXcuTW9udGhWaWV3LCBUaHVtYlRocmVlV2F5U3RhdGUuUmlnaHRdXHJcbiAgICBdKTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNlbGVjdGVkVmlldzogQ2FsZW5kYXJWaWV3ID0gQ2FsZW5kYXJWaWV3LldlZWtWaWV3O1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIHNlbGVjdGVkVmlld0NoYW5nZTogRXZlbnRFbWl0dGVyPENhbGVuZGFyVmlldz4gPSBuZXcgRXZlbnRFbWl0dGVyPENhbGVuZGFyVmlldz4oKTtcclxuXHJcbiAgICBwdWJsaWMgZ2V0IG1vZGVsQXNUaHVtYlN0YXRlKCk6IFRodW1iVGhyZWVXYXlTdGF0ZSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZpZXdzVG9UaHVtYi5nZXQodGhpcy5zZWxlY3RlZFZpZXcpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvblRodW1iU3RhdGVDaGFuZ2UodGh1bWJTdGF0ZTogVGh1bWJUaHJlZVdheVN0YXRlKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZpZXcgPSBNYXBVdGlscy5GaW5kS2V5QnlWYWx1ZTxDYWxlbmRhclZpZXcsIFRodW1iVGhyZWVXYXlTdGF0ZT4odGhpcy5fdmlld3NUb1RodW1iLCAodmFsdWU6IFRodW1iVGhyZWVXYXlTdGF0ZSkgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gKHZhbHVlID09PSB0aHVtYlN0YXRlKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmlld0NoYW5nZS5lbWl0KHRoaXMuc2VsZWN0ZWRWaWV3KTtcclxuICAgIH1cclxufVxyXG4iXX0=
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvZGF0ZS1wbGFubmluZy9jb21wb25lbnQvYWdlbmRhL3ZpZXctc2VsZWN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hGLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNqRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUMxRSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUF3Q3JELE1BQU0sT0FBTyxtQkFBbUI7SUFvQjVCO1FBbEJpQixrQkFBYSxHQUEwQyxJQUFJLEdBQUcsQ0FBbUM7WUFDOUcsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLGtCQUFrQixDQUFDLElBQUksQ0FBQztZQUMvQyxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsa0JBQWtCLENBQUMsTUFBTSxDQUFDO1lBQ2xELENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7U0FDckQsQ0FBQyxDQUFDO1FBR0ksaUJBQVksR0FBaUIsWUFBWSxDQUFDLFFBQVEsQ0FBQztRQUduRCx1QkFBa0IsR0FBK0IsSUFBSSxZQUFZLEVBQWdCLENBQUM7UUFFekUsaUJBQVksR0FBRyxZQUFZLENBQUM7SUFPNUMsQ0FBQztJQUxELElBQVcsaUJBQWlCO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFLTSxVQUFVLENBQUMsSUFBa0I7UUFDbEMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDekIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRU0sa0JBQWtCLENBQUMsVUFBOEI7UUFDcEQsSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFtQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsS0FBeUIsRUFBRSxFQUFFO1lBQzVILE9BQU8sQ0FBQyxLQUFLLEtBQUssVUFBVSxDQUFDLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNwRCxDQUFDOzs7WUF2RUosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxhQUFhO2dCQUN2QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQWlDVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN4Qzs7OzsyQkFTSSxLQUFLO2lDQUdMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtDYWxlbmRhclZpZXd9IGZyb20gXCIuLi8uLi8uLi8uLi9lbnVtL2NhbGVuZGFyLXZpZXcuZW51bVwiO1xyXG5pbXBvcnQge1RodW1iVGhyZWVXYXlTdGF0ZX0gZnJvbSBcIi4uLy4uLy4uLy4uL2VudW0vdGh1bWItdGhyZWUtd2F5LXN0YXRlXCI7XHJcbmltcG9ydCB7TWFwVXRpbHN9IGZyb20gXCIuLi8uLi8uLi8uLi91dGlscy9tYXAtdXRpbHNcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwidmlldy1zZWxlY3RcIixcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3Qtd3JhcHBlclwiPlxyXG4gICAgICAgIDwhLS1kaXYgY2xhc3M9XCJsYWJlbFwiXHJcbiAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cInNlbGVjdGVkVmlldyA9PT0gQ2FsZW5kYXJWaWV3LkRheVZpZXdcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cInNlbGVjdFZpZXcoQ2FsZW5kYXJWaWV3LkRheVZpZXcpXCI+XHJcbiAgICAgICAgICBEQVlcclxuICAgICAgICA8L2Rpdi0tPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGNsYXNzPVwibGFiZWxcIlxyXG4gICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJzZWxlY3RlZFZpZXcgPT09IENhbGVuZGFyVmlldy5UaHJlZURheXNWaWV3XCJcclxuICAgICAgICAgIChjbGljayk9XCJzZWxlY3RWaWV3KENhbGVuZGFyVmlldy5UaHJlZURheXNWaWV3KVwiPlxyXG4gICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cIidUSFJFRV9EQVlTX1ZJRVcnIHwgc2hhcmVkTG9jYWxpemVcIj48L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3M9XCJsYWJlbFwiXHJcbiAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cInNlbGVjdGVkVmlldyA9PT0gQ2FsZW5kYXJWaWV3LldlZWtXb3JrVmlld1wiXHJcbiAgICAgICAgICAoY2xpY2spPVwic2VsZWN0VmlldyhDYWxlbmRhclZpZXcuV2Vla1dvcmtWaWV3KVwiPlxyXG4gICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cIidGSVZFX0RBWVNfVklFVycgfCBzaGFyZWRMb2NhbGl6ZVwiPjwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzcz1cImxhYmVsXCJcclxuICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwic2VsZWN0ZWRWaWV3ID09PSBDYWxlbmRhclZpZXcuV2Vla1ZpZXdcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cInNlbGVjdFZpZXcoQ2FsZW5kYXJWaWV3LldlZWtWaWV3KVwiPlxyXG4gICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cIidXRUVLX1ZJRVcnIHwgc2hhcmVkTG9jYWxpemVcIj48L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPCEtLWRpdlxyXG4gICAgICAgICAgY2xhc3M9XCJsYWJlbFwiXHJcbiAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cInNlbGVjdGVkVmlldyA9PT0gQ2FsZW5kYXJWaWV3Lk1vbnRoVmlld1wiXHJcbiAgICAgICAgICAoY2xpY2spPVwic2VsZWN0VmlldyhDYWxlbmRhclZpZXcuTW9udGhWaWV3KVwiPlxyXG4gICAgICAgICAgTU9OVEhcclxuICAgICAgICA8L2Rpdi0tPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICBgLFxyXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVmlld1NlbGVjdENvbXBvbmVudCB7XHJcblxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBfdmlld3NUb1RodW1iOiBNYXA8Q2FsZW5kYXJWaWV3LCBUaHVtYlRocmVlV2F5U3RhdGU+ID0gbmV3IE1hcDxDYWxlbmRhclZpZXcsIFRodW1iVGhyZWVXYXlTdGF0ZT4oW1xyXG4gICAgICAgIFtDYWxlbmRhclZpZXcuRGF5VmlldywgVGh1bWJUaHJlZVdheVN0YXRlLkxlZnRdLFxyXG4gICAgICAgIFtDYWxlbmRhclZpZXcuV2Vla1ZpZXcsIFRodW1iVGhyZWVXYXlTdGF0ZS5NaWRkbGVdLFxyXG4gICAgICAgIFtDYWxlbmRhclZpZXcuTW9udGhWaWV3LCBUaHVtYlRocmVlV2F5U3RhdGUuUmlnaHRdXHJcbiAgICBdKTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNlbGVjdGVkVmlldzogQ2FsZW5kYXJWaWV3ID0gQ2FsZW5kYXJWaWV3LldlZWtWaWV3O1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIHNlbGVjdGVkVmlld0NoYW5nZTogRXZlbnRFbWl0dGVyPENhbGVuZGFyVmlldz4gPSBuZXcgRXZlbnRFbWl0dGVyPENhbGVuZGFyVmlldz4oKTtcclxuXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgQ2FsZW5kYXJWaWV3ID0gQ2FsZW5kYXJWaWV3O1xyXG5cclxuICAgIHB1YmxpYyBnZXQgbW9kZWxBc1RodW1iU3RhdGUoKTogVGh1bWJUaHJlZVdheVN0YXRlIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fdmlld3NUb1RodW1iLmdldCh0aGlzLnNlbGVjdGVkVmlldyk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNlbGVjdFZpZXcodmlldzogQ2FsZW5kYXJWaWV3KTogdm9pZCB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRWaWV3ID0gdmlldztcclxuICAgICAgdGhpcy5zZWxlY3RlZFZpZXdDaGFuZ2UuZW1pdCh2aWV3KTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgb25UaHVtYlN0YXRlQ2hhbmdlKHRodW1iU3RhdGU6IFRodW1iVGhyZWVXYXlTdGF0ZSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRWaWV3ID0gTWFwVXRpbHMuRmluZEtleUJ5VmFsdWU8Q2FsZW5kYXJWaWV3LCBUaHVtYlRocmVlV2F5U3RhdGU+KHRoaXMuX3ZpZXdzVG9UaHVtYiwgKHZhbHVlOiBUaHVtYlRocmVlV2F5U3RhdGUpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuICh2YWx1ZSA9PT0gdGh1bWJTdGF0ZSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZpZXdDaGFuZ2UuZW1pdCh0aGlzLnNlbGVjdGVkVmlldyk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -18,7 +18,7 @@ export class CalendarViewComponent {
18
18
  this.weekDayLabel = [];
19
19
  this.weeks = [];
20
20
  this._selectedDate = new Date();
21
- this._view = CalendarView.WeekView;
21
+ this._view = CalendarView.ThreeDaysView;
22
22
  this.selectedDate.setHours(0, 0, 0, 0);
23
23
  this._setLabels();
24
24
  }
@@ -175,4 +175,4 @@ CalendarViewComponent.propDecorators = {
175
175
  selectedDate: [{ type: Input }],
176
176
  selectedDateChange: [{ type: Output }]
177
177
  };
178
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9kYXRlLXBsYW5uaW5nL2NvbXBvbmVudC9jYWxlbmRhci9jYWxlbmRhci12aWV3LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDM0csT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDdkQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQXlCakUsMEVBQTBFO0FBQzFFLE1BQU0sT0FBTyxxQkFBcUI7SUEwQ2hDLFlBQ3NDLE9BQXFCO1FBQXJCLFlBQU8sR0FBUCxPQUFPLENBQWM7UUFuQnBELHVCQUFrQixHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRWxFLGlCQUFZLEdBQWEsQ0FBQyxLQUFhLEVBQUUsS0FBZ0IsRUFBVSxFQUFFO1lBQzFFLE9BQU8sS0FBSyxJQUFJLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxDQUFDO1FBQzNDLENBQUMsQ0FBQTtRQUVNLGdCQUFXLEdBQWEsQ0FBQyxLQUFhLEVBQUUsSUFBaUIsRUFBVSxFQUFFO1lBQzFFLE9BQU8sSUFBSSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDO1FB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QUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxLQUFLLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxZQUFZLENBQUMsT0FBTyxFQUFFO29CQUM1RyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7aUJBQ25DO2FBQ0Y7U0FDRjtJQUNILENBQUM7SUFFTyxlQUFlO1FBQ3JCLE1BQU0sR0FBRyxHQUFXLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQ3RDLEtBQUssSUFBSSxDQUFDLEdBQVcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDcEMsTUFBTSxJQUFJLEdBQVcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDMUMsS0FBSyxJQUFJLEVBQUUsR0FBVyxDQUFDLEVBQUUsRUFBRSxHQUFHLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRTtnQkFDeEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO2FBQ3BDO1NBQ0Y7SUFDSCxDQUFDOzs7WUE3TEYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxlQUFlO2dCQUN6QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7S0FnQlA7Z0JBQ0gsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQXhCTyxZQUFZLHVCQXFFZixNQUFNLFNBQUMsU0FBUzs7O21CQXpDbEIsS0FBSzsyQkFVTCxLQUFLO2lDQVdMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIElucHV0LCBMT0NBTEVfSUQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7QXJyYXlOdW1iZXJQaXBlfSBmcm9tIFwiLi4vLi4vLi4vLi4vcGlwZS9hcnJheS1udW1iZXIucGlwZVwiO1xyXG5pbXBvcnQge0RhdGVQaXBlfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7RGF0ZVV0aWxzfSBmcm9tIFwiLi4vLi4vLi4vLi4vdXRpbHMvZGF0ZS11dGlsc1wiO1xyXG5pbXBvcnQge0NhbGVuZGFyVmlld30gZnJvbSBcIi4uLy4uLy4uLy4uL2VudW0vY2FsZW5kYXItdmlldy5lbnVtXCI7XHJcbmltcG9ydCB7TGFuZ3VhZ2VDb2RlfSBmcm9tIFwiLi4vLi4vLi4vLi4vZW51bS9sYW5ndWFnZS1jb2RlLmVudW1cIjtcclxuXHJcbnR5cGUgRGF0ZVN0YW1wID0geyBkYXk6IG51bWJlciwgaW5Nb250aDogYm9vbGVhbiwgdGltZXN0YW1wOiBudW1iZXIsIHdlZWs6IG51bWJlciwgc2VsZWN0ZWQ6IGJvb2xlYW4gfTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNhbGVuZGFyLXZpZXdcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYWxlbmRhci1jb250ZW50XCI+XHJcbiAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2Vlay1kYXktaGVhZGVyIHdlZWstcm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndlZWstYWNyb255bVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHdlZWtEYXkgb2Ygd2Vla0RheUxhYmVsXCIgW3RleHRDb250ZW50XT1cIndlZWtEYXkgfCB1Y2ZpcnN0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwid2Vlay1kYXktbGFiZWxcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndlZWstcm93XCIgKm5nRm9yPVwibGV0IHdlZWsgb2Ygd2Vla3M7dHJhY2tCeTp0cmFja0J5V2Vla1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgW3RleHRDb250ZW50XT1cIndlZWtbMF0ud2Vla1wiIGNsYXNzPVwid2Vlay1udW1iZXJcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBkYXRlIG9mIHdlZWs7dHJhY2tCeTp0cmFja0J5U3RhbXBcIiBjbGFzcz1cIndlZWstZGF5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkRhdGVDbGljayhkYXRlKVwiIFt0ZXh0Q29udGVudF09XCJkYXRlLmRheVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbi8vZml4bWUgd2UgZG9uJ3QgaGF2ZSBhIHRvZGF5RGF5U3RhbXAgZmllbGQgYnV0IG91ciB0ZW1wbGF0ZSByZWZlcmVuY2VzIGl0XHJcbmV4cG9ydCBjbGFzcyBDYWxlbmRhclZpZXdDb21wb25lbnQge1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgdmlldyh2YWx1ZTogQ2FsZW5kYXJWaWV3KSB7XHJcbiAgICB0aGlzLl92aWV3ID0gdmFsdWU7XHJcbiAgICB0aGlzLl9zZWxlY3REYXlzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHZpZXcoKTogQ2FsZW5kYXJWaWV3IHtcclxuICAgIHJldHVybiB0aGlzLl92aWV3O1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IHNlbGVjdGVkRGF0ZSh2YWx1ZTogRGF0ZSkge1xyXG4gICAgdGhpcy5fc2VsZWN0ZWREYXRlID0gdmFsdWU7XHJcbiAgICB0aGlzLl9zZWxlY3RlZERhdGUuc2V0SG91cnMoMCwgMCwgMCwgMCk7XHJcbiAgICB0aGlzLl9wcmVwYXJlV2Vla3MoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgc2VsZWN0ZWREYXRlKCk6IERhdGUge1xyXG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkRGF0ZTtcclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBzZWxlY3RlZERhdGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxEYXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKTtcclxuXHJcbiAgcHVibGljIHRyYWNrQnlTdGFtcDogRnVuY3Rpb24gPSAoaW5kZXg6IG51bWJlciwgc3RhbXA6IERhdGVTdGFtcCk6IG51bWJlciA9PiB7XHJcbiAgICByZXR1cm4gc3RhbXAgJiYgc3RhbXAudGltZXN0YW1wIHx8IGluZGV4O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHRyYWNrQnlXZWVrOiBGdW5jdGlvbiA9IChpbmRleDogbnVtYmVyLCB3ZWVrOiBEYXRlU3RhbXBbXSk6IG51bWJlciA9PiB7XHJcbiAgICByZXR1cm4gd2VlayAmJiB3ZWVrWzBdLndlZWsgfHwgaW5kZXg7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgd2Vla0RheUxhYmVsOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICBwdWJsaWMgd2Vla3M6IERhdGVTdGFtcFtdW10gPSBbXTtcclxuXHJcbiAgcHJpdmF0ZSBfc2VsZWN0ZWREYXRlOiBEYXRlID0gbmV3IERhdGUoKTtcclxuXHJcbiAgcHJpdmF0ZSBfdmlldzogQ2FsZW5kYXJWaWV3ID0gQ2FsZW5kYXJWaWV3LldlZWtWaWV3O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoTE9DQUxFX0lEKSBwcml2YXRlIHJlYWRvbmx5IF9sb2NhbGU6IExhbmd1YWdlQ29kZSxcclxuICApIHtcclxuICAgIHRoaXMuc2VsZWN0ZWREYXRlLnNldEhvdXJzKDAsIDAsIDAsIDApO1xyXG4gICAgdGhpcy5fc2V0TGFiZWxzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25EYXRlQ2xpY2soZGF0ZTogRGF0ZVN0YW1wKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IG5ldyBEYXRlKGRhdGUudGltZXN0YW1wKTtcclxuICAgIHRoaXMuc2VsZWN0ZWREYXRlQ2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZERhdGUpO1xyXG4gICAgdGhpcy5fc2VsZWN0RGF5cygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2V0TGFiZWxzKCk6IHZvaWQge1xyXG4gICAgY29uc3QgZGF0ZVBpcGU6IERhdGVQaXBlID0gbmV3IERhdGVQaXBlKHRoaXMuX2xvY2FsZSk7XHJcblxyXG4gICAgY29uc3QgY3VycmVudERheTogbnVtYmVyID0gdGhpcy5zZWxlY3RlZERhdGUuZ2V0RGF5KCk7XHJcbiAgICBjb25zdCBzdGFydFdlZWtEYXRlOiBEYXRlID0gbmV3IERhdGUodGhpcy5zZWxlY3RlZERhdGUuZ2V0VGltZSgpKTtcclxuICAgIHN0YXJ0V2Vla0RhdGUuc2V0RGF0ZShzdGFydFdlZWtEYXRlLmdldERhdGUoKSAtIGN1cnJlbnREYXkgLSAxKTtcclxuXHJcbiAgICB0aGlzLndlZWtEYXlMYWJlbCA9IG5ldyBBcnJheU51bWJlclBpcGUoKS50cmFuc2Zvcm0oNykubWFwKCgpID0+IHtcclxuICAgICAgc3RhcnRXZWVrRGF0ZS5zZXREYXRlKHN0YXJ0V2Vla0RhdGUuZ2V0RGF0ZSgpICsgMSk7XHJcbiAgICAgIHJldHVybiBkYXRlUGlwZS50cmFuc2Zvcm0oc3RhcnRXZWVrRGF0ZSwgXCJFXCIpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLndlZWtEYXlMYWJlbC5wdXNoKHRoaXMud2Vla0RheUxhYmVsLnNoaWZ0KCkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcHJlcGFyZVdlZWtzKCk6IHZvaWQge1xyXG4gICAgdGhpcy53ZWVrcy5sZW5ndGggPSAwO1xyXG5cclxuICAgIGNvbnN0IGRhdGU6IERhdGUgPSBuZXcgRGF0ZSh0aGlzLnNlbGVjdGVkRGF0ZS5nZXRUaW1lKCkpO1xyXG4gICAgZGF0ZS5zZXRIb3VycygwLCAwLCAwLCAwKTtcclxuXHJcbiAgICAvLyBnbyB0byBsYXN0IGRheSBvZiBtb250aFxyXG4gICAgZGF0ZS5zZXRNb250aChkYXRlLmdldE1vbnRoKCkgKyAxKTtcclxuICAgIGRhdGUuc2V0RGF0ZSgwKTtcclxuICAgIGNvbnN0IG1vbnRoRW5kRGF5OiBudW1iZXIgPSBkYXRlLmdldERheSgpO1xyXG4gICAgY29uc3QgbW9udGhFbmREYXRlOiBudW1iZXIgPSBkYXRlLmdldERhdGUoKTtcclxuXHJcbiAgICAvLyBkYXlzIGFmdGVyIGVuZCBvZiBtb250aFxyXG4gICAgY29uc3QgZGF5c0FmdGVyOiBudW1iZXIgPSAhbW9udGhFbmREYXkgPyAwIDogNyAtIG1vbnRoRW5kRGF5O1xyXG5cclxuICAgIC8vIGdvIHRvIGZpcnN0IGRheSBvZiBtb250aFxyXG4gICAgZGF0ZS5zZXREYXRlKDEpO1xyXG4gICAgY29uc3QgbW9udGhCZWdpbkRheTogbnVtYmVyID0gZGF0ZS5nZXREYXkoKTtcclxuXHJcbiAgICAvLyBkYXlzIGJlZm9yZSBzdGFydCBvZiBtb250aFxyXG4gICAgY29uc3QgZGF5c0JlZm9yZTogbnVtYmVyID0gIW1vbnRoQmVnaW5EYXkgPyA2IDogbW9udGhCZWdpbkRheSAtIDE7XHJcblxyXG4gICAgLy8gZ28gdG8gc3RhcnQgb2YgY2FsZW5kYXIgdmlld1xyXG4gICAgZGF0ZS5zZXREYXRlKC1kYXlzQmVmb3JlICsgMSk7XHJcblxyXG4gICAgLy8gYW1vdW50IG9mIHdlZWtzIHRvIGRpc3BsYXlcclxuICAgIGNvbnN0IHdlZWtDb3VudDogbnVtYmVyID0gTWF0aC5jZWlsKChkYXlzQmVmb3JlICsgZGF5c0FmdGVyICsgbW9udGhFbmREYXRlKSAvIDcpO1xyXG4gICAgY29uc3Qgd2Vla1N0YXJ0OiBudW1iZXIgPSBEYXRlVXRpbHMuR2V0V2Vla051bWJlcihkYXRlKTtcclxuICAgIGNvbnN0IHdlZWtFbmQ6IG51bWJlciA9IHdlZWtTdGFydCArIHdlZWtDb3VudCAtIDE7XHJcblxyXG4gICAgLy8gaXRlcmF0ZSBvdmVyIHdlZWsgY291bnRcclxuICAgIGZvciAobGV0IGk6IG51bWJlciA9IHdlZWtTdGFydDsgaSA8PSB3ZWVrRW5kOyBpKyspIHtcclxuICAgICAgbGV0IHdlZWs6IG51bWJlciA9IGk7XHJcblxyXG4gICAgICAvLyBvbmx5IHJlY2FsY3VsYXRlIHdlZWsgd2hlbiBpdCdzIG5lY2Vzc2FyeVxyXG4gICAgICBpZiAod2Vla1N0YXJ0ID4gNTApIHtcclxuICAgICAgICB3ZWVrID0gRGF0ZVV0aWxzLkdldFdlZWtOdW1iZXIoZGF0ZSk7XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgZGF5czogRGF0ZVN0YW1wW10gPSBbXTtcclxuXHJcbiAgICAgIC8vIGl0ZXJhdGUgb3ZlciA3IGRheXNcclxuICAgICAgZm9yIChsZXQgaWk6IG51bWJlciA9IDE7IGlpIDw9IDc7IGlpKyspIHtcclxuICAgICAgICAvLyBjaGVjayBpZiB3ZSBhcmUgaW4gdGhlIGN1cnJlbnQgbW9udGhcclxuICAgICAgICBsZXQgaW5Nb250aDogYm9vbGVhbiA9IHRydWU7XHJcbiAgICAgICAgaWYgKGkgPT09IHdlZWtTdGFydCkge1xyXG4gICAgICAgICAgaW5Nb250aCA9IGlpID4gZGF5c0JlZm9yZTtcclxuICAgICAgICB9IGVsc2UgaWYgKGkgPT09IHdlZWtFbmQpIHtcclxuICAgICAgICAgIGluTW9udGggPSBpaSA8PSA3IC0gZGF5c0FmdGVyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgdGltZXN0YW1wOiBudW1iZXIgPSBkYXRlLmdldFRpbWUoKTtcclxuICAgICAgICAvLyBhZGQgZGF0ZVN0YW1wIHRvIGRhdGUgYXJyYXlcclxuICAgICAgICBkYXlzLnB1c2goe1xyXG4gICAgICAgICAgd2Vlazogd2VlayxcclxuICAgICAgICAgIGluTW9udGg6IGluTW9udGgsXHJcbiAgICAgICAgICBkYXk6IGRhdGUuZ2V0RGF0ZSgpLFxyXG4gICAgICAgICAgdGltZXN0YW1wOiB0aW1lc3RhbXAsXHJcbiAgICAgICAgICBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZERhdGUuZ2V0VGltZSgpID09PSB0aW1lc3RhbXBcclxuICAgICAgICB9KTtcclxuICAgICAgICAvLyBnbyBvbmUgZGF5IGZ1cnRoZXJcclxuICAgICAgICBkYXRlLnNldERhdGUoZGF0ZS5nZXREYXRlKCkgKyAxKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLndlZWtzLnB1c2goZGF5cyk7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9zZWxlY3REYXlzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zZWxlY3REYXlzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fcmVzZXRTZWxlY3Rpb24oKTtcclxuICAgIGlmICghdGhpcy5zZWxlY3RlZERhdGUpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3Qgd2Vla051bWJlcjogbnVtYmVyID0gRGF0ZVV0aWxzLkdldFdlZWtOdW1iZXIodGhpcy5zZWxlY3RlZERhdGUpO1xyXG4gICAgY29uc3QgbGVuOiBudW1iZXIgPSB0aGlzLndlZWtzLmxlbmd0aDtcclxuICAgIGZvciAobGV0IGk6IG51bWJlciA9IDA7IGkgPCBsZW47IGkrKykge1xyXG4gICAgICBjb25zdCBsZW5pOiBudW1iZXIgPSB0aGlzLndlZWtzW2ldLmxlbmd0aDtcclxuICAgICAgZm9yIChsZXQgaWk6IG51bWJlciA9IDA7IGlpIDwgbGVuaTsgaWkrKykge1xyXG4gICAgICAgIGlmICh0aGlzLndlZWtzW2ldW2lpXS5pbk1vbnRoICYmIHRoaXMudmlldyA9PT0gQ2FsZW5kYXJWaWV3Lk1vbnRoVmlldykge1xyXG4gICAgICAgICAgdGhpcy53ZWVrc1tpXVtpaV0uc2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy53ZWVrc1tpXVtpaV0ud2VlayA9PT0gd2Vla051bWJlciAmJiB0aGlzLnZpZXcgPT09IENhbGVuZGFyVmlldy5XZWVrVmlldykge1xyXG4gICAgICAgICAgdGhpcy53ZWVrc1tpXVtpaV0uc2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy53ZWVrc1tpXVtpaV0udGltZXN0YW1wID09PSB0aGlzLnNlbGVjdGVkRGF0ZS5nZXRUaW1lKCkgJiYgdGhpcy52aWV3ID09PSBDYWxlbmRhclZpZXcuV2Vla1NlbGVjdFZpZXcpIHtcclxuICAgICAgICAgIHRoaXMud2Vla3NbaV1baWldLnNlbGVjdGVkID0gdHJ1ZTtcclxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMud2Vla3NbaV1baWldLnRpbWVzdGFtcCA9PT0gdGhpcy5zZWxlY3RlZERhdGUuZ2V0VGltZSgpICYmIHRoaXMudmlldyA9PT0gQ2FsZW5kYXJWaWV3LkRheVZpZXcpIHtcclxuICAgICAgICAgIHRoaXMud2Vla3NbaV1baWldLnNlbGVjdGVkID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3Jlc2V0U2VsZWN0aW9uKCk6IHZvaWQge1xyXG4gICAgY29uc3QgbGVuOiBudW1iZXIgPSB0aGlzLndlZWtzLmxlbmd0aDtcclxuICAgIGZvciAobGV0IGk6IG51bWJlciA9IDA7IGkgPCBsZW47IGkrKykge1xyXG4gICAgICBjb25zdCBsZW5pOiBudW1iZXIgPSB0aGlzLndlZWtzW2ldLmxlbmd0aDtcclxuICAgICAgZm9yIChsZXQgaWk6IG51bWJlciA9IDA7IGlpIDwgbGVuaTsgaWkrKykge1xyXG4gICAgICAgIHRoaXMud2Vla3NbaV1baWldLnNlbGVjdGVkID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
178
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9kYXRlLXBsYW5uaW5nL2NvbXBvbmVudC9jYWxlbmRhci9jYWxlbmRhci12aWV3LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDM0csT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDdkQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQXlCakUsMEVBQTBFO0FBQzFFLE1BQU0sT0FBTyxxQkFBcUI7SUEwQ2hDLFlBQ3NDLE9BQXFCO1FBQXJCLFlBQU8sR0FBUCxPQUFPLENBQWM7UUFuQnBELHVCQUFrQixHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRWxFLGlCQUFZLEdBQWEsQ0FBQyxLQUFhLEVBQUUsS0FBZ0IsRUFBVSxFQUFFO1lBQzFFLE9BQU8sS0FBSyxJQUFJLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxDQUFDO1FBQzNDLENBQUMsQ0FBQTtRQUVNLGdCQUFXLEdBQWEsQ0FBQyxLQUFhLEVBQUUsSUFBaUIsRUFBVSxFQUFFO1lBQzFFLE9BQU8sSUFBSSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDO1FB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QUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxLQUFLLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxZQUFZLENBQUMsT0FBTyxFQUFFO29CQUM1RyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7aUJBQ25DO2FBQ0Y7U0FDRjtJQUNILENBQUM7SUFFTyxlQUFlO1FBQ3JCLE1BQU0sR0FBRyxHQUFXLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQ3RDLEtBQUssSUFBSSxDQUFDLEdBQVcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDcEMsTUFBTSxJQUFJLEdBQVcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDMUMsS0FBSyxJQUFJLEVBQUUsR0FBVyxDQUFDLEVBQUUsRUFBRSxHQUFHLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRTtnQkFDeEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO2FBQ3BDO1NBQ0Y7SUFDSCxDQUFDOzs7WUE3TEYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxlQUFlO2dCQUN6QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7S0FnQlA7Z0JBQ0gsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQXhCTyxZQUFZLHVCQXFFZixNQUFNLFNBQUMsU0FBUzs7O21CQXpDbEIsS0FBSzsyQkFVTCxLQUFLO2lDQVdMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIElucHV0LCBMT0NBTEVfSUQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7QXJyYXlOdW1iZXJQaXBlfSBmcm9tIFwiLi4vLi4vLi4vLi4vcGlwZS9hcnJheS1udW1iZXIucGlwZVwiO1xyXG5pbXBvcnQge0RhdGVQaXBlfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7RGF0ZVV0aWxzfSBmcm9tIFwiLi4vLi4vLi4vLi4vdXRpbHMvZGF0ZS11dGlsc1wiO1xyXG5pbXBvcnQge0NhbGVuZGFyVmlld30gZnJvbSBcIi4uLy4uLy4uLy4uL2VudW0vY2FsZW5kYXItdmlldy5lbnVtXCI7XHJcbmltcG9ydCB7TGFuZ3VhZ2VDb2RlfSBmcm9tIFwiLi4vLi4vLi4vLi4vZW51bS9sYW5ndWFnZS1jb2RlLmVudW1cIjtcclxuXHJcbnR5cGUgRGF0ZVN0YW1wID0geyBkYXk6IG51bWJlciwgaW5Nb250aDogYm9vbGVhbiwgdGltZXN0YW1wOiBudW1iZXIsIHdlZWs6IG51bWJlciwgc2VsZWN0ZWQ6IGJvb2xlYW4gfTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNhbGVuZGFyLXZpZXdcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYWxlbmRhci1jb250ZW50XCI+XHJcbiAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2Vlay1kYXktaGVhZGVyIHdlZWstcm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndlZWstYWNyb255bVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHdlZWtEYXkgb2Ygd2Vla0RheUxhYmVsXCIgW3RleHRDb250ZW50XT1cIndlZWtEYXkgfCB1Y2ZpcnN0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwid2Vlay1kYXktbGFiZWxcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndlZWstcm93XCIgKm5nRm9yPVwibGV0IHdlZWsgb2Ygd2Vla3M7dHJhY2tCeTp0cmFja0J5V2Vla1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgW3RleHRDb250ZW50XT1cIndlZWtbMF0ud2Vla1wiIGNsYXNzPVwid2Vlay1udW1iZXJcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBkYXRlIG9mIHdlZWs7dHJhY2tCeTp0cmFja0J5U3RhbXBcIiBjbGFzcz1cIndlZWstZGF5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkRhdGVDbGljayhkYXRlKVwiIFt0ZXh0Q29udGVudF09XCJkYXRlLmRheVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbi8vZml4bWUgd2UgZG9uJ3QgaGF2ZSBhIHRvZGF5RGF5U3RhbXAgZmllbGQgYnV0IG91ciB0ZW1wbGF0ZSByZWZlcmVuY2VzIGl0XHJcbmV4cG9ydCBjbGFzcyBDYWxlbmRhclZpZXdDb21wb25lbnQge1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgdmlldyh2YWx1ZTogQ2FsZW5kYXJWaWV3KSB7XHJcbiAgICB0aGlzLl92aWV3ID0gdmFsdWU7XHJcbiAgICB0aGlzLl9zZWxlY3REYXlzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHZpZXcoKTogQ2FsZW5kYXJWaWV3IHtcclxuICAgIHJldHVybiB0aGlzLl92aWV3O1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IHNlbGVjdGVkRGF0ZSh2YWx1ZTogRGF0ZSkge1xyXG4gICAgdGhpcy5fc2VsZWN0ZWREYXRlID0gdmFsdWU7XHJcbiAgICB0aGlzLl9zZWxlY3RlZERhdGUuc2V0SG91cnMoMCwgMCwgMCwgMCk7XHJcbiAgICB0aGlzLl9wcmVwYXJlV2Vla3MoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgc2VsZWN0ZWREYXRlKCk6IERhdGUge1xyXG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkRGF0ZTtcclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBzZWxlY3RlZERhdGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxEYXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKTtcclxuXHJcbiAgcHVibGljIHRyYWNrQnlTdGFtcDogRnVuY3Rpb24gPSAoaW5kZXg6IG51bWJlciwgc3RhbXA6IERhdGVTdGFtcCk6IG51bWJlciA9PiB7XHJcbiAgICByZXR1cm4gc3RhbXAgJiYgc3RhbXAudGltZXN0YW1wIHx8IGluZGV4O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHRyYWNrQnlXZWVrOiBGdW5jdGlvbiA9IChpbmRleDogbnVtYmVyLCB3ZWVrOiBEYXRlU3RhbXBbXSk6IG51bWJlciA9PiB7XHJcbiAgICByZXR1cm4gd2VlayAmJiB3ZWVrWzBdLndlZWsgfHwgaW5kZXg7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgd2Vla0RheUxhYmVsOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICBwdWJsaWMgd2Vla3M6IERhdGVTdGFtcFtdW10gPSBbXTtcclxuXHJcbiAgcHJpdmF0ZSBfc2VsZWN0ZWREYXRlOiBEYXRlID0gbmV3IERhdGUoKTtcclxuXHJcbiAgcHJpdmF0ZSBfdmlldzogQ2FsZW5kYXJWaWV3ID0gQ2FsZW5kYXJWaWV3LlRocmVlRGF5c1ZpZXc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdChMT0NBTEVfSUQpIHByaXZhdGUgcmVhZG9ubHkgX2xvY2FsZTogTGFuZ3VhZ2VDb2RlLFxyXG4gICkge1xyXG4gICAgdGhpcy5zZWxlY3RlZERhdGUuc2V0SG91cnMoMCwgMCwgMCwgMCk7XHJcbiAgICB0aGlzLl9zZXRMYWJlbHMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkRhdGVDbGljayhkYXRlOiBEYXRlU3RhbXApOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gbmV3IERhdGUoZGF0ZS50aW1lc3RhbXApO1xyXG4gICAgdGhpcy5zZWxlY3RlZERhdGVDaGFuZ2UuZW1pdCh0aGlzLnNlbGVjdGVkRGF0ZSk7XHJcbiAgICB0aGlzLl9zZWxlY3REYXlzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zZXRMYWJlbHMoKTogdm9pZCB7XHJcbiAgICBjb25zdCBkYXRlUGlwZTogRGF0ZVBpcGUgPSBuZXcgRGF0ZVBpcGUodGhpcy5fbG9jYWxlKTtcclxuXHJcbiAgICBjb25zdCBjdXJyZW50RGF5OiBudW1iZXIgPSB0aGlzLnNlbGVjdGVkRGF0ZS5nZXREYXkoKTtcclxuICAgIGNvbnN0IHN0YXJ0V2Vla0RhdGU6IERhdGUgPSBuZXcgRGF0ZSh0aGlzLnNlbGVjdGVkRGF0ZS5nZXRUaW1lKCkpO1xyXG4gICAgc3RhcnRXZWVrRGF0ZS5zZXREYXRlKHN0YXJ0V2Vla0RhdGUuZ2V0RGF0ZSgpIC0gY3VycmVudERheSAtIDEpO1xyXG5cclxuICAgIHRoaXMud2Vla0RheUxhYmVsID0gbmV3IEFycmF5TnVtYmVyUGlwZSgpLnRyYW5zZm9ybSg3KS5tYXAoKCkgPT4ge1xyXG4gICAgICBzdGFydFdlZWtEYXRlLnNldERhdGUoc3RhcnRXZWVrRGF0ZS5nZXREYXRlKCkgKyAxKTtcclxuICAgICAgcmV0dXJuIGRhdGVQaXBlLnRyYW5zZm9ybShzdGFydFdlZWtEYXRlLCBcIkVcIik7XHJcbiAgICB9KTtcclxuICAgIHRoaXMud2Vla0RheUxhYmVsLnB1c2godGhpcy53ZWVrRGF5TGFiZWwuc2hpZnQoKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9wcmVwYXJlV2Vla3MoKTogdm9pZCB7XHJcbiAgICB0aGlzLndlZWtzLmxlbmd0aCA9IDA7XHJcblxyXG4gICAgY29uc3QgZGF0ZTogRGF0ZSA9IG5ldyBEYXRlKHRoaXMuc2VsZWN0ZWREYXRlLmdldFRpbWUoKSk7XHJcbiAgICBkYXRlLnNldEhvdXJzKDAsIDAsIDAsIDApO1xyXG5cclxuICAgIC8vIGdvIHRvIGxhc3QgZGF5IG9mIG1vbnRoXHJcbiAgICBkYXRlLnNldE1vbnRoKGRhdGUuZ2V0TW9udGgoKSArIDEpO1xyXG4gICAgZGF0ZS5zZXREYXRlKDApO1xyXG4gICAgY29uc3QgbW9udGhFbmREYXk6IG51bWJlciA9IGRhdGUuZ2V0RGF5KCk7XHJcbiAgICBjb25zdCBtb250aEVuZERhdGU6IG51bWJlciA9IGRhdGUuZ2V0RGF0ZSgpO1xyXG5cclxuICAgIC8vIGRheXMgYWZ0ZXIgZW5kIG9mIG1vbnRoXHJcbiAgICBjb25zdCBkYXlzQWZ0ZXI6IG51bWJlciA9ICFtb250aEVuZERheSA/IDAgOiA3IC0gbW9udGhFbmREYXk7XHJcblxyXG4gICAgLy8gZ28gdG8gZmlyc3QgZGF5IG9mIG1vbnRoXHJcbiAgICBkYXRlLnNldERhdGUoMSk7XHJcbiAgICBjb25zdCBtb250aEJlZ2luRGF5OiBudW1iZXIgPSBkYXRlLmdldERheSgpO1xyXG5cclxuICAgIC8vIGRheXMgYmVmb3JlIHN0YXJ0IG9mIG1vbnRoXHJcbiAgICBjb25zdCBkYXlzQmVmb3JlOiBudW1iZXIgPSAhbW9udGhCZWdpbkRheSA/IDYgOiBtb250aEJlZ2luRGF5IC0gMTtcclxuXHJcbiAgICAvLyBnbyB0byBzdGFydCBvZiBjYWxlbmRhciB2aWV3XHJcbiAgICBkYXRlLnNldERhdGUoLWRheXNCZWZvcmUgKyAxKTtcclxuXHJcbiAgICAvLyBhbW91bnQgb2Ygd2Vla3MgdG8gZGlzcGxheVxyXG4gICAgY29uc3Qgd2Vla0NvdW50OiBudW1iZXIgPSBNYXRoLmNlaWwoKGRheXNCZWZvcmUgKyBkYXlzQWZ0ZXIgKyBtb250aEVuZERhdGUpIC8gNyk7XHJcbiAgICBjb25zdCB3ZWVrU3RhcnQ6IG51bWJlciA9IERhdGVVdGlscy5HZXRXZWVrTnVtYmVyKGRhdGUpO1xyXG4gICAgY29uc3Qgd2Vla0VuZDogbnVtYmVyID0gd2Vla1N0YXJ0ICsgd2Vla0NvdW50IC0gMTtcclxuXHJcbiAgICAvLyBpdGVyYXRlIG92ZXIgd2VlayBjb3VudFxyXG4gICAgZm9yIChsZXQgaTogbnVtYmVyID0gd2Vla1N0YXJ0OyBpIDw9IHdlZWtFbmQ7IGkrKykge1xyXG4gICAgICBsZXQgd2VlazogbnVtYmVyID0gaTtcclxuXHJcbiAgICAgIC8vIG9ubHkgcmVjYWxjdWxhdGUgd2VlayB3aGVuIGl0J3MgbmVjZXNzYXJ5XHJcbiAgICAgIGlmICh3ZWVrU3RhcnQgPiA1MCkge1xyXG4gICAgICAgIHdlZWsgPSBEYXRlVXRpbHMuR2V0V2Vla051bWJlcihkYXRlKTtcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBkYXlzOiBEYXRlU3RhbXBbXSA9IFtdO1xyXG5cclxuICAgICAgLy8gaXRlcmF0ZSBvdmVyIDcgZGF5c1xyXG4gICAgICBmb3IgKGxldCBpaTogbnVtYmVyID0gMTsgaWkgPD0gNzsgaWkrKykge1xyXG4gICAgICAgIC8vIGNoZWNrIGlmIHdlIGFyZSBpbiB0aGUgY3VycmVudCBtb250aFxyXG4gICAgICAgIGxldCBpbk1vbnRoOiBib29sZWFuID0gdHJ1ZTtcclxuICAgICAgICBpZiAoaSA9PT0gd2Vla1N0YXJ0KSB7XHJcbiAgICAgICAgICBpbk1vbnRoID0gaWkgPiBkYXlzQmVmb3JlO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoaSA9PT0gd2Vla0VuZCkge1xyXG4gICAgICAgICAgaW5Nb250aCA9IGlpIDw9IDcgLSBkYXlzQWZ0ZXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCB0aW1lc3RhbXA6IG51bWJlciA9IGRhdGUuZ2V0VGltZSgpO1xyXG4gICAgICAgIC8vIGFkZCBkYXRlU3RhbXAgdG8gZGF0ZSBhcnJheVxyXG4gICAgICAgIGRheXMucHVzaCh7XHJcbiAgICAgICAgICB3ZWVrOiB3ZWVrLFxyXG4gICAgICAgICAgaW5Nb250aDogaW5Nb250aCxcclxuICAgICAgICAgIGRheTogZGF0ZS5nZXREYXRlKCksXHJcbiAgICAgICAgICB0aW1lc3RhbXA6IHRpbWVzdGFtcCxcclxuICAgICAgICAgIHNlbGVjdGVkOiB0aGlzLnNlbGVjdGVkRGF0ZS5nZXRUaW1lKCkgPT09IHRpbWVzdGFtcFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIC8vIGdvIG9uZSBkYXkgZnVydGhlclxyXG4gICAgICAgIGRhdGUuc2V0RGF0ZShkYXRlLmdldERhdGUoKSArIDEpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMud2Vla3MucHVzaChkYXlzKTtcclxuICAgIH1cclxuICAgIHRoaXMuX3NlbGVjdERheXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3NlbGVjdERheXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9yZXNldFNlbGVjdGlvbigpO1xyXG4gICAgaWYgKCF0aGlzLnNlbGVjdGVkRGF0ZSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb25zdCB3ZWVrTnVtYmVyOiBudW1iZXIgPSBEYXRlVXRpbHMuR2V0V2Vla051bWJlcih0aGlzLnNlbGVjdGVkRGF0ZSk7XHJcbiAgICBjb25zdCBsZW46IG51bWJlciA9IHRoaXMud2Vla3MubGVuZ3RoO1xyXG4gICAgZm9yIChsZXQgaTogbnVtYmVyID0gMDsgaSA8IGxlbjsgaSsrKSB7XHJcbiAgICAgIGNvbnN0IGxlbmk6IG51bWJlciA9IHRoaXMud2Vla3NbaV0ubGVuZ3RoO1xyXG4gICAgICBmb3IgKGxldCBpaTogbnVtYmVyID0gMDsgaWkgPCBsZW5pOyBpaSsrKSB7XHJcbiAgICAgICAgaWYgKHRoaXMud2Vla3NbaV1baWldLmluTW9udGggJiYgdGhpcy52aWV3ID09PSBDYWxlbmRhclZpZXcuTW9udGhWaWV3KSB7XHJcbiAgICAgICAgICB0aGlzLndlZWtzW2ldW2lpXS5zZWxlY3RlZCA9IHRydWU7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLndlZWtzW2ldW2lpXS53ZWVrID09PSB3ZWVrTnVtYmVyICYmIHRoaXMudmlldyA9PT0gQ2FsZW5kYXJWaWV3LldlZWtWaWV3KSB7XHJcbiAgICAgICAgICB0aGlzLndlZWtzW2ldW2lpXS5zZWxlY3RlZCA9IHRydWU7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLndlZWtzW2ldW2lpXS50aW1lc3RhbXAgPT09IHRoaXMuc2VsZWN0ZWREYXRlLmdldFRpbWUoKSAmJiB0aGlzLnZpZXcgPT09IENhbGVuZGFyVmlldy5XZWVrU2VsZWN0Vmlldykge1xyXG4gICAgICAgICAgdGhpcy53ZWVrc1tpXVtpaV0uc2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy53ZWVrc1tpXVtpaV0udGltZXN0YW1wID09PSB0aGlzLnNlbGVjdGVkRGF0ZS5nZXRUaW1lKCkgJiYgdGhpcy52aWV3ID09PSBDYWxlbmRhclZpZXcuRGF5Vmlldykge1xyXG4gICAgICAgICAgdGhpcy53ZWVrc1tpXVtpaV0uc2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcmVzZXRTZWxlY3Rpb24oKTogdm9pZCB7XHJcbiAgICBjb25zdCBsZW46IG51bWJlciA9IHRoaXMud2Vla3MubGVuZ3RoO1xyXG4gICAgZm9yIChsZXQgaTogbnVtYmVyID0gMDsgaSA8IGxlbjsgaSsrKSB7XHJcbiAgICAgIGNvbnN0IGxlbmk6IG51bWJlciA9IHRoaXMud2Vla3NbaV0ubGVuZ3RoO1xyXG4gICAgICBmb3IgKGxldCBpaTogbnVtYmVyID0gMDsgaWkgPCBsZW5pOyBpaSsrKSB7XHJcbiAgICAgICAgdGhpcy53ZWVrc1tpXVtpaV0uc2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -2,7 +2,7 @@ import { Component, EventEmitter, Input, Output, ViewEncapsulation } from "@angu
2
2
  import { CalendarView } from "../../../../enum/calendar-view.enum";
3
3
  export class CalendarComponent {
4
4
  constructor() {
5
- this.view = CalendarView.WeekView;
5
+ this.view = CalendarView.ThreeDaysView;
6
6
  this.selectedDate = new Date();
7
7
  this.days = [];
8
8
  this.selectedDateChange = new EventEmitter();
@@ -31,4 +31,4 @@ CalendarComponent.propDecorators = {
31
31
  days: [{ type: Input }],
32
32
  selectedDateChange: [{ type: Output }]
33
33
  };
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvZGF0ZS1wbGFubmluZy9jb21wb25lbnQvY2FsZW5kYXIvY2FsZW5kYXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBWWpFLE1BQU0sT0FBTyxpQkFBaUI7SUFjNUI7UUFYTyxTQUFJLEdBQWlCLFlBQVksQ0FBQyxRQUFRLENBQUM7UUFHM0MsaUJBQVksR0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO1FBR2hDLFNBQUksR0FBVyxFQUFFLENBQUM7UUFHbEIsdUJBQWtCLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7SUFHekUsQ0FBQztJQUVNLGtCQUFrQixDQUFDLElBQVU7UUFDbEMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDekIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbEQsQ0FBQzs7O1lBOUJGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsVUFBVTtnQkFDcEIsUUFBUSxFQUFFOzs7OztLQUtQO2dCQUNILGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7O21CQUdFLEtBQUs7MkJBR0wsS0FBSzttQkFHTCxLQUFLO2lDQUdMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtDYWxlbmRhclZpZXd9IGZyb20gXCIuLi8uLi8uLi8uLi9lbnVtL2NhbGVuZGFyLXZpZXcuZW51bVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY2FsZW5kYXJcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYy1jYWxlbmRhclwiPlxyXG4gICAgICAgICAgPGNhbGVuZGFyLWhlYWRlciBbc2VsZWN0ZWREYXRlXT1cInNlbGVjdGVkRGF0ZVwiIChzZWxlY3RlZERhdGVDaGFuZ2UpPVwiY2hhbmdlU2VsZWN0ZWREYXRlKCRldmVudClcIj48L2NhbGVuZGFyLWhlYWRlcj5cclxuICAgICAgICAgIDxjYWxlbmRhci12aWV3IFt2aWV3XT1cInZpZXdcIiBbc2VsZWN0ZWREYXRlXT1cInNlbGVjdGVkRGF0ZVwiIChzZWxlY3RlZERhdGVDaGFuZ2UpPVwiY2hhbmdlU2VsZWN0ZWREYXRlKCRldmVudClcIj48L2NhbGVuZGFyLXZpZXc+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIENhbGVuZGFyQ29tcG9uZW50IHtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdmlldzogQ2FsZW5kYXJWaWV3ID0gQ2FsZW5kYXJWaWV3LldlZWtWaWV3O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZWxlY3RlZERhdGU6IERhdGUgPSBuZXcgRGF0ZSgpO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBkYXlzOiBEYXRlW10gPSBbXTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHNlbGVjdGVkRGF0ZUNoYW5nZTogRXZlbnRFbWl0dGVyPERhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjaGFuZ2VTZWxlY3RlZERhdGUoZGF0ZTogRGF0ZSk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZERhdGUgPSBkYXRlO1xyXG4gICAgdGhpcy5zZWxlY3RlZERhdGVDaGFuZ2UuZW1pdCh0aGlzLnNlbGVjdGVkRGF0ZSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvZGF0ZS1wbGFubmluZy9jb21wb25lbnQvY2FsZW5kYXIvY2FsZW5kYXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBWWpFLE1BQU0sT0FBTyxpQkFBaUI7SUFjNUI7UUFYTyxTQUFJLEdBQWlCLFlBQVksQ0FBQyxhQUFhLENBQUM7UUFHaEQsaUJBQVksR0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO1FBR2hDLFNBQUksR0FBVyxFQUFFLENBQUM7UUFHbEIsdUJBQWtCLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7SUFHekUsQ0FBQztJQUVNLGtCQUFrQixDQUFDLElBQVU7UUFDbEMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDekIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbEQsQ0FBQzs7O1lBOUJGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsVUFBVTtnQkFDcEIsUUFBUSxFQUFFOzs7OztLQUtQO2dCQUNILGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7O21CQUdFLEtBQUs7MkJBR0wsS0FBSzttQkFHTCxLQUFLO2lDQUdMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtDYWxlbmRhclZpZXd9IGZyb20gXCIuLi8uLi8uLi8uLi9lbnVtL2NhbGVuZGFyLXZpZXcuZW51bVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY2FsZW5kYXJcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYy1jYWxlbmRhclwiPlxyXG4gICAgICAgICAgPGNhbGVuZGFyLWhlYWRlciBbc2VsZWN0ZWREYXRlXT1cInNlbGVjdGVkRGF0ZVwiIChzZWxlY3RlZERhdGVDaGFuZ2UpPVwiY2hhbmdlU2VsZWN0ZWREYXRlKCRldmVudClcIj48L2NhbGVuZGFyLWhlYWRlcj5cclxuICAgICAgICAgIDxjYWxlbmRhci12aWV3IFt2aWV3XT1cInZpZXdcIiBbc2VsZWN0ZWREYXRlXT1cInNlbGVjdGVkRGF0ZVwiIChzZWxlY3RlZERhdGVDaGFuZ2UpPVwiY2hhbmdlU2VsZWN0ZWREYXRlKCRldmVudClcIj48L2NhbGVuZGFyLXZpZXc+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIENhbGVuZGFyQ29tcG9uZW50IHtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdmlldzogQ2FsZW5kYXJWaWV3ID0gQ2FsZW5kYXJWaWV3LlRocmVlRGF5c1ZpZXc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNlbGVjdGVkRGF0ZTogRGF0ZSA9IG5ldyBEYXRlKCk7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGRheXM6IERhdGVbXSA9IFtdO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgc2VsZWN0ZWREYXRlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8RGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNoYW5nZVNlbGVjdGVkRGF0ZShkYXRlOiBEYXRlKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IGRhdGU7XHJcbiAgICB0aGlzLnNlbGVjdGVkRGF0ZUNoYW5nZS5lbWl0KHRoaXMuc2VsZWN0ZWREYXRlKTtcclxuICB9XHJcbn1cclxuIl19
@@ -10,8 +10,8 @@ export class DatePlanningComponent {
10
10
  this.showButton = false;
11
11
  this.buttonLabel = "";
12
12
  this.eventsPerDay = [];
13
- this.view = CalendarView.WeekView;
14
- this.viewSelection = false;
13
+ this.view = CalendarView.ThreeDaysView;
14
+ this.viewSelection = true;
15
15
  this.eventChecked = new EventEmitter();
16
16
  this.selectedDateChange = new EventEmitter();
17
17
  this.rangeChange = new EventEmitter();
@@ -113,4 +113,4 @@ DatePlanningComponent.propDecorators = {
113
113
  buttonClick: [{ type: Output }],
114
114
  showClass: [{ type: HostBinding, args: ["class.co-date-planning",] }]
115
115
  };
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1wbGFubmluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9kYXRlLXBsYW5uaW5nL2RhdGUtcGxhbm5pbmcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUVULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQy9FLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQStDM0QsTUFBTSxPQUFPLHFCQUFxQjtJQW9EaEMsWUFDVSxlQUFrQyxFQUNsQyxRQUFtQjtRQURuQixvQkFBZSxHQUFmLGVBQWUsQ0FBbUI7UUFDbEMsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQWpEdEIsdUJBQWtCLEdBQVksS0FBSyxDQUFDO1FBR3BDLHNCQUFpQixHQUFZLEtBQUssQ0FBQztRQUduQyxlQUFVLEdBQVksS0FBSyxDQUFDO1FBUzVCLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBR3pCLGlCQUFZLEdBQXdCLEVBQUUsQ0FBQztRQUd2QyxTQUFJLEdBQWlCLFlBQVksQ0FBQyxRQUFRLENBQUM7UUFHM0Msa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFHdEIsaUJBQVksR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUcxRCx1QkFBa0IsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUdsRSxnQkFBVyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRzNELGVBQVUsR0FBK0IsSUFBSSxZQUFZLEVBQWdCLENBQUM7UUFHMUUsZ0JBQVcsR0FBNkIsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUdoRixjQUFTLEdBQVksSUFBSSxDQUFDO1FBRTFCLFNBQUksR0FBVyxFQUFFLENBQUM7UUFDakIsa0JBQWEsR0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO0lBTXpDLENBQUM7SUFFTSxvQkFBb0IsQ0FBQyxJQUFVLEVBQUUsZUFBd0IsS0FBSztRQUNuRSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLElBQUksWUFBWSxFQUFFO1lBQ2hCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUMxQzthQUFNO1lBQ0wsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDakQ7UUFDRCxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFTSxZQUFZLENBQUMsSUFBa0I7UUFDcEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTSxnQkFBZ0I7UUFDckIsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLFNBQVMsRUFBRTtZQUMvQixNQUFNLFFBQVEsR0FBUSxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ25FLElBQUksUUFBUSxFQUFFO2dCQUNaLFVBQVUsQ0FBQyxHQUFHLEVBQUU7b0JBQ2QsUUFBUSxDQUFDLGNBQWMsQ0FBQyxFQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBQyxDQUFDLENBQUM7Z0JBQ2xFLENBQUMsQ0FBQyxDQUFDO2FBQ0o7U0FDRjtJQUNILENBQUM7OztZQTlIRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtnQkFDNUIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQTZCUDtnQkFDSCxVQUFVLEVBQUU7b0JBQ1YsT0FBTyxDQUFDLGdCQUFnQixFQUFFO3dCQUN4QixLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUMsQ0FBQyxDQUFDO3dCQUM5QyxLQUFLLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUMsQ0FBQyxDQUFDO3dCQUMzQyxVQUFVLENBQUMsZ0JBQWdCLEVBQUU7NEJBQzNCLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQzt5QkFDN0IsQ0FBQztxQkFDSCxDQUFDO2lCQUNIO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUF6REMsaUJBQWlCO1lBT2pCLFNBQVM7Ozt1QkFxRFIsU0FBUyxTQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7aUNBR3RDLEtBQUs7Z0NBR0wsS0FBSzt5QkFHTCxLQUFLOzJCQUdMLEtBQUs7aUNBR0wsS0FBSzswQkFHTCxLQUFLOzJCQUdMLEtBQUs7bUJBR0wsS0FBSzs0QkFHTCxLQUFLOzJCQUdMLE1BQU07aUNBR04sTUFBTTswQkFHTixNQUFNO3lCQUdOLE1BQU07MEJBR04sTUFBTTt3QkFHTixXQUFXLFNBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIFJlbmRlcmVyMixcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb25cclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHthbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXJ9IGZyb20gXCJAYW5ndWxhci9hbmltYXRpb25zXCI7XHJcbmltcG9ydCB7Q2FsZW5kYXJWaWV3fSBmcm9tICcuLi8uLi9lbnVtL2NhbGVuZGFyLXZpZXcuZW51bSc7XHJcbmltcG9ydCB7QWdlbmRhRXZlbnRQZXJEYXl9IGZyb20gXCIuLi8uLi9tb2RlbC9hZ2VuZGEtZXZlbnQtcGVyLWRheS5tb2RlbFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tZGF0ZS1wbGFubmluZ1wiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwic2MtYWdlbmRhXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LXdyYXBwZXJcIj5cclxuICAgICAgICA8Y2FsZW5kYXIgKm5nSWY9XCJjYWxlbmRhck5hdmlnYXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICBbdmlld109XCJ2aWV3XCJcclxuICAgICAgICAgICAgICAgICAgWyhkYXlzKV09XCJkYXlzXCJcclxuICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkRGF0ZV09XCJzZWxlY3RlZERhdGVcIiAoc2VsZWN0ZWREYXRlQ2hhbmdlKT1cImRvQ2hhbmdlU2VsZWN0ZWREYXRlKCRldmVudClcIj48L2NhbGVuZGFyPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhZ2VuZGEtY29udGVudC13cmFwcGVyIG1pbmktc2Nyb2xsYmFyXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWdlbmRhLWNvbnRlbnRcIj5cclxuICAgICAgICAgICAgPGFnZW5kYS1oZWFkZXIgW3ZpZXddPVwidmlld1wiICh2aWV3Q2hhbmdlKT1cImRvQ2hhbmdlVmlldygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpcnN0QXZhaWxhYmxlRGF0ZV09XCJmaXJzdEF2YWlsYWJsZURhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbZXZlbnRzUGVyRGF5XT1cImV2ZW50c1BlckRheVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZERhdGVdPVwic2VsZWN0ZWREYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNlbGVjdGVkRGF0ZUNoYW5nZSk9XCJkb0NoYW5nZVNlbGVjdGVkRGF0ZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZpZXdTZWxlY3Rpb25dPVwidmlld1NlbGVjdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChyYW5nZUNoYW5nZSk9XCJkb0NoYW5nZVNlbGVjdGVkRGF0ZSgkZXZlbnQsIHRydWUpXCI+PC9hZ2VuZGEtaGVhZGVyPlxyXG4gICAgICAgICAgICA8YWdlbmRhLXZpZXcgW3ZpZXddPVwidmlld1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbY3VzdG9tRXZlbnRPYmplY3RdPVwiY3VzdG9tRXZlbnRPYmplY3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkRGF0ZV09XCJzZWxlY3RlZERhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2V2ZW50c1BlckRheV09XCJldmVudHNQZXJEYXlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgKGV2ZW50Q2hlY2tlZCk9XCJldmVudENoZWNrZWQuZW1pdCgkZXZlbnQpXCI+PC9hZ2VuZGEtdmlldz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGNvLWJ1dHRvbiAqbmdJZj1cInNob3dCdXR0b24gJiYgZXZlbnRzUGVyRGF5Lmxlbmd0aCA+IDBcIiBjbGFzcz1cInRleHQtb25seSBzZWxlY3QtYWdlbmRhLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgIFtsYWJlbF09XCJidXR0b25MYWJlbFwiXHJcbiAgICAgICAgICAgICAgIChjbGljayk9XCJidXR0b25DbGljay5lbWl0KCRldmVudClcIj5cclxuICAgIDwvY28tYnV0dG9uPlxyXG4gICAgYCxcclxuICBhbmltYXRpb25zOiBbXHJcbiAgICB0cmlnZ2VyKFwic2hvd0hpZGVXaW5kb3dcIiwgW1xyXG4gICAgICBzdGF0ZShcInZvaWRcIiwgc3R5bGUoe3RyYW5zZm9ybTogXCJzY2FsZVkoMClcIn0pKSxcclxuICAgICAgc3RhdGUoXCIqXCIsIHN0eWxlKHt0cmFuc2Zvcm06IFwic2NhbGVZKDEpXCJ9KSksXHJcbiAgICAgIHRyYW5zaXRpb24oXCI6ZW50ZXIsIDpsZWF2ZVwiLCBbXHJcbiAgICAgICAgYW5pbWF0ZShcIjIwMG1zIGVhc2UtaW4tb3V0XCIpXHJcbiAgICAgIF0pXHJcbiAgICBdKVxyXG4gIF0sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIERhdGVQbGFubmluZ0NvbXBvbmVudCB7XHJcbiAgQFZpZXdDaGlsZChcImRheVN0YXJ0XCIsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgcHVibGljIGRheVN0YXJ0OiBFbGVtZW50UmVmO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBjYWxlbmRhck5hdmlnYXRpb246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgY3VzdG9tRXZlbnRPYmplY3Q6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2hvd0J1dHRvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZWxlY3RlZERhdGU6IERhdGU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGZpcnN0QXZhaWxhYmxlRGF0ZTogRGF0ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYnV0dG9uTGFiZWw6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGV2ZW50c1BlckRheTogQWdlbmRhRXZlbnRQZXJEYXlbXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB2aWV3OiBDYWxlbmRhclZpZXcgPSBDYWxlbmRhclZpZXcuV2Vla1ZpZXc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHZpZXdTZWxlY3Rpb246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJlYWRvbmx5IGV2ZW50Q2hlY2tlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJlYWRvbmx5IHNlbGVjdGVkRGF0ZUNoYW5nZTogRXZlbnRFbWl0dGVyPERhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcmVhZG9ubHkgcmFuZ2VDaGFuZ2U6IEV2ZW50RW1pdHRlcjxEYXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJlYWRvbmx5IHZpZXdDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDYWxlbmRhclZpZXc+ID0gbmV3IEV2ZW50RW1pdHRlcjxDYWxlbmRhclZpZXc+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZWFkb25seSBidXR0b25DbGljazogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby1kYXRlLXBsYW5uaW5nXCIpXHJcbiAgcHVibGljIHNob3dDbGFzczogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIHB1YmxpYyBkYXlzOiBEYXRlW10gPSBbXTtcclxuICBwcml2YXRlIF9zZWxlY3RlZERhdGU6IERhdGUgPSBuZXcgRGF0ZSgpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMlxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGRvQ2hhbmdlU2VsZWN0ZWREYXRlKGRhdGU6IERhdGUsIHJhbmdlQ2hhbmdlZDogYm9vbGVhbiA9IGZhbHNlKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IG5ldyBEYXRlKGRhdGUpO1xyXG4gICAgaWYgKHJhbmdlQ2hhbmdlZCkge1xyXG4gICAgICB0aGlzLnJhbmdlQ2hhbmdlLm5leHQodGhpcy5zZWxlY3RlZERhdGUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZERhdGVDaGFuZ2UubmV4dCh0aGlzLnNlbGVjdGVkRGF0ZSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZG9DaGFuZ2VWaWV3KHZpZXc6IENhbGVuZGFyVmlldyk6IHZvaWQge1xyXG4gICAgdGhpcy52aWV3ID0gdmlldztcclxuICAgIHRoaXMudmlld0NoYW5nZS5uZXh0KHRoaXMudmlldyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2Nyb2xsVG9EYXlTdGFydCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmRheVN0YXJ0ICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgY29uc3QgZGF5U3RhcnQ6IGFueSA9IHRoaXMucmVuZGVyZXIuc2VsZWN0Um9vdEVsZW1lbnQoXCIjZGF5U3RhcnRcIik7XHJcbiAgICAgIGlmIChkYXlTdGFydCkge1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgZGF5U3RhcnQuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOiBcImluc3RhbnRcIiwgYmxvY2s6IFwiY2VudGVyXCJ9KTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIl19
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1wbGFubmluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9kYXRlLXBsYW5uaW5nL2RhdGUtcGxhbm5pbmcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUVULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQy9FLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQStDM0QsTUFBTSxPQUFPLHFCQUFxQjtJQW9EaEMsWUFDVSxlQUFrQyxFQUNsQyxRQUFtQjtRQURuQixvQkFBZSxHQUFmLGVBQWUsQ0FBbUI7UUFDbEMsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQWpEdEIsdUJBQWtCLEdBQVksS0FBSyxDQUFDO1FBR3BDLHNCQUFpQixHQUFZLEtBQUssQ0FBQztRQUduQyxlQUFVLEdBQVksS0FBSyxDQUFDO1FBUzVCLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBR3pCLGlCQUFZLEdBQXdCLEVBQUUsQ0FBQztRQUd2QyxTQUFJLEdBQWlCLFlBQVksQ0FBQyxhQUFhLENBQUM7UUFHaEQsa0JBQWEsR0FBWSxJQUFJLENBQUM7UUFHckIsaUJBQVksR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUcxRCx1QkFBa0IsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUdsRSxnQkFBVyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRzNELGVBQVUsR0FBK0IsSUFBSSxZQUFZLEVBQWdCLENBQUM7UUFHMUUsZ0JBQVcsR0FBNkIsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUdoRixjQUFTLEdBQVksSUFBSSxDQUFDO1FBRTFCLFNBQUksR0FBVyxFQUFFLENBQUM7UUFDakIsa0JBQWEsR0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO0lBTXpDLENBQUM7SUFFTSxvQkFBb0IsQ0FBQyxJQUFVLEVBQUUsZUFBd0IsS0FBSztRQUNuRSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLElBQUksWUFBWSxFQUFFO1lBQ2hCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUMxQzthQUFNO1lBQ0wsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDakQ7UUFDRCxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFTSxZQUFZLENBQUMsSUFBa0I7UUFDcEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTSxnQkFBZ0I7UUFDckIsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLFNBQVMsRUFBRTtZQUMvQixNQUFNLFFBQVEsR0FBUSxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ25FLElBQUksUUFBUSxFQUFFO2dCQUNaLFVBQVUsQ0FBQyxHQUFHLEVBQUU7b0JBQ2QsUUFBUSxDQUFDLGNBQWMsQ0FBQyxFQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBQyxDQUFDLENBQUM7Z0JBQ2xFLENBQUMsQ0FBQyxDQUFDO2FBQ0o7U0FDRjtJQUNILENBQUM7OztZQTlIRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtnQkFDNUIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQTZCUDtnQkFDSCxVQUFVLEVBQUU7b0JBQ1YsT0FBTyxDQUFDLGdCQUFnQixFQUFFO3dCQUN4QixLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUMsQ0FBQyxDQUFDO3dCQUM5QyxLQUFLLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUMsQ0FBQyxDQUFDO3dCQUMzQyxVQUFVLENBQUMsZ0JBQWdCLEVBQUU7NEJBQzNCLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQzt5QkFDN0IsQ0FBQztxQkFDSCxDQUFDO2lCQUNIO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUF6REMsaUJBQWlCO1lBT2pCLFNBQVM7Ozt1QkFxRFIsU0FBUyxTQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7aUNBR3RDLEtBQUs7Z0NBR0wsS0FBSzt5QkFHTCxLQUFLOzJCQUdMLEtBQUs7aUNBR0wsS0FBSzswQkFHTCxLQUFLOzJCQUdMLEtBQUs7bUJBR0wsS0FBSzs0QkFHTCxLQUFLOzJCQUdMLE1BQU07aUNBR04sTUFBTTswQkFHTixNQUFNO3lCQUdOLE1BQU07MEJBR04sTUFBTTt3QkFHTixXQUFXLFNBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIFJlbmRlcmVyMixcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb25cclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHthbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXJ9IGZyb20gXCJAYW5ndWxhci9hbmltYXRpb25zXCI7XHJcbmltcG9ydCB7Q2FsZW5kYXJWaWV3fSBmcm9tICcuLi8uLi9lbnVtL2NhbGVuZGFyLXZpZXcuZW51bSc7XHJcbmltcG9ydCB7QWdlbmRhRXZlbnRQZXJEYXl9IGZyb20gXCIuLi8uLi9tb2RlbC9hZ2VuZGEtZXZlbnQtcGVyLWRheS5tb2RlbFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tZGF0ZS1wbGFubmluZ1wiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwic2MtYWdlbmRhXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LXdyYXBwZXJcIj5cclxuICAgICAgICA8Y2FsZW5kYXIgKm5nSWY9XCJjYWxlbmRhck5hdmlnYXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICBbdmlld109XCJ2aWV3XCJcclxuICAgICAgICAgICAgICAgICAgWyhkYXlzKV09XCJkYXlzXCJcclxuICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkRGF0ZV09XCJzZWxlY3RlZERhdGVcIiAoc2VsZWN0ZWREYXRlQ2hhbmdlKT1cImRvQ2hhbmdlU2VsZWN0ZWREYXRlKCRldmVudClcIj48L2NhbGVuZGFyPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhZ2VuZGEtY29udGVudC13cmFwcGVyIG1pbmktc2Nyb2xsYmFyXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWdlbmRhLWNvbnRlbnRcIj5cclxuICAgICAgICAgICAgPGFnZW5kYS1oZWFkZXIgW3ZpZXddPVwidmlld1wiICh2aWV3Q2hhbmdlKT1cImRvQ2hhbmdlVmlldygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpcnN0QXZhaWxhYmxlRGF0ZV09XCJmaXJzdEF2YWlsYWJsZURhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbZXZlbnRzUGVyRGF5XT1cImV2ZW50c1BlckRheVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZERhdGVdPVwic2VsZWN0ZWREYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNlbGVjdGVkRGF0ZUNoYW5nZSk9XCJkb0NoYW5nZVNlbGVjdGVkRGF0ZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZpZXdTZWxlY3Rpb25dPVwidmlld1NlbGVjdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChyYW5nZUNoYW5nZSk9XCJkb0NoYW5nZVNlbGVjdGVkRGF0ZSgkZXZlbnQsIHRydWUpXCI+PC9hZ2VuZGEtaGVhZGVyPlxyXG4gICAgICAgICAgICA8YWdlbmRhLXZpZXcgW3ZpZXddPVwidmlld1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbY3VzdG9tRXZlbnRPYmplY3RdPVwiY3VzdG9tRXZlbnRPYmplY3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkRGF0ZV09XCJzZWxlY3RlZERhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2V2ZW50c1BlckRheV09XCJldmVudHNQZXJEYXlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgKGV2ZW50Q2hlY2tlZCk9XCJldmVudENoZWNrZWQuZW1pdCgkZXZlbnQpXCI+PC9hZ2VuZGEtdmlldz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGNvLWJ1dHRvbiAqbmdJZj1cInNob3dCdXR0b24gJiYgZXZlbnRzUGVyRGF5Lmxlbmd0aCA+IDBcIiBjbGFzcz1cInRleHQtb25seSBzZWxlY3QtYWdlbmRhLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgIFtsYWJlbF09XCJidXR0b25MYWJlbFwiXHJcbiAgICAgICAgICAgICAgIChjbGljayk9XCJidXR0b25DbGljay5lbWl0KCRldmVudClcIj5cclxuICAgIDwvY28tYnV0dG9uPlxyXG4gICAgYCxcclxuICBhbmltYXRpb25zOiBbXHJcbiAgICB0cmlnZ2VyKFwic2hvd0hpZGVXaW5kb3dcIiwgW1xyXG4gICAgICBzdGF0ZShcInZvaWRcIiwgc3R5bGUoe3RyYW5zZm9ybTogXCJzY2FsZVkoMClcIn0pKSxcclxuICAgICAgc3RhdGUoXCIqXCIsIHN0eWxlKHt0cmFuc2Zvcm06IFwic2NhbGVZKDEpXCJ9KSksXHJcbiAgICAgIHRyYW5zaXRpb24oXCI6ZW50ZXIsIDpsZWF2ZVwiLCBbXHJcbiAgICAgICAgYW5pbWF0ZShcIjIwMG1zIGVhc2UtaW4tb3V0XCIpXHJcbiAgICAgIF0pXHJcbiAgICBdKVxyXG4gIF0sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIERhdGVQbGFubmluZ0NvbXBvbmVudCB7XHJcbiAgQFZpZXdDaGlsZChcImRheVN0YXJ0XCIsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgcHVibGljIGRheVN0YXJ0OiBFbGVtZW50UmVmO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBjYWxlbmRhck5hdmlnYXRpb246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgY3VzdG9tRXZlbnRPYmplY3Q6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2hvd0J1dHRvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZWxlY3RlZERhdGU6IERhdGU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGZpcnN0QXZhaWxhYmxlRGF0ZTogRGF0ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYnV0dG9uTGFiZWw6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGV2ZW50c1BlckRheTogQWdlbmRhRXZlbnRQZXJEYXlbXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB2aWV3OiBDYWxlbmRhclZpZXcgPSBDYWxlbmRhclZpZXcuVGhyZWVEYXlzVmlldztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdmlld1NlbGVjdGlvbjogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZWFkb25seSBldmVudENoZWNrZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZWFkb25seSBzZWxlY3RlZERhdGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxEYXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJlYWRvbmx5IHJhbmdlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8RGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZWFkb25seSB2aWV3Q2hhbmdlOiBFdmVudEVtaXR0ZXI8Q2FsZW5kYXJWaWV3PiA9IG5ldyBFdmVudEVtaXR0ZXI8Q2FsZW5kYXJWaWV3PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcmVhZG9ubHkgYnV0dG9uQ2xpY2s6IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tZGF0ZS1wbGFubmluZ1wiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3M6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBwdWJsaWMgZGF5czogRGF0ZVtdID0gW107XHJcbiAgcHJpdmF0ZSBfc2VsZWN0ZWREYXRlOiBEYXRlID0gbmV3IERhdGUoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjJcclxuICApIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBkb0NoYW5nZVNlbGVjdGVkRGF0ZShkYXRlOiBEYXRlLCByYW5nZUNoYW5nZWQ6IGJvb2xlYW4gPSBmYWxzZSk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZERhdGUgPSBuZXcgRGF0ZShkYXRlKTtcclxuICAgIGlmIChyYW5nZUNoYW5nZWQpIHtcclxuICAgICAgdGhpcy5yYW5nZUNoYW5nZS5uZXh0KHRoaXMuc2VsZWN0ZWREYXRlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlQ2hhbmdlLm5leHQodGhpcy5zZWxlY3RlZERhdGUpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGRvQ2hhbmdlVmlldyh2aWV3OiBDYWxlbmRhclZpZXcpOiB2b2lkIHtcclxuICAgIHRoaXMudmlldyA9IHZpZXc7XHJcbiAgICB0aGlzLnZpZXdDaGFuZ2UubmV4dCh0aGlzLnZpZXcpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNjcm9sbFRvRGF5U3RhcnQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5kYXlTdGFydCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGNvbnN0IGRheVN0YXJ0OiBhbnkgPSB0aGlzLnJlbmRlcmVyLnNlbGVjdFJvb3RFbGVtZW50KFwiI2RheVN0YXJ0XCIpO1xyXG4gICAgICBpZiAoZGF5U3RhcnQpIHtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgIGRheVN0YXJ0LnNjcm9sbEludG9WaWV3KHtiZWhhdmlvcjogXCJpbnN0YW50XCIsIGJsb2NrOiBcImNlbnRlclwifSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbiJdfQ==