@onemrvapublic/design-system 18.2.5 → 18.2.7

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 (224) hide show
  1. package/esm2022/core/src/lib/core.module.mjs +4 -4
  2. package/esm2022/core/src/lib/services/onemrva-error-handler.service.mjs +3 -3
  3. package/esm2022/flag-icon/src/flag-icon.component.mjs +4 -4
  4. package/esm2022/layout/src/components/index.mjs +1 -1
  5. package/esm2022/layout/src/components/layout/layout.component.mjs +4 -4
  6. package/esm2022/layout/src/components/layout-after-nav/layout-after-nav.component.mjs +3 -3
  7. package/esm2022/layout/src/components/layout-content/layout-content.component.mjs +3 -3
  8. package/esm2022/layout/src/components/layout-drawer-actions/layout-drawer-actions.component.mjs +3 -3
  9. package/esm2022/layout/src/components/layout-drawer-content/layout-drawer-content.component.mjs +3 -3
  10. package/esm2022/layout/src/components/layout-drawer-title/layout-drawer-title.component.mjs +4 -4
  11. package/esm2022/layout/src/components/layout-footer/layout-footer.component.mjs +5 -6
  12. package/esm2022/layout/src/components/layout-login-menu/layout-login-menu.component.mjs +3 -3
  13. package/esm2022/layout/src/components/layout-route/layout-route.component.mjs +3 -3
  14. package/esm2022/layout/src/components/layout-sidenav/layout-sidenav.component.mjs +4 -4
  15. package/esm2022/layout/src/components/layout-sidenav-title/layout-sidenav-title.component.mjs +3 -3
  16. package/esm2022/layout/src/components/layout-subroute/layout-subroute.component.mjs +3 -3
  17. package/esm2022/layout/src/components/layout-title/layout-title.component.mjs +3 -3
  18. package/esm2022/layout/src/directives/drawer-host.directive.mjs +3 -3
  19. package/esm2022/layout/src/layout.module.mjs +4 -4
  20. package/esm2022/layout/src/models/onemrva-profile.model.mjs +1 -1
  21. package/esm2022/layout/src/services/drawer.service.mjs +5 -5
  22. package/esm2022/layout/src/striphtml.pipe.mjs +3 -3
  23. package/esm2022/mat-avatar/src/onemrva-mat-avatar.component.mjs +4 -4
  24. package/esm2022/mat-avatar/src/onemrva-mat-avatar.module.mjs +4 -4
  25. package/esm2022/mat-badge/src/onemrva-mat-badge.component.mjs +4 -5
  26. package/esm2022/mat-badge/src/onemrva-mat-badge.module.mjs +4 -4
  27. package/esm2022/mat-breadcrumb/src/onemrva-mat-breadcrumb.component.mjs +3 -3
  28. package/esm2022/mat-breadcrumb/src/onemrva-mat-breadcrumb.module.mjs +4 -4
  29. package/esm2022/mat-breadcrumb/src/onemrva-mat-breadcrumb.service.mjs +3 -3
  30. package/esm2022/mat-carousel/src/mat-carousel-item/onemrva-mat-carousel-item.component.mjs +4 -4
  31. package/esm2022/mat-carousel/src/onemrva-mat-carousel.component.mjs +7 -10
  32. package/esm2022/mat-copy-to-clipboard/src/components/copy-to-clipboard.component.mjs +4 -4
  33. package/esm2022/mat-datepicker-header/src/onemrva-mat-datepicker-header.component.mjs +3 -3
  34. package/esm2022/mat-empty-row/src/onemrva-mat-empty-row.component.mjs +3 -3
  35. package/esm2022/mat-file-upload/src/components/onemrva-mat-file-panel/onemrva-file-panel.component.mjs +4 -4
  36. package/esm2022/mat-file-upload/src/components/onemrva-mat-file-upload/onemrva-mat-file-upload.component.mjs +4 -4
  37. package/esm2022/mat-file-upload/src/directives/dnd.directive.mjs +4 -4
  38. package/esm2022/mat-file-upload/src/models/progress-file.model.mjs +1 -1
  39. package/esm2022/mat-file-upload/src/onemrva-mat-file-upload.module.mjs +4 -4
  40. package/esm2022/mat-file-upload/src/onemrva-mat-file-upload.service.mjs +3 -3
  41. package/esm2022/mat-file-upload/src/onemrva-mat-file-upload.store.mjs +3 -3
  42. package/esm2022/mat-input-bank-account/src/bank-account.component.mjs +14 -7
  43. package/esm2022/mat-input-bank-account/src/onemrva-mat-input-bank-account.component.mjs +6 -6
  44. package/esm2022/mat-input-birthplace/src/country-item.component.mjs +3 -3
  45. package/esm2022/mat-input-birthplace/src/onemrva-mat-input-birthplace.component.mjs +4 -4
  46. package/esm2022/mat-input-country/src/onemrva-mat-input-country.component.mjs +4 -4
  47. package/esm2022/mat-input-enterprise-number/src/onemrva-mat-input-enterprise-number.component.mjs +4 -4
  48. package/esm2022/mat-input-phone/src/onemrva-mat-input-phone.component.mjs +4 -4
  49. package/esm2022/mat-input-phone/src/phone-number.directive.mjs +5 -6
  50. package/esm2022/mat-message-box/src/onemrva-mat-message-box.component.mjs +4 -4
  51. package/esm2022/mat-message-box/src/onemrva-mat-message-box.module.mjs +4 -4
  52. package/esm2022/mat-multi-select/src/onemrva-mat-multi-select.component.mjs +18 -10
  53. package/esm2022/mat-multi-select/src/onemrva-mat-multi-select.module.mjs +4 -4
  54. package/esm2022/mat-notification/src/onemrva-mat-notification.component.mjs +4 -4
  55. package/esm2022/mat-paginator/src/onemrva-mat-paginator.component.mjs +7 -7
  56. package/esm2022/mat-paginator/src/onemrva-mat-paginator.module.mjs +4 -4
  57. package/esm2022/mat-panel/src/onemrva-mat-panel-content.component.mjs +3 -3
  58. package/esm2022/mat-panel/src/onemrva-mat-panel-icon.component.mjs +3 -3
  59. package/esm2022/mat-panel/src/onemrva-mat-panel-title-action.component.mjs +3 -3
  60. package/esm2022/mat-panel/src/onemrva-mat-panel-title.component.mjs +3 -3
  61. package/esm2022/mat-panel/src/onemrva-mat-panel.component.mjs +9 -9
  62. package/esm2022/mat-panel/src/onemrva-mat-panel.module.mjs +4 -4
  63. package/esm2022/mat-pop-over/src/onemrva-mat-pop-over-content.component.mjs +4 -4
  64. package/esm2022/mat-pop-over/src/onemrva-mat-pop-over-trigger.component.mjs +4 -4
  65. package/esm2022/mat-pop-over/src/onemrva-mat-pop-over.component.mjs +5 -5
  66. package/esm2022/mat-pop-over/src/onemrva-mat-pop-over.module.mjs +4 -4
  67. package/esm2022/mat-progress-bar/src/onemrva-mat-progress-bar.component.mjs +5 -5
  68. package/esm2022/mat-select-search/src/mat-select-no-entries-found.directive.mjs +3 -3
  69. package/esm2022/mat-select-search/src/mat-select-search-clear.directive.mjs +3 -3
  70. package/esm2022/mat-select-search/src/mat-select-search.component.mjs +7 -6
  71. package/esm2022/mat-select-search/src/mat-select-search.module.mjs +4 -4
  72. package/esm2022/mat-selectable-box/src/onemrva-mat-selectable-box.component.mjs +4 -4
  73. package/esm2022/mat-selectable-box/src/onemrva-mat-selectable-box.module.mjs +4 -4
  74. package/esm2022/mat-side-menu/src/onemrva-mat-side-menu.component.mjs +5 -5
  75. package/esm2022/mat-side-menu/src/onemrva-mat-side-menu.module.mjs +4 -4
  76. package/esm2022/mat-skeleton/src/onemrva-mat-skeleton-enums.mjs +1 -1
  77. package/esm2022/mat-skeleton/src/onemrva-mat-skeleton.component.mjs +17 -17
  78. package/esm2022/mat-skeleton/src/onemrva-mat-skeleton.module.mjs +4 -4
  79. package/esm2022/mat-spinner/src/onemrva-mat-loading.directive.mjs +4 -4
  80. package/esm2022/mat-spinner/src/onemrva-mat-spinner.component.mjs +3 -3
  81. package/esm2022/mat-spinner/src/onemrva-mat-spinner.module.mjs +4 -4
  82. package/esm2022/mat-stepper/src/onemrva-mat-stepper.component.mjs +10 -7
  83. package/esm2022/mat-stepper/src/onemrva-mat-stepper.module.mjs +4 -4
  84. package/esm2022/mat-sticker/src/onemrva-mat-sticker.component.mjs +8 -8
  85. package/esm2022/mat-sticker/src/onemrva-mat-sticker.module.mjs +4 -4
  86. package/esm2022/mat-table-of-content/src/onemrva-mat-table-of-content.component.mjs +6 -7
  87. package/esm2022/mat-table-of-content/src/onemrva-mat-table-of-content.directive.mjs +4 -4
  88. package/esm2022/mat-table-of-content/src/onemrva-mat-table-of-content.service.mjs +4 -4
  89. package/esm2022/mat-table-of-content/src/onemrva-mat-toc-anchor.model.mjs +1 -1
  90. package/esm2022/mat-task-list/src/onemrva-mat-task-content.component.mjs +3 -3
  91. package/esm2022/mat-task-list/src/onemrva-mat-task-list.component.mjs +4 -4
  92. package/esm2022/mat-task-list/src/onemrva-mat-task-list.module.mjs +4 -4
  93. package/esm2022/mat-task-list/src/onemrva-mat-task-title.component.mjs +3 -3
  94. package/esm2022/mat-task-list/src/onemrva-mat-task.component.mjs +5 -4
  95. package/esm2022/mat-timepicker/src/clock/clock.component.mjs +5 -5
  96. package/esm2022/mat-timepicker/src/interfaces-and-types.mjs +1 -1
  97. package/esm2022/mat-timepicker/src/onemrva-mat-timepicker.component.mjs +4 -4
  98. package/esm2022/mat-timepicker/src/onemrva-mat-timepicker.module.mjs +4 -4
  99. package/esm2022/mat-timepicker/src/timepicker-dialog/timepicker-dialog.component.mjs +5 -5
  100. package/esm2022/mat-timepicker/src/timepicker-toggle/timepicker-toggle.component.mjs +7 -7
  101. package/esm2022/mat-timepicker/src/timepicker.directive.mjs +6 -27
  102. package/esm2022/mat-toast/src/onemrva-mat-toast.component.mjs +3 -3
  103. package/esm2022/mat-toast/src/onemrva-mat-toast.module.mjs +4 -4
  104. package/esm2022/mat-tooltip/src/onemrva-mat-tooltip.component.mjs +3 -3
  105. package/esm2022/mat-tooltip/src/onemrva-mat-tooltip.directive.mjs +4 -4
  106. package/esm2022/mat-tooltip/src/onemrva-mat-tooltip.module.mjs +4 -4
  107. package/esm2022/page-not-found/src/page-not-found-action.component.mjs +3 -3
  108. package/esm2022/page-not-found/src/page-not-found-extra.component.mjs +3 -3
  109. package/esm2022/page-not-found/src/page-not-found-invader.component.mjs +8 -7
  110. package/esm2022/page-not-found/src/page-not-found.component.mjs +3 -3
  111. package/esm2022/page-not-found/src/page-not-found.module.mjs +4 -4
  112. package/esm2022/shared/src/lib/adapters/date.adapter.mjs +4 -4
  113. package/esm2022/shared/src/lib/components/clipboard-icon/clipboard-icon.component.mjs +3 -3
  114. package/esm2022/shared/src/lib/containers/WebComponentOverlayContainer.mjs +7 -7
  115. package/esm2022/shared/src/lib/directives/clipboard.directive.mjs +4 -4
  116. package/esm2022/shared/src/lib/directives/color.directive.mjs +5 -5
  117. package/esm2022/shared/src/lib/directives/digit-only.directive.mjs +5 -6
  118. package/esm2022/shared/src/lib/directives/iconRight.directive.mjs +3 -3
  119. package/esm2022/shared/src/lib/directives/if-width-is.directive.mjs +3 -3
  120. package/esm2022/shared/src/lib/directives/mask.directive.mjs +4 -4
  121. package/esm2022/shared/src/lib/directives/mat-row-clickable.directive.mjs +5 -5
  122. package/esm2022/shared/src/lib/loaders/onemrva-translate-cdn-loader.mjs +1 -1
  123. package/esm2022/shared/src/lib/loaders/onemrva-translate-http-loader.mjs +1 -1
  124. package/esm2022/shared/src/lib/pipes/onemrva-bce.pipe.mjs +3 -3
  125. package/esm2022/shared/src/lib/pipes/onemrva-niss.pipe.mjs +3 -3
  126. package/esm2022/shared/src/lib/services/cache.service.mjs +5 -6
  127. package/esm2022/shared/src/lib/services/cdn.service.mjs +4 -4
  128. package/esm2022/shared/src/lib/services/country-cdn.service.mjs +3 -3
  129. package/esm2022/shared/src/lib/services/country-lookup.service.mjs +4 -4
  130. package/esm2022/shared/src/lib/shared.datepicker.module.mjs +5 -5
  131. package/esm2022/shared/src/lib/shared.module.mjs +4 -4
  132. package/esm2022/shared/src/lib/validators/bank-account.validator.utils.mjs +1 -1
  133. package/esm2022/utils/src/enum.utils.mjs +1 -1
  134. package/fesm2022/onemrvapublic-design-system-core.mjs +7 -7
  135. package/fesm2022/onemrvapublic-design-system-flag-icon.mjs +3 -3
  136. package/fesm2022/onemrvapublic-design-system-flag-icon.mjs.map +1 -1
  137. package/fesm2022/onemrvapublic-design-system-layout.mjs +54 -55
  138. package/fesm2022/onemrvapublic-design-system-layout.mjs.map +1 -1
  139. package/fesm2022/onemrvapublic-design-system-mat-avatar.mjs +7 -7
  140. package/fesm2022/onemrvapublic-design-system-mat-avatar.mjs.map +1 -1
  141. package/fesm2022/onemrvapublic-design-system-mat-badge.mjs +7 -8
  142. package/fesm2022/onemrvapublic-design-system-mat-badge.mjs.map +1 -1
  143. package/fesm2022/onemrvapublic-design-system-mat-breadcrumb.mjs +10 -10
  144. package/fesm2022/onemrvapublic-design-system-mat-carousel.mjs +9 -12
  145. package/fesm2022/onemrvapublic-design-system-mat-carousel.mjs.map +1 -1
  146. package/fesm2022/onemrvapublic-design-system-mat-copy-to-clipboard.mjs +3 -3
  147. package/fesm2022/onemrvapublic-design-system-mat-copy-to-clipboard.mjs.map +1 -1
  148. package/fesm2022/onemrvapublic-design-system-mat-datepicker-header.mjs +3 -3
  149. package/fesm2022/onemrvapublic-design-system-mat-empty-row.mjs +3 -3
  150. package/fesm2022/onemrvapublic-design-system-mat-file-upload.mjs +19 -19
  151. package/fesm2022/onemrvapublic-design-system-mat-file-upload.mjs.map +1 -1
  152. package/fesm2022/onemrvapublic-design-system-mat-input-bank-account.mjs +18 -11
  153. package/fesm2022/onemrvapublic-design-system-mat-input-bank-account.mjs.map +1 -1
  154. package/fesm2022/onemrvapublic-design-system-mat-input-birthplace.mjs +6 -6
  155. package/fesm2022/onemrvapublic-design-system-mat-input-birthplace.mjs.map +1 -1
  156. package/fesm2022/onemrvapublic-design-system-mat-input-country.mjs +3 -3
  157. package/fesm2022/onemrvapublic-design-system-mat-input-country.mjs.map +1 -1
  158. package/fesm2022/onemrvapublic-design-system-mat-input-enterprise-number.mjs +3 -3
  159. package/fesm2022/onemrvapublic-design-system-mat-input-enterprise-number.mjs.map +1 -1
  160. package/fesm2022/onemrvapublic-design-system-mat-input-phone.mjs +7 -8
  161. package/fesm2022/onemrvapublic-design-system-mat-input-phone.mjs.map +1 -1
  162. package/fesm2022/onemrvapublic-design-system-mat-message-box.mjs +7 -7
  163. package/fesm2022/onemrvapublic-design-system-mat-message-box.mjs.map +1 -1
  164. package/fesm2022/onemrvapublic-design-system-mat-multi-select.mjs +21 -13
  165. package/fesm2022/onemrvapublic-design-system-mat-multi-select.mjs.map +1 -1
  166. package/fesm2022/onemrvapublic-design-system-mat-notification.mjs +3 -3
  167. package/fesm2022/onemrvapublic-design-system-mat-notification.mjs.map +1 -1
  168. package/fesm2022/onemrvapublic-design-system-mat-paginator.mjs +10 -10
  169. package/fesm2022/onemrvapublic-design-system-mat-paginator.mjs.map +1 -1
  170. package/fesm2022/onemrvapublic-design-system-mat-panel.mjs +24 -24
  171. package/fesm2022/onemrvapublic-design-system-mat-panel.mjs.map +1 -1
  172. package/fesm2022/onemrvapublic-design-system-mat-pop-over.mjs +14 -14
  173. package/fesm2022/onemrvapublic-design-system-mat-pop-over.mjs.map +1 -1
  174. package/fesm2022/onemrvapublic-design-system-mat-progress-bar.mjs +4 -4
  175. package/fesm2022/onemrvapublic-design-system-mat-progress-bar.mjs.map +1 -1
  176. package/fesm2022/onemrvapublic-design-system-mat-select-search.mjs +16 -15
  177. package/fesm2022/onemrvapublic-design-system-mat-select-search.mjs.map +1 -1
  178. package/fesm2022/onemrvapublic-design-system-mat-selectable-box.mjs +7 -7
  179. package/fesm2022/onemrvapublic-design-system-mat-selectable-box.mjs.map +1 -1
  180. package/fesm2022/onemrvapublic-design-system-mat-side-menu.mjs +8 -8
  181. package/fesm2022/onemrvapublic-design-system-mat-side-menu.mjs.map +1 -1
  182. package/fesm2022/onemrvapublic-design-system-mat-skeleton.mjs +20 -20
  183. package/fesm2022/onemrvapublic-design-system-mat-skeleton.mjs.map +1 -1
  184. package/fesm2022/onemrvapublic-design-system-mat-spinner.mjs +10 -10
  185. package/fesm2022/onemrvapublic-design-system-mat-spinner.mjs.map +1 -1
  186. package/fesm2022/onemrvapublic-design-system-mat-stepper.mjs +13 -10
  187. package/fesm2022/onemrvapublic-design-system-mat-stepper.mjs.map +1 -1
  188. package/fesm2022/onemrvapublic-design-system-mat-sticker.mjs +11 -11
  189. package/fesm2022/onemrvapublic-design-system-mat-sticker.mjs.map +1 -1
  190. package/fesm2022/onemrvapublic-design-system-mat-table-of-content.mjs +11 -12
  191. package/fesm2022/onemrvapublic-design-system-mat-table-of-content.mjs.map +1 -1
  192. package/fesm2022/onemrvapublic-design-system-mat-task-list.mjs +17 -16
  193. package/fesm2022/onemrvapublic-design-system-mat-task-list.mjs.map +1 -1
  194. package/fesm2022/onemrvapublic-design-system-mat-timepicker.mjs +26 -47
  195. package/fesm2022/onemrvapublic-design-system-mat-timepicker.mjs.map +1 -1
  196. package/fesm2022/onemrvapublic-design-system-mat-toast.mjs +7 -7
  197. package/fesm2022/onemrvapublic-design-system-mat-tooltip.mjs +10 -10
  198. package/fesm2022/onemrvapublic-design-system-mat-tooltip.mjs.map +1 -1
  199. package/fesm2022/onemrvapublic-design-system-page-not-found.mjs +20 -19
  200. package/fesm2022/onemrvapublic-design-system-page-not-found.mjs.map +1 -1
  201. package/fesm2022/onemrvapublic-design-system-shared.mjs +63 -65
  202. package/fesm2022/onemrvapublic-design-system-shared.mjs.map +1 -1
  203. package/fesm2022/onemrvapublic-design-system-utils.mjs.map +1 -1
  204. package/layout/src/components/index.d.ts +10 -1
  205. package/layout/src/components/layout-footer/layout-footer.component.d.ts +0 -1
  206. package/layout/src/services/drawer.service.d.ts +0 -1
  207. package/mat-file-upload/src/components/onemrva-mat-file-upload/onemrva-mat-file-upload.component.d.ts +1 -1
  208. package/mat-input-bank-account/src/onemrva-mat-input-bank-account.component.d.ts +0 -1
  209. package/mat-input-phone/src/phone-number.directive.d.ts +0 -1
  210. package/mat-paginator/src/onemrva-mat-paginator.component.d.ts +1 -1
  211. package/mat-panel/src/onemrva-mat-panel.component.d.ts +1 -1
  212. package/mat-skeleton/src/onemrva-mat-skeleton-enums.d.ts +1 -3
  213. package/mat-skeleton/src/onemrva-mat-skeleton.component.d.ts +1 -2
  214. package/mat-sticker/src/onemrva-mat-sticker.component.d.ts +0 -1
  215. package/mat-table-of-content/src/onemrva-mat-toc-anchor.model.d.ts +1 -3
  216. package/mat-timepicker/src/interfaces-and-types.d.ts +1 -5
  217. package/package.json +10 -12
  218. package/page-not-found/src/page-not-found-invader.component.d.ts +0 -1
  219. package/shared/src/lib/directives/color.directive.d.ts +0 -1
  220. package/shared/src/lib/directives/digit-only.directive.d.ts +0 -1
  221. package/shared/src/lib/directives/mat-row-clickable.directive.d.ts +0 -1
  222. package/shared/src/lib/services/cache.service.d.ts +0 -1
  223. package/shared/src/lib/services/country-lookup.service.d.ts +2 -2
  224. package/utils/src/enum.utils.d.ts +1 -3
@@ -36,8 +36,8 @@ export class LayoutSidenavComponent {
36
36
  this.helpMenuOpen[index][subIdx] =
37
37
  this.helpMenuOpen[index][subIdx] === 'out' ? 'in' : 'out';
38
38
  }
39
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: LayoutSidenavComponent, deps: [{ token: i1.TranslateService }, { token: DOCUMENT }, { token: i2.OnemrvaDrawerService }], target: i0.ɵɵFactoryTarget.Component }); }
40
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: LayoutSidenavComponent, selector: "onemrva-layout-sidenav", inputs: { isSmall: "isSmall", languages: "languages", routes: "routes" }, ngImport: i0, template: "<ng-container\n *ngIf=\"\n isSmall &&\n (routes?.toArray()?.length || (languages && languages.length > 1))\n \"\n>\n <button\n type=\"button\"\n mat-icon-button\n class=\"menu-close-button\"\n (click)=\"close()\"\n data-cy=\"smallDeviceMenu\"\n attr.aria-label=\"{{ 'layout.menu' | translate }}\"\n >\n <mat-icon>close</mat-icon>\n </button>\n <ng-container *ngIf=\"isSmall && languages && languages.length > 1\">\n <mat-tab-group\n class=\"language-tabs\"\n [selectedIndex]=\"selectedLanguageIndex$ | async\"\n (selectedIndexChange)=\"changeLanguage($event)\"\n >\n <mat-tab *ngFor=\"let lang of languages\">\n <div *matTabLabel [attr.data-cy]=\"'language_' + lang.code\">\n {{ lang.label }}\n </div>\n </mat-tab>\n </mat-tab-group>\n </ng-container>\n <ng-container *ngIf=\"isSmall && routes?.toArray()?.length\">\n <mat-divider\n style=\"align-self: stretch; margin-bottom: 10px\"\n *ngIf=\"languages && languages.length > 1\"\n ></mat-divider>\n <div>\n <ng-container *ngFor=\"let e of routes?.toArray(); let i = index\">\n <ng-container *ngIf=\"!e.hasSubroutes()\">\n <button\n [routerLink]=\"e.routerLink\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n routerLinkActive=\"active\"\n class=\"mobile-menu-item\"\n >\n <ng-container *ngIf=\"e.mobileTemplate as routeTemplate\">\n <ng-container *ngTemplateOutlet=\"routeTemplate\"></ng-container>\n </ng-container>\n </button>\n </ng-container>\n <ng-container *ngIf=\"e.hasSubroutes()\">\n <button\n [routerLink]=\"e.routerLink\"\n [routerLinkActiveOptions]=\"{ exact: false }\"\n routerLinkActive=\"active\"\n class=\"mobile-menu-item\"\n (click)=\"openSubmenu(i)\"\n [attr.data-cy]=\"e.dataCy\"\n >\n {{ e.label }}\n <mat-icon>expand_more</mat-icon>\n </button>\n <div [@slideInOut]=\"helpMenuOpen[i][0]\">\n <ng-container\n *ngFor=\"let es of e.subroutes?.toArray(); let j = index\"\n >\n <button\n [routerLink]=\"es.routerLink\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n routerLinkActive=\"active\"\n class=\"mobile-menu-item\"\n (click)=\"openSubmenu(i, j + 1)\"\n [attr.data-cy]=\"es.dataCy\"\n >\n <ng-container *ngIf=\"es.template as routeTemplate\">\n <ng-container\n *ngTemplateOutlet=\"routeTemplate\"\n ></ng-container>\n </ng-container>\n <mat-icon *ngIf=\"es.hasSubroutes()\">expand_more</mat-icon>\n </button>\n <div [@slideInOut]=\"helpMenuOpen[i][j + 1]\">\n <ng-container *ngFor=\"let ess of es.subroutes?.toArray()\">\n <button\n [routerLink]=\"ess.routerLink\"\n [routerLinkActiveOptions]=\"{ exact: false }\"\n routerLinkActive=\"active\"\n class=\"mobile-menu-item\"\n [attr.data-cy]=\"ess.dataCy\"\n >\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n <ng-container *ngIf=\"ess.template as routeTemplate\">\n <ng-container\n *ngTemplateOutlet=\"routeTemplate\"\n ></ng-container>\n </ng-container>\n </button>\n </ng-container>\n </div>\n </ng-container>\n </div>\n </ng-container>\n </ng-container>\n </div>\n </ng-container>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i4.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: i5.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: i6.MatTabLabel, selector: "[mat-tab-label], [matTabLabel]" }, { kind: "component", type: i6.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i6.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], animations: [
39
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: LayoutSidenavComponent, deps: [{ token: i1.TranslateService }, { token: DOCUMENT }, { token: i2.OnemrvaDrawerService }], target: i0.ɵɵFactoryTarget.Component }); }
40
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: LayoutSidenavComponent, selector: "onemrva-layout-sidenav", inputs: { isSmall: "isSmall", languages: "languages", routes: "routes" }, ngImport: i0, template: "<ng-container\n *ngIf=\"\n isSmall &&\n (routes?.toArray()?.length || (languages && languages.length > 1))\n \"\n>\n <button\n type=\"button\"\n mat-icon-button\n class=\"menu-close-button\"\n (click)=\"close()\"\n data-cy=\"smallDeviceMenu\"\n attr.aria-label=\"{{ 'layout.menu' | translate }}\"\n >\n <mat-icon>close</mat-icon>\n </button>\n <ng-container *ngIf=\"isSmall && languages && languages.length > 1\">\n <mat-tab-group\n class=\"language-tabs\"\n [selectedIndex]=\"selectedLanguageIndex$ | async\"\n (selectedIndexChange)=\"changeLanguage($event)\"\n >\n <mat-tab *ngFor=\"let lang of languages\">\n <div *matTabLabel [attr.data-cy]=\"'language_' + lang.code\">\n {{ lang.label }}\n </div>\n </mat-tab>\n </mat-tab-group>\n </ng-container>\n <ng-container *ngIf=\"isSmall && routes?.toArray()?.length\">\n <mat-divider\n style=\"align-self: stretch; margin-bottom: 10px\"\n *ngIf=\"languages && languages.length > 1\"\n ></mat-divider>\n <div>\n <ng-container *ngFor=\"let e of routes?.toArray(); let i = index\">\n <ng-container *ngIf=\"!e.hasSubroutes()\">\n <button\n [routerLink]=\"e.routerLink\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n routerLinkActive=\"active\"\n class=\"mobile-menu-item\"\n >\n <ng-container *ngIf=\"e.mobileTemplate as routeTemplate\">\n <ng-container *ngTemplateOutlet=\"routeTemplate\"></ng-container>\n </ng-container>\n </button>\n </ng-container>\n <ng-container *ngIf=\"e.hasSubroutes()\">\n <button\n [routerLink]=\"e.routerLink\"\n [routerLinkActiveOptions]=\"{ exact: false }\"\n routerLinkActive=\"active\"\n class=\"mobile-menu-item\"\n (click)=\"openSubmenu(i)\"\n [attr.data-cy]=\"e.dataCy\"\n >\n {{ e.label }}\n <mat-icon>expand_more</mat-icon>\n </button>\n <div [@slideInOut]=\"helpMenuOpen[i][0]\">\n <ng-container\n *ngFor=\"let es of e.subroutes?.toArray(); let j = index\"\n >\n <button\n [routerLink]=\"es.routerLink\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n routerLinkActive=\"active\"\n class=\"mobile-menu-item\"\n (click)=\"openSubmenu(i, j + 1)\"\n [attr.data-cy]=\"es.dataCy\"\n >\n <ng-container *ngIf=\"es.template as routeTemplate\">\n <ng-container\n *ngTemplateOutlet=\"routeTemplate\"\n ></ng-container>\n </ng-container>\n <mat-icon *ngIf=\"es.hasSubroutes()\">expand_more</mat-icon>\n </button>\n <div [@slideInOut]=\"helpMenuOpen[i][j + 1]\">\n <ng-container *ngFor=\"let ess of es.subroutes?.toArray()\">\n <button\n [routerLink]=\"ess.routerLink\"\n [routerLinkActiveOptions]=\"{ exact: false }\"\n routerLinkActive=\"active\"\n class=\"mobile-menu-item\"\n [attr.data-cy]=\"ess.dataCy\"\n >\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n <ng-container *ngIf=\"ess.template as routeTemplate\">\n <ng-container\n *ngTemplateOutlet=\"routeTemplate\"\n ></ng-container>\n </ng-container>\n </button>\n </ng-container>\n </div>\n </ng-container>\n </div>\n </ng-container>\n </ng-container>\n </div>\n </ng-container>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i4.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: i5.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: i6.MatTabLabel, selector: "[mat-tab-label], [matTabLabel]" }, { kind: "component", type: i6.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i6.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], animations: [
41
41
  trigger('slideInOut', [
42
42
  state('in', style({
43
43
  overflow: 'hidden',
@@ -53,7 +53,7 @@ export class LayoutSidenavComponent {
53
53
  ]),
54
54
  ] }); }
55
55
  }
56
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: LayoutSidenavComponent, decorators: [{
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: LayoutSidenavComponent, decorators: [{
57
57
  type: Component,
58
58
  args: [{ selector: 'onemrva-layout-sidenav', animations: [
59
59
  trigger('slideInOut', [
@@ -80,4 +80,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
80
80
  }], routes: [{
81
81
  type: Input
82
82
  }] } });
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LXNpZGVuYXYuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25lbXJ2YS9kZXNpZ24tc3lzdGVtL2xheW91dC9zcmMvY29tcG9uZW50cy9sYXlvdXQtc2lkZW5hdi9sYXlvdXQtc2lkZW5hdi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbmVtcnZhL2Rlc2lnbi1zeXN0ZW0vbGF5b3V0L3NyYy9jb21wb25lbnRzL2xheW91dC1zaWRlbmF2L2xheW91dC1zaWRlbmF2LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRzVFLE9BQU8sRUFBYyxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWxELE9BQU8sRUFDTCxPQUFPLEVBQ1AsS0FBSyxFQUNMLEtBQUssRUFDTCxVQUFVLEVBQ1YsT0FBTyxHQUNSLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7Ozs7QUE0QjdCLE1BQU0sT0FBTyxzQkFBc0I7SUFTakMsWUFDVSxnQkFBa0MsRUFDaEIsUUFBa0IsRUFDcEMsYUFBbUM7UUFGbkMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNoQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ3BDLGtCQUFhLEdBQWIsYUFBYSxDQUFzQjtRQUUzQyxJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQ25FLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFDZixHQUFHLENBQUMsR0FBRyxFQUFFLENBQ1AsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQ3RCLENB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bXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9uSW5pdCwgUXVlcnlMaXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBMYXlvdXRSb3V0ZUNvbXBvbmVudCB9IGZyb20gJy4uL2xheW91dC1yb3V0ZS9sYXlvdXQtcm91dGUuY29tcG9uZW50JztcbmltcG9ydCB7IE9ic2VydmFibGUsIG1hcCwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBPbmVtcnZhRHJhd2VyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2RyYXdlci5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIGFuaW1hdGUsXG4gIHN0YXRlLFxuICBzdHlsZSxcbiAgdHJhbnNpdGlvbixcbiAgdHJpZ2dlcixcbn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBPbmVtUnZhTGFuZ3VhZ2UgfSBmcm9tICcuLi8uLi9tb2RlbHMvb25lbS1sYW5ndWFnZS5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29uZW1ydmEtbGF5b3V0LXNpZGVuYXYnLFxuICB0ZW1wbGF0ZVVybDogJ2xheW91dC1zaWRlbmF2LmNvbXBvbmVudC5odG1sJyxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ3NsaWRlSW5PdXQnLCBbXG4gICAgICBzdGF0ZShcbiAgICAgICAgJ2luJyxcbiAgICAgICAgc3R5bGUoe1xuICAgICAgICAgIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgICAgICAgICBoZWlnaHQ6ICcqJyxcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgICAgc3RhdGUoXG4gICAgICAgICdvdXQnLFxuICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgb3BhY2l0eTogJzAnLFxuICAgICAgICAgIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgICAgICAgICBoZWlnaHQ6ICcwcHgnLFxuICAgICAgICB9KSxcbiAgICAgICksXG4gICAgICB0cmFuc2l0aW9uKCdpbiA9PiBvdXQnLCBhbmltYXRlKCc0MDBtcyBlYXNlLWluLW91dCcpKSxcbiAgICAgIHRyYW5zaXRpb24oJ291dCA9PiBpbicsIGFuaW1hdGUoJzQwMG1zIGVhc2UtaW4tb3V0JykpLFxuICAgIF0pLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBMYXlvdXRTaWRlbmF2Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgaXNTbWFsbCE6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGxhbmd1YWdlcyE6IE9uZW1SdmFMYW5ndWFnZVtdO1xuICBASW5wdXQoKSByb3V0ZXM/OiBRdWVyeUxpc3Q8TGF5b3V0Um91dGVDb21wb25lbnQ+O1xuXG4gIHNlbGVjdGVkTGFuZ3VhZ2VJbmRleCQ6IE9ic2VydmFibGU8bnVtYmVyPjtcblxuICBoZWxwTWVudU9wZW4hOiBzdHJpbmdbXVtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCxcbiAgICBwcml2YXRlIGRyYXdlclNlcnZpY2U6IE9uZW1ydmFEcmF3ZXJTZXJ2aWNlLFxuICApIHtcbiAgICB0aGlzLnNlbGVjdGVkTGFuZ3VhZ2VJbmRleCQgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uub25MYW5nQ2hhbmdlLnBpcGUoXG4gICAgICBzdGFydFdpdGgobnVsbCksXG4gICAgICBtYXAoKCkgPT5cbiAgICAgICAgdGhpcy5sYW5ndWFnZXMuZmluZEluZGV4KFxuICAgICAgICAgIGwgPT4gbC5jb2RlID09PSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmcsXG4gICAgICAgICksXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5yb3V0ZXMpXG4gICAgICB0aGlzLmhlbHBNZW51T3BlbiA9IHRoaXMucm91dGVzLm1hcChyb3V0ZSA9PlxuICAgICAgICByb3V0ZS5oYXNTdWJyb3V0ZXMoKVxuICAgICAgICAgID8gWydvdXQnLCAuLi5yb3V0ZS5zdWJyb3V0ZXMhLm1hcCgoKSA9PiAnb3V0JyldXG4gICAgICAgICAgOiBbJ2luJ10sXG4gICAgICApO1xuICB9XG5cbiAgY2hhbmdlTGFuZ3VhZ2UoaW5kZXg6IG51bWJlcikge1xuICAgIGNvbnN0IGxhbmd1YWdlID0gdGhpcy5sYW5ndWFnZXNbaW5kZXhdO1xuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS51c2UobGFuZ3VhZ2UuY29kZSk7XG4gICAgdGhpcy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQubGFuZyA9IGxhbmd1YWdlLmNvZGU7XG4gIH1cblxuICBjbG9zZSgpIHtcbiAgICB0aGlzLmRyYXdlclNlcnZpY2UuY2xvc2UoKTtcbiAgfVxuXG4gIG9wZW5TdWJtZW51KGluZGV4OiBudW1iZXIsIHN1YklkeDogbnVtYmVyID0gMCkge1xuICAgIHRoaXMuaGVscE1lbnVPcGVuW2luZGV4XVtzdWJJZHhdID1cbiAgICAgIHRoaXMuaGVscE1lbnVPcGVuW2luZGV4XVtzdWJJZHhdID09PSAnb3V0JyA/ICdpbicgOiAnb3V0JztcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lclxuICAqbmdJZj1cIlxuICAgIGlzU21hbGwgJiZcbiAgICAocm91dGVzPy50b0FycmF5KCk/Lmxlbmd0aCB8fCAobGFuZ3VhZ2VzICYmIGxhbmd1YWdlcy5sZW5ndGggPiAxKSlcbiAgXCJcbj5cbiAgPGJ1dHRvblxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIG1hdC1pY29uLWJ1dHRvblxuICAgIGNsYXNzPVwibWVudS1jbG9zZS1idXR0b25cIlxuICAgIChjbGljayk9XCJjbG9zZSgpXCJcbiAgICBkYXRhLWN5PVwic21hbGxEZXZpY2VNZW51XCJcbiAgICBhdHRyLmFyaWEtbGFiZWw9XCJ7eyAnbGF5b3V0Lm1lbnUnIHwgdHJhbnNsYXRlIH19XCJcbiAgPlxuICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNTbWFsbCAmJiBsYW5ndWFnZXMgJiYgbGFuZ3VhZ2VzLmxlbmd0aCA+IDFcIj5cbiAgICA8bWF0LXRhYi1ncm91cFxuICAgICAgY2xhc3M9XCJsYW5ndWFnZS10YWJzXCJcbiAgICAgIFtzZWxlY3RlZEluZGV4XT1cInNlbGVjdGVkTGFuZ3VhZ2VJbmRleCQgfCBhc3luY1wiXG4gICAgICAoc2VsZWN0ZWRJbmRleENoYW5nZSk9XCJjaGFuZ2VMYW5ndWFnZSgkZXZlbnQpXCJcbiAgICA+XG4gICAgICA8bWF0LXRhYiAqbmdGb3I9XCJsZXQgbGFuZyBvZiBsYW5ndWFnZXNcIj5cbiAgICAgICAgPGRpdiAqbWF0VGFiTGFiZWwgW2F0dHIuZGF0YS1jeV09XCInbGFuZ3VhZ2VfJyArIGxhbmcuY29kZVwiPlxuICAgICAgICAgIHt7IGxhbmcubGFiZWwgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L21hdC10YWI+XG4gICAgPC9tYXQtdGFiLWdyb3VwPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzU21hbGwgJiYgcm91dGVzPy50b0FycmF5KCk/Lmxlbmd0aFwiPlxuICAgIDxtYXQtZGl2aWRlclxuICAgICAgc3R5bGU9XCJhbGlnbi1zZWxmOiBzdHJldGNoOyBtYXJnaW4tYm90dG9tOiAxMHB4XCJcbiAgICAgICpuZ0lmPVwibGFuZ3VhZ2VzICYmIGxhbmd1YWdlcy5sZW5ndGggPiAxXCJcbiAgICA+PC9tYXQtZGl2aWRlcj5cbiAgICA8ZGl2PlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZSBvZiByb3V0ZXM/LnRvQXJyYXkoKTsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWUuaGFzU3Vicm91dGVzKClcIj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBbcm91dGVyTGlua109XCJlLnJvdXRlckxpbmtcIlxuICAgICAgICAgICAgW3JvdXRlckxpbmtBY3RpdmVPcHRpb25zXT1cInsgZXhhY3Q6IHRydWUgfVwiXG4gICAgICAgICAgICByb3V0ZXJMaW5rQWN0aXZlPVwiYWN0aXZlXCJcbiAgICAgICAgICAgIGNsYXNzPVwibW9iaWxlLW1lbnUtaXRlbVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImUubW9iaWxlVGVtcGxhdGUgYXMgcm91dGVUZW1wbGF0ZVwiPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicm91dGVUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZS5oYXNTdWJyb3V0ZXMoKVwiPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cImUucm91dGVyTGlua1wiXG4gICAgICAgICAgICBbcm91dGVyTGlua0FjdGl2ZU9wdGlvbnNdPVwieyBleGFjdDogZmFsc2UgfVwiXG4gICAgICAgICAgICByb3V0ZXJMaW5rQWN0aXZlPVwiYWN0aXZlXCJcbiAgICAgICAgICAgIGNsYXNzPVwibW9iaWxlLW1lbnUtaXRlbVwiXG4gICAgICAgICAgICAoY2xpY2spPVwib3BlblN1Ym1lbnUoaSlcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1jeV09XCJlLmRhdGFDeVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgZS5sYWJlbCB9fVxuICAgICAgICAgICAgPG1hdC1pY29uPmV4cGFuZF9tb3JlPC9tYXQtaWNvbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8ZGl2IFtAc2xpZGVJbk91dF09XCJoZWxwTWVudU9wZW5baV1bMF1cIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGVzIG9mIGUuc3Vicm91dGVzPy50b0FycmF5KCk7IGxldCBqID0gaW5kZXhcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiZXMucm91dGVyTGlua1wiXG4gICAgICAgICAgICAgICAgW3JvdXRlckxpbmtBY3RpdmVPcHRpb25zXT1cInsgZXhhY3Q6IHRydWUgfVwiXG4gICAgICAgICAgICAgICAgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJtb2JpbGUtbWVudS1pdGVtXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib3BlblN1Ym1lbnUoaSwgaiArIDEpXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWN5XT1cImVzLmRhdGFDeVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZXMudGVtcGxhdGUgYXMgcm91dGVUZW1wbGF0ZVwiPlxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInJvdXRlVGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cImVzLmhhc1N1YnJvdXRlcygpXCI+ZXhwYW5kX21vcmU8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPGRpdiBbQHNsaWRlSW5PdXRdPVwiaGVscE1lbnVPcGVuW2ldW2ogKyAxXVwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGVzcyBvZiBlcy5zdWJyb3V0ZXM/LnRvQXJyYXkoKVwiPlxuICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJlc3Mucm91dGVyTGlua1wiXG4gICAgICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rQWN0aXZlT3B0aW9uc109XCJ7IGV4YWN0OiBmYWxzZSB9XCJcbiAgICAgICAgICAgICAgICAgICAgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibW9iaWxlLW1lbnUtaXRlbVwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtY3ldPVwiZXNzLmRhdGFDeVwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1xuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZXNzLnRlbXBsYXRlIGFzIHJvdXRlVGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInJvdXRlVGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LXNpZGVuYXYuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25lbXJ2YS9kZXNpZ24tc3lzdGVtL2xheW91dC9zcmMvY29tcG9uZW50cy9sYXlvdXQtc2lkZW5hdi9sYXlvdXQtc2lkZW5hdi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbmVtcnZhL2Rlc2lnbi1zeXN0ZW0vbGF5b3V0L3NyYy9jb21wb25lbnRzL2xheW91dC1zaWRlbmF2L2xheW91dC1zaWRlbmF2LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRzVFLE9BQU8sRUFBYyxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWxELE9BQU8sRUFDTCxPQUFPLEVBQ1AsS0FBSyxFQUNMLEtBQUssRUFDTCxVQUFVLEVBQ1YsT0FBTyxHQUNSLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7Ozs7QUE0QjdCLE1BQU0sT0FBTyxzQkFBc0I7SUFTakMsWUFDVSxnQkFBa0MsRUFDaEIsUUFBa0IsRUFDcEMsYUFBbUM7UUFGbkMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNoQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ3BDLGtCQUFhLEdBQWIsYUFBYSxDQUFzQjtRQUUzQyxJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQ25FLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFDZixHQUFHLENBQUMsR0FBRyxFQUFFLENBQ1AsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQ3RCLENB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OlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIElucHV0LCBPbkluaXQsIFF1ZXJ5TGlzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgTGF5b3V0Um91dGVDb21wb25lbnQgfSBmcm9tICcuLi9sYXlvdXQtcm91dGUvbGF5b3V0LXJvdXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBtYXAsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgT25lbXJ2YURyYXdlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9kcmF3ZXIuc2VydmljZSc7XG5pbXBvcnQge1xuICBhbmltYXRlLFxuICBzdGF0ZSxcbiAgc3R5bGUsXG4gIHRyYW5zaXRpb24sXG4gIHRyaWdnZXIsXG59IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgT25lbVJ2YUxhbmd1YWdlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL29uZW0tbGFuZ3VhZ2UubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvbmVtcnZhLWxheW91dC1zaWRlbmF2JyxcbiAgdGVtcGxhdGVVcmw6ICdsYXlvdXQtc2lkZW5hdi5jb21wb25lbnQuaHRtbCcsXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdzbGlkZUluT3V0JywgW1xuICAgICAgc3RhdGUoXG4gICAgICAgICdpbicsXG4gICAgICAgIHN0eWxlKHtcbiAgICAgICAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgICAgICAgaGVpZ2h0OiAnKicsXG4gICAgICAgIH0pLFxuICAgICAgKSxcbiAgICAgIHN0YXRlKFxuICAgICAgICAnb3V0JyxcbiAgICAgICAgc3R5bGUoe1xuICAgICAgICAgIG9wYWNpdHk6ICcwJyxcbiAgICAgICAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgICAgICAgaGVpZ2h0OiAnMHB4JyxcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgICAgdHJhbnNpdGlvbignaW4gPT4gb3V0JywgYW5pbWF0ZSgnNDAwbXMgZWFzZS1pbi1vdXQnKSksXG4gICAgICB0cmFuc2l0aW9uKCdvdXQgPT4gaW4nLCBhbmltYXRlKCc0MDBtcyBlYXNlLWluLW91dCcpKSxcbiAgICBdKSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTGF5b3V0U2lkZW5hdkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGlzU21hbGwhOiBib29sZWFuO1xuICBASW5wdXQoKSBsYW5ndWFnZXMhOiBPbmVtUnZhTGFuZ3VhZ2VbXTtcbiAgQElucHV0KCkgcm91dGVzPzogUXVlcnlMaXN0PExheW91dFJvdXRlQ29tcG9uZW50PjtcblxuICBzZWxlY3RlZExhbmd1YWdlSW5kZXgkOiBPYnNlcnZhYmxlPG51bWJlcj47XG5cbiAgaGVscE1lbnVPcGVuITogc3RyaW5nW11bXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQsXG4gICAgcHJpdmF0ZSBkcmF3ZXJTZXJ2aWNlOiBPbmVtcnZhRHJhd2VyU2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy5zZWxlY3RlZExhbmd1YWdlSW5kZXgkID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLm9uTGFuZ0NoYW5nZS5waXBlKFxuICAgICAgc3RhcnRXaXRoKG51bGwpLFxuICAgICAgbWFwKCgpID0+XG4gICAgICAgIHRoaXMubGFuZ3VhZ2VzLmZpbmRJbmRleChcbiAgICAgICAgICBsID0+IGwuY29kZSA9PT0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmN1cnJlbnRMYW5nLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMucm91dGVzKVxuICAgICAgdGhpcy5oZWxwTWVudU9wZW4gPSB0aGlzLnJvdXRlcy5tYXAocm91dGUgPT5cbiAgICAgICAgcm91dGUuaGFzU3Vicm91dGVzKClcbiAgICAgICAgICA/IFsnb3V0JywgLi4ucm91dGUuc3Vicm91dGVzIS5tYXAoKCkgPT4gJ291dCcpXVxuICAgICAgICAgIDogWydpbiddLFxuICAgICAgKTtcbiAgfVxuXG4gIGNoYW5nZUxhbmd1YWdlKGluZGV4OiBudW1iZXIpIHtcbiAgICBjb25zdCBsYW5ndWFnZSA9IHRoaXMubGFuZ3VhZ2VzW2luZGV4XTtcbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudXNlKGxhbmd1YWdlLmNvZGUpO1xuICAgIHRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmxhbmcgPSBsYW5ndWFnZS5jb2RlO1xuICB9XG5cbiAgY2xvc2UoKSB7XG4gICAgdGhpcy5kcmF3ZXJTZXJ2aWNlLmNsb3NlKCk7XG4gIH1cblxuICBvcGVuU3VibWVudShpbmRleDogbnVtYmVyLCBzdWJJZHggPSAwKSB7XG4gICAgdGhpcy5oZWxwTWVudU9wZW5baW5kZXhdW3N1YklkeF0gPVxuICAgICAgdGhpcy5oZWxwTWVudU9wZW5baW5kZXhdW3N1YklkeF0gPT09ICdvdXQnID8gJ2luJyA6ICdvdXQnO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyXG4gICpuZ0lmPVwiXG4gICAgaXNTbWFsbCAmJlxuICAgIChyb3V0ZXM/LnRvQXJyYXkoKT8ubGVuZ3RoIHx8IChsYW5ndWFnZXMgJiYgbGFuZ3VhZ2VzLmxlbmd0aCA+IDEpKVxuICBcIlxuPlxuICA8YnV0dG9uXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgbWF0LWljb24tYnV0dG9uXG4gICAgY2xhc3M9XCJtZW51LWNsb3NlLWJ1dHRvblwiXG4gICAgKGNsaWNrKT1cImNsb3NlKClcIlxuICAgIGRhdGEtY3k9XCJzbWFsbERldmljZU1lbnVcIlxuICAgIGF0dHIuYXJpYS1sYWJlbD1cInt7ICdsYXlvdXQubWVudScgfCB0cmFuc2xhdGUgfX1cIlxuICA+XG4gICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cbiAgPC9idXR0b24+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc1NtYWxsICYmIGxhbmd1YWdlcyAmJiBsYW5ndWFnZXMubGVuZ3RoID4gMVwiPlxuICAgIDxtYXQtdGFiLWdyb3VwXG4gICAgICBjbGFzcz1cImxhbmd1YWdlLXRhYnNcIlxuICAgICAgW3NlbGVjdGVkSW5kZXhdPVwic2VsZWN0ZWRMYW5ndWFnZUluZGV4JCB8IGFzeW5jXCJcbiAgICAgIChzZWxlY3RlZEluZGV4Q2hhbmdlKT1cImNoYW5nZUxhbmd1YWdlKCRldmVudClcIlxuICAgID5cbiAgICAgIDxtYXQtdGFiICpuZ0Zvcj1cImxldCBsYW5nIG9mIGxhbmd1YWdlc1wiPlxuICAgICAgICA8ZGl2ICptYXRUYWJMYWJlbCBbYXR0ci5kYXRhLWN5XT1cIidsYW5ndWFnZV8nICsgbGFuZy5jb2RlXCI+XG4gICAgICAgICAge3sgbGFuZy5sYWJlbCB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbWF0LXRhYj5cbiAgICA8L21hdC10YWItZ3JvdXA+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNTbWFsbCAmJiByb3V0ZXM/LnRvQXJyYXkoKT8ubGVuZ3RoXCI+XG4gICAgPG1hdC1kaXZpZGVyXG4gICAgICBzdHlsZT1cImFsaWduLXNlbGY6IHN0cmV0Y2g7IG1hcmdpbi1ib3R0b206IDEwcHhcIlxuICAgICAgKm5nSWY9XCJsYW5ndWFnZXMgJiYgbGFuZ3VhZ2VzLmxlbmd0aCA+IDFcIlxuICAgID48L21hdC1kaXZpZGVyPlxuICAgIDxkaXY+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBlIG9mIHJvdXRlcz8udG9BcnJheSgpOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZS5oYXNTdWJyb3V0ZXMoKVwiPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cImUucm91dGVyTGlua1wiXG4gICAgICAgICAgICBbcm91dGVyTGlua0FjdGl2ZU9wdGlvbnNdPVwieyBleGFjdDogdHJ1ZSB9XCJcbiAgICAgICAgICAgIHJvdXRlckxpbmtBY3RpdmU9XCJhY3RpdmVcIlxuICAgICAgICAgICAgY2xhc3M9XCJtb2JpbGUtbWVudS1pdGVtXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZS5tb2JpbGVUZW1wbGF0ZSBhcyByb3V0ZVRlbXBsYXRlXCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyb3V0ZVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJlLmhhc1N1YnJvdXRlcygpXCI+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiZS5yb3V0ZXJMaW5rXCJcbiAgICAgICAgICAgIFtyb3V0ZXJMaW5rQWN0aXZlT3B0aW9uc109XCJ7IGV4YWN0OiBmYWxzZSB9XCJcbiAgICAgICAgICAgIHJvdXRlckxpbmtBY3RpdmU9XCJhY3RpdmVcIlxuICAgICAgICAgICAgY2xhc3M9XCJtb2JpbGUtbWVudS1pdGVtXCJcbiAgICAgICAgICAgIChjbGljayk9XCJvcGVuU3VibWVudShpKVwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLWN5XT1cImUuZGF0YUN5XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyBlLmxhYmVsIH19XG4gICAgICAgICAgICA8bWF0LWljb24+ZXhwYW5kX21vcmU8L21hdC1pY29uPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDxkaXYgW0BzbGlkZUluT3V0XT1cImhlbHBNZW51T3BlbltpXVswXVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgZXMgb2YgZS5zdWJyb3V0ZXM/LnRvQXJyYXkoKTsgbGV0IGogPSBpbmRleFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJlcy5yb3V0ZXJMaW5rXCJcbiAgICAgICAgICAgICAgICBbcm91dGVyTGlua0FjdGl2ZU9wdGlvbnNdPVwieyBleGFjdDogdHJ1ZSB9XCJcbiAgICAgICAgICAgICAgICByb3V0ZXJMaW5rQWN0aXZlPVwiYWN0aXZlXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm1vYmlsZS1tZW51LWl0ZW1cIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuU3VibWVudShpLCBqICsgMSlcIlxuICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtY3ldPVwiZXMuZGF0YUN5XCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJlcy50ZW1wbGF0ZSBhcyByb3V0ZVRlbXBsYXRlXCI+XG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwicm91dGVUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwiZXMuaGFzU3Vicm91dGVzKClcIj5leHBhbmRfbW9yZTwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8ZGl2IFtAc2xpZGVJbk91dF09XCJoZWxwTWVudU9wZW5baV1baiArIDFdXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZXNzIG9mIGVzLnN1YnJvdXRlcz8udG9BcnJheSgpXCI+XG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cImVzcy5yb3V0ZXJMaW5rXCJcbiAgICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtBY3RpdmVPcHRpb25zXT1cInsgZXhhY3Q6IGZhbHNlIH1cIlxuICAgICAgICAgICAgICAgICAgICByb3V0ZXJMaW5rQWN0aXZlPVwiYWN0aXZlXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtb2JpbGUtbWVudS1pdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1jeV09XCJlc3MuZGF0YUN5XCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJlc3MudGVtcGxhdGUgYXMgcm91dGVUZW1wbGF0ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwicm91dGVUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -1,10 +1,10 @@
1
1
  import { Component, TemplateRef, ViewChild } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class LayoutSidenavTitleComponent {
4
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: LayoutSidenavTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: LayoutSidenavTitleComponent, selector: "onemrva-layout-sidenav-title", viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: ` <ng-template><ng-content></ng-content></ng-template> `, isInline: true }); }
4
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: LayoutSidenavTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: LayoutSidenavTitleComponent, selector: "onemrva-layout-sidenav-title", viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: ` <ng-template><ng-content></ng-content></ng-template> `, isInline: true }); }
6
6
  }
7
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: LayoutSidenavTitleComponent, decorators: [{
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: LayoutSidenavTitleComponent, decorators: [{
8
8
  type: Component,
9
9
  args: [{
10
10
  selector: 'onemrva-layout-sidenav-title',
@@ -31,10 +31,10 @@ export class LayoutSubrouteComponent {
31
31
  return false;
32
32
  }
33
33
  }
34
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: LayoutSubrouteComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Component }); }
35
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: LayoutSubrouteComponent, selector: "onemrva-layout-subroute", inputs: { customNgClass: "customNgClass", routerLink: "routerLink", routerLinkActiveOptions: "routerLinkActiveOptions", dataCy: "dataCy" }, queries: [{ propertyName: "subroutes", predicate: LayoutSubrouteComponent }], viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: "<!--\n// This does not seem to work for sub menus as they how the sub menu only on click instead of on hover\n<ng-template #navTpl>\n <ng-container *ngIf=\"!hasSubroutes()\">\n <button mat-menu-item\n [routerLink]=\"routerLink\"\n routerLinkActive=\"active\">\n <ng-container *ngIf=\"template as routeTemplate\">\n\n <ng-container *ngTemplateOutlet=\"contentTmpl\"></ng-container>\n </ng-container>\n </button>\n </ng-container>\n\n <ng-container *ngIf=\"hasSubroutes()\">\n <button mat-menu-item\n [matMenuTriggerFor]=\"submenu\">\n <ng-container *ngTemplateOutlet=\"contentTmpl\"></ng-container>\n </button>\n <mat-menu #submenu>\n <ng-container *ngFor=\"let e of subroutes?.toArray(); let i = index\">\n <button mat-menu-item\n [routerLink]=\"e.routerLink\"\n routerLinkActive=\"active\">\n <ng-container *ngIf=\"e.template as routeTemplate\">\n <ng-container *ngTemplateOutlet=\"routeTemplate\">\n\n </ng-container>\n </ng-container>\n </button>\n </ng-container>\n </mat-menu>\n </ng-container>\n\n <ng-template #contentTmpl>\n <ng-content></ng-content>\n </ng-template>\n\n</ng-template>-->\n\n<ng-template>\n <ng-content></ng-content>\n</ng-template>\n" }); }
34
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: LayoutSubrouteComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Component }); }
35
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: LayoutSubrouteComponent, selector: "onemrva-layout-subroute", inputs: { customNgClass: "customNgClass", routerLink: "routerLink", routerLinkActiveOptions: "routerLinkActiveOptions", dataCy: "dataCy" }, queries: [{ propertyName: "subroutes", predicate: LayoutSubrouteComponent }], viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: "<!--\n// This does not seem to work for sub menus as they how the sub menu only on click instead of on hover\n<ng-template #navTpl>\n <ng-container *ngIf=\"!hasSubroutes()\">\n <button mat-menu-item\n [routerLink]=\"routerLink\"\n routerLinkActive=\"active\">\n <ng-container *ngIf=\"template as routeTemplate\">\n\n <ng-container *ngTemplateOutlet=\"contentTmpl\"></ng-container>\n </ng-container>\n </button>\n </ng-container>\n\n <ng-container *ngIf=\"hasSubroutes()\">\n <button mat-menu-item\n [matMenuTriggerFor]=\"submenu\">\n <ng-container *ngTemplateOutlet=\"contentTmpl\"></ng-container>\n </button>\n <mat-menu #submenu>\n <ng-container *ngFor=\"let e of subroutes?.toArray(); let i = index\">\n <button mat-menu-item\n [routerLink]=\"e.routerLink\"\n routerLinkActive=\"active\">\n <ng-container *ngIf=\"e.template as routeTemplate\">\n <ng-container *ngTemplateOutlet=\"routeTemplate\">\n\n </ng-container>\n </ng-container>\n </button>\n </ng-container>\n </mat-menu>\n </ng-container>\n\n <ng-template #contentTmpl>\n <ng-content></ng-content>\n </ng-template>\n\n</ng-template>-->\n\n<ng-template>\n <ng-content></ng-content>\n</ng-template>\n" }); }
36
36
  }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: LayoutSubrouteComponent, decorators: [{
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: LayoutSubrouteComponent, decorators: [{
38
38
  type: Component,
39
39
  args: [{ selector: 'onemrva-layout-subroute', template: "<!--\n// This does not seem to work for sub menus as they how the sub menu only on click instead of on hover\n<ng-template #navTpl>\n <ng-container *ngIf=\"!hasSubroutes()\">\n <button mat-menu-item\n [routerLink]=\"routerLink\"\n routerLinkActive=\"active\">\n <ng-container *ngIf=\"template as routeTemplate\">\n\n <ng-container *ngTemplateOutlet=\"contentTmpl\"></ng-container>\n </ng-container>\n </button>\n </ng-container>\n\n <ng-container *ngIf=\"hasSubroutes()\">\n <button mat-menu-item\n [matMenuTriggerFor]=\"submenu\">\n <ng-container *ngTemplateOutlet=\"contentTmpl\"></ng-container>\n </button>\n <mat-menu #submenu>\n <ng-container *ngFor=\"let e of subroutes?.toArray(); let i = index\">\n <button mat-menu-item\n [routerLink]=\"e.routerLink\"\n routerLinkActive=\"active\">\n <ng-container *ngIf=\"e.template as routeTemplate\">\n <ng-container *ngTemplateOutlet=\"routeTemplate\">\n\n </ng-container>\n </ng-container>\n </button>\n </ng-container>\n </mat-menu>\n </ng-container>\n\n <ng-template #contentTmpl>\n <ng-content></ng-content>\n </ng-template>\n\n</ng-template>-->\n\n<ng-template>\n <ng-content></ng-content>\n</ng-template>\n" }]
40
40
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.Router }], propDecorators: { customNgClass: [{
@@ -7,10 +7,10 @@ export class LayoutTitleComponent {
7
7
  ngAfterViewInit() {
8
8
  this.cd.detectChanges();
9
9
  }
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: LayoutTitleComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
11
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: LayoutTitleComponent, selector: "onemrva-layout-title", inputs: { customNgClass: "customNgClass" }, viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: '<ng-template><ng-content></ng-content></ng-template>', isInline: true }); }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: LayoutTitleComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
11
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: LayoutTitleComponent, selector: "onemrva-layout-title", inputs: { customNgClass: "customNgClass" }, viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: '<ng-template><ng-content></ng-content></ng-template>', isInline: true }); }
12
12
  }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: LayoutTitleComponent, decorators: [{
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: LayoutTitleComponent, decorators: [{
14
14
  type: Component,
15
15
  args: [{
16
16
  selector: 'onemrva-layout-title',
@@ -26,10 +26,10 @@ export class DrawerHostDirective {
26
26
  this.bodyClass();
27
27
  });
28
28
  }
29
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: DrawerHostDirective, deps: [{ token: i1.MatDrawer }, { token: i0.ViewContainerRef }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive }); }
30
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: DrawerHostDirective, selector: "[drawerhost]", ngImport: i0 }); }
29
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: DrawerHostDirective, deps: [{ token: i1.MatDrawer }, { token: i0.ViewContainerRef }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive }); }
30
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.4", type: DrawerHostDirective, selector: "[drawerhost]", ngImport: i0 }); }
31
31
  }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: DrawerHostDirective, decorators: [{
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: DrawerHostDirective, decorators: [{
33
33
  type: Directive,
34
34
  args: [{
35
35
  selector: '[drawerhost]',
@@ -29,8 +29,8 @@ import * as i8 from "./components/layout-sidenav/layout-sidenav.component";
29
29
  import * as i9 from "./components/layout-login-menu/layout-login-menu.component";
30
30
  import * as i10 from "./components/layout-after-nav/layout-after-nav.component";
31
31
  export class OnemrvaLayoutModule {
32
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: OnemrvaLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
33
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.5", ngImport: i0, type: OnemrvaLayoutModule, declarations: [i1.LayoutComponent, i2.LayoutContentComponent, i3.LayoutFooterComponent, i4.LayoutRouteComponent, i5.LayoutSubrouteComponent, i6.LayoutTitleComponent, i7.LayoutSidenavTitleComponent, i8.LayoutSidenavComponent, i9.LayoutLoginMenuComponent, i10.LayoutAfterNavComponent, DrawerHostDirective, StripHtmlPipe], imports: [CommonModule,
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: OnemrvaLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
33
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.4", ngImport: i0, type: OnemrvaLayoutModule, declarations: [i1.LayoutComponent, i2.LayoutContentComponent, i3.LayoutFooterComponent, i4.LayoutRouteComponent, i5.LayoutSubrouteComponent, i6.LayoutTitleComponent, i7.LayoutSidenavTitleComponent, i8.LayoutSidenavComponent, i9.LayoutLoginMenuComponent, i10.LayoutAfterNavComponent, DrawerHostDirective, StripHtmlPipe], imports: [CommonModule,
34
34
  RouterModule,
35
35
  LayoutModule,
36
36
  MatToolbarModule,
@@ -44,7 +44,7 @@ export class OnemrvaLayoutModule {
44
44
  MatTooltipModule,
45
45
  TranslateModule,
46
46
  MatRipple], exports: [i1.LayoutComponent, i2.LayoutContentComponent, i3.LayoutFooterComponent, i4.LayoutRouteComponent, i5.LayoutSubrouteComponent, i6.LayoutTitleComponent, i7.LayoutSidenavTitleComponent, i8.LayoutSidenavComponent, i9.LayoutLoginMenuComponent, i10.LayoutAfterNavComponent, LayoutModule] }); }
47
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: OnemrvaLayoutModule, providers: [
47
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: OnemrvaLayoutModule, providers: [
48
48
  {
49
49
  provide: MAT_SNACK_BAR_DEFAULT_OPTIONS,
50
50
  useValue: { horizontalPosition: 'right' },
@@ -63,7 +63,7 @@ export class OnemrvaLayoutModule {
63
63
  MatTooltipModule,
64
64
  TranslateModule, LayoutModule] }); }
65
65
  }
66
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: OnemrvaLayoutModule, decorators: [{
66
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: OnemrvaLayoutModule, decorators: [{
67
67
  type: NgModule,
68
68
  args: [{
69
69
  declarations: [...components, DrawerHostDirective, StripHtmlPipe],
@@ -43,4 +43,4 @@ export class OnemRvaProfile {
43
43
  this._isLoggedIn = false;
44
44
  }
45
45
  }
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lbXJ2YS1wcm9maWxlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25lbXJ2YS9kZXNpZ24tc3lzdGVtL2xheW91dC9zcmMvbW9kZWxzL29uZW1ydmEtcHJvZmlsZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sY0FBYztJQVF6QixZQUFtQixHQUFHLElBQVc7UUFQekIsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFDN0IsZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUN4QixjQUFTLEdBQVcsRUFBRSxDQUFDO1FBTTdCLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMxQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN6QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUMxQixDQUFDO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssRUFBRSxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssRUFBRTtZQUFFLE9BQU8sRUFBRSxDQUFDO1FBQy9ELE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDdkUsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxTQUFTLENBQUMsS0FBYTtRQUN6QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFJLFFBQVEsQ0FBQyxLQUFhO1FBQ3hCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksVUFBVSxDQUFDLEtBQWM7UUFDM0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQUVELEtBQUssQ0FBQyxTQUFpQixFQUFFLFFBQWdCO1FBQ3ZDLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO1FBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1FBQzFCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO0lBQzFCLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDM0IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIE9uZW1SdmFQcm9maWxlIHtcbiAgcHJpdmF0ZSBfaXNMb2dnZWRJbjogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIF9maXJzdE5hbWU6IHN0cmluZyA9ICcnO1xuICBwcml2YXRlIF9sYXN0TmFtZTogc3RyaW5nID0gJyc7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCk7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihmaXJzdE5hbWU6IHN0cmluZywgbGFzdE5hbWU6IHN0cmluZyk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgaWYgKGFyZ3MubGVuZ3RoID09PSAyKSB7XG4gICAgICB0aGlzLl9maXJzdE5hbWUgPSBhcmdzWzBdO1xuICAgICAgdGhpcy5fbGFzdE5hbWUgPSBhcmdzWzFdO1xuICAgICAgdGhpcy5faXNMb2dnZWRJbiA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgaW5pdGlhbHMoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5fZmlyc3ROYW1lID09PSAnJyB8fCB0aGlzLl9sYXN0TmFtZSA9PT0gJycpIHJldHVybiAnJztcbiAgICByZXR1cm4gYCR7dGhpcy5fZmlyc3ROYW1lLnNsaWNlKDAsIDEpfSR7dGhpcy5fbGFzdE5hbWUuc2xpY2UoMCwgMSl9YDtcbiAgfVxuXG4gIGdldCBmaXJzdE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fZmlyc3ROYW1lO1xuICB9XG5cbiAgc2V0IGZpcnN0TmFtZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fZmlyc3ROYW1lID0gdmFsdWU7XG4gIH1cblxuICBnZXQgbGFzdE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fbGFzdE5hbWU7XG4gIH1cblxuICBzZXQgbGFzdE5hbWUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2xhc3ROYW1lID0gdmFsdWU7XG4gIH1cblxuICBnZXQgaXNMb2dnZWRJbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faXNMb2dnZWRJbjtcbiAgfVxuXG4gIHNldCBpc0xvZ2dlZEluKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5faXNMb2dnZWRJbiA9IHZhbHVlO1xuICB9XG5cbiAgbG9naW4oZmlyc3ROYW1lOiBzdHJpbmcsIGxhc3ROYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9maXJzdE5hbWUgPSBmaXJzdE5hbWU7XG4gICAgdGhpcy5fbGFzdE5hbWUgPSBsYXN0TmFtZTtcbiAgICB0aGlzLl9pc0xvZ2dlZEluID0gdHJ1ZTtcbiAgfVxuXG4gIGxvZ291dCgpIHtcbiAgICB0aGlzLl9maXJzdE5hbWUgPSAnJztcbiAgICB0aGlzLl9sYXN0TmFtZSA9ICcnO1xuICAgIHRoaXMuX2lzTG9nZ2VkSW4gPSBmYWxzZTtcbiAgfVxufVxuIl19
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lbXJ2YS1wcm9maWxlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25lbXJ2YS9kZXNpZ24tc3lzdGVtL2xheW91dC9zcmMvbW9kZWxzL29uZW1ydmEtcHJvZmlsZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sY0FBYztJQVF6QixZQUFtQixHQUFHLElBQVc7UUFQekIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNoQixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBTXJCLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMxQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN6QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUMxQixDQUFDO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssRUFBRSxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssRUFBRTtZQUFFLE9BQU8sRUFBRSxDQUFDO1FBQy9ELE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDdkUsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxTQUFTLENBQUMsS0FBYTtRQUN6QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFJLFFBQVEsQ0FBQyxLQUFhO1FBQ3hCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksVUFBVSxDQUFDLEtBQWM7UUFDM0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQUVELEtBQUssQ0FBQyxTQUFpQixFQUFFLFFBQWdCO1FBQ3ZDLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO1FBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1FBQzFCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO0lBQzFCLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDM0IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIE9uZW1SdmFQcm9maWxlIHtcbiAgcHJpdmF0ZSBfaXNMb2dnZWRJbiA9IGZhbHNlO1xuICBwcml2YXRlIF9maXJzdE5hbWUgPSAnJztcbiAgcHJpdmF0ZSBfbGFzdE5hbWUgPSAnJztcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKTtcbiAgcHVibGljIGNvbnN0cnVjdG9yKGZpcnN0TmFtZTogc3RyaW5nLCBsYXN0TmFtZTogc3RyaW5nKTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoLi4uYXJnczogYW55W10pIHtcbiAgICBpZiAoYXJncy5sZW5ndGggPT09IDIpIHtcbiAgICAgIHRoaXMuX2ZpcnN0TmFtZSA9IGFyZ3NbMF07XG4gICAgICB0aGlzLl9sYXN0TmFtZSA9IGFyZ3NbMV07XG4gICAgICB0aGlzLl9pc0xvZ2dlZEluID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBpbml0aWFscygpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLl9maXJzdE5hbWUgPT09ICcnIHx8IHRoaXMuX2xhc3ROYW1lID09PSAnJykgcmV0dXJuICcnO1xuICAgIHJldHVybiBgJHt0aGlzLl9maXJzdE5hbWUuc2xpY2UoMCwgMSl9JHt0aGlzLl9sYXN0TmFtZS5zbGljZSgwLCAxKX1gO1xuICB9XG5cbiAgZ2V0IGZpcnN0TmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9maXJzdE5hbWU7XG4gIH1cblxuICBzZXQgZmlyc3ROYW1lKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9maXJzdE5hbWUgPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCBsYXN0TmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9sYXN0TmFtZTtcbiAgfVxuXG4gIHNldCBsYXN0TmFtZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fbGFzdE5hbWUgPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCBpc0xvZ2dlZEluKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9pc0xvZ2dlZEluO1xuICB9XG5cbiAgc2V0IGlzTG9nZ2VkSW4odmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9pc0xvZ2dlZEluID0gdmFsdWU7XG4gIH1cblxuICBsb2dpbihmaXJzdE5hbWU6IHN0cmluZywgbGFzdE5hbWU6IHN0cmluZykge1xuICAgIHRoaXMuX2ZpcnN0TmFtZSA9IGZpcnN0TmFtZTtcbiAgICB0aGlzLl9sYXN0TmFtZSA9IGxhc3ROYW1lO1xuICAgIHRoaXMuX2lzTG9nZ2VkSW4gPSB0cnVlO1xuICB9XG5cbiAgbG9nb3V0KCkge1xuICAgIHRoaXMuX2ZpcnN0TmFtZSA9ICcnO1xuICAgIHRoaXMuX2xhc3ROYW1lID0gJyc7XG4gICAgdGhpcy5faXNMb2dnZWRJbiA9IGZhbHNlO1xuICB9XG59XG4iXX0=
@@ -19,13 +19,13 @@ export class OnemrvaDrawerService {
19
19
  return;
20
20
  this.drawer?.close();
21
21
  }
22
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: OnemrvaDrawerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
23
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: OnemrvaDrawerService, providedIn: 'root' }); }
22
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: OnemrvaDrawerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
23
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: OnemrvaDrawerService, providedIn: 'root' }); }
24
24
  }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: OnemrvaDrawerService, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: OnemrvaDrawerService, decorators: [{
26
26
  type: Injectable,
27
27
  args: [{
28
28
  providedIn: 'root',
29
29
  }]
30
- }], ctorParameters: () => [] });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbmVtcnZhL2Rlc2lnbi1zeXN0ZW0vbGF5b3V0L3NyYy9zZXJ2aWNlcy9kcmF3ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU8zQyxNQUFNLE9BQU8sb0JBQW9CO0lBTS9CO1FBRkEsZ0JBQVcsR0FBRyxLQUFLLENBQUM7SUFFTCxDQUFDO0lBRWhCLE1BQU07UUFDSixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU07WUFBRSxPQUFPO1FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUk7UUFDRixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU07WUFBRSxPQUFPO1FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU07WUFBRSxPQUFPO1FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDdkIsQ0FBQzs4R0FyQlUsb0JBQW9CO2tIQUFwQixvQkFBb0IsY0FGbkIsTUFBTTs7MkZBRVAsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERyYXdlckhvc3REaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL2RyYXdlci1ob3N0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBNYXREcmF3ZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIE9uZW1ydmFEcmF3ZXJTZXJ2aWNlIHtcbiAgcHVibGljIGhvc3Q/OiBEcmF3ZXJIb3N0RGlyZWN0aXZlO1xuICBkcmF3ZXI/OiBNYXREcmF3ZXI7XG5cbiAgaGFzQmFja2Ryb3AgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgdG9nZ2xlKCkge1xuICAgIGlmICghdGhpcy5kcmF3ZXIpIHJldHVybjtcbiAgICB0aGlzLmRyYXdlcj8udG9nZ2xlKCk7XG4gIH1cblxuICBvcGVuKCkge1xuICAgIGlmICghdGhpcy5kcmF3ZXIpIHJldHVybjtcbiAgICB0aGlzLmRyYXdlcj8ub3BlbigpO1xuICB9XG5cbiAgY2xvc2UoKSB7XG4gICAgaWYgKCF0aGlzLmRyYXdlcikgcmV0dXJuO1xuICAgIHRoaXMuZHJhd2VyPy5jbG9zZSgpO1xuICB9XG59XG4iXX0=
30
+ }] });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbmVtcnZhL2Rlc2lnbi1zeXN0ZW0vbGF5b3V0L3NyYy9zZXJ2aWNlcy9kcmF3ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU8zQyxNQUFNLE9BQU8sb0JBQW9CO0lBSGpDO1FBT0UsZ0JBQVcsR0FBRyxLQUFLLENBQUM7S0FnQnJCO0lBZEMsTUFBTTtRQUNKLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTTtZQUFFLE9BQU87UUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTTtZQUFFLE9BQU87UUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTTtZQUFFLE9BQU87UUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUN2QixDQUFDOzhHQW5CVSxvQkFBb0I7a0hBQXBCLG9CQUFvQixjQUZuQixNQUFNOzsyRkFFUCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRHJhd2VySG9zdERpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvZHJhd2VyLWhvc3QuZGlyZWN0aXZlJztcbmltcG9ydCB7IE1hdERyYXdlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NpZGVuYXYnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgT25lbXJ2YURyYXdlclNlcnZpY2Uge1xuICBwdWJsaWMgaG9zdD86IERyYXdlckhvc3REaXJlY3RpdmU7XG4gIGRyYXdlcj86IE1hdERyYXdlcjtcblxuICBoYXNCYWNrZHJvcCA9IGZhbHNlO1xuXG4gIHRvZ2dsZSgpIHtcbiAgICBpZiAoIXRoaXMuZHJhd2VyKSByZXR1cm47XG4gICAgdGhpcy5kcmF3ZXI/LnRvZ2dsZSgpO1xuICB9XG5cbiAgb3BlbigpIHtcbiAgICBpZiAoIXRoaXMuZHJhd2VyKSByZXR1cm47XG4gICAgdGhpcy5kcmF3ZXI/Lm9wZW4oKTtcbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIGlmICghdGhpcy5kcmF3ZXIpIHJldHVybjtcbiAgICB0aGlzLmRyYXdlcj8uY2xvc2UoKTtcbiAgfVxufVxuIl19
@@ -4,10 +4,10 @@ export class StripHtmlPipe {
4
4
  transform(value) {
5
5
  return value.replace(/<.*?>/g, ''); // replace tags
6
6
  }
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: StripHtmlPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
8
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.5", ngImport: i0, type: StripHtmlPipe, name: "striphtml" }); }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: StripHtmlPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
8
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.4", ngImport: i0, type: StripHtmlPipe, name: "striphtml" }); }
9
9
  }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: StripHtmlPipe, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: StripHtmlPipe, decorators: [{
11
11
  type: Pipe,
12
12
  args: [{
13
13
  name: 'striphtml',
@@ -338,10 +338,10 @@ export class OnemrvaMatAvatarComponent {
338
338
  return 'custom avatar';
339
339
  }
340
340
  }
341
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: OnemrvaMatAvatarComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
342
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: OnemrvaMatAvatarComponent, selector: "onemrva-mat-avatar", inputs: { id: "id", roundShape: "roundShape", initials: "initials", icon: "icon", src: "src", size: "size", color: "color" }, host: { properties: { "attr.aria-label": "this.ariaLabel", "attr.role": "this.role", "class.onemrva-mat-avatar": "this.cssClass", "attr.aria-roledescription": "this.roleDescription", "attr.id": "this.id", "class.onemrva-mat-avatar--rounded": "this.roundShape", "class.onemrva-mat-avatar--extrasmall": "this._isXSmallSize", "class.onemrva-mat-avatar--small": "this._isSmallSize", "class.onemrva-mat-avatar--medium": "this._isMediumSize", "class.onemrva-mat-avatar--large": "this._isLargeSize", "class.onemrva-mat-avatar--extralarge": "this._isXLargeSize", "mat-accent": "this._colorAccent", "class.mat-primary": "this._isPrimary", "class.mat-accent": "this._isAccent", "class.mat-error": "this._isError", "class.mat-warn": "this._isWarn", "class.mat-success": "this._isSuccess", "class.mat-info": "this._isInfo", "class.mat-grayscale": "this._isGrayscale", "class.onemrva-mat-avatar--image": "this._isImageType", "class.onemrva-mat-avatar--icon": "this._isIconType", "class.onemrva-mat-avatar--initials": "this._isInitialsType" } }, viewQueries: [{ propertyName: "defaultTemplate", first: true, predicate: ["defaultTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "imageTemplate", first: true, predicate: ["imageTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "initialsTemplate", first: true, predicate: ["initialsTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "iconTemplate", first: true, predicate: ["iconTemplate"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "<ng-template #defaultTemplate>\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template #imageTemplate>\n <div\n #image\n class=\"onemrva-avatar__image\"\n [style.backgroundImage]=\"getSrcUrl()\"\n ></div>\n</ng-template>\n\n<ng-template #initialsTemplate>\n <span>{{ initials | slice: 0 : 2 }}</span>\n</ng-template>\n\n<ng-template #iconTemplate>\n <mat-icon>{{ icon }}</mat-icon>\n</ng-template>\n\n<ng-container *ngTemplateOutlet=\"template\"></ng-container>\n", dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i1.SlicePipe, name: "slice" }] }); }
341
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: OnemrvaMatAvatarComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
342
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: OnemrvaMatAvatarComponent, selector: "onemrva-mat-avatar", inputs: { id: "id", roundShape: "roundShape", initials: "initials", icon: "icon", src: "src", size: "size", color: "color" }, host: { properties: { "attr.aria-label": "this.ariaLabel", "attr.role": "this.role", "class.onemrva-mat-avatar": "this.cssClass", "attr.aria-roledescription": "this.roleDescription", "attr.id": "this.id", "class.onemrva-mat-avatar--rounded": "this.roundShape", "class.onemrva-mat-avatar--extrasmall": "this._isXSmallSize", "class.onemrva-mat-avatar--small": "this._isSmallSize", "class.onemrva-mat-avatar--medium": "this._isMediumSize", "class.onemrva-mat-avatar--large": "this._isLargeSize", "class.onemrva-mat-avatar--extralarge": "this._isXLargeSize", "mat-accent": "this._colorAccent", "class.mat-primary": "this._isPrimary", "class.mat-accent": "this._isAccent", "class.mat-error": "this._isError", "class.mat-warn": "this._isWarn", "class.mat-success": "this._isSuccess", "class.mat-info": "this._isInfo", "class.mat-grayscale": "this._isGrayscale", "class.onemrva-mat-avatar--image": "this._isImageType", "class.onemrva-mat-avatar--icon": "this._isIconType", "class.onemrva-mat-avatar--initials": "this._isInitialsType" } }, viewQueries: [{ propertyName: "defaultTemplate", first: true, predicate: ["defaultTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "imageTemplate", first: true, predicate: ["imageTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "initialsTemplate", first: true, predicate: ["initialsTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "iconTemplate", first: true, predicate: ["iconTemplate"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "<ng-template #defaultTemplate>\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template #imageTemplate>\n <div\n #image\n class=\"onemrva-avatar__image\"\n [style.backgroundImage]=\"getSrcUrl()\"\n ></div>\n</ng-template>\n\n<ng-template #initialsTemplate>\n <span>{{ initials | slice: 0 : 2 }}</span>\n</ng-template>\n\n<ng-template #iconTemplate>\n <mat-icon>{{ icon }}</mat-icon>\n</ng-template>\n\n<ng-container *ngTemplateOutlet=\"template\"></ng-container>\n", dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i1.SlicePipe, name: "slice" }] }); }
343
343
  }
344
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: OnemrvaMatAvatarComponent, decorators: [{
344
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: OnemrvaMatAvatarComponent, decorators: [{
345
345
  type: Component,
346
346
  args: [{ selector: 'onemrva-mat-avatar', template: "<ng-template #defaultTemplate>\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template #imageTemplate>\n <div\n #image\n class=\"onemrva-avatar__image\"\n [style.backgroundImage]=\"getSrcUrl()\"\n ></div>\n</ng-template>\n\n<ng-template #initialsTemplate>\n <span>{{ initials | slice: 0 : 2 }}</span>\n</ng-template>\n\n<ng-template #iconTemplate>\n <mat-icon>{{ icon }}</mat-icon>\n</ng-template>\n\n<ng-container *ngTemplateOutlet=\"template\"></ng-container>\n" }]
347
347
  }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { ariaLabel: [{
@@ -437,4 +437,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
437
437
  type: HostBinding,
438
438
  args: ['class.onemrva-mat-avatar--initials']
439
439
  }] } });
440
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lbXJ2YS1tYXQtYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29uZW1ydmEvZGVzaWduLXN5c3RlbS9tYXQtYXZhdGFyL3NyYy9vbmVtcnZhLW1hdC1hdmF0YXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25lbXJ2YS9kZXNpZ24tc3lzdGVtL21hdC1hdmF0YXIvc3JjL29uZW1ydmEtbWF0LWF2YXRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULFdBQVcsRUFDWCxLQUFLLEVBRUwsV0FBVyxFQUNYLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsTUFBTSxFQUNOLGNBQWMsRUFDZCxlQUFlLEdBQ2hCLE1BQU0sb0NBQW9DLENBQUM7Ozs7QUFFNUMsSUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFDO0FBRWhCLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUM7SUFDbEMsUUFBUSxFQUFFLFVBQVU7SUFDcEIsS0FBSyxFQUFFLE9BQU87SUFDZCxJQUFJLEVBQUUsTUFBTTtJQUNaLE1BQU0sRUFBRSxRQUFRO0NBQ2pCLENBQUMsQ0FBQztBQUdIOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQkc7QUFLSCxNQUFNLE9BQU8seUJBQXlCO0lBbUlwQzs7Ozs7OztPQU9HO0lBQ0gsSUFDVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILElBQVcsSUFBSSxDQUFDLEtBQThCO1FBQzVDLFFBQVEsS0FBSyxFQUFFLENBQUM7WUFDZCxLQUFLLGNBQWMsQ0FBQyxNQUFNLENBQUM7WUFDM0IsS0FBSyxjQUFjLENBQUMsS0FBSyxDQUFDO1lBQzFCLEtBQUssY0FBYyxDQUFDLE1B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QkFBa0IsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFLeEQsWUFBWTtzQkFEckIsU0FBUzt1QkFBQyxjQUFjLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBa0JuRCxJQUFJO3NCQURkLEtBQUs7Z0JBOEJLLGFBQWE7c0JBRHZCLFdBQVc7dUJBQUMsc0NBQXNDO2dCQU14QyxZQUFZO3NCQUR0QixXQUFXO3VCQUFDLGlDQUFpQztnQkFNbkMsYUFBYTtzQkFEdkIsV0FBVzt1QkFBQyxrQ0FBa0M7Z0JBTXBDLFlBQVk7c0JBRHRCLFdBQVc7dUJBQUMsaUNBQWlDO2dCQU1uQyxhQUFhO3NCQUR2QixXQUFXO3VCQUFDLHNDQUFzQztnQkFheEMsWUFBWTtzQkFEdEIsV0FBVzt1QkFBQyxZQUFZO2dCQWNkLEtBQUs7c0JBRGYsS0FBSztnQkFpQ0ssVUFBVTtzQkFEcEIsV0FBVzt1QkFBQyxtQkFBbUI7Z0JBTXJCLFNBQVM7c0JBRG5CLFdBQVc7dUJBQUMsa0JBQWtCO2dCQU1wQixRQUFRO3NCQURsQixXQUFXO3VCQUFDLGlCQUFpQjtnQkFNbkIsT0FBTztzQkFEakIsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBTWxCLFVBQVU7c0JBRHBCLFdBQVc7dUJBQUMsbUJBQW1CO2dCQU1yQixPQUFPO3NCQURqQixXQUFXO3VCQUFDLGdCQUFnQjtnQkFNbEIsWUFBWTtzQkFEdEIsV0FBVzt1QkFBQyxxQkFBcUI7Z0JBK0J2QixZQUFZO3NCQUR0QixXQUFXO3VCQUFDLGlDQUFpQztnQkFNbkMsV0FBVztzQkFEckIsV0FBVzt1QkFBQyxnQ0FBZ0M7Z0JBTWxDLGVBQWU7c0JBRHpCLFdBQVc7dUJBQUMsb0NBQW9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBta2VudW0sXG4gIE9uZW1ydmFNYXRTaXplLFxuICBPbmVtcnZhTWF0Q29sb3IsXG59IGZyb20gJ0BvbmVtcnZhcHVibGljL2Rlc2lnbi1zeXN0ZW0vdXRpbHMnO1xuXG5sZXQgTkVYVF9JRCA9IDA7XG5cbmV4cG9ydCBjb25zdCBNYXRBdmF0YXJUeXBlID0gbWtlbnVtKHtcbiAgSU5JVElBTFM6ICdpbml0aWFscycsXG4gIElNQUdFOiAnaW1hZ2UnLFxuICBJQ09OOiAnaWNvbicsXG4gIENVU1RPTTogJ2N1c3RvbScsXG59KTtcbmV4cG9ydCB0eXBlIE1hdEF2YXRhclR5cGUgPSAodHlwZW9mIE1hdEF2YXRhclR5cGUpW2tleW9mIHR5cGVvZiBNYXRBdmF0YXJUeXBlXTtcblxuLyoqXG4gKiBBdmF0YXIgcHJvdmlkZXMgYSB3YXkgdG8gZGlzcGxheSBhbiBpbWFnZSwgaWNvbiBvciBpbml0aWFscyB0byB0aGUgdXNlci5cbiAqXG4gKiBATWF0TW9kdWxlIE9uZW1ydmFNYXRBdmF0YXJNb2R1bGVcbiAqXG4gKiBATWF0VGhlbWUgb25lbXJ2YS1tYXQtYXZhdGFyLXRoZW1lLCBvbmVtcnZhLW1hdC1pY29uLXRoZW1lXG4gKlxuICogQE1hdEtleXdvcmRzIGF2YXRhciwgcHJvZmlsZSwgcGljdHVyZSwgaW5pdGlhbHNcbiAqXG4gKiBATWF0R3JvdXAgTGF5b3V0c1xuICpcbiAqIEByZW1hcmtzXG4gKlxuICogVGhlIElnbml0ZSBVSSBBdmF0YXIgcHJvdmlkZXMgYW4gZWFzeSB3YXkgdG8gYWRkIGFuIGF2YXRhciBpY29uIHRvIHlvdXIgYXBwbGljYXRpb24uICBUaGlzIGljb24gY2FuIGJlIGFuXG4gKiBpbWFnZSwgc29tZW9uZSdzIGluaXRpYWxzIG9yIGEgbWF0ZXJpYWwgaWNvbiBmcm9tIHRoZSBHb29nbGUgTWF0ZXJpYWwgaWNvbiBzZXQuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYGh0bWxcbiAqIDxvbmVtcnZhLW1hdC1hdmF0YXIgaW5pdGlhbHM9XCJNU1wiIFtyb3VuZFNoYXBlXT1cInRydWVcIiBzaXplPVwibGFyZ2VcIj5cbiAqIDwvb25lbXJ2YS1tYXQtYXZhdGFyPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29uZW1ydmEtbWF0LWF2YXRhcicsXG4gIHRlbXBsYXRlVXJsOiAnb25lbXJ2YS1tYXQtYXZhdGFyLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgT25lbXJ2YU1hdEF2YXRhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBgYXJpYS1sYWJlbGAgYXR0cmlidXRlIG9mIHRoZSBhdmF0YXIuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogbGV0IGFyaWFMYWJlbCA9IHRoaXMuYXZhdGFyLmFyaWFMYWJlbDtcbiAgICogYGBgXG4gICAqXG4gICAqL1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1sYWJlbCcpXG4gIHB1YmxpYyBhcmlhTGFiZWwgPSAnYXZhdGFyJztcblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgYHJvbGVgIGF0dHJpYnV0ZSBvZiB0aGUgYXZhdGFyLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIGxldCBhdmF0YXJSb2xlID0gdGhpcy5hdmF0YXIucm9sZTtcbiAgICogYGBgXG4gICAqL1xuICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpXG4gIHB1YmxpYyByb2xlID0gJ2ltZyc7XG5cbiAgLyoqXG4gICAqIEhvc3QgYGNsYXNzLm9uZW1ydmEtbWF0LWF2YXRhcmAgYmluZGluZy5cbiAgICpcbiAgICogQGhpZGRlblxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIEBIb3N0QmluZGluZygnY2xhc3Mub25lbXJ2YS1tYXQtYXZhdGFyJylcbiAgcHVibGljIGNzc0NsYXNzID0gJ29uZW1ydmEtbWF0LWF2YXRhcic7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHR5cGUgb2YgdGhlIGF2YXRhci5cbiAgICogVGhlIGF2YXRhciBjYW4gYmU6XG4gICAqIC0gYFwiaW5pdGlhbHMgdHlwZSBhdmF0YXJcImBcbiAgICogLSBgXCJpY29uIHR5cGUgYXZhdGFyXCJgXG4gICAqIC0gYFwiaW1hZ2UgdHlwZSBhdmF0YXJcImAuXG4gICAqIC0gYFwiY3VzdG9tIHR5cGUgYXZhdGFyXCJgLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIGxldCBhdmF0YXJEZXNjcmlwdGlvbiA9IHRoaXMuYXZhdGFyLnJvbGVEZXNjcmlwdGlvbjtcbiAgICogYGBgXG4gICAqL1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1yb2xlZGVzY3JpcHRpb24nKVxuICBwdWJsaWMgcm9sZURlc2NyaXB0aW9uOiBzdHJpbmcgPSAnJztcblxuICAvKipcbiAgICogU2V0cyB0aGUgYGlkYCBvZiB0aGUgYXZhdGFyLiBJZiBub3Qgc2V0LCB0aGUgZmlyc3QgYXZhdGFyIGNvbXBvbmVudCB3aWxsIGhhdmUgYGlkYCA9IGBcIm9uZW1ydmEtbWF0LWF2YXRhci0wXCJgLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGBodG1sXG4gICAqIDxvbmVtcnZhLW1hdC1hdmF0YXIgaWQ9XCJteS1maXJzdC1hdmF0YXJcIj48L29uZW1ydmEtbWF0LWF2YXRhcj5cbiAgICogYGBgXG4gICAqL1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuaWQnKVxuICBASW5wdXQoKVxuICBwdWJsaWMgaWQgPSBgb25lbXJ2YS1tYXQtYXZhdGFyLSR7TkVYVF9JRCsrfWA7XG5cbiAgLyoqXG4gICAqIFNldHMgYSByb3VuZCBzaGFwZSB0byB0aGUgYXZhdGFyLCBpZiBgW3JvdW5kU2hhcGVdYCBpcyBzZXQgdG8gYHRydWVgLlxuICAgKiBCeSBkZWZhdWx0IHRoZSBzaGFwZSBvZiB0aGUgYXZhdGFyIGlzIGEgc3F1YXJlLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGBodG1sXG4gICAqIDxvbmVtcnZhLW1hdC1hdmF0YXIgW3JvdW5kU2hhcGVdPVwidHJ1ZVwiID48L29uZW1ydmEtbWF0LWF2YXRhcj5cbiAgICogYGBgXG4gICAqL1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3Mub25lbXJ2YS1tYXQtYXZhdGFyLS1yb3VuZGVkJylcbiAgQElucHV0KClcbiAgcHVibGljIHJvdW5kU2hhcGUgPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBTZXRzIGluaXRpYWxzIHRvIHRoZSBhdmF0YXIuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYGh0bWxcbiAgICogPG9uZW1ydmEtbWF0LWF2YXRhciBpbml0aWFscz1cIk1OXCI+PC9vbmVtcnZhLW1hdC1hdmF0YXI+XG4gICAqIGBgYFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGluaXRpYWxzOiBzdHJpbmcgPSAnJztcblxuICAvKipcbiAgICogU2V0cyBhbiBpY29uIHRvIHRoZSBhdmF0YXIuIEFsbCBpY29ucyBmcm9tIHRoZSBtYXRlcmlhbCBpY29uIHNldCBhcmUgc3VwcG9ydGVkLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGBodG1sXG4gICAqIDxvbmVtcnZhLW1hdC1hdmF0YXIgaWNvbj1cInBob25lXCI+PC9vbmVtcnZhLW1hdC1hdmF0YXI+XG4gICAqIGBgYFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGljb246IHN0cmluZyA9ICcnO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBpbWFnZSBzb3VyY2Ugb2YgdGhlIGF2YXRhci5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgaHRtbFxuICAgKiA8b25lbXJ2YS1tYXQtYXZhdGFyIHNyYz1cImltYWdlcy9waWN0dXJlLmpwZ1wiPjwvb25lbXJ2YS1tYXQtYXZhdGFyPlxuICAgKiBgYGBcbiAgICogQE1hdEZyaWVuZGx5TmFtZSBJbWFnZSBVUkxcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzcmM6IHN0cmluZyA9ICcnO1xuXG4gIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICBAVmlld0NoaWxkKCdkZWZhdWx0VGVtcGxhdGUnLCB7IHJlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IHRydWUgfSlcbiAgcHJvdGVjdGVkIGRlZmF1bHRUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICBAVmlld0NoaWxkKCdpbWFnZVRlbXBsYXRlJywgeyByZWFkOiBUZW1wbGF0ZVJlZiwgc3RhdGljOiB0cnVlIH0pXG4gIHByb3RlY3RlZCBpbWFnZVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gIEBWaWV3Q2hpbGQoJ2luaXRpYWxzVGVtcGxhdGUnLCB7IHJlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IHRydWUgfSlcbiAgcHJvdGVjdGVkIGluaXRpYWxzVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsID0gbnVsbDtcblxuICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgQFZpZXdDaGlsZCgnaWNvblRlbXBsYXRlJywgeyByZWFkOiBUZW1wbGF0ZVJlZiwgc3RhdGljOiB0cnVlIH0pXG4gIHByb3RlY3RlZCBpY29uVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogQGhpZGRlblxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHByaXZhdGUgX3NpemU6IE9uZW1ydmFNYXRTaXplID0gT25lbXJ2YU1hdFNpemUuU01BTEw7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHNpemUgb2YgdGhlIGF2YXRhci5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiBsZXQgYXZhdGFyU2l6ZSA9IHRoaXMuYXZhdGFyLnNpemU7XG4gICAqIGBgYFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGdldCBzaXplKCk6IE9uZW1ydmFNYXRTaXplIHtcbiAgICByZXR1cm4gdGhpcy5fc2l6ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBzaXplICBvZiB0aGUgYXZhdGFyLlxuICAgKiBCeSBkZWZhdWx0LCB0aGUgc2l6ZSBpcyBgXCJzbWFsbFwiYC4gSXQgY2FuIGJlIHNldCB0byBgXCJtZWRpdW1cImAgb3IgYFwibGFyZ2VcImAuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYGh0bWxcbiAgICogPG9uZW1ydmEtbWF0LWF2YXRhciBzaXplPVwibGFyZ2VcIj48L29uZW1ydmEtbWF0LWF2YXRhcj5cbiAgICogYGBgXG4gICAqL1xuICBwdWJsaWMgc2V0IHNpemUodmFsdWU6IHN0cmluZyB8IE9uZW1ydmFNYXRTaXplKSB7XG4gICAgc3dpdGNoICh2YWx1ZSkge1xuICAgICAgY2FzZSBPbmVtcnZhTWF0U2l6ZS5YU01BTEw6XG4gICAgICBjYXNlIE9uZW1ydmFNYXRTaXplLlNNQUxMOlxuICAgICAgY2FzZSBPbmVtcnZhTWF0U2l6ZS5NRURJVU06XG4gICAgICBjYXNlIE9uZW1ydmFNYXRTaXplLkxBUkdFOlxuICAgICAgY2FzZSBPbmVtcnZhTWF0U2l6ZS5YTEFSR0U6XG4gICAgICAgIHRoaXMuX3NpemUgPSB2YWx1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aGlzLl9zaXplID0gT25lbXJ2YU1hdFNpemUuTUVESVVNO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm9uZW1ydmEtbWF0LWF2YXRhci0tZXh0cmFzbWFsbCcpXG4gIHB1YmxpYyBnZXQgX2lzWFNtYWxsU2l6ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zaXplID09PSBPbmVtcnZhTWF0U2l6ZS5YU01BTEw7XG4gIH1cbiAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gIEBIb3N0QmluZGluZygnY2xhc3Mub25lbXJ2YS1tYXQtYXZhdGFyLS1zbWFsbCcpXG4gIHB1YmxpYyBnZXQgX2lzU21hbGxTaXplKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNpemUgPT09IE9uZW1ydmFNYXRTaXplLlNNQUxMO1xuICB9XG4gIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm9uZW1ydmEtbWF0LWF2YXRhci0tbWVkaXVtJylcbiAgcHVibGljIGdldCBfaXNNZWRpdW1TaXplKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNpemUgPT09IE9uZW1ydmFNYXRTaXplLk1FRElVTTtcbiAgfVxuICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5vbmVtcnZhLW1hdC1hdmF0YXItLWxhcmdlJylcbiAgcHVibGljIGdldCBfaXNMYXJnZVNpemUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2l6ZSA9PT0gT25lbXJ2YU1hdFNpemUuTEFSR0U7XG4gIH1cbiAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gIEBIb3N0QmluZGluZygnY2xhc3Mub25lbXJ2YS1tYXQtYXZhdGFyLS1leHRyYWxhcmdlJylcbiAgcHVibGljIGdldCBfaXNYTGFyZ2VTaXplKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNpemUgPT09IE9uZW1ydmFNYXRTaXplLlhMQVJHRTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaGlkZGVuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHJpdmF0ZSBfY29sb3I6IE9uZW1ydmFNYXRDb2xvciA9IE9uZW1ydmFNYXRDb2xvci5BQ0NFTlQ7XG5cbiAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gIEBIb3N0QmluZGluZygnbWF0LWFjY2VudCcpXG4gIHB1YmxpYyBnZXQgX2NvbG9yQWNjZW50KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbG9yID09PSBPbmVtcnZhTWF0Q29sb3IuQUNDRU5UO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHNpemUgb2YgdGhlIGF2YXRhci5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiBsZXQgYXZhdGFyU2l6ZSA9IHRoaXMuYXZhdGFyLnNpemU7XG4gICAqIGBgYFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGdldCBjb2xvcigpOiBPbmVtcnZhTWF0Q29sb3Ige1xuICAgIHJldHVybiB0aGlzLl9jb2xvcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBzaXplICBvZiB0aGUgYXZhdGFyLlxuICAgKiBCeSBkZWZhdWx0LCB0aGUgc2l6ZSBpcyBgXCJzbWFsbFwiYC4gSXQgY2FuIGJlIHNldCB0byBgXCJtZWRpdW1cImAgb3IgYFwibGFyZ2VcImAuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYGh0bWxcbiAgICogPG9uZW1ydmEtbWF0LWF2YXRhciBzaXplPVwibGFyZ2VcIj48L29uZW1ydmEtbWF0LWF2YXRhcj5cbiAgICogYGBgXG4gICAqL1xuICBwdWJsaWMgc2V0IGNvbG9yKHZhbHVlOiBPbmVtcnZhTWF0Q29sb3IpIHtcbiAgICBzd2l0Y2ggKHZhbHVlKSB7XG4gICAgICBjYXNlIE9uZW1ydmFNYXRDb2xvci5OT05FOlxuICAgICAgY2FzZSBPbmVtcnZhTWF0Q29sb3IuQUNDRU5UOlxuICAgICAgY2FzZSBPbmVtcnZhTWF0Q29sb3IuUFJJTUFSWTpcbiAgICAgIGNhc2UgT25lbXJ2YU1hdENvbG9yLlNVQ0NFU1M6XG4gICAgICBjYXNlIE9uZW1ydmFNYXRDb2xvci5XQVJOOlxuICAgICAgY2FzZSBPbmVtcnZhTWF0Q29sb3IuSU5GTzpcbiAgICAgIGNhc2UgT25lbXJ2YU1hdENvbG9yLkVSUk9SOlxuICAgICAgY2FzZSBPbmVtcnZhTWF0Q29sb3IuR1JBWVNDQUxFOlxuICAgICAgICB0aGlzLl9jb2xvciA9IHZhbHVlO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRoaXMuX2NvbG9yID0gT25lbXJ2YU1hdENvbG9yLkFDQ0VOVDtcbiAgICB9XG4gIH1cblxuICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5tYXQtcHJpbWFyeScpXG4gIHB1YmxpYyBnZXQgX2lzUHJpbWFyeSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jb2xvciA9PT0gT25lbXJ2YU1hdENvbG9yLlBSSU1BUlk7XG4gIH1cbiAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MubWF0LWFjY2VudCcpXG4gIHB1YmxpYyBnZXQgX2lzQWNjZW50KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbG9yID09PSBPbmVtcnZhTWF0Q29sb3IuQUNDRU5UO1xuICB9XG4gIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm1hdC1lcnJvcicpXG4gIHB1YmxpYyBnZXQgX2lzRXJyb3IoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY29sb3IgPT09IE9uZW1ydmFNYXRDb2xvci5FUlJPUjtcbiAgfVxuICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5tYXQtd2FybicpXG4gIHB1YmxpYyBnZXQgX2lzV2FybigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jb2xvciA9PT0gT25lbXJ2YU1hdENvbG9yLldBUk47XG4gIH1cbiAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MubWF0LXN1Y2Nlc3MnKVxuICBwdWJsaWMgZ2V0IF9pc1N1Y2Nlc3MoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY29sb3IgPT09IE9uZW1ydmFNYXRDb2xvci5TVUNDRVNTO1xuICB9XG4gIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm1hdC1pbmZvJylcbiAgcHVibGljIGdldCBfaXNJbmZvKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbG9yID09PSBPbmVtcnZhTWF0Q29sb3IuSU5GTztcbiAgfVxuICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5tYXQtZ3JheXNjYWxlJylcbiAgcHVibGljIGdldCBfaXNHcmF5c2NhbGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY29sb3IgPT09IE9uZW1ydmFNYXRDb2xvci5HUkFZU0NBTEU7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgdHlwZSBvZiB0aGUgYXZhdGFyLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIGxldCBhdmF0YXJUeXBlID0gdGhpcy5hdmF0YXIudHlwZTtcbiAgICogYGBgXG4gICAqL1xuICBwdWJsaWMgZ2V0IHR5cGUoKTogTWF0QXZhdGFyVHlwZSB7XG4gICAgaWYgKHRoaXMuc3JjKSB7XG4gICAgICByZXR1cm4gTWF0QXZhdGFyVHlwZS5JTUFHRTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pY29uKSB7XG4gICAgICByZXR1cm4gTWF0QXZhdGFyVHlwZS5JQ09OO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmluaXRpYWxzKSB7XG4gICAgICByZXR1cm4gTWF0QXZhdGFyVHlwZS5JTklUSUFMUztcbiAgICB9XG5cbiAgICByZXR1cm4gTWF0QXZhdGFyVHlwZS5DVVNUT007XG4gIH1cblxuICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5vbmVtcnZhLW1hdC1hdmF0YXItLWltYWdlJylcbiAgcHVibGljIGdldCBfaXNJbWFnZVR5cGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gTWF0QXZhdGFyVHlwZS5JTUFHRTtcbiAgfVxuICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5vbmVtcnZhLW1hdC1hdmF0YXItLWljb24nKVxuICBwdWJsaWMgZ2V0IF9pc0ljb25UeXBlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IE1hdEF2YXRhclR5cGUuSUNPTjtcbiAgfVxuICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5vbmVtcnZhLW1hdC1hdmF0YXItLWluaXRpYWxzJylcbiAgcHVibGljIGdldCBfaXNJbml0aWFsc1R5cGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gTWF0QXZhdGFyVHlwZS5JTklUSUFMUztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSB0ZW1wbGF0ZSBvZiB0aGUgYXZhdGFyLlxuICAgKlxuICAgKiBAaGlkZGVuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGdldCB0ZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbCB7XG4gICAgc3dpdGNoICh0aGlzLnR5cGUpIHtcbiAgICAgIGNhc2UgTWF0QXZhdGFyVHlwZS5JTUFHRTpcbiAgICAgICAgcmV0dXJuIHRoaXMuaW1hZ2VUZW1wbGF0ZTtcbiAgICAgIGNhc2UgTWF0QXZhdGFyVHlwZS5JTklUSUFMUzpcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5pdGlhbHNUZW1wbGF0ZTtcbiAgICAgIGNhc2UgTWF0QXZhdGFyVHlwZS5JQ09OOlxuICAgICAgICByZXR1cm4gdGhpcy5pY29uVGVtcGxhdGU7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gdGhpcy5kZWZhdWx0VGVtcGxhdGU7XG4gICAgfVxuICB9XG5cbiAgY29uc3RydWN0b3IocHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHt9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGNzcyB1cmwgb2YgdGhlIGltYWdlLlxuICAgKlxuICAgKiBAaGlkZGVuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGdldFNyY1VybCgpIHtcbiAgICByZXR1cm4gYHVybCgke3RoaXMuc3JjfSlgO1xuICB9XG5cbiAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnJvbGVEZXNjcmlwdGlvbiA9IHRoaXMuZ2V0Um9sZSgpO1xuICB9XG5cbiAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gIHByaXZhdGUgZ2V0Um9sZSgpOiBzdHJpbmcge1xuICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XG4gICAgICBjYXNlIE1hdEF2YXRhclR5cGUuSU1BR0U6XG4gICAgICAgIHJldHVybiAnaW1hZ2UgYXZhdGFyJztcbiAgICAgIGNhc2UgTWF0QXZhdGFyVHlwZS5JQ09OOlxuICAgICAgICByZXR1cm4gJ2ljb24gYXZhdGFyJztcbiAgICAgIGNhc2UgTWF0QXZhdGFyVHlwZS5JTklUSUFMUzpcbiAgICAgICAgcmV0dXJuICdpbml0aWFscyBhdmF0YXInO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICdjdXN0b20gYXZhdGFyJztcbiAgICB9XG4gIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZSAjZGVmYXVsdFRlbXBsYXRlPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2ltYWdlVGVtcGxhdGU+XG4gIDxkaXZcbiAgICAjaW1hZ2VcbiAgICBjbGFzcz1cIm9uZW1ydmEtYXZhdGFyX19pbWFnZVwiXG4gICAgW3N0eWxlLmJhY2tncm91bmRJbWFnZV09XCJnZXRTcmNVcmwoKVwiXG4gID48L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjaW5pdGlhbHNUZW1wbGF0ZT5cbiAgPHNwYW4+e3sgaW5pdGlhbHMgfCBzbGljZTogMCA6IDIgfX08L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2ljb25UZW1wbGF0ZT5cbiAgPG1hdC1pY29uPnt7IGljb24gfX08L21hdC1pY29uPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4iXX0=
440
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lbXJ2YS1tYXQtYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29uZW1ydmEvZGVzaWduLXN5c3RlbS9tYXQtYXZhdGFyL3NyYy9vbmVtcnZhLW1hdC1hdmF0YXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25lbXJ2YS9kZXNpZ24tc3lzdGVtL21hdC1hdmF0YXIvc3JjL29uZW1ydmEtbWF0LWF2YXRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULFdBQVcsRUFDWCxLQUFLLEVBRUwsV0FBVyxFQUNYLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsTUFBTSxFQUNOLGNBQWMsRUFDZCxlQUFlLEdBQ2hCLE1BQU0sb0NBQW9DLENBQUM7Ozs7QUFFNUMsSUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFDO0FBRWhCLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUM7SUFDbEMsUUFBUSxFQUFFLFVBQVU7SUFDcEIsS0FBSyxFQUFFLE9BQU87SUFDZCxJQUFJLEVBQUUsTUFBTTtJQUNaLE1BQU0sRUFBRSxRQUFRO0NBQ2pCLENBQUMsQ0FBQztBQUdIOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQkc7QUFLSCxNQUFNLE9BQU8seUJBQXlCO0lBbUlwQzs7Ozs7OztPQU9HO0lBQ0gsSUFDVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILElBQVcsSUFBSSxDQUFDLEtBQThCO1FBQzVDLFFBQVEsS0FBSyxFQUFFLENBQUM7WUFDZCxLQUFLLGNBQWMsQ0FBQyxNQUFNLENBQUM7WUFDM0IsS0FBSyxjQUFjLENBQUMsS0FBSyxDQUFDO1lBQzFCLEtBQUssY0FBYyxDQUFDLE1B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QkFBa0IsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFLeEQsWUFBWTtzQkFEckIsU0FBUzt1QkFBQyxjQUFjLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBa0JuRCxJQUFJO3NCQURkLEtBQUs7Z0JBOEJLLGFBQWE7c0JBRHZCLFdBQVc7dUJBQUMsc0NBQXNDO2dCQU14QyxZQUFZO3NCQUR0QixXQUFXO3VCQUFDLGlDQUFpQztnQkFNbkMsYUFBYTtzQkFEdkIsV0FBVzt1QkFBQyxrQ0FBa0M7Z0JBTXBDLFlBQVk7c0JBRHRCLFdBQVc7dUJBQUMsaUNBQWlDO2dCQU1uQyxhQUFhO3NCQUR2QixXQUFXO3VCQUFDLHNDQUFzQztnQkFheEMsWUFBWTtzQkFEdEIsV0FBVzt1QkFBQyxZQUFZO2dCQWNkLEtBQUs7c0JBRGYsS0FBSztnQkFpQ0ssVUFBVTtzQkFEcEIsV0FBVzt1QkFBQyxtQkFBbUI7Z0JBTXJCLFNBQVM7c0JBRG5CLFdBQVc7dUJBQUMsa0JBQWtCO2dCQU1wQixRQUFRO3NCQURsQixXQUFXO3VCQUFDLGlCQUFpQjtnQkFNbkIsT0FBTztzQkFEakIsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBTWxCLFVBQVU7c0JBRHBCLFdBQVc7dUJBQUMsbUJBQW1CO2dCQU1yQixPQUFPO3NCQURqQixXQUFXO3VCQUFDLGdCQUFnQjtnQkFNbEIsWUFBWTtzQkFEdEIsV0FBVzt1QkFBQyxxQkFBcUI7Z0JBK0J2QixZQUFZO3NCQUR0QixXQUFXO3VCQUFDLGlDQUFpQztnQkFNbkMsV0FBVztzQkFEckIsV0FBVzt1QkFBQyxnQ0FBZ0M7Z0JBTWxDLGVBQWU7c0JBRHpCLFdBQVc7dUJBQUMsb0NBQW9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBta2VudW0sXG4gIE9uZW1ydmFNYXRTaXplLFxuICBPbmVtcnZhTWF0Q29sb3IsXG59IGZyb20gJ0BvbmVtcnZhcHVibGljL2Rlc2lnbi1zeXN0ZW0vdXRpbHMnO1xuXG5sZXQgTkVYVF9JRCA9IDA7XG5cbmV4cG9ydCBjb25zdCBNYXRBdmF0YXJUeXBlID0gbWtlbnVtKHtcbiAgSU5JVElBTFM6ICdpbml0aWFscycsXG4gIElNQUdFOiAnaW1hZ2UnLFxuICBJQ09OOiAnaWNvbicsXG4gIENVU1RPTTogJ2N1c3RvbScsXG59KTtcbmV4cG9ydCB0eXBlIE1hdEF2YXRhclR5cGUgPSAodHlwZW9mIE1hdEF2YXRhclR5cGUpW2tleW9mIHR5cGVvZiBNYXRBdmF0YXJUeXBlXTtcblxuLyoqXG4gKiBBdmF0YXIgcHJvdmlkZXMgYSB3YXkgdG8gZGlzcGxheSBhbiBpbWFnZSwgaWNvbiBvciBpbml0aWFscyB0byB0aGUgdXNlci5cbiAqXG4gKiBATWF0TW9kdWxlIE9uZW1ydmFNYXRBdmF0YXJNb2R1bGVcbiAqXG4gKiBATWF0VGhlbWUgb25lbXJ2YS1tYXQtYXZhdGFyLXRoZW1lLCBvbmVtcnZhLW1hdC1pY29uLXRoZW1lXG4gKlxuICogQE1hdEtleXdvcmRzIGF2YXRhciwgcHJvZmlsZSwgcGljdHVyZSwgaW5pdGlhbHNcbiAqXG4gKiBATWF0R3JvdXAgTGF5b3V0c1xuICpcbiAqIEByZW1hcmtzXG4gKlxuICogVGhlIElnbml0ZSBVSSBBdmF0YXIgcHJvdmlkZXMgYW4gZWFzeSB3YXkgdG8gYWRkIGFuIGF2YXRhciBpY29uIHRvIHlvdXIgYXBwbGljYXRpb24uICBUaGlzIGljb24gY2FuIGJlIGFuXG4gKiBpbWFnZSwgc29tZW9uZSdzIGluaXRpYWxzIG9yIGEgbWF0ZXJpYWwgaWNvbiBmcm9tIHRoZSBHb29nbGUgTWF0ZXJpYWwgaWNvbiBzZXQuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYGh0bWxcbiAqIDxvbmVtcnZhLW1hdC1hdmF0YXIgaW5pdGlhbHM9XCJNU1wiIFtyb3VuZFNoYXBlXT1cInRydWVcIiBzaXplPVwibGFyZ2VcIj5cbiAqIDwvb25lbXJ2YS1tYXQtYXZhdGFyPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29uZW1ydmEtbWF0LWF2YXRhcicsXG4gIHRlbXBsYXRlVXJsOiAnb25lbXJ2YS1tYXQtYXZhdGFyLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgT25lbXJ2YU1hdEF2YXRhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBgYXJpYS1sYWJlbGAgYXR0cmlidXRlIG9mIHRoZSBhdmF0YXIuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogbGV0IGFyaWFMYWJlbCA9IHRoaXMuYXZhdGFyLmFyaWFMYWJlbDtcbiAgICogYGBgXG4gICAqXG4gICAqL1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1sYWJlbCcpXG4gIHB1YmxpYyBhcmlhTGFiZWwgPSAnYXZhdGFyJztcblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgYHJvbGVgIGF0dHJpYnV0ZSBvZiB0aGUgYXZhdGFyLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIGxldCBhdmF0YXJSb2xlID0gdGhpcy5hdmF0YXIucm9sZTtcbiAgICogYGBgXG4gICAqL1xuICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpXG4gIHB1YmxpYyByb2xlID0gJ2ltZyc7XG5cbiAgLyoqXG4gICAqIEhvc3QgYGNsYXNzLm9uZW1ydmEtbWF0LWF2YXRhcmAgYmluZGluZy5cbiAgICpcbiAgICogQGhpZGRlblxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIEBIb3N0QmluZGluZygnY2xhc3Mub25lbXJ2YS1tYXQtYXZhdGFyJylcbiAgcHVibGljIGNzc0NsYXNzID0gJ29uZW1ydmEtbWF0LWF2YXRhcic7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHR5cGUgb2YgdGhlIGF2YXRhci5cbiAgICogVGhlIGF2YXRhciBjYW4gYmU6XG4gICAqIC0gYFwiaW5pdGlhbHMgdHlwZSBhdmF0YXJcImBcbiAgICogLSBgXCJpY29uIHR5cGUgYXZhdGFyXCJgXG4gICAqIC0gYFwiaW1hZ2UgdHlwZSBhdmF0YXJcImAuXG4gICAqIC0gYFwiY3VzdG9tIHR5cGUgYXZhdGFyXCJgLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIGxldCBhdmF0YXJEZXNjcmlwdGlvbiA9IHRoaXMuYXZhdGFyLnJvbGVEZXNjcmlwdGlvbjtcbiAgICogYGBgXG4gICAqL1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1yb2xlZGVzY3JpcHRpb24nKVxuICBwdWJsaWMgcm9sZURlc2NyaXB0aW9uID0gJyc7XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGBpZGAgb2YgdGhlIGF2YXRhci4gSWYgbm90IHNldCwgdGhlIGZpcnN0IGF2YXRhciBjb21wb25lbnQgd2lsbCBoYXZlIGBpZGAgPSBgXCJvbmVtcnZhLW1hdC1hdmF0YXItMFwiYC5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgaHRtbFxuICAgKiA8b25lbXJ2YS1tYXQtYXZhdGFyIGlkPVwibXktZmlyc3QtYXZhdGFyXCI+PC9vbmVtcnZhLW1hdC1hdmF0YXI+XG4gICAqIGBgYFxuICAgKi9cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmlkJylcbiAgQElucHV0KClcbiAgcHVibGljIGlkID0gYG9uZW1ydmEtbWF0LWF2YXRhci0ke05FWFRfSUQrK31gO1xuXG4gIC8qKlxuICAgKiBTZXRzIGEgcm91bmQgc2hhcGUgdG8gdGhlIGF2YXRhciwgaWYgYFtyb3VuZFNoYXBlXWAgaXMgc2V0IHRvIGB0cnVlYC5cbiAgICogQnkgZGVmYXVsdCB0aGUgc2hhcGUgb2YgdGhlIGF2YXRhciBpcyBhIHNxdWFyZS5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgaHRtbFxuICAgKiA8b25lbXJ2YS1tYXQtYXZhdGFyIFtyb3VuZFNoYXBlXT1cInRydWVcIiA+PC9vbmVtcnZhLW1hdC1hdmF0YXI+XG4gICAqIGBgYFxuICAgKi9cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm9uZW1ydmEtbWF0LWF2YXRhci0tcm91bmRlZCcpXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByb3VuZFNoYXBlID0gdHJ1ZTtcblxuICAvKipcbiAgICogU2V0cyBpbml0aWFscyB0byB0aGUgYXZhdGFyLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGBodG1sXG4gICAqIDxvbmVtcnZhLW1hdC1hdmF0YXIgaW5pdGlhbHM9XCJNTlwiPjwvb25lbXJ2YS1tYXQtYXZhdGFyPlxuICAgKiBgYGBcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpbml0aWFscyA9ICcnO1xuXG4gIC8qKlxuICAgKiBTZXRzIGFuIGljb24gdG8gdGhlIGF2YXRhci4gQWxsIGljb25zIGZyb20gdGhlIG1hdGVyaWFsIGljb24gc2V0IGFyZSBzdXBwb3J0ZWQuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYGh0bWxcbiAgICogPG9uZW1ydmEtbWF0LWF2YXRhciBpY29uPVwicGhvbmVcIj48L29uZW1ydmEtbWF0LWF2YXRhcj5cbiAgICogYGBgXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgaWNvbiA9ICcnO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBpbWFnZSBzb3VyY2Ugb2YgdGhlIGF2YXRhci5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgaHRtbFxuICAgKiA8b25lbXJ2YS1tYXQtYXZhdGFyIHNyYz1cImltYWdlcy9waWN0dXJlLmpwZ1wiPjwvb25lbXJ2YS1tYXQtYXZhdGFyPlxuICAgKiBgYGBcbiAgICogQE1hdEZyaWVuZGx5TmFtZSBJbWFnZSBVUkxcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzcmMgPSAnJztcblxuICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgQFZpZXdDaGlsZCgnZGVmYXVsdFRlbXBsYXRlJywgeyByZWFkOiBUZW1wbGF0ZVJlZiwgc3RhdGljOiB0cnVlIH0pXG4gIHByb3RlY3RlZCBkZWZhdWx0VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsID0gbnVsbDtcblxuICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgQFZpZXdDaGlsZCgnaW1hZ2VUZW1wbGF0ZScsIHsgcmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogdHJ1ZSB9KVxuICBwcm90ZWN0ZWQgaW1hZ2VUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICBAVmlld0NoaWxkKCdpbml0aWFsc1RlbXBsYXRlJywgeyByZWFkOiBUZW1wbGF0ZVJlZiwgc3RhdGljOiB0cnVlIH0pXG4gIHByb3RlY3RlZCBpbml0aWFsc1RlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gIEBWaWV3Q2hpbGQoJ2ljb25UZW1wbGF0ZScsIHsgcmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogdHJ1ZSB9KVxuICBwcm90ZWN0ZWQgaWNvblRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIEBoaWRkZW5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwcml2YXRlIF9zaXplOiBPbmVtcnZhTWF0U2l6ZSA9IE9uZW1ydmFNYXRTaXplLlNNQUxMO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBzaXplIG9mIHRoZSBhdmF0YXIuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogbGV0IGF2YXRhclNpemUgPSB0aGlzLmF2YXRhci5zaXplO1xuICAgKiBgYGBcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgc2l6ZSgpOiBPbmVtcnZhTWF0U2l6ZSB7XG4gICAgcmV0dXJuIHRoaXMuX3NpemU7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgc2l6ZSAgb2YgdGhlIGF2YXRhci5cbiAgICogQnkgZGVmYXVsdCwgdGhlIHNpemUgaXMgYFwic21hbGxcImAuIEl0IGNhbiBiZSBzZXQgdG8gYFwibWVkaXVtXCJgIG9yIGBcImxhcmdlXCJgLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGBodG1sXG4gICAqIDxvbmVtcnZhLW1hdC1hdmF0YXIgc2l6ZT1cImxhcmdlXCI+PC9vbmVtcnZhLW1hdC1hdmF0YXI+XG4gICAqIGBgYFxuICAgKi9cbiAgcHVibGljIHNldCBzaXplKHZhbHVlOiBzdHJpbmcgfCBPbmVtcnZhTWF0U2l6ZSkge1xuICAgIHN3aXRjaCAodmFsdWUpIHtcbiAgICAgIGNhc2UgT25lbXJ2YU1hdFNpemUuWFNNQUxMOlxuICAgICAgY2FzZSBPbmVtcnZhTWF0U2l6ZS5TTUFMTDpcbiAgICAgIGNhc2UgT25lbXJ2YU1hdFNpemUuTUVESVVNOlxuICAgICAgY2FzZSBPbmVtcnZhTWF0U2l6ZS5MQVJHRTpcbiAgICAgIGNhc2UgT25lbXJ2YU1hdFNpemUuWExBUkdFOlxuICAgICAgICB0aGlzLl9zaXplID0gdmFsdWU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhpcy5fc2l6ZSA9IE9uZW1ydmFNYXRTaXplLk1FRElVTTtcbiAgICB9XG4gIH1cblxuICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5vbmVtcnZhLW1hdC1hdmF0YXItLWV4dHJhc21hbGwnKVxuICBwdWJsaWMgZ2V0IF9pc1hTbWFsbFNpemUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2l6ZSA9PT0gT25lbXJ2YU1hdFNpemUuWFNNQUxMO1xuICB9XG4gIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm9uZW1ydmEtbWF0LWF2YXRhci0tc21hbGwnKVxuICBwdWJsaWMgZ2V0IF9pc1NtYWxsU2l6ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zaXplID09PSBPbmVtcnZhTWF0U2l6ZS5TTUFMTDtcbiAgfVxuICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5vbmVtcnZhLW1hdC1hdmF0YXItLW1lZGl1bScpXG4gIHB1YmxpYyBnZXQgX2lzTWVkaXVtU2l6ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zaXplID09PSBPbmVtcnZhTWF0U2l6ZS5NRURJVU07XG4gIH1cbiAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gIEBIb3N0QmluZGluZygnY2xhc3Mub25lbXJ2YS1tYXQtYXZhdGFyLS1sYXJnZScpXG4gIHB1YmxpYyBnZXQgX2lzTGFyZ2VTaXplKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNpemUgPT09IE9uZW1ydmFNYXRTaXplLkxBUkdFO1xuICB9XG4gIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm9uZW1ydmEtbWF0LWF2YXRhci0tZXh0cmFsYXJnZScpXG4gIHB1YmxpYyBnZXQgX2lzWExhcmdlU2l6ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zaXplID09PSBPbmVtcnZhTWF0U2l6ZS5YTEFSR0U7XG4gIH1cblxuICAvKipcbiAgICogQGhpZGRlblxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHByaXZhdGUgX2NvbG9yOiBPbmVtcnZhTWF0Q29sb3IgPSBPbmVtcnZhTWF0Q29sb3IuQUNDRU5UO1xuXG4gIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICBASG9zdEJpbmRpbmcoJ21hdC1hY2NlbnQnKVxuICBwdWJsaWMgZ2V0IF9jb2xvckFjY2VudCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jb2xvciA9PT0gT25lbXJ2YU1hdENvbG9yLkFDQ0VOVDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBzaXplIG9mIHRoZSBhdmF0YXIuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogbGV0IGF2YXRhclNpemUgPSB0aGlzLmF2YXRhci5zaXplO1xuICAgKiBgYGBcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgY29sb3IoKTogT25lbXJ2YU1hdENvbG9yIHtcbiAgICByZXR1cm4gdGhpcy5fY29sb3I7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgc2l6ZSAgb2YgdGhlIGF2YXRhci5cbiAgICogQnkgZGVmYXVsdCwgdGhlIHNpemUgaXMgYFwic21hbGxcImAuIEl0IGNhbiBiZSBzZXQgdG8gYFwibWVkaXVtXCJgIG9yIGBcImxhcmdlXCJgLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGBodG1sXG4gICAqIDxvbmVtcnZhLW1hdC1hdmF0YXIgc2l6ZT1cImxhcmdlXCI+PC9vbmVtcnZhLW1hdC1hdmF0YXI+XG4gICAqIGBgYFxuICAgKi9cbiAgcHVibGljIHNldCBjb2xvcih2YWx1ZTogT25lbXJ2YU1hdENvbG9yKSB7XG4gICAgc3dpdGNoICh2YWx1ZSkge1xuICAgICAgY2FzZSBPbmVtcnZhTWF0Q29sb3IuTk9ORTpcbiAgICAgIGNhc2UgT25lbXJ2YU1hdENvbG9yLkFDQ0VOVDpcbiAgICAgIGNhc2UgT25lbXJ2YU1hdENvbG9yLlBSSU1BUlk6XG4gICAgICBjYXNlIE9uZW1ydmFNYXRDb2xvci5TVUNDRVNTOlxuICAgICAgY2FzZSBPbmVtcnZhTWF0Q29sb3IuV0FSTjpcbiAgICAgIGNhc2UgT25lbXJ2YU1hdENvbG9yLklORk86XG4gICAgICBjYXNlIE9uZW1ydmFNYXRDb2xvci5FUlJPUjpcbiAgICAgIGNhc2UgT25lbXJ2YU1hdENvbG9yLkdSQVlTQ0FMRTpcbiAgICAgICAgdGhpcy5fY29sb3IgPSB2YWx1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aGlzLl9jb2xvciA9IE9uZW1ydmFNYXRDb2xvci5BQ0NFTlQ7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MubWF0LXByaW1hcnknKVxuICBwdWJsaWMgZ2V0IF9pc1ByaW1hcnkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY29sb3IgPT09IE9uZW1ydmFNYXRDb2xvci5QUklNQVJZO1xuICB9XG4gIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm1hdC1hY2NlbnQnKVxuICBwdWJsaWMgZ2V0IF9pc0FjY2VudCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jb2xvciA9PT0gT25lbXJ2YU1hdENvbG9yLkFDQ0VOVDtcbiAgfVxuICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5tYXQtZXJyb3InKVxuICBwdWJsaWMgZ2V0IF9pc0Vycm9yKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbG9yID09PSBPbmVtcnZhTWF0Q29sb3IuRVJST1I7XG4gIH1cbiAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MubWF0LXdhcm4nKVxuICBwdWJsaWMgZ2V0IF9pc1dhcm4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY29sb3IgPT09IE9uZW1ydmFNYXRDb2xvci5XQVJOO1xuICB9XG4gIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm1hdC1zdWNjZXNzJylcbiAgcHVibGljIGdldCBfaXNTdWNjZXNzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbG9yID09PSBPbmVtcnZhTWF0Q29sb3IuU1VDQ0VTUztcbiAgfVxuICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5tYXQtaW5mbycpXG4gIHB1YmxpYyBnZXQgX2lzSW5mbygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jb2xvciA9PT0gT25lbXJ2YU1hdENvbG9yLklORk87XG4gIH1cbiAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MubWF0LWdyYXlzY2FsZScpXG4gIHB1YmxpYyBnZXQgX2lzR3JheXNjYWxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbG9yID09PSBPbmVtcnZhTWF0Q29sb3IuR1JBWVNDQUxFO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHR5cGUgb2YgdGhlIGF2YXRhci5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiBsZXQgYXZhdGFyVHlwZSA9IHRoaXMuYXZhdGFyLnR5cGU7XG4gICAqIGBgYFxuICAgKi9cbiAgcHVibGljIGdldCB0eXBlKCk6IE1hdEF2YXRhclR5cGUge1xuICAgIGlmICh0aGlzLnNyYykge1xuICAgICAgcmV0dXJuIE1hdEF2YXRhclR5cGUuSU1BR0U7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaWNvbikge1xuICAgICAgcmV0dXJuIE1hdEF2YXRhclR5cGUuSUNPTjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pbml0aWFscykge1xuICAgICAgcmV0dXJuIE1hdEF2YXRhclR5cGUuSU5JVElBTFM7XG4gICAgfVxuXG4gICAgcmV0dXJuIE1hdEF2YXRhclR5cGUuQ1VTVE9NO1xuICB9XG5cbiAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gIEBIb3N0QmluZGluZygnY2xhc3Mub25lbXJ2YS1tYXQtYXZhdGFyLS1pbWFnZScpXG4gIHB1YmxpYyBnZXQgX2lzSW1hZ2VUeXBlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IE1hdEF2YXRhclR5cGUuSU1BR0U7XG4gIH1cbiAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gIEBIb3N0QmluZGluZygnY2xhc3Mub25lbXJ2YS1tYXQtYXZhdGFyLS1pY29uJylcbiAgcHVibGljIGdldCBfaXNJY29uVHlwZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBNYXRBdmF0YXJUeXBlLklDT047XG4gIH1cbiAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gIEBIb3N0QmluZGluZygnY2xhc3Mub25lbXJ2YS1tYXQtYXZhdGFyLS1pbml0aWFscycpXG4gIHB1YmxpYyBnZXQgX2lzSW5pdGlhbHNUeXBlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IE1hdEF2YXRhclR5cGUuSU5JVElBTFM7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgdGVtcGxhdGUgb2YgdGhlIGF2YXRhci5cbiAgICpcbiAgICogQGhpZGRlblxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBnZXQgdGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8YW55PiB8IG51bGwge1xuICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XG4gICAgICBjYXNlIE1hdEF2YXRhclR5cGUuSU1BR0U6XG4gICAgICAgIHJldHVybiB0aGlzLmltYWdlVGVtcGxhdGU7XG4gICAgICBjYXNlIE1hdEF2YXRhclR5cGUuSU5JVElBTFM6XG4gICAgICAgIHJldHVybiB0aGlzLmluaXRpYWxzVGVtcGxhdGU7XG4gICAgICBjYXNlIE1hdEF2YXRhclR5cGUuSUNPTjpcbiAgICAgICAgcmV0dXJuIHRoaXMuaWNvblRlbXBsYXRlO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHRoaXMuZGVmYXVsdFRlbXBsYXRlO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7fVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjc3MgdXJsIG9mIHRoZSBpbWFnZS5cbiAgICpcbiAgICogQGhpZGRlblxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBnZXRTcmNVcmwoKSB7XG4gICAgcmV0dXJuIGB1cmwoJHt0aGlzLnNyY30pYDtcbiAgfVxuXG4gIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5yb2xlRGVzY3JpcHRpb24gPSB0aGlzLmdldFJvbGUoKTtcbiAgfVxuXG4gIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICBwcml2YXRlIGdldFJvbGUoKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xuICAgICAgY2FzZSBNYXRBdmF0YXJUeXBlLklNQUdFOlxuICAgICAgICByZXR1cm4gJ2ltYWdlIGF2YXRhcic7XG4gICAgICBjYXNlIE1hdEF2YXRhclR5cGUuSUNPTjpcbiAgICAgICAgcmV0dXJuICdpY29uIGF2YXRhcic7XG4gICAgICBjYXNlIE1hdEF2YXRhclR5cGUuSU5JVElBTFM6XG4gICAgICAgIHJldHVybiAnaW5pdGlhbHMgYXZhdGFyJztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAnY3VzdG9tIGF2YXRhcic7XG4gICAgfVxuICB9XG59XG4iLCI8bmctdGVtcGxhdGUgI2RlZmF1bHRUZW1wbGF0ZT5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNpbWFnZVRlbXBsYXRlPlxuICA8ZGl2XG4gICAgI2ltYWdlXG4gICAgY2xhc3M9XCJvbmVtcnZhLWF2YXRhcl9faW1hZ2VcIlxuICAgIFtzdHlsZS5iYWNrZ3JvdW5kSW1hZ2VdPVwiZ2V0U3JjVXJsKClcIlxuICA+PC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2luaXRpYWxzVGVtcGxhdGU+XG4gIDxzcGFuPnt7IGluaXRpYWxzIHwgc2xpY2U6IDAgOiAyIH19PC9zcGFuPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNpY29uVGVtcGxhdGU+XG4gIDxtYXQtaWNvbj57eyBpY29uIH19PC9tYXQtaWNvbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0ZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuIl19
@@ -4,11 +4,11 @@ import { MatIconModule } from '@angular/material/icon';
4
4
  import { OnemrvaMatAvatarComponent } from './onemrva-mat-avatar.component';
5
5
  import * as i0 from "@angular/core";
6
6
  export class OnemrvaMatAvatarModule {
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: OnemrvaMatAvatarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.5", ngImport: i0, type: OnemrvaMatAvatarModule, declarations: [OnemrvaMatAvatarComponent], imports: [CommonModule, MatIconModule], exports: [OnemrvaMatAvatarComponent] }); }
9
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: OnemrvaMatAvatarModule, imports: [CommonModule, MatIconModule] }); }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: OnemrvaMatAvatarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.4", ngImport: i0, type: OnemrvaMatAvatarModule, declarations: [OnemrvaMatAvatarComponent], imports: [CommonModule, MatIconModule], exports: [OnemrvaMatAvatarComponent] }); }
9
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: OnemrvaMatAvatarModule, imports: [CommonModule, MatIconModule] }); }
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: OnemrvaMatAvatarModule, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: OnemrvaMatAvatarModule, decorators: [{
12
12
  type: NgModule,
13
13
  args: [{
14
14
  declarations: [OnemrvaMatAvatarComponent],
@@ -194,16 +194,15 @@ export class OnemrvaMatBadgeDirective extends _MatBadgeBase {
194
194
  }
195
195
  }
196
196
  }
197
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: OnemrvaMatBadgeDirective, deps: [{ token: i0.NgZone }, { token: i0.ElementRef }, { token: i1.AriaDescriber }, { token: i0.Renderer2 }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
198
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: OnemrvaMatBadgeDirective, selector: "[matBadge]", inputs: { disabled: ["matBadgeDisabled", "disabled"], color: ["matBadgeColor", "color"], overlap: ["matBadgeOverlap", "overlap"], position: ["matBadgePosition", "position"], content: ["matBadge", "content"], description: ["matBadgeDescription", "description"], size: ["matBadgeSize", "size"], hidden: ["matBadgeHidden", "hidden"] }, host: { properties: { "class.mat-badge-overlap": "overlap", "class.mat-badge-above": "isAbove()", "class.mat-badge-below": "!isAbove()", "class.mat-badge-before": "!isAfter()", "class.mat-badge-after": "isAfter()", "class.mat-badge-small": "size === \"small\"", "class.mat-badge-medium": "size === \"medium\"", "class.mat-badge-large": "size === \"large\"", "class.mat-badge-hidden": "hidden || !content", "class.mat-badge-disabled": "disabled", "class.mat-badge-icon": "this.isIcon" }, classAttribute: "mat-badge" }, usesInheritance: true, ngImport: i0 }); }
197
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: OnemrvaMatBadgeDirective, deps: [{ token: i0.NgZone }, { token: i0.ElementRef }, { token: i1.AriaDescriber }, { token: i0.Renderer2 }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
198
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.4", type: OnemrvaMatBadgeDirective, selector: "[matBadge]", inputs: { disabled: ["matBadgeDisabled", "disabled"], color: ["matBadgeColor", "color"], overlap: ["matBadgeOverlap", "overlap"], position: ["matBadgePosition", "position"], content: ["matBadge", "content"], description: ["matBadgeDescription", "description"], size: ["matBadgeSize", "size"], hidden: ["matBadgeHidden", "hidden"] }, host: { properties: { "class.mat-badge-overlap": "overlap", "class.mat-badge-above": "isAbove()", "class.mat-badge-below": "!isAbove()", "class.mat-badge-before": "!isAfter()", "class.mat-badge-after": "isAfter()", "class.mat-badge-small": "size === \"small\"", "class.mat-badge-medium": "size === \"medium\"", "class.mat-badge-large": "size === \"large\"", "class.mat-badge-hidden": "hidden || !content", "class.mat-badge-disabled": "disabled", "class.mat-badge-icon": "this.isIcon" }, classAttribute: "mat-badge" }, usesInheritance: true, ngImport: i0 }); }
199
199
  }
200
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: OnemrvaMatBadgeDirective, decorators: [{
200
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: OnemrvaMatBadgeDirective, decorators: [{
201
201
  type: Directive,
202
202
  args: [{
203
203
  selector: '[matBadge]',
204
204
  // eslint-disable-next-line
205
205
  inputs: ['disabled: matBadgeDisabled'],
206
- // eslint-disable-next-line
207
206
  host: {
208
207
  class: 'mat-badge',
209
208
  '[class.mat-badge-overlap]': 'overlap',
@@ -248,4 +247,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
248
247
  type: HostBinding,
249
248
  args: ['class.mat-badge-icon']
250
249
  }] } });
251
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lbXJ2YS1tYXQtYmFkZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25lbXJ2YS9kZXNpZ24tc3lzdGVtL21hdC1iYWRnZS9zcmMvb25lbXJ2YS1tYXQtYmFkZ2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVNBLE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBQ0wsU0FBUyxFQUVULFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUlMLFFBQVEsR0FFVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWMsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7OztBQUU3RSxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7QUFFZiwrQ0FBK0M7QUFDL0Msb0JBQW9CO0FBQ3BCLE1BQU0sYUFBYSxHQUFHLGFBQWEsQ0FBQztDQUFRLENBQUMsQ0FBQztBQTJCOUMsTUFBTSxtQkFBbUIsR0FBRyxtQkFBbUIsQ0FBQztBQUVoRCx5Q0FBeUM7QUFvQnpDLE1BQU0sT0FBTyx3QkFDWCxTQUFRLGFBQWE7SUFHckIscUVBQXFFO0lBQ3JFLElBQ0ksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBSSxLQUFLLENBQUMsS0FBbUI7UUFDM0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0QixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBSUQsMkRBQTJEO0lBQzNELElBQ0ksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBSSxPQUFPLENBQUMsR0FBaUI7UUFDM0IsSUFBSSxDQUFDLFFBQVEs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LE1BQU07c0JBRFQsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBWXZCLE1BQU07c0JBREwsV0FBVzt1QkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHsgQXJpYURlc2NyaWJlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBSZW5kZXJlcjIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2FuRGlzYWJsZSwgbWl4aW5EaXNhYmxlZCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgQU5JTUFUSU9OX01PRFVMRV9UWVBFIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci9hbmltYXRpb25zJztcblxubGV0IG5leHRJZCA9IDA7XG5cbi8vIEJvaWxlcnBsYXRlIGZvciBhcHBseWluZyBtaXhpbnMgdG8gTWF0QmFkZ2UuXG4vKiogQGRvY3MtcHJpdmF0ZSAqL1xuY29uc3QgX01hdEJhZGdlQmFzZSA9IG1peGluRGlzYWJsZWQoY2xhc3Mge30pO1xuXG4vKiogUG9zc2libGUgY29sb3IgcGFsZXR0ZSB2YWx1ZXMuICovXG5leHBvcnQgZGVjbGFyZSB0eXBlIFRoZW1lUGFsZXR0ZSA9XG4gIHwgJ3ByaW1hcnknXG4gIHwgJ2FjY2VudCdcbiAgfCAnd2FybidcbiAgfCAnc3VjY2VzcydcbiAgfCAnZXJyb3InXG4gIHwgJ2luZm8nXG4gIHwgJ2dyYXlzY2FsZSdcbiAgfCB1bmRlZmluZWQ7XG5cbi8qKiBBbGxvd2VkIHBvc2l0aW9uIG9wdGlvbnMgZm9yIG1hdEJhZGdlUG9zaXRpb24gKi9cbmV4cG9ydCB0eXBlIE1hdEJhZGdlUG9zaXRpb24gPVxuICB8ICdhYm92ZSBhZnRlcidcbiAgfCAnYWJvdmUgYmVmb3JlJ1xuICB8ICdiZWxvdyBiZWZvcmUnXG4gIHwgJ2JlbG93IGFmdGVyJ1xuICB8ICdiZWZvcmUnXG4gIHwgJ2FmdGVyJ1xuICB8ICdhYm92ZSdcbiAgfCAnYmVsb3cnO1xuXG4vKiogQWxsb3dlZCBzaXplIG9wdGlvbnMgZm9yIG1hdEJhZGdlU2l6ZSAqL1xuZXhwb3J0IHR5cGUgTWF0QmFkZ2VTaXplID0gJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJztcblxuY29uc3QgQkFER0VfQ09OVEVOVF9DTEFTUyA9ICdtYXQtYmFkZ2UtY29udGVudCc7XG5cbi8qKiBEaXJlY3RpdmUgdG8gZGlzcGxheSBhIHRleHQgYmFkZ2UuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbWF0QmFkZ2VdJyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gIGlucHV0czogWydkaXNhYmxlZDogbWF0QmFkZ2VEaXNhYmxlZCddLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnbWF0LWJhZGdlJyxcbiAgICAnW2NsYXNzLm1hdC1iYWRnZS1vdmVybGFwXSc6ICdvdmVybGFwJyxcbiAgICAnW2NsYXNzLm1hdC1iYWRnZS1hYm92ZV0nOiAnaXNBYm92ZSgpJyxcbiAgICAnW2NsYXNzLm1hdC1iYWRnZS1iZWxvd10nOiAnIWlzQWJvdmUoKScsXG4gICAgJ1tjbGFzcy5tYXQtYmFkZ2UtYmVmb3JlXSc6ICchaXNBZnRlcigpJyxcbiAgICAnW2NsYXNzLm1hdC1iYWRnZS1hZnRlcl0nOiAnaXNBZnRlcigpJyxcbiAgICAnW2NsYXNzLm1hdC1iYWRnZS1zbWFsbF0nOiAnc2l6ZSA9PT0gXCJzbWFsbFwiJyxcbiAgICAnW2NsYXNzLm1hdC1iYWRnZS1tZWRpdW1dJzogJ3NpemUgPT09IFwibWVkaXVtXCInLFxuICAgICdbY2xhc3MubWF0LWJhZGdlLWxhcmdlXSc6ICdzaXplID09PSBcImxhcmdlXCInLFxuICAgICdbY2xhc3MubWF0LWJhZGdlLWhpZGRlbl0nOiAnaGlkZGVuIHx8ICFjb250ZW50JyxcbiAgICAnW2NsYXNzLm1hdC1iYWRnZS1kaXNhYmxlZF0nOiAnZGlzYWJsZWQnLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBPbmVtcnZhTWF0QmFkZ2VEaXJlY3RpdmVcbiAgZXh0ZW5kcyBfTWF0QmFkZ2VCYXNlXG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIENhbkRpc2FibGVcbntcbiAgLyoqIFRoZSBjb2xvciBvZiB0aGUgYmFkZ2UuIENhbiBiZSBgcHJpbWFyeWAsIGBhY2NlbnRgLCBvciBgd2FybmAuICovXG4gIEBJbnB1dCgnbWF0QmFkZ2VDb2xvcicpXG4gIGdldCBjb2xvcigpOiBUaGVtZVBhbGV0dGUge1xuICAgIHJldHVybiB0aGlzLl9jb2xvcjtcbiAgfVxuXG4gIHNldCBjb2xvcih2YWx1ZTogVGhlbWVQYWxldHRlKSB7XG4gICAgdGhpcy5fc2V0Q29sb3IodmFsdWUpO1xuICAgIHRoaXMuX2NvbG9yID0gdmFsdWU7XG4gIH1cblxuICBwcml2YXRlIF9jb2xvcjogVGhlbWVQYWxldHRlID0gJ3ByaW1hcnknO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBiYWRnZSBzaG91bGQgb3ZlcmxhcCBpdHMgY29udGVudHMgb3Igbm90ICovXG4gIEBJbnB1dCgnbWF0QmFkZ2VPdmVybGFwJylcbiAgZ2V0IG92ZXJsYXAoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX292ZXJsYXA7XG4gIH1cblxuICBzZXQgb3ZlcmxhcCh2YWw6IEJvb2xlYW5JbnB1dCkge1xuICAgIHRoaXMuX292ZXJsYXAgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsKTtcbiAgfVxuXG4gIHByaXZhdGUgX292ZXJsYXA6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBQb3NpdGlvbiB0aGUgYmFkZ2Ugc2hvdWxkIHJlc2lkZS5cbiAgICogQWNjZXB0cyBhbnkgY29tYmluYXRpb24gb2YgJ2Fib3ZlJ3wnYmVsb3cnIGFuZCAnYmVmb3JlJ3wnYWZ0ZXInXG4gICAqL1xuICBASW5wdXQoJ21hdEJhZGdlUG9zaXRpb24nKSBwb3NpdGlvbjogTWF0QmFkZ2VQb3NpdGlvbiA9ICdhYm92ZSBhZnRlcic7XG5cbiAgLyoqIFRoZSBjb250ZW50IGZvciB0aGUgYmFkZ2UgKi9cbiAgQElucHV0KCdtYXRCYWRnZScpXG4gIGdldCBjb250ZW50KCk6IHN0cmluZyB8IG51bWJlciB8IHVuZGVmaW5lZCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9jb250ZW50O1xuICB9XG5cbiAgc2V0IGNvbnRlbnQobmV3Q29udGVudDogc3RyaW5nIHwgbnVtYmVyIHwgdW5kZWZpbmVkIHwgbnVsbCkge1xuICAgIHRoaXMuX3VwZGF0ZVJlbmRlcmVkQ29udGVudChuZXdDb250ZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgX2NvbnRlbnQ6IHN0cmluZyB8IG51bWJlciB8IHVuZGVmaW5lZCB8IG51bGw7XG5cbiAgLyoqIE1lc3NhZ2UgdXNlZCB0byBkZXNjcmliZSB0aGUgZGVjb3JhdGVkIGVsZW1lbnQgdmlhIGFyaWEtZGVzY3JpYmVkYnkgKi9cbiAgQElucHV0KCdtYXRCYWRnZURlc2NyaXB0aW9uJylcbiAgZ2V0IGRlc2NyaXB0aW9uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2Rlc2NyaXB0aW9uO1xuICB9XG5cbiAgc2V0IGRlc2NyaXB0aW9uKG5ld0Rlc2NyaXB0aW9uOiBzdHJpbmcpIHtcbiAgICB0aGlzLl91cGRhdGVIb3N0QXJpYURlc2NyaXB0aW9uKG5ld0Rlc2NyaXB0aW9uKTtcbiAgfVxuXG4gIHByaXZhdGUgX2Rlc2NyaXB0aW9uOiBzdHJpbmcgPSAnJztcblxuICAvKiogU2l6ZSBvZiB0aGUgYmFkZ2UuIENhbiBiZSAnc21hbGwnLCAnbWVkaXVtJywgb3IgJ2xhcmdlJy4gKi9cbiAgQElucHV0KCdtYXRCYWRnZVNpemUnKSBzaXplOiBNYXRCYWRnZVNpemUgPSAnbWVkaXVtJztcblxuICAvKiogV2hldGhlciB0aGUgYmFkZ2UgaXMgaGlkZGVuLiAqL1xuICBASW5wdXQoJ21hdEJhZGdlSGlkZGVuJylcbiAgZ2V0IGhpZGRlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faGlkZGVuO1xuICB9XG5cbiAgc2V0IGhpZGRlbih2YWw6IEJvb2xlYW5JbnB1dCkge1xuICAgIHRoaXMuX2hpZGRlbiA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWwpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGlkZGVuOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5tYXQtYmFkZ2UtaWNvbicpXG4gIGlzSWNvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBVbmlxdWUgaWQgZm9yIHRoZSBiYWRnZSAqL1xuICBfaWQ6IG51bWJlciA9IG5leHRJZCsrO1xuXG4gIC8qKiBWaXNpYmxlIGJhZGdlIGVsZW1lbnQuICovXG4gIHByaXZhdGUgX2JhZGdlRWxlbWVudDogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQ7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIE9uSW5pdCBsaWZlY3ljbGUgaG9vayBoYXMgcnVuIHlldCAqL1xuICBwcml2YXRlIF9pc0luaXRpYWxpemVkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfbmdab25lOiBOZ1pvbmUsXG4gICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJpdmF0ZSBfYXJpYURlc2NyaWJlcjogQXJpYURlc2NyaWJlcixcbiAgICBwcml2YXRlIF9yZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoQU5JTUFUSU9OX01PRFVMRV9UWVBFKSBwcml2YXRlIF9hbmltYXRpb25Nb2RlPzogc3RyaW5nLFxuICApIHtcbiAgICBzdXBlcigpO1xuXG4gICAgLy8gaWYgKHR5cGVvZiBuZ0Rldk1vZGUgPT09ICd1bmRlZmluZWQnIHx8IG5nRGV2TW9kZSkge1xuICAgIC8vICAgY29uc3QgbmF0aXZlRWxlbWVudCA9IF9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgLy8gICBpZiAobmF0aXZlRWxlbWVudC5ub2RlVHlwZSAhPT0gbmF0aXZlRWxlbWVudC5FTEVNRU5UX05PREUpIHtcbiAgICAvLyAgICAgdGhyb3cgRXJyb3IoJ21hdEJhZGdlIG11c3QgYmUgYXR0YWNoZWQgdG8gYW4gZWxlbWVudCBub2RlLicpO1xuICAgIC8vICAgfVxuICAgIC8vIH1cbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBiYWRnZSBpcyBhYm92ZSB0aGUgaG9zdCBvciBub3QgKi9cbiAgaXNBYm92ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5wb3NpdGlvbi5pbmRleE9mKCdiZWxvdycpID09PSAtMTtcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBiYWRnZSBpcyBhZnRlciB0aGUgaG9zdCBvciBub3QgKi9cbiAgaXNBZnRlcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5wb3NpdGlvbi5pbmRleE9mKCdiZWZvcmUnKSA9PT0gLTE7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgZWxlbWVudCBpbnRvIHdoaWNoIHRoZSBiYWRnZSdzIGNvbnRlbnQgaXMgYmVpbmcgcmVuZGVyZWQuIFVuZGVmaW5lZCBpZiB0aGUgZWxlbWVudFxuICAgKiBoYXNuJ3QgYmVlbiBjcmVhdGVkIChlLmcuIGlmIHRoZSBiYWRnZSBkb2Vzbid0IGhhdmUgY29udGVudCkuXG4gICAqL1xuICBnZXRCYWRnZUVsZW1lbnQoKTogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9iYWRnZUVsZW1lbnQ7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICAvLyBXZSBtYXkgaGF2ZSBzZXJ2ZXItc2lkZSByZW5kZXJlZCBiYWRnZSB0aGF0IHdlIG5lZWQgdG8gY2xlYXIuXG4gICAgLy8gV2UgbmVlZCB0byBkbyB0aGlzIGluIG5nT25Jbml0IGJlY2F1c2UgdGhlIGZ1bGwgY29udGVudCBvZiB0aGUgY29tcG9uZW50XG4gICAgLy8gb24gd2hpY2ggdGhlIGJhZGdlIGlzIGF0dGFjaGVkIHdvbid0IG5lY2Vzc2FyaWx5IGJlIGluIHRoZSBET00gdW50aWwgdGhpcyBwb2ludC5cbiAgICB0aGlzLl9jbGVhckV4aXN0aW5nQmFkZ2VzKCk7XG5cbiAgICBpZiAodGhpcy5jb250ZW50ICYmICF0aGlzLl9iYWRnZUVsZW1lbnQpIHtcbiAgICAgIHRoaXMuX2JhZGdlRWxlbWVudCA9IHRoaXMuX2NyZWF0ZUJhZGdlRWxlbWVudCgpO1xuICAgICAgdGhpcy5fdXBkYXRlUmVuZGVyZWRDb250ZW50KHRoaXMuY29udGVudCk7XG4gICAgfVxuXG4gICAgdGhpcy5faXNJbml0aWFsaXplZCA9IHRydWU7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICAvLyBWaWV3RW5naW5lIG9ubHk6IHdoZW4gY3JlYXRpbmcgYSBiYWRnZSB0aHJvdWdoIHRoZSBSZW5kZXJlciwgQW5ndWxhciByZW1lbWJlcnMgaXRzIGluZGV4LlxuICAgIC8vIFdlIGhhdmUgdG8gZGVzdHJveSBpdCBvdXJzZWx2ZXMsIG90aGVyd2lzZSBpdCdsbCBiZSByZXRhaW5lZCBpbiBtZW1vcnkuXG4gICAgaWYgKHRoaXMuX3JlbmRlcmVyLmRlc3Ryb3lOb2RlKSB7XG4gICAgICB0aGlzLl9yZW5kZXJlci5kZXN0cm95Tm9kZSh0aGlzLl9iYWRnZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIHRoaXMuX2FyaWFEZXNjcmliZXIucmVtb3ZlRGVzY3JpcHRpb24oXG4gICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICB0aGlzLmRlc2NyaXB0aW9uLFxuICAgICk7XG4gIH1cblxuICAvKiogQ3JlYXRlcyB0aGUgYmFkZ2UgZWxlbWVudCAqL1xuICBwcml2YXRlIF9jcmVhdGVCYWRnZUVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIGNvbnN0IGJhZGdlRWxlbWVudCA9IHRoaXMuX3JlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICBjb25zdCBhY3RpdmVDbGFzcyA9ICdtYXQtYmFkZ2UtYWN0aXZlJztcblxuICAgIGJhZGdlRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2lkJywgYG1hdC1iYWRnZS1jb250ZW50LSR7dGhpcy5faWR9YCk7XG5cbiAgICAvLyBUaGUgYmFkZ2UgaXMgYXJpYS1oaWRkZW4gYmVjYXVzZSB3ZSBkb24ndCB3YW50IGl0IHRvIGFwcGVhciBpbiB0aGUgcGFnZSdzIG5hdmlnYXRpb25cbiAgICAvLyBmbG93LiBJbnN0ZWFkLCB3ZSB1c2UgdGhlIGJhZGdlIHRvIGRlc2NyaWJlIHRoZSBkZWNvcmF0ZWQgZWxlbWVudCB3aXRoIGFyaWEtZGVzY3JpYmVkYnkuXG4gICAgYmFkZ2VFbGVtZW50LnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCAndHJ1ZScpO1xuICAgIGJhZGdlRWxlbWVudC5jbGFzc0xpc3QuYWRkKEJBREdFX0NPTlRFTlRfQ0xBU1MpO1xuXG4gICAgaWYgKHRoaXMuX2FuaW1hdGlvbk1vZGUgPT09ICdOb29wQW5pbWF0aW9ucycpIHtcbiAgICAgIGJhZGdlRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdfbWF0LWFuaW1hdGlvbi1ub29wYWJsZScpO1xuICAgIH1cblxuICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5hcHBlbmRDaGlsZChiYWRnZUVsZW1lbnQpO1xuXG4gICAgLy8gYW5pbWF0ZSBpbiBhZnRlciBpbnNlcnRpb25cbiAgICBpZiAoXG4gICAgICB0eXBlb2YgcmVxdWVzdEFuaW1hdGlvbkZyYW1lID09PSAnZnVuY3Rpb24nICYmXG4gICAgICB0aGlzLl9hbmltYXRpb25Nb2RlICE9PSAnTm9vcEFuaW1hdGlvbnMnXG4gICAgKSB7XG4gICAgICB0aGlzLl9uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICAgIGJhZGdlRWxlbWVudC5jbGFzc0xpc3QuYWRkKGFjdGl2ZUNsYXNzKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgYmFkZ2VFbGVtZW50LmNsYXNzTGlzdC5hZGQoYWN0aXZlQ2xhc3MpO1xuICAgIH1cblxuICAgIHJldHVybiBiYWRnZUVsZW1lbnQ7XG4gIH1cblxuICAvKiogVXBkYXRlIHRoZSB0ZXh0IGNvbnRlbnQgb2YgdGhlIGJhZGdlIGVsZW1lbnQgaW4gdGhlIERPTSwgY3JlYXRpbmcgdGhlIGVsZW1lbnQgaWYgbmVjZXNzYXJ5LiAqL1xuICBwcml2YXRlIF91cGRhdGVSZW5kZXJlZENvbnRlbnQoXG4gICAgbmV3Q29udGVudDogc3RyaW5nIHwgbnVtYmVyIHwgdW5kZWZpbmVkIHwgbnVsbCxcbiAgKTogdm9pZCB7XG4gICAgbGV0IG5ld0NvbnRlbnROb3JtYWxpemVkOiBzdHJpbmcgPSBgJHtuZXdDb250ZW50ID8/ICcnfWAudHJpbSgpO1xuICAgIC8vY29uc3QgbmV3Q29udGVudE5vcm1hbGl6ZWQ6IHN0cmluZyA9ICdcXHVmMDYzJztcbiAgICBpZiAodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnICYmIG5ld0NvbnRlbnQuc3Vic3RyaW5nKDAsIDIpID09ICdcXFxcdScpIHtcbiAgICAgIHRoaXMuaXNJY29uID0gdHJ1ZTtcbiAgICAgIG5ld0NvbnRlbnROb3JtYWxpemVkID0gU3RyaW5nLmZyb21Db2RlUG9pbnQoXG4gICAgICAgIHBhcnNlSW50KG5ld0NvbnRlbnQuc3Vic3RyaW5nKDIsIG5ld0NvbnRlbnQubGVuZ3RoKSwgMTYpLFxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBuZXdDb250ZW50ID09PSAnbnVtYmVyJyB8fCAhaXNOYU4oTnVtYmVyKG5ld0NvbnRlbnQpKSkge1xuICAgICAgaWYgKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IHBhcnNlSW50KG5ld0NvbnRlbnQpO1xuICAgICAgZWxzZSBpZiAobmV3Q29udGVudCA9PT0gbnVsbCB8fCBuZXdDb250ZW50ID09PSB1bmRlZmluZWQpIG5ld0NvbnRlbnQgPSAwO1xuICAgICAgaWYgKG5ld0NvbnRlbnQgPj0gMTAwKSB7XG4gICAgICAgIG5ld0NvbnRlbnROb3JtYWxpemVkID0gJzk5Kyc7XG4gICAgICB9XG4gICAgfVxuICAgIC8vIERvbid0IGNyZWF0ZSB0aGUgYmFkZ2UgZWxlbWVudCBpZiB0aGUgZGlyZWN0aXZlIGlzbid0IGluaXRpYWxpemVkIGJlY2F1c2Ugd2Ugd2FudCB0b1xuICAgIC8vIGFwcGVuZCB0aGUgYmFkZ2UgZWxlbWVudCB0byB0aGUgKmVuZCogb2YgdGhlIGhvc3QgZWxlbWVudCdzIGNvbnRlbnQgZm9yIGJhY2t3YXJkc1xuICAgIC8vIGNvbXBhdGliaWxpdHkuXG4gICAgaWYgKHRoaXMuX2lzSW5pdGlhbGl6ZWQgJiYgbmV3Q29udGVudE5vcm1hbGl6ZWQgJiYgIXRoaXMuX2JhZGdlRWxlbWVudCkge1xuICAgICAgdGhpcy5fYmFkZ2VFbGVtZW50ID0gdGhpcy5fY3JlYXRlQmFkZ2VFbGVtZW50KCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX2JhZGdlRWxlbWVudCkge1xuICAgICAgdGhpcy5fYmFkZ2VFbGVtZW50LnRleHRDb250ZW50ID0gbmV3Q29udGVudE5vcm1hbGl6ZWQ7XG4gICAgfVxuXG4gICAgdGhpcy5fY29udGVudCA9IG5ld0NvbnRlbnROb3JtYWxpemVkO1xuICB9XG5cbiAgLyoqIFVwZGF0ZXMgdGhlIGhvc3QgZWxlbWVudCdzIGFyaWEgZGVzY3JpcHRpb24gdmlhIEFyaWFEZXNjcmliZXIuICovXG4gIHByaXZhdGUgX3VwZGF0ZUhvc3RBcmlhRGVzY3JpcHRpb24obmV3RGVzY3JpcHRpb246IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuX2FyaWFEZXNjcmliZXIucmVtb3ZlRGVzY3JpcHRpb24oXG4gICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICB0aGlzLmRlc2NyaXB0aW9uLFxuICAgICk7XG4gICAgaWYgKG5ld0Rlc2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLl9hcmlhRGVzY3JpYmVyLmRlc2NyaWJlKFxuICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgIG5ld0Rlc2NyaXB0aW9uLFxuICAgICAgKTtcbiAgICB9XG4gICAgdGhpcy5fZGVzY3JpcHRpb24gPSBuZXdEZXNjcmlwdGlvbjtcbiAgfVxuXG4gIC8qKiBBZGRzIGNzcyB0aGVtZSBjbGFzcyBnaXZlbiB0aGUgY29sb3IgdG8gdGhlIGNvbXBvbmVudCBob3N0ICovXG4gIHByaXZhdGUgX3NldENvbG9yKGNvbG9yUGFsZXR0ZTogVGhlbWVQYWxldHRlKSB7XG4gICAgY29uc3QgY2xhc3NMaXN0ID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdDtcbiAgICBjbGFzc0xpc3QucmVtb3ZlKGBtYXQtYmFkZ2UtJHt0aGlzLl9jb2xvcn1gKTtcbiAgICBpZiAoY29sb3JQYWxldHRlKSB7XG4gICAgICBjbGFzc0xpc3QuYWRkKGBtYXQtYmFkZ2UtJHtjb2xvclBhbGV0dGV9YCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIENsZWFycyBhbnkgZXhpc3RpbmcgYmFkZ2VzIHRoYXQgbWlnaHQgYmUgbGVmdCBvdmVyIGZyb20gc2VydmVyLXNpZGUgcmVuZGVyaW5nLiAqL1xuICBwcml2YXRlIF9jbGVhckV4aXN0aW5nQmFkZ2VzKCkge1xuICAgIC8vIE9ubHkgY2hlY2sgZGlyZWN0IGNoaWxkcmVuIG9mIHRoaXMgaG9zdCBlbGVtZW50IGluIG9yZGVyIHRvIGF2b2lkIGRlbGV0aW5nXG4gICAgLy8gYW55IGJhZGdlcyB0aGF0IG1pZ2h0IGV4aXN0IGluIGRlc2NlbmRhbnQgZWxlbWVudHMuXG4gICAgY29uc3QgYmFkZ2VzID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXG4gICAgICBgOnNjb3BlID4gLiR7QkFER0VfQ09OVEVOVF9DTEFTU31gLFxuICAgICk7XG4gICAgZm9yIChjb25zdCBiYWRnZUVsZW1lbnQgb2YgQXJyYXkuZnJvbShiYWRnZXMpKSB7XG4gICAgICBpZiAoYmFkZ2VFbGVtZW50ICE9PSB0aGlzLl9iYWRnZUVsZW1lbnQpIHtcbiAgICAgICAgYmFkZ2VFbGVtZW50LnJlbW92ZSgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
250
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lbXJ2YS1tYXQtYmFkZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25lbXJ2YS9kZXNpZ24tc3lzdGVtL21hdC1iYWRnZS9zcmMvb25lbXJ2YS1tYXQtYmFkZ2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVNBLE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBQ0wsU0FBUyxFQUVULFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUlMLFFBQVEsR0FFVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWMsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7OztBQUU3RSxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7QUFFZiwrQ0FBK0M7QUFDL0Msb0JBQW9CO0FBQ3BCLE1BQU0sYUFBYSxHQUFHLGFBQWEsQ0FBQztDQUFRLENBQUMsQ0FBQztBQTJCOUMsTUFBTSxtQkFBbUIsR0FBRyxtQkFBbUIsQ0FBQztBQUVoRCx5Q0FBeUM7QUFvQnpDLE1BQU0sT0FBTyx3QkFDWCxTQUFRLGFBQWE7SUFHckIscUVBQXFFO0lBQ3JFLElBQ0ksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBSSxLQUFLLENBQUMsS0FBbUI7UUFDM0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0QixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBSUQsMkRBQTJEO0lBQzNELElBQ0ksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBSSxPQUFPLENBQUMsR0FBaUI7UUFDM0IsSUFBSSxDQUFDLFFBQVEs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Szt1QkFBQyxnQkFBZ0I7Z0JBWXZCLE1BQU07c0JBREwsV0FBVzt1QkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHsgQXJpYURlc2NyaWJlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBSZW5kZXJlcjIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2FuRGlzYWJsZSwgbWl4aW5EaXNhYmxlZCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgQU5JTUFUSU9OX01PRFVMRV9UWVBFIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci9hbmltYXRpb25zJztcblxubGV0IG5leHRJZCA9IDA7XG5cbi8vIEJvaWxlcnBsYXRlIGZvciBhcHBseWluZyBtaXhpbnMgdG8gTWF0QmFkZ2UuXG4vKiogQGRvY3MtcHJpdmF0ZSAqL1xuY29uc3QgX01hdEJhZGdlQmFzZSA9IG1peGluRGlzYWJsZWQoY2xhc3Mge30pO1xuXG4vKiogUG9zc2libGUgY29sb3IgcGFsZXR0ZSB2YWx1ZXMuICovXG5leHBvcnQgZGVjbGFyZSB0eXBlIFRoZW1lUGFsZXR0ZSA9XG4gIHwgJ3ByaW1hcnknXG4gIHwgJ2FjY2VudCdcbiAgfCAnd2FybidcbiAgfCAnc3VjY2VzcydcbiAgfCAnZXJyb3InXG4gIHwgJ2luZm8nXG4gIHwgJ2dyYXlzY2FsZSdcbiAgfCB1bmRlZmluZWQ7XG5cbi8qKiBBbGxvd2VkIHBvc2l0aW9uIG9wdGlvbnMgZm9yIG1hdEJhZGdlUG9zaXRpb24gKi9cbmV4cG9ydCB0eXBlIE1hdEJhZGdlUG9zaXRpb24gPVxuICB8ICdhYm92ZSBhZnRlcidcbiAgfCAnYWJvdmUgYmVmb3JlJ1xuICB8ICdiZWxvdyBiZWZvcmUnXG4gIHwgJ2JlbG93IGFmdGVyJ1xuICB8ICdiZWZvcmUnXG4gIHwgJ2FmdGVyJ1xuICB8ICdhYm92ZSdcbiAgfCAnYmVsb3cnO1xuXG4vKiogQWxsb3dlZCBzaXplIG9wdGlvbnMgZm9yIG1hdEJhZGdlU2l6ZSAqL1xuZXhwb3J0IHR5cGUgTWF0QmFkZ2VTaXplID0gJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJztcblxuY29uc3QgQkFER0VfQ09OVEVOVF9DTEFTUyA9ICdtYXQtYmFkZ2UtY29udGVudCc7XG5cbi8qKiBEaXJlY3RpdmUgdG8gZGlzcGxheSBhIHRleHQgYmFkZ2UuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbWF0QmFkZ2VdJyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gIGlucHV0czogWydkaXNhYmxlZDogbWF0QmFkZ2VEaXNhYmxlZCddLFxuXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ21hdC1iYWRnZScsXG4gICAgJ1tjbGFzcy5tYXQtYmFkZ2Utb3ZlcmxhcF0nOiAnb3ZlcmxhcCcsXG4gICAgJ1tjbGFzcy5tYXQtYmFkZ2UtYWJvdmVdJzogJ2lzQWJvdmUoKScsXG4gICAgJ1tjbGFzcy5tYXQtYmFkZ2UtYmVsb3ddJzogJyFpc0Fib3ZlKCknLFxuICAgICdbY2xhc3MubWF0LWJhZGdlLWJlZm9yZV0nOiAnIWlzQWZ0ZXIoKScsXG4gICAgJ1tjbGFzcy5tYXQtYmFkZ2UtYWZ0ZXJdJzogJ2lzQWZ0ZXIoKScsXG4gICAgJ1tjbGFzcy5tYXQtYmFkZ2Utc21hbGxdJzogJ3NpemUgPT09IFwic21hbGxcIicsXG4gICAgJ1tjbGFzcy5tYXQtYmFkZ2UtbWVkaXVtXSc6ICdzaXplID09PSBcIm1lZGl1bVwiJyxcbiAgICAnW2NsYXNzLm1hdC1iYWRnZS1sYXJnZV0nOiAnc2l6ZSA9PT0gXCJsYXJnZVwiJyxcbiAgICAnW2NsYXNzLm1hdC1iYWRnZS1oaWRkZW5dJzogJ2hpZGRlbiB8fCAhY29udGVudCcsXG4gICAgJ1tjbGFzcy5tYXQtYmFkZ2UtZGlzYWJsZWRdJzogJ2Rpc2FibGVkJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgT25lbXJ2YU1hdEJhZGdlRGlyZWN0aXZlXG4gIGV4dGVuZHMgX01hdEJhZGdlQmFzZVxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBDYW5EaXNhYmxlXG57XG4gIC8qKiBUaGUgY29sb3Igb2YgdGhlIGJhZGdlLiBDYW4gYmUgYHByaW1hcnlgLCBgYWNjZW50YCwgb3IgYHdhcm5gLiAqL1xuICBASW5wdXQoJ21hdEJhZGdlQ29sb3InKVxuICBnZXQgY29sb3IoKTogVGhlbWVQYWxldHRlIHtcbiAgICByZXR1cm4gdGhpcy5fY29sb3I7XG4gIH1cblxuICBzZXQgY29sb3IodmFsdWU6IFRoZW1lUGFsZXR0ZSkge1xuICAgIHRoaXMuX3NldENvbG9yKHZhbHVlKTtcbiAgICB0aGlzLl9jb2xvciA9IHZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBfY29sb3I6IFRoZW1lUGFsZXR0ZSA9ICdwcmltYXJ5JztcblxuICAvKiogV2hldGhlciB0aGUgYmFkZ2Ugc2hvdWxkIG92ZXJsYXAgaXRzIGNvbnRlbnRzIG9yIG5vdCAqL1xuICBASW5wdXQoJ21hdEJhZGdlT3ZlcmxhcCcpXG4gIGdldCBvdmVybGFwKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9vdmVybGFwO1xuICB9XG5cbiAgc2V0IG92ZXJsYXAodmFsOiBCb29sZWFuSW5wdXQpIHtcbiAgICB0aGlzLl9vdmVybGFwID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbCk7XG4gIH1cblxuICBwcml2YXRlIF9vdmVybGFwID0gdHJ1ZTtcblxuICAvKipcbiAgICogUG9zaXRpb24gdGhlIGJhZGdlIHNob3VsZCByZXNpZGUuXG4gICAqIEFjY2VwdHMgYW55IGNvbWJpbmF0aW9uIG9mICdhYm92ZSd8J2JlbG93JyBhbmQgJ2JlZm9yZSd8J2FmdGVyJ1xuICAgKi9cbiAgQElucHV0KCdtYXRCYWRnZVBvc2l0aW9uJykgcG9zaXRpb246IE1hdEJhZGdlUG9zaXRpb24gPSAnYWJvdmUgYWZ0ZXInO1xuXG4gIC8qKiBUaGUgY29udGVudCBmb3IgdGhlIGJhZGdlICovXG4gIEBJbnB1dCgnbWF0QmFkZ2UnKVxuICBnZXQgY29udGVudCgpOiBzdHJpbmcgfCBudW1iZXIgfCB1bmRlZmluZWQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fY29udGVudDtcbiAgfVxuXG4gIHNldCBjb250ZW50KG5ld0NvbnRlbnQ6IHN0cmluZyB8IG51bWJlciB8IHVuZGVmaW5lZCB8IG51bGwpIHtcbiAgICB0aGlzLl91cGRhdGVSZW5kZXJlZENvbnRlbnQobmV3Q29udGVudCk7XG4gIH1cblxuICBwcml2YXRlIF9jb250ZW50OiBzdHJpbmcgfCBudW1iZXIgfCB1bmRlZmluZWQgfCBudWxsO1xuXG4gIC8qKiBNZXNzYWdlIHVzZWQgdG8gZGVzY3JpYmUgdGhlIGRlY29yYXRlZCBlbGVtZW50IHZpYSBhcmlhLWRlc2NyaWJlZGJ5ICovXG4gIEBJbnB1dCgnbWF0QmFkZ2VEZXNjcmlwdGlvbicpXG4gIGdldCBkZXNjcmlwdGlvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9kZXNjcmlwdGlvbjtcbiAgfVxuXG4gIHNldCBkZXNjcmlwdGlvbihuZXdEZXNjcmlwdGlvbjogc3RyaW5nKSB7XG4gICAgdGhpcy5fdXBkYXRlSG9zdEFyaWFEZXNjcmlwdGlvbihuZXdEZXNjcmlwdGlvbik7XG4gIH1cblxuICBwcml2YXRlIF9kZXNjcmlwdGlvbiA9ICcnO1xuXG4gIC8qKiBTaXplIG9mIHRoZSBiYWRnZS4gQ2FuIGJlICdzbWFsbCcsICdtZWRpdW0nLCBvciAnbGFyZ2UnLiAqL1xuICBASW5wdXQoJ21hdEJhZGdlU2l6ZScpIHNpemU6IE1hdEJhZGdlU2l6ZSA9ICdtZWRpdW0nO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBiYWRnZSBpcyBoaWRkZW4uICovXG4gIEBJbnB1dCgnbWF0QmFkZ2VIaWRkZW4nKVxuICBnZXQgaGlkZGVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9oaWRkZW47XG4gIH1cblxuICBzZXQgaGlkZGVuKHZhbDogQm9vbGVhbklucHV0KSB7XG4gICAgdGhpcy5faGlkZGVuID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbCk7XG4gIH1cblxuICBwcml2YXRlIF9oaWRkZW4gPSBmYWxzZTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm1hdC1iYWRnZS1pY29uJylcbiAgaXNJY29uID0gZmFsc2U7XG5cbiAgLyoqIFVuaXF1ZSBpZCBmb3IgdGhlIGJhZGdlICovXG4gIF9pZDogbnVtYmVyID0gbmV4dElkKys7XG5cbiAgLyoqIFZpc2libGUgYmFkZ2UgZWxlbWVudC4gKi9cbiAgcHJpdmF0ZSBfYmFkZ2VFbGVtZW50OiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZDtcblxuICAvKiogV2hldGhlciB0aGUgT25Jbml0IGxpZmVjeWNsZSBob29rIGhhcyBydW4geWV0ICovXG4gIHByaXZhdGUgX2lzSW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9uZ1pvbmU6IE5nWm9uZSxcbiAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcml2YXRlIF9hcmlhRGVzY3JpYmVyOiBBcmlhRGVzY3JpYmVyLFxuICAgIHByaXZhdGUgX3JlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChBTklNQVRJT05fTU9EVUxFX1RZUEUpIHByaXZhdGUgX2FuaW1hdGlvbk1vZGU/OiBzdHJpbmcsXG4gICkge1xuICAgIHN1cGVyKCk7XG5cbiAgICAvLyBpZiAodHlwZW9mIG5nRGV2TW9kZSA9PT0gJ3VuZGVmaW5lZCcgfHwgbmdEZXZNb2RlKSB7XG4gICAgLy8gICBjb25zdCBuYXRpdmVFbGVtZW50ID0gX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAvLyAgIGlmIChuYXRpdmVFbGVtZW50Lm5vZGVUeXBlICE9PSBuYXRpdmVFbGVtZW50LkVMRU1FTlRfTk9ERSkge1xuICAgIC8vICAgICB0aHJvdyBFcnJvcignbWF0QmFkZ2UgbXVzdCBiZSBhdHRhY2hlZCB0byBhbiBlbGVtZW50IG5vZGUuJyk7XG4gICAgLy8gICB9XG4gICAgLy8gfVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGJhZGdlIGlzIGFib3ZlIHRoZSBob3N0IG9yIG5vdCAqL1xuICBpc0Fib3ZlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnBvc2l0aW9uLmluZGV4T2YoJ2JlbG93JykgPT09IC0xO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGJhZGdlIGlzIGFmdGVyIHRoZSBob3N0IG9yIG5vdCAqL1xuICBpc0FmdGVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnBvc2l0aW9uLmluZGV4T2YoJ2JlZm9yZScpID09PSAtMTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBlbGVtZW50IGludG8gd2hpY2ggdGhlIGJhZGdlJ3MgY29udGVudCBpcyBiZWluZyByZW5kZXJlZC4gVW5kZWZpbmVkIGlmIHRoZSBlbGVtZW50XG4gICAqIGhhc24ndCBiZWVuIGNyZWF0ZWQgKGUuZy4gaWYgdGhlIGJhZGdlIGRvZXNuJ3QgaGF2ZSBjb250ZW50KS5cbiAgICovXG4gIGdldEJhZGdlRWxlbWVudCgpOiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2JhZGdlRWxlbWVudDtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIC8vIFdlIG1heSBoYXZlIHNlcnZlci1zaWRlIHJlbmRlcmVkIGJhZGdlIHRoYXQgd2UgbmVlZCB0byBjbGVhci5cbiAgICAvLyBXZSBuZWVkIHRvIGRvIHRoaXMgaW4gbmdPbkluaXQgYmVjYXVzZSB0aGUgZnVsbCBjb250ZW50IG9mIHRoZSBjb21wb25lbnRcbiAgICAvLyBvbiB3aGljaCB0aGUgYmFkZ2UgaXMgYXR0YWNoZWQgd29uJ3QgbmVjZXNzYXJpbHkgYmUgaW4gdGhlIERPTSB1bnRpbCB0aGlzIHBvaW50LlxuICAgIHRoaXMuX2NsZWFyRXhpc3RpbmdCYWRnZXMoKTtcblxuICAgIGlmICh0aGlzLmNvbnRlbnQgJiYgIXRoaXMuX2JhZGdlRWxlbWVudCkge1xuICAgICAgdGhpcy5fYmFkZ2VFbGVtZW50ID0gdGhpcy5fY3JlYXRlQmFkZ2VFbGVtZW50KCk7XG4gICAgICB0aGlzLl91cGRhdGVSZW5kZXJlZENvbnRlbnQodGhpcy5jb250ZW50KTtcbiAgICB9XG5cbiAgICB0aGlzLl9pc0luaXRpYWxpemVkID0gdHJ1ZTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIC8vIFZpZXdFbmdpbmUgb25seTogd2hlbiBjcmVhdGluZyBhIGJhZGdlIHRocm91Z2ggdGhlIFJlbmRlcmVyLCBBbmd1bGFyIHJlbWVtYmVycyBpdHMgaW5kZXguXG4gICAgLy8gV2UgaGF2ZSB0byBkZXN0cm95IGl0IG91cnNlbHZlcywgb3RoZXJ3aXNlIGl0J2xsIGJlIHJldGFpbmVkIGluIG1lbW9yeS5cbiAgICBpZiAodGhpcy5fcmVuZGVyZXIuZGVzdHJveU5vZGUpIHtcbiAgICAgIHRoaXMuX3JlbmRlcmVyLmRlc3Ryb3lOb2RlKHRoaXMuX2JhZGdlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgdGhpcy5fYXJpYURlc2NyaWJlci5yZW1vdmVEZXNjcmlwdGlvbihcbiAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgIHRoaXMuZGVzY3JpcHRpb24sXG4gICAgKTtcbiAgfVxuXG4gIC8qKiBDcmVhdGVzIHRoZSBiYWRnZSBlbGVtZW50ICovXG4gIHByaXZhdGUgX2NyZWF0ZUJhZGdlRWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgY29uc3QgYmFkZ2VFbGVtZW50ID0gdGhpcy5fcmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgIGNvbnN0IGFjdGl2ZUNsYXNzID0gJ21hdC1iYWRnZS1hY3RpdmUnO1xuXG4gICAgYmFkZ2VFbGVtZW50LnNldEF0dHJpYnV0ZSgnaWQnLCBgbWF0LWJhZGdlLWNvbnRlbnQtJHt0aGlzLl9pZH1gKTtcblxuICAgIC8vIFRoZSBiYWRnZSBpcyBhcmlhLWhpZGRlbiBiZWNhdXNlIHdlIGRvbid0IHdhbnQgaXQgdG8gYXBwZWFyIGluIHRoZSBwYWdlJ3MgbmF2aWdhdGlvblxuICAgIC8vIGZsb3cuIEluc3RlYWQsIHdlIHVzZSB0aGUgYmFkZ2UgdG8gZGVzY3JpYmUgdGhlIGRlY29yYXRlZCBlbGVtZW50IHdpdGggYXJpYS1kZXNjcmliZWRieS5cbiAgICBiYWRnZUVsZW1lbnQuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsICd0cnVlJyk7XG4gICAgYmFkZ2VFbGVtZW50LmNsYXNzTGlzdC5hZGQoQkFER0VfQ09OVEVOVF9DTEFTUyk7XG5cbiAgICBpZiAodGhpcy5fYW5pbWF0aW9uTW9kZSA9PT0gJ05vb3BBbmltYXRpb25zJykge1xuICAgICAgYmFkZ2VFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ19tYXQtYW5pbWF0aW9uLW5vb3BhYmxlJyk7XG4gICAgfVxuXG4gICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmFwcGVuZENoaWxkKGJhZGdlRWxlbWVudCk7XG5cbiAgICAvLyBhbmltYXRlIGluIGFmdGVyIGluc2VydGlvblxuICAgIGlmIChcbiAgICAgIHR5cGVvZiByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgPT09ICdmdW5jdGlvbicgJiZcbiAgICAgIHRoaXMuX2FuaW1hdGlvbk1vZGUgIT09ICdOb29wQW5pbWF0aW9ucydcbiAgICApIHtcbiAgICAgIHRoaXMuX25nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgICAgYmFkZ2VFbGVtZW50LmNsYXNzTGlzdC5hZGQoYWN0aXZlQ2xhc3MpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBiYWRnZUVsZW1lbnQuY2xhc3NMaXN0LmFkZChhY3RpdmVDbGFzcyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGJhZGdlRWxlbWVudDtcbiAgfVxuXG4gIC8qKiBVcGRhdGUgdGhlIHRleHQgY29udGVudCBvZiB0aGUgYmFkZ2UgZWxlbWVudCBpbiB0aGUgRE9NLCBjcmVhdGluZyB0aGUgZWxlbWVudCBpZiBuZWNlc3NhcnkuICovXG4gIHByaXZhdGUgX3VwZGF0ZVJlbmRlcmVkQ29udGVudChcbiAgICBuZXdDb250ZW50OiBzdHJpbmcgfCBudW1iZXIgfCB1bmRlZmluZWQgfCBudWxsLFxuICApOiB2b2lkIHtcbiAgICBsZXQgbmV3Q29udGVudE5vcm1hbGl6ZWQ6IHN0cmluZyA9IGAke25ld0NvbnRlbnQgPz8gJyd9YC50cmltKCk7XG4gICAgLy9jb25zdCBuZXdDb250ZW50Tm9ybWFsaXplZDogc3RyaW5nID0gJ1xcdWYwNjMnO1xuICAgIGlmICh0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycgJiYgbmV3Q29udGVudC5zdWJzdHJpbmcoMCwgMikgPT0gJ1xcXFx1Jykge1xuICAgICAgdGhpcy5pc0ljb24gPSB0cnVlO1xuICAgICAgbmV3Q29udGVudE5vcm1hbGl6ZWQgPSBTdHJpbmcuZnJvbUNvZGVQb2ludChcbiAgICAgICAgcGFyc2VJbnQobmV3Q29udGVudC5zdWJzdHJpbmcoMiwgbmV3Q29udGVudC5sZW5ndGgpLCAxNiksXG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdudW1iZXInIHx8ICFpc05hTihOdW1iZXIobmV3Q29udGVudCkpKSB7XG4gICAgICBpZiAodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gcGFyc2VJbnQobmV3Q29udGVudCk7XG4gICAgICBlbHNlIGlmIChuZXdDb250ZW50ID09PSBudWxsIHx8IG5ld0NvbnRlbnQgPT09IHVuZGVmaW5lZCkgbmV3Q29udGVudCA9IDA7XG4gICAgICBpZiAobmV3Q29udGVudCA+PSAxMDApIHtcbiAgICAgICAgbmV3Q29udGVudE5vcm1hbGl6ZWQgPSAnOTkrJztcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gRG9uJ3QgY3JlYXRlIHRoZSBiYWRnZSBlbGVtZW50IGlmIHRoZSBkaXJlY3RpdmUgaXNuJ3QgaW5pdGlhbGl6ZWQgYmVjYXVzZSB3ZSB3YW50IHRvXG4gICAgLy8gYXBwZW5kIHRoZSBiYWRnZSBlbGVtZW50IHRvIHRoZSAqZW5kKiBvZiB0aGUgaG9zdCBlbGVtZW50J3MgY29udGVudCBmb3IgYmFja3dhcmRzXG4gICAgLy8gY29tcGF0aWJpbGl0eS5cbiAgICBpZiAodGhpcy5faXNJbml0aWFsaXplZCAmJiBuZXdDb250ZW50Tm9ybWFsaXplZCAmJiAhdGhpcy5fYmFkZ2VFbGVtZW50KSB7XG4gICAgICB0aGlzLl9iYWRnZUVsZW1lbnQgPSB0aGlzLl9jcmVhdGVCYWRnZUVsZW1lbnQoKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fYmFkZ2VFbGVtZW50KSB7XG4gICAgICB0aGlzLl9iYWRnZUVsZW1lbnQudGV4dENvbnRlbnQgPSBuZXdDb250ZW50Tm9ybWFsaXplZDtcbiAgICB9XG5cbiAgICB0aGlzLl9jb250ZW50ID0gbmV3Q29udGVudE5vcm1hbGl6ZWQ7XG4gIH1cblxuICAvKiogVXBkYXRlcyB0aGUgaG9zdCBlbGVtZW50J3MgYXJpYSBkZXNjcmlwdGlvbiB2aWEgQXJpYURlc2NyaWJlci4gKi9cbiAgcHJpdmF0ZSBfdXBkYXRlSG9zdEFyaWFEZXNjcmlwdGlvbihuZXdEZXNjcmlwdGlvbjogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5fYXJpYURlc2NyaWJlci5yZW1vdmVEZXNjcmlwdGlvbihcbiAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgIHRoaXMuZGVzY3JpcHRpb24sXG4gICAgKTtcbiAgICBpZiAobmV3RGVzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuX2FyaWFEZXNjcmliZXIuZGVzY3JpYmUoXG4gICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgbmV3RGVzY3JpcHRpb24sXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLl9kZXNjcmlwdGlvbiA9IG5ld0Rlc2NyaXB0aW9uO1xuICB9XG5cbiAgLyoqIEFkZHMgY3NzIHRoZW1lIGNsYXNzIGdpdmVuIHRoZSBjb2xvciB0byB0aGUgY29tcG9uZW50IGhvc3QgKi9cbiAgcHJpdmF0ZSBfc2V0Q29sb3IoY29sb3JQYWxldHRlOiBUaGVtZVBhbGV0dGUpIHtcbiAgICBjb25zdCBjbGFzc0xpc3QgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0O1xuICAgIGNsYXNzTGlzdC5yZW1vdmUoYG1hdC1iYWRnZS0ke3RoaXMuX2NvbG9yfWApO1xuICAgIGlmIChjb2xvclBhbGV0dGUpIHtcbiAgICAgIGNsYXNzTGlzdC5hZGQoYG1hdC1iYWRnZS0ke2NvbG9yUGFsZXR0ZX1gKTtcbiAgICB9XG4gIH1cblxuICAvKiogQ2xlYXJzIGFueSBleGlzdGluZyBiYWRnZXMgdGhhdCBtaWdodCBiZSBsZWZ0IG92ZXIgZnJvbSBzZXJ2ZXItc2lkZSByZW5kZXJpbmcuICovXG4gIHByaXZhdGUgX2NsZWFyRXhpc3RpbmdCYWRnZXMoKSB7XG4gICAgLy8gT25seSBjaGVjayBkaXJlY3QgY2hpbGRyZW4gb2YgdGhpcyBob3N0IGVsZW1lbnQgaW4gb3JkZXIgdG8gYXZvaWQgZGVsZXRpbmdcbiAgICAvLyBhbnkgYmFkZ2VzIHRoYXQgbWlnaHQgZXhpc3QgaW4gZGVzY2VuZGFudCBlbGVtZW50cy5cbiAgICBjb25zdCBiYWRnZXMgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbChcbiAgICAgIGA6c2NvcGUgPiAuJHtCQURHRV9DT05URU5UX0NMQVNTfWAsXG4gICAgKTtcbiAgICBmb3IgKGNvbnN0IGJhZGdlRWxlbWVudCBvZiBBcnJheS5mcm9tKGJhZGdlcykpIHtcbiAgICAgIGlmIChiYWRnZUVsZW1lbnQgIT09IHRoaXMuX2JhZGdlRWxlbWVudCkge1xuICAgICAgICBiYWRnZUVsZW1lbnQucmVtb3ZlKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=