@provoly/dashboard 1.4.14 → 1.4.16

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 (203) hide show
  1. package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-form/admin-abac-rules-form.component.mjs +7 -7
  2. package/esm2022/admin/components/admin-abac-rules/admin-abac-rules.component.mjs +3 -3
  3. package/esm2022/admin/components/admin-abac-rules/components/attribute-condition/attribute-condition.component.mjs +7 -7
  4. package/esm2022/admin/components/admin-abac-rules/components/composed-condition/composed-condition.component.mjs +10 -10
  5. package/esm2022/admin/components/admin-abac-rules/components/metadata-condition/metadata-condition.component.mjs +6 -6
  6. package/esm2022/admin/components/admin-abac-rules/components/select-attribute/select-attribute.component.mjs +3 -3
  7. package/esm2022/admin/components/admin-abac-rules/components/select-metadata/select-metadata.component.mjs +3 -3
  8. package/esm2022/admin/components/admin-classes/admin-classes-customize/admin-classes-customize.component.mjs +10 -10
  9. package/esm2022/admin/components/admin-classes/admin-classes-customize/symbol/admin-classes-customize-symbol.component.mjs +10 -15
  10. package/esm2022/admin/components/admin-classes/admin-classes-customize/tooltip/admin-classes-customize-tooltip.component.mjs +8 -8
  11. package/esm2022/admin/components/admin-classes/admin-classes-edit/admin-classes-edit.component.mjs +5 -5
  12. package/esm2022/admin/components/admin-classes/admin-classes-form/admin-classes-form.component.mjs +5 -5
  13. package/esm2022/admin/components/admin-classes/admin-classes-select/admin-classes-select.component.mjs +6 -6
  14. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-edit/admin-attributes-edit.component.mjs +5 -5
  15. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-form/admin-attributes-form.component.mjs +3 -3
  16. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-new/admin-attributes-new.component.mjs +5 -5
  17. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-select/admin-attributes-select.component.mjs +6 -6
  18. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-classes-view.component.mjs +3 -3
  19. package/esm2022/admin/components/admin-classes/admin-classes.component.mjs +5 -5
  20. package/esm2022/admin/components/admin-dataset/admin-dataset.component.mjs +6 -6
  21. package/esm2022/admin/components/admin-dataset/admin-select-dataset/admin-select-dataset.component.mjs +7 -7
  22. package/esm2022/admin/components/admin-environment/admin-environment-form/admin-environment-form.component.mjs +3 -3
  23. package/esm2022/admin/components/admin-environment/admin-environment-select/admin-environment-select.component.mjs +5 -5
  24. package/esm2022/admin/components/admin-environment/admin-environment-update/admin-environment-update.component.mjs +5 -5
  25. package/esm2022/admin/components/admin-environment/admin-environment.component.mjs +5 -5
  26. package/esm2022/admin/components/admin-fields/admin-fields-edit/admin-fields-edit.component.mjs +5 -5
  27. package/esm2022/admin/components/admin-fields/admin-fields-select/admin-fields-select.component.mjs +3 -3
  28. package/esm2022/admin/components/admin-layout/admin-layout.component.mjs +3 -3
  29. package/esm2022/admin/components/admin-links/admin-links-new/admin-links-new.component.mjs +5 -5
  30. package/esm2022/admin/components/admin-links/admin-links.component.mjs +5 -5
  31. package/esm2022/admin/components/admin-menu/admin-menu.component.mjs +5 -5
  32. package/esm2022/admin/components/admin-metadata/admin-edit-metadata/admin-edit-metadata.component.mjs +5 -5
  33. package/esm2022/admin/components/admin-metadata/admin-select-metadata/admin-select-metadata.component.mjs +5 -5
  34. package/esm2022/admin/components/admin-metadata/shared/form-metadata/form-metadata.component.mjs +4 -5
  35. package/esm2022/admin/components/admin-metadata/shared/list-metadata/pry-list-metadata.component.mjs +5 -6
  36. package/esm2022/admin/components/admin-metadata-rules/admin-metadata-rules.component.mjs +5 -5
  37. package/esm2022/admin/components/admin-metadata-rules/admin-select-metadata-rules/admin-select-metadata-rules.component.mjs +5 -5
  38. package/esm2022/admin/components/admin-metadata-rules/shared/admin-form-metadata-rules/admin-form-metadata-rules.component.mjs +4 -5
  39. package/esm2022/admin/components/admin-metadata-user/admin-user-edit-metadata/admin-user-edit-metadata.component.mjs +5 -5
  40. package/esm2022/admin/components/admin-metadata-user/admin-user-select-metadata/admin-user-select-metadata.component.mjs +5 -5
  41. package/esm2022/admin/components/admin-predicates/admin-predicates-form/admin-predicates-form.component.mjs +5 -5
  42. package/esm2022/admin/components/admin-predicates/admin-predicates-select/admin-predicates-select.component.mjs +5 -5
  43. package/esm2022/admin/components/admin-predicates/admin-predicates-update/admin-predicates-update.component.mjs +5 -5
  44. package/esm2022/admin/components/admin-predicates/admin-predicates.component.mjs +5 -5
  45. package/esm2022/admin/components/admin-relation-types/admin-relation-types-modal/admin-relation-types-modal.component.mjs +4 -5
  46. package/esm2022/admin/components/admin-relation-types/admin-relation-types-select/admin-relation-types-select.component.mjs +5 -5
  47. package/esm2022/admin/components/admin-relation-types/admin-relation-types.component.mjs +6 -6
  48. package/esm2022/admin/components/admin-user/admin-user-select/admin-user-select.component.mjs +6 -6
  49. package/esm2022/admin/components/admin-user/admin-user.component.mjs +5 -5
  50. package/esm2022/admin/components/association/association.component.mjs +4 -5
  51. package/esm2022/components/card/card.component.mjs +5 -6
  52. package/esm2022/components/metadata-editor/metadata-editor.component.mjs +6 -6
  53. package/esm2022/components/scheme-picker/scheme-picker.component.mjs +7 -7
  54. package/esm2022/components/stepper/stepper.component.mjs +3 -4
  55. package/esm2022/dataset/components/dataset-detail/dataset-detail.component.mjs +5 -5
  56. package/esm2022/dataset/components/dataset-version-form/dataset-version-form.component.mjs +6 -7
  57. package/esm2022/filters/date/date-filter.component.mjs +5 -6
  58. package/esm2022/filters/list/list-filter.component.mjs +6 -7
  59. package/esm2022/filters/number/number-filter.component.mjs +5 -6
  60. package/esm2022/filters/text/text-filter.component.mjs +5 -6
  61. package/esm2022/lib/core/components/about/about.component.mjs +3 -3
  62. package/esm2022/lib/core/components/accordion/accordion-item/accordion-item.component.mjs +7 -7
  63. package/esm2022/lib/core/components/base-menu/base-menu.component.mjs +6 -6
  64. package/esm2022/lib/core/components/base-toolbox/base-toolbox.component.mjs +6 -6
  65. package/esm2022/lib/core/components/base-toolbox-action/base-toolbox-action.component.mjs +6 -7
  66. package/esm2022/lib/core/components/date-picker/date-picker.component.mjs +4 -4
  67. package/esm2022/lib/core/components/date-picker/time-picker/loop-scroll-column/loop-scroll-column.component.mjs +3 -4
  68. package/esm2022/lib/core/components/date-picker/time-picker/time-picker.component.mjs +6 -6
  69. package/esm2022/lib/core/components/edit-input/edit-input.component.mjs +7 -8
  70. package/esm2022/lib/core/components/icon/icon.component.mjs +3 -3
  71. package/esm2022/lib/core/components/modal/modal.component.mjs +5 -6
  72. package/esm2022/lib/core/components/nq-color-selector/nq-color-selector.component.mjs +5 -5
  73. package/esm2022/lib/core/components/overlay/dialog-confirm.component.mjs +3 -3
  74. package/esm2022/lib/core/components/range/range.component.mjs +5 -6
  75. package/esm2022/lib/core/components/select/select.component.mjs +3 -3
  76. package/esm2022/lib/core/components/select-image/select-image.component.mjs +5 -5
  77. package/esm2022/lib/core/components/share/group-share/group-share.component.mjs +6 -6
  78. package/esm2022/lib/core/components/snackbar/snackbar/snackbar.component.mjs +3 -3
  79. package/esm2022/lib/core/components/status-modal/status-modal.component.mjs +5 -5
  80. package/esm2022/lib/core/components/tabs/tab-group.component.mjs +3 -3
  81. package/esm2022/lib/core/components/toggle/toggle.component.mjs +4 -4
  82. package/esm2022/lib/core/store/data-source/data-source.effects.mjs +9 -9
  83. package/esm2022/lib/core/store/search/search.effects.mjs +4 -2
  84. package/esm2022/lib/core/store/search/search.service.mjs +3 -7
  85. package/esm2022/lib/core/toolbox/toolbox-manifest.service.mjs +3 -3
  86. package/esm2022/lib/dashboard/action-bus/service/bus.service.mjs +2 -2
  87. package/esm2022/lib/dashboard/components/context-menu/context-menu.component.mjs +8 -8
  88. package/esm2022/lib/dashboard/components/dashboard.component.mjs +12 -12
  89. package/esm2022/lib/dashboard/components/manifests/manifests.component.mjs +5 -5
  90. package/esm2022/lib/dashboard/components/metadata/metadata.component.mjs +5 -6
  91. package/esm2022/lib/dashboard/components/vizualize-raw/vizualize-raw.component.mjs +3 -3
  92. package/esm2022/lib/dashboard/components/widgets/datasource-selector/datasource-selector.component.mjs +6 -6
  93. package/esm2022/lib/dashboard/components/widgets/header/widget-header.component.mjs +10 -10
  94. package/esm2022/lib/dashboard/components/widgets/widget-filler/widget-filler.component.mjs +2 -2
  95. package/esm2022/lib/dashboard/components/widgets/widget-placement/widget-placement.utils.mjs +2 -2
  96. package/esm2022/lib/dashboard/filter/components/filter-group/filter-group.component.mjs +7 -7
  97. package/esm2022/lib/dashboard/resultset-utils.mjs +7 -8
  98. package/esm2022/lib/dashboard/store/dashboard.effects.mjs +4 -4
  99. package/esm2022/lib/dashboard/store/dashboard.reducers.mjs +13 -24
  100. package/esm2022/lib/dashboard/tooltip/components/default/default.tooltip.component.mjs +3 -3
  101. package/esm2022/notification/components/notification/content/notification-content.component.mjs +3 -3
  102. package/esm2022/notification/components/notification/notification.component.mjs +5 -5
  103. package/esm2022/pipeline/components/pipeline-details/pipeline-details.component.mjs +7 -7
  104. package/esm2022/pipeline/components/pipeline-editor/graph-serializer.utils.mjs +2 -2
  105. package/esm2022/pipeline/components/pipeline-editor/pipeline-editor.component.mjs +5 -5
  106. package/esm2022/pipeline/components/pipeline-list/pipeline-list.component.mjs +9 -9
  107. package/esm2022/presentation/components/add-edit-presentation/add-edit-presentation.component.mjs +6 -6
  108. package/esm2022/presentation/components/presentation.component.mjs +6 -6
  109. package/esm2022/presentation/components/title-presentation/title-presentation.component.mjs +5 -5
  110. package/esm2022/restitution/components/restitution/restitution.component.mjs +3 -3
  111. package/esm2022/restitution/components/restitution-catalog/restitution-catalog.component.mjs +9 -9
  112. package/esm2022/restitution/components/restitution-list-item/restitution-list-item.component.mjs +3 -3
  113. package/esm2022/search/components/choose-widget/choose-widget.component.mjs +5 -5
  114. package/esm2022/search/components/edit-named-query/edit-named-query.component.mjs +9 -9
  115. package/esm2022/search/search-fulltext/search-fulltext/search-fulltext.component.mjs +3 -3
  116. package/esm2022/search/search-home/search-home.component.mjs +3 -3
  117. package/esm2022/search/search-mono-class/components/search-composed/search-composed.component.mjs +3 -3
  118. package/esm2022/search/search-mono-class/components/search-condition/search-condition.component.mjs +3 -3
  119. package/esm2022/search/search-mono-class/components/search-mono-class/search-mono-class.component.mjs +8 -8
  120. package/esm2022/search/search-mono-class/components/search-order/search-order.component.mjs +6 -6
  121. package/esm2022/search/search-mono-class/components/search-select-attribute/search-select-attribute.component.mjs +3 -3
  122. package/esm2022/search/search-multi-class/components/multi-class-condition/multi-class-condition.component.mjs +7 -7
  123. package/esm2022/search/search-multi-class/components/multi-class-field-selection/multi-class-field-selection.component.mjs +6 -6
  124. package/esm2022/search/search-multi-class/components/search-multi-class/search-multi-class.component.mjs +7 -7
  125. package/esm2022/search/search-tools/search-tools.component.mjs +13 -13
  126. package/esm2022/toolbox/components/named-query/named-query.component.mjs +5 -5
  127. package/esm2022/toolbox/components/save-view/save-view.component.mjs +10 -10
  128. package/esm2022/toolbox/components/select-grid-layout/select-grid-layout.component.mjs +8 -8
  129. package/esm2022/toolbox/shared/presentation-form/presentation-form.component.mjs +5 -6
  130. package/esm2022/tooltips/attribute/attribute-tooltip.component.mjs +3 -3
  131. package/esm2022/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.mjs +4 -4
  132. package/esm2022/widgets/widget-analytic/component/widget-analytic.component.mjs +2 -2
  133. package/esm2022/widgets/widget-chart/component/widget-chart.component.mjs +12 -12
  134. package/esm2022/widgets/widget-detail/component/widget-detail.component.mjs +13 -7
  135. package/esm2022/widgets/widget-graph/component/widget-graph.component.mjs +7 -7
  136. package/esm2022/widgets/widget-iframe/component/widget-iframe.component.mjs +7 -7
  137. package/esm2022/widgets/widget-iframe/messaging/iframe-messaging.service.mjs +2 -2
  138. package/esm2022/widgets/widget-map/component/widget-map.component.mjs +10 -10
  139. package/esm2022/widgets/widget-map/utils/widget-map.utils.mjs +2 -2
  140. package/esm2022/widgets/widget-table/component/widget-table.component.mjs +2 -2
  141. package/esm2022/widgets/widget-table/expand-value/expand-value.component.mjs +4 -5
  142. package/esm2022/widgets/widget-template/component/widget-template.component.mjs +7 -7
  143. package/esm2022/widgets/widget-tile/component/widget-tile.component.mjs +10 -10
  144. package/esm2022/widgets/widget-vega/component/widget-vega.component.mjs +9 -9
  145. package/fesm2022/provoly-dashboard-admin.mjs +171 -175
  146. package/fesm2022/provoly-dashboard-admin.mjs.map +1 -1
  147. package/fesm2022/provoly-dashboard-components-card.mjs +4 -5
  148. package/fesm2022/provoly-dashboard-components-card.mjs.map +1 -1
  149. package/fesm2022/provoly-dashboard-components-metadata-editor.mjs +4 -4
  150. package/fesm2022/provoly-dashboard-components-metadata-editor.mjs.map +1 -1
  151. package/fesm2022/provoly-dashboard-components-scheme-picker.mjs +6 -6
  152. package/fesm2022/provoly-dashboard-components-scheme-picker.mjs.map +1 -1
  153. package/fesm2022/provoly-dashboard-components-stepper.mjs +2 -3
  154. package/fesm2022/provoly-dashboard-components-stepper.mjs.map +1 -1
  155. package/fesm2022/provoly-dashboard-dataset.mjs +14 -14
  156. package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
  157. package/fesm2022/provoly-dashboard-filters-date.mjs +4 -5
  158. package/fesm2022/provoly-dashboard-filters-date.mjs.map +1 -1
  159. package/fesm2022/provoly-dashboard-filters-list.mjs +4 -5
  160. package/fesm2022/provoly-dashboard-filters-list.mjs.map +1 -1
  161. package/fesm2022/provoly-dashboard-filters-number.mjs +4 -5
  162. package/fesm2022/provoly-dashboard-filters-number.mjs.map +1 -1
  163. package/fesm2022/provoly-dashboard-filters-text.mjs +4 -5
  164. package/fesm2022/provoly-dashboard-filters-text.mjs.map +1 -1
  165. package/fesm2022/provoly-dashboard-notification.mjs +4 -4
  166. package/fesm2022/provoly-dashboard-notification.mjs.map +1 -1
  167. package/fesm2022/provoly-dashboard-pipeline.mjs +21 -21
  168. package/fesm2022/provoly-dashboard-pipeline.mjs.map +1 -1
  169. package/fesm2022/provoly-dashboard-presentation.mjs +14 -14
  170. package/fesm2022/provoly-dashboard-presentation.mjs.map +1 -1
  171. package/fesm2022/provoly-dashboard-restitution.mjs +6 -6
  172. package/fesm2022/provoly-dashboard-restitution.mjs.map +1 -1
  173. package/fesm2022/provoly-dashboard-search.mjs +35 -35
  174. package/fesm2022/provoly-dashboard-search.mjs.map +1 -1
  175. package/fesm2022/provoly-dashboard-toolbox.mjs +25 -25
  176. package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
  177. package/fesm2022/provoly-dashboard-tooltips-attribute.mjs +2 -2
  178. package/fesm2022/provoly-dashboard-tooltips-attribute.mjs.map +1 -1
  179. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs +3 -3
  180. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs.map +1 -1
  181. package/fesm2022/provoly-dashboard-widgets-widget-analytic.mjs +1 -1
  182. package/fesm2022/provoly-dashboard-widgets-widget-analytic.mjs.map +1 -1
  183. package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs +10 -10
  184. package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs.map +1 -1
  185. package/fesm2022/provoly-dashboard-widgets-widget-detail.mjs +11 -5
  186. package/fesm2022/provoly-dashboard-widgets-widget-detail.mjs.map +1 -1
  187. package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs +5 -5
  188. package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs.map +1 -1
  189. package/fesm2022/provoly-dashboard-widgets-widget-iframe.mjs +8 -8
  190. package/fesm2022/provoly-dashboard-widgets-widget-iframe.mjs.map +1 -1
  191. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +9 -9
  192. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
  193. package/fesm2022/provoly-dashboard-widgets-widget-table.mjs +6 -6
  194. package/fesm2022/provoly-dashboard-widgets-widget-table.mjs.map +1 -1
  195. package/fesm2022/provoly-dashboard-widgets-widget-template.mjs +7 -7
  196. package/fesm2022/provoly-dashboard-widgets-widget-template.mjs.map +1 -1
  197. package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs +11 -11
  198. package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs.map +1 -1
  199. package/fesm2022/provoly-dashboard-widgets-widget-vega.mjs +7 -7
  200. package/fesm2022/provoly-dashboard-widgets-widget-vega.mjs.map +1 -1
  201. package/fesm2022/provoly-dashboard.mjs +204 -219
  202. package/fesm2022/provoly-dashboard.mjs.map +1 -1
  203. package/package.json +1 -1
@@ -3,7 +3,7 @@ const arrayOf = (item, num) => {
3
3
  return [...new Array(num)].map(() => item);
4
4
  };
5
5
  export const createPlacedWidgetCopy = (widget, position) => {
6
- const tmp = JSON.parse(JSON.stringify(widget));
6
+ const tmp = structuredClone(widget);
7
7
  if (!tmp.layout) {
8
8
  tmp.layout = {};
9
9
  }
@@ -134,4 +134,4 @@ export const WidgetPlacementUtils = {
134
134
  return this.layouts.find((lay) => lay.type === layout);
135
135
  }
136
136
  };
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LXBsYWNlbWVudC51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9kYXNoYm9hcmQvY29tcG9uZW50cy93aWRnZXRzL3dpZGdldC1wbGFjZW1lbnQvd2lkZ2V0LXBsYWNlbWVudC51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQWdDLE1BQU0sMkNBQTJDLENBQUM7QUFHOUcsTUFBTSxPQUFPLEdBQUcsQ0FBQyxJQUFTLEVBQUUsR0FBVyxFQUFFLEVBQUU7SUFDekMsT0FBTyxDQUFDLEdBQUcsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDN0MsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxNQUFzQixFQUFFLFFBQXNCLEVBQUUsRUFBRTtJQUN2RixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUMvQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2hCLEdBQUcsQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFDRCxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQzFCLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDMUIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQztJQUNsQyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDO0lBQ3BD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TyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUNELFNBQVMsQ0FBQyxNQUFjO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLENBQUM7SUFDekQsQ0FBQztDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXNoYm9hcmRHcmlkTGF5b3V0LCBXaWRnZXRMYXlvdXQsIFdpZGdldE1hbmlmZXN0IH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS9tb2RlbC9tYW5pZmVzdC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQXV0b21hdGljR3JpZExheW91dERlZmluaXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL21vZGVsL2F1dG9tYXRpYy1ncmlkLWxheW91dC1kZWZpbml0aW9uLmludGVyZmFjZSc7XG5cbmNvbnN0IGFycmF5T2YgPSAoaXRlbTogYW55LCBudW06IG51bWJlcikgPT4ge1xuICByZXR1cm4gWy4uLm5ldyBBcnJheShudW0pXS5tYXAoKCkgPT4gaXRlbSk7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlUGxhY2VkV2lkZ2V0Q29weSA9ICh3aWRnZXQ6IFdpZGdldE1hbmlmZXN0LCBwb3NpdGlvbjogV2lkZ2V0TGF5b3V0KSA9PiB7XG4gIGNvbnN0IHRtcCA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkod2lkZ2V0KSk7XG4gIGlmICghdG1wLmxheW91dCkge1xuICAgIHRtcC5sYXlvdXQgPSB7fTtcbiAgfVxuICB0bXAubGF5b3V0LnggPSBwb3NpdGlvbi54O1xuICB0bXAubGF5b3V0LnkgPSBwb3NpdGlvbi55O1xuICB0bXAubGF5b3V0LndpZHRoID0gcG9zaXRpb24ud2lkdGg7XG4gIHRtcC5sYXlvdXQuaGVpZ2h0ID0gcG9zaXRpb24uaGVpZ2h0O1xuICByZXR1cm4gdG1wIGFzIFdpZGdldE1hbmlmZXN0O1xufTtcblxuZXhwb3J0IGNvbnN0IFdpZGdldFBsYWNlbWVudFV0aWxzID0ge1xuICBsYXlvdXRzOiBbXG4gICAge1xuICAgICAgdHlwZTogRGFzaGJvYXJkR3JpZExheW91dC5NQU5VQUwsXG4gICAgICBwbGFjZXM6IFtdLFxuICAgICAgbGFiZWw6ICdAcHJ5LnRvb2xib3gubGF5b3V0LjAnLFxuICAgICAgZGVzY3JpcHRpb246ICdAcHJ5LnRvb2xib3gubGF5b3V0LjBfZGV0YWlsbGVkJyxcbiAgICAgIHJvd3M6IDEyLFxuICAgICAgY29sdW1uczogMTJcbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6IERhc2hib2FyZEdyaWRMYXlvdXQuRlVMTCxcbiAgICAgIHBsYWNlczogW3sgeDogMSwgeTogMSwgd2lkdGg6IDEyLCBoZWlnaHQ6IDEyIH1dLFxuICAgICAgbGFiZWw6ICdAcHJ5LnRvb2xib3gubGF5b3V0LjEnLFxuICAgICAgZGVzY3JpcHRpb246ICdAcHJ5LnRvb2xib3gubGF5b3V0LjFfZGV0YWlsbGVkJyxcbiAgICAgIHJvd3M6IDEyLFxuICAgICAgY29sdW1uczogMTJcbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6IERhc2hib2FyZEdyaWRMYXlvdXQuSEFMRl9IT1JJWk9OVEFMLFxuICAgICAgcGxhY2VzOiBbXG4gICAgICAgIHsgeDogMSwgeTogMSwgd2lkdGg6IDEyLCBoZWlnaHQ6IDYgfSxcbiAgICAgICAgeyB4OiAxLCB5OiA3LCB3aWR0aDogMTIsIGhlaWdodDogNiB9XG4gICAgICBdLFxuICAgICAgbGFiZWw6ICdAcHJ5LnRvb2xib3gubGF5b3V0LjEvMmgnLFxuICAgICAgZGVzY3JpcHRpb246ICdAcHJ5LnRvb2xib3gubGF5b3V0LjEvMmhfZGV0YWlsbGVkJyxcbiAgICAgIHJvd3M6IDEyLFxuICAgICAgY29sdW1uczogMTJcbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6IERhc2hib2FyZEdyaWRMYXlvdXQuSEFMRl9WRVJUSUNBTCxcbiAgICAgIHBsYWNlczogW1xuICAgICAgICB7IHg6IDEsIHk6IDEsIHdpZHRoOiA2LCBoZWlnaHQ6IDEyIH0sXG4gICAgICAgIHsgeDogNywgeTogMSwgd2lkdGg6IDYsIGhlaWdodDogMTIgfVxuICAgICAgXSxcbiAgICAgIGxhYmVsOiAnQHByeS50b29sYm94LmxheW91dC4xLzJ2JyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnQHByeS50b29sYm94LmxheW91dC4xLzJ2X2RldGFpbGxlZCcsXG4gICAgICByb3dzOiAxMixcbiAgICAgIGNvbHVtbnM6IDEyXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiBEYXNoYm9hcmRHcmlkTGF5b3V0LlRISVJEX0hPUklaT05UQUwsXG4gICAgICBwbGFjZXM6IFtcbiAgICAgICAgeyB4OiAxLCB5OiAxLCB3aWR0aDogMTIsIGhlaWdodDogNCB9LFxuICAgICAgICB7IHg6IDEsIHk6IDUsIHdpZHRoOiAxMiwgaGVpZ2h0OiA0IH0sXG4gICAgICAgIHsgeDogMSwgeTogOSwgd2lkdGg6IDEyLCBoZWlnaHQ6IDQgfVxuICAgICAgXSxcbiAgICAgIGxhYmVsOiAnQHByeS50b29sYm94LmxheW91dC4xLzNoJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnQHByeS50b29sYm94LmxheW91dC4xLzNoX2RldGFpbGxlZCcsXG4gICAgICByb3dzOiAxMixcbiAgICAgIGNvbHVtbnM6IDEyXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiBEYXNoYm9hcmRHcmlkTGF5b3V0LlRISVJEX1ZFUlRJQ0FMLFxuICAgICAgcGxhY2VzOiBbXG4gICAgICAgIHsgeDogMSwgeTogMSwgd2lkdGg6IDQsIGhlaWdodDogMTIgfSxcbiAgICAgICAgeyB4OiA1LCB5OiAxLCB3aWR0aDogNCwgaGVpZ2h0OiAxMiB9LFxuICAgICAgICB7IHg6IDksIHk6IDEsIHdpZHRoOiA0LCBoZWlnaHQ6IDEyIH1cbiAgICAgIF0sXG4gICAgICBsYWJlbDogJ0BwcnkudG9vbGJveC5sYXlvdXQuMS8zdicsXG4gICAgICBkZXNjcmlwdGlvbjogJ0BwcnkudG9vbGJveC5sYXlvdXQuMS8zdl9kZXRhaWxsZWQnLFxuICAgICAgcm93czogMTIsXG4gICAgICBjb2x1bW5zOiAxMlxuICAgIH0sXG4gICAge1xuICAgICAgdHlwZTogRGFzaGJvYXJkR3JpZExheW91dC5RVUFSVEVSLFxuICAgICAgcGxhY2VzOiBbXG4gICAgICAgIHsgeDogMSwgeTogMSwgd2lkdGg6IDYsIGhlaWdodDogNiB9LFxuICAgICAgICB7IHg6IDEsIHk6IDcsIHdpZHRoOiA2LCBoZWlnaHQ6IDYgfSxcbiAgICAgICAgeyB4OiA3LCB5OiAxLCB3aWR0aDogNiwgaGVpZ2h0OiA2IH0sXG4gICAgICAgIHsgeDogNywgeTogNywgd2lkdGg6IDYsIGhlaWdodDogNiB9XG4gICAgICBdLFxuICAgICAgbGFiZWw6ICdAcHJ5LnRvb2xib3gubGF5b3V0LjEvNCcsXG4gICAgICBkZXNjcmlwdGlvbjogJ0BwcnkudG9vbGJveC5sYXlvdXQuMS80X2RldGFpbGxlZCcsXG4gICAgICByb3dzOiAxMixcbiAgICAgIGNvbHVtbnM6IDEyXG4gICAgfVxuICBdIGFzIEF1dG9tYXRpY0dyaWRMYXlvdXREZWZpbml0aW9uW10sXG4gIGFkZEdyaWRMYXlvdXQobGF5b3V0OiBBdXRvbWF0aWNHcmlkTGF5b3V0RGVmaW5pdGlvbikge1xuICAgIHRoaXMubGF5b3V0cy5wdXNoKGxheW91dCk7XG4gIH0sXG4gIGlzTGVmdDogKHcxOiBXaWRnZXRNYW5pZmVzdCwgdzI6IFdpZGdldE1hbmlmZXN0KSA9PiB3Mi5sYXlvdXQueCArIHcyLmxheW91dC53aWR0aCA8PSB3MS5sYXlvdXQueCxcbiAgaXNCZWxvdzogKHcxOiBXaWRnZXRNYW5pZmVzdCwgdzI6IFdpZGdldE1hbmlmZXN0KSA9PiB3Mi5sYXlvdXQueSArIHcyLmxheW91dC5oZWlnaHQgPD0gdzEubGF5b3V0LnksXG4gIGFyZURpc2pvaW50OiAodzE6IFdpZGdldE1hbmlmZXN0LCB3MjogV2lkZ2V0TWFuaWZlc3QpID0+XG4gICAgV2lkZ2V0UGxhY2VtZW50VXRpbHMuaXNMZWZ0KHcxLCB3MikgfHxcbiAgICBXaWRnZXRQbGFjZW1lbnRVdGlscy5pc0xlZnQodzIsIHcxKSB8fFxuICAgIFdpZGdldFBsYWNlbWVudFV0aWxzLmlzQmVsb3codzEsIHcyKSB8fFxuICAgIFdpZGdldFBsYWNlbWVudFV0aWxzLmlzQmVsb3codzIsIHcxKSxcbiAgcGxhY2VtZW50T3B0aW9uczogKHdpZGdldFRvUGxhY2U6IFdpZGdldE1hbmlmZXN0LCBsYXlvdXQ6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IGxheW91dE8gPSBXaWRnZXRQbGFjZW1lbnRVdGlscy5nZXRMYXlvdXQobGF5b3V0KTtcbiAgICBpZiAoIWxheW91dE8pIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gICAgcmV0dXJuIGxheW91dE8ucGxhY2VzLm1hcCgocGxhY2UpID0+ICh7IC4uLndpZGdldFRvUGxhY2UsIGxheW91dDogcGxhY2UgfSkpO1xuICB9LFxuICBzd2FwQXJyYXlFbGVtZW50czogKGFycjogYW55W10sIHg6IG51bWJlciwgeTogbnVtYmVyKSA9PiB7XG4gICAgaWYgKGFyci5sZW5ndGggPT09IDEpIHJldHVybiBhcnI7XG4gICAgYXJyLnNwbGljZSh5LCAxLCBhcnIuc3BsaWNlKHgsIDEsIGFyclt5XSlbMF0pO1xuICAgIHJldHVybiBhcnI7XG4gIH0sXG4gIGdldE92ZXJsYXBzOiAod2lkZ2V0czogV2lkZ2V0TWFuaWZlc3RbXSk6IFdpZGdldE1hbmlmZXN0W11bXSA9PiB7XG4gICAgY29uc3QgcHJvYmxlbXM6IFdpZGdldE1hbmlmZXN0W11bXSA9IFtdO1xuICAgIHdpZGdldHMuZm9yRWFjaCgod2lkZ2V0LCBpKSA9PiB7XG4gICAgICBjb25zdCB3aWRnZXRQcm9ibGVtczogV2lkZ2V0TWFuaWZlc3RbXSA9IFtdO1xuICAgICAgd2lkZ2V0cy5mb3JFYWNoKCh3aXRoV2lkZ2V0LCBqKSA9PiB7XG4gICAgICAgIGlmIChpIDwgaiAmJiAhV2lkZ2V0UGxhY2VtZW50VXRpbHMuYXJlRGlzam9pbnQod2lkZ2V0LCB3aXRoV2lkZ2V0KSkge1xuICAgICAgICAgIHdpZGdldFByb2JsZW1zLnB1c2god2l0aFdpZGdldCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgaWYgKHdpZGdldFByb2JsZW1zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgcHJvYmxlbXMucHVzaChbd2lkZ2V0LCAuLi53aWRnZXRQcm9ibGVtc10pO1xuICAgICAgfVxuICAgIH0pO1xuICAgIC8vIFJlc29sdmUgcHJvYmxlbXMgYm90dG9tLXVwIG9yIHByaW9yaXRpZXMgd2lsbCBiZSBtZXNzZWQgdXBcbiAgICBwcm9ibGVtcy5zb3J0KChhLCBiKSA9PiBhWzBdLmxheW91dC55ICogMTAwMDAwIC0gYlswXS5sYXlvdXQueSAqIDEwMDAwMCArIGFbMF0ubGF5b3V0LnggLSBiWzBdLmxheW91dC55KTtcbiAgICByZXR1cm4gcHJvYmxlbXM7XG4gIH0sXG4gIGdldExheW91dChsYXlvdXQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmxheW91dHMuZmluZCgobGF5KSA9PiBsYXkudHlwZSA9PT0gbGF5b3V0KTtcbiAgfVxufTtcbiJdfQ==
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LXBsYWNlbWVudC51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9kYXNoYm9hcmQvY29tcG9uZW50cy93aWRnZXRzL3dpZGdldC1wbGFjZW1lbnQvd2lkZ2V0LXBsYWNlbWVudC51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQWdDLE1BQU0sMkNBQTJDLENBQUM7QUFHOUcsTUFBTSxPQUFPLEdBQUcsQ0FBQyxJQUFTLEVBQUUsR0FBVyxFQUFFLEVBQUU7SUFDekMsT0FBTyxDQUFDLEdBQUcsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDN0MsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxNQUFzQixFQUFFLFFBQXNCLEVBQUUsRUFBRTtJQUN2RixNQUFNLEdBQUcsR0FBRyxlQUFlLENBQUMsTUFBTSxDQUFtQixDQUFDO0lBQ3RELElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDaEIsR0FBRyxDQUFDLE1BQU0sR0FBRyxFQUE4QixDQUFDO0lBQzlDLENBQUM7SUFDRCxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQzFCLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDMUIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQztJQUNsQyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDO0lBQ3BDLE9BQU8sR0FBcUIsQ0FBQztBQUMvQixDQUFDLENBQUM7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Q0FBQyxNQUFjO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLENBQUM7SUFDekQsQ0FBQztDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXNoYm9hcmRHcmlkTGF5b3V0LCBXaWRnZXRMYXlvdXQsIFdpZGdldE1hbmlmZXN0IH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS9tb2RlbC9tYW5pZmVzdC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQXV0b21hdGljR3JpZExheW91dERlZmluaXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL21vZGVsL2F1dG9tYXRpYy1ncmlkLWxheW91dC1kZWZpbml0aW9uLmludGVyZmFjZSc7XG5cbmNvbnN0IGFycmF5T2YgPSAoaXRlbTogYW55LCBudW06IG51bWJlcikgPT4ge1xuICByZXR1cm4gWy4uLm5ldyBBcnJheShudW0pXS5tYXAoKCkgPT4gaXRlbSk7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlUGxhY2VkV2lkZ2V0Q29weSA9ICh3aWRnZXQ6IFdpZGdldE1hbmlmZXN0LCBwb3NpdGlvbjogV2lkZ2V0TGF5b3V0KSA9PiB7XG4gIGNvbnN0IHRtcCA9IHN0cnVjdHVyZWRDbG9uZSh3aWRnZXQpIGFzIFdpZGdldE1hbmlmZXN0O1xuICBpZiAoIXRtcC5sYXlvdXQpIHtcbiAgICB0bXAubGF5b3V0ID0ge30gYXMgV2lkZ2V0TWFuaWZlc3RbJ2xheW91dCddO1xuICB9XG4gIHRtcC5sYXlvdXQueCA9IHBvc2l0aW9uLng7XG4gIHRtcC5sYXlvdXQueSA9IHBvc2l0aW9uLnk7XG4gIHRtcC5sYXlvdXQud2lkdGggPSBwb3NpdGlvbi53aWR0aDtcbiAgdG1wLmxheW91dC5oZWlnaHQgPSBwb3NpdGlvbi5oZWlnaHQ7XG4gIHJldHVybiB0bXAgYXMgV2lkZ2V0TWFuaWZlc3Q7XG59O1xuXG5leHBvcnQgY29uc3QgV2lkZ2V0UGxhY2VtZW50VXRpbHMgPSB7XG4gIGxheW91dHM6IFtcbiAgICB7XG4gICAgICB0eXBlOiBEYXNoYm9hcmRHcmlkTGF5b3V0Lk1BTlVBTCxcbiAgICAgIHBsYWNlczogW10sXG4gICAgICBsYWJlbDogJ0BwcnkudG9vbGJveC5sYXlvdXQuMCcsXG4gICAgICBkZXNjcmlwdGlvbjogJ0BwcnkudG9vbGJveC5sYXlvdXQuMF9kZXRhaWxsZWQnLFxuICAgICAgcm93czogMTIsXG4gICAgICBjb2x1bW5zOiAxMlxuICAgIH0sXG4gICAge1xuICAgICAgdHlwZTogRGFzaGJvYXJkR3JpZExheW91dC5GVUxMLFxuICAgICAgcGxhY2VzOiBbeyB4OiAxLCB5OiAxLCB3aWR0aDogMTIsIGhlaWdodDogMTIgfV0sXG4gICAgICBsYWJlbDogJ0BwcnkudG9vbGJveC5sYXlvdXQuMScsXG4gICAgICBkZXNjcmlwdGlvbjogJ0BwcnkudG9vbGJveC5sYXlvdXQuMV9kZXRhaWxsZWQnLFxuICAgICAgcm93czogMTIsXG4gICAgICBjb2x1bW5zOiAxMlxuICAgIH0sXG4gICAge1xuICAgICAgdHlwZTogRGFzaGJvYXJkR3JpZExheW91dC5IQUxGX0hPUklaT05UQUwsXG4gICAgICBwbGFjZXM6IFtcbiAgICAgICAgeyB4OiAxLCB5OiAxLCB3aWR0aDogMTIsIGhlaWdodDogNiB9LFxuICAgICAgICB7IHg6IDEsIHk6IDcsIHdpZHRoOiAxMiwgaGVpZ2h0OiA2IH1cbiAgICAgIF0sXG4gICAgICBsYWJlbDogJ0BwcnkudG9vbGJveC5sYXlvdXQuMS8yaCcsXG4gICAgICBkZXNjcmlwdGlvbjogJ0BwcnkudG9vbGJveC5sYXlvdXQuMS8yaF9kZXRhaWxsZWQnLFxuICAgICAgcm93czogMTIsXG4gICAgICBjb2x1bW5zOiAxMlxuICAgIH0sXG4gICAge1xuICAgICAgdHlwZTogRGFzaGJvYXJkR3JpZExheW91dC5IQUxGX1ZFUlRJQ0FMLFxuICAgICAgcGxhY2VzOiBbXG4gICAgICAgIHsgeDogMSwgeTogMSwgd2lkdGg6IDYsIGhlaWdodDogMTIgfSxcbiAgICAgICAgeyB4OiA3LCB5OiAxLCB3aWR0aDogNiwgaGVpZ2h0OiAxMiB9XG4gICAgICBdLFxuICAgICAgbGFiZWw6ICdAcHJ5LnRvb2xib3gubGF5b3V0LjEvMnYnLFxuICAgICAgZGVzY3JpcHRpb246ICdAcHJ5LnRvb2xib3gubGF5b3V0LjEvMnZfZGV0YWlsbGVkJyxcbiAgICAgIHJvd3M6IDEyLFxuICAgICAgY29sdW1uczogMTJcbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6IERhc2hib2FyZEdyaWRMYXlvdXQuVEhJUkRfSE9SSVpPTlRBTCxcbiAgICAgIHBsYWNlczogW1xuICAgICAgICB7IHg6IDEsIHk6IDEsIHdpZHRoOiAxMiwgaGVpZ2h0OiA0IH0sXG4gICAgICAgIHsgeDogMSwgeTogNSwgd2lkdGg6IDEyLCBoZWlnaHQ6IDQgfSxcbiAgICAgICAgeyB4OiAxLCB5OiA5LCB3aWR0aDogMTIsIGhlaWdodDogNCB9XG4gICAgICBdLFxuICAgICAgbGFiZWw6ICdAcHJ5LnRvb2xib3gubGF5b3V0LjEvM2gnLFxuICAgICAgZGVzY3JpcHRpb246ICdAcHJ5LnRvb2xib3gubGF5b3V0LjEvM2hfZGV0YWlsbGVkJyxcbiAgICAgIHJvd3M6IDEyLFxuICAgICAgY29sdW1uczogMTJcbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6IERhc2hib2FyZEdyaWRMYXlvdXQuVEhJUkRfVkVSVElDQUwsXG4gICAgICBwbGFjZXM6IFtcbiAgICAgICAgeyB4OiAxLCB5OiAxLCB3aWR0aDogNCwgaGVpZ2h0OiAxMiB9LFxuICAgICAgICB7IHg6IDUsIHk6IDEsIHdpZHRoOiA0LCBoZWlnaHQ6IDEyIH0sXG4gICAgICAgIHsgeDogOSwgeTogMSwgd2lkdGg6IDQsIGhlaWdodDogMTIgfVxuICAgICAgXSxcbiAgICAgIGxhYmVsOiAnQHByeS50b29sYm94LmxheW91dC4xLzN2JyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnQHByeS50b29sYm94LmxheW91dC4xLzN2X2RldGFpbGxlZCcsXG4gICAgICByb3dzOiAxMixcbiAgICAgIGNvbHVtbnM6IDEyXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiBEYXNoYm9hcmRHcmlkTGF5b3V0LlFVQVJURVIsXG4gICAgICBwbGFjZXM6IFtcbiAgICAgICAgeyB4OiAxLCB5OiAxLCB3aWR0aDogNiwgaGVpZ2h0OiA2IH0sXG4gICAgICAgIHsgeDogMSwgeTogNywgd2lkdGg6IDYsIGhlaWdodDogNiB9LFxuICAgICAgICB7IHg6IDcsIHk6IDEsIHdpZHRoOiA2LCBoZWlnaHQ6IDYgfSxcbiAgICAgICAgeyB4OiA3LCB5OiA3LCB3aWR0aDogNiwgaGVpZ2h0OiA2IH1cbiAgICAgIF0sXG4gICAgICBsYWJlbDogJ0BwcnkudG9vbGJveC5sYXlvdXQuMS80JyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnQHByeS50b29sYm94LmxheW91dC4xLzRfZGV0YWlsbGVkJyxcbiAgICAgIHJvd3M6IDEyLFxuICAgICAgY29sdW1uczogMTJcbiAgICB9XG4gIF0gYXMgQXV0b21hdGljR3JpZExheW91dERlZmluaXRpb25bXSxcbiAgYWRkR3JpZExheW91dChsYXlvdXQ6IEF1dG9tYXRpY0dyaWRMYXlvdXREZWZpbml0aW9uKSB7XG4gICAgdGhpcy5sYXlvdXRzLnB1c2gobGF5b3V0KTtcbiAgfSxcbiAgaXNMZWZ0OiAodzE6IFdpZGdldE1hbmlmZXN0LCB3MjogV2lkZ2V0TWFuaWZlc3QpID0+IHcyLmxheW91dC54ICsgdzIubGF5b3V0LndpZHRoIDw9IHcxLmxheW91dC54LFxuICBpc0JlbG93OiAodzE6IFdpZGdldE1hbmlmZXN0LCB3MjogV2lkZ2V0TWFuaWZlc3QpID0+IHcyLmxheW91dC55ICsgdzIubGF5b3V0LmhlaWdodCA8PSB3MS5sYXlvdXQueSxcbiAgYXJlRGlzam9pbnQ6ICh3MTogV2lkZ2V0TWFuaWZlc3QsIHcyOiBXaWRnZXRNYW5pZmVzdCkgPT5cbiAgICBXaWRnZXRQbGFjZW1lbnRVdGlscy5pc0xlZnQodzEsIHcyKSB8fFxuICAgIFdpZGdldFBsYWNlbWVudFV0aWxzLmlzTGVmdCh3MiwgdzEpIHx8XG4gICAgV2lkZ2V0UGxhY2VtZW50VXRpbHMuaXNCZWxvdyh3MSwgdzIpIHx8XG4gICAgV2lkZ2V0UGxhY2VtZW50VXRpbHMuaXNCZWxvdyh3MiwgdzEpLFxuICBwbGFjZW1lbnRPcHRpb25zOiAod2lkZ2V0VG9QbGFjZTogV2lkZ2V0TWFuaWZlc3QsIGxheW91dDogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgbGF5b3V0TyA9IFdpZGdldFBsYWNlbWVudFV0aWxzLmdldExheW91dChsYXlvdXQpO1xuICAgIGlmICghbGF5b3V0Tykge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgICByZXR1cm4gbGF5b3V0Ty5wbGFjZXMubWFwKChwbGFjZSkgPT4gKHsgLi4ud2lkZ2V0VG9QbGFjZSwgbGF5b3V0OiBwbGFjZSB9KSk7XG4gIH0sXG4gIHN3YXBBcnJheUVsZW1lbnRzOiAoYXJyOiBhbnlbXSwgeDogbnVtYmVyLCB5OiBudW1iZXIpID0+IHtcbiAgICBpZiAoYXJyLmxlbmd0aCA9PT0gMSkgcmV0dXJuIGFycjtcbiAgICBhcnIuc3BsaWNlKHksIDEsIGFyci5zcGxpY2UoeCwgMSwgYXJyW3ldKVswXSk7XG4gICAgcmV0dXJuIGFycjtcbiAgfSxcbiAgZ2V0T3ZlcmxhcHM6ICh3aWRnZXRzOiBXaWRnZXRNYW5pZmVzdFtdKTogV2lkZ2V0TWFuaWZlc3RbXVtdID0+IHtcbiAgICBjb25zdCBwcm9ibGVtczogV2lkZ2V0TWFuaWZlc3RbXVtdID0gW107XG4gICAgd2lkZ2V0cy5mb3JFYWNoKCh3aWRnZXQsIGkpID0+IHtcbiAgICAgIGNvbnN0IHdpZGdldFByb2JsZW1zOiBXaWRnZXRNYW5pZmVzdFtdID0gW107XG4gICAgICB3aWRnZXRzLmZvckVhY2goKHdpdGhXaWRnZXQsIGopID0+IHtcbiAgICAgICAgaWYgKGkgPCBqICYmICFXaWRnZXRQbGFjZW1lbnRVdGlscy5hcmVEaXNqb2ludCh3aWRnZXQsIHdpdGhXaWRnZXQpKSB7XG4gICAgICAgICAgd2lkZ2V0UHJvYmxlbXMucHVzaCh3aXRoV2lkZ2V0KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBpZiAod2lkZ2V0UHJvYmxlbXMubGVuZ3RoID4gMCkge1xuICAgICAgICBwcm9ibGVtcy5wdXNoKFt3aWRnZXQsIC4uLndpZGdldFByb2JsZW1zXSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgLy8gUmVzb2x2ZSBwcm9ibGVtcyBib3R0b20tdXAgb3IgcHJpb3JpdGllcyB3aWxsIGJlIG1lc3NlZCB1cFxuICAgIHByb2JsZW1zLnNvcnQoKGEsIGIpID0+IGFbMF0ubGF5b3V0LnkgKiAxMDAwMDAgLSBiWzBdLmxheW91dC55ICogMTAwMDAwICsgYVswXS5sYXlvdXQueCAtIGJbMF0ubGF5b3V0LnkpO1xuICAgIHJldHVybiBwcm9ibGVtcztcbiAgfSxcbiAgZ2V0TGF5b3V0KGxheW91dDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMubGF5b3V0cy5maW5kKChsYXkpID0+IGxheS50eXBlID09PSBsYXlvdXQpO1xuICB9XG59O1xuIl19
@@ -5,10 +5,10 @@ import { DashboardActions } from '../../../store/dashboard.actions';
5
5
  import { DOCUMENT } from '@angular/common';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "@ngrx/store";
8
- import * as i2 from "@angular/common";
9
- import * as i3 from "../../../../core/components/icon/icon.component";
10
- import * as i4 from "../filter-instanciator/filter-instanciator.component";
11
- import * as i5 from "../../style/css.component";
8
+ import * as i2 from "../../../../core/components/icon/icon.component";
9
+ import * as i3 from "../filter-instanciator/filter-instanciator.component";
10
+ import * as i4 from "../../style/css.component";
11
+ import * as i5 from "@angular/common";
12
12
  import * as i6 from "../../../../core/i18n/i18n.pipe";
13
13
  export class FilterGroupComponent {
14
14
  constructor(store, document) {
@@ -44,11 +44,11 @@ export class FilterGroupComponent {
44
44
  }
45
45
  }
46
46
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FilterGroupComponent, deps: [{ token: i1.Store }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component }); }
47
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: FilterGroupComponent, selector: "pry-filter-group", inputs: { enterTriggerFilter: "enterTriggerFilter", clearTriggerFilter: "clearTriggerFilter" }, ngImport: i0, template: "<pry-filter-group-css></pry-filter-group-css>\n<ng-container *ngIf=\"globalManifest$ | async as manifest\">\n <div class=\"o-container__filters\" *ngIf=\"manifest.filters && manifest.filters.length > 0\">\n <div class=\"o-container__filter-container\" (click)=\"openSelect()\">\n @for (filterDescription of manifest.filters; track filterDescription.id) {\n <pry-filter-instanciator\n [filter]=\"filterDescription\"\n [applyFilter$]=\"apply$\"\n (pressedEnter)=\"enterPressed()\"\n (cleared)=\"cleared()\"\n ></pry-filter-instanciator>\n }\n </div>\n <div class=\"o-container__filter-actions\">\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" (click)=\"clearFilters()\">\n <pry-icon iconSvg=\"clear_filter\" [width]=\"30\" [height]=\"30\"></pry-icon>\n </button>\n <button type=\"button\" class=\"a-btn a-btn--primary\" (click)=\"filter()\">\n {{ '@pry.toolbox.apply' | i18n }}\n <pry-icon iconSvg=\"refresh_filter\" [width]=\"18\" [height]=\"18\"></pry-icon>\n </button>\n </div>\n </div>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i2.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: "component", type: i4.FilterInstanciatorComponent, selector: "pry-filter-instanciator", inputs: ["filter", "applyFilter$"], outputs: ["pressedEnter", "cleared"] }, { kind: "component", type: i5.PryFilterGroupCssComponent, selector: "pry-filter-group-css" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.I18nPipe, name: "i18n" }] }); }
47
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: FilterGroupComponent, selector: "pry-filter-group", inputs: { enterTriggerFilter: "enterTriggerFilter", clearTriggerFilter: "clearTriggerFilter" }, ngImport: i0, template: "<pry-filter-group-css></pry-filter-group-css>\n@if (globalManifest$ | async; as manifest) {\n @if (manifest.filters && manifest.filters.length > 0) {\n <div class=\"o-container__filters\">\n <div class=\"o-container__filter-container\" (click)=\"openSelect()\">\n @for (filterDescription of manifest.filters; track filterDescription.id) {\n <pry-filter-instanciator\n [filter]=\"filterDescription\"\n [applyFilter$]=\"apply$\"\n (pressedEnter)=\"enterPressed()\"\n (cleared)=\"cleared()\"\n ></pry-filter-instanciator>\n }\n </div>\n <div class=\"o-container__filter-actions\">\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" (click)=\"clearFilters()\">\n <pry-icon iconSvg=\"clear_filter\" [width]=\"30\" [height]=\"30\"></pry-icon>\n </button>\n <button type=\"button\" class=\"a-btn a-btn--primary\" (click)=\"filter()\">\n {{ '@pry.toolbox.apply' | i18n }}\n <pry-icon iconSvg=\"refresh_filter\" [width]=\"18\" [height]=\"18\"></pry-icon>\n </button>\n </div>\n </div>\n }\n}\n", dependencies: [{ kind: "component", type: i2.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: i3.FilterInstanciatorComponent, selector: "pry-filter-instanciator", inputs: ["filter", "applyFilter$"], outputs: ["pressedEnter", "cleared"] }, { kind: "component", type: i4.PryFilterGroupCssComponent, selector: "pry-filter-group-css" }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.I18nPipe, name: "i18n" }] }); }
48
48
  }
49
49
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FilterGroupComponent, decorators: [{
50
50
  type: Component,
51
- args: [{ selector: 'pry-filter-group', template: "<pry-filter-group-css></pry-filter-group-css>\n<ng-container *ngIf=\"globalManifest$ | async as manifest\">\n <div class=\"o-container__filters\" *ngIf=\"manifest.filters && manifest.filters.length > 0\">\n <div class=\"o-container__filter-container\" (click)=\"openSelect()\">\n @for (filterDescription of manifest.filters; track filterDescription.id) {\n <pry-filter-instanciator\n [filter]=\"filterDescription\"\n [applyFilter$]=\"apply$\"\n (pressedEnter)=\"enterPressed()\"\n (cleared)=\"cleared()\"\n ></pry-filter-instanciator>\n }\n </div>\n <div class=\"o-container__filter-actions\">\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" (click)=\"clearFilters()\">\n <pry-icon iconSvg=\"clear_filter\" [width]=\"30\" [height]=\"30\"></pry-icon>\n </button>\n <button type=\"button\" class=\"a-btn a-btn--primary\" (click)=\"filter()\">\n {{ '@pry.toolbox.apply' | i18n }}\n <pry-icon iconSvg=\"refresh_filter\" [width]=\"18\" [height]=\"18\"></pry-icon>\n </button>\n </div>\n </div>\n</ng-container>\n" }]
51
+ args: [{ selector: 'pry-filter-group', template: "<pry-filter-group-css></pry-filter-group-css>\n@if (globalManifest$ | async; as manifest) {\n @if (manifest.filters && manifest.filters.length > 0) {\n <div class=\"o-container__filters\">\n <div class=\"o-container__filter-container\" (click)=\"openSelect()\">\n @for (filterDescription of manifest.filters; track filterDescription.id) {\n <pry-filter-instanciator\n [filter]=\"filterDescription\"\n [applyFilter$]=\"apply$\"\n (pressedEnter)=\"enterPressed()\"\n (cleared)=\"cleared()\"\n ></pry-filter-instanciator>\n }\n </div>\n <div class=\"o-container__filter-actions\">\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" (click)=\"clearFilters()\">\n <pry-icon iconSvg=\"clear_filter\" [width]=\"30\" [height]=\"30\"></pry-icon>\n </button>\n <button type=\"button\" class=\"a-btn a-btn--primary\" (click)=\"filter()\">\n {{ '@pry.toolbox.apply' | i18n }}\n <pry-icon iconSvg=\"refresh_filter\" [width]=\"18\" [height]=\"18\"></pry-icon>\n </button>\n </div>\n </div>\n }\n}\n" }]
52
52
  }], ctorParameters: () => [{ type: i1.Store }, { type: Document, decorators: [{
53
53
  type: Inject,
54
54
  args: [DOCUMENT]
@@ -57,4 +57,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
57
57
  }], clearTriggerFilter: [{
58
58
  type: Input
59
59
  }] } });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9kYXNoYm9hcmQvZmlsdGVyL2NvbXBvbmVudHMvZmlsdGVyLWdyb3VwL2ZpbHRlci1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvZGFzaGJvYXJkL2ZpbHRlci9jb21wb25lbnRzL2ZpbHRlci1ncm91cC9maWx0ZXItZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFHbkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDeEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDcEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7OztBQU0zQyxNQUFNLE9BQU8sb0JBQW9CO0lBTy9CLFlBQ1ksS0FBWSxFQUNJLFFBQWtCO1FBRGxDLFVBQUssR0FBTCxLQUFLLENBQU87UUFDSSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBUDlDLFdBQU0sR0FBRyxJQUFJLGVBQWUsQ0FBTyxTQUFTLENBQUMsQ0FBQztRQUM5QyxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNaLHVCQUFrQixHQUFHLEtBQUssQ0FBQztRQUMzQix1QkFBa0IsR0FBRyxLQUFLLENBQUM7UUFNbEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsWUFBWTtZQUNmLElBQUksQ0FBQyxRQUFRO2lCQUNWLGFBQWEsQ0FBQyxnQ0FBZ0MsQ0FBQztnQkFDaEQsRUFBRSxRQUFRLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDO0lBQ3pGLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDaEIsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDaEIsQ0FBQztJQUNILENBQUM7OEdBeENVLG9CQUFvQix1Q0FTckIsUUFBUTtrR0FUUCxvQkFBb0Isd0pDWmpDLCttQ0F3QkE7OzJGRFphLG9CQUFvQjtrQkFKaEMsU0FBUzsrQkFDRSxrQkFBa0I7OzBCQVl6QixNQUFNOzJCQUFDLFFBQVE7eUNBTFQsa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IEdsb2JhbE1hbmlmZXN0IH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS9tb2RlbC9tYW5pZmVzdC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRGFzaGJvYXJkU2VsZWN0b3JzIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvZGFzaGJvYXJkLnNlbGVjdG9ycyc7XG5pbXBvcnQgeyBEYXNoYm9hcmRBY3Rpb25zIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvZGFzaGJvYXJkLmFjdGlvbnMnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwcnktZmlsdGVyLWdyb3VwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbHRlci1ncm91cC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgRmlsdGVyR3JvdXBDb21wb25lbnQge1xuICBnbG9iYWxNYW5pZmVzdCQ6IE9ic2VydmFibGU8R2xvYmFsTWFuaWZlc3Q+O1xuICBhcHBseSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHZvaWQ+KHVuZGVmaW5lZCk7XG4gIGlzU2VsZWN0T3BlbiA9IGZhbHNlO1xuICBASW5wdXQoKSBlbnRlclRyaWdnZXJGaWx0ZXIgPSBmYWxzZTtcbiAgQElucHV0KCkgY2xlYXJUcmlnZ2VyRmlsdGVyID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIHN0b3JlOiBTdG9yZSxcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudFxuICApIHtcbiAgICB0aGlzLmdsb2JhbE1hbmlmZXN0JCA9IHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5nbG9iYWxNYW5pZmVzdCk7XG4gIH1cblxuICBmaWx0ZXIoKSB7XG4gICAgdGhpcy5hcHBseSQubmV4dCgpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRGFzaGJvYXJkQWN0aW9ucy5kaXNwYXRjaEZpbHRlcnMoe30pKTtcbiAgfVxuXG4gIGNsZWFyRmlsdGVycygpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhc2hib2FyZEFjdGlvbnMuY2xlYXJBbGxGaWx0ZXJWYWx1ZXMoKSk7XG4gIH1cblxuICBvcGVuU2VsZWN0KCkge1xuICAgIHRoaXMuaXNTZWxlY3RPcGVuID1cbiAgICAgIHRoaXMuZG9jdW1lbnRcbiAgICAgICAgLnF1ZXJ5U2VsZWN0b3IoJy5vLWNvbnRhaW5lcl9fZmlsdGVyLWNvbnRhaW5lcicpXG4gICAgICAgID8uY29udGFpbnMoZG9jdW1lbnQucXVlcnlTZWxlY3RvcignbmctZHJvcGRvd24tcGFuZWwubmctZHJvcGRvd24tcGFuZWwnKSkgfHwgZmFsc2U7XG4gIH1cblxuICBlbnRlclByZXNzZWQoKSB7XG4gICAgaWYgKHRoaXMuZW50ZXJUcmlnZ2VyRmlsdGVyKSB7XG4gICAgICB0aGlzLmZpbHRlcigpO1xuICAgIH1cbiAgfVxuXG4gIGNsZWFyZWQoKSB7XG4gICAgaWYgKHRoaXMuY2xlYXJUcmlnZ2VyRmlsdGVyKSB7XG4gICAgICB0aGlzLmZpbHRlcigpO1xuICAgIH1cbiAgfVxufVxuIiwiPHByeS1maWx0ZXItZ3JvdXAtY3NzPjwvcHJ5LWZpbHRlci1ncm91cC1jc3M+XG48bmctY29udGFpbmVyICpuZ0lmPVwiZ2xvYmFsTWFuaWZlc3QkIHwgYXN5bmMgYXMgbWFuaWZlc3RcIj5cbiAgPGRpdiBjbGFzcz1cIm8tY29udGFpbmVyX19maWx0ZXJzXCIgKm5nSWY9XCJtYW5pZmVzdC5maWx0ZXJzICYmIG1hbmlmZXN0LmZpbHRlcnMubGVuZ3RoID4gMFwiPlxuICAgIDxkaXYgY2xhc3M9XCJvLWNvbnRhaW5lcl9fZmlsdGVyLWNvbnRhaW5lclwiIChjbGljayk9XCJvcGVuU2VsZWN0KClcIj5cbiAgICAgIEBmb3IgKGZpbHRlckRlc2NyaXB0aW9uIG9mIG1hbmlmZXN0LmZpbHRlcnM7IHRyYWNrIGZpbHRlckRlc2NyaXB0aW9uLmlkKSB7XG4gICAgICAgIDxwcnktZmlsdGVyLWluc3RhbmNpYXRvclxuICAgICAgICAgIFtmaWx0ZXJdPVwiZmlsdGVyRGVzY3JpcHRpb25cIlxuICAgICAgICAgIFthcHBseUZpbHRlciRdPVwiYXBwbHkkXCJcbiAgICAgICAgICAocHJlc3NlZEVudGVyKT1cImVudGVyUHJlc3NlZCgpXCJcbiAgICAgICAgICAoY2xlYXJlZCk9XCJjbGVhcmVkKClcIlxuICAgICAgICA+PC9wcnktZmlsdGVyLWluc3RhbmNpYXRvcj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiby1jb250YWluZXJfX2ZpbHRlci1hY3Rpb25zXCI+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImEtYnRuIGEtYnRuLS1pY29uLW9ubHlcIiAoY2xpY2spPVwiY2xlYXJGaWx0ZXJzKClcIj5cbiAgICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJjbGVhcl9maWx0ZXJcIiBbd2lkdGhdPVwiMzBcIiBbaGVpZ2h0XT1cIjMwXCI+PC9wcnktaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tcHJpbWFyeVwiIChjbGljayk9XCJmaWx0ZXIoKVwiPlxuICAgICAgICB7eyAnQHByeS50b29sYm94LmFwcGx5JyB8IGkxOG4gfX1cbiAgICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJyZWZyZXNoX2ZpbHRlclwiIFt3aWR0aF09XCIxOFwiIFtoZWlnaHRdPVwiMThcIj48L3ByeS1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9kYXNoYm9hcmQvZmlsdGVyL2NvbXBvbmVudHMvZmlsdGVyLWdyb3VwL2ZpbHRlci1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvZGFzaGJvYXJkL2ZpbHRlci9jb21wb25lbnRzL2ZpbHRlci1ncm91cC9maWx0ZXItZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFHbkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDeEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDcEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7OztBQU0zQyxNQUFNLE9BQU8sb0JBQW9CO0lBTy9CLFlBQ1ksS0FBWSxFQUNJLFFBQWtCO1FBRGxDLFVBQUssR0FBTCxLQUFLLENBQU87UUFDSSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBUDlDLFdBQU0sR0FBRyxJQUFJLGVBQWUsQ0FBTyxTQUFTLENBQUMsQ0FBQztRQUM5QyxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNaLHVCQUFrQixHQUFHLEtBQUssQ0FBQztRQUMzQix1QkFBa0IsR0FBRyxLQUFLLENBQUM7UUFNbEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsWUFBWTtZQUNmLElBQUksQ0FBQyxRQUFRO2lCQUNWLGFBQWEsQ0FBQyxnQ0FBZ0MsQ0FBQztnQkFDaEQsRUFBRSxRQUFRLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDO0lBQ3pGLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDaEIsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDaEIsQ0FBQztJQUNILENBQUM7OEdBeENVLG9CQUFvQix1Q0FTckIsUUFBUTtrR0FUUCxvQkFBb0Isd0pDWmpDLGlvQ0EwQkE7OzJGRGRhLG9CQUFvQjtrQkFKaEMsU0FBUzsrQkFDRSxrQkFBa0I7OzBCQVl6QixNQUFNOzJCQUFDLFFBQVE7eUNBTFQsa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IEdsb2JhbE1hbmlmZXN0IH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS9tb2RlbC9tYW5pZmVzdC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRGFzaGJvYXJkU2VsZWN0b3JzIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvZGFzaGJvYXJkLnNlbGVjdG9ycyc7XG5pbXBvcnQgeyBEYXNoYm9hcmRBY3Rpb25zIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvZGFzaGJvYXJkLmFjdGlvbnMnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwcnktZmlsdGVyLWdyb3VwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbHRlci1ncm91cC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgRmlsdGVyR3JvdXBDb21wb25lbnQge1xuICBnbG9iYWxNYW5pZmVzdCQ6IE9ic2VydmFibGU8R2xvYmFsTWFuaWZlc3Q+O1xuICBhcHBseSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHZvaWQ+KHVuZGVmaW5lZCk7XG4gIGlzU2VsZWN0T3BlbiA9IGZhbHNlO1xuICBASW5wdXQoKSBlbnRlclRyaWdnZXJGaWx0ZXIgPSBmYWxzZTtcbiAgQElucHV0KCkgY2xlYXJUcmlnZ2VyRmlsdGVyID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIHN0b3JlOiBTdG9yZSxcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudFxuICApIHtcbiAgICB0aGlzLmdsb2JhbE1hbmlmZXN0JCA9IHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5nbG9iYWxNYW5pZmVzdCk7XG4gIH1cblxuICBmaWx0ZXIoKSB7XG4gICAgdGhpcy5hcHBseSQubmV4dCgpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRGFzaGJvYXJkQWN0aW9ucy5kaXNwYXRjaEZpbHRlcnMoe30pKTtcbiAgfVxuXG4gIGNsZWFyRmlsdGVycygpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhc2hib2FyZEFjdGlvbnMuY2xlYXJBbGxGaWx0ZXJWYWx1ZXMoKSk7XG4gIH1cblxuICBvcGVuU2VsZWN0KCkge1xuICAgIHRoaXMuaXNTZWxlY3RPcGVuID1cbiAgICAgIHRoaXMuZG9jdW1lbnRcbiAgICAgICAgLnF1ZXJ5U2VsZWN0b3IoJy5vLWNvbnRhaW5lcl9fZmlsdGVyLWNvbnRhaW5lcicpXG4gICAgICAgID8uY29udGFpbnMoZG9jdW1lbnQucXVlcnlTZWxlY3RvcignbmctZHJvcGRvd24tcGFuZWwubmctZHJvcGRvd24tcGFuZWwnKSkgfHwgZmFsc2U7XG4gIH1cblxuICBlbnRlclByZXNzZWQoKSB7XG4gICAgaWYgKHRoaXMuZW50ZXJUcmlnZ2VyRmlsdGVyKSB7XG4gICAgICB0aGlzLmZpbHRlcigpO1xuICAgIH1cbiAgfVxuXG4gIGNsZWFyZWQoKSB7XG4gICAgaWYgKHRoaXMuY2xlYXJUcmlnZ2VyRmlsdGVyKSB7XG4gICAgICB0aGlzLmZpbHRlcigpO1xuICAgIH1cbiAgfVxufVxuIiwiPHByeS1maWx0ZXItZ3JvdXAtY3NzPjwvcHJ5LWZpbHRlci1ncm91cC1jc3M+XG5AaWYgKGdsb2JhbE1hbmlmZXN0JCB8IGFzeW5jOyBhcyBtYW5pZmVzdCkge1xuICBAaWYgKG1hbmlmZXN0LmZpbHRlcnMgJiYgbWFuaWZlc3QuZmlsdGVycy5sZW5ndGggPiAwKSB7XG4gICAgPGRpdiBjbGFzcz1cIm8tY29udGFpbmVyX19maWx0ZXJzXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiby1jb250YWluZXJfX2ZpbHRlci1jb250YWluZXJcIiAoY2xpY2spPVwib3BlblNlbGVjdCgpXCI+XG4gICAgICAgIEBmb3IgKGZpbHRlckRlc2NyaXB0aW9uIG9mIG1hbmlmZXN0LmZpbHRlcnM7IHRyYWNrIGZpbHRlckRlc2NyaXB0aW9uLmlkKSB7XG4gICAgICAgICAgPHByeS1maWx0ZXItaW5zdGFuY2lhdG9yXG4gICAgICAgICAgICBbZmlsdGVyXT1cImZpbHRlckRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgIFthcHBseUZpbHRlciRdPVwiYXBwbHkkXCJcbiAgICAgICAgICAgIChwcmVzc2VkRW50ZXIpPVwiZW50ZXJQcmVzc2VkKClcIlxuICAgICAgICAgICAgKGNsZWFyZWQpPVwiY2xlYXJlZCgpXCJcbiAgICAgICAgICA+PC9wcnktZmlsdGVyLWluc3RhbmNpYXRvcj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiby1jb250YWluZXJfX2ZpbHRlci1hY3Rpb25zXCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYS1idG4gYS1idG4tLWljb24tb25seVwiIChjbGljayk9XCJjbGVhckZpbHRlcnMoKVwiPlxuICAgICAgICAgIDxwcnktaWNvbiBpY29uU3ZnPVwiY2xlYXJfZmlsdGVyXCIgW3dpZHRoXT1cIjMwXCIgW2hlaWdodF09XCIzMFwiPjwvcHJ5LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImEtYnRuIGEtYnRuLS1wcmltYXJ5XCIgKGNsaWNrKT1cImZpbHRlcigpXCI+XG4gICAgICAgICAge3sgJ0BwcnkudG9vbGJveC5hcHBseScgfCBpMThuIH19XG4gICAgICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJyZWZyZXNoX2ZpbHRlclwiIFt3aWR0aF09XCIxOFwiIFtoZWlnaHRdPVwiMThcIj48L3ByeS1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICB9XG59XG4iXX0=
@@ -4,28 +4,26 @@ export class ResultsetUtils {
4
4
  return rs2;
5
5
  if (!rs2)
6
6
  return rs1;
7
- const rs1Copy = JSON.parse(JSON.stringify(rs1));
7
+ const rs1Copy = structuredClone(rs1);
8
8
  Object.keys(rs2.items ?? {}).forEach((key) => {
9
9
  if (!rs1Copy.items[key]) {
10
10
  rs1Copy.items[key] = [];
11
11
  }
12
12
  rs1Copy.items[key].push(...rs2.items[key]);
13
13
  });
14
- rs1Copy.relations = [...(rs1Copy.relations ?? []), ...(rs2.relations ?? [])];
15
14
  /* Make items and relations unique in resulted dataset */
16
15
  Object.keys(rs1Copy.items).forEach((key) => {
17
16
  const uniqueList = [...new Set(rs1Copy.items[key].map((it) => it.id))];
18
17
  rs1Copy.items[key] = uniqueList.map((id) => rs1Copy.items[key].find((it) => it.id === id));
19
18
  });
20
- const uniqueRelations = [
19
+ rs1Copy.relations = [
21
20
  ...new Set([
22
- ...(rs1Copy.relations ?? []).map((rel) => `${rel.relationType}|${rel.source}|${rel.destination}`),
21
+ ...([...(rs1Copy.relations ?? []), ...(rs2.relations ?? [])] ?? []).map((rel) => `${rel.relationType}|${rel.source}|${rel.destination}`),
23
22
  ...(rs2.relations ?? []).map((rel) => `${rel.relationType}|${rel.source}|${rel.destination}`)
24
23
  ])
25
- ];
26
- rs1Copy.relations = uniqueRelations.map((key) => {
24
+ ].map((key) => {
27
25
  const splittedKey = key.split('|');
28
- return rs1Copy.relations.find((rel) => rel.relationType === splittedKey[0] && rel.source === splittedKey[1] && rel.destination === splittedKey[2]);
26
+ return { relationType: splittedKey[0], source: splittedKey[1], destination: splittedKey[2] };
29
27
  });
30
28
  if (!rs1Copy.count) {
31
29
  rs1Copy.count = {};
@@ -39,7 +37,8 @@ export class ResultsetUtils {
39
37
  accurate: rs1Copy.count[key].accurate && rs2.count[key].accurate
40
38
  };
41
39
  });
40
+ rs1Copy.searchAfter = rs2.searchAfter ?? rs1Copy.searchAfter;
42
41
  return rs1Copy;
43
42
  }
44
43
  }
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdWx0c2V0LXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvbGliL2Rhc2hib2FyZC9yZXN1bHRzZXQtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsTUFBTSxPQUFPLGNBQWM7SUFDekIsTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFjLEVBQUUsR0FBYztRQUNuRCxJQUFJLENBQUMsR0FBRztZQUFFLE9BQU8sR0FBRyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxHQUFHO1lBQUUsT0FBTyxHQUFHLENBQUM7UUFDckIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFjLENBQUM7UUFDN0QsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQzNDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3hCLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQzFCLENBQUM7WUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM3QyxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sQ0FBQyxTQUFTLEdBQUcsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRTdFLHlEQUF5RDtRQUN6RCxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUN6QyxNQUFNLFVBQVUsR0FBRyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkUsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBVyxDQUFDO1FBQ3ZHLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxlQUFlLEdBQUc7WUFDdEIsR0FBRyxJQUFJLEdBQUcsQ0FBQztnQkFDVCxHQUFHLENBQUMsT0FBTyxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLFlBQVksSUFBSSxHQUFHLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDakcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxZQUFZLElBQUksR0FBRyxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUM7YUFDOUYsQ0FBQztTQUNILENBQUM7UUFDRixPQUFPLENBQUMsU0FBUyxHQUFHLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUM5QyxNQUFNLFdBQVcsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25DLE9BQU8sT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQzNCLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FDTixHQUFHLENBQUMsWUFBWSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsV0FBVyxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDN0csQ0FBQztRQUNKLENBQUMsQ0FBZSxDQUFDO1FBRWpCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDbkIsT0FBTyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDckIsQ0FBQztRQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUMzQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUN6QixPQUFPLENBQUMsS0FBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDckQsQ0FBQztZQUNELE9BQU8sQ0FBQyxLQUFNLENBQUMsR0FBRyxDQUFDLEdBQUc7Z0JBQ3BCLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUs7Z0JBQ3hELFFBQVEsRUFBRSxPQUFPLENBQUMsS0FBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsSUFBSSxHQUFHLENBQUMsS0FBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVE7YUFDbkUsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSXRlbSB9IGZyb20gJy4uL2NvcmUvbW9kZWwvaXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUmVsYXRpb24gfSBmcm9tICcuLi9jb3JlL21vZGVsL3JlbGF0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBSZXN1bHRTZXQgfSBmcm9tICcuLi9jb3JlL21vZGVsL3Jlc3VsdC1zZXQuaW50ZXJmYWNlJztcblxuZXhwb3J0IGNsYXNzIFJlc3VsdHNldFV0aWxzIHtcbiAgc3RhdGljIG1lcmdlUmVzdWx0U2V0cyhyczE6IFJlc3VsdFNldCwgcnMyOiBSZXN1bHRTZXQpOiBSZXN1bHRTZXQge1xuICAgIGlmICghcnMxKSByZXR1cm4gcnMyO1xuICAgIGlmICghcnMyKSByZXR1cm4gcnMxO1xuICAgIGNvbnN0IHJzMUNvcHkgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHJzMSkpIGFzIFJlc3VsdFNldDtcbiAgICBPYmplY3Qua2V5cyhyczIuaXRlbXMgPz8ge30pLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgaWYgKCFyczFDb3B5Lml0ZW1zW2tleV0pIHtcbiAgICAgICAgcnMxQ29weS5pdGVtc1trZXldID0gW107XG4gICAgICB9XG4gICAgICByczFDb3B5Lml0ZW1zW2tleV0ucHVzaCguLi5yczIuaXRlbXNba2V5XSk7XG4gICAgfSk7XG4gICAgcnMxQ29weS5yZWxhdGlvbnMgPSBbLi4uKHJzMUNvcHkucmVsYXRpb25zID8/IFtdKSwgLi4uKHJzMi5yZWxhdGlvbnMgPz8gW10pXTtcblxuICAgIC8qIE1ha2UgaXRlbXMgYW5kIHJlbGF0aW9ucyB1bmlxdWUgaW4gcmVzdWx0ZWQgZGF0YXNldCAqL1xuICAgIE9iamVjdC5rZXlzKHJzMUNvcHkuaXRlbXMpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgY29uc3QgdW5pcXVlTGlzdCA9IFsuLi5uZXcgU2V0KHJzMUNvcHkuaXRlbXNba2V5XS5tYXAoKGl0KSA9PiBpdC5pZCkpXTtcbiAgICAgIHJzMUNvcHkuaXRlbXNba2V5XSA9IHVuaXF1ZUxpc3QubWFwKChpZCkgPT4gcnMxQ29weS5pdGVtc1trZXldLmZpbmQoKGl0KSA9PiBpdC5pZCA9PT0gaWQpKSBhcyBJdGVtW107XG4gICAgfSk7XG5cbiAgICBjb25zdCB1bmlxdWVSZWxhdGlvbnMgPSBbXG4gICAgICAuLi5uZXcgU2V0KFtcbiAgICAgICAgLi4uKHJzMUNvcHkucmVsYXRpb25zID8/IFtdKS5tYXAoKHJlbCkgPT4gYCR7cmVsLnJlbGF0aW9uVHlwZX18JHtyZWwuc291cmNlfXwke3JlbC5kZXN0aW5hdGlvbn1gKSxcbiAgICAgICAgLi4uKHJzMi5yZWxhdGlvbnMgPz8gW10pLm1hcCgocmVsKSA9PiBgJHtyZWwucmVsYXRpb25UeXBlfXwke3JlbC5zb3VyY2V9fCR7cmVsLmRlc3RpbmF0aW9ufWApXG4gICAgICBdKVxuICAgIF07XG4gICAgcnMxQ29weS5yZWxhdGlvbnMgPSB1bmlxdWVSZWxhdGlvbnMubWFwKChrZXkpID0+IHtcbiAgICAgIGNvbnN0IHNwbGl0dGVkS2V5ID0ga2V5LnNwbGl0KCd8Jyk7XG4gICAgICByZXR1cm4gcnMxQ29weS5yZWxhdGlvbnMuZmluZChcbiAgICAgICAgKHJlbCkgPT5cbiAgICAgICAgICByZWwucmVsYXRpb25UeXBlID09PSBzcGxpdHRlZEtleVswXSAmJiByZWwuc291cmNlID09PSBzcGxpdHRlZEtleVsxXSAmJiByZWwuZGVzdGluYXRpb24gPT09IHNwbGl0dGVkS2V5WzJdXG4gICAgICApO1xuICAgIH0pIGFzIFJlbGF0aW9uW107XG5cbiAgICBpZiAoIXJzMUNvcHkuY291bnQpIHtcbiAgICAgIHJzMUNvcHkuY291bnQgPSB7fTtcbiAgICB9XG4gICAgT2JqZWN0LmtleXMocnMyLmNvdW50ID8/IHt9KS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGlmICghcnMxQ29weS5jb3VudCFba2V5XSkge1xuICAgICAgICByczFDb3B5LmNvdW50IVtrZXldID0geyBjb3VudDogMCwgYWNjdXJhdGU6IHRydWUgfTtcbiAgICAgIH1cbiAgICAgIHJzMUNvcHkuY291bnQhW2tleV0gPSB7XG4gICAgICAgIGNvdW50OiByczFDb3B5LmNvdW50IVtrZXldLmNvdW50ICsgcnMyLmNvdW50IVtrZXldLmNvdW50LFxuICAgICAgICBhY2N1cmF0ZTogcnMxQ29weS5jb3VudCFba2V5XS5hY2N1cmF0ZSAmJiByczIuY291bnQhW2tleV0uYWNjdXJhdGVcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcnMxQ29weTtcbiAgfVxufVxuIl19
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdWx0c2V0LXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvbGliL2Rhc2hib2FyZC9yZXN1bHRzZXQtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsTUFBTSxPQUFPLGNBQWM7SUFDekIsTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFjLEVBQUUsR0FBYztRQUNuRCxJQUFJLENBQUMsR0FBRztZQUFFLE9BQU8sR0FBRyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxHQUFHO1lBQUUsT0FBTyxHQUFHLENBQUM7UUFDckIsTUFBTSxPQUFPLEdBQUcsZUFBZSxDQUFDLEdBQUcsQ0FBYyxDQUFDO1FBQ2xELE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUMzQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUN4QixPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUMxQixDQUFDO1lBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDN0MsQ0FBQyxDQUFDLENBQUM7UUFFSCx5REFBeUQ7UUFDekQsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDekMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3ZFLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQVcsQ0FBQztRQUN2RyxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sQ0FBQyxTQUFTLEdBQUc7WUFDbEIsR0FBRyxJQUFJLEdBQUcsQ0FBQztnQkFDVCxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FDckUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLFlBQVksSUFBSSxHQUFHLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FDaEU7Z0JBQ0QsR0FBRyxDQUFDLEdBQUcsQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxZQUFZLElBQUksR0FBRyxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUM7YUFDOUYsQ0FBQztTQUNILENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDWixNQUFNLFdBQVcsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25DLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQy9GLENBQUMsQ0FBZSxDQUFDO1FBRWpCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDbkIsT0FBTyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDckIsQ0FBQztRQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUMzQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUN6QixPQUFPLENBQUMsS0FBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDckQsQ0FBQztZQUNELE9BQU8sQ0FBQyxLQUFNLENBQUMsR0FBRyxDQUFDLEdBQUc7Z0JBQ3BCLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUs7Z0JBQ3hELFFBQVEsRUFBRSxPQUFPLENBQUMsS0FBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsSUFBSSxHQUFHLENBQUMsS0FBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVE7YUFDbkUsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUMsV0FBVyxJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUM7UUFFN0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSXRlbSB9IGZyb20gJy4uL2NvcmUvbW9kZWwvaXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUmVsYXRpb24gfSBmcm9tICcuLi9jb3JlL21vZGVsL3JlbGF0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBSZXN1bHRTZXQgfSBmcm9tICcuLi9jb3JlL21vZGVsL3Jlc3VsdC1zZXQuaW50ZXJmYWNlJztcblxuZXhwb3J0IGNsYXNzIFJlc3VsdHNldFV0aWxzIHtcbiAgc3RhdGljIG1lcmdlUmVzdWx0U2V0cyhyczE6IFJlc3VsdFNldCwgcnMyOiBSZXN1bHRTZXQpOiBSZXN1bHRTZXQge1xuICAgIGlmICghcnMxKSByZXR1cm4gcnMyO1xuICAgIGlmICghcnMyKSByZXR1cm4gcnMxO1xuICAgIGNvbnN0IHJzMUNvcHkgPSBzdHJ1Y3R1cmVkQ2xvbmUocnMxKSBhcyBSZXN1bHRTZXQ7XG4gICAgT2JqZWN0LmtleXMocnMyLml0ZW1zID8/IHt9KS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGlmICghcnMxQ29weS5pdGVtc1trZXldKSB7XG4gICAgICAgIHJzMUNvcHkuaXRlbXNba2V5XSA9IFtdO1xuICAgICAgfVxuICAgICAgcnMxQ29weS5pdGVtc1trZXldLnB1c2goLi4ucnMyLml0ZW1zW2tleV0pO1xuICAgIH0pO1xuXG4gICAgLyogTWFrZSBpdGVtcyBhbmQgcmVsYXRpb25zIHVuaXF1ZSBpbiByZXN1bHRlZCBkYXRhc2V0ICovXG4gICAgT2JqZWN0LmtleXMocnMxQ29weS5pdGVtcykuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICBjb25zdCB1bmlxdWVMaXN0ID0gWy4uLm5ldyBTZXQocnMxQ29weS5pdGVtc1trZXldLm1hcCgoaXQpID0+IGl0LmlkKSldO1xuICAgICAgcnMxQ29weS5pdGVtc1trZXldID0gdW5pcXVlTGlzdC5tYXAoKGlkKSA9PiByczFDb3B5Lml0ZW1zW2tleV0uZmluZCgoaXQpID0+IGl0LmlkID09PSBpZCkpIGFzIEl0ZW1bXTtcbiAgICB9KTtcblxuICAgIHJzMUNvcHkucmVsYXRpb25zID0gW1xuICAgICAgLi4ubmV3IFNldChbXG4gICAgICAgIC4uLihbLi4uKHJzMUNvcHkucmVsYXRpb25zID8/IFtdKSwgLi4uKHJzMi5yZWxhdGlvbnMgPz8gW10pXSA/PyBbXSkubWFwKFxuICAgICAgICAgIChyZWwpID0+IGAke3JlbC5yZWxhdGlvblR5cGV9fCR7cmVsLnNvdXJjZX18JHtyZWwuZGVzdGluYXRpb259YFxuICAgICAgICApLFxuICAgICAgICAuLi4ocnMyLnJlbGF0aW9ucyA/PyBbXSkubWFwKChyZWwpID0+IGAke3JlbC5yZWxhdGlvblR5cGV9fCR7cmVsLnNvdXJjZX18JHtyZWwuZGVzdGluYXRpb259YClcbiAgICAgIF0pXG4gICAgXS5tYXAoKGtleSkgPT4ge1xuICAgICAgY29uc3Qgc3BsaXR0ZWRLZXkgPSBrZXkuc3BsaXQoJ3wnKTtcbiAgICAgIHJldHVybiB7IHJlbGF0aW9uVHlwZTogc3BsaXR0ZWRLZXlbMF0sIHNvdXJjZTogc3BsaXR0ZWRLZXlbMV0sIGRlc3RpbmF0aW9uOiBzcGxpdHRlZEtleVsyXSB9O1xuICAgIH0pIGFzIFJlbGF0aW9uW107XG5cbiAgICBpZiAoIXJzMUNvcHkuY291bnQpIHtcbiAgICAgIHJzMUNvcHkuY291bnQgPSB7fTtcbiAgICB9XG4gICAgT2JqZWN0LmtleXMocnMyLmNvdW50ID8/IHt9KS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGlmICghcnMxQ29weS5jb3VudCFba2V5XSkge1xuICAgICAgICByczFDb3B5LmNvdW50IVtrZXldID0geyBjb3VudDogMCwgYWNjdXJhdGU6IHRydWUgfTtcbiAgICAgIH1cbiAgICAgIHJzMUNvcHkuY291bnQhW2tleV0gPSB7XG4gICAgICAgIGNvdW50OiByczFDb3B5LmNvdW50IVtrZXldLmNvdW50ICsgcnMyLmNvdW50IVtrZXldLmNvdW50LFxuICAgICAgICBhY2N1cmF0ZTogcnMxQ29weS5jb3VudCFba2V5XS5hY2N1cmF0ZSAmJiByczIuY291bnQhW2tleV0uYWNjdXJhdGVcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICByczFDb3B5LnNlYXJjaEFmdGVyID0gcnMyLnNlYXJjaEFmdGVyID8/IHJzMUNvcHkuc2VhcmNoQWZ0ZXI7XG5cbiAgICByZXR1cm4gcnMxQ29weTtcbiAgfVxufVxuIl19