@elderbyte/ngx-starter 18.11.0 → 18.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (629) hide show
  1. package/_index.scss +38 -33
  2. package/esm2022/lib/common/arrays.mjs +1 -1
  3. package/esm2022/lib/common/async/public_api.mjs +1 -1
  4. package/esm2022/lib/common/async/refreshing-entity.mjs +5 -3
  5. package/esm2022/lib/common/csv/csv-serializer.mjs +5 -5
  6. package/esm2022/lib/common/csv/csv-spec.mjs +2 -2
  7. package/esm2022/lib/common/csv/public_api.mjs +1 -1
  8. package/esm2022/lib/common/data/continuable-listing.mjs +1 -1
  9. package/esm2022/lib/common/data/data-context/data-context-active-page.mjs +5 -4
  10. package/esm2022/lib/common/data/data-context/data-context-auto-starter.mjs +7 -5
  11. package/esm2022/lib/common/data/data-context/data-context-base.mjs +19 -12
  12. package/esm2022/lib/common/data/data-context/data-context-builder.mjs +5 -7
  13. package/esm2022/lib/common/data/data-context/data-context-continuable-base.mjs +5 -7
  14. package/esm2022/lib/common/data/data-context/data-context-continuable-paged.mjs +2 -2
  15. package/esm2022/lib/common/data/data-context/data-context-continuable-token.mjs +17 -7
  16. package/esm2022/lib/common/data/data-context/data-context-life-cycle-binding.mjs +2 -2
  17. package/esm2022/lib/common/data/data-context/data-context-simple.mjs +5 -4
  18. package/esm2022/lib/common/data/data-context/data-context-source-event-binding.mjs +25 -8
  19. package/esm2022/lib/common/data/data-context/data-context-status.mjs +1 -1
  20. package/esm2022/lib/common/data/data-context/data-context.mjs +5 -5
  21. package/esm2022/lib/common/data/data-context/indexed-entities.mjs +2 -2
  22. package/esm2022/lib/common/data/data-context/mat-table-data-context-binding.mjs +14 -8
  23. package/esm2022/lib/common/data/data-context/public_api.mjs +1 -1
  24. package/esm2022/lib/common/data/datasource/data-source-adapter.mjs +9 -5
  25. package/esm2022/lib/common/data/datasource/data-source-base.mjs +1 -1
  26. package/esm2022/lib/common/data/datasource/data-source-change-event.mjs +20 -10
  27. package/esm2022/lib/common/data/datasource/data-source-processor.mjs +14 -15
  28. package/esm2022/lib/common/data/datasource/data-source.mjs +4 -4
  29. package/esm2022/lib/common/data/datasource/entity-id-util.mjs +2 -2
  30. package/esm2022/lib/common/data/datasource/fetcher/delegate-data-source.mjs +2 -2
  31. package/esm2022/lib/common/data/datasource/local/local-list-data-source.mjs +9 -11
  32. package/esm2022/lib/common/data/datasource/local/local-paged-data-source.mjs +4 -2
  33. package/esm2022/lib/common/data/datasource/patch/deep-partial-patcher.mjs +58 -0
  34. package/esm2022/lib/common/data/datasource/public_api.mjs +1 -1
  35. package/esm2022/lib/common/data/datasource/rest/public_api.mjs +1 -1
  36. package/esm2022/lib/common/data/datasource/rest/rest-client.mjs +44 -39
  37. package/esm2022/lib/common/data/entity-set-patch.mjs +6 -9
  38. package/esm2022/lib/common/data/field-comparator.mjs +2 -2
  39. package/esm2022/lib/common/data/filters/filter-commons.mjs +1 -1
  40. package/esm2022/lib/common/data/filters/filter-context.mjs +9 -9
  41. package/esm2022/lib/common/data/filters/filter-value.mjs +1 -1
  42. package/esm2022/lib/common/data/filters/filter.mjs +2 -2
  43. package/esm2022/lib/common/data/http-params-builder.mjs +5 -7
  44. package/esm2022/lib/common/data/page.mjs +1 -1
  45. package/esm2022/lib/common/data/public_api.mjs +1 -1
  46. package/esm2022/lib/common/data/required-filter-evaluator.mjs +7 -10
  47. package/esm2022/lib/common/data/sort-context.mjs +4 -6
  48. package/esm2022/lib/common/data/sort.mjs +1 -1
  49. package/esm2022/lib/common/data/token-chunk-request.mjs +1 -1
  50. package/esm2022/lib/common/enums/elder-enum-translation.service.mjs +9 -9
  51. package/esm2022/lib/common/enums/public_api.mjs +1 -1
  52. package/esm2022/lib/common/errors/exception-detail.mjs +1 -1
  53. package/esm2022/lib/common/errors/public_api.mjs +1 -1
  54. package/esm2022/lib/common/errors/standard-error-detail.mjs +1 -1
  55. package/esm2022/lib/common/format/bytes-format.mjs +2 -9
  56. package/esm2022/lib/common/format/bytes-per-second-format.mjs +1 -1
  57. package/esm2022/lib/common/format/curency-format-util.mjs +1 -1
  58. package/esm2022/lib/common/format/duration-format-util.mjs +1 -1
  59. package/esm2022/lib/common/format/iso-interval-format-util.mjs +6 -4
  60. package/esm2022/lib/common/format/public_api.mjs +1 -1
  61. package/esm2022/lib/common/forms/elder-entity-value-accessor.mjs +7 -7
  62. package/esm2022/lib/common/forms/elder-form-field-control-base.directive.mjs +7 -7
  63. package/esm2022/lib/common/forms/elder-from-field-base.mjs +3 -3
  64. package/esm2022/lib/common/forms/elder-from-field-customizable-base.mjs +1 -1
  65. package/esm2022/lib/common/forms/elder-from-field-entity-base.mjs +5 -5
  66. package/esm2022/lib/common/forms/elder-from-field-multi-entity-base.mjs +7 -7
  67. package/esm2022/lib/common/forms/elder-multi-entity-value-accessor.mjs +7 -7
  68. package/esm2022/lib/common/forms/form-field-base.component.mjs +3 -4
  69. package/esm2022/lib/common/forms/multi-model-base.component.mjs +2 -2
  70. package/esm2022/lib/common/forms/public_api.mjs +1 -1
  71. package/esm2022/lib/common/forms/template-composite-control.mjs +17 -13
  72. package/esm2022/lib/common/forms/value-accessor-base.mjs +3 -3
  73. package/esm2022/lib/common/forms/view-providers.mjs +1 -1
  74. package/esm2022/lib/common/http/http-client-builder.service.mjs +2 -2
  75. package/esm2022/lib/common/http/http-client-pristine.mjs +2 -2
  76. package/esm2022/lib/common/http/public_api.mjs +1 -1
  77. package/esm2022/lib/common/http/transfer/data-transfer-base.mjs +2 -2
  78. package/esm2022/lib/common/http/transfer/data-transfer-factory.mjs +4 -4
  79. package/esm2022/lib/common/http/transfer/data-transfer-progress-aggregate.mjs +6 -5
  80. package/esm2022/lib/common/http/transfer/data-transfer-progress.mjs +1 -1
  81. package/esm2022/lib/common/http/transfer/data-transfer-state.mjs +1 -1
  82. package/esm2022/lib/common/http/transfer/data-transfer-status.mjs +1 -1
  83. package/esm2022/lib/common/http/transfer/data-transfer.mjs +1 -1
  84. package/esm2022/lib/common/http/transfer/http-data-transfer.mjs +9 -9
  85. package/esm2022/lib/common/http/transfer/public_api.mjs +1 -1
  86. package/esm2022/lib/common/http/upload/file-upload-client.mjs +2 -2
  87. package/esm2022/lib/common/i18n/entity/impl/i18n-base.mjs +1 -1
  88. package/esm2022/lib/common/i18n/entity/impl/i18n-text.mjs +1 -1
  89. package/esm2022/lib/common/i18n/entity/impl/translated.mjs +1 -1
  90. package/esm2022/lib/common/i18n/entity/language-tag.mjs +1 -1
  91. package/esm2022/lib/common/i18n/entity/locale.mjs +1 -1
  92. package/esm2022/lib/common/i18n/entity/localisation-picker.mjs +4 -4
  93. package/esm2022/lib/common/i18n/entity/localized.mjs +1 -1
  94. package/esm2022/lib/common/i18n/entity/public_api.mjs +1 -1
  95. package/esm2022/lib/common/i18n/entity/translated-converter.mjs +4 -4
  96. package/esm2022/lib/common/i18n/entity/translated.mjs +1 -1
  97. package/esm2022/lib/common/i18n/public_api.mjs +1 -1
  98. package/esm2022/lib/common/json-map.mjs +3 -4
  99. package/esm2022/lib/common/objects.mjs +1 -1
  100. package/esm2022/lib/common/public_api.mjs +1 -1
  101. package/esm2022/lib/common/reactive-map.mjs +5 -5
  102. package/esm2022/lib/common/rxjs/operators/lazy-sample.mjs +2 -2
  103. package/esm2022/lib/common/rxjs/public_api.mjs +1 -1
  104. package/esm2022/lib/common/selection/public_api.mjs +1 -1
  105. package/esm2022/lib/common/selection/selection-model.mjs +8 -8
  106. package/esm2022/lib/common/sets.mjs +3 -2
  107. package/esm2022/lib/common/suggestion-provider.mjs +1 -1
  108. package/esm2022/lib/common/templates/template-slot-manager.mjs +2 -2
  109. package/esm2022/lib/common/theme-sizes.mjs +1 -1
  110. package/esm2022/lib/common/time/date-util.mjs +8 -10
  111. package/esm2022/lib/common/time/interval-coerce.mjs +3 -3
  112. package/esm2022/lib/common/time/interval.mjs +19 -16
  113. package/esm2022/lib/common/time/period-duration.mjs +1 -1
  114. package/esm2022/lib/common/time/public_api.mjs +1 -1
  115. package/esm2022/lib/common/time/temporal-plain-date-interval.mjs +1 -1
  116. package/esm2022/lib/common/time/temporal-util.mjs +7 -1
  117. package/esm2022/lib/common/time/time-util.mjs +3 -6
  118. package/esm2022/lib/common/url/elder-router.service.mjs +2 -2
  119. package/esm2022/lib/common/url/elder-url-fragment-params.service.mjs +4 -6
  120. package/esm2022/lib/common/url/public_api.mjs +1 -1
  121. package/esm2022/lib/common/url/url-query-params.mjs +2 -2
  122. package/esm2022/lib/common/utils/batcher.mjs +2 -2
  123. package/esm2022/lib/common/utils/collection-util.mjs +7 -5
  124. package/esm2022/lib/common/utils/filter-util.mjs +10 -8
  125. package/esm2022/lib/common/utils/focus-util.mjs +1 -1
  126. package/esm2022/lib/common/utils/input-utils.mjs +1 -1
  127. package/esm2022/lib/common/utils/next-number-util.mjs +4 -3
  128. package/esm2022/lib/common/utils/ng-zone-utils.mjs +2 -2
  129. package/esm2022/lib/common/utils/parse-util.mjs +1 -1
  130. package/esm2022/lib/common/utils/property-path-util.mjs +2 -2
  131. package/esm2022/lib/common/utils/public_api.mjs +1 -1
  132. package/esm2022/lib/common/utils/query-list-binding.mjs +5 -4
  133. package/esm2022/lib/common/utils/sort-util.mjs +2 -2
  134. package/esm2022/lib/common/utils/url-builder.mjs +1 -1
  135. package/esm2022/lib/common/utils/uuid-util.mjs +3 -4
  136. package/esm2022/lib/common/utils/value-wrapper.mjs +1 -1
  137. package/esm2022/lib/components/access-denied/elder-access-denied.component.mjs +4 -5
  138. package/esm2022/lib/components/access-denied/elder-access-denied.module.mjs +5 -15
  139. package/esm2022/lib/components/auditing/audited-entity/elder-audited-entity.component.mjs +16 -6
  140. package/esm2022/lib/components/auditing/elder-audit.module.mjs +4 -6
  141. package/esm2022/lib/components/auditing/i-audited-entity.mjs +1 -1
  142. package/esm2022/lib/components/badge/elder-badge/elder-badge.component.mjs +18 -12
  143. package/esm2022/lib/components/badge/elder-badge.directive.mjs +7 -7
  144. package/esm2022/lib/components/badge/elder-badge.module.mjs +4 -4
  145. package/esm2022/lib/components/button-group/elder-button-group/elder-button-group.component.mjs +3 -5
  146. package/esm2022/lib/components/button-group/elder-button-group.module.mjs +5 -20
  147. package/esm2022/lib/components/card-organizer/card-organizer/elder-card-organizer.component.mjs +4 -5
  148. package/esm2022/lib/components/card-organizer/card-organizer/elder-stack-card.directive.mjs +2 -2
  149. package/esm2022/lib/components/card-organizer/card-organizer-data.mjs +7 -7
  150. package/esm2022/lib/components/card-organizer/card-stack/elder-card-stack.component.mjs +24 -12
  151. package/esm2022/lib/components/card-organizer/card-stack.mjs +3 -3
  152. package/esm2022/lib/components/card-organizer/elder-card-organizer.module.mjs +18 -7
  153. package/esm2022/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.mjs +3 -3
  154. package/esm2022/lib/components/cards/elder-card/elder-card.component.mjs +9 -9
  155. package/esm2022/lib/components/cards/elder-card/elder-card.module.mjs +16 -10
  156. package/esm2022/lib/components/chips/elder-chip-label.directive.mjs +3 -3
  157. package/esm2022/lib/components/chips/elder-chips.module.mjs +3 -5
  158. package/esm2022/lib/components/connectivity/elder-connectivity.module.mjs +9 -8
  159. package/esm2022/lib/components/connectivity/elder-connectivity.service.mjs +10 -12
  160. package/esm2022/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.mjs +3 -3
  161. package/esm2022/lib/components/connectivity/public_api.mjs +1 -1
  162. package/esm2022/lib/components/containers/elder-containers.module.mjs +4 -10
  163. package/esm2022/lib/components/containers/elder-scroll-container/elder-scroll-container.component.mjs +4 -4
  164. package/esm2022/lib/components/containers/public_api.mjs +1 -1
  165. package/esm2022/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.mjs +6 -6
  166. package/esm2022/lib/components/csv/elder-csv-stream-exporter-builder.mjs +2 -4
  167. package/esm2022/lib/components/csv/elder-csv-stream-exporter-builder.service.mjs +2 -2
  168. package/esm2022/lib/components/csv/elder-csv-stream-exporter.mjs +12 -12
  169. package/esm2022/lib/components/csv/elder-csv.module.mjs +6 -19
  170. package/esm2022/lib/components/currency/elder-currency.module.mjs +6 -18
  171. package/esm2022/lib/components/currency/elder-currency.pipe.mjs +2 -2
  172. package/esm2022/lib/components/currency/model/currency-code.mjs +1 -1
  173. package/esm2022/lib/components/currency/model/currency-unit-registry.mjs +1 -1
  174. package/esm2022/lib/components/currency/model/currency-unit.mjs +1 -1
  175. package/esm2022/lib/components/currency/model/currency.mjs +1 -1
  176. package/esm2022/lib/components/currency/public_api.mjs +1 -1
  177. package/esm2022/lib/components/data-transfer/elder-data-transfer.module.mjs +28 -16
  178. package/esm2022/lib/components/data-transfer/elder-data-transfer.service.mjs +12 -10
  179. package/esm2022/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.mjs +23 -12
  180. package/esm2022/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.mjs +3 -3
  181. package/esm2022/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.mjs +13 -3
  182. package/esm2022/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.mjs +11 -3
  183. package/esm2022/lib/components/data-view/base/data-view-options-provider-binding.mjs +4 -2
  184. package/esm2022/lib/components/data-view/base/elder-data-view-base.mjs +4 -5
  185. package/esm2022/lib/components/data-view/base/elder-data-view-options-provider.mjs +1 -1
  186. package/esm2022/lib/components/data-view/base/elder-data-view-options.mjs +1 -1
  187. package/esm2022/lib/components/data-view/base/elder-data-view.mjs +1 -1
  188. package/esm2022/lib/components/data-view/base/public_api.mjs +1 -1
  189. package/esm2022/lib/components/data-view/common/composite-sort/composite-sort-context.mjs +2 -2
  190. package/esm2022/lib/components/data-view/common/composite-sort/composite-sort-dc.directive.mjs +5 -7
  191. package/esm2022/lib/components/data-view/common/composite-sort/composite-sort.mjs +4 -5
  192. package/esm2022/lib/components/data-view/common/composite-sort/elder-composite-sort/elder-composite-sort.component.mjs +6 -6
  193. package/esm2022/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.mjs +4 -5
  194. package/esm2022/lib/components/data-view/common/elder-data-common.module.mjs +38 -20
  195. package/esm2022/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.mjs +5 -13
  196. package/esm2022/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.mjs +16 -6
  197. package/esm2022/lib/components/data-view/common/selection/data-context-selection.directive.mjs +6 -4
  198. package/esm2022/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.mjs +4 -5
  199. package/esm2022/lib/components/data-view/common/selection/master-selection-state.mjs +1 -1
  200. package/esm2022/lib/components/data-view/elder-data-view-interaction-mode.mjs +1 -1
  201. package/esm2022/lib/components/data-view/grid/elder-grid/elder-grid.component.mjs +46 -26
  202. package/esm2022/lib/components/data-view/grid/elder-grid.module.mjs +30 -21
  203. package/esm2022/lib/components/data-view/master-detail/elder-detail-dialog/elder-detail-dialog.component.mjs +15 -9
  204. package/esm2022/lib/components/data-view/master-detail/elder-detail.directive.mjs +5 -7
  205. package/esm2022/lib/components/data-view/master-detail/elder-master-activation.directive.mjs +8 -6
  206. package/esm2022/lib/components/data-view/master-detail/elder-master-detail-provider.mjs +2 -2
  207. package/esm2022/lib/components/data-view/master-detail/elder-master-detail.component.mjs +19 -25
  208. package/esm2022/lib/components/data-view/master-detail/elder-master-detail.module.mjs +4 -4
  209. package/esm2022/lib/components/data-view/master-detail/elder-master-detail.service.mjs +5 -4
  210. package/esm2022/lib/components/data-view/master-detail/elder-master.directive.mjs +2 -2
  211. package/esm2022/lib/components/data-view/master-detail/master-detail-activation-event.mjs +1 -1
  212. package/esm2022/lib/components/data-view/public_api.mjs +1 -1
  213. package/esm2022/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.mjs +4 -5
  214. package/esm2022/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.module.mjs +41 -16
  215. package/esm2022/lib/components/data-view/table/activation/activation-event-source.mjs +1 -1
  216. package/esm2022/lib/components/data-view/table/activation/elder-activation-context.mjs +1 -1
  217. package/esm2022/lib/components/data-view/table/activation/elder-delete-active.directive.mjs +6 -6
  218. package/esm2022/lib/components/data-view/table/activation/elder-table-activation-options.mjs +1 -1
  219. package/esm2022/lib/components/data-view/table/activation/elder-table-activation.directive.mjs +23 -15
  220. package/esm2022/lib/components/data-view/table/activation/item-activation-event.mjs +1 -1
  221. package/esm2022/lib/components/data-view/table/activation/item-activation-options.mjs +1 -1
  222. package/esm2022/lib/components/data-view/table/activation/public_api.mjs +1 -1
  223. package/esm2022/lib/components/data-view/table/elder-center-cell.directive.mjs +4 -5
  224. package/esm2022/lib/components/data-view/table/elder-number-cell.directive.mjs +3 -3
  225. package/esm2022/lib/components/data-view/table/elder-paginator-intl.mjs +8 -7
  226. package/esm2022/lib/components/data-view/table/elder-table/elder-table-toolbar.directive.mjs +2 -2
  227. package/esm2022/lib/components/data-view/table/elder-table/elder-table.component.mjs +54 -38
  228. package/esm2022/lib/components/data-view/table/elder-table-column.directive.mjs +2 -2
  229. package/esm2022/lib/components/data-view/table/elder-table-extension.directive.mjs +6 -11
  230. package/esm2022/lib/components/data-view/table/elder-table-root.directive.mjs +4 -8
  231. package/esm2022/lib/components/data-view/table/elder-table-row.directive.mjs +8 -6
  232. package/esm2022/lib/components/data-view/table/elder-table-sort.directive.mjs +2 -2
  233. package/esm2022/lib/components/data-view/table/elder-table.module.mjs +57 -25
  234. package/esm2022/lib/components/data-view/table/model/elder-column-layout.mjs +7 -7
  235. package/esm2022/lib/components/data-view/table/model/elder-table-model-cdk-table-binding.mjs +15 -11
  236. package/esm2022/lib/components/data-view/table/model/elder-table-model-provider.mjs +4 -4
  237. package/esm2022/lib/components/data-view/table/model/elder-table-model-query-group.mjs +11 -9
  238. package/esm2022/lib/components/data-view/table/model/elder-table-model.mjs +7 -5
  239. package/esm2022/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.mjs +13 -3
  240. package/esm2022/lib/components/dialogs/elder-dialog-config.mjs +1 -1
  241. package/esm2022/lib/components/dialogs/elder-dialog.module.mjs +34 -13
  242. package/esm2022/lib/components/dialogs/elder-dialog.service.mjs +19 -22
  243. package/esm2022/lib/components/dialogs/question-dialog/elder-question-dialog.component.mjs +17 -5
  244. package/esm2022/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.mjs +4 -5
  245. package/esm2022/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.mjs +5 -5
  246. package/esm2022/lib/components/errors/elder-error.module.mjs +4 -6
  247. package/esm2022/lib/components/errors/error-util.mjs +4 -4
  248. package/esm2022/lib/components/errors/exception-detail/elder-exception-detail.component.mjs +17 -6
  249. package/esm2022/lib/components/expand-toggle-button/elder-expand-toggle-button.component.mjs +3 -3
  250. package/esm2022/lib/components/expand-toggle-button/elder-expand-toggle-button.module.mjs +15 -8
  251. package/esm2022/lib/components/files/blob-url.mjs +1 -1
  252. package/esm2022/lib/components/files/blob-viewer/elder-blob-viewer.component.mjs +16 -11
  253. package/esm2022/lib/components/files/drag-n-drop/elder-drop-zone/elder-drop-zone.component.mjs +3 -3
  254. package/esm2022/lib/components/files/drag-n-drop/global-drag-drop.service.mjs +4 -4
  255. package/esm2022/lib/components/files/elder-file-drop-zone.directive.mjs +7 -7
  256. package/esm2022/lib/components/files/elder-file-select-input.mjs +3 -3
  257. package/esm2022/lib/components/files/elder-file-select.directive.mjs +14 -16
  258. package/esm2022/lib/components/files/elder-file.module.mjs +16 -10
  259. package/esm2022/lib/components/files/file-select/file-select.component.mjs +5 -6
  260. package/esm2022/lib/components/files/file-system-api.mjs +2 -2
  261. package/esm2022/lib/components/files/file-upload/file-upload.component.mjs +16 -3
  262. package/esm2022/lib/components/files/listing/file-entry.mjs +3 -3
  263. package/esm2022/lib/components/files/listing/file-listing-rx.mjs +5 -5
  264. package/esm2022/lib/components/files/listing/file-listing-system-handle.mjs +3 -3
  265. package/esm2022/lib/components/files/listing/file-listing-webkit.mjs +10 -11
  266. package/esm2022/lib/components/forms/clipboard/elder-clipboard.service.mjs +2 -2
  267. package/esm2022/lib/components/forms/directives/base/elder-class-hostbinding-base.mjs +1 -1
  268. package/esm2022/lib/components/forms/directives/elder-clipboard-put.directive.mjs +5 -3
  269. package/esm2022/lib/components/forms/directives/elder-delayed-focus.directive.mjs +2 -2
  270. package/esm2022/lib/components/forms/directives/elder-form-field-dense.directive.mjs +1 -1
  271. package/esm2022/lib/components/forms/directives/elder-form-field-label.directive.mjs +2 -2
  272. package/esm2022/lib/components/forms/directives/elder-form-field-no-hint.directive.mjs +2 -2
  273. package/esm2022/lib/components/forms/directives/elder-form-field-no-spinner.directive.mjs +2 -2
  274. package/esm2022/lib/components/forms/directives/elder-forms-directives.module.mjs +13 -6
  275. package/esm2022/lib/components/forms/directives/elder-initial-value.directive.mjs +5 -5
  276. package/esm2022/lib/components/forms/directives/elder-input-pattern.directive.mjs +2 -2
  277. package/esm2022/lib/components/forms/directives/elder-key-event.directive.mjs +2 -2
  278. package/esm2022/lib/components/forms/directives/elder-next-focusable.directive.mjs +3 -3
  279. package/esm2022/lib/components/forms/directives/elder-plug-parent-form.directive.mjs +6 -6
  280. package/esm2022/lib/components/forms/directives/elder-stop-event-propagation.directive.mjs +2 -2
  281. package/esm2022/lib/components/forms/directives/elder-tab-focus-trap.directive.mjs +13 -10
  282. package/esm2022/lib/components/forms/directives/elder-touched.directive.mjs +2 -2
  283. package/esm2022/lib/components/forms/directives/elder-triple-state-checkbox.directive.mjs +4 -4
  284. package/esm2022/lib/components/forms/directives/validation/elder-validation-error.directive.mjs +5 -3
  285. package/esm2022/lib/components/forms/directives/validation/strategies/common-validation-message-strategy.mjs +2 -2
  286. package/esm2022/lib/components/forms/directives/validation/strategies/dynamic-validation-message-strategy.mjs +2 -2
  287. package/esm2022/lib/components/forms/directives/validation/strategies/fallback-validation-message-strategy.mjs +1 -1
  288. package/esm2022/lib/components/forms/directives/validation/validation-message-renderer.service.mjs +4 -6
  289. package/esm2022/lib/components/forms/directives/validation/validation-message-strategy.mjs +1 -1
  290. package/esm2022/lib/components/forms/directives/validation/validators/elder-max.validator.mjs +4 -9
  291. package/esm2022/lib/components/forms/directives/validation/validators/elder-min.validator.mjs +4 -9
  292. package/esm2022/lib/components/forms/directives/validation/validators/elder-multiple-of.validator.mjs +12 -11
  293. package/esm2022/lib/components/forms/directives/validation/validators/elder-required-ignore-zero.validator.mjs +4 -4
  294. package/esm2022/lib/components/forms/elder-forms.module.mjs +1 -1
  295. package/esm2022/lib/components/forms/public_api.mjs +1 -1
  296. package/esm2022/lib/components/forms/search/domain/context/search-context.mjs +7 -3
  297. package/esm2022/lib/components/forms/search/domain/context/search-context.service.mjs +2 -2
  298. package/esm2022/lib/components/forms/search/domain/input/input-value.mjs +1 -1
  299. package/esm2022/lib/components/forms/search/domain/input/search-input-state.mjs +2 -2
  300. package/esm2022/lib/components/forms/search/domain/input/search-input.mjs +1 -1
  301. package/esm2022/lib/components/forms/search/domain/input/simple-search-input.mjs +1 -1
  302. package/esm2022/lib/components/forms/search/domain/url/elder-search-url.directive.mjs +14 -8
  303. package/esm2022/lib/components/forms/search/domain/url/elder-search-url.service.mjs +15 -12
  304. package/esm2022/lib/components/forms/search/domain/url/search-query-params-parser.mjs +3 -3
  305. package/esm2022/lib/components/forms/search/elder-search-context.directive.mjs +30 -25
  306. package/esm2022/lib/components/forms/search/elder-search-input.directive.mjs +14 -19
  307. package/esm2022/lib/components/forms/search/elder-search.module.mjs +24 -13
  308. package/esm2022/lib/components/forms/search/filter/default-input-filter-converter.mjs +2 -4
  309. package/esm2022/lib/components/forms/search/filter/input-filter-converter.mjs +1 -1
  310. package/esm2022/lib/components/forms/search/search-box/elder-search-box.component.mjs +27 -8
  311. package/esm2022/lib/components/forms/search/search-box/elder-search-panel.component.mjs +4 -4
  312. package/esm2022/lib/components/global-search/elder-global-search.component.mjs +19 -10
  313. package/esm2022/lib/components/global-search/elder-global-search.module.mjs +24 -6
  314. package/esm2022/lib/components/global-search/elder-global-search.service.mjs +8 -6
  315. package/esm2022/lib/components/graph/elder-progress-bar/elder-progress-bar.component.mjs +6 -6
  316. package/esm2022/lib/components/graph/elder-progress-bar/elder-progress-bar.module.mjs +4 -10
  317. package/esm2022/lib/components/graph/elder-progress-bar/sub-bar.mjs +1 -1
  318. package/esm2022/lib/components/graph/public_api.mjs +1 -1
  319. package/esm2022/lib/components/headers/elder-header/elder-header.component.mjs +3 -3
  320. package/esm2022/lib/components/headers/elder-header.module.mjs +12 -14
  321. package/esm2022/lib/components/http-support/elder-http-client.service.mjs +4 -9
  322. package/esm2022/lib/components/http-support/public_api.mjs +1 -1
  323. package/esm2022/lib/components/i18n/entities/elder-i18n-entities.module.mjs +3 -3
  324. package/esm2022/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.mjs +31 -20
  325. package/esm2022/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.mjs +14 -5
  326. package/esm2022/lib/components/i18n/entities/elder-localized-input-dialog.service.mjs +4 -4
  327. package/esm2022/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.mjs +42 -19
  328. package/esm2022/lib/components/i18n/entities/elder-localized-text-column.directive.mjs +2 -2
  329. package/esm2022/lib/components/i18n/entities/elder-localized-texts.directive.mjs +4 -5
  330. package/esm2022/lib/components/i18n/entities/picker/i18n-pick-async.pipe.mjs +3 -3
  331. package/esm2022/lib/components/i18n/entities/picker/i18n-pick.pipe.mjs +2 -2
  332. package/esm2022/lib/components/i18n/entities/picker/localisation-picker.service.mjs +6 -6
  333. package/esm2022/lib/components/i18n/language/elder-language-config.mjs +1 -1
  334. package/esm2022/lib/components/i18n/language/elder-language-interceptor.mjs +8 -7
  335. package/esm2022/lib/components/i18n/language/elder-language.module.mjs +11 -10
  336. package/esm2022/lib/components/i18n/language/elder-language.service.mjs +3 -4
  337. package/esm2022/lib/components/i18n/language/language-switcher/elder-language-switcher.component.mjs +17 -5
  338. package/esm2022/lib/components/i18n/locales/elder-locales-de-ch.module.mjs +7 -7
  339. package/esm2022/lib/components/i18n/public_api.mjs +1 -1
  340. package/esm2022/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.mjs +13 -13
  341. package/esm2022/lib/components/iframes/data-view/data-view-iframe-adapter.directive.mjs +13 -11
  342. package/esm2022/lib/components/iframes/elder-iframe.module.mjs +4 -4
  343. package/esm2022/lib/components/iframes/iframe-close.directive.mjs +2 -3
  344. package/esm2022/lib/components/iframes/iframe-dialog/iframe-dialog.component.mjs +3 -3
  345. package/esm2022/lib/components/iframes/iframe-host/iframe-host.component.mjs +12 -4
  346. package/esm2022/lib/components/iframes/iframe-messages.mjs +1 -1
  347. package/esm2022/lib/components/iframes/iframe-side-content/iframe-side-content.component.mjs +11 -9
  348. package/esm2022/lib/components/iframes/iframe.service.mjs +7 -5
  349. package/esm2022/lib/components/iframes/typed-event-message.mjs +1 -1
  350. package/esm2022/lib/components/infinitescroll/elder-infinite-autocomplete.directive.mjs +10 -6
  351. package/esm2022/lib/components/infinitescroll/elder-infinite-scroll.directive.mjs +12 -7
  352. package/esm2022/lib/components/infinitescroll/elder-infinite-scroll.module.mjs +4 -10
  353. package/esm2022/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete-option-selected.mjs +1 -1
  354. package/esm2022/lib/components/input/autocomplete/elder-autocomplete/elder-suggestion-panel.component.mjs +26 -17
  355. package/esm2022/lib/components/input/autocomplete/elder-autocomplete-many.directive.mjs +11 -7
  356. package/esm2022/lib/components/input/autocomplete/elder-autocomplete.directive.mjs +8 -6
  357. package/esm2022/lib/components/input/autocomplete/elder-autocomplete.module.mjs +9 -6
  358. package/esm2022/lib/components/input/autocomplete/many/word-position-finder.mjs +1 -1
  359. package/esm2022/lib/components/input/public_api.mjs +1 -1
  360. package/esm2022/lib/components/labels/elder-labels.module.mjs +26 -8
  361. package/esm2022/lib/components/labels/labels-input/labels-input.component.mjs +28 -11
  362. package/esm2022/lib/components/measures/dimensions/dimensions-input/elder-dimensions-input.component.mjs +22 -21
  363. package/esm2022/lib/components/measures/dimensions/validation/elder-required-dimensions.validator.mjs +4 -4
  364. package/esm2022/lib/components/measures/directives/elder-unit-select.directive.mjs +2 -2
  365. package/esm2022/lib/components/measures/elder-measures.module.mjs +7 -19
  366. package/esm2022/lib/components/measures/elder-quantity-transform.pipe.mjs +2 -2
  367. package/esm2022/lib/components/measures/elder-quantity.pipe.mjs +2 -2
  368. package/esm2022/lib/components/measures/elder-unit.service.mjs +4 -6
  369. package/esm2022/lib/components/measures/model/dimensions.mjs +1 -1
  370. package/esm2022/lib/components/measures/model/quantity.mjs +1 -1
  371. package/esm2022/lib/components/measures/model/unit-dimension.mjs +1 -1
  372. package/esm2022/lib/components/measures/model/unit-registry.mjs +1 -1
  373. package/esm2022/lib/components/measures/model/unit.mjs +1 -1
  374. package/esm2022/lib/components/measures/public_api.mjs +1 -1
  375. package/esm2022/lib/components/measures/quantity-input/quantity-form-field/elder-quantity-form-field.component.mjs +13 -3
  376. package/esm2022/lib/components/measures/quantity-input/quantity-input-control/elder-quantity-input-control.component.mjs +18 -16
  377. package/esm2022/lib/components/measures/quantity-input/validation/elder-quantity-range.validator.mjs +4 -8
  378. package/esm2022/lib/components/measures/quantity-input/validation/elder-required-quantity.validator.mjs +4 -8
  379. package/esm2022/lib/components/measures/util/elder-quantity.service.mjs +15 -10
  380. package/esm2022/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.mjs +26 -6
  381. package/esm2022/lib/components/navigation/bread-crumbs/elder-bread-crumbs.module.mjs +12 -8
  382. package/esm2022/lib/components/navigation/bread-crumbs/path/path.mjs +1 -1
  383. package/esm2022/lib/components/navigation/nav/elder-nav.module.mjs +26 -20
  384. package/esm2022/lib/components/navigation/nav/nav-group/elder-nav-group.component.mjs +15 -21
  385. package/esm2022/lib/components/navigation/nav/nav-link/elder-nav-link.component.mjs +20 -7
  386. package/esm2022/lib/components/navigation/nav/nav-list/elder-nav-list.component.mjs +3 -3
  387. package/esm2022/lib/components/navigation/public_api.mjs +1 -1
  388. package/esm2022/lib/components/navigation/toolbar/elder-toolbar-column.directive.mjs +2 -2
  389. package/esm2022/lib/components/navigation/toolbar/elder-toolbar.module.mjs +26 -20
  390. package/esm2022/lib/components/navigation/toolbar/elder-toolbar.service.mjs +2 -2
  391. package/esm2022/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.mjs +12 -7
  392. package/esm2022/lib/components/navigation/toolbar/toolbar-column-position.mjs +1 -1
  393. package/esm2022/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.mjs +4 -5
  394. package/esm2022/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.service.mjs +5 -4
  395. package/esm2022/lib/components/overlays/elder-overlay-origin.directive.mjs +2 -2
  396. package/esm2022/lib/components/overlays/elder-overlay-ref.mjs +1 -1
  397. package/esm2022/lib/components/overlays/elder-overlay-trigger.directive.mjs +3 -3
  398. package/esm2022/lib/components/overlays/elder-overlay.component.mjs +23 -14
  399. package/esm2022/lib/components/overlays/elder-overlay.module.mjs +4 -10
  400. package/esm2022/lib/components/page/exit-guard/page-exit-guard.module.mjs +5 -12
  401. package/esm2022/lib/components/page/exit-guard/page-exit-guard.service.mjs +6 -6
  402. package/esm2022/lib/components/page/exit-guard/page-exit-lock/page-exit-lock.component.mjs +3 -5
  403. package/esm2022/lib/components/page/exit-guard/page-exit-lock-indicator/page-exit-lock-indicator.component.mjs +3 -8
  404. package/esm2022/lib/components/page/exit-guard/page-exit-lock-overview/page-exit-lock-overview.component.mjs +3 -7
  405. package/esm2022/lib/components/panels/card-panel/elder-card-panel.component.mjs +3 -3
  406. package/esm2022/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.mjs +3 -3
  407. package/esm2022/lib/components/panels/elder-panel.module.mjs +10 -7
  408. package/esm2022/lib/components/panels/flat/elder-panel.component.mjs +4 -4
  409. package/esm2022/lib/components/panels/toggle-panel/elder-toggle-panel-trigger.directive.mjs +2 -2
  410. package/esm2022/lib/components/panels/toggle-panel/elder-toggle-panel.component.mjs +6 -6
  411. package/esm2022/lib/components/public_api.mjs +1 -1
  412. package/esm2022/lib/components/scrollbar/elder-scrollbar.directive.mjs +2 -2
  413. package/esm2022/lib/components/scrollbar/elder-scrollbar.module.mjs +2 -2
  414. package/esm2022/lib/components/select/auto/elder-auto-select-first.directive.mjs +5 -8
  415. package/esm2022/lib/components/select/auto/elder-auto-select-first.service.mjs +1 -1
  416. package/esm2022/lib/components/select/auto/elder-auto-select-suggest-first.directive.mjs +7 -9
  417. package/esm2022/lib/components/select/auto/elder-select-first-util.mjs +7 -4
  418. package/esm2022/lib/components/select/elder-select-base.mjs +12 -13
  419. package/esm2022/lib/components/select/elder-select-chip.directive.mjs +4 -4
  420. package/esm2022/lib/components/select/elder-select-on-tab.directive.mjs +10 -5
  421. package/esm2022/lib/components/select/elder-select-value.directive.mjs +2 -2
  422. package/esm2022/lib/components/select/elder-select.module.mjs +65 -29
  423. package/esm2022/lib/components/select/filter/elder-chip-filter-style-resolver.mjs +9 -9
  424. package/esm2022/lib/components/select/filter/elder-chips-include-exclude.directive.mjs +19 -15
  425. package/esm2022/lib/components/select/filter/elder-filter-chip-template/elder-filter-chip-template.component.mjs +3 -3
  426. package/esm2022/lib/components/select/filter/include-exclude-model-filter-adapter.mjs +6 -8
  427. package/esm2022/lib/components/select/filter/include-exclude-selection-model.mjs +7 -11
  428. package/esm2022/lib/components/select/multi/elder-chip-select-option/elder-select-option.component.mjs +2 -3
  429. package/esm2022/lib/components/select/multi/elder-multi-select-base.mjs +29 -27
  430. package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/chip-options-provider.mjs +12 -10
  431. package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component.mjs +40 -29
  432. package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/select-option-chip-spec.mjs +4 -4
  433. package/esm2022/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.mjs +41 -21
  434. package/esm2022/lib/components/select/multi/elder-multi-select-chips/select-chip-spec.mjs +4 -4
  435. package/esm2022/lib/components/select/multi/elder-multi-select-form-field.mjs +2 -2
  436. package/esm2022/lib/components/select/multi/elder-mutli-select-all-directive.mjs +7 -8
  437. package/esm2022/lib/components/select/multi/elder-search-include-exclude.directive.mjs +8 -10
  438. package/esm2022/lib/components/select/popup/selection-model-popup-trigger-adapter.directive.mjs +7 -5
  439. package/esm2022/lib/components/select/popup/selection-model-popup.directive.mjs +13 -13
  440. package/esm2022/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.mjs +15 -5
  441. package/esm2022/lib/components/select/public_api.mjs +1 -1
  442. package/esm2022/lib/components/select/single/elder-clear-select.directive.mjs +5 -3
  443. package/esm2022/lib/components/select/single/elder-select/elder-select.component.mjs +39 -29
  444. package/esm2022/lib/components/select/single/elder-select-form-field.mjs +1 -1
  445. package/esm2022/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.mjs +11 -12
  446. package/esm2022/lib/components/select-chip-list/elder-chip-list-select.module.mjs +3 -5
  447. package/esm2022/lib/components/shell/drawers/drawer-outlet-binding.mjs +8 -4
  448. package/esm2022/lib/components/shell/drawers/elder-route-outlet-drawer.service.mjs +6 -4
  449. package/esm2022/lib/components/shell/drawers/elder-router-outlet.service.mjs +7 -7
  450. package/esm2022/lib/components/shell/elder-shell-slot.directive.mjs +2 -2
  451. package/esm2022/lib/components/shell/elder-shell.module.mjs +10 -7
  452. package/esm2022/lib/components/shell/elder-shell.service.mjs +6 -9
  453. package/esm2022/lib/components/shell/header/elder-app-header/elder-app-header.component.mjs +6 -6
  454. package/esm2022/lib/components/shell/shell/elder-shell.component.mjs +34 -14
  455. package/esm2022/lib/components/shell/shell-content-slot.mjs +1 -1
  456. package/esm2022/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.mjs +5 -5
  457. package/esm2022/lib/components/tabs/elder-tab/elder-tab.directive.mjs +2 -2
  458. package/esm2022/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.mjs +12 -12
  459. package/esm2022/lib/components/tabs/elder-tab.module.mjs +4 -14
  460. package/esm2022/lib/components/theme/elder-theme-applier.directive.mjs +5 -6
  461. package/esm2022/lib/components/theme/elder-theme-preference.service.mjs +3 -4
  462. package/esm2022/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.mjs +6 -7
  463. package/esm2022/lib/components/theme/elder-theme.directive.mjs +5 -3
  464. package/esm2022/lib/components/theme/elder-theme.module.mjs +9 -15
  465. package/esm2022/lib/components/theme/elder-theme.service.mjs +7 -9
  466. package/esm2022/lib/components/theme/known-elder-themes.mjs +1 -1
  467. package/esm2022/lib/components/theme/public_api.mjs +1 -1
  468. package/esm2022/lib/components/theme/theme-spec.mjs +3 -7
  469. package/esm2022/lib/components/time/date-adapters/custom-date-adapter.mjs +1 -1
  470. package/esm2022/lib/components/time/date-formats/locale-date-formats.mjs +2 -2
  471. package/esm2022/lib/components/time/duration/duration-bucket.mjs +3 -2
  472. package/esm2022/lib/components/time/duration/duration-format.mjs +1 -1
  473. package/esm2022/lib/components/time/duration/elder-duration-input/elder-duration-input.component.mjs +6 -12
  474. package/esm2022/lib/components/time/duration/iso-duration-str.mjs +1 -1
  475. package/esm2022/lib/components/time/elder-date-switcher/elder-date-switcher.component.mjs +13 -7
  476. package/esm2022/lib/components/time/elder-date-time-input/elder-date-time-input.component.mjs +7 -13
  477. package/esm2022/lib/components/time/elder-interval-input/elder-interval-input.component.mjs +27 -27
  478. package/esm2022/lib/components/time/elder-interval-picker/elder-interval-picker-binding.directive.mjs +1 -1
  479. package/esm2022/lib/components/time/elder-interval-picker/elder-interval-picker-toggle/elder-interval-picker-toggle.component.mjs +15 -18
  480. package/esm2022/lib/components/time/elder-interval-picker/elder-interval-picker.component.mjs +8 -11
  481. package/esm2022/lib/components/time/elder-interval-picker/elder-interval-picker.service.mjs +16 -11
  482. package/esm2022/lib/components/time/elder-local-date-input/elder-local-date-input.component.mjs +22 -13
  483. package/esm2022/lib/components/time/elder-local-time-input/elder-local-time-input.component.mjs +7 -13
  484. package/esm2022/lib/components/time/elder-time.module.mjs +29 -21
  485. package/esm2022/lib/components/time/period/elder-period-input/elder-period-input.component.mjs +6 -12
  486. package/esm2022/lib/components/time/period/period-bucket.mjs +1 -1
  487. package/esm2022/lib/components/time/period/period-format.mjs +1 -1
  488. package/esm2022/lib/components/time/pipes/to-iso-date-string.pipe.mjs +2 -2
  489. package/esm2022/lib/components/time/public_api.mjs +1 -1
  490. package/esm2022/lib/components/toasts/elder-toast.module.mjs +18 -4
  491. package/esm2022/lib/components/toasts/elder-toast.service.mjs +9 -10
  492. package/esm2022/lib/components/toasts/standard-toast/standard-toast.component.mjs +21 -14
  493. package/esm2022/lib/components/toasts/toast-type.mjs +1 -1
  494. package/esm2022/lib/components/toasts/toast.mjs +1 -1
  495. package/esm2022/lib/components/url-fragment/elder-url-fragment.mjs +1 -1
  496. package/esm2022/lib/components/url-fragment/elder-url-fragment.module.mjs +3 -5
  497. package/esm2022/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.mjs +16 -5
  498. package/esm2022/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.mjs +3 -4
  499. package/esm2022/lib/components/viewers/elder-viewers.module.mjs +4 -10
  500. package/esm2022/lib/features/event-source/fetch/public_api.mjs +1 -1
  501. package/esm2022/lib/features/event-source/fetch/reactive-fetch-event-source.mjs +14 -14
  502. package/esm2022/lib/features/event-source/fetch/reactive-fetch-event-source.service.mjs +2 -2
  503. package/esm2022/lib/features/event-source/public_api.mjs +1 -1
  504. package/esm2022/lib/features/event-source/standard/elder-event-source.service.mjs +2 -2
  505. package/esm2022/lib/features/event-source/standard/public_api.mjs +1 -1
  506. package/esm2022/lib/features/event-source/standard/reactive-event-source.mjs +8 -7
  507. package/esm2022/lib/features/kafent/access-token-provider.mjs +1 -1
  508. package/esm2022/lib/features/kafent/kafent-config.mjs +1 -1
  509. package/esm2022/lib/features/kafent/kafent-event-stream.mjs +1 -1
  510. package/esm2022/lib/features/kafent/kafent-event.mjs +1 -1
  511. package/esm2022/lib/features/kafent/kafent-event.service.mjs +16 -8
  512. package/esm2022/lib/features/kafent/kafent-live-event-request.mjs +1 -1
  513. package/esm2022/lib/features/kafent/kafent.module.mjs +10 -13
  514. package/esm2022/lib/features/kafent/sse/kafent-event-stream-sse.service.mjs +12 -9
  515. package/esm2022/lib/features/kafent/sse/kafent-topic-sse.mjs +2 -3
  516. package/esm2022/lib/features/public_api.mjs +1 -1
  517. package/esm2022/lib/pipes/bytes.pipe.mjs +2 -2
  518. package/esm2022/lib/pipes/elder-pipes.module.mjs +52 -8
  519. package/esm2022/lib/pipes/elder-repeat.pipe.mjs +2 -2
  520. package/esm2022/lib/pipes/elder-round.pipe.mjs +2 -2
  521. package/esm2022/lib/pipes/elder-safe-url.pipe.mjs +2 -2
  522. package/esm2022/lib/pipes/elder-truncate.pipe.mjs +3 -3
  523. package/esm2022/lib/pipes/iso-duration.pipe.mjs +2 -2
  524. package/esm2022/lib/pipes/iso-interval-parse.pipe.mjs +4 -5
  525. package/esm2022/lib/pipes/iso-interval.pipe.mjs +2 -2
  526. package/esm2022/lib/pipes/public_api.mjs +1 -1
  527. package/esm2022/lib/pipes/time-ago.pipe.mjs +12 -7
  528. package/esm2022/lib/pipes/time-duration.pipe.mjs +6 -4
  529. package/esm2022/lib/pipes/weight.pipe.mjs +4 -3
  530. package/esm2022/public_api.mjs +1 -1
  531. package/fesm2022/elderbyte-ngx-starter.mjs +3054 -2329
  532. package/fesm2022/elderbyte-ngx-starter.mjs.map +1 -1
  533. package/lib/common/arrays.d.ts +1 -1
  534. package/lib/common/data/data-context/data-context-active-page.d.ts +1 -1
  535. package/lib/common/data/data-context/data-context-base.d.ts +1 -1
  536. package/lib/common/data/data-context/data-context-builder.d.ts +2 -2
  537. package/lib/common/data/data-context/data-context-continuable-base.d.ts +1 -1
  538. package/lib/common/data/data-context/data-context-continuable-paged.d.ts +1 -1
  539. package/lib/common/data/data-context/data-context-continuable-token.d.ts +1 -1
  540. package/lib/common/data/data-context/data-context-simple.d.ts +1 -1
  541. package/lib/common/data/data-context/data-context-source-event-binding.d.ts +2 -5
  542. package/lib/common/data/datasource/data-source-change-event.d.ts +14 -5
  543. package/lib/common/data/datasource/local/local-list-data-source.d.ts +3 -3
  544. package/lib/common/data/datasource/local/local-paged-data-source.d.ts +1 -1
  545. package/lib/common/data/datasource/patch/deep-partial-patcher.d.ts +28 -0
  546. package/lib/common/json-map.d.ts +1 -1
  547. package/lib/common/selection/selection-model.d.ts +2 -2
  548. package/lib/common/time/interval.d.ts +4 -4
  549. package/lib/common/time/temporal-util.d.ts +2 -0
  550. package/lib/common/utils/collection-util.d.ts +1 -1
  551. package/lib/components/card-organizer/card-organizer-data.d.ts +3 -3
  552. package/lib/components/card-organizer/card-stack.d.ts +2 -2
  553. package/lib/components/data-view/base/elder-data-view-options-provider.d.ts +1 -1
  554. package/lib/components/data-view/common/elder-data-common.module.d.ts +1 -1
  555. package/lib/components/data-view/elder-data-view-interaction-mode.d.ts +2 -2
  556. package/lib/components/data-view/grid/elder-grid.module.d.ts +1 -1
  557. package/lib/components/forms/search/elder-search-input.directive.d.ts +1 -1
  558. package/lib/components/navigation/toolbar/elder-toolbar.module.d.ts +1 -1
  559. package/lib/components/navigation/toolbar/toolbar-column-position.d.ts +3 -3
  560. package/lib/components/select/elder-select.module.d.ts +1 -1
  561. package/lib/components/time/elder-interval-input/elder-interval-input.component.d.ts +4 -4
  562. package/lib/components/time/elder-interval-picker/elder-interval-picker-toggle/elder-interval-picker-toggle.component.d.ts +2 -2
  563. package/lib/components/time/elder-interval-picker/elder-interval-picker.component.d.ts +2 -1
  564. package/lib/components/time/elder-interval-picker/elder-interval-picker.service.d.ts +4 -2
  565. package/package.json +1 -1
  566. package/src/assets/i18n/de.json +0 -1
  567. package/src/assets/i18n/en.json +0 -1
  568. package/src/lib/components/access-denied/elder-access-denied.component.scss +1 -5
  569. package/src/lib/components/auditing/audited-entity/elder-audited-entity.component.scss +0 -1
  570. package/src/lib/components/badge/elder-badge/elder-badge.component.scss +2 -7
  571. package/src/lib/components/card-organizer/card-organizer/elder-card-organizer.component.scss +0 -1
  572. package/src/lib/components/card-organizer/card-stack/elder-card-stack.component.scss +4 -14
  573. package/src/lib/components/cards/elder-card/elder-card.component.scss +3 -9
  574. package/src/lib/components/chips/_elder-chip-theme.scss +5 -9
  575. package/src/lib/components/containers/elder-scroll-container/elder-scroll-container.component.scss +0 -1
  576. package/src/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.scss +0 -1
  577. package/src/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.scss +0 -1
  578. package/src/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.scss +4 -5
  579. package/src/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.scss +1 -1
  580. package/src/lib/components/data-view/grid/elder-grid/elder-grid.component.scss +21 -13
  581. package/src/lib/components/data-view/table/elder-table/elder-table.component.scss +12 -21
  582. package/src/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.scss +2 -3
  583. package/src/lib/components/errors/exception-detail/elder-exception-detail.component.scss +2 -4
  584. package/src/lib/components/expand-toggle-button/elder-expand-toggle-button.component.scss +0 -4
  585. package/src/lib/components/files/blob-viewer/elder-blob-viewer.component.scss +2 -4
  586. package/src/lib/components/files/drag-n-drop/elder-drop-zone/elder-drop-zone.component.scss +2 -7
  587. package/src/lib/components/forms/search/search-box/elder-search-box.component.scss +0 -2
  588. package/src/lib/components/global-search/elder-global-search.component.scss +1 -2
  589. package/src/lib/components/graph/elder-progress-bar/elder-progress-bar.component.scss +0 -1
  590. package/src/lib/components/iframes/iframe-host/iframe-host.component.scss +0 -1
  591. package/src/lib/components/labels/labels-input/labels-input.component.scss +0 -2
  592. package/src/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.scss +0 -2
  593. package/src/lib/components/navigation/nav/_elder-nav-theme.scss +4 -8
  594. package/src/lib/components/navigation/nav/nav-group/elder-nav-group.component.scss +6 -6
  595. package/src/lib/components/navigation/nav/nav-list/elder-nav-list.component.scss +0 -1
  596. package/src/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.scss +1 -2
  597. package/src/lib/components/panels/card-panel/elder-card-panel.component.scss +0 -3
  598. package/src/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.scss +0 -1
  599. package/src/lib/components/panels/flat/_elder-panel-theme.scss +0 -2
  600. package/src/lib/components/panels/flat/elder-panel.component.scss +1 -2
  601. package/src/lib/components/select/_elder-select-base.scss +0 -1
  602. package/src/lib/components/select/filter/elder-filter-chip-template/elder-filter-chip-template.component.scss +7 -7
  603. package/src/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component.scss +3 -4
  604. package/src/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.scss +7 -7
  605. package/src/lib/components/select/single/elder-select/elder-select.component.scss +1 -1
  606. package/src/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.scss +2 -3
  607. package/src/lib/components/shell/header/elder-app-header/elder-app-header.component.scss +1 -2
  608. package/src/lib/components/shell/shell/elder-shell.component.scss +0 -1
  609. package/src/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.scss +1 -2
  610. package/src/lib/components/time/_elder-time-input.theme.scss +2 -2
  611. package/src/lib/components/time/duration/elder-duration-input/elder-duration-input.component.scss +0 -4
  612. package/src/lib/components/time/elder-date-time-input/elder-date-time-input.component.scss +1 -3
  613. package/src/lib/components/time/elder-interval-input/elder-interval-input.component.scss +0 -1
  614. package/src/lib/components/time/elder-local-date-input/elder-local-date-input.component.scss +2 -5
  615. package/src/lib/components/time/period/elder-period-input/elder-period-input.component.scss +0 -4
  616. package/src/lib/components/toasts/standard-toast/standard-toast.component.scss +0 -1
  617. package/src/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.scss +0 -5
  618. package/src/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.scss +0 -1
  619. package/theming/_elder-common.scss +10 -11
  620. package/theming/_elder-defaults.scss +2 -4
  621. package/theming/_elder-flex-layout.scss +7 -8
  622. package/theming/_elder-mdc-support.scss +22 -19
  623. package/theming/_elder-palettes.scss +28 -25
  624. package/theming/_elder-scrollbar-theme.scss +0 -2
  625. package/theming/_elder-style-fixes.scss +10 -7
  626. package/theming/_elder-theme.scss +6 -1
  627. package/theming/_elder-toast-theme.scss +0 -2
  628. package/theming/_mat-icon-button-size.scss +3 -2
  629. package/theming/_mixins.scss +11 -9
@@ -1,4 +1,4 @@
1
- import { isContinuableDataSource, isListDataSource, isPagedDataSource } from './data-source';
1
+ import { isContinuableDataSource, isListDataSource, isPagedDataSource, } from './data-source';
2
2
  import { Pageable } from '../page';
3
3
  import { filter, map } from 'rxjs/operators';
4
4
  import { TokenChunkRequest } from '../token-chunk-request';
@@ -35,7 +35,7 @@ export class DataSourceAdapter {
35
35
  * @param sorts
36
36
  */
37
37
  findFirst(filters, sorts = []) {
38
- return this.findAll(filters, sorts, 1).pipe(filter(data => (data && data.length > 0)), map(data => data[0]));
38
+ return this.findAll(filters, sorts, 1).pipe(filter((data) => data && data.length > 0), map((data) => data[0]));
39
39
  }
40
40
  /**
41
41
  * Find all items which match the given filters.
@@ -45,11 +45,15 @@ export class DataSourceAdapter {
45
45
  return this.dataSource.findAllFiltered(filters, sorts);
46
46
  }
47
47
  else if (isPagedDataSource(this.dataSource)) {
48
- return this.dataSource.findAllPaged(new Pageable(0, limit, sorts), filters).pipe(map(page => page.content));
48
+ return this.dataSource
49
+ .findAllPaged(new Pageable(0, limit, sorts), filters)
50
+ .pipe(map((page) => page.content));
49
51
  }
50
52
  else if (isContinuableDataSource(this.dataSource)) {
51
- return this.dataSource.findAllContinuable(new TokenChunkRequest(null, filters, sorts)).pipe(map(page => page.content));
53
+ return this.dataSource
54
+ .findAllContinuable(new TokenChunkRequest(null, filters, sorts))
55
+ .pipe(map((page) => page.content));
52
56
  }
53
57
  }
54
58
  }
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2UtYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9kYXRhL2RhdGFzb3VyY2UvZGF0YS1zb3VyY2UtYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsdUJBQXVCLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFJeEcsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLFNBQVMsQ0FBQztBQUNqQyxPQUFPLEVBQUMsTUFBTSxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBRXpELE1BQU0sT0FBTyxpQkFBaUI7SUFFNUI7Ozs7Z0ZBSTRFO0lBRXJFLE1BQU0sQ0FBQyxJQUFJLENBQUksVUFBMEI7UUFDOUMsT0FBTyxJQUFJLGlCQUFpQixDQUFJLFVBQVUsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRDs7OztnRkFJNEU7SUFHNUU7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ21CLFVBQTBCO1FBQTFCLGVBQVUsR0FBVixVQUFVLENBQWdCO0lBRzdDLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFNUU7Ozs7T0FJRztJQUNJLFNBQVMsQ0FDZCxPQUFpQixFQUNqQixRQUFnQixFQUFFO1FBRWxCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDekMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUN6QyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDckIsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNJLE9BQU8sQ0FDWixPQUFpQixFQUNqQixRQUFnQixFQUFFLEVBQ2xCLEtBQUssR0FBRyxFQUFFO1FBRVYsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUN0QyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUNwQyxPQUFPLEVBQ1AsS0FBSyxDQUNOLENBQUM7UUFDSixDQUFDO2FBQU0sSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUM5QyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUNqQyxJQUFJLFFBQVEsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUM3QixPQUFPLENBQ1IsQ0FBQyxJQUFJLENBQ0osR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUMxQixDQUFDO1FBQ0osQ0FBQzthQUFNLElBQUksdUJBQXVCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDcEQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUN2QyxJQUFJLGlCQUFpQixDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQzVDLENBQUMsSUFBSSxDQUNKLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FDMUIsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0NBUUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0lEYXRhU291cmNlLCBpc0NvbnRpbnVhYmxlRGF0YVNvdXJjZSwgaXNMaXN0RGF0YVNvdXJjZSwgaXNQYWdlZERhdGFTb3VyY2V9IGZyb20gJy4vZGF0YS1zb3VyY2UnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7RmlsdGVyfSBmcm9tICcuLi9maWx0ZXJzL2ZpbHRlcic7XG5pbXBvcnQge1NvcnR9IGZyb20gJy4uL3NvcnQnO1xuaW1wb3J0IHtQYWdlYWJsZX0gZnJvbSAnLi4vcGFnZSc7XG5pbXBvcnQge2ZpbHRlciwgbWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1Rva2VuQ2h1bmtSZXF1ZXN0fSBmcm9tICcuLi90b2tlbi1jaHVuay1yZXF1ZXN0JztcblxuZXhwb3J0IGNsYXNzIERhdGFTb3VyY2VBZGFwdGVyPFQ+IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogU3RhdGljIEJ1aWxkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgc3RhdGljIGZyb208VD4oZGF0YVNvdXJjZTogSURhdGFTb3VyY2U8VD4pOiBEYXRhU291cmNlQWRhcHRlcjxUPiB7XG4gICAgcmV0dXJuIG5ldyBEYXRhU291cmNlQWRhcHRlcjxUPihkYXRhU291cmNlKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBkYXRhU291cmNlOiBJRGF0YVNvdXJjZTxUPixcbiAgKSB7XG5cbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBmaXJzdCBpdGVtIHdoaWNoIG1hdGNoZXMgdGhlIGdpdmVuIGZpbHRlciAvIHNvcnRcbiAgICogQHBhcmFtIGZpbHRlcnNcbiAgICogQHBhcmFtIHNvcnRzXG4gICAqL1xuICBwdWJsaWMgZmluZEZpcnN0KFxuICAgIGZpbHRlcnM6IEZpbHRlcltdLFxuICAgIHNvcnRzOiBTb3J0W10gPSBbXVxuICApOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICByZXR1cm4gdGhpcy5maW5kQWxsKGZpbHRlcnMsIHNvcnRzLCAxKS5waXBlKFxuICAgICAgZmlsdGVyKGRhdGEgPT4gKGRhdGEgJiYgZGF0YS5sZW5ndGggPiAwKSksXG4gICAgICBtYXAoZGF0YSA9PiBkYXRhWzBdKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRmluZCBhbGwgaXRlbXMgd2hpY2ggbWF0Y2ggdGhlIGdpdmVuIGZpbHRlcnMuXG4gICAqL1xuICBwdWJsaWMgZmluZEFsbChcbiAgICBmaWx0ZXJzOiBGaWx0ZXJbXSxcbiAgICBzb3J0czogU29ydFtdID0gW10sXG4gICAgbGltaXQgPSA1MFxuICApOiBPYnNlcnZhYmxlPFRbXT4ge1xuICAgIGlmIChpc0xpc3REYXRhU291cmNlKHRoaXMuZGF0YVNvdXJjZSkpIHtcbiAgICAgIHJldHVybiB0aGlzLmRhdGFTb3VyY2UuZmluZEFsbEZpbHRlcmVkKFxuICAgICAgICBmaWx0ZXJzLFxuICAgICAgICBzb3J0c1xuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKGlzUGFnZWREYXRhU291cmNlKHRoaXMuZGF0YVNvdXJjZSkpIHtcbiAgICAgIHJldHVybiB0aGlzLmRhdGFTb3VyY2UuZmluZEFsbFBhZ2VkKFxuICAgICAgICBuZXcgUGFnZWFibGUoMCwgbGltaXQsIHNvcnRzKSxcbiAgICAgICAgZmlsdGVyc1xuICAgICAgKS5waXBlKFxuICAgICAgICBtYXAocGFnZSA9PiBwYWdlLmNvbnRlbnQpXG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAoaXNDb250aW51YWJsZURhdGFTb3VyY2UodGhpcy5kYXRhU291cmNlKSkge1xuICAgICAgcmV0dXJuIHRoaXMuZGF0YVNvdXJjZS5maW5kQWxsQ29udGludWFibGUoXG4gICAgICAgIG5ldyBUb2tlbkNodW5rUmVxdWVzdChudWxsLCBmaWx0ZXJzLCBzb3J0cylcbiAgICAgICkucGlwZShcbiAgICAgICAgbWFwKHBhZ2UgPT4gcGFnZS5jb250ZW50KVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxufVxuIl19
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2UtYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9kYXRhL2RhdGFzb3VyY2UvZGF0YS1zb3VyY2UtYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLGdCQUFnQixFQUNoQixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUE7QUFJdEIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUNsQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzVDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBRTFELE1BQU0sT0FBTyxpQkFBaUI7SUFDNUI7Ozs7Z0ZBSTRFO0lBRXJFLE1BQU0sQ0FBQyxJQUFJLENBQUksVUFBMEI7UUFDOUMsT0FBTyxJQUFJLGlCQUFpQixDQUFJLFVBQVUsQ0FBQyxDQUFBO0lBQzdDLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFNUU7Ozs7Z0ZBSTRFO0lBRTVFLFlBQTZCLFVBQTBCO1FBQTFCLGVBQVUsR0FBVixVQUFVLENBQWdCO0lBQUcsQ0FBQztJQUUzRDs7OztnRkFJNEU7SUFFNUU7Ozs7T0FJRztJQUNJLFNBQVMsQ0FBQyxPQUFpQixFQUFFLFFBQWdCLEVBQUU7UUFDcEQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUN6QyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUN6QyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUN2QixDQUFBO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ksT0FBTyxDQUFDLE9BQWlCLEVBQUUsUUFBZ0IsRUFBRSxFQUFFLEtBQUssR0FBRyxFQUFFO1FBQzlELElBQUksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDdEMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFDeEQsQ0FBQzthQUFNLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDOUMsT0FBTyxJQUFJLENBQUMsVUFBVTtpQkFDbkIsWUFBWSxDQUFDLElBQUksUUFBUSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxDQUFDO2lCQUNwRCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQTtRQUN0QyxDQUFDO2FBQU0sSUFBSSx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUNwRCxPQUFPLElBQUksQ0FBQyxVQUFVO2lCQUNuQixrQkFBa0IsQ0FBQyxJQUFJLGlCQUFpQixDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7aUJBQy9ELElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFBO1FBQ3RDLENBQUM7SUFDSCxDQUFDO0NBT0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBJRGF0YVNvdXJjZSxcbiAgaXNDb250aW51YWJsZURhdGFTb3VyY2UsXG4gIGlzTGlzdERhdGFTb3VyY2UsXG4gIGlzUGFnZWREYXRhU291cmNlLFxufSBmcm9tICcuL2RhdGEtc291cmNlJ1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBGaWx0ZXIgfSBmcm9tICcuLi9maWx0ZXJzL2ZpbHRlcidcbmltcG9ydCB7IFNvcnQgfSBmcm9tICcuLi9zb3J0J1xuaW1wb3J0IHsgUGFnZWFibGUgfSBmcm9tICcuLi9wYWdlJ1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCB7IFRva2VuQ2h1bmtSZXF1ZXN0IH0gZnJvbSAnLi4vdG9rZW4tY2h1bmstcmVxdWVzdCdcblxuZXhwb3J0IGNsYXNzIERhdGFTb3VyY2VBZGFwdGVyPFQ+IHtcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFN0YXRpYyBCdWlsZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIHN0YXRpYyBmcm9tPFQ+KGRhdGFTb3VyY2U6IElEYXRhU291cmNlPFQ+KTogRGF0YVNvdXJjZUFkYXB0ZXI8VD4ge1xuICAgIHJldHVybiBuZXcgRGF0YVNvdXJjZUFkYXB0ZXI8VD4oZGF0YVNvdXJjZSlcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZGF0YVNvdXJjZTogSURhdGFTb3VyY2U8VD4pIHt9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGZpcnN0IGl0ZW0gd2hpY2ggbWF0Y2hlcyB0aGUgZ2l2ZW4gZmlsdGVyIC8gc29ydFxuICAgKiBAcGFyYW0gZmlsdGVyc1xuICAgKiBAcGFyYW0gc29ydHNcbiAgICovXG4gIHB1YmxpYyBmaW5kRmlyc3QoZmlsdGVyczogRmlsdGVyW10sIHNvcnRzOiBTb3J0W10gPSBbXSk6IE9ic2VydmFibGU8VD4ge1xuICAgIHJldHVybiB0aGlzLmZpbmRBbGwoZmlsdGVycywgc29ydHMsIDEpLnBpcGUoXG4gICAgICBmaWx0ZXIoKGRhdGEpID0+IGRhdGEgJiYgZGF0YS5sZW5ndGggPiAwKSxcbiAgICAgIG1hcCgoZGF0YSkgPT4gZGF0YVswXSlcbiAgICApXG4gIH1cblxuICAvKipcbiAgICogRmluZCBhbGwgaXRlbXMgd2hpY2ggbWF0Y2ggdGhlIGdpdmVuIGZpbHRlcnMuXG4gICAqL1xuICBwdWJsaWMgZmluZEFsbChmaWx0ZXJzOiBGaWx0ZXJbXSwgc29ydHM6IFNvcnRbXSA9IFtdLCBsaW1pdCA9IDUwKTogT2JzZXJ2YWJsZTxUW10+IHtcbiAgICBpZiAoaXNMaXN0RGF0YVNvdXJjZSh0aGlzLmRhdGFTb3VyY2UpKSB7XG4gICAgICByZXR1cm4gdGhpcy5kYXRhU291cmNlLmZpbmRBbGxGaWx0ZXJlZChmaWx0ZXJzLCBzb3J0cylcbiAgICB9IGVsc2UgaWYgKGlzUGFnZWREYXRhU291cmNlKHRoaXMuZGF0YVNvdXJjZSkpIHtcbiAgICAgIHJldHVybiB0aGlzLmRhdGFTb3VyY2VcbiAgICAgICAgLmZpbmRBbGxQYWdlZChuZXcgUGFnZWFibGUoMCwgbGltaXQsIHNvcnRzKSwgZmlsdGVycylcbiAgICAgICAgLnBpcGUobWFwKChwYWdlKSA9PiBwYWdlLmNvbnRlbnQpKVxuICAgIH0gZWxzZSBpZiAoaXNDb250aW51YWJsZURhdGFTb3VyY2UodGhpcy5kYXRhU291cmNlKSkge1xuICAgICAgcmV0dXJuIHRoaXMuZGF0YVNvdXJjZVxuICAgICAgICAuZmluZEFsbENvbnRpbnVhYmxlKG5ldyBUb2tlbkNodW5rUmVxdWVzdChudWxsLCBmaWx0ZXJzLCBzb3J0cykpXG4gICAgICAgIC5waXBlKG1hcCgocGFnZSkgPT4gcGFnZS5jb250ZW50KSlcbiAgICB9XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbn1cbiJdfQ==
@@ -35,4 +35,4 @@ export class DataSourceBase {
35
35
  return EntityIdUtil.getId(entity, this.idProperty);
36
36
  }
37
37
  }
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2UtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9kYXRhL2RhdGFzb3VyY2UvZGF0YS1zb3VyY2UtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQWEsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUU5QyxNQUFNLE9BQWdCLGNBQWM7SUFVbEM7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ3FCLFVBQXlCO1FBQXpCLGVBQVUsR0FBVixVQUFVLENBQWU7UUFmOUM7Ozs7b0ZBSTRFO1FBRTNELHNCQUFpQixHQUFHLElBQUksT0FBTyxFQUE0QixDQUFDO0lBVTFFLENBQUM7SUFFSjs7OztnRkFJNEU7SUFFNUUsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQy9DLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFckUsa0JBQWtCLENBQUMsQ0FBMkI7UUFDbkQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRU0sS0FBSyxDQUFDLE1BQVM7UUFDcEIsT0FBTyxZQUFZLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDckQsQ0FBQztDQVlGIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQge0lEYXRhU291cmNlfSBmcm9tICcuL2RhdGEtc291cmNlJztcbmltcG9ydCB7RGF0YVNvdXJjZUNoYW5nZUV2ZW50fSBmcm9tICcuL2RhdGEtc291cmNlLWNoYW5nZS1ldmVudCc7XG5pbXBvcnQge09ic2VydmFibGUsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtFbnRpdHlJZFV0aWx9IGZyb20gJy4vZW50aXR5LWlkLXV0aWwnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGF0YVNvdXJjZUJhc2U8VD4gaW1wbGVtZW50cyBJRGF0YVNvdXJjZTxUPiB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBkYXRhQ2hhbmdlRXZlbnRzJCA9IG5ldyBTdWJqZWN0PERhdGFTb3VyY2VDaGFuZ2VFdmVudDxUPj4oKTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaWRQcm9wZXJ0eTogc3RyaW5nIHwgbnVsbFxuICApIHt9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGdldCBkYXRhQ2hhbmdlZCgpOiBPYnNlcnZhYmxlPERhdGFTb3VyY2VDaGFuZ2VFdmVudDxUPj4ge1xuICAgIHJldHVybiB0aGlzLmRhdGFDaGFuZ2VFdmVudHMkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIHB1Ymxpc2hDaGFuZ2VFdmVudChlOiBEYXRhU291cmNlQ2hhbmdlRXZlbnQ8VD4pOiB2b2lkIHtcbiAgICB0aGlzLmRhdGFDaGFuZ2VFdmVudHMkLm5leHQoZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0SWQoZW50aXR5OiBUKTogYW55IHtcbiAgICByZXR1cm4gRW50aXR5SWRVdGlsLmdldElkKGVudGl0eSwgdGhpcy5pZFByb3BlcnR5KTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBBYnN0cmFjdCBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGFic3RyYWN0IGZpbmRCeUlkKGlkOiBhbnkpOiBPYnNlcnZhYmxlPFQ+O1xuXG4gIGFic3RyYWN0IGZpbmRCeUlkcyhpZHM6IGFueVtdKTogT2JzZXJ2YWJsZTxUW10+O1xuXG59XG4iXX0=
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2UtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9kYXRhL2RhdGFzb3VyY2UvZGF0YS1zb3VyY2UtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUUvQyxNQUFNLE9BQWdCLGNBQWM7SUFTbEM7Ozs7Z0ZBSTRFO0lBRTVFLFlBQStCLFVBQXlCO1FBQXpCLGVBQVUsR0FBVixVQUFVLENBQWU7UUFkeEQ7Ozs7b0ZBSTRFO1FBRTNELHNCQUFpQixHQUFHLElBQUksT0FBTyxFQUE0QixDQUFBO0lBUWpCLENBQUM7SUFFNUQ7Ozs7Z0ZBSTRFO0lBRTVFLElBQVcsV0FBVztRQUNwQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQTtJQUM5QyxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXJFLGtCQUFrQixDQUFDLENBQTJCO1FBQ25ELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDaEMsQ0FBQztJQUVNLEtBQUssQ0FBQyxNQUFTO1FBQ3BCLE9BQU8sWUFBWSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ3BELENBQUM7Q0FXRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElEYXRhU291cmNlIH0gZnJvbSAnLi9kYXRhLXNvdXJjZSdcbmltcG9ydCB7IERhdGFTb3VyY2VDaGFuZ2VFdmVudCB9IGZyb20gJy4vZGF0YS1zb3VyY2UtY2hhbmdlLWV2ZW50J1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBFbnRpdHlJZFV0aWwgfSBmcm9tICcuL2VudGl0eS1pZC11dGlsJ1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGF0YVNvdXJjZUJhc2U8VD4gaW1wbGVtZW50cyBJRGF0YVNvdXJjZTxUPiB7XG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZGF0YUNoYW5nZUV2ZW50cyQgPSBuZXcgU3ViamVjdDxEYXRhU291cmNlQ2hhbmdlRXZlbnQ8VD4+KClcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgcmVhZG9ubHkgaWRQcm9wZXJ0eTogc3RyaW5nIHwgbnVsbCkge31cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgZ2V0IGRhdGFDaGFuZ2VkKCk6IE9ic2VydmFibGU8RGF0YVNvdXJjZUNoYW5nZUV2ZW50PFQ+PiB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YUNoYW5nZUV2ZW50cyQuYXNPYnNlcnZhYmxlKClcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBwdWJsaXNoQ2hhbmdlRXZlbnQoZTogRGF0YVNvdXJjZUNoYW5nZUV2ZW50PFQ+KTogdm9pZCB7XG4gICAgdGhpcy5kYXRhQ2hhbmdlRXZlbnRzJC5uZXh0KGUpXG4gIH1cblxuICBwdWJsaWMgZ2V0SWQoZW50aXR5OiBUKTogYW55IHtcbiAgICByZXR1cm4gRW50aXR5SWRVdGlsLmdldElkKGVudGl0eSwgdGhpcy5pZFByb3BlcnR5KVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEFic3RyYWN0IG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgYWJzdHJhY3QgZmluZEJ5SWQoaWQ6IGFueSk6IE9ic2VydmFibGU8VD5cblxuICBhYnN0cmFjdCBmaW5kQnlJZHMoaWRzOiBhbnlbXSk6IE9ic2VydmFibGU8VFtdPlxufVxuIl19
@@ -1,24 +1,34 @@
1
- export var DataSourceChangeType;
2
- (function (DataSourceChangeType) {
3
- })(DataSourceChangeType || (DataSourceChangeType = {}));
1
+ export class DataSourceEntityPatch {
2
+ constructor(entityId, patch) {
3
+ this.entityId = entityId;
4
+ this.patch = patch;
5
+ }
6
+ }
7
+ /**
8
+ * Notifies about changes in a DataSource.
9
+ */
4
10
  export class DataSourceChangeEvent {
5
11
  static unknownChanges() {
6
- return new DataSourceChangeEvent(null, null, null);
12
+ return new DataSourceChangeEvent(null, null, null, null);
7
13
  }
8
14
  static deleted(ids) {
9
- return new DataSourceChangeEvent(ids, null, null);
15
+ return new DataSourceChangeEvent(ids, null, null, null);
10
16
  }
11
17
  static modified(modified) {
12
- return new DataSourceChangeEvent(null, modified, null);
18
+ return new DataSourceChangeEvent(null, modified, null, null);
13
19
  }
14
20
  static created(created) {
15
- return new DataSourceChangeEvent(null, null, created);
21
+ return new DataSourceChangeEvent(null, null, created, null);
22
+ }
23
+ static patched(patches) {
24
+ return new DataSourceChangeEvent(null, null, null, patches);
16
25
  }
17
- constructor(deletedIds, modified, created) {
26
+ constructor(deletedIds, modified, created, patches) {
18
27
  this.deletedIds = deletedIds;
19
28
  this.modified = modified;
20
29
  this.created = created;
21
- this.unknownChanges = !deletedIds && !modified && !created;
30
+ this.patches = patches;
31
+ this.unknownChanges = !deletedIds && !modified && !created && !patches;
22
32
  }
23
33
  }
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2UtY2hhbmdlLWV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL2RhdGEvZGF0YXNvdXJjZS9kYXRhLXNvdXJjZS1jaGFuZ2UtZXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsTUFBTSxDQUFOLElBQVksb0JBRVg7QUFGRCxXQUFZLG9CQUFvQjtBQUVoQyxDQUFDLEVBRlcsb0JBQW9CLEtBQXBCLG9CQUFvQixRQUUvQjtBQUdELE1BQU0sT0FBTyxxQkFBcUI7SUFFekIsTUFBTSxDQUFFLGNBQWM7UUFDM0IsT0FBTyxJQUFJLHFCQUFxQixDQUFJLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVNLE1BQU0sQ0FBRSxPQUFPLENBQU0sR0FBVTtRQUNwQyxPQUFPLElBQUkscUJBQXFCLENBQVcsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRU0sTUFBTSxDQUFFLFFBQVEsQ0FBSSxRQUFhO1FBQ3RDLE9BQU8sSUFBSSxxQkFBcUIsQ0FBSSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFTSxNQUFNLENBQUUsT0FBTyxDQUFJLE9BQVk7UUFDcEMsT0FBTyxJQUFJLHFCQUFxQixDQUFJLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQVlELFlBQ2tCLFVBQWlCLEVBQ2pCLFFBQWEsRUFDYixPQUFZO1FBRlosZUFBVSxHQUFWLFVBQVUsQ0FBTztRQUNqQixhQUFRLEdBQVIsUUFBUSxDQUFLO1FBQ2IsWUFBTyxHQUFQLE9BQU8sQ0FBSztRQUU1QixJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsVUFBVSxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQzdELENBQUM7Q0FJRiIsInNvdXJjZXNDb250ZW50IjpbIlxuZXhwb3J0IGVudW0gRGF0YVNvdXJjZUNoYW5nZVR5cGUge1xuXG59XG5cblxuZXhwb3J0IGNsYXNzIERhdGFTb3VyY2VDaGFuZ2VFdmVudDxULCBUSWQgPSBhbnk+IHtcblxuICBwdWJsaWMgc3RhdGljICB1bmtub3duQ2hhbmdlczxUPigpOiBEYXRhU291cmNlQ2hhbmdlRXZlbnQ8VD4ge1xuICAgIHJldHVybiBuZXcgRGF0YVNvdXJjZUNoYW5nZUV2ZW50PFQ+KG51bGwsIG51bGwsIG51bGwpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyAgZGVsZXRlZDxUSWQ+KGlkczogVElkW10pOiBEYXRhU291cmNlQ2hhbmdlRXZlbnQ8YW55LCBUSWQ+IHtcbiAgICByZXR1cm4gbmV3IERhdGFTb3VyY2VDaGFuZ2VFdmVudDxhbnksIFRJZD4oaWRzLCBudWxsLCBudWxsKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgIG1vZGlmaWVkPFQ+KG1vZGlmaWVkOiBUW10pOiBEYXRhU291cmNlQ2hhbmdlRXZlbnQ8VD4ge1xuICAgIHJldHVybiBuZXcgRGF0YVNvdXJjZUNoYW5nZUV2ZW50PFQ+KG51bGwsIG1vZGlmaWVkLCBudWxsKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgIGNyZWF0ZWQ8VD4oY3JlYXRlZDogVFtdKTogRGF0YVNvdXJjZUNoYW5nZUV2ZW50PFQ+IHtcbiAgICByZXR1cm4gbmV3IERhdGFTb3VyY2VDaGFuZ2VFdmVudDxUPihudWxsLCBudWxsLCBjcmVhdGVkKTtcbiAgfVxuXG4gIC8vIGVudGl0aWVzIC0+IGRhdGEgbXVzdCBiZSB1cGRhdGVkIHdpdGggbmV3IHZlcnNpb25zXG4gIC8vIGVudGl0eS1pZHMgLT4gbXVzdCBiZSBkb3dubG9hZGVkIGZpbmRCeUlkcygpIGFuZCBkYXRhIHVwZGF0ZWRcbiAgLy8gZW50aXR5LXBhdGNoZXMgLT4gZW50aXR5IG11c3QgYmUgbG9va2VkIHVwICYgYXBwbGllZCBsb2NhbGx5ICYgcmVwbGFjZWRcblxuICAvLyBjb25zdCBlbnRpdHkgPSBkYy5maW5kQnlJZChlbnRpdHktaWQpO1xuICAvLyBkYy5yZXBsYWNlKGVudGl0eSk7XG4gIC8vIGRjLnJlcGxhY2VBbGwoZW50aXRpZXMpO1xuXG4gIHB1YmxpYyByZWFkb25seSB1bmtub3duQ2hhbmdlczogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgZGVsZXRlZElkczogVElkW10sXG4gICAgcHVibGljIHJlYWRvbmx5IG1vZGlmaWVkOiBUW10sXG4gICAgcHVibGljIHJlYWRvbmx5IGNyZWF0ZWQ6IFRbXVxuICApIHtcbiAgICB0aGlzLnVua25vd25DaGFuZ2VzID0gIWRlbGV0ZWRJZHMgJiYgIW1vZGlmaWVkICYmICFjcmVhdGVkO1xuICB9XG5cblxuXG59XG4iXX0=
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2UtY2hhbmdlLWV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL2RhdGEvZGF0YXNvdXJjZS9kYXRhLXNvdXJjZS1jaGFuZ2UtZXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLHFCQUFxQjtJQUNoQyxZQUNTLFFBQVksRUFDWixLQUEwQjtRQUQxQixhQUFRLEdBQVIsUUFBUSxDQUFJO1FBQ1osVUFBSyxHQUFMLEtBQUssQ0FBcUI7SUFDaEMsQ0FBQztDQUNMO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8scUJBQXFCO0lBQ3pCLE1BQU0sQ0FBQyxjQUFjO1FBQzFCLE9BQU8sSUFBSSxxQkFBcUIsQ0FBUyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUNsRSxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQU8sQ0FBTSxHQUFVO1FBQ25DLE9BQU8sSUFBSSxxQkFBcUIsQ0FBVyxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUNuRSxDQUFDO0lBRU0sTUFBTSxDQUFDLFFBQVEsQ0FBZSxRQUFhO1FBQ2hELE9BQU8sSUFBSSxxQkFBcUIsQ0FBUyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUN0RSxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQU8sQ0FBZSxPQUFZO1FBQzlDLE9BQU8sSUFBSSxxQkFBcUIsQ0FBUyxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUNyRSxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQU8sQ0FDbkIsT0FBd0M7UUFFeEMsT0FBTyxJQUFJLHFCQUFxQixDQUFJLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBQ2hFLENBQUM7SUFZRCxZQUNrQixVQUFpQixFQUNqQixRQUFhLEVBQ2IsT0FBWSxFQUNaLE9BQW1DO1FBSG5DLGVBQVUsR0FBVixVQUFVLENBQU87UUFDakIsYUFBUSxHQUFSLFFBQVEsQ0FBSztRQUNiLFlBQU8sR0FBUCxPQUFPLENBQUs7UUFDWixZQUFPLEdBQVAsT0FBTyxDQUE0QjtRQUVuRCxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsVUFBVSxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFBO0lBQ3hFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlZXBQYXJ0aWFsUGF0Y2ggfSBmcm9tICcuL3BhdGNoL2RlZXAtcGFydGlhbC1wYXRjaGVyJ1xuXG5leHBvcnQgY2xhc3MgRGF0YVNvdXJjZUVudGl0eVBhdGNoPFQsIElkID0gYW55PiB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZW50aXR5SWQ6IElkLFxuICAgIHB1YmxpYyBwYXRjaDogRGVlcFBhcnRpYWxQYXRjaDxUPlxuICApIHt9XG59XG5cbi8qKlxuICogTm90aWZpZXMgYWJvdXQgY2hhbmdlcyBpbiBhIERhdGFTb3VyY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBEYXRhU291cmNlQ2hhbmdlRXZlbnQ8VCwgVElkID0gYW55PiB7XG4gIHB1YmxpYyBzdGF0aWMgdW5rbm93bkNoYW5nZXM8VCwgVElkID0gYW55PigpOiBEYXRhU291cmNlQ2hhbmdlRXZlbnQ8VD4ge1xuICAgIHJldHVybiBuZXcgRGF0YVNvdXJjZUNoYW5nZUV2ZW50PFQsIFRJZD4obnVsbCwgbnVsbCwgbnVsbCwgbnVsbClcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZGVsZXRlZDxUSWQ+KGlkczogVElkW10pOiBEYXRhU291cmNlQ2hhbmdlRXZlbnQ8YW55LCBUSWQ+IHtcbiAgICByZXR1cm4gbmV3IERhdGFTb3VyY2VDaGFuZ2VFdmVudDxhbnksIFRJZD4oaWRzLCBudWxsLCBudWxsLCBudWxsKVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyBtb2RpZmllZDxULCBUSWQgPSBhbnk+KG1vZGlmaWVkOiBUW10pOiBEYXRhU291cmNlQ2hhbmdlRXZlbnQ8VD4ge1xuICAgIHJldHVybiBuZXcgRGF0YVNvdXJjZUNoYW5nZUV2ZW50PFQsIFRJZD4obnVsbCwgbW9kaWZpZWQsIG51bGwsIG51bGwpXG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGNyZWF0ZWQ8VCwgVElkID0gYW55PihjcmVhdGVkOiBUW10pOiBEYXRhU291cmNlQ2hhbmdlRXZlbnQ8VD4ge1xuICAgIHJldHVybiBuZXcgRGF0YVNvdXJjZUNoYW5nZUV2ZW50PFQsIFRJZD4obnVsbCwgbnVsbCwgY3JlYXRlZCwgbnVsbClcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgcGF0Y2hlZDxULCBUSWQgPSBhbnk+KFxuICAgIHBhdGNoZXM6IERhdGFTb3VyY2VFbnRpdHlQYXRjaDxULCBUSWQ+W11cbiAgKTogRGF0YVNvdXJjZUNoYW5nZUV2ZW50PFQ+IHtcbiAgICByZXR1cm4gbmV3IERhdGFTb3VyY2VDaGFuZ2VFdmVudDxUPihudWxsLCBudWxsLCBudWxsLCBwYXRjaGVzKVxuICB9XG5cbiAgLy8gZW50aXRpZXMgLT4gZGF0YSBtdXN0IGJlIHVwZGF0ZWQgd2l0aCBuZXcgdmVyc2lvbnNcbiAgLy8gZW50aXR5LWlkcyAtPiBtdXN0IGJlIGRvd25sb2FkZWQgZmluZEJ5SWRzKCkgYW5kIGRhdGEgdXBkYXRlZFxuICAvLyBlbnRpdHktcGF0Y2hlcyAtPiBlbnRpdHkgbXVzdCBiZSBsb29rZWQgdXAgJiBhcHBsaWVkIGxvY2FsbHkgJiByZXBsYWNlZFxuXG4gIC8vIGNvbnN0IGVudGl0eSA9IGRjLmZpbmRCeUlkKGVudGl0eS1pZCk7XG4gIC8vIGRjLnJlcGxhY2UoZW50aXR5KTtcbiAgLy8gZGMucmVwbGFjZUFsbChlbnRpdGllcyk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHVua25vd25DaGFuZ2VzOiBib29sZWFuXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IGRlbGV0ZWRJZHM6IFRJZFtdLFxuICAgIHB1YmxpYyByZWFkb25seSBtb2RpZmllZDogVFtdLFxuICAgIHB1YmxpYyByZWFkb25seSBjcmVhdGVkOiBUW10sXG4gICAgcHVibGljIHJlYWRvbmx5IHBhdGNoZXM6IERhdGFTb3VyY2VFbnRpdHlQYXRjaDxUPltdXG4gICkge1xuICAgIHRoaXMudW5rbm93bkNoYW5nZXMgPSAhZGVsZXRlZElkcyAmJiAhbW9kaWZpZWQgJiYgIWNyZWF0ZWQgJiYgIXBhdGNoZXNcbiAgfVxufVxuIl19
@@ -1,4 +1,4 @@
1
- import { isContinuableDataSource, isListDataSource, isPagedDataSource } from './data-source';
1
+ import { isContinuableDataSource, isListDataSource, isPagedDataSource, } from './data-source';
2
2
  import { Page, Pageable } from '../page';
3
3
  import { TokenChunkRequest } from '../token-chunk-request';
4
4
  import { map, switchMap, takeWhile, tap } from 'rxjs/operators';
@@ -99,7 +99,7 @@ export class DataSourceProcessor {
99
99
  * @param sorts to sort the data source
100
100
  */
101
101
  process$(processFn, filters, sorts) {
102
- return this._process$.pipe(takeWhile(ctx => this.notCompleted(ctx)), switchMap(ctx => this.loadNext(ctx, filters, sorts)), tap(updatedCtx => {
102
+ return this._process$.pipe(takeWhile((ctx) => this.notCompleted(ctx)), switchMap((ctx) => this.loadNext(ctx, filters, sorts)), tap((updatedCtx) => {
103
103
  processFn(updatedCtx.items);
104
104
  this._process$.next(updatedCtx);
105
105
  }));
@@ -132,8 +132,9 @@ export class DataSourceProcessor {
132
132
  **************************************************************************/
133
133
  loadList(filters, sorts) {
134
134
  this.log.debug('Loading list with filters and sorts...', [filters, sorts]);
135
- return this.listDataSource.findAllFiltered(filters, sorts)
136
- .pipe(map(page => this.listIteration(page)));
135
+ return this.listDataSource
136
+ .findAllFiltered(filters, sorts)
137
+ .pipe(map((page) => this.listIteration(page)));
137
138
  }
138
139
  listIteration(items) {
139
140
  return new ProcessIterationContext(ProcessState.COMPLETED, items, null, null);
@@ -148,16 +149,15 @@ export class DataSourceProcessor {
148
149
  ? Page.nextPageable(currentPage, sorts)
149
150
  : new Pageable(0, this._chunkSize, sorts);
150
151
  this.log.debug('Loading next page...', [nextPageRequest, filters, sorts]);
151
- return this.pagedDataSource.findAllPaged(nextPageRequest, filters)
152
- .pipe(map(page => this.pageIteration(page)));
152
+ return this.pagedDataSource
153
+ .findAllPaged(nextPageRequest, filters)
154
+ .pipe(map((page) => this.pageIteration(page)));
153
155
  }
154
156
  pageIteration(page) {
155
157
  return new ProcessIterationContext(this.pageIterationState(page), null, page, null);
156
158
  }
157
159
  pageIterationState(page) {
158
- return Page.hasNext(page)
159
- ? ProcessState.RUNNING
160
- : ProcessState.COMPLETED;
160
+ return Page.hasNext(page) ? ProcessState.RUNNING : ProcessState.COMPLETED;
161
161
  }
162
162
  /***************************************************************************
163
163
  * *
@@ -169,16 +169,15 @@ export class DataSourceProcessor {
169
169
  ? new TokenChunkRequest(currentChunk.nextContinuationToken, filters, sorts)
170
170
  : new TokenChunkRequest(null, filters, sorts);
171
171
  this.log.debug('Loading next chunk...', [nextChunkRequest, filters, sorts]);
172
- return this.continuableDataSource.findAllContinuable(nextChunkRequest)
173
- .pipe(map(chunk => this.continuableIteration(chunk)));
172
+ return this.continuableDataSource
173
+ .findAllContinuable(nextChunkRequest)
174
+ .pipe(map((chunk) => this.continuableIteration(chunk)));
174
175
  }
175
176
  continuableIteration(chunk) {
176
177
  return new ProcessIterationContext(this.continuableIterationState(chunk), null, null, chunk);
177
178
  }
178
179
  continuableIterationState(chunk) {
179
- return chunk.hasMore
180
- ? ProcessState.RUNNING
181
- : ProcessState.COMPLETED;
180
+ return chunk.hasMore ? ProcessState.RUNNING : ProcessState.COMPLETED;
182
181
  }
183
182
  /***************************************************************************
184
183
  * *
@@ -196,4 +195,4 @@ export class DataSourceProcessor {
196
195
  return !completed;
197
196
  }
198
197
  }
199
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2UtcHJvY2Vzc29yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL2RhdGEvZGF0YXNvdXJjZS9kYXRhLXNvdXJjZS1wcm9jZXNzb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUlMLHVCQUF1QixFQUN2QixnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxJQUFJLEVBQUUsUUFBUSxFQUFDLE1BQU0sU0FBUyxDQUFDO0FBRXZDLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBSXpELE9BQU8sRUFBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RCxPQUFPLEVBQVMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDM0QsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUdyQyxNQUFNLENBQU4sSUFBWSxZQVVYO0FBVkQsV0FBWSxZQUFZO0lBRXRCLDZCQUFhLENBQUE7SUFFYixtQ0FBbUIsQ0FBQTtJQUVuQix1Q0FBdUIsQ0FBQTtJQUV2QiwrQkFBZSxDQUFBO0FBRWpCLENBQUMsRUFWVyxZQUFZLEtBQVosWUFBWSxRQVV2QjtBQUVELE1BQU0sT0FBTyx1QkFBdUI7SUFFM0IsTUFBTSxDQUFDLElBQUk7UUFDaEIsT0FBTyxJQUFJLHVCQUF1QixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRU0sTUFBTSxDQUFDLGNBQWMsQ0FBSyxJQUFTO1FBQ3hDLE9BQU8sSUFBSSx1QkFBdUIsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFTSxNQUFNLENBQUMsY0FBYyxDQUFJLFdBQW9CO1FBQ2xELE9BQU8sSUFBSSx1QkFBdUIsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRU0sTUFBTSxDQUFDLHFCQUFxQixDQUFJLFlBQW1DO1FBQ3hFLE9BQU8sSUFBSSx1QkFBdUIsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDckYsQ0FBQztJQUVNLE1BQU0sQ0FBQyxTQUFTO1FBQ3JCLE9BQU8sSUFBSSx1QkFBdUIsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVNLE1BQU0sQ0FBQyxLQUFLO1FBQ2pCLE9BQU8sSUFBSSx1QkFBdUIsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELFlBQ2tCLEtBQW1CLEVBQ25CLEtBQVcsRUFDWCxJQUFjLEVBQ2QsV0FBbUM7UUFIbkMsVUFBSyxHQUFMLEtBQUssQ0FBYztRQUNuQixVQUFLLEdBQUwsS0FBSyxDQUFNO1FBQ1gsU0FBSSxHQUFKLElBQUksQ0FBVTtRQUNkLGdCQUFXLEdBQVgsV0FBVyxDQUF3QjtRQUVuRCxJQUFJLElBQUksRUFBRSxDQUFDO1lBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQUMsQ0FBQztRQUN4QyxJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDO1FBQUMsQ0FBQztJQUN4RCxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sbUJBQW1CO0lBYzlCOzs7O2dGQUk0RTtJQUVyRSxNQUFNLENBQUMsS0FBSyxDQUNqQixVQUEwQixFQUMxQixTQUFrQjtRQUVsQixPQUFPLElBQUksbUJBQW1CLENBQzVCLFVBQVUsRUFDVixTQUFTLENBQ1YsQ0FBQztJQUNKLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFNUUsWUFDRSxVQUEwQixFQUMxQixTQUFrQjtRQXBDcEI7Ozs7b0ZBSTRFO1FBRTNELFFBQUcsR0FBVyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFJN0QsY0FBUyxHQUFHLElBQUksZUFBZSxDQUE2Qix1QkFBdUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBNEIzRyxJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQztRQUM5QixJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsSUFBSSxHQUFHLENBQUM7SUFDckMsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUU1RSxJQUFXLFVBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFjLGNBQWM7UUFDMUIsT0FBTyxJQUFJLENBQUMsVUFBZ0MsQ0FBQztJQUMvQyxDQUFDO0lBRUQsSUFBYyxlQUFlO1FBQzNCLE9BQU8sSUFBSSxDQUFDLFVBQWlDLENBQUM7SUFDaEQsQ0FBQztJQUVELElBQWMscUJBQXFCO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLFVBQXVDLENBQUM7SUFDdEQsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUU1RTs7Ozs7OztPQU9HO0lBQ0ksUUFBUSxDQUNiLFNBQWtDLEVBQ2xDLE9BQWlCLEVBQ2pCLEtBQWE7UUFFYixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUN4QixTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQ3hDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUNwRCxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDZixTQUFTLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzVCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXBFLFFBQVEsQ0FDZCxVQUFzQyxFQUN0QyxPQUFpQixFQUNqQixLQUFhO1FBR2IsSUFBSSxXQUFtRCxDQUFDO1FBQ3hELElBQUksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDdkMsV0FBVyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzlDLENBQUM7YUFBTSxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQy9DLFdBQVcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ25FLENBQUM7YUFBTSxJQUFJLHVCQUF1QixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQ3JELFdBQVcsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDakYsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDN0MsQ0FBQztRQUVELE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFcEUsUUFBUSxDQUFDLE9BQWlCLEVBQUUsS0FBYTtRQUUvQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyx3Q0FBd0MsRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBRTNFLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQzthQUN2RCxJQUFJLENBQ0gsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUN0QyxDQUFDO0lBQ04sQ0FBQztJQUVPLGFBQWEsQ0FDbkIsS0FBVTtRQUVWLE9BQU8sSUFBSSx1QkFBdUIsQ0FDaEMsWUFBWSxDQUFDLFNBQVMsRUFDdEIsS0FBSyxFQUNMLElBQUksRUFDSixJQUFJLENBQ0wsQ0FBQztJQUNKLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFcEUsWUFBWSxDQUNsQixXQUFvQixFQUNwQixPQUFpQixFQUNqQixLQUFhO1FBR2IsTUFBTSxlQUFlLEdBQUcsV0FBVztZQUNqQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDO1lBQ3ZDLENBQUMsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUU1QyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLGVBQWUsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUUxRSxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLGVBQWUsRUFBRSxPQUFPLENBQUM7YUFDL0QsSUFBSSxDQUNILEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDdEMsQ0FBQztJQUNOLENBQUM7SUFFTyxhQUFhLENBQ25CLElBQWE7UUFFYixPQUFPLElBQUksdUJBQXVCLENBQ2hDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFDN0IsSUFBSSxFQUNKLElBQUksRUFDSixJQUFJLENBQ0wsQ0FBQztJQUNKLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxJQUFhO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7WUFDdkIsQ0FBQyxDQUFDLFlBQVksQ0FBQyxPQUFPO1lBQ3RCLENBQUMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDO0lBQzdCLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFcEUsbUJBQW1CLENBQ3pCLFlBQW1DLEVBQ25DLE9BQWlCLEVBQ2pCLEtBQWE7UUFHYixNQUFNLGdCQUFnQixHQUFHLFlBQVk7WUFDbkMsQ0FBQyxDQUFDLElBQUksaUJBQWlCLENBQUMsWUFBWSxDQUFDLHFCQUFxQixFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUM7WUFDM0UsQ0FBQyxDQUFDLElBQUksaUJBQWlCLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUVoRCxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsRUFBRSxDQUFDLGdCQUFnQixFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBRTVFLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLGtCQUFrQixDQUFDLGdCQUFnQixDQUFDO2FBQ25FLElBQUksQ0FDSCxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FDL0MsQ0FBQztJQUNOLENBQUM7SUFFTyxvQkFBb0IsQ0FDMUIsS0FBNEI7UUFFNUIsT0FBTyxJQUFJLHVCQUF1QixDQUNoQyxJQUFJLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDLEVBQ3JDLElBQUksRUFDSixJQUFJLEVBQ0osS0FBSyxDQUNOLENBQUM7SUFDSixDQUFDO0lBRU8seUJBQXlCLENBQUMsS0FBNEI7UUFDNUQsT0FBTyxLQUFLLENBQUMsT0FBTztZQUNsQixDQUFDLENBQUMsWUFBWSxDQUFDLE9BQU87WUFDdEIsQ0FBQyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUM7SUFDN0IsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVwRSxZQUFZLENBQUMsR0FBK0I7UUFDbEQsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLEtBQUssS0FBSyxZQUFZLENBQUMsU0FBUyxDQUFDO1FBRXZELElBQUksU0FBUyxFQUFFLENBQUM7WUFDZCxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxnQ0FBZ0MsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN4RCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLDZEQUE2RCxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3JGLENBQUM7UUFFRCxPQUFPLENBQUMsU0FBUyxDQUFDO0lBQ3BCLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIElDb250aW51YWJsZURhdGFTb3VyY2UsXG4gIElEYXRhU291cmNlLCBJTGlzdERhdGFTb3VyY2UsXG4gIElQYWdlZERhdGFTb3VyY2UsXG4gIGlzQ29udGludWFibGVEYXRhU291cmNlLFxuICBpc0xpc3REYXRhU291cmNlLFxuICBpc1BhZ2VkRGF0YVNvdXJjZVxufSBmcm9tICcuL2RhdGEtc291cmNlJztcbmltcG9ydCB7UGFnZSwgUGFnZWFibGV9IGZyb20gJy4uL3BhZ2UnO1xuaW1wb3J0IHtGaWx0ZXJ9IGZyb20gJy4uL2ZpbHRlcnMvZmlsdGVyJztcbmltcG9ydCB7VG9rZW5DaHVua1JlcXVlc3R9IGZyb20gJy4uL3Rva2VuLWNodW5rLXJlcXVlc3QnO1xuaW1wb3J0IHtDb250aW51YWJsZUxpc3Rpbmd9IGZyb20gJy4uL2NvbnRpbnVhYmxlLWxpc3RpbmcnO1xuaW1wb3J0IHtTb3J0fSBmcm9tICcuLi9zb3J0JztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcy9pbnRlcm5hbC9PYnNlcnZhYmxlJztcbmltcG9ydCB7bWFwLCBzd2l0Y2hNYXAsIHRha2VXaGlsZSwgdGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0xvZ2dlciwgTG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3R9IGZyb20gJ3J4anMnO1xuXG5cbmV4cG9ydCBlbnVtIFByb2Nlc3NTdGF0ZSB7XG5cbiAgSU5JVCA9ICdJTklUJyxcblxuICBSVU5OSU5HID0gJ1JVTk5JTkcnLFxuXG4gIENPTVBMRVRFRCA9ICdDT01QTEVURUQnLFxuXG4gIEVSUk9SID0gJ0VSUk9SJ1xuXG59XG5cbmV4cG9ydCBjbGFzcyBQcm9jZXNzSXRlcmF0aW9uQ29udGV4dDxUPiB7XG5cbiAgcHVibGljIHN0YXRpYyBpbml0PFQ+KCk6IFByb2Nlc3NJdGVyYXRpb25Db250ZXh0PFQ+IHtcbiAgICByZXR1cm4gbmV3IFByb2Nlc3NJdGVyYXRpb25Db250ZXh0KFByb2Nlc3NTdGF0ZS5JTklUKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgcHJvY2Vzc2luZ0xpc3Q8VD4gKGxpc3Q6IFRbXSk6IFByb2Nlc3NJdGVyYXRpb25Db250ZXh0PFQ+IHtcbiAgICByZXR1cm4gbmV3IFByb2Nlc3NJdGVyYXRpb25Db250ZXh0KFByb2Nlc3NTdGF0ZS5SVU5OSU5HLCBsaXN0KTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgcHJvY2Vzc2luZ1BhZ2U8VD4oY3VycmVudFBhZ2U6IFBhZ2U8VD4pOiBQcm9jZXNzSXRlcmF0aW9uQ29udGV4dDxUPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9jZXNzSXRlcmF0aW9uQ29udGV4dChQcm9jZXNzU3RhdGUuUlVOTklORywgbnVsbCwgY3VycmVudFBhZ2UpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBwcm9jZXNzaW5nQ29udGludWFibGU8VD4oY3VycmVudENodW5rOiBDb250aW51YWJsZUxpc3Rpbmc8VD4pOiBQcm9jZXNzSXRlcmF0aW9uQ29udGV4dDxUPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9jZXNzSXRlcmF0aW9uQ29udGV4dChQcm9jZXNzU3RhdGUuUlVOTklORywgbnVsbCwgbnVsbCwgY3VycmVudENodW5rKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgY29tcGxldGVkPFQ+KCk6IFByb2Nlc3NJdGVyYXRpb25Db250ZXh0PFQ+IHtcbiAgICByZXR1cm4gbmV3IFByb2Nlc3NJdGVyYXRpb25Db250ZXh0KFByb2Nlc3NTdGF0ZS5DT01QTEVURUQpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBlcnJvcjxUPigpOiBQcm9jZXNzSXRlcmF0aW9uQ29udGV4dDxUPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9jZXNzSXRlcmF0aW9uQ29udGV4dChQcm9jZXNzU3RhdGUuRVJST1IpO1xuICB9XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSBzdGF0ZTogUHJvY2Vzc1N0YXRlLFxuICAgIHB1YmxpYyByZWFkb25seSBpdGVtcz86IFRbXSxcbiAgICBwdWJsaWMgcmVhZG9ubHkgcGFnZT86IFBhZ2U8VD4sXG4gICAgcHVibGljIHJlYWRvbmx5IGNvbnRpbnVhYmxlPzogQ29udGludWFibGVMaXN0aW5nPFQ+XG4gICkge1xuICAgIGlmIChwYWdlKSB7IHRoaXMuaXRlbXMgPSBwYWdlLmNvbnRlbnQ7IH1cbiAgICBpZiAoY29udGludWFibGUpIHsgdGhpcy5pdGVtcyA9IGNvbnRpbnVhYmxlLmNvbnRlbnQ7IH1cbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgRGF0YVNvdXJjZVByb2Nlc3NvcjxUPiB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2c6IExvZ2dlciA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZGF0YVNvdXJjZTogSURhdGFTb3VyY2U8VD47XG4gIHByaXZhdGUgcmVhZG9ubHkgX2NodW5rU2l6ZTtcbiAgcHJpdmF0ZSByZWFkb25seSBfcHJvY2VzcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFByb2Nlc3NJdGVyYXRpb25Db250ZXh0PFQ+PihQcm9jZXNzSXRlcmF0aW9uQ29udGV4dC5pbml0KCkpO1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBTdGF0aWMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBzdGF0aWMgc3RhcnQ8VD4oXG4gICAgZGF0YVNvdXJjZTogSURhdGFTb3VyY2U8VD4sXG4gICAgY2h1bmtTaXplPzogbnVtYmVyXG4gICk6IERhdGFTb3VyY2VQcm9jZXNzb3I8VD4ge1xuICAgIHJldHVybiBuZXcgRGF0YVNvdXJjZVByb2Nlc3NvcihcbiAgICAgIGRhdGFTb3VyY2UsXG4gICAgICBjaHVua1NpemVcbiAgICApO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxuICAgIGRhdGFTb3VyY2U6IElEYXRhU291cmNlPFQ+LFxuICAgIGNodW5rU2l6ZT86IG51bWJlclxuICApIHtcbiAgICB0aGlzLl9kYXRhU291cmNlID0gZGF0YVNvdXJjZTtcbiAgICB0aGlzLl9jaHVua1NpemUgPSBjaHVua1NpemUgfHwgMTAwO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGdldCBkYXRhU291cmNlKCk6IElEYXRhU291cmNlPFQ+IHtcbiAgICByZXR1cm4gdGhpcy5fZGF0YVNvdXJjZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgbGlzdERhdGFTb3VyY2UoKTogSUxpc3REYXRhU291cmNlPFQ+IHtcbiAgICByZXR1cm4gdGhpcy5kYXRhU291cmNlIGFzIElMaXN0RGF0YVNvdXJjZTxUPjtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgcGFnZWREYXRhU291cmNlKCk6IElQYWdlZERhdGFTb3VyY2U8VD4ge1xuICAgIHJldHVybiB0aGlzLmRhdGFTb3VyY2UgYXMgSVBhZ2VkRGF0YVNvdXJjZTxUPjtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgY29udGludWFibGVEYXRhU291cmNlKCk6IElDb250aW51YWJsZURhdGFTb3VyY2U8VD4ge1xuICAgIHJldHVybiB0aGlzLmRhdGFTb3VyY2UgYXMgSUNvbnRpbnVhYmxlRGF0YVNvdXJjZTxUPjtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gaXRlcmF0aXZlIGxvYWQgYW5kIHByb2Nlc3MgdGhlIGNvbnRlbnRzIG9mIHRoZVxuICAgKiBkYXRhIHNvdXJjZSBpbiBzY29wZS5cbiAgICpcbiAgICogQHBhcmFtIHByb2Nlc3NGbiB0byBpdGVyYXRpdmUgZXhlY3V0ZSB1cG9uIGVhY2ggaXRlbSBvZiBlYWNoIGl0ZXJhdGlvblxuICAgKiBAcGFyYW0gZmlsdGVycyB0byBmaWx0ZXIgdGhlIGRhdGEgc291cmNlXG4gICAqIEBwYXJhbSBzb3J0cyB0byBzb3J0IHRoZSBkYXRhIHNvdXJjZVxuICAgKi9cbiAgcHVibGljIHByb2Nlc3MkKFxuICAgIHByb2Nlc3NGbjogKGRhdGFDaHVuazogVFtdKSA9PiBhbnksXG4gICAgZmlsdGVyczogRmlsdGVyW10sXG4gICAgc29ydHM6IFNvcnRbXVxuICApOiBPYnNlcnZhYmxlPFByb2Nlc3NJdGVyYXRpb25Db250ZXh0PFQ+PiB7XG4gICAgcmV0dXJuIHRoaXMuX3Byb2Nlc3MkLnBpcGUoXG4gICAgICB0YWtlV2hpbGUoY3R4ID0+IHRoaXMubm90Q29tcGxldGVkKGN0eCkpLFxuICAgICAgc3dpdGNoTWFwKGN0eCA9PiB0aGlzLmxvYWROZXh0KGN0eCwgZmlsdGVycywgc29ydHMpKSxcbiAgICAgIHRhcCh1cGRhdGVkQ3R4ID0+IHtcbiAgICAgICAgcHJvY2Vzc0ZuKHVwZGF0ZWRDdHguaXRlbXMpO1xuICAgICAgICB0aGlzLl9wcm9jZXNzJC5uZXh0KHVwZGF0ZWRDdHgpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIExvYWRpbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBsb2FkTmV4dChcbiAgICBjdXJyZW50Q3R4OiBQcm9jZXNzSXRlcmF0aW9uQ29udGV4dDxUPixcbiAgICBmaWx0ZXJzOiBGaWx0ZXJbXSxcbiAgICBzb3J0czogU29ydFtdXG4gICk6IE9ic2VydmFibGU8UHJvY2Vzc0l0ZXJhdGlvbkNvbnRleHQ8VD4+IHtcblxuICAgIGxldCB1cGRhdGVkQ3R4JDogT2JzZXJ2YWJsZTxQcm9jZXNzSXRlcmF0aW9uQ29udGV4dDxUPj47XG4gICAgaWYgKGlzTGlzdERhdGFTb3VyY2UodGhpcy5fZGF0YVNvdXJjZSkpIHtcbiAgICAgIHVwZGF0ZWRDdHgkID0gdGhpcy5sb2FkTGlzdChmaWx0ZXJzLCBzb3J0cyk7XG4gICAgfSBlbHNlIGlmIChpc1BhZ2VkRGF0YVNvdXJjZSh0aGlzLl9kYXRhU291cmNlKSkge1xuICAgICAgdXBkYXRlZEN0eCQgPSB0aGlzLmxvYWROZXh0UGFnZShjdXJyZW50Q3R4LnBhZ2UsIGZpbHRlcnMsIHNvcnRzKTtcbiAgICB9IGVsc2UgaWYgKGlzQ29udGludWFibGVEYXRhU291cmNlKHRoaXMuX2RhdGFTb3VyY2UpKSB7XG4gICAgICB1cGRhdGVkQ3R4JCA9IHRoaXMubG9hZE5leHRDb250aW51YWJsZShjdXJyZW50Q3R4LmNvbnRpbnVhYmxlLCBmaWx0ZXJzLCBzb3J0cyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVW5zdXBwb3J0ZWQgRGF0YVNvdXJjZSEnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdXBkYXRlZEN0eCQ7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogTGlzdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGxvYWRMaXN0KGZpbHRlcnM6IEZpbHRlcltdLCBzb3J0czogU29ydFtdKTogT2JzZXJ2YWJsZTxQcm9jZXNzSXRlcmF0aW9uQ29udGV4dDxUPj4ge1xuXG4gICAgdGhpcy5sb2cuZGVidWcoJ0xvYWRpbmcgbGlzdCB3aXRoIGZpbHRlcnMgYW5kIHNvcnRzLi4uJywgW2ZpbHRlcnMsIHNvcnRzXSk7XG5cbiAgICByZXR1cm4gdGhpcy5saXN0RGF0YVNvdXJjZS5maW5kQWxsRmlsdGVyZWQoZmlsdGVycywgc29ydHMpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKHBhZ2UgPT4gdGhpcy5saXN0SXRlcmF0aW9uKHBhZ2UpKVxuICAgICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdEl0ZXJhdGlvbihcbiAgICBpdGVtczogVFtdXG4gICk6IFByb2Nlc3NJdGVyYXRpb25Db250ZXh0PFQ+IHtcbiAgICByZXR1cm4gbmV3IFByb2Nlc3NJdGVyYXRpb25Db250ZXh0KFxuICAgICAgUHJvY2Vzc1N0YXRlLkNPTVBMRVRFRCxcbiAgICAgIGl0ZW1zLFxuICAgICAgbnVsbCxcbiAgICAgIG51bGxcbiAgICApO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFBhZ2VkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBsb2FkTmV4dFBhZ2UoXG4gICAgY3VycmVudFBhZ2U6IFBhZ2U8VD4sXG4gICAgZmlsdGVyczogRmlsdGVyW10sXG4gICAgc29ydHM6IFNvcnRbXVxuICApOiBPYnNlcnZhYmxlPFByb2Nlc3NJdGVyYXRpb25Db250ZXh0PFQ+PiB7XG5cbiAgICBjb25zdCBuZXh0UGFnZVJlcXVlc3QgPSBjdXJyZW50UGFnZVxuICAgICAgPyBQYWdlLm5leHRQYWdlYWJsZShjdXJyZW50UGFnZSwgc29ydHMpXG4gICAgICA6IG5ldyBQYWdlYWJsZSgwLCB0aGlzLl9jaHVua1NpemUsIHNvcnRzKTtcblxuICAgIHRoaXMubG9nLmRlYnVnKCdMb2FkaW5nIG5leHQgcGFnZS4uLicsIFtuZXh0UGFnZVJlcXVlc3QsIGZpbHRlcnMsIHNvcnRzXSk7XG5cbiAgICByZXR1cm4gdGhpcy5wYWdlZERhdGFTb3VyY2UuZmluZEFsbFBhZ2VkKG5leHRQYWdlUmVxdWVzdCwgZmlsdGVycylcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAocGFnZSA9PiB0aGlzLnBhZ2VJdGVyYXRpb24ocGFnZSkpXG4gICAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBwYWdlSXRlcmF0aW9uKFxuICAgIHBhZ2U6IFBhZ2U8VD5cbiAgKTogUHJvY2Vzc0l0ZXJhdGlvbkNvbnRleHQ8VD4ge1xuICAgIHJldHVybiBuZXcgUHJvY2Vzc0l0ZXJhdGlvbkNvbnRleHQoXG4gICAgICB0aGlzLnBhZ2VJdGVyYXRpb25TdGF0ZShwYWdlKSxcbiAgICAgIG51bGwsXG4gICAgICBwYWdlLFxuICAgICAgbnVsbFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHBhZ2VJdGVyYXRpb25TdGF0ZShwYWdlOiBQYWdlPFQ+KTogUHJvY2Vzc1N0YXRlIHtcbiAgICByZXR1cm4gUGFnZS5oYXNOZXh0KHBhZ2UpXG4gICAgICA/IFByb2Nlc3NTdGF0ZS5SVU5OSU5HXG4gICAgICA6IFByb2Nlc3NTdGF0ZS5DT01QTEVURUQ7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29udGludWFibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGxvYWROZXh0Q29udGludWFibGUoXG4gICAgY3VycmVudENodW5rOiBDb250aW51YWJsZUxpc3Rpbmc8VD4sXG4gICAgZmlsdGVyczogRmlsdGVyW10sXG4gICAgc29ydHM6IFNvcnRbXVxuICApOiBPYnNlcnZhYmxlPFByb2Nlc3NJdGVyYXRpb25Db250ZXh0PFQ+PiB7XG5cbiAgICBjb25zdCBuZXh0Q2h1bmtSZXF1ZXN0ID0gY3VycmVudENodW5rXG4gICAgICA/IG5ldyBUb2tlbkNodW5rUmVxdWVzdChjdXJyZW50Q2h1bmsubmV4dENvbnRpbnVhdGlvblRva2VuLCBmaWx0ZXJzLCBzb3J0cylcbiAgICAgIDogbmV3IFRva2VuQ2h1bmtSZXF1ZXN0KG51bGwsIGZpbHRlcnMsIHNvcnRzKTtcblxuICAgIHRoaXMubG9nLmRlYnVnKCdMb2FkaW5nIG5leHQgY2h1bmsuLi4nLCBbbmV4dENodW5rUmVxdWVzdCwgZmlsdGVycywgc29ydHNdKTtcblxuICAgIHJldHVybiB0aGlzLmNvbnRpbnVhYmxlRGF0YVNvdXJjZS5maW5kQWxsQ29udGludWFibGUobmV4dENodW5rUmVxdWVzdClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoY2h1bmsgPT4gdGhpcy5jb250aW51YWJsZUl0ZXJhdGlvbihjaHVuaykpXG4gICAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBjb250aW51YWJsZUl0ZXJhdGlvbihcbiAgICBjaHVuazogQ29udGludWFibGVMaXN0aW5nPFQ+LFxuICApOiBQcm9jZXNzSXRlcmF0aW9uQ29udGV4dDxUPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9jZXNzSXRlcmF0aW9uQ29udGV4dChcbiAgICAgIHRoaXMuY29udGludWFibGVJdGVyYXRpb25TdGF0ZShjaHVuayksXG4gICAgICBudWxsLFxuICAgICAgbnVsbCxcbiAgICAgIGNodW5rXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY29udGludWFibGVJdGVyYXRpb25TdGF0ZShjaHVuazogQ29udGludWFibGVMaXN0aW5nPFQ+KTogUHJvY2Vzc1N0YXRlIHtcbiAgICByZXR1cm4gY2h1bmsuaGFzTW9yZVxuICAgICAgPyBQcm9jZXNzU3RhdGUuUlVOTklOR1xuICAgICAgOiBQcm9jZXNzU3RhdGUuQ09NUExFVEVEO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgTWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBub3RDb21wbGV0ZWQoY3R4OiBQcm9jZXNzSXRlcmF0aW9uQ29udGV4dDxUPik6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGNvbXBsZXRlZCA9IGN0eC5zdGF0ZSA9PT0gUHJvY2Vzc1N0YXRlLkNPTVBMRVRFRDtcblxuICAgIGlmIChjb21wbGV0ZWQpIHtcbiAgICAgIHRoaXMubG9nLmRlYnVnKCdQcm9jZXNzIGNvbXBsZXRlZCB3aXRoIGNvbnRleHQnLCBjdHgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxvZy5kZWJ1ZygnU3RhcnRpbmcgbmV4dCBwcm9jZXNzIGl0ZXJhdGlvbiwgY3VycmVudCBpdGVyYXRpb24gY29udGV4dDonLCBjdHgpO1xuICAgIH1cblxuICAgIHJldHVybiAhY29tcGxldGVkO1xuICB9XG5cbn1cblxuIl19
198
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2UtcHJvY2Vzc29yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL2RhdGEvZGF0YXNvdXJjZS9kYXRhLXNvdXJjZS1wcm9jZXNzb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUtMLHVCQUF1QixFQUN2QixnQkFBZ0IsRUFDaEIsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE1BQU0sU0FBUyxDQUFBO0FBRXhDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBSTFELE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUMvRCxPQUFPLEVBQVUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUV0QyxNQUFNLENBQU4sSUFBWSxZQVFYO0FBUkQsV0FBWSxZQUFZO0lBQ3RCLDZCQUFhLENBQUE7SUFFYixtQ0FBbUIsQ0FBQTtJQUVuQix1Q0FBdUIsQ0FBQTtJQUV2QiwrQkFBZSxDQUFBO0FBQ2pCLENBQUMsRUFSVyxZQUFZLEtBQVosWUFBWSxRQVF2QjtBQUVELE1BQU0sT0FBTyx1QkFBdUI7SUFDM0IsTUFBTSxDQUFDLElBQUk7UUFDaEIsT0FBTyxJQUFJLHVCQUF1QixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUN2RCxDQUFDO0lBRU0sTUFBTSxDQUFDLGNBQWMsQ0FBSSxJQUFTO1FBQ3ZDLE9BQU8sSUFBSSx1QkFBdUIsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFBO0lBQ2hFLENBQUM7SUFFTSxNQUFNLENBQUMsY0FBYyxDQUFJLFdBQW9CO1FBQ2xELE9BQU8sSUFBSSx1QkFBdUIsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQTtJQUM3RSxDQUFDO0lBRU0sTUFBTSxDQUFDLHFCQUFxQixDQUNqQyxZQUFtQztRQUVuQyxPQUFPLElBQUksdUJBQXVCLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFBO0lBQ3BGLENBQUM7SUFFTSxNQUFNLENBQUMsU0FBUztRQUNyQixPQUFPLElBQUksdUJBQXVCLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQzVELENBQUM7SUFFTSxNQUFNLENBQUMsS0FBSztRQUNqQixPQUFPLElBQUksdUJBQXVCLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3hELENBQUM7SUFFRCxZQUNrQixLQUFtQixFQUNuQixLQUFXLEVBQ1gsSUFBYyxFQUNkLFdBQW1DO1FBSG5DLFVBQUssR0FBTCxLQUFLLENBQWM7UUFDbkIsVUFBSyxHQUFMLEtBQUssQ0FBTTtRQUNYLFNBQUksR0FBSixJQUFJLENBQVU7UUFDZCxnQkFBVyxHQUFYLFdBQVcsQ0FBd0I7UUFFbkQsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNULElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQTtRQUMzQixDQUFDO1FBQ0QsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsS0FBSyxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUE7UUFDbEMsQ0FBQztJQUNILENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxtQkFBbUI7SUFlOUI7Ozs7Z0ZBSTRFO0lBRXJFLE1BQU0sQ0FBQyxLQUFLLENBQUksVUFBMEIsRUFBRSxTQUFrQjtRQUNuRSxPQUFPLElBQUksbUJBQW1CLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFBO0lBQ3ZELENBQUM7SUFFRDs7OztnRkFJNEU7SUFFNUUsWUFBc0IsVUFBMEIsRUFBRSxTQUFrQjtRQTlCcEU7Ozs7b0ZBSTRFO1FBRTNELFFBQUcsR0FBVyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUE7UUFJNUQsY0FBUyxHQUFHLElBQUksZUFBZSxDQUM5Qyx1QkFBdUIsQ0FBQyxJQUFJLEVBQUUsQ0FDL0IsQ0FBQTtRQW1CQyxJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQTtRQUM3QixJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsSUFBSSxHQUFHLENBQUE7SUFDcEMsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUU1RSxJQUFXLFVBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFBO0lBQ3pCLENBQUM7SUFFRCxJQUFjLGNBQWM7UUFDMUIsT0FBTyxJQUFJLENBQUMsVUFBZ0MsQ0FBQTtJQUM5QyxDQUFDO0lBRUQsSUFBYyxlQUFlO1FBQzNCLE9BQU8sSUFBSSxDQUFDLFVBQWlDLENBQUE7SUFDL0MsQ0FBQztJQUVELElBQWMscUJBQXFCO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLFVBQXVDLENBQUE7SUFDckQsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUU1RTs7Ozs7OztPQU9HO0lBQ0ksUUFBUSxDQUNiLFNBQWtDLEVBQ2xDLE9BQWlCLEVBQ2pCLEtBQWE7UUFFYixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUN4QixTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsRUFDMUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFDdEQsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDakIsU0FBUyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUMzQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUNqQyxDQUFDLENBQUMsQ0FDSCxDQUFBO0lBQ0gsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVwRSxRQUFRLENBQ2QsVUFBc0MsRUFDdEMsT0FBaUIsRUFDakIsS0FBYTtRQUViLElBQUksV0FBbUQsQ0FBQTtRQUN2RCxJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQ3ZDLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQTtRQUM3QyxDQUFDO2FBQU0sSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUMvQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQTtRQUNsRSxDQUFDO2FBQU0sSUFBSSx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUNyRCxXQUFXLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFBO1FBQ2hGLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFBO1FBQzVDLENBQUM7UUFFRCxPQUFPLFdBQVcsQ0FBQTtJQUNwQixDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXBFLFFBQVEsQ0FBQyxPQUFpQixFQUFFLEtBQWE7UUFDL0MsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsd0NBQXdDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQTtRQUUxRSxPQUFPLElBQUksQ0FBQyxjQUFjO2FBQ3ZCLGVBQWUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDO2FBQy9CLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ2xELENBQUM7SUFFTyxhQUFhLENBQUMsS0FBVTtRQUM5QixPQUFPLElBQUksdUJBQXVCLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFBO0lBQy9FLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFcEUsWUFBWSxDQUNsQixXQUFvQixFQUNwQixPQUFpQixFQUNqQixLQUFhO1FBRWIsTUFBTSxlQUFlLEdBQUcsV0FBVztZQUNqQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDO1lBQ3ZDLENBQUMsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQTtRQUUzQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLGVBQWUsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQTtRQUV6RSxPQUFPLElBQUksQ0FBQyxlQUFlO2FBQ3hCLFlBQVksQ0FBQyxlQUFlLEVBQUUsT0FBTyxDQUFDO2FBQ3RDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ2xELENBQUM7SUFFTyxhQUFhLENBQUMsSUFBYTtRQUNqQyxPQUFPLElBQUksdUJBQXVCLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDckYsQ0FBQztJQUVPLGtCQUFrQixDQUFDLElBQWE7UUFDdEMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFBO0lBQzNFLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFcEUsbUJBQW1CLENBQ3pCLFlBQW1DLEVBQ25DLE9BQWlCLEVBQ2pCLEtBQWE7UUFFYixNQUFNLGdCQUFnQixHQUFHLFlBQVk7WUFDbkMsQ0FBQyxDQUFDLElBQUksaUJBQWlCLENBQUMsWUFBWSxDQUFDLHFCQUFxQixFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUM7WUFDM0UsQ0FBQyxDQUFDLElBQUksaUJBQWlCLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQTtRQUUvQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsRUFBRSxDQUFDLGdCQUFnQixFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFBO1FBRTNFLE9BQU8sSUFBSSxDQUFDLHFCQUFxQjthQUM5QixrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBQzthQUNwQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQzNELENBQUM7SUFFTyxvQkFBb0IsQ0FBQyxLQUE0QjtRQUN2RCxPQUFPLElBQUksdUJBQXVCLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUE7SUFDOUYsQ0FBQztJQUVPLHlCQUF5QixDQUFDLEtBQTRCO1FBQzVELE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQTtJQUN0RSxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXBFLFlBQVksQ0FBQyxHQUErQjtRQUNsRCxNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsS0FBSyxLQUFLLFlBQVksQ0FBQyxTQUFTLENBQUE7UUFFdEQsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNkLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLGdDQUFnQyxFQUFFLEdBQUcsQ0FBQyxDQUFBO1FBQ3ZELENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsNkRBQTZELEVBQUUsR0FBRyxDQUFDLENBQUE7UUFDcEYsQ0FBQztRQUVELE9BQU8sQ0FBQyxTQUFTLENBQUE7SUFDbkIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSUNvbnRpbnVhYmxlRGF0YVNvdXJjZSxcbiAgSURhdGFTb3VyY2UsXG4gIElMaXN0RGF0YVNvdXJjZSxcbiAgSVBhZ2VkRGF0YVNvdXJjZSxcbiAgaXNDb250aW51YWJsZURhdGFTb3VyY2UsXG4gIGlzTGlzdERhdGFTb3VyY2UsXG4gIGlzUGFnZWREYXRhU291cmNlLFxufSBmcm9tICcuL2RhdGEtc291cmNlJ1xuaW1wb3J0IHsgUGFnZSwgUGFnZWFibGUgfSBmcm9tICcuLi9wYWdlJ1xuaW1wb3J0IHsgRmlsdGVyIH0gZnJvbSAnLi4vZmlsdGVycy9maWx0ZXInXG5pbXBvcnQgeyBUb2tlbkNodW5rUmVxdWVzdCB9IGZyb20gJy4uL3Rva2VuLWNodW5rLXJlcXVlc3QnXG5pbXBvcnQgeyBDb250aW51YWJsZUxpc3RpbmcgfSBmcm9tICcuLi9jb250aW51YWJsZS1saXN0aW5nJ1xuaW1wb3J0IHsgU29ydCB9IGZyb20gJy4uL3NvcnQnXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcy9pbnRlcm5hbC9PYnNlcnZhYmxlJ1xuaW1wb3J0IHsgbWFwLCBzd2l0Y2hNYXAsIHRha2VXaGlsZSwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgeyBMb2dnZXIsIExvZ2dlckZhY3RvcnkgfSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcidcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnXG5cbmV4cG9ydCBlbnVtIFByb2Nlc3NTdGF0ZSB7XG4gIElOSVQgPSAnSU5JVCcsXG5cbiAgUlVOTklORyA9ICdSVU5OSU5HJyxcblxuICBDT01QTEVURUQgPSAnQ09NUExFVEVEJyxcblxuICBFUlJPUiA9ICdFUlJPUicsXG59XG5cbmV4cG9ydCBjbGFzcyBQcm9jZXNzSXRlcmF0aW9uQ29udGV4dDxUPiB7XG4gIHB1YmxpYyBzdGF0aWMgaW5pdDxUPigpOiBQcm9jZXNzSXRlcmF0aW9uQ29udGV4dDxUPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9jZXNzSXRlcmF0aW9uQ29udGV4dChQcm9jZXNzU3RhdGUuSU5JVClcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgcHJvY2Vzc2luZ0xpc3Q8VD4obGlzdDogVFtdKTogUHJvY2Vzc0l0ZXJhdGlvbkNvbnRleHQ8VD4ge1xuICAgIHJldHVybiBuZXcgUHJvY2Vzc0l0ZXJhdGlvbkNvbnRleHQoUHJvY2Vzc1N0YXRlLlJVTk5JTkcsIGxpc3QpXG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHByb2Nlc3NpbmdQYWdlPFQ+KGN1cnJlbnRQYWdlOiBQYWdlPFQ+KTogUHJvY2Vzc0l0ZXJhdGlvbkNvbnRleHQ8VD4ge1xuICAgIHJldHVybiBuZXcgUHJvY2Vzc0l0ZXJhdGlvbkNvbnRleHQoUHJvY2Vzc1N0YXRlLlJVTk5JTkcsIG51bGwsIGN1cnJlbnRQYWdlKVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyBwcm9jZXNzaW5nQ29udGludWFibGU8VD4oXG4gICAgY3VycmVudENodW5rOiBDb250aW51YWJsZUxpc3Rpbmc8VD5cbiAgKTogUHJvY2Vzc0l0ZXJhdGlvbkNvbnRleHQ8VD4ge1xuICAgIHJldHVybiBuZXcgUHJvY2Vzc0l0ZXJhdGlvbkNvbnRleHQoUHJvY2Vzc1N0YXRlLlJVTk5JTkcsIG51bGwsIG51bGwsIGN1cnJlbnRDaHVuaylcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgY29tcGxldGVkPFQ+KCk6IFByb2Nlc3NJdGVyYXRpb25Db250ZXh0PFQ+IHtcbiAgICByZXR1cm4gbmV3IFByb2Nlc3NJdGVyYXRpb25Db250ZXh0KFByb2Nlc3NTdGF0ZS5DT01QTEVURUQpXG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGVycm9yPFQ+KCk6IFByb2Nlc3NJdGVyYXRpb25Db250ZXh0PFQ+IHtcbiAgICByZXR1cm4gbmV3IFByb2Nlc3NJdGVyYXRpb25Db250ZXh0KFByb2Nlc3NTdGF0ZS5FUlJPUilcbiAgfVxuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgc3RhdGU6IFByb2Nlc3NTdGF0ZSxcbiAgICBwdWJsaWMgcmVhZG9ubHkgaXRlbXM/OiBUW10sXG4gICAgcHVibGljIHJlYWRvbmx5IHBhZ2U/OiBQYWdlPFQ+LFxuICAgIHB1YmxpYyByZWFkb25seSBjb250aW51YWJsZT86IENvbnRpbnVhYmxlTGlzdGluZzxUPlxuICApIHtcbiAgICBpZiAocGFnZSkge1xuICAgICAgdGhpcy5pdGVtcyA9IHBhZ2UuY29udGVudFxuICAgIH1cbiAgICBpZiAoY29udGludWFibGUpIHtcbiAgICAgIHRoaXMuaXRlbXMgPSBjb250aW51YWJsZS5jb250ZW50XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBEYXRhU291cmNlUHJvY2Vzc29yPFQ+IHtcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2c6IExvZ2dlciA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSlcblxuICBwcml2YXRlIHJlYWRvbmx5IF9kYXRhU291cmNlOiBJRGF0YVNvdXJjZTxUPlxuICBwcml2YXRlIHJlYWRvbmx5IF9jaHVua1NpemVcbiAgcHJpdmF0ZSByZWFkb25seSBfcHJvY2VzcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFByb2Nlc3NJdGVyYXRpb25Db250ZXh0PFQ+PihcbiAgICBQcm9jZXNzSXRlcmF0aW9uQ29udGV4dC5pbml0KClcbiAgKVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBTdGF0aWMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBzdGF0aWMgc3RhcnQ8VD4oZGF0YVNvdXJjZTogSURhdGFTb3VyY2U8VD4sIGNodW5rU2l6ZT86IG51bWJlcik6IERhdGFTb3VyY2VQcm9jZXNzb3I8VD4ge1xuICAgIHJldHVybiBuZXcgRGF0YVNvdXJjZVByb2Nlc3NvcihkYXRhU291cmNlLCBjaHVua1NpemUpXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoZGF0YVNvdXJjZTogSURhdGFTb3VyY2U8VD4sIGNodW5rU2l6ZT86IG51bWJlcikge1xuICAgIHRoaXMuX2RhdGFTb3VyY2UgPSBkYXRhU291cmNlXG4gICAgdGhpcy5fY2h1bmtTaXplID0gY2h1bmtTaXplIHx8IDEwMFxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGdldCBkYXRhU291cmNlKCk6IElEYXRhU291cmNlPFQ+IHtcbiAgICByZXR1cm4gdGhpcy5fZGF0YVNvdXJjZVxuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBsaXN0RGF0YVNvdXJjZSgpOiBJTGlzdERhdGFTb3VyY2U8VD4ge1xuICAgIHJldHVybiB0aGlzLmRhdGFTb3VyY2UgYXMgSUxpc3REYXRhU291cmNlPFQ+XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHBhZ2VkRGF0YVNvdXJjZSgpOiBJUGFnZWREYXRhU291cmNlPFQ+IHtcbiAgICByZXR1cm4gdGhpcy5kYXRhU291cmNlIGFzIElQYWdlZERhdGFTb3VyY2U8VD5cbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgY29udGludWFibGVEYXRhU291cmNlKCk6IElDb250aW51YWJsZURhdGFTb3VyY2U8VD4ge1xuICAgIHJldHVybiB0aGlzLmRhdGFTb3VyY2UgYXMgSUNvbnRpbnVhYmxlRGF0YVNvdXJjZTxUPlxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIEFsbG93cyB0byBpdGVyYXRpdmUgbG9hZCBhbmQgcHJvY2VzcyB0aGUgY29udGVudHMgb2YgdGhlXG4gICAqIGRhdGEgc291cmNlIGluIHNjb3BlLlxuICAgKlxuICAgKiBAcGFyYW0gcHJvY2Vzc0ZuIHRvIGl0ZXJhdGl2ZSBleGVjdXRlIHVwb24gZWFjaCBpdGVtIG9mIGVhY2ggaXRlcmF0aW9uXG4gICAqIEBwYXJhbSBmaWx0ZXJzIHRvIGZpbHRlciB0aGUgZGF0YSBzb3VyY2VcbiAgICogQHBhcmFtIHNvcnRzIHRvIHNvcnQgdGhlIGRhdGEgc291cmNlXG4gICAqL1xuICBwdWJsaWMgcHJvY2VzcyQoXG4gICAgcHJvY2Vzc0ZuOiAoZGF0YUNodW5rOiBUW10pID0+IGFueSxcbiAgICBmaWx0ZXJzOiBGaWx0ZXJbXSxcbiAgICBzb3J0czogU29ydFtdXG4gICk6IE9ic2VydmFibGU8UHJvY2Vzc0l0ZXJhdGlvbkNvbnRleHQ8VD4+IHtcbiAgICByZXR1cm4gdGhpcy5fcHJvY2VzcyQucGlwZShcbiAgICAgIHRha2VXaGlsZSgoY3R4KSA9PiB0aGlzLm5vdENvbXBsZXRlZChjdHgpKSxcbiAgICAgIHN3aXRjaE1hcCgoY3R4KSA9PiB0aGlzLmxvYWROZXh0KGN0eCwgZmlsdGVycywgc29ydHMpKSxcbiAgICAgIHRhcCgodXBkYXRlZEN0eCkgPT4ge1xuICAgICAgICBwcm9jZXNzRm4odXBkYXRlZEN0eC5pdGVtcylcbiAgICAgICAgdGhpcy5fcHJvY2VzcyQubmV4dCh1cGRhdGVkQ3R4KVxuICAgICAgfSlcbiAgICApXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogTG9hZGluZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGxvYWROZXh0KFxuICAgIGN1cnJlbnRDdHg6IFByb2Nlc3NJdGVyYXRpb25Db250ZXh0PFQ+LFxuICAgIGZpbHRlcnM6IEZpbHRlcltdLFxuICAgIHNvcnRzOiBTb3J0W11cbiAgKTogT2JzZXJ2YWJsZTxQcm9jZXNzSXRlcmF0aW9uQ29udGV4dDxUPj4ge1xuICAgIGxldCB1cGRhdGVkQ3R4JDogT2JzZXJ2YWJsZTxQcm9jZXNzSXRlcmF0aW9uQ29udGV4dDxUPj5cbiAgICBpZiAoaXNMaXN0RGF0YVNvdXJjZSh0aGlzLl9kYXRhU291cmNlKSkge1xuICAgICAgdXBkYXRlZEN0eCQgPSB0aGlzLmxvYWRMaXN0KGZpbHRlcnMsIHNvcnRzKVxuICAgIH0gZWxzZSBpZiAoaXNQYWdlZERhdGFTb3VyY2UodGhpcy5fZGF0YVNvdXJjZSkpIHtcbiAgICAgIHVwZGF0ZWRDdHgkID0gdGhpcy5sb2FkTmV4dFBhZ2UoY3VycmVudEN0eC5wYWdlLCBmaWx0ZXJzLCBzb3J0cylcbiAgICB9IGVsc2UgaWYgKGlzQ29udGludWFibGVEYXRhU291cmNlKHRoaXMuX2RhdGFTb3VyY2UpKSB7XG4gICAgICB1cGRhdGVkQ3R4JCA9IHRoaXMubG9hZE5leHRDb250aW51YWJsZShjdXJyZW50Q3R4LmNvbnRpbnVhYmxlLCBmaWx0ZXJzLCBzb3J0cylcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbnN1cHBvcnRlZCBEYXRhU291cmNlIScpXG4gICAgfVxuXG4gICAgcmV0dXJuIHVwZGF0ZWRDdHgkXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogTGlzdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGxvYWRMaXN0KGZpbHRlcnM6IEZpbHRlcltdLCBzb3J0czogU29ydFtdKTogT2JzZXJ2YWJsZTxQcm9jZXNzSXRlcmF0aW9uQ29udGV4dDxUPj4ge1xuICAgIHRoaXMubG9nLmRlYnVnKCdMb2FkaW5nIGxpc3Qgd2l0aCBmaWx0ZXJzIGFuZCBzb3J0cy4uLicsIFtmaWx0ZXJzLCBzb3J0c10pXG5cbiAgICByZXR1cm4gdGhpcy5saXN0RGF0YVNvdXJjZVxuICAgICAgLmZpbmRBbGxGaWx0ZXJlZChmaWx0ZXJzLCBzb3J0cylcbiAgICAgIC5waXBlKG1hcCgocGFnZSkgPT4gdGhpcy5saXN0SXRlcmF0aW9uKHBhZ2UpKSlcbiAgfVxuXG4gIHByaXZhdGUgbGlzdEl0ZXJhdGlvbihpdGVtczogVFtdKTogUHJvY2Vzc0l0ZXJhdGlvbkNvbnRleHQ8VD4ge1xuICAgIHJldHVybiBuZXcgUHJvY2Vzc0l0ZXJhdGlvbkNvbnRleHQoUHJvY2Vzc1N0YXRlLkNPTVBMRVRFRCwgaXRlbXMsIG51bGwsIG51bGwpXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUGFnZWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGxvYWROZXh0UGFnZShcbiAgICBjdXJyZW50UGFnZTogUGFnZTxUPixcbiAgICBmaWx0ZXJzOiBGaWx0ZXJbXSxcbiAgICBzb3J0czogU29ydFtdXG4gICk6IE9ic2VydmFibGU8UHJvY2Vzc0l0ZXJhdGlvbkNvbnRleHQ8VD4+IHtcbiAgICBjb25zdCBuZXh0UGFnZVJlcXVlc3QgPSBjdXJyZW50UGFnZVxuICAgICAgPyBQYWdlLm5leHRQYWdlYWJsZShjdXJyZW50UGFnZSwgc29ydHMpXG4gICAgICA6IG5ldyBQYWdlYWJsZSgwLCB0aGlzLl9jaHVua1NpemUsIHNvcnRzKVxuXG4gICAgdGhpcy5sb2cuZGVidWcoJ0xvYWRpbmcgbmV4dCBwYWdlLi4uJywgW25leHRQYWdlUmVxdWVzdCwgZmlsdGVycywgc29ydHNdKVxuXG4gICAgcmV0dXJuIHRoaXMucGFnZWREYXRhU291cmNlXG4gICAgICAuZmluZEFsbFBhZ2VkKG5leHRQYWdlUmVxdWVzdCwgZmlsdGVycylcbiAgICAgIC5waXBlKG1hcCgocGFnZSkgPT4gdGhpcy5wYWdlSXRlcmF0aW9uKHBhZ2UpKSlcbiAgfVxuXG4gIHByaXZhdGUgcGFnZUl0ZXJhdGlvbihwYWdlOiBQYWdlPFQ+KTogUHJvY2Vzc0l0ZXJhdGlvbkNvbnRleHQ8VD4ge1xuICAgIHJldHVybiBuZXcgUHJvY2Vzc0l0ZXJhdGlvbkNvbnRleHQodGhpcy5wYWdlSXRlcmF0aW9uU3RhdGUocGFnZSksIG51bGwsIHBhZ2UsIG51bGwpXG4gIH1cblxuICBwcml2YXRlIHBhZ2VJdGVyYXRpb25TdGF0ZShwYWdlOiBQYWdlPFQ+KTogUHJvY2Vzc1N0YXRlIHtcbiAgICByZXR1cm4gUGFnZS5oYXNOZXh0KHBhZ2UpID8gUHJvY2Vzc1N0YXRlLlJVTk5JTkcgOiBQcm9jZXNzU3RhdGUuQ09NUExFVEVEXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29udGludWFibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGxvYWROZXh0Q29udGludWFibGUoXG4gICAgY3VycmVudENodW5rOiBDb250aW51YWJsZUxpc3Rpbmc8VD4sXG4gICAgZmlsdGVyczogRmlsdGVyW10sXG4gICAgc29ydHM6IFNvcnRbXVxuICApOiBPYnNlcnZhYmxlPFByb2Nlc3NJdGVyYXRpb25Db250ZXh0PFQ+PiB7XG4gICAgY29uc3QgbmV4dENodW5rUmVxdWVzdCA9IGN1cnJlbnRDaHVua1xuICAgICAgPyBuZXcgVG9rZW5DaHVua1JlcXVlc3QoY3VycmVudENodW5rLm5leHRDb250aW51YXRpb25Ub2tlbiwgZmlsdGVycywgc29ydHMpXG4gICAgICA6IG5ldyBUb2tlbkNodW5rUmVxdWVzdChudWxsLCBmaWx0ZXJzLCBzb3J0cylcblxuICAgIHRoaXMubG9nLmRlYnVnKCdMb2FkaW5nIG5leHQgY2h1bmsuLi4nLCBbbmV4dENodW5rUmVxdWVzdCwgZmlsdGVycywgc29ydHNdKVxuXG4gICAgcmV0dXJuIHRoaXMuY29udGludWFibGVEYXRhU291cmNlXG4gICAgICAuZmluZEFsbENvbnRpbnVhYmxlKG5leHRDaHVua1JlcXVlc3QpXG4gICAgICAucGlwZShtYXAoKGNodW5rKSA9PiB0aGlzLmNvbnRpbnVhYmxlSXRlcmF0aW9uKGNodW5rKSkpXG4gIH1cblxuICBwcml2YXRlIGNvbnRpbnVhYmxlSXRlcmF0aW9uKGNodW5rOiBDb250aW51YWJsZUxpc3Rpbmc8VD4pOiBQcm9jZXNzSXRlcmF0aW9uQ29udGV4dDxUPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9jZXNzSXRlcmF0aW9uQ29udGV4dCh0aGlzLmNvbnRpbnVhYmxlSXRlcmF0aW9uU3RhdGUoY2h1bmspLCBudWxsLCBudWxsLCBjaHVuaylcbiAgfVxuXG4gIHByaXZhdGUgY29udGludWFibGVJdGVyYXRpb25TdGF0ZShjaHVuazogQ29udGludWFibGVMaXN0aW5nPFQ+KTogUHJvY2Vzc1N0YXRlIHtcbiAgICByZXR1cm4gY2h1bmsuaGFzTW9yZSA/IFByb2Nlc3NTdGF0ZS5SVU5OSU5HIDogUHJvY2Vzc1N0YXRlLkNPTVBMRVRFRFxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgTWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBub3RDb21wbGV0ZWQoY3R4OiBQcm9jZXNzSXRlcmF0aW9uQ29udGV4dDxUPik6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGNvbXBsZXRlZCA9IGN0eC5zdGF0ZSA9PT0gUHJvY2Vzc1N0YXRlLkNPTVBMRVRFRFxuXG4gICAgaWYgKGNvbXBsZXRlZCkge1xuICAgICAgdGhpcy5sb2cuZGVidWcoJ1Byb2Nlc3MgY29tcGxldGVkIHdpdGggY29udGV4dCcsIGN0eClcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sb2cuZGVidWcoJ1N0YXJ0aW5nIG5leHQgcHJvY2VzcyBpdGVyYXRpb24sIGN1cnJlbnQgaXRlcmF0aW9uIGNvbnRleHQ6JywgY3R4KVxuICAgIH1cblxuICAgIHJldHVybiAhY29tcGxldGVkXG4gIH1cbn1cbiJdfQ==
@@ -7,9 +7,9 @@ export function isDataSource(object) {
7
7
  if (!object) {
8
8
  return false;
9
9
  }
10
- return object.dataChanged !== undefined
11
- && object.findById !== undefined
12
- && object.getId !== undefined;
10
+ return (object.dataChanged !== undefined &&
11
+ object.findById !== undefined &&
12
+ object.getId !== undefined);
13
13
  }
14
14
  export function isListDataSource(object) {
15
15
  return object.findAllFiltered !== undefined;
@@ -20,4 +20,4 @@ export function isPagedDataSource(object) {
20
20
  export function isContinuableDataSource(object) {
21
21
  return object.findAllContinuable !== undefined;
22
22
  }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21tb24vZGF0YS9kYXRhc291cmNlL2RhdGEtc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThEQTs7Ozs0RUFJNEU7QUFFNUUsTUFBTSxVQUFVLFlBQVksQ0FBQyxNQUFXO0lBRXRDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUFDLE9BQU8sS0FBSyxDQUFDO0lBQUMsQ0FBQztJQUU5QixPQUFRLE1BQTJCLENBQUMsV0FBVyxLQUFLLFNBQVM7V0FDdkQsTUFBMkIsQ0FBQyxRQUFRLEtBQUssU0FBUztXQUNsRCxNQUEyQixDQUFDLEtBQUssS0FBSyxTQUFTLENBQUM7QUFDeEQsQ0FBQztBQUVELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxNQUF3QjtJQUN2RCxPQUFRLE1BQStCLENBQUMsZUFBZSxLQUFLLFNBQVMsQ0FBQztBQUN4RSxDQUFDO0FBRUQsTUFBTSxVQUFVLGlCQUFpQixDQUFDLE1BQXdCO0lBQ3hELE9BQVEsTUFBZ0MsQ0FBQyxZQUFZLEtBQUssU0FBUyxDQUFDO0FBQ3RFLENBQUM7QUFFRCxNQUFNLFVBQVUsdUJBQXVCLENBQUMsTUFBd0I7SUFDOUQsT0FBUSxNQUFzQyxDQUFDLGtCQUFrQixLQUFLLFNBQVMsQ0FBQztBQUNsRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7U29ydH0gZnJvbSAnLi4vc29ydCc7XG5pbXBvcnQge0ZpbHRlcn0gZnJvbSAnLi4vZmlsdGVycy9maWx0ZXInO1xuaW1wb3J0IHtQYWdlLCBQYWdlYWJsZX0gZnJvbSAnLi4vcGFnZSc7XG5pbXBvcnQge1Rva2VuQ2h1bmtSZXF1ZXN0fSBmcm9tICcuLi90b2tlbi1jaHVuay1yZXF1ZXN0JztcbmltcG9ydCB7Q29udGludWFibGVMaXN0aW5nfSBmcm9tICcuLi9jb250aW51YWJsZS1saXN0aW5nJztcbmltcG9ydCB7RGF0YVNvdXJjZUNoYW5nZUV2ZW50fSBmcm9tICcuL2RhdGEtc291cmNlLWNoYW5nZS1ldmVudCc7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAqIERhdGEgRmV0Y2hlciBBUElzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuZXhwb3J0IGludGVyZmFjZSBJTGlzdEZldGNoZXI8VD4ge1xuICBmaW5kQWxsRmlsdGVyZWQoZmlsdGVycz86IEZpbHRlcltdLCBzb3J0cz86IFNvcnRbXSk6IE9ic2VydmFibGU8QXJyYXk8VD4+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQYWdlRmV0Y2hlcjxUPiB7XG4gIGZpbmRBbGxQYWdlZChwYWdlYWJsZTogUGFnZWFibGUsIGZpbHRlcnM/OiBGaWx0ZXJbXSk6IE9ic2VydmFibGU8UGFnZTxUPj47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNvbnRpbnVhdGlvbkZldGNoZXI8VD4ge1xuICBmaW5kQWxsQ29udGludWFibGUodG9rZW5DaHVua1JlcXVlc3Q6IFRva2VuQ2h1bmtSZXF1ZXN0KTogT2JzZXJ2YWJsZTxDb250aW51YWJsZUxpc3Rpbmc8VD4+O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gKiBEYXRhIEFjY2Vzc29yIEFQSXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGFTb3VyY2U8VD4ge1xuXG4gIC8qKlxuICAgKiBOb3RpZmllcyB0aGF0IHRoaXMgZGF0YSBzb3VyY2UgaGFzIG1vZGlmaWVkIGVsZW1lbnRzLlxuICAgKi9cbiAgcmVhZG9ubHkgZGF0YUNoYW5nZWQ6IE9ic2VydmFibGU8RGF0YVNvdXJjZUNoYW5nZUV2ZW50PFQ+PjtcblxuICAvKipcbiAgICogUmV0dXJuIHRoZSBlbnRpdHkgd2l0aCB0aGUgZ2l2ZW4gSWQuXG4gICAqL1xuICBmaW5kQnlJZChpZDogYW55KTogT2JzZXJ2YWJsZTxUPjtcblxuICAvKipcbiAgICogUmV0dXJuIHRoZSBlbnRpdHkgd2l0aCB0aGUgZ2l2ZW4gSWQuXG4gICAqL1xuICBmaW5kQnlJZHMoaWRzOiBhbnlbXSk6IE9ic2VydmFibGU8VFtdPjtcblxuICAvKipcbiAgICogR2V0IHRoZSBJZCB2YWx1ZSBvZiB0aGUgZ2l2ZW4gZW50aXR5XG4gICAqL1xuICBnZXRJZChlbnRpdHk6IFQpOiBhbnk7XG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJTGlzdERhdGFTb3VyY2U8VD4gZXh0ZW5kcyBJTGlzdEZldGNoZXI8VD4sIElEYXRhU291cmNlPFQ+IHt9XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVBhZ2VkRGF0YVNvdXJjZTxUPiBleHRlbmRzIElQYWdlRmV0Y2hlcjxUPiwgSURhdGFTb3VyY2U8VD4ge31cblxuZXhwb3J0IGludGVyZmFjZSBJQ29udGludWFibGVEYXRhU291cmNlPFQ+IGV4dGVuZHMgSUNvbnRpbnVhdGlvbkZldGNoZXI8VD4sIElEYXRhU291cmNlPFQ+IHt9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAqIFR5cGUgUHJlZGljYXRlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRGF0YVNvdXJjZShvYmplY3Q6IGFueSk6IG9iamVjdCBpcyBJRGF0YVNvdXJjZTxhbnk+IHtcblxuICBpZiAoIW9iamVjdCkgeyByZXR1cm4gZmFsc2U7IH1cblxuICByZXR1cm4gKG9iamVjdCBhcyBJRGF0YVNvdXJjZTxhbnk+KS5kYXRhQ2hhbmdlZCAhPT0gdW5kZWZpbmVkXG4gICAgJiYgKG9iamVjdCBhcyBJRGF0YVNvdXJjZTxhbnk+KS5maW5kQnlJZCAhPT0gdW5kZWZpbmVkXG4gICAgJiYgKG9iamVjdCBhcyBJRGF0YVNvdXJjZTxhbnk+KS5nZXRJZCAhPT0gdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNMaXN0RGF0YVNvdXJjZShvYmplY3Q6IElEYXRhU291cmNlPGFueT4pOiBvYmplY3QgaXMgSUxpc3REYXRhU291cmNlPGFueT4ge1xuICByZXR1cm4gKG9iamVjdCBhcyBJTGlzdERhdGFTb3VyY2U8YW55PikuZmluZEFsbEZpbHRlcmVkICE9PSB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1BhZ2VkRGF0YVNvdXJjZShvYmplY3Q6IElEYXRhU291cmNlPGFueT4pOiBvYmplY3QgaXMgSVBhZ2VkRGF0YVNvdXJjZTxhbnk+IHtcbiAgcmV0dXJuIChvYmplY3QgYXMgSVBhZ2VkRGF0YVNvdXJjZTxhbnk+KS5maW5kQWxsUGFnZWQgIT09IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQ29udGludWFibGVEYXRhU291cmNlKG9iamVjdDogSURhdGFTb3VyY2U8YW55Pik6IG9iamVjdCBpcyBJQ29udGludWFibGVEYXRhU291cmNlPGFueT4ge1xuICByZXR1cm4gKG9iamVjdCBhcyBJQ29udGludWFibGVEYXRhU291cmNlPGFueT4pLmZpbmRBbGxDb250aW51YWJsZSAhPT0gdW5kZWZpbmVkO1xufVxuIl19
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21tb24vZGF0YS9kYXRhc291cmNlL2RhdGEtc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTREQTs7Ozs0RUFJNEU7QUFFNUUsTUFBTSxVQUFVLFlBQVksQ0FBQyxNQUFXO0lBQ3RDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNaLE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQztJQUVELE9BQU8sQ0FDSixNQUEyQixDQUFDLFdBQVcsS0FBSyxTQUFTO1FBQ3JELE1BQTJCLENBQUMsUUFBUSxLQUFLLFNBQVM7UUFDbEQsTUFBMkIsQ0FBQyxLQUFLLEtBQUssU0FBUyxDQUNqRCxDQUFBO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxNQUF3QjtJQUN2RCxPQUFRLE1BQStCLENBQUMsZUFBZSxLQUFLLFNBQVMsQ0FBQTtBQUN2RSxDQUFDO0FBRUQsTUFBTSxVQUFVLGlCQUFpQixDQUFDLE1BQXdCO0lBQ3hELE9BQVEsTUFBZ0MsQ0FBQyxZQUFZLEtBQUssU0FBUyxDQUFBO0FBQ3JFLENBQUM7QUFFRCxNQUFNLFVBQVUsdUJBQXVCLENBQ3JDLE1BQXdCO0lBRXhCLE9BQVEsTUFBc0MsQ0FBQyxrQkFBa0IsS0FBSyxTQUFTLENBQUE7QUFDakYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgU29ydCB9IGZyb20gJy4uL3NvcnQnXG5pbXBvcnQgeyBGaWx0ZXIgfSBmcm9tICcuLi9maWx0ZXJzL2ZpbHRlcidcbmltcG9ydCB7IFBhZ2UsIFBhZ2VhYmxlIH0gZnJvbSAnLi4vcGFnZSdcbmltcG9ydCB7IFRva2VuQ2h1bmtSZXF1ZXN0IH0gZnJvbSAnLi4vdG9rZW4tY2h1bmstcmVxdWVzdCdcbmltcG9ydCB7IENvbnRpbnVhYmxlTGlzdGluZyB9IGZyb20gJy4uL2NvbnRpbnVhYmxlLWxpc3RpbmcnXG5pbXBvcnQgeyBEYXRhU291cmNlQ2hhbmdlRXZlbnQgfSBmcm9tICcuL2RhdGEtc291cmNlLWNoYW5nZS1ldmVudCdcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICogRGF0YSBGZXRjaGVyIEFQSXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5leHBvcnQgaW50ZXJmYWNlIElMaXN0RmV0Y2hlcjxUPiB7XG4gIGZpbmRBbGxGaWx0ZXJlZChmaWx0ZXJzPzogRmlsdGVyW10sIHNvcnRzPzogU29ydFtdKTogT2JzZXJ2YWJsZTxBcnJheTxUPj5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUGFnZUZldGNoZXI8VD4ge1xuICBmaW5kQWxsUGFnZWQocGFnZWFibGU6IFBhZ2VhYmxlLCBmaWx0ZXJzPzogRmlsdGVyW10pOiBPYnNlcnZhYmxlPFBhZ2U8VD4+XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNvbnRpbnVhdGlvbkZldGNoZXI8VD4ge1xuICBmaW5kQWxsQ29udGludWFibGUodG9rZW5DaHVua1JlcXVlc3Q6IFRva2VuQ2h1bmtSZXF1ZXN0KTogT2JzZXJ2YWJsZTxDb250aW51YWJsZUxpc3Rpbmc8VD4+XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAqIERhdGEgQWNjZXNzb3IgQVBJcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuZXhwb3J0IGludGVyZmFjZSBJRGF0YVNvdXJjZTxUPiB7XG4gIC8qKlxuICAgKiBOb3RpZmllcyB0aGF0IHRoaXMgZGF0YSBzb3VyY2UgaGFzIG1vZGlmaWVkIGVsZW1lbnRzLlxuICAgKi9cbiAgcmVhZG9ubHkgZGF0YUNoYW5nZWQ6IE9ic2VydmFibGU8RGF0YVNvdXJjZUNoYW5nZUV2ZW50PFQ+PlxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIGVudGl0eSB3aXRoIHRoZSBnaXZlbiBJZC5cbiAgICovXG4gIGZpbmRCeUlkKGlkOiBhbnkpOiBPYnNlcnZhYmxlPFQ+XG5cbiAgLyoqXG4gICAqIFJldHVybiB0aGUgZW50aXR5IHdpdGggdGhlIGdpdmVuIElkLlxuICAgKi9cbiAgZmluZEJ5SWRzKGlkczogYW55W10pOiBPYnNlcnZhYmxlPFRbXT5cblxuICAvKipcbiAgICogR2V0IHRoZSBJZCB2YWx1ZSBvZiB0aGUgZ2l2ZW4gZW50aXR5XG4gICAqL1xuICBnZXRJZChlbnRpdHk6IFQpOiBhbnlcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJTGlzdERhdGFTb3VyY2U8VD4gZXh0ZW5kcyBJTGlzdEZldGNoZXI8VD4sIElEYXRhU291cmNlPFQ+IHt9XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVBhZ2VkRGF0YVNvdXJjZTxUPiBleHRlbmRzIElQYWdlRmV0Y2hlcjxUPiwgSURhdGFTb3VyY2U8VD4ge31cblxuZXhwb3J0IGludGVyZmFjZSBJQ29udGludWFibGVEYXRhU291cmNlPFQ+IGV4dGVuZHMgSUNvbnRpbnVhdGlvbkZldGNoZXI8VD4sIElEYXRhU291cmNlPFQ+IHt9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAqIFR5cGUgUHJlZGljYXRlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRGF0YVNvdXJjZShvYmplY3Q6IGFueSk6IG9iamVjdCBpcyBJRGF0YVNvdXJjZTxhbnk+IHtcbiAgaWYgKCFvYmplY3QpIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgKG9iamVjdCBhcyBJRGF0YVNvdXJjZTxhbnk+KS5kYXRhQ2hhbmdlZCAhPT0gdW5kZWZpbmVkICYmXG4gICAgKG9iamVjdCBhcyBJRGF0YVNvdXJjZTxhbnk+KS5maW5kQnlJZCAhPT0gdW5kZWZpbmVkICYmXG4gICAgKG9iamVjdCBhcyBJRGF0YVNvdXJjZTxhbnk+KS5nZXRJZCAhPT0gdW5kZWZpbmVkXG4gIClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTGlzdERhdGFTb3VyY2Uob2JqZWN0OiBJRGF0YVNvdXJjZTxhbnk+KTogb2JqZWN0IGlzIElMaXN0RGF0YVNvdXJjZTxhbnk+IHtcbiAgcmV0dXJuIChvYmplY3QgYXMgSUxpc3REYXRhU291cmNlPGFueT4pLmZpbmRBbGxGaWx0ZXJlZCAhPT0gdW5kZWZpbmVkXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1BhZ2VkRGF0YVNvdXJjZShvYmplY3Q6IElEYXRhU291cmNlPGFueT4pOiBvYmplY3QgaXMgSVBhZ2VkRGF0YVNvdXJjZTxhbnk+IHtcbiAgcmV0dXJuIChvYmplY3QgYXMgSVBhZ2VkRGF0YVNvdXJjZTxhbnk+KS5maW5kQWxsUGFnZWQgIT09IHVuZGVmaW5lZFxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNDb250aW51YWJsZURhdGFTb3VyY2UoXG4gIG9iamVjdDogSURhdGFTb3VyY2U8YW55PlxuKTogb2JqZWN0IGlzIElDb250aW51YWJsZURhdGFTb3VyY2U8YW55PiB7XG4gIHJldHVybiAob2JqZWN0IGFzIElDb250aW51YWJsZURhdGFTb3VyY2U8YW55PikuZmluZEFsbENvbnRpbnVhYmxlICE9PSB1bmRlZmluZWRcbn1cbiJdfQ==
@@ -1,11 +1,11 @@
1
1
  export class EntityIdUtil {
2
2
  static getId(entity, idProperty) {
3
3
  if (entity && idProperty) {
4
- if (typeof (entity) === 'object') {
4
+ if (typeof entity === 'object') {
5
5
  return entity?.[idProperty];
6
6
  }
7
7
  }
8
8
  return entity;
9
9
  }
10
10
  }
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWlkLXV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21tb24vZGF0YS9kYXRhc291cmNlL2VudGl0eS1pZC11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE1BQU0sT0FBTyxZQUFZO0lBQ2hCLE1BQU0sQ0FBQyxLQUFLLENBQUksTUFBUyxFQUFFLFVBQWtCO1FBQ2xELElBQUksTUFBTSxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ3pCLElBQUksT0FBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUNoQyxPQUFhLE1BQU8sRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3JDLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiXG5leHBvcnQgY2xhc3MgRW50aXR5SWRVdGlsIHtcbiAgcHVibGljIHN0YXRpYyBnZXRJZDxUPihlbnRpdHk6IFQsIGlkUHJvcGVydHk6IHN0cmluZyk6IGFueSB7XG4gICAgaWYgKGVudGl0eSAmJiBpZFByb3BlcnR5KSB7XG4gICAgICBpZiAodHlwZW9mKGVudGl0eSkgPT09ICdvYmplY3QnKSB7XG4gICAgICAgIHJldHVybiAoPGFueT5lbnRpdHkpPy5baWRQcm9wZXJ0eV07XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBlbnRpdHk7XG4gIH1cbn1cbiJdfQ==
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWlkLXV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21tb24vZGF0YS9kYXRhc291cmNlL2VudGl0eS1pZC11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxZQUFZO0lBQ2hCLE1BQU0sQ0FBQyxLQUFLLENBQUksTUFBUyxFQUFFLFVBQWtCO1FBQ2xELElBQUksTUFBTSxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ3pCLElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQy9CLE9BQWEsTUFBTyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUE7WUFDcEMsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQTtJQUNmLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBFbnRpdHlJZFV0aWwge1xuICBwdWJsaWMgc3RhdGljIGdldElkPFQ+KGVudGl0eTogVCwgaWRQcm9wZXJ0eTogc3RyaW5nKTogYW55IHtcbiAgICBpZiAoZW50aXR5ICYmIGlkUHJvcGVydHkpIHtcbiAgICAgIGlmICh0eXBlb2YgZW50aXR5ID09PSAnb2JqZWN0Jykge1xuICAgICAgICByZXR1cm4gKDxhbnk+ZW50aXR5KT8uW2lkUHJvcGVydHldXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBlbnRpdHlcbiAgfVxufVxuIl19
@@ -56,7 +56,7 @@ export class DelegateDataSource {
56
56
  return this.findAllByIdFn(ids);
57
57
  }
58
58
  if (this.findByIdFn) {
59
- return forkJoin(ids.map(id => this.findById(id)));
59
+ return forkJoin(ids.map((id) => this.findById(id)));
60
60
  }
61
61
  return throwError('This DelegateDataSource does not implement findByIds or findById!');
62
62
  }
@@ -124,4 +124,4 @@ export class DelegateContinuableDataSource extends DelegateDataSource {
124
124
  return this.chunkFetcherFn(tokenChunkRequest);
125
125
  }
126
126
  }
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZWdhdGUtZGF0YS1zb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21tb24vZGF0YS9kYXRhc291cmNlL2ZldGNoZXIvZGVsZWdhdGUtZGF0YS1zb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLEtBQUssRUFBRSxRQUFRLEVBQWMsVUFBVSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBTTdELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUcvQyxNQUFNLE9BQWdCLGtCQUFrQjtJQUV0Qzs7OztnRkFJNEU7SUFFckUsTUFBTSxDQUFDLGdCQUFnQjtRQUM1QixNQUFNLEtBQUssR0FBRyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxhQUFhO1FBQ3hDLE9BQU8sa0JBQWtCLENBQUMsV0FBVyxDQUNuQyxLQUFLLEVBQ0wsSUFBSSxFQUNKLEtBQUssRUFDTCxLQUFLLENBQ04sQ0FBQztJQUNKLENBQUM7SUFFTSxNQUFNLENBQUMsV0FBVyxDQUN2QixXQUF3RSxFQUN4RSxhQUFxQixJQUFJLEVBQ3pCLFVBQXVDLEVBQ3ZDLGFBQStDO1FBRS9DLE9BQU8sSUFBSSxzQkFBc0IsQ0FDL0IsV0FBVyxFQUNYLFVBQVUsRUFDVixVQUFVLEVBQ1YsYUFBYSxDQUNkLENBQUM7SUFDSixDQUFDO0lBRU0sTUFBTSxDQUFDLGdCQUFnQjtRQUM1QixNQUFNLEtBQUssR0FBRyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxhQUFhO1FBQ3hDLE9BQU8sa0JBQWtCLENBQUMsV0FBVyxDQUNuQyxLQUFLLEVBQ0wsSUFBSSxFQUNKLEtBQUssQ0FDTixDQUFDO0lBQ0osQ0FBQztJQUVNLE1BQU0sQ0FBQyxXQUFXLENBQ3ZCLFdBQTRFLEVBQzVFLGFBQXFCLElBQUksRUFDekIs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QUUsT0FBTyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVNLE9BQU8sQ0FDWixRQUFnQixFQUNoQixTQUFtQyxFQUNuQyxPQUFrQjtRQUVsQixNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDekMsQ0FBQztDQUVGO0FBRUQsTUFBTSxPQUFPLDZCQUFpQyxTQUFRLGtCQUFxQjtJQUV6RTs7OztnRkFJNEU7SUFFNUUsWUFDbUIsY0FBMkYsRUFDNUcsVUFBa0IsRUFDbEIsVUFBc0MsRUFDdEMsYUFBOEM7UUFFOUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFMNUIsbUJBQWMsR0FBZCxjQUFjLENBQTZFO0lBTTlHLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFckUsa0JBQWtCLENBQUMsaUJBQW9DO1FBQzVELE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ2hELENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SUNvbnRpbnVhYmxlRGF0YVNvdXJjZSwgSURhdGFTb3VyY2UsIElMaXN0RGF0YVNvdXJjZSwgSVBhZ2VkRGF0YVNvdXJjZX0gZnJvbSAnLi4vZGF0YS1zb3VyY2UnO1xuaW1wb3J0IHtFTVBUWSwgZm9ya0pvaW4sIE9ic2VydmFibGUsIHRocm93RXJyb3J9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtGaWx0ZXJ9IGZyb20gJy4uLy4uL2ZpbHRlcnMvZmlsdGVyJztcbmltcG9ydCB7U29ydH0gZnJvbSAnLi4vLi4vc29ydCc7XG5pbXBvcnQge1BhZ2UsIFBhZ2VhYmxlfSBmcm9tICcuLi8uLi9wYWdlJztcbmltcG9ydCB7VG9rZW5DaHVua1JlcXVlc3R9IGZyb20gJy4uLy4uL3Rva2VuLWNodW5rLXJlcXVlc3QnO1xuaW1wb3J0IHtDb250aW51YWJsZUxpc3Rpbmd9IGZyb20gJy4uLy4uL2NvbnRpbnVhYmxlLWxpc3RpbmcnO1xuaW1wb3J0IHtFbnRpdHlJZFV0aWx9IGZyb20gJy4uL2VudGl0eS1pZC11dGlsJztcblxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGVsZWdhdGVEYXRhU291cmNlPFQ+IGltcGxlbWVudHMgSURhdGFTb3VyY2U8VD4ge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBTdGF0aWMgQnVpbGRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBzdGF0aWMgZW1wdHlMaXN0RmV0Y2hlcjxUPigpOiBJRGF0YVNvdXJjZTxUPiB7XG4gICAgY29uc3QgZW1wdHkgPSAoKSA9PiBFTVBUWTsgLy8gQU9UIElnbm9yZVxuICAgIHJldHVybiBEZWxlZ2F0ZURhdGFTb3VyY2UubGlzdEZldGNoZXIoXG4gICAgICBlbXB0eSxcbiAgICAgICdpZCcsXG4gICAgICBlbXB0eSxcbiAgICAgIGVtcHR5XG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgbGlzdEZldGNoZXI8VD4oXG4gICAgbGlzdEZldGNoZXI6IChzb3J0czogU29ydFtdLCBmaWx0ZXJzPzogRmlsdGVyW10pID0+IE9ic2VydmFibGU8QXJyYXk8VD4+LFxuICAgIGlkUHJvcGVydHk6IHN0cmluZyA9ICdpZCcsXG4gICAgZmluZEJ5SWRGbj86IChpZDogYW55KSA9PiBPYnNlcnZhYmxlPFQ+LFxuICAgIGZpbmRBbGxCeUlkRm4/OiAoaWRzOiBhbnlbXSkgPT4gT2JzZXJ2YWJsZTxUW10+XG4gICk6IElEYXRhU291cmNlPFQ+IHtcbiAgICByZXR1cm4gbmV3IERlbGVnYXRlTGlzdERhdGFTb3VyY2UoXG4gICAgICBsaXN0RmV0Y2hlcixcbiAgICAgIGlkUHJvcGVydHksXG4gICAgICBmaW5kQnlJZEZuLFxuICAgICAgZmluZEFsbEJ5SWRGblxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGVtcHR5UGFnZUZldGNoZXI8VD4oKTogSURhdGFTb3VyY2U8VD4ge1xuICAgIGNvbnN0IGVtcHR5ID0gKCkgPT4gRU1QVFk7IC8vIEFPVCBJZ25vcmVcbiAgICByZXR1cm4gRGVsZWdhdGVEYXRhU291cmNlLnBhZ2VGZXRjaGVyKFxuICAgICAgZW1wdHksXG4gICAgICAnaWQnLFxuICAgICAgZW1wdHlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBwYWdlRmV0Y2hlcjxUPihcbiAgICBwYWdlRmV0Y2hlcjogKHBhZ2VhYmxlOiBQYWdlYWJsZSwgZmlsdGVycz86IEZpbHRlcltdKSA9PiBPYnNlcnZhYmxlPFBhZ2U8VD4+LFxuICAgIGlkUHJvcGVydHk6IHN0cmluZyA9ICdpZCcsXG4gICAgZmluZEJ5SWRGbj86IChpZDogYW55KSA9PiBPYnNlcnZhYmxlPFQ+LFxuICAgIGZpbmRBbGxCeUlkRm4/OiAoaWRzOiBhbnlbXSkgPT4gT2JzZXJ2YWJsZTxUW10+XG4gICk6IElEYXRhU291cmNlPFQ+IHtcbiAgICByZXR1cm4gbmV3IERlbGVnYXRlUGFnZWREYXRhU291cmNlKFxuICAgICAgcGFnZUZldGNoZXIsXG4gICAgICBpZFByb3BlcnR5LFxuICAgICAgZmluZEJ5SWRGbixcbiAgICAgIGZpbmRBbGxCeUlkRm5cbiAgICApO1xuICB9XG5cblxuICBwdWJsaWMgc3RhdGljIGVtcHR5Q29udGludWFibGVGZXRjaGVyPFQ+KCk6IElEYXRhU291cmNlPFQ+IHtcbiAgICBjb25zdCBlbXB0eSA9ICgpID0+IEVNUFRZOyAvLyBBT1QgSWdub3JlXG4gICAgcmV0dXJuIERlbGVnYXRlRGF0YVNvdXJjZS5jb250aW51YWJsZUZldGNoZXIoXG4gICAgICBlbXB0eSxcbiAgICAgICdpZCcsXG4gICAgICBlbXB0eVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGNvbnRpbnVhYmxlRmV0Y2hlcjxUPihcbiAgICBjaHVua0ZldGNoZXI6ICh0b2tlbkNodW5rUmVxdWVzdDogVG9rZW5DaHVua1JlcXVlc3QpID0+IE9ic2VydmFibGU8Q29udGludWFibGVMaXN0aW5nPFQ+PixcbiAgICBpZFByb3BlcnR5OiBzdHJpbmcgPSAnaWQnLFxuICAgIGZpbmRCeUlkRm4/OiAoaWQ6IGFueSkgPT4gT2JzZXJ2YWJsZTxUPixcbiAgICBmaW5kQWxsQnlJZEZuPzogKGlkczogYW55W10pID0+IE9ic2VydmFibGU8VFtdPlxuICApOiBJRGF0YVNvdXJjZTxUPiB7XG4gICAgcmV0dXJuIG5ldyBEZWxlZ2F0ZUNvbnRpbnVhYmxlRGF0YVNvdXJjZShcbiAgICAgIGNodW5rRmV0Y2hlcixcbiAgICAgIGlkUHJvcGVydHksXG4gICAgICBmaW5kQnlJZEZuLFxuICAgICAgZmluZEFsbEJ5SWRGblxuICAgICk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBpZFByb3BlcnR5OiBzdHJpbmcsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmaW5kQnlJZEZuOiAoaWQ6IGFueSkgPT4gT2JzZXJ2YWJsZTxUPixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZpbmRBbGxCeUlkRm46IChpZHM6IGFueVtdKSA9PiBPYnNlcnZhYmxlPFRbXT4sXG4gICkge1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGdldCBkYXRhQ2hhbmdlZCgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiBFTVBUWTtcbiAgfVxuXG4gIHB1YmxpYyBmaW5kQnlJZChpZDogYW55KTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgaWYgKHRoaXMuZmluZEJ5SWRGbikge1xuICAgICAgcmV0dXJuIHRoaXMuZmluZEJ5SWRGbihpZCk7XG4gICAgfVxuICAgIHJldHVybiB0aHJvd0Vycm9yKCdUaGlzIERlbGVnYXRlRGF0YVNvdXJjZSBkb2VzIG5vdCBpbXBsZW1lbnQgZmluZEJ5SWQhJyk7XG4gIH1cblxuICBwdWJsaWMgZmluZEJ5SWRzKGlkczogYW55W10pOiBPYnNlcnZhYmxlPFRbXT4ge1xuICAgIGlmICh0aGlzLmZpbmRBbGxCeUlkRm4pIHtcbiAgICAgIHJldHVybiB0aGlzLmZpbmRBbGxCeUlkRm4oaWRzKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZmluZEJ5SWRGbikge1xuICAgICAgcmV0dXJuIGZvcmtKb2luKGlkcy5tYXAoaWQgPT4gdGhpcy5maW5kQnlJZChpZCkpKTtcbiAgICB9XG4gICAgcmV0dXJuIHRocm93RXJyb3IoJ1RoaXMgRGVsZWdhdGVEYXRhU291cmNlIGRvZXMgbm90IGltcGxlbWVudCBmaW5kQnlJZHMgb3IgZmluZEJ5SWQhJyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0SWQoZW50aXR5OiBUKTogYW55IHtcbiAgICByZXR1cm4gRW50aXR5SWRVdGlsLmdldElkKGVudGl0eSwgdGhpcy5pZFByb3BlcnR5KTtcbiAgfVxuXG59XG5cblxuZXhwb3J0IGNsYXNzIERlbGVnYXRlTGlzdERhdGFTb3VyY2U8VD4gZXh0ZW5kcyBEZWxlZ2F0ZURhdGFTb3VyY2U8VD4gaW1wbGVtZW50cyBJTGlzdERhdGFTb3VyY2U8VD4ge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGlzdEZldGNoZXJGbjogKHNvcnRzOiBTb3J0W10sIGZpbHRlcnM/OiBGaWx0ZXJbXSkgPT4gT2JzZXJ2YWJsZTxBcnJheTxUPj4sXG4gICAgaWRQcm9wZXJ0eTogc3RyaW5nLFxuICAgIGZpbmRCeUlkRm46IChpZDogYW55KSA9PiBPYnNlcnZhYmxlPFQ+LFxuICAgIGZpbmRBbGxCeUlkRm46IChpZHM6IGFueVtdKSA9PiBPYnNlcnZhYmxlPFRbXT4sXG4gICkge1xuICAgIHN1cGVyKGlkUHJvcGVydHksIGZpbmRCeUlkRm4sIGZpbmRBbGxCeUlkRm4pO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGZpbmRBbGxGaWx0ZXJlZChmaWx0ZXJzPzogRmlsdGVyW10sIHNvcnRzPzogU29ydFtdKTogT2JzZXJ2YWJsZTxBcnJheTxUPj4ge1xuICAgIHJldHVybiB0aGlzLmxpc3RGZXRjaGVyRm4oc29ydHMsIGZpbHRlcnMpO1xuICB9XG5cbn1cblxuZXhwb3J0IGNsYXNzIERlbGVnYXRlUGFnZWREYXRhU291cmNlPFQ+IGV4dGVuZHMgRGVsZWdhdGVEYXRhU291cmNlPFQ+IGltcGxlbWVudHMgSVBhZ2VkRGF0YVNvdXJjZTxUPiB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBwYWdlRmV0Y2hlckZuOiAocGFnZWFibGU6IFBhZ2VhYmxlLCBmaWx0ZXJzPzogRmlsdGVyW10pID0+IE9ic2VydmFibGU8UGFnZTxUPj4sXG4gICAgaWRQcm9wZXJ0eTogc3RyaW5nLFxuICAgIGZpbmRCeUlkRm46IChpZDogYW55KSA9PiBPYnNlcnZhYmxlPFQ+LFxuICAgIGZpbmRBbGxCeUlkRm46IChpZHM6IGFueVtdKSA9PiBPYnNlcnZhYmxlPFRbXT4sXG4gICkge1xuICAgIHN1cGVyKGlkUHJvcGVydHksIGZpbmRCeUlkRm4sIGZpbmRBbGxCeUlkRm4pO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGZpbmRBbGxQYWdlZChwYWdlYWJsZTogUGFnZWFibGUsIGZpbHRlcnM/OiBGaWx0ZXJbXSk6IE9ic2VydmFibGU8UGFnZTxUPj4ge1xuICAgIHJldHVybiB0aGlzLnBhZ2VGZXRjaGVyRm4ocGFnZWFibGUsIGZpbHRlcnMpO1xuICB9XG5cbiAgcHVibGljIHByb2Nlc3MoXG4gICAgcGFnZVNpemU6IG51bWJlcixcbiAgICBwcm9jZXNzRm46IChkYXRhQ2h1bms6IFRbXSkgPT4gdm9pZCxcbiAgICBmaWx0ZXJzPzogRmlsdGVyW11cbiAgKTogdm9pZCB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdOb3QgeWV0IGltcGxlbWVudGVkJyk7XG4gIH1cblxufVxuXG5leHBvcnQgY2xhc3MgRGVsZWdhdGVDb250aW51YWJsZURhdGFTb3VyY2U8VD4gZXh0ZW5kcyBEZWxlZ2F0ZURhdGFTb3VyY2U8VD4gaW1wbGVtZW50cyBJQ29udGludWFibGVEYXRhU291cmNlPFQ+IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNodW5rRmV0Y2hlckZuOiAodG9rZW5DaHVua1JlcXVlc3Q6IFRva2VuQ2h1bmtSZXF1ZXN0KSA9PiBPYnNlcnZhYmxlPENvbnRpbnVhYmxlTGlzdGluZzxUPj4sXG4gICAgaWRQcm9wZXJ0eTogc3RyaW5nLFxuICAgIGZpbmRCeUlkRm46IChpZDogYW55KSA9PiBPYnNlcnZhYmxlPFQ+LFxuICAgIGZpbmRBbGxCeUlkRm46IChpZHM6IGFueVtdKSA9PiBPYnNlcnZhYmxlPFRbXT4sXG4gICkge1xuICAgIHN1cGVyKGlkUHJvcGVydHksIGZpbmRCeUlkRm4sIGZpbmRBbGxCeUlkRm4pO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGZpbmRBbGxDb250aW51YWJsZSh0b2tlbkNodW5rUmVxdWVzdDogVG9rZW5DaHVua1JlcXVlc3QpOiBPYnNlcnZhYmxlPENvbnRpbnVhYmxlTGlzdGluZzxUPj4ge1xuICAgIHJldHVybiB0aGlzLmNodW5rRmV0Y2hlckZuKHRva2VuQ2h1bmtSZXF1ZXN0KTtcbiAgfVxuXG59XG4iXX0=
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZWdhdGUtZGF0YS1zb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21tb24vZGF0YS9kYXRhc291cmNlL2ZldGNoZXIvZGVsZWdhdGUtZGF0YS1zb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBTTlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUVoRCxNQUFNLE9BQWdCLGtCQUFrQjtJQUN0Qzs7OztnRkFJNEU7SUFFckUsTUFBTSxDQUFDLGdCQUFnQjtRQUM1QixNQUFNLEtBQUssR0FBRyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUEsQ0FBQyxhQUFhO1FBQ3ZDLE9BQU8sa0JBQWtCLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFBO0lBQ2xFLENBQUM7SUFFTSxNQUFNLENBQUMsV0FBVyxDQUN2QixXQUF3RSxFQUN4RSxhQUFxQixJQUFJLEVBQ3pCLFVBQXVDLEVBQ3ZDLGFBQStDO1FBRS9DLE9BQU8sSUFBSSxzQkFBc0IsQ0FBQyxXQUFXLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxhQUFhLENBQUMsQ0FBQTtJQUN2RixDQUFDO0lBRU0sTUFBTSxDQUFDLGdCQUFnQjtRQUM1QixNQUFNLEtBQUssR0FBRyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUEsQ0FBQyxhQUFhO1FBQ3ZDLE9BQU8sa0JBQWtCLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUE7SUFDM0QsQ0FBQztJQUVNLE1BQU0sQ0FBQyxXQUFXLENBQ3ZCLFdBQTRFLEVBQzVFLGFBQXFCLElBQUksRUFDekIs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USxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBQzlDLENBQUM7SUFFTSxPQUFPLENBQUMsUUFBZ0IsRUFBRSxTQUFtQyxFQUFFLE9BQWtCO1FBQ3RGLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQTtJQUN4QyxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sNkJBQ1gsU0FBUSxrQkFBcUI7SUFHN0I7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ21CLGNBRXFCLEVBQ3RDLFVBQWtCLEVBQ2xCLFVBQXNDLEVBQ3RDLGFBQThDO1FBRTlDLEtBQUssQ0FBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLGFBQWEsQ0FBQyxDQUFBO1FBUDNCLG1CQUFjLEdBQWQsY0FBYyxDQUVPO0lBTXhDLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFckUsa0JBQWtCLENBQ3ZCLGlCQUFvQztRQUVwQyxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtJQUMvQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBJQ29udGludWFibGVEYXRhU291cmNlLFxuICBJRGF0YVNvdXJjZSxcbiAgSUxpc3REYXRhU291cmNlLFxuICBJUGFnZWREYXRhU291cmNlLFxufSBmcm9tICcuLi9kYXRhLXNvdXJjZSdcbmltcG9ydCB7IEVNUFRZLCBmb3JrSm9pbiwgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBGaWx0ZXIgfSBmcm9tICcuLi8uLi9maWx0ZXJzL2ZpbHRlcidcbmltcG9ydCB7IFNvcnQgfSBmcm9tICcuLi8uLi9zb3J0J1xuaW1wb3J0IHsgUGFnZSwgUGFnZWFibGUgfSBmcm9tICcuLi8uLi9wYWdlJ1xuaW1wb3J0IHsgVG9rZW5DaHVua1JlcXVlc3QgfSBmcm9tICcuLi8uLi90b2tlbi1jaHVuay1yZXF1ZXN0J1xuaW1wb3J0IHsgQ29udGludWFibGVMaXN0aW5nIH0gZnJvbSAnLi4vLi4vY29udGludWFibGUtbGlzdGluZydcbmltcG9ydCB7IEVudGl0eUlkVXRpbCB9IGZyb20gJy4uL2VudGl0eS1pZC11dGlsJ1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGVsZWdhdGVEYXRhU291cmNlPFQ+IGltcGxlbWVudHMgSURhdGFTb3VyY2U8VD4ge1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogU3RhdGljIEJ1aWxkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgc3RhdGljIGVtcHR5TGlzdEZldGNoZXI8VD4oKTogSURhdGFTb3VyY2U8VD4ge1xuICAgIGNvbnN0IGVtcHR5ID0gKCkgPT4gRU1QVFkgLy8gQU9UIElnbm9yZVxuICAgIHJldHVybiBEZWxlZ2F0ZURhdGFTb3VyY2UubGlzdEZldGNoZXIoZW1wdHksICdpZCcsIGVtcHR5LCBlbXB0eSlcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgbGlzdEZldGNoZXI8VD4oXG4gICAgbGlzdEZldGNoZXI6IChzb3J0czogU29ydFtdLCBmaWx0ZXJzPzogRmlsdGVyW10pID0+IE9ic2VydmFibGU8QXJyYXk8VD4+LFxuICAgIGlkUHJvcGVydHk6IHN0cmluZyA9ICdpZCcsXG4gICAgZmluZEJ5SWRGbj86IChpZDogYW55KSA9PiBPYnNlcnZhYmxlPFQ+LFxuICAgIGZpbmRBbGxCeUlkRm4/OiAoaWRzOiBhbnlbXSkgPT4gT2JzZXJ2YWJsZTxUW10+XG4gICk6IElEYXRhU291cmNlPFQ+IHtcbiAgICByZXR1cm4gbmV3IERlbGVnYXRlTGlzdERhdGFTb3VyY2UobGlzdEZldGNoZXIsIGlkUHJvcGVydHksIGZpbmRCeUlkRm4sIGZpbmRBbGxCeUlkRm4pXG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGVtcHR5UGFnZUZldGNoZXI8VD4oKTogSURhdGFTb3VyY2U8VD4ge1xuICAgIGNvbnN0IGVtcHR5ID0gKCkgPT4gRU1QVFkgLy8gQU9UIElnbm9yZVxuICAgIHJldHVybiBEZWxlZ2F0ZURhdGFTb3VyY2UucGFnZUZldGNoZXIoZW1wdHksICdpZCcsIGVtcHR5KVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyBwYWdlRmV0Y2hlcjxUPihcbiAgICBwYWdlRmV0Y2hlcjogKHBhZ2VhYmxlOiBQYWdlYWJsZSwgZmlsdGVycz86IEZpbHRlcltdKSA9PiBPYnNlcnZhYmxlPFBhZ2U8VD4+LFxuICAgIGlkUHJvcGVydHk6IHN0cmluZyA9ICdpZCcsXG4gICAgZmluZEJ5SWRGbj86IChpZDogYW55KSA9PiBPYnNlcnZhYmxlPFQ+LFxuICAgIGZpbmRBbGxCeUlkRm4/OiAoaWRzOiBhbnlbXSkgPT4gT2JzZXJ2YWJsZTxUW10+XG4gICk6IElEYXRhU291cmNlPFQ+IHtcbiAgICByZXR1cm4gbmV3IERlbGVnYXRlUGFnZWREYXRhU291cmNlKHBhZ2VGZXRjaGVyLCBpZFByb3BlcnR5LCBmaW5kQnlJZEZuLCBmaW5kQWxsQnlJZEZuKVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyBlbXB0eUNvbnRpbnVhYmxlRmV0Y2hlcjxUPigpOiBJRGF0YVNvdXJjZTxUPiB7XG4gICAgY29uc3QgZW1wdHkgPSAoKSA9PiBFTVBUWSAvLyBBT1QgSWdub3JlXG4gICAgcmV0dXJuIERlbGVnYXRlRGF0YVNvdXJjZS5jb250aW51YWJsZUZldGNoZXIoZW1wdHksICdpZCcsIGVtcHR5KVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyBjb250aW51YWJsZUZldGNoZXI8VD4oXG4gICAgY2h1bmtGZXRjaGVyOiAodG9rZW5DaHVua1JlcXVlc3Q6IFRva2VuQ2h1bmtSZXF1ZXN0KSA9PiBPYnNlcnZhYmxlPENvbnRpbnVhYmxlTGlzdGluZzxUPj4sXG4gICAgaWRQcm9wZXJ0eTogc3RyaW5nID0gJ2lkJyxcbiAgICBmaW5kQnlJZEZuPzogKGlkOiBhbnkpID0+IE9ic2VydmFibGU8VD4sXG4gICAgZmluZEFsbEJ5SWRGbj86IChpZHM6IGFueVtdKSA9PiBPYnNlcnZhYmxlPFRbXT5cbiAgKTogSURhdGFTb3VyY2U8VD4ge1xuICAgIHJldHVybiBuZXcgRGVsZWdhdGVDb250aW51YWJsZURhdGFTb3VyY2UoY2h1bmtGZXRjaGVyLCBpZFByb3BlcnR5LCBmaW5kQnlJZEZuLCBmaW5kQWxsQnlJZEZuKVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaWRQcm9wZXJ0eTogc3RyaW5nLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmluZEJ5SWRGbjogKGlkOiBhbnkpID0+IE9ic2VydmFibGU8VD4sXG4gICAgcHJpdmF0ZSByZWFkb25seSBmaW5kQWxsQnlJZEZuOiAoaWRzOiBhbnlbXSkgPT4gT2JzZXJ2YWJsZTxUW10+XG4gICkge31cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgZ2V0IGRhdGFDaGFuZ2VkKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIEVNUFRZXG4gIH1cblxuICBwdWJsaWMgZmluZEJ5SWQoaWQ6IGFueSk6IE9ic2VydmFibGU8VD4ge1xuICAgIGlmICh0aGlzLmZpbmRCeUlkRm4pIHtcbiAgICAgIHJldHVybiB0aGlzLmZpbmRCeUlkRm4oaWQpXG4gICAgfVxuICAgIHJldHVybiB0aHJvd0Vycm9yKCdUaGlzIERlbGVnYXRlRGF0YVNvdXJjZSBkb2VzIG5vdCBpbXBsZW1lbnQgZmluZEJ5SWQhJylcbiAgfVxuXG4gIHB1YmxpYyBmaW5kQnlJZHMoaWRzOiBhbnlbXSk6IE9ic2VydmFibGU8VFtdPiB7XG4gICAgaWYgKHRoaXMuZmluZEFsbEJ5SWRGbikge1xuICAgICAgcmV0dXJuIHRoaXMuZmluZEFsbEJ5SWRGbihpZHMpXG4gICAgfVxuICAgIGlmICh0aGlzLmZpbmRCeUlkRm4pIHtcbiAgICAgIHJldHVybiBmb3JrSm9pbihpZHMubWFwKChpZCkgPT4gdGhpcy5maW5kQnlJZChpZCkpKVxuICAgIH1cbiAgICByZXR1cm4gdGhyb3dFcnJvcignVGhpcyBEZWxlZ2F0ZURhdGFTb3VyY2UgZG9lcyBub3QgaW1wbGVtZW50IGZpbmRCeUlkcyBvciBmaW5kQnlJZCEnKVxuICB9XG5cbiAgcHVibGljIGdldElkKGVudGl0eTogVCk6IGFueSB7XG4gICAgcmV0dXJuIEVudGl0eUlkVXRpbC5nZXRJZChlbnRpdHksIHRoaXMuaWRQcm9wZXJ0eSlcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgRGVsZWdhdGVMaXN0RGF0YVNvdXJjZTxUPiBleHRlbmRzIERlbGVnYXRlRGF0YVNvdXJjZTxUPiBpbXBsZW1lbnRzIElMaXN0RGF0YVNvdXJjZTxUPiB7XG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGlzdEZldGNoZXJGbjogKHNvcnRzOiBTb3J0W10sIGZpbHRlcnM/OiBGaWx0ZXJbXSkgPT4gT2JzZXJ2YWJsZTxBcnJheTxUPj4sXG4gICAgaWRQcm9wZXJ0eTogc3RyaW5nLFxuICAgIGZpbmRCeUlkRm46IChpZDogYW55KSA9PiBPYnNlcnZhYmxlPFQ+LFxuICAgIGZpbmRBbGxCeUlkRm46IChpZHM6IGFueVtdKSA9PiBPYnNlcnZhYmxlPFRbXT5cbiAgKSB7XG4gICAgc3VwZXIoaWRQcm9wZXJ0eSwgZmluZEJ5SWRGbiwgZmluZEFsbEJ5SWRGbilcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBmaW5kQWxsRmlsdGVyZWQoZmlsdGVycz86IEZpbHRlcltdLCBzb3J0cz86IFNvcnRbXSk6IE9ic2VydmFibGU8QXJyYXk8VD4+IHtcbiAgICByZXR1cm4gdGhpcy5saXN0RmV0Y2hlckZuKHNvcnRzLCBmaWx0ZXJzKVxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBEZWxlZ2F0ZVBhZ2VkRGF0YVNvdXJjZTxUPlxuICBleHRlbmRzIERlbGVnYXRlRGF0YVNvdXJjZTxUPlxuICBpbXBsZW1lbnRzIElQYWdlZERhdGFTb3VyY2U8VD5cbntcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBwYWdlRmV0Y2hlckZuOiAocGFnZWFibGU6IFBhZ2VhYmxlLCBmaWx0ZXJzPzogRmlsdGVyW10pID0+IE9ic2VydmFibGU8UGFnZTxUPj4sXG4gICAgaWRQcm9wZXJ0eTogc3RyaW5nLFxuICAgIGZpbmRCeUlkRm46IChpZDogYW55KSA9PiBPYnNlcnZhYmxlPFQ+LFxuICAgIGZpbmRBbGxCeUlkRm46IChpZHM6IGFueVtdKSA9PiBPYnNlcnZhYmxlPFRbXT5cbiAgKSB7XG4gICAgc3VwZXIoaWRQcm9wZXJ0eSwgZmluZEJ5SWRGbiwgZmluZEFsbEJ5SWRGbilcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBmaW5kQWxsUGFnZWQocGFnZWFibGU6IFBhZ2VhYmxlLCBmaWx0ZXJzPzogRmlsdGVyW10pOiBPYnNlcnZhYmxlPFBhZ2U8VD4+IHtcbiAgICByZXR1cm4gdGhpcy5wYWdlRmV0Y2hlckZuKHBhZ2VhYmxlLCBmaWx0ZXJzKVxuICB9XG5cbiAgcHVibGljIHByb2Nlc3MocGFnZVNpemU6IG51bWJlciwgcHJvY2Vzc0ZuOiAoZGF0YUNodW5rOiBUW10pID0+IHZvaWQsIGZpbHRlcnM/OiBGaWx0ZXJbXSk6IHZvaWQge1xuICAgIHRocm93IG5ldyBFcnJvcignTm90IHlldCBpbXBsZW1lbnRlZCcpXG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIERlbGVnYXRlQ29udGludWFibGVEYXRhU291cmNlPFQ+XG4gIGV4dGVuZHMgRGVsZWdhdGVEYXRhU291cmNlPFQ+XG4gIGltcGxlbWVudHMgSUNvbnRpbnVhYmxlRGF0YVNvdXJjZTxUPlxue1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNodW5rRmV0Y2hlckZuOiAoXG4gICAgICB0b2tlbkNodW5rUmVxdWVzdDogVG9rZW5DaHVua1JlcXVlc3RcbiAgICApID0+IE9ic2VydmFibGU8Q29udGludWFibGVMaXN0aW5nPFQ+PixcbiAgICBpZFByb3BlcnR5OiBzdHJpbmcsXG4gICAgZmluZEJ5SWRGbjogKGlkOiBhbnkpID0+IE9ic2VydmFibGU8VD4sXG4gICAgZmluZEFsbEJ5SWRGbjogKGlkczogYW55W10pID0+IE9ic2VydmFibGU8VFtdPlxuICApIHtcbiAgICBzdXBlcihpZFByb3BlcnR5LCBmaW5kQnlJZEZuLCBmaW5kQWxsQnlJZEZuKVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGZpbmRBbGxDb250aW51YWJsZShcbiAgICB0b2tlbkNodW5rUmVxdWVzdDogVG9rZW5DaHVua1JlcXVlc3RcbiAgKTogT2JzZXJ2YWJsZTxDb250aW51YWJsZUxpc3Rpbmc8VD4+IHtcbiAgICByZXR1cm4gdGhpcy5jaHVua0ZldGNoZXJGbih0b2tlbkNodW5rUmVxdWVzdClcbiAgfVxufVxuIl19