@provoly/dashboard 1.4.6 → 1.4.8

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 (510) hide show
  1. package/dataset/components/dataset-detail/dataset-detail.component.d.ts +5 -3
  2. package/esm2022/admin/admin-routing.module.mjs +4 -4
  3. package/esm2022/admin/admin.module.mjs +4 -4
  4. package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-edit/admin-abac-rules-edit.component.mjs +3 -3
  5. package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-form/admin-abac-rules-form.component.mjs +3 -3
  6. package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-new/admin-abac-rules-new.component.mjs +3 -3
  7. package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-view/admin-abac-rules-view.component.mjs +3 -3
  8. package/esm2022/admin/components/admin-abac-rules/admin-abac-rules.component.mjs +3 -3
  9. package/esm2022/admin/components/admin-abac-rules/components/attribute-condition/attribute-condition.component.mjs +3 -3
  10. package/esm2022/admin/components/admin-abac-rules/components/composed-condition/composed-condition.component.mjs +3 -3
  11. package/esm2022/admin/components/admin-abac-rules/components/metadata-condition/metadata-condition.component.mjs +3 -3
  12. package/esm2022/admin/components/admin-abac-rules/components/select-attribute/select-attribute.component.mjs +3 -3
  13. package/esm2022/admin/components/admin-abac-rules/components/select-metadata/select-metadata.component.mjs +3 -3
  14. package/esm2022/admin/components/admin-abac-rules/store/abac-rules.effects.mjs +3 -3
  15. package/esm2022/admin/components/admin-abac-rules/store/abac-rules.service.mjs +3 -3
  16. package/esm2022/admin/components/admin-classes/admin-classes-customize/admin-classes-customize.component.mjs +3 -3
  17. package/esm2022/admin/components/admin-classes/admin-classes-customize/symbol/admin-classes-customize-symbol.component.mjs +3 -3
  18. package/esm2022/admin/components/admin-classes/admin-classes-customize/tooltip/admin-classes-customize-tooltip.component.mjs +3 -3
  19. package/esm2022/admin/components/admin-classes/admin-classes-edit/admin-classes-edit.component.mjs +3 -3
  20. package/esm2022/admin/components/admin-classes/admin-classes-form/admin-classes-form.component.mjs +3 -3
  21. package/esm2022/admin/components/admin-classes/admin-classes-new/admin-classes-new.component.mjs +3 -3
  22. package/esm2022/admin/components/admin-classes/admin-classes-select/admin-classes-select.component.mjs +3 -3
  23. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-edit/admin-attributes-edit.component.mjs +3 -3
  24. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-form/admin-attributes-form.component.mjs +3 -3
  25. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-new/admin-attributes-new.component.mjs +3 -3
  26. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-select/admin-attributes-select.component.mjs +3 -3
  27. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-classes-view.component.mjs +3 -3
  28. package/esm2022/admin/components/admin-classes/admin-classes.component.mjs +3 -3
  29. package/esm2022/admin/components/admin-classes/store/admin-class.effects.mjs +3 -3
  30. package/esm2022/admin/components/admin-dataset/admin-dataset.component.mjs +3 -3
  31. package/esm2022/admin/components/admin-dataset/admin-edit-dataset/admin-edit-dataset.component.mjs +3 -3
  32. package/esm2022/admin/components/admin-dataset/admin-form-dataset/admin-form-dataset.component.mjs +3 -3
  33. package/esm2022/admin/components/admin-dataset/admin-new-dataset/admin-new-dataset.component.mjs +3 -3
  34. package/esm2022/admin/components/admin-dataset/admin-select-dataset/admin-select-dataset.component.mjs +3 -3
  35. package/esm2022/admin/components/admin-dataset/store/admin-dataset.effects.mjs +3 -3
  36. package/esm2022/admin/components/admin-dataset/store/admin-dataset.service.mjs +3 -3
  37. package/esm2022/admin/components/admin-environment/admin-environment-form/admin-environment-form.component.mjs +3 -3
  38. package/esm2022/admin/components/admin-environment/admin-environment-new/admin-environment-new.component.mjs +3 -3
  39. package/esm2022/admin/components/admin-environment/admin-environment-select/admin-environment-select.component.mjs +3 -3
  40. package/esm2022/admin/components/admin-environment/admin-environment-update/admin-environment-update.component.mjs +3 -3
  41. package/esm2022/admin/components/admin-environment/admin-environment.component.mjs +3 -3
  42. package/esm2022/admin/components/admin-environment/store/environment.effects.mjs +3 -3
  43. package/esm2022/admin/components/admin-fields/admin-fields-edit/admin-fields-edit.component.mjs +3 -3
  44. package/esm2022/admin/components/admin-fields/admin-fields-form/admin-fields-form.component.mjs +3 -3
  45. package/esm2022/admin/components/admin-fields/admin-fields-new/admin-fields-new.component.mjs +3 -3
  46. package/esm2022/admin/components/admin-fields/admin-fields-select/admin-fields-select.component.mjs +3 -3
  47. package/esm2022/admin/components/admin-fields/admin-fields.component.mjs +3 -3
  48. package/esm2022/admin/components/admin-fields/store/fields.effects.mjs +3 -3
  49. package/esm2022/admin/components/admin-layout/admin-layout.component.mjs +3 -3
  50. package/esm2022/admin/components/admin-links/admin-links-new/admin-links-new.component.mjs +3 -3
  51. package/esm2022/admin/components/admin-links/admin-links.component.mjs +3 -3
  52. package/esm2022/admin/components/admin-links/store/links.effects.mjs +3 -3
  53. package/esm2022/admin/components/admin-menu/admin-menu.component.mjs +3 -3
  54. package/esm2022/admin/components/admin-metadata/admin-edit-metadata/admin-edit-metadata.component.mjs +3 -3
  55. package/esm2022/admin/components/admin-metadata/admin-metadata.component.mjs +3 -3
  56. package/esm2022/admin/components/admin-metadata/admin-new-metadata/admin-new-metadata.component.mjs +3 -3
  57. package/esm2022/admin/components/admin-metadata/admin-select-metadata/admin-select-metadata.component.mjs +3 -3
  58. package/esm2022/admin/components/admin-metadata/shared/form-metadata/form-metadata.component.mjs +3 -3
  59. package/esm2022/admin/components/admin-metadata/shared/list-metadata/list-metadata.module.mjs +4 -4
  60. package/esm2022/admin/components/admin-metadata/shared/list-metadata/pry-list-metadata.component.mjs +3 -3
  61. package/esm2022/admin/components/admin-metadata-rules/admin-edit-metadata-rules/admin-edit-metadata-rules.component.mjs +3 -3
  62. package/esm2022/admin/components/admin-metadata-rules/admin-metadata-rules.component.mjs +3 -3
  63. package/esm2022/admin/components/admin-metadata-rules/admin-new-metadata-rules/admin-new-metadata-rules.component.mjs +3 -3
  64. package/esm2022/admin/components/admin-metadata-rules/admin-select-metadata-rules/admin-select-metadata-rules.component.mjs +3 -3
  65. package/esm2022/admin/components/admin-metadata-rules/shared/admin-form-metadata-rules/admin-form-metadata-rules.component.mjs +3 -3
  66. package/esm2022/admin/components/admin-metadata-rules/store/metadata-rules.effects.mjs +3 -3
  67. package/esm2022/admin/components/admin-metadata-user/admin-metadata-user.component.mjs +3 -3
  68. package/esm2022/admin/components/admin-metadata-user/admin-user-edit-metadata/admin-user-edit-metadata.component.mjs +3 -3
  69. package/esm2022/admin/components/admin-metadata-user/admin-user-new-metadata/admin-user-new-metadata.component.mjs +3 -3
  70. package/esm2022/admin/components/admin-metadata-user/admin-user-select-metadata/admin-user-select-metadata.component.mjs +3 -3
  71. package/esm2022/admin/components/admin-metadata-user/store/admin-metadata-user.effects.mjs +3 -3
  72. package/esm2022/admin/components/admin-predicates/admin-predicates-form/admin-predicates-form.component.mjs +3 -3
  73. package/esm2022/admin/components/admin-predicates/admin-predicates-new/admin-predicates-new.component.mjs +3 -3
  74. package/esm2022/admin/components/admin-predicates/admin-predicates-select/admin-predicates-select.component.mjs +3 -3
  75. package/esm2022/admin/components/admin-predicates/admin-predicates-update/admin-predicates-update.component.mjs +3 -3
  76. package/esm2022/admin/components/admin-predicates/admin-predicates.component.mjs +3 -3
  77. package/esm2022/admin/components/admin-predicates/store/predicates.effects.mjs +3 -3
  78. package/esm2022/admin/components/admin-relation-types/admin-relation-types-modal/admin-relation-types-modal.component.mjs +3 -3
  79. package/esm2022/admin/components/admin-relation-types/admin-relation-types-select/admin-relation-types-select.component.mjs +3 -3
  80. package/esm2022/admin/components/admin-relation-types/admin-relation-types.component.mjs +3 -3
  81. package/esm2022/admin/components/admin-title/admin-title.component.mjs +3 -3
  82. package/esm2022/admin/components/admin-user/admin-user-select/admin-user-select.component.mjs +3 -3
  83. package/esm2022/admin/components/admin-user/admin-user.component.mjs +3 -3
  84. package/esm2022/admin/components/admin-user/store/admin-user.effects.mjs +3 -3
  85. package/esm2022/admin/components/admin.component.mjs +3 -3
  86. package/esm2022/admin/components/association/association.component.mjs +3 -3
  87. package/esm2022/admin/components/shared/add-category-modal/add-category-modal.component.mjs +3 -3
  88. package/esm2022/admin/store/admin.effects.mjs +3 -3
  89. package/esm2022/admin/store/admin.service.mjs +3 -3
  90. package/esm2022/components/card/card.component.mjs +18 -18
  91. package/esm2022/components/card/card.module.mjs +4 -4
  92. package/esm2022/components/checkbox/checkbox.component.mjs +3 -3
  93. package/esm2022/components/checkbox/checkbox.module.mjs +4 -4
  94. package/esm2022/components/color-picker/color-picker.component.mjs +3 -3
  95. package/esm2022/components/color-picker/color-picker.module.mjs +4 -4
  96. package/esm2022/components/data-format/data-format.module.mjs +4 -4
  97. package/esm2022/components/data-format/data-format.pipe.mjs +3 -3
  98. package/esm2022/components/expand-panel/expand-panel.component.mjs +6 -6
  99. package/esm2022/components/expand-panel/expand-panel.module.mjs +4 -4
  100. package/esm2022/components/filter/filter.module.mjs +4 -4
  101. package/esm2022/components/filter/filter.pipe.mjs +3 -3
  102. package/esm2022/components/metadata-editor/metadata-editor.component.mjs +3 -3
  103. package/esm2022/components/metadata-editor/metadata-editor.module.mjs +4 -4
  104. package/esm2022/components/metadata-editor/store/metadata.effects.mjs +3 -3
  105. package/esm2022/components/metadata-editor/store/metadata.service.mjs +3 -3
  106. package/esm2022/components/metadata-editor/style/css.component.mjs +3 -3
  107. package/esm2022/components/page-loader/page-loader.component.mjs +3 -3
  108. package/esm2022/components/page-loader/page-loader.module.mjs +4 -4
  109. package/esm2022/components/paginator/paginator.component.mjs +3 -3
  110. package/esm2022/components/paginator/paginator.module.mjs +4 -4
  111. package/esm2022/components/paginator/style/css.component.mjs +3 -3
  112. package/esm2022/components/scheme-picker/scheme-picker.component.mjs +4 -4
  113. package/esm2022/components/scheme-picker/scheme-picker.module.mjs +4 -4
  114. package/esm2022/components/scheme-picker/scheme.service.mjs +3 -3
  115. package/esm2022/components/stepper/step/step.component.mjs +3 -3
  116. package/esm2022/components/stepper/step-title.directive.mjs +3 -3
  117. package/esm2022/components/stepper/stepper.component.mjs +3 -3
  118. package/esm2022/components/stepper/stepper.module.mjs +4 -4
  119. package/esm2022/components/text-editor/component/text-editor.component.mjs +3 -3
  120. package/esm2022/components/text-editor/mdToHtml.pipe.mjs +3 -3
  121. package/esm2022/components/text-editor/service/text-editor.service.mjs +3 -3
  122. package/esm2022/components/text-editor/style/css.component.mjs +3 -3
  123. package/esm2022/components/text-editor/text-editor.module.mjs +4 -4
  124. package/esm2022/dataset/components/dataset-detail/dataset-detail.component.mjs +16 -10
  125. package/esm2022/dataset/components/dataset-version-form/dataset-version-form.component.mjs +3 -3
  126. package/esm2022/dataset/components/dataset.component.mjs +3 -3
  127. package/esm2022/dataset/dataset.module.mjs +4 -4
  128. package/esm2022/dataset/style/css.component.mjs +3 -3
  129. package/esm2022/filters/autocomplete/autocomplete.component.mjs +8 -5
  130. package/esm2022/filters/autocomplete/autocomplete.module.mjs +4 -4
  131. package/esm2022/filters/autocomplete/style/css.component.mjs +3 -3
  132. package/esm2022/filters/date/date-filter.component.mjs +5 -5
  133. package/esm2022/filters/date/date-filter.module.mjs +4 -4
  134. package/esm2022/filters/list/list-filter.component.mjs +6 -6
  135. package/esm2022/filters/list/list-filter.module.mjs +7 -7
  136. package/esm2022/filters/list/style/css.component.mjs +3 -3
  137. package/esm2022/filters/number/number-filter.component.mjs +11 -5
  138. package/esm2022/filters/number/number-filter.module.mjs +4 -4
  139. package/esm2022/filters/text/text-filter.component.mjs +11 -5
  140. package/esm2022/filters/text/text-filter.module.mjs +4 -4
  141. package/esm2022/import/components/form/import-form.component.mjs +3 -3
  142. package/esm2022/import/components/list/import-list.component.mjs +3 -3
  143. package/esm2022/import/components/version-modal/version-modal.component.mjs +3 -3
  144. package/esm2022/import/import-routing.module.mjs +4 -4
  145. package/esm2022/import/import.module.mjs +4 -4
  146. package/esm2022/import/store/import.effects.mjs +3 -3
  147. package/esm2022/import/store/import.service.mjs +3 -3
  148. package/esm2022/import/style/css.component.mjs +3 -3
  149. package/esm2022/lib/core/access/access.directive.mjs +3 -3
  150. package/esm2022/lib/core/access/access.guard.mjs +3 -3
  151. package/esm2022/lib/core/access/access.service.mjs +3 -3
  152. package/esm2022/lib/core/auth/geoAuth.service.mjs +3 -3
  153. package/esm2022/lib/core/components/about/about.component.mjs +3 -3
  154. package/esm2022/lib/core/components/about/pry-about.module.mjs +4 -4
  155. package/esm2022/lib/core/components/accordion/accordion-item/accordion-item.component.mjs +3 -3
  156. package/esm2022/lib/core/components/accordion/accordion.component.mjs +3 -3
  157. package/esm2022/lib/core/components/base-layout/base-layout.component.mjs +3 -3
  158. package/esm2022/lib/core/components/base-menu/base-menu.component.mjs +3 -3
  159. package/esm2022/lib/core/components/base-toolbox/base-toolbox.component.mjs +3 -3
  160. package/esm2022/lib/core/components/base-toolbox-action/base-toolbox-action.component.mjs +3 -3
  161. package/esm2022/lib/core/components/chips-selector/chips-selector.component.mjs +3 -3
  162. package/esm2022/lib/core/components/chips-selector/chips-selector.module.mjs +4 -4
  163. package/esm2022/lib/core/components/date-picker/date-picker.component.mjs +3 -3
  164. package/esm2022/lib/core/components/date-picker/date-picker.module.mjs +4 -4
  165. package/esm2022/lib/core/components/date-picker/date-range-highlight.pipe.mjs +3 -3
  166. package/esm2022/lib/core/components/date-picker/time-picker/loop-scroll-column/loop-scroll-column.component.mjs +3 -3
  167. package/esm2022/lib/core/components/date-picker/time-picker/time-picker.component.mjs +3 -3
  168. package/esm2022/lib/core/components/edit-input/edit-input.component.mjs +3 -3
  169. package/esm2022/lib/core/components/edit-input/edit-input.module.mjs +4 -4
  170. package/esm2022/lib/core/components/ellipsis.directive.mjs +3 -3
  171. package/esm2022/lib/core/components/hidden-when-overlay/hidden-when-overlay.directive.mjs +3 -3
  172. package/esm2022/lib/core/components/hidden-when-overlay/hidden-when-overlay.module.mjs +4 -4
  173. package/esm2022/lib/core/components/icon/icon.component.mjs +3 -3
  174. package/esm2022/lib/core/components/icon/icon.module.mjs +4 -4
  175. package/esm2022/lib/core/components/modal/modal.component.mjs +3 -3
  176. package/esm2022/lib/core/components/modal/pry-modal.module.mjs +4 -4
  177. package/esm2022/lib/core/components/nq-color-selector/nq-color-selector.component.mjs +3 -3
  178. package/esm2022/lib/core/components/overlay/dialog-confirm.component.mjs +3 -3
  179. package/esm2022/lib/core/components/overlay/dialog.service.mjs +3 -3
  180. package/esm2022/lib/core/components/overlay/overlay.directive.mjs +3 -3
  181. package/esm2022/lib/core/components/overlay/overlay.module.mjs +4 -4
  182. package/esm2022/lib/core/components/range/range.component.mjs +3 -3
  183. package/esm2022/lib/core/components/range/range.module.mjs +4 -4
  184. package/esm2022/lib/core/components/select/select.component.mjs +12 -6
  185. package/esm2022/lib/core/components/select/select.module.mjs +4 -4
  186. package/esm2022/lib/core/components/select-image/select-image.component.mjs +3 -3
  187. package/esm2022/lib/core/components/share/access-rights-share/access-rights-share.component.mjs +4 -4
  188. package/esm2022/lib/core/components/share/access-rights-share-modal/access-rights-share-modal.component.mjs +3 -3
  189. package/esm2022/lib/core/components/share/group-share/group-share.component.mjs +3 -3
  190. package/esm2022/lib/core/components/share/legacy-share/share.component.mjs +4 -4
  191. package/esm2022/lib/core/components/share/share.module.mjs +4 -4
  192. package/esm2022/lib/core/components/snackbar/snackbar/snackbar.component.mjs +3 -3
  193. package/esm2022/lib/core/components/snackbar/snackbar.module.mjs +4 -4
  194. package/esm2022/lib/core/components/snackbar/snackbar.service.mjs +3 -3
  195. package/esm2022/lib/core/components/sort/sort-data.pipe.mjs +3 -3
  196. package/esm2022/lib/core/components/sort/sort-header/sort-header.component.mjs +3 -3
  197. package/esm2022/lib/core/components/sort/sort-header.directive.mjs +3 -3
  198. package/esm2022/lib/core/components/sort/sort-table.directive.mjs +3 -3
  199. package/esm2022/lib/core/components/sort/sort.module.mjs +4 -4
  200. package/esm2022/lib/core/components/status-modal/status-modal.component.mjs +3 -3
  201. package/esm2022/lib/core/components/status-modal/status-modal.module.mjs +4 -4
  202. package/esm2022/lib/core/components/tabs/tab-group.component.mjs +3 -3
  203. package/esm2022/lib/core/components/tabs/tab.component.mjs +3 -3
  204. package/esm2022/lib/core/components/toggle/toggle.component.mjs +3 -3
  205. package/esm2022/lib/core/components/toggle/toggle.module.mjs +4 -4
  206. package/esm2022/lib/core/components/upload/upload.component.mjs +3 -3
  207. package/esm2022/lib/core/core.module.mjs +4 -4
  208. package/esm2022/lib/core/errors/http-error-interceptor.service.mjs +3 -3
  209. package/esm2022/lib/core/i18n/i18n.module.mjs +4 -4
  210. package/esm2022/lib/core/i18n/i18n.pipe.mjs +3 -3
  211. package/esm2022/lib/core/i18n/i18n.service.mjs +3 -3
  212. package/esm2022/lib/core/model/filter.interface.mjs +1 -1
  213. package/esm2022/lib/core/pipes/get-secured-image/get-secured-image.pipe.mjs +3 -3
  214. package/esm2022/lib/core/pipes/since-date/since-date.module.mjs +4 -4
  215. package/esm2022/lib/core/pipes/since-date/since-date.pipe.mjs +3 -3
  216. package/esm2022/lib/core/pipes/translate-id/translate-id.pipe.mjs +3 -3
  217. package/esm2022/lib/core/pipes/translate-item-to-symbol/translate-item-to-symbol.pipe.mjs +3 -3
  218. package/esm2022/lib/core/store/aggregation/backend-aggregation.service.mjs +3 -3
  219. package/esm2022/lib/core/store/aggregation/base-aggregation.service.mjs +3 -3
  220. package/esm2022/lib/core/store/aggregation/frontend-aggregation/frontend-aggregation.service.mjs +3 -3
  221. package/esm2022/lib/core/store/category/category.effects.mjs +3 -3
  222. package/esm2022/lib/core/store/category/category.service.mjs +3 -3
  223. package/esm2022/lib/core/store/class/class.effects.mjs +3 -3
  224. package/esm2022/lib/core/store/class/class.service.mjs +3 -3
  225. package/esm2022/lib/core/store/config/config.effects.mjs +3 -3
  226. package/esm2022/lib/core/store/config/config.service.mjs +3 -3
  227. package/esm2022/lib/core/store/config/open-map-tiles.service.mjs +3 -3
  228. package/esm2022/lib/core/store/context-menu/context-menu.effects.mjs +3 -3
  229. package/esm2022/lib/core/store/data-source/data-source.effects.mjs +3 -3
  230. package/esm2022/lib/core/store/data-source/data-source.service.mjs +3 -3
  231. package/esm2022/lib/core/store/field/field.effects.mjs +3 -3
  232. package/esm2022/lib/core/store/field/field.service.mjs +3 -3
  233. package/esm2022/lib/core/store/image/image.effects.mjs +3 -3
  234. package/esm2022/lib/core/store/image/image.service.mjs +3 -3
  235. package/esm2022/lib/core/store/item/item.effects.mjs +3 -3
  236. package/esm2022/lib/core/store/item/item.service.mjs +3 -3
  237. package/esm2022/lib/core/store/raw/raw.service.mjs +3 -3
  238. package/esm2022/lib/core/store/relation-types/relation-types.effects.mjs +3 -3
  239. package/esm2022/lib/core/store/relation-types/relation-types.service.mjs +3 -3
  240. package/esm2022/lib/core/store/search/search.actions.mjs +3 -3
  241. package/esm2022/lib/core/store/search/search.effects.mjs +3 -3
  242. package/esm2022/lib/core/store/search/search.service.mjs +3 -3
  243. package/esm2022/lib/core/symbol/symbol.service.mjs +3 -3
  244. package/esm2022/lib/core/toolbox/toolbox-manifest.service.mjs +3 -3
  245. package/esm2022/lib/core/toolbox/toolbox-menu.service.mjs +3 -3
  246. package/esm2022/lib/core/ws/websocket.service.mjs +3 -3
  247. package/esm2022/lib/dashboard/action-bus/effect/action-bus.effects.mjs +3 -3
  248. package/esm2022/lib/dashboard/action-bus/service/bus.service.mjs +3 -3
  249. package/esm2022/lib/dashboard/base-widget.module.mjs +4 -4
  250. package/esm2022/lib/dashboard/components/context-menu/context-menu.component.mjs +3 -3
  251. package/esm2022/lib/dashboard/components/context-menu/object-edition/object-edition.component.mjs +3 -3
  252. package/esm2022/lib/dashboard/components/dashboard.component.mjs +3 -3
  253. package/esm2022/lib/dashboard/components/manifests/manifests.component.mjs +3 -3
  254. package/esm2022/lib/dashboard/components/metadata/metadata.component.mjs +3 -3
  255. package/esm2022/lib/dashboard/components/subscriptionner.directive.mjs +3 -3
  256. package/esm2022/lib/dashboard/components/vizualize-raw/vizualize-raw.component.mjs +3 -3
  257. package/esm2022/lib/dashboard/components/widgets/base-widget.component.mjs +3 -3
  258. package/esm2022/lib/dashboard/components/widgets/data-widget.component.mjs +3 -3
  259. package/esm2022/lib/dashboard/components/widgets/datasource-selector/datasource-card/datasource-card.component.mjs +5 -5
  260. package/esm2022/lib/dashboard/components/widgets/datasource-selector/datasource-list/datasource-list.component.mjs +3 -3
  261. package/esm2022/lib/dashboard/components/widgets/datasource-selector/datasource-selector.component.mjs +3 -3
  262. package/esm2022/lib/dashboard/components/widgets/header/resultset-size.pipe.mjs +3 -3
  263. package/esm2022/lib/dashboard/components/widgets/header/widget-header.component.mjs +3 -3
  264. package/esm2022/lib/dashboard/components/widgets/settings/settings.component.mjs +3 -3
  265. package/esm2022/lib/dashboard/components/widgets/widget-filler/widget-filler.component.mjs +3 -3
  266. package/esm2022/lib/dashboard/components/widgets/widget-instanciator/widget-factory.service.mjs +3 -3
  267. package/esm2022/lib/dashboard/components/widgets/widget-instanciator/widget-instanciator.component.mjs +3 -3
  268. package/esm2022/lib/dashboard/components/widgets/widget-placeholder/widget-placeholder.component.mjs +3 -3
  269. package/esm2022/lib/dashboard/dashboard.module.mjs +4 -4
  270. package/esm2022/lib/dashboard/filter/base-filter.component.mjs +7 -4
  271. package/esm2022/lib/dashboard/filter/base-filter.module.mjs +4 -4
  272. package/esm2022/lib/dashboard/filter/components/filter-group/filter-group.component.mjs +10 -7
  273. package/esm2022/lib/dashboard/filter/components/filter-instanciator/filter-instanciator.component.mjs +15 -7
  274. package/esm2022/lib/dashboard/filter/filter-factory.service.mjs +3 -3
  275. package/esm2022/lib/dashboard/filter/filter-loader.function.mjs +15 -4
  276. package/esm2022/lib/dashboard/filter/style/css.component.mjs +3 -3
  277. package/esm2022/lib/dashboard/store/dashboard-init.service.mjs +3 -3
  278. package/esm2022/lib/dashboard/store/dashboard.actions.mjs +2 -2
  279. package/esm2022/lib/dashboard/store/dashboard.effects.mjs +3 -3
  280. package/esm2022/lib/dashboard/store/manifest.service.mjs +3 -3
  281. package/esm2022/lib/dashboard/store/refresh.service.mjs +3 -3
  282. package/esm2022/lib/dashboard/store/title.service.mjs +3 -3
  283. package/esm2022/lib/dashboard/store/wms.service.mjs +3 -3
  284. package/esm2022/lib/dashboard/tooltip/base-tooltip.component.mjs +3 -3
  285. package/esm2022/lib/dashboard/tooltip/base-tooltip.module.mjs +4 -4
  286. package/esm2022/lib/dashboard/tooltip/components/default/default.tooltip.component.mjs +3 -3
  287. package/esm2022/lib/dashboard/tooltip/tooltip-factory.service.mjs +3 -3
  288. package/esm2022/lib/dashboard/tooltip/tooltip-loader.function.mjs +15 -4
  289. package/esm2022/notification/components/notification/content/notification-content.component.mjs +3 -3
  290. package/esm2022/notification/components/notification/notification.component.mjs +3 -3
  291. package/esm2022/notification/notification.module.mjs +4 -4
  292. package/esm2022/notification/store/notification.effects.mjs +3 -3
  293. package/esm2022/notification/store/notification.service.mjs +3 -3
  294. package/esm2022/notification/style/css.component.mjs +3 -3
  295. package/esm2022/pipeline/components/pipeline-details/pipeline-details.component.mjs +3 -3
  296. package/esm2022/pipeline/components/pipeline-editor/pipeline-editor.component.mjs +3 -3
  297. package/esm2022/pipeline/components/pipeline-list/pipeline-list.component.mjs +3 -3
  298. package/esm2022/pipeline/components/pipeline-properties-panel.component.mjs +3 -3
  299. package/esm2022/pipeline/factory/pipeline-component-factory.service.mjs +3 -3
  300. package/esm2022/pipeline/pipeline.module.mjs +4 -4
  301. package/esm2022/pipeline/store/pipeline.effects.mjs +3 -3
  302. package/esm2022/pipeline/store/pipeline.service.mjs +3 -3
  303. package/esm2022/pipeline/style/css.component.mjs +3 -3
  304. package/esm2022/pipeline-components/filter/component/filter.component.mjs +3 -3
  305. package/esm2022/pipeline-components/filter/filter.module.mjs +4 -4
  306. package/esm2022/pipeline-components/input-datasource/component/input-datasource.component.mjs +3 -3
  307. package/esm2022/pipeline-components/input-datasource/input-datasource.module.mjs +4 -4
  308. package/esm2022/pipeline-components/noop/component/noop.component.mjs +3 -3
  309. package/esm2022/pipeline-components/noop/noop.module.mjs +4 -4
  310. package/esm2022/pipeline-components/output-dataset/component/output-dataset.component.mjs +3 -3
  311. package/esm2022/pipeline-components/output-dataset/output-dataset.module.mjs +4 -4
  312. package/esm2022/pipeline-components/subgraph/component/empty.component.mjs +3 -3
  313. package/esm2022/pipeline-components/subgraph/subgraph.module.mjs +4 -4
  314. package/esm2022/presentation/components/add-edit-presentation/add-edit-presentation.component.mjs +3 -3
  315. package/esm2022/presentation/components/presentation.component.mjs +5 -5
  316. package/esm2022/presentation/components/title-presentation/title-presentation.component.mjs +5 -5
  317. package/esm2022/presentation/presentation.module.mjs +4 -4
  318. package/esm2022/presentation/style/css.component.mjs +3 -3
  319. package/esm2022/restitution/components/restitution/restitution.component.mjs +3 -3
  320. package/esm2022/restitution/components/restitution-catalog/restitution-catalog.component.mjs +3 -3
  321. package/esm2022/restitution/components/restitution-list/restitution-list.component.mjs +3 -3
  322. package/esm2022/restitution/components/restitution-list-item/restitution-list-item.component.mjs +3 -3
  323. package/esm2022/restitution/restitution.module.mjs +4 -4
  324. package/esm2022/restitution/style/css.component.mjs +3 -3
  325. package/esm2022/search/components/choose-widget/choose-widget.component.mjs +3 -3
  326. package/esm2022/search/components/edit-named-query/edit-named-query.component.mjs +3 -3
  327. package/esm2022/search/components/edit-named-query-modal/edit-named-query-modal.component.mjs +3 -3
  328. package/esm2022/search/components/save-query/save-query.component.mjs +3 -3
  329. package/esm2022/search/components/save-query-button/save-query-button.component.mjs +3 -3
  330. package/esm2022/search/search-fulltext/search-fulltext/search-fulltext.component.mjs +3 -3
  331. package/esm2022/search/search-fulltext/store/search-fulltext.effects.mjs +3 -3
  332. package/esm2022/search/search-fulltext/store/search-fulltext.service.mjs +3 -3
  333. package/esm2022/search/search-home/search-home.component.mjs +3 -3
  334. package/esm2022/search/search-mono-class/components/search-composed/search-composed.component.mjs +3 -3
  335. package/esm2022/search/search-mono-class/components/search-condition/search-condition.component.mjs +3 -3
  336. package/esm2022/search/search-mono-class/components/search-mono-class/search-mono-class.component.mjs +3 -3
  337. package/esm2022/search/search-mono-class/components/search-order/search-order.component.mjs +3 -3
  338. package/esm2022/search/search-mono-class/components/search-select-attribute/search-select-attribute.component.mjs +3 -3
  339. package/esm2022/search/search-mono-class/store/search-mono-class.effects.mjs +3 -3
  340. package/esm2022/search/search-mono-class/store/search-mono-class.service.mjs +3 -3
  341. package/esm2022/search/search-multi-class/components/multi-class-condition/multi-class-condition.component.mjs +3 -3
  342. package/esm2022/search/search-multi-class/components/multi-class-field-selection/multi-class-field-selection.component.mjs +3 -3
  343. package/esm2022/search/search-multi-class/components/search-multi-class/search-multi-class.component.mjs +3 -3
  344. package/esm2022/search/search-multi-class/store/search-multi-class.effects.mjs +3 -3
  345. package/esm2022/search/search-multi-class/store/search-multi-class.service.mjs +3 -3
  346. package/esm2022/search/search-tools/search-tools.component.mjs +3 -3
  347. package/esm2022/search/search.module.mjs +4 -4
  348. package/esm2022/search/style/css.component.mjs +3 -3
  349. package/esm2022/toolbox/components/automate-refresh/automate-refresh.component.mjs +3 -3
  350. package/esm2022/toolbox/components/clear-view/clear-view.component.mjs +3 -3
  351. package/esm2022/toolbox/components/dashboard-details/dashboard-details.component.mjs +3 -3
  352. package/esm2022/toolbox/components/delete/delete.component.mjs +3 -3
  353. package/esm2022/toolbox/components/drag-widgets/drag-widgets.component.mjs +3 -3
  354. package/esm2022/toolbox/components/edit-mode-action/edit-mode-action.component.mjs +3 -3
  355. package/esm2022/toolbox/components/edit-mode-toggle/edit-mode-toggle.component.mjs +3 -3
  356. package/esm2022/toolbox/components/edit-presentation/edit-presentation.component.mjs +3 -3
  357. package/esm2022/toolbox/components/filter-settings/filter-settings.component.mjs +3 -3
  358. package/esm2022/toolbox/components/launch-tab/launch-tab.component.mjs +3 -3
  359. package/esm2022/toolbox/components/named-query/named-query.component.mjs +3 -3
  360. package/esm2022/toolbox/components/refresh-datasets/refresh-datasets.component.mjs +3 -3
  361. package/esm2022/toolbox/components/save-view/save-view.component.mjs +3 -3
  362. package/esm2022/toolbox/components/select-grid-layout/select-grid-layout.component.mjs +3 -3
  363. package/esm2022/toolbox/components/share/share.component.mjs +3 -3
  364. package/esm2022/toolbox/components/switch-to-edit-content/switch-to-edit-content.component.mjs +3 -3
  365. package/esm2022/toolbox/components/toolbox.component.mjs +3 -3
  366. package/esm2022/toolbox/shared/presentation-form/presentation-form.component.mjs +3 -3
  367. package/esm2022/toolbox/shared/toolbox-action/toolbox-action.component.mjs +3 -3
  368. package/esm2022/toolbox/shared/toolbox-action-instanciator/toolbox-action-instanciator.component.mjs +3 -3
  369. package/esm2022/toolbox/style/css.component.mjs +3 -3
  370. package/esm2022/toolbox/toolbox.module.mjs +4 -4
  371. package/esm2022/tooltips/attribute/attribute-tooltip.component.mjs +3 -3
  372. package/esm2022/tooltips/attribute/attribute-tooltip.module.mjs +4 -4
  373. package/esm2022/tooltips/cluster/cluster-tooltip.component.mjs +3 -3
  374. package/esm2022/tooltips/cluster/cluster-tooltip.module.mjs +4 -4
  375. package/esm2022/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.mjs +29 -15
  376. package/esm2022/widgets/widget-aggregated-chart/i18n/en.translations.mjs +2 -1
  377. package/esm2022/widgets/widget-aggregated-chart/i18n/fr.translations.mjs +7 -6
  378. package/esm2022/widgets/widget-aggregated-chart/style/css.component.mjs +3 -3
  379. package/esm2022/widgets/widget-aggregated-chart/widget-aggregated-chart.module.mjs +4 -4
  380. package/esm2022/widgets/widget-analytic/component/widget-analytic.component.mjs +3 -3
  381. package/esm2022/widgets/widget-analytic/style/css.component.mjs +3 -3
  382. package/esm2022/widgets/widget-analytic/widget-analytic.module.mjs +4 -4
  383. package/esm2022/widgets/widget-chart/component/widget-chart.component.mjs +3 -3
  384. package/esm2022/widgets/widget-chart/style/css.component.mjs +3 -3
  385. package/esm2022/widgets/widget-chart/widget-chart.module.mjs +4 -4
  386. package/esm2022/widgets/widget-detail/component/widget-detail.component.mjs +3 -3
  387. package/esm2022/widgets/widget-detail/style/css.component.mjs +3 -3
  388. package/esm2022/widgets/widget-detail/widget-detail.module.mjs +4 -4
  389. package/esm2022/widgets/widget-graph/component/widget-graph.component.mjs +3 -3
  390. package/esm2022/widgets/widget-graph/style/css.component.mjs +3 -3
  391. package/esm2022/widgets/widget-graph/widget-graph.module.mjs +4 -4
  392. package/esm2022/widgets/widget-iframe/component/widget-iframe.component.mjs +3 -3
  393. package/esm2022/widgets/widget-iframe/messaging/iframe-messaging.service.mjs +3 -3
  394. package/esm2022/widgets/widget-iframe/style/css.component.mjs +3 -3
  395. package/esm2022/widgets/widget-iframe/widget-iframe.module.mjs +4 -4
  396. package/esm2022/widgets/widget-image/component/widget-image.component.mjs +3 -3
  397. package/esm2022/widgets/widget-image/style/css.component.mjs +3 -3
  398. package/esm2022/widgets/widget-image/widget-image.module.mjs +4 -4
  399. package/esm2022/widgets/widget-map/component/widget-map-layer.service.mjs +3 -3
  400. package/esm2022/widgets/widget-map/component/widget-map.component.mjs +3 -3
  401. package/esm2022/widgets/widget-map/interaction/tooltip-manager.class.mjs +2 -1
  402. package/esm2022/widgets/widget-map/pipe/widget-map-geometry-fields-for.pipe.mjs +3 -3
  403. package/esm2022/widgets/widget-map/pipe/widget-map-legend-url.pipe.mjs +5 -5
  404. package/esm2022/widgets/widget-map/style/css.component.mjs +3 -3
  405. package/esm2022/widgets/widget-map/widget-map.module.mjs +4 -4
  406. package/esm2022/widgets/widget-table/component/widget-table.component.mjs +3 -3
  407. package/esm2022/widgets/widget-table/expand-value/detach-row.directive.mjs +3 -3
  408. package/esm2022/widgets/widget-table/expand-value/expand-value.component.mjs +3 -3
  409. package/esm2022/widgets/widget-table/get-value/get-value.pipe.mjs +3 -3
  410. package/esm2022/widgets/widget-table/resizable/resizable.component.mjs +3 -3
  411. package/esm2022/widgets/widget-table/resizable/resizable.directive.mjs +3 -3
  412. package/esm2022/widgets/widget-table/style/css.component.mjs +3 -3
  413. package/esm2022/widgets/widget-table/widget-table.module.mjs +4 -4
  414. package/esm2022/widgets/widget-template/component/widget-template.component.mjs +3 -3
  415. package/esm2022/widgets/widget-template/style/css.component.mjs +3 -3
  416. package/esm2022/widgets/widget-template/widget-template.module.mjs +4 -4
  417. package/esm2022/widgets/widget-tile/component/widget-tile.component.mjs +3 -3
  418. package/esm2022/widgets/widget-tile/style/css.component.mjs +3 -3
  419. package/esm2022/widgets/widget-tile/widget-tile.module.mjs +4 -4
  420. package/esm2022/widgets/widget-vega/component/widget-vega.component.mjs +3 -3
  421. package/esm2022/widgets/widget-vega/style/css.component.mjs +3 -3
  422. package/esm2022/widgets/widget-vega/widget-vega.module.mjs +4 -4
  423. package/fesm2022/provoly-dashboard-admin.mjs +267 -267
  424. package/fesm2022/provoly-dashboard-admin.mjs.map +1 -1
  425. package/fesm2022/provoly-dashboard-components-card.mjs +22 -22
  426. package/fesm2022/provoly-dashboard-components-checkbox.mjs +7 -7
  427. package/fesm2022/provoly-dashboard-components-color-picker.mjs +7 -7
  428. package/fesm2022/provoly-dashboard-components-data-format.mjs +7 -7
  429. package/fesm2022/provoly-dashboard-components-expand-panel.mjs +10 -10
  430. package/fesm2022/provoly-dashboard-components-filter.mjs +7 -7
  431. package/fesm2022/provoly-dashboard-components-metadata-editor.mjs +16 -16
  432. package/fesm2022/provoly-dashboard-components-metadata-editor.mjs.map +1 -1
  433. package/fesm2022/provoly-dashboard-components-page-loader.mjs +7 -7
  434. package/fesm2022/provoly-dashboard-components-paginator.mjs +10 -10
  435. package/fesm2022/provoly-dashboard-components-scheme-picker.mjs +11 -11
  436. package/fesm2022/provoly-dashboard-components-scheme-picker.mjs.map +1 -1
  437. package/fesm2022/provoly-dashboard-components-stepper.mjs +13 -13
  438. package/fesm2022/provoly-dashboard-components-text-editor.mjs +16 -16
  439. package/fesm2022/provoly-dashboard-dataset.mjs +28 -22
  440. package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
  441. package/fesm2022/provoly-dashboard-filters-autocomplete.mjs +14 -11
  442. package/fesm2022/provoly-dashboard-filters-autocomplete.mjs.map +1 -1
  443. package/fesm2022/provoly-dashboard-filters-date.mjs +8 -8
  444. package/fesm2022/provoly-dashboard-filters-date.mjs.map +1 -1
  445. package/fesm2022/provoly-dashboard-filters-list.mjs +14 -14
  446. package/fesm2022/provoly-dashboard-filters-list.mjs.map +1 -1
  447. package/fesm2022/provoly-dashboard-filters-number.mjs +14 -8
  448. package/fesm2022/provoly-dashboard-filters-number.mjs.map +1 -1
  449. package/fesm2022/provoly-dashboard-filters-text.mjs +14 -8
  450. package/fesm2022/provoly-dashboard-filters-text.mjs.map +1 -1
  451. package/fesm2022/provoly-dashboard-import.mjs +26 -26
  452. package/fesm2022/provoly-dashboard-import.mjs.map +1 -1
  453. package/fesm2022/provoly-dashboard-notification.mjs +19 -19
  454. package/fesm2022/provoly-dashboard-pipeline-components-filter.mjs +7 -7
  455. package/fesm2022/provoly-dashboard-pipeline-components-filter.mjs.map +1 -1
  456. package/fesm2022/provoly-dashboard-pipeline-components-input-datasource.mjs +7 -7
  457. package/fesm2022/provoly-dashboard-pipeline-components-input-datasource.mjs.map +1 -1
  458. package/fesm2022/provoly-dashboard-pipeline-components-noop.mjs +7 -7
  459. package/fesm2022/provoly-dashboard-pipeline-components-output-dataset.mjs +7 -7
  460. package/fesm2022/provoly-dashboard-pipeline-components-output-dataset.mjs.map +1 -1
  461. package/fesm2022/provoly-dashboard-pipeline-components-subgraph.mjs +7 -7
  462. package/fesm2022/provoly-dashboard-pipeline.mjs +28 -28
  463. package/fesm2022/provoly-dashboard-presentation.mjs +18 -18
  464. package/fesm2022/provoly-dashboard-presentation.mjs.map +1 -1
  465. package/fesm2022/provoly-dashboard-restitution.mjs +19 -19
  466. package/fesm2022/provoly-dashboard-restitution.mjs.map +1 -1
  467. package/fesm2022/provoly-dashboard-search.mjs +73 -73
  468. package/fesm2022/provoly-dashboard-search.mjs.map +1 -1
  469. package/fesm2022/provoly-dashboard-toolbox.mjs +67 -67
  470. package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
  471. package/fesm2022/provoly-dashboard-tooltips-attribute.mjs +7 -7
  472. package/fesm2022/provoly-dashboard-tooltips-cluster.mjs +7 -7
  473. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs +42 -26
  474. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs.map +1 -1
  475. package/fesm2022/provoly-dashboard-widgets-widget-analytic.mjs +10 -10
  476. package/fesm2022/provoly-dashboard-widgets-widget-analytic.mjs.map +1 -1
  477. package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs +10 -10
  478. package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs.map +1 -1
  479. package/fesm2022/provoly-dashboard-widgets-widget-detail.mjs +10 -10
  480. package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs +10 -10
  481. package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs.map +1 -1
  482. package/fesm2022/provoly-dashboard-widgets-widget-iframe.mjs +13 -13
  483. package/fesm2022/provoly-dashboard-widgets-widget-image.mjs +10 -10
  484. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +21 -20
  485. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
  486. package/fesm2022/provoly-dashboard-widgets-widget-table.mjs +25 -25
  487. package/fesm2022/provoly-dashboard-widgets-widget-table.mjs.map +1 -1
  488. package/fesm2022/provoly-dashboard-widgets-widget-template.mjs +10 -10
  489. package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs +10 -10
  490. package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs.map +1 -1
  491. package/fesm2022/provoly-dashboard-widgets-widget-vega.mjs +10 -10
  492. package/fesm2022/provoly-dashboard.mjs +492 -450
  493. package/fesm2022/provoly-dashboard.mjs.map +1 -1
  494. package/filters/autocomplete/autocomplete.component.d.ts +1 -0
  495. package/filters/list/list-filter.module.d.ts +1 -1
  496. package/filters/number/number-filter.component.d.ts +1 -0
  497. package/filters/text/text-filter.component.d.ts +1 -0
  498. package/lib/core/components/select/select.component.d.ts +3 -1
  499. package/lib/core/model/filter.interface.d.ts +1 -0
  500. package/lib/core/store/search/search.actions.d.ts +4 -4
  501. package/lib/core/store/search/search.effects.d.ts +3 -3
  502. package/lib/dashboard/filter/base-filter.component.d.ts +2 -1
  503. package/lib/dashboard/filter/components/filter-group/filter-group.component.d.ts +2 -1
  504. package/lib/dashboard/filter/components/filter-instanciator/filter-instanciator.component.d.ts +3 -2
  505. package/lib/dashboard/store/dashboard.actions.d.ts +2 -2
  506. package/lib/dashboard/store/dashboard.effects.d.ts +3 -3
  507. package/package.json +7 -7
  508. package/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.d.ts +1 -0
  509. package/widgets/widget-aggregated-chart/i18n/en.translations.d.ts +1 -0
  510. package/widgets/widget-aggregated-chart/i18n/fr.translations.d.ts +1 -0
@@ -494,10 +494,10 @@ export class DashboardEffects {
494
494
  dashboardInitService.init();
495
495
  refreshService.start();
496
496
  }
497
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: DashboardEffects, deps: [{ token: i1.DashboardInitService }, { token: i2.Actions }, { token: i3.Store }, { token: i4.ManifestService }, { token: i5.ItemService }, { token: i6.PryTitleService }, { token: i7.PryI18nService }, { token: i8.PrySnackbarService }, { token: i9.Router }, { token: i10.RefreshService }, { token: i11.ToolboxManifestService }, { token: i12.BusService }, { token: i13.SearchService }, { token: i14.PryDialogService }, { token: i15.WmsService }, { token: i16.WidgetFactoryService }, { token: i7.PryI18nService }], target: i0.ɵɵFactoryTarget.Injectable }); }
498
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: DashboardEffects }); }
497
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: DashboardEffects, deps: [{ token: i1.DashboardInitService }, { token: i2.Actions }, { token: i3.Store }, { token: i4.ManifestService }, { token: i5.ItemService }, { token: i6.PryTitleService }, { token: i7.PryI18nService }, { token: i8.PrySnackbarService }, { token: i9.Router }, { token: i10.RefreshService }, { token: i11.ToolboxManifestService }, { token: i12.BusService }, { token: i13.SearchService }, { token: i14.PryDialogService }, { token: i15.WmsService }, { token: i16.WidgetFactoryService }, { token: i7.PryI18nService }], target: i0.ɵɵFactoryTarget.Injectable }); }
498
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: DashboardEffects }); }
499
499
  }
500
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: DashboardEffects, decorators: [{
500
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: DashboardEffects, decorators: [{
501
501
  type: Injectable
502
502
  }], ctorParameters: () => [{ type: i1.DashboardInitService }, { type: i2.Actions }, { type: i3.Store }, { type: i4.ManifestService }, { type: i5.ItemService }, { type: i6.PryTitleService }, { type: i7.PryI18nService }, { type: i8.PrySnackbarService }, { type: i9.Router }, { type: i10.RefreshService }, { type: i11.ToolboxManifestService }, { type: i12.BusService }, { type: i13.SearchService }, { type: i14.PryDialogService }, { type: i15.WmsService }, { type: i16.WidgetFactoryService }, { type: i7.PryI18nService }] });
503
503
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLmVmZmVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvZGFzaGJvYXJkL3N0b3JlL2Rhc2hib2FyZC5lZmZlY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFXLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlFLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RyxPQUFPLEVBQ0wseUJBQXlCLEVBRTFCLE1BQU0sd0RBQXdELENBQUM7QUFJaEUsT0FBTyxFQUFFLG1CQUFtQixFQUFrQyxNQUFNLHFDQUFxQyxDQUFDO0FBSTFHLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUkxRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUNyRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFcEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBTTNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDOzs7Ozs7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LEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUN4RSxRQUFRLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUNsQixJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDbkQsUUFBUSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztZQUNyQixnQkFBZ0IsQ0FBQyxjQUFjLENBQUM7Z0JBQzlCLFFBQVE7Z0JBQ1IsV0FBVyxFQUFFLEVBQUU7Z0JBQ2YsVUFBVSxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsRUFBRTthQUNuQyxDQUFDO1lBQ0YsZ0JBQWdCLENBQUMsc0JBQXNCLENBQUM7Z0JBQ3RDLE9BQU8sRUFBRSxNQUFNLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUTthQUNyRSxDQUFDO1lBQ0YsZ0JBQWdCLENBQUMsb0JBQW9CLENBQUM7Z0JBQ3BDLElBQUksRUFBRSxNQUFNLENBQUMsUUFBUTthQUN0QixDQUFDO1lBQ0YsZ0JBQWdCLENBQUMsbUJBQW1CLEVBQUU7U0FDdkMsQ0FBQyxDQUNILENBQ0YsQ0FDRixDQUNGLENBQUM7UUFxQkEsb0JBQW9CLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDNUIsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3pCLENBQUM7OEdBOTVCVSxnQkFBZ0I7a0hBQWhCLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFENUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBBY3Rpb25zLCBjcmVhdGVFZmZlY3QsIG9mVHlwZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBkZWxheSwgbWVyZ2UsIG9mLCBzdGFydFdpdGgsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGRlYm91bmNlVGltZSwgZmlsdGVyLCBtYXAsIG1lcmdlTWFwLCB0YXAsIHdpdGhMYXRlc3RGcm9tIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgUHJ5RGlhbG9nQ29uZmlybUNvbXBvbmVudCxcbiAgUHJ5RGlhbG9nQ29uZmlybURhdGFcbn0gZnJvbSAnLi4vLi4vY29yZS9jb21wb25lbnRzL292ZXJsYXkvZGlhbG9nLWNvbmZpcm0uY29tcG9uZW50JztcbmltcG9ydCB7IFByeURpYWxvZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL2NvbXBvbmVudHMvb3ZlcmxheS9kaWFsb2cuc2VydmljZSc7XG5pbXBvcnQgeyBQcnlTbmFja2JhclNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL2NvbXBvbmVudHMvc25hY2tiYXIvc25hY2tiYXIuc2VydmljZSc7XG5pbXBvcnQgeyBQcnlJMThuU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvaTE4bi9pMThuLnNlcnZpY2UnO1xuaW1wb3J0IHsgRGFzaGJvYXJkR3JpZExheW91dCwgR2xvYmFsTWFuaWZlc3QsIFdpZGdldE1hbmlmZXN0IH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbC9tYW5pZmVzdC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ2hhcnRXaWRnZXRPcHRpb25zIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbC93aWRnZXQtY2hhcnQtbWFuaWZlc3QuaW50ZXJmYWNlJztcbmltcG9ydCB7IE1hcFdpZGdldE9wdGlvbnMgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVsL3dpZGdldC1tYXAtbWFuaWZlc3QuaW50ZXJmYWNlJztcbmltcG9ydCB7IEl0ZW1TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9zdG9yZS9pdGVtL2l0ZW0uc2VydmljZSc7XG5pbXBvcnQgeyBTZWFyY2hBY3Rpb25zIH0gZnJvbSAnLi4vLi4vY29yZS9zdG9yZS9zZWFyY2gvc2VhcmNoLmFjdGlvbnMnO1xuaW1wb3J0IHsgREVGQVVMVF9OQU1FRF9RVUVSWV9JRCwgRVhQTE9SRV9OQU1FRF9RVUVSWV9JRCB9IGZyb20gJy4uLy4uL2NvcmUvc3RvcmUvc2VhcmNoL3NlYXJjaC5jb25zdGFudHMnO1xuaW1wb3J0IHsgU2VhcmNoU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc3RvcmUvc2VhcmNoL3NlYXJjaC5zZXJ2aWNlJztcbmltcG9ydCB7IFRvb2xib3hNYW5pZmVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3Rvb2xib3gvdG9vbGJveC1tYW5pZmVzdC5zZXJ2aWNlJztcbmltcG9ydCB7IEJ1c1NlcnZpY2UgfSBmcm9tICcuLi9hY3Rpb24tYnVzL3NlcnZpY2UvYnVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgV2lkZ2V0UGxhY2VtZW50VXRpbHMgfSBmcm9tICcuLi9jb21wb25lbnRzL3dpZGdldHMvd2lkZ2V0LXBsYWNlbWVudC93aWRnZXQtcGxhY2VtZW50LnV0aWxzJztcbmltcG9ydCB7IFJlc3VsdHNldFV0aWxzIH0gZnJvbSAnLi4vcmVzdWx0c2V0LXV0aWxzJztcbmltcG9ydCB7IERhc2hib2FyZEluaXRTZXJ2aWNlIH0gZnJvbSAnLi9kYXNoYm9hcmQtaW5pdC5zZXJ2aWNlJztcbmltcG9ydCB7IERhc2hib2FyZEFjdGlvbnMsIFZpZXdNb2RlIH0gZnJvbSAnLi9kYXNoYm9hcmQuYWN0aW9ucyc7XG5pbXBvcnQgeyBEYXNoYm9hcmRTZWxlY3RvcnMgfSBmcm9tICcuL2Rhc2hib2FyZC5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgTWFuaWZlc3RTZXJ2aWNlIH0gZnJvbSAnLi9tYW5pZmVzdC5zZXJ2aWNlJztcbmltcG9ydCB7IFJlZnJlc2hTZXJ2aWNlIH0gZnJvbSAnLi9yZWZyZXNoLnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJ5VGl0bGVTZXJ2aWNlIH0gZnJvbSAnLi90aXRsZS5zZXJ2aWNlJztcbmltcG9ydCB7IFdtc1NlcnZpY2UgfSBmcm9tICcuL3dtcy5zZXJ2aWNlJztcbmltcG9ydCB7IFdpZGdldEZhY3RvcnlTZXJ2aWNlIH0gZnJvbSAnLi4vY29tcG9uZW50cy93aWRnZXRzL3dpZGdldC1pbnN0YW5jaWF0b3Ivd2lkZ2V0LWZhY3Rvcnkuc2VydmljZSc7XG5pbXBvcnQgeyBEYXRhU291cmNlU2VsZWN0b3JzIH0gZnJvbSAnLi4vLi4vY29yZS9zdG9yZS9kYXRhLXNvdXJjZS9kYXRhLXNvdXJjZS5zZWxlY3RvcnMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRGFzaGJvYXJkRWZmZWN0cyB7XG4gIGpvaW4kID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKERhc2hib2FyZEFjdGlvbnMuam9pbiksXG4gICAgICBkZWxheSgxMDAwKSxcbiAgICAgIHdpdGhMYXRlc3RGcm9tKFxuICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMucmFuayksXG4gICAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy50ZW5hbnRzKSxcbiAgICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoRGFzaGJvYXJkU2VsZWN0b3JzLmdsb2JhbE1hbmlmZXN0KSxcbiAgICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoRGFzaGJvYXJkU2VsZWN0b3JzLnJlc3VsdFNldHMpLFxuICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMuc2VsZWN0ZWRJdGVtSWRzKSxcbiAgICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoRGFzaGJvYXJkU2VsZWN0b3JzLnByZXNlbnRhdGlvbiksXG4gICAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5kaXNwbGF5T3B0aW9ucylcbiAgICAgICksXG4gICAgICBmaWx0ZXIoKFthY3Rpb24sIHJhbmssIHRlbmFudHMsIG1hbmlmZXN0LCByZXN1bHRTZXRzLCBkaXNwbGF5XSkgPT4gcmFuayA9PT0gMCksXG4gICAgICBkZWJvdW5jZVRpbWUoMjAwKSxcbiAgICAgIG1hcCgoW2FjdGlvbiwgcmFuaywgdGVuYW50cywgbWFuaWZlc3QsIHJlc3VsdFNldHMsIHNlbGVjdGVkSWRzLCBwcmVzZW50YXRpb24sIGRpc3BsYXldKSA9PlxuICAgICAgICBEYXNoYm9hcmRBY3Rpb25zLnVwZGF0ZU1hbmlmZXN0QWZ0ZXJUZW5hbnRKb2luKHtcbiAgICAgICAgICB0ZW5hbnRzLCAvLyB3ZSBhbHJlYWR5IGhhdmUgYWRkZWQgdGVuYW50IGluIHRoZSByZWR1Y2Ugb2YgdGhlIFwiam9pblwiIGFjdGlvblxuICAgICAgICAgIG1hbmlmZXN0OiB7XG4gICAgICAgICAgICAuLi5tYW5pZmVzdCxcbiAgICAgICAgICAgIHdpbmRvd3M6IG1hbmlmZXN0LndpbmRvd3NcbiAgICAgICAgICB9LFxuICAgICAgICAgIHJlc3VsdFNldHMsXG4gICAgICAgICAgc2VsZWN0ZWRJZHMsXG4gICAgICAgICAgam9pbmluZzogdHJ1ZSxcbiAgICAgICAgICBwcmVzZW50YXRpb24sXG4gICAgICAgICAgZGlzcGxheVxuICAgICAgICB9KVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBsZWF2ZSQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUoRGFzaGJvYXJkQWN0aW9ucy5sZWF2ZSksXG4gICAgICB3aXRoTGF0ZXN0RnJvbShcbiAgICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoRGFzaGJvYXJkU2VsZWN0b3JzLnJhbmspLFxuICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMudGVuYW50cyksXG4gICAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5nbG9iYWxNYW5pZmVzdCksXG4gICAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5zZWxlY3RlZEl0ZW1JZHMpXG4gICAgICApLFxuICAgICAgZmlsdGVyKChbYWN0aW9uLCByYW5rLCB0ZW5hbnRzLCBtYW5pZmVzdF0pID0+IHJhbmsgPT09IDAgfHwgKHRlbmFudHNbMF0gPT09IGFjdGlvbi5zZW5kZXIgJiYgcmFuayA9PT0gMSkpLFxuICAgICAgbWFwKChbYWN0aW9uLCByYW5rLCB0ZW5hbnRzLCBtYW5pZmVzdCwgc2VsZWN0ZWRJZHNdKSA9PiB7XG4gICAgICAgIGNvbnN0IGxlYXZlclJhbmsgPSB0ZW5hbnRzLmluZGV4T2YoYWN0aW9uLnNlbmRlcik7XG4gICAgICAgIGNvbnN0IG5ld1RlbmFudHNMaXN0ID0gWy4uLnRlbmFudHNdO1xuICAgICAgICBjb25zdCBuZXdXaW5kb3dMaXN0ID0gWy4uLm1hbmlmZXN0LndpbmRvd3NdO1xuICAgICAgICBpZiAobGVhdmVyUmFuayA+IC0xKSB7XG4gICAgICAgICAgbmV3VGVuYW50c0xpc3Quc3BsaWNlKGxlYXZlclJhbmssIDEpO1xuICAgICAgICAgIG5ld1dpbmRvd0xpc3Quc3BsaWNlKGxlYXZlclJhbmssIDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIERhc2hib2FyZEFjdGlvbnMudXBkYXRlTWFuaWZlc3RBZnRlclRlbmFudExlYXZlKHtcbiAgICAgICAgICB0ZW5hbnRzOiBuZXdUZW5hbnRzTGlzdCxcbiAgICAgICAgICBtYW5pZmVzdDoge1xuICAgICAgICAgICAgLi4ubWFuaWZlc3QsXG4gICAgICAgICAgICB3aW5kb3dzOiBuZXdXaW5kb3dMaXN0XG4gICAgICAgICAgfSxcbiAgICAgICAgICBzZWxlY3RlZElkc1xuICAgICAgICB9KTtcbiAgICAgIH0pXG4gICAgKVxuICApO1xuXG4gIGZldGNoU3RhdGljTWFuaWZlc3QkID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKERhc2hib2FyZEFjdGlvbnMuZmV0Y2hTdGF0aWNNYW5pZmVzdCksXG4gICAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMucmFuayksIHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5zZWxlY3RlZEl0ZW1JZHMpKSxcbiAgICAgIGZpbHRlcigoW2FjdGlvbiwgcmFua10pID0+IHJhbmsgPT09IDApLFxuICAgICAgbWVyZ2VNYXAoKFthY3Rpb24sIHJhbmtdKSA9PlxuICAgICAgICB0aGlzLm1hbmlmZXN0U2VydmljZVxuICAgICAgICAgIC5nZXQoYWN0aW9uLmlkKVxuICAgICAgICAgIC5waXBlKG1hcCgoc3RhdGljTWFuaWZlc3QpID0+IERhc2hib2FyZEFjdGlvbnMudXBkYXRlU3RhdGljTWFuaWZlc3QoeyBzdGF0aWNNYW5pZmVzdCB9KSkpXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIGxvYWRBbmRBY3RpdmF0ZU1hbmlmZXN0JCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShEYXNoYm9hcmRBY3Rpb25zLmxvYWRBbmRBY3RpdmF0ZU1hbmlmZXN0LCBEYXNoYm9hcmRBY3Rpb25zLmxvYWRNYW5pZmVzdCksXG4gICAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMucmFuayksIHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5zZWxlY3RlZEl0ZW1JZHMpKSxcbiAgICAgIGZpbHRlcigoW2FjdGlvbiwgcmFua10pID0+IHJhbmsgPT09IDApLFxuICAgICAgbWVyZ2VNYXAoKFthY3Rpb24sIHJhbmssIHNlbGVjdGVkSWRzXSkgPT5cbiAgICAgICAgdGhpcy5tYW5pZmVzdFNlcnZpY2UuZ2V0KGFjdGlvbi5pZCkucGlwZShcbiAgICAgICAgICBtZXJnZU1hcCgobWFuaWZlc3QpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBhY3Rpb24udHlwZSA9PT0gRGFzaGJvYXJkQWN0aW9ucy5sb2FkQW5kQWN0aXZhdGVNYW5pZmVzdC50eXBlXG4gICAgICAgICAgICAgID8gW1xuICAgICAgICAgICAgICAgICAgRGFzaGJvYXJkQWN0aW9ucy51cGRhdGVNYW5pZmVzdEFmdGVyRmV0Y2goeyBtYW5pZmVzdCwgbWFuaWZlc3RJZDogYWN0aW9uLmlkLCBzZWxlY3RlZElkcyB9KSxcbiAgICAgICAgICAgICAgICAgIERhc2hib2FyZEFjdGlvbnMuZm9sbG93TWFuaWZlc3RSb3V0ZSgpXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICA6IFtEYXNoYm9hcmRBY3Rpb25zLnVwZGF0ZU1hbmlmZXN0V2l0aG91dEFjdGl2YXRpb24oeyBtYW5pZmVzdCwgbWFuaWZlc3RJZDogYWN0aW9uLmlkLCBzZWxlY3RlZElkcyB9KV07XG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBjbGVhck1hbmlmZXN0JCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShEYXNoYm9hcmRBY3Rpb25zLmNsZWFyTWFuaWZlc3QpLFxuICAgICAgd2l0aExhdGVzdEZyb20oXG4gICAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5nbG9iYWxNYW5pZmVzdCksXG4gICAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5zZWxlY3RlZEl0ZW1JZHMpXG4gICAgICApLFxuICAgICAgbWFwKChbYWN0aW9uLCBtYW5pZmVzdCwgc2VsZWN0ZWRJZHNdKSA9PlxuICAgICAgICBEYXNoYm9hcmRBY3Rpb25zLnVwZGF0ZU1hbmlmZXN0QWZ0ZXJGZXRjaCh7IG1hbmlmZXN0LCBtYW5pZmVzdElkOiAnJywgc2VsZWN0ZWRJZHMgfSlcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgZG93bmxvYWRNYW5pZmVzdCQgPSBjcmVhdGVFZmZlY3QoXG4gICAgKCkgPT5cbiAgICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgICAgb2ZUeXBlKERhc2hib2FyZEFjdGlvbnMuZG93bmxvYWRNYW5pZmVzdCksXG4gICAgICAgIHRhcCgoYWN0aW9uKSA9PlxuICAgICAgICAgIHRoaXMubWFuaWZlc3RTZXJ2aWNlLmdldChhY3Rpb24uaWQpLnN1YnNjcmliZSgobWFuaWZlc3Q6IEdsb2JhbE1hbmlmZXN0KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBkYXRhU3RyID0gJ2RhdGE6dGV4dC9qc29uO2NoYXJzZXQ9dXRmLTgsJyArIGVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShtYW5pZmVzdCkpO1xuICAgICAgICAgICAgY29uc3QgZGxBbmNob3JFbGVtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuICAgICAgICAgICAgZGxBbmNob3JFbGVtLnNldEF0dHJpYnV0ZSgnaHJlZicsIGRhdGFTdHIpO1xuICAgICAgICAgICAgZGxBbmNob3JFbGVtLnNldEF0dHJpYnV0ZSgnZG93bmxvYWQnLCBgJHthY3Rpb24ubmFtZX0uanNvbmApO1xuICAgICAgICAgICAgZGxBbmNob3JFbGVtLmNsaWNrKCk7XG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgKSxcbiAgICB7IGRpc3BhdGNoOiBmYWxzZSB9XG4gICk7XG5cbiAgZm9sbG93TWFuaWZlc3RSb3V0ZSQgPSBjcmVhdGVFZmZlY3QoXG4gICAgKCkgPT5cbiAgICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgICAgb2ZUeXBlKERhc2hib2FyZEFjdGlvbnMuZm9sbG93TWFuaWZlc3RSb3V0ZSksXG4gICAgICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy53aW5kb3dNYW5pZmVzdCkpLFxuICAgICAgICB0YXAoKFthY3Rpb24sIG1hbmlmZXN0XSkgPT4ge1xuICAgICAgICAgIGlmIChtYW5pZmVzdC5yb3V0ZSkge1xuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChtYW5pZmVzdC5yb3V0ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgKSxcbiAgICB7IGRpc3BhdGNoOiBmYWxzZSB9XG4gICk7XG5cbiAgZW5kTG9hZGluZ0FmdGVyRm9sbG93aW5nTWFuaWZlc3RSb3V0ZSQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUoRGFzaGJvYXJkQWN0aW9ucy5mb2xsb3dNYW5pZmVzdFJvdXRlKSxcbiAgICAgIG1hcCgoYWN0aW9uKSA9PiBEYXNoYm9hcmRBY3Rpb25zLmVuZExvYWRpbmcoKSlcbiAgICApXG4gICk7XG5cbiAgcmVxdWVzdE1hbmlmZXN0Um91dGUkID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKERhc2hib2FyZEFjdGlvbnMucmVxdWVzdEFsbFJvdXRlcyksXG4gICAgICBtYXAoKCkgPT4gRGFzaGJvYXJkQWN0aW9ucy51cGRhdGVSb3V0ZU1hbmlmZXN0KHsgcm91dGU6IHRoaXMucm91dGVyLnVybCB9KSlcbiAgICApXG4gICk7XG5cbiAgYXNzZXJ0UmVzdWx0U2V0cyQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUoXG4gICAgICAgIERhc2hib2FyZEFjdGlvbnMuYXNzZXJ0UmVzdWx0U2V0cyxcbiAgICAgICAgRGFzaGJvYXJkQWN0aW9ucy5kaXNwYXRjaEZpbHRlcnMsXG4gICAgICAgIERhc2hib2FyZEFjdGlvbnMuY2xlYXJBbGxGaWx0ZXJWYWx1ZXNcbiAgICAgICksXG4gICAgICB3aXRoTGF0ZXN0RnJvbShcbiAgICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoRGFzaGJvYXJkU2VsZWN0b3JzLmdsb2JhbE1hbmlmZXN0KSxcbiAgICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoRGFzaGJvYXJkU2VsZWN0b3JzLnJlc3VsdFNldHMpLFxuICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMucmVzdWx0U2V0c1BhcmFtcyksXG4gICAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5xdWlja09yZGVyKVxuICAgICAgKSxcbiAgICAgIG1lcmdlTWFwKChbYWN0aW9uLCBtYW5pZmVzdCwgcmVzdWx0U2V0cywgcmVzdWx0U2V0c1BhcmFtcywgcXVpY2tPcmRlcl0pID0+IHtcbiAgICAgICAgY29uc3QgbWFuaWZlc3RUb0NoZWNrOiBHbG9iYWxNYW5pZmVzdCA9XG4gICAgICAgICAgYWN0aW9uLnR5cGUgPT09IERhc2hib2FyZEFjdGlvbnMuYXNzZXJ0UmVzdWx0U2V0cy50eXBlICYmIGFjdGlvbi5zdGF0aWNNYW5pZmVzdFxuICAgICAgICAgICAgPyB7IHdpbmRvd3M6IFthY3Rpb24uc3RhdGljTWFuaWZlc3RdIH1cbiAgICAgICAgICAgIDogbWFuaWZlc3Q7XG5cbiAgICAgICAgLy8gRmlyc3Qgc2VuZCBhZ2dyZWdhdGUgdXBkYXRlc1xuICAgICAgICBjb25zdCB0b0FnZ3JlZ2F0ZUFjdGlvbnMgPSAoXG4gICAgICAgICAgW1xuICAgICAgICAgICAgLi4ubmV3IFNldChcbiAgICAgICAgICAgICAgbWFuaWZlc3RUb0NoZWNrLndpbmRvd3NcbiAgICAgICAgICAgICAgICAubWFwKCh3aW5NYW5pZmVzdCkgPT4gKHdpbk1hbmlmZXN0ID8/IHt9KS53aWRnZXRzID8/IFtdKVxuICAgICAgICAgICAgICAgIC5yZWR1Y2UoKHAsIGMpID0+IFsuLi5wLCAuLi5jXSwgW10pXG4gICAgICAgICAgICAgICAgLm1hcCgod2lkTWFuaWZlc3QpID0+IHRoaXMud2lkZ2V0RmFjdG9yeVNlcnZpY2UuYWdncmVnYXRlc1RvQXV0b0xvYWQod2lkTWFuaWZlc3QpKVxuICAgICAgICAgICAgICAgIC5yZWR1Y2UoKHAsIGMpID0+IFsuLi5wLCAuLi5jXSwgW10gYXMgc3RyaW5nW10pXG4gICAgICAgICAgICApXG4gICAgICAgICAgXSBhcyBzdHJpbmdbXVxuICAgICAgICApLm1hcCgoZHMpID0+IERhc2hib2FyZEFjdGlvbnMudHJpZ2dlckFnZ3JlZ2F0ZSh7IGlkOiBkcyB9KSk7XG5cbiAgICAgICAgY29uc3QgdG9JdGVtc0FjdGlvbnMgPSBPYmplY3QudmFsdWVzKFxuICAgICAgICAgIG1hbmlmZXN0VG9DaGVjay53aW5kb3dzXG4gICAgICAgICAgICAubWFwKCh3aW5NYW5pZmVzdCkgPT4gKHdpbk1hbmlmZXN0ID8/IHt9KS53aWRnZXRzID8/IFtdKVxuICAgICAgICAgICAgLnJlZHVjZSgocCwgYykgPT4gWy4uLnAsIC4uLmNdLCBbXSlcbiAgICAgICAgICAgIC5tYXAoKHdpZE1hbmlmZXN0KSA9PiB0aGlzLndpZGdldEZhY3RvcnlTZXJ2aWNlLmRhdGFzb3VyY2VzVG9BdXRvTG9hZCh3aWRNYW5pZmVzdCkpXG4gICAgICAgICAgICAuZmxhdCgpXG4gICAgICAgICAgICAucmVkdWNlKFxuICAgICAgICAgICAgICAocCwgYykgPT4gKHtcbiAgICAgICAgICAgICAgICAuLi5wLFxuICAgICAgICAgICAgICAgIFtjLmRhdGFzZXRJZF06IHtcbiAgICAgICAgICAgICAgICAgIC4uLnBbYy5kYXRhc2V0SWRdLFxuICAgICAgICAgICAgICAgICAgLi4uYyxcbiAgICAgICAgICAgICAgICAgIGV4Y2x1ZGVHZW86IHBbYy5kYXRhc2V0SWRdPy5leGNsdWRlR2VvID09PSBmYWxzZSA/IHBbYy5kYXRhc2V0SWRdLmV4Y2x1ZGVHZW8gOiBjLmV4Y2x1ZGVHZW9cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICB7fSBhcyB7IFtrZXk6IHN0cmluZ106IHsgZGF0YXNldElkOiBzdHJpbmc7IGV4Y2x1ZGVHZW86IGJvb2xlYW4gfSB9XG4gICAgICAgICAgICApXG4gICAgICAgIClcbiAgICAgICAgICAuZmlsdGVyKFxuICAgICAgICAgICAgKHJlc3VsdFNldCkgPT5cbiAgICAgICAgICAgICAgISFyZXN1bHRTZXQuZGF0YXNldElkICYmXG4gICAgICAgICAgICAgIHJlc3VsdFNldC5kYXRhc2V0SWQgIT09ICcnICYmXG4gICAgICAgICAgICAgICghcmVzdWx0U2V0c1tyZXN1bHRTZXQuZGF0YXNldElkXSB8fFxuICAgICAgICAgICAgICAgIHJlc3VsdFNldHNQYXJhbXNbcmVzdWx0U2V0LmRhdGFzZXRJZF0gIT09XG4gICAgICAgICAgICAgICAgICB0aGlzLnNlYXJjaFNlcnZpY2UuZ2V0SXRlbXNTZXJpYWxpemVkUGFyYW1zKHJlc3VsdFNldC5kYXRhc2V0SWQsIHF1aWNrT3JkZXIpKVxuICAgICAgICAgIClcbiAgICAgICAgICAubWFwKChyZXN1bHRTZXQpID0+XG4gICAgICAgICAgICBTZWFyY2hBY3Rpb25zLmdldERhdGFzb3VyY2VJdGVtcyh7XG4gICAgICAgICAgICAgIGlkOiByZXN1bHRTZXQuZGF0YXNldElkLFxuICAgICAgICAgICAgICBleGNsdWRlR2VvOiByZXN1bHRTZXQuZXhjbHVkZUdlbyxcbiAgICAgICAgICAgICAgZnJvbTogJ0Rhc2hib2FyZEVmZmVjdHMuYXNzZXJ0UmVzdWx0U2V0cyQtMSdcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4gWy4uLnRvSXRlbXNBY3Rpb25zLCAuLi50b0FnZ3JlZ2F0ZUFjdGlvbnNdO1xuICAgICAgfSlcbiAgICApXG4gICk7XG5cbiAgc2VuZEFnZ3JlZ2F0ZXNFdmVudCQgPSBjcmVhdGVFZmZlY3QoXG4gICAgKCkgPT5cbiAgICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgICAgb2ZUeXBlKERhc2hib2FyZEFjdGlvbnMudHJpZ2dlckFnZ3JlZ2F0ZSksXG4gICAgICAgIGZpbHRlcigoYWN0aW9uKSA9PiBhY3Rpb24uaWQgIT09IERFRkFVTFRfTkFNRURfUVVFUllfSUQgJiYgYWN0aW9uLmlkICE9PSBFWFBMT1JFX05BTUVEX1FVRVJZX0lEKSxcbiAgICAgICAgdGFwKChhY3Rpb24pID0+IHdpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgnZGF0YXNvdXJjZVJlZnJlc2gnLCB7IGRldGFpbDogYWN0aW9uLmlkIH0pKSlcbiAgICAgICksXG4gICAgeyBkaXNwYXRjaDogZmFsc2UgfVxuICApO1xuXG4gIHN0YXJ0TWlzc2luZ1ZpZXdBZnRlclZpZXdVcGRhdGUkID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKFxuICAgICAgICBEYXNoYm9hcmRBY3Rpb25zLnVwZGF0ZU1hbmlmZXN0LFxuICAgICAgICBEYXNoYm9hcmRBY3Rpb25zLnVwZGF0ZU1hbmlmZXN0QWZ0ZXJGZXRjaCxcbiAgICAgICAgRGFzaGJvYXJkQWN0aW9ucy51cGRhdGVNYW5pZmVzdEFmdGVyVGVuYW50TGVhdmUsXG4gICAgICAgIERhc2hib2FyZEFjdGlvbnMudXBkYXRlTWFuaWZlc3RBZnRlclRlbmFudEpvaW4sXG4gICAgICAgIERhc2hib2FyZEFjdGlvbnMuZXhwbG9yZSxcbiAgICAgICAgRGFzaGJvYXJkQWN0aW9ucy5kZXRhaWwsXG4gICAgICAgIERhc2hib2FyZEFjdGlvbnMucmVzdG9yZUluaXRpYWxNYW5pZmVzdCxcbiAgICAgICAgRGFzaGJvYXJkQWN0aW9ucy5jcmVhdGVUYWIsXG4gICAgICAgIERhc2hib2FyZEFjdGlvbnMubW92ZVdpZGdldFxuICAgICAgKSxcbiAgICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5yYW5rKSksXG4gICAgICBmaWx0ZXIoKFthY3Rpb24sIHJhbmtdKSA9PiByYW5rID09PSAwKSxcbiAgICAgIG1lcmdlTWFwKChhY3Rpb24pID0+IFtcbiAgICAgICAgRGFzaGJvYXJkQWN0aW9ucy5zdGFydGluZ01pc3NpbmdWaWV3cygpLFxuICAgICAgICBEYXNoYm9hcmRBY3Rpb25zLmFzc2VydFJlc3VsdFNldHMoe30pLFxuICAgICAgICBEYXNoYm9hcmRBY3Rpb25zLnNvbHZlQ29sbGlzaW9ucygpXG4gICAgICBdKVxuICAgIClcbiAgKTtcblxuICB1cGRhdGVUaXRsZSQgPSBjcmVhdGVFZmZlY3QoXG4gICAgKCkgPT5cbiAgICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgICAgb2ZUeXBlKFxuICAgICAgICAgIERhc2hib2FyZEFjdGlvbnMudXBkYXRlTWFuaWZlc3QsXG4gICAgICAgICAgRGFzaGJvYXJkQWN0aW9ucy51cGRhdGVNYW5pZmVzdEFmdGVyVGVuYW50Sm9pbixcbiAgICAgICAgICBEYXNoYm9hcmRBY3Rpb25zLnVwZGF0ZU1hbmlmZXN0QWZ0ZXJUZW5hbnRMZWF2ZSxcbiAgICAgICAgICBEYXNoYm9hcmRBY3Rpb25zLnVwZGF0ZU1hbmlmZXN0QWZ0ZXJGZXRjaCxcbiAgICAgICAgICBEYXNoYm9hcmRBY3Rpb25zLmRlY2xhcmVTZW5kZXJJZFxuICAgICAgICApLFxuICAgICAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMucmFuaykpLFxuICAgICAgICB0YXAoKFthY3Rpb24sIHJhbmtdKSA9PiB7XG4gICAgICAgICAgdGhpcy50aXRsZVNlcnZpY2UuY2hhbmdlVGl0bGUoKTtcbiAgICAgICAgfSlcbiAgICAgICksXG4gICAgeyBkaXNwYXRjaDogZmFsc2UgfVxuICApO1xuXG4gIG9wZW5PdGhlciQgPSBjcmVhdGVFZmZlY3QoXG4gICAgKCkgPT5cbiAgICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgICAgb2ZUeXBlKERhc2hib2FyZEFjdGlvbnMuc3RhcnRpbmdNaXNzaW5nVmlld3MpLFxuICAgICAgICB3aXRoTGF0ZXN0RnJvbShcbiAgICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMucmFuayksXG4gICAgICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoRGFzaGJvYXJkU2VsZWN0b3JzLnRlbmFudHMpLFxuICAgICAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5nbG9iYWxNYW5pZmVzdClcbiAgICAgICAgKSxcbiAgICAgICAgZGVib3VuY2VUaW1lKDEwMDApLFxuICAgICAgICBmaWx0ZXIoKFthY3Rpb24sIHJhbmssIHRlbmFudHMsIG1hbmlmZXN0XSkgPT4gcmFuayA9PT0gMCksXG4gICAgICAgIHRhcCgoW2FjdGlvbiwgcmFuaywgdGVuYW50cywgbWFuaWZlc3RdKSA9PiB7XG4gICAgICAgICAgbWFuaWZlc3Qud2luZG93cy5mb3JFYWNoKCh3aW5kb3dNYW5pZmVzdCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGlmICghdGVuYW50c1tpbmRleF0pIHtcbiAgICAgICAgICAgICAgLy8gSWYgbm8gd2luZG93IGlzIG9wZW5lZCBmb3IgdGhpcyBwYXJ0LCB0aGVuIG9wZW4gb25lXG4gICAgICAgICAgICAgIHdpbmRvdy5vcGVuKHdpbmRvd01hbmlmZXN0LnJvdXRlID8/IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSwgJ19ibGFuaycpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9KVxuICAgICAgKSxcbiAgICB7IGRpc3BhdGNoOiBmYWxzZSB9XG4gICk7XG5cbiAgc2F2ZU1hbmlmZXN0JCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShEYXNoYm9hcmRBY3Rpb25zLnNhdmVNYW5pZmVzdCksXG4gICAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMuZ2xvYmFsTWFuaWZlc3QpKSxcbiAgICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuc3RvcmUuc2VsZWN0KERhdGFTb3VyY2VTZWxlY3RvcnMuZGF0YXNldHMpKSxcbiAgICAgIG1lcmdlTWFwKChbW2FjdGlvbiwgY3VycmVudE1hbmlmZXN0XSwgZGF0YXNldHNdKSA9PlxuICAgICAgICB0aGlzLm1hbmlmZXN0U2VydmljZVxuICAgICAgICAgIC5zYXZlKFxuICAgICAgICAgICAgYWN0aW9uLm5hbWUsXG4gICAgICAgICAgICBhY3Rpb24ubWFuaWZlc3QgPz8gY3VycmVudE1hbmlmZXN0LFxuICAgICAgICAgICAgYWN0aW9uLmlkLFxuICAgICAgICAgICAgYWN0aW9uLmRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgYWN0aW9uLmltYWdlLFxuICAgICAgICAgICAgYWN0aW9uLm1ldGFkYXRhLFxuICAgICAgICAgICAgYWN0aW9uLmFjY2Vzc1JpZ2h0c0J5R3JvdXAsXG4gICAgICAgICAgICBhY3Rpb24uYWRkaXRpb25hbEluZm9ybWF0aW9uXG4gICAgICAgICAgKVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgdGFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnNuYWNrQmFyLm9wZW4oe1xuICAgICAgICAgICAgICAgIG1lc3NhZ2U6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdAcHJ5LnRvb2xib3gubWFuaWZlc3Quc2F2ZWQnLCB7IHZpZXdJZDogYWN0aW9uLm5hbWUgfSksXG4gICAgICAgICAgICAgICAgdHlwZTogJ3N1Y2Nlc3MnXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICBpZiAoT2JqZWN0LmtleXMocmVzcG9uc2UubWlzc2luZ0dyb3Vwc0J5RW50aXR5KS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZGF0YTogUHJ5RGlhbG9nQ29uZmlybURhdGEgPSB7XG4gICAgICAgICAgICAgICAgICB0aXRsZTogJ0Bwcnkuc2hhcmUuY29uZmxpY3QudGl0bGUnLFxuICAgICAgICAgICAgICAgICAgbWVzc2FnZTpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pMThuU2VydmljZS5pbnN0YW50KCdAcHJ5LnNoYXJlLmNvbmZsaWN0Lm1haW4nKSArXG4gICAgICAgICAgICAgICAgICAgICdcXHJcXG4nICtcbiAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmtleXMocmVzcG9uc2UubWlzc2luZ0dyb3Vwc0J5RW50aXR5KVxuICAgICAgICAgICAgICAgICAgICAgIC5tYXAoXG4gICAgICAgICAgICAgICAgICAgICAgICAoZW50aXR5KSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAoZGF0YXNldHMuZmluZCgoZHMpID0+IGRzLmlkID09PSBlbnRpdHkpPy5uYW1lID8/IGVudGl0eSkgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAnIDogJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLm1pc3NpbmdHcm91cHNCeUVudGl0eVtlbnRpdHldLmpvaW4oJywgJylcbiAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgLmpvaW4oJ1xcclxcbicpLFxuICAgICAgICAgICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgaWQ6IDAsXG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdAcHJ5LnRvb2xib3guY2xvc2UnXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHRoaXMucHJ5RGlhbG9nLm9wZW4oUHJ5RGlhbG9nQ29uZmlybUNvbXBvbmVudCwgeyBkYXRhIH0pO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG1hcCgoKSA9PiBhY3Rpb24ubWFuaWZlc3QgPz8gY3VycmVudE1hbmlmZXN0KSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuc25hY2tCYXIub3Blbih7XG4gICAgICAgICAgICAgICAgbWVzc2FnZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICAgICAgICAgICAnQHByeS50b29sYm94Lm1hbmlmZXN0LnNhdmVFcnJvckNvZGUuJyArIChlcnJvci5lcnJvcj8uY29kZSA/PyAnVU5LTk9XTicpLFxuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiBhY3Rpb24ubmFtZVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgdHlwZTogJ2Vycm9yJ1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICApXG4gICAgICApLFxuICAgICAgd2l0aExhdGVzdEZyb20odGhpcy5zdG9yZS5zZWxlY3QoRGFzaGJvYXJkU2VsZWN0b3JzLnNlbGVjdGVkSXRlbUlkcykpLFxuICAgICAgbWVyZ2VNYXAoKFttYW5pZmVzdCwgc2VsZWN0ZWRJZHNdKSA9PiBbXG4gICAgICAgIERhc2hib2FyZEFjdGlvbnMuZmV0Y2hNYW5pZmVzdHNMaXN0KCksXG4gICAgICAgIERhc2hib2FyZEFjdGlvbnMuc2V0SW5pdGlhbFByZXNlbnRhdGlvbih7IGluaXRpYWw6IG1hbmlmZXN0IH0pLFxuICAgICAgICBEYXNoYm9hcmRBY3Rpb25zLnVwZGF0ZU1hbmlmZXN0KHsgbWFuaWZlc3QsIHNlbGVjdGVkSWRzIH0pXG4gICAgICBdKVxuICAgIClcbiAgKTtcblxuICBsaXN0TWFuaWZlc3RzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShEYXNoYm9hcmRBY3Rpb25zLmZldGNoTWFuaWZlc3RzTGlzdCksXG4gICAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMucmFuaykpLFxuICAgICAgZmlsdGVyKChbYWN0aW9uLCByYW5rXSkgPT4gcmFuayA9PT0gMCB8fCByYW5rID09PSAtMSksXG4gICAgICBkZWJvdW5jZVRpbWUoMTAwKSxcbiAgICAgIG1lcmdlTWFwKChbYWN0aW9uLCByYW5rXSkgPT5cbiAgICAgICAgdGhpcy5tYW5pZmVzdFNlcnZpY2UubGlzdCgpLnBpcGUobWFwKChtYW5pZmVzdHMpID0+IERhc2hib2FyZEFjdGlvbnMudXBkYXRlTWFuaWZlc3RzTGlzdCh7IG1hbmlmZXN0cyB9KSkpXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIGNvbmZpcm1NYW5pZmVzdERlbGV0aW9uJCA9IGNyZWF0ZUVmZmVjdChcbiAgICAoKSA9PlxuICAgICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgICBvZlR5cGUoRGFzaGJvYXJkQWN0aW9ucy5jb25maXJtTWFuaWZlc3REZWxldGlvbiksXG4gICAgICAgIHRhcCgoYWN0aW9uKSA9PiB7XG4gICAgICAgICAgY29uc3QgZGF0YTogUHJ5RGlhbG9nQ29uZmlybURhdGEgPSB7XG4gICAgICAgICAgICB0aXRsZTogJ0Bwcnkud2lkZ2V0Lm1vZGFsVGl0bGUnLFxuICAgICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IDAsXG4gICAgICAgICAgICAgICAgbGFiZWw6ICdAcHJ5LnRvb2xib3gubWFuaWZlc3QudmFsaWRhdGUnLFxuICAgICAgICAgICAgICAgIGFjdGlvbnM6IFtEYXNoYm9hcmRBY3Rpb25zLmRlbGV0ZU1hbmlmZXN0KHsgaWQ6IGFjdGlvbi5pZCB9KV1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiAxLFxuICAgICAgICAgICAgICAgIGxhYmVsOiAnQHByeS50b29sYm94Lm1hbmlmZXN0LmNsb3NlJyxcbiAgICAgICAgICAgICAgICBjb2xvcjogJ3NlY29uZGFyeSdcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH07XG4gICAgICAgICAgdGhpcy5wcnlEaWFsb2cub3BlbihQcnlEaWFsb2dDb25maXJtQ29tcG9uZW50LCB7IGRhdGEgfSk7XG4gICAgICAgIH0pXG4gICAgICApLFxuICAgIHsgZGlzcGF0Y2g6IGZhbHNlIH1cbiAgKTtcblxuICBkZWxldGVNYW5pZmVzdCQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUoRGFzaGJvYXJkQWN0aW9ucy5kZWxldGVNYW5pZmVzdCksXG4gICAgICBtZXJnZU1hcCgoYWN0aW9uKSA9PlxuICAgICAgICB0aGlzLm1hbmlmZXN0U2VydmljZS5kZWxldGUoYWN0aW9uLmlkKS5waXBlKG1hcCgoKSA9PiBEYXNoYm9hcmRBY3Rpb25zLmZldGNoTWFuaWZlc3RzTGlzdCgpKSlcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgZmV0Y2hPYmplY3RzRGV0YWlscyQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUoRGFzaGJvYXJkQWN0aW9ucy5mZXRjaE9iamVjdHNEZXRhaWxzKSxcbiAgICAgIG1lcmdlTWFwKChhY3Rpb24pID0+IG1lcmdlKC4uLmFjdGlvbi5pZHMubWFwKChpZCkgPT4gdGhpcy5pdGVtU2VydmljZS5nZXQoaWQpKSkpLFxuICAgICAgbWFwKChpdGVtKSA9PiBEYXNoYm9hcmRBY3Rpb25zLnVwZGF0ZU9iamVjdHNEZXRhaWxzKHsgbGlzdDogeyBbaXRlbS5pZF06IGl0ZW0gfSB9KSlcbiAgICApXG4gICk7XG5cbiAgcHJveGltaXR5U2VhcmNoJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShEYXNoYm9hcmRBY3Rpb25zLnByb3hpbWl0eSksXG4gICAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMucmVzdWx0U2V0cykpLFxuICAgICAgbWVyZ2VNYXAoKFthY3Rpb24sIHJlc3VsdFNldHNdKSA9PlxuICAgICAgICB0aGlzLml0ZW1TZXJ2aWNlLnByb3hpbWl0eShhY3Rpb24uaWQpLnBpcGUoXG4gICAgICAgICAgbWFwKChwcm94UnMpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBEYXNoYm9hcmRBY3Rpb25zLnVwZGF0ZVJlc3VsdFNldCh7XG4gICAgICAgICAgICAgIGlkOiBhY3Rpb24udGFyZ2V0UmVzdWx0U2V0LFxuICAgICAgICAgICAgICByZXN1bHRTZXQ6IFJlc3VsdHNldFV0aWxzLm1lcmdlUmVzdWx0U2V0cyhwcm94UnMsIHJlc3VsdFNldHNbYWN0aW9uLnRhcmdldFJlc3VsdFNldF0pXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIGV4cGxvcmUkID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKERhc2hib2FyZEFjdGlvbnMuZXhwbG9yZSksXG4gICAgICBtZXJnZU1hcCgoYWN0aW9uKSA9PiBbRGFzaGJvYXJkQWN0aW9ucy5wcm94aW1pdHkoeyBpZDogYWN0aW9uLmlkLCB0YXJnZXRSZXN1bHRTZXQ6IEVYUExPUkVfTkFNRURfUVVFUllfSUQgfSldKVxuICAgIClcbiAgKTtcblxuICBkZXRhaWxBc0xvYWRJbldpZGdldCQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUoRGFzaGJvYXJkQWN0aW9ucy5kZXRhaWwpLFxuICAgICAgbWFwKChhY3Rpb24pID0+XG4gICAgICAgIERhc2hib2FyZEFjdGlvbnMuYWRkV2lkZ2V0VG9QcmVzZW50YXRpb24oe1xuICAgICAgICAgIGlkOiAnJyxcbiAgICAgICAgICB3aWRnZXRUeXBlOiAnZGV0YWlsJyxcbiAgICAgICAgICBhZGRpdGlvbmFsT3B0aW9uczoge1xuICAgICAgICAgICAgaXRlbUlkczogYWN0aW9uLmlkc1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgdXBkYXRlV2lkZ2V0SW5QcmVzZW50YXRpb24kID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKERhc2hib2FyZEFjdGlvbnMudXBkYXRlV2lkZ2V0SW5QcmVzZW50YXRpb24pLFxuICAgICAgd2l0aExhdGVzdEZyb20odGhpcy5zdG9yZS5zZWxlY3QoRGFzaGJvYXJkU2VsZWN0b3JzLmdsb2JhbE1hbmlmZXN0KSksXG4gICAgICBtZXJnZU1hcCgoW2FjdGlvbiwgbWFuaWZlc3RdKSA9PiB7XG4gICAgICAgIC8vIENoZWNrIGlmIGEgd2lkZ2V0IHdpdGggc2FtZSBkYXRhc291cmNlIGFuZCB0eXBlIGFscmVhZHkgZXhpc3QgaW4gY3VycmVudCBwcmVzZW50YXRpb25cbiAgICAgICAgY29uc3Qgd2lkZ2V0VG9NYXRjaCA9IHRoaXMudG9vbGJveE1hbmlmZXN0U2VydmljZS5nZXQoYWN0aW9uLndpZGdldFR5cGUpO1xuXG4gICAgICAgIGxldCBhZGRpdGlvbmFsTWF0Y2hpbmdGbjogKG9wdGlvbnNUb01hdGNoOiBhbnksIG9wdGlvbnM6IGFueSkgPT4gYm9vbGVhbjtcbiAgICAgICAgc3dpdGNoICh3aWRnZXRUb01hdGNoLnR5cGUpIHtcbiAgICAgICAgICBjYXNlICdjaGFydCc6XG4gICAgICAgICAgICBhZGRpdGlvbmFsTWF0Y2hpbmdGbiA9IChvcHRpb25zVG9NYXRjaDogQ2hhcnRXaWRnZXRPcHRpb25zLCBvcHRpb25zOiBDaGFydFdpZGdldE9wdGlvbnMpID0+XG4gICAgICAgICAgICAgIG9wdGlvbnNUb01hdGNoLnR5cGUgPT09IG9wdGlvbnMudHlwZSAmJiBvcHRpb25zVG9NYXRjaC5zdWJUeXBlID09PSBvcHRpb25zLnN1YlR5cGU7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdtYXAnOlxuICAgICAgICAgICAgYWRkaXRpb25hbE1hdGNoaW5nRm4gPSAob3B0aW9uc1RvTWF0Y2g6IE1hcFdpZGdldE9wdGlvbnMsIG9wdGlvbnM6IE1hcFdpZGdldE9wdGlvbnMpID0+XG4gICAgICAgICAgICAgICEhb3B0aW9ucy5sYXllcnMhLmZpbmQoKGxheWVyKSA9PiBsYXllci50eXBlID09PSBvcHRpb25zVG9NYXRjaC5sYXllcnMhWzBdLnR5cGUpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGFkZGl0aW9uYWxNYXRjaGluZ0ZuID0gKG9wdGlvbnNUb01hdGNoOiBhbnksIG9wdGlvbnM6IGFueSkgPT4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG1hdGNoaW5nV2lkZ2V0cyA9IG1hbmlmZXN0LndpbmRvd3MubWFwKCh3aW5kb3cpID0+XG4gICAgICAgICAgd2luZG93LndpZGdldHNcbiAgICAgICAgICAgIC5maWx0ZXIoKHdpZGdldCkgPT4gd2lkZ2V0LnR5cGUgPT09IHdpZGdldFRvTWF0Y2gudHlwZSlcbiAgICAgICAgICAgIC5maWx0ZXIoXG4gICAgICAgICAgICAgICh3aWRnZXQpID0+XG4gICAgICAgICAgICAgICAgd2lkZ2V0LmRhdGFzb3VyY2UgPT09IGFjdGlvbi5pZCB8fFxuICAgICAgICAgICAgICAgICh3aWRnZXQuZGF0YXNvdXJjZSFbMF0gPT09IGFjdGlvbi5pZCAmJiB3aWRnZXQuZGF0YXNvdXJjZSEubGVuZ3RoID09PSAxKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLmZpbmQoKHdpZGdldCkgPT4gYWRkaXRpb25hbE1hdGNoaW5nRm4od2lkZ2V0VG9NYXRjaC5vcHRpb25zLCB3aWRnZXQub3B0aW9ucykpXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3QgYWxyZWFkeU1hdGNoZWRXaWRnZXQgPSBtYXRjaGluZ1dpZGdldHMuZmluZCgod2luZG93KSA9PiAhIXdpbmRvdyk7XG5cbiAgICAgICAgY29uc3QgcmVzdWx0ID0gW107XG4gICAgICAgIGlmIChhbHJlYWR5TWF0Y2hlZFdpZGdldCkge1xuICAgICAgICAgIHJlc3VsdC5wdXNoKFxuICAgICAgICAgICAgRGFzaGJvYXJkQWN0aW9ucy5tdWx0aVNuYWNrQmFyKHtcbiAgICAgICAgICAgICAgbWVzc2FnZToge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdzdWNjZXNzJyxcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnQHByeS53aWRnZXQudXBkYXRlZEluVmlldycsIHtcbiAgICAgICAgICAgICAgICAgIGluZGV4OiBtYXRjaGluZ1dpZGdldHMuZmluZEluZGV4KCh3aWRnZXQpID0+ICEhd2lkZ2V0KSArIDFcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVzdWx0LnB1c2goRGFzaGJvYXJkQWN0aW9ucy5hZGRXaWRnZXRUb1ByZXNlbnRhdGlvbih7IC4uLmFjdGlvbiB9KSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfSlcbiAgICApXG4gICk7XG5cbiAgYWRkV2lkZ2V0VG9QcmVzZW50YXRpb24kID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKERhc2hib2FyZEFjdGlvbnMuYWRkV2lkZ2V0VG9QcmVzZW50YXRpb24pLFxuICAgICAgd2l0aExhdGVzdEZyb20oXG4gICAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5ncmlkTGF5b3V0KSxcbiAgICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoRGFzaGJvYXJkU2VsZWN0b3JzLmdsb2JhbE1hbmlmZXN0KSxcbiAgICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoRGFzaGJvYXJkU2VsZWN0b3JzLnJhbmspLFxuICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMuZGFzaGJvYXJkQ2VsbFBhcmFtcyksXG4gICAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5zZWxlY3RlZEl0ZW1JZHMpXG4gICAgICApLFxuICAgICAgbWFwKChbYWN0aW9uLCBsYXlvdXQsIF9nbG9iYWxNYW5pZmVzdCwgcmFuaywgcGFyYW1zLCBzZWxlY3RlZElkc10pID0+IHtcbiAgICAgICAgY29uc3QgbWFuaWZlc3RHbG9iYWwgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KF9nbG9iYWxNYW5pZmVzdCkpIGFzIEdsb2JhbE1hbmlmZXN0O1xuXG4gICAgICAgIC8vIENyZWF0ZSBuZXcgY29uZmlndXJhdGlvblxuICAgICAgICBjb25zdCBuZXdPcHRpb25zID0gdGhpcy50b29sYm94TWFuaWZlc3RTZXJ2aWNlLmdldChhY3Rpb24ud2lkZ2V0VHlwZSkgPz8ge1xuICAgICAgICAgIG9wdGlvbnM6IHt9LFxuICAgICAgICAgIHR5cGU6IGFjdGlvbi53aWRnZXRUeXBlXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IG5ld1dpZGdldE1hbmlmZXN0ID0ge1xuICAgICAgICAgIC4uLm5ld09wdGlvbnMsXG4gICAgICAgICAgbGF5b3V0OiB7fSxcbiAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAuLi5uZXdPcHRpb25zLm9wdGlvbnMsXG4gICAgICAgICAgICAuLi5hY3Rpb24uYWRkaXRpb25hbE9wdGlvbnNcbiAgICAgICAgICB9XG4gICAgICAgIH0gYXMgV2lkZ2V0TWFuaWZlc3Q7XG5cbiAgICAgICAgaWYgKCEhYWN0aW9uLmlkKSB7XG4gICAgICAgICAgbmV3V2lkZ2V0TWFuaWZlc3QuZGF0YXNvdXJjZSA9IGFjdGlvbi5pZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBmb3VuZDogeyBhY3R1YWxSYW5rOiBudW1iZXI7IHdpZGdldDogV2lkZ2V0TWFuaWZlc3QgfSB8IG51bGwgPSBudWxsO1xuICAgICAgICAvLyBUcnkgdG8gZmluZCBhIHNwb3QgaW4gd2luZG93cyAoc3RhcnRpbmcgYnkgY3VycmVudCByYW5rLCB0aGVuIGluIG90aGVycylcbiAgICAgICAgY29uc3Qgc2VxdWVuY2UgPSBXaWRnZXRQbGFjZW1lbnRVdGlscy5zd2FwQXJyYXlFbGVtZW50cyhcbiAgICAgICAgICBuZXcgQXJyYXkobWFuaWZlc3RHbG9iYWwud2luZG93cy5sZW5ndGgpLmZpbGwoMCkubWFwKChfLCBpZHgsIGFycmF5KSA9PiBpZHgpLFxuICAgICAgICAgIDAsXG4gICAgICAgICAgcmFua1xuICAgICAgICApO1xuICAgICAgICAvLyBUcnlpbmcgYWxsIHBsYWNlbWVudCBvcHRpb25zXG4gICAgICAgIGZvciAoY29uc3QgYWN0dWFsUmFuayBvZiBzZXF1ZW5jZSkge1xuICAgICAgICAgIGNvbnN0IHdpbmRvd0xheW91dCA9IG1hbmlmZXN0R2xvYmFsLndpbmRvd3NbYWN0dWFsUmFua10uZ3JpZD8ubGF5b3V0ID8/IERhc2hib2FyZEdyaWRMYXlvdXQuRlVMTDtcbiAgICAgICAgICBjb25zdCBvcHRpb25zID0gV2lkZ2V0UGxhY2VtZW50VXRpbHMucGxhY2VtZW50T3B0aW9ucyhuZXdXaWRnZXRNYW5pZmVzdCwgd2luZG93TGF5b3V0KTtcbiAgICAgICAgICBpZiAoIWZvdW5kKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IG9wdGlvbiBvZiBvcHRpb25zKSB7XG4gICAgICAgICAgICAgIGlmICghZm91bmQpIHtcbiAgICAgICAgICAgICAgICAvLyBBcmUgd2UgZGlzam9pbnQgZnJvbSBhbGwgb3RoZXIgd2lkZ2V0cyA/XG4gICAgICAgICAgICAgICAgY29uc3QgaXNEaXNqb2ludEZyb21BbGwgPSAobWFuaWZlc3RHbG9iYWwud2luZG93c1thY3R1YWxSYW5rXS53aWRnZXRzID8/IFtdKVxuICAgICAgICAgICAgICAgICAgLm1hcCgod2lkZ2V0KSA9PiBXaWRnZXRQbGFjZW1lbnRVdGlscy5hcmVEaXNqb2ludCh3aWRnZXQsIG9wdGlvbikpXG4gICAgICAgICAgICAgICAgICAucmVkdWNlKChwLCBjKSA9PiBwICYmIGMsIHRydWUpO1xuICAgICAgICAgICAgICAgIGlmIChpc0Rpc2pvaW50RnJvbUFsbCkge1xuICAgICAgICAgICAgICAgICAgLy8gRm91bmQgYSBkaXNqb2ludCBwbGFjZW1lbnQgIVxuICAgICAgICAgICAgICAgICAgZm91bmQgPSB7IGFjdHVhbFJhbmssIHdpZGdldDogb3B0aW9uIH0gYXMgeyBhY3R1YWxSYW5rOiBudW1iZXI7IHdpZGdldDogV2lkZ2V0TWFuaWZlc3QgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoISFmb3VuZCkge1xuICAgICAgICAgIGNvbnN0IHBsYWNlV2VGb3VuZCA9IGZvdW5kIGFzIHsgYWN0dWFsUmFuazogbnVtYmVyOyB3aWRnZXQ6IFdpZGdldE1hbmlmZXN0IH07XG4gICAgICAgICAgbWFuaWZlc3RHbG9iYWwud2luZG93c1twbGFjZVdlRm91bmQuYWN0dWFsUmFua10ud2lkZ2V0cy5wdXNoKHBsYWNlV2VGb3VuZC53aWRnZXQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IGN1cnJlbnRXaW5kb3dMYXlvdXQgPSBtYW5pZmVzdEdsb2JhbC53aW5kb3dzW3JhbmtdLmdyaWQ/LmxheW91dCA/PyBEYXNoYm9hcmRHcmlkTGF5b3V0LkZVTEw7XG5cbiAgICAgICAgICAvLyBzaSBub24gdHJvdXbDqSA6IG5vdXZlbGxlIHBhZ2UsIHByZW1pw6hyZSBwb3NpdGlvbiBzdWdnw6lyw6llXG4gICAgICAgICAgY29uc3QgZmlyc3RQcm9wb3NlZExheW91dCA9IFdpZGdldFBsYWNlbWVudFV0aWxzLnBsYWNlbWVudE9wdGlvbnMobmV3V2lkZ2V0TWFuaWZlc3QsIGN1cnJlbnRXaW5kb3dMYXlvdXQpWzBdO1xuXG4gICAgICAgICAgbWFuaWZlc3RHbG9iYWwud2luZG93cy5wdXNoKHtcbiAgICAgICAgICAgIHdpZGdldHM6IFtmaXJzdFByb3Bvc2VkTGF5b3V0ID8/IHsgeDogMSwgeTogMSwgaGVpZ2h0OiAxLCB3aWR0aDogMSB9XSxcbiAgICAgICAgICAgIGdyaWQ6IHsgbGF5b3V0OiBjdXJyZW50V2luZG93TGF5b3V0IH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChhY3Rpb24uYWxlcnQgPT09IHVuZGVmaW5lZCB8fCBhY3Rpb24uYWxlcnQgPT09IHRydWUpIHtcbiAgICAgICAgICBjb25zdCBtZXNzYWdlQWN0aW9uID0gRGFzaGJvYXJkQWN0aW9ucy5tdWx0aVNuYWNrQmFyKHtcbiAgICAgICAgICAgIG1lc3NhZ2U6IHtcbiAgICAgICAgICAgICAgdHlwZTogJ3N1Y2Nlc3MnLFxuICAgICAgICAgICAgICBtZXNzYWdlOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnQHByeS53aWRnZXQuYWRkZWRJblZpZXcnLCB7XG4gICAgICAgICAgICAgICAgaW5kZXg6ICEhZm91bmRcbiAgICAgICAgICAgICAgICAgID8gKGZvdW5kIGFzIHsgYWN0dWFsUmFuazogbnVtYmVyOyB3aWRnZXQ6IFdpZGdldE1hbmlmZXN0IH0pLmFjdHVhbFJhbmsgKyAxXG4gICAgICAgICAgICAgICAgICA6IG1hbmlmZXN0R2xvYmFsLndpbmRvd3MubGVuZ3RoXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChtZXNzYWdlQWN0aW9uKTtcblxuICAgICAgICAgIGlmICghZm91bmQpIHtcbiAgICAgICAgICAgIHRoaXMuYnVzU2VydmljZS5idWZmZXJVbnRpbEpvaW5lZChtZXNzYWdlQWN0aW9uKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gRGFzaGJvYXJkQWN0aW9ucy51cGRhdGVNYW5pZmVzdCh7IG1hbmlmZXN0OiBtYW5pZmVzdEdsb2JhbCwgc2VsZWN0ZWRJZHMgfSk7XG4gICAgICB9KVxuICAgIClcbiAgKTtcblxuICBtb3ZlV2lkZ2V0JCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShEYXNoYm9hcmRBY3Rpb25zLm1vdmVXaWRnZXQpLFxuICAgICAgd2l0aExhdGVzdEZyb20oXG4gICAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5ncmlkTGF5b3V0KSxcbiAgICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoRGFzaGJvYXJkU2VsZWN0b3JzLmdsb2JhbE1hbmlmZXN0KSxcbiAgICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoRGFzaGJvYXJkU2VsZWN0b3JzLnJhbmspLFxuICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMuZGFzaGJvYXJkQ2VsbFBhcmFtcyksXG4gICAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5zZWxlY3RlZEl0ZW1JZHMpXG4gICAgICApLFxuICAgICAgbWFwKChbYWN0aW9uLCBsYXlvdXQsIF9nbG9iYWxNYW5pZmVzdCwgcmFuaywgcGFyYW1zLCBzZWxlY3RlZElkc10pID0+IHtcbiAgICAgICAgY29uc3QgbWFuaWZlc3RHbG9iYWwgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KF9nbG9iYWxNYW5pZmVzdCkpIGFzIEdsb2JhbE1hbmlmZXN0O1xuXG4gICAgICAgIGNvbnN0IG5ld1dpbmRvd3MgPSBbLi4ubWFuaWZlc3RHbG9iYWwud2luZG93c107XG5cbiAgICAgICAgLy8gQ3JlYXRpbmcgbmV3IGN1cnJlbnQgd2luZG93IG1hbmlmZXN0LCB3aXRob3V0IG1vdmVkIHdpZGdldFxuICAgICAgICBjb25zdCBteU5ld1dpbmRvdyA9IHtcbiAgICAgICAgICAuLi5uZXdXaW5kb3dzW3JhbmtdLFxuICAgICAgICAgIHdpZGdldHM6IFsuLi4obmV3V2luZG93c1tyYW5rXSA/PyB7IHdpZGdldHM6IFtdIH0pLndpZGdldHNdXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHdpZGdldCA9IG15TmV3V2luZG93LndpZGdldHMuc3BsaWNlKGFjdGlvbi53aWRnZXRJbmRleCwgMSlbMF07XG4gICAgICAgIG5ld1dpbmRvd3NbcmFua10gPSBteU5ld1dpbmRvdztcblxuICAgICAgICAvLyBDcmVhdGluZyBlaXRoZXIgYSBuZXcgd2luZG93IG1hbmlmZXN0IG9yIHVwZGF0ZSB0aGUgdGFyZ2V0IG9uZVxuICAgICAgICBjb25zdCB0YXJnZXRSYW5rID0gYWN0aW9uLnRhcmdldEluZGV4O1xuICAgICAgICBpZiAodGFyZ2V0UmFuayAhPT0gLTEpIHtcbiAgICAgICAgICBpZiAoIW5ld1dpbmRvd3NbdGFyZ2V0UmFua10pIHtcbiAgICAgICAgICAgIG5ld1dpbmRvd3NbdGFyZ2V0UmFua10gPSB7XG4gICAgICAgICAgICAgIC4uLm5ld1dpbmRvd3NbcmFua10sXG4gICAgICAgICAgICAgIHdpZGdldHM6IFt3aWRnZXRdXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBsZXQgZm91bmQ6IHsgYWN0dWFsUmFuazogbnVtYmVyOyB3aWRnZXQ6IFdpZGdldE1hbmlmZXN0IH0gfCBudWxsID0gbnVsbDtcbiAgICAgICAgICAgIC8vIFRyeSB0byBmaW5kIGEgc3BvdCBpbiB3aW5kb3dzIChzdGFydGluZyBieSBjdXJyZW50IHJhbmssIHRoZW4gaW4gb3RoZXJzKVxuICAgICAgICAgICAgY29uc3Qgc2VxdWVuY2UgPSBXaWRnZXRQbGFjZW1lbnRVdGlscy5zd2FwQXJyYXlFbGVtZW50cyhcbiAgICAgICAgICAgICAgbmV3IEFycmF5KG1hbmlmZXN0R2xvYmFsLndpbmRvd3MubGVuZ3RoKS5maWxsKDApLm1hcCgoXywgaWR4LCBhcnJheSkgPT4gaWR4KSxcbiAgICAgICAgICAgICAgMCxcbiAgICAgICAgICAgICAgcmFua1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIC8vIFRyeWluZyBhbGwgcGxhY2VtZW50IG9wdGlvbnMgaW4gdGFyZ2V0IHdpbmRvd1xuICAgICAgICAgICAgY29uc3Qgd2luZG93TGF5b3V0ID0gKG1hbmlmZXN0R2xvYmFsLndpbmRvd3NbdGFyZ2V0UmFua10gPz8ge30pLmdyaWQ/LmxheW91dCA/PyBEYXNoYm9hcmRHcmlkTGF5b3V0Lk1BTlVBTDtcbiAgICAgICAgICAgIGlmICh3aW5kb3dMYXlvdXQgIT09IERhc2hib2FyZEdyaWRMYXlvdXQuTUFOVUFMKSB7XG4gICAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSBXaWRnZXRQbGFjZW1lbnRVdGlscy5wbGFjZW1lbnRPcHRpb25zKHdpZGdldCwgd2luZG93TGF5b3V0KTtcbiAgICAgICAgICAgICAgaWYgKCFmb3VuZCkge1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3Qgb3B0aW9uIG9mIG9wdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgIGlmICghZm91bmQpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gQXJlIHdlIGRpc2pvaW50IGZyb20gYWxsIG90aGVyIHdpZGdldHMgP1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpc0Rpc2pvaW50RnJvbUFsbCA9IChtYW5pZmVzdEdsb2JhbC53aW5kb3dzW3RhcmdldFJhbmtdLndpZGdldHMgPz8gW10pXG4gICAgICAgICAgICAgICAgICAgICAgLm1hcCgod2lkZ2V0KSA9PiBXaWRnZXRQbGFjZW1lbnRVdGlscy5hcmVEaXNqb2ludCh3aWRnZXQsIG9wdGlvbikpXG4gICAgICAgICAgICAgICAgICAgICAgLnJlZHVjZSgocCwgYykgPT4gcCAmJiBjLCB0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzRGlzam9pbnRGcm9tQWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgLy8gRm91bmQgYSBkaXNqb2ludCBwbGFjZW1lbnQgIVxuICAgICAgICAgICAgICAgICAgICAgIGZvdW5kID0geyBhY3R1YWxSYW5rOiB0YXJnZXRSYW5rLCB3aWRnZXQ6IG9wdGlvbiB9IGFzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdHVhbFJhbms6IG51bWJlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZGdldDogV2lkZ2V0TWFuaWZlc3Q7XG4gICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgLy8gSW4gbWFudWFsIG1vZGUsIHdlIHNob3VsZCByZXNvbHZlQ29sbGlzaW9ucyBidXQgZm9yIG5vdyBpdCdzIG5vdCAoY2F1c2Ugd2Ugb25seSBoYXZlIGludmVydGVkIGNvbGxpc2lvbnMgcmlnaHQgbm93KVxuICAgICAgICAgICAgICBmb3VuZCA9IHsgYWN0dWFsUmFuazogdGFyZ2V0UmFuaywgd2lkZ2V0IH0gYXMge1xuICAgICAgICAgICAgICAgIGFjdHVhbFJhbms6IG51bWJlcjtcbiAgICAgICAgICAgICAgICB3aWRnZXQ6IFdpZGdldE1hbmlmZXN0O1xuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoISFmb3VuZCkge1xuICAgICAgICAgICAgICBjb25zdCBwbGFjZVdlRm91bmQgPSBmb3VuZCBhcyB7IGFjdHVhbFJhbms6IG51bWJlcjsgd2lkZ2V0OiBXaWRnZXRNYW5pZmVzdCB9O1xuICAgICAgICAgICAgICBuZXdXaW5kb3dzW3BsYWNlV2VGb3VuZC5hY3R1YWxSYW5rXS53aWRnZXRzLnB1c2gocGxhY2VXZUZvdW5kLndpZGdldCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBjb25zdCBjdXJyZW50V2luZG93TGF5b3V0ID0gKG1hbmlmZXN0R2xvYmFsLndpbmRvd3NbcmFua10gPz8ge30pLmdyaWQ/LmxheW91dCA/PyBEYXNoYm9hcmRHcmlkTGF5b3V0LkZVTEw7XG5cbiAgICAgICAgICAgICAgLy8gc2kgbm9uIHRyb3V2w6kgOiBub3V2ZWxsZSBwYWdlLCBwcmVtacOocmUgcG9zaXRpb24gc3VnZ8OpcsOpZVxuICAgICAgICAgICAgICBjb25zdCBmaXJzdFByb3Bvc2VkTGF5b3V0ID0gV2lkZ2V0UGxhY2VtZW50VXRpbHMucGxhY2VtZW50T3B0aW9ucyh3aWRnZXQsIGN1cnJlbnRXaW5kb3dMYXlvdXQpWzBdO1xuXG4gICAgICAgICAgICAgIG5ld1dpbmRvd3MucHVzaCh7IHdpZGdldHM6IFtmaXJzdFByb3Bvc2VkTGF5b3V0ID8/IHdpZGdldF0sIGdyaWQ6IHsgbGF5b3V0OiBjdXJyZW50V2luZG93TGF5b3V0IH0gfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIGNyZWF0ZSBuZXcgd2luZG93IHRvIHdlbGNvbWUgdGhpcyB3aWRnZXRcbiAgICAgICAgICBuZXdXaW5kb3dzLnB1c2goe1xuICAgICAgICAgICAgLi4ubmV3V2luZG93c1tyYW5rXSxcbiAgICAgICAgICAgIHdpZGdldHM6IFt3aWRnZXRdXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gRGFzaGJvYXJkQWN0aW9ucy51cGRhdGVNYW5pZmVzdCh7IG1hbmlmZXN0OiB7IC4uLm1hbmlmZXN0R2xvYmFsLCB3aW5kb3dzOiBuZXdXaW5kb3dzIH0sIHNlbGVjdGVkSWRzIH0pO1xuICAgICAgfSlcbiAgICApXG4gICk7XG5cbiAgbXVsdGlTbmFja0JhciQgPSBjcmVhdGVFZmZlY3QoXG4gICAgKCkgPT5cbiAgICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgICAgb2ZUeXBlKERhc2hib2FyZEFjdGlvbnMubXVsdGlTbmFja0JhciksXG4gICAgICAgIHRhcCgoYWN0aW9uKSA9PiB0aGlzLnNuYWNrQmFyLm9wZW4oYWN0aW9uLm1lc3NhZ2UpKVxuICAgICAgKSxcbiAgICB7IGRpc3BhdGNoOiBmYWxzZSB9XG4gICk7XG5cbiAgcmVsYXVuY2hBZnRlck9yZGVyJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShEYXNoYm9hcmRBY3Rpb25zLnF1aWNrT3JkZXIpLFxuICAgICAgbWFwKChhY3Rpb24pID0+XG4gICAgICAgIFNlYXJjaEFjdGlvbnMuZ2V0RGF0YXNvdXJjZUl0ZW1zKHtcbiAgICAgICAgICBpZDogYWN0aW9uLmRhdGFzb3VyY2VJZCxcbiAgICAgICAgICBleGNsdWRlR2VvOiB0cnVlLFxuICAgICAgICAgIGZyb206ICdEYXNoYm9hcmRFZmZlY3RzLnJlbGF1bmNoQWZ0ZXJPcmRlciQnXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHByb3BhZ2F0ZUdyaWRMYXlvdXQkID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKERhc2hib2FyZEFjdGlvbnMuc2V0R3JpZExheW91dCksXG4gICAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMucmFuayksIHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy53aW5kb3dNYW5pZmVzdCkpLFxuICAgICAgbWFwKChbYWN0aW9uLCByYW5rLCB3aW5kb3dNYW5pZmVzdF0pID0+IERhc2hib2FyZEFjdGlvbnMucHJvcGFnYXRlR3JpZExheW91dCh7IG1hbmlmZXN0OiB3aW5kb3dNYW5pZmVzdCwgcmFuayB9KSlcbiAgICApXG4gICk7XG5cbiAgdG9nZ2xlRWRpdGlvbk1vZGVJZk5vdE1hbnVhbCQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUoRGFzaGJvYXJkQWN0aW9ucy5zZXRHcmlkTGF5b3V0KSxcbiAgICAgIGZpbHRlcigoYWN0aW9uKSA9PiBhY3Rpb24ubGF5b3V0ICE9PSBEYXNoYm9hcmRHcmlkTGF5b3V0Lk1BTlVBTCksXG4gICAgICBtYXAoKCkgPT4gRGFzaGJvYXJkQWN0aW9ucy50b2dnbGVFZGl0aW9uTW9kZSh7IGZvcmNlOiBmYWxzZSB9KSlcbiAgICApXG4gICk7XG5cbiAgZ2V0Q2FwYWJpbGl0eSQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUoRGFzaGJvYXJkQWN0aW9ucy5nZXRDYXBhYmlsaXR5KSxcbiAgICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5jYXBhYmlsaXRpZXMpKSxcbiAgICAgIGZpbHRlcihcbiAgICAgICAgKFthY3Rpb24sIGNhcGFiaWxpdGllc10pID0+XG4gICAgICAgICAgKCEhY2FwYWJpbGl0aWVzICYmICEhYWN0aW9uLnVybCAmJiAoIWNhcGFiaWxpdGllc1thY3Rpb24udXJsXSB8fCAhY2FwYWJpbGl0aWVzW2FjdGlvbi51cmxdIS5kb2MpKSB8fFxuICAgICAgICAgICEhYWN0aW9uLmZvcmNlXG4gICAgICApLFxuICAgICAgbWVyZ2VNYXAoKFthY3Rpb24sIF9dKSA9PlxuICAgICAgICB0aGlzLndtc1NlcnZpY2UuZ2V0Q2FwYWJpbGl0aWVzKGFjdGlvbi51cmwpLnBpcGUoXG4gICAgICAgICAgbWFwKChjYXBhYmlsaXR5KSA9PiBEYXNoYm9hcmRBY3Rpb25zLnVwZGF0ZUNhcGFiaWxpdHkoeyB1cmw6IGFjdGlvbi51cmwsIGNhcGFiaWxpdHkgfSkpLFxuICAgICAgICAgIHN0YXJ0V2l0aChEYXNoYm9hcmRBY3Rpb25zLnVwZGF0ZUNhcGFiaWxpdHkoeyB1cmw6IGFjdGlvbi51cmwsIGNhcGFiaWxpdHk6IG51bGwgfSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgZ2V0V21zRmVhdHVyZXMgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUoRGFzaGJvYXJkQWN0aW9ucy5nZXRXbXNGZWF0dXJlcyksXG4gICAgICBtZXJnZU1hcCgoYWN0aW9uKSA9PiBjb21iaW5lTGF0ZXN0KFtvZihhY3Rpb24pLCB0aGlzLndtc1NlcnZpY2UuZ2V0V21zRmVhdHVyZXMoYWN0aW9uLnVybCldKSksXG4gICAgICBtYXAoKFthY3Rpb24sIGpzb25dKSA9PiB7XG4gICAgICAgIHJldHVybiBEYXNoYm9hcmRBY3Rpb25zLmFkZFdtc0ZlYXR1cmVzKHtcbiAgICAgICAgICBmZWF0dXJlczoganNvbi5mZWF0dXJlcy5tYXAoKGZlYXR1cmU6IGFueSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0OiBhbnkgPSB7XG4gICAgICAgICAgICAgIGlkOiBmZWF0dXJlLmlkLFxuICAgICAgICAgICAgICBvQ2xhc3M6IGFjdGlvbi5vQ2xhc3MsXG4gICAgICAgICAgICAgIGNvb3JkaW5hdGVzOiBhY3Rpb24uY29vcmRpbmF0ZXMsXG4gICAgICAgICAgICAgIHByb3BlcnRpZXM6IE9iamVjdC5rZXlzKGZlYXR1cmUucHJvcGVydGllcylcbiAgICAgICAgICAgICAgICAubWFwKChwcm9wZXJ0eSkgPT4gKHsga2V5OiBwcm9wZXJ0eSwgdmFsdWU6IGZlYXR1cmUucHJvcGVydGllc1twcm9wZXJ0eV0gfSkpXG4gICAgICAgICAgICAgICAgLmZpbHRlcigocHJvcCkgPT4gISFwcm9wLnZhbHVlKVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgfSksXG4gICAgICAgICAgY29tcG9uZW50SWQ6IGFjdGlvbi5jb21wb25lbnRJZFxuICAgICAgICB9KTtcbiAgICAgIH0pXG4gICAgKVxuICApO1xuXG4gIGdldFdmc0ZlYXR1cmVzRm9yUG9pbnRTdGFjayA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShEYXNoYm9hcmRBY3Rpb25zLmdldFdmc0ZlYXR1cmVzRm9yUG9pbnRTdGFja1Rvb2x0aXBzKSxcbiAgICAgIG1lcmdlTWFwKChhY3Rpb24pID0+IGNvbWJpbmVMYXRlc3QoW29mKGFjdGlvbiksIHRoaXMud21zU2VydmljZS5nZXRXbXNGZWF0dXJlcyhhY3Rpb24udXJsKV0pKSxcbiAgICAgIG1lcmdlTWFwKChbYWN0aW9uLCB3bXNKc29uXSkgPT4ge1xuICAgICAgICAvLyBjaGVjayBpZiBkYXRhIGlzIGFjdHVhbGx5IGEgc3RhY2sgb2YgcG9pbnRzXG4gICAgICAgIGlmIChcbiAgICAgICAgICB3bXNKc29uLmZlYXR1cmVzWzBdICYmXG4gICAgICAgICAgd21zSnNvbi5mZWF0dXJlc1swXS5wcm9wZXJ0aWVzLmNvdW50ICYmXG4gICAgICAgICAgd21zSnNvbi5mZWF0dXJlc1swXS5wcm9wZXJ0aWVzLmNvdW50dW5pcXVlICYmXG4gICAgICAgICAgd21zSnNvbi5mZWF0dXJlc1swXS5wcm9wZXJ0aWVzLmNvdW50ID4gMVxuICAgICAgICApIHtcbiAgICAgICAgICBsZXQgZW52QkJPWENvb3JkcyA9IFsuLi53bXNKc29uLmZlYXR1cmVzWzBdLnByb3BlcnRpZXMuZW52QkJPWC5tYXRjaEFsbCgvXFxkKy5cXGQrL2cpXS5tYXAoKG0pID0+XG4gICAgICAgICAgICBwYXJzZUZsb2F0KG1bMF0pXG4gICAgICAgICAgKTtcbiAgICAgICAgICByZXR1cm4gdGhpcy53bXNTZXJ2aWNlXG4gICAgICAgICAgICAuZ2V0V2ZzRmVhdHVyZXMoYWN0aW9uLnVybCwgZW52QkJPWENvb3JkcylcbiAgICAgICAgICAgIC5waXBlKG1hcCgod2ZzSnNvbikgPT4gKHsgYWN0aW9uLCBqc29uOiB3ZnNKc29uIH0pKSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gaWYgZGF0YSBpcyBub3QgYSBzdGFjayBqdXN0IGFkZCBmZWF0dXJlcyB3aXRob3V0IGNhbGxpbmcgd2ZzIHNlcnZpY2VcbiAgICAgICAgcmV0dXJuIG9mKHsgYWN0aW9uLCBqc29uOiB3bXNKc29uIH0pO1xuICAgICAgfSksXG4gICAgICBtYXAoKHsgYWN0aW9uLCBqc29uIH0pID0+XG4gICAgICAgIERhc2hib2FyZEFjdGlvbnMuYWRkV21zRmVhdHVyZXMoe1xuICAgICAgICAgIGZlYXR1cmVzOiBqc29uLmZlYXR1cmVzLm1hcCgoZmVhdHVyZTogYW55KSA9PiAoe1xuICAgICAgICAgICAgaWQ6IGZlYXR1cmUuaWQsXG4gICAgICAgICAgICBvQ2xhc3M6IGFjdGlvbi5vQ2xhc3MsXG4gICAgICAgICAgICBjb29yZGluYXRlczogYWN0aW9uLmNvb3JkaW5hdGVzLFxuICAgICAgICAgICAgcHJvcGVydGllczogT2JqZWN0LmtleXMoZmVhdHVyZS5wcm9wZXJ0aWVzKVxuICAgICAgICAgICAgICAubWFwKChwcm9wZXJ0eSkgPT4gKHsga2V5OiBwcm9wZXJ0eSwgdmFsdWU6IGZlYXR1cmUucHJvcGVydGllc1twcm9wZXJ0eV0gfSkpXG4gICAgICAgICAgICAgIC5maWx0ZXIoKHByb3ApID0+ICEhcHJvcC52YWx1ZSlcbiAgICAgICAgICB9KSksXG4gICAgICAgICAgY29tcG9uZW50SWQ6IGFjdGlvbi5jb21wb25lbnRJZFxuICAgICAgICB9KVxuICAgICAgKSxcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHdoaWxlIGZldGNoaW5nIFdGUyBmZWF0dXJlcycsIGVycm9yKTtcbiAgICAgICAgcmV0dXJuIG9mKERhc2hib2FyZEFjdGlvbnMuYWRkV21zRmVhdHVyZXMoeyBmZWF0dXJlczogW10sIGNvbXBvbmVudElkOiAnZXJyb3InIH0pKTtcbiAgICAgIH0pXG4gICAgKVxuICApO1xuXG4gIGFkZE1hbmlmZXN0TWV0YWRhdGEgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUoRGFzaGJvYXJkQWN0aW9ucy5hZGRNYW5pZmVzdE1ldGFkYXRhKSxcbiAgICAgIG1lcmdlTWFwKChhY3Rpb24pID0+XG4gICAgICAgIHRoaXMubWFuaWZlc3RTZXJ2aWNlLmFkZE1ldGFkYXRhKGFjdGlvbi5wcmVzZW50YXRpb25JZCwgYWN0aW9uLm1ldGFkYXRhSWQsIGFjdGlvbi52YWx1ZSkucGlwZShcbiAgICAgICAgICBtYXAoKCkgPT4gRGFzaGJvYXJkQWN0aW9ucy5mZXRjaE1hbmlmZXN0c0xpc3QoKSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcbiAgICAgICAgICAgIGlmIChlcnJvci5zdGF0dXMgPT09IDQwNCkge1xuICAgICAgICAgICAgICB0aGlzLnNuYWNrQmFyLm9wZW4oe1xuICAgICAgICAgICAgICAgIHR5cGU6ICdlcnJvcicsXG4gICAgICAgICAgICAgICAgbWVzc2FnZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ0BwcnkudG9vbGJveC5tYW5pZmVzdC5zYXZlRXJyb3JDb2RlLlNBVkVfTUVUQURBVEEnLCB7XG4gICAgICAgICAgICAgICAgICBjb2RlOiBlcnJvci5zdGF0dXNcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKTtcbiAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIGRlbGV0ZU1hbmlmZXN0TWV0YWRhdGEkID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKERhc2hib2FyZEFjdGlvbnMuZGVsZXRlTWFuaWZlc3RNZXRhZGF0YSksXG4gICAgICBtZXJnZU1hcCgoYWN0aW9uKSA9PlxuICAgICAgICB0aGlzLm1hbmlmZXN0U2VydmljZVxuICAgICAgICAgIC5kZWxldGVNZXRhZGF0YShhY3Rpb24ucHJlc2VudGF0aW9uSWQsIGFjdGlvbi5tZXRhZGF0YUlkKVxuICAgICAgICAgIC5waXBlKG1hcCgoKSA9PiBEYXNoYm9hcmRBY3Rpb25zLmZldGNoTWFuaWZlc3RzTGlzdCgpKSlcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgbG9hZFByZXNlbnRhdGlvbiQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUoRGFzaGJvYXJkQWN0aW9ucy5sb2FkUHJlc2VudGF0aW9uKSxcbiAgICAgIHRhcCgoKSA9PlxuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICAgIERhc2hib2FyZEFjdGlvbnMudXBkYXRlTWFuaWZlc3Qoe1xuICAgICAgICAgICAgbWFuaWZlc3Q6IHsgd2luZG93czogW10gfSxcbiAgICAgICAgICAgIHNlbGVjdGVkSWRzOiBbXVxuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgICksXG4gICAgICB0YXAoKGFjdGlvbikgPT5cbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgICBEYXNoYm9hcmRBY3Rpb25zLnNlbGVjdFByZXNlbnRhdGlvbih7XG4gICAgICAgICAgICBwcmVzZW50YXRpb246IGFjdGlvbi5wcmVzZW50YXRpb24sXG4gICAgICAgICAgICB2aWV3TW9kZTogYWN0aW9uLnZpZXdNb2RlXG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgKSxcbiAgICAgIHRhcCgoYWN0aW9uKSA9PiB0aGlzLnRpdGxlU2VydmljZS5jaGFuZ2VUaXRsZShhY3Rpb24ucHJlc2VudGF0aW9uLm5hbWUpKSxcbiAgICAgIG1lcmdlTWFwKChhY3Rpb24pID0+XG4gICAgICAgIHRoaXMubWFuaWZlc3RTZXJ2aWNlLmdldChhY3Rpb24ucHJlc2VudGF0aW9uLmlkKS5waXBlKFxuICAgICAgICAgIG1lcmdlTWFwKChtYW5pZmVzdCkgPT4gW1xuICAgICAgICAgICAgRGFzaGJvYXJkQWN0aW9ucy51cGRhdGVNYW5pZmVzdCh7XG4gICAgICAgICAgICAgIG1hbmlmZXN0LFxuICAgICAgICAgICAgICBzZWxlY3RlZElkczogW10sXG4gICAgICAgICAgICAgIG1hbmlmZXN0SWQ6IGFjdGlvbi5wcmVzZW50YXRpb24uaWRcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgRGFzaGJvYXJkQWN0aW9ucy5zZXRJbml0aWFsUHJlc2VudGF0aW9uKHtcbiAgICAgICAgICAgICAgaW5pdGlhbDogYWN0aW9uLnZpZXdNb2RlID09PSBWaWV3TW9kZS5DT05TVUxUID8gdW5kZWZpbmVkIDogbWFuaWZlc3RcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgRGFzaGJvYXJkQWN0aW9ucy51cGRhdGVEaXNwbGF5T3B0aW9ucyh7XG4gICAgICAgICAgICAgIG1vZGU6IGFjdGlvbi52aWV3TW9kZVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBEYXNoYm9hcmRBY3Rpb25zLmZvbGxvd01hbmlmZXN0Um91dGUoKVxuICAgICAgICAgIF0pXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBkYXNoYm9hcmRJbml0U2VydmljZTogRGFzaGJvYXJkSW5pdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhY3Rpb25zJDogQWN0aW9ucyxcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZTxhbnk+LFxuICAgIHByaXZhdGUgbWFuaWZlc3RTZXJ2aWNlOiBNYW5pZmVzdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBpdGVtU2VydmljZTogSXRlbVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0aXRsZVNlcnZpY2U6IFByeVRpdGxlU2VydmljZSxcbiAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFByeUkxOG5TZXJ2aWNlLFxuICAgIHByaXZhdGUgc25hY2tCYXI6IFByeVNuYWNrYmFyU2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcmVmcmVzaFNlcnZpY2U6IFJlZnJlc2hTZXJ2aWNlLFxuICAgIHByaXZhdGUgdG9vbGJveE1hbmlmZXN0U2VydmljZTogVG9vbGJveE1hbmlmZXN0U2VydmljZSxcbiAgICBwcml2YXRlIGJ1c1NlcnZpY2U6IEJ1c1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBzZWFyY2hTZXJ2aWNlOiBTZWFyY2hTZXJ2aWNlLFxuICAgIHByaXZhdGUgcHJ5RGlhbG9nOiBQcnlEaWFsb2dTZXJ2aWNlLFxuICAgIHByaXZhdGUgd21zU2VydmljZTogV21zU2VydmljZSxcbiAgICBwcml2YXRlIHdpZGdldEZhY3RvcnlTZXJ2aWNlOiBXaWRnZXRGYWN0b3J5U2VydmljZSxcbiAgICBwcml2YXRlIGkxOG5TZXJ2aWNlOiBQcnlJMThuU2VydmljZVxuICApIHtcbiAgICBkYXNoYm9hcmRJbml0U2VydmljZS5pbml0KCk7XG4gICAgcmVmcmVzaFNlcnZpY2Uuc3RhcnQoKTtcbiAgfVxufVxuIl19
@@ -94,10 +94,10 @@ export class ManifestService {
94
94
  .select(ConfigSelectors.refUrl)
95
95
  .pipe(mergeMap((url) => this.httpClient.delete(encodeURI(`${url}/users/me/dashboards/id/${presentationId}/metadata/id/${metadataId}`))));
96
96
  }
97
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: ManifestService, deps: [{ token: i1.HttpClient }, { token: i2.Store }, { token: i3.PrySnackbarService }, { token: i4.PryI18nService }], target: i0.ɵɵFactoryTarget.Injectable }); }
98
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: ManifestService, providedIn: 'root' }); }
97
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ManifestService, deps: [{ token: i1.HttpClient }, { token: i2.Store }, { token: i3.PrySnackbarService }, { token: i4.PryI18nService }], target: i0.ɵɵFactoryTarget.Injectable }); }
98
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ManifestService, providedIn: 'root' }); }
99
99
  }
100
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: ManifestService, decorators: [{
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ManifestService, decorators: [{
101
101
  type: Injectable,
102
102
  args: [{
103
103
  providedIn: 'root'
@@ -36,10 +36,10 @@ export class RefreshService {
36
36
  });
37
37
  }
38
38
  }
39
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RefreshService, deps: [{ token: i1.Store }, { token: i2.WidgetFactoryService }], target: i0.ɵɵFactoryTarget.Injectable }); }
40
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RefreshService, providedIn: 'root' }); }
39
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RefreshService, deps: [{ token: i1.Store }, { token: i2.WidgetFactoryService }], target: i0.ɵɵFactoryTarget.Injectable }); }
40
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RefreshService, providedIn: 'root' }); }
41
41
  }
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RefreshService, decorators: [{
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RefreshService, decorators: [{
43
43
  type: Injectable,
44
44
  args: [{
45
45
  providedIn: 'root'
@@ -27,10 +27,10 @@ export class PryTitleService {
27
27
  : '';
28
28
  this.title.setTitle(`${nextTitle} ${pageNumber}`);
29
29
  }
30
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: PryTitleService, deps: [{ token: i1.Title }, { token: i2.PryI18nService }, { token: i3.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
31
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: PryTitleService, providedIn: 'root' }); }
30
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PryTitleService, deps: [{ token: i1.Title }, { token: i2.PryI18nService }, { token: i3.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
31
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PryTitleService, providedIn: 'root' }); }
32
32
  }
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: PryTitleService, decorators: [{
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PryTitleService, decorators: [{
34
34
  type: Injectable,
35
35
  args: [{
36
36
  providedIn: 'root'
@@ -46,10 +46,10 @@ export class WmsService {
46
46
  const url = wfsUrlBuilder(wmsUrl, bbox);
47
47
  return this.httpClient.get(url).pipe(map((json) => json));
48
48
  }
49
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WmsService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
50
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WmsService, providedIn: 'root' }); }
49
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: WmsService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
50
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: WmsService, providedIn: 'root' }); }
51
51
  }
52
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WmsService, decorators: [{
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: WmsService, decorators: [{
53
53
  type: Injectable,
54
54
  args: [{
55
55
  providedIn: 'root'
@@ -7,10 +7,10 @@ export class BaseTooltipComponent extends SubscriptionnerDirective {
7
7
  this.class = 'm-tooltip__item';
8
8
  this.data = {};
9
9
  }
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: BaseTooltipComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
11
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: BaseTooltipComponent, selector: "pry-tooltip-widget", host: { properties: { "class": "this.class" } }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: BaseTooltipComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
11
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: BaseTooltipComponent, selector: "pry-tooltip-widget", host: { properties: { "class": "this.class" } }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
12
12
  }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: BaseTooltipComponent, decorators: [{
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: BaseTooltipComponent, decorators: [{
14
14
  type: Component,
15
15
  args: [{ selector: 'pry-tooltip-widget', template: '' }]
16
16
  }], propDecorators: { class: [{
@@ -5,11 +5,11 @@ export class BaseTooltipModule {
5
5
  getComponent() {
6
6
  return DefaultTooltipComponent;
7
7
  }
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: BaseTooltipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: BaseTooltipModule }); }
10
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: BaseTooltipModule }); }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: BaseTooltipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: BaseTooltipModule }); }
10
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: BaseTooltipModule }); }
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: BaseTooltipModule, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: BaseTooltipModule, decorators: [{
13
13
  type: NgModule,
14
14
  args: [{}]
15
15
  }] });
@@ -6,10 +6,10 @@ import * as i2 from "../../../../core/pipes/translate-id/translate-id.pipe";
6
6
  import * as i3 from "../../../../core/pipes/translate-item-to-symbol/translate-item-to-symbol.pipe";
7
7
  import * as i4 from "../../../../core/i18n/i18n.pipe";
8
8
  export class DefaultTooltipComponent extends BaseTooltipComponent {
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: DefaultTooltipComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
10
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: DefaultTooltipComponent, selector: "pry-default-tooltip", usesInheritance: true, ngImport: i0, template: "<div class=\"m-tooltip__item__content\">\n <ng-container *ngIf=\"data.item.properties; else defaultTooltip\">\n <p *ngFor=\"let property of data.item.properties\">\n <span>{{ property.key | titlecase }} :</span> {{ property.value }}\n </p>\n </ng-container>\n</div>\n<ng-template #defaultTooltip>\n <h3 class=\"a-h3 -attribute\">\n <img\n [src]=\"data.item | translateItemToSymbol | async\"\n [alt]=\"data.item.oClass | translateId: { type: 'class', output: 'name' } | async\"\n width=\"32\"\n aria-hidden=\"true\"\n />\n <span>{{ data.item.oClass | translateId: { type: 'class', output: 'name' } | async }}</span>\n </h3>\n <p>\n <span>{{ '@pry.widget.itemId' | i18n }} :</span> {{ data.item?.id }}\n </p>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: i2.TranslateIdPipe, name: "translateId" }, { kind: "pipe", type: i3.TranslateItemToSymbolPipe, name: "translateItemToSymbol" }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }] }); }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: DefaultTooltipComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
10
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: DefaultTooltipComponent, selector: "pry-default-tooltip", usesInheritance: true, ngImport: i0, template: "<div class=\"m-tooltip__item__content\">\n <ng-container *ngIf=\"data.item.properties; else defaultTooltip\">\n <p *ngFor=\"let property of data.item.properties\">\n <span>{{ property.key | titlecase }} :</span> {{ property.value }}\n </p>\n </ng-container>\n</div>\n<ng-template #defaultTooltip>\n <h3 class=\"a-h3 -attribute\">\n <img\n [src]=\"data.item | translateItemToSymbol | async\"\n [alt]=\"data.item.oClass | translateId: { type: 'class', output: 'name' } | async\"\n width=\"32\"\n aria-hidden=\"true\"\n />\n <span>{{ data.item.oClass | translateId: { type: 'class', output: 'name' } | async }}</span>\n </h3>\n <p>\n <span>{{ '@pry.widget.itemId' | i18n }} :</span> {{ data.item?.id }}\n </p>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: i2.TranslateIdPipe, name: "translateId" }, { kind: "pipe", type: i3.TranslateItemToSymbolPipe, name: "translateItemToSymbol" }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }] }); }
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: DefaultTooltipComponent, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: DefaultTooltipComponent, decorators: [{
13
13
  type: Component,
14
14
  args: [{ selector: 'pry-default-tooltip', template: "<div class=\"m-tooltip__item__content\">\n <ng-container *ngIf=\"data.item.properties; else defaultTooltip\">\n <p *ngFor=\"let property of data.item.properties\">\n <span>{{ property.key | titlecase }} :</span> {{ property.value }}\n </p>\n </ng-container>\n</div>\n<ng-template #defaultTooltip>\n <h3 class=\"a-h3 -attribute\">\n <img\n [src]=\"data.item | translateItemToSymbol | async\"\n [alt]=\"data.item.oClass | translateId: { type: 'class', output: 'name' } | async\"\n width=\"32\"\n aria-hidden=\"true\"\n />\n <span>{{ data.item.oClass | translateId: { type: 'class', output: 'name' } | async }}</span>\n </h3>\n <p>\n <span>{{ '@pry.widget.itemId' | i18n }} :</span> {{ data.item?.id }}\n </p>\n</ng-template>\n" }]
15
15
  }] });
@@ -63,10 +63,10 @@ export class TooltipFactoryService {
63
63
  addTooltipDefinitions(defs) {
64
64
  this.reference$.next({ ...this.reference$.getValue(), ...defs });
65
65
  }
66
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: TooltipFactoryService, deps: [{ token: i0.Injector }, { token: TOOLTIP_DEFINITION }, { token: i1.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
67
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: TooltipFactoryService, providedIn: 'root' }); }
66
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: TooltipFactoryService, deps: [{ token: i0.Injector }, { token: TOOLTIP_DEFINITION }, { token: i1.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
67
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: TooltipFactoryService, providedIn: 'root' }); }
68
68
  }
69
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: TooltipFactoryService, decorators: [{
69
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: TooltipFactoryService, decorators: [{
70
70
  type: Injectable,
71
71
  args: [{
72
72
  providedIn: 'root'
@@ -1,16 +1,27 @@
1
1
  import { createNgModule, Injector } from '@angular/core';
2
2
  import { DefaultTooltipComponent } from './components/default/default.tooltip.component';
3
3
  const moduleRefCache = {};
4
+ const standaloneRefCache = {};
4
5
  export function tooltipLoader(module, prop) {
5
6
  return (injector) => {
7
+ const standalone = prop.endsWith('Component');
6
8
  if (!!moduleRefCache[prop]) {
7
9
  return moduleRefCache[prop].getComponent();
8
10
  }
11
+ else if (!!standaloneRefCache[prop]) {
12
+ return standaloneRefCache[prop];
13
+ }
9
14
  else {
10
15
  if (!!module[prop]) {
11
- const moduleRef = createNgModule(module[prop], Injector.create({ parent: injector, providers: [] }));
12
- moduleRefCache[prop] = moduleRef.instance;
13
- return moduleRefCache[prop].getComponent();
16
+ if (!standalone) {
17
+ const moduleRef = createNgModule(module[prop], Injector.create({ parent: injector, providers: [] }));
18
+ moduleRefCache[prop] = moduleRef.instance;
19
+ return moduleRefCache[prop].getComponent();
20
+ }
21
+ else {
22
+ standaloneRefCache[prop] = module[prop];
23
+ return standaloneRefCache[prop];
24
+ }
14
25
  }
15
26
  else {
16
27
  console.error(`module has no property ${prop}`, module);
@@ -19,4 +30,4 @@ export function tooltipLoader(module, prop) {
19
30
  }
20
31
  };
21
32
  }
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC1sb2FkZXIuZnVuY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvZGFzaGJvYXJkL3Rvb2x0aXAvdG9vbHRpcC1sb2FkZXIuZnVuY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFJekYsTUFBTSxjQUFjLEdBQUcsRUFBaUQsQ0FBQztBQUV6RSxNQUFNLFVBQVUsYUFBYSxDQUFDLE1BQVcsRUFBRSxJQUFZO0lBQ3JELE9BQU8sQ0FBQyxRQUFrQixFQUFFLEVBQUU7UUFDNUIsSUFBSSxDQUFDLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDM0IsT0FBTyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWSxFQUEyQyxDQUFDO1FBQ3RGLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ25CLE1BQU0sU0FBUyxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDckcsY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLFNBQVMsQ0FBQyxRQUE2QixDQUFDO2dCQUMvRCxPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxZQUFZLEVBQTJDLENBQUM7WUFDdEYsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE9BQU8sQ0FBQyxLQUFLLENBQUMsMEJBQTBCLElBQUksRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDO2dCQUN4RCxPQUFPLHVCQUF1QixDQUFDO1lBQ2pDLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZU5nTW9kdWxlLCBJbmplY3RvciwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGVmYXVsdFRvb2x0aXBDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZGVmYXVsdC9kZWZhdWx0LnRvb2x0aXAuY29tcG9uZW50JztcbmltcG9ydCB7IEJhc2VUb29sdGlwQ29tcG9uZW50IH0gZnJvbSAnLi9iYXNlLXRvb2x0aXAuY29tcG9uZW50JztcbmltcG9ydCB7IEJhc2VUb29sdGlwTW9kdWxlIH0gZnJvbSAnLi9iYXNlLXRvb2x0aXAubW9kdWxlJztcblxuY29uc3QgbW9kdWxlUmVmQ2FjaGUgPSB7fSBhcyB7IFttb2R1bGVOYW1lOiBzdHJpbmddOiBCYXNlVG9vbHRpcE1vZHVsZSB9O1xuXG5leHBvcnQgZnVuY3Rpb24gdG9vbHRpcExvYWRlcihtb2R1bGU6IGFueSwgcHJvcDogc3RyaW5nKTogKGluamVjdG9yOiBJbmplY3RvcikgPT4gVHlwZTxCYXNlVG9vbHRpcENvbXBvbmVudD4ge1xuICByZXR1cm4gKGluamVjdG9yOiBJbmplY3RvcikgPT4ge1xuICAgIGlmICghIW1vZHVsZVJlZkNhY2hlW3Byb3BdKSB7XG4gICAgICByZXR1cm4gbW9kdWxlUmVmQ2FjaGVbcHJvcF0uZ2V0Q29tcG9uZW50KCkgYXMgdW5rbm93biBhcyBUeXBlPEJhc2VUb29sdGlwQ29tcG9uZW50PjtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKCEhbW9kdWxlW3Byb3BdKSB7XG4gICAgICAgIGNvbnN0IG1vZHVsZVJlZiA9IGNyZWF0ZU5nTW9kdWxlKG1vZHVsZVtwcm9wXSwgSW5qZWN0b3IuY3JlYXRlKHsgcGFyZW50OiBpbmplY3RvciwgcHJvdmlkZXJzOiBbXSB9KSk7XG4gICAgICAgIG1vZHVsZVJlZkNhY2hlW3Byb3BdID0gbW9kdWxlUmVmLmluc3RhbmNlIGFzIEJhc2VUb29sdGlwTW9kdWxlO1xuICAgICAgICByZXR1cm4gbW9kdWxlUmVmQ2FjaGVbcHJvcF0uZ2V0Q29tcG9uZW50KCkgYXMgdW5rbm93biBhcyBUeXBlPEJhc2VUb29sdGlwQ29tcG9uZW50PjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYG1vZHVsZSBoYXMgbm8gcHJvcGVydHkgJHtwcm9wfWAsIG1vZHVsZSk7XG4gICAgICAgIHJldHVybiBEZWZhdWx0VG9vbHRpcENvbXBvbmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH07XG59XG4iXX0=
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC1sb2FkZXIuZnVuY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvZGFzaGJvYXJkL3Rvb2x0aXAvdG9vbHRpcC1sb2FkZXIuZnVuY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFJekYsTUFBTSxjQUFjLEdBQUcsRUFBaUQsQ0FBQztBQUN6RSxNQUFNLGtCQUFrQixHQUFHLEVBQW9ELENBQUM7QUFFaEYsTUFBTSxVQUFVLGFBQWEsQ0FBQyxNQUFXLEVBQUUsSUFBWTtJQUNyRCxPQUFPLENBQUMsUUFBa0IsRUFBRSxFQUFFO1FBQzVCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDM0IsT0FBTyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWSxFQUEyQyxDQUFDO1FBQ3RGLENBQUM7YUFBTSxJQUFJLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3RDLE9BQU8sa0JBQWtCLENBQUMsSUFBSSxDQUEwQyxDQUFDO1FBQzNFLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztvQkFDaEIsTUFBTSxTQUFTLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO29CQUNyRyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsU0FBUyxDQUFDLFFBQTZCLENBQUM7b0JBQy9ELE9BQU8sY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLFlBQVksRUFBMkMsQ0FBQztnQkFDdEYsQ0FBQztxQkFBTSxDQUFDO29CQUNOLGtCQUFrQixDQUFDLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDeEMsT0FBTyxrQkFBa0IsQ0FBQyxJQUFJLENBQTBDLENBQUM7Z0JBQzNFLENBQUM7WUFDSCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sT0FBTyxDQUFDLEtBQUssQ0FBQywwQkFBMEIsSUFBSSxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQ3hELE9BQU8sdUJBQXVCLENBQUM7WUFDakMsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlTmdNb2R1bGUsIEluamVjdG9yLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEZWZhdWx0VG9vbHRpcENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kZWZhdWx0L2RlZmF1bHQudG9vbHRpcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFzZVRvb2x0aXBDb21wb25lbnQgfSBmcm9tICcuL2Jhc2UtdG9vbHRpcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFzZVRvb2x0aXBNb2R1bGUgfSBmcm9tICcuL2Jhc2UtdG9vbHRpcC5tb2R1bGUnO1xuXG5jb25zdCBtb2R1bGVSZWZDYWNoZSA9IHt9IGFzIHsgW21vZHVsZU5hbWU6IHN0cmluZ106IEJhc2VUb29sdGlwTW9kdWxlIH07XG5jb25zdCBzdGFuZGFsb25lUmVmQ2FjaGUgPSB7fSBhcyB7IFttb2R1bGVOYW1lOiBzdHJpbmddOiBCYXNlVG9vbHRpcENvbXBvbmVudCB9O1xuXG5leHBvcnQgZnVuY3Rpb24gdG9vbHRpcExvYWRlcihtb2R1bGU6IGFueSwgcHJvcDogc3RyaW5nKTogKGluamVjdG9yOiBJbmplY3RvcikgPT4gVHlwZTxCYXNlVG9vbHRpcENvbXBvbmVudD4ge1xuICByZXR1cm4gKGluamVjdG9yOiBJbmplY3RvcikgPT4ge1xuICAgIGNvbnN0IHN0YW5kYWxvbmUgPSBwcm9wLmVuZHNXaXRoKCdDb21wb25lbnQnKTtcbiAgICBpZiAoISFtb2R1bGVSZWZDYWNoZVtwcm9wXSkge1xuICAgICAgcmV0dXJuIG1vZHVsZVJlZkNhY2hlW3Byb3BdLmdldENvbXBvbmVudCgpIGFzIHVua25vd24gYXMgVHlwZTxCYXNlVG9vbHRpcENvbXBvbmVudD47XG4gICAgfSBlbHNlIGlmICghIXN0YW5kYWxvbmVSZWZDYWNoZVtwcm9wXSkge1xuICAgICAgcmV0dXJuIHN0YW5kYWxvbmVSZWZDYWNoZVtwcm9wXSBhcyB1bmtub3duIGFzIFR5cGU8QmFzZVRvb2x0aXBDb21wb25lbnQ+O1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoISFtb2R1bGVbcHJvcF0pIHtcbiAgICAgICAgaWYgKCFzdGFuZGFsb25lKSB7XG4gICAgICAgICAgY29uc3QgbW9kdWxlUmVmID0gY3JlYXRlTmdNb2R1bGUobW9kdWxlW3Byb3BdLCBJbmplY3Rvci5jcmVhdGUoeyBwYXJlbnQ6IGluamVjdG9yLCBwcm92aWRlcnM6IFtdIH0pKTtcbiAgICAgICAgICBtb2R1bGVSZWZDYWNoZVtwcm9wXSA9IG1vZHVsZVJlZi5pbnN0YW5jZSBhcyBCYXNlVG9vbHRpcE1vZHVsZTtcbiAgICAgICAgICByZXR1cm4gbW9kdWxlUmVmQ2FjaGVbcHJvcF0uZ2V0Q29tcG9uZW50KCkgYXMgdW5rbm93biBhcyBUeXBlPEJhc2VUb29sdGlwQ29tcG9uZW50PjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzdGFuZGFsb25lUmVmQ2FjaGVbcHJvcF0gPSBtb2R1bGVbcHJvcF07XG4gICAgICAgICAgcmV0dXJuIHN0YW5kYWxvbmVSZWZDYWNoZVtwcm9wXSBhcyB1bmtub3duIGFzIFR5cGU8QmFzZVRvb2x0aXBDb21wb25lbnQ+O1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLmVycm9yKGBtb2R1bGUgaGFzIG5vIHByb3BlcnR5ICR7cHJvcH1gLCBtb2R1bGUpO1xuICAgICAgICByZXR1cm4gRGVmYXVsdFRvb2x0aXBDb21wb25lbnQ7XG4gICAgICB9XG4gICAgfVxuICB9O1xufVxuIl19
@@ -51,10 +51,10 @@ export class PryNotificationContentComponent {
51
51
  hasTranslation(title, translationBase) {
52
52
  return this.i18nService.instant(translationBase + title) !== translationBase + title;
53
53
  }
54
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: PryNotificationContentComponent, deps: [{ token: i1.Store }, { token: i2.Router }, { token: i3.PryI18nService }], target: i0.ɵɵFactoryTarget.Component }); }
55
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: PryNotificationContentComponent, selector: "pry-notification-content", outputs: { closed: "closed" }, host: { listeners: { "window:resize": "ngDoCheck()" } }, viewQueries: [{ propertyName: "caret", first: true, predicate: ["caret"], descendants: true }, { propertyName: "button", first: true, predicate: ["button"], descendants: true }], ngImport: i0, template: "<div\n class=\"m-notifications-list\"\n id=\"notifications_list\"\n aria-labelledby=\"read_notifications\"\n aria-hidden=\"false\"\n #caret\n (keydown.escape)=\"closeToEscape()\"\n>\n <span class=\"caret-top\" [style.left.px]=\"left\"></span>\n <div class=\"m-notifications-list__header\">\n <h2 class=\"a-h2\">{{ '@pry.notif.label' | i18n }}</h2>\n <p class=\"a-p none\" *ngIf=\"(notifications$ | async)?.length === 0; else notification\">\n {{ '@pry.notif.noNotifications' | i18n }}\n </p>\n <ng-template #notification>\n <div class=\"m-btn-group\">\n <button type=\"button\" #button class=\"a-btn a-btn--primary\" (click)=\"deleteAll()\">\n {{ '@pry.notif.deleteAll' | i18n: { count: (notifications$ | async)?.length } }}\n </button>\n </div>\n </ng-template>\n </div>\n <div class=\"m-notifications-list__content\">\n <ul class=\"m-notifications-list__items\">\n <li class=\"m-notifications-list__items__li\" *ngFor=\"let notification of notifications$ | async; let last = last\">\n <div class=\"m-notifications-list__items__li__txt\">\n <h3 class=\"a-h3\">\n {{\n hasTranslation(notification.text.code, '@pry.notif.title.')\n ? ('@pry.notif.title.' + notification.text.code | i18n: notification.text.param)\n : notification.text.title\n }}\n <span>{{ notification.creationDate | date: \"dd/MM'&nbsp;&nbsp;&nbsp;'H':'mm\" }}</span>\n </h3>\n <p class=\"a-p desc\">\n {{\n hasTranslation(notification.text.code, '@pry.notif.title.')\n ? ('@pry.notif.message.' + notification.text.code | i18n: notification.text.param)\n : notification.text.code\n }}\n </p>\n <a *ngIf=\"!!notification.link\" (click)=\"goTo(notification)\">\n {{ '@pry.notif.link' | i18n }}\n </a>\n </div>\n <button\n class=\"a-btn a-btn--delete\"\n (click)=\"delete(notification)\"\n (keydown.tab)=\"last ? closeToEscape() : null\"\n title=\"{{ '@pry.notif.delete' | i18n }}\"\n >\n <pry-icon [height]=\"20\" [width]=\"20\" iconSvg=\"close\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.notif.delete' | i18n }}</span>\n </button>\n </li>\n </ul>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.DatePipe, name: "date" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }] }); }
54
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PryNotificationContentComponent, deps: [{ token: i1.Store }, { token: i2.Router }, { token: i3.PryI18nService }], target: i0.ɵɵFactoryTarget.Component }); }
55
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: PryNotificationContentComponent, selector: "pry-notification-content", outputs: { closed: "closed" }, host: { listeners: { "window:resize": "ngDoCheck()" } }, viewQueries: [{ propertyName: "caret", first: true, predicate: ["caret"], descendants: true }, { propertyName: "button", first: true, predicate: ["button"], descendants: true }], ngImport: i0, template: "<div\n class=\"m-notifications-list\"\n id=\"notifications_list\"\n aria-labelledby=\"read_notifications\"\n aria-hidden=\"false\"\n #caret\n (keydown.escape)=\"closeToEscape()\"\n>\n <span class=\"caret-top\" [style.left.px]=\"left\"></span>\n <div class=\"m-notifications-list__header\">\n <h2 class=\"a-h2\">{{ '@pry.notif.label' | i18n }}</h2>\n <p class=\"a-p none\" *ngIf=\"(notifications$ | async)?.length === 0; else notification\">\n {{ '@pry.notif.noNotifications' | i18n }}\n </p>\n <ng-template #notification>\n <div class=\"m-btn-group\">\n <button type=\"button\" #button class=\"a-btn a-btn--primary\" (click)=\"deleteAll()\">\n {{ '@pry.notif.deleteAll' | i18n: { count: (notifications$ | async)?.length } }}\n </button>\n </div>\n </ng-template>\n </div>\n <div class=\"m-notifications-list__content\">\n <ul class=\"m-notifications-list__items\">\n <li class=\"m-notifications-list__items__li\" *ngFor=\"let notification of notifications$ | async; let last = last\">\n <div class=\"m-notifications-list__items__li__txt\">\n <h3 class=\"a-h3\">\n {{\n hasTranslation(notification.text.code, '@pry.notif.title.')\n ? ('@pry.notif.title.' + notification.text.code | i18n: notification.text.param)\n : notification.text.title\n }}\n <span>{{ notification.creationDate | date: \"dd/MM'&nbsp;&nbsp;&nbsp;'H':'mm\" }}</span>\n </h3>\n <p class=\"a-p desc\">\n {{\n hasTranslation(notification.text.code, '@pry.notif.title.')\n ? ('@pry.notif.message.' + notification.text.code | i18n: notification.text.param)\n : notification.text.code\n }}\n </p>\n <a *ngIf=\"!!notification.link\" (click)=\"goTo(notification)\">\n {{ '@pry.notif.link' | i18n }}\n </a>\n </div>\n <button\n class=\"a-btn a-btn--delete\"\n (click)=\"delete(notification)\"\n (keydown.tab)=\"last ? closeToEscape() : null\"\n title=\"{{ '@pry.notif.delete' | i18n }}\"\n >\n <pry-icon [height]=\"20\" [width]=\"20\" iconSvg=\"close\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.notif.delete' | i18n }}</span>\n </button>\n </li>\n </ul>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.DatePipe, name: "date" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }] }); }
56
56
  }
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: PryNotificationContentComponent, decorators: [{
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PryNotificationContentComponent, decorators: [{
58
58
  type: Component,
59
59
  args: [{ selector: 'pry-notification-content', template: "<div\n class=\"m-notifications-list\"\n id=\"notifications_list\"\n aria-labelledby=\"read_notifications\"\n aria-hidden=\"false\"\n #caret\n (keydown.escape)=\"closeToEscape()\"\n>\n <span class=\"caret-top\" [style.left.px]=\"left\"></span>\n <div class=\"m-notifications-list__header\">\n <h2 class=\"a-h2\">{{ '@pry.notif.label' | i18n }}</h2>\n <p class=\"a-p none\" *ngIf=\"(notifications$ | async)?.length === 0; else notification\">\n {{ '@pry.notif.noNotifications' | i18n }}\n </p>\n <ng-template #notification>\n <div class=\"m-btn-group\">\n <button type=\"button\" #button class=\"a-btn a-btn--primary\" (click)=\"deleteAll()\">\n {{ '@pry.notif.deleteAll' | i18n: { count: (notifications$ | async)?.length } }}\n </button>\n </div>\n </ng-template>\n </div>\n <div class=\"m-notifications-list__content\">\n <ul class=\"m-notifications-list__items\">\n <li class=\"m-notifications-list__items__li\" *ngFor=\"let notification of notifications$ | async; let last = last\">\n <div class=\"m-notifications-list__items__li__txt\">\n <h3 class=\"a-h3\">\n {{\n hasTranslation(notification.text.code, '@pry.notif.title.')\n ? ('@pry.notif.title.' + notification.text.code | i18n: notification.text.param)\n : notification.text.title\n }}\n <span>{{ notification.creationDate | date: \"dd/MM'&nbsp;&nbsp;&nbsp;'H':'mm\" }}</span>\n </h3>\n <p class=\"a-p desc\">\n {{\n hasTranslation(notification.text.code, '@pry.notif.title.')\n ? ('@pry.notif.message.' + notification.text.code | i18n: notification.text.param)\n : notification.text.code\n }}\n </p>\n <a *ngIf=\"!!notification.link\" (click)=\"goTo(notification)\">\n {{ '@pry.notif.link' | i18n }}\n </a>\n </div>\n <button\n class=\"a-btn a-btn--delete\"\n (click)=\"delete(notification)\"\n (keydown.tab)=\"last ? closeToEscape() : null\"\n title=\"{{ '@pry.notif.delete' | i18n }}\"\n >\n <pry-icon [height]=\"20\" [width]=\"20\" iconSvg=\"close\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.notif.delete' | i18n }}</span>\n </button>\n </li>\n </ul>\n </div>\n</div>\n" }]
60
60
  }], ctorParameters: () => [{ type: i1.Store }, { type: i2.Router }, { type: i3.PryI18nService }], propDecorators: { closed: [{
@@ -47,10 +47,10 @@ export class PryNotificationComponent extends SubscriptionnerDirective {
47
47
  }
48
48
  }));
49
49
  }
50
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: PryNotificationComponent, deps: [{ token: i1.PryDialogService }, { token: i2.Overlay }, { token: i3.Store }], target: i0.ɵɵFactoryTarget.Component }); }
51
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: PryNotificationComponent, selector: "pry-notification", viewQueries: [{ propertyName: "ref", first: true, predicate: ["ref"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<pry-notification-css></pry-notification-css>\n<div\n class=\"m-notifications\"\n *ngIf=\"notifications$ | async as notifications\"\n [class.has-unread]=\"notifications.length > 0\"\n>\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only\"\n aria-controls=\"notifications_list\"\n [attr.aria-expanded]=\"isOpened\"\n aria-haspopup=\"true\"\n id=\"read_notifications\"\n #ref\n (click)=\"toggle()\"\n [title]=\"notifications.length <= 1 ? ('@pry.notif.notification' | i18n: {count : notifications.length} ) : ('@pry.notif.notifications' | i18n : {count : notifications.length})\"\n >\n <pry-icon iconSvg=\"notifications\"></pry-icon>\n <span *ngIf=\"notifications.length > 0\" class=\"a-pastille -unread\"\n >{{ notifications.length }} <span class=\"u-visually-hidden\">{{ '@pry.notif.label' | i18n | lowercase }}</span>\n </span>\n </button>\n</div>\n", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: i5.PryNotificationCssComponent, selector: "pry-notification-css" }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.LowerCasePipe, name: "lowercase" }, { kind: "pipe", type: i1.I18nPipe, name: "i18n" }] }); }
50
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PryNotificationComponent, deps: [{ token: i1.PryDialogService }, { token: i2.Overlay }, { token: i3.Store }], target: i0.ɵɵFactoryTarget.Component }); }
51
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: PryNotificationComponent, selector: "pry-notification", viewQueries: [{ propertyName: "ref", first: true, predicate: ["ref"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<pry-notification-css></pry-notification-css>\n<div\n class=\"m-notifications\"\n *ngIf=\"notifications$ | async as notifications\"\n [class.has-unread]=\"notifications.length > 0\"\n>\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only\"\n aria-controls=\"notifications_list\"\n [attr.aria-expanded]=\"isOpened\"\n aria-haspopup=\"true\"\n id=\"read_notifications\"\n #ref\n (click)=\"toggle()\"\n [title]=\"notifications.length <= 1 ? ('@pry.notif.notification' | i18n: {count : notifications.length} ) : ('@pry.notif.notifications' | i18n : {count : notifications.length})\"\n >\n <pry-icon iconSvg=\"notifications\"></pry-icon>\n <span *ngIf=\"notifications.length > 0\" class=\"a-pastille -unread\"\n >{{ notifications.length }} <span class=\"u-visually-hidden\">{{ '@pry.notif.label' | i18n | lowercase }}</span>\n </span>\n </button>\n</div>\n", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: i5.PryNotificationCssComponent, selector: "pry-notification-css" }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.LowerCasePipe, name: "lowercase" }, { kind: "pipe", type: i1.I18nPipe, name: "i18n" }] }); }
52
52
  }
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: PryNotificationComponent, decorators: [{
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PryNotificationComponent, decorators: [{
54
54
  type: Component,
55
55
  args: [{ selector: 'pry-notification', template: "<pry-notification-css></pry-notification-css>\n<div\n class=\"m-notifications\"\n *ngIf=\"notifications$ | async as notifications\"\n [class.has-unread]=\"notifications.length > 0\"\n>\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only\"\n aria-controls=\"notifications_list\"\n [attr.aria-expanded]=\"isOpened\"\n aria-haspopup=\"true\"\n id=\"read_notifications\"\n #ref\n (click)=\"toggle()\"\n [title]=\"notifications.length <= 1 ? ('@pry.notif.notification' | i18n: {count : notifications.length} ) : ('@pry.notif.notifications' | i18n : {count : notifications.length})\"\n >\n <pry-icon iconSvg=\"notifications\"></pry-icon>\n <span *ngIf=\"notifications.length > 0\" class=\"a-pastille -unread\"\n >{{ notifications.length }} <span class=\"u-visually-hidden\">{{ '@pry.notif.label' | i18n | lowercase }}</span>\n </span>\n </button>\n</div>\n" }]
56
56
  }], ctorParameters: () => [{ type: i1.PryDialogService }, { type: i2.Overlay }, { type: i3.Store }], propDecorators: { ref: [{
@@ -21,12 +21,12 @@ export class PryNotificationModule {
21
21
  this.pryTranslateService.addLangObject('fr', 'notification', frTranslations);
22
22
  this.pryTranslateService.addLangObject('en', 'notification', enTranslations);
23
23
  }
24
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: PryNotificationModule, deps: [{ token: i1.PryI18nService }], target: i0.ɵɵFactoryTarget.NgModule }); }
25
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: PryNotificationModule, declarations: [PryNotificationComponent, PryNotificationContentComponent, PryNotificationCssComponent], imports: [CommonModule,
24
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PryNotificationModule, deps: [{ token: i1.PryI18nService }], target: i0.ɵɵFactoryTarget.NgModule }); }
25
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: PryNotificationModule, declarations: [PryNotificationComponent, PryNotificationContentComponent, PryNotificationCssComponent], imports: [CommonModule,
26
26
  PryCoreModule, i2.StoreFeatureModule, i3.EffectsFeatureModule, PryIconModule,
27
27
  PrySearchModule,
28
28
  PryI18nModule], exports: [PryNotificationComponent, PryNotificationContentComponent] }); }
29
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: PryNotificationModule, imports: [CommonModule,
29
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PryNotificationModule, imports: [CommonModule,
30
30
  PryCoreModule,
31
31
  StoreModule.forFeature(notificationFeatureKey, notificationReducer),
32
32
  EffectsModule.forFeature([NotificationEffects]),
@@ -34,7 +34,7 @@ export class PryNotificationModule {
34
34
  PrySearchModule,
35
35
  PryI18nModule] }); }
36
36
  }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: PryNotificationModule, decorators: [{
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PryNotificationModule, decorators: [{
38
38
  type: NgModule,
39
39
  args: [{
40
40
  imports: [
@@ -28,10 +28,10 @@ export class NotificationEffects {
28
28
  })), 1);
29
29
  });
30
30
  }
31
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: NotificationEffects, deps: [{ token: i1.Actions }, { token: i2.WebsocketService }, { token: i3.Store }, { token: i4.NotificationService }], target: i0.ɵɵFactoryTarget.Injectable }); }
32
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: NotificationEffects }); }
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: NotificationEffects, deps: [{ token: i1.Actions }, { token: i2.WebsocketService }, { token: i3.Store }, { token: i4.NotificationService }], target: i0.ɵɵFactoryTarget.Injectable }); }
32
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: NotificationEffects }); }
33
33
  }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: NotificationEffects, decorators: [{
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: NotificationEffects, decorators: [{
35
35
  type: Injectable
36
36
  }], ctorParameters: () => [{ type: i1.Actions }, { type: i2.WebsocketService }, { type: i3.Store }, { type: i4.NotificationService }] });
37
37
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLmVmZmVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9ub3RpZmljYXRpb24vc3RvcmUvbm90aWZpY2F0aW9uLmVmZmVjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQVcsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc5RCxPQUFPLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7O0FBSTdELE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsWUFDVSxRQUFpQixFQUNqQixTQUEyQixFQUMzQixLQUFZLEVBQ1osbUJBQXdDO1FBSHhDLGFBQVEsR0FBUixRQUFRLENBQVM7UUFDakIsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUNaLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFvQmxELHdCQUFtQixHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FDdEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ2hCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsRUFDbEMsUUFBUSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FDbEIsSUFBSSxDQUFDLG1CQUFtQjthQUNyQixrQkFBa0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO2FBQzdCLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUMsYUFBYSxDQUFDLEVBQUUsRUFBRSxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FDekUsQ0FDRixDQUNGLENBQUM7UUFFRiw0QkFBdUIsR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQzFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUNoQixNQUFNLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLEVBQ3JDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQ2xCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLENBQzFHLENBQ0YsQ0FDRixDQUFDO1FBcENBLFNBQVMsQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBYyxFQUFFLEVBQUU7WUFDL0QsVUFBVSxDQUNSLEdBQUcsRUFBRSxDQUNILElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUNqQixtQkFBbUIsQ0FBQyxHQUFHLENBQUM7Z0JBQ3RCLFlBQVksRUFBRTtvQkFDWixJQUFJLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJO29CQUN0QixJQUFJLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJO29CQUN0QixZQUFZLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxZQUFZO29CQUN0QyxFQUFFLEVBQUUsR0FBRyxDQUFDLEVBQUU7aUJBQ1g7YUFDRixDQUFDLENBQ0gsRUFDSCxDQUFDLENBQ0YsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0F2QlUsbUJBQW1CO2tIQUFuQixtQkFBbUI7OzJGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb25zLCBjcmVhdGVFZmZlY3QsIG9mVHlwZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBXZWJzb2NrZXRTZXJ2aWNlLCB3c01lc3NhZ2UgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgbWFwLCBtZXJnZU1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uQWN0aW9ucyB9IGZyb20gJy4vbm90aWZpY2F0aW9uLmFjdGlvbnMnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4vbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uRWZmZWN0cyB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYWN0aW9ucyQ6IEFjdGlvbnMsXG4gICAgcHJpdmF0ZSB3c1NlcnZpY2U6IFdlYnNvY2tldFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmUsXG4gICAgcHJpdmF0ZSBub3RpZmljYXRpb25TZXJ2aWNlOiBOb3RpZmljYXRpb25TZXJ2aWNlXG4gICkge1xuICAgIHdzU2VydmljZS5tZXNzYWdlcyQoJ25vdGlmaWNhdGlvbicpLnN1YnNjcmliZSgobXNnOiB3c01lc3NhZ2UpID0+IHtcbiAgICAgIHNldFRpbWVvdXQoXG4gICAgICAgICgpID0+XG4gICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgICAgIE5vdGlmaWNhdGlvbkFjdGlvbnMuYWRkKHtcbiAgICAgICAgICAgICAgbm90aWZpY2F0aW9uOiB7XG4gICAgICAgICAgICAgICAgdGV4dDogbXNnLnBheWxvYWQudGV4dCxcbiAgICAgICAgICAgICAgICBsaW5rOiBtc2cucGF5bG9hZC5saW5rLFxuICAgICAgICAgICAgICAgIGNyZWF0aW9uRGF0ZTogbXNnLnBheWxvYWQuY3JlYXRpb25EYXRlLFxuICAgICAgICAgICAgICAgIGlkOiBtc2cuaWRcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICApLFxuICAgICAgICAxXG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgZGVsZXRlTm90aWZpY2F0aW9uJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShOb3RpZmljYXRpb25BY3Rpb25zLmRlbGV0ZSksXG4gICAgICBtZXJnZU1hcCgoYWN0aW9uKSA9PlxuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2VcbiAgICAgICAgICAuZGVsZXRlTm90aWZpY2F0aW9uKGFjdGlvbi5pZClcbiAgICAgICAgICAucGlwZShtYXAoKCkgPT4gTm90aWZpY2F0aW9uQWN0aW9ucy5kZWxldGVTdWNjZXNzKHsgaWQ6IGFjdGlvbi5pZCB9KSkpXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIGRlbGV0ZUFsbE5vdGlmaWNhdGlvbnMkID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKE5vdGlmaWNhdGlvbkFjdGlvbnMuZGVsZXRlQWxsKSxcbiAgICAgIG1lcmdlTWFwKChhY3Rpb24pID0+XG4gICAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5kZWxldGVBbGxOb3RpZmljYXRpb25zKCkucGlwZShtYXAoKCkgPT4gTm90aWZpY2F0aW9uQWN0aW9ucy5kZWxldGVBbGxTdWNjZXNzKCkpKVxuICAgICAgKVxuICAgIClcbiAgKTtcbn1cbiJdfQ==
@@ -19,10 +19,10 @@ export class NotificationService {
19
19
  .select(ConfigSelectors.refUrl)
20
20
  .pipe(mergeMap((url) => this.httpClient.delete(encodeURI(`${url}/notification/me`))));
21
21
  }
22
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: NotificationService, deps: [{ token: i1.HttpClient }, { token: i2.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
23
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: NotificationService, providedIn: 'root' }); }
22
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: NotificationService, deps: [{ token: i1.HttpClient }, { token: i2.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
23
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: NotificationService, providedIn: 'root' }); }
24
24
  }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: NotificationService, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: NotificationService, decorators: [{
26
26
  type: Injectable,
27
27
  args: [{
28
28
  providedIn: 'root'