@sumaris-net/ngx-components 4.0.0-rc1 → 4.0.0-rc11

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 (324) hide show
  1. package/esm2022/public_api.mjs +5 -2
  2. package/esm2022/src/app/admin/admin-routing.module.mjs +5 -5
  3. package/esm2022/src/app/admin/admin.module.mjs +6 -6
  4. package/esm2022/src/app/admin/services/filter/person.filter.mjs +3 -2
  5. package/esm2022/src/app/admin/services/person.service.mjs +5 -5
  6. package/esm2022/src/app/admin/services/validator/person.validator.mjs +5 -5
  7. package/esm2022/src/app/admin/users/users.mjs +19 -28
  8. package/esm2022/src/app/admin/users/users.module.mjs +5 -5
  9. package/esm2022/src/app/core/about/about.modal.mjs +6 -6
  10. package/esm2022/src/app/core/about/about.module.mjs +5 -5
  11. package/esm2022/src/app/core/account/account.module.mjs +5 -5
  12. package/esm2022/src/app/core/account/account.page.mjs +23 -21
  13. package/esm2022/src/app/core/account/new-token.modal.mjs +20 -15
  14. package/esm2022/src/app/core/account/token.table.mjs +25 -20
  15. package/esm2022/src/app/core/auth/auth.form.mjs +6 -6
  16. package/esm2022/src/app/core/auth/auth.modal.mjs +5 -5
  17. package/esm2022/src/app/core/auth/auth.module.mjs +5 -5
  18. package/esm2022/src/app/core/core.module.mjs +5 -5
  19. package/esm2022/src/app/core/core.testing.module.mjs +5 -5
  20. package/esm2022/src/app/core/form/buttons/form-buttons-bar.component.mjs +6 -6
  21. package/esm2022/src/app/core/form/buttons/form-buttons-bar.module.mjs +5 -5
  22. package/esm2022/src/app/core/form/entity/editor.class.mjs +18 -13
  23. package/esm2022/src/app/core/form/entity/entity-editor-modal.class.mjs +6 -6
  24. package/esm2022/src/app/core/form/entity/entity-editor.class.mjs +17 -11
  25. package/esm2022/src/app/core/form/entity/entity-metadata.component.mjs +5 -5
  26. package/esm2022/src/app/core/form/entity/entity.module.mjs +5 -5
  27. package/esm2022/src/app/core/form/form.class.mjs +5 -5
  28. package/esm2022/src/app/core/form/form.module.mjs +5 -5
  29. package/esm2022/src/app/core/form/list/list.form.mjs +6 -6
  30. package/esm2022/src/app/core/form/list/list.module.mjs +5 -5
  31. package/esm2022/src/app/core/form/properties/properties.form.mjs +7 -7
  32. package/esm2022/src/app/core/form/properties/properties.module.mjs +5 -5
  33. package/esm2022/src/app/core/form/properties/properties.table.mjs +12 -12
  34. package/esm2022/src/app/core/form/properties/property.validator.mjs +5 -5
  35. package/esm2022/src/app/core/form/properties/testing/properties-form.test.mjs +5 -5
  36. package/esm2022/src/app/core/form/properties/testing/properties-form.testing.module.mjs +5 -5
  37. package/esm2022/src/app/core/form/text-popover/testing/text-popover.testing.mjs +5 -5
  38. package/esm2022/src/app/core/form/text-popover/testing/text-popover.testing.module.mjs +5 -5
  39. package/esm2022/src/app/core/form/text-popover/text-popover.component.mjs +7 -7
  40. package/esm2022/src/app/core/form/text-popover/text-popover.module.mjs +6 -11
  41. package/esm2022/src/app/core/graphql/graphql.module.mjs +6 -6
  42. package/esm2022/src/app/core/graphql/graphql.service.mjs +19 -18
  43. package/esm2022/src/app/core/home/home.mjs +7 -8
  44. package/esm2022/src/app/core/home/home.module.mjs +5 -5
  45. package/esm2022/src/app/core/icon/icon.component.mjs +4 -4
  46. package/esm2022/src/app/core/icon/icon.module.mjs +5 -5
  47. package/esm2022/src/app/core/install/install-upgrade-card.component.mjs +6 -6
  48. package/esm2022/src/app/core/install/install-upgrade-card.module.mjs +5 -5
  49. package/esm2022/src/app/core/menu/menu.component.mjs +16 -12
  50. package/esm2022/src/app/core/menu/menu.model.mjs +3 -2
  51. package/esm2022/src/app/core/menu/menu.module.mjs +5 -5
  52. package/esm2022/src/app/core/menu/menu.service.mjs +13 -7
  53. package/esm2022/src/app/core/menu/sub-menu-tab.directive.mjs +5 -5
  54. package/esm2022/src/app/core/menu/testing/menu-other.testing.mjs +5 -5
  55. package/esm2022/src/app/core/menu/testing/menu.testing.mjs +5 -5
  56. package/esm2022/src/app/core/menu/testing/menu.testing.module.mjs +5 -5
  57. package/esm2022/src/app/core/offline/update-offline-mode-card.component.mjs +5 -5
  58. package/esm2022/src/app/core/offline/update-offline-mode-card.module.mjs +5 -5
  59. package/esm2022/src/app/core/peer/select-peer.modal.mjs +8 -7
  60. package/esm2022/src/app/core/peer/select-peer.module.mjs +5 -5
  61. package/esm2022/src/app/core/register/register-confirm.page.mjs +5 -5
  62. package/esm2022/src/app/core/register/register.form.mjs +6 -6
  63. package/esm2022/src/app/core/register/register.modal.mjs +5 -5
  64. package/esm2022/src/app/core/register/register.module.mjs +5 -5
  65. package/esm2022/src/app/core/services/account.service.mjs +52 -26
  66. package/esm2022/src/app/core/services/auth-guard.service.mjs +6 -6
  67. package/esm2022/src/app/core/services/base-entity-service.class.mjs +5 -5
  68. package/esm2022/src/app/core/services/base-graphql-service.class.mjs +6 -6
  69. package/esm2022/src/app/core/services/config/core.config.mjs +7 -7
  70. package/esm2022/src/app/core/services/config.service.mjs +15 -13
  71. package/esm2022/src/app/core/services/crypto.service.mjs +4 -4
  72. package/esm2022/src/app/core/services/local-settings.service.mjs +6 -6
  73. package/esm2022/src/app/core/services/model/account.model.mjs +5 -3
  74. package/esm2022/src/app/core/services/model/config.model.mjs +8 -6
  75. package/esm2022/src/app/core/services/model/department.model.mjs +3 -2
  76. package/esm2022/src/app/core/services/model/peer.model.mjs +3 -2
  77. package/esm2022/src/app/core/services/model/person.model.mjs +3 -2
  78. package/esm2022/src/app/core/services/model/referential.model.mjs +7 -3
  79. package/esm2022/src/app/core/services/model/token.model.mjs +8 -3
  80. package/esm2022/src/app/core/services/network.service.mjs +60 -42
  81. package/esm2022/src/app/core/services/network.types.mjs +1 -1
  82. package/esm2022/src/app/core/services/pipes/account.pipes.mjs +9 -9
  83. package/esm2022/src/app/core/services/pipes/department-to-string.pipe.mjs +5 -5
  84. package/esm2022/src/app/core/services/pipes/person-to-string.pipe.mjs +5 -5
  85. package/esm2022/src/app/core/services/pipes/usage-mode.pipes.mjs +9 -9
  86. package/esm2022/src/app/core/services/platform.service.mjs +23 -12
  87. package/esm2022/src/app/core/services/storage/entities-storage.service.mjs +6 -6
  88. package/esm2022/src/app/core/services/testing/referential-filter.model.mjs +1 -1
  89. package/esm2022/src/app/core/services/testing/referential.validator.mjs +5 -5
  90. package/esm2022/src/app/core/services/validator/account.validator.mjs +5 -5
  91. package/esm2022/src/app/core/services/validator/base.validator.class.mjs +5 -5
  92. package/esm2022/src/app/core/services/validator/local-settings.validator.mjs +5 -5
  93. package/esm2022/src/app/core/services/validator/user-settings.validator.mjs +5 -5
  94. package/esm2022/src/app/core/services/validator/user-token.validator.mjs +5 -5
  95. package/esm2022/src/app/core/settings/settings.module.mjs +5 -5
  96. package/esm2022/src/app/core/settings/settings.page.mjs +7 -7
  97. package/esm2022/src/app/core/table/actions-column.component.mjs +5 -5
  98. package/esm2022/src/app/core/table/async-table.class.mjs +5 -5
  99. package/esm2022/src/app/core/table/entities-async-table-datasource.class.mjs +5 -5
  100. package/esm2022/src/app/core/table/entities-table-datasource.class.mjs +5 -5
  101. package/esm2022/src/app/core/table/memory-table.class.mjs +5 -5
  102. package/esm2022/src/app/core/table/table-select-columns.component.mjs +5 -5
  103. package/esm2022/src/app/core/table/table.class.mjs +9 -5
  104. package/esm2022/src/app/core/table/table.module.mjs +5 -5
  105. package/esm2022/src/app/core/table/testing/table-validator.service.mjs +5 -5
  106. package/esm2022/src/app/core/table/testing/table.testing.mjs +7 -7
  107. package/esm2022/src/app/core/table/testing/table.testing.module.mjs +5 -5
  108. package/esm2022/src/app/core/table/testing/table2-validator.service.mjs +5 -5
  109. package/esm2022/src/app/core/table/testing/table2.testing.mjs +7 -7
  110. package/esm2022/src/app/shared/audio/audio.mjs +6 -6
  111. package/esm2022/src/app/shared/audio/audio.testing.mjs +5 -5
  112. package/esm2022/src/app/shared/audio/audio.testing.module.mjs +5 -5
  113. package/esm2022/src/app/shared/capacitor/keyboard.mjs +5 -5
  114. package/esm2022/src/app/shared/debug/debug.component.mjs +6 -6
  115. package/esm2022/src/app/shared/debug/debug.module.mjs +5 -5
  116. package/esm2022/src/app/shared/directives/autofocus.directive.mjs +5 -5
  117. package/esm2022/src/app/shared/directives/autotitle.directive.mjs +6 -6
  118. package/esm2022/src/app/shared/directives/directives.module.mjs +5 -5
  119. package/esm2022/src/app/shared/directives/drag-and-drop.directive.mjs +4 -4
  120. package/esm2022/src/app/shared/directives/ng-var.directive.mjs +5 -5
  121. package/esm2022/src/app/shared/directives/resizable/resizable.component.mjs +6 -6
  122. package/esm2022/src/app/shared/directives/resizable/resizable.directive.mjs +6 -6
  123. package/esm2022/src/app/shared/directives/resizable/resizable.module.mjs +5 -5
  124. package/esm2022/src/app/shared/file/file.service.mjs +6 -6
  125. package/esm2022/src/app/shared/form/field.component.mjs +7 -7
  126. package/esm2022/src/app/shared/form/loading-spinner.mjs +4 -4
  127. package/esm2022/src/app/shared/gesture/gesture-config.mjs +4 -4
  128. package/esm2022/src/app/shared/guard/component-dirty.guard.mjs +5 -5
  129. package/esm2022/src/app/shared/help/help.modal.mjs +5 -5
  130. package/esm2022/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.mjs +8 -9
  131. package/esm2022/src/app/shared/hotkeys/hotkeys.service.mjs +5 -5
  132. package/esm2022/src/app/shared/hotkeys/shared-hotkeys.module.mjs +5 -5
  133. package/esm2022/src/app/shared/http/http.utils.mjs +15 -11
  134. package/esm2022/src/app/shared/image/gallery/image-gallery.component.mjs +6 -6
  135. package/esm2022/src/app/shared/image/gallery/image-gallery.module.mjs +5 -5
  136. package/esm2022/src/app/shared/image/gallery/testing/gallegry.model.testing.mjs +1 -1
  137. package/esm2022/src/app/shared/image/gallery/testing/gallery.service.testing.mjs +5 -5
  138. package/esm2022/src/app/shared/image/gallery/testing/gallery.testing.mjs +5 -5
  139. package/esm2022/src/app/shared/image/gallery/testing/gallery.testing.module.mjs +5 -5
  140. package/esm2022/src/app/shared/image/image.module.mjs +5 -5
  141. package/esm2022/src/app/shared/image/image.service.mjs +6 -6
  142. package/esm2022/src/app/shared/interceptors/progess.interceptor.mjs +1 -1
  143. package/esm2022/src/app/shared/logging/logging-service.class.mjs +6 -6
  144. package/esm2022/src/app/shared/logging/logging-service.module.mjs +5 -5
  145. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.mjs +9 -9
  146. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.module.mjs +5 -5
  147. package/esm2022/src/app/shared/material/autocomplete/testing/autocomplete.test.mjs +6 -6
  148. package/esm2022/src/app/shared/material/badge/badge.directive.mjs +6 -6
  149. package/esm2022/src/app/shared/material/badge/badge.module.mjs +5 -5
  150. package/esm2022/src/app/shared/material/badge/badge.test.mjs +5 -5
  151. package/esm2022/src/app/shared/material/boolean/boolean.module.mjs +5 -5
  152. package/esm2022/src/app/shared/material/boolean/material-boolean2.mjs +6 -6
  153. package/esm2022/src/app/shared/material/boolean/material.boolean.mjs +7 -7
  154. package/esm2022/src/app/shared/material/boolean/testing/boolean.test.page.mjs +5 -5
  155. package/esm2022/src/app/shared/material/chips/chips.module.mjs +5 -5
  156. package/esm2022/src/app/shared/material/chips/material.chips.mjs +7 -7
  157. package/esm2022/src/app/shared/material/chips/testing/chips.test.mjs +5 -5
  158. package/esm2022/src/app/shared/material/datetime/datetime.module.mjs +5 -5
  159. package/esm2022/src/app/shared/material/datetime/material.date.mjs +8 -8
  160. package/esm2022/src/app/shared/material/datetime/material.dateshort.mjs +7 -7
  161. package/esm2022/src/app/shared/material/datetime/material.datetime.mjs +36 -10
  162. package/esm2022/src/app/shared/material/datetime/testing/mat-date-time.test.mjs +15 -8
  163. package/esm2022/src/app/shared/material/datetime/testing/mat-date.test.mjs +8 -7
  164. package/esm2022/src/app/shared/material/datetime/testing/mat-dateshort.test.mjs +5 -5
  165. package/esm2022/src/app/shared/material/duration/duration.module.mjs +5 -5
  166. package/esm2022/src/app/shared/material/duration/material.duration.mjs +6 -6
  167. package/esm2022/src/app/shared/material/duration/testing/mat-duration.test.mjs +5 -5
  168. package/esm2022/src/app/shared/material/latlong/material.latlong.mjs +35 -10
  169. package/esm2022/src/app/shared/material/latlong/material.latlong.module.mjs +5 -5
  170. package/esm2022/src/app/shared/material/latlong/testing/latlong.test.mjs +5 -5
  171. package/esm2022/src/app/shared/material/material.module.mjs +14 -9
  172. package/esm2022/src/app/shared/material/material.testing.module.mjs +16 -5
  173. package/esm2022/src/app/shared/material/numpad/numpad.append-to-input.directive.mjs +5 -5
  174. package/esm2022/src/app/shared/material/numpad/numpad.component.mjs +5 -5
  175. package/esm2022/src/app/shared/material/numpad/numpad.container.mjs +5 -5
  176. package/esm2022/src/app/shared/material/numpad/numpad.content.mjs +4 -4
  177. package/esm2022/src/app/shared/material/numpad/numpad.directive.mjs +5 -5
  178. package/esm2022/src/app/shared/material/numpad/numpad.dom-service.mjs +5 -5
  179. package/esm2022/src/app/shared/material/numpad/numpad.module.mjs +5 -5
  180. package/esm2022/src/app/shared/material/numpad/testing/numpad.test.mjs +5 -5
  181. package/esm2022/src/app/shared/material/paginator/material.paginator-i18n.mjs +5 -5
  182. package/esm2022/src/app/shared/material/stepper/material.stepper-i18n.mjs +5 -5
  183. package/esm2022/src/app/shared/material/swipe/material.swipe.mjs +6 -6
  184. package/esm2022/src/app/shared/material/swipe/swipe.module.mjs +5 -5
  185. package/esm2022/src/app/shared/material/swipe/testing/swipe.test.mjs +5 -5
  186. package/esm2022/src/app/shared/material/testing/common.test.mjs +5 -5
  187. package/esm2022/src/app/shared/material/text/testing/text-form.testing.mjs +31 -0
  188. package/esm2022/src/app/shared/material/text/text-form.component.mjs +97 -0
  189. package/esm2022/src/app/shared/material/text/text-form.module.mjs +63 -0
  190. package/esm2022/src/app/shared/named-filter/named-filter-selector.component.mjs +41 -17
  191. package/esm2022/src/app/shared/named-filter/named-filter.model.mjs +1 -1
  192. package/esm2022/src/app/shared/named-filter/named-filter.module.mjs +5 -5
  193. package/esm2022/src/app/shared/named-filter/named-filter.service.mjs +5 -5
  194. package/esm2022/src/app/shared/pipes/arrays.pipe.mjs +25 -25
  195. package/esm2022/src/app/shared/pipes/colors.pipe.mjs +4 -4
  196. package/esm2022/src/app/shared/pipes/date-diff-duration.pipe.mjs +6 -6
  197. package/esm2022/src/app/shared/pipes/date-format.pipe.mjs +9 -9
  198. package/esm2022/src/app/shared/pipes/date-from-now.pipe.mjs +6 -6
  199. package/esm2022/src/app/shared/pipes/duration.pipe.mjs +6 -6
  200. package/esm2022/src/app/shared/pipes/file-size.pipe.mjs +4 -4
  201. package/esm2022/src/app/shared/pipes/form.pipes.mjs +21 -21
  202. package/esm2022/src/app/shared/pipes/highlight.pipe.mjs +5 -5
  203. package/esm2022/src/app/shared/pipes/latlong-format.pipe.mjs +10 -10
  204. package/esm2022/src/app/shared/pipes/maps.pipe.mjs +13 -13
  205. package/esm2022/src/app/shared/pipes/maskito.pipe.mjs +7 -7
  206. package/esm2022/src/app/shared/pipes/math.pipes.mjs +13 -13
  207. package/esm2022/src/app/shared/pipes/ng-init.pipe.mjs +4 -4
  208. package/esm2022/src/app/shared/pipes/number-format.pipe.mjs +5 -5
  209. package/esm2022/src/app/shared/pipes/pipes.module.mjs +5 -5
  210. package/esm2022/src/app/shared/pipes/property.pipes.mjs +9 -9
  211. package/esm2022/src/app/shared/pipes/string.pipes.mjs +31 -31
  212. package/esm2022/src/app/shared/pipes/translate-context.pipe.mjs +10 -10
  213. package/esm2022/src/app/shared/pipes/types.pipes.mjs +13 -13
  214. package/esm2022/src/app/shared/rx-state.module.mjs +5 -5
  215. package/esm2022/src/app/shared/services/entity-service.class.mjs +1 -1
  216. package/esm2022/src/app/shared/services/memory-entity-service.class.mjs +13 -13
  217. package/esm2022/src/app/shared/services/progress-bar.service.mjs +4 -4
  218. package/esm2022/src/app/shared/services/startable-observable-service.class.mjs +6 -6
  219. package/esm2022/src/app/shared/services/startable-service.class.mjs +7 -7
  220. package/esm2022/src/app/shared/services/translate-context.service.mjs +5 -5
  221. package/esm2022/src/app/shared/services.mjs +2 -2
  222. package/esm2022/src/app/shared/shared-routing.module.mjs +9 -9
  223. package/esm2022/src/app/shared/shared.module.mjs +27 -13
  224. package/esm2022/src/app/shared/shared.testing.module.mjs +5 -5
  225. package/esm2022/src/app/shared/storage/storage-explorer.component.mjs +6 -6
  226. package/esm2022/src/app/shared/storage/storage-explorer.module.mjs +5 -5
  227. package/esm2022/src/app/shared/storage/storage-explorer.testing-routing.module.mjs +5 -5
  228. package/esm2022/src/app/shared/storage/storage-explorer.testing.module.mjs +5 -5
  229. package/esm2022/src/app/shared/storage/storage.service.mjs +6 -6
  230. package/esm2022/src/app/shared/testing/observable.test.mjs +5 -5
  231. package/esm2022/src/app/shared/testing/tests.page.mjs +6 -6
  232. package/esm2022/src/app/shared/toast/toast.testing.mjs +5 -5
  233. package/esm2022/src/app/shared/toast/toast.testing.module.mjs +5 -5
  234. package/esm2022/src/app/shared/toolbar/modal-toolbar.mjs +5 -5
  235. package/esm2022/src/app/shared/toolbar/toolbar.mjs +7 -7
  236. package/esm2022/src/app/shared/toolbar/toolbar.module.mjs +5 -5
  237. package/esm2022/src/app/shared/upload-file/testing/upload-file.testing.mjs +5 -5
  238. package/esm2022/src/app/shared/upload-file/testing/upload-file.testing.module.mjs +5 -5
  239. package/esm2022/src/app/shared/upload-file/upload-file-popover.component.mjs +5 -5
  240. package/esm2022/src/app/shared/upload-file/upload-file.component.mjs +5 -5
  241. package/esm2022/src/app/shared/validator/form-error-adapter.class.mjs +6 -6
  242. package/esm2022/src/app/social/job/job.module.mjs +5 -5
  243. package/esm2022/src/app/social/job/progression/job-progression.component.mjs +5 -5
  244. package/esm2022/src/app/social/job/progression/job-progression.icon.mjs +6 -6
  245. package/esm2022/src/app/social/job/progression/job-progression.list.mjs +5 -5
  246. package/esm2022/src/app/social/job/progression/job-progression.model.mjs +3 -2
  247. package/esm2022/src/app/social/job/progression/job-progression.service.mjs +6 -6
  248. package/esm2022/src/app/social/job/testing/job-progression.testing.mjs +6 -6
  249. package/esm2022/src/app/social/job/testing/job-progression.testing.service.mjs +4 -4
  250. package/esm2022/src/app/social/job/testing/job.testing.module.mjs +5 -5
  251. package/esm2022/src/app/social/message/message.form.mjs +59 -7
  252. package/esm2022/src/app/social/message/message.modal.mjs +21 -13
  253. package/esm2022/src/app/social/message/message.model.mjs +5 -1
  254. package/esm2022/src/app/social/message/message.module.mjs +9 -22
  255. package/esm2022/src/app/social/message/message.service.mjs +33 -11
  256. package/esm2022/src/app/social/social.module.mjs +5 -5
  257. package/esm2022/src/app/social/social.testing.module.mjs +5 -5
  258. package/esm2022/src/app/social/user-event/notification/user-event-notification.icon.mjs +6 -6
  259. package/esm2022/src/app/social/user-event/notification/user-event-notification.list.mjs +6 -6
  260. package/esm2022/src/app/social/user-event/testing/user-event.testing.mjs +6 -6
  261. package/esm2022/src/app/social/user-event/testing/user-event.testing.model.mjs +3 -2
  262. package/esm2022/src/app/social/user-event/testing/user-event.testing.module.mjs +5 -5
  263. package/esm2022/src/app/social/user-event/testing/user-event.testing.service.mjs +6 -6
  264. package/esm2022/src/app/social/user-event/user-event.module.mjs +5 -5
  265. package/esm2022/src/app/social/user-event/user-event.service.mjs +40 -26
  266. package/esm2022/src/environments/environment.class.mjs +4 -1
  267. package/esm2022/src/environments/environment.loader.mjs +83 -0
  268. package/esm2022/src/environments/environment.mjs +18 -15
  269. package/fesm2022/sumaris-net.ngx-components.mjs +4422 -3975
  270. package/fesm2022/sumaris-net.ngx-components.mjs.map +1 -1
  271. package/package.json +31 -6
  272. package/public_api.d.ts +4 -1
  273. package/src/app/core/account/account.page.d.ts +3 -2
  274. package/src/app/core/account/new-token.modal.d.ts +1 -3
  275. package/src/app/core/account/token.table.d.ts +5 -3
  276. package/src/app/core/form/buttons/form-buttons-bar.component.d.ts +1 -1
  277. package/src/app/core/form/entity/editor.class.d.ts +1 -1
  278. package/src/app/core/form/entity/entity-editor.class.d.ts +10 -6
  279. package/src/app/core/form/entity/entity-metadata.component.d.ts +1 -1
  280. package/src/app/core/form/text-popover/text-popover.component.d.ts +1 -1
  281. package/src/app/core/form/text-popover/text-popover.module.d.ts +4 -5
  282. package/src/app/core/graphql/graphql.service.d.ts +2 -4
  283. package/src/app/core/graphql/graphql.utils.d.ts +1 -1
  284. package/src/app/core/menu/menu.component.d.ts +6 -2
  285. package/src/app/core/menu/menu.service.d.ts +2 -0
  286. package/src/app/core/services/account.service.d.ts +4 -0
  287. package/src/app/core/services/config/core.config.d.ts +2 -2
  288. package/src/app/core/services/model/referential.model.d.ts +2 -1
  289. package/src/app/core/services/model/token.model.d.ts +1 -0
  290. package/src/app/core/services/network.service.d.ts +11 -7
  291. package/src/app/core/table/table.class.d.ts +1 -0
  292. package/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.d.ts +2 -4
  293. package/src/app/shared/http/http.utils.d.ts +1 -0
  294. package/src/app/shared/inputs.d.ts +1 -1
  295. package/src/app/shared/material/autocomplete/material.autocomplete.d.ts +1 -1
  296. package/src/app/shared/material/datetime/material.datetime.d.ts +10 -4
  297. package/src/app/shared/material/latlong/material.latlong.d.ts +10 -4
  298. package/src/app/shared/material/material.module.d.ts +2 -1
  299. package/src/app/shared/material/material.testing.module.d.ts +14 -13
  300. package/src/app/shared/material/text/testing/text-form.testing.d.ts +13 -0
  301. package/src/app/{core/form/text-popover → shared/material/text}/text-form.component.d.ts +2 -2
  302. package/src/app/shared/material/text/text-form.module.d.ts +16 -0
  303. package/src/app/shared/named-filter/named-filter-selector.component.d.ts +9 -3
  304. package/src/app/shared/services/entity-service.class.d.ts +1 -1
  305. package/src/app/shared/services/memory-entity-service.class.d.ts +7 -3
  306. package/src/app/shared/services.d.ts +1 -0
  307. package/src/app/shared/shared.module.d.ts +5 -3
  308. package/src/app/social/message/message.form.d.ts +8 -2
  309. package/src/app/social/message/message.modal.d.ts +5 -1
  310. package/src/app/social/message/message.model.d.ts +2 -0
  311. package/src/app/social/message/message.module.d.ts +2 -1
  312. package/src/app/social/message/message.service.d.ts +8 -3
  313. package/src/app/social/user-event/user-event.service.d.ts +5 -0
  314. package/src/assets/environments/environment-test.json +6 -0
  315. package/src/assets/i18n/en-US.json +25 -23
  316. package/src/assets/i18n/en.json +25 -23
  317. package/src/assets/i18n/fr.json +8 -5
  318. package/src/assets/manifest.json +1 -1
  319. package/src/environments/environment.class.d.ts +2 -0
  320. package/src/environments/environment.loader.d.ts +26 -0
  321. package/src/theme/_material.scss +20 -4
  322. package/src/theme/_ngx-components.scss +1 -1
  323. package/src/theme/_ngx-components.table.scss +24 -17
  324. package/esm2022/src/app/core/form/text-popover/text-form.component.mjs +0 -97
@@ -7,10 +7,10 @@ export class AsAnyPipe {
7
7
  return null;
8
8
  return value;
9
9
  }
10
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AsAnyPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
11
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: AsAnyPipe, name: "asAny" });
10
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AsAnyPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
11
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.6", ngImport: i0, type: AsAnyPipe, name: "asAny" });
12
12
  }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AsAnyPipe, decorators: [{
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AsAnyPipe, decorators: [{
14
14
  type: Pipe,
15
15
  args: [{
16
16
  name: 'asAny'
@@ -20,10 +20,10 @@ export class AsArrayPipe {
20
20
  transform(value) {
21
21
  return Array.isArray(value) ? value : null;
22
22
  }
23
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AsArrayPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
24
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: AsArrayPipe, name: "asArray" });
23
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AsArrayPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
24
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.6", ngImport: i0, type: AsArrayPipe, name: "asArray" });
25
25
  }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AsArrayPipe, decorators: [{
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AsArrayPipe, decorators: [{
27
27
  type: Pipe,
28
28
  args: [{
29
29
  name: 'asArray'
@@ -33,10 +33,10 @@ export class AsObservablePipe {
33
33
  transform(value) {
34
34
  return isObservable(value) ? value : null;
35
35
  }
36
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AsObservablePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
37
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: AsObservablePipe, name: "asObservable" });
36
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AsObservablePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
37
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.6", ngImport: i0, type: AsObservablePipe, name: "asObservable" });
38
38
  }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AsObservablePipe, decorators: [{
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AsObservablePipe, decorators: [{
40
40
  type: Pipe,
41
41
  args: [{
42
42
  name: 'asObservable'
@@ -46,13 +46,13 @@ export class AsFloatLabelTypePipe {
46
46
  transform(value) {
47
47
  return value === 'never' ? null : value;
48
48
  }
49
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AsFloatLabelTypePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
50
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: AsFloatLabelTypePipe, name: "asFloatLabelType" });
49
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AsFloatLabelTypePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
50
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.6", ngImport: i0, type: AsFloatLabelTypePipe, name: "asFloatLabelType" });
51
51
  }
52
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AsFloatLabelTypePipe, decorators: [{
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AsFloatLabelTypePipe, decorators: [{
53
53
  type: Pipe,
54
54
  args: [{
55
55
  name: 'asFloatLabelType'
56
56
  }]
57
57
  }] });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMucGlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9waXBlcy90eXBlcy5waXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUMsWUFBWSxFQUFhLE1BQU0sTUFBTSxDQUFDOztBQU85QyxNQUFNLE9BQU8sU0FBUztJQUNwQixTQUFTLENBQVUsS0FBb0I7UUFDckMsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxTQUFTO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDdkQsT0FBTyxLQUFVLENBQUM7SUFDcEIsQ0FBQzt3R0FKVSxTQUFTO3NHQUFULFNBQVM7OzRGQUFULFNBQVM7a0JBSHJCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLE9BQU87aUJBQ2Q7O0FBV0QsTUFBTSxPQUFPLFdBQVc7SUFDdEIsU0FBUyxDQUFVLEtBQWM7UUFDL0IsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUN0RCxDQUFDO3dHQUhVLFdBQVc7c0dBQVgsV0FBVzs7NEZBQVgsV0FBVztrQkFIdkIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsU0FBUztpQkFDaEI7O0FBV0QsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQixTQUFTLENBQVUsS0FBYztRQUMvQixPQUFPLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBc0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzdELENBQUM7d0dBSFUsZ0JBQWdCO3NHQUFoQixnQkFBZ0I7OzRGQUFoQixnQkFBZ0I7a0JBSDVCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLGNBQWM7aUJBQ3JCOztBQVdELE1BQU0sT0FBTyxvQkFBb0I7SUFDL0IsU0FBUyxDQUFDLEtBQXdCO1FBQ2hDLE9BQU8sS0FBSyxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDMUMsQ0FBQzt3R0FIVSxvQkFBb0I7c0dBQXBCLG9CQUFvQjs7NEZBQXBCLG9CQUFvQjtrQkFIaEMsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsa0JBQWtCO2lCQUN6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UGlwZSwgUGlwZVRyYW5zZm9ybX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2lzT2JzZXJ2YWJsZSwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0Zsb2F0TGFiZWxUeXBlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7QXBwRmxvYXRMYWJlbFR5cGV9IGZyb20gJy4uL2Zvcm0vZmllbGQubW9kZWwnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdhc0FueSdcbn0pXG5leHBvcnQgY2xhc3MgQXNBbnlQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybTxUID0gYW55Pih2YWx1ZTogdW5rbm93biB8IGFueSk6IFQgfCBudWxsIHtcbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCkgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIHZhbHVlIGFzIFQ7XG4gIH1cbn1cblxuQFBpcGUoe1xuICBuYW1lOiAnYXNBcnJheSdcbn0pXG5leHBvcnQgY2xhc3MgQXNBcnJheVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtPFQgPSBhbnk+KHZhbHVlOiB1bmtub3duKTogVFtdIHwgbnVsbCB7XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUgYXMgYW55W10gOiBudWxsO1xuICB9XG59XG5cblxuQFBpcGUoe1xuICBuYW1lOiAnYXNPYnNlcnZhYmxlJ1xufSlcbmV4cG9ydCBjbGFzcyBBc09ic2VydmFibGVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybTxUID0gYW55Pih2YWx1ZTogdW5rbm93bik6IE9ic2VydmFibGU8VD4gfCBudWxsIHtcbiAgICByZXR1cm4gaXNPYnNlcnZhYmxlKHZhbHVlKSA/IHZhbHVlIGFzIE9ic2VydmFibGU8VD4gOiBudWxsO1xuICB9XG59XG5cblxuQFBpcGUoe1xuICBuYW1lOiAnYXNGbG9hdExhYmVsVHlwZSdcbn0pXG5leHBvcnQgY2xhc3MgQXNGbG9hdExhYmVsVHlwZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtKHZhbHVlOiBBcHBGbG9hdExhYmVsVHlwZSk6IEZsb2F0TGFiZWxUeXBlIHwgbnVsbCB7XG4gICAgcmV0dXJuIHZhbHVlID09PSAnbmV2ZXInID8gbnVsbCA6IHZhbHVlO1xuICB9XG59XG5cbiJdfQ==
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMucGlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9waXBlcy90eXBlcy5waXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUMsWUFBWSxFQUFhLE1BQU0sTUFBTSxDQUFDOztBQU85QyxNQUFNLE9BQU8sU0FBUztJQUNwQixTQUFTLENBQVUsS0FBb0I7UUFDckMsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxTQUFTO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDdkQsT0FBTyxLQUFVLENBQUM7SUFDcEIsQ0FBQzt1R0FKVSxTQUFTO3FHQUFULFNBQVM7OzJGQUFULFNBQVM7a0JBSHJCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLE9BQU87aUJBQ2Q7O0FBV0QsTUFBTSxPQUFPLFdBQVc7SUFDdEIsU0FBUyxDQUFVLEtBQWM7UUFDL0IsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUN0RCxDQUFDO3VHQUhVLFdBQVc7cUdBQVgsV0FBVzs7MkZBQVgsV0FBVztrQkFIdkIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsU0FBUztpQkFDaEI7O0FBV0QsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQixTQUFTLENBQVUsS0FBYztRQUMvQixPQUFPLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBc0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzdELENBQUM7dUdBSFUsZ0JBQWdCO3FHQUFoQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBSDVCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLGNBQWM7aUJBQ3JCOztBQVdELE1BQU0sT0FBTyxvQkFBb0I7SUFDL0IsU0FBUyxDQUFDLEtBQXdCO1FBQ2hDLE9BQU8sS0FBSyxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDMUMsQ0FBQzt1R0FIVSxvQkFBb0I7cUdBQXBCLG9CQUFvQjs7MkZBQXBCLG9CQUFvQjtrQkFIaEMsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsa0JBQWtCO2lCQUN6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UGlwZSwgUGlwZVRyYW5zZm9ybX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2lzT2JzZXJ2YWJsZSwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0Zsb2F0TGFiZWxUeXBlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7QXBwRmxvYXRMYWJlbFR5cGV9IGZyb20gJy4uL2Zvcm0vZmllbGQubW9kZWwnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdhc0FueSdcbn0pXG5leHBvcnQgY2xhc3MgQXNBbnlQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybTxUID0gYW55Pih2YWx1ZTogdW5rbm93biB8IGFueSk6IFQgfCBudWxsIHtcbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCkgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIHZhbHVlIGFzIFQ7XG4gIH1cbn1cblxuQFBpcGUoe1xuICBuYW1lOiAnYXNBcnJheSdcbn0pXG5leHBvcnQgY2xhc3MgQXNBcnJheVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtPFQgPSBhbnk+KHZhbHVlOiB1bmtub3duKTogVFtdIHwgbnVsbCB7XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUgYXMgYW55W10gOiBudWxsO1xuICB9XG59XG5cblxuQFBpcGUoe1xuICBuYW1lOiAnYXNPYnNlcnZhYmxlJ1xufSlcbmV4cG9ydCBjbGFzcyBBc09ic2VydmFibGVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybTxUID0gYW55Pih2YWx1ZTogdW5rbm93bik6IE9ic2VydmFibGU8VD4gfCBudWxsIHtcbiAgICByZXR1cm4gaXNPYnNlcnZhYmxlKHZhbHVlKSA/IHZhbHVlIGFzIE9ic2VydmFibGU8VD4gOiBudWxsO1xuICB9XG59XG5cblxuQFBpcGUoe1xuICBuYW1lOiAnYXNGbG9hdExhYmVsVHlwZSdcbn0pXG5leHBvcnQgY2xhc3MgQXNGbG9hdExhYmVsVHlwZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtKHZhbHVlOiBBcHBGbG9hdExhYmVsVHlwZSk6IEZsb2F0TGFiZWxUeXBlIHwgbnVsbCB7XG4gICAgcmV0dXJuIHZhbHVlID09PSAnbmV2ZXInID8gbnVsbCA6IHZhbHVlO1xuICB9XG59XG5cbiJdfQ==
@@ -5,11 +5,11 @@ import { RxPush } from '@rx-angular/template/push';
5
5
  import { RxLet } from '@rx-angular/template/let';
6
6
  import * as i0 from "@angular/core";
7
7
  export class RxStateModule {
8
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RxStateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: RxStateModule, imports: [RxPush, RxFor, RxIf, RxLet], exports: [RxPush, RxFor, RxIf, RxLet] });
10
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RxStateModule });
8
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: RxStateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.6", ngImport: i0, type: RxStateModule, imports: [RxPush, RxFor, RxIf, RxLet], exports: [RxPush, RxFor, RxIf, RxLet] });
10
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: RxStateModule });
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RxStateModule, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: RxStateModule, decorators: [{
13
13
  type: NgModule,
14
14
  args: [{
15
15
  imports: [
@@ -20,4 +20,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
20
20
  ]
21
21
  }]
22
22
  }] });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicngtc3RhdGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvcngtc3RhdGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQy9DLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDakQsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLDBCQUEwQixDQUFDOztBQVUvQyxNQUFNLE9BQU8sYUFBYTt3R0FBYixhQUFhO3lHQUFiLGFBQWEsWUFOdEIsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxhQUcxQixNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLO3lHQUdqQixhQUFhOzs0RkFBYixhQUFhO2tCQVJ6QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLO3FCQUMzQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSztxQkFDM0I7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7UnhGb3J9IGZyb20gJ0ByeC1hbmd1bGFyL3RlbXBsYXRlL2Zvcic7XG5pbXBvcnQge1J4SWZ9IGZyb20gJ0ByeC1hbmd1bGFyL3RlbXBsYXRlL2lmJztcbmltcG9ydCB7UnhQdXNofSBmcm9tICdAcngtYW5ndWxhci90ZW1wbGF0ZS9wdXNoJztcbmltcG9ydCB7UnhMZXR9IGZyb20gJ0ByeC1hbmd1bGFyL3RlbXBsYXRlL2xldCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBSeFB1c2gsIFJ4Rm9yLCBSeElmLCBSeExldFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgUnhQdXNoLCBSeEZvciwgUnhJZiwgUnhMZXRcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBSeFN0YXRlTW9kdWxlIHtcblxufVxuIl19
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicngtc3RhdGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvcngtc3RhdGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQy9DLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDakQsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLDBCQUEwQixDQUFDOztBQVUvQyxNQUFNLE9BQU8sYUFBYTt1R0FBYixhQUFhO3dHQUFiLGFBQWEsWUFOdEIsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxhQUcxQixNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLO3dHQUdqQixhQUFhOzsyRkFBYixhQUFhO2tCQVJ6QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLO3FCQUMzQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSztxQkFDM0I7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7UnhGb3J9IGZyb20gJ0ByeC1hbmd1bGFyL3RlbXBsYXRlL2Zvcic7XG5pbXBvcnQge1J4SWZ9IGZyb20gJ0ByeC1hbmd1bGFyL3RlbXBsYXRlL2lmJztcbmltcG9ydCB7UnhQdXNofSBmcm9tICdAcngtYW5ndWxhci90ZW1wbGF0ZS9wdXNoJztcbmltcG9ydCB7UnhMZXR9IGZyb20gJ0ByeC1hbmd1bGFyL3RlbXBsYXRlL2xldCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBSeFB1c2gsIFJ4Rm9yLCBSeElmLCBSeExldFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgUnhQdXNoLCBSeEZvciwgUnhJZiwgUnhMZXRcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBSeFN0YXRlTW9kdWxlIHtcblxufVxuIl19
@@ -4,4 +4,4 @@ export function mergeLoadResult(res1, res2) {
4
4
  total: ((res1.total || res1.data?.length || 0) + (res2.total || res2.data?.length || 0))
5
5
  };
6
6
  }
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXNlcnZpY2UuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9zZXJ2aWNlcy9lbnRpdHktc2VydmljZS5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEwSEEsTUFBTSxVQUFVLGVBQWUsQ0FBSSxJQUFtQixFQUFFLElBQW1CO0lBQ3pFLE9BQU87UUFDTCxJQUFJLEVBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDN0MsS0FBSyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQztLQUN6RixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0ZldGNoUG9saWN5LCBXYXRjaFF1ZXJ5RmV0Y2hQb2xpY3l9IGZyb20gJ0BhcG9sbG8vY2xpZW50L2NvcmUnO1xuaW1wb3J0IHtTb3J0RGlyZWN0aW9ufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcbmltcG9ydCB7RW1wdHlPYmplY3R9IGZyb20gJy4uLy4uL2NvcmUvZ3JhcGhxbC9ncmFwaHFsLnV0aWxzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBhZ2Uge1xuICBvZmZzZXQ6IG51bWJlcjtcbiAgc2l6ZTogbnVtYmVyO1xuICBzb3J0Qnk/OiBzdHJpbmc7XG4gIHNvcnREaXJlY3Rpb24/OiBTb3J0RGlyZWN0aW9uO1xufVxuXG5leHBvcnQgZGVjbGFyZSB0eXBlIEZldGNoTW9yZUZuPFIsIFYgPSBFbXB0eU9iamVjdD4gPSAodmFyaWFibGVzPzogVikgPT4gUHJvbWlzZTxSPjtcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIExvYWRSZXN1bHQ8VD4ge1xuICBkYXRhOiBUW107XG4gIHRvdGFsPzogbnVtYmVyO1xuICBlcnJvcnM/OiBhbnlbXTtcbiAgZmV0Y2hNb3JlPzogRmV0Y2hNb3JlRm48TG9hZFJlc3VsdDxUPj47XG59XG5cbmV4cG9ydCBkZWNsYXJlIHR5cGUgU3VnZ2VzdEZuPFQsIEY+ID0gKHZhbHVlOiBhbnksIGZpbHRlcj86IEYsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3J0Qnk/OiBzdHJpbmd8a2V5b2YgVCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvcnREaXJlY3Rpb24/OiBTb3J0RGlyZWN0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0cz86IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmV0Y2hQb2xpY3k6IEZldGNoUG9saWN5O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSA9PiBQcm9taXNlPFRbXSB8IExvYWRSZXN1bHQ8VD4+O1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3VnZ2VzdFNlcnZpY2U8VCwgRj4ge1xuICBzdWdnZXN0OiBTdWdnZXN0Rm48VCwgRj47XG59XG5cbmV4cG9ydCBkZWNsYXJlIHR5cGUgRmlsdGVyRm48VD4gPSAoZGF0YTogVCkgPT4gYm9vbGVhbjtcbmV4cG9ydCBkZWNsYXJlIHR5cGUgRmlsdGVyRm5GYWN0b3J5PFQsIEY+ID0gKGZpbHRlcjogRikgPT4gRmlsdGVyRm48VD47XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBFbnRpdHlTZXJ2aWNlTG9hZE9wdGlvbnMge1xuICBmZXRjaFBvbGljeT86IEZldGNoUG9saWN5O1xuICB0cmFzaD86IGJvb2xlYW47XG4gIHRvRW50aXR5PzogYm9vbGVhbjtcbiAgcXVlcnk/OiBhbnk7XG4gIHZhcmlhYmxlcz86IGFueTtcbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBFbnRpdHlTZXJ2aWNlV2F0Y2hPcHRpb25zIHtcbiAgZmV0Y2hQb2xpY3k/OiBXYXRjaFF1ZXJ5RmV0Y2hQb2xpY3k7XG4gIHRyYXNoPzogYm9vbGVhbjtcbiAgdG9FbnRpdHk/OiBib29sZWFuO1xuICBxdWVyeT86IGFueTtcbiAgdmFyaWFibGVzPzogYW55O1xuICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgRW50aXR5U2VydmljZUxpc3RlbkNoYW5nZXNPcHRpb25zIHtcbiAgaW50ZXJ2YWw/OiBudW1iZXI7XG4gIGZldGNoUG9saWN5PzogRmV0Y2hQb2xpY3k7XG4gIHRvRW50aXR5PzogYm9vbGVhbjtcbiAgcXVlcnk/OiBhbnk7XG4gIHZhcmlhYmxlcz86IGFueTtcbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSUVudGl0eVNlcnZpY2U8XG4gIFQsXG4gIElEID0gYW55LFxuICBMTyA9IEVudGl0eVNlcnZpY2VMb2FkT3B0aW9ucz4ge1xuXG4gIGxvYWQoXG4gICAgaWQ6IElELFxuICAgIG9wdHM/OiBMT1xuICApOiBQcm9taXNlPFQ+O1xuXG4gIGNhblVzZXJXcml0ZShkYXRhOiBULCBvcHRzPzogYW55KTogYm9vbGVhbjtcblxuICBzYXZlKGRhdGE6IFQsIG9wdHM/OiBhbnkpOiBQcm9taXNlPFQ+O1xuXG4gIGRlbGV0ZShkYXRhOiBULCBvcHRzPzogYW55KTogUHJvbWlzZTxhbnk+O1xuXG4gIGxpc3RlbkNoYW5nZXMoaWQ6IElELCBvcHRzPzogYW55KTogT2JzZXJ2YWJsZTxUIHwgdW5kZWZpbmVkPjtcbn1cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEVudGl0aWVzU2VydmljZUxvYWRPcHRpb25zIGV4dGVuZHMgRW50aXR5U2VydmljZUxvYWRPcHRpb25zIHtcbiAgd2l0aFRvdGFsPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEVudGl0aWVzU2VydmljZVdhdGNoT3B0aW9ucyBleHRlbmRzIEVudGl0eVNlcnZpY2VXYXRjaE9wdGlvbnMge1xuICB3aXRoVG90YWw/OiBib29sZWFuO1xufVxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSUVudGl0aWVzU2VydmljZTxULCBGLCBPIGV4dGVuZHMgRW50aXRpZXNTZXJ2aWNlV2F0Y2hPcHRpb25zID0gRW50aXRpZXNTZXJ2aWNlV2F0Y2hPcHRpb25zPiB7XG5cbiAgd2F0Y2hBbGwoXG4gICAgb2Zmc2V0OiBudW1iZXIsXG4gICAgc2l6ZTogbnVtYmVyLFxuICAgIHNvcnRCeT86IHN0cmluZyxcbiAgICBzb3J0RGlyZWN0aW9uPzogU29ydERpcmVjdGlvbixcbiAgICBmaWx0ZXI/OiBQYXJ0aWFsPEY+LFxuICAgIG9wdGlvbnM/OiBPXG4gICk6IE9ic2VydmFibGU8TG9hZFJlc3VsdDxUPj47XG5cbiAgLy8gVE9ET1xuICAvKndhdGNoUGFnZShcbiAgICBwYWdlOiBQYWdlPFQ+LFxuICAgIGZpbHRlcj86IEYsXG4gICAgb3B0aW9ucz86IE9cbiAgKTogT2JzZXJ2YWJsZTxMb2FkUmVzdWx0PFQ+PjsqL1xuXG4gIHNhdmVBbGwoZGF0YTogVFtdLCBvcHRzPzogYW55KTogUHJvbWlzZTxUW10+O1xuXG4gIGRlbGV0ZUFsbChkYXRhOiBUW10sIG9wdHM/OiBhbnkpOiBQcm9taXNlPGFueT47XG5cbiAgYXNGaWx0ZXIoZmlsdGVyOiBQYXJ0aWFsPEY+KTogRjtcbn1cblxuZXhwb3J0IGRlY2xhcmUgdHlwZSBMb2FkUmVzdWx0QnlQYWdlRm48VD4gPSAob2Zmc2V0OiBudW1iZXIsIHNpemU6IG51bWJlcikgPT4gUHJvbWlzZTxMb2FkUmVzdWx0PFQ+PjtcblxuZXhwb3J0IGludGVyZmFjZSBJRW50aXR5RnVsbFNlcnZpY2U8VCwgSUQsIEYsIE8gZXh0ZW5kcyBFbnRpdGllc1NlcnZpY2VXYXRjaE9wdGlvbnMgJiBFbnRpdHlTZXJ2aWNlTG9hZE9wdGlvbnM+XG4gIGV4dGVuZHMgSUVudGl0eVNlcnZpY2U8VCwgSUQsIE8+LCBJRW50aXRpZXNTZXJ2aWNlPFQsIEYsIE8+ICB7XG59XG5cblxuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlTG9hZFJlc3VsdDxUPihyZXMxOiBMb2FkUmVzdWx0PFQ+LCByZXMyOiBMb2FkUmVzdWx0PFQ+KTogTG9hZFJlc3VsdDxUPiB7XG4gIHJldHVybiB7XG4gICAgZGF0YSA6IChyZXMxLmRhdGEgfHwgW10pLmNvbmNhdCguLi5yZXMyLmRhdGEpLFxuICAgIHRvdGFsOiAoKHJlczEudG90YWwgfHwgcmVzMS5kYXRhPy5sZW5ndGggfHwgMCkgKyAocmVzMi50b3RhbCB8fCByZXMyLmRhdGE/Lmxlbmd0aCB8fCAwKSlcbiAgfTtcbn1cbiJdfQ==
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXNlcnZpY2UuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9zZXJ2aWNlcy9lbnRpdHktc2VydmljZS5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEwSEEsTUFBTSxVQUFVLGVBQWUsQ0FBSSxJQUFtQixFQUFFLElBQW1CO0lBQ3pFLE9BQU87UUFDTCxJQUFJLEVBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDN0MsS0FBSyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQztLQUN6RixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZldGNoUG9saWN5LCBXYXRjaFF1ZXJ5RmV0Y2hQb2xpY3kgfSBmcm9tICdAYXBvbGxvL2NsaWVudC9jb3JlJztcbmltcG9ydCB7IFNvcnREaXJlY3Rpb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcbmltcG9ydCB7IEVtcHR5T2JqZWN0IH0gZnJvbSAnLi4vLi4vY29yZS9ncmFwaHFsL2dyYXBocWwudXRpbHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUGFnZSB7XG4gIG9mZnNldDogbnVtYmVyO1xuICBzaXplOiBudW1iZXI7XG4gIHNvcnRCeT86IHN0cmluZztcbiAgc29ydERpcmVjdGlvbj86IFNvcnREaXJlY3Rpb247XG59XG5cbmV4cG9ydCBkZWNsYXJlIHR5cGUgRmV0Y2hNb3JlRm48UiwgViA9IEVtcHR5T2JqZWN0PiA9ICh2YXJpYWJsZXM/OiBWKSA9PiBQcm9taXNlPFI+O1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTG9hZFJlc3VsdDxUPiB7XG4gIGRhdGE6IFRbXTtcbiAgdG90YWw/OiBudW1iZXI7XG4gIGVycm9ycz86IGFueVtdO1xuICBmZXRjaE1vcmU/OiBGZXRjaE1vcmVGbjxMb2FkUmVzdWx0PFQ+Pjtcbn1cblxuZXhwb3J0IGRlY2xhcmUgdHlwZSBTdWdnZXN0Rm48VCwgRj4gPSAodmFsdWU6IGFueSwgZmlsdGVyPzogRixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvcnRCeT86IHN0cmluZ3xrZXlvZiBULFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc29ydERpcmVjdGlvbj86IFNvcnREaXJlY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRzPzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZXRjaFBvbGljeT86IEZldGNoUG9saWN5O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSA9PiBQcm9taXNlPFRbXSB8IExvYWRSZXN1bHQ8VD4+O1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3VnZ2VzdFNlcnZpY2U8VCwgRj4ge1xuICBzdWdnZXN0OiBTdWdnZXN0Rm48VCwgRj47XG59XG5cbmV4cG9ydCBkZWNsYXJlIHR5cGUgRmlsdGVyRm48VD4gPSAoZGF0YTogVCkgPT4gYm9vbGVhbjtcbmV4cG9ydCBkZWNsYXJlIHR5cGUgRmlsdGVyRm5GYWN0b3J5PFQsIEY+ID0gKGZpbHRlcjogRikgPT4gRmlsdGVyRm48VD47XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBFbnRpdHlTZXJ2aWNlTG9hZE9wdGlvbnMge1xuICBmZXRjaFBvbGljeT86IEZldGNoUG9saWN5O1xuICB0cmFzaD86IGJvb2xlYW47XG4gIHRvRW50aXR5PzogYm9vbGVhbjtcbiAgcXVlcnk/OiBhbnk7XG4gIHZhcmlhYmxlcz86IGFueTtcbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBFbnRpdHlTZXJ2aWNlV2F0Y2hPcHRpb25zIHtcbiAgZmV0Y2hQb2xpY3k/OiBXYXRjaFF1ZXJ5RmV0Y2hQb2xpY3k7XG4gIHRyYXNoPzogYm9vbGVhbjtcbiAgdG9FbnRpdHk/OiBib29sZWFuO1xuICBxdWVyeT86IGFueTtcbiAgdmFyaWFibGVzPzogYW55O1xuICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgRW50aXR5U2VydmljZUxpc3RlbkNoYW5nZXNPcHRpb25zIHtcbiAgaW50ZXJ2YWw/OiBudW1iZXI7XG4gIGZldGNoUG9saWN5PzogRmV0Y2hQb2xpY3k7XG4gIHRvRW50aXR5PzogYm9vbGVhbjtcbiAgcXVlcnk/OiBhbnk7XG4gIHZhcmlhYmxlcz86IGFueTtcbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSUVudGl0eVNlcnZpY2U8XG4gIFQsXG4gIElEID0gYW55LFxuICBMTyA9IEVudGl0eVNlcnZpY2VMb2FkT3B0aW9ucz4ge1xuXG4gIGxvYWQoXG4gICAgaWQ6IElELFxuICAgIG9wdHM/OiBMT1xuICApOiBQcm9taXNlPFQ+O1xuXG4gIGNhblVzZXJXcml0ZShkYXRhOiBULCBvcHRzPzogYW55KTogYm9vbGVhbjtcblxuICBzYXZlKGRhdGE6IFQsIG9wdHM/OiBhbnkpOiBQcm9taXNlPFQ+O1xuXG4gIGRlbGV0ZShkYXRhOiBULCBvcHRzPzogYW55KTogUHJvbWlzZTxhbnk+O1xuXG4gIGxpc3RlbkNoYW5nZXMoaWQ6IElELCBvcHRzPzogYW55KTogT2JzZXJ2YWJsZTxUIHwgdW5kZWZpbmVkPjtcbn1cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEVudGl0aWVzU2VydmljZUxvYWRPcHRpb25zIGV4dGVuZHMgRW50aXR5U2VydmljZUxvYWRPcHRpb25zIHtcbiAgd2l0aFRvdGFsPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEVudGl0aWVzU2VydmljZVdhdGNoT3B0aW9ucyBleHRlbmRzIEVudGl0eVNlcnZpY2VXYXRjaE9wdGlvbnMge1xuICB3aXRoVG90YWw/OiBib29sZWFuO1xufVxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSUVudGl0aWVzU2VydmljZTxULCBGLCBPIGV4dGVuZHMgRW50aXRpZXNTZXJ2aWNlV2F0Y2hPcHRpb25zID0gRW50aXRpZXNTZXJ2aWNlV2F0Y2hPcHRpb25zPiB7XG5cbiAgd2F0Y2hBbGwoXG4gICAgb2Zmc2V0OiBudW1iZXIsXG4gICAgc2l6ZTogbnVtYmVyLFxuICAgIHNvcnRCeT86IHN0cmluZyxcbiAgICBzb3J0RGlyZWN0aW9uPzogU29ydERpcmVjdGlvbixcbiAgICBmaWx0ZXI/OiBQYXJ0aWFsPEY+LFxuICAgIG9wdGlvbnM/OiBPXG4gICk6IE9ic2VydmFibGU8TG9hZFJlc3VsdDxUPj47XG5cbiAgLy8gVE9ET1xuICAvKndhdGNoUGFnZShcbiAgICBwYWdlOiBQYWdlPFQ+LFxuICAgIGZpbHRlcj86IEYsXG4gICAgb3B0aW9ucz86IE9cbiAgKTogT2JzZXJ2YWJsZTxMb2FkUmVzdWx0PFQ+PjsqL1xuXG4gIHNhdmVBbGwoZGF0YTogVFtdLCBvcHRzPzogYW55KTogUHJvbWlzZTxUW10+O1xuXG4gIGRlbGV0ZUFsbChkYXRhOiBUW10sIG9wdHM/OiBhbnkpOiBQcm9taXNlPGFueT47XG5cbiAgYXNGaWx0ZXIoZmlsdGVyOiBQYXJ0aWFsPEY+KTogRjtcbn1cblxuZXhwb3J0IGRlY2xhcmUgdHlwZSBMb2FkUmVzdWx0QnlQYWdlRm48VD4gPSAob2Zmc2V0OiBudW1iZXIsIHNpemU6IG51bWJlcikgPT4gUHJvbWlzZTxMb2FkUmVzdWx0PFQ+PjtcblxuZXhwb3J0IGludGVyZmFjZSBJRW50aXR5RnVsbFNlcnZpY2U8VCwgSUQsIEYsIE8gZXh0ZW5kcyBFbnRpdGllc1NlcnZpY2VXYXRjaE9wdGlvbnMgJiBFbnRpdHlTZXJ2aWNlTG9hZE9wdGlvbnM+XG4gIGV4dGVuZHMgSUVudGl0eVNlcnZpY2U8VCwgSUQsIE8+LCBJRW50aXRpZXNTZXJ2aWNlPFQsIEYsIE8+ICB7XG59XG5cblxuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlTG9hZFJlc3VsdDxUPihyZXMxOiBMb2FkUmVzdWx0PFQ+LCByZXMyOiBMb2FkUmVzdWx0PFQ+KTogTG9hZFJlc3VsdDxUPiB7XG4gIHJldHVybiB7XG4gICAgZGF0YSA6IChyZXMxLmRhdGEgfHwgW10pLmNvbmNhdCguLi5yZXMyLmRhdGEpLFxuICAgIHRvdGFsOiAoKHJlczEudG90YWwgfHwgcmVzMS5kYXRhPy5sZW5ndGggfHwgMCkgKyAocmVzMi50b3RhbCB8fCByZXMyLmRhdGE/Lmxlbmd0aCB8fCAwKSlcbiAgfTtcbn1cbiJdfQ==
@@ -16,12 +16,12 @@ export class InMemoryEntitiesService extends StartableObservableService {
16
16
  _hiddenData = null;
17
17
  dirtySubject = new BehaviorSubject(false);
18
18
  savingSubject = new BehaviorSubject(false);
19
+ sortByReplacement;
19
20
  _sortFn;
20
21
  _onLoad;
21
22
  _onSaveFn;
22
23
  _equalsFn;
23
24
  _filterFnFactory;
24
- _sortByReplacement;
25
25
  set value(data) {
26
26
  this.setValue(data);
27
27
  }
@@ -54,7 +54,7 @@ export class InMemoryEntitiesService extends StartableObservableService {
54
54
  return undefined;
55
55
  });
56
56
  this._startByReadyFunction = false; // Need setValue() to be called, to start the service
57
- this._sortByReplacement = {
57
+ this.sortByReplacement = {
58
58
  ...options.sortByReplacement
59
59
  };
60
60
  }
@@ -147,9 +147,9 @@ export class InMemoryEntitiesService extends StartableObservableService {
147
147
  else {
148
148
  excludedDataByPagination = (size > 0 && ((offset + size) < data.length))
149
149
  // Slice using limit to size
150
- ? data.slice(0, offset - 1).concat(data.slice(offset + size))
150
+ ? data.slice(0, offset).concat(data.slice(offset + size))
151
151
  // Slice without limit
152
- : data.slice(0, offset - 1);
152
+ : data.slice(0, offset);
153
153
  data = (size > 0 && ((offset + size) < data.length))
154
154
  // Slice using limit to size
155
155
  ? data.slice(offset, offset + size)
@@ -174,7 +174,7 @@ export class InMemoryEntitiesService extends StartableObservableService {
174
174
  const res = { data, total };
175
175
  const nextOffset = size > 0 ? (offset || 0) + size : total;
176
176
  if (nextOffset < total) {
177
- res.fetchMore = () => this.loadAll(nextOffset, size, sortBy, sortDirection, filter, opts)
177
+ res.fetchMore = () => this.loadAll(nextOffset, size, sortBy, sortDirection, filter, { ...opts, updateHiddenData: false })
178
178
  .then(res => {
179
179
  // Update hidden data (remove new fetched item)
180
180
  if (res.data?.length) {
@@ -187,7 +187,7 @@ export class InMemoryEntitiesService extends StartableObservableService {
187
187
  }
188
188
  finally {
189
189
  // Remember hidden data
190
- if (offset === 0) {
190
+ if (opts?.updateHiddenData !== false) {
191
191
  this._hiddenData = !excludedDataByPagination ? excludedDataByFilter : excludedDataByFilter.concat(...excludedDataByPagination);
192
192
  }
193
193
  }
@@ -247,7 +247,7 @@ export class InMemoryEntitiesService extends StartableObservableService {
247
247
  // Make sure to fill sortBy BEFORE checking in the replacement map
248
248
  sortBy = sortBy || 'id';
249
249
  // Replace sortBy, using the replacement map
250
- sortBy = this._sortByReplacement[sortBy] || sortBy;
250
+ sortBy = this.sortByReplacement[sortBy] || sortBy;
251
251
  // Execute the sort
252
252
  return EntityUtils.sort(data, sortBy, sortDirection);
253
253
  }
@@ -255,7 +255,7 @@ export class InMemoryEntitiesService extends StartableObservableService {
255
255
  return EntityFilterUtils.fromObject(source, this.filterType);
256
256
  }
257
257
  addSortByReplacement(source, target) {
258
- this._sortByReplacement[source] = target;
258
+ this.sortByReplacement[source] = target;
259
259
  }
260
260
  equals(d1, d2) {
261
261
  if (this._equalsFn)
@@ -338,10 +338,10 @@ export class InMemoryEntitiesService extends StartableObservableService {
338
338
  this.savingSubject.next(false);
339
339
  }
340
340
  }
341
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InMemoryEntitiesService, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
342
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: InMemoryEntitiesService, usesInheritance: true, ngImport: i0 });
341
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: InMemoryEntitiesService, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
342
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.6", type: InMemoryEntitiesService, usesInheritance: true, ngImport: i0 });
343
343
  }
344
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InMemoryEntitiesService, decorators: [{
344
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: InMemoryEntitiesService, decorators: [{
345
345
  type: Directive
346
- }], ctorParameters: function () { return [{ type: undefined }, { type: undefined }, { type: undefined }]; } });
347
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtb3J5LWVudGl0eS1zZXJ2aWNlLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvc2VydmljZXMvbWVtb3J5LWVudGl0eS1zZXJ2aWNlLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxlQUFlLEVBQUUsS0FBSyxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQ3hELE9BQU8sRUFBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDckUsT0FBTyxFQUFDLFlBQVksRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUc1RSxPQUFPLEVBQUMsU0FBUyxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBQyxXQUFXLEVBQVUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM1RSxPQUFPLEVBQUMsWUFBWSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDdkYsT0FBTyxFQUFDLGlCQUFpQixFQUFpQixNQUFNLGdCQUFnQixDQUFDO0FBQ2pFLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLHNDQUFzQyxDQUFDOztBQWNoRixXQUFXO0FBRVgsa0VBQWtFO0FBQ2xFLE1BQU0sT0FBTyx1QkFLWCxTQUFRLDBCQUFvQztJQW1DaEM7SUFDQTtJQWpDWixLQUFLLEdBQUcsS0FBSyxDQUFDO0lBRU4sV0FBVyxHQUFRLElBQUksQ0FBQztJQUV2QixZQUFZLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7SUFFM0MsYUFBYSxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBQ3BELE9BQU8sQ0FBcUU7SUFDNUUsT0FBTyxDQUFvQztJQUMzQyxTQUFTLENBQW9DO0lBQzdDLFNBQVMsQ0FBNEI7SUFDckMs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O1lBQ1gsSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7WUFDbEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUMxQixPQUFPLEVBQUMsSUFBSSxFQUFFLEtBQUssRUFBQyxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRVMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFxQjtRQUNuRCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUc7WUFDaEIsT0FBTyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO2dCQUMzQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDO2dCQUM3RCxTQUFTLEVBQUUsS0FBSztnQkFDaEIsR0FBRyxJQUFJO2FBQ1IsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRVMsWUFBWTtRQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUU7WUFDN0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDL0I7SUFDSCxDQUFDO0lBRVMsV0FBVztRQUNuQixJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFO1lBQzVCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ2hDO0lBQ0gsQ0FBQzt3R0FsYVUsdUJBQXVCOzRGQUF2Qix1QkFBdUI7OzRGQUF2Qix1QkFBdUI7a0JBRm5DLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgbWVyZ2UsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtmaWx0ZXIsIG1hcCwgbWVyZ2VNYXAsIHRha2VVbnRpbCwgdGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge2lzRW1wdHlBcnJheSwgaXNOaWwsIGlzTm90RW1wdHlBcnJheSwgaXNOb3ROaWx9IGZyb20gJy4uL2Z1bmN0aW9ucyc7XG5pbXBvcnQge0VudGl0aWVzU2VydmljZUxvYWRPcHRpb25zLCBFbnRpdGllc1NlcnZpY2VXYXRjaE9wdGlvbnMsIEZpbHRlckZuLCBGaWx0ZXJGbkZhY3RvcnksIElFbnRpdGllc1NlcnZpY2UsIExvYWRSZXN1bHR9IGZyb20gJy4vZW50aXR5LXNlcnZpY2UuY2xhc3MnO1xuaW1wb3J0IHtTb3J0RGlyZWN0aW9ufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcbmltcG9ydCB7RGlyZWN0aXZlLCBPbkRlc3Ryb3l9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtFbnRpdHlVdGlscywgSUVudGl0eX0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcy9tb2RlbC9lbnRpdHkubW9kZWwnO1xuaW1wb3J0IHtFbnRpdHlGaWx0ZXIsIEVudGl0eUZpbHRlclV0aWxzfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2VzL21vZGVsL2ZpbHRlci5tb2RlbCc7XG5pbXBvcnQge2ZpcnN0RmFsc2VQcm9taXNlLCBXYWl0Rm9yT3B0aW9uc30gZnJvbSAnLi4vb2JzZXJ2YWJsZXMnO1xuaW1wb3J0IHtTdGFydGFibGVPYnNlcnZhYmxlU2VydmljZX0gZnJvbSAnLi9zdGFydGFibGUtb2JzZXJ2YWJsZS1zZXJ2aWNlLmNsYXNzJztcblxuZXhwb3J0IGludGVyZmFjZSBJbk1lbW9yeUVudGl0aWVzU2VydmljZU9wdGlvbnM8VCwgRj4ge1xuICBvblNvcnQ/OiAoZGF0YTogVFtdLCBzb3J0Qnk/OiBzdHJpbmcsIHNvcnREaXJlY3Rpb24/OiBTb3J0RGlyZWN0aW9uKSA9PiBUW107XG4gIG9uTG9hZD86IChkYXRhOiBUW10pID0+IFRbXSB8IFByb21pc2U8VFtdPjtcbiAgb25TYXZlPzogKGRhdGE6IFRbXSkgPT4gVFtdIHwgUHJvbWlzZTxUW10+O1xuICBlcXVhbHM/OiAoZDE6IFQsIGQyOiBUKSA9PiBib29sZWFuO1xuXG4gIGZpbHRlckZuRmFjdG9yeT86IEZpbHRlckZuRmFjdG9yeTxULCBGPjtcbiAgZmlsdGVyRm4/OiBGaWx0ZXJGbjxUPjtcblxuICBzb3J0QnlSZXBsYWNlbWVudD86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG59XG5cbi8vIEBkeW5hbWljXG5ARGlyZWN0aXZlKClcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLWNsYXNzLXN1ZmZpeFxuZXhwb3J0IGNsYXNzIEluTWVtb3J5RW50aXRpZXNTZXJ2aWNlPFxuICBUIGV4dGVuZHMgSUVudGl0eTxULCBJRD4sXG4gIEYgPSBhbnksXG4gIElEID0gbnVtYmVyLFxuICBPIGV4dGVuZHMgRW50aXRpZXNTZXJ2aWNlV2F0Y2hPcHRpb25zID0gRW50aXRpZXNTZXJ2aWNlV2F0Y2hPcHRpb25zPlxuICBleHRlbmRzIFN0YXJ0YWJsZU9ic2VydmFibGVTZXJ2aWNlPFRbXSwgVFtdPlxuICBpbXBsZW1lbnRzIElFbnRpdGllc1NlcnZpY2U8VCwgRiwgTz4sIE9uRGVzdHJveSB7XG5cbiAgZGVidWcgPSBmYWxzZTtcblxuICBwcml2YXRlIF9oaWRkZW5EYXRhOiBUW10gPSBudWxsO1xuXG4gIHJlYWRvbmx5IGRpcnR5U3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgc2F2aW5nU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9zb3J0Rm46IChkYXRhOiBUW10sIHNvcnRCeT86IHN0cmluZywgc29ydERpcmVjdGlvbj86IFNvcnREaXJlY3Rpb24pID0+IFRbXTtcbiAgcHJpdmF0ZSByZWFkb25seSBfb25Mb2FkOiAoZGF0YTogVFtdKSA9PiBUW10gfCBQcm9taXNlPFRbXT47XG4gIHByaXZhdGUgcmVhZG9ubHkgX29uU2F2ZUZuOiAoZGF0YTogVFtdKSA9PiBUW10gfCBQcm9taXNlPFRbXT47XG4gIHByaXZhdGUgcmVhZG9ubHkgX2VxdWFsc0ZuOiAoZDE6IFQsIGQyOiBUKSA9PiBib29sZWFuO1xuICBwcml2YXRlIHJlYWRvbmx5IF9maWx0ZXJGbkZhY3Rvcnk6IEZpbHRlckZuRmFjdG9yeTxULCBGPjtcbiAgcHJpdmF0ZSByZWFkb25seSBfc29ydEJ5UmVwbGFjZW1lbnQ6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG5cblxuICBzZXQgdmFsdWUoZGF0YTogVFtdKSB7XG4gICAgdGhpcy5zZXRWYWx1ZShkYXRhKTtcbiAgfVxuXG4gIGdldCB2YWx1ZSgpOiBUW10ge1xuICAgIHJldHVybiB0aGlzLmRhdGFTdWJqZWN0LmdldFZhbHVlKCk7XG4gIH1cblxuICBnZXQgc2F2aW5nKCk6IGJvb2xlYW57XG4gICAgcmV0dXJuIHRoaXMuc2F2aW5nU3ViamVjdC52YWx1ZTtcbiAgfVxuXG4gIGdldCBkaXJ0eSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5kaXJ0eVN1YmplY3QudmFsdWU7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgZGF0YVR5cGU6IG5ldygpID0+IFQsXG4gICAgcHJvdGVjdGVkIGZpbHRlclR5cGU6IG5ldygpID0+IEYsXG4gICAgb3B0aW9ucz86IEluTWVtb3J5RW50aXRpZXNTZXJ2aWNlT3B0aW9uczxULCBGPlxuICApIHtcbiAgICBzdXBlcihudWxsKTtcbiAgICBvcHRpb25zID0ge1xuICAgICAgb25Tb3J0OiB0aGlzLnNvcnQsXG4gICAgICAuLi5vcHRpb25zXG4gICAgfTtcblxuICAgIHRoaXMuX3NvcnRGbiA9IG9wdGlvbnMub25Tb3J0O1xuICAgIHRoaXMuX29uTG9hZCA9IG9wdGlvbnMub25Mb2FkO1xuICAgIHRoaXMuX29uU2F2ZUZuID0gb3B0aW9ucy5vblNhdmU7XG4gICAgdGhpcy5fZXF1YWxzRm4gPSBvcHRpb25zLmVxdWFscztcbiAgICB0aGlzLl9maWx0ZXJGbkZhY3RvcnkgPSBvcHRpb25zLmZpbHRlckZuRmFjdG9yeSB8fCAoKGYpID0+IHtcbiAgICAgIGNvbnN0IGZpbHRlciA9IHRoaXMuYXNGaWx0ZXIoZikgYXMgRjtcbiAgICAgIGlmIChmaWx0ZXIgaW5zdGFuY2VvZiBFbnRpdHlGaWx0ZXIpIHtcbiAgICAgICAgcmV0dXJuIGZpbHRlci5hc0ZpbHRlckZuKCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH0pO1xuICAgIHRoaXMuX3N0YXJ0QnlSZWFkeUZ1bmN0aW9uID0gZmFsc2U7IC8vIE5lZWQgc2V0VmFsdWUoKSB0byBiZSBjYWxsZWQsIHRvIHN0YXJ0IHRoZSBzZXJ2aWNlXG5cbiAgICB0aGlzLl9zb3J0QnlSZXBsYWNlbWVudCA9IHtcbiAgICAgIC4uLm9wdGlvbnMuc29ydEJ5UmVwbGFjZW1lbnRcbiAgICB9O1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIG5nT25TdGFydChkYXRhPzogVFtdKTogUHJvbWlzZTxUW10+IHtcbiAgICBpZiAoIWRhdGEpIHRocm93IG5ldyBFcnJvcignTWlzc2luZyByZXF1aXJlZCBkYXRhLCB0byBzdGFydCB0aGlzIHNlcnZpY2UnKTtcbiAgICBpZiAodGhpcy5kZWJ1ZykgY29uc29sZS5kZWJ1ZygnW21lbW9yeS1kYXRhLXNlcnZpY2VdIFN0YXJ0aW5nLi4uJyk7XG4gICAgdGhpcy5faGlkZGVuRGF0YSA9IFtdO1xuICAgIHRoaXMubWFya0FzU2F2ZWQoKTtcbiAgICB0aGlzLm1hcmtBc1ByaXN0aW5lKCk7XG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgbmdPblN0b3AoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMuZGVidWcpIGNvbnNvbGUuZGVidWcoJ1ttZW1vcnktZGF0YS1zZXJ2aWNlXSBTdG9wcGluZy4uLicpO1xuICAgIHRoaXMuX2hpZGRlbkRhdGEgPSBudWxsO1xuICAgIHRoaXMubWFya0FzU2F2ZWQoKTtcbiAgICB0aGlzLm1hcmtBc1ByaXN0aW5lKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnN0b3AoKTtcbiAgfVxuXG4gIHNldFZhbHVlKGRhdGE6IFRbXSkge1xuICAgIC8vIElmIHNlcnZpY2UgYWxyZWFkeSBzdGFydGVkXG4gICAgaWYgKHRoaXMuc3RhcnRlZCkge1xuICAgICAgLy8gVXBkYXRlIHRoZSBkYXRhLCBpZiBjaGFuZ2VkXG4gICAgICBpZiAodGhpcy5kYXRhU3ViamVjdC52YWx1ZSAhPT0gZGF0YSkge1xuICAgICAgICB0aGlzLl9oaWRkZW5EYXRhID0gW107XG4gICAgICAgIHRoaXMuZGF0YVN1YmplY3QubmV4dChkYXRhKTtcbiAgICAgIH1cblxuICAgICAgLy8gUmVzZXQgZGlydHkgYW5kIHNhdmluZyBzdGF0ZVxuICAgICAgLy8gKEZpeCBPYnNCaW8gaXNzdWUgb24gc2FtcGxlcyB0YWJsZSA6IHN0aWxsIGRpcnR5IGFmdGVyIHNldHRpbmcgdGhlIHNhbWUgdmFsdWUgYWdhaW4pXG4gICAgICB0aGlzLm1hcmtBc1NhdmVkKCk7XG4gICAgICB0aGlzLm1hcmtBc1ByaXN0aW5lKCk7XG4gICAgfVxuICAgIC8vIElmIHNlcnZpY2Ugbm90IHN0YXJ0ZWQgeWV0LCB0aGVuIHN0YXJ0IGl0LCB1c2luZyBnaXZlbiBkYXRhXG4gICAgZWxzZSB7XG4gICAgICB0aGlzLnN0YXJ0KGRhdGEpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGxvYWRBbGwoXG4gICAgb2Zmc2V0OiBudW1iZXIsXG4gICAgc2l6ZTogbnVtYmVyLFxuICAgIHNvcnRCeT86IHN0cmluZyxcbiAgICBzb3J0RGlyZWN0aW9uPzogU29ydERpcmVjdGlvbixcbiAgICBmaWx0ZXI/OiBGLFxuICAgIG9wdHM/OiBFbnRpdGllc1NlcnZpY2VMb2FkT3B0aW9uc1xuICApOiBQcm9taXNlPExvYWRSZXN1bHQ8VD4+IHtcblxuICAgIG9mZnNldCA9IG9mZnNldCA+PSAwID8gb2Zmc2V0IDogMDtcbiAgICBzaXplID0gc2l6ZSA+PSAwID8gc2l6ZSA6IC0xO1xuXG4gICAgY29uc3Qgb3JpZ2luYWxEYXRhID0gdGhpcy5kYXRhU3ViamVjdC52YWx1ZTtcbiAgICBpZiAoaXNOaWwob3JpZ2luYWxEYXRhKSkge1xuICAgICAgY29uc29sZS53YXJuKCdbbWVtb3J5LWRhdGEtc2VydmljZV0gQ2Fubm90IGxvYWQgYWxsOiBubyB2YWx1ZSBzZXQuIFdpbGwgcmV0dXJuIGVtcHR5IHJlc3VsdCcpO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICAvLyBXYWl0IHNlcnZpY2UgaXMgcmVhZHlcbiAgICAgIGF3YWl0IHRoaXMucmVhZHkoKTtcblxuICAgICAgLy8gV2FpdCB3aGlsZSBidXN5IChlLmcuIHdoZW4gc2F2aW5nLCBvciBkZWxldGluZylcbiAgICAgIGF3YWl0IHRoaXMud2FpdElkbGUoe3N0b3BFcnJvcjogZmFsc2UgLyphdm9pZCBlcnJvciB3aGVuIHN0b3BwZWQqL30pO1xuICAgIH1cbiAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAvLyBTaG91bGQgYmUgYSBzdG9wIGVycm9yOiBsb2cgYW5kIGNvbnRpbnVlXG4gICAgICBpZiAoIXRoaXMuc3RvcHBlZCkgY29uc29sZS5lcnJvcignVW5leHBlY3RlZCBlcnJvciwgd2hpbGUgd2FpdGluZyA6JywgZXJyKTtcbiAgICB9XG5cbiAgICAvLyBNYWtlIHN1cmUgc2VydmljZSBpcyBub3Qgc3RvcHBlZFxuICAgIGlmICh0aGlzLnN0b3BwZWQpIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgICBjb25zdCBleGNsdWRlZERhdGFCeUZpbHRlcjogVFtdID0gW107XG4gICAgbGV0IGV4Y2x1ZGVkRGF0YUJ5UGFnaW5hdGlvbjogVFtdO1xuXG4gICAgdHJ5IHtcbiAgICAgIGlmIChpc0VtcHR5QXJyYXkob3JpZ2luYWxEYXRhKSkge1xuICAgICAgICByZXR1cm4ge2RhdGE6IFtdLCB0b3RhbDogMH07XG4gICAgICB9XG5cbiAgICAgIC8vIEFwcGx5IHNvcnRcbiAgICAgIGxldCBkYXRhID0gdGhpcy5fc29ydEZuKG9yaWdpbmFsRGF0YSwgc29ydEJ5LCBzb3J0RGlyZWN0aW9uKSA7XG5cbiAgICAgIGlmICh0aGlzLl9vbkxvYWQpIHtcbiAgICAgICAgZGF0YSA9IGF3YWl0IHRoaXMuX29uTG9hZChkYXRhKTtcbiAgICAgIH1cblxuICAgICAgLy8gQXBwbHkgZmlsdGVyICh3aWxsIHVwZGF0ZSBoaWRkZW5EYXRhKVxuICAgICAgZGF0YSA9IHRoaXMuZmlsdGVyKGRhdGEsIGZpbHRlciwgZXhjbHVkZWREYXRhQnlGaWx0ZXIpO1xuXG4gICAgICAvLyBDb21wdXRlIHRoZSB0b3RhbCBsZW5ndGhcbiAgICAgIGNvbnN0IHRvdGFsID0gZGF0YS5sZW5ndGg7XG5cbiAgICAgIC8vIElmIHBhZ2Ugc2l6ZT0wIChlLmcuIG9ubHkgbmVlZCB0b3RhbClcbiAgICAgIGlmIChzaXplID09PSAwKSB7XG4gICAgICAgIGV4Y2x1ZGVkRGF0YUJ5UGFnaW5hdGlvbiA9IGRhdGE7XG4gICAgICAgIHJldHVybiB7ZGF0YTogW10sIHRvdGFsfTtcbiAgICAgIH1cblxuICAgICAgLy8gU2xpY2UgaW4gYSBwYWdlICh1c2luZyBvZmZzZXQgYW5kIHNpemUpXG4gICAgICBpZiAob2Zmc2V0ID4gMCkge1xuXG4gICAgICAgIC8vIE9mZnNldCBhZnRlciB0aGUgZW5kOiBubyByZXN1bHRcbiAgICAgICAgaWYgKG9mZnNldCA+PSBkYXRhLmxlbmd0aCkge1xuICAgICAgICAgIGV4Y2x1ZGVkRGF0YUJ5UGFnaW5hdGlvbiA9IGRhdGE7XG4gICAgICAgICAgZGF0YSA9IFtdO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIGV4Y2x1ZGVkRGF0YUJ5UGFnaW5hdGlvbiA9IChzaXplID4gMCAmJiAoKG9mZnNldCArIHNpemUpIDwgZGF0YS5sZW5ndGgpKVxuICAgICAgICAgICAgLy8gU2xpY2UgdXNpbmcgbGltaXQgdG8gc2l6ZVxuICAgICAgICAgICAgPyBkYXRhLnNsaWNlKDAsIG9mZnNldCAtMSkuY29uY2F0KGRhdGEuc2xpY2Uob2Zmc2V0ICsgc2l6ZSkpXG4gICAgICAgICAgICAvLyBTbGljZSB3aXRob3V0IGxpbWl0XG4gICAgICAgICAgICA6IGRhdGEuc2xpY2UoMCwgb2Zmc2V0LTEpO1xuXG4gICAgICAgICAgZGF0YSA9IChzaXplID4gMCAmJiAoKG9mZnNldCArIHNpemUpIDwgZGF0YS5sZW5ndGgpKVxuICAgICAgICAgICAgLy8gU2xpY2UgdXNpbmcgbGltaXQgdG8gc2l6ZVxuICAgICAgICAgICAgPyBkYXRhLnNsaWNlKG9mZnNldCwgb2Zmc2V0ICsgc2l6ZSlcbiAgICAgICAgICAgIC8vIFNsaWNlIHdpdGhvdXQgbGltaXRcbiAgICAgICAgICAgIDogZGF0YS5zbGljZShvZmZzZXQpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIEFwcGx5IGEgbGltaXRcbiAgICAgIGVsc2UgaWYgKHNpemUgPiAwKXtcbiAgICAgICAgZXhjbHVkZWREYXRhQnlQYWdpbmF0aW9uID0gZGF0YS5zbGljZShzaXplKTtcbiAgICAgICAgZGF0YSA9IGRhdGEuc2xpY2UoMCwgc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC8vIE5vIGxpbWl0OlxuICAgICAgZWxzZSBpZiAoc2l6ZSA9PT0gLTEpe1xuICAgICAgICAvLyBLZWVwIGFsbCBkYXRhXG4gICAgICB9XG5cbiAgICAgIC8vIC8hXFwgSWYgYWxyZWFkeSBvYnNlcnZlZCwgdGhlbiBhbHdheXMgY3JlYXRlIGEgY29weSBvZiB0aGUgb3JpZ2luYWwgYXJyYXlcbiAgICAgIC8vIEJlY2F1c2UgZGF0YXNvdXJjZSB3aWxsIG9ubHkgdXBkYXRlIGlmIHRoZSBhcnJheSBjaGFuZ2VkXG4gICAgICBpZiAoZGF0YSA9PT0gb3JpZ2luYWxEYXRhKSB7XG4gICAgICAgIGRhdGEgPSBkYXRhLnNsaWNlKCk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJlczogTG9hZFJlc3VsdDxUPiA9IHtkYXRhLCB0b3RhbH07XG5cbiAgICAgIGNvbnN0IG5leHRPZmZzZXQgPSBzaXplID4gMCA/IChvZmZzZXQgfHwgMCkgKyBzaXplIDogdG90YWw7XG4gICAgICBpZiAobmV4dE9mZnNldCA8IHRvdGFsKSB7XG4gICAgICAgIHJlcy5mZXRjaE1vcmUgPSAoKSA9PiB0aGlzLmxvYWRBbGwobmV4dE9mZnNldCwgc2l6ZSwgc29ydEJ5LCBzb3J0RGlyZWN0aW9uLCBmaWx0ZXIsIG9wdHMpXG4gICAgICAgICAgLnRoZW4ocmVzID0+IHtcbiAgICAgICAgICAgIC8vIFVwZGF0ZSBoaWRkZW4gZGF0YSAocmVtb3ZlIG5ldyBmZXRjaGVkIGl0ZW0pXG4gICAgICAgICAgICBpZiAocmVzLmRhdGE/Lmxlbmd0aCkge1xuICAgICAgICAgICAgICB0aGlzLl9oaWRkZW5EYXRhID0gdGhpcy5faGlkZGVuRGF0YT8uZmlsdGVyKGl0ZW0gPT4gIXJlcy5kYXRhLmluY2x1ZGVzKGl0ZW0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiByZXM7XG4gICAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZXM7XG4gICAgfVxuICAgIGZpbmFsbHkge1xuICAgICAgLy8gUmVtZW1iZXIgaGlkZGVuIGRhdGFcbiAgICAgIGlmIChvZmZzZXQgPT09IDApIHtcbiAgICAgICAgdGhpcy5faGlkZGVuRGF0YSA9ICFleGNsdWRlZERhdGFCeVBhZ2luYXRpb24gPyBleGNsdWRlZERhdGFCeUZpbHRlciA6IGV4Y2x1ZGVkRGF0YUJ5RmlsdGVyLmNvbmNhdCguLi5leGNsdWRlZERhdGFCeVBhZ2luYXRpb24pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHdhdGNoQWxsKFxuICAgIG9mZnNldDogbnVtYmVyLFxuICAgIHNpemU6IG51bWJlcixcbiAgICBzb3J0Qnk/OiBzdHJpbmcsXG4gICAgc29ydERpcmVjdGlvbj86IFNvcnREaXJlY3Rpb24sXG4gICAgZmlsdGVyRGF0YT86IEYsXG4gICAgb3B0aW9ucz86IGFueVxuICApOiBPYnNlcnZhYmxlPExvYWRSZXN1bHQ8VD4+IHtcblxuICAgIG9mZnNldCA9IG9mZnNldCA+PSAwID8gb2Zmc2V0IDogMDtcbiAgICBzaXplID0gc2l6ZSA+PSAwID8gc2l6ZSA6IC0xO1xuXG4gICAgcmV0dXJuIHRoaXMuZGF0YVN1YmplY3RcbiAgICAgIC5waXBlKFxuICAgICAgICAvLyBXYXJuIGlmIHdhaXRpbmcgdmFsdWUgdG8gYmUgc2V0XG4gICAgICAgIHRhcCgoZGF0YSkgPT4gdGhpcy5kZWJ1ZyAmJiAhZGF0YSAmJiBjb25zb2xlLmRlYnVnKCdbbWVtb3J5LWRhdGEtc2VydmljZV0gV2FpdGluZyB2YWx1ZSB0byBiZSBzZXQuLi4nKSksXG4gICAgICAgIGZpbHRlcihpc05vdE5pbCksXG4gICAgICAgIG1lcmdlTWFwKF8gPT4gdGhpcy5sb2FkQWxsKG9mZnNldCwgc2l6ZSwgc29ydEJ5LCBzb3J0RGlyZWN0aW9uLCBmaWx0ZXJEYXRhLCBvcHRpb25zKSksXG4gICAgICAgIGZpbHRlcihpc05vdE5pbCksIC8vIFNraXAgbm8gcmVzdWx0IChlLmcuIHdoZW4gc3RvcHBlZClcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuc3RvcFN1YmplY3QpXG4gICAgICApO1xuICB9XG5cbiAgYXN5bmMgc2F2ZUFsbChkYXRhOiBUW10sIG9wdGlvbnM/OiBhbnkpOiBQcm9taXNlPFRbXT4ge1xuICAgIGlmICghdGhpcy5kYXRhU3ViamVjdC52YWx1ZSkgdGhyb3cgbmV3IEVycm9yKCdbbWVtb3J5LXNlcnZpY2VdIENvdWxkIG5vdCBzYXZlLCBiZWNhdXNlIHZhbHVlIG5vdCBzZXQnKTtcblxuICAgIHRoaXMubWFya0FzU2F2aW5nKCk7XG5cbiAgICB0cnkge1xuXG4gICAgICAvLyBSZXN0b3JlIGhpZGRlbiBkYXRhXG4gICAgICBpZiAoaXNOb3RFbXB0eUFycmF5KHRoaXMuX2hpZGRlbkRhdGEpKVxuICAgICAgICBkYXRhID0gZGF0YS5jb25jYXQoLi4udGhpcy5faGlkZGVuRGF0YSk7XG5cbiAgICAgIGlmICh0aGlzLl9vblNhdmVGbikge1xuICAgICAgICBjb25zdCByZXMgPSB0aGlzLl9vblNhdmVGbihkYXRhKTtcbiAgICAgICAgZGF0YSA9ICgocmVzIGluc3RhbmNlb2YgUHJvbWlzZSkpID8gYXdhaXQgcmVzIDogcmVzO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmRhdGFTdWJqZWN0Lm5leHQoZGF0YSk7XG4gICAgICB0aGlzLm1hcmtBc0RpcnR5KCk7XG4gICAgICByZXR1cm4gZGF0YTtcbiAgICB9XG4gICAgZmluYWxseSB7XG4gICAgICB0aGlzLm1hcmtBc1NhdmVkKCk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgZGVsZXRlQWxsKGRhdGFUb1JlbW92ZTogVFtdLCBvcHRpb25zPzogYW55KTogUHJvbWlzZTxhbnk+IHtcbiAgICBsZXQgZGF0YSA9IHRoaXMuZGF0YVN1YmplY3QudmFsdWU7XG4gICAgaWYgKCFkYXRhKSB0aHJvdyBuZXcgRXJyb3IoJ1ttZW1vcnktc2VydmljZV0gQ291bGQgbm90IGRlbGV0ZSwgYmVjYXVzZSB2YWx1ZSBub3Qgc2V0Jyk7XG5cbiAgICB0aGlzLm1hcmtBc1NhdmluZygpO1xuXG4gICAgdHJ5IHtcbiAgICAgIC8vIFJlbW92ZSBkZWxldGVkIGl0ZW0sIGZyb20gZGF0YVxuICAgICAgY29uc3QgdXBkYXRlZERhdGEgPSBkYXRhLmZpbHRlcihlbnRpdHkgPT4ge1xuICAgICAgICBjb25zdCByZW1vdmVkID0gZGF0YVRvUmVtb3ZlLmZpbmRJbmRleChlbnRpdHlUb1JlbW92ZSA9PiB0aGlzLmVxdWFscyhlbnRpdHlUb1JlbW92ZSwgZW50aXR5KSkgIT09IC0xO1xuICAgICAgICByZXR1cm4gIXJlbW92ZWQ7XG4gICAgICB9KTtcbiAgICAgIGNvbnN0IGRlbGV0ZUNvdW50ID0gZGF0YS5sZW5ndGggLSB1cGRhdGVkRGF0YS5sZW5ndGg7XG4gICAgICBpZiAoZGVsZXRlQ291bnQgPiAwKSB7XG4gICAgICAgIGRhdGEgPSB1cGRhdGVkRGF0YTtcbiAgICAgICAgdGhpcy5kYXRhU3ViamVjdC5uZXh0KGRhdGEpO1xuICAgICAgICB0aGlzLm1hcmtBc0RpcnR5KCk7XG4gICAgICB9XG4gICAgfVxuICAgIGZpbmFsbHkge1xuICAgICAgdGhpcy5tYXJrQXNTYXZlZCgpO1xuICAgIH1cbiAgfVxuXG4gIHNvcnQoZGF0YTogVFtdLCBzb3J0Qnk/OiBzdHJpbmcsIHNvcnREaXJlY3Rpb24/OiBTb3J0RGlyZWN0aW9uKTogVFtdIHtcbiAgICAvLyBNYWtlIHN1cmUgdG8gZmlsbCBzb3J0QnkgQkVGT1JFIGNoZWNraW5nIGluIHRoZSByZXBsYWNlbWVudCBtYXBcbiAgICBzb3J0QnkgPSBzb3J0QnkgfHwgJ2lkJztcbiAgICAvLyBSZXBsYWNlIHNvcnRCeSwgdXNpbmcgdGhlIHJlcGxhY2VtZW50IG1hcFxuICAgIHNvcnRCeSA9IHRoaXMuX3NvcnRCeVJlcGxhY2VtZW50W3NvcnRCeV0gfHwgc29ydEJ5O1xuXG4gICAgLy8gRXhlY3V0ZSB0aGUgc29ydFxuICAgIHJldHVybiBFbnRpdHlVdGlscy5zb3J0KGRhdGEsIHNvcnRCeSwgc29ydERpcmVjdGlvbik7XG4gIH1cblxuICBhc0ZpbHRlcihzb3VyY2U6IFBhcnRpYWw8Rj4pOiBGIHtcbiAgICByZXR1cm4gRW50aXR5RmlsdGVyVXRpbHMuZnJvbU9iamVjdChzb3VyY2UsIHRoaXMuZmlsdGVyVHlwZSk7XG4gIH1cblxuICBhZGRTb3J0QnlSZXBsYWNlbWVudChzb3VyY2U6IHN0cmluZywgdGFyZ2V0OiBzdHJpbmcpIHtcbiAgICB0aGlzLl9zb3J0QnlSZXBsYWNlbWVudFtzb3VyY2VdID0gdGFyZ2V0O1xuICB9XG5cbiAgZXF1YWxzKGQxOiBULCBkMjogVCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLl9lcXVhbHNGbikgcmV0dXJuIHRoaXMuX2VxdWFsc0ZuKGQxLCBkMik7XG4gICAgcmV0dXJuIGQxICYmIGQxLmVxdWFscyA/IGQxLmVxdWFscyhkMikgOiBFbnRpdHlVdGlscy5lcXVhbHMoZDEsIGQyLCAnaWQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb3VudCBkYXRhIHN0b3JlZCBieSB0aGUgc2VydmljZSAod2l0aG91dCBoaWRkZW4gZGF0YSkuXG4gICAqXG4gICAqIEBwYXJhbSBvcHRzXG4gICAqL1xuICAvLyBnZXQgdmlzaWJsZUNvdW50KCk6IG51bWJlciB7XG4gIC8vICAgcmV0dXJuICh0aGlzLmRhdGFTdWJqZWN0LnZhbHVlPy5sZW5ndGggfHwgMCk7XG4gIC8vIH1cblxuICAvKipcbiAgICogQ291bnQgZGF0YSBzdG9yZWQgYnkgdGhlIHNlcnZpY2UgKHdpdGhvdXQgaGlkZGVuIGRhdGEpLlxuICAgKlxuICAgKiBAcGFyYW0gb3B0c1xuICAgKiBAZGVwcmVjYXRlZCBUT0RPIFBsZWFzZSByZW5hbWUgdGhpcyBnZXR0ZXIgaW50byB2aXNpYmxlQ291bnQgKGFuZCBjcmVhdGUgY291bnQgPSBoaWRkZW5Db3VudCArIHZpc2libGVDb3VudClcbiAgICovXG4gIGdldCBjb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5kYXRhU3ViamVjdC52YWx1ZT8ubGVuZ3RoIHx8IDApO1xuICB9XG5cbiAgZ2V0IGhpZGRlbkNvdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2hpZGRlbkRhdGE/Lmxlbmd0aCB8fCAwO1xuICB9XG5cbiAgYXN5bmMgd2FpdElkbGUob3B0cz86IFdhaXRGb3JPcHRpb25zKSB7XG4gICAgYXdhaXQgdGhpcy53YWl0V2hpbGVTYXZpbmcob3B0cyk7XG4gIH1cblxuICBtYXJrQXNEaXJ0eSgpIHtcbiAgICBpZiAoIXRoaXMuZGlydHlTdWJqZWN0LnZhbHVlKSB7XG4gICAgICB0aGlzLmRpcnR5U3ViamVjdC5uZXh0KHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIG1hcmtBc1ByaXN0aW5lKCkge1xuICAgIGlmICh0aGlzLmRpcnR5U3ViamVjdC52YWx1ZSkge1xuICAgICAgdGhpcy5kaXJ0eVN1YmplY3QubmV4dChmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgLyogLS0gcHJvdGVjdGVkIG1ldGhvZHMgLS0gKi9cblxuICBwcm90ZWN0ZWQgZmlsdGVyKGRhdGE6IFRbXSwgX2ZpbHRlcjogRiwgaGlkZGVuRGF0YTogVFtdKTogVFtdIHtcblxuICAgIC8vIGlmIGZpbHRlciBpcyBEYXRhRmlsdGVyIGluc3RhbmNlLCB1c2UgaXRzIHRlc3QgZnVuY3Rpb25cbiAgICBjb25zdCBmaWx0ZXJGbiA9IHRoaXMuX2ZpbHRlckZuRmFjdG9yeSAmJiB0aGlzLl9maWx0ZXJGbkZhY3RvcnkoX2ZpbHRlcik7XG4gICAgaWYgKGZpbHRlckZuKSB7XG4gICAgICBjb25zdCBmaWx0ZXJlZERhdGEgPSBbXTtcblxuICAgICAgZGF0YS5mb3JFYWNoKHZhbHVlID0+IHtcbiAgICAgICAgaWYgKGZpbHRlckZuKHZhbHVlKSlcbiAgICAgICAgICBmaWx0ZXJlZERhdGEucHVzaCh2YWx1ZSk7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICBoaWRkZW5EYXRhLnB1c2godmFsdWUpO1xuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiBmaWx0ZXJlZERhdGE7XG4gICAgfVxuXG4gICAgLy8gZGVmYXVsdCwgbm8gZmlsdGVyXG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cblxuICBwcm90ZWN0ZWQgY29ubmVjdCgpOiBPYnNlcnZhYmxlPExvYWRSZXN1bHQ8VD4+IHtcbiAgICByZXR1cm4gdGhpcy5kYXRhU3ViamVjdC5waXBlKFxuICAgICAgbWFwKChkYXRhKSA9PiB7XG4gICAgICAgIGRhdGEgPSBkYXRhIHx8IFtdO1xuICAgICAgICBjb25zdCB0b3RhbCA9IGRhdGEubGVuZ3RoO1xuICAgICAgICByZXR1cm4ge2RhdGEsIHRvdGFsfTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyB3YWl0V2hpbGVTYXZpbmcob3B0cz86IFdhaXRGb3JPcHRpb25zKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMuc2F2aW5nKSAge1xuICAgICAgcmV0dXJuIGZpcnN0RmFsc2VQcm9taXNlKHRoaXMuc2F2aW5nU3ViamVjdCwge1xuICAgICAgICBzdG9wOiBvcHRzPy5zdG9wIHx8IG1lcmdlKHRoaXMuc3RvcFN1YmplY3QsIHRoaXMuZGF0YVN1YmplY3QpLCAvLyBTdG9wIGlmIGRlc3Ryb3llZCBvciBuZXcgZGF0YSBSZWNlaXZlZFxuICAgICAgICBzdG9wRXJyb3I6IGZhbHNlLCAvLyBBdm9pZCBlcnJvciB3aGVuIHN0b3BwZWRcbiAgICAgICAgLi4ub3B0c1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG1hcmtBc1NhdmluZygpIHtcbiAgICBpZiAoIXRoaXMuc2F2aW5nU3ViamVjdC52YWx1ZSkge1xuICAgICAgdGhpcy5zYXZpbmdTdWJqZWN0Lm5leHQodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG1hcmtBc1NhdmVkKCkge1xuICAgIGlmICh0aGlzLnNhdmluZ1N1YmplY3QudmFsdWUpIHtcbiAgICAgIHRoaXMuc2F2aW5nU3ViamVjdC5uZXh0KGZhbHNlKTtcbiAgICB9XG4gIH1cblxuXG59XG4iXX0=
346
+ }], ctorParameters: () => [{ type: undefined }, { type: undefined }, { type: undefined }] });
347
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtb3J5LWVudGl0eS1zZXJ2aWNlLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvc2VydmljZXMvbWVtb3J5LWVudGl0eS1zZXJ2aWNlLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQzFELE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQVU5RSxPQUFPLEVBQUUsU0FBUyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQVcsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDekYsT0FBTyxFQUFFLGlCQUFpQixFQUFrQixNQUFNLGdCQUFnQixDQUFDO0FBQ25FLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOztBQWNsRixXQUFXO0FBRVgsa0VBQWtFO0FBQ2xFLE1BQU0sT0FBTyx1QkFLWCxTQUFRLDBCQUFvQztJQW9DaEM7SUFDQTtJQWxDWixLQUFLLEdBQUcsS0FBSyxDQUFDO0lBRU4sV0FBVyxHQUFRLElBQUksQ0FBQztJQUV2QixZQUFZLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDbkQsYUFBYSxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBRTFDLGlCQUFpQixDQUE0QjtJQUUvQyxPQUFPLENBQXFFO0lBQzVFLE9BQU8sQ0FBb0M7SUFDM0MsU0FBUyxDQUFvQztJQUM3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R0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDWCxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNsQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQzFCLE9BQU8sRUFBQyxJQUFJLEVBQUUsS0FBSyxFQUFDLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFUyxLQUFLLENBQUMsZUFBZSxDQUFDLElBQXFCO1FBQ25ELElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRztZQUNoQixPQUFPLGlCQUFpQixDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7Z0JBQzNDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUM7Z0JBQzdELFNBQVMsRUFBRSxLQUFLO2dCQUNoQixHQUFHLElBQUk7YUFDUixDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFUyxZQUFZO1FBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRTtZQUM3QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUMvQjtJQUNILENBQUM7SUFFUyxXQUFXO1FBQ25CLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUU7WUFDNUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDaEM7SUFDSCxDQUFDO3VHQW5hVSx1QkFBdUI7MkZBQXZCLHVCQUF1Qjs7MkZBQXZCLHVCQUF1QjtrQkFGbkMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgbWVyZ2UsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgbWFwLCBtZXJnZU1hcCwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBpc0VtcHR5QXJyYXksIGlzTmlsLCBpc05vdEVtcHR5QXJyYXksIGlzTm90TmlsIH0gZnJvbSAnLi4vZnVuY3Rpb25zJztcbmltcG9ydCB7XG4gIEVudGl0aWVzU2VydmljZUxvYWRPcHRpb25zLFxuICBFbnRpdGllc1NlcnZpY2VXYXRjaE9wdGlvbnMsXG4gIEZpbHRlckZuLFxuICBGaWx0ZXJGbkZhY3RvcnksXG4gIElFbnRpdGllc1NlcnZpY2UsXG4gIExvYWRSZXN1bHQsXG59IGZyb20gJy4vZW50aXR5LXNlcnZpY2UuY2xhc3MnO1xuaW1wb3J0IHsgU29ydERpcmVjdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NvcnQnO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVudGl0eVV0aWxzLCBJRW50aXR5IH0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcy9tb2RlbC9lbnRpdHkubW9kZWwnO1xuaW1wb3J0IHsgRW50aXR5RmlsdGVyLCBFbnRpdHlGaWx0ZXJVdGlscyB9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMvbW9kZWwvZmlsdGVyLm1vZGVsJztcbmltcG9ydCB7IGZpcnN0RmFsc2VQcm9taXNlLCBXYWl0Rm9yT3B0aW9ucyB9IGZyb20gJy4uL29ic2VydmFibGVzJztcbmltcG9ydCB7IFN0YXJ0YWJsZU9ic2VydmFibGVTZXJ2aWNlIH0gZnJvbSAnLi9zdGFydGFibGUtb2JzZXJ2YWJsZS1zZXJ2aWNlLmNsYXNzJztcblxuZXhwb3J0IGludGVyZmFjZSBJbk1lbW9yeUVudGl0aWVzU2VydmljZU9wdGlvbnM8VCwgRj4ge1xuICBvblNvcnQ/OiAoZGF0YTogVFtdLCBzb3J0Qnk/OiBzdHJpbmcsIHNvcnREaXJlY3Rpb24/OiBTb3J0RGlyZWN0aW9uKSA9PiBUW107XG4gIG9uTG9hZD86IChkYXRhOiBUW10pID0+IFRbXSB8IFByb21pc2U8VFtdPjtcbiAgb25TYXZlPzogKGRhdGE6IFRbXSkgPT4gVFtdIHwgUHJvbWlzZTxUW10+O1xuICBlcXVhbHM/OiAoZDE6IFQsIGQyOiBUKSA9PiBib29sZWFuO1xuXG4gIGZpbHRlckZuRmFjdG9yeT86IEZpbHRlckZuRmFjdG9yeTxULCBGPjtcbiAgZmlsdGVyRm4/OiBGaWx0ZXJGbjxUPjtcblxuICBzb3J0QnlSZXBsYWNlbWVudD86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG59XG5cbi8vIEBkeW5hbWljXG5ARGlyZWN0aXZlKClcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLWNsYXNzLXN1ZmZpeFxuZXhwb3J0IGNsYXNzIEluTWVtb3J5RW50aXRpZXNTZXJ2aWNlPFxuICBUIGV4dGVuZHMgSUVudGl0eTxULCBJRD4sXG4gIEYgPSBhbnksXG4gIElEID0gbnVtYmVyLFxuICBPIGV4dGVuZHMgRW50aXRpZXNTZXJ2aWNlV2F0Y2hPcHRpb25zID0gRW50aXRpZXNTZXJ2aWNlV2F0Y2hPcHRpb25zPlxuICBleHRlbmRzIFN0YXJ0YWJsZU9ic2VydmFibGVTZXJ2aWNlPFRbXSwgVFtdPlxuICBpbXBsZW1lbnRzIElFbnRpdGllc1NlcnZpY2U8VCwgRiwgTz4sIE9uRGVzdHJveSB7XG5cbiAgZGVidWcgPSBmYWxzZTtcblxuICBwcml2YXRlIF9oaWRkZW5EYXRhOiBUW10gPSBudWxsO1xuXG4gIHJlYWRvbmx5IGRpcnR5U3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSBzYXZpbmdTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHNvcnRCeVJlcGxhY2VtZW50OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3NvcnRGbjogKGRhdGE6IFRbXSwgc29ydEJ5Pzogc3RyaW5nLCBzb3J0RGlyZWN0aW9uPzogU29ydERpcmVjdGlvbikgPT4gVFtdO1xuICBwcml2YXRlIHJlYWRvbmx5IF9vbkxvYWQ6IChkYXRhOiBUW10pID0+IFRbXSB8IFByb21pc2U8VFtdPjtcbiAgcHJpdmF0ZSByZWFkb25seSBfb25TYXZlRm46IChkYXRhOiBUW10pID0+IFRbXSB8IFByb21pc2U8VFtdPjtcbiAgcHJpdmF0ZSByZWFkb25seSBfZXF1YWxzRm46IChkMTogVCwgZDI6IFQpID0+IGJvb2xlYW47XG4gIHByaXZhdGUgcmVhZG9ubHkgX2ZpbHRlckZuRmFjdG9yeTogRmlsdGVyRm5GYWN0b3J5PFQsIEY+O1xuXG5cbiAgc2V0IHZhbHVlKGRhdGE6IFRbXSkge1xuICAgIHRoaXMuc2V0VmFsdWUoZGF0YSk7XG4gIH1cblxuICBnZXQgdmFsdWUoKTogVFtdIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhU3ViamVjdC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgZ2V0IHNhdmluZygpOiBib29sZWFue1xuICAgIHJldHVybiB0aGlzLnNhdmluZ1N1YmplY3QudmFsdWU7XG4gIH1cblxuICBnZXQgZGlydHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZGlydHlTdWJqZWN0LnZhbHVlO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGRhdGFUeXBlOiBuZXcoKSA9PiBULFxuICAgIHByb3RlY3RlZCBmaWx0ZXJUeXBlOiBuZXcoKSA9PiBGLFxuICAgIG9wdGlvbnM/OiBJbk1lbW9yeUVudGl0aWVzU2VydmljZU9wdGlvbnM8VCwgRj5cbiAgKSB7XG4gICAgc3VwZXIobnVsbCk7XG4gICAgb3B0aW9ucyA9IHtcbiAgICAgIG9uU29ydDogdGhpcy5zb3J0LFxuICAgICAgLi4ub3B0aW9uc1xuICAgIH07XG5cbiAgICB0aGlzLl9zb3J0Rm4gPSBvcHRpb25zLm9uU29ydDtcbiAgICB0aGlzLl9vbkxvYWQgPSBvcHRpb25zLm9uTG9hZDtcbiAgICB0aGlzLl9vblNhdmVGbiA9IG9wdGlvbnMub25TYXZlO1xuICAgIHRoaXMuX2VxdWFsc0ZuID0gb3B0aW9ucy5lcXVhbHM7XG4gICAgdGhpcy5fZmlsdGVyRm5GYWN0b3J5ID0gb3B0aW9ucy5maWx0ZXJGbkZhY3RvcnkgfHwgKChmKSA9PiB7XG4gICAgICBjb25zdCBmaWx0ZXIgPSB0aGlzLmFzRmlsdGVyKGYpIGFzIEY7XG4gICAgICBpZiAoZmlsdGVyIGluc3RhbmNlb2YgRW50aXR5RmlsdGVyKSB7XG4gICAgICAgIHJldHVybiBmaWx0ZXIuYXNGaWx0ZXJGbigpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9KTtcbiAgICB0aGlzLl9zdGFydEJ5UmVhZHlGdW5jdGlvbiA9IGZhbHNlOyAvLyBOZWVkIHNldFZhbHVlKCkgdG8gYmUgY2FsbGVkLCB0byBzdGFydCB0aGUgc2VydmljZVxuXG4gICAgdGhpcy5zb3J0QnlSZXBsYWNlbWVudCA9IHtcbiAgICAgIC4uLm9wdGlvbnMuc29ydEJ5UmVwbGFjZW1lbnRcbiAgICB9O1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIG5nT25TdGFydChkYXRhPzogVFtdKTogUHJvbWlzZTxUW10+IHtcbiAgICBpZiAoIWRhdGEpIHRocm93IG5ldyBFcnJvcignTWlzc2luZyByZXF1aXJlZCBkYXRhLCB0byBzdGFydCB0aGlzIHNlcnZpY2UnKTtcbiAgICBpZiAodGhpcy5kZWJ1ZykgY29uc29sZS5kZWJ1ZygnW21lbW9yeS1kYXRhLXNlcnZpY2VdIFN0YXJ0aW5nLi4uJyk7XG4gICAgdGhpcy5faGlkZGVuRGF0YSA9IFtdO1xuICAgIHRoaXMubWFya0FzU2F2ZWQoKTtcbiAgICB0aGlzLm1hcmtBc1ByaXN0aW5lKCk7XG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgbmdPblN0b3AoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMuZGVidWcpIGNvbnNvbGUuZGVidWcoJ1ttZW1vcnktZGF0YS1zZXJ2aWNlXSBTdG9wcGluZy4uLicpO1xuICAgIHRoaXMuX2hpZGRlbkRhdGEgPSBudWxsO1xuICAgIHRoaXMubWFya0FzU2F2ZWQoKTtcbiAgICB0aGlzLm1hcmtBc1ByaXN0aW5lKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnN0b3AoKTtcbiAgfVxuXG4gIHNldFZhbHVlKGRhdGE6IFRbXSkge1xuICAgIC8vIElmIHNlcnZpY2UgYWxyZWFkeSBzdGFydGVkXG4gICAgaWYgKHRoaXMuc3RhcnRlZCkge1xuICAgICAgLy8gVXBkYXRlIHRoZSBkYXRhLCBpZiBjaGFuZ2VkXG4gICAgICBpZiAodGhpcy5kYXRhU3ViamVjdC52YWx1ZSAhPT0gZGF0YSkge1xuICAgICAgICB0aGlzLl9oaWRkZW5EYXRhID0gW107XG4gICAgICAgIHRoaXMuZGF0YVN1YmplY3QubmV4dChkYXRhKTtcbiAgICAgIH1cblxuICAgICAgLy8gUmVzZXQgZGlydHkgYW5kIHNhdmluZyBzdGF0ZVxuICAgICAgLy8gKEZpeCBPYnNCaW8gaXNzdWUgb24gc2FtcGxlcyB0YWJsZSA6IHN0aWxsIGRpcnR5IGFmdGVyIHNldHRpbmcgdGhlIHNhbWUgdmFsdWUgYWdhaW4pXG4gICAgICB0aGlzLm1hcmtBc1NhdmVkKCk7XG4gICAgICB0aGlzLm1hcmtBc1ByaXN0aW5lKCk7XG4gICAgfVxuICAgIC8vIElmIHNlcnZpY2Ugbm90IHN0YXJ0ZWQgeWV0LCB0aGVuIHN0YXJ0IGl0LCB1c2luZyBnaXZlbiBkYXRhXG4gICAgZWxzZSB7XG4gICAgICB0aGlzLnN0YXJ0KGRhdGEpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGxvYWRBbGwoXG4gICAgb2Zmc2V0OiBudW1iZXIsXG4gICAgc2l6ZTogbnVtYmVyLFxuICAgIHNvcnRCeT86IHN0cmluZyxcbiAgICBzb3J0RGlyZWN0aW9uPzogU29ydERpcmVjdGlvbixcbiAgICBmaWx0ZXI/OiBGLFxuICAgIG9wdHM/OiBFbnRpdGllc1NlcnZpY2VMb2FkT3B0aW9ucyAmIHt1cGRhdGVIaWRkZW5EYXRhPzogYm9vbGVhbn1cbiAgKTogUHJvbWlzZTxMb2FkUmVzdWx0PFQ+PiB7XG5cbiAgICBvZmZzZXQgPSBvZmZzZXQgPj0gMCA/IG9mZnNldCA6IDA7XG4gICAgc2l6ZSA9IHNpemUgPj0gMCA/IHNpemUgOiAtMTtcblxuICAgIGNvbnN0IG9yaWdpbmFsRGF0YSA9IHRoaXMuZGF0YVN1YmplY3QudmFsdWU7XG4gICAgaWYgKGlzTmlsKG9yaWdpbmFsRGF0YSkpIHtcbiAgICAgIGNvbnNvbGUud2FybignW21lbW9yeS1kYXRhLXNlcnZpY2VdIENhbm5vdCBsb2FkIGFsbDogbm8gdmFsdWUgc2V0LiBXaWxsIHJldHVybiBlbXB0eSByZXN1bHQnKTtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgLy8gV2FpdCBzZXJ2aWNlIGlzIHJlYWR5XG4gICAgICBhd2FpdCB0aGlzLnJlYWR5KCk7XG5cbiAgICAgIC8vIFdhaXQgd2hpbGUgYnVzeSAoZS5nLiB3aGVuIHNhdmluZywgb3IgZGVsZXRpbmcpXG4gICAgICBhd2FpdCB0aGlzLndhaXRJZGxlKHtzdG9wRXJyb3I6IGZhbHNlIC8qYXZvaWQgZXJyb3Igd2hlbiBzdG9wcGVkKi99KTtcbiAgICB9XG4gICAgY2F0Y2ggKGVycikge1xuICAgICAgLy8gU2hvdWxkIGJlIGEgc3RvcCBlcnJvcjogbG9nIGFuZCBjb250aW51ZVxuICAgICAgaWYgKCF0aGlzLnN0b3BwZWQpIGNvbnNvbGUuZXJyb3IoJ1VuZXhwZWN0ZWQgZXJyb3IsIHdoaWxlIHdhaXRpbmcgOicsIGVycik7XG4gICAgfVxuXG4gICAgLy8gTWFrZSBzdXJlIHNlcnZpY2UgaXMgbm90IHN0b3BwZWRcbiAgICBpZiAodGhpcy5zdG9wcGVkKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gICAgY29uc3QgZXhjbHVkZWREYXRhQnlGaWx0ZXI6IFRbXSA9IFtdO1xuICAgIGxldCBleGNsdWRlZERhdGFCeVBhZ2luYXRpb246IFRbXTtcblxuICAgIHRyeSB7XG4gICAgICBpZiAoaXNFbXB0eUFycmF5KG9yaWdpbmFsRGF0YSkpIHtcbiAgICAgICAgcmV0dXJuIHtkYXRhOiBbXSwgdG90YWw6IDB9O1xuICAgICAgfVxuXG4gICAgICAvLyBBcHBseSBzb3J0XG4gICAgICBsZXQgZGF0YSA9IHRoaXMuX3NvcnRGbihvcmlnaW5hbERhdGEsIHNvcnRCeSwgc29ydERpcmVjdGlvbikgO1xuXG4gICAgICBpZiAodGhpcy5fb25Mb2FkKSB7XG4gICAgICAgIGRhdGEgPSBhd2FpdCB0aGlzLl9vbkxvYWQoZGF0YSk7XG4gICAgICB9XG5cbiAgICAgIC8vIEFwcGx5IGZpbHRlciAod2lsbCB1cGRhdGUgaGlkZGVuRGF0YSlcbiAgICAgIGRhdGEgPSB0aGlzLmZpbHRlcihkYXRhLCBmaWx0ZXIsIGV4Y2x1ZGVkRGF0YUJ5RmlsdGVyKTtcblxuICAgICAgLy8gQ29tcHV0ZSB0aGUgdG90YWwgbGVuZ3RoXG4gICAgICBjb25zdCB0b3RhbCA9IGRhdGEubGVuZ3RoO1xuXG4gICAgICAvLyBJZiBwYWdlIHNpemU9MCAoZS5nLiBvbmx5IG5lZWQgdG90YWwpXG4gICAgICBpZiAoc2l6ZSA9PT0gMCkge1xuICAgICAgICBleGNsdWRlZERhdGFCeVBhZ2luYXRpb24gPSBkYXRhO1xuICAgICAgICByZXR1cm4ge2RhdGE6IFtdLCB0b3RhbH07XG4gICAgICB9XG5cbiAgICAgIC8vIFNsaWNlIGluIGEgcGFnZSAodXNpbmcgb2Zmc2V0IGFuZCBzaXplKVxuICAgICAgaWYgKG9mZnNldCA+IDApIHtcblxuICAgICAgICAvLyBPZmZzZXQgYWZ0ZXIgdGhlIGVuZDogbm8gcmVzdWx0XG4gICAgICAgIGlmIChvZmZzZXQgPj0gZGF0YS5sZW5ndGgpIHtcbiAgICAgICAgICBleGNsdWRlZERhdGFCeVBhZ2luYXRpb24gPSBkYXRhO1xuICAgICAgICAgIGRhdGEgPSBbXTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICBleGNsdWRlZERhdGFCeVBhZ2luYXRpb24gPSAoc2l6ZSA+IDAgJiYgKChvZmZzZXQgKyBzaXplKSA8IGRhdGEubGVuZ3RoKSlcbiAgICAgICAgICAgIC8vIFNsaWNlIHVzaW5nIGxpbWl0IHRvIHNpemVcbiAgICAgICAgICAgID8gZGF0YS5zbGljZSgwLCBvZmZzZXQpLmNvbmNhdChkYXRhLnNsaWNlKG9mZnNldCArIHNpemUpKVxuICAgICAgICAgICAgLy8gU2xpY2Ugd2l0aG91dCBsaW1pdFxuICAgICAgICAgICAgOiBkYXRhLnNsaWNlKDAsIG9mZnNldCk7XG5cbiAgICAgICAgICBkYXRhID0gKHNpemUgPiAwICYmICgob2Zmc2V0ICsgc2l6ZSkgPCBkYXRhLmxlbmd0aCkpXG4gICAgICAgICAgICAvLyBTbGljZSB1c2luZyBsaW1pdCB0byBzaXplXG4gICAgICAgICAgICA/IGRhdGEuc2xpY2Uob2Zmc2V0LCBvZmZzZXQgKyBzaXplKVxuICAgICAgICAgICAgLy8gU2xpY2Ugd2l0aG91dCBsaW1pdFxuICAgICAgICAgICAgOiBkYXRhLnNsaWNlKG9mZnNldCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gQXBwbHkgYSBsaW1pdFxuICAgICAgZWxzZSBpZiAoc2l6ZSA+IDApe1xuICAgICAgICBleGNsdWRlZERhdGFCeVBhZ2luYXRpb24gPSBkYXRhLnNsaWNlKHNpemUpO1xuICAgICAgICBkYXRhID0gZGF0YS5zbGljZSgwLCBzaXplKTtcbiAgICAgIH1cblxuICAgICAgLy8gTm8gbGltaXQ6XG4gICAgICBlbHNlIGlmIChzaXplID09PSAtMSl7XG4gICAgICAgIC8vIEtlZXAgYWxsIGRhdGFcbiAgICAgIH1cblxuICAgICAgLy8gLyFcXCBJZiBhbHJlYWR5IG9ic2VydmVkLCB0aGVuIGFsd2F5cyBjcmVhdGUgYSBjb3B5IG9mIHRoZSBvcmlnaW5hbCBhcnJheVxuICAgICAgLy8gQmVjYXVzZSBkYXRhc291cmNlIHdpbGwgb25seSB1cGRhdGUgaWYgdGhlIGFycmF5IGNoYW5nZWRcbiAgICAgIGlmIChkYXRhID09PSBvcmlnaW5hbERhdGEpIHtcbiAgICAgICAgZGF0YSA9IGRhdGEuc2xpY2UoKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgcmVzOiBMb2FkUmVzdWx0PFQ+ID0ge2RhdGEsIHRvdGFsfTtcblxuICAgICAgY29uc3QgbmV4dE9mZnNldCA9IHNpemUgPiAwID8gKG9mZnNldCB8fCAwKSArIHNpemUgOiB0b3RhbDtcbiAgICAgIGlmIChuZXh0T2Zmc2V0IDwgdG90YWwpIHtcbiAgICAgICAgcmVzLmZldGNoTW9yZSA9ICgpID0+IHRoaXMubG9hZEFsbChuZXh0T2Zmc2V0LCBzaXplLCBzb3J0QnksIHNvcnREaXJlY3Rpb24sIGZpbHRlciwgey4uLm9wdHMsIHVwZGF0ZUhpZGRlbkRhdGE6IGZhbHNlfSlcbiAgICAgICAgICAudGhlbihyZXMgPT4ge1xuICAgICAgICAgICAgLy8gVXBkYXRlIGhpZGRlbiBkYXRhIChyZW1vdmUgbmV3IGZldGNoZWQgaXRlbSlcbiAgICAgICAgICAgIGlmIChyZXMuZGF0YT8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIHRoaXMuX2hpZGRlbkRhdGEgPSB0aGlzLl9oaWRkZW5EYXRhPy5maWx0ZXIoaXRlbSA9PiAhcmVzLmRhdGEuaW5jbHVkZXMoaXRlbSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHJlcztcbiAgICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHJlcztcbiAgICB9XG4gICAgZmluYWxseSB7XG4gICAgICAvLyBSZW1lbWJlciBoaWRkZW4gZGF0YVxuICAgICAgaWYgKG9wdHM/LnVwZGF0ZUhpZGRlbkRhdGEgIT09IGZhbHNlKSB7XG4gICAgICAgIHRoaXMuX2hpZGRlbkRhdGEgPSAhZXhjbHVkZWREYXRhQnlQYWdpbmF0aW9uID8gZXhjbHVkZWREYXRhQnlGaWx0ZXIgOiBleGNsdWRlZERhdGFCeUZpbHRlci5jb25jYXQoLi4uZXhjbHVkZWREYXRhQnlQYWdpbmF0aW9uKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB3YXRjaEFsbChcbiAgICBvZmZzZXQ6IG51bWJlcixcbiAgICBzaXplOiBudW1iZXIsXG4gICAgc29ydEJ5Pzogc3RyaW5nLFxuICAgIHNvcnREaXJlY3Rpb24/OiBTb3J0RGlyZWN0aW9uLFxuICAgIGZpbHRlckRhdGE/OiBGLFxuICAgIG9wdGlvbnM/OiBhbnlcbiAgKTogT2JzZXJ2YWJsZTxMb2FkUmVzdWx0PFQ+PiB7XG5cbiAgICBvZmZzZXQgPSBvZmZzZXQgPj0gMCA/IG9mZnNldCA6IDA7XG4gICAgc2l6ZSA9IHNpemUgPj0gMCA/IHNpemUgOiAtMTtcblxuICAgIHJldHVybiB0aGlzLmRhdGFTdWJqZWN0XG4gICAgICAucGlwZShcbiAgICAgICAgLy8gV2FybiBpZiB3YWl0aW5nIHZhbHVlIHRvIGJlIHNldFxuICAgICAgICB0YXAoKGRhdGEpID0+IHRoaXMuZGVidWcgJiYgIWRhdGEgJiYgY29uc29sZS5kZWJ1ZygnW21lbW9yeS1kYXRhLXNlcnZpY2VdIFdhaXRpbmcgdmFsdWUgdG8gYmUgc2V0Li4uJykpLFxuICAgICAgICBmaWx0ZXIoaXNOb3ROaWwpLFxuICAgICAgICBtZXJnZU1hcChfID0+IHRoaXMubG9hZEFsbChvZmZzZXQsIHNpemUsIHNvcnRCeSwgc29ydERpcmVjdGlvbiwgZmlsdGVyRGF0YSwgb3B0aW9ucykpLFxuICAgICAgICBmaWx0ZXIoaXNOb3ROaWwpLCAvLyBTa2lwIG5vIHJlc3VsdCAoZS5nLiB3aGVuIHN0b3BwZWQpXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLnN0b3BTdWJqZWN0KVxuICAgICAgKTtcbiAgfVxuXG4gIGFzeW5jIHNhdmVBbGwoZGF0YTogVFtdLCBvcHRpb25zPzogYW55KTogUHJvbWlzZTxUW10+IHtcbiAgICBpZiAoIXRoaXMuZGF0YVN1YmplY3QudmFsdWUpIHRocm93IG5ldyBFcnJvcignW21lbW9yeS1zZXJ2aWNlXSBDb3VsZCBub3Qgc2F2ZSwgYmVjYXVzZSB2YWx1ZSBub3Qgc2V0Jyk7XG5cbiAgICB0aGlzLm1hcmtBc1NhdmluZygpO1xuXG4gICAgdHJ5IHtcblxuICAgICAgLy8gUmVzdG9yZSBoaWRkZW4gZGF0YVxuICAgICAgaWYgKGlzTm90RW1wdHlBcnJheSh0aGlzLl9oaWRkZW5EYXRhKSlcbiAgICAgICAgZGF0YSA9IGRhdGEuY29uY2F0KC4uLnRoaXMuX2hpZGRlbkRhdGEpO1xuXG4gICAgICBpZiAodGhpcy5fb25TYXZlRm4pIHtcbiAgICAgICAgY29uc3QgcmVzID0gdGhpcy5fb25TYXZlRm4oZGF0YSk7XG4gICAgICAgIGRhdGEgPSAoKHJlcyBpbnN0YW5jZW9mIFByb21pc2UpKSA/IGF3YWl0IHJlcyA6IHJlcztcbiAgICAgIH1cblxuICAgICAgdGhpcy5kYXRhU3ViamVjdC5uZXh0KGRhdGEpO1xuICAgICAgdGhpcy5tYXJrQXNEaXJ0eSgpO1xuICAgICAgcmV0dXJuIGRhdGE7XG4gICAgfVxuICAgIGZpbmFsbHkge1xuICAgICAgdGhpcy5tYXJrQXNTYXZlZCgpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGRlbGV0ZUFsbChkYXRhVG9SZW1vdmU6IFRbXSwgb3B0aW9ucz86IGFueSk6IFByb21pc2U8YW55PiB7XG4gICAgbGV0IGRhdGEgPSB0aGlzLmRhdGFTdWJqZWN0LnZhbHVlO1xuICAgIGlmICghZGF0YSkgdGhyb3cgbmV3IEVycm9yKCdbbWVtb3J5LXNlcnZpY2VdIENvdWxkIG5vdCBkZWxldGUsIGJlY2F1c2UgdmFsdWUgbm90IHNldCcpO1xuXG4gICAgdGhpcy5tYXJrQXNTYXZpbmcoKTtcblxuICAgIHRyeSB7XG4gICAgICAvLyBSZW1vdmUgZGVsZXRlZCBpdGVtLCBmcm9tIGRhdGFcbiAgICAgIGNvbnN0IHVwZGF0ZWREYXRhID0gZGF0YS5maWx0ZXIoZW50aXR5ID0+IHtcbiAgICAgICAgY29uc3QgcmVtb3ZlZCA9IGRhdGFUb1JlbW92ZS5maW5kSW5kZXgoZW50aXR5VG9SZW1vdmUgPT4gdGhpcy5lcXVhbHMoZW50aXR5VG9SZW1vdmUsIGVudGl0eSkpICE9PSAtMTtcbiAgICAgICAgcmV0dXJuICFyZW1vdmVkO1xuICAgICAgfSk7XG4gICAgICBjb25zdCBkZWxldGVDb3VudCA9IGRhdGEubGVuZ3RoIC0gdXBkYXRlZERhdGEubGVuZ3RoO1xuICAgICAgaWYgKGRlbGV0ZUNvdW50ID4gMCkge1xuICAgICAgICBkYXRhID0gdXBkYXRlZERhdGE7XG4gICAgICAgIHRoaXMuZGF0YVN1YmplY3QubmV4dChkYXRhKTtcbiAgICAgICAgdGhpcy5tYXJrQXNEaXJ0eSgpO1xuICAgICAgfVxuICAgIH1cbiAgICBmaW5hbGx5IHtcbiAgICAgIHRoaXMubWFya0FzU2F2ZWQoKTtcbiAgICB9XG4gIH1cblxuICBzb3J0KGRhdGE6IFRbXSwgc29ydEJ5Pzogc3RyaW5nLCBzb3J0RGlyZWN0aW9uPzogU29ydERpcmVjdGlvbik6IFRbXSB7XG4gICAgLy8gTWFrZSBzdXJlIHRvIGZpbGwgc29ydEJ5IEJFRk9SRSBjaGVja2luZyBpbiB0aGUgcmVwbGFjZW1lbnQgbWFwXG4gICAgc29ydEJ5ID0gc29ydEJ5IHx8ICdpZCc7XG4gICAgLy8gUmVwbGFjZSBzb3J0QnksIHVzaW5nIHRoZSByZXBsYWNlbWVudCBtYXBcbiAgICBzb3J0QnkgPSB0aGlzLnNvcnRCeVJlcGxhY2VtZW50W3NvcnRCeV0gfHwgc29ydEJ5O1xuXG4gICAgLy8gRXhlY3V0ZSB0aGUgc29ydFxuICAgIHJldHVybiBFbnRpdHlVdGlscy5zb3J0KGRhdGEsIHNvcnRCeSwgc29ydERpcmVjdGlvbik7XG4gIH1cblxuICBhc0ZpbHRlcihzb3VyY2U6IFBhcnRpYWw8Rj4pOiBGIHtcbiAgICByZXR1cm4gRW50aXR5RmlsdGVyVXRpbHMuZnJvbU9iamVjdChzb3VyY2UsIHRoaXMuZmlsdGVyVHlwZSk7XG4gIH1cblxuICBhZGRTb3J0QnlSZXBsYWNlbWVudChzb3VyY2U6IHN0cmluZywgdGFyZ2V0OiBzdHJpbmcpIHtcbiAgICB0aGlzLnNvcnRCeVJlcGxhY2VtZW50W3NvdXJjZV0gPSB0YXJnZXQ7XG4gIH1cblxuICBlcXVhbHMoZDE6IFQsIGQyOiBUKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuX2VxdWFsc0ZuKSByZXR1cm4gdGhpcy5fZXF1YWxzRm4oZDEsIGQyKTtcbiAgICByZXR1cm4gZDEgJiYgZDEuZXF1YWxzID8gZDEuZXF1YWxzKGQyKSA6IEVudGl0eVV0aWxzLmVxdWFscyhkMSwgZDIsICdpZCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvdW50IGRhdGEgc3RvcmVkIGJ5IHRoZSBzZXJ2aWNlICh3aXRob3V0IGhpZGRlbiBkYXRhKS5cbiAgICpcbiAgICogQHBhcmFtIG9wdHNcbiAgICovXG4gIC8vIGdldCB2aXNpYmxlQ291bnQoKTogbnVtYmVyIHtcbiAgLy8gICByZXR1cm4gKHRoaXMuZGF0YVN1YmplY3QudmFsdWU/Lmxlbmd0aCB8fCAwKTtcbiAgLy8gfVxuXG4gIC8qKlxuICAgKiBDb3VudCBkYXRhIHN0b3JlZCBieSB0aGUgc2VydmljZSAod2l0aG91dCBoaWRkZW4gZGF0YSkuXG4gICAqXG4gICAqIEBwYXJhbSBvcHRzXG4gICAqIEBkZXByZWNhdGVkIFRPRE8gUGxlYXNlIHJlbmFtZSB0aGlzIGdldHRlciBpbnRvIHZpc2libGVDb3VudCAoYW5kIGNyZWF0ZSBjb3VudCA9IGhpZGRlbkNvdW50ICsgdmlzaWJsZUNvdW50KVxuICAgKi9cbiAgZ2V0IGNvdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLmRhdGFTdWJqZWN0LnZhbHVlPy5sZW5ndGggfHwgMCk7XG4gIH1cblxuICBnZXQgaGlkZGVuQ291bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5faGlkZGVuRGF0YT8ubGVuZ3RoIHx8IDA7XG4gIH1cblxuICBhc3luYyB3YWl0SWRsZShvcHRzPzogV2FpdEZvck9wdGlvbnMpIHtcbiAgICBhd2FpdCB0aGlzLndhaXRXaGlsZVNhdmluZyhvcHRzKTtcbiAgfVxuXG4gIG1hcmtBc0RpcnR5KCkge1xuICAgIGlmICghdGhpcy5kaXJ0eVN1YmplY3QudmFsdWUpIHtcbiAgICAgIHRoaXMuZGlydHlTdWJqZWN0Lm5leHQodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgbWFya0FzUHJpc3RpbmUoKSB7XG4gICAgaWYgKHRoaXMuZGlydHlTdWJqZWN0LnZhbHVlKSB7XG4gICAgICB0aGlzLmRpcnR5U3ViamVjdC5uZXh0KGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICAvKiAtLSBwcm90ZWN0ZWQgbWV0aG9kcyAtLSAqL1xuXG4gIHByb3RlY3RlZCBmaWx0ZXIoZGF0YTogVFtdLCBfZmlsdGVyOiBGLCBoaWRkZW5EYXRhOiBUW10pOiBUW10ge1xuXG4gICAgLy8gaWYgZmlsdGVyIGlzIERhdGFGaWx0ZXIgaW5zdGFuY2UsIHVzZSBpdHMgdGVzdCBmdW5jdGlvblxuICAgIGNvbnN0IGZpbHRlckZuID0gdGhpcy5fZmlsdGVyRm5GYWN0b3J5ICYmIHRoaXMuX2ZpbHRlckZuRmFjdG9yeShfZmlsdGVyKTtcbiAgICBpZiAoZmlsdGVyRm4pIHtcbiAgICAgIGNvbnN0IGZpbHRlcmVkRGF0YSA9IFtdO1xuXG4gICAgICBkYXRhLmZvckVhY2godmFsdWUgPT4ge1xuICAgICAgICBpZiAoZmlsdGVyRm4odmFsdWUpKVxuICAgICAgICAgIGZpbHRlcmVkRGF0YS5wdXNoKHZhbHVlKTtcbiAgICAgICAgZWxzZVxuICAgICAgICAgIGhpZGRlbkRhdGEucHVzaCh2YWx1ZSk7XG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIGZpbHRlcmVkRGF0YTtcbiAgICB9XG5cbiAgICAvLyBkZWZhdWx0LCBubyBmaWx0ZXJcbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjb25uZWN0KCk6IE9ic2VydmFibGU8TG9hZFJlc3VsdDxUPj4ge1xuICAgIHJldHVybiB0aGlzLmRhdGFTdWJqZWN0LnBpcGUoXG4gICAgICBtYXAoKGRhdGEpID0+IHtcbiAgICAgICAgZGF0YSA9IGRhdGEgfHwgW107XG4gICAgICAgIGNvbnN0IHRvdGFsID0gZGF0YS5sZW5ndGg7XG4gICAgICAgIHJldHVybiB7ZGF0YSwgdG90YWx9O1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIHdhaXRXaGlsZVNhdmluZyhvcHRzPzogV2FpdEZvck9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5zYXZpbmcpICB7XG4gICAgICByZXR1cm4gZmlyc3RGYWxzZVByb21pc2UodGhpcy5zYXZpbmdTdWJqZWN0LCB7XG4gICAgICAgIHN0b3A6IG9wdHM/LnN0b3AgfHwgbWVyZ2UodGhpcy5zdG9wU3ViamVjdCwgdGhpcy5kYXRhU3ViamVjdCksIC8vIFN0b3AgaWYgZGVzdHJveWVkIG9yIG5ldyBkYXRhIFJlY2VpdmVkXG4gICAgICAgIHN0b3BFcnJvcjogZmFsc2UsIC8vIEF2b2lkIGVycm9yIHdoZW4gc3RvcHBlZFxuICAgICAgICAuLi5vcHRzXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgbWFya0FzU2F2aW5nKCkge1xuICAgIGlmICghdGhpcy5zYXZpbmdTdWJqZWN0LnZhbHVlKSB7XG4gICAgICB0aGlzLnNhdmluZ1N1YmplY3QubmV4dCh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgbWFya0FzU2F2ZWQoKSB7XG4gICAgaWYgKHRoaXMuc2F2aW5nU3ViamVjdC52YWx1ZSkge1xuICAgICAgdGhpcy5zYXZpbmdTdWJqZWN0Lm5leHQoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG5cbn1cbiJdfQ==
@@ -21,11 +21,11 @@ export class ProgressBarService {
21
21
  this.onProgressChanged.emit(null);
22
22
  }
23
23
  }
24
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ProgressBarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
25
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ProgressBarService, providedIn: 'root' });
24
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ProgressBarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
25
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ProgressBarService, providedIn: 'root' });
26
26
  }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ProgressBarService, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ProgressBarService, decorators: [{
28
28
  type: Injectable,
29
29
  args: [{ providedIn: 'root' }]
30
30
  }] });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtYmFyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9zZXJ2aWNlcy9wcm9ncmVzcy1iYXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBR3pFLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLElBQUksY0FBYyxDQUFzQixvQkFBb0IsQ0FBQyxDQUFDO0FBWXRHLE1BQU0sT0FBTyxrQkFBa0I7SUFDckIsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO0lBRTdCLGlCQUFpQixHQUFHLElBQUksWUFBWSxFQUFtQixDQUFDO0lBRXhELElBQUk7UUFDQSxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUNqQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLElBQUksSUFBSSxDQUFDLGdCQUFnQixLQUFLLENBQUMsRUFBRTtZQUM3QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3hDO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLEVBQUU7WUFDM0IsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7U0FDM0I7UUFDRCxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxDQUFDLEVBQUU7WUFDL0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNuQztJQUNILENBQUM7d0dBdkJVLGtCQUFrQjs0R0FBbEIsa0JBQWtCLGNBRE4sTUFBTTs7NEZBQ2xCLGtCQUFrQjtrQkFEOUIsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1Byb2dyZXNzQmFyTW9kZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3MtYmFyJztcblxuZXhwb3J0IGNvbnN0IEFQUF9QUk9HUkVTU19CQVJfU0VSVklDRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxJUHJvZ3Jlc3NCYXJTZXJ2aWNlPignUHJvZ3Jlc3NCYXJTZXJ2aWNlJyk7XG5cbmV4cG9ydCBkZWNsYXJlIHR5cGUgUHJvZ3Jlc3NNb2RlID0gUHJvZ3Jlc3NCYXJNb2RlO1xuXG5leHBvcnQgaW50ZXJmYWNlIElQcm9ncmVzc0JhclNlcnZpY2Uge1xuICBvblByb2dyZXNzQ2hhbmdlZDogRXZlbnRFbWl0dGVyPFByb2dyZXNzQmFyTW9kZT47XG4gIGxpc3QoKTogbnVtYmVyO1xuICBpbmNyZWFzZSgpO1xuICBkZWNyZWFzZSgpO1xufVxuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBQcm9ncmVzc0JhclNlcnZpY2UgaW1wbGVtZW50cyBJUHJvZ3Jlc3NCYXJTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBfcmVxdWVzdHNSdW5uaW5nID0gMDtcblxuICBvblByb2dyZXNzQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8UHJvZ3Jlc3NCYXJNb2RlPigpO1xuXG4gIGxpc3QoKTogbnVtYmVyIHtcbiAgICAgIHJldHVybiB0aGlzLl9yZXF1ZXN0c1J1bm5pbmc7XG4gIH1cblxuICBpbmNyZWFzZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9yZXF1ZXN0c1J1bm5pbmcrKztcbiAgICBpZiAodGhpcy5fcmVxdWVzdHNSdW5uaW5nID09PSAxKSB7XG4gICAgICAgIHRoaXMub25Qcm9ncmVzc0NoYW5nZWQuZW1pdCgncXVlcnknKTtcbiAgICB9XG4gIH1cblxuICBkZWNyZWFzZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fcmVxdWVzdHNSdW5uaW5nID4gMCkge1xuICAgICAgICB0aGlzLl9yZXF1ZXN0c1J1bm5pbmctLTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX3JlcXVlc3RzUnVubmluZyA9PT0gMCkge1xuICAgICAgdGhpcy5vblByb2dyZXNzQ2hhbmdlZC5lbWl0KG51bGwpO1xuICAgIH1cbiAgfVxuXG5cbn1cbiJdfQ==
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtYmFyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9zZXJ2aWNlcy9wcm9ncmVzcy1iYXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBR3pFLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLElBQUksY0FBYyxDQUFzQixvQkFBb0IsQ0FBQyxDQUFDO0FBWXRHLE1BQU0sT0FBTyxrQkFBa0I7SUFDckIsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO0lBRTdCLGlCQUFpQixHQUFHLElBQUksWUFBWSxFQUFtQixDQUFDO0lBRXhELElBQUk7UUFDQSxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUNqQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLElBQUksSUFBSSxDQUFDLGdCQUFnQixLQUFLLENBQUMsRUFBRTtZQUM3QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3hDO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLEVBQUU7WUFDM0IsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7U0FDM0I7UUFDRCxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxDQUFDLEVBQUU7WUFDL0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNuQztJQUNILENBQUM7dUdBdkJVLGtCQUFrQjsyR0FBbEIsa0JBQWtCLGNBRE4sTUFBTTs7MkZBQ2xCLGtCQUFrQjtrQkFEOUIsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1Byb2dyZXNzQmFyTW9kZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3MtYmFyJztcblxuZXhwb3J0IGNvbnN0IEFQUF9QUk9HUkVTU19CQVJfU0VSVklDRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxJUHJvZ3Jlc3NCYXJTZXJ2aWNlPignUHJvZ3Jlc3NCYXJTZXJ2aWNlJyk7XG5cbmV4cG9ydCBkZWNsYXJlIHR5cGUgUHJvZ3Jlc3NNb2RlID0gUHJvZ3Jlc3NCYXJNb2RlO1xuXG5leHBvcnQgaW50ZXJmYWNlIElQcm9ncmVzc0JhclNlcnZpY2Uge1xuICBvblByb2dyZXNzQ2hhbmdlZDogRXZlbnRFbWl0dGVyPFByb2dyZXNzQmFyTW9kZT47XG4gIGxpc3QoKTogbnVtYmVyO1xuICBpbmNyZWFzZSgpO1xuICBkZWNyZWFzZSgpO1xufVxuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBQcm9ncmVzc0JhclNlcnZpY2UgaW1wbGVtZW50cyBJUHJvZ3Jlc3NCYXJTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBfcmVxdWVzdHNSdW5uaW5nID0gMDtcblxuICBvblByb2dyZXNzQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8UHJvZ3Jlc3NCYXJNb2RlPigpO1xuXG4gIGxpc3QoKTogbnVtYmVyIHtcbiAgICAgIHJldHVybiB0aGlzLl9yZXF1ZXN0c1J1bm5pbmc7XG4gIH1cblxuICBpbmNyZWFzZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9yZXF1ZXN0c1J1bm5pbmcrKztcbiAgICBpZiAodGhpcy5fcmVxdWVzdHNSdW5uaW5nID09PSAxKSB7XG4gICAgICAgIHRoaXMub25Qcm9ncmVzc0NoYW5nZWQuZW1pdCgncXVlcnknKTtcbiAgICB9XG4gIH1cblxuICBkZWNyZWFzZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fcmVxdWVzdHNSdW5uaW5nID4gMCkge1xuICAgICAgICB0aGlzLl9yZXF1ZXN0c1J1bm5pbmctLTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX3JlcXVlc3RzUnVubmluZyA9PT0gMCkge1xuICAgICAgdGhpcy5vblByb2dyZXNzQ2hhbmdlZC5lbWl0KG51bGwpO1xuICAgIH1cbiAgfVxuXG5cbn1cbiJdfQ==
@@ -110,12 +110,12 @@ export class StartableObservableService {
110
110
  ngOnStop() {
111
111
  // Can be overwritten by subclasses
112
112
  }
113
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: StartableObservableService, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
114
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: StartableObservableService, ngImport: i0 });
113
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: StartableObservableService, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
114
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.6", type: StartableObservableService, ngImport: i0 });
115
115
  }
116
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: StartableObservableService, decorators: [{
116
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: StartableObservableService, decorators: [{
117
117
  type: Directive
118
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
118
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
119
119
  type: Optional
120
- }] }]; } });
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnRhYmxlLW9ic2VydmFibGUtc2VydmljZS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL3NlcnZpY2VzL3N0YXJ0YWJsZS1vYnNlcnZhYmxlLXNlcnZpY2UuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBQyxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5RSxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUduRDs7R0FFRztBQUVILE1BQU0sT0FBZ0IsMEJBQTBCO0lBRXJDLFdBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBSSxJQUFJLENBQUMsQ0FBQztJQUMzQyxZQUFZLEdBQUcsSUFBSSxPQUFPLEVBQUssQ0FBQztJQUNoQyxXQUFXLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUVqQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ2YscUJBQXFCLEdBQUcsSUFBSSxDQUFDLENBQUMsc0NBQXNDO0lBRXRFLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsYUFBYSxHQUFlLElBQUksQ0FBQztJQUNqQyxrQkFBa0IsR0FBdUIsSUFBSSxDQUFDO0lBQzlDLGFBQWEsR0FBaUIsSUFBSSxDQUFDO0lBRTNDLFlBQ2MsbUJBQW1EO1FBRS9ELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxtQkFBbUI7WUFDM0MsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDLEtBQUssRUFBRTtZQUNuQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBUTtRQUNaLElBQUksSUFB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QTBCOzRGQUExQiwwQkFBMEI7OzRGQUExQiwwQkFBMEI7a0JBRC9DLFNBQVM7OzBCQWdCTCxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZpcnN0VmFsdWVGcm9tLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSVN0YXJ0YWJsZVNlcnZpY2UgfSBmcm9tICcuL3N0YXJ0YWJsZS1zZXJ2aWNlLmNsYXNzJztcblxuLyoqXG4gKiBTYW1lIGFzIFN0YXJ0YWJsZVNlcnZpY2UsIGJ1dCB3aXRoIGEgZGF0YVN1YmplY3QgaW5zdGVhZCBvZiBhIHNpbXBsZSAnZGF0YScgcHJvcGVydHlcbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU3RhcnRhYmxlT2JzZXJ2YWJsZVNlcnZpY2U8VCA9IGFueSwgTyA9IGFueT4gaW1wbGVtZW50cyBJU3RhcnRhYmxlU2VydmljZTxUPiB7XG5cbiAgcmVhZG9ubHkgZGF0YVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFQ+KG51bGwpO1xuICByZWFkb25seSBzdGFydFN1YmplY3QgPSBuZXcgU3ViamVjdDxUPigpO1xuICByZWFkb25seSBzdG9wU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHJvdGVjdGVkIF9kZWJ1ZyA9IGZhbHNlO1xuICBwcm90ZWN0ZWQgX3N0YXJ0QnlSZWFkeUZ1bmN0aW9uID0gdHJ1ZTsgLy8gc2hvdWxkIHN0YXJ0IHdoZW4gY2FsbGluZyByZWFkeSgpID9cblxuICBwcml2YXRlIF9zdGFydGVkID0gZmFsc2U7XG4gIHByaXZhdGUgX3N0YXJ0UHJvbWlzZTogUHJvbWlzZTxUPiA9IG51bGw7XG4gIHByaXZhdGUgX3N0YXJ0UHJlcmVxdWlzaXRlOiAoKSA9PiBQcm9taXNlPGFueT4gPSBudWxsO1xuICBwcml2YXRlIF9zdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiA9IG51bGw7XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIHByZXJlcXVpc2l0ZVNlcnZpY2U/OiB7IHJlYWR5OiAoKSA9PiBQcm9taXNlPGFueT4gfVxuICApIHtcbiAgICB0aGlzLl9zdGFydFByZXJlcXVpc2l0ZSA9IHByZXJlcXVpc2l0ZVNlcnZpY2VcbiAgICAgID8gKCkgPT4gcHJlcmVxdWlzaXRlU2VydmljZS5yZWFkeSgpXG4gICAgICA6ICgpID0+IFByb21pc2UucmVzb2x2ZSgpO1xuICB9XG5cbiAgc3RhcnQob3B0cz86IE8pOiBQcm9taXNlPFQ+IHtcbiAgICBpZiAodGhpcy5fc3RhcnRQcm9taXNlKSByZXR1cm4gdGhpcy5fc3RhcnRQcm9taXNlO1xuICAgIGlmICh0aGlzLl9zdGFydGVkKSByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuZGF0YVN1YmplY3QudmFsdWUpO1xuXG4gICAgdGhpcy5fc3RhcnRQcm9taXNlID0gdGhpcy5fc3RhcnRQcmVyZXF1aXNpdGUoKVxuICAgICAgLnRoZW4oKCkgPT4gdGhpcy5uZ09uU3RhcnQob3B0cykpXG4gICAgICAudGhlbihkYXRhID0+IHtcblxuICAgICAgICB0aGlzLl9zdGFydGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5fc3RhcnRQcm9taXNlID0gdW5kZWZpbmVkO1xuXG4gICAgICAgIC8vIFNob3VsZCBiZSBkb25lIEFGVEVSICd0aGlzLl9zdGFydGVkID0gdHJ1ZScsIGJlY2F1c2Ugb2YgdGhlICdmaWx0ZXInIG9wZXJhdG9yLCBpbnNpZGUgcmVhZHkoKSBmdW5jdGlvblxuICAgICAgICB0aGlzLmRhdGFTdWJqZWN0Lm5leHQoZGF0YSk7XG4gICAgICAgIHRoaXMuc3RhcnRTdWJqZWN0Lm5leHQoZGF0YSk7XG5cbiAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKGVyciA9PiB7XG4gICAgICAgIGlmICghdGhpcy5zdG9wcGVkKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIHN0YXJ0IGEgc2VydmljZTogJyArIChlcnIgJiYgZXJyLm1lc3NhZ2UgfHwgZXJyKSwgZXJyKTtcbiAgICAgICAgICB0aGlzLl9zdGFydGVkID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5fc3RhcnRQcm9taXNlID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH0pO1xuICAgIHJldHVybiB0aGlzLl9zdGFydFByb21pc2U7XG4gIH1cblxuICByZWFkeSgpOiBQcm9taXNlPFQ+IHtcbiAgICBpZiAodGhpcy5fc3RhcnRlZCkgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0aGlzLmRhdGFTdWJqZWN0LnZhbHVlKTtcbiAgICBpZiAodGhpcy5fc3RhcnRQcm9taXNlKSByZXR1cm4gdGhpcy5fc3RhcnRQcm9taXNlO1xuICAgIGlmICh0aGlzLl9zdGFydEJ5UmVhZHlGdW5jdGlvbikgcmV0dXJuIHRoaXMuc3RhcnQoKTtcblxuICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbSh0aGlzLmRhdGFTdWJqZWN0XG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuc3RvcFN1YmplY3QpLFxuICAgICAgICAvLyBXYWl0IHN0YXJ0KCkgdG8gYmUgY2FsbGVkLCB0byBleGNsdWRlIHRoZSBpbml0aWFsICdudWxsJyB2YWx1ZVxuICAgICAgICBmaWx0ZXIoXyA9PiB0aGlzLl9zdGFydGVkKVxuICAgICAgKSk7XG4gIH1cblxuICBhc3luYyBzdG9wKCkge1xuXG4gICAgdHJ5IHtcbiAgICAgIHRoaXMudW5zdWJzY3JpYmUoKTtcbiAgICAgIGF3YWl0IHRoaXMubmdPblN0b3AoKTtcbiAgICB9XG4gICAgY2F0Y2ggKGVycikge1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIHN0b3AgYSBzZXJ2aWNlOiAnICsgKGVyciAmJiBlcnIubWVzc2FnZSB8fCBlcnIpLCBlcnIpO1xuICAgIH1cbiAgICBmaW5hbGx5IHtcbiAgICAgIHRoaXMuX3N0YXJ0ZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuX3N0YXJ0UHJvbWlzZSA9IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMuc3RvcFN1YmplY3QubmV4dCgpOyAvLyBTdG9wIGFsbCBydW5uaW5nIG9ic2VydmFibGVzXG4gICAgICB0aGlzLmRhdGFTdWJqZWN0Lm5leHQobnVsbCk7IC8vIFJlc2V0IGRhdGFcbiAgICB9XG4gIH1cblxuICBhc3luYyByZXN0YXJ0KG9wdHM/OiBPKTogUHJvbWlzZTxUPiB7XG4gICAgaWYgKHRoaXMuX3N0YXJ0UHJvbWlzZSkgYXdhaXQgdGhpcy5fc3RhcnRQcm9taXNlOyAvLyBXYWl0IGVuZCBvZiBwcmV2aW91cyBsb2FkaW5nXG4gICAgaWYgKHRoaXMuX3N0YXJ0ZWQpIGF3YWl0IHRoaXMuc3RvcCgpOyAvLyBUaGVuIHN0b3AgaWYgc3RhcnRlZFxuICAgIHJldHVybiB0aGlzLnN0YXJ0KG9wdHMpOyAvLyBUaGVuIHN0YXJ0IGFnYWluXG4gIH1cblxuICBnZXQgc3RhcnRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRlZDtcbiAgfVxuXG4gIGdldCBzdGFydGluZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLl9zdGFydFByb21pc2U7XG4gIH1cblxuICBnZXQgc3RvcHBlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuX3N0YXJ0ZWQgJiYgIXRoaXMuX3N0YXJ0UHJvbWlzZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgZGF0YSgpOiBUIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhU3ViamVjdC52YWx1ZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXQgZGF0YSh2YWx1ZTogVCkge1xuICAgIGlmICh0aGlzLmRhdGFTdWJqZWN0LnZhbHVlICE9PSB2YWx1ZSkge1xuICAgICAgdGhpcy5kYXRhU3ViamVjdC5uZXh0KHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVnaXN0ZXJTdWJzY3JpcHRpb24oc3ViOiBTdWJzY3JpcHRpb24pIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb24gPSB0aGlzLl9zdWJzY3JpcHRpb24gfHwgbmV3IFN1YnNjcmlwdGlvbigpO1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbi5hZGQoc3ViKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB1bnJlZ2lzdGVyU3Vic2NyaXB0aW9uKHN1YjogU3Vic2NyaXB0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uPy5yZW1vdmUoc3ViKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB1bnN1YnNjcmliZSgpIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uID0gbnVsbDtcbiAgfVxuXG4gIHByb3RlY3RlZCBuZ09uU3RvcCgpOiBQcm9taXNlPHZvaWQ+IHwgdm9pZCB7XG4gICAgLy8gQ2FuIGJlIG92ZXJ3cml0dGVuIGJ5IHN1YmNsYXNzZXNcbiAgfVxuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBuZ09uU3RhcnQob3B0cz86IE8pOiBQcm9taXNlPFQ+O1xufVxuIl19
120
+ }] }] });
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnRhYmxlLW9ic2VydmFibGUtc2VydmljZS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL3NlcnZpY2VzL3N0YXJ0YWJsZS1vYnNlcnZhYmxlLXNlcnZpY2UuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBQyxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5RSxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUduRDs7R0FFRztBQUVILE1BQU0sT0FBZ0IsMEJBQTBCO0lBRXJDLFdBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBSSxJQUFJLENBQUMsQ0FBQztJQUMzQyxZQUFZLEdBQUcsSUFBSSxPQUFPLEVBQUssQ0FBQztJQUNoQyxXQUFXLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUVqQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ2YscUJBQXFCLEdBQUcsSUFBSSxDQUFDLENBQUMsc0NBQXNDO0lBRXRFLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsYUFBYSxHQUFlLElBQUksQ0FBQztJQUNqQyxrQkFBa0IsR0FBdUIsSUFBSSxDQUFDO0lBQzlDLGFBQWEsR0FBaUIsSUFBSSxDQUFDO0lBRTNDLFlBQ2MsbUJBQW1EO1FBRS9ELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxtQkFBbUI7WUFDM0MsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDLEtBQUssRUFBRTtZQUNuQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBUTtRQUNaLElBQUksSUFB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QTBCOzJGQUExQiwwQkFBMEI7OzJGQUExQiwwQkFBMEI7a0JBRC9DLFNBQVM7OzBCQWdCTCxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZpcnN0VmFsdWVGcm9tLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSVN0YXJ0YWJsZVNlcnZpY2UgfSBmcm9tICcuL3N0YXJ0YWJsZS1zZXJ2aWNlLmNsYXNzJztcblxuLyoqXG4gKiBTYW1lIGFzIFN0YXJ0YWJsZVNlcnZpY2UsIGJ1dCB3aXRoIGEgZGF0YVN1YmplY3QgaW5zdGVhZCBvZiBhIHNpbXBsZSAnZGF0YScgcHJvcGVydHlcbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU3RhcnRhYmxlT2JzZXJ2YWJsZVNlcnZpY2U8VCA9IGFueSwgTyA9IGFueT4gaW1wbGVtZW50cyBJU3RhcnRhYmxlU2VydmljZTxUPiB7XG5cbiAgcmVhZG9ubHkgZGF0YVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFQ+KG51bGwpO1xuICByZWFkb25seSBzdGFydFN1YmplY3QgPSBuZXcgU3ViamVjdDxUPigpO1xuICByZWFkb25seSBzdG9wU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHJvdGVjdGVkIF9kZWJ1ZyA9IGZhbHNlO1xuICBwcm90ZWN0ZWQgX3N0YXJ0QnlSZWFkeUZ1bmN0aW9uID0gdHJ1ZTsgLy8gc2hvdWxkIHN0YXJ0IHdoZW4gY2FsbGluZyByZWFkeSgpID9cblxuICBwcml2YXRlIF9zdGFydGVkID0gZmFsc2U7XG4gIHByaXZhdGUgX3N0YXJ0UHJvbWlzZTogUHJvbWlzZTxUPiA9IG51bGw7XG4gIHByaXZhdGUgX3N0YXJ0UHJlcmVxdWlzaXRlOiAoKSA9PiBQcm9taXNlPGFueT4gPSBudWxsO1xuICBwcml2YXRlIF9zdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiA9IG51bGw7XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIHByZXJlcXVpc2l0ZVNlcnZpY2U/OiB7IHJlYWR5OiAoKSA9PiBQcm9taXNlPGFueT4gfVxuICApIHtcbiAgICB0aGlzLl9zdGFydFByZXJlcXVpc2l0ZSA9IHByZXJlcXVpc2l0ZVNlcnZpY2VcbiAgICAgID8gKCkgPT4gcHJlcmVxdWlzaXRlU2VydmljZS5yZWFkeSgpXG4gICAgICA6ICgpID0+IFByb21pc2UucmVzb2x2ZSgpO1xuICB9XG5cbiAgc3RhcnQob3B0cz86IE8pOiBQcm9taXNlPFQ+IHtcbiAgICBpZiAodGhpcy5fc3RhcnRQcm9taXNlKSByZXR1cm4gdGhpcy5fc3RhcnRQcm9taXNlO1xuICAgIGlmICh0aGlzLl9zdGFydGVkKSByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuZGF0YVN1YmplY3QudmFsdWUpO1xuXG4gICAgdGhpcy5fc3RhcnRQcm9taXNlID0gdGhpcy5fc3RhcnRQcmVyZXF1aXNpdGUoKVxuICAgICAgLnRoZW4oKCkgPT4gdGhpcy5uZ09uU3RhcnQob3B0cykpXG4gICAgICAudGhlbihkYXRhID0+IHtcblxuICAgICAgICB0aGlzLl9zdGFydGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5fc3RhcnRQcm9taXNlID0gdW5kZWZpbmVkO1xuXG4gICAgICAgIC8vIFNob3VsZCBiZSBkb25lIEFGVEVSICd0aGlzLl9zdGFydGVkID0gdHJ1ZScsIGJlY2F1c2Ugb2YgdGhlICdmaWx0ZXInIG9wZXJhdG9yLCBpbnNpZGUgcmVhZHkoKSBmdW5jdGlvblxuICAgICAgICB0aGlzLmRhdGFTdWJqZWN0Lm5leHQoZGF0YSk7XG4gICAgICAgIHRoaXMuc3RhcnRTdWJqZWN0Lm5leHQoZGF0YSk7XG5cbiAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKGVyciA9PiB7XG4gICAgICAgIGlmICghdGhpcy5zdG9wcGVkKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIHN0YXJ0IGEgc2VydmljZTogJyArIChlcnIgJiYgZXJyLm1lc3NhZ2UgfHwgZXJyKSwgZXJyKTtcbiAgICAgICAgICB0aGlzLl9zdGFydGVkID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5fc3RhcnRQcm9taXNlID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH0pO1xuICAgIHJldHVybiB0aGlzLl9zdGFydFByb21pc2U7XG4gIH1cblxuICByZWFkeSgpOiBQcm9taXNlPFQ+IHtcbiAgICBpZiAodGhpcy5fc3RhcnRlZCkgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0aGlzLmRhdGFTdWJqZWN0LnZhbHVlKTtcbiAgICBpZiAodGhpcy5fc3RhcnRQcm9taXNlKSByZXR1cm4gdGhpcy5fc3RhcnRQcm9taXNlO1xuICAgIGlmICh0aGlzLl9zdGFydEJ5UmVhZHlGdW5jdGlvbikgcmV0dXJuIHRoaXMuc3RhcnQoKTtcblxuICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbSh0aGlzLmRhdGFTdWJqZWN0XG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuc3RvcFN1YmplY3QpLFxuICAgICAgICAvLyBXYWl0IHN0YXJ0KCkgdG8gYmUgY2FsbGVkLCB0byBleGNsdWRlIHRoZSBpbml0aWFsICdudWxsJyB2YWx1ZVxuICAgICAgICBmaWx0ZXIoXyA9PiB0aGlzLl9zdGFydGVkKVxuICAgICAgKSk7XG4gIH1cblxuICBhc3luYyBzdG9wKCkge1xuXG4gICAgdHJ5IHtcbiAgICAgIHRoaXMudW5zdWJzY3JpYmUoKTtcbiAgICAgIGF3YWl0IHRoaXMubmdPblN0b3AoKTtcbiAgICB9XG4gICAgY2F0Y2ggKGVycikge1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIHN0b3AgYSBzZXJ2aWNlOiAnICsgKGVyciAmJiBlcnIubWVzc2FnZSB8fCBlcnIpLCBlcnIpO1xuICAgIH1cbiAgICBmaW5hbGx5IHtcbiAgICAgIHRoaXMuX3N0YXJ0ZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuX3N0YXJ0UHJvbWlzZSA9IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMuc3RvcFN1YmplY3QubmV4dCgpOyAvLyBTdG9wIGFsbCBydW5uaW5nIG9ic2VydmFibGVzXG4gICAgICB0aGlzLmRhdGFTdWJqZWN0Lm5leHQobnVsbCk7IC8vIFJlc2V0IGRhdGFcbiAgICB9XG4gIH1cblxuICBhc3luYyByZXN0YXJ0KG9wdHM/OiBPKTogUHJvbWlzZTxUPiB7XG4gICAgaWYgKHRoaXMuX3N0YXJ0UHJvbWlzZSkgYXdhaXQgdGhpcy5fc3RhcnRQcm9taXNlOyAvLyBXYWl0IGVuZCBvZiBwcmV2aW91cyBsb2FkaW5nXG4gICAgaWYgKHRoaXMuX3N0YXJ0ZWQpIGF3YWl0IHRoaXMuc3RvcCgpOyAvLyBUaGVuIHN0b3AgaWYgc3RhcnRlZFxuICAgIHJldHVybiB0aGlzLnN0YXJ0KG9wdHMpOyAvLyBUaGVuIHN0YXJ0IGFnYWluXG4gIH1cblxuICBnZXQgc3RhcnRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRlZDtcbiAgfVxuXG4gIGdldCBzdGFydGluZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLl9zdGFydFByb21pc2U7XG4gIH1cblxuICBnZXQgc3RvcHBlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuX3N0YXJ0ZWQgJiYgIXRoaXMuX3N0YXJ0UHJvbWlzZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgZGF0YSgpOiBUIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhU3ViamVjdC52YWx1ZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXQgZGF0YSh2YWx1ZTogVCkge1xuICAgIGlmICh0aGlzLmRhdGFTdWJqZWN0LnZhbHVlICE9PSB2YWx1ZSkge1xuICAgICAgdGhpcy5kYXRhU3ViamVjdC5uZXh0KHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVnaXN0ZXJTdWJzY3JpcHRpb24oc3ViOiBTdWJzY3JpcHRpb24pIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb24gPSB0aGlzLl9zdWJzY3JpcHRpb24gfHwgbmV3IFN1YnNjcmlwdGlvbigpO1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbi5hZGQoc3ViKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB1bnJlZ2lzdGVyU3Vic2NyaXB0aW9uKHN1YjogU3Vic2NyaXB0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uPy5yZW1vdmUoc3ViKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB1bnN1YnNjcmliZSgpIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uID0gbnVsbDtcbiAgfVxuXG4gIHByb3RlY3RlZCBuZ09uU3RvcCgpOiBQcm9taXNlPHZvaWQ+IHwgdm9pZCB7XG4gICAgLy8gQ2FuIGJlIG92ZXJ3cml0dGVuIGJ5IHN1YmNsYXNzZXNcbiAgfVxuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBuZ09uU3RhcnQob3B0cz86IE8pOiBQcm9taXNlPFQ+O1xufVxuIl19
@@ -74,7 +74,7 @@ export class StartableService {
74
74
  }
75
75
  async restart(opts) {
76
76
  if (this._startPromise)
77
- await this._startPromise; // Wait end of previous loading
77
+ await this._startPromise; // Wait end of previous start, if running
78
78
  if (this._started)
79
79
  await this.stop(); // Then stop if started
80
80
  return this.start(opts); // Then start again
@@ -102,12 +102,12 @@ export class StartableService {
102
102
  ngOnStop() {
103
103
  // Can be overwritten by subclasses
104
104
  }
105
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: StartableService, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
106
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: StartableService, ngImport: i0 });
105
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: StartableService, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
106
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.6", type: StartableService, ngImport: i0 });
107
107
  }
108
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: StartableService, decorators: [{
108
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: StartableService, decorators: [{
109
109
  type: Directive
110
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
110
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
111
111
  type: Optional
112
- }] }]; } });
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnRhYmxlLXNlcnZpY2UuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9zZXJ2aWNlcy9zdGFydGFibGUtc2VydmljZS5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUMsT0FBTyxFQUFFLFlBQVksRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7O0FBU3pDLE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxJQUFTO0lBQzFDLE9BQU8sQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLFVBQVUsQ0FBQztXQUN6QyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssVUFBVSxDQUFDO1dBQ3RDLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxVQUFVLENBQUMsQ0FDekM7QUFDTCxDQUFDO0FBR0QsTUFBTSxPQUFnQixnQkFBZ0I7SUFFM0IsWUFBWSxHQUFHLElBQUksT0FBTyxFQUFLLENBQUM7SUFDaEMsV0FBVyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFFakMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUNmLHFCQUFxQixHQUFHLElBQUksQ0FBQyxDQUFDLHNDQUFzQztJQUNwRSxLQUFLLEdBQU0sSUFBSSxDQUFDO0lBRWxCLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsYUFBYSxHQUFlLElBQUksQ0FBQztJQUNqQyxrQkFBa0IsR0FBdUIsSUFBSSxDQUFDO0lBQzlDLGFBQWEsR0FBaUIsSUFBSSxDQUFDO0lBRTNDLFlBQ2MsbUJBQW1EO1FBRS9ELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxtQkFBbUI7WUFDM0MsQ0FBQyxDQUFD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RSxDQUFDLENBQUMsdUJBQXVCO1FBQzdELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLG1CQUFtQjtJQUM5QyxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDL0MsQ0FBQztJQUVTLG9CQUFvQixDQUFDLEdBQWlCO1FBQzlDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzlELElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFUyxzQkFBc0IsQ0FBQyxHQUFpQjtRQUNoRCxJQUFJLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRVMsV0FBVztRQUNuQixJQUFJLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO0lBQzVCLENBQUM7SUFFUyxRQUFRO1FBQ2hCLG1DQUFtQztJQUNyQyxDQUFDO3dHQTdHbUIsZ0JBQWdCOzRGQUFoQixnQkFBZ0I7OzRGQUFoQixnQkFBZ0I7a0JBRHJDLFNBQVM7OzBCQWdCTCxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIE9wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7U3ViamVjdCwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7dGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVN0YXJ0YWJsZVNlcnZpY2U8VCA9IGFueT4ge1xuICBzdGFydGVkOiBib29sZWFuO1xuICBzdGFydCgpOiBQcm9taXNlPFQ+O1xuICBzdG9wKCk6IFByb21pc2U8dm9pZD47XG4gIHJlYWR5KCk6IFByb21pc2U8VD47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1N0YXJ0YWJsZVNlcnZpY2UoZGF0YTogYW55KTogZGF0YSBpcyBJU3RhcnRhYmxlU2VydmljZSB7XG4gIHJldHVybiAodHlwZW9mIGRhdGE/Llsnc3RhcnQnXSA9PT0gJ2Z1bmN0aW9uJylcbiAgICAmJiAodHlwZW9mIGRhdGE/Llsnc3RvcCddID09PSAnZnVuY3Rpb24nKVxuICAgICYmICh0eXBlb2YgZGF0YT8uWydyZWFkeSddID09PSAnZnVuY3Rpb24nKVxuICAgIDtcbn1cblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU3RhcnRhYmxlU2VydmljZTxUID0gYW55LCBPID0gYW55PiBpbXBsZW1lbnRzIElTdGFydGFibGVTZXJ2aWNlPFQ+IHtcblxuICByZWFkb25seSBzdGFydFN1YmplY3QgPSBuZXcgU3ViamVjdDxUPigpO1xuICByZWFkb25seSBzdG9wU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHJvdGVjdGVkIF9kZWJ1ZyA9IGZhbHNlO1xuICBwcm90ZWN0ZWQgX3N0YXJ0QnlSZWFkeUZ1bmN0aW9uID0gdHJ1ZTsgLy8gc2hvdWxkIHN0YXJ0IHdoZW4gY2FsbGluZyByZWFkeSgpID9cbiAgcHJvdGVjdGVkIF9kYXRhOiBUID0gbnVsbDtcblxuICBwcml2YXRlIF9zdGFydGVkID0gZmFsc2U7XG4gIHByaXZhdGUgX3N0YXJ0UHJvbWlzZTogUHJvbWlzZTxUPiA9IG51bGw7XG4gIHByaXZhdGUgX3N0YXJ0UHJlcmVxdWlzaXRlOiAoKSA9PiBQcm9taXNlPGFueT4gPSBudWxsO1xuICBwcml2YXRlIF9zdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiA9IG51bGw7XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIHByZXJlcXVpc2l0ZVNlcnZpY2U/OiB7IHJlYWR5OiAoKSA9PiBQcm9taXNlPGFueT4gfVxuICApIHtcbiAgICB0aGlzLl9zdGFydFByZXJlcXVpc2l0ZSA9IHByZXJlcXVpc2l0ZVNlcnZpY2VcbiAgICAgID8gKCkgPT4gcHJlcmVxdWlzaXRlU2VydmljZS5yZWFkeSgpXG4gICAgICA6ICgpID0+IFByb21pc2UucmVzb2x2ZSgpO1xuICB9XG5cbiAgc3RhcnQob3B0cz86IE8pOiBQcm9taXNlPFQ+IHtcbiAgICBpZiAodGhpcy5fc3RhcnRQcm9taXNlKSByZXR1cm4gdGhpcy5fc3RhcnRQcm9taXNlO1xuICAgIGlmICh0aGlzLl9zdGFydGVkKSByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuX2RhdGEpO1xuXG4gICAgdGhpcy5fc3RhcnRQcm9taXNlID0gdGhpcy5fc3RhcnRQcmVyZXF1aXNpdGUoKVxuICAgICAgLnRoZW4oKCkgPT4gdGhpcy5uZ09uU3RhcnQob3B0cykpXG4gICAgICAudGhlbihkYXRhID0+IHtcbiAgICAgICAgdGhpcy5fZGF0YSA9IGRhdGE7XG5cbiAgICAgICAgdGhpcy5fc3RhcnRlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuX3N0YXJ0UHJvbWlzZSA9IHVuZGVmaW5lZDtcblxuICAgICAgICB0aGlzLnN0YXJ0U3ViamVjdC5uZXh0KGRhdGEpO1xuXG4gICAgICAgIHJldHVybiBkYXRhO1xuICAgICAgfSlcbiAgICAgIC5jYXRjaChlcnIgPT4ge1xuICAgICAgICBpZiAoIXRoaXMuc3RvcHBlZCkge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBzdGFydCBhIHNlcnZpY2U6ICcgKyAoZXJyICYmIGVyci5tZXNzYWdlIHx8IGVyciksIGVycik7XG4gICAgICAgICAgdGhpcy5fc3RhcnRQcm9taXNlID0gbnVsbDtcbiAgICAgICAgICB0aGlzLl9zdGFydGVkID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9KTtcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRQcm9taXNlO1xuICB9XG5cbiAgcmVhZHkoKTogUHJvbWlzZTxUPiB7XG4gICAgaWYgKHRoaXMuX3N0YXJ0ZWQpIHJldHVybiBQcm9taXNlLnJlc29sdmUodGhpcy5fZGF0YSk7XG4gICAgaWYgKHRoaXMuX3N0YXJ0UHJvbWlzZSkgcmV0dXJuIHRoaXMuX3N0YXJ0UHJvbWlzZTtcbiAgICBpZiAodGhpcy5fc3RhcnRCeVJlYWR5RnVuY3Rpb24pIHJldHVybiB0aGlzLnN0YXJ0KCk7XG5cbiAgICByZXR1cm4gdGhpcy5zdGFydFN1YmplY3RcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnN0b3BTdWJqZWN0KSlcbiAgICAgIC50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIHN0b3AoKSB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMudW5zdWJzY3JpYmUoKTtcbiAgICAgIGF3YWl0IHRoaXMubmdPblN0b3AoKTtcbiAgICB9XG4gICAgY2F0Y2ggKGVycikge1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIHN0b3AgYSBzZXJ2aWNlOiAnICsgKGVyciAmJiBlcnIubWVzc2FnZSB8fCBlcnIpLCBlcnIpO1xuICAgIH1cbiAgICBmaW5hbGx5IHtcbiAgICAgIHRoaXMuX2RhdGEgPSBudWxsO1xuICAgICAgdGhpcy5fc3RhcnRlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5fc3RhcnRQcm9taXNlID0gdW5kZWZpbmVkO1xuICAgICAgdGhpcy5zdG9wU3ViamVjdC5uZXh0KCk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgcmVzdGFydChvcHRzPzogTyk6IFByb21pc2U8VD4ge1xuICAgIGlmICh0aGlzLl9zdGFydFByb21pc2UpIGF3YWl0IHRoaXMuX3N0YXJ0UHJvbWlzZTsgLy8gV2FpdCBlbmQgb2YgcHJldmlvdXMgbG9hZGluZ1xuICAgIGlmICh0aGlzLl9zdGFydGVkKSBhd2FpdCB0aGlzLnN0b3AoKTsgLy8gVGhlbiBzdG9wIGlmIHN0YXJ0ZWRcbiAgICByZXR1cm4gdGhpcy5zdGFydChvcHRzKTsgLy8gVGhlbiBzdGFydCBhZ2FpblxuICB9XG5cbiAgZ2V0IHN0YXJ0ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXJ0ZWQ7XG4gIH1cblxuICBnZXQgc3RhcnRpbmcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5fc3RhcnRQcm9taXNlO1xuICB9XG5cbiAgZ2V0IHN0b3BwZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLl9zdGFydGVkICYmICF0aGlzLl9zdGFydFByb21pc2U7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVnaXN0ZXJTdWJzY3JpcHRpb24oc3ViOiBTdWJzY3JpcHRpb24pIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb24gPSB0aGlzLl9zdWJzY3JpcHRpb24gfHwgbmV3IFN1YnNjcmlwdGlvbigpO1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbi5hZGQoc3ViKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB1bnJlZ2lzdGVyU3Vic2NyaXB0aW9uKHN1YjogU3Vic2NyaXB0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uPy5yZW1vdmUoc3ViKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB1bnN1YnNjcmliZSgpIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uID0gbnVsbDtcbiAgfVxuXG4gIHByb3RlY3RlZCBuZ09uU3RvcCgpOiBQcm9taXNlPHZvaWQ+IHwgdm9pZCB7XG4gICAgLy8gQ2FuIGJlIG92ZXJ3cml0dGVuIGJ5IHN1YmNsYXNzZXNcbiAgfVxuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBuZ09uU3RhcnQob3B0cz86IE8pOiBQcm9taXNlPFQ+O1xufVxuIl19
112
+ }] }] });
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnRhYmxlLXNlcnZpY2UuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9zZXJ2aWNlcy9zdGFydGFibGUtc2VydmljZS5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUMsT0FBTyxFQUFFLFlBQVksRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7O0FBU3pDLE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxJQUFTO0lBQzFDLE9BQU8sQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLFVBQVUsQ0FBQztXQUN6QyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssVUFBVSxDQUFDO1dBQ3RDLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxVQUFVLENBQUMsQ0FDekM7QUFDTCxDQUFDO0FBR0QsTUFBTSxPQUFnQixnQkFBZ0I7SUFFM0IsWUFBWSxHQUFHLElBQUksT0FBTyxFQUFLLENBQUM7SUFDaEMsV0FBVyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFFakMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUNmLHFCQUFxQixHQUFHLElBQUksQ0FBQyxDQUFDLHNDQUFzQztJQUNwRSxLQUFLLEdBQU0sSUFBSSxDQUFDO0lBRWxCLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsYUFBYSxHQUFlLElBQUksQ0FBQztJQUNqQyxrQkFBa0IsR0FBdUIsSUFBSSxDQUFDO0lBQzlDLGFBQWEsR0FBaUIsSUFBSSxDQUFDO0lBRTNDLFlBQ2MsbUJBQW1EO1FBRS9ELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxtQkFBbUI7WUFDM0MsQ0FBQyxDQUFD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RSxDQUFDLENBQUMsdUJBQXVCO1FBQzdELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLG1CQUFtQjtJQUM5QyxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDL0MsQ0FBQztJQUVTLG9CQUFvQixDQUFDLEdBQWlCO1FBQzlDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzlELElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFUyxzQkFBc0IsQ0FBQyxHQUFpQjtRQUNoRCxJQUFJLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRVMsV0FBVztRQUNuQixJQUFJLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO0lBQzVCLENBQUM7SUFFUyxRQUFRO1FBQ2hCLG1DQUFtQztJQUNyQyxDQUFDO3VHQTdHbUIsZ0JBQWdCOzJGQUFoQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBRHJDLFNBQVM7OzBCQWdCTCxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBPcHRpb25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1N1YmplY3QsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3Rha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElTdGFydGFibGVTZXJ2aWNlPFQgPSBhbnk+IHtcbiAgc3RhcnRlZDogYm9vbGVhbjtcbiAgc3RhcnQoKTogUHJvbWlzZTxUPjtcbiAgc3RvcCgpOiBQcm9taXNlPHZvaWQ+O1xuICByZWFkeSgpOiBQcm9taXNlPFQ+O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNTdGFydGFibGVTZXJ2aWNlKGRhdGE6IGFueSk6IGRhdGEgaXMgSVN0YXJ0YWJsZVNlcnZpY2Uge1xuICByZXR1cm4gKHR5cGVvZiBkYXRhPy5bJ3N0YXJ0J10gPT09ICdmdW5jdGlvbicpXG4gICAgJiYgKHR5cGVvZiBkYXRhPy5bJ3N0b3AnXSA9PT0gJ2Z1bmN0aW9uJylcbiAgICAmJiAodHlwZW9mIGRhdGE/LlsncmVhZHknXSA9PT0gJ2Z1bmN0aW9uJylcbiAgICA7XG59XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFN0YXJ0YWJsZVNlcnZpY2U8VCA9IGFueSwgTyA9IGFueT4gaW1wbGVtZW50cyBJU3RhcnRhYmxlU2VydmljZTxUPiB7XG5cbiAgcmVhZG9ubHkgc3RhcnRTdWJqZWN0ID0gbmV3IFN1YmplY3Q8VD4oKTtcbiAgcmVhZG9ubHkgc3RvcFN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHByb3RlY3RlZCBfZGVidWcgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIF9zdGFydEJ5UmVhZHlGdW5jdGlvbiA9IHRydWU7IC8vIHNob3VsZCBzdGFydCB3aGVuIGNhbGxpbmcgcmVhZHkoKSA/XG4gIHByb3RlY3RlZCBfZGF0YTogVCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBfc3RhcnRlZCA9IGZhbHNlO1xuICBwcml2YXRlIF9zdGFydFByb21pc2U6IFByb21pc2U8VD4gPSBudWxsO1xuICBwcml2YXRlIF9zdGFydFByZXJlcXVpc2l0ZTogKCkgPT4gUHJvbWlzZTxhbnk+ID0gbnVsbDtcbiAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gPSBudWxsO1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBwcmVyZXF1aXNpdGVTZXJ2aWNlPzogeyByZWFkeTogKCkgPT4gUHJvbWlzZTxhbnk+IH1cbiAgKSB7XG4gICAgdGhpcy5fc3RhcnRQcmVyZXF1aXNpdGUgPSBwcmVyZXF1aXNpdGVTZXJ2aWNlXG4gICAgICA/ICgpID0+IHByZXJlcXVpc2l0ZVNlcnZpY2UucmVhZHkoKVxuICAgICAgOiAoKSA9PiBQcm9taXNlLnJlc29sdmUoKTtcbiAgfVxuXG4gIHN0YXJ0KG9wdHM/OiBPKTogUHJvbWlzZTxUPiB7XG4gICAgaWYgKHRoaXMuX3N0YXJ0UHJvbWlzZSkgcmV0dXJuIHRoaXMuX3N0YXJ0UHJvbWlzZTtcbiAgICBpZiAodGhpcy5fc3RhcnRlZCkgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0aGlzLl9kYXRhKTtcblxuICAgIHRoaXMuX3N0YXJ0UHJvbWlzZSA9IHRoaXMuX3N0YXJ0UHJlcmVxdWlzaXRlKClcbiAgICAgIC50aGVuKCgpID0+IHRoaXMubmdPblN0YXJ0KG9wdHMpKVxuICAgICAgLnRoZW4oZGF0YSA9PiB7XG4gICAgICAgIHRoaXMuX2RhdGEgPSBkYXRhO1xuXG4gICAgICAgIHRoaXMuX3N0YXJ0ZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLl9zdGFydFByb21pc2UgPSB1bmRlZmluZWQ7XG5cbiAgICAgICAgdGhpcy5zdGFydFN1YmplY3QubmV4dChkYXRhKTtcblxuICAgICAgICByZXR1cm4gZGF0YTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goZXJyID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLnN0b3BwZWQpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gc3RhcnQgYSBzZXJ2aWNlOiAnICsgKGVyciAmJiBlcnIubWVzc2FnZSB8fCBlcnIpLCBlcnIpO1xuICAgICAgICAgIHRoaXMuX3N0YXJ0UHJvbWlzZSA9IG51bGw7XG4gICAgICAgICAgdGhpcy5fc3RhcnRlZCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfSk7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXJ0UHJvbWlzZTtcbiAgfVxuXG4gIHJlYWR5KCk6IFByb21pc2U8VD4ge1xuICAgIGlmICh0aGlzLl9zdGFydGVkKSByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuX2RhdGEpO1xuICAgIGlmICh0aGlzLl9zdGFydFByb21pc2UpIHJldHVybiB0aGlzLl9zdGFydFByb21pc2U7XG4gICAgaWYgKHRoaXMuX3N0YXJ0QnlSZWFkeUZ1bmN0aW9uKSByZXR1cm4gdGhpcy5zdGFydCgpO1xuXG4gICAgcmV0dXJuIHRoaXMuc3RhcnRTdWJqZWN0XG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5zdG9wU3ViamVjdCkpXG4gICAgICAudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBzdG9wKCkge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnVuc3Vic2NyaWJlKCk7XG4gICAgICBhd2FpdCB0aGlzLm5nT25TdG9wKCk7XG4gICAgfVxuICAgIGNhdGNoIChlcnIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBzdG9wIGEgc2VydmljZTogJyArIChlcnIgJiYgZXJyLm1lc3NhZ2UgfHwgZXJyKSwgZXJyKTtcbiAgICB9XG4gICAgZmluYWxseSB7XG4gICAgICB0aGlzLl9kYXRhID0gbnVsbDtcbiAgICAgIHRoaXMuX3N0YXJ0ZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuX3N0YXJ0UHJvbWlzZSA9IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMuc3RvcFN1YmplY3QubmV4dCgpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHJlc3RhcnQob3B0cz86IE8pOiBQcm9taXNlPFQ+IHtcbiAgICBpZiAodGhpcy5fc3RhcnRQcm9taXNlKSBhd2FpdCB0aGlzLl9zdGFydFByb21pc2U7IC8vIFdhaXQgZW5kIG9mIHByZXZpb3VzIHN0YXJ0LCBpZiBydW5uaW5nXG4gICAgaWYgKHRoaXMuX3N0YXJ0ZWQpIGF3YWl0IHRoaXMuc3RvcCgpOyAvLyBUaGVuIHN0b3AgaWYgc3RhcnRlZFxuICAgIHJldHVybiB0aGlzLnN0YXJ0KG9wdHMpOyAvLyBUaGVuIHN0YXJ0IGFnYWluXG4gIH1cblxuICBnZXQgc3RhcnRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRlZDtcbiAgfVxuXG4gIGdldCBzdGFydGluZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLl9zdGFydFByb21pc2U7XG4gIH1cblxuICBnZXQgc3RvcHBlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuX3N0YXJ0ZWQgJiYgIXRoaXMuX3N0YXJ0UHJvbWlzZTtcbiAgfVxuXG4gIHByb3RlY3RlZCByZWdpc3RlclN1YnNjcmlwdGlvbihzdWI6IFN1YnNjcmlwdGlvbikge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbiA9IHRoaXMuX3N1YnNjcmlwdGlvbiB8fCBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uLmFkZChzdWIpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHVucmVnaXN0ZXJTdWJzY3JpcHRpb24oc3ViOiBTdWJzY3JpcHRpb24pOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb24/LnJlbW92ZShzdWIpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHVuc3Vic2NyaWJlKCkge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb24gPSBudWxsO1xuICB9XG5cbiAgcHJvdGVjdGVkIG5nT25TdG9wKCk6IFByb21pc2U8dm9pZD4gfCB2b2lkIHtcbiAgICAvLyBDYW4gYmUgb3ZlcndyaXR0ZW4gYnkgc3ViY2xhc3Nlc1xuICB9XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IG5nT25TdGFydChvcHRzPzogTyk6IFByb21pc2U8VD47XG59XG4iXX0=