@alfresco/aca-content 4.0.0 → 4.1.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 (307) hide show
  1. package/{lib/components/create-menu/create-menu.component.d.ts → about/about.component.d.ts} +15 -16
  2. package/about/aca-about.module.d.ts +9 -0
  3. package/about/assets/about.plugin.json +47 -0
  4. package/about/dev-mode.tokens.d.ts +25 -0
  5. package/about/index.d.ts +5 -0
  6. package/about/package-json.token.d.ts +25 -0
  7. package/about/public-api.d.ts +27 -0
  8. package/assets/app.extensions.json +158 -131
  9. package/assets/i18n/ar.json +10 -26
  10. package/assets/i18n/cs.json +10 -26
  11. package/assets/i18n/da.json +9 -25
  12. package/assets/i18n/de.json +8 -24
  13. package/assets/i18n/en.json +9 -25
  14. package/assets/i18n/es.json +8 -24
  15. package/assets/i18n/fi.json +9 -25
  16. package/assets/i18n/fr.json +9 -25
  17. package/assets/i18n/it.json +9 -25
  18. package/assets/i18n/ja.json +9 -25
  19. package/assets/i18n/nb.json +9 -25
  20. package/assets/i18n/nl.json +8 -24
  21. package/assets/i18n/pl.json +10 -26
  22. package/assets/i18n/pt-BR.json +9 -25
  23. package/assets/i18n/ru.json +10 -26
  24. package/assets/i18n/sv.json +9 -25
  25. package/assets/i18n/zh-CN.json +8 -24
  26. package/esm2020/about/about.component.mjs +73 -0
  27. package/esm2020/about/aca-about.module.mjs +46 -0
  28. package/esm2020/about/alfresco-aca-content-about.mjs +5 -0
  29. package/esm2020/about/dev-mode.tokens.mjs +26 -0
  30. package/esm2020/about/package-json.token.mjs +26 -0
  31. package/esm2020/about/public-api.mjs +28 -0
  32. package/esm2020/folder-rules/alfresco-aca-content-folder-rules.mjs +5 -0
  33. package/esm2020/folder-rules/folder-rules.module.mjs +123 -0
  34. package/esm2020/folder-rules/folder-rules.rules.mjs +28 -0
  35. package/esm2020/folder-rules/manage-rules/manage-rules.smart-component.mjs +240 -0
  36. package/esm2020/folder-rules/model/action-parameter-constraint.model.mjs +25 -0
  37. package/esm2020/folder-rules/model/rule-action.model.mjs +26 -0
  38. package/esm2020/folder-rules/model/rule-composite-condition.model.mjs +25 -0
  39. package/esm2020/folder-rules/model/rule-grouping-item.model.mjs +25 -0
  40. package/esm2020/folder-rules/model/rule-set.model.mjs +25 -0
  41. package/esm2020/folder-rules/model/rule-simple-condition.model.mjs +25 -0
  42. package/esm2020/folder-rules/model/rule.model.mjs +25 -0
  43. package/esm2020/folder-rules/public-api.mjs +26 -0
  44. package/esm2020/folder-rules/rule-details/actions/rule-action-list.ui-component.mjs +112 -0
  45. package/esm2020/folder-rules/rule-details/actions/rule-action.ui-component.mjs +277 -0
  46. package/esm2020/folder-rules/rule-details/conditions/rule-composite-condition.ui-component.mjs +159 -0
  47. package/esm2020/folder-rules/rule-details/conditions/rule-condition-comparators.mjs +87 -0
  48. package/esm2020/folder-rules/rule-details/conditions/rule-condition-fields.mjs +62 -0
  49. package/esm2020/folder-rules/rule-details/conditions/rule-mime-types.mjs +25 -0
  50. package/esm2020/folder-rules/rule-details/conditions/rule-simple-condition.ui-component.mjs +144 -0
  51. package/esm2020/folder-rules/rule-details/edit-rule-dialog.ui-component.mjs +70 -0
  52. package/esm2020/folder-rules/rule-details/options/rule-options.ui-component.mjs +134 -0
  53. package/esm2020/folder-rules/rule-details/rule-details.ui-component.mjs +166 -0
  54. package/esm2020/folder-rules/rule-details/triggers/rule-triggers.ui-component.mjs +85 -0
  55. package/esm2020/folder-rules/rule-details/validators/rule-actions.validator.mjs +37 -0
  56. package/esm2020/folder-rules/rule-details/validators/rule-composite-condition.validator.mjs +31 -0
  57. package/esm2020/folder-rules/rule-list/rule-list/rule-list.ui-component.mjs +142 -0
  58. package/esm2020/folder-rules/rule-list/rule-list-grouping/rule-list-grouping.ui-component.mjs +77 -0
  59. package/esm2020/folder-rules/rule-list/rule-list-item/rule-list-item.ui-component.mjs +56 -0
  60. package/esm2020/folder-rules/rule-set-picker/rule-set-picker.smart-component.mjs +104 -0
  61. package/esm2020/folder-rules/services/actions.service.mjs +114 -0
  62. package/esm2020/folder-rules/services/folder-rule-sets.service.mjs +221 -0
  63. package/esm2020/folder-rules/services/folder-rules.service.mjs +193 -0
  64. package/esm2020/lib/aca-content.module.mjs +55 -90
  65. package/esm2020/lib/aca-content.routes.mjs +2 -2
  66. package/esm2020/lib/components/common/common.module.mjs +8 -39
  67. package/esm2020/lib/components/common/language-picker/language-picker.component.mjs +18 -11
  68. package/esm2020/lib/components/common/location-link/location-link.component.mjs +17 -16
  69. package/esm2020/lib/components/common/logout/logout.component.mjs +16 -9
  70. package/esm2020/lib/components/common/toggle-shared/toggle-shared.component.mjs +29 -18
  71. package/esm2020/lib/components/common/user-info/user-info.component.mjs +24 -13
  72. package/esm2020/lib/components/context-menu/context-menu-item.component.mjs +16 -10
  73. package/esm2020/lib/components/context-menu/context-menu-outside-event.directive.mjs +5 -4
  74. package/esm2020/lib/components/context-menu/context-menu.component.mjs +29 -15
  75. package/esm2020/lib/components/context-menu/context-menu.service.mjs +5 -6
  76. package/esm2020/lib/components/details/details.component.mjs +41 -23
  77. package/esm2020/lib/components/dl-custom-components/document-list-custom-components.module.mjs +7 -15
  78. package/esm2020/lib/components/dl-custom-components/name-column/name-column.component.mjs +16 -16
  79. package/esm2020/lib/components/dl-custom-components/tags-column/tags-column.component.mjs +34 -12
  80. package/esm2020/lib/components/dl-custom-components/thumbnail-column/thumbnail-column.component.mjs +32 -15
  81. package/esm2020/lib/components/favorite-libraries/favorite-libraries.component.mjs +17 -28
  82. package/esm2020/lib/components/favorites/favorites.component.mjs +18 -34
  83. package/esm2020/lib/components/files/files.component.mjs +28 -43
  84. package/esm2020/lib/components/home/home.component.mjs +7 -6
  85. package/esm2020/lib/components/info-drawer/comments-tab/comments-tab.component.mjs +15 -10
  86. package/esm2020/lib/components/info-drawer/info.drawer.module.mjs +28 -47
  87. package/esm2020/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.mjs +39 -17
  88. package/esm2020/lib/components/info-drawer/library-metadata-tab/library-metadata-tab.component.mjs +10 -7
  89. package/esm2020/lib/components/info-drawer/metadata-tab/metadata-tab.component.mjs +13 -12
  90. package/esm2020/lib/components/info-drawer/versions-tab/versions-tab.component.mjs +18 -10
  91. package/esm2020/lib/components/libraries/libraries.component.mjs +17 -27
  92. package/esm2020/lib/components/recent-files/recent-files.component.mjs +18 -37
  93. package/esm2020/lib/components/search/search-action-menu/search-action-menu.component.mjs +3 -3
  94. package/esm2020/lib/components/search/search-input/search-input.component.mjs +11 -6
  95. package/esm2020/lib/components/search/search-input-control/search-input-control.component.mjs +5 -5
  96. package/esm2020/lib/components/search/search-input.module.mjs +4 -4
  97. package/esm2020/lib/components/search/search-libraries-results/search-libraries-query-builder.service.mjs +5 -6
  98. package/esm2020/lib/components/search/search-libraries-results/search-libraries-results.component.mjs +21 -30
  99. package/esm2020/lib/components/search/search-navigation.service.mjs +3 -3
  100. package/esm2020/lib/components/search/search-results/search-results.component.mjs +33 -41
  101. package/esm2020/lib/components/search/search-results-row/search-results-row.component.mjs +6 -7
  102. package/esm2020/lib/components/search/search-results.module.mjs +31 -23
  103. package/esm2020/lib/components/shared-files/shared-files.component.mjs +18 -34
  104. package/esm2020/lib/components/shared-link-view/shared-link-view.component.mjs +9 -7
  105. package/esm2020/lib/components/shared-link-view/shared-link-view.module.mjs +5 -9
  106. package/esm2020/lib/components/sidenav/components/button-menu.component.mjs +5 -5
  107. package/esm2020/lib/components/sidenav/components/expand-menu.component.mjs +5 -5
  108. package/esm2020/lib/components/sidenav/components/sidenav-header.component.mjs +5 -5
  109. package/esm2020/lib/components/sidenav/directives/action.directive.mjs +3 -3
  110. package/esm2020/lib/components/sidenav/directives/active-link.directive.mjs +3 -3
  111. package/esm2020/lib/components/sidenav/directives/expansion-panel.directive.mjs +3 -3
  112. package/esm2020/lib/components/sidenav/directives/menu-panel.directive.mjs +3 -3
  113. package/esm2020/lib/components/sidenav/sidenav.component.mjs +3 -3
  114. package/esm2020/lib/components/sidenav/sidenav.module.mjs +11 -9
  115. package/esm2020/lib/components/sidenav/user-menu/user-menu.component.mjs +96 -0
  116. package/esm2020/lib/components/toolbar/toggle-edit-offline/toggle-edit-offline.component.mjs +10 -17
  117. package/esm2020/lib/components/toolbar/toggle-favorite/toggle-favorite.component.mjs +3 -3
  118. package/esm2020/lib/components/toolbar/toggle-favorite-library/toggle-favorite-library.component.mjs +3 -3
  119. package/esm2020/lib/components/toolbar/toggle-info-drawer/toggle-info-drawer.component.mjs +3 -3
  120. package/esm2020/lib/components/toolbar/toggle-join-library/toggle-join-library-button.component.mjs +3 -3
  121. package/esm2020/lib/components/toolbar/toggle-join-library/toggle-join-library-menu.component.mjs +3 -3
  122. package/esm2020/lib/components/toolbar/toolbar.module.mjs +7 -13
  123. package/esm2020/lib/components/toolbar/view-node/view-node.component.mjs +3 -3
  124. package/esm2020/lib/components/trashcan/trashcan.component.mjs +37 -29
  125. package/esm2020/lib/components/upload-files-dialog/upload-files-dialog.component.mjs +3 -3
  126. package/esm2020/lib/components/view-profile/view-profile.component.mjs +35 -16
  127. package/esm2020/lib/components/view-profile/view-profile.guard.mjs +5 -5
  128. package/esm2020/lib/dialogs/node-template/create-from-template.dialog.mjs +16 -15
  129. package/esm2020/lib/directives/directives.module.mjs +4 -4
  130. package/esm2020/lib/directives/document-list.directive.mjs +3 -3
  131. package/esm2020/lib/extensions/core.extensions.module.mjs +4 -4
  132. package/esm2020/lib/material.module.mjs +4 -4
  133. package/esm2020/lib/services/content-management.service.mjs +3 -3
  134. package/esm2020/lib/services/content-service-extension.service.mjs +3 -3
  135. package/esm2020/lib/services/content-url.service.mjs +3 -3
  136. package/esm2020/lib/services/node-actions.service.mjs +5 -5
  137. package/esm2020/lib/services/node-template.service.mjs +3 -3
  138. package/esm2020/lib/store/app-store.module.mjs +4 -4
  139. package/esm2020/lib/store/effects/app.effects.mjs +3 -3
  140. package/esm2020/lib/store/effects/contextmenu.effects.mjs +3 -3
  141. package/esm2020/lib/store/effects/download.effects.mjs +3 -3
  142. package/esm2020/lib/store/effects/favorite.effects.mjs +3 -3
  143. package/esm2020/lib/store/effects/library.effects.mjs +3 -3
  144. package/esm2020/lib/store/effects/node.effects.mjs +3 -3
  145. package/esm2020/lib/store/effects/search.effects.mjs +3 -3
  146. package/esm2020/lib/store/effects/template.effects.mjs +3 -3
  147. package/esm2020/lib/store/effects/upload.effects.mjs +5 -5
  148. package/esm2020/lib/store/effects/viewer.effects.mjs +5 -5
  149. package/esm2020/ms-office/actions/aos.actions.mjs +31 -0
  150. package/esm2020/ms-office/alfresco-aca-content-ms-office.mjs +5 -0
  151. package/esm2020/ms-office/aos-extension.module.mjs +54 -0
  152. package/esm2020/ms-office/aos-extension.service.mjs +134 -0
  153. package/esm2020/ms-office/effects/aos.effects.mjs +48 -0
  154. package/esm2020/ms-office/public-api.mjs +28 -0
  155. package/fesm2015/alfresco-aca-content-about.mjs +194 -0
  156. package/fesm2015/alfresco-aca-content-about.mjs.map +1 -0
  157. package/fesm2015/alfresco-aca-content-folder-rules.mjs +2479 -0
  158. package/fesm2015/alfresco-aca-content-folder-rules.mjs.map +1 -0
  159. package/fesm2015/alfresco-aca-content-ms-office.mjs +260 -0
  160. package/fesm2015/alfresco-aca-content-ms-office.mjs.map +1 -0
  161. package/fesm2015/alfresco-aca-content.mjs +3457 -3847
  162. package/fesm2015/alfresco-aca-content.mjs.map +1 -1
  163. package/fesm2020/alfresco-aca-content-about.mjs +194 -0
  164. package/fesm2020/alfresco-aca-content-about.mjs.map +1 -0
  165. package/fesm2020/alfresco-aca-content-folder-rules.mjs +2538 -0
  166. package/fesm2020/alfresco-aca-content-folder-rules.mjs.map +1 -0
  167. package/fesm2020/alfresco-aca-content-ms-office.mjs +282 -0
  168. package/fesm2020/alfresco-aca-content-ms-office.mjs.map +1 -0
  169. package/fesm2020/alfresco-aca-content.mjs +4622 -4995
  170. package/fesm2020/alfresco-aca-content.mjs.map +1 -1
  171. package/folder-rules/assets/folder-rules.plugin.json +71 -0
  172. package/folder-rules/assets/i18n/ar.json +144 -0
  173. package/folder-rules/assets/i18n/cs.json +144 -0
  174. package/folder-rules/assets/i18n/da.json +144 -0
  175. package/folder-rules/assets/i18n/de.json +144 -0
  176. package/folder-rules/assets/i18n/en.json +144 -0
  177. package/folder-rules/assets/i18n/es.json +144 -0
  178. package/folder-rules/assets/i18n/fi.json +144 -0
  179. package/folder-rules/assets/i18n/fr.json +144 -0
  180. package/folder-rules/assets/i18n/it.json +144 -0
  181. package/folder-rules/assets/i18n/ja.json +144 -0
  182. package/folder-rules/assets/i18n/nb.json +144 -0
  183. package/folder-rules/assets/i18n/nl.json +144 -0
  184. package/folder-rules/assets/i18n/pl.json +144 -0
  185. package/folder-rules/assets/i18n/pt-BR.json +144 -0
  186. package/folder-rules/assets/i18n/ru.json +144 -0
  187. package/folder-rules/assets/i18n/sv.json +144 -0
  188. package/folder-rules/assets/i18n/zh-CN.json +144 -0
  189. package/folder-rules/folder-rules.module.d.ts +51 -0
  190. package/folder-rules/folder-rules.rules.d.ts +27 -0
  191. package/folder-rules/index.d.ts +5 -0
  192. package/folder-rules/manage-rules/manage-rules.smart-component.d.ts +87 -0
  193. package/folder-rules/model/action-parameter-constraint.model.d.ts +31 -0
  194. package/folder-rules/model/rule-action.model.d.ts +48 -0
  195. package/folder-rules/model/rule-composite-condition.model.d.ts +30 -0
  196. package/folder-rules/model/rule-grouping-item.model.d.ts +34 -0
  197. package/folder-rules/model/rule-set.model.d.ts +34 -0
  198. package/folder-rules/model/rule-simple-condition.model.d.ts +28 -0
  199. package/folder-rules/model/rule.model.d.ts +58 -0
  200. package/folder-rules/public-api.d.ts +25 -0
  201. package/folder-rules/rule-details/actions/rule-action-list.ui-component.d.ts +47 -0
  202. package/folder-rules/rule-details/actions/rule-action.ui-component.d.ts +75 -0
  203. package/folder-rules/rule-details/conditions/rule-composite-condition.ui-component.d.ts +60 -0
  204. package/folder-rules/rule-details/conditions/rule-condition-comparators.d.ts +30 -0
  205. package/folder-rules/rule-details/conditions/rule-condition-fields.d.ts +31 -0
  206. package/folder-rules/rule-details/conditions/rule-mime-types.d.ts +27 -0
  207. package/folder-rules/rule-details/conditions/rule-simple-condition.ui-component.d.ts +62 -0
  208. package/folder-rules/rule-details/edit-rule-dialog.ui-component.d.ts +53 -0
  209. package/folder-rules/rule-details/options/rule-options.ui-component.d.ts +55 -0
  210. package/folder-rules/rule-details/rule-details.ui-component.d.ts +54 -0
  211. package/folder-rules/rule-details/triggers/rule-triggers.ui-component.d.ts +43 -0
  212. package/folder-rules/rule-details/validators/rule-actions.validator.d.ts +27 -0
  213. package/folder-rules/rule-details/validators/rule-composite-condition.validator.d.ts +25 -0
  214. package/folder-rules/rule-list/rule-list/rule-list.ui-component.d.ts +57 -0
  215. package/folder-rules/rule-list/rule-list-grouping/rule-list-grouping.ui-component.d.ts +44 -0
  216. package/{lib/components/node-version/node-version-form.component.d.ts → folder-rules/rule-list/rule-list-item/rule-list-item.ui-component.d.ts} +10 -21
  217. package/folder-rules/rule-set-picker/rule-set-picker.smart-component.d.ts +61 -0
  218. package/folder-rules/services/actions.service.d.ts +28 -0
  219. package/folder-rules/services/folder-rule-sets.service.d.ts +49 -0
  220. package/folder-rules/services/folder-rules.service.d.ts +41 -0
  221. package/lib/aca-content.module.d.ts +37 -37
  222. package/lib/components/common/common.module.d.ts +29 -17
  223. package/lib/components/common/language-picker/language-picker.component.d.ts +1 -1
  224. package/lib/components/common/location-link/location-link.component.d.ts +1 -6
  225. package/lib/components/common/logout/logout.component.d.ts +2 -3
  226. package/lib/components/common/toggle-shared/toggle-shared.component.d.ts +9 -6
  227. package/lib/components/common/user-info/user-info.component.d.ts +15 -3
  228. package/lib/components/context-menu/context-menu-item.component.d.ts +1 -1
  229. package/lib/components/context-menu/context-menu-outside-event.directive.d.ts +1 -1
  230. package/lib/components/context-menu/context-menu.component.d.ts +1 -1
  231. package/lib/components/details/details.component.d.ts +3 -6
  232. package/lib/components/dl-custom-components/document-list-custom-components.module.d.ts +4 -8
  233. package/lib/components/dl-custom-components/name-column/name-column.component.d.ts +3 -3
  234. package/lib/components/dl-custom-components/tags-column/tags-column.component.d.ts +5 -28
  235. package/lib/components/dl-custom-components/thumbnail-column/thumbnail-column.component.d.ts +32 -12
  236. package/lib/components/favorite-libraries/favorite-libraries.component.d.ts +3 -8
  237. package/lib/components/favorites/favorites.component.d.ts +2 -12
  238. package/lib/components/files/files.component.d.ts +6 -15
  239. package/lib/components/info-drawer/comments-tab/comments-tab.component.d.ts +28 -3
  240. package/lib/components/info-drawer/info.drawer.module.d.ts +5 -12
  241. package/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.d.ts +5 -4
  242. package/lib/components/info-drawer/library-metadata-tab/library-metadata-tab.component.d.ts +1 -1
  243. package/lib/components/info-drawer/metadata-tab/metadata-tab.component.d.ts +2 -2
  244. package/lib/components/info-drawer/versions-tab/versions-tab.component.d.ts +1 -1
  245. package/lib/components/libraries/libraries.component.d.ts +2 -31
  246. package/lib/components/recent-files/recent-files.component.d.ts +2 -13
  247. package/lib/components/search/search-input/search-input.component.d.ts +2 -1
  248. package/lib/components/search/search-libraries-results/search-libraries-results.component.d.ts +2 -31
  249. package/lib/components/search/search-results/search-results.component.d.ts +7 -13
  250. package/lib/components/search/search-results-row/search-results-row.component.d.ts +1 -1
  251. package/lib/components/search/search-results.module.d.ts +7 -5
  252. package/lib/components/shared-files/shared-files.component.d.ts +2 -11
  253. package/lib/components/shared-link-view/shared-link-view.component.d.ts +3 -2
  254. package/lib/components/shared-link-view/shared-link-view.module.d.ts +5 -6
  255. package/lib/components/sidenav/sidenav.module.d.ts +5 -5
  256. package/lib/components/sidenav/user-menu/user-menu.component.d.ts +58 -0
  257. package/lib/components/toolbar/toggle-edit-offline/toggle-edit-offline.component.d.ts +2 -1
  258. package/lib/components/toolbar/toolbar.module.d.ts +13 -15
  259. package/lib/components/trashcan/trashcan.component.d.ts +4 -35
  260. package/lib/components/view-profile/view-profile.component.d.ts +11 -4
  261. package/lib/components/view-profile/view-profile.guard.d.ts +2 -2
  262. package/lib/dialogs/node-template/create-from-template.dialog.d.ts +2 -2
  263. package/lib/store/effects/upload.effects.d.ts +3 -3
  264. package/ms-office/actions/aos.actions.d.ts +31 -0
  265. package/ms-office/aos-extension.module.d.ts +34 -0
  266. package/ms-office/aos-extension.service.d.ts +48 -0
  267. package/ms-office/assets/aos.plugin.json +74 -0
  268. package/ms-office/assets/i18n/ar.json +10 -0
  269. package/ms-office/assets/i18n/cs.json +10 -0
  270. package/ms-office/assets/i18n/da.json +10 -0
  271. package/ms-office/assets/i18n/de.json +10 -0
  272. package/ms-office/assets/i18n/en.json +10 -0
  273. package/ms-office/assets/i18n/es.json +10 -0
  274. package/ms-office/assets/i18n/fi.json +10 -0
  275. package/ms-office/assets/i18n/fr.json +10 -0
  276. package/ms-office/assets/i18n/it.json +10 -0
  277. package/ms-office/assets/i18n/ja.json +10 -0
  278. package/ms-office/assets/i18n/nb.json +10 -0
  279. package/ms-office/assets/i18n/nl.json +10 -0
  280. package/ms-office/assets/i18n/pl.json +10 -0
  281. package/ms-office/assets/i18n/pt-BR.json +10 -0
  282. package/ms-office/assets/i18n/ru.json +10 -0
  283. package/ms-office/assets/i18n/sv.json +10 -0
  284. package/ms-office/assets/i18n/zh-CN.json +10 -0
  285. package/ms-office/effects/aos.effects.d.ts +11 -0
  286. package/ms-office/index.d.ts +5 -0
  287. package/ms-office/public-api.d.ts +27 -0
  288. package/package.json +37 -2
  289. package/ui/application.scss +8 -0
  290. package/ui/overrides/adf-about.theme.scss +0 -5
  291. package/ui/overrides/adf-pagination.theme.scss +0 -1
  292. package/ui/overrides/ay11.scss +1 -1
  293. package/ui/variables/variables.scss +6 -13
  294. package/esm2020/lib/components/context-menu/context-menu.module.mjs +0 -76
  295. package/esm2020/lib/components/create-menu/create-menu.component.mjs +0 -73
  296. package/esm2020/lib/components/create-menu/create-menu.module.mjs +0 -44
  297. package/esm2020/lib/components/node-version/node-version-form.component.mjs +0 -70
  298. package/esm2020/lib/components/node-version/node-version.module.mjs +0 -78
  299. package/esm2020/lib/components/toolbar/document-display-mode/document-display-mode.component.mjs +0 -84
  300. package/esm2020/lib/components/trashcan/trashcan.module.mjs +0 -74
  301. package/esm2020/lib/components/view-profile/view-profile.module.mjs +0 -42
  302. package/lib/components/context-menu/context-menu.module.d.ts +0 -18
  303. package/lib/components/create-menu/create-menu.module.d.ts +0 -10
  304. package/lib/components/node-version/node-version.module.d.ts +0 -16
  305. package/lib/components/toolbar/document-display-mode/document-display-mode.component.d.ts +0 -13
  306. package/lib/components/trashcan/trashcan.module.d.ts +0 -16
  307. package/lib/components/view-profile/view-profile.module.d.ts +0 -9
@@ -67,6 +67,7 @@ export class SearchInputComponent {
67
67
  this.hasOneChange = false;
68
68
  this.hasNewChange = false;
69
69
  this.has400LibraryError = false;
70
+ this.hasLibrariesConstraint = false;
70
71
  this.searchedWord = null;
71
72
  this.searchOptions = [
72
73
  {
@@ -102,6 +103,7 @@ export class SearchInputComponent {
102
103
  });
103
104
  this.appHookService.library400Error.pipe(takeUntil(this.onDestroy$)).subscribe(() => {
104
105
  this.has400LibraryError = true;
106
+ this.hasLibrariesConstraint = this.evaluateLibrariesConstraint();
105
107
  });
106
108
  }
107
109
  exitSearch() {
@@ -110,6 +112,7 @@ export class SearchInputComponent {
110
112
  showInputValue() {
111
113
  this.appService.appNavNarMode$.next('collapsed');
112
114
  this.has400LibraryError = false;
115
+ this.hasLibrariesConstraint = this.evaluateLibrariesConstraint();
113
116
  this.searchedWord = this.getUrlSearchTerm();
114
117
  if (this.searchInputControl) {
115
118
  this.searchInputControl.searchTerm = this.searchedWord;
@@ -149,6 +152,7 @@ export class SearchInputComponent {
149
152
  return;
150
153
  }
151
154
  this.has400LibraryError = false;
155
+ this.hasLibrariesConstraint = this.evaluateLibrariesConstraint();
152
156
  this.searchedWord = searchTerm;
153
157
  if (this.hasOneChange) {
154
158
  this.hasNewChange = true;
@@ -171,6 +175,7 @@ export class SearchInputComponent {
171
175
  this.syncInputValues();
172
176
  this.has400LibraryError = false;
173
177
  if (this.isLibrariesChecked()) {
178
+ this.hasLibrariesConstraint = this.evaluateLibrariesConstraint();
174
179
  if (this.onLibrariesSearchResults && this.isSameSearchTerm()) {
175
180
  this.queryLibrariesBuilder.update();
176
181
  }
@@ -218,7 +223,7 @@ export class SearchInputComponent {
218
223
  isContentChecked() {
219
224
  return this.isFilesChecked() || this.isFoldersChecked();
220
225
  }
221
- hasLibraryConstraint() {
226
+ evaluateLibrariesConstraint() {
222
227
  if (this.isLibrariesChecked()) {
223
228
  return this.has400LibraryError || this.searchInputControl.isTermTooShort();
224
229
  }
@@ -260,11 +265,11 @@ export class SearchInputComponent {
260
265
  return this.searchedWord === urlSearchTerm;
261
266
  }
262
267
  }
263
- SearchInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: SearchInputComponent, deps: [{ token: i1.SearchQueryBuilderService }, { token: i2.SearchLibrariesQueryBuilderService }, { token: i3.AppConfigService }, { token: i4.Router }, { token: i5.Store }, { token: i6.AppHookService }, { token: i6.AppService }, { token: i7.SearchNavigationService }], target: i0.ɵɵFactoryTarget.Component });
264
- SearchInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: SearchInputComponent, selector: "aca-search-input", host: { classAttribute: "aca-search-input" }, viewQueries: [{ propertyName: "searchInputControl", first: true, predicate: ["searchInputControl"], descendants: true, static: true }, { propertyName: "trigger", first: true, predicate: MatMenuTrigger, descendants: true, static: true }], ngImport: i0, template: "<div class=\"app-search-container searchMenuTrigger\"\n [matMenuTriggerFor]=\"searchOptionsMenu\"\n (menuOpened)=\"onMenuOpened()\"\n (menuClosed)=\"syncInputValues()\"\n>\n\n <button mat-icon-button class=\"app-search-button\" (click)=\"searchByOption()\" [title]=\"'SEARCH.BUTTON.TOOLTIP' | translate\">\n <mat-icon [attr.aria-label]=\"'SEARCH.BUTTON.ARIA-LABEL' | translate\">search</mat-icon>\n </button>\n <mat-form-field class=\"app-input-form-field\" [floatLabel]=\"'never'\">\n <input\n matInput\n [attr.aria-label]=\"'SEARCH.INPUT.ARIA-LABEL' | translate\"\n [type]=\"'text'\"\n [disabled]=\"true\"\n [value]=\"searchedWord\"\n [placeholder]=\"'SEARCH.INPUT.PLACEHOLDER' | translate\"\n />\n\n <div matSuffix class=\"app-suffix-search-icon-wrapper\">\n <mat-icon>arrow_drop_down</mat-icon>\n </div>\n\n <button mat-icon-button matSuffix class=\"app-suffix-search-icon-wrapper app-close-icon\" (click)=\"exitSearch()\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n</div>\n\n<mat-menu #searchOptionsMenu=\"matMenu\" [overlapTrigger]=\"true\" class=\"app-search-options-menu\">\n <div (keydown.tab)=\"$event.stopPropagation()\" (keydown.shift.tab)=\"$event.stopPropagation()\">\n <div cdkTrapFocus>\n <app-search-input-control\n #searchInputControl\n (click)=\"$event.stopPropagation()\"\n (submit)=\"onSearchSubmit($event)\"\n (searchChange)=\"onSearchChange($event)\"\n >\n </app-search-input-control>\n <mat-hint *ngIf=\"hasLibraryConstraint()\" class=\"app-search-hint\">{{ 'SEARCH.INPUT.HINT' | translate }}</mat-hint>\n\n <div id=\"search-options\">\n <mat-checkbox\n *ngFor=\"let option of searchOptions\"\n id=\"{{ option.id }}\"\n [(ngModel)]=\"option.value\"\n [disabled]=\"option.shouldDisable()\"\n (change)=\"searchByOption()\"\n (click)=\"$event.stopPropagation()\"\n >\n {{ option.key | translate }}\n </mat-checkbox>\n </div>\n </div>\n </div>\n</mat-menu>\n", styles: [".app-search-container{color:var(--theme-foreground-text-color);width:100%;max-width:594px;height:44px;margin:0!important}.app-search-container .app-search-button{width:32px;height:32px;margin-left:0;padding-left:0;margin-top:-4px}.app-search-container .app-input-form-field .app-close-icon{height:6px}.app-search-container .app-input-form-field .app-close-icon .mat-icon{font-size:18px!important;line-height:28px}.app-search-container .app-input-form-field .mat-input-element{caret-color:var(--theme-text-color)}.app-search-container .app-input-form-field .mat-input-element:disabled{color:var(--theme-text-color)}.app-search-container .mat-focused label.mat-form-field-label{display:none}.app-search-options-menu.mat-menu-panel{background-color:var(--theme-dialog-background-color);width:594px;max-width:unset;border-radius:4px;margin-top:12px}.app-search-options-menu .mat-menu-content:not(:empty){padding-top:0;padding-bottom:0}mat-checkbox .mat-checkbox-frame{border-color:var(--theme-text-color)}.aca-search-input{width:100%;max-width:594px;background-color:#f5f6f5;border-radius:4px;height:32px;margin-bottom:0!important;padding-bottom:26px!important}.app-search-control{margin-top:-12px}#search-options{color:var(--theme-text-color);border-top:1px solid var(--theme-divider-color);padding:20px 0;font-size:16px;letter-spacing:-.7px}#search-options mat-checkbox{padding:3px 24px 3px 19px}#search-options mat-checkbox .mat-checkbox-inner-container{height:18px;width:18px}#search-options mat-checkbox .mat-checkbox-label{padding:0 0 0 11px;overflow:hidden;text-overflow:ellipsis}#search-options .mat-checkbox-layout{max-width:155px}.app-search-hint{position:absolute;font-size:12px;padding-left:17px}@media screen and (max-width: 959px){.aca-search-input,.app-search-container{max-width:400px}.app-search-options-menu.mat-menu-panel{width:400px}#search-options{padding-left:20px}#search-options mat-checkbox{padding:3px 20px 3px 0}#search-options mat-checkbox .mat-checkbox-label{padding:0}#search-options .mat-checkbox-layout{max-width:105px}}@media screen and (max-width: 599px){.aca-search-input,.app-search-container{max-width:220px}.app-search-options-menu.mat-menu-panel{width:220px;margin-top:9px}#search-options .mat-checkbox-layout{max-width:180px}}@media screen and (max-width: 380px){.aca-search-input{max-width:148px}}\n"], dependencies: [{ kind: "directive", type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i9.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i10.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i11.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i12.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i13.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i13.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i13.MatSuffix, selector: "[matSuffix]" }, { kind: "directive", type: i14.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i15.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "directive", type: i15.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i16.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "component", type: i17.SearchInputControlComponent, selector: "app-search-input-control", inputs: ["inputType"], outputs: ["submit", "searchChange"] }, { kind: "pipe", type: i18.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None });
265
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: SearchInputComponent, decorators: [{
268
+ SearchInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: SearchInputComponent, deps: [{ token: i1.SearchQueryBuilderService }, { token: i2.SearchLibrariesQueryBuilderService }, { token: i3.AppConfigService }, { token: i4.Router }, { token: i5.Store }, { token: i6.AppHookService }, { token: i6.AppService }, { token: i7.SearchNavigationService }], target: i0.ɵɵFactoryTarget.Component });
269
+ SearchInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: SearchInputComponent, selector: "aca-search-input", host: { classAttribute: "aca-search-input" }, viewQueries: [{ propertyName: "searchInputControl", first: true, predicate: ["searchInputControl"], descendants: true, static: true }, { propertyName: "trigger", first: true, predicate: MatMenuTrigger, descendants: true, static: true }], ngImport: i0, template: "<div class=\"app-search-container searchMenuTrigger\"\n [matMenuTriggerFor]=\"searchOptionsMenu\"\n (menuOpened)=\"onMenuOpened()\"\n (menuClosed)=\"syncInputValues()\"\n>\n\n <button mat-icon-button class=\"app-search-button\" (click)=\"searchByOption()\" [title]=\"'SEARCH.BUTTON.TOOLTIP' | translate\">\n <mat-icon [attr.aria-label]=\"'SEARCH.BUTTON.ARIA-LABEL' | translate\">search</mat-icon>\n </button>\n <mat-form-field class=\"app-input-form-field\" [floatLabel]=\"'never'\">\n <input\n matInput\n [attr.aria-label]=\"'SEARCH.INPUT.ARIA-LABEL' | translate\"\n [type]=\"'text'\"\n [disabled]=\"true\"\n [value]=\"searchedWord\"\n [placeholder]=\"'SEARCH.INPUT.PLACEHOLDER' | translate\"\n />\n\n <div matSuffix class=\"app-suffix-search-icon-wrapper\">\n <mat-icon>arrow_drop_down</mat-icon>\n </div>\n\n <button mat-icon-button matSuffix class=\"app-suffix-search-icon-wrapper app-close-icon\" (click)=\"exitSearch()\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n</div>\n\n<mat-menu #searchOptionsMenu=\"matMenu\" [overlapTrigger]=\"true\" class=\"app-search-options-menu\">\n <div (keydown.tab)=\"$event.stopPropagation()\" (keydown.shift.tab)=\"$event.stopPropagation()\" tabindex=0>\n <div cdkTrapFocus>\n <app-search-input-control\n #searchInputControl\n (click)=\"$event.stopPropagation()\"\n (submit)=\"onSearchSubmit($event)\"\n (searchChange)=\"onSearchChange($event)\"\n >\n </app-search-input-control>\n <mat-hint *ngIf=\"hasLibrariesConstraint\" class=\"app-search-hint\">{{ 'SEARCH.INPUT.HINT' | translate }}</mat-hint>\n\n <div id=\"search-options\">\n <mat-checkbox\n *ngFor=\"let option of searchOptions\"\n id=\"{{ option.id }}\"\n [(ngModel)]=\"option.value\"\n [disabled]=\"option.shouldDisable()\"\n (change)=\"searchByOption()\"\n (click)=\"$event.stopPropagation()\"\n >\n {{ option.key | translate }}\n </mat-checkbox>\n </div>\n </div>\n </div>\n</mat-menu>\n", styles: [".app-search-container{color:var(--theme-foreground-text-color);width:100%;max-width:594px;height:44px;margin:0!important}.app-search-container .app-search-button{width:32px;height:32px;margin-left:0;padding-left:0;margin-top:-4px}.app-search-container .app-input-form-field .app-close-icon{height:6px}.app-search-container .app-input-form-field .app-close-icon .mat-icon{font-size:18px!important;line-height:28px}.app-search-container .app-input-form-field .mat-input-element{caret-color:var(--theme-text-color)}.app-search-container .app-input-form-field .mat-input-element:disabled{color:var(--theme-text-color)}.app-search-container .mat-focused label.mat-form-field-label{display:none}.app-search-options-menu.mat-menu-panel{background-color:var(--theme-dialog-background-color);width:594px;max-width:unset;border-radius:4px;margin-top:12px}.app-search-options-menu .mat-menu-content:not(:empty){padding-top:0;padding-bottom:0}mat-checkbox .mat-checkbox-frame{border-color:var(--theme-text-color)}.aca-search-input{width:100%;max-width:594px;background-color:#f5f6f5;border-radius:4px;height:32px;margin-bottom:0!important;padding-bottom:26px!important}.app-search-control{margin-top:-12px}#search-options{color:var(--theme-text-color);border-top:1px solid var(--theme-divider-color);padding:20px 0;font-size:16px;letter-spacing:-.7px}#search-options mat-checkbox{padding:3px 24px 3px 19px}#search-options mat-checkbox .mat-checkbox-inner-container{height:18px;width:18px}#search-options mat-checkbox .mat-checkbox-label{padding:0 0 0 11px;overflow:hidden;text-overflow:ellipsis}#search-options .mat-checkbox-layout{max-width:155px}.app-search-hint{position:absolute;font-size:12px;padding-left:17px}@media screen and (max-width: 959px){.aca-search-input,.app-search-container{max-width:400px}.app-search-options-menu.mat-menu-panel{width:400px}#search-options{padding-left:20px}#search-options mat-checkbox{padding:3px 20px 3px 0}#search-options mat-checkbox .mat-checkbox-label{padding:0}#search-options .mat-checkbox-layout{max-width:105px}}@media screen and (max-width: 599px){.aca-search-input,.app-search-container{max-width:220px}.app-search-options-menu.mat-menu-panel{width:220px;margin-top:9px}#search-options .mat-checkbox-layout{max-width:180px}}@media screen and (max-width: 380px){.aca-search-input{max-width:148px}}\n"], dependencies: [{ kind: "directive", type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i9.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i10.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i11.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i12.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i13.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i13.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i13.MatSuffix, selector: "[matSuffix]" }, { kind: "directive", type: i14.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i15.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "directive", type: i15.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i16.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "component", type: i17.SearchInputControlComponent, selector: "app-search-input-control", inputs: ["inputType"], outputs: ["submit", "searchChange"] }, { kind: "pipe", type: i18.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None });
270
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: SearchInputComponent, decorators: [{
266
271
  type: Component,
267
- args: [{ selector: 'aca-search-input', encapsulation: ViewEncapsulation.None, host: { class: 'aca-search-input' }, template: "<div class=\"app-search-container searchMenuTrigger\"\n [matMenuTriggerFor]=\"searchOptionsMenu\"\n (menuOpened)=\"onMenuOpened()\"\n (menuClosed)=\"syncInputValues()\"\n>\n\n <button mat-icon-button class=\"app-search-button\" (click)=\"searchByOption()\" [title]=\"'SEARCH.BUTTON.TOOLTIP' | translate\">\n <mat-icon [attr.aria-label]=\"'SEARCH.BUTTON.ARIA-LABEL' | translate\">search</mat-icon>\n </button>\n <mat-form-field class=\"app-input-form-field\" [floatLabel]=\"'never'\">\n <input\n matInput\n [attr.aria-label]=\"'SEARCH.INPUT.ARIA-LABEL' | translate\"\n [type]=\"'text'\"\n [disabled]=\"true\"\n [value]=\"searchedWord\"\n [placeholder]=\"'SEARCH.INPUT.PLACEHOLDER' | translate\"\n />\n\n <div matSuffix class=\"app-suffix-search-icon-wrapper\">\n <mat-icon>arrow_drop_down</mat-icon>\n </div>\n\n <button mat-icon-button matSuffix class=\"app-suffix-search-icon-wrapper app-close-icon\" (click)=\"exitSearch()\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n</div>\n\n<mat-menu #searchOptionsMenu=\"matMenu\" [overlapTrigger]=\"true\" class=\"app-search-options-menu\">\n <div (keydown.tab)=\"$event.stopPropagation()\" (keydown.shift.tab)=\"$event.stopPropagation()\">\n <div cdkTrapFocus>\n <app-search-input-control\n #searchInputControl\n (click)=\"$event.stopPropagation()\"\n (submit)=\"onSearchSubmit($event)\"\n (searchChange)=\"onSearchChange($event)\"\n >\n </app-search-input-control>\n <mat-hint *ngIf=\"hasLibraryConstraint()\" class=\"app-search-hint\">{{ 'SEARCH.INPUT.HINT' | translate }}</mat-hint>\n\n <div id=\"search-options\">\n <mat-checkbox\n *ngFor=\"let option of searchOptions\"\n id=\"{{ option.id }}\"\n [(ngModel)]=\"option.value\"\n [disabled]=\"option.shouldDisable()\"\n (change)=\"searchByOption()\"\n (click)=\"$event.stopPropagation()\"\n >\n {{ option.key | translate }}\n </mat-checkbox>\n </div>\n </div>\n </div>\n</mat-menu>\n", styles: [".app-search-container{color:var(--theme-foreground-text-color);width:100%;max-width:594px;height:44px;margin:0!important}.app-search-container .app-search-button{width:32px;height:32px;margin-left:0;padding-left:0;margin-top:-4px}.app-search-container .app-input-form-field .app-close-icon{height:6px}.app-search-container .app-input-form-field .app-close-icon .mat-icon{font-size:18px!important;line-height:28px}.app-search-container .app-input-form-field .mat-input-element{caret-color:var(--theme-text-color)}.app-search-container .app-input-form-field .mat-input-element:disabled{color:var(--theme-text-color)}.app-search-container .mat-focused label.mat-form-field-label{display:none}.app-search-options-menu.mat-menu-panel{background-color:var(--theme-dialog-background-color);width:594px;max-width:unset;border-radius:4px;margin-top:12px}.app-search-options-menu .mat-menu-content:not(:empty){padding-top:0;padding-bottom:0}mat-checkbox .mat-checkbox-frame{border-color:var(--theme-text-color)}.aca-search-input{width:100%;max-width:594px;background-color:#f5f6f5;border-radius:4px;height:32px;margin-bottom:0!important;padding-bottom:26px!important}.app-search-control{margin-top:-12px}#search-options{color:var(--theme-text-color);border-top:1px solid var(--theme-divider-color);padding:20px 0;font-size:16px;letter-spacing:-.7px}#search-options mat-checkbox{padding:3px 24px 3px 19px}#search-options mat-checkbox .mat-checkbox-inner-container{height:18px;width:18px}#search-options mat-checkbox .mat-checkbox-label{padding:0 0 0 11px;overflow:hidden;text-overflow:ellipsis}#search-options .mat-checkbox-layout{max-width:155px}.app-search-hint{position:absolute;font-size:12px;padding-left:17px}@media screen and (max-width: 959px){.aca-search-input,.app-search-container{max-width:400px}.app-search-options-menu.mat-menu-panel{width:400px}#search-options{padding-left:20px}#search-options mat-checkbox{padding:3px 20px 3px 0}#search-options mat-checkbox .mat-checkbox-label{padding:0}#search-options .mat-checkbox-layout{max-width:105px}}@media screen and (max-width: 599px){.aca-search-input,.app-search-container{max-width:220px}.app-search-options-menu.mat-menu-panel{width:220px;margin-top:9px}#search-options .mat-checkbox-layout{max-width:180px}}@media screen and (max-width: 380px){.aca-search-input{max-width:148px}}\n"] }]
272
+ args: [{ selector: 'aca-search-input', encapsulation: ViewEncapsulation.None, host: { class: 'aca-search-input' }, template: "<div class=\"app-search-container searchMenuTrigger\"\n [matMenuTriggerFor]=\"searchOptionsMenu\"\n (menuOpened)=\"onMenuOpened()\"\n (menuClosed)=\"syncInputValues()\"\n>\n\n <button mat-icon-button class=\"app-search-button\" (click)=\"searchByOption()\" [title]=\"'SEARCH.BUTTON.TOOLTIP' | translate\">\n <mat-icon [attr.aria-label]=\"'SEARCH.BUTTON.ARIA-LABEL' | translate\">search</mat-icon>\n </button>\n <mat-form-field class=\"app-input-form-field\" [floatLabel]=\"'never'\">\n <input\n matInput\n [attr.aria-label]=\"'SEARCH.INPUT.ARIA-LABEL' | translate\"\n [type]=\"'text'\"\n [disabled]=\"true\"\n [value]=\"searchedWord\"\n [placeholder]=\"'SEARCH.INPUT.PLACEHOLDER' | translate\"\n />\n\n <div matSuffix class=\"app-suffix-search-icon-wrapper\">\n <mat-icon>arrow_drop_down</mat-icon>\n </div>\n\n <button mat-icon-button matSuffix class=\"app-suffix-search-icon-wrapper app-close-icon\" (click)=\"exitSearch()\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n</div>\n\n<mat-menu #searchOptionsMenu=\"matMenu\" [overlapTrigger]=\"true\" class=\"app-search-options-menu\">\n <div (keydown.tab)=\"$event.stopPropagation()\" (keydown.shift.tab)=\"$event.stopPropagation()\" tabindex=0>\n <div cdkTrapFocus>\n <app-search-input-control\n #searchInputControl\n (click)=\"$event.stopPropagation()\"\n (submit)=\"onSearchSubmit($event)\"\n (searchChange)=\"onSearchChange($event)\"\n >\n </app-search-input-control>\n <mat-hint *ngIf=\"hasLibrariesConstraint\" class=\"app-search-hint\">{{ 'SEARCH.INPUT.HINT' | translate }}</mat-hint>\n\n <div id=\"search-options\">\n <mat-checkbox\n *ngFor=\"let option of searchOptions\"\n id=\"{{ option.id }}\"\n [(ngModel)]=\"option.value\"\n [disabled]=\"option.shouldDisable()\"\n (change)=\"searchByOption()\"\n (click)=\"$event.stopPropagation()\"\n >\n {{ option.key | translate }}\n </mat-checkbox>\n </div>\n </div>\n </div>\n</mat-menu>\n", styles: [".app-search-container{color:var(--theme-foreground-text-color);width:100%;max-width:594px;height:44px;margin:0!important}.app-search-container .app-search-button{width:32px;height:32px;margin-left:0;padding-left:0;margin-top:-4px}.app-search-container .app-input-form-field .app-close-icon{height:6px}.app-search-container .app-input-form-field .app-close-icon .mat-icon{font-size:18px!important;line-height:28px}.app-search-container .app-input-form-field .mat-input-element{caret-color:var(--theme-text-color)}.app-search-container .app-input-form-field .mat-input-element:disabled{color:var(--theme-text-color)}.app-search-container .mat-focused label.mat-form-field-label{display:none}.app-search-options-menu.mat-menu-panel{background-color:var(--theme-dialog-background-color);width:594px;max-width:unset;border-radius:4px;margin-top:12px}.app-search-options-menu .mat-menu-content:not(:empty){padding-top:0;padding-bottom:0}mat-checkbox .mat-checkbox-frame{border-color:var(--theme-text-color)}.aca-search-input{width:100%;max-width:594px;background-color:#f5f6f5;border-radius:4px;height:32px;margin-bottom:0!important;padding-bottom:26px!important}.app-search-control{margin-top:-12px}#search-options{color:var(--theme-text-color);border-top:1px solid var(--theme-divider-color);padding:20px 0;font-size:16px;letter-spacing:-.7px}#search-options mat-checkbox{padding:3px 24px 3px 19px}#search-options mat-checkbox .mat-checkbox-inner-container{height:18px;width:18px}#search-options mat-checkbox .mat-checkbox-label{padding:0 0 0 11px;overflow:hidden;text-overflow:ellipsis}#search-options .mat-checkbox-layout{max-width:155px}.app-search-hint{position:absolute;font-size:12px;padding-left:17px}@media screen and (max-width: 959px){.aca-search-input,.app-search-container{max-width:400px}.app-search-options-menu.mat-menu-panel{width:400px}#search-options{padding-left:20px}#search-options mat-checkbox{padding:3px 20px 3px 0}#search-options mat-checkbox .mat-checkbox-label{padding:0}#search-options .mat-checkbox-layout{max-width:105px}}@media screen and (max-width: 599px){.aca-search-input,.app-search-container{max-width:220px}.app-search-options-menu.mat-menu-panel{width:220px;margin-top:9px}#search-options .mat-checkbox-layout{max-width:180px}}@media screen and (max-width: 380px){.aca-search-input{max-width:148px}}\n"] }]
268
273
  }], ctorParameters: function () { return [{ type: i1.SearchQueryBuilderService }, { type: i2.SearchLibrariesQueryBuilderService }, { type: i3.AppConfigService }, { type: i4.Router }, { type: i5.Store }, { type: i6.AppHookService }, { type: i6.AppService }, { type: i7.SearchNavigationService }]; }, propDecorators: { searchInputControl: [{
269
274
  type: ViewChild,
270
275
  args: ['searchInputControl', { static: true }]
@@ -272,4 +277,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImpor
272
277
  type: ViewChild,
273
278
  args: [MatMenuTrigger, { static: true }]
274
279
  }] } });
275
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2gvc2VhcmNoLWlucHV0L3NlYXJjaC1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2EtY29udGVudC9zcmMvbGliL2NvbXBvbmVudHMvc2VhcmNoL3NlYXJjaC1pbnB1dC9zZWFyY2gtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFFSCxPQUFPLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xFLE9BQU8sRUFBWSxrQkFBa0IsRUFBRSxlQUFlLEVBQXFCLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkksT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLFNBQVMsRUFBcUIsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUF3QyxNQUFNLGlCQUFpQixDQUFDO0FBQzNILE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSwy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QixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2FBQ3ZHO1NBQ0Y7UUFFRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDOUMsT0FBTyxJQUFJLENBQUMsWUFBWSxLQUFLLGFBQWEsQ0FBQztJQUM3QyxDQUFDOztpSEFsUFUsb0JBQW9CO3FHQUFwQixvQkFBb0Isd1FBaUNwQixjQUFjLDhEQzlFM0Isc2tFQXdEQTsyRkRYYSxvQkFBb0I7a0JBUGhDLFNBQVM7K0JBQ0Usa0JBQWtCLGlCQUdiLGlCQUFpQixDQUFDLElBQUksUUFDL0IsRUFBRSxLQUFLLEVBQUUsa0JBQWtCLEVBQUU7cVVBaUNuQyxrQkFBa0I7c0JBRGpCLFNBQVM7dUJBQUMsb0JBQW9CLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUlqRCxPQUFPO3NCQUROLFNBQVM7dUJBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyMyBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvblxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24uXG4gKiBJZiB0aGUgc29mdHdhcmUgd2FzIHB1cmNoYXNlZCB1bmRlciBhIHBhaWQgQWxmcmVzY28gbGljZW5zZSwgdGhlIHRlcm1zIG9mXG4gKiB0aGUgcGFpZCBsaWNlbnNlIGFncmVlbWVudCB3aWxsIHByZXZhaWwuIE90aGVyd2lzZSwgdGhlIHNvZnR3YXJlIGlzXG4gKiBwcm92aWRlZCB1bmRlciB0aGUgZm9sbG93aW5nIG9wZW4gc291cmNlIGxpY2Vuc2UgdGVybXM6XG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogZnJvbSBIeWxhbmQgU29mdHdhcmUuIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuXG5pbXBvcnQgeyBBcHBIb29rU2VydmljZSwgQXBwU2VydmljZSB9IGZyb20gJ0BhbGZyZXNjby9hY2Etc2hhcmVkJztcbmltcG9ydCB7IEFwcFN0b3JlLCBTZWFyY2hCeVRlcm1BY3Rpb24sIFNlYXJjaE9wdGlvbklkcywgU2VhcmNoT3B0aW9uTW9kZWwsIFNuYWNrYmFyRXJyb3JBY3Rpb24gfSBmcm9tICdAYWxmcmVzY28vYWNhLXNoYXJlZC9zdG9yZSc7XG5pbXBvcnQgeyBTZWFyY2hRdWVyeUJ1aWxkZXJTZXJ2aWNlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb250ZW50LXNlcnZpY2VzJztcbmltcG9ydCB7IEFwcENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0TWVudVRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIFBSSU1BUllfT1VUTEVULCBSb3V0ZXIsIFJvdXRlckV2ZW50LCBVcmxTZWdtZW50LCBVcmxTZWdtZW50R3JvdXAsIFVybFRyZWUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFNlYXJjaElucHV0Q29udHJvbENvbXBvbmVudCB9IGZyb20gJy4uL3NlYXJjaC1pbnB1dC1jb250cm9sL3NlYXJjaC1pbnB1dC1jb250cm9sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWFyY2hOYXZpZ2F0aW9uU2VydmljZSB9IGZyb20gJy4uL3NlYXJjaC1uYXZpZ2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2VhcmNoTGlicmFyaWVzUXVlcnlCdWlsZGVyU2VydmljZSB9IGZyb20gJy4uL3NlYXJjaC1saWJyYXJpZXMtcmVzdWx0cy9zZWFyY2gtbGlicmFyaWVzLXF1ZXJ5LWJ1aWxkZXIuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FjYS1zZWFyY2gtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VhcmNoLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHsgY2xhc3M6ICdhY2Etc2VhcmNoLWlucHV0JyB9XG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaElucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBvbkRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgaGFzT25lQ2hhbmdlID0gZmFsc2U7XG4gIGhhc05ld0NoYW5nZSA9IGZhbHNlO1xuICBuYXZpZ2F0aW9uVGltZXI6IGFueTtcbiAgaGFzNDAwTGlicmFyeUVycm9yID0gZmFsc2U7XG4gIHNlYXJjaE9uQ2hhbmdlOiBib29sZWFuO1xuXG4gIHNlYXJjaGVkV29yZDogc3RyaW5nID0gbnVsbDtcbiAgc2VhcmNoT3B0aW9uczogQXJyYXk8U2VhcmNoT3B0aW9uTW9kZWw+ID0gW1xuICAgIHtcbiAgICAgIGlkOiBTZWFyY2hPcHRpb25JZHMuRmlsZXMsXG4gICAgICBrZXk6ICdTRUFSQ0guSU5QVVQuRklMRVMnLFxuICAgICAgdmFsdWU6IGZhbHNlLFxuICAgICAgc2hvdWxkRGlzYWJsZTogdGhpcy5pc0xpYnJhcmllc0NoZWNrZWQuYmluZCh0aGlzKVxuICAgIH0sXG4gICAge1xuICAgICAgaWQ6IFNlYXJjaE9wdGlvbklkcy5Gb2xkZXJzLFxuICAgICAga2V5OiAnU0VBUkNILklOUFVULkZPTERFUlMnLFxuICAgICAgdmFsdWU6IGZhbHNlLFxuICAgICAgc2hvdWxkRGlzYWJsZTogdGhpcy5pc0xpYnJhcmllc0NoZWNrZWQuYmluZCh0aGlzKVxuICAgIH0sXG4gICAge1xuICAgICAgaWQ6IFNlYXJjaE9wdGlvbklkcy5MaWJyYXJpZXMsXG4gICAgICBrZXk6ICdTRUFSQ0guSU5QVVQuTElCUkFSSUVTJyxcbiAgICAgIHZhbHVlOiBmYWxzZSxcbiAgICAgIHNob3VsZERpc2FibGU6IHRoaXMuaXNDb250ZW50Q2hlY2tlZC5iaW5kKHRoaXMpXG4gICAgfVxuICBdO1xuXG4gIEBWaWV3Q2hpbGQoJ3NlYXJjaElucHV0Q29udHJvbCcsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHNlYXJjaElucHV0Q29udHJvbDogU2VhcmNoSW5wdXRDb250cm9sQ29tcG9uZW50O1xuXG4gIEBWaWV3Q2hpbGQoTWF0TWVudVRyaWdnZXIsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHRyaWdnZXI6IE1hdE1lbnVUcmlnZ2VyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcXVlcnlCdWlsZGVyOiBTZWFyY2hRdWVyeUJ1aWxkZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcXVlcnlMaWJyYXJpZXNCdWlsZGVyOiBTZWFyY2hMaWJyYXJpZXNRdWVyeUJ1aWxkZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29uZmlnOiBBcHBDb25maWdTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmU8QXBwU3RvcmU+LFxuICAgIHByaXZhdGUgYXBwSG9va1NlcnZpY2U6IEFwcEhvb2tTZXJ2aWNlLFxuICAgIHByaXZhdGUgYXBwU2VydmljZTogQXBwU2VydmljZSxcbiAgICBwdWJsaWMgc2VhcmNoSW5wdXRTZXJ2aWNlOiBTZWFyY2hOYXZpZ2F0aW9uU2VydmljZVxuICApIHtcbiAgICB0aGlzLnNlYXJjaE9uQ2hhbmdlID0gdGhpcy5jb25maWcuZ2V0PGJvb2xlYW4+KCdzZWFyY2guYWNhOnRyaWdnZXJlZE9uQ2hhbmdlJywgdHJ1ZSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNob3dJbnB1dFZhbHVlKCk7XG5cbiAgICB0aGlzLnJvdXRlci5ldmVudHNcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKVxuICAgICAgLnBpcGUoZmlsdGVyKChlKSA9PiBlIGluc3RhbmNlb2YgUm91dGVyRXZlbnQpKVxuICAgICAgLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkge1xuICAgICAgICAgIHRoaXMuc2hvd0lucHV0VmFsdWUoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICB0aGlzLmFwcEhvb2tTZXJ2aWNlLmxpYnJhcnk0MDBFcnJvci5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5oYXM0MDBMaWJyYXJ5RXJyb3IgPSB0cnVlO1xuICAgIH0pO1xuICB9XG5cbiAgZXhpdFNlYXJjaCgpIHtcbiAgICB0aGlzLnNlYXJjaElucHV0U2VydmljZS5uYXZpZ2F0ZUJhY2soKTtcbiAgfVxuXG4gIHNob3dJbnB1dFZhbHVlKCkge1xuICAgIHRoaXMuYXBwU2VydmljZS5hcHBOYXZOYXJNb2RlJC5uZXh0KCdjb2xsYXBzZWQnKTtcbiAgICB0aGlzLmhhczQwMExpYnJhcnlFcnJvciA9IGZhbHNlO1xuICAgIHRoaXMuc2VhcmNoZWRXb3JkID0gdGhpcy5nZXRVcmxTZWFyY2hUZXJtKCk7XG5cbiAgICBpZiAodGhpcy5zZWFyY2hJbnB1dENvbnRyb2wpIHtcbiAgICAgIHRoaXMuc2VhcmNoSW5wdXRDb250cm9sLnNlYXJjaFRlcm0gPSB0aGlzLnNlYXJjaGVkV29yZDtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmFwcFNlcnZpY2UuYXBwTmF2TmFyTW9kZSQubmV4dCgnZXhwYW5kZWQnKTtcbiAgICB0aGlzLm9uRGVzdHJveSQubmV4dCh0cnVlKTtcbiAgICB0aGlzLm9uRGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB0aGlzLnJlbW92ZUNvbnRlbnRGaWx0ZXJzKCk7XG4gIH1cblxuICBvbk1lbnVPcGVuZWQoKSB7XG4gICAgaWYgKHRoaXMuc2VhcmNoSW5wdXRDb250cm9sKSB7XG4gICAgICB0aGlzLnNlYXJjaElucHV0Q29udHJvbC5zZWFyY2hJbnB1dD8ubmF0aXZlRWxlbWVudD8uZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gdGhlIHVzZXIgc3VibWl0cyB0aGUgc2VhcmNoLCBlLmcuIGhpdHMgZW50ZXIgb3IgY2xpY2tzIHN1Ym1pdFxuICAgKlxuICAgKiBAcGFyYW0gZXZlbnQgUGFyYW1ldGVycyByZWxhdGluZyB0byB0aGUgc2VhcmNoXG4gICAqL1xuICBvblNlYXJjaFN1Ym1pdChldmVudDogYW55KSB7XG4gICAgY29uc3Qgc2VhcmNoVGVybSA9IGV2ZW50LnRhcmdldCA/IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWUgOiBldmVudDtcbiAgICBpZiAoc2VhcmNoVGVybSkge1xuICAgICAgdGhpcy5zZWFyY2hlZFdvcmQgPSBzZWFyY2hUZXJtO1xuXG4gICAgICB0aGlzLnNlYXJjaEJ5T3B0aW9uKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IFNuYWNrYmFyRXJyb3JBY3Rpb24oJ0FQUC5CUk9XU0UuU0VBUkNILkVNUFRZX1NFQVJDSCcpKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy50cmlnZ2VyKSB7XG4gICAgICB0aGlzLnRyaWdnZXIuY2xvc2VNZW51KCk7XG4gICAgfVxuICB9XG5cbiAgb25TZWFyY2hDaGFuZ2Uoc2VhcmNoVGVybTogc3RyaW5nKSB7XG4gICAgaWYgKCF0aGlzLnNlYXJjaE9uQ2hhbmdlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5oYXM0MDBMaWJyYXJ5RXJyb3IgPSBmYWxzZTtcbiAgICB0aGlzLnNlYXJjaGVkV29yZCA9IHNlYXJjaFRlcm07XG5cbiAgICBpZiAodGhpcy5oYXNPbmVDaGFuZ2UpIHtcbiAgICAgIHRoaXMuaGFzTmV3Q2hhbmdlID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5oYXNPbmVDaGFuZ2UgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmhhc05ld0NoYW5nZSkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMubmF2aWdhdGlvblRpbWVyKTtcbiAgICAgIHRoaXMuaGFzTmV3Q2hhbmdlID0gZmFsc2U7XG4gICAgfVxuXG4gICAgdGhpcy5uYXZpZ2F0aW9uVGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmIChzZWFyY2hUZXJtKSB7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IFNlYXJjaEJ5VGVybUFjdGlvbihzZWFyY2hUZXJtLCB0aGlzLnNlYXJjaE9wdGlvbnMpKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuaGFzT25lQ2hhbmdlID0gZmFsc2U7XG4gICAgfSwgMTAwMCk7XG4gIH1cblxuICBzZWFyY2hCeU9wdGlvbigpIHtcbiAgICB0aGlzLnN5bmNJbnB1dFZhbHVlcygpO1xuICAgIHRoaXMuaGFzNDAwTGlicmFyeUVycm9yID0gZmFsc2U7XG4gICAgaWYgKHRoaXMuaXNMaWJyYXJpZXNDaGVja2VkKCkpIHtcbiAgICAgIGlmICh0aGlzLm9uTGlicmFyaWVzU2VhcmNoUmVzdWx0cyAmJiB0aGlzLmlzU2FtZVNlYXJjaFRlcm0oKSkge1xuICAgICAgICB0aGlzLnF1ZXJ5TGlicmFyaWVzQnVpbGRlci51cGRhdGUoKTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5zZWFyY2hlZFdvcmQpIHtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgU2VhcmNoQnlUZXJtQWN0aW9uKHRoaXMuc2VhcmNoZWRXb3JkLCB0aGlzLnNlYXJjaE9wdGlvbnMpKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMuaXNGb2xkZXJzQ2hlY2tlZCgpICYmICF0aGlzLmlzRmlsZXNDaGVja2VkKCkpIHtcbiAgICAgICAgdGhpcy5maWx0ZXJDb250ZW50KFNlYXJjaE9wdGlvbklkcy5Gb2xkZXJzKTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5pc0ZpbGVzQ2hlY2tlZCgpICYmICF0aGlzLmlzRm9sZGVyc0NoZWNrZWQoKSkge1xuICAgICAgICB0aGlzLmZpbHRlckNvbnRlbnQoU2VhcmNoT3B0aW9uSWRzLkZpbGVzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucmVtb3ZlQ29udGVudEZpbHRlcnMoKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMub25TZWFyY2hSZXN1bHRzICYmIHRoaXMuaXNTYW1lU2VhcmNoVGVybSgpKSB7XG4gICAgICAgIHRoaXMucXVlcnlCdWlsZGVyLnVwZGF0ZSgpO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLnNlYXJjaGVkV29yZCkge1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBTZWFyY2hCeVRlcm1BY3Rpb24odGhpcy5zZWFyY2hlZFdvcmQsIHRoaXMuc2VhcmNoT3B0aW9ucykpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldCBvbkxpYnJhcmllc1NlYXJjaFJlc3VsdHMoKSB7XG4gICAgcmV0dXJuIHRoaXMucm91dGVyLnVybC5pbmRleE9mKCcvc2VhcmNoLWxpYnJhcmllcycpID09PSAwO1xuICB9XG5cbiAgZ2V0IG9uU2VhcmNoUmVzdWx0cygpIHtcbiAgICByZXR1cm4gIXRoaXMub25MaWJyYXJpZXNTZWFyY2hSZXN1bHRzICYmIHRoaXMucm91dGVyLnVybC5pbmRleE9mKCcvc2VhcmNoJykgPT09IDA7XG4gIH1cblxuICBpc0ZpbGVzQ2hlY2tlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc09wdGlvbkNoZWNrZWQoU2VhcmNoT3B0aW9uSWRzLkZpbGVzKTtcbiAgfVxuXG4gIGlzRm9sZGVyc0NoZWNrZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNPcHRpb25DaGVja2VkKFNlYXJjaE9wdGlvbklkcy5Gb2xkZXJzKTtcbiAgfVxuXG4gIGlzTGlicmFyaWVzQ2hlY2tlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc09wdGlvbkNoZWNrZWQoU2VhcmNoT3B0aW9uSWRzLkxpYnJhcmllcyk7XG4gIH1cblxuICBpc09wdGlvbkNoZWNrZWQob3B0aW9uSWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGxpYkl0ZW0gPSB0aGlzLnNlYXJjaE9wdGlvbnMuZmluZCgoaXRlbSkgPT4gaXRlbS5pZCA9PT0gb3B0aW9uSWQpO1xuICAgIHJldHVybiAhIWxpYkl0ZW0gJiYgbGliSXRlbS52YWx1ZTtcbiAgfVxuXG4gIGlzQ29udGVudENoZWNrZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNGaWxlc0NoZWNrZWQoKSB8fCB0aGlzLmlzRm9sZGVyc0NoZWNrZWQoKTtcbiAgfVxuXG4gIGhhc0xpYnJhcnlDb25zdHJhaW50KCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmlzTGlicmFyaWVzQ2hlY2tlZCgpKSB7XG4gICAgICByZXR1cm4gdGhpcy5oYXM0MDBMaWJyYXJ5RXJyb3IgfHwgdGhpcy5zZWFyY2hJbnB1dENvbnRyb2wuaXNUZXJtVG9vU2hvcnQoKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgZmlsdGVyQ29udGVudChvcHRpb246IFNlYXJjaE9wdGlvbklkcy5Gb2xkZXJzIHwgU2VhcmNoT3B0aW9uSWRzLkZpbGVzKSB7XG4gICAgY29uc3Qgb3Bwb3NpdGVPcHRpb24gPSBvcHRpb24gPT09IFNlYXJjaE9wdGlvbklkcy5Gb2xkZXJzID8gU2VhcmNoT3B0aW9uSWRzLkZpbGVzIDogU2VhcmNoT3B0aW9uSWRzLkZvbGRlcnM7XG5cbiAgICB0aGlzLnF1ZXJ5QnVpbGRlci5hZGRGaWx0ZXJRdWVyeShgK1RZUEU6J2NtOiR7b3B0aW9ufSdgKTtcbiAgICB0aGlzLnF1ZXJ5QnVpbGRlci5yZW1vdmVGaWx0ZXJRdWVyeShgK1RZUEU6J2NtOiR7b3Bwb3NpdGVPcHRpb259J2ApO1xuICB9XG5cbiAgcmVtb3ZlQ29udGVudEZpbHRlcnMoKSB7XG4gICAgdGhpcy5xdWVyeUJ1aWxkZXIucmVtb3ZlRmlsdGVyUXVlcnkoYCtUWVBFOidjbToke1NlYXJjaE9wdGlvbklkcy5GaWxlc30nYCk7XG4gICAgdGhpcy5xdWVyeUJ1aWxkZXIucmVtb3ZlRmlsdGVyUXVlcnkoYCtUWVBFOidjbToke1NlYXJjaE9wdGlvbklkcy5Gb2xkZXJzfSdgKTtcbiAgfVxuXG4gIHN5bmNJbnB1dFZhbHVlcygpIHtcbiAgICBpZiAodGhpcy5zZWFyY2hJbnB1dENvbnRyb2wuc2VhcmNoVGVybSAhPT0gdGhpcy5zZWFyY2hlZFdvcmQpIHtcbiAgICAgIGlmICh0aGlzLnNlYXJjaElucHV0Q29udHJvbC5zZWFyY2hUZXJtKSB7XG4gICAgICAgIHRoaXMuc2VhcmNoZWRXb3JkID0gdGhpcy5zZWFyY2hJbnB1dENvbnRyb2wuc2VhcmNoVGVybTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2VhcmNoSW5wdXRDb250cm9sLnNlYXJjaFRlcm0gPSB0aGlzLnNlYXJjaGVkV29yZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXRVcmxTZWFyY2hUZXJtKCk6IHN0cmluZyB7XG4gICAgbGV0IHNlYXJjaFRlcm0gPSAnJztcbiAgICBpZiAodGhpcy5vblNlYXJjaFJlc3VsdHMgfHwgdGhpcy5vbkxpYnJhcmllc1NlYXJjaFJlc3VsdHMpIHtcbiAgICAgIGNvbnN0IHVybFRyZWU6IFVybFRyZWUgPSB0aGlzLnJvdXRlci5wYXJzZVVybCh0aGlzLnJvdXRlci51cmwpO1xuICAgICAgY29uc3QgdXJsU2VnbWVudEdyb3VwOiBVcmxTZWdtZW50R3JvdXAgPSB1cmxUcmVlLnJvb3QuY2hpbGRyZW5bUFJJTUFSWV9PVVRMRVRdO1xuXG4gICAgICBpZiAodXJsU2VnbWVudEdyb3VwKSB7XG4gICAgICAgIGNvbnN0IHVybFNlZ21lbnRzOiBVcmxTZWdtZW50W10gPSB1cmxTZWdtZW50R3JvdXAuc2VnbWVudHM7XG4gICAgICAgIHNlYXJjaFRlcm0gPSB1cmxTZWdtZW50c1swXS5wYXJhbWV0ZXJzWydxJ10gPyBkZWNvZGVVUklDb21wb25lbnQodXJsU2VnbWVudHNbMF0ucGFyYW1ldGVyc1sncSddKSA6ICcnO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBzZWFyY2hUZXJtO1xuICB9XG5cbiAgaXNTYW1lU2VhcmNoVGVybSgpOiBib29sZWFuIHtcbiAgICBjb25zdCB1cmxTZWFyY2hUZXJtID0gdGhpcy5nZXRVcmxTZWFyY2hUZXJtKCk7XG4gICAgcmV0dXJuIHRoaXMuc2VhcmNoZWRXb3JkID09PSB1cmxTZWFyY2hUZXJtO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYXBwLXNlYXJjaC1jb250YWluZXIgc2VhcmNoTWVudVRyaWdnZXJcIlxuICBbbWF0TWVudVRyaWdnZXJGb3JdPVwic2VhcmNoT3B0aW9uc01lbnVcIlxuICAobWVudU9wZW5lZCk9XCJvbk1lbnVPcGVuZWQoKVwiXG4gIChtZW51Q2xvc2VkKT1cInN5bmNJbnB1dFZhbHVlcygpXCJcbj5cblxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBjbGFzcz1cImFwcC1zZWFyY2gtYnV0dG9uXCIgKGNsaWNrKT1cInNlYXJjaEJ5T3B0aW9uKClcIiBbdGl0bGVdPVwiJ1NFQVJDSC5CVVRUT04uVE9PTFRJUCcgfCB0cmFuc2xhdGVcIj5cbiAgICA8bWF0LWljb24gW2F0dHIuYXJpYS1sYWJlbF09XCInU0VBUkNILkJVVFRPTi5BUklBLUxBQkVMJyB8IHRyYW5zbGF0ZVwiPnNlYXJjaDwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJhcHAtaW5wdXQtZm9ybS1maWVsZFwiIFtmbG9hdExhYmVsXT1cIiduZXZlcidcIj5cbiAgICA8aW5wdXRcbiAgICAgIG1hdElucHV0XG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidTRUFSQ0guSU5QVVQuQVJJQS1MQUJFTCcgfCB0cmFuc2xhdGVcIlxuICAgICAgW3R5cGVdPVwiJ3RleHQnXCJcbiAgICAgIFtkaXNhYmxlZF09XCJ0cnVlXCJcbiAgICAgIFt2YWx1ZV09XCJzZWFyY2hlZFdvcmRcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cIidTRUFSQ0guSU5QVVQuUExBQ0VIT0xERVInIHwgdHJhbnNsYXRlXCJcbiAgICAvPlxuXG4gICAgPGRpdiBtYXRTdWZmaXggY2xhc3M9XCJhcHAtc3VmZml4LXNlYXJjaC1pY29uLXdyYXBwZXJcIj5cbiAgICAgIDxtYXQtaWNvbj5hcnJvd19kcm9wX2Rvd248L21hdC1pY29uPlxuICAgIDwvZGl2PlxuXG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gbWF0U3VmZml4IGNsYXNzPVwiYXBwLXN1ZmZpeC1zZWFyY2gtaWNvbi13cmFwcGVyIGFwcC1jbG9zZS1pY29uXCIgKGNsaWNrKT1cImV4aXRTZWFyY2goKVwiPlxuICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbjwvZGl2PlxuXG48bWF0LW1lbnUgI3NlYXJjaE9wdGlvbnNNZW51PVwibWF0TWVudVwiIFtvdmVybGFwVHJpZ2dlcl09XCJ0cnVlXCIgY2xhc3M9XCJhcHAtc2VhcmNoLW9wdGlvbnMtbWVudVwiPlxuICA8ZGl2IChrZXlkb3duLnRhYik9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIiAoa2V5ZG93bi5zaGlmdC50YWIpPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XG4gICAgPGRpdiBjZGtUcmFwRm9jdXM+XG4gICAgICA8YXBwLXNlYXJjaC1pbnB1dC1jb250cm9sXG4gICAgICAgICNzZWFyY2hJbnB1dENvbnRyb2xcbiAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgIChzdWJtaXQpPVwib25TZWFyY2hTdWJtaXQoJGV2ZW50KVwiXG4gICAgICAgIChzZWFyY2hDaGFuZ2UpPVwib25TZWFyY2hDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICA8L2FwcC1zZWFyY2gtaW5wdXQtY29udHJvbD5cbiAgICAgIDxtYXQtaGludCAqbmdJZj1cImhhc0xpYnJhcnlDb25zdHJhaW50KClcIiBjbGFzcz1cImFwcC1zZWFyY2gtaGludFwiPnt7ICdTRUFSQ0guSU5QVVQuSElOVCcgfCB0cmFuc2xhdGUgfX08L21hdC1oaW50PlxuXG4gICAgICA8ZGl2IGlkPVwic2VhcmNoLW9wdGlvbnNcIj5cbiAgICAgICAgPG1hdC1jaGVja2JveFxuICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygc2VhcmNoT3B0aW9uc1wiXG4gICAgICAgICAgaWQ9XCJ7eyBvcHRpb24uaWQgfX1cIlxuICAgICAgICAgIFsobmdNb2RlbCldPVwib3B0aW9uLnZhbHVlXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwib3B0aW9uLnNob3VsZERpc2FibGUoKVwiXG4gICAgICAgICAgKGNoYW5nZSk9XCJzZWFyY2hCeU9wdGlvbigpXCJcbiAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IG9wdGlvbi5rZXkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9tYXQtY2hlY2tib3g+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L21hdC1tZW51PlxuIl19
280
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2gvc2VhcmNoLWlucHV0L3NlYXJjaC1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2EtY29udGVudC9zcmMvbGliL2NvbXBvbmVudHMvc2VhcmNoL3NlYXJjaC1pbnB1dC9zZWFyY2gtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFFSCxPQUFPLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xFLE9BQU8sRUFBWSxrQkFBa0IsRUFBRSxlQUFlLEVBQXFCLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkksT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLFNBQVMsRUFBcUIsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUF3QyxNQUFNLGlCQUFpQixDQUFDO0FBQzNILE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSwy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SUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMvRCxNQUFNLGVBQWUsR0FBb0IsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUM7WUFFL0UsSUFBSSxlQUFlLEVBQUU7Z0JBQ25CLE1BQU0sV0FBVyxHQUFpQixlQUFlLENBQUMsUUFBUSxDQUFDO2dCQUMzRCxVQUFVLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7YUFDdkc7U0FDRjtRQUVELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUM5QyxPQUFPLElBQUksQ0FBQyxZQUFZLEtBQUssYUFBYSxDQUFDO0lBQzdDLENBQUM7O2lIQXZQVSxvQkFBb0I7cUdBQXBCLG9CQUFvQix3UUFrQ3BCLGNBQWMsOERDL0UzQixpbEVBd0RBOzJGRFhhLG9CQUFvQjtrQkFQaEMsU0FBUzsrQkFDRSxrQkFBa0IsaUJBR2IsaUJBQWlCLENBQUMsSUFBSSxRQUMvQixFQUFFLEtBQUssRUFBRSxrQkFBa0IsRUFBRTtxVUFrQ25DLGtCQUFrQjtzQkFEakIsU0FBUzt1QkFBQyxvQkFBb0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSWpELE9BQU87c0JBRE4sU0FBUzt1QkFBQyxjQUFjLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDIzIEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uXG4gKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbi5cbiAqIElmIHRoZSBzb2Z0d2FyZSB3YXMgcHVyY2hhc2VkIHVuZGVyIGEgcGFpZCBBbGZyZXNjbyBsaWNlbnNlLCB0aGUgdGVybXMgb2ZcbiAqIHRoZSBwYWlkIGxpY2Vuc2UgYWdyZWVtZW50IHdpbGwgcHJldmFpbC4gT3RoZXJ3aXNlLCB0aGUgc29mdHdhcmUgaXNcbiAqIHByb3ZpZGVkIHVuZGVyIHRoZSBmb2xsb3dpbmcgb3BlbiBzb3VyY2UgbGljZW5zZSB0ZXJtczpcbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZVxuICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBmcm9tIEh5bGFuZCBTb2Z0d2FyZS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICovXG5cbmltcG9ydCB7IEFwcEhvb2tTZXJ2aWNlLCBBcHBTZXJ2aWNlIH0gZnJvbSAnQGFsZnJlc2NvL2FjYS1zaGFyZWQnO1xuaW1wb3J0IHsgQXBwU3RvcmUsIFNlYXJjaEJ5VGVybUFjdGlvbiwgU2VhcmNoT3B0aW9uSWRzLCBTZWFyY2hPcHRpb25Nb2RlbCwgU25hY2tiYXJFcnJvckFjdGlvbiB9IGZyb20gJ0BhbGZyZXNjby9hY2Etc2hhcmVkL3N0b3JlJztcbmltcG9ydCB7IFNlYXJjaFF1ZXJ5QnVpbGRlclNlcnZpY2UgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvbnRlbnQtc2VydmljZXMnO1xuaW1wb3J0IHsgQXBwQ29uZmlnU2VydmljZSB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRNZW51VHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUFJJTUFSWV9PVVRMRVQsIFJvdXRlciwgUm91dGVyRXZlbnQsIFVybFNlZ21lbnQsIFVybFNlZ21lbnRHcm91cCwgVXJsVHJlZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgU2VhcmNoSW5wdXRDb250cm9sQ29tcG9uZW50IH0gZnJvbSAnLi4vc2VhcmNoLWlucHV0LWNvbnRyb2wvc2VhcmNoLWlucHV0LWNvbnRyb2wuY29tcG9uZW50JztcbmltcG9ydCB7IFNlYXJjaE5hdmlnYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2VhcmNoLW5hdmlnYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBTZWFyY2hMaWJyYXJpZXNRdWVyeUJ1aWxkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2VhcmNoLWxpYnJhcmllcy1yZXN1bHRzL3NlYXJjaC1saWJyYXJpZXMtcXVlcnktYnVpbGRlci5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWNhLXNlYXJjaC1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDogeyBjbGFzczogJ2FjYS1zZWFyY2gtaW5wdXQnIH1cbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIG9uRGVzdHJveSQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICBoYXNPbmVDaGFuZ2UgPSBmYWxzZTtcbiAgaGFzTmV3Q2hhbmdlID0gZmFsc2U7XG4gIG5hdmlnYXRpb25UaW1lcjogYW55O1xuICBoYXM0MDBMaWJyYXJ5RXJyb3IgPSBmYWxzZTtcbiAgaGFzTGlicmFyaWVzQ29uc3RyYWludCA9IGZhbHNlO1xuICBzZWFyY2hPbkNoYW5nZTogYm9vbGVhbjtcblxuICBzZWFyY2hlZFdvcmQ6IHN0cmluZyA9IG51bGw7XG4gIHNlYXJjaE9wdGlvbnM6IEFycmF5PFNlYXJjaE9wdGlvbk1vZGVsPiA9IFtcbiAgICB7XG4gICAgICBpZDogU2VhcmNoT3B0aW9uSWRzLkZpbGVzLFxuICAgICAga2V5OiAnU0VBUkNILklOUFVULkZJTEVTJyxcbiAgICAgIHZhbHVlOiBmYWxzZSxcbiAgICAgIHNob3VsZERpc2FibGU6IHRoaXMuaXNMaWJyYXJpZXNDaGVja2VkLmJpbmQodGhpcylcbiAgICB9LFxuICAgIHtcbiAgICAgIGlkOiBTZWFyY2hPcHRpb25JZHMuRm9sZGVycyxcbiAgICAgIGtleTogJ1NFQVJDSC5JTlBVVC5GT0xERVJTJyxcbiAgICAgIHZhbHVlOiBmYWxzZSxcbiAgICAgIHNob3VsZERpc2FibGU6IHRoaXMuaXNMaWJyYXJpZXNDaGVja2VkLmJpbmQodGhpcylcbiAgICB9LFxuICAgIHtcbiAgICAgIGlkOiBTZWFyY2hPcHRpb25JZHMuTGlicmFyaWVzLFxuICAgICAga2V5OiAnU0VBUkNILklOUFVULkxJQlJBUklFUycsXG4gICAgICB2YWx1ZTogZmFsc2UsXG4gICAgICBzaG91bGREaXNhYmxlOiB0aGlzLmlzQ29udGVudENoZWNrZWQuYmluZCh0aGlzKVxuICAgIH1cbiAgXTtcblxuICBAVmlld0NoaWxkKCdzZWFyY2hJbnB1dENvbnRyb2wnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBzZWFyY2hJbnB1dENvbnRyb2w6IFNlYXJjaElucHV0Q29udHJvbENvbXBvbmVudDtcblxuICBAVmlld0NoaWxkKE1hdE1lbnVUcmlnZ2VyLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICB0cmlnZ2VyOiBNYXRNZW51VHJpZ2dlcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHF1ZXJ5QnVpbGRlcjogU2VhcmNoUXVlcnlCdWlsZGVyU2VydmljZSxcbiAgICBwcml2YXRlIHF1ZXJ5TGlicmFyaWVzQnVpbGRlcjogU2VhcmNoTGlicmFyaWVzUXVlcnlCdWlsZGVyU2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZzogQXBwQ29uZmlnU2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlPEFwcFN0b3JlPixcbiAgICBwcml2YXRlIGFwcEhvb2tTZXJ2aWNlOiBBcHBIb29rU2VydmljZSxcbiAgICBwcml2YXRlIGFwcFNlcnZpY2U6IEFwcFNlcnZpY2UsXG4gICAgcHVibGljIHNlYXJjaElucHV0U2VydmljZTogU2VhcmNoTmF2aWdhdGlvblNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5zZWFyY2hPbkNoYW5nZSA9IHRoaXMuY29uZmlnLmdldDxib29sZWFuPignc2VhcmNoLmFjYTp0cmlnZ2VyZWRPbkNoYW5nZScsIHRydWUpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zaG93SW5wdXRWYWx1ZSgpO1xuXG4gICAgdGhpcy5yb3V0ZXIuZXZlbnRzXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkKSlcbiAgICAgIC5waXBlKGZpbHRlcigoZSkgPT4gZSBpbnN0YW5jZW9mIFJvdXRlckV2ZW50KSlcbiAgICAgIC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpIHtcbiAgICAgICAgICB0aGlzLnNob3dJbnB1dFZhbHVlKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgdGhpcy5hcHBIb29rU2VydmljZS5saWJyYXJ5NDAwRXJyb3IucGlwZSh0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuaGFzNDAwTGlicmFyeUVycm9yID0gdHJ1ZTtcbiAgICAgIHRoaXMuaGFzTGlicmFyaWVzQ29uc3RyYWludCA9IHRoaXMuZXZhbHVhdGVMaWJyYXJpZXNDb25zdHJhaW50KCk7XG4gICAgfSk7XG4gIH1cblxuICBleGl0U2VhcmNoKCkge1xuICAgIHRoaXMuc2VhcmNoSW5wdXRTZXJ2aWNlLm5hdmlnYXRlQmFjaygpO1xuICB9XG5cbiAgc2hvd0lucHV0VmFsdWUoKSB7XG4gICAgdGhpcy5hcHBTZXJ2aWNlLmFwcE5hdk5hck1vZGUkLm5leHQoJ2NvbGxhcHNlZCcpO1xuICAgIHRoaXMuaGFzNDAwTGlicmFyeUVycm9yID0gZmFsc2U7XG4gICAgdGhpcy5oYXNMaWJyYXJpZXNDb25zdHJhaW50ID0gdGhpcy5ldmFsdWF0ZUxpYnJhcmllc0NvbnN0cmFpbnQoKTtcbiAgICB0aGlzLnNlYXJjaGVkV29yZCA9IHRoaXMuZ2V0VXJsU2VhcmNoVGVybSgpO1xuXG4gICAgaWYgKHRoaXMuc2VhcmNoSW5wdXRDb250cm9sKSB7XG4gICAgICB0aGlzLnNlYXJjaElucHV0Q29udHJvbC5zZWFyY2hUZXJtID0gdGhpcy5zZWFyY2hlZFdvcmQ7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5hcHBTZXJ2aWNlLmFwcE5hdk5hck1vZGUkLm5leHQoJ2V4cGFuZGVkJyk7XG4gICAgdGhpcy5vbkRlc3Ryb3kkLm5leHQodHJ1ZSk7XG4gICAgdGhpcy5vbkRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5yZW1vdmVDb250ZW50RmlsdGVycygpO1xuICB9XG5cbiAgb25NZW51T3BlbmVkKCkge1xuICAgIGlmICh0aGlzLnNlYXJjaElucHV0Q29udHJvbCkge1xuICAgICAgdGhpcy5zZWFyY2hJbnB1dENvbnRyb2wuc2VhcmNoSW5wdXQ/Lm5hdGl2ZUVsZW1lbnQ/LmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSB1c2VyIHN1Ym1pdHMgdGhlIHNlYXJjaCwgZS5nLiBoaXRzIGVudGVyIG9yIGNsaWNrcyBzdWJtaXRcbiAgICpcbiAgICogQHBhcmFtIGV2ZW50IFBhcmFtZXRlcnMgcmVsYXRpbmcgdG8gdGhlIHNlYXJjaFxuICAgKi9cbiAgb25TZWFyY2hTdWJtaXQoZXZlbnQ6IGFueSkge1xuICAgIGNvbnN0IHNlYXJjaFRlcm0gPSBldmVudC50YXJnZXQgPyAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlIDogZXZlbnQ7XG4gICAgaWYgKHNlYXJjaFRlcm0pIHtcbiAgICAgIHRoaXMuc2VhcmNoZWRXb3JkID0gc2VhcmNoVGVybTtcblxuICAgICAgdGhpcy5zZWFyY2hCeU9wdGlvbigpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBTbmFja2JhckVycm9yQWN0aW9uKCdBUFAuQlJPV1NFLlNFQVJDSC5FTVBUWV9TRUFSQ0gnKSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMudHJpZ2dlcikge1xuICAgICAgdGhpcy50cmlnZ2VyLmNsb3NlTWVudSgpO1xuICAgIH1cbiAgfVxuXG4gIG9uU2VhcmNoQ2hhbmdlKHNlYXJjaFRlcm06IHN0cmluZykge1xuICAgIGlmICghdGhpcy5zZWFyY2hPbkNoYW5nZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuaGFzNDAwTGlicmFyeUVycm9yID0gZmFsc2U7XG4gICAgdGhpcy5oYXNMaWJyYXJpZXNDb25zdHJhaW50ID0gdGhpcy5ldmFsdWF0ZUxpYnJhcmllc0NvbnN0cmFpbnQoKTtcbiAgICB0aGlzLnNlYXJjaGVkV29yZCA9IHNlYXJjaFRlcm07XG5cbiAgICBpZiAodGhpcy5oYXNPbmVDaGFuZ2UpIHtcbiAgICAgIHRoaXMuaGFzTmV3Q2hhbmdlID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5oYXNPbmVDaGFuZ2UgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmhhc05ld0NoYW5nZSkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMubmF2aWdhdGlvblRpbWVyKTtcbiAgICAgIHRoaXMuaGFzTmV3Q2hhbmdlID0gZmFsc2U7XG4gICAgfVxuXG4gICAgdGhpcy5uYXZpZ2F0aW9uVGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmIChzZWFyY2hUZXJtKSB7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IFNlYXJjaEJ5VGVybUFjdGlvbihzZWFyY2hUZXJtLCB0aGlzLnNlYXJjaE9wdGlvbnMpKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuaGFzT25lQ2hhbmdlID0gZmFsc2U7XG4gICAgfSwgMTAwMCk7XG4gIH1cblxuICBzZWFyY2hCeU9wdGlvbigpIHtcbiAgICB0aGlzLnN5bmNJbnB1dFZhbHVlcygpO1xuICAgIHRoaXMuaGFzNDAwTGlicmFyeUVycm9yID0gZmFsc2U7XG4gICAgaWYgKHRoaXMuaXNMaWJyYXJpZXNDaGVja2VkKCkpIHtcbiAgICAgIHRoaXMuaGFzTGlicmFyaWVzQ29uc3RyYWludCA9IHRoaXMuZXZhbHVhdGVMaWJyYXJpZXNDb25zdHJhaW50KCk7XG4gICAgICBpZiAodGhpcy5vbkxpYnJhcmllc1NlYXJjaFJlc3VsdHMgJiYgdGhpcy5pc1NhbWVTZWFyY2hUZXJtKCkpIHtcbiAgICAgICAgdGhpcy5xdWVyeUxpYnJhcmllc0J1aWxkZXIudXBkYXRlKCk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuc2VhcmNoZWRXb3JkKSB7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IFNlYXJjaEJ5VGVybUFjdGlvbih0aGlzLnNlYXJjaGVkV29yZCwgdGhpcy5zZWFyY2hPcHRpb25zKSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLmlzRm9sZGVyc0NoZWNrZWQoKSAmJiAhdGhpcy5pc0ZpbGVzQ2hlY2tlZCgpKSB7XG4gICAgICAgIHRoaXMuZmlsdGVyQ29udGVudChTZWFyY2hPcHRpb25JZHMuRm9sZGVycyk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuaXNGaWxlc0NoZWNrZWQoKSAmJiAhdGhpcy5pc0ZvbGRlcnNDaGVja2VkKCkpIHtcbiAgICAgICAgdGhpcy5maWx0ZXJDb250ZW50KFNlYXJjaE9wdGlvbklkcy5GaWxlcyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnJlbW92ZUNvbnRlbnRGaWx0ZXJzKCk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLm9uU2VhcmNoUmVzdWx0cyAmJiB0aGlzLmlzU2FtZVNlYXJjaFRlcm0oKSkge1xuICAgICAgICB0aGlzLnF1ZXJ5QnVpbGRlci51cGRhdGUoKTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5zZWFyY2hlZFdvcmQpIHtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgU2VhcmNoQnlUZXJtQWN0aW9uKHRoaXMuc2VhcmNoZWRXb3JkLCB0aGlzLnNlYXJjaE9wdGlvbnMpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXQgb25MaWJyYXJpZXNTZWFyY2hSZXN1bHRzKCkge1xuICAgIHJldHVybiB0aGlzLnJvdXRlci51cmwuaW5kZXhPZignL3NlYXJjaC1saWJyYXJpZXMnKSA9PT0gMDtcbiAgfVxuXG4gIGdldCBvblNlYXJjaFJlc3VsdHMoKSB7XG4gICAgcmV0dXJuICF0aGlzLm9uTGlicmFyaWVzU2VhcmNoUmVzdWx0cyAmJiB0aGlzLnJvdXRlci51cmwuaW5kZXhPZignL3NlYXJjaCcpID09PSAwO1xuICB9XG5cbiAgaXNGaWxlc0NoZWNrZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNPcHRpb25DaGVja2VkKFNlYXJjaE9wdGlvbklkcy5GaWxlcyk7XG4gIH1cblxuICBpc0ZvbGRlcnNDaGVja2VkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzT3B0aW9uQ2hlY2tlZChTZWFyY2hPcHRpb25JZHMuRm9sZGVycyk7XG4gIH1cblxuICBpc0xpYnJhcmllc0NoZWNrZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNPcHRpb25DaGVja2VkKFNlYXJjaE9wdGlvbklkcy5MaWJyYXJpZXMpO1xuICB9XG5cbiAgaXNPcHRpb25DaGVja2VkKG9wdGlvbklkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBsaWJJdGVtID0gdGhpcy5zZWFyY2hPcHRpb25zLmZpbmQoKGl0ZW0pID0+IGl0ZW0uaWQgPT09IG9wdGlvbklkKTtcbiAgICByZXR1cm4gISFsaWJJdGVtICYmIGxpYkl0ZW0udmFsdWU7XG4gIH1cblxuICBpc0NvbnRlbnRDaGVja2VkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzRmlsZXNDaGVja2VkKCkgfHwgdGhpcy5pc0ZvbGRlcnNDaGVja2VkKCk7XG4gIH1cblxuICBldmFsdWF0ZUxpYnJhcmllc0NvbnN0cmFpbnQoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuaXNMaWJyYXJpZXNDaGVja2VkKCkpIHtcbiAgICAgIHJldHVybiB0aGlzLmhhczQwMExpYnJhcnlFcnJvciB8fCB0aGlzLnNlYXJjaElucHV0Q29udHJvbC5pc1Rlcm1Ub29TaG9ydCgpO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBmaWx0ZXJDb250ZW50KG9wdGlvbjogU2VhcmNoT3B0aW9uSWRzLkZvbGRlcnMgfCBTZWFyY2hPcHRpb25JZHMuRmlsZXMpIHtcbiAgICBjb25zdCBvcHBvc2l0ZU9wdGlvbiA9IG9wdGlvbiA9PT0gU2VhcmNoT3B0aW9uSWRzLkZvbGRlcnMgPyBTZWFyY2hPcHRpb25JZHMuRmlsZXMgOiBTZWFyY2hPcHRpb25JZHMuRm9sZGVycztcblxuICAgIHRoaXMucXVlcnlCdWlsZGVyLmFkZEZpbHRlclF1ZXJ5KGArVFlQRTonY206JHtvcHRpb259J2ApO1xuICAgIHRoaXMucXVlcnlCdWlsZGVyLnJlbW92ZUZpbHRlclF1ZXJ5KGArVFlQRTonY206JHtvcHBvc2l0ZU9wdGlvbn0nYCk7XG4gIH1cblxuICByZW1vdmVDb250ZW50RmlsdGVycygpIHtcbiAgICB0aGlzLnF1ZXJ5QnVpbGRlci5yZW1vdmVGaWx0ZXJRdWVyeShgK1RZUEU6J2NtOiR7U2VhcmNoT3B0aW9uSWRzLkZpbGVzfSdgKTtcbiAgICB0aGlzLnF1ZXJ5QnVpbGRlci5yZW1vdmVGaWx0ZXJRdWVyeShgK1RZUEU6J2NtOiR7U2VhcmNoT3B0aW9uSWRzLkZvbGRlcnN9J2ApO1xuICB9XG5cbiAgc3luY0lucHV0VmFsdWVzKCkge1xuICAgIGlmICh0aGlzLnNlYXJjaElucHV0Q29udHJvbC5zZWFyY2hUZXJtICE9PSB0aGlzLnNlYXJjaGVkV29yZCkge1xuICAgICAgaWYgKHRoaXMuc2VhcmNoSW5wdXRDb250cm9sLnNlYXJjaFRlcm0pIHtcbiAgICAgICAgdGhpcy5zZWFyY2hlZFdvcmQgPSB0aGlzLnNlYXJjaElucHV0Q29udHJvbC5zZWFyY2hUZXJtO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZWFyY2hJbnB1dENvbnRyb2wuc2VhcmNoVGVybSA9IHRoaXMuc2VhcmNoZWRXb3JkO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldFVybFNlYXJjaFRlcm0oKTogc3RyaW5nIHtcbiAgICBsZXQgc2VhcmNoVGVybSA9ICcnO1xuICAgIGlmICh0aGlzLm9uU2VhcmNoUmVzdWx0cyB8fCB0aGlzLm9uTGlicmFyaWVzU2VhcmNoUmVzdWx0cykge1xuICAgICAgY29uc3QgdXJsVHJlZTogVXJsVHJlZSA9IHRoaXMucm91dGVyLnBhcnNlVXJsKHRoaXMucm91dGVyLnVybCk7XG4gICAgICBjb25zdCB1cmxTZWdtZW50R3JvdXA6IFVybFNlZ21lbnRHcm91cCA9IHVybFRyZWUucm9vdC5jaGlsZHJlbltQUklNQVJZX09VVExFVF07XG5cbiAgICAgIGlmICh1cmxTZWdtZW50R3JvdXApIHtcbiAgICAgICAgY29uc3QgdXJsU2VnbWVudHM6IFVybFNlZ21lbnRbXSA9IHVybFNlZ21lbnRHcm91cC5zZWdtZW50cztcbiAgICAgICAgc2VhcmNoVGVybSA9IHVybFNlZ21lbnRzWzBdLnBhcmFtZXRlcnNbJ3EnXSA/IGRlY29kZVVSSUNvbXBvbmVudCh1cmxTZWdtZW50c1swXS5wYXJhbWV0ZXJzWydxJ10pIDogJyc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHNlYXJjaFRlcm07XG4gIH1cblxuICBpc1NhbWVTZWFyY2hUZXJtKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHVybFNlYXJjaFRlcm0gPSB0aGlzLmdldFVybFNlYXJjaFRlcm0oKTtcbiAgICByZXR1cm4gdGhpcy5zZWFyY2hlZFdvcmQgPT09IHVybFNlYXJjaFRlcm07XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJhcHAtc2VhcmNoLWNvbnRhaW5lciBzZWFyY2hNZW51VHJpZ2dlclwiXG4gIFttYXRNZW51VHJpZ2dlckZvcl09XCJzZWFyY2hPcHRpb25zTWVudVwiXG4gIChtZW51T3BlbmVkKT1cIm9uTWVudU9wZW5lZCgpXCJcbiAgKG1lbnVDbG9zZWQpPVwic3luY0lucHV0VmFsdWVzKClcIlxuPlxuXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIGNsYXNzPVwiYXBwLXNlYXJjaC1idXR0b25cIiAoY2xpY2spPVwic2VhcmNoQnlPcHRpb24oKVwiIFt0aXRsZV09XCInU0VBUkNILkJVVFRPTi5UT09MVElQJyB8IHRyYW5zbGF0ZVwiPlxuICAgIDxtYXQtaWNvbiBbYXR0ci5hcmlhLWxhYmVsXT1cIidTRUFSQ0guQlVUVE9OLkFSSUEtTEFCRUwnIHwgdHJhbnNsYXRlXCI+c2VhcmNoPC9tYXQtaWNvbj5cbiAgPC9idXR0b24+XG4gIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImFwcC1pbnB1dC1mb3JtLWZpZWxkXCIgW2Zsb2F0TGFiZWxdPVwiJ25ldmVyJ1wiPlxuICAgIDxpbnB1dFxuICAgICAgbWF0SW5wdXRcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1NFQVJDSC5JTlBVVC5BUklBLUxBQkVMJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBbdHlwZV09XCIndGV4dCdcIlxuICAgICAgW2Rpc2FibGVkXT1cInRydWVcIlxuICAgICAgW3ZhbHVlXT1cInNlYXJjaGVkV29yZFwiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwiJ1NFQVJDSC5JTlBVVC5QTEFDRUhPTERFUicgfCB0cmFuc2xhdGVcIlxuICAgIC8+XG5cbiAgICA8ZGl2IG1hdFN1ZmZpeCBjbGFzcz1cImFwcC1zdWZmaXgtc2VhcmNoLWljb24td3JhcHBlclwiPlxuICAgICAgPG1hdC1pY29uPmFycm93X2Ryb3BfZG93bjwvbWF0LWljb24+XG4gICAgPC9kaXY+XG5cbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBtYXRTdWZmaXggY2xhc3M9XCJhcHAtc3VmZml4LXNlYXJjaC1pY29uLXdyYXBwZXIgYXBwLWNsb3NlLWljb25cIiAoY2xpY2spPVwiZXhpdFNlYXJjaCgpXCI+XG4gICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuPC9kaXY+XG5cbjxtYXQtbWVudSAjc2VhcmNoT3B0aW9uc01lbnU9XCJtYXRNZW51XCIgW292ZXJsYXBUcmlnZ2VyXT1cInRydWVcIiBjbGFzcz1cImFwcC1zZWFyY2gtb3B0aW9ucy1tZW51XCI+XG4gIDxkaXYgKGtleWRvd24udGFiKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiIChrZXlkb3duLnNoaWZ0LnRhYik9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIiB0YWJpbmRleD0wPlxuICAgIDxkaXYgY2RrVHJhcEZvY3VzPlxuICAgICAgPGFwcC1zZWFyY2gtaW5wdXQtY29udHJvbFxuICAgICAgICAjc2VhcmNoSW5wdXRDb250cm9sXG4gICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAoc3VibWl0KT1cIm9uU2VhcmNoU3VibWl0KCRldmVudClcIlxuICAgICAgICAoc2VhcmNoQ2hhbmdlKT1cIm9uU2VhcmNoQ2hhbmdlKCRldmVudClcIlxuICAgICAgPlxuICAgICAgPC9hcHAtc2VhcmNoLWlucHV0LWNvbnRyb2w+XG4gICAgICA8bWF0LWhpbnQgKm5nSWY9XCJoYXNMaWJyYXJpZXNDb25zdHJhaW50XCIgY2xhc3M9XCJhcHAtc2VhcmNoLWhpbnRcIj57eyAnU0VBUkNILklOUFVULkhJTlQnIHwgdHJhbnNsYXRlIH19PC9tYXQtaGludD5cblxuICAgICAgPGRpdiBpZD1cInNlYXJjaC1vcHRpb25zXCI+XG4gICAgICAgIDxtYXQtY2hlY2tib3hcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIHNlYXJjaE9wdGlvbnNcIlxuICAgICAgICAgIGlkPVwie3sgb3B0aW9uLmlkIH19XCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cIm9wdGlvbi52YWx1ZVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIm9wdGlvbi5zaG91bGREaXNhYmxlKClcIlxuICAgICAgICAgIChjaGFuZ2UpPVwic2VhcmNoQnlPcHRpb24oKVwiXG4gICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBvcHRpb24ua2V5IHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LWNoZWNrYm94PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9tYXQtbWVudT5cbiJdfQ==
@@ -67,11 +67,11 @@ export class SearchInputControlComponent {
67
67
  return !!(this.searchTerm && this.searchTerm.length < 2);
68
68
  }
69
69
  }
70
- SearchInputControlComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: SearchInputControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
71
- SearchInputControlComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: SearchInputControlComponent, selector: "app-search-input-control", inputs: { inputType: "inputType" }, outputs: { submit: "submit", searchChange: "searchChange" }, host: { classAttribute: "app-search-control" }, viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"app-search-container\">\n <button\n mat-icon-button\n id=\"app-search-button\"\n class=\"app-search-button\"\n (click)=\"searchSubmit(searchTerm)\"\n [title]=\"'SEARCH.BUTTON.TOOLTIP' | translate\"\n >\n <mat-icon [attr.aria-label]=\"'SEARCH.BUTTON.ARIA-LABEL' | translate\">search</mat-icon>\n </button>\n <mat-form-field class=\"app-input-form-field\" [floatLabel]=\"'never'\">\n <input\n matInput\n #searchInput\n [attr.aria-label]=\"'SEARCH.INPUT.ARIA-LABEL' | translate\"\n [type]=\"inputType\"\n id=\"app-control-input\"\n [(ngModel)]=\"searchTerm\"\n (ngModelChange)=\"inputChange($event)\"\n (keyup.enter)=\"searchSubmit($event)\"\n [placeholder]=\"'SEARCH.INPUT.PLACEHOLDER' | translate\"\n />\n <div matSuffix class=\"app-suffix-search-icon-wrapper\">\n <mat-icon *ngIf=\"searchTerm.length\" (click)=\"clear()\" class=\"app-clear-icon\">clear</mat-icon>\n </div>\n </mat-form-field>\n</div>\n", styles: [".app-suffix-search-icon-wrapper{height:6px;margin:14px 1px;float:left}.app-suffix-search-icon-wrapper .mat-icon{font-size:24px;cursor:pointer}.app-suffix-search-icon-wrapper .app-clear-icon{font-size:18px;margin:3px}.app-search-container{margin-top:-12px;padding-top:2px;font-size:16px;padding-left:15px;box-sizing:border-box;margin-bottom:12px!important}.app-search-container .mat-form-field{font-size:16px}.app-search-container .mat-form-field-underline{display:none}.app-search-container .mat-form-field-label-wrapper{cursor:text}.app-search-container.searchMenuTrigger .mat-form-field-label-wrapper{pointer-events:auto}.app-search-container .app-input-form-field{letter-spacing:-.7px;width:calc(100% - 56px)}.app-search-container .app-input-form-field .mat-input-element{letter-spacing:-.7px}.app-search-container .app-search-button.mat-icon-button{top:-2px;left:-8px}.app-search-container .app-search-button.mat-icon-button .mat-icon{font-size:24px;padding-right:0}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatSuffix, selector: "[matSuffix]" }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None });
72
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: SearchInputControlComponent, decorators: [{
70
+ SearchInputControlComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: SearchInputControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
71
+ SearchInputControlComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: SearchInputControlComponent, selector: "app-search-input-control", inputs: { inputType: "inputType" }, outputs: { submit: "submit", searchChange: "searchChange" }, host: { classAttribute: "app-search-control" }, viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"app-search-container\">\n <button\n mat-icon-button\n id=\"app-search-button\"\n class=\"app-search-button\"\n (click)=\"searchSubmit(searchTerm)\"\n [title]=\"'SEARCH.BUTTON.TOOLTIP' | translate\"\n >\n <mat-icon [attr.aria-label]=\"'SEARCH.BUTTON.ARIA-LABEL' | translate\">search</mat-icon>\n </button>\n <mat-form-field class=\"app-input-form-field\" [floatLabel]=\"'never'\">\n <input\n matInput\n #searchInput\n [attr.aria-label]=\"'SEARCH.INPUT.ARIA-LABEL' | translate\"\n [type]=\"inputType\"\n id=\"app-control-input\"\n [(ngModel)]=\"searchTerm\"\n (ngModelChange)=\"inputChange($event)\"\n (keyup.enter)=\"searchSubmit($event)\"\n [placeholder]=\"'SEARCH.INPUT.PLACEHOLDER' | translate\"\n autocomplete=\"off\"\n />\n <div matSuffix class=\"app-suffix-search-icon-wrapper\">\n <mat-icon *ngIf=\"searchTerm.length\" (click)=\"clear()\" class=\"app-clear-icon\">clear</mat-icon>\n </div>\n </mat-form-field>\n</div>\n", styles: [".app-suffix-search-icon-wrapper{height:6px;margin:14px 1px;float:left}.app-suffix-search-icon-wrapper .mat-icon{font-size:24px;cursor:pointer}.app-suffix-search-icon-wrapper .app-clear-icon{font-size:18px;margin:3px}.app-search-container{margin-top:-12px;padding-top:2px;font-size:16px;padding-left:15px;box-sizing:border-box;margin-bottom:12px!important}.app-search-container .mat-form-field{font-size:16px}.app-search-container .mat-form-field-underline{display:none}.app-search-container .mat-form-field-label-wrapper{cursor:text}.app-search-container.searchMenuTrigger .mat-form-field-label-wrapper{pointer-events:auto}.app-search-container .app-input-form-field{letter-spacing:-.7px;width:calc(100% - 56px)}.app-search-container .app-input-form-field .mat-input-element{letter-spacing:-.7px}.app-search-container .app-search-button.mat-icon-button{top:-2px;left:-8px}.app-search-container .app-search-button.mat-icon-button .mat-icon{font-size:24px;padding-right:0}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatSuffix, selector: "[matSuffix]" }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None });
72
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: SearchInputControlComponent, decorators: [{
73
73
  type: Component,
74
- args: [{ selector: 'app-search-input-control', encapsulation: ViewEncapsulation.None, host: { class: 'app-search-control' }, template: "<div class=\"app-search-container\">\n <button\n mat-icon-button\n id=\"app-search-button\"\n class=\"app-search-button\"\n (click)=\"searchSubmit(searchTerm)\"\n [title]=\"'SEARCH.BUTTON.TOOLTIP' | translate\"\n >\n <mat-icon [attr.aria-label]=\"'SEARCH.BUTTON.ARIA-LABEL' | translate\">search</mat-icon>\n </button>\n <mat-form-field class=\"app-input-form-field\" [floatLabel]=\"'never'\">\n <input\n matInput\n #searchInput\n [attr.aria-label]=\"'SEARCH.INPUT.ARIA-LABEL' | translate\"\n [type]=\"inputType\"\n id=\"app-control-input\"\n [(ngModel)]=\"searchTerm\"\n (ngModelChange)=\"inputChange($event)\"\n (keyup.enter)=\"searchSubmit($event)\"\n [placeholder]=\"'SEARCH.INPUT.PLACEHOLDER' | translate\"\n />\n <div matSuffix class=\"app-suffix-search-icon-wrapper\">\n <mat-icon *ngIf=\"searchTerm.length\" (click)=\"clear()\" class=\"app-clear-icon\">clear</mat-icon>\n </div>\n </mat-form-field>\n</div>\n", styles: [".app-suffix-search-icon-wrapper{height:6px;margin:14px 1px;float:left}.app-suffix-search-icon-wrapper .mat-icon{font-size:24px;cursor:pointer}.app-suffix-search-icon-wrapper .app-clear-icon{font-size:18px;margin:3px}.app-search-container{margin-top:-12px;padding-top:2px;font-size:16px;padding-left:15px;box-sizing:border-box;margin-bottom:12px!important}.app-search-container .mat-form-field{font-size:16px}.app-search-container .mat-form-field-underline{display:none}.app-search-container .mat-form-field-label-wrapper{cursor:text}.app-search-container.searchMenuTrigger .mat-form-field-label-wrapper{pointer-events:auto}.app-search-container .app-input-form-field{letter-spacing:-.7px;width:calc(100% - 56px)}.app-search-container .app-input-form-field .mat-input-element{letter-spacing:-.7px}.app-search-container .app-search-button.mat-icon-button{top:-2px;left:-8px}.app-search-container .app-search-button.mat-icon-button .mat-icon{font-size:24px;padding-right:0}\n"] }]
74
+ args: [{ selector: 'app-search-input-control', encapsulation: ViewEncapsulation.None, host: { class: 'app-search-control' }, template: "<div class=\"app-search-container\">\n <button\n mat-icon-button\n id=\"app-search-button\"\n class=\"app-search-button\"\n (click)=\"searchSubmit(searchTerm)\"\n [title]=\"'SEARCH.BUTTON.TOOLTIP' | translate\"\n >\n <mat-icon [attr.aria-label]=\"'SEARCH.BUTTON.ARIA-LABEL' | translate\">search</mat-icon>\n </button>\n <mat-form-field class=\"app-input-form-field\" [floatLabel]=\"'never'\">\n <input\n matInput\n #searchInput\n [attr.aria-label]=\"'SEARCH.INPUT.ARIA-LABEL' | translate\"\n [type]=\"inputType\"\n id=\"app-control-input\"\n [(ngModel)]=\"searchTerm\"\n (ngModelChange)=\"inputChange($event)\"\n (keyup.enter)=\"searchSubmit($event)\"\n [placeholder]=\"'SEARCH.INPUT.PLACEHOLDER' | translate\"\n autocomplete=\"off\"\n />\n <div matSuffix class=\"app-suffix-search-icon-wrapper\">\n <mat-icon *ngIf=\"searchTerm.length\" (click)=\"clear()\" class=\"app-clear-icon\">clear</mat-icon>\n </div>\n </mat-form-field>\n</div>\n", styles: [".app-suffix-search-icon-wrapper{height:6px;margin:14px 1px;float:left}.app-suffix-search-icon-wrapper .mat-icon{font-size:24px;cursor:pointer}.app-suffix-search-icon-wrapper .app-clear-icon{font-size:18px;margin:3px}.app-search-container{margin-top:-12px;padding-top:2px;font-size:16px;padding-left:15px;box-sizing:border-box;margin-bottom:12px!important}.app-search-container .mat-form-field{font-size:16px}.app-search-container .mat-form-field-underline{display:none}.app-search-container .mat-form-field-label-wrapper{cursor:text}.app-search-container.searchMenuTrigger .mat-form-field-label-wrapper{pointer-events:auto}.app-search-container .app-input-form-field{letter-spacing:-.7px;width:calc(100% - 56px)}.app-search-container .app-input-form-field .mat-input-element{letter-spacing:-.7px}.app-search-container .app-search-button.mat-icon-button{top:-2px;left:-8px}.app-search-container .app-search-button.mat-icon-button .mat-icon{font-size:24px;padding-right:0}\n"] }]
75
75
  }], propDecorators: { inputType: [{
76
76
  type: Input
77
77
  }],
@@ -84,4 +84,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImpor
84
84
  type: ViewChild,
85
85
  args: ['searchInput', { static: true }]
86
86
  }] } });
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWlucHV0LWNvbnRyb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNhLWNvbnRlbnQvc3JjL2xpYi9jb21wb25lbnRzL3NlYXJjaC9zZWFyY2gtaW5wdXQtY29udHJvbC9zZWFyY2gtaW5wdXQtY29udHJvbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2EtY29udGVudC9zcmMvbGliL2NvbXBvbmVudHMvc2VhcmNoL3NlYXJjaC1pbnB1dC1jb250cm9sL3NlYXJjaC1pbnB1dC1jb250cm9sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVILE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7OztBQVMvQixNQUFNLE9BQU8sMkJBQTJCO0lBUHhDO1FBUUUsZUFBVSxHQUFxQixJQUFJLE9BQU8sRUFBVyxDQUFDO1FBRXRELDRFQUE0RTtRQUU1RSxjQUFTLEdBQUcsTUFBTSxDQUFDO1FBRW5COztXQUVHO1FBRUgsNERBQTREO1FBQzVELFdBQU0sR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUUvQzs7OztXQUlHO1FBRUgsaUJBQVksR0FBeUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUt4RCxlQUFVLEdBQUcsRUFBRSxDQUFDO0tBdUJqQjtJQXJCQyxXQUFXO1FBQ1QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQVU7UUFDckIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFVO1FBQ3BCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELGNBQWM7UUFDWixPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDM0QsQ0FBQzs7d0hBL0NVLDJCQUEyQjs0R0FBM0IsMkJBQTJCLDJVQ2xDeEMsMCtCQTJCQTsyRkRPYSwyQkFBMkI7a0JBUHZDLFNBQVM7K0JBQ0UsMEJBQTBCLGlCQUdyQixpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CLEVBQUUsS0FBSyxFQUFFLG9CQUFvQixFQUFFOzhCQU9yQyxTQUFTO3NCQURSLEtBQUs7O1FBT04sNERBQTREO1FBQzVELE1BQU07c0JBRkwsTUFBTTtnQkFVUCxZQUFZO3NCQURYLE1BQU07Z0JBSVAsV0FBVztzQkFEVixTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjMgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb25cbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uLlxuICogSWYgdGhlIHNvZnR3YXJlIHdhcyBwdXJjaGFzZWQgdW5kZXIgYSBwYWlkIEFsZnJlc2NvIGxpY2Vuc2UsIHRoZSB0ZXJtcyBvZlxuICogdGhlIHBhaWQgbGljZW5zZSBhZ3JlZW1lbnQgd2lsbCBwcmV2YWlsLiBPdGhlcndpc2UsIHRoZSBzb2Z0d2FyZSBpc1xuICogcHJvdmlkZWQgdW5kZXIgdGhlIGZvbGxvd2luZyBvcGVuIHNvdXJjZSBsaWNlbnNlIHRlcm1zOlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGZyb20gSHlsYW5kIFNvZnR3YXJlLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24sIFZpZXdDaGlsZCwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtc2VhcmNoLWlucHV0LWNvbnRyb2wnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLWlucHV0LWNvbnRyb2wuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtaW5wdXQtY29udHJvbC5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBob3N0OiB7IGNsYXNzOiAnYXBwLXNlYXJjaC1jb250cm9sJyB9XG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaElucHV0Q29udHJvbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIG9uRGVzdHJveSQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gIC8qKiBUeXBlIG9mIHRoZSBpbnB1dCBmaWVsZCB0byByZW5kZXIsIGUuZy4gXCJzZWFyY2hcIiBvciBcInRleHRcIiAoZGVmYXVsdCkuICovXG4gIEBJbnB1dCgpXG4gIGlucHV0VHlwZSA9ICd0ZXh0JztcblxuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBzZWFyY2ggaXMgc3VibWl0dGVkIHByZXNzaW5nIEVOVEVSIGJ1dHRvbi5cbiAgICogVGhlIHNlYXJjaCB0ZXJtIGlzIHByb3ZpZGVkIGFzIHZhbHVlIG9mIHRoZSBldmVudC5cbiAgICovXG4gIEBPdXRwdXQoKVxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1uYXRpdmVcbiAgc3VibWl0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBzZWFyY2ggdGVybSBpcyBjaGFuZ2VkLiBUaGUgc2VhcmNoIHRlcm0gaXMgcHJvdmlkZWRcbiAgICogaW4gdGhlICd2YWx1ZScgcHJvcGVydHkgb2YgdGhlIHJldHVybmVkIG9iamVjdC4gIElmIHRoZSB0ZXJtIGlzIGxlc3NcbiAgICogdGhhbiB0aHJlZSBjaGFyYWN0ZXJzIGluIGxlbmd0aCB0aGVuIHRoZSB0ZXJtIGlzIHRydW5jYXRlZCB0byBhbiBlbXB0eVxuICAgKiBzdHJpbmcuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgc2VhcmNoQ2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAVmlld0NoaWxkKCdzZWFyY2hJbnB1dCcsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHNlYXJjaElucHV0OiBFbGVtZW50UmVmO1xuXG4gIHNlYXJjaFRlcm0gPSAnJztcblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLm9uRGVzdHJveSQubmV4dCh0cnVlKTtcbiAgICB0aGlzLm9uRGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHNlYXJjaFN1Ym1pdChldmVudDogYW55KSB7XG4gICAgdGhpcy5zdWJtaXQuZW1pdChldmVudCk7XG4gIH1cblxuICBpbnB1dENoYW5nZShldmVudDogYW55KSB7XG4gICAgdGhpcy5zZWFyY2hDaGFuZ2UuZW1pdChldmVudCk7XG4gIH1cblxuICBjbGVhcigpIHtcbiAgICB0aGlzLnNlYXJjaFRlcm0gPSAnJztcbiAgICB0aGlzLnNlYXJjaENoYW5nZS5lbWl0KCcnKTtcbiAgfVxuXG4gIGlzVGVybVRvb1Nob3J0KCkge1xuICAgIHJldHVybiAhISh0aGlzLnNlYXJjaFRlcm0gJiYgdGhpcy5zZWFyY2hUZXJtLmxlbmd0aCA8IDIpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYXBwLXNlYXJjaC1jb250YWluZXJcIj5cbiAgPGJ1dHRvblxuICAgIG1hdC1pY29uLWJ1dHRvblxuICAgIGlkPVwiYXBwLXNlYXJjaC1idXR0b25cIlxuICAgIGNsYXNzPVwiYXBwLXNlYXJjaC1idXR0b25cIlxuICAgIChjbGljayk9XCJzZWFyY2hTdWJtaXQoc2VhcmNoVGVybSlcIlxuICAgIFt0aXRsZV09XCInU0VBUkNILkJVVFRPTi5UT09MVElQJyB8IHRyYW5zbGF0ZVwiXG4gID5cbiAgICA8bWF0LWljb24gW2F0dHIuYXJpYS1sYWJlbF09XCInU0VBUkNILkJVVFRPTi5BUklBLUxBQkVMJyB8IHRyYW5zbGF0ZVwiPnNlYXJjaDwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJhcHAtaW5wdXQtZm9ybS1maWVsZFwiIFtmbG9hdExhYmVsXT1cIiduZXZlcidcIj5cbiAgICA8aW5wdXRcbiAgICAgIG1hdElucHV0XG4gICAgICAjc2VhcmNoSW5wdXRcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1NFQVJDSC5JTlBVVC5BUklBLUxBQkVMJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBbdHlwZV09XCJpbnB1dFR5cGVcIlxuICAgICAgaWQ9XCJhcHAtY29udHJvbC1pbnB1dFwiXG4gICAgICBbKG5nTW9kZWwpXT1cInNlYXJjaFRlcm1cIlxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiaW5wdXRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAoa2V5dXAuZW50ZXIpPVwic2VhcmNoU3VibWl0KCRldmVudClcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cIidTRUFSQ0guSU5QVVQuUExBQ0VIT0xERVInIHwgdHJhbnNsYXRlXCJcbiAgICAvPlxuICAgIDxkaXYgbWF0U3VmZml4IGNsYXNzPVwiYXBwLXN1ZmZpeC1zZWFyY2gtaWNvbi13cmFwcGVyXCI+XG4gICAgICA8bWF0LWljb24gKm5nSWY9XCJzZWFyY2hUZXJtLmxlbmd0aFwiIChjbGljayk9XCJjbGVhcigpXCIgY2xhc3M9XCJhcHAtY2xlYXItaWNvblwiPmNsZWFyPC9tYXQtaWNvbj5cbiAgICA8L2Rpdj5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbjwvZGl2PlxuIl19
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWlucHV0LWNvbnRyb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNhLWNvbnRlbnQvc3JjL2xpYi9jb21wb25lbnRzL3NlYXJjaC9zZWFyY2gtaW5wdXQtY29udHJvbC9zZWFyY2gtaW5wdXQtY29udHJvbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2EtY29udGVudC9zcmMvbGliL2NvbXBvbmVudHMvc2VhcmNoL3NlYXJjaC1pbnB1dC1jb250cm9sL3NlYXJjaC1pbnB1dC1jb250cm9sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVILE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7OztBQVMvQixNQUFNLE9BQU8sMkJBQTJCO0lBUHhDO1FBUUUsZUFBVSxHQUFxQixJQUFJLE9BQU8sRUFBVyxDQUFDO1FBRXRELDRFQUE0RTtRQUU1RSxjQUFTLEdBQUcsTUFBTSxDQUFDO1FBRW5COztXQUVHO1FBRUgsNERBQTREO1FBQzVELFdBQU0sR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUUvQzs7OztXQUlHO1FBRUgsaUJBQVksR0FBeUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUt4RCxlQUFVLEdBQUcsRUFBRSxDQUFDO0tBdUJqQjtJQXJCQyxXQUFXO1FBQ1QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQVU7UUFDckIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFVO1FBQ3BCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELGNBQWM7UUFDWixPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDM0QsQ0FBQzs7d0hBL0NVLDJCQUEyQjs0R0FBM0IsMkJBQTJCLDJVQ2xDeEMsc2dDQTRCQTsyRkRNYSwyQkFBMkI7a0JBUHZDLFNBQVM7K0JBQ0UsMEJBQTBCLGlCQUdyQixpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CLEVBQUUsS0FBSyxFQUFFLG9CQUFvQixFQUFFOzhCQU9yQyxTQUFTO3NCQURSLEtBQUs7O1FBT04sNERBQTREO1FBQzVELE1BQU07c0JBRkwsTUFBTTtnQkFVUCxZQUFZO3NCQURYLE1BQU07Z0JBSVAsV0FBVztzQkFEVixTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjMgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb25cbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uLlxuICogSWYgdGhlIHNvZnR3YXJlIHdhcyBwdXJjaGFzZWQgdW5kZXIgYSBwYWlkIEFsZnJlc2NvIGxpY2Vuc2UsIHRoZSB0ZXJtcyBvZlxuICogdGhlIHBhaWQgbGljZW5zZSBhZ3JlZW1lbnQgd2lsbCBwcmV2YWlsLiBPdGhlcndpc2UsIHRoZSBzb2Z0d2FyZSBpc1xuICogcHJvdmlkZWQgdW5kZXIgdGhlIGZvbGxvd2luZyBvcGVuIHNvdXJjZSBsaWNlbnNlIHRlcm1zOlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGZyb20gSHlsYW5kIFNvZnR3YXJlLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24sIFZpZXdDaGlsZCwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtc2VhcmNoLWlucHV0LWNvbnRyb2wnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLWlucHV0LWNvbnRyb2wuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtaW5wdXQtY29udHJvbC5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBob3N0OiB7IGNsYXNzOiAnYXBwLXNlYXJjaC1jb250cm9sJyB9XG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaElucHV0Q29udHJvbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIG9uRGVzdHJveSQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gIC8qKiBUeXBlIG9mIHRoZSBpbnB1dCBmaWVsZCB0byByZW5kZXIsIGUuZy4gXCJzZWFyY2hcIiBvciBcInRleHRcIiAoZGVmYXVsdCkuICovXG4gIEBJbnB1dCgpXG4gIGlucHV0VHlwZSA9ICd0ZXh0JztcblxuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBzZWFyY2ggaXMgc3VibWl0dGVkIHByZXNzaW5nIEVOVEVSIGJ1dHRvbi5cbiAgICogVGhlIHNlYXJjaCB0ZXJtIGlzIHByb3ZpZGVkIGFzIHZhbHVlIG9mIHRoZSBldmVudC5cbiAgICovXG4gIEBPdXRwdXQoKVxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1uYXRpdmVcbiAgc3VibWl0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBzZWFyY2ggdGVybSBpcyBjaGFuZ2VkLiBUaGUgc2VhcmNoIHRlcm0gaXMgcHJvdmlkZWRcbiAgICogaW4gdGhlICd2YWx1ZScgcHJvcGVydHkgb2YgdGhlIHJldHVybmVkIG9iamVjdC4gIElmIHRoZSB0ZXJtIGlzIGxlc3NcbiAgICogdGhhbiB0aHJlZSBjaGFyYWN0ZXJzIGluIGxlbmd0aCB0aGVuIHRoZSB0ZXJtIGlzIHRydW5jYXRlZCB0byBhbiBlbXB0eVxuICAgKiBzdHJpbmcuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgc2VhcmNoQ2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAVmlld0NoaWxkKCdzZWFyY2hJbnB1dCcsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHNlYXJjaElucHV0OiBFbGVtZW50UmVmO1xuXG4gIHNlYXJjaFRlcm0gPSAnJztcblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLm9uRGVzdHJveSQubmV4dCh0cnVlKTtcbiAgICB0aGlzLm9uRGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHNlYXJjaFN1Ym1pdChldmVudDogYW55KSB7XG4gICAgdGhpcy5zdWJtaXQuZW1pdChldmVudCk7XG4gIH1cblxuICBpbnB1dENoYW5nZShldmVudDogYW55KSB7XG4gICAgdGhpcy5zZWFyY2hDaGFuZ2UuZW1pdChldmVudCk7XG4gIH1cblxuICBjbGVhcigpIHtcbiAgICB0aGlzLnNlYXJjaFRlcm0gPSAnJztcbiAgICB0aGlzLnNlYXJjaENoYW5nZS5lbWl0KCcnKTtcbiAgfVxuXG4gIGlzVGVybVRvb1Nob3J0KCkge1xuICAgIHJldHVybiAhISh0aGlzLnNlYXJjaFRlcm0gJiYgdGhpcy5zZWFyY2hUZXJtLmxlbmd0aCA8IDIpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYXBwLXNlYXJjaC1jb250YWluZXJcIj5cbiAgPGJ1dHRvblxuICAgIG1hdC1pY29uLWJ1dHRvblxuICAgIGlkPVwiYXBwLXNlYXJjaC1idXR0b25cIlxuICAgIGNsYXNzPVwiYXBwLXNlYXJjaC1idXR0b25cIlxuICAgIChjbGljayk9XCJzZWFyY2hTdWJtaXQoc2VhcmNoVGVybSlcIlxuICAgIFt0aXRsZV09XCInU0VBUkNILkJVVFRPTi5UT09MVElQJyB8IHRyYW5zbGF0ZVwiXG4gID5cbiAgICA8bWF0LWljb24gW2F0dHIuYXJpYS1sYWJlbF09XCInU0VBUkNILkJVVFRPTi5BUklBLUxBQkVMJyB8IHRyYW5zbGF0ZVwiPnNlYXJjaDwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJhcHAtaW5wdXQtZm9ybS1maWVsZFwiIFtmbG9hdExhYmVsXT1cIiduZXZlcidcIj5cbiAgICA8aW5wdXRcbiAgICAgIG1hdElucHV0XG4gICAgICAjc2VhcmNoSW5wdXRcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1NFQVJDSC5JTlBVVC5BUklBLUxBQkVMJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBbdHlwZV09XCJpbnB1dFR5cGVcIlxuICAgICAgaWQ9XCJhcHAtY29udHJvbC1pbnB1dFwiXG4gICAgICBbKG5nTW9kZWwpXT1cInNlYXJjaFRlcm1cIlxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiaW5wdXRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAoa2V5dXAuZW50ZXIpPVwic2VhcmNoU3VibWl0KCRldmVudClcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cIidTRUFSQ0guSU5QVVQuUExBQ0VIT0xERVInIHwgdHJhbnNsYXRlXCJcbiAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgLz5cbiAgICA8ZGl2IG1hdFN1ZmZpeCBjbGFzcz1cImFwcC1zdWZmaXgtc2VhcmNoLWljb24td3JhcHBlclwiPlxuICAgICAgPG1hdC1pY29uICpuZ0lmPVwic2VhcmNoVGVybS5sZW5ndGhcIiAoY2xpY2spPVwiY2xlYXIoKVwiIGNsYXNzPVwiYXBwLWNsZWFyLWljb25cIj5jbGVhcjwvbWF0LWljb24+XG4gICAgPC9kaXY+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG48L2Rpdj5cbiJdfQ==
@@ -33,10 +33,10 @@ import * as i1 from "@alfresco/adf-core";
33
33
  import * as i2 from "@alfresco/adf-content-services";
34
34
  export class AppSearchInputModule {
35
35
  }
36
- AppSearchInputModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: AppSearchInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
37
- AppSearchInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.2", ngImport: i0, type: AppSearchInputModule, declarations: [SearchInputComponent, SearchInputControlComponent], imports: [CommonModule, i1.CoreModule, i2.ContentModule, A11yModule], exports: [SearchInputComponent, SearchInputControlComponent] });
38
- AppSearchInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: AppSearchInputModule, imports: [CommonModule, CoreModule.forChild(), ContentModule.forChild(), A11yModule] });
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: AppSearchInputModule, decorators: [{
36
+ AppSearchInputModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: AppSearchInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
37
+ AppSearchInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.3", ngImport: i0, type: AppSearchInputModule, declarations: [SearchInputComponent, SearchInputControlComponent], imports: [CommonModule, i1.CoreModule, i2.ContentModule, A11yModule], exports: [SearchInputComponent, SearchInputControlComponent] });
38
+ AppSearchInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: AppSearchInputModule, imports: [CommonModule, CoreModule.forChild(), ContentModule.forChild(), A11yModule] });
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: AppSearchInputModule, decorators: [{
40
40
  type: NgModule,
41
41
  args: [{
42
42
  imports: [CommonModule, CoreModule.forChild(), ContentModule.forChild(), A11yModule],
@@ -62,14 +62,13 @@ export class SearchLibrariesQueryBuilderService {
62
62
  buildQuery() {
63
63
  const query = this.userQuery;
64
64
  if (query && query.length > 1) {
65
- const resultQuery = {
65
+ return {
66
66
  term: query,
67
67
  opts: {
68
68
  skipCount: this.paging && this.paging.skipCount,
69
69
  maxItems: this.paging && this.paging.maxItems
70
70
  }
71
71
  };
72
- return resultQuery;
73
72
  }
74
73
  return null;
75
74
  }
@@ -80,12 +79,12 @@ export class SearchLibrariesQueryBuilderService {
80
79
  });
81
80
  }
82
81
  }
83
- SearchLibrariesQueryBuilderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: SearchLibrariesQueryBuilderService, deps: [{ token: i1.AlfrescoApiService }], target: i0.ɵɵFactoryTarget.Injectable });
84
- SearchLibrariesQueryBuilderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: SearchLibrariesQueryBuilderService, providedIn: 'root' });
85
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: SearchLibrariesQueryBuilderService, decorators: [{
82
+ SearchLibrariesQueryBuilderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: SearchLibrariesQueryBuilderService, deps: [{ token: i1.AlfrescoApiService }], target: i0.ɵɵFactoryTarget.Injectable });
83
+ SearchLibrariesQueryBuilderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: SearchLibrariesQueryBuilderService, providedIn: 'root' });
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: SearchLibrariesQueryBuilderService, decorators: [{
86
85
  type: Injectable,
87
86
  args: [{
88
87
  providedIn: 'root'
89
88
  }]
90
89
  }], ctorParameters: function () { return [{ type: i1.AlfrescoApiService }]; } });
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWxpYnJhcmllcy1xdWVyeS1idWlsZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2EtY29udGVudC9zcmMvbGliL2NvbXBvbmVudHMvc2VhcmNoL3NlYXJjaC1saWJyYXJpZXMtcmVzdWx0cy9zZWFyY2gtbGlicmFyaWVzLXF1ZXJ5LWJ1aWxkZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUVILE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBYyxNQUFNLGtCQUFrQixDQUFDO0FBQzFELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQWEvQixNQUFNLE9BQU8sa0NBQWtDO0lBdUI3QyxZQUFvQixrQkFBc0M7UUFBdEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQWhCbEQsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUV4QixZQUFPLEdBQWlCLElBQUksT0FBTyxFQUFFLENBQUM7UUFDdEMsYUFBUSxHQUFpQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ3ZDLGFBQVEsR0FBaUIsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUV2QyxXQUFNLEdBQThDLElBQUksQ0FBQztJQVVJLENBQUM7SUFyQjlELElBQUksVUFBVTtRQUNaLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUM3RixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQVVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxTQUFTLENBQUMsS0FBYTtRQUN6QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUlELE1BQU07UUFDSixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDaEMsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUMxQjtJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTztRQUNYLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNoQyxJQUFJLEtBQUssRUFBRTtZQUNULE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM3QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUMxQjtJQUNILENBQUM7SUFFRCxVQUFVO1FBQ1IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUM3QixJQUFJLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUM3QixNQUFNLFdBQVcsR0FBRztnQkFDbEIsSUFBSSxFQUFFLEtBQUs7Z0JBQ1gsSUFBSSxFQUFFO29CQUNKLFNBQVMsRUFBRSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUztvQkFDL0MsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRO2lCQUM5QzthQUNGLENBQUM7WUFDRixPQUFPLFdBQVcsQ0FBQztTQUNwQjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVPLGFBQWEsQ0FBQyxZQUFnQztRQUNwRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ25GLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3hCLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxVQUFVLEVBQUUsRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFDbEUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzsrSEE1RFUsa0NBQWtDO21JQUFsQyxrQ0FBa0MsY0FGakMsTUFBTTsyRkFFUCxrQ0FBa0M7a0JBSDlDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDIzIEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uXG4gKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbi5cbiAqIElmIHRoZSBzb2Z0d2FyZSB3YXMgcHVyY2hhc2VkIHVuZGVyIGEgcGFpZCBBbGZyZXNjbyBsaWNlbnNlLCB0aGUgdGVybXMgb2ZcbiAqIHRoZSBwYWlkIGxpY2Vuc2UgYWdyZWVtZW50IHdpbGwgcHJldmFpbC4gT3RoZXJ3aXNlLCB0aGUgc29mdHdhcmUgaXNcbiAqIHByb3ZpZGVkIHVuZGVyIHRoZSBmb2xsb3dpbmcgb3BlbiBzb3VyY2UgbGljZW5zZSB0ZXJtczpcbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZVxuICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBmcm9tIEh5bGFuZCBTb2Z0d2FyZS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICovXG5cbmltcG9ydCB7IEFsZnJlc2NvQXBpU2VydmljZSB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBRdWVyaWVzQXBpLCBTaXRlUGFnaW5nIH0gZnJvbSAnQGFsZnJlc2NvL2pzLWFwaSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlicmFyeVNlYXJjaFF1ZXJ5IHtcbiAgdGVybTogc3RyaW5nO1xuICBvcHRzOiB7XG4gICAgc2tpcENvdW50OiBudW1iZXI7XG4gICAgbWF4SXRlbXM6IG51bWJlcjtcbiAgfTtcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoTGlicmFyaWVzUXVlcnlCdWlsZGVyU2VydmljZSB7XG4gIF9xdWVyaWVzQXBpOiBRdWVyaWVzQXBpO1xuICBnZXQgcXVlcmllc0FwaSgpOiBRdWVyaWVzQXBpIHtcbiAgICB0aGlzLl9xdWVyaWVzQXBpID0gdGhpcy5fcXVlcmllc0FwaSA/PyBuZXcgUXVlcmllc0FwaSh0aGlzLmFsZnJlc2NvQXBpU2VydmljZS5nZXRJbnN0YW5jZSgpKTtcbiAgICByZXR1cm4gdGhpcy5fcXVlcmllc0FwaTtcbiAgfVxuXG4gIHByaXZhdGUgX3VzZXJRdWVyeSA9ICcnO1xuXG4gIHVwZGF0ZWQ6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0KCk7XG4gIGV4ZWN1dGVkOiBTdWJqZWN0PGFueT4gPSBuZXcgU3ViamVjdCgpO1xuICBoYWRFcnJvcjogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3QoKTtcblxuICBwYWdpbmc6IHsgbWF4SXRlbXM/OiBudW1iZXI7IHNraXBDb3VudD86IG51bWJlciB9ID0gbnVsbDtcblxuICBnZXQgdXNlclF1ZXJ5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3VzZXJRdWVyeTtcbiAgfVxuXG4gIHNldCB1c2VyUXVlcnkodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3VzZXJRdWVyeSA9IHZhbHVlID8gdmFsdWUudHJpbSgpIDogJyc7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFsZnJlc2NvQXBpU2VydmljZTogQWxmcmVzY29BcGlTZXJ2aWNlKSB7fVxuXG4gIHVwZGF0ZSgpOiB2b2lkIHtcbiAgICBjb25zdCBxdWVyeSA9IHRoaXMuYnVpbGRRdWVyeSgpO1xuICAgIGlmIChxdWVyeSkge1xuICAgICAgdGhpcy51cGRhdGVkLm5leHQocXVlcnkpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGV4ZWN1dGUoKSB7XG4gICAgY29uc3QgcXVlcnkgPSB0aGlzLmJ1aWxkUXVlcnkoKTtcbiAgICBpZiAocXVlcnkpIHtcbiAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLmZpbmRMaWJyYXJpZXMocXVlcnkpO1xuICAgICAgdGhpcy5leGVjdXRlZC5uZXh0KGRhdGEpO1xuICAgIH1cbiAgfVxuXG4gIGJ1aWxkUXVlcnkoKTogTGlicmFyeVNlYXJjaFF1ZXJ5IHtcbiAgICBjb25zdCBxdWVyeSA9IHRoaXMudXNlclF1ZXJ5O1xuICAgIGlmIChxdWVyeSAmJiBxdWVyeS5sZW5ndGggPiAxKSB7XG4gICAgICBjb25zdCByZXN1bHRRdWVyeSA9IHtcbiAgICAgICAgdGVybTogcXVlcnksXG4gICAgICAgIG9wdHM6IHtcbiAgICAgICAgICBza2lwQ291bnQ6IHRoaXMucGFnaW5nICYmIHRoaXMucGFnaW5nLnNraXBDb3VudCxcbiAgICAgICAgICBtYXhJdGVtczogdGhpcy5wYWdpbmcgJiYgdGhpcy5wYWdpbmcubWF4SXRlbXNcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIHJldHVybiByZXN1bHRRdWVyeTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwcml2YXRlIGZpbmRMaWJyYXJpZXMobGlicmFyeVF1ZXJ5OiBMaWJyYXJ5U2VhcmNoUXVlcnkpOiBQcm9taXNlPFNpdGVQYWdpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5xdWVyaWVzQXBpLmZpbmRTaXRlcyhsaWJyYXJ5UXVlcnkudGVybSwgbGlicmFyeVF1ZXJ5Lm9wdHMpLmNhdGNoKChlcnIpID0+IHtcbiAgICAgIHRoaXMuaGFkRXJyb3IubmV4dChlcnIpO1xuICAgICAgcmV0dXJuIHsgbGlzdDogeyBwYWdpbmF0aW9uOiB7IHRvdGFsSXRlbXM6IDAgfSwgZW50cmllczogW10gfSB9O1xuICAgIH0pO1xuICB9XG59XG4iXX0=
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWxpYnJhcmllcy1xdWVyeS1idWlsZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2EtY29udGVudC9zcmMvbGliL2NvbXBvbmVudHMvc2VhcmNoL3NlYXJjaC1saWJyYXJpZXMtcmVzdWx0cy9zZWFyY2gtbGlicmFyaWVzLXF1ZXJ5LWJ1aWxkZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUVILE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBYyxNQUFNLGtCQUFrQixDQUFDO0FBQzFELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQWEvQixNQUFNLE9BQU8sa0NBQWtDO0lBdUI3QyxZQUFvQixrQkFBc0M7UUFBdEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQWhCbEQsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUV4QixZQUFPLEdBQWlCLElBQUksT0FBTyxFQUFFLENBQUM7UUFDdEMsYUFBUSxHQUFpQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ3ZDLGFBQVEsR0FBaUIsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUV2QyxXQUFNLEdBQThDLElBQUksQ0FBQztJQVVJLENBQUM7SUFyQjlELElBQUksVUFBVTtRQUNaLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUM3RixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQVVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxTQUFTLENBQUMsS0FBYTtRQUN6QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUlELE1BQU07UUFDSixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDaEMsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUMxQjtJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTztRQUNYLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNoQyxJQUFJLEtBQUssRUFBRTtZQUNULE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM3QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUMxQjtJQUNILENBQUM7SUFFRCxVQUFVO1FBQ1IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUM3QixJQUFJLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUM3QixPQUFPO2dCQUNMLElBQUksRUFBRSxLQUFLO2dCQUNYLElBQUksRUFBRTtvQkFDSixTQUFTLEVBQUUsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVM7b0JBQy9DLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUTtpQkFDOUM7YUFDRixDQUFDO1NBQ0g7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTyxhQUFhLENBQUMsWUFBZ0M7UUFDcEQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNuRixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN4QixPQUFPLEVBQUUsSUFBSSxFQUFFLEVBQUUsVUFBVSxFQUFFLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQ2xFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7K0hBM0RVLGtDQUFrQzttSUFBbEMsa0NBQWtDLGNBRmpDLE1BQU07MkZBRVAsa0NBQWtDO2tCQUg5QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyMyBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvblxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24uXG4gKiBJZiB0aGUgc29mdHdhcmUgd2FzIHB1cmNoYXNlZCB1bmRlciBhIHBhaWQgQWxmcmVzY28gbGljZW5zZSwgdGhlIHRlcm1zIG9mXG4gKiB0aGUgcGFpZCBsaWNlbnNlIGFncmVlbWVudCB3aWxsIHByZXZhaWwuIE90aGVyd2lzZSwgdGhlIHNvZnR3YXJlIGlzXG4gKiBwcm92aWRlZCB1bmRlciB0aGUgZm9sbG93aW5nIG9wZW4gc291cmNlIGxpY2Vuc2UgdGVybXM6XG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogZnJvbSBIeWxhbmQgU29mdHdhcmUuIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuXG5pbXBvcnQgeyBBbGZyZXNjb0FwaVNlcnZpY2UgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUXVlcmllc0FwaSwgU2l0ZVBhZ2luZyB9IGZyb20gJ0BhbGZyZXNjby9qcy1hcGknO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIExpYnJhcnlTZWFyY2hRdWVyeSB7XG4gIHRlcm06IHN0cmluZztcbiAgb3B0czoge1xuICAgIHNraXBDb3VudDogbnVtYmVyO1xuICAgIG1heEl0ZW1zOiBudW1iZXI7XG4gIH07XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaExpYnJhcmllc1F1ZXJ5QnVpbGRlclNlcnZpY2Uge1xuICBfcXVlcmllc0FwaTogUXVlcmllc0FwaTtcbiAgZ2V0IHF1ZXJpZXNBcGkoKTogUXVlcmllc0FwaSB7XG4gICAgdGhpcy5fcXVlcmllc0FwaSA9IHRoaXMuX3F1ZXJpZXNBcGkgPz8gbmV3IFF1ZXJpZXNBcGkodGhpcy5hbGZyZXNjb0FwaVNlcnZpY2UuZ2V0SW5zdGFuY2UoKSk7XG4gICAgcmV0dXJuIHRoaXMuX3F1ZXJpZXNBcGk7XG4gIH1cblxuICBwcml2YXRlIF91c2VyUXVlcnkgPSAnJztcblxuICB1cGRhdGVkOiBTdWJqZWN0PGFueT4gPSBuZXcgU3ViamVjdCgpO1xuICBleGVjdXRlZDogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3QoKTtcbiAgaGFkRXJyb3I6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgcGFnaW5nOiB7IG1heEl0ZW1zPzogbnVtYmVyOyBza2lwQ291bnQ/OiBudW1iZXIgfSA9IG51bGw7XG5cbiAgZ2V0IHVzZXJRdWVyeSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl91c2VyUXVlcnk7XG4gIH1cblxuICBzZXQgdXNlclF1ZXJ5KHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl91c2VyUXVlcnkgPSB2YWx1ZSA/IHZhbHVlLnRyaW0oKSA6ICcnO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhbGZyZXNjb0FwaVNlcnZpY2U6IEFsZnJlc2NvQXBpU2VydmljZSkge31cblxuICB1cGRhdGUoKTogdm9pZCB7XG4gICAgY29uc3QgcXVlcnkgPSB0aGlzLmJ1aWxkUXVlcnkoKTtcbiAgICBpZiAocXVlcnkpIHtcbiAgICAgIHRoaXMudXBkYXRlZC5uZXh0KHF1ZXJ5KTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBleGVjdXRlKCkge1xuICAgIGNvbnN0IHF1ZXJ5ID0gdGhpcy5idWlsZFF1ZXJ5KCk7XG4gICAgaWYgKHF1ZXJ5KSB7XG4gICAgICBjb25zdCBkYXRhID0gYXdhaXQgdGhpcy5maW5kTGlicmFyaWVzKHF1ZXJ5KTtcbiAgICAgIHRoaXMuZXhlY3V0ZWQubmV4dChkYXRhKTtcbiAgICB9XG4gIH1cblxuICBidWlsZFF1ZXJ5KCk6IExpYnJhcnlTZWFyY2hRdWVyeSB7XG4gICAgY29uc3QgcXVlcnkgPSB0aGlzLnVzZXJRdWVyeTtcbiAgICBpZiAocXVlcnkgJiYgcXVlcnkubGVuZ3RoID4gMSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdGVybTogcXVlcnksXG4gICAgICAgIG9wdHM6IHtcbiAgICAgICAgICBza2lwQ291bnQ6IHRoaXMucGFnaW5nICYmIHRoaXMucGFnaW5nLnNraXBDb3VudCxcbiAgICAgICAgICBtYXhJdGVtczogdGhpcy5wYWdpbmcgJiYgdGhpcy5wYWdpbmcubWF4SXRlbXNcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwcml2YXRlIGZpbmRMaWJyYXJpZXMobGlicmFyeVF1ZXJ5OiBMaWJyYXJ5U2VhcmNoUXVlcnkpOiBQcm9taXNlPFNpdGVQYWdpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5xdWVyaWVzQXBpLmZpbmRTaXRlcyhsaWJyYXJ5UXVlcnkudGVybSwgbGlicmFyeVF1ZXJ5Lm9wdHMpLmNhdGNoKChlcnIpID0+IHtcbiAgICAgIHRoaXMuaGFkRXJyb3IubmV4dChlcnIpO1xuICAgICAgcmV0dXJuIHsgbGlzdDogeyBwYWdpbmF0aW9uOiB7IHRvdGFsSXRlbXM6IDAgfSwgZW50cmllczogW10gfSB9O1xuICAgIH0pO1xuICB9XG59XG4iXX0=