@alfresco/adf-process-services-cloud 8.1.0-14489297497 → 8.1.0-14491540427

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 (173) hide show
  1. package/esm2022/adf-process-services-cloud.mjs +5 -0
  2. package/esm2022/lib/app/app-list-cloud.module.mjs +20 -0
  3. package/esm2022/lib/app/components/app-details-cloud/app-details-cloud.component.mjs +67 -0
  4. package/esm2022/lib/app/components/app-list-cloud/app-list-cloud.component.mjs +126 -0
  5. package/esm2022/lib/app/models/application-instance.model.mjs +24 -0
  6. package/esm2022/lib/app/public-api.mjs +22 -0
  7. package/esm2022/lib/app/services/apps-process-cloud.service.mjs +97 -0
  8. package/esm2022/lib/common/date-range-filter/date-range-filter.component.mjs +164 -0
  9. package/esm2022/lib/common/date-range-filter/date-range-filter.service.mjs +97 -0
  10. package/esm2022/lib/common/index.mjs +18 -0
  11. package/esm2022/lib/common/interface/environment.interface.mjs +18 -0
  12. package/esm2022/lib/common/interface/index.mjs +18 -0
  13. package/esm2022/lib/common/interface/public-api.mjs +18 -0
  14. package/esm2022/lib/common/public-api.mjs +19 -0
  15. package/esm2022/lib/form/components/cloud-form-rendering.service.mjs +57 -0
  16. package/esm2022/lib/form/components/form-cloud-custom-outcomes.component.mjs +31 -0
  17. package/esm2022/lib/form/components/form-cloud.component.mjs +412 -0
  18. package/esm2022/lib/form/components/form-definition-selector-cloud.component.mjs +54 -0
  19. package/esm2022/lib/form/components/spinner/form-spinner.component.mjs +36 -0
  20. package/esm2022/lib/form/components/widgets/attach-file/attach-file-cloud-widget.component.mjs +250 -0
  21. package/esm2022/lib/form/components/widgets/attach-file/file-properties-table/file-properties-table-cloud.component.mjs +137 -0
  22. package/esm2022/lib/form/components/widgets/data-table/data-table-adapter.widget.mjs +107 -0
  23. package/esm2022/lib/form/components/widgets/data-table/data-table.widget.mjs +121 -0
  24. package/esm2022/lib/form/components/widgets/data-table/helpers/data-table-path-parser.helper.mjs +122 -0
  25. package/esm2022/lib/form/components/widgets/date/date-cloud.widget.mjs +190 -0
  26. package/esm2022/lib/form/components/widgets/display-external-property/display-external-property.widget.mjs +86 -0
  27. package/esm2022/lib/form/components/widgets/display-rich-text/display-rich-text.widget.mjs +80 -0
  28. package/esm2022/lib/form/components/widgets/dropdown/dropdown-cloud.widget.mjs +448 -0
  29. package/esm2022/lib/form/components/widgets/dropdown/validators.mjs +29 -0
  30. package/esm2022/lib/form/components/widgets/file-viewer/file-viewer.widget.mjs +47 -0
  31. package/esm2022/lib/form/components/widgets/group/group-cloud.widget.mjs +83 -0
  32. package/esm2022/lib/form/components/widgets/people/people-cloud.widget.mjs +91 -0
  33. package/esm2022/lib/form/components/widgets/properties-viewer/properties-viewer-wrapper/properties-viewer-wrapper.component.mjs +81 -0
  34. package/esm2022/lib/form/components/widgets/properties-viewer/properties-viewer.widget.mjs +54 -0
  35. package/esm2022/lib/form/components/widgets/radio-buttons/radio-buttons-cloud.schema.mjs +86 -0
  36. package/esm2022/lib/form/components/widgets/radio-buttons/radio-buttons-cloud.widget.mjs +117 -0
  37. package/esm2022/lib/form/components/widgets/upload/upload-cloud.widget.mjs +188 -0
  38. package/esm2022/lib/form/form-cloud.module.mjs +103 -0
  39. package/esm2022/lib/form/models/form-cloud-representation.model.mjs +48 -0
  40. package/esm2022/lib/form/models/task-variable-cloud.model.mjs +28 -0
  41. package/esm2022/lib/form/public-api.mjs +44 -0
  42. package/esm2022/lib/form/services/content-cloud-node-selector.service.mjs +120 -0
  43. package/esm2022/lib/form/services/display-mode.service.mjs +146 -0
  44. package/esm2022/lib/form/services/form-cloud.service.interface.mjs +18 -0
  45. package/esm2022/lib/form/services/form-cloud.service.mjs +201 -0
  46. package/esm2022/lib/form/services/form-definition-selector-cloud.service.interface.mjs +18 -0
  47. package/esm2022/lib/form/services/form-definition-selector-cloud.service.mjs +51 -0
  48. package/esm2022/lib/form/services/form-utils.service.mjs +37 -0
  49. package/esm2022/lib/form/services/process-cloud-content.service.mjs +71 -0
  50. package/esm2022/lib/form/services/spinner/form-cloud-spinner.service.mjs +52 -0
  51. package/esm2022/lib/group/components/group-cloud.component.mjs +422 -0
  52. package/esm2022/lib/group/group-cloud.module.mjs +33 -0
  53. package/esm2022/lib/group/models/identity-group.model.mjs +18 -0
  54. package/esm2022/lib/group/public-api.mjs +21 -0
  55. package/esm2022/lib/group/services/identity-group.service.mjs +89 -0
  56. package/esm2022/lib/models/application-version.model.mjs +21 -0
  57. package/esm2022/lib/models/constant-values.type.mjs +18 -0
  58. package/esm2022/lib/models/data-column-custom-data.mjs +18 -0
  59. package/esm2022/lib/models/date-cloud-filter.model.mjs +31 -0
  60. package/esm2022/lib/models/date-format-cloud.model.mjs +18 -0
  61. package/esm2022/lib/models/engine-event-cloud.model.mjs +18 -0
  62. package/esm2022/lib/models/filter-cloud-model.mjs +128 -0
  63. package/esm2022/lib/models/process-definition-cloud.model.mjs +32 -0
  64. package/esm2022/lib/models/process-instance-variable.model.mjs +18 -0
  65. package/esm2022/lib/models/process-variable-filter.model.mjs +18 -0
  66. package/esm2022/lib/models/task-cloud.model.mjs +23 -0
  67. package/esm2022/lib/models/task-list-sorting.model.mjs +40 -0
  68. package/esm2022/lib/models/variable-definition.mjs +18 -0
  69. package/esm2022/lib/people/components/people-cloud.component.mjs +497 -0
  70. package/esm2022/lib/people/models/identity-user.model.mjs +18 -0
  71. package/esm2022/lib/people/people-cloud.module.mjs +33 -0
  72. package/esm2022/lib/people/public-api.mjs +21 -0
  73. package/esm2022/lib/people/services/identity-user.service.mjs +119 -0
  74. package/esm2022/lib/process/process-cloud.module.mjs +40 -0
  75. package/esm2022/lib/process/process-filters/components/edit-process-filter/edit-process-filter-cloud.component.mjs +802 -0
  76. package/esm2022/lib/process/process-filters/components/process-filter-dialog/process-filter-dialog-cloud.component.mjs +59 -0
  77. package/esm2022/lib/process/process-filters/components/process-filters/process-filters-cloud.component.mjs +290 -0
  78. package/esm2022/lib/process/process-filters/models/process-filter-cloud.model.mjs +169 -0
  79. package/esm2022/lib/process/process-filters/process-filters-cloud.module.mjs +44 -0
  80. package/esm2022/lib/process/process-filters/public-api.mjs +23 -0
  81. package/esm2022/lib/process/process-filters/services/process-filter-cloud.service.mjs +405 -0
  82. package/esm2022/lib/process/process-header/components/process-header-cloud.component.mjs +137 -0
  83. package/esm2022/lib/process/process-header/process-header-cloud.module.mjs +33 -0
  84. package/esm2022/lib/process/process-header/public-api.mjs +19 -0
  85. package/esm2022/lib/process/process-list/components/process-list-cloud.component.mjs +594 -0
  86. package/esm2022/lib/process/process-list/datatable/process-list-datatable-adapter.mjs +31 -0
  87. package/esm2022/lib/process/process-list/models/perocess-instance-cloud-view.model.mjs +18 -0
  88. package/esm2022/lib/process/process-list/models/process-cloud-preferences.mjs +24 -0
  89. package/esm2022/lib/process/process-list/models/process-cloud-preset.model.mjs +37 -0
  90. package/esm2022/lib/process/process-list/models/process-cloud-query-request.model.mjs +107 -0
  91. package/esm2022/lib/process/process-list/models/process-list-sorting.model.mjs +40 -0
  92. package/esm2022/lib/process/process-list/process-list-cloud.module.mjs +45 -0
  93. package/esm2022/lib/process/process-list/public-api.mjs +25 -0
  94. package/esm2022/lib/process/process-list/services/process-list-cloud.service.mjs +253 -0
  95. package/esm2022/lib/process/process-list/services/process-task-list-cloud.service.mjs +109 -0
  96. package/esm2022/lib/process/public-api.mjs +23 -0
  97. package/esm2022/lib/process/services/process-cloud.service.mjs +105 -0
  98. package/esm2022/lib/process/start-process/components/start-process-cloud.component.mjs +479 -0
  99. package/esm2022/lib/process/start-process/models/process-instance-cloud.model.mjs +18 -0
  100. package/esm2022/lib/process/start-process/models/process-payload-cloud.model.mjs +26 -0
  101. package/esm2022/lib/process/start-process/models/process-with-form-payload-cloud.model.mjs +26 -0
  102. package/esm2022/lib/process/start-process/public-api.mjs +21 -0
  103. package/esm2022/lib/process/start-process/services/start-process-cloud.service.mjs +125 -0
  104. package/esm2022/lib/process-services-cloud.module.mjs +91 -0
  105. package/esm2022/lib/rich-text-editor/editorjs-config.mjs +101 -0
  106. package/esm2022/lib/rich-text-editor/index.mjs +18 -0
  107. package/esm2022/lib/rich-text-editor/public-api.mjs +19 -0
  108. package/esm2022/lib/rich-text-editor/rich-text-editor.component.mjs +80 -0
  109. package/esm2022/lib/rich-text-editor/rich-text-editor.module.mjs +33 -0
  110. package/esm2022/lib/screen/components/screen-cloud/screen-cloud.component.mjs +161 -0
  111. package/esm2022/lib/screen/models/screen-cloud.model.mjs +18 -0
  112. package/esm2022/lib/screen/public-api.mjs +18 -0
  113. package/esm2022/lib/services/base-cloud.service.mjs +83 -0
  114. package/esm2022/lib/services/cloud-token.service.mjs +23 -0
  115. package/esm2022/lib/services/form-fields.interfaces.mjs +55 -0
  116. package/esm2022/lib/services/local-preference-cloud.service.mjs +122 -0
  117. package/esm2022/lib/services/notification-cloud.service.mjs +45 -0
  118. package/esm2022/lib/services/preference-cloud.interface.mjs +18 -0
  119. package/esm2022/lib/services/public-api.mjs +28 -0
  120. package/esm2022/lib/services/screen-rendering.service.mjs +30 -0
  121. package/esm2022/lib/services/task-list-cloud.service.interface.mjs +18 -0
  122. package/esm2022/lib/services/user-preference-cloud.service.mjs +105 -0
  123. package/esm2022/lib/services/variable-mapper.sevice.mjs +77 -0
  124. package/esm2022/lib/services/web-socket.service.mjs +146 -0
  125. package/esm2022/lib/task/models/start-task-cloud-request.model.mjs +32 -0
  126. package/esm2022/lib/task/models/task-details-cloud.model.mjs +26 -0
  127. package/esm2022/lib/task/models/task.model.mjs +23 -0
  128. package/esm2022/lib/task/public-api.mjs +26 -0
  129. package/esm2022/lib/task/services/task-cloud.service.mjs +272 -0
  130. package/esm2022/lib/task/task-cloud.module.mjs +45 -0
  131. package/esm2022/lib/task/task-filters/components/base-task-filters-cloud.component.mjs +59 -0
  132. package/esm2022/lib/task/task-filters/components/edit-task-filters/base-edit-task-filter-cloud.component.mjs +467 -0
  133. package/esm2022/lib/task/task-filters/components/edit-task-filters/edit-service-task-filter/edit-service-task-filter-cloud.component.mjs +206 -0
  134. package/esm2022/lib/task/task-filters/components/edit-task-filters/edit-task-filter/edit-task-filter-cloud.component.mjs +320 -0
  135. package/esm2022/lib/task/task-filters/components/service-task-filters/service-task-filters-cloud.component.mjs +147 -0
  136. package/esm2022/lib/task/task-filters/components/task-assignment-filter/task-assignment-filter.component.mjs +143 -0
  137. package/esm2022/lib/task/task-filters/components/task-filter-dialog/task-filter-dialog-cloud.component.mjs +73 -0
  138. package/esm2022/lib/task/task-filters/components/task-filters/task-filters-cloud.component.mjs +256 -0
  139. package/esm2022/lib/task/task-filters/models/filter-cloud.model.mjs +207 -0
  140. package/esm2022/lib/task/task-filters/public-api.mjs +27 -0
  141. package/esm2022/lib/task/task-filters/services/service-task-filter-cloud.service.mjs +283 -0
  142. package/esm2022/lib/task/task-filters/services/task-filter-cloud.service.mjs +392 -0
  143. package/esm2022/lib/task/task-filters/task-filters-cloud.module.mjs +56 -0
  144. package/esm2022/lib/task/task-form/components/task-form-cloud/task-form-cloud.component.mjs +214 -0
  145. package/esm2022/lib/task/task-form/components/user-task-cloud/complete-task/complete-task.directive.mjs +89 -0
  146. package/esm2022/lib/task/task-form/components/user-task-cloud/user-task-cloud.component.mjs +279 -0
  147. package/esm2022/lib/task/task-form/components/user-task-cloud-buttons/claim-task/claim-task-cloud.directive.mjs +101 -0
  148. package/esm2022/lib/task/task-form/components/user-task-cloud-buttons/unclaim-task/unclaim-task-cloud.directive.mjs +87 -0
  149. package/esm2022/lib/task/task-form/components/user-task-cloud-buttons/user-task-cloud-buttons.component.mjs +79 -0
  150. package/esm2022/lib/task/task-form/public-api.mjs +21 -0
  151. package/esm2022/lib/task/task-form/task-form.module.mjs +36 -0
  152. package/esm2022/lib/task/task-header/components/task-header-cloud.component.mjs +280 -0
  153. package/esm2022/lib/task/task-header/public-api.mjs +19 -0
  154. package/esm2022/lib/task/task-header/task-header-cloud.module.mjs +33 -0
  155. package/esm2022/lib/task/task-list/components/base-task-list-cloud.component.mjs +331 -0
  156. package/esm2022/lib/task/task-list/components/service-task-list/service-task-list-cloud.component.mjs +116 -0
  157. package/esm2022/lib/task/task-list/components/task-list/datatable/task-list-datatable-adapter.mjs +31 -0
  158. package/esm2022/lib/task/task-list/components/task-list/task-list-cloud.component.mjs +390 -0
  159. package/esm2022/lib/task/task-list/models/service-task-cloud.model.mjs +18 -0
  160. package/esm2022/lib/task/task-list/models/task-cloud-view.model.mjs +18 -0
  161. package/esm2022/lib/task/task-list/public-api.mjs +23 -0
  162. package/esm2022/lib/task/task-list/services/service-task-list-cloud.service.mjs +115 -0
  163. package/esm2022/lib/task/task-list/services/task-list-cloud.service.mjs +178 -0
  164. package/esm2022/lib/task/task-list/task-list-cloud.module.mjs +57 -0
  165. package/esm2022/lib/types.mjs +18 -0
  166. package/esm2022/public-api.mjs +40 -0
  167. package/fesm2022/adf-process-services-cloud.mjs +345 -342
  168. package/fesm2022/adf-process-services-cloud.mjs.map +1 -1
  169. package/lib/common/date-range-filter/date-range-filter.service.d.ts +1 -1
  170. package/lib/task/task-filters/components/base-task-filters-cloud.component.d.ts +1 -1
  171. package/lib/task/task-filters/components/edit-task-filters/base-edit-task-filter-cloud.component.d.ts +1 -1
  172. package/lib/task/task-list/components/base-task-list-cloud.component.d.ts +1 -1
  173. package/package.json +6 -4
@@ -0,0 +1,390 @@
1
+ /*!
2
+ * @license
3
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import { Component, Inject, Input, ViewEncapsulation } from '@angular/core';
18
+ import { AdfDateFnsAdapter, AppConfigService, ColumnsSelectorComponent, DataTableComponent, EmptyContentComponent, LoadingContentTemplateDirective, MainMenuDataTableTemplateDirective, MOMENT_DATE_FORMATS, NoContentTemplateDirective, UserPreferencesService } from '@alfresco/adf-core';
19
+ import { TaskListRequestModel, TaskQueryCloudRequestModel } from '../../../../models/filter-cloud-model';
20
+ import { BaseTaskListCloudComponent } from '../base-task-list-cloud.component';
21
+ import { TaskCloudService } from '../../../services/task-cloud.service';
22
+ import { TASK_LIST_CLOUD_TOKEN, TASK_LIST_PREFERENCES_SERVICE_TOKEN } from '../../../../services/cloud-token.service';
23
+ import { BehaviorSubject, combineLatest, Subject } from 'rxjs';
24
+ import { filter, map, switchMap, take, tap } from 'rxjs/operators';
25
+ import { VariableMapperService } from '../../../../services/variable-mapper.sevice';
26
+ import { TasksListDatatableAdapter } from './datatable/task-list-datatable-adapter';
27
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
28
+ import { TaskListRequestSortingModel } from '../../../../models/task-list-sorting.model';
29
+ import { CommonModule } from '@angular/common';
30
+ import { TranslateModule } from '@ngx-translate/core';
31
+ import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
32
+ import { DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';
33
+ import * as i0 from "@angular/core";
34
+ import * as i1 from "@alfresco/adf-core";
35
+ import * as i2 from "../../../services/task-cloud.service";
36
+ import * as i3 from "../../../../services/variable-mapper.sevice";
37
+ import * as i4 from "@angular/common";
38
+ import * as i5 from "@ngx-translate/core";
39
+ import * as i6 from "@angular/material/progress-spinner";
40
+ const PRESET_KEY = 'adf-cloud-task-list.presets';
41
+ export class TaskListCloudComponent extends BaseTaskListCloudComponent {
42
+ constructor(taskListCloudService, appConfigService, taskCloudService, userPreferences, cloudPreferenceService, viewModelCreator) {
43
+ super(appConfigService, taskCloudService, userPreferences, PRESET_KEY, cloudPreferenceService);
44
+ this.taskListCloudService = taskListCloudService;
45
+ this.viewModelCreator = viewModelCreator;
46
+ /**
47
+ * The assignee of the process. Possible values are: "assignee" (the current user is the assignee),
48
+ * "candidate" (the current user is a task candidate", "group_x" (the task is assigned to a group
49
+ * where the current user is a member, no value (the current user is involved).
50
+ */
51
+ this.assignee = '';
52
+ /** Filter the tasks. Display only tasks with createdFrom equal to the supplied date. */
53
+ this.createdFrom = '';
54
+ /** Filter the tasks. Display only tasks with createdTo equal to the supplied date. */
55
+ this.createdTo = '';
56
+ /** Filter the tasks. Display only tasks with lastModifiedFrom equal to the supplied date. */
57
+ this.lastModifiedFrom = '';
58
+ /** Filter the tasks. Display only tasks with lastModifiedTo equal to the supplied date. */
59
+ this.lastModifiedTo = '';
60
+ /** Filter the tasks. Display only tasks with dueDate greater or equal than the supplied date. */
61
+ this.dueDateFrom = '';
62
+ /** Filter the tasks. Display only tasks with dueDate less or equal to the supplied date. */
63
+ this.dueDateTo = '';
64
+ /** Filter the tasks. Display only tasks with id equal to the supplied value. */
65
+ this.id = '';
66
+ /** Filter the tasks. Display only tasks with the supplied name. */
67
+ this.name = '';
68
+ /** Filter the tasks. Display only tasks with parentTaskId equal to the supplied value. */
69
+ this.parentTaskId = '';
70
+ /** Filter the tasks. Display only tasks with processDefinitionName equal to the supplied value. */
71
+ this.processDefinitionName = '';
72
+ /** Filter the tasks. Display only tasks with processDefinitionId equal to the supplied value. */
73
+ this.processDefinitionId = '';
74
+ /** Filter the tasks. Display only tasks with processInstanceId equal to the supplied value. */
75
+ this.processInstanceId = '';
76
+ /** Filter the tasks. Display only tasks with status equal to the supplied value. */
77
+ this.status = '';
78
+ /** Filter the tasks. Display only tasks with owner equal to the supplied value. */
79
+ this.owner = '';
80
+ /** Filter the tasks. Display only the tasks that belong to a process in case is false or tasks that doesn't belong to a process in case of true. */
81
+ this.standalone = false;
82
+ /** Filter the tasks. Display only tasks with completedDate equal to the supplied date. */
83
+ this.completedDate = '';
84
+ /** Filter the tasks. Display only tasks with completedFrom equal to the supplied date. */
85
+ this.completedFrom = '';
86
+ /** Filter the tasks. Display only tasks with completedTo equal to the supplied date. */
87
+ this.completedTo = '';
88
+ /** Filter the tasks. Display only tasks with candidateGroups equal to the supplied value. */
89
+ this.candidateGroupId = '';
90
+ /** From Activiti 8.7.0 forward, use the 'POST' value and array inputs to enable advanced filtering. */
91
+ this.searchApiMethod = 'GET';
92
+ /**
93
+ * Filter the tasks. Display only tasks with names matching any of the supplied strings.
94
+ * This input will be used only if searchApiMethod input is provided with 'POST' value.
95
+ */
96
+ this.names = [];
97
+ /**
98
+ * Filter the tasks. Display only tasks with assignees whose usernames are present in the array.
99
+ * This input will be used only if searchApiMethod input is provided with 'POST' value.
100
+ */
101
+ this.assignees = [];
102
+ /**
103
+ * Filter the tasks. Display only tasks with provided statuses.
104
+ * This input will be used only if searchApiMethod input is provided with 'POST' value.
105
+ */
106
+ this.statuses = [];
107
+ /**
108
+ * Filter the tasks. Display only tasks under processes with provided definition names.
109
+ * This input will be used only if searchApiMethod input is provided with 'POST' value.
110
+ */
111
+ this.processDefinitionNames = [];
112
+ /**
113
+ * Filter the tasks. Display only tasks with Ids matching any of the supplied strings.
114
+ * This input will be used only if searchApiMethod input is provided with 'POST' value.
115
+ */
116
+ this.ids = [];
117
+ /**
118
+ * Filter the tasks. Display only tasks with parentTaskIds matching any of the supplied strings.
119
+ * This input will be used only if searchApiMethod input is provided with 'POST' value.
120
+ */
121
+ this.parentIds = [];
122
+ /**
123
+ * Filter the tasks. Display only tasks with processInstanceIds matching any of the supplied strings.
124
+ * This input will be used only if searchApiMethod input is provided with 'POST' value.
125
+ */
126
+ this.processInstanceIds = [];
127
+ /**
128
+ * Filter the tasks. Display only tasks under processes with provided names.
129
+ * This input will be used only if searchApiMethod input is provided with 'POST' value.
130
+ */
131
+ this.processNames = [];
132
+ /**
133
+ * Filter the tasks. Display only tasks with provided priorities.
134
+ * This input will be used only if searchApiMethod input is provided with 'POST' value.
135
+ */
136
+ this.priorities = [];
137
+ /**
138
+ * Filter the tasks. Display only tasks completed by users whose usernames are present in the array.
139
+ * This input will be used only if searchApiMethod input is provided with 'POST' value.
140
+ */
141
+ this.completedByUsers = [];
142
+ this.rows = [];
143
+ this.isReloadingSubject$ = new BehaviorSubject(false);
144
+ this.isLoading$ = combineLatest([this.isLoadingPreferences$, this.isReloadingSubject$]).pipe(map(([isLoadingPreferences, isReloading]) => isLoadingPreferences || isReloading));
145
+ this.fetchProcessesTrigger$ = new Subject();
146
+ combineLatest([this.isColumnSchemaCreated$, this.fetchProcessesTrigger$])
147
+ .pipe(tap(() => this.isReloadingSubject$.next(true)), filter((isColumnSchemaCreated) => !!isColumnSchemaCreated), switchMap(() => {
148
+ if (this.searchApiMethod === 'POST') {
149
+ const requestNode = this.createTaskListRequestNode();
150
+ return this.taskListCloudService.fetchTaskList(requestNode).pipe(take(1));
151
+ }
152
+ else {
153
+ const requestNode = this.createRequestNode();
154
+ this.requestNode = requestNode;
155
+ return this.taskListCloudService.getTaskByRequest(requestNode);
156
+ }
157
+ }), takeUntilDestroyed())
158
+ .subscribe({
159
+ next: (tasks) => {
160
+ const tasksWithVariables = tasks.list.entries.map((task) => ({
161
+ ...task,
162
+ variables: task.processVariables
163
+ }));
164
+ this.rows = this.viewModelCreator.mapVariablesByColumnTitle(tasksWithVariables, this.columns);
165
+ this.dataAdapter = new TasksListDatatableAdapter(this.rows, this.columns);
166
+ this.success.emit(tasks);
167
+ this.isReloadingSubject$.next(false);
168
+ this.pagination.next(tasks.list.pagination);
169
+ },
170
+ error: (error) => {
171
+ console.error(error);
172
+ this.error.emit(error);
173
+ this.isReloadingSubject$.next(false);
174
+ }
175
+ });
176
+ }
177
+ reload() {
178
+ this.isReloadingSubject$.next(true);
179
+ this.fetchProcessesTrigger$.next();
180
+ }
181
+ createTaskListRequestNode() {
182
+ const requestNode = {
183
+ appName: this.appName,
184
+ pagination: {
185
+ maxItems: this.size,
186
+ skipCount: this.skipCount
187
+ },
188
+ sorting: this.getTaskListRequestSorting(),
189
+ onlyStandalone: this.standalone,
190
+ name: this.names,
191
+ processDefinitionName: this.processDefinitionNames,
192
+ id: this.ids,
193
+ parentId: this.parentIds,
194
+ processName: this.processNames,
195
+ processInstanceId: this.processInstanceIds,
196
+ priority: this.priorities,
197
+ status: this.statuses,
198
+ completedBy: this.completedByUsers,
199
+ assignee: this.assignees,
200
+ createdFrom: this.createdFrom,
201
+ createdTo: this.createdTo,
202
+ lastModifiedFrom: this.lastModifiedFrom,
203
+ lastModifiedTo: this.lastModifiedTo,
204
+ dueDateFrom: this.dueDateFrom,
205
+ dueDateTo: this.dueDateTo,
206
+ completedFrom: this.completedFrom,
207
+ completedTo: this.completedTo,
208
+ processVariableKeys: this.getRequestNodeVariables(),
209
+ processVariableFilters: this.processVariableFilters ?? []
210
+ };
211
+ return new TaskListRequestModel(requestNode);
212
+ }
213
+ createRequestNode() {
214
+ const requestNode = {
215
+ appName: this.appName,
216
+ assignee: this.assignee,
217
+ id: this.id,
218
+ name: this.name,
219
+ environmentId: this.environmentId,
220
+ parentTaskId: this.parentTaskId,
221
+ processDefinitionName: this.processDefinitionName,
222
+ processDefinitionId: this.processDefinitionId,
223
+ processInstanceId: this.processInstanceId,
224
+ owner: this.owner,
225
+ priority: this.priority,
226
+ lastModifiedFrom: this.lastModifiedFrom,
227
+ lastModifiedTo: this.lastModifiedTo,
228
+ dueDateFrom: this.dueDateFrom,
229
+ dueDateTo: this.dueDateTo,
230
+ status: this.status,
231
+ dueDate: this.dueDate,
232
+ createdDate: this.createdDate,
233
+ createdFrom: this.createdFrom,
234
+ createdTo: this.createdTo,
235
+ maxItems: this.size,
236
+ skipCount: this.skipCount,
237
+ sorting: this.sorting,
238
+ standalone: this.standalone,
239
+ completedBy: this.completedBy,
240
+ completedFrom: this.completedFrom,
241
+ completedTo: this.completedTo,
242
+ completedDate: this.completedDate,
243
+ candidateGroupId: this.candidateGroupId,
244
+ variableKeys: this.getRequestNodeVariables()
245
+ };
246
+ return new TaskQueryCloudRequestModel(requestNode);
247
+ }
248
+ getRequestNodeVariables() {
249
+ const displayedVariableColumns = (this.columns ?? [])
250
+ .filter((column) => column.customData?.columnType === 'process-variable-column' && column.isHidden !== true)
251
+ .map((column) => {
252
+ const variableDefinitionsPayload = column.customData.variableDefinitionsPayload;
253
+ return variableDefinitionsPayload;
254
+ })
255
+ .reduce((allRequestKeys, requestKeys) => [...requestKeys, ...allRequestKeys], []);
256
+ return displayedVariableColumns.length ? displayedVariableColumns : undefined;
257
+ }
258
+ getTaskListRequestSorting() {
259
+ if (!this.sorting?.length) {
260
+ return new TaskListRequestSortingModel({
261
+ orderBy: this.defaultSorting.key,
262
+ direction: this.defaultSorting.direction,
263
+ isFieldProcessVariable: false
264
+ });
265
+ }
266
+ const orderBy = this.sorting[0]?.orderBy;
267
+ const direction = this.sorting[0]?.direction;
268
+ const orderByColumn = this.columnList?.columns.find((column) => column.key === orderBy);
269
+ const isFieldProcessVariable = orderByColumn?.customData?.columnType === 'process-variable-column';
270
+ if (isFieldProcessVariable) {
271
+ const processDefinitionKey = orderByColumn.customData.variableDefinitionsPayload[0].split('/')[0];
272
+ const variableName = orderByColumn.customData.variableDefinitionsPayload[0].split('/')[1];
273
+ return new TaskListRequestSortingModel({
274
+ orderBy: variableName,
275
+ direction,
276
+ isFieldProcessVariable: true,
277
+ processVariableData: {
278
+ processDefinitionKey,
279
+ type: orderByColumn.customData.variableType
280
+ }
281
+ });
282
+ }
283
+ else {
284
+ return new TaskListRequestSortingModel({ orderBy, direction, isFieldProcessVariable: false });
285
+ }
286
+ }
287
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: TaskListCloudComponent, deps: [{ token: TASK_LIST_CLOUD_TOKEN }, { token: i1.AppConfigService }, { token: i2.TaskCloudService }, { token: i1.UserPreferencesService }, { token: TASK_LIST_PREFERENCES_SERVICE_TOKEN }, { token: i3.VariableMapperService }], target: i0.ɵɵFactoryTarget.Component }); }
288
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: TaskListCloudComponent, isStandalone: true, selector: "adf-cloud-task-list", inputs: { assignee: "assignee", createdDate: "createdDate", createdFrom: "createdFrom", createdTo: "createdTo", dueDate: "dueDate", lastModifiedFrom: "lastModifiedFrom", lastModifiedTo: "lastModifiedTo", dueDateFrom: "dueDateFrom", dueDateTo: "dueDateTo", id: "id", name: "name", environmentId: "environmentId", parentTaskId: "parentTaskId", processDefinitionName: "processDefinitionName", processDefinitionId: "processDefinitionId", processInstanceId: "processInstanceId", status: "status", owner: "owner", priority: "priority", completedBy: "completedBy", standalone: "standalone", completedDate: "completedDate", completedFrom: "completedFrom", completedTo: "completedTo", candidateGroupId: "candidateGroupId", searchApiMethod: "searchApiMethod", names: "names", assignees: "assignees", statuses: "statuses", processDefinitionNames: "processDefinitionNames", ids: "ids", parentIds: "parentIds", processInstanceIds: "processInstanceIds", processNames: "processNames", priorities: "priorities", completedByUsers: "completedByUsers", processVariableFilters: "processVariableFilters" }, providers: [
289
+ { provide: DateAdapter, useClass: AdfDateFnsAdapter },
290
+ { provide: MAT_DATE_FORMATS, useValue: MOMENT_DATE_FORMATS }
291
+ ], usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"!rows\">{{ 'ADF_CLOUD_TASK_LIST.FILTERS.MESSAGES.NONE' | translate }}</div>\n<ng-container *ngIf=\"rows\">\n <adf-datatable\n [rows]=\"rows\"\n [columns]=\"columns\"\n [data]=\"dataAdapter\"\n [loading]=\"isLoading$ | async\"\n [sorting]=\"formattedSorting\"\n [multiselect]=\"multiselect\"\n [selectionMode]=\"selectionMode\"\n [stickyHeader]=\"stickyHeader\"\n [actions]=\"showActions\"\n [actionsPosition]=\"actionsPosition\"\n [contextMenu]=\"showContextMenu\"\n [resolverFn]=\"boundReplacePriorityValues\"\n [showProvidedActions]=\"showProvidedActions\"\n [showMainDatatableActions]=\"showMainDatatableActions\"\n [isResizingEnabled]=\"isResizingEnabled\"\n (showRowActionsMenu)=\"onShowRowActionsMenu($event)\"\n (showRowContextMenu)=\"onShowRowContextMenu($event)\"\n (executeRowAction)=\"onExecuteRowAction($event)\"\n (row-select)=\"onRowSelect($any($event))\"\n (row-unselect)=\"onRowUnselect($any($event))\"\n (rowClick)=\"onRowClick($any($event))\"\n (row-keyup)=\"onRowKeyUp($any($event))\"\n (sorting-changed)=\"onSortingChanged($any($event))\"\n (columnOrderChanged)=\"onColumnOrderChanged($event)\"\n (columnsWidthChanged)=\"onColumnsWidthChanged($event)\"\n >\n <adf-loading-content-template>\n <ng-template>\n <mat-progress-spinner\n class=\"adf-cloud-task-list-loading-margin\"\n [color]=\"'primary'\"\n [mode]=\"'indeterminate'\" />\n </ng-template>\n </adf-loading-content-template>\n <adf-no-content-template>\n <ng-template>\n <adf-empty-content\n *ngIf=\"!emptyCustomContent\"\n icon=\"assignment\"\n [title]=\"'ADF_CLOUD_TASK_LIST.LIST.MESSAGES.TITLE' | translate\"\n [subtitle]=\"'ADF_CLOUD_TASK_LIST.LIST.MESSAGES.SUBTITLE' | translate\" />\n <ng-content select=\"adf-custom-empty-content-template\" />\n </ng-template>\n </adf-no-content-template>\n\n <adf-main-menu-datatable-template>\n <ng-template let-mainMenuTrigger>\n <adf-datatable-column-selector\n [columns]=\"columns\"\n [mainMenuTrigger]=\"mainMenuTrigger\"\n (submitColumnsVisibility)=\"onColumnsVisibilityChange($event)\" />\n </ng-template>\n </adf-main-menu-datatable-template>\n </adf-datatable>\n</ng-container>\n", styles: [".adf-cloud-task-list-loading-margin{margin-left:calc((100% - 100px)/2);margin-right:calc((100% - 100px)/2)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "component", type: ColumnsSelectorComponent, selector: "adf-datatable-column-selector", inputs: ["columns", "mainMenuTrigger", "columnsSorting", "maxColumnsVisible"], outputs: ["submitColumnsVisibility"] }, { kind: "directive", type: MainMenuDataTableTemplateDirective, selector: "adf-main-menu-datatable-template" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "component", type: EmptyContentComponent, selector: "adf-empty-content", inputs: ["icon", "title", "subtitle"] }, { kind: "directive", type: NoContentTemplateDirective, selector: "adf-no-content-template, no-content-template" }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i6.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: LoadingContentTemplateDirective, selector: "adf-loading-content-template, loading-content-template" }, { kind: "component", type: DataTableComponent, selector: "adf-datatable", inputs: ["data", "rows", "sorting", "columns", "selectionMode", "multiselect", "mainTableAction", "actions", "showMainDatatableActions", "showProvidedActions", "actionsPosition", "actionsVisibleOnHover", "fallbackThumbnail", "contextMenu", "rowStyle", "rowStyleClass", "showHeader", "stickyHeader", "loading", "noPermission", "rowMenuCacheEnabled", "resolverFn", "allowFiltering", "isResizingEnabled", "blurOnResize", "displayCheckboxesOnHover", "enableDragRows"], outputs: ["rowClick", "rowDblClick", "showRowContextMenu", "showRowActionsMenu", "executeRowAction", "columnOrderChanged", "columnsWidthChanged", "selectedItemsCountChanged", "dragDropped"] }], encapsulation: i0.ViewEncapsulation.None }); }
292
+ }
293
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: TaskListCloudComponent, decorators: [{
294
+ type: Component,
295
+ args: [{ selector: 'adf-cloud-task-list', standalone: true, imports: [
296
+ CommonModule,
297
+ ColumnsSelectorComponent,
298
+ MainMenuDataTableTemplateDirective,
299
+ TranslateModule,
300
+ EmptyContentComponent,
301
+ NoContentTemplateDirective,
302
+ MatProgressSpinnerModule,
303
+ LoadingContentTemplateDirective,
304
+ DataTableComponent
305
+ ], providers: [
306
+ { provide: DateAdapter, useClass: AdfDateFnsAdapter },
307
+ { provide: MAT_DATE_FORMATS, useValue: MOMENT_DATE_FORMATS }
308
+ ], encapsulation: ViewEncapsulation.None, template: "<div *ngIf=\"!rows\">{{ 'ADF_CLOUD_TASK_LIST.FILTERS.MESSAGES.NONE' | translate }}</div>\n<ng-container *ngIf=\"rows\">\n <adf-datatable\n [rows]=\"rows\"\n [columns]=\"columns\"\n [data]=\"dataAdapter\"\n [loading]=\"isLoading$ | async\"\n [sorting]=\"formattedSorting\"\n [multiselect]=\"multiselect\"\n [selectionMode]=\"selectionMode\"\n [stickyHeader]=\"stickyHeader\"\n [actions]=\"showActions\"\n [actionsPosition]=\"actionsPosition\"\n [contextMenu]=\"showContextMenu\"\n [resolverFn]=\"boundReplacePriorityValues\"\n [showProvidedActions]=\"showProvidedActions\"\n [showMainDatatableActions]=\"showMainDatatableActions\"\n [isResizingEnabled]=\"isResizingEnabled\"\n (showRowActionsMenu)=\"onShowRowActionsMenu($event)\"\n (showRowContextMenu)=\"onShowRowContextMenu($event)\"\n (executeRowAction)=\"onExecuteRowAction($event)\"\n (row-select)=\"onRowSelect($any($event))\"\n (row-unselect)=\"onRowUnselect($any($event))\"\n (rowClick)=\"onRowClick($any($event))\"\n (row-keyup)=\"onRowKeyUp($any($event))\"\n (sorting-changed)=\"onSortingChanged($any($event))\"\n (columnOrderChanged)=\"onColumnOrderChanged($event)\"\n (columnsWidthChanged)=\"onColumnsWidthChanged($event)\"\n >\n <adf-loading-content-template>\n <ng-template>\n <mat-progress-spinner\n class=\"adf-cloud-task-list-loading-margin\"\n [color]=\"'primary'\"\n [mode]=\"'indeterminate'\" />\n </ng-template>\n </adf-loading-content-template>\n <adf-no-content-template>\n <ng-template>\n <adf-empty-content\n *ngIf=\"!emptyCustomContent\"\n icon=\"assignment\"\n [title]=\"'ADF_CLOUD_TASK_LIST.LIST.MESSAGES.TITLE' | translate\"\n [subtitle]=\"'ADF_CLOUD_TASK_LIST.LIST.MESSAGES.SUBTITLE' | translate\" />\n <ng-content select=\"adf-custom-empty-content-template\" />\n </ng-template>\n </adf-no-content-template>\n\n <adf-main-menu-datatable-template>\n <ng-template let-mainMenuTrigger>\n <adf-datatable-column-selector\n [columns]=\"columns\"\n [mainMenuTrigger]=\"mainMenuTrigger\"\n (submitColumnsVisibility)=\"onColumnsVisibilityChange($event)\" />\n </ng-template>\n </adf-main-menu-datatable-template>\n </adf-datatable>\n</ng-container>\n", styles: [".adf-cloud-task-list-loading-margin{margin-left:calc((100% - 100px)/2);margin-right:calc((100% - 100px)/2)}\n"] }]
309
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
310
+ type: Inject,
311
+ args: [TASK_LIST_CLOUD_TOKEN]
312
+ }] }, { type: i1.AppConfigService }, { type: i2.TaskCloudService }, { type: i1.UserPreferencesService }, { type: undefined, decorators: [{
313
+ type: Inject,
314
+ args: [TASK_LIST_PREFERENCES_SERVICE_TOKEN]
315
+ }] }, { type: i3.VariableMapperService }], propDecorators: { assignee: [{
316
+ type: Input
317
+ }], createdDate: [{
318
+ type: Input
319
+ }], createdFrom: [{
320
+ type: Input
321
+ }], createdTo: [{
322
+ type: Input
323
+ }], dueDate: [{
324
+ type: Input
325
+ }], lastModifiedFrom: [{
326
+ type: Input
327
+ }], lastModifiedTo: [{
328
+ type: Input
329
+ }], dueDateFrom: [{
330
+ type: Input
331
+ }], dueDateTo: [{
332
+ type: Input
333
+ }], id: [{
334
+ type: Input
335
+ }], name: [{
336
+ type: Input
337
+ }], environmentId: [{
338
+ type: Input
339
+ }], parentTaskId: [{
340
+ type: Input
341
+ }], processDefinitionName: [{
342
+ type: Input
343
+ }], processDefinitionId: [{
344
+ type: Input
345
+ }], processInstanceId: [{
346
+ type: Input
347
+ }], status: [{
348
+ type: Input
349
+ }], owner: [{
350
+ type: Input
351
+ }], priority: [{
352
+ type: Input
353
+ }], completedBy: [{
354
+ type: Input
355
+ }], standalone: [{
356
+ type: Input
357
+ }], completedDate: [{
358
+ type: Input
359
+ }], completedFrom: [{
360
+ type: Input
361
+ }], completedTo: [{
362
+ type: Input
363
+ }], candidateGroupId: [{
364
+ type: Input
365
+ }], searchApiMethod: [{
366
+ type: Input
367
+ }], names: [{
368
+ type: Input
369
+ }], assignees: [{
370
+ type: Input
371
+ }], statuses: [{
372
+ type: Input
373
+ }], processDefinitionNames: [{
374
+ type: Input
375
+ }], ids: [{
376
+ type: Input
377
+ }], parentIds: [{
378
+ type: Input
379
+ }], processInstanceIds: [{
380
+ type: Input
381
+ }], processNames: [{
382
+ type: Input
383
+ }], priorities: [{
384
+ type: Input
385
+ }], completedByUsers: [{
386
+ type: Input
387
+ }], processVariableFilters: [{
388
+ type: Input
389
+ }] } });
390
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1saXN0LWNsb3VkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzLWNsb3VkL3NyYy9saWIvdGFzay90YXNrLWxpc3QvY29tcG9uZW50cy90YXNrLWxpc3QvdGFzay1saXN0LWNsb3VkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzLWNsb3VkL3NyYy9saWIvdGFzay90YXNrLWxpc3QvY29tcG9uZW50cy90YXNrLWxpc3QvdGFzay1saXN0LWNsb3VkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RSxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQix3QkFBd0IsRUFDeEIsa0JBQWtCLEVBQ2xCLHFCQUFxQixFQUNyQiwrQkFBK0IsRUFDL0Isa0NBQWtDLEVBQ2xDLG1CQUFtQixFQUNuQiwwQkFBMEIsRUFDMUIsc0JBQXNCLEVBQ3pCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLDBCQUEwQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDekcsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDL0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDeEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLG1DQUFtQyxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFHdEgsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9ELE9BQU8sRUFB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XG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQWRmRGF0ZUZuc0FkYXB0ZXIsXG4gICAgQXBwQ29uZmlnU2VydmljZSxcbiAgICBDb2x1bW5zU2VsZWN0b3JDb21wb25lbnQsXG4gICAgRGF0YVRhYmxlQ29tcG9uZW50LFxuICAgIEVtcHR5Q29udGVudENvbXBvbmVudCxcbiAgICBMb2FkaW5nQ29udGVudFRlbXBsYXRlRGlyZWN0aXZlLFxuICAgIE1haW5NZW51RGF0YVRhYmxlVGVtcGxhdGVEaXJlY3RpdmUsXG4gICAgTU9NRU5UX0RBVEVfRk9STUFUUyxcbiAgICBOb0NvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgICBVc2VyUHJlZmVyZW5jZXNTZXJ2aWNlXG59IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQgeyBUYXNrTGlzdFJlcXVlc3RNb2RlbCwgVGFza1F1ZXJ5Q2xvdWRSZXF1ZXN0TW9kZWwgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZmlsdGVyLWNsb3VkLW1vZGVsJztcbmltcG9ydCB7IEJhc2VUYXNrTGlzdENsb3VkQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS10YXNrLWxpc3QtY2xvdWQuY29tcG9uZW50JztcbmltcG9ydCB7IFRhc2tDbG91ZFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy90YXNrLWNsb3VkLnNlcnZpY2UnO1xuaW1wb3J0IHsgVEFTS19MSVNUX0NMT1VEX1RPS0VOLCBUQVNLX0xJU1RfUFJFRkVSRU5DRVNfU0VSVklDRV9UT0tFTiB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2Nsb3VkLXRva2VuLnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJlZmVyZW5jZUNsb3VkU2VydmljZUludGVyZmFjZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL3ByZWZlcmVuY2UtY2xvdWQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFRhc2tMaXN0Q2xvdWRTZXJ2aWNlSW50ZXJmYWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvdGFzay1saXN0LWNsb3VkLnNlcnZpY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIHN3aXRjaE1hcCwgdGFrZSwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVmFyaWFibGVNYXBwZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvdmFyaWFibGUtbWFwcGVyLnNldmljZSc7XG5pbXBvcnQgeyBQcm9jZXNzTGlzdERhdGFDb2x1bW5DdXN0b21EYXRhIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2RhdGEtY29sdW1uLWN1c3RvbS1kYXRhJztcbmltcG9ydCB7IFRhc2tDbG91ZE1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL3Rhc2stY2xvdWQubW9kZWwnO1xuaW1wb3J0IHsgUGFnaW5hdGVkRW50cmllcyB9IGZyb20gJ0BhbGZyZXNjby9qcy1hcGknO1xuaW1wb3J0IHsgVGFza0luc3RhbmNlQ2xvdWRMaXN0Vmlld01vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3Rhc2stY2xvdWQtdmlldy5tb2RlbCc7XG5pbXBvcnQgeyBUYXNrc0xpc3REYXRhdGFibGVBZGFwdGVyIH0gZnJvbSAnLi9kYXRhdGFibGUvdGFzay1saXN0LWRhdGF0YWJsZS1hZGFwdGVyJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IFRhc2tMaXN0UmVxdWVzdFNvcnRpbmdNb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy90YXNrLWxpc3Qtc29ydGluZy5tb2RlbCc7XG5pbXBvcnQgeyBQcm9jZXNzVmFyaWFibGVGaWx0ZXJNb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9wcm9jZXNzLXZhcmlhYmxlLWZpbHRlci5tb2RlbCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcbmltcG9ydCB7IERhdGVBZGFwdGVyLCBNQVRfREFURV9GT1JNQVRTIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5cbmNvbnN0IFBSRVNFVF9LRVkgPSAnYWRmLWNsb3VkLXRhc2stbGlzdC5wcmVzZXRzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhZGYtY2xvdWQtdGFzay1saXN0JyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBDb2x1bW5zU2VsZWN0b3JDb21wb25lbnQsXG4gICAgICAgIE1haW5NZW51RGF0YVRhYmxlVGVtcGxhdGVEaXJlY3RpdmUsXG4gICAgICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICAgICAgRW1wdHlDb250ZW50Q29tcG9uZW50LFxuICAgICAgICBOb0NvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgICAgICAgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlLFxuICAgICAgICBMb2FkaW5nQ29udGVudFRlbXBsYXRlRGlyZWN0aXZlLFxuICAgICAgICBEYXRhVGFibGVDb21wb25lbnRcbiAgICBdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6IERhdGVBZGFwdGVyLCB1c2VDbGFzczogQWRmRGF0ZUZuc0FkYXB0ZXIgfSxcbiAgICAgICAgeyBwcm92aWRlOiBNQVRfREFURV9GT1JNQVRTLCB1c2VWYWx1ZTogTU9NRU5UX0RBVEVfRk9STUFUUyB9XG4gICAgXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGFzay1saXN0LWNsb3VkLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi90YXNrLWxpc3QtY2xvdWQuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFRhc2tMaXN0Q2xvdWRDb21wb25lbnQgZXh0ZW5kcyBCYXNlVGFza0xpc3RDbG91ZENvbXBvbmVudDxQcm9jZXNzTGlzdERhdGFDb2x1bW5DdXN0b21EYXRhPiB7XG4gICAgLyoqXG4gICAgICogVGhlIGFzc2lnbmVlIG9mIHRoZSBwcm9jZXNzLiBQb3NzaWJsZSB2YWx1ZXMgYXJlOiBcImFzc2lnbmVlXCIgKHRoZSBjdXJyZW50IHVzZXIgaXMgdGhlIGFzc2lnbmVlKSxcbiAgICAgKiBcImNhbmRpZGF0ZVwiICh0aGUgY3VycmVudCB1c2VyIGlzIGEgdGFzayBjYW5kaWRhdGVcIiwgXCJncm91cF94XCIgKHRoZSB0YXNrIGlzIGFzc2lnbmVkIHRvIGEgZ3JvdXBcbiAgICAgKiB3aGVyZSB0aGUgY3VycmVudCB1c2VyIGlzIGEgbWVtYmVyLCBubyB2YWx1ZSAodGhlIGN1cnJlbnQgdXNlciBpcyBpbnZvbHZlZCkuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBhc3NpZ25lZTogc3RyaW5nID0gJyc7XG5cbiAgICAvKiogRmlsdGVyIHRoZSB0YXNrcy4gRGlzcGxheSBvbmx5IHRhc2tzIGNyZWF0ZWQgb24gdGhlIHN1cHBsaWVkIGRhdGUuICovXG4gICAgQElucHV0KClcbiAgICBjcmVhdGVkRGF0ZTogRGF0ZTtcblxuICAgIC8qKiBGaWx0ZXIgdGhlIHRhc2tzLiBEaXNwbGF5IG9ubHkgdGFza3Mgd2l0aCBjcmVhdGVkRnJvbSBlcXVhbCB0byB0aGUgc3VwcGxpZWQgZGF0ZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIGNyZWF0ZWRGcm9tOiBzdHJpbmcgPSAnJztcblxuICAgIC8qKiBGaWx0ZXIgdGhlIHRhc2tzLiBEaXNwbGF5IG9ubHkgdGFza3Mgd2l0aCBjcmVhdGVkVG8gZXF1YWwgdG8gdGhlIHN1cHBsaWVkIGRhdGUuICovXG4gICAgQElucHV0KClcbiAgICBjcmVhdGVkVG86IHN0cmluZyA9ICcnO1xuXG4gICAgLyoqIEZpbHRlciB0aGUgdGFza3MuIERpc3BsYXkgb25seSB0YXNrcyB3aXRoIGR1ZURhdGUgZXF1YWwgdG8gdGhlIHN1cHBsaWVkIGRhdGUuICovXG4gICAgQElucHV0KClcbiAgICBkdWVEYXRlOiBEYXRlO1xuXG4gICAgLyoqIEZpbHRlciB0aGUgdGFza3MuIERpc3BsYXkgb25seSB0YXNrcyB3aXRoIGxhc3RNb2RpZmllZEZyb20gZXF1YWwgdG8gdGhlIHN1cHBsaWVkIGRhdGUuICovXG4gICAgQElucHV0KClcbiAgICBsYXN0TW9kaWZpZWRGcm9tOiBzdHJpbmcgPSAnJztcblxuICAgIC8qKiBGaWx0ZXIgdGhlIHRhc2tzLiBEaXNwbGF5IG9ubHkgdGFza3Mgd2l0aCBsYXN0TW9kaWZpZWRUbyBlcXVhbCB0byB0aGUgc3VwcGxpZWQgZGF0ZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIGxhc3RNb2RpZmllZFRvOiBzdHJpbmcgPSAnJztcblxuICAgIC8qKiBGaWx0ZXIgdGhlIHRhc2tzLiBEaXNwbGF5IG9ubHkgdGFza3Mgd2l0aCBkdWVEYXRlIGdyZWF0ZXIgb3IgZXF1YWwgdGhhbiB0aGUgc3VwcGxpZWQgZGF0ZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIGR1ZURhdGVGcm9tOiBzdHJpbmcgPSAnJztcblxuICAgIC8qKiBGaWx0ZXIgdGhlIHRhc2tzLiBEaXNwbGF5IG9ubHkgdGFza3Mgd2l0aCBkdWVEYXRlIGxlc3Mgb3IgZXF1YWwgdG8gdGhlIHN1cHBsaWVkIGRhdGUuICovXG4gICAgQElucHV0KClcbiAgICBkdWVEYXRlVG86IHN0cmluZyA9ICcnO1xuXG4gICAgLyoqIEZpbHRlciB0aGUgdGFza3MuIERpc3BsYXkgb25seSB0YXNrcyB3aXRoIGlkIGVxdWFsIHRvIHRoZSBzdXBwbGllZCB2YWx1ZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIGlkOiBzdHJpbmcgPSAnJztcblxuICAgIC8qKiBGaWx0ZXIgdGhlIHRhc2tzLiBEaXNwbGF5IG9ubHkgdGFza3Mgd2l0aCB0aGUgc3VwcGxpZWQgbmFtZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIG5hbWU6IHN0cmluZyA9ICcnO1xuXG4gICAgLyoqIEZpbHRlciB0aGUgdGFza3MgdG8gZGlzcGxheSBvbmx5IHRoZSBvbmVzIHdpdGggdGhpcyBlbnZpcm9ubWVudCBJRC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGVudmlyb25tZW50SWQ6IHN0cmluZztcblxuICAgIC8qKiBGaWx0ZXIgdGhlIHRhc2tzLiBEaXNwbGF5IG9ubHkgdGFza3Mgd2l0aCBwYXJlbnRUYXNrSWQgZXF1YWwgdG8gdGhlIHN1cHBsaWVkIHZhbHVlLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgcGFyZW50VGFza0lkOiBzdHJpbmcgPSAnJztcblxuICAgIC8qKiBGaWx0ZXIgdGhlIHRhc2tzLiBEaXNwbGF5IG9ubHkgdGFza3Mgd2l0aCBwcm9jZXNzRGVmaW5pdGlvbk5hbWUgZXF1YWwgdG8gdGhlIHN1cHBsaWVkIHZhbHVlLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHJvY2Vzc0RlZmluaXRpb25OYW1lOiBzdHJpbmcgPSAnJztcblxuICAgIC8qKiBGaWx0ZXIgdGhlIHRhc2tzLiBEaXNwbGF5IG9ubHkgdGFza3Mgd2l0aCBwcm9jZXNzRGVmaW5pdGlvbklkIGVxdWFsIHRvIHRoZSBzdXBwbGllZCB2YWx1ZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIHByb2Nlc3NEZWZpbml0aW9uSWQ6IHN0cmluZyA9ICcnO1xuXG4gICAgLyoqIEZpbHRlciB0aGUgdGFza3MuIERpc3BsYXkgb25seSB0YXNrcyB3aXRoIHByb2Nlc3NJbnN0YW5jZUlkIGVxdWFsIHRvIHRoZSBzdXBwbGllZCB2YWx1ZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIHByb2Nlc3NJbnN0YW5jZUlkOiBzdHJpbmcgPSAnJztcblxuICAgIC8qKiBGaWx0ZXIgdGhlIHRhc2tzLiBEaXNwbGF5IG9ubHkgdGFza3Mgd2l0aCBzdGF0dXMgZXF1YWwgdG8gdGhlIHN1cHBsaWVkIHZhbHVlLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgc3RhdHVzOiBzdHJpbmcgPSAnJztcblxuICAgIC8qKiBGaWx0ZXIgdGhlIHRhc2tzLiBEaXNwbGF5IG9ubHkgdGFza3Mgd2l0aCBvd25lciBlcXVhbCB0byB0aGUgc3VwcGxpZWQgdmFsdWUuICovXG4gICAgQElucHV0KClcbiAgICBvd25lcjogc3RyaW5nID0gJyc7XG5cbiAgICAvKiogRmlsdGVyIHRoZSB0YXNrcy4gRGlzcGxheSBvbmx5IHRhc2tzIHdpdGggcHJpb3JpdHkgZXF1YWwgdG8gdGhlIHN1cHBsaWVkIHZhbHVlLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHJpb3JpdHk6IG51bWJlcjtcblxuICAgIC8qKiBGaWx0ZXIgdGhlIHRhc2tzLiBEaXNwbGF5IG9ubHkgdGFza3Mgd2l0aCBjcmVhdGVkQnkgZXF1YWwgdG8gdGhlIHN1cHBsaWVkIHZhbHVlLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgY29tcGxldGVkQnk6IG51bWJlcjtcblxuICAgIC8qKiBGaWx0ZXIgdGhlIHRhc2tzLiBEaXNwbGF5IG9ubHkgdGhlIHRhc2tzIHRoYXQgYmVsb25nIHRvIGEgcHJvY2VzcyBpbiBjYXNlIGlzIGZhbHNlIG9yIHRhc2tzIHRoYXQgZG9lc24ndCBiZWxvbmcgdG8gYSBwcm9jZXNzIGluIGNhc2Ugb2YgdHJ1ZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIHN0YW5kYWxvbmU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKiBGaWx0ZXIgdGhlIHRhc2tzLiBEaXNwbGF5IG9ubHkgdGFza3Mgd2l0aCBjb21wbGV0ZWREYXRlIGVxdWFsIHRvIHRoZSBzdXBwbGllZCBkYXRlLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgY29tcGxldGVkRGF0ZTogc3RyaW5nID0gJyc7XG5cbiAgICAvKiogRmlsdGVyIHRoZSB0YXNrcy4gRGlzcGxheSBvbmx5IHRhc2tzIHdpdGggY29tcGxldGVkRnJvbSBlcXVhbCB0byB0aGUgc3VwcGxpZWQgZGF0ZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIGNvbXBsZXRlZEZyb206IHN0cmluZyA9ICcnO1xuXG4gICAgLyoqIEZpbHRlciB0aGUgdGFza3MuIERpc3BsYXkgb25seSB0YXNrcyB3aXRoIGNvbXBsZXRlZFRvIGVxdWFsIHRvIHRoZSBzdXBwbGllZCBkYXRlLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgY29tcGxldGVkVG86IHN0cmluZyA9ICcnO1xuXG4gICAgLyoqIEZpbHRlciB0aGUgdGFza3MuIERpc3BsYXkgb25seSB0YXNrcyB3aXRoIGNhbmRpZGF0ZUdyb3VwcyBlcXVhbCB0byB0aGUgc3VwcGxpZWQgdmFsdWUuICovXG4gICAgQElucHV0KClcbiAgICBjYW5kaWRhdGVHcm91cElkOiBzdHJpbmcgPSAnJztcblxuICAgIC8qKiBGcm9tIEFjdGl2aXRpIDguNy4wIGZvcndhcmQsIHVzZSB0aGUgJ1BPU1QnIHZhbHVlIGFuZCBhcnJheSBpbnB1dHMgdG8gZW5hYmxlIGFkdmFuY2VkIGZpbHRlcmluZy4gKi9cbiAgICBASW5wdXQoKVxuICAgIHNlYXJjaEFwaU1ldGhvZDogJ0dFVCcgfCAnUE9TVCcgPSAnR0VUJztcblxuICAgIC8qKlxuICAgICAqIEZpbHRlciB0aGUgdGFza3MuIERpc3BsYXkgb25seSB0YXNrcyB3aXRoIG5hbWVzIG1hdGNoaW5nIGFueSBvZiB0aGUgc3VwcGxpZWQgc3RyaW5ncy5cbiAgICAgKiBUaGlzIGlucHV0IHdpbGwgYmUgdXNlZCBvbmx5IGlmIHNlYXJjaEFwaU1ldGhvZCBpbnB1dCBpcyBwcm92aWRlZCB3aXRoICdQT1NUJyB2YWx1ZS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIG5hbWVzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgLyoqXG4gICAgICogRmlsdGVyIHRoZSB0YXNrcy4gRGlzcGxheSBvbmx5IHRhc2tzIHdpdGggYXNzaWduZWVzIHdob3NlIHVzZXJuYW1lcyBhcmUgcHJlc2VudCBpbiB0aGUgYXJyYXkuXG4gICAgICogVGhpcyBpbnB1dCB3aWxsIGJlIHVzZWQgb25seSBpZiBzZWFyY2hBcGlNZXRob2QgaW5wdXQgaXMgcHJvdmlkZWQgd2l0aCAnUE9TVCcgdmFsdWUuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBhc3NpZ25lZXM6IHN0cmluZ1tdID0gW107XG5cbiAgICAvKipcbiAgICAgKiBGaWx0ZXIgdGhlIHRhc2tzLiBEaXNwbGF5IG9ubHkgdGFza3Mgd2l0aCBwcm92aWRlZCBzdGF0dXNlcy5cbiAgICAgKiBUaGlzIGlucHV0IHdpbGwgYmUgdXNlZCBvbmx5IGlmIHNlYXJjaEFwaU1ldGhvZCBpbnB1dCBpcyBwcm92aWRlZCB3aXRoICdQT1NUJyB2YWx1ZS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHN0YXR1c2VzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgLyoqXG4gICAgICogRmlsdGVyIHRoZSB0YXNrcy4gRGlzcGxheSBvbmx5IHRhc2tzIHVuZGVyIHByb2Nlc3NlcyB3aXRoIHByb3ZpZGVkIGRlZmluaXRpb24gbmFtZXMuXG4gICAgICogVGhpcyBpbnB1dCB3aWxsIGJlIHVzZWQgb25seSBpZiBzZWFyY2hBcGlNZXRob2QgaW5wdXQgaXMgcHJvdmlkZWQgd2l0aCAnUE9TVCcgdmFsdWUuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwcm9jZXNzRGVmaW5pdGlvbk5hbWVzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgLyoqXG4gICAgICogRmlsdGVyIHRoZSB0YXNrcy4gRGlzcGxheSBvbmx5IHRhc2tzIHdpdGggSWRzIG1hdGNoaW5nIGFueSBvZiB0aGUgc3VwcGxpZWQgc3RyaW5ncy5cbiAgICAgKiBUaGlzIGlucHV0IHdpbGwgYmUgdXNlZCBvbmx5IGlmIHNlYXJjaEFwaU1ldGhvZCBpbnB1dCBpcyBwcm92aWRlZCB3aXRoICdQT1NUJyB2YWx1ZS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGlkczogc3RyaW5nW10gPSBbXTtcblxuICAgIC8qKlxuICAgICAqIEZpbHRlciB0aGUgdGFza3MuIERpc3BsYXkgb25seSB0YXNrcyB3aXRoIHBhcmVudFRhc2tJZHMgbWF0Y2hpbmcgYW55IG9mIHRoZSBzdXBwbGllZCBzdHJpbmdzLlxuICAgICAqIFRoaXMgaW5wdXQgd2lsbCBiZSB1c2VkIG9ubHkgaWYgc2VhcmNoQXBpTWV0aG9kIGlucHV0IGlzIHByb3ZpZGVkIHdpdGggJ1BPU1QnIHZhbHVlLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcGFyZW50SWRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgLyoqXG4gICAgICogRmlsdGVyIHRoZSB0YXNrcy4gRGlzcGxheSBvbmx5IHRhc2tzIHdpdGggcHJvY2Vzc0luc3RhbmNlSWRzIG1hdGNoaW5nIGFueSBvZiB0aGUgc3VwcGxpZWQgc3RyaW5ncy5cbiAgICAgKiBUaGlzIGlucHV0IHdpbGwgYmUgdXNlZCBvbmx5IGlmIHNlYXJjaEFwaU1ldGhvZCBpbnB1dCBpcyBwcm92aWRlZCB3aXRoICdQT1NUJyB2YWx1ZS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHByb2Nlc3NJbnN0YW5jZUlkczogc3RyaW5nW10gPSBbXTtcblxuICAgIC8qKlxuICAgICAqIEZpbHRlciB0aGUgdGFza3MuIERpc3BsYXkgb25seSB0YXNrcyB1bmRlciBwcm9jZXNzZXMgd2l0aCBwcm92aWRlZCBuYW1lcy5cbiAgICAgKiBUaGlzIGlucHV0IHdpbGwgYmUgdXNlZCBvbmx5IGlmIHNlYXJjaEFwaU1ldGhvZCBpbnB1dCBpcyBwcm92aWRlZCB3aXRoICdQT1NUJyB2YWx1ZS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHByb2Nlc3NOYW1lczogc3RyaW5nW10gPSBbXTtcblxuICAgIC8qKlxuICAgICAqIEZpbHRlciB0aGUgdGFza3MuIERpc3BsYXkgb25seSB0YXNrcyB3aXRoIHByb3ZpZGVkIHByaW9yaXRpZXMuXG4gICAgICogVGhpcyBpbnB1dCB3aWxsIGJlIHVzZWQgb25seSBpZiBzZWFyY2hBcGlNZXRob2QgaW5wdXQgaXMgcHJvdmlkZWQgd2l0aCAnUE9TVCcgdmFsdWUuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwcmlvcml0aWVzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgLyoqXG4gICAgICogRmlsdGVyIHRoZSB0YXNrcy4gRGlzcGxheSBvbmx5IHRhc2tzIGNvbXBsZXRlZCBieSB1c2VycyB3aG9zZSB1c2VybmFtZXMgYXJlIHByZXNlbnQgaW4gdGhlIGFycmF5LlxuICAgICAqIFRoaXMgaW5wdXQgd2lsbCBiZSB1c2VkIG9ubHkgaWYgc2VhcmNoQXBpTWV0aG9kIGlucHV0IGlzIHByb3ZpZGVkIHdpdGggJ1BPU1QnIHZhbHVlLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgY29tcGxldGVkQnlVc2Vyczogc3RyaW5nW10gPSBbXTtcblxuICAgIC8qKlxuICAgICAqIEZpbHRlciB0aGUgcHJvY2Vzc2VzLiBEaXNwbGF5IG9ubHkgcHJvY2Vzc2VzIHdpdGggc3BlY2lmaWMgcHJvY2VzcyB2YXJpYWJsZXMuXG4gICAgICogVGhpcyBpbnB1dCB3aWxsIGJlIHVzZWQgb25seSBpZiBzZWFyY2hBcGlNZXRob2QgaW5wdXQgaXMgcHJvdmlkZWQgd2l0aCAnUE9TVCcgdmFsdWUuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwcm9jZXNzVmFyaWFibGVGaWx0ZXJzOiBQcm9jZXNzVmFyaWFibGVGaWx0ZXJNb2RlbFtdO1xuXG4gICAgcm93czogVGFza0luc3RhbmNlQ2xvdWRMaXN0Vmlld01vZGVsW10gPSBbXTtcbiAgICBkYXRhQWRhcHRlcjogVGFza3NMaXN0RGF0YXRhYmxlQWRhcHRlciB8IHVuZGVmaW5lZDtcblxuICAgIHByaXZhdGUgaXNSZWxvYWRpbmdTdWJqZWN0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICAgIGlzTG9hZGluZyQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLmlzTG9hZGluZ1ByZWZlcmVuY2VzJCwgdGhpcy5pc1JlbG9hZGluZ1N1YmplY3QkXSkucGlwZShcbiAgICAgICAgbWFwKChbaXNMb2FkaW5nUHJlZmVyZW5jZXMsIGlzUmVsb2FkaW5nXSkgPT4gaXNMb2FkaW5nUHJlZmVyZW5jZXMgfHwgaXNSZWxvYWRpbmcpXG4gICAgKTtcblxuICAgIHByaXZhdGUgZmV0Y2hQcm9jZXNzZXNUcmlnZ2VyJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChUQVNLX0xJU1RfQ0xPVURfVE9LRU4pIHB1YmxpYyB0YXNrTGlzdENsb3VkU2VydmljZTogVGFza0xpc3RDbG91ZFNlcnZpY2VJbnRlcmZhY2UsXG4gICAgICAgIGFwcENvbmZpZ1NlcnZpY2U6IEFwcENvbmZpZ1NlcnZpY2UsXG4gICAgICAgIHRhc2tDbG91ZFNlcnZpY2U6IFRhc2tDbG91ZFNlcnZpY2UsXG4gICAgICAgIHVzZXJQcmVmZXJlbmNlczogVXNlclByZWZlcmVuY2VzU2VydmljZSxcbiAgICAgICAgQEluamVjdChUQVNLX0xJU1RfUFJFRkVSRU5DRVNfU0VSVklDRV9UT0tFTikgY2xvdWRQcmVmZXJlbmNlU2VydmljZTogUHJlZmVyZW5jZUNsb3VkU2VydmljZUludGVyZmFjZSxcbiAgICAgICAgcHJpdmF0ZSB2aWV3TW9kZWxDcmVhdG9yOiBWYXJpYWJsZU1hcHBlclNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgc3VwZXIoYXBwQ29uZmlnU2VydmljZSwgdGFza0Nsb3VkU2VydmljZSwgdXNlclByZWZlcmVuY2VzLCBQUkVTRVRfS0VZLCBjbG91ZFByZWZlcmVuY2VTZXJ2aWNlKTtcblxuICAgICAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLmlzQ29sdW1uU2NoZW1hQ3JlYXRlZCQsIHRoaXMuZmV0Y2hQcm9jZXNzZXNUcmlnZ2VyJF0pXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YXAoKCkgPT4gdGhpcy5pc1JlbG9hZGluZ1N1YmplY3QkLm5leHQodHJ1ZSkpLFxuICAgICAgICAgICAgICAgIGZpbHRlcigoaXNDb2x1bW5TY2hlbWFDcmVhdGVkKSA9PiAhIWlzQ29sdW1uU2NoZW1hQ3JlYXRlZCksXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuc2VhcmNoQXBpTWV0aG9kID09PSAnUE9TVCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlcXVlc3ROb2RlID0gdGhpcy5jcmVhdGVUYXNrTGlzdFJlcXVlc3ROb2RlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy50YXNrTGlzdENsb3VkU2VydmljZS5mZXRjaFRhc2tMaXN0KHJlcXVlc3ROb2RlKS5waXBlKHRha2UoMSkpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVxdWVzdE5vZGUgPSB0aGlzLmNyZWF0ZVJlcXVlc3ROb2RlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlcXVlc3ROb2RlID0gcmVxdWVzdE5vZGU7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy50YXNrTGlzdENsb3VkU2VydmljZS5nZXRUYXNrQnlSZXF1ZXN0KHJlcXVlc3ROb2RlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCgpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgICAgICAgICBuZXh0OiAodGFza3M6IHsgbGlzdDogUGFnaW5hdGVkRW50cmllczxUYXNrQ2xvdWRNb2RlbD4gfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0YXNrc1dpdGhWYXJpYWJsZXMgPSB0YXNrcy5saXN0LmVudHJpZXMubWFwKCh0YXNrKSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAgICAgLi4udGFzayxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlczogdGFzay5wcm9jZXNzVmFyaWFibGVzXG4gICAgICAgICAgICAgICAgICAgIH0pKTtcblxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJvd3MgPSB0aGlzLnZpZXdNb2RlbENyZWF0b3IubWFwVmFyaWFibGVzQnlDb2x1bW5UaXRsZSh0YXNrc1dpdGhWYXJpYWJsZXMsIHRoaXMuY29sdW1ucyk7XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhQWRhcHRlciA9IG5ldyBUYXNrc0xpc3REYXRhdGFibGVBZGFwdGVyKHRoaXMucm93cywgdGhpcy5jb2x1bW5zKTtcblxuICAgICAgICAgICAgICAgICAgICB0aGlzLnN1Y2Nlc3MuZW1pdCh0YXNrcyk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNSZWxvYWRpbmdTdWJqZWN0JC5uZXh0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYWdpbmF0aW9uLm5leHQodGFza3MubGlzdC5wYWdpbmF0aW9uKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGVycm9yOiAoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZXJyb3IuZW1pdChlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNSZWxvYWRpbmdTdWJqZWN0JC5uZXh0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZWxvYWQoKSB7XG4gICAgICAgIHRoaXMuaXNSZWxvYWRpbmdTdWJqZWN0JC5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLmZldGNoUHJvY2Vzc2VzVHJpZ2dlciQubmV4dCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlVGFza0xpc3RSZXF1ZXN0Tm9kZSgpOiBUYXNrTGlzdFJlcXVlc3RNb2RlbCB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3ROb2RlOiBUYXNrTGlzdFJlcXVlc3RNb2RlbCA9IHtcbiAgICAgICAgICAgIGFwcE5hbWU6IHRoaXMuYXBwTmFtZSxcbiAgICAgICAgICAgIHBhZ2luYXRpb246IHtcbiAgICAgICAgICAgICAgICBtYXhJdGVtczogdGhpcy5zaXplLFxuICAgICAgICAgICAgICAgIHNraXBDb3VudDogdGhpcy5za2lwQ291bnRcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzb3J0aW5nOiB0aGlzLmdldFRhc2tMaXN0UmVxdWVzdFNvcnRpbmcoKSxcbiAgICAgICAgICAgIG9ubHlTdGFuZGFsb25lOiB0aGlzLnN0YW5kYWxvbmUsXG4gICAgICAgICAgICBuYW1lOiB0aGlzLm5hbWVzLFxuICAgICAgICAgICAgcHJvY2Vzc0RlZmluaXRpb25OYW1lOiB0aGlzLnByb2Nlc3NEZWZpbml0aW9uTmFtZXMsXG4gICAgICAgICAgICBpZDogdGhpcy5pZHMsXG4gICAgICAgICAgICBwYXJlbnRJZDogdGhpcy5wYXJlbnRJZHMsXG4gICAgICAgICAgICBwcm9jZXNzTmFtZTogdGhpcy5wcm9jZXNzTmFtZXMsXG4gICAgICAgICAgICBwcm9jZXNzSW5zdGFuY2VJZDogdGhpcy5wcm9jZXNzSW5zdGFuY2VJZHMsXG4gICAgICAgICAgICBwcmlvcml0eTogdGhpcy5wcmlvcml0aWVzLFxuICAgICAgICAgICAgc3RhdHVzOiB0aGlzLnN0YXR1c2VzLFxuICAgICAgICAgICAgY29tcGxldGVkQnk6IHRoaXMuY29tcGxldGVkQnlVc2VycyxcbiAgICAgICAgICAgIGFzc2lnbmVlOiB0aGlzLmFzc2lnbmVlcyxcbiAgICAgICAgICAgIGNyZWF0ZWRGcm9tOiB0aGlzLmNyZWF0ZWRGcm9tLFxuICAgICAgICAgICAgY3JlYXRlZFRvOiB0aGlzLmNyZWF0ZWRUbyxcbiAgICAgICAgICAgIGxhc3RNb2RpZmllZEZyb206IHRoaXMubGFzdE1vZGlmaWVkRnJvbSxcbiAgICAgICAgICAgIGxhc3RNb2RpZmllZFRvOiB0aGlzLmxhc3RNb2RpZmllZFRvLFxuICAgICAgICAgICAgZHVlRGF0ZUZyb206IHRoaXMuZHVlRGF0ZUZyb20sXG4gICAgICAgICAgICBkdWVEYXRlVG86IHRoaXMuZHVlRGF0ZVRvLFxuICAgICAgICAgICAgY29tcGxldGVkRnJvbTogdGhpcy5jb21wbGV0ZWRGcm9tLFxuICAgICAgICAgICAgY29tcGxldGVkVG86IHRoaXMuY29tcGxldGVkVG8sXG4gICAgICAgICAgICBwcm9jZXNzVmFyaWFibGVLZXlzOiB0aGlzLmdldFJlcXVlc3ROb2RlVmFyaWFibGVzKCksXG4gICAgICAgICAgICBwcm9jZXNzVmFyaWFibGVGaWx0ZXJzOiB0aGlzLnByb2Nlc3NWYXJpYWJsZUZpbHRlcnMgPz8gW11cbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gbmV3IFRhc2tMaXN0UmVxdWVzdE1vZGVsKHJlcXVlc3ROb2RlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZVJlcXVlc3ROb2RlKCk6IFRhc2tRdWVyeUNsb3VkUmVxdWVzdE1vZGVsIHtcbiAgICAgICAgY29uc3QgcmVxdWVzdE5vZGUgPSB7XG4gICAgICAgICAgICBhcHBOYW1lOiB0aGlzLmFwcE5hbWUsXG4gICAgICAgICAgICBhc3NpZ25lZTogdGhpcy5hc3NpZ25lZSxcbiAgICAgICAgICAgIGlkOiB0aGlzLmlkLFxuICAgICAgICAgICAgbmFtZTogdGhpcy5uYW1lLFxuICAgICAgICAgICAgZW52aXJvbm1lbnRJZDogdGhpcy5lbnZpcm9ubWVudElkLFxuICAgICAgICAgICAgcGFyZW50VGFza0lkOiB0aGlzLnBhcmVudFRhc2tJZCxcbiAgICAgICAgICAgIHByb2Nlc3NEZWZpbml0aW9uTmFtZTogdGhpcy5wcm9jZXNzRGVmaW5pdGlvbk5hbWUsXG4gICAgICAgICAgICBwcm9jZXNzRGVmaW5pdGlvbklkOiB0aGlzLnByb2Nlc3NEZWZpbml0aW9uSWQsXG4gICAgICAgICAgICBwcm9jZXNzSW5zdGFuY2VJZDogdGhpcy5wcm9jZXNzSW5zdGFuY2VJZCxcbiAgICAgICAgICAgIG93bmVyOiB0aGlzLm93bmVyLFxuICAgICAgICAgICAgcHJpb3JpdHk6IHRoaXMucHJpb3JpdHksXG4gICAgICAgICAgICBsYXN0TW9kaWZpZWRGcm9tOiB0aGlzLmxhc3RNb2RpZmllZEZyb20sXG4gICAgICAgICAgICBsYXN0TW9kaWZpZWRUbzogdGhpcy5sYXN0TW9kaWZpZWRUbyxcbiAgICAgICAgICAgIGR1ZURhdGVGcm9tOiB0aGlzLmR1ZURhdGVGcm9tLFxuICAgICAgICAgICAgZHVlRGF0ZVRvOiB0aGlzLmR1ZURhdGVUbyxcbiAgICAgICAgICAgIHN0YXR1czogdGhpcy5zdGF0dXMsXG4gICAgICAgICAgICBkdWVEYXRlOiB0aGlzLmR1ZURhdGUsXG4gICAgICAgICAgICBjcmVhdGVkRGF0ZTogdGhpcy5jcmVhdGVkRGF0ZSxcbiAgICAgICAgICAgIGNyZWF0ZWRGcm9tOiB0aGlzLmNyZWF0ZWRGcm9tLFxuICAgICAgICAgICAgY3JlYXRlZFRvOiB0aGlzLmNyZWF0ZWRUbyxcbiAgICAgICAgICAgIG1heEl0ZW1zOiB0aGlzLnNpemUsXG4gICAgICAgICAgICBza2lwQ291bnQ6IHRoaXMuc2tpcENvdW50LFxuICAgICAgICAgICAgc29ydGluZzogdGhpcy5zb3J0aW5nLFxuICAgICAgICAgICAgc3RhbmRhbG9uZTogdGhpcy5zdGFuZGFsb25lLFxuICAgICAgICAgICAgY29tcGxldGVkQnk6IHRoaXMuY29tcGxldGVkQnksXG4gICAgICAgICAgICBjb21wbGV0ZWRGcm9tOiB0aGlzLmNvbXBsZXRlZEZyb20sXG4gICAgICAgICAgICBjb21wbGV0ZWRUbzogdGhpcy5jb21wbGV0ZWRUbyxcbiAgICAgICAgICAgIGNvbXBsZXRlZERhdGU6IHRoaXMuY29tcGxldGVkRGF0ZSxcbiAgICAgICAgICAgIGNhbmRpZGF0ZUdyb3VwSWQ6IHRoaXMuY2FuZGlkYXRlR3JvdXBJZCxcbiAgICAgICAgICAgIHZhcmlhYmxlS2V5czogdGhpcy5nZXRSZXF1ZXN0Tm9kZVZhcmlhYmxlcygpXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIG5ldyBUYXNrUXVlcnlDbG91ZFJlcXVlc3RNb2RlbChyZXF1ZXN0Tm9kZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRSZXF1ZXN0Tm9kZVZhcmlhYmxlcygpOiBzdHJpbmdbXSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGNvbnN0IGRpc3BsYXllZFZhcmlhYmxlQ29sdW1uczogc3RyaW5nW10gPSAodGhpcy5jb2x1bW5zID8/IFtdKVxuICAgICAgICAgICAgLmZpbHRlcigoY29sdW1uKSA9PiBjb2x1bW4uY3VzdG9tRGF0YT8uY29sdW1uVHlwZSA9PT0gJ3Byb2Nlc3MtdmFyaWFibGUtY29sdW1uJyAmJiBjb2x1bW4uaXNIaWRkZW4gIT09IHRydWUpXG4gICAgICAgICAgICAubWFwKChjb2x1bW4pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB2YXJpYWJsZURlZmluaXRpb25zUGF5bG9hZCA9IGNvbHVtbi5jdXN0b21EYXRhLnZhcmlhYmxlRGVmaW5pdGlvbnNQYXlsb2FkO1xuICAgICAgICAgICAgICAgIHJldHVybiB2YXJpYWJsZURlZmluaXRpb25zUGF5bG9hZDtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAucmVkdWNlKChhbGxSZXF1ZXN0S2V5cywgcmVxdWVzdEtleXMpID0+IFsuLi5yZXF1ZXN0S2V5cywgLi4uYWxsUmVxdWVzdEtleXNdLCBbXSk7XG5cbiAgICAgICAgcmV0dXJuIGRpc3BsYXllZFZhcmlhYmxlQ29sdW1ucy5sZW5ndGggPyBkaXNwbGF5ZWRWYXJpYWJsZUNvbHVtbnMgOiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRUYXNrTGlzdFJlcXVlc3RTb3J0aW5nKCk6IFRhc2tMaXN0UmVxdWVzdFNvcnRpbmdNb2RlbCB7XG4gICAgICAgIGlmICghdGhpcy5zb3J0aW5nPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgVGFza0xpc3RSZXF1ZXN0U29ydGluZ01vZGVsKHtcbiAgICAgICAgICAgICAgICBvcmRlckJ5OiB0aGlzLmRlZmF1bHRTb3J0aW5nLmtleSxcbiAgICAgICAgICAgICAgICBkaXJlY3Rpb246IHRoaXMuZGVmYXVsdFNvcnRpbmcuZGlyZWN0aW9uLFxuICAgICAgICAgICAgICAgIGlzRmllbGRQcm9jZXNzVmFyaWFibGU6IGZhbHNlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG9yZGVyQnkgPSB0aGlzLnNvcnRpbmdbMF0/Lm9yZGVyQnk7XG4gICAgICAgIGNvbnN0IGRpcmVjdGlvbiA9IHRoaXMuc29ydGluZ1swXT8uZGlyZWN0aW9uO1xuICAgICAgICBjb25zdCBvcmRlckJ5Q29sdW1uID0gdGhpcy5jb2x1bW5MaXN0Py5jb2x1bW5zLmZpbmQoKGNvbHVtbikgPT4gY29sdW1uLmtleSA9PT0gb3JkZXJCeSk7XG4gICAgICAgIGNvbnN0IGlzRmllbGRQcm9jZXNzVmFyaWFibGUgPSBvcmRlckJ5Q29sdW1uPy5jdXN0b21EYXRhPy5jb2x1bW5UeXBlID09PSAncHJvY2Vzcy12YXJpYWJsZS1jb2x1bW4nO1xuXG4gICAgICAgIGlmIChpc0ZpZWxkUHJvY2Vzc1ZhcmlhYmxlKSB7XG4gICAgICAgICAgICBjb25zdCBwcm9jZXNzRGVmaW5pdGlvbktleSA9IG9yZGVyQnlDb2x1bW4uY3VzdG9tRGF0YS52YXJpYWJsZURlZmluaXRpb25zUGF5bG9hZFswXS5zcGxpdCgnLycpWzBdO1xuICAgICAgICAgICAgY29uc3QgdmFyaWFibGVOYW1lID0gb3JkZXJCeUNvbHVtbi5jdXN0b21EYXRhLnZhcmlhYmxlRGVmaW5pdGlvbnNQYXlsb2FkWzBdLnNwbGl0KCcvJylbMV07XG4gICAgICAgICAgICByZXR1cm4gbmV3IFRhc2tMaXN0UmVxdWVzdFNvcnRpbmdNb2RlbCh7XG4gICAgICAgICAgICAgICAgb3JkZXJCeTogdmFyaWFibGVOYW1lLFxuICAgICAgICAgICAgICAgIGRpcmVjdGlvbixcbiAgICAgICAgICAgICAgICBpc0ZpZWxkUHJvY2Vzc1ZhcmlhYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgIHByb2Nlc3NWYXJpYWJsZURhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgcHJvY2Vzc0RlZmluaXRpb25LZXksXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IG9yZGVyQnlDb2x1bW4uY3VzdG9tRGF0YS52YXJpYWJsZVR5cGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgVGFza0xpc3RSZXF1ZXN0U29ydGluZ01vZGVsKHsgb3JkZXJCeSwgZGlyZWN0aW9uLCBpc0ZpZWxkUHJvY2Vzc1ZhcmlhYmxlOiBmYWxzZSB9KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCIhcm93c1wiPnt7ICdBREZfQ0xPVURfVEFTS19MSVNULkZJTFRFUlMuTUVTU0FHRVMuTk9ORScgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJyb3dzXCI+XG4gICAgICAgIDxhZGYtZGF0YXRhYmxlXG4gICAgICAgICAgICBbcm93c109XCJyb3dzXCJcbiAgICAgICAgICAgIFtjb2x1bW5zXT1cImNvbHVtbnNcIlxuICAgICAgICAgICAgW2RhdGFdPVwiZGF0YUFkYXB0ZXJcIlxuICAgICAgICAgICAgW2xvYWRpbmddPVwiaXNMb2FkaW5nJCB8IGFzeW5jXCJcbiAgICAgICAgICAgIFtzb3J0aW5nXT1cImZvcm1hdHRlZFNvcnRpbmdcIlxuICAgICAgICAgICAgW211bHRpc2VsZWN0XT1cIm11bHRpc2VsZWN0XCJcbiAgICAgICAgICAgIFtzZWxlY3Rpb25Nb2RlXT1cInNlbGVjdGlvbk1vZGVcIlxuICAgICAgICAgICAgW3N0aWNreUhlYWRlcl09XCJzdGlja3lIZWFkZXJcIlxuICAgICAgICAgICAgW2FjdGlvbnNdPVwic2hvd0FjdGlvbnNcIlxuICAgICAgICAgICAgW2FjdGlvbnNQb3NpdGlvbl09XCJhY3Rpb25zUG9zaXRpb25cIlxuICAgICAgICAgICAgW2NvbnRleHRNZW51XT1cInNob3dDb250ZXh0TWVudVwiXG4gICAgICAgICAgICBbcmVzb2x2ZXJGbl09XCJib3VuZFJlcGxhY2VQcmlvcml0eVZhbHVlc1wiXG4gICAgICAgICAgICBbc2hvd1Byb3ZpZGVkQWN0aW9uc109XCJzaG93UHJvdmlkZWRBY3Rpb25zXCJcbiAgICAgICAgICAgIFtzaG93TWFpbkRhdGF0YWJsZUFjdGlvbnNdPVwic2hvd01haW5EYXRhdGFibGVBY3Rpb25zXCJcbiAgICAgICAgICAgIFtpc1Jlc2l6aW5nRW5hYmxlZF09XCJpc1Jlc2l6aW5nRW5hYmxlZFwiXG4gICAgICAgICAgICAoc2hvd1Jvd0FjdGlvbnNNZW51KT1cIm9uU2hvd1Jvd0FjdGlvbnNNZW51KCRldmVudClcIlxuICAgICAgICAgICAgKHNob3dSb3dDb250ZXh0TWVudSk9XCJvblNob3dSb3dDb250ZXh0TWVudSgkZXZlbnQpXCJcbiAgICAgICAgICAgIChleGVjdXRlUm93QWN0aW9uKT1cIm9uRXhlY3V0ZVJvd0FjdGlvbigkZXZlbnQpXCJcbiAgICAgICAgICAgIChyb3ctc2VsZWN0KT1cIm9uUm93U2VsZWN0KCRhbnkoJGV2ZW50KSlcIlxuICAgICAgICAgICAgKHJvdy11bnNlbGVjdCk9XCJvblJvd1Vuc2VsZWN0KCRhbnkoJGV2ZW50KSlcIlxuICAgICAgICAgICAgKHJvd0NsaWNrKT1cIm9uUm93Q2xpY2soJGFueSgkZXZlbnQpKVwiXG4gICAgICAgICAgICAocm93LWtleXVwKT1cIm9uUm93S2V5VXAoJGFueSgkZXZlbnQpKVwiXG4gICAgICAgICAgICAoc29ydGluZy1jaGFuZ2VkKT1cIm9uU29ydGluZ0NoYW5nZWQoJGFueSgkZXZlbnQpKVwiXG4gICAgICAgICAgICAoY29sdW1uT3JkZXJDaGFuZ2VkKT1cIm9uQ29sdW1uT3JkZXJDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAgICAgKGNvbHVtbnNXaWR0aENoYW5nZWQpPVwib25Db2x1bW5zV2lkdGhDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPGFkZi1sb2FkaW5nLWNvbnRlbnQtdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LXByb2dyZXNzLXNwaW5uZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLWNsb3VkLXRhc2stbGlzdC1sb2FkaW5nLW1hcmdpblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY29sb3JdPVwiJ3ByaW1hcnknXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlXT1cIidpbmRldGVybWluYXRlJ1wiIC8+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvYWRmLWxvYWRpbmctY29udGVudC10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDxhZGYtbm8tY29udGVudC10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgIDxhZGYtZW1wdHktY29udGVudFxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhZW1wdHlDdXN0b21Db250ZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb249XCJhc3NpZ25tZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCInQURGX0NMT1VEX1RBU0tfTElTVC5MSVNULk1FU1NBR0VTLlRJVExFJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3VidGl0bGVdPVwiJ0FERl9DTE9VRF9UQVNLX0xJU1QuTElTVC5NRVNTQUdFUy5TVUJUSVRMRScgfCB0cmFuc2xhdGVcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJhZGYtY3VzdG9tLWVtcHR5LWNvbnRlbnQtdGVtcGxhdGVcIiAvPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L2FkZi1uby1jb250ZW50LXRlbXBsYXRlPlxuXG4gICAgICAgICAgICA8YWRmLW1haW4tbWVudS1kYXRhdGFibGUtdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1tYWluTWVudVRyaWdnZXI+XG4gICAgICAgICAgICAgICAgICAgIDxhZGYtZGF0YXRhYmxlLWNvbHVtbi1zZWxlY3RvclxuICAgICAgICAgICAgICAgICAgICAgICAgW2NvbHVtbnNdPVwiY29sdW1uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbWFpbk1lbnVUcmlnZ2VyXT1cIm1haW5NZW51VHJpZ2dlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoc3VibWl0Q29sdW1uc1Zpc2liaWxpdHkpPVwib25Db2x1bW5zVmlzaWJpbGl0eUNoYW5nZSgkZXZlbnQpXCIgLz5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9hZGYtbWFpbi1tZW51LWRhdGF0YWJsZS10ZW1wbGF0ZT5cbiAgICAgICAgPC9hZGYtZGF0YXRhYmxlPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
@@ -0,0 +1,18 @@
1
+ /*!
2
+ * @license
3
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ export {};
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS10YXNrLWNsb3VkLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL3Byb2Nlc3Mtc2VydmljZXMtY2xvdWQvc3JjL2xpYi90YXNrL3Rhc2stbGlzdC9tb2RlbHMvc2VydmljZS10YXNrLWNsb3VkLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgVGFza0xpc3RDbG91ZFNvcnRpbmdNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy90YXNrLWxpc3Qtc29ydGluZy5tb2RlbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmljZVRhc2tRdWVyeUNsb3VkUmVxdWVzdE1vZGVsIHtcbiAgICBhcHBOYW1lOiBzdHJpbmc7XG4gICAgYXBwVmVyc2lvbj86IHN0cmluZztcbiAgICBlbnZpcm9ubWVudElkPzogc3RyaW5nO1xuICAgIGlkPzogc3RyaW5nO1xuICAgIHN0YXR1cz86IHN0cmluZztcbiAgICBtYXhJdGVtczogbnVtYmVyO1xuICAgIHNraXBDb3VudDogbnVtYmVyO1xuICAgIHNvcnRpbmc/OiBUYXNrTGlzdENsb3VkU29ydGluZ01vZGVsW107XG4gICAgYWN0aXZpdHlOYW1lPzogc3RyaW5nO1xuICAgIGFjdGl2aXR5VHlwZT86IHN0cmluZztcbiAgICBjb21wbGV0ZWREYXRlPzogRGF0ZTtcbiAgICBlbGVtZW50SWQ/OiBzdHJpbmc7XG4gICAgZXhlY3V0aW9uSWQ/OiBzdHJpbmc7XG4gICAgcHJvY2Vzc0RlZmluaXRpb25JZD86IHN0cmluZztcbiAgICBwcm9jZXNzRGVmaW5pdGlvbktleT86IHN0cmluZztcbiAgICBwcm9jZXNzRGVmaW5pdGlvblZlcnNpb24/OiBudW1iZXI7XG4gICAgcHJvY2Vzc0luc3RhbmNlSWQ/OiBzdHJpbmc7XG4gICAgc2VydmljZUZ1bGxOYW1lPzogc3RyaW5nO1xuICAgIHNlcnZpY2VOYW1lPzogc3RyaW5nO1xuICAgIHNlcnZpY2VWZXJzaW9uPzogc3RyaW5nO1xuICAgIHN0YXJ0ZWREYXRlPzogRGF0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZXJ2aWNlVGFza0ludGVncmF0aW9uQ29udGV4dENsb3VkTW9kZWwgZXh0ZW5kcyBTZXJ2aWNlVGFza1F1ZXJ5Q2xvdWRSZXF1ZXN0TW9kZWwge1xuICAgIGVycm9yRGF0ZT86IERhdGU7XG4gICAgZXJyb3JDbGFzc05hbWU/OiBzdHJpbmc7XG4gICAgZXJyb3JDb2RlPzogc3RyaW5nO1xuICAgIGVycm9yTWVzc2FnZT86IHN0cmluZztcbn1cbiJdfQ==
@@ -0,0 +1,18 @@
1
+ /*!
2
+ * @license
3
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ export {};
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1jbG91ZC12aWV3Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL3Byb2Nlc3Mtc2VydmljZXMtY2xvdWQvc3JjL2xpYi90YXNrL3Rhc2stbGlzdC9tb2RlbHMvdGFzay1jbG91ZC12aWV3Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgVGFza0Nsb3VkTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvdGFzay1jbG91ZC5tb2RlbCc7XG5pbXBvcnQgeyBXaXRoVmFyaWFibGVzTWFwIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3Byb2Nlc3MtaW5zdGFuY2UtdmFyaWFibGUubW9kZWwnO1xuXG5leHBvcnQgdHlwZSBUYXNrSW5zdGFuY2VDbG91ZExpc3RWaWV3TW9kZWwgPSBXaXRoVmFyaWFibGVzTWFwPFRhc2tDbG91ZE1vZGVsPjtcbiJdfQ==
@@ -0,0 +1,23 @@
1
+ /*!
2
+ * @license
3
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ export * from './components/task-list/task-list-cloud.component';
18
+ export * from './components/service-task-list/service-task-list-cloud.component';
19
+ export * from './models/service-task-cloud.model';
20
+ export * from './services/task-list-cloud.service';
21
+ export * from './services/service-task-list-cloud.service';
22
+ export * from './task-list-cloud.module';
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzLWNsb3VkL3NyYy9saWIvdGFzay90YXNrLWxpc3QvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxjQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLGNBQWMsa0VBQWtFLENBQUM7QUFFakYsY0FBYyxtQ0FBbUMsQ0FBQztBQUVsRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsNENBQTRDLENBQUM7QUFFM0QsY0FBYywwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3Rhc2stbGlzdC90YXNrLWxpc3QtY2xvdWQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9zZXJ2aWNlLXRhc2stbGlzdC9zZXJ2aWNlLXRhc2stbGlzdC1jbG91ZC5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9zZXJ2aWNlLXRhc2stY2xvdWQubW9kZWwnO1xuXG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL3Rhc2stbGlzdC1jbG91ZC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvc2VydmljZS10YXNrLWxpc3QtY2xvdWQuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vdGFzay1saXN0LWNsb3VkLm1vZHVsZSc7XG4iXX0=