@elderbyte/ngx-starter 17.7.3 → 17.8.1

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 (254) hide show
  1. package/esm2022/lib/common/arrays.mjs +2 -2
  2. package/esm2022/lib/common/csv/csv-serializer.mjs +1 -1
  3. package/esm2022/lib/common/data/data-context/data-context-active-page.mjs +1 -1
  4. package/esm2022/lib/common/data/data-context/data-context-base.mjs +2 -2
  5. package/esm2022/lib/common/data/data-context/mat-table-data-context-binding.mjs +1 -1
  6. package/esm2022/lib/common/data/datasource/data-source-adapter.mjs +1 -1
  7. package/esm2022/lib/common/data/datasource/data-source-base.mjs +1 -1
  8. package/esm2022/lib/common/data/datasource/local/local-list-data-source.mjs +4 -4
  9. package/esm2022/lib/common/data/datasource/rest/rest-client.mjs +2 -2
  10. package/esm2022/lib/common/data/field-comparator.mjs +1 -1
  11. package/esm2022/lib/common/data/filters/filter-context.mjs +2 -2
  12. package/esm2022/lib/common/data/http-params-builder.mjs +2 -2
  13. package/esm2022/lib/common/data/required-filter-evaluator.mjs +5 -5
  14. package/esm2022/lib/common/enums/elder-enum-translation.service.mjs +11 -11
  15. package/esm2022/lib/common/forms/elder-form-field-control-base.directive.mjs +1 -1
  16. package/esm2022/lib/common/forms/elder-from-field-base.mjs +1 -1
  17. package/esm2022/lib/common/forms/elder-from-field-multi-entity-base.mjs +1 -1
  18. package/esm2022/lib/common/forms/elder-multi-entity-value-accessor.mjs +1 -1
  19. package/esm2022/lib/common/forms/form-field-base.component.mjs +1 -1
  20. package/esm2022/lib/common/forms/multi-model-base.component.mjs +1 -1
  21. package/esm2022/lib/common/forms/template-composite-control.mjs +2 -3
  22. package/esm2022/lib/common/forms/value-accessor-base.mjs +1 -1
  23. package/esm2022/lib/common/http/http-client-builder.service.mjs +1 -1
  24. package/esm2022/lib/common/http/transfer/data-transfer-base.mjs +1 -1
  25. package/esm2022/lib/common/http/transfer/http-data-transfer.mjs +1 -1
  26. package/esm2022/lib/common/rxjs/operators/lazy-sample.mjs +1 -1
  27. package/esm2022/lib/common/time/interval-coerce.mjs +30 -0
  28. package/esm2022/lib/common/time/interval.mjs +7 -7
  29. package/esm2022/lib/common/time/period-duration.mjs +1 -1
  30. package/esm2022/lib/common/time/public_api.mjs +2 -1
  31. package/esm2022/lib/common/url/elder-router.service.mjs +1 -1
  32. package/esm2022/lib/common/utils/ng-zone-utils.mjs +1 -1
  33. package/esm2022/lib/components/access-denied/elder-access-denied.component.mjs +1 -1
  34. package/esm2022/lib/components/access-denied/elder-access-denied.module.mjs +1 -1
  35. package/esm2022/lib/components/auditing/audited-entity/elder-audited-entity.component.mjs +1 -1
  36. package/esm2022/lib/components/auditing/elder-audit.module.mjs +1 -1
  37. package/esm2022/lib/components/badge/elder-badge/elder-badge.component.mjs +1 -1
  38. package/esm2022/lib/components/badge/elder-badge.module.mjs +4 -4
  39. package/esm2022/lib/components/card-organizer/card-organizer/elder-card-organizer.component.mjs +5 -9
  40. package/esm2022/lib/components/card-organizer/card-organizer-data.mjs +1 -1
  41. package/esm2022/lib/components/card-organizer/card-stack/elder-card-stack.component.mjs +5 -9
  42. package/esm2022/lib/components/card-organizer/card-stack.mjs +1 -1
  43. package/esm2022/lib/components/card-organizer/elder-card-organizer.module.mjs +1 -1
  44. package/esm2022/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.mjs +1 -1
  45. package/esm2022/lib/components/cards/elder-card/elder-card.component.mjs +6 -6
  46. package/esm2022/lib/components/cards/elder-card/elder-card.module.mjs +1 -1
  47. package/esm2022/lib/components/chips/elder-chips.module.mjs +1 -1
  48. package/esm2022/lib/components/connectivity/elder-connectivity.module.mjs +1 -1
  49. package/esm2022/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.mjs +1 -1
  50. package/esm2022/lib/components/containers/elder-containers.module.mjs +1 -1
  51. package/esm2022/lib/components/containers/elder-scroll-container/elder-scroll-container.component.mjs +1 -1
  52. package/esm2022/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.mjs +1 -1
  53. package/esm2022/lib/components/csv/elder-csv-stream-exporter-builder.mjs +1 -1
  54. package/esm2022/lib/components/csv/elder-csv-stream-exporter.mjs +1 -1
  55. package/esm2022/lib/components/csv/elder-csv.module.mjs +1 -1
  56. package/esm2022/lib/components/currency/elder-currency.module.mjs +1 -1
  57. package/esm2022/lib/components/currency/elder-currency.pipe.mjs +1 -1
  58. package/esm2022/lib/components/data-transfer/elder-data-transfer.module.mjs +1 -1
  59. package/esm2022/lib/components/data-transfer/elder-data-transfer.service.mjs +1 -1
  60. package/esm2022/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.mjs +1 -1
  61. package/esm2022/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.mjs +1 -1
  62. package/esm2022/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.mjs +1 -1
  63. package/esm2022/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.mjs +1 -1
  64. package/esm2022/lib/components/data-view/base/elder-data-view-base.mjs +1 -1
  65. package/esm2022/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.mjs +1 -1
  66. package/esm2022/lib/components/data-view/common/elder-data-common.module.mjs +2 -2
  67. package/esm2022/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.mjs +1 -1
  68. package/esm2022/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.mjs +1 -1
  69. package/esm2022/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.mjs +1 -1
  70. package/esm2022/lib/components/data-view/grid/elder-grid/elder-grid.component.mjs +1 -1
  71. package/esm2022/lib/components/data-view/master-detail/elder-detail-dialog/elder-detail-dialog.component.mjs +1 -1
  72. package/esm2022/lib/components/data-view/master-detail/elder-master-activation.directive.mjs +2 -2
  73. package/esm2022/lib/components/data-view/master-detail/elder-master-detail.component.mjs +3 -3
  74. package/esm2022/lib/components/data-view/master-detail/elder-master-detail.service.mjs +1 -1
  75. package/esm2022/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.module.mjs +1 -1
  76. package/esm2022/lib/components/data-view/table/elder-number-cell.directive.mjs +1 -1
  77. package/esm2022/lib/components/data-view/table/elder-paginator-intl.mjs +1 -1
  78. package/esm2022/lib/components/data-view/table/elder-table/elder-table.component.mjs +1 -1
  79. package/esm2022/lib/components/data-view/table/elder-table-column.directive.mjs +1 -1
  80. package/esm2022/lib/components/data-view/table/elder-table-extension.directive.mjs +1 -1
  81. package/esm2022/lib/components/data-view/table/elder-table-root.directive.mjs +1 -1
  82. package/esm2022/lib/components/data-view/table/elder-table-sort.directive.mjs +1 -1
  83. package/esm2022/lib/components/data-view/table/elder-table.module.mjs +1 -1
  84. package/esm2022/lib/components/data-view/table/model/elder-table-model-query-group.mjs +1 -1
  85. package/esm2022/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.mjs +1 -1
  86. package/esm2022/lib/components/dialogs/elder-dialog-config.mjs +1 -1
  87. package/esm2022/lib/components/dialogs/elder-dialog.module.mjs +1 -1
  88. package/esm2022/lib/components/dialogs/question-dialog/elder-question-dialog.component.mjs +1 -1
  89. package/esm2022/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.mjs +1 -1
  90. package/esm2022/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.mjs +1 -1
  91. package/esm2022/lib/components/errors/elder-error.module.mjs +1 -1
  92. package/esm2022/lib/components/errors/exception-detail/elder-exception-detail.component.mjs +1 -1
  93. package/esm2022/lib/components/expand-toggle-button/elder-expand-toggle-button.component.mjs +1 -1
  94. package/esm2022/lib/components/expand-toggle-button/elder-expand-toggle-button.module.mjs +1 -1
  95. package/esm2022/lib/components/files/blob-viewer/elder-blob-viewer.component.mjs +1 -1
  96. package/esm2022/lib/components/files/drag-n-drop/elder-drop-zone/elder-drop-zone.component.mjs +1 -1
  97. package/esm2022/lib/components/files/drag-n-drop/global-drag-drop.service.mjs +1 -1
  98. package/esm2022/lib/components/files/elder-file-drop-zone.directive.mjs +1 -1
  99. package/esm2022/lib/components/files/elder-file.module.mjs +1 -1
  100. package/esm2022/lib/components/files/file-select/file-select.component.mjs +1 -1
  101. package/esm2022/lib/components/files/file-upload/file-upload.component.mjs +1 -1
  102. package/esm2022/lib/components/files/listing/file-entry.mjs +2 -2
  103. package/esm2022/lib/components/forms/clipboard/elder-clipboard.service.mjs +1 -1
  104. package/esm2022/lib/components/forms/directives/elder-form-field-label.directive.mjs +1 -1
  105. package/esm2022/lib/components/forms/directives/elder-form-field-no-spinner.directive.mjs +1 -1
  106. package/esm2022/lib/components/forms/directives/elder-forms-directives.module.mjs +1 -1
  107. package/esm2022/lib/components/forms/directives/elder-initial-value.directive.mjs +1 -1
  108. package/esm2022/lib/components/forms/directives/elder-plug-parent-form.directive.mjs +1 -1
  109. package/esm2022/lib/components/forms/directives/validation/elder-validation-error.directive.mjs +1 -1
  110. package/esm2022/lib/components/forms/directives/validation/validation-message-renderer.service.mjs +1 -1
  111. package/esm2022/lib/components/forms/directives/validation/validators/elder-max.validator.mjs +1 -1
  112. package/esm2022/lib/components/forms/directives/validation/validators/elder-min.validator.mjs +1 -1
  113. package/esm2022/lib/components/forms/directives/validation/validators/elder-required-ignore-zero.validator.mjs +1 -1
  114. package/esm2022/lib/components/forms/elder-forms.module.mjs +1 -1
  115. package/esm2022/lib/components/forms/search/domain/context/search-context.service.mjs +1 -1
  116. package/esm2022/lib/components/forms/search/domain/input/search-input-state.mjs +1 -1
  117. package/esm2022/lib/components/forms/search/domain/input/search-input.mjs +1 -1
  118. package/esm2022/lib/components/forms/search/domain/url/elder-search-url.service.mjs +2 -2
  119. package/esm2022/lib/components/forms/search/elder-search-context.directive.mjs +1 -1
  120. package/esm2022/lib/components/forms/search/elder-search-input.directive.mjs +3 -5
  121. package/esm2022/lib/components/forms/search/elder-search.module.mjs +23 -23
  122. package/esm2022/lib/components/forms/search/search-box/elder-search-box.component.mjs +1 -1
  123. package/esm2022/lib/components/global-search/elder-global-search.component.mjs +1 -1
  124. package/esm2022/lib/components/global-search/elder-global-search.module.mjs +1 -1
  125. package/esm2022/lib/components/graph/elder-progress-bar/elder-progress-bar.component.mjs +1 -1
  126. package/esm2022/lib/components/headers/elder-header/elder-header.component.mjs +1 -1
  127. package/esm2022/lib/components/headers/elder-header.module.mjs +1 -1
  128. package/esm2022/lib/components/http-support/elder-http-client.service.mjs +1 -1
  129. package/esm2022/lib/components/i18n/entities/elder-i18n-entities.module.mjs +1 -1
  130. package/esm2022/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.mjs +1 -1
  131. package/esm2022/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.mjs +1 -1
  132. package/esm2022/lib/components/i18n/entities/elder-localized-input-dialog.service.mjs +1 -1
  133. package/esm2022/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.mjs +1 -1
  134. package/esm2022/lib/components/i18n/entities/elder-localized-texts.directive.mjs +1 -1
  135. package/esm2022/lib/components/i18n/entities/picker/i18n-pick-async.pipe.mjs +1 -1
  136. package/esm2022/lib/components/i18n/entities/picker/i18n-pick.pipe.mjs +1 -1
  137. package/esm2022/lib/components/i18n/entities/picker/localisation-picker.service.mjs +1 -1
  138. package/esm2022/lib/components/i18n/language/elder-language.module.mjs +1 -1
  139. package/esm2022/lib/components/i18n/language/elder-language.service.mjs +1 -1
  140. package/esm2022/lib/components/i18n/language/language-switcher/elder-language-switcher.component.mjs +1 -1
  141. package/esm2022/lib/components/i18n/locales/elder-locales-de-ch.module.mjs +1 -1
  142. package/esm2022/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.mjs +2 -2
  143. package/esm2022/lib/components/iframes/elder-iframe.module.mjs +1 -1
  144. package/esm2022/lib/components/iframes/iframe-dialog/iframe-dialog.component.mjs +1 -1
  145. package/esm2022/lib/components/iframes/iframe-host/iframe-host.component.mjs +2 -2
  146. package/esm2022/lib/components/iframes/iframe-side-content/iframe-side-content.component.mjs +1 -1
  147. package/esm2022/lib/components/iframes/typed-event-message.mjs +2 -2
  148. package/esm2022/lib/components/infinitescroll/elder-infinite-scroll.directive.mjs +1 -1
  149. package/esm2022/lib/components/infinitescroll/elder-infinite-scroll.module.mjs +1 -1
  150. package/esm2022/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete.component.mjs +1 -1
  151. package/esm2022/lib/components/input/autocomplete/elder-autocomplete-many.directive.mjs +1 -1
  152. package/esm2022/lib/components/input/autocomplete/elder-autocomplete.directive.mjs +1 -1
  153. package/esm2022/lib/components/input/autocomplete/elder-autocomplete.module.mjs +1 -1
  154. package/esm2022/lib/components/labels/elder-labels.module.mjs +1 -1
  155. package/esm2022/lib/components/labels/labels-input/labels-input.component.mjs +9 -17
  156. package/esm2022/lib/components/measures/dimensions/dimensions-input/elder-dimensions-input.component.mjs +1 -1
  157. package/esm2022/lib/components/measures/dimensions/validation/elder-required-dimensions.validator.mjs +1 -1
  158. package/esm2022/lib/components/measures/elder-measures.module.mjs +1 -1
  159. package/esm2022/lib/components/measures/elder-quantity-transform.pipe.mjs +2 -2
  160. package/esm2022/lib/components/measures/quantity-input/quantity-form-field/elder-quantity-form-field.component.mjs +1 -1
  161. package/esm2022/lib/components/measures/quantity-input/quantity-input-control/elder-quantity-input-control.component.mjs +1 -1
  162. package/esm2022/lib/components/measures/quantity-input/validation/elder-quantity-range.validator.mjs +1 -1
  163. package/esm2022/lib/components/measures/quantity-input/validation/elder-required-quantity.validator.mjs +1 -1
  164. package/esm2022/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.mjs +1 -1
  165. package/esm2022/lib/components/navigation/bread-crumbs/elder-bread-crumbs.module.mjs +1 -1
  166. package/esm2022/lib/components/navigation/nav/elder-nav.module.mjs +1 -1
  167. package/esm2022/lib/components/navigation/nav/nav-group/elder-nav-group.component.mjs +1 -1
  168. package/esm2022/lib/components/navigation/nav/nav-link/elder-nav-link.component.mjs +1 -1
  169. package/esm2022/lib/components/navigation/nav/nav-list/elder-nav-list.component.mjs +1 -1
  170. package/esm2022/lib/components/navigation/toolbar/elder-toolbar.module.mjs +1 -1
  171. package/esm2022/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.mjs +1 -1
  172. package/esm2022/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.mjs +1 -1
  173. package/esm2022/lib/components/overlays/elder-overlay.component.mjs +1 -1
  174. package/esm2022/lib/components/overlays/elder-overlay.module.mjs +1 -1
  175. package/esm2022/lib/components/panels/card-panel/elder-card-panel.component.mjs +1 -1
  176. package/esm2022/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.mjs +1 -1
  177. package/esm2022/lib/components/panels/elder-panel.module.mjs +1 -1
  178. package/esm2022/lib/components/panels/flat/elder-panel.component.mjs +1 -1
  179. package/esm2022/lib/components/panels/toggle-panel/elder-toggle-panel.component.mjs +1 -1
  180. package/esm2022/lib/components/scrollbar/elder-scrollbar.directive.mjs +2 -2
  181. package/esm2022/lib/components/select/auto/elder-auto-select-first.directive.mjs +1 -1
  182. package/esm2022/lib/components/select/elder-select-base.mjs +1 -1
  183. package/esm2022/lib/components/select/elder-select-on-tab.directive.mjs +1 -1
  184. package/esm2022/lib/components/select/elder-select.module.mjs +5 -5
  185. package/esm2022/lib/components/select/multi/elder-chip-select-option/elder-select-option.component.mjs +3 -3
  186. package/esm2022/lib/components/select/multi/elder-multi-select-base.mjs +2 -2
  187. package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/chip-options-provider.mjs +3 -3
  188. package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component.mjs +24 -24
  189. package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/select-option-chip-spec.mjs +1 -1
  190. package/esm2022/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.mjs +1 -1
  191. package/esm2022/lib/components/select/multi/elder-mutli-select-all-directive.mjs +6 -6
  192. package/esm2022/lib/components/select/popup/selection-model-popup-trigger-adapter.directive.mjs +1 -1
  193. package/esm2022/lib/components/select/popup/selection-model-popup.directive.mjs +2 -3
  194. package/esm2022/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.mjs +1 -1
  195. package/esm2022/lib/components/select/single/elder-select/elder-select.component.mjs +1 -1
  196. package/esm2022/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.mjs +4 -4
  197. package/esm2022/lib/components/select-chip-list/elder-chip-list-select.module.mjs +1 -1
  198. package/esm2022/lib/components/shell/drawers/drawer-outlet-binding.mjs +1 -1
  199. package/esm2022/lib/components/shell/drawers/elder-route-outlet-drawer.service.mjs +1 -1
  200. package/esm2022/lib/components/shell/drawers/elder-router-outlet.service.mjs +1 -1
  201. package/esm2022/lib/components/shell/elder-shell.module.mjs +1 -1
  202. package/esm2022/lib/components/shell/header/elder-app-header/elder-app-header.component.mjs +1 -1
  203. package/esm2022/lib/components/shell/shell/elder-shell.component.mjs +1 -1
  204. package/esm2022/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.mjs +1 -1
  205. package/esm2022/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.mjs +1 -1
  206. package/esm2022/lib/components/theme/elder-theme-preference.service.mjs +3 -3
  207. package/esm2022/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.mjs +1 -1
  208. package/esm2022/lib/components/theme/elder-theme.module.mjs +1 -1
  209. package/esm2022/lib/components/theme/elder-theme.service.mjs +1 -1
  210. package/esm2022/lib/components/time/date-adapters/custom-date-adapter.mjs +1 -1
  211. package/esm2022/lib/components/time/date-formats/locale-date-formats.mjs +5 -5
  212. package/esm2022/lib/components/time/duration/elder-duration-input/elder-duration-input.component.mjs +1 -1
  213. package/esm2022/lib/components/time/elder-date-switcher/elder-date-switcher.component.mjs +1 -1
  214. package/esm2022/lib/components/time/elder-date-time-input/elder-date-time-input.component.mjs +2 -2
  215. package/esm2022/lib/components/time/elder-interval-input/elder-interval-input.component.mjs +52 -21
  216. package/esm2022/lib/components/time/elder-local-date-input/elder-local-date-input.component.mjs +1 -1
  217. package/esm2022/lib/components/time/elder-local-time-input/elder-local-time-input.component.mjs +1 -1
  218. package/esm2022/lib/components/time/elder-time.module.mjs +1 -1
  219. package/esm2022/lib/components/time/period/elder-period-input/elder-period-input.component.mjs +1 -1
  220. package/esm2022/lib/components/time/period/period-bucket.mjs +1 -1
  221. package/esm2022/lib/components/time/period/period-format.mjs +1 -1
  222. package/esm2022/lib/components/time/pipes/to-iso-date-string.pipe.mjs +1 -1
  223. package/esm2022/lib/components/toasts/elder-toast.module.mjs +1 -1
  224. package/esm2022/lib/components/toasts/standard-toast/standard-toast.component.mjs +1 -1
  225. package/esm2022/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.mjs +3 -3
  226. package/esm2022/lib/components/viewers/elder-viewers.module.mjs +1 -1
  227. package/esm2022/lib/features/event-source/fetch/reactive-fetch-event-source.mjs +1 -1
  228. package/esm2022/lib/features/event-source/fetch/reactive-fetch-event-source.service.mjs +1 -1
  229. package/esm2022/lib/features/kafent/kafent-live-event-request.mjs +1 -1
  230. package/esm2022/lib/features/kafent/kafent.module.mjs +1 -1
  231. package/esm2022/lib/pipes/bytes.pipe.mjs +1 -1
  232. package/esm2022/lib/pipes/elder-pipes.module.mjs +1 -1
  233. package/esm2022/lib/pipes/elder-round.pipe.mjs +1 -1
  234. package/esm2022/lib/pipes/elder-safe-url.pipe.mjs +1 -1
  235. package/esm2022/lib/pipes/iso-duration.pipe.mjs +1 -1
  236. package/esm2022/lib/pipes/weight.pipe.mjs +1 -1
  237. package/fesm2022/elderbyte-ngx-starter.mjs +150 -112
  238. package/fesm2022/elderbyte-ngx-starter.mjs.map +1 -1
  239. package/lib/common/data/filters/filter-context.d.ts +1 -1
  240. package/lib/common/data/required-filter-evaluator.d.ts +3 -3
  241. package/lib/common/enums/elder-enum-translation.service.d.ts +3 -3
  242. package/lib/common/time/interval-coerce.d.ts +3 -0
  243. package/lib/common/time/public_api.d.ts +1 -0
  244. package/lib/components/badge/elder-badge/elder-badge.component.d.ts +1 -1
  245. package/lib/components/forms/search/elder-search.module.d.ts +5 -5
  246. package/lib/components/scrollbar/elder-scrollbar.directive.d.ts +1 -1
  247. package/lib/components/select/multi/elder-multi-select-base.d.ts +1 -1
  248. package/lib/components/select/multi/elder-multi-select-chip-options/chip-options-provider.d.ts +4 -4
  249. package/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component.d.ts +12 -12
  250. package/lib/components/select/multi/elder-mutli-select-all-directive.d.ts +2 -2
  251. package/lib/components/select/single/elder-select/elder-select.component.d.ts +2 -2
  252. package/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.d.ts +1 -1
  253. package/lib/components/time/elder-interval-input/elder-interval-input.component.d.ts +14 -6
  254. package/package.json +1 -1
@@ -18,7 +18,7 @@ export class Arrays {
18
18
  return false;
19
19
  }
20
20
  // Comparing each element of your array
21
- for (var i = 0; i < arrayA.length; i++) {
21
+ for (let i = 0; i < arrayA.length; i++) {
22
22
  if (!equalsFn(arrayA[i], arrayB[i])) {
23
23
  return false;
24
24
  }
@@ -26,4 +26,4 @@ export class Arrays {
26
26
  return true;
27
27
  }
28
28
  }
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXlzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL2FycmF5cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxNQUFNLE9BQU8sTUFBTTtJQUdqQjs7Ozs7OztPQU9HO0lBQ0ksTUFBTSxDQUFDLG9CQUFvQixDQUNoQyxNQUFXLEVBQ1gsTUFBVyxFQUNYLFdBQXNDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFFdkQsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFO1lBQ3RDLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ3RCLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFDRCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssTUFBTSxDQUFDLE1BQU0sRUFBRTtZQUNuQyxPQUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsdUNBQXVDO1FBQ3ZDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3RDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNuQyxPQUFPLEtBQUssQ0FBQzthQUNkO1NBQ0Y7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FHRiIsInNvdXJjZXNDb250ZW50IjpbIlxuZXhwb3J0IGNsYXNzIEFycmF5cyB7XG5cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSB0d28gZ2l2ZW4gYXJyYXlzIGhhdmUgdGhlIHNhbWUgY29udGVudCBpbiB0aGUgZXhhY3Qgc2FtZSBvcmRlci5cbiAgICogSWYgb3JkZXIgaXMgbm90IHJlbGV2YW50LCB1c2UgU2V0cy5lcXVhbENvbnRlbnQuXG4gICAqXG4gICAqIEBwYXJhbSBhcnJheUFcbiAgICogQHBhcmFtIGFycmF5QlxuICAgKiBAcGFyYW0gZXF1YWxzRm4gT3B0aW9uYWwgRXF1YWxpdHkgT3BlcmF0b3IuIElmIG9taXR0ZWQsIHJlZmVyZW5jZSBlcXVhbGl0eSBpcyB1c2VkLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBlcXVhbENvbnRlbnRBbmRPcmRlcjxUPihcbiAgICBhcnJheUE6IFRbXSxcbiAgICBhcnJheUI6IFRbXSxcbiAgICBlcXVhbHNGbjogKChhOiBULCBiOiBUKSA9PiBib29sZWFuKSA9IChhLCBiKSA9PiBhID09PSBiXG4gICkge1xuICAgIGlmICghYXJyYXlBPy5sZW5ndGggJiYgIWFycmF5Qj8ubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKCFhcnJheUEgfHwgIWFycmF5Qikge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAoYXJyYXlBLmxlbmd0aCAhPT0gYXJyYXlCLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIC8vIENvbXBhcmluZyBlYWNoIGVsZW1lbnQgb2YgeW91ciBhcnJheVxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYXJyYXlBLmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAoIWVxdWFsc0ZuKGFycmF5QVtpXSwgYXJyYXlCW2ldKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cblxufVxuIl19
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXlzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL2FycmF5cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxNQUFNLE9BQU8sTUFBTTtJQUdqQjs7Ozs7OztPQU9HO0lBQ0ksTUFBTSxDQUFDLG9CQUFvQixDQUNoQyxNQUFXLEVBQ1gsTUFBVyxFQUNYLFdBQXNDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFFdkQsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFO1lBQ3RDLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ3RCLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFDRCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssTUFBTSxDQUFDLE1BQU0sRUFBRTtZQUNuQyxPQUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsdUNBQXVDO1FBQ3ZDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3RDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNuQyxPQUFPLEtBQUssQ0FBQzthQUNkO1NBQ0Y7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FHRiIsInNvdXJjZXNDb250ZW50IjpbIlxuZXhwb3J0IGNsYXNzIEFycmF5cyB7XG5cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSB0d28gZ2l2ZW4gYXJyYXlzIGhhdmUgdGhlIHNhbWUgY29udGVudCBpbiB0aGUgZXhhY3Qgc2FtZSBvcmRlci5cbiAgICogSWYgb3JkZXIgaXMgbm90IHJlbGV2YW50LCB1c2UgU2V0cy5lcXVhbENvbnRlbnQuXG4gICAqXG4gICAqIEBwYXJhbSBhcnJheUFcbiAgICogQHBhcmFtIGFycmF5QlxuICAgKiBAcGFyYW0gZXF1YWxzRm4gT3B0aW9uYWwgRXF1YWxpdHkgT3BlcmF0b3IuIElmIG9taXR0ZWQsIHJlZmVyZW5jZSBlcXVhbGl0eSBpcyB1c2VkLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBlcXVhbENvbnRlbnRBbmRPcmRlcjxUPihcbiAgICBhcnJheUE6IFRbXSxcbiAgICBhcnJheUI6IFRbXSxcbiAgICBlcXVhbHNGbjogKChhOiBULCBiOiBUKSA9PiBib29sZWFuKSA9IChhLCBiKSA9PiBhID09PSBiXG4gICkge1xuICAgIGlmICghYXJyYXlBPy5sZW5ndGggJiYgIWFycmF5Qj8ubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKCFhcnJheUEgfHwgIWFycmF5Qikge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAoYXJyYXlBLmxlbmd0aCAhPT0gYXJyYXlCLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIC8vIENvbXBhcmluZyBlYWNoIGVsZW1lbnQgb2YgeW91ciBhcnJheVxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYXJyYXlBLmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAoIWVxdWFsc0ZuKGFycmF5QVtpXSwgYXJyYXlCW2ldKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cblxufVxuIl19
@@ -52,4 +52,4 @@ export class CsvSerializer {
52
52
  }
53
53
  }
54
54
  }
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3N2LXNlcmlhbGl6ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21tb24vY3N2L2Nzdi1zZXJpYWxpemVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuQyxPQUFPLEVBQUMsRUFBRSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRXhCLE1BQU0sT0FBTyxhQUFhO0lBV3hCLFlBQ0UsT0FBbUIsRUFDbkIsZ0JBQW1DO1FBRW5DLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxnQkFBZ0IsQ0FBQztJQUM1QyxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRTVFLElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVyRSxnQkFBZ0I7UUFDckIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLEVBQUU7YUFDL0IsSUFBSSxDQUNILEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFO2FBQzFCLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLHVDQUF1QzthQUN0RyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FDaEMsQ0FDRixDQUFDO0lBQ04sQ0FBQztJQUVNLFlBQVksQ0FBQyxNQUFTO1FBQzNCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXO2FBQzVCLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO2FBQ3hELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFcEUsb0JBQW9CO1FBQzFCLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQzFCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7U0FDbEU7YUFBTTtZQUNMLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ2Y7SUFDSCxDQUFDO0lBRU8sWUFBWSxDQUFDLE1BQVMsRUFBRSxVQUE0QjtRQUMxRCxJQUFJLFVBQVUsQ0FBQyxlQUFlLEVBQUU7WUFDOUIsT0FBTyxVQUFVLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzNDO2FBQU07WUFDTCxhQUFhO1lBQ2IsT0FBTyxNQUFNLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ3hDO0lBQ0gsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDc3ZDb2x1bW5TcGVjLCBDc3ZTcGVjfSBmcm9tICcuL2Nzdi1zcGVjJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcy9pbnRlcm5hbC9PYnNlcnZhYmxlJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtvZn0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBjbGFzcyBDc3ZTZXJpYWxpemVyPFQ+IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IF9jc3ZTcGVjOiBDc3ZTcGVjPFQ+O1xuICBwcml2YXRlIHJlYWRvbmx5IF90cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGNzdlNwZWM6IENzdlNwZWM8VD4sXG4gICAgdHJhbnNsYXRlU2VydmljZT86IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICkge1xuICAgIHRoaXMuX2NzdlNwZWMgPSBjc3ZTcGVjO1xuICAgIHRoaXMuX3RyYW5zbGF0ZVNlcnZpY2UgPSB0cmFuc2xhdGVTZXJ2aWNlO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGdldCBjc3ZTcGVjKCk6IENzdlNwZWM8VD4ge1xuICAgIHJldHVybiB0aGlzLl9jc3ZTcGVjO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIHNlcmlhbGl6ZUhlYWRlcnMoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRUcmFuc2xhdGVkSGVhZGVycygpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKHRyYW5zbGF0ZWRIZWFkZXJzID0+XG4gICAgICAgICAgdGhpcy5jc3ZTcGVjLmdldEhlYWRlclRleHRzKClcbiAgICAgICAgICAgIC5tYXAoaGVhZGVyVGV4dCA9PiB0cmFuc2xhdGVkSGVhZGVyc1toZWFkZXJUZXh0XSB8fCBoZWFkZXJUZXh0KSAvLyBmYWxsYmFjayBpZiBubyB0cmFuc2xhdGlvbiBhdmFpbGFibGVcbiAgICAgICAgICAgIC5qb2luKHRoaXMuY3N2U3BlYy5kZWxpbWl0ZXIpXG4gICAgICAgIClcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgc2VyaWFsaXplUm93KHJlY29yZDogVCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuY3N2U3BlYy5jb2x1bW5TcGVjc1xuICAgICAgLm1hcChjb2x1bW5TcGVjID0+IHRoaXMucmVzb2x2ZVZhbHVlKHJlY29yZCwgY29sdW1uU3BlYykpXG4gICAgICAuam9pbih0aGlzLmNzdlNwZWMuZGVsaW1pdGVyKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIE1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgZ2V0VHJhbnNsYXRlZEhlYWRlcnMoKTogT2JzZXJ2YWJsZTx7IFtrZXk6IHN0cmluZ106IHN0cmluZzsgfT4ge1xuICAgIGlmICh0aGlzLl90cmFuc2xhdGVTZXJ2aWNlKSB7XG4gICAgICByZXR1cm4gdGhpcy5fdHJhbnNsYXRlU2VydmljZS5nZXQodGhpcy5jc3ZTcGVjLmdldEhlYWRlclRleHRzKCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gb2Yoe30pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVzb2x2ZVZhbHVlKHJlY29yZDogVCwgY29sdW1uU3BlYzogQ3N2Q29sdW1uU3BlYzxUPik6IHN0cmluZyB7XG4gICAgaWYgKGNvbHVtblNwZWMudmFsdWVSZXNvbHZlckZuKSB7XG4gICAgICByZXR1cm4gY29sdW1uU3BlYy52YWx1ZVJlc29sdmVyRm4ocmVjb3JkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgcmV0dXJuIHJlY29yZFtjb2x1bW5TcGVjLnByb3BlcnR5UGF0aF07XG4gICAgfVxuICB9XG5cbn1cbiJdfQ==
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3N2LXNlcmlhbGl6ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21tb24vY3N2L2Nzdi1zZXJpYWxpemVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuQyxPQUFPLEVBQUMsRUFBRSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRXhCLE1BQU0sT0FBTyxhQUFhO0lBV3hCLFlBQ0UsT0FBbUIsRUFDbkIsZ0JBQW1DO1FBRW5DLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxnQkFBZ0IsQ0FBQztJQUM1QyxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRTVFLElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVyRSxnQkFBZ0I7UUFDckIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLEVBQUU7YUFDL0IsSUFBSSxDQUNILEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFO2FBQzFCLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLHVDQUF1QzthQUN0RyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FDaEMsQ0FDRixDQUFDO0lBQ04sQ0FBQztJQUVNLFlBQVksQ0FBQyxNQUFTO1FBQzNCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXO2FBQzVCLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO2FBQ3hELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFcEUsb0JBQW9CO1FBQzFCLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQzFCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7U0FDbEU7YUFBTTtZQUNMLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ2Y7SUFDSCxDQUFDO0lBRU8sWUFBWSxDQUFDLE1BQVMsRUFBRSxVQUE0QjtRQUMxRCxJQUFJLFVBQVUsQ0FBQyxlQUFlLEVBQUU7WUFDOUIsT0FBTyxVQUFVLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzNDO2FBQU07WUFDTCxhQUFhO1lBQ2IsT0FBTyxNQUFNLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ3hDO0lBQ0gsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDc3ZDb2x1bW5TcGVjLCBDc3ZTcGVjfSBmcm9tICcuL2Nzdi1zcGVjJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcy9pbnRlcm5hbC9PYnNlcnZhYmxlJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtvZn0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBjbGFzcyBDc3ZTZXJpYWxpemVyPFQ+IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IF9jc3ZTcGVjOiBDc3ZTcGVjPFQ+O1xuICBwcml2YXRlIHJlYWRvbmx5IF90cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGNzdlNwZWM6IENzdlNwZWM8VD4sXG4gICAgdHJhbnNsYXRlU2VydmljZT86IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICkge1xuICAgIHRoaXMuX2NzdlNwZWMgPSBjc3ZTcGVjO1xuICAgIHRoaXMuX3RyYW5zbGF0ZVNlcnZpY2UgPSB0cmFuc2xhdGVTZXJ2aWNlO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGdldCBjc3ZTcGVjKCk6IENzdlNwZWM8VD4ge1xuICAgIHJldHVybiB0aGlzLl9jc3ZTcGVjO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIHNlcmlhbGl6ZUhlYWRlcnMoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRUcmFuc2xhdGVkSGVhZGVycygpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKHRyYW5zbGF0ZWRIZWFkZXJzID0+XG4gICAgICAgICAgdGhpcy5jc3ZTcGVjLmdldEhlYWRlclRleHRzKClcbiAgICAgICAgICAgIC5tYXAoaGVhZGVyVGV4dCA9PiB0cmFuc2xhdGVkSGVhZGVyc1toZWFkZXJUZXh0XSB8fCBoZWFkZXJUZXh0KSAvLyBmYWxsYmFjayBpZiBubyB0cmFuc2xhdGlvbiBhdmFpbGFibGVcbiAgICAgICAgICAgIC5qb2luKHRoaXMuY3N2U3BlYy5kZWxpbWl0ZXIpXG4gICAgICAgIClcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgc2VyaWFsaXplUm93KHJlY29yZDogVCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuY3N2U3BlYy5jb2x1bW5TcGVjc1xuICAgICAgLm1hcChjb2x1bW5TcGVjID0+IHRoaXMucmVzb2x2ZVZhbHVlKHJlY29yZCwgY29sdW1uU3BlYykpXG4gICAgICAuam9pbih0aGlzLmNzdlNwZWMuZGVsaW1pdGVyKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIE1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgZ2V0VHJhbnNsYXRlZEhlYWRlcnMoKTogT2JzZXJ2YWJsZTx7W2tleTogc3RyaW5nXTogc3RyaW5nO30+IHtcbiAgICBpZiAodGhpcy5fdHJhbnNsYXRlU2VydmljZSkge1xuICAgICAgcmV0dXJuIHRoaXMuX3RyYW5zbGF0ZVNlcnZpY2UuZ2V0KHRoaXMuY3N2U3BlYy5nZXRIZWFkZXJUZXh0cygpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG9mKHt9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVWYWx1ZShyZWNvcmQ6IFQsIGNvbHVtblNwZWM6IENzdkNvbHVtblNwZWM8VD4pOiBzdHJpbmcge1xuICAgIGlmIChjb2x1bW5TcGVjLnZhbHVlUmVzb2x2ZXJGbikge1xuICAgICAgcmV0dXJuIGNvbHVtblNwZWMudmFsdWVSZXNvbHZlckZuKHJlY29yZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHJldHVybiByZWNvcmRbY29sdW1uU3BlYy5wcm9wZXJ0eVBhdGhdO1xuICAgIH1cbiAgfVxuXG59XG4iXX0=
@@ -127,4 +127,4 @@ export class DataContextActivePage extends DataContextBase {
127
127
  super.onFiltersChanged(filters);
128
128
  }
129
129
  }
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1jb250ZXh0LWFjdGl2ZS1wYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL2RhdGEvZGF0YS1jb250ZXh0L2RhdGEtY29udGV4dC1hY3RpdmUtcGFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFPLFFBQVEsRUFBRSxXQUFXLEVBQUMsTUFBTSxTQUFTLENBQUM7QUFFcEQsT0FBTyxFQUFTLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzNELE9BQU8sRUFBQyxlQUFlLEVBQWMsT0FBTyxFQUFlLE1BQU0sTUFBTSxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUtyQyxNQUFNLE9BQU8scUJBQXlCLFNBQVEsZUFBa0I7SUF3QjlEOzs7O2dGQUk0RTtJQUc1RSxZQUNFLFVBQStCLEVBQy9CLFFBQWdCLEVBQ2hCLE9BQTJCLEVBQzNCLFVBQWdDLEVBQ2hDLFNBQThDO1FBRTlDLEtBQUssQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQztRQXBDcEQ7Ozs7b0ZBSTRFO1FBRTNELGNBQVMsR0FBVyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUErQmxGLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxlQUFlLENBQWMsSUFBSSxXQUFXLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUU1RSxJQUFXLFVBQVU7UUFDbkIsT0FBNEIsS0FBSyxDQUFDLFVBQVUsQ0FBQztJQUMvQyxDQUFDO0lBRUQsSUFBVyxJQUFJ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RUFBRSxHQUFHLENBQUMsQ0FBQztZQUM3RCxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEIsQ0FBQyxFQUFFLEdBQUcsRUFBRTtZQUNOLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQztRQUVQLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFNUU7O09BRUc7SUFDTyxjQUFjLENBQUMsS0FBYTtRQUNwQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVEOztPQUVHO0lBQ08sZ0JBQWdCLENBQUMsT0FBaUI7UUFDMUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2QixLQUFLLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEYXRhQ29udGV4dEJhc2V9IGZyb20gJy4vZGF0YS1jb250ZXh0LWJhc2UnO1xuaW1wb3J0IHtQYWdlLCBQYWdlYWJsZSwgUGFnZVJlcXVlc3R9IGZyb20gJy4uL3BhZ2UnO1xuaW1wb3J0IHtGaWx0ZXJ9IGZyb20gJy4uL2ZpbHRlcnMvZmlsdGVyJztcbmltcG9ydCB7TG9nZ2VyLCBMb2dnZXJGYWN0b3J5fSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcic7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7Zmlyc3R9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7SURhdGFDb250ZXh0QWN0aXZlUGFnZX0gZnJvbSAnLi9kYXRhLWNvbnRleHQnO1xuaW1wb3J0IHtTb3J0fSBmcm9tICcuLi9zb3J0JztcbmltcG9ydCB7SVBhZ2VkRGF0YVNvdXJjZX0gZnJvbSAnLi4vZGF0YXNvdXJjZS9kYXRhLXNvdXJjZSc7XG5cbmV4cG9ydCBjbGFzcyBEYXRhQ29udGV4dEFjdGl2ZVBhZ2U8VD4gZXh0ZW5kcyBEYXRhQ29udGV4dEJhc2U8VD4gaW1wbGVtZW50cyBJRGF0YUNvbnRleHRBY3RpdmVQYWdlPFQ+IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGFjdGxvZ2dlcjogTG9nZ2VyID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9wYWdlOiBCZWhhdmlvclN1YmplY3Q8UGFnZVJlcXVlc3Q+O1xuXG4gIC8qKlxuICAgKiBTdWJzY3JpcHRpb24gdG8gdGhlIGV2ZW50IHdoZW4gdGhlIGFjdGl2ZSBwYWdlIGhhcyBjaGFuZ2VkLlxuICAgKiBUaGlzIHdpbGwgdHJpZ2dlciBhIHBhZ2UgcmVsb2FkLlxuICAgKi9cbiAgcHJpdmF0ZSBfYWN0aXZlUGFnZUNoYW5nZWRTdWI6IFN1YnNjcmlwdGlvbjtcblxuICAvKipcbiAgICogU3Vic2NyaXB0aW9uIG9mIGFuIGFjdHVhbCBwYWdlIGxvYWQgaHR0cCByZXF1ZXN0LlxuICAgKiBJZiB0aGlzIGlzIGNsb3NlZCwgaXQgd2lsbCBjYW5jZWwgdGhlIGh0dHAgcmVxdWVzdC5cbiAgICovXG4gIHByaXZhdGUgX2FjdGl2ZVBhZ2VMb2FkOiBTdWJzY3JpcHRpb247XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cblxuICBjb25zdHJ1Y3RvcihcbiAgICBkYXRhU291cmNlOiBJUGFnZWREYXRhU291cmNlPFQ+LFxuICAgIHBhZ2VTaXplOiBudW1iZXIsXG4gICAgaW5kZXhGbjogKChpdGVtOiBUKSA9PiBhbnkpLFxuICAgIGxvY2FsQXBwbHk6ICgoZGF0YTogVFtdKSA9PiBUW10pLFxuICAgIGxvY2FsU29ydDogKChkYXRhOiBUW10sIHNvcnRzOiBTb3J0W10pID0+IFRbXSlcbiAgKSB7XG4gICAgc3VwZXIoZGF0YVNvdXJjZSwgaW5kZXhGbiwgbG9jYWxBcHBseSwgbG9jYWxTb3J0KTtcbiAgICB0aGlzLl9wYWdlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxQYWdlUmVxdWVzdD4obmV3IFBhZ2VSZXF1ZXN0KDAsIHBhZ2VTaXplKSk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgZ2V0IGRhdGFTb3VyY2UoKTogSVBhZ2VkRGF0YVNvdXJjZTxUPiB7XG4gICAgcmV0dXJuIDxJUGFnZWREYXRhU291cmNlPFQ+PnN1cGVyLmRhdGFTb3VyY2U7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHBhZ2UoKTogT2JzZXJ2YWJsZTxQYWdlUmVxdWVzdD4ge1xuICAgIHJldHVybiB0aGlzLl9wYWdlLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBwYWdlU25hcHNob3QoKTogUGFnZVJlcXVlc3Qge1xuICAgIHJldHVybiB0aGlzLl9wYWdlLmdldFZhbHVlKCk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAvKipcbiAgICogU2V0IHRoZSBjdXJyZW50IHBhZ2UgaW5kZXggYW5kIHJlbG9hZC5cbiAgICogQHBhcmFtIHBhZ2VJbmRleFxuICAgKi9cbiAgcHVibGljIHNldEFjdGl2ZUluZGV4KHBhZ2VJbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5zZXRBY3RpdmVQYWdlKG5ldyBQYWdlUmVxdWVzdChwYWdlSW5kZXgsIHRoaXMucGFnZVNuYXBzaG90LnNpemUpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBjdXJyZW50IHBhZ2UgaW5kZXggLyBzaXplIGFuZCByZWxvYWQuXG4gICAqL1xuICBwdWJsaWMgc2V0QWN0aXZlUGFnZShyZXF1ZXN0OiBQYWdlUmVxdWVzdCkge1xuXG4gICAgLy8gdGhpcy5hY3Rsb2dnZXIudHJhY2UoJ1NldHRpbmcgcGFnZSB0byAnLCByZXF1ZXN0KTtcblxuICAgIGlmICghcmVxdWVzdCkgeyB0aHJvdyBuZXcgRXJyb3IodGhpcy5pZCArJzogU2V0dGluZyBwYWdlIFBhZ2VSZXF1ZXN0IG11c3Qgbm90IGJlIG51bGwhJyk7IH1cblxuICAgIGxldCBoYXNDaGFuZ2UgPSBmYWxzZTtcblxuICAgIGNvbnN0IHBhZ2UgPSB0aGlzLnBhZ2VTbmFwc2hvdDtcblxuICAgIGlmIChwYWdlLmluZGV4ICE9PSByZXF1ZXN0LmluZGV4KSB7XG4gICAgICBoYXNDaGFuZ2UgPSB0cnVlO1xuICAgIH0gZWxzZSBpZiAocGFnZS5zaXplICE9PSByZXF1ZXN0LnNpemUpIHtcbiAgICAgIGhhc0NoYW5nZSA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKGhhc0NoYW5nZSkge1xuICAgICAgdGhpcy5fcGFnZS5uZXh0KHJlcXVlc3QpO1xuICAgICAgdGhpcy5yZWxvYWQoJ3NldEFjdGl2ZVBhZ2UnKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgc3VwZXIuY2xvc2UoKTtcbiAgICBpZiAodGhpcy5fYWN0aXZlUGFnZUNoYW5nZWRTdWIpIHtcbiAgICAgIHRoaXMuX2FjdGl2ZVBhZ2VDaGFuZ2VkU3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJvdGVjdGVkIGNsZWFyQWxsKCk6IHZvaWQge1xuICAgIHN1cGVyLmNsZWFyQWxsKCk7XG4gICAgdGhpcy5zZXRBY3RpdmVJbmRleCgwKTtcbiAgfVxuXG4gIHByb3RlY3RlZCByZWxvYWRJbnRlcm5hbCgpOiBPYnNlcnZhYmxlPGFueT4ge1xuXG4gICAgaWYgKHRoaXMuX2FjdGl2ZVBhZ2VMb2FkKSB7XG4gICAgICAvLyBDYW5jZWwgcHJldmlvdXMgcGVuZGluZyByZXF1ZXN0XG4gICAgICB0aGlzLl9hY3RpdmVQYWdlTG9hZC51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIGNvbnN0IHN1YmplY3QgPSBuZXcgU3ViamVjdDxhbnk+KCk7XG5cbiAgICB0aGlzLm9uTG9hZGluZygpO1xuICAgIGNvbnN0IHBhZ2UgPSB0aGlzLnBhZ2VTbmFwc2hvdDtcbiAgICBjb25zdCBwYWdlUmVxdWVzdCA9IG5ldyBQYWdlYWJsZShwYWdlLmluZGV4LCBwYWdlLnNpemUsIHRoaXMuc29ydC5zb3J0c1NuYXBzaG90KTtcblxuXG4gICAgdGhpcy5fYWN0aXZlUGFnZUxvYWQgPSB0aGlzLmRhdGFTb3VyY2UuZmluZEFsbFBhZ2VkKHBhZ2VSZXF1ZXN0LCB0aGlzLmZpbHRlci5maWx0ZXJzU25hcHNob3QpXG4gICAgICAucGlwZShmaXJzdCgpKVxuICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgc3VjY2VzcyA9PiB7XG4gICAgICAgICAgdGhpcy5zZXRUb3RhbChzdWNjZXNzLnRvdGFsRWxlbWVudHMpO1xuICAgICAgICAgIHRoaXMuc2V0RGF0YShzdWNjZXNzLmNvbnRlbnQpO1xuICAgICAgICAgIHN1YmplY3QubmV4dChzdWNjZXNzKTtcbiAgICAgICAgICB0aGlzLm9uSWRsZSgpO1xuICAgICAgICB9LCBlcnIgPT4ge1xuICAgICAgICAgIHRoaXMuY2xlYXJEYXRhKCk7XG4gICAgICAgICAgdGhpcy5hY3Rsb2dnZXIuZXJyb3IodGhpcy5pZCArJzogRmFpbGVkIHRvIHF1ZXJ5IGRhdGEnLCBlcnIpO1xuICAgICAgICAgIHN1YmplY3QuZXJyb3IoZXJyKTtcbiAgICAgICAgICB0aGlzLm9uRXJyb3IoZXJyKTtcbiAgICAgICAgfSwgKCkgPT4ge1xuICAgICAgICAgIHRoaXMub25JZGxlKCk7XG4gICAgICAgIH0pO1xuXG4gICAgcmV0dXJuIHN1YmplY3QucGlwZShmaXJzdCgpKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBFdmVudCBoYW5kbGVycyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKlxuICAgKiBPY2N1cnMgd2hlbiB0aGUgc29ydHMgcHJvcGVydHkgaGFzIGNoYW5nZWQuXG4gICAqL1xuICBwcm90ZWN0ZWQgb25Tb3J0c0NoYW5nZWQoc29ydHM6IFNvcnRbXSk6IHZvaWQge1xuICAgIHRoaXMuc2V0QWN0aXZlSW5kZXgoMCk7XG4gICAgc3VwZXIub25Tb3J0c0NoYW5nZWQoc29ydHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIE9jY3VycyB3aGVuIHRoZSBmaWx0ZXJzU25hcHNob3QgcHJvcGVydHkgaGFzIGNoYW5nZWQuXG4gICAqL1xuICBwcm90ZWN0ZWQgb25GaWx0ZXJzQ2hhbmdlZChmaWx0ZXJzOiBGaWx0ZXJbXSk6IHZvaWQge1xuICAgIHRoaXMuc2V0QWN0aXZlSW5kZXgoMCk7XG4gICAgc3VwZXIub25GaWx0ZXJzQ2hhbmdlZChmaWx0ZXJzKTtcbiAgfVxufVxuXG4iXX0=
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1jb250ZXh0LWFjdGl2ZS1wYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL2RhdGEvZGF0YS1jb250ZXh0L2RhdGEtY29udGV4dC1hY3RpdmUtcGFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUMsTUFBTSxTQUFTLENBQUM7QUFFOUMsT0FBTyxFQUFTLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzNELE9BQU8sRUFBQyxlQUFlLEVBQWMsT0FBTyxFQUFlLE1BQU0sTUFBTSxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUtyQyxNQUFNLE9BQU8scUJBQXlCLFNBQVEsZUFBa0I7SUF3QjlEOzs7O2dGQUk0RTtJQUc1RSxZQUNFLFVBQStCLEVBQy9CLFFBQWdCLEVBQ2hCLE9BQTJCLEVBQzNCLFVBQWdDLEVBQ2hDLFNBQThDO1FBRTlDLEtBQUssQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQztRQXBDcEQ7Ozs7b0ZBSTRFO1FBRTNELGNBQVMsR0FBVyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUErQmxGLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxlQUFlLENBQWMsSUFBSSxXQUFXLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUU1RSxJQUFXLFVBQVU7UUFDbkIsT0FBNEIsS0FBSyxDQUFDLFVBQVUsQ0FBQztJQUMvQyxDQUFDO0lBRUQsSUFBVyxJQUFJ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RUFBRSxHQUFHLENBQUMsQ0FBQztZQUM3RCxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEIsQ0FBQyxFQUFFLEdBQUcsRUFBRTtZQUNOLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQztRQUVQLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFNUU7O09BRUc7SUFDTyxjQUFjLENBQUMsS0FBYTtRQUNwQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVEOztPQUVHO0lBQ08sZ0JBQWdCLENBQUMsT0FBaUI7UUFDMUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2QixLQUFLLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEYXRhQ29udGV4dEJhc2V9IGZyb20gJy4vZGF0YS1jb250ZXh0LWJhc2UnO1xuaW1wb3J0IHtQYWdlYWJsZSwgUGFnZVJlcXVlc3R9IGZyb20gJy4uL3BhZ2UnO1xuaW1wb3J0IHtGaWx0ZXJ9IGZyb20gJy4uL2ZpbHRlcnMvZmlsdGVyJztcbmltcG9ydCB7TG9nZ2VyLCBMb2dnZXJGYWN0b3J5fSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcic7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7Zmlyc3R9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7SURhdGFDb250ZXh0QWN0aXZlUGFnZX0gZnJvbSAnLi9kYXRhLWNvbnRleHQnO1xuaW1wb3J0IHtTb3J0fSBmcm9tICcuLi9zb3J0JztcbmltcG9ydCB7SVBhZ2VkRGF0YVNvdXJjZX0gZnJvbSAnLi4vZGF0YXNvdXJjZS9kYXRhLXNvdXJjZSc7XG5cbmV4cG9ydCBjbGFzcyBEYXRhQ29udGV4dEFjdGl2ZVBhZ2U8VD4gZXh0ZW5kcyBEYXRhQ29udGV4dEJhc2U8VD4gaW1wbGVtZW50cyBJRGF0YUNvbnRleHRBY3RpdmVQYWdlPFQ+IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGFjdGxvZ2dlcjogTG9nZ2VyID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9wYWdlOiBCZWhhdmlvclN1YmplY3Q8UGFnZVJlcXVlc3Q+O1xuXG4gIC8qKlxuICAgKiBTdWJzY3JpcHRpb24gdG8gdGhlIGV2ZW50IHdoZW4gdGhlIGFjdGl2ZSBwYWdlIGhhcyBjaGFuZ2VkLlxuICAgKiBUaGlzIHdpbGwgdHJpZ2dlciBhIHBhZ2UgcmVsb2FkLlxuICAgKi9cbiAgcHJpdmF0ZSBfYWN0aXZlUGFnZUNoYW5nZWRTdWI6IFN1YnNjcmlwdGlvbjtcblxuICAvKipcbiAgICogU3Vic2NyaXB0aW9uIG9mIGFuIGFjdHVhbCBwYWdlIGxvYWQgaHR0cCByZXF1ZXN0LlxuICAgKiBJZiB0aGlzIGlzIGNsb3NlZCwgaXQgd2lsbCBjYW5jZWwgdGhlIGh0dHAgcmVxdWVzdC5cbiAgICovXG4gIHByaXZhdGUgX2FjdGl2ZVBhZ2VMb2FkOiBTdWJzY3JpcHRpb247XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cblxuICBjb25zdHJ1Y3RvcihcbiAgICBkYXRhU291cmNlOiBJUGFnZWREYXRhU291cmNlPFQ+LFxuICAgIHBhZ2VTaXplOiBudW1iZXIsXG4gICAgaW5kZXhGbjogKChpdGVtOiBUKSA9PiBhbnkpLFxuICAgIGxvY2FsQXBwbHk6ICgoZGF0YTogVFtdKSA9PiBUW10pLFxuICAgIGxvY2FsU29ydDogKChkYXRhOiBUW10sIHNvcnRzOiBTb3J0W10pID0+IFRbXSlcbiAgKSB7XG4gICAgc3VwZXIoZGF0YVNvdXJjZSwgaW5kZXhGbiwgbG9jYWxBcHBseSwgbG9jYWxTb3J0KTtcbiAgICB0aGlzLl9wYWdlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxQYWdlUmVxdWVzdD4obmV3IFBhZ2VSZXF1ZXN0KDAsIHBhZ2VTaXplKSk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgZ2V0IGRhdGFTb3VyY2UoKTogSVBhZ2VkRGF0YVNvdXJjZTxUPiB7XG4gICAgcmV0dXJuIDxJUGFnZWREYXRhU291cmNlPFQ+PnN1cGVyLmRhdGFTb3VyY2U7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHBhZ2UoKTogT2JzZXJ2YWJsZTxQYWdlUmVxdWVzdD4ge1xuICAgIHJldHVybiB0aGlzLl9wYWdlLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBwYWdlU25hcHNob3QoKTogUGFnZVJlcXVlc3Qge1xuICAgIHJldHVybiB0aGlzLl9wYWdlLmdldFZhbHVlKCk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAvKipcbiAgICogU2V0IHRoZSBjdXJyZW50IHBhZ2UgaW5kZXggYW5kIHJlbG9hZC5cbiAgICogQHBhcmFtIHBhZ2VJbmRleFxuICAgKi9cbiAgcHVibGljIHNldEFjdGl2ZUluZGV4KHBhZ2VJbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5zZXRBY3RpdmVQYWdlKG5ldyBQYWdlUmVxdWVzdChwYWdlSW5kZXgsIHRoaXMucGFnZVNuYXBzaG90LnNpemUpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBjdXJyZW50IHBhZ2UgaW5kZXggLyBzaXplIGFuZCByZWxvYWQuXG4gICAqL1xuICBwdWJsaWMgc2V0QWN0aXZlUGFnZShyZXF1ZXN0OiBQYWdlUmVxdWVzdCkge1xuXG4gICAgLy8gdGhpcy5hY3Rsb2dnZXIudHJhY2UoJ1NldHRpbmcgcGFnZSB0byAnLCByZXF1ZXN0KTtcblxuICAgIGlmICghcmVxdWVzdCkgeyB0aHJvdyBuZXcgRXJyb3IodGhpcy5pZCArJzogU2V0dGluZyBwYWdlIFBhZ2VSZXF1ZXN0IG11c3Qgbm90IGJlIG51bGwhJyk7IH1cblxuICAgIGxldCBoYXNDaGFuZ2UgPSBmYWxzZTtcblxuICAgIGNvbnN0IHBhZ2UgPSB0aGlzLnBhZ2VTbmFwc2hvdDtcblxuICAgIGlmIChwYWdlLmluZGV4ICE9PSByZXF1ZXN0LmluZGV4KSB7XG4gICAgICBoYXNDaGFuZ2UgPSB0cnVlO1xuICAgIH0gZWxzZSBpZiAocGFnZS5zaXplICE9PSByZXF1ZXN0LnNpemUpIHtcbiAgICAgIGhhc0NoYW5nZSA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKGhhc0NoYW5nZSkge1xuICAgICAgdGhpcy5fcGFnZS5uZXh0KHJlcXVlc3QpO1xuICAgICAgdGhpcy5yZWxvYWQoJ3NldEFjdGl2ZVBhZ2UnKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgc3VwZXIuY2xvc2UoKTtcbiAgICBpZiAodGhpcy5fYWN0aXZlUGFnZUNoYW5nZWRTdWIpIHtcbiAgICAgIHRoaXMuX2FjdGl2ZVBhZ2VDaGFuZ2VkU3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJvdGVjdGVkIGNsZWFyQWxsKCk6IHZvaWQge1xuICAgIHN1cGVyLmNsZWFyQWxsKCk7XG4gICAgdGhpcy5zZXRBY3RpdmVJbmRleCgwKTtcbiAgfVxuXG4gIHByb3RlY3RlZCByZWxvYWRJbnRlcm5hbCgpOiBPYnNlcnZhYmxlPGFueT4ge1xuXG4gICAgaWYgKHRoaXMuX2FjdGl2ZVBhZ2VMb2FkKSB7XG4gICAgICAvLyBDYW5jZWwgcHJldmlvdXMgcGVuZGluZyByZXF1ZXN0XG4gICAgICB0aGlzLl9hY3RpdmVQYWdlTG9hZC51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIGNvbnN0IHN1YmplY3QgPSBuZXcgU3ViamVjdDxhbnk+KCk7XG5cbiAgICB0aGlzLm9uTG9hZGluZygpO1xuICAgIGNvbnN0IHBhZ2UgPSB0aGlzLnBhZ2VTbmFwc2hvdDtcbiAgICBjb25zdCBwYWdlUmVxdWVzdCA9IG5ldyBQYWdlYWJsZShwYWdlLmluZGV4LCBwYWdlLnNpemUsIHRoaXMuc29ydC5zb3J0c1NuYXBzaG90KTtcblxuXG4gICAgdGhpcy5fYWN0aXZlUGFnZUxvYWQgPSB0aGlzLmRhdGFTb3VyY2UuZmluZEFsbFBhZ2VkKHBhZ2VSZXF1ZXN0LCB0aGlzLmZpbHRlci5maWx0ZXJzU25hcHNob3QpXG4gICAgICAucGlwZShmaXJzdCgpKVxuICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgc3VjY2VzcyA9PiB7XG4gICAgICAgICAgdGhpcy5zZXRUb3RhbChzdWNjZXNzLnRvdGFsRWxlbWVudHMpO1xuICAgICAgICAgIHRoaXMuc2V0RGF0YShzdWNjZXNzLmNvbnRlbnQpO1xuICAgICAgICAgIHN1YmplY3QubmV4dChzdWNjZXNzKTtcbiAgICAgICAgICB0aGlzLm9uSWRsZSgpO1xuICAgICAgICB9LCBlcnIgPT4ge1xuICAgICAgICAgIHRoaXMuY2xlYXJEYXRhKCk7XG4gICAgICAgICAgdGhpcy5hY3Rsb2dnZXIuZXJyb3IodGhpcy5pZCArJzogRmFpbGVkIHRvIHF1ZXJ5IGRhdGEnLCBlcnIpO1xuICAgICAgICAgIHN1YmplY3QuZXJyb3IoZXJyKTtcbiAgICAgICAgICB0aGlzLm9uRXJyb3IoZXJyKTtcbiAgICAgICAgfSwgKCkgPT4ge1xuICAgICAgICAgIHRoaXMub25JZGxlKCk7XG4gICAgICAgIH0pO1xuXG4gICAgcmV0dXJuIHN1YmplY3QucGlwZShmaXJzdCgpKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBFdmVudCBoYW5kbGVycyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKlxuICAgKiBPY2N1cnMgd2hlbiB0aGUgc29ydHMgcHJvcGVydHkgaGFzIGNoYW5nZWQuXG4gICAqL1xuICBwcm90ZWN0ZWQgb25Tb3J0c0NoYW5nZWQoc29ydHM6IFNvcnRbXSk6IHZvaWQge1xuICAgIHRoaXMuc2V0QWN0aXZlSW5kZXgoMCk7XG4gICAgc3VwZXIub25Tb3J0c0NoYW5nZWQoc29ydHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIE9jY3VycyB3aGVuIHRoZSBmaWx0ZXJzU25hcHNob3QgcHJvcGVydHkgaGFzIGNoYW5nZWQuXG4gICAqL1xuICBwcm90ZWN0ZWQgb25GaWx0ZXJzQ2hhbmdlZChmaWx0ZXJzOiBGaWx0ZXJbXSk6IHZvaWQge1xuICAgIHRoaXMuc2V0QWN0aXZlSW5kZXgoMCk7XG4gICAgc3VwZXIub25GaWx0ZXJzQ2hhbmdlZChmaWx0ZXJzKTtcbiAgfVxufVxuXG4iXX0=
@@ -193,7 +193,7 @@ export class DataContextBase extends DataSource {
193
193
  * *
194
194
  **************************************************************************/
195
195
  reloadNow(request) {
196
- this.baselog.debug(this.id + ": reloadNow triggered. Request #" + request.number + ' ' + request.reason, {
196
+ this.baselog.debug(this.id + ': reloadNow triggered. Request #' + request.number + ' ' + request.reason, {
197
197
  filter: this._filter.filtersSnapshot,
198
198
  sort: this._sort.sortsSnapshot,
199
199
  dataSource: this.dataSource,
@@ -329,4 +329,4 @@ export class DataContextBase extends DataSource {
329
329
  this._customIndex.clear();
330
330
  }
331
331
  }
332
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1jb250ZXh0LWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21tb24vZGF0YS9kYXRhLWNvbnRleHQvZGF0YS1jb250ZXh0LWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFTLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRzNELE9BQU8sRUFBbUIsVUFBVSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDdEUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDeEQsT0FBTyxFQUFDLGVBQWUsRUFBcUIsRUFBRSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDaEYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3hELE9BQU8sRUFBQyxtQkFBbUIsRUFBZSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pFLE9BQU8sRUFBQyxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEYsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRTVDLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUVuRCxNQUFNLGFBQWE7SUFFakIsWUFDa0IsTUFBYyxFQUNkLE1BQWU7UUFEZixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsV0FBTSxHQUFOLE1BQU0sQ0FBUztJQUM5QixDQUFDO0NBQ0w7QUFFRCxNQUFNLFdBQVc7SUFDZixZQUNrQixPQUFzQixFQUN0QixNQUFXO1FBRFgsWUFBTyxHQUFQLE9BQU8sQ0FBZTtRQUN0QixXQUFNLEdBQU4sTUFBTSxDQUFLO0lBQzFCLENBQUM7SUFFRyxRQUFRLENBQUMsVUFBeUI7UUFDdkMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDO0lBQ2xELENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBZ0IsZUFBOEIsU0FBUSxVQUFhO0lBRXZFOzs7O2dGQUk0RTthQUU3RCxrQkFBYSxHQUFHLENBQUMsQUFBSixDQUFLO0lBZ0NqQzs7OztnRkFJNEU7SUFFNUUsWUFDRSxVQUEwQixFQUNsQixRQUE0QixFQUM1QixXQUFpQyxFQUNqQyxVQUErQztRQUV2RCxLQUFLLEVBQUUsQ0FBQztRQUpBLGFBQVEsR0FBUixRQUFRLENBQW9CO1FBQzVCLGdCQUFXLEdBQVgsV0FBVyxDQUFzQjtRQUNqQyxlQUFVLEdBQVYsVUFBVSxDQUFxQztRQXZDeEMsWUFBTyxHQUFXLGFBQWEsQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQVM3RCxZQUFPLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQztRQUM5QixVQUFLLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUsxQixXQUFNLEdBQUcsSUFBSSxlQUFlLENBQXFCLFNBQVMsQ0FBQyxDQUFDO1FBQzVELFlBQU8sR0FBRyxJQUFJLGVBQWUsQ0FBb0IsaUJBQWlCLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUUzRSxhQUFRLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDL0MsWUFBTyxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBRTlDLGlCQUFZLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztRQUUxQyxtQkFBYyxHQUFHLENBQUMsQ0FBQztRQUNWLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQWlCLENBQUM7UUFDNUMsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFlLENBQUM7UUFFckMsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFlaEQsSUFBSSxDQUFDLEVBQUUsR0FBRyxjQUFjLEdBQUcsQ0FBQyxFQUFFLGVBQWUsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQztRQUM5QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksZUFBZSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRW5GLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQy9CLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FDOUIsQ0FBQztRQUVGLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDdkIsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFDMUIsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FDekIsQ0FBQyxTQUFTLENBQ1QsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQzFDLENBQUM7UUFFRixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ25CLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQzFCLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQ3pCLENBQUMsU0FBUyxDQUNULEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FDcEMsQ0FBQztRQUVGLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUNwQixTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUN4QixNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQy9CLFlBQVksQ0FBQyxFQUFFLENBQUMsRUFDaEIsU0FBUyxDQUNQLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQ3JDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksV0FBVyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQyxFQUMvQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDZixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLHFDQUFxQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ3pFLE9BQU8sRUFBRSxDQUFDLElBQUksV0FBVyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzNDLENBQUMsQ0FBQyxDQUNILENBQ0YsQ0FDRixDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVyRSxPQUFPLENBQUMsZ0JBQWtDO1FBQy9DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRU0sVUFBVSxDQUFDLGdCQUFrQztRQUNsRCw0Q0FBNEM7SUFDOUMsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUU1RSxJQUFXLFVBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLG1CQUFtQixDQUM1QixJQUFJLENBQUMsWUFBWSxFQUNqQixJQUFJLENBQUMsT0FBTyxFQUNaLElBQUksQ0FBQyxlQUFlLEVBQ3BCLElBQUksQ0FBQyxhQUFhLEVBQ2xCLElBQUksQ0FBQyxjQUFjLENBQ3BCLENBQUM7SUFDSixDQUFDO0lBR0QsSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQVcsTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBVyxlQUFlO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLGNBQWMsRUFBRSxPQUFPLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQVcsSUFBSTtRQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQVcsWUFBWTtRQUNyQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUM7SUFDckMsQ0FBQztJQUVELElBQVcsTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFBVyxjQUFjO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFXLFVBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUFjLE9BQU87UUFDbkIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUFjLE9BQU8sQ0FBQyxPQUFnQjtRQUNwQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXJFLEtBQUssQ0FBQyxLQUFjLEVBQUUsT0FBa0I7UUFFN0MsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxvREFBb0QsQ0FBQyxDQUFDLENBQUMsbUJBQW1CO1NBQ3JHO1FBRUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFFckIsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFcEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRSxhQUFhLEVBQUU7WUFDekMsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzNCLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWE7WUFDOUIsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZTtTQUNyQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUVwQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxNQUFlO1FBQzNCLE1BQU0sT0FBTyxHQUFHLElBQUksYUFBYSxDQUFDLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNqRSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFFLDhCQUE4QixHQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUMsSUFBSSxHQUFHLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQztRQUMvRixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUN4QixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQzFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FDN0IsQ0FBQztJQUNKLENBQUM7SUFFTSxXQUFXLENBQUMsR0FBUTtRQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixNQUFNLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUUsc0RBQXNELENBQUMsQ0FBQztTQUNsRjtRQUNELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVNLFFBQVEsQ0FBQyxFQUFPO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSztRQUVWLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV4QixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUV4QixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRSw2Q0FBNkMsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFTSxPQUFPO1FBQ1osSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRU0sTUFBTSxDQUFDLFFBQWE7UUFDekIsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVwRSxTQUFTLENBQUMsT0FBc0I7UUFDdEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxrQ0FBa0MsR0FBRyxPQUFPLENBQUMsTUFBTSxHQUFHLEdBQUcsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFHO1lBQ3hHLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWU7WUFDcEMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYTtZQUM5QixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDM0IsT0FBTyxFQUFFLE9BQU87U0FDakIsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQywyREFBMkQ7SUFDM0YsQ0FBQztJQUVEOztPQUVHO0lBQ08sVUFBVSxDQUFDLGNBQW1CO1FBQ3RDLGNBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVEOztPQUVHO0lBQ08sVUFBVSxDQUFDLGNBQW1CLEVBQUUsTUFBYztRQUN0RCxjQUFjLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNPLE9BQU8sQ0FBQyxPQUFZLEVBQUUsY0FBYyxHQUFHLEtBQUs7UUFDcEQsT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNuQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUN4QjtRQUNELElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFUyxTQUFTO1FBQ2pCLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDbkIsQ0FBQztJQUVPLFVBQVUsQ0FBQyxJQUFTO1FBQzFCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNwQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDL0I7YUFBTTtZQUNMLE9BQU8sSUFBSSxDQUFDO1NBQ2I7SUFDSCxDQUFDO0lBRVMsUUFBUSxDQUFDLEtBQXlCO1FBQzFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRDs7O09BR0c7SUFDTyxRQUFRLENBQUMsTUFBTSxHQUFHLEtBQUs7UUFDL0IsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBRWxCLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDWCxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztTQUNsQjtRQUVELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRVMsV0FBVztRQUNuQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVEOztPQUVHO0lBQ08sU0FBUyxDQUFDLElBQU87UUFDekIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQyxJQUFJLEdBQUcsRUFBRTtZQUNQLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztTQUNsQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNPLFFBQVEsQ0FBQyxLQUFVO1FBQzNCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBQzdDO0lBQ0gsQ0FBQztJQUVTLFVBQVUsQ0FBQyxJQUFPO1FBQzFCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDNUI7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFUyxTQUFTLENBQUMsSUFBTztRQUN6QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFNUU7O09BRUc7SUFDTyxjQUFjLENBQUMsS0FBYTtRQUNwQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNwQixJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQzdCO2FBQU07WUFDTCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDdkM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDTyxnQkFBZ0IsQ0FBQyxPQUFpQjtRQUMxQyxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVTLE9BQU8sQ0FBQyxHQUFRO1FBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVTLE1BQU07UUFDZCxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVTLFNBQVM7UUFDakIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFUyxRQUFRLENBQUMsTUFBeUI7UUFDMUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQWlCRDs7OztnRkFJNEU7SUFFcEUsVUFBVTtRQUNoQixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0xvZ2dlciwgTG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtGaWx0ZXJ9IGZyb20gJy4uL2ZpbHRlcnMvZmlsdGVyJztcbmltcG9ydCB7U29ydH0gZnJvbSAnLi4vc29ydCc7XG5pbXBvcnQge0NvbGxlY3Rpb25WaWV3ZXIsIERhdGFTb3VyY2V9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2xsZWN0aW9ucyc7XG5pbXBvcnQge0RhdGFDb250ZXh0U3RhdHVzfSBmcm9tICcuL2RhdGEtY29udGV4dC1zdGF0dXMnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIEVNUFRZLCBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCwgc3dpdGNoTWFwfSBmcm9tICdyeGpzJztcbmltcG9ydCB7RmlsdGVyQ29udGV4dH0gZnJvbSAnLi4vZmlsdGVycy9maWx0ZXItY29udGV4dCc7XG5pbXBvcnQge0RhdGFDb250ZXh0U25hcHNob3QsIElEYXRhQ29udGV4dH0gZnJvbSAnLi9kYXRhLWNvbnRleHQnO1xuaW1wb3J0IHtjYXRjaEVycm9yLCBkZWJvdW5jZVRpbWUsIGZpbHRlciwgbWFwLCB0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7U29ydENvbnRleHR9IGZyb20gJy4uL3NvcnQtY29udGV4dCc7XG5pbXBvcnQge0lEYXRhU291cmNlfSBmcm9tICcuLi9kYXRhc291cmNlL2RhdGEtc291cmNlJztcbmltcG9ydCB7SW5kZXhlZEVudGl0aWVzfSBmcm9tICcuL2luZGV4ZWQtZW50aXRpZXMnO1xuXG5jbGFzcyBSZWxvYWRSZXF1ZXN0IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgbnVtYmVyOiBudW1iZXIsXG4gICAgcHVibGljIHJlYWRvbmx5IHJlYXNvbj86IHN0cmluZ1xuICApIHt9XG59XG5cbmNsYXNzIEFmdGVyUmVsb2FkIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IHJlcXVlc3Q6IFJlbG9hZFJlcXVlc3QsXG4gICAgcHVibGljIHJlYWRvbmx5IHJlc3VsdDogYW55XG4gICkge31cblxuICBwdWJsaWMgZnVsZmlsbHMobWluUmVxdWVzdDogUmVsb2FkUmVxdWVzdCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnJlcXVlc3QubnVtYmVyID49IG1pblJlcXVlc3QubnVtYmVyO1xuICB9XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBEYXRhQ29udGV4dEJhc2U8VCwgVElkID0gYW55PiBleHRlbmRzIERhdGFTb3VyY2U8VD4gaW1wbGVtZW50cyBJRGF0YUNvbnRleHQ8VD4ge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgc3RhdGljIERDX0lEX0NPVU5URVIgPSAwO1xuXG5cbiAgcHJpdmF0ZSByZWFkb25seSBiYXNlbG9nOiBMb2dnZXIgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcignRGF0YUNvbnRleHRCYXNlJyk7XG5cbiAgLyoqXG4gICAqIElEIG9mIHRoaXMgRGF0YUNvbnRleHRcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBpZDogc3RyaW5nO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2RhdGFTb3VyY2U6IElEYXRhU291cmNlPFQ+O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2ZpbHRlciA9IG5ldyBGaWx0ZXJDb250ZXh0KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3NvcnQgPSBuZXcgU29ydENvbnRleHQoKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9sb2FkaW5nOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2RhdGE6IEluZGV4ZWRFbnRpdGllczxULCBUSWQ+O1xuICBwcml2YXRlIHJlYWRvbmx5IF90b3RhbCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9zdGF0dXMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PERhdGFDb250ZXh0U3RhdHVzPihEYXRhQ29udGV4dFN0YXR1cy5pZGxlKCkpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0YXJ0ZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfY2xvc2VkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfY3VzdG9tSW5kZXggPSBuZXcgTWFwPGFueSwgVD4oKTtcblxuICBwcml2YXRlIF9yZWxvYWRDb3VudGVyID0gMDtcbiAgcHJpdmF0ZSByZWFkb25seSBfcmVsb2FkUXVldWUgPSBuZXcgU3ViamVjdDxSZWxvYWRSZXF1ZXN0PigpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9yZWxvYWRlZCA9IG5ldyBTdWJqZWN0PEFmdGVyUmVsb2FkPigpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxuICAgIGRhdGFTb3VyY2U6IElEYXRhU291cmNlPFQ+LFxuICAgIHByaXZhdGUgX2luZGV4Rm46ICgoaXRlbTogVCkgPT4gYW55KSxcbiAgICBwcml2YXRlIF9sb2NhbEFwcGx5OiAoKGRhdGE6IFRbXSkgPT4gVFtdKSxcbiAgICBwcml2YXRlIF9sb2NhbFNvcnQ6ICgoZGF0YTogVFtdLCBzb3J0czogU29ydFtdKSA9PiBUW10pLFxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuaWQgPSAnRGF0YUNvbnRleHQjJyArICgrK0RhdGFDb250ZXh0QmFzZS5EQ19JRF9DT1VOVEVSKTtcbiAgICB0aGlzLl9kYXRhU291cmNlID0gZGF0YVNvdXJjZTtcbiAgICB0aGlzLl9kYXRhID0gbmV3IEluZGV4ZWRFbnRpdGllcyhlID0+IGRhdGFTb3VyY2UuZ2V0SWQoZSksIF9sb2NhbFNvcnQsIHRoaXMuX3NvcnQpO1xuXG4gICAgdGhpcy5fbG9hZGluZyA9IHRoaXMuX3N0YXR1cy5waXBlKFxuICAgICAgbWFwKHN0YXR1cyA9PiBzdGF0dXMubG9hZGluZylcbiAgICApO1xuXG4gICAgdGhpcy5fZmlsdGVyLmZpbHRlcnMucGlwZShcbiAgICAgIGZpbHRlcigoKSA9PiB0aGlzLnN0YXJ0ZWQpLFxuICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpXG4gICAgKS5zdWJzY3JpYmUoXG4gICAgICBmaWx0ZXJzID0+IHRoaXMub25GaWx0ZXJzQ2hhbmdlZChmaWx0ZXJzKVxuICAgICk7XG5cbiAgICB0aGlzLl9zb3J0LnNvcnRzLnBpcGUoXG4gICAgICBmaWx0ZXIoKCkgPT4gdGhpcy5zdGFydGVkKSxcbiAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKVxuICAgICkuc3Vic2NyaWJlKFxuICAgICAgc29ydHMgPT4gdGhpcy5vblNvcnRzQ2hhbmdlZChzb3J0cylcbiAgICApO1xuXG4gICAgdGhpcy5fcmVsb2FkUXVldWUucGlwZShcbiAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgIGZpbHRlcihyZXF1ZXN0ID0+IHRoaXMuc3RhcnRlZCksXG4gICAgICBkZWJvdW5jZVRpbWUoNTApLFxuICAgICAgc3dpdGNoTWFwKFxuICAgICAgICByZXF1ZXN0ID0+IHRoaXMucmVsb2FkTm93KHJlcXVlc3QpLnBpcGUoXG4gICAgICAgICAgbWFwKHJlc3VsdCA9PiBuZXcgQWZ0ZXJSZWxvYWQocmVxdWVzdCwgcmVzdWx0KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcihlcnIgPT4geyAgLy8gRG9udCBkaWUgb24gZXJyb3JzXG4gICAgICAgICAgICB0aGlzLmJhc2Vsb2cuZXJyb3IodGhpcy5pZCArICc6IFJlbG9hZCBxdWV1ZSBkZXRlY3RlZCBlcnJvciwgYmFkIScsIGVycik7XG4gICAgICAgICAgICByZXR1cm4gb2YobmV3IEFmdGVyUmVsb2FkKHJlcXVlc3QsIGVycikpO1xuICAgICAgICAgIH0pLFxuICAgICAgICApXG4gICAgICApXG4gICAgKS5zdWJzY3JpYmUoYWZ0ZXJSZWxvYWQgPT4gdGhpcy5fcmVsb2FkZWQubmV4dChhZnRlclJlbG9hZCkpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgTWF0ZXJpYWwgREMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGNvbm5lY3QoY29sbGVjdGlvblZpZXdlcjogQ29sbGVjdGlvblZpZXdlcik6IE9ic2VydmFibGU8VFtdPiB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YTtcbiAgfVxuXG4gIHB1YmxpYyBkaXNjb25uZWN0KGNvbGxlY3Rpb25WaWV3ZXI6IENvbGxlY3Rpb25WaWV3ZXIpOiB2b2lkIHtcbiAgICAvLyB0aGlzLmNsb3NlKCk7IENsb3Npbmcgd2lsbCBkZXN0cm95IHRoZSBEQ1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGdldCBkYXRhU291cmNlKCk6IElEYXRhU291cmNlPFQ+IHtcbiAgICByZXR1cm4gdGhpcy5fZGF0YVNvdXJjZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc25hcHNob3QoKTogRGF0YUNvbnRleHRTbmFwc2hvdDxUPiB7XG4gICAgcmV0dXJuIG5ldyBEYXRhQ29udGV4dFNuYXBzaG90KFxuICAgICAgdGhpcy5kYXRhU25hcHNob3QsXG4gICAgICB0aGlzLmlzRW1wdHksXG4gICAgICB0aGlzLmxvYWRpbmdTbmFwc2hvdCxcbiAgICAgIHRoaXMudG90YWxTbmFwc2hvdCxcbiAgICAgIHRoaXMuc3RhdHVzU25hcHNob3RcbiAgICApO1xuICB9XG5cblxuICBwdWJsaWMgZ2V0IHRvdGFsKCk6IE9ic2VydmFibGU8bnVtYmVyIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIHRoaXMuX3RvdGFsLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCB0b3RhbFNuYXBzaG90KCk6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX3RvdGFsLmdldFZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNvcnQoKTogU29ydENvbnRleHQge1xuICAgIHJldHVybiB0aGlzLl9zb3J0O1xuICB9XG5cbiAgcHVibGljIGdldCBmaWx0ZXIoKTogRmlsdGVyQ29udGV4dCB7XG4gICAgcmV0dXJuIHRoaXMuX2ZpbHRlcjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbG9hZGluZygpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5fbG9hZGluZztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbG9hZGluZ1NuYXBzaG90KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN0YXR1c1NuYXBzaG90Py5sb2FkaW5nO1xuICB9XG5cbiAgcHVibGljIGdldCBkYXRhKCk6IE9ic2VydmFibGU8VFtdPiB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGEuZW50aXRpZXMkO1xuICB9XG5cbiAgcHVibGljIGdldCBkYXRhU25hcHNob3QoKTogVFtdIHtcbiAgICByZXR1cm4gdGhpcy5fZGF0YS5lbnRpdGllc1NuYXBzaG90O1xuICB9XG5cbiAgcHVibGljIGdldCBzdGF0dXMoKTogT2JzZXJ2YWJsZTxEYXRhQ29udGV4dFN0YXR1cz4ge1xuICAgIHJldHVybiB0aGlzLl9zdGF0dXM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHN0YXR1c1NuYXBzaG90KCk6IERhdGFDb250ZXh0U3RhdHVzIHtcbiAgICByZXR1cm4gdGhpcy5fc3RhdHVzLmdldFZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzRW1wdHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YVNuYXBzaG90Lmxlbmd0aCA9PT0gMDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNTdGFydGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN0YXJ0ZWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzU3RhcnRlZCQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXJ0ZWQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzQ2xvc2VkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9jbG9zZWQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgc3RhcnRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRlZC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldCBzdGFydGVkKHN0YXJ0ZWQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zdGFydGVkLm5leHQoc3RhcnRlZCk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgc3RhcnQoc29ydHM/OiBTb3J0W10sIGZpbHRlcnM/OiBGaWx0ZXJbXSk6IE9ic2VydmFibGU8YW55PiB7XG5cbiAgICBpZiAodGhpcy5pc0Nsb3NlZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKHRoaXMuaWQgKyAnOiBSZXN0YXJ0aW5nIGEgY2xvc2VkIERhdGFDb250ZXh0IGlzIG5vdCBwb3NzaWJsZSEnKTsgLy8gU2VlIHVuc3Vic2NyaWJlJFxuICAgIH1cblxuICAgIHRoaXMuc3RhcnRlZCA9IGZhbHNlO1xuXG4gICAgdGhpcy5fc29ydC5yZXBsYWNlU29ydHMoc29ydHMgfHwgdGhpcy5zb3J0LnNvcnRzU25hcHNob3QpO1xuICAgIHRoaXMuX2ZpbHRlci5yZXBsYWNlRmlsdGVycyhmaWx0ZXJzIHx8IHRoaXMuZmlsdGVyLmZpbHRlcnNTbmFwc2hvdCk7XG5cbiAgICB0aGlzLmJhc2Vsb2cuZGVidWcodGhpcy5pZCArJzogU3RhcnQgLi4uJywge1xuICAgICAgZGF0YVNvdXJjZTogdGhpcy5kYXRhU291cmNlLFxuICAgICAgc29ydDogdGhpcy5fc29ydC5zb3J0c1NuYXBzaG90LFxuICAgICAgZmlsdGVyOiB0aGlzLl9maWx0ZXIuZmlsdGVyc1NuYXBzaG90XG4gICAgfSk7XG5cbiAgICB0aGlzLnN0YXJ0ZWQgPSB0cnVlO1xuXG4gICAgcmV0dXJuIHRoaXMucmVsb2FkKCdTVEFSVCcpO1xuICB9XG5cbiAgcHVibGljIHJlbG9hZChyZWFzb24/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHJlcXVlc3QgPSBuZXcgUmVsb2FkUmVxdWVzdCgrK3RoaXMuX3JlbG9hZENvdW50ZXIsIHJlYXNvbik7XG4gICAgdGhpcy5iYXNlbG9nLmRlYnVnKHRoaXMuaWQgKyc6IEVucXVldWluZyByZWxvYWQgcmVxdWVzdCAjJytyZXF1ZXN0Lm51bWJlcisnIFsnICsgcmVhc29uICsgJ10nKTtcbiAgICB0aGlzLl9yZWxvYWRRdWV1ZS5uZXh0KHJlcXVlc3QpO1xuICAgIHJldHVybiB0aGlzLl9yZWxvYWRlZC5waXBlKFxuICAgICAgZmlsdGVyKHJlbG9hZCA9PiByZWxvYWQuZnVsZmlsbHMocmVxdWVzdCkpLFxuICAgICAgbWFwKHJlbG9hZCA9PiByZWxvYWQucmVzdWx0KVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZmluZEJ5SW5kZXgoa2V5OiBhbnkpOiBUIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIXRoaXMuX2luZGV4Rm4pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcih0aGlzLmlkICsnOiBmaW5kQnlJbmRleCByZXF1aXJlcyB5b3UgdG8gcGFzcyBhIGluZGV4IGZ1bmN0aW9uIScpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fY3VzdG9tSW5kZXguZ2V0KGtleSk7XG4gIH1cblxuICBwdWJsaWMgZmluZEJ5SWQoaWQ6IGFueSk6IFQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9kYXRhLmdldEJ5SWQoaWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsb3NlcyB0aGlzIERhdGFDb250ZXh0IGFuZCBjbGVhbnMgdXAgYWxsIHVzZWQgcmVzb3VyY2VzLlxuICAgKi9cbiAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuXG4gICAgdGhpcy5zdGFydGVkID0gZmFsc2U7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX2Nsb3NlZC5uZXh0KHRydWUpO1xuXG4gICAgdGhpcy5fZGF0YS5kZXN0cm95KCk7XG4gICAgdGhpcy5fdG90YWwuY29tcGxldGUoKTtcbiAgICB0aGlzLl9zdGF0dXMuY29tcGxldGUoKTtcblxuICAgIHRoaXMuY2xlYXJBbGwoKTtcbiAgICB0aGlzLmJhc2Vsb2cuZGVidWcodGhpcy5pZCArJzogSGFzIGJlZW4gY2xvc2VkIGFuZCByZXNvdXJjZXMgY2xlYW5lZCB1cCEnKTtcbiAgfVxuXG4gIHB1YmxpYyByZWZyZXNoKCk6IHZvaWQge1xuICAgIHRoaXMuX2RhdGEubm90aWZ5KCk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlKGVudGl0aWVzOiBUW10pOiB2b2lkIHtcbiAgICB0aGlzLl9kYXRhLnVwZGF0ZVNvbWUoZW50aXRpZXMpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3RlY3RlZCBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWxvYWROb3cocmVxdWVzdDogUmVsb2FkUmVxdWVzdCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgdGhpcy5iYXNlbG9nLmRlYnVnKHRoaXMuaWQgKyBcIjogcmVsb2FkTm93IHRyaWdnZXJlZC4gUmVxdWVzdCAjXCIgKyByZXF1ZXN0Lm51bWJlciArICcgJyArIHJlcXVlc3QucmVhc29uICwge1xuICAgICAgZmlsdGVyOiB0aGlzLl9maWx0ZXIuZmlsdGVyc1NuYXBzaG90LFxuICAgICAgc29ydDogdGhpcy5fc29ydC5zb3J0c1NuYXBzaG90LFxuICAgICAgZGF0YVNvdXJjZTogdGhpcy5kYXRhU291cmNlLFxuICAgICAgcmVxdWVzdDogcmVxdWVzdFxuICAgIH0pO1xuICAgIHJldHVybiB0aGlzLnJlbG9hZEludGVybmFsKCk7IC8vIFRPRE8gVGhpcyBzaG91bGQgYWN0dWFsbHkgcmV0dXJuIHRoZSByZWFsIChodHRwKSByZXF1ZXN0XG4gIH1cblxuICAvKipcbiAgICogQXBwZW5kIHRoZSBnaXZlbiByb3dzIHRvIHRoZSBleGlzdGluZyBvbmVzLlxuICAgKi9cbiAgcHJvdGVjdGVkIGFwcGVuZERhdGEoYWRkaXRpb25hbERhdGE6IFRbXSk6IHZvaWQge1xuICAgIGFkZGl0aW9uYWxEYXRhID0gdGhpcy5sb2NhbEFwcGx5KGFkZGl0aW9uYWxEYXRhKTtcbiAgICB0aGlzLmluZGV4QWxsKGFkZGl0aW9uYWxEYXRhKTtcbiAgICB0aGlzLl9kYXRhLmFwcGVuZChhZGRpdGlvbmFsRGF0YSk7XG4gIH1cblxuICAvKipcbiAgICogSW5zZXJ0IHRoZSBnaXZlbiByb3dzIGF0IHRoZSBnaXZlbiBsb2NhdGlvbi5cbiAgICovXG4gIHByb3RlY3RlZCBpbnNlcnREYXRhKGFkZGl0aW9uYWxEYXRhOiBUW10sIG9mZnNldDogbnVtYmVyKTogdm9pZCB7XG4gICAgYWRkaXRpb25hbERhdGEgPSB0aGlzLmxvY2FsQXBwbHkoYWRkaXRpb25hbERhdGEpO1xuICAgIHRoaXMuaW5kZXhBbGwoYWRkaXRpb25hbERhdGEpO1xuICAgIHRoaXMuX2RhdGEuaW5zZXJ0KGFkZGl0aW9uYWxEYXRhLCBvZmZzZXQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlcGxhY2VzIHRoZSBleGlzdGluZyBkYXRhIHdpdGggdGhlIG5ldyBzZXQuXG4gICAqIEBwYXJhbSBuZXdEYXRhIFRoZSBuZXcgZGF0YSBzZXQuXG4gICAqIEBwYXJhbSBhbHJlYWR5SW5kZXhlZCBUaGUgcm93cyB3aWxsIGJlIGluZGV4ZWQgdW5sZXNzIHRoZXkgYWxyZWFkeSBoYXZlIGJlZW4uXG4gICAqL1xuICBwcm90ZWN0ZWQgc2V0RGF0YShuZXdEYXRhOiBUW10sIGFscmVhZHlJbmRleGVkID0gZmFsc2UpOiB2b2lkIHtcbiAgICBuZXdEYXRhID0gdGhpcy5sb2NhbEFwcGx5KG5ld0RhdGEpO1xuICAgIGlmICghYWxyZWFkeUluZGV4ZWQpIHtcbiAgICAgIHRoaXMuY2xlYXJJbmRleCgpO1xuICAgICAgdGhpcy5pbmRleEFsbChuZXdEYXRhKTtcbiAgICB9XG4gICAgdGhpcy5fZGF0YS5yZXBsYWNlQWxsKG5ld0RhdGEpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNsZWFyRGF0YSgpOiB2b2lkIHtcbiAgICB0aGlzLnNldERhdGEoW10pO1xuICB9XG5cbiAgcHJpdmF0ZSBsb2NhbEFwcGx5KGRhdGE6IFRbXSk6IFRbXSB7XG4gICAgaWYgKHRoaXMuX2xvY2FsQXBwbHkpIHtcbiAgICAgIHJldHVybiB0aGlzLl9sb2NhbEFwcGx5KGRhdGEpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZGF0YTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0VG90YWwodG90YWw6IG51bWJlciB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIHRoaXMuX3RvdGFsLm5leHQodG90YWwpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFycyB0aGUgY3VycmVudCBkYXRhLWNvbnRleHQgY2FjaGVkIGRhdGEuXG4gICAqIFN0YXRlIHN1Y2ggYXMgY3VycmVudCBzb3J0aW5nIGFuZCBmaWx0ZXJzU25hcHNob3QgYXJlIGtlcHQuXG4gICAqL1xuICBwcm90ZWN0ZWQgY2xlYXJBbGwoc2lsZW50ID0gZmFsc2UpOiB2b2lkIHtcbiAgICB0aGlzLmNsZWFySW5kZXgoKTtcblxuICAgIGlmICghc2lsZW50KSB7XG4gICAgICB0aGlzLnNldFRvdGFsKDApO1xuICAgICAgdGhpcy5jbGVhckRhdGEoKTtcbiAgICB9XG5cbiAgICB0aGlzLm9uSWRsZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHVwZGF0ZUluZGV4KCk6IHZvaWQge1xuICAgIHRoaXMuY2xlYXJJbmRleCgpO1xuICAgIHRoaXMuaW5kZXhBbGwodGhpcy5kYXRhU25hcHNob3QpO1xuICB9XG5cbiAgLyoqXG4gICAqIEluZGV4ZXMgdGhlIGdpdmVuIGl0ZW0gYnkga2V5IGlmIHRoZXJlIGlzIGFuIGluZGV4IGZ1bmN0aW9uIGRlZmluZWQuXG4gICAqL1xuICBwcm90ZWN0ZWQgaW5kZXhJdGVtKGl0ZW06IFQpOiB2b2lkIHtcbiAgICBjb25zdCBrZXkgPSB0aGlzLmdldEl0ZW1LZXkoaXRlbSk7XG4gICAgaWYgKGtleSkge1xuICAgICAgdGhpcy5fY3VzdG9tSW5kZXguc2V0KGtleSwgaXRlbSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEluZGV4ZXMgYWxsIHRoZSBnaXZlbiBpdGVtcyBieSBrZXkgaWYgdGhlcmUgaXMgYW4gaW5kZXggZnVuY3Rpb24gZGVmaW5lZC5cbiAgICovXG4gIHByb3RlY3RlZCBpbmRleEFsbChpdGVtczogVFtdKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2luZGV4Rm4pIHtcbiAgICAgIGl0ZW1zLmZvckVhY2goaXRlbSA9PiB0aGlzLmluZGV4SXRlbShpdGVtKSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGdldEl0ZW1LZXkoaXRlbTogVCk6IGFueSB7XG4gICAgaWYgKHRoaXMuX2luZGV4Rm4pIHtcbiAgICAgIHJldHVybiB0aGlzLl9pbmRleEZuKGl0ZW0pO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRJdGVtSWQoaXRlbTogVCk6IFRJZCB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YVNvdXJjZS5nZXRJZChpdGVtKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBFdmVudCBoYW5kbGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKlxuICAgKiBPY2N1cnMgd2hlbiB0aGUgc29ydCBoYXMgY2hhbmdlZC5cbiAgICovXG4gIHByb3RlY3RlZCBvblNvcnRzQ2hhbmdlZChzb3J0czogU29ydFtdKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9sb2NhbFNvcnQpIHtcbiAgICAgIHRoaXMucmVsb2FkKCdTb3J0IENoYW5nZWQnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZXREYXRhKHRoaXMuZGF0YVNuYXBzaG90LCB0cnVlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogT2NjdXJzIHdoZW4gdGhlIGZpbHRlciBoYXMgY2hhbmdlZC5cbiAgICovXG4gIHByb3RlY3RlZCBvbkZpbHRlcnNDaGFuZ2VkKGZpbHRlcnM6IEZpbHRlcltdKTogdm9pZCB7XG4gICAgdGhpcy5yZWxvYWQoJ0ZpbHRlcnMgQ2hhbmdlZCcpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uRXJyb3IoZXJyOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uU3RhdHVzKERhdGFDb250ZXh0U3RhdHVzLmVycm9yKGVycikpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uSWRsZSgpOiB2b2lkIHtcbiAgICB0aGlzLm9uU3RhdHVzKERhdGFDb250ZXh0U3RhdHVzLmlkbGUoKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25Mb2FkaW5nKCk6IHZvaWQge1xuICAgIHRoaXMub25TdGF0dXMoRGF0YUNvbnRleHRTdGF0dXMubG9hZGluZygpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvblN0YXR1cyhzdGF0dXM6IERhdGFDb250ZXh0U3RhdHVzKTogdm9pZCB7XG4gICAgdGhpcy5fc3RhdHVzLm5leHQoc3RhdHVzKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBBYnN0cmFjdCBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKlxuICAgKiBTdWJjbGFzc2VzIG11c3QgaW1wbGVtZW50IHRoaXMgbWV0aG9kIGFuZFxuICAgKiByZWxvYWQgdGhlIGN1cnJlbnRseSBoZWxkIGRhdGEuXG4gICAqIElmIHBvc3NpYmxlLCB0aGUgY3VycmVudCB2aWV3IHN0YXRlIHNob3VsZCBiZSBrZXB0LlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgcmVsb2FkIGpvYi5cbiAgICovXG4gIHByb3RlY3RlZCBhYnN0cmFjdCByZWxvYWRJbnRlcm5hbCgpOiBPYnNlcnZhYmxlPGFueT47XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBjbGVhckluZGV4KCk6IHZvaWQge1xuICAgIHRoaXMuX2N1c3RvbUluZGV4LmNsZWFyKCk7XG4gIH1cbn1cbiJdfQ==
332
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1jb250ZXh0LWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21tb24vZGF0YS9kYXRhLWNvbnRleHQvZGF0YS1jb250ZXh0LWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFTLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRzNELE9BQU8sRUFBbUIsVUFBVSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDdEUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDeEQsT0FBTyxFQUFDLGVBQWUsRUFBYyxFQUFFLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUN6RSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDeEQsT0FBTyxFQUFDLG1CQUFtQixFQUFlLE1BQU0sZ0JBQWdCLENBQUM7QUFDakUsT0FBTyxFQUFDLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFNUMsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBRW5ELE1BQU0sYUFBYTtJQUVqQixZQUNrQixNQUFjLEVBQ2QsTUFBZTtRQURmLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxXQUFNLEdBQU4sTUFBTSxDQUFTO0lBQzlCLENBQUM7Q0FDTDtBQUVELE1BQU0sV0FBVztJQUNmLFlBQ2tCLE9BQXNCLEVBQ3RCLE1BQVc7UUFEWCxZQUFPLEdBQVAsT0FBTyxDQUFlO1FBQ3RCLFdBQU0sR0FBTixNQUFNLENBQUs7SUFDMUIsQ0FBQztJQUVHLFFBQVEsQ0FBQyxVQUF5QjtR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RVMsT0FBTyxDQUFDLEdBQVE7UUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRVMsTUFBTTtRQUNkLElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRVMsU0FBUztRQUNqQixJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVTLFFBQVEsQ0FBQyxNQUF5QjtRQUMxQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBaUJEOzs7O2dGQUk0RTtJQUVwRSxVQUFVO1FBQ2hCLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDNUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TG9nZ2VyLCBMb2dnZXJGYWN0b3J5fSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcic7XG5pbXBvcnQge0ZpbHRlcn0gZnJvbSAnLi4vZmlsdGVycy9maWx0ZXInO1xuaW1wb3J0IHtTb3J0fSBmcm9tICcuLi9zb3J0JztcbmltcG9ydCB7Q29sbGVjdGlvblZpZXdlciwgRGF0YVNvdXJjZX0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7RGF0YUNvbnRleHRTdGF0dXN9IGZyb20gJy4vZGF0YS1jb250ZXh0LXN0YXR1cyc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QsIHN3aXRjaE1hcH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0ZpbHRlckNvbnRleHR9IGZyb20gJy4uL2ZpbHRlcnMvZmlsdGVyLWNvbnRleHQnO1xuaW1wb3J0IHtEYXRhQ29udGV4dFNuYXBzaG90LCBJRGF0YUNvbnRleHR9IGZyb20gJy4vZGF0YS1jb250ZXh0JztcbmltcG9ydCB7Y2F0Y2hFcnJvciwgZGVib3VuY2VUaW1lLCBmaWx0ZXIsIG1hcCwgdGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1NvcnRDb250ZXh0fSBmcm9tICcuLi9zb3J0LWNvbnRleHQnO1xuaW1wb3J0IHtJRGF0YVNvdXJjZX0gZnJvbSAnLi4vZGF0YXNvdXJjZS9kYXRhLXNvdXJjZSc7XG5pbXBvcnQge0luZGV4ZWRFbnRpdGllc30gZnJvbSAnLi9pbmRleGVkLWVudGl0aWVzJztcblxuY2xhc3MgUmVsb2FkUmVxdWVzdCB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IG51bWJlcjogbnVtYmVyLFxuICAgIHB1YmxpYyByZWFkb25seSByZWFzb24/OiBzdHJpbmdcbiAgKSB7fVxufVxuXG5jbGFzcyBBZnRlclJlbG9hZCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSByZXF1ZXN0OiBSZWxvYWRSZXF1ZXN0LFxuICAgIHB1YmxpYyByZWFkb25seSByZXN1bHQ6IGFueVxuICApIHt9XG5cbiAgcHVibGljIGZ1bGZpbGxzKG1pblJlcXVlc3Q6IFJlbG9hZFJlcXVlc3QpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5yZXF1ZXN0Lm51bWJlciA+PSBtaW5SZXF1ZXN0Lm51bWJlcjtcbiAgfVxufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGF0YUNvbnRleHRCYXNlPFQsIFRJZCA9IGFueT4gZXh0ZW5kcyBEYXRhU291cmNlPFQ+IGltcGxlbWVudHMgSURhdGFDb250ZXh0PFQ+IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHN0YXRpYyBEQ19JRF9DT1VOVEVSID0gMDtcblxuXG4gIHByaXZhdGUgcmVhZG9ubHkgYmFzZWxvZzogTG9nZ2VyID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIoJ0RhdGFDb250ZXh0QmFzZScpO1xuXG4gIC8qKlxuICAgKiBJRCBvZiB0aGlzIERhdGFDb250ZXh0XG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaWQ6IHN0cmluZztcblxuICBwcml2YXRlIHJlYWRvbmx5IF9kYXRhU291cmNlOiBJRGF0YVNvdXJjZTxUPjtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9maWx0ZXIgPSBuZXcgRmlsdGVyQ29udGV4dCgpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9zb3J0ID0gbmV3IFNvcnRDb250ZXh0KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfbG9hZGluZzogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9kYXRhOiBJbmRleGVkRW50aXRpZXM8VCwgVElkPjtcbiAgcHJpdmF0ZSByZWFkb25seSBfdG90YWwgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlciB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfc3RhdHVzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEYXRhQ29udGV4dFN0YXR1cz4oRGF0YUNvbnRleHRTdGF0dXMuaWRsZSgpKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9zdGFydGVkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2Nsb3NlZCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2N1c3RvbUluZGV4ID0gbmV3IE1hcDxhbnksIFQ+KCk7XG5cbiAgcHJpdmF0ZSBfcmVsb2FkQ291bnRlciA9IDA7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3JlbG9hZFF1ZXVlID0gbmV3IFN1YmplY3Q8UmVsb2FkUmVxdWVzdD4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfcmVsb2FkZWQgPSBuZXcgU3ViamVjdDxBZnRlclJlbG9hZD4oKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihcbiAgICBkYXRhU291cmNlOiBJRGF0YVNvdXJjZTxUPixcbiAgICBwcml2YXRlIF9pbmRleEZuOiAoKGl0ZW06IFQpID0+IGFueSksXG4gICAgcHJpdmF0ZSBfbG9jYWxBcHBseTogKChkYXRhOiBUW10pID0+IFRbXSksXG4gICAgcHJpdmF0ZSBfbG9jYWxTb3J0OiAoKGRhdGE6IFRbXSwgc29ydHM6IFNvcnRbXSkgPT4gVFtdKSxcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmlkID0gJ0RhdGFDb250ZXh0IycgKyAoKytEYXRhQ29udGV4dEJhc2UuRENfSURfQ09VTlRFUik7XG4gICAgdGhpcy5fZGF0YVNvdXJjZSA9IGRhdGFTb3VyY2U7XG4gICAgdGhpcy5fZGF0YSA9IG5ldyBJbmRleGVkRW50aXRpZXMoZSA9PiBkYXRhU291cmNlLmdldElkKGUpLCBfbG9jYWxTb3J0LCB0aGlzLl9zb3J0KTtcblxuICAgIHRoaXMuX2xvYWRpbmcgPSB0aGlzLl9zdGF0dXMucGlwZShcbiAgICAgIG1hcChzdGF0dXMgPT4gc3RhdHVzLmxvYWRpbmcpXG4gICAgKTtcblxuICAgIHRoaXMuX2ZpbHRlci5maWx0ZXJzLnBpcGUoXG4gICAgICBmaWx0ZXIoKCkgPT4gdGhpcy5zdGFydGVkKSxcbiAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKVxuICAgICkuc3Vic2NyaWJlKFxuICAgICAgZmlsdGVycyA9PiB0aGlzLm9uRmlsdGVyc0NoYW5nZWQoZmlsdGVycylcbiAgICApO1xuXG4gICAgdGhpcy5fc29ydC5zb3J0cy5waXBlKFxuICAgICAgZmlsdGVyKCgpID0+IHRoaXMuc3RhcnRlZCksXG4gICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JClcbiAgICApLnN1YnNjcmliZShcbiAgICAgIHNvcnRzID0+IHRoaXMub25Tb3J0c0NoYW5nZWQoc29ydHMpXG4gICAgKTtcblxuICAgIHRoaXMuX3JlbG9hZFF1ZXVlLnBpcGUoXG4gICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICBmaWx0ZXIocmVxdWVzdCA9PiB0aGlzLnN0YXJ0ZWQpLFxuICAgICAgZGVib3VuY2VUaW1lKDUwKSxcbiAgICAgIHN3aXRjaE1hcChcbiAgICAgICAgcmVxdWVzdCA9PiB0aGlzLnJlbG9hZE5vdyhyZXF1ZXN0KS5waXBlKFxuICAgICAgICAgIG1hcChyZXN1bHQgPT4gbmV3IEFmdGVyUmVsb2FkKHJlcXVlc3QsIHJlc3VsdCkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoZXJyID0+IHsgIC8vIERvbnQgZGllIG9uIGVycm9yc1xuICAgICAgICAgICAgdGhpcy5iYXNlbG9nLmVycm9yKHRoaXMuaWQgKyAnOiBSZWxvYWQgcXVldWUgZGV0ZWN0ZWQgZXJyb3IsIGJhZCEnLCBlcnIpO1xuICAgICAgICAgICAgcmV0dXJuIG9mKG5ldyBBZnRlclJlbG9hZChyZXF1ZXN0LCBlcnIpKTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgKVxuICAgICAgKVxuICAgICkuc3Vic2NyaWJlKGFmdGVyUmVsb2FkID0+IHRoaXMuX3JlbG9hZGVkLm5leHQoYWZ0ZXJSZWxvYWQpKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJIE1hdGVyaWFsIERDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBjb25uZWN0KGNvbGxlY3Rpb25WaWV3ZXI6IENvbGxlY3Rpb25WaWV3ZXIpOiBPYnNlcnZhYmxlPFRbXT4ge1xuICAgIHJldHVybiB0aGlzLmRhdGE7XG4gIH1cblxuICBwdWJsaWMgZGlzY29ubmVjdChjb2xsZWN0aW9uVmlld2VyOiBDb2xsZWN0aW9uVmlld2VyKTogdm9pZCB7XG4gICAgLy8gdGhpcy5jbG9zZSgpOyBDbG9zaW5nIHdpbGwgZGVzdHJveSB0aGUgRENcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBnZXQgZGF0YVNvdXJjZSgpOiBJRGF0YVNvdXJjZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGFTb3VyY2U7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNuYXBzaG90KCk6IERhdGFDb250ZXh0U25hcHNob3Q8VD4ge1xuICAgIHJldHVybiBuZXcgRGF0YUNvbnRleHRTbmFwc2hvdChcbiAgICAgIHRoaXMuZGF0YVNuYXBzaG90LFxuICAgICAgdGhpcy5pc0VtcHR5LFxuICAgICAgdGhpcy5sb2FkaW5nU25hcHNob3QsXG4gICAgICB0aGlzLnRvdGFsU25hcHNob3QsXG4gICAgICB0aGlzLnN0YXR1c1NuYXBzaG90XG4gICAgKTtcbiAgfVxuXG5cbiAgcHVibGljIGdldCB0b3RhbCgpOiBPYnNlcnZhYmxlPG51bWJlciB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiB0aGlzLl90b3RhbC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdG90YWxTbmFwc2hvdCgpOiBudW1iZXIgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl90b3RhbC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBzb3J0KCk6IFNvcnRDb250ZXh0IHtcbiAgICByZXR1cm4gdGhpcy5fc29ydDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZmlsdGVyKCk6IEZpbHRlckNvbnRleHQge1xuICAgIHJldHVybiB0aGlzLl9maWx0ZXI7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGxvYWRpbmcoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX2xvYWRpbmc7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGxvYWRpbmdTbmFwc2hvdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0dXNTbmFwc2hvdD8ubG9hZGluZztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGF0YSgpOiBPYnNlcnZhYmxlPFRbXT4ge1xuICAgIHJldHVybiB0aGlzLl9kYXRhLmVudGl0aWVzJDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGF0YVNuYXBzaG90KCk6IFRbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGEuZW50aXRpZXNTbmFwc2hvdDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc3RhdHVzKCk6IE9ic2VydmFibGU8RGF0YUNvbnRleHRTdGF0dXM+IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhdHVzO1xuICB9XG5cbiAgcHVibGljIGdldCBzdGF0dXNTbmFwc2hvdCgpOiBEYXRhQ29udGV4dFN0YXR1cyB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXR1cy5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBpc0VtcHR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRhdGFTbmFwc2hvdC5sZW5ndGggPT09IDA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzU3RhcnRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zdGFydGVkO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1N0YXJ0ZWQkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLl9zdGFydGVkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBpc0Nsb3NlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fY2xvc2VkLmdldFZhbHVlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHN0YXJ0ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXJ0ZWQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXQgc3RhcnRlZChzdGFydGVkOiBib29sZWFuKSB7XG4gICAgdGhpcy5fc3RhcnRlZC5uZXh0KHN0YXJ0ZWQpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIHN0YXJ0KHNvcnRzPzogU29ydFtdLCBmaWx0ZXJzPzogRmlsdGVyW10pOiBPYnNlcnZhYmxlPGFueT4ge1xuXG4gICAgaWYgKHRoaXMuaXNDbG9zZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcih0aGlzLmlkICsgJzogUmVzdGFydGluZyBhIGNsb3NlZCBEYXRhQ29udGV4dCBpcyBub3QgcG9zc2libGUhJyk7IC8vIFNlZSB1bnN1YnNjcmliZSRcbiAgICB9XG5cbiAgICB0aGlzLnN0YXJ0ZWQgPSBmYWxzZTtcblxuICAgIHRoaXMuX3NvcnQucmVwbGFjZVNvcnRzKHNvcnRzIHx8IHRoaXMuc29ydC5zb3J0c1NuYXBzaG90KTtcbiAgICB0aGlzLl9maWx0ZXIucmVwbGFjZUZpbHRlcnMoZmlsdGVycyB8fCB0aGlzLmZpbHRlci5maWx0ZXJzU25hcHNob3QpO1xuXG4gICAgdGhpcy5iYXNlbG9nLmRlYnVnKHRoaXMuaWQgKyc6IFN0YXJ0IC4uLicsIHtcbiAgICAgIGRhdGFTb3VyY2U6IHRoaXMuZGF0YVNvdXJjZSxcbiAgICAgIHNvcnQ6IHRoaXMuX3NvcnQuc29ydHNTbmFwc2hvdCxcbiAgICAgIGZpbHRlcjogdGhpcy5fZmlsdGVyLmZpbHRlcnNTbmFwc2hvdFxuICAgIH0pO1xuXG4gICAgdGhpcy5zdGFydGVkID0gdHJ1ZTtcblxuICAgIHJldHVybiB0aGlzLnJlbG9hZCgnU1RBUlQnKTtcbiAgfVxuXG4gIHB1YmxpYyByZWxvYWQocmVhc29uPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCByZXF1ZXN0ID0gbmV3IFJlbG9hZFJlcXVlc3QoKyt0aGlzLl9yZWxvYWRDb3VudGVyLCByZWFzb24pO1xuICAgIHRoaXMuYmFzZWxvZy5kZWJ1Zyh0aGlzLmlkICsnOiBFbnF1ZXVpbmcgcmVsb2FkIHJlcXVlc3QgIycrcmVxdWVzdC5udW1iZXIrJyBbJyArIHJlYXNvbiArICddJyk7XG4gICAgdGhpcy5fcmVsb2FkUXVldWUubmV4dChyZXF1ZXN0KTtcbiAgICByZXR1cm4gdGhpcy5fcmVsb2FkZWQucGlwZShcbiAgICAgIGZpbHRlcihyZWxvYWQgPT4gcmVsb2FkLmZ1bGZpbGxzKHJlcXVlc3QpKSxcbiAgICAgIG1hcChyZWxvYWQgPT4gcmVsb2FkLnJlc3VsdClcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGZpbmRCeUluZGV4KGtleTogYW55KTogVCB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCF0aGlzLl9pbmRleEZuKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IodGhpcy5pZCArJzogZmluZEJ5SW5kZXggcmVxdWlyZXMgeW91IHRvIHBhc3MgYSBpbmRleCBmdW5jdGlvbiEnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2N1c3RvbUluZGV4LmdldChrZXkpO1xuICB9XG5cbiAgcHVibGljIGZpbmRCeUlkKGlkOiBhbnkpOiBUIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fZGF0YS5nZXRCeUlkKGlkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbG9zZXMgdGhpcyBEYXRhQ29udGV4dCBhbmQgY2xlYW5zIHVwIGFsbCB1c2VkIHJlc291cmNlcy5cbiAgICovXG4gIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcblxuICAgIHRoaXMuc3RhcnRlZCA9IGZhbHNlO1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB0aGlzLl9jbG9zZWQubmV4dCh0cnVlKTtcblxuICAgIHRoaXMuX2RhdGEuZGVzdHJveSgpO1xuICAgIHRoaXMuX3RvdGFsLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fc3RhdHVzLmNvbXBsZXRlKCk7XG5cbiAgICB0aGlzLmNsZWFyQWxsKCk7XG4gICAgdGhpcy5iYXNlbG9nLmRlYnVnKHRoaXMuaWQgKyc6IEhhcyBiZWVuIGNsb3NlZCBhbmQgcmVzb3VyY2VzIGNsZWFuZWQgdXAhJyk7XG4gIH1cblxuICBwdWJsaWMgcmVmcmVzaCgpOiB2b2lkIHtcbiAgICB0aGlzLl9kYXRhLm5vdGlmeSgpO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZShlbnRpdGllczogVFtdKTogdm9pZCB7XG4gICAgdGhpcy5fZGF0YS51cGRhdGVTb21lKGVudGl0aWVzKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm90ZWN0ZWQgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVsb2FkTm93KHJlcXVlc3Q6IFJlbG9hZFJlcXVlc3QpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHRoaXMuYmFzZWxvZy5kZWJ1Zyh0aGlzLmlkICsgJzogcmVsb2FkTm93IHRyaWdnZXJlZC4gUmVxdWVzdCAjJyArIHJlcXVlc3QubnVtYmVyICsgJyAnICsgcmVxdWVzdC5yZWFzb24gLCB7XG4gICAgICBmaWx0ZXI6IHRoaXMuX2ZpbHRlci5maWx0ZXJzU25hcHNob3QsXG4gICAgICBzb3J0OiB0aGlzLl9zb3J0LnNvcnRzU25hcHNob3QsXG4gICAgICBkYXRhU291cmNlOiB0aGlzLmRhdGFTb3VyY2UsXG4gICAgICByZXF1ZXN0OiByZXF1ZXN0XG4gICAgfSk7XG4gICAgcmV0dXJuIHRoaXMucmVsb2FkSW50ZXJuYWwoKTsgLy8gVE9ETyBUaGlzIHNob3VsZCBhY3R1YWxseSByZXR1cm4gdGhlIHJlYWwgKGh0dHApIHJlcXVlc3RcbiAgfVxuXG4gIC8qKlxuICAgKiBBcHBlbmQgdGhlIGdpdmVuIHJvd3MgdG8gdGhlIGV4aXN0aW5nIG9uZXMuXG4gICAqL1xuICBwcm90ZWN0ZWQgYXBwZW5kRGF0YShhZGRpdGlvbmFsRGF0YTogVFtdKTogdm9pZCB7XG4gICAgYWRkaXRpb25hbERhdGEgPSB0aGlzLmxvY2FsQXBwbHkoYWRkaXRpb25hbERhdGEpO1xuICAgIHRoaXMuaW5kZXhBbGwoYWRkaXRpb25hbERhdGEpO1xuICAgIHRoaXMuX2RhdGEuYXBwZW5kKGFkZGl0aW9uYWxEYXRhKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbnNlcnQgdGhlIGdpdmVuIHJvd3MgYXQgdGhlIGdpdmVuIGxvY2F0aW9uLlxuICAgKi9cbiAgcHJvdGVjdGVkIGluc2VydERhdGEoYWRkaXRpb25hbERhdGE6IFRbXSwgb2Zmc2V0OiBudW1iZXIpOiB2b2lkIHtcbiAgICBhZGRpdGlvbmFsRGF0YSA9IHRoaXMubG9jYWxBcHBseShhZGRpdGlvbmFsRGF0YSk7XG4gICAgdGhpcy5pbmRleEFsbChhZGRpdGlvbmFsRGF0YSk7XG4gICAgdGhpcy5fZGF0YS5pbnNlcnQoYWRkaXRpb25hbERhdGEsIG9mZnNldCk7XG4gIH1cblxuICAvKipcbiAgICogUmVwbGFjZXMgdGhlIGV4aXN0aW5nIGRhdGEgd2l0aCB0aGUgbmV3IHNldC5cbiAgICogQHBhcmFtIG5ld0RhdGEgVGhlIG5ldyBkYXRhIHNldC5cbiAgICogQHBhcmFtIGFscmVhZHlJbmRleGVkIFRoZSByb3dzIHdpbGwgYmUgaW5kZXhlZCB1bmxlc3MgdGhleSBhbHJlYWR5IGhhdmUgYmVlbi5cbiAgICovXG4gIHByb3RlY3RlZCBzZXREYXRhKG5ld0RhdGE6IFRbXSwgYWxyZWFkeUluZGV4ZWQgPSBmYWxzZSk6IHZvaWQge1xuICAgIG5ld0RhdGEgPSB0aGlzLmxvY2FsQXBwbHkobmV3RGF0YSk7XG4gICAgaWYgKCFhbHJlYWR5SW5kZXhlZCkge1xuICAgICAgdGhpcy5jbGVhckluZGV4KCk7XG4gICAgICB0aGlzLmluZGV4QWxsKG5ld0RhdGEpO1xuICAgIH1cbiAgICB0aGlzLl9kYXRhLnJlcGxhY2VBbGwobmV3RGF0YSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY2xlYXJEYXRhKCk6IHZvaWQge1xuICAgIHRoaXMuc2V0RGF0YShbXSk7XG4gIH1cblxuICBwcml2YXRlIGxvY2FsQXBwbHkoZGF0YTogVFtdKTogVFtdIHtcbiAgICBpZiAodGhpcy5fbG9jYWxBcHBseSkge1xuICAgICAgcmV0dXJuIHRoaXMuX2xvY2FsQXBwbHkoZGF0YSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBkYXRhO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBzZXRUb3RhbCh0b3RhbDogbnVtYmVyIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgdGhpcy5fdG90YWwubmV4dCh0b3RhbCk7XG4gIH1cblxuICAvKipcbiAgICogQ2xlYXJzIHRoZSBjdXJyZW50IGRhdGEtY29udGV4dCBjYWNoZWQgZGF0YS5cbiAgICogU3RhdGUgc3VjaCBhcyBjdXJyZW50IHNvcnRpbmcgYW5kIGZpbHRlcnNTbmFwc2hvdCBhcmUga2VwdC5cbiAgICovXG4gIHByb3RlY3RlZCBjbGVhckFsbChzaWxlbnQgPSBmYWxzZSk6IHZvaWQge1xuICAgIHRoaXMuY2xlYXJJbmRleCgpO1xuXG4gICAgaWYgKCFzaWxlbnQpIHtcbiAgICAgIHRoaXMuc2V0VG90YWwoMCk7XG4gICAgICB0aGlzLmNsZWFyRGF0YSgpO1xuICAgIH1cblxuICAgIHRoaXMub25JZGxlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgdXBkYXRlSW5kZXgoKTogdm9pZCB7XG4gICAgdGhpcy5jbGVhckluZGV4KCk7XG4gICAgdGhpcy5pbmRleEFsbCh0aGlzLmRhdGFTbmFwc2hvdCk7XG4gIH1cblxuICAvKipcbiAgICogSW5kZXhlcyB0aGUgZ2l2ZW4gaXRlbSBieSBrZXkgaWYgdGhlcmUgaXMgYW4gaW5kZXggZnVuY3Rpb24gZGVmaW5lZC5cbiAgICovXG4gIHByb3RlY3RlZCBpbmRleEl0ZW0oaXRlbTogVCk6IHZvaWQge1xuICAgIGNvbnN0IGtleSA9IHRoaXMuZ2V0SXRlbUtleShpdGVtKTtcbiAgICBpZiAoa2V5KSB7XG4gICAgICB0aGlzLl9jdXN0b21JbmRleC5zZXQoa2V5LCBpdGVtKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSW5kZXhlcyBhbGwgdGhlIGdpdmVuIGl0ZW1zIGJ5IGtleSBpZiB0aGVyZSBpcyBhbiBpbmRleCBmdW5jdGlvbiBkZWZpbmVkLlxuICAgKi9cbiAgcHJvdGVjdGVkIGluZGV4QWxsKGl0ZW1zOiBUW10pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5faW5kZXhGbikge1xuICAgICAgaXRlbXMuZm9yRWFjaChpdGVtID0+IHRoaXMuaW5kZXhJdGVtKGl0ZW0pKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0SXRlbUtleShpdGVtOiBUKTogYW55IHtcbiAgICBpZiAodGhpcy5faW5kZXhGbikge1xuICAgICAgcmV0dXJuIHRoaXMuX2luZGV4Rm4oaXRlbSk7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldEl0ZW1JZChpdGVtOiBUKTogVElkIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhU291cmNlLmdldElkKGl0ZW0pO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEV2ZW50IGhhbmRsZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIE9jY3VycyB3aGVuIHRoZSBzb3J0IGhhcyBjaGFuZ2VkLlxuICAgKi9cbiAgcHJvdGVjdGVkIG9uU29ydHNDaGFuZ2VkKHNvcnRzOiBTb3J0W10pOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2xvY2FsU29ydCkge1xuICAgICAgdGhpcy5yZWxvYWQoJ1NvcnQgQ2hhbmdlZCcpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNldERhdGEodGhpcy5kYXRhU25hcHNob3QsIHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBPY2N1cnMgd2hlbiB0aGUgZmlsdGVyIGhhcyBjaGFuZ2VkLlxuICAgKi9cbiAgcHJvdGVjdGVkIG9uRmlsdGVyc0NoYW5nZWQoZmlsdGVyczogRmlsdGVyW10pOiB2b2lkIHtcbiAgICB0aGlzLnJlbG9hZCgnRmlsdGVycyBDaGFuZ2VkJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25FcnJvcihlcnI6IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25TdGF0dXMoRGF0YUNvbnRleHRTdGF0dXMuZXJyb3IoZXJyKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25JZGxlKCk6IHZvaWQge1xuICAgIHRoaXMub25TdGF0dXMoRGF0YUNvbnRleHRTdGF0dXMuaWRsZSgpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkxvYWRpbmcoKTogdm9pZCB7XG4gICAgdGhpcy5vblN0YXR1cyhEYXRhQ29udGV4dFN0YXR1cy5sb2FkaW5nKCkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uU3RhdHVzKHN0YXR1czogRGF0YUNvbnRleHRTdGF0dXMpOiB2b2lkIHtcbiAgICB0aGlzLl9zdGF0dXMubmV4dChzdGF0dXMpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEFic3RyYWN0IG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIFN1YmNsYXNzZXMgbXVzdCBpbXBsZW1lbnQgdGhpcyBtZXRob2QgYW5kXG4gICAqIHJlbG9hZCB0aGUgY3VycmVudGx5IGhlbGQgZGF0YS5cbiAgICogSWYgcG9zc2libGUsIHRoZSBjdXJyZW50IHZpZXcgc3RhdGUgc2hvdWxkIGJlIGtlcHQuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSByZWxvYWQgam9iLlxuICAgKi9cbiAgcHJvdGVjdGVkIGFic3RyYWN0IHJlbG9hZEludGVybmFsKCk6IE9ic2VydmFibGU8YW55PjtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGNsZWFySW5kZXgoKTogdm9pZCB7XG4gICAgdGhpcy5fY3VzdG9tSW5kZXguY2xlYXIoKTtcbiAgfVxufVxuIl19
@@ -136,4 +136,4 @@ export class MatTableDataContextBinding {
136
136
  return matSortDirection;
137
137
  }
138
138
  }
139
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0LXRhYmxlLWRhdGEtY29udGV4dC1iaW5kaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL2RhdGEvZGF0YS1jb250ZXh0L21hdC10YWJsZS1kYXRhLWNvbnRleHQtYmluZGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQXVDLHdCQUF3QixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUYsT0FBTyxFQUFDLGFBQWEsRUFBRSxLQUFLLEVBQXNDLE1BQU0sTUFBTSxDQUFDO0FBQy9FLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsTUFBTSxFQUFFLEdBQUcsRUFBWSxRQUFRLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3JGLE9BQU8sRUFBQyxJQUFJLEVBQWdCLE1BQU0sU0FBUyxDQUFDO0FBQzVDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxTQUFTLENBQUM7QUFHcEMsTUFBTSxPQUFPLGlDQUFpQztJQWM1Qzs7OztnRkFJNEU7SUFFckUsTUFBTSxDQUFDLEtBQUssQ0FBQyxZQUEyQztRQUM3RCxPQUFPLElBQUksaUNBQWlDLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELFlBQVksWUFBMkM7UUF0QnZEOzs7O29GQUk0RTtRQUUzRCxXQUFNLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBaUJ2RSxJQUFJLENBQUMsYUFBYSxHQUFHLFlBQVksQ0FBQztJQUNwQyxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXJFLFNBQVMsQ0FBQyxNQUE2QjtRQUM1QyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUN0QixPQUFPLElB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QUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNYXRQYWdpbmF0b3IsIFBhZ2VFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XG5pbXBvcnQgeyBNYXRTb3J0LCBTb3J0RGlyZWN0aW9uIGFzIE1hdFNvcnREaXJlY3Rpb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcbmltcG9ydCB7SURhdGFDb250ZXh0LCBJRGF0YUNvbnRleHRBY3RpdmVQYWdlLCBpc0FjdGl2ZVBhZ2VkRGF0YUNvbnRleHR9IGZyb20gJy4vZGF0YS1jb250ZXh0JztcbmltcG9ydCB7Y29tYmluZUxhdGVzdCwgbWVyZ2UsIE9ic2VydmFibGUsIFN1YmplY3QsIFVuc3Vic2NyaWJhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7TG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtmaWx0ZXIsIG1hcCwgbWVyZ2VBbGwsIG1lcmdlTWFwLCBzd2l0Y2hNYXAsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtTb3J0LCBTb3J0RGlyZWN0aW9ufSBmcm9tICcuLi9zb3J0JztcbmltcG9ydCB7UGFnZVJlcXVlc3R9IGZyb20gJy4uL3BhZ2UnO1xuXG5cbmV4cG9ydCBjbGFzcyBNYXRUYWJsZURhdGFDb250ZXh0QmluZGluZ0J1aWxkZXIge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcblxuICBwcml2YXRlIF9kYXRhQ29udGV4dCQ6IE9ic2VydmFibGU8SURhdGFDb250ZXh0PGFueT4+O1xuICBwcml2YXRlIF9zb3J0cyQ6IE9ic2VydmFibGU8TWF0U29ydFtdPjtcbiAgcHJpdmF0ZSBfbWF0UGFnaW5hdG9yJDogT2JzZXJ2YWJsZTxNYXRQYWdpbmF0b3I+O1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBTdGF0aWMgQnVpbGRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBzdGF0aWMgc3RhcnQoZGF0YUNvbnRleHQkOiBPYnNlcnZhYmxlPElEYXRhQ29udGV4dDxhbnk+Pik6IE1hdFRhYmxlRGF0YUNvbnRleHRCaW5kaW5nQnVpbGRlciB7XG4gICAgcmV0dXJuIG5ldyBNYXRUYWJsZURhdGFDb250ZXh0QmluZGluZ0J1aWxkZXIoZGF0YUNvbnRleHQkKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKGRhdGFDb250ZXh0JDogT2JzZXJ2YWJsZTxJRGF0YUNvbnRleHQ8YW55Pj4pIHtcbiAgICB0aGlzLl9kYXRhQ29udGV4dCQgPSBkYXRhQ29udGV4dCQ7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgd2l0aFNvcnRzKHNvcnRzJDogT2JzZXJ2YWJsZTxNYXRTb3J0W10+KTogdGhpcyB7XG4gICAgdGhpcy5fc29ydHMkID0gc29ydHMkO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHdpdGhQYWdpbmF0b3IocGFnaW5hdG9yJDogT2JzZXJ2YWJsZTxNYXRQYWdpbmF0b3I+KTogdGhpcyB7XG4gICAgdGhpcy5fbWF0UGFnaW5hdG9yJCA9IHBhZ2luYXRvciQ7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgYmluZFVudGlsKGRlc3Ryb3kkOiBPYnNlcnZhYmxlPGFueT4pOiBNYXRUYWJsZURhdGFDb250ZXh0QmluZGluZyB7XG4gICAgcmV0dXJuIG5ldyBNYXRUYWJsZURhdGFDb250ZXh0QmluZGluZyhcbiAgICAgIHRoaXMuX2RhdGFDb250ZXh0JCxcbiAgICAgIHRoaXMuX3NvcnRzJCxcbiAgICAgIHRoaXMuX21hdFBhZ2luYXRvciQsXG4gICAgICBkZXN0cm95JFxuICAgICk7XG4gIH1cblxufVxuXG5leHBvcnQgY2xhc3MgTWF0VGFibGVEYXRhQ29udGV4dEJpbmRpbmcge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kYXRhQ29udGV4dCQ6IE9ic2VydmFibGU8SURhdGFDb250ZXh0PGFueT4+LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX21hdFNvcnRzJDogT2JzZXJ2YWJsZTxNYXRTb3J0W10+IHwgbnVsbCxcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9tYXRQYWdpbmF0b3IkOiBPYnNlcnZhYmxlPE1hdFBhZ2luYXRvcj4gfCBudWxsLFxuICAgIGRlc3Ryb3kkOiBPYnNlcnZhYmxlPGFueT5cbiAgKSB7XG4gICAgdGhpcy5zdWJzY3JpYmVVbnRpbChkZXN0cm95JCk7XG4gIH1cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBzdWJzY3JpYmVVbnRpbChkZXN0cm95JDogT2JzZXJ2YWJsZTxhbnk+KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX21hdFNvcnRzJCkge1xuICAgICAgdGhpcy5iaW5kTWF0U29ydHNUb0RhdGFDb250ZXh0VW50aWwodGhpcy5fbWF0U29ydHMkLCBkZXN0cm95JCk7XG4gICAgICB0aGlzLmJpbmREYXRhQ29udGV4dFRvTWF0U29ydHNVbnRpbCh0aGlzLl9tYXRTb3J0cyQsIGRlc3Ryb3kkKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fbWF0UGFnaW5hdG9yJCkge1xuICAgICAgdGhpcy5iaW5kUGFnaW5hdG9yVW50aWwodGhpcy5fbWF0UGFnaW5hdG9yJCwgZGVzdHJveSQpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYmluZERhdGFDb250ZXh0VG9NYXRTb3J0c1VudGlsKG1hdFNvcnRzJDogT2JzZXJ2YWJsZTxNYXRTb3J0W10+LCBkZXN0cm95JDogT2JzZXJ2YWJsZTxhbnk+KTogdm9pZCB7XG5cbiAgICBjb25zdCBkY1NvcnRzJCA9IHRoaXMuX2RhdGFDb250ZXh0JC5waXBlKFxuICAgICAgZmlsdGVyKGRjID0+ICEhZGMpLFxuICAgICAgc3dpdGNoTWFwKGRjID0+IGRjLnNvcnQuc29ydHMpXG4gICAgKTtcblxuICAgIGNvbWJpbmVMYXRlc3QoW2RjU29ydHMkLCBtYXRTb3J0cyRdKS5waXBlKFxuICAgICAgdGFrZVVudGlsKGRlc3Ryb3kkKSxcbiAgICApLnN1YnNjcmliZSgoW2RjU29ydHMsIG1hdFNvcnRzXSkgPT4ge1xuXG4gICAgICBpZiAoZGNTb3J0cy5sZW5ndGggPj0gMSkge1xuICAgICAgICAvLyBBdCBsZWFzdCBvbmUgc29ydCBhY3RpdmVcbiAgICAgICAgY29uc3Qgc29ydCA9IGRjU29ydHNbMF07XG4gICAgICAgIHRoaXMudXBkYXRlTWF0U29ydHMoc29ydCwgbWF0U29ydHMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gTm8gc29ydCBhY3RpdmVcbiAgICAgICAgdGhpcy51cGRhdGVNYXRTb3J0cyhTb3J0Lk5PTkUsIG1hdFNvcnRzKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlTWF0U29ydHMoZGNTb3J0OiBTb3J0LCBtYXRTb3J0czogTWF0U29ydFtdKTogdm9pZCB7XG4gICAgY29uc3QgYWN0aXZlID0gZGNTb3J0LnByb3A7XG4gICAgY29uc3QgZGlyZWN0aW9uID0gdGhpcy50b01hdERpcmVjdGlvbihkY1NvcnQuZGlyKTtcbiAgICBtYXRTb3J0cy5mb3JFYWNoKG1hdFNvcnQgPT4gdGhpcy51cGRhdGVNYXRTb3J0KGFjdGl2ZSwgZGlyZWN0aW9uLCBtYXRTb3J0KSk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZU1hdFNvcnQoXG4gICAgYWN0aXZlUHJvcDogc3RyaW5nLFxuICAgIGRpcmVjdGlvbjogTWF0U29ydERpcmVjdGlvbixcbiAgICBtYXRTb3J0OiBNYXRTb3J0XG4gICk6IHZvaWQge1xuXG4gICAgaWYgKGFjdGl2ZVByb3ApIHtcbiAgICAgIGlmICghbWF0U29ydC5zb3J0YWJsZXMuaGFzKGFjdGl2ZVByb3ApKSB7XG4gICAgICAgIC8vIFRoZSBjdXJyZW50IHNvcnQgcHJvcGVydHkgaXMgbm90IHBhcnQgb2YgdGhpcyBNYXRTb3J0LlxuICAgICAgICBhY3RpdmVQcm9wID0gU29ydC5OT05FLnByb3A7IC8vIEZvcmNlIG5vIHNvcnQgaW4gdGhpcyBtYXQgY29udGV4dFxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChtYXRTb3J0LmFjdGl2ZSAhPT0gYWN0aXZlUHJvcCB8fCBtYXRTb3J0LmRpcmVjdGlvbiAhPT0gZGlyZWN0aW9uKSB7XG4gICAgICAvLyBXZSBkbyBvbmx5IHVwZGF0ZSBtYXRTb3J0IHdoZW4gdGhlcmUgd2FzIGEgcmVhbCBjaGFuZ2VcbiAgICAgIG1hdFNvcnQuYWN0aXZlID0gYWN0aXZlUHJvcDtcbiAgICAgIG1hdFNvcnQuZGlyZWN0aW9uID0gZGlyZWN0aW9uO1xuICAgICAgbWF0U29ydC5fc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgICB9XG4gIH1cblxuXG5cbiAgcHJpdmF0ZSBiaW5kTWF0U29ydHNUb0RhdGFDb250ZXh0VW50aWwoc29ydHMkOiBPYnNlcnZhYmxlPE1hdFNvcnRbXT4sIGRlc3Ryb3kkOiBPYnNlcnZhYmxlPGFueT4pOiB2b2lkIHtcblxuICAgIGNvbnN0IHNvcnRDaGFuZ2VzJCA9IHNvcnRzJC5waXBlKFxuICAgICAgbWVyZ2VNYXAoc29ydHMgPT4gbWVyZ2UoLi4uc29ydHMubWFwKHMgPT4gcy5zb3J0Q2hhbmdlKSkpLFxuICAgICAgbWFwKG1hdFNvcnQgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFNvcnQoXG4gICAgICAgICAgbWF0U29ydC5hY3RpdmUsXG4gICAgICAgICAgdGhpcy5mcm9tTWF0RGlyZWN0aW9uKG1hdFNvcnQuZGlyZWN0aW9uKVxuICAgICAgICApO1xuICAgICAgfSlcbiAgICApO1xuXG4gICAgY29tYmluZUxhdGVzdChbdGhpcy5fZGF0YUNvbnRleHQkLCBzb3J0Q2hhbmdlcyRdKS5waXBlKFxuICAgICAgdGFrZVVudGlsKGRlc3Ryb3kkKSxcbiAgICApLnN1YnNjcmliZSgoW2RjLCBzb3J0UmVxdWVzdF0pID0+IHtcbiAgICAgIGlmIChkYykge1xuICAgICAgICBkYy5zb3J0LnVwZGF0ZVNvcnQoc29ydFJlcXVlc3QpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBiaW5kUGFnaW5hdG9yVW50aWwocGFnaW5hdG9yJDogT2JzZXJ2YWJsZTxNYXRQYWdpbmF0b3I+LCBkZXN0cm95JDogT2JzZXJ2YWJsZTxhbnk+KTogdm9pZCB7XG5cbiAgICBjb25zdCBwYWdlUmVxdWVzdCQgPSBwYWdpbmF0b3IkLnBpcGUoXG4gICAgICBmaWx0ZXIocGFnaW5hdG9yID0+ICEhcGFnaW5hdG9yKSxcbiAgICAgIHN3aXRjaE1hcChwYWdpbmF0b3IgPT4gcGFnaW5hdG9yLnBhZ2UpLFxuICAgICAgbWFwKHBhZ2VFdmVudCA9PiBuZXcgUGFnZVJlcXVlc3QocGFnZUV2ZW50LnBhZ2VJbmRleCwgcGFnZUV2ZW50LnBhZ2VTaXplKSlcbiAgICApO1xuXG4gICAgY29tYmluZUxhdGVzdChbdGhpcy5fZGF0YUNvbnRleHQkLCBwYWdlUmVxdWVzdCRdKS5waXBlKFxuICAgICAgdGFrZVVudGlsKGRlc3Ryb3kkKSxcbiAgICApLnN1YnNjcmliZSgoW2RjLCBwYWdlUmVxdWVzdF0pID0+IHtcbiAgICAgIGlmIChkYykge1xuICAgICAgICBpZiAoaXNBY3RpdmVQYWdlZERhdGFDb250ZXh0KGRjKSkge1xuICAgICAgICAgIGNvbnN0IHBhZ2VkRGMgPSBkYyBhcyBJRGF0YUNvbnRleHRBY3RpdmVQYWdlPGFueT47XG4gICAgICAgICAgcGFnZWREYy5zZXRBY3RpdmVQYWdlKHBhZ2VSZXF1ZXN0KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmxvZ2dlci53YXJuKCdDYW4gbm90IGJpbmQgdGhlIGdpdmVuIHBhZ2luYXRvciB0byB0aGUgZ2l2ZW4gZGF0YS1jb250ZXh0LCcgK1xuICAgICAgICAgICAgJyBhcyB0aGUgZGF0YWNvbnRleHQgZG9lcyBub3Qgc3VwcG9ydCBwYWdpbmF0aW9uIScsIGRjKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSB0b01hdERpcmVjdGlvbihkaXJlY3Rpb246IFNvcnREaXJlY3Rpb24pOiBNYXRTb3J0RGlyZWN0aW9uIHtcbiAgICByZXR1cm4gZGlyZWN0aW9uO1xuICB9XG5cbiAgcHJpdmF0ZSBmcm9tTWF0RGlyZWN0aW9uKG1hdFNvcnREaXJlY3Rpb246IE1hdFNvcnREaXJlY3Rpb24pOiBTb3J0RGlyZWN0aW9uIHtcbiAgICByZXR1cm4gbWF0U29ydERpcmVjdGlvbjtcbiAgfVxufVxuIl19
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0LXRhYmxlLWRhdGEtY29udGV4dC1iaW5kaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL2RhdGEvZGF0YS1jb250ZXh0L21hdC10YWJsZS1kYXRhLWNvbnRleHQtYmluZGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQXVDLHdCQUF3QixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUYsT0FBTyxFQUFDLGFBQWEsRUFBRSxLQUFLLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFDdEQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0UsT0FBTyxFQUFDLElBQUksRUFBZ0IsTUFBTSxTQUFTLENBQUM7QUFDNUMsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLFNBQVMsQ0FBQztBQUdwQyxNQUFNLE9BQU8saUNBQWlDO0lBYzVDOzs7O2dGQUk0RTtJQUVyRSxNQUFNLENBQUMsS0FBSyxDQUFDLFlBQTJDO1FBQzdELE9BQU8sSUFBSSxpQ0FBaUMsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsWUFBWSxZQUEyQztRQXRCdkQ7Ozs7b0ZBSTRFO1FBRTNELFdBQU0sR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFpQnZFLElBQUksQ0FBQyxhQUFhLEdBQUcsWUFBWSxDQUFDO0lBQ3BDLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFckUsU0FBUyxDQUFDLE1BQTZCO1FBQzVDLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1FBQ3RCLE9BQU8sSUFB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QUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TWF0UGFnaW5hdG9yfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xuaW1wb3J0IHtNYXRTb3J0LCBTb3J0RGlyZWN0aW9uIGFzIE1hdFNvcnREaXJlY3Rpb259IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NvcnQnO1xuaW1wb3J0IHtJRGF0YUNvbnRleHQsIElEYXRhQ29udGV4dEFjdGl2ZVBhZ2UsIGlzQWN0aXZlUGFnZWREYXRhQ29udGV4dH0gZnJvbSAnLi9kYXRhLWNvbnRleHQnO1xuaW1wb3J0IHtjb21iaW5lTGF0ZXN0LCBtZXJnZSwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0xvZ2dlckZhY3Rvcnl9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJztcbmltcG9ydCB7ZmlsdGVyLCBtYXAsIG1lcmdlTWFwLCBzd2l0Y2hNYXAsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtTb3J0LCBTb3J0RGlyZWN0aW9ufSBmcm9tICcuLi9zb3J0JztcbmltcG9ydCB7UGFnZVJlcXVlc3R9IGZyb20gJy4uL3BhZ2UnO1xuXG5cbmV4cG9ydCBjbGFzcyBNYXRUYWJsZURhdGFDb250ZXh0QmluZGluZ0J1aWxkZXIge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcblxuICBwcml2YXRlIF9kYXRhQ29udGV4dCQ6IE9ic2VydmFibGU8SURhdGFDb250ZXh0PGFueT4+O1xuICBwcml2YXRlIF9zb3J0cyQ6IE9ic2VydmFibGU8TWF0U29ydFtdPjtcbiAgcHJpdmF0ZSBfbWF0UGFnaW5hdG9yJDogT2JzZXJ2YWJsZTxNYXRQYWdpbmF0b3I+O1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBTdGF0aWMgQnVpbGRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBzdGF0aWMgc3RhcnQoZGF0YUNvbnRleHQkOiBPYnNlcnZhYmxlPElEYXRhQ29udGV4dDxhbnk+Pik6IE1hdFRhYmxlRGF0YUNvbnRleHRCaW5kaW5nQnVpbGRlciB7XG4gICAgcmV0dXJuIG5ldyBNYXRUYWJsZURhdGFDb250ZXh0QmluZGluZ0J1aWxkZXIoZGF0YUNvbnRleHQkKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKGRhdGFDb250ZXh0JDogT2JzZXJ2YWJsZTxJRGF0YUNvbnRleHQ8YW55Pj4pIHtcbiAgICB0aGlzLl9kYXRhQ29udGV4dCQgPSBkYXRhQ29udGV4dCQ7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgd2l0aFNvcnRzKHNvcnRzJDogT2JzZXJ2YWJsZTxNYXRTb3J0W10+KTogdGhpcyB7XG4gICAgdGhpcy5fc29ydHMkID0gc29ydHMkO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHdpdGhQYWdpbmF0b3IocGFnaW5hdG9yJDogT2JzZXJ2YWJsZTxNYXRQYWdpbmF0b3I+KTogdGhpcyB7XG4gICAgdGhpcy5fbWF0UGFnaW5hdG9yJCA9IHBhZ2luYXRvciQ7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgYmluZFVudGlsKGRlc3Ryb3kkOiBPYnNlcnZhYmxlPGFueT4pOiBNYXRUYWJsZURhdGFDb250ZXh0QmluZGluZyB7XG4gICAgcmV0dXJuIG5ldyBNYXRUYWJsZURhdGFDb250ZXh0QmluZGluZyhcbiAgICAgIHRoaXMuX2RhdGFDb250ZXh0JCxcbiAgICAgIHRoaXMuX3NvcnRzJCxcbiAgICAgIHRoaXMuX21hdFBhZ2luYXRvciQsXG4gICAgICBkZXN0cm95JFxuICAgICk7XG4gIH1cblxufVxuXG5leHBvcnQgY2xhc3MgTWF0VGFibGVEYXRhQ29udGV4dEJpbmRpbmcge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kYXRhQ29udGV4dCQ6IE9ic2VydmFibGU8SURhdGFDb250ZXh0PGFueT4+LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX21hdFNvcnRzJDogT2JzZXJ2YWJsZTxNYXRTb3J0W10+IHwgbnVsbCxcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9tYXRQYWdpbmF0b3IkOiBPYnNlcnZhYmxlPE1hdFBhZ2luYXRvcj4gfCBudWxsLFxuICAgIGRlc3Ryb3kkOiBPYnNlcnZhYmxlPGFueT5cbiAgKSB7XG4gICAgdGhpcy5zdWJzY3JpYmVVbnRpbChkZXN0cm95JCk7XG4gIH1cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBzdWJzY3JpYmVVbnRpbChkZXN0cm95JDogT2JzZXJ2YWJsZTxhbnk+KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX21hdFNvcnRzJCkge1xuICAgICAgdGhpcy5iaW5kTWF0U29ydHNUb0RhdGFDb250ZXh0VW50aWwodGhpcy5fbWF0U29ydHMkLCBkZXN0cm95JCk7XG4gICAgICB0aGlzLmJpbmREYXRhQ29udGV4dFRvTWF0U29ydHNVbnRpbCh0aGlzLl9tYXRTb3J0cyQsIGRlc3Ryb3kkKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fbWF0UGFnaW5hdG9yJCkge1xuICAgICAgdGhpcy5iaW5kUGFnaW5hdG9yVW50aWwodGhpcy5fbWF0UGFnaW5hdG9yJCwgZGVzdHJveSQpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYmluZERhdGFDb250ZXh0VG9NYXRTb3J0c1VudGlsKG1hdFNvcnRzJDogT2JzZXJ2YWJsZTxNYXRTb3J0W10+LCBkZXN0cm95JDogT2JzZXJ2YWJsZTxhbnk+KTogdm9pZCB7XG5cbiAgICBjb25zdCBkY1NvcnRzJCA9IHRoaXMuX2RhdGFDb250ZXh0JC5waXBlKFxuICAgICAgZmlsdGVyKGRjID0+ICEhZGMpLFxuICAgICAgc3dpdGNoTWFwKGRjID0+IGRjLnNvcnQuc29ydHMpXG4gICAgKTtcblxuICAgIGNvbWJpbmVMYXRlc3QoW2RjU29ydHMkLCBtYXRTb3J0cyRdKS5waXBlKFxuICAgICAgdGFrZVVudGlsKGRlc3Ryb3kkKSxcbiAgICApLnN1YnNjcmliZSgoW2RjU29ydHMsIG1hdFNvcnRzXSkgPT4ge1xuXG4gICAgICBpZiAoZGNTb3J0cy5sZW5ndGggPj0gMSkge1xuICAgICAgICAvLyBBdCBsZWFzdCBvbmUgc29ydCBhY3RpdmVcbiAgICAgICAgY29uc3Qgc29ydCA9IGRjU29ydHNbMF07XG4gICAgICAgIHRoaXMudXBkYXRlTWF0U29ydHMoc29ydCwgbWF0U29ydHMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gTm8gc29ydCBhY3RpdmVcbiAgICAgICAgdGhpcy51cGRhdGVNYXRTb3J0cyhTb3J0Lk5PTkUsIG1hdFNvcnRzKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlTWF0U29ydHMoZGNTb3J0OiBTb3J0LCBtYXRTb3J0czogTWF0U29ydFtdKTogdm9pZCB7XG4gICAgY29uc3QgYWN0aXZlID0gZGNTb3J0LnByb3A7XG4gICAgY29uc3QgZGlyZWN0aW9uID0gdGhpcy50b01hdERpcmVjdGlvbihkY1NvcnQuZGlyKTtcbiAgICBtYXRTb3J0cy5mb3JFYWNoKG1hdFNvcnQgPT4gdGhpcy51cGRhdGVNYXRTb3J0KGFjdGl2ZSwgZGlyZWN0aW9uLCBtYXRTb3J0KSk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZU1hdFNvcnQoXG4gICAgYWN0aXZlUHJvcDogc3RyaW5nLFxuICAgIGRpcmVjdGlvbjogTWF0U29ydERpcmVjdGlvbixcbiAgICBtYXRTb3J0OiBNYXRTb3J0XG4gICk6IHZvaWQge1xuXG4gICAgaWYgKGFjdGl2ZVByb3ApIHtcbiAgICAgIGlmICghbWF0U29ydC5zb3J0YWJsZXMuaGFzKGFjdGl2ZVByb3ApKSB7XG4gICAgICAgIC8vIFRoZSBjdXJyZW50IHNvcnQgcHJvcGVydHkgaXMgbm90IHBhcnQgb2YgdGhpcyBNYXRTb3J0LlxuICAgICAgICBhY3RpdmVQcm9wID0gU29ydC5OT05FLnByb3A7IC8vIEZvcmNlIG5vIHNvcnQgaW4gdGhpcyBtYXQgY29udGV4dFxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChtYXRTb3J0LmFjdGl2ZSAhPT0gYWN0aXZlUHJvcCB8fCBtYXRTb3J0LmRpcmVjdGlvbiAhPT0gZGlyZWN0aW9uKSB7XG4gICAgICAvLyBXZSBkbyBvbmx5IHVwZGF0ZSBtYXRTb3J0IHdoZW4gdGhlcmUgd2FzIGEgcmVhbCBjaGFuZ2VcbiAgICAgIG1hdFNvcnQuYWN0aXZlID0gYWN0aXZlUHJvcDtcbiAgICAgIG1hdFNvcnQuZGlyZWN0aW9uID0gZGlyZWN0aW9uO1xuICAgICAgbWF0U29ydC5fc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgICB9XG4gIH1cblxuXG5cbiAgcHJpdmF0ZSBiaW5kTWF0U29ydHNUb0RhdGFDb250ZXh0VW50aWwoc29ydHMkOiBPYnNlcnZhYmxlPE1hdFNvcnRbXT4sIGRlc3Ryb3kkOiBPYnNlcnZhYmxlPGFueT4pOiB2b2lkIHtcblxuICAgIGNvbnN0IHNvcnRDaGFuZ2VzJCA9IHNvcnRzJC5waXBlKFxuICAgICAgbWVyZ2VNYXAoc29ydHMgPT4gbWVyZ2UoLi4uc29ydHMubWFwKHMgPT4gcy5zb3J0Q2hhbmdlKSkpLFxuICAgICAgbWFwKG1hdFNvcnQgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFNvcnQoXG4gICAgICAgICAgbWF0U29ydC5hY3RpdmUsXG4gICAgICAgICAgdGhpcy5mcm9tTWF0RGlyZWN0aW9uKG1hdFNvcnQuZGlyZWN0aW9uKVxuICAgICAgICApO1xuICAgICAgfSlcbiAgICApO1xuXG4gICAgY29tYmluZUxhdGVzdChbdGhpcy5fZGF0YUNvbnRleHQkLCBzb3J0Q2hhbmdlcyRdKS5waXBlKFxuICAgICAgdGFrZVVudGlsKGRlc3Ryb3kkKSxcbiAgICApLnN1YnNjcmliZSgoW2RjLCBzb3J0UmVxdWVzdF0pID0+IHtcbiAgICAgIGlmIChkYykge1xuICAgICAgICBkYy5zb3J0LnVwZGF0ZVNvcnQoc29ydFJlcXVlc3QpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBiaW5kUGFnaW5hdG9yVW50aWwocGFnaW5hdG9yJDogT2JzZXJ2YWJsZTxNYXRQYWdpbmF0b3I+LCBkZXN0cm95JDogT2JzZXJ2YWJsZTxhbnk+KTogdm9pZCB7XG5cbiAgICBjb25zdCBwYWdlUmVxdWVzdCQgPSBwYWdpbmF0b3IkLnBpcGUoXG4gICAgICBmaWx0ZXIocGFnaW5hdG9yID0+ICEhcGFnaW5hdG9yKSxcbiAgICAgIHN3aXRjaE1hcChwYWdpbmF0b3IgPT4gcGFnaW5hdG9yLnBhZ2UpLFxuICAgICAgbWFwKHBhZ2VFdmVudCA9PiBuZXcgUGFnZVJlcXVlc3QocGFnZUV2ZW50LnBhZ2VJbmRleCwgcGFnZUV2ZW50LnBhZ2VTaXplKSlcbiAgICApO1xuXG4gICAgY29tYmluZUxhdGVzdChbdGhpcy5fZGF0YUNvbnRleHQkLCBwYWdlUmVxdWVzdCRdKS5waXBlKFxuICAgICAgdGFrZVVudGlsKGRlc3Ryb3kkKSxcbiAgICApLnN1YnNjcmliZSgoW2RjLCBwYWdlUmVxdWVzdF0pID0+IHtcbiAgICAgIGlmIChkYykge1xuICAgICAgICBpZiAoaXNBY3RpdmVQYWdlZERhdGFDb250ZXh0KGRjKSkge1xuICAgICAgICAgIGNvbnN0IHBhZ2VkRGMgPSBkYyBhcyBJRGF0YUNvbnRleHRBY3RpdmVQYWdlPGFueT47XG4gICAgICAgICAgcGFnZWREYy5zZXRBY3RpdmVQYWdlKHBhZ2VSZXF1ZXN0KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmxvZ2dlci53YXJuKCdDYW4gbm90IGJpbmQgdGhlIGdpdmVuIHBhZ2luYXRvciB0byB0aGUgZ2l2ZW4gZGF0YS1jb250ZXh0LCcgK1xuICAgICAgICAgICAgJyBhcyB0aGUgZGF0YWNvbnRleHQgZG9lcyBub3Qgc3VwcG9ydCBwYWdpbmF0aW9uIScsIGRjKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSB0b01hdERpcmVjdGlvbihkaXJlY3Rpb246IFNvcnREaXJlY3Rpb24pOiBNYXRTb3J0RGlyZWN0aW9uIHtcbiAgICByZXR1cm4gZGlyZWN0aW9uO1xuICB9XG5cbiAgcHJpdmF0ZSBmcm9tTWF0RGlyZWN0aW9uKG1hdFNvcnREaXJlY3Rpb246IE1hdFNvcnREaXJlY3Rpb24pOiBTb3J0RGlyZWN0aW9uIHtcbiAgICByZXR1cm4gbWF0U29ydERpcmVjdGlvbjtcbiAgfVxufVxuIl19
@@ -52,4 +52,4 @@ export class DataSourceAdapter {
52
52
  }
53
53
  }
54
54
  }
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2UtYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9kYXRhL2RhdGFzb3VyY2UvZGF0YS1zb3VyY2UtYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsdUJBQXVCLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFJeEcsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLFNBQVMsQ0FBQztBQUNqQyxPQUFPLEVBQUMsTUFBTSxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBRXpELE1BQU0sT0FBTyxpQkFBaUI7SUFFNUI7Ozs7Z0ZBSTRFO0lBRXJFLE1BQU0sQ0FBQyxJQUFJLENBQUksVUFBMEI7UUFDOUMsT0FBTyxJQUFJLGlCQUFpQixDQUFJLFVBQVUsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRDs7OztnRkFJNEU7SUFHNUU7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ21CLFVBQTBCO1FBQTFCLGVBQVUsR0FBVixVQUFVLENBQWdCO0lBRzdDLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFNUU7Ozs7T0FJRztJQUNJLFNBQVMsQ0FDZCxPQUFpQixFQUNqQixRQUFnQixFQUFFO1FBRWxCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDekMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUN6QyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDckIsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNJLE9BQU8sQ0FDWixPQUFpQixFQUNqQixRQUFnQixFQUFFLEVBQ2xCLEtBQUssR0FBRyxFQUFFO1FBRVYsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDckMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FDcEMsT0FBTyxFQUNQLEtBQUssQ0FDTixDQUFDO1NBQ0g7YUFBTSxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUM3QyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUNqQyxJQUFJLFFBQVEsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUM3QixPQUFPLENBQ1IsQ0FBQyxJQUFJLENBQ0osR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUMxQixDQUFDO1NBQ0g7YUFBTSxJQUFJLHVCQUF1QixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUNuRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsa0JBQWtCLENBQ3ZDLElBQUksaUJBQWlCLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FDNUMsQ0FBQyxJQUFJLENBQ0osR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUMxQixDQUFDO1NBQ0g7SUFDSCxDQUFDO0NBUUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0lEYXRhU291cmNlLCBpc0NvbnRpbnVhYmxlRGF0YVNvdXJjZSwgaXNMaXN0RGF0YVNvdXJjZSwgaXNQYWdlZERhdGFTb3VyY2V9IGZyb20gJy4vZGF0YS1zb3VyY2UnO1xuaW1wb3J0IHtFTVBUWSwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0ZpbHRlcn0gZnJvbSAnLi4vZmlsdGVycy9maWx0ZXInO1xuaW1wb3J0IHtTb3J0fSBmcm9tICcuLi9zb3J0JztcbmltcG9ydCB7UGFnZWFibGV9IGZyb20gJy4uL3BhZ2UnO1xuaW1wb3J0IHtmaWx0ZXIsIG1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtUb2tlbkNodW5rUmVxdWVzdH0gZnJvbSAnLi4vdG9rZW4tY2h1bmstcmVxdWVzdCc7XG5cbmV4cG9ydCBjbGFzcyBEYXRhU291cmNlQWRhcHRlcjxUPiB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFN0YXRpYyBCdWlsZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIHN0YXRpYyBmcm9tPFQ+KGRhdGFTb3VyY2U6IElEYXRhU291cmNlPFQ+KTogRGF0YVNvdXJjZUFkYXB0ZXI8VD4ge1xuICAgIHJldHVybiBuZXcgRGF0YVNvdXJjZUFkYXB0ZXI8VD4oZGF0YVNvdXJjZSk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGF0YVNvdXJjZTogSURhdGFTb3VyY2U8VD4sXG4gICkge1xuXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgZmlyc3QgaXRlbSB3aGljaCBtYXRjaGVzIHRoZSBnaXZlbiBmaWx0ZXIgLyBzb3J0XG4gICAqIEBwYXJhbSBmaWx0ZXJzXG4gICAqIEBwYXJhbSBzb3J0c1xuICAgKi9cbiAgcHVibGljIGZpbmRGaXJzdChcbiAgICBmaWx0ZXJzOiBGaWx0ZXJbXSxcbiAgICBzb3J0czogU29ydFtdID0gW11cbiAgKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMuZmluZEFsbChmaWx0ZXJzLCBzb3J0cywgMSkucGlwZShcbiAgICAgIGZpbHRlcihkYXRhID0+IChkYXRhICYmIGRhdGEubGVuZ3RoID4gMCkpLFxuICAgICAgbWFwKGRhdGEgPT4gZGF0YVswXSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbmQgYWxsIGl0ZW1zIHdoaWNoIG1hdGNoIHRoZSBnaXZlbiBmaWx0ZXJzLlxuICAgKi9cbiAgcHVibGljIGZpbmRBbGwoXG4gICAgZmlsdGVyczogRmlsdGVyW10sXG4gICAgc29ydHM6IFNvcnRbXSA9IFtdLFxuICAgIGxpbWl0ID0gNTBcbiAgKTogT2JzZXJ2YWJsZTxUW10+IHtcbiAgICBpZiAoaXNMaXN0RGF0YVNvdXJjZSh0aGlzLmRhdGFTb3VyY2UpKSB7XG4gICAgICByZXR1cm4gdGhpcy5kYXRhU291cmNlLmZpbmRBbGxGaWx0ZXJlZChcbiAgICAgICAgZmlsdGVycyxcbiAgICAgICAgc29ydHNcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmIChpc1BhZ2VkRGF0YVNvdXJjZSh0aGlzLmRhdGFTb3VyY2UpKSB7XG4gICAgICByZXR1cm4gdGhpcy5kYXRhU291cmNlLmZpbmRBbGxQYWdlZChcbiAgICAgICAgbmV3IFBhZ2VhYmxlKDAsIGxpbWl0LCBzb3J0cyksXG4gICAgICAgIGZpbHRlcnNcbiAgICAgICkucGlwZShcbiAgICAgICAgbWFwKHBhZ2UgPT4gcGFnZS5jb250ZW50KVxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKGlzQ29udGludWFibGVEYXRhU291cmNlKHRoaXMuZGF0YVNvdXJjZSkpIHtcbiAgICAgIHJldHVybiB0aGlzLmRhdGFTb3VyY2UuZmluZEFsbENvbnRpbnVhYmxlKFxuICAgICAgICBuZXcgVG9rZW5DaHVua1JlcXVlc3QobnVsbCwgZmlsdGVycywgc29ydHMpXG4gICAgICApLnBpcGUoXG4gICAgICAgIG1hcChwYWdlID0+IHBhZ2UuY29udGVudClcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbn1cbiJdfQ==
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2UtYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9kYXRhL2RhdGFzb3VyY2UvZGF0YS1zb3VyY2UtYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsdUJBQXVCLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFJeEcsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLFNBQVMsQ0FBQztBQUNqQyxPQUFPLEVBQUMsTUFBTSxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBRXpELE1BQU0sT0FBTyxpQkFBaUI7SUFFNUI7Ozs7Z0ZBSTRFO0lBRXJFLE1BQU0sQ0FBQyxJQUFJLENBQUksVUFBMEI7UUFDOUMsT0FBTyxJQUFJLGlCQUFpQixDQUFJLFVBQVUsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRDs7OztnRkFJNEU7SUFHNUU7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ21CLFVBQTBCO1FBQTFCLGVBQVUsR0FBVixVQUFVLENBQWdCO0lBRzdDLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFNUU7Ozs7T0FJRztJQUNJLFNBQVMsQ0FDZCxPQUFpQixFQUNqQixRQUFnQixFQUFFO1FBRWxCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDekMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUN6QyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDckIsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNJLE9BQU8sQ0FDWixPQUFpQixFQUNqQixRQUFnQixFQUFFLEVBQ2xCLEtBQUssR0FBRyxFQUFFO1FBRVYsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDckMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FDcEMsT0FBTyxFQUNQLEtBQUssQ0FDTixDQUFDO1NBQ0g7YUFBTSxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUM3QyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUNqQyxJQUFJLFFBQVEsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUM3QixPQUFPLENBQ1IsQ0FBQyxJQUFJLENBQ0osR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUMxQixDQUFDO1NBQ0g7YUFBTSxJQUFJLHVCQUF1QixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUNuRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsa0JBQWtCLENBQ3ZDLElBQUksaUJBQWlCLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FDNUMsQ0FBQyxJQUFJLENBQ0osR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUMxQixDQUFDO1NBQ0g7SUFDSCxDQUFDO0NBUUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0lEYXRhU291cmNlLCBpc0NvbnRpbnVhYmxlRGF0YVNvdXJjZSwgaXNMaXN0RGF0YVNvdXJjZSwgaXNQYWdlZERhdGFTb3VyY2V9IGZyb20gJy4vZGF0YS1zb3VyY2UnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7RmlsdGVyfSBmcm9tICcuLi9maWx0ZXJzL2ZpbHRlcic7XG5pbXBvcnQge1NvcnR9IGZyb20gJy4uL3NvcnQnO1xuaW1wb3J0IHtQYWdlYWJsZX0gZnJvbSAnLi4vcGFnZSc7XG5pbXBvcnQge2ZpbHRlciwgbWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1Rva2VuQ2h1bmtSZXF1ZXN0fSBmcm9tICcuLi90b2tlbi1jaHVuay1yZXF1ZXN0JztcblxuZXhwb3J0IGNsYXNzIERhdGFTb3VyY2VBZGFwdGVyPFQ+IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogU3RhdGljIEJ1aWxkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgc3RhdGljIGZyb208VD4oZGF0YVNvdXJjZTogSURhdGFTb3VyY2U8VD4pOiBEYXRhU291cmNlQWRhcHRlcjxUPiB7XG4gICAgcmV0dXJuIG5ldyBEYXRhU291cmNlQWRhcHRlcjxUPihkYXRhU291cmNlKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBkYXRhU291cmNlOiBJRGF0YVNvdXJjZTxUPixcbiAgKSB7XG5cbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBmaXJzdCBpdGVtIHdoaWNoIG1hdGNoZXMgdGhlIGdpdmVuIGZpbHRlciAvIHNvcnRcbiAgICogQHBhcmFtIGZpbHRlcnNcbiAgICogQHBhcmFtIHNvcnRzXG4gICAqL1xuICBwdWJsaWMgZmluZEZpcnN0KFxuICAgIGZpbHRlcnM6IEZpbHRlcltdLFxuICAgIHNvcnRzOiBTb3J0W10gPSBbXVxuICApOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICByZXR1cm4gdGhpcy5maW5kQWxsKGZpbHRlcnMsIHNvcnRzLCAxKS5waXBlKFxuICAgICAgZmlsdGVyKGRhdGEgPT4gKGRhdGEgJiYgZGF0YS5sZW5ndGggPiAwKSksXG4gICAgICBtYXAoZGF0YSA9PiBkYXRhWzBdKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRmluZCBhbGwgaXRlbXMgd2hpY2ggbWF0Y2ggdGhlIGdpdmVuIGZpbHRlcnMuXG4gICAqL1xuICBwdWJsaWMgZmluZEFsbChcbiAgICBmaWx0ZXJzOiBGaWx0ZXJbXSxcbiAgICBzb3J0czogU29ydFtdID0gW10sXG4gICAgbGltaXQgPSA1MFxuICApOiBPYnNlcnZhYmxlPFRbXT4ge1xuICAgIGlmIChpc0xpc3REYXRhU291cmNlKHRoaXMuZGF0YVNvdXJjZSkpIHtcbiAgICAgIHJldHVybiB0aGlzLmRhdGFTb3VyY2UuZmluZEFsbEZpbHRlcmVkKFxuICAgICAgICBmaWx0ZXJzLFxuICAgICAgICBzb3J0c1xuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKGlzUGFnZWREYXRhU291cmNlKHRoaXMuZGF0YVNvdXJjZSkpIHtcbiAgICAgIHJldHVybiB0aGlzLmRhdGFTb3VyY2UuZmluZEFsbFBhZ2VkKFxuICAgICAgICBuZXcgUGFnZWFibGUoMCwgbGltaXQsIHNvcnRzKSxcbiAgICAgICAgZmlsdGVyc1xuICAgICAgKS5waXBlKFxuICAgICAgICBtYXAocGFnZSA9PiBwYWdlLmNvbnRlbnQpXG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAoaXNDb250aW51YWJsZURhdGFTb3VyY2UodGhpcy5kYXRhU291cmNlKSkge1xuICAgICAgcmV0dXJuIHRoaXMuZGF0YVNvdXJjZS5maW5kQWxsQ29udGludWFibGUoXG4gICAgICAgIG5ldyBUb2tlbkNodW5rUmVxdWVzdChudWxsLCBmaWx0ZXJzLCBzb3J0cylcbiAgICAgICkucGlwZShcbiAgICAgICAgbWFwKHBhZ2UgPT4gcGFnZS5jb250ZW50KVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxufVxuIl19
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2UtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9kYXRhL2RhdGFzb3VyY2UvZGF0YS1zb3VyY2UtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQWEsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUU5QyxNQUFNLE9BQWdCLGNBQWM7SUFVbEM7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ3FCLFVBQXlCO1FBQXpCLGVBQVUsR0FBVixVQUFVLENBQWU7UUFmOUM7Ozs7b0ZBSTRFO1FBRTNELHNCQUFpQixHQUFHLElBQUksT0FBTyxFQUE0QixDQUFDO0lBVzdFLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFNUUsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQy9DLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFckUsa0JBQWtCLENBQUMsQ0FBMkI7UUFDbkQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRU0sS0FBSyxDQUFDLE1BQVM7UUFDcEIsT0FBTyxZQUFZLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDckQsQ0FBQztDQVlGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJRGF0YVNvdXJjZX0gZnJvbSAnLi9kYXRhLXNvdXJjZSc7XG5pbXBvcnQge0RhdGFTb3VyY2VDaGFuZ2VFdmVudH0gZnJvbSAnLi9kYXRhLXNvdXJjZS1jaGFuZ2UtZXZlbnQnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7RW50aXR5SWRVdGlsfSBmcm9tICcuL2VudGl0eS1pZC11dGlsJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIERhdGFTb3VyY2VCYXNlPFQ+IGltcGxlbWVudHMgSURhdGFTb3VyY2U8VD4ge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZGF0YUNoYW5nZUV2ZW50cyQgPSBuZXcgU3ViamVjdDxEYXRhU291cmNlQ2hhbmdlRXZlbnQ8VD4+KCk7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGlkUHJvcGVydHk6IHN0cmluZyB8IG51bGxcbiAgKSB7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgZ2V0IGRhdGFDaGFuZ2VkKCk6IE9ic2VydmFibGU8RGF0YVNvdXJjZUNoYW5nZUV2ZW50PFQ+PiB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YUNoYW5nZUV2ZW50cyQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgcHVibGlzaENoYW5nZUV2ZW50KGU6IERhdGFTb3VyY2VDaGFuZ2VFdmVudDxUPik6IHZvaWQge1xuICAgIHRoaXMuZGF0YUNoYW5nZUV2ZW50cyQubmV4dChlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRJZChlbnRpdHk6IFQpOiBhbnkge1xuICAgIHJldHVybiBFbnRpdHlJZFV0aWwuZ2V0SWQoZW50aXR5LCB0aGlzLmlkUHJvcGVydHkpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEFic3RyYWN0IG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgYWJzdHJhY3QgZmluZEJ5SWQoaWQ6IGFueSk6IE9ic2VydmFibGU8VD47XG5cbiAgYWJzdHJhY3QgZmluZEJ5SWRzKGlkczogYW55W10pOiBPYnNlcnZhYmxlPFRbXT47XG5cbn1cbiJdfQ==
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2UtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9kYXRhL2RhdGFzb3VyY2UvZGF0YS1zb3VyY2UtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQWEsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUU5QyxNQUFNLE9BQWdCLGNBQWM7SUFVbEM7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ3FCLFVBQXlCO1FBQXpCLGVBQVUsR0FBVixVQUFVLENBQWU7UUFmOUM7Ozs7b0ZBSTRFO1FBRTNELHNCQUFpQixHQUFHLElBQUksT0FBTyxFQUE0QixDQUFDO0lBVTFFLENBQUM7SUFFSjs7OztnRkFJNEU7SUFFNUUsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQy9DLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFckUsa0JBQWtCLENBQUMsQ0FBMkI7UUFDbkQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRU0sS0FBSyxDQUFDLE1BQVM7UUFDcEIsT0FBTyxZQUFZLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDckQsQ0FBQztDQVlGIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQge0lEYXRhU291cmNlfSBmcm9tICcuL2RhdGEtc291cmNlJztcbmltcG9ydCB7RGF0YVNvdXJjZUNoYW5nZUV2ZW50fSBmcm9tICcuL2RhdGEtc291cmNlLWNoYW5nZS1ldmVudCc7XG5pbXBvcnQge09ic2VydmFibGUsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtFbnRpdHlJZFV0aWx9IGZyb20gJy4vZW50aXR5LWlkLXV0aWwnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGF0YVNvdXJjZUJhc2U8VD4gaW1wbGVtZW50cyBJRGF0YVNvdXJjZTxUPiB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBkYXRhQ2hhbmdlRXZlbnRzJCA9IG5ldyBTdWJqZWN0PERhdGFTb3VyY2VDaGFuZ2VFdmVudDxUPj4oKTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaWRQcm9wZXJ0eTogc3RyaW5nIHwgbnVsbFxuICApIHt9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGdldCBkYXRhQ2hhbmdlZCgpOiBPYnNlcnZhYmxlPERhdGFTb3VyY2VDaGFuZ2VFdmVudDxUPj4ge1xuICAgIHJldHVybiB0aGlzLmRhdGFDaGFuZ2VFdmVudHMkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIHB1Ymxpc2hDaGFuZ2VFdmVudChlOiBEYXRhU291cmNlQ2hhbmdlRXZlbnQ8VD4pOiB2b2lkIHtcbiAgICB0aGlzLmRhdGFDaGFuZ2VFdmVudHMkLm5leHQoZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0SWQoZW50aXR5OiBUKTogYW55IHtcbiAgICByZXR1cm4gRW50aXR5SWRVdGlsLmdldElkKGVudGl0eSwgdGhpcy5pZFByb3BlcnR5KTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBBYnN0cmFjdCBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGFic3RyYWN0IGZpbmRCeUlkKGlkOiBhbnkpOiBPYnNlcnZhYmxlPFQ+O1xuXG4gIGFic3RyYWN0IGZpbmRCeUlkcyhpZHM6IGFueVtdKTogT2JzZXJ2YWJsZTxUW10+O1xuXG59XG4iXX0=
@@ -93,8 +93,8 @@ export class LocalListDataSource extends DataSourceBase {
93
93
  }
94
94
  deleteAllById(idsToDelete) {
95
95
  if (idsToDelete?.length > 0) {
96
- let existing = this.data;
97
- let idsToDeleteSet = new Set(idsToDelete);
96
+ const existing = this.data;
97
+ const idsToDeleteSet = new Set(idsToDelete);
98
98
  this.silentReplaceData(existing.filter(e => !idsToDeleteSet.has(this.getId(e))));
99
99
  this.publishChangeEvent(DataSourceChangeEvent.deleted(idsToDelete));
100
100
  }
@@ -104,7 +104,7 @@ export class LocalListDataSource extends DataSourceBase {
104
104
  }
105
105
  save(entity) {
106
106
  const id = this.getId(entity);
107
- let newData = [...this.data];
107
+ const newData = [...this.data];
108
108
  const existingIndex = newData.findIndex(entity => this.getId(entity) === id);
109
109
  let created = false;
110
110
  if (existingIndex == -1) {
@@ -144,4 +144,4 @@ export class LocalListDataSource extends DataSourceBase {
144
144
  return null; // Use value as id if scalar
145
145
  }
146
146
  }
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtbGlzdC1kYXRhLXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9kYXRhL2RhdGFzb3VyY2UvbG9jYWwvbG9jYWwtbGlzdC1kYXRhLXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUMsZUFBZSxFQUFFLFFBQVEsRUFBYyxFQUFFLEVBQUUsVUFBVSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzNFLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuQyxPQUFPLEVBQVMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDM0QsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDbEUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBR25ELE1BQU0sT0FBTyxtQkFBdUIsU0FBUSxjQUFpQjtJQWUzRDs7OztnRkFJNEU7SUFFNUU7Ozs7OztPQU1HO0lBQ0ksTUFBTSxDQUFDLEtBQUssQ0FDakIsVUFBeUIsRUFDekIsU0FBK0MsRUFDL0MsV0FBcUQ7UUFFckQsT0FBTyxtQkFBbUIsQ0FBQyxJQUFJLENBQzdCLEVBQUUsRUFDRixVQUFVLEVBQ1YsU0FBUyxFQUNULFdBQVcsQ0FDWixDQUFDO0lBQ0osQ0FBQztJQUVNLE1BQU0sQ0FBQyxJQUFJLENBQ2hCLFNBQWMsRUFDZCxVQUF5QixFQUN6QixTQUErQyxFQUMvQyxXQUFxRDtRQUdyRCxPQUFPLElBQUksbUJBQW1CLENBQzVCLFNBQVMsRUFDVCxTQUFTLEVBQ1QsV0FBVyxFQUNYLFVBQVUsQ0FDWCxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUU1RSxZQUNFLFNBQWMsRUFDZCxTQUE4QyxFQUM5QyxXQUFvRCxFQUNwRCxVQUF5QjtRQUV6QixL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aW1wb3J0IHtTb3J0fSBmcm9tICcuLi8uLi9zb3J0JztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBmb3JrSm9pbiwgT2JzZXJ2YWJsZSwgb2YsIHRocm93RXJyb3J9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7SUxpc3REYXRhU291cmNlfSBmcm9tICcuLi9kYXRhLXNvdXJjZSc7XG5pbXBvcnQge0xvZ2dlciwgTG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtEYXRhU291cmNlQ2hhbmdlRXZlbnR9IGZyb20gJy4uL2RhdGEtc291cmNlLWNoYW5nZS1ldmVudCc7XG5pbXBvcnQge0RhdGFTb3VyY2VCYXNlfSBmcm9tICcuLi9kYXRhLXNvdXJjZS1iYXNlJztcblxuXG5leHBvcnQgY2xhc3MgTG9jYWxMaXN0RGF0YVNvdXJjZTxUPiBleHRlbmRzIERhdGFTb3VyY2VCYXNlPFQ+IGltcGxlbWVudHMgSUxpc3REYXRhU291cmNlPFQ+IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlcjogTG9nZ2VyID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGRhdGEkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUW10+KFtdKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGxvY2FsU29ydDogKChkYXRhOiBUW10sIHNvcnRzOiBTb3J0W10pID0+IFRbXSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgbG9jYWxGaWx0ZXI6ICgoZGF0YTogVFtdLCBmaWx0ZXJzOiBGaWx0ZXJbXSkgPT4gVFtdKTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogU3RhdGljIEJ1aWxkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAvKipcbiAgICogQ3JlYXRlcyBhbiBlbXB0eSBsb2NhbCBsaXN0IGRhdGEtc291cmNlLlxuICAgKiBZb3UgY2FuIHNldCAvIG1vZGlmeSBkYXRhIGJ5IHVzaW5nIHRoZSBkYXRhIHByb3BlcnR5LlxuICAgKiBAcGFyYW0gaWRQcm9wZXJ0eVxuICAgKiBAcGFyYW0gbG9jYWxTb3J0XG4gICAqIEBwYXJhbSBsb2NhbEZpbHRlclxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBlbXB0eTxUPihcbiAgICBpZFByb3BlcnR5OiBzdHJpbmcgfCBudWxsLFxuICAgIGxvY2FsU29ydD86ICgoZGF0YTogVFtdLCBzb3J0czogU29ydFtdKSA9PiBUW10pLFxuICAgIGxvY2FsRmlsdGVyPzogKChkYXRhOiBUW10sIGZpbHRlcnM6IEZpbHRlcltdKSA9PiBUW10pXG4gICk6IExvY2FsTGlzdERhdGFTb3VyY2U8VD4ge1xuICAgIHJldHVybiBMb2NhbExpc3REYXRhU291cmNlLmZyb20oXG4gICAgICBbXSxcbiAgICAgIGlkUHJvcGVydHksXG4gICAgICBsb2NhbFNvcnQsXG4gICAgICBsb2NhbEZpbHRlclxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGZyb208VD4oXG4gICAgbG9jYWxEYXRhOiBUW10sXG4gICAgaWRQcm9wZXJ0eTogc3RyaW5nIHwgbnVsbCxcbiAgICBsb2NhbFNvcnQ/OiAoKGRhdGE6IFRbXSwgc29ydHM6IFNvcnRbXSkgPT4gVFtdKSxcbiAgICBsb2NhbEZpbHRlcj86ICgoZGF0YTogVFtdLCBmaWx0ZXJzOiBGaWx0ZXJbXSkgPT4gVFtdKVxuICApOiBMb2NhbExpc3REYXRhU291cmNlPFQ+IHtcblxuICAgIHJldHVybiBuZXcgTG9jYWxMaXN0RGF0YVNvdXJjZShcbiAgICAgIGxvY2FsRGF0YSxcbiAgICAgIGxvY2FsU29ydCxcbiAgICAgIGxvY2FsRmlsdGVyLFxuICAgICAgaWRQcm9wZXJ0eVxuICAgICk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBsb2NhbERhdGE6IFRbXSxcbiAgICBsb2NhbFNvcnQ6ICgoZGF0YTogVFtdLCBzb3J0czogU29ydFtdKSA9PiBUW10pLFxuICAgIGxvY2FsRmlsdGVyOiAoKGRhdGE6IFRbXSwgZmlsdGVyczogRmlsdGVyW10pID0+IFRbXSksXG4gICAgaWRQcm9wZXJ0eTogc3RyaW5nIHwgbnVsbFxuICApIHtcbiAgICBzdXBlcihpZFByb3BlcnR5IHx8IExvY2FsTGlzdERhdGFTb3VyY2UuZ3Vlc3NJZFByb3BlcnR5KGxvY2FsRGF0YSkpO1xuICAgIGlmICghbG9jYWxEYXRhKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2xvY2FsRGF0YSBtdXN0IG5vdCBiZSBudWxsIScpO1xuICAgIH1cbiAgICB0aGlzLmxvY2FsU29ydCA9IGxvY2FsU29ydCB8fCAoKGRhdGEsIHNvcnQpID0+IGRhdGEpO1xuICAgIHRoaXMubG9jYWxGaWx0ZXIgPSBsb2NhbEZpbHRlciB8fCAoKGRhdGEsIHNvcnQpID0+IGRhdGEpO1xuICAgIHRoaXMuZGF0YSA9IGxvY2FsRGF0YTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBnZXQgZGF0YSgpOiBUW10ge1xuICAgIHJldHVybiB0aGlzLmRhdGEkLmdldFZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0IGRhdGEoZGF0YTogVFtdKSB7XG4gICAgdGhpcy5yZXBsYWNlQWxsKGRhdGEpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIElEYXRhU291cmNlIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGZpbmRCeUlkKGlkOiBhbnkpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICBjb25zdCBmb3VuZCA9IHRoaXMuZGF0YS5maW5kKGQgPT4gdGhpcy5nZXRJZChkKSA9PT0gaWQpO1xuICAgIGlmIChmb3VuZCkge1xuICAgICAgcmV0dXJuIG9mKGZvdW5kKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKFwiQ291bGQgbm90IGZpbmQgbG9jYWwgZW50aXR5IGJ5IGlkOiAnXCIgKyBpZCsgXCInXCIpKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZmluZEJ5SWRzKGlkczogYW55W10pOiBPYnNlcnZhYmxlPFRbXT4ge1xuICAgIHJldHVybiBmb3JrSm9pbihcbiAgICAgIGlkcy5tYXAoaWQgPT4gdGhpcy5maW5kQnlJZChpZCkpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBmaW5kQWxsRmlsdGVyZWQoZmlsdGVycz86IEZpbHRlcltdLCBzb3J0cz86IFNvcnRbXSk6IE9ic2VydmFibGU8VFtdPiB7XG4gICAgcmV0dXJuIG9mKHRoaXMuZGF0YSkucGlwZShcbiAgICAgIG1hcChkYXRhID0+IHRoaXMubG9jYWxGaWx0ZXIoZGF0YSwgZmlsdGVycykpLFxuICAgICAgbWFwKGRhdGEgPT4gdGhpcy5sb2NhbFNvcnQoZGF0YSwgc29ydHMpKVxuICAgICk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgcmVwbGFjZUFsbChkYXRhOiBUW10pIHtcbiAgICB0aGlzLnNpbGVudFJlcGxhY2VEYXRhKGRhdGEpO1xuICAgIHRoaXMucHVibGlzaENoYW5nZUV2ZW50KERhdGFTb3VyY2VDaGFuZ2VFdmVudC51bmtub3duQ2hhbmdlcygpKTtcbiAgfVxuXG4gIHB1YmxpYyBkZWxldGUoZW50aXR5OiBUKSB7XG4gICAgdGhpcy5kZWxldGVBbGwoW2VudGl0eV0pO1xuICB9XG5cbiAgcHVibGljIGRlbGV0ZUFsbCh0b0RlbGV0ZTogVFtdKSB7XG4gICAgaWYgKHRvRGVsZXRlPy5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gdGhpcy5kZWxldGVBbGxCeUlkKFxuICAgICAgICB0b0RlbGV0ZS5tYXAoZSA9PiB0aGlzLmdldElkKGUpKVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZGVsZXRlQWxsQnlJZChpZHNUb0RlbGV0ZTogYW55W10pIHtcbiAgICBpZiAoaWRzVG9EZWxldGU/Lmxlbmd0aCA+IDApIHtcbiAgICAgIGxldCBleGlzdGluZyA9IHRoaXMuZGF0YTtcbiAgICAgIGxldCBpZHNUb0RlbGV0ZVNldCA9IG5ldyBTZXQoaWRzVG9EZWxldGUpO1xuICAgICAgdGhpcy5zaWxlbnRSZXBsYWNlRGF0YShcbiAgICAgICAgZXhpc3RpbmcuZmlsdGVyKGUgPT4gIWlkc1RvRGVsZXRlU2V0Lmhhcyh0aGlzLmdldElkKGUpKSlcbiAgICAgICk7XG4gICAgICB0aGlzLnB1Ymxpc2hDaGFuZ2VFdmVudChEYXRhU291cmNlQ2hhbmdlRXZlbnQuZGVsZXRlZChpZHNUb0RlbGV0ZSkpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzYXZlQWxsKHRvU2F2ZTogVFtdKSB7XG4gICAgdG9TYXZlLmZvckVhY2goZW50aXR5ID0+IHRoaXMuc2F2ZShlbnRpdHkpKTtcbiAgfVxuXG4gIHB1YmxpYyBzYXZlKGVudGl0eTogVCkge1xuXG4gICAgY29uc3QgaWQgPSB0aGlzLmdldElkKGVudGl0eSk7XG4gICAgbGV0IG5ld0RhdGEgPSBbLi4udGhpcy5kYXRhXTtcbiAgICBjb25zdCBleGlzdGluZ0luZGV4ID0gbmV3RGF0YS5maW5kSW5kZXgoZW50aXR5ID0+IHRoaXMuZ2V0SWQoZW50aXR5KSA9PT0gaWQpO1xuXG4gICAgbGV0IGNyZWF0ZWQgPSBmYWxzZTtcbiAgICBpZiAoZXhpc3RpbmdJbmRleCA9PSAtMSkge1xuICAgICAgbmV3RGF0YS5wdXNoKGVudGl0eSk7XG4gICAgICBjcmVhdGVkID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgbmV3RGF0YVtleGlzdGluZ0luZGV4XSA9IGVudGl0eTtcbiAgICB9XG4gICAgdGhpcy5zaWxlbnRSZXBsYWNlRGF0YShuZXdEYXRhKTtcbiAgICB0aGlzLnB1Ymxpc2hDaGFuZ2VFdmVudChcbiAgICAgIGNyZWF0ZWRcbiAgICAgICAgPyBEYXRhU291cmNlQ2hhbmdlRXZlbnQuY3JlYXRlZChbZW50aXR5XSlcbiAgICAgICAgOiBEYXRhU291cmNlQ2hhbmdlRXZlbnQubW9kaWZpZWQoW2VudGl0eV0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgc2lsZW50UmVwbGFjZURhdGEobmV3RGF0YTogVFtdKTogdm9pZCB7XG4gICAgdGhpcy5kYXRhJC5uZXh0KG5ld0RhdGEpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZ3Vlc3NJZFByb3BlcnR5PFQ+KGxvY2FsRGF0YTogVFtdKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgY29uc3QgbG9nID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIoJ0xvY2FsTGlzdERhdGFTb3VyY2UnKTtcblxuICAgIGlmIChsb2NhbERhdGEgJiYgbG9jYWxEYXRhLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IHNhbXBsZSA9IGxvY2FsRGF0YVswXTtcbiAgICAgIGlmICh0eXBlb2Ygc2FtcGxlID09PSAnb2JqZWN0Jykge1xuICAgICAgICBpZiAoc2FtcGxlLmhhc093blByb3BlcnR5KCdpZCcpKSB7XG4gICAgICAgICAgbG9nLndhcm4oJ0RhdGFTb3VyY2Ugd2l0aG91dCBkZWZpbmVkIGlkLXByb3BlcnR5ID0+IGF1dG9kZXRlY3RlZCBwcm9wZXJ0eSBpZC1wcm9wZXJ0eSBhcyBcImlkXCInKTtcbiAgICAgICAgICByZXR1cm4gJ2lkJzsgIC8vIFVzZSBpZFxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGxvZy53YXJuKCdMb2NhbCBEYXRhU291cmNlIGNyZWF0ZWQgd2l0aG91dCBkZWZpbmVkIGlkLXByb3BlcnR5IGFuZCBvYmplY3RzLiBVc2luZyBvYmplY3QgZXF1YWxpdHkhJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7IC8vIFVzZSB2YWx1ZSBhcyBpZCBpZiBzY2FsYXJcbiAgfVxuXG59XG4iXX0=
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtbGlzdC1kYXRhLXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9kYXRhL2RhdGFzb3VyY2UvbG9jYWwvbG9jYWwtbGlzdC1kYXRhLXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUMsZUFBZSxFQUFFLFFBQVEsRUFBYyxFQUFFLEVBQUUsVUFBVSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzNFLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuQyxPQUFPLEVBQVMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDM0QsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDbEUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBR25ELE1BQU0sT0FBTyxtQkFBdUIsU0FBUSxjQUFpQjtJQWUzRDs7OztnRkFJNEU7SUFFNUU7Ozs7OztPQU1HO0lBQ0ksTUFBTSxDQUFDLEtBQUssQ0FDakIsVUFBeUIsRUFDekIsU0FBK0MsRUFDL0MsV0FBcUQ7UUFFckQsT0FBTyxtQkFBbUIsQ0FBQyxJQUFJLENBQzdCLEVBQUUsRUFDRixVQUFVLEVBQ1YsU0FBUyxFQUNULFdBQVcsQ0FDWixDQUFDO0lBQ0osQ0FBQztJQUVNLE1BQU0sQ0FBQyxJQUFJLENBQ2hCLFNBQWMsRUFDZCxVQUF5QixFQUN6QixTQUErQyxFQUMvQyxXQUFxRDtRQUdyRCxPQUFPLElBQUksbUJBQW1CLENBQzVCLFNBQVMsRUFDVCxTQUFTLEVBQ1QsV0FBVyxFQUNYLFVBQVUsQ0FDWCxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUU1RSxZQUNFLFNBQWMsRUFDZCxTQUE4QyxFQUM5QyxXQUFvRCxFQUNwRCxVQUF5QjtRQUV6QixL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aW1wb3J0IHtTb3J0fSBmcm9tICcuLi8uLi9zb3J0JztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBmb3JrSm9pbiwgT2JzZXJ2YWJsZSwgb2YsIHRocm93RXJyb3J9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7SUxpc3REYXRhU291cmNlfSBmcm9tICcuLi9kYXRhLXNvdXJjZSc7XG5pbXBvcnQge0xvZ2dlciwgTG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtEYXRhU291cmNlQ2hhbmdlRXZlbnR9IGZyb20gJy4uL2RhdGEtc291cmNlLWNoYW5nZS1ldmVudCc7XG5pbXBvcnQge0RhdGFTb3VyY2VCYXNlfSBmcm9tICcuLi9kYXRhLXNvdXJjZS1iYXNlJztcblxuXG5leHBvcnQgY2xhc3MgTG9jYWxMaXN0RGF0YVNvdXJjZTxUPiBleHRlbmRzIERhdGFTb3VyY2VCYXNlPFQ+IGltcGxlbWVudHMgSUxpc3REYXRhU291cmNlPFQ+IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlcjogTG9nZ2VyID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGRhdGEkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUW10+KFtdKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGxvY2FsU29ydDogKChkYXRhOiBUW10sIHNvcnRzOiBTb3J0W10pID0+IFRbXSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgbG9jYWxGaWx0ZXI6ICgoZGF0YTogVFtdLCBmaWx0ZXJzOiBGaWx0ZXJbXSkgPT4gVFtdKTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogU3RhdGljIEJ1aWxkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAvKipcbiAgICogQ3JlYXRlcyBhbiBlbXB0eSBsb2NhbCBsaXN0IGRhdGEtc291cmNlLlxuICAgKiBZb3UgY2FuIHNldCAvIG1vZGlmeSBkYXRhIGJ5IHVzaW5nIHRoZSBkYXRhIHByb3BlcnR5LlxuICAgKiBAcGFyYW0gaWRQcm9wZXJ0eVxuICAgKiBAcGFyYW0gbG9jYWxTb3J0XG4gICAqIEBwYXJhbSBsb2NhbEZpbHRlclxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBlbXB0eTxUPihcbiAgICBpZFByb3BlcnR5OiBzdHJpbmcgfCBudWxsLFxuICAgIGxvY2FsU29ydD86ICgoZGF0YTogVFtdLCBzb3J0czogU29ydFtdKSA9PiBUW10pLFxuICAgIGxvY2FsRmlsdGVyPzogKChkYXRhOiBUW10sIGZpbHRlcnM6IEZpbHRlcltdKSA9PiBUW10pXG4gICk6IExvY2FsTGlzdERhdGFTb3VyY2U8VD4ge1xuICAgIHJldHVybiBMb2NhbExpc3REYXRhU291cmNlLmZyb20oXG4gICAgICBbXSxcbiAgICAgIGlkUHJvcGVydHksXG4gICAgICBsb2NhbFNvcnQsXG4gICAgICBsb2NhbEZpbHRlclxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGZyb208VD4oXG4gICAgbG9jYWxEYXRhOiBUW10sXG4gICAgaWRQcm9wZXJ0eTogc3RyaW5nIHwgbnVsbCxcbiAgICBsb2NhbFNvcnQ/OiAoKGRhdGE6IFRbXSwgc29ydHM6IFNvcnRbXSkgPT4gVFtdKSxcbiAgICBsb2NhbEZpbHRlcj86ICgoZGF0YTogVFtdLCBmaWx0ZXJzOiBGaWx0ZXJbXSkgPT4gVFtdKVxuICApOiBMb2NhbExpc3REYXRhU291cmNlPFQ+IHtcblxuICAgIHJldHVybiBuZXcgTG9jYWxMaXN0RGF0YVNvdXJjZShcbiAgICAgIGxvY2FsRGF0YSxcbiAgICAgIGxvY2FsU29ydCxcbiAgICAgIGxvY2FsRmlsdGVyLFxuICAgICAgaWRQcm9wZXJ0eVxuICAgICk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBsb2NhbERhdGE6IFRbXSxcbiAgICBsb2NhbFNvcnQ6ICgoZGF0YTogVFtdLCBzb3J0czogU29ydFtdKSA9PiBUW10pLFxuICAgIGxvY2FsRmlsdGVyOiAoKGRhdGE6IFRbXSwgZmlsdGVyczogRmlsdGVyW10pID0+IFRbXSksXG4gICAgaWRQcm9wZXJ0eTogc3RyaW5nIHwgbnVsbFxuICApIHtcbiAgICBzdXBlcihpZFByb3BlcnR5IHx8IExvY2FsTGlzdERhdGFTb3VyY2UuZ3Vlc3NJZFByb3BlcnR5KGxvY2FsRGF0YSkpO1xuICAgIGlmICghbG9jYWxEYXRhKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2xvY2FsRGF0YSBtdXN0IG5vdCBiZSBudWxsIScpO1xuICAgIH1cbiAgICB0aGlzLmxvY2FsU29ydCA9IGxvY2FsU29ydCB8fCAoKGRhdGEsIHNvcnQpID0+IGRhdGEpO1xuICAgIHRoaXMubG9jYWxGaWx0ZXIgPSBsb2NhbEZpbHRlciB8fCAoKGRhdGEsIHNvcnQpID0+IGRhdGEpO1xuICAgIHRoaXMuZGF0YSA9IGxvY2FsRGF0YTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBnZXQgZGF0YSgpOiBUW10ge1xuICAgIHJldHVybiB0aGlzLmRhdGEkLmdldFZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0IGRhdGEoZGF0YTogVFtdKSB7XG4gICAgdGhpcy5yZXBsYWNlQWxsKGRhdGEpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIElEYXRhU291cmNlIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGZpbmRCeUlkKGlkOiBhbnkpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICBjb25zdCBmb3VuZCA9IHRoaXMuZGF0YS5maW5kKGQgPT4gdGhpcy5nZXRJZChkKSA9PT0gaWQpO1xuICAgIGlmIChmb3VuZCkge1xuICAgICAgcmV0dXJuIG9mKGZvdW5kKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKFwiQ291bGQgbm90IGZpbmQgbG9jYWwgZW50aXR5IGJ5IGlkOiAnXCIgKyBpZCsgXCInXCIpKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZmluZEJ5SWRzKGlkczogYW55W10pOiBPYnNlcnZhYmxlPFRbXT4ge1xuICAgIHJldHVybiBmb3JrSm9pbihcbiAgICAgIGlkcy5tYXAoaWQgPT4gdGhpcy5maW5kQnlJZChpZCkpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBmaW5kQWxsRmlsdGVyZWQoZmlsdGVycz86IEZpbHRlcltdLCBzb3J0cz86IFNvcnRbXSk6IE9ic2VydmFibGU8VFtdPiB7XG4gICAgcmV0dXJuIG9mKHRoaXMuZGF0YSkucGlwZShcbiAgICAgIG1hcChkYXRhID0+IHRoaXMubG9jYWxGaWx0ZXIoZGF0YSwgZmlsdGVycykpLFxuICAgICAgbWFwKGRhdGEgPT4gdGhpcy5sb2NhbFNvcnQoZGF0YSwgc29ydHMpKVxuICAgICk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgcmVwbGFjZUFsbChkYXRhOiBUW10pIHtcbiAgICB0aGlzLnNpbGVudFJlcGxhY2VEYXRhKGRhdGEpO1xuICAgIHRoaXMucHVibGlzaENoYW5nZUV2ZW50KERhdGFTb3VyY2VDaGFuZ2VFdmVudC51bmtub3duQ2hhbmdlcygpKTtcbiAgfVxuXG4gIHB1YmxpYyBkZWxldGUoZW50aXR5OiBUKSB7XG4gICAgdGhpcy5kZWxldGVBbGwoW2VudGl0eV0pO1xuICB9XG5cbiAgcHVibGljIGRlbGV0ZUFsbCh0b0RlbGV0ZTogVFtdKSB7XG4gICAgaWYgKHRvRGVsZXRlPy5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gdGhpcy5kZWxldGVBbGxCeUlkKFxuICAgICAgICB0b0RlbGV0ZS5tYXAoZSA9PiB0aGlzLmdldElkKGUpKVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZGVsZXRlQWxsQnlJZChpZHNUb0RlbGV0ZTogYW55W10pIHtcbiAgICBpZiAoaWRzVG9EZWxldGU/Lmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGV4aXN0aW5nID0gdGhpcy5kYXRhO1xuICAgICAgY29uc3QgaWRzVG9EZWxldGVTZXQgPSBuZXcgU2V0KGlkc1RvRGVsZXRlKTtcbiAgICAgIHRoaXMuc2lsZW50UmVwbGFjZURhdGEoXG4gICAgICAgIGV4aXN0aW5nLmZpbHRlcihlID0+ICFpZHNUb0RlbGV0ZVNldC5oYXModGhpcy5nZXRJZChlKSkpXG4gICAgICApO1xuICAgICAgdGhpcy5wdWJsaXNoQ2hhbmdlRXZlbnQoRGF0YVNvdXJjZUNoYW5nZUV2ZW50LmRlbGV0ZWQoaWRzVG9EZWxldGUpKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2F2ZUFsbCh0b1NhdmU6IFRbXSkge1xuICAgIHRvU2F2ZS5mb3JFYWNoKGVudGl0eSA9PiB0aGlzLnNhdmUoZW50aXR5KSk7XG4gIH1cblxuICBwdWJsaWMgc2F2ZShlbnRpdHk6IFQpIHtcblxuICAgIGNvbnN0IGlkID0gdGhpcy5nZXRJZChlbnRpdHkpO1xuICAgIGNvbnN0IG5ld0RhdGEgPSBbLi4udGhpcy5kYXRhXTtcbiAgICBjb25zdCBleGlzdGluZ0luZGV4ID0gbmV3RGF0YS5maW5kSW5kZXgoZW50aXR5ID0+IHRoaXMuZ2V0SWQoZW50aXR5KSA9PT0gaWQpO1xuXG4gICAgbGV0IGNyZWF0ZWQgPSBmYWxzZTtcbiAgICBpZiAoZXhpc3RpbmdJbmRleCA9PSAtMSkge1xuICAgICAgbmV3RGF0YS5wdXNoKGVudGl0eSk7XG4gICAgICBjcmVhdGVkID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgbmV3RGF0YVtleGlzdGluZ0luZGV4XSA9IGVudGl0eTtcbiAgICB9XG4gICAgdGhpcy5zaWxlbnRSZXBsYWNlRGF0YShuZXdEYXRhKTtcbiAgICB0aGlzLnB1Ymxpc2hDaGFuZ2VFdmVudChcbiAgICAgIGNyZWF0ZWRcbiAgICAgICAgPyBEYXRhU291cmNlQ2hhbmdlRXZlbnQuY3JlYXRlZChbZW50aXR5XSlcbiAgICAgICAgOiBEYXRhU291cmNlQ2hhbmdlRXZlbnQubW9kaWZpZWQoW2VudGl0eV0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgc2lsZW50UmVwbGFjZURhdGEobmV3RGF0YTogVFtdKTogdm9pZCB7XG4gICAgdGhpcy5kYXRhJC5uZXh0KG5ld0RhdGEpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZ3Vlc3NJZFByb3BlcnR5PFQ+KGxvY2FsRGF0YTogVFtdKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgY29uc3QgbG9nID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIoJ0xvY2FsTGlzdERhdGFTb3VyY2UnKTtcblxuICAgIGlmIChsb2NhbERhdGEgJiYgbG9jYWxEYXRhLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IHNhbXBsZSA9IGxvY2FsRGF0YVswXTtcbiAgICAgIGlmICh0eXBlb2Ygc2FtcGxlID09PSAnb2JqZWN0Jykge1xuICAgICAgICBpZiAoc2FtcGxlLmhhc093blByb3BlcnR5KCdpZCcpKSB7XG4gICAgICAgICAgbG9nLndhcm4oJ0RhdGFTb3VyY2Ugd2l0aG91dCBkZWZpbmVkIGlkLXByb3BlcnR5ID0+IGF1dG9kZXRlY3RlZCBwcm9wZXJ0eSBpZC1wcm9wZXJ0eSBhcyBcImlkXCInKTtcbiAgICAgICAgICByZXR1cm4gJ2lkJzsgIC8vIFVzZSBpZFxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGxvZy53YXJuKCdMb2NhbCBEYXRhU291cmNlIGNyZWF0ZWQgd2l0aG91dCBkZWZpbmVkIGlkLXByb3BlcnR5IGFuZCBvYmplY3RzLiBVc2luZyBvYmplY3QgZXF1YWxpdHkhJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7IC8vIFVzZSB2YWx1ZSBhcyBpZCBpZiBzY2FsYXJcbiAgfVxufVxuIl19