@coreui/angular-pro 5.1.2 → 5.1.3
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/README.md +6 -5
- package/esm2022/lib/accordion/accordion/accordion.component.mjs +3 -3
- package/esm2022/lib/accordion/accordion-button/accordion-button.directive.mjs +3 -3
- package/esm2022/lib/accordion/accordion-item/accordion-item.component.mjs +3 -3
- package/esm2022/lib/accordion/accordion.module.mjs +4 -4
- package/esm2022/lib/accordion/accordion.service.mjs +3 -3
- package/esm2022/lib/alert/alert-heading.directive.mjs +3 -3
- package/esm2022/lib/alert/alert-link.directive.mjs +3 -3
- package/esm2022/lib/alert/alert.component.mjs +3 -3
- package/esm2022/lib/alert/alert.module.mjs +4 -4
- package/esm2022/lib/avatar/avatar.component.mjs +3 -3
- package/esm2022/lib/avatar/avatar.module.mjs +4 -4
- package/esm2022/lib/backdrop/backdrop.service.mjs +3 -3
- package/esm2022/lib/badge/badge.component.mjs +3 -3
- package/esm2022/lib/badge/badge.module.mjs +4 -4
- package/esm2022/lib/breadcrumb/breadcrumb/breadcrumb.component.mjs +3 -3
- package/esm2022/lib/breadcrumb/breadcrumb-item/breadcrumb-item.component.mjs +3 -3
- package/esm2022/lib/breadcrumb/breadcrumb-router/breadcrumb-router.component.mjs +3 -3
- package/esm2022/lib/breadcrumb/breadcrumb-router/breadcrumb-router.service.mjs +3 -3
- package/esm2022/lib/breadcrumb/breadcrumb.module.mjs +4 -4
- package/esm2022/lib/button/button-close.directive.mjs +3 -3
- package/esm2022/lib/button/button.directive.mjs +3 -3
- package/esm2022/lib/button/button.module.mjs +4 -4
- package/esm2022/lib/button-group/button-group/button-group.component.mjs +3 -3
- package/esm2022/lib/button-group/button-group.module.mjs +4 -4
- package/esm2022/lib/button-group/button-toolbar/button-toolbar.component.mjs +3 -3
- package/esm2022/lib/calendar/calendar/calendar-class-view.pipe.mjs +3 -3
- package/esm2022/lib/calendar/calendar/calendar.component.mjs +7 -13
- package/esm2022/lib/calendar/calendar-month/calendar-class-day.pipe.mjs +3 -3
- package/esm2022/lib/calendar/calendar-month/calendar-class-month.pipe.mjs +3 -3
- package/esm2022/lib/calendar/calendar-month/calendar-class-row.pipe.mjs +3 -3
- package/esm2022/lib/calendar/calendar-month/calendar-class-year.pipe.mjs +3 -3
- package/esm2022/lib/calendar/calendar-month/calendar-day-title.pipe.mjs +3 -3
- package/esm2022/lib/calendar/calendar-month/calendar-day.directive.mjs +3 -3
- package/esm2022/lib/calendar/calendar-month/calendar-day.pipe.mjs +3 -3
- package/esm2022/lib/calendar/calendar-month/calendar-month.component.mjs +3 -3
- package/esm2022/lib/calendar/calendar-month/calendar-row.directive.mjs +3 -3
- package/esm2022/lib/calendar/calendar-month/calendar-weekday.pipe.mjs +3 -3
- package/esm2022/lib/calendar/calendar-navigation/calendar-navigation.component.mjs +3 -3
- package/esm2022/lib/calendar/calendar.module.mjs +4 -4
- package/esm2022/lib/calendar/calendar.service.mjs +3 -3
- package/esm2022/lib/callout/callout.component.mjs +3 -3
- package/esm2022/lib/callout/callout.module.mjs +4 -4
- package/esm2022/lib/card/card-body.component.mjs +3 -3
- package/esm2022/lib/card/card-footer.component.mjs +3 -3
- package/esm2022/lib/card/card-group.component.mjs +3 -3
- package/esm2022/lib/card/card-header-actions.component.mjs +3 -3
- package/esm2022/lib/card/card-header.component.mjs +3 -3
- package/esm2022/lib/card/card-img-overlay/card-img-overlay.component.mjs +3 -3
- package/esm2022/lib/card/card-img.directive.mjs +3 -3
- package/esm2022/lib/card/card-link.directive.mjs +3 -3
- package/esm2022/lib/card/card-subtitle.directive.mjs +3 -3
- package/esm2022/lib/card/card-text.directive.mjs +3 -3
- package/esm2022/lib/card/card-title.directive.mjs +3 -3
- package/esm2022/lib/card/card.component.mjs +3 -3
- package/esm2022/lib/card/card.module.mjs +4 -4
- package/esm2022/lib/carousel/carousel/carousel.component.mjs +3 -3
- package/esm2022/lib/carousel/carousel-caption/carousel-caption.component.mjs +3 -3
- package/esm2022/lib/carousel/carousel-control/carousel-control.component.mjs +3 -3
- package/esm2022/lib/carousel/carousel-indicators/carousel-indicators.component.mjs +3 -3
- package/esm2022/lib/carousel/carousel-inner/carousel-inner.component.mjs +3 -3
- package/esm2022/lib/carousel/carousel-item/carousel-item.component.mjs +3 -3
- package/esm2022/lib/carousel/carousel-state.mjs +3 -3
- package/esm2022/lib/carousel/carousel.config.mjs +3 -3
- package/esm2022/lib/carousel/carousel.module.mjs +4 -4
- package/esm2022/lib/carousel/carousel.service.mjs +3 -3
- package/esm2022/lib/collapse/collapse.directive.mjs +3 -3
- package/esm2022/lib/collapse/collapse.module.mjs +4 -4
- package/esm2022/lib/date-picker/date-picker.component.mjs +3 -3
- package/esm2022/lib/date-picker/date-picker.module.mjs +4 -4
- package/esm2022/lib/date-range-picker/date-range-picker/custom-range-key.pipe.mjs +3 -3
- package/esm2022/lib/date-range-picker/date-range-picker/date-range-picker.component.mjs +3 -3
- package/esm2022/lib/date-range-picker/date-range-picker.module.mjs +4 -4
- package/esm2022/lib/dropdown/dropdown/dropdown.component.mjs +6 -6
- package/esm2022/lib/dropdown/dropdown-close/dropdown-close.directive.mjs +3 -3
- package/esm2022/lib/dropdown/dropdown-divider/dropdown-divider.directive.mjs +3 -3
- package/esm2022/lib/dropdown/dropdown-header/dropdown-header.directive.mjs +3 -3
- package/esm2022/lib/dropdown/dropdown-item/dropdown-item-plain.directive.mjs +3 -3
- package/esm2022/lib/dropdown/dropdown-item/dropdown-item.directive.mjs +3 -3
- package/esm2022/lib/dropdown/dropdown-menu/dropdown-menu.directive.mjs +3 -3
- package/esm2022/lib/dropdown/dropdown.module.mjs +4 -4
- package/esm2022/lib/dropdown/dropdown.service.mjs +3 -3
- package/esm2022/lib/element-cover/element-cover.component.mjs +3 -3
- package/esm2022/lib/element-cover/element-cover.module.mjs +4 -4
- package/esm2022/lib/footer/footer.component.mjs +3 -3
- package/esm2022/lib/footer/footer.module.mjs +4 -4
- package/esm2022/lib/form/form/form.directive.mjs +3 -3
- package/esm2022/lib/form/form-check/form-check-input.directive.mjs +3 -3
- package/esm2022/lib/form/form-check/form-check-label.directive.mjs +3 -3
- package/esm2022/lib/form/form-check/form-check.component.mjs +3 -3
- package/esm2022/lib/form/form-control/form-control.directive.mjs +3 -3
- package/esm2022/lib/form/form-feedback/form-feedback.component.mjs +3 -3
- package/esm2022/lib/form/form-floating/form-floating.directive.mjs +3 -3
- package/esm2022/lib/form/form-label/form-label.directive.mjs +3 -3
- package/esm2022/lib/form/form-select/form-select.directive.mjs +3 -3
- package/esm2022/lib/form/form-text/form-text.directive.mjs +3 -3
- package/esm2022/lib/form/form.module.mjs +4 -4
- package/esm2022/lib/form/input-group/input-group.component.mjs +3 -3
- package/esm2022/lib/form/input-group-text/input-group-text.directive.mjs +3 -3
- package/esm2022/lib/grid/col.component.mjs +3 -3
- package/esm2022/lib/grid/col.directive.mjs +3 -3
- package/esm2022/lib/grid/container.component.mjs +3 -3
- package/esm2022/lib/grid/grid.module.mjs +4 -4
- package/esm2022/lib/grid/gutter.directive.mjs +3 -3
- package/esm2022/lib/grid/row.component.mjs +3 -3
- package/esm2022/lib/grid/row.directive.mjs +3 -3
- package/esm2022/lib/header/header/header.component.mjs +3 -3
- package/esm2022/lib/header/header-brand/header-brand.component.mjs +3 -3
- package/esm2022/lib/header/header-divider/header-divider.component.mjs +3 -3
- package/esm2022/lib/header/header-nav/header-nav.component.mjs +3 -3
- package/esm2022/lib/header/header-text/header-text.component.mjs +3 -3
- package/esm2022/lib/header/header-toggler/header-toggler.directive.mjs +3 -3
- package/esm2022/lib/header/header.module.mjs +4 -4
- package/esm2022/lib/image/img.directive.mjs +3 -3
- package/esm2022/lib/image/img.module.mjs +4 -4
- package/esm2022/lib/list-group/list-group-item.directive.mjs +3 -3
- package/esm2022/lib/list-group/list-group.directive.mjs +3 -3
- package/esm2022/lib/list-group/list-group.module.mjs +4 -4
- package/esm2022/lib/loading-button/loading-button.component.mjs +3 -3
- package/esm2022/lib/loading-button/loading-button.module.mjs +4 -4
- package/esm2022/lib/modal/modal/modal.component.mjs +11 -11
- package/esm2022/lib/modal/modal-body/modal-body.component.mjs +5 -5
- package/esm2022/lib/modal/modal-content/modal-content.component.mjs +3 -3
- package/esm2022/lib/modal/modal-dialog/modal-dialog.component.mjs +3 -3
- package/esm2022/lib/modal/modal-dismiss/modal-toggle.directive.mjs +3 -3
- package/esm2022/lib/modal/modal-footer/modal-footer.component.mjs +5 -5
- package/esm2022/lib/modal/modal-header/modal-header.component.mjs +4 -4
- package/esm2022/lib/modal/modal-title/modal-title.directive.mjs +3 -3
- package/esm2022/lib/modal/modal.module.mjs +4 -4
- package/esm2022/lib/modal/modal.service.mjs +3 -3
- package/esm2022/lib/multi-select/multi-select/multi-select-search.directive.mjs +3 -3
- package/esm2022/lib/multi-select/multi-select/multi-select.component.mjs +3 -3
- package/esm2022/lib/multi-select/multi-select-native-select/multi-select-native-select.component.mjs +3 -3
- package/esm2022/lib/multi-select/multi-select-optgroup/multi-select-optgroup-label.component.mjs +3 -3
- package/esm2022/lib/multi-select/multi-select-optgroup/multi-select-optgroup.component.mjs +3 -3
- package/esm2022/lib/multi-select/multi-select-option/multi-select-option.component.mjs +3 -3
- package/esm2022/lib/multi-select/multi-select-tag/multi-select-tag.component.mjs +3 -3
- package/esm2022/lib/multi-select/multi-select.module.mjs +4 -4
- package/esm2022/lib/multi-select/multi-select.service.mjs +3 -3
- package/esm2022/lib/nav/nav-item.component.mjs +3 -3
- package/esm2022/lib/nav/nav-link.directive.mjs +3 -3
- package/esm2022/lib/nav/nav.component.mjs +3 -3
- package/esm2022/lib/nav/nav.module.mjs +4 -4
- package/esm2022/lib/navbar/navbar-brand/navbar-brand.directive.mjs +3 -3
- package/esm2022/lib/navbar/navbar-nav/navbar-nav.component.mjs +3 -3
- package/esm2022/lib/navbar/navbar-text/navbar-text.component.mjs +3 -3
- package/esm2022/lib/navbar/navbar-toggler/navbar-toggler.directive.mjs +3 -3
- package/esm2022/lib/navbar/navbar.component.mjs +3 -3
- package/esm2022/lib/navbar/navbar.module.mjs +4 -4
- package/esm2022/lib/offcanvas/offcanvas/offcanvas.component.mjs +3 -3
- package/esm2022/lib/offcanvas/offcanvas-body/offcanvas-body.component.mjs +3 -3
- package/esm2022/lib/offcanvas/offcanvas-header/offcanvas-header.component.mjs +3 -3
- package/esm2022/lib/offcanvas/offcanvas-title/offcanvas-title.directive.mjs +3 -3
- package/esm2022/lib/offcanvas/offcanvas-toggle/offcanvas-toggle.directive.mjs +3 -3
- package/esm2022/lib/offcanvas/offcanvas.module.mjs +4 -4
- package/esm2022/lib/offcanvas/offcanvas.service.mjs +3 -3
- package/esm2022/lib/pagination/page-item/page-item.component.mjs +3 -3
- package/esm2022/lib/pagination/page-item/page-item.directive.mjs +3 -3
- package/esm2022/lib/pagination/page-link/page-link.directive.mjs +3 -3
- package/esm2022/lib/pagination/pagination/pagination.component.mjs +3 -3
- package/esm2022/lib/pagination/pagination.module.mjs +4 -4
- package/esm2022/lib/placeholder/placeholder-animation.directive.mjs +3 -3
- package/esm2022/lib/placeholder/placeholder.directive.mjs +3 -3
- package/esm2022/lib/placeholder/placeholder.module.mjs +4 -4
- package/esm2022/lib/popover/popover/popover.component.mjs +3 -3
- package/esm2022/lib/popover/popover.directive.mjs +3 -3
- package/esm2022/lib/popover/popover.module.mjs +4 -4
- package/esm2022/lib/progress/progress-bar.component.mjs +3 -3
- package/esm2022/lib/progress/progress-bar.directive.mjs +3 -3
- package/esm2022/lib/progress/progress-stacked.component.mjs +3 -3
- package/esm2022/lib/progress/progress.component.mjs +3 -3
- package/esm2022/lib/progress/progress.module.mjs +4 -4
- package/esm2022/lib/rating/rating-item-label/rating-item-label.component.mjs +3 -3
- package/esm2022/lib/rating/rating.component.mjs +3 -3
- package/esm2022/lib/rating/rating.module.mjs +4 -4
- package/esm2022/lib/services/class-toggle.service.mjs +3 -3
- package/esm2022/lib/services/color-mode.service.mjs +3 -3
- package/esm2022/lib/services/in-memory-storage.service.mjs +3 -3
- package/esm2022/lib/services/intersection.service.mjs +3 -3
- package/esm2022/lib/services/listeners.service.mjs +3 -3
- package/esm2022/lib/services/local-storage.service.mjs +3 -3
- package/esm2022/lib/shared/element-ref.directive.mjs +3 -3
- package/esm2022/lib/shared/html-attr.directive.mjs +3 -3
- package/esm2022/lib/shared/shared.module.mjs +4 -4
- package/esm2022/lib/shared/template-id.directive.mjs +3 -3
- package/esm2022/lib/shared/theme.directive.mjs +3 -3
- package/esm2022/lib/sidebar/sidebar/sidebar.component.mjs +3 -3
- package/esm2022/lib/sidebar/sidebar-backdrop/sidebar-backdrop.service.mjs +3 -3
- package/esm2022/lib/sidebar/sidebar-brand/sidebar-brand.component.mjs +3 -3
- package/esm2022/lib/sidebar/sidebar-footer/sidebar-footer.component.mjs +3 -3
- package/esm2022/lib/sidebar/sidebar-header/sidebar-header.component.mjs +3 -3
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-badge.pipe.mjs +3 -3
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-divider.component.mjs +3 -3
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-group.service.mjs +3 -3
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-icon.pipe.mjs +3 -3
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-item-class.pipe.mjs +3 -3
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-label.component.mjs +3 -3
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-link.component.mjs +6 -6
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-link.pipe.mjs +3 -3
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-title.component.mjs +3 -3
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav.component.mjs +6 -6
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav.service.mjs +6 -6
- package/esm2022/lib/sidebar/sidebar-toggle/sidebar-toggle.directive.mjs +3 -3
- package/esm2022/lib/sidebar/sidebar-toggler/sidebar-toggler.directive.mjs +3 -3
- package/esm2022/lib/sidebar/sidebar.module.mjs +4 -4
- package/esm2022/lib/sidebar/sidebar.service.mjs +3 -3
- package/esm2022/lib/smart-pagination/smart-pagination.component.mjs +5 -5
- package/esm2022/lib/smart-pagination/smart-pagination.module.mjs +4 -4
- package/esm2022/lib/smart-table/smart-table/smart-table.component.mjs +3 -3
- package/esm2022/lib/smart-table/smart-table-column-filter/smart-table-column-filter.component.mjs +3 -3
- package/esm2022/lib/smart-table/smart-table-filter/filter-input.directive.mjs +3 -3
- package/esm2022/lib/smart-table/smart-table-filter/smart-table-filter.component.mjs +3 -3
- package/esm2022/lib/smart-table/smart-table-head/smart-table-column-label.pipe.mjs +3 -3
- package/esm2022/lib/smart-table/smart-table-head/smart-table-head.component.mjs +3 -3
- package/esm2022/lib/smart-table/smart-table-items-per-page-selector/smart-table-items-per-page-selector.component.mjs +3 -3
- package/esm2022/lib/smart-table/smart-table.module.mjs +4 -4
- package/esm2022/lib/spinner/spinner.component.mjs +3 -3
- package/esm2022/lib/spinner/spinner.module.mjs +4 -4
- package/esm2022/lib/table/table-active.directive.mjs +3 -3
- package/esm2022/lib/table/table-color.directive.mjs +3 -3
- package/esm2022/lib/table/table.directive.mjs +3 -3
- package/esm2022/lib/table/table.module.mjs +4 -4
- package/esm2022/lib/tabs/tab-content/tab-content.component.mjs +3 -3
- package/esm2022/lib/tabs/tab-content-ref.directive.mjs +3 -3
- package/esm2022/lib/tabs/tab-pane/tab-pane.component.mjs +3 -3
- package/esm2022/lib/tabs/tab.service.mjs +3 -3
- package/esm2022/lib/tabs/tabs.module.mjs +4 -4
- package/esm2022/lib/time-picker/time-picker-roll-col/time-picker-roll-am-pm.component.mjs +13 -15
- package/esm2022/lib/time-picker/time-picker-roll-col/time-picker-roll-col.component.mjs +16 -16
- package/esm2022/lib/time-picker/time-picker.component.mjs +6 -6
- package/esm2022/lib/time-picker/time-picker.module.mjs +4 -4
- package/esm2022/lib/toast/toast/toast.component.mjs +3 -3
- package/esm2022/lib/toast/toast-body/toast-body.component.mjs +3 -3
- package/esm2022/lib/toast/toast-close.directive.mjs +3 -3
- package/esm2022/lib/toast/toast-header/toast-header.component.mjs +3 -3
- package/esm2022/lib/toast/toast.module.mjs +4 -4
- package/esm2022/lib/toast/toaster/toaster-host.directive.mjs +3 -3
- package/esm2022/lib/toast/toaster/toaster.component.mjs +3 -3
- package/esm2022/lib/toast/toaster/toaster.service.mjs +3 -3
- package/esm2022/lib/tooltip/tooltip/tooltip.component.mjs +3 -3
- package/esm2022/lib/tooltip/tooltip.directive.mjs +3 -3
- package/esm2022/lib/tooltip/tooltip.module.mjs +4 -4
- package/esm2022/lib/utilities/align.directive.mjs +3 -3
- package/esm2022/lib/utilities/bg-color.directive.mjs +3 -3
- package/esm2022/lib/utilities/border.directive.mjs +3 -3
- package/esm2022/lib/utilities/rounded.directive.mjs +3 -3
- package/esm2022/lib/utilities/shadow-on-scroll.directive.mjs +3 -3
- package/esm2022/lib/utilities/text-bg-color.directive.mjs +3 -3
- package/esm2022/lib/utilities/text-color.directive.mjs +3 -3
- package/esm2022/lib/utilities/utilities.module.mjs +4 -4
- package/esm2022/lib/widget/widget-stat-a/widget-stat-a.component.mjs +3 -3
- package/esm2022/lib/widget/widget-stat-b/widget-stat-b.component.mjs +3 -3
- package/esm2022/lib/widget/widget-stat-c/widget-stat-c.component.mjs +3 -3
- package/esm2022/lib/widget/widget-stat-d/widget-stat-d.component.mjs +3 -3
- package/esm2022/lib/widget/widget-stat-e/widget-stat-e.component.mjs +3 -3
- package/esm2022/lib/widget/widget-stat-f/widget-stat-f.component.mjs +3 -3
- package/esm2022/lib/widget/widget.module.mjs +4 -4
- package/fesm2022/coreui-angular-pro.mjs +861 -869
- package/fesm2022/coreui-angular-pro.mjs.map +1 -1
- package/lib/calendar/calendar/calendar.component.d.ts +2 -2
- package/lib/time-picker/time-picker-roll-col/time-picker-roll-am-pm.component.d.ts +0 -1
- package/lib/time-picker/time-picker-roll-col/time-picker-roll-col.component.d.ts +0 -1
- package/package.json +2 -2
|
@@ -2,10 +2,10 @@ import { Component } from '@angular/core';
|
|
|
2
2
|
import { ColDirective } from './col.directive';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export class ColComponent extends ColDirective {
|
|
5
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
6
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
5
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ColComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
6
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: ColComponent, isStandalone: true, selector: "c-col", usesInheritance: true, ngImport: i0, template: '<ng-content />', isInline: true, styles: [":host{display:block}\n"] }); }
|
|
7
7
|
}
|
|
8
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
8
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ColComponent, decorators: [{
|
|
9
9
|
type: Component,
|
|
10
10
|
args: [{ selector: 'c-col', template: '<ng-content />', standalone: true, styles: [":host{display:block}\n"] }]
|
|
11
11
|
}] });
|
|
@@ -123,10 +123,10 @@ export class ColDirective {
|
|
|
123
123
|
}
|
|
124
124
|
return coerceNumberProperty(value);
|
|
125
125
|
}
|
|
126
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
127
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.
|
|
126
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ColDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
127
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.11", type: ColDirective, isStandalone: true, selector: "[cCol]", inputs: { cCol: "cCol", xs: "xs", sm: "sm", md: "md", lg: "lg", xl: "xl", xxl: "xxl", offset: "offset", order: "order" }, host: { properties: { "class": "this.hostClasses" } }, ngImport: i0 }); }
|
|
128
128
|
}
|
|
129
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
129
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ColDirective, decorators: [{
|
|
130
130
|
type: Directive,
|
|
131
131
|
args: [{
|
|
132
132
|
selector: '[cCol]',
|
|
@@ -19,10 +19,10 @@ export class ContainerComponent {
|
|
|
19
19
|
[`container-${this.breakpoint}`]: !!this.breakpoint
|
|
20
20
|
};
|
|
21
21
|
}
|
|
22
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
23
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.3.
|
|
22
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
23
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.3.11", type: ContainerComponent, isStandalone: true, selector: "c-container, [cContainer]", inputs: { breakpoint: "breakpoint", fluid: ["fluid", "fluid", booleanAttribute] }, host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: '<ng-content />', isInline: true, styles: [":host{display:block}\n"] }); }
|
|
24
24
|
}
|
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ContainerComponent, decorators: [{
|
|
26
26
|
type: Component,
|
|
27
27
|
args: [{ selector: 'c-container, [cContainer]', template: '<ng-content />', standalone: true, styles: [":host{display:block}\n"] }]
|
|
28
28
|
}], propDecorators: { breakpoint: [{
|
|
@@ -7,8 +7,8 @@ import { ColDirective } from './col.directive';
|
|
|
7
7
|
import { GutterDirective } from './gutter.directive';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
export class GridModule {
|
|
10
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
11
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.
|
|
10
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: GridModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
11
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: GridModule, imports: [ColComponent,
|
|
12
12
|
ColDirective,
|
|
13
13
|
ContainerComponent,
|
|
14
14
|
GutterDirective,
|
|
@@ -19,9 +19,9 @@ export class GridModule {
|
|
|
19
19
|
GutterDirective,
|
|
20
20
|
RowComponent,
|
|
21
21
|
RowDirective] }); }
|
|
22
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.
|
|
22
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: GridModule }); }
|
|
23
23
|
}
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: GridModule, decorators: [{
|
|
25
25
|
type: NgModule,
|
|
26
26
|
args: [{
|
|
27
27
|
imports: [
|
|
@@ -38,10 +38,10 @@ export class GutterDirective {
|
|
|
38
38
|
[`gy${infix}-${gy}`]: typeof gy === 'number'
|
|
39
39
|
};
|
|
40
40
|
}
|
|
41
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
42
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.
|
|
41
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: GutterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
42
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.11", type: GutterDirective, isStandalone: true, selector: "[gutter]", inputs: { gutter: "gutter" }, host: { properties: { "class": "this.hostClasses" } }, ngImport: i0 }); }
|
|
43
43
|
}
|
|
44
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
44
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: GutterDirective, decorators: [{
|
|
45
45
|
type: Directive,
|
|
46
46
|
args: [{
|
|
47
47
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
@@ -2,10 +2,10 @@ import { Component } from '@angular/core';
|
|
|
2
2
|
import { RowDirective } from './row.directive';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export class RowComponent extends RowDirective {
|
|
5
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
6
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
5
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: RowComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
6
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: RowComponent, isStandalone: true, selector: "c-row", usesInheritance: true, ngImport: i0, template: '<ng-content />', isInline: true }); }
|
|
7
7
|
}
|
|
8
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
8
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: RowComponent, decorators: [{
|
|
9
9
|
type: Component,
|
|
10
10
|
args: [{
|
|
11
11
|
selector: 'c-row',
|
|
@@ -18,10 +18,10 @@ export class RowDirective {
|
|
|
18
18
|
});
|
|
19
19
|
return classes;
|
|
20
20
|
}
|
|
21
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
22
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.
|
|
21
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: RowDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
22
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.11", type: RowDirective, isStandalone: true, selector: "[cRow]", inputs: { xs: "xs", sm: "sm", md: "md", lg: "lg", xl: "xl", xxl: "xxl" }, host: { properties: { "class": "this.hostClasses" } }, ngImport: i0 }); }
|
|
23
23
|
}
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: RowDirective, decorators: [{
|
|
25
25
|
type: Directive,
|
|
26
26
|
args: [{
|
|
27
27
|
selector: '[cRow]',
|
|
@@ -25,10 +25,10 @@ export class HeaderComponent {
|
|
|
25
25
|
[`container-${this.container}`]: typeof this.container === 'string'
|
|
26
26
|
};
|
|
27
27
|
}
|
|
28
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
29
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.
|
|
28
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: HeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
29
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: HeaderComponent, isStandalone: true, selector: "c-header, [c-header]", inputs: { container: "container", position: "position", role: "role" }, host: { properties: { "attr.role": "this.role", "class": "this.getClasses" } }, ngImport: i0, template: "@if (!!container) {\n <div [ngClass]=\"headerClasses\">\n <ng-content />\n </div>\n} @else {\n <ng-content />\n}\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
|
|
30
30
|
}
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: HeaderComponent, decorators: [{
|
|
32
32
|
type: Component,
|
|
33
33
|
args: [{ selector: 'c-header, [c-header]', standalone: true, imports: [NgClass], template: "@if (!!container) {\n <div [ngClass]=\"headerClasses\">\n <ng-content />\n </div>\n} @else {\n <ng-content />\n}\n" }]
|
|
34
34
|
}], propDecorators: { container: [{
|
|
@@ -10,10 +10,10 @@ export class HeaderBrandComponent {
|
|
|
10
10
|
this.role = 'button';
|
|
11
11
|
this.headerBrandClass = true;
|
|
12
12
|
}
|
|
13
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
14
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
13
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: HeaderBrandComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
14
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: HeaderBrandComponent, isStandalone: true, selector: "c-header-brand", inputs: { role: "role" }, host: { properties: { "attr.role": "this.role", "class.header-brand": "this.headerBrandClass" } }, ngImport: i0, template: '<ng-content />', isInline: true }); }
|
|
15
15
|
}
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: HeaderBrandComponent, decorators: [{
|
|
17
17
|
type: Component,
|
|
18
18
|
args: [{
|
|
19
19
|
selector: 'c-header-brand',
|
|
@@ -4,10 +4,10 @@ export class HeaderDividerComponent {
|
|
|
4
4
|
constructor() {
|
|
5
5
|
this.headerDividerClass = true;
|
|
6
6
|
}
|
|
7
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
8
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: HeaderDividerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: HeaderDividerComponent, isStandalone: true, selector: "c-header-divider, [cHeaderDivider]", host: { properties: { "class.header-divider": "this.headerDividerClass" } }, ngImport: i0, template: ``, isInline: true }); }
|
|
9
9
|
}
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: HeaderDividerComponent, decorators: [{
|
|
11
11
|
type: Component,
|
|
12
12
|
args: [{
|
|
13
13
|
selector: 'c-header-divider, [cHeaderDivider]',
|
|
@@ -10,10 +10,10 @@ export class HeaderNavComponent {
|
|
|
10
10
|
this.role = 'navigation';
|
|
11
11
|
this.headerNavClass = true;
|
|
12
12
|
}
|
|
13
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
14
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
13
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: HeaderNavComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
14
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: HeaderNavComponent, isStandalone: true, selector: "c-header-nav", inputs: { role: "role" }, host: { properties: { "attr.role": "this.role", "class.header-nav": "this.headerNavClass" } }, ngImport: i0, template: '<ng-content />', isInline: true, styles: [""] }); }
|
|
15
15
|
}
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: HeaderNavComponent, decorators: [{
|
|
17
17
|
type: Component,
|
|
18
18
|
args: [{ selector: 'c-header-nav', template: '<ng-content />', standalone: true }]
|
|
19
19
|
}], propDecorators: { role: [{
|
|
@@ -4,10 +4,10 @@ export class HeaderTextComponent {
|
|
|
4
4
|
constructor() {
|
|
5
5
|
this.headerTextClass = true;
|
|
6
6
|
}
|
|
7
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
8
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: HeaderTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: HeaderTextComponent, isStandalone: true, selector: "c-header-text, [cHeaderText]", host: { properties: { "class.header-text": "this.headerTextClass" } }, ngImport: i0, template: '<ng-content />', isInline: true }); }
|
|
9
9
|
}
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: HeaderTextComponent, decorators: [{
|
|
11
11
|
type: Component,
|
|
12
12
|
args: [{
|
|
13
13
|
selector: 'c-header-text, [cHeaderText]',
|
|
@@ -29,10 +29,10 @@ export class HeaderTogglerDirective {
|
|
|
29
29
|
this.addDefaultIcon();
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
33
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.
|
|
32
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: HeaderTogglerDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
33
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.11", type: HeaderTogglerDirective, isStandalone: true, selector: "[cHeaderToggler]", inputs: { type: "type", ariaLabel: "ariaLabel" }, host: { properties: { "class.header-toggler": "this.headerToggler", "attr.type": "this.type", "attr.aria-label": "this.ariaLabel" } }, ngImport: i0 }); }
|
|
34
34
|
}
|
|
35
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: HeaderTogglerDirective, decorators: [{
|
|
36
36
|
type: Directive,
|
|
37
37
|
args: [{
|
|
38
38
|
selector: '[cHeaderToggler]',
|
|
@@ -7,8 +7,8 @@ import { HeaderTextComponent } from './header-text/header-text.component';
|
|
|
7
7
|
import { HeaderTogglerDirective } from './header-toggler/header-toggler.directive';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
export class HeaderModule {
|
|
10
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
11
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.
|
|
10
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: HeaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
11
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: HeaderModule, imports: [HeaderComponent,
|
|
12
12
|
HeaderBrandComponent,
|
|
13
13
|
HeaderDividerComponent,
|
|
14
14
|
HeaderNavComponent,
|
|
@@ -19,9 +19,9 @@ export class HeaderModule {
|
|
|
19
19
|
HeaderNavComponent,
|
|
20
20
|
HeaderTextComponent,
|
|
21
21
|
HeaderTogglerDirective] }); }
|
|
22
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.
|
|
22
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: HeaderModule }); }
|
|
23
23
|
}
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: HeaderModule, decorators: [{
|
|
25
25
|
type: NgModule,
|
|
26
26
|
args: [{
|
|
27
27
|
imports: [
|
|
@@ -41,10 +41,10 @@ export class ImgDirective {
|
|
|
41
41
|
'img-thumbnail': this.thumbnail
|
|
42
42
|
};
|
|
43
43
|
}
|
|
44
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
45
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.3.
|
|
44
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ImgDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
45
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.3.11", type: ImgDirective, isStandalone: true, selector: "[cImg]", inputs: { align: "align", fluid: ["fluid", "fluid", booleanAttribute], rounded: ["rounded", "rounded", booleanAttribute], thumbnail: ["thumbnail", "thumbnail", booleanAttribute], placeholderColor: "placeholderColor" }, host: { properties: { "style": "this.getStyles", "class": "this.hostClasses" } }, ngImport: i0 }); }
|
|
46
46
|
}
|
|
47
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
47
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ImgDirective, decorators: [{
|
|
48
48
|
type: Directive,
|
|
49
49
|
args: [{
|
|
50
50
|
selector: '[cImg]',
|
|
@@ -2,11 +2,11 @@ import { NgModule } from '@angular/core';
|
|
|
2
2
|
import { ImgDirective } from './img.directive';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export class ImgModule {
|
|
5
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
6
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.
|
|
7
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.
|
|
5
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ImgModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
6
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: ImgModule, imports: [ImgDirective], exports: [ImgDirective] }); }
|
|
7
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ImgModule }); }
|
|
8
8
|
}
|
|
9
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
9
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ImgModule, decorators: [{
|
|
10
10
|
type: NgModule,
|
|
11
11
|
args: [{
|
|
12
12
|
imports: [ImgDirective],
|
|
@@ -32,10 +32,10 @@ export class ListGroupItemDirective {
|
|
|
32
32
|
[`list-group-item-${this.color}`]: !!this.color
|
|
33
33
|
};
|
|
34
34
|
}
|
|
35
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
36
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.3.
|
|
35
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ListGroupItemDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
36
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.3.11", type: ListGroupItemDirective, isStandalone: true, selector: "[cListGroupItem], c-list-group-item", inputs: { active: "active", color: "color", disabled: ["disabled", "disabled", booleanAttribute] }, host: { properties: { "attr.aria-disabled": "this.isDisabled", "attr.disabled": "this.attrDisabled", "attr.tabindex": "this.getTabindex", "attr.aria-current": "this.ariaCurrent", "class": "this.hostClasses" } }, exportAs: ["cListGroupItem"], ngImport: i0 }); }
|
|
37
37
|
}
|
|
38
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ListGroupItemDirective, decorators: [{
|
|
39
39
|
type: Directive,
|
|
40
40
|
args: [{
|
|
41
41
|
selector: '[cListGroupItem], c-list-group-item',
|
|
@@ -16,10 +16,10 @@ export class ListGroupDirective {
|
|
|
16
16
|
'list-group-flush': this.flush
|
|
17
17
|
};
|
|
18
18
|
}
|
|
19
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
20
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.3.
|
|
19
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ListGroupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
20
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.3.11", type: ListGroupDirective, isStandalone: true, selector: "[cListGroup]", inputs: { flush: ["flush", "flush", booleanAttribute], horizontal: "horizontal" }, host: { properties: { "class": "this.hostClasses" } }, ngImport: i0 }); }
|
|
21
21
|
}
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ListGroupDirective, decorators: [{
|
|
23
23
|
type: Directive,
|
|
24
24
|
args: [{
|
|
25
25
|
selector: '[cListGroup]',
|
|
@@ -3,11 +3,11 @@ import { ListGroupDirective } from './list-group.directive';
|
|
|
3
3
|
import { ListGroupItemDirective } from './list-group-item.directive';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export class ListGroupModule {
|
|
6
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
7
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.
|
|
8
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.
|
|
6
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ListGroupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
7
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: ListGroupModule, imports: [ListGroupDirective, ListGroupItemDirective], exports: [ListGroupDirective, ListGroupItemDirective] }); }
|
|
8
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ListGroupModule }); }
|
|
9
9
|
}
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ListGroupModule, decorators: [{
|
|
11
11
|
type: NgModule,
|
|
12
12
|
args: [{
|
|
13
13
|
exports: [ListGroupDirective, ListGroupItemDirective],
|
|
@@ -57,10 +57,10 @@ export class LoadingButtonComponent extends ButtonDirective {
|
|
|
57
57
|
this.disabled = this.disabledOnLoading && changes['loading'].currentValue;
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
61
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.
|
|
60
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: LoadingButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
61
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: LoadingButtonComponent, isStandalone: true, selector: "button[cLoadingButton], a[cLoadingButton]", inputs: { disabledOnLoading: ["disabledOnLoading", "disabledOnLoading", booleanAttribute], loading: ["loading", "loading", booleanAttribute], spinnerType: "spinnerType" }, outputs: { loadingChange: "loadingChange" }, host: { properties: { "class": "this.hostClasses" } }, exportAs: ["cLoadingButton"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if (loading) {\n <c-spinner [variant]=\"spinnerType\" size=\"sm\" class=\"btn-loading-spinner\" @loadingButton />\n}\n<ng-content />\n", dependencies: [{ kind: "component", type: SpinnerComponent, selector: "c-spinner", inputs: ["color", "label", "size", "variant", "role"] }], animations: [loadingButtonAnimation] }); }
|
|
62
62
|
}
|
|
63
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
63
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: LoadingButtonComponent, decorators: [{
|
|
64
64
|
type: Component,
|
|
65
65
|
args: [{ selector: 'button[cLoadingButton], a[cLoadingButton]', exportAs: 'cLoadingButton', imports: [SpinnerComponent], standalone: true, animations: [loadingButtonAnimation], template: "@if (loading) {\n <c-spinner [variant]=\"spinnerType\" size=\"sm\" class=\"btn-loading-spinner\" @loadingButton />\n}\n<ng-content />\n" }]
|
|
66
66
|
}], ctorParameters: () => [], propDecorators: { disabledOnLoading: [{
|
|
@@ -2,11 +2,11 @@ import { NgModule } from '@angular/core';
|
|
|
2
2
|
import { LoadingButtonComponent } from './loading-button.component';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export class LoadingButtonModule {
|
|
5
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
6
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.
|
|
7
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.
|
|
5
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: LoadingButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
6
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: LoadingButtonModule, imports: [LoadingButtonComponent], exports: [LoadingButtonComponent] }); }
|
|
7
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: LoadingButtonModule }); }
|
|
8
8
|
}
|
|
9
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
9
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: LoadingButtonModule, decorators: [{
|
|
10
10
|
type: NgModule,
|
|
11
11
|
args: [{
|
|
12
12
|
exports: [LoadingButtonComponent],
|
|
@@ -62,7 +62,9 @@ export class ModalComponent {
|
|
|
62
62
|
// this.#activeElement?.blur();
|
|
63
63
|
setTimeout(() => {
|
|
64
64
|
const focusable = this.modalContentRef.nativeElement.querySelectorAll('[tabindex]:not([tabindex="-1"]), button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled])');
|
|
65
|
-
|
|
65
|
+
if (focusable.length) {
|
|
66
|
+
this.#focusMonitor.focusVia(focusable[0], 'keyboard');
|
|
67
|
+
}
|
|
66
68
|
});
|
|
67
69
|
}
|
|
68
70
|
else {
|
|
@@ -93,7 +95,6 @@ export class ModalComponent {
|
|
|
93
95
|
get ariaModal() {
|
|
94
96
|
return this.visible || this.#ariaModal ? true : null;
|
|
95
97
|
}
|
|
96
|
-
;
|
|
97
98
|
#ariaModal;
|
|
98
99
|
/**
|
|
99
100
|
* Toggle the visibility of modal component.
|
|
@@ -125,7 +126,6 @@ export class ModalComponent {
|
|
|
125
126
|
get ariaHidden() {
|
|
126
127
|
return this.visible ? null : true;
|
|
127
128
|
}
|
|
128
|
-
;
|
|
129
129
|
get tabIndex() {
|
|
130
130
|
return '-1';
|
|
131
131
|
}
|
|
@@ -196,9 +196,7 @@ export class ModalComponent {
|
|
|
196
196
|
this.#afterViewInit.set(false);
|
|
197
197
|
}
|
|
198
198
|
stateToggleSubscribe() {
|
|
199
|
-
this.modalService.modalState
|
|
200
|
-
.pipe(takeUntilDestroyed(this.#destroyRef))
|
|
201
|
-
.subscribe((action) => {
|
|
199
|
+
this.modalService.modalState$.pipe(takeUntilDestroyed(this.#destroyRef)).subscribe((action) => {
|
|
202
200
|
if (this === action.modal || this.id === action.id) {
|
|
203
201
|
if ('show' in action) {
|
|
204
202
|
this.visible = action?.show === 'toggle' ? !this.visible : action.show;
|
|
@@ -212,7 +210,9 @@ export class ModalComponent {
|
|
|
212
210
|
});
|
|
213
211
|
}
|
|
214
212
|
setBackdrop(setBackdrop) {
|
|
215
|
-
this.#activeBackdrop = setBackdrop
|
|
213
|
+
this.#activeBackdrop = setBackdrop
|
|
214
|
+
? this.backdropService.setBackdrop('modal')
|
|
215
|
+
: this.backdropService.clearBackdrop(this.#activeBackdrop);
|
|
216
216
|
}
|
|
217
217
|
setBodyStyles(open) {
|
|
218
218
|
if (open) {
|
|
@@ -234,8 +234,8 @@ export class ModalComponent {
|
|
|
234
234
|
}, 300);
|
|
235
235
|
}
|
|
236
236
|
}
|
|
237
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
238
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.3.
|
|
237
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ModalComponent, deps: [{ token: DOCUMENT }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.ModalService }, { token: i2.BackdropService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
238
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.3.11", type: ModalComponent, isStandalone: true, selector: "c-modal", inputs: { alignment: "alignment", backdrop: "backdrop", fullscreen: "fullscreen", keyboard: ["keyboard", "keyboard", booleanAttribute], id: "id", size: "size", transition: ["transition", "transition", booleanAttribute], role: "role", ariaModal: "ariaModal", scrollable: ["scrollable", "scrollable", booleanAttribute], visible: ["visible", "visible", booleanAttribute] }, outputs: { visibleChange: "visibleChange" }, host: { listeners: { "@showHide.start": "animateStart($event)", "@showHide.done": "animateDone($event)", "document:keyup": "onKeyDownHandler($event)", "mousedown": "onMouseDownHandler($event)", "click": "onClickHandler($event)" }, properties: { "attr.role": "this.role", "attr.aria-modal": "this.ariaModal", "class": "this.hostClasses", "attr.aria-hidden": "this.ariaHidden", "attr.tabindex": "this.tabIndex", "@showHide": "this.animateTrigger" } }, viewQueries: [{ propertyName: "modalContent", first: true, predicate: ModalContentComponent, descendants: true, read: ElementRef }, { propertyName: "modalContentRef", first: true, predicate: ["modalContentRef"], descendants: true, read: ElementRef }], exportAs: ["cModal"], ngImport: i0, template: "<c-modal-dialog\n [alignment]=\"alignment\"\n [fullscreen]=\"fullscreen\"\n [scrollable]=\"scrollable\"\n [size]=\"size\">\n <c-modal-content>\n <div [cdkTrapFocus]=\"visible\" [cdkTrapFocusAutoCapture]=\"visible\" style=\"display: contents;\" #modalContentRef>\n <ng-content />\n </div>\n </c-modal-content>\n</c-modal-dialog>\n", dependencies: [{ kind: "component", type: ModalDialogComponent, selector: "c-modal-dialog", inputs: ["alignment", "fullscreen", "scrollable", "size"] }, { kind: "component", type: ModalContentComponent, selector: "c-modal-content" }, { kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i3.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }], animations: [
|
|
239
239
|
trigger('showHide', [
|
|
240
240
|
state('visible', style({
|
|
241
241
|
// display: 'block'
|
|
@@ -247,7 +247,7 @@ export class ModalComponent {
|
|
|
247
247
|
])
|
|
248
248
|
] }); }
|
|
249
249
|
}
|
|
250
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
250
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ModalComponent, decorators: [{
|
|
251
251
|
type: Component,
|
|
252
252
|
args: [{ selector: 'c-modal', animations: [
|
|
253
253
|
trigger('showHide', [
|
|
@@ -331,4 +331,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
|
|
|
331
331
|
type: HostListener,
|
|
332
332
|
args: ['click', ['$event']]
|
|
333
333
|
}] } });
|
|
334
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9tb2RhbC9tb2RhbC9tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL21vZGFsL21vZGFsL21vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQWtCLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pHLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBRUwsZ0JBQWdCLEVBQ2hCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLFlBQVksRUFDWixNQUFNLEVBQ04sTUFBTSxFQUNOLEtBQUssRUFHTCxNQUFNLEVBRU4sTUFBTSxFQUNOLFNBQVMsRUFFVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBSTdELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7OztBQTBCOUUsTUFBTSxPQUFPLGNBQWM7SUFFekIsV0FBVyxDQUFzQjtJQUNqQyxhQUFhLENBQXdCO0lBRXJDLFlBQzRCLFFBQWtCLEVBQ3BDLFFBQW1CLEVBQ25CLFdBQXVCLEVBQ3ZCLFlBQTBCLEVBQzFCLGVBQWdDO1FBSmQsYUFBUSxHQUFSLFFBQVEsQ0FBVTtR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QUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFPOUMsV0FBVztzQkFEZCxXQUFXO3VCQUFDLE9BQU87Z0JBVWhCLFVBQVU7c0JBRGIsV0FBVzt1QkFBQyxrQkFBa0I7Z0JBTTNCLFFBQVE7c0JBRFgsV0FBVzt1QkFBQyxlQUFlO2dCQU14QixjQUFjO3NCQURqQixXQUFXO3VCQUFDLFdBQVc7Z0JBZ0J4QixZQUFZO3NCQURYLFlBQVk7dUJBQUMsaUJBQWlCLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBYTNDLFdBQVc7c0JBRFYsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFXMUMsZ0JBQWdCO3NCQURmLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBY25DLGtCQUFrQjtzQkFEeEIsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBTTlCLGNBQWM7c0JBRHBCLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgQW5pbWF0aW9uRXZlbnQsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgQ29tcG9uZW50LFxuICBEZXN0cm95UmVmLFxuICBlZmZlY3QsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lcixcbiAgaW5qZWN0LFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG4gIHNpZ25hbCxcbiAgVmlld0NoaWxkLFxuICBXcml0YWJsZVNpZ25hbFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IEExMXlNb2R1bGUsIEZvY3VzTW9uaXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcblxuaW1wb3J0IHsgTW9kYWxTZXJ2aWNlIH0gZnJvbSAnLi4vbW9kYWwuc2VydmljZSc7XG5pbXBvcnQgeyBCYWNrZHJvcFNlcnZpY2UgfSBmcm9tICcuLi8uLi9iYWNrZHJvcC9iYWNrZHJvcC5zZXJ2aWNlJztcbmltcG9ydCB7IE1vZGFsQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4uL21vZGFsLWNvbnRlbnQvbW9kYWwtY29udGVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTW9kYWxEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9tb2RhbC1kaWFsb2cvbW9kYWwtZGlhbG9nLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2MtbW9kYWwnLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignc2hvd0hpZGUnLCBbXG4gICAgICBzdGF0ZShcbiAgICAgICAgJ3Zpc2libGUnLFxuICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgLy8gZGlzcGxheTogJ2Jsb2NrJ1xuICAgICAgICB9KVxuICAgICAgKSxcbiAgICAgIHN0YXRlKFxuICAgICAgICAnaGlkZGVuJyxcbiAgICAgICAgc3R5bGUoe1xuICAgICAgICAgIC8vIGRpc3BsYXk6ICdub25lJ1xuICAgICAgICB9KVxuICAgICAgKSxcbiAgICAgIHRyYW5zaXRpb24oJ3Zpc2libGUgPD0+IConLCBbYW5pbWF0ZSgnMTUwbXMnKV0pXG4gICAgXSlcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLmNvbXBvbmVudC5odG1sJyxcbiAgZXhwb3J0QXM6ICdjTW9kYWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTW9kYWxEaWFsb2dDb21wb25lbnQsIE1vZGFsQ29udGVudENvbXBvbmVudCwgQTExeU1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgTW9kYWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgI2Rlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gICNmb2N1c01vbml0b3IgPSBpbmplY3QoRm9jdXNNb25pdG9yKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCxcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBob3N0RWxlbWVudDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIG1vZGFsU2VydmljZTogTW9kYWxTZXJ2aWNlLFxuICAgIHByaXZhdGUgYmFja2Ryb3BTZXJ2aWNlOiBCYWNrZHJvcFNlcnZpY2VcbiAgKSB7IH1cblxuICAvKipcbiAgICogQWxpZ24gdGhlIG1vZGFsIGluIHRoZSBjZW50ZXIgb3IgdG9wIG9mIHRoZSBzY3JlZW4uXG4gICAqIEB0eXBlIHsndG9wJyB8ICdjZW50ZXInfVxuICAgKiBAZGVmYXVsdCAndG9wJ1xuICAgKi9cbiAgQElucHV0KCkgYWxpZ25tZW50PzogJ3RvcCcgfCAnY2VudGVyJyA9ICd0b3AnO1xuICAvKipcbiAgICogQXBwbHkgYSBiYWNrZHJvcCBvbiBib2R5IHdoaWxlIG1vZGFsIGlzIG9wZW4uXG4gICAqIEB0eXBlIGJvb2xlYW4gfCAnc3RhdGljJ1xuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBASW5wdXQoKSBiYWNrZHJvcDogYm9vbGVhbiB8ICdzdGF0aWMnID0gdHJ1ZTtcbiAgLyoqXG4gICAqIFNldCBtb2RhbCB0byBjb3ZlciB0aGUgZW50aXJlIHVzZXIgdmlld3BvcnQuXG4gICAqIEB0eXBlIHtib29sZWFuIHwgJ3NtJyB8ICdtZCcgfCAnbGcnIHwgJ3hsJyB8ICd4eGwnfVxuICAgKiBAZGVmYXVsdCB1bmRlZmluZWRcbiAgICovXG4gIEBJbnB1dCgpIGZ1bGxzY3JlZW4/OiBib29sZWFuIHwgJ3NtJyB8ICdtZCcgfCAnbGcnIHwgJ3hsJyB8ICd4eGwnO1xuICAvKipcbiAgICogQ2xvc2VzIHRoZSBtb2RhbCB3aGVuIGVzY2FwZSBrZXkgaXMgcHJlc3NlZC5cbiAgICogQHR5cGUgYm9vbGVhblxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkga2V5Ym9hcmQ6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBpZD86IHN0cmluZztcbiAgLyoqXG4gICAqIFNpemUgdGhlIGNvbXBvbmVudCBzbWFsbCwgbGFyZ2UsIG9yIGV4dHJhIGxhcmdlLlxuICAgKi9cbiAgQElucHV0KCkgc2l6ZT86ICdzbScgfCAnbGcnIHwgJ3hsJztcbiAgLyoqXG4gICAqIFJlbW92ZSBhbmltYXRpb24gdG8gY3JlYXRlIG1vZGFsIHRoYXQgc2ltcGx5IGFwcGVhciByYXRoZXIgdGhhbiBmYWRlIGluIHRvIHZpZXcuXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgdHJhbnNpdGlvbiA9IHRydWU7XG4gIC8qKlxuICAgKiBEZWZhdWx0IHJvbGUgZm9yIG1vZGFsLiBbZG9jc11cbiAgICogQHR5cGUgc3RyaW5nXG4gICAqIEBkZWZhdWx0ICdkaWFsb2cnXG4gICAqL1xuICBASW5wdXQoKSBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpIHJvbGU6IHN0cmluZyA9ICdkaWFsb2cnO1xuICAvKipcbiAgICogU2V0IGFyaWEtbW9kYWwgaHRtbCBhdHRyIGZvciBtb2RhbC4gW2RvY3NdXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICogQGRlZmF1bHQgbnVsbFxuICAgKi9cbiAgQElucHV0KCkgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtbW9kYWwnKVxuICBzZXQgYXJpYU1vZGFsKHZhbHVlOiBib29sZWFuIHwgbnVsbCkge1xuICAgIHRoaXMuI2FyaWFNb2RhbCA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IGFyaWFNb2RhbCgpOiBib29sZWFuIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMudmlzaWJsZSB8fCB0aGlzLiNhcmlhTW9kYWwgPyB0cnVlIDogbnVsbDtcbiAgfTtcblxuICAjYXJpYU1vZGFsOiBib29sZWFuIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIHNjcm9sbGFibGUgbW9kYWwgdGhhdCBhbGxvd3Mgc2Nyb2xsaW5nIHRoZSBtb2RhbCBib2R5LlxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgc2Nyb2xsYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBUb2dnbGUgdGhlIHZpc2liaWxpdHkgb2YgbW9kYWwgY29tcG9uZW50LlxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgc2V0IHZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy4jdmlzaWJsZSgpICE9PSB2YWx1ZSkge1xuICAgICAgdGhpcy4jdmlzaWJsZS5zZXQodmFsdWUpO1xuICAgICAgdGhpcy5zZXRCYWNrZHJvcCh0aGlzLmJhY2tkcm9wICE9PSBmYWxzZSAmJiB2YWx1ZSk7XG4gICAgICB0aGlzLnNldEJvZHlTdHlsZXModmFsdWUpO1xuICAgICAgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiN2aXNpYmxlKCk7XG4gIH1cblxuICAjdmlzaWJsZTogV3JpdGFibGVTaWduYWw8Ym9vbGVhbj4gPSBzaWduYWwoZmFsc2UpO1xuXG4gICNhY3RpdmVFbGVtZW50OiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gICN2aXNpYmxlRWZmZWN0ID0gZWZmZWN0KCgpID0+IHtcbiAgICBpZiAodGhpcy4jdmlzaWJsZSgpICYmIHRoaXMuI2FmdGVyVmlld0luaXQoKSkge1xuICAgICAgdGhpcy4jYWN0aXZlRWxlbWVudCA9IHRoaXMuZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgICAgIC8vIHRoaXMuI2FjdGl2ZUVsZW1lbnQ/LmJsdXIoKTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBjb25zdCBmb2N1c2FibGUgPSB0aGlzLm1vZGFsQ29udGVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ1t0YWJpbmRleF06bm90KFt0YWJpbmRleD1cIi0xXCJdKSwgYnV0dG9uOm5vdChbZGlzYWJsZWRdKSwgW2hyZWZdLCBpbnB1dDpub3QoW2Rpc2FibGVkXSksIHNlbGVjdDpub3QoW2Rpc2FibGVkXSksIHRleHRhcmVhOm5vdChbZGlzYWJsZWRdKScpO1xuICAgICAgICB0aGlzLiNmb2N1c01vbml0b3IuZm9jdXNWaWEoZm9jdXNhYmxlWzBdLCAna2V5Ym9hcmQnKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5kb2N1bWVudC5jb250YWlucyh0aGlzLiNhY3RpdmVFbGVtZW50KSkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICB0aGlzLiNhY3RpdmVFbGVtZW50Py5mb2N1cygpO1xuICAgICAgICAgIHRoaXMuI2FjdGl2ZUVsZW1lbnQgPSBudWxsO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xuXG4gIC8qKlxuICAgKiBFdmVudCB0cmlnZ2VyZWQgb24gbW9kYWwgZGlzbWlzcy5cbiAgICovXG4gIEBPdXRwdXQoKSB2aXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIEBWaWV3Q2hpbGQoTW9kYWxDb250ZW50Q29tcG9uZW50LCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgbW9kYWxDb250ZW50ITogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnbW9kYWxDb250ZW50UmVmJywgeyByZWFkOiBFbGVtZW50UmVmIH0pIG1vZGFsQ29udGVudFJlZiE6IEVsZW1lbnRSZWY7XG5cbiAgI2FjdGl2ZUJhY2tkcm9wITogYW55O1xuXG4gIC8vIHByaXZhdGUgaW5Cb3VuZGluZ0NsaWVudFJlY3QhOiBib29sZWFuO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgaG9zdENsYXNzZXMoKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgbW9kYWw6IHRydWUsXG4gICAgICBmYWRlOiB0aGlzLnRyYW5zaXRpb24sXG4gICAgICBzaG93OiB0aGlzLnNob3dcbiAgICB9O1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtaGlkZGVuJylcbiAgZ2V0IGFyaWFIaWRkZW4oKTogYm9vbGVhbiB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnZpc2libGUgPyBudWxsIDogdHJ1ZTtcbiAgfTtcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIudGFiaW5kZXgnKVxuICBnZXQgdGFiSW5kZXgoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuICctMSc7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ0BzaG93SGlkZScpXG4gIGdldCBhbmltYXRlVHJpZ2dlcigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnZpc2libGUgPyAndmlzaWJsZScgOiAnaGlkZGVuJztcbiAgfVxuXG4gIGdldCBzaG93KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnZpc2libGUgJiYgdGhpcy5fc2hvdztcbiAgfVxuXG4gIHNldCBzaG93KHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fc2hvdyA9IHZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2hvdyA9IHRydWU7XG5cbiAgQEhvc3RMaXN0ZW5lcignQHNob3dIaWRlLnN0YXJ0JywgWyckZXZlbnQnXSlcbiAgYW5pbWF0ZVN0YXJ0KGV2ZW50OiBBbmltYXRpb25FdmVudCkge1xuICAgIGlmIChldmVudC50b1N0YXRlID09PSAndmlzaWJsZScpIHtcbiAgICAgIHRoaXMuYmFja2Ryb3BTZXJ2aWNlLmhpZGVTY3JvbGxiYXIoKTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LCAnZGlzcGxheScsICdibG9jaycpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoIXRoaXMudHJhbnNpdGlvbikge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ2Rpc3BsYXknLCAnbm9uZScpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ0BzaG93SGlkZS5kb25lJywgWyckZXZlbnQnXSlcbiAgYW5pbWF0ZURvbmUoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAoZXZlbnQudG9TdGF0ZSA9PT0gJ2hpZGRlbicpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdkaXNwbGF5JywgJ25vbmUnKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLnNob3cgPSB0aGlzLnZpc2libGU7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXl1cCcsIFsnJGV2ZW50J10pXG4gIG9uS2V5RG93bkhhbmRsZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQua2V5ID09PSAnRXNjYXBlJyAmJiB0aGlzLmtleWJvYXJkICYmIHRoaXMudmlzaWJsZSkge1xuICAgICAgaWYgKHRoaXMuYmFja2Ryb3AgPT09ICdzdGF0aWMnKSB7XG4gICAgICAgIHRoaXMuc2V0U3RhdGljQmFja2Ryb3AoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMubW9kYWxTZXJ2aWNlLnRvZ2dsZSh7IHNob3c6IGZhbHNlLCBtb2RhbDogdGhpcyB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG1vdXNlRG93blRhcmdldDogRXZlbnRUYXJnZXQgfCBudWxsID0gbnVsbDtcblxuICBASG9zdExpc3RlbmVyKCdtb3VzZWRvd24nLCBbJyRldmVudCddKVxuICBwdWJsaWMgb25Nb3VzZURvd25IYW5kbGVyKCRldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIHRoaXMubW91c2VEb3duVGFyZ2V0ID0gJGV2ZW50LnRhcmdldDtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgcHVibGljIG9uQ2xpY2tIYW5kbGVyKCRldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuXG4gICAgaWYgKHRoaXMubW91c2VEb3duVGFyZ2V0ICE9PSAkZXZlbnQudGFyZ2V0KSB7XG4gICAgICB0aGlzLm1vdXNlRG93blRhcmdldCA9IG51bGw7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgdGFyZ2V0RWxlbWVudCA9ICRldmVudC50YXJnZXQ7XG4gICAgaWYgKHRhcmdldEVsZW1lbnQgPT09IHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudCkge1xuXG4gICAgICBpZiAodGhpcy5iYWNrZHJvcCA9PT0gJ3N0YXRpYycpIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0aWNCYWNrZHJvcCgpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMubW9kYWxTZXJ2aWNlLnRvZ2dsZSh7IHNob3c6IGZhbHNlLCBtb2RhbDogdGhpcyB9KTtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlVG9nZ2xlU3Vic2NyaWJlKCk7XG4gIH1cblxuICAjYWZ0ZXJWaWV3SW5pdCA9IHNpZ25hbChmYWxzZSk7XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuI2FmdGVyVmlld0luaXQuc2V0KHRydWUpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5tb2RhbFNlcnZpY2UudG9nZ2xlKHsgc2hvdzogZmFsc2UsIG1vZGFsOiB0aGlzIH0pO1xuICAgIHRoaXMuI2FmdGVyVmlld0luaXQuc2V0KGZhbHNlKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGVUb2dnbGVTdWJzY3JpYmUoKTogdm9pZCB7XG4gICAgdGhpcy5tb2RhbFNlcnZpY2UubW9kYWxTdGF0ZSRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy4jZGVzdHJveVJlZilcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgIChhY3Rpb24pID0+IHtcbiAgICAgICAgICBpZiAodGhpcyA9PT0gYWN0aW9uLm1vZGFsIHx8IHRoaXMuaWQgPT09IGFjdGlvbi5pZCkge1xuICAgICAgICAgICAgaWYgKCdzaG93JyBpbiBhY3Rpb24pIHtcbiAgICAgICAgICAgICAgdGhpcy52aXNpYmxlID0gYWN0aW9uPy5zaG93ID09PSAndG9nZ2xlJyA/ICF0aGlzLnZpc2libGUgOiBhY3Rpb24uc2hvdztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHRoaXMudmlzaWJsZSkge1xuICAgICAgICAgICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICk7XG4gIH1cblxuICBwcml2YXRlIHNldEJhY2tkcm9wKHNldEJhY2tkcm9wOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy4jYWN0aXZlQmFja2Ryb3AgPSBzZXRCYWNrZHJvcCA/IHRoaXMuYmFja2Ryb3BTZXJ2aWNlLnNldEJhY2tkcm9wKCdtb2RhbCcpIDogdGhpcy5iYWNrZHJvcFNlcnZpY2UuY2xlYXJCYWNrZHJvcCh0aGlzLiNhY3RpdmVCYWNrZHJvcCk7XG4gIH1cblxuICBwcml2YXRlIHNldEJvZHlTdHlsZXMob3BlbjogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmIChvcGVuKSB7XG4gICAgICBpZiAodGhpcy5iYWNrZHJvcCA9PT0gdHJ1ZSkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZG9jdW1lbnQuYm9keSwgJ21vZGFsLW9wZW4nKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmRvY3VtZW50LmJvZHksICdtb2RhbC1vcGVuJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRTdGF0aWNCYWNrZHJvcCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50cmFuc2l0aW9uKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ21vZGFsLXN0YXRpYycpO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdvdmVyZmxvdy15JywgJ2hpZGRlbicpO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LCAnbW9kYWwtc3RhdGljJyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUodGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LCAnb3ZlcmZsb3cteScpO1xuICAgICAgfSwgMzAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxjLW1vZGFsLWRpYWxvZ1xuICBbYWxpZ25tZW50XT1cImFsaWdubWVudFwiXG4gIFtmdWxsc2NyZWVuXT1cImZ1bGxzY3JlZW5cIlxuICBbc2Nyb2xsYWJsZV09XCJzY3JvbGxhYmxlXCJcbiAgW3NpemVdPVwic2l6ZVwiPlxuICA8Yy1tb2RhbC1jb250ZW50PlxuICAgIDxkaXYgW2Nka1RyYXBGb2N1c109XCJ2aXNpYmxlXCIgW2Nka1RyYXBGb2N1c0F1dG9DYXB0dXJlXT1cInZpc2libGVcIiBzdHlsZT1cImRpc3BsYXk6IGNvbnRlbnRzO1wiICNtb2RhbENvbnRlbnRSZWY+XG4gICAgICA8bmctY29udGVudCAvPlxuICAgIDwvZGl2PlxuICA8L2MtbW9kYWwtY29udGVudD5cbjwvYy1tb2RhbC1kaWFsb2c+XG4iXX0=
|
|
334
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9tb2RhbC9tb2RhbC9tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL21vZGFsL21vZGFsL21vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQWtCLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pHLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBRUwsZ0JBQWdCLEVBQ2hCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLFlBQVksRUFDWixNQUFNLEVBQ04sTUFBTSxFQUNOLEtBQUssRUFHTCxNQUFNLEVBRU4sTUFBTSxFQUNOLFNBQVMsRUFFVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBSTdELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7OztBQTBCOUUsTUFBTSxPQUFPLGNBQWM7SUFDekIsV0FBVyxDQUFzQjtJQUNqQyxhQUFhLENBQXdCO0lBRXJDLFlBQzRCLFFBQWtCLEVBQ3BDLFFBQW1CLEVBQ25CLFdBQXVCLEVBQ3ZCLFlBQTBCLEVBQzFCLGVBQWdDO1FBSmQsYUFBUSxHQUFSLFFBQVEsQ0FBVTtR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QkFBbEUsU0FBUzt1QkFBQyxpQkFBaUIsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBTzlDLFdBQVc7c0JBRGQsV0FBVzt1QkFBQyxPQUFPO2dCQVVoQixVQUFVO3NCQURiLFdBQVc7dUJBQUMsa0JBQWtCO2dCQU0zQixRQUFRO3NCQURYLFdBQVc7dUJBQUMsZUFBZTtnQkFNeEIsY0FBYztzQkFEakIsV0FBVzt1QkFBQyxXQUFXO2dCQWdCeEIsWUFBWTtzQkFEWCxZQUFZO3VCQUFDLGlCQUFpQixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQWEzQyxXQUFXO3NCQURWLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBVzFDLGdCQUFnQjtzQkFEZixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQWNuQyxrQkFBa0I7c0JBRHhCLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQU05QixjQUFjO3NCQURwQixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIEFuaW1hdGlvbkV2ZW50LCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIENvbXBvbmVudCxcbiAgRGVzdHJveVJlZixcbiAgZWZmZWN0LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBIb3N0TGlzdGVuZXIsXG4gIGluamVjdCxcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgUmVuZGVyZXIyLFxuICBzaWduYWwsXG4gIFZpZXdDaGlsZCxcbiAgV3JpdGFibGVTaWduYWxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBBMTF5TW9kdWxlLCBGb2N1c01vbml0b3IgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5cbmltcG9ydCB7IE1vZGFsU2VydmljZSB9IGZyb20gJy4uL21vZGFsLnNlcnZpY2UnO1xuaW1wb3J0IHsgQmFja2Ryb3BTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYmFja2Ryb3AvYmFja2Ryb3Auc2VydmljZSc7XG5pbXBvcnQgeyBNb2RhbENvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuLi9tb2RhbC1jb250ZW50L21vZGFsLWNvbnRlbnQuY29tcG9uZW50JztcbmltcG9ydCB7IE1vZGFsRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vbW9kYWwtZGlhbG9nL21vZGFsLWRpYWxvZy5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjLW1vZGFsJyxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ3Nob3dIaWRlJywgW1xuICAgICAgc3RhdGUoXG4gICAgICAgICd2aXNpYmxlJyxcbiAgICAgICAgc3R5bGUoe1xuICAgICAgICAgIC8vIGRpc3BsYXk6ICdibG9jaydcbiAgICAgICAgfSlcbiAgICAgICksXG4gICAgICBzdGF0ZShcbiAgICAgICAgJ2hpZGRlbicsXG4gICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAvLyBkaXNwbGF5OiAnbm9uZSdcbiAgICAgICAgfSlcbiAgICAgICksXG4gICAgICB0cmFuc2l0aW9uKCd2aXNpYmxlIDw9PiAqJywgW2FuaW1hdGUoJzE1MG1zJyldKVxuICAgIF0pXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC5jb21wb25lbnQuaHRtbCcsXG4gIGV4cG9ydEFzOiAnY01vZGFsJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW01vZGFsRGlhbG9nQ29tcG9uZW50LCBNb2RhbENvbnRlbnRDb21wb25lbnQsIEExMXlNb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIE1vZGFsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xuICAjZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgI2ZvY3VzTW9uaXRvciA9IGluamVjdChGb2N1c01vbml0b3IpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50LFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIGhvc3RFbGVtZW50OiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBNb2RhbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBiYWNrZHJvcFNlcnZpY2U6IEJhY2tkcm9wU2VydmljZVxuICApIHt9XG5cbiAgLyoqXG4gICAqIEFsaWduIHRoZSBtb2RhbCBpbiB0aGUgY2VudGVyIG9yIHRvcCBvZiB0aGUgc2NyZWVuLlxuICAgKiBAdHlwZSB7J3RvcCcgfCAnY2VudGVyJ31cbiAgICogQGRlZmF1bHQgJ3RvcCdcbiAgICovXG4gIEBJbnB1dCgpIGFsaWdubWVudD86ICd0b3AnIHwgJ2NlbnRlcicgPSAndG9wJztcbiAgLyoqXG4gICAqIEFwcGx5IGEgYmFja2Ryb3Agb24gYm9keSB3aGlsZSBtb2RhbCBpcyBvcGVuLlxuICAgKiBAdHlwZSBib29sZWFuIHwgJ3N0YXRpYydcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KCkgYmFja2Ryb3A6IGJvb2xlYW4gfCAnc3RhdGljJyA9IHRydWU7XG4gIC8qKlxuICAgKiBTZXQgbW9kYWwgdG8gY292ZXIgdGhlIGVudGlyZSB1c2VyIHZpZXdwb3J0LlxuICAgKiBAdHlwZSB7Ym9vbGVhbiB8ICdzbScgfCAnbWQnIHwgJ2xnJyB8ICd4bCcgfCAneHhsJ31cbiAgICogQGRlZmF1bHQgdW5kZWZpbmVkXG4gICAqL1xuICBASW5wdXQoKSBmdWxsc2NyZWVuPzogYm9vbGVhbiB8ICdzbScgfCAnbWQnIHwgJ2xnJyB8ICd4bCcgfCAneHhsJztcbiAgLyoqXG4gICAqIENsb3NlcyB0aGUgbW9kYWwgd2hlbiBlc2NhcGUga2V5IGlzIHByZXNzZWQuXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGtleWJvYXJkOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgaWQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBTaXplIHRoZSBjb21wb25lbnQgc21hbGwsIGxhcmdlLCBvciBleHRyYSBsYXJnZS5cbiAgICovXG4gIEBJbnB1dCgpIHNpemU/OiAnc20nIHwgJ2xnJyB8ICd4bCc7XG4gIC8qKlxuICAgKiBSZW1vdmUgYW5pbWF0aW9uIHRvIGNyZWF0ZSBtb2RhbCB0aGF0IHNpbXBseSBhcHBlYXIgcmF0aGVyIHRoYW4gZmFkZSBpbiB0byB2aWV3LlxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHRyYW5zaXRpb24gPSB0cnVlO1xuICAvKipcbiAgICogRGVmYXVsdCByb2xlIGZvciBtb2RhbC4gW2RvY3NdXG4gICAqIEB0eXBlIHN0cmluZ1xuICAgKiBAZGVmYXVsdCAnZGlhbG9nJ1xuICAgKi9cbiAgQElucHV0KCkgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKSByb2xlOiBzdHJpbmcgPSAnZGlhbG9nJztcbiAgLyoqXG4gICAqIFNldCBhcmlhLW1vZGFsIGh0bWwgYXR0ciBmb3IgbW9kYWwuIFtkb2NzXVxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqIEBkZWZhdWx0IG51bGxcbiAgICovXG4gIEBJbnB1dCgpXG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLW1vZGFsJylcbiAgc2V0IGFyaWFNb2RhbCh2YWx1ZTogYm9vbGVhbiB8IG51bGwpIHtcbiAgICB0aGlzLiNhcmlhTW9kYWwgPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCBhcmlhTW9kYWwoKTogYm9vbGVhbiB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnZpc2libGUgfHwgdGhpcy4jYXJpYU1vZGFsID8gdHJ1ZSA6IG51bGw7XG4gIH1cblxuICAjYXJpYU1vZGFsOiBib29sZWFuIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIHNjcm9sbGFibGUgbW9kYWwgdGhhdCBhbGxvd3Mgc2Nyb2xsaW5nIHRoZSBtb2RhbCBib2R5LlxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgc2Nyb2xsYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBUb2dnbGUgdGhlIHZpc2liaWxpdHkgb2YgbW9kYWwgY29tcG9uZW50LlxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgc2V0IHZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy4jdmlzaWJsZSgpICE9PSB2YWx1ZSkge1xuICAgICAgdGhpcy4jdmlzaWJsZS5zZXQodmFsdWUpO1xuICAgICAgdGhpcy5zZXRCYWNrZHJvcCh0aGlzLmJhY2tkcm9wICE9PSBmYWxzZSAmJiB2YWx1ZSk7XG4gICAgICB0aGlzLnNldEJvZHlTdHlsZXModmFsdWUpO1xuICAgICAgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiN2aXNpYmxlKCk7XG4gIH1cblxuICAjdmlzaWJsZTogV3JpdGFibGVTaWduYWw8Ym9vbGVhbj4gPSBzaWduYWwoZmFsc2UpO1xuXG4gICNhY3RpdmVFbGVtZW50OiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gICN2aXNpYmxlRWZmZWN0ID0gZWZmZWN0KCgpID0+IHtcbiAgICBpZiAodGhpcy4jdmlzaWJsZSgpICYmIHRoaXMuI2FmdGVyVmlld0luaXQoKSkge1xuICAgICAgdGhpcy4jYWN0aXZlRWxlbWVudCA9IHRoaXMuZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgICAgIC8vIHRoaXMuI2FjdGl2ZUVsZW1lbnQ/LmJsdXIoKTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBjb25zdCBmb2N1c2FibGUgPSB0aGlzLm1vZGFsQ29udGVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXG4gICAgICAgICAgJ1t0YWJpbmRleF06bm90KFt0YWJpbmRleD1cIi0xXCJdKSwgYnV0dG9uOm5vdChbZGlzYWJsZWRdKSwgW2hyZWZdLCBpbnB1dDpub3QoW2Rpc2FibGVkXSksIHNlbGVjdDpub3QoW2Rpc2FibGVkXSksIHRleHRhcmVhOm5vdChbZGlzYWJsZWRdKSdcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKGZvY3VzYWJsZS5sZW5ndGgpIHtcbiAgICAgICAgICB0aGlzLiNmb2N1c01vbml0b3IuZm9jdXNWaWEoZm9jdXNhYmxlWzBdLCAna2V5Ym9hcmQnKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLmRvY3VtZW50LmNvbnRhaW5zKHRoaXMuI2FjdGl2ZUVsZW1lbnQpKSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuI2FjdGl2ZUVsZW1lbnQ/LmZvY3VzKCk7XG4gICAgICAgICAgdGhpcy4jYWN0aXZlRWxlbWVudCA9IG51bGw7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG5cbiAgLyoqXG4gICAqIEV2ZW50IHRyaWdnZXJlZCBvbiBtb2RhbCBkaXNtaXNzLlxuICAgKi9cbiAgQE91dHB1dCgpIHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgQFZpZXdDaGlsZChNb2RhbENvbnRlbnRDb21wb25lbnQsIHsgcmVhZDogRWxlbWVudFJlZiB9KSBtb2RhbENvbnRlbnQhOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdtb2RhbENvbnRlbnRSZWYnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgbW9kYWxDb250ZW50UmVmITogRWxlbWVudFJlZjtcblxuICAjYWN0aXZlQmFja2Ryb3AhOiBhbnk7XG5cbiAgLy8gcHJpdmF0ZSBpbkJvdW5kaW5nQ2xpZW50UmVjdCE6IGJvb2xlYW47XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIGdldCBob3N0Q2xhc3NlcygpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICBtb2RhbDogdHJ1ZSxcbiAgICAgIGZhZGU6IHRoaXMudHJhbnNpdGlvbixcbiAgICAgIHNob3c6IHRoaXMuc2hvd1xuICAgIH07XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1oaWRkZW4nKVxuICBnZXQgYXJpYUhpZGRlbigpOiBib29sZWFuIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMudmlzaWJsZSA/IG51bGwgOiB0cnVlO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnRhYmluZGV4JylcbiAgZ2V0IHRhYkluZGV4KCk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiAnLTEnO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdAc2hvd0hpZGUnKVxuICBnZXQgYW5pbWF0ZVRyaWdnZXIoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy52aXNpYmxlID8gJ3Zpc2libGUnIDogJ2hpZGRlbic7XG4gIH1cblxuICBnZXQgc2hvdygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy52aXNpYmxlICYmIHRoaXMuX3Nob3c7XG4gIH1cblxuICBzZXQgc2hvdyh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX3Nob3cgPSB2YWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgX3Nob3cgPSB0cnVlO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ0BzaG93SGlkZS5zdGFydCcsIFsnJGV2ZW50J10pXG4gIGFuaW1hdGVTdGFydChldmVudDogQW5pbWF0aW9uRXZlbnQpIHtcbiAgICBpZiAoZXZlbnQudG9TdGF0ZSA9PT0gJ3Zpc2libGUnKSB7XG4gICAgICB0aGlzLmJhY2tkcm9wU2VydmljZS5oaWRlU2Nyb2xsYmFyKCk7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ2Rpc3BsYXknLCAnYmxvY2snKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKCF0aGlzLnRyYW5zaXRpb24pIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdkaXNwbGF5JywgJ25vbmUnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdAc2hvd0hpZGUuZG9uZScsIFsnJGV2ZW50J10pXG4gIGFuaW1hdGVEb25lKGV2ZW50OiBBbmltYXRpb25FdmVudCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKGV2ZW50LnRvU3RhdGUgPT09ICdoaWRkZW4nKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LCAnZGlzcGxheScsICdub25lJyk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5zaG93ID0gdGhpcy52aXNpYmxlO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5dXAnLCBbJyRldmVudCddKVxuICBvbktleURvd25IYW5kbGVyKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VzY2FwZScgJiYgdGhpcy5rZXlib2FyZCAmJiB0aGlzLnZpc2libGUpIHtcbiAgICAgIGlmICh0aGlzLmJhY2tkcm9wID09PSAnc3RhdGljJykge1xuICAgICAgICB0aGlzLnNldFN0YXRpY0JhY2tkcm9wKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLm1vZGFsU2VydmljZS50b2dnbGUoeyBzaG93OiBmYWxzZSwgbW9kYWw6IHRoaXMgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBtb3VzZURvd25UYXJnZXQ6IEV2ZW50VGFyZ2V0IHwgbnVsbCA9IG51bGw7XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2Vkb3duJywgWyckZXZlbnQnXSlcbiAgcHVibGljIG9uTW91c2VEb3duSGFuZGxlcigkZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLm1vdXNlRG93blRhcmdldCA9ICRldmVudC50YXJnZXQ7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbkNsaWNrSGFuZGxlcigkZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5tb3VzZURvd25UYXJnZXQgIT09ICRldmVudC50YXJnZXQpIHtcbiAgICAgIHRoaXMubW91c2VEb3duVGFyZ2V0ID0gbnVsbDtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB0YXJnZXRFbGVtZW50ID0gJGV2ZW50LnRhcmdldDtcbiAgICBpZiAodGFyZ2V0RWxlbWVudCA9PT0gdGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50KSB7XG4gICAgICBpZiAodGhpcy5iYWNrZHJvcCA9PT0gJ3N0YXRpYycpIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0aWNCYWNrZHJvcCgpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMubW9kYWxTZXJ2aWNlLnRvZ2dsZSh7IHNob3c6IGZhbHNlLCBtb2RhbDogdGhpcyB9KTtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlVG9nZ2xlU3Vic2NyaWJlKCk7XG4gIH1cblxuICAjYWZ0ZXJWaWV3SW5pdCA9IHNpZ25hbChmYWxzZSk7XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuI2FmdGVyVmlld0luaXQuc2V0KHRydWUpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5tb2RhbFNlcnZpY2UudG9nZ2xlKHsgc2hvdzogZmFsc2UsIG1vZGFsOiB0aGlzIH0pO1xuICAgIHRoaXMuI2FmdGVyVmlld0luaXQuc2V0KGZhbHNlKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGVUb2dnbGVTdWJzY3JpYmUoKTogdm9pZCB7XG4gICAgdGhpcy5tb2RhbFNlcnZpY2UubW9kYWxTdGF0ZSQucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy4jZGVzdHJveVJlZikpLnN1YnNjcmliZSgoYWN0aW9uKSA9PiB7XG4gICAgICBpZiAodGhpcyA9PT0gYWN0aW9uLm1vZGFsIHx8IHRoaXMuaWQgPT09IGFjdGlvbi5pZCkge1xuICAgICAgICBpZiAoJ3Nob3cnIGluIGFjdGlvbikge1xuICAgICAgICAgIHRoaXMudmlzaWJsZSA9IGFjdGlvbj8uc2hvdyA9PT0gJ3RvZ2dsZScgPyAhdGhpcy52aXNpYmxlIDogYWN0aW9uLnNob3c7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICh0aGlzLnZpc2libGUpIHtcbiAgICAgICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRCYWNrZHJvcChzZXRCYWNrZHJvcDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuI2FjdGl2ZUJhY2tkcm9wID0gc2V0QmFja2Ryb3BcbiAgICAgID8gdGhpcy5iYWNrZHJvcFNlcnZpY2Uuc2V0QmFja2Ryb3AoJ21vZGFsJylcbiAgICAgIDogdGhpcy5iYWNrZHJvcFNlcnZpY2UuY2xlYXJCYWNrZHJvcCh0aGlzLiNhY3RpdmVCYWNrZHJvcCk7XG4gIH1cblxuICBwcml2YXRlIHNldEJvZHlTdHlsZXMob3BlbjogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmIChvcGVuKSB7XG4gICAgICBpZiAodGhpcy5iYWNrZHJvcCA9PT0gdHJ1ZSkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZG9jdW1lbnQuYm9keSwgJ21vZGFsLW9wZW4nKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmRvY3VtZW50LmJvZHksICdtb2RhbC1vcGVuJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRTdGF0aWNCYWNrZHJvcCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50cmFuc2l0aW9uKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ21vZGFsLXN0YXRpYycpO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdvdmVyZmxvdy15JywgJ2hpZGRlbicpO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LCAnbW9kYWwtc3RhdGljJyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUodGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LCAnb3ZlcmZsb3cteScpO1xuICAgICAgfSwgMzAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxjLW1vZGFsLWRpYWxvZ1xuICBbYWxpZ25tZW50XT1cImFsaWdubWVudFwiXG4gIFtmdWxsc2NyZWVuXT1cImZ1bGxzY3JlZW5cIlxuICBbc2Nyb2xsYWJsZV09XCJzY3JvbGxhYmxlXCJcbiAgW3NpemVdPVwic2l6ZVwiPlxuICA8Yy1tb2RhbC1jb250ZW50PlxuICAgIDxkaXYgW2Nka1RyYXBGb2N1c109XCJ2aXNpYmxlXCIgW2Nka1RyYXBGb2N1c0F1dG9DYXB0dXJlXT1cInZpc2libGVcIiBzdHlsZT1cImRpc3BsYXk6IGNvbnRlbnRzO1wiICNtb2RhbENvbnRlbnRSZWY+XG4gICAgICA8bmctY29udGVudCAvPlxuICAgIDwvZGl2PlxuICA8L2MtbW9kYWwtY29udGVudD5cbjwvYy1tb2RhbC1kaWFsb2c+XG4iXX0=
|