@syncfusion/ej2-angular-gantt 20.4.38 → 20.4.39

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 (106) hide show
  1. package/README.md +131 -61
  2. package/esm2020/src/gantt/gantt.component.mjs +3 -3
  3. package/fesm2015/syncfusion-ej2-angular-gantt.mjs +2 -2
  4. package/fesm2015/syncfusion-ej2-angular-gantt.mjs.map +1 -1
  5. package/fesm2020/syncfusion-ej2-angular-gantt.mjs +2 -2
  6. package/fesm2020/syncfusion-ej2-angular-gantt.mjs.map +1 -1
  7. package/package.json +1 -1
  8. package/src/gantt/gantt.component.d.ts +1 -1
  9. package/styles/bootstrap-dark.css +182 -14
  10. package/styles/bootstrap.css +182 -14
  11. package/styles/bootstrap4.css +182 -13
  12. package/styles/bootstrap5-dark.css +181 -12
  13. package/styles/bootstrap5.css +181 -12
  14. package/styles/fabric-dark.css +182 -14
  15. package/styles/fabric.css +182 -14
  16. package/styles/fluent-dark.css +183 -12
  17. package/styles/fluent.css +183 -12
  18. package/styles/gantt/_bootstrap-dark-definition.scss +6 -2
  19. package/styles/gantt/_bootstrap-definition.scss +6 -3
  20. package/styles/gantt/_bootstrap4-definition.scss +6 -3
  21. package/styles/gantt/_bootstrap5-definition.scss +6 -3
  22. package/styles/gantt/_fabric-dark-definition.scss +6 -3
  23. package/styles/gantt/_fabric-definition.scss +6 -3
  24. package/styles/gantt/_fluent-definition.scss +6 -3
  25. package/styles/gantt/_fusionnew-definition.scss +6 -3
  26. package/styles/gantt/_highcontrast-definition.scss +7 -4
  27. package/styles/gantt/_highcontrast-light-definition.scss +6 -3
  28. package/styles/gantt/_layout.scss +237 -23
  29. package/styles/gantt/_material-dark-definition.scss +6 -3
  30. package/styles/gantt/_material-definition.scss +6 -3
  31. package/styles/gantt/_material3-definition.scss +6 -3
  32. package/styles/gantt/_tailwind-definition.scss +6 -3
  33. package/styles/gantt/_theme.scss +17 -8
  34. package/styles/gantt/bootstrap-dark.css +182 -14
  35. package/styles/gantt/bootstrap.css +182 -14
  36. package/styles/gantt/bootstrap4.css +182 -13
  37. package/styles/gantt/bootstrap5-dark.css +181 -12
  38. package/styles/gantt/bootstrap5.css +181 -12
  39. package/styles/gantt/fabric-dark.css +182 -14
  40. package/styles/gantt/fabric.css +182 -14
  41. package/styles/gantt/fluent-dark.css +183 -12
  42. package/styles/gantt/fluent.css +183 -12
  43. package/styles/gantt/highcontrast-light.css +181 -12
  44. package/styles/gantt/highcontrast.css +182 -14
  45. package/styles/gantt/icons/_bootstrap-dark.scss +1 -1
  46. package/styles/gantt/icons/_bootstrap.scss +1 -1
  47. package/styles/gantt/icons/_fabric-dark.scss +1 -1
  48. package/styles/gantt/icons/_fabric.scss +1 -1
  49. package/styles/gantt/icons/_highcontrast.scss +1 -1
  50. package/styles/gantt/icons/_material-dark.scss +1 -1
  51. package/styles/gantt/icons/_material.scss +1 -1
  52. package/styles/gantt/material-dark.css +180 -14
  53. package/styles/gantt/material.css +182 -14
  54. package/styles/gantt/tailwind-dark.css +181 -12
  55. package/styles/gantt/tailwind.css +181 -12
  56. package/styles/highcontrast-light.css +181 -12
  57. package/styles/highcontrast.css +182 -14
  58. package/styles/material-dark.css +180 -14
  59. package/styles/material.css +182 -14
  60. package/styles/tailwind-dark.css +181 -12
  61. package/styles/tailwind.css +181 -12
  62. package/schematics/collection.json +0 -30
  63. package/schematics/generators/gantt-daymarkers/index.d.ts +0 -3
  64. package/schematics/generators/gantt-daymarkers/index.js +0 -8
  65. package/schematics/generators/gantt-daymarkers/sample-details.d.ts +0 -5
  66. package/schematics/generators/gantt-daymarkers/sample-details.js +0 -7
  67. package/schematics/generators/gantt-daymarkers/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +0 -9
  68. package/schematics/generators/gantt-daymarkers/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +0 -6
  69. package/schematics/generators/gantt-daymarkers/schema.d.ts +0 -3
  70. package/schematics/generators/gantt-daymarkers/schema.js +0 -2
  71. package/schematics/generators/gantt-daymarkers/schema.json +0 -125
  72. package/schematics/generators/gantt-default/index.d.ts +0 -3
  73. package/schematics/generators/gantt-default/index.js +0 -8
  74. package/schematics/generators/gantt-default/sample-details.d.ts +0 -5
  75. package/schematics/generators/gantt-default/sample-details.js +0 -7
  76. package/schematics/generators/gantt-default/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +0 -5
  77. package/schematics/generators/gantt-default/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +0 -4
  78. package/schematics/generators/gantt-default/schema.d.ts +0 -3
  79. package/schematics/generators/gantt-default/schema.js +0 -2
  80. package/schematics/generators/gantt-default/schema.json +0 -125
  81. package/schematics/generators/gantt-editing/index.d.ts +0 -3
  82. package/schematics/generators/gantt-editing/index.js +0 -8
  83. package/schematics/generators/gantt-editing/sample-details.d.ts +0 -5
  84. package/schematics/generators/gantt-editing/sample-details.js +0 -7
  85. package/schematics/generators/gantt-editing/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +0 -4
  86. package/schematics/generators/gantt-editing/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +0 -5
  87. package/schematics/generators/gantt-editing/schema.d.ts +0 -3
  88. package/schematics/generators/gantt-editing/schema.js +0 -2
  89. package/schematics/generators/gantt-editing/schema.json +0 -125
  90. package/schematics/generators/gantt-localdata/index.d.ts +0 -3
  91. package/schematics/generators/gantt-localdata/index.js +0 -8
  92. package/schematics/generators/gantt-localdata/sample-details.d.ts +0 -5
  93. package/schematics/generators/gantt-localdata/sample-details.js +0 -7
  94. package/schematics/generators/gantt-localdata/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +0 -4
  95. package/schematics/generators/gantt-localdata/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +0 -5
  96. package/schematics/generators/gantt-localdata/schema.d.ts +0 -3
  97. package/schematics/generators/gantt-localdata/schema.js +0 -2
  98. package/schematics/generators/gantt-localdata/schema.json +0 -125
  99. package/schematics/ng-add/index.d.ts +0 -3
  100. package/schematics/ng-add/index.js +0 -9
  101. package/schematics/ng-add/schema.d.ts +0 -13
  102. package/schematics/ng-add/schema.js +0 -2
  103. package/schematics/ng-add/schema.json +0 -34
  104. package/schematics/tsconfig.json +0 -25
  105. package/schematics/utils/lib-details.d.ts +0 -4
  106. package/schematics/utils/lib-details.js +0 -6
package/README.md CHANGED
@@ -1,86 +1,156 @@
1
- # ej2-angular-gantt
1
+ # Angular Gantt Component
2
2
 
3
- The Gantt component is designed to visualize and edit the project schedule, and track the project progress. It helps to organize and schedule the projects and also you can update the project schedule through interactions like editing, dragging and resizing.
3
+ The [Angular Gantt](https://www.syncfusion.com/angular-components/angular-gantt-chart?utm_source=npm&utm_medium=listing&utm_campaign=angular-gantt-npm) component is project planning and management tool used to display and manage hierarchical tasks with timeline details. It helps assess how long a project should take, determine the resources needed, manage the dependencies between tasks, and plan the order in which the tasks should be completed.
4
4
 
5
- ![Gantt](https://ej2.syncfusion.com/products/images/gantt/readme.gif)
5
+ <p align="center">
6
+ <a href="https://ej2.syncfusion.com/angular/documentation/gantt/getting-started/?utm_source=npm&utm_medium=listing&utm_campaign=angular-gantt-npm">Getting Started</a> .
7
+ <a href="https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_medium=listing&utm_campaign=angular-gantt-npm#/bootstrap5/gantt/default">Online demos</a> .
8
+ <a href="https://www.syncfusion.com/angular-components/angular-gantt-chart?utm_source=npm&utm_medium=listing&utm_campaign=angular-gantt-npm">Learn more</a>
9
+ </p>
6
10
 
7
- > This is a commercial product and requires a paid license for possession or use. Syncfusion’s licensed software, including this component, is subject to the terms and conditions of Syncfusion's EULA (https://www.syncfusion.com/eula/es/). To acquire a license, you can purchase one at https://www.syncfusion.com/sales/products or start a free 30-day trial here (https://www.syncfusion.com/account/manage-trials/start-trials).
11
+ <p align="center">
12
+ <img alt="Angular Gantt Control" src="https://raw.githubusercontent.com/SyncfusionExamples/nuget-img/master/angular/angular-gantt-chart.png"> </p>
8
13
 
9
- > A free community license (https://www.syncfusion.com/products/communitylicense) is also available for companies and individuals whose organizations have less than $1 million USD in annual gross revenue and five or fewer developers.
14
+ <p align="center">
15
+ Trusted by the world's leading companies
16
+ <a href="https://www.syncfusion.com">
17
+ <img src="https://raw.githubusercontent.com/SyncfusionExamples/nuget-img/master/syncfusion/syncfusion-trusted-companies.webp" alt="Bootstrap logo">
18
+ </a>
19
+ </p>
10
20
 
11
21
  ## Setup
12
22
 
13
- To install Gantt and its dependent packages, use the following command.
23
+ ### Create an Angular Application
14
24
 
15
- ```sh
16
- npm install @syncfusion/ej2-angular-gantt
25
+ You can use [Angular CLI](https://github.com/angular/angular-cli) to setup your Angular applications. To install the Angular CLI, use the following command.
26
+
27
+ ```bash
28
+ npm install -g @angular/cli
29
+ ```
30
+
31
+ Create a new Angular application using the following Angular CLI command.
32
+
33
+ ```bash
34
+ ng new my-app
35
+ cd my-app
17
36
  ```
18
37
 
19
- ## Resources
38
+ ### Adding Syncfusion Gantt package
20
39
 
21
- * [Getting Started](https://ej2.syncfusion.com/angular/documentation/gantt/getting-started/)
22
- * [View Online Demos](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_campaign=gantt#/material/gantt/default)
23
- * [Product Page](https://www.syncfusion.com/angular-ui-components/angular-gantt-chart)
40
+ All Syncfusion Angular packages are available in [npmjs.com](https://www.npmjs.com/~syncfusionorg). To install the Angular gantt package, use the following command.
24
41
 
25
- ## Supported Frameworks
42
+ ```bash
43
+ ng add @syncfusion/ej2-angular-gantt
44
+ ```
45
+
46
+ The above command does the below configuration to your Angular app.
47
+
48
+ * Adds `@syncfusion/ej2-angular-gantt` package and its peer dependencies to your `package.json` file.
49
+ * Imports the `GanttModule` in your application module `app.module.ts`.
50
+ * Registers the Syncfusion UI default theme (material) in the `angular.json` file.
51
+
52
+ This makes it easy to add the Syncfusion Angular Gantt module to your project and start using it in your application.
53
+
54
+ ### Add Gantt component
55
+
56
+ In **src/app/app.component.ts**, use `<ejs-gantt>` selector in the `template` attribute of the `@Component` directive to render the Syncfusion Angular Gantt component.
57
+
58
+ ```typescript
59
+ import { Component, OnInit } from '@angular/core';
60
+ import { TaskFieldsModel } from '@syncfusion/ej2-angular-gantt';
61
+
62
+ @Component({
63
+ selector: 'app-root',
64
+ template: `<ejs-gantt [dataSource]="data" [taskFields]="taskSettings"></ejs-gantt>`
65
+ })
66
+ export class AppComponent implements OnInit {
67
+
68
+ public data: object[] = [];
69
+
70
+ public taskSettings: TaskFieldsModel | undefined;
71
+
72
+ ngOnInit(): void {
73
+ this.taskSettings = {id: 'TaskID', name: 'TaskName', startDate: 'StartDate', endDate: 'EndDate', duration: 'Duration', progress: 'Progress', child: 'subtasks' };
74
+
75
+ this.data = [
76
+ {
77
+ TaskID: 1,
78
+ TaskName: 'Project Initiation',
79
+ StartDate: new Date('04/02/2019'),
80
+ EndDate: new Date('04/21/2019'),
81
+ subtasks: [
82
+ { TaskID: 2, TaskName: 'Identify Site location', StartDate: new Date('04/02/2019'), Duration: 4, Progress: 50 },
83
+ { TaskID: 3, TaskName: 'Perform Soil test', StartDate: new Date('04/02/2019'), Duration: 4, Progress: 50 },
84
+ { TaskID: 4, TaskName: 'Soil test approval', StartDate: new Date('04/02/2019'), Duration: 4, Progress: 50 },
85
+ ]
86
+ },
87
+ {
88
+ TaskID: 5,
89
+ TaskName: 'Project Estimation',
90
+ StartDate: new Date('04/02/2019'),
91
+ EndDate: new Date('04/21/2019'),
92
+ subtasks: [
93
+ { TaskID: 6, TaskName: 'Develop floor plan for estimation', StartDate: new Date('04/04/2019'), Duration: 3, Progress: 50 },
94
+ { TaskID: 7, TaskName: 'List materials', StartDate: new Date('04/04/2019'), Duration: 3, Progress: 50 },
95
+ { TaskID: 8, TaskName: 'Estimation approval', StartDate: new Date('04/04/2019'), Duration: 3, Progress: 50 }
96
+ ]
97
+ }];
98
+ }
99
+ }
100
+ ```
101
+
102
+ ## Supported frameworks
26
103
 
27
104
  Gantt component is also offered in following list of frameworks.
28
105
 
29
- 1. [React](https://github.com/syncfusion/ej2-react-ui-components/tree/master/components/gantt)
30
- 2. [VueJS](https://github.com/syncfusion/ej2-vue-ui-components/tree/master/components/gantt)
31
- 3. [ASP.NET Core](https://www.syncfusion.com/aspnet-core-ui-controls/gantt)
32
- 4. [ASP.NET MVC](https://www.syncfusion.com/aspnet-mvc-ui-controls/gantt)
33
- 5. [JavaScript (ES5)](https://www.syncfusion.com/javascript-ui-controls/gantt)
34
- 6. [Blazor](https://www.syncfusion.com/blazor-components/blazor-gantt-chart)
35
-
36
- ## Key Features
37
-
38
- * [**Data sources**](https://ej2.syncfusion.com/angular/documentation/gantt/data-binding/) - Bind hierarchical or self-referential data to Gantt chart with an array of JavaScript objects or DataManager.
39
- * [**Timeline**](https://ej2.syncfusion.com/angular/documentation/gantt/timeline/) Display timescale from minutes to decades easily, and also display custom texts in the timeline units. Timeline can be displayed in either one-tier or two-tier layout.
40
- * [**Customizable Taskbars**](https://ej2.syncfusion.com/angular/documentation/gantt/appearance-customization/#taskbar-customization) Display various tasks in a project using child taskbar, summary taskbar and milestone UI, that can also be customized with templates.
41
- * [**Unscheduled tasks**](https://ej2.syncfusion.com/angular/documentation/gantt/task-scheduling/#unscheduled-tasks) Support for displaying tasks with undefined start date, end date or duration in a project.
42
- * [**Baselines**](https://ej2.syncfusion.com/angular/documentation/gantt/baseline/) Display the deviations between planned dates and actual dates of a task in a project using baselines.
43
- * [**CRUD actions**](https://ej2.syncfusion.com/angular/documentation/gantt/managing-tasks/#maintaining-data-in-server) Provides the options to dynamically insert, delete and update tasks using columns, dialog and taskbar editing options.
44
- * [**Task dependency**](https://ej2.syncfusion.com/angular/documentation/gantt/taskdependency/) Define or update the dependencies between the tasks in a project with four types of task dependencies Finish Start, Start Finish, Finish Finish, Start – Start.
45
- * [**Markers and indicators**](https://ej2.syncfusion.com/angular/documentation/gantt/data-markers/) - Support for displaying indicators and flags along with taskbars and task labels. Also map important events in a project using event marker.
46
- * [**Task label customization**](https://ej2.syncfusion.com/angular/documentation/gantt/appearance-customization/#task-labels) - provides option to set desired label inside task bar and right and left side of task bar.
47
- * [**Resources**](https://ej2.syncfusion.com/angular/documentation/gantt/resources/) - Allows you to assign and track performance of resource to particular task.
48
- * [**Sorting**](https://ej2.syncfusion.com/angular/documentation/gantt/sorting/) - Supports n levels of sorting.
49
- * [**Filtering**](https://ej2.syncfusion.com/angular/documentation/gantt/filtering/) - Offers filter UI such as filter bar, menu, excel and checkbox at each column to filter data.
50
- * [**Editing**](https://ej2.syncfusion.com/angular/documentation/gantt/managing-tasks/#editing-tasks) - provides the options for create, read, update, and delete operations.
51
- * [**Columns**](https://ej2.syncfusion.com/angular/documentation/gantt/columns/) - The column definitions are used as the dataSource schema in the gantt. This plays a vital role in rendering column values in the required format.
52
- * [**Reordering**](https://ej2.syncfusion.com/angular/documentation/gantt/columns/#column-reordering) - Allows you to drag any column and drop it at any position in the gantt column header row, allowing columns to be repositioned.
53
- * [**Column Chooser**](https://ej2.syncfusion.com/angular/documentation/gantt/columns/#column-menu) - The column chooser provides a list of column names paired with check boxes that allow the visibility to be toggled on the fly.
54
- * [**Resizing**](https://ej2.syncfusion.com/angular/documentation/gantt/columns/#column-resizing) - Resizing allows changing column width on the fly by simply dragging the right corner of the column header.
55
- * [**Selection**](https://ej2.syncfusion.com/angular/documentation/gantt/selection/) - Rows or cells can be selected in the gantt. One or more rows or cells can also be selected by holding Ctrl or Command, or programmatically.
56
- * [**Row Drag And Drop**](https://ej2.syncfusion.com/angular/documentation/gantt/rows/#drag-and-drop) - Drag and drop allows user to dynamically rearrange the rows.
57
- * [**Context Menu**](https://ej2.syncfusion.com/angular/documentation/gantt/context-menu/) - The context menu improves user action with Gantt Chart using a pop-up menu. It appears when a cell or header is right-clicked.
58
- * [**Resource View**](https://ej2.syncfusion.com/angular/documentation/gantt/resource-view/) - Visualize the list of tasks assigned to each resource in a hierarchical manner.
59
- * [**OverAllocation**](https://ej2.syncfusion.com/angular/documentation/gantt/resource-view/#resource-overallocation) - When a resource is assigned too much of work to complete within a day of resource’s available time then it is highlighted by a square bracket.
60
- * [**Multi Taskbar**](https://ej2.syncfusion.com/angular/documentation/gantt/resource-view/#resource-multi-taskbar) - Allows user to visualize multiple tasks assigned to each resource in a row.
61
- * [**Exporting**](https://ej2.syncfusion.com/angular/documentation/gantt/excel-export/) - Allows you to export Gantt data to Excel, PDF and CSV formats.
62
- * [**Zooming**](https://ej2.syncfusion.com/angular/documentation/gantt/timeline/#zooming) - Zooming feature enables you to view the tasks in the project clearly from minute to year timespan.
63
- * [**Split Tasks**](https://ej2.syncfusion.com/angular/demos/#/material/gantt/split-tasks) - Allows an interruption in the task due to circumstances such as the occurrence of an unplanned event or reprioritization of already planned events. In such situtations, the pending work can be split into segments and the work can be resumed at a different date.
64
- * [**Virtual Scrolling**](https://ej2.syncfusion.com/angular/demos/#/material/gantt/virtual-scroll) - Allows user to load a large amount of data effectively.
65
- * [**Templates**](https://ej2.syncfusion.com/angular/demos/#/material/gantt/taskbar-template) - Templates can be used to create custom user experiences in the gantt.
66
- * [**Enriched UI**](https://ej2.syncfusion.com/angular/documentation/appearance/theme/) – Support for Material, bootstrap, fabric and high contrast themes along with other UI options like holidays support, vertical and horizontal grid lines support and so on.
67
- * [**Localization**](https://ej2.syncfusion.com/angular/documentation/gantt/global-local/) - Provides inherent support to localize the UI.
106
+ | [<img src="https://ej2.syncfusion.com/github/images/js.svg" height="50" />](https://www.syncfusion.com/javascript-ui-controls?utm_medium=listing&utm_source=github)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[JavaScript](https://www.syncfusion.com/javascript-ui-controls?utm_medium=listing&utm_source=github)&nbsp;&nbsp;&nbsp;&nbsp; | [<img src="https://ej2.syncfusion.com/github/images/react.svg" height="50" />](https://www.syncfusion.com/react-ui-components?utm_medium=listing&utm_source=github)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[React](https://www.syncfusion.com/react-ui-components?utm_medium=listing&utm_source=github)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | [<img src="https://ej2.syncfusion.com/github/images/vue.svg" height="50" />](https://www.syncfusion.com/vue-ui-components?utm_medium=listing&utm_source=github)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Vue](https://www.syncfusion.com/vue-ui-components?utm_medium=listing&utm_source=github)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | [<img src="https://ej2.syncfusion.com/github/images/netcore.svg" height="50" />](https://www.syncfusion.com/aspnet-core-ui-controls?utm_medium=listing&utm_source=github)<br/>&nbsp;&nbsp;[ASP.NET&nbsp;Core](https://www.syncfusion.com/aspnet-core-ui-controls?utm_medium=listing&utm_source=github)&nbsp;&nbsp; | [<img src="https://ej2.syncfusion.com/github/images/netmvc.svg" height="50" />](https://www.syncfusion.com/aspnet-mvc-ui-controls?utm_medium=listing&utm_source=github)<br/>&nbsp;&nbsp;[ASP.NET&nbsp;MVC](https://www.syncfusion.com/aspnet-mvc-ui-controls?utm_medium=listing&utm_source=github)&nbsp;&nbsp; |
107
+ | :-----: | :-----: | :-----: | :-----: | :-----: |
108
+
109
+ ## Key features
110
+
111
+ * [Data sources](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_campaign=angular-gantt-npm#/bootstrap5/gantt/local-data): Bind hierarchical or self-referential data to Gantt chart with an array of JSON objects or DataManager.
112
+ * [Timeline](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_campaign=angular-gantt-npm#/bootstrap5/gantt/timeline): Display timescale from minutes to decades easily, and also display custom texts in the timeline units. Timeline can be displayed in either one-tier or two-tier layout.
113
+ * [Task dependency](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_campaign=angular-gantt-npm#/bootstrap5/gantt/editing): Allows for the definition or update of dependencies between tasks in a project using four types of task dependencies: Finish – Start, Start – Finish, Finish – Finish, and Start – Start.
114
+ * [Resources](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_campaign=angular-gantt-npm#/bootstrap5/gantt/resource-view): Visualizes the list of tasks assigned to each resource in hierarchy manner and switch the resources as per user need by task editing.
115
+ * [Editing](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_campaign=angular-gantt-npm#/bootstrap5/gantt/editing): Provides the options to dynamically insert, delete and update tasks using columns, dialog and taskbar editing options.
116
+ * [Virtual scrolling](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_campaign=angular-gantt-npm#/bootstrap5/gantt/virtual-scroll): Improves the performance of the gantt control when binding large amounts of data by only rendering the currently visible parts of the user interface and rendering other elements as needed while scrolling.
117
+ * [Critical path](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_campaign=angular-gantt-npm#/bootstrap5/gantt/critical-path): The critical path in a project is displayed by a single task or a series of tasks. If a task in critical path is delayed, the entire project will be delayed. A task is considered to be critical if any delay to this task would affect the project end date.
118
+ * [Customizable taskbars](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_campaign=angular-gantt-npm#/bootstrap5/gantt/taskbar-template): Display various tasks in a project using parent and child taskbars, summary taskbars and milestone UI, which can be customized with templates.
119
+ * [Unscheduled tasks](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_campaign=angular-gantt-npm#/bootstrap5/gantt/unscheduled-task): Gantt Chart supports the display of tasks with undefined start date, end date or duration in a project.
120
+ * [Baseline](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_campaign=angular-gantt-npm#/bootstrap5/gantt/baseline): Display the deviations between planned dates and actual dates of a task in a project using baselines.
121
+ * [Markers and indicators](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_campaign=angular-gantt-npm#/bootstrap5/gantt/event-markers): Display indicators and flags along with taskbars and task labels. Also map important events in a project using event marker.
122
+ * [Task label customization](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_campaign=angular-gantt-npm#/bootstrap5/gantt/tasklabel-template): Allows for the customization of labels within and on either side of the task bar.
123
+ * [Sorting](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_campaign=angular-gantt-npm#/bootstrap5/gantt/sorting-api): Supports n levels of sorting.
124
+ * [Filtering](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_campaign=angular-gantt-npm#/bootstrap5/gantt/filtering): Offers filter UIs such as filter bar and menu at each column to filter data. Also allows for filtering based on related parent or child records.
125
+ * [Columns](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_campaign=angular-gantt-npm#/bootstrap5/gantt/column-menu): Column definitions are used as the dataSource schema in the gantt. This plays a vital role in rendering column values in the required format. Column functionalities such as resizing, reordering, column template, show or hide columns, etc., are supported.
126
+ * [Column re-ordering](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_campaign=angular-gantt-npm#/bootstrap5/gantt/reorder): Drag any column and drop it at any position in the grid's column header row, to reposition the column.
127
+ * [Column resizing](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_campaign=angular-gantt-npm#/bootstrap5/gantt/resize): Resizing allows changing column width on the fly by simply dragging the right corner of the column header.
128
+ * [Row re-ordering](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_campaign=angular-gantt-npm#/bootstrap5/gantt/drag-and-drop): Allows rows to be rearranged through drag and drop actions, changing their position and hierarchy level. A child row can be moved as a sibling within the same parent row or as a child to a different parent row.
129
+ * [Selection](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_campaign=angular-gantt-npm#/bootstrap5/gantt/selection): Rows or cells can be selected in the Gantt Chart. One or more rows or cells can also be selected by holding Shift, Ctrl or Command, or programmatically.
130
+ * [Templates](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_campaign=angular-gantt-npm#/bootstrap5/gantt/column-template): Templates can be used to create custom user experiences in the gantt.
131
+ * [RTL support](https://ej2.syncfusion.com/angular/documentation/gantt/global-local/#right-to-left-rtl): Provides the right-to-left mode which aligns content in the Gantt Chart component from right to left. This improves user experience and accessibility for those who work with RTL languages like Hebrew and Arabic.
132
+ * [Localization](https://ej2.syncfusion.com/angular/documentation/gantt/global-local/#localization): Provides inherent support to localize the UI.
68
133
 
69
134
  ## Support
70
135
 
71
- Product support is available for through following mediums.
136
+ Product support is available through following mediums.
72
137
 
73
- * Creating incident in Syncfusion [Direct-trac](https://www.syncfusion.com/support/directtrac/incidents?utm_source=npm&utm_campaign=gantt) support system or [Community forum](https://www.syncfusion.com/forums/angular-js2?utm_source=npm&utm_campaign=gantt).
74
- * New [GitHub issue](https://github.com/syncfusion/ej2-angular-ui-components/issues/new).
75
- * Ask your query in Stack Overflow with tag `syncfusion`, `ej2`.
138
+ * [Support ticket](https://support.syncfusion.com/support/tickets/create) - Guaranteed Response in 24 hours | Unlimited tickets | Holiday support
139
+ * [Community forum](https://www.syncfusion.com/forums/angular-js2?utm_source=npm&utm_medium=listing&utm_campaign=angular-gantt-npm)
140
+ * [GitHub issues](https://github.com/syncfusion/ej2-angular-ui-components/issues/new)
141
+ * [Request feature or report bug](https://www.syncfusion.com/feedback/angular?utm_source=npm&utm_medium=listing&utm_campaign=angular-gantt-npm)
142
+ * Live chat
76
143
 
77
- ## License
144
+ ## Changelog
78
145
 
79
- Check the license detail [here](https://github.com/syncfusion/ej2-angular-ui-components/blob/master/license).
146
+ Check the changelog [here](https://github.com/syncfusion/ej2-angular-ui-components/blob/master/components/gantt/CHANGELOG.md). Get minor improvements and bug fixes every week to stay up to date with frequent updates.
80
147
 
81
- ## Changelog
148
+ ## License and copyright
149
+
150
+ > This is a commercial product and requires a paid license for possession or use. Syncfusion’s licensed software, including this component, is subject to the terms and conditions of Syncfusion's [EULA](https://www.syncfusion.com/eula/es/). To acquire a license for 80+ [Angular UI components](https://www.syncfusion.com/angular-components), you can [purchase](https://www.syncfusion.com/sales/products) or [start a free 30-day trial](https://www.syncfusion.com/account/manage-trials/start-trials).
82
151
 
83
- Check the changelog [here](https://github.com/syncfusion/ej2-angular-ui-components/blob/master/components/gantt/CHANGELOG.md)
152
+ > A free community [license](https://www.syncfusion.com/products/communitylicense) is also available for companies and individuals whose organizations have less than $1 million USD in annual gross revenue and five or fewer developers.
84
153
 
154
+ See [LICENSE FILE](https://github.com/syncfusion/ej2-angular-ui-components/blob/master/license) for more info.
85
155
 
86
- © Copyright 2022 Syncfusion, Inc. All Rights Reserved. The Syncfusion Essential Studio license and copyright applies to this distribution.
156
+ &copy; Copyright 2022 Syncfusion, Inc. All Rights Reserved. The Syncfusion Essential Studio license and copyright applies to this distribution.
@@ -10,7 +10,7 @@ import { DayWorkingTimeCollectionDirective } from './dayworkingtime.directive';
10
10
  import { HolidaysDirective } from './holidays.directive';
11
11
  import { EventMarkersDirective } from './eventmarkers.directive';
12
12
  import * as i0 from "@angular/core";
13
- export const inputs = ['addDialogFields', 'allowExcelExport', 'allowFiltering', 'allowKeyboard', 'allowPdfExport', 'allowReordering', 'allowResizing', 'allowRowDragAndDrop', 'allowSelection', 'allowSorting', 'allowUnscheduledTasks', 'autoFocusTasks', 'baselineColor', 'collapseAllParentTasks', 'columnMenuItems', 'columns', 'connectorLineBackground', 'connectorLineWidth', 'contextMenuItems', 'dataSource', 'dateFormat', 'dayWorkingTime', 'disableHtmlEncode', 'durationUnit', 'editDialogFields', 'editSettings', 'enableContextMenu', 'enableCriticalPath', 'enableImmutableMode', 'enableMultiTaskbar', 'enablePersistence', 'enablePredecessorValidation', 'enableRtl', 'enableVirtualization', 'eventMarkers', 'filterSettings', 'gridLines', 'height', 'highlightWeekends', 'holidays', 'includeWeekend', 'labelSettings', 'locale', 'milestoneTemplate', 'parentTaskbarTemplate', 'projectEndDate', 'projectStartDate', 'query', 'readOnly', 'renderBaseline', 'resourceFields', 'resourceIDMapping', 'resourceNameMapping', 'resources', 'rowHeight', 'searchSettings', 'segmentData', 'selectedRowIndex', 'selectionSettings', 'showColumnMenu', 'showInlineNotes', 'showOverAllocation', 'sortSettings', 'splitterSettings', 'taskFields', 'taskMode', 'taskType', 'taskbarHeight', 'taskbarTemplate', 'timelineSettings', 'timezone', 'toolbar', 'tooltipSettings', 'treeColumnIndex', 'validateManualTasksOnLinking', 'viewType', 'width', 'workUnit', 'workWeek'];
13
+ export const inputs = ['addDialogFields', 'allowExcelExport', 'allowFiltering', 'allowKeyboard', 'allowPdfExport', 'allowReordering', 'allowResizing', 'allowRowDragAndDrop', 'allowSelection', 'allowSorting', 'allowUnscheduledTasks', 'autoFocusTasks', 'baselineColor', 'collapseAllParentTasks', 'columnMenuItems', 'columns', 'connectorLineBackground', 'connectorLineWidth', 'contextMenuItems', 'dataSource', 'dateFormat', 'dayWorkingTime', 'disableHtmlEncode', 'durationUnit', 'editDialogFields', 'editSettings', 'enableContextMenu', 'enableCriticalPath', 'enableImmutableMode', 'enableMultiTaskbar', 'enablePersistence', 'enablePredecessorValidation', 'enableRtl', 'enableVirtualMaskRow', 'enableVirtualization', 'eventMarkers', 'filterSettings', 'gridLines', 'height', 'highlightWeekends', 'holidays', 'includeWeekend', 'labelSettings', 'loadingIndicator', 'locale', 'milestoneTemplate', 'parentTaskbarTemplate', 'projectEndDate', 'projectStartDate', 'query', 'readOnly', 'renderBaseline', 'resourceFields', 'resourceIDMapping', 'resourceNameMapping', 'resources', 'rowHeight', 'searchSettings', 'segmentData', 'selectedRowIndex', 'selectionSettings', 'showColumnMenu', 'showInlineNotes', 'showOverAllocation', 'sortSettings', 'splitterSettings', 'taskFields', 'taskMode', 'taskType', 'taskbarHeight', 'taskbarTemplate', 'timelineSettings', 'timezone', 'toolbar', 'tooltipSettings', 'treeColumnIndex', 'validateManualTasksOnLinking', 'viewType', 'width', 'workUnit', 'workWeek'];
14
14
  export const outputs = ['actionBegin', 'actionComplete', 'actionFailure', 'beforeExcelExport', 'beforePdfExport', 'beforeTooltipRender', 'cellDeselected', 'cellDeselecting', 'cellEdit', 'cellSelected', 'cellSelecting', 'collapsed', 'collapsing', 'columnDrag', 'columnDragStart', 'columnDrop', 'columnMenuClick', 'columnMenuOpen', 'contextMenuClick', 'contextMenuOpen', 'created', 'dataBound', 'dataStateChange', 'destroyed', 'endEdit', 'excelExportComplete', 'excelHeaderQueryCellInfo', 'excelQueryCellInfo', 'expanded', 'expanding', 'headerCellInfo', 'load', 'onMouseMove', 'onTaskbarClick', 'pdfColumnHeaderQueryCellInfo', 'pdfExportComplete', 'pdfQueryCellInfo', 'pdfQueryTaskbarInfo', 'pdfQueryTimelineCellInfo', 'queryCellInfo', 'queryTaskbarInfo', 'recordDoubleClick', 'resizeStart', 'resizeStop', 'resizing', 'rowDataBound', 'rowDeselected', 'rowDeselecting', 'rowDrag', 'rowDragStart', 'rowDragStartHelper', 'rowDrop', 'rowSelected', 'rowSelecting', 'splitterResizeStart', 'splitterResized', 'splitterResizing', 'taskbarEdited', 'taskbarEditing', 'toolbarClick', 'dataSourceChange'];
15
15
  export const twoWays = ['dataSource'];
16
16
  /**
@@ -169,7 +169,7 @@ let GanttComponent = class GanttComponent extends Gantt {
169
169
  }
170
170
  };
171
171
  GanttComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: GanttComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ViewContainerRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
172
- GanttComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: GanttComponent, selector: "ejs-gantt", inputs: { addDialogFields: "addDialogFields", allowExcelExport: "allowExcelExport", allowFiltering: "allowFiltering", allowKeyboard: "allowKeyboard", allowPdfExport: "allowPdfExport", allowReordering: "allowReordering", allowResizing: "allowResizing", allowRowDragAndDrop: "allowRowDragAndDrop", allowSelection: "allowSelection", allowSorting: "allowSorting", allowUnscheduledTasks: "allowUnscheduledTasks", autoFocusTasks: "autoFocusTasks", baselineColor: "baselineColor", collapseAllParentTasks: "collapseAllParentTasks", columnMenuItems: "columnMenuItems", columns: "columns", connectorLineBackground: "connectorLineBackground", connectorLineWidth: "connectorLineWidth", contextMenuItems: "contextMenuItems", dataSource: "dataSource", dateFormat: "dateFormat", dayWorkingTime: "dayWorkingTime", disableHtmlEncode: "disableHtmlEncode", durationUnit: "durationUnit", editDialogFields: "editDialogFields", editSettings: "editSettings", enableContextMenu: "enableContextMenu", enableCriticalPath: "enableCriticalPath", enableImmutableMode: "enableImmutableMode", enableMultiTaskbar: "enableMultiTaskbar", enablePersistence: "enablePersistence", enablePredecessorValidation: "enablePredecessorValidation", enableRtl: "enableRtl", enableVirtualization: "enableVirtualization", eventMarkers: "eventMarkers", filterSettings: "filterSettings", gridLines: "gridLines", height: "height", highlightWeekends: "highlightWeekends", holidays: "holidays", includeWeekend: "includeWeekend", labelSettings: "labelSettings", locale: "locale", milestoneTemplate: "milestoneTemplate", parentTaskbarTemplate: "parentTaskbarTemplate", projectEndDate: "projectEndDate", projectStartDate: "projectStartDate", query: "query", readOnly: "readOnly", renderBaseline: "renderBaseline", resourceFields: "resourceFields", resourceIDMapping: "resourceIDMapping", resourceNameMapping: "resourceNameMapping", resources: "resources", rowHeight: "rowHeight", searchSettings: "searchSettings", segmentData: "segmentData", selectedRowIndex: "selectedRowIndex", selectionSettings: "selectionSettings", showColumnMenu: "showColumnMenu", showInlineNotes: "showInlineNotes", showOverAllocation: "showOverAllocation", sortSettings: "sortSettings", splitterSettings: "splitterSettings", taskFields: "taskFields", taskMode: "taskMode", taskType: "taskType", taskbarHeight: "taskbarHeight", taskbarTemplate: "taskbarTemplate", timelineSettings: "timelineSettings", timezone: "timezone", toolbar: "toolbar", tooltipSettings: "tooltipSettings", treeColumnIndex: "treeColumnIndex", validateManualTasksOnLinking: "validateManualTasksOnLinking", viewType: "viewType", width: "width", workUnit: "workUnit", workWeek: "workWeek" }, outputs: { actionBegin: "actionBegin", actionComplete: "actionComplete", actionFailure: "actionFailure", beforeExcelExport: "beforeExcelExport", beforePdfExport: "beforePdfExport", beforeTooltipRender: "beforeTooltipRender", cellDeselected: "cellDeselected", cellDeselecting: "cellDeselecting", cellEdit: "cellEdit", cellSelected: "cellSelected", cellSelecting: "cellSelecting", collapsed: "collapsed", collapsing: "collapsing", columnDrag: "columnDrag", columnDragStart: "columnDragStart", columnDrop: "columnDrop", columnMenuClick: "columnMenuClick", columnMenuOpen: "columnMenuOpen", contextMenuClick: "contextMenuClick", contextMenuOpen: "contextMenuOpen", created: "created", dataBound: "dataBound", dataStateChange: "dataStateChange", destroyed: "destroyed", endEdit: "endEdit", excelExportComplete: "excelExportComplete", excelHeaderQueryCellInfo: "excelHeaderQueryCellInfo", excelQueryCellInfo: "excelQueryCellInfo", expanded: "expanded", expanding: "expanding", headerCellInfo: "headerCellInfo", load: "load", onMouseMove: "onMouseMove", onTaskbarClick: "onTaskbarClick", pdfColumnHeaderQueryCellInfo: "pdfColumnHeaderQueryCellInfo", pdfExportComplete: "pdfExportComplete", pdfQueryCellInfo: "pdfQueryCellInfo", pdfQueryTaskbarInfo: "pdfQueryTaskbarInfo", pdfQueryTimelineCellInfo: "pdfQueryTimelineCellInfo", queryCellInfo: "queryCellInfo", queryTaskbarInfo: "queryTaskbarInfo", recordDoubleClick: "recordDoubleClick", resizeStart: "resizeStart", resizeStop: "resizeStop", resizing: "resizing", rowDataBound: "rowDataBound", rowDeselected: "rowDeselected", rowDeselecting: "rowDeselecting", rowDrag: "rowDrag", rowDragStart: "rowDragStart", rowDragStartHelper: "rowDragStartHelper", rowDrop: "rowDrop", rowSelected: "rowSelected", rowSelecting: "rowSelecting", splitterResizeStart: "splitterResizeStart", splitterResized: "splitterResized", splitterResizing: "splitterResizing", taskbarEdited: "taskbarEdited", taskbarEditing: "taskbarEditing", toolbarClick: "toolbarClick", dataSourceChange: "dataSourceChange" }, queries: [{ propertyName: "parentTaskbarTemplate", first: true, predicate: ["parentTaskbarTemplate"], descendants: true }, { propertyName: "milestoneTemplate", first: true, predicate: ["milestoneTemplate"], descendants: true }, { propertyName: "taskbarTemplate", first: true, predicate: ["taskbarTemplate"], descendants: true }, { propertyName: "labelSettings_rightLabel", first: true, predicate: ["labelSettingsRightLabel"], descendants: true }, { propertyName: "labelSettings_leftLabel", first: true, predicate: ["labelSettingsLeftLabel"], descendants: true }, { propertyName: "labelSettings_taskLabel", first: true, predicate: ["labelSettingsTaskLabel"], descendants: true }, { propertyName: "tooltipSettings_taskbar", first: true, predicate: ["tooltipSettingsTaskbar"], descendants: true }, { propertyName: "tooltipSettings_baseline", first: true, predicate: ["tooltipSettingsBaseline"], descendants: true }, { propertyName: "tooltipSettings_connectorLine", first: true, predicate: ["tooltipSettingsConnectorLine"], descendants: true }, { propertyName: "tooltipSettings_editing", first: true, predicate: ["tooltipSettingsEditing"], descendants: true }, { propertyName: "childColumns", first: true, predicate: ColumnsDirective, descendants: true }, { propertyName: "childAddDialogFields", first: true, predicate: AddDialogFieldsDirective, descendants: true }, { propertyName: "childEditDialogFields", first: true, predicate: EditDialogFieldsDirective, descendants: true }, { propertyName: "childDayWorkingTime", first: true, predicate: DayWorkingTimeCollectionDirective, descendants: true }, { propertyName: "childHolidays", first: true, predicate: HolidaysDirective, descendants: true }, { propertyName: "childEventMarkers", first: true, predicate: EventMarkersDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
172
+ GanttComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: GanttComponent, selector: "ejs-gantt", inputs: { addDialogFields: "addDialogFields", allowExcelExport: "allowExcelExport", allowFiltering: "allowFiltering", allowKeyboard: "allowKeyboard", allowPdfExport: "allowPdfExport", allowReordering: "allowReordering", allowResizing: "allowResizing", allowRowDragAndDrop: "allowRowDragAndDrop", allowSelection: "allowSelection", allowSorting: "allowSorting", allowUnscheduledTasks: "allowUnscheduledTasks", autoFocusTasks: "autoFocusTasks", baselineColor: "baselineColor", collapseAllParentTasks: "collapseAllParentTasks", columnMenuItems: "columnMenuItems", columns: "columns", connectorLineBackground: "connectorLineBackground", connectorLineWidth: "connectorLineWidth", contextMenuItems: "contextMenuItems", dataSource: "dataSource", dateFormat: "dateFormat", dayWorkingTime: "dayWorkingTime", disableHtmlEncode: "disableHtmlEncode", durationUnit: "durationUnit", editDialogFields: "editDialogFields", editSettings: "editSettings", enableContextMenu: "enableContextMenu", enableCriticalPath: "enableCriticalPath", enableImmutableMode: "enableImmutableMode", enableMultiTaskbar: "enableMultiTaskbar", enablePersistence: "enablePersistence", enablePredecessorValidation: "enablePredecessorValidation", enableRtl: "enableRtl", enableVirtualMaskRow: "enableVirtualMaskRow", enableVirtualization: "enableVirtualization", eventMarkers: "eventMarkers", filterSettings: "filterSettings", gridLines: "gridLines", height: "height", highlightWeekends: "highlightWeekends", holidays: "holidays", includeWeekend: "includeWeekend", labelSettings: "labelSettings", loadingIndicator: "loadingIndicator", locale: "locale", milestoneTemplate: "milestoneTemplate", parentTaskbarTemplate: "parentTaskbarTemplate", projectEndDate: "projectEndDate", projectStartDate: "projectStartDate", query: "query", readOnly: "readOnly", renderBaseline: "renderBaseline", resourceFields: "resourceFields", resourceIDMapping: "resourceIDMapping", resourceNameMapping: "resourceNameMapping", resources: "resources", rowHeight: "rowHeight", searchSettings: "searchSettings", segmentData: "segmentData", selectedRowIndex: "selectedRowIndex", selectionSettings: "selectionSettings", showColumnMenu: "showColumnMenu", showInlineNotes: "showInlineNotes", showOverAllocation: "showOverAllocation", sortSettings: "sortSettings", splitterSettings: "splitterSettings", taskFields: "taskFields", taskMode: "taskMode", taskType: "taskType", taskbarHeight: "taskbarHeight", taskbarTemplate: "taskbarTemplate", timelineSettings: "timelineSettings", timezone: "timezone", toolbar: "toolbar", tooltipSettings: "tooltipSettings", treeColumnIndex: "treeColumnIndex", validateManualTasksOnLinking: "validateManualTasksOnLinking", viewType: "viewType", width: "width", workUnit: "workUnit", workWeek: "workWeek" }, outputs: { actionBegin: "actionBegin", actionComplete: "actionComplete", actionFailure: "actionFailure", beforeExcelExport: "beforeExcelExport", beforePdfExport: "beforePdfExport", beforeTooltipRender: "beforeTooltipRender", cellDeselected: "cellDeselected", cellDeselecting: "cellDeselecting", cellEdit: "cellEdit", cellSelected: "cellSelected", cellSelecting: "cellSelecting", collapsed: "collapsed", collapsing: "collapsing", columnDrag: "columnDrag", columnDragStart: "columnDragStart", columnDrop: "columnDrop", columnMenuClick: "columnMenuClick", columnMenuOpen: "columnMenuOpen", contextMenuClick: "contextMenuClick", contextMenuOpen: "contextMenuOpen", created: "created", dataBound: "dataBound", dataStateChange: "dataStateChange", destroyed: "destroyed", endEdit: "endEdit", excelExportComplete: "excelExportComplete", excelHeaderQueryCellInfo: "excelHeaderQueryCellInfo", excelQueryCellInfo: "excelQueryCellInfo", expanded: "expanded", expanding: "expanding", headerCellInfo: "headerCellInfo", load: "load", onMouseMove: "onMouseMove", onTaskbarClick: "onTaskbarClick", pdfColumnHeaderQueryCellInfo: "pdfColumnHeaderQueryCellInfo", pdfExportComplete: "pdfExportComplete", pdfQueryCellInfo: "pdfQueryCellInfo", pdfQueryTaskbarInfo: "pdfQueryTaskbarInfo", pdfQueryTimelineCellInfo: "pdfQueryTimelineCellInfo", queryCellInfo: "queryCellInfo", queryTaskbarInfo: "queryTaskbarInfo", recordDoubleClick: "recordDoubleClick", resizeStart: "resizeStart", resizeStop: "resizeStop", resizing: "resizing", rowDataBound: "rowDataBound", rowDeselected: "rowDeselected", rowDeselecting: "rowDeselecting", rowDrag: "rowDrag", rowDragStart: "rowDragStart", rowDragStartHelper: "rowDragStartHelper", rowDrop: "rowDrop", rowSelected: "rowSelected", rowSelecting: "rowSelecting", splitterResizeStart: "splitterResizeStart", splitterResized: "splitterResized", splitterResizing: "splitterResizing", taskbarEdited: "taskbarEdited", taskbarEditing: "taskbarEditing", toolbarClick: "toolbarClick", dataSourceChange: "dataSourceChange" }, queries: [{ propertyName: "parentTaskbarTemplate", first: true, predicate: ["parentTaskbarTemplate"], descendants: true }, { propertyName: "milestoneTemplate", first: true, predicate: ["milestoneTemplate"], descendants: true }, { propertyName: "taskbarTemplate", first: true, predicate: ["taskbarTemplate"], descendants: true }, { propertyName: "labelSettings_rightLabel", first: true, predicate: ["labelSettingsRightLabel"], descendants: true }, { propertyName: "labelSettings_leftLabel", first: true, predicate: ["labelSettingsLeftLabel"], descendants: true }, { propertyName: "labelSettings_taskLabel", first: true, predicate: ["labelSettingsTaskLabel"], descendants: true }, { propertyName: "tooltipSettings_taskbar", first: true, predicate: ["tooltipSettingsTaskbar"], descendants: true }, { propertyName: "tooltipSettings_baseline", first: true, predicate: ["tooltipSettingsBaseline"], descendants: true }, { propertyName: "tooltipSettings_connectorLine", first: true, predicate: ["tooltipSettingsConnectorLine"], descendants: true }, { propertyName: "tooltipSettings_editing", first: true, predicate: ["tooltipSettingsEditing"], descendants: true }, { propertyName: "childColumns", first: true, predicate: ColumnsDirective, descendants: true }, { propertyName: "childAddDialogFields", first: true, predicate: AddDialogFieldsDirective, descendants: true }, { propertyName: "childEditDialogFields", first: true, predicate: EditDialogFieldsDirective, descendants: true }, { propertyName: "childDayWorkingTime", first: true, predicate: DayWorkingTimeCollectionDirective, descendants: true }, { propertyName: "childHolidays", first: true, predicate: HolidaysDirective, descendants: true }, { propertyName: "childEventMarkers", first: true, predicate: EventMarkersDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
173
173
  __decorate([
174
174
  Template()
175
175
  ], GanttComponent.prototype, "parentTaskbarTemplate", void 0);
@@ -252,4 +252,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
252
252
  type: ContentChild,
253
253
  args: ['tooltipSettingsEditing']
254
254
  }] } });
255
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FudHQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2dhbnR0L2dhbnR0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBZ0MsdUJBQXVCLEVBQWlELFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5SixPQUFPLEVBQUUsYUFBYSxFQUErQixlQUFlLEVBQTBCLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdJLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdkUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDekUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBRWpFLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBYSxDQUFDLGlCQUFpQixFQUFDLGtCQUFrQixFQUFDLGdCQUFnQixFQUFDLGVBQWUsRUFBQyxnQkFBZ0IsRUFBQyxpQkFBaUIsRUFBQyxlQUFlLEVBQUMscUJBQXFCLEVBQUMsZ0JBQWdCLEVBQUMsY0FBYyxFQUFDLHVCQUF1QixFQUFDLGdCQUFnQixFQUFDLGVBQWUsRUFBQyx3QkFBd0IsRUFBQyxpQkFBaUIsRUFBQyxTQUFTLEVBQUMseUJBQXlCLEVBQUMsb0JBQW9CLEVBQUMsa0JBQWtCLEVBQUMsWUFBWSxFQUFDLFlBQVksRUFBQyxnQkFB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RUFBRSxJQUFJLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQzt3QkFDbEQsaUJBQWlCLEVBQUUsSUFBSSxZQUFZLENBQUMscUJBQXFCLENBQUM7cUJBQzdEO2lCQUNKOytLQStFVSxxQkFBcUI7c0JBRjNCLFlBQVk7dUJBQUMsdUJBQXVCO2dCQVM5QixpQkFBaUI7c0JBRnZCLFlBQVk7dUJBQUMsbUJBQW1CO2dCQVMxQixlQUFlO3NCQUZyQixZQUFZO3VCQUFDLGlCQUFpQjtnQkFLeEIsd0JBQXdCO3NCQUY5QixZQUFZO3VCQUFDLHlCQUF5QjtnQkFLaEMsdUJBQXVCO3NCQUY3QixZQUFZO3VCQUFDLHdCQUF3QjtnQkFLL0IsdUJBQXVCO3NCQUY3QixZQUFZO3VCQUFDLHdCQUF3QjtnQkFLL0IsdUJBQXVCO3NCQUY3QixZQUFZO3VCQUFDLHdCQUF3QjtnQkFLL0Isd0JBQXdCO3NCQUY5QixZQUFZO3VCQUFDLHlCQUF5QjtnQkFLaEMsNkJBQTZCO3NCQUZuQyxZQUFZO3VCQUFDLDhCQUE4QjtnQkFLckMsdUJBQXVCO3NCQUY3QixZQUFZO3VCQUFDLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgVmlld0NvbnRhaW5lclJlZiwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIFF1ZXJ5TGlzdCwgUmVuZGVyZXIyLCBJbmplY3RvciwgVmFsdWVQcm92aWRlciwgQ29udGVudENoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnRCYXNlLCBJQ29tcG9uZW50QmFzZSwgYXBwbHlNaXhpbnMsIENvbXBvbmVudE1peGlucywgUHJvcGVydHlDb2xsZWN0aW9uSW5mbywgc2V0VmFsdWUgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYW5ndWxhci1iYXNlJztcbmltcG9ydCB7IEdhbnR0IH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWdhbnR0JztcbmltcG9ydCB7IFRlbXBsYXRlIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItYmFzZSc7XG5pbXBvcnQgeyBDb2x1bW5zRGlyZWN0aXZlIH0gZnJvbSAnLi9jb2x1bW5zLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBBZGREaWFsb2dGaWVsZHNEaXJlY3RpdmUgfSBmcm9tICcuL2FkZGRpYWxvZ2ZpZWxkcy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRWRpdERpYWxvZ0ZpZWxkc0RpcmVjdGl2ZSB9IGZyb20gJy4vZWRpdGRpYWxvZ2ZpZWxkcy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRGF5V29ya2luZ1RpbWVDb2xsZWN0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi9kYXl3b3JraW5ndGltZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSG9saWRheXNEaXJlY3RpdmUgfSBmcm9tICcuL2hvbGlkYXlzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBFdmVudE1hcmtlcnNEaXJlY3RpdmUgfSBmcm9tICcuL2V2ZW50bWFya2Vycy5kaXJlY3RpdmUnO1xuXG5leHBvcnQgY29uc3QgaW5wdXRzOiBzdHJpbmdbXSA9IFsnYWRkRGlhbG9nRmllbGRzJywnYWxsb3dFeGNlbEV4cG9ydCcsJ2FsbG93RmlsdGVyaW5nJywnYWxsb3dLZXlib2FyZCcsJ2FsbG93UGRmRXhwb3J0JywnYWxsb3dSZW9yZGVyaW5nJywnYWxsb3dSZXNpemluZycsJ2FsbG93Um93RHJhZ0FuZERyb3AnLCdhbGxvd1NlbGVjdGlvbicsJ2FsbG93U29ydGluZycsJ2FsbG93VW5zY2hlZHVsZWRUYXNrcycsJ2F1dG9Gb2N1c1Rhc2tzJywnYmFzZWxpbmVDb2xvcicsJ2NvbGxhcHNlQWxsUGFyZW50VGFza3MnLCdjb2x1bW5NZW51SXRlbXMnLCdjb2x1bW5zJywnY29ubmVjdG9yTGluZUJhY2tncm91bmQnLCdjb25uZWN0b3JMaW5lV2lkdGgnLCdjb250ZXh0TWVudUl0ZW1zJywnZGF0YVNvdXJjZScsJ2RhdGVGb3JtYXQnLCdkYXlXb3JraW5nVGltZScsJ2Rpc2FibGVIdG1sRW5jb2RlJywnZHVyYXRpb25Vbml0JywnZWRpdERpYWxvZ0ZpZWxkcycsJ2VkaXRTZXR0aW5ncycsJ2VuYWJsZUNvbnRleHRNZW51JywnZW5hYmxlQ3JpdGljYWxQYXRoJywnZW5hYmxlSW1tdXRhYmxlTW9kZScsJ2VuYWJsZU11bHRpVGFza2JhcicsJ2VuYWJsZVBlcnNpc3RlbmNlJywnZW5hYmxlUHJlZGVjZXNzb3JWYWxpZGF0aW9uJywnZW5hYmxlUnRsJywnZW5hYmxlVmlydHVhbGl6YXRpb24nLCdldmVudE1hcmtlcnMnLCdmaWx0ZXJTZXR0aW5ncycsJ2dyaWRMaW5lcycsJ2hlaWdodCcsJ2hpZ2hsaWdodFdlZWtlbmRzJywnaG9saWRheXMnLCdpbmNsdWRlV2Vla2VuZCcsJ2xhYmVsU2V0dGluZ3MnLCdsb2NhbGUnLCdtaWxlc3RvbmVUZW1wbGF0ZScsJ3BhcmVudFRhc2tiYXJUZW1wbGF0ZScsJ3Byb2plY3RFbmREYXRlJywncHJvamVjdFN0YXJ0RGF0ZScsJ3F1ZXJ5JywncmVhZE9ubHknLCdyZW5kZXJCYXNlbGluZScsJ3Jlc291cmNlRmllbGRzJywncmVzb3VyY2VJRE1hcHBpbmcnLCdyZXNvdXJjZU5hbWVNYXBwaW5nJywncmVzb3VyY2VzJywncm93SGVpZ2h0Jywnc2VhcmNoU2V0dGluZ3MnLCdzZWdtZW50RGF0YScsJ3NlbGVjdGVkUm93SW5kZXgnLCdzZWxlY3Rpb25TZXR0aW5ncycsJ3Nob3dDb2x1bW5NZW51Jywnc2hvd0lubGluZU5vdGVzJywnc2hvd092ZXJBbGxvY2F0aW9uJywnc29ydFNldHRpbmdzJywnc3BsaXR0ZXJTZXR0aW5ncycsJ3Rhc2tGaWVsZHMnLCd0YXNrTW9kZScsJ3Rhc2tUeXBlJywndGFza2JhckhlaWdodCcsJ3Rhc2tiYXJUZW1wbGF0ZScsJ3RpbWVsaW5lU2V0dGluZ3MnLCd0aW1lem9uZScsJ3Rvb2xiYXInLCd0b29sdGlwU2V0dGluZ3MnLCd0cmVlQ29sdW1uSW5kZXgnLCd2YWxpZGF0ZU1hbnVhbFRhc2tzT25MaW5raW5nJywndmlld1R5cGUnLCd3aWR0aCcsJ3dvcmtVbml0Jywnd29ya1dlZWsnXTtcbmV4cG9ydCBjb25zdCBvdXRwdXRzOiBzdHJpbmdbXSA9IFsnYWN0aW9uQmVnaW4nLCdhY3Rpb25Db21wbGV0ZScsJ2FjdGlvbkZhaWx1cmUnLCdiZWZvcmVFeGNlbEV4cG9ydCcsJ2JlZm9yZVBkZkV4cG9ydCcsJ2JlZm9yZVRvb2x0aXBSZW5kZXInLCdjZWxsRGVzZWxlY3RlZCcsJ2NlbGxEZXNlbGVjdGluZycsJ2NlbGxFZGl0JywnY2VsbFNlbGVjdGVkJywnY2VsbFNlbGVjdGluZycsJ2NvbGxhcHNlZCcsJ2NvbGxhcHNpbmcnLCdjb2x1bW5EcmFnJywnY29sdW1uRHJhZ1N0YXJ0JywnY29sdW1uRHJvcCcsJ2NvbHVtbk1lbnVDbGljaycsJ2NvbHVtbk1lbnVPcGVuJywnY29udGV4dE1lbnVDbGljaycsJ2NvbnRleHRNZW51T3BlbicsJ2NyZWF0ZWQnLCdkYXRhQm91bmQnLCdkYXRhU3RhdGVDaGFuZ2UnLCdkZXN0cm95ZWQnLCdlbmRFZGl0JywnZXhjZWxFeHBvcnRDb21wbGV0ZScsJ2V4Y2VsSGVhZGVyUXVlcnlDZWxsSW5mbycsJ2V4Y2VsUXVlcnlDZWxsSW5mbycsJ2V4cGFuZGVkJywnZXhwYW5kaW5nJywnaGVhZGVyQ2VsbEluZm8nLCdsb2FkJywnb25Nb3VzZU1vdmUnLCdvblRhc2tiYXJDbGljaycsJ3BkZkNvbHVtbkhlYWRlclF1ZXJ5Q2VsbEluZm8nLCdwZGZFeHBvcnRDb21wbGV0ZScsJ3BkZlF1ZXJ5Q2VsbEluZm8nLCdwZGZRdWVyeVRhc2tiYXJJbmZvJywncGRmUXVlcnlUaW1lbGluZUNlbGxJbmZvJywncXVlcnlDZWxsSW5mbycsJ3F1ZXJ5VGFza2JhckluZm8nLCdyZWNvcmREb3VibGVDbGljaycsJ3Jlc2l6ZVN0YXJ0JywncmVzaXplU3RvcCcsJ3Jlc2l6aW5nJywncm93RGF0YUJvdW5kJywncm93RGVzZWxlY3RlZCcsJ3Jvd0Rlc2VsZWN0aW5nJywncm93RHJhZycsJ3Jvd0RyYWdTdGFydCcsJ3Jvd0RyYWdTdGFydEhlbHBlcicsJ3Jvd0Ryb3AnLCdyb3dTZWxlY3RlZCcsJ3Jvd1NlbGVjdGluZycsJ3NwbGl0dGVyUmVzaXplU3RhcnQnLCdzcGxpdHRlclJlc2l6ZWQnLCdzcGxpdHRlclJlc2l6aW5nJywndGFza2JhckVkaXRlZCcsJ3Rhc2tiYXJFZGl0aW5nJywndG9vbGJhckNsaWNrJywnZGF0YVNvdXJjZUNoYW5nZSddO1xuZXhwb3J0IGNvbnN0IHR3b1dheXM6IHN0cmluZ1tdID0gWydkYXRhU291cmNlJ107XG5cbi8qKlxuICogYGVqcy1nYW50dGAgcmVwcmVzZW50cyB0aGUgQW5ndWxhciBHYW50dCBDb21wb25lbnQuXG4gKiBgYGBodG1sXG4gKiA8ZWpzLWdhbnR0IFtkYXRhU291cmNlXT0nZGF0YScgYWxsb3dTZWxlY3Rpb249J3RydWUnIGFsbG93U29ydGluZz0ndHJ1ZSc+PC9lanMtZ2FudHQ+XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlanMtZ2FudHQnLFxuICAgIGlucHV0czogaW5wdXRzLFxuICAgIG91dHB1dHM6IG91dHB1dHMsXG4gICAgdGVtcGxhdGU6ICcnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHF1ZXJpZXM6IHtcbiAgICAgICAgY2hpbGRDb2x1bW5zOiBuZXcgQ29udGVudENoaWxkKENvbHVtbnNEaXJlY3RpdmUpLCBcbiAgICAgICAgY2hpbGRBZGREaWFsb2dGaWVsZHM6IG5ldyBDb250ZW50Q2hpbGQoQWRkRGlhbG9nRmllbGRzRGlyZWN0aXZlKSwgXG4gICAgICAgIGNoaWxkRWRpdERpYWxvZ0ZpZWxkczogbmV3IENvbnRlbnRDaGlsZChFZGl0RGlhbG9nRmllbGRzRGlyZWN0aXZlKSwgXG4gICAgICAgIGNoaWxkRGF5V29ya2luZ1RpbWU6IG5ldyBDb250ZW50Q2hpbGQoRGF5V29ya2luZ1RpbWVDb2xsZWN0aW9uRGlyZWN0aXZlKSwgXG4gICAgICAgIGNoaWxkSG9saWRheXM6IG5ldyBDb250ZW50Q2hpbGQoSG9saWRheXNEaXJlY3RpdmUpLCBcbiAgICAgICAgY2hpbGRFdmVudE1hcmtlcnM6IG5ldyBDb250ZW50Q2hpbGQoRXZlbnRNYXJrZXJzRGlyZWN0aXZlKVxuICAgIH1cbn0pXG5AQ29tcG9uZW50TWl4aW5zKFtDb21wb25lbnRCYXNlXSlcbmV4cG9ydCBjbGFzcyBHYW50dENvbXBvbmVudCBleHRlbmRzIEdhbnR0IGltcGxlbWVudHMgSUNvbXBvbmVudEJhc2Uge1xuICAgIHB1YmxpYyBjb250ZXh0IDogYW55O1xuICAgIHB1YmxpYyB0YWdPYmplY3RzOiBhbnk7XG5cdGFjdGlvbkJlZ2luOiBhbnk7XG5cdGFjdGlvbkNvbXBsZXRlOiBhbnk7XG5cdGFjdGlvbkZhaWx1cmU6IGFueTtcblx0YmVmb3JlRXhjZWxFeHBvcnQ6IGFueTtcblx0YmVmb3JlUGRmRXhwb3J0OiBhbnk7XG5cdGJlZm9yZVRvb2x0aXBSZW5kZXI6IGFueTtcblx0Y2VsbERlc2VsZWN0ZWQ6IGFueTtcblx0Y2VsbERlc2VsZWN0aW5nOiBhbnk7XG5cdGNlbGxFZGl0OiBhbnk7XG5cdGNlbGxTZWxlY3RlZDogYW55O1xuXHRjZWxsU2VsZWN0aW5nOiBhbnk7XG5cdGNvbGxhcHNlZDogYW55O1xuXHRjb2xsYXBzaW5nOiBhbnk7XG5cdGNvbHVtbkRyYWc6IGFueTtcblx0Y29sdW1uRHJhZ1N0YXJ0OiBhbnk7XG5cdGNvbHVtbkRyb3A6IGFueTtcblx0Y29sdW1uTWVudUNsaWNrOiBhbnk7XG5cdGNvbHVtbk1lbnVPcGVuOiBhbnk7XG5cdGNvbnRleHRNZW51Q2xpY2s6IGFueTtcblx0Y29udGV4dE1lbnVPcGVuOiBhbnk7XG5cdGNyZWF0ZWQ6IGFueTtcblx0ZGF0YUJvdW5kOiBhbnk7XG5cdGRhdGFTdGF0ZUNoYW5nZTogYW55O1xuXHRkZXN0cm95ZWQ6IGFueTtcblx0ZW5kRWRpdDogYW55O1xuXHRleGNlbEV4cG9ydENvbXBsZXRlOiBhbnk7XG5cdGV4Y2VsSGVhZGVyUXVlcnlDZWxsSW5mbzogYW55O1xuXHRleGNlbFF1ZXJ5Q2VsbEluZm86IGFueTtcblx0ZXhwYW5kZWQ6IGFueTtcblx0ZXhwYW5kaW5nOiBhbnk7XG5cdGhlYWRlckNlbGxJbmZvOiBhbnk7XG5cdGxvYWQ6IGFueTtcblx0b25Nb3VzZU1vdmU6IGFueTtcblx0b25UYXNrYmFyQ2xpY2s6IGFueTtcblx0cGRmQ29sdW1uSGVhZGVyUXVlcnlDZWxsSW5mbzogYW55O1xuXHRwZGZFeHBvcnRDb21wbGV0ZTogYW55O1xuXHRwZGZRdWVyeUNlbGxJbmZvOiBhbnk7XG5cdHBkZlF1ZXJ5VGFza2JhckluZm86IGFueTtcblx0cGRmUXVlcnlUaW1lbGluZUNlbGxJbmZvOiBhbnk7XG5cdHF1ZXJ5Q2VsbEluZm86IGFueTtcblx0cXVlcnlUYXNrYmFySW5mbzogYW55O1xuXHRyZWNvcmREb3VibGVDbGljazogYW55O1xuXHRyZXNpemVTdGFydDogYW55O1xuXHRyZXNpemVTdG9wOiBhbnk7XG5cdHJlc2l6aW5nOiBhbnk7XG5cdHJvd0RhdGFCb3VuZDogYW55O1xuXHRyb3dEZXNlbGVjdGVkOiBhbnk7XG5cdHJvd0Rlc2VsZWN0aW5nOiBhbnk7XG5cdHJvd0RyYWc6IGFueTtcblx0cm93RHJhZ1N0YXJ0OiBhbnk7XG5cdHJvd0RyYWdTdGFydEhlbHBlcjogYW55O1xuXHRyb3dEcm9wOiBhbnk7XG5cdHJvd1NlbGVjdGVkOiBhbnk7XG5cdHJvd1NlbGVjdGluZzogYW55O1xuXHRzcGxpdHRlclJlc2l6ZVN0YXJ0OiBhbnk7XG5cdHNwbGl0dGVyUmVzaXplZDogYW55O1xuXHRzcGxpdHRlclJlc2l6aW5nOiBhbnk7XG5cdHRhc2tiYXJFZGl0ZWQ6IGFueTtcblx0dGFza2JhckVkaXRpbmc6IGFueTtcblx0dG9vbGJhckNsaWNrOiBhbnk7XG5cdHB1YmxpYyBkYXRhU291cmNlQ2hhbmdlOiBhbnk7XG4gICAgcHVibGljIGNoaWxkQ29sdW1uczogUXVlcnlMaXN0PENvbHVtbnNEaXJlY3RpdmU+O1xuICAgIHB1YmxpYyBjaGlsZEFkZERpYWxvZ0ZpZWxkczogUXVlcnlMaXN0PEFkZERpYWxvZ0ZpZWxkc0RpcmVjdGl2ZT47XG4gICAgcHVibGljIGNoaWxkRWRpdERpYWxvZ0ZpZWxkczogUXVlcnlMaXN0PEVkaXREaWFsb2dGaWVsZHNEaXJlY3RpdmU+O1xuICAgIHB1YmxpYyBjaGlsZERheVdvcmtpbmdUaW1lOiBRdWVyeUxpc3Q8RGF5V29ya2luZ1RpbWVDb2xsZWN0aW9uRGlyZWN0aXZlPjtcbiAgICBwdWJsaWMgY2hpbGRIb2xpZGF5czogUXVlcnlMaXN0PEhvbGlkYXlzRGlyZWN0aXZlPjtcbiAgICBwdWJsaWMgY2hpbGRFdmVudE1hcmtlcnM6IFF1ZXJ5TGlzdDxFdmVudE1hcmtlcnNEaXJlY3RpdmU+O1xuICAgIHB1YmxpYyB0YWdzOiBzdHJpbmdbXSA9IFsnY29sdW1ucycsICdhZGREaWFsb2dGaWVsZHMnLCAnZWRpdERpYWxvZ0ZpZWxkcycsICdkYXlXb3JraW5nVGltZScsICdob2xpZGF5cycsICdldmVudE1hcmtlcnMnXTtcbiAgICAvKiogXG4gICAgICogVGhlIHBhcmVudCB0YXNrIGJhciB0ZW1wbGF0ZSB0aGF0IHJlbmRlcnMgY3VzdG9taXplZCBwYXJlbnQgdGFzayBiYXJzIGZyb20gdGhlIGdpdmVuIHRlbXBsYXRlLlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdwYXJlbnRUYXNrYmFyVGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIHBhcmVudFRhc2tiYXJUZW1wbGF0ZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGUgbWlsZXN0b25lIHRlbXBsYXRlIHRoYXQgcmVuZGVycyBjdXN0b21pemVkIG1pbGVzdG9uZSB0YXNrIGZyb20gdGhlIGdpdmVuIHRlbXBsYXRlLlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdtaWxlc3RvbmVUZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgbWlsZXN0b25lVGVtcGxhdGU6IGFueTtcbiAgICAvKiogXG4gICAgICogVGhlIHRhc2sgYmFyIHRlbXBsYXRlIHRoYXQgcmVuZGVycyBjdXN0b21pemVkIGNoaWxkIHRhc2sgYmFycyBmcm9tIHRoZSBnaXZlbiB0ZW1wbGF0ZS5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgndGFza2JhclRlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyB0YXNrYmFyVGVtcGxhdGU6IGFueTtcbiAgICBAQ29udGVudENoaWxkKCdsYWJlbFNldHRpbmdzUmlnaHRMYWJlbCcpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgbGFiZWxTZXR0aW5nc19yaWdodExhYmVsOiBhbnk7XG4gICAgQENvbnRlbnRDaGlsZCgnbGFiZWxTZXR0aW5nc0xlZnRMYWJlbCcpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgbGFiZWxTZXR0aW5nc19sZWZ0TGFiZWw6IGFueTtcbiAgICBAQ29udGVudENoaWxkKCdsYWJlbFNldHRpbmdzVGFza0xhYmVsJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyBsYWJlbFNldHRpbmdzX3Rhc2tMYWJlbDogYW55O1xuICAgIEBDb250ZW50Q2hpbGQoJ3Rvb2x0aXBTZXR0aW5nc1Rhc2tiYXInKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIHRvb2x0aXBTZXR0aW5nc190YXNrYmFyOiBhbnk7XG4gICAgQENvbnRlbnRDaGlsZCgndG9vbHRpcFNldHRpbmdzQmFzZWxpbmUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIHRvb2x0aXBTZXR0aW5nc19iYXNlbGluZTogYW55O1xuICAgIEBDb250ZW50Q2hpbGQoJ3Rvb2x0aXBTZXR0aW5nc0Nvbm5lY3RvckxpbmUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIHRvb2x0aXBTZXR0aW5nc19jb25uZWN0b3JMaW5lOiBhbnk7XG4gICAgQENvbnRlbnRDaGlsZCgndG9vbHRpcFNldHRpbmdzRWRpdGluZycpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgdG9vbHRpcFNldHRpbmdzX2VkaXRpbmc6IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbmdFbGU6IEVsZW1lbnRSZWYsIHByaXZhdGUgc3JlbmRlcmVyOiBSZW5kZXJlcjIsIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjpWaWV3Q29udGFpbmVyUmVmLCBwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmVsZW1lbnQgPSB0aGlzLm5nRWxlLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzID0gdGhpcy5pbmplY3RlZE1vZHVsZXMgfHwgW107XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdHYW50dEZpbHRlcicpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnR2FudHRTZWxlY3Rpb24nKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0dhbnR0U29ydCcpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnR2FudHRSZW9yZGVyJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdHYW50dFJlc2l6ZScpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnR2FudHRFZGl0Jyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdHYW50dERheU1hcmtlcnMnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0dhbnR0VG9vbGJhcicpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnR2FudHRDb250ZXh0TWVudScpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnR2FudHRFeGNlbEV4cG9ydCcpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnR2FudHRSb3dERCcpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnR2FudHRDb2x1bW5NZW51Jyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdHYW50dFBkZkV4cG9ydCcpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnR2FudHRWaXJ0dWFsU2Nyb2xsJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdHYW50dENyaXRpY2FsUGF0aCcpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyXG4gICAgICAgIHRoaXMucmVnaXN0ZXJFdmVudHMob3V0cHV0cyk7XG4gICAgICAgIHRoaXMuYWRkVHdvV2F5LmNhbGwodGhpcywgdHdvV2F5cyk7XG4gICAgICAgIHNldFZhbHVlKCdjdXJyZW50SW5zdGFuY2UnLCB0aGlzLCB0aGlzLnZpZXdDb250YWluZXJSZWYpO1xuICAgICAgICB0aGlzLmNvbnRleHQgID0gbmV3IENvbXBvbmVudEJhc2UoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuY29udGV4dC5uZ09uSW5pdCh0aGlzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbnRleHQubmdBZnRlclZpZXdJbml0KHRoaXMpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb250ZXh0Lm5nT25EZXN0cm95KHRoaXMpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ0FmdGVyQ29udGVudENoZWNrZWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGFnT2JqZWN0c1swXS5pbnN0YW5jZSA9IHRoaXMuY2hpbGRDb2x1bW5zO1xuICAgICAgICBcblx0ICAgIGlmICh0aGlzLmNoaWxkQWRkRGlhbG9nRmllbGRzKSB7XG4gICAgICAgICAgICB0aGlzLnRhZ09iamVjdHNbMV0uaW5zdGFuY2UgPSB0aGlzLmNoaWxkQWRkRGlhbG9nRmllbGRzO1xuICAgICAgICB9XG4gICAgICAgIFxuXHQgICAgaWYgKHRoaXMuY2hpbGRFZGl0RGlhbG9nRmllbGRzKSB7XG4gICAgICAgICAgICB0aGlzLnRhZ09iamVjdHNbMl0uaW5zdGFuY2UgPSB0aGlzLmNoaWxkRWRpdERpYWxvZ0ZpZWxkcztcbiAgICAgICAgfVxuICAgICAgICBcblx0ICAgIGlmICh0aGlzLmNoaWxkRGF5V29ya2luZ1RpbWUpIHtcbiAgICAgICAgICAgIHRoaXMudGFnT2JqZWN0c1szXS5pbnN0YW5jZSA9IHRoaXMuY2hpbGREYXlXb3JraW5nVGltZTtcbiAgICAgICAgfVxuICAgICAgICBcblx0ICAgIGlmICh0aGlzLmNoaWxkSG9saWRheXMpIHtcbiAgICAgICAgICAgIHRoaXMudGFnT2JqZWN0c1s0XS5pbnN0YW5jZSA9IHRoaXMuY2hpbGRIb2xpZGF5cztcbiAgICAgICAgfVxuICAgICAgICBcblx0ICAgIGlmICh0aGlzLmNoaWxkRXZlbnRNYXJrZXJzKSB7XG4gICAgICAgICAgICB0aGlzLnRhZ09iamVjdHNbNV0uaW5zdGFuY2UgPSB0aGlzLmNoaWxkRXZlbnRNYXJrZXJzO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY29udGV4dC5uZ0FmdGVyQ29udGVudENoZWNrZWQodGhpcyk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlZ2lzdGVyRXZlbnRzOiAoZXZlbnRMaXN0OiBzdHJpbmdbXSkgPT4gdm9pZDtcbiAgICBwdWJsaWMgYWRkVHdvV2F5OiAocHJvcExpc3Q6IHN0cmluZ1tdKSA9PiB2b2lkO1xufVxuXG4iXX0=
255
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FudHQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2dhbnR0L2dhbnR0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBZ0MsdUJBQXVCLEVBQWlELFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5SixPQUFPLEVBQUUsYUFBYSxFQUErQixlQUFlLEVBQTBCLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdJLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdkUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDekUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBRWpFLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBYSxDQUFDLGlCQUFpQixFQUFDLGtCQUFrQixFQUFDLGdCQUFnQixFQUFDLGVBQWUsRUFBQyxnQkFBZ0IsRUFBQyxpQkFBaUIsRUFBQyxlQUFlLEVBQUMscUJBQXFCLEVBQUMsZ0JBQWdCLEVBQUMsY0FBYyxFQUFDLHVCQUF1QixFQUFDLGdCQUFnQixFQUFDLGVBQWUsRUFBQyx3QkFBd0IsRUFBQyxpQkFBaUIsRUFBQyxTQUFTLEVBQUMseUJBQXlCLEVBQUMsb0JBQW9CLEVBQUMsa0JBQWtCLEVBQUMsWUFBWSxFQUFDLFlBQVksRUFBQyxnQkFB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aUNBQWlDLENBQUM7d0JBQ3hFLGFBQWEsRUFBRSxJQUFJLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQzt3QkFDbEQsaUJBQWlCLEVBQUUsSUFBSSxZQUFZLENBQUMscUJBQXFCLENBQUM7cUJBQzdEO2lCQUNKOytLQStFVSxxQkFBcUI7c0JBRjNCLFlBQVk7dUJBQUMsdUJBQXVCO2dCQVM5QixpQkFBaUI7c0JBRnZCLFlBQVk7dUJBQUMsbUJBQW1CO2dCQVMxQixlQUFlO3NCQUZyQixZQUFZO3VCQUFDLGlCQUFpQjtnQkFLeEIsd0JBQXdCO3NCQUY5QixZQUFZO3VCQUFDLHlCQUF5QjtnQkFLaEMsdUJBQXVCO3NCQUY3QixZQUFZO3VCQUFDLHdCQUF3QjtnQkFLL0IsdUJBQXVCO3NCQUY3QixZQUFZO3VCQUFDLHdCQUF3QjtnQkFLL0IsdUJBQXVCO3NCQUY3QixZQUFZO3VCQUFDLHdCQUF3QjtnQkFLL0Isd0JBQXdCO3NCQUY5QixZQUFZO3VCQUFDLHlCQUF5QjtnQkFLaEMsNkJBQTZCO3NCQUZuQyxZQUFZO3VCQUFDLDhCQUE4QjtnQkFLckMsdUJBQXVCO3NCQUY3QixZQUFZO3VCQUFDLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgVmlld0NvbnRhaW5lclJlZiwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIFF1ZXJ5TGlzdCwgUmVuZGVyZXIyLCBJbmplY3RvciwgVmFsdWVQcm92aWRlciwgQ29udGVudENoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnRCYXNlLCBJQ29tcG9uZW50QmFzZSwgYXBwbHlNaXhpbnMsIENvbXBvbmVudE1peGlucywgUHJvcGVydHlDb2xsZWN0aW9uSW5mbywgc2V0VmFsdWUgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYW5ndWxhci1iYXNlJztcbmltcG9ydCB7IEdhbnR0IH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWdhbnR0JztcbmltcG9ydCB7IFRlbXBsYXRlIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItYmFzZSc7XG5pbXBvcnQgeyBDb2x1bW5zRGlyZWN0aXZlIH0gZnJvbSAnLi9jb2x1bW5zLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBBZGREaWFsb2dGaWVsZHNEaXJlY3RpdmUgfSBmcm9tICcuL2FkZGRpYWxvZ2ZpZWxkcy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRWRpdERpYWxvZ0ZpZWxkc0RpcmVjdGl2ZSB9IGZyb20gJy4vZWRpdGRpYWxvZ2ZpZWxkcy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRGF5V29ya2luZ1RpbWVDb2xsZWN0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi9kYXl3b3JraW5ndGltZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSG9saWRheXNEaXJlY3RpdmUgfSBmcm9tICcuL2hvbGlkYXlzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBFdmVudE1hcmtlcnNEaXJlY3RpdmUgfSBmcm9tICcuL2V2ZW50bWFya2Vycy5kaXJlY3RpdmUnO1xuXG5leHBvcnQgY29uc3QgaW5wdXRzOiBzdHJpbmdbXSA9IFsnYWRkRGlhbG9nRmllbGRzJywnYWxsb3dFeGNlbEV4cG9ydCcsJ2FsbG93RmlsdGVyaW5nJywnYWxsb3dLZXlib2FyZCcsJ2FsbG93UGRmRXhwb3J0JywnYWxsb3dSZW9yZGVyaW5nJywnYWxsb3dSZXNpemluZycsJ2FsbG93Um93RHJhZ0FuZERyb3AnLCdhbGxvd1NlbGVjdGlvbicsJ2FsbG93U29ydGluZycsJ2FsbG93VW5zY2hlZHVsZWRUYXNrcycsJ2F1dG9Gb2N1c1Rhc2tzJywnYmFzZWxpbmVDb2xvcicsJ2NvbGxhcHNlQWxsUGFyZW50VGFza3MnLCdjb2x1bW5NZW51SXRlbXMnLCdjb2x1bW5zJywnY29ubmVjdG9yTGluZUJhY2tncm91bmQnLCdjb25uZWN0b3JMaW5lV2lkdGgnLCdjb250ZXh0TWVudUl0ZW1zJywnZGF0YVNvdXJjZScsJ2RhdGVGb3JtYXQnLCdkYXlXb3JraW5nVGltZScsJ2Rpc2FibGVIdG1sRW5jb2RlJywnZHVyYXRpb25Vbml0JywnZWRpdERpYWxvZ0ZpZWxkcycsJ2VkaXRTZXR0aW5ncycsJ2VuYWJsZUNvbnRleHRNZW51JywnZW5hYmxlQ3JpdGljYWxQYXRoJywnZW5hYmxlSW1tdXRhYmxlTW9kZScsJ2VuYWJsZU11bHRpVGFza2JhcicsJ2VuYWJsZVBlcnNpc3RlbmNlJywnZW5hYmxlUHJlZGVjZXNzb3JWYWxpZGF0aW9uJywnZW5hYmxlUnRsJywnZW5hYmxlVmlydHVhbE1hc2tSb3cnLCdlbmFibGVWaXJ0dWFsaXphdGlvbicsJ2V2ZW50TWFya2VycycsJ2ZpbHRlclNldHRpbmdzJywnZ3JpZExpbmVzJywnaGVpZ2h0JywnaGlnaGxpZ2h0V2Vla2VuZHMnLCdob2xpZGF5cycsJ2luY2x1ZGVXZWVrZW5kJywnbGFiZWxTZXR0aW5ncycsJ2xvYWRpbmdJbmRpY2F0b3InLCdsb2NhbGUnLCdtaWxlc3RvbmVUZW1wbGF0ZScsJ3BhcmVudFRhc2tiYXJUZW1wbGF0ZScsJ3Byb2plY3RFbmREYXRlJywncHJvamVjdFN0YXJ0RGF0ZScsJ3F1ZXJ5JywncmVhZE9ubHknLCdyZW5kZXJCYXNlbGluZScsJ3Jlc291cmNlRmllbGRzJywncmVzb3VyY2VJRE1hcHBpbmcnLCdyZXNvdXJjZU5hbWVNYXBwaW5nJywncmVzb3VyY2VzJywncm93SGVpZ2h0Jywnc2VhcmNoU2V0dGluZ3MnLCdzZWdtZW50RGF0YScsJ3NlbGVjdGVkUm93SW5kZXgnLCdzZWxlY3Rpb25TZXR0aW5ncycsJ3Nob3dDb2x1bW5NZW51Jywnc2hvd0lubGluZU5vdGVzJywnc2hvd092ZXJBbGxvY2F0aW9uJywnc29ydFNldHRpbmdzJywnc3BsaXR0ZXJTZXR0aW5ncycsJ3Rhc2tGaWVsZHMnLCd0YXNrTW9kZScsJ3Rhc2tUeXBlJywndGFza2JhckhlaWdodCcsJ3Rhc2tiYXJUZW1wbGF0ZScsJ3RpbWVsaW5lU2V0dGluZ3MnLCd0aW1lem9uZScsJ3Rvb2xiYXInLCd0b29sdGlwU2V0dGluZ3MnLCd0cmVlQ29sdW1uSW5kZXgnLCd2YWxpZGF0ZU1hbnVhbFRhc2tzT25MaW5raW5nJywndmlld1R5cGUnLCd3aWR0aCcsJ3dvcmtVbml0Jywnd29ya1dlZWsnXTtcbmV4cG9ydCBjb25zdCBvdXRwdXRzOiBzdHJpbmdbXSA9IFsnYWN0aW9uQmVnaW4nLCdhY3Rpb25Db21wbGV0ZScsJ2FjdGlvbkZhaWx1cmUnLCdiZWZvcmVFeGNlbEV4cG9ydCcsJ2JlZm9yZVBkZkV4cG9ydCcsJ2JlZm9yZVRvb2x0aXBSZW5kZXInLCdjZWxsRGVzZWxlY3RlZCcsJ2NlbGxEZXNlbGVjdGluZycsJ2NlbGxFZGl0JywnY2VsbFNlbGVjdGVkJywnY2VsbFNlbGVjdGluZycsJ2NvbGxhcHNlZCcsJ2NvbGxhcHNpbmcnLCdjb2x1bW5EcmFnJywnY29sdW1uRHJhZ1N0YXJ0JywnY29sdW1uRHJvcCcsJ2NvbHVtbk1lbnVDbGljaycsJ2NvbHVtbk1lbnVPcGVuJywnY29udGV4dE1lbnVDbGljaycsJ2NvbnRleHRNZW51T3BlbicsJ2NyZWF0ZWQnLCdkYXRhQm91bmQnLCdkYXRhU3RhdGVDaGFuZ2UnLCdkZXN0cm95ZWQnLCdlbmRFZGl0JywnZXhjZWxFeHBvcnRDb21wbGV0ZScsJ2V4Y2VsSGVhZGVyUXVlcnlDZWxsSW5mbycsJ2V4Y2VsUXVlcnlDZWxsSW5mbycsJ2V4cGFuZGVkJywnZXhwYW5kaW5nJywnaGVhZGVyQ2VsbEluZm8nLCdsb2FkJywnb25Nb3VzZU1vdmUnLCdvblRhc2tiYXJDbGljaycsJ3BkZkNvbHVtbkhlYWRlclF1ZXJ5Q2VsbEluZm8nLCdwZGZFeHBvcnRDb21wbGV0ZScsJ3BkZlF1ZXJ5Q2VsbEluZm8nLCdwZGZRdWVyeVRhc2tiYXJJbmZvJywncGRmUXVlcnlUaW1lbGluZUNlbGxJbmZvJywncXVlcnlDZWxsSW5mbycsJ3F1ZXJ5VGFza2JhckluZm8nLCdyZWNvcmREb3VibGVDbGljaycsJ3Jlc2l6ZVN0YXJ0JywncmVzaXplU3RvcCcsJ3Jlc2l6aW5nJywncm93RGF0YUJvdW5kJywncm93RGVzZWxlY3RlZCcsJ3Jvd0Rlc2VsZWN0aW5nJywncm93RHJhZycsJ3Jvd0RyYWdTdGFydCcsJ3Jvd0RyYWdTdGFydEhlbHBlcicsJ3Jvd0Ryb3AnLCdyb3dTZWxlY3RlZCcsJ3Jvd1NlbGVjdGluZycsJ3NwbGl0dGVyUmVzaXplU3RhcnQnLCdzcGxpdHRlclJlc2l6ZWQnLCdzcGxpdHRlclJlc2l6aW5nJywndGFza2JhckVkaXRlZCcsJ3Rhc2tiYXJFZGl0aW5nJywndG9vbGJhckNsaWNrJywnZGF0YVNvdXJjZUNoYW5nZSddO1xuZXhwb3J0IGNvbnN0IHR3b1dheXM6IHN0cmluZ1tdID0gWydkYXRhU291cmNlJ107XG5cbi8qKlxuICogYGVqcy1nYW50dGAgcmVwcmVzZW50cyB0aGUgQW5ndWxhciBHYW50dCBDb21wb25lbnQuXG4gKiBgYGBodG1sXG4gKiA8ZWpzLWdhbnR0IFtkYXRhU291cmNlXT0nZGF0YScgYWxsb3dTZWxlY3Rpb249J3RydWUnIGFsbG93U29ydGluZz0ndHJ1ZSc+PC9lanMtZ2FudHQ+XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlanMtZ2FudHQnLFxuICAgIGlucHV0czogaW5wdXRzLFxuICAgIG91dHB1dHM6IG91dHB1dHMsXG4gICAgdGVtcGxhdGU6ICcnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHF1ZXJpZXM6IHtcbiAgICAgICAgY2hpbGRDb2x1bW5zOiBuZXcgQ29udGVudENoaWxkKENvbHVtbnNEaXJlY3RpdmUpLCBcbiAgICAgICAgY2hpbGRBZGREaWFsb2dGaWVsZHM6IG5ldyBDb250ZW50Q2hpbGQoQWRkRGlhbG9nRmllbGRzRGlyZWN0aXZlKSwgXG4gICAgICAgIGNoaWxkRWRpdERpYWxvZ0ZpZWxkczogbmV3IENvbnRlbnRDaGlsZChFZGl0RGlhbG9nRmllbGRzRGlyZWN0aXZlKSwgXG4gICAgICAgIGNoaWxkRGF5V29ya2luZ1RpbWU6IG5ldyBDb250ZW50Q2hpbGQoRGF5V29ya2luZ1RpbWVDb2xsZWN0aW9uRGlyZWN0aXZlKSwgXG4gICAgICAgIGNoaWxkSG9saWRheXM6IG5ldyBDb250ZW50Q2hpbGQoSG9saWRheXNEaXJlY3RpdmUpLCBcbiAgICAgICAgY2hpbGRFdmVudE1hcmtlcnM6IG5ldyBDb250ZW50Q2hpbGQoRXZlbnRNYXJrZXJzRGlyZWN0aXZlKVxuICAgIH1cbn0pXG5AQ29tcG9uZW50TWl4aW5zKFtDb21wb25lbnRCYXNlXSlcbmV4cG9ydCBjbGFzcyBHYW50dENvbXBvbmVudCBleHRlbmRzIEdhbnR0IGltcGxlbWVudHMgSUNvbXBvbmVudEJhc2Uge1xuICAgIHB1YmxpYyBjb250ZXh0IDogYW55O1xuICAgIHB1YmxpYyB0YWdPYmplY3RzOiBhbnk7XG5cdGFjdGlvbkJlZ2luOiBhbnk7XG5cdGFjdGlvbkNvbXBsZXRlOiBhbnk7XG5cdGFjdGlvbkZhaWx1cmU6IGFueTtcblx0YmVmb3JlRXhjZWxFeHBvcnQ6IGFueTtcblx0YmVmb3JlUGRmRXhwb3J0OiBhbnk7XG5cdGJlZm9yZVRvb2x0aXBSZW5kZXI6IGFueTtcblx0Y2VsbERlc2VsZWN0ZWQ6IGFueTtcblx0Y2VsbERlc2VsZWN0aW5nOiBhbnk7XG5cdGNlbGxFZGl0OiBhbnk7XG5cdGNlbGxTZWxlY3RlZDogYW55O1xuXHRjZWxsU2VsZWN0aW5nOiBhbnk7XG5cdGNvbGxhcHNlZDogYW55O1xuXHRjb2xsYXBzaW5nOiBhbnk7XG5cdGNvbHVtbkRyYWc6IGFueTtcblx0Y29sdW1uRHJhZ1N0YXJ0OiBhbnk7XG5cdGNvbHVtbkRyb3A6IGFueTtcblx0Y29sdW1uTWVudUNsaWNrOiBhbnk7XG5cdGNvbHVtbk1lbnVPcGVuOiBhbnk7XG5cdGNvbnRleHRNZW51Q2xpY2s6IGFueTtcblx0Y29udGV4dE1lbnVPcGVuOiBhbnk7XG5cdGNyZWF0ZWQ6IGFueTtcblx0ZGF0YUJvdW5kOiBhbnk7XG5cdGRhdGFTdGF0ZUNoYW5nZTogYW55O1xuXHRkZXN0cm95ZWQ6IGFueTtcblx0ZW5kRWRpdDogYW55O1xuXHRleGNlbEV4cG9ydENvbXBsZXRlOiBhbnk7XG5cdGV4Y2VsSGVhZGVyUXVlcnlDZWxsSW5mbzogYW55O1xuXHRleGNlbFF1ZXJ5Q2VsbEluZm86IGFueTtcblx0ZXhwYW5kZWQ6IGFueTtcblx0ZXhwYW5kaW5nOiBhbnk7XG5cdGhlYWRlckNlbGxJbmZvOiBhbnk7XG5cdGxvYWQ6IGFueTtcblx0b25Nb3VzZU1vdmU6IGFueTtcblx0b25UYXNrYmFyQ2xpY2s6IGFueTtcblx0cGRmQ29sdW1uSGVhZGVyUXVlcnlDZWxsSW5mbzogYW55O1xuXHRwZGZFeHBvcnRDb21wbGV0ZTogYW55O1xuXHRwZGZRdWVyeUNlbGxJbmZvOiBhbnk7XG5cdHBkZlF1ZXJ5VGFza2JhckluZm86IGFueTtcblx0cGRmUXVlcnlUaW1lbGluZUNlbGxJbmZvOiBhbnk7XG5cdHF1ZXJ5Q2VsbEluZm86IGFueTtcblx0cXVlcnlUYXNrYmFySW5mbzogYW55O1xuXHRyZWNvcmREb3VibGVDbGljazogYW55O1xuXHRyZXNpemVTdGFydDogYW55O1xuXHRyZXNpemVTdG9wOiBhbnk7XG5cdHJlc2l6aW5nOiBhbnk7XG5cdHJvd0RhdGFCb3VuZDogYW55O1xuXHRyb3dEZXNlbGVjdGVkOiBhbnk7XG5cdHJvd0Rlc2VsZWN0aW5nOiBhbnk7XG5cdHJvd0RyYWc6IGFueTtcblx0cm93RHJhZ1N0YXJ0OiBhbnk7XG5cdHJvd0RyYWdTdGFydEhlbHBlcjogYW55O1xuXHRyb3dEcm9wOiBhbnk7XG5cdHJvd1NlbGVjdGVkOiBhbnk7XG5cdHJvd1NlbGVjdGluZzogYW55O1xuXHRzcGxpdHRlclJlc2l6ZVN0YXJ0OiBhbnk7XG5cdHNwbGl0dGVyUmVzaXplZDogYW55O1xuXHRzcGxpdHRlclJlc2l6aW5nOiBhbnk7XG5cdHRhc2tiYXJFZGl0ZWQ6IGFueTtcblx0dGFza2JhckVkaXRpbmc6IGFueTtcblx0dG9vbGJhckNsaWNrOiBhbnk7XG5cdHB1YmxpYyBkYXRhU291cmNlQ2hhbmdlOiBhbnk7XG4gICAgcHVibGljIGNoaWxkQ29sdW1uczogUXVlcnlMaXN0PENvbHVtbnNEaXJlY3RpdmU+O1xuICAgIHB1YmxpYyBjaGlsZEFkZERpYWxvZ0ZpZWxkczogUXVlcnlMaXN0PEFkZERpYWxvZ0ZpZWxkc0RpcmVjdGl2ZT47XG4gICAgcHVibGljIGNoaWxkRWRpdERpYWxvZ0ZpZWxkczogUXVlcnlMaXN0PEVkaXREaWFsb2dGaWVsZHNEaXJlY3RpdmU+O1xuICAgIHB1YmxpYyBjaGlsZERheVdvcmtpbmdUaW1lOiBRdWVyeUxpc3Q8RGF5V29ya2luZ1RpbWVDb2xsZWN0aW9uRGlyZWN0aXZlPjtcbiAgICBwdWJsaWMgY2hpbGRIb2xpZGF5czogUXVlcnlMaXN0PEhvbGlkYXlzRGlyZWN0aXZlPjtcbiAgICBwdWJsaWMgY2hpbGRFdmVudE1hcmtlcnM6IFF1ZXJ5TGlzdDxFdmVudE1hcmtlcnNEaXJlY3RpdmU+O1xuICAgIHB1YmxpYyB0YWdzOiBzdHJpbmdbXSA9IFsnY29sdW1ucycsICdhZGREaWFsb2dGaWVsZHMnLCAnZWRpdERpYWxvZ0ZpZWxkcycsICdkYXlXb3JraW5nVGltZScsICdob2xpZGF5cycsICdldmVudE1hcmtlcnMnXTtcbiAgICAvKiogXG4gICAgICogVGhlIHBhcmVudCB0YXNrIGJhciB0ZW1wbGF0ZSB0aGF0IHJlbmRlcnMgY3VzdG9taXplZCBwYXJlbnQgdGFzayBiYXJzIGZyb20gdGhlIGdpdmVuIHRlbXBsYXRlLlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdwYXJlbnRUYXNrYmFyVGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIHBhcmVudFRhc2tiYXJUZW1wbGF0ZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGUgbWlsZXN0b25lIHRlbXBsYXRlIHRoYXQgcmVuZGVycyBjdXN0b21pemVkIG1pbGVzdG9uZSB0YXNrIGZyb20gdGhlIGdpdmVuIHRlbXBsYXRlLlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdtaWxlc3RvbmVUZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgbWlsZXN0b25lVGVtcGxhdGU6IGFueTtcbiAgICAvKiogXG4gICAgICogVGhlIHRhc2sgYmFyIHRlbXBsYXRlIHRoYXQgcmVuZGVycyBjdXN0b21pemVkIGNoaWxkIHRhc2sgYmFycyBmcm9tIHRoZSBnaXZlbiB0ZW1wbGF0ZS5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgndGFza2JhclRlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyB0YXNrYmFyVGVtcGxhdGU6IGFueTtcbiAgICBAQ29udGVudENoaWxkKCdsYWJlbFNldHRpbmdzUmlnaHRMYWJlbCcpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgbGFiZWxTZXR0aW5nc19yaWdodExhYmVsOiBhbnk7XG4gICAgQENvbnRlbnRDaGlsZCgnbGFiZWxTZXR0aW5nc0xlZnRMYWJlbCcpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgbGFiZWxTZXR0aW5nc19sZWZ0TGFiZWw6IGFueTtcbiAgICBAQ29udGVudENoaWxkKCdsYWJlbFNldHRpbmdzVGFza0xhYmVsJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyBsYWJlbFNldHRpbmdzX3Rhc2tMYWJlbDogYW55O1xuICAgIEBDb250ZW50Q2hpbGQoJ3Rvb2x0aXBTZXR0aW5nc1Rhc2tiYXInKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIHRvb2x0aXBTZXR0aW5nc190YXNrYmFyOiBhbnk7XG4gICAgQENvbnRlbnRDaGlsZCgndG9vbHRpcFNldHRpbmdzQmFzZWxpbmUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIHRvb2x0aXBTZXR0aW5nc19iYXNlbGluZTogYW55O1xuICAgIEBDb250ZW50Q2hpbGQoJ3Rvb2x0aXBTZXR0aW5nc0Nvbm5lY3RvckxpbmUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIHRvb2x0aXBTZXR0aW5nc19jb25uZWN0b3JMaW5lOiBhbnk7XG4gICAgQENvbnRlbnRDaGlsZCgndG9vbHRpcFNldHRpbmdzRWRpdGluZycpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgdG9vbHRpcFNldHRpbmdzX2VkaXRpbmc6IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbmdFbGU6IEVsZW1lbnRSZWYsIHByaXZhdGUgc3JlbmRlcmVyOiBSZW5kZXJlcjIsIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjpWaWV3Q29udGFpbmVyUmVmLCBwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmVsZW1lbnQgPSB0aGlzLm5nRWxlLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzID0gdGhpcy5pbmplY3RlZE1vZHVsZXMgfHwgW107XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdHYW50dEZpbHRlcicpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnR2FudHRTZWxlY3Rpb24nKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0dhbnR0U29ydCcpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnR2FudHRSZW9yZGVyJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdHYW50dFJlc2l6ZScpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnR2FudHRFZGl0Jyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdHYW50dERheU1hcmtlcnMnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0dhbnR0VG9vbGJhcicpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnR2FudHRDb250ZXh0TWVudScpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnR2FudHRFeGNlbEV4cG9ydCcpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnR2FudHRSb3dERCcpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnR2FudHRDb2x1bW5NZW51Jyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdHYW50dFBkZkV4cG9ydCcpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnR2FudHRWaXJ0dWFsU2Nyb2xsJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdHYW50dENyaXRpY2FsUGF0aCcpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyXG4gICAgICAgIHRoaXMucmVnaXN0ZXJFdmVudHMob3V0cHV0cyk7XG4gICAgICAgIHRoaXMuYWRkVHdvV2F5LmNhbGwodGhpcywgdHdvV2F5cyk7XG4gICAgICAgIHNldFZhbHVlKCdjdXJyZW50SW5zdGFuY2UnLCB0aGlzLCB0aGlzLnZpZXdDb250YWluZXJSZWYpO1xuICAgICAgICB0aGlzLmNvbnRleHQgID0gbmV3IENvbXBvbmVudEJhc2UoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuY29udGV4dC5uZ09uSW5pdCh0aGlzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbnRleHQubmdBZnRlclZpZXdJbml0KHRoaXMpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb250ZXh0Lm5nT25EZXN0cm95KHRoaXMpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ0FmdGVyQ29udGVudENoZWNrZWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGFnT2JqZWN0c1swXS5pbnN0YW5jZSA9IHRoaXMuY2hpbGRDb2x1bW5zO1xuICAgICAgICBcblx0ICAgIGlmICh0aGlzLmNoaWxkQWRkRGlhbG9nRmllbGRzKSB7XG4gICAgICAgICAgICB0aGlzLnRhZ09iamVjdHNbMV0uaW5zdGFuY2UgPSB0aGlzLmNoaWxkQWRkRGlhbG9nRmllbGRzO1xuICAgICAgICB9XG4gICAgICAgIFxuXHQgICAgaWYgKHRoaXMuY2hpbGRFZGl0RGlhbG9nRmllbGRzKSB7XG4gICAgICAgICAgICB0aGlzLnRhZ09iamVjdHNbMl0uaW5zdGFuY2UgPSB0aGlzLmNoaWxkRWRpdERpYWxvZ0ZpZWxkcztcbiAgICAgICAgfVxuICAgICAgICBcblx0ICAgIGlmICh0aGlzLmNoaWxkRGF5V29ya2luZ1RpbWUpIHtcbiAgICAgICAgICAgIHRoaXMudGFnT2JqZWN0c1szXS5pbnN0YW5jZSA9IHRoaXMuY2hpbGREYXlXb3JraW5nVGltZTtcbiAgICAgICAgfVxuICAgICAgICBcblx0ICAgIGlmICh0aGlzLmNoaWxkSG9saWRheXMpIHtcbiAgICAgICAgICAgIHRoaXMudGFnT2JqZWN0c1s0XS5pbnN0YW5jZSA9IHRoaXMuY2hpbGRIb2xpZGF5cztcbiAgICAgICAgfVxuICAgICAgICBcblx0ICAgIGlmICh0aGlzLmNoaWxkRXZlbnRNYXJrZXJzKSB7XG4gICAgICAgICAgICB0aGlzLnRhZ09iamVjdHNbNV0uaW5zdGFuY2UgPSB0aGlzLmNoaWxkRXZlbnRNYXJrZXJzO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY29udGV4dC5uZ0FmdGVyQ29udGVudENoZWNrZWQodGhpcyk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlZ2lzdGVyRXZlbnRzOiAoZXZlbnRMaXN0OiBzdHJpbmdbXSkgPT4gdm9pZDtcbiAgICBwdWJsaWMgYWRkVHdvV2F5OiAocHJvcExpc3Q6IHN0cmluZ1tdKSA9PiB2b2lkO1xufVxuXG4iXX0=
@@ -347,7 +347,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
347
347
  }]
348
348
  }], ctorParameters: function () { return []; } });
349
349
 
350
- const inputs = ['addDialogFields', 'allowExcelExport', 'allowFiltering', 'allowKeyboard', 'allowPdfExport', 'allowReordering', 'allowResizing', 'allowRowDragAndDrop', 'allowSelection', 'allowSorting', 'allowUnscheduledTasks', 'autoFocusTasks', 'baselineColor', 'collapseAllParentTasks', 'columnMenuItems', 'columns', 'connectorLineBackground', 'connectorLineWidth', 'contextMenuItems', 'dataSource', 'dateFormat', 'dayWorkingTime', 'disableHtmlEncode', 'durationUnit', 'editDialogFields', 'editSettings', 'enableContextMenu', 'enableCriticalPath', 'enableImmutableMode', 'enableMultiTaskbar', 'enablePersistence', 'enablePredecessorValidation', 'enableRtl', 'enableVirtualization', 'eventMarkers', 'filterSettings', 'gridLines', 'height', 'highlightWeekends', 'holidays', 'includeWeekend', 'labelSettings', 'locale', 'milestoneTemplate', 'parentTaskbarTemplate', 'projectEndDate', 'projectStartDate', 'query', 'readOnly', 'renderBaseline', 'resourceFields', 'resourceIDMapping', 'resourceNameMapping', 'resources', 'rowHeight', 'searchSettings', 'segmentData', 'selectedRowIndex', 'selectionSettings', 'showColumnMenu', 'showInlineNotes', 'showOverAllocation', 'sortSettings', 'splitterSettings', 'taskFields', 'taskMode', 'taskType', 'taskbarHeight', 'taskbarTemplate', 'timelineSettings', 'timezone', 'toolbar', 'tooltipSettings', 'treeColumnIndex', 'validateManualTasksOnLinking', 'viewType', 'width', 'workUnit', 'workWeek'];
350
+ const inputs = ['addDialogFields', 'allowExcelExport', 'allowFiltering', 'allowKeyboard', 'allowPdfExport', 'allowReordering', 'allowResizing', 'allowRowDragAndDrop', 'allowSelection', 'allowSorting', 'allowUnscheduledTasks', 'autoFocusTasks', 'baselineColor', 'collapseAllParentTasks', 'columnMenuItems', 'columns', 'connectorLineBackground', 'connectorLineWidth', 'contextMenuItems', 'dataSource', 'dateFormat', 'dayWorkingTime', 'disableHtmlEncode', 'durationUnit', 'editDialogFields', 'editSettings', 'enableContextMenu', 'enableCriticalPath', 'enableImmutableMode', 'enableMultiTaskbar', 'enablePersistence', 'enablePredecessorValidation', 'enableRtl', 'enableVirtualMaskRow', 'enableVirtualization', 'eventMarkers', 'filterSettings', 'gridLines', 'height', 'highlightWeekends', 'holidays', 'includeWeekend', 'labelSettings', 'loadingIndicator', 'locale', 'milestoneTemplate', 'parentTaskbarTemplate', 'projectEndDate', 'projectStartDate', 'query', 'readOnly', 'renderBaseline', 'resourceFields', 'resourceIDMapping', 'resourceNameMapping', 'resources', 'rowHeight', 'searchSettings', 'segmentData', 'selectedRowIndex', 'selectionSettings', 'showColumnMenu', 'showInlineNotes', 'showOverAllocation', 'sortSettings', 'splitterSettings', 'taskFields', 'taskMode', 'taskType', 'taskbarHeight', 'taskbarTemplate', 'timelineSettings', 'timezone', 'toolbar', 'tooltipSettings', 'treeColumnIndex', 'validateManualTasksOnLinking', 'viewType', 'width', 'workUnit', 'workWeek'];
351
351
  const outputs = ['actionBegin', 'actionComplete', 'actionFailure', 'beforeExcelExport', 'beforePdfExport', 'beforeTooltipRender', 'cellDeselected', 'cellDeselecting', 'cellEdit', 'cellSelected', 'cellSelecting', 'collapsed', 'collapsing', 'columnDrag', 'columnDragStart', 'columnDrop', 'columnMenuClick', 'columnMenuOpen', 'contextMenuClick', 'contextMenuOpen', 'created', 'dataBound', 'dataStateChange', 'destroyed', 'endEdit', 'excelExportComplete', 'excelHeaderQueryCellInfo', 'excelQueryCellInfo', 'expanded', 'expanding', 'headerCellInfo', 'load', 'onMouseMove', 'onTaskbarClick', 'pdfColumnHeaderQueryCellInfo', 'pdfExportComplete', 'pdfQueryCellInfo', 'pdfQueryTaskbarInfo', 'pdfQueryTimelineCellInfo', 'queryCellInfo', 'queryTaskbarInfo', 'recordDoubleClick', 'resizeStart', 'resizeStop', 'resizing', 'rowDataBound', 'rowDeselected', 'rowDeselecting', 'rowDrag', 'rowDragStart', 'rowDragStartHelper', 'rowDrop', 'rowSelected', 'rowSelecting', 'splitterResizeStart', 'splitterResized', 'splitterResizing', 'taskbarEdited', 'taskbarEditing', 'toolbarClick', 'dataSourceChange'];
352
352
  const twoWays = ['dataSource'];
353
353
  /**
@@ -506,7 +506,7 @@ let GanttComponent = class GanttComponent extends Gantt {
506
506
  }
507
507
  };
508
508
  GanttComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: GanttComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ViewContainerRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
509
- GanttComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: GanttComponent, selector: "ejs-gantt", inputs: { addDialogFields: "addDialogFields", allowExcelExport: "allowExcelExport", allowFiltering: "allowFiltering", allowKeyboard: "allowKeyboard", allowPdfExport: "allowPdfExport", allowReordering: "allowReordering", allowResizing: "allowResizing", allowRowDragAndDrop: "allowRowDragAndDrop", allowSelection: "allowSelection", allowSorting: "allowSorting", allowUnscheduledTasks: "allowUnscheduledTasks", autoFocusTasks: "autoFocusTasks", baselineColor: "baselineColor", collapseAllParentTasks: "collapseAllParentTasks", columnMenuItems: "columnMenuItems", columns: "columns", connectorLineBackground: "connectorLineBackground", connectorLineWidth: "connectorLineWidth", contextMenuItems: "contextMenuItems", dataSource: "dataSource", dateFormat: "dateFormat", dayWorkingTime: "dayWorkingTime", disableHtmlEncode: "disableHtmlEncode", durationUnit: "durationUnit", editDialogFields: "editDialogFields", editSettings: "editSettings", enableContextMenu: "enableContextMenu", enableCriticalPath: "enableCriticalPath", enableImmutableMode: "enableImmutableMode", enableMultiTaskbar: "enableMultiTaskbar", enablePersistence: "enablePersistence", enablePredecessorValidation: "enablePredecessorValidation", enableRtl: "enableRtl", enableVirtualization: "enableVirtualization", eventMarkers: "eventMarkers", filterSettings: "filterSettings", gridLines: "gridLines", height: "height", highlightWeekends: "highlightWeekends", holidays: "holidays", includeWeekend: "includeWeekend", labelSettings: "labelSettings", locale: "locale", milestoneTemplate: "milestoneTemplate", parentTaskbarTemplate: "parentTaskbarTemplate", projectEndDate: "projectEndDate", projectStartDate: "projectStartDate", query: "query", readOnly: "readOnly", renderBaseline: "renderBaseline", resourceFields: "resourceFields", resourceIDMapping: "resourceIDMapping", resourceNameMapping: "resourceNameMapping", resources: "resources", rowHeight: "rowHeight", searchSettings: "searchSettings", segmentData: "segmentData", selectedRowIndex: "selectedRowIndex", selectionSettings: "selectionSettings", showColumnMenu: "showColumnMenu", showInlineNotes: "showInlineNotes", showOverAllocation: "showOverAllocation", sortSettings: "sortSettings", splitterSettings: "splitterSettings", taskFields: "taskFields", taskMode: "taskMode", taskType: "taskType", taskbarHeight: "taskbarHeight", taskbarTemplate: "taskbarTemplate", timelineSettings: "timelineSettings", timezone: "timezone", toolbar: "toolbar", tooltipSettings: "tooltipSettings", treeColumnIndex: "treeColumnIndex", validateManualTasksOnLinking: "validateManualTasksOnLinking", viewType: "viewType", width: "width", workUnit: "workUnit", workWeek: "workWeek" }, outputs: { actionBegin: "actionBegin", actionComplete: "actionComplete", actionFailure: "actionFailure", beforeExcelExport: "beforeExcelExport", beforePdfExport: "beforePdfExport", beforeTooltipRender: "beforeTooltipRender", cellDeselected: "cellDeselected", cellDeselecting: "cellDeselecting", cellEdit: "cellEdit", cellSelected: "cellSelected", cellSelecting: "cellSelecting", collapsed: "collapsed", collapsing: "collapsing", columnDrag: "columnDrag", columnDragStart: "columnDragStart", columnDrop: "columnDrop", columnMenuClick: "columnMenuClick", columnMenuOpen: "columnMenuOpen", contextMenuClick: "contextMenuClick", contextMenuOpen: "contextMenuOpen", created: "created", dataBound: "dataBound", dataStateChange: "dataStateChange", destroyed: "destroyed", endEdit: "endEdit", excelExportComplete: "excelExportComplete", excelHeaderQueryCellInfo: "excelHeaderQueryCellInfo", excelQueryCellInfo: "excelQueryCellInfo", expanded: "expanded", expanding: "expanding", headerCellInfo: "headerCellInfo", load: "load", onMouseMove: "onMouseMove", onTaskbarClick: "onTaskbarClick", pdfColumnHeaderQueryCellInfo: "pdfColumnHeaderQueryCellInfo", pdfExportComplete: "pdfExportComplete", pdfQueryCellInfo: "pdfQueryCellInfo", pdfQueryTaskbarInfo: "pdfQueryTaskbarInfo", pdfQueryTimelineCellInfo: "pdfQueryTimelineCellInfo", queryCellInfo: "queryCellInfo", queryTaskbarInfo: "queryTaskbarInfo", recordDoubleClick: "recordDoubleClick", resizeStart: "resizeStart", resizeStop: "resizeStop", resizing: "resizing", rowDataBound: "rowDataBound", rowDeselected: "rowDeselected", rowDeselecting: "rowDeselecting", rowDrag: "rowDrag", rowDragStart: "rowDragStart", rowDragStartHelper: "rowDragStartHelper", rowDrop: "rowDrop", rowSelected: "rowSelected", rowSelecting: "rowSelecting", splitterResizeStart: "splitterResizeStart", splitterResized: "splitterResized", splitterResizing: "splitterResizing", taskbarEdited: "taskbarEdited", taskbarEditing: "taskbarEditing", toolbarClick: "toolbarClick", dataSourceChange: "dataSourceChange" }, queries: [{ propertyName: "parentTaskbarTemplate", first: true, predicate: ["parentTaskbarTemplate"], descendants: true }, { propertyName: "milestoneTemplate", first: true, predicate: ["milestoneTemplate"], descendants: true }, { propertyName: "taskbarTemplate", first: true, predicate: ["taskbarTemplate"], descendants: true }, { propertyName: "labelSettings_rightLabel", first: true, predicate: ["labelSettingsRightLabel"], descendants: true }, { propertyName: "labelSettings_leftLabel", first: true, predicate: ["labelSettingsLeftLabel"], descendants: true }, { propertyName: "labelSettings_taskLabel", first: true, predicate: ["labelSettingsTaskLabel"], descendants: true }, { propertyName: "tooltipSettings_taskbar", first: true, predicate: ["tooltipSettingsTaskbar"], descendants: true }, { propertyName: "tooltipSettings_baseline", first: true, predicate: ["tooltipSettingsBaseline"], descendants: true }, { propertyName: "tooltipSettings_connectorLine", first: true, predicate: ["tooltipSettingsConnectorLine"], descendants: true }, { propertyName: "tooltipSettings_editing", first: true, predicate: ["tooltipSettingsEditing"], descendants: true }, { propertyName: "childColumns", first: true, predicate: ColumnsDirective, descendants: true }, { propertyName: "childAddDialogFields", first: true, predicate: AddDialogFieldsDirective, descendants: true }, { propertyName: "childEditDialogFields", first: true, predicate: EditDialogFieldsDirective, descendants: true }, { propertyName: "childDayWorkingTime", first: true, predicate: DayWorkingTimeCollectionDirective, descendants: true }, { propertyName: "childHolidays", first: true, predicate: HolidaysDirective, descendants: true }, { propertyName: "childEventMarkers", first: true, predicate: EventMarkersDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
509
+ GanttComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: GanttComponent, selector: "ejs-gantt", inputs: { addDialogFields: "addDialogFields", allowExcelExport: "allowExcelExport", allowFiltering: "allowFiltering", allowKeyboard: "allowKeyboard", allowPdfExport: "allowPdfExport", allowReordering: "allowReordering", allowResizing: "allowResizing", allowRowDragAndDrop: "allowRowDragAndDrop", allowSelection: "allowSelection", allowSorting: "allowSorting", allowUnscheduledTasks: "allowUnscheduledTasks", autoFocusTasks: "autoFocusTasks", baselineColor: "baselineColor", collapseAllParentTasks: "collapseAllParentTasks", columnMenuItems: "columnMenuItems", columns: "columns", connectorLineBackground: "connectorLineBackground", connectorLineWidth: "connectorLineWidth", contextMenuItems: "contextMenuItems", dataSource: "dataSource", dateFormat: "dateFormat", dayWorkingTime: "dayWorkingTime", disableHtmlEncode: "disableHtmlEncode", durationUnit: "durationUnit", editDialogFields: "editDialogFields", editSettings: "editSettings", enableContextMenu: "enableContextMenu", enableCriticalPath: "enableCriticalPath", enableImmutableMode: "enableImmutableMode", enableMultiTaskbar: "enableMultiTaskbar", enablePersistence: "enablePersistence", enablePredecessorValidation: "enablePredecessorValidation", enableRtl: "enableRtl", enableVirtualMaskRow: "enableVirtualMaskRow", enableVirtualization: "enableVirtualization", eventMarkers: "eventMarkers", filterSettings: "filterSettings", gridLines: "gridLines", height: "height", highlightWeekends: "highlightWeekends", holidays: "holidays", includeWeekend: "includeWeekend", labelSettings: "labelSettings", loadingIndicator: "loadingIndicator", locale: "locale", milestoneTemplate: "milestoneTemplate", parentTaskbarTemplate: "parentTaskbarTemplate", projectEndDate: "projectEndDate", projectStartDate: "projectStartDate", query: "query", readOnly: "readOnly", renderBaseline: "renderBaseline", resourceFields: "resourceFields", resourceIDMapping: "resourceIDMapping", resourceNameMapping: "resourceNameMapping", resources: "resources", rowHeight: "rowHeight", searchSettings: "searchSettings", segmentData: "segmentData", selectedRowIndex: "selectedRowIndex", selectionSettings: "selectionSettings", showColumnMenu: "showColumnMenu", showInlineNotes: "showInlineNotes", showOverAllocation: "showOverAllocation", sortSettings: "sortSettings", splitterSettings: "splitterSettings", taskFields: "taskFields", taskMode: "taskMode", taskType: "taskType", taskbarHeight: "taskbarHeight", taskbarTemplate: "taskbarTemplate", timelineSettings: "timelineSettings", timezone: "timezone", toolbar: "toolbar", tooltipSettings: "tooltipSettings", treeColumnIndex: "treeColumnIndex", validateManualTasksOnLinking: "validateManualTasksOnLinking", viewType: "viewType", width: "width", workUnit: "workUnit", workWeek: "workWeek" }, outputs: { actionBegin: "actionBegin", actionComplete: "actionComplete", actionFailure: "actionFailure", beforeExcelExport: "beforeExcelExport", beforePdfExport: "beforePdfExport", beforeTooltipRender: "beforeTooltipRender", cellDeselected: "cellDeselected", cellDeselecting: "cellDeselecting", cellEdit: "cellEdit", cellSelected: "cellSelected", cellSelecting: "cellSelecting", collapsed: "collapsed", collapsing: "collapsing", columnDrag: "columnDrag", columnDragStart: "columnDragStart", columnDrop: "columnDrop", columnMenuClick: "columnMenuClick", columnMenuOpen: "columnMenuOpen", contextMenuClick: "contextMenuClick", contextMenuOpen: "contextMenuOpen", created: "created", dataBound: "dataBound", dataStateChange: "dataStateChange", destroyed: "destroyed", endEdit: "endEdit", excelExportComplete: "excelExportComplete", excelHeaderQueryCellInfo: "excelHeaderQueryCellInfo", excelQueryCellInfo: "excelQueryCellInfo", expanded: "expanded", expanding: "expanding", headerCellInfo: "headerCellInfo", load: "load", onMouseMove: "onMouseMove", onTaskbarClick: "onTaskbarClick", pdfColumnHeaderQueryCellInfo: "pdfColumnHeaderQueryCellInfo", pdfExportComplete: "pdfExportComplete", pdfQueryCellInfo: "pdfQueryCellInfo", pdfQueryTaskbarInfo: "pdfQueryTaskbarInfo", pdfQueryTimelineCellInfo: "pdfQueryTimelineCellInfo", queryCellInfo: "queryCellInfo", queryTaskbarInfo: "queryTaskbarInfo", recordDoubleClick: "recordDoubleClick", resizeStart: "resizeStart", resizeStop: "resizeStop", resizing: "resizing", rowDataBound: "rowDataBound", rowDeselected: "rowDeselected", rowDeselecting: "rowDeselecting", rowDrag: "rowDrag", rowDragStart: "rowDragStart", rowDragStartHelper: "rowDragStartHelper", rowDrop: "rowDrop", rowSelected: "rowSelected", rowSelecting: "rowSelecting", splitterResizeStart: "splitterResizeStart", splitterResized: "splitterResized", splitterResizing: "splitterResizing", taskbarEdited: "taskbarEdited", taskbarEditing: "taskbarEditing", toolbarClick: "toolbarClick", dataSourceChange: "dataSourceChange" }, queries: [{ propertyName: "parentTaskbarTemplate", first: true, predicate: ["parentTaskbarTemplate"], descendants: true }, { propertyName: "milestoneTemplate", first: true, predicate: ["milestoneTemplate"], descendants: true }, { propertyName: "taskbarTemplate", first: true, predicate: ["taskbarTemplate"], descendants: true }, { propertyName: "labelSettings_rightLabel", first: true, predicate: ["labelSettingsRightLabel"], descendants: true }, { propertyName: "labelSettings_leftLabel", first: true, predicate: ["labelSettingsLeftLabel"], descendants: true }, { propertyName: "labelSettings_taskLabel", first: true, predicate: ["labelSettingsTaskLabel"], descendants: true }, { propertyName: "tooltipSettings_taskbar", first: true, predicate: ["tooltipSettingsTaskbar"], descendants: true }, { propertyName: "tooltipSettings_baseline", first: true, predicate: ["tooltipSettingsBaseline"], descendants: true }, { propertyName: "tooltipSettings_connectorLine", first: true, predicate: ["tooltipSettingsConnectorLine"], descendants: true }, { propertyName: "tooltipSettings_editing", first: true, predicate: ["tooltipSettingsEditing"], descendants: true }, { propertyName: "childColumns", first: true, predicate: ColumnsDirective, descendants: true }, { propertyName: "childAddDialogFields", first: true, predicate: AddDialogFieldsDirective, descendants: true }, { propertyName: "childEditDialogFields", first: true, predicate: EditDialogFieldsDirective, descendants: true }, { propertyName: "childDayWorkingTime", first: true, predicate: DayWorkingTimeCollectionDirective, descendants: true }, { propertyName: "childHolidays", first: true, predicate: HolidaysDirective, descendants: true }, { propertyName: "childEventMarkers", first: true, predicate: EventMarkersDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
510
510
  __decorate([
511
511
  Template()
512
512
  ], GanttComponent.prototype, "parentTaskbarTemplate", void 0);