@coreui/angular-pro 5.0.0-alpha.13 → 5.0.0-alpha.14

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 (259) hide show
  1. package/esm2022/lib/accordion/accordion/accordion.component.mjs +23 -17
  2. package/esm2022/lib/accordion/accordion-button/accordion-button.directive.mjs +3 -3
  3. package/esm2022/lib/accordion/accordion-item/accordion-item.component.mjs +3 -3
  4. package/esm2022/lib/accordion/accordion.module.mjs +4 -4
  5. package/esm2022/lib/accordion/accordion.service.mjs +4 -4
  6. package/esm2022/lib/alert/alert-heading.directive.mjs +3 -3
  7. package/esm2022/lib/alert/alert-link.directive.mjs +3 -3
  8. package/esm2022/lib/alert/alert.component.mjs +4 -4
  9. package/esm2022/lib/alert/alert.module.mjs +4 -4
  10. package/esm2022/lib/avatar/avatar.component.mjs +3 -3
  11. package/esm2022/lib/avatar/avatar.module.mjs +4 -4
  12. package/esm2022/lib/backdrop/backdrop.service.mjs +4 -4
  13. package/esm2022/lib/badge/badge.component.mjs +3 -3
  14. package/esm2022/lib/badge/badge.module.mjs +4 -4
  15. package/esm2022/lib/breadcrumb/breadcrumb/breadcrumb.component.mjs +3 -3
  16. package/esm2022/lib/breadcrumb/breadcrumb-item/breadcrumb-item.component.mjs +4 -4
  17. package/esm2022/lib/breadcrumb/breadcrumb-router/breadcrumb-router.component.mjs +6 -6
  18. package/esm2022/lib/breadcrumb/breadcrumb-router/breadcrumb-router.service.mjs +4 -4
  19. package/esm2022/lib/breadcrumb/breadcrumb.module.mjs +4 -4
  20. package/esm2022/lib/button/button-close.directive.mjs +3 -3
  21. package/esm2022/lib/button/button.directive.mjs +3 -3
  22. package/esm2022/lib/button/button.module.mjs +4 -4
  23. package/esm2022/lib/button-group/button-group/button-group.component.mjs +3 -3
  24. package/esm2022/lib/button-group/button-group.module.mjs +4 -4
  25. package/esm2022/lib/button-group/button-toolbar/button-toolbar.component.mjs +3 -3
  26. package/esm2022/lib/calendar/calendar/calendar-class-view.pipe.mjs +3 -3
  27. package/esm2022/lib/calendar/calendar/calendar.component.mjs +6 -6
  28. package/esm2022/lib/calendar/calendar-month/calendar-class-day.pipe.mjs +3 -3
  29. package/esm2022/lib/calendar/calendar-month/calendar-class-month.pipe.mjs +3 -3
  30. package/esm2022/lib/calendar/calendar-month/calendar-class-row.pipe.mjs +3 -3
  31. package/esm2022/lib/calendar/calendar-month/calendar-class-year.pipe.mjs +3 -3
  32. package/esm2022/lib/calendar/calendar-month/calendar-day-title.pipe.mjs +3 -3
  33. package/esm2022/lib/calendar/calendar-month/calendar-day.directive.mjs +4 -4
  34. package/esm2022/lib/calendar/calendar-month/calendar-day.pipe.mjs +3 -3
  35. package/esm2022/lib/calendar/calendar-month/calendar-month.component.mjs +6 -11
  36. package/esm2022/lib/calendar/calendar-month/calendar-row.directive.mjs +4 -4
  37. package/esm2022/lib/calendar/calendar-month/calendar-weekday.pipe.mjs +3 -3
  38. package/esm2022/lib/calendar/calendar-navigation/calendar-navigation.component.mjs +6 -6
  39. package/esm2022/lib/calendar/calendar.module.mjs +4 -4
  40. package/esm2022/lib/calendar/calendar.service.mjs +4 -4
  41. package/esm2022/lib/calendar/calendar.utils.mjs +1 -1
  42. package/esm2022/lib/callout/callout.component.mjs +3 -3
  43. package/esm2022/lib/callout/callout.module.mjs +4 -4
  44. package/esm2022/lib/card/card-body.component.mjs +3 -3
  45. package/esm2022/lib/card/card-footer.component.mjs +3 -3
  46. package/esm2022/lib/card/card-group.component.mjs +3 -3
  47. package/esm2022/lib/card/card-header-actions.component.mjs +3 -3
  48. package/esm2022/lib/card/card-header.component.mjs +3 -3
  49. package/esm2022/lib/card/card-img-overlay/card-img-overlay.component.mjs +3 -3
  50. package/esm2022/lib/card/card-img.directive.mjs +3 -3
  51. package/esm2022/lib/card/card-link.directive.mjs +3 -3
  52. package/esm2022/lib/card/card-subtitle.directive.mjs +3 -3
  53. package/esm2022/lib/card/card-text.directive.mjs +3 -3
  54. package/esm2022/lib/card/card-title.directive.mjs +3 -3
  55. package/esm2022/lib/card/card.component.mjs +3 -3
  56. package/esm2022/lib/card/card.module.mjs +4 -4
  57. package/esm2022/lib/carousel/carousel/carousel.component.mjs +4 -4
  58. package/esm2022/lib/carousel/carousel-caption/carousel-caption.component.mjs +3 -3
  59. package/esm2022/lib/carousel/carousel-control/carousel-control.component.mjs +4 -4
  60. package/esm2022/lib/carousel/carousel-indicators/carousel-indicators.component.mjs +5 -6
  61. package/esm2022/lib/carousel/carousel-inner/carousel-inner.component.mjs +4 -4
  62. package/esm2022/lib/carousel/carousel-item/carousel-item.component.mjs +4 -4
  63. package/esm2022/lib/carousel/carousel-state.mjs +4 -4
  64. package/esm2022/lib/carousel/carousel.config.mjs +3 -3
  65. package/esm2022/lib/carousel/carousel.module.mjs +4 -4
  66. package/esm2022/lib/carousel/carousel.service.mjs +3 -3
  67. package/esm2022/lib/collapse/collapse.directive.mjs +4 -4
  68. package/esm2022/lib/collapse/collapse.module.mjs +4 -4
  69. package/esm2022/lib/date-picker/date-picker.component.mjs +7 -9
  70. package/esm2022/lib/date-picker/date-picker.module.mjs +4 -4
  71. package/esm2022/lib/date-range-picker/date-range-picker/custom-range-key.pipe.mjs +3 -3
  72. package/esm2022/lib/date-range-picker/date-range-picker/date-range-picker.component.mjs +7 -9
  73. package/esm2022/lib/date-range-picker/date-range-picker.module.mjs +4 -4
  74. package/esm2022/lib/dropdown/dropdown/dropdown.component.mjs +7 -7
  75. package/esm2022/lib/dropdown/dropdown-close/dropdown-close.directive.mjs +4 -4
  76. package/esm2022/lib/dropdown/dropdown-divider/dropdown-divider.directive.mjs +3 -3
  77. package/esm2022/lib/dropdown/dropdown-header/dropdown-header.directive.mjs +3 -3
  78. package/esm2022/lib/dropdown/dropdown-item/dropdown-item-plain.directive.mjs +3 -3
  79. package/esm2022/lib/dropdown/dropdown-item/dropdown-item.directive.mjs +4 -4
  80. package/esm2022/lib/dropdown/dropdown-menu/dropdown-menu.directive.mjs +4 -4
  81. package/esm2022/lib/dropdown/dropdown.module.mjs +4 -4
  82. package/esm2022/lib/dropdown/dropdown.service.mjs +3 -3
  83. package/esm2022/lib/element-cover/element-cover.component.mjs +4 -4
  84. package/esm2022/lib/element-cover/element-cover.module.mjs +4 -4
  85. package/esm2022/lib/footer/footer.component.mjs +3 -3
  86. package/esm2022/lib/footer/footer.module.mjs +4 -4
  87. package/esm2022/lib/form/form/form.directive.mjs +3 -3
  88. package/esm2022/lib/form/form-check/form-check-input.directive.mjs +4 -4
  89. package/esm2022/lib/form/form-check/form-check-label.directive.mjs +3 -3
  90. package/esm2022/lib/form/form-check/form-check.component.mjs +3 -3
  91. package/esm2022/lib/form/form-control/form-control.directive.mjs +4 -4
  92. package/esm2022/lib/form/form-feedback/form-feedback.component.mjs +3 -3
  93. package/esm2022/lib/form/form-floating/form-floating.directive.mjs +3 -3
  94. package/esm2022/lib/form/form-label/form-label.directive.mjs +3 -3
  95. package/esm2022/lib/form/form-select/form-select.directive.mjs +3 -3
  96. package/esm2022/lib/form/form-text/form-text.directive.mjs +3 -3
  97. package/esm2022/lib/form/form.module.mjs +4 -4
  98. package/esm2022/lib/form/input-group/input-group.component.mjs +3 -3
  99. package/esm2022/lib/form/input-group-text/input-group-text.directive.mjs +3 -3
  100. package/esm2022/lib/grid/col.component.mjs +3 -3
  101. package/esm2022/lib/grid/col.directive.mjs +4 -4
  102. package/esm2022/lib/grid/container.component.mjs +3 -3
  103. package/esm2022/lib/grid/grid.module.mjs +4 -4
  104. package/esm2022/lib/grid/gutter.directive.mjs +4 -4
  105. package/esm2022/lib/grid/row.component.mjs +3 -3
  106. package/esm2022/lib/grid/row.directive.mjs +4 -4
  107. package/esm2022/lib/header/header/header.component.mjs +3 -3
  108. package/esm2022/lib/header/header-brand/header-brand.component.mjs +3 -3
  109. package/esm2022/lib/header/header-divider/header-divider.component.mjs +3 -3
  110. package/esm2022/lib/header/header-nav/header-nav.component.mjs +3 -3
  111. package/esm2022/lib/header/header-text/header-text.component.mjs +3 -3
  112. package/esm2022/lib/header/header-toggler/header-toggler.directive.mjs +4 -4
  113. package/esm2022/lib/header/header.module.mjs +4 -4
  114. package/esm2022/lib/image/img.directive.mjs +3 -3
  115. package/esm2022/lib/image/img.module.mjs +4 -4
  116. package/esm2022/lib/list-group/list-group-item.directive.mjs +3 -3
  117. package/esm2022/lib/list-group/list-group.directive.mjs +3 -3
  118. package/esm2022/lib/list-group/list-group.module.mjs +4 -4
  119. package/esm2022/lib/loading-button/loading-button.component.mjs +4 -4
  120. package/esm2022/lib/loading-button/loading-button.module.mjs +4 -4
  121. package/esm2022/lib/modal/modal/modal.component.mjs +4 -4
  122. package/esm2022/lib/modal/modal-body/modal-body.component.mjs +3 -3
  123. package/esm2022/lib/modal/modal-content/modal-content.component.mjs +3 -3
  124. package/esm2022/lib/modal/modal-dialog/modal-dialog.component.mjs +3 -3
  125. package/esm2022/lib/modal/modal-dismiss/modal-toggle.directive.mjs +3 -3
  126. package/esm2022/lib/modal/modal-footer/modal-footer.component.mjs +3 -3
  127. package/esm2022/lib/modal/modal-header/modal-header.component.mjs +3 -3
  128. package/esm2022/lib/modal/modal-title/modal-title.directive.mjs +3 -3
  129. package/esm2022/lib/modal/modal.module.mjs +4 -4
  130. package/esm2022/lib/modal/modal.service.mjs +3 -3
  131. package/esm2022/lib/multi-select/multi-select/multi-select-search.directive.mjs +4 -4
  132. package/esm2022/lib/multi-select/multi-select/multi-select.component.mjs +4 -4
  133. package/esm2022/lib/multi-select/multi-select-native-select/multi-select-native-select.component.mjs +3 -3
  134. package/esm2022/lib/multi-select/multi-select-optgroup/multi-select-optgroup-label.component.mjs +3 -3
  135. package/esm2022/lib/multi-select/multi-select-optgroup/multi-select-optgroup.component.mjs +4 -4
  136. package/esm2022/lib/multi-select/multi-select-option/multi-select-option.component.mjs +4 -4
  137. package/esm2022/lib/multi-select/multi-select-tag/multi-select-tag.component.mjs +4 -4
  138. package/esm2022/lib/multi-select/multi-select.module.mjs +4 -4
  139. package/esm2022/lib/multi-select/multi-select.service.mjs +3 -3
  140. package/esm2022/lib/nav/nav-item.component.mjs +3 -3
  141. package/esm2022/lib/nav/nav-link.directive.mjs +3 -3
  142. package/esm2022/lib/nav/nav.component.mjs +3 -3
  143. package/esm2022/lib/nav/nav.module.mjs +4 -4
  144. package/esm2022/lib/navbar/navbar-brand/navbar-brand.directive.mjs +3 -3
  145. package/esm2022/lib/navbar/navbar-nav/navbar-nav.component.mjs +3 -3
  146. package/esm2022/lib/navbar/navbar-text/navbar-text.component.mjs +3 -3
  147. package/esm2022/lib/navbar/navbar-toggler/navbar-toggler.directive.mjs +4 -4
  148. package/esm2022/lib/navbar/navbar.component.mjs +4 -4
  149. package/esm2022/lib/navbar/navbar.module.mjs +4 -4
  150. package/esm2022/lib/offcanvas/offcanvas/offcanvas.component.mjs +4 -4
  151. package/esm2022/lib/offcanvas/offcanvas-body/offcanvas-body.component.mjs +3 -3
  152. package/esm2022/lib/offcanvas/offcanvas-header/offcanvas-header.component.mjs +3 -3
  153. package/esm2022/lib/offcanvas/offcanvas-title/offcanvas-title.directive.mjs +3 -3
  154. package/esm2022/lib/offcanvas/offcanvas-toggle/offcanvas-toggle.directive.mjs +3 -3
  155. package/esm2022/lib/offcanvas/offcanvas.module.mjs +4 -4
  156. package/esm2022/lib/offcanvas/offcanvas.service.mjs +3 -3
  157. package/esm2022/lib/pagination/page-item/page-item.component.mjs +3 -3
  158. package/esm2022/lib/pagination/page-item/page-item.directive.mjs +4 -4
  159. package/esm2022/lib/pagination/page-link/page-link.directive.mjs +3 -3
  160. package/esm2022/lib/pagination/pagination/pagination.component.mjs +3 -3
  161. package/esm2022/lib/pagination/pagination.module.mjs +4 -4
  162. package/esm2022/lib/placeholder/placeholder-animation.directive.mjs +3 -3
  163. package/esm2022/lib/placeholder/placeholder.directive.mjs +3 -3
  164. package/esm2022/lib/placeholder/placeholder.module.mjs +4 -4
  165. package/esm2022/lib/popover/popover/popover.component.mjs +4 -4
  166. package/esm2022/lib/popover/popover.directive.mjs +4 -4
  167. package/esm2022/lib/popover/popover.module.mjs +4 -4
  168. package/esm2022/lib/progress/progress-bar.component.mjs +3 -3
  169. package/esm2022/lib/progress/progress-bar.directive.mjs +4 -4
  170. package/esm2022/lib/progress/progress-stacked.component.mjs +3 -3
  171. package/esm2022/lib/progress/progress.component.mjs +4 -4
  172. package/esm2022/lib/progress/progress.module.mjs +4 -4
  173. package/esm2022/lib/services/class-toggle.service.mjs +4 -4
  174. package/esm2022/lib/services/color-mode.service.mjs +4 -4
  175. package/esm2022/lib/services/in-memory-storage.service.mjs +3 -3
  176. package/esm2022/lib/services/intersection.service.mjs +4 -4
  177. package/esm2022/lib/services/listeners.service.mjs +4 -4
  178. package/esm2022/lib/services/local-storage.service.mjs +3 -3
  179. package/esm2022/lib/shared/html-attr.directive.mjs +4 -4
  180. package/esm2022/lib/shared/shared.module.mjs +4 -4
  181. package/esm2022/lib/shared/template-id.directive.mjs +3 -3
  182. package/esm2022/lib/shared/theme.directive.mjs +4 -4
  183. package/esm2022/lib/sidebar/sidebar/sidebar.component.mjs +4 -4
  184. package/esm2022/lib/sidebar/sidebar-backdrop/sidebar-backdrop.service.mjs +4 -4
  185. package/esm2022/lib/sidebar/sidebar-brand/sidebar-brand.component.mjs +4 -4
  186. package/esm2022/lib/sidebar/sidebar-footer/sidebar-footer.component.mjs +3 -3
  187. package/esm2022/lib/sidebar/sidebar-header/sidebar-header.component.mjs +3 -3
  188. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-badge.pipe.mjs +3 -3
  189. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-divider.component.mjs +3 -3
  190. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-group.service.mjs +3 -3
  191. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-icon.pipe.mjs +3 -3
  192. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-item-class.pipe.mjs +4 -4
  193. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-label.component.mjs +3 -3
  194. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-link.component.mjs +7 -7
  195. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-link.pipe.mjs +3 -3
  196. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-title.component.mjs +4 -4
  197. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav.component.mjs +9 -13
  198. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav.service.mjs +7 -7
  199. package/esm2022/lib/sidebar/sidebar-toggle/sidebar-toggle.directive.mjs +3 -3
  200. package/esm2022/lib/sidebar/sidebar-toggler/sidebar-toggler.directive.mjs +3 -3
  201. package/esm2022/lib/sidebar/sidebar.module.mjs +4 -4
  202. package/esm2022/lib/sidebar/sidebar.service.mjs +3 -3
  203. package/esm2022/lib/smart-pagination/smart-pagination.component.mjs +22 -26
  204. package/esm2022/lib/smart-pagination/smart-pagination.module.mjs +4 -4
  205. package/esm2022/lib/smart-table/smart-table/smart-table.component.mjs +4 -4
  206. package/esm2022/lib/smart-table/smart-table-column-filter/smart-table-column-filter.component.mjs +3 -3
  207. package/esm2022/lib/smart-table/smart-table-filter/filter-input.directive.mjs +4 -4
  208. package/esm2022/lib/smart-table/smart-table-filter/smart-table-filter.component.mjs +3 -3
  209. package/esm2022/lib/smart-table/smart-table-head/smart-table-column-label.pipe.mjs +3 -3
  210. package/esm2022/lib/smart-table/smart-table-head/smart-table-head.component.mjs +4 -4
  211. package/esm2022/lib/smart-table/smart-table-items-per-page-selector/smart-table-items-per-page-selector.component.mjs +4 -4
  212. package/esm2022/lib/smart-table/smart-table.module.mjs +4 -4
  213. package/esm2022/lib/smart-table/smart-table.utils.mjs +1 -1
  214. package/esm2022/lib/spinner/spinner.component.mjs +3 -3
  215. package/esm2022/lib/spinner/spinner.module.mjs +4 -4
  216. package/esm2022/lib/table/table-active.directive.mjs +3 -3
  217. package/esm2022/lib/table/table-color.directive.mjs +3 -3
  218. package/esm2022/lib/table/table.directive.mjs +4 -4
  219. package/esm2022/lib/table/table.module.mjs +4 -4
  220. package/esm2022/lib/tabs/tab-content/tab-content.component.mjs +4 -4
  221. package/esm2022/lib/tabs/tab-content-ref.directive.mjs +4 -4
  222. package/esm2022/lib/tabs/tab-pane/tab-pane.component.mjs +4 -4
  223. package/esm2022/lib/tabs/tab.service.mjs +3 -3
  224. package/esm2022/lib/tabs/tabs.module.mjs +4 -4
  225. package/esm2022/lib/time-picker/time-picker-roll-col/time-picker-roll-am-pm.component.mjs +7 -7
  226. package/esm2022/lib/time-picker/time-picker-roll-col/time-picker-roll-col.component.mjs +7 -7
  227. package/esm2022/lib/time-picker/time-picker.component.mjs +4 -4
  228. package/esm2022/lib/time-picker/time-picker.module.mjs +4 -4
  229. package/esm2022/lib/time-picker/time.utils.mjs +1 -1
  230. package/esm2022/lib/toast/toast/toast.component.mjs +4 -4
  231. package/esm2022/lib/toast/toast-body/toast-body.component.mjs +3 -3
  232. package/esm2022/lib/toast/toast-close.directive.mjs +3 -3
  233. package/esm2022/lib/toast/toast-header/toast-header.component.mjs +3 -3
  234. package/esm2022/lib/toast/toast.module.mjs +4 -4
  235. package/esm2022/lib/toast/toaster/toaster-host.directive.mjs +3 -3
  236. package/esm2022/lib/toast/toaster/toaster.component.mjs +4 -4
  237. package/esm2022/lib/toast/toaster/toaster.service.mjs +3 -3
  238. package/esm2022/lib/tooltip/tooltip/tooltip.component.mjs +4 -4
  239. package/esm2022/lib/tooltip/tooltip.directive.mjs +4 -4
  240. package/esm2022/lib/tooltip/tooltip.module.mjs +4 -4
  241. package/esm2022/lib/utilities/align.directive.mjs +3 -3
  242. package/esm2022/lib/utilities/bg-color.directive.mjs +3 -3
  243. package/esm2022/lib/utilities/border.directive.mjs +4 -4
  244. package/esm2022/lib/utilities/rounded.directive.mjs +4 -4
  245. package/esm2022/lib/utilities/shadow-on-scroll.directive.mjs +4 -4
  246. package/esm2022/lib/utilities/text-color.directive.mjs +3 -3
  247. package/esm2022/lib/utilities/utilities.module.mjs +4 -4
  248. package/esm2022/lib/widget/widget-stat-a/widget-stat-a.component.mjs +3 -3
  249. package/esm2022/lib/widget/widget-stat-b/widget-stat-b.component.mjs +3 -3
  250. package/esm2022/lib/widget/widget-stat-c/widget-stat-c.component.mjs +3 -3
  251. package/esm2022/lib/widget/widget-stat-d/widget-stat-d.component.mjs +6 -6
  252. package/esm2022/lib/widget/widget-stat-e/widget-stat-e.component.mjs +3 -3
  253. package/esm2022/lib/widget/widget-stat-f/widget-stat-f.component.mjs +3 -3
  254. package/esm2022/lib/widget/widget.module.mjs +4 -4
  255. package/fesm2022/coreui-angular-pro.mjs +862 -870
  256. package/fesm2022/coreui-angular-pro.mjs.map +1 -1
  257. package/lib/accordion/accordion/accordion.component.d.ts +4 -6
  258. package/lib/smart-pagination/smart-pagination.component.d.ts +4 -8
  259. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  import { animate, state, style, transition, trigger } from '@angular/animations';
2
- import { NgClass, NgForOf, NgIf, NgStyle, NgSwitch, NgSwitchCase, NgSwitchDefault, NgTemplateOutlet } from '@angular/common';
2
+ import { NgClass, NgIf, NgStyle, NgTemplateOutlet } from '@angular/common';
3
3
  import { booleanAttribute, Component, ElementRef, forwardRef, HostBinding, Input, Optional, ViewChild } from '@angular/core';
4
4
  import { NavigationEnd, RouterModule } from '@angular/router';
5
5
  import { filter } from 'rxjs/operators';
@@ -102,8 +102,8 @@ export class SidebarNavGroupComponent {
102
102
  });
103
103
  }
104
104
  }
105
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SidebarNavGroupComponent, deps: [{ token: i1.Router }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i2.SidebarNavHelper }, { token: i3.SidebarNavGroupService }], target: i0.ɵɵFactoryTarget.Component }); }
106
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.1.0", type: SidebarNavGroupComponent, isStandalone: true, selector: "c-sidebar-nav-group", inputs: { item: "item", dropdownMode: "dropdownMode", show: "show", compact: ["compact", "compact", booleanAttribute] }, host: { properties: { "class": "this.hostClasses" } }, providers: [SidebarNavHelper, SidebarNavGroupService], viewQueries: [{ propertyName: "sidebarNav", first: true, predicate: i0.forwardRef(() => SidebarNavComponent), descendants: true, read: ElementRef }], ngImport: i0, template: "<a (click)=\"toggleGroup($event)\"\n [cHtmlAttr]=\"item.attributes\"\n class=\"nav-link nav-group-toggle\"\n href>\n <ng-container *ngTemplateOutlet=\"iconTemplate ; context: {$implicit: item}\" />\n <ng-container>{{ item.name }}</ng-container>\n <span *ngIf=\"helper.hasBadge(item)\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge.text }}</span>\n</a>\n<c-sidebar-nav\n (@openClose.done)=\"onAnimationDone($event)\"\n (@openClose.start)=\"onAnimationStart($event)\"\n [@openClose]=\"open ? 'open' : 'closed'\"\n [dropdownMode]=\"dropdownMode\"\n [groupItems]=\"true\"\n [navItems]=\"navItems\"\n [ngStyle]=\"display\"\n [compact]=\"compact\"\n/>\n\n<ng-template #iconTemplate let-item>\n<!-- <i *ngIf=\"item?.icon\" [ngClass]=\"item | cSidebarNavIcon\"></i>-->\n <span *ngIf=\"item?.icon\" class=\"nav-icon\">\n <span [ngClass]=\"item.icon ?? ''\"></span>\n </span>\n <ng-template [ngIf]=\"item?.iconComponent\">\n <svg\n [cIcon]=\"item.iconComponent?.content\"\n [customClasses]=\"item | cSidebarNavIcon\"\n [name]=\"item.iconComponent?.name\"\n />\n </ng-template>\n <span *ngIf=\"!item?.icon && !item?.iconComponent\" [ngClass]=\"item | cSidebarNavIcon\"></span>\n</ng-template>\n", styles: [".nav-group-toggle{cursor:pointer}.nav-group-items{display:block}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(() => HtmlAttributesDirective), selector: "[cHtmlAttr]", inputs: ["cHtmlAttr"], exportAs: ["cHtmlAttr"] }, { kind: "directive", type: i0.forwardRef(() => IconDirective), selector: "svg[cIcon]", inputs: ["cIcon", "size", "title", "customClasses", "width", "height", "name", "viewBox", "xmlns", "pointer-events", "role"], exportAs: ["cIcon"] }, { kind: "directive", type: i0.forwardRef(() => NgTemplateOutlet), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(() => NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(() => NgClass), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i0.forwardRef(() => SidebarNavIconPipe), name: "cSidebarNavIcon" }, { kind: "pipe", type: i0.forwardRef(() => SidebarNavBadgePipe), name: "cSidebarNavBadge" }, { kind: "component", type: i0.forwardRef(() => SidebarNavComponent), selector: "c-sidebar-nav", inputs: ["navItems", "dropdownMode", "groupItems", "compact"] }, { kind: "directive", type: i0.forwardRef(() => NgStyle), selector: "[ngStyle]", inputs: ["ngStyle"] }], animations: [
105
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: SidebarNavGroupComponent, deps: [{ token: i1.Router }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i2.SidebarNavHelper }, { token: i3.SidebarNavGroupService }], target: i0.ɵɵFactoryTarget.Component }); }
106
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.0.9", type: SidebarNavGroupComponent, isStandalone: true, selector: "c-sidebar-nav-group", inputs: { item: "item", dropdownMode: "dropdownMode", show: "show", compact: ["compact", "compact", booleanAttribute] }, host: { properties: { "class": "this.hostClasses" } }, providers: [SidebarNavHelper, SidebarNavGroupService], viewQueries: [{ propertyName: "sidebarNav", first: true, predicate: i0.forwardRef(() => SidebarNavComponent), descendants: true, read: ElementRef }], ngImport: i0, template: "<a (click)=\"toggleGroup($event)\"\n [cHtmlAttr]=\"item.attributes\"\n class=\"nav-link nav-group-toggle\"\n href>\n <ng-container *ngTemplateOutlet=\"iconTemplate ; context: {$implicit: item}\" />\n <ng-container>{{ item.name }}</ng-container>\n <span *ngIf=\"helper.hasBadge(item)\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge.text }}</span>\n</a>\n<c-sidebar-nav\n (@openClose.done)=\"onAnimationDone($event)\"\n (@openClose.start)=\"onAnimationStart($event)\"\n [@openClose]=\"open ? 'open' : 'closed'\"\n [dropdownMode]=\"dropdownMode\"\n [groupItems]=\"true\"\n [navItems]=\"navItems\"\n [ngStyle]=\"display\"\n [compact]=\"compact\"\n/>\n\n<ng-template #iconTemplate let-item>\n<!-- <i *ngIf=\"item?.icon\" [ngClass]=\"item | cSidebarNavIcon\"></i>-->\n <span *ngIf=\"item?.icon\" class=\"nav-icon\">\n <span [ngClass]=\"item.icon ?? ''\"></span>\n </span>\n <ng-template [ngIf]=\"item?.iconComponent\">\n <svg\n [cIcon]=\"item.iconComponent?.content\"\n [customClasses]=\"item | cSidebarNavIcon\"\n [name]=\"item.iconComponent?.name\"\n />\n </ng-template>\n <span *ngIf=\"!item?.icon && !item?.iconComponent\" [ngClass]=\"item | cSidebarNavIcon\"></span>\n</ng-template>\n", styles: [".nav-group-toggle{cursor:pointer}.nav-group-items{display:block}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(() => HtmlAttributesDirective), selector: "[cHtmlAttr]", inputs: ["cHtmlAttr"], exportAs: ["cHtmlAttr"] }, { kind: "directive", type: i0.forwardRef(() => IconDirective), selector: "svg[cIcon]", inputs: ["cIcon", "size", "title", "customClasses", "width", "height", "name", "viewBox", "xmlns", "pointer-events", "role"], exportAs: ["cIcon"] }, { kind: "directive", type: i0.forwardRef(() => NgTemplateOutlet), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(() => NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(() => NgClass), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i0.forwardRef(() => SidebarNavIconPipe), name: "cSidebarNavIcon" }, { kind: "pipe", type: i0.forwardRef(() => SidebarNavBadgePipe), name: "cSidebarNavBadge" }, { kind: "component", type: i0.forwardRef(() => SidebarNavComponent), selector: "c-sidebar-nav", inputs: ["navItems", "dropdownMode", "groupItems", "compact"] }, { kind: "directive", type: i0.forwardRef(() => NgStyle), selector: "[ngStyle]", inputs: ["ngStyle"] }], animations: [
107
107
  trigger('openClose', [
108
108
  state('open', style({
109
109
  height: '*'
@@ -117,7 +117,7 @@ export class SidebarNavGroupComponent {
117
117
  ])
118
118
  ] }); }
119
119
  }
120
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SidebarNavGroupComponent, decorators: [{
120
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: SidebarNavGroupComponent, decorators: [{
121
121
  type: Component,
122
122
  args: [{ selector: 'c-sidebar-nav-group', providers: [SidebarNavHelper, SidebarNavGroupService], standalone: true, imports: [
123
123
  HtmlAttributesDirective,
@@ -191,17 +191,13 @@ export class SidebarNavComponent {
191
191
  this.sidebarService.toggle({ toggle: 'visible', sidebar: this.sidebar });
192
192
  }
193
193
  }
194
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SidebarNavComponent, deps: [{ token: i4.SidebarComponent, optional: true }, { token: i2.SidebarNavHelper }, { token: i1.Router }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i5.SidebarService }], target: i0.ɵɵFactoryTarget.Component }); }
195
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.1.0", type: SidebarNavComponent, isStandalone: true, selector: "c-sidebar-nav", inputs: { navItems: "navItems", dropdownMode: "dropdownMode", groupItems: ["groupItems", "groupItems", booleanAttribute], compact: ["compact", "compact", booleanAttribute] }, host: { properties: { "class": "this.hostClasses", "attr.role": "this.role" } }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngFor=\"let item of navItemsArray\">\n <ng-container [ngSwitch]=\"helper.itemType(item)\">\n <c-sidebar-nav-group\n #rla=\"routerLinkActive\"\n *ngSwitchCase=\"'group'\"\n [dropdownMode]=\"dropdownMode\"\n [item]=\"item\"\n [ngClass]=\"item | cSidebarNavItemClass\"\n [routerLinkActiveOptions]=\"{exact: true}\"\n routerLinkActive=\"show\"\n [compact]=\"compact\"\n >\n </c-sidebar-nav-group>\n <c-sidebar-nav-divider\n *ngSwitchCase=\"'divider'\"\n [cHtmlAttr]=\"item.attributes ?? {}\"\n [item]=\"item\"\n [ngClass]=\"item | cSidebarNavItemClass\">\n </c-sidebar-nav-divider>\n <c-sidebar-nav-title\n *ngSwitchCase=\"'title'\"\n [cHtmlAttr]=\"item.attributes ?? {}\"\n [item]=\"item\"\n [ngClass]=\"item | cSidebarNavItemClass\">\n </c-sidebar-nav-title>\n <c-sidebar-nav-label\n *ngSwitchCase=\"'label'\"\n [item]=\"item\"\n [ngClass]=\"item | cSidebarNavItemClass\">\n </c-sidebar-nav-label>\n <ng-container\n *ngSwitchCase=\"'empty'\">\n </ng-container>\n <c-sidebar-nav-link\n (linkClick)=\"hideMobile()\"\n *ngSwitchDefault\n [item]=\"item\"\n [ngClass]=\"item | cSidebarNavItemClass\"\n >\n </c-sidebar-nav-link>\n </ng-container>\n</ng-container>\n<ng-content></ng-content>\n", dependencies: [{ kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: HtmlAttributesDirective, selector: "[cHtmlAttr]", inputs: ["cHtmlAttr"], exportAs: ["cHtmlAttr"] }, { kind: "component", type: SidebarNavLinkComponent, selector: "c-sidebar-nav-link", inputs: ["item"], outputs: ["linkClick"] }, { kind: "component", type: SidebarNavLabelComponent, selector: "c-sidebar-nav-label", inputs: ["item"] }, { kind: "component", type: SidebarNavTitleComponent, selector: "c-sidebar-nav-title", inputs: ["item"] }, { kind: "component", type: SidebarNavDividerComponent, selector: "c-sidebar-nav-divider", inputs: ["item"] }, { kind: "component", type: SidebarNavGroupComponent, selector: "c-sidebar-nav-group", inputs: ["item", "dropdownMode", "show", "compact"] }, { kind: "pipe", type: SidebarNavItemClassPipe, name: "cSidebarNavItemClass" }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }] }); }
194
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: SidebarNavComponent, deps: [{ token: i4.SidebarComponent, optional: true }, { token: i2.SidebarNavHelper }, { token: i1.Router }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i5.SidebarService }], target: i0.ɵɵFactoryTarget.Component }); }
195
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.9", type: SidebarNavComponent, isStandalone: true, selector: "c-sidebar-nav", inputs: { navItems: "navItems", dropdownMode: "dropdownMode", groupItems: ["groupItems", "groupItems", booleanAttribute], compact: ["compact", "compact", booleanAttribute] }, host: { properties: { "class": "this.hostClasses", "attr.role": "this.role" } }, usesOnChanges: true, ngImport: i0, template: "@for (item of navItemsArray; track item) {\n @switch (helper.itemType(item)) {\n @case ('group') {\n <c-sidebar-nav-group\n #rla=\"routerLinkActive\"\n [dropdownMode]=\"dropdownMode\"\n [item]=\"item\"\n [ngClass]=\"item | cSidebarNavItemClass\"\n [routerLinkActiveOptions]=\"{exact: true}\"\n routerLinkActive=\"show\"\n [compact]=\"compact\"\n />\n }\n @case ('divider') {\n <c-sidebar-nav-divider\n [cHtmlAttr]=\"item.attributes ?? {}\"\n [item]=\"item\"\n [ngClass]=\"item | cSidebarNavItemClass\"\n />\n }\n @case ('title') {\n <c-sidebar-nav-title\n [cHtmlAttr]=\"item.attributes ?? {}\"\n [item]=\"item\"\n [ngClass]=\"item | cSidebarNavItemClass\"\n />\n }\n @case ('label') {\n <c-sidebar-nav-label\n [item]=\"item\"\n [ngClass]=\"item | cSidebarNavItemClass\"\n />\n }\n @case ('empty') {\n <ng-container />\n }\n @default {\n <c-sidebar-nav-link\n (linkClick)=\"hideMobile()\"\n [item]=\"item\"\n [ngClass]=\"item | cSidebarNavItemClass\"\n />\n }\n }\n}\n<ng-content></ng-content>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: HtmlAttributesDirective, selector: "[cHtmlAttr]", inputs: ["cHtmlAttr"], exportAs: ["cHtmlAttr"] }, { kind: "component", type: SidebarNavLinkComponent, selector: "c-sidebar-nav-link", inputs: ["item"], outputs: ["linkClick"] }, { kind: "component", type: SidebarNavLabelComponent, selector: "c-sidebar-nav-label", inputs: ["item"] }, { kind: "component", type: SidebarNavTitleComponent, selector: "c-sidebar-nav-title", inputs: ["item"] }, { kind: "component", type: SidebarNavDividerComponent, selector: "c-sidebar-nav-divider", inputs: ["item"] }, { kind: "component", type: SidebarNavGroupComponent, selector: "c-sidebar-nav-group", inputs: ["item", "dropdownMode", "show", "compact"] }, { kind: "pipe", type: SidebarNavItemClassPipe, name: "cSidebarNavItemClass" }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }] }); }
196
196
  }
197
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SidebarNavComponent, decorators: [{
197
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: SidebarNavComponent, decorators: [{
198
198
  type: Component,
199
199
  args: [{ selector: 'c-sidebar-nav', standalone: true, imports: [
200
- NgForOf,
201
200
  NgClass,
202
- NgSwitch,
203
- NgSwitchCase,
204
- NgSwitchDefault,
205
201
  HtmlAttributesDirective,
206
202
  SidebarNavLinkComponent,
207
203
  SidebarNavLabelComponent,
@@ -210,7 +206,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
210
206
  SidebarNavGroupComponent,
211
207
  SidebarNavItemClassPipe,
212
208
  RouterModule
213
- ], template: "<ng-container *ngFor=\"let item of navItemsArray\">\n <ng-container [ngSwitch]=\"helper.itemType(item)\">\n <c-sidebar-nav-group\n #rla=\"routerLinkActive\"\n *ngSwitchCase=\"'group'\"\n [dropdownMode]=\"dropdownMode\"\n [item]=\"item\"\n [ngClass]=\"item | cSidebarNavItemClass\"\n [routerLinkActiveOptions]=\"{exact: true}\"\n routerLinkActive=\"show\"\n [compact]=\"compact\"\n >\n </c-sidebar-nav-group>\n <c-sidebar-nav-divider\n *ngSwitchCase=\"'divider'\"\n [cHtmlAttr]=\"item.attributes ?? {}\"\n [item]=\"item\"\n [ngClass]=\"item | cSidebarNavItemClass\">\n </c-sidebar-nav-divider>\n <c-sidebar-nav-title\n *ngSwitchCase=\"'title'\"\n [cHtmlAttr]=\"item.attributes ?? {}\"\n [item]=\"item\"\n [ngClass]=\"item | cSidebarNavItemClass\">\n </c-sidebar-nav-title>\n <c-sidebar-nav-label\n *ngSwitchCase=\"'label'\"\n [item]=\"item\"\n [ngClass]=\"item | cSidebarNavItemClass\">\n </c-sidebar-nav-label>\n <ng-container\n *ngSwitchCase=\"'empty'\">\n </ng-container>\n <c-sidebar-nav-link\n (linkClick)=\"hideMobile()\"\n *ngSwitchDefault\n [item]=\"item\"\n [ngClass]=\"item | cSidebarNavItemClass\"\n >\n </c-sidebar-nav-link>\n </ng-container>\n</ng-container>\n<ng-content></ng-content>\n" }]
209
+ ], template: "@for (item of navItemsArray; track item) {\n @switch (helper.itemType(item)) {\n @case ('group') {\n <c-sidebar-nav-group\n #rla=\"routerLinkActive\"\n [dropdownMode]=\"dropdownMode\"\n [item]=\"item\"\n [ngClass]=\"item | cSidebarNavItemClass\"\n [routerLinkActiveOptions]=\"{exact: true}\"\n routerLinkActive=\"show\"\n [compact]=\"compact\"\n />\n }\n @case ('divider') {\n <c-sidebar-nav-divider\n [cHtmlAttr]=\"item.attributes ?? {}\"\n [item]=\"item\"\n [ngClass]=\"item | cSidebarNavItemClass\"\n />\n }\n @case ('title') {\n <c-sidebar-nav-title\n [cHtmlAttr]=\"item.attributes ?? {}\"\n [item]=\"item\"\n [ngClass]=\"item | cSidebarNavItemClass\"\n />\n }\n @case ('label') {\n <c-sidebar-nav-label\n [item]=\"item\"\n [ngClass]=\"item | cSidebarNavItemClass\"\n />\n }\n @case ('empty') {\n <ng-container />\n }\n @default {\n <c-sidebar-nav-link\n (linkClick)=\"hideMobile()\"\n [item]=\"item\"\n [ngClass]=\"item | cSidebarNavItemClass\"\n />\n }\n }\n}\n<ng-content></ng-content>\n" }]
214
210
  }], ctorParameters: () => [{ type: i4.SidebarComponent, decorators: [{
215
211
  type: Optional
216
212
  }] }, { type: i2.SidebarNavHelper }, { type: i1.Router }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i5.SidebarService }], propDecorators: { navItems: [{
@@ -230,4 +226,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
230
226
  type: HostBinding,
231
227
  args: ['attr.role']
232
228
  }] } });
233
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci1uYXYuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9zaWRlYmFyL3NpZGViYXItbmF2L3NpZGViYXItbmF2LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvc2lkZWJhci9zaWRlYmFyLW5hdi9zaWRlYmFyLW5hdi1ncm91cC5jb21wb25lbnQuaHRtbCIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvc2lkZWJhci9zaWRlYmFyLW5hdi9zaWRlYmFyLW5hdi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFrQixLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRyxPQUFPLEVBQ0wsT0FBTyxFQUNQLE9BQU8sRUFDUCxJQUFJLEVBQ0osT0FBTyxFQUNQLFFBQVEsRUFDUixZQUFZLEVBQ1osZUFBZSxFQUNmLGdCQUFnQixFQUNqQixNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsU0FBUyxFQUNULFVBQVUsRUFDVixVQUFVLEVBQ1YsV0FBVyxFQUNYLEtBQUssRUFJTCxRQUFRLEVBR1IsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQVUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFdEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBS3hDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FB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c0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgQW5pbWF0aW9uRXZlbnQsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtcbiAgTmdDbGFzcyxcbiAgTmdGb3JPZixcbiAgTmdJZixcbiAgTmdTdHlsZSxcbiAgTmdTd2l0Y2gsXG4gIE5nU3dpdGNoQ2FzZSxcbiAgTmdTd2l0Y2hEZWZhdWx0LFxuICBOZ1RlbXBsYXRlT3V0bGV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBib29sZWFuQXR0cmlidXRlLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIGZvcndhcmRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIFJlbmRlcmVyMixcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyLCBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNpZGViYXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2lkZWJhci5zZXJ2aWNlJztcbmltcG9ydCB7IFNpZGViYXJDb21wb25lbnQgfSBmcm9tICcuLi9zaWRlYmFyL3NpZGViYXIuY29tcG9uZW50JztcbmltcG9ydCB7IElOYXZEYXRhIH0gZnJvbSAnLi9zaWRlYmFyLW5hdic7XG5pbXBvcnQgeyBTaWRlYmFyTmF2SGVscGVyIH0gZnJvbSAnLi9zaWRlYmFyLW5hdi5zZXJ2aWNlJztcbmltcG9ydCB7IFNpZGViYXJOYXZHcm91cFNlcnZpY2UgfSBmcm9tICcuL3NpZGViYXItbmF2LWdyb3VwLnNlcnZpY2UnO1xuaW1wb3J0IHsgSHRtbEF0dHJpYnV0ZXNEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9zaGFyZWQnO1xuaW1wb3J0IHsgU2lkZWJhck5hdkljb25QaXBlIH0gZnJvbSAnLi9zaWRlYmFyLW5hdi1pY29uLnBpcGUnO1xuaW1wb3J0IHsgU2lkZWJhck5hdkJhZGdlUGlwZSB9IGZyb20gJy4vc2lkZWJhci1uYXYtYmFkZ2UucGlwZSc7XG5pbXBvcnQgeyBTaWRlYmFyTmF2TGlua0NvbXBvbmVudCB9IGZyb20gJy4vc2lkZWJhci1uYXYtbGluay5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2lkZWJhck5hdkxhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi9zaWRlYmFyLW5hdi1sYWJlbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2lkZWJhck5hdlRpdGxlQ29tcG9uZW50IH0gZnJvbSAnLi9zaWRlYmFyLW5hdi10aXRsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2lkZWJhck5hdkRpdmlkZXJDb21wb25lbnQgfSBmcm9tICcuL3NpZGViYXItbmF2LWRpdmlkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNpZGViYXJOYXZJdGVtQ2xhc3NQaXBlIH0gZnJvbSAnLi9zaWRlYmFyLW5hdi1pdGVtLWNsYXNzLnBpcGUnO1xuaW1wb3J0IHsgSWNvbkRpcmVjdGl2ZSB9IGZyb20gJ0Bjb3JldWkvaWNvbnMtYW5ndWxhcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Mtc2lkZWJhci1uYXYtZ3JvdXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2lkZWJhci1uYXYtZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zaWRlYmFyLW5hdi1ncm91cC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtTaWRlYmFyTmF2SGVscGVyLCBTaWRlYmFyTmF2R3JvdXBTZXJ2aWNlXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIEh0bWxBdHRyaWJ1dGVzRGlyZWN0aXZlLFxuICAgIEljb25EaXJlY3RpdmUsXG4gICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICBOZ0lmLFxuICAgIE5nQ2xhc3MsXG4gICAgU2lkZWJhck5hdkljb25QaXBlLFxuICAgIFNpZGViYXJOYXZCYWRnZVBpcGUsXG4gICAgZm9yd2FyZFJlZigoKSA9PiBTaWRlYmFyTmF2Q29tcG9uZW50KSxcbiAgICBOZ1N0eWxlXG4gIF0sXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdvcGVuQ2xvc2UnLCBbXG4gICAgICBzdGF0ZSgnb3BlbicsIHN0eWxlKHtcbiAgICAgICAgaGVpZ2h0OiAnKidcbiAgICAgIH0pKSxcbiAgICAgIHN0YXRlKCdjbG9zZWQnLCBzdHlsZSh7XG4gICAgICAgIGhlaWdodDogJzBweCdcbiAgICAgIH0pKSxcbiAgICAgIHRyYW5zaXRpb24oJ29wZW4gPD0+IGNsb3NlZCcsIFtcbiAgICAgICAgYW5pbWF0ZSgnLjE1cyBlYXNlJylcbiAgICAgIF0pXG4gICAgXSlcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTaWRlYmFyTmF2R3JvdXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBob3N0RWxlbWVudDogRWxlbWVudFJlZixcbiAgICBwdWJsaWMgaGVscGVyOiBTaWRlYmFyTmF2SGVscGVyLFxuICAgIHByaXZhdGUgc2lkZWJhck5hdkdyb3VwU2VydmljZTogU2lkZWJhck5hdkdyb3VwU2VydmljZVxuICApIHtcbiAgICB0aGlzLm5hdmlnYXRpb25FbmRPYnNlcnZhYmxlID0gcm91dGVyLmV2ZW50cy5waXBlKFxuICAgICAgZmlsdGVyKChldmVudDogYW55KSA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpXG4gICAgKSBhcyBPYnNlcnZhYmxlPE5hdmlnYXRpb25FbmQ+O1xuICB9XG5cbiAgQElucHV0KCkgaXRlbTogYW55O1xuICBASW5wdXQoKSBkcm9wZG93bk1vZGU6ICdwYXRoJyB8ICdub25lJyB8ICdjbG9zZScgPSAncGF0aCc7XG4gIEBJbnB1dCgpIHNob3c/OiBib29sZWFuO1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgY29tcGFjdD86IGJvb2xlYW47XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIGdldCBob3N0Q2xhc3NlcygpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICAnbmF2LWdyb3VwJzogdHJ1ZSxcbiAgICAgIHNob3c6IHRoaXMub3BlblxuICAgIH07XG4gIH1cblxuICBAVmlld0NoaWxkKGZvcndhcmRSZWYoKCkgPT4gU2lkZWJhck5hdkNvbXBvbmVudCksIHsgcmVhZDogRWxlbWVudFJlZiB9KSBzaWRlYmFyTmF2ITogRWxlbWVudFJlZjtcblxuICBuYXZpZ2F0aW9uRW5kT2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxOYXZpZ2F0aW9uRW5kPjtcbiAgbmF2U3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuICBuYXZHcm91cFN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcblxuICBwdWJsaWMgb3BlbiE6IGJvb2xlYW47XG4gIHB1YmxpYyBuYXZJdGVtczogSU5hdkRhdGFbXSA9IFtdO1xuICBwdWJsaWMgZGlzcGxheTogYW55ID0geyBkaXNwbGF5OiAnYmxvY2snIH07XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG5cbiAgICB0aGlzLm5hdkl0ZW1zID0gWy4uLnRoaXMuaXRlbS5jaGlsZHJlbl07XG5cbiAgICB0aGlzLm5hdlN1YnNjcmlwdGlvbiA9IHRoaXMubmF2aWdhdGlvbkVuZE9ic2VydmFibGUuc3Vic2NyaWJlKChldmVudDogTmF2aWdhdGlvbkVuZCkgPT4ge1xuICAgICAgaWYgKHRoaXMuZHJvcGRvd25Nb2RlICE9PSAnbm9uZScpIHtcbiAgICAgICAgY29uc3Qgc2FtZVBhdGggPSB0aGlzLnNhbWVQYXRoKGV2ZW50LnVybCk7XG4gICAgICAgIHRoaXMub3Blbkdyb3VwKHNhbWVQYXRoKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmICh0aGlzLnNhbWVQYXRoKHRoaXMucm91dGVyLnJvdXRlclN0YXRlLnNuYXBzaG90LnVybCkpIHtcbiAgICAgIHRoaXMub3Blbkdyb3VwKHRydWUpO1xuICAgIH1cblxuICAgIHRoaXMubmF2R3JvdXBTdWJzY3JpcHRpb24gPSB0aGlzLnNpZGViYXJOYXZHcm91cFNlcnZpY2Uuc2lkZWJhck5hdkdyb3VwU3RhdGUkLnN1YnNjcmliZShuZXh0ID0+IHtcbiAgICAgIGlmICh0aGlzLmRyb3Bkb3duTW9kZSA9PT0gJ2Nsb3NlJyAmJiBuZXh0LnNpZGViYXJOYXZHcm91cCAmJiBuZXh0LnNpZGViYXJOYXZHcm91cCAhPT0gdGhpcykge1xuICAgICAgICBpZiAobmV4dC5zaWRlYmFyTmF2R3JvdXAuaXRlbS51cmwuc3RhcnRzV2l0aCh0aGlzLml0ZW0udXJsKSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5zYW1lUGF0aCh0aGlzLnJvdXRlci5yb3V0ZXJTdGF0ZS5zbmFwc2hvdC51cmwpKSB7XG4gICAgICAgICAgdGhpcy5vcGVuR3JvdXAodHJ1ZSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMub3Blbkdyb3VwKGZhbHNlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHNhbWVQYXRoKHVybDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgLy8gY29uc29sZS5sb2coJ2l0ZW06JywgdGhpcy5pdGVtLm5hbWUsIHRoaXMuaXRlbS51cmwsICd1cmw6JywgdXJsKTtcbiAgICBjb25zdCBpdGVtQXJyYXkgPSB0aGlzLml0ZW0udXJsPy5zcGxpdCgnLycpO1xuICAgIGNvbnN0IHVybEFycmF5ID0gdXJsLnNwbGl0KCcvJyk7XG4gICAgcmV0dXJuIGl0ZW1BcnJheT8uZXZlcnkoKHZhbHVlOiBzdHJpbmcsIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgIC8vIGNvbnNvbGUubG9nKHZhbHVlID09PSB1cmxBcnJheVtpbmRleF0sICd2YWx1ZTonLCB2YWx1ZSwgJ2luZGV4OicsIGluZGV4LCB1cmxBcnJheVtpbmRleF0sIHVybCk7XG4gICAgICByZXR1cm4gdmFsdWUgPT09IHVybEFycmF5W2luZGV4XTtcbiAgICB9KTtcbiAgfVxuXG4gIG9wZW5Hcm91cChvcGVuOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuID0gb3BlbjtcbiAgfVxuXG4gIHRvZ2dsZUdyb3VwKCRldmVudDogYW55KTogdm9pZCB7XG4gICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5vcGVuR3JvdXAoIXRoaXMub3Blbik7XG4gICAgaWYgKHRoaXMub3Blbikge1xuICAgICAgdGhpcy5zaWRlYmFyTmF2R3JvdXBTZXJ2aWNlLnRvZ2dsZSh7IG9wZW46IHRoaXMub3Blbiwgc2lkZWJhck5hdkdyb3VwOiB0aGlzIH0pO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMubmF2U3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgb25BbmltYXRpb25TdGFydCgkZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KSB7XG4gICAgdGhpcy5kaXNwbGF5ID0geyBkaXNwbGF5OiAnYmxvY2snIH07XG4gICAgaWYgKCRldmVudC50b1N0YXRlID09PSAnb3BlbicpIHtcbiAgICAgIGNvbnN0IGhvc3QgPSB0aGlzLnNpZGViYXJOYXYubmF0aXZlRWxlbWVudDtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoaG9zdCwgJ2hlaWdodCcsIGAke2hvc3RbJ3Njcm9sbEhlaWdodCddfXB4YCk7XG4gICAgfVxuICB9XG5cbiAgb25BbmltYXRpb25Eb25lKCRldmVudDogQW5pbWF0aW9uRXZlbnQpIHtcbiAgICBpZiAoJGV2ZW50LnRvU3RhdGUgPT09ICdvcGVuJykge1xuICAgICAgY29uc3QgaG9zdCA9IHRoaXMuc2lkZWJhck5hdi5uYXRpdmVFbGVtZW50O1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShob3N0LCAnaGVpZ2h0JywgJ2F1dG8nKTtcbiAgICB9XG4gICAgaWYgKCRldmVudC50b1N0YXRlID09PSAnY2xvc2VkJykge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuZGlzcGxheSA9IG51bGw7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYy1zaWRlYmFyLW5hdicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zaWRlYmFyLW5hdi5jb21wb25lbnQuaHRtbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBOZ0Zvck9mLFxuICAgIE5nQ2xhc3MsXG4gICAgTmdTd2l0Y2gsXG4gICAgTmdTd2l0Y2hDYXNlLFxuICAgIE5nU3dpdGNoRGVmYXVsdCxcbiAgICBIdG1sQXR0cmlidXRlc0RpcmVjdGl2ZSxcbiAgICBTaWRlYmFyTmF2TGlua0NvbXBvbmVudCxcbiAgICBTaWRlYmFyTmF2TGFiZWxDb21wb25lbnQsXG4gICAgU2lkZWJhck5hdlRpdGxlQ29tcG9uZW50LFxuICAgIFNpZGViYXJOYXZEaXZpZGVyQ29tcG9uZW50LFxuICAgIFNpZGViYXJOYXZHcm91cENvbXBvbmVudCxcbiAgICBTaWRlYmFyTmF2SXRlbUNsYXNzUGlwZSxcbiAgICBSb3V0ZXJNb2R1bGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTaWRlYmFyTmF2Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBwdWJsaWMgc2lkZWJhcjogU2lkZWJhckNvbXBvbmVudCxcbiAgICBwdWJsaWMgaGVscGVyOiBTaWRlYmFyTmF2SGVscGVyLFxuICAgIHB1YmxpYyByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBob3N0RWxlbWVudDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHNpZGViYXJTZXJ2aWNlOiBTaWRlYmFyU2VydmljZVxuICApIHsgfVxuXG4gIEBJbnB1dCgpIG5hdkl0ZW1zPzogSU5hdkRhdGFbXSA9IFtdO1xuICBASW5wdXQoKSBkcm9wZG93bk1vZGU6ICdwYXRoJyB8ICdub25lJyB8ICdjbG9zZScgPSAncGF0aCc7XG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBncm91cEl0ZW1zPzogYm9vbGVhbjtcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGNvbXBhY3Q/OiBib29sZWFuO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgaG9zdENsYXNzZXMoKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgJ3NpZGViYXItbmF2JzogIXRoaXMuZ3JvdXBJdGVtcyxcbiAgICAgICduYXYtZ3JvdXAtaXRlbXMnOiB0aGlzLmdyb3VwSXRlbXMsXG4gICAgICBjb21wYWN0OiB0aGlzLmdyb3VwSXRlbXMgJiYgdGhpcy5jb21wYWN0XG4gICAgfTtcbiAgfVxuXG4gIC8vIEBIb3N0QmluZGluZygnY2xhc3MubmF2LWdyb3VwLWl0ZW1zJylcbiAgLy8gZ2V0IHNpZGViYXJOYXZHcm91cEl0ZW1zQ2xhc3MoKTogYm9vbGVhbiB7XG4gIC8vICAgcmV0dXJuICEhdGhpcy5ncm91cEl0ZW1zO1xuICAvLyB9XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKSByb2xlID0gJ25hdic7XG5cbiAgcHVibGljIG5hdkl0ZW1zQXJyYXk6IElOYXZEYXRhW10gPSBbXTtcblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIHRoaXMubmF2SXRlbXNBcnJheSA9IEFycmF5LmlzQXJyYXkodGhpcy5uYXZJdGVtcykgPyB0aGlzLm5hdkl0ZW1zLnNsaWNlKCkgOiBbXTtcbiAgfVxuXG4gIHB1YmxpYyBoaWRlTW9iaWxlKCk6IHZvaWQge1xuICAgIC8vIHRvZG86IHByb3BlciBzY3JvbGxJbnRvVmlldygpIGFmdGVyIE5hdmlnYXRpb25FbmRcbiAgICBpZiAodGhpcy5zaWRlYmFyICYmIHRoaXMuc2lkZWJhci5zaWRlYmFyU3RhdGUubW9iaWxlKSB7XG4gICAgICB0aGlzLnNpZGViYXJTZXJ2aWNlLnRvZ2dsZSh7IHRvZ2dsZTogJ3Zpc2libGUnLCBzaWRlYmFyOiB0aGlzLnNpZGViYXIgfSk7XG4gICAgfVxuICB9XG59XG4iLCI8YSAoY2xpY2spPVwidG9nZ2xlR3JvdXAoJGV2ZW50KVwiXG4gICBbY0h0bWxBdHRyXT1cIml0ZW0uYXR0cmlidXRlc1wiXG4gICBjbGFzcz1cIm5hdi1saW5rIG5hdi1ncm91cC10b2dnbGVcIlxuICAgaHJlZj5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImljb25UZW1wbGF0ZSA7IGNvbnRleHQ6IHskaW1wbGljaXQ6IGl0ZW19XCIgLz5cbiAgPG5nLWNvbnRhaW5lcj57eyBpdGVtLm5hbWUgfX08L25nLWNvbnRhaW5lcj5cbiAgPHNwYW4gKm5nSWY9XCJoZWxwZXIuaGFzQmFkZ2UoaXRlbSlcIiBbbmdDbGFzc109XCJpdGVtIHwgY1NpZGViYXJOYXZCYWRnZVwiPnt7IGl0ZW0uYmFkZ2UudGV4dCB9fTwvc3Bhbj5cbjwvYT5cbjxjLXNpZGViYXItbmF2XG4gIChAb3BlbkNsb3NlLmRvbmUpPVwib25BbmltYXRpb25Eb25lKCRldmVudClcIlxuICAoQG9wZW5DbG9zZS5zdGFydCk9XCJvbkFuaW1hdGlvblN0YXJ0KCRldmVudClcIlxuICBbQG9wZW5DbG9zZV09XCJvcGVuID8gJ29wZW4nIDogJ2Nsb3NlZCdcIlxuICBbZHJvcGRvd25Nb2RlXT1cImRyb3Bkb3duTW9kZVwiXG4gIFtncm91cEl0ZW1zXT1cInRydWVcIlxuICBbbmF2SXRlbXNdPVwibmF2SXRlbXNcIlxuICBbbmdTdHlsZV09XCJkaXNwbGF5XCJcbiAgW2NvbXBhY3RdPVwiY29tcGFjdFwiXG4vPlxuXG48bmctdGVtcGxhdGUgI2ljb25UZW1wbGF0ZSBsZXQtaXRlbT5cbjwhLS0gIDxpICpuZ0lmPVwiaXRlbT8uaWNvblwiIFtuZ0NsYXNzXT1cIml0ZW0gfCBjU2lkZWJhck5hdkljb25cIj48L2k+LS0+XG4gIDxzcGFuICpuZ0lmPVwiaXRlbT8uaWNvblwiIGNsYXNzPVwibmF2LWljb25cIj5cbiAgICA8c3BhbiBbbmdDbGFzc109XCJpdGVtLmljb24gPz8gJydcIj48L3NwYW4+XG4gIDwvc3Bhbj5cbiAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cIml0ZW0/Lmljb25Db21wb25lbnRcIj5cbiAgICA8c3ZnXG4gICAgICBbY0ljb25dPVwiaXRlbS5pY29uQ29tcG9uZW50Py5jb250ZW50XCJcbiAgICAgIFtjdXN0b21DbGFzc2VzXT1cIml0ZW0gfCBjU2lkZWJhck5hdkljb25cIlxuICAgICAgW25hbWVdPVwiaXRlbS5pY29uQ29tcG9uZW50Py5uYW1lXCJcbiAgICAvPlxuICA8L25nLXRlbXBsYXRlPlxuICA8c3BhbiAqbmdJZj1cIiFpdGVtPy5pY29uICYmICFpdGVtPy5pY29uQ29tcG9uZW50XCIgW25nQ2xhc3NdPVwiaXRlbSB8IGNTaWRlYmFyTmF2SWNvblwiPjwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG4iLCI8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIG5hdkl0ZW1zQXJyYXlcIj5cbiAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiaGVscGVyLml0ZW1UeXBlKGl0ZW0pXCI+XG4gICAgPGMtc2lkZWJhci1uYXYtZ3JvdXBcbiAgICAgICNybGE9XCJyb3V0ZXJMaW5rQWN0aXZlXCJcbiAgICAgICpuZ1N3aXRjaENhc2U9XCInZ3JvdXAnXCJcbiAgICAgIFtkcm9wZG93bk1vZGVdPVwiZHJvcGRvd25Nb2RlXCJcbiAgICAgIFtpdGVtXT1cIml0ZW1cIlxuICAgICAgW25nQ2xhc3NdPVwiaXRlbSB8IGNTaWRlYmFyTmF2SXRlbUNsYXNzXCJcbiAgICAgIFtyb3V0ZXJMaW5rQWN0aXZlT3B0aW9uc109XCJ7ZXhhY3Q6IHRydWV9XCJcbiAgICAgIHJvdXRlckxpbmtBY3RpdmU9XCJzaG93XCJcbiAgICAgIFtjb21wYWN0XT1cImNvbXBhY3RcIlxuICAgID5cbiAgICA8L2Mtc2lkZWJhci1uYXYtZ3JvdXA+XG4gICAgPGMtc2lkZWJhci1uYXYtZGl2aWRlclxuICAgICAgKm5nU3dpdGNoQ2FzZT1cIidkaXZpZGVyJ1wiXG4gICAgICBbY0h0bWxBdHRyXT1cIml0ZW0uYXR0cmlidXRlcyA/PyB7fVwiXG4gICAgICBbaXRlbV09XCJpdGVtXCJcbiAgICAgIFtuZ0NsYXNzXT1cIml0ZW0gfCBjU2lkZWJhck5hdkl0ZW1DbGFzc1wiPlxuICAgIDwvYy1zaWRlYmFyLW5hdi1kaXZpZGVyPlxuICAgIDxjLXNpZGViYXItbmF2LXRpdGxlXG4gICAgICAqbmdTd2l0Y2hDYXNlPVwiJ3RpdGxlJ1wiXG4gICAgICBbY0h0bWxBdHRyXT1cIml0ZW0uYXR0cmlidXRlcyA/PyB7fVwiXG4gICAgICBbaXRlbV09XCJpdGVtXCJcbiAgICAgIFtuZ0NsYXNzXT1cIml0ZW0gfCBjU2lkZWJhck5hdkl0ZW1DbGFzc1wiPlxuICAgIDwvYy1zaWRlYmFyLW5hdi10aXRsZT5cbiAgICA8Yy1zaWRlYmFyLW5hdi1sYWJlbFxuICAgICAgKm5nU3dpdGNoQ2FzZT1cIidsYWJlbCdcIlxuICAgICAgW2l0ZW1dPVwiaXRlbVwiXG4gICAgICBbbmdDbGFzc109XCJpdGVtIHwgY1NpZGViYXJOYXZJdGVtQ2xhc3NcIj5cbiAgICA8L2Mtc2lkZWJhci1uYXYtbGFiZWw+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nU3dpdGNoQ2FzZT1cIidlbXB0eSdcIj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8Yy1zaWRlYmFyLW5hdi1saW5rXG4gICAgICAobGlua0NsaWNrKT1cImhpZGVNb2JpbGUoKVwiXG4gICAgICAqbmdTd2l0Y2hEZWZhdWx0XG4gICAgICBbaXRlbV09XCJpdGVtXCJcbiAgICAgIFtuZ0NsYXNzXT1cIml0ZW0gfCBjU2lkZWJhck5hdkl0ZW1DbGFzc1wiXG4gICAgPlxuICAgIDwvYy1zaWRlYmFyLW5hdi1saW5rPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIl19
229
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci1uYXYuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9zaWRlYmFyL3NpZGViYXItbmF2L3NpZGViYXItbmF2LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvc2lkZWJhci9zaWRlYmFyLW5hdi9zaWRlYmFyLW5hdi1ncm91cC5jb21wb25lbnQuaHRtbCIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvc2lkZWJhci9zaWRlYmFyLW5hdi9zaWRlYmFyLW5hdi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFrQixLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRyxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsVUFBVSxFQUNWLFdBQVcsRUFDWCxLQUFLLEVBSUwsUUFBUSxFQUdSLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFVLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXRFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUt4QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDekUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDekUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDeEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7O0FBaUN0RCxNQUFNLE9BQU8sd0JBQXdCO0lBRW5DLFlBQ1UsTUFBYyxFQUNkLFFBQW1CLEVBQ25CLFdBQXVCLEVBQ3hCLE1BQXdCLEVBQ3ZCLHNCQUE4QztRQUo5QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN4QixXQUFNLEdBQU4sTUFBTSxDQUFrQjtRQUN2QiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBUS9DLGlCQUFZLEdBQThCLE1BQU0sQ0FBQztRQW1CbkQsYUFBUSxHQUFlLEVBQUUsQ0FBQztRQUMxQixZQUFPLEdBQVEsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUM7UUExQnpDLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDL0MsTUFBTSxDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUUsQ0FBQyxLQUFLLFlBQVksYUFBYSxDQUFDLENBQzFCLENBQUM7SUFDakMsQ0FBQztJQU9ELElBQ0ksV0FBVztRQUNiLE9BQU87WUFDTCxXQUFXLEVBQUUsSUFBSTtZQUNqQixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7U0FDaEIsQ0FBQztJQUNKLENBQUM7SUFZRCxRQUFRO1FBRU4sSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUV4QyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFvQixFQUFFLEVBQUU7WUFDckYsSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLE1BQU0sRUFBRTtnQkFDaEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDMUI7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDdkQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN0QjtRQUVELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzdGLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxPQUFPLElBQUksSUFBSSxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsZUFBZSxLQUFLLElBQUksRUFBRTtnQkFDMUYsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQzNELE9BQU87aUJBQ1I7Z0JBQ0QsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDdkQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDckIsT0FBTztpQkFDUjtnQkFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3ZCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUSxDQUFDLEdBQVc7UUFDbEIsb0VBQW9FO1FBQ3BFLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM1QyxNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2hDLE9BQU8sU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDLEtBQWEsRUFBRSxLQUFhLEVBQUUsRUFBRTtZQUN2RCxrR0FBa0c7WUFDbEcsT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25DLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFhO1FBQ3JCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFFRCxXQUFXLENBQUMsTUFBVztRQUNyQixNQUFNLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDYixJQUFJLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7U0FDaEY7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxlQUFlLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELGdCQUFnQixDQUFDLE1BQXNCO1FBQ3JDLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDcEMsSUFBSSxNQUFNLENBQUMsT0FBTyxLQUFLLE1BQU0sRUFBRTtZQUM3QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztZQUMzQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNyRTtJQUNILENBQUM7SUFFRCxlQUFlLENBQUMsTUFBc0I7UUFDcEMsSUFBSSxNQUFNLENBQUMsT0FBTyxLQUFLLE1BQU0sRUFBRTtZQUM3QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztZQUMzQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQ2hEO1FBQ0QsSUFBSSxNQUFNLENBQUMsT0FBTyxLQUFLLFFBQVEsRUFBRTtZQUMvQixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ3RCLENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDOzhHQTlHVSx3QkFBd0I7a0dBQXhCLHdCQUF3QiwySkFpQmYsZ0JBQWdCLHVFQTVDekIsQ0FBQyxnQkFBZ0IsRUFBRSxzQkFBc0IsQ0FBQywwRkFzRHpCLG1CQUFtQiw0QkFBVyxVQUFVLDZCQzlGdEUsc3RDQWlDQSxnSkRVSSx1QkFBdUIsNkhBQ3ZCLGFBQWEsK05BQ2IsZ0JBQWdCLHlLQUNoQixJQUFJLGtIQUNKLE9BQU8sb0dBQ1Asa0JBQWtCLHdFQUNsQixtQkFBbUIsOEVBbUpWLG1CQUFtQiw4SUFqSjVCLE9BQU8sOERBRUc7WUFDVixPQUFPLENBQUMsV0FBVyxFQUFFO2dCQUNuQixLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQztvQkFDbEIsTUFBTSxFQUFFLEdBQUc7aUJBQ1osQ0FBQyxDQUFDO2dCQUNILEtBQUssQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDO29CQUNwQixNQUFNLEVBQUUsS0FBSztpQkFDZCxDQUFDLENBQUM7Z0JBQ0gsVUFBVSxDQUFDLGlCQUFpQixFQUFFO29CQUM1QixPQUFPLENBQUMsV0FBVyxDQUFDO2lCQUNyQixDQUFDO2FBQ0gsQ0FBQztTQUNIOzsyRkFFVSx3QkFBd0I7a0JBL0JwQyxTQUFTOytCQUNFLHFCQUFxQixhQUdwQixDQUFDLGdCQUFnQixFQUFFLHNCQUFzQixDQUFDLGNBQ3pDLElBQUksV0FDUDt3QkFDUCx1QkFBdUI7d0JBQ3ZCLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixJQUFJO3dCQUNKLE9BQU87d0JBQ1Asa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQzt3QkFDckMsT0FBTztxQkFDUixjQUNXO3dCQUNWLE9BQU8sQ0FBQyxXQUFXLEVBQUU7NEJBQ25CLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDO2dDQUNsQixNQUFNLEVBQUUsR0FBRzs2QkFDWixDQUFDLENBQUM7NEJBQ0gsS0FBSyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUM7Z0NBQ3BCLE1BQU0sRUFBRSxLQUFLOzZCQUNkLENBQUMsQ0FBQzs0QkFDSCxVQUFVLENBQUMsaUJBQWlCLEVBQUU7Z0NBQzVCLE9BQU8sQ0FBQyxXQUFXLENBQUM7NkJBQ3JCLENBQUM7eUJBQ0gsQ0FBQztxQkFDSDtnTUFnQlEsSUFBSTtzQkFBWixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNrQyxPQUFPO3NCQUE5QyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUdsQyxXQUFXO3NCQURkLFdBQVc7dUJBQUMsT0FBTztnQkFRb0QsVUFBVTtzQkFBakYsU0FBUzt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7O0FBc0d4RSxNQUFNLE9BQU8sbUJBQW1CO0lBRTlCLFlBQ3FCLE9BQXlCLEVBQ3JDLE1BQXdCLEVBQ3hCLE1BQWMsRUFDYixRQUFtQixFQUNuQixXQUF1QixFQUN2QixjQUE4QjtRQUxuQixZQUFPLEdBQVAsT0FBTyxDQUFrQjtRQUNyQyxXQUFNLEdBQU4sTUFBTSxDQUFrQjtRQUN4QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2IsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFHL0IsYUFBUSxHQUFnQixFQUFFLENBQUM7UUFDM0IsaUJBQVksR0FBOEIsTUFBTSxDQUFDO1FBYTFELHdDQUF3QztRQUN4Qyw2Q0FBNkM7UUFDN0MsOEJBQThCO1FBQzlCLElBQUk7UUFFc0IsU0FBSSxHQUFHLEtBQUssQ0FBQztRQUVoQyxrQkFBYSxHQUFlLEVBQUUsQ0FBQztJQXZCbEMsQ0FBQztJQU9MLElBQ0ksV0FBVztRQUNiLE9BQU87WUFDTCxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVTtZQUMvQixpQkFBaUIsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUNsQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsT0FBTztTQUN6QyxDQUFDO0lBQ0osQ0FBQztJQVdNLFdBQVcsQ0FBQyxPQUFzQjtRQUN2QyxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDakYsQ0FBQztJQUVNLFVBQVU7UUFDZixvREFBb0Q7UUFDcEQsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRTtZQUNwRCxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1NBQzFFO0lBQ0gsQ0FBQzs4R0EzQ1UsbUJBQW1CO2tHQUFuQixtQkFBbUIsd0pBYVYsZ0JBQWdCLG1DQUNoQixnQkFBZ0IsbUlFbE50QywrckNBOENBLDRDRjJJSSxPQUFPLG9GQUNQLHVCQUF1Qix3R0FDdkIsdUJBQXVCLHlHQUN2Qix3QkFBd0Isa0ZBQ3hCLHdCQUF3QixrRkFDeEIsMEJBQTBCLG9GQTNIakIsd0JBQXdCLGdIQTZIakMsdUJBQXVCLDREQUN2QixZQUFZOzsyRkFHSCxtQkFBbUI7a0JBaEIvQixTQUFTOytCQUNFLGVBQWUsY0FFYixJQUFJLFdBQ1A7d0JBQ1AsT0FBTzt3QkFDUCx1QkFBdUI7d0JBQ3ZCLHVCQUF1Qjt3QkFDdkIsd0JBQXdCO3dCQUN4Qix3QkFBd0I7d0JBQ3hCLDBCQUEwQjt3QkFDMUIsd0JBQXdCO3dCQUN4Qix1QkFBdUI7d0JBQ3ZCLFlBQVk7cUJBQ2I7OzBCQUtFLFFBQVE7MktBUUYsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNrQyxVQUFVO3NCQUFqRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLE9BQU87c0JBQTlDLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBR2xDLFdBQVc7c0JBRGQsV0FBVzt1QkFBQyxPQUFPO2dCQWNNLElBQUk7c0JBQTdCLFdBQVc7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIEFuaW1hdGlvbkV2ZW50LCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IE5nQ2xhc3MsIE5nSWYsIE5nU3R5bGUsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBmb3J3YXJkUmVmLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBSZW5kZXJlcjIsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIFJvdXRlciwgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTaWRlYmFyU2VydmljZSB9IGZyb20gJy4uL3NpZGViYXIuc2VydmljZSc7XG5pbXBvcnQgeyBTaWRlYmFyQ29tcG9uZW50IH0gZnJvbSAnLi4vc2lkZWJhci9zaWRlYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJTmF2RGF0YSB9IGZyb20gJy4vc2lkZWJhci1uYXYnO1xuaW1wb3J0IHsgU2lkZWJhck5hdkhlbHBlciB9IGZyb20gJy4vc2lkZWJhci1uYXYuc2VydmljZSc7XG5pbXBvcnQgeyBTaWRlYmFyTmF2R3JvdXBTZXJ2aWNlIH0gZnJvbSAnLi9zaWRlYmFyLW5hdi1ncm91cC5zZXJ2aWNlJztcbmltcG9ydCB7IEh0bWxBdHRyaWJ1dGVzRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vc2hhcmVkJztcbmltcG9ydCB7IFNpZGViYXJOYXZJY29uUGlwZSB9IGZyb20gJy4vc2lkZWJhci1uYXYtaWNvbi5waXBlJztcbmltcG9ydCB7IFNpZGViYXJOYXZCYWRnZVBpcGUgfSBmcm9tICcuL3NpZGViYXItbmF2LWJhZGdlLnBpcGUnO1xuaW1wb3J0IHsgU2lkZWJhck5hdkxpbmtDb21wb25lbnQgfSBmcm9tICcuL3NpZGViYXItbmF2LWxpbmsuY29tcG9uZW50JztcbmltcG9ydCB7IFNpZGViYXJOYXZMYWJlbENvbXBvbmVudCB9IGZyb20gJy4vc2lkZWJhci1uYXYtbGFiZWwuY29tcG9uZW50JztcbmltcG9ydCB7IFNpZGViYXJOYXZUaXRsZUNvbXBvbmVudCB9IGZyb20gJy4vc2lkZWJhci1uYXYtdGl0bGUuY29tcG9uZW50JztcbmltcG9ydCB7IFNpZGViYXJOYXZEaXZpZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9zaWRlYmFyLW5hdi1kaXZpZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTaWRlYmFyTmF2SXRlbUNsYXNzUGlwZSB9IGZyb20gJy4vc2lkZWJhci1uYXYtaXRlbS1jbGFzcy5waXBlJztcbmltcG9ydCB7IEljb25EaXJlY3RpdmUgfSBmcm9tICdAY29yZXVpL2ljb25zLWFuZ3VsYXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjLXNpZGViYXItbmF2LWdyb3VwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NpZGViYXItbmF2LWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2lkZWJhci1uYXYtZ3JvdXAuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbU2lkZWJhck5hdkhlbHBlciwgU2lkZWJhck5hdkdyb3VwU2VydmljZV0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBIdG1sQXR0cmlidXRlc0RpcmVjdGl2ZSxcbiAgICBJY29uRGlyZWN0aXZlLFxuICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgTmdJZixcbiAgICBOZ0NsYXNzLFxuICAgIFNpZGViYXJOYXZJY29uUGlwZSxcbiAgICBTaWRlYmFyTmF2QmFkZ2VQaXBlLFxuICAgIGZvcndhcmRSZWYoKCkgPT4gU2lkZWJhck5hdkNvbXBvbmVudCksXG4gICAgTmdTdHlsZVxuICBdLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignb3BlbkNsb3NlJywgW1xuICAgICAgc3RhdGUoJ29wZW4nLCBzdHlsZSh7XG4gICAgICAgIGhlaWdodDogJyonXG4gICAgICB9KSksXG4gICAgICBzdGF0ZSgnY2xvc2VkJywgc3R5bGUoe1xuICAgICAgICBoZWlnaHQ6ICcwcHgnXG4gICAgICB9KSksXG4gICAgICB0cmFuc2l0aW9uKCdvcGVuIDw9PiBjbG9zZWQnLCBbXG4gICAgICAgIGFuaW1hdGUoJy4xNXMgZWFzZScpXG4gICAgICBdKVxuICAgIF0pXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgU2lkZWJhck5hdkdyb3VwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgaG9zdEVsZW1lbnQ6IEVsZW1lbnRSZWYsXG4gICAgcHVibGljIGhlbHBlcjogU2lkZWJhck5hdkhlbHBlcixcbiAgICBwcml2YXRlIHNpZGViYXJOYXZHcm91cFNlcnZpY2U6IFNpZGViYXJOYXZHcm91cFNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5uYXZpZ2F0aW9uRW5kT2JzZXJ2YWJsZSA9IHJvdXRlci5ldmVudHMucGlwZShcbiAgICAgIGZpbHRlcigoZXZlbnQ6IGFueSkgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKVxuICAgICkgYXMgT2JzZXJ2YWJsZTxOYXZpZ2F0aW9uRW5kPjtcbiAgfVxuXG4gIEBJbnB1dCgpIGl0ZW06IGFueTtcbiAgQElucHV0KCkgZHJvcGRvd25Nb2RlOiAncGF0aCcgfCAnbm9uZScgfCAnY2xvc2UnID0gJ3BhdGgnO1xuICBASW5wdXQoKSBzaG93PzogYm9vbGVhbjtcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGNvbXBhY3Q/OiBib29sZWFuO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgaG9zdENsYXNzZXMoKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgJ25hdi1ncm91cCc6IHRydWUsXG4gICAgICBzaG93OiB0aGlzLm9wZW5cbiAgICB9O1xuICB9XG5cbiAgQFZpZXdDaGlsZChmb3J3YXJkUmVmKCgpID0+IFNpZGViYXJOYXZDb21wb25lbnQpLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgc2lkZWJhck5hdiE6IEVsZW1lbnRSZWY7XG5cbiAgbmF2aWdhdGlvbkVuZE9ic2VydmFibGU6IE9ic2VydmFibGU8TmF2aWdhdGlvbkVuZD47XG4gIG5hdlN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcbiAgbmF2R3JvdXBTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG5cbiAgcHVibGljIG9wZW4hOiBib29sZWFuO1xuICBwdWJsaWMgbmF2SXRlbXM6IElOYXZEYXRhW10gPSBbXTtcbiAgcHVibGljIGRpc3BsYXk6IGFueSA9IHsgZGlzcGxheTogJ2Jsb2NrJyB9O1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuXG4gICAgdGhpcy5uYXZJdGVtcyA9IFsuLi50aGlzLml0ZW0uY2hpbGRyZW5dO1xuXG4gICAgdGhpcy5uYXZTdWJzY3JpcHRpb24gPSB0aGlzLm5hdmlnYXRpb25FbmRPYnNlcnZhYmxlLnN1YnNjcmliZSgoZXZlbnQ6IE5hdmlnYXRpb25FbmQpID0+IHtcbiAgICAgIGlmICh0aGlzLmRyb3Bkb3duTW9kZSAhPT0gJ25vbmUnKSB7XG4gICAgICAgIGNvbnN0IHNhbWVQYXRoID0gdGhpcy5zYW1lUGF0aChldmVudC51cmwpO1xuICAgICAgICB0aGlzLm9wZW5Hcm91cChzYW1lUGF0aCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5zYW1lUGF0aCh0aGlzLnJvdXRlci5yb3V0ZXJTdGF0ZS5zbmFwc2hvdC51cmwpKSB7XG4gICAgICB0aGlzLm9wZW5Hcm91cCh0cnVlKTtcbiAgICB9XG5cbiAgICB0aGlzLm5hdkdyb3VwU3Vic2NyaXB0aW9uID0gdGhpcy5zaWRlYmFyTmF2R3JvdXBTZXJ2aWNlLnNpZGViYXJOYXZHcm91cFN0YXRlJC5zdWJzY3JpYmUobmV4dCA9PiB7XG4gICAgICBpZiAodGhpcy5kcm9wZG93bk1vZGUgPT09ICdjbG9zZScgJiYgbmV4dC5zaWRlYmFyTmF2R3JvdXAgJiYgbmV4dC5zaWRlYmFyTmF2R3JvdXAgIT09IHRoaXMpIHtcbiAgICAgICAgaWYgKG5leHQuc2lkZWJhck5hdkdyb3VwLml0ZW0udXJsLnN0YXJ0c1dpdGgodGhpcy5pdGVtLnVybCkpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuc2FtZVBhdGgodGhpcy5yb3V0ZXIucm91dGVyU3RhdGUuc25hcHNob3QudXJsKSkge1xuICAgICAgICAgIHRoaXMub3Blbkdyb3VwKHRydWUpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm9wZW5Hcm91cChmYWxzZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBzYW1lUGF0aCh1cmw6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIC8vIGNvbnNvbGUubG9nKCdpdGVtOicsIHRoaXMuaXRlbS5uYW1lLCB0aGlzLml0ZW0udXJsLCAndXJsOicsIHVybCk7XG4gICAgY29uc3QgaXRlbUFycmF5ID0gdGhpcy5pdGVtLnVybD8uc3BsaXQoJy8nKTtcbiAgICBjb25zdCB1cmxBcnJheSA9IHVybC5zcGxpdCgnLycpO1xuICAgIHJldHVybiBpdGVtQXJyYXk/LmV2ZXJ5KCh2YWx1ZTogc3RyaW5nLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAvLyBjb25zb2xlLmxvZyh2YWx1ZSA9PT0gdXJsQXJyYXlbaW5kZXhdLCAndmFsdWU6JywgdmFsdWUsICdpbmRleDonLCBpbmRleCwgdXJsQXJyYXlbaW5kZXhdLCB1cmwpO1xuICAgICAgcmV0dXJuIHZhbHVlID09PSB1cmxBcnJheVtpbmRleF07XG4gICAgfSk7XG4gIH1cblxuICBvcGVuR3JvdXAob3BlbjogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMub3BlbiA9IG9wZW47XG4gIH1cblxuICB0b2dnbGVHcm91cCgkZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMub3Blbkdyb3VwKCF0aGlzLm9wZW4pO1xuICAgIGlmICh0aGlzLm9wZW4pIHtcbiAgICAgIHRoaXMuc2lkZWJhck5hdkdyb3VwU2VydmljZS50b2dnbGUoeyBvcGVuOiB0aGlzLm9wZW4sIHNpZGViYXJOYXZHcm91cDogdGhpcyB9KTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLm5hdlN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIG9uQW5pbWF0aW9uU3RhcnQoJGV2ZW50OiBBbmltYXRpb25FdmVudCkge1xuICAgIHRoaXMuZGlzcGxheSA9IHsgZGlzcGxheTogJ2Jsb2NrJyB9O1xuICAgIGlmICgkZXZlbnQudG9TdGF0ZSA9PT0gJ29wZW4nKSB7XG4gICAgICBjb25zdCBob3N0ID0gdGhpcy5zaWRlYmFyTmF2Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGhvc3QsICdoZWlnaHQnLCBgJHtob3N0WydzY3JvbGxIZWlnaHQnXX1weGApO1xuICAgIH1cbiAgfVxuXG4gIG9uQW5pbWF0aW9uRG9uZSgkZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KSB7XG4gICAgaWYgKCRldmVudC50b1N0YXRlID09PSAnb3BlbicpIHtcbiAgICAgIGNvbnN0IGhvc3QgPSB0aGlzLnNpZGViYXJOYXYubmF0aXZlRWxlbWVudDtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoaG9zdCwgJ2hlaWdodCcsICdhdXRvJyk7XG4gICAgfVxuICAgIGlmICgkZXZlbnQudG9TdGF0ZSA9PT0gJ2Nsb3NlZCcpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmRpc3BsYXkgPSBudWxsO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Mtc2lkZWJhci1uYXYnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2lkZWJhci1uYXYuY29tcG9uZW50Lmh0bWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdDbGFzcyxcbiAgICBIdG1sQXR0cmlidXRlc0RpcmVjdGl2ZSxcbiAgICBTaWRlYmFyTmF2TGlua0NvbXBvbmVudCxcbiAgICBTaWRlYmFyTmF2TGFiZWxDb21wb25lbnQsXG4gICAgU2lkZWJhck5hdlRpdGxlQ29tcG9uZW50LFxuICAgIFNpZGViYXJOYXZEaXZpZGVyQ29tcG9uZW50LFxuICAgIFNpZGViYXJOYXZHcm91cENvbXBvbmVudCxcbiAgICBTaWRlYmFyTmF2SXRlbUNsYXNzUGlwZSxcbiAgICBSb3V0ZXJNb2R1bGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTaWRlYmFyTmF2Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBwdWJsaWMgc2lkZWJhcjogU2lkZWJhckNvbXBvbmVudCxcbiAgICBwdWJsaWMgaGVscGVyOiBTaWRlYmFyTmF2SGVscGVyLFxuICAgIHB1YmxpYyByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBob3N0RWxlbWVudDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHNpZGViYXJTZXJ2aWNlOiBTaWRlYmFyU2VydmljZVxuICApIHsgfVxuXG4gIEBJbnB1dCgpIG5hdkl0ZW1zPzogSU5hdkRhdGFbXSA9IFtdO1xuICBASW5wdXQoKSBkcm9wZG93bk1vZGU6ICdwYXRoJyB8ICdub25lJyB8ICdjbG9zZScgPSAncGF0aCc7XG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBncm91cEl0ZW1zPzogYm9vbGVhbjtcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGNvbXBhY3Q/OiBib29sZWFuO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgaG9zdENsYXNzZXMoKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgJ3NpZGViYXItbmF2JzogIXRoaXMuZ3JvdXBJdGVtcyxcbiAgICAgICduYXYtZ3JvdXAtaXRlbXMnOiB0aGlzLmdyb3VwSXRlbXMsXG4gICAgICBjb21wYWN0OiB0aGlzLmdyb3VwSXRlbXMgJiYgdGhpcy5jb21wYWN0XG4gICAgfTtcbiAgfVxuXG4gIC8vIEBIb3N0QmluZGluZygnY2xhc3MubmF2LWdyb3VwLWl0ZW1zJylcbiAgLy8gZ2V0IHNpZGViYXJOYXZHcm91cEl0ZW1zQ2xhc3MoKTogYm9vbGVhbiB7XG4gIC8vICAgcmV0dXJuICEhdGhpcy5ncm91cEl0ZW1zO1xuICAvLyB9XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKSByb2xlID0gJ25hdic7XG5cbiAgcHVibGljIG5hdkl0ZW1zQXJyYXk6IElOYXZEYXRhW10gPSBbXTtcblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIHRoaXMubmF2SXRlbXNBcnJheSA9IEFycmF5LmlzQXJyYXkodGhpcy5uYXZJdGVtcykgPyB0aGlzLm5hdkl0ZW1zLnNsaWNlKCkgOiBbXTtcbiAgfVxuXG4gIHB1YmxpYyBoaWRlTW9iaWxlKCk6IHZvaWQge1xuICAgIC8vIHRvZG86IHByb3BlciBzY3JvbGxJbnRvVmlldygpIGFmdGVyIE5hdmlnYXRpb25FbmRcbiAgICBpZiAodGhpcy5zaWRlYmFyICYmIHRoaXMuc2lkZWJhci5zaWRlYmFyU3RhdGUubW9iaWxlKSB7XG4gICAgICB0aGlzLnNpZGViYXJTZXJ2aWNlLnRvZ2dsZSh7IHRvZ2dsZTogJ3Zpc2libGUnLCBzaWRlYmFyOiB0aGlzLnNpZGViYXIgfSk7XG4gICAgfVxuICB9XG59XG4iLCI8YSAoY2xpY2spPVwidG9nZ2xlR3JvdXAoJGV2ZW50KVwiXG4gICBbY0h0bWxBdHRyXT1cIml0ZW0uYXR0cmlidXRlc1wiXG4gICBjbGFzcz1cIm5hdi1saW5rIG5hdi1ncm91cC10b2dnbGVcIlxuICAgaHJlZj5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImljb25UZW1wbGF0ZSA7IGNvbnRleHQ6IHskaW1wbGljaXQ6IGl0ZW19XCIgLz5cbiAgPG5nLWNvbnRhaW5lcj57eyBpdGVtLm5hbWUgfX08L25nLWNvbnRhaW5lcj5cbiAgPHNwYW4gKm5nSWY9XCJoZWxwZXIuaGFzQmFkZ2UoaXRlbSlcIiBbbmdDbGFzc109XCJpdGVtIHwgY1NpZGViYXJOYXZCYWRnZVwiPnt7IGl0ZW0uYmFkZ2UudGV4dCB9fTwvc3Bhbj5cbjwvYT5cbjxjLXNpZGViYXItbmF2XG4gIChAb3BlbkNsb3NlLmRvbmUpPVwib25BbmltYXRpb25Eb25lKCRldmVudClcIlxuICAoQG9wZW5DbG9zZS5zdGFydCk9XCJvbkFuaW1hdGlvblN0YXJ0KCRldmVudClcIlxuICBbQG9wZW5DbG9zZV09XCJvcGVuID8gJ29wZW4nIDogJ2Nsb3NlZCdcIlxuICBbZHJvcGRvd25Nb2RlXT1cImRyb3Bkb3duTW9kZVwiXG4gIFtncm91cEl0ZW1zXT1cInRydWVcIlxuICBbbmF2SXRlbXNdPVwibmF2SXRlbXNcIlxuICBbbmdTdHlsZV09XCJkaXNwbGF5XCJcbiAgW2NvbXBhY3RdPVwiY29tcGFjdFwiXG4vPlxuXG48bmctdGVtcGxhdGUgI2ljb25UZW1wbGF0ZSBsZXQtaXRlbT5cbjwhLS0gIDxpICpuZ0lmPVwiaXRlbT8uaWNvblwiIFtuZ0NsYXNzXT1cIml0ZW0gfCBjU2lkZWJhck5hdkljb25cIj48L2k+LS0+XG4gIDxzcGFuICpuZ0lmPVwiaXRlbT8uaWNvblwiIGNsYXNzPVwibmF2LWljb25cIj5cbiAgICA8c3BhbiBbbmdDbGFzc109XCJpdGVtLmljb24gPz8gJydcIj48L3NwYW4+XG4gIDwvc3Bhbj5cbiAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cIml0ZW0/Lmljb25Db21wb25lbnRcIj5cbiAgICA8c3ZnXG4gICAgICBbY0ljb25dPVwiaXRlbS5pY29uQ29tcG9uZW50Py5jb250ZW50XCJcbiAgICAgIFtjdXN0b21DbGFzc2VzXT1cIml0ZW0gfCBjU2lkZWJhck5hdkljb25cIlxuICAgICAgW25hbWVdPVwiaXRlbS5pY29uQ29tcG9uZW50Py5uYW1lXCJcbiAgICAvPlxuICA8L25nLXRlbXBsYXRlPlxuICA8c3BhbiAqbmdJZj1cIiFpdGVtPy5pY29uICYmICFpdGVtPy5pY29uQ29tcG9uZW50XCIgW25nQ2xhc3NdPVwiaXRlbSB8IGNTaWRlYmFyTmF2SWNvblwiPjwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG4iLCJAZm9yIChpdGVtIG9mIG5hdkl0ZW1zQXJyYXk7IHRyYWNrIGl0ZW0pIHtcbiAgQHN3aXRjaCAoaGVscGVyLml0ZW1UeXBlKGl0ZW0pKSB7XG4gICAgQGNhc2UgKCdncm91cCcpIHtcbiAgICAgIDxjLXNpZGViYXItbmF2LWdyb3VwXG4gICAgICAgICNybGE9XCJyb3V0ZXJMaW5rQWN0aXZlXCJcbiAgICAgICAgW2Ryb3Bkb3duTW9kZV09XCJkcm9wZG93bk1vZGVcIlxuICAgICAgICBbaXRlbV09XCJpdGVtXCJcbiAgICAgICAgW25nQ2xhc3NdPVwiaXRlbSB8IGNTaWRlYmFyTmF2SXRlbUNsYXNzXCJcbiAgICAgICAgW3JvdXRlckxpbmtBY3RpdmVPcHRpb25zXT1cIntleGFjdDogdHJ1ZX1cIlxuICAgICAgICByb3V0ZXJMaW5rQWN0aXZlPVwic2hvd1wiXG4gICAgICAgIFtjb21wYWN0XT1cImNvbXBhY3RcIlxuICAgICAgLz5cbiAgICB9XG4gICAgQGNhc2UgKCdkaXZpZGVyJykge1xuICAgICAgPGMtc2lkZWJhci1uYXYtZGl2aWRlclxuICAgICAgICBbY0h0bWxBdHRyXT1cIml0ZW0uYXR0cmlidXRlcyA/PyB7fVwiXG4gICAgICAgIFtpdGVtXT1cIml0ZW1cIlxuICAgICAgICBbbmdDbGFzc109XCJpdGVtIHwgY1NpZGViYXJOYXZJdGVtQ2xhc3NcIlxuICAgICAgLz5cbiAgICB9XG4gICAgQGNhc2UgKCd0aXRsZScpIHtcbiAgICAgIDxjLXNpZGViYXItbmF2LXRpdGxlXG4gICAgICAgIFtjSHRtbEF0dHJdPVwiaXRlbS5hdHRyaWJ1dGVzID8/IHt9XCJcbiAgICAgICAgW2l0ZW1dPVwiaXRlbVwiXG4gICAgICAgIFtuZ0NsYXNzXT1cIml0ZW0gfCBjU2lkZWJhck5hdkl0ZW1DbGFzc1wiXG4gICAgICAvPlxuICAgIH1cbiAgICBAY2FzZSAoJ2xhYmVsJykge1xuICAgICAgPGMtc2lkZWJhci1uYXYtbGFiZWxcbiAgICAgICAgW2l0ZW1dPVwiaXRlbVwiXG4gICAgICAgIFtuZ0NsYXNzXT1cIml0ZW0gfCBjU2lkZWJhck5hdkl0ZW1DbGFzc1wiXG4gICAgICAvPlxuICAgIH1cbiAgICBAY2FzZSAoJ2VtcHR5Jykge1xuICAgICAgPG5nLWNvbnRhaW5lciAvPlxuICAgIH1cbiAgICBAZGVmYXVsdCB7XG4gICAgICA8Yy1zaWRlYmFyLW5hdi1saW5rXG4gICAgICAgIChsaW5rQ2xpY2spPVwiaGlkZU1vYmlsZSgpXCJcbiAgICAgICAgW2l0ZW1dPVwiaXRlbVwiXG4gICAgICAgIFtuZ0NsYXNzXT1cIml0ZW0gfCBjU2lkZWJhck5hdkl0ZW1DbGFzc1wiXG4gICAgICAvPlxuICAgIH1cbiAgfVxufVxuPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIl19
@@ -1,10 +1,10 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class SidebarNavService {
4
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SidebarNavService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
5
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SidebarNavService }); }
4
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: SidebarNavService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
5
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: SidebarNavService }); }
6
6
  }
7
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SidebarNavService, decorators: [{
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: SidebarNavService, decorators: [{
8
8
  type: Injectable
9
9
  }] });
10
10
  export class SidebarNavHelper {
@@ -45,10 +45,10 @@ export class SidebarNavHelper {
45
45
  classes[icon] = this.hasIcon(item);
46
46
  return classes;
47
47
  }
48
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SidebarNavHelper, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
49
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SidebarNavHelper }); }
48
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: SidebarNavHelper, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
49
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: SidebarNavHelper }); }
50
50
  }
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SidebarNavHelper, decorators: [{
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: SidebarNavHelper, decorators: [{
52
52
  type: Injectable
53
53
  }] });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci1uYXYuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvc2lkZWJhci9zaWRlYmFyLW5hdi9zaWRlYmFyLW5hdi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNDLE1BQU0sT0FBZ0IsaUJBQWlCOzhHQUFqQixpQkFBaUI7a0hBQWpCLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFEdEMsVUFBVTs7QUFTWCxNQUFNLE9BQU8sZ0JBQWdCO0lBRDdCO1FBdUJTLGFBQVEsR0FBRyxDQUFDLElBQWMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuRCxZQUFPLEdBQUcsQ0FBQyxJQUFjLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxFQUFFLENBQUM7UUFDckUscUJBQWdCLEdBQUcsQ0FBQyxJQUFjLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7S0FXM0U7SUFqQ0MsUUFBUSxDQUFDLElBQWM7UUFDckIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3RCLE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFHLENBQUM7WUFDdEQsT0FBTyxPQUFPLENBQUM7UUFDakIsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3RCLE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUM7YUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNyQyxPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUM7SUFDSCxDQUFDO0lBRU0sUUFBUSxDQUFDLE1BQVcsRUFBRSxJQUFjO1FBQ3pDLE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFNTSxZQUFZLENBQUMsSUFBYztRQUNoQyxNQUFNLE9BQU8sR0FBRztZQUNkLFVBQVUsRUFBRSxJQUFJO1NBQ2pCLENBQUM7UUFDRixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3ZCLGFBQWE7UUFDYixPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDOzhHQWxDVSxnQkFBZ0I7a0hBQWhCLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFENUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgSU5hdkRhdGEgfSBmcm9tICcuL3NpZGViYXItbmF2JztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFNpZGViYXJOYXZTZXJ2aWNlIHtcbiAgLyoqXG4gICAqIFJldHVybnMgYSBzaWRlYmFyLW5hdiBpdGVtcyBjb25maWcgTmF2RGF0YVxuICAgKi9cbiAgYWJzdHJhY3QgZ2V0U2lkZWJhck5hdkl0ZW1zQ29uZmlnKCk6IElOYXZEYXRhW107XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTaWRlYmFyTmF2SGVscGVyIHtcblxuICBpdGVtVHlwZShpdGVtOiBJTmF2RGF0YSk6IHN0cmluZyB7XG4gICAgaWYgKGl0ZW0uZGl2aWRlcikge1xuICAgICAgcmV0dXJuICdkaXZpZGVyJztcbiAgICB9IGVsc2UgaWYgKGl0ZW0udGl0bGUpIHtcbiAgICAgIHJldHVybiAndGl0bGUnO1xuICAgIH0gZWxzZSBpZiAoaXRlbS5jaGlsZHJlbiAmJiBpdGVtLmNoaWxkcmVuLmxlbmd0aCA+IDAgKSB7XG4gICAgICByZXR1cm4gJ2dyb3VwJztcbiAgICB9IGVsc2UgaWYgKGl0ZW0ubGFiZWwpIHtcbiAgICAgIHJldHVybiAnbGFiZWwnO1xuICAgIH0gZWxzZSBpZiAoIU9iamVjdC5rZXlzKGl0ZW0pLmxlbmd0aCkge1xuICAgICAgcmV0dXJuICdlbXB0eSc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAnbGluayc7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGlzQWN0aXZlKHJvdXRlcjogYW55LCBpdGVtOiBJTmF2RGF0YSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiByb3V0ZXIuaXNBY3RpdmUoaXRlbS51cmwsIGZhbHNlKTtcbiAgfVxuXG4gIHB1YmxpYyBoYXNCYWRnZSA9IChpdGVtOiBJTmF2RGF0YSkgPT4gQm9vbGVhbihpdGVtLmJhZGdlKTtcbiAgcHVibGljIGhhc0ljb24gPSAoaXRlbTogSU5hdkRhdGEpID0+IEJvb2xlYW4oaXRlbS5pY29uKSB8fCBpdGVtLmljb24gPT09ICcnO1xuICBwdWJsaWMgaGFzSWNvbkNvbXBvbmVudCA9IChpdGVtOiBJTmF2RGF0YSkgPT4gQm9vbGVhbihpdGVtLmljb25Db21wb25lbnQpO1xuXG4gIHB1YmxpYyBnZXRJY29uQ2xhc3MoaXRlbTogSU5hdkRhdGEpOiBhbnkge1xuICAgIGNvbnN0IGNsYXNzZXMgPSB7XG4gICAgICAnbmF2LWljb24nOiB0cnVlXG4gICAgfTtcbiAgICBjb25zdCBpY29uID0gaXRlbS5pY29uO1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBjbGFzc2VzW2ljb25dID0gdGhpcy5oYXNJY29uKGl0ZW0pO1xuICAgIHJldHVybiBjbGFzc2VzO1xuICB9XG59XG4iXX0=
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci1uYXYuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvc2lkZWJhci9zaWRlYmFyLW5hdi9zaWRlYmFyLW5hdi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNDLE1BQU0sT0FBZ0IsaUJBQWlCOzhHQUFqQixpQkFBaUI7a0hBQWpCLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFEdEMsVUFBVTs7QUFTWCxNQUFNLE9BQU8sZ0JBQWdCO0lBRDdCO1FBdUJTLGFBQVEsR0FBRyxDQUFDLElBQWMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuRCxZQUFPLEdBQUcsQ0FBQyxJQUFjLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxFQUFFLENBQUM7UUFDckUscUJBQWdCLEdBQUcsQ0FBQyxJQUFjLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7S0FXM0U7SUFqQ0MsUUFBUSxDQUFDLElBQWM7UUFDckIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO2FBQU0sSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ3JCLE9BQU8sT0FBTyxDQUFDO1NBQ2hCO2FBQU0sSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRztZQUNyRCxPQUFPLE9BQU8sQ0FBQztTQUNoQjthQUFNLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNyQixPQUFPLE9BQU8sQ0FBQztTQUNoQjthQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRTtZQUNwQyxPQUFPLE9BQU8sQ0FBQztTQUNoQjthQUFNO1lBQ0wsT0FBTyxNQUFNLENBQUM7U0FDZjtJQUNILENBQUM7SUFFTSxRQUFRLENBQUMsTUFBVyxFQUFFLElBQWM7UUFDekMsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQU1NLFlBQVksQ0FBQyxJQUFjO1FBQ2hDLE1BQU0sT0FBTyxHQUFHO1lBQ2QsVUFBVSxFQUFFLElBQUk7U0FDakIsQ0FBQztRQUNGLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdkIsYUFBYTtRQUNiLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7OEdBbENVLGdCQUFnQjtrSEFBaEIsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQUQ1QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBJTmF2RGF0YSB9IGZyb20gJy4vc2lkZWJhci1uYXYnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2lkZWJhck5hdlNlcnZpY2Uge1xuICAvKipcbiAgICogUmV0dXJucyBhIHNpZGViYXItbmF2IGl0ZW1zIGNvbmZpZyBOYXZEYXRhXG4gICAqL1xuICBhYnN0cmFjdCBnZXRTaWRlYmFyTmF2SXRlbXNDb25maWcoKTogSU5hdkRhdGFbXTtcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNpZGViYXJOYXZIZWxwZXIge1xuXG4gIGl0ZW1UeXBlKGl0ZW06IElOYXZEYXRhKTogc3RyaW5nIHtcbiAgICBpZiAoaXRlbS5kaXZpZGVyKSB7XG4gICAgICByZXR1cm4gJ2RpdmlkZXInO1xuICAgIH0gZWxzZSBpZiAoaXRlbS50aXRsZSkge1xuICAgICAgcmV0dXJuICd0aXRsZSc7XG4gICAgfSBlbHNlIGlmIChpdGVtLmNoaWxkcmVuICYmIGl0ZW0uY2hpbGRyZW4ubGVuZ3RoID4gMCApIHtcbiAgICAgIHJldHVybiAnZ3JvdXAnO1xuICAgIH0gZWxzZSBpZiAoaXRlbS5sYWJlbCkge1xuICAgICAgcmV0dXJuICdsYWJlbCc7XG4gICAgfSBlbHNlIGlmICghT2JqZWN0LmtleXMoaXRlbSkubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gJ2VtcHR5JztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICdsaW5rJztcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaXNBY3RpdmUocm91dGVyOiBhbnksIGl0ZW06IElOYXZEYXRhKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHJvdXRlci5pc0FjdGl2ZShpdGVtLnVybCwgZmFsc2UpO1xuICB9XG5cbiAgcHVibGljIGhhc0JhZGdlID0gKGl0ZW06IElOYXZEYXRhKSA9PiBCb29sZWFuKGl0ZW0uYmFkZ2UpO1xuICBwdWJsaWMgaGFzSWNvbiA9IChpdGVtOiBJTmF2RGF0YSkgPT4gQm9vbGVhbihpdGVtLmljb24pIHx8IGl0ZW0uaWNvbiA9PT0gJyc7XG4gIHB1YmxpYyBoYXNJY29uQ29tcG9uZW50ID0gKGl0ZW06IElOYXZEYXRhKSA9PiBCb29sZWFuKGl0ZW0uaWNvbkNvbXBvbmVudCk7XG5cbiAgcHVibGljIGdldEljb25DbGFzcyhpdGVtOiBJTmF2RGF0YSk6IGFueSB7XG4gICAgY29uc3QgY2xhc3NlcyA9IHtcbiAgICAgICduYXYtaWNvbic6IHRydWVcbiAgICB9O1xuICAgIGNvbnN0IGljb24gPSBpdGVtLmljb247XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGNsYXNzZXNbaWNvbl0gPSB0aGlzLmhhc0ljb24oaXRlbSk7XG4gICAgcmV0dXJuIGNsYXNzZXM7XG4gIH1cbn1cbiJdfQ==
@@ -19,10 +19,10 @@ export class SidebarToggleDirective {
19
19
  $event.preventDefault();
20
20
  this.sidebarService.toggle({ toggle: this.toggle, id: this.id });
21
21
  }
22
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SidebarToggleDirective, deps: [{ token: i1.SidebarService }], target: i0.ɵɵFactoryTarget.Directive }); }
23
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.0", type: SidebarToggleDirective, isStandalone: true, selector: "[cSidebarToggle]", inputs: { id: ["cSidebarToggle", "id"], toggle: "toggle" }, host: { listeners: { "click": "toggleOpen($event)" } }, exportAs: ["cSidebarToggle"], ngImport: i0 }); }
22
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: SidebarToggleDirective, deps: [{ token: i1.SidebarService }], target: i0.ɵɵFactoryTarget.Directive }); }
23
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.9", type: SidebarToggleDirective, isStandalone: true, selector: "[cSidebarToggle]", inputs: { id: ["cSidebarToggle", "id"], toggle: "toggle" }, host: { listeners: { "click": "toggleOpen($event)" } }, exportAs: ["cSidebarToggle"], ngImport: i0 }); }
24
24
  }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SidebarToggleDirective, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: SidebarToggleDirective, decorators: [{
26
26
  type: Directive,
27
27
  args: [{
28
28
  selector: '[cSidebarToggle]',
@@ -14,10 +14,10 @@ export class SidebarTogglerDirective {
14
14
  cursor: 'pointer'
15
15
  };
16
16
  }
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SidebarTogglerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
18
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.0", type: SidebarTogglerDirective, isStandalone: true, selector: "[cSidebarToggler]", inputs: { role: "role" }, host: { properties: { "attr.role": "this.role", "class.sidebar-toggler": "this.sidebarTogglerClass", "style": "this.getStyles" } }, hostDirectives: [{ directive: i1.SidebarToggleDirective, inputs: ["cSidebarToggle", "cSidebarToggler", "toggle", "toggle"] }], ngImport: i0 }); }
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: SidebarTogglerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
18
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.9", type: SidebarTogglerDirective, isStandalone: true, selector: "[cSidebarToggler]", inputs: { role: "role" }, host: { properties: { "attr.role": "this.role", "class.sidebar-toggler": "this.sidebarTogglerClass", "style": "this.getStyles" } }, hostDirectives: [{ directive: i1.SidebarToggleDirective, inputs: ["cSidebarToggle", "cSidebarToggler", "toggle", "toggle"] }], ngImport: i0 }); }
19
19
  }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SidebarTogglerDirective, decorators: [{
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: SidebarTogglerDirective, decorators: [{
21
21
  type: Directive,
22
22
  args: [{
23
23
  selector: '[cSidebarToggler]',
@@ -10,8 +10,8 @@ import { SidebarNavGroupService } from './sidebar-nav/sidebar-nav-group.service'
10
10
  import { SidebarNavBadgePipe, SidebarNavComponent, SidebarNavDividerComponent, SidebarNavGroupComponent, SidebarNavHelper, SidebarNavIconPipe, SidebarNavItemClassPipe, SidebarNavLabelComponent, SidebarNavLinkComponent, SidebarNavLinkContentComponent, SidebarNavLinkPipe, SidebarNavTitleComponent } from './sidebar-nav';
11
11
  import * as i0 from "@angular/core";
12
12
  export class SidebarModule {
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SidebarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
14
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.0", ngImport: i0, type: SidebarModule, imports: [SidebarComponent,
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: SidebarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
14
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.9", ngImport: i0, type: SidebarModule, imports: [SidebarComponent,
15
15
  SidebarBrandComponent,
16
16
  SidebarFooterComponent,
17
17
  SidebarHeaderComponent,
@@ -34,7 +34,7 @@ export class SidebarModule {
34
34
  SidebarNavComponent,
35
35
  SidebarHeaderComponent,
36
36
  SidebarFooterComponent] }); }
37
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SidebarModule, providers: [
37
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: SidebarModule, providers: [
38
38
  SidebarService,
39
39
  SidebarNavHelper,
40
40
  SidebarNavGroupService
@@ -42,7 +42,7 @@ export class SidebarModule {
42
42
  SidebarNavGroupComponent,
43
43
  SidebarNavLinkComponent] }); }
44
44
  }
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SidebarModule, decorators: [{
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: SidebarModule, decorators: [{
46
46
  type: NgModule,
47
47
  args: [{
48
48
  imports: [
@@ -9,10 +9,10 @@ export class SidebarService {
9
9
  toggle(action) {
10
10
  this.sidebarState.next(action);
11
11
  }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SidebarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
13
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SidebarService, providedIn: 'root' }); }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: SidebarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
13
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: SidebarService, providedIn: 'root' }); }
14
14
  }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SidebarService, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: SidebarService, decorators: [{
16
16
  type: Injectable,
17
17
  args: [{
18
18
  providedIn: 'root'
@@ -1,11 +1,15 @@
1
- import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';
2
- import { NgClass, NgForOf, NgIf } from '@angular/common';
3
- import { coerceNumberProperty } from '@angular/cdk/coercion';
1
+ import { Component, EventEmitter, HostBinding, Input, numberAttribute, Output } from '@angular/core';
2
+ import { NgClass } from '@angular/common';
4
3
  import { PageItemDirective, PageLinkDirective } from '../pagination';
5
4
  import * as i0 from "@angular/core";
6
5
  export class SmartPaginationComponent {
7
6
  constructor() {
8
- this._activePage = 1;
7
+ /**
8
+ * Current page number. [docs]
9
+ * @default 1
10
+ * @type number
11
+ */
12
+ this.activePage = 1;
9
13
  /**
10
14
  * Event triggered on activePage change.
11
15
  * @type EventEmitter<number>
@@ -68,24 +72,13 @@ export class SmartPaginationComponent {
68
72
  */
69
73
  this.role = 'navigation';
70
74
  }
71
- /**
72
- * Current page number. [docs]
73
- * @default 1
74
- * @type number
75
- */
76
- set activePage(value) {
77
- this._activePage = coerceNumberProperty(value);
78
- }
79
- get activePage() {
80
- return this._activePage;
81
- }
82
75
  /**
83
76
  * Maximum items number. [docs]
84
77
  * @default 5
85
78
  * @type number
86
79
  */
87
80
  set limit(value) {
88
- this._limit = coerceNumberProperty(value);
81
+ this._limit = value;
89
82
  }
90
83
  get limit() {
91
84
  return this._limit;
@@ -95,7 +88,7 @@ export class SmartPaginationComponent {
95
88
  * @type number
96
89
  */
97
90
  set pages(value) {
98
- this._pages = coerceNumberProperty(value);
91
+ this._pages = value;
99
92
  }
100
93
  get pages() {
101
94
  return this._pages;
@@ -154,14 +147,15 @@ export class SmartPaginationComponent {
154
147
  this.activePageChange.emit(page);
155
148
  }
156
149
  }
157
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SmartPaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
158
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: SmartPaginationComponent, isStandalone: true, selector: "c-smart-pagination", inputs: { activePage: "activePage", arrows: "arrows", doubleArrows: "doubleArrows", dots: "dots", limit: "limit", pages: "pages", firstButton: "firstButton", lastButton: "lastButton", nextButton: "nextButton", previousButton: "previousButton", align: "align", size: "size", role: "role" }, outputs: { activePageChange: "activePageChange" }, host: { properties: { "attr.role": "this.role" } }, exportAs: ["cSmartPagination"], ngImport: i0, template: "<ul [ngClass]=\"paginationClass\">\n <li *ngIf=\"doubleArrows\" cPageItem>\n <button\n (click)=\"setPage(1)\"\n [disabled]=\"activePage === 1\"\n aria-label=\"First page\"\n cPageLink\n >\n <span aria-hidden=\"true\">{{firstButton}}</span>\n </button>\n </li>\n <li *ngIf=\"arrows\" cPageItem>\n <button\n (click)=\"setPage(activePage - 1)\"\n [disabled]=\"activePage === 1\"\n aria-label=\"Previous page\"\n cPageLink\n >\n <span aria-hidden=\"true\">{{previousButton}}</span>\n </button>\n </li>\n <li *ngIf=\"beforeDots\" cPageItem>\n <a cPageLink disabled role=\"separator\">\n ...\n </a>\n </li>\n <li *ngFor=\"let item of items; index as i\" [active]=\"activePage === item\" cPageItem>\n <button\n (click)=\"setPage(item)\"\n [title]=\"(activePage === item ? 'Current page ' : 'Go to page ') + (item).toString()\"\n cPageLink\n >\n {{item}}\n </button>\n </li>\n <li *ngIf=\"afterDots\" cPageItem>\n <a cPageLink disabled role=\"separator\">\n ...\n </a>\n </li>\n <li *ngIf=\"arrows\" cPageItem>\n <button\n (click)=\"setPage(activePage + 1)\"\n [disabled]=\"activePage === pages\"\n aria-label=\"Next page\"\n cPageLink\n >\n <span aria-hidden=\"true\">{{nextButton}}</span>\n </button>\n </li>\n <li *ngIf=\"doubleArrows\" cPageItem>\n <button\n (click)=\"setPage(pages)\"\n [disabled]=\"activePage === pages\"\n aria-label=\"Last page\"\n cPageLink\n >\n <span aria-hidden=\"true\">{{lastButton}}</span>\n </button>\n </li>\n</ul>\n", dependencies: [{ kind: "directive", type: PageItemDirective, selector: "[cPageItem]", inputs: ["active", "disabled"] }, { kind: "directive", type: PageLinkDirective, selector: "[cPageLink]" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] }); }
150
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: SmartPaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
151
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.9", type: SmartPaginationComponent, isStandalone: true, selector: "c-smart-pagination", inputs: { activePage: ["activePage", "activePage", numberAttribute], arrows: "arrows", doubleArrows: "doubleArrows", dots: "dots", limit: ["limit", "limit", numberAttribute], pages: ["pages", "pages", numberAttribute], firstButton: "firstButton", lastButton: "lastButton", nextButton: "nextButton", previousButton: "previousButton", align: "align", size: "size", role: "role" }, outputs: { activePageChange: "activePageChange" }, host: { properties: { "attr.role": "this.role" } }, exportAs: ["cSmartPagination"], ngImport: i0, template: "<ul [ngClass]=\"paginationClass\">\n @if (doubleArrows) {\n <li cPageItem>\n <button\n (click)=\"setPage(1)\"\n [disabled]=\"activePage === 1\"\n aria-label=\"First page\"\n cPageLink\n >\n <span aria-hidden=\"true\">{{ firstButton }}</span>\n </button>\n </li>\n }\n @if (arrows) {\n <li cPageItem>\n <button\n (click)=\"setPage(activePage - 1)\"\n [disabled]=\"activePage === 1\"\n aria-label=\"Previous page\"\n cPageLink\n >\n <span aria-hidden=\"true\">{{ previousButton }}</span>\n </button>\n </li>\n }\n @if (beforeDots) {\n <li cPageItem>\n <a cPageLink disabled role=\"separator\">\n ...\n </a>\n </li>\n }\n @for (item of items; track item; let i = $index) {\n <li [active]=\"activePage === item\" cPageItem>\n <button\n (click)=\"setPage(item)\"\n [title]=\"(activePage === item ? 'Current page ' : 'Go to page ') + (item).toString()\"\n cPageLink\n >\n {{ item }}\n </button>\n </li>\n }\n @if (afterDots) {\n <li cPageItem>\n <a cPageLink disabled role=\"separator\">\n ...\n </a>\n </li>\n }\n @if (arrows) {\n <li cPageItem>\n <button\n (click)=\"setPage(activePage + 1)\"\n [disabled]=\"activePage === pages\"\n aria-label=\"Next page\"\n cPageLink\n >\n <span aria-hidden=\"true\">{{ nextButton }}</span>\n </button>\n </li>\n }\n @if (doubleArrows) {\n <li cPageItem>\n <button\n (click)=\"setPage(pages)\"\n [disabled]=\"activePage === pages\"\n aria-label=\"Last page\"\n cPageLink\n >\n <span aria-hidden=\"true\">{{ lastButton }}</span>\n </button>\n </li>\n }\n</ul>\n", dependencies: [{ kind: "directive", type: PageItemDirective, selector: "[cPageItem]", inputs: ["active", "disabled"] }, { kind: "directive", type: PageLinkDirective, selector: "[cPageLink]" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
159
152
  }
160
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SmartPaginationComponent, decorators: [{
153
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: SmartPaginationComponent, decorators: [{
161
154
  type: Component,
162
- args: [{ selector: 'c-smart-pagination', exportAs: 'cSmartPagination', standalone: true, imports: [PageItemDirective, PageLinkDirective, NgClass, NgIf, NgForOf], template: "<ul [ngClass]=\"paginationClass\">\n <li *ngIf=\"doubleArrows\" cPageItem>\n <button\n (click)=\"setPage(1)\"\n [disabled]=\"activePage === 1\"\n aria-label=\"First page\"\n cPageLink\n >\n <span aria-hidden=\"true\">{{firstButton}}</span>\n </button>\n </li>\n <li *ngIf=\"arrows\" cPageItem>\n <button\n (click)=\"setPage(activePage - 1)\"\n [disabled]=\"activePage === 1\"\n aria-label=\"Previous page\"\n cPageLink\n >\n <span aria-hidden=\"true\">{{previousButton}}</span>\n </button>\n </li>\n <li *ngIf=\"beforeDots\" cPageItem>\n <a cPageLink disabled role=\"separator\">\n ...\n </a>\n </li>\n <li *ngFor=\"let item of items; index as i\" [active]=\"activePage === item\" cPageItem>\n <button\n (click)=\"setPage(item)\"\n [title]=\"(activePage === item ? 'Current page ' : 'Go to page ') + (item).toString()\"\n cPageLink\n >\n {{item}}\n </button>\n </li>\n <li *ngIf=\"afterDots\" cPageItem>\n <a cPageLink disabled role=\"separator\">\n ...\n </a>\n </li>\n <li *ngIf=\"arrows\" cPageItem>\n <button\n (click)=\"setPage(activePage + 1)\"\n [disabled]=\"activePage === pages\"\n aria-label=\"Next page\"\n cPageLink\n >\n <span aria-hidden=\"true\">{{nextButton}}</span>\n </button>\n </li>\n <li *ngIf=\"doubleArrows\" cPageItem>\n <button\n (click)=\"setPage(pages)\"\n [disabled]=\"activePage === pages\"\n aria-label=\"Last page\"\n cPageLink\n >\n <span aria-hidden=\"true\">{{lastButton}}</span>\n </button>\n </li>\n</ul>\n" }]
163
- }], ctorParameters: () => [], propDecorators: { activePage: [{
164
- type: Input
155
+ args: [{ selector: 'c-smart-pagination', exportAs: 'cSmartPagination', standalone: true, imports: [PageItemDirective, PageLinkDirective, NgClass], template: "<ul [ngClass]=\"paginationClass\">\n @if (doubleArrows) {\n <li cPageItem>\n <button\n (click)=\"setPage(1)\"\n [disabled]=\"activePage === 1\"\n aria-label=\"First page\"\n cPageLink\n >\n <span aria-hidden=\"true\">{{ firstButton }}</span>\n </button>\n </li>\n }\n @if (arrows) {\n <li cPageItem>\n <button\n (click)=\"setPage(activePage - 1)\"\n [disabled]=\"activePage === 1\"\n aria-label=\"Previous page\"\n cPageLink\n >\n <span aria-hidden=\"true\">{{ previousButton }}</span>\n </button>\n </li>\n }\n @if (beforeDots) {\n <li cPageItem>\n <a cPageLink disabled role=\"separator\">\n ...\n </a>\n </li>\n }\n @for (item of items; track item; let i = $index) {\n <li [active]=\"activePage === item\" cPageItem>\n <button\n (click)=\"setPage(item)\"\n [title]=\"(activePage === item ? 'Current page ' : 'Go to page ') + (item).toString()\"\n cPageLink\n >\n {{ item }}\n </button>\n </li>\n }\n @if (afterDots) {\n <li cPageItem>\n <a cPageLink disabled role=\"separator\">\n ...\n </a>\n </li>\n }\n @if (arrows) {\n <li cPageItem>\n <button\n (click)=\"setPage(activePage + 1)\"\n [disabled]=\"activePage === pages\"\n aria-label=\"Next page\"\n cPageLink\n >\n <span aria-hidden=\"true\">{{ nextButton }}</span>\n </button>\n </li>\n }\n @if (doubleArrows) {\n <li cPageItem>\n <button\n (click)=\"setPage(pages)\"\n [disabled]=\"activePage === pages\"\n aria-label=\"Last page\"\n cPageLink\n >\n <span aria-hidden=\"true\">{{ lastButton }}</span>\n </button>\n </li>\n }\n</ul>\n" }]
156
+ }], propDecorators: { activePage: [{
157
+ type: Input,
158
+ args: [{ transform: numberAttribute }]
165
159
  }], activePageChange: [{
166
160
  type: Output
167
161
  }], arrows: [{
@@ -171,9 +165,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
171
165
  }], dots: [{
172
166
  type: Input
173
167
  }], limit: [{
174
- type: Input
168
+ type: Input,
169
+ args: [{ transform: numberAttribute }]
175
170
  }], pages: [{
176
- type: Input
171
+ type: Input,
172
+ args: [{ transform: numberAttribute }]
177
173
  }], firstButton: [{
178
174
  type: Input
179
175
  }], lastButton: [{
@@ -192,4 +188,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
192
188
  }, {
193
189
  type: Input
194
190
  }] } });
195
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtcGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL3NtYXJ0LXBhZ2luYXRpb24vc21hcnQtcGFnaW5hdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL3NtYXJ0LXBhZ2luYXRpb24vc21hcnQtcGFnaW5hdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsb0JBQW9CLEVBQWUsTUFBTSx1QkFBdUIsQ0FBQztBQUUxRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBVXJFLE1BQU0sT0FBTyx3QkFBd0I7SUFNbkM7UUFnQlEsZ0JBQVcsR0FBVyxDQUFDLENBQUM7UUFFaEM7OztXQUdHO1FBQ08scUJBQWdCLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFFOUU7Ozs7V0FJRztRQUNNLFdBQU0sR0FBWSxJQUFJLENBQUM7UUFFaEM7Ozs7V0FJRztRQUNNLGlCQUFZLEdBQVksSUFBSSxDQUFDO1FBRXRDOzs7V0FHRztRQUNNLFNBQUksR0FBWSxJQUFJLENBQUM7UUFnQnRCLFdBQU0sR0FBVyxDQUFDLENBQUM7UUFlbkIsV0FBTSxHQUFXLENBQUMsQ0FBQztRQUUzQjs7OztXQUlHO1FBQ00sZ0JBQVcsR0FBK0IsR0FBRyxDQUFDO1FBQ3ZELHNEQUFzRDtRQUV0RDs7OztXQUlHO1FBQ00sZUFBVSxHQUEr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d0IsdWZDZHJDLDZtREE2REEsNENEakRZLGlCQUFpQix3RkFBRSxpQkFBaUIsd0RBQUUsT0FBTyxvRkFBRSxJQUFJLDZGQUFFLE9BQU87OzJGQUUzRCx3QkFBd0I7a0JBUHBDLFNBQVM7K0JBQ0Usb0JBQW9CLFlBRXBCLGtCQUFrQixjQUNoQixJQUFJLFdBQ1AsQ0FBQyxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQzt3REFnQm5FLFVBQVU7c0JBRGIsS0FBSztnQkFlSSxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBT0UsTUFBTTtzQkFBZCxLQUFLO2dCQU9HLFlBQVk7c0JBQXBCLEtBQUs7Z0JBTUcsSUFBSTtzQkFBWixLQUFLO2dCQVFGLEtBQUs7c0JBRFIsS0FBSztnQkFnQkYsS0FBSztzQkFEUixLQUFLO2dCQWdCRyxXQUFXO3NCQUFuQixLQUFLO2dCQVFHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBUUcsVUFBVTtzQkFBbEIsS0FBSztnQkFPRyxjQUFjO3NCQUF0QixLQUFLO2dCQU1HLEtBQUs7c0JBQWIsS0FBSztnQkFNRyxJQUFJO3NCQUFaLEtBQUs7Z0JBUUcsSUFBSTtzQkFEWixXQUFXO3VCQUFDLFdBQVc7O3NCQUN2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdDbGFzcywgTmdGb3JPZiwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBjb2VyY2VOdW1iZXJQcm9wZXJ0eSwgTnVtYmVySW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuXG5pbXBvcnQgeyBQYWdlSXRlbURpcmVjdGl2ZSwgUGFnZUxpbmtEaXJlY3RpdmUgfSBmcm9tICcuLi9wYWdpbmF0aW9uJztcbmltcG9ydCB7IElTbWFydFBhZ2luYXRpb24gfSBmcm9tICcuL3NtYXJ0LXBhZ2luYXRpb24udHlwZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Mtc21hcnQtcGFnaW5hdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zbWFydC1wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgZXhwb3J0QXM6ICdjU21hcnRQYWdpbmF0aW9uJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1BhZ2VJdGVtRGlyZWN0aXZlLCBQYWdlTGlua0RpcmVjdGl2ZSwgTmdDbGFzcywgTmdJZiwgTmdGb3JPZl1cbn0pXG5leHBvcnQgY2xhc3MgU21hcnRQYWdpbmF0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgSVNtYXJ0UGFnaW5hdGlvbiB7XG5cbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2FjdGl2ZVBhZ2U6IE51bWJlcklucHV0O1xuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfcGFnZXM6IE51bWJlcklucHV0O1xuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfbGltaXQ6IE51bWJlcklucHV0O1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgLyoqXG4gICAqIEN1cnJlbnQgcGFnZSBudW1iZXIuIFtkb2NzXVxuICAgKiBAZGVmYXVsdCAxXG4gICAqIEB0eXBlIG51bWJlclxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IGFjdGl2ZVBhZ2UodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX2FjdGl2ZVBhZ2UgPSBjb2VyY2VOdW1iZXJQcm9wZXJ0eSh2YWx1ZSk7XG4gIH1cblxuICBnZXQgYWN0aXZlUGFnZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9hY3RpdmVQYWdlO1xuICB9XG5cbiAgcHJpdmF0ZSBfYWN0aXZlUGFnZTogbnVtYmVyID0gMTtcblxuICAvKipcbiAgICogRXZlbnQgdHJpZ2dlcmVkIG9uIGFjdGl2ZVBhZ2UgY2hhbmdlLlxuICAgKiBAdHlwZSBFdmVudEVtaXR0ZXI8bnVtYmVyPlxuICAgKi9cbiAgQE91dHB1dCgpIGFjdGl2ZVBhZ2VDaGFuZ2U6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgLyoqXG4gICAqIFNob3cvaGlkZSBhcnJvd3NcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqL1xuICBASW5wdXQoKSBhcnJvd3M6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBTaG93IGRvdWJsZSBhcnJvd3MgYnV0dG9uc1xuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICovXG4gIEBJbnB1dCgpIGRvdWJsZUFycm93czogYm9vbGVhbiA9IHRydWU7XG5cbiAgLyoqXG4gICAqIFNob3cvaGlkZSBkb3RzLiBbZG9jc11cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KCkgZG90czogYm9vbGVhbiA9IHRydWU7XG5cbiAgLyoqXG4gICAqIE1heGltdW0gaXRlbXMgbnVtYmVyLiBbZG9jc11cbiAgICogQGRlZmF1bHQgNVxuICAgKiBAdHlwZSBudW1iZXJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBsaW1pdCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fbGltaXQgPSBjb2VyY2VOdW1iZXJQcm9wZXJ0eSh2YWx1ZSk7XG4gIH1cblxuICBnZXQgbGltaXQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fbGltaXQ7XG4gIH1cblxuICBwcml2YXRlIF9saW1pdDogbnVtYmVyID0gNTtcblxuICAvKipcbiAgICogTnVtYmVyIG9mIHBhZ2VzLiBbZG9jc11cbiAgICogQHR5cGUgbnVtYmVyXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgcGFnZXModmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX3BhZ2VzID0gY29lcmNlTnVtYmVyUHJvcGVydHkodmFsdWUpO1xuICB9XG5cbiAgZ2V0IHBhZ2VzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX3BhZ2VzO1xuICB9XG5cbiAgcHJpdmF0ZSBfcGFnZXM6IG51bWJlciA9IDE7XG5cbiAgLyoqXG4gICAqIFRoZSBjb250ZW50IG9mICdmaXJzdEJ1dHRvbicgYnV0dG9uLiBbZG9jc11cbiAgICogQGRlZmF1bHQgJyZsYXF1bydcbiAgICogdG9kbyBUZW1wbGF0ZVJlZlxuICAgKi9cbiAgQElucHV0KCkgZmlyc3RCdXR0b24/OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+ID0gJ8KrJztcbiAgLy8gZmlyc3RCdXR0b24/OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+ID0gJyZsYXF1bzsnXG5cbiAgLyoqXG4gICAqIFRoZSBjb250ZW50IG9mICdsYXN0QnV0dG9uJyBidXR0b24uIFtkb2NzXVxuICAgKiBAZGVmYXVsdCAnJnJhcXVvJ1xuICAgKiB0b2RvIFRlbXBsYXRlUmVmXG4gICAqL1xuICBASW5wdXQoKSBsYXN0QnV0dG9uPzogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55PiA9ICfCuyc7XG4gIC8vIGxhc3RCdXR0b24/OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+ID0gJyZyYXF1bzsnXG5cbiAgLyoqXG4gICAqIFRoZSBjb250ZW50IG9mICduZXh0QnV0dG9uJyBidXR0b24uIFtkb2NzXVxuICAgKiBAZGVmYXVsdCAnJmxzYXF1bydcbiAgICogdG9kbyBUZW1wbGF0ZVJlZlxuICAgKi9cbiAgQElucHV0KCkgbmV4dEJ1dHRvbj86IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT4gPSAn4oC6JztcblxuICAvKipcbiAgICogVGhlIGNvbnRlbnQgb2YgJ3ByZXZpb3VzQnV0dG9uJyBidXR0b24uIFtkb2NzXVxuICAgKiBAZGVmYXVsdCAnJnJzYXF1bydcbiAgICogdG9kbyBUZW1wbGF0ZVJlZlxuICAgKi9cbiAgQElucHV0KCkgcHJldmlvdXNCdXR0b24/OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+ID0gJ+KAuSc7XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgYWxpZ25tZW50IG9mIHBhZ2luYXRpb24gY29tcG9uZW50cy5cbiAgICogQHZhbHVlcyAnc3RhcnQnLCAnY2VudGVyJywgJ2VuZCdcbiAgICovXG4gIEBJbnB1dCgpIGFsaWduPzogJ3N0YXJ0JyB8ICdjZW50ZXInIHwgJ2VuZCcgfCAnJyA9ICdzdGFydCc7XG5cbiAgLyoqXG4gICAqIFNpemUgdGhlIGNvbXBvbmVudCBzbWFsbCBvciBsYXJnZS5cbiAgICogQHZhbHVlcyAnc20nLCAnbGcnXG4gICAqL1xuICBASW5wdXQoKSBzaXplPzogJ3NtJyB8ICdsZyc7XG5cbiAgLyoqXG4gICAqIERlZmF1bHQgcm9sZSBmb3IgcGFnaW5hdGlvbi4gW2RvY3NdXG4gICAqIEB0eXBlIHN0cmluZ1xuICAgKiBAZGVmYXVsdCAnbmF2aWdhdGlvbidcbiAgICovXG4gIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJylcbiAgQElucHV0KCkgcm9sZSA9ICduYXZpZ2F0aW9uJztcblxuICBnZXQgcGFnaW5hdGlvbkNsYXNzKCk6IGFueSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHBhZ2luYXRpb246IHRydWUsXG4gICAgICBbYHBhZ2luYXRpb24tJHt0aGlzLnNpemV9YF06ICEhdGhpcy5zaXplLFxuICAgICAgW2BqdXN0aWZ5LWNvbnRlbnQtJHt0aGlzLmFsaWdufWBdOiAhIXRoaXMuYWxpZ25cbiAgICB9O1xuICB9XG5cbiAgZ2V0IG1heFByZXZJdGVtcygpIHtcbiAgICByZXR1cm4gTWF0aC5mbG9vcigodGhpcy5fbGltaXQgLSAxKSAvIDIpO1xuICB9XG5cbiAgZ2V0IG1heE5leHRJdGVtcygpIHtcbiAgICByZXR1cm4gTWF0aC5jZWlsKCh0aGlzLl9saW1pdCAtIDEpIC8gMik7XG4gIH1cblxuICBnZXQgcmFuZ2UoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5hY3RpdmVQYWdlICsgdGhpcy5tYXhOZXh0SXRlbXM7XG4gIH1cblxuICBnZXQgbGFzdEl0ZW0oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5yYW5nZSA+PSB0aGlzLl9wYWdlcyA/IHRoaXMuX3BhZ2VzIDogdGhpcy5yYW5nZSAtICh0aGlzLmFmdGVyRG90cyA/IDEgOiAwKTtcbiAgfVxuXG4gIGdldCBjb21wdXRlZExpbWl0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2xpbWl0IC0gKHRoaXMuYWZ0ZXJEb3RzID8gMSA6IDApIC0gKHRoaXMuYmVmb3JlRG90cyA/IDEgOiAwKTtcbiAgfVxuXG4gIGdldCBpdGVtc0xpbWl0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX3BhZ2VzIDwgdGhpcy5jb21wdXRlZExpbWl0ID8gdGhpcy5fcGFnZXMgOiB0aGlzLmNvbXB1dGVkTGltaXQ7XG4gIH1cblxuICBnZXQgc2hvd0RvdHMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZG90cyAmJiB0aGlzLl9saW1pdCA+IDQgJiYgdGhpcy5fbGltaXQgPCB0aGlzLl9wYWdlcztcbiAgfVxuXG4gIGdldCBiZWZvcmVEb3RzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNob3dEb3RzICYmIHRoaXMuYWN0aXZlUGFnZSA+IHRoaXMubWF4UHJldkl0ZW1zICsgMTtcbiAgfVxuXG4gIGdldCBhZnRlckRvdHMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2hvd0RvdHMgJiYgdGhpcy5hY3RpdmVQYWdlIDwgdGhpcy5fcGFnZXMgLSB0aGlzLm1heE5leHRJdGVtcztcbiAgfVxuXG4gIGdldCBpdGVtcygpIHtcbiAgICBpZiAodGhpcy5hY3RpdmVQYWdlIC0gdGhpcy5tYXhQcmV2SXRlbXMgPD0gMSkge1xuICAgICAgcmV0dXJuIEFycmF5LmZyb20oXG4gICAgICAgIHtcbiAgICAgICAgICBsZW5ndGg6IHRoaXMuaXRlbXNMaW1pdFxuICAgICAgICB9LFxuICAgICAgICAoX2l0ZW0sIGkpID0+IGkgKyAxXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gQXJyYXkuZnJvbShcbiAgICAgICAge1xuICAgICAgICAgIGxlbmd0aDogdGhpcy5pdGVtc0xpbWl0XG4gICAgICAgIH0sXG4gICAgICAgIChfaXRlbSwgaSkgPT4ge1xuICAgICAgICAgIHJldHVybiB0aGlzLmxhc3RJdGVtIC0gaTtcbiAgICAgICAgfVxuICAgICAgKS5yZXZlcnNlKCk7XG4gICAgfVxuICB9XG5cbiAgc2V0UGFnZShwYWdlOiBudW1iZXIpIHtcbiAgICBpZiAocGFnZSAhPT0gdGhpcy5hY3RpdmVQYWdlKSB7XG4gICAgICB0aGlzLmFjdGl2ZVBhZ2UgPSBwYWdlO1xuICAgICAgdGhpcy5hY3RpdmVQYWdlQ2hhbmdlLmVtaXQocGFnZSk7XG4gICAgfVxuICB9XG59XG4iLCI8dWwgW25nQ2xhc3NdPVwicGFnaW5hdGlvbkNsYXNzXCI+XG4gIDxsaSAqbmdJZj1cImRvdWJsZUFycm93c1wiIGNQYWdlSXRlbT5cbiAgICA8YnV0dG9uXG4gICAgICAoY2xpY2spPVwic2V0UGFnZSgxKVwiXG4gICAgICBbZGlzYWJsZWRdPVwiYWN0aXZlUGFnZSA9PT0gMVwiXG4gICAgICBhcmlhLWxhYmVsPVwiRmlyc3QgcGFnZVwiXG4gICAgICBjUGFnZUxpbmtcbiAgICA+XG4gICAgICA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIj57e2ZpcnN0QnV0dG9ufX08L3NwYW4+XG4gICAgPC9idXR0b24+XG4gIDwvbGk+XG4gIDxsaSAqbmdJZj1cImFycm93c1wiIGNQYWdlSXRlbT5cbiAgICA8YnV0dG9uXG4gICAgICAoY2xpY2spPVwic2V0UGFnZShhY3RpdmVQYWdlIC0gMSlcIlxuICAgICAgW2Rpc2FibGVkXT1cImFjdGl2ZVBhZ2UgPT09IDFcIlxuICAgICAgYXJpYS1sYWJlbD1cIlByZXZpb3VzIHBhZ2VcIlxuICAgICAgY1BhZ2VMaW5rXG4gICAgPlxuICAgICAgPHNwYW4gYXJpYS1oaWRkZW49XCJ0cnVlXCI+e3twcmV2aW91c0J1dHRvbn19PC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICA8L2xpPlxuICA8bGkgKm5nSWY9XCJiZWZvcmVEb3RzXCIgY1BhZ2VJdGVtPlxuICAgIDxhIGNQYWdlTGluayBkaXNhYmxlZCByb2xlPVwic2VwYXJhdG9yXCI+XG4gICAgICAuLi5cbiAgICA8L2E+XG4gIDwvbGk+XG4gIDxsaSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtczsgaW5kZXggYXMgaVwiIFthY3RpdmVdPVwiYWN0aXZlUGFnZSA9PT0gaXRlbVwiIGNQYWdlSXRlbT5cbiAgICA8YnV0dG9uXG4gICAgICAoY2xpY2spPVwic2V0UGFnZShpdGVtKVwiXG4gICAgICBbdGl0bGVdPVwiKGFjdGl2ZVBhZ2UgPT09IGl0ZW0gPyAnQ3VycmVudCBwYWdlICcgOiAnR28gdG8gcGFnZSAnKSArIChpdGVtKS50b1N0cmluZygpXCJcbiAgICAgIGNQYWdlTGlua1xuICAgID5cbiAgICAgIHt7aXRlbX19XG4gICAgPC9idXR0b24+XG4gIDwvbGk+XG4gIDxsaSAqbmdJZj1cImFmdGVyRG90c1wiIGNQYWdlSXRlbT5cbiAgICA8YSBjUGFnZUxpbmsgZGlzYWJsZWQgcm9sZT1cInNlcGFyYXRvclwiPlxuICAgICAgLi4uXG4gICAgPC9hPlxuICA8L2xpPlxuICA8bGkgKm5nSWY9XCJhcnJvd3NcIiBjUGFnZUl0ZW0+XG4gICAgPGJ1dHRvblxuICAgICAgKGNsaWNrKT1cInNldFBhZ2UoYWN0aXZlUGFnZSArIDEpXCJcbiAgICAgIFtkaXNhYmxlZF09XCJhY3RpdmVQYWdlID09PSBwYWdlc1wiXG4gICAgICBhcmlhLWxhYmVsPVwiTmV4dCBwYWdlXCJcbiAgICAgIGNQYWdlTGlua1xuICAgID5cbiAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPnt7bmV4dEJ1dHRvbn19PC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICA8L2xpPlxuICA8bGkgKm5nSWY9XCJkb3VibGVBcnJvd3NcIiBjUGFnZUl0ZW0+XG4gICAgPGJ1dHRvblxuICAgICAgKGNsaWNrKT1cInNldFBhZ2UocGFnZXMpXCJcbiAgICAgIFtkaXNhYmxlZF09XCJhY3RpdmVQYWdlID09PSBwYWdlc1wiXG4gICAgICBhcmlhLWxhYmVsPVwiTGFzdCBwYWdlXCJcbiAgICAgIGNQYWdlTGlua1xuICAgID5cbiAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPnt7bGFzdEJ1dHRvbn19PC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICA8L2xpPlxuPC91bD5cbiJdfQ==
191
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtcGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL3NtYXJ0LXBhZ2luYXRpb24vc21hcnQtcGFnaW5hdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL3NtYXJ0LXBhZ2luYXRpb24vc21hcnQtcGFnaW5hdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDbEgsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFVckUsTUFBTSxPQUFPLHdCQUF3QjtJQVByQztRQVNFOzs7O1dBSUc7UUFDb0MsZUFBVSxHQUFXLENBQUMsQ0FBQztRQUU5RDs7O1dBR0c7UUFDTyxxQkFBZ0IsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUU5RTs7OztXQUlHO1FBQ00sV0FBTSxHQUFZLElBQUksQ0FBQztRQUVoQzs7OztXQUlHO1FBQ00saUJBQVksR0FBWSxJQUFJLENBQUM7UUFFdEM7OztXQUdHO1FBQ00sU0FBSSxHQUFZLElBQUksQ0FBQztRQWdCdEIsV0FBTSxHQUFXLENBQUMsQ0FBQztRQWVuQixXQUFNLEdBQVcsQ0FBQyxDQUFDO1FBRTNCOzs7O1dBSUc7UUFDTSxnQkFBVyxHQUErQixHQUFHLENBQUM7UUFDdkQsc0RBQXNEO1FBRXREOzs7O1dBSUc7UUFDTSxlQUFVLEdBQStCLEdBQUcsQ0FBQztRQUN0RCxxREFBcUQ7UUFFckQ7Ozs7V0FJRztRQUNN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QUF6QixNQUFNO2dCQU9FLE1BQU07c0JBQWQsS0FBSztnQkFPRyxZQUFZO3NCQUFwQixLQUFLO2dCQU1HLElBQUk7c0JBQVosS0FBSztnQkFRRixLQUFLO3NCQURSLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFO2dCQWdCakMsS0FBSztzQkFEUixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRTtnQkFnQjVCLFdBQVc7c0JBQW5CLEtBQUs7Z0JBUUcsVUFBVTtzQkFBbEIsS0FBSztnQkFRRyxVQUFVO3NCQUFsQixLQUFLO2dCQU9HLGNBQWM7c0JBQXRCLEtBQUs7Z0JBTUcsS0FBSztzQkFBYixLQUFLO2dCQU1HLElBQUk7c0JBQVosS0FBSztnQkFRRyxJQUFJO3NCQURaLFdBQVc7dUJBQUMsV0FBVzs7c0JBQ3ZCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBudW1iZXJBdHRyaWJ1dGUsIE91dHB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBQYWdlSXRlbURpcmVjdGl2ZSwgUGFnZUxpbmtEaXJlY3RpdmUgfSBmcm9tICcuLi9wYWdpbmF0aW9uJztcbmltcG9ydCB7IElTbWFydFBhZ2luYXRpb24gfSBmcm9tICcuL3NtYXJ0LXBhZ2luYXRpb24udHlwZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Mtc21hcnQtcGFnaW5hdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zbWFydC1wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgZXhwb3J0QXM6ICdjU21hcnRQYWdpbmF0aW9uJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1BhZ2VJdGVtRGlyZWN0aXZlLCBQYWdlTGlua0RpcmVjdGl2ZSwgTmdDbGFzc11cbn0pXG5leHBvcnQgY2xhc3MgU21hcnRQYWdpbmF0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgSVNtYXJ0UGFnaW5hdGlvbiB7XG5cbiAgLyoqXG4gICAqIEN1cnJlbnQgcGFnZSBudW1iZXIuIFtkb2NzXVxuICAgKiBAZGVmYXVsdCAxXG4gICAqIEB0eXBlIG51bWJlclxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSkgYWN0aXZlUGFnZTogbnVtYmVyID0gMTtcblxuICAvKipcbiAgICogRXZlbnQgdHJpZ2dlcmVkIG9uIGFjdGl2ZVBhZ2UgY2hhbmdlLlxuICAgKiBAdHlwZSBFdmVudEVtaXR0ZXI8bnVtYmVyPlxuICAgKi9cbiAgQE91dHB1dCgpIGFjdGl2ZVBhZ2VDaGFuZ2U6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgLyoqXG4gICAqIFNob3cvaGlkZSBhcnJvd3NcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqL1xuICBASW5wdXQoKSBhcnJvd3M6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBTaG93IGRvdWJsZSBhcnJvd3MgYnV0dG9uc1xuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICovXG4gIEBJbnB1dCgpIGRvdWJsZUFycm93czogYm9vbGVhbiA9IHRydWU7XG5cbiAgLyoqXG4gICAqIFNob3cvaGlkZSBkb3RzLiBbZG9jc11cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KCkgZG90czogYm9vbGVhbiA9IHRydWU7XG5cbiAgLyoqXG4gICAqIE1heGltdW0gaXRlbXMgbnVtYmVyLiBbZG9jc11cbiAgICogQGRlZmF1bHQgNVxuICAgKiBAdHlwZSBudW1iZXJcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pXG4gIHNldCBsaW1pdCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fbGltaXQgPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCBsaW1pdCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9saW1pdDtcbiAgfVxuXG4gIHByaXZhdGUgX2xpbWl0OiBudW1iZXIgPSA1O1xuXG4gIC8qKlxuICAgKiBOdW1iZXIgb2YgcGFnZXMuIFtkb2NzXVxuICAgKiBAdHlwZSBudW1iZXJcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pXG4gIHNldCBwYWdlcyh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fcGFnZXMgPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCBwYWdlcygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9wYWdlcztcbiAgfVxuXG4gIHByaXZhdGUgX3BhZ2VzOiBudW1iZXIgPSAxO1xuXG4gIC8qKlxuICAgKiBUaGUgY29udGVudCBvZiAnZmlyc3RCdXR0b24nIGJ1dHRvbi4gW2RvY3NdXG4gICAqIEBkZWZhdWx0ICcmbGFxdW8nXG4gICAqIHRvZG8gVGVtcGxhdGVSZWZcbiAgICovXG4gIEBJbnB1dCgpIGZpcnN0QnV0dG9uPzogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55PiA9ICfCqyc7XG4gIC8vIGZpcnN0QnV0dG9uPzogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55PiA9ICcmbGFxdW87J1xuXG4gIC8qKlxuICAgKiBUaGUgY29udGVudCBvZiAnbGFzdEJ1dHRvbicgYnV0dG9uLiBbZG9jc11cbiAgICogQGRlZmF1bHQgJyZyYXF1bydcbiAgICogdG9kbyBUZW1wbGF0ZVJlZlxuICAgKi9cbiAgQElucHV0KCkgbGFzdEJ1dHRvbj86IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT4gPSAnwrsnO1xuICAvLyBsYXN0QnV0dG9uPzogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55PiA9ICcmcmFxdW87J1xuXG4gIC8qKlxuICAgKiBUaGUgY29udGVudCBvZiAnbmV4dEJ1dHRvbicgYnV0dG9uLiBbZG9jc11cbiAgICogQGRlZmF1bHQgJyZsc2FxdW8nXG4gICAqIHRvZG8gVGVtcGxhdGVSZWZcbiAgICovXG4gIEBJbnB1dCgpIG5leHRCdXR0b24/OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+ID0gJ+KAuic7XG5cbiAgLyoqXG4gICAqIFRoZSBjb250ZW50IG9mICdwcmV2aW91c0J1dHRvbicgYnV0dG9uLiBbZG9jc11cbiAgICogQGRlZmF1bHQgJyZyc2FxdW8nXG4gICAqIHRvZG8gVGVtcGxhdGVSZWZcbiAgICovXG4gIEBJbnB1dCgpIHByZXZpb3VzQnV0dG9uPzogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55PiA9ICfigLknO1xuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGFsaWdubWVudCBvZiBwYWdpbmF0aW9uIGNvbXBvbmVudHMuXG4gICAqIEB2YWx1ZXMgJ3N0YXJ0JywgJ2NlbnRlcicsICdlbmQnXG4gICAqL1xuICBASW5wdXQoKSBhbGlnbj86ICdzdGFydCcgfCAnY2VudGVyJyB8ICdlbmQnIHwgJycgPSAnc3RhcnQnO1xuXG4gIC8qKlxuICAgKiBTaXplIHRoZSBjb21wb25lbnQgc21hbGwgb3IgbGFyZ2UuXG4gICAqIEB2YWx1ZXMgJ3NtJywgJ2xnJ1xuICAgKi9cbiAgQElucHV0KCkgc2l6ZT86ICdzbScgfCAnbGcnO1xuXG4gIC8qKlxuICAgKiBEZWZhdWx0IHJvbGUgZm9yIHBhZ2luYXRpb24uIFtkb2NzXVxuICAgKiBAdHlwZSBzdHJpbmdcbiAgICogQGRlZmF1bHQgJ25hdmlnYXRpb24nXG4gICAqL1xuICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpXG4gIEBJbnB1dCgpIHJvbGUgPSAnbmF2aWdhdGlvbic7XG5cbiAgZ2V0IHBhZ2luYXRpb25DbGFzcygpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICBwYWdpbmF0aW9uOiB0cnVlLFxuICAgICAgW2BwYWdpbmF0aW9uLSR7dGhpcy5zaXplfWBdOiAhIXRoaXMuc2l6ZSxcbiAgICAgIFtganVzdGlmeS1jb250ZW50LSR7dGhpcy5hbGlnbn1gXTogISF0aGlzLmFsaWduXG4gICAgfTtcbiAgfVxuXG4gIGdldCBtYXhQcmV2SXRlbXMoKSB7XG4gICAgcmV0dXJuIE1hdGguZmxvb3IoKHRoaXMuX2xpbWl0IC0gMSkgLyAyKTtcbiAgfVxuXG4gIGdldCBtYXhOZXh0SXRlbXMoKSB7XG4gICAgcmV0dXJuIE1hdGguY2VpbCgodGhpcy5fbGltaXQgLSAxKSAvIDIpO1xuICB9XG5cbiAgZ2V0IHJhbmdlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZlUGFnZSArIHRoaXMubWF4TmV4dEl0ZW1zO1xuICB9XG5cbiAgZ2V0IGxhc3RJdGVtKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMucmFuZ2UgPj0gdGhpcy5fcGFnZXMgPyB0aGlzLl9wYWdlcyA6IHRoaXMucmFuZ2UgLSAodGhpcy5hZnRlckRvdHMgPyAxIDogMCk7XG4gIH1cblxuICBnZXQgY29tcHV0ZWRMaW1pdCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9saW1pdCAtICh0aGlzLmFmdGVyRG90cyA/IDEgOiAwKSAtICh0aGlzLmJlZm9yZURvdHMgPyAxIDogMCk7XG4gIH1cblxuICBnZXQgaXRlbXNMaW1pdCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9wYWdlcyA8IHRoaXMuY29tcHV0ZWRMaW1pdCA/IHRoaXMuX3BhZ2VzIDogdGhpcy5jb21wdXRlZExpbWl0O1xuICB9XG5cbiAgZ2V0IHNob3dEb3RzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRvdHMgJiYgdGhpcy5fbGltaXQgPiA0ICYmIHRoaXMuX2xpbWl0IDwgdGhpcy5fcGFnZXM7XG4gIH1cblxuICBnZXQgYmVmb3JlRG90cygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zaG93RG90cyAmJiB0aGlzLmFjdGl2ZVBhZ2UgPiB0aGlzLm1heFByZXZJdGVtcyArIDE7XG4gIH1cblxuICBnZXQgYWZ0ZXJEb3RzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNob3dEb3RzICYmIHRoaXMuYWN0aXZlUGFnZSA8IHRoaXMuX3BhZ2VzIC0gdGhpcy5tYXhOZXh0SXRlbXM7XG4gIH1cblxuICBnZXQgaXRlbXMoKSB7XG4gICAgaWYgKHRoaXMuYWN0aXZlUGFnZSAtIHRoaXMubWF4UHJldkl0ZW1zIDw9IDEpIHtcbiAgICAgIHJldHVybiBBcnJheS5mcm9tKFxuICAgICAgICB7XG4gICAgICAgICAgbGVuZ3RoOiB0aGlzLml0ZW1zTGltaXRcbiAgICAgICAgfSxcbiAgICAgICAgKF9pdGVtLCBpKSA9PiBpICsgMVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIEFycmF5LmZyb20oXG4gICAgICAgIHtcbiAgICAgICAgICBsZW5ndGg6IHRoaXMuaXRlbXNMaW1pdFxuICAgICAgICB9LFxuICAgICAgICAoX2l0ZW0sIGkpID0+IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5sYXN0SXRlbSAtIGk7XG4gICAgICAgIH1cbiAgICAgICkucmV2ZXJzZSgpO1xuICAgIH1cbiAgfVxuXG4gIHNldFBhZ2UocGFnZTogbnVtYmVyKSB7XG4gICAgaWYgKHBhZ2UgIT09IHRoaXMuYWN0aXZlUGFnZSkge1xuICAgICAgdGhpcy5hY3RpdmVQYWdlID0gcGFnZTtcbiAgICAgIHRoaXMuYWN0aXZlUGFnZUNoYW5nZS5lbWl0KHBhZ2UpO1xuICAgIH1cbiAgfVxufVxuIiwiPHVsIFtuZ0NsYXNzXT1cInBhZ2luYXRpb25DbGFzc1wiPlxuICBAaWYgKGRvdWJsZUFycm93cykge1xuICAgIDxsaSBjUGFnZUl0ZW0+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIChjbGljayk9XCJzZXRQYWdlKDEpXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImFjdGl2ZVBhZ2UgPT09IDFcIlxuICAgICAgICBhcmlhLWxhYmVsPVwiRmlyc3QgcGFnZVwiXG4gICAgICAgIGNQYWdlTGlua1xuICAgICAgPlxuICAgICAgICA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIj57eyBmaXJzdEJ1dHRvbiB9fTwvc3Bhbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbGk+XG4gIH1cbiAgQGlmIChhcnJvd3MpIHtcbiAgICA8bGkgY1BhZ2VJdGVtPlxuICAgICAgPGJ1dHRvblxuICAgICAgICAoY2xpY2spPVwic2V0UGFnZShhY3RpdmVQYWdlIC0gMSlcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiYWN0aXZlUGFnZSA9PT0gMVwiXG4gICAgICAgIGFyaWEtbGFiZWw9XCJQcmV2aW91cyBwYWdlXCJcbiAgICAgICAgY1BhZ2VMaW5rXG4gICAgICA+XG4gICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPnt7IHByZXZpb3VzQnV0dG9uIH19PC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9saT5cbiAgfVxuICBAaWYgKGJlZm9yZURvdHMpIHtcbiAgICA8bGkgY1BhZ2VJdGVtPlxuICAgICAgPGEgY1BhZ2VMaW5rIGRpc2FibGVkIHJvbGU9XCJzZXBhcmF0b3JcIj5cbiAgICAgICAgLi4uXG4gICAgICA8L2E+XG4gICAgPC9saT5cbiAgfVxuICBAZm9yIChpdGVtIG9mIGl0ZW1zOyB0cmFjayBpdGVtOyBsZXQgaSA9ICRpbmRleCkge1xuICAgIDxsaSBbYWN0aXZlXT1cImFjdGl2ZVBhZ2UgPT09IGl0ZW1cIiBjUGFnZUl0ZW0+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIChjbGljayk9XCJzZXRQYWdlKGl0ZW0pXCJcbiAgICAgICAgW3RpdGxlXT1cIihhY3RpdmVQYWdlID09PSBpdGVtID8gJ0N1cnJlbnQgcGFnZSAnIDogJ0dvIHRvIHBhZ2UgJykgKyAoaXRlbSkudG9TdHJpbmcoKVwiXG4gICAgICAgIGNQYWdlTGlua1xuICAgICAgPlxuICAgICAgICB7eyBpdGVtIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2xpPlxuICB9XG4gIEBpZiAoYWZ0ZXJEb3RzKSB7XG4gICAgPGxpIGNQYWdlSXRlbT5cbiAgICAgIDxhIGNQYWdlTGluayBkaXNhYmxlZCByb2xlPVwic2VwYXJhdG9yXCI+XG4gICAgICAgIC4uLlxuICAgICAgPC9hPlxuICAgIDwvbGk+XG4gIH1cbiAgQGlmIChhcnJvd3MpIHtcbiAgICA8bGkgY1BhZ2VJdGVtPlxuICAgICAgPGJ1dHRvblxuICAgICAgICAoY2xpY2spPVwic2V0UGFnZShhY3RpdmVQYWdlICsgMSlcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiYWN0aXZlUGFnZSA9PT0gcGFnZXNcIlxuICAgICAgICBhcmlhLWxhYmVsPVwiTmV4dCBwYWdlXCJcbiAgICAgICAgY1BhZ2VMaW5rXG4gICAgICA+XG4gICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPnt7IG5leHRCdXR0b24gfX08L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2xpPlxuICB9XG4gIEBpZiAoZG91YmxlQXJyb3dzKSB7XG4gICAgPGxpIGNQYWdlSXRlbT5cbiAgICAgIDxidXR0b25cbiAgICAgICAgKGNsaWNrKT1cInNldFBhZ2UocGFnZXMpXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImFjdGl2ZVBhZ2UgPT09IHBhZ2VzXCJcbiAgICAgICAgYXJpYS1sYWJlbD1cIkxhc3QgcGFnZVwiXG4gICAgICAgIGNQYWdlTGlua1xuICAgICAgPlxuICAgICAgICA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIj57eyBsYXN0QnV0dG9uIH19PC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9saT5cbiAgfVxuPC91bD5cbiJdfQ==
@@ -2,11 +2,11 @@ import { NgModule } from '@angular/core';
2
2
  import { SmartPaginationComponent } from './smart-pagination.component';
3
3
  import * as i0 from "@angular/core";
4
4
  export class SmartPaginationModule {
5
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SmartPaginationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.0", ngImport: i0, type: SmartPaginationModule, imports: [SmartPaginationComponent], exports: [SmartPaginationComponent] }); }
7
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SmartPaginationModule }); }
5
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: SmartPaginationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.9", ngImport: i0, type: SmartPaginationModule, imports: [SmartPaginationComponent], exports: [SmartPaginationComponent] }); }
7
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: SmartPaginationModule }); }
8
8
  }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SmartPaginationModule, decorators: [{
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: SmartPaginationModule, decorators: [{
10
10
  type: NgModule,
11
11
  args: [{
12
12
  exports: [SmartPaginationComponent],