@alfresco/adf-core 8.1.0-15070800207 → 8.1.0-15113180840

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 (572) hide show
  1. package/feature-flags/lib/providers/debug-feature-flags.provider.d.ts +4 -35
  2. package/fesm2022/adf-core.mjs +939 -957
  3. package/fesm2022/adf-core.mjs.map +1 -1
  4. package/fesm2022/alfresco-adf-core-api.mjs +4 -4
  5. package/fesm2022/alfresco-adf-core-api.mjs.map +1 -1
  6. package/fesm2022/alfresco-adf-core-auth.mjs +3 -3
  7. package/fesm2022/alfresco-adf-core-auth.mjs.map +1 -1
  8. package/fesm2022/alfresco-adf-core-breadcrumbs.mjs +11 -11
  9. package/fesm2022/alfresco-adf-core-breadcrumbs.mjs.map +1 -1
  10. package/fesm2022/alfresco-adf-core-feature-flags.mjs +51 -56
  11. package/fesm2022/alfresco-adf-core-feature-flags.mjs.map +1 -1
  12. package/fesm2022/alfresco-adf-core-shell.mjs +9 -9
  13. package/fesm2022/alfresco-adf-core-shell.mjs.map +1 -1
  14. package/lib/card-view/components/base-card-view.d.ts +1 -1
  15. package/lib/datatable/data/data-table.schema.d.ts +1 -1
  16. package/lib/form/components/form-renderer.component.scss +5 -6
  17. package/package.json +3 -15
  18. package/esm2022/adf-core.mjs +0 -5
  19. package/esm2022/api/alfresco-adf-core-api.mjs +0 -5
  20. package/esm2022/api/index.mjs +0 -20
  21. package/esm2022/api/lib/adf-http-client.service.mjs +0 -311
  22. package/esm2022/api/lib/alfresco-api/alfresco-api.param-encoder.mjs +0 -33
  23. package/esm2022/api/lib/alfresco-api/alfresco-api.response-error.mjs +0 -25
  24. package/esm2022/api/lib/alfresco-api/alfresco-api.utils.mjs +0 -80
  25. package/esm2022/api/lib/interfaces.mjs +0 -18
  26. package/esm2022/api/lib/types.mjs +0 -18
  27. package/esm2022/auth/alfresco-adf-core-auth.mjs +0 -5
  28. package/esm2022/auth/authentication-interceptor/authentication.interceptor.mjs +0 -56
  29. package/esm2022/auth/authentication.mjs +0 -19
  30. package/esm2022/auth/index.mjs +0 -19
  31. package/esm2022/breadcrumbs/alfresco-adf-core-breadcrumbs.mjs +0 -5
  32. package/esm2022/breadcrumbs/components/breadcrumb/breadcrumb.component.mjs +0 -83
  33. package/esm2022/breadcrumbs/components/breadcrumb-item/breadcrumb-item.component.mjs +0 -42
  34. package/esm2022/breadcrumbs/directives/breadcrumb-focus.directive.mjs +0 -44
  35. package/esm2022/breadcrumbs/index.mjs +0 -19
  36. package/esm2022/feature-flags/alfresco-adf-core-feature-flags.mjs +0 -5
  37. package/esm2022/feature-flags/index.mjs +0 -29
  38. package/esm2022/feature-flags/lib/components/feature-flags-wrapper.mjs +0 -36
  39. package/esm2022/feature-flags/lib/components/feature-override-indicator.component.mjs +0 -56
  40. package/esm2022/feature-flags/lib/components/flags/flags.component.mjs +0 -130
  41. package/esm2022/feature-flags/lib/directives/features.directive.mjs +0 -63
  42. package/esm2022/feature-flags/lib/directives/not-features.directive.mjs +0 -63
  43. package/esm2022/feature-flags/lib/guards/is-feature-off.guard.mjs +0 -38
  44. package/esm2022/feature-flags/lib/guards/is-feature-on.guard.mjs +0 -38
  45. package/esm2022/feature-flags/lib/guards/is-flags-override-on.guard.mjs +0 -40
  46. package/esm2022/feature-flags/lib/interfaces/features.interface.mjs +0 -24
  47. package/esm2022/feature-flags/lib/mocks/features-service-mock.factory.mjs +0 -62
  48. package/esm2022/feature-flags/lib/providers/debug-feature-flags.provider.mjs +0 -51
  49. package/esm2022/feature-flags/lib/providers/dummy-feature-flags.provider.mjs +0 -36
  50. package/esm2022/feature-flags/lib/services/debug-features.service.mjs +0 -94
  51. package/esm2022/feature-flags/lib/services/dummy-features.service.mjs +0 -40
  52. package/esm2022/feature-flags/lib/services/flagset.parser.mjs +0 -38
  53. package/esm2022/feature-flags/lib/services/qa-features.helper.mjs +0 -62
  54. package/esm2022/feature-flags/lib/services/storage-features.service.mjs +0 -126
  55. package/esm2022/lib/about/about-extension-list/about-extension-list.component.mjs +0 -52
  56. package/esm2022/lib/about/about-license-list/about-license-list.component.mjs +0 -52
  57. package/esm2022/lib/about/about-module-list/module-list.component.mjs +0 -52
  58. package/esm2022/lib/about/about-package/package-list.component.mjs +0 -66
  59. package/esm2022/lib/about/about-panel.directive.mjs +0 -37
  60. package/esm2022/lib/about/about-repository-info/about-repository-info.component.mjs +0 -60
  61. package/esm2022/lib/about/about-repository-info/repository-info.interface.mjs +0 -18
  62. package/esm2022/lib/about/about-server-settings/about-server-settings.component.mjs +0 -43
  63. package/esm2022/lib/about/about-status-list/about-status-list.component.mjs +0 -52
  64. package/esm2022/lib/about/about.component.mjs +0 -35
  65. package/esm2022/lib/about/about.module.mjs +0 -75
  66. package/esm2022/lib/about/index.mjs +0 -18
  67. package/esm2022/lib/about/interfaces.mjs +0 -18
  68. package/esm2022/lib/about/public-api.mjs +0 -28
  69. package/esm2022/lib/app-config/app-config-storage-prefix.factory.mjs +0 -51
  70. package/esm2022/lib/app-config/app-config.loader.mjs +0 -41
  71. package/esm2022/lib/app-config/app-config.module.mjs +0 -33
  72. package/esm2022/lib/app-config/app-config.pipe.mjs +0 -38
  73. package/esm2022/lib/app-config/app-config.service.mjs +0 -243
  74. package/esm2022/lib/app-config/debug-app-config.service.mjs +0 -44
  75. package/esm2022/lib/app-config/index.mjs +0 -18
  76. package/esm2022/lib/app-config/public-api.mjs +0 -22
  77. package/esm2022/lib/auth/authentication-interceptor/auth-bearer.interceptor.mjs +0 -67
  78. package/esm2022/lib/auth/basic-auth/basic-alfresco-auth.service.mjs +0 -356
  79. package/esm2022/lib/auth/basic-auth/content-auth.mjs +0 -189
  80. package/esm2022/lib/auth/basic-auth/process-auth.mjs +0 -193
  81. package/esm2022/lib/auth/guard/auth-guard-bpm.service.mjs +0 -31
  82. package/esm2022/lib/auth/guard/auth-guard-ecm.service.mjs +0 -31
  83. package/esm2022/lib/auth/guard/auth-guard-sso-role.service.mjs +0 -57
  84. package/esm2022/lib/auth/guard/auth-guard.mjs +0 -53
  85. package/esm2022/lib/auth/guard/auth-guard.service.mjs +0 -113
  86. package/esm2022/lib/auth/index.mjs +0 -18
  87. package/esm2022/lib/auth/interfaces/authentication-service.interface.mjs +0 -18
  88. package/esm2022/lib/auth/interfaces/authentication.interface.mjs +0 -18
  89. package/esm2022/lib/auth/interfaces/identity-group.interface.mjs +0 -18
  90. package/esm2022/lib/auth/interfaces/identity-user.service.interface.mjs +0 -18
  91. package/esm2022/lib/auth/interfaces/openid-configuration.interface.mjs +0 -18
  92. package/esm2022/lib/auth/models/application-access.model.mjs +0 -18
  93. package/esm2022/lib/auth/models/identity-group.model.mjs +0 -18
  94. package/esm2022/lib/auth/models/identity-role.model.mjs +0 -30
  95. package/esm2022/lib/auth/models/identity-user.model.mjs +0 -18
  96. package/esm2022/lib/auth/models/oauth-config.model.mjs +0 -18
  97. package/esm2022/lib/auth/models/redirection.model.mjs +0 -28
  98. package/esm2022/lib/auth/models/user-access.model.mjs +0 -18
  99. package/esm2022/lib/auth/oidc/auth-config.mjs +0 -19
  100. package/esm2022/lib/auth/oidc/auth-config.service.mjs +0 -110
  101. package/esm2022/lib/auth/oidc/auth-routing.module.mjs +0 -34
  102. package/esm2022/lib/auth/oidc/auth.module.mjs +0 -112
  103. package/esm2022/lib/auth/oidc/auth.service.mjs +0 -22
  104. package/esm2022/lib/auth/oidc/oidc-auth.guard.mjs +0 -37
  105. package/esm2022/lib/auth/oidc/oidc-authentication.service.mjs +0 -202
  106. package/esm2022/lib/auth/oidc/public-api.mjs +0 -24
  107. package/esm2022/lib/auth/oidc/redirect-auth.service.mjs +0 -267
  108. package/esm2022/lib/auth/oidc/retry-login.service.mjs +0 -66
  109. package/esm2022/lib/auth/oidc/token.interceptor.mjs +0 -62
  110. package/esm2022/lib/auth/oidc/view/authentication-confirmation/authentication-confirmation.component.mjs +0 -31
  111. package/esm2022/lib/auth/public-api.mjs +0 -44
  112. package/esm2022/lib/auth/services/authentication.service.mjs +0 -190
  113. package/esm2022/lib/auth/services/base-authentication.service.mjs +0 -99
  114. package/esm2022/lib/auth/services/identity-group.service.mjs +0 -269
  115. package/esm2022/lib/auth/services/identity-role.service.mjs +0 -99
  116. package/esm2022/lib/auth/services/identity-user.service.mjs +0 -443
  117. package/esm2022/lib/auth/services/jwt-helper.service.mjs +0 -205
  118. package/esm2022/lib/auth/services/oauth2.service.mjs +0 -69
  119. package/esm2022/lib/auth/services/time-sync.service.mjs +0 -83
  120. package/esm2022/lib/auth/services/user-access.service.mjs +0 -110
  121. package/esm2022/lib/avatar/avatar.component.mjs +0 -51
  122. package/esm2022/lib/blank-page/blank-page.component.mjs +0 -31
  123. package/esm2022/lib/blank-page/blank-page.module.mjs +0 -33
  124. package/esm2022/lib/blank-page/index.mjs +0 -18
  125. package/esm2022/lib/blank-page/public-api.mjs +0 -19
  126. package/esm2022/lib/button/button.component.mjs +0 -61
  127. package/esm2022/lib/card-view/card-view.module.mjs +0 -80
  128. package/esm2022/lib/card-view/components/base-card-view.mjs +0 -51
  129. package/esm2022/lib/card-view/components/card-view/card-view.component.mjs +0 -66
  130. package/esm2022/lib/card-view/components/card-view-arrayitem/card-view-arrayitem.component.mjs +0 -56
  131. package/esm2022/lib/card-view/components/card-view-boolitem/card-view-boolitem.component.mjs +0 -40
  132. package/esm2022/lib/card-view/components/card-view-dateitem/card-view-dateitem.component.mjs +0 -177
  133. package/esm2022/lib/card-view/components/card-view-item-dispatcher/card-view-item-dispatcher.component.mjs +0 -108
  134. package/esm2022/lib/card-view/components/card-view-keyvaluepairsitem/card-view-keyvaluepairsitem.component.mjs +0 -65
  135. package/esm2022/lib/card-view/components/card-view-mapitem/card-view-mapitem.component.mjs +0 -47
  136. package/esm2022/lib/card-view/components/card-view-selectitem/card-view-selectitem.component.mjs +0 -138
  137. package/esm2022/lib/card-view/components/card-view-selectitem/select-filter-input/select-filter-input.component.mjs +0 -114
  138. package/esm2022/lib/card-view/components/card-view-textitem/card-view-textitem.component.mjs +0 -240
  139. package/esm2022/lib/card-view/components/card-view.components.mjs +0 -28
  140. package/esm2022/lib/card-view/index.mjs +0 -18
  141. package/esm2022/lib/card-view/interfaces/base-card-view-update.interface.mjs +0 -18
  142. package/esm2022/lib/card-view/interfaces/card-view-arrayitem-properties.interface.mjs +0 -18
  143. package/esm2022/lib/card-view/interfaces/card-view-boolitem-properties.interface.mjs +0 -18
  144. package/esm2022/lib/card-view/interfaces/card-view-dateitem-properties.interface.mjs +0 -18
  145. package/esm2022/lib/card-view/interfaces/card-view-item-properties.interface.mjs +0 -18
  146. package/esm2022/lib/card-view/interfaces/card-view-item-validator.interface.mjs +0 -18
  147. package/esm2022/lib/card-view/interfaces/card-view-item.interface.mjs +0 -18
  148. package/esm2022/lib/card-view/interfaces/card-view-keyvaluepairsitem-properties.interface.mjs +0 -18
  149. package/esm2022/lib/card-view/interfaces/card-view-selectitem-properties.interface.mjs +0 -18
  150. package/esm2022/lib/card-view/interfaces/card-view-textitem-pipe-property.interface.mjs +0 -18
  151. package/esm2022/lib/card-view/interfaces/card-view-textitem-properties.interface.mjs +0 -18
  152. package/esm2022/lib/card-view/interfaces/card-view.interfaces.mjs +0 -29
  153. package/esm2022/lib/card-view/interfaces/click-notification.interface.mjs +0 -18
  154. package/esm2022/lib/card-view/interfaces/update-notification.interface.mjs +0 -18
  155. package/esm2022/lib/card-view/models/card-view-arrayitem.model.mjs +0 -28
  156. package/esm2022/lib/card-view/models/card-view-baseitem.model.mjs +0 -64
  157. package/esm2022/lib/card-view/models/card-view-boolitem.model.mjs +0 -36
  158. package/esm2022/lib/card-view/models/card-view-dateitem.model.mjs +0 -58
  159. package/esm2022/lib/card-view/models/card-view-datetimeitem.model.mjs +0 -28
  160. package/esm2022/lib/card-view/models/card-view-floatitem.model.mjs +0 -33
  161. package/esm2022/lib/card-view/models/card-view-intitem.model.mjs +0 -36
  162. package/esm2022/lib/card-view/models/card-view-keyvaluepairs.model.mjs +0 -27
  163. package/esm2022/lib/card-view/models/card-view-longitem.model.mjs +0 -36
  164. package/esm2022/lib/card-view/models/card-view-mapitem.model.mjs +0 -32
  165. package/esm2022/lib/card-view/models/card-view-selectitem.model.mjs +0 -41
  166. package/esm2022/lib/card-view/models/card-view-textitem.model.mjs +0 -40
  167. package/esm2022/lib/card-view/models/card-view.models.mjs +0 -29
  168. package/esm2022/lib/card-view/public-api.mjs +0 -25
  169. package/esm2022/lib/card-view/services/card-item-types.service.mjs +0 -54
  170. package/esm2022/lib/card-view/services/card-view-update.service.mjs +0 -59
  171. package/esm2022/lib/card-view/services/card-view.services.mjs +0 -19
  172. package/esm2022/lib/card-view/validators/card-view-item-float.validator.mjs +0 -31
  173. package/esm2022/lib/card-view/validators/card-view-item-int.validator.mjs +0 -35
  174. package/esm2022/lib/card-view/validators/card-view-item-length.validator.mjs +0 -34
  175. package/esm2022/lib/card-view/validators/card-view-item-long.validator.mjs +0 -35
  176. package/esm2022/lib/card-view/validators/card-view-item-match.validator.mjs +0 -35
  177. package/esm2022/lib/card-view/validators/card-view-item-minmax.validator.mjs +0 -35
  178. package/esm2022/lib/card-view/validators/card-view-item-only-positive-int.validator.mjs +0 -32
  179. package/esm2022/lib/card-view/validators/card-view-item-only-positive-long.validator.mjs +0 -31
  180. package/esm2022/lib/card-view/validators/card-view.validators.mjs +0 -26
  181. package/esm2022/lib/card-view/validators/validators.map.mjs +0 -26
  182. package/esm2022/lib/clipboard/clipboard.directive.mjs +0 -99
  183. package/esm2022/lib/clipboard/clipboard.module.mjs +0 -34
  184. package/esm2022/lib/clipboard/clipboard.service.mjs +0 -103
  185. package/esm2022/lib/clipboard/index.mjs +0 -18
  186. package/esm2022/lib/clipboard/public-api.mjs +0 -21
  187. package/esm2022/lib/comments/comment-list/comment-list.component.mjs +0 -53
  188. package/esm2022/lib/comments/comment-list/comment-list.module.mjs +0 -33
  189. package/esm2022/lib/comments/comment-list/index.mjs +0 -18
  190. package/esm2022/lib/comments/comment-list/public-api.mjs +0 -19
  191. package/esm2022/lib/comments/comments.component.mjs +0 -128
  192. package/esm2022/lib/comments/comments.module.mjs +0 -33
  193. package/esm2022/lib/comments/index.mjs +0 -18
  194. package/esm2022/lib/comments/interfaces/comments-service.interface.mjs +0 -18
  195. package/esm2022/lib/comments/interfaces/comments.token.mjs +0 -19
  196. package/esm2022/lib/comments/public-api.mjs +0 -22
  197. package/esm2022/lib/common/index.mjs +0 -35
  198. package/esm2022/lib/common/interface/search-component.interface.mjs +0 -18
  199. package/esm2022/lib/common/mock/app-config.service.mock.mjs +0 -47
  200. package/esm2022/lib/common/models/default-languages.model.mjs +0 -36
  201. package/esm2022/lib/common/models/log-levels.model.mjs +0 -33
  202. package/esm2022/lib/common/models/user-info-mode.enum.mjs +0 -25
  203. package/esm2022/lib/common/services/cookie.service.mjs +0 -82
  204. package/esm2022/lib/common/services/download.service.mjs +0 -102
  205. package/esm2022/lib/common/services/dynamic-component-mapper.service.mjs +0 -89
  206. package/esm2022/lib/common/services/highlight-transform.service.mjs +0 -61
  207. package/esm2022/lib/common/services/language-item.interface.mjs +0 -18
  208. package/esm2022/lib/common/services/log.service.mjs +0 -171
  209. package/esm2022/lib/common/services/page-title.service.mjs +0 -63
  210. package/esm2022/lib/common/services/sort-by-category.service.mjs +0 -81
  211. package/esm2022/lib/common/services/storage.service.mjs +0 -143
  212. package/esm2022/lib/common/services/thumbnail.service.mjs +0 -194
  213. package/esm2022/lib/common/services/url.service.mjs +0 -45
  214. package/esm2022/lib/common/services/user-preferences.service.mjs +0 -238
  215. package/esm2022/lib/common/utils/date-fns-adapter.mjs +0 -115
  216. package/esm2022/lib/common/utils/date-fns-utils.mjs +0 -222
  217. package/esm2022/lib/common/utils/datetime-fns-adapter.mjs +0 -134
  218. package/esm2022/lib/common/utils/file-utils.mjs +0 -65
  219. package/esm2022/lib/common/utils/index.mjs +0 -18
  220. package/esm2022/lib/common/utils/moment-date-adapter.mjs +0 -202
  221. package/esm2022/lib/common/utils/moment-date-formats.model.mjs +0 -32
  222. package/esm2022/lib/common/utils/object-utils.mjs +0 -107
  223. package/esm2022/lib/common/utils/public-api.mjs +0 -25
  224. package/esm2022/lib/common/utils/string-utils.mjs +0 -45
  225. package/esm2022/lib/context-menu/animations.mjs +0 -33
  226. package/esm2022/lib/context-menu/context-menu-list.component.mjs +0 -92
  227. package/esm2022/lib/context-menu/context-menu-overlay.mjs +0 -25
  228. package/esm2022/lib/context-menu/context-menu-overlay.service.mjs +0 -109
  229. package/esm2022/lib/context-menu/context-menu.directive.mjs +0 -63
  230. package/esm2022/lib/context-menu/context-menu.module.mjs +0 -35
  231. package/esm2022/lib/context-menu/context-menu.tokens.mjs +0 -19
  232. package/esm2022/lib/context-menu/index.mjs +0 -18
  233. package/esm2022/lib/context-menu/interfaces.mjs +0 -18
  234. package/esm2022/lib/context-menu/public-api.mjs +0 -21
  235. package/esm2022/lib/core.module.mjs +0 -314
  236. package/esm2022/lib/datatable/components/amount-cell/amount-cell.component.mjs +0 -45
  237. package/esm2022/lib/datatable/components/boolean-cell/boolean-cell.component.mjs +0 -65
  238. package/esm2022/lib/datatable/components/columns-selector/columns-search-filter.pipe.mjs +0 -55
  239. package/esm2022/lib/datatable/components/columns-selector/columns-selector.component.mjs +0 -114
  240. package/esm2022/lib/datatable/components/data-cell.event.mjs +0 -31
  241. package/esm2022/lib/datatable/components/data-row-action.event.mjs +0 -34
  242. package/esm2022/lib/datatable/components/datatable/datatable.component.mjs +0 -915
  243. package/esm2022/lib/datatable/components/datatable-cell/datatable-cell.component.mjs +0 -126
  244. package/esm2022/lib/datatable/components/datatable-row/datatable-row.component.mjs +0 -98
  245. package/esm2022/lib/datatable/components/date-cell/date-cell.component.mjs +0 -78
  246. package/esm2022/lib/datatable/components/empty-list/empty-list.component.mjs +0 -60
  247. package/esm2022/lib/datatable/components/filesize-cell/filesize-cell.component.mjs +0 -49
  248. package/esm2022/lib/datatable/components/icon-cell/icon-cell.component.mjs +0 -67
  249. package/esm2022/lib/datatable/components/json-cell/json-cell.component.mjs +0 -86
  250. package/esm2022/lib/datatable/components/location-cell/location-cell.component.mjs +0 -69
  251. package/esm2022/lib/datatable/components/mocks/datatable.mock.mjs +0 -153
  252. package/esm2022/lib/datatable/components/number-cell/number-cell.component.mjs +0 -42
  253. package/esm2022/lib/datatable/data/data-column.model.mjs +0 -18
  254. package/esm2022/lib/datatable/data/data-row-event.model.mjs +0 -26
  255. package/esm2022/lib/datatable/data/data-row-update.model.mjs +0 -18
  256. package/esm2022/lib/datatable/data/data-row.model.mjs +0 -18
  257. package/esm2022/lib/datatable/data/data-sorting.model.mjs +0 -24
  258. package/esm2022/lib/datatable/data/data-table.schema.mjs +0 -132
  259. package/esm2022/lib/datatable/data/datatable-adapter.mjs +0 -18
  260. package/esm2022/lib/datatable/data/object-datacolumn.model.mjs +0 -46
  261. package/esm2022/lib/datatable/data/object-datarow.model.mjs +0 -38
  262. package/esm2022/lib/datatable/data/object-datatable-adapter.mjs +0 -134
  263. package/esm2022/lib/datatable/data-column/data-column-header.component.mjs +0 -45
  264. package/esm2022/lib/datatable/data-column/data-column-list.component.mjs +0 -36
  265. package/esm2022/lib/datatable/data-column/data-column.component.mjs +0 -114
  266. package/esm2022/lib/datatable/data-column/index.mjs +0 -18
  267. package/esm2022/lib/datatable/data-column/public-api.mjs +0 -20
  268. package/esm2022/lib/datatable/datatable.module.mjs +0 -161
  269. package/esm2022/lib/datatable/directives/custom-empty-content-template.directive.mjs +0 -35
  270. package/esm2022/lib/datatable/directives/custom-loading-template.directive.mjs +0 -30
  271. package/esm2022/lib/datatable/directives/custom-no-permission-template.directive.mjs +0 -35
  272. package/esm2022/lib/datatable/directives/drop-zone.directive.mjs +0 -89
  273. package/esm2022/lib/datatable/directives/header-filter-template.directive.mjs +0 -43
  274. package/esm2022/lib/datatable/directives/loading-template.directive.mjs +0 -46
  275. package/esm2022/lib/datatable/directives/main-data-table-action-template.directive.mjs +0 -43
  276. package/esm2022/lib/datatable/directives/no-content-template.directive.mjs +0 -46
  277. package/esm2022/lib/datatable/directives/no-permission-template.directive.mjs +0 -46
  278. package/esm2022/lib/datatable/directives/resizable/resizable.directive.mjs +0 -173
  279. package/esm2022/lib/datatable/directives/resizable/resize-handle.directive.mjs +0 -72
  280. package/esm2022/lib/datatable/directives/resizable/types.mjs +0 -18
  281. package/esm2022/lib/datatable/index.mjs +0 -18
  282. package/esm2022/lib/datatable/public-api.mjs +0 -55
  283. package/esm2022/lib/datatable/services/datatable.service.mjs +0 -33
  284. package/esm2022/lib/dialogs/confirm-dialog/confirm.dialog.mjs +0 -50
  285. package/esm2022/lib/dialogs/confirm-dialog/confirm.dialog.module.mjs +0 -38
  286. package/esm2022/lib/dialogs/dialog/dialog-data.interface.mjs +0 -18
  287. package/esm2022/lib/dialogs/dialog/dialog.component.mjs +0 -71
  288. package/esm2022/lib/dialogs/dialog/dialog.model.mjs +0 -22
  289. package/esm2022/lib/dialogs/dialog/index.mjs +0 -20
  290. package/esm2022/lib/dialogs/edit-json/edit-json.dialog.mjs +0 -51
  291. package/esm2022/lib/dialogs/edit-json/edit-json.dialog.module.mjs +0 -38
  292. package/esm2022/lib/dialogs/index.mjs +0 -18
  293. package/esm2022/lib/dialogs/public-api.mjs +0 -25
  294. package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.component.mjs +0 -74
  295. package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.model.mjs +0 -18
  296. package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.module.mjs +0 -33
  297. package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes.guard.mjs +0 -64
  298. package/esm2022/lib/directives/directive.module.mjs +0 -56
  299. package/esm2022/lib/directives/highlight.directive.mjs +0 -67
  300. package/esm2022/lib/directives/index.mjs +0 -18
  301. package/esm2022/lib/directives/infinite-select-scroll.directive.mjs +0 -67
  302. package/esm2022/lib/directives/logout.directive.mjs +0 -72
  303. package/esm2022/lib/directives/public-api.mjs +0 -24
  304. package/esm2022/lib/directives/tooltip-card/tooltip-card.component.mjs +0 -60
  305. package/esm2022/lib/directives/tooltip-card/tooltip-card.directive.mjs +0 -104
  306. package/esm2022/lib/directives/upload.directive.mjs +0 -241
  307. package/esm2022/lib/dynamic-chip-list/chip.mjs +0 -18
  308. package/esm2022/lib/dynamic-chip-list/dynamic-chip-list.component.mjs +0 -205
  309. package/esm2022/lib/dynamic-chip-list/dynamic-chip-list.module.mjs +0 -33
  310. package/esm2022/lib/dynamic-chip-list/index.mjs +0 -18
  311. package/esm2022/lib/dynamic-chip-list/public-api.mjs +0 -20
  312. package/esm2022/lib/events/base-ui.event.mjs +0 -21
  313. package/esm2022/lib/events/base.event.mjs +0 -29
  314. package/esm2022/lib/events/index.mjs +0 -18
  315. package/esm2022/lib/events/public-api.mjs +0 -19
  316. package/esm2022/lib/form/components/form-base.component.mjs +0 -229
  317. package/esm2022/lib/form/components/form-custom-button.directive.mjs +0 -30
  318. package/esm2022/lib/form/components/form-field/form-field.component.mjs +0 -142
  319. package/esm2022/lib/form/components/form-renderer.component.mjs +0 -162
  320. package/esm2022/lib/form/components/form-section/form-section.component.mjs +0 -46
  321. package/esm2022/lib/form/components/inplace-form-input/inplace-form-input.component.mjs +0 -37
  322. package/esm2022/lib/form/components/middlewares/decimal-middleware.service.mjs +0 -48
  323. package/esm2022/lib/form/components/middlewares/middleware.mjs +0 -19
  324. package/esm2022/lib/form/components/widgets/amount/amount.widget.mjs +0 -78
  325. package/esm2022/lib/form/components/widgets/base-viewer/base-viewer.widget.mjs +0 -60
  326. package/esm2022/lib/form/components/widgets/checkbox/checkbox.widget.mjs +0 -53
  327. package/esm2022/lib/form/components/widgets/core/container-column.model.mjs +0 -28
  328. package/esm2022/lib/form/components/widgets/core/container.model.mjs +0 -50
  329. package/esm2022/lib/form/components/widgets/core/content-link.model.mjs +0 -52
  330. package/esm2022/lib/form/components/widgets/core/displayable-cm-properties.model.mjs +0 -18
  331. package/esm2022/lib/form/components/widgets/core/error-message.model.mjs +0 -38
  332. package/esm2022/lib/form/components/widgets/core/external-content-link.mjs +0 -18
  333. package/esm2022/lib/form/components/widgets/core/external-content.mjs +0 -18
  334. package/esm2022/lib/form/components/widgets/core/form-field-file-source.mjs +0 -18
  335. package/esm2022/lib/form/components/widgets/core/form-field-metadata.mjs +0 -18
  336. package/esm2022/lib/form/components/widgets/core/form-field-option.mjs +0 -18
  337. package/esm2022/lib/form/components/widgets/core/form-field-rule.mjs +0 -18
  338. package/esm2022/lib/form/components/widgets/core/form-field-selected-folder.mjs +0 -18
  339. package/esm2022/lib/form/components/widgets/core/form-field-templates.mjs +0 -18
  340. package/esm2022/lib/form/components/widgets/core/form-field-types.mjs +0 -74
  341. package/esm2022/lib/form/components/widgets/core/form-field-utils.mjs +0 -23
  342. package/esm2022/lib/form/components/widgets/core/form-field-validator.mjs +0 -268
  343. package/esm2022/lib/form/components/widgets/core/form-field-variable-options.mjs +0 -18
  344. package/esm2022/lib/form/components/widgets/core/form-field.model.mjs +0 -490
  345. package/esm2022/lib/form/components/widgets/core/form-outcome-event.model.mjs +0 -32
  346. package/esm2022/lib/form/components/widgets/core/form-outcome.model.mjs +0 -38
  347. package/esm2022/lib/form/components/widgets/core/form-values.mjs +0 -18
  348. package/esm2022/lib/form/components/widgets/core/form-variable.model.mjs +0 -18
  349. package/esm2022/lib/form/components/widgets/core/form-widget.model.mjs +0 -33
  350. package/esm2022/lib/form/components/widgets/core/form.model.mjs +0 -384
  351. package/esm2022/lib/form/components/widgets/core/group.model.mjs +0 -18
  352. package/esm2022/lib/form/components/widgets/core/index.mjs +0 -49
  353. package/esm2022/lib/form/components/widgets/core/predefined-theme.mjs +0 -115
  354. package/esm2022/lib/form/components/widgets/core/process-form-model.interface.mjs +0 -18
  355. package/esm2022/lib/form/components/widgets/core/process-variable.model.mjs +0 -18
  356. package/esm2022/lib/form/components/widgets/core/tab.model.mjs +0 -34
  357. package/esm2022/lib/form/components/widgets/core/theme.model.mjs +0 -18
  358. package/esm2022/lib/form/components/widgets/core/upload-widget-content-link.model.mjs +0 -27
  359. package/esm2022/lib/form/components/widgets/core/widget-schema.model.mjs +0 -18
  360. package/esm2022/lib/form/components/widgets/date/date.widget.mjs +0 -163
  361. package/esm2022/lib/form/components/widgets/date-time/date-time.widget.mjs +0 -154
  362. package/esm2022/lib/form/components/widgets/decimal/decimal.component.mjs +0 -54
  363. package/esm2022/lib/form/components/widgets/display-text/display-text.schema.mjs +0 -86
  364. package/esm2022/lib/form/components/widgets/display-text/display-text.widget.mjs +0 -47
  365. package/esm2022/lib/form/components/widgets/display-text/index.mjs +0 -19
  366. package/esm2022/lib/form/components/widgets/error/error.component.mjs +0 -93
  367. package/esm2022/lib/form/components/widgets/header/header.schema.mjs +0 -86
  368. package/esm2022/lib/form/components/widgets/header/header.widget.mjs +0 -43
  369. package/esm2022/lib/form/components/widgets/header/index.mjs +0 -19
  370. package/esm2022/lib/form/components/widgets/hyperlink/hyperlink.widget.mjs +0 -71
  371. package/esm2022/lib/form/components/widgets/index.mjs +0 -71
  372. package/esm2022/lib/form/components/widgets/json/json.widget.mjs +0 -67
  373. package/esm2022/lib/form/components/widgets/multiline-text/multiline-text.widget.mjs +0 -56
  374. package/esm2022/lib/form/components/widgets/number/number.widget.mjs +0 -66
  375. package/esm2022/lib/form/components/widgets/reactive-widget.interface.mjs +0 -18
  376. package/esm2022/lib/form/components/widgets/text/text-mask.component.mjs +0 -215
  377. package/esm2022/lib/form/components/widgets/text/text.widget.mjs +0 -66
  378. package/esm2022/lib/form/components/widgets/unknown/unknown.widget.mjs +0 -63
  379. package/esm2022/lib/form/components/widgets/widget.component.mjs +0 -110
  380. package/esm2022/lib/form/events/form-error.event.mjs +0 -24
  381. package/esm2022/lib/form/events/form-field.event.mjs +0 -24
  382. package/esm2022/lib/form/events/form-rules.event.mjs +0 -25
  383. package/esm2022/lib/form/events/form-spinner.event.mjs +0 -23
  384. package/esm2022/lib/form/events/form.event.mjs +0 -29
  385. package/esm2022/lib/form/events/index.mjs +0 -24
  386. package/esm2022/lib/form/events/validate-form-field.event.mjs +0 -24
  387. package/esm2022/lib/form/events/validate-form.event.mjs +0 -25
  388. package/esm2022/lib/form/form-base.module.mjs +0 -90
  389. package/esm2022/lib/form/index.mjs +0 -18
  390. package/esm2022/lib/form/models/form-rules.model.mjs +0 -77
  391. package/esm2022/lib/form/models/task-process-variable.model.mjs +0 -19
  392. package/esm2022/lib/form/models/widget-visibility.model.mjs +0 -104
  393. package/esm2022/lib/form/pipes/field-style.pipe.mjs +0 -45
  394. package/esm2022/lib/form/pipes/index.mjs +0 -18
  395. package/esm2022/lib/form/public-api.mjs +0 -34
  396. package/esm2022/lib/form/services/form-rendering.service.mjs +0 -53
  397. package/esm2022/lib/form/services/form-validation-service.interface.mjs +0 -18
  398. package/esm2022/lib/form/services/form.service.mjs +0 -86
  399. package/esm2022/lib/form/services/widget-visibility.service.mjs +0 -294
  400. package/esm2022/lib/header/header.component.mjs +0 -73
  401. package/esm2022/lib/header/index.mjs +0 -18
  402. package/esm2022/lib/header/navbar/navbar-item.component.mjs +0 -37
  403. package/esm2022/lib/header/navbar/navbar.component.mjs +0 -36
  404. package/esm2022/lib/header/public-api.mjs +0 -20
  405. package/esm2022/lib/icon/icon.component.mjs +0 -51
  406. package/esm2022/lib/icon/icon.module.mjs +0 -36
  407. package/esm2022/lib/icon/index.mjs +0 -18
  408. package/esm2022/lib/icon/public-api.mjs +0 -19
  409. package/esm2022/lib/identity-user-info/identity-user-info.component.mjs +0 -87
  410. package/esm2022/lib/identity-user-info/identity-user-info.module.mjs +0 -33
  411. package/esm2022/lib/identity-user-info/index.mjs +0 -18
  412. package/esm2022/lib/identity-user-info/public-api.mjs +0 -19
  413. package/esm2022/lib/info-drawer/index.mjs +0 -18
  414. package/esm2022/lib/info-drawer/info-drawer-layout.component.mjs +0 -71
  415. package/esm2022/lib/info-drawer/info-drawer.component.mjs +0 -114
  416. package/esm2022/lib/info-drawer/info-drawer.module.mjs +0 -53
  417. package/esm2022/lib/info-drawer/public-api.mjs +0 -20
  418. package/esm2022/lib/interface/index.mjs +0 -18
  419. package/esm2022/lib/interface/injection.tokens.mjs +0 -19
  420. package/esm2022/lib/interface/public-api.mjs +0 -18
  421. package/esm2022/lib/language-menu/index.mjs +0 -18
  422. package/esm2022/lib/language-menu/language-menu.component.mjs +0 -61
  423. package/esm2022/lib/language-menu/language-menu.module.mjs +0 -35
  424. package/esm2022/lib/language-menu/language-picker.component.mjs +0 -78
  425. package/esm2022/lib/language-menu/public-api.mjs +0 -21
  426. package/esm2022/lib/language-menu/service/language.service.interface.mjs +0 -18
  427. package/esm2022/lib/language-menu/service/language.service.mjs +0 -34
  428. package/esm2022/lib/layout/components/header/header.component.mjs +0 -100
  429. package/esm2022/lib/layout/components/layout-container/layout-container.component.mjs +0 -180
  430. package/esm2022/lib/layout/components/sidebar-action/sidebar-action-menu.component.mjs +0 -82
  431. package/esm2022/lib/layout/components/sidenav-layout/sidenav-layout.component.mjs +0 -145
  432. package/esm2022/lib/layout/directives/sidenav-layout-content.directive.mjs +0 -33
  433. package/esm2022/lib/layout/directives/sidenav-layout-header.directive.mjs +0 -33
  434. package/esm2022/lib/layout/directives/sidenav-layout-navigation.directive.mjs +0 -33
  435. package/esm2022/lib/layout/index.mjs +0 -18
  436. package/esm2022/lib/layout/layout.module.mjs +0 -72
  437. package/esm2022/lib/layout/public-api.mjs +0 -25
  438. package/esm2022/lib/login/components/login/login.component.mjs +0 -368
  439. package/esm2022/lib/login/components/login-dialog/login-dialog-component-data.interface.mjs +0 -18
  440. package/esm2022/lib/login/components/login-dialog/login-dialog.component.mjs +0 -58
  441. package/esm2022/lib/login/components/login-dialog-panel/login-dialog-panel.component.mjs +0 -48
  442. package/esm2022/lib/login/directives/login-footer.directive.mjs +0 -41
  443. package/esm2022/lib/login/directives/login-header.directive.mjs +0 -41
  444. package/esm2022/lib/login/index.mjs +0 -18
  445. package/esm2022/lib/login/login.module.mjs +0 -54
  446. package/esm2022/lib/login/models/login-error.event.mjs +0 -22
  447. package/esm2022/lib/login/models/login-submit.event.mjs +0 -32
  448. package/esm2022/lib/login/models/login-success.event.mjs +0 -24
  449. package/esm2022/lib/login/public-api.mjs +0 -27
  450. package/esm2022/lib/material.module.mjs +0 -254
  451. package/esm2022/lib/mock/cookie.service.mock.mjs +0 -43
  452. package/esm2022/lib/mock/data-column.mock.mjs +0 -73
  453. package/esm2022/lib/mock/event.mock.mjs +0 -39
  454. package/esm2022/lib/mock/form/form-definition-readonly.mock.mjs +0 -225
  455. package/esm2022/lib/mock/form/form-definition-visibility.mock.mjs +0 -347
  456. package/esm2022/lib/mock/form/form-definition.mock.mjs +0 -403
  457. package/esm2022/lib/mock/form/form.component.mock.mjs +0 -275
  458. package/esm2022/lib/mock/form/form.service.mock.mjs +0 -248
  459. package/esm2022/lib/mock/form/widget-visibility.service.mock.mjs +0 -1835
  460. package/esm2022/lib/mock/index.mjs +0 -18
  461. package/esm2022/lib/mock/public-api.mjs +0 -27
  462. package/esm2022/lib/mock/translation.service.mock.mjs +0 -44
  463. package/esm2022/lib/models/comment.model.mjs +0 -51
  464. package/esm2022/lib/models/component.model.mjs +0 -24
  465. package/esm2022/lib/models/decimal-number.model.mjs +0 -26
  466. package/esm2022/lib/models/general-user.model.mjs +0 -24
  467. package/esm2022/lib/models/index.mjs +0 -18
  468. package/esm2022/lib/models/pagination.model.mjs +0 -29
  469. package/esm2022/lib/models/path.model.mjs +0 -24
  470. package/esm2022/lib/models/product-version.model.mjs +0 -28
  471. package/esm2022/lib/models/public-api.mjs +0 -24
  472. package/esm2022/lib/models/request-pagination.model.mjs +0 -25
  473. package/esm2022/lib/notifications/components/add-notification.stories.component.mjs +0 -44
  474. package/esm2022/lib/notifications/components/notification-history.component.mjs +0 -139
  475. package/esm2022/lib/notifications/helpers/notification.factory.mjs +0 -43
  476. package/esm2022/lib/notifications/index.mjs +0 -18
  477. package/esm2022/lib/notifications/models/notification.model.mjs +0 -25
  478. package/esm2022/lib/notifications/notification-history.module.mjs +0 -35
  479. package/esm2022/lib/notifications/public-api.mjs +0 -23
  480. package/esm2022/lib/notifications/services/notification.service.mjs +0 -166
  481. package/esm2022/lib/pagination/index.mjs +0 -18
  482. package/esm2022/lib/pagination/infinite-pagination.component.mjs +0 -112
  483. package/esm2022/lib/pagination/paginated-component.interface.mjs +0 -18
  484. package/esm2022/lib/pagination/pagination-component.interface.mjs +0 -18
  485. package/esm2022/lib/pagination/pagination.component.mjs +0 -263
  486. package/esm2022/lib/pagination/pagination.module.mjs +0 -35
  487. package/esm2022/lib/pagination/public-api.mjs +0 -22
  488. package/esm2022/lib/pipes/date-time.pipe.mjs +0 -46
  489. package/esm2022/lib/pipes/decimal-number.pipe.mjs +0 -78
  490. package/esm2022/lib/pipes/file-size.pipe.mjs +0 -54
  491. package/esm2022/lib/pipes/file-type.pipe.mjs +0 -40
  492. package/esm2022/lib/pipes/format-space.pipe.mjs +0 -39
  493. package/esm2022/lib/pipes/full-name.pipe.mjs +0 -43
  494. package/esm2022/lib/pipes/index.mjs +0 -18
  495. package/esm2022/lib/pipes/localized-date.pipe.mjs +0 -70
  496. package/esm2022/lib/pipes/multi-value.pipe.mjs +0 -37
  497. package/esm2022/lib/pipes/pipe.module.mjs +0 -83
  498. package/esm2022/lib/pipes/public-api.mjs +0 -30
  499. package/esm2022/lib/pipes/text-highlight.pipe.mjs +0 -39
  500. package/esm2022/lib/pipes/time-ago.pipe.mjs +0 -65
  501. package/esm2022/lib/pipes/truncate.pipe.mjs +0 -33
  502. package/esm2022/lib/pipes/user-initial.pipe.mjs +0 -52
  503. package/esm2022/lib/pipes/user-like.interface.mjs +0 -18
  504. package/esm2022/lib/progress/progress.component.mjs +0 -90
  505. package/esm2022/lib/search-text/animations.mjs +0 -32
  506. package/esm2022/lib/search-text/index.mjs +0 -18
  507. package/esm2022/lib/search-text/models/search-text-input.model.mjs +0 -23
  508. package/esm2022/lib/search-text/public-api.mjs +0 -22
  509. package/esm2022/lib/search-text/search-text-input.component.mjs +0 -294
  510. package/esm2022/lib/search-text/search-text-input.module.mjs +0 -35
  511. package/esm2022/lib/search-text/search-trigger.directive.mjs +0 -181
  512. package/esm2022/lib/snackbar-content/index.mjs +0 -18
  513. package/esm2022/lib/snackbar-content/public-api.mjs +0 -20
  514. package/esm2022/lib/snackbar-content/snack-bar-data.mjs +0 -18
  515. package/esm2022/lib/snackbar-content/snackbar-content.component.mjs +0 -48
  516. package/esm2022/lib/snackbar-content/snackbar-content.module.mjs +0 -38
  517. package/esm2022/lib/sorting-picker/index.mjs +0 -18
  518. package/esm2022/lib/sorting-picker/public-api.mjs +0 -18
  519. package/esm2022/lib/sorting-picker/sorting-picker.component.mjs +0 -68
  520. package/esm2022/lib/templates/empty-content/empty-content.component.mjs +0 -44
  521. package/esm2022/lib/templates/error-content/error-content.component.mjs +0 -62
  522. package/esm2022/lib/templates/index.mjs +0 -18
  523. package/esm2022/lib/templates/public-api.mjs +0 -20
  524. package/esm2022/lib/templates/template.module.mjs +0 -38
  525. package/esm2022/lib/testing/core.story.module.mjs +0 -39
  526. package/esm2022/lib/testing/core.testing.module.mjs +0 -35
  527. package/esm2022/lib/testing/index.mjs +0 -22
  528. package/esm2022/lib/testing/noop-auth.module.mjs +0 -80
  529. package/esm2022/lib/testing/noop-translate.module.mjs +0 -61
  530. package/esm2022/lib/testing/unit-testing-utils.mjs +0 -364
  531. package/esm2022/lib/toolbar/index.mjs +0 -18
  532. package/esm2022/lib/toolbar/public-api.mjs +0 -21
  533. package/esm2022/lib/toolbar/toolbar-divider.component.mjs +0 -27
  534. package/esm2022/lib/toolbar/toolbar-title.component.mjs +0 -32
  535. package/esm2022/lib/toolbar/toolbar.component.mjs +0 -40
  536. package/esm2022/lib/toolbar/toolbar.module.mjs +0 -36
  537. package/esm2022/lib/translation/index.mjs +0 -18
  538. package/esm2022/lib/translation/public-api.mjs +0 -19
  539. package/esm2022/lib/translation/translate-loader.service.mjs +0 -148
  540. package/esm2022/lib/translation/translation.service.mjs +0 -148
  541. package/esm2022/lib/viewer/components/download-prompt-dialog/download-prompt-dialog.component.mjs +0 -37
  542. package/esm2022/lib/viewer/components/img-viewer/img-viewer.component.mjs +0 -221
  543. package/esm2022/lib/viewer/components/media-player/media-player.component.mjs +0 -64
  544. package/esm2022/lib/viewer/components/pdf-viewer/pdf-viewer.component.mjs +0 -549
  545. package/esm2022/lib/viewer/components/pdf-viewer-password-dialog/pdf-viewer-password-dialog.mjs +0 -61
  546. package/esm2022/lib/viewer/components/pdf-viewer-thumb/pdf-viewer-thumb.component.mjs +0 -49
  547. package/esm2022/lib/viewer/components/pdf-viewer-thumbnails/pdf-viewer-thumbnails.component.mjs +0 -198
  548. package/esm2022/lib/viewer/components/txt-viewer/txt-viewer.component.mjs +0 -77
  549. package/esm2022/lib/viewer/components/unknown-format/unknown-format.component.mjs +0 -33
  550. package/esm2022/lib/viewer/components/viewer-more-actions.component.mjs +0 -34
  551. package/esm2022/lib/viewer/components/viewer-open-with.component.mjs +0 -34
  552. package/esm2022/lib/viewer/components/viewer-render/viewer-render.component.mjs +0 -211
  553. package/esm2022/lib/viewer/components/viewer-sidebar.component.mjs +0 -46
  554. package/esm2022/lib/viewer/components/viewer-toolbar-actions.component.mjs +0 -34
  555. package/esm2022/lib/viewer/components/viewer-toolbar-custom-actions.component.mjs +0 -34
  556. package/esm2022/lib/viewer/components/viewer-toolbar.component.mjs +0 -34
  557. package/esm2022/lib/viewer/components/viewer.component.mjs +0 -462
  558. package/esm2022/lib/viewer/directives/viewer-extension.directive.mjs +0 -67
  559. package/esm2022/lib/viewer/index.mjs +0 -18
  560. package/esm2022/lib/viewer/models/download-prompt.actions.mjs +0 -23
  561. package/esm2022/lib/viewer/models/viewer.model.mjs +0 -22
  562. package/esm2022/lib/viewer/public-api.mjs +0 -40
  563. package/esm2022/lib/viewer/services/rendering-queue.services.mjs +0 -179
  564. package/esm2022/lib/viewer/services/view-util.service.mjs +0 -149
  565. package/esm2022/lib/viewer/viewer.module.mjs +0 -112
  566. package/esm2022/public-api.mjs +0 -60
  567. package/esm2022/shell/alfresco-adf-core-shell.mjs +0 -5
  568. package/esm2022/shell/index.mjs +0 -20
  569. package/esm2022/shell/lib/components/shell/shell.component.mjs +0 -122
  570. package/esm2022/shell/lib/services/shell-app.service.mjs +0 -22
  571. package/esm2022/shell/lib/shell.module.mjs +0 -79
  572. package/esm2022/shell/lib/shell.routes.mjs +0 -25
@@ -1,38 +0,0 @@
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
- /* eslint-disable @angular-eslint/component-selector */
18
- import { FormWidgetModel } from './form-widget.model';
19
- import { WidgetVisibilityModel } from '../../../models/widget-visibility.model';
20
- export class FormOutcomeModel extends FormWidgetModel {
21
- static { this.SAVE_ACTION = 'SAVE'; } // Activiti 'Save' action name
22
- static { this.COMPLETE_ACTION = 'COMPLETE'; } // Activiti 'Complete' action name
23
- static { this.START_PROCESS_ACTION = 'START PROCESS'; } // Activiti 'Start Process' action name
24
- constructor(form, json) {
25
- super(form, json);
26
- this.isSystem = false;
27
- this.isSelected = false;
28
- this.isVisible = true;
29
- this.skipValidation = false;
30
- if (json) {
31
- this.isSystem = json.isSystem ? true : false;
32
- this.skipValidation = json.skipValidation ?? false;
33
- this.isSelected = form && json.name === form.selectedOutcome ? true : false;
34
- this.visibilityCondition = new WidgetVisibilityModel(json.visibilityCondition);
35
- }
36
- }
37
- }
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1vdXRjb21lLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi9mb3JtL2NvbXBvbmVudHMvd2lkZ2V0cy9jb3JlL2Zvcm0tb3V0Y29tZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCx1REFBdUQ7QUFFdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRWhGLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxlQUFlO2FBQzFDLGdCQUFXLEdBQVcsTUFBTSxBQUFqQixDQUFrQixHQUFDLDhCQUE4QjthQUM1RCxvQkFBZSxHQUFXLFVBQVUsQUFBckIsQ0FBc0IsR0FBQyxrQ0FBa0M7YUFDeEUseUJBQW9CLEdBQVcsZUFBZSxBQUExQixDQUEyQixHQUFDLHVDQUF1QztJQVE5RixZQUFZLElBQVMsRUFBRSxJQUFVO1FBQzdCLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFQdEIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzVCLGNBQVMsR0FBWSxJQUFJLENBQUM7UUFDMUIsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFNNUIsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNQLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDN0MsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxJQUFJLEtBQUssQ0FBQztZQUNuRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1lBQzVFLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLHFCQUFxQixDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ25GLENBQUM7SUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yICovXG5cbmltcG9ydCB7IEZvcm1XaWRnZXRNb2RlbCB9IGZyb20gJy4vZm9ybS13aWRnZXQubW9kZWwnO1xuaW1wb3J0IHsgV2lkZ2V0VmlzaWJpbGl0eU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3dpZGdldC12aXNpYmlsaXR5Lm1vZGVsJztcblxuZXhwb3J0IGNsYXNzIEZvcm1PdXRjb21lTW9kZWwgZXh0ZW5kcyBGb3JtV2lkZ2V0TW9kZWwge1xuICAgIHN0YXRpYyBTQVZFX0FDVElPTjogc3RyaW5nID0gJ1NBVkUnOyAvLyBBY3Rpdml0aSAnU2F2ZScgYWN0aW9uIG5hbWVcbiAgICBzdGF0aWMgQ09NUExFVEVfQUNUSU9OOiBzdHJpbmcgPSAnQ09NUExFVEUnOyAvLyBBY3Rpdml0aSAnQ29tcGxldGUnIGFjdGlvbiBuYW1lXG4gICAgc3RhdGljIFNUQVJUX1BST0NFU1NfQUNUSU9OOiBzdHJpbmcgPSAnU1RBUlQgUFJPQ0VTUyc7IC8vIEFjdGl2aXRpICdTdGFydCBQcm9jZXNzJyBhY3Rpb24gbmFtZVxuXG4gICAgaXNTeXN0ZW06IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBpc1NlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XG4gICAgaXNWaXNpYmxlOiBib29sZWFuID0gdHJ1ZTtcbiAgICBza2lwVmFsaWRhdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHZpc2liaWxpdHlDb25kaXRpb246IFdpZGdldFZpc2liaWxpdHlNb2RlbDtcblxuICAgIGNvbnN0cnVjdG9yKGZvcm06IGFueSwganNvbj86IGFueSkge1xuICAgICAgICBzdXBlcihmb3JtLCBqc29uKTtcblxuICAgICAgICBpZiAoanNvbikge1xuICAgICAgICAgICAgdGhpcy5pc1N5c3RlbSA9IGpzb24uaXNTeXN0ZW0gPyB0cnVlIDogZmFsc2U7XG4gICAgICAgICAgICB0aGlzLnNraXBWYWxpZGF0aW9uID0ganNvbi5za2lwVmFsaWRhdGlvbiA/PyBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuaXNTZWxlY3RlZCA9IGZvcm0gJiYganNvbi5uYW1lID09PSBmb3JtLnNlbGVjdGVkT3V0Y29tZSA/IHRydWUgOiBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMudmlzaWJpbGl0eUNvbmRpdGlvbiA9IG5ldyBXaWRnZXRWaXNpYmlsaXR5TW9kZWwoanNvbi52aXNpYmlsaXR5Q29uZGl0aW9uKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -1,18 +0,0 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS12YWx1ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL2Zvcm0vY29tcG9uZW50cy93aWRnZXRzL2NvcmUvZm9ybS12YWx1ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4gLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvciAqL1xuXG4vKiBlc2xpbnQtZGlzYWJsZSAqL1xuaW1wb3J0IHsgRm9ybUZpZWxkTWV0YWRhdGEgfSBmcm9tICcuL2Zvcm0tZmllbGQtbWV0YWRhdGEnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1WYWx1ZXMgZXh0ZW5kcyBGb3JtRmllbGRNZXRhZGF0YSB7XG59XG4iXX0=
@@ -1,18 +0,0 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS12YXJpYWJsZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvZm9ybS9jb21wb25lbnRzL3dpZGdldHMvY29yZS9mb3JtLXZhcmlhYmxlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuZXhwb3J0IGludGVyZmFjZSBGb3JtVmFyaWFibGVNb2RlbCB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdHlwZTogc3RyaW5nO1xuICAgIHZhbHVlPzogYW55O1xufVxuIl19
@@ -1,33 +0,0 @@
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
- /* eslint-disable @angular-eslint/component-selector */
18
- export class FormWidgetModel {
19
- constructor(form, json) {
20
- this.form = form;
21
- this.json = json;
22
- if (json) {
23
- this.fieldType = json.fieldType;
24
- this.id = json.id;
25
- this.name = json.name;
26
- this.type = json.type;
27
- this.tab = json.tab;
28
- this.field = json.field;
29
- this.style = json.style;
30
- }
31
- }
32
- }
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS13aWRnZXQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL2Zvcm0vY29tcG9uZW50cy93aWRnZXRzL2NvcmUvZm9ybS13aWRnZXQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsdURBQXVEO0FBRXZELE1BQU0sT0FBZ0IsZUFBZTtJQVlqQyxZQUFzQixJQUFTLEVBQUUsSUFBUztRQUN0QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUVqQixJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1AsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ2hDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDdEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUNwQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDeEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQzVCLENBQUM7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3IgKi9cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEZvcm1XaWRnZXRNb2RlbCB7XG4gICAgcmVhZG9ubHkgZmllbGRUeXBlOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgaWQ6IHN0cmluZztcbiAgICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgdHlwZTogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHRhYjogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHN0eWxlPzogc3RyaW5nO1xuXG4gICAgcmVhZG9ubHkgZm9ybTogYW55O1xuICAgIHJlYWRvbmx5IGpzb246IGFueTtcbiAgICByZWFkb25seSBmaWVsZDogYW55O1xuXG4gICAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKGZvcm06IGFueSwganNvbjogYW55KSB7XG4gICAgICAgIHRoaXMuZm9ybSA9IGZvcm07XG4gICAgICAgIHRoaXMuanNvbiA9IGpzb247XG5cbiAgICAgICAgaWYgKGpzb24pIHtcbiAgICAgICAgICAgIHRoaXMuZmllbGRUeXBlID0ganNvbi5maWVsZFR5cGU7XG4gICAgICAgICAgICB0aGlzLmlkID0ganNvbi5pZDtcbiAgICAgICAgICAgIHRoaXMubmFtZSA9IGpzb24ubmFtZTtcbiAgICAgICAgICAgIHRoaXMudHlwZSA9IGpzb24udHlwZTtcbiAgICAgICAgICAgIHRoaXMudGFiID0ganNvbi50YWI7XG4gICAgICAgICAgICB0aGlzLmZpZWxkID0ganNvbi5maWVsZDtcbiAgICAgICAgICAgIHRoaXMuc3R5bGUgPSBqc29uLnN0eWxlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1XaWRnZXRNb2RlbENhY2hlPFQgZXh0ZW5kcyBGb3JtV2lkZ2V0TW9kZWw+IHtcbiAgICBba2V5OiBzdHJpbmddOiBUO1xufVxuIl19
@@ -1,384 +0,0 @@
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 { FormFieldEvent } from '../../../events/form-field.event';
18
- import { ValidateFormFieldEvent } from '../../../events/validate-form-field.event';
19
- import { ValidateFormEvent } from '../../../events/validate-form.event';
20
- import { ContainerModel } from './container.model';
21
- import { FormFieldTypes } from './form-field-types';
22
- import { FormFieldModel } from './form-field.model';
23
- import { TabModel } from './tab.model';
24
- import { FormOutcomeModel } from './form-outcome.model';
25
- import { FORM_FIELD_VALIDATORS } from './form-field-validator';
26
- import { WidgetTypeEnum, WidgetVisibilityModel } from '../../../models/widget-visibility.model';
27
- export class FormModel {
28
- static { this.UNSET_TASK_NAME = 'Nameless task'; }
29
- static { this.SAVE_OUTCOME = '$save'; }
30
- static { this.COMPLETE_OUTCOME = '$complete'; }
31
- static { this.START_PROCESS_OUTCOME = '$startProcess'; }
32
- constructor(json, formValues, readOnly = false, formService, enableFixedSpace, injectedFieldValidators) {
33
- this.formService = formService;
34
- this.taskName = FormModel.UNSET_TASK_NAME;
35
- this.fieldsCache = [];
36
- this.values = {};
37
- this.tabs = [];
38
- this.fields = [];
39
- this.outcomes = [];
40
- this.fieldValidators = [];
41
- this.customFieldTemplates = {};
42
- this.readOnly = false;
43
- this.isValid = true;
44
- this.processVariables = [];
45
- this.variables = [];
46
- this.readOnly = readOnly;
47
- this.json = json;
48
- if (json) {
49
- this.id = json.id;
50
- this.name = json.name;
51
- this.taskId = json.taskId;
52
- this.taskName = json.taskName || json.name || FormModel.UNSET_TASK_NAME;
53
- this.processDefinitionId = json.processDefinitionId;
54
- this.customFieldTemplates = json.customFieldTemplates || {};
55
- this.selectedOutcome = json.selectedOutcome;
56
- this.className = json.className || '';
57
- this.variables = json.variables || json.formDefinition?.variables || [];
58
- this.processVariables = json.processVariables || [];
59
- this.enableFixedSpace = enableFixedSpace;
60
- this.confirmMessage = json.confirmMessage || {};
61
- this.displayMode = json.displayMode;
62
- this.theme = json.theme || json.formDefinition?.theme;
63
- this.tabs = (json.tabs || []).map((tabJson) => new TabModel(this, tabJson));
64
- this.fields = this.parseRootFields(json);
65
- this.fieldsCache = this.getFormFields();
66
- if (formValues) {
67
- this.loadData(formValues);
68
- }
69
- this.parseOutcomes();
70
- }
71
- this.loadInjectedFieldValidators(injectedFieldValidators);
72
- this.validateForm();
73
- }
74
- onFormFieldChanged(field) {
75
- this.validateField(field);
76
- if (this.formService) {
77
- this.formService.formFieldValueChanged.next(new FormFieldEvent(this, field));
78
- }
79
- }
80
- /**
81
- * Validates entire form and all form fields.
82
- */
83
- validateForm() {
84
- const validateFormEvent = new ValidateFormEvent(this);
85
- const errorsField = this.fieldsCache.filter((field) => {
86
- if (!FormFieldTypes.isReactiveType(field.type)) {
87
- return !field.validate();
88
- }
89
- else {
90
- return field.validationSummary.isActive();
91
- }
92
- });
93
- this.isValid = errorsField.length <= 0;
94
- if (this.formService) {
95
- validateFormEvent.isValid = this.isValid;
96
- validateFormEvent.errorsField = errorsField;
97
- this.formService.validateForm.next(validateFormEvent);
98
- }
99
- }
100
- /**
101
- * Validates a specific form field, triggers form validation.
102
- *
103
- * @param field Form field to validate.
104
- */
105
- validateField(field) {
106
- if (!field) {
107
- return;
108
- }
109
- const validateFieldEvent = new ValidateFormFieldEvent(this, field);
110
- if (this.formService) {
111
- this.formService.validateFormField.next(validateFieldEvent);
112
- }
113
- if (!validateFieldEvent.isValid) {
114
- this.markAsInvalid();
115
- return;
116
- }
117
- if (validateFieldEvent.defaultPrevented) {
118
- return;
119
- }
120
- if (!FormFieldTypes.isReactiveType(field.type) && !field.validate()) {
121
- this.markAsInvalid();
122
- }
123
- this.validateForm();
124
- }
125
- // Activiti supports 3 types of root fields: container|group|dynamic-table
126
- parseRootFields(json) {
127
- let fields = [];
128
- if (json.fields) {
129
- fields = json.fields;
130
- }
131
- else if (json.formDefinition?.fields) {
132
- fields = json.formDefinition.fields;
133
- }
134
- const rootElements = [];
135
- let currentRootElement;
136
- for (const field of fields) {
137
- if (field?.type === FormFieldTypes.DYNAMIC_TABLE) {
138
- currentRootElement = new FormFieldModel(this, field);
139
- }
140
- else {
141
- currentRootElement = new ContainerModel(new FormFieldModel(this, field));
142
- }
143
- if (field.tab) {
144
- const tab = this.tabs.find((currentTab) => field.tab === currentTab.id);
145
- if (tab) {
146
- tab.fields.push(currentRootElement);
147
- }
148
- }
149
- rootElements.push(currentRootElement);
150
- }
151
- return rootElements;
152
- }
153
- // Loads external data and overrides field values
154
- // Typically used when form definition and form data coming from different sources
155
- loadData(formValues) {
156
- for (const field of this.fieldsCache) {
157
- const variableId = `variables.${field.name}`;
158
- if (this.canOverrideFieldValueWithProcessValue(field, variableId, formValues)) {
159
- field.json.value = formValues[variableId] || formValues[field.id];
160
- field.value = field.parseValue(field.json);
161
- }
162
- }
163
- }
164
- canOverrideFieldValueWithProcessValue(field, variableId, formValues) {
165
- return !FormFieldTypes.isConstantValueType(field.type) && (this.isDefined(formValues[variableId]) || this.isDefined(formValues[field.id]));
166
- }
167
- isDefined(value) {
168
- return value !== undefined && value !== null;
169
- }
170
- /**
171
- * Returns a form variable that matches the identifier.
172
- *
173
- * @param identifier The `name` or `id` value.
174
- * @returns form variable model
175
- */
176
- getFormVariable(identifier) {
177
- if (identifier) {
178
- return this.variables.find((variable) => variable.name === identifier || variable.id === identifier);
179
- }
180
- return undefined;
181
- }
182
- /**
183
- * Returns a value of the form variable that matches the identifier.
184
- * Provides additional conversion of types (date, boolean).
185
- *
186
- * @param identifier The `name` or `id` value
187
- * @returns form variable value
188
- */
189
- getDefaultFormVariableValue(identifier) {
190
- const variable = this.getFormVariable(identifier);
191
- if (variable && Object.prototype.hasOwnProperty.call(variable, 'value')) {
192
- return this.parseValue(variable.type, variable.value);
193
- }
194
- return undefined;
195
- }
196
- /**
197
- * Returns a process variable value.
198
- * When mapping a process variable with a form variable the mapping
199
- * is already resolved by the rest API with the name of variables.formVariableName
200
- *
201
- * @param name Variable name
202
- * @returns process variable value
203
- */
204
- getProcessVariableValue(name) {
205
- let value;
206
- if (this.processVariables?.length) {
207
- const names = [`variables.${name}`, name];
208
- const processVariable = this.processVariables.find((entry) => names.includes(entry.name));
209
- if (processVariable) {
210
- value = this.parseValue(processVariable.type, processVariable.value);
211
- }
212
- }
213
- if (!value) {
214
- value = this.getDefaultFormVariableValue(name);
215
- }
216
- return value;
217
- }
218
- parseValue(type, value) {
219
- if (type && value) {
220
- switch (type) {
221
- case 'date':
222
- return value.toString().includes('T') ? value : `${value}T00:00:00.000Z`;
223
- case 'boolean':
224
- return typeof value === 'string' ? JSON.parse(value) : value;
225
- default:
226
- return value;
227
- }
228
- }
229
- return value;
230
- }
231
- hasTabs() {
232
- return this.tabs && this.tabs.length > 0;
233
- }
234
- hasFields() {
235
- return this.fields && this.fields.length > 0;
236
- }
237
- hasOutcomes() {
238
- return this.outcomes && this.outcomes.length > 0;
239
- }
240
- getFieldById(fieldId) {
241
- return this.fieldsCache.find((field) => field.id === fieldId);
242
- }
243
- getFormFields(filterTypes) {
244
- if (this.fieldsCache?.length) {
245
- return this.filterFieldsByType(this.fieldsCache, filterTypes);
246
- }
247
- const formFieldModel = [];
248
- this.processFields(this.fields, formFieldModel);
249
- return this.filterFieldsByType(formFieldModel, filterTypes);
250
- }
251
- processFields(fields, formFieldModel) {
252
- fields.forEach((field) => {
253
- if (this.isSectionField(field)) {
254
- this.handleSectionField(field, formFieldModel);
255
- }
256
- else if (this.isContainerField(field)) {
257
- this.handleContainerField(field, formFieldModel);
258
- }
259
- else {
260
- this.handleSingleField(field, formFieldModel);
261
- }
262
- });
263
- }
264
- isContainerField(field) {
265
- return field instanceof ContainerModel;
266
- }
267
- isSectionField(field) {
268
- return field.type === FormFieldTypes.SECTION;
269
- }
270
- handleSectionField(section, formFieldModel) {
271
- formFieldModel.push(section);
272
- section.columns.forEach((column) => {
273
- this.processFields(column.fields, formFieldModel);
274
- });
275
- }
276
- handleContainerField(container, formFieldModel) {
277
- formFieldModel.push(container.field);
278
- container.field.columns.forEach((column) => {
279
- this.processFields(column.fields, formFieldModel);
280
- });
281
- }
282
- handleSingleField(field, formFieldModel) {
283
- formFieldModel.push(field);
284
- if (field.fields) {
285
- this.processFields(Object.values(field.fields), formFieldModel);
286
- }
287
- }
288
- filterFieldsByType(fields, types) {
289
- if (!types?.length) {
290
- return fields;
291
- }
292
- return fields.filter((field) => types.includes(field?.type));
293
- }
294
- markAsInvalid() {
295
- this.isValid = false;
296
- }
297
- parseOutcomes() {
298
- if (this.json.fields) {
299
- const saveOutcome = new FormOutcomeModel(this, {
300
- id: FormModel.SAVE_OUTCOME,
301
- name: 'SAVE',
302
- isSystem: true
303
- });
304
- const completeOutcome = new FormOutcomeModel(this, {
305
- id: FormModel.COMPLETE_OUTCOME,
306
- name: 'COMPLETE',
307
- isSystem: true
308
- });
309
- const startProcessOutcome = new FormOutcomeModel(this, {
310
- id: FormModel.START_PROCESS_OUTCOME,
311
- name: 'START PROCESS',
312
- isSystem: true
313
- });
314
- const customOutcomes = (this.json.outcomes || []).map((obj) => new FormOutcomeModel(this, obj));
315
- this.outcomes = [saveOutcome].concat(customOutcomes.length > 0 ? customOutcomes : [completeOutcome, startProcessOutcome]);
316
- }
317
- }
318
- addValuesNotPresent(valuesToSetIfNotPresent) {
319
- this.fieldsCache.forEach((field) => {
320
- if (valuesToSetIfNotPresent[field.id] && (!this.values[field.id] || this.isValidDropDown(field.id))) {
321
- this.values[field.id] = valuesToSetIfNotPresent[field.id];
322
- field.json.value = this.values[field.id];
323
- field.value = field.parseValue(field.json);
324
- }
325
- });
326
- }
327
- isValidDropDown(key) {
328
- const field = this.getFieldById(key);
329
- if (field.type === FormFieldTypes.DROPDOWN) {
330
- if (field.hasMultipleValues) {
331
- return Array.isArray(this.values[key]);
332
- }
333
- return typeof this.values[key] === 'string' ? this.values[key] === 'empty' : Object.keys(this.values[key]).length === 0;
334
- }
335
- return false;
336
- }
337
- setNodeIdValueForViewersLinkedToUploadWidget(linkedUploadWidgetContentSelected) {
338
- const linkedWidgetType = linkedUploadWidgetContentSelected?.options?.linkedWidgetType ?? 'uploadWidget';
339
- const subscribedViewers = this.fieldsCache.filter((field) => linkedUploadWidgetContentSelected.uploadWidgetId === field.params[linkedWidgetType]);
340
- subscribedViewers.forEach((viewer) => {
341
- this.values[viewer.id] = linkedUploadWidgetContentSelected.id;
342
- viewer.json.value = this.values[viewer.id];
343
- viewer.value = viewer.parseValue(viewer.json);
344
- });
345
- }
346
- changeFieldVisibility(fieldId, visibility) {
347
- const visibilityRule = new WidgetVisibilityModel();
348
- const field = this.getFieldById(fieldId);
349
- if (field) {
350
- visibilityRule.operator = visibility ? 'empty' : '!empty';
351
- visibilityRule.leftType = WidgetTypeEnum.field;
352
- field.visibilityCondition = visibilityRule;
353
- field.isVisible = visibility;
354
- }
355
- }
356
- changeFieldDisabled(fieldId, disabled) {
357
- const field = this.getFieldById(fieldId);
358
- if (field) {
359
- field.readOnly = this.readOnly || disabled;
360
- }
361
- }
362
- changeFieldRequired(fieldId, required) {
363
- const field = this.getFieldById(fieldId);
364
- if (field) {
365
- field.required = required;
366
- }
367
- }
368
- changeFieldValue(fieldId, value) {
369
- const field = this.getFieldById(fieldId);
370
- if (field) {
371
- field.value = value;
372
- }
373
- }
374
- changeVariableValue(variableId, value) {
375
- const variable = this.getFormVariable(variableId);
376
- if (variable) {
377
- variable.value = value;
378
- }
379
- }
380
- loadInjectedFieldValidators(injectedFieldValidators) {
381
- this.fieldValidators = injectedFieldValidators ? [...FORM_FIELD_VALIDATORS, ...injectedFieldValidators] : [...FORM_FIELD_VALIDATORS];
382
- }
383
- }
384
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvZm9ybS9jb21wb25lbnRzL3dpZGdldHMvY29yZS9mb3JtLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVwRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBSXZDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBc0IscUJBQXFCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUtuRixPQUFPLEVBQUUsY0FBYyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUE2QmhHLE1BQU0sT0FBTyxTQUFTO2FBQ1gsb0JBQWUsR0FBVyxlQUFlLEFBQTFCLENBQTJCO2FBQzFDLGlCQUFZLEdBQVcsT0FBTyxBQUFsQixDQUFtQjthQUMvQixxQkFBZ0IsR0FBVyxXQUFXLEFBQXRCLENBQXVCO2FBQ3ZDLDBCQUFxQixHQUFXLGVBQWUsQUFBMUIsQ0FBMkI7SUE4QnZELFlBQ0ksSUFBVSxFQUNWLFVBQXVCLEVBQ3ZCLFdBQW9CLEtBQUssRUFDZixXQUFtQyxFQUM3QyxnQkFBMEIsRUFDMUIsdUJBQThDO1FBRnBDLGdCQUFX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WSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3pDLElBQUksS0FBSyxFQUFFLENBQUM7WUFDUixLQUFLLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUN4QixDQUFDO0lBQ0wsQ0FBQztJQUVELG1CQUFtQixDQUFDLFVBQWtCLEVBQUUsS0FBVTtRQUM5QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2xELElBQUksUUFBUSxFQUFFLENBQUM7WUFDWCxRQUFRLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUMzQixDQUFDO0lBQ0wsQ0FBQztJQUVPLDJCQUEyQixDQUFDLHVCQUE2QztRQUM3RSxJQUFJLENBQUMsZUFBZSxHQUFHLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcscUJBQXFCLEVBQUUsR0FBRyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcscUJBQXFCLENBQUMsQ0FBQztJQUN6SSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBGb3JtRmllbGRFdmVudCB9IGZyb20gJy4uLy4uLy4uL2V2ZW50cy9mb3JtLWZpZWxkLmV2ZW50JztcbmltcG9ydCB7IFZhbGlkYXRlRm9ybUZpZWxkRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9ldmVudHMvdmFsaWRhdGUtZm9ybS1maWVsZC5ldmVudCc7XG5pbXBvcnQgeyBWYWxpZGF0ZUZvcm1FdmVudCB9IGZyb20gJy4uLy4uLy4uL2V2ZW50cy92YWxpZGF0ZS1mb3JtLmV2ZW50JztcbmltcG9ydCB7IENvbnRhaW5lck1vZGVsIH0gZnJvbSAnLi9jb250YWluZXIubW9kZWwnO1xuaW1wb3J0IHsgRm9ybUZpZWxkVHlwZXMgfSBmcm9tICcuL2Zvcm0tZmllbGQtdHlwZXMnO1xuaW1wb3J0IHsgRm9ybUZpZWxkTW9kZWwgfSBmcm9tICcuL2Zvcm0tZmllbGQubW9kZWwnO1xuaW1wb3J0IHsgRm9ybVZhbHVlcyB9IGZyb20gJy4vZm9ybS12YWx1ZXMnO1xuaW1wb3J0IHsgVGFiTW9kZWwgfSBmcm9tICcuL3RhYi5tb2RlbCc7XG5cbmltcG9ydCB7IEZvcm1WYXJpYWJsZU1vZGVsIH0gZnJvbSAnLi9mb3JtLXZhcmlhYmxlLm1vZGVsJztcbmltcG9ydCB7IFByb2Nlc3NWYXJpYWJsZU1vZGVsIH0gZnJvbSAnLi9wcm9jZXNzLXZhcmlhYmxlLm1vZGVsJztcbmltcG9ydCB7IEZvcm1PdXRjb21lTW9kZWwgfSBmcm9tICcuL2Zvcm0tb3V0Y29tZS5tb2RlbCc7XG5pbXBvcnQgeyBGb3JtRmllbGRWYWxpZGF0b3IsIEZPUk1fRklFTERfVkFMSURBVE9SUyB9IGZyb20gJy4vZm9ybS1maWVsZC12YWxpZGF0b3InO1xuaW1wb3J0IHsgRm9ybUZpZWxkVGVtcGxhdGVzIH0gZnJvbSAnLi9mb3JtLWZpZWxkLXRlbXBsYXRlcyc7XG5pbXBvcnQgeyBVcGxvYWRXaWRnZXRDb250ZW50TGlua01vZGVsIH0gZnJvbSAnLi91cGxvYWQtd2lkZ2V0LWNvbnRlbnQtbGluay5tb2RlbCc7XG5pbXBvcnQgeyBGb3JtVmFsaWRhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9mb3JtLXZhbGlkYXRpb24tc2VydmljZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUHJvY2Vzc0Zvcm1Nb2RlbCB9IGZyb20gJy4vcHJvY2Vzcy1mb3JtLW1vZGVsLmludGVyZmFjZSc7XG5pbXBvcnQgeyBXaWRnZXRUeXBlRW51bSwgV2lkZ2V0VmlzaWJpbGl0eU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3dpZGdldC12aXNpYmlsaXR5Lm1vZGVsJztcbmltcG9ydCB7IFRoZW1lTW9kZWwgfSBmcm9tICcuL3RoZW1lLm1vZGVsJztcblxuZXhwb3J0IGludGVyZmFjZSBDb25maXJtTWVzc2FnZSB7XG4gICAgc2hvdzogYm9vbGVhbjtcbiAgICBtZXNzYWdlOiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIEZvcm1SZXByZXNlbnRhdGlvbk1vZGVsIHtcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG5cbiAgICBpZD86IHN0cmluZyB8IG51bWJlcjtcbiAgICBuYW1lPzogc3RyaW5nO1xuICAgIHRhc2tJZD86IHN0cmluZztcbiAgICB0YXNrTmFtZT86IHN0cmluZztcbiAgICBwcm9jZXNzRGVmaW5pdGlvbklkPzogc3RyaW5nO1xuICAgIGN1c3RvbUZpZWxkVGVtcGxhdGVzPzoge1xuICAgICAgICBba2V5OiBzdHJpbmddOiBzdHJpbmc7XG4gICAgfTtcbiAgICBzZWxlY3RlZE91dGNvbWU/OiBzdHJpbmc7XG4gICAgZmllbGRzPzogYW55W107XG4gICAgdGFicz86IGFueVtdO1xuICAgIG91dGNvbWVzPzogYW55W107XG4gICAgZm9ybURlZmluaXRpb24/OiB7XG4gICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgZmllbGRzPzogYW55W107XG4gICAgfTtcbiAgICBkaXNwbGF5TW9kZTogc3RyaW5nO1xuICAgIHRoZW1lPzogVGhlbWVNb2RlbDtcbn1cbmV4cG9ydCBjbGFzcyBGb3JtTW9kZWwgaW1wbGVtZW50cyBQcm9jZXNzRm9ybU1vZGVsIHtcbiAgICBzdGF0aWMgVU5TRVRfVEFTS19OQU1FOiBzdHJpbmcgPSAnTmFtZWxlc3MgdGFzayc7XG4gICAgc3RhdGljIFNBVkVfT1VUQ09NRTogc3RyaW5nID0gJyRzYXZlJztcbiAgICBzdGF0aWMgQ09NUExFVEVfT1VUQ09NRTogc3RyaW5nID0gJyRjb21wbGV0ZSc7XG4gICAgc3RhdGljIFNUQVJUX1BST0NFU1NfT1VUQ09NRTogc3RyaW5nID0gJyRzdGFydFByb2Nlc3MnO1xuXG4gICAgcmVhZG9ubHkgaWQ6IHN0cmluZyB8IG51bWJlcjtcbiAgICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgdGFza0lkOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgY29uZmlybU1lc3NhZ2U6IENvbmZpcm1NZXNzYWdlO1xuICAgIHJlYWRvbmx5IHRhc2tOYW1lID0gRm9ybU1vZGVsLlVOU0VUX1RBU0tfTkFNRTtcbiAgICByZWFkb25seSBwcm9jZXNzRGVmaW5pdGlvbklkOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgc2VsZWN0ZWRPdXRjb21lOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgZW5hYmxlRml4ZWRTcGFjZTogYm9vbGVhbjtcbiAgICByZWFkb25seSBkaXNwbGF5TW9kZTogYW55O1xuXG4gICAgZmllbGRzQ2FjaGU6IEZvcm1GaWVsZE1vZGVsW10gPSBbXTtcblxuICAgIGpzb246IGFueTtcbiAgICBub2RlSWQ6IHN0cmluZztcbiAgICB2YWx1ZXM6IEZvcm1WYWx1ZXMgPSB7fTtcbiAgICB0YWJzOiBUYWJNb2RlbFtdID0gW107XG4gICAgZmllbGRzOiAoQ29udGFpbmVyTW9kZWwgfCBGb3JtRmllbGRNb2RlbClbXSA9IFtdO1xuICAgIG91dGNvbWVzOiBGb3JtT3V0Y29tZU1vZGVsW10gPSBbXTtcbiAgICBmaWVsZFZhbGlkYXRvcnM6IEZvcm1GaWVsZFZhbGlkYXRvcltdID0gW107XG4gICAgY3VzdG9tRmllbGRUZW1wbGF0ZXM6IEZvcm1GaWVsZFRlbXBsYXRlcyA9IHt9O1xuICAgIHRoZW1lPzogVGhlbWVNb2RlbDtcblxuICAgIGNsYXNzTmFtZTogc3RyaW5nO1xuICAgIHJlYWRPbmx5ID0gZmFsc2U7XG4gICAgaXNWYWxpZCA9IHRydWU7XG4gICAgcHJvY2Vzc1ZhcmlhYmxlczogUHJvY2Vzc1ZhcmlhYmxlTW9kZWxbXSA9IFtdO1xuICAgIHZhcmlhYmxlczogRm9ybVZhcmlhYmxlTW9kZWxbXSA9IFtdO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIGpzb24/OiBhbnksXG4gICAgICAgIGZvcm1WYWx1ZXM/OiBGb3JtVmFsdWVzLFxuICAgICAgICByZWFkT25seTogYm9vbGVhbiA9IGZhbHNlLFxuICAgICAgICBwcm90ZWN0ZWQgZm9ybVNlcnZpY2U/OiBGb3JtVmFsaWRhdGlvblNlcnZpY2UsXG4gICAgICAgIGVuYWJsZUZpeGVkU3BhY2U/OiBib29sZWFuLFxuICAgICAgICBpbmplY3RlZEZpZWxkVmFsaWRhdG9ycz86IEZvcm1GaWVsZFZhbGlkYXRvcltdXG4gICAgKSB7XG4gICAgICAgIHRoaXMucmVhZE9ubHkgPSByZWFkT25seTtcbiAgICAgICAgdGhpcy5qc29uID0ganNvbjtcblxuICAgICAgICBpZiAoanNvbikge1xuICAgICAgICAgICAgdGhpcy5pZCA9IGpzb24uaWQ7XG4gICAgICAgICAgICB0aGlzLm5hbWUgPSBqc29uLm5hbWU7XG4gICAgICAgICAgICB0aGlzLnRhc2tJZCA9IGpzb24udGFza0lkO1xuICAgICAgICAgICAgdGhpcy50YXNrTmFtZSA9IGpzb24udGFza05hbWUgfHwganNvbi5uYW1lIHx8IEZvcm1Nb2RlbC5VTlNFVF9UQVNLX05BTUU7XG4gICAgICAgICAgICB0aGlzLnByb2Nlc3NEZWZpbml0aW9uSWQgPSBqc29uLnByb2Nlc3NEZWZpbml0aW9uSWQ7XG4gICAgICAgICAgICB0aGlzLmN1c3RvbUZpZWxkVGVtcGxhdGVzID0ganNvbi5jdXN0b21GaWVsZFRlbXBsYXRlcyB8fCB7fTtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRPdXRjb21lID0ganNvbi5zZWxlY3RlZE91dGNvbWU7XG4gICAgICAgICAgICB0aGlzLmNsYXNzTmFtZSA9IGpzb24uY2xhc3NOYW1lIHx8ICcnO1xuICAgICAgICAgICAgdGhpcy52YXJpYWJsZXMgPSBqc29uLnZhcmlhYmxlcyB8fCBqc29uLmZvcm1EZWZpbml0aW9uPy52YXJpYWJsZXMgfHwgW107XG4gICAgICAgICAgICB0aGlzLnByb2Nlc3NWYXJpYWJsZXMgPSBqc29uLnByb2Nlc3NWYXJpYWJsZXMgfHwgW107XG4gICAgICAgICAgICB0aGlzLmVuYWJsZUZpeGVkU3BhY2UgPSBlbmFibGVGaXhlZFNwYWNlO1xuICAgICAgICAgICAgdGhpcy5jb25maXJtTWVzc2FnZSA9IGpzb24uY29uZmlybU1lc3NhZ2UgfHwge307XG4gICAgICAgICAgICB0aGlzLmRpc3BsYXlNb2RlID0ganNvbi5kaXNwbGF5TW9kZTtcbiAgICAgICAgICAgIHRoaXMudGhlbWUgPSBqc29uLnRoZW1lIHx8IGpzb24uZm9ybURlZmluaXRpb24/LnRoZW1lO1xuXG4gICAgICAgICAgICB0aGlzLnRhYnMgPSAoanNvbi50YWJzIHx8IFtdKS5tYXAoKHRhYkpzb24pID0+IG5ldyBUYWJNb2RlbCh0aGlzLCB0YWJKc29uKSk7XG5cbiAgICAgICAgICAgIHRoaXMuZmllbGRzID0gdGhpcy5wYXJzZVJvb3RGaWVsZHMoanNvbik7XG4gICAgICAgICAgICB0aGlzLmZpZWxkc0NhY2hlID0gdGhpcy5nZXRGb3JtRmllbGRzKCk7XG5cbiAgICAgICAgICAgIGlmIChmb3JtVmFsdWVzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkRGF0YShmb3JtVmFsdWVzKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5wYXJzZU91dGNvbWVzKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmxvYWRJbmplY3RlZEZpZWxkVmFsaWRhdG9ycyhpbmplY3RlZEZpZWxkVmFsaWRhdG9ycyk7XG4gICAgICAgIHRoaXMudmFsaWRhdGVGb3JtKCk7XG4gICAgfVxuXG4gICAgb25Gb3JtRmllbGRDaGFuZ2VkKGZpZWxkOiBGb3JtRmllbGRNb2RlbCkge1xuICAgICAgICB0aGlzLnZhbGlkYXRlRmllbGQoZmllbGQpO1xuXG4gICAgICAgIGlmICh0aGlzLmZvcm1TZXJ2aWNlKSB7XG4gICAgICAgICAgICB0aGlzLmZvcm1TZXJ2aWNlLmZvcm1GaWVsZFZhbHVlQ2hhbmdlZC5uZXh0KG5ldyBGb3JtRmllbGRFdmVudCh0aGlzLCBmaWVsZCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVmFsaWRhdGVzIGVudGlyZSBmb3JtIGFuZCBhbGwgZm9ybSBmaWVsZHMuXG4gICAgICovXG4gICAgdmFsaWRhdGVGb3JtKCk6IHZvaWQge1xuICAgICAgICBjb25zdCB2YWxpZGF0ZUZvcm1FdmVudDogYW55ID0gbmV3IFZhbGlkYXRlRm9ybUV2ZW50KHRoaXMpO1xuXG4gICAgICAgIGNvbnN0IGVycm9yc0ZpZWxkOiBGb3JtRmllbGRNb2RlbFtdID0gdGhpcy5maWVsZHNDYWNoZS5maWx0ZXIoKGZpZWxkKSA9PiB7XG4gICAgICAgICAgICBpZiAoIUZvcm1GaWVsZFR5cGVzLmlzUmVhY3RpdmVUeXBlKGZpZWxkLnR5cGUpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICFmaWVsZC52YWxpZGF0ZSgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmllbGQudmFsaWRhdGlvblN1bW1hcnkuaXNBY3RpdmUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5pc1ZhbGlkID0gZXJyb3JzRmllbGQubGVuZ3RoIDw9IDA7XG5cbiAgICAgICAgaWYgKHRoaXMuZm9ybVNlcnZpY2UpIHtcbiAgICAgICAgICAgIHZhbGlkYXRlRm9ybUV2ZW50LmlzVmFsaWQgPSB0aGlzLmlzVmFsaWQ7XG4gICAgICAgICAgICB2YWxpZGF0ZUZvcm1FdmVudC5lcnJvcnNGaWVsZCA9IGVycm9yc0ZpZWxkO1xuICAgICAgICAgICAgdGhpcy5mb3JtU2VydmljZS52YWxpZGF0ZUZvcm0ubmV4dCh2YWxpZGF0ZUZvcm1FdmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBWYWxpZGF0ZXMgYSBzcGVjaWZpYyBmb3JtIGZpZWxkLCB0cmlnZ2VycyBmb3JtIHZhbGlkYXRpb24uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZmllbGQgRm9ybSBmaWVsZCB0byB2YWxpZGF0ZS5cbiAgICAgKi9cbiAgICB2YWxpZGF0ZUZpZWxkKGZpZWxkOiBGb3JtRmllbGRNb2RlbCk6IHZvaWQge1xuICAgICAgICBpZiAoIWZpZWxkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB2YWxpZGF0ZUZpZWxkRXZlbnQgPSBuZXcgVmFsaWRhdGVGb3JtRmllbGRFdmVudCh0aGlzLCBmaWVsZCk7XG5cbiAgICAgICAgaWYgKHRoaXMuZm9ybVNlcnZpY2UpIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybVNlcnZpY2UudmFsaWRhdGVGb3JtRmllbGQubmV4dCh2YWxpZGF0ZUZpZWxkRXZlbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF2YWxpZGF0ZUZpZWxkRXZlbnQuaXNWYWxpZCkge1xuICAgICAgICAgICAgdGhpcy5tYXJrQXNJbnZhbGlkKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodmFsaWRhdGVGaWVsZEV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghRm9ybUZpZWxkVHlwZXMuaXNSZWFjdGl2ZVR5cGUoZmllbGQudHlwZSkgJiYgIWZpZWxkLnZhbGlkYXRlKCkpIHtcbiAgICAgICAgICAgIHRoaXMubWFya0FzSW52YWxpZCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy52YWxpZGF0ZUZvcm0oKTtcbiAgICB9XG5cbiAgICAvLyBBY3Rpdml0aSBzdXBwb3J0cyAzIHR5cGVzIG9mIHJvb3QgZmllbGRzOiBjb250YWluZXJ8Z3JvdXB8ZHluYW1pYy10YWJsZVxuICAgIHByaXZhdGUgcGFyc2VSb290RmllbGRzKGpzb246IGFueSk6IChDb250YWluZXJNb2RlbCB8IEZvcm1GaWVsZE1vZGVsKVtdIHtcbiAgICAgICAgbGV0IGZpZWxkcyA9IFtdO1xuXG4gICAgICAgIGlmIChqc29uLmZpZWxkcykge1xuICAgICAgICAgICAgZmllbGRzID0ganNvbi5maWVsZHM7XG4gICAgICAgIH0gZWxzZSBpZiAoanNvbi5mb3JtRGVmaW5pdGlvbj8uZmllbGRzKSB7XG4gICAgICAgICAgICBmaWVsZHMgPSBqc29uLmZvcm1EZWZpbml0aW9uLmZpZWxkcztcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJvb3RFbGVtZW50czogKENvbnRhaW5lck1vZGVsIHwgRm9ybUZpZWxkTW9kZWwpW10gPSBbXTtcbiAgICAgICAgbGV0IGN1cnJlbnRSb290RWxlbWVudDtcbiAgICAgICAgZm9yIChjb25zdCBmaWVsZCBvZiBmaWVsZHMpIHtcbiAgICAgICAgICAgIGlmIChmaWVsZD8udHlwZSA9PT0gRm9ybUZpZWxkVHlwZXMuRFlOQU1JQ19UQUJMRSkge1xuICAgICAgICAgICAgICAgIGN1cnJlbnRSb290RWxlbWVudCA9IG5ldyBGb3JtRmllbGRNb2RlbCh0aGlzLCBmaWVsZCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGN1cnJlbnRSb290RWxlbWVudCA9IG5ldyBDb250YWluZXJNb2RlbChuZXcgRm9ybUZpZWxkTW9kZWwodGhpcywgZmllbGQpKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGZpZWxkLnRhYikge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRhYiA9IHRoaXMudGFicy5maW5kKChjdXJyZW50VGFiKSA9PiBmaWVsZC50YWIgPT09IGN1cnJlbnRUYWIuaWQpO1xuICAgICAgICAgICAgICAgIGlmICh0YWIpIHtcbiAgICAgICAgICAgICAgICAgICAgdGFiLmZpZWxkcy5wdXNoKGN1cnJlbnRSb290RWxlbWVudCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByb290RWxlbWVudHMucHVzaChjdXJyZW50Um9vdEVsZW1lbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJvb3RFbGVtZW50cztcbiAgICB9XG5cbiAgICAvLyBMb2FkcyBleHRlcm5hbCBkYXRhIGFuZCBvdmVycmlkZXMgZmllbGQgdmFsdWVzXG4gICAgLy8gVHlwaWNhbGx5IHVzZWQgd2hlbiBmb3JtIGRlZmluaXRpb24gYW5kIGZvcm0gZGF0YSBjb21pbmcgZnJvbSBkaWZmZXJlbnQgc291cmNlc1xuICAgIHByaXZhdGUgbG9hZERhdGEoZm9ybVZhbHVlczogRm9ybVZhbHVlcykge1xuICAgICAgICBmb3IgKGNvbnN0IGZpZWxkIG9mIHRoaXMuZmllbGRzQ2FjaGUpIHtcbiAgICAgICAgICAgIGNvbnN0IHZhcmlhYmxlSWQgPSBgdmFyaWFibGVzLiR7ZmllbGQubmFtZX1gO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5jYW5PdmVycmlkZUZpZWxkVmFsdWVXaXRoUHJvY2Vzc1ZhbHVlKGZpZWxkLCB2YXJpYWJsZUlkLCBmb3JtVmFsdWVzKSkge1xuICAgICAgICAgICAgICAgIGZpZWxkLmpzb24udmFsdWUgPSBmb3JtVmFsdWVzW3ZhcmlhYmxlSWRdIHx8IGZvcm1WYWx1ZXNbZmllbGQuaWRdO1xuICAgICAgICAgICAgICAgIGZpZWxkLnZhbHVlID0gZmllbGQucGFyc2VWYWx1ZShmaWVsZC5qc29uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY2FuT3ZlcnJpZGVGaWVsZFZhbHVlV2l0aFByb2Nlc3NWYWx1ZShmaWVsZDogRm9ybUZpZWxkTW9kZWwsIHZhcmlhYmxlSWQ6IHN0cmluZywgZm9ybVZhbHVlczogRm9ybVZhbHVlcyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIUZvcm1GaWVsZFR5cGVzLmlzQ29uc3RhbnRWYWx1ZVR5cGUoZmllbGQudHlwZSkgJiYgKHRoaXMuaXNEZWZpbmVkKGZvcm1WYWx1ZXNbdmFyaWFibGVJZF0pIHx8IHRoaXMuaXNEZWZpbmVkKGZvcm1WYWx1ZXNbZmllbGQuaWRdKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc0RlZmluZWQodmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdmFsdWUgIT09IHVuZGVmaW5lZCAmJiB2YWx1ZSAhPT0gbnVsbDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGEgZm9ybSB2YXJpYWJsZSB0aGF0IG1hdGNoZXMgdGhlIGlkZW50aWZpZXIuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaWRlbnRpZmllciBUaGUgYG5hbWVgIG9yIGBpZGAgdmFsdWUuXG4gICAgICogQHJldHVybnMgZm9ybSB2YXJpYWJsZSBtb2RlbFxuICAgICAqL1xuICAgIGdldEZvcm1WYXJpYWJsZShpZGVudGlmaWVyOiBzdHJpbmcpOiBGb3JtVmFyaWFibGVNb2RlbCB7XG4gICAgICAgIGlmIChpZGVudGlmaWVyKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy52YXJpYWJsZXMuZmluZCgodmFyaWFibGUpID0+IHZhcmlhYmxlLm5hbWUgPT09IGlkZW50aWZpZXIgfHwgdmFyaWFibGUuaWQgPT09IGlkZW50aWZpZXIpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBhIHZhbHVlIG9mIHRoZSBmb3JtIHZhcmlhYmxlIHRoYXQgbWF0Y2hlcyB0aGUgaWRlbnRpZmllci5cbiAgICAgKiBQcm92aWRlcyBhZGRpdGlvbmFsIGNvbnZlcnNpb24gb2YgdHlwZXMgKGRhdGUsIGJvb2xlYW4pLlxuICAgICAqXG4gICAgICogQHBhcmFtIGlkZW50aWZpZXIgVGhlIGBuYW1lYCBvciBgaWRgIHZhbHVlXG4gICAgICogQHJldHVybnMgZm9ybSB2YXJpYWJsZSB2YWx1ZVxuICAgICAqL1xuICAgIGdldERlZmF1bHRGb3JtVmFyaWFibGVWYWx1ZShpZGVudGlmaWVyOiBzdHJpbmcpOiBhbnkge1xuICAgICAgICBjb25zdCB2YXJpYWJsZSA9IHRoaXMuZ2V0Rm9ybVZhcmlhYmxlKGlkZW50aWZpZXIpO1xuXG4gICAgICAgIGlmICh2YXJpYWJsZSAmJiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodmFyaWFibGUsICd2YWx1ZScpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5wYXJzZVZhbHVlKHZhcmlhYmxlLnR5cGUsIHZhcmlhYmxlLnZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBhIHByb2Nlc3MgdmFyaWFibGUgdmFsdWUuXG4gICAgICogV2hlbiBtYXBwaW5nIGEgcHJvY2VzcyB2YXJpYWJsZSB3aXRoIGEgZm9ybSB2YXJpYWJsZSB0aGUgbWFwcGluZ1xuICAgICAqIGlzIGFscmVhZHkgcmVzb2x2ZWQgYnkgdGhlIHJlc3QgQVBJIHdpdGggdGhlIG5hbWUgb2YgdmFyaWFibGVzLmZvcm1WYXJpYWJsZU5hbWVcbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIFZhcmlhYmxlIG5hbWVcbiAgICAgKiBAcmV0dXJucyBwcm9jZXNzIHZhcmlhYmxlIHZhbHVlXG4gICAgICovXG4gICAgZ2V0UHJvY2Vzc1ZhcmlhYmxlVmFsdWUobmFtZTogc3RyaW5nKTogYW55IHtcbiAgICAgICAgbGV0IHZhbHVlO1xuICAgICAgICBpZiAodGhpcy5wcm9jZXNzVmFyaWFibGVzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IG5hbWVzID0gW2B2YXJpYWJsZXMuJHtuYW1lfWAsIG5hbWVdO1xuXG4gICAgICAgICAgICBjb25zdCBwcm9jZXNzVmFyaWFibGUgPSB0aGlzLnByb2Nlc3NWYXJpYWJsZXMuZmluZCgoZW50cnkpID0+IG5hbWVzLmluY2x1ZGVzKGVudHJ5Lm5hbWUpKTtcblxuICAgICAgICAgICAgaWYgKHByb2Nlc3NWYXJpYWJsZSkge1xuICAgICAgICAgICAgICAgIHZhbHVlID0gdGhpcy5wYXJzZVZhbHVlKHByb2Nlc3NWYXJpYWJsZS50eXBlLCBwcm9jZXNzVmFyaWFibGUudmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgdmFsdWUgPSB0aGlzLmdldERlZmF1bHRGb3JtVmFyaWFibGVWYWx1ZShuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcGFyc2VWYWx1ZSh0eXBlOiBzdHJpbmcsIHZhbHVlOiBhbnkpOiBhbnkge1xuICAgICAgICBpZiAodHlwZSAmJiB2YWx1ZSkge1xuICAgICAgICAgICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnZGF0ZSc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZS50b1N0cmluZygpLmluY2x1ZGVzKCdUJykgPyB2YWx1ZSA6IGAke3ZhbHVlfVQwMDowMDowMC4wMDBaYDtcbiAgICAgICAgICAgICAgICBjYXNlICdib29sZWFuJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgPyBKU09OLnBhcnNlKHZhbHVlKSA6IHZhbHVlO1xuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICBoYXNUYWJzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy50YWJzICYmIHRoaXMudGFicy5sZW5ndGggPiAwO1xuICAgIH1cblxuICAgIGhhc0ZpZWxkcygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmllbGRzICYmIHRoaXMuZmllbGRzLmxlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgaGFzT3V0Y29tZXMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLm91dGNvbWVzICYmIHRoaXMub3V0Y29tZXMubGVuZ3RoID4gMDtcbiAgICB9XG5cbiAgICBnZXRGaWVsZEJ5SWQoZmllbGRJZDogc3RyaW5nKTogRm9ybUZpZWxkTW9kZWwge1xuICAgICAgICByZXR1cm4gdGhpcy5maWVsZHNDYWNoZS5maW5kKChmaWVsZCkgPT4gZmllbGQuaWQgPT09IGZpZWxkSWQpO1xuICAgIH1cblxuICAgIGdldEZvcm1GaWVsZHMoZmlsdGVyVHlwZXM/OiBzdHJpbmdbXSk6IEZvcm1GaWVsZE1vZGVsW10ge1xuICAgICAgICBpZiAodGhpcy5maWVsZHNDYWNoZT8ubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXJGaWVsZHNCeVR5cGUodGhpcy5maWVsZHNDYWNoZSwgZmlsdGVyVHlwZXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZm9ybUZpZWxkTW9kZWw6IEZvcm1GaWVsZE1vZGVsW10gPSBbXTtcbiAgICAgICAgdGhpcy5wcm9jZXNzRmllbGRzKHRoaXMuZmllbGRzLCBmb3JtRmllbGRNb2RlbCk7XG4gICAgICAgIHJldHVybiB0aGlzLmZpbHRlckZpZWxkc0J5VHlwZShmb3JtRmllbGRNb2RlbCwgZmlsdGVyVHlwZXMpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHJvY2Vzc0ZpZWxkcyhmaWVsZHM6IChDb250YWluZXJNb2RlbCB8IEZvcm1GaWVsZE1vZGVsKVtdLCBmb3JtRmllbGRNb2RlbDogRm9ybUZpZWxkTW9kZWxbXSk6IHZvaWQge1xuICAgICAgICBmaWVsZHMuZm9yRWFjaCgoZmllbGQpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzU2VjdGlvbkZpZWxkKGZpZWxkKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlU2VjdGlvbkZpZWxkKGZpZWxkLCBmb3JtRmllbGRNb2RlbCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXNDb250YWluZXJGaWVsZChmaWVsZCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZUNvbnRhaW5lckZpZWxkKGZpZWxkLCBmb3JtRmllbGRNb2RlbCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlU2luZ2xlRmllbGQoZmllbGQsIGZvcm1GaWVsZE1vZGVsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc0NvbnRhaW5lckZpZWxkKGZpZWxkOiBDb250YWluZXJNb2RlbCB8IEZvcm1GaWVsZE1vZGVsKTogZmllbGQgaXMgQ29udGFpbmVyTW9kZWwge1xuICAgICAgICByZXR1cm4gZmllbGQgaW5zdGFuY2VvZiBDb250YWluZXJNb2RlbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzU2VjdGlvbkZpZWxkKGZpZWxkOiBDb250YWluZXJNb2RlbCB8IEZvcm1GaWVsZE1vZGVsKTogZmllbGQgaXMgRm9ybUZpZWxkTW9kZWwge1xuICAgICAgICByZXR1cm4gZmllbGQudHlwZSA9PT0gRm9ybUZpZWxkVHlwZXMuU0VDVElPTjtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZVNlY3Rpb25GaWVsZChzZWN0aW9uOiBGb3JtRmllbGRNb2RlbCwgZm9ybUZpZWxkTW9kZWw6IEZvcm1GaWVsZE1vZGVsW10pOiB2b2lkIHtcbiAgICAgICAgZm9ybUZpZWxkTW9kZWwucHVzaChzZWN0aW9uKTtcbiAgICAgICAgc2VjdGlvbi5jb2x1bW5zLmZvckVhY2goKGNvbHVtbikgPT4ge1xuICAgICAgICAgICAgdGhpcy5wcm9jZXNzRmllbGRzKGNvbHVtbi5maWVsZHMsIGZvcm1GaWVsZE1vZGVsKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVDb250YWluZXJGaWVsZChjb250YWluZXI6IENvbnRhaW5lck1vZGVsLCBmb3JtRmllbGRNb2RlbDogRm9ybUZpZWxkTW9kZWxbXSk6IHZvaWQge1xuICAgICAgICBmb3JtRmllbGRNb2RlbC5wdXNoKGNvbnRhaW5lci5maWVsZCk7XG4gICAgICAgIGNvbnRhaW5lci5maWVsZC5jb2x1bW5zLmZvckVhY2goKGNvbHVtbikgPT4ge1xuICAgICAgICAgICAgdGhpcy5wcm9jZXNzRmllbGRzKGNvbHVtbi5maWVsZHMsIGZvcm1GaWVsZE1vZGVsKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVTaW5nbGVGaWVsZChmaWVsZDogRm9ybUZpZWxkTW9kZWwsIGZvcm1GaWVsZE1vZGVsOiBGb3JtRmllbGRNb2RlbFtdKTogdm9pZCB7XG4gICAgICAgIGZvcm1GaWVsZE1vZGVsLnB1c2goZmllbGQpO1xuICAgICAgICBpZiAoZmllbGQuZmllbGRzKSB7XG4gICAgICAgICAgICB0aGlzLnByb2Nlc3NGaWVsZHMoT2JqZWN0LnZhbHVlcyhmaWVsZC5maWVsZHMpLCBmb3JtRmllbGRNb2RlbCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGZpbHRlckZpZWxkc0J5VHlwZShmaWVsZHM6IEZvcm1GaWVsZE1vZGVsW10sIHR5cGVzPzogc3RyaW5nW10pOiBGb3JtRmllbGRNb2RlbFtdIHtcbiAgICAgICAgaWYgKCF0eXBlcz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4gZmllbGRzO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZpZWxkcy5maWx0ZXIoKGZpZWxkKSA9PiB0eXBlcy5pbmNsdWRlcyhmaWVsZD8udHlwZSkpO1xuICAgIH1cblxuICAgIG1hcmtBc0ludmFsaWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNWYWxpZCA9IGZhbHNlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBwYXJzZU91dGNvbWVzKCkge1xuICAgICAgICBpZiAodGhpcy5qc29uLmZpZWxkcykge1xuICAgICAgICAgICAgY29uc3Qgc2F2ZU91dGNvbWUgPSBuZXcgRm9ybU91dGNvbWVNb2RlbCh0aGlzLCB7XG4gICAgICAgICAgICAgICAgaWQ6IEZvcm1Nb2RlbC5TQVZFX09VVENPTUUsXG4gICAgICAgICAgICAgICAgbmFtZTogJ1NBVkUnLFxuICAgICAgICAgICAgICAgIGlzU3lzdGVtOiB0cnVlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNvbnN0IGNvbXBsZXRlT3V0Y29tZSA9IG5ldyBGb3JtT3V0Y29tZU1vZGVsKHRoaXMsIHtcbiAgICAgICAgICAgICAgICBpZDogRm9ybU1vZGVsLkNPTVBMRVRFX09VVENPTUUsXG4gICAgICAgICAgICAgICAgbmFtZTogJ0NPTVBMRVRFJyxcbiAgICAgICAgICAgICAgICBpc1N5c3RlbTogdHJ1ZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBjb25zdCBzdGFydFByb2Nlc3NPdXRjb21lID0gbmV3IEZvcm1PdXRjb21lTW9kZWwodGhpcywge1xuICAgICAgICAgICAgICAgIGlkOiBGb3JtTW9kZWwuU1RBUlRfUFJPQ0VTU19PVVRDT01FLFxuICAgICAgICAgICAgICAgIG5hbWU6ICdTVEFSVCBQUk9DRVNTJyxcbiAgICAgICAgICAgICAgICBpc1N5c3RlbTogdHJ1ZVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGNvbnN0IGN1c3RvbU91dGNvbWVzID0gKHRoaXMuanNvbi5vdXRjb21lcyB8fCBbXSkubWFwKChvYmopID0+IG5ldyBGb3JtT3V0Y29tZU1vZGVsKHRoaXMsIG9iaikpO1xuXG4gICAgICAgICAgICB0aGlzLm91dGNvbWVzID0gW3NhdmVPdXRjb21lXS5jb25jYXQoY3VzdG9tT3V0Y29tZXMubGVuZ3RoID4gMCA/IGN1c3RvbU91dGNvbWVzIDogW2NvbXBsZXRlT3V0Y29tZSwgc3RhcnRQcm9jZXNzT3V0Y29tZV0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYWRkVmFsdWVzTm90UHJlc2VudCh2YWx1ZXNUb1NldElmTm90UHJlc2VudDogRm9ybVZhbHVlcykge1xuICAgICAgICB0aGlzLmZpZWxkc0NhY2hlLmZvckVhY2goKGZpZWxkKSA9PiB7XG4gICAgICAgICAgICBpZiAodmFsdWVzVG9TZXRJZk5vdFByZXNlbnRbZmllbGQuaWRdICYmICghdGhpcy52YWx1ZXNbZmllbGQuaWRdIHx8IHRoaXMuaXNWYWxpZERyb3BEb3duKGZpZWxkLmlkKSkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlc1tmaWVsZC5pZF0gPSB2YWx1ZXNUb1NldElmTm90UHJlc2VudFtmaWVsZC5pZF07XG4gICAgICAgICAgICAgICAgZmllbGQuanNvbi52YWx1ZSA9IHRoaXMudmFsdWVzW2ZpZWxkLmlkXTtcbiAgICAgICAgICAgICAgICBmaWVsZC52YWx1ZSA9IGZpZWxkLnBhcnNlVmFsdWUoZmllbGQuanNvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNWYWxpZERyb3BEb3duKGtleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGZpZWxkID0gdGhpcy5nZXRGaWVsZEJ5SWQoa2V5KTtcbiAgICAgICAgaWYgKGZpZWxkLnR5cGUgPT09IEZvcm1GaWVsZFR5cGVzLkRST1BET1dOKSB7XG4gICAgICAgICAgICBpZiAoZmllbGQuaGFzTXVsdGlwbGVWYWx1ZXMpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh0aGlzLnZhbHVlc1trZXldKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0eXBlb2YgdGhpcy52YWx1ZXNba2V5XSA9PT0gJ3N0cmluZycgPyB0aGlzLnZhbHVlc1trZXldID09PSAnZW1wdHknIDogT2JqZWN0LmtleXModGhpcy52YWx1ZXNba2V5XSkubGVuZ3RoID09PSAwO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBzZXROb2RlSWRWYWx1ZUZvclZpZXdlcnNMaW5rZWRUb1VwbG9hZFdpZGdldChsaW5rZWRVcGxvYWRXaWRnZXRDb250ZW50U2VsZWN0ZWQ6IFVwbG9hZFdpZGdldENvbnRlbnRMaW5rTW9kZWwpIHtcbiAgICAgICAgY29uc3QgbGlua2VkV2lkZ2V0VHlwZSA9IGxpbmtlZFVwbG9hZFdpZGdldENvbnRlbnRTZWxlY3RlZD8ub3B0aW9ucz8ubGlua2VkV2lkZ2V0VHlwZSA/PyAndXBsb2FkV2lkZ2V0JztcblxuICAgICAgICBjb25zdCBzdWJzY3JpYmVkVmlld2VycyA9IHRoaXMuZmllbGRzQ2FjaGUuZmlsdGVyKFxuICAgICAgICAgICAgKGZpZWxkKSA9PiBsaW5rZWRVcGxvYWRXaWRnZXRDb250ZW50U2VsZWN0ZWQudXBsb2FkV2lkZ2V0SWQgPT09IGZpZWxkLnBhcmFtc1tsaW5rZWRXaWRnZXRUeXBlXVxuICAgICAgICApO1xuXG4gICAgICAgIHN1YnNjcmliZWRWaWV3ZXJzLmZvckVhY2goKHZpZXdlcikgPT4ge1xuICAgICAgICAgICAgdGhpcy52YWx1ZXNbdmlld2VyLmlkXSA9IGxpbmtlZFVwbG9hZFdpZGdldENvbnRlbnRTZWxlY3RlZC5pZDtcbiAgICAgICAgICAgIHZpZXdlci5qc29uLnZhbHVlID0gdGhpcy52YWx1ZXNbdmlld2VyLmlkXTtcbiAgICAgICAgICAgIHZpZXdlci52YWx1ZSA9IHZpZXdlci5wYXJzZVZhbHVlKHZpZXdlci5qc29uKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY2hhbmdlRmllbGRWaXNpYmlsaXR5KGZpZWxkSWQ6IHN0cmluZywgdmlzaWJpbGl0eTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBjb25zdCB2aXNpYmlsaXR5UnVsZTogV2lkZ2V0VmlzaWJpbGl0eU1vZGVsID0gbmV3IFdpZGdldFZpc2liaWxpdHlNb2RlbCgpO1xuXG4gICAgICAgIGNvbnN0IGZpZWxkID0gdGhpcy5nZXRGaWVsZEJ5SWQoZmllbGRJZCk7XG4gICAgICAgIGlmIChmaWVsZCkge1xuICAgICAgICAgICAgdmlzaWJpbGl0eVJ1bGUub3BlcmF0b3IgPSB2aXNpYmlsaXR5ID8gJ2VtcHR5JyA6ICchZW1wdHknO1xuICAgICAgICAgICAgdmlzaWJpbGl0eVJ1bGUubGVmdFR5cGUgPSBXaWRnZXRUeXBlRW51bS5maWVsZDtcbiAgICAgICAgICAgIGZpZWxkLnZpc2liaWxpdHlDb25kaXRpb24gPSB2aXNpYmlsaXR5UnVsZTtcbiAgICAgICAgICAgIGZpZWxkLmlzVmlzaWJsZSA9IHZpc2liaWxpdHk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjaGFuZ2VGaWVsZERpc2FibGVkKGZpZWxkSWQ6IHN0cmluZywgZGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZmllbGQgPSB0aGlzLmdldEZpZWxkQnlJZChmaWVsZElkKTtcbiAgICAgICAgaWYgKGZpZWxkKSB7XG4gICAgICAgICAgICBmaWVsZC5yZWFkT25seSA9IHRoaXMucmVhZE9ubHkgfHwgZGlzYWJsZWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjaGFuZ2VGaWVsZFJlcXVpcmVkKGZpZWxkSWQ6IHN0cmluZywgcmVxdWlyZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZmllbGQgPSB0aGlzLmdldEZpZWxkQnlJZChmaWVsZElkKTtcbiAgICAgICAgaWYgKGZpZWxkKSB7XG4gICAgICAgICAgICBmaWVsZC5yZXF1aXJlZCA9IHJlcXVpcmVkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY2hhbmdlRmllbGRWYWx1ZShmaWVsZElkOiBzdHJpbmcsIHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZmllbGQgPSB0aGlzLmdldEZpZWxkQnlJZChmaWVsZElkKTtcbiAgICAgICAgaWYgKGZpZWxkKSB7XG4gICAgICAgICAgICBmaWVsZC52YWx1ZSA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY2hhbmdlVmFyaWFibGVWYWx1ZSh2YXJpYWJsZUlkOiBzdHJpbmcsIHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdmFyaWFibGUgPSB0aGlzLmdldEZvcm1WYXJpYWJsZSh2YXJpYWJsZUlkKTtcbiAgICAgICAgaWYgKHZhcmlhYmxlKSB7XG4gICAgICAgICAgICB2YXJpYWJsZS52YWx1ZSA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBsb2FkSW5qZWN0ZWRGaWVsZFZhbGlkYXRvcnMoaW5qZWN0ZWRGaWVsZFZhbGlkYXRvcnM6IEZvcm1GaWVsZFZhbGlkYXRvcltdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZmllbGRWYWxpZGF0b3JzID0gaW5qZWN0ZWRGaWVsZFZhbGlkYXRvcnMgPyBbLi4uRk9STV9GSUVMRF9WQUxJREFUT1JTLCAuLi5pbmplY3RlZEZpZWxkVmFsaWRhdG9yc10gOiBbLi4uRk9STV9GSUVMRF9WQUxJREFUT1JTXTtcbiAgICB9XG59XG4iXX0=
@@ -1,18 +0,0 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL2Zvcm0vY29tcG9uZW50cy93aWRnZXRzL2NvcmUvZ3JvdXAubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5leHBvcnQgaW50ZXJmYWNlIEdyb3VwTW9kZWwge1xuICAgIGV4dGVybmFsSWQ/OiBzdHJpbmc7XG4gICAgZ3JvdXBzPzogYW55O1xuICAgIGlkPzogc3RyaW5nO1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgc3RhdHVzPzogc3RyaW5nO1xufVxuIl19