@mintplayer/ng-bootstrap 13.3.6 → 13.3.10

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 (190) hide show
  1. package/_bootstrap.scss +1 -0
  2. package/esm2020/lib/components/accordion/accordion/accordion.component.mjs +18 -5
  3. package/esm2020/lib/components/accordion/accordion-tab/accordion-tab.component.mjs +9 -6
  4. package/esm2020/lib/components/accordion/accordion-tab-header/accordion-tab-header.component.mjs +3 -3
  5. package/esm2020/lib/components/accordion/accordion.module.mjs +4 -4
  6. package/esm2020/lib/components/alert/alert/alert.component.mjs +3 -3
  7. package/esm2020/lib/components/alert/alert-close/alert-close.component.mjs +3 -3
  8. package/esm2020/lib/components/alert/alert.module.mjs +4 -4
  9. package/esm2020/lib/components/calendar/calendar.component.mjs +6 -6
  10. package/esm2020/lib/components/calendar/calendar.module.mjs +4 -4
  11. package/esm2020/lib/components/card/card/card.component.mjs +3 -3
  12. package/esm2020/lib/components/card/card-header/card-header.component.mjs +3 -3
  13. package/esm2020/lib/components/card/card.module.mjs +4 -4
  14. package/esm2020/lib/components/carousel/carousel/carousel.component.mjs +3 -3
  15. package/esm2020/lib/components/carousel/carousel-image/carousel-image.directive.mjs +3 -3
  16. package/esm2020/lib/components/carousel/carousel.module.mjs +4 -4
  17. package/esm2020/lib/components/code-snippet/code-snippet.component.mjs +3 -3
  18. package/esm2020/lib/components/code-snippet/code-snippet.module.mjs +4 -4
  19. package/esm2020/lib/components/context-menu/context-menu.directive.mjs +3 -3
  20. package/esm2020/lib/components/context-menu/context-menu.module.mjs +4 -4
  21. package/esm2020/lib/components/copy/copy.directive.mjs +3 -3
  22. package/esm2020/lib/components/copy/copy.module.mjs +4 -4
  23. package/esm2020/lib/components/datatable/datatable/datatable.component.mjs +3 -3
  24. package/esm2020/lib/components/datatable/datatable-column/datatable-column.directive.mjs +3 -3
  25. package/esm2020/lib/components/datatable/datatable.module.mjs +4 -4
  26. package/esm2020/lib/components/datatable/row-template/row-template.directive.mjs +3 -3
  27. package/esm2020/lib/components/datepicker/datepicker.component.mjs +3 -3
  28. package/esm2020/lib/components/datepicker/datepicker.module.mjs +4 -4
  29. package/esm2020/lib/components/dropdown/dropdown/dropdown.directive.mjs +3 -3
  30. package/esm2020/lib/components/dropdown/dropdown-menu/dropdown-menu.directive.mjs +3 -3
  31. package/esm2020/lib/components/dropdown/dropdown-toggle/dropdown-toggle.directive.mjs +3 -3
  32. package/esm2020/lib/components/dropdown/dropdown.module.mjs +4 -4
  33. package/esm2020/lib/components/file-upload/component/file-upload.component.mjs +3 -3
  34. package/esm2020/lib/components/file-upload/directive/file-upload-template.directive.mjs +3 -3
  35. package/esm2020/lib/components/file-upload/file-upload.module.mjs +4 -4
  36. package/esm2020/lib/components/for/for.directive.mjs +3 -3
  37. package/esm2020/lib/components/for/for.module.mjs +4 -4
  38. package/esm2020/lib/components/index.mjs +2 -1
  39. package/esm2020/lib/components/list-group/list-group/list-group.component.mjs +3 -3
  40. package/esm2020/lib/components/list-group/list-group-item/list-group-item.component.mjs +3 -3
  41. package/esm2020/lib/components/list-group/list-group.module.mjs +4 -4
  42. package/esm2020/lib/components/modal/component/modal/modal.component.mjs +3 -3
  43. package/esm2020/lib/components/modal/component/modal-content/modal-content.component.mjs +3 -3
  44. package/esm2020/lib/components/modal/directives/modal-body/modal-body.directive.mjs +3 -3
  45. package/esm2020/lib/components/modal/directives/modal-footer/modal-footer.directive.mjs +3 -3
  46. package/esm2020/lib/components/modal/directives/modal-header/modal-header.directive.mjs +3 -3
  47. package/esm2020/lib/components/modal/modal.module.mjs +4 -4
  48. package/esm2020/lib/components/modal/service/modal.service.mjs +3 -3
  49. package/esm2020/lib/components/multiselect/component/multiselect.component.mjs +3 -3
  50. package/esm2020/lib/components/multiselect/directives/button-template/button-template.directive.mjs +3 -3
  51. package/esm2020/lib/components/multiselect/directives/footer-template/footer-template.directive.mjs +3 -3
  52. package/esm2020/lib/components/multiselect/directives/header-template/header-template.directive.mjs +3 -3
  53. package/esm2020/lib/components/multiselect/multiselect.module.mjs +4 -4
  54. package/esm2020/lib/components/navbar/dropdown-toggle/dropdown-toggle.directive.mjs +3 -3
  55. package/esm2020/lib/components/navbar/expand-button/expand-button.directive.mjs +3 -3
  56. package/esm2020/lib/components/navbar/nav-link/nav-link.directive.mjs +3 -3
  57. package/esm2020/lib/components/navbar/navbar/navbar.component.mjs +3 -3
  58. package/esm2020/lib/components/navbar/navbar-brand/navbar-brand.component.mjs +3 -3
  59. package/esm2020/lib/components/navbar/navbar-content/navbar-content.directive.mjs +3 -3
  60. package/esm2020/lib/components/navbar/navbar-dropdown/navbar-dropdown.component.mjs +3 -3
  61. package/esm2020/lib/components/navbar/navbar-item/navbar-item.component.mjs +3 -3
  62. package/esm2020/lib/components/navbar/navbar-nav/navbar-nav.component.mjs +3 -3
  63. package/esm2020/lib/components/navbar/navbar-toggler/navbar-toggler.component.mjs +3 -3
  64. package/esm2020/lib/components/navbar/navbar.module.mjs +4 -4
  65. package/esm2020/lib/components/offcanvas/components/index.mjs +4 -0
  66. package/esm2020/lib/components/offcanvas/components/offcanvas/offcanvas.component.mjs +57 -0
  67. package/esm2020/lib/components/offcanvas/components/offcanvas-body/offcanvas-body.component.mjs +14 -0
  68. package/esm2020/lib/components/offcanvas/components/offcanvas-header/offcanvas-header.component.mjs +14 -0
  69. package/esm2020/lib/components/offcanvas/directives/index.mjs +2 -0
  70. package/esm2020/lib/components/offcanvas/directives/offcanvas-close/offcanvas-close.directive.mjs +27 -0
  71. package/esm2020/lib/components/offcanvas/index.mjs +7 -0
  72. package/esm2020/lib/components/offcanvas/interfaces/index.mjs +2 -0
  73. package/esm2020/lib/components/offcanvas/interfaces/offcanvas-animation-meta.mjs +2 -0
  74. package/esm2020/lib/components/offcanvas/offcanvas.module.mjs +45 -0
  75. package/esm2020/lib/components/offcanvas/providers/offcanvas-content.provider.mjs +3 -0
  76. package/esm2020/lib/components/offcanvas/services/index.mjs +2 -0
  77. package/esm2020/lib/components/offcanvas/services/offcanvas/offcanvas.service.mjs +72 -0
  78. package/esm2020/lib/components/offcanvas/types/index.mjs +2 -0
  79. package/esm2020/lib/components/offcanvas/types/position.mjs +2 -0
  80. package/esm2020/lib/components/pagination/pagination/pagination.component.mjs +3 -3
  81. package/esm2020/lib/components/pagination/pagination.module.mjs +4 -4
  82. package/esm2020/lib/components/progress-bar/progress/progress.component.mjs +3 -3
  83. package/esm2020/lib/components/progress-bar/progress-bar/progress-bar.component.mjs +3 -3
  84. package/esm2020/lib/components/progress-bar/progress-bar.module.mjs +4 -4
  85. package/esm2020/lib/components/rating/rating.component.mjs +3 -3
  86. package/esm2020/lib/components/rating/rating.module.mjs +4 -4
  87. package/esm2020/lib/components/scheduler/components/index.mjs +2 -1
  88. package/esm2020/lib/components/scheduler/components/resource-group-presenter/resource-group-presenter.component.mjs +84 -0
  89. package/esm2020/lib/components/scheduler/components/scheduler/scheduler.component.mjs +199 -74
  90. package/esm2020/lib/components/scheduler/constants/available-scales.mjs +12 -0
  91. package/esm2020/lib/components/scheduler/constants/index.mjs +2 -0
  92. package/esm2020/lib/components/scheduler/enums/index.mjs +2 -0
  93. package/esm2020/lib/components/scheduler/enums/scheduler-mode.mjs +6 -0
  94. package/esm2020/lib/components/scheduler/index.mjs +4 -1
  95. package/esm2020/lib/components/scheduler/interfaces/index.mjs +6 -0
  96. package/esm2020/lib/components/scheduler/interfaces/resource-group.mjs +2 -0
  97. package/esm2020/lib/components/scheduler/interfaces/resource-or-group.mjs +2 -0
  98. package/esm2020/lib/components/scheduler/interfaces/resource.mjs +2 -0
  99. package/esm2020/lib/components/scheduler/interfaces/scheduler-schale.mjs +2 -0
  100. package/esm2020/lib/components/scheduler/interfaces/scheduler-stamp-with-slots.mjs +2 -0
  101. package/esm2020/lib/components/scheduler/interfaces/timeline-options.mjs +2 -0
  102. package/esm2020/lib/components/scheduler/interfaces/week-options.mjs +2 -0
  103. package/esm2020/lib/components/scheduler/pipes/bs-seconds-timespan.pipe/bs-seconds-timespan.pipe.mjs +3 -3
  104. package/esm2020/lib/components/scheduler/pipes/bs-seconds-today-offset/bs-seconds-today-offset.pipe.mjs +3 -3
  105. package/esm2020/lib/components/scheduler/pipes/date-offset/date-offset.pipe.mjs +3 -3
  106. package/esm2020/lib/components/scheduler/pipes/day-of-week/day-of-week.pipe.mjs +3 -3
  107. package/esm2020/lib/components/scheduler/scheduler.module.mjs +13 -8
  108. package/esm2020/lib/components/scheduler/services/timeline/timeline.service.mjs +3 -3
  109. package/esm2020/lib/components/scrollspy/component/scrollspy.component.mjs +3 -3
  110. package/esm2020/lib/components/scrollspy/directives/scrollspy.directive.mjs +3 -3
  111. package/esm2020/lib/components/scrollspy/scrollspy.module.mjs +4 -4
  112. package/esm2020/lib/components/select2/component/select2.component.mjs +3 -3
  113. package/esm2020/lib/components/select2/directive/item-template.directive.mjs +3 -3
  114. package/esm2020/lib/components/select2/select2.module.mjs +4 -4
  115. package/esm2020/lib/components/snackbar/component/snackbar.component.mjs +3 -3
  116. package/esm2020/lib/components/snackbar/directives/snackbar-close/snackbar-close.directive.mjs +3 -3
  117. package/esm2020/lib/components/snackbar/service/snackbar.service.mjs +8 -9
  118. package/esm2020/lib/components/snackbar/snackbar.module.mjs +5 -12
  119. package/esm2020/lib/components/tab-control/tab-control/tab-control.component.mjs +3 -3
  120. package/esm2020/lib/components/tab-control/tab-control.module.mjs +4 -4
  121. package/esm2020/lib/components/tab-control/tab-page/tab-page.component.mjs +3 -3
  122. package/esm2020/lib/components/timepicker/timepicker.component.mjs +3 -3
  123. package/esm2020/lib/components/timepicker/timepicker.module.mjs +4 -4
  124. package/esm2020/lib/components/toggle-button/toggle-button.component.mjs +3 -3
  125. package/esm2020/lib/components/toggle-button/toggle-button.module.mjs +4 -4
  126. package/esm2020/lib/components/tooltip/component/tooltip.component.mjs +3 -3
  127. package/esm2020/lib/components/tooltip/directive/tooltip.directive.mjs +3 -3
  128. package/esm2020/lib/components/tooltip/tooltip.module.mjs +4 -4
  129. package/esm2020/lib/components/typeahead/typeahead.component.mjs +3 -3
  130. package/esm2020/lib/components/typeahead/typeahead.module.mjs +4 -4
  131. package/esm2020/lib/directives/enhanced-paste/enhanced-paste.directive.mjs +3 -3
  132. package/esm2020/lib/directives/enhanced-paste/enhanced-paste.module.mjs +4 -4
  133. package/esm2020/lib/pipes/font-color/font-color.module.mjs +4 -4
  134. package/esm2020/lib/pipes/font-color/font-color.pipe.mjs +3 -3
  135. package/esm2020/lib/pipes/format-bytes/format-bytes.module.mjs +4 -4
  136. package/esm2020/lib/pipes/format-bytes/format-bytes.pipe.mjs +3 -3
  137. package/esm2020/lib/pipes/in-list/in-list.module.mjs +4 -4
  138. package/esm2020/lib/pipes/in-list/in-list.pipe.mjs +3 -3
  139. package/esm2020/lib/pipes/month-name/month-name.module.mjs +4 -4
  140. package/esm2020/lib/pipes/month-name/month-name.pipe.mjs +3 -3
  141. package/esm2020/lib/pipes/uc-first/uc-first.module.mjs +4 -4
  142. package/esm2020/lib/pipes/uc-first/uc-first.pipe.mjs +3 -3
  143. package/esm2020/lib/pipes/weekday-name/weekday-name.module.mjs +4 -4
  144. package/esm2020/lib/pipes/weekday-name/weekday-name.pipe.mjs +3 -3
  145. package/esm2020/lib/services/calendar-month/calendar-month.service.mjs +3 -3
  146. package/esm2020/lib/services/scroll-offset/scroll-offset.service.mjs +3 -3
  147. package/fesm2015/mintplayer-ng-bootstrap.mjs +900 -464
  148. package/fesm2015/mintplayer-ng-bootstrap.mjs.map +1 -1
  149. package/fesm2020/mintplayer-ng-bootstrap.mjs +898 -464
  150. package/fesm2020/mintplayer-ng-bootstrap.mjs.map +1 -1
  151. package/lib/components/accordion/accordion/accordion.component.d.ts +3 -1
  152. package/lib/components/accordion/accordion-tab/accordion-tab.component.d.ts +3 -1
  153. package/lib/components/calendar/calendar.component.d.ts +1 -1
  154. package/lib/components/index.d.ts +1 -0
  155. package/lib/components/offcanvas/components/index.d.ts +3 -0
  156. package/lib/components/offcanvas/components/offcanvas/offcanvas.component.d.ts +21 -0
  157. package/lib/components/offcanvas/components/offcanvas-body/offcanvas-body.component.d.ts +8 -0
  158. package/lib/components/offcanvas/components/offcanvas-header/offcanvas-header.component.d.ts +8 -0
  159. package/lib/components/offcanvas/directives/index.d.ts +1 -0
  160. package/lib/components/offcanvas/directives/offcanvas-close/offcanvas-close.directive.d.ts +11 -0
  161. package/lib/components/offcanvas/index.d.ts +6 -0
  162. package/lib/components/offcanvas/interfaces/index.d.ts +1 -0
  163. package/lib/components/offcanvas/interfaces/offcanvas-animation-meta.d.ts +7 -0
  164. package/lib/components/offcanvas/offcanvas.module.d.ts +12 -0
  165. package/lib/components/offcanvas/providers/offcanvas-content.provider.d.ts +2 -0
  166. package/lib/components/offcanvas/services/index.d.ts +1 -0
  167. package/lib/components/offcanvas/services/offcanvas/offcanvas.service.d.ts +13 -0
  168. package/lib/components/offcanvas/types/index.d.ts +1 -0
  169. package/lib/components/offcanvas/types/position.d.ts +1 -0
  170. package/lib/components/scheduler/components/index.d.ts +1 -0
  171. package/lib/components/scheduler/components/resource-group-presenter/resource-group-presenter.component.d.ts +26 -0
  172. package/lib/components/scheduler/components/scheduler/scheduler.component.d.ts +32 -11
  173. package/lib/components/scheduler/constants/available-scales.d.ts +2 -0
  174. package/lib/components/scheduler/constants/index.d.ts +1 -0
  175. package/lib/components/scheduler/enums/index.d.ts +1 -0
  176. package/lib/components/scheduler/enums/scheduler-mode.d.ts +4 -0
  177. package/lib/components/scheduler/index.d.ts +3 -0
  178. package/lib/components/scheduler/interfaces/index.d.ts +5 -0
  179. package/lib/components/scheduler/interfaces/resource-group.d.ts +5 -0
  180. package/lib/components/scheduler/interfaces/resource-or-group.d.ts +6 -0
  181. package/lib/components/scheduler/interfaces/resource.d.ts +5 -0
  182. package/lib/components/scheduler/interfaces/scheduler-schale.d.ts +5 -0
  183. package/lib/components/scheduler/interfaces/scheduler-stamp-with-slots.d.ts +6 -0
  184. package/lib/components/scheduler/interfaces/timeline-options.d.ts +3 -0
  185. package/lib/components/scheduler/interfaces/week-options.d.ts +3 -0
  186. package/lib/components/scheduler/scheduler.module.d.ts +3 -2
  187. package/lib/components/snackbar/service/snackbar.service.d.ts +2 -3
  188. package/package.json +1 -1
  189. package/src/styles/custom.scss +4 -0
  190. package/src/styles/utilities/overflow.scss +10 -0
@@ -0,0 +1,2 @@
1
+ export * from './position';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NyYy9saWIvY29tcG9uZW50cy9vZmZjYW52YXMvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3Bvc2l0aW9uJzsiXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zaXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NyYy9saWIvY29tcG9uZW50cy9vZmZjYW52YXMvdHlwZXMvcG9zaXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIE9mZmNhbnZhc1Bvc2l0aW9uID0gJ3RvcCcgfCAnYm90dG9tJyB8ICdzdGFydCcgfCAnZW5kJzsiXX0=
@@ -144,9 +144,9 @@ export class BsPaginationComponent {
144
144
  return false;
145
145
  }
146
146
  }
147
- BsPaginationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: BsPaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
148
- BsPaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: BsPaginationComponent, selector: "bs-pagination", inputs: { selectedPageNumber: "selectedPageNumber", numberOfBoxes: "numberOfBoxes", pageNumbers: "pageNumbers", showArrows: "showArrows" }, outputs: { selectedPageNumberChange: "selectedPageNumberChange" }, ngImport: i0, template: "<ul class=\"pagination\">\n <li class=\"page-item\" *ngIf=\"showArrows$ | async\" [class.disabled]=\"isFirstPage$ | async\">\n <a class=\"page-link\" href=\"\" (click)=\"onPrevious()\" aria-label=\"Previous\">\n <span aria-hidden=\"true\">&laquo;</span>\n <span class=\"visually-hidden\">Previous</span>\n </a>\n </li>\n <li *ngFor=\"let pageNumber of (shownPageNumbers$ | async)\" class=\"page-item\"\n [ngClass]=\"{ 'active': pageNumber.selected }\">\n <a class=\"page-link\" href=\"\" (click)=\"onSelectPage($event, pageNumber.page)\" *ngIf=\"pageNumber.page != '...'\">\n {{ pageNumber.page }}\n <span class=\"visually-hidden\" *ngIf=\"pageNumber.selected\">(current)</span>\n </a>\n </li>\n <li class=\"page-item\" *ngIf=\"showArrows$ | async\" [class.disabled]=\"isLastPage$ | async\">\n <a class=\"page-link\" href=\"\" (click)=\"onNext()\" aria-label=\"Next\">\n <span aria-hidden=\"true\">&raquo;</span>\n <span class=\"visually-hidden\">Next</span>\n </a>\n </li>\n</ul>", styles: [":host{display:inline-block}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "async": i1.AsyncPipe } });
149
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: BsPaginationComponent, decorators: [{
147
+ BsPaginationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsPaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
148
+ BsPaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: BsPaginationComponent, selector: "bs-pagination", inputs: { selectedPageNumber: "selectedPageNumber", numberOfBoxes: "numberOfBoxes", pageNumbers: "pageNumbers", showArrows: "showArrows" }, outputs: { selectedPageNumberChange: "selectedPageNumberChange" }, ngImport: i0, template: "<ul class=\"pagination\">\n <li class=\"page-item\" *ngIf=\"showArrows$ | async\" [class.disabled]=\"isFirstPage$ | async\">\n <a class=\"page-link\" href=\"\" (click)=\"onPrevious()\" aria-label=\"Previous\">\n <span aria-hidden=\"true\">&laquo;</span>\n <span class=\"visually-hidden\">Previous</span>\n </a>\n </li>\n <li *ngFor=\"let pageNumber of (shownPageNumbers$ | async)\" class=\"page-item\"\n [ngClass]=\"{ 'active': pageNumber.selected }\">\n <a class=\"page-link\" href=\"\" (click)=\"onSelectPage($event, pageNumber.page)\" *ngIf=\"pageNumber.page != '...'\">\n {{ pageNumber.page }}\n <span class=\"visually-hidden\" *ngIf=\"pageNumber.selected\">(current)</span>\n </a>\n </li>\n <li class=\"page-item\" *ngIf=\"showArrows$ | async\" [class.disabled]=\"isLastPage$ | async\">\n <a class=\"page-link\" href=\"\" (click)=\"onNext()\" aria-label=\"Next\">\n <span aria-hidden=\"true\">&raquo;</span>\n <span class=\"visually-hidden\">Next</span>\n </a>\n </li>\n</ul>", styles: [":host{display:inline-block}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "async": i1.AsyncPipe } });
149
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsPaginationComponent, decorators: [{
150
150
  type: Component,
151
151
  args: [{ selector: 'bs-pagination', template: "<ul class=\"pagination\">\n <li class=\"page-item\" *ngIf=\"showArrows$ | async\" [class.disabled]=\"isFirstPage$ | async\">\n <a class=\"page-link\" href=\"\" (click)=\"onPrevious()\" aria-label=\"Previous\">\n <span aria-hidden=\"true\">&laquo;</span>\n <span class=\"visually-hidden\">Previous</span>\n </a>\n </li>\n <li *ngFor=\"let pageNumber of (shownPageNumbers$ | async)\" class=\"page-item\"\n [ngClass]=\"{ 'active': pageNumber.selected }\">\n <a class=\"page-link\" href=\"\" (click)=\"onSelectPage($event, pageNumber.page)\" *ngIf=\"pageNumber.page != '...'\">\n {{ pageNumber.page }}\n <span class=\"visually-hidden\" *ngIf=\"pageNumber.selected\">(current)</span>\n </a>\n </li>\n <li class=\"page-item\" *ngIf=\"showArrows$ | async\" [class.disabled]=\"isLastPage$ | async\">\n <a class=\"page-link\" href=\"\" (click)=\"onNext()\" aria-label=\"Next\">\n <span aria-hidden=\"true\">&raquo;</span>\n <span class=\"visually-hidden\">Next</span>\n </a>\n </li>\n</ul>", styles: [":host{display:inline-block}\n"] }]
152
152
  }], ctorParameters: function () { return []; }, propDecorators: { selectedPageNumberChange: [{
@@ -4,12 +4,12 @@ import { BsPaginationComponent } from './pagination/pagination.component';
4
4
  import * as i0 from "@angular/core";
5
5
  export class BsPaginationModule {
6
6
  }
7
- BsPaginationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: BsPaginationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
- BsPaginationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: BsPaginationModule, declarations: [BsPaginationComponent], imports: [CommonModule], exports: [BsPaginationComponent] });
9
- BsPaginationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: BsPaginationModule, imports: [[
7
+ BsPaginationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsPaginationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
+ BsPaginationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsPaginationModule, declarations: [BsPaginationComponent], imports: [CommonModule], exports: [BsPaginationComponent] });
9
+ BsPaginationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsPaginationModule, imports: [[
10
10
  CommonModule
11
11
  ]] });
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: BsPaginationModule, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsPaginationModule, decorators: [{
13
13
  type: NgModule,
14
14
  args: [{
15
15
  declarations: [
@@ -8,9 +8,9 @@ export class BsProgressComponent {
8
8
  this.isIndeterminate = false;
9
9
  }
10
10
  }
11
- BsProgressComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: BsProgressComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
- BsProgressComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: BsProgressComponent, selector: "bs-progress", inputs: { height: "height", isIndeterminate: "isIndeterminate" }, host: { properties: { "class.progress": "this.progressClass", "style.height.px": "this.height" } }, ngImport: i0, template: "<ng-content *ngIf=\"!isIndeterminate\"></ng-content>\n<div *ngIf=\"isIndeterminate\" class=\"progress-bar progress-bar-infinite\" role=\"progressbar\" aria-valuenow=\"infinite\"></div>", styles: ["@keyframes progress-infinite{0%{width:10%;margin-left:0%}25%{width:70%;margin-left:15%}50%{width:10%;margin-left:90%}75%{width:70%;margin-left:15%}to{width:10%;margin-left:0%}}.progress-bar-infinite{animation:progress-infinite 1.5s infinite}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: BsProgressComponent, decorators: [{
11
+ BsProgressComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsProgressComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
+ BsProgressComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: BsProgressComponent, selector: "bs-progress", inputs: { height: "height", isIndeterminate: "isIndeterminate" }, host: { properties: { "class.progress": "this.progressClass", "style.height.px": "this.height" } }, ngImport: i0, template: "<ng-content *ngIf=\"!isIndeterminate\"></ng-content>\n<div *ngIf=\"isIndeterminate\" class=\"progress-bar progress-bar-infinite\" role=\"progressbar\" aria-valuenow=\"infinite\"></div>", styles: ["@keyframes progress-infinite{0%{width:10%;margin-left:0%}25%{width:70%;margin-left:15%}50%{width:10%;margin-left:90%}75%{width:70%;margin-left:15%}to{width:10%;margin-left:0%}}.progress-bar-infinite{animation:progress-infinite 1.5s infinite}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsProgressComponent, decorators: [{
14
14
  type: Component,
15
15
  args: [{ selector: 'bs-progress', template: "<ng-content *ngIf=\"!isIndeterminate\"></ng-content>\n<div *ngIf=\"isIndeterminate\" class=\"progress-bar progress-bar-infinite\" role=\"progressbar\" aria-valuenow=\"infinite\"></div>", styles: ["@keyframes progress-infinite{0%{width:10%;margin-left:0%}25%{width:70%;margin-left:15%}50%{width:10%;margin-left:90%}75%{width:70%;margin-left:15%}to{width:10%;margin-left:0%}}.progress-bar-infinite{animation:progress-infinite 1.5s infinite}\n"] }]
16
16
  }], propDecorators: { progressClass: [{
@@ -73,9 +73,9 @@ export class BsProgressBarComponent {
73
73
  this.destroyed$.next(true);
74
74
  }
75
75
  }
76
- BsProgressBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: BsProgressBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
77
- BsProgressBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: BsProgressBarComponent, selector: "bs-progress-bar", inputs: { minimum: "minimum", maximum: "maximum", value: "value", color: "color", striped: "striped", animated: "animated" }, host: { properties: { "class.progress-bar-striped": "this.striped", "class.progress-bar-animated": "this.animated", "class.progress-bar": "this.progressBar", "class": "this.colorClass", "style.width": "this.widthStyle", "attr.role": "this.role", "attr.aria-valuenow": "this.valueNow", "attr.aria-valuemin": "this.valueMin", "attr.aria-valuemax": "this.valueMax" } }, ngImport: i0, template: "", styles: [""] });
78
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: BsProgressBarComponent, decorators: [{
76
+ BsProgressBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsProgressBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
77
+ BsProgressBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: BsProgressBarComponent, selector: "bs-progress-bar", inputs: { minimum: "minimum", maximum: "maximum", value: "value", color: "color", striped: "striped", animated: "animated" }, host: { properties: { "class.progress-bar-striped": "this.striped", "class.progress-bar-animated": "this.animated", "class.progress-bar": "this.progressBar", "class": "this.colorClass", "style.width": "this.widthStyle", "attr.role": "this.role", "attr.aria-valuenow": "this.valueNow", "attr.aria-valuemin": "this.valueMin", "attr.aria-valuemax": "this.valueMax" } }, ngImport: i0, template: "", styles: [""] });
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsProgressBarComponent, decorators: [{
79
79
  type: Component,
80
80
  args: [{ selector: 'bs-progress-bar', template: "", styles: [""] }]
81
81
  }], ctorParameters: function () { return []; }, propDecorators: { minimum: [{
@@ -5,14 +5,14 @@ import { BsProgressBarComponent } from './progress-bar/progress-bar.component';
5
5
  import * as i0 from "@angular/core";
6
6
  export class BsProgressBarModule {
7
7
  }
8
- BsProgressBarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: BsProgressBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- BsProgressBarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: BsProgressBarModule, declarations: [BsProgressBarComponent,
8
+ BsProgressBarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsProgressBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ BsProgressBarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsProgressBarModule, declarations: [BsProgressBarComponent,
10
10
  BsProgressComponent], imports: [CommonModule], exports: [BsProgressBarComponent,
11
11
  BsProgressComponent] });
12
- BsProgressBarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: BsProgressBarModule, imports: [[
12
+ BsProgressBarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsProgressBarModule, imports: [[
13
13
  CommonModule
14
14
  ]] });
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: BsProgressBarModule, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsProgressBarModule, decorators: [{
16
16
  type: NgModule,
17
17
  args: [{
18
18
  declarations: [
@@ -52,9 +52,9 @@ export class BsRatingComponent {
52
52
  this.previewValue$.next(null);
53
53
  }
54
54
  }
55
- BsRatingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: BsRatingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
56
- BsRatingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: BsRatingComponent, selector: "bs-rating", inputs: { maximum: "maximum", value: "value" }, outputs: { valueChange: "valueChange", starsChange: "starsChange" }, host: { listeners: { "mouseleave": "onMouseLeave()" } }, ngImport: i0, template: "<span class=\"cursor-pointer\" *ngFor=\"let star of (stars$ | async), let i = index\" (mouseenter)=\"hoverValue(i)\" (click)=\"selectValue(i)\">\n {{ star ? '&#9733;' : '&#9734;' }}\n</span>", styles: [""], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i1.AsyncPipe } });
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: BsRatingComponent, decorators: [{
55
+ BsRatingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsRatingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
56
+ BsRatingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: BsRatingComponent, selector: "bs-rating", inputs: { maximum: "maximum", value: "value" }, outputs: { valueChange: "valueChange", starsChange: "starsChange" }, host: { listeners: { "mouseleave": "onMouseLeave()" } }, ngImport: i0, template: "<span class=\"cursor-pointer\" *ngFor=\"let star of (stars$ | async), let i = index\" (mouseenter)=\"hoverValue(i)\" (click)=\"selectValue(i)\">\n {{ star ? '&#9733;' : '&#9734;' }}\n</span>", styles: [""], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i1.AsyncPipe } });
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsRatingComponent, decorators: [{
58
58
  type: Component,
59
59
  args: [{ selector: 'bs-rating', template: "<span class=\"cursor-pointer\" *ngFor=\"let star of (stars$ | async), let i = index\" (mouseenter)=\"hoverValue(i)\" (click)=\"selectValue(i)\">\n {{ star ? '&#9733;' : '&#9734;' }}\n</span>", styles: [""] }]
60
60
  }], ctorParameters: function () { return []; }, propDecorators: { maximum: [{
@@ -4,12 +4,12 @@ import { BsRatingComponent } from './rating.component';
4
4
  import * as i0 from "@angular/core";
5
5
  export class BsRatingModule {
6
6
  }
7
- BsRatingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: BsRatingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
- BsRatingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: BsRatingModule, declarations: [BsRatingComponent], imports: [CommonModule], exports: [BsRatingComponent] });
9
- BsRatingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: BsRatingModule, imports: [[
7
+ BsRatingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsRatingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
+ BsRatingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsRatingModule, declarations: [BsRatingComponent], imports: [CommonModule], exports: [BsRatingComponent] });
9
+ BsRatingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsRatingModule, imports: [[
10
10
  CommonModule
11
11
  ]] });
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: BsRatingModule, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsRatingModule, decorators: [{
13
13
  type: NgModule,
14
14
  args: [{
15
15
  declarations: [
@@ -1,2 +1,3 @@
1
1
  export * from './scheduler/scheduler.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NyYy9saWIvY29tcG9uZW50cy9zY2hlZHVsZXIvY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlDQUFpQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zY2hlZHVsZXIvc2NoZWR1bGVyLmNvbXBvbmVudCc7Il19
2
+ export * from './resource-group-presenter/resource-group-presenter.component';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NyYy9saWIvY29tcG9uZW50cy9zY2hlZHVsZXIvY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsK0RBQStELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NjaGVkdWxlci9zY2hlZHVsZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcmVzb3VyY2UtZ3JvdXAtcHJlc2VudGVyL3Jlc291cmNlLWdyb3VwLXByZXNlbnRlci5jb21wb25lbnQnOyJdfQ==
@@ -0,0 +1,84 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { BehaviorSubject, filter, map, Subject, take } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ export class ResourceGroupPresenterComponent {
6
+ constructor() {
7
+ this.level = 0;
8
+ this.resourceOrGroup$ = new BehaviorSubject(null);
9
+ this.timeSlots$ = new BehaviorSubject([]);
10
+ this.isExpanded$ = new BehaviorSubject(false);
11
+ this.destroyed$ = new Subject();
12
+ this.data$ = this.resourceOrGroup$
13
+ .pipe(map((resourceOrGroup) => {
14
+ if (!resourceOrGroup) {
15
+ return null;
16
+ }
17
+ else if ('children' in resourceOrGroup) {
18
+ return {
19
+ resource: null,
20
+ resourceGroup: resourceOrGroup
21
+ };
22
+ }
23
+ else {
24
+ return {
25
+ resource: resourceOrGroup,
26
+ resourceGroup: null
27
+ };
28
+ }
29
+ }))
30
+ .pipe(filter((resourceOrGroup) => !!resourceOrGroup))
31
+ .pipe(map((resourceOrGroup) => resourceOrGroup));
32
+ this.colSpan$ = this.timeSlots$
33
+ .pipe(map(timeSlots => timeSlots
34
+ .map(timeslot => timeslot.slots.length)
35
+ .reduce((sum, current) => sum + current, 0)));
36
+ }
37
+ //#region resourceOrGroup
38
+ get resourceOrGroup() {
39
+ return this.resourceOrGroup$.value;
40
+ }
41
+ set resourceGroup(value) {
42
+ this.resourceOrGroup$.next(value);
43
+ }
44
+ //#endregion
45
+ //#region timeSlots
46
+ get timeSlots() {
47
+ return this.timeSlots$.value;
48
+ }
49
+ set timeSlots(value) {
50
+ this.timeSlots$.next(value);
51
+ }
52
+ //#endregion
53
+ //#region isExpanded
54
+ get isExpanded() {
55
+ return this.isExpanded$.value;
56
+ }
57
+ set isExpanded(value) {
58
+ this.isExpanded$.next(value);
59
+ }
60
+ //#endregion
61
+ toggleExpanded() {
62
+ this.isExpanded$.pipe(take(1)).subscribe((isExpanded) => {
63
+ this.isExpanded$.next(!isExpanded);
64
+ });
65
+ }
66
+ ngOnDestroy() {
67
+ this.destroyed$.next(true);
68
+ }
69
+ }
70
+ ResourceGroupPresenterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ResourceGroupPresenterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
71
+ ResourceGroupPresenterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: ResourceGroupPresenterComponent, selector: "bs-resource-group-presenter", inputs: { level: "level", resourceGroup: "resourceGroup", timeSlots: "timeSlots", isExpanded: "isExpanded" }, ngImport: i0, template: "<ng-container *ngIf=\"(data$ | async) as data\">\n\n <!-- Data is a resource group -->\n <ng-container *ngIf=\"data.resourceGroup\">\n <!-- Header -->\n <tr class=\"p-0 cursor-pointer\" *ngIf=\"(timeSlots$ | async) as timeSlots\" [title]=\"data.resourceGroup.description\">\n <ng-container *ngIf=\"(colSpan$ | async) as colspan\">\n <td class=\"p-2 cursor-pointer\" [colSpan]=\"colspan + 1\" (click)=\"toggleExpanded()\">\n <span class=\"p-2 align-middle position-sticky\">\n <i class=\"bi bi-chevron-down\" [style.padding-left.px]=\"level * 20\" *ngIf=\"isExpanded$ | async\"></i>\n <i class=\"bi bi-chevron-right\" [style.padding-left.px]=\"level * 20\" *ngIf=\"(isExpanded$ | async) === false\"></i>\n {{ data.resourceGroup.description }}\n </span>\n </td>\n </ng-container>\n </tr>\n\n <!-- Subgroups or resources -->\n <ng-container *ngIf=\"isExpanded$ | async\">\n <ng-container *ngIf=\"(timeSlots$ | async) as timeSlots\">\n <ng-container *ngFor=\"let child of data.resourceGroup.children\">\n <bs-resource-group-presenter [resourceGroup]=\"child\" [timeSlots]=\"timeSlots\" [level]=\"level + 1\"></bs-resource-group-presenter>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n\n <!-- Data is a resource -->\n <tr *ngIf=\"data.resource\" class=\"p-0 bordered\" [title]=\"data.resource.description\">\n <td class=\"p-0 bg-white\">\n <div class=\"p-2\">{{ data.resource.description }}</div>\n </td>\n <ng-container *ngFor=\"let slots of (timeSlots$ | async)\">\n <td class=\"bg-white border-1\" *ngFor=\"let slot of slots.slots\">\n <!-- {{ slot.start | date: 'dd/MM/yyyy HH:mm:ss' }} -->\n </td>\n </ng-container>\n </tr>\n</ng-container>", styles: [":host{display:contents}tr{border-bottom-width:1px}tr:not(.bordered) td span.position-sticky{left:0;right:0}\n"], components: [{ type: ResourceGroupPresenterComponent, selector: "bs-resource-group-presenter", inputs: ["level", "resourceGroup", "timeSlots", "isExpanded"] }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i1.AsyncPipe } });
72
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ResourceGroupPresenterComponent, decorators: [{
73
+ type: Component,
74
+ args: [{ selector: 'bs-resource-group-presenter', template: "<ng-container *ngIf=\"(data$ | async) as data\">\n\n <!-- Data is a resource group -->\n <ng-container *ngIf=\"data.resourceGroup\">\n <!-- Header -->\n <tr class=\"p-0 cursor-pointer\" *ngIf=\"(timeSlots$ | async) as timeSlots\" [title]=\"data.resourceGroup.description\">\n <ng-container *ngIf=\"(colSpan$ | async) as colspan\">\n <td class=\"p-2 cursor-pointer\" [colSpan]=\"colspan + 1\" (click)=\"toggleExpanded()\">\n <span class=\"p-2 align-middle position-sticky\">\n <i class=\"bi bi-chevron-down\" [style.padding-left.px]=\"level * 20\" *ngIf=\"isExpanded$ | async\"></i>\n <i class=\"bi bi-chevron-right\" [style.padding-left.px]=\"level * 20\" *ngIf=\"(isExpanded$ | async) === false\"></i>\n {{ data.resourceGroup.description }}\n </span>\n </td>\n </ng-container>\n </tr>\n\n <!-- Subgroups or resources -->\n <ng-container *ngIf=\"isExpanded$ | async\">\n <ng-container *ngIf=\"(timeSlots$ | async) as timeSlots\">\n <ng-container *ngFor=\"let child of data.resourceGroup.children\">\n <bs-resource-group-presenter [resourceGroup]=\"child\" [timeSlots]=\"timeSlots\" [level]=\"level + 1\"></bs-resource-group-presenter>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n\n <!-- Data is a resource -->\n <tr *ngIf=\"data.resource\" class=\"p-0 bordered\" [title]=\"data.resource.description\">\n <td class=\"p-0 bg-white\">\n <div class=\"p-2\">{{ data.resource.description }}</div>\n </td>\n <ng-container *ngFor=\"let slots of (timeSlots$ | async)\">\n <td class=\"bg-white border-1\" *ngFor=\"let slot of slots.slots\">\n <!-- {{ slot.start | date: 'dd/MM/yyyy HH:mm:ss' }} -->\n </td>\n </ng-container>\n </tr>\n</ng-container>", styles: [":host{display:contents}tr{border-bottom-width:1px}tr:not(.bordered) td span.position-sticky{left:0;right:0}\n"] }]
75
+ }], ctorParameters: function () { return []; }, propDecorators: { level: [{
76
+ type: Input
77
+ }], resourceGroup: [{
78
+ type: Input
79
+ }], timeSlots: [{
80
+ type: Input
81
+ }], isExpanded: [{
82
+ type: Input
83
+ }] } });
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2UtZ3JvdXAtcHJlc2VudGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvc3JjL2xpYi9jb21wb25lbnRzL3NjaGVkdWxlci9jb21wb25lbnRzL3Jlc291cmNlLWdyb3VwLXByZXNlbnRlci9yZXNvdXJjZS1ncm91cC1wcmVzZW50ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9zcmMvbGliL2NvbXBvbmVudHMvc2NoZWR1bGVyL2NvbXBvbmVudHMvcmVzb3VyY2UtZ3JvdXAtcHJlc2VudGVyL3Jlc291cmNlLWdyb3VwLXByZXNlbnRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQWMsT0FBTyxFQUFFLElBQUksRUFBYSxNQUFNLE1BQU0sQ0FBQzs7O0FBWTFGLE1BQU0sT0FBTywrQkFBK0I7SUFFMUM7UUEyQlMsVUFBSyxHQUFHLENBQUMsQ0FBQztRQUNuQixxQkFBZ0IsR0FBRyxJQUFJLGVBQWUsQ0FBa0MsSUFBSSxDQUFDLENBQUM7UUFDOUUsZUFBVSxHQUFHLElBQUksZUFBZSxDQUE0QixFQUFFLENBQUMsQ0FBQztRQUNoRSxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBR2xELGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBaEN6QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxnQkFBZ0I7YUFDL0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLGVBQWUsRUFBRSxFQUFFO1lBQzVCLElBQUksQ0FBQyxlQUFlLEVBQUU7Z0JBQ3BCLE9BQU8sSUFBSSxDQUFDO2FBQ2I7aUJBQU0sSUFBSSxVQUFVLElBQUksZUFBZSxFQUFFO2dCQUN4QyxPQUF3QjtvQkFDdEIsUUFBUSxFQUFFLElBQUk7b0JBQ2QsYUFBYSxFQUFFLGVBQWU7aUJBQy9CLENBQUM7YUFDSDtpQkFBTTtnQkFDTCxPQUF3QjtvQkFDdEIsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLGFBQWEsRUFBRSxJQUFJO2lCQUNwQixDQUFDO2FBQ0g7UUFDSCxDQUFDLENBQUMsQ0FBQzthQUNGLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQzthQUNwRCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBa0IsZUFBZSxDQUFDLENBQUMsQ0FBQztRQUVwRSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVO2FBQzVCLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxTQUFTO2FBQzdCLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO2FBQ3RDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQzVDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFVRCx5QkFBeUI7SUFDekIsSUFBVyxlQUFlO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQztJQUNyQyxDQUFDO0lBQ0QsSUFBb0IsYUFBYSxDQUFDLEtBQXNDO1FBQ3RFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUNELFlBQVk7SUFFWixtQkFBbUI7SUFDbkIsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUM7SUFDL0IsQ0FBQztJQUNELElBQW9CLFNBQVMsQ0FBQyxLQUFnQztRQUM1RCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBQ0QsWUFBWTtJQUVaLG9CQUFvQjtJQUNwQixJQUFXLFVBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztJQUNoQyxDQUFDO0lBQ0QsSUFBb0IsVUFBVSxDQUFDLEtBQWM7UUFDM0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUNELFlBQVk7SUFFWixjQUFjO1FBQ1osSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDdEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQzs7NEhBeEVVLCtCQUErQjtnSEFBL0IsK0JBQStCLGlMQ2I1QyxvL0RBc0NlLGtKRHpCRiwrQkFBK0I7MkZBQS9CLCtCQUErQjtrQkFOM0MsU0FBUzsrQkFDRSw2QkFBNkI7MEVBa0M5QixLQUFLO3NCQUFiLEtBQUs7Z0JBWWMsYUFBYTtzQkFBaEMsS0FBSztnQkFTYyxTQUFTO3NCQUE1QixLQUFLO2dCQVNjLFVBQVU7c0JBQTdCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZmlsdGVyLCBtYXAsIE9ic2VydmFibGUsIFN1YmplY3QsIHRha2UsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUmVzb3VyY2UsIFJlc291cmNlR3JvdXAgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFJlc291cmNlT3JHcm91cCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvcmVzb3VyY2Utb3ItZ3JvdXAnO1xuaW1wb3J0IHsgU2NoZWR1bGVyU3RhbXBXaXRoU2xvdHMgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3NjaGVkdWxlci1zdGFtcC13aXRoLXNsb3RzJztcbmltcG9ydCB7IFRpbWVTbG90IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy90aW1lLXNsb3QnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicy1yZXNvdXJjZS1ncm91cC1wcmVzZW50ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVzb3VyY2UtZ3JvdXAtcHJlc2VudGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmVzb3VyY2UtZ3JvdXAtcHJlc2VudGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIFxufSlcbmV4cG9ydCBjbGFzcyBSZXNvdXJjZUdyb3VwUHJlc2VudGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuZGF0YSQgPSB0aGlzLnJlc291cmNlT3JHcm91cCRcbiAgICAgIC5waXBlKG1hcCgocmVzb3VyY2VPckdyb3VwKSA9PiB7XG4gICAgICAgIGlmICghcmVzb3VyY2VPckdyb3VwKSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH0gZWxzZSBpZiAoJ2NoaWxkcmVuJyBpbiByZXNvdXJjZU9yR3JvdXApIHtcbiAgICAgICAgICByZXR1cm4gPFJlc291cmNlT3JHcm91cD57XG4gICAgICAgICAgICByZXNvdXJjZTogbnVsbCxcbiAgICAgICAgICAgIHJlc291cmNlR3JvdXA6IHJlc291cmNlT3JHcm91cFxuICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIDxSZXNvdXJjZU9yR3JvdXA+e1xuICAgICAgICAgICAgcmVzb3VyY2U6IHJlc291cmNlT3JHcm91cCxcbiAgICAgICAgICAgIHJlc291cmNlR3JvdXA6IG51bGxcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9KSlcbiAgICAgIC5waXBlKGZpbHRlcigocmVzb3VyY2VPckdyb3VwKSA9PiAhIXJlc291cmNlT3JHcm91cCkpXG4gICAgICAucGlwZShtYXAoKHJlc291cmNlT3JHcm91cCkgPT4gPFJlc291cmNlT3JHcm91cD5yZXNvdXJjZU9yR3JvdXApKTtcblxuICAgIHRoaXMuY29sU3BhbiQgPSB0aGlzLnRpbWVTbG90cyRcbiAgICAgIC5waXBlKG1hcCh0aW1lU2xvdHMgPT4gdGltZVNsb3RzXG4gICAgICAgIC5tYXAodGltZXNsb3QgPT4gdGltZXNsb3Quc2xvdHMubGVuZ3RoKVxuICAgICAgICAucmVkdWNlKChzdW0sIGN1cnJlbnQpID0+IHN1bSArIGN1cnJlbnQsIDApXG4gICAgICApKTtcbiAgfVxuXG4gIEBJbnB1dCgpIGxldmVsID0gMDtcbiAgcmVzb3VyY2VPckdyb3VwJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UmVzb3VyY2UgfCBSZXNvdXJjZUdyb3VwIHwgbnVsbD4obnVsbCk7XG4gIHRpbWVTbG90cyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFNjaGVkdWxlclN0YW1wV2l0aFNsb3RzW10+KFtdKTtcbiAgaXNFeHBhbmRlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgZGF0YSQ6IE9ic2VydmFibGU8UmVzb3VyY2VPckdyb3VwPjtcbiAgY29sU3BhbiQ6IE9ic2VydmFibGU8bnVtYmVyPjtcbiAgZGVzdHJveWVkJCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgLy8jcmVnaW9uIHJlc291cmNlT3JHcm91cFxuICBwdWJsaWMgZ2V0IHJlc291cmNlT3JHcm91cCgpIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvdXJjZU9yR3JvdXAkLnZhbHVlO1xuICB9XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgcmVzb3VyY2VHcm91cCh2YWx1ZTogUmVzb3VyY2UgfCBSZXNvdXJjZUdyb3VwIHwgbnVsbCkge1xuICAgIHRoaXMucmVzb3VyY2VPckdyb3VwJC5uZXh0KHZhbHVlKTtcbiAgfVxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gdGltZVNsb3RzXG4gIHB1YmxpYyBnZXQgdGltZVNsb3RzKCkge1xuICAgIHJldHVybiB0aGlzLnRpbWVTbG90cyQudmFsdWU7XG4gIH1cbiAgQElucHV0KCkgcHVibGljIHNldCB0aW1lU2xvdHModmFsdWU6IFNjaGVkdWxlclN0YW1wV2l0aFNsb3RzW10pIHtcbiAgICB0aGlzLnRpbWVTbG90cyQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIGlzRXhwYW5kZWRcbiAgcHVibGljIGdldCBpc0V4cGFuZGVkKCkge1xuICAgIHJldHVybiB0aGlzLmlzRXhwYW5kZWQkLnZhbHVlO1xuICB9XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgaXNFeHBhbmRlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuaXNFeHBhbmRlZCQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG5cbiAgdG9nZ2xlRXhwYW5kZWQoKSB7XG4gICAgdGhpcy5pc0V4cGFuZGVkJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgoaXNFeHBhbmRlZCkgPT4ge1xuICAgICAgdGhpcy5pc0V4cGFuZGVkJC5uZXh0KCFpc0V4cGFuZGVkKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGVzdHJveWVkJC5uZXh0KHRydWUpO1xuICB9XG5cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCIoZGF0YSQgfCBhc3luYykgYXMgZGF0YVwiPlxuXG4gICAgPCEtLSBEYXRhIGlzIGEgcmVzb3VyY2UgZ3JvdXAgLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRhdGEucmVzb3VyY2VHcm91cFwiPlxuICAgICAgICA8IS0tIEhlYWRlciAtLT5cbiAgICAgICAgPHRyIGNsYXNzPVwicC0wIGN1cnNvci1wb2ludGVyXCIgKm5nSWY9XCIodGltZVNsb3RzJCB8IGFzeW5jKSBhcyB0aW1lU2xvdHNcIiBbdGl0bGVdPVwiZGF0YS5yZXNvdXJjZUdyb3VwLmRlc2NyaXB0aW9uXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKGNvbFNwYW4kIHwgYXN5bmMpIGFzIGNvbHNwYW5cIj5cbiAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJwLTIgY3Vyc29yLXBvaW50ZXJcIiBbY29sU3Bhbl09XCJjb2xzcGFuICsgMVwiIChjbGljayk9XCJ0b2dnbGVFeHBhbmRlZCgpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicC0yIGFsaWduLW1pZGRsZSBwb3NpdGlvbi1zdGlja3lcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiYmkgYmktY2hldnJvbi1kb3duXCIgW3N0eWxlLnBhZGRpbmctbGVmdC5weF09XCJsZXZlbCAqIDIwXCIgKm5nSWY9XCJpc0V4cGFuZGVkJCB8IGFzeW5jXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJiaSBiaS1jaGV2cm9uLXJpZ2h0XCIgW3N0eWxlLnBhZGRpbmctbGVmdC5weF09XCJsZXZlbCAqIDIwXCIgKm5nSWY9XCIoaXNFeHBhbmRlZCQgfCBhc3luYykgPT09IGZhbHNlXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgZGF0YS5yZXNvdXJjZUdyb3VwLmRlc2NyaXB0aW9uIH19XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvdHI+XG5cbiAgICAgICAgPCEtLSBTdWJncm91cHMgb3IgcmVzb3VyY2VzIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNFeHBhbmRlZCQgfCBhc3luY1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIih0aW1lU2xvdHMkIHwgYXN5bmMpIGFzIHRpbWVTbG90c1wiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNoaWxkIG9mIGRhdGEucmVzb3VyY2VHcm91cC5jaGlsZHJlblwiPlxuICAgICAgICAgICAgICAgICAgICA8YnMtcmVzb3VyY2UtZ3JvdXAtcHJlc2VudGVyIFtyZXNvdXJjZUdyb3VwXT1cImNoaWxkXCIgW3RpbWVTbG90c109XCJ0aW1lU2xvdHNcIiBbbGV2ZWxdPVwibGV2ZWwgKyAxXCI+PC9icy1yZXNvdXJjZS1ncm91cC1wcmVzZW50ZXI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8IS0tIERhdGEgaXMgYSByZXNvdXJjZSAtLT5cbiAgICA8dHIgKm5nSWY9XCJkYXRhLnJlc291cmNlXCIgY2xhc3M9XCJwLTAgYm9yZGVyZWRcIiBbdGl0bGVdPVwiZGF0YS5yZXNvdXJjZS5kZXNjcmlwdGlvblwiPlxuICAgICAgICA8dGQgY2xhc3M9XCJwLTAgYmctd2hpdGVcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLTJcIj57eyBkYXRhLnJlc291cmNlLmRlc2NyaXB0aW9uIH19PC9kaXY+XG4gICAgICAgIDwvdGQ+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHNsb3RzIG9mICh0aW1lU2xvdHMkIHwgYXN5bmMpXCI+XG4gICAgICAgICAgICA8dGQgY2xhc3M9XCJiZy13aGl0ZSBib3JkZXItMVwiICpuZ0Zvcj1cImxldCBzbG90IG9mIHNsb3RzLnNsb3RzXCI+XG4gICAgICAgICAgICAgICAgPCEtLSB7eyBzbG90LnN0YXJ0IHwgZGF0ZTogJ2RkL01NL3l5eXkgSEg6bW06c3MnIH19IC0tPlxuICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC90cj5cbjwvbmctY29udGFpbmVyPiJdfQ==