@mintplayer/ng-bootstrap 18.2.0 → 18.2.2
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.
- package/async-host-binding/index.d.ts +1 -0
- package/async-host-binding/src/bind-event.plugin.d.ts +1 -0
- package/async-host-binding/src/index.d.ts +1 -0
- package/async-host-binding/src/provide-async-host-bindings.d.ts +1 -0
- package/button-type/index.d.ts +1 -0
- package/button-type/src/button-type/button-type.directive.d.ts +1 -0
- package/button-type/src/index.d.ts +1 -0
- package/calendar-month/index.d.ts +1 -0
- package/calendar-month/src/index.d.ts +1 -0
- package/calendar-month/src/interfaces/date-day-of-month.d.ts +1 -0
- package/calendar-month/src/interfaces/first-and-last-date.d.ts +1 -0
- package/calendar-month/src/interfaces/index.d.ts +1 -0
- package/calendar-month/src/interfaces/week.d.ts +1 -0
- package/calendar-month/src/interfaces/weekday.d.ts +1 -0
- package/calendar-month/src/pipes/index.d.ts +1 -0
- package/calendar-month/src/pipes/month-name/month-name.pipe.d.ts +1 -0
- package/calendar-month/src/pipes/weekday-name/weekday-name.pipe.d.ts +1 -0
- package/calendar-month/src/service/calendar-month.service.d.ts +1 -0
- package/carousel/src/carousel.module.d.ts +3 -4
- package/color-picker/color-picker.module.d.ts +1 -2
- package/context-menu/index.d.ts +1 -0
- package/context-menu/src/context-menu.directive.d.ts +1 -0
- package/context-menu/src/context-menu.module.d.ts +1 -0
- package/context-menu/src/index.d.ts +1 -0
- package/copy/index.d.ts +1 -0
- package/copy/src/copy.directive.d.ts +1 -0
- package/copy/src/index.d.ts +1 -0
- package/dropdown/index.d.ts +1 -0
- package/dropdown/src/dropdown/dropdown.directive.d.ts +1 -0
- package/dropdown/src/dropdown-menu/dropdown-menu.directive.d.ts +1 -0
- package/dropdown/src/dropdown-toggle/dropdown-toggle.directive.d.ts +1 -0
- package/dropdown/src/dropdown.module.d.ts +1 -0
- package/dropdown/src/index.d.ts +1 -0
- package/dropdown-divider/index.d.ts +1 -0
- package/dropdown-divider/src/dropdown-divider.directive.d.ts +1 -0
- package/dropdown-divider/src/index.d.ts +1 -0
- package/enhanced-paste/index.d.ts +1 -0
- package/enhanced-paste/src/directive/enhanced-paste.directive.d.ts +1 -0
- package/enhanced-paste/src/index.d.ts +1 -0
- package/enhanced-paste/src/interfaces/number-overflow.d.ts +1 -0
- package/enum/index.d.ts +1 -0
- package/enum/src/index.d.ts +1 -0
- package/enum/src/interfaces/enum-item.d.ts +1 -0
- package/enum/src/interfaces/index.d.ts +1 -0
- package/enum/src/service/enum.service.d.ts +1 -0
- package/esm2022/accordion/src/accordion/accordion.component.mjs +3 -3
- package/esm2022/accordion/src/accordion-tab/accordion-tab.component.mjs +3 -3
- package/esm2022/accordion/src/accordion-tab-header/accordion-tab-header.component.mjs +3 -3
- package/esm2022/accordion/src/accordion.module.mjs +4 -4
- package/esm2022/alert/src/alert/alert.component.mjs +3 -3
- package/esm2022/alert/src/alert-close/alert-close.component.mjs +3 -3
- package/esm2022/alert/src/alert.module.mjs +4 -4
- package/esm2022/badge/src/badge.component.mjs +3 -3
- package/esm2022/breadcrumb/src/breadcrumb/breadcrumb.component.mjs +3 -3
- package/esm2022/breadcrumb/src/breadcrumb-item/breadcrumb-item.component.mjs +3 -3
- package/esm2022/breadcrumb/src/breadcrumb.module.mjs +4 -4
- package/esm2022/button-group/src/button-group/button-group.component.mjs +3 -3
- package/esm2022/button-type/src/button-type/button-type.directive.mjs +3 -3
- package/esm2022/calendar/src/calendar.component.mjs +5 -6
- package/esm2022/calendar-month/src/pipes/month-name/month-name.pipe.mjs +3 -3
- package/esm2022/calendar-month/src/pipes/weekday-name/weekday-name.pipe.mjs +3 -3
- package/esm2022/calendar-month/src/service/calendar-month.service.mjs +3 -3
- package/esm2022/card/src/card/card.component.mjs +3 -3
- package/esm2022/card/src/card-header/card-header.component.mjs +3 -3
- package/esm2022/card/src/card.module.mjs +4 -4
- package/esm2022/carousel/src/carousel/carousel.component.mjs +7 -8
- package/esm2022/carousel/src/carousel-image/carousel-image.directive.mjs +3 -3
- package/esm2022/carousel/src/carousel-img/carousel-img.directive.mjs +3 -3
- package/esm2022/carousel/src/carousel.module.mjs +5 -8
- package/esm2022/close/src/close.component.mjs +3 -3
- package/esm2022/code-snippet/src/code-snippet.component.mjs +3 -3
- package/esm2022/color-picker/color-picker.module.mjs +6 -9
- package/esm2022/color-picker/components/alpha-strip/alpha-strip.component.mjs +3 -3
- package/esm2022/color-picker/components/color-picker/color-picker.component.mjs +9 -10
- package/esm2022/color-picker/components/color-wheel/color-wheel.component.mjs +3 -3
- package/esm2022/color-picker/components/luminosity-strip/luminosity-strip.component.mjs +3 -3
- package/esm2022/color-picker/components/slider/slider.component.mjs +9 -9
- package/esm2022/color-picker/directives/color-picker-value-accessor/color-picker-value-accessor.directive.mjs +3 -3
- package/esm2022/container/src/container/container.component.mjs +3 -3
- package/esm2022/context-menu/src/context-menu.directive.mjs +3 -3
- package/esm2022/context-menu/src/context-menu.module.mjs +4 -4
- package/esm2022/copy/src/copy.directive.mjs +3 -3
- package/esm2022/datatable/src/datatable/datatable.component.mjs +3 -3
- package/esm2022/datatable/src/datatable-column/datatable-column.directive.mjs +3 -3
- package/esm2022/datatable/src/datatable.module.mjs +4 -4
- package/esm2022/datatable/src/row-template/row-template.directive.mjs +3 -3
- package/esm2022/datepicker/src/datepicker.component.mjs +3 -3
- package/esm2022/dock/src/dock/dock.component.mjs +3 -3
- package/esm2022/dock/src/dock-pane-renderer/dock-pane-renderer.component.mjs +3 -3
- package/esm2022/dock/src/dock-panel/dock-panel.component.mjs +3 -3
- package/esm2022/dock/src/dock-panel-header/dock-panel-header.component.mjs +3 -3
- package/esm2022/dock/src/dock.module.mjs +4 -4
- package/esm2022/dock/src/services/dock/dock.service.mjs +3 -3
- package/esm2022/dropdown/src/dropdown/dropdown.directive.mjs +3 -3
- package/esm2022/dropdown/src/dropdown-menu/dropdown-menu.directive.mjs +3 -3
- package/esm2022/dropdown/src/dropdown-toggle/dropdown-toggle.directive.mjs +3 -3
- package/esm2022/dropdown/src/dropdown.module.mjs +4 -4
- package/esm2022/dropdown-divider/src/dropdown-divider.directive.mjs +3 -3
- package/esm2022/dropdown-menu/src/dropdown-item/dropdown-item.component.mjs +3 -3
- package/esm2022/dropdown-menu/src/dropdown-menu/dropdown-menu.component.mjs +3 -3
- package/esm2022/dropdown-menu/src/dropdown-menu.module.mjs +4 -4
- package/esm2022/enhanced-paste/src/directive/enhanced-paste.directive.mjs +3 -3
- package/esm2022/enum/src/service/enum.service.mjs +3 -3
- package/esm2022/file-upload/src/component/file-upload.component.mjs +3 -3
- package/esm2022/file-upload/src/directive/file-upload-template.directive.mjs +3 -3
- package/esm2022/file-upload/src/file-upload.module.mjs +4 -4
- package/esm2022/file-upload/src/pipes/format-bytes/format-bytes.pipe.mjs +3 -3
- package/esm2022/floating-labels/src/floating-label/floating-label.component.mjs +3 -3
- package/esm2022/font-color/src/font-color.pipe.mjs +3 -3
- package/esm2022/for/src/for.directive.mjs +3 -3
- package/esm2022/form/src/form/form.component.mjs +3 -3
- package/esm2022/form/src/form-control/form-control.directive.mjs +3 -3
- package/esm2022/form/src/form-group/form-group.directive.mjs +3 -3
- package/esm2022/form/src/form.module.mjs +4 -4
- package/esm2022/grid/src/component/grid.component.mjs +3 -3
- package/esm2022/grid/src/directives/col-form-label/col-form-label.directive.mjs +3 -3
- package/esm2022/grid/src/directives/column/column.directive.mjs +6 -6
- package/esm2022/grid/src/directives/row/row.directive.mjs +3 -3
- package/esm2022/grid/src/grid.module.mjs +4 -4
- package/esm2022/has-overlay/src/has-overlay/has-overlay.component.mjs +3 -3
- package/esm2022/has-property/src/has-property.pipe.mjs +3 -3
- package/esm2022/in-list/src/in-list.pipe.mjs +3 -3
- package/esm2022/input-group/src/input-group/input-group.component.mjs +3 -3
- package/esm2022/instance-of/src/directives/instanceof-case.directive.mjs +3 -3
- package/esm2022/instance-of/src/directives/instanceof-default.directive.mjs +3 -3
- package/esm2022/instance-of/src/directives/instanceof.directive.mjs +3 -3
- package/esm2022/instance-of/src/instance-of.module.mjs +4 -4
- package/esm2022/instance-of/src/pipes/instance-of.pipe.mjs +3 -3
- package/esm2022/let/directive/let.directive.mjs +3 -3
- package/esm2022/linify/src/linify.pipe.mjs +3 -3
- package/esm2022/list-group/src/list-group/list-group.component.mjs +3 -3
- package/esm2022/list-group/src/list-group-item/list-group-item.component.mjs +3 -3
- package/esm2022/list-group/src/list-group.module.mjs +4 -4
- package/esm2022/markdown/src/bold/bold.pipe.mjs +3 -3
- package/esm2022/markdown/src/italic/italic.pipe.mjs +3 -3
- package/esm2022/markdown/src/strikethrough/strikethrough.pipe.mjs +3 -3
- package/esm2022/markdown/src/underline/underline.pipe.mjs +3 -3
- package/esm2022/marquee/src/marquee/marquee.component.mjs +3 -3
- package/esm2022/modal/src/components/modal/modal.component.mjs +3 -3
- package/esm2022/modal/src/components/modal-host/modal-host.component.mjs +3 -3
- package/esm2022/modal/src/directives/modal/modal.directive.mjs +3 -3
- package/esm2022/modal/src/directives/modal-body/modal-body.directive.mjs +3 -3
- package/esm2022/modal/src/directives/modal-close/modal-close.directive.mjs +3 -3
- package/esm2022/modal/src/directives/modal-footer/modal-footer.directive.mjs +3 -3
- package/esm2022/modal/src/directives/modal-header/modal-header.directive.mjs +3 -3
- package/esm2022/modal/src/modal.module.mjs +4 -4
- package/esm2022/multiselect/src/component/multiselect.component.mjs +3 -3
- package/esm2022/multiselect/src/directives/button-template/button-template.directive.mjs +3 -3
- package/esm2022/multiselect/src/directives/footer-template/footer-template.directive.mjs +3 -3
- package/esm2022/multiselect/src/directives/header-template/header-template.directive.mjs +3 -3
- package/esm2022/multiselect/src/multiselect.module.mjs +4 -4
- package/esm2022/navbar/src/dropdown-toggle/dropdown-toggle.directive.mjs +3 -3
- package/esm2022/navbar/src/expand-button/expand-button.directive.mjs +3 -3
- package/esm2022/navbar/src/nav-link/nav-link.directive.mjs +3 -3
- package/esm2022/navbar/src/navbar/navbar.component.mjs +3 -3
- package/esm2022/navbar/src/navbar-brand/navbar-brand.component.mjs +3 -3
- package/esm2022/navbar/src/navbar-content/navbar-content.directive.mjs +3 -3
- package/esm2022/navbar/src/navbar-dropdown/navbar-dropdown.component.mjs +3 -3
- package/esm2022/navbar/src/navbar-item/navbar-item.component.mjs +3 -3
- package/esm2022/navbar/src/navbar-nav/navbar-nav.component.mjs +3 -3
- package/esm2022/navbar/src/navbar.module.mjs +4 -4
- package/esm2022/navbar-toggler/src/navbar-toggler/navbar-toggler.component.mjs +3 -3
- package/esm2022/navigation-lock/src/directive/navigation-lock.directive.mjs +3 -3
- package/esm2022/navigation-lock/src/guard/navigation-lock.guard.mjs +3 -3
- package/esm2022/navigation-lock/src/navigation-lock.module.mjs +4 -4
- package/esm2022/no-noscript/src/no-noscript/no-noscript.directive.mjs +3 -3
- package/esm2022/offcanvas/src/components/offcanvas/offcanvas.component.mjs +3 -3
- package/esm2022/offcanvas/src/components/offcanvas-body/offcanvas-body.component.mjs +3 -3
- package/esm2022/offcanvas/src/components/offcanvas-header/offcanvas-header.component.mjs +3 -3
- package/esm2022/offcanvas/src/components/offcanvas-host/offcanvas-host.component.mjs +3 -3
- package/esm2022/offcanvas/src/directives/offcanvas-close/offcanvas-close.directive.mjs +3 -3
- package/esm2022/offcanvas/src/directives/offcanvas-content/offcanvas-content.directive.mjs +3 -3
- package/esm2022/offcanvas/src/directives/offcanvas-push/offcanvas-push.directive.mjs +3 -3
- package/esm2022/offcanvas/src/offcanvas.module.mjs +4 -4
- package/esm2022/ordinal-number/src/ordinal-number/ordinal-number.pipe.mjs +3 -3
- package/esm2022/pagination/src/component/pagination/pagination.component.mjs +3 -3
- package/esm2022/parallax/src/parallax.component.mjs +3 -3
- package/esm2022/placeholder/src/placeholder/placeholder.component.mjs +3 -3
- package/esm2022/placeholder/src/placeholder-field/placeholder-field.directive.mjs +3 -3
- package/esm2022/placeholder/src/placeholder.module.mjs +4 -4
- package/esm2022/playlist-toggler/src/playlist-toggler/playlist-toggler.component.mjs +3 -3
- package/esm2022/popover/src/component/popover.component.mjs +3 -3
- package/esm2022/popover/src/directives/popover/popover.directive.mjs +3 -3
- package/esm2022/popover/src/directives/popover-body/popover-body.directive.mjs +3 -3
- package/esm2022/popover/src/directives/popover-header/popover-header.directive.mjs +3 -3
- package/esm2022/popover/src/popover.module.mjs +4 -4
- package/esm2022/progress-bar/src/progress/progress.component.mjs +3 -3
- package/esm2022/progress-bar/src/progress-bar/progress-bar.component.mjs +3 -3
- package/esm2022/progress-bar/src/progress-bar.module.mjs +4 -4
- package/esm2022/range/src/component/range.component.mjs +3 -3
- package/esm2022/range/src/range.module.mjs +4 -4
- package/esm2022/range/src/value-accessor/range-value-accessor.mjs +3 -3
- package/esm2022/rating/src/component/rating.component.mjs +3 -3
- package/esm2022/resizable/src/resizable/resizable.component.mjs +3 -3
- package/esm2022/resizable/src/resizable.module.mjs +4 -4
- package/esm2022/resizable/src/resize-glyph/resize-glyph.directive.mjs +3 -3
- package/esm2022/scheduler/src/components/resource-group-presenter/resource-group-presenter.component.mjs +3 -3
- package/esm2022/scheduler/src/components/scheduler/scheduler.component.mjs +3 -3
- package/esm2022/scheduler/src/pipes/bs-seconds-timespan.pipe/bs-seconds-timespan.pipe.mjs +3 -3
- package/esm2022/scheduler/src/pipes/bs-seconds-today-offset/bs-seconds-today-offset.pipe.mjs +3 -3
- package/esm2022/scheduler/src/pipes/date-offset/date-offset.pipe.mjs +3 -3
- package/esm2022/scheduler/src/pipes/day-of-week/day-of-week.pipe.mjs +3 -3
- package/esm2022/scheduler/src/scheduler.module.mjs +4 -4
- package/esm2022/scheduler/src/services/timeline/timeline.service.mjs +3 -3
- package/esm2022/scrollspy/src/component/scrollspy.component.mjs +3 -3
- package/esm2022/scrollspy/src/directives/scrollspy.directive.mjs +3 -3
- package/esm2022/scrollspy/src/scrollspy.module.mjs +4 -4
- package/esm2022/scrollspy/src/services/scroll-offset/scroll-offset.service.mjs +3 -3
- package/esm2022/searchbox/src/directives/enter-search-term.directive.mjs +3 -3
- package/esm2022/searchbox/src/directives/no-results.directive.mjs +3 -3
- package/esm2022/searchbox/src/directives/suggestion.directive.mjs +3 -3
- package/esm2022/searchbox/src/searchbox/searchbox.component.mjs +10 -11
- package/esm2022/searchbox/src/searchbox.module.mjs +5 -8
- package/esm2022/select/src/component/select.component.mjs +3 -3
- package/esm2022/select/src/select.module.mjs +4 -4
- package/esm2022/select/src/value-accessors/select-value-accessor.mjs +6 -6
- package/esm2022/select2/src/component/select2.component.mjs +3 -3
- package/esm2022/select2/src/directive/item-template/item-template.directive.mjs +3 -3
- package/esm2022/select2/src/directive/suggestion-template/suggestion-template.directive.mjs +3 -3
- package/esm2022/select2/src/select2.module.mjs +4 -4
- package/esm2022/shell/src/shell/shell.component.mjs +3 -3
- package/esm2022/shell/src/shell-sidebar/shell-sidebar.directive.mjs +3 -3
- package/esm2022/shell/src/shell.module.mjs +4 -4
- package/esm2022/signature-pad/src/component/signature-pad.component.mjs +3 -3
- package/esm2022/slugify/src/slugify.pipe.mjs +3 -3
- package/esm2022/spinner/src/spinner.component.mjs +3 -3
- package/esm2022/split-string/src/split-string.pipe.mjs +3 -3
- package/esm2022/splitter/src/element-at/element-at.pipe.mjs +3 -3
- package/esm2022/splitter/src/split-panel/split-panel.component.mjs +3 -3
- package/esm2022/splitter/src/splitter/splitter.component.mjs +8 -9
- package/esm2022/splitter/src/splitter.module.mjs +6 -7
- package/esm2022/sticky-footer/src/sticky-footer/sticky-footer.component.mjs +3 -3
- package/esm2022/sticky-footer/src/sticky-footer-parent/sticky-footer-parent.directive.mjs +3 -3
- package/esm2022/sticky-footer/src/sticky-footer.module.mjs +4 -4
- package/esm2022/tab-control/src/tab-control/tab-control.component.mjs +7 -8
- package/esm2022/tab-control/src/tab-control.module.mjs +5 -8
- package/esm2022/tab-control/src/tab-page/tab-page.component.mjs +3 -3
- package/esm2022/tab-control/src/tab-page-header/tab-page-header.directive.mjs +3 -3
- package/esm2022/table/src/component/table.component.mjs +3 -3
- package/esm2022/timepicker/src/timepicker.component.mjs +3 -3
- package/esm2022/toast/src/components/toast/toast.component.mjs +3 -3
- package/esm2022/toast/src/components/toast-body/toast-body.component.mjs +3 -3
- package/esm2022/toast/src/components/toast-container/toast-container.component.mjs +3 -3
- package/esm2022/toast/src/components/toast-header/toast-header.component.mjs +3 -3
- package/esm2022/toast/src/directives/toast-close/toast-close.directive.mjs +3 -3
- package/esm2022/toast/src/pipes/add-properties.pipe.mjs +3 -3
- package/esm2022/toast/src/services/toast/toast.service.mjs +3 -3
- package/esm2022/toast/src/toast.module.mjs +4 -4
- package/esm2022/toggle-button/src/component/toggle-button.component.mjs +3 -3
- package/esm2022/toggle-button/src/directives/toggle-button-group/toggle-button-group.directive.mjs +3 -3
- package/esm2022/toggle-button/src/toggle-button.module.mjs +4 -4
- package/esm2022/toggle-button/src/value-accessor/toggle-button-value-accessor.mjs +3 -3
- package/esm2022/tooltip/src/component/tooltip.component.mjs +3 -3
- package/esm2022/tooltip/src/directive/tooltip.directive.mjs +3 -3
- package/esm2022/tooltip/src/tooltip.module.mjs +4 -4
- package/esm2022/treeview/src/treeview/treeview.component.mjs +3 -3
- package/esm2022/treeview/src/treeview-item/treeview-item.component.mjs +3 -3
- package/esm2022/treeview/src/treeview.module.mjs +4 -4
- package/esm2022/trust-html/src/trust-html.pipe.mjs +3 -3
- package/esm2022/typeahead/src/typeahead.component.mjs +3 -3
- package/esm2022/uc-first/src/uc-first.pipe.mjs +3 -3
- package/esm2022/user-agent/src/directive/user-agent.directive.mjs +3 -3
- package/esm2022/word-count/src/word-count.pipe.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-accordion.mjs +13 -13
- package/fesm2022/mintplayer-ng-bootstrap-alert.mjs +10 -10
- package/fesm2022/mintplayer-ng-bootstrap-badge.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-breadcrumb.mjs +10 -10
- package/fesm2022/mintplayer-ng-bootstrap-button-group.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-button-type.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-calendar-month.mjs +9 -9
- package/fesm2022/mintplayer-ng-bootstrap-calendar.mjs +4 -5
- package/fesm2022/mintplayer-ng-bootstrap-calendar.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-card.mjs +10 -10
- package/fesm2022/mintplayer-ng-bootstrap-carousel.mjs +16 -20
- package/fesm2022/mintplayer-ng-bootstrap-carousel.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-close.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-code-snippet.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-color-picker.mjs +30 -34
- package/fesm2022/mintplayer-ng-bootstrap-color-picker.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-container.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-context-menu.mjs +7 -7
- package/fesm2022/mintplayer-ng-bootstrap-copy.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-datatable.mjs +13 -13
- package/fesm2022/mintplayer-ng-bootstrap-datepicker.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-dock.mjs +19 -19
- package/fesm2022/mintplayer-ng-bootstrap-dropdown-divider.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-dropdown-menu.mjs +10 -10
- package/fesm2022/mintplayer-ng-bootstrap-dropdown.mjs +13 -13
- package/fesm2022/mintplayer-ng-bootstrap-enhanced-paste.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-enum.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-file-upload.mjs +13 -13
- package/fesm2022/mintplayer-ng-bootstrap-floating-labels.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-font-color.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-for.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-form.mjs +13 -13
- package/fesm2022/mintplayer-ng-bootstrap-grid.mjs +19 -19
- package/fesm2022/mintplayer-ng-bootstrap-has-overlay.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-has-property.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-in-list.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-input-group.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-instance-of.mjs +16 -16
- package/fesm2022/mintplayer-ng-bootstrap-let.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-linify.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-list-group.mjs +10 -10
- package/fesm2022/mintplayer-ng-bootstrap-markdown.mjs +12 -12
- package/fesm2022/mintplayer-ng-bootstrap-marquee.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-modal.mjs +25 -25
- package/fesm2022/mintplayer-ng-bootstrap-multiselect.mjs +16 -16
- package/fesm2022/mintplayer-ng-bootstrap-navbar-toggler.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-navbar.mjs +31 -31
- package/fesm2022/mintplayer-ng-bootstrap-navigation-lock.mjs +10 -10
- package/fesm2022/mintplayer-ng-bootstrap-no-noscript.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-offcanvas.mjs +25 -25
- package/fesm2022/mintplayer-ng-bootstrap-ordinal-number.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-pagination.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-parallax.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-placeholder.mjs +10 -10
- package/fesm2022/mintplayer-ng-bootstrap-playlist-toggler.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-popover.mjs +16 -16
- package/fesm2022/mintplayer-ng-bootstrap-progress-bar.mjs +10 -10
- package/fesm2022/mintplayer-ng-bootstrap-range.mjs +10 -10
- package/fesm2022/mintplayer-ng-bootstrap-rating.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-resizable.mjs +10 -10
- package/fesm2022/mintplayer-ng-bootstrap-scheduler.mjs +25 -25
- package/fesm2022/mintplayer-ng-bootstrap-scrollspy.mjs +13 -13
- package/fesm2022/mintplayer-ng-bootstrap-searchbox.mjs +22 -26
- package/fesm2022/mintplayer-ng-bootstrap-searchbox.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-select.mjs +13 -13
- package/fesm2022/mintplayer-ng-bootstrap-select2.mjs +13 -13
- package/fesm2022/mintplayer-ng-bootstrap-shell.mjs +10 -10
- package/fesm2022/mintplayer-ng-bootstrap-signature-pad.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-slugify.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-spinner.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-split-string.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-splitter.mjs +17 -19
- package/fesm2022/mintplayer-ng-bootstrap-splitter.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-sticky-footer.mjs +10 -10
- package/fesm2022/mintplayer-ng-bootstrap-tab-control.mjs +15 -19
- package/fesm2022/mintplayer-ng-bootstrap-tab-control.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-table.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-timepicker.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-toast.mjs +25 -25
- package/fesm2022/mintplayer-ng-bootstrap-toggle-button.mjs +13 -13
- package/fesm2022/mintplayer-ng-bootstrap-tooltip.mjs +10 -10
- package/fesm2022/mintplayer-ng-bootstrap-treeview.mjs +10 -10
- package/fesm2022/mintplayer-ng-bootstrap-trust-html.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-typeahead.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-uc-first.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-user-agent.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-word-count.mjs +3 -3
- package/font-color/index.d.ts +1 -0
- package/font-color/src/font-color.pipe.d.ts +1 -0
- package/for/index.d.ts +1 -0
- package/for/src/for.directive.d.ts +1 -0
- package/for/src/index.d.ts +1 -0
- package/has-id/index.d.ts +1 -0
- package/has-id/src/has-id.d.ts +1 -0
- package/has-property/index.d.ts +1 -0
- package/has-property/src/has-property.pipe.d.ts +1 -0
- package/has-property/src/index.d.ts +1 -0
- package/in-list/index.d.ts +1 -0
- package/in-list/src/in-list.pipe.d.ts +1 -0
- package/index.d.ts +1 -0
- package/instance-of/index.d.ts +1 -0
- package/instance-of/src/directives/index.d.ts +1 -0
- package/instance-of/src/directives/instanceof-case.directive.d.ts +1 -0
- package/instance-of/src/directives/instanceof-default.directive.d.ts +1 -0
- package/instance-of/src/directives/instanceof.directive.d.ts +1 -0
- package/instance-of/src/directives/switch-view.d.ts +1 -0
- package/instance-of/src/index.d.ts +1 -0
- package/instance-of/src/instance-of.module.d.ts +1 -0
- package/instance-of/src/interfaces/index.d.ts +1 -0
- package/instance-of/src/interfaces/instance-of-context.d.ts +1 -0
- package/instance-of/src/pipes/index.d.ts +1 -0
- package/instance-of/src/pipes/instance-of.pipe.d.ts +1 -0
- package/instance-of/src/types/abstract.type.d.ts +1 -0
- package/instance-of/src/types/index.d.ts +1 -0
- package/let/directive/let.directive.d.ts +1 -0
- package/let/index.d.ts +1 -0
- package/let/interfaces/index.d.ts +1 -0
- package/let/interfaces/let-context.d.ts +1 -0
- package/lib/enums/color.enum.d.ts +1 -0
- package/lib/enums/index.d.ts +1 -0
- package/lib/providers/development.provider.d.ts +1 -0
- package/lib/providers/index.d.ts +1 -0
- package/lib/types/breakpoint.d.ts +1 -0
- package/lib/types/index.d.ts +1 -0
- package/lib/types/position.d.ts +1 -0
- package/lib/types/size.d.ts +1 -0
- package/linify/index.d.ts +1 -0
- package/linify/src/linify.pipe.d.ts +1 -0
- package/markdown/index.d.ts +1 -0
- package/markdown/src/bold/bold.pipe.d.ts +1 -0
- package/markdown/src/italic/italic.pipe.d.ts +1 -0
- package/markdown/src/strikethrough/strikethrough.pipe.d.ts +1 -0
- package/markdown/src/underline/underline.pipe.d.ts +1 -0
- package/navigation-lock/index.d.ts +1 -0
- package/navigation-lock/src/directive/navigation-lock.directive.d.ts +1 -0
- package/navigation-lock/src/guard/navigation-lock.guard.d.ts +1 -0
- package/navigation-lock/src/index.d.ts +1 -0
- package/navigation-lock/src/interface/has-navigation-lock.d.ts +1 -0
- package/navigation-lock/src/navigation-lock.module.d.ts +1 -0
- package/no-noscript/index.d.ts +1 -0
- package/no-noscript/src/index.d.ts +1 -0
- package/no-noscript/src/no-noscript/no-noscript.directive.d.ts +1 -0
- package/ordinal-number/index.d.ts +1 -0
- package/ordinal-number/src/index.d.ts +1 -0
- package/ordinal-number/src/ordinal-number/ordinal-number.pipe.d.ts +1 -0
- package/package.json +1 -1
- package/searchbox/src/searchbox.module.d.ts +6 -7
- package/slugify/index.d.ts +1 -0
- package/slugify/src/slugify.pipe.d.ts +1 -0
- package/split-string/index.d.ts +1 -0
- package/split-string/src/split-string.pipe.d.ts +1 -0
- package/splitter/src/splitter.module.d.ts +2 -3
- package/tab-control/src/tab-control.module.d.ts +2 -3
- package/trust-html/index.d.ts +1 -0
- package/trust-html/src/trust-html.pipe.d.ts +1 -0
- package/uc-first/index.d.ts +1 -0
- package/uc-first/src/uc-first.pipe.d.ts +1 -0
- package/user-agent/index.d.ts +1 -0
- package/user-agent/src/directive/index.d.ts +1 -0
- package/user-agent/src/directive/user-agent.directive.d.ts +1 -0
- package/user-agent/src/index.d.ts +1 -0
- package/user-agent/src/interfaces/index.d.ts +1 -0
- package/user-agent/src/interfaces/user-agent.d.ts +1 -0
- package/user-agent/src/types/index.d.ts +1 -0
- package/user-agent/src/types/operating-system.type.d.ts +1 -0
- package/user-agent/src/types/webbrowser.type.d.ts +1 -0
- package/word-count/index.d.ts +1 -0
- package/word-count/src/word-count.pipe.d.ts +1 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Component } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export class BsButtonGroupComponent {
|
|
4
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0
|
|
5
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0
|
|
4
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BsButtonGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: BsButtonGroupComponent, isStandalone: true, selector: "bs-button-group", ngImport: i0, template: "<div class=\"btn-group\" role=\"group\" aria-label=\"Basic example\">\n <ng-content></ng-content>\n</div>", styles: [":host ::ng-deep .btn-group,:host ::ng-deep .btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}:host ::ng-deep .btn-group>.btn,:host ::ng-deep .btn-group-vertical>.btn{position:relative;flex:1 1 auto}:host ::ng-deep .btn-group>.btn-check:checked+.btn,:host ::ng-deep .btn-group>.btn-check:focus+.btn,:host ::ng-deep .btn-group>.btn:hover,:host ::ng-deep .btn-group>.btn:focus,:host ::ng-deep .btn-group>.btn:active,:host ::ng-deep .btn-group>.btn.active,:host ::ng-deep .btn-group-vertical>.btn-check:checked+.btn,:host ::ng-deep .btn-group-vertical>.btn-check:focus+.btn,:host ::ng-deep .btn-group-vertical>.btn:hover,:host ::ng-deep .btn-group-vertical>.btn:focus,:host ::ng-deep .btn-group-vertical>.btn:active,:host ::ng-deep .btn-group-vertical>.btn.active{z-index:1}:host ::ng-deep .btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}:host ::ng-deep .btn-toolbar .input-group{width:auto}:host ::ng-deep .btn-group{border-radius:var(--bs-border-radius)}:host ::ng-deep .btn-group>:not(.btn-check:first-child)+.btn,:host ::ng-deep .btn-group>.btn-group:not(:first-child){margin-left:calc(var(--bs-border-width) * -1)}:host ::ng-deep .btn-group>.btn:not(:last-child):not(.dropdown-toggle),:host ::ng-deep .btn-group>.btn.dropdown-toggle-split:first-child,:host ::ng-deep .btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}:host ::ng-deep .btn-group>.btn:nth-child(n+3),:host ::ng-deep .btn-group>:not(.btn-check)+.btn,:host ::ng-deep .btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}:host ::ng-deep .dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}:host ::ng-deep .dropdown-toggle-split:after,.dropup :host ::ng-deep .dropdown-toggle-split:after,.dropend :host ::ng-deep .dropdown-toggle-split:after{margin-left:0}.dropstart :host ::ng-deep .dropdown-toggle-split:before{margin-right:0}:host ::ng-deep .btn-sm+.dropdown-toggle-split,:host ::ng-deep .btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}:host ::ng-deep .btn-lg+.dropdown-toggle-split,:host ::ng-deep .btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}:host ::ng-deep .btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}:host ::ng-deep .btn-group-vertical>.btn,:host ::ng-deep .btn-group-vertical>.btn-group{width:100%}:host ::ng-deep .btn-group-vertical>.btn:not(:first-child),:host ::ng-deep .btn-group-vertical>.btn-group:not(:first-child){margin-top:calc(var(--bs-border-width) * -1)}:host ::ng-deep .btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),:host ::ng-deep .btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}:host ::ng-deep .btn-group-vertical>.btn~.btn,:host ::ng-deep .btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}\n"] }); }
|
|
6
6
|
}
|
|
7
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0
|
|
7
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BsButtonGroupComponent, decorators: [{
|
|
8
8
|
type: Component,
|
|
9
9
|
args: [{ selector: 'bs-button-group', standalone: true, template: "<div class=\"btn-group\" role=\"group\" aria-label=\"Basic example\">\n <ng-content></ng-content>\n</div>", styles: [":host ::ng-deep .btn-group,:host ::ng-deep .btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}:host ::ng-deep .btn-group>.btn,:host ::ng-deep .btn-group-vertical>.btn{position:relative;flex:1 1 auto}:host ::ng-deep .btn-group>.btn-check:checked+.btn,:host ::ng-deep .btn-group>.btn-check:focus+.btn,:host ::ng-deep .btn-group>.btn:hover,:host ::ng-deep .btn-group>.btn:focus,:host ::ng-deep .btn-group>.btn:active,:host ::ng-deep .btn-group>.btn.active,:host ::ng-deep .btn-group-vertical>.btn-check:checked+.btn,:host ::ng-deep .btn-group-vertical>.btn-check:focus+.btn,:host ::ng-deep .btn-group-vertical>.btn:hover,:host ::ng-deep .btn-group-vertical>.btn:focus,:host ::ng-deep .btn-group-vertical>.btn:active,:host ::ng-deep .btn-group-vertical>.btn.active{z-index:1}:host ::ng-deep .btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}:host ::ng-deep .btn-toolbar .input-group{width:auto}:host ::ng-deep .btn-group{border-radius:var(--bs-border-radius)}:host ::ng-deep .btn-group>:not(.btn-check:first-child)+.btn,:host ::ng-deep .btn-group>.btn-group:not(:first-child){margin-left:calc(var(--bs-border-width) * -1)}:host ::ng-deep .btn-group>.btn:not(:last-child):not(.dropdown-toggle),:host ::ng-deep .btn-group>.btn.dropdown-toggle-split:first-child,:host ::ng-deep .btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}:host ::ng-deep .btn-group>.btn:nth-child(n+3),:host ::ng-deep .btn-group>:not(.btn-check)+.btn,:host ::ng-deep .btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}:host ::ng-deep .dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}:host ::ng-deep .dropdown-toggle-split:after,.dropup :host ::ng-deep .dropdown-toggle-split:after,.dropend :host ::ng-deep .dropdown-toggle-split:after{margin-left:0}.dropstart :host ::ng-deep .dropdown-toggle-split:before{margin-right:0}:host ::ng-deep .btn-sm+.dropdown-toggle-split,:host ::ng-deep .btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}:host ::ng-deep .btn-lg+.dropdown-toggle-split,:host ::ng-deep .btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}:host ::ng-deep .btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}:host ::ng-deep .btn-group-vertical>.btn,:host ::ng-deep .btn-group-vertical>.btn-group{width:100%}:host ::ng-deep .btn-group-vertical>.btn:not(:first-child),:host ::ng-deep .btn-group-vertical>.btn-group:not(:first-child){margin-top:calc(var(--bs-border-width) * -1)}:host ::ng-deep .btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),:host ::ng-deep .btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}:host ::ng-deep .btn-group-vertical>.btn~.btn,:host ::ng-deep .btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}\n"] }]
|
|
10
10
|
}] });
|
|
@@ -10,10 +10,10 @@ export class BsButtonTypeDirective {
|
|
|
10
10
|
const name = Color[value];
|
|
11
11
|
this.buttonClass = `btn-${name}`;
|
|
12
12
|
}
|
|
13
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0
|
|
14
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0
|
|
13
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BsButtonTypeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
14
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.0", type: BsButtonTypeDirective, isStandalone: true, selector: "button[color],input[type=\"button\"][color],input[type=\"submit\"][color],a[color]", inputs: { color: "color" }, host: { properties: { "class.btn": "this.btnClass", "class": "this.buttonClass" } }, ngImport: i0 }); }
|
|
15
15
|
}
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BsButtonTypeDirective, decorators: [{
|
|
17
17
|
type: Directive,
|
|
18
18
|
args: [{
|
|
19
19
|
selector: 'button[color],input[type="button"][color],input[type="submit"][color],a[color]',
|
|
@@ -5,7 +5,6 @@ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
|
5
5
|
import { BehaviorSubject, filter, map, take } from 'rxjs';
|
|
6
6
|
import { BsCalendarMonthService, BsMonthNamePipe, BsWeekdayNamePipe } from '@mintplayer/ng-bootstrap/calendar-month';
|
|
7
7
|
import { DomSanitizer } from '@angular/platform-browser';
|
|
8
|
-
import { BsLetDirective } from '@mintplayer/ng-bootstrap/let';
|
|
9
8
|
import { BsUcFirstPipe } from '@mintplayer/ng-bootstrap/uc-first';
|
|
10
9
|
import * as i0 from "@angular/core";
|
|
11
10
|
import * as i1 from "@angular/platform-browser";
|
|
@@ -90,12 +89,12 @@ export class BsCalendarComponent {
|
|
|
90
89
|
this.selectedDate$.next(day.date);
|
|
91
90
|
}
|
|
92
91
|
}
|
|
93
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0
|
|
94
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0
|
|
92
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BsCalendarComponent, deps: [{ token: i1.DomSanitizer }, { token: i2.BsCalendarMonthService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
93
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: BsCalendarComponent, isStandalone: true, selector: "bs-calendar", inputs: { currentMonth: "currentMonth", selectedDate: "selectedDate", disableDateFn: "disableDateFn" }, outputs: { currentMonthChange: "currentMonthChange", selectedDateChange: "selectedDateChange" }, ngImport: i0, template: "<table class=\"table w-auto mb-0\">\n <tr>\n <td>\n <button class=\"btn btn-default\" (click)=\"previousMonth()\">\n <span [innerHTML]=\"chevronLeft\" class=\"fw-bolder\"></span>\n </button>\n </td>\n <td colspan=\"6\" class=\"fw-bolder\">\n {{ currentMonth$ | async | monthName | bsUcFirst }}\n {{ (currentMonth$ | async)?.getFullYear() }}\n </td>\n <td>\n <button class=\"btn btn-default border-bottom-0\" (click)=\"nextMonth()\">\n <span [innerHTML]=\"chevronRight\" class=\"fw-bolder\"></span>\n </button>\n </td>\n </tr>\n <tr>\n <th></th>\n @for (dayOfWeek of shownDays$ | async; track dayOfWeek.long) {\n <th [title]=\"dayOfWeek.long\">\n {{ dayOfWeek.short }}\n </th>\n }\n </tr>\n @for (week of (weeks$ | async); track week.number) {\n <tr>\n <th>\n {{ week.number }}\n </th>\n @for (day of week.days; track day?.date) {\n @let showSpan = (day !== null) && day.isInMonth;\n @let disabled = disableDateFn && day && disableDateFn(day.date);\n <td [class.selected]=\"day === null ? false : !day.isInMonth ? false : isSameDate(selectedDate$ | async, day.date)\" [class.cursor-pointer]=\"showSpan && !disabled\" (click)=\"goto(day)\">\n @if (showSpan) {\n <span [class.text-muted]=\"disabled\">{{ day.dayOfMonth }}</span>\n }\n </td>\n }\n </tr>\n }\n</table>", styles: [".text-muted{color:#9ea7af!important}table{border-collapse:collapse;border:1px solid var(--bs-border-color);background:#fff}table td,table th{width:40px;height:40px;text-align:center;cursor:default}table td span,table th span{white-space:nowrap}table td.selected{background-color:#0d6efd;color:#fff}table th{background-color:#f8f9fa}table tr{border-top:none}table tr:first-child>td{border-bottom:1px solid var(--bs-border-color)}table tr:nth-of-type(2)>th:not(:nth-of-type(1)){border-bottom:1px solid var(--bs-border-color)}table tr:not(:nth-of-type(2))>th:nth-of-type(1){border-right:1px solid var(--bs-border-color)}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: BsUcFirstPipe, name: "bsUcFirst" }, { kind: "pipe", type: BsMonthNamePipe, name: "monthName" }] }); }
|
|
95
94
|
}
|
|
96
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0
|
|
95
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BsCalendarComponent, decorators: [{
|
|
97
96
|
type: Component,
|
|
98
|
-
args: [{ selector: 'bs-calendar', standalone: true, imports: [AsyncPipe,
|
|
97
|
+
args: [{ selector: 'bs-calendar', standalone: true, imports: [AsyncPipe, BsUcFirstPipe, BsMonthNamePipe, BsWeekdayNamePipe], template: "<table class=\"table w-auto mb-0\">\n <tr>\n <td>\n <button class=\"btn btn-default\" (click)=\"previousMonth()\">\n <span [innerHTML]=\"chevronLeft\" class=\"fw-bolder\"></span>\n </button>\n </td>\n <td colspan=\"6\" class=\"fw-bolder\">\n {{ currentMonth$ | async | monthName | bsUcFirst }}\n {{ (currentMonth$ | async)?.getFullYear() }}\n </td>\n <td>\n <button class=\"btn btn-default border-bottom-0\" (click)=\"nextMonth()\">\n <span [innerHTML]=\"chevronRight\" class=\"fw-bolder\"></span>\n </button>\n </td>\n </tr>\n <tr>\n <th></th>\n @for (dayOfWeek of shownDays$ | async; track dayOfWeek.long) {\n <th [title]=\"dayOfWeek.long\">\n {{ dayOfWeek.short }}\n </th>\n }\n </tr>\n @for (week of (weeks$ | async); track week.number) {\n <tr>\n <th>\n {{ week.number }}\n </th>\n @for (day of week.days; track day?.date) {\n @let showSpan = (day !== null) && day.isInMonth;\n @let disabled = disableDateFn && day && disableDateFn(day.date);\n <td [class.selected]=\"day === null ? false : !day.isInMonth ? false : isSameDate(selectedDate$ | async, day.date)\" [class.cursor-pointer]=\"showSpan && !disabled\" (click)=\"goto(day)\">\n @if (showSpan) {\n <span [class.text-muted]=\"disabled\">{{ day.dayOfMonth }}</span>\n }\n </td>\n }\n </tr>\n }\n</table>", styles: [".text-muted{color:#9ea7af!important}table{border-collapse:collapse;border:1px solid var(--bs-border-color);background:#fff}table td,table th{width:40px;height:40px;text-align:center;cursor:default}table td span,table th span{white-space:nowrap}table td.selected{background-color:#0d6efd;color:#fff}table th{background-color:#f8f9fa}table tr{border-top:none}table tr:first-child>td{border-bottom:1px solid var(--bs-border-color)}table tr:nth-of-type(2)>th:not(:nth-of-type(1)){border-bottom:1px solid var(--bs-border-color)}table tr:not(:nth-of-type(2))>th:nth-of-type(1){border-right:1px solid var(--bs-border-color)}\n"] }]
|
|
99
98
|
}], ctorParameters: () => [{ type: i1.DomSanitizer }, { type: i2.BsCalendarMonthService }], propDecorators: { currentMonthChange: [{
|
|
100
99
|
type: Output
|
|
101
100
|
}], currentMonth: [{
|
|
@@ -107,4 +106,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
|
|
|
107
106
|
}], disableDateFn: [{
|
|
108
107
|
type: Input
|
|
109
108
|
}] } });
|
|
110
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9jYWxlbmRhci9zcmMvY2FsZW5kYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9jYWxlbmRhci9zcmMvY2FsZW5kYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUNBQWlDO0FBRWpDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBYyxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLGVBQWUsRUFBRSxpQkFBaUIsRUFBaUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUNwSixPQUFPLEVBQUUsWUFBWSxFQUFZLE1BQU0sMkJBQTJCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzlELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7OztBQVNsRSxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLFlBQW9CLFNBQXVCLEVBQVUsb0JBQTRDO1FBQTdFLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFBVSx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXdCO1FBMkNqRyxzQkFBc0I7UUFDdEIsa0JBQWEsR0FBRyxJQUFJLGVBQWUsQ0FBTyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUM7UUFDckMsdUJBQWtC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SUFBSSxLQUFLLEtBQUssSUFBSTtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBRW5ELE9BQU8sQ0FDTCxLQUFLLENBQUMsV0FBVyxFQUFFLEtBQUssS0FBSyxDQUFDLFdBQVcsRUFBRTtZQUMzQyxLQUFLLENBQUMsUUFBUSxFQUFFLEtBQUssS0FBSyxDQUFDLFFBQVEsRUFBRTtZQUNyQyxLQUFLLENBQUMsT0FBTyxFQUFFLEtBQUssS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUNwQyxDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksQ0FBQyxHQUEwQjtRQUM3QixJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsU0FBUyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ25GLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQyxDQUFDO0lBQ0gsQ0FBQzs4R0F0R1UsbUJBQW1CO2tHQUFuQixtQkFBbUIsZ1JDbEJoQyxreURBMkNRLGdxQkQzQkksU0FBUyw4Q0FBRSxjQUFjLGtFQUFFLGFBQWEsNkNBQUUsZUFBZTs7MkZBRXhELG1CQUFtQjtrQkFQL0IsU0FBUzsrQkFDRSxhQUFhLGNBR1gsSUFBSSxXQUNQLENBQUMsU0FBUyxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixDQUFDO3NIQWdEdEUsa0JBQWtCO3NCQUFsQyxNQUFNO2dCQUlNLFlBQVk7c0JBQXhCLEtBQUs7Z0JBTVcsa0JBQWtCO3NCQUFsQyxNQUFNO2dCQUlNLFlBQVk7c0JBQXhCLEtBQUs7Z0JBS0csYUFBYTtzQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8cmVmZXJlbmNlIHR5cGVzPVwiLi90eXBlc1wiIC8+XG5cbmltcG9ydCB7IEFzeW5jUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmaWx0ZXIsIG1hcCwgT2JzZXJ2YWJsZSwgdGFrZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQnNDYWxlbmRhck1vbnRoU2VydmljZSwgQnNNb250aE5hbWVQaXBlLCBCc1dlZWtkYXlOYW1lUGlwZSwgRGF0ZURheU9mTW9udGgsIFdlZWssIFdlZWtEYXkgfSBmcm9tICdAbWludHBsYXllci9uZy1ib290c3RyYXAvY2FsZW5kYXItbW9udGgnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgQnNMZXREaXJlY3RpdmUgfSBmcm9tICdAbWludHBsYXllci9uZy1ib290c3RyYXAvbGV0JztcbmltcG9ydCB7IEJzVWNGaXJzdFBpcGUgfSBmcm9tICdAbWludHBsYXllci9uZy1ib290c3RyYXAvdWMtZmlyc3QnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicy1jYWxlbmRhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYWxlbmRhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NhbGVuZGFyLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtBc3luY1BpcGUsIEJzTGV0RGlyZWN0aXZlLCBCc1VjRmlyc3RQaXBlLCBCc01vbnRoTmFtZVBpcGUsIEJzV2Vla2RheU5hbWVQaXBlXVxufSlcbmV4cG9ydCBjbGFzcyBCc0NhbGVuZGFyQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplciwgcHJpdmF0ZSBjYWxlbmRhck1vbnRoU2VydmljZTogQnNDYWxlbmRhck1vbnRoU2VydmljZSkge1xuICAgIHRoaXMud2Vla3MkID0gdGhpcy5jdXJyZW50TW9udGgkXG4gICAgICAucGlwZShtYXAoKG1vbnRoKSA9PiB0aGlzLmNhbGVuZGFyTW9udGhTZXJ2aWNlLmdldFdlZWtzKG1vbnRoKSkpO1xuICAgIHRoaXMuc2hvd25EYXlzJCA9IHRoaXMud2Vla3MkXG4gICAgICAucGlwZShmaWx0ZXIoKHdlZWtzKSA9PiB3ZWVrcy5sZW5ndGggPiAxKSlcbiAgICAgIC5waXBlKG1hcCgod2Vla3MpID0+IHdlZWtzWzFdLmRheXMpKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoZGF5cykgPT4ge1xuICAgICAgICAgIGNvbnN0IGZpcnN0RGF5ID0gZGF5c1swXTtcbiAgICAgICAgICBpZiAoZmlyc3REYXkpIHtcbiAgICAgICAgICAgIHJldHVybiBkYXlzLm1hcCgoZCkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoXG4gICAgICAgICAgICAgICAgZmlyc3REYXkuZGF0ZS5nZXRGdWxsWWVhcigpLFxuICAgICAgICAgICAgICAgIGZpcnN0RGF5LmRhdGUuZ2V0TW9udGgoKSxcbiAgICAgICAgICAgICAgICBkPy5kYXlPZk1vbnRoXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIHJldHVybiA8V2Vla0RheT57XG4gICAgICAgICAgICAgICAgc2hvcnQ6IGRhdGUudG9Mb2NhbGVTdHJpbmcoJ2RlZmF1bHQnLCB7IHdlZWtkYXk6ICdzaG9ydCcgfSksXG4gICAgICAgICAgICAgICAgbG9uZzogZGF0ZS50b0xvY2FsZVN0cmluZygnZGVmYXVsdCcsIHsgd2Vla2RheTogJ2xvbmcnIH0pXG4gICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgdGhpcy5zZWxlY3RlZERhdGUkLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpXG4gICAgICAuc3Vic2NyaWJlKGRhdGUgPT4gdGhpcy5zZWxlY3RlZERhdGVDaGFuZ2UuZW1pdChkYXRlKSk7XG4gICAgdGhpcy5jdXJyZW50TW9udGgkLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpXG4gICAgICAuc3Vic2NyaWJlKG1vbnRoID0+IHRoaXMuY3VycmVudE1vbnRoQ2hhbmdlLmVtaXQobW9udGgpKTtcbiAgICBpbXBvcnQoJ2Jvb3RzdHJhcC1pY29ucy9pY29ucy9jaGV2cm9uLWxlZnQuc3ZnJykudGhlbigoaWNvbikgPT4ge1xuICAgICAgdGhpcy5jaGV2cm9uTGVmdCA9IHNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChpY29uLmRlZmF1bHQpO1xuICAgIH0pO1xuICAgIGltcG9ydCgnYm9vdHN0cmFwLWljb25zL2ljb25zL2NoZXZyb24tcmlnaHQuc3ZnJykudGhlbigoaWNvbikgPT4ge1xuICAgICAgdGhpcy5jaGV2cm9uUmlnaHQgPSBzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoaWNvbi5kZWZhdWx0KTtcbiAgICB9KTtcbiAgfVxuXG4gIGNoZXZyb25MZWZ0PzogU2FmZUh0bWw7XG4gIGNoZXZyb25SaWdodD86IFNhZmVIdG1sO1xuICB3ZWVrcyQ6IE9ic2VydmFibGU8V2Vla1tdPjtcbiAgc2hvd25EYXlzJDogT2JzZXJ2YWJsZTxXZWVrRGF5W10+O1xuXG4gIC8vI3JlZ2lvbiBDdXJyZW50TW9udGhcbiAgY3VycmVudE1vbnRoJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RGF0ZT4obmV3IERhdGUoKSk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgY3VycmVudE1vbnRoQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xuICBnZXQgY3VycmVudE1vbnRoKCkge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRNb250aCQudmFsdWU7XG4gIH1cbiAgQElucHV0KCkgc2V0IGN1cnJlbnRNb250aCh2YWx1ZTogRGF0ZSkge1xuICAgIHRoaXMuY3VycmVudE1vbnRoJC5uZXh0KHZhbHVlKTtcbiAgfVxuICAvLyNlbmRyZWdpb25cbiAgLy8jcmVnaW9uIFNlbGVjdGVkRGF0ZVxuICBzZWxlY3RlZERhdGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEYXRlPihuZXcgRGF0ZSgpKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBzZWxlY3RlZERhdGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XG4gIGdldCBzZWxlY3RlZERhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWREYXRlJC52YWx1ZTtcbiAgfVxuICBASW5wdXQoKSBzZXQgc2VsZWN0ZWREYXRlKHZhbHVlOiBEYXRlKSB7XG4gICAgdGhpcy5zZWxlY3RlZERhdGUkLm5leHQodmFsdWUpO1xuICB9XG4gIC8vI2VuZHJlZ2lvblxuXG4gIEBJbnB1dCgpIGRpc2FibGVEYXRlRm4/OiAoZGF0ZTogRGF0ZSkgPT4gYm9vbGVhbjtcblxuICBwcmV2aW91c01vbnRoKCkge1xuICAgIHRoaXMuY3VycmVudE1vbnRoJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgobW9udGgpID0+IHtcbiAgICAgIHRoaXMuY3VycmVudE1vbnRoJC5uZXh0KFxuICAgICAgICBuZXcgRGF0ZShtb250aC5nZXRGdWxsWWVhcigpLCBtb250aC5nZXRNb250aCgpIC0gMSwgMSlcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBuZXh0TW9udGgoKSB7XG4gICAgdGhpcy5jdXJyZW50TW9udGgkLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKChtb250aCkgPT4ge1xuICAgICAgdGhpcy5jdXJyZW50TW9udGgkLm5leHQoXG4gICAgICAgIG5ldyBEYXRlKG1vbnRoLmdldEZ1bGxZZWFyKCksIG1vbnRoLmdldE1vbnRoKCkgKyAxLCAxKVxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlzU2FtZURhdGUoZGF0ZTE6IERhdGUgfCBudWxsLCBkYXRlMjogRGF0ZSB8IG51bGwpIHtcbiAgICBpZiAoZGF0ZTEgPT09IG51bGwgJiYgZGF0ZTIgPT09IG51bGwpIHJldHVybiB0cnVlO1xuICAgIGlmIChkYXRlMSA9PT0gbnVsbCB8fCBkYXRlMiA9PT0gbnVsbCkgcmV0dXJuIGZhbHNlO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIGRhdGUxLmdldEZ1bGxZZWFyKCkgPT09IGRhdGUyLmdldEZ1bGxZZWFyKCkgJiZcbiAgICAgIGRhdGUxLmdldE1vbnRoKCkgPT09IGRhdGUyLmdldE1vbnRoKCkgJiZcbiAgICAgIGRhdGUxLmdldERhdGUoKSA9PT0gZGF0ZTIuZ2V0RGF0ZSgpXG4gICAgKTtcbiAgfVxuXG4gIGdvdG8oZGF5OiBEYXRlRGF5T2ZNb250aCB8IG51bGwpIHtcbiAgICBpZiAoZGF5ICYmIGRheS5pc0luTW9udGggJiYgKCF0aGlzLmRpc2FibGVEYXRlRm4gfHwgIXRoaXMuZGlzYWJsZURhdGVGbihkYXkuZGF0ZSkpKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZSQubmV4dChkYXkuZGF0ZSk7XG4gICAgfVxuICB9XG59XG4iLCI8dGFibGUgY2xhc3M9XCJ0YWJsZSB3LWF1dG8gbWItMFwiPlxuICAgIDx0cj5cbiAgICAgICAgPHRkPlxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tZGVmYXVsdFwiIChjbGljayk9XCJwcmV2aW91c01vbnRoKClcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cImNoZXZyb25MZWZ0XCIgY2xhc3M9XCJmdy1ib2xkZXJcIj48L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC90ZD5cbiAgICAgICAgPHRkIGNvbHNwYW49XCI2XCIgY2xhc3M9XCJmdy1ib2xkZXJcIj5cbiAgICAgICAgICAgIHt7IGN1cnJlbnRNb250aCQgfCBhc3luYyB8IG1vbnRoTmFtZSB8IGJzVWNGaXJzdCB9fVxuICAgICAgICAgICAge3sgKGN1cnJlbnRNb250aCQgfCBhc3luYyk/LmdldEZ1bGxZZWFyKCkgfX1cbiAgICAgICAgPC90ZD5cbiAgICAgICAgPHRkPlxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tZGVmYXVsdCBib3JkZXItYm90dG9tLTBcIiAoY2xpY2spPVwibmV4dE1vbnRoKClcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cImNoZXZyb25SaWdodFwiIGNsYXNzPVwiZnctYm9sZGVyXCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvdGQ+XG4gICAgPC90cj5cbiAgICA8dHI+XG4gICAgICAgIDx0aD48L3RoPlxuICAgICAgICBAZm9yIChkYXlPZldlZWsgb2Ygc2hvd25EYXlzJCB8IGFzeW5jOyB0cmFjayBkYXlPZldlZWsubG9uZykge1xuICAgICAgICAgICAgPHRoIFt0aXRsZV09XCJkYXlPZldlZWsubG9uZ1wiPlxuICAgICAgICAgICAgICAgIHt7IGRheU9mV2Vlay5zaG9ydCB9fVxuICAgICAgICAgICAgPC90aD5cbiAgICAgICAgfVxuICAgIDwvdHI+XG4gICAgQGZvciAod2VlayBvZiAod2Vla3MkIHwgYXN5bmMpOyB0cmFjayB3ZWVrLm51bWJlcikge1xuICAgICAgICA8dHI+XG4gICAgICAgICAgICA8dGg+XG4gICAgICAgICAgICAgICAge3sgd2Vlay5udW1iZXIgfX1cbiAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICBAZm9yIChkYXkgb2Ygd2Vlay5kYXlzOyB0cmFjayBkYXk/LmRhdGUpIHtcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpic0xldD1cIigoZGF5ICE9PSBudWxsKSAmJiBkYXkuaXNJbk1vbnRoKSBhcyBzaG93U3BhblwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpic0xldD1cIihkaXNhYmxlRGF0ZUZuICYmIGRpc2FibGVEYXRlRm4oZGF5LmRhdGUpKSBhcyBkaXNhYmxlZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkIFtjbGFzcy5zZWxlY3RlZF09XCJkYXkgPT09IG51bGwgPyBmYWxzZSA6ICFkYXkuaXNJbk1vbnRoID8gZmFsc2UgOiBpc1NhbWVEYXRlKHNlbGVjdGVkRGF0ZSQgfCBhc3luYywgZGF5LmRhdGUpXCIgW2NsYXNzLmN1cnNvci1wb2ludGVyXT1cInNob3dTcGFuICYmICFkaXNhYmxlZFwiIChjbGljayk9XCJnb3RvKGRheSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKHNob3dTcGFuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIFtjbGFzcy50ZXh0LW11dGVkXT1cImRpc2FibGVkXCI+e3sgZGF5LmRheU9mTW9udGggfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvdHI+XG4gICAgfVxuPC90YWJsZT4iXX0=
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9jYWxlbmRhci9zcmMvY2FsZW5kYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9jYWxlbmRhci9zcmMvY2FsZW5kYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUNBQWlDO0FBRWpDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBYyxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLGVBQWUsRUFBRSxpQkFBaUIsRUFBaUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUNwSixPQUFPLEVBQUUsWUFBWSxFQUFZLE1BQU0sMkJBQTJCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7O0FBU2xFLE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsWUFBb0IsU0FBdUIsRUFBVSxvQkFBNEM7UUFBN0UsY0FBUyxHQUFULFNBQVMsQ0FBYztRQUFVLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBd0I7UUEyQ2pHLHNCQUFzQjtRQUN0QixrQkFBYSxHQUFHLElBQUksZUFBZSxDQUFPLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNyQyx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBTy9ELFlBQVk7UUFDWixz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bkQsT0FBTyxDQUNMLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxLQUFLLENBQUMsV0FBVyxFQUFFO1lBQzNDLEtBQUssQ0FBQyxRQUFRLEVBQUUsS0FBSyxLQUFLLENBQUMsUUFBUSxFQUFFO1lBQ3JDLEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBSyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQ3BDLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxDQUFDLEdBQTBCO1FBQzdCLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDbkYsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BDLENBQUM7SUFDSCxDQUFDOzhHQXRHVSxtQkFBbUI7a0dBQW5CLG1CQUFtQixnUkNqQmhDLHlvREF5Q1EsZ3FCRDFCSSxTQUFTLHlDQUFFLGFBQWEsNkNBQUUsZUFBZTs7MkZBRXhDLG1CQUFtQjtrQkFQL0IsU0FBUzsrQkFDRSxhQUFhLGNBR1gsSUFBSSxXQUNQLENBQUMsU0FBUyxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLENBQUM7c0hBZ0R0RCxrQkFBa0I7c0JBQWxDLE1BQU07Z0JBSU0sWUFBWTtzQkFBeEIsS0FBSztnQkFNVyxrQkFBa0I7c0JBQWxDLE1BQU07Z0JBSU0sWUFBWTtzQkFBeEIsS0FBSztnQkFLRyxhQUFhO3NCQUFyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgdHlwZXM9XCIuL3R5cGVzXCIgLz5cblxuaW1wb3J0IHsgQXN5bmNQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZpbHRlciwgbWFwLCBPYnNlcnZhYmxlLCB0YWtlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBCc0NhbGVuZGFyTW9udGhTZXJ2aWNlLCBCc01vbnRoTmFtZVBpcGUsIEJzV2Vla2RheU5hbWVQaXBlLCBEYXRlRGF5T2ZNb250aCwgV2VlaywgV2Vla0RheSB9IGZyb20gJ0BtaW50cGxheWVyL25nLWJvb3RzdHJhcC9jYWxlbmRhci1tb250aCc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBCc1VjRmlyc3RQaXBlIH0gZnJvbSAnQG1pbnRwbGF5ZXIvbmctYm9vdHN0cmFwL3VjLWZpcnN0JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnMtY2FsZW5kYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FsZW5kYXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYWxlbmRhci5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQXN5bmNQaXBlLCBCc1VjRmlyc3RQaXBlLCBCc01vbnRoTmFtZVBpcGUsIEJzV2Vla2RheU5hbWVQaXBlXVxufSlcbmV4cG9ydCBjbGFzcyBCc0NhbGVuZGFyQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplciwgcHJpdmF0ZSBjYWxlbmRhck1vbnRoU2VydmljZTogQnNDYWxlbmRhck1vbnRoU2VydmljZSkge1xuICAgIHRoaXMud2Vla3MkID0gdGhpcy5jdXJyZW50TW9udGgkXG4gICAgICAucGlwZShtYXAoKG1vbnRoKSA9PiB0aGlzLmNhbGVuZGFyTW9udGhTZXJ2aWNlLmdldFdlZWtzKG1vbnRoKSkpO1xuICAgIHRoaXMuc2hvd25EYXlzJCA9IHRoaXMud2Vla3MkXG4gICAgICAucGlwZShmaWx0ZXIoKHdlZWtzKSA9PiB3ZWVrcy5sZW5ndGggPiAxKSlcbiAgICAgIC5waXBlKG1hcCgod2Vla3MpID0+IHdlZWtzWzFdLmRheXMpKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoZGF5cykgPT4ge1xuICAgICAgICAgIGNvbnN0IGZpcnN0RGF5ID0gZGF5c1swXTtcbiAgICAgICAgICBpZiAoZmlyc3REYXkpIHtcbiAgICAgICAgICAgIHJldHVybiBkYXlzLm1hcCgoZCkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoXG4gICAgICAgICAgICAgICAgZmlyc3REYXkuZGF0ZS5nZXRGdWxsWWVhcigpLFxuICAgICAgICAgICAgICAgIGZpcnN0RGF5LmRhdGUuZ2V0TW9udGgoKSxcbiAgICAgICAgICAgICAgICBkPy5kYXlPZk1vbnRoXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIHJldHVybiA8V2Vla0RheT57XG4gICAgICAgICAgICAgICAgc2hvcnQ6IGRhdGUudG9Mb2NhbGVTdHJpbmcoJ2RlZmF1bHQnLCB7IHdlZWtkYXk6ICdzaG9ydCcgfSksXG4gICAgICAgICAgICAgICAgbG9uZzogZGF0ZS50b0xvY2FsZVN0cmluZygnZGVmYXVsdCcsIHsgd2Vla2RheTogJ2xvbmcnIH0pXG4gICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgdGhpcy5zZWxlY3RlZERhdGUkLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpXG4gICAgICAuc3Vic2NyaWJlKGRhdGUgPT4gdGhpcy5zZWxlY3RlZERhdGVDaGFuZ2UuZW1pdChkYXRlKSk7XG4gICAgdGhpcy5jdXJyZW50TW9udGgkLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpXG4gICAgICAuc3Vic2NyaWJlKG1vbnRoID0+IHRoaXMuY3VycmVudE1vbnRoQ2hhbmdlLmVtaXQobW9udGgpKTtcbiAgICBpbXBvcnQoJ2Jvb3RzdHJhcC1pY29ucy9pY29ucy9jaGV2cm9uLWxlZnQuc3ZnJykudGhlbigoaWNvbikgPT4ge1xuICAgICAgdGhpcy5jaGV2cm9uTGVmdCA9IHNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChpY29uLmRlZmF1bHQpO1xuICAgIH0pO1xuICAgIGltcG9ydCgnYm9vdHN0cmFwLWljb25zL2ljb25zL2NoZXZyb24tcmlnaHQuc3ZnJykudGhlbigoaWNvbikgPT4ge1xuICAgICAgdGhpcy5jaGV2cm9uUmlnaHQgPSBzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoaWNvbi5kZWZhdWx0KTtcbiAgICB9KTtcbiAgfVxuXG4gIGNoZXZyb25MZWZ0PzogU2FmZUh0bWw7XG4gIGNoZXZyb25SaWdodD86IFNhZmVIdG1sO1xuICB3ZWVrcyQ6IE9ic2VydmFibGU8V2Vla1tdPjtcbiAgc2hvd25EYXlzJDogT2JzZXJ2YWJsZTxXZWVrRGF5W10+O1xuXG4gIC8vI3JlZ2lvbiBDdXJyZW50TW9udGhcbiAgY3VycmVudE1vbnRoJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RGF0ZT4obmV3IERhdGUoKSk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgY3VycmVudE1vbnRoQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xuICBnZXQgY3VycmVudE1vbnRoKCkge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRNb250aCQudmFsdWU7XG4gIH1cbiAgQElucHV0KCkgc2V0IGN1cnJlbnRNb250aCh2YWx1ZTogRGF0ZSkge1xuICAgIHRoaXMuY3VycmVudE1vbnRoJC5uZXh0KHZhbHVlKTtcbiAgfVxuICAvLyNlbmRyZWdpb25cbiAgLy8jcmVnaW9uIFNlbGVjdGVkRGF0ZVxuICBzZWxlY3RlZERhdGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEYXRlPihuZXcgRGF0ZSgpKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBzZWxlY3RlZERhdGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XG4gIGdldCBzZWxlY3RlZERhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWREYXRlJC52YWx1ZTtcbiAgfVxuICBASW5wdXQoKSBzZXQgc2VsZWN0ZWREYXRlKHZhbHVlOiBEYXRlKSB7XG4gICAgdGhpcy5zZWxlY3RlZERhdGUkLm5leHQodmFsdWUpO1xuICB9XG4gIC8vI2VuZHJlZ2lvblxuXG4gIEBJbnB1dCgpIGRpc2FibGVEYXRlRm4/OiAoZGF0ZTogRGF0ZSkgPT4gYm9vbGVhbjtcblxuICBwcmV2aW91c01vbnRoKCkge1xuICAgIHRoaXMuY3VycmVudE1vbnRoJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgobW9udGgpID0+IHtcbiAgICAgIHRoaXMuY3VycmVudE1vbnRoJC5uZXh0KFxuICAgICAgICBuZXcgRGF0ZShtb250aC5nZXRGdWxsWWVhcigpLCBtb250aC5nZXRNb250aCgpIC0gMSwgMSlcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBuZXh0TW9udGgoKSB7XG4gICAgdGhpcy5jdXJyZW50TW9udGgkLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKChtb250aCkgPT4ge1xuICAgICAgdGhpcy5jdXJyZW50TW9udGgkLm5leHQoXG4gICAgICAgIG5ldyBEYXRlKG1vbnRoLmdldEZ1bGxZZWFyKCksIG1vbnRoLmdldE1vbnRoKCkgKyAxLCAxKVxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlzU2FtZURhdGUoZGF0ZTE6IERhdGUgfCBudWxsLCBkYXRlMjogRGF0ZSB8IG51bGwpIHtcbiAgICBpZiAoZGF0ZTEgPT09IG51bGwgJiYgZGF0ZTIgPT09IG51bGwpIHJldHVybiB0cnVlO1xuICAgIGlmIChkYXRlMSA9PT0gbnVsbCB8fCBkYXRlMiA9PT0gbnVsbCkgcmV0dXJuIGZhbHNlO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIGRhdGUxLmdldEZ1bGxZZWFyKCkgPT09IGRhdGUyLmdldEZ1bGxZZWFyKCkgJiZcbiAgICAgIGRhdGUxLmdldE1vbnRoKCkgPT09IGRhdGUyLmdldE1vbnRoKCkgJiZcbiAgICAgIGRhdGUxLmdldERhdGUoKSA9PT0gZGF0ZTIuZ2V0RGF0ZSgpXG4gICAgKTtcbiAgfVxuXG4gIGdvdG8oZGF5OiBEYXRlRGF5T2ZNb250aCB8IG51bGwpIHtcbiAgICBpZiAoZGF5ICYmIGRheS5pc0luTW9udGggJiYgKCF0aGlzLmRpc2FibGVEYXRlRm4gfHwgIXRoaXMuZGlzYWJsZURhdGVGbihkYXkuZGF0ZSkpKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZSQubmV4dChkYXkuZGF0ZSk7XG4gICAgfVxuICB9XG59XG4iLCI8dGFibGUgY2xhc3M9XCJ0YWJsZSB3LWF1dG8gbWItMFwiPlxuICAgIDx0cj5cbiAgICAgICAgPHRkPlxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tZGVmYXVsdFwiIChjbGljayk9XCJwcmV2aW91c01vbnRoKClcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cImNoZXZyb25MZWZ0XCIgY2xhc3M9XCJmdy1ib2xkZXJcIj48L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC90ZD5cbiAgICAgICAgPHRkIGNvbHNwYW49XCI2XCIgY2xhc3M9XCJmdy1ib2xkZXJcIj5cbiAgICAgICAgICAgIHt7IGN1cnJlbnRNb250aCQgfCBhc3luYyB8IG1vbnRoTmFtZSB8IGJzVWNGaXJzdCB9fVxuICAgICAgICAgICAge3sgKGN1cnJlbnRNb250aCQgfCBhc3luYyk/LmdldEZ1bGxZZWFyKCkgfX1cbiAgICAgICAgPC90ZD5cbiAgICAgICAgPHRkPlxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tZGVmYXVsdCBib3JkZXItYm90dG9tLTBcIiAoY2xpY2spPVwibmV4dE1vbnRoKClcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cImNoZXZyb25SaWdodFwiIGNsYXNzPVwiZnctYm9sZGVyXCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvdGQ+XG4gICAgPC90cj5cbiAgICA8dHI+XG4gICAgICAgIDx0aD48L3RoPlxuICAgICAgICBAZm9yIChkYXlPZldlZWsgb2Ygc2hvd25EYXlzJCB8IGFzeW5jOyB0cmFjayBkYXlPZldlZWsubG9uZykge1xuICAgICAgICAgICAgPHRoIFt0aXRsZV09XCJkYXlPZldlZWsubG9uZ1wiPlxuICAgICAgICAgICAgICAgIHt7IGRheU9mV2Vlay5zaG9ydCB9fVxuICAgICAgICAgICAgPC90aD5cbiAgICAgICAgfVxuICAgIDwvdHI+XG4gICAgQGZvciAod2VlayBvZiAod2Vla3MkIHwgYXN5bmMpOyB0cmFjayB3ZWVrLm51bWJlcikge1xuICAgICAgICA8dHI+XG4gICAgICAgICAgICA8dGg+XG4gICAgICAgICAgICAgICAge3sgd2Vlay5udW1iZXIgfX1cbiAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICBAZm9yIChkYXkgb2Ygd2Vlay5kYXlzOyB0cmFjayBkYXk/LmRhdGUpIHtcbiAgICAgICAgICAgICAgICBAbGV0IHNob3dTcGFuID0gKGRheSAhPT0gbnVsbCkgJiYgZGF5LmlzSW5Nb250aDtcbiAgICAgICAgICAgICAgICBAbGV0IGRpc2FibGVkID0gZGlzYWJsZURhdGVGbiAmJiBkYXkgJiYgZGlzYWJsZURhdGVGbihkYXkuZGF0ZSk7XG4gICAgICAgICAgICAgICAgPHRkIFtjbGFzcy5zZWxlY3RlZF09XCJkYXkgPT09IG51bGwgPyBmYWxzZSA6ICFkYXkuaXNJbk1vbnRoID8gZmFsc2UgOiBpc1NhbWVEYXRlKHNlbGVjdGVkRGF0ZSQgfCBhc3luYywgZGF5LmRhdGUpXCIgW2NsYXNzLmN1cnNvci1wb2ludGVyXT1cInNob3dTcGFuICYmICFkaXNhYmxlZFwiIChjbGljayk9XCJnb3RvKGRheSlcIj5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChzaG93U3Bhbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gW2NsYXNzLnRleHQtbXV0ZWRdPVwiZGlzYWJsZWRcIj57eyBkYXkuZGF5T2ZNb250aCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvdHI+XG4gICAgfVxuPC90YWJsZT4iXX0=
|
|
@@ -9,10 +9,10 @@ export class BsMonthNamePipe {
|
|
|
9
9
|
return '';
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0
|
|
13
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0
|
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BsMonthNamePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
13
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.1.0", ngImport: i0, type: BsMonthNamePipe, isStandalone: true, name: "monthName" }); }
|
|
14
14
|
}
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BsMonthNamePipe, decorators: [{
|
|
16
16
|
type: Pipe,
|
|
17
17
|
args: [{
|
|
18
18
|
name: 'monthName',
|
|
@@ -4,10 +4,10 @@ export class BsWeekdayNamePipe {
|
|
|
4
4
|
transform(date) {
|
|
5
5
|
return date.toLocaleString("default", { weekday: 'short' });
|
|
6
6
|
}
|
|
7
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0
|
|
8
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BsWeekdayNamePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
8
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.1.0", ngImport: i0, type: BsWeekdayNamePipe, isStandalone: true, name: "weekdayName" }); }
|
|
9
9
|
}
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BsWeekdayNamePipe, decorators: [{
|
|
11
11
|
type: Pipe,
|
|
12
12
|
args: [{
|
|
13
13
|
name: 'weekdayName',
|
|
@@ -82,10 +82,10 @@ export class BsCalendarMonthService {
|
|
|
82
82
|
}
|
|
83
83
|
return sunday;
|
|
84
84
|
}
|
|
85
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0
|
|
86
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0
|
|
85
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BsCalendarMonthService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
86
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BsCalendarMonthService, providedIn: 'root' }); }
|
|
87
87
|
}
|
|
88
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0
|
|
88
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BsCalendarMonthService, decorators: [{
|
|
89
89
|
type: Injectable,
|
|
90
90
|
args: [{
|
|
91
91
|
providedIn: 'root'
|
|
@@ -4,10 +4,10 @@ export class BsCardComponent {
|
|
|
4
4
|
constructor() {
|
|
5
5
|
this.rounded = true;
|
|
6
6
|
}
|
|
7
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0
|
|
8
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BsCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: BsCardComponent, selector: "bs-card", inputs: { rounded: "rounded" }, ngImport: i0, template: "<div class=\"card\" [class.rounded-0]=\"!rounded\">\n <ng-content select=\"bs-card-header\"></ng-content>\n <div class=\"card-body p-0\">\n <ng-content></ng-content>\n </div>\n</div>", styles: [":host ::ng-deep .card{--bs-card-spacer-y: 1rem;--bs-card-spacer-x: 1rem;--bs-card-title-spacer-y: .5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width: var(--bs-border-width);--bs-card-border-color: var(--bs-border-color-translucent);--bs-card-border-radius: var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y: .5rem;--bs-card-cap-padding-x: 1rem;--bs-card-cap-bg: rgba(var(--bs-body-color-rgb), .03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg: var(--bs-body-bg);--bs-card-img-overlay-padding: 1rem;--bs-card-group-margin: .75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}:host ::ng-deep .card>hr{margin-right:0;margin-left:0}:host ::ng-deep .card>.list-group{border-top:inherit;border-bottom:inherit}:host ::ng-deep .card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}:host ::ng-deep .card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}:host ::ng-deep .card>.card-header+.list-group,:host ::ng-deep .card>.list-group+.card-footer{border-top:0}:host ::ng-deep .card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}:host ::ng-deep .card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}:host ::ng-deep .card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}:host ::ng-deep .card-text:last-child{margin-bottom:0}:host ::ng-deep .card-link+.card-link{margin-left:var(--bs-card-spacer-x)}:host ::ng-deep .card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}:host ::ng-deep .card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}:host ::ng-deep .card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}:host ::ng-deep .card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}:host ::ng-deep .card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}:host ::ng-deep .card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}:host ::ng-deep .card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}:host ::ng-deep .card-img-overlay{position:absolute;inset:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}:host ::ng-deep .card-img,:host ::ng-deep .card-img-top,:host ::ng-deep .card-img-bottom{width:100%}:host ::ng-deep .card-img,:host ::ng-deep .card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}:host ::ng-deep .card-img,:host ::ng-deep .card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}:host ::ng-deep .card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width: 576px){:host ::ng-deep .card-group{display:flex;flex-flow:row wrap}:host ::ng-deep .card-group>.card{flex:1 0 0%;margin-bottom:0}:host ::ng-deep .card-group>.card+.card{margin-left:0;border-left:0}:host ::ng-deep .card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}:host ::ng-deep .card-group>.card:not(:last-child) .card-img-top,:host ::ng-deep .card-group>.card:not(:last-child) .card-header{border-top-right-radius:0}:host ::ng-deep .card-group>.card:not(:last-child) .card-img-bottom,:host ::ng-deep .card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}:host ::ng-deep .card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}:host ::ng-deep .card-group>.card:not(:first-child) .card-img-top,:host ::ng-deep .card-group>.card:not(:first-child) .card-header{border-top-left-radius:0}:host ::ng-deep .card-group>.card:not(:first-child) .card-img-bottom,:host ::ng-deep .card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}}:host ::ng-deep .card-body{margin:-1px}\n"] }); }
|
|
9
9
|
}
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BsCardComponent, decorators: [{
|
|
11
11
|
type: Component,
|
|
12
12
|
args: [{ selector: 'bs-card', template: "<div class=\"card\" [class.rounded-0]=\"!rounded\">\n <ng-content select=\"bs-card-header\"></ng-content>\n <div class=\"card-body p-0\">\n <ng-content></ng-content>\n </div>\n</div>", styles: [":host ::ng-deep .card{--bs-card-spacer-y: 1rem;--bs-card-spacer-x: 1rem;--bs-card-title-spacer-y: .5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width: var(--bs-border-width);--bs-card-border-color: var(--bs-border-color-translucent);--bs-card-border-radius: var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y: .5rem;--bs-card-cap-padding-x: 1rem;--bs-card-cap-bg: rgba(var(--bs-body-color-rgb), .03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg: var(--bs-body-bg);--bs-card-img-overlay-padding: 1rem;--bs-card-group-margin: .75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}:host ::ng-deep .card>hr{margin-right:0;margin-left:0}:host ::ng-deep .card>.list-group{border-top:inherit;border-bottom:inherit}:host ::ng-deep .card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}:host ::ng-deep .card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}:host ::ng-deep .card>.card-header+.list-group,:host ::ng-deep .card>.list-group+.card-footer{border-top:0}:host ::ng-deep .card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}:host ::ng-deep .card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}:host ::ng-deep .card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}:host ::ng-deep .card-text:last-child{margin-bottom:0}:host ::ng-deep .card-link+.card-link{margin-left:var(--bs-card-spacer-x)}:host ::ng-deep .card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}:host ::ng-deep .card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}:host ::ng-deep .card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}:host ::ng-deep .card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}:host ::ng-deep .card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}:host ::ng-deep .card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}:host ::ng-deep .card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}:host ::ng-deep .card-img-overlay{position:absolute;inset:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}:host ::ng-deep .card-img,:host ::ng-deep .card-img-top,:host ::ng-deep .card-img-bottom{width:100%}:host ::ng-deep .card-img,:host ::ng-deep .card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}:host ::ng-deep .card-img,:host ::ng-deep .card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}:host ::ng-deep .card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width: 576px){:host ::ng-deep .card-group{display:flex;flex-flow:row wrap}:host ::ng-deep .card-group>.card{flex:1 0 0%;margin-bottom:0}:host ::ng-deep .card-group>.card+.card{margin-left:0;border-left:0}:host ::ng-deep .card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}:host ::ng-deep .card-group>.card:not(:last-child) .card-img-top,:host ::ng-deep .card-group>.card:not(:last-child) .card-header{border-top-right-radius:0}:host ::ng-deep .card-group>.card:not(:last-child) .card-img-bottom,:host ::ng-deep .card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}:host ::ng-deep .card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}:host ::ng-deep .card-group>.card:not(:first-child) .card-img-top,:host ::ng-deep .card-group>.card:not(:first-child) .card-header{border-top-left-radius:0}:host ::ng-deep .card-group>.card:not(:first-child) .card-img-bottom,:host ::ng-deep .card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}}:host ::ng-deep .card-body{margin:-1px}\n"] }]
|
|
13
13
|
}], propDecorators: { rounded: [{
|
|
@@ -4,10 +4,10 @@ export class BsCardHeaderComponent {
|
|
|
4
4
|
constructor() {
|
|
5
5
|
this.noPadding = false;
|
|
6
6
|
}
|
|
7
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0
|
|
8
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BsCardHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: BsCardHeaderComponent, selector: "bs-card-header", inputs: { noPadding: "noPadding" }, ngImport: i0, template: "<div class=\"card-header\" [class.p-0]=\"noPadding\">\n <ng-content></ng-content>\n</div>", styles: [""] }); }
|
|
9
9
|
}
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BsCardHeaderComponent, decorators: [{
|
|
11
11
|
type: Component,
|
|
12
12
|
args: [{ selector: 'bs-card-header', template: "<div class=\"card-header\" [class.p-0]=\"noPadding\">\n <ng-content></ng-content>\n</div>" }]
|
|
13
13
|
}], propDecorators: { noPadding: [{
|
|
@@ -4,13 +4,13 @@ import { BsCardComponent } from './card/card.component';
|
|
|
4
4
|
import { BsCardHeaderComponent } from './card-header/card-header.component';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export class BsCardModule {
|
|
7
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0
|
|
8
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BsCardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
8
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.0", ngImport: i0, type: BsCardModule, declarations: [BsCardComponent,
|
|
9
9
|
BsCardHeaderComponent], imports: [CommonModule], exports: [BsCardComponent,
|
|
10
10
|
BsCardHeaderComponent] }); }
|
|
11
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0
|
|
11
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BsCardModule, imports: [CommonModule] }); }
|
|
12
12
|
}
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BsCardModule, decorators: [{
|
|
14
14
|
type: NgModule,
|
|
15
15
|
args: [{
|
|
16
16
|
imports: [CommonModule],
|
|
@@ -7,9 +7,8 @@ import { BehaviorSubject, map } from 'rxjs';
|
|
|
7
7
|
import { BsCarouselImageDirective } from '../carousel-image/carousel-image.directive';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
import * as i1 from "@angular/common";
|
|
10
|
-
import * as i2 from "@mintplayer/ng-
|
|
11
|
-
import * as i3 from "@mintplayer/ng-
|
|
12
|
-
import * as i4 from "@mintplayer/ng-bootstrap/no-noscript";
|
|
10
|
+
import * as i2 from "@mintplayer/ng-swiper/swiper";
|
|
11
|
+
import * as i3 from "@mintplayer/ng-bootstrap/no-noscript";
|
|
13
12
|
export class BsCarouselComponent {
|
|
14
13
|
constructor(platformId, cdRef) {
|
|
15
14
|
this.cdRef = cdRef;
|
|
@@ -114,12 +113,12 @@ export class BsCarouselComponent {
|
|
|
114
113
|
this.resizeObserver?.unobserve(this.innerElement.nativeElement);
|
|
115
114
|
this.resizeObserver?.disconnect();
|
|
116
115
|
}
|
|
117
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0
|
|
118
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", type: BsCarouselComponent, selector: "bs-carousel", inputs: { indicators: "indicators", keyboardEvents: "keyboardEvents", animation: "animation" }, host: { listeners: { "document:keydown.ArrowLeft": "onKeyPress($event)", "document:keydown.ArrowRight": "onKeyPress($event)" }, properties: { "@.disabled": "this.animationsDisabled" } }, queries: [{ propertyName: "images", predicate: i0.forwardRef(() => BsCarouselImageDirective) }], viewQueries: [{ propertyName: "innerElement", first: true, predicate: ["innerElement"], descendants: true }, { propertyName: "swipeContainer", first: true, predicate: ["container"], descendants: true }], ngImport: i0, template: "@if (isServerSide) {\n <div class=\"carousel mx-auto noscript\">\n <div class=\"carousel-inner d-grid\">\n <ng-container *bsLet=\"(images$ | async) as images\">\n @if (imageCount$ | async; as imageCount) {\n @for (image of images; track image.id; let i = $index) {\n <input type=\"radio\" [id]=\"'car-' + i\" [name]=\"'car'\" class=\"car-radio d-none\" bsNoNoscript [checked]=\"i === 0\">\n <div class=\"carousel-item fade d-flex flex-row h-100 align-items-center\">\n <div class=\"w-100 position-relative\">\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container>\n @if (indicators) {\n <div class=\"carousel-indicators\">\n @for (image of images; track image.id; let j = $index) {\n <label [attr.for]=\"'car-' + (j % imageCount)\" [class.active]=\"i === j\" data-bs-target></label>\n }\n </div>\n }\n </div>\n </div>\n \n <label class=\"carousel-control-prev cursor-pointer\" [for]=\"'car-' + ((i - 1 + imageCount) % imageCount)\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </label>\n <label class=\"carousel-control-next cursor-pointer\" [for]=\"'car-' + ((i + 1) % imageCount)\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </label>\n }\n }\n </ng-container>\n </div>\n </div>\n} @else {\n @switch (animation) {\n @case ('slide') {\n <div class=\"carousel slide mx-auto\" [style.height.px]=\"container.currentSlideHeight$ | async\">\n @if (indicators) {\n <div class=\"carousel-indicators\">\n @for (image of (images$ | async); track image.id; let i = $index) {\n <button type=\"button\" (click)=\"container.goto(i)\"\n [class.active]=\"(container.imageIndex$ | async) === i\" data-bs-target\n [attr.aria-current]=\"(container.imageIndex$ | async) === i ? true : null\"\n [attr.aria-label]=\"'Slide ' + i\"></button>\n }\n </div>\n }\n <div class=\"carousel-inner overflow-hidden text-nowrap pe-none\" #innerElement>\n <div bsSwipeContainer #container=\"bsSwipeContainer\" [minimumOffset]=\"50\" [(imageIndex)]=\"currentImageIndex\">\n <div class=\"carousel-item\" bsSwipe [offside]=\"true\">\n <ng-container *ngTemplateOutlet=\"lastImageTemplate$ | async\"></ng-container>\n </div>\n @for (image of (images$ | async); track image.id) {\n <div class=\"carousel-item\" [class.active]=\"true\" bsSwipe>\n <ng-container *ngTemplateOutlet=\"image.itemTemplate\"></ng-container>\n </div>\n }\n <div class=\"carousel-item\" bsSwipe [offside]=\"true\">\n <ng-container *ngTemplateOutlet=\"firstImageTemplate$ | async\"></ng-container>\n </div>\n </div>\n </div>\n <button class=\"carousel-control-prev\" type=\"button\" (click)=\"previousImage()\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" (click)=\"nextImage()\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n </div>\n }\n @case ('fade') {\n <div class=\"carousel fade mx-auto\">\n @if (indicators) {\n <div class=\"carousel-indicators\">\n @for (image of (images$ | async); track image.id; let i = $index) {\n <button type=\"button\" (click)=\"currentImageIndex = i\"\n [class.active]=\"currentImageIndex === i\" data-bs-target\n [attr.aria-current]=\"currentImageIndex === i ? true : null\"\n [attr.aria-label]=\"'Slide ' + i\"></button>\n }\n </div>\n }\n <div class=\"carousel-inner\">\n @for (image of (images$ | async); track image.id; let i = $index) {\n @if (currentImageIndex === i) {\n <div class=\"carousel-item\" [class.active]=\"true\" @fadeInOut>\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container> \n </div>\n }\n }\n </div>\n <button class=\"carousel-control-prev\" type=\"button\" (click)=\"previousImage()\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" (click)=\"nextImage()\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n </div>\n }\n }\n}", styles: [":host ::ng-deep .carousel{position:relative}:host ::ng-deep .carousel.pointer-event{touch-action:pan-y}:host ::ng-deep .carousel-inner{position:relative;width:100%;overflow:hidden}:host ::ng-deep .carousel-inner:after{display:block;clear:both;content:\"\"}:host ::ng-deep .carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-item{transition:none}}:host ::ng-deep .carousel-item.active,:host ::ng-deep .carousel-item-next,:host ::ng-deep .carousel-item-prev{display:block}:host ::ng-deep .carousel-item-next:not(.carousel-item-start),:host ::ng-deep .active.carousel-item-end{transform:translate(100%)}:host ::ng-deep .carousel-item-prev:not(.carousel-item-end),:host ::ng-deep .active.carousel-item-start{transform:translate(-100%)}:host ::ng-deep .carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}:host ::ng-deep .carousel-fade .carousel-item.active,:host ::ng-deep .carousel-fade .carousel-item-next.carousel-item-start,:host ::ng-deep .carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}:host ::ng-deep .carousel-fade .active.carousel-item-start,:host ::ng-deep .carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-fade .active.carousel-item-start,:host ::ng-deep .carousel-fade .active.carousel-item-end{transition:none}}:host ::ng-deep .carousel-control-prev,:host ::ng-deep .carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-control-prev,:host ::ng-deep .carousel-control-next{transition:none}}:host ::ng-deep .carousel-control-prev:hover,:host ::ng-deep .carousel-control-prev:focus,:host ::ng-deep .carousel-control-next:hover,:host ::ng-deep .carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}:host ::ng-deep .carousel-control-prev{left:0}:host ::ng-deep .carousel-control-next{right:0}:host ::ng-deep .carousel-control-prev-icon,:host ::ng-deep .carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}:host ::ng-deep .carousel-control-prev-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e\")}:host ::ng-deep .carousel-control-next-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\")}:host ::ng-deep .carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}:host ::ng-deep .carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-indicators [data-bs-target]{transition:none}}:host ::ng-deep .carousel-indicators .active{opacity:1}:host ::ng-deep .carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}:host ::ng-deep .carousel-dark .carousel-control-prev-icon,:host ::ng-deep .carousel-dark .carousel-control-next-icon{filter:invert(1) grayscale(100)}:host ::ng-deep .carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}:host ::ng-deep .carousel-dark .carousel-caption{color:#000}:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-control-prev-icon,:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-control-next-icon,:host ::ng-deep [data-bs-theme=dark].carousel .carousel-control-prev-icon,:host ::ng-deep [data-bs-theme=dark].carousel .carousel-control-next-icon{filter:invert(1) grayscale(100)}:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],:host ::ng-deep [data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-caption,:host ::ng-deep [data-bs-theme=dark].carousel .carousel-caption{color:#000}:host ::ng-deep .carousel{min-height:100px;max-width:500px}:host ::ng-deep .carousel.noscript .carousel-inner{grid-template-rows:100%;grid-template-columns:100%}:host ::ng-deep .carousel.noscript .carousel-control-prev,:host ::ng-deep .carousel.noscript .carousel-control-next{display:none;z-index:10}:host ::ng-deep .carousel.noscript .carousel-item{display:block;opacity:0;transition:opacity .4s ease-in-out;grid-row:1;grid-column:1}:host ::ng-deep .carousel.noscript .car-radio.noscript:checked+.carousel-item{opacity:1;z-index:5}:host ::ng-deep .carousel.noscript .car-radio.noscript:checked+.carousel-item+label.carousel-control-prev,:host ::ng-deep .carousel.noscript .car-radio.noscript:checked+.carousel-item+label.carousel-control-prev+.carousel-control-next{display:flex}:host ::ng-deep .carousel.noscript .carousel-indicators{z-index:10}:host ::ng-deep .carousel .carousel-item>*{width:100%!important}.wrapper{overflow:hidden}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.BsLetDirective, selector: "[bsLet]", inputs: ["bsLet"] }, { kind: "directive", type: i3.BsSwipeDirective, selector: "[bsSwipe]", inputs: ["offside"] }, { kind: "directive", type: i3.BsSwipeContainerDirective, selector: "[bsSwipeContainer]", inputs: ["minimumOffset", "imageIndex"], outputs: ["imageIndexChange"], exportAs: ["bsSwipeContainer"] }, { kind: "directive", type: i4.BsNoNoscriptDirective, selector: "[bsNoNoscript]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], animations: [FadeInOutAnimation] }); }
|
|
116
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BsCarouselComponent, deps: [{ token: PLATFORM_ID }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
117
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: BsCarouselComponent, selector: "bs-carousel", inputs: { indicators: "indicators", keyboardEvents: "keyboardEvents", animation: "animation" }, host: { listeners: { "document:keydown.ArrowLeft": "onKeyPress($event)", "document:keydown.ArrowRight": "onKeyPress($event)" }, properties: { "@.disabled": "this.animationsDisabled" } }, queries: [{ propertyName: "images", predicate: i0.forwardRef(() => BsCarouselImageDirective) }], viewQueries: [{ propertyName: "innerElement", first: true, predicate: ["innerElement"], descendants: true }, { propertyName: "swipeContainer", first: true, predicate: ["container"], descendants: true }], ngImport: i0, template: "@if (isServerSide) {\n <div class=\"carousel mx-auto noscript\">\n <div class=\"carousel-inner d-grid\">\n @let images = images$ | async;\n @if (imageCount$ | async; as imageCount) {\n @for (image of images; track image.id; let i = $index) {\n <input type=\"radio\" [id]=\"'car-' + i\" [name]=\"'car'\" class=\"car-radio d-none\" bsNoNoscript [checked]=\"i === 0\">\n <div class=\"carousel-item fade d-flex flex-row h-100 align-items-center\">\n <div class=\"w-100 position-relative\">\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container>\n @if (indicators) {\n <div class=\"carousel-indicators\">\n @for (image of images; track image.id; let j = $index) {\n <label [attr.for]=\"'car-' + (j % imageCount)\" [class.active]=\"i === j\" data-bs-target></label>\n }\n </div>\n }\n </div>\n </div>\n \n <label class=\"carousel-control-prev cursor-pointer\" [for]=\"'car-' + ((i - 1 + imageCount) % imageCount)\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </label>\n <label class=\"carousel-control-next cursor-pointer\" [for]=\"'car-' + ((i + 1) % imageCount)\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </label>\n }\n }\n </div>\n </div>\n} @else {\n @switch (animation) {\n @case ('slide') {\n <div class=\"carousel slide mx-auto\" [style.height.px]=\"container.currentSlideHeight$ | async\">\n @if (indicators) {\n <div class=\"carousel-indicators\">\n @for (image of (images$ | async); track image.id; let i = $index) {\n <button type=\"button\" (click)=\"container.goto(i)\"\n [class.active]=\"(container.imageIndex$ | async) === i\" data-bs-target\n [attr.aria-current]=\"(container.imageIndex$ | async) === i ? true : null\"\n [attr.aria-label]=\"'Slide ' + i\"></button>\n }\n </div>\n }\n <div class=\"carousel-inner overflow-hidden text-nowrap pe-none\" #innerElement>\n <div bsSwipeContainer #container=\"bsSwipeContainer\" [minimumOffset]=\"50\" [(imageIndex)]=\"currentImageIndex\">\n <div class=\"carousel-item\" bsSwipe [offside]=\"true\">\n <ng-container *ngTemplateOutlet=\"lastImageTemplate$ | async\"></ng-container>\n </div>\n @for (image of (images$ | async); track image.id) {\n <div class=\"carousel-item\" [class.active]=\"true\" bsSwipe>\n <ng-container *ngTemplateOutlet=\"image.itemTemplate\"></ng-container>\n </div>\n }\n <div class=\"carousel-item\" bsSwipe [offside]=\"true\">\n <ng-container *ngTemplateOutlet=\"firstImageTemplate$ | async\"></ng-container>\n </div>\n </div>\n </div>\n <button class=\"carousel-control-prev\" type=\"button\" (click)=\"previousImage()\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" (click)=\"nextImage()\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n </div>\n }\n @case ('fade') {\n <div class=\"carousel fade mx-auto\">\n @if (indicators) {\n <div class=\"carousel-indicators\">\n @for (image of (images$ | async); track image.id; let i = $index) {\n <button type=\"button\" (click)=\"currentImageIndex = i\"\n [class.active]=\"currentImageIndex === i\" data-bs-target\n [attr.aria-current]=\"currentImageIndex === i ? true : null\"\n [attr.aria-label]=\"'Slide ' + i\"></button>\n }\n </div>\n }\n <div class=\"carousel-inner\">\n @for (image of (images$ | async); track image.id; let i = $index) {\n @if (currentImageIndex === i) {\n <div class=\"carousel-item\" [class.active]=\"true\" @fadeInOut>\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container> \n </div>\n }\n }\n </div>\n <button class=\"carousel-control-prev\" type=\"button\" (click)=\"previousImage()\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" (click)=\"nextImage()\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n </div>\n }\n }\n}", styles: [":host ::ng-deep .carousel{position:relative}:host ::ng-deep .carousel.pointer-event{touch-action:pan-y}:host ::ng-deep .carousel-inner{position:relative;width:100%;overflow:hidden}:host ::ng-deep .carousel-inner:after{display:block;clear:both;content:\"\"}:host ::ng-deep .carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-item{transition:none}}:host ::ng-deep .carousel-item.active,:host ::ng-deep .carousel-item-next,:host ::ng-deep .carousel-item-prev{display:block}:host ::ng-deep .carousel-item-next:not(.carousel-item-start),:host ::ng-deep .active.carousel-item-end{transform:translate(100%)}:host ::ng-deep .carousel-item-prev:not(.carousel-item-end),:host ::ng-deep .active.carousel-item-start{transform:translate(-100%)}:host ::ng-deep .carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}:host ::ng-deep .carousel-fade .carousel-item.active,:host ::ng-deep .carousel-fade .carousel-item-next.carousel-item-start,:host ::ng-deep .carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}:host ::ng-deep .carousel-fade .active.carousel-item-start,:host ::ng-deep .carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-fade .active.carousel-item-start,:host ::ng-deep .carousel-fade .active.carousel-item-end{transition:none}}:host ::ng-deep .carousel-control-prev,:host ::ng-deep .carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-control-prev,:host ::ng-deep .carousel-control-next{transition:none}}:host ::ng-deep .carousel-control-prev:hover,:host ::ng-deep .carousel-control-prev:focus,:host ::ng-deep .carousel-control-next:hover,:host ::ng-deep .carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}:host ::ng-deep .carousel-control-prev{left:0}:host ::ng-deep .carousel-control-next{right:0}:host ::ng-deep .carousel-control-prev-icon,:host ::ng-deep .carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}:host ::ng-deep .carousel-control-prev-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e\")}:host ::ng-deep .carousel-control-next-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\")}:host ::ng-deep .carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}:host ::ng-deep .carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-indicators [data-bs-target]{transition:none}}:host ::ng-deep .carousel-indicators .active{opacity:1}:host ::ng-deep .carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}:host ::ng-deep .carousel-dark .carousel-control-prev-icon,:host ::ng-deep .carousel-dark .carousel-control-next-icon{filter:invert(1) grayscale(100)}:host ::ng-deep .carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}:host ::ng-deep .carousel-dark .carousel-caption{color:#000}:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-control-prev-icon,:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-control-next-icon,:host ::ng-deep [data-bs-theme=dark].carousel .carousel-control-prev-icon,:host ::ng-deep [data-bs-theme=dark].carousel .carousel-control-next-icon{filter:invert(1) grayscale(100)}:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],:host ::ng-deep [data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-caption,:host ::ng-deep [data-bs-theme=dark].carousel .carousel-caption{color:#000}:host ::ng-deep .carousel{min-height:100px;max-width:500px}:host ::ng-deep .carousel.noscript .carousel-inner{grid-template-rows:100%;grid-template-columns:100%}:host ::ng-deep .carousel.noscript .carousel-control-prev,:host ::ng-deep .carousel.noscript .carousel-control-next{display:none;z-index:10}:host ::ng-deep .carousel.noscript .carousel-item{display:block;opacity:0;transition:opacity .4s ease-in-out;grid-row:1;grid-column:1}:host ::ng-deep .carousel.noscript .car-radio.noscript:checked+.carousel-item{opacity:1;z-index:5}:host ::ng-deep .carousel.noscript .car-radio.noscript:checked+.carousel-item+label.carousel-control-prev,:host ::ng-deep .carousel.noscript .car-radio.noscript:checked+.carousel-item+label.carousel-control-prev+.carousel-control-next{display:flex}:host ::ng-deep .carousel.noscript .carousel-indicators{z-index:10}:host ::ng-deep .carousel .carousel-item>*{width:100%!important}.wrapper{overflow:hidden}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.BsSwipeDirective, selector: "[bsSwipe]", inputs: ["offside"] }, { kind: "directive", type: i2.BsSwipeContainerDirective, selector: "[bsSwipeContainer]", inputs: ["minimumOffset", "imageIndex"], outputs: ["imageIndexChange"], exportAs: ["bsSwipeContainer"] }, { kind: "directive", type: i3.BsNoNoscriptDirective, selector: "[bsNoNoscript]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], animations: [FadeInOutAnimation] }); }
|
|
119
118
|
}
|
|
120
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0
|
|
119
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BsCarouselComponent, decorators: [{
|
|
121
120
|
type: Component,
|
|
122
|
-
args: [{ selector: 'bs-carousel', animations: [FadeInOutAnimation], template: "@if (isServerSide) {\n <div class=\"carousel mx-auto noscript\">\n <div class=\"carousel-inner d-grid\">\n <ng-container *bsLet=\"(images$ | async) as images\">\n @if (imageCount$ | async; as imageCount) {\n @for (image of images; track image.id; let i = $index) {\n <input type=\"radio\" [id]=\"'car-' + i\" [name]=\"'car'\" class=\"car-radio d-none\" bsNoNoscript [checked]=\"i === 0\">\n <div class=\"carousel-item fade d-flex flex-row h-100 align-items-center\">\n <div class=\"w-100 position-relative\">\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container>\n @if (indicators) {\n <div class=\"carousel-indicators\">\n @for (image of images; track image.id; let j = $index) {\n <label [attr.for]=\"'car-' + (j % imageCount)\" [class.active]=\"i === j\" data-bs-target></label>\n }\n </div>\n }\n </div>\n </div>\n \n <label class=\"carousel-control-prev cursor-pointer\" [for]=\"'car-' + ((i - 1 + imageCount) % imageCount)\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </label>\n <label class=\"carousel-control-next cursor-pointer\" [for]=\"'car-' + ((i + 1) % imageCount)\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </label>\n }\n }\n </ng-container>\n </div>\n </div>\n} @else {\n @switch (animation) {\n @case ('slide') {\n <div class=\"carousel slide mx-auto\" [style.height.px]=\"container.currentSlideHeight$ | async\">\n @if (indicators) {\n <div class=\"carousel-indicators\">\n @for (image of (images$ | async); track image.id; let i = $index) {\n <button type=\"button\" (click)=\"container.goto(i)\"\n [class.active]=\"(container.imageIndex$ | async) === i\" data-bs-target\n [attr.aria-current]=\"(container.imageIndex$ | async) === i ? true : null\"\n [attr.aria-label]=\"'Slide ' + i\"></button>\n }\n </div>\n }\n <div class=\"carousel-inner overflow-hidden text-nowrap pe-none\" #innerElement>\n <div bsSwipeContainer #container=\"bsSwipeContainer\" [minimumOffset]=\"50\" [(imageIndex)]=\"currentImageIndex\">\n <div class=\"carousel-item\" bsSwipe [offside]=\"true\">\n <ng-container *ngTemplateOutlet=\"lastImageTemplate$ | async\"></ng-container>\n </div>\n @for (image of (images$ | async); track image.id) {\n <div class=\"carousel-item\" [class.active]=\"true\" bsSwipe>\n <ng-container *ngTemplateOutlet=\"image.itemTemplate\"></ng-container>\n </div>\n }\n <div class=\"carousel-item\" bsSwipe [offside]=\"true\">\n <ng-container *ngTemplateOutlet=\"firstImageTemplate$ | async\"></ng-container>\n </div>\n </div>\n </div>\n <button class=\"carousel-control-prev\" type=\"button\" (click)=\"previousImage()\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" (click)=\"nextImage()\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n </div>\n }\n @case ('fade') {\n <div class=\"carousel fade mx-auto\">\n @if (indicators) {\n <div class=\"carousel-indicators\">\n @for (image of (images$ | async); track image.id; let i = $index) {\n <button type=\"button\" (click)=\"currentImageIndex = i\"\n [class.active]=\"currentImageIndex === i\" data-bs-target\n [attr.aria-current]=\"currentImageIndex === i ? true : null\"\n [attr.aria-label]=\"'Slide ' + i\"></button>\n }\n </div>\n }\n <div class=\"carousel-inner\">\n @for (image of (images$ | async); track image.id; let i = $index) {\n @if (currentImageIndex === i) {\n <div class=\"carousel-item\" [class.active]=\"true\" @fadeInOut>\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container> \n </div>\n }\n }\n </div>\n <button class=\"carousel-control-prev\" type=\"button\" (click)=\"previousImage()\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" (click)=\"nextImage()\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n </div>\n }\n }\n}", styles: [":host ::ng-deep .carousel{position:relative}:host ::ng-deep .carousel.pointer-event{touch-action:pan-y}:host ::ng-deep .carousel-inner{position:relative;width:100%;overflow:hidden}:host ::ng-deep .carousel-inner:after{display:block;clear:both;content:\"\"}:host ::ng-deep .carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-item{transition:none}}:host ::ng-deep .carousel-item.active,:host ::ng-deep .carousel-item-next,:host ::ng-deep .carousel-item-prev{display:block}:host ::ng-deep .carousel-item-next:not(.carousel-item-start),:host ::ng-deep .active.carousel-item-end{transform:translate(100%)}:host ::ng-deep .carousel-item-prev:not(.carousel-item-end),:host ::ng-deep .active.carousel-item-start{transform:translate(-100%)}:host ::ng-deep .carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}:host ::ng-deep .carousel-fade .carousel-item.active,:host ::ng-deep .carousel-fade .carousel-item-next.carousel-item-start,:host ::ng-deep .carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}:host ::ng-deep .carousel-fade .active.carousel-item-start,:host ::ng-deep .carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-fade .active.carousel-item-start,:host ::ng-deep .carousel-fade .active.carousel-item-end{transition:none}}:host ::ng-deep .carousel-control-prev,:host ::ng-deep .carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-control-prev,:host ::ng-deep .carousel-control-next{transition:none}}:host ::ng-deep .carousel-control-prev:hover,:host ::ng-deep .carousel-control-prev:focus,:host ::ng-deep .carousel-control-next:hover,:host ::ng-deep .carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}:host ::ng-deep .carousel-control-prev{left:0}:host ::ng-deep .carousel-control-next{right:0}:host ::ng-deep .carousel-control-prev-icon,:host ::ng-deep .carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}:host ::ng-deep .carousel-control-prev-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e\")}:host ::ng-deep .carousel-control-next-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\")}:host ::ng-deep .carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}:host ::ng-deep .carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-indicators [data-bs-target]{transition:none}}:host ::ng-deep .carousel-indicators .active{opacity:1}:host ::ng-deep .carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}:host ::ng-deep .carousel-dark .carousel-control-prev-icon,:host ::ng-deep .carousel-dark .carousel-control-next-icon{filter:invert(1) grayscale(100)}:host ::ng-deep .carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}:host ::ng-deep .carousel-dark .carousel-caption{color:#000}:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-control-prev-icon,:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-control-next-icon,:host ::ng-deep [data-bs-theme=dark].carousel .carousel-control-prev-icon,:host ::ng-deep [data-bs-theme=dark].carousel .carousel-control-next-icon{filter:invert(1) grayscale(100)}:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],:host ::ng-deep [data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-caption,:host ::ng-deep [data-bs-theme=dark].carousel .carousel-caption{color:#000}:host ::ng-deep .carousel{min-height:100px;max-width:500px}:host ::ng-deep .carousel.noscript .carousel-inner{grid-template-rows:100%;grid-template-columns:100%}:host ::ng-deep .carousel.noscript .carousel-control-prev,:host ::ng-deep .carousel.noscript .carousel-control-next{display:none;z-index:10}:host ::ng-deep .carousel.noscript .carousel-item{display:block;opacity:0;transition:opacity .4s ease-in-out;grid-row:1;grid-column:1}:host ::ng-deep .carousel.noscript .car-radio.noscript:checked+.carousel-item{opacity:1;z-index:5}:host ::ng-deep .carousel.noscript .car-radio.noscript:checked+.carousel-item+label.carousel-control-prev,:host ::ng-deep .carousel.noscript .car-radio.noscript:checked+.carousel-item+label.carousel-control-prev+.carousel-control-next{display:flex}:host ::ng-deep .carousel.noscript .carousel-indicators{z-index:10}:host ::ng-deep .carousel .carousel-item>*{width:100%!important}.wrapper{overflow:hidden}\n"] }]
|
|
121
|
+
args: [{ selector: 'bs-carousel', animations: [FadeInOutAnimation], template: "@if (isServerSide) {\n <div class=\"carousel mx-auto noscript\">\n <div class=\"carousel-inner d-grid\">\n @let images = images$ | async;\n @if (imageCount$ | async; as imageCount) {\n @for (image of images; track image.id; let i = $index) {\n <input type=\"radio\" [id]=\"'car-' + i\" [name]=\"'car'\" class=\"car-radio d-none\" bsNoNoscript [checked]=\"i === 0\">\n <div class=\"carousel-item fade d-flex flex-row h-100 align-items-center\">\n <div class=\"w-100 position-relative\">\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container>\n @if (indicators) {\n <div class=\"carousel-indicators\">\n @for (image of images; track image.id; let j = $index) {\n <label [attr.for]=\"'car-' + (j % imageCount)\" [class.active]=\"i === j\" data-bs-target></label>\n }\n </div>\n }\n </div>\n </div>\n \n <label class=\"carousel-control-prev cursor-pointer\" [for]=\"'car-' + ((i - 1 + imageCount) % imageCount)\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </label>\n <label class=\"carousel-control-next cursor-pointer\" [for]=\"'car-' + ((i + 1) % imageCount)\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </label>\n }\n }\n </div>\n </div>\n} @else {\n @switch (animation) {\n @case ('slide') {\n <div class=\"carousel slide mx-auto\" [style.height.px]=\"container.currentSlideHeight$ | async\">\n @if (indicators) {\n <div class=\"carousel-indicators\">\n @for (image of (images$ | async); track image.id; let i = $index) {\n <button type=\"button\" (click)=\"container.goto(i)\"\n [class.active]=\"(container.imageIndex$ | async) === i\" data-bs-target\n [attr.aria-current]=\"(container.imageIndex$ | async) === i ? true : null\"\n [attr.aria-label]=\"'Slide ' + i\"></button>\n }\n </div>\n }\n <div class=\"carousel-inner overflow-hidden text-nowrap pe-none\" #innerElement>\n <div bsSwipeContainer #container=\"bsSwipeContainer\" [minimumOffset]=\"50\" [(imageIndex)]=\"currentImageIndex\">\n <div class=\"carousel-item\" bsSwipe [offside]=\"true\">\n <ng-container *ngTemplateOutlet=\"lastImageTemplate$ | async\"></ng-container>\n </div>\n @for (image of (images$ | async); track image.id) {\n <div class=\"carousel-item\" [class.active]=\"true\" bsSwipe>\n <ng-container *ngTemplateOutlet=\"image.itemTemplate\"></ng-container>\n </div>\n }\n <div class=\"carousel-item\" bsSwipe [offside]=\"true\">\n <ng-container *ngTemplateOutlet=\"firstImageTemplate$ | async\"></ng-container>\n </div>\n </div>\n </div>\n <button class=\"carousel-control-prev\" type=\"button\" (click)=\"previousImage()\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" (click)=\"nextImage()\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n </div>\n }\n @case ('fade') {\n <div class=\"carousel fade mx-auto\">\n @if (indicators) {\n <div class=\"carousel-indicators\">\n @for (image of (images$ | async); track image.id; let i = $index) {\n <button type=\"button\" (click)=\"currentImageIndex = i\"\n [class.active]=\"currentImageIndex === i\" data-bs-target\n [attr.aria-current]=\"currentImageIndex === i ? true : null\"\n [attr.aria-label]=\"'Slide ' + i\"></button>\n }\n </div>\n }\n <div class=\"carousel-inner\">\n @for (image of (images$ | async); track image.id; let i = $index) {\n @if (currentImageIndex === i) {\n <div class=\"carousel-item\" [class.active]=\"true\" @fadeInOut>\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container> \n </div>\n }\n }\n </div>\n <button class=\"carousel-control-prev\" type=\"button\" (click)=\"previousImage()\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" (click)=\"nextImage()\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n </div>\n }\n }\n}", styles: [":host ::ng-deep .carousel{position:relative}:host ::ng-deep .carousel.pointer-event{touch-action:pan-y}:host ::ng-deep .carousel-inner{position:relative;width:100%;overflow:hidden}:host ::ng-deep .carousel-inner:after{display:block;clear:both;content:\"\"}:host ::ng-deep .carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-item{transition:none}}:host ::ng-deep .carousel-item.active,:host ::ng-deep .carousel-item-next,:host ::ng-deep .carousel-item-prev{display:block}:host ::ng-deep .carousel-item-next:not(.carousel-item-start),:host ::ng-deep .active.carousel-item-end{transform:translate(100%)}:host ::ng-deep .carousel-item-prev:not(.carousel-item-end),:host ::ng-deep .active.carousel-item-start{transform:translate(-100%)}:host ::ng-deep .carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}:host ::ng-deep .carousel-fade .carousel-item.active,:host ::ng-deep .carousel-fade .carousel-item-next.carousel-item-start,:host ::ng-deep .carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}:host ::ng-deep .carousel-fade .active.carousel-item-start,:host ::ng-deep .carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-fade .active.carousel-item-start,:host ::ng-deep .carousel-fade .active.carousel-item-end{transition:none}}:host ::ng-deep .carousel-control-prev,:host ::ng-deep .carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-control-prev,:host ::ng-deep .carousel-control-next{transition:none}}:host ::ng-deep .carousel-control-prev:hover,:host ::ng-deep .carousel-control-prev:focus,:host ::ng-deep .carousel-control-next:hover,:host ::ng-deep .carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}:host ::ng-deep .carousel-control-prev{left:0}:host ::ng-deep .carousel-control-next{right:0}:host ::ng-deep .carousel-control-prev-icon,:host ::ng-deep .carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}:host ::ng-deep .carousel-control-prev-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e\")}:host ::ng-deep .carousel-control-next-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\")}:host ::ng-deep .carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}:host ::ng-deep .carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-indicators [data-bs-target]{transition:none}}:host ::ng-deep .carousel-indicators .active{opacity:1}:host ::ng-deep .carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}:host ::ng-deep .carousel-dark .carousel-control-prev-icon,:host ::ng-deep .carousel-dark .carousel-control-next-icon{filter:invert(1) grayscale(100)}:host ::ng-deep .carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}:host ::ng-deep .carousel-dark .carousel-caption{color:#000}:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-control-prev-icon,:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-control-next-icon,:host ::ng-deep [data-bs-theme=dark].carousel .carousel-control-prev-icon,:host ::ng-deep [data-bs-theme=dark].carousel .carousel-control-next-icon{filter:invert(1) grayscale(100)}:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],:host ::ng-deep [data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-caption,:host ::ng-deep [data-bs-theme=dark].carousel .carousel-caption{color:#000}:host ::ng-deep .carousel{min-height:100px;max-width:500px}:host ::ng-deep .carousel.noscript .carousel-inner{grid-template-rows:100%;grid-template-columns:100%}:host ::ng-deep .carousel.noscript .carousel-control-prev,:host ::ng-deep .carousel.noscript .carousel-control-next{display:none;z-index:10}:host ::ng-deep .carousel.noscript .carousel-item{display:block;opacity:0;transition:opacity .4s ease-in-out;grid-row:1;grid-column:1}:host ::ng-deep .carousel.noscript .car-radio.noscript:checked+.carousel-item{opacity:1;z-index:5}:host ::ng-deep .carousel.noscript .car-radio.noscript:checked+.carousel-item+label.carousel-control-prev,:host ::ng-deep .carousel.noscript .car-radio.noscript:checked+.carousel-item+label.carousel-control-prev+.carousel-control-next{display:flex}:host ::ng-deep .carousel.noscript .carousel-indicators{z-index:10}:host ::ng-deep .carousel .carousel-item>*{width:100%!important}.wrapper{overflow:hidden}\n"] }]
|
|
123
122
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
124
123
|
type: Inject,
|
|
125
124
|
args: [PLATFORM_ID]
|
|
@@ -148,4 +147,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
|
|
|
148
147
|
type: HostListener,
|
|
149
148
|
args: ['document:keydown.ArrowRight', ['$event']]
|
|
150
149
|
}] } });
|
|
151
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9jYXJvdXNlbC9zcmMvY2Fyb3VzZWwvY2Fyb3VzZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9jYXJvdXNlbC9zcmMvY2Fyb3VzZWwvY2Fyb3VzZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFpQixpQkFBaUIsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFhLFdBQVcsRUFBRSxTQUFTLEVBQWUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFOLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNqRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsZUFBZSxFQUFFLEdBQUcsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUN4RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7Ozs7O0FBUXRGLE1BQU0sT0FBTyxtQkFBbUI7SUFFOUIsWUFBaUMsVUFBZSxFQUFVLEtBQXdCO1FBQXhCLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBNkJsRixXQUFNLEdBQUcsS0FBSyxDQUFDO1FBRWYsc0JBQWlCLEdBQUcsQ0FBQyxDQUFDO1FBQ3RCLFlBQU8sR0FBRyxJQUFJLGVBQWUsQ0FBNkMsSUFBSSxDQUFDLENBQUM7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Q0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDM0IsTUFBTTtRQUNWLENBQUM7SUFDSCxDQUFDO0lBSUQsZUFBZTtRQUNiLElBQUksQ0FBQyxjQUFjLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsY0FBYyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxjQUFjLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDcEMsQ0FBQzs4R0F2SFUsbUJBQW1CLGtCQUVWLFdBQVc7a0dBRnBCLG1CQUFtQix5WEE2Q0ksd0JBQXdCLDBPQzNENUQsMnZNQXdHQyw4OU1ENUZhLENBQUMsa0JBQWtCLENBQUM7OzJGQUVyQixtQkFBbUI7a0JBTi9CLFNBQVM7K0JBQ0UsYUFBYSxjQUdYLENBQUMsa0JBQWtCLENBQUM7OzBCQUluQixNQUFNOzJCQUFDLFdBQVc7eUVBc0N0QixVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRXFCLFlBQVk7c0JBQXRDLFNBQVM7dUJBQUMsY0FBYztnQkFDRCxjQUFjO3NCQUFyQyxTQUFTO3VCQUFDLFdBQVc7Z0JBQzJDLE1BQU07c0JBQXRFLGVBQWU7dUJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHdCQUF3QixDQUFDO2dCQU16QixrQkFBa0I7c0JBQW5ELFdBQVc7dUJBQUMsWUFBWTtnQkFFTCxTQUFTO3NCQUE1QixLQUFLO2dCQWFOLFVBQVU7c0JBRlQsWUFBWTt1QkFBQyw0QkFBNEIsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7c0JBQ3JELFlBQVk7dUJBQUMsNkJBQTZCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1BsYXRmb3JtU2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgRWxlbWVudFJlZiwgZm9yd2FyZFJlZiwgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lciwgSW5qZWN0LCBJbnB1dCwgT25EZXN0cm95LCBQTEFURk9STV9JRCwgUXVlcnlMaXN0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGYWRlSW5PdXRBbmltYXRpb24gfSBmcm9tICdAbWludHBsYXllci9uZy1hbmltYXRpb25zJztcbmltcG9ydCB7IENvbG9yIH0gZnJvbSAnQG1pbnRwbGF5ZXIvbmctYm9vdHN0cmFwJztcbmltcG9ydCB7IEJzU3dpcGVDb250YWluZXJEaXJlY3RpdmUgfSBmcm9tICdAbWludHBsYXllci9uZy1zd2lwZXIvc3dpcGVyJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBCc0Nhcm91c2VsSW1hZ2VEaXJlY3RpdmUgfSBmcm9tICcuLi9jYXJvdXNlbC1pbWFnZS9jYXJvdXNlbC1pbWFnZS5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicy1jYXJvdXNlbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXJvdXNlbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Nhcm91c2VsLmNvbXBvbmVudC5zY3NzJ10sXG4gIGFuaW1hdGlvbnM6IFtGYWRlSW5PdXRBbmltYXRpb25dXG59KVxuZXhwb3J0IGNsYXNzIEJzQ2Fyb3VzZWxDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoUExBVEZPUk1fSUQpIHBsYXRmb3JtSWQ6IGFueSwgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICB0aGlzLmlzU2VydmVyU2lkZSA9IGlzUGxhdGZvcm1TZXJ2ZXIocGxhdGZvcm1JZCk7XG4gICAgdGhpcy5pbWFnZUNvdW50JCA9IHRoaXMuaW1hZ2VzJC5waXBlKG1hcCgoaW1hZ2VzKSA9PiBpbWFnZXM/Lmxlbmd0aCA/PyAwKSk7XG4gICAgdGhpcy5maXJzdEltYWdlVGVtcGxhdGUkID0gdGhpcy5pbWFnZXMkLnBpcGUobWFwKChpbWFnZXMpID0+IHtcbiAgICAgIGlmICghaW1hZ2VzKSByZXR1cm4gbnVsbDtcbiAgICAgIGlmIChpbWFnZXMubGVuZ3RoID09PSAwKSByZXR1cm4gbnVsbDtcblxuICAgICAgY29uc3QgaW1nID0gaW1hZ2VzLmdldCgwKTtcbiAgICAgIGlmICghaW1nKSByZXR1cm4gbnVsbDtcblxuICAgICAgcmV0dXJuIGltZy5pdGVtVGVtcGxhdGU7XG4gICAgfSkpO1xuICAgIHRoaXMubGFzdEltYWdlVGVtcGxhdGUkID0gdGhpcy5pbWFnZXMkLnBpcGUobWFwKChpbWFnZXMpID0+IHtcbiAgICAgIGlmICghaW1hZ2VzKSByZXR1cm4gbnVsbDtcbiAgICAgIGlmIChpbWFnZXMubGVuZ3RoID09PSAwKSByZXR1cm4gbnVsbDtcbiAgICAgIFxuICAgICAgY29uc3QgaW1nID0gaW1hZ2VzLmdldChpbWFnZXMubGVuZ3RoIC0gMSk7XG4gICAgICBpZiAoIWltZykgcmV0dXJuIG51bGw7XG5cbiAgICAgIHJldHVybiBpbWcuaXRlbVRlbXBsYXRlO1xuICAgIH0pKTtcblxuICAgIGlmICghaXNQbGF0Zm9ybVNlcnZlcihwbGF0Zm9ybUlkKSkge1xuICAgICAgdGhpcy5yZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoZW50cmllcykgPT4ge1xuICAgICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuICBcbiAgY29sb3JzID0gQ29sb3I7XG4gIGlzU2VydmVyU2lkZTogYm9vbGVhbjtcbiAgY3VycmVudEltYWdlSW5kZXggPSAwO1xuICBpbWFnZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxRdWVyeUxpc3Q8QnNDYXJvdXNlbEltYWdlRGlyZWN0aXZlPiB8IG51bGw+KG51bGwpO1xuICBpbWFnZUNvdW50JDogT2JzZXJ2YWJsZTxudW1iZXI+O1xuICBmaXJzdEltYWdlVGVtcGxhdGUkOiBPYnNlcnZhYmxlPFRlbXBsYXRlUmVmPGFueT4gfCBudWxsPjtcbiAgbGFzdEltYWdlVGVtcGxhdGUkOiBPYnNlcnZhYmxlPFRlbXBsYXRlUmVmPGFueT4gfCBudWxsPjtcbiAgcmVzaXplT2JzZXJ2ZXI/OiBSZXNpemVPYnNlcnZlcjtcblxuICBASW5wdXQoKSBpbmRpY2F0b3JzID0gZmFsc2U7XG4gIEBJbnB1dCgpIGtleWJvYXJkRXZlbnRzID0gdHJ1ZTtcblxuICBAVmlld0NoaWxkKCdpbm5lckVsZW1lbnQnKSBpbm5lckVsZW1lbnQhOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcbiAgQFZpZXdDaGlsZCgnY29udGFpbmVyJykgc3dpcGVDb250YWluZXIhOiBCc1N3aXBlQ29udGFpbmVyRGlyZWN0aXZlO1xuICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gQnNDYXJvdXNlbEltYWdlRGlyZWN0aXZlKSkgc2V0IGltYWdlcyh2YWx1ZTogUXVlcnlMaXN0PEJzQ2Fyb3VzZWxJbWFnZURpcmVjdGl2ZT4pIHtcbiAgICB0aGlzLmltYWdlcyQubmV4dCh2YWx1ZSk7XG4gICAgdmFsdWUuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IGl0ZW0uaXNGaXJzdCA9IChpbmRleCA9PT0gMCkpO1xuICB9XG5cbiAgLy8jcmVnaW9uIEFuaW1hdGlvblxuICBASG9zdEJpbmRpbmcoJ0AuZGlzYWJsZWQnKSBwdWJsaWMgYW5pbWF0aW9uc0Rpc2FibGVkID0gZmFsc2U7XG4gIHByaXZhdGUgX2FuaW1hdGlvbjogJ2ZhZGUnIHwgJ3NsaWRlJyA9ICdzbGlkZSc7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgYW5pbWF0aW9uKHZhbHVlOiAnZmFkZScgfCAnc2xpZGUnKSB7XG4gICAgdGhpcy5hbmltYXRpb25zRGlzYWJsZWQgPSB0cnVlO1xuICAgIHRoaXMuX2FuaW1hdGlvbiA9IHZhbHVlO1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5hbmltYXRpb25zRGlzYWJsZWQgPSBmYWxzZSwgMjApO1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCksIDUwKTtcbiAgfVxuICBwdWJsaWMgZ2V0IGFuaW1hdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5fYW5pbWF0aW9uO1xuICB9XG4gIC8vI2VuZHJlZ2lvblxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24uQXJyb3dMZWZ0JywgWyckZXZlbnQnXSlcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bi5BcnJvd1JpZ2h0JywgWyckZXZlbnQnXSlcbiAgb25LZXlQcmVzcyhldjogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmICh0aGlzLmtleWJvYXJkRXZlbnRzKSB7XG4gICAgICBzd2l0Y2ggKGV2LmtleSkge1xuICAgICAgICBjYXNlICdBcnJvd0xlZnQnOlxuICAgICAgICAgIHRoaXMucHJldmlvdXNJbWFnZSgpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdBcnJvd1JpZ2h0JzpcbiAgICAgICAgICB0aGlzLm5leHRJbWFnZSgpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgZXYucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG4gIH1cblxuICBwcmV2aW91c0ltYWdlKCkge1xuICAgIHN3aXRjaCAodGhpcy5hbmltYXRpb24pIHtcbiAgICAgIGNhc2UgJ2ZhZGUnOlxuICAgICAgICBpZiAodGhpcy5jdXJyZW50SW1hZ2VJbmRleCA+IDApIHtcbiAgICAgICAgICB0aGlzLmN1cnJlbnRJbWFnZUluZGV4LS07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5jdXJyZW50SW1hZ2VJbmRleCA9IHRoaXMuaW1hZ2VzJC52YWx1ZSEubGVuZ3RoIC0gMTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3NsaWRlJzpcbiAgICAgICAgdGhpcy5zd2lwZUNvbnRhaW5lci5wcmV2aW91cygpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBuZXh0SW1hZ2UoKSB7XG4gICAgc3dpdGNoICh0aGlzLmFuaW1hdGlvbikge1xuICAgICAgY2FzZSAnZmFkZSc6XG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRJbWFnZUluZGV4IDwgdGhpcy5pbWFnZXMkLnZhbHVlIS5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgdGhpcy5jdXJyZW50SW1hZ2VJbmRleCsrO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuY3VycmVudEltYWdlSW5kZXggPSAwO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnc2xpZGUnOlxuICAgICAgICB0aGlzLnN3aXBlQ29udGFpbmVyLm5leHQoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgaW1hZ2VDb3VudGVyID0gMTtcblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5yZXNpemVPYnNlcnZlcj8ub2JzZXJ2ZSh0aGlzLmlubmVyRWxlbWVudC5uYXRpdmVFbGVtZW50KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMucmVzaXplT2JzZXJ2ZXI/LnVub2JzZXJ2ZSh0aGlzLmlubmVyRWxlbWVudC5uYXRpdmVFbGVtZW50KTtcbiAgICB0aGlzLnJlc2l6ZU9ic2VydmVyPy5kaXNjb25uZWN0KCk7XG4gIH1cbn1cbiIsIkBpZiAoaXNTZXJ2ZXJTaWRlKSB7XG4gICAgPGRpdiBjbGFzcz1cImNhcm91c2VsIG14LWF1dG8gbm9zY3JpcHRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcm91c2VsLWlubmVyIGQtZ3JpZFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqYnNMZXQ9XCIoaW1hZ2VzJCB8IGFzeW5jKSBhcyBpbWFnZXNcIj5cbiAgICAgICAgICAgICAgICBAaWYgKGltYWdlQ291bnQkIHwgYXN5bmM7IGFzIGltYWdlQ291bnQpIHtcbiAgICAgICAgICAgICAgICAgICAgQGZvciAoaW1hZ2Ugb2YgaW1hZ2VzOyB0cmFjayBpbWFnZS5pZDsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwicmFkaW9cIiBbaWRdPVwiJ2Nhci0nICsgaVwiIFtuYW1lXT1cIidjYXInXCIgY2xhc3M9XCJjYXItcmFkaW8gZC1ub25lXCIgYnNOb05vc2NyaXB0IFtjaGVja2VkXT1cImkgPT09IDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJvdXNlbC1pdGVtIGZhZGUgZC1mbGV4IGZsZXgtcm93IGgtMTAwIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LTEwMCBwb3NpdGlvbi1yZWxhdGl2ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImltYWdlLml0ZW1UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGluZGljYXRvcnMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJvdXNlbC1pbmRpY2F0b3JzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAoaW1hZ2Ugb2YgaW1hZ2VzOyB0cmFjayBpbWFnZS5pZDsgbGV0IGogPSAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIFthdHRyLmZvcl09XCInY2FyLScgKyAoaiAlIGltYWdlQ291bnQpXCIgW2NsYXNzLmFjdGl2ZV09XCJpID09PSBqXCIgZGF0YS1icy10YXJnZXQ+PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImNhcm91c2VsLWNvbnRyb2wtcHJldiBjdXJzb3ItcG9pbnRlclwiIFtmb3JdPVwiJ2Nhci0nICsgKChpIC0gMSArIGltYWdlQ291bnQpICUgaW1hZ2VDb3VudClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmlzdWFsbHktaGlkZGVuXCI+UHJldmlvdXM8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiY2Fyb3VzZWwtY29udHJvbC1uZXh0IGN1cnNvci1wb2ludGVyXCIgW2Zvcl09XCInY2FyLScgKyAoKGkgKyAxKSAlIGltYWdlQ291bnQpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiPk5leHQ8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxufSBAZWxzZSB7XG4gICAgQHN3aXRjaCAoYW5pbWF0aW9uKSB7XG4gICAgICAgIEBjYXNlICgnc2xpZGUnKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwgc2xpZGUgbXgtYXV0b1wiIFtzdHlsZS5oZWlnaHQucHhdPVwiY29udGFpbmVyLmN1cnJlbnRTbGlkZUhlaWdodCQgfCBhc3luY1wiPlxuICAgICAgICAgICAgICAgIEBpZiAoaW5kaWNhdG9ycykge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwtaW5kaWNhdG9yc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAoaW1hZ2Ugb2YgKGltYWdlcyQgfCBhc3luYyk7IHRyYWNrIGltYWdlLmlkOyBsZXQgaSA9ICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJjb250YWluZXIuZ290byhpKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiKGNvbnRhaW5lci5pbWFnZUluZGV4JCB8IGFzeW5jKSA9PT0gaVwiIGRhdGEtYnMtdGFyZ2V0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtY3VycmVudF09XCIoY29udGFpbmVyLmltYWdlSW5kZXgkIHwgYXN5bmMpID09PSBpID8gdHJ1ZSA6IG51bGxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidTbGlkZSAnICsgaVwiPjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcm91c2VsLWlubmVyIG92ZXJmbG93LWhpZGRlbiB0ZXh0LW5vd3JhcCBwZS1ub25lXCIgI2lubmVyRWxlbWVudD5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBic1N3aXBlQ29udGFpbmVyICNjb250YWluZXI9XCJic1N3aXBlQ29udGFpbmVyXCIgW21pbmltdW1PZmZzZXRdPVwiNTBcIiBbKGltYWdlSW5kZXgpXT1cImN1cnJlbnRJbWFnZUluZGV4XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwtaXRlbVwiIGJzU3dpcGUgW29mZnNpZGVdPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsYXN0SW1hZ2VUZW1wbGF0ZSQgfCBhc3luY1wiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChpbWFnZSBvZiAoaW1hZ2VzJCB8IGFzeW5jKTsgdHJhY2sgaW1hZ2UuaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwtaXRlbVwiIFtjbGFzcy5hY3RpdmVdPVwidHJ1ZVwiIGJzU3dpcGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpbWFnZS5pdGVtVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJvdXNlbC1pdGVtXCIgYnNTd2lwZSBbb2Zmc2lkZV09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImZpcnN0SW1hZ2VUZW1wbGF0ZSQgfCBhc3luY1wiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJjYXJvdXNlbC1jb250cm9sLXByZXZcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cInByZXZpb3VzSW1hZ2UoKVwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiPlByZXZpb3VzPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJjYXJvdXNlbC1jb250cm9sLW5leHRcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm5leHRJbWFnZSgpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmlzdWFsbHktaGlkZGVuXCI+TmV4dDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIEBjYXNlICgnZmFkZScpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJvdXNlbCBmYWRlIG14LWF1dG9cIj5cbiAgICAgICAgICAgICAgICBAaWYgKGluZGljYXRvcnMpIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcm91c2VsLWluZGljYXRvcnNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKGltYWdlIG9mIChpbWFnZXMkIHwgYXN5bmMpOyB0cmFjayBpbWFnZS5pZDsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiY3VycmVudEltYWdlSW5kZXggPSBpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJjdXJyZW50SW1hZ2VJbmRleCA9PT0gaVwiIGRhdGEtYnMtdGFyZ2V0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtY3VycmVudF09XCJjdXJyZW50SW1hZ2VJbmRleCA9PT0gaSA/IHRydWUgOiBudWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInU2xpZGUgJyArIGlcIj48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJvdXNlbC1pbm5lclwiPlxuICAgICAgICAgICAgICAgICAgICBAZm9yIChpbWFnZSBvZiAoaW1hZ2VzJCB8IGFzeW5jKTsgdHJhY2sgaW1hZ2UuaWQ7IGxldCBpID0gJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGN1cnJlbnRJbWFnZUluZGV4ID09PSBpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcm91c2VsLWl0ZW1cIiBbY2xhc3MuYWN0aXZlXT1cInRydWVcIiBAZmFkZUluT3V0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImltYWdlLml0ZW1UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJjYXJvdXNlbC1jb250cm9sLXByZXZcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cInByZXZpb3VzSW1hZ2UoKVwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiPlByZXZpb3VzPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJjYXJvdXNlbC1jb250cm9sLW5leHRcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm5leHRJbWFnZSgpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmlzdWFsbHktaGlkZGVuXCI+TmV4dDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgfVxufSJdfQ==
|
|
150
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9jYXJvdXNlbC9zcmMvY2Fyb3VzZWwvY2Fyb3VzZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9jYXJvdXNlbC9zcmMvY2Fyb3VzZWwvY2Fyb3VzZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFpQixpQkFBaUIsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFhLFdBQVcsRUFBRSxTQUFTLEVBQWUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFOLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNqRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsZUFBZSxFQUFFLEdBQUcsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUN4RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7Ozs7QUFRdEYsTUFBTSxPQUFPLG1CQUFtQjtJQUU5QixZQUFpQyxVQUFlLEVBQVUsS0FBd0I7UUFBeEIsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUE2QmxGLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFFZixzQkFBaUIsR0FBRyxDQUFDLENBQUM7UUFDdEIsWUFBTyxHQUFHLElBQUksZUFBZSxDQUE2QyxJQUFJLENBQUMsQ0FBQztR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QUFDLElBQUksRUFBRSxDQUFDO2dCQUMzQixNQUFNO1FBQ1YsQ0FBQztJQUNILENBQUM7SUFJRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLGNBQWMsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxjQUFjLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLGNBQWMsRUFBRSxVQUFVLEVBQUUsQ0FBQztJQUNwQyxDQUFDOzhHQXZIVSxtQkFBbUIsa0JBRVYsV0FBVztrR0FGcEIsbUJBQW1CLHlYQTZDSSx3QkFBd0IsME9DM0Q1RCwrbE1BdUdDLHM0TUQzRmEsQ0FBQyxrQkFBa0IsQ0FBQzs7MkZBRXJCLG1CQUFtQjtrQkFOL0IsU0FBUzsrQkFDRSxhQUFhLGNBR1gsQ0FBQyxrQkFBa0IsQ0FBQzs7MEJBSW5CLE1BQU07MkJBQUMsV0FBVzt5RUFzQ3RCLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFFcUIsWUFBWTtzQkFBdEMsU0FBUzt1QkFBQyxjQUFjO2dCQUNELGNBQWM7c0JBQXJDLFNBQVM7dUJBQUMsV0FBVztnQkFDMkMsTUFBTTtzQkFBdEUsZUFBZTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsd0JBQXdCLENBQUM7Z0JBTXpCLGtCQUFrQjtzQkFBbkQsV0FBVzt1QkFBQyxZQUFZO2dCQUVMLFNBQVM7c0JBQTVCLEtBQUs7Z0JBYU4sVUFBVTtzQkFGVCxZQUFZO3VCQUFDLDRCQUE0QixFQUFFLENBQUMsUUFBUSxDQUFDOztzQkFDckQsWUFBWTt1QkFBQyw2QkFBNkIsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzUGxhdGZvcm1TZXJ2ZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgQ29udGVudENoaWxkcmVuLCBFbGVtZW50UmVmLCBmb3J3YXJkUmVmLCBIb3N0QmluZGluZywgSG9zdExpc3RlbmVyLCBJbmplY3QsIElucHV0LCBPbkRlc3Ryb3ksIFBMQVRGT1JNX0lELCBRdWVyeUxpc3QsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZhZGVJbk91dEFuaW1hdGlvbiB9IGZyb20gJ0BtaW50cGxheWVyL25nLWFuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQ29sb3IgfSBmcm9tICdAbWludHBsYXllci9uZy1ib290c3RyYXAnO1xuaW1wb3J0IHsgQnNTd2lwZUNvbnRhaW5lckRpcmVjdGl2ZSB9IGZyb20gJ0BtaW50cGxheWVyL25nLXN3aXBlci9zd2lwZXInO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBtYXAsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEJzQ2Fyb3VzZWxJbWFnZURpcmVjdGl2ZSB9IGZyb20gJy4uL2Nhcm91c2VsLWltYWdlL2Nhcm91c2VsLWltYWdlLmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JzLWNhcm91c2VsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Nhcm91c2VsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2Fyb3VzZWwuY29tcG9uZW50LnNjc3MnXSxcbiAgYW5pbWF0aW9uczogW0ZhZGVJbk91dEFuaW1hdGlvbl1cbn0pXG5leHBvcnQgY2xhc3MgQnNDYXJvdXNlbENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChQTEFURk9STV9JRCkgcGxhdGZvcm1JZDogYW55LCBwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHRoaXMuaXNTZXJ2ZXJTaWRlID0gaXNQbGF0Zm9ybVNlcnZlcihwbGF0Zm9ybUlkKTtcbiAgICB0aGlzLmltYWdlQ291bnQkID0gdGhpcy5pbWFnZXMkLnBpcGUobWFwKChpbWFnZXMpID0+IGltYWdlcz8ubGVuZ3RoID8/IDApKTtcbiAgICB0aGlzLmZpcnN0SW1hZ2VUZW1wbGF0ZSQgPSB0aGlzLmltYWdlcyQucGlwZShtYXAoKGltYWdlcykgPT4ge1xuICAgICAgaWYgKCFpbWFnZXMpIHJldHVybiBudWxsO1xuICAgICAgaWYgKGltYWdlcy5sZW5ndGggPT09IDApIHJldHVybiBudWxsO1xuXG4gICAgICBjb25zdCBpbWcgPSBpbWFnZXMuZ2V0KDApO1xuICAgICAgaWYgKCFpbWcpIHJldHVybiBudWxsO1xuXG4gICAgICByZXR1cm4gaW1nLml0ZW1UZW1wbGF0ZTtcbiAgICB9KSk7XG4gICAgdGhpcy5sYXN0SW1hZ2VUZW1wbGF0ZSQgPSB0aGlzLmltYWdlcyQucGlwZShtYXAoKGltYWdlcykgPT4ge1xuICAgICAgaWYgKCFpbWFnZXMpIHJldHVybiBudWxsO1xuICAgICAgaWYgKGltYWdlcy5sZW5ndGggPT09IDApIHJldHVybiBudWxsO1xuICAgICAgXG4gICAgICBjb25zdCBpbWcgPSBpbWFnZXMuZ2V0KGltYWdlcy5sZW5ndGggLSAxKTtcbiAgICAgIGlmICghaW1nKSByZXR1cm4gbnVsbDtcblxuICAgICAgcmV0dXJuIGltZy5pdGVtVGVtcGxhdGU7XG4gICAgfSkpO1xuXG4gICAgaWYgKCFpc1BsYXRmb3JtU2VydmVyKHBsYXRmb3JtSWQpKSB7XG4gICAgICB0aGlzLnJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKChlbnRyaWVzKSA9PiB7XG4gICAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG4gIFxuICBjb2xvcnMgPSBDb2xvcjtcbiAgaXNTZXJ2ZXJTaWRlOiBib29sZWFuO1xuICBjdXJyZW50SW1hZ2VJbmRleCA9IDA7XG4gIGltYWdlcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFF1ZXJ5TGlzdDxCc0Nhcm91c2VsSW1hZ2VEaXJlY3RpdmU+IHwgbnVsbD4obnVsbCk7XG4gIGltYWdlQ291bnQkOiBPYnNlcnZhYmxlPG51bWJlcj47XG4gIGZpcnN0SW1hZ2VUZW1wbGF0ZSQ6IE9ic2VydmFibGU8VGVtcGxhdGVSZWY8YW55PiB8IG51bGw+O1xuICBsYXN0SW1hZ2VUZW1wbGF0ZSQ6IE9ic2VydmFibGU8VGVtcGxhdGVSZWY8YW55PiB8IG51bGw+O1xuICByZXNpemVPYnNlcnZlcj86IFJlc2l6ZU9ic2VydmVyO1xuXG4gIEBJbnB1dCgpIGluZGljYXRvcnMgPSBmYWxzZTtcbiAgQElucHV0KCkga2V5Ym9hcmRFdmVudHMgPSB0cnVlO1xuXG4gIEBWaWV3Q2hpbGQoJ2lubmVyRWxlbWVudCcpIGlubmVyRWxlbWVudCE6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuICBAVmlld0NoaWxkKCdjb250YWluZXInKSBzd2lwZUNvbnRhaW5lciE6IEJzU3dpcGVDb250YWluZXJEaXJlY3RpdmU7XG4gIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBCc0Nhcm91c2VsSW1hZ2VEaXJlY3RpdmUpKSBzZXQgaW1hZ2VzKHZhbHVlOiBRdWVyeUxpc3Q8QnNDYXJvdXNlbEltYWdlRGlyZWN0aXZlPikge1xuICAgIHRoaXMuaW1hZ2VzJC5uZXh0KHZhbHVlKTtcbiAgICB2YWx1ZS5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4gaXRlbS5pc0ZpcnN0ID0gKGluZGV4ID09PSAwKSk7XG4gIH1cblxuICAvLyNyZWdpb24gQW5pbWF0aW9uXG4gIEBIb3N0QmluZGluZygnQC5kaXNhYmxlZCcpIHB1YmxpYyBhbmltYXRpb25zRGlzYWJsZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfYW5pbWF0aW9uOiAnZmFkZScgfCAnc2xpZGUnID0gJ3NsaWRlJztcbiAgQElucHV0KCkgcHVibGljIHNldCBhbmltYXRpb24odmFsdWU6ICdmYWRlJyB8ICdzbGlkZScpIHtcbiAgICB0aGlzLmFuaW1hdGlvbnNEaXNhYmxlZCA9IHRydWU7XG4gICAgdGhpcy5fYW5pbWF0aW9uID0gdmFsdWU7XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmFuaW1hdGlvbnNEaXNhYmxlZCA9IGZhbHNlLCAyMCk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKSwgNTApO1xuICB9XG4gIHB1YmxpYyBnZXQgYW5pbWF0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLl9hbmltYXRpb247XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bi5BcnJvd0xlZnQnLCBbJyRldmVudCddKVxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duLkFycm93UmlnaHQnLCBbJyRldmVudCddKVxuICBvbktleVByZXNzKGV2OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKHRoaXMua2V5Ym9hcmRFdmVudHMpIHtcbiAgICAgIHN3aXRjaCAoZXYua2V5KSB7XG4gICAgICAgIGNhc2UgJ0Fycm93TGVmdCc6XG4gICAgICAgICAgdGhpcy5wcmV2aW91c0ltYWdlKCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ0Fycm93UmlnaHQnOlxuICAgICAgICAgIHRoaXMubmV4dEltYWdlKCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBldi5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgfVxuXG4gIHByZXZpb3VzSW1hZ2UoKSB7XG4gICAgc3dpdGNoICh0aGlzLmFuaW1hdGlvbikge1xuICAgICAgY2FzZSAnZmFkZSc6XG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRJbWFnZUluZGV4ID4gMCkge1xuICAgICAgICAgIHRoaXMuY3VycmVudEltYWdlSW5kZXgtLTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmN1cnJlbnRJbWFnZUluZGV4ID0gdGhpcy5pbWFnZXMkLnZhbHVlIS5sZW5ndGggLSAxO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnc2xpZGUnOlxuICAgICAgICB0aGlzLnN3aXBlQ29udGFpbmVyLnByZXZpb3VzKCk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIG5leHRJbWFnZSgpIHtcbiAgICBzd2l0Y2ggKHRoaXMuYW5pbWF0aW9uKSB7XG4gICAgICBjYXNlICdmYWRlJzpcbiAgICAgICAgaWYgKHRoaXMuY3VycmVudEltYWdlSW5kZXggPCB0aGlzLmltYWdlcyQudmFsdWUhLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICB0aGlzLmN1cnJlbnRJbWFnZUluZGV4Kys7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5jdXJyZW50SW1hZ2VJbmRleCA9IDA7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdzbGlkZSc6XG4gICAgICAgIHRoaXMuc3dpcGVDb250YWluZXIubmV4dCgpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBpbWFnZUNvdW50ZXIgPSAxO1xuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLnJlc2l6ZU9ic2VydmVyPy5vYnNlcnZlKHRoaXMuaW5uZXJFbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5yZXNpemVPYnNlcnZlcj8udW5vYnNlcnZlKHRoaXMuaW5uZXJFbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xuICAgIHRoaXMucmVzaXplT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcbiAgfVxufVxuIiwiQGlmIChpc1NlcnZlclNpZGUpIHtcbiAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwgbXgtYXV0byBub3NjcmlwdFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwtaW5uZXIgZC1ncmlkXCI+XG4gICAgICAgICAgICBAbGV0IGltYWdlcyA9IGltYWdlcyQgfCBhc3luYztcbiAgICAgICAgICAgIEBpZiAoaW1hZ2VDb3VudCQgfCBhc3luYzsgYXMgaW1hZ2VDb3VudCkge1xuICAgICAgICAgICAgICAgIEBmb3IgKGltYWdlIG9mIGltYWdlczsgdHJhY2sgaW1hZ2UuaWQ7IGxldCBpID0gJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwicmFkaW9cIiBbaWRdPVwiJ2Nhci0nICsgaVwiIFtuYW1lXT1cIidjYXInXCIgY2xhc3M9XCJjYXItcmFkaW8gZC1ub25lXCIgYnNOb05vc2NyaXB0IFtjaGVja2VkXT1cImkgPT09IDBcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcm91c2VsLWl0ZW0gZmFkZSBkLWZsZXggZmxleC1yb3cgaC0xMDAgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0xMDAgcG9zaXRpb24tcmVsYXRpdmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImltYWdlLml0ZW1UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoaW5kaWNhdG9ycykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwtaW5kaWNhdG9yc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAoaW1hZ2Ugb2YgaW1hZ2VzOyB0cmFjayBpbWFnZS5pZDsgbGV0IGogPSAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgW2F0dHIuZm9yXT1cIidjYXItJyArIChqICUgaW1hZ2VDb3VudClcIiBbY2xhc3MuYWN0aXZlXT1cImkgPT09IGpcIiBkYXRhLWJzLXRhcmdldD48L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJjYXJvdXNlbC1jb250cm9sLXByZXYgY3Vyc29yLXBvaW50ZXJcIiBbZm9yXT1cIidjYXItJyArICgoaSAtIDEgKyBpbWFnZUNvdW50KSAlIGltYWdlQ291bnQpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj5QcmV2aW91czwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiY2Fyb3VzZWwtY29udHJvbC1uZXh0IGN1cnNvci1wb2ludGVyXCIgW2Zvcl09XCInY2FyLScgKyAoKGkgKyAxKSAlIGltYWdlQ291bnQpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj5OZXh0PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG59IEBlbHNlIHtcbiAgICBAc3dpdGNoIChhbmltYXRpb24pIHtcbiAgICAgICAgQGNhc2UgKCdzbGlkZScpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJvdXNlbCBzbGlkZSBteC1hdXRvXCIgW3N0eWxlLmhlaWdodC5weF09XCJjb250YWluZXIuY3VycmVudFNsaWRlSGVpZ2h0JCB8IGFzeW5jXCI+XG4gICAgICAgICAgICAgICAgQGlmIChpbmRpY2F0b3JzKSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJvdXNlbC1pbmRpY2F0b3JzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChpbWFnZSBvZiAoaW1hZ2VzJCB8IGFzeW5jKTsgdHJhY2sgaW1hZ2UuaWQ7IGxldCBpID0gJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImNvbnRhaW5lci5nb3RvKGkpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCIoY29udGFpbmVyLmltYWdlSW5kZXgkIHwgYXN5bmMpID09PSBpXCIgZGF0YS1icy10YXJnZXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jdXJyZW50XT1cIihjb250YWluZXIuaW1hZ2VJbmRleCQgfCBhc3luYykgPT09IGkgPyB0cnVlIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1NsaWRlICcgKyBpXCI+PC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwtaW5uZXIgb3ZlcmZsb3ctaGlkZGVuIHRleHQtbm93cmFwIHBlLW5vbmVcIiAjaW5uZXJFbGVtZW50PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGJzU3dpcGVDb250YWluZXIgI2NvbnRhaW5lcj1cImJzU3dpcGVDb250YWluZXJcIiBbbWluaW11bU9mZnNldF09XCI1MFwiIFsoaW1hZ2VJbmRleCldPVwiY3VycmVudEltYWdlSW5kZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJvdXNlbC1pdGVtXCIgYnNTd2lwZSBbb2Zmc2lkZV09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxhc3RJbWFnZVRlbXBsYXRlJCB8IGFzeW5jXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKGltYWdlIG9mIChpbWFnZXMkIHwgYXN5bmMpOyB0cmFjayBpbWFnZS5pZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJvdXNlbC1pdGVtXCIgW2NsYXNzLmFjdGl2ZV09XCJ0cnVlXCIgYnNTd2lwZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImltYWdlLml0ZW1UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcm91c2VsLWl0ZW1cIiBic1N3aXBlIFtvZmZzaWRlXT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZmlyc3RJbWFnZVRlbXBsYXRlJCB8IGFzeW5jXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImNhcm91c2VsLWNvbnRyb2wtcHJldlwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwicHJldmlvdXNJbWFnZSgpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmlzdWFsbHktaGlkZGVuXCI+UHJldmlvdXM8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImNhcm91c2VsLWNvbnRyb2wtbmV4dFwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwibmV4dEltYWdlKClcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj5OZXh0PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgQGNhc2UgKCdmYWRlJykge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcm91c2VsIGZhZGUgbXgtYXV0b1wiPlxuICAgICAgICAgICAgICAgIEBpZiAoaW5kaWNhdG9ycykge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwtaW5kaWNhdG9yc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAoaW1hZ2Ugb2YgKGltYWdlcyQgfCBhc3luYyk7IHRyYWNrIGltYWdlLmlkOyBsZXQgaSA9ICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJjdXJyZW50SW1hZ2VJbmRleCA9IGlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImN1cnJlbnRJbWFnZUluZGV4ID09PSBpXCIgZGF0YS1icy10YXJnZXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jdXJyZW50XT1cImN1cnJlbnRJbWFnZUluZGV4ID09PSBpID8gdHJ1ZSA6IG51bGxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidTbGlkZSAnICsgaVwiPjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcm91c2VsLWlubmVyXCI+XG4gICAgICAgICAgICAgICAgICAgIEBmb3IgKGltYWdlIG9mIChpbWFnZXMkIHwgYXN5bmMpOyB0cmFjayBpbWFnZS5pZDsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoY3VycmVudEltYWdlSW5kZXggPT09IGkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwtaXRlbVwiIFtjbGFzcy5hY3RpdmVdPVwidHJ1ZVwiIEBmYWRlSW5PdXQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaW1hZ2UuaXRlbVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+ICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImNhcm91c2VsLWNvbnRyb2wtcHJldlwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwicHJldmlvdXNJbWFnZSgpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmlzdWFsbHktaGlkZGVuXCI+UHJldmlvdXM8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImNhcm91c2VsLWNvbnRyb2wtbmV4dFwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwibmV4dEltYWdlKClcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj5OZXh0PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICB9XG59Il19
|