@syncfusion/ej2-angular-schedule 23.2.7-ngcc → 23.2.7

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 (137) hide show
  1. package/esm2020/public_api.mjs +3 -0
  2. package/esm2020/src/index.mjs +11 -0
  3. package/esm2020/src/recurrence-editor/recurrenceeditor-all.module.mjs +23 -0
  4. package/esm2020/src/recurrence-editor/recurrenceeditor.component.mjs +59 -0
  5. package/esm2020/src/recurrence-editor/recurrenceeditor.module.mjs +25 -0
  6. package/esm2020/src/schedule/headerrows.directive.mjs +66 -0
  7. package/esm2020/src/schedule/resources.directive.mjs +58 -0
  8. package/esm2020/src/schedule/schedule-all.module.mjs +74 -0
  9. package/esm2020/src/schedule/schedule.component.mjs +301 -0
  10. package/esm2020/src/schedule/schedule.module.mjs +52 -0
  11. package/esm2020/src/schedule/views.directive.mjs +132 -0
  12. package/esm2020/syncfusion-ej2-angular-schedule.mjs +5 -0
  13. package/fesm2015/syncfusion-ej2-angular-schedule.mjs +757 -0
  14. package/fesm2015/syncfusion-ej2-angular-schedule.mjs.map +1 -0
  15. package/fesm2020/syncfusion-ej2-angular-schedule.mjs +757 -0
  16. package/fesm2020/syncfusion-ej2-angular-schedule.mjs.map +1 -0
  17. package/package.json +26 -12
  18. package/src/recurrence-editor/recurrenceeditor-all.module.d.ts +6 -0
  19. package/src/recurrence-editor/recurrenceeditor.component.d.ts +3 -0
  20. package/src/recurrence-editor/recurrenceeditor.module.d.ts +6 -0
  21. package/src/schedule/headerrows.directive.d.ts +5 -0
  22. package/src/schedule/resources.directive.d.ts +5 -0
  23. package/src/schedule/schedule-all.module.d.ts +6 -0
  24. package/src/schedule/schedule.component.d.ts +3 -0
  25. package/src/schedule/schedule.module.d.ts +9 -0
  26. package/src/schedule/views.directive.d.ts +5 -0
  27. package/styles/material3-dark.css +0 -55
  28. package/styles/material3-dark.scss +1 -0
  29. package/styles/material3.css +0 -111
  30. package/styles/material3.scss +1 -0
  31. package/styles/recurrence-editor/_all.scss +2 -0
  32. package/styles/recurrence-editor/_bootstrap-dark-definition.scss +13 -0
  33. package/styles/recurrence-editor/_bootstrap-definition.scss +13 -0
  34. package/styles/recurrence-editor/_bootstrap4-definition.scss +13 -0
  35. package/styles/recurrence-editor/_bootstrap5-dark-definition.scss +1 -0
  36. package/styles/recurrence-editor/_bootstrap5-definition.scss +13 -0
  37. package/styles/recurrence-editor/_fabric-dark-definition.scss +13 -0
  38. package/styles/recurrence-editor/_fabric-definition.scss +13 -0
  39. package/styles/recurrence-editor/_fluent-dark-definition.scss +1 -0
  40. package/styles/recurrence-editor/_fluent-definition.scss +13 -0
  41. package/styles/recurrence-editor/_fusionnew-definition.scss +13 -0
  42. package/styles/recurrence-editor/_highcontrast-definition.scss +13 -0
  43. package/styles/recurrence-editor/_highcontrast-light-definition.scss +13 -0
  44. package/styles/recurrence-editor/_layout.scss +548 -0
  45. package/styles/recurrence-editor/_material-dark-definition.scss +13 -0
  46. package/styles/recurrence-editor/_material-definition.scss +13 -0
  47. package/styles/recurrence-editor/_material3-dark-definition.scss +1 -0
  48. package/styles/recurrence-editor/_material3-definition.scss +13 -0
  49. package/styles/recurrence-editor/_tailwind-dark-definition.scss +1 -0
  50. package/styles/recurrence-editor/_tailwind-definition.scss +13 -0
  51. package/styles/recurrence-editor/_theme.scss +1 -0
  52. package/styles/recurrence-editor/bootstrap-dark.scss +8 -1
  53. package/styles/recurrence-editor/bootstrap.scss +8 -1
  54. package/styles/recurrence-editor/bootstrap4.scss +8 -1
  55. package/styles/recurrence-editor/bootstrap5-dark.scss +8 -1
  56. package/styles/recurrence-editor/bootstrap5.scss +8 -1
  57. package/styles/recurrence-editor/fabric-dark.scss +8 -1
  58. package/styles/recurrence-editor/fabric.scss +8 -1
  59. package/styles/recurrence-editor/fluent-dark.scss +8 -1
  60. package/styles/recurrence-editor/fluent.scss +8 -1
  61. package/styles/recurrence-editor/highcontrast-light.scss +8 -1
  62. package/styles/recurrence-editor/highcontrast.scss +8 -1
  63. package/styles/recurrence-editor/material-dark.scss +8 -1
  64. package/styles/recurrence-editor/material.scss +8 -1
  65. package/styles/recurrence-editor/material3-dark.scss +8 -1
  66. package/styles/recurrence-editor/material3.scss +8 -1
  67. package/styles/recurrence-editor/tailwind-dark.scss +8 -1
  68. package/styles/recurrence-editor/tailwind.scss +8 -1
  69. package/styles/schedule/_all.scss +2 -0
  70. package/styles/schedule/_bootstrap-dark-definition.scss +280 -0
  71. package/styles/schedule/_bootstrap-definition.scss +280 -0
  72. package/styles/schedule/_bootstrap4-definition.scss +283 -0
  73. package/styles/schedule/_bootstrap5-dark-definition.scss +1 -0
  74. package/styles/schedule/_bootstrap5-definition.scss +290 -0
  75. package/styles/schedule/_fabric-dark-definition.scss +279 -0
  76. package/styles/schedule/_fabric-definition.scss +280 -0
  77. package/styles/schedule/_fluent-dark-definition.scss +1 -0
  78. package/styles/schedule/_fluent-definition.scss +285 -0
  79. package/styles/schedule/_fusionnew-definition.scss +289 -0
  80. package/styles/schedule/_highcontrast-definition.scss +281 -0
  81. package/styles/schedule/_highcontrast-light-definition.scss +281 -0
  82. package/styles/schedule/_layout.scss +4160 -0
  83. package/styles/schedule/_material-dark-definition.scss +280 -0
  84. package/styles/schedule/_material-definition.scss +280 -0
  85. package/styles/schedule/_material3-dark-definition.scss +1 -0
  86. package/styles/schedule/_material3-definition.scss +292 -0
  87. package/styles/schedule/_tailwind-dark-definition.scss +1 -0
  88. package/styles/schedule/_tailwind-definition.scss +282 -0
  89. package/styles/schedule/_theme.scss +551 -0
  90. package/styles/schedule/bootstrap-dark.scss +16 -1
  91. package/styles/schedule/bootstrap.scss +16 -1
  92. package/styles/schedule/bootstrap4.scss +16 -1
  93. package/styles/schedule/bootstrap5-dark.scss +15 -1
  94. package/styles/schedule/bootstrap5.scss +16 -1
  95. package/styles/schedule/fabric-dark.scss +16 -1
  96. package/styles/schedule/fabric.scss +16 -1
  97. package/styles/schedule/fluent-dark.scss +15 -1
  98. package/styles/schedule/fluent.scss +16 -1
  99. package/styles/schedule/highcontrast-light.scss +16 -1
  100. package/styles/schedule/highcontrast.scss +16 -1
  101. package/styles/schedule/icons/_bootstrap-dark.scss +235 -0
  102. package/styles/schedule/icons/_bootstrap.scss +235 -0
  103. package/styles/schedule/icons/_bootstrap4.scss +235 -0
  104. package/styles/schedule/icons/_bootstrap5-dark.scss +1 -0
  105. package/styles/schedule/icons/_bootstrap5.scss +235 -0
  106. package/styles/schedule/icons/_fabric-dark.scss +235 -0
  107. package/styles/schedule/icons/_fabric.scss +235 -0
  108. package/styles/schedule/icons/_fluent-dark.scss +1 -0
  109. package/styles/schedule/icons/_fluent.scss +235 -0
  110. package/styles/schedule/icons/_fusionnew.scss +235 -0
  111. package/styles/schedule/icons/_highcontrast-light.scss +235 -0
  112. package/styles/schedule/icons/_highcontrast.scss +235 -0
  113. package/styles/schedule/icons/_material-dark.scss +235 -0
  114. package/styles/schedule/icons/_material.scss +235 -0
  115. package/styles/schedule/icons/_material3-dark.scss +1 -0
  116. package/styles/schedule/icons/_material3.scss +235 -0
  117. package/styles/schedule/icons/_tailwind-dark.scss +1 -0
  118. package/styles/schedule/icons/_tailwind.scss +235 -0
  119. package/styles/schedule/material-dark.scss +16 -1
  120. package/styles/schedule/material.scss +16 -1
  121. package/styles/schedule/material3-dark.scss +15 -1
  122. package/styles/schedule/material3.scss +16 -1
  123. package/styles/schedule/tailwind-dark.scss +15 -1
  124. package/styles/schedule/tailwind.scss +16 -1
  125. package/syncfusion-ej2-angular-schedule.d.ts +5 -0
  126. package/@syncfusion/ej2-angular-schedule.es5.js +0 -860
  127. package/@syncfusion/ej2-angular-schedule.es5.js.map +0 -1
  128. package/@syncfusion/ej2-angular-schedule.js +0 -808
  129. package/@syncfusion/ej2-angular-schedule.js.map +0 -1
  130. package/CHANGELOG.md +0 -1861
  131. package/dist/ej2-angular-schedule.umd.js +0 -1005
  132. package/dist/ej2-angular-schedule.umd.js.map +0 -1
  133. package/dist/ej2-angular-schedule.umd.min.js +0 -11
  134. package/dist/ej2-angular-schedule.umd.min.js.map +0 -1
  135. package/ej2-angular-schedule.d.ts +0 -6
  136. package/ej2-angular-schedule.metadata.json +0 -1
  137. package/postinstall/tagchange.js +0 -18
@@ -0,0 +1,301 @@
1
+ import { __decorate } from "tslib";
2
+ import { Component, ChangeDetectionStrategy, ContentChild } from '@angular/core';
3
+ import { ComponentBase, ComponentMixins, setValue } from '@syncfusion/ej2-angular-base';
4
+ import { Schedule } from '@syncfusion/ej2-schedule';
5
+ import { Template } from '@syncfusion/ej2-angular-base';
6
+ import { ViewsDirective } from './views.directive';
7
+ import { ResourcesDirective } from './resources.directive';
8
+ import { HeaderRowsDirective } from './headerrows.directive';
9
+ import * as i0 from "@angular/core";
10
+ export const inputs = ['agendaDaysCount', 'allowDragAndDrop', 'allowInline', 'allowKeyboardInteraction', 'allowMultiCellSelection', 'allowMultiDrag', 'allowMultiRowSelection', 'allowResizing', 'allowSwiping', 'calendarMode', 'cellHeaderTemplate', 'cellTemplate', 'cssClass', 'currentView', 'dateFormat', 'dateHeaderTemplate', 'dateRangeTemplate', 'dayHeaderTemplate', 'editorFooterTemplate', 'editorHeaderTemplate', 'editorTemplate', 'enableAdaptiveUI', 'enableAllDayScroll', 'enableHtmlSanitizer', 'enablePersistence', 'enableRecurrenceValidation', 'enableRtl', 'endHour', 'eventDragArea', 'eventSettings', 'firstDayOfWeek', 'firstMonthOfYear', 'group', 'headerIndentTemplate', 'headerRows', 'height', 'hideEmptyAgendaDays', 'locale', 'maxDate', 'minDate', 'monthHeaderTemplate', 'monthsCount', 'quickInfoOnSelectionEnd', 'quickInfoTemplates', 'readonly', 'resourceHeaderTemplate', 'resources', 'rowAutoHeight', 'selectedDate', 'showHeaderBar', 'showQuickInfo', 'showTimeIndicator', 'showWeekNumber', 'showWeekend', 'startHour', 'timeFormat', 'timeScale', 'timezone', 'timezoneDataSource', 'views', 'weekRule', 'width', 'workDays', 'workHours'];
11
+ export const outputs = ['actionBegin', 'actionComplete', 'actionFailure', 'cellClick', 'cellDoubleClick', 'created', 'dataBinding', 'dataBound', 'destroyed', 'drag', 'dragStart', 'dragStop', 'eventClick', 'eventDoubleClick', 'eventRendered', 'hover', 'moreEventsClick', 'navigating', 'popupClose', 'popupOpen', 'renderCell', 'resizeStart', 'resizeStop', 'resizing', 'select', 'virtualScrollStart', 'virtualScrollStop', 'currentViewChange', 'selectedDateChange'];
12
+ export const twoWays = ['currentView', 'selectedDate'];
13
+ /**
14
+ * `ej-schedule` represents the Angular Schedule Component.
15
+ * ```html
16
+ * <ejs-schedule></ejs-schedule>
17
+ * ```
18
+ */
19
+ let ScheduleComponent = class ScheduleComponent extends Schedule {
20
+ constructor(ngEle, srenderer, viewContainerRef, injector) {
21
+ super();
22
+ this.ngEle = ngEle;
23
+ this.srenderer = srenderer;
24
+ this.viewContainerRef = viewContainerRef;
25
+ this.injector = injector;
26
+ this.tags = ['views', 'resources', 'headerRows'];
27
+ this.element = this.ngEle.nativeElement;
28
+ this.injectedModules = this.injectedModules || [];
29
+ try {
30
+ let mod = this.injector.get('ScheduleDay');
31
+ if (this.injectedModules.indexOf(mod) === -1) {
32
+ this.injectedModules.push(mod);
33
+ }
34
+ }
35
+ catch { }
36
+ try {
37
+ let mod = this.injector.get('ScheduleWeek');
38
+ if (this.injectedModules.indexOf(mod) === -1) {
39
+ this.injectedModules.push(mod);
40
+ }
41
+ }
42
+ catch { }
43
+ try {
44
+ let mod = this.injector.get('ScheduleWorkWeek');
45
+ if (this.injectedModules.indexOf(mod) === -1) {
46
+ this.injectedModules.push(mod);
47
+ }
48
+ }
49
+ catch { }
50
+ try {
51
+ let mod = this.injector.get('ScheduleMonth');
52
+ if (this.injectedModules.indexOf(mod) === -1) {
53
+ this.injectedModules.push(mod);
54
+ }
55
+ }
56
+ catch { }
57
+ try {
58
+ let mod = this.injector.get('ScheduleYear');
59
+ if (this.injectedModules.indexOf(mod) === -1) {
60
+ this.injectedModules.push(mod);
61
+ }
62
+ }
63
+ catch { }
64
+ try {
65
+ let mod = this.injector.get('ScheduleAgenda');
66
+ if (this.injectedModules.indexOf(mod) === -1) {
67
+ this.injectedModules.push(mod);
68
+ }
69
+ }
70
+ catch { }
71
+ try {
72
+ let mod = this.injector.get('ScheduleMonthAgenda');
73
+ if (this.injectedModules.indexOf(mod) === -1) {
74
+ this.injectedModules.push(mod);
75
+ }
76
+ }
77
+ catch { }
78
+ try {
79
+ let mod = this.injector.get('ScheduleTimelineViews');
80
+ if (this.injectedModules.indexOf(mod) === -1) {
81
+ this.injectedModules.push(mod);
82
+ }
83
+ }
84
+ catch { }
85
+ try {
86
+ let mod = this.injector.get('ScheduleTimelineMonth');
87
+ if (this.injectedModules.indexOf(mod) === -1) {
88
+ this.injectedModules.push(mod);
89
+ }
90
+ }
91
+ catch { }
92
+ try {
93
+ let mod = this.injector.get('ScheduleTimelineYear');
94
+ if (this.injectedModules.indexOf(mod) === -1) {
95
+ this.injectedModules.push(mod);
96
+ }
97
+ }
98
+ catch { }
99
+ try {
100
+ let mod = this.injector.get('ScheduleResize');
101
+ if (this.injectedModules.indexOf(mod) === -1) {
102
+ this.injectedModules.push(mod);
103
+ }
104
+ }
105
+ catch { }
106
+ try {
107
+ let mod = this.injector.get('ScheduleDragAndDrop');
108
+ if (this.injectedModules.indexOf(mod) === -1) {
109
+ this.injectedModules.push(mod);
110
+ }
111
+ }
112
+ catch { }
113
+ try {
114
+ let mod = this.injector.get('ScheduleExcelExport');
115
+ if (this.injectedModules.indexOf(mod) === -1) {
116
+ this.injectedModules.push(mod);
117
+ }
118
+ }
119
+ catch { }
120
+ try {
121
+ let mod = this.injector.get('ScheduleICalendarExport');
122
+ if (this.injectedModules.indexOf(mod) === -1) {
123
+ this.injectedModules.push(mod);
124
+ }
125
+ }
126
+ catch { }
127
+ try {
128
+ let mod = this.injector.get('ScheduleICalendarImport');
129
+ if (this.injectedModules.indexOf(mod) === -1) {
130
+ this.injectedModules.push(mod);
131
+ }
132
+ }
133
+ catch { }
134
+ try {
135
+ let mod = this.injector.get('SchedulePrint');
136
+ if (this.injectedModules.indexOf(mod) === -1) {
137
+ this.injectedModules.push(mod);
138
+ }
139
+ }
140
+ catch { }
141
+ this.registerEvents(outputs);
142
+ this.addTwoWay.call(this, twoWays);
143
+ setValue('currentInstance', this, this.viewContainerRef);
144
+ this.context = new ComponentBase();
145
+ }
146
+ ngOnInit() {
147
+ this.context.ngOnInit(this);
148
+ }
149
+ ngAfterViewInit() {
150
+ this.context.ngAfterViewInit(this);
151
+ }
152
+ ngOnDestroy() {
153
+ this.context.ngOnDestroy(this);
154
+ }
155
+ ngAfterContentChecked() {
156
+ this.tagObjects[0].instance = this.childViews;
157
+ if (this.childResources) {
158
+ this.tagObjects[1].instance = this.childResources;
159
+ }
160
+ if (this.childHeaderRows) {
161
+ this.tagObjects[2].instance = this.childHeaderRows;
162
+ }
163
+ this.context.ngAfterContentChecked(this);
164
+ }
165
+ };
166
+ ScheduleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ScheduleComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ViewContainerRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
167
+ ScheduleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: ScheduleComponent, selector: "ejs-schedule", inputs: { agendaDaysCount: "agendaDaysCount", allowDragAndDrop: "allowDragAndDrop", allowInline: "allowInline", allowKeyboardInteraction: "allowKeyboardInteraction", allowMultiCellSelection: "allowMultiCellSelection", allowMultiDrag: "allowMultiDrag", allowMultiRowSelection: "allowMultiRowSelection", allowResizing: "allowResizing", allowSwiping: "allowSwiping", calendarMode: "calendarMode", cellHeaderTemplate: "cellHeaderTemplate", cellTemplate: "cellTemplate", cssClass: "cssClass", currentView: "currentView", dateFormat: "dateFormat", dateHeaderTemplate: "dateHeaderTemplate", dateRangeTemplate: "dateRangeTemplate", dayHeaderTemplate: "dayHeaderTemplate", editorFooterTemplate: "editorFooterTemplate", editorHeaderTemplate: "editorHeaderTemplate", editorTemplate: "editorTemplate", enableAdaptiveUI: "enableAdaptiveUI", enableAllDayScroll: "enableAllDayScroll", enableHtmlSanitizer: "enableHtmlSanitizer", enablePersistence: "enablePersistence", enableRecurrenceValidation: "enableRecurrenceValidation", enableRtl: "enableRtl", endHour: "endHour", eventDragArea: "eventDragArea", eventSettings: "eventSettings", firstDayOfWeek: "firstDayOfWeek", firstMonthOfYear: "firstMonthOfYear", group: "group", headerIndentTemplate: "headerIndentTemplate", headerRows: "headerRows", height: "height", hideEmptyAgendaDays: "hideEmptyAgendaDays", locale: "locale", maxDate: "maxDate", minDate: "minDate", monthHeaderTemplate: "monthHeaderTemplate", monthsCount: "monthsCount", quickInfoOnSelectionEnd: "quickInfoOnSelectionEnd", quickInfoTemplates: "quickInfoTemplates", readonly: "readonly", resourceHeaderTemplate: "resourceHeaderTemplate", resources: "resources", rowAutoHeight: "rowAutoHeight", selectedDate: "selectedDate", showHeaderBar: "showHeaderBar", showQuickInfo: "showQuickInfo", showTimeIndicator: "showTimeIndicator", showWeekNumber: "showWeekNumber", showWeekend: "showWeekend", startHour: "startHour", timeFormat: "timeFormat", timeScale: "timeScale", timezone: "timezone", timezoneDataSource: "timezoneDataSource", views: "views", weekRule: "weekRule", width: "width", workDays: "workDays", workHours: "workHours" }, outputs: { actionBegin: "actionBegin", actionComplete: "actionComplete", actionFailure: "actionFailure", cellClick: "cellClick", cellDoubleClick: "cellDoubleClick", created: "created", dataBinding: "dataBinding", dataBound: "dataBound", destroyed: "destroyed", drag: "drag", dragStart: "dragStart", dragStop: "dragStop", eventClick: "eventClick", eventDoubleClick: "eventDoubleClick", eventRendered: "eventRendered", hover: "hover", moreEventsClick: "moreEventsClick", navigating: "navigating", popupClose: "popupClose", popupOpen: "popupOpen", renderCell: "renderCell", resizeStart: "resizeStart", resizeStop: "resizeStop", resizing: "resizing", select: "select", virtualScrollStart: "virtualScrollStart", virtualScrollStop: "virtualScrollStop", currentViewChange: "currentViewChange", selectedDateChange: "selectedDateChange" }, queries: [{ propertyName: "dateHeaderTemplate", first: true, predicate: ["dateHeaderTemplate"], descendants: true }, { propertyName: "dateRangeTemplate", first: true, predicate: ["dateRangeTemplate"], descendants: true }, { propertyName: "dayHeaderTemplate", first: true, predicate: ["dayHeaderTemplate"], descendants: true }, { propertyName: "cellTemplate", first: true, predicate: ["cellTemplate"], descendants: true }, { propertyName: "cellHeaderTemplate", first: true, predicate: ["cellHeaderTemplate"], descendants: true }, { propertyName: "eventSettings_tooltipTemplate", first: true, predicate: ["eventSettingsTooltipTemplate"], descendants: true }, { propertyName: "eventSettings_template", first: true, predicate: ["eventSettingsTemplate"], descendants: true }, { propertyName: "editorTemplate", first: true, predicate: ["editorTemplate"], descendants: true }, { propertyName: "editorHeaderTemplate", first: true, predicate: ["editorHeaderTemplate"], descendants: true }, { propertyName: "editorFooterTemplate", first: true, predicate: ["editorFooterTemplate"], descendants: true }, { propertyName: "monthHeaderTemplate", first: true, predicate: ["monthHeaderTemplate"], descendants: true }, { propertyName: "timeScale_minorSlotTemplate", first: true, predicate: ["timeScaleMinorSlotTemplate"], descendants: true }, { propertyName: "timeScale_majorSlotTemplate", first: true, predicate: ["timeScaleMajorSlotTemplate"], descendants: true }, { propertyName: "resourceHeaderTemplate", first: true, predicate: ["resourceHeaderTemplate"], descendants: true }, { propertyName: "headerIndentTemplate", first: true, predicate: ["headerIndentTemplate"], descendants: true }, { propertyName: "quickInfoTemplates_header", first: true, predicate: ["quickInfoTemplatesHeader"], descendants: true }, { propertyName: "quickInfoTemplates_content", first: true, predicate: ["quickInfoTemplatesContent"], descendants: true }, { propertyName: "quickInfoTemplates_footer", first: true, predicate: ["quickInfoTemplatesFooter"], descendants: true }, { propertyName: "group_headerTooltipTemplate", first: true, predicate: ["groupHeaderTooltipTemplate"], descendants: true }, { propertyName: "childViews", first: true, predicate: ViewsDirective, descendants: true }, { propertyName: "childResources", first: true, predicate: ResourcesDirective, descendants: true }, { propertyName: "childHeaderRows", first: true, predicate: HeaderRowsDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
168
+ __decorate([
169
+ Template()
170
+ ], ScheduleComponent.prototype, "dateHeaderTemplate", void 0);
171
+ __decorate([
172
+ Template()
173
+ ], ScheduleComponent.prototype, "dateRangeTemplate", void 0);
174
+ __decorate([
175
+ Template()
176
+ ], ScheduleComponent.prototype, "dayHeaderTemplate", void 0);
177
+ __decorate([
178
+ Template()
179
+ ], ScheduleComponent.prototype, "cellTemplate", void 0);
180
+ __decorate([
181
+ Template()
182
+ ], ScheduleComponent.prototype, "cellHeaderTemplate", void 0);
183
+ __decorate([
184
+ Template()
185
+ ], ScheduleComponent.prototype, "eventSettings_tooltipTemplate", void 0);
186
+ __decorate([
187
+ Template()
188
+ ], ScheduleComponent.prototype, "eventSettings_template", void 0);
189
+ __decorate([
190
+ Template()
191
+ ], ScheduleComponent.prototype, "editorTemplate", void 0);
192
+ __decorate([
193
+ Template()
194
+ ], ScheduleComponent.prototype, "editorHeaderTemplate", void 0);
195
+ __decorate([
196
+ Template()
197
+ ], ScheduleComponent.prototype, "editorFooterTemplate", void 0);
198
+ __decorate([
199
+ Template()
200
+ ], ScheduleComponent.prototype, "monthHeaderTemplate", void 0);
201
+ __decorate([
202
+ Template()
203
+ ], ScheduleComponent.prototype, "timeScale_minorSlotTemplate", void 0);
204
+ __decorate([
205
+ Template()
206
+ ], ScheduleComponent.prototype, "timeScale_majorSlotTemplate", void 0);
207
+ __decorate([
208
+ Template()
209
+ ], ScheduleComponent.prototype, "resourceHeaderTemplate", void 0);
210
+ __decorate([
211
+ Template()
212
+ ], ScheduleComponent.prototype, "headerIndentTemplate", void 0);
213
+ __decorate([
214
+ Template()
215
+ ], ScheduleComponent.prototype, "quickInfoTemplates_header", void 0);
216
+ __decorate([
217
+ Template()
218
+ ], ScheduleComponent.prototype, "quickInfoTemplates_content", void 0);
219
+ __decorate([
220
+ Template()
221
+ ], ScheduleComponent.prototype, "quickInfoTemplates_footer", void 0);
222
+ __decorate([
223
+ Template()
224
+ ], ScheduleComponent.prototype, "group_headerTooltipTemplate", void 0);
225
+ ScheduleComponent = __decorate([
226
+ ComponentMixins([ComponentBase])
227
+ ], ScheduleComponent);
228
+ export { ScheduleComponent };
229
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ScheduleComponent, decorators: [{
230
+ type: Component,
231
+ args: [{
232
+ selector: 'ejs-schedule',
233
+ inputs: inputs,
234
+ outputs: outputs,
235
+ template: '',
236
+ changeDetection: ChangeDetectionStrategy.OnPush,
237
+ queries: {
238
+ childViews: new ContentChild(ViewsDirective),
239
+ childResources: new ContentChild(ResourcesDirective),
240
+ childHeaderRows: new ContentChild(HeaderRowsDirective)
241
+ }
242
+ }]
243
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ViewContainerRef }, { type: i0.Injector }]; }, propDecorators: { dateHeaderTemplate: [{
244
+ type: ContentChild,
245
+ args: ['dateHeaderTemplate']
246
+ }], dateRangeTemplate: [{
247
+ type: ContentChild,
248
+ args: ['dateRangeTemplate']
249
+ }], dayHeaderTemplate: [{
250
+ type: ContentChild,
251
+ args: ['dayHeaderTemplate']
252
+ }], cellTemplate: [{
253
+ type: ContentChild,
254
+ args: ['cellTemplate']
255
+ }], cellHeaderTemplate: [{
256
+ type: ContentChild,
257
+ args: ['cellHeaderTemplate']
258
+ }], eventSettings_tooltipTemplate: [{
259
+ type: ContentChild,
260
+ args: ['eventSettingsTooltipTemplate']
261
+ }], eventSettings_template: [{
262
+ type: ContentChild,
263
+ args: ['eventSettingsTemplate']
264
+ }], editorTemplate: [{
265
+ type: ContentChild,
266
+ args: ['editorTemplate']
267
+ }], editorHeaderTemplate: [{
268
+ type: ContentChild,
269
+ args: ['editorHeaderTemplate']
270
+ }], editorFooterTemplate: [{
271
+ type: ContentChild,
272
+ args: ['editorFooterTemplate']
273
+ }], monthHeaderTemplate: [{
274
+ type: ContentChild,
275
+ args: ['monthHeaderTemplate']
276
+ }], timeScale_minorSlotTemplate: [{
277
+ type: ContentChild,
278
+ args: ['timeScaleMinorSlotTemplate']
279
+ }], timeScale_majorSlotTemplate: [{
280
+ type: ContentChild,
281
+ args: ['timeScaleMajorSlotTemplate']
282
+ }], resourceHeaderTemplate: [{
283
+ type: ContentChild,
284
+ args: ['resourceHeaderTemplate']
285
+ }], headerIndentTemplate: [{
286
+ type: ContentChild,
287
+ args: ['headerIndentTemplate']
288
+ }], quickInfoTemplates_header: [{
289
+ type: ContentChild,
290
+ args: ['quickInfoTemplatesHeader']
291
+ }], quickInfoTemplates_content: [{
292
+ type: ContentChild,
293
+ args: ['quickInfoTemplatesContent']
294
+ }], quickInfoTemplates_footer: [{
295
+ type: ContentChild,
296
+ args: ['quickInfoTemplatesFooter']
297
+ }], group_headerTooltipTemplate: [{
298
+ type: ContentChild,
299
+ args: ['groupHeaderTooltipTemplate']
300
+ }] } });
301
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZWR1bGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NjaGVkdWxlL3NjaGVkdWxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBZ0MsdUJBQXVCLEVBQWlELFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5SixPQUFPLEVBQUUsYUFBYSxFQUErQixlQUFlLEVBQTBCLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdJLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQUU3RCxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQWEsQ0FBQyxpQkFBaUIsRUFBQyxrQkFBa0IsRUFBQyxhQUFhLEVBQUMsMEJBQTBCLEVBQUMseUJBQXlCLEVBQUMsZ0JBQWdCLEVBQUMsd0JBQXdCLEVBQUMsZUFBZSxFQUFDLGNBQWMsRUFBQyxjQUFjLEVBQUMsb0JBQW9CLEVBQUMsY0FBYyxFQUFDLFVBQVUsRUFBQyxhQUFhLEVBQUMsWUFBWSxFQUFDLG9CQUFvQixFQUFDLG1CQUFtQixFQUFDLG1CQUFtQixFQUFDLHNCQUFzQixFQUFDLHNCQUFzQixFQUFDLGdCQUFnQixFQUFDLGtCQUFrQixFQUFDLG9CQUFvQixFQUFDLHFCQUFxQixFQUFDLG1CQUFtQixFQUFDLDRCQUE0QixFQUFDLFdBQVcsRUFBQyxTQUFTLEVBQUMsZUFBZSxFQUFDLGVBQWUsRUFBQyxnQkFBZ0IsRUFBQyxrQkFBa0IsRUFBQyxPQUFPLEVBQUMs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QjtzQkFGaEMsWUFBWTt1QkFBQywyQkFBMkI7Z0JBS2xDLHlCQUF5QjtzQkFGL0IsWUFBWTt1QkFBQywwQkFBMEI7Z0JBS2pDLDJCQUEyQjtzQkFGakMsWUFBWTt1QkFBQyw0QkFBNEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIFZpZXdDb250YWluZXJSZWYsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBRdWVyeUxpc3QsIFJlbmRlcmVyMiwgSW5qZWN0b3IsIFZhbHVlUHJvdmlkZXIsIENvbnRlbnRDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50QmFzZSwgSUNvbXBvbmVudEJhc2UsIGFwcGx5TWl4aW5zLCBDb21wb25lbnRNaXhpbnMsIFByb3BlcnR5Q29sbGVjdGlvbkluZm8sIHNldFZhbHVlIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItYmFzZSc7XG5pbXBvcnQgeyBTY2hlZHVsZSB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1zY2hlZHVsZSc7XG5pbXBvcnQgeyBUZW1wbGF0ZSB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWJhc2UnO1xuaW1wb3J0IHsgVmlld3NEaXJlY3RpdmUgfSBmcm9tICcuL3ZpZXdzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBSZXNvdXJjZXNEaXJlY3RpdmUgfSBmcm9tICcuL3Jlc291cmNlcy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSGVhZGVyUm93c0RpcmVjdGl2ZSB9IGZyb20gJy4vaGVhZGVycm93cy5kaXJlY3RpdmUnO1xuXG5leHBvcnQgY29uc3QgaW5wdXRzOiBzdHJpbmdbXSA9IFsnYWdlbmRhRGF5c0NvdW50JywnYWxsb3dEcmFnQW5kRHJvcCcsJ2FsbG93SW5saW5lJywnYWxsb3dLZXlib2FyZEludGVyYWN0aW9uJywnYWxsb3dNdWx0aUNlbGxTZWxlY3Rpb24nLCdhbGxvd011bHRpRHJhZycsJ2FsbG93TXVsdGlSb3dTZWxlY3Rpb24nLCdhbGxvd1Jlc2l6aW5nJywnYWxsb3dTd2lwaW5nJywnY2FsZW5kYXJNb2RlJywnY2VsbEhlYWRlclRlbXBsYXRlJywnY2VsbFRlbXBsYXRlJywnY3NzQ2xhc3MnLCdjdXJyZW50VmlldycsJ2RhdGVGb3JtYXQnLCdkYXRlSGVhZGVyVGVtcGxhdGUnLCdkYXRlUmFuZ2VUZW1wbGF0ZScsJ2RheUhlYWRlclRlbXBsYXRlJywnZWRpdG9yRm9vdGVyVGVtcGxhdGUnLCdlZGl0b3JIZWFkZXJUZW1wbGF0ZScsJ2VkaXRvclRlbXBsYXRlJywnZW5hYmxlQWRhcHRpdmVVSScsJ2VuYWJsZUFsbERheVNjcm9sbCcsJ2VuYWJsZUh0bWxTYW5pdGl6ZXInLCdlbmFibGVQZXJzaXN0ZW5jZScsJ2VuYWJsZVJlY3VycmVuY2VWYWxpZGF0aW9uJywnZW5hYmxlUnRsJywnZW5kSG91cicsJ2V2ZW50RHJhZ0FyZWEnLCdldmVudFNldHRpbmdzJywnZmlyc3REYXlPZldlZWsnLCdmaXJzdE1vbnRoT2ZZZWFyJywnZ3JvdXAnLCdoZWFkZXJJbmRlbnRUZW1wbGF0ZScsJ2hlYWRlclJvd3MnLCdoZWlnaHQnLCdoaWRlRW1wdHlBZ2VuZGFEYXlzJywnbG9jYWxlJywnbWF4RGF0ZScsJ21pbkRhdGUnLCdtb250aEhlYWRlclRlbXBsYXRlJywnbW9udGhzQ291bnQnLCdxdWlja0luZm9PblNlbGVjdGlvbkVuZCcsJ3F1aWNrSW5mb1RlbXBsYXRlcycsJ3JlYWRvbmx5JywncmVzb3VyY2VIZWFkZXJUZW1wbGF0ZScsJ3Jlc291cmNlcycsJ3Jvd0F1dG9IZWlnaHQnLCdzZWxlY3RlZERhdGUnLCdzaG93SGVhZGVyQmFyJywnc2hvd1F1aWNrSW5mbycsJ3Nob3dUaW1lSW5kaWNhdG9yJywnc2hvd1dlZWtOdW1iZXInLCdzaG93V2Vla2VuZCcsJ3N0YXJ0SG91cicsJ3RpbWVGb3JtYXQnLCd0aW1lU2NhbGUnLCd0aW1lem9uZScsJ3RpbWV6b25lRGF0YVNvdXJjZScsJ3ZpZXdzJywnd2Vla1J1bGUnLCd3aWR0aCcsJ3dvcmtEYXlzJywnd29ya0hvdXJzJ107XG5leHBvcnQgY29uc3Qgb3V0cHV0czogc3RyaW5nW10gPSBbJ2FjdGlvbkJlZ2luJywnYWN0aW9uQ29tcGxldGUnLCdhY3Rpb25GYWlsdXJlJywnY2VsbENsaWNrJywnY2VsbERvdWJsZUNsaWNrJywnY3JlYXRlZCcsJ2RhdGFCaW5kaW5nJywnZGF0YUJvdW5kJywnZGVzdHJveWVkJywnZHJhZycsJ2RyYWdTdGFydCcsJ2RyYWdTdG9wJywnZXZlbnRDbGljaycsJ2V2ZW50RG91YmxlQ2xpY2snLCdldmVudFJlbmRlcmVkJywnaG92ZXInLCdtb3JlRXZlbnRzQ2xpY2snLCduYXZpZ2F0aW5nJywncG9wdXBDbG9zZScsJ3BvcHVwT3BlbicsJ3JlbmRlckNlbGwnLCdyZXNpemVTdGFydCcsJ3Jlc2l6ZVN0b3AnLCdyZXNpemluZycsJ3NlbGVjdCcsJ3ZpcnR1YWxTY3JvbGxTdGFydCcsJ3ZpcnR1YWxTY3JvbGxTdG9wJywnY3VycmVudFZpZXdDaGFuZ2UnLCdzZWxlY3RlZERhdGVDaGFuZ2UnXTtcbmV4cG9ydCBjb25zdCB0d29XYXlzOiBzdHJpbmdbXSA9IFsnY3VycmVudFZpZXcnLCAnc2VsZWN0ZWREYXRlJ107XG5cbi8qKlxuICogYGVqLXNjaGVkdWxlYCByZXByZXNlbnRzIHRoZSBBbmd1bGFyIFNjaGVkdWxlIENvbXBvbmVudC5cbiAqIGBgYGh0bWxcbiAqIDxlanMtc2NoZWR1bGU+PC9lanMtc2NoZWR1bGU+XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlanMtc2NoZWR1bGUnLFxuICAgIGlucHV0czogaW5wdXRzLFxuICAgIG91dHB1dHM6IG91dHB1dHMsXG4gICAgdGVtcGxhdGU6ICcnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHF1ZXJpZXM6IHtcbiAgICAgICAgY2hpbGRWaWV3czogbmV3IENvbnRlbnRDaGlsZChWaWV3c0RpcmVjdGl2ZSksIFxuICAgICAgICBjaGlsZFJlc291cmNlczogbmV3IENvbnRlbnRDaGlsZChSZXNvdXJjZXNEaXJlY3RpdmUpLCBcbiAgICAgICAgY2hpbGRIZWFkZXJSb3dzOiBuZXcgQ29udGVudENoaWxkKEhlYWRlclJvd3NEaXJlY3RpdmUpXG4gICAgfVxufSlcbkBDb21wb25lbnRNaXhpbnMoW0NvbXBvbmVudEJhc2VdKVxuZXhwb3J0IGNsYXNzIFNjaGVkdWxlQ29tcG9uZW50IGV4dGVuZHMgU2NoZWR1bGUgaW1wbGVtZW50cyBJQ29tcG9uZW50QmFzZSB7XG4gICAgcHVibGljIGNvbnRleHQgOiBhbnk7XG4gICAgcHVibGljIHRhZ09iamVjdHM6IGFueTtcblx0YWN0aW9uQmVnaW46IGFueTtcblx0YWN0aW9uQ29tcGxldGU6IGFueTtcblx0YWN0aW9uRmFpbHVyZTogYW55O1xuXHRjZWxsQ2xpY2s6IGFueTtcblx0Y2VsbERvdWJsZUNsaWNrOiBhbnk7XG5cdGNyZWF0ZWQ6IGFueTtcblx0ZGF0YUJpbmRpbmc6IGFueTtcblx0ZGF0YUJvdW5kOiBhbnk7XG5cdGRlc3Ryb3llZDogYW55O1xuXHRkcmFnOiBhbnk7XG5cdGRyYWdTdGFydDogYW55O1xuXHRkcmFnU3RvcDogYW55O1xuXHRldmVudENsaWNrOiBhbnk7XG5cdGV2ZW50RG91YmxlQ2xpY2s6IGFueTtcblx0ZXZlbnRSZW5kZXJlZDogYW55O1xuXHRob3ZlcjogYW55O1xuXHRtb3JlRXZlbnRzQ2xpY2s6IGFueTtcblx0bmF2aWdhdGluZzogYW55O1xuXHRwb3B1cENsb3NlOiBhbnk7XG5cdHBvcHVwT3BlbjogYW55O1xuXHRyZW5kZXJDZWxsOiBhbnk7XG5cdHJlc2l6ZVN0YXJ0OiBhbnk7XG5cdHJlc2l6ZVN0b3A6IGFueTtcblx0cmVzaXppbmc6IGFueTtcblx0c2VsZWN0OiBhbnk7XG5cdHZpcnR1YWxTY3JvbGxTdGFydDogYW55O1xuXHR2aXJ0dWFsU2Nyb2xsU3RvcDogYW55O1xuXHRjdXJyZW50Vmlld0NoYW5nZTogYW55O1xuXHRwdWJsaWMgc2VsZWN0ZWREYXRlQ2hhbmdlOiBhbnk7XG4gICAgcHVibGljIGNoaWxkVmlld3M6IFF1ZXJ5TGlzdDxWaWV3c0RpcmVjdGl2ZT47XG4gICAgcHVibGljIGNoaWxkUmVzb3VyY2VzOiBRdWVyeUxpc3Q8UmVzb3VyY2VzRGlyZWN0aXZlPjtcbiAgICBwdWJsaWMgY2hpbGRIZWFkZXJSb3dzOiBRdWVyeUxpc3Q8SGVhZGVyUm93c0RpcmVjdGl2ZT47XG4gICAgcHVibGljIHRhZ3M6IHN0cmluZ1tdID0gWyd2aWV3cycsICdyZXNvdXJjZXMnLCAnaGVhZGVyUm93cyddO1xuICAgIC8qKiBcbiAgICAgKiBJdCBhY2NlcHRzIGVpdGhlciB0aGUgc3RyaW5nIG9yIEhUTUxFbGVtZW50IGFzIHRlbXBsYXRlIGRlc2lnbiBjb250ZW50IGFuZCBwYXJzZSBpdCBhcHByb3ByaWF0ZWx5IGJlZm9yZSBkaXNwbGF5aW5nIGl0IG9udG8gXG4gICAgICogdGhlIGRhdGUgaGVhZGVyIGNlbGxzLiBUaGUgZmllbGQgdGhhdCBjYW4gYmUgYWNjZXNzZWQgdmlhIHRoaXMgdGVtcGxhdGUgaXMgYGRhdGVgLlxuICAgICAqIFxuICAgICAqIHslIGNvZGVCbG9jayBzcmM9J3NjaGVkdWxlL2RhdGVIZWFkZXJUZW1wbGF0ZS9pbmRleC5tZCcgJX17JSBlbmRjb2RlQmxvY2sgJX1cbiAgICAgKiAgICAgXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqIEBhbmd1bGFydHlwZSBzdHJpbmcgfCBvYmplY3RcbiAgICAgKiBAcmVhY3R0eXBlIHN0cmluZyB8IGZ1bmN0aW9uIHwgSlNYLkVsZW1lbnRcbiAgICAgKiBAdnVldHlwZSBzdHJpbmcgfCBmdW5jdGlvblxuICAgICAqIEBhc3B0eXBlIHN0cmluZ1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2RhdGVIZWFkZXJUZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgZGF0ZUhlYWRlclRlbXBsYXRlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEl0IGFjY2VwdHMgZWl0aGVyIHRoZSBzdHJpbmcgb3IgSFRNTEVsZW1lbnQgYXMgdGVtcGxhdGUgZGVzaWduIGNvbnRlbnQgYW5kIHBhcnNlIGl0IGFwcHJvcHJpYXRlbHkgYmVmb3JlIGRpc3BsYXlpbmcgaXQgb250byB0aGUgaGVhZGVyIGRhdGUgcmFuZ2UuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqIEBhbmd1bGFydHlwZSBzdHJpbmcgfCBvYmplY3RcbiAgICAgKiBAcmVhY3R0eXBlIHN0cmluZyB8IGZ1bmN0aW9uIHwgSlNYLkVsZW1lbnRcbiAgICAgKiBAdnVldHlwZSBzdHJpbmcgfCBmdW5jdGlvblxuICAgICAqIEBhc3B0eXBlIHN0cmluZ1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2RhdGVSYW5nZVRlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyBkYXRlUmFuZ2VUZW1wbGF0ZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBJdCBhY2NlcHRzIGVpdGhlciB0aGUgc3RyaW5nIG9yIEhUTUxFbGVtZW50IGFzIHRlbXBsYXRlIGRlc2lnbiBjb250ZW50IGFuZCBwYXJzZSBpdCBhcHByb3ByaWF0ZWx5IGJlZm9yZSBkaXNwbGF5aW5nIGl0IG9udG8gXG4gICAgICogdGhlIGRheSBoZWFkZXIgY2VsbHMuIFRoaXMgdGVtcGxhdGUgaXMgb25seSBhcHBsaWNhYmxlIGZvciB5ZWFyIHZpZXcgaGVhZGVyIGNlbGxzLlxuICAgICAqIFxuICAgICAqIHslIGNvZGVCbG9jayBzcmM9J3NjaGVkdWxlL2RheUhlYWRlclRlbXBsYXRlL2luZGV4Lm1kJyAlfXslIGVuZGNvZGVCbG9jayAlfVxuICAgICAqICAgICBcbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICogQGFuZ3VsYXJ0eXBlIHN0cmluZyB8IG9iamVjdFxuICAgICAqIEByZWFjdHR5cGUgc3RyaW5nIHwgZnVuY3Rpb24gfCBKU1guRWxlbWVudFxuICAgICAqIEB2dWV0eXBlIHN0cmluZyB8IGZ1bmN0aW9uXG4gICAgICogQGFzcHR5cGUgc3RyaW5nXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnZGF5SGVhZGVyVGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIGRheUhlYWRlclRlbXBsYXRlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRoZSB0ZW1wbGF0ZSBvcHRpb24gd2hpY2ggaXMgdXNlZCB0byByZW5kZXIgdGhlIGN1c3RvbWl6ZWQgd29yayBjZWxscyBvbiB0aGUgU2NoZWR1bGUuIEhlcmUsIHRoZSB0ZW1wbGF0ZSBhY2NlcHRzIGVpdGhlciBcbiAgICAgKiAgdGhlIHN0cmluZyBvciBIVE1MRWxlbWVudCBhcyB0ZW1wbGF0ZSBkZXNpZ24gYW5kIHRoZW4gdGhlIHBhcnNlZCBkZXNpZ24gaXMgZGlzcGxheWVkIG9udG8gdGhlIHdvcmsgY2VsbHMuIFxuICAgICAqICBUaGUgZmllbGRzIGFjY2Vzc2libGUgdmlhIHRlbXBsYXRlIGFyZSBhcyBmb2xsb3dzLiBcbiAgICAgKiAqIGBkYXRlYDogUmV0dXJucyB0aGUgZGF0ZSBvZiB0aGUgY2VsbC4gXG4gICAgICogKiBgZ3JvdXBJbmRleGA6IFJldHVybnMgdGhlIGdyb3VwIGluZGV4IG9mIHRoZSBjZWxsLiBcbiAgICAgKiAqIGB0eXBlYDogUmV0dXJucyB0aGUgdHlwZSBvZiB0aGUgd29yayBjZWxsLlxuICAgICAqIFxuICAgICAqIFJlZmVyIHRvIHRoZSBiZWxvdyBjb2RlIHNuaXBwZXQuXG4gICAgICpcbiAgICAgKnslIGNvZGVCbG9jayBzcmM9J3NjaGVkdWxlL2NlbGxUZW1wbGF0ZS9pbmRleC5tZCcgJX17JSBlbmRjb2RlQmxvY2sgJX1cbiAgICAgKiAgICAgXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqIEBhbmd1bGFydHlwZSBzdHJpbmcgfCBvYmplY3RcbiAgICAgKiBAcmVhY3R0eXBlIHN0cmluZyB8IGZ1bmN0aW9uIHwgSlNYLkVsZW1lbnRcbiAgICAgKiBAdnVldHlwZSBzdHJpbmcgfCBmdW5jdGlvblxuICAgICAqIEBhc3B0eXBlIHN0cmluZ1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2NlbGxUZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgY2VsbFRlbXBsYXRlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEl0IGFjY2VwdHMgZWl0aGVyIHRoZSBzdHJpbmcgb3IgSFRNTEVsZW1lbnQgYXMgdGVtcGxhdGUgZGVzaWduIGNvbnRlbnQgYW5kIHBhcnNlIGl0IGFwcHJvcHJpYXRlbHkgYmVmb3JlIGRpc3BsYXlpbmcgaXQgb250byBcbiAgICAgKiB0aGUgbW9udGggZGF0ZSBjZWxscy4gVGhpcyB0ZW1wbGF0ZSBpcyBvbmx5IGFwcGxpY2FibGUgZm9yIG1vbnRoIHZpZXcgZGF5IGNlbGxzLlxuICAgICAqIFxuICAgICAqIHslIGNvZGVCbG9jayBzcmM9J3NjaGVkdWxlL2NlbGxIZWFkZXJUZW1wbGF0ZS9pbmRleC5tZCcgJX17JSBlbmRjb2RlQmxvY2sgJX1cbiAgICAgKiAgICAgXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqIEBhbmd1bGFydHlwZSBzdHJpbmcgfCBvYmplY3RcbiAgICAgKiBAcmVhY3R0eXBlIHN0cmluZyB8IGZ1bmN0aW9uIHwgSlNYLkVsZW1lbnRcbiAgICAgKiBAdnVldHlwZSBzdHJpbmcgfCBmdW5jdGlvblxuICAgICAqIEBhc3B0eXBlIHN0cmluZ1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2NlbGxIZWFkZXJUZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgY2VsbEhlYWRlclRlbXBsYXRlOiBhbnk7XG4gICAgQENvbnRlbnRDaGlsZCgnZXZlbnRTZXR0aW5nc1Rvb2x0aXBUZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgZXZlbnRTZXR0aW5nc190b29sdGlwVGVtcGxhdGU6IGFueTtcbiAgICBAQ29udGVudENoaWxkKCdldmVudFNldHRpbmdzVGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIGV2ZW50U2V0dGluZ3NfdGVtcGxhdGU6IGFueTtcbiAgICAvKiogXG4gICAgICogVGhlIHRlbXBsYXRlIG9wdGlvbiB0byByZW5kZXIgdGhlIGN1c3RvbWl6ZWQgZWRpdG9yIHdpbmRvdy4gVGhlIGZvcm0gZWxlbWVudHMgZGVmaW5lZCB3aXRoaW4gdGhpcyB0ZW1wbGF0ZSBzaG91bGQgYmUgYWNjb21wYW5pZWQgXG4gICAgICogIHdpdGggYGUtZmllbGRgIGNsYXNzLCBzbyBhcyB0byBmZXRjaCBhbmQgcHJvY2VzcyBpdCBmcm9tIGludGVybmFsbHkuXG4gICAgICogXG4gICAgICogeyUgY29kZUJsb2NrIHNyYz0nc2NoZWR1bGUvZWRpdG9yVGVtcGxhdGUvaW5kZXgubWQnICV9eyUgZW5kY29kZUJsb2NrICV9XG4gICAgICogICAgIFxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKiBAYW5ndWxhcnR5cGUgc3RyaW5nIHwgb2JqZWN0XG4gICAgICogQHJlYWN0dHlwZSBzdHJpbmcgfCBmdW5jdGlvbiB8IEpTWC5FbGVtZW50XG4gICAgICogQHZ1ZXR5cGUgc3RyaW5nIHwgZnVuY3Rpb25cbiAgICAgKiBAYXNwdHlwZSBzdHJpbmdcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdlZGl0b3JUZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgZWRpdG9yVGVtcGxhdGU6IGFueTtcbiAgICAvKiogXG4gICAgICogVGhlIHRlbXBsYXRlIG9wdGlvbiB0byByZW5kZXIgdGhlIGN1c3RvbWl6ZWQgaGVhZGVyIG9mIHRoZSBlZGl0b3Igd2luZG93LlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKiBAYW5ndWxhcnR5cGUgc3RyaW5nIHwgb2JqZWN0XG4gICAgICogQHJlYWN0dHlwZSBzdHJpbmcgfCBmdW5jdGlvbiB8IEpTWC5FbGVtZW50XG4gICAgICogQHZ1ZXR5cGUgc3RyaW5nIHwgZnVuY3Rpb25cbiAgICAgKiBAYXNwdHlwZSBzdHJpbmdcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdlZGl0b3JIZWFkZXJUZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgZWRpdG9ySGVhZGVyVGVtcGxhdGU6IGFueTtcbiAgICAvKiogXG4gICAgICogVGhlIHRlbXBsYXRlIG9wdGlvbiB0byByZW5kZXIgdGhlIGN1c3RvbWl6ZWQgZm9vdGVyIG9mIHRoZSBlZGl0b3Igd2luZG93LlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKiBAYW5ndWxhcnR5cGUgc3RyaW5nIHwgb2JqZWN0XG4gICAgICogQHJlYWN0dHlwZSBzdHJpbmcgfCBmdW5jdGlvbiB8IEpTWC5FbGVtZW50XG4gICAgICogQHZ1ZXR5cGUgc3RyaW5nIHwgZnVuY3Rpb25cbiAgICAgKiBAYXNwdHlwZSBzdHJpbmdcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdlZGl0b3JGb290ZXJUZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgZWRpdG9yRm9vdGVyVGVtcGxhdGU6IGFueTtcbiAgICAvKiogXG4gICAgICogSXQgYWNjZXB0cyBlaXRoZXIgdGhlIHN0cmluZyBvciBIVE1MRWxlbWVudCBhcyB0ZW1wbGF0ZSBkZXNpZ24gY29udGVudCBhbmQgcGFyc2UgaXQgYXBwcm9wcmlhdGVseSBiZWZvcmUgZGlzcGxheWluZyBpdCBvbnRvIFxuICAgICAqIHRoZSBtb250aCBoZWFkZXIgY2VsbHMuIFRoaXMgdGVtcGxhdGUgaXMgb25seSBhcHBsaWNhYmxlIGZvciB5ZWFyIHZpZXcgaGVhZGVyIGNlbGxzLlxuICAgICAqIFxuICAgICAqIHslIGNvZGVCbG9jayBzcmM9J3NjaGVkdWxlL21vbnRoSGVhZGVyVGVtcGxhdGUvaW5kZXgubWQnICV9eyUgZW5kY29kZUJsb2NrICV9XG4gICAgICogICAgIFxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKiBAYW5ndWxhcnR5cGUgc3RyaW5nIHwgb2JqZWN0XG4gICAgICogQHJlYWN0dHlwZSBzdHJpbmcgfCBmdW5jdGlvbiB8IEpTWC5FbGVtZW50XG4gICAgICogQHZ1ZXR5cGUgc3RyaW5nIHwgZnVuY3Rpb25cbiAgICAgKiBAYXNwdHlwZSBzdHJpbmdcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdtb250aEhlYWRlclRlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyBtb250aEhlYWRlclRlbXBsYXRlOiBhbnk7XG4gICAgQENvbnRlbnRDaGlsZCgndGltZVNjYWxlTWlub3JTbG90VGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIHRpbWVTY2FsZV9taW5vclNsb3RUZW1wbGF0ZTogYW55O1xuICAgIEBDb250ZW50Q2hpbGQoJ3RpbWVTY2FsZU1ham9yU2xvdFRlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyB0aW1lU2NhbGVfbWFqb3JTbG90VGVtcGxhdGU6IGFueTtcbiAgICAvKiogXG4gICAgICogVGVtcGxhdGUgb3B0aW9uIHRvIGN1c3RvbWl6ZSB0aGUgcmVzb3VyY2UgaGVhZGVyIGJhci4gSGVyZSwgdGhlIHRlbXBsYXRlIGFjY2VwdHMgZWl0aGVyIFxuICAgICAqICB0aGUgc3RyaW5nIG9yIEhUTUxFbGVtZW50IGFzIHRlbXBsYXRlIGRlc2lnbiBhbmQgdGhlbiB0aGUgcGFyc2VkIGRlc2lnbiBpcyBkaXNwbGF5ZWQgb250byB0aGUgcmVzb3VyY2UgaGVhZGVyIGNlbGxzLiBcbiAgICAgKiBUaGUgZm9sbG93aW5nIGNhbiBiZSBhY2Nlc3NpYmxlIHZpYSB0ZW1wbGF0ZS4gXG4gICAgICogKiBgcmVzb3VyY2VgIC0gQWxsIHRoZSByZXNvdXJjZSBmaWVsZHMuIFxuICAgICAqICogYHJlc291cmNlRGF0YWAgLSBPYmplY3QgY29sbGVjdGlvbiBvZiBjdXJyZW50IHJlc291cmNlLlxuICAgICAqIFxuICAgICAqIFJlZmVyIHRvIHRoZSBiZWxvdyBjb2RlIHNuaXBwZXQuXG4gICAgICpcbiAgICAgKnslIGNvZGVCbG9jayBzcmM9J3NjaGVkdWxlL3Jlc291cmNlSGVhZGVyVGVtcGxhdGUvaW5kZXgubWQnICV9eyUgZW5kY29kZUJsb2NrICV9XG4gICAgICogICAgIFxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKiBAYW5ndWxhcnR5cGUgc3RyaW5nIHwgb2JqZWN0XG4gICAgICogQHJlYWN0dHlwZSBzdHJpbmcgfCBmdW5jdGlvbiB8IEpTWC5FbGVtZW50XG4gICAgICogQHZ1ZXR5cGUgc3RyaW5nIHwgZnVuY3Rpb25cbiAgICAgKiBAYXNwdHlwZSBzdHJpbmdcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdyZXNvdXJjZUhlYWRlclRlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyByZXNvdXJjZUhlYWRlclRlbXBsYXRlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRlbXBsYXRlIG9wdGlvbiB0byBjdXN0b21pemUgdGhlIGhlYWRlciBpbmRlbnQgYmFyLiBIZXJlLCB0aGUgdGVtcGxhdGUgYWNjZXB0cyBlaXRoZXIgXG4gICAgICogIHRoZSBzdHJpbmcgb3IgSFRNTEVsZW1lbnQgYXMgdGVtcGxhdGUgZGVzaWduIGFuZCB0aGVuIHRoZSBwYXJzZWQgZGVzaWduIGlzIGRpc3BsYXllZCBvbnRvIHRoZSBoZWFkZXIgaW5kZW50IGNlbGwuXG4gICAgICogXG4gICAgICogUmVmZXIgdG8gdGhlIGJlbG93IGNvZGUgc25pcHBldC5cbiAgICAgKlxuICAgICAqeyUgY29kZUJsb2NrIHNyYz0nc2NoZWR1bGUvaGVhZGVySW5kZW50VGVtcGxhdGUvaW5kZXgubWQnICV9eyUgZW5kY29kZUJsb2NrICV9XG4gICAgICogICAgIFxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKiBAYW5ndWxhcnR5cGUgc3RyaW5nIHwgb2JqZWN0XG4gICAgICogQHJlYWN0dHlwZSBzdHJpbmcgfCBmdW5jdGlvbiB8IEpTWC5FbGVtZW50XG4gICAgICogQHZ1ZXR5cGUgc3RyaW5nIHwgZnVuY3Rpb25cbiAgICAgKiBAYXNwdHlwZSBzdHJpbmdcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdoZWFkZXJJbmRlbnRUZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgaGVhZGVySW5kZW50VGVtcGxhdGU6IGFueTtcbiAgICBAQ29udGVudENoaWxkKCdxdWlja0luZm9UZW1wbGF0ZXNIZWFkZXInKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIHF1aWNrSW5mb1RlbXBsYXRlc19oZWFkZXI6IGFueTtcbiAgICBAQ29udGVudENoaWxkKCdxdWlja0luZm9UZW1wbGF0ZXNDb250ZW50JylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyBxdWlja0luZm9UZW1wbGF0ZXNfY29udGVudDogYW55O1xuICAgIEBDb250ZW50Q2hpbGQoJ3F1aWNrSW5mb1RlbXBsYXRlc0Zvb3RlcicpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgcXVpY2tJbmZvVGVtcGxhdGVzX2Zvb3RlcjogYW55O1xuICAgIEBDb250ZW50Q2hpbGQoJ2dyb3VwSGVhZGVyVG9vbHRpcFRlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyBncm91cF9oZWFkZXJUb29sdGlwVGVtcGxhdGU6IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbmdFbGU6IEVsZW1lbnRSZWYsIHByaXZhdGUgc3JlbmRlcmVyOiBSZW5kZXJlcjIsIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjpWaWV3Q29udGFpbmVyUmVmLCBwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmVsZW1lbnQgPSB0aGlzLm5nRWxlLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzID0gdGhpcy5pbmplY3RlZE1vZHVsZXMgfHwgW107XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdTY2hlZHVsZURheScpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnU2NoZWR1bGVXZWVrJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdTY2hlZHVsZVdvcmtXZWVrJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdTY2hlZHVsZU1vbnRoJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdTY2hlZHVsZVllYXInKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ1NjaGVkdWxlQWdlbmRhJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdTY2hlZHVsZU1vbnRoQWdlbmRhJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdTY2hlZHVsZVRpbWVsaW5lVmlld3MnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ1NjaGVkdWxlVGltZWxpbmVNb250aCcpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnU2NoZWR1bGVUaW1lbGluZVllYXInKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ1NjaGVkdWxlUmVzaXplJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdTY2hlZHVsZURyYWdBbmREcm9wJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdTY2hlZHVsZUV4Y2VsRXhwb3J0Jyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdTY2hlZHVsZUlDYWxlbmRhckV4cG9ydCcpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnU2NoZWR1bGVJQ2FsZW5kYXJJbXBvcnQnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ1NjaGVkdWxlUHJpbnQnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cclxuICAgICAgICB0aGlzLnJlZ2lzdGVyRXZlbnRzKG91dHB1dHMpO1xuICAgICAgICB0aGlzLmFkZFR3b1dheS5jYWxsKHRoaXMsIHR3b1dheXMpO1xuICAgICAgICBzZXRWYWx1ZSgnY3VycmVudEluc3RhbmNlJywgdGhpcywgdGhpcy52aWV3Q29udGFpbmVyUmVmKTtcbiAgICAgICAgdGhpcy5jb250ZXh0ICA9IG5ldyBDb21wb25lbnRCYXNlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmNvbnRleHQubmdPbkluaXQodGhpcyk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb250ZXh0Lm5nQWZ0ZXJWaWV3SW5pdCh0aGlzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29udGV4dC5uZ09uRGVzdHJveSh0aGlzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRhZ09iamVjdHNbMF0uaW5zdGFuY2UgPSB0aGlzLmNoaWxkVmlld3M7XG4gICAgICAgIFxuXHQgICAgaWYgKHRoaXMuY2hpbGRSZXNvdXJjZXMpIHtcbiAgICAgICAgICAgIHRoaXMudGFnT2JqZWN0c1sxXS5pbnN0YW5jZSA9IHRoaXMuY2hpbGRSZXNvdXJjZXM7XG4gICAgICAgIH1cbiAgICAgICAgXG5cdCAgICBpZiAodGhpcy5jaGlsZEhlYWRlclJvd3MpIHtcbiAgICAgICAgICAgIHRoaXMudGFnT2JqZWN0c1syXS5pbnN0YW5jZSA9IHRoaXMuY2hpbGRIZWFkZXJSb3dzO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY29udGV4dC5uZ0FmdGVyQ29udGVudENoZWNrZWQodGhpcyk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlZ2lzdGVyRXZlbnRzOiAoZXZlbnRMaXN0OiBzdHJpbmdbXSkgPT4gdm9pZDtcbiAgICBwdWJsaWMgYWRkVHdvV2F5OiAocHJvcExpc3Q6IHN0cmluZ1tdKSA9PiB2b2lkO1xufVxuXG4iXX0=
@@ -0,0 +1,52 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { ViewDirective, ViewsDirective } from './views.directive';
4
+ import { ResourceDirective, ResourcesDirective } from './resources.directive';
5
+ import { HeaderRowDirective, HeaderRowsDirective } from './headerrows.directive';
6
+ import { ScheduleComponent } from './schedule.component';
7
+ import * as i0 from "@angular/core";
8
+ /**
9
+ * NgModule definition for the Schedule component.
10
+ */
11
+ export class ScheduleModule {
12
+ }
13
+ ScheduleModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ScheduleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
+ ScheduleModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ScheduleModule, declarations: [ScheduleComponent,
15
+ ViewDirective,
16
+ ViewsDirective,
17
+ ResourceDirective,
18
+ ResourcesDirective,
19
+ HeaderRowDirective,
20
+ HeaderRowsDirective], imports: [CommonModule], exports: [ScheduleComponent,
21
+ ViewDirective,
22
+ ViewsDirective,
23
+ ResourceDirective,
24
+ ResourcesDirective,
25
+ HeaderRowDirective,
26
+ HeaderRowsDirective] });
27
+ ScheduleModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ScheduleModule, imports: [[CommonModule]] });
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ScheduleModule, decorators: [{
29
+ type: NgModule,
30
+ args: [{
31
+ imports: [CommonModule],
32
+ declarations: [
33
+ ScheduleComponent,
34
+ ViewDirective,
35
+ ViewsDirective,
36
+ ResourceDirective,
37
+ ResourcesDirective,
38
+ HeaderRowDirective,
39
+ HeaderRowsDirective
40
+ ],
41
+ exports: [
42
+ ScheduleComponent,
43
+ ViewDirective,
44
+ ViewsDirective,
45
+ ResourceDirective,
46
+ ResourcesDirective,
47
+ HeaderRowDirective,
48
+ HeaderRowsDirective
49
+ ]
50
+ }]
51
+ }] });
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZWR1bGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NjaGVkdWxlL3NjaGVkdWxlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUV6RDs7R0FFRztBQXNCSCxNQUFNLE9BQU8sY0FBYzs7MkdBQWQsY0FBYzs0R0FBZCxjQUFjLGlCQWxCbkIsaUJBQWlCO1FBQ2pCLGFBQWE7UUFDYixjQUFjO1FBQ2QsaUJBQWlCO1FBQ2pCLGtCQUFrQjtRQUNsQixrQkFBa0I7UUFDbEIsbUJBQW1CLGFBUmIsWUFBWSxhQVdsQixpQkFBaUI7UUFDakIsYUFBYTtRQUNiLGNBQWM7UUFDZCxpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLGtCQUFrQjtRQUNsQixtQkFBbUI7NEdBR2QsY0FBYyxZQXBCZCxDQUFDLFlBQVksQ0FBQzsyRkFvQmQsY0FBYztrQkFyQjFCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixZQUFZLEVBQUU7d0JBQ1YsaUJBQWlCO3dCQUNqQixhQUFhO3dCQUNiLGNBQWM7d0JBQ2QsaUJBQWlCO3dCQUNqQixrQkFBa0I7d0JBQ2xCLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3FCQUN0QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsaUJBQWlCO3dCQUNqQixhQUFhO3dCQUNiLGNBQWM7d0JBQ2QsaUJBQWlCO3dCQUNqQixrQkFBa0I7d0JBQ2xCLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3FCQUN0QjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVmlld0RpcmVjdGl2ZSwgVmlld3NEaXJlY3RpdmUgfSBmcm9tICcuL3ZpZXdzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBSZXNvdXJjZURpcmVjdGl2ZSwgUmVzb3VyY2VzRGlyZWN0aXZlIH0gZnJvbSAnLi9yZXNvdXJjZXMuZGlyZWN0aXZlJztcbmltcG9ydCB7IEhlYWRlclJvd0RpcmVjdGl2ZSwgSGVhZGVyUm93c0RpcmVjdGl2ZSB9IGZyb20gJy4vaGVhZGVycm93cy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU2NoZWR1bGVDb21wb25lbnQgfSBmcm9tICcuL3NjaGVkdWxlLmNvbXBvbmVudCc7XG5cbi8qKlxuICogTmdNb2R1bGUgZGVmaW5pdGlvbiBmb3IgdGhlIFNjaGVkdWxlIGNvbXBvbmVudC5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgU2NoZWR1bGVDb21wb25lbnQsXG4gICAgICAgIFZpZXdEaXJlY3RpdmUsXG4gICAgICAgIFZpZXdzRGlyZWN0aXZlLFxuICAgICAgICBSZXNvdXJjZURpcmVjdGl2ZSxcbiAgICAgICAgUmVzb3VyY2VzRGlyZWN0aXZlLFxuICAgICAgICBIZWFkZXJSb3dEaXJlY3RpdmUsXG4gICAgICAgIEhlYWRlclJvd3NEaXJlY3RpdmVcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgU2NoZWR1bGVDb21wb25lbnQsXG4gICAgICAgIFZpZXdEaXJlY3RpdmUsXG4gICAgICAgIFZpZXdzRGlyZWN0aXZlLFxuICAgICAgICBSZXNvdXJjZURpcmVjdGl2ZSxcbiAgICAgICAgUmVzb3VyY2VzRGlyZWN0aXZlLFxuICAgICAgICBIZWFkZXJSb3dEaXJlY3RpdmUsXG4gICAgICAgIEhlYWRlclJvd3NEaXJlY3RpdmVcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFNjaGVkdWxlTW9kdWxlIHsgfSJdfQ==
@@ -0,0 +1,132 @@
1
+ import { __decorate } from "tslib";
2
+ import { Directive, ContentChildren, ContentChild } from '@angular/core';
3
+ import { ComplexBase, ArrayBase, setValue } from '@syncfusion/ej2-angular-base';
4
+ import { Template } from '@syncfusion/ej2-angular-base';
5
+ import * as i0 from "@angular/core";
6
+ let input = ['allowVirtualScrolling', 'cellHeaderTemplate', 'cellTemplate', 'dateFormat', 'dateHeaderTemplate', 'dateRangeTemplate', 'dayHeaderTemplate', 'displayDate', 'displayName', 'enableLazyLoading', 'endHour', 'eventTemplate', 'firstDayOfWeek', 'firstMonthOfYear', 'group', 'headerIndentTemplate', 'headerRows', 'interval', 'isSelected', 'monthHeaderTemplate', 'monthsCount', 'numberOfWeeks', 'option', 'orientation', 'readonly', 'resourceHeaderTemplate', 'showWeekNumber', 'showWeekend', 'startHour', 'timeFormat', 'timeScale', 'workDays'];
7
+ let outputs = [];
8
+ /**
9
+ * `e-views` directive represent a view of the Angular Schedule.
10
+ * It must be contained in a Schedule component(`ejs-schedule`).
11
+ * ```html
12
+ * <ejs-schedule>
13
+ * <e-views>
14
+ * <e-view option='day' dateFormat='dd MMM'></e-view>
15
+ * <e-view option='week'></e-view>
16
+ * </e-views>
17
+ * </ejs-schedule>
18
+ * ```
19
+ */
20
+ export class ViewDirective extends ComplexBase {
21
+ constructor(viewContainerRef) {
22
+ super();
23
+ this.viewContainerRef = viewContainerRef;
24
+ setValue('currentInstance', this, this.viewContainerRef);
25
+ this.registerEvents(outputs);
26
+ this.directivePropList = input;
27
+ }
28
+ }
29
+ ViewDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ViewDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
30
+ ViewDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: ViewDirective, selector: "e-views>e-view", inputs: { allowVirtualScrolling: "allowVirtualScrolling", cellHeaderTemplate: "cellHeaderTemplate", cellTemplate: "cellTemplate", dateFormat: "dateFormat", dateHeaderTemplate: "dateHeaderTemplate", dateRangeTemplate: "dateRangeTemplate", dayHeaderTemplate: "dayHeaderTemplate", displayDate: "displayDate", displayName: "displayName", enableLazyLoading: "enableLazyLoading", endHour: "endHour", eventTemplate: "eventTemplate", firstDayOfWeek: "firstDayOfWeek", firstMonthOfYear: "firstMonthOfYear", group: "group", headerIndentTemplate: "headerIndentTemplate", headerRows: "headerRows", interval: "interval", isSelected: "isSelected", monthHeaderTemplate: "monthHeaderTemplate", monthsCount: "monthsCount", numberOfWeeks: "numberOfWeeks", option: "option", orientation: "orientation", readonly: "readonly", resourceHeaderTemplate: "resourceHeaderTemplate", showWeekNumber: "showWeekNumber", showWeekend: "showWeekend", startHour: "startHour", timeFormat: "timeFormat", timeScale: "timeScale", workDays: "workDays" }, queries: [{ propertyName: "dateHeaderTemplate", first: true, predicate: ["dateHeaderTemplate"], descendants: true }, { propertyName: "dateRangeTemplate", first: true, predicate: ["dateRangeTemplate"], descendants: true }, { propertyName: "dayHeaderTemplate", first: true, predicate: ["dayHeaderTemplate"], descendants: true }, { propertyName: "cellHeaderTemplate", first: true, predicate: ["cellHeaderTemplate"], descendants: true }, { propertyName: "cellTemplate", first: true, predicate: ["cellTemplate"], descendants: true }, { propertyName: "eventTemplate", first: true, predicate: ["eventTemplate"], descendants: true }, { propertyName: "monthHeaderTemplate", first: true, predicate: ["monthHeaderTemplate"], descendants: true }, { propertyName: "resourceHeaderTemplate", first: true, predicate: ["resourceHeaderTemplate"], descendants: true }, { propertyName: "headerIndentTemplate", first: true, predicate: ["headerIndentTemplate"], descendants: true }, { propertyName: "timeScale_minorSlotTemplate", first: true, predicate: ["timeScaleMinorSlotTemplate"], descendants: true }, { propertyName: "timeScale_majorSlotTemplate", first: true, predicate: ["timeScaleMajorSlotTemplate"], descendants: true }, { propertyName: "group_headerTooltipTemplate", first: true, predicate: ["groupHeaderTooltipTemplate"], descendants: true }], usesInheritance: true, ngImport: i0 });
31
+ __decorate([
32
+ Template()
33
+ ], ViewDirective.prototype, "dateHeaderTemplate", void 0);
34
+ __decorate([
35
+ Template()
36
+ ], ViewDirective.prototype, "dateRangeTemplate", void 0);
37
+ __decorate([
38
+ Template()
39
+ ], ViewDirective.prototype, "dayHeaderTemplate", void 0);
40
+ __decorate([
41
+ Template()
42
+ ], ViewDirective.prototype, "cellHeaderTemplate", void 0);
43
+ __decorate([
44
+ Template()
45
+ ], ViewDirective.prototype, "cellTemplate", void 0);
46
+ __decorate([
47
+ Template()
48
+ ], ViewDirective.prototype, "eventTemplate", void 0);
49
+ __decorate([
50
+ Template()
51
+ ], ViewDirective.prototype, "monthHeaderTemplate", void 0);
52
+ __decorate([
53
+ Template()
54
+ ], ViewDirective.prototype, "resourceHeaderTemplate", void 0);
55
+ __decorate([
56
+ Template()
57
+ ], ViewDirective.prototype, "headerIndentTemplate", void 0);
58
+ __decorate([
59
+ Template()
60
+ ], ViewDirective.prototype, "timeScale_minorSlotTemplate", void 0);
61
+ __decorate([
62
+ Template()
63
+ ], ViewDirective.prototype, "timeScale_majorSlotTemplate", void 0);
64
+ __decorate([
65
+ Template()
66
+ ], ViewDirective.prototype, "group_headerTooltipTemplate", void 0);
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ViewDirective, decorators: [{
68
+ type: Directive,
69
+ args: [{
70
+ selector: 'e-views>e-view',
71
+ inputs: input,
72
+ outputs: outputs,
73
+ queries: {}
74
+ }]
75
+ }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { dateHeaderTemplate: [{
76
+ type: ContentChild,
77
+ args: ['dateHeaderTemplate']
78
+ }], dateRangeTemplate: [{
79
+ type: ContentChild,
80
+ args: ['dateRangeTemplate']
81
+ }], dayHeaderTemplate: [{
82
+ type: ContentChild,
83
+ args: ['dayHeaderTemplate']
84
+ }], cellHeaderTemplate: [{
85
+ type: ContentChild,
86
+ args: ['cellHeaderTemplate']
87
+ }], cellTemplate: [{
88
+ type: ContentChild,
89
+ args: ['cellTemplate']
90
+ }], eventTemplate: [{
91
+ type: ContentChild,
92
+ args: ['eventTemplate']
93
+ }], monthHeaderTemplate: [{
94
+ type: ContentChild,
95
+ args: ['monthHeaderTemplate']
96
+ }], resourceHeaderTemplate: [{
97
+ type: ContentChild,
98
+ args: ['resourceHeaderTemplate']
99
+ }], headerIndentTemplate: [{
100
+ type: ContentChild,
101
+ args: ['headerIndentTemplate']
102
+ }], timeScale_minorSlotTemplate: [{
103
+ type: ContentChild,
104
+ args: ['timeScaleMinorSlotTemplate']
105
+ }], timeScale_majorSlotTemplate: [{
106
+ type: ContentChild,
107
+ args: ['timeScaleMajorSlotTemplate']
108
+ }], group_headerTooltipTemplate: [{
109
+ type: ContentChild,
110
+ args: ['groupHeaderTooltipTemplate']
111
+ }] } });
112
+ /**
113
+ * View Array Directive
114
+ * @private
115
+ */
116
+ export class ViewsDirective extends ArrayBase {
117
+ constructor() {
118
+ super('views');
119
+ }
120
+ }
121
+ ViewsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ViewsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
122
+ ViewsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: ViewsDirective, selector: "ejs-schedule>e-views", queries: [{ propertyName: "children", predicate: ViewDirective }], usesInheritance: true, ngImport: i0 });
123
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ViewsDirective, decorators: [{
124
+ type: Directive,
125
+ args: [{
126
+ selector: 'ejs-schedule>e-views',
127
+ queries: {
128
+ children: new ContentChildren(ViewDirective)
129
+ },
130
+ }]
131
+ }], ctorParameters: function () { return []; } });
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld3MuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NjaGVkdWxlL3ZpZXdzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBb0IsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBR3hELElBQUksS0FBSyxHQUFhLENBQUMsdUJBQXVCLEVBQUUsb0JBQW9CLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLHFCQUFxQixFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsd0JBQXdCLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBQzdpQixJQUFJLE9BQU8sR0FBYSxFQUFFLENBQUM7QUFDM0I7Ozs7Ozs7Ozs7O0dBV0c7QUFTSCxNQUFNLE9BQU8sYUFBYyxTQUFRLFdBQTBCO0lBa1N6RCxZQUFvQixnQkFBaUM7UUFDakQsS0FBSyxFQUFFLENBQUM7UUFEUSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO1FBRWpELFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO0lBQ25DLENBQUM7OzBHQXZTUSxhQUFhOzhGQUFiLGFBQWE7QUErS3RCO0lBREMsUUFBUSxFQUFFO3lEQUNvQjtBQVcvQjtJQURDLFFBQVEsRUFBRTt3REFDbUI7QUFhOUI7SUFEQyxRQUFRLEVBQUU7d0RBQ21CO0FBYTlCO0lBREMsUUFBUSxFQUFFO3lEQUNvQjtBQWEvQjtJQURDLFFBQVEsRUFBRTttREFDYztBQWN6QjtJQURDLFFBQVEsRUFBRTtvREFDZTtBQWExQjtJQURDLFFBQVEsRUFBRTswREFDcUI7QUFjaEM7SUFEQyxRQUFRLEVBQUU7NkRBQ3dCO0FBYW5DO0lBREMsUUFBUSxFQUFFOzJEQUNzQjtBQUdqQztJQURDLFFBQVEsRUFBRTtrRUFDNkI7QUFHeEM7SUFEQyxRQUFRLEVBQUU7a0VBQzZCO0FBR3hDO0lBREMsUUFBUSxFQUFFO2tFQUM2QjsyRkFoUy9CLGFBQWE7a0JBUnpCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsTUFBTSxFQUFFLEtBQUs7b0JBQ2IsT0FBTyxFQUFFLE9BQU87b0JBQ2hCLE9BQU8sRUFBRSxFQUVSO2lCQUNKO3VHQWdMVSxrQkFBa0I7c0JBRnhCLFlBQVk7dUJBQUMsb0JBQW9CO2dCQWEzQixpQkFBaUI7c0JBRnZCLFlBQVk7dUJBQUMsbUJBQW1CO2dCQWUxQixpQkFBaUI7c0JBRnZCLFlBQVk7dUJBQUMsbUJBQW1CO2dCQWUxQixrQkFBa0I7c0JBRnhCLFlBQVk7dUJBQUMsb0JBQW9CO2dCQWUzQixZQUFZO3NCQUZsQixZQUFZO3VCQUFDLGNBQWM7Z0JBZ0JyQixhQUFhO3NCQUZuQixZQUFZO3VCQUFDLGVBQWU7Z0JBZXRCLG1CQUFtQjtzQkFGekIsWUFBWTt1QkFBQyxxQkFBcUI7Z0JBZ0I1QixzQkFBc0I7c0JBRjVCLFlBQVk7dUJBQUMsd0JBQXdCO2dCQWUvQixvQkFBb0I7c0JBRjFCLFlBQVk7dUJBQUMsc0JBQXNCO2dCQUs3QiwyQkFBMkI7c0JBRmpDLFlBQVk7dUJBQUMsNEJBQTRCO2dCQUtuQywyQkFBMkI7c0JBRmpDLFlBQVk7dUJBQUMsNEJBQTRCO2dCQUtuQywyQkFBMkI7c0JBRmpDLFlBQVk7dUJBQUMsNEJBQTRCOztBQVk5Qzs7O0dBR0c7QUFPSCxNQUFNLE9BQU8sY0FBZSxTQUFRLFNBQXlCO0lBQ3pEO1FBQ0ksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ25CLENBQUM7OzJHQUhRLGNBQWM7K0ZBQWQsY0FBYyxxRkFIVyxhQUFhOzJGQUd0QyxjQUFjO2tCQU4xQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLE9BQU8sRUFBRTt3QkFDTCxRQUFRLEVBQUUsSUFBSSxlQUFlLENBQUMsYUFBYSxDQUFDO3FCQUMvQztpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgVmlld0NvbnRhaW5lclJlZiwgQ29udGVudENoaWxkcmVuLCBDb250ZW50Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBsZXhCYXNlLCBBcnJheUJhc2UsIHNldFZhbHVlIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItYmFzZSc7XG5pbXBvcnQgeyBUZW1wbGF0ZSB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWJhc2UnO1xuXG5cbmxldCBpbnB1dDogc3RyaW5nW10gPSBbJ2FsbG93VmlydHVhbFNjcm9sbGluZycsICdjZWxsSGVhZGVyVGVtcGxhdGUnLCAnY2VsbFRlbXBsYXRlJywgJ2RhdGVGb3JtYXQnLCAnZGF0ZUhlYWRlclRlbXBsYXRlJywgJ2RhdGVSYW5nZVRlbXBsYXRlJywgJ2RheUhlYWRlclRlbXBsYXRlJywgJ2Rpc3BsYXlEYXRlJywgJ2Rpc3BsYXlOYW1lJywgJ2VuYWJsZUxhenlMb2FkaW5nJywgJ2VuZEhvdXInLCAnZXZlbnRUZW1wbGF0ZScsICdmaXJzdERheU9mV2VlaycsICdmaXJzdE1vbnRoT2ZZZWFyJywgJ2dyb3VwJywgJ2hlYWRlckluZGVudFRlbXBsYXRlJywgJ2hlYWRlclJvd3MnLCAnaW50ZXJ2YWwnLCAnaXNTZWxlY3RlZCcsICdtb250aEhlYWRlclRlbXBsYXRlJywgJ21vbnRoc0NvdW50JywgJ251bWJlck9mV2Vla3MnLCAnb3B0aW9uJywgJ29yaWVudGF0aW9uJywgJ3JlYWRvbmx5JywgJ3Jlc291cmNlSGVhZGVyVGVtcGxhdGUnLCAnc2hvd1dlZWtOdW1iZXInLCAnc2hvd1dlZWtlbmQnLCAnc3RhcnRIb3VyJywgJ3RpbWVGb3JtYXQnLCAndGltZVNjYWxlJywgJ3dvcmtEYXlzJ107XG5sZXQgb3V0cHV0czogc3RyaW5nW10gPSBbXTtcbi8qKlxuICogYGUtdmlld3NgIGRpcmVjdGl2ZSByZXByZXNlbnQgYSB2aWV3IG9mIHRoZSBBbmd1bGFyIFNjaGVkdWxlLiBcbiAqIEl0IG11c3QgYmUgY29udGFpbmVkIGluIGEgU2NoZWR1bGUgY29tcG9uZW50KGBlanMtc2NoZWR1bGVgKS4gXG4gKiBgYGBodG1sXG4gKiA8ZWpzLXNjaGVkdWxlPlxuICogICA8ZS12aWV3cz5cbiAqICAgIDxlLXZpZXcgb3B0aW9uPSdkYXknIGRhdGVGb3JtYXQ9J2RkIE1NTSc+PC9lLXZpZXc+XG4gKiAgICA8ZS12aWV3IG9wdGlvbj0nd2Vlayc+PC9lLXZpZXc+XG4gKiAgIDwvZS12aWV3cz5cbiAqIDwvZWpzLXNjaGVkdWxlPlxuICogYGBgXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnZS12aWV3cz5lLXZpZXcnLFxuICAgIGlucHV0czogaW5wdXQsXG4gICAgb3V0cHV0czogb3V0cHV0cywgICAgXG4gICAgcXVlcmllczoge1xuXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBWaWV3RGlyZWN0aXZlIGV4dGVuZHMgQ29tcGxleEJhc2U8Vmlld0RpcmVjdGl2ZT4ge1xuICAgIHB1YmxpYyBkaXJlY3RpdmVQcm9wTGlzdDogYW55O1xuXHRcblxuXG4gICAgLyoqIFxuICAgICAqIEl0IGlzIHVzZWQgdG8gYWxsb3cgb3IgZGlzYWxsb3cgdGhlIHZpcnR1YWwgc2Nyb2xsaW5nIGZ1bmN0aW9uYWxpdHkuXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBwdWJsaWMgYWxsb3dWaXJ0dWFsU2Nyb2xsaW5nOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEJ5IGRlZmF1bHQsIFNjaGVkdWxlIGZvbGxvd3MgdGhlIGRhdGUtZm9ybWF0IGFzIHBlciB0aGUgZGVmYXVsdCBjdWx0dXJlIGFzc2lnbmVkIHRvIGl0LiBJdCBpcyBhbHNvIHBvc3NpYmxlIHRvIG1hbnVhbGx5IHNldCBcbiAgICAgKiAgc3BlY2lmaWMgZGF0ZSBmb3JtYXQgYnkgdXNpbmcgdGhlIGBkYXRlRm9ybWF0YCBwcm9wZXJ0eS4gVGhlIGZvcm1hdCBvZiB0aGUgZGF0ZSByYW5nZSBsYWJlbCBpbiB0aGUgaGVhZGVyIGJhciBkZXBlbmRzIG9uIFxuICAgICAqICB0aGUgYGRhdGVGb3JtYXRgIHZhbHVlIG9yIGVsc2UgYmFzZWQgb24gdGhlIGxvY2FsZSBhc3NpZ25lZCB0byB0aGUgU2NoZWR1bGUuIFxuICAgICAqICBJdCBnZXRzIGFwcGxpZWQgb25seSB0byB0aGUgdmlldyBvYmplY3RzIG9uIHdoaWNoIGl0IGlzIGRlZmluZWQuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqL1xuICAgIHB1YmxpYyBkYXRlRm9ybWF0OiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNwZWNpZmllcyB0aGUgc3RhcnRpbmcgd2VlayBkYXRlIGF0IGFuIGluaXRpYWwgcmVuZGVyaW5nIG9mIG1vbnRoIHZpZXcuIFRoaXMgcHJvcGVydHkgaXMgb25seSBhcHBsaWNhYmxlIGZvciBtb250aCB2aWV3LiBcbiAgICAgKiAgSWYgdGhpcyBwcm9wZXJ0eSB2YWx1ZSBpcyBub3Qgc2V0LCB0aGVuIHRoZSBtb250aCB2aWV3IHdpbGwgYmUgcmVuZGVyZWQgZnJvbSB0aGUgZmlyc3Qgd2VlayBvZiB0aGUgbW9udGguIFxuICAgICAqIHslIGNvZGVCbG9jayBzcmM9J3NjaGVkdWxlL2Rpc3BsYXlEYXRlL2luZGV4Lm1kJyAlfXslIGVuZGNvZGVCbG9jayAlfVxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKi9cbiAgICBwdWJsaWMgZGlzcGxheURhdGU6IGFueTtcbiAgICAvKiogXG4gICAgICogV2hlbiB0aGUgc2FtZSB2aWV3IGlzIGN1c3RvbWl6ZWQgd2l0aCBkaWZmZXJlbnQgaW50ZXJ2YWxzLCB0aGlzIHByb3BlcnR5IGFsbG93cyB0aGUgdXNlciB0byBzZXQgZGlmZmVyZW50IGRpc3BsYXkgbmFtZSBcbiAgICAgKiAgZm9yIHRob3NlIHZpZXdzLlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKi9cbiAgICBwdWJsaWMgZGlzcGxheU5hbWU6IGFueTtcbiAgICAvKiogXG4gICAgICogRW5hYmxlcyB0aGUgbGF6eSBsb2FkaW5nIG9mIGV2ZW50cyBmb3Igc2Nyb2xsaW5nIGFjdGlvbnMgb25seSB3aGVuIHRoZSByZXNvdXJjZXMgZ3JvdXBpbmcgcHJvcGVydHkgaXMgZW5hYmxlZC4gXG4gICAgICogTGF6eSBsb2FkaW5nIGFsbG93cyB0aGUgc2NoZWR1bGVyIHRvIGZldGNoIHRoZSBhcHBvaW50bWVudHMgZHluYW1pY2FsbHkgZHVyaW5nIHNjcm9sbCBhY3Rpb25zIGZvciB0aGUgY3VycmVudGx5IHJlbmRlcmVkIHJlc291cmNlIGNvbGxlY3Rpb24uIFxuICAgICAqIE5ldyBldmVudCBkYXRhIGlzIGZldGNoZWQgb24tZGVtYW5kIGFzIHRoZSB1c2VyIHNjcm9sbHMgdGhyb3VnaCB0aGUgc2NoZWR1bGUgY29udGVudC5cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIHB1YmxpYyBlbmFibGVMYXp5TG9hZGluZzogYW55O1xuICAgIC8qKiBcbiAgICAgKiBJdCBpcyB1c2VkIHRvIHNwZWNpZnkgdGhlIGVuZCBob3VyLCBhdCB3aGljaCB0aGUgU2NoZWR1bGUgZW5kcy4gSXQgdG9vIGFjY2VwdHMgdGhlIHRpbWUgc3RyaW5nIGluIGEgc2hvcnQgc2tlbGV0b24gZm9ybWF0LlxuICAgICAqIEBkZWZhdWx0ICcyNDowMCdcbiAgICAgKi9cbiAgICBwdWJsaWMgZW5kSG91cjogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGlzIG9wdGlvbiBhbGxvd3MgdGhlIHVzZXIgdG8gc2V0IHRoZSBmaXJzdCBkYXkgb2YgYSB3ZWVrIG9uIFNjaGVkdWxlLiBJdCBzaG91bGQgYmUgYmFzZWQgb24gdGhlIGxvY2FsZSBzZXQgdG8gaXQgYW5kIGVhY2ggY3VsdHVyZSBcbiAgICAgKiAgZGVmaW5lcyBpdHMgb3duIGZpcnN0IGRheSBvZiB3ZWVrIHZhbHVlcy4gSWYgbmVlZGVkLCB0aGUgdXNlciBjYW4gc2V0IGl0IG1hbnVhbGx5IG9uIGhpcyBvd24gYnkgZGVmaW5pbmcgdGhlIHZhbHVlIHRocm91Z2ggXG4gICAgICogIHRoaXMgcHJvcGVydHkuIEl0IHVzdWFsbHkgYWNjZXB0cyB0aGUgaW50ZWdlciB2YWx1ZXMsIHdoZXJlYnkgMCBpcyBhbHdheXMgZGVub3RlZCBhcyBTdW5kYXksIDEgYXMgTW9uZGF5IGFuZCBzbyBvbi5cbiAgICAgKiBAZGVmYXVsdCAwXG4gICAgICovXG4gICAgcHVibGljIGZpcnN0RGF5T2ZXZWVrOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRoaXMgcHJvcGVydHkgaGVscHMgcmVuZGVyIHRoZSB5ZWFyIHZpZXcgY3VzdG9taXplZCBtb250aHMuIFxuICAgICAqIEJ5IGRlZmF1bHQsIGl0IGlzIHNldCB0byBgMGAuXG4gICAgICogQGRlZmF1bHQgMFxuICAgICAqL1xuICAgIHB1YmxpYyBmaXJzdE1vbnRoT2ZZZWFyOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEFsbG93cyB0byBzZXQgZGlmZmVyZW50IHJlc291cmNlIGdyb3VwaW5nIG9wdGlvbnMgb24gYWxsIGF2YWlsYWJsZSBzY2hlZHVsZSB2aWV3IG1vZGVzLlxuICAgICAqIEBkZWZhdWx0IHsgYnlEYXRlOiBmYWxzZSwgYnlHcm91cElEOiB0cnVlLCBhbGxvd0dyb3VwRWRpdDogZmFsc2UsIHJlc291cmNlczpbXSwgaGlkZU5vbldvcmtpbmdEYXlzOiBmYWxzZSB9XG4gICAgICovXG4gICAgcHVibGljIGdyb3VwOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEFsbG93cyBkZWZpbmluZyB0aGUgY29sbGVjdGlvbiBvZiBjdXN0b20gaGVhZGVyIHJvd3MgdG8gZGlzcGxheSB0aGUgeWVhciwgbW9udGgsIHdlZWssIGRhdGUgYW5kIGhvdXIgbGFiZWwgYXMgYW4gaW5kaXZpZHVhbCByb3cgXG4gICAgICogIG9uIHRoZSB0aW1lbGluZSB2aWV3IG9mIHRoZSBzY2hlZHVsZXIuXG4gICAgICogQGRlZmF1bHQgW11cbiAgICAgKi9cbiAgICBwdWJsaWMgaGVhZGVyUm93czogYW55O1xuICAgIC8qKiBcbiAgICAgKiBJdCBhY2NlcHRzIHRoZSBudW1iZXIgdmFsdWUgZGVub3RpbmcgdG8gaW5jbHVkZSB0aGUgbnVtYmVyIG9mIGRheXMsIHdlZWtzLCB3b3Jrd2Vla3Mgb3IgbW9udGhzIG9uIHRoZSBkZWZpbmVkIHZpZXcgdHlwZS5cbiAgICAgKiBAZGVmYXVsdCAxXG4gICAgICovXG4gICAgcHVibGljIGludGVydmFsOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRvIGRlbm90ZSB3aGV0aGVyIHRoZSB2aWV3IG5hbWUgZ2l2ZW4gb24gdGhlIGBvcHRpb25gIGlzIGFjdGl2ZSBvciBub3QuIFxuICAgICAqIEl0IGFjdHMgc2ltaWxhciB0byB0aGUgW2BjdXJyZW50Vmlld2BdKC4uLy4uL3NjaGVkdWxlLyNjdXJyZW50LXZpZXcvKSBcbiAgICAgKiBwcm9wZXJ0eSBhbmQgZGVmaW5lcyB0aGUgYWN0aXZlIHZpZXcgb2YgU2NoZWR1bGUuXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBwdWJsaWMgaXNTZWxlY3RlZDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGlzIG9wdGlvbiBhbGxvd3MgdGhlIHVzZXIgdG8gc2V0IHRoZSBudW1iZXIgb2YgbW9udGhzIGNvdW50IHRvIGJlIGRpc3BsYXllZCBvbiB0aGUgU2NoZWR1bGUuIFxuICAgICAqIHslIGNvZGVCbG9jayBzcmM9J3NjaGVkdWxlL21vbnRoc0NvdW50L2luZGV4Lm1kJyAlfXslIGVuZGNvZGVCbG9jayAlfVxuICAgICAqIEBkZWZhdWx0IDEyXG4gICAgICogQGFzcHR5cGUgaW50XG4gICAgICovXG4gICAgcHVibGljIG1vbnRoc0NvdW50OiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRoaXMgcHJvcGVydHkgY3VzdG9taXplcyB0aGUgbnVtYmVyIG9mIHdlZWtzIHRoYXQgYXJlIHNob3duIGluIG1vbnRoIHZpZXcuIEJ5IGRlZmF1bHQsIGl0IHNob3dzIGFsbCB3ZWVrcyBpbiB0aGUgY3VycmVudCBtb250aC4gXG4gICAgICogIFVzZSBkaXNwbGF5RGF0ZSBwcm9wZXJ0eSB0byBjdXN0b21pemUgdGhlIHN0YXJ0aW5nIHdlZWsgb2YgbW9udGguIFxuICAgICAqIHslIGNvZGVCbG9jayBzcmM9J3NjaGVkdWxlL251bWJlck9mV2Vla3MvaW5kZXgubWQnICV9eyUgZW5kY29kZUJsb2NrICV9XG4gICAgICogQGRlZmF1bHQgMFxuICAgICAqIEBhc3B0eXBlIGludFxuICAgICAqL1xuICAgIHB1YmxpYyBudW1iZXJPZldlZWtzOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEl0IGFjY2VwdHMgdGhlIHNjaGVkdWxlIHZpZXcgbmFtZSwgYmFzZWQgb24gd2hpY2ggd2UgY2FuIGRlZmluZSB3aXRoIGl0cyByZWxhdGVkIHByb3BlcnRpZXMgaW4gYSBzaW5nbGUgb2JqZWN0LiBcbiAgICAgKiBUaGUgYXBwbGljYWJsZSB2aWV3IG5hbWVzIGFyZSwgXG4gICAgICogKiBEYXkgLSBEZW5vdGVzIERheSB2aWV3IG9mIHRoZSBzY2hlZHVsZXIuIFxuICAgICAqICogV2VlayAtIERlbm90ZXMgV2VlayB2aWV3IG9mIHRoZSBzY2hlZHVsZXIuIFxuICAgICAqICogV29ya1dlZWsgLSBEZW5vdGVzIFdvcmsgV2VlayB2aWV3IG9mIHRoZSBzY2hlZHVsZXIuIFxuICAgICAqICogTW9udGggLSBEZW5vdGVzIE1vbnRoIHZpZXcgb2YgdGhlIHNjaGVkdWxlci4gXG4gICAgICogKiBZZWFyIC0gRGVub3RlcyBZZWFyIHZpZXcgb2YgdGhlIHNjaGVkdWxlci4gXG4gICAgICogKiBBZ2VuZGEgLSBEZW5vdGVzIEFnZW5kYSB2aWV3IG9mIHRoZSBzY2hlZHVsZXIuIFxuICAgICAqICogTW9udGhBZ2VuZGEgLSBEZW5vdGVzIE1vbnRoIEFnZW5kYSB2aWV3IG9mIHRoZSBzY2hlZHVsZXIuIFxuICAgICAqICogVGltZWxpbmVEYXkgLSBEZW5vdGVzIFRpbWVsaW5lIERheSB2aWV3IG9mIHRoZSBzY2hlZHVsZXIuIFxuICAgICAqICogVGltZWxpbmVXZWVrIC0gRGVub3RlcyBUaW1lbGluZSBXZWVrIHZpZXcgb2YgdGhlIHNjaGVkdWxlci4gXG4gICAgICogKiBUaW1lbGluZVdvcmtXZWVrIC0gRGVub3RlcyBUaW1lbGluZSBXb3JrIFdlZWsgdmlldyBvZiB0aGUgc2NoZWR1bGVyLiBcbiAgICAgKiAqIFRpbWVsaW5lTW9udGggLSBEZW5vdGVzIFRpbWVsaW5lIE1vbnRoIHZpZXcgb2YgdGhlIHNjaGVkdWxlci4gXG4gICAgICogKiBUaW1lbGluZVllYXIgLSBEZW5vdGVzIFRpbWVsaW5lIFllYXIgdmlldyBvZiB0aGUgc2NoZWR1bGVyLlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKi9cbiAgICBwdWJsaWMgb3B0aW9uOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEl0IGlzIHVzZWQgdG8gc3BlY2lmeSB0aGUgeWVhciB2aWV3IHJlbmRlcmluZyBvcmllbnRhdGlvbiBvbiB0aGUgc2NoZWR1bGUuIFxuICAgICAqIFRoZSBhcHBsaWNhYmxlIG9yaWVudGF0aW9uIHZhbHVlcyBhcmUsIFxuICAgICAqICogSG9yaXpvbnRhbCAtIERlbm90ZXMgdGhlIGhvcml6b250YWwgb3JpZW50YXRpb24gb2YgVGltZWxpbmUgWWVhciB2aWV3LiBcbiAgICAgKiAqIFZlcnRpY2FsIC0gRGVub3RlcyB0aGUgdmVydGljYWwgb3JpZW50YXRpb24gb2YgVGltZWxpbmUgWWVhciB2aWV3LlxuICAgICAqIEBkZWZhdWx0ICdIb3Jpem9udGFsJ1xuICAgICAqL1xuICAgIHB1YmxpYyBvcmllbnRhdGlvbjogYW55O1xuICAgIC8qKiBcbiAgICAgKiBXaGVuIHNldCB0byBgdHJ1ZWAsIGRpc3BsYXlzIGEgcXVpY2sgcG9wdXAgd2l0aCBjZWxsIG9yIGV2ZW50IGRldGFpbHMgb24gc2luZ2xlIGNsaWNraW5nIG92ZXIgdGhlIGNlbGxzIG9yIG9uIGV2ZW50cy4gXG4gICAgICogIEJ5IGRlZmF1bHQsIGl0IGlzIHNldCB0byBgdHJ1ZWAuIEl0IGdldHMgYXBwbGllZCBvbmx5IHRvIHRoZSB2aWV3IG9iamVjdHMgb24gd2hpY2ggaXQgaXMgZGVmaW5lZC5cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBXaGVuIHNldCB0byBgdHJ1ZWAsIGRpc3BsYXlzIHRoZSB3ZWVrIG51bWJlciBvZiB0aGUgY3VycmVudCB2aWV3IGRhdGUgcmFuZ2UuXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBwdWJsaWMgc2hvd1dlZWtOdW1iZXI6IGFueTtcbiAgICAvKiogXG4gICAgICogV2hlbiBzZXQgdG8gYGZhbHNlYCwgaXQgaGlkZXMgdGhlIHdlZWtlbmQgZGF5cyBvZiBhIHdlZWsgZnJvbSB0aGUgU2NoZWR1bGUuIFxuICAgICAqIFRoZSBkYXlzIHdoaWNoIGFyZSBub3QgZGVmaW5lZCBpbiB0aGUgd29ya2luZyBkYXlzIGNvbGxlY3Rpb24gYXJlIHVzdWFsbHkgdHJlYXRlZCBhcyB3ZWVrZW5kIGRheXMuIFxuICAgICAqIE5vdGU6IEJ5IGRlZmF1bHQsIHRoaXMgb3B0aW9uIGlzIG5vdCBhcHBsaWNhYmxlIG9uIGBXb3JrIFdlZWtgIHZpZXcuIFxuICAgICAqIEZvciBleGFtcGxlLCBpZiB0aGUgd29ya2luZyBkYXlzIGFyZSBkZWZpbmVkIGFzIFsxLCAyLCAzLCA0XSwgdGhlbiB0aGUgcmVtYWluaW5nIGRheXMgb2YgdGhhdCB3ZWVrIHdpbGwgYmUgY29uc2lkZXJlZCBhcyB0aGUgXG4gICAgICogIHdlZWtlbmQgZGF5cyBhbmQgd2lsbCBiZSBoaWRkZW4gb24gYWxsIHRoZSB2aWV3cy5cbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gICAgcHVibGljIHNob3dXZWVrZW5kOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEl0IGlzIHVzZWQgdG8gc3BlY2lmeSB0aGUgc3RhcnRpbmcgaG91ciwgZnJvbSB3aGljaCB0aGUgU2NoZWR1bGUgc3RhcnRzIHRvIGRpc3BsYXkuIFxuICAgICAqICBJdCBhY2NlcHRzIHRoZSB0aW1lIHN0cmluZyBpbiBhIHNob3J0IHNrZWxldG9uIGZvcm1hdCBhbmQgYWxzbywgaGlkZXMgdGhlIHRpbWUgYmV5b25kIHRoZSBzcGVjaWZpZWQgc3RhcnQgdGltZS5cbiAgICAgKiBAZGVmYXVsdCAnMDA6MDAnXG4gICAgICovXG4gICAgcHVibGljIHN0YXJ0SG91cjogYW55O1xuICAgIC8qKiBcbiAgICAgKiBCeSBkZWZhdWx0LCBTY2hlZHVsZSBmb2xsb3dzIHRoZSB0aW1lLWZvcm1hdCBhcyBwZXIgdGhlIGRlZmF1bHQgY3VsdHVyZSBhc3NpZ25lZCB0byBpdC4gXG4gICAgICogSXQgaXMgYWxzbyBwb3NzaWJsZSB0byBtYW51YWxseSBzZXQgc3BlY2lmaWMgdGltZSBmb3JtYXQgYnkgdXNpbmcgdGhlIGB0aW1lRm9ybWF0YCBwcm9wZXJ0eS4gXG4gICAgICogeyUgY29kZUJsb2NrIHNyYz0nc2NoZWR1bGUvdGltZUZvcm1hdC9pbmRleC5tZCcgJX17JSBlbmRjb2RlQmxvY2sgJX1cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgcHVibGljIHRpbWVGb3JtYXQ6IGFueTtcbiAgICAvKiogXG4gICAgICogQWxsb3dzIHRvIHNldCBkaWZmZXJlbnQgdGltZXNjYWxlIGNvbmZpZ3VyYXRpb24gb24gZWFjaCBhcHBsaWNhYmxlIHZpZXcgbW9kZXMgc3VjaCBhcyBkYXksIHdlZWsgYW5kIHdvcmsgd2Vlay5cbiAgICAgKiBAZGVmYXVsdCB7IGVuYWJsZTogdHJ1ZSwgaW50ZXJ2YWw6IDYwLCBzbG90Q291bnQ6IDIsIG1ham9yU2xvdFRlbXBsYXRlOiBudWxsLCBtaW5vclNsb3RUZW1wbGF0ZTogbnVsbCB9XG4gICAgICovXG4gICAgcHVibGljIHRpbWVTY2FsZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBJdCBpcyB1c2VkIHRvIHNldCB0aGUgd29ya2luZyBkYXlzIG9uIHNjaGVkdWxlLiBUaGUgb25seSBkYXlzIHRoYXQgYXJlIGRlZmluZWQgaW4gdGhpcyBjb2xsZWN0aW9uIHdpbGwgYmUgcmVuZGVyZWQgb24gdGhlIFxuICAgICAqICBgd29ya1dlZWtgIHZpZXcgd2hlcmVhcyBvbiBvdGhlciB2aWV3cywgaXQgd2lsbCBkaXNwbGF5IGFsbCB0aGUgdXN1YWwgZGF5cyBhbmQgc2ltcGx5IGhpZ2hsaWdodHMgdGhlIHdvcmtpbmcgZGF5cyB3aXRoIGRpZmZlcmVudCBcbiAgICAgKiAgc2hhZGUuXG4gICAgICogQGRlZmF1bHQgJ1sxLCAyLCAzLCA0LCA1XSdcbiAgICAgKiBAYXNwdHlwZSBpbnRbXVxuICAgICAqL1xuICAgIHB1YmxpYyB3b3JrRGF5czogYW55O1xuICAgIC8qKiBcbiAgICAgKiBJdCBhY2NlcHRzIGVpdGhlciB0aGUgc3RyaW5nIG9yIEhUTUxFbGVtZW50IGFzIHRlbXBsYXRlIGRlc2lnbiBjb250ZW50IGFuZCBwYXJzZSBpdCBhcHByb3ByaWF0ZWx5IGJlZm9yZSBkaXNwbGF5aW5nIGl0IG9udG8gdGhlIFxuICAgICAqICBkYXRlIGhlYWRlciBjZWxscy4gVGhlIGZpZWxkIHRoYXQgY2FuIGJlIGFjY2Vzc2VkIHZpYSB0aGlzIHRlbXBsYXRlIGlzIGBkYXRlYC4gXG4gICAgICogIEl0IGdldHMgYXBwbGllZCBvbmx5IHRvIHRoZSB2aWV3IG9iamVjdHMgb24gd2hpY2ggaXQgaXMgZGVmaW5lZC5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICogQGFzcHR5cGUgc3RyaW5nXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnZGF0ZUhlYWRlclRlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyBkYXRlSGVhZGVyVGVtcGxhdGU6IGFueTtcbiAgICAvKiogXG4gICAgICogSXQgYWNjZXB0cyBlaXRoZXIgdGhlIHN0cmluZyBvciBIVE1MRWxlbWVudCBhcyB0ZW1wbGF0ZSBkZXNpZ24gY29udGVudCBhbmQgcGFyc2UgaXQgYXBwcm9wcmlhdGVseSBiZWZvcmUgZGlzcGxheWluZyBpdCBvbnRvIHRoZSBoZWFkZXIgZGF0ZSByYW5nZS5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICogQGFuZ3VsYXJ0eXBlIHN0cmluZyB8IG9iamVjdFxuICAgICAqIEByZWFjdHR5cGUgc3RyaW5nIHwgZnVuY3Rpb24gfCBKU1guRWxlbWVudFxuICAgICAqIEB2dWV0eXBlIHN0cmluZyB8IGZ1bmN0aW9uXG4gICAgICogQGFzcHR5cGUgc3RyaW5nXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnZGF0ZVJhbmdlVGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIGRhdGVSYW5nZVRlbXBsYXRlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEl0IGFjY2VwdHMgZWl0aGVyIHRoZSBzdHJpbmcgb3IgSFRNTEVsZW1lbnQgYXMgdGVtcGxhdGUgZGVzaWduIGNvbnRlbnQgYW5kIHBhcnNlIGl0IGFwcHJvcHJpYXRlbHkgYmVmb3JlIGRpc3BsYXlpbmcgaXQgb250byB0aGUgXG4gICAgICogIFllYXIgdmlldyBkYXkgY2VsbCBoZWFkZXIuIFxuICAgICAqICBUaGlzIHRlbXBsYXRlIGlzIG9ubHkgYXBwbGljYWJsZSBmb3IgeWVhciB2aWV3IGhlYWRlciBjZWxscy5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICogQGFuZ3VsYXJ0eXBlIHN0cmluZyB8IG9iamVjdFxuICAgICAqIEByZWFjdHR5cGUgc3RyaW5nIHwgZnVuY3Rpb24gfCBKU1guRWxlbWVudFxuICAgICAqIEB2dWV0eXBlIHN0cmluZyB8IGZ1bmN0aW9uXG4gICAgICogQGFzcHR5cGUgc3RyaW5nXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnZGF5SGVhZGVyVGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIGRheUhlYWRlclRlbXBsYXRlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEl0IGFjY2VwdHMgZWl0aGVyIHRoZSBzdHJpbmcgb3IgSFRNTEVsZW1lbnQgYXMgdGVtcGxhdGUgZGVzaWduIGNvbnRlbnQgYW5kIHBhcnNlIGl0IGFwcHJvcHJpYXRlbHkgYmVmb3JlIGRpc3BsYXlpbmcgaXQgb250byB0aGUgXG4gICAgICogIG1vbnRoIGRhdGUgY2VsbHMuIFxuICAgICAqICBUaGlzIHRlbXBsYXRlIGlzIG9ubHkgYXBwbGljYWJsZSBmb3IgbW9udGggdmlldyBkYXkgY2VsbHMuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqIEBhbmd1bGFydHlwZSBzdHJpbmcgfCBvYmplY3RcbiAgICAgKiBAcmVhY3R0eXBlIHN0cmluZyB8IGZ1bmN0aW9uIHwgSlNYLkVsZW1lbnRcbiAgICAgKiBAdnVldHlwZSBzdHJpbmcgfCBmdW5jdGlvblxuICAgICAqIEBhc3B0eXBlIHN0cmluZ1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2NlbGxIZWFkZXJUZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgY2VsbEhlYWRlclRlbXBsYXRlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRoZSB0ZW1wbGF0ZSBvcHRpb24gd2hpY2ggaXMgdXNlZCB0byByZW5kZXIgdGhlIGN1c3RvbWl6ZWQgd29yayBjZWxscyBvbiB0aGUgU2NoZWR1bGUuIEhlcmUsIHRoZSBcbiAgICAgKiAgdGVtcGxhdGUgYWNjZXB0cyBlaXRoZXIgdGhlIHN0cmluZyBvciBIVE1MRWxlbWVudCBhcyB0ZW1wbGF0ZSBkZXNpZ24gYW5kIHRoZW4gdGhlIHBhcnNlZCBkZXNpZ24gaXMgZGlzcGxheWVkIG9udG8gdGhlIHdvcmsgY2VsbHMuIFxuICAgICAqICBUaGUgZmllbGQgYWNjZXNzaWJsZSB2aWEgdGVtcGxhdGUgaXMgYGRhdGVgLiBJdCBnZXRzIGFwcGxpZWQgb25seSB0byB0aGUgdmlldyBvYmplY3RzIG9uIHdoaWNoIGl0IGlzIGRlZmluZWQuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqIEBhbmd1bGFydHlwZSBzdHJpbmcgfCBvYmplY3RcbiAgICAgKiBAcmVhY3R0eXBlIHN0cmluZyB8IGZ1bmN0aW9uIHwgSlNYLkVsZW1lbnRcbiAgICAgKiBAdnVldHlwZSBzdHJpbmcgfCBmdW5jdGlvblxuICAgICAqIEBhc3B0eXBlIHN0cmluZ1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2NlbGxUZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgY2VsbFRlbXBsYXRlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEl0IGFjY2VwdHMgZWl0aGVyIHRoZSBzdHJpbmcgb3IgSFRNTEVsZW1lbnQgYXMgdGVtcGxhdGUgZGVzaWduIGNvbnRlbnQgYW5kIHBhcnNlIGl0IGFwcHJvcHJpYXRlbHkgYmVmb3JlIGRpc3BsYXlpbmcgaXQgb250byBcbiAgICAgKiAgdGhlIGV2ZW50IGJhY2tncm91bmQuIEFsbCB0aGUgZXZlbnQgZmllbGRzIG1hcHBlZCB0byBTY2hlZHVsZSBmcm9tIGRhdGFTb3VyY2UgY2FuIGJlIGFjY2Vzc2VkIHdpdGhpbiB0aGlzIHRlbXBsYXRlIGNvZGUuIFxuICAgICAqICBJdCBpcyBzaW1pbGFyIHRvIHRoYXQgb2YgdGhlIGB0ZW1wbGF0ZWAgb3B0aW9uIGF2YWlsYWJsZSB3aXRoaW4gdGhlIGBldmVudFNldHRpbmdzYCBwcm9wZXJ0eSwgXG4gICAgICogIHdoZXJlYXMgaXQgd2lsbCBnZXQgYXBwbGllZCBvbmx5IG9uIHRoZSBldmVudHMgb2YgdGhlIHZpZXcgdG8gd2hpY2ggaXQgaXMgY3VycmVudGx5IGJlaW5nIGRlZmluZWQuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqIEBhbmd1bGFydHlwZSBzdHJpbmcgfCBvYmplY3RcbiAgICAgKiBAcmVhY3R0eXBlIHN0cmluZyB8IGZ1bmN0aW9uIHwgSlNYLkVsZW1lbnRcbiAgICAgKiBAdnVldHlwZSBzdHJpbmcgfCBmdW5jdGlvblxuICAgICAqIEBhc3B0eXBlIHN0cmluZ1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2V2ZW50VGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIGV2ZW50VGVtcGxhdGU6IGFueTtcbiAgICAvKiogXG4gICAgICogSXQgYWNjZXB0cyBlaXRoZXIgdGhlIHN0cmluZyBvciBIVE1MRWxlbWVudCBhcyB0ZW1wbGF0ZSBkZXNpZ24gY29udGVudCBhbmQgcGFyc2UgaXQgYXBwcm9wcmlhdGVseSBiZWZvcmUgZGlzcGxheWluZyBpdCBvbnRvIHRoZSBcbiAgICAgKiAgWWVhciB2aWV3IGRheSBjZWxsIGhlYWRlci4gXG4gICAgICogIFRoaXMgdGVtcGxhdGUgaXMgb25seSBhcHBsaWNhYmxlIGZvciB5ZWFyIHZpZXcgaGVhZGVyIGNlbGxzLlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKiBAYW5ndWxhcnR5cGUgc3RyaW5nIHwgb2JqZWN0XG4gICAgICogQHJlYWN0dHlwZSBzdHJpbmcgfCBmdW5jdGlvbiB8IEpTWC5FbGVtZW50XG4gICAgICogQHZ1ZXR5cGUgc3RyaW5nIHwgZnVuY3Rpb25cbiAgICAgKiBAYXNwdHlwZSBzdHJpbmdcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdtb250aEhlYWRlclRlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyBtb250aEhlYWRlclRlbXBsYXRlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRoZSB0ZW1wbGF0ZSBvcHRpb24gd2hpY2ggaXMgdXNlZCB0byByZW5kZXIgdGhlIGN1c3RvbWl6ZWQgaGVhZGVyIGNlbGxzIG9uIHRoZSBzY2hlZHVsZS4gSGVyZSwgdGhlIFxuICAgICAqICB0ZW1wbGF0ZSBhY2NlcHRzIGVpdGhlciB0aGUgc3RyaW5nIG9yIEhUTUxFbGVtZW50IGFzIHRlbXBsYXRlIGRlc2lnbiBhbmQgdGhlbiB0aGUgcGFyc2VkIGRlc2lnbiBpcyBkaXNwbGF5ZWQgb250byB0aGUgaGVhZGVyIGNlbGxzLiBcbiAgICAgKiAgQWxsIHRoZSByZXNvdXJjZSBmaWVsZHMgbWFwcGVkIHdpdGhpbiByZXNvdXJjZXMgY2FuIGJlIGFjY2Vzc2VkIHdpdGhpbiB0aGlzIHRlbXBsYXRlIGNvZGUuIFxuICAgICAqICBJdCBnZXRzIGFwcGxpZWQgb25seSB0byB0aGUgdmlldyBvYmplY3RzIG9uIHdoaWNoIGl0IGlzIGRlZmluZWQuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqIEBhbmd1bGFydHlwZSBzdHJpbmcgfCBvYmplY3RcbiAgICAgKiBAcmVhY3R0eXBlIHN0cmluZyB8IGZ1bmN0aW9uIHwgSlNYLkVsZW1lbnRcbiAgICAgKiBAdnVldHlwZSBzdHJpbmcgfCBmdW5jdGlvblxuICAgICAqIEBhc3B0eXBlIHN0cmluZ1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ3Jlc291cmNlSGVhZGVyVGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIHJlc291cmNlSGVhZGVyVGVtcGxhdGU6IGFueTtcbiAgICAvKiogXG4gICAgICogVGhlIHRlbXBsYXRlIG9wdGlvbiB3aGljaCBpcyB1c2VkIHRvIHJlbmRlciB0aGUgY3VzdG9taXplZCBoZWFkZXIgaW5kZW50IGNlbGwgb24gdGhlIHNjaGVkdWxlLiBIZXJlLCB0aGUgXG4gICAgICogIHRlbXBsYXRlIGFjY2VwdHMgZWl0aGVyIHRoZSBzdHJpbmcgb3IgSFRNTEVsZW1lbnQgYXMgdGVtcGxhdGUgZGVzaWduIGFuZCB0aGVuIHRoZSBwYXJzZWQgZGVzaWduIGlzIGRpc3BsYXllZCBvbnRvIHRoZSBoZWFkZXIgaW5kZW50IGNlbGwuIFxuICAgICAqICBJdCBnZXRzIGFwcGxpZWQgb25seSB0byB0aGUgdmlldyBvYmplY3RzIG9uIHdoaWNoIGl0IGlzIGRlZmluZWQuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqIEBhbmd1bGFydHlwZSBzdHJpbmcgfCBvYmplY3RcbiAgICAgKiBAcmVhY3R0eXBlIHN0cmluZyB8IGZ1bmN0aW9uIHwgSlNYLkVsZW1lbnRcbiAgICAgKiBAdnVldHlwZSBzdHJpbmcgfCBmdW5jdGlvblxuICAgICAqIEBhc3B0eXBlIHN0cmluZ1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2hlYWRlckluZGVudFRlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyBoZWFkZXJJbmRlbnRUZW1wbGF0ZTogYW55O1xuICAgIEBDb250ZW50Q2hpbGQoJ3RpbWVTY2FsZU1pbm9yU2xvdFRlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyB0aW1lU2NhbGVfbWlub3JTbG90VGVtcGxhdGU6IGFueTtcbiAgICBAQ29udGVudENoaWxkKCd0aW1lU2NhbGVNYWpvclNsb3RUZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgdGltZVNjYWxlX21ham9yU2xvdFRlbXBsYXRlOiBhbnk7XG4gICAgQENvbnRlbnRDaGlsZCgnZ3JvdXBIZWFkZXJUb29sdGlwVGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIGdyb3VwX2hlYWRlclRvb2x0aXBUZW1wbGF0ZTogYW55O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOlZpZXdDb250YWluZXJSZWYpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgc2V0VmFsdWUoJ2N1cnJlbnRJbnN0YW5jZScsIHRoaXMsIHRoaXMudmlld0NvbnRhaW5lclJlZik7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJFdmVudHMob3V0cHV0cyk7XG4gICAgICAgIHRoaXMuZGlyZWN0aXZlUHJvcExpc3QgPSBpbnB1dDtcbiAgICB9XG59XG5cbi8qKlxuICogVmlldyBBcnJheSBEaXJlY3RpdmVcbiAqIEBwcml2YXRlXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnZWpzLXNjaGVkdWxlPmUtdmlld3MnLFxuICAgIHF1ZXJpZXM6IHtcbiAgICAgICAgY2hpbGRyZW46IG5ldyBDb250ZW50Q2hpbGRyZW4oVmlld0RpcmVjdGl2ZSlcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBWaWV3c0RpcmVjdGl2ZSBleHRlbmRzIEFycmF5QmFzZTxWaWV3c0RpcmVjdGl2ZT4ge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigndmlld3MnKTtcbiAgICB9XG59Il19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public_api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luY2Z1c2lvbi1lajItYW5ndWxhci1zY2hlZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3N5bmNmdXNpb24tZWoyLWFuZ3VsYXItc2NoZWR1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==