@alfresco/aca-content 5.1.1 → 5.2.0

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 (396) hide show
  1. package/assets/app.extensions.json +9 -0
  2. package/assets/i18n/ar.json +600 -599
  3. package/assets/i18n/cs.json +600 -599
  4. package/assets/i18n/da.json +600 -599
  5. package/assets/i18n/de.json +600 -599
  6. package/assets/i18n/en.json +40 -1
  7. package/assets/i18n/es.json +600 -599
  8. package/assets/i18n/fi.json +600 -599
  9. package/assets/i18n/fr.json +600 -599
  10. package/assets/i18n/it.json +600 -599
  11. package/assets/i18n/ja.json +600 -599
  12. package/assets/i18n/nb.json +600 -599
  13. package/assets/i18n/nl.json +600 -599
  14. package/assets/i18n/pl.json +600 -599
  15. package/assets/i18n/pt-BR.json +600 -599
  16. package/assets/i18n/ru.json +600 -599
  17. package/assets/i18n/sv.json +600 -599
  18. package/assets/i18n/zh-CN.json +600 -599
  19. package/esm2022/about/about.component.mjs +70 -0
  20. package/esm2022/about/aca-about.module.mjs +47 -0
  21. package/esm2022/folder-rules/folder-rules.module.mjs +116 -0
  22. package/esm2022/folder-rules/manage-rules/manage-rules.smart-component.mjs +280 -0
  23. package/esm2022/folder-rules/rule-details/actions/rule-action-list.ui-component.mjs +117 -0
  24. package/esm2022/folder-rules/rule-details/actions/rule-action.ui-component.mjs +359 -0
  25. package/esm2022/folder-rules/rule-details/conditions/rule-composite-condition.ui-component.mjs +171 -0
  26. package/esm2022/folder-rules/rule-details/conditions/rule-simple-condition.ui-component.mjs +237 -0
  27. package/esm2022/folder-rules/rule-details/edit-rule-dialog.ui-component.mjs +80 -0
  28. package/esm2022/folder-rules/rule-details/options/rule-options.ui-component.mjs +129 -0
  29. package/esm2022/folder-rules/rule-details/rule-details.ui-component.mjs +192 -0
  30. package/esm2022/folder-rules/rule-details/triggers/rule-triggers.ui-component.mjs +87 -0
  31. package/esm2022/folder-rules/rule-details/validators/rule-actions.validator.mjs +36 -0
  32. package/esm2022/folder-rules/rule-list/rule-list/rule-list.ui-component.mjs +166 -0
  33. package/esm2022/folder-rules/rule-list/rule-list-grouping/rule-list-grouping.ui-component.mjs +80 -0
  34. package/esm2022/folder-rules/rule-list/rule-list-item/rule-list-item.ui-component.mjs +59 -0
  35. package/esm2022/folder-rules/rule-set-picker/rule-set-picker.smart-component.mjs +125 -0
  36. package/esm2022/folder-rules/services/actions.service.mjs +117 -0
  37. package/esm2022/folder-rules/services/folder-rule-sets.service.mjs +230 -0
  38. package/esm2022/folder-rules/services/folder-rules.service.mjs +195 -0
  39. package/esm2022/lib/aca-content.module.mjs +303 -0
  40. package/esm2022/lib/aca-content.routes.mjs +369 -0
  41. package/esm2022/lib/components/bulk-actions-dropdown/bulk-actions-dropdown.component.mjs +82 -0
  42. package/{esm2020 → esm2022}/lib/components/common/language-picker/language-picker.component.mjs +9 -8
  43. package/esm2022/lib/components/common/location-link/location-link.component.mjs +182 -0
  44. package/{esm2020 → esm2022}/lib/components/common/logout/logout.component.mjs +8 -6
  45. package/esm2022/lib/components/common/toggle-shared/toggle-shared.component.mjs +81 -0
  46. package/esm2022/lib/components/common/user-info/user-info.component.mjs +46 -0
  47. package/esm2022/lib/components/context-menu/base-context-menu.directive.mjs +77 -0
  48. package/esm2022/lib/components/context-menu/context-menu-item.component.mjs +65 -0
  49. package/esm2022/lib/components/context-menu/context-menu-outside-event.directive.mjs +62 -0
  50. package/esm2022/lib/components/context-menu/context-menu-overlay.mjs +33 -0
  51. package/esm2022/lib/components/context-menu/context-menu.component.mjs +84 -0
  52. package/esm2022/lib/components/context-menu/context-menu.service.mjs +127 -0
  53. package/esm2022/lib/components/context-menu/custom-context-menu-actions.token.mjs +26 -0
  54. package/esm2022/lib/components/context-menu/custom-context-menu.component.mjs +79 -0
  55. package/esm2022/lib/components/details/details.component.mjs +154 -0
  56. package/esm2022/lib/components/dl-custom-components/datatable-cell-badges/datatable-cell-badges.component.mjs +75 -0
  57. package/esm2022/lib/components/dl-custom-components/name-column/name-column.component.mjs +106 -0
  58. package/esm2022/lib/components/dl-custom-components/tags-column/tags-column.component.mjs +52 -0
  59. package/esm2022/lib/components/dl-custom-components/thumbnail-column/thumbnail-column.component.mjs +77 -0
  60. package/esm2022/lib/components/favorite-libraries/favorite-libraries.component.mjs +126 -0
  61. package/esm2022/lib/components/favorites/favorites.component.mjs +105 -0
  62. package/esm2022/lib/components/files/files.component.mjs +336 -0
  63. package/esm2022/lib/components/home/home.component.mjs +46 -0
  64. package/esm2022/lib/components/info-drawer/comments-tab/comments-tab.component.mjs +62 -0
  65. package/esm2022/lib/components/info-drawer/info.drawer.module.mjs +74 -0
  66. package/esm2022/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.mjs +213 -0
  67. package/esm2022/lib/components/info-drawer/library-metadata-tab/library-metadata-tab.component.mjs +47 -0
  68. package/esm2022/lib/components/info-drawer/metadata-tab/metadata-tab.component.mjs +145 -0
  69. package/esm2022/lib/components/info-drawer/versions-tab/versions-tab.component.mjs +107 -0
  70. package/esm2022/lib/components/knowledge-retrieval/search-ai/agents-button/agents-button.component.mjs +135 -0
  71. package/esm2022/lib/components/knowledge-retrieval/search-ai/search-ai-input/search-ai-input.component.mjs +181 -0
  72. package/esm2022/lib/components/knowledge-retrieval/search-ai/search-ai-input-container/search-ai-input-container.component.mjs +77 -0
  73. package/esm2022/lib/components/knowledge-retrieval/search-ai/search-ai-results/search-ai-results.component.mjs +210 -0
  74. package/esm2022/lib/components/libraries/libraries.component.mjs +81 -0
  75. package/esm2022/lib/components/recent-files/recent-files.component.mjs +80 -0
  76. package/esm2022/lib/components/search/search-action-menu/search-action-menu.component.mjs +66 -0
  77. package/esm2022/lib/components/search/search-input/search-input.component.mjs +297 -0
  78. package/esm2022/lib/components/search/search-input-control/search-input-control.component.mjs +94 -0
  79. package/esm2022/lib/components/search/search-libraries-results/search-libraries-query-builder.service.mjs +93 -0
  80. package/esm2022/lib/components/search/search-libraries-results/search-libraries-results.component.mjs +155 -0
  81. package/esm2022/lib/components/search/search-navigation.service.mjs +62 -0
  82. package/esm2022/lib/components/search/search-results/search-results.component.mjs +279 -0
  83. package/esm2022/lib/components/search/search-results-row/search-results-row.component.mjs +149 -0
  84. package/esm2022/lib/components/search/search-save/dialog/delete/saved-search-delete-dialog.component.mjs +82 -0
  85. package/esm2022/lib/components/search/search-save/dialog/edit/saved-search-edit-dialog.component.mjs +116 -0
  86. package/esm2022/lib/components/search/search-save/dialog/save-search-dialog.component.mjs +125 -0
  87. package/esm2022/lib/components/search/search-save/dialog/saved-search-form.interface.mjs +25 -0
  88. package/esm2022/lib/components/search/search-save/dialog/unique-search-name-validator.mjs +45 -0
  89. package/esm2022/lib/components/search/search-save/directive/save-search.directive.mjs +64 -0
  90. package/esm2022/lib/components/search/search-save/list/saved-searches-list-ui.service.mjs +51 -0
  91. package/esm2022/lib/components/search/search-save/list/smart-list/saved-searches-list-schema.mjs +44 -0
  92. package/esm2022/lib/components/search/search-save/list/smart-list/saved-searches-smart-list.component.mjs +50 -0
  93. package/esm2022/lib/components/search/search-save/list/ui-list/saved-searches-list.ui-component.mjs +153 -0
  94. package/esm2022/lib/components/search/search-save/sidenav/save-search-sidenav.component.mjs +94 -0
  95. package/esm2022/lib/components/shared-files/shared-files.component.mjs +85 -0
  96. package/esm2022/lib/components/shared-link-view/shared-link-view.component.mjs +89 -0
  97. package/esm2022/lib/components/sidenav/components/button-menu.component.mjs +66 -0
  98. package/esm2022/lib/components/sidenav/components/expand-menu.component.mjs +73 -0
  99. package/esm2022/lib/components/sidenav/components/sidenav-header.component.mjs +65 -0
  100. package/esm2022/lib/components/sidenav/directives/action.directive.mjs +86 -0
  101. package/esm2022/lib/components/sidenav/directives/active-link.directive.mjs +100 -0
  102. package/esm2022/lib/components/sidenav/directives/expansion-panel.directive.mjs +107 -0
  103. package/esm2022/lib/components/sidenav/directives/menu-panel.directive.mjs +103 -0
  104. package/esm2022/lib/components/sidenav/sidenav.component.mjs +101 -0
  105. package/esm2022/lib/components/sidenav/user-menu/user-menu.component.mjs +57 -0
  106. package/esm2022/lib/components/toolbar/toggle-edit-offline/toggle-edit-offline.component.mjs +143 -0
  107. package/esm2022/lib/components/toolbar/toggle-favorite/toggle-favorite.component.mjs +91 -0
  108. package/esm2022/lib/components/toolbar/toggle-favorite-library/toggle-favorite-library.component.mjs +112 -0
  109. package/esm2022/lib/components/toolbar/toggle-info-drawer/toggle-info-drawer.component.mjs +77 -0
  110. package/esm2022/lib/components/toolbar/toggle-join-library/toggle-join-library-button.component.mjs +107 -0
  111. package/{esm2020 → esm2022}/lib/components/toolbar/toggle-join-library/toggle-join-library-menu.component.mjs +7 -6
  112. package/esm2022/lib/components/toolbar/view-node/view-node.component.mjs +128 -0
  113. package/esm2022/lib/components/trashcan/trashcan.component.mjs +66 -0
  114. package/esm2022/lib/components/upload-files-dialog/upload-files-dialog.component.mjs +55 -0
  115. package/esm2022/lib/components/view-profile/view-profile.component.mjs +200 -0
  116. package/esm2022/lib/dialogs/node-template/create-from-template.dialog.mjs +127 -0
  117. package/esm2022/lib/directives/document-list.directive.mjs +207 -0
  118. package/esm2022/lib/extensions/core.extensions.module.mjs +56 -0
  119. package/esm2022/lib/services/content-management.service.mjs +892 -0
  120. package/esm2022/lib/services/content-url.service.mjs +74 -0
  121. package/esm2022/lib/services/modal-ai.service.mjs +65 -0
  122. package/esm2022/lib/services/node-actions.service.mjs +609 -0
  123. package/esm2022/lib/services/node-template.service.mjs +145 -0
  124. package/esm2022/lib/services/search-ai-navigation.service.mjs +63 -0
  125. package/esm2022/lib/store/app-store.module.mjs +101 -0
  126. package/esm2022/lib/store/effects/app.effects.mjs +46 -0
  127. package/esm2022/lib/store/effects/contextmenu.effects.mjs +65 -0
  128. package/esm2022/lib/store/effects/download.effects.mjs +153 -0
  129. package/esm2022/lib/store/effects/favorite.effects.mjs +72 -0
  130. package/esm2022/lib/store/effects/library.effects.mjs +108 -0
  131. package/esm2022/lib/store/effects/node.effects.mjs +318 -0
  132. package/esm2022/lib/store/effects/search-ai.effects.mjs +54 -0
  133. package/esm2022/lib/store/effects/search.effects.mjs +52 -0
  134. package/esm2022/lib/store/effects/template.effects.mjs +116 -0
  135. package/esm2022/lib/store/effects/upload.effects.mjs +166 -0
  136. package/esm2022/lib/store/effects/viewer.effects.mjs +169 -0
  137. package/esm2022/lib/utils/aca-search-utils.mjs +129 -0
  138. package/esm2022/ms-office/actions/aos.actions.mjs +32 -0
  139. package/esm2022/ms-office/aos-extension.module.mjs +53 -0
  140. package/esm2022/ms-office/aos-extension.service.mjs +136 -0
  141. package/esm2022/ms-office/effects/aos.effects.mjs +45 -0
  142. package/esm2022/public-api.mjs +33 -0
  143. package/esm2022/viewer/lib/components/preview/preview.component.mjs +246 -0
  144. package/esm2022/viewer/lib/components/viewer/viewer.component.mjs +261 -0
  145. package/esm2022/viewer/lib/services/viewer.service.mjs +229 -0
  146. package/esm2022/viewer/lib/viewer.module.mjs +53 -0
  147. package/{fesm2015 → fesm2022}/alfresco-aca-content-about.mjs +17 -19
  148. package/fesm2022/alfresco-aca-content-about.mjs.map +1 -0
  149. package/{fesm2020 → fesm2022}/alfresco-aca-content-folder-rules.mjs +357 -316
  150. package/fesm2022/alfresco-aca-content-folder-rules.mjs.map +1 -0
  151. package/{fesm2020 → fesm2022}/alfresco-aca-content-ms-office.mjs +28 -26
  152. package/fesm2022/alfresco-aca-content-ms-office.mjs.map +1 -0
  153. package/{fesm2020 → fesm2022}/alfresco-aca-content-viewer.mjs +95 -64
  154. package/fesm2022/alfresco-aca-content-viewer.mjs.map +1 -0
  155. package/fesm2022/alfresco-aca-content.mjs +11091 -0
  156. package/fesm2022/alfresco-aca-content.mjs.map +1 -0
  157. package/folder-rules/rule-details/actions/rule-action-list.ui-component.d.ts +1 -1
  158. package/folder-rules/rule-details/actions/rule-action.ui-component.d.ts +1 -1
  159. package/folder-rules/rule-details/conditions/rule-composite-condition.ui-component.d.ts +1 -1
  160. package/folder-rules/rule-details/conditions/rule-simple-condition.ui-component.d.ts +1 -1
  161. package/folder-rules/rule-details/options/rule-options.ui-component.d.ts +1 -1
  162. package/folder-rules/rule-details/rule-details.ui-component.d.ts +1 -1
  163. package/folder-rules/rule-list/rule-list/rule-list.ui-component.d.ts +1 -1
  164. package/folder-rules/rule-list/rule-list-grouping/rule-list-grouping.ui-component.d.ts +1 -1
  165. package/folder-rules/rule-list/rule-list-item/rule-list-item.ui-component.d.ts +1 -1
  166. package/folder-rules/services/folder-rule-sets.service.d.ts +4 -4
  167. package/folder-rules/services/folder-rules.service.d.ts +1 -1
  168. package/lib/components/bulk-actions-dropdown/bulk-actions-dropdown.component.d.ts +5 -10
  169. package/lib/components/common/location-link/location-link.component.d.ts +1 -1
  170. package/lib/components/common/toggle-shared/toggle-shared.component.d.ts +1 -1
  171. package/lib/components/context-menu/base-context-menu.directive.d.ts +20 -0
  172. package/lib/components/context-menu/context-menu-item.component.d.ts +1 -1
  173. package/lib/components/context-menu/context-menu-outside-event.directive.d.ts +1 -1
  174. package/lib/components/context-menu/context-menu.component.d.ts +4 -15
  175. package/lib/components/context-menu/context-menu.service.d.ts +4 -1
  176. package/lib/components/{knowledge-retrieval/search-ai/search-ai-utils.d.ts → context-menu/custom-context-menu-actions.token.d.ts} +2 -2
  177. package/lib/components/context-menu/custom-context-menu.component.d.ts +36 -0
  178. package/lib/components/details/details.component.d.ts +1 -1
  179. package/lib/components/dl-custom-components/datatable-cell-badges/datatable-cell-badges.component.d.ts +1 -1
  180. package/lib/components/dl-custom-components/tags-column/tags-column.component.d.ts +1 -1
  181. package/lib/components/dl-custom-components/thumbnail-column/thumbnail-column.component.d.ts +1 -1
  182. package/lib/components/info-drawer/comments-tab/comments-tab.component.d.ts +1 -1
  183. package/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.d.ts +1 -1
  184. package/lib/components/info-drawer/library-metadata-tab/library-metadata-tab.component.d.ts +1 -1
  185. package/lib/components/info-drawer/metadata-tab/metadata-tab.component.d.ts +1 -1
  186. package/lib/components/info-drawer/versions-tab/versions-tab.component.d.ts +1 -1
  187. package/lib/components/knowledge-retrieval/search-ai/agents-button/agents-button.component.d.ts +1 -2
  188. package/lib/components/knowledge-retrieval/search-ai/search-ai-input/search-ai-input.component.d.ts +4 -5
  189. package/lib/components/knowledge-retrieval/search-ai/search-ai-input-container/search-ai-input-container.component.d.ts +8 -8
  190. package/lib/components/knowledge-retrieval/search-ai/search-ai-results/search-ai-results.component.d.ts +2 -3
  191. package/lib/components/search/search-input/search-input.component.d.ts +12 -14
  192. package/lib/components/search/search-input-control/search-input-control.component.d.ts +1 -1
  193. package/lib/components/search/search-libraries-results/search-libraries-results.component.d.ts +0 -1
  194. package/lib/components/search/search-results/search-results.component.d.ts +15 -9
  195. package/lib/components/search/search-results-row/search-results-row.component.d.ts +1 -1
  196. package/lib/components/search/search-save/dialog/delete/saved-search-delete-dialog.component.d.ts +16 -0
  197. package/lib/components/search/search-save/dialog/edit/saved-search-edit-dialog.component.d.ts +22 -0
  198. package/lib/components/search/search-save/dialog/save-search-dialog.component.d.ts +23 -0
  199. package/lib/components/search/search-save/dialog/saved-search-form.interface.d.ts +28 -0
  200. package/lib/components/search/search-save/dialog/unique-search-name-validator.d.ts +34 -0
  201. package/lib/components/search/search-save/directive/save-search.directive.d.ts +13 -0
  202. package/lib/components/search/search-save/list/saved-searches-list-ui.service.d.ts +9 -0
  203. package/lib/components/search/search-save/list/smart-list/saved-searches-list-schema.d.ts +33 -0
  204. package/lib/components/search/search-save/list/smart-list/saved-searches-smart-list.component.d.ts +13 -0
  205. package/lib/components/search/search-save/list/ui-list/saved-searches-list.ui-component.d.ts +66 -0
  206. package/lib/components/search/search-save/sidenav/save-search-sidenav.component.d.ts +44 -0
  207. package/lib/components/sidenav/components/button-menu.component.d.ts +1 -1
  208. package/lib/components/sidenav/components/expand-menu.component.d.ts +3 -2
  209. package/lib/components/sidenav/directives/action.directive.d.ts +28 -1
  210. package/lib/components/sidenav/directives/active-link.directive.d.ts +2 -2
  211. package/lib/components/sidenav/directives/expansion-panel.directive.d.ts +1 -1
  212. package/lib/components/sidenav/directives/menu-panel.directive.d.ts +1 -1
  213. package/lib/components/sidenav/sidenav.component.d.ts +4 -3
  214. package/lib/components/sidenav/user-menu/user-menu.component.d.ts +1 -1
  215. package/lib/components/toolbar/toggle-favorite/toggle-favorite.component.d.ts +1 -1
  216. package/lib/components/toolbar/view-node/view-node.component.d.ts +1 -1
  217. package/lib/services/search-ai-navigation.service.d.ts +4 -2
  218. package/lib/store/effects/app.effects.d.ts +2 -3
  219. package/lib/store/effects/contextmenu.effects.d.ts +3 -3
  220. package/lib/store/effects/download.effects.d.ts +0 -30
  221. package/lib/store/effects/favorite.effects.d.ts +0 -28
  222. package/lib/store/effects/library.effects.d.ts +2 -7
  223. package/lib/store/effects/node.effects.d.ts +7 -38
  224. package/lib/store/effects/search-ai.effects.d.ts +0 -4
  225. package/lib/store/effects/search.effects.d.ts +3 -30
  226. package/lib/store/effects/template.effects.d.ts +5 -7
  227. package/lib/store/effects/upload.effects.d.ts +8 -32
  228. package/lib/store/effects/viewer.effects.d.ts +0 -29
  229. package/lib/utils/aca-search-utils.d.ts +67 -0
  230. package/ms-office/effects/aos.effects.d.ts +0 -3
  231. package/package.json +21 -35
  232. package/public-api.d.ts +1 -0
  233. package/ui/overrides/adf-pagination.theme.scss +0 -4
  234. package/ui/theme.scss +9 -4
  235. package/assets/images/agent-avatar-blue.png +0 -0
  236. package/assets/images/agent-avatar-gold.png +0 -0
  237. package/assets/images/agent-avatar-pink.png +0 -0
  238. package/esm2020/about/about.component.mjs +0 -71
  239. package/esm2020/about/aca-about.module.mjs +0 -46
  240. package/esm2020/folder-rules/folder-rules.module.mjs +0 -115
  241. package/esm2020/folder-rules/manage-rules/manage-rules.smart-component.mjs +0 -261
  242. package/esm2020/folder-rules/rule-details/actions/rule-action-list.ui-component.mjs +0 -117
  243. package/esm2020/folder-rules/rule-details/actions/rule-action.ui-component.mjs +0 -351
  244. package/esm2020/folder-rules/rule-details/conditions/rule-composite-condition.ui-component.mjs +0 -172
  245. package/esm2020/folder-rules/rule-details/conditions/rule-simple-condition.ui-component.mjs +0 -234
  246. package/esm2020/folder-rules/rule-details/edit-rule-dialog.ui-component.mjs +0 -74
  247. package/esm2020/folder-rules/rule-details/options/rule-options.ui-component.mjs +0 -129
  248. package/esm2020/folder-rules/rule-details/rule-details.ui-component.mjs +0 -185
  249. package/esm2020/folder-rules/rule-details/triggers/rule-triggers.ui-component.mjs +0 -88
  250. package/esm2020/folder-rules/rule-details/validators/rule-actions.validator.mjs +0 -37
  251. package/esm2020/folder-rules/rule-list/rule-list/rule-list.ui-component.mjs +0 -164
  252. package/esm2020/folder-rules/rule-list/rule-list-grouping/rule-list-grouping.ui-component.mjs +0 -81
  253. package/esm2020/folder-rules/rule-list/rule-list-item/rule-list-item.ui-component.mjs +0 -58
  254. package/esm2020/folder-rules/rule-set-picker/rule-set-picker.smart-component.mjs +0 -120
  255. package/esm2020/folder-rules/services/actions.service.mjs +0 -114
  256. package/esm2020/folder-rules/services/folder-rule-sets.service.mjs +0 -225
  257. package/esm2020/folder-rules/services/folder-rules.service.mjs +0 -193
  258. package/esm2020/lib/aca-content.module.mjs +0 -299
  259. package/esm2020/lib/aca-content.routes.mjs +0 -359
  260. package/esm2020/lib/components/bulk-actions-dropdown/bulk-actions-dropdown.component.mjs +0 -83
  261. package/esm2020/lib/components/common/location-link/location-link.component.mjs +0 -180
  262. package/esm2020/lib/components/common/toggle-shared/toggle-shared.component.mjs +0 -76
  263. package/esm2020/lib/components/common/user-info/user-info.component.mjs +0 -47
  264. package/esm2020/lib/components/context-menu/context-menu-item.component.mjs +0 -62
  265. package/esm2020/lib/components/context-menu/context-menu-outside-event.directive.mjs +0 -63
  266. package/esm2020/lib/components/context-menu/context-menu-overlay.mjs +0 -32
  267. package/esm2020/lib/components/context-menu/context-menu.component.mjs +0 -114
  268. package/esm2020/lib/components/context-menu/context-menu.service.mjs +0 -99
  269. package/esm2020/lib/components/details/details.component.mjs +0 -147
  270. package/esm2020/lib/components/dl-custom-components/datatable-cell-badges/datatable-cell-badges.component.mjs +0 -71
  271. package/esm2020/lib/components/dl-custom-components/name-column/name-column.component.mjs +0 -101
  272. package/esm2020/lib/components/dl-custom-components/tags-column/tags-column.component.mjs +0 -48
  273. package/esm2020/lib/components/dl-custom-components/thumbnail-column/thumbnail-column.component.mjs +0 -75
  274. package/esm2020/lib/components/favorite-libraries/favorite-libraries.component.mjs +0 -120
  275. package/esm2020/lib/components/favorites/favorites.component.mjs +0 -103
  276. package/esm2020/lib/components/files/files.component.mjs +0 -330
  277. package/esm2020/lib/components/home/home.component.mjs +0 -47
  278. package/esm2020/lib/components/info-drawer/comments-tab/comments-tab.component.mjs +0 -59
  279. package/esm2020/lib/components/info-drawer/info.drawer.module.mjs +0 -73
  280. package/esm2020/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.mjs +0 -206
  281. package/esm2020/lib/components/info-drawer/library-metadata-tab/library-metadata-tab.component.mjs +0 -45
  282. package/esm2020/lib/components/info-drawer/metadata-tab/metadata-tab.component.mjs +0 -134
  283. package/esm2020/lib/components/info-drawer/versions-tab/versions-tab.component.mjs +0 -95
  284. package/esm2020/lib/components/knowledge-retrieval/search-ai/agents-button/agents-button.component.mjs +0 -129
  285. package/esm2020/lib/components/knowledge-retrieval/search-ai/search-ai-input/search-ai-input.component.mjs +0 -171
  286. package/esm2020/lib/components/knowledge-retrieval/search-ai/search-ai-input-container/search-ai-input-container.component.mjs +0 -82
  287. package/esm2020/lib/components/knowledge-retrieval/search-ai/search-ai-results/search-ai-results.component.mjs +0 -199
  288. package/esm2020/lib/components/knowledge-retrieval/search-ai/search-ai-utils.mjs +0 -33
  289. package/esm2020/lib/components/libraries/libraries.component.mjs +0 -79
  290. package/esm2020/lib/components/recent-files/recent-files.component.mjs +0 -82
  291. package/esm2020/lib/components/search/search-action-menu/search-action-menu.component.mjs +0 -64
  292. package/esm2020/lib/components/search/search-input/search-input.component.mjs +0 -301
  293. package/esm2020/lib/components/search/search-input-control/search-input-control.component.mjs +0 -94
  294. package/esm2020/lib/components/search/search-libraries-results/search-libraries-query-builder.service.mjs +0 -90
  295. package/esm2020/lib/components/search/search-libraries-results/search-libraries-results.component.mjs +0 -153
  296. package/esm2020/lib/components/search/search-navigation.service.mjs +0 -60
  297. package/esm2020/lib/components/search/search-results/search-results.component.mjs +0 -255
  298. package/esm2020/lib/components/search/search-results-row/search-results-row.component.mjs +0 -142
  299. package/esm2020/lib/components/shared-files/shared-files.component.mjs +0 -83
  300. package/esm2020/lib/components/shared-link-view/shared-link-view.component.mjs +0 -82
  301. package/esm2020/lib/components/sidenav/components/button-menu.component.mjs +0 -62
  302. package/esm2020/lib/components/sidenav/components/expand-menu.component.mjs +0 -67
  303. package/esm2020/lib/components/sidenav/components/sidenav-header.component.mjs +0 -66
  304. package/esm2020/lib/components/sidenav/directives/action.directive.mjs +0 -75
  305. package/esm2020/lib/components/sidenav/directives/active-link.directive.mjs +0 -93
  306. package/esm2020/lib/components/sidenav/directives/expansion-panel.directive.mjs +0 -102
  307. package/esm2020/lib/components/sidenav/directives/menu-panel.directive.mjs +0 -99
  308. package/esm2020/lib/components/sidenav/sidenav.component.mjs +0 -89
  309. package/esm2020/lib/components/sidenav/user-menu/user-menu.component.mjs +0 -56
  310. package/esm2020/lib/components/toolbar/toggle-edit-offline/toggle-edit-offline.component.mjs +0 -137
  311. package/esm2020/lib/components/toolbar/toggle-favorite/toggle-favorite.component.mjs +0 -86
  312. package/esm2020/lib/components/toolbar/toggle-favorite-library/toggle-favorite-library.component.mjs +0 -107
  313. package/esm2020/lib/components/toolbar/toggle-info-drawer/toggle-info-drawer.component.mjs +0 -74
  314. package/esm2020/lib/components/toolbar/toggle-join-library/toggle-join-library-button.component.mjs +0 -105
  315. package/esm2020/lib/components/toolbar/view-node/view-node.component.mjs +0 -122
  316. package/esm2020/lib/components/trashcan/trashcan.component.mjs +0 -68
  317. package/esm2020/lib/components/upload-files-dialog/upload-files-dialog.component.mjs +0 -52
  318. package/esm2020/lib/components/view-profile/view-profile.component.mjs +0 -193
  319. package/esm2020/lib/dialogs/node-template/create-from-template.dialog.mjs +0 -120
  320. package/esm2020/lib/directives/document-list.directive.mjs +0 -199
  321. package/esm2020/lib/extensions/core.extensions.module.mjs +0 -55
  322. package/esm2020/lib/services/content-management.service.mjs +0 -873
  323. package/esm2020/lib/services/content-url.service.mjs +0 -71
  324. package/esm2020/lib/services/modal-ai.service.mjs +0 -66
  325. package/esm2020/lib/services/node-actions.service.mjs +0 -600
  326. package/esm2020/lib/services/node-template.service.mjs +0 -144
  327. package/esm2020/lib/services/search-ai-navigation.service.mjs +0 -52
  328. package/esm2020/lib/store/app-store.module.mjs +0 -102
  329. package/esm2020/lib/store/effects/app.effects.mjs +0 -49
  330. package/esm2020/lib/store/effects/contextmenu.effects.mjs +0 -55
  331. package/esm2020/lib/store/effects/download.effects.mjs +0 -159
  332. package/esm2020/lib/store/effects/favorite.effects.mjs +0 -76
  333. package/esm2020/lib/store/effects/library.effects.mjs +0 -113
  334. package/esm2020/lib/store/effects/node.effects.mjs +0 -325
  335. package/esm2020/lib/store/effects/search-ai.effects.mjs +0 -57
  336. package/esm2020/lib/store/effects/search.effects.mjs +0 -60
  337. package/esm2020/lib/store/effects/template.effects.mjs +0 -121
  338. package/esm2020/lib/store/effects/upload.effects.mjs +0 -166
  339. package/esm2020/lib/store/effects/viewer.effects.mjs +0 -175
  340. package/esm2020/ms-office/actions/aos.actions.mjs +0 -31
  341. package/esm2020/ms-office/aos-extension.module.mjs +0 -52
  342. package/esm2020/ms-office/aos-extension.service.mjs +0 -132
  343. package/esm2020/ms-office/effects/aos.effects.mjs +0 -48
  344. package/esm2020/public-api.mjs +0 -32
  345. package/esm2020/viewer/lib/components/preview/preview.component.mjs +0 -236
  346. package/esm2020/viewer/lib/components/viewer/viewer.component.mjs +0 -240
  347. package/esm2020/viewer/lib/services/viewer.service.mjs +0 -226
  348. package/esm2020/viewer/lib/viewer.module.mjs +0 -52
  349. package/fesm2015/alfresco-aca-content-about.mjs.map +0 -1
  350. package/fesm2015/alfresco-aca-content-folder-rules.mjs +0 -2662
  351. package/fesm2015/alfresco-aca-content-folder-rules.mjs.map +0 -1
  352. package/fesm2015/alfresco-aca-content-ms-office.mjs +0 -256
  353. package/fesm2015/alfresco-aca-content-ms-office.mjs.map +0 -1
  354. package/fesm2015/alfresco-aca-content-viewer.mjs +0 -700
  355. package/fesm2015/alfresco-aca-content-viewer.mjs.map +0 -1
  356. package/fesm2015/alfresco-aca-content.mjs +0 -9835
  357. package/fesm2015/alfresco-aca-content.mjs.map +0 -1
  358. package/fesm2020/alfresco-aca-content-about.mjs +0 -193
  359. package/fesm2020/alfresco-aca-content-about.mjs.map +0 -1
  360. package/fesm2020/alfresco-aca-content-folder-rules.mjs.map +0 -1
  361. package/fesm2020/alfresco-aca-content-ms-office.mjs.map +0 -1
  362. package/fesm2020/alfresco-aca-content-viewer.mjs.map +0 -1
  363. package/fesm2020/alfresco-aca-content.mjs +0 -9934
  364. package/fesm2020/alfresco-aca-content.mjs.map +0 -1
  365. /package/{esm2020 → esm2022}/about/alfresco-aca-content-about.mjs +0 -0
  366. /package/{esm2020 → esm2022}/about/dev-mode.tokens.mjs +0 -0
  367. /package/{esm2020 → esm2022}/about/package-json.token.mjs +0 -0
  368. /package/{esm2020 → esm2022}/about/public-api.mjs +0 -0
  369. /package/{esm2020 → esm2022}/alfresco-aca-content.mjs +0 -0
  370. /package/{esm2020 → esm2022}/folder-rules/alfresco-aca-content-folder-rules.mjs +0 -0
  371. /package/{esm2020 → esm2022}/folder-rules/folder-rules.rules.mjs +0 -0
  372. /package/{esm2020 → esm2022}/folder-rules/model/action-parameter-constraint.model.mjs +0 -0
  373. /package/{esm2020 → esm2022}/folder-rules/model/rule-action.model.mjs +0 -0
  374. /package/{esm2020 → esm2022}/folder-rules/model/rule-composite-condition.model.mjs +0 -0
  375. /package/{esm2020 → esm2022}/folder-rules/model/rule-grouping-item.model.mjs +0 -0
  376. /package/{esm2020 → esm2022}/folder-rules/model/rule-set.model.mjs +0 -0
  377. /package/{esm2020 → esm2022}/folder-rules/model/rule-simple-condition.model.mjs +0 -0
  378. /package/{esm2020 → esm2022}/folder-rules/model/rule.model.mjs +0 -0
  379. /package/{esm2020 → esm2022}/folder-rules/public-api.mjs +0 -0
  380. /package/{esm2020 → esm2022}/folder-rules/rule-details/conditions/rule-condition-comparators.mjs +0 -0
  381. /package/{esm2020 → esm2022}/folder-rules/rule-details/conditions/rule-condition-fields.mjs +0 -0
  382. /package/{esm2020 → esm2022}/folder-rules/rule-details/validators/rule-composite-condition.validator.mjs +0 -0
  383. /package/{esm2020 → esm2022}/lib/components/common/index.mjs +0 -0
  384. /package/{esm2020 → esm2022}/lib/components/context-menu/direction.token.mjs +0 -0
  385. /package/{esm2020 → esm2022}/lib/components/context-menu/interfaces.mjs +0 -0
  386. /package/{esm2020 → esm2022}/lib/components/search/index.mjs +0 -0
  387. /package/{esm2020 → esm2022}/lib/components/sidenav/index.mjs +0 -0
  388. /package/{esm2020 → esm2022}/lib/components/toolbar/index.mjs +0 -0
  389. /package/{esm2020 → esm2022}/lib/components/view-profile/view-profile.guard.mjs +0 -0
  390. /package/{esm2020 → esm2022}/lib/store/effects.mjs +0 -0
  391. /package/{esm2020 → esm2022}/lib/store/initial-state.mjs +0 -0
  392. /package/{esm2020 → esm2022}/lib/store/reducers/app.reducer.mjs +0 -0
  393. /package/{esm2020 → esm2022}/ms-office/alfresco-aca-content-ms-office.mjs +0 -0
  394. /package/{esm2020 → esm2022}/ms-office/public-api.mjs +0 -0
  395. /package/{esm2020 → esm2022}/viewer/alfresco-aca-content-viewer.mjs +0 -0
  396. /package/{esm2020 → esm2022}/viewer/public-api.mjs +0 -0
@@ -0,0 +1,195 @@
1
+ /*!
2
+ * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
3
+ *
4
+ * Alfresco Example Content Application
5
+ *
6
+ * This file is part of the Alfresco Example Content Application.
7
+ * If the software was purchased under a paid Alfresco license, the terms of
8
+ * the paid license agreement will prevail. Otherwise, the software is
9
+ * provided under the following open source license terms:
10
+ *
11
+ * The Alfresco Example Content Application is free software: you can redistribute it and/or modify
12
+ * it under the terms of the GNU Lesser General Public License as published by
13
+ * the Free Software Foundation, either version 3 of the License, or
14
+ * (at your option) any later version.
15
+ *
16
+ * The Alfresco Example Content Application is distributed in the hope that it will be useful,
17
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
18
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
+ * GNU Lesser General Public License for more details.
20
+ *
21
+ * You should have received a copy of the GNU Lesser General Public License
22
+ * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
23
+ */
24
+ import { Injectable } from '@angular/core';
25
+ import { AlfrescoApiService } from '@alfresco/adf-content-services';
26
+ import { BehaviorSubject, from } from 'rxjs';
27
+ import { finalize, map } from 'rxjs/operators';
28
+ import * as i0 from "@angular/core";
29
+ import * as i1 from "@alfresco/adf-content-services";
30
+ class FolderRulesService {
31
+ apiService;
32
+ static MAX_RULES_PER_GET = 100;
33
+ static get emptyCompositeCondition() {
34
+ return {
35
+ inverted: false,
36
+ booleanMode: 'and',
37
+ compositeConditions: [],
38
+ simpleConditions: []
39
+ };
40
+ }
41
+ static get emptyRuleOptions() {
42
+ return {
43
+ isEnabled: true,
44
+ isInheritable: false,
45
+ isAsynchronous: false,
46
+ errorScript: ''
47
+ };
48
+ }
49
+ static get emptyRule() {
50
+ return {
51
+ id: '',
52
+ name: '',
53
+ description: '',
54
+ isShared: false,
55
+ triggers: ['inbound'],
56
+ conditions: FolderRulesService.emptyCompositeCondition,
57
+ actions: [],
58
+ ...FolderRulesService.emptyRuleOptions
59
+ };
60
+ }
61
+ static get emptyRuleForForm() {
62
+ const value = {
63
+ ...FolderRulesService.emptyRule,
64
+ options: FolderRulesService.emptyRuleOptions
65
+ };
66
+ Object.keys(value.options).forEach((key) => {
67
+ delete value[key];
68
+ });
69
+ return value;
70
+ }
71
+ selectedRuleSource = new BehaviorSubject(null);
72
+ deletedRuleIdSource = new BehaviorSubject(null);
73
+ selectedRule$ = this.selectedRuleSource.asObservable();
74
+ deletedRuleId$ = this.deletedRuleIdSource.asObservable();
75
+ constructor(apiService) {
76
+ this.apiService = apiService;
77
+ }
78
+ callApi(path, httpMethod, body = {}) {
79
+ // APIs used by this service are still private and not yet available for public use
80
+ const params = [{}, {}, {}, {}, body, ['application/json'], ['application/json']];
81
+ return this.apiService.getInstance().contentPrivateClient.callApi(path, httpMethod, ...params);
82
+ }
83
+ getRules(owningFolderId, ruleSetId, skipCount = 0) {
84
+ return from(this.callApi(`/nodes/${owningFolderId}/rule-sets/${ruleSetId}/rules?skipCount=${skipCount}&maxItems=${FolderRulesService.MAX_RULES_PER_GET}`, 'GET')).pipe(map((res) => ({
85
+ rules: this.formatRules(res),
86
+ hasMoreRules: !!res?.list?.pagination?.hasMoreItems
87
+ })));
88
+ }
89
+ loadRules(ruleSet, skipCount = ruleSet.rules.length, selectRule = null) {
90
+ if (ruleSet && !ruleSet.loadingRules) {
91
+ ruleSet.loadingRules = true;
92
+ this.getRules(ruleSet.owningFolder.id, ruleSet.id, skipCount)
93
+ .pipe(finalize(() => {
94
+ ruleSet.loadingRules = false;
95
+ }))
96
+ .subscribe((res) => {
97
+ ruleSet.hasMoreRules = res.hasMoreRules;
98
+ ruleSet.rules.splice(skipCount);
99
+ ruleSet.rules.push(...res.rules);
100
+ this.selectRuleInRuleSet(ruleSet, selectRule);
101
+ });
102
+ }
103
+ }
104
+ async createRule(nodeId, rule, ruleSetId = '-default-') {
105
+ const response = await this.callApi(`/nodes/${nodeId}/rule-sets/${ruleSetId}/rules`, 'POST', { ...rule });
106
+ return this.formatRule(response.entry);
107
+ }
108
+ async updateRule(nodeId, ruleId, rule, ruleSetId = '-default-') {
109
+ const response = await this.callApi(`/nodes/${nodeId}/rule-sets/${ruleSetId}/rules/${ruleId}`, 'PUT', { ...rule });
110
+ return this.formatRule(response.entry);
111
+ }
112
+ deleteRule(nodeId, ruleId, ruleSetId = '-default-') {
113
+ from(this.callApi(`/nodes/${nodeId}/rule-sets/${ruleSetId}/rules/${ruleId}`, 'DELETE')).subscribe(() => {
114
+ this.deletedRuleIdSource.next(ruleId);
115
+ }, (error) => {
116
+ this.deletedRuleIdSource.next(error);
117
+ });
118
+ }
119
+ async getRuleSettings(nodeId, key = '-isInheritanceEnabled-') {
120
+ const response = await this.callApi(`/nodes/${nodeId}/rule-settings/${key}`, 'GET');
121
+ return response.entry;
122
+ }
123
+ async updateRuleSettings(nodeId, key, body) {
124
+ const response = await this.callApi(`/nodes/${nodeId}/rule-settings/${key}`, 'PUT', { ...body });
125
+ return response.entry;
126
+ }
127
+ formatRules(res) {
128
+ return [...res.list.entries.map((entry) => this.formatRule(entry.entry))];
129
+ }
130
+ formatRule(obj) {
131
+ return {
132
+ id: obj.id,
133
+ name: obj.name ?? FolderRulesService.emptyRule.name,
134
+ description: obj.description ?? FolderRulesService.emptyRule.description,
135
+ isEnabled: obj.isEnabled ?? FolderRulesService.emptyRule.isEnabled,
136
+ isInheritable: obj.isInheritable ?? FolderRulesService.emptyRule.isInheritable,
137
+ isAsynchronous: obj.isAsynchronous ?? FolderRulesService.emptyRule.isAsynchronous,
138
+ errorScript: obj.errorScript ?? FolderRulesService.emptyRule.errorScript,
139
+ isShared: obj.isShared ?? FolderRulesService.emptyRule.isShared,
140
+ triggers: obj.triggers ?? FolderRulesService.emptyRule.triggers,
141
+ conditions: this.formatCompositeCondition(obj.conditions ?? { ...FolderRulesService.emptyRule.conditions }),
142
+ actions: obj.actions ?? FolderRulesService.emptyRule.actions
143
+ };
144
+ }
145
+ formatCompositeCondition(obj) {
146
+ return {
147
+ inverted: obj.inverted ?? false,
148
+ booleanMode: obj.booleanMode ?? 'and',
149
+ compositeConditions: (obj.compositeConditions || []).map((condition) => this.formatCompositeCondition(condition)),
150
+ simpleConditions: this.parseSimpleCondition(obj.simpleConditions)
151
+ };
152
+ }
153
+ parseSimpleCondition(arr) {
154
+ if (arr) {
155
+ if (arr.every((element) => element === null)) {
156
+ return [];
157
+ }
158
+ return arr.map((condition) => this.formatSimpleCondition(condition));
159
+ }
160
+ else {
161
+ return [];
162
+ }
163
+ }
164
+ formatSimpleCondition(obj) {
165
+ return {
166
+ field: obj.field || 'cm:name',
167
+ comparator: obj.comparator || 'equals',
168
+ parameter: obj.parameter || ''
169
+ };
170
+ }
171
+ selectRule(rule) {
172
+ this.selectedRuleSource.next(rule);
173
+ }
174
+ selectRuleInRuleSet(ruleSet, selectRule = null) {
175
+ if (selectRule === 'first') {
176
+ this.selectRule(ruleSet.rules[0]);
177
+ }
178
+ else if (selectRule === 'last') {
179
+ this.selectRule(ruleSet.rules[ruleSet.rules.length - 1]);
180
+ }
181
+ else if (selectRule) {
182
+ this.selectRule(selectRule);
183
+ }
184
+ }
185
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: FolderRulesService, deps: [{ token: i1.AlfrescoApiService }], target: i0.ɵɵFactoryTarget.Injectable });
186
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: FolderRulesService, providedIn: 'root' });
187
+ }
188
+ export { FolderRulesService };
189
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: FolderRulesService, decorators: [{
190
+ type: Injectable,
191
+ args: [{
192
+ providedIn: 'root'
193
+ }]
194
+ }], ctorParameters: function () { return [{ type: i1.AlfrescoApiService }]; } });
195
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9sZGVyLXJ1bGVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2EtY29udGVudC9mb2xkZXItcnVsZXMvc3JjL3NlcnZpY2VzL2ZvbGRlci1ydWxlcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBRUgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUN6RCxPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFXL0MsTUFHYSxrQkFBa0I7SUFtRFQ7SUFsRGIsTUFBTSxDQUFVLGlCQUFpQixHQUFHLEdBQUcsQ0FBQztJQUV4QyxNQUFNLEtBQUssdUJBQXVCO1FBQ3ZDLE9BQU87WUFDTCxRQUFRLEVBQUUsS0FBSztZQUNmLFdBQVcsRUFBRSxLQUFLO1lBQ2xCLG1CQUFtQixFQUFFLEVBQUU7WUFDdkIsZ0JBQWdCLEVBQUUsRUFBRTtTQUNyQixDQUFDO0lBQ0osQ0FBQztJQUVNLE1BQU0sS0FBSyxnQkFBZ0I7UUFDaEMsT0FBTztZQUNMLFNBQVMsRUFBRSxJQUFJO1lBQ2YsYUFBYSxFQUFFLEtBQUs7WUFDcEIsY0FBYyxFQUFFLEtBQUs7WUFDckIsV0FBVyxFQUFFLEVBQUU7U0FDaEIsQ0FBQztJQUNKLENBQUM7SUFFTSxNQUFNLEtBQUssU0FBUztRQUN6QixPQUFPO1lBQ0wsRUFBRSxFQUFFLEVBQUU7WUFDTixJQUFJLEVBQUUsRUFBRTtZQUNSLFdBQVcsRUFBRSxFQUFFO1lBQ2YsUUFBUSxFQUFFLEtBQUs7WUFDZixRQUFRLEVBQUUsQ0FBQyxTQUFTLENBQUM7WUFDckIsVUFB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SDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI0IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uXG4gKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbi5cbiAqIElmIHRoZSBzb2Z0d2FyZSB3YXMgcHVyY2hhc2VkIHVuZGVyIGEgcGFpZCBBbGZyZXNjbyBsaWNlbnNlLCB0aGUgdGVybXMgb2ZcbiAqIHRoZSBwYWlkIGxpY2Vuc2UgYWdyZWVtZW50IHdpbGwgcHJldmFpbC4gT3RoZXJ3aXNlLCB0aGUgc29mdHdhcmUgaXNcbiAqIHByb3ZpZGVkIHVuZGVyIHRoZSBmb2xsb3dpbmcgb3BlbiBzb3VyY2UgbGljZW5zZSB0ZXJtczpcbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZVxuICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBmcm9tIEh5bGFuZCBTb2Z0d2FyZS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICovXG5cbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFsZnJlc2NvQXBpU2VydmljZSB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29udGVudC1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZyb20sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbmFsaXplLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBSdWxlLCBSdWxlRm9yRm9ybSwgUnVsZU9wdGlvbnMsIFJ1bGVTZXR0aW5ncyB9IGZyb20gJy4uL21vZGVsL3J1bGUubW9kZWwnO1xuaW1wb3J0IHsgUnVsZUNvbXBvc2l0ZUNvbmRpdGlvbiB9IGZyb20gJy4uL21vZGVsL3J1bGUtY29tcG9zaXRlLWNvbmRpdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBSdWxlU2ltcGxlQ29uZGl0aW9uIH0gZnJvbSAnLi4vbW9kZWwvcnVsZS1zaW1wbGUtY29uZGl0aW9uLm1vZGVsJztcbmltcG9ydCB7IFJ1bGVTZXQgfSBmcm9tICcuLi9tb2RlbC9ydWxlLXNldC5tb2RlbCc7XG5cbmludGVyZmFjZSBHZXRSdWxlc1Jlc3VsdCB7XG4gIHJ1bGVzOiBSdWxlW107XG4gIGhhc01vcmVSdWxlczogYm9vbGVhbjtcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRm9sZGVyUnVsZXNTZXJ2aWNlIHtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBNQVhfUlVMRVNfUEVSX0dFVCA9IDEwMDtcblxuICBwdWJsaWMgc3RhdGljIGdldCBlbXB0eUNvbXBvc2l0ZUNvbmRpdGlvbigpOiBSdWxlQ29tcG9zaXRlQ29uZGl0aW9uIHtcbiAgICByZXR1cm4ge1xuICAgICAgaW52ZXJ0ZWQ6IGZhbHNlLFxuICAgICAgYm9vbGVhbk1vZGU6ICdhbmQnLFxuICAgICAgY29tcG9zaXRlQ29uZGl0aW9uczogW10sXG4gICAgICBzaW1wbGVDb25kaXRpb25zOiBbXVxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGdldCBlbXB0eVJ1bGVPcHRpb25zKCk6IFJ1bGVPcHRpb25zIHtcbiAgICByZXR1cm4ge1xuICAgICAgaXNFbmFibGVkOiB0cnVlLFxuICAgICAgaXNJbmhlcml0YWJsZTogZmFsc2UsXG4gICAgICBpc0FzeW5jaHJvbm91czogZmFsc2UsXG4gICAgICBlcnJvclNjcmlwdDogJydcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBnZXQgZW1wdHlSdWxlKCk6IFJ1bGUge1xuICAgIHJldHVybiB7XG4gICAgICBpZDogJycsXG4gICAgICBuYW1lOiAnJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnJyxcbiAgICAgIGlzU2hhcmVkOiBmYWxzZSxcbiAgICAgIHRyaWdnZXJzOiBbJ2luYm91bmQnXSxcbiAgICAgIGNvbmRpdGlvbnM6IEZvbGRlclJ1bGVzU2VydmljZS5lbXB0eUNvbXBvc2l0ZUNvbmRpdGlvbixcbiAgICAgIGFjdGlvbnM6IFtdLFxuICAgICAgLi4uRm9sZGVyUnVsZXNTZXJ2aWNlLmVtcHR5UnVsZU9wdGlvbnNcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBnZXQgZW1wdHlSdWxlRm9yRm9ybSgpOiBSdWxlRm9yRm9ybSB7XG4gICAgY29uc3QgdmFsdWUgPSB7XG4gICAgICAuLi5Gb2xkZXJSdWxlc1NlcnZpY2UuZW1wdHlSdWxlLFxuICAgICAgb3B0aW9uczogRm9sZGVyUnVsZXNTZXJ2aWNlLmVtcHR5UnVsZU9wdGlvbnNcbiAgICB9O1xuICAgIE9iamVjdC5rZXlzKHZhbHVlLm9wdGlvbnMpLmZvckVhY2goKGtleTogc3RyaW5nKSA9PiB7XG4gICAgICBkZWxldGUgdmFsdWVba2V5XTtcbiAgICB9KTtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBwcml2YXRlIHNlbGVjdGVkUnVsZVNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UnVsZT4obnVsbCk7XG4gIHByaXZhdGUgZGVsZXRlZFJ1bGVJZFNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPihudWxsKTtcblxuICBzZWxlY3RlZFJ1bGUkID0gdGhpcy5zZWxlY3RlZFJ1bGVTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XG4gIGRlbGV0ZWRSdWxlSWQkOiBPYnNlcnZhYmxlPHN0cmluZz4gPSB0aGlzLmRlbGV0ZWRSdWxlSWRTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhcGlTZXJ2aWNlOiBBbGZyZXNjb0FwaVNlcnZpY2UpIHt9XG5cbiAgcHJpdmF0ZSBjYWxsQXBpKHBhdGg6IHN0cmluZywgaHR0cE1ldGhvZDogc3RyaW5nLCBib2R5OiBvYmplY3QgPSB7fSk6IFByb21pc2U8YW55PiB7XG4gICAgLy8gQVBJcyB1c2VkIGJ5IHRoaXMgc2VydmljZSBhcmUgc3RpbGwgcHJpdmF0ZSBhbmQgbm90IHlldCBhdmFpbGFibGUgZm9yIHB1YmxpYyB1c2VcbiAgICBjb25zdCBwYXJhbXMgPSBbe30sIHt9LCB7fSwge30sIGJvZHksIFsnYXBwbGljYXRpb24vanNvbiddLCBbJ2FwcGxpY2F0aW9uL2pzb24nXV07XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5nZXRJbnN0YW5jZSgpLmNvbnRlbnRQcml2YXRlQ2xpZW50LmNhbGxBcGkocGF0aCwgaHR0cE1ldGhvZCwgLi4ucGFyYW1zKTtcbiAgfVxuXG4gIGdldFJ1bGVzKG93bmluZ0ZvbGRlcklkOiBzdHJpbmcsIHJ1bGVTZXRJZDogc3RyaW5nLCBza2lwQ291bnQgPSAwKTogT2JzZXJ2YWJsZTxHZXRSdWxlc1Jlc3VsdD4ge1xuICAgIHJldHVybiBmcm9tKFxuICAgICAgdGhpcy5jYWxsQXBpKFxuICAgICAgICBgL25vZGVzLyR7b3duaW5nRm9sZGVySWR9L3J1bGUtc2V0cy8ke3J1bGVTZXRJZH0vcnVsZXM/c2tpcENvdW50PSR7c2tpcENvdW50fSZtYXhJdGVtcz0ke0ZvbGRlclJ1bGVzU2VydmljZS5NQVhfUlVMRVNfUEVSX0dFVH1gLFxuICAgICAgICAnR0VUJ1xuICAgICAgKVxuICAgICkucGlwZShcbiAgICAgIG1hcCgocmVzKSA9PiAoe1xuICAgICAgICBydWxlczogdGhpcy5mb3JtYXRSdWxlcyhyZXMpLFxuICAgICAgICBoYXNNb3JlUnVsZXM6ICEhcmVzPy5saXN0Py5wYWdpbmF0aW9uPy5oYXNNb3JlSXRlbXNcbiAgICAgIH0pKVxuICAgICk7XG4gIH1cblxuICBsb2FkUnVsZXMocnVsZVNldDogUnVsZVNldCwgc2tpcENvdW50ID0gcnVsZVNldC5ydWxlcy5sZW5ndGgsIHNlbGVjdFJ1bGU6ICdmaXJzdCcgfCAnbGFzdCcgfCBSdWxlID0gbnVsbCkge1xuICAgIGlmIChydWxlU2V0ICYmICFydWxlU2V0LmxvYWRpbmdSdWxlcykge1xuICAgICAgcnVsZVNldC5sb2FkaW5nUnVsZXMgPSB0cnVlO1xuICAgICAgdGhpcy5nZXRSdWxlcyhydWxlU2V0Lm93bmluZ0ZvbGRlci5pZCwgcnVsZVNldC5pZCwgc2tpcENvdW50KVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICAgICAgICBydWxlU2V0LmxvYWRpbmdSdWxlcyA9IGZhbHNlO1xuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgocmVzOiBHZXRSdWxlc1Jlc3VsdCkgPT4ge1xuICAgICAgICAgIHJ1bGVTZXQuaGFzTW9yZVJ1bGVzID0gcmVzLmhhc01vcmVSdWxlcztcbiAgICAgICAgICBydWxlU2V0LnJ1bGVzLnNwbGljZShza2lwQ291bnQpO1xuICAgICAgICAgIHJ1bGVTZXQucnVsZXMucHVzaCguLi5yZXMucnVsZXMpO1xuICAgICAgICAgIHRoaXMuc2VsZWN0UnVsZUluUnVsZVNldChydWxlU2V0LCBzZWxlY3RSdWxlKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgY3JlYXRlUnVsZShub2RlSWQ6IHN0cmluZywgcnVsZTogUGFydGlhbDxSdWxlPiwgcnVsZVNldElkOiBzdHJpbmcgPSAnLWRlZmF1bHQtJyk6IFByb21pc2U8UnVsZT4ge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5jYWxsQXBpKGAvbm9kZXMvJHtub2RlSWR9L3J1bGUtc2V0cy8ke3J1bGVTZXRJZH0vcnVsZXNgLCAnUE9TVCcsIHsgLi4ucnVsZSB9KTtcbiAgICByZXR1cm4gdGhpcy5mb3JtYXRSdWxlKHJlc3BvbnNlLmVudHJ5KTtcbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZVJ1bGUobm9kZUlkOiBzdHJpbmcsIHJ1bGVJZDogc3RyaW5nLCBydWxlOiBSdWxlLCBydWxlU2V0SWQ6IHN0cmluZyA9ICctZGVmYXVsdC0nKTogUHJvbWlzZTxSdWxlPiB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNhbGxBcGkoYC9ub2Rlcy8ke25vZGVJZH0vcnVsZS1zZXRzLyR7cnVsZVNldElkfS9ydWxlcy8ke3J1bGVJZH1gLCAnUFVUJywgeyAuLi5ydWxlIH0pO1xuICAgIHJldHVybiB0aGlzLmZvcm1hdFJ1bGUocmVzcG9uc2UuZW50cnkpO1xuICB9XG5cbiAgZGVsZXRlUnVsZShub2RlSWQ6IHN0cmluZywgcnVsZUlkOiBzdHJpbmcsIHJ1bGVTZXRJZDogc3RyaW5nID0gJy1kZWZhdWx0LScpIHtcbiAgICBmcm9tKHRoaXMuY2FsbEFwaShgL25vZGVzLyR7bm9kZUlkfS9ydWxlLXNldHMvJHtydWxlU2V0SWR9L3J1bGVzLyR7cnVsZUlkfWAsICdERUxFVEUnKSkuc3Vic2NyaWJlKFxuICAgICAgKCkgPT4ge1xuICAgICAgICB0aGlzLmRlbGV0ZWRSdWxlSWRTb3VyY2UubmV4dChydWxlSWQpO1xuICAgICAgfSxcbiAgICAgIChlcnJvcikgPT4ge1xuICAgICAgICB0aGlzLmRlbGV0ZWRSdWxlSWRTb3VyY2UubmV4dChlcnJvcik7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIGFzeW5jIGdldFJ1bGVTZXR0aW5ncyhub2RlSWQ6IHN0cmluZywga2V5OiBzdHJpbmcgPSAnLWlzSW5oZXJpdGFuY2VFbmFibGVkLScpOiBQcm9taXNlPFJ1bGVTZXR0aW5ncz4ge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5jYWxsQXBpKGAvbm9kZXMvJHtub2RlSWR9L3J1bGUtc2V0dGluZ3MvJHtrZXl9YCwgJ0dFVCcpO1xuICAgIHJldHVybiByZXNwb25zZS5lbnRyeTtcbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZVJ1bGVTZXR0aW5ncyhub2RlSWQ6IHN0cmluZywga2V5OiBzdHJpbmcsIGJvZHk6IFJ1bGVTZXR0aW5ncyk6IFByb21pc2U8UnVsZVNldHRpbmdzPiB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNhbGxBcGkoYC9ub2Rlcy8ke25vZGVJZH0vcnVsZS1zZXR0aW5ncy8ke2tleX1gLCAnUFVUJywgeyAuLi5ib2R5IH0pO1xuICAgIHJldHVybiByZXNwb25zZS5lbnRyeTtcbiAgfVxuXG4gIHByaXZhdGUgZm9ybWF0UnVsZXMocmVzKTogUnVsZVtdIHtcbiAgICByZXR1cm4gWy4uLnJlcy5saXN0LmVudHJpZXMubWFwKChlbnRyeSkgPT4gdGhpcy5mb3JtYXRSdWxlKGVudHJ5LmVudHJ5KSldO1xuICB9XG5cbiAgcHJpdmF0ZSBmb3JtYXRSdWxlKG9iaik6IFJ1bGUge1xuICAgIHJldHVybiB7XG4gICAgICBpZDogb2JqLmlkLFxuICAgICAgbmFtZTogb2JqLm5hbWUgPz8gRm9sZGVyUnVsZXNTZXJ2aWNlLmVtcHR5UnVsZS5uYW1lLFxuICAgICAgZGVzY3JpcHRpb246IG9iai5kZXNjcmlwdGlvbiA/PyBGb2xkZXJSdWxlc1NlcnZpY2UuZW1wdHlSdWxlLmRlc2NyaXB0aW9uLFxuICAgICAgaXNFbmFibGVkOiBvYmouaXNFbmFibGVkID8/IEZvbGRlclJ1bGVzU2VydmljZS5lbXB0eVJ1bGUuaXNFbmFibGVkLFxuICAgICAgaXNJbmhlcml0YWJsZTogb2JqLmlzSW5oZXJpdGFibGUgPz8gRm9sZGVyUnVsZXNTZXJ2aWNlLmVtcHR5UnVsZS5pc0luaGVyaXRhYmxlLFxuICAgICAgaXNBc3luY2hyb25vdXM6IG9iai5pc0FzeW5jaHJvbm91cyA/PyBGb2xkZXJSdWxlc1NlcnZpY2UuZW1wdHlSdWxlLmlzQXN5bmNocm9ub3VzLFxuICAgICAgZXJyb3JTY3JpcHQ6IG9iai5lcnJvclNjcmlwdCA/PyBGb2xkZXJSdWxlc1NlcnZpY2UuZW1wdHlSdWxlLmVycm9yU2NyaXB0LFxuICAgICAgaXNTaGFyZWQ6IG9iai5pc1NoYXJlZCA/PyBGb2xkZXJSdWxlc1NlcnZpY2UuZW1wdHlSdWxlLmlzU2hhcmVkLFxuICAgICAgdHJpZ2dlcnM6IG9iai50cmlnZ2VycyA/PyBGb2xkZXJSdWxlc1NlcnZpY2UuZW1wdHlSdWxlLnRyaWdnZXJzLFxuICAgICAgY29uZGl0aW9uczogdGhpcy5mb3JtYXRDb21wb3NpdGVDb25kaXRpb24ob2JqLmNvbmRpdGlvbnMgPz8geyAuLi5Gb2xkZXJSdWxlc1NlcnZpY2UuZW1wdHlSdWxlLmNvbmRpdGlvbnMgfSksXG4gICAgICBhY3Rpb25zOiBvYmouYWN0aW9ucyA/PyBGb2xkZXJSdWxlc1NlcnZpY2UuZW1wdHlSdWxlLmFjdGlvbnNcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBmb3JtYXRDb21wb3NpdGVDb25kaXRpb24ob2JqKTogUnVsZUNvbXBvc2l0ZUNvbmRpdGlvbiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGludmVydGVkOiBvYmouaW52ZXJ0ZWQgPz8gZmFsc2UsXG4gICAgICBib29sZWFuTW9kZTogb2JqLmJvb2xlYW5Nb2RlID8/ICdhbmQnLFxuICAgICAgY29tcG9zaXRlQ29uZGl0aW9uczogKG9iai5jb21wb3NpdGVDb25kaXRpb25zIHx8IFtdKS5tYXAoKGNvbmRpdGlvbikgPT4gdGhpcy5mb3JtYXRDb21wb3NpdGVDb25kaXRpb24oY29uZGl0aW9uKSksXG4gICAgICBzaW1wbGVDb25kaXRpb25zOiB0aGlzLnBhcnNlU2ltcGxlQ29uZGl0aW9uKG9iai5zaW1wbGVDb25kaXRpb25zKVxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHBhcnNlU2ltcGxlQ29uZGl0aW9uKGFycikge1xuICAgIGlmIChhcnIpIHtcbiAgICAgIGlmIChhcnIuZXZlcnkoKGVsZW1lbnQpID0+IGVsZW1lbnQgPT09IG51bGwpKSB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBhcnIubWFwKChjb25kaXRpb24pID0+IHRoaXMuZm9ybWF0U2ltcGxlQ29uZGl0aW9uKGNvbmRpdGlvbikpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmb3JtYXRTaW1wbGVDb25kaXRpb24ob2JqKTogUnVsZVNpbXBsZUNvbmRpdGlvbiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGZpZWxkOiBvYmouZmllbGQgfHwgJ2NtOm5hbWUnLFxuICAgICAgY29tcGFyYXRvcjogb2JqLmNvbXBhcmF0b3IgfHwgJ2VxdWFscycsXG4gICAgICBwYXJhbWV0ZXI6IG9iai5wYXJhbWV0ZXIgfHwgJydcbiAgICB9O1xuICB9XG5cbiAgc2VsZWN0UnVsZShydWxlOiBSdWxlKSB7XG4gICAgdGhpcy5zZWxlY3RlZFJ1bGVTb3VyY2UubmV4dChydWxlKTtcbiAgfVxuXG4gIHNlbGVjdFJ1bGVJblJ1bGVTZXQocnVsZVNldDogUnVsZVNldCwgc2VsZWN0UnVsZTogJ2ZpcnN0JyB8ICdsYXN0JyB8IFJ1bGUgPSBudWxsKSB7XG4gICAgaWYgKHNlbGVjdFJ1bGUgPT09ICdmaXJzdCcpIHtcbiAgICAgIHRoaXMuc2VsZWN0UnVsZShydWxlU2V0LnJ1bGVzWzBdKTtcbiAgICB9IGVsc2UgaWYgKHNlbGVjdFJ1bGUgPT09ICdsYXN0Jykge1xuICAgICAgdGhpcy5zZWxlY3RSdWxlKHJ1bGVTZXQucnVsZXNbcnVsZVNldC5ydWxlcy5sZW5ndGggLSAxXSk7XG4gICAgfSBlbHNlIGlmIChzZWxlY3RSdWxlKSB7XG4gICAgICB0aGlzLnNlbGVjdFJ1bGUoc2VsZWN0UnVsZSk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,303 @@
1
+ /*!
2
+ * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
3
+ *
4
+ * Alfresco Example Content Application
5
+ *
6
+ * This file is part of the Alfresco Example Content Application.
7
+ * If the software was purchased under a paid Alfresco license, the terms of
8
+ * the paid license agreement will prevail. Otherwise, the software is
9
+ * provided under the following open source license terms:
10
+ *
11
+ * The Alfresco Example Content Application is free software: you can redistribute it and/or modify
12
+ * it under the terms of the GNU Lesser General Public License as published by
13
+ * the Free Software Foundation, either version 3 of the License, or
14
+ * (at your option) any later version.
15
+ *
16
+ * The Alfresco Example Content Application is distributed in the hope that it will be useful,
17
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
18
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
+ * GNU Lesser General Public License for more details.
20
+ *
21
+ * You should have received a copy of the GNU Lesser General Public License
22
+ * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
23
+ */
24
+ import { HammerModule } from '@angular/platform-browser';
25
+ import { NgModule } from '@angular/core';
26
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
27
+ import { AuthGuardEcm, LanguagePickerComponent, NotificationHistoryComponent, TRANSLATION_PROVIDER } from '@alfresco/adf-core';
28
+ import { ContentModule, ContentVersionService, LibraryNameColumnComponent, LibraryRoleColumnComponent, LibraryStatusColumnComponent, TrashcanNameColumnComponent } from '@alfresco/adf-content-services';
29
+ import { DocumentBasePageService, ExtensionsDataLoaderGuard, OpenInAppComponent } from '@alfresco/aca-shared';
30
+ import * as rules from '@alfresco/aca-shared/rules';
31
+ import { AppStoreModule } from './store/app-store.module';
32
+ import { CoreExtensionsModule } from './extensions/core.extensions.module';
33
+ import { AppInfoDrawerModule } from './components/info-drawer/info.drawer.module';
34
+ import { ExtensionService, ExtensionsModule } from '@alfresco/adf-extensions';
35
+ import { APP_TOOLBAR_DIRECTIVES } from './components/toolbar';
36
+ import { APP_SIDENAV_DIRECTIVES } from './components/sidenav';
37
+ import { APP_COMMON_DIRECTIVES } from './components/common';
38
+ import { APP_SEARCH_DIRECTIVES } from './components/search';
39
+ import { CreateFromTemplateDialogComponent } from './dialogs/node-template/create-from-template.dialog';
40
+ import { ContentUrlService } from './services/content-url.service';
41
+ import { CommonModule } from '@angular/common';
42
+ import { LocationLinkComponent } from './components/common/location-link/location-link.component';
43
+ import { LogoutComponent } from './components/common/logout/logout.component';
44
+ import { ToggleSharedComponent } from './components/common/toggle-shared/toggle-shared.component';
45
+ import { CustomNameColumnComponent } from './components/dl-custom-components/name-column/name-column.component';
46
+ import { CommentsTabComponent } from './components/info-drawer/comments-tab/comments-tab.component';
47
+ import { LibraryMetadataTabComponent } from './components/info-drawer/library-metadata-tab/library-metadata-tab.component';
48
+ import { MetadataTabComponent } from './components/info-drawer/metadata-tab/metadata-tab.component';
49
+ import { VersionsTabComponent } from './components/info-drawer/versions-tab/versions-tab.component';
50
+ import { PreviewComponent } from '@alfresco/aca-content/viewer';
51
+ import { ToggleEditOfflineComponent } from './components/toolbar/toggle-edit-offline/toggle-edit-offline.component';
52
+ import { ToggleFavoriteLibraryComponent } from './components/toolbar/toggle-favorite-library/toggle-favorite-library.component';
53
+ import { ToggleFavoriteComponent } from './components/toolbar/toggle-favorite/toggle-favorite.component';
54
+ import { ToggleInfoDrawerComponent } from './components/toolbar/toggle-info-drawer/toggle-info-drawer.component';
55
+ import { ToggleJoinLibraryButtonComponent } from './components/toolbar/toggle-join-library/toggle-join-library-button.component';
56
+ import { ToggleJoinLibraryMenuComponent } from './components/toolbar/toggle-join-library/toggle-join-library-menu.component';
57
+ import { ViewNodeComponent } from './components/toolbar/view-node/view-node.component';
58
+ import { CONTENT_ROUTES } from './aca-content.routes';
59
+ import { RouterModule } from '@angular/router';
60
+ import { UploadFilesDialogComponent } from './components/upload-files-dialog/upload-files-dialog.component';
61
+ import { AcaFolderRulesModule } from '@alfresco/aca-content/folder-rules';
62
+ import { TagsColumnComponent } from './components/dl-custom-components/tags-column/tags-column.component';
63
+ import { UserInfoComponent } from './components/common/user-info/user-info.component';
64
+ import { SidenavComponent } from './components/sidenav/sidenav.component';
65
+ import { ContentManagementService } from './services/content-management.service';
66
+ import { SHELL_NAVBAR_MIN_WIDTH, ShellLayoutComponent } from '@alfresco/adf-core/shell';
67
+ import { UserMenuComponent } from './components/sidenav/user-menu/user-menu.component';
68
+ import { ContextMenuComponent } from './components/context-menu/context-menu.component';
69
+ import { MAT_DIALOG_DEFAULT_OPTIONS } from '@angular/material/dialog';
70
+ import { SearchResultsRowComponent } from './components/search/search-results-row/search-results-row.component';
71
+ import { BulkActionsDropdownComponent } from './components/bulk-actions-dropdown/bulk-actions-dropdown.component';
72
+ import { AgentsButtonComponent } from './components/knowledge-retrieval/search-ai/agents-button/agents-button.component';
73
+ import { SaveSearchSidenavComponent } from './components/search/search-save/sidenav/save-search-sidenav.component';
74
+ import * as i0 from "@angular/core";
75
+ import * as i1 from "@alfresco/adf-extensions";
76
+ import * as i2 from "@alfresco/adf-content-services";
77
+ import * as i3 from "@angular/router";
78
+ import * as i4 from "./components/common/language-picker/language-picker.component";
79
+ import * as i5 from "./components/common/location-link/location-link.component";
80
+ import * as i6 from "./components/common/logout/logout.component";
81
+ import * as i7 from "./components/common/toggle-shared/toggle-shared.component";
82
+ import * as i8 from "./components/common/user-info/user-info.component";
83
+ import * as i9 from "./components/toolbar/toggle-favorite/toggle-favorite.component";
84
+ import * as i10 from "./components/toolbar/toggle-edit-offline/toggle-edit-offline.component";
85
+ import * as i11 from "./components/toolbar/toggle-info-drawer/toggle-info-drawer.component";
86
+ import * as i12 from "./components/toolbar/toggle-join-library/toggle-join-library-button.component";
87
+ import * as i13 from "./components/toolbar/toggle-join-library/toggle-join-library-menu.component";
88
+ import * as i14 from "./components/toolbar/toggle-favorite-library/toggle-favorite-library.component";
89
+ import * as i15 from "./components/toolbar/view-node/view-node.component";
90
+ import * as i16 from "./components/sidenav/components/button-menu.component";
91
+ import * as i17 from "./components/sidenav/directives/active-link.directive";
92
+ import * as i18 from "./components/sidenav/directives/action.directive";
93
+ import * as i19 from "./components/sidenav/directives/menu-panel.directive";
94
+ import * as i20 from "./components/sidenav/components/expand-menu.component";
95
+ import * as i21 from "./components/sidenav/directives/expansion-panel.directive";
96
+ import * as i22 from "./components/sidenav/components/sidenav-header.component";
97
+ import * as i23 from "./components/sidenav/user-menu/user-menu.component";
98
+ import * as i24 from "./components/sidenav/sidenav.component";
99
+ import * as i25 from "./components/search/search-action-menu/search-action-menu.component";
100
+ import * as i26 from "./components/search/search-libraries-results/search-libraries-results.component";
101
+ import * as i27 from "./components/search/search-results/search-results.component";
102
+ import * as i28 from "./components/search/search-results-row/search-results-row.component";
103
+ import * as i29 from "./components/search/search-input/search-input.component";
104
+ import * as i30 from "./components/search/search-input-control/search-input-control.component";
105
+ class ContentServiceExtensionModule {
106
+ extensions;
107
+ constructor(extensions) {
108
+ this.extensions = extensions;
109
+ extensions.setAuthGuards({
110
+ 'app.auth': AuthGuardEcm,
111
+ 'app.extensions.dataLoaderGuard': ExtensionsDataLoaderGuard
112
+ });
113
+ extensions.setComponents({
114
+ 'app.layout.main': ShellLayoutComponent,
115
+ 'app.layout.sidenav': SidenavComponent,
116
+ 'app.shell.sibling': UploadFilesDialogComponent,
117
+ 'app.components.tabs.metadata': MetadataTabComponent,
118
+ 'app.components.tabs.library.metadata': LibraryMetadataTabComponent,
119
+ 'app.components.tabs.comments': CommentsTabComponent,
120
+ 'app.components.tabs.versions': VersionsTabComponent,
121
+ 'app.components.preview': PreviewComponent,
122
+ 'app.toolbar.toggleInfoDrawer': ToggleInfoDrawerComponent,
123
+ 'app.toolbar.toggleFavorite': ToggleFavoriteComponent,
124
+ 'app.toolbar.toggleFavoriteLibrary': ToggleFavoriteLibraryComponent,
125
+ 'app.toolbar.toggleJoinLibrary': ToggleJoinLibraryButtonComponent,
126
+ 'app.toolbar.ai.agents-button': AgentsButtonComponent,
127
+ 'app.menu.toggleJoinLibrary': ToggleJoinLibraryMenuComponent,
128
+ 'app.bulk-actions-dropdown': BulkActionsDropdownComponent,
129
+ 'app.shared-link.toggleSharedLink': ToggleSharedComponent,
130
+ 'app.columns.name': CustomNameColumnComponent,
131
+ 'app.columns.libraryName': LibraryNameColumnComponent,
132
+ 'app.columns.libraryRole': LibraryRoleColumnComponent,
133
+ 'app.columns.libraryStatus': LibraryStatusColumnComponent,
134
+ 'app.columns.trashcanName': TrashcanNameColumnComponent,
135
+ 'app.columns.location': LocationLinkComponent,
136
+ 'app.columns.tags': TagsColumnComponent,
137
+ 'app.toolbar.toggleEditOffline': ToggleEditOfflineComponent,
138
+ 'app.toolbar.viewNode': ViewNodeComponent,
139
+ 'app.languagePicker': LanguagePickerComponent,
140
+ 'app.logout': LogoutComponent,
141
+ 'app.user': UserInfoComponent,
142
+ 'app.notification-center': NotificationHistoryComponent,
143
+ 'app.user.menu': UserMenuComponent,
144
+ 'app.search.columns.name': SearchResultsRowComponent,
145
+ 'app.search.navbar': SaveSearchSidenavComponent
146
+ });
147
+ extensions.setEvaluators({
148
+ canCopyNode: rules.canCopyNode,
149
+ canToggleJoinLibrary: rules.canToggleJoinLibrary,
150
+ canEditFolder: rules.canEditFolder,
151
+ isTrashcanItemSelected: rules.isTrashcanItemSelected,
152
+ canViewFile: rules.canViewFile,
153
+ canLeaveLibrary: rules.canLeaveLibrary,
154
+ canToggleSharedLink: rules.canToggleSharedLink,
155
+ canShowInfoDrawer: rules.canShowInfoDrawer,
156
+ canManageFileVersions: rules.canManageFileVersions,
157
+ canManagePermissions: rules.canManagePermissions,
158
+ canToggleEditOffline: rules.canToggleEditOffline,
159
+ canToggleFavorite: rules.canToggleFavorite,
160
+ isLibraryManager: rules.isLibraryManager,
161
+ canEditAspects: rules.canEditAspects,
162
+ canShowExpand: rules.canShowExpand,
163
+ canInfoPreview: rules.canInfoPreview,
164
+ 'app.selection.canDelete': rules.canDeleteSelection,
165
+ 'app.selection.file.canUnlock': rules.canUnlockFile,
166
+ 'app.selection.file.canLock': rules.canLockFile,
167
+ 'app.selection.canDownload': rules.canDownloadSelection,
168
+ 'app.selection.notEmpty': rules.hasSelection,
169
+ 'app.selection.canUnshare': rules.canUnshareNodes,
170
+ 'app.selection.canAddFavorite': rules.canAddFavorite,
171
+ 'app.selection.canRemoveFavorite': rules.canRemoveFavorite,
172
+ 'app.selection.first.canUpdate': rules.canUpdateSelectedNode,
173
+ 'app.selection.file': rules.hasFileSelected,
174
+ 'app.selection.file.canShare': rules.canShareFile,
175
+ 'app.selection.file.isShared': rules.isShared,
176
+ 'app.selection.file.isLocked': rules.hasLockedFiles,
177
+ 'app.selection.file.isLockOwner': rules.isUserWriteLockOwner,
178
+ 'app.selection.file.canUploadVersion': rules.canUploadVersion,
179
+ 'app.selection.library': rules.hasLibrarySelected,
180
+ 'app.selection.isPrivateLibrary': rules.isPrivateLibrary,
181
+ 'app.selection.hasLibraryRole': rules.hasLibraryRole,
182
+ 'app.selection.hasNoLibraryRole': rules.hasNoLibraryRole,
183
+ 'app.selection.folder': rules.hasFolderSelected,
184
+ 'app.selection.folder.canUpdate': rules.canUpdateSelectedFolder,
185
+ 'app.selection.displayedKnowledgeRetrievalButton': rules.canDisplayKnowledgeRetrievalButton,
186
+ 'app.navigation.folder.canCreate': rules.canCreateFolder,
187
+ 'app.navigation.folder.canUpload': rules.canUpload,
188
+ 'app.navigation.isTrashcan': rules.isTrashcan,
189
+ 'app.navigation.isNotTrashcan': rules.isNotTrashcan,
190
+ 'app.navigation.isLibraries': rules.isLibraries,
191
+ 'app.navigation.isLibraryFiles': rules.isLibraryFiles,
192
+ 'app.navigation.isPersonalFiles': rules.isPersonalFiles,
193
+ 'app.navigation.isNotLibraries': rules.isNotLibraries,
194
+ 'app.navigation.isSharedFiles': rules.isSharedFiles,
195
+ 'app.navigation.isNotSharedFiles': rules.isNotSharedFiles,
196
+ 'app.navigation.isFavorites': rules.isFavorites,
197
+ 'app.navigation.isNotFavorites': rules.isNotFavorites,
198
+ 'app.navigation.isRecentFiles': rules.isRecentFiles,
199
+ 'app.navigation.isNotRecentFiles': rules.isNotRecentFiles,
200
+ 'app.navigation.isSearchResults': rules.isSearchResults,
201
+ 'app.navigation.isNotSearchResults': rules.isNotSearchResults,
202
+ 'app.navigation.isPreview': rules.isPreview,
203
+ 'app.navigation.isSharedPreview': rules.isSharedPreview,
204
+ 'app.navigation.isFavoritesPreview': rules.isFavoritesPreview,
205
+ 'app.navigation.isSharedFileViewer': rules.isSharedFileViewer,
206
+ 'repository.isQuickShareEnabled': rules.hasQuickShareEnabled,
207
+ 'user.isAdmin': rules.isAdmin,
208
+ 'app.canShowLogout': rules.canShowLogout,
209
+ 'app.isContentServiceEnabled': rules.isContentServiceEnabled,
210
+ 'app.isUploadSupported': rules.isUploadSupported,
211
+ 'app.canCreateLibrary': rules.canCreateLibrary,
212
+ 'app.areTagsEnabled': rules.areTagsEnabled,
213
+ 'app.areCategoriesEnabled': rules.areCategoriesEnabled
214
+ });
215
+ }
216
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ContentServiceExtensionModule, deps: [{ token: i1.ExtensionService }], target: i0.ɵɵFactoryTarget.NgModule });
217
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.9", ngImport: i0, type: ContentServiceExtensionModule, imports: [CommonModule,
218
+ FormsModule,
219
+ ReactiveFormsModule, i2.ContentModule, i3.RouterModule, ExtensionsModule,
220
+ CoreExtensionsModule,
221
+ AppStoreModule, i4.LanguagePickerComponent, i5.LocationLinkComponent, i6.LogoutComponent, i7.ToggleSharedComponent, i8.UserInfoComponent, i9.ToggleFavoriteComponent, i10.ToggleEditOfflineComponent, i11.ToggleInfoDrawerComponent, i12.ToggleJoinLibraryButtonComponent, i13.ToggleJoinLibraryMenuComponent, i14.ToggleFavoriteLibraryComponent, i15.ViewNodeComponent, i16.ButtonMenuComponent, i17.ActiveLinkDirective, i18.ActionDirective, i19.MenuPanelDirective, i20.ExpandMenuComponent, i21.ExpansionPanelDirective, i22.SidenavHeaderComponent, i23.UserMenuComponent, i24.SidenavComponent, i25.SearchActionMenuComponent, i26.SearchLibrariesResultsComponent, i27.SearchResultsComponent, i28.SearchResultsRowComponent, i29.SearchInputComponent, i30.SearchInputControlComponent, ContextMenuComponent,
222
+ AppInfoDrawerModule,
223
+ HammerModule,
224
+ AcaFolderRulesModule,
225
+ CreateFromTemplateDialogComponent,
226
+ OpenInAppComponent,
227
+ UploadFilesDialogComponent] });
228
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ContentServiceExtensionModule, providers: [
229
+ { provide: ContentVersionService, useClass: ContentUrlService },
230
+ { provide: DocumentBasePageService, useExisting: ContentManagementService },
231
+ {
232
+ provide: TRANSLATION_PROVIDER,
233
+ multi: true,
234
+ useValue: {
235
+ name: 'app',
236
+ source: 'assets'
237
+ }
238
+ },
239
+ { provide: SHELL_NAVBAR_MIN_WIDTH, useValue: 0 },
240
+ {
241
+ provide: MAT_DIALOG_DEFAULT_OPTIONS,
242
+ useValue: { closeOnNavigation: true, hasBackdrop: true, autoFocus: true }
243
+ }
244
+ ], imports: [CommonModule,
245
+ FormsModule,
246
+ ReactiveFormsModule,
247
+ ContentModule.forRoot(),
248
+ RouterModule.forChild(CONTENT_ROUTES),
249
+ ExtensionsModule,
250
+ CoreExtensionsModule,
251
+ AppStoreModule, APP_COMMON_DIRECTIVES, APP_TOOLBAR_DIRECTIVES, i16.ButtonMenuComponent, i20.ExpandMenuComponent, i22.SidenavHeaderComponent, i23.UserMenuComponent, i24.SidenavComponent, APP_SEARCH_DIRECTIVES, ContextMenuComponent,
252
+ AppInfoDrawerModule,
253
+ HammerModule,
254
+ AcaFolderRulesModule,
255
+ CreateFromTemplateDialogComponent,
256
+ OpenInAppComponent,
257
+ UploadFilesDialogComponent] });
258
+ }
259
+ export { ContentServiceExtensionModule };
260
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ContentServiceExtensionModule, decorators: [{
261
+ type: NgModule,
262
+ args: [{
263
+ imports: [
264
+ CommonModule,
265
+ FormsModule,
266
+ ReactiveFormsModule,
267
+ ContentModule.forRoot(),
268
+ RouterModule.forChild(CONTENT_ROUTES),
269
+ ExtensionsModule,
270
+ CoreExtensionsModule,
271
+ AppStoreModule,
272
+ ...APP_COMMON_DIRECTIVES,
273
+ ...APP_TOOLBAR_DIRECTIVES,
274
+ ...APP_SIDENAV_DIRECTIVES,
275
+ ...APP_SEARCH_DIRECTIVES,
276
+ ContextMenuComponent,
277
+ AppInfoDrawerModule,
278
+ HammerModule,
279
+ AcaFolderRulesModule,
280
+ CreateFromTemplateDialogComponent,
281
+ OpenInAppComponent,
282
+ UploadFilesDialogComponent
283
+ ],
284
+ providers: [
285
+ { provide: ContentVersionService, useClass: ContentUrlService },
286
+ { provide: DocumentBasePageService, useExisting: ContentManagementService },
287
+ {
288
+ provide: TRANSLATION_PROVIDER,
289
+ multi: true,
290
+ useValue: {
291
+ name: 'app',
292
+ source: 'assets'
293
+ }
294
+ },
295
+ { provide: SHELL_NAVBAR_MIN_WIDTH, useValue: 0 },
296
+ {
297
+ provide: MAT_DIALOG_DEFAULT_OPTIONS,
298
+ useValue: { closeOnNavigation: true, hasBackdrop: true, autoFocus: true }
299
+ }
300
+ ]
301
+ }]
302
+ }], ctorParameters: function () { return [{ type: i1.ExtensionService }]; } });
303
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNhLWNvbnRlbnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNhLWNvbnRlbnQvc3JjL2xpYi9hY2EtY29udGVudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFFSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSx1QkFBdUIsRUFBRSw0QkFBNEIsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQy9ILE9BQU8sRUFDTCxhQUFhLEVBQ2IscUJBQXFCLEVBQ3JCLDBCQUEwQixFQUMxQiwwQkFBMEIsRUFDMUIsNEJBQTRCLEVBQzVCLDJCQUEyQixFQUM1QixNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSx5QkFBeUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlHLE9BQU8sS0FBSyxLQUFLLE1BQU0sNEJBQTRCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzlFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNCQUFz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d0JBQy9ELEVBQUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFdBQVcsRUFBRSx3QkFBd0IsRUFBRTt3QkFDM0U7NEJBQ0UsT0FBTyxFQUFFLG9CQUFvQjs0QkFDN0IsS0FBSyxFQUFFLElBQUk7NEJBQ1gsUUFBUSxFQUFFO2dDQUNSLElBQUksRUFBRSxLQUFLO2dDQUNYLE1BQU0sRUFBRSxRQUFROzZCQUNqQjt5QkFDRjt3QkFDRCxFQUFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFO3dCQUNoRDs0QkFDRSxPQUFPLEVBQUUsMEJBQTBCOzRCQUNuQyxRQUFRLEVBQUUsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFO3lCQUMxRTtxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNCBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvblxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24uXG4gKiBJZiB0aGUgc29mdHdhcmUgd2FzIHB1cmNoYXNlZCB1bmRlciBhIHBhaWQgQWxmcmVzY28gbGljZW5zZSwgdGhlIHRlcm1zIG9mXG4gKiB0aGUgcGFpZCBsaWNlbnNlIGFncmVlbWVudCB3aWxsIHByZXZhaWwuIE90aGVyd2lzZSwgdGhlIHNvZnR3YXJlIGlzXG4gKiBwcm92aWRlZCB1bmRlciB0aGUgZm9sbG93aW5nIG9wZW4gc291cmNlIGxpY2Vuc2UgdGVybXM6XG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogZnJvbSBIeWxhbmQgU29mdHdhcmUuIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuXG5pbXBvcnQgeyBIYW1tZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEF1dGhHdWFyZEVjbSwgTGFuZ3VhZ2VQaWNrZXJDb21wb25lbnQsIE5vdGlmaWNhdGlvbkhpc3RvcnlDb21wb25lbnQsIFRSQU5TTEFUSU9OX1BST1ZJREVSIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlJztcbmltcG9ydCB7XG4gIENvbnRlbnRNb2R1bGUsXG4gIENvbnRlbnRWZXJzaW9uU2VydmljZSxcbiAgTGlicmFyeU5hbWVDb2x1bW5Db21wb25lbnQsXG4gIExpYnJhcnlSb2xlQ29sdW1uQ29tcG9uZW50LFxuICBMaWJyYXJ5U3RhdHVzQ29sdW1uQ29tcG9uZW50LFxuICBUcmFzaGNhbk5hbWVDb2x1bW5Db21wb25lbnRcbn0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb250ZW50LXNlcnZpY2VzJztcbmltcG9ydCB7IERvY3VtZW50QmFzZVBhZ2VTZXJ2aWNlLCBFeHRlbnNpb25zRGF0YUxvYWRlckd1YXJkLCBPcGVuSW5BcHBDb21wb25lbnQgfSBmcm9tICdAYWxmcmVzY28vYWNhLXNoYXJlZCc7XG5pbXBvcnQgKiBhcyBydWxlcyBmcm9tICdAYWxmcmVzY28vYWNhLXNoYXJlZC9ydWxlcyc7XG5pbXBvcnQgeyBBcHBTdG9yZU1vZHVsZSB9IGZyb20gJy4vc3RvcmUvYXBwLXN0b3JlLm1vZHVsZSc7XG5pbXBvcnQgeyBDb3JlRXh0ZW5zaW9uc01vZHVsZSB9IGZyb20gJy4vZXh0ZW5zaW9ucy9jb3JlLmV4dGVuc2lvbnMubW9kdWxlJztcbmltcG9ydCB7IEFwcEluZm9EcmF3ZXJNb2R1bGUgfSBmcm9tICcuL2NvbXBvbmVudHMvaW5mby1kcmF3ZXIvaW5mby5kcmF3ZXIubW9kdWxlJztcbmltcG9ydCB7IEV4dGVuc2lvblNlcnZpY2UsIEV4dGVuc2lvbnNNb2R1bGUgfSBmcm9tICdAYWxmcmVzY28vYWRmLWV4dGVuc2lvbnMnO1xuaW1wb3J0IHsgQVBQX1RPT0xCQVJfRElSRUNUSVZFUyB9IGZyb20gJy4vY29tcG9uZW50cy90b29sYmFyJztcbmltcG9ydCB7IEFQUF9TSURFTkFWX0RJUkVDVElWRVMgfSBmcm9tICcuL2NvbXBvbmVudHMvc2lkZW5hdic7XG5pbXBvcnQgeyBBUFBfQ09NTU9OX0RJUkVDVElWRVMgfSBmcm9tICcuL2NvbXBvbmVudHMvY29tbW9uJztcbmltcG9ydCB7IEFQUF9TRUFSQ0hfRElSRUNUSVZFUyB9IGZyb20gJy4vY29tcG9uZW50cy9zZWFyY2gnO1xuaW1wb3J0IHsgQ3JlYXRlRnJvbVRlbXBsYXRlRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9kaWFsb2dzL25vZGUtdGVtcGxhdGUvY3JlYXRlLWZyb20tdGVtcGxhdGUuZGlhbG9nJztcbmltcG9ydCB7IENvbnRlbnRVcmxTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9jb250ZW50LXVybC5zZXJ2aWNlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBMb2NhdGlvbkxpbmtDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29tbW9uL2xvY2F0aW9uLWxpbmsvbG9jYXRpb24tbGluay5jb21wb25lbnQnO1xuaW1wb3J0IHsgTG9nb3V0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvbW1vbi9sb2dvdXQvbG9nb3V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUb2dnbGVTaGFyZWRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29tbW9uL3RvZ2dsZS1zaGFyZWQvdG9nZ2xlLXNoYXJlZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ3VzdG9tTmFtZUNvbHVtbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kbC1jdXN0b20tY29tcG9uZW50cy9uYW1lLWNvbHVtbi9uYW1lLWNvbHVtbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tbWVudHNUYWJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvaW5mby1kcmF3ZXIvY29tbWVudHMtdGFiL2NvbW1lbnRzLXRhYi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGlicmFyeU1ldGFkYXRhVGFiQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2luZm8tZHJhd2VyL2xpYnJhcnktbWV0YWRhdGEtdGFiL2xpYnJhcnktbWV0YWRhdGEtdGFiLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNZXRhZGF0YVRhYkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9pbmZvLWRyYXdlci9tZXRhZGF0YS10YWIvbWV0YWRhdGEtdGFiLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBWZXJzaW9uc1RhYkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9pbmZvLWRyYXdlci92ZXJzaW9ucy10YWIvdmVyc2lvbnMtdGFiLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcmV2aWV3Q29tcG9uZW50IH0gZnJvbSAnQGFsZnJlc2NvL2FjYS1jb250ZW50L3ZpZXdlcic7XG5pbXBvcnQgeyBUb2dnbGVFZGl0T2ZmbGluZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90b29sYmFyL3RvZ2dsZS1lZGl0LW9mZmxpbmUvdG9nZ2xlLWVkaXQtb2ZmbGluZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVG9nZ2xlRmF2b3JpdGVMaWJyYXJ5Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Rvb2xiYXIvdG9nZ2xlLWZhdm9yaXRlLWxpYnJhcnkvdG9nZ2xlLWZhdm9yaXRlLWxpYnJhcnkuY29tcG9uZW50JztcbmltcG9ydCB7IFRvZ2dsZUZhdm9yaXRlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Rvb2xiYXIvdG9nZ2xlLWZhdm9yaXRlL3RvZ2dsZS1mYXZvcml0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVG9nZ2xlSW5mb0RyYXdlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90b29sYmFyL3RvZ2dsZS1pbmZvLWRyYXdlci90b2dnbGUtaW5mby1kcmF3ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFRvZ2dsZUpvaW5MaWJyYXJ5QnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Rvb2xiYXIvdG9nZ2xlLWpvaW4tbGlicmFyeS90b2dnbGUtam9pbi1saWJyYXJ5LWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgVG9nZ2xlSm9pbkxpYnJhcnlNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Rvb2xiYXIvdG9nZ2xlLWpvaW4tbGlicmFyeS90b2dnbGUtam9pbi1saWJyYXJ5LW1lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IFZpZXdOb2RlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Rvb2xiYXIvdmlldy1ub2RlL3ZpZXctbm9kZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ09OVEVOVF9ST1VURVMgfSBmcm9tICcuL2FjYS1jb250ZW50LnJvdXRlcyc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVXBsb2FkRmlsZXNEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdXBsb2FkLWZpbGVzLWRpYWxvZy91cGxvYWQtZmlsZXMtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBY2FGb2xkZXJSdWxlc01vZHVsZSB9IGZyb20gJ0BhbGZyZXNjby9hY2EtY29udGVudC9mb2xkZXItcnVsZXMnO1xuaW1wb3J0IHsgVGFnc0NvbHVtbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kbC1jdXN0b20tY29tcG9uZW50cy90YWdzLWNvbHVtbi90YWdzLWNvbHVtbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgVXNlckluZm9Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29tbW9uL3VzZXItaW5mby91c2VyLWluZm8uY29tcG9uZW50JztcbmltcG9ydCB7IFNpZGVuYXZDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2lkZW5hdi9zaWRlbmF2LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb250ZW50TWFuYWdlbWVudFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2NvbnRlbnQtbWFuYWdlbWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IFNIRUxMX05BVkJBUl9NSU5fV0lEVEgsIFNoZWxsTGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlL3NoZWxsJztcbmltcG9ydCB7IFVzZXJNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NpZGVuYXYvdXNlci1tZW51L3VzZXItbWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29udGV4dE1lbnVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29udGV4dC1tZW51L2NvbnRleHQtbWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTUFUX0RJQUxPR19ERUZBVUxUX09QVElPTlMgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgU2VhcmNoUmVzdWx0c1Jvd0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zZWFyY2gvc2VhcmNoLXJlc3VsdHMtcm93L3NlYXJjaC1yZXN1bHRzLXJvdy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnVsa0FjdGlvbnNEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9idWxrLWFjdGlvbnMtZHJvcGRvd24vYnVsay1hY3Rpb25zLWRyb3Bkb3duLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBZ2VudHNCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMva25vd2xlZGdlLXJldHJpZXZhbC9zZWFyY2gtYWkvYWdlbnRzLWJ1dHRvbi9hZ2VudHMtYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTYXZlU2VhcmNoU2lkZW5hdkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zZWFyY2gvc2VhcmNoLXNhdmUvc2lkZW5hdi9zYXZlLXNlYXJjaC1zaWRlbmF2LmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBDb250ZW50TW9kdWxlLmZvclJvb3QoKSxcbiAgICBSb3V0ZXJNb2R1bGUuZm9yQ2hpbGQoQ09OVEVOVF9ST1VURVMpLFxuICAgIEV4dGVuc2lvbnNNb2R1bGUsXG4gICAgQ29yZUV4dGVuc2lvbnNNb2R1bGUsXG4gICAgQXBwU3RvcmVNb2R1bGUsXG4gICAgLi4uQVBQX0NPTU1PTl9ESVJFQ1RJVkVTLFxuICAgIC4uLkFQUF9UT09MQkFSX0RJUkVDVElWRVMsXG4gICAgLi4uQVBQX1NJREVOQVZfRElSRUNUSVZFUyxcbiAgICAuLi5BUFBfU0VBUkNIX0RJUkVDVElWRVMsXG4gICAgQ29udGV4dE1lbnVDb21wb25lbnQsXG4gICAgQXBwSW5mb0RyYXdlck1vZHVsZSxcbiAgICBIYW1tZXJNb2R1bGUsXG4gICAgQWNhRm9sZGVyUnVsZXNNb2R1bGUsXG4gICAgQ3JlYXRlRnJvbVRlbXBsYXRlRGlhbG9nQ29tcG9uZW50LFxuICAgIE9wZW5JbkFwcENvbXBvbmVudCxcbiAgICBVcGxvYWRGaWxlc0RpYWxvZ0NvbXBvbmVudFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IENvbnRlbnRWZXJzaW9uU2VydmljZSwgdXNlQ2xhc3M6IENvbnRlbnRVcmxTZXJ2aWNlIH0sXG4gICAgeyBwcm92aWRlOiBEb2N1bWVudEJhc2VQYWdlU2VydmljZSwgdXNlRXhpc3Rpbmc6IENvbnRlbnRNYW5hZ2VtZW50U2VydmljZSB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFRSQU5TTEFUSU9OX1BST1ZJREVSLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgICB1c2VWYWx1ZToge1xuICAgICAgICBuYW1lOiAnYXBwJyxcbiAgICAgICAgc291cmNlOiAnYXNzZXRzJ1xuICAgICAgfVxuICAgIH0sXG4gICAgeyBwcm92aWRlOiBTSEVMTF9OQVZCQVJfTUlOX1dJRFRILCB1c2VWYWx1ZTogMCB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE1BVF9ESUFMT0dfREVGQVVMVF9PUFRJT05TLFxuICAgICAgdXNlVmFsdWU6IHsgY2xvc2VPbk5hdmlnYXRpb246IHRydWUsIGhhc0JhY2tkcm9wOiB0cnVlLCBhdXRvRm9jdXM6IHRydWUgfVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBDb250ZW50U2VydmljZUV4dGVuc2lvbk1vZHVsZSB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBleHRlbnNpb25zOiBFeHRlbnNpb25TZXJ2aWNlKSB7XG4gICAgZXh0ZW5zaW9ucy5zZXRBdXRoR3VhcmRzKHtcbiAgICAgICdhcHAuYXV0aCc6IEF1dGhHdWFyZEVjbSxcbiAgICAgICdhcHAuZXh0ZW5zaW9ucy5kYXRhTG9hZGVyR3VhcmQnOiBFeHRlbnNpb25zRGF0YUxvYWRlckd1YXJkXG4gICAgfSk7XG5cbiAgICBleHRlbnNpb25zLnNldENvbXBvbmVudHMoe1xuICAgICAgJ2FwcC5sYXlvdXQubWFpbic6IFNoZWxsTGF5b3V0Q29tcG9uZW50LFxuICAgICAgJ2FwcC5sYXlvdXQuc2lkZW5hdic6IFNpZGVuYXZDb21wb25lbnQsXG4gICAgICAnYXBwLnNoZWxsLnNpYmxpbmcnOiBVcGxvYWRGaWxlc0RpYWxvZ0NvbXBvbmVudCxcbiAgICAgICdhcHAuY29tcG9uZW50cy50YWJzLm1ldGFkYXRhJzogTWV0YWRhdGFUYWJDb21wb25lbnQsXG4gICAgICAnYXBwLmNvbXBvbmVudHMudGFicy5saWJyYXJ5Lm1ldGFkYXRhJzogTGlicmFyeU1ldGFkYXRhVGFiQ29tcG9uZW50LFxuICAgICAgJ2FwcC5jb21wb25lbnRzLnRhYnMuY29tbWVudHMnOiBDb21tZW50c1RhYkNvbXBvbmVudCxcbiAgICAgICdhcHAuY29tcG9uZW50cy50YWJzLnZlcnNpb25zJzogVmVyc2lvbnNUYWJDb21wb25lbnQsXG4gICAgICAnYXBwLmNvbXBvbmVudHMucHJldmlldyc6IFByZXZpZXdDb21wb25lbnQsXG4gICAgICAnYXBwLnRvb2xiYXIudG9nZ2xlSW5mb0RyYXdlcic6IFRvZ2dsZUluZm9EcmF3ZXJDb21wb25lbnQsXG4gICAgICAnYXBwLnRvb2xiYXIudG9nZ2xlRmF2b3JpdGUnOiBUb2dnbGVGYXZvcml0ZUNvbXBvbmVudCxcbiAgICAgICdhcHAudG9vbGJhci50b2dnbGVGYXZvcml0ZUxpYnJhcnknOiBUb2dnbGVGYXZvcml0ZUxpYnJhcnlDb21wb25lbnQsXG4gICAgICAnYXBwLnRvb2xiYXIudG9nZ2xlSm9pbkxpYnJhcnknOiBUb2dnbGVKb2luTGlicmFyeUJ1dHRvbkNvbXBvbmVudCxcbiAgICAgICdhcHAudG9vbGJhci5haS5hZ2VudHMtYnV0dG9uJzogQWdlbnRzQnV0dG9uQ29tcG9uZW50LFxuICAgICAgJ2FwcC5tZW51LnRvZ2dsZUpvaW5MaWJyYXJ5JzogVG9nZ2xlSm9pbkxpYnJhcnlNZW51Q29tcG9uZW50LFxuICAgICAgJ2FwcC5idWxrLWFjdGlvbnMtZHJvcGRvd24nOiBCdWxrQWN0aW9uc0Ryb3Bkb3duQ29tcG9uZW50LFxuICAgICAgJ2FwcC5zaGFyZWQtbGluay50b2dnbGVTaGFyZWRMaW5rJzogVG9nZ2xlU2hhcmVkQ29tcG9uZW50LFxuICAgICAgJ2FwcC5jb2x1bW5zLm5hbWUnOiBDdXN0b21OYW1lQ29sdW1uQ29tcG9uZW50LFxuICAgICAgJ2FwcC5jb2x1bW5zLmxpYnJhcnlOYW1lJzogTGlicmFyeU5hbWVDb2x1bW5Db21wb25lbnQsXG4gICAgICAnYXBwLmNvbHVtbnMubGlicmFyeVJvbGUnOiBMaWJyYXJ5Um9sZUNvbHVtbkNvbXBvbmVudCxcbiAgICAgICdhcHAuY29sdW1ucy5saWJyYXJ5U3RhdHVzJzogTGlicmFyeVN0YXR1c0NvbHVtbkNvbXBvbmVudCxcbiAgICAgICdhcHAuY29sdW1ucy50cmFzaGNhbk5hbWUnOiBUcmFzaGNhbk5hbWVDb2x1bW5Db21wb25lbnQsXG4gICAgICAnYXBwLmNvbHVtbnMubG9jYXRpb24nOiBMb2NhdGlvbkxpbmtDb21wb25lbnQsXG4gICAgICAnYXBwLmNvbHVtbnMudGFncyc6IFRhZ3NDb2x1bW5Db21wb25lbnQsXG4gICAgICAnYXBwLnRvb2xiYXIudG9nZ2xlRWRpdE9mZmxpbmUnOiBUb2dnbGVFZGl0T2ZmbGluZUNvbXBvbmVudCxcbiAgICAgICdhcHAudG9vbGJhci52aWV3Tm9kZSc6IFZpZXdOb2RlQ29tcG9uZW50LFxuICAgICAgJ2FwcC5sYW5ndWFnZVBpY2tlcic6IExhbmd1YWdlUGlja2VyQ29tcG9uZW50LFxuICAgICAgJ2FwcC5sb2dvdXQnOiBMb2dvdXRDb21wb25lbnQsXG4gICAgICAnYXBwLnVzZXInOiBVc2VySW5mb0NvbXBvbmVudCxcbiAgICAgICdhcHAubm90aWZpY2F0aW9uLWNlbnRlcic6IE5vdGlmaWNhdGlvbkhpc3RvcnlDb21wb25lbnQsXG4gICAgICAnYXBwLnVzZXIubWVudSc6IFVzZXJNZW51Q29tcG9uZW50LFxuICAgICAgJ2FwcC5zZWFyY2guY29sdW1ucy5uYW1lJzogU2VhcmNoUmVzdWx0c1Jvd0NvbXBvbmVudCxcbiAgICAgICdhcHAuc2VhcmNoLm5hdmJhcic6IFNhdmVTZWFyY2hTaWRlbmF2Q29tcG9uZW50XG4gICAgfSk7XG5cbiAgICBleHRlbnNpb25zLnNldEV2YWx1YXRvcnMoe1xuICAgICAgY2FuQ29weU5vZGU6IHJ1bGVzLmNhbkNvcHlOb2RlLFxuICAgICAgY2FuVG9nZ2xlSm9pbkxpYnJhcnk6IHJ1bGVzLmNhblRvZ2dsZUpvaW5MaWJyYXJ5LFxuICAgICAgY2FuRWRpdEZvbGRlcjogcnVsZXMuY2FuRWRpdEZvbGRlcixcbiAgICAgIGlzVHJhc2hjYW5JdGVtU2VsZWN0ZWQ6IHJ1bGVzLmlzVHJhc2hjYW5JdGVtU2VsZWN0ZWQsXG4gICAgICBjYW5WaWV3RmlsZTogcnVsZXMuY2FuVmlld0ZpbGUsXG4gICAgICBjYW5MZWF2ZUxpYnJhcnk6IHJ1bGVzLmNhbkxlYXZlTGlicmFyeSxcbiAgICAgIGNhblRvZ2dsZVNoYXJlZExpbms6IHJ1bGVzLmNhblRvZ2dsZVNoYXJlZExpbmssXG4gICAgICBjYW5TaG93SW5mb0RyYXdlcjogcnVsZXMuY2FuU2hvd0luZm9EcmF3ZXIsXG4gICAgICBjYW5NYW5hZ2VGaWxlVmVyc2lvbnM6IHJ1bGVzLmNhbk1hbmFnZUZpbGVWZXJzaW9ucyxcbiAgICAgIGNhbk1hbmFnZVBlcm1pc3Npb25zOiBydWxlcy5jYW5NYW5hZ2VQZXJtaXNzaW9ucyxcbiAgICAgIGNhblRvZ2dsZUVkaXRPZmZsaW5lOiBydWxlcy5jYW5Ub2dnbGVFZGl0T2ZmbGluZSxcbiAgICAgIGNhblRvZ2dsZUZhdm9yaXRlOiBydWxlcy5jYW5Ub2dnbGVGYXZvcml0ZSxcbiAgICAgIGlzTGlicmFyeU1hbmFnZXI6IHJ1bGVzLmlzTGlicmFyeU1hbmFnZXIsXG4gICAgICBjYW5FZGl0QXNwZWN0czogcnVsZXMuY2FuRWRpdEFzcGVjdHMsXG4gICAgICBjYW5TaG93RXhwYW5kOiBydWxlcy5jYW5TaG93RXhwYW5kLFxuICAgICAgY2FuSW5mb1ByZXZpZXc6IHJ1bGVzLmNhbkluZm9QcmV2aWV3LFxuXG4gICAgICAnYXBwLnNlbGVjdGlvbi5jYW5EZWxldGUnOiBydWxlcy5jYW5EZWxldGVTZWxlY3Rpb24sXG4gICAgICAnYXBwLnNlbGVjdGlvbi5maWxlLmNhblVubG9jayc6IHJ1bGVzLmNhblVubG9ja0ZpbGUsXG4gICAgICAnYXBwLnNlbGVjdGlvbi5maWxlLmNhbkxvY2snOiBydWxlcy5jYW5Mb2NrRmlsZSxcbiAgICAgICdhcHAuc2VsZWN0aW9uLmNhbkRvd25sb2FkJzogcnVsZXMuY2FuRG93bmxvYWRTZWxlY3Rpb24sXG4gICAgICAnYXBwLnNlbGVjdGlvbi5ub3RFbXB0eSc6IHJ1bGVzLmhhc1NlbGVjdGlvbixcbiAgICAgICdhcHAuc2VsZWN0aW9uLmNhblVuc2hhcmUnOiBydWxlcy5jYW5VbnNoYXJlTm9kZXMsXG4gICAgICAnYXBwLnNlbGVjdGlvbi5jYW5BZGRGYXZvcml0ZSc6IHJ1bGVzLmNhbkFkZEZhdm9yaXRlLFxuICAgICAgJ2FwcC5zZWxlY3Rpb24uY2FuUmVtb3ZlRmF2b3JpdGUnOiBydWxlcy5jYW5SZW1vdmVGYXZvcml0ZSxcbiAgICAgICdhcHAuc2VsZWN0aW9uLmZpcnN0LmNhblVwZGF0ZSc6IHJ1bGVzLmNhblVwZGF0ZVNlbGVjdGVkTm9kZSxcbiAgICAgICdhcHAuc2VsZWN0aW9uLmZpbGUnOiBydWxlcy5oYXNGaWxlU2VsZWN0ZWQsXG4gICAgICAnYXBwLnNlbGVjdGlvbi5maWxlLmNhblNoYXJlJzogcnVsZXMuY2FuU2hhcmVGaWxlLFxuICAgICAgJ2FwcC5zZWxlY3Rpb24uZmlsZS5pc1NoYXJlZCc6IHJ1bGVzLmlzU2hhcmVkLFxuICAgICAgJ2FwcC5zZWxlY3Rpb24uZmlsZS5pc0xvY2tlZCc6IHJ1bGVzLmhhc0xvY2tlZEZpbGVzLFxuICAgICAgJ2FwcC5zZWxlY3Rpb24uZmlsZS5pc0xvY2tPd25lcic6IHJ1bGVzLmlzVXNlcldyaXRlTG9ja093bmVyLFxuICAgICAgJ2FwcC5zZWxlY3Rpb24uZmlsZS5jYW5VcGxvYWRWZXJzaW9uJzogcnVsZXMuY2FuVXBsb2FkVmVyc2lvbixcbiAgICAgICdhcHAuc2VsZWN0aW9uLmxpYnJhcnknOiBydWxlcy5oYXNMaWJyYXJ5U2VsZWN0ZWQsXG4gICAgICAnYXBwLnNlbGVjdGlvbi5pc1ByaXZhdGVMaWJyYXJ5JzogcnVsZXMuaXNQcml2YXRlTGlicmFyeSxcbiAgICAgICdhcHAuc2VsZWN0aW9uLmhhc0xpYnJhcnlSb2xlJzogcnVsZXMuaGFzTGlicmFyeVJvbGUsXG4gICAgICAnYXBwLnNlbGVjdGlvbi5oYXNOb0xpYnJhcnlSb2xlJzogcnVsZXMuaGFzTm9MaWJyYXJ5Um9sZSxcbiAgICAgICdhcHAuc2VsZWN0aW9uLmZvbGRlcic6IHJ1bGVzLmhhc0ZvbGRlclNlbGVjdGVkLFxuICAgICAgJ2FwcC5zZWxlY3Rpb24uZm9sZGVyLmNhblVwZGF0ZSc6IHJ1bGVzLmNhblVwZGF0ZVNlbGVjdGVkRm9sZGVyLFxuICAgICAgJ2FwcC5zZWxlY3Rpb24uZGlzcGxheWVkS25vd2xlZGdlUmV0cmlldmFsQnV0dG9uJzogcnVsZXMuY2FuRGlzcGxheUtub3dsZWRnZVJldHJpZXZhbEJ1dHRvbixcblxuICAgICAgJ2FwcC5uYXZpZ2F0aW9uLmZvbGRlci5jYW5DcmVhdGUnOiBydWxlcy5jYW5DcmVhdGVGb2xkZXIsXG4gICAgICAnYXBwLm5hdmlnYXRpb24uZm9sZGVyLmNhblVwbG9hZCc6IHJ1bGVzLmNhblVwbG9hZCxcbiAgICAgICdhcHAubmF2aWdhdGlvbi5pc1RyYXNoY2FuJzogcnVsZXMuaXNUcmFzaGNhbixcbiAgICAgICdhcHAubmF2aWdhdGlvbi5pc05vdFRyYXNoY2FuJzogcnVsZXMuaXNOb3RUcmFzaGNhbixcbiAgICAgICdhcHAubmF2aWdhdGlvbi5pc0xpYnJhcmllcyc6IHJ1bGVzLmlzTGlicmFyaWVzLFxuICAgICAgJ2FwcC5uYXZpZ2F0aW9uLmlzTGlicmFyeUZpbGVzJzogcnVsZXMuaXNMaWJyYXJ5RmlsZXMsXG4gICAgICAnYXBwLm5hdmlnYXRpb24uaXNQZXJzb25hbEZpbGVzJzogcnVsZXMuaXNQZXJzb25hbEZpbGVzLFxuICAgICAgJ2FwcC5uYXZpZ2F0aW9uLmlzTm90TGlicmFyaWVzJzogcnVsZXMuaXNOb3RMaWJyYXJpZXMsXG4gICAgICAnYXBwLm5hdmlnYXRpb24uaXNTaGFyZWRGaWxlcyc6IHJ1bGVzLmlzU2hhcmVkRmlsZXMsXG4gICAgICAnYXBwLm5hdmlnYXRpb24uaXNOb3RTaGFyZWRGaWxlcyc6IHJ1bGVzLmlzTm90U2hhcmVkRmlsZXMsXG4gICAgICAnYXBwLm5hdmlnYXRpb24uaXNGYXZvcml0ZXMnOiBydWxlcy5pc0Zhdm9yaXRlcyxcbiAgICAgICdhcHAubmF2aWdhdGlvbi5pc05vdEZhdm9yaXRlcyc6IHJ1bGVzLmlzTm90RmF2b3JpdGVzLFxuICAgICAgJ2FwcC5uYXZpZ2F0aW9uLmlzUmVjZW50RmlsZXMnOiBydWxlcy5pc1JlY2VudEZpbGVzLFxuICAgICAgJ2FwcC5uYXZpZ2F0aW9uLmlzTm90UmVjZW50RmlsZXMnOiBydWxlcy5pc05vdFJlY2VudEZpbGVzLFxuICAgICAgJ2FwcC5uYXZpZ2F0aW9uLmlzU2VhcmNoUmVzdWx0cyc6IHJ1bGVzLmlzU2VhcmNoUmVzdWx0cyxcbiAgICAgICdhcHAubmF2aWdhdGlvbi5pc05vdFNlYXJjaFJlc3VsdHMnOiBydWxlcy5pc05vdFNlYXJjaFJlc3VsdHMsXG4gICAgICAnYXBwLm5hdmlnYXRpb24uaXNQcmV2aWV3JzogcnVsZXMuaXNQcmV2aWV3LFxuICAgICAgJ2FwcC5uYXZpZ2F0aW9uLmlzU2hhcmVkUHJldmlldyc6IHJ1bGVzLmlzU2hhcmVkUHJldmlldyxcbiAgICAgICdhcHAubmF2aWdhdGlvbi5pc0Zhdm9yaXRlc1ByZXZpZXcnOiBydWxlcy5pc0Zhdm9yaXRlc1ByZXZpZXcsXG4gICAgICAnYXBwLm5hdmlnYXRpb24uaXNTaGFyZWRGaWxlVmlld2VyJzogcnVsZXMuaXNTaGFyZWRGaWxlVmlld2VyLFxuXG4gICAgICAncmVwb3NpdG9yeS5pc1F1aWNrU2hhcmVFbmFibGVkJzogcnVsZXMuaGFzUXVpY2tTaGFyZUVuYWJsZWQsXG4gICAgICAndXNlci5pc0FkbWluJzogcnVsZXMuaXNBZG1pbixcbiAgICAgICdhcHAuY2FuU2hvd0xvZ291dCc6IHJ1bGVzLmNhblNob3dMb2dvdXQsXG4gICAgICAnYXBwLmlzQ29udGVudFNlcnZpY2VFbmFibGVkJzogcnVsZXMuaXNDb250ZW50U2VydmljZUVuYWJsZWQsXG4gICAgICAnYXBwLmlzVXBsb2FkU3VwcG9ydGVkJzogcnVsZXMuaXNVcGxvYWRTdXBwb3J0ZWQsXG4gICAgICAnYXBwLmNhbkNyZWF0ZUxpYnJhcnknOiBydWxlcy5jYW5DcmVhdGVMaWJyYXJ5LFxuICAgICAgJ2FwcC5hcmVUYWdzRW5hYmxlZCc6IHJ1bGVzLmFyZVRhZ3NFbmFibGVkLFxuICAgICAgJ2FwcC5hcmVDYXRlZ29yaWVzRW5hYmxlZCc6IHJ1bGVzLmFyZUNhdGVnb3JpZXNFbmFibGVkXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==