@coreui/angular-pro 5.1.0-next.0 → 5.1.1
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 +1 -1
- package/esm2022/lib/accordion/accordion/accordion.component.mjs +4 -4
- package/esm2022/lib/accordion/accordion-button/accordion-button.directive.mjs +4 -4
- package/esm2022/lib/accordion/accordion-item/accordion-item.component.mjs +4 -4
- package/esm2022/lib/accordion/accordion.module.mjs +5 -5
- package/esm2022/lib/accordion/accordion.service.mjs +4 -4
- package/esm2022/lib/alert/alert-heading.directive.mjs +4 -4
- package/esm2022/lib/alert/alert-link.directive.mjs +4 -4
- package/esm2022/lib/alert/alert.component.mjs +4 -4
- package/esm2022/lib/alert/alert.module.mjs +5 -5
- package/esm2022/lib/avatar/avatar.component.mjs +4 -4
- package/esm2022/lib/avatar/avatar.module.mjs +5 -5
- package/esm2022/lib/backdrop/backdrop.service.mjs +4 -4
- package/esm2022/lib/badge/badge.component.mjs +4 -4
- package/esm2022/lib/badge/badge.module.mjs +5 -5
- package/esm2022/lib/breadcrumb/breadcrumb/breadcrumb.component.mjs +4 -4
- package/esm2022/lib/breadcrumb/breadcrumb-item/breadcrumb-item.component.mjs +4 -4
- package/esm2022/lib/breadcrumb/breadcrumb-router/breadcrumb-router.component.mjs +4 -4
- package/esm2022/lib/breadcrumb/breadcrumb-router/breadcrumb-router.service.mjs +4 -4
- package/esm2022/lib/breadcrumb/breadcrumb.module.mjs +5 -5
- package/esm2022/lib/button/button-close.directive.mjs +4 -4
- package/esm2022/lib/button/button.directive.mjs +4 -4
- package/esm2022/lib/button/button.module.mjs +5 -5
- package/esm2022/lib/button-group/button-group/button-group.component.mjs +4 -4
- package/esm2022/lib/button-group/button-group.module.mjs +5 -5
- package/esm2022/lib/button-group/button-toolbar/button-toolbar.component.mjs +4 -4
- package/esm2022/lib/calendar/calendar/calendar-class-view.pipe.mjs +4 -4
- package/esm2022/lib/calendar/calendar/calendar.component.mjs +4 -4
- package/esm2022/lib/calendar/calendar-month/calendar-class-day.pipe.mjs +4 -4
- package/esm2022/lib/calendar/calendar-month/calendar-class-month.pipe.mjs +4 -4
- package/esm2022/lib/calendar/calendar-month/calendar-class-row.pipe.mjs +4 -4
- package/esm2022/lib/calendar/calendar-month/calendar-class-year.pipe.mjs +4 -4
- package/esm2022/lib/calendar/calendar-month/calendar-day-title.pipe.mjs +4 -4
- package/esm2022/lib/calendar/calendar-month/calendar-day.directive.mjs +4 -4
- package/esm2022/lib/calendar/calendar-month/calendar-day.pipe.mjs +4 -4
- package/esm2022/lib/calendar/calendar-month/calendar-month.component.mjs +4 -4
- package/esm2022/lib/calendar/calendar-month/calendar-row.directive.mjs +4 -4
- package/esm2022/lib/calendar/calendar-month/calendar-weekday.pipe.mjs +4 -4
- package/esm2022/lib/calendar/calendar-navigation/calendar-navigation.component.mjs +4 -4
- package/esm2022/lib/calendar/calendar.module.mjs +5 -5
- package/esm2022/lib/calendar/calendar.service.mjs +4 -4
- package/esm2022/lib/callout/callout.component.mjs +4 -4
- package/esm2022/lib/callout/callout.module.mjs +5 -5
- package/esm2022/lib/card/card-body.component.mjs +4 -4
- package/esm2022/lib/card/card-footer.component.mjs +4 -4
- package/esm2022/lib/card/card-group.component.mjs +4 -4
- package/esm2022/lib/card/card-header-actions.component.mjs +4 -4
- package/esm2022/lib/card/card-header.component.mjs +4 -4
- package/esm2022/lib/card/card-img-overlay/card-img-overlay.component.mjs +4 -4
- package/esm2022/lib/card/card-img.directive.mjs +4 -4
- package/esm2022/lib/card/card-link.directive.mjs +4 -4
- package/esm2022/lib/card/card-subtitle.directive.mjs +4 -4
- package/esm2022/lib/card/card-text.directive.mjs +4 -4
- package/esm2022/lib/card/card-title.directive.mjs +4 -4
- package/esm2022/lib/card/card.component.mjs +4 -4
- package/esm2022/lib/card/card.module.mjs +5 -5
- package/esm2022/lib/carousel/carousel/carousel.component.mjs +4 -4
- package/esm2022/lib/carousel/carousel-caption/carousel-caption.component.mjs +4 -4
- package/esm2022/lib/carousel/carousel-control/carousel-control.component.mjs +4 -4
- package/esm2022/lib/carousel/carousel-indicators/carousel-indicators.component.mjs +4 -4
- package/esm2022/lib/carousel/carousel-inner/carousel-inner.component.mjs +4 -4
- package/esm2022/lib/carousel/carousel-item/carousel-item.component.mjs +4 -4
- package/esm2022/lib/carousel/carousel-state.mjs +4 -4
- package/esm2022/lib/carousel/carousel.config.mjs +4 -4
- package/esm2022/lib/carousel/carousel.module.mjs +5 -5
- package/esm2022/lib/carousel/carousel.service.mjs +4 -4
- package/esm2022/lib/collapse/collapse.directive.mjs +4 -4
- package/esm2022/lib/collapse/collapse.module.mjs +5 -5
- package/esm2022/lib/coreui.types.mjs +1 -1
- package/esm2022/lib/date-picker/date-picker.component.mjs +4 -4
- package/esm2022/lib/date-picker/date-picker.module.mjs +5 -5
- package/esm2022/lib/date-range-picker/date-range-picker/custom-range-key.pipe.mjs +4 -4
- package/esm2022/lib/date-range-picker/date-range-picker/date-range-picker.component.mjs +4 -4
- package/esm2022/lib/date-range-picker/date-range-picker.module.mjs +5 -5
- package/esm2022/lib/dropdown/dropdown/dropdown.component.mjs +50 -33
- package/esm2022/lib/dropdown/dropdown-close/dropdown-close.directive.mjs +4 -4
- package/esm2022/lib/dropdown/dropdown-divider/dropdown-divider.directive.mjs +4 -4
- package/esm2022/lib/dropdown/dropdown-header/dropdown-header.directive.mjs +4 -4
- package/esm2022/lib/dropdown/dropdown-item/dropdown-item-plain.directive.mjs +4 -4
- package/esm2022/lib/dropdown/dropdown-item/dropdown-item.directive.mjs +4 -4
- package/esm2022/lib/dropdown/dropdown-menu/dropdown-menu.directive.mjs +4 -4
- package/esm2022/lib/dropdown/dropdown.module.mjs +5 -5
- package/esm2022/lib/dropdown/dropdown.service.mjs +4 -4
- package/esm2022/lib/element-cover/element-cover.component.mjs +4 -4
- package/esm2022/lib/element-cover/element-cover.module.mjs +5 -5
- package/esm2022/lib/footer/footer.component.mjs +4 -4
- package/esm2022/lib/footer/footer.module.mjs +5 -5
- package/esm2022/lib/form/form/form.directive.mjs +4 -4
- package/esm2022/lib/form/form-check/form-check-input.directive.mjs +4 -4
- package/esm2022/lib/form/form-check/form-check-label.directive.mjs +4 -4
- package/esm2022/lib/form/form-check/form-check.component.mjs +4 -4
- package/esm2022/lib/form/form-control/form-control.directive.mjs +4 -4
- package/esm2022/lib/form/form-feedback/form-feedback.component.mjs +4 -4
- package/esm2022/lib/form/form-floating/form-floating.directive.mjs +4 -4
- package/esm2022/lib/form/form-label/form-label.directive.mjs +4 -4
- package/esm2022/lib/form/form-select/form-select.directive.mjs +4 -4
- package/esm2022/lib/form/form-text/form-text.directive.mjs +4 -4
- package/esm2022/lib/form/form.module.mjs +5 -5
- package/esm2022/lib/form/input-group/input-group.component.mjs +4 -4
- package/esm2022/lib/form/input-group-text/input-group-text.directive.mjs +4 -4
- package/esm2022/lib/grid/col.component.mjs +4 -4
- package/esm2022/lib/grid/col.directive.mjs +4 -4
- package/esm2022/lib/grid/container.component.mjs +4 -4
- package/esm2022/lib/grid/grid.module.mjs +5 -5
- package/esm2022/lib/grid/gutter.directive.mjs +4 -4
- package/esm2022/lib/grid/row.component.mjs +4 -4
- package/esm2022/lib/grid/row.directive.mjs +4 -4
- package/esm2022/lib/header/header/header.component.mjs +4 -4
- package/esm2022/lib/header/header-brand/header-brand.component.mjs +4 -4
- package/esm2022/lib/header/header-divider/header-divider.component.mjs +4 -4
- package/esm2022/lib/header/header-nav/header-nav.component.mjs +4 -4
- package/esm2022/lib/header/header-text/header-text.component.mjs +4 -4
- package/esm2022/lib/header/header-toggler/header-toggler.directive.mjs +4 -4
- package/esm2022/lib/header/header.module.mjs +5 -5
- package/esm2022/lib/image/img.directive.mjs +4 -4
- package/esm2022/lib/image/img.module.mjs +5 -5
- package/esm2022/lib/list-group/list-group-item.directive.mjs +4 -4
- package/esm2022/lib/list-group/list-group.directive.mjs +4 -4
- package/esm2022/lib/list-group/list-group.module.mjs +5 -5
- package/esm2022/lib/loading-button/loading-button.component.mjs +4 -4
- package/esm2022/lib/loading-button/loading-button.module.mjs +5 -5
- package/esm2022/lib/modal/modal/modal.component.mjs +4 -4
- package/esm2022/lib/modal/modal-body/modal-body.component.mjs +4 -4
- package/esm2022/lib/modal/modal-content/modal-content.component.mjs +4 -4
- package/esm2022/lib/modal/modal-dialog/modal-dialog.component.mjs +4 -4
- package/esm2022/lib/modal/modal-dismiss/modal-toggle.directive.mjs +4 -4
- package/esm2022/lib/modal/modal-footer/modal-footer.component.mjs +4 -4
- package/esm2022/lib/modal/modal-header/modal-header.component.mjs +4 -4
- package/esm2022/lib/modal/modal-title/modal-title.directive.mjs +4 -4
- package/esm2022/lib/modal/modal.module.mjs +5 -5
- package/esm2022/lib/modal/modal.service.mjs +4 -4
- package/esm2022/lib/multi-select/multi-select/multi-select-search.directive.mjs +4 -4
- package/esm2022/lib/multi-select/multi-select/multi-select.component.mjs +4 -4
- package/esm2022/lib/multi-select/multi-select-native-select/multi-select-native-select.component.mjs +4 -4
- package/esm2022/lib/multi-select/multi-select-optgroup/multi-select-optgroup-label.component.mjs +4 -4
- package/esm2022/lib/multi-select/multi-select-optgroup/multi-select-optgroup.component.mjs +4 -4
- package/esm2022/lib/multi-select/multi-select-option/multi-select-option.component.mjs +4 -4
- package/esm2022/lib/multi-select/multi-select-tag/multi-select-tag.component.mjs +4 -4
- package/esm2022/lib/multi-select/multi-select.module.mjs +5 -5
- package/esm2022/lib/multi-select/multi-select.service.mjs +4 -4
- package/esm2022/lib/nav/nav-item.component.mjs +4 -4
- package/esm2022/lib/nav/nav-link.directive.mjs +4 -4
- package/esm2022/lib/nav/nav.component.mjs +4 -4
- package/esm2022/lib/nav/nav.module.mjs +5 -5
- package/esm2022/lib/navbar/navbar-brand/navbar-brand.directive.mjs +4 -4
- package/esm2022/lib/navbar/navbar-nav/navbar-nav.component.mjs +4 -4
- package/esm2022/lib/navbar/navbar-text/navbar-text.component.mjs +4 -4
- package/esm2022/lib/navbar/navbar-toggler/navbar-toggler.directive.mjs +4 -4
- package/esm2022/lib/navbar/navbar.component.mjs +4 -4
- package/esm2022/lib/navbar/navbar.module.mjs +5 -5
- package/esm2022/lib/offcanvas/offcanvas/offcanvas.component.mjs +4 -4
- package/esm2022/lib/offcanvas/offcanvas-body/offcanvas-body.component.mjs +4 -4
- package/esm2022/lib/offcanvas/offcanvas-header/offcanvas-header.component.mjs +4 -4
- package/esm2022/lib/offcanvas/offcanvas-title/offcanvas-title.directive.mjs +4 -4
- package/esm2022/lib/offcanvas/offcanvas-toggle/offcanvas-toggle.directive.mjs +4 -4
- package/esm2022/lib/offcanvas/offcanvas.module.mjs +5 -5
- package/esm2022/lib/offcanvas/offcanvas.service.mjs +4 -4
- package/esm2022/lib/pagination/page-item/page-item.component.mjs +4 -4
- package/esm2022/lib/pagination/page-item/page-item.directive.mjs +4 -4
- package/esm2022/lib/pagination/page-link/page-link.directive.mjs +4 -4
- package/esm2022/lib/pagination/pagination/pagination.component.mjs +4 -4
- package/esm2022/lib/pagination/pagination.module.mjs +5 -5
- package/esm2022/lib/placeholder/placeholder-animation.directive.mjs +4 -4
- package/esm2022/lib/placeholder/placeholder.directive.mjs +4 -4
- package/esm2022/lib/placeholder/placeholder.module.mjs +5 -5
- package/esm2022/lib/popover/popover/popover.component.mjs +4 -4
- package/esm2022/lib/popover/popover.directive.mjs +4 -4
- package/esm2022/lib/popover/popover.module.mjs +5 -5
- package/esm2022/lib/progress/progress-bar.component.mjs +4 -4
- package/esm2022/lib/progress/progress-bar.directive.mjs +4 -4
- package/esm2022/lib/progress/progress-stacked.component.mjs +4 -4
- package/esm2022/lib/progress/progress.component.mjs +4 -4
- package/esm2022/lib/progress/progress.module.mjs +5 -5
- package/esm2022/lib/rating/rating-item-label/rating-item-label.component.mjs +40 -0
- package/esm2022/lib/rating/rating.component.mjs +224 -59
- package/esm2022/lib/rating/rating.module.mjs +5 -5
- package/esm2022/lib/services/class-toggle.service.mjs +4 -4
- package/esm2022/lib/services/color-mode.service.mjs +4 -4
- package/esm2022/lib/services/in-memory-storage.service.mjs +4 -4
- package/esm2022/lib/services/intersection.service.mjs +4 -4
- package/esm2022/lib/services/listeners.service.mjs +25 -14
- package/esm2022/lib/services/local-storage.service.mjs +4 -4
- package/esm2022/lib/shared/element-ref.directive.mjs +18 -0
- package/esm2022/lib/shared/html-attr.directive.mjs +4 -4
- package/esm2022/lib/shared/public_api.mjs +3 -2
- package/esm2022/lib/shared/shared.module.mjs +9 -8
- package/esm2022/lib/shared/template-id.directive.mjs +9 -9
- package/esm2022/lib/shared/theme.directive.mjs +4 -4
- package/esm2022/lib/sidebar/sidebar/sidebar.component.mjs +4 -4
- package/esm2022/lib/sidebar/sidebar-backdrop/sidebar-backdrop.service.mjs +4 -4
- package/esm2022/lib/sidebar/sidebar-brand/sidebar-brand.component.mjs +4 -4
- package/esm2022/lib/sidebar/sidebar-footer/sidebar-footer.component.mjs +4 -4
- package/esm2022/lib/sidebar/sidebar-header/sidebar-header.component.mjs +4 -4
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-badge.pipe.mjs +4 -4
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-divider.component.mjs +4 -4
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-group.service.mjs +4 -4
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-icon.pipe.mjs +4 -4
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-item-class.pipe.mjs +4 -4
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-label.component.mjs +4 -4
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-link.component.mjs +7 -7
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-link.pipe.mjs +4 -4
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-title.component.mjs +4 -4
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav.component.mjs +7 -7
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav.service.mjs +7 -7
- package/esm2022/lib/sidebar/sidebar-toggle/sidebar-toggle.directive.mjs +4 -4
- package/esm2022/lib/sidebar/sidebar-toggler/sidebar-toggler.directive.mjs +4 -4
- package/esm2022/lib/sidebar/sidebar.module.mjs +5 -5
- package/esm2022/lib/sidebar/sidebar.service.mjs +4 -4
- package/esm2022/lib/smart-pagination/smart-pagination.component.mjs +4 -4
- package/esm2022/lib/smart-pagination/smart-pagination.module.mjs +5 -5
- package/esm2022/lib/smart-table/smart-table/smart-table.component.mjs +4 -4
- package/esm2022/lib/smart-table/smart-table-column-filter/smart-table-column-filter.component.mjs +4 -4
- package/esm2022/lib/smart-table/smart-table-filter/filter-input.directive.mjs +4 -4
- package/esm2022/lib/smart-table/smart-table-filter/smart-table-filter.component.mjs +4 -4
- package/esm2022/lib/smart-table/smart-table-head/smart-table-column-label.pipe.mjs +4 -4
- package/esm2022/lib/smart-table/smart-table-head/smart-table-head.component.mjs +4 -4
- package/esm2022/lib/smart-table/smart-table-items-per-page-selector/smart-table-items-per-page-selector.component.mjs +4 -4
- package/esm2022/lib/smart-table/smart-table.module.mjs +5 -5
- package/esm2022/lib/spinner/spinner.component.mjs +4 -4
- package/esm2022/lib/spinner/spinner.module.mjs +5 -5
- package/esm2022/lib/table/table-active.directive.mjs +4 -4
- package/esm2022/lib/table/table-color.directive.mjs +4 -4
- package/esm2022/lib/table/table.directive.mjs +4 -4
- package/esm2022/lib/table/table.module.mjs +5 -5
- package/esm2022/lib/tabs/tab-content/tab-content.component.mjs +4 -4
- package/esm2022/lib/tabs/tab-content-ref.directive.mjs +4 -4
- package/esm2022/lib/tabs/tab-pane/tab-pane.component.mjs +4 -4
- package/esm2022/lib/tabs/tab.service.mjs +4 -4
- package/esm2022/lib/tabs/tabs.module.mjs +5 -5
- package/esm2022/lib/time-picker/time-picker-roll-col/time-picker-roll-am-pm.component.mjs +7 -7
- package/esm2022/lib/time-picker/time-picker-roll-col/time-picker-roll-col.component.mjs +7 -7
- package/esm2022/lib/time-picker/time-picker.component.mjs +4 -4
- package/esm2022/lib/time-picker/time-picker.module.mjs +5 -5
- package/esm2022/lib/toast/toast/toast.component.mjs +4 -4
- package/esm2022/lib/toast/toast-body/toast-body.component.mjs +4 -4
- package/esm2022/lib/toast/toast-close.directive.mjs +4 -4
- package/esm2022/lib/toast/toast-header/toast-header.component.mjs +4 -4
- package/esm2022/lib/toast/toast.module.mjs +5 -5
- package/esm2022/lib/toast/toaster/toaster-host.directive.mjs +4 -4
- package/esm2022/lib/toast/toaster/toaster.component.mjs +4 -4
- package/esm2022/lib/toast/toaster/toaster.service.mjs +4 -4
- package/esm2022/lib/tooltip/tooltip/tooltip.component.mjs +4 -4
- package/esm2022/lib/tooltip/tooltip.directive.mjs +77 -81
- package/esm2022/lib/tooltip/tooltip.module.mjs +5 -5
- package/esm2022/lib/utilities/align.directive.mjs +4 -4
- package/esm2022/lib/utilities/bg-color.directive.mjs +4 -4
- package/esm2022/lib/utilities/border.directive.mjs +4 -4
- package/esm2022/lib/utilities/rounded.directive.mjs +4 -4
- package/esm2022/lib/utilities/shadow-on-scroll.directive.mjs +4 -4
- package/esm2022/lib/utilities/text-bg-color.directive.mjs +4 -4
- package/esm2022/lib/utilities/text-color.directive.mjs +4 -4
- package/esm2022/lib/utilities/utilities.module.mjs +5 -5
- package/esm2022/lib/widget/widget-stat-a/widget-stat-a.component.mjs +4 -4
- package/esm2022/lib/widget/widget-stat-b/widget-stat-b.component.mjs +4 -4
- package/esm2022/lib/widget/widget-stat-c/widget-stat-c.component.mjs +4 -4
- package/esm2022/lib/widget/widget-stat-d/widget-stat-d.component.mjs +4 -4
- package/esm2022/lib/widget/widget-stat-e/widget-stat-e.component.mjs +4 -4
- package/esm2022/lib/widget/widget-stat-f/widget-stat-f.component.mjs +4 -4
- package/esm2022/lib/widget/widget.module.mjs +5 -5
- package/fesm2022/coreui-angular-pro.mjs +1233 -991
- package/fesm2022/coreui-angular-pro.mjs.map +1 -1
- package/lib/coreui.types.d.ts +1 -1
- package/lib/dropdown/dropdown/dropdown.component.d.ts +9 -7
- package/lib/rating/rating-item-label/rating-item-label.component.d.ts +13 -0
- package/lib/rating/rating.component.d.ts +80 -7
- package/lib/services/listeners.service.d.ts +2 -3
- package/lib/shared/element-ref.directive.d.ts +7 -0
- package/lib/shared/public_api.d.ts +2 -1
- package/lib/shared/shared.module.d.ts +5 -4
- package/lib/shared/template-id.directive.d.ts +1 -2
- package/lib/tooltip/tooltip.directive.d.ts +30 -16
- package/package.json +3 -3
|
@@ -447,10 +447,10 @@ export class CalendarMonthComponent {
|
|
|
447
447
|
getYearEnd(year) {
|
|
448
448
|
return new Date(year, 11, 1, 0, 0, -1, 0);
|
|
449
449
|
}
|
|
450
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
451
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.
|
|
450
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: CalendarMonthComponent, deps: [{ token: i1.CalendarService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
451
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.10", type: CalendarMonthComponent, isStandalone: true, selector: "c-calendar-month", inputs: { addMonths: "addMonths", startDate: "startDate", endDate: "endDate", disabledDates: "disabledDates", firstDayOfWeek: ["firstDayOfWeek", "firstDayOfWeek", numberAttribute], locale: "locale", range: ["range", "range", booleanAttribute], weekdayFormat: "weekdayFormat", view: "view", maxDate: "maxDate", minDate: "minDate", calendarDate: "calendarDate" }, viewQueries: [{ propertyName: "calendarDays", predicate: CalendarDayDirective, descendants: true }, { propertyName: "calendarRows", predicate: CalendarRowDirective, descendants: true }], exportAs: ["cCalendarMonth"], ngImport: i0, template: "<table>\n @if (view === 'days') {\n <thead>\n <tr>\n @if (showWeekNumber) {\n <th class=\"calendar-cell\">\n <div class=\"calendar-header-cell-inner\">{{ weekNumbersLabel }}</div>\n </th>\n }\n @for (weekDay of weekDays; track weekDay.date; let i = $index) {\n <th class=\"calendar-cell\">\n <div class=\"calendar-header-cell-inner\">\n {{ weekDay.date | calendarWeekday:weekdayFormat:locale }}\n </div>\n </th>\n }\n </tr>\n </thead>\n }\n <tbody (mouseleave)=\"handleCellMouseLeave()\">\n @switch (view) {\n @case ('years') {\n @for (yearsRow of listOfYears(); track yearsRow; let rowIdx = $index) {\n <tr>\n @for (year of yearsRow; track year; let idx = $index) {\n <td\n #calendarYear=\"cCalendarDay\"\n (click)=\"!calendarYear.disabled$() && handleYearCellClick(year)\"\n (keydown)=\"calendarYear.date && handleDayCellKeyDown($event, calendarYear.date)\"\n (keyup)=\"handleYearCellKeyUp($event, calendarYear.date)\"\n (mouseenter)=\"calendarYear.date && handleCellMouseEnter(calendarYear.date)\"\n [attr.aria-label]=\"calendarYear.date.getFullYear()\"\n [date]=\"getYearStart(year)\"\n [ngClass]=\"year | calendarClassYear\"\n [tabindex]=\"calendarYear.disabled$() ? -1 : 0\"\n cCalendarDay\n >\n <div class=\"calendar-cell-inner\">\n {{ yearNumber(year) }}\n </div>\n </td>\n }\n </tr>\n }\n }\n @case ('months') {\n @for (monthsRow of listOfMonths(); track monthsRow; let rowIdx = $index) {\n <tr>\n @for (month of monthsRow; track month; let idx = $index) {\n <td\n #calendarMonth=\"cCalendarDay\"\n (click)=\"!calendarMonth.disabled$() && handleMonthCellClick(calendarMonth.date)\"\n (keydown)=\"calendarMonth.date && handleDayCellKeyDown($event, calendarMonth.date)\"\n (keyup)=\"handleMonthCellKeyUp($event, calendarMonth.date)\"\n (mouseenter)=\"calendarMonth.date && handleCellMouseEnter(calendarMonth.date)\"\n [attr.aria-label]=\"calendarMonth.date.getFullYear()+' '+month.month\"\n [date]=\"getMonthStart(rowIdx*3+idx)\"\n [ngClass]=\"calendarDate | calendarClassMonth:(rowIdx*3+idx)\"\n [tabindex]=\"calendarMonth.disabled$() ? -1 : 0\"\n cCalendarDay\n >\n <div class=\"calendar-cell-inner\">\n {{ month.month }}\n </div>\n </td>\n }\n </tr>\n }\n\n }\n @default {\n @for (week of monthDetails; track week; let i = $index) {\n <tr #calendarRow=\"cCalendarRow\"\n (click)=\"selectionType === 'week' && (calendarRow.current) && calendarRow.date && handleDayCellClick(calendarRow.date)\"\n (keydown)=\"selectionType === 'week' && (calendarRow.current) && calendarRow.date && handleDayCellKeyDown($event, calendarRow.date)\"\n (keyup)=\"selectionType === 'week' && (calendarRow.current) && calendarRow.date && handleDayCellKeyUp($event, calendarRow.date)\"\n (mouseenter)=\"selectionType === 'week' && calendarRow.date && handleCellMouseEnter(calendarRow.date)\"\n [cCalendarRow]=\"week\"\n >\n @if (showWeekNumber) {\n <th class=\"calendar-cell-week-number\">\n {{ week.weekNumber === 0 ? 53 : week.weekNumber }}\n </th>\n }\n @for (dateObj of week.days; track dateObj.date; let idx = $index) {\n @if (dateObj.month === 'current' || showAdjacentDays) {\n <td #calendarCell=\"cCalendarDay\"\n (click)=\"selectionType === 'day' && (dateObj.month === 'current' || selectAdjacentDays) && handleDayCellClick(dateObj.date)\"\n (keydown)=\"selectionType === 'day' && (dateObj.month === 'current' || selectAdjacentDays) && handleDayCellKeyDown($event, dateObj.date)\"\n (keyup)=\"selectionType === 'day' && (dateObj.month === 'current' || selectAdjacentDays) && handleDayCellKeyUp($event, dateObj.date)\"\n (mouseenter)=\"selectionType === 'day' && (dateObj.month === 'current' || selectAdjacentDays) && handleCellMouseEnter(dateObj.date)\"\n [attr.aria-label]=\"dateObj.date | calendarDayTitle:locale\"\n [date]=\"dateObj.date\"\n [month]=\"dateObj.month\"\n [ngClass]=\"dateObj | calendarClassDay:{minDate, maxDate, disabledDates, dateFilter}\"\n [tabindex]=\"selectionType === 'day' && (dateObj.month === 'current' || selectAdjacentDays) && !isDateDisabled(dateObj.date) ? 0 : -1\"\n cCalendarDay\n >\n <div class=\"calendar-cell-inner\">\n {{ dateObj.date | calendarDay:dayFormat:locale }}\n </div>\n </td>\n } @else {\n <td class=\"calendar-cell\"></td>\n }\n }\n </tr>\n }\n\n }\n }\n\n </tbody>\n</table>\n\n", styles: [".btn-transparent:focus-visible{outline:-webkit-focus-ring-color auto 1px}.calendar-row:focus-visible{box-shadow:var(--cui-calendar-cell-focus-box-shadow);border-radius:.375rem}.calendar-row:focus-within:not([tabindex=\"-1\"]){outline:0;box-shadow:var(--cui-calendar-cell-focus-box-shadow);border-radius:.375rem;outline-style:auto!important}.calendar-row:focus:not([tabindex=\"-1\"]){outline:0;box-shadow:var(--cui-calendar-cell-focus-box-shadow);border-radius:.375rem;outline-style:auto!important}.calendar-cell:focus:not(:focus-visible):not([tabindex=\"-1\"]){box-shadow:var(--cui-calendar-cell-focus-box-shadow);border-radius:.375rem}\n"], dependencies: [{ kind: "directive", type: CalendarDayDirective, selector: "[cCalendarDay]", inputs: ["date", "disabled", "month", "calendarDate"], exportAs: ["cCalendarDay"] }, { kind: "pipe", type: CalendarDayPipe, name: "calendarDay" }, { kind: "pipe", type: CalendarDayTitlePipe, name: "calendarDayTitle" }, { kind: "directive", type: CalendarRowDirective, selector: "[cCalendarRow]", inputs: ["cCalendarRow"], exportAs: ["cCalendarRow"] }, { kind: "pipe", type: CalendarClassDayPipe, name: "calendarClassDay" }, { kind: "pipe", type: CalendarClassMonthPipe, name: "calendarClassMonth" }, { kind: "pipe", type: CalendarClassYearPipe, name: "calendarClassYear" }, { kind: "pipe", type: CalendarWeekdayPipe, name: "calendarWeekday" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
|
|
452
452
|
}
|
|
453
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
453
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: CalendarMonthComponent, decorators: [{
|
|
454
454
|
type: Component,
|
|
455
455
|
args: [{ selector: 'c-calendar-month', exportAs: 'cCalendarMonth', standalone: true, imports: [
|
|
456
456
|
CalendarDayDirective,
|
|
@@ -498,4 +498,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImpor
|
|
|
498
498
|
type: ViewChildren,
|
|
499
499
|
args: [CalendarRowDirective]
|
|
500
500
|
}] } });
|
|
501
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItbW9udGguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9jYWxlbmRhci9jYWxlbmRhci1tb250aC9jYWxlbmRhci1tb250aC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL2NhbGVuZGFyL2NhbGVuZGFyLW1vbnRoL2NhbGVuZGFyLW1vbnRoLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsU0FBUyxFQUNULFFBQVEsRUFDUixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxlQUFlLEVBR2YsTUFBTSxFQUNOLFlBQVksRUFFYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0QyxPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLG1CQUFtQixFQUNuQixlQUFlLEVBQ2YsY0FBYyxFQUNkLFFBQVEsRUFDUixtQkFBbUIsRUFDbkIsY0FBYyxFQUNkLHFCQUFxQixFQUNyQixPQUFPLEVBQ1IsTUFBTSxtQkFBbUIsQ0FBQztBQUczQixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxF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Qjt3QkFDcEIsb0JBQW9CO3dCQUNwQixzQkFBc0I7d0JBQ3RCLG9CQUFvQjt3QkFDcEIscUJBQXFCO3dCQUNyQixtQkFBbUI7d0JBQ25CLE9BQU87d0JBQ1AsU0FBUztxQkFDVjtvRkFZUSxTQUFTO3NCQUFqQixLQUFLO2dCQU9GLFNBQVM7c0JBRFosS0FBSztnQkFvQkYsT0FBTztzQkFEVixLQUFLO2dCQW9CRixhQUFhO3NCQURoQixLQUFLO2dCQXFCaUMsY0FBYztzQkFBcEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUU7Z0JBT2pDLE1BQU07c0JBRFQsS0FBSztnQkFpQmtDLEtBQUs7c0JBQTVDLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBTzdCLGFBQWE7c0JBQXJCLEtBQUs7Z0JBUUYsSUFBSTtzQkFEUCxLQUFLO2dCQWVGLE9BQU87c0JBRFYsS0FBSztnQkFlRixPQUFPO3NCQURWLEtBQUs7Z0JBcUJGLFlBQVk7c0JBRGYsS0FBSztnQkFnQjhCLFlBQVk7c0JBQS9DLFlBQVk7dUJBQUMsb0JBQW9CO2dCQUNFLFlBQVk7c0JBQS9DLFlBQVk7dUJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgRGVzdHJveVJlZixcbiAgaW5qZWN0LFxuICBJbnB1dCxcbiAgbnVtYmVyQXR0cmlidXRlLFxuICBPbkluaXQsXG4gIFF1ZXJ5TGlzdCxcbiAgc2lnbmFsLFxuICBWaWV3Q2hpbGRyZW4sXG4gIFdyaXRhYmxlU2lnbmFsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7XG4gIGNvbnZlcnRUb0RhdGVPYmplY3QsXG4gIGNyZWF0ZUdyb3Vwc0luQXJyYXksXG4gIGdldE1vbnRoRGV0YWlscyxcbiAgZ2V0TW9udGhzTmFtZXMsXG4gIGdldFllYXJzLFxuICBpc0RhdGVCZXR3ZWVuTWluTWF4LFxuICBpc0RhdGVEaXNhYmxlZCxcbiAgaXNEYXRlSW5SYW5nZURpc2FibGVkLFxuICB0cnlEYXRlXG59IGZyb20gJy4uL2NhbGVuZGFyLnV0aWxzJztcblxuaW1wb3J0IHsgQ2FsZW5kYXJTZXJ2aWNlLCBEYXRlRmlsdGVyVHlwZSwgRGF5Rm9ybWF0VHlwZSwgU2VsZWN0aW9uVHlwZSwgV2Vla2RheUZvcm1hdFR5cGUgfSBmcm9tICcuLi9jYWxlbmRhci5zZXJ2aWNlJztcbmltcG9ydCB7IENhbGVuZGFyV2Vla2RheVBpcGUgfSBmcm9tICcuL2NhbGVuZGFyLXdlZWtkYXkucGlwZSc7XG5pbXBvcnQgeyBDYWxlbmRhckNsYXNzWWVhclBpcGUgfSBmcm9tICcuL2NhbGVuZGFyLWNsYXNzLXllYXIucGlwZSc7XG5pbXBvcnQgeyBDYWxlbmRhckNsYXNzTW9udGhQaXBlIH0gZnJvbSAnLi9jYWxlbmRhci1jbGFzcy1tb250aC5waXBlJztcbmltcG9ydCB7IENhbGVuZGFyRGF5UGlwZSB9IGZyb20gJy4vY2FsZW5kYXItZGF5LnBpcGUnO1xuaW1wb3J0IHsgQ2FsZW5kYXJEYXlEaXJlY3RpdmUgfSBmcm9tICcuL2NhbGVuZGFyLWRheS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQ2FsZW5kYXJEYXlUaXRsZVBpcGUgfSBmcm9tICcuL2NhbGVuZGFyLWRheS10aXRsZS5waXBlJztcbmltcG9ydCB7IENhbGVuZGFyQ2xhc3NEYXlQaXBlIH0gZnJvbSAnLi9jYWxlbmRhci1jbGFzcy1kYXkucGlwZSc7XG5pbXBvcnQgeyBDYWxlbmRhckNsYXNzUm93UGlwZSB9IGZyb20gJy4vY2FsZW5kYXItY2xhc3Mtcm93LnBpcGUnO1xuaW1wb3J0IHsgQ2FsZW5kYXJSb3dEaXJlY3RpdmUgfSBmcm9tICcuL2NhbGVuZGFyLXJvdy5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjLWNhbGVuZGFyLW1vbnRoJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhbGVuZGFyLW1vbnRoLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2FsZW5kYXItbW9udGguY29tcG9uZW50LnNjc3MnXSxcbiAgZXhwb3J0QXM6ICdjQ2FsZW5kYXJNb250aCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDYWxlbmRhckRheURpcmVjdGl2ZSxcbiAgICBDYWxlbmRhckRheVBpcGUsXG4gICAgQ2FsZW5kYXJEYXlUaXRsZVBpcGUsXG4gICAgQ2FsZW5kYXJSb3dEaXJlY3RpdmUsXG4gICAgQ2FsZW5kYXJDbGFzc0RheVBpcGUsXG4gICAgQ2FsZW5kYXJDbGFzc01vbnRoUGlwZSxcbiAgICBDYWxlbmRhckNsYXNzUm93UGlwZSxcbiAgICBDYWxlbmRhckNsYXNzWWVhclBpcGUsXG4gICAgQ2FsZW5kYXJXZWVrZGF5UGlwZSxcbiAgICBOZ0NsYXNzLFxuICAgIEFzeW5jUGlwZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIENhbGVuZGFyTW9udGhDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gICNkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2FsZW5kYXJTZXJ2aWNlOiBDYWxlbmRhclNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5jYWxlbmRhclN0YXRlU3Vic2NyaWJlKCk7XG4gIH1cblxuICBASW5wdXQoKSBhZGRNb250aHM6IG51bWJlciA9IDA7XG5cbiAgLyoqXG4gICAqIEluaXRpYWwgc2VsZWN0ZWQgZGF0ZS5cbiAgICogQHR5cGUgIChEYXRlIHwgbnVsbClcbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBzdGFydERhdGUodmFsdWU6IERhdGUgfCBudW1iZXIgfCBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgY29uc3QgZGF0ZSA9ICEhdmFsdWUgPyB0cnlEYXRlKHZhbHVlLCAnc3RhcnREYXRlJykgOiBudWxsO1xuICAgIGlmICh0aGlzLl9zdGFydERhdGU/LmdldFRpbWUoKSAhPT0gZGF0ZT8uZ2V0VGltZSgpKSB7XG4gICAgICB0aGlzLl9zdGFydERhdGUgPSBkYXRlO1xuICAgICAgdGhpcy5jYWxlbmRhclNlcnZpY2UudXBkYXRlKHsgc3RhcnREYXRlOiB0aGlzLl9zdGFydERhdGUgfSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHN0YXJ0RGF0ZSgpOiBEYXRlIHwgbnVsbCB7XG4gICAgcmV0dXJuIDxEYXRlIHwgbnVsbD50aGlzLl9zdGFydERhdGU7XG4gIH1cblxuICBfc3RhcnREYXRlOiBEYXRlIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIEluaXRpYWwgc2VsZWN0ZWQgdG8gZGF0ZSAocmFuZ2UpLlxuICAgKiBAdHlwZSAgRGF0ZSB8IG51bGxcbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBlbmREYXRlKHZhbHVlOiBEYXRlIHwgbnVtYmVyIHwgc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IGRhdGUgPSAhIXZhbHVlID8gdHJ5RGF0ZSh2YWx1ZSwgJ2VuZERhdGUnKSA6IG51bGw7XG4gICAgaWYgKHRoaXMuX2VuZERhdGU/LmdldFRpbWUoKSAhPT0gZGF0ZT8uZ2V0VGltZSgpKSB7XG4gICAgICB0aGlzLl9lbmREYXRlID0gZGF0ZTtcbiAgICAgIHRoaXMuY2FsZW5kYXJTZXJ2aWNlLnVwZGF0ZSh7IGVuZERhdGU6IHRoaXMuX2VuZERhdGUgfSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGVuZERhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2VuZERhdGU7XG4gIH1cblxuICBfZW5kRGF0ZTogKERhdGUgfCBudWxsKSA9IG51bGw7XG5cbiAgLyoqXG4gICAqIFNwZWNpZnkgdGhlIGxpc3Qgb2YgZGF0ZXMgdGhhdCBjYW5ub3QgYmUgc2VsZWN0ZWQuXG4gICAqIEB0eXBlICBEYXRlW10gfCBEYXRlW11bXVxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IGRpc2FibGVkRGF0ZXModmFsdWU6IERhdGVbXSB8IERhdGVbXVtdKSB7XG4gICAgdGhpcy5fZGlzYWJsZWREYXRlcyA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IGRpc2FibGVkRGF0ZXMoKTogRGF0ZVtdIHwgRGF0ZVtdW10ge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZERhdGVzO1xuICB9XG5cbiAgcHJpdmF0ZSBfZGlzYWJsZWREYXRlczogKERhdGVbXSB8IERhdGVbXVtdKSA9IFtdO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBkYXkgb2Ygc3RhcnQgd2Vlay5cbiAgICogLSAwIC0gU3VuZGF5LFxuICAgKiAtIDEgLSBNb25kYXksXG4gICAqIC0gMiAtIFR1ZXNkYXksXG4gICAqIC0gMyAtIFdlZG5lc2RheSxcbiAgICogLSA0IC0gVGh1cnNkYXksXG4gICAqIC0gNSAtIEZyaWRheSxcbiAgICogLSA2IC0gU2F0dXJkYXksXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KSBmaXJzdERheU9mV2VlazogbnVtYmVyID0gMTtcblxuICAvKipcbiAgICogU2V0cyB0aGUgZGVmYXVsdCBsb2NhbGUgZm9yIGNvbXBvbmVudHMuIElmIG5vdCBzZXQsIGl0IGlzIGluaGVyaXRlZCBmcm9tIHRoZSBicm93c2VyLlxuICAgKiBAZGVmYXVsdCAnZGVmYXVsdCdcbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBsb2NhbGUodmFsdWUpIHtcbiAgICB0aGlzLiNsb2NhbGUuc2V0KHZhbHVlKTtcbiAgICAvLyB0aGlzLmxpc3RPZk1vbnRocyA9IGNyZWF0ZUdyb3Vwc0luQXJyYXkoZ2V0TW9udGhzTmFtZXModmFsdWUpLCA0KTtcbiAgfVxuXG4gIGdldCBsb2NhbGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuI2xvY2FsZSgpO1xuICB9XG5cbiAgI2xvY2FsZSA9IHNpZ25hbCgnZGVmYXVsdCcpO1xuXG4gIC8qKlxuICAgKiBBbGxvdyByYW5nZSBzZWxlY3Rpb24uXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSByYW5nZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBTZXQgbGVuZ3RoIG9yIGZvcm1hdCBvZiBkYXkgbmFtZS5cbiAgICogQHR5cGUgbnVtYmVyIHwgJ2xvbmcnIHwgJ25hcnJvdycgfCAnc2hvcnQnXG4gICAqIEBkZWZhdWx0ICdzaG9ydCdcbiAgICovXG4gIEBJbnB1dCgpIHdlZWtkYXlGb3JtYXQ6IFdlZWtkYXlGb3JtYXRUeXBlID0gJ3Nob3J0JztcblxuICAvKipcbiAgICogU2V0IGNhbGVuZGFyIHZpZXcuXG4gICAqIEB0eXBlICdkYXlzJyB8ICdtb250aHMnIHwgJ3llYXJzJ1xuICAgKiBAZGVmYXVsdCAnZGF5cydcbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCB2aWV3KHZhbHVlKSB7XG4gICAgdGhpcy4jdmlldy5zZXQodmFsdWUpO1xuICB9XG5cbiAgZ2V0IHZpZXcoKSB7XG4gICAgcmV0dXJuIHRoaXMuI3ZpZXcoKTtcbiAgfVxuXG4gICN2aWV3ID0gc2lnbmFsPCdkYXlzJyB8ICdtb250aHMnIHwgJ3llYXJzJz4oJ2RheXMnKTtcblxuICAvKipcbiAgICogTWF4IHNlbGVjdGFibGUgZGF0ZS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBtYXhEYXRlKHZhbHVlOiBEYXRlIHwgbnVsbCkge1xuICAgIHRoaXMuX21heERhdGUgPSB2YWx1ZSA/IHRyeURhdGUodmFsdWUsICdtYXhEYXRlJykgOiBudWxsO1xuICB9XG5cbiAgZ2V0IG1heERhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX21heERhdGU7XG4gIH1cblxuICBwcml2YXRlIF9tYXhEYXRlOiBEYXRlIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIE1pbiBzZWxlY3RhYmxlIGRhdGUuXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgbWluRGF0ZSh2YWx1ZTogRGF0ZSB8IG51bGwpIHtcbiAgICB0aGlzLl9taW5EYXRlID0gdmFsdWUgPyB0cnlEYXRlKHZhbHVlLCAnbWluRGF0ZScpIDogbnVsbDtcbiAgfVxuXG4gIGdldCBtaW5EYXRlKCkge1xuICAgIHJldHVybiB0aGlzLl9taW5EYXRlO1xuICB9XG5cbiAgcHJpdmF0ZSBfbWluRGF0ZTogRGF0ZSB8IG51bGwgPSBudWxsO1xuXG4gIGxpc3RPZk1vbnRocyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICByZXR1cm4gY3JlYXRlR3JvdXBzSW5BcnJheShnZXRNb250aHNOYW1lcyh0aGlzLiNsb2NhbGUoKSwgdGhpcy5jYWxlbmRhckRhdGUkJCgpLmdldEZ1bGxZZWFyKCkpLCA0KTtcbiAgfSk7XG4gIGxpc3RPZlllYXJzID0gY29tcHV0ZWQoKCkgPT4gY3JlYXRlR3JvdXBzSW5BcnJheShnZXRZZWFycyh0aGlzLmNhbGVuZGFyRGF0ZSQkKCkuZ2V0RnVsbFllYXIoKSksIDQpKTtcblxuICAvKipcbiAgICogRGVmYXVsdCBkYXRlIG9mIHRoZSBjb21wb25lbnRcbiAgICogQHR5cGUgRGF0ZVxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IGNhbGVuZGFyRGF0ZSh2YWx1ZTogKERhdGUgfCBzdHJpbmcgfCBudW1iZXIpKSB7XG4gICAgY29uc3QgX3ZhbHVlID0gbmV3IERhdGUodHJ5RGF0ZSgodmFsdWUgPz8gdGhpcy5zdGFydERhdGUpLCAnY2FsZW5kYXJEYXRlJykpO1xuICAgIGlmICghIV92YWx1ZSAmJiB0aGlzLmNhbGVuZGFyRGF0ZSQkKCkuZ2V0VGltZSgpICE9PSBfdmFsdWUuZ2V0VGltZSgpKSB7XG4gICAgICB0aGlzLmNhbGVuZGFyRGF0ZSQkLnNldChuZXcgRGF0ZShuZXcgRGF0ZShfdmFsdWUuc2V0RGF0ZSgxKSkuc2V0SG91cnMoMCwgMCwgMCwgMCkpKTtcbiAgICAgIHRoaXMuc2V0TW9udGhEZXRhaWxzKHRoaXMuZGF0ZSk7XG4gICAgICB0aGlzLmNhbGVuZGFyU2VydmljZS51cGRhdGUoeyBjYWxlbmRhckRhdGU6IHRoaXMuY2FsZW5kYXJEYXRlJCQoKSB9KTtcbiAgICB9XG4gIH1cblxuICBnZXQgY2FsZW5kYXJEYXRlKCk6IERhdGUge1xuICAgIHJldHVybiA8RGF0ZT50aGlzLmNhbGVuZGFyRGF0ZSQkKCkgYXMgRGF0ZTtcbiAgfVxuXG4gIGNhbGVuZGFyRGF0ZSQkID0gc2lnbmFsPERhdGU+KG5ldyBEYXRlKCkpO1xuXG4gIEBWaWV3Q2hpbGRyZW4oQ2FsZW5kYXJEYXlEaXJlY3RpdmUpIGNhbGVuZGFyRGF5cyE6IFF1ZXJ5TGlzdDxDYWxlbmRhckRheURpcmVjdGl2ZT47XG4gIEBWaWV3Q2hpbGRyZW4oQ2FsZW5kYXJSb3dEaXJlY3RpdmUpIGNhbGVuZGFyUm93cyE6IFF1ZXJ5TGlzdDxDYWxlbmRhclJvd0RpcmVjdGl2ZT47XG5cbiAgZGF0ZUZpbHRlciE6IERhdGVGaWx0ZXJUeXBlO1xuXG4gIGdldCBkYXRlKCkge1xuICAgIHJldHVybiBuZXcgRGF0ZSh0aGlzLmNhbGVuZGFyRGF0ZT8uZ2V0RnVsbFllYXIoKSwgdGhpcy5jYWxlbmRhckRhdGU/LmdldE1vbnRoKCkgKyB0aGlzLmFkZE1vbnRocyk7XG4gIH1cblxuICBkYXlGb3JtYXQhOiBEYXlGb3JtYXRUeXBlO1xuICBzZWxlY3RBZGphY2VudERheXMhOiBib29sZWFuO1xuICBzaG93QWRqYWNlbnREYXlzITogYm9vbGVhbjtcblxuICBzZXQgc2VsZWN0aW9uVHlwZSh2YWx1ZTogU2VsZWN0aW9uVHlwZSkge1xuICAgIHRoaXMuI3NlbGVjdGlvblR5cGUuc2V0KHZhbHVlKTtcbiAgfVxuXG4gIGdldCBzZWxlY3Rpb25UeXBlKCkge1xuICAgIHJldHVybiB0aGlzLiNzZWxlY3Rpb25UeXBlKCk7XG4gIH1cblxuICAjc2VsZWN0aW9uVHlwZTogV3JpdGFibGVTaWduYWw8U2VsZWN0aW9uVHlwZT4gPSBzaWduYWwoJ21vbnRoJyk7XG5cbiAgc2hvd1dlZWtOdW1iZXI6IGJvb2xlYW4gPSB0cnVlO1xuICAvLyBzZXQgc2hvd1dlZWtOdW1iZXIodmFsdWU6IGJvb2xlYW4pIHtcbiAgLy8gICB0aGlzLiNzaG93V2Vla051bWJlciQkLnNldCh2YWx1ZSk7XG4gIC8vIH1cbiAgLy9cbiAgLy8gZ2V0IHNob3dXZWVrTnVtYmVyKCkge1xuICAvLyAgIHJldHVybiB0aGlzLiNzaG93V2Vla051bWJlciQkKCk7XG4gIC8vIH1cbiAgLy9cbiAgLy8gI3Nob3dXZWVrTnVtYmVyJCQ6IFdyaXRhYmxlU2lnbmFsPGJvb2xlYW4+ID0gc2lnbmFsKGZhbHNlKTtcbiAgLy8gc2hvd1dlZWtOdW1iZXIkJCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuI3NlbGVjdGlvblR5cGUoKSA9PT0gJ3dlZWsnIHx8IHRoaXMuI3Nob3dXZWVrTnVtYmVyJCQoKSk7XG5cbiAgd2Vla051bWJlcnNMYWJlbCE6IHN0cmluZztcblxuICBwcml2YXRlIF9tb250aERldGFpbHMhOiB7IHdlZWtOdW1iZXI6IG51bWJlcjsgZGF5czogeyBkYXRlOiBEYXRlOyBtb250aDogc3RyaW5nOyB9W107IH1bXTtcblxuICBnZXQgbW9udGhEZXRhaWxzKCkge1xuICAgIHJldHVybiB0aGlzLl9tb250aERldGFpbHM7XG4gIH1cblxuICBnZXQgd2Vla0RheXMoKSB7XG4gICAgcmV0dXJuIHRoaXMubW9udGhEZXRhaWxzWzBdLmRheXM7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldE1vbnRoRGV0YWlscyh0aGlzLmRhdGUpO1xuICB9XG5cbiAgc2V0TW9udGhEZXRhaWxzKGRhdGU6IERhdGUgPSB0aGlzLmRhdGUpIHtcbiAgICB0aGlzLl9tb250aERldGFpbHMgPSBnZXRNb250aERldGFpbHMoXG4gICAgICBkYXRlLmdldEZ1bGxZZWFyKCksXG4gICAgICBkYXRlLmdldE1vbnRoKCksXG4gICAgICB0aGlzLmZpcnN0RGF5T2ZXZWVrXG4gICAgKTtcbiAgfVxuXG4gIHllYXJOdW1iZXIoeWVhcjogYW55KSB7XG4gICAgcmV0dXJuIG5ldyBEYXRlKHllYXIsIDApLnRvTG9jYWxlRGF0ZVN0cmluZyh0aGlzLmxvY2FsZSwgeyB5ZWFyOiAnbnVtZXJpYycgfSk7XG4gIH1cblxuICBpc0RhdGVEaXNhYmxlZChkYXRlOiBEYXRlKSB7XG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uVHlwZSA9PT0gJ3llYXInKSB7XG4gICAgICBjb25zdCBtaW5EYXRlID0gdGhpcy5taW5EYXRlID8gbmV3IERhdGUodGhpcy5taW5EYXRlLmdldEZ1bGxZZWFyKCksIDAsIDEsIDAsIDAsIDAsIDApIDogbnVsbDtcbiAgICAgIGNvbnN0IG1heERhdGUgPSB0aGlzLm1heERhdGUgPyBuZXcgRGF0ZSh0aGlzLm1heERhdGUuZ2V0RnVsbFllYXIoKSwgMTEsIDMxLCAwLCAwLCAwLCAwKSA6IG51bGw7XG4gICAgICByZXR1cm4gaXNEYXRlRGlzYWJsZWQoZGF0ZSwgbWluRGF0ZSwgbWF4RGF0ZSwgdGhpcy5kaXNhYmxlZERhdGVzKSB8fCAodGhpcy5kYXRlRmlsdGVyID8gIXRoaXMuZGF0ZUZpbHRlcihkYXRlKSA6IGZhbHNlKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uVHlwZSA9PT0gJ21vbnRoJykge1xuICAgICAgY29uc3QgbWluRGF0ZSA9IHRoaXMubWluRGF0ZSA/IG5ldyBEYXRlKHRoaXMubWluRGF0ZS5nZXRGdWxsWWVhcigpLCB0aGlzLm1pbkRhdGUuZ2V0TW9udGgoKSwgMSwgMCwgMCwgMCwgMCkgOiBudWxsO1xuICAgICAgY29uc3QgbWF4RGF0ZSA9IHRoaXMubWF4RGF0ZSA/IG5ldyBEYXRlKHRoaXMubWF4RGF0ZS5nZXRGdWxsWWVhcigpLCB0aGlzLm1heERhdGUuZ2V0TW9udGgoKSArIDEsIDEsIDAsIDAsIC0xLCAwKSA6IG51bGw7XG4gICAgICByZXR1cm4gaXNEYXRlRGlzYWJsZWQoZGF0ZSwgbWluRGF0ZSwgbWF4RGF0ZSwgdGhpcy5kaXNhYmxlZERhdGVzKSB8fCAodGhpcy5kYXRlRmlsdGVyID8gIXRoaXMuZGF0ZUZpbHRlcihkYXRlKSA6IGZhbHNlKTtcbiAgICB9XG4gICAgcmV0dXJuIGlzRGF0ZURpc2FibGVkKGRhdGUsIHRoaXMubWluRGF0ZSwgdGhpcy5tYXhEYXRlLCB0aGlzLmRpc2FibGVkRGF0ZXMpIHx8ICh0aGlzLmRhdGVGaWx0ZXIgPyAhdGhpcy5kYXRlRmlsdGVyKGRhdGUpIDogZmFsc2UpO1xuICB9XG5cbiAgY2FsZW5kYXJDZWxsVGl0bGUoZGF0ZTogRGF0ZSkge1xuICAgIHJldHVybiBkYXRlLnRvTG9jYWxlRGF0ZVN0cmluZyh0aGlzLmxvY2FsZSk7XG4gIH1cblxuICBoYW5kbGVDZWxsTW91c2VFbnRlcihob3ZlckRhdGU6IERhdGUpIHtcbiAgICBjb25zdCB1cGRhdGVIb3ZlclZhbHVlID0gKFsnZGF5JywgJ3dlZWsnXS5pbmNsdWRlcyh0aGlzLnNlbGVjdGlvblR5cGUpICYmIHRoaXMudmlldyA9PT0gJ2RheXMnKSB8fFxuICAgICAgWydtb250aCddLmluY2x1ZGVzKHRoaXMuc2VsZWN0aW9uVHlwZSkgJiYgdGhpcy52aWV3ID09PSAnbW9udGhzJyB8fFxuICAgICAgWyd5ZWFyJ10uaW5jbHVkZXModGhpcy5zZWxlY3Rpb25UeXBlKSAmJiB0aGlzLnZpZXcgPT09ICd5ZWFycyc7XG5cbiAgICAvLyBpZiAodXBkYXRlSG92ZXJWYWx1ZSkge1xuICAgIGNvbnN0IGhvdmVyVmFsdWUgPSB0aGlzLmlzRGF0ZURpc2FibGVkKGhvdmVyRGF0ZSkgfHwgIXVwZGF0ZUhvdmVyVmFsdWUgPyBudWxsIDogaG92ZXJEYXRlO1xuICAgIHRoaXMuY2FsZW5kYXJTZXJ2aWNlLnVwZGF0ZSh7IGhvdmVyRGF0ZTogaG92ZXJWYWx1ZSB9KTtcbiAgICAvLyB9XG4gIH1cblxuICBoYW5kbGVZZWFyQ2VsbENsaWNrKHllYXI6IG51bWJlcikge1xuICAgIGlmICh0aGlzLnNlbGVjdGlvblR5cGUgPT09ICd5ZWFyJykge1xuICAgICAgbGV0IGRhdGUgPSBuZXcgRGF0ZSh5ZWFyLCAwLCAxLCAwLCAwLCAwLCAwKTtcbiAgICAgIGlmICh0aGlzLnJhbmdlICYmIHRoaXMuc3RhcnREYXRlICYmICF0aGlzLmVuZERhdGUpIHtcbiAgICAgICAgZGF0ZSA9IG5ldyBEYXRlKGRhdGUuZ2V0RnVsbFllYXIoKSwgMTIsIDEsIDAsIDAsIC0xLCAwKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuaGFuZGxlRGF5Q2VsbENsaWNrKGRhdGUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBjYWxlbmRhckRhdGUgPSBuZXcgRGF0ZSh5ZWFyLCAwLCAxLCAwLCAwLCAwLCAwKTtcbiAgICB0aGlzLnZpZXcgPSAnbW9udGhzJztcbiAgICB0aGlzLmNhbGVuZGFyU2VydmljZS51cGRhdGUoeyB2aWV3OiB0aGlzLnZpZXcsIGNhbGVuZGFyRGF0ZTogY2FsZW5kYXJEYXRlIH0pO1xuXG4gIH1cblxuICBoYW5kbGVZZWFyQ2VsbEtleVVwKCRldmVudDogS2V5Ym9hcmRFdmVudCwgZGF0ZTogRGF0ZSkge1xuICAgIGlmIChbJ1NwYWNlJywgJ0VudGVyJ10uaW5jbHVkZXMoJGV2ZW50LmNvZGUpKSB7XG4gICAgICB0aGlzLmhhbmRsZVllYXJDZWxsQ2xpY2soZGF0ZS5nZXRGdWxsWWVhcigpKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKFsnVGFiJywgJ0Fycm93UmlnaHQnLCAnQXJyb3dMZWZ0JywgJ0Fycm93VXAnLCAnQXJyb3dEb3duJ10uaW5jbHVkZXMoJGV2ZW50LmNvZGUpKSB7XG4gICAgICB0aGlzLmhhbmRsZUNlbGxNb3VzZUVudGVyKG5ldyBEYXRlKGRhdGUpKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVNb250aENlbGxLZXlVcCgkZXZlbnQ6IEtleWJvYXJkRXZlbnQsIGRhdGU6IERhdGUpIHtcbiAgICBpZiAoWydTcGFjZScsICdFbnRlciddLmluY2x1ZGVzKCRldmVudC5jb2RlKSkge1xuICAgICAgdGhpcy5oYW5kbGVNb250aENlbGxDbGljayhkYXRlKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKFsnVGFiJywgJ0Fycm93UmlnaHQnLCAnQXJyb3dMZWZ0JywgJ0Fycm93VXAnLCAnQXJyb3dEb3duJ10uaW5jbHVkZXMoJGV2ZW50LmNvZGUpKSB7XG4gICAgICB0aGlzLmhhbmRsZUNlbGxNb3VzZUVudGVyKGRhdGUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZU1vbnRoQ2VsbENsaWNrKHZhbHVlOiBEYXRlKSB7XG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uVHlwZSA9PT0gJ21vbnRoJykge1xuICAgICAgbGV0IGRhdGUgPSBuZXcgRGF0ZSh2YWx1ZS5nZXRGdWxsWWVhcigpLCB2YWx1ZS5nZXRNb250aCgpLCAxLCAwLCAwLCAwLCAwKTtcbiAgICAgIGlmICh0aGlzLnJhbmdlICYmIHRoaXMuc3RhcnREYXRlICYmICF0aGlzLmVuZERhdGUpIHtcbiAgICAgICAgZGF0ZSA9IG5ldyBEYXRlKGRhdGUuZ2V0RnVsbFllYXIoKSwgZGF0ZS5nZXRNb250aCgpICsgMSwgMSwgMCwgMCwgLTEsIDApO1xuICAgICAgfVxuICAgICAgdGhpcy5oYW5kbGVEYXlDZWxsQ2xpY2soZGF0ZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zZXRDYWxlbmRhclBhZ2UoMCwgMCwgdmFsdWUuZ2V0TW9udGgoKSAtIHRoaXMuYWRkTW9udGhzKTtcbiAgICB0aGlzLnZpZXcgPSAnZGF5cyc7XG4gICAgdGhpcy5jYWxlbmRhclNlcnZpY2UudXBkYXRlKHsgdmlldzogdGhpcy52aWV3IH0pO1xuICB9XG5cbiAgc2V0Q2FsZW5kYXJQYWdlKHllYXJzOiBudW1iZXIsIG1vbnRocyA9IDAsIHNldE1vbnRoPzogbnVtYmVyKSB7XG4gICAgY29uc3QgeWVhciA9IHRoaXMuZGF0ZS5nZXRGdWxsWWVhcigpO1xuICAgIGNvbnN0IG1vbnRoID0gdGhpcy5kYXRlLmdldE1vbnRoKCk7XG4gICAgY29uc3QgZCA9IG5ldyBEYXRlKHllYXIsIG1vbnRoLCAxLCAwLCAwLCAwLCAwKTtcblxuICAgIHllYXJzICYmIGQuc2V0RnVsbFllYXIoZC5nZXRGdWxsWWVhcigpICsgeWVhcnMpO1xuICAgIG1vbnRocyAmJiBkLnNldE1vbnRoKGQuZ2V0TW9udGgoKSArIG1vbnRocyk7XG4gICAgdHlwZW9mIHNldE1vbnRoID09PSAnbnVtYmVyJyAmJiBkLnNldE1vbnRoKHNldE1vbnRoKTtcblxuICAgIHRoaXMuY2FsZW5kYXJTZXJ2aWNlLnVwZGF0ZSh7IGNhbGVuZGFyRGF0ZTogZCB9KTtcbiAgfVxuXG4gIGhhbmRsZURheUNlbGxLZXlEb3duKCRldmVudDogS2V5Ym9hcmRFdmVudCwgZGF0ZTogRGF0ZSkge1xuXG4gICAgaWYgKCFbJ1RhYicsICdBcnJvd1JpZ2h0JywgJ0Fycm93TGVmdCcsICdBcnJvd1VwJywgJ0Fycm93RG93biddLmluY2x1ZGVzKCRldmVudC5jb2RlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLmhhbmRsZUNlbGxNb3VzZUVudGVyKGRhdGUpO1xuXG4gICAgY29uc3QgZXZlbnRLZXkgPSAkZXZlbnQua2V5ID09PSAnVGFiJyA/ICgkZXZlbnQuc2hpZnRLZXkgPyAnQXJyb3dMZWZ0JyA6ICdBcnJvd1JpZ2h0JykgOiAkZXZlbnQua2V5O1xuXG4gICAgaWYgKHRoaXMubWF4RGF0ZSAmJiBkYXRlID49IGNvbnZlcnRUb0RhdGVPYmplY3QodGhpcy5tYXhEYXRlLCB0aGlzLnNlbGVjdGlvblR5cGUpICYmIChbJ0Fycm93UmlnaHQnLCAnQXJyb3dEb3duJ10uaW5jbHVkZXMoZXZlbnRLZXkpKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5taW5EYXRlICYmIGRhdGUgPD0gY29udmVydFRvRGF0ZU9iamVjdCh0aGlzLm1pbkRhdGUsIHRoaXMuc2VsZWN0aW9uVHlwZSkgJiYgKFsnQXJyb3dMZWZ0JywgJ0Fycm93VXAnXS5pbmNsdWRlcyhldmVudEtleSkpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IGVsZW1lbnQgPSAkZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuXG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uVHlwZSA9PT0gJ3dlZWsnICYmIHRoaXMudmlldyA9PT0gJ2RheXMnICYmIGVsZW1lbnQudGFiSW5kZXggPT09IC0xKSB7XG4gICAgICBlbGVtZW50ID0gZWxlbWVudC5jbG9zZXN0KCd0clt0YWJpbmRleD1cIjBcIl0nKSBhcyBIVE1MRWxlbWVudDtcbiAgICB9XG5cbiAgICBjb25zdCBlbGVtZW50cyA9IFsnd2VlayddLmluY2x1ZGVzKHRoaXMuc2VsZWN0aW9uVHlwZSkgJiYgdGhpcy52aWV3ID09PSAnZGF5cycgPyB0aGlzLmNhbGVuZGFyUm93cyA6IHRoaXMuY2FsZW5kYXJEYXlzO1xuXG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGNvbnN0IGxpc3QgPSBlbGVtZW50cy50b0FycmF5KClcbiAgICAgIC5tYXAoY2FsZW5kYXJDZWxsID0+IGNhbGVuZGFyQ2VsbC5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpXG4gICAgICAvLyAuZmlsdGVyKChlbGVtZW50KSA9PiB0aGlzLnNlbGVjdGlvblR5cGUgPT09ICd3ZWVrJyA/IGVsZW1lbnQ/LnRhYkluZGV4ID09PSAwIDogZWxlbWVudD8uY2xhc3NMaXN0LmNvbnRhaW5zKCdjdXJyZW50JykpXG4gICAgICAuZmlsdGVyKChlbGVtZW50KSA9PiBlbGVtZW50Py50YWJJbmRleCA9PT0gMCk7XG5cbiAgICBjb25zdCBpbmRleCA9IGxpc3QuaW5kZXhPZihlbGVtZW50KTtcbiAgICBjb25zdCBmaXJzdCA9IGluZGV4ID09PSAwO1xuICAgIGNvbnN0IGxhc3QgPSBpbmRleCA9PT0gbGlzdC5sZW5ndGggLSAxO1xuXG4gICAgY29uc3QgdG9Cb3VuZGFyeSA9IHtcbiAgICAgIHN0YXJ0OiBpbmRleCxcbiAgICAgIGVuZDogbGlzdC5sZW5ndGggLSAoaW5kZXggKyAxKVxuICAgIH07XG5cbiAgICBjb25zdCBnYXAgPSB7XG4gICAgICBBcnJvd1JpZ2h0OiAxLFxuICAgICAgQXJyb3dMZWZ0OiAtMSxcbiAgICAgIEFycm93VXA6IHRoaXMuc2VsZWN0aW9uVHlwZSA9PT0gJ3dlZWsnICYmIHRoaXMudmlldyA9PT0gJ2RheXMnID8gLTEgOiB0aGlzLnZpZXcgPT09ICdkYXlzJyA/IC03IDogLTMsXG4gICAgICBBcnJvd0Rvd246IHRoaXMuc2VsZWN0aW9uVHlwZSA9PT0gJ3dlZWsnICYmIHRoaXMudmlldyA9PT0gJ2RheXMnID8gMSA6IHRoaXMudmlldyA9PT0gJ2RheXMnID8gNyA6IDNcbiAgICB9O1xuXG4gICAgaWYgKFxuICAgICAgKGV2ZW50S2V5ID09PSAnQXJyb3dSaWdodCcgJiYgbGFzdCkgfHxcbiAgICAgIChldmVudEtleSA9PT0gJ0Fycm93RG93bicgJiYgdG9Cb3VuZGFyeS5lbmQgPCBnYXAuQXJyb3dEb3duKSB8fFxuICAgICAgKGV2ZW50S2V5ID09PSAnQXJyb3dMZWZ0JyAmJiBmaXJzdCkgfHxcbiAgICAgIChldmVudEtleSA9PT0gJ0Fycm93VXAnICYmIHRvQm91bmRhcnkuc3RhcnQgPCBNYXRoLmFicyhnYXAuQXJyb3dVcCkpXG4gICAgKSB7XG5cbiAgICAgIGVsZW1lbnRzLmNoYW5nZXMucGlwZShcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuI2Rlc3Ryb3lSZWYpXG4gICAgICApLnN1YnNjcmliZSgoY2hhbmdlOiBRdWVyeUxpc3Q8Q2FsZW5kYXJSb3dEaXJlY3RpdmUgfCBDYWxlbmRhckRheURpcmVjdGl2ZT4pID0+IHtcblxuICAgICAgICBjb25zdCBfbGlzdCA9IGNoYW5nZVxuICAgICAgICAgIC50b0FycmF5KClcbiAgICAgICAgICAvLyAuZmlsdGVyKGVsZW1lbnQgPT4gdGhpcy5zZWxlY3Rpb25UeXBlID09PSAnd2VlaycgPyBlbGVtZW50Py5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudGFiSW5kZXggPT09IDAgOiBlbGVtZW50Py5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdjdXJyZW50JykpO1xuICAgICAgICAgIC5maWx0ZXIoZWxlbWVudCA9PiBlbGVtZW50Py5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudGFiSW5kZXggPT09IDApO1xuXG4gICAgICAgIGlmIChfbGlzdC5sZW5ndGgpIHtcbiAgICAgICAgICBsZXQgZGF5VG9Gb2N1czogQ2FsZW5kYXJEYXlEaXJlY3RpdmUgfCBDYWxlbmRhclJvd0RpcmVjdGl2ZSB8IHVuZGVmaW5lZDtcbiAgICAgICAgICBzd2l0Y2ggKGV2ZW50S2V5KSB7XG4gICAgICAgICAgICBjYXNlICdBcnJvd1JpZ2h0Jzoge1xuICAgICAgICAgICAgICBkYXlUb0ZvY3VzID0gX2xpc3RbMF07XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnQXJyb3dMZWZ0Jzoge1xuICAgICAgICAgICAgICBkYXlUb0ZvY3VzID0gX2xpc3RbX2xpc3QubGVuZ3RoIC0gMV07XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnQXJyb3dEb3duJzoge1xuICAgICAgICAgICAgICBkYXlUb0ZvY3VzID0gX2xpc3RbZ2FwLkFycm93RG93biAtIChsaXN0Lmxlbmd0aCAtIGluZGV4KV07XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnQXJyb3dVcCc6IHtcbiAgICAgICAgICAgICAgZGF5VG9Gb2N1cyA9IF9saXN0W19saXN0Lmxlbmd0aCAtIChNYXRoLmFicyhnYXAuQXJyb3dVcCkgKyAxIC0gKGluZGV4ICsgMSkpXTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICghZGF5VG9Gb2N1cz8uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCdkYXlUb0ZvY3VzJywgZGF5VG9Gb2N1cz8uZGF0ZSk7XG4gICAgICAgICAgICBkYXlUb0ZvY3VzPy5mb2N1cygna2V5Ym9hcmQnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBpZiAodGhpcy52aWV3ID09PSAnZGF5cycpIHtcbiAgICAgICAgdGhpcy5zZXRDYWxlbmRhclBhZ2UoMCwgWydBcnJvd1JpZ2h0JywgJ0Fycm93RG93biddLmluY2x1ZGVzKGV2ZW50S2V5KSA/IDEgOiAtMSk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy52aWV3ID09PSAnbW9udGhzJykge1xuICAgICAgICB0aGlzLnNldENhbGVuZGFyUGFnZShbJ0Fycm93UmlnaHQnLCAnQXJyb3dEb3duJ10uaW5jbHVkZXMoZXZlbnRLZXkpID8gMSA6IC0xKTtcbiAgICAgICAgLy8gdGhpcy5jYWxlbmRhckRheXM/LnJlc2V0KHRoaXMuY2FsZW5kYXJEYXlzLnRvQXJyYXkoKSk7XG4gICAgICAgIC8vIHRoaXMuY2FsZW5kYXJEYXlzPy5ub3RpZnlPbkNoYW5nZXMoKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnZpZXcgPT09ICd5ZWFycycpIHtcbiAgICAgICAgdGhpcy5zZXRDYWxlbmRhclBhZ2UoWydBcnJvd1JpZ2h0JywgJ0Fycm93RG93biddLmluY2x1ZGVzKGV2ZW50S2V5KSA/IDEyIDogLTEyKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBjb25zdCBuZXh0RWxlbWVudCA9IGxpc3RbaW5kZXggKyBnYXBbZXZlbnRLZXldXTtcbiAgICBpZiAobmV4dEVsZW1lbnQ/LnRhYkluZGV4ID09PSAwKSB7XG4gICAgICBuZXh0RWxlbWVudC5mb2N1cygpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGZvciAobGV0IGkgPSBpbmRleDsgaSA8IGxpc3QubGVuZ3RoOyBsaXN0Lmxlbmd0aCAmJiBbJ0Fycm93UmlnaHQnLCAnQXJyb3dEb3duJ10uaW5jbHVkZXMoZXZlbnRLZXkpID8gaSsrIDogaS0tKSB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBjb25zdCBuZXh0RWxlbWVudCA9IGxpc3RbaSArIGdhcFtldmVudEtleV1dO1xuICAgICAgaWYgKG5leHRFbGVtZW50Py50YWJJbmRleCA9PT0gMCkge1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIG5leHRFbGVtZW50Py5mb2N1cygpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGlmICghbmV4dEVsZW1lbnQpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlQ2VsbE1vdXNlTGVhdmUoKSB7XG4gICAgdGhpcy5jYWxlbmRhclNlcnZpY2UudXBkYXRlKHsgaG92ZXJEYXRlOiBudWxsIH0pO1xuICB9XG5cbiAgaGFuZGxlRGF5Q2VsbEtleVVwKCRldmVudDogS2V5Ym9hcmRFdmVudCwgZGF0ZTogRGF0ZSkge1xuICAgIGlmIChbJ1NwYWNlJywgJ0VudGVyJ10uaW5jbHVkZXMoJGV2ZW50LmNvZGUpKSB7XG4gICAgICB0aGlzLmhhbmRsZURheUNlbGxDbGljayhkYXRlKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKFsnVGFiJywgJ0Fycm93UmlnaHQnLCAnQXJyb3dMZWZ0JywgJ0Fycm93VXAnLCAnQXJyb3dEb3duJ10uaW5jbHVkZXMoJGV2ZW50LmNvZGUpKSB7XG4gICAgICB0aGlzLmhhbmRsZUNlbGxNb3VzZUVudGVyKGRhdGUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZURheUNlbGxDbGljayhkYXRlOiBEYXRlKSB7XG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uVHlwZSA9PT0gJ2RheScgJiYgdGhpcy5pc0RhdGVEaXNhYmxlZChkYXRlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5yYW5nZSkge1xuICAgICAgdGhpcy5lbmREYXRlID0gbnVsbDtcbiAgICAgIHRoaXMuc3RhcnREYXRlID0gZGF0ZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zdGFydERhdGUgJiYgdGhpcy5lbmREYXRlKSB7XG4gICAgICB0aGlzLmNhbGVuZGFyRGF0ZSA9IG5ldyBEYXRlKGRhdGUuZ2V0RnVsbFllYXIoKSwgZGF0ZS5nZXRNb250aCgpLCAxLCAwLCAwLCAwLCAwKTtcbiAgICAgIHRoaXMuZW5kRGF0ZSA9IG51bGw7XG4gICAgICB0aGlzLnN0YXJ0RGF0ZSA9IG51bGw7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCEhdGhpcy5zdGFydERhdGUgJiYgIXRoaXMuZW5kRGF0ZSkge1xuICAgICAgaWYgKHRoaXMuc3RhcnREYXRlICYmIGRhdGUgPCB0aGlzLnN0YXJ0RGF0ZSkge1xuICAgICAgICB0aGlzLmVuZERhdGUgPSBudWxsO1xuICAgICAgICB0aGlzLnN0YXJ0RGF0ZSA9IGRhdGU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmVuZERhdGUgPSBkYXRlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmVuZERhdGUgPSBudWxsO1xuICAgICAgdGhpcy5zdGFydERhdGUgPSBkYXRlO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnN0YXJ0RGF0ZSAmJiB0aGlzLmVuZERhdGUpIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGlmIChpc0RhdGVJblJhbmdlRGlzYWJsZWQodGhpcy5zdGFydERhdGUsIHRoaXMuZW5kRGF0ZSwgdGhpcy5kaXNhYmxlZERhdGVzKSkge1xuICAgICAgICB0aGlzLnN0YXJ0RGF0ZSA9IG51bGw7XG4gICAgICAgIHRoaXMuZW5kRGF0ZSA9IG51bGw7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgLy8gbGV0IGRhdGUgPSBuZXcgRGF0ZSh0aGlzLnN0YXJ0RGF0ZSk7XG4gICAgICAvLyB3aGlsZSAoZGF0ZSA8IHRoaXMuZW5kRGF0ZSkge1xuICAgICAgLy8gICBkYXRlLnNldERhdGUoZGF0ZS5nZXREYXRlKCkgKyAxKTtcbiAgICAgIC8vICAgaWYgKHRoaXMuaXNEYXRlRGlzYWJsZWQoZGF0ZSkpIHtcbiAgICAgIC8vICAgICB0aGlzLnN0YXJ0RGF0ZSA9IG51bGw7XG4gICAgICAvLyAgICAgdGhpcy5lbmREYXRlID0gbnVsbDtcbiAgICAgIC8vICAgICBicmVhaztcbiAgICAgIC8vICAgfVxuICAgICAgLy8gfVxuICAgIH1cbiAgfVxuXG4gIGNhbGVuZGFyU3RhdGVTdWJzY3JpYmUoKTogdm9pZCB7XG4gICAgdGhpcy5jYWxlbmRhclNlcnZpY2UuY2FsZW5kYXJTdGF0ZSQucGlwZShcbiAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLiNkZXN0cm95UmVmKVxuICAgICkuc3Vic2NyaWJlKHN0YXRlID0+IHtcbiAgICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhzdGF0ZSk7XG5cbiAgICAgIGZvciAoY29uc3Qga2V5IG9mIGtleXMpIHtcbiAgICAgICAgLy8gaWYgKGtleSBpbiB0aGlzKSB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgdGhpc1trZXldID0gc3RhdGVba2V5XTtcbiAgICAgICAgLy8gfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgZ2V0TW9udGhTdGFydChpbmRleDogbnVtYmVyKSB7XG4gICAgcmV0dXJuIG5ldyBEYXRlKHRoaXMuY2FsZW5kYXJEYXRlLmdldEZ1bGxZZWFyKCksIGluZGV4LCAxLCAwLCAwLCAwLCAwKTtcbiAgfVxuXG4gIGdldE1vbnRoRW5kKGluZGV4OiBudW1iZXIpIHtcbiAgICByZXR1cm4gbmV3IERhdGUodGhpcy5jYWxlbmRhckRhdGUuZ2V0RnVsbFllYXIoKSwgaW5kZXggKyAxLCAxLCAwLCAwLCAtMSwgMCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNEYXRlSW5SYW5nZURpc2FibGVkID0gaXNEYXRlSW5SYW5nZURpc2FibGVkO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNEYXRlQmV0d2Vlbk1pbk1heCA9IGlzRGF0ZUJldHdlZW5NaW5NYXg7XG5cbiAgZ2V0WWVhclN0YXJ0KHllYXI6IG51bWJlcikge1xuICAgIHJldHVybiBuZXcgRGF0ZSh5ZWFyLCAwLCAxKTtcbiAgfVxuXG4gIGdldFllYXJFbmQoeWVhcjogbnVtYmVyKSB7XG4gICAgcmV0dXJuIG5ldyBEYXRlKHllYXIsIDExLCAxLCAwLCAwLCAtMSwgMCk7XG4gIH1cbn1cbiIsIjx0YWJsZT5cbiAgQGlmICh2aWV3ID09PSAnZGF5cycpIHtcbiAgICA8dGhlYWQ+XG4gICAgPHRyPlxuICAgICAgQGlmIChzaG93V2Vla051bWJlcikge1xuICAgICAgICA8dGggY2xhc3M9XCJjYWxlbmRhci1jZWxsXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhbGVuZGFyLWhlYWRlci1jZWxsLWlubmVyXCI+e3sgd2Vla051bWJlcnNMYWJlbCB9fTwvZGl2PlxuICAgICAgICA8L3RoPlxuICAgICAgfVxuICAgICAgQGZvciAod2Vla0RheSBvZiB3ZWVrRGF5czsgdHJhY2sgd2Vla0RheS5kYXRlOyBsZXQgaSA9ICRpbmRleCkge1xuICAgICAgICA8dGggY2xhc3M9XCJjYWxlbmRhci1jZWxsXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhbGVuZGFyLWhlYWRlci1jZWxsLWlubmVyXCI+XG4gICAgICAgICAgICB7eyB3ZWVrRGF5LmRhdGUgfCBjYWxlbmRhcldlZWtkYXk6d2Vla2RheUZvcm1hdDpsb2NhbGUgfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC90aD5cbiAgICAgIH1cbiAgICA8L3RyPlxuICAgIDwvdGhlYWQ+XG4gIH1cbiAgPHRib2R5IChtb3VzZWxlYXZlKT1cImhhbmRsZUNlbGxNb3VzZUxlYXZlKClcIj5cbiAgICBAc3dpdGNoICh2aWV3KSB7XG4gICAgICBAY2FzZSAoJ3llYXJzJykge1xuICAgICAgICBAZm9yICh5ZWFyc1JvdyBvZiBsaXN0T2ZZZWFycygpOyB0cmFjayB5ZWFyc1JvdzsgbGV0IHJvd0lkeCA9ICRpbmRleCkge1xuICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgIEBmb3IgKHllYXIgb2YgeWVhcnNSb3c7IHRyYWNrIHllYXI7IGxldCBpZHggPSAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgPHRkXG4gICAgICAgICAgICAgICAgI2NhbGVuZGFyWWVhcj1cImNDYWxlbmRhckRheVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIiFjYWxlbmRhclllYXIuZGlzYWJsZWQkKCkgJiYgaGFuZGxlWWVhckNlbGxDbGljayh5ZWFyKVwiXG4gICAgICAgICAgICAgICAgKGtleWRvd24pPVwiY2FsZW5kYXJZZWFyLmRhdGUgJiYgaGFuZGxlRGF5Q2VsbEtleURvd24oJGV2ZW50LCBjYWxlbmRhclllYXIuZGF0ZSlcIlxuICAgICAgICAgICAgICAgIChrZXl1cCk9XCJoYW5kbGVZZWFyQ2VsbEtleVVwKCRldmVudCwgY2FsZW5kYXJZZWFyLmRhdGUpXCJcbiAgICAgICAgICAgICAgICAobW91c2VlbnRlcik9XCJjYWxlbmRhclllYXIuZGF0ZSAmJiBoYW5kbGVDZWxsTW91c2VFbnRlcihjYWxlbmRhclllYXIuZGF0ZSlcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiY2FsZW5kYXJZZWFyLmRhdGUuZ2V0RnVsbFllYXIoKVwiXG4gICAgICAgICAgICAgICAgW2RhdGVdPVwiZ2V0WWVhclN0YXJ0KHllYXIpXCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ5ZWFyIHwgY2FsZW5kYXJDbGFzc1llYXJcIlxuICAgICAgICAgICAgICAgIFt0YWJpbmRleF09XCJjYWxlbmRhclllYXIuZGlzYWJsZWQkKCkgPyAtMSA6IDBcIlxuICAgICAgICAgICAgICAgIGNDYWxlbmRhckRheVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhbGVuZGFyLWNlbGwtaW5uZXJcIj5cbiAgICAgICAgICAgICAgICAgIHt7IHllYXJOdW1iZXIoeWVhcikgfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L3RyPlxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAY2FzZSAoJ21vbnRocycpIHtcbiAgICAgICAgQGZvciAobW9udGhzUm93IG9mIGxpc3RPZk1vbnRocygpOyB0cmFjayBtb250aHNSb3c7IGxldCByb3dJZHggPSAkaW5kZXgpIHtcbiAgICAgICAgICA8dHI+XG4gICAgICAgICAgICBAZm9yIChtb250aCBvZiBtb250aHNSb3c7IHRyYWNrIG1vbnRoOyBsZXQgaWR4ID0gJGluZGV4KSB7XG4gICAgICAgICAgICAgIDx0ZFxuICAgICAgICAgICAgICAgICNjYWxlbmRhck1vbnRoPVwiY0NhbGVuZGFyRGF5XCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiIWNhbGVuZGFyTW9udGguZGlzYWJsZWQkKCkgJiYgaGFuZGxlTW9udGhDZWxsQ2xpY2soY2FsZW5kYXJNb250aC5kYXRlKVwiXG4gICAgICAgICAgICAgICAgKGtleWRvd24pPVwiY2FsZW5kYXJNb250aC5kYXRlICYmIGhhbmRsZURheUNlbGxLZXlEb3duKCRldmVudCwgY2FsZW5kYXJNb250aC5kYXRlKVwiXG4gICAgICAgICAgICAgICAgKGtleXVwKT1cImhhbmRsZU1vbnRoQ2VsbEtleVVwKCRldmVudCwgY2FsZW5kYXJNb250aC5kYXRlKVwiXG4gICAgICAgICAgICAgICAgKG1vdXNlZW50ZXIpPVwiY2FsZW5kYXJNb250aC5kYXRlICYmIGhhbmRsZUNlbGxNb3VzZUVudGVyKGNhbGVuZGFyTW9udGguZGF0ZSlcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiY2FsZW5kYXJNb250aC5kYXRlLmdldEZ1bGxZZWFyKCkrJyAnK21vbnRoLm1vbnRoXCJcbiAgICAgICAgICAgICAgICBbZGF0ZV09XCJnZXRNb250aFN0YXJ0KHJvd0lkeCozK2lkeClcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImNhbGVuZGFyRGF0ZSB8IGNhbGVuZGFyQ2xhc3NNb250aDoocm93SWR4KjMraWR4KVwiXG4gICAgICAgICAgICAgICAgW3RhYmluZGV4XT1cImNhbGVuZGFyTW9udGguZGlzYWJsZWQkKCkgPyAtMSA6IDBcIlxuICAgICAgICAgICAgICAgIGNDYWxlbmRhckRheVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhbGVuZGFyLWNlbGwtaW5uZXJcIj5cbiAgICAgICAgICAgICAgICAgIHt7IG1vbnRoLm1vbnRoIH19XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgICBAZGVmYXVsdCB7XG4gICAgICAgIEBmb3IgKHdlZWsgb2YgbW9udGhEZXRhaWxzOyB0cmFjayB3ZWVrOyBsZXQgaSA9ICRpbmRleCkge1xuICAgICAgICAgIDx0ciAjY2FsZW5kYXJSb3c9XCJjQ2FsZW5kYXJSb3dcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0aW9uVHlwZSA9PT0gJ3dlZWsnICYmIChjYWxlbmRhclJvdy5jdXJyZW50KSAmJiBjYWxlbmRhclJvdy5kYXRlICYmIGhhbmRsZURheUNlbGxDbGljayhjYWxlbmRhclJvdy5kYXRlKVwiXG4gICAgICAgICAgICAgIChrZXlkb3duKT1cInNlbGVjdGlvblR5cGUgPT09ICd3ZWVrJyAmJiAoY2FsZW5kYXJSb3cuY3VycmVudCkgJiYgY2FsZW5kYXJSb3cuZGF0ZSAmJiBoYW5kbGVEYXlDZWxsS2V5RG93bigkZXZlbnQsIGNhbGVuZGFyUm93LmRhdGUpXCJcbiAgICAgICAgICAgICAgKGtleXVwKT1cInNlbGVjdGlvblR5cGUgPT09ICd3ZWVrJyAmJiAoY2FsZW5kYXJSb3cuY3VycmVudCkgJiYgY2FsZW5kYXJSb3cuZGF0ZSAmJiBoYW5kbGVEYXlDZWxsS2V5VXAoJGV2ZW50LCBjYWxlbmRhclJvdy5kYXRlKVwiXG4gICAgICAgICAgICAgIChtb3VzZWVudGVyKT1cInNlbGVjdGlvblR5cGUgPT09ICd3ZWVrJyAmJiBjYWxlbmRhclJvdy5kYXRlICYmIGhhbmRsZUNlbGxNb3VzZUVudGVyKGNhbGVuZGFyUm93LmRhdGUpXCJcbiAgICAgICAgICAgICAgW2NDYWxlbmRhclJvd109XCJ3ZWVrXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBAaWYgKHNob3dXZWVrTnVtYmVyKSB7XG4gICAgICAgICAgICAgIDx0aCBjbGFzcz1cImNhbGVuZGFyLWNlbGwtd2Vlay1udW1iZXJcIj5cbiAgICAgICAgICAgICAgICB7eyB3ZWVrLndlZWtOdW1iZXIgPT09IDAgPyA1MyA6IHdlZWsud2Vla051bWJlciB9fVxuICAgICAgICAgICAgICA8L3RoPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGZvciAoZGF0ZU9iaiBvZiB3ZWVrLmRheXM7IHRyYWNrIGRhdGVPYmouZGF0ZTsgbGV0IGlkeCA9ICRpbmRleCkge1xuICAgICAgICAgICAgICBAaWYgKGRhdGVPYmoubW9udGggPT09ICdjdXJyZW50JyB8fCBzaG93QWRqYWNlbnREYXlzKSB7XG4gICAgICAgICAgICAgICAgPHRkICNjYWxlbmRhckNlbGw9XCJjQ2FsZW5kYXJEYXlcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0aW9uVHlwZSA9PT0gJ2RheScgJiYgKGRhdGVPYmoubW9udGggPT09ICdjdXJyZW50JyB8fCBzZWxlY3RBZGphY2VudERheXMpICYmIGhhbmRsZURheUNlbGxDbGljayhkYXRlT2JqLmRhdGUpXCJcbiAgICAgICAgICAgICAgICAgICAgKGtleWRvd24pPVwic2VsZWN0aW9uVHlwZSA9PT0gJ2RheScgJiYgKGRhdGVPYmoubW9udGggPT09ICdjdXJyZW50JyB8fCBzZWxlY3RBZGphY2VudERheXMpICYmIGhhbmRsZURheUNlbGxLZXlEb3duKCRldmVudCwgZGF0ZU9iai5kYXRlKVwiXG4gICAgICAgICAgICAgICAgICAgIChrZXl1cCk9XCJzZWxlY3Rpb25UeXBlID09PSAnZGF5JyAmJiAoZGF0ZU9iai5tb250aCA9PT0gJ2N1cnJlbnQnIHx8IHNlbGVjdEFkamFjZW50RGF5cykgJiYgaGFuZGxlRGF5Q2VsbEtleVVwKCRldmVudCwgZGF0ZU9iai5kYXRlKVwiXG4gICAgICAgICAgICAgICAgICAgIChtb3VzZWVudGVyKT1cInNlbGVjdGlvblR5cGUgPT09ICdkYXknICYmIChkYXRlT2JqLm1vbnRoID09PSAnY3VycmVudCcgfHwgc2VsZWN0QWRqYWNlbnREYXlzKSAmJiBoYW5kbGVDZWxsTW91c2VFbnRlcihkYXRlT2JqLmRhdGUpXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJkYXRlT2JqLmRhdGUgfCBjYWxlbmRhckRheVRpdGxlOmxvY2FsZVwiXG4gICAgICAgICAgICAgICAgICAgIFtkYXRlXT1cImRhdGVPYmouZGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIFttb250aF09XCJkYXRlT2JqLm1vbnRoXCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiZGF0ZU9iaiB8IGNhbGVuZGFyQ2xhc3NEYXk6e21pbkRhdGUsIG1heERhdGUsIGRpc2FibGVkRGF0ZXMsIGRhdGVGaWx0ZXJ9XCJcbiAgICAgICAgICAgICAgICAgICAgW3RhYmluZGV4XT1cInNlbGVjdGlvblR5cGUgPT09ICdkYXknICYmIChkYXRlT2JqLm1vbnRoID09PSAnY3VycmVudCcgfHwgc2VsZWN0QWRqYWNlbnREYXlzKSAmJiAhaXNEYXRlRGlzYWJsZWQoZGF0ZU9iai5kYXRlKSA/IDAgOiAtMVwiXG4gICAgICAgICAgICAgICAgICAgIGNDYWxlbmRhckRheVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYWxlbmRhci1jZWxsLWlubmVyXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IGRhdGVPYmouZGF0ZSB8IGNhbGVuZGFyRGF5OmRheUZvcm1hdDpsb2NhbGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImNhbGVuZGFyLWNlbGxcIj48L3RkPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfVxuXG4gIDwvdGJvZHk+XG48L3RhYmxlPlxuXG4iXX0=
|
|
501
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItbW9udGguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9jYWxlbmRhci9jYWxlbmRhci1tb250aC9jYWxlbmRhci1tb250aC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL2NhbGVuZGFyL2NhbGVuZGFyLW1vbnRoL2NhbGVuZGFyLW1vbnRoLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsU0FBUyxFQUNULFFBQVEsRUFDUixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxlQUFlLEVBR2YsTUFBTSxFQUNOLFlBQVksRUFFYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0QyxPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLG1CQUFtQixFQUNuQixlQUFlLEVBQ2YsY0FBYyxFQUNkLFFBQVEsRUFDUixtQkFBbUIsRUFDbkIsY0FBYyxFQUNkLHFCQUFxQixFQUNyQixPQUFPLEVBQ1IsTUFBTSxtQkFBbUIsQ0FBQztBQUczQixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxF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Qjt3QkFDcEIsb0JBQW9CO3dCQUNwQixzQkFBc0I7d0JBQ3RCLG9CQUFvQjt3QkFDcEIscUJBQXFCO3dCQUNyQixtQkFBbUI7d0JBQ25CLE9BQU87d0JBQ1AsU0FBUztxQkFDVjtvRkFZUSxTQUFTO3NCQUFqQixLQUFLO2dCQU9GLFNBQVM7c0JBRFosS0FBSztnQkFvQkYsT0FBTztzQkFEVixLQUFLO2dCQW9CRixhQUFhO3NCQURoQixLQUFLO2dCQXFCaUMsY0FBYztzQkFBcEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUU7Z0JBT2pDLE1BQU07c0JBRFQsS0FBSztnQkFpQmtDLEtBQUs7c0JBQTVDLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBTzdCLGFBQWE7c0JBQXJCLEtBQUs7Z0JBUUYsSUFBSTtzQkFEUCxLQUFLO2dCQWVGLE9BQU87c0JBRFYsS0FBSztnQkFlRixPQUFPO3NCQURWLEtBQUs7Z0JBcUJGLFlBQVk7c0JBRGYsS0FBSztnQkFnQjhCLFlBQVk7c0JBQS9DLFlBQVk7dUJBQUMsb0JBQW9CO2dCQUNFLFlBQVk7c0JBQS9DLFlBQVk7dUJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgRGVzdHJveVJlZixcbiAgaW5qZWN0LFxuICBJbnB1dCxcbiAgbnVtYmVyQXR0cmlidXRlLFxuICBPbkluaXQsXG4gIFF1ZXJ5TGlzdCxcbiAgc2lnbmFsLFxuICBWaWV3Q2hpbGRyZW4sXG4gIFdyaXRhYmxlU2lnbmFsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7XG4gIGNvbnZlcnRUb0RhdGVPYmplY3QsXG4gIGNyZWF0ZUdyb3Vwc0luQXJyYXksXG4gIGdldE1vbnRoRGV0YWlscyxcbiAgZ2V0TW9udGhzTmFtZXMsXG4gIGdldFllYXJzLFxuICBpc0RhdGVCZXR3ZWVuTWluTWF4LFxuICBpc0RhdGVEaXNhYmxlZCxcbiAgaXNEYXRlSW5SYW5nZURpc2FibGVkLFxuICB0cnlEYXRlXG59IGZyb20gJy4uL2NhbGVuZGFyLnV0aWxzJztcblxuaW1wb3J0IHsgQ2FsZW5kYXJTZXJ2aWNlLCBEYXRlRmlsdGVyVHlwZSwgRGF5Rm9ybWF0VHlwZSwgU2VsZWN0aW9uVHlwZSwgV2Vla2RheUZvcm1hdFR5cGUgfSBmcm9tICcuLi9jYWxlbmRhci5zZXJ2aWNlJztcbmltcG9ydCB7IENhbGVuZGFyV2Vla2RheVBpcGUgfSBmcm9tICcuL2NhbGVuZGFyLXdlZWtkYXkucGlwZSc7XG5pbXBvcnQgeyBDYWxlbmRhckNsYXNzWWVhclBpcGUgfSBmcm9tICcuL2NhbGVuZGFyLWNsYXNzLXllYXIucGlwZSc7XG5pbXBvcnQgeyBDYWxlbmRhckNsYXNzTW9udGhQaXBlIH0gZnJvbSAnLi9jYWxlbmRhci1jbGFzcy1tb250aC5waXBlJztcbmltcG9ydCB7IENhbGVuZGFyRGF5UGlwZSB9IGZyb20gJy4vY2FsZW5kYXItZGF5LnBpcGUnO1xuaW1wb3J0IHsgQ2FsZW5kYXJEYXlEaXJlY3RpdmUgfSBmcm9tICcuL2NhbGVuZGFyLWRheS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQ2FsZW5kYXJEYXlUaXRsZVBpcGUgfSBmcm9tICcuL2NhbGVuZGFyLWRheS10aXRsZS5waXBlJztcbmltcG9ydCB7IENhbGVuZGFyQ2xhc3NEYXlQaXBlIH0gZnJvbSAnLi9jYWxlbmRhci1jbGFzcy1kYXkucGlwZSc7XG5pbXBvcnQgeyBDYWxlbmRhckNsYXNzUm93UGlwZSB9IGZyb20gJy4vY2FsZW5kYXItY2xhc3Mtcm93LnBpcGUnO1xuaW1wb3J0IHsgQ2FsZW5kYXJSb3dEaXJlY3RpdmUgfSBmcm9tICcuL2NhbGVuZGFyLXJvdy5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjLWNhbGVuZGFyLW1vbnRoJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhbGVuZGFyLW1vbnRoLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2FsZW5kYXItbW9udGguY29tcG9uZW50LnNjc3MnXSxcbiAgZXhwb3J0QXM6ICdjQ2FsZW5kYXJNb250aCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDYWxlbmRhckRheURpcmVjdGl2ZSxcbiAgICBDYWxlbmRhckRheVBpcGUsXG4gICAgQ2FsZW5kYXJEYXlUaXRsZVBpcGUsXG4gICAgQ2FsZW5kYXJSb3dEaXJlY3RpdmUsXG4gICAgQ2FsZW5kYXJDbGFzc0RheVBpcGUsXG4gICAgQ2FsZW5kYXJDbGFzc01vbnRoUGlwZSxcbiAgICBDYWxlbmRhckNsYXNzUm93UGlwZSxcbiAgICBDYWxlbmRhckNsYXNzWWVhclBpcGUsXG4gICAgQ2FsZW5kYXJXZWVrZGF5UGlwZSxcbiAgICBOZ0NsYXNzLFxuICAgIEFzeW5jUGlwZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIENhbGVuZGFyTW9udGhDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gICNkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2FsZW5kYXJTZXJ2aWNlOiBDYWxlbmRhclNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5jYWxlbmRhclN0YXRlU3Vic2NyaWJlKCk7XG4gIH1cblxuICBASW5wdXQoKSBhZGRNb250aHM6IG51bWJlciA9IDA7XG5cbiAgLyoqXG4gICAqIEluaXRpYWwgc2VsZWN0ZWQgZGF0ZS5cbiAgICogQHR5cGUgIChEYXRlIHwgbnVsbClcbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBzdGFydERhdGUodmFsdWU6IERhdGUgfCBudW1iZXIgfCBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgY29uc3QgZGF0ZSA9ICEhdmFsdWUgPyB0cnlEYXRlKHZhbHVlLCAnc3RhcnREYXRlJykgOiBudWxsO1xuICAgIGlmICh0aGlzLl9zdGFydERhdGU/LmdldFRpbWUoKSAhPT0gZGF0ZT8uZ2V0VGltZSgpKSB7XG4gICAgICB0aGlzLl9zdGFydERhdGUgPSBkYXRlO1xuICAgICAgdGhpcy5jYWxlbmRhclNlcnZpY2UudXBkYXRlKHsgc3RhcnREYXRlOiB0aGlzLl9zdGFydERhdGUgfSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHN0YXJ0RGF0ZSgpOiBEYXRlIHwgbnVsbCB7XG4gICAgcmV0dXJuIDxEYXRlIHwgbnVsbD50aGlzLl9zdGFydERhdGU7XG4gIH1cblxuICBfc3RhcnREYXRlOiBEYXRlIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIEluaXRpYWwgc2VsZWN0ZWQgdG8gZGF0ZSAocmFuZ2UpLlxuICAgKiBAdHlwZSAgRGF0ZSB8IG51bGxcbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBlbmREYXRlKHZhbHVlOiBEYXRlIHwgbnVtYmVyIHwgc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IGRhdGUgPSAhIXZhbHVlID8gdHJ5RGF0ZSh2YWx1ZSwgJ2VuZERhdGUnKSA6IG51bGw7XG4gICAgaWYgKHRoaXMuX2VuZERhdGU/LmdldFRpbWUoKSAhPT0gZGF0ZT8uZ2V0VGltZSgpKSB7XG4gICAgICB0aGlzLl9lbmREYXRlID0gZGF0ZTtcbiAgICAgIHRoaXMuY2FsZW5kYXJTZXJ2aWNlLnVwZGF0ZSh7IGVuZERhdGU6IHRoaXMuX2VuZERhdGUgfSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGVuZERhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2VuZERhdGU7XG4gIH1cblxuICBfZW5kRGF0ZTogKERhdGUgfCBudWxsKSA9IG51bGw7XG5cbiAgLyoqXG4gICAqIFNwZWNpZnkgdGhlIGxpc3Qgb2YgZGF0ZXMgdGhhdCBjYW5ub3QgYmUgc2VsZWN0ZWQuXG4gICAqIEB0eXBlICBEYXRlW10gfCBEYXRlW11bXVxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IGRpc2FibGVkRGF0ZXModmFsdWU6IERhdGVbXSB8IERhdGVbXVtdKSB7XG4gICAgdGhpcy5fZGlzYWJsZWREYXRlcyA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IGRpc2FibGVkRGF0ZXMoKTogRGF0ZVtdIHwgRGF0ZVtdW10ge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZERhdGVzO1xuICB9XG5cbiAgcHJpdmF0ZSBfZGlzYWJsZWREYXRlczogKERhdGVbXSB8IERhdGVbXVtdKSA9IFtdO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBkYXkgb2Ygc3RhcnQgd2Vlay5cbiAgICogLSAwIC0gU3VuZGF5LFxuICAgKiAtIDEgLSBNb25kYXksXG4gICAqIC0gMiAtIFR1ZXNkYXksXG4gICAqIC0gMyAtIFdlZG5lc2RheSxcbiAgICogLSA0IC0gVGh1cnNkYXksXG4gICAqIC0gNSAtIEZyaWRheSxcbiAgICogLSA2IC0gU2F0dXJkYXksXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KSBmaXJzdERheU9mV2VlazogbnVtYmVyID0gMTtcblxuICAvKipcbiAgICogU2V0cyB0aGUgZGVmYXVsdCBsb2NhbGUgZm9yIGNvbXBvbmVudHMuIElmIG5vdCBzZXQsIGl0IGlzIGluaGVyaXRlZCBmcm9tIHRoZSBicm93c2VyLlxuICAgKiBAZGVmYXVsdCAnZGVmYXVsdCdcbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBsb2NhbGUodmFsdWUpIHtcbiAgICB0aGlzLiNsb2NhbGUuc2V0KHZhbHVlKTtcbiAgICAvLyB0aGlzLmxpc3RPZk1vbnRocyA9IGNyZWF0ZUdyb3Vwc0luQXJyYXkoZ2V0TW9udGhzTmFtZXModmFsdWUpLCA0KTtcbiAgfVxuXG4gIGdldCBsb2NhbGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuI2xvY2FsZSgpO1xuICB9XG5cbiAgI2xvY2FsZSA9IHNpZ25hbCgnZGVmYXVsdCcpO1xuXG4gIC8qKlxuICAgKiBBbGxvdyByYW5nZSBzZWxlY3Rpb24uXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSByYW5nZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBTZXQgbGVuZ3RoIG9yIGZvcm1hdCBvZiBkYXkgbmFtZS5cbiAgICogQHR5cGUgbnVtYmVyIHwgJ2xvbmcnIHwgJ25hcnJvdycgfCAnc2hvcnQnXG4gICAqIEBkZWZhdWx0ICdzaG9ydCdcbiAgICovXG4gIEBJbnB1dCgpIHdlZWtkYXlGb3JtYXQ6IFdlZWtkYXlGb3JtYXRUeXBlID0gJ3Nob3J0JztcblxuICAvKipcbiAgICogU2V0IGNhbGVuZGFyIHZpZXcuXG4gICAqIEB0eXBlICdkYXlzJyB8ICdtb250aHMnIHwgJ3llYXJzJ1xuICAgKiBAZGVmYXVsdCAnZGF5cydcbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCB2aWV3KHZhbHVlKSB7XG4gICAgdGhpcy4jdmlldy5zZXQodmFsdWUpO1xuICB9XG5cbiAgZ2V0IHZpZXcoKSB7XG4gICAgcmV0dXJuIHRoaXMuI3ZpZXcoKTtcbiAgfVxuXG4gICN2aWV3ID0gc2lnbmFsPCdkYXlzJyB8ICdtb250aHMnIHwgJ3llYXJzJz4oJ2RheXMnKTtcblxuICAvKipcbiAgICogTWF4IHNlbGVjdGFibGUgZGF0ZS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBtYXhEYXRlKHZhbHVlOiBEYXRlIHwgbnVsbCkge1xuICAgIHRoaXMuX21heERhdGUgPSB2YWx1ZSA/IHRyeURhdGUodmFsdWUsICdtYXhEYXRlJykgOiBudWxsO1xuICB9XG5cbiAgZ2V0IG1heERhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX21heERhdGU7XG4gIH1cblxuICBwcml2YXRlIF9tYXhEYXRlOiBEYXRlIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIE1pbiBzZWxlY3RhYmxlIGRhdGUuXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgbWluRGF0ZSh2YWx1ZTogRGF0ZSB8IG51bGwpIHtcbiAgICB0aGlzLl9taW5EYXRlID0gdmFsdWUgPyB0cnlEYXRlKHZhbHVlLCAnbWluRGF0ZScpIDogbnVsbDtcbiAgfVxuXG4gIGdldCBtaW5EYXRlKCkge1xuICAgIHJldHVybiB0aGlzLl9taW5EYXRlO1xuICB9XG5cbiAgcHJpdmF0ZSBfbWluRGF0ZTogRGF0ZSB8IG51bGwgPSBudWxsO1xuXG4gIGxpc3RPZk1vbnRocyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICByZXR1cm4gY3JlYXRlR3JvdXBzSW5BcnJheShnZXRNb250aHNOYW1lcyh0aGlzLiNsb2NhbGUoKSwgdGhpcy5jYWxlbmRhckRhdGUkJCgpLmdldEZ1bGxZZWFyKCkpLCA0KTtcbiAgfSk7XG4gIGxpc3RPZlllYXJzID0gY29tcHV0ZWQoKCkgPT4gY3JlYXRlR3JvdXBzSW5BcnJheShnZXRZZWFycyh0aGlzLmNhbGVuZGFyRGF0ZSQkKCkuZ2V0RnVsbFllYXIoKSksIDQpKTtcblxuICAvKipcbiAgICogRGVmYXVsdCBkYXRlIG9mIHRoZSBjb21wb25lbnRcbiAgICogQHR5cGUgRGF0ZVxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IGNhbGVuZGFyRGF0ZSh2YWx1ZTogKERhdGUgfCBzdHJpbmcgfCBudW1iZXIpKSB7XG4gICAgY29uc3QgX3ZhbHVlID0gbmV3IERhdGUodHJ5RGF0ZSgodmFsdWUgPz8gdGhpcy5zdGFydERhdGUpLCAnY2FsZW5kYXJEYXRlJykpO1xuICAgIGlmICghIV92YWx1ZSAmJiB0aGlzLmNhbGVuZGFyRGF0ZSQkKCkuZ2V0VGltZSgpICE9PSBfdmFsdWUuZ2V0VGltZSgpKSB7XG4gICAgICB0aGlzLmNhbGVuZGFyRGF0ZSQkLnNldChuZXcgRGF0ZShuZXcgRGF0ZShfdmFsdWUuc2V0RGF0ZSgxKSkuc2V0SG91cnMoMCwgMCwgMCwgMCkpKTtcbiAgICAgIHRoaXMuc2V0TW9udGhEZXRhaWxzKHRoaXMuZGF0ZSk7XG4gICAgICB0aGlzLmNhbGVuZGFyU2VydmljZS51cGRhdGUoeyBjYWxlbmRhckRhdGU6IHRoaXMuY2FsZW5kYXJEYXRlJCQoKSB9KTtcbiAgICB9XG4gIH1cblxuICBnZXQgY2FsZW5kYXJEYXRlKCk6IERhdGUge1xuICAgIHJldHVybiA8RGF0ZT50aGlzLmNhbGVuZGFyRGF0ZSQkKCkgYXMgRGF0ZTtcbiAgfVxuXG4gIGNhbGVuZGFyRGF0ZSQkID0gc2lnbmFsPERhdGU+KG5ldyBEYXRlKCkpO1xuXG4gIEBWaWV3Q2hpbGRyZW4oQ2FsZW5kYXJEYXlEaXJlY3RpdmUpIGNhbGVuZGFyRGF5cyE6IFF1ZXJ5TGlzdDxDYWxlbmRhckRheURpcmVjdGl2ZT47XG4gIEBWaWV3Q2hpbGRyZW4oQ2FsZW5kYXJSb3dEaXJlY3RpdmUpIGNhbGVuZGFyUm93cyE6IFF1ZXJ5TGlzdDxDYWxlbmRhclJvd0RpcmVjdGl2ZT47XG5cbiAgZGF0ZUZpbHRlciE6IERhdGVGaWx0ZXJUeXBlO1xuXG4gIGdldCBkYXRlKCkge1xuICAgIHJldHVybiBuZXcgRGF0ZSh0aGlzLmNhbGVuZGFyRGF0ZT8uZ2V0RnVsbFllYXIoKSwgdGhpcy5jYWxlbmRhckRhdGU/LmdldE1vbnRoKCkgKyB0aGlzLmFkZE1vbnRocyk7XG4gIH1cblxuICBkYXlGb3JtYXQhOiBEYXlGb3JtYXRUeXBlO1xuICBzZWxlY3RBZGphY2VudERheXMhOiBib29sZWFuO1xuICBzaG93QWRqYWNlbnREYXlzITogYm9vbGVhbjtcblxuICBzZXQgc2VsZWN0aW9uVHlwZSh2YWx1ZTogU2VsZWN0aW9uVHlwZSkge1xuICAgIHRoaXMuI3NlbGVjdGlvblR5cGUuc2V0KHZhbHVlKTtcbiAgfVxuXG4gIGdldCBzZWxlY3Rpb25UeXBlKCkge1xuICAgIHJldHVybiB0aGlzLiNzZWxlY3Rpb25UeXBlKCk7XG4gIH1cblxuICAjc2VsZWN0aW9uVHlwZTogV3JpdGFibGVTaWduYWw8U2VsZWN0aW9uVHlwZT4gPSBzaWduYWwoJ21vbnRoJyk7XG5cbiAgc2hvd1dlZWtOdW1iZXI6IGJvb2xlYW4gPSB0cnVlO1xuICAvLyBzZXQgc2hvd1dlZWtOdW1iZXIodmFsdWU6IGJvb2xlYW4pIHtcbiAgLy8gICB0aGlzLiNzaG93V2Vla051bWJlciQkLnNldCh2YWx1ZSk7XG4gIC8vIH1cbiAgLy9cbiAgLy8gZ2V0IHNob3dXZWVrTnVtYmVyKCkge1xuICAvLyAgIHJldHVybiB0aGlzLiNzaG93V2Vla051bWJlciQkKCk7XG4gIC8vIH1cbiAgLy9cbiAgLy8gI3Nob3dXZWVrTnVtYmVyJCQ6IFdyaXRhYmxlU2lnbmFsPGJvb2xlYW4+ID0gc2lnbmFsKGZhbHNlKTtcbiAgLy8gc2hvd1dlZWtOdW1iZXIkJCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuI3NlbGVjdGlvblR5cGUoKSA9PT0gJ3dlZWsnIHx8IHRoaXMuI3Nob3dXZWVrTnVtYmVyJCQoKSk7XG5cbiAgd2Vla051bWJlcnNMYWJlbCE6IHN0cmluZztcblxuICBwcml2YXRlIF9tb250aERldGFpbHMhOiB7IHdlZWtOdW1iZXI6IG51bWJlcjsgZGF5czogeyBkYXRlOiBEYXRlOyBtb250aDogc3RyaW5nOyB9W107IH1bXTtcblxuICBnZXQgbW9udGhEZXRhaWxzKCkge1xuICAgIHJldHVybiB0aGlzLl9tb250aERldGFpbHM7XG4gIH1cblxuICBnZXQgd2Vla0RheXMoKSB7XG4gICAgcmV0dXJuIHRoaXMubW9udGhEZXRhaWxzWzBdLmRheXM7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldE1vbnRoRGV0YWlscyh0aGlzLmRhdGUpO1xuICB9XG5cbiAgc2V0TW9udGhEZXRhaWxzKGRhdGU6IERhdGUgPSB0aGlzLmRhdGUpIHtcbiAgICB0aGlzLl9tb250aERldGFpbHMgPSBnZXRNb250aERldGFpbHMoXG4gICAgICBkYXRlLmdldEZ1bGxZZWFyKCksXG4gICAgICBkYXRlLmdldE1vbnRoKCksXG4gICAgICB0aGlzLmZpcnN0RGF5T2ZXZWVrXG4gICAgKTtcbiAgfVxuXG4gIHllYXJOdW1iZXIoeWVhcjogYW55KSB7XG4gICAgcmV0dXJuIG5ldyBEYXRlKHllYXIsIDApLnRvTG9jYWxlRGF0ZVN0cmluZyh0aGlzLmxvY2FsZSwgeyB5ZWFyOiAnbnVtZXJpYycgfSk7XG4gIH1cblxuICBpc0RhdGVEaXNhYmxlZChkYXRlOiBEYXRlKSB7XG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uVHlwZSA9PT0gJ3llYXInKSB7XG4gICAgICBjb25zdCBtaW5EYXRlID0gdGhpcy5taW5EYXRlID8gbmV3IERhdGUodGhpcy5taW5EYXRlLmdldEZ1bGxZZWFyKCksIDAsIDEsIDAsIDAsIDAsIDApIDogbnVsbDtcbiAgICAgIGNvbnN0IG1heERhdGUgPSB0aGlzLm1heERhdGUgPyBuZXcgRGF0ZSh0aGlzLm1heERhdGUuZ2V0RnVsbFllYXIoKSwgMTEsIDMxLCAwLCAwLCAwLCAwKSA6IG51bGw7XG4gICAgICByZXR1cm4gaXNEYXRlRGlzYWJsZWQoZGF0ZSwgbWluRGF0ZSwgbWF4RGF0ZSwgdGhpcy5kaXNhYmxlZERhdGVzKSB8fCAodGhpcy5kYXRlRmlsdGVyID8gIXRoaXMuZGF0ZUZpbHRlcihkYXRlKSA6IGZhbHNlKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uVHlwZSA9PT0gJ21vbnRoJykge1xuICAgICAgY29uc3QgbWluRGF0ZSA9IHRoaXMubWluRGF0ZSA/IG5ldyBEYXRlKHRoaXMubWluRGF0ZS5nZXRGdWxsWWVhcigpLCB0aGlzLm1pbkRhdGUuZ2V0TW9udGgoKSwgMSwgMCwgMCwgMCwgMCkgOiBudWxsO1xuICAgICAgY29uc3QgbWF4RGF0ZSA9IHRoaXMubWF4RGF0ZSA/IG5ldyBEYXRlKHRoaXMubWF4RGF0ZS5nZXRGdWxsWWVhcigpLCB0aGlzLm1heERhdGUuZ2V0TW9udGgoKSArIDEsIDEsIDAsIDAsIC0xLCAwKSA6IG51bGw7XG4gICAgICByZXR1cm4gaXNEYXRlRGlzYWJsZWQoZGF0ZSwgbWluRGF0ZSwgbWF4RGF0ZSwgdGhpcy5kaXNhYmxlZERhdGVzKSB8fCAodGhpcy5kYXRlRmlsdGVyID8gIXRoaXMuZGF0ZUZpbHRlcihkYXRlKSA6IGZhbHNlKTtcbiAgICB9XG4gICAgcmV0dXJuIGlzRGF0ZURpc2FibGVkKGRhdGUsIHRoaXMubWluRGF0ZSwgdGhpcy5tYXhEYXRlLCB0aGlzLmRpc2FibGVkRGF0ZXMpIHx8ICh0aGlzLmRhdGVGaWx0ZXIgPyAhdGhpcy5kYXRlRmlsdGVyKGRhdGUpIDogZmFsc2UpO1xuICB9XG5cbiAgY2FsZW5kYXJDZWxsVGl0bGUoZGF0ZTogRGF0ZSkge1xuICAgIHJldHVybiBkYXRlLnRvTG9jYWxlRGF0ZVN0cmluZyh0aGlzLmxvY2FsZSk7XG4gIH1cblxuICBoYW5kbGVDZWxsTW91c2VFbnRlcihob3ZlckRhdGU6IERhdGUpIHtcbiAgICBjb25zdCB1cGRhdGVIb3ZlclZhbHVlID0gKFsnZGF5JywgJ3dlZWsnXS5pbmNsdWRlcyh0aGlzLnNlbGVjdGlvblR5cGUpICYmIHRoaXMudmlldyA9PT0gJ2RheXMnKSB8fFxuICAgICAgWydtb250aCddLmluY2x1ZGVzKHRoaXMuc2VsZWN0aW9uVHlwZSkgJiYgdGhpcy52aWV3ID09PSAnbW9udGhzJyB8fFxuICAgICAgWyd5ZWFyJ10uaW5jbHVkZXModGhpcy5zZWxlY3Rpb25UeXBlKSAmJiB0aGlzLnZpZXcgPT09ICd5ZWFycyc7XG5cbiAgICAvLyBpZiAodXBkYXRlSG92ZXJWYWx1ZSkge1xuICAgIGNvbnN0IGhvdmVyVmFsdWUgPSB0aGlzLmlzRGF0ZURpc2FibGVkKGhvdmVyRGF0ZSkgfHwgIXVwZGF0ZUhvdmVyVmFsdWUgPyBudWxsIDogaG92ZXJEYXRlO1xuICAgIHRoaXMuY2FsZW5kYXJTZXJ2aWNlLnVwZGF0ZSh7IGhvdmVyRGF0ZTogaG92ZXJWYWx1ZSB9KTtcbiAgICAvLyB9XG4gIH1cblxuICBoYW5kbGVZZWFyQ2VsbENsaWNrKHllYXI6IG51bWJlcikge1xuICAgIGlmICh0aGlzLnNlbGVjdGlvblR5cGUgPT09ICd5ZWFyJykge1xuICAgICAgbGV0IGRhdGUgPSBuZXcgRGF0ZSh5ZWFyLCAwLCAxLCAwLCAwLCAwLCAwKTtcbiAgICAgIGlmICh0aGlzLnJhbmdlICYmIHRoaXMuc3RhcnREYXRlICYmICF0aGlzLmVuZERhdGUpIHtcbiAgICAgICAgZGF0ZSA9IG5ldyBEYXRlKGRhdGUuZ2V0RnVsbFllYXIoKSwgMTIsIDEsIDAsIDAsIC0xLCAwKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuaGFuZGxlRGF5Q2VsbENsaWNrKGRhdGUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBjYWxlbmRhckRhdGUgPSBuZXcgRGF0ZSh5ZWFyLCAwLCAxLCAwLCAwLCAwLCAwKTtcbiAgICB0aGlzLnZpZXcgPSAnbW9udGhzJztcbiAgICB0aGlzLmNhbGVuZGFyU2VydmljZS51cGRhdGUoeyB2aWV3OiB0aGlzLnZpZXcsIGNhbGVuZGFyRGF0ZTogY2FsZW5kYXJEYXRlIH0pO1xuXG4gIH1cblxuICBoYW5kbGVZZWFyQ2VsbEtleVVwKCRldmVudDogS2V5Ym9hcmRFdmVudCwgZGF0ZTogRGF0ZSkge1xuICAgIGlmIChbJ1NwYWNlJywgJ0VudGVyJ10uaW5jbHVkZXMoJGV2ZW50LmNvZGUpKSB7XG4gICAgICB0aGlzLmhhbmRsZVllYXJDZWxsQ2xpY2soZGF0ZS5nZXRGdWxsWWVhcigpKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKFsnVGFiJywgJ0Fycm93UmlnaHQnLCAnQXJyb3dMZWZ0JywgJ0Fycm93VXAnLCAnQXJyb3dEb3duJ10uaW5jbHVkZXMoJGV2ZW50LmNvZGUpKSB7XG4gICAgICB0aGlzLmhhbmRsZUNlbGxNb3VzZUVudGVyKG5ldyBEYXRlKGRhdGUpKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVNb250aENlbGxLZXlVcCgkZXZlbnQ6IEtleWJvYXJkRXZlbnQsIGRhdGU6IERhdGUpIHtcbiAgICBpZiAoWydTcGFjZScsICdFbnRlciddLmluY2x1ZGVzKCRldmVudC5jb2RlKSkge1xuICAgICAgdGhpcy5oYW5kbGVNb250aENlbGxDbGljayhkYXRlKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKFsnVGFiJywgJ0Fycm93UmlnaHQnLCAnQXJyb3dMZWZ0JywgJ0Fycm93VXAnLCAnQXJyb3dEb3duJ10uaW5jbHVkZXMoJGV2ZW50LmNvZGUpKSB7XG4gICAgICB0aGlzLmhhbmRsZUNlbGxNb3VzZUVudGVyKGRhdGUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZU1vbnRoQ2VsbENsaWNrKHZhbHVlOiBEYXRlKSB7XG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uVHlwZSA9PT0gJ21vbnRoJykge1xuICAgICAgbGV0IGRhdGUgPSBuZXcgRGF0ZSh2YWx1ZS5nZXRGdWxsWWVhcigpLCB2YWx1ZS5nZXRNb250aCgpLCAxLCAwLCAwLCAwLCAwKTtcbiAgICAgIGlmICh0aGlzLnJhbmdlICYmIHRoaXMuc3RhcnREYXRlICYmICF0aGlzLmVuZERhdGUpIHtcbiAgICAgICAgZGF0ZSA9IG5ldyBEYXRlKGRhdGUuZ2V0RnVsbFllYXIoKSwgZGF0ZS5nZXRNb250aCgpICsgMSwgMSwgMCwgMCwgLTEsIDApO1xuICAgICAgfVxuICAgICAgdGhpcy5oYW5kbGVEYXlDZWxsQ2xpY2soZGF0ZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zZXRDYWxlbmRhclBhZ2UoMCwgMCwgdmFsdWUuZ2V0TW9udGgoKSAtIHRoaXMuYWRkTW9udGhzKTtcbiAgICB0aGlzLnZpZXcgPSAnZGF5cyc7XG4gICAgdGhpcy5jYWxlbmRhclNlcnZpY2UudXBkYXRlKHsgdmlldzogdGhpcy52aWV3IH0pO1xuICB9XG5cbiAgc2V0Q2FsZW5kYXJQYWdlKHllYXJzOiBudW1iZXIsIG1vbnRocyA9IDAsIHNldE1vbnRoPzogbnVtYmVyKSB7XG4gICAgY29uc3QgeWVhciA9IHRoaXMuZGF0ZS5nZXRGdWxsWWVhcigpO1xuICAgIGNvbnN0IG1vbnRoID0gdGhpcy5kYXRlLmdldE1vbnRoKCk7XG4gICAgY29uc3QgZCA9IG5ldyBEYXRlKHllYXIsIG1vbnRoLCAxLCAwLCAwLCAwLCAwKTtcblxuICAgIHllYXJzICYmIGQuc2V0RnVsbFllYXIoZC5nZXRGdWxsWWVhcigpICsgeWVhcnMpO1xuICAgIG1vbnRocyAmJiBkLnNldE1vbnRoKGQuZ2V0TW9udGgoKSArIG1vbnRocyk7XG4gICAgdHlwZW9mIHNldE1vbnRoID09PSAnbnVtYmVyJyAmJiBkLnNldE1vbnRoKHNldE1vbnRoKTtcblxuICAgIHRoaXMuY2FsZW5kYXJTZXJ2aWNlLnVwZGF0ZSh7IGNhbGVuZGFyRGF0ZTogZCB9KTtcbiAgfVxuXG4gIGhhbmRsZURheUNlbGxLZXlEb3duKCRldmVudDogS2V5Ym9hcmRFdmVudCwgZGF0ZTogRGF0ZSkge1xuXG4gICAgaWYgKCFbJ1RhYicsICdBcnJvd1JpZ2h0JywgJ0Fycm93TGVmdCcsICdBcnJvd1VwJywgJ0Fycm93RG93biddLmluY2x1ZGVzKCRldmVudC5jb2RlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLmhhbmRsZUNlbGxNb3VzZUVudGVyKGRhdGUpO1xuXG4gICAgY29uc3QgZXZlbnRLZXkgPSAkZXZlbnQua2V5ID09PSAnVGFiJyA/ICgkZXZlbnQuc2hpZnRLZXkgPyAnQXJyb3dMZWZ0JyA6ICdBcnJvd1JpZ2h0JykgOiAkZXZlbnQua2V5O1xuXG4gICAgaWYgKHRoaXMubWF4RGF0ZSAmJiBkYXRlID49IGNvbnZlcnRUb0RhdGVPYmplY3QodGhpcy5tYXhEYXRlLCB0aGlzLnNlbGVjdGlvblR5cGUpICYmIChbJ0Fycm93UmlnaHQnLCAnQXJyb3dEb3duJ10uaW5jbHVkZXMoZXZlbnRLZXkpKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5taW5EYXRlICYmIGRhdGUgPD0gY29udmVydFRvRGF0ZU9iamVjdCh0aGlzLm1pbkRhdGUsIHRoaXMuc2VsZWN0aW9uVHlwZSkgJiYgKFsnQXJyb3dMZWZ0JywgJ0Fycm93VXAnXS5pbmNsdWRlcyhldmVudEtleSkpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IGVsZW1lbnQgPSAkZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuXG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uVHlwZSA9PT0gJ3dlZWsnICYmIHRoaXMudmlldyA9PT0gJ2RheXMnICYmIGVsZW1lbnQudGFiSW5kZXggPT09IC0xKSB7XG4gICAgICBlbGVtZW50ID0gZWxlbWVudC5jbG9zZXN0KCd0clt0YWJpbmRleD1cIjBcIl0nKSBhcyBIVE1MRWxlbWVudDtcbiAgICB9XG5cbiAgICBjb25zdCBlbGVtZW50cyA9IFsnd2VlayddLmluY2x1ZGVzKHRoaXMuc2VsZWN0aW9uVHlwZSkgJiYgdGhpcy52aWV3ID09PSAnZGF5cycgPyB0aGlzLmNhbGVuZGFyUm93cyA6IHRoaXMuY2FsZW5kYXJEYXlzO1xuXG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGNvbnN0IGxpc3QgPSBlbGVtZW50cy50b0FycmF5KClcbiAgICAgIC5tYXAoY2FsZW5kYXJDZWxsID0+IGNhbGVuZGFyQ2VsbC5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpXG4gICAgICAvLyAuZmlsdGVyKChlbGVtZW50KSA9PiB0aGlzLnNlbGVjdGlvblR5cGUgPT09ICd3ZWVrJyA/IGVsZW1lbnQ/LnRhYkluZGV4ID09PSAwIDogZWxlbWVudD8uY2xhc3NMaXN0LmNvbnRhaW5zKCdjdXJyZW50JykpXG4gICAgICAuZmlsdGVyKChlbGVtZW50KSA9PiBlbGVtZW50Py50YWJJbmRleCA9PT0gMCk7XG5cbiAgICBjb25zdCBpbmRleCA9IGxpc3QuaW5kZXhPZihlbGVtZW50KTtcbiAgICBjb25zdCBmaXJzdCA9IGluZGV4ID09PSAwO1xuICAgIGNvbnN0IGxhc3QgPSBpbmRleCA9PT0gbGlzdC5sZW5ndGggLSAxO1xuXG4gICAgY29uc3QgdG9Cb3VuZGFyeSA9IHtcbiAgICAgIHN0YXJ0OiBpbmRleCxcbiAgICAgIGVuZDogbGlzdC5sZW5ndGggLSAoaW5kZXggKyAxKVxuICAgIH07XG5cbiAgICBjb25zdCBnYXAgPSB7XG4gICAgICBBcnJvd1JpZ2h0OiAxLFxuICAgICAgQXJyb3dMZWZ0OiAtMSxcbiAgICAgIEFycm93VXA6IHRoaXMuc2VsZWN0aW9uVHlwZSA9PT0gJ3dlZWsnICYmIHRoaXMudmlldyA9PT0gJ2RheXMnID8gLTEgOiB0aGlzLnZpZXcgPT09ICdkYXlzJyA/IC03IDogLTMsXG4gICAgICBBcnJvd0Rvd246IHRoaXMuc2VsZWN0aW9uVHlwZSA9PT0gJ3dlZWsnICYmIHRoaXMudmlldyA9PT0gJ2RheXMnID8gMSA6IHRoaXMudmlldyA9PT0gJ2RheXMnID8gNyA6IDNcbiAgICB9O1xuXG4gICAgaWYgKFxuICAgICAgKGV2ZW50S2V5ID09PSAnQXJyb3dSaWdodCcgJiYgbGFzdCkgfHxcbiAgICAgIChldmVudEtleSA9PT0gJ0Fycm93RG93bicgJiYgdG9Cb3VuZGFyeS5lbmQgPCBnYXAuQXJyb3dEb3duKSB8fFxuICAgICAgKGV2ZW50S2V5ID09PSAnQXJyb3dMZWZ0JyAmJiBmaXJzdCkgfHxcbiAgICAgIChldmVudEtleSA9PT0gJ0Fycm93VXAnICYmIHRvQm91bmRhcnkuc3RhcnQgPCBNYXRoLmFicyhnYXAuQXJyb3dVcCkpXG4gICAgKSB7XG5cbiAgICAgIGVsZW1lbnRzLmNoYW5nZXMucGlwZShcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuI2Rlc3Ryb3lSZWYpXG4gICAgICApLnN1YnNjcmliZSgoY2hhbmdlOiBRdWVyeUxpc3Q8Q2FsZW5kYXJSb3dEaXJlY3RpdmUgfCBDYWxlbmRhckRheURpcmVjdGl2ZT4pID0+IHtcblxuICAgICAgICBjb25zdCBfbGlzdCA9IGNoYW5nZVxuICAgICAgICAgIC50b0FycmF5KClcbiAgICAgICAgICAvLyAuZmlsdGVyKGVsZW1lbnQgPT4gdGhpcy5zZWxlY3Rpb25UeXBlID09PSAnd2VlaycgPyBlbGVtZW50Py5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudGFiSW5kZXggPT09IDAgOiBlbGVtZW50Py5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdjdXJyZW50JykpO1xuICAgICAgICAgIC5maWx0ZXIoZWxlbWVudCA9PiBlbGVtZW50Py5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudGFiSW5kZXggPT09IDApO1xuXG4gICAgICAgIGlmIChfbGlzdC5sZW5ndGgpIHtcbiAgICAgICAgICBsZXQgZGF5VG9Gb2N1czogQ2FsZW5kYXJEYXlEaXJlY3RpdmUgfCBDYWxlbmRhclJvd0RpcmVjdGl2ZSB8IHVuZGVmaW5lZDtcbiAgICAgICAgICBzd2l0Y2ggKGV2ZW50S2V5KSB7XG4gICAgICAgICAgICBjYXNlICdBcnJvd1JpZ2h0Jzoge1xuICAgICAgICAgICAgICBkYXlUb0ZvY3VzID0gX2xpc3RbMF07XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnQXJyb3dMZWZ0Jzoge1xuICAgICAgICAgICAgICBkYXlUb0ZvY3VzID0gX2xpc3RbX2xpc3QubGVuZ3RoIC0gMV07XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnQXJyb3dEb3duJzoge1xuICAgICAgICAgICAgICBkYXlUb0ZvY3VzID0gX2xpc3RbZ2FwLkFycm93RG93biAtIChsaXN0Lmxlbmd0aCAtIGluZGV4KV07XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnQXJyb3dVcCc6IHtcbiAgICAgICAgICAgICAgZGF5VG9Gb2N1cyA9IF9saXN0W19saXN0Lmxlbmd0aCAtIChNYXRoLmFicyhnYXAuQXJyb3dVcCkgKyAxIC0gKGluZGV4ICsgMSkpXTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICghZGF5VG9Gb2N1cz8uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCdkYXlUb0ZvY3VzJywgZGF5VG9Gb2N1cz8uZGF0ZSk7XG4gICAgICAgICAgICBkYXlUb0ZvY3VzPy5mb2N1cygna2V5Ym9hcmQnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBpZiAodGhpcy52aWV3ID09PSAnZGF5cycpIHtcbiAgICAgICAgdGhpcy5zZXRDYWxlbmRhclBhZ2UoMCwgWydBcnJvd1JpZ2h0JywgJ0Fycm93RG93biddLmluY2x1ZGVzKGV2ZW50S2V5KSA/IDEgOiAtMSk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy52aWV3ID09PSAnbW9udGhzJykge1xuICAgICAgICB0aGlzLnNldENhbGVuZGFyUGFnZShbJ0Fycm93UmlnaHQnLCAnQXJyb3dEb3duJ10uaW5jbHVkZXMoZXZlbnRLZXkpID8gMSA6IC0xKTtcbiAgICAgICAgLy8gdGhpcy5jYWxlbmRhckRheXM/LnJlc2V0KHRoaXMuY2FsZW5kYXJEYXlzLnRvQXJyYXkoKSk7XG4gICAgICAgIC8vIHRoaXMuY2FsZW5kYXJEYXlzPy5ub3RpZnlPbkNoYW5nZXMoKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnZpZXcgPT09ICd5ZWFycycpIHtcbiAgICAgICAgdGhpcy5zZXRDYWxlbmRhclBhZ2UoWydBcnJvd1JpZ2h0JywgJ0Fycm93RG93biddLmluY2x1ZGVzKGV2ZW50S2V5KSA/IDEyIDogLTEyKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBjb25zdCBuZXh0RWxlbWVudCA9IGxpc3RbaW5kZXggKyBnYXBbZXZlbnRLZXldXTtcbiAgICBpZiAobmV4dEVsZW1lbnQ/LnRhYkluZGV4ID09PSAwKSB7XG4gICAgICBuZXh0RWxlbWVudC5mb2N1cygpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGZvciAobGV0IGkgPSBpbmRleDsgaSA8IGxpc3QubGVuZ3RoOyBsaXN0Lmxlbmd0aCAmJiBbJ0Fycm93UmlnaHQnLCAnQXJyb3dEb3duJ10uaW5jbHVkZXMoZXZlbnRLZXkpID8gaSsrIDogaS0tKSB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBjb25zdCBuZXh0RWxlbWVudCA9IGxpc3RbaSArIGdhcFtldmVudEtleV1dO1xuICAgICAgaWYgKG5leHRFbGVtZW50Py50YWJJbmRleCA9PT0gMCkge1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIG5leHRFbGVtZW50Py5mb2N1cygpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGlmICghbmV4dEVsZW1lbnQpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlQ2VsbE1vdXNlTGVhdmUoKSB7XG4gICAgdGhpcy5jYWxlbmRhclNlcnZpY2UudXBkYXRlKHsgaG92ZXJEYXRlOiBudWxsIH0pO1xuICB9XG5cbiAgaGFuZGxlRGF5Q2VsbEtleVVwKCRldmVudDogS2V5Ym9hcmRFdmVudCwgZGF0ZTogRGF0ZSkge1xuICAgIGlmIChbJ1NwYWNlJywgJ0VudGVyJ10uaW5jbHVkZXMoJGV2ZW50LmNvZGUpKSB7XG4gICAgICB0aGlzLmhhbmRsZURheUNlbGxDbGljayhkYXRlKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKFsnVGFiJywgJ0Fycm93UmlnaHQnLCAnQXJyb3dMZWZ0JywgJ0Fycm93VXAnLCAnQXJyb3dEb3duJ10uaW5jbHVkZXMoJGV2ZW50LmNvZGUpKSB7XG4gICAgICB0aGlzLmhhbmRsZUNlbGxNb3VzZUVudGVyKGRhdGUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZURheUNlbGxDbGljayhkYXRlOiBEYXRlKSB7XG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uVHlwZSA9PT0gJ2RheScgJiYgdGhpcy5pc0RhdGVEaXNhYmxlZChkYXRlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5yYW5nZSkge1xuICAgICAgdGhpcy5lbmREYXRlID0gbnVsbDtcbiAgICAgIHRoaXMuc3RhcnREYXRlID0gZGF0ZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zdGFydERhdGUgJiYgdGhpcy5lbmREYXRlKSB7XG4gICAgICB0aGlzLmNhbGVuZGFyRGF0ZSA9IG5ldyBEYXRlKGRhdGUuZ2V0RnVsbFllYXIoKSwgZGF0ZS5nZXRNb250aCgpLCAxLCAwLCAwLCAwLCAwKTtcbiAgICAgIHRoaXMuZW5kRGF0ZSA9IG51bGw7XG4gICAgICB0aGlzLnN0YXJ0RGF0ZSA9IG51bGw7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCEhdGhpcy5zdGFydERhdGUgJiYgIXRoaXMuZW5kRGF0ZSkge1xuICAgICAgaWYgKHRoaXMuc3RhcnREYXRlICYmIGRhdGUgPCB0aGlzLnN0YXJ0RGF0ZSkge1xuICAgICAgICB0aGlzLmVuZERhdGUgPSBudWxsO1xuICAgICAgICB0aGlzLnN0YXJ0RGF0ZSA9IGRhdGU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmVuZERhdGUgPSBkYXRlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmVuZERhdGUgPSBudWxsO1xuICAgICAgdGhpcy5zdGFydERhdGUgPSBkYXRlO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnN0YXJ0RGF0ZSAmJiB0aGlzLmVuZERhdGUpIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGlmIChpc0RhdGVJblJhbmdlRGlzYWJsZWQodGhpcy5zdGFydERhdGUsIHRoaXMuZW5kRGF0ZSwgdGhpcy5kaXNhYmxlZERhdGVzKSkge1xuICAgICAgICB0aGlzLnN0YXJ0RGF0ZSA9IG51bGw7XG4gICAgICAgIHRoaXMuZW5kRGF0ZSA9IG51bGw7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgLy8gbGV0IGRhdGUgPSBuZXcgRGF0ZSh0aGlzLnN0YXJ0RGF0ZSk7XG4gICAgICAvLyB3aGlsZSAoZGF0ZSA8IHRoaXMuZW5kRGF0ZSkge1xuICAgICAgLy8gICBkYXRlLnNldERhdGUoZGF0ZS5nZXREYXRlKCkgKyAxKTtcbiAgICAgIC8vICAgaWYgKHRoaXMuaXNEYXRlRGlzYWJsZWQoZGF0ZSkpIHtcbiAgICAgIC8vICAgICB0aGlzLnN0YXJ0RGF0ZSA9IG51bGw7XG4gICAgICAvLyAgICAgdGhpcy5lbmREYXRlID0gbnVsbDtcbiAgICAgIC8vICAgICBicmVhaztcbiAgICAgIC8vICAgfVxuICAgICAgLy8gfVxuICAgIH1cbiAgfVxuXG4gIGNhbGVuZGFyU3RhdGVTdWJzY3JpYmUoKTogdm9pZCB7XG4gICAgdGhpcy5jYWxlbmRhclNlcnZpY2UuY2FsZW5kYXJTdGF0ZSQucGlwZShcbiAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLiNkZXN0cm95UmVmKVxuICAgICkuc3Vic2NyaWJlKHN0YXRlID0+IHtcbiAgICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhzdGF0ZSk7XG5cbiAgICAgIGZvciAoY29uc3Qga2V5IG9mIGtleXMpIHtcbiAgICAgICAgLy8gaWYgKGtleSBpbiB0aGlzKSB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgdGhpc1trZXldID0gc3RhdGVba2V5XTtcbiAgICAgICAgLy8gfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgZ2V0TW9udGhTdGFydChpbmRleDogbnVtYmVyKSB7XG4gICAgcmV0dXJuIG5ldyBEYXRlKHRoaXMuY2FsZW5kYXJEYXRlLmdldEZ1bGxZZWFyKCksIGluZGV4LCAxLCAwLCAwLCAwLCAwKTtcbiAgfVxuXG4gIGdldE1vbnRoRW5kKGluZGV4OiBudW1iZXIpIHtcbiAgICByZXR1cm4gbmV3IERhdGUodGhpcy5jYWxlbmRhckRhdGUuZ2V0RnVsbFllYXIoKSwgaW5kZXggKyAxLCAxLCAwLCAwLCAtMSwgMCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNEYXRlSW5SYW5nZURpc2FibGVkID0gaXNEYXRlSW5SYW5nZURpc2FibGVkO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNEYXRlQmV0d2Vlbk1pbk1heCA9IGlzRGF0ZUJldHdlZW5NaW5NYXg7XG5cbiAgZ2V0WWVhclN0YXJ0KHllYXI6IG51bWJlcikge1xuICAgIHJldHVybiBuZXcgRGF0ZSh5ZWFyLCAwLCAxKTtcbiAgfVxuXG4gIGdldFllYXJFbmQoeWVhcjogbnVtYmVyKSB7XG4gICAgcmV0dXJuIG5ldyBEYXRlKHllYXIsIDExLCAxLCAwLCAwLCAtMSwgMCk7XG4gIH1cbn1cbiIsIjx0YWJsZT5cbiAgQGlmICh2aWV3ID09PSAnZGF5cycpIHtcbiAgICA8dGhlYWQ+XG4gICAgPHRyPlxuICAgICAgQGlmIChzaG93V2Vla051bWJlcikge1xuICAgICAgICA8dGggY2xhc3M9XCJjYWxlbmRhci1jZWxsXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhbGVuZGFyLWhlYWRlci1jZWxsLWlubmVyXCI+e3sgd2Vla051bWJlcnNMYWJlbCB9fTwvZGl2PlxuICAgICAgICA8L3RoPlxuICAgICAgfVxuICAgICAgQGZvciAod2Vla0RheSBvZiB3ZWVrRGF5czsgdHJhY2sgd2Vla0RheS5kYXRlOyBsZXQgaSA9ICRpbmRleCkge1xuICAgICAgICA8dGggY2xhc3M9XCJjYWxlbmRhci1jZWxsXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhbGVuZGFyLWhlYWRlci1jZWxsLWlubmVyXCI+XG4gICAgICAgICAgICB7eyB3ZWVrRGF5LmRhdGUgfCBjYWxlbmRhcldlZWtkYXk6d2Vla2RheUZvcm1hdDpsb2NhbGUgfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC90aD5cbiAgICAgIH1cbiAgICA8L3RyPlxuICAgIDwvdGhlYWQ+XG4gIH1cbiAgPHRib2R5IChtb3VzZWxlYXZlKT1cImhhbmRsZUNlbGxNb3VzZUxlYXZlKClcIj5cbiAgICBAc3dpdGNoICh2aWV3KSB7XG4gICAgICBAY2FzZSAoJ3llYXJzJykge1xuICAgICAgICBAZm9yICh5ZWFyc1JvdyBvZiBsaXN0T2ZZZWFycygpOyB0cmFjayB5ZWFyc1JvdzsgbGV0IHJvd0lkeCA9ICRpbmRleCkge1xuICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgIEBmb3IgKHllYXIgb2YgeWVhcnNSb3c7IHRyYWNrIHllYXI7IGxldCBpZHggPSAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgPHRkXG4gICAgICAgICAgICAgICAgI2NhbGVuZGFyWWVhcj1cImNDYWxlbmRhckRheVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIiFjYWxlbmRhclllYXIuZGlzYWJsZWQkKCkgJiYgaGFuZGxlWWVhckNlbGxDbGljayh5ZWFyKVwiXG4gICAgICAgICAgICAgICAgKGtleWRvd24pPVwiY2FsZW5kYXJZZWFyLmRhdGUgJiYgaGFuZGxlRGF5Q2VsbEtleURvd24oJGV2ZW50LCBjYWxlbmRhclllYXIuZGF0ZSlcIlxuICAgICAgICAgICAgICAgIChrZXl1cCk9XCJoYW5kbGVZZWFyQ2VsbEtleVVwKCRldmVudCwgY2FsZW5kYXJZZWFyLmRhdGUpXCJcbiAgICAgICAgICAgICAgICAobW91c2VlbnRlcik9XCJjYWxlbmRhclllYXIuZGF0ZSAmJiBoYW5kbGVDZWxsTW91c2VFbnRlcihjYWxlbmRhclllYXIuZGF0ZSlcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiY2FsZW5kYXJZZWFyLmRhdGUuZ2V0RnVsbFllYXIoKVwiXG4gICAgICAgICAgICAgICAgW2RhdGVdPVwiZ2V0WWVhclN0YXJ0KHllYXIpXCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ5ZWFyIHwgY2FsZW5kYXJDbGFzc1llYXJcIlxuICAgICAgICAgICAgICAgIFt0YWJpbmRleF09XCJjYWxlbmRhclllYXIuZGlzYWJsZWQkKCkgPyAtMSA6IDBcIlxuICAgICAgICAgICAgICAgIGNDYWxlbmRhckRheVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhbGVuZGFyLWNlbGwtaW5uZXJcIj5cbiAgICAgICAgICAgICAgICAgIHt7IHllYXJOdW1iZXIoeWVhcikgfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L3RyPlxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAY2FzZSAoJ21vbnRocycpIHtcbiAgICAgICAgQGZvciAobW9udGhzUm93IG9mIGxpc3RPZk1vbnRocygpOyB0cmFjayBtb250aHNSb3c7IGxldCByb3dJZHggPSAkaW5kZXgpIHtcbiAgICAgICAgICA8dHI+XG4gICAgICAgICAgICBAZm9yIChtb250aCBvZiBtb250aHNSb3c7IHRyYWNrIG1vbnRoOyBsZXQgaWR4ID0gJGluZGV4KSB7XG4gICAgICAgICAgICAgIDx0ZFxuICAgICAgICAgICAgICAgICNjYWxlbmRhck1vbnRoPVwiY0NhbGVuZGFyRGF5XCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiIWNhbGVuZGFyTW9udGguZGlzYWJsZWQkKCkgJiYgaGFuZGxlTW9udGhDZWxsQ2xpY2soY2FsZW5kYXJNb250aC5kYXRlKVwiXG4gICAgICAgICAgICAgICAgKGtleWRvd24pPVwiY2FsZW5kYXJNb250aC5kYXRlICYmIGhhbmRsZURheUNlbGxLZXlEb3duKCRldmVudCwgY2FsZW5kYXJNb250aC5kYXRlKVwiXG4gICAgICAgICAgICAgICAgKGtleXVwKT1cImhhbmRsZU1vbnRoQ2VsbEtleVVwKCRldmVudCwgY2FsZW5kYXJNb250aC5kYXRlKVwiXG4gICAgICAgICAgICAgICAgKG1vdXNlZW50ZXIpPVwiY2FsZW5kYXJNb250aC5kYXRlICYmIGhhbmRsZUNlbGxNb3VzZUVudGVyKGNhbGVuZGFyTW9udGguZGF0ZSlcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiY2FsZW5kYXJNb250aC5kYXRlLmdldEZ1bGxZZWFyKCkrJyAnK21vbnRoLm1vbnRoXCJcbiAgICAgICAgICAgICAgICBbZGF0ZV09XCJnZXRNb250aFN0YXJ0KHJvd0lkeCozK2lkeClcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImNhbGVuZGFyRGF0ZSB8IGNhbGVuZGFyQ2xhc3NNb250aDoocm93SWR4KjMraWR4KVwiXG4gICAgICAgICAgICAgICAgW3RhYmluZGV4XT1cImNhbGVuZGFyTW9udGguZGlzYWJsZWQkKCkgPyAtMSA6IDBcIlxuICAgICAgICAgICAgICAgIGNDYWxlbmRhckRheVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhbGVuZGFyLWNlbGwtaW5uZXJcIj5cbiAgICAgICAgICAgICAgICAgIHt7IG1vbnRoLm1vbnRoIH19XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgICBAZGVmYXVsdCB7XG4gICAgICAgIEBmb3IgKHdlZWsgb2YgbW9udGhEZXRhaWxzOyB0cmFjayB3ZWVrOyBsZXQgaSA9ICRpbmRleCkge1xuICAgICAgICAgIDx0ciAjY2FsZW5kYXJSb3c9XCJjQ2FsZW5kYXJSb3dcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0aW9uVHlwZSA9PT0gJ3dlZWsnICYmIChjYWxlbmRhclJvdy5jdXJyZW50KSAmJiBjYWxlbmRhclJvdy5kYXRlICYmIGhhbmRsZURheUNlbGxDbGljayhjYWxlbmRhclJvdy5kYXRlKVwiXG4gICAgICAgICAgICAgIChrZXlkb3duKT1cInNlbGVjdGlvblR5cGUgPT09ICd3ZWVrJyAmJiAoY2FsZW5kYXJSb3cuY3VycmVudCkgJiYgY2FsZW5kYXJSb3cuZGF0ZSAmJiBoYW5kbGVEYXlDZWxsS2V5RG93bigkZXZlbnQsIGNhbGVuZGFyUm93LmRhdGUpXCJcbiAgICAgICAgICAgICAgKGtleXVwKT1cInNlbGVjdGlvblR5cGUgPT09ICd3ZWVrJyAmJiAoY2FsZW5kYXJSb3cuY3VycmVudCkgJiYgY2FsZW5kYXJSb3cuZGF0ZSAmJiBoYW5kbGVEYXlDZWxsS2V5VXAoJGV2ZW50LCBjYWxlbmRhclJvdy5kYXRlKVwiXG4gICAgICAgICAgICAgIChtb3VzZWVudGVyKT1cInNlbGVjdGlvblR5cGUgPT09ICd3ZWVrJyAmJiBjYWxlbmRhclJvdy5kYXRlICYmIGhhbmRsZUNlbGxNb3VzZUVudGVyKGNhbGVuZGFyUm93LmRhdGUpXCJcbiAgICAgICAgICAgICAgW2NDYWxlbmRhclJvd109XCJ3ZWVrXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBAaWYgKHNob3dXZWVrTnVtYmVyKSB7XG4gICAgICAgICAgICAgIDx0aCBjbGFzcz1cImNhbGVuZGFyLWNlbGwtd2Vlay1udW1iZXJcIj5cbiAgICAgICAgICAgICAgICB7eyB3ZWVrLndlZWtOdW1iZXIgPT09IDAgPyA1MyA6IHdlZWsud2Vla051bWJlciB9fVxuICAgICAgICAgICAgICA8L3RoPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGZvciAoZGF0ZU9iaiBvZiB3ZWVrLmRheXM7IHRyYWNrIGRhdGVPYmouZGF0ZTsgbGV0IGlkeCA9ICRpbmRleCkge1xuICAgICAgICAgICAgICBAaWYgKGRhdGVPYmoubW9udGggPT09ICdjdXJyZW50JyB8fCBzaG93QWRqYWNlbnREYXlzKSB7XG4gICAgICAgICAgICAgICAgPHRkICNjYWxlbmRhckNlbGw9XCJjQ2FsZW5kYXJEYXlcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0aW9uVHlwZSA9PT0gJ2RheScgJiYgKGRhdGVPYmoubW9udGggPT09ICdjdXJyZW50JyB8fCBzZWxlY3RBZGphY2VudERheXMpICYmIGhhbmRsZURheUNlbGxDbGljayhkYXRlT2JqLmRhdGUpXCJcbiAgICAgICAgICAgICAgICAgICAgKGtleWRvd24pPVwic2VsZWN0aW9uVHlwZSA9PT0gJ2RheScgJiYgKGRhdGVPYmoubW9udGggPT09ICdjdXJyZW50JyB8fCBzZWxlY3RBZGphY2VudERheXMpICYmIGhhbmRsZURheUNlbGxLZXlEb3duKCRldmVudCwgZGF0ZU9iai5kYXRlKVwiXG4gICAgICAgICAgICAgICAgICAgIChrZXl1cCk9XCJzZWxlY3Rpb25UeXBlID09PSAnZGF5JyAmJiAoZGF0ZU9iai5tb250aCA9PT0gJ2N1cnJlbnQnIHx8IHNlbGVjdEFkamFjZW50RGF5cykgJiYgaGFuZGxlRGF5Q2VsbEtleVVwKCRldmVudCwgZGF0ZU9iai5kYXRlKVwiXG4gICAgICAgICAgICAgICAgICAgIChtb3VzZWVudGVyKT1cInNlbGVjdGlvblR5cGUgPT09ICdkYXknICYmIChkYXRlT2JqLm1vbnRoID09PSAnY3VycmVudCcgfHwgc2VsZWN0QWRqYWNlbnREYXlzKSAmJiBoYW5kbGVDZWxsTW91c2VFbnRlcihkYXRlT2JqLmRhdGUpXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJkYXRlT2JqLmRhdGUgfCBjYWxlbmRhckRheVRpdGxlOmxvY2FsZVwiXG4gICAgICAgICAgICAgICAgICAgIFtkYXRlXT1cImRhdGVPYmouZGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIFttb250aF09XCJkYXRlT2JqLm1vbnRoXCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiZGF0ZU9iaiB8IGNhbGVuZGFyQ2xhc3NEYXk6e21pbkRhdGUsIG1heERhdGUsIGRpc2FibGVkRGF0ZXMsIGRhdGVGaWx0ZXJ9XCJcbiAgICAgICAgICAgICAgICAgICAgW3RhYmluZGV4XT1cInNlbGVjdGlvblR5cGUgPT09ICdkYXknICYmIChkYXRlT2JqLm1vbnRoID09PSAnY3VycmVudCcgfHwgc2VsZWN0QWRqYWNlbnREYXlzKSAmJiAhaXNEYXRlRGlzYWJsZWQoZGF0ZU9iai5kYXRlKSA/IDAgOiAtMVwiXG4gICAgICAgICAgICAgICAgICAgIGNDYWxlbmRhckRheVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYWxlbmRhci1jZWxsLWlubmVyXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IGRhdGVPYmouZGF0ZSB8IGNhbGVuZGFyRGF5OmRheUZvcm1hdDpsb2NhbGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImNhbGVuZGFyLWNlbGxcIj48L3RkPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfVxuXG4gIDwvdGJvZHk+XG48L3RhYmxlPlxuXG4iXX0=
|
|
@@ -94,10 +94,10 @@ export class CalendarRowDirective {
|
|
|
94
94
|
getLabel() {
|
|
95
95
|
return this.date?.toLocaleDateString(this.locale) ?? '';
|
|
96
96
|
}
|
|
97
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
98
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.
|
|
97
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: CalendarRowDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
98
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.10", type: CalendarRowDirective, isStandalone: true, selector: "[cCalendarRow]", inputs: { week: ["cCalendarRow", "week"] }, host: { properties: { "attr.tabindex": "this.tabindex", "class": "this.hostClasses" } }, exportAs: ["cCalendarRow"], ngImport: i0 }); }
|
|
99
99
|
}
|
|
100
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
100
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: CalendarRowDirective, decorators: [{
|
|
101
101
|
type: Directive,
|
|
102
102
|
args: [{
|
|
103
103
|
selector: '[cCalendarRow]',
|
|
@@ -114,4 +114,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImpor
|
|
|
114
114
|
type: HostBinding,
|
|
115
115
|
args: ['class']
|
|
116
116
|
}] } });
|
|
117
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItcm93LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvY2FsZW5kYXIvY2FsZW5kYXItbW9udGgvY2FsZW5kYXItcm93LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBbUIsWUFBWSxFQUFlLE1BQU0sbUJBQW1CLENBQUM7QUFDL0UsT0FBTyxFQUFFLGVBQWUsRUFBaUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN2RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFPdEQsTUFBTSxPQUFPLG9CQUFvQjtJQUUvQixXQUFXLENBQXNCO0lBQ2pDLGdCQUFnQixDQUEyQjtJQUkzQztRQUxBLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2pDLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMzQyxlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hDLGlCQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBcUQ3QixTQUFJLEdBQWdCLElBQUksQ0FBQztRQUN4QixjQUFTLEdBQWdCLElBQUksQ0FBQztRQUM5QixZQUFPLEdBQWdCLElBQUksQ0FBQztRQUM1QixjQUFTLEdBQWdCLElBQUksQ0FBQztRQUM5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SSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMxRCxDQUFDOzhHQXBJVSxvQkFBb0I7a0dBQXBCLG9CQUFvQjs7MkZBQXBCLG9CQUFvQjtrQkFMaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLGNBQWM7aUJBQ3pCO3dEQTRDSyxJQUFJO3NCQURQLEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBK0JkLFFBQVE7c0JBQXpDLFdBQVc7dUJBQUMsZUFBZTtnQkFXeEIsV0FBVztzQkFEZCxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZXN0cm95UmVmLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBpbmplY3QsIElucHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvY3VzYWJsZU9wdGlvbiwgRm9jdXNNb25pdG9yLCBGb2N1c09yaWdpbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IENhbGVuZGFyU2VydmljZSwgRGF0ZUZpbHRlclR5cGUsIFNlbGVjdGlvblR5cGUgfSBmcm9tICcuLi9jYWxlbmRhci5zZXJ2aWNlJztcbmltcG9ydCB7IGNvbnZlcnRUb0RhdGVPYmplY3QsIGlzRGF0ZURpc2FibGVkLCBpc0RhdGVJblJhbmdlLCBpc0RhdGVTZWxlY3RlZCB9IGZyb20gJy4uL2NhbGVuZGFyLnV0aWxzJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbY0NhbGVuZGFyUm93XScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGV4cG9ydEFzOiAnY0NhbGVuZGFyUm93J1xufSlcbmV4cG9ydCBjbGFzcyBDYWxlbmRhclJvd0RpcmVjdGl2ZSBpbXBsZW1lbnRzIEZvY3VzYWJsZU9wdGlvbiB7XG5cbiAgI2Rlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gICNjYWxlbmRhclNlcnZpY2UgPSBpbmplY3QoQ2FsZW5kYXJTZXJ2aWNlKTtcbiAgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgZm9jdXNNb25pdG9yID0gaW5qZWN0KEZvY3VzTW9uaXRvcik7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy4jY2FsZW5kYXJTZXJ2aWNlLmNhbGVuZGFyU3RhdGUkLnBpcGUoXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuI2Rlc3Ryb3lSZWYpXG4gICAgKS5zdWJzY3JpYmUoc3RhdGUgPT4ge1xuICAgICAgY29uc3Qge1xuICAgICAgICBzdGFydERhdGUgPSB0aGlzLnN0YXJ0RGF0ZSxcbiAgICAgICAgZW5kRGF0ZSA9IHRoaXMuZW5kRGF0ZSxcbiAgICAgICAgaG92ZXJEYXRlID0gdGhpcy5ob3ZlckRhdGUsXG4gICAgICAgIG1heERhdGUgPSB0aGlzLm1heERhdGUsXG4gICAgICAgIG1pbkRhdGUgPSB0aGlzLm1pbkRhdGUsXG4gICAgICAgIHJhbmdlID0gdGhpcy5yYW5nZSxcbiAgICAgICAgZGlzYWJsZWREYXRlcyA9IHRoaXMuZGlzYWJsZWREYXRlcyxcbiAgICAgICAgZGF0ZUZpbHRlciA9IHRoaXMuZGF0ZUZpbHRlcixcbiAgICAgICAgc2VsZWN0aW9uVHlwZSA9IHRoaXMuc2VsZWN0aW9uVHlwZSxcbiAgICAgICAgY2FsZW5kYXJEYXRlID0gdGhpcy5jYWxlbmRhckRhdGUsXG4gICAgICAgIGxvY2FsZSA9IHRoaXMubG9jYWxlXG4gICAgICB9ID0geyAuLi5zdGF0ZSB9O1xuICAgICAgdGhpcy5zdGFydERhdGUgPSBzdGFydERhdGU7XG4gICAgICB0aGlzLmVuZERhdGUgPSBlbmREYXRlO1xuICAgICAgdGhpcy5ob3ZlckRhdGUgPSBob3ZlckRhdGU7XG4gICAgICB0aGlzLm1heERhdGUgPSBtYXhEYXRlO1xuICAgICAgdGhpcy5taW5EYXRlID0gbWluRGF0ZTtcbiAgICAgIHRoaXMucmFuZ2UgPSByYW5nZTtcbiAgICAgIHRoaXMuZGlzYWJsZWREYXRlcyA9IGRpc2FibGVkRGF0ZXM7XG4gICAgICB0aGlzLmRhdGVGaWx0ZXIgPSBkYXRlRmlsdGVyO1xuICAgICAgdGhpcy5zZWxlY3Rpb25UeXBlID0gc2VsZWN0aW9uVHlwZTtcbiAgICAgIHRoaXMuY2FsZW5kYXJEYXRlID0gY2FsZW5kYXJEYXRlID8/IG5ldyBEYXRlKCk7XG4gICAgICB0aGlzLmxvY2FsZSA9IGxvY2FsZSA/PyAnZGVmYXVsdCc7XG5cbiAgICAgIC8vIHRoaXMuI3RhYmluZGV4LnNldCh0aGlzLnNlbGVjdGlvblR5cGUgPT09ICd3ZWVrJyAmJiB0aGlzLmN1cnJlbnQgJiYgIXRoaXMuZGlzYWJsZWQgPyAwIDogLTEpO1xuXG4gICAgfSk7XG4gIH1cblxuICBASW5wdXQoeyBhbGlhczogJ2NDYWxlbmRhclJvdycsIHJlcXVpcmVkOiB0cnVlIH0pXG4gIHNldCB3ZWVrKHZhbHVlOiB7XG4gICAgd2Vla051bWJlcjogbnVtYmVyLFxuICAgIGRheXM6IHsgZGF0ZTogRGF0ZSwgbW9udGg6IHN0cmluZyB9W11cbiAgfSkge1xuICAgIHRoaXMuY3VycmVudCA9IHZhbHVlLmRheXMuc29tZSgoZGF5KSA9PiBkYXkubW9udGggPT09ICdjdXJyZW50Jyk7XG4gICAgdGhpcy4jdGFiaW5kZXguc2V0KHRoaXMuc2VsZWN0aW9uVHlwZSA9PT0gJ3dlZWsnICYmIHRoaXMuY3VycmVudCAmJiAhdGhpcy5kaXNhYmxlZCA/IDAgOiAtMSk7XG4gICAgdGhpcy4jd2VlayA9IHZhbHVlO1xuICB9O1xuXG4gIGdldCB3ZWVrKCkge1xuICAgIHJldHVybiB0aGlzLiN3ZWVrO1xuICB9XG5cbiAgI3dlZWs6IGFueTtcblxuICBwdWJsaWMgZGF0ZTogRGF0ZSB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIHN0YXJ0RGF0ZTogRGF0ZSB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGVuZERhdGU6IERhdGUgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBob3ZlckRhdGU6IERhdGUgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBtYXhEYXRlOiBEYXRlIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgbWluRGF0ZTogRGF0ZSB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIHJhbmdlOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgc2VsZWN0aW9uVHlwZTogU2VsZWN0aW9uVHlwZSA9ICd3ZWVrJztcbiAgcHJpdmF0ZSBkaXNhYmxlZERhdGVzITogKERhdGUgfCBEYXRlW10pW107XG4gIHByaXZhdGUgZGF0ZUZpbHRlciE6IERhdGVGaWx0ZXJUeXBlO1xuICBwcml2YXRlIGNhbGVuZGFyRGF0ZTogRGF0ZSA9IG5ldyBEYXRlKCk7XG4gIHByaXZhdGUgbG9jYWxlOiBzdHJpbmcgPSAnZGVmYXVsdCc7XG4gIGRpc2FibGVkITogYm9vbGVhbjtcbiAgY3VycmVudCE6IGJvb2xlYW47XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnRhYmluZGV4JykgZ2V0IHRhYmluZGV4KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuI3RhYmluZGV4KCk7XG4gIH07XG5cbiAgI3RhYmluZGV4ID0gc2lnbmFsKC0xKTtcblxuICBnZXQgc2VsZWN0RW5kRGF0ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKHRoaXMucmFuZ2UgJiYgISF0aGlzLnN0YXJ0RGF0ZSAmJiAhdGhpcy5lbmREYXRlKTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgaG9zdENsYXNzZXMoKTogYW55IHtcblxuICAgIGlmICghdGhpcy53ZWVrKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAnY2FsZW5kYXItcm93JzogdHJ1ZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjb25zdCB3ZWVrID0gdGhpcy53ZWVrO1xuICAgIGNvbnN0IGNhbGVuZGFyRGF0ZSA9IHRoaXMuY2FsZW5kYXJEYXRlO1xuICAgIGNvbnN0IHNlbGVjdGlvblR5cGUgPSB0aGlzLnNlbGVjdGlvblR5cGU7XG5cbiAgICB0aGlzLmRhdGUgPSBjb252ZXJ0VG9EYXRlT2JqZWN0KFxuICAgICAgd2Vlay53ZWVrTnVtYmVyID09PSAwXG4gICAgICA/IGAke2NhbGVuZGFyRGF0ZS5nZXRGdWxsWWVhcigpfVc1M2BcbiAgICAgIDogYCR7Y2FsZW5kYXJEYXRlLmdldEZ1bGxZZWFyKCl9VyR7d2Vlay53ZWVrTnVtYmVyfWAsXG4gICAgICBzZWxlY3Rpb25UeXBlXG4gICAgKTtcblxuICAgIHRoaXMuY3VycmVudCA9IHdlZWsuZGF5cy5zb21lKChkYXkpID0+IGRheS5tb250aCA9PT0gJ2N1cnJlbnQnKTtcblxuICAgIGNvbnN0IGluUmFuZ2UgPSB0aGlzLnNlbGVjdGlvblR5cGUgPT09ICd3ZWVrJyAmJiBpc0RhdGVJblJhbmdlKHRoaXMuZGF0ZSwgdGhpcy5zdGFydERhdGUsIHRoaXMuZW5kRGF0ZSk7XG4gICAgY29uc3QgcmFuZ2VIb3ZlciA9IHRoaXMuc2VsZWN0aW9uVHlwZSA9PT0gJ3dlZWsnICYmIHRoaXMuaG92ZXJEYXRlICYmIHRoaXMuc2VsZWN0RW5kRGF0ZVxuICAgICAgICAgICAgICAgICAgICAgICA/IGlzRGF0ZUluUmFuZ2UodGhpcy5kYXRlLCB0aGlzLnN0YXJ0RGF0ZSwgdGhpcy5ob3ZlckRhdGUpXG4gICAgICAgICAgICAgICAgICAgICAgIDogaXNEYXRlSW5SYW5nZSh0aGlzLmRhdGUsIHRoaXMuaG92ZXJEYXRlLCB0aGlzLmVuZERhdGUpO1xuICAgIGNvbnN0IHNlbGVjdGVkID0gaXNEYXRlU2VsZWN0ZWQodGhpcy5kYXRlLCB0aGlzLnN0YXJ0RGF0ZSwgdGhpcy5lbmREYXRlKTtcbiAgICBjb25zdCBkaXNhYmxlZERhdGUgPSBpc0RhdGVEaXNhYmxlZCh0aGlzLmRhdGUsIHRoaXMubWluRGF0ZSwgdGhpcy5tYXhEYXRlLCB0aGlzLmRpc2FibGVkRGF0ZXMpO1xuICAgIGNvbnN0IGRpc2FibGVkQnlGaWx0ZXIgPSAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRoaXMuZGF0ZUZpbHRlcikgPT09ICdbb2JqZWN0IEZ1bmN0aW9uXScgJiYgdGhpcy5kYXRlKSA/ICF0aGlzLmRhdGVGaWx0ZXIodGhpcy5kYXRlKSA6IGZhbHNlO1xuXG4gICAgdGhpcy5kaXNhYmxlZCA9IGRpc2FibGVkRGF0ZSB8fCBkaXNhYmxlZEJ5RmlsdGVyO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgICdjYWxlbmRhci1yb3cnOiB0cnVlLFxuICAgICAgZGlzYWJsZWQ6IHRoaXMuZGlzYWJsZWQsXG4gICAgICByYW5nZTogaW5SYW5nZSxcbiAgICAgICdyYW5nZS1ob3Zlcic6IHJhbmdlSG92ZXIsXG4gICAgICBzZWxlY3RlZDogc2VsZWN0ZWQsXG4gICAgICBjdXJyZW50OiB0aGlzLmN1cnJlbnRcbiAgICB9O1xuXG4gIH1cblxuICBmb2N1cyhvcmlnaW4/OiBGb2N1c09yaWdpbik6IHZvaWQge1xuICAgIHRoaXMuZm9jdXNNb25pdG9yLmZvY3VzVmlhKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBvcmlnaW4gPz8gJ2tleWJvYXJkJyk7XG4gIH1cblxuICBnZXRMYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmRhdGU/LnRvTG9jYWxlRGF0ZVN0cmluZyh0aGlzLmxvY2FsZSkgPz8gJyc7XG4gIH1cblxufVxuIl19
|
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItcm93LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvY2FsZW5kYXIvY2FsZW5kYXItbW9udGgvY2FsZW5kYXItcm93LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBbUIsWUFBWSxFQUFlLE1BQU0sbUJBQW1CLENBQUM7QUFDL0UsT0FBTyxFQUFFLGVBQWUsRUFBaUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN2RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFPdEQsTUFBTSxPQUFPLG9CQUFvQjtJQUUvQixXQUFXLENBQXNCO0lBQ2pDLGdCQUFnQixDQUEyQjtJQUkzQztRQUxBLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2pDLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMzQyxlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hDLGlCQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBcUQ3QixTQUFJLEdBQWdCLElBQUksQ0FBQztRQUN4QixjQUFTLEdBQWdCLElBQUksQ0FBQztRQUM5QixZQUFPLEdBQWdCLElBQUksQ0FBQztRQUM1QixjQUFTLEdBQWdCLElBQUksQ0FBQztRQUM5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SSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMxRCxDQUFDOytHQXBJVSxvQkFBb0I7bUdBQXBCLG9CQUFvQjs7NEZBQXBCLG9CQUFvQjtrQkFMaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLGNBQWM7aUJBQ3pCO3dEQTRDSyxJQUFJO3NCQURQLEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBK0JkLFFBQVE7c0JBQXpDLFdBQVc7dUJBQUMsZUFBZTtnQkFXeEIsV0FBVztzQkFEZCxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZXN0cm95UmVmLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBpbmplY3QsIElucHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvY3VzYWJsZU9wdGlvbiwgRm9jdXNNb25pdG9yLCBGb2N1c09yaWdpbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IENhbGVuZGFyU2VydmljZSwgRGF0ZUZpbHRlclR5cGUsIFNlbGVjdGlvblR5cGUgfSBmcm9tICcuLi9jYWxlbmRhci5zZXJ2aWNlJztcbmltcG9ydCB7IGNvbnZlcnRUb0RhdGVPYmplY3QsIGlzRGF0ZURpc2FibGVkLCBpc0RhdGVJblJhbmdlLCBpc0RhdGVTZWxlY3RlZCB9IGZyb20gJy4uL2NhbGVuZGFyLnV0aWxzJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbY0NhbGVuZGFyUm93XScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGV4cG9ydEFzOiAnY0NhbGVuZGFyUm93J1xufSlcbmV4cG9ydCBjbGFzcyBDYWxlbmRhclJvd0RpcmVjdGl2ZSBpbXBsZW1lbnRzIEZvY3VzYWJsZU9wdGlvbiB7XG5cbiAgI2Rlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gICNjYWxlbmRhclNlcnZpY2UgPSBpbmplY3QoQ2FsZW5kYXJTZXJ2aWNlKTtcbiAgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgZm9jdXNNb25pdG9yID0gaW5qZWN0KEZvY3VzTW9uaXRvcik7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy4jY2FsZW5kYXJTZXJ2aWNlLmNhbGVuZGFyU3RhdGUkLnBpcGUoXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuI2Rlc3Ryb3lSZWYpXG4gICAgKS5zdWJzY3JpYmUoc3RhdGUgPT4ge1xuICAgICAgY29uc3Qge1xuICAgICAgICBzdGFydERhdGUgPSB0aGlzLnN0YXJ0RGF0ZSxcbiAgICAgICAgZW5kRGF0ZSA9IHRoaXMuZW5kRGF0ZSxcbiAgICAgICAgaG92ZXJEYXRlID0gdGhpcy5ob3ZlckRhdGUsXG4gICAgICAgIG1heERhdGUgPSB0aGlzLm1heERhdGUsXG4gICAgICAgIG1pbkRhdGUgPSB0aGlzLm1pbkRhdGUsXG4gICAgICAgIHJhbmdlID0gdGhpcy5yYW5nZSxcbiAgICAgICAgZGlzYWJsZWREYXRlcyA9IHRoaXMuZGlzYWJsZWREYXRlcyxcbiAgICAgICAgZGF0ZUZpbHRlciA9IHRoaXMuZGF0ZUZpbHRlcixcbiAgICAgICAgc2VsZWN0aW9uVHlwZSA9IHRoaXMuc2VsZWN0aW9uVHlwZSxcbiAgICAgICAgY2FsZW5kYXJEYXRlID0gdGhpcy5jYWxlbmRhckRhdGUsXG4gICAgICAgIGxvY2FsZSA9IHRoaXMubG9jYWxlXG4gICAgICB9ID0geyAuLi5zdGF0ZSB9O1xuICAgICAgdGhpcy5zdGFydERhdGUgPSBzdGFydERhdGU7XG4gICAgICB0aGlzLmVuZERhdGUgPSBlbmREYXRlO1xuICAgICAgdGhpcy5ob3ZlckRhdGUgPSBob3ZlckRhdGU7XG4gICAgICB0aGlzLm1heERhdGUgPSBtYXhEYXRlO1xuICAgICAgdGhpcy5taW5EYXRlID0gbWluRGF0ZTtcbiAgICAgIHRoaXMucmFuZ2UgPSByYW5nZTtcbiAgICAgIHRoaXMuZGlzYWJsZWREYXRlcyA9IGRpc2FibGVkRGF0ZXM7XG4gICAgICB0aGlzLmRhdGVGaWx0ZXIgPSBkYXRlRmlsdGVyO1xuICAgICAgdGhpcy5zZWxlY3Rpb25UeXBlID0gc2VsZWN0aW9uVHlwZTtcbiAgICAgIHRoaXMuY2FsZW5kYXJEYXRlID0gY2FsZW5kYXJEYXRlID8/IG5ldyBEYXRlKCk7XG4gICAgICB0aGlzLmxvY2FsZSA9IGxvY2FsZSA/PyAnZGVmYXVsdCc7XG5cbiAgICAgIC8vIHRoaXMuI3RhYmluZGV4LnNldCh0aGlzLnNlbGVjdGlvblR5cGUgPT09ICd3ZWVrJyAmJiB0aGlzLmN1cnJlbnQgJiYgIXRoaXMuZGlzYWJsZWQgPyAwIDogLTEpO1xuXG4gICAgfSk7XG4gIH1cblxuICBASW5wdXQoeyBhbGlhczogJ2NDYWxlbmRhclJvdycsIHJlcXVpcmVkOiB0cnVlIH0pXG4gIHNldCB3ZWVrKHZhbHVlOiB7XG4gICAgd2Vla051bWJlcjogbnVtYmVyLFxuICAgIGRheXM6IHsgZGF0ZTogRGF0ZSwgbW9udGg6IHN0cmluZyB9W11cbiAgfSkge1xuICAgIHRoaXMuY3VycmVudCA9IHZhbHVlLmRheXMuc29tZSgoZGF5KSA9PiBkYXkubW9udGggPT09ICdjdXJyZW50Jyk7XG4gICAgdGhpcy4jdGFiaW5kZXguc2V0KHRoaXMuc2VsZWN0aW9uVHlwZSA9PT0gJ3dlZWsnICYmIHRoaXMuY3VycmVudCAmJiAhdGhpcy5kaXNhYmxlZCA/IDAgOiAtMSk7XG4gICAgdGhpcy4jd2VlayA9IHZhbHVlO1xuICB9O1xuXG4gIGdldCB3ZWVrKCkge1xuICAgIHJldHVybiB0aGlzLiN3ZWVrO1xuICB9XG5cbiAgI3dlZWs6IGFueTtcblxuICBwdWJsaWMgZGF0ZTogRGF0ZSB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIHN0YXJ0RGF0ZTogRGF0ZSB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGVuZERhdGU6IERhdGUgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBob3ZlckRhdGU6IERhdGUgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBtYXhEYXRlOiBEYXRlIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgbWluRGF0ZTogRGF0ZSB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIHJhbmdlOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgc2VsZWN0aW9uVHlwZTogU2VsZWN0aW9uVHlwZSA9ICd3ZWVrJztcbiAgcHJpdmF0ZSBkaXNhYmxlZERhdGVzITogKERhdGUgfCBEYXRlW10pW107XG4gIHByaXZhdGUgZGF0ZUZpbHRlciE6IERhdGVGaWx0ZXJUeXBlO1xuICBwcml2YXRlIGNhbGVuZGFyRGF0ZTogRGF0ZSA9IG5ldyBEYXRlKCk7XG4gIHByaXZhdGUgbG9jYWxlOiBzdHJpbmcgPSAnZGVmYXVsdCc7XG4gIGRpc2FibGVkITogYm9vbGVhbjtcbiAgY3VycmVudCE6IGJvb2xlYW47XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnRhYmluZGV4JykgZ2V0IHRhYmluZGV4KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuI3RhYmluZGV4KCk7XG4gIH07XG5cbiAgI3RhYmluZGV4ID0gc2lnbmFsKC0xKTtcblxuICBnZXQgc2VsZWN0RW5kRGF0ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKHRoaXMucmFuZ2UgJiYgISF0aGlzLnN0YXJ0RGF0ZSAmJiAhdGhpcy5lbmREYXRlKTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgaG9zdENsYXNzZXMoKTogYW55IHtcblxuICAgIGlmICghdGhpcy53ZWVrKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAnY2FsZW5kYXItcm93JzogdHJ1ZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjb25zdCB3ZWVrID0gdGhpcy53ZWVrO1xuICAgIGNvbnN0IGNhbGVuZGFyRGF0ZSA9IHRoaXMuY2FsZW5kYXJEYXRlO1xuICAgIGNvbnN0IHNlbGVjdGlvblR5cGUgPSB0aGlzLnNlbGVjdGlvblR5cGU7XG5cbiAgICB0aGlzLmRhdGUgPSBjb252ZXJ0VG9EYXRlT2JqZWN0KFxuICAgICAgd2Vlay53ZWVrTnVtYmVyID09PSAwXG4gICAgICA/IGAke2NhbGVuZGFyRGF0ZS5nZXRGdWxsWWVhcigpfVc1M2BcbiAgICAgIDogYCR7Y2FsZW5kYXJEYXRlLmdldEZ1bGxZZWFyKCl9VyR7d2Vlay53ZWVrTnVtYmVyfWAsXG4gICAgICBzZWxlY3Rpb25UeXBlXG4gICAgKTtcblxuICAgIHRoaXMuY3VycmVudCA9IHdlZWsuZGF5cy5zb21lKChkYXkpID0+IGRheS5tb250aCA9PT0gJ2N1cnJlbnQnKTtcblxuICAgIGNvbnN0IGluUmFuZ2UgPSB0aGlzLnNlbGVjdGlvblR5cGUgPT09ICd3ZWVrJyAmJiBpc0RhdGVJblJhbmdlKHRoaXMuZGF0ZSwgdGhpcy5zdGFydERhdGUsIHRoaXMuZW5kRGF0ZSk7XG4gICAgY29uc3QgcmFuZ2VIb3ZlciA9IHRoaXMuc2VsZWN0aW9uVHlwZSA9PT0gJ3dlZWsnICYmIHRoaXMuaG92ZXJEYXRlICYmIHRoaXMuc2VsZWN0RW5kRGF0ZVxuICAgICAgICAgICAgICAgICAgICAgICA/IGlzRGF0ZUluUmFuZ2UodGhpcy5kYXRlLCB0aGlzLnN0YXJ0RGF0ZSwgdGhpcy5ob3ZlckRhdGUpXG4gICAgICAgICAgICAgICAgICAgICAgIDogaXNEYXRlSW5SYW5nZSh0aGlzLmRhdGUsIHRoaXMuaG92ZXJEYXRlLCB0aGlzLmVuZERhdGUpO1xuICAgIGNvbnN0IHNlbGVjdGVkID0gaXNEYXRlU2VsZWN0ZWQodGhpcy5kYXRlLCB0aGlzLnN0YXJ0RGF0ZSwgdGhpcy5lbmREYXRlKTtcbiAgICBjb25zdCBkaXNhYmxlZERhdGUgPSBpc0RhdGVEaXNhYmxlZCh0aGlzLmRhdGUsIHRoaXMubWluRGF0ZSwgdGhpcy5tYXhEYXRlLCB0aGlzLmRpc2FibGVkRGF0ZXMpO1xuICAgIGNvbnN0IGRpc2FibGVkQnlGaWx0ZXIgPSAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRoaXMuZGF0ZUZpbHRlcikgPT09ICdbb2JqZWN0IEZ1bmN0aW9uXScgJiYgdGhpcy5kYXRlKSA/ICF0aGlzLmRhdGVGaWx0ZXIodGhpcy5kYXRlKSA6IGZhbHNlO1xuXG4gICAgdGhpcy5kaXNhYmxlZCA9IGRpc2FibGVkRGF0ZSB8fCBkaXNhYmxlZEJ5RmlsdGVyO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgICdjYWxlbmRhci1yb3cnOiB0cnVlLFxuICAgICAgZGlzYWJsZWQ6IHRoaXMuZGlzYWJsZWQsXG4gICAgICByYW5nZTogaW5SYW5nZSxcbiAgICAgICdyYW5nZS1ob3Zlcic6IHJhbmdlSG92ZXIsXG4gICAgICBzZWxlY3RlZDogc2VsZWN0ZWQsXG4gICAgICBjdXJyZW50OiB0aGlzLmN1cnJlbnRcbiAgICB9O1xuXG4gIH1cblxuICBmb2N1cyhvcmlnaW4/OiBGb2N1c09yaWdpbik6IHZvaWQge1xuICAgIHRoaXMuZm9jdXNNb25pdG9yLmZvY3VzVmlhKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBvcmlnaW4gPz8gJ2tleWJvYXJkJyk7XG4gIH1cblxuICBnZXRMYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmRhdGU/LnRvTG9jYWxlRGF0ZVN0cmluZyh0aGlzLmxvY2FsZSkgPz8gJyc7XG4gIH1cblxufVxuIl19
|
|
@@ -8,14 +8,14 @@ export class CalendarWeekdayPipe {
|
|
|
8
8
|
? date.toLocaleDateString(locale, { weekday: weekdayFormat })
|
|
9
9
|
: date.toLocaleDateString(locale, { weekday: 'long' }).slice(0, weekdayFormat);
|
|
10
10
|
}
|
|
11
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
12
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: CalendarWeekdayPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
12
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.10", ngImport: i0, type: CalendarWeekdayPipe, isStandalone: true, name: "calendarWeekday" }); }
|
|
13
13
|
}
|
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: CalendarWeekdayPipe, decorators: [{
|
|
15
15
|
type: Pipe,
|
|
16
16
|
args: [{
|
|
17
17
|
name: 'calendarWeekday',
|
|
18
18
|
standalone: true
|
|
19
19
|
}]
|
|
20
20
|
}] });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItd2Vla2RheS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9jYWxlbmRhci9jYWxlbmRhci1tb250aC9jYWxlbmRhci13ZWVrZGF5LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBT3BELE1BQU0sT0FBTyxtQkFBbUI7SUFFOUIsU0FBUyxDQUFDLElBQVUsRUFBRSxnQkFBbUMsT0FBTyxFQUFFLFNBQWlCLFNBQVM7UUFDMUYsT0FBTyxPQUFPLGFBQWEsS0FBSyxVQUFVO1lBQ3hDLENBQUMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO1lBQ3JCLENBQUMsQ0FBQyxPQUFPLGFBQWEsS0FBSyxRQUFRO2dCQUNqQyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsQ0FBQztnQkFDN0QsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQ3JGLENBQUM7K0dBUlUsbUJBQW1COzZHQUFuQixtQkFBbUI7OzRGQUFuQixtQkFBbUI7a0JBSi9CLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLGlCQUFpQjtvQkFDdkIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgV2Vla2RheUZvcm1hdFR5cGUgfSBmcm9tICcuLi9jYWxlbmRhci5zZXJ2aWNlJztcblxuQFBpcGUoe1xuICBuYW1lOiAnY2FsZW5kYXJXZWVrZGF5JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBDYWxlbmRhcldlZWtkYXlQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgdHJhbnNmb3JtKGRhdGU6IERhdGUsIHdlZWtkYXlGb3JtYXQ6IFdlZWtkYXlGb3JtYXRUeXBlID0gJ3Nob3J0JywgbG9jYWxlOiBzdHJpbmcgPSAnZGVmYXVsdCcpOiAoc3RyaW5nIHwgbnVtYmVyKSB7XG4gICAgcmV0dXJuIHR5cGVvZiB3ZWVrZGF5Rm9ybWF0ID09PSAnZnVuY3Rpb24nXG4gICAgICA/IHdlZWtkYXlGb3JtYXQoZGF0ZSlcbiAgICAgIDogdHlwZW9mIHdlZWtkYXlGb3JtYXQgPT09ICdzdHJpbmcnXG4gICAgICAgID8gZGF0ZS50b0xvY2FsZURhdGVTdHJpbmcobG9jYWxlLCB7IHdlZWtkYXk6IHdlZWtkYXlGb3JtYXQgfSlcbiAgICAgICAgOiBkYXRlLnRvTG9jYWxlRGF0ZVN0cmluZyhsb2NhbGUsIHsgd2Vla2RheTogJ2xvbmcnIH0pLnNsaWNlKDAsIHdlZWtkYXlGb3JtYXQpO1xuICB9XG59XG4iXX0=
|
|
@@ -60,10 +60,10 @@ export class CalendarNavigationComponent {
|
|
|
60
60
|
this.handleNavigationClick(direction, years);
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
64
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.
|
|
63
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: CalendarNavigationComponent, deps: [{ token: i1.CalendarService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
64
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.10", type: CalendarNavigationComponent, isStandalone: true, selector: "c-calendar-navigation", inputs: { addMonths: "addMonths", calendarDate: "calendarDate", navigation: "navigation", navYearFirst: "navYearFirst" }, outputs: { navigationClick: "navigationClick" }, host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: "@if (navigation) {\n <div class=\"calendar-nav-prev\">\n <button\n (click)=\"handleNavigationClick('prev', true)\"\n (keyup)=\"handleNavigationKeyUp($event, 'prev', true)\"\n cButton\n color=\"transparent\"\n size=\"sm\"\n tabindex=\"0\"\n >\n <span class=\"calendar-nav-icon calendar-nav-icon-double-prev\"></span>\n </button>\n @if (view === 'days') {\n <button\n (click)=\"handleNavigationClick('prev')\"\n (keyup)=\"handleNavigationKeyUp($event, 'prev')\"\n cButton\n color=\"transparent\"\n size=\"sm\"\n tabindex=\"0\"\n >\n <span class=\"calendar-nav-icon calendar-nav-icon-prev\"></span>\n </button>\n }\n </div>\n}\n<div class=\"calendar-nav-date\" [ngStyle]=\"navYearFirst ? { display: 'flex', justifyContent: 'center' } : {}\">\n @if (view === 'days') {\n <button\n (click)=\"setView('months')\"\n cButton\n color=\"transparent\"\n size=\"sm\"\n tabindex=\"0\"\n >\n {{ date.toLocaleDateString(locale, { month: 'long' }) }}\n </button>\n }\n <button\n (click)=\"setView('years')\"\n cButton\n color=\"transparent\"\n size=\"sm\"\n tabindex=\"0\"\n [ngStyle]=\"navYearFirst ? { order: '-1' } : {}\"\n >\n {{ date.toLocaleDateString(locale, { year: 'numeric' }) }}\n </button>\n</div>\n@if (navigation) {\n <div class=\"calendar-nav-next\">\n @if (view === 'days') {\n <button\n (click)=\"handleNavigationClick('next')\"\n (keyup)=\"handleNavigationKeyUp($event, 'next')\"\n cButton\n color=\"transparent\"\n size=\"sm\"\n tabindex=\"0\"\n >\n <span class=\"calendar-nav-icon calendar-nav-icon-next\"></span>\n </button>\n }\n <button\n (click)=\"handleNavigationClick('next', true)\"\n (keyup)=\"handleNavigationKeyUp($event, 'next', true)\"\n cButton\n color=\"transparent\"\n size=\"sm\"\n tabindex=\"0\"\n >\n <span class=\"calendar-nav-icon calendar-nav-icon-double-next\"></span>\n </button>\n </div>\n}\n", styles: [""], dependencies: [{ kind: "directive", type: ButtonDirective, selector: "[cButton]", inputs: ["active", "color", "disabled", "shape", "size", "type", "variant"], exportAs: ["cButton"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
|
|
65
65
|
}
|
|
66
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
66
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: CalendarNavigationComponent, decorators: [{
|
|
67
67
|
type: Component,
|
|
68
68
|
args: [{ selector: 'c-calendar-navigation', standalone: true, imports: [ButtonDirective, NgStyle], template: "@if (navigation) {\n <div class=\"calendar-nav-prev\">\n <button\n (click)=\"handleNavigationClick('prev', true)\"\n (keyup)=\"handleNavigationKeyUp($event, 'prev', true)\"\n cButton\n color=\"transparent\"\n size=\"sm\"\n tabindex=\"0\"\n >\n <span class=\"calendar-nav-icon calendar-nav-icon-double-prev\"></span>\n </button>\n @if (view === 'days') {\n <button\n (click)=\"handleNavigationClick('prev')\"\n (keyup)=\"handleNavigationKeyUp($event, 'prev')\"\n cButton\n color=\"transparent\"\n size=\"sm\"\n tabindex=\"0\"\n >\n <span class=\"calendar-nav-icon calendar-nav-icon-prev\"></span>\n </button>\n }\n </div>\n}\n<div class=\"calendar-nav-date\" [ngStyle]=\"navYearFirst ? { display: 'flex', justifyContent: 'center' } : {}\">\n @if (view === 'days') {\n <button\n (click)=\"setView('months')\"\n cButton\n color=\"transparent\"\n size=\"sm\"\n tabindex=\"0\"\n >\n {{ date.toLocaleDateString(locale, { month: 'long' }) }}\n </button>\n }\n <button\n (click)=\"setView('years')\"\n cButton\n color=\"transparent\"\n size=\"sm\"\n tabindex=\"0\"\n [ngStyle]=\"navYearFirst ? { order: '-1' } : {}\"\n >\n {{ date.toLocaleDateString(locale, { year: 'numeric' }) }}\n </button>\n</div>\n@if (navigation) {\n <div class=\"calendar-nav-next\">\n @if (view === 'days') {\n <button\n (click)=\"handleNavigationClick('next')\"\n (keyup)=\"handleNavigationKeyUp($event, 'next')\"\n cButton\n color=\"transparent\"\n size=\"sm\"\n tabindex=\"0\"\n >\n <span class=\"calendar-nav-icon calendar-nav-icon-next\"></span>\n </button>\n }\n <button\n (click)=\"handleNavigationClick('next', true)\"\n (keyup)=\"handleNavigationKeyUp($event, 'next', true)\"\n cButton\n color=\"transparent\"\n size=\"sm\"\n tabindex=\"0\"\n >\n <span class=\"calendar-nav-icon calendar-nav-icon-double-next\"></span>\n </button>\n </div>\n}\n" }]
|
|
69
69
|
}], ctorParameters: () => [{ type: i1.CalendarService }], propDecorators: { addMonths: [{
|
|
@@ -80,4 +80,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImpor
|
|
|
80
80
|
type: HostBinding,
|
|
81
81
|
args: ['class']
|
|
82
82
|
}] } });
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItbmF2aWdhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL2NhbGVuZGFyL2NhbGVuZGFyLW5hdmlnYXRpb24vY2FsZW5kYXItbmF2aWdhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL2NhbGVuZGFyL2NhbGVuZGFyLW5hdmlnYXRpb24vY2FsZW5kYXItbmF2aWdhdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUxQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7QUFlL0MsTUFBTSxPQUFPLDJCQUEyQjtJQUV0QyxXQUFXLENBQXNCO0lBRWpDLFlBQ1UsZUFBZ0M7UUFBaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBSDFDLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBUXhCLGNBQVMsR0FBVyxDQUFDLENBQUM7UUFXdkIsa0JBQWEsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBRTFCLGVBQVUsR0FBWSxJQUFJLENBQUM7UUFDM0IsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFFdkMsV0FBTSxHQUFXLFNBQVMsQ0FBQztRQUMzQixTQUFJLEdBQWdDLE1BQU0sQ0FBQztRQUMzQyxrQkFBYSxHQUFrQixLQUFLLENBQUM7UUFFM0Isb0JBQWUsR0FBbUMsSUFBSSxZQUFZLEVBQW9CLENBQUM7UUF2Qi9GLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFJRCxJQUNJLFlBQVksQ0FBQyxLQUFXO1FBQzFCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO0lBQzdCLENBQUM7SUFBQSxDQUFDO0lBRUYsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFhRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbEcsQ0FBQztJQUVELElBQ0ksV0FBVztRQUNiLE9BQU87WUFDTCxjQUFjLEVBQUUsSUFBSTtTQUNyQixDQUFDO0lBQ0osQ0FBQztJQUVELHNCQUFzQjtRQUNwQixJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWM7YUFDaEMsSUFBSSxDQUNILGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FDckM7YUFDQSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDakIsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNoQyxLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUN2QixJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztvQkFDaEIsYUFBYTtvQkFDYixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUN6QixDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUFpQztRQUN2QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxTQUEwQixFQUFFLEtBQUssR0FBRyxLQUFLO1FBQzdELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxNQUFxQixFQUFFLFNBQTBCLEVBQUUsS0FBZTtRQUN0RixJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3BDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMscUJBQXFCLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQy9DLENBQUM7SUFDSCxDQUFDOytHQXpFVSwyQkFBMkI7bUdBQTNCLDJCQUEyQixtVENuQnhDLHVrRUEyRUEsMEREMURZLGVBQWUsMEpBQUUsT0FBTzs7NEZBRXZCLDJCQUEyQjtrQkFQdkMsU0FBUzsrQkFDRSx1QkFBdUIsY0FHckIsSUFBSSxXQUNQLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQztvRkFZMUIsU0FBUztzQkFBakIsS0FBSztnQkFHRixZQUFZO3NCQURmLEtBQUs7Z0JBV0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQU1JLGVBQWU7c0JBQXhCLE1BQU07Z0JBT0gsV0FBVztzQkFEZCxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIERlc3Ryb3lSZWYsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIGluamVjdCwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgTmdTdHlsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IEJ1dHRvbkRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2J1dHRvbic7XG5pbXBvcnQgeyBDYWxlbmRhclNlcnZpY2UsIFNlbGVjdGlvblR5cGUgfSBmcm9tICcuLi9jYWxlbmRhci5zZXJ2aWNlJztcblxuaW50ZXJmYWNlIElOYXZpZ2F0aW9uQ2xpY2sge1xuICBkaXJlY3Rpb246ICgncHJldicgfCAnbmV4dCcpO1xuICB5ZWFyczogYm9vbGVhbjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYy1jYWxlbmRhci1uYXZpZ2F0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhbGVuZGFyLW5hdmlnYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYWxlbmRhci1uYXZpZ2F0aW9uLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtCdXR0b25EaXJlY3RpdmUsIE5nU3R5bGVdXG59KVxuZXhwb3J0IGNsYXNzIENhbGVuZGFyTmF2aWdhdGlvbkNvbXBvbmVudCB7XG5cbiAgI2Rlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjYWxlbmRhclNlcnZpY2U6IENhbGVuZGFyU2VydmljZVxuICApIHtcbiAgICB0aGlzLmNhbGVuZGFyU3RhdGVTdWJzY3JpYmUoKTtcbiAgfVxuXG4gIEBJbnB1dCgpIGFkZE1vbnRoczogbnVtYmVyID0gMDtcblxuICBASW5wdXQoKVxuICBzZXQgY2FsZW5kYXJEYXRlKHZhbHVlOiBEYXRlKSB7XG4gICAgdGhpcy5fY2FsZW5kYXJEYXRlID0gdmFsdWU7XG4gIH07XG5cbiAgZ2V0IGNhbGVuZGFyRGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fY2FsZW5kYXJEYXRlO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2FsZW5kYXJEYXRlID0gbmV3IERhdGUoKTtcblxuICBASW5wdXQoKSBuYXZpZ2F0aW9uOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgbmF2WWVhckZpcnN0OiBib29sZWFuID0gZmFsc2U7XG5cbiAgbG9jYWxlOiBzdHJpbmcgPSAnZGVmYXVsdCc7XG4gIHZpZXc6ICdkYXlzJyB8ICdtb250aHMnIHwgJ3llYXJzJyA9ICdkYXlzJztcbiAgc2VsZWN0aW9uVHlwZTogU2VsZWN0aW9uVHlwZSA9ICdkYXknO1xuXG4gIEBPdXRwdXQoKSBuYXZpZ2F0aW9uQ2xpY2s6IEV2ZW50RW1pdHRlcjxJTmF2aWdhdGlvbkNsaWNrPiA9IG5ldyBFdmVudEVtaXR0ZXI8SU5hdmlnYXRpb25DbGljaz4oKTtcblxuICBnZXQgZGF0ZSgpIHtcbiAgICByZXR1cm4gbmV3IERhdGUodGhpcy5jYWxlbmRhckRhdGUuZ2V0RnVsbFllYXIoKSwgdGhpcy5jYWxlbmRhckRhdGUuZ2V0TW9udGgoKSArIHRoaXMuYWRkTW9udGhzKTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgaG9zdENsYXNzZXMoKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgJ2NhbGVuZGFyLW5hdic6IHRydWVcbiAgICB9O1xuICB9XG5cbiAgY2FsZW5kYXJTdGF0ZVN1YnNjcmliZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNhbGVuZGFyU2VydmljZS5jYWxlbmRhclN0YXRlJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLiNkZXN0cm95UmVmKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShzdGF0ZSA9PiB7XG4gICAgICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhzdGF0ZSk7XG4gICAgICAgIGZvciAoY29uc3Qga2V5IG9mIGtleXMpIHtcbiAgICAgICAgICBpZiAoa2V5IGluIHRoaXMpIHtcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgIHRoaXNba2V5XSA9IHN0YXRlW2tleV07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHNldFZpZXcodmlldzogJ2RheXMnIHwgJ21vbnRocycgfCAneWVhcnMnKSB7XG4gICAgdGhpcy52aWV3ID0gdmlldztcbiAgICB0aGlzLmNhbGVuZGFyU2VydmljZS51cGRhdGUoeyB2aWV3OiB2aWV3IH0pO1xuICB9XG5cbiAgaGFuZGxlTmF2aWdhdGlvbkNsaWNrKGRpcmVjdGlvbjogJ3ByZXYnIHwgJ25leHQnLCB5ZWFycyA9IGZhbHNlKSB7XG4gICAgdGhpcy5uYXZpZ2F0aW9uQ2xpY2suZW1pdCh7IGRpcmVjdGlvbiwgeWVhcnM6IHllYXJzIH0pO1xuICB9XG5cbiAgaGFuZGxlTmF2aWdhdGlvbktleVVwKCRldmVudDogS2V5Ym9hcmRFdmVudCwgZGlyZWN0aW9uOiAncHJldicgfCAnbmV4dCcsIHllYXJzPzogYm9vbGVhbikge1xuICAgIGlmIChbJ1NwYWNlJ10uaW5jbHVkZXMoJGV2ZW50LmNvZGUpKSB7XG4gICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMuaGFuZGxlTmF2aWdhdGlvbkNsaWNrKGRpcmVjdGlvbiwgeWVhcnMpO1xuICAgIH1cbiAgfVxufVxuIiwiQGlmIChuYXZpZ2F0aW9uKSB7XG4gIDxkaXYgY2xhc3M9XCJjYWxlbmRhci1uYXYtcHJldlwiPlxuICAgIDxidXR0b25cbiAgICAgIChjbGljayk9XCJoYW5kbGVOYXZpZ2F0aW9uQ2xpY2soJ3ByZXYnLCB0cnVlKVwiXG4gICAgICAoa2V5dXApPVwiaGFuZGxlTmF2aWdhdGlvbktleVVwKCRldmVudCwgJ3ByZXYnLCB0cnVlKVwiXG4gICAgICBjQnV0dG9uXG4gICAgICBjb2xvcj1cInRyYW5zcGFyZW50XCJcbiAgICAgIHNpemU9XCJzbVwiXG4gICAgICB0YWJpbmRleD1cIjBcIlxuICAgID5cbiAgICAgIDxzcGFuIGNsYXNzPVwiY2FsZW5kYXItbmF2LWljb24gY2FsZW5kYXItbmF2LWljb24tZG91YmxlLXByZXZcIj48L3NwYW4+XG4gICAgPC9idXR0b24+XG4gICAgQGlmICh2aWV3ID09PSAnZGF5cycpIHtcbiAgICAgIDxidXR0b25cbiAgICAgICAgKGNsaWNrKT1cImhhbmRsZU5hdmlnYXRpb25DbGljaygncHJldicpXCJcbiAgICAgICAgKGtleXVwKT1cImhhbmRsZU5hdmlnYXRpb25LZXlVcCgkZXZlbnQsICdwcmV2JylcIlxuICAgICAgICBjQnV0dG9uXG4gICAgICAgIGNvbG9yPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICBzaXplPVwic21cIlxuICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImNhbGVuZGFyLW5hdi1pY29uIGNhbGVuZGFyLW5hdi1pY29uLXByZXZcIj48L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICB9XG4gIDwvZGl2PlxufVxuPGRpdiBjbGFzcz1cImNhbGVuZGFyLW5hdi1kYXRlXCIgW25nU3R5bGVdPVwibmF2WWVhckZpcnN0ID8geyBkaXNwbGF5OiAnZmxleCcsIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyB9IDoge31cIj5cbiAgQGlmICh2aWV3ID09PSAnZGF5cycpIHtcbiAgICA8YnV0dG9uXG4gICAgICAoY2xpY2spPVwic2V0VmlldygnbW9udGhzJylcIlxuICAgICAgY0J1dHRvblxuICAgICAgY29sb3I9XCJ0cmFuc3BhcmVudFwiXG4gICAgICBzaXplPVwic21cIlxuICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICA+XG4gICAgICB7eyBkYXRlLnRvTG9jYWxlRGF0ZVN0cmluZyhsb2NhbGUsIHsgbW9udGg6ICdsb25nJyB9KSB9fVxuICAgIDwvYnV0dG9uPlxuICB9XG4gIDxidXR0b25cbiAgICAoY2xpY2spPVwic2V0VmlldygneWVhcnMnKVwiXG4gICAgY0J1dHRvblxuICAgIGNvbG9yPVwidHJhbnNwYXJlbnRcIlxuICAgIHNpemU9XCJzbVwiXG4gICAgdGFiaW5kZXg9XCIwXCJcbiAgICBbbmdTdHlsZV09XCJuYXZZZWFyRmlyc3QgPyB7IG9yZGVyOiAnLTEnIH0gOiB7fVwiXG4gID5cbiAgICB7eyBkYXRlLnRvTG9jYWxlRGF0ZVN0cmluZyhsb2NhbGUsIHsgeWVhcjogJ251bWVyaWMnIH0pIH19XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG5AaWYgKG5hdmlnYXRpb24pIHtcbiAgPGRpdiBjbGFzcz1cImNhbGVuZGFyLW5hdi1uZXh0XCI+XG4gICAgQGlmICh2aWV3ID09PSAnZGF5cycpIHtcbiAgICAgIDxidXR0b25cbiAgICAgICAgKGNsaWNrKT1cImhhbmRsZU5hdmlnYXRpb25DbGljaygnbmV4dCcpXCJcbiAgICAgICAgKGtleXVwKT1cImhhbmRsZU5hdmlnYXRpb25LZXlVcCgkZXZlbnQsICduZXh0JylcIlxuICAgICAgICBjQnV0dG9uXG4gICAgICAgIGNvbG9yPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICBzaXplPVwic21cIlxuICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImNhbGVuZGFyLW5hdi1pY29uIGNhbGVuZGFyLW5hdi1pY29uLW5leHRcIj48L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICB9XG4gICAgPGJ1dHRvblxuICAgICAgKGNsaWNrKT1cImhhbmRsZU5hdmlnYXRpb25DbGljaygnbmV4dCcsIHRydWUpXCJcbiAgICAgIChrZXl1cCk9XCJoYW5kbGVOYXZpZ2F0aW9uS2V5VXAoJGV2ZW50LCAnbmV4dCcsIHRydWUpXCJcbiAgICAgIGNCdXR0b25cbiAgICAgIGNvbG9yPVwidHJhbnNwYXJlbnRcIlxuICAgICAgc2l6ZT1cInNtXCJcbiAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgPlxuICAgICAgPHNwYW4gY2xhc3M9XCJjYWxlbmRhci1uYXYtaWNvbiBjYWxlbmRhci1uYXYtaWNvbi1kb3VibGUtbmV4dFwiPjwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG59XG4iXX0=
|
|
@@ -13,8 +13,8 @@ import { CalendarDayTitlePipe } from './calendar-month/calendar-day-title.pipe';
|
|
|
13
13
|
import { CalendarClassRowPipe } from './calendar-month/calendar-class-row.pipe';
|
|
14
14
|
import * as i0 from "@angular/core";
|
|
15
15
|
export class CalendarModule {
|
|
16
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
17
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.
|
|
16
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: CalendarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
17
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.10", ngImport: i0, type: CalendarModule, imports: [CalendarComponent,
|
|
18
18
|
CalendarClassYearPipe,
|
|
19
19
|
CalendarClassDayPipe,
|
|
20
20
|
CalendarClassMonthPipe,
|
|
@@ -28,9 +28,9 @@ export class CalendarModule {
|
|
|
28
28
|
CalendarClassRowPipe], exports: [CalendarComponent,
|
|
29
29
|
CalendarMonthComponent,
|
|
30
30
|
CalendarNavigationComponent] }); }
|
|
31
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.
|
|
31
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: CalendarModule, imports: [CalendarComponent] }); }
|
|
32
32
|
}
|
|
33
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: CalendarModule, decorators: [{
|
|
34
34
|
type: NgModule,
|
|
35
35
|
args: [{
|
|
36
36
|
imports: [
|
|
@@ -54,4 +54,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImpor
|
|
|
54
54
|
]
|
|
55
55
|
}]
|
|
56
56
|
}] });
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9jYWxlbmRhci9jYWxlbmRhci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNsRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNoRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNwRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUNsRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDckUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDN0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDaEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMENBQTBDLENBQUM7O0FBdUJoRixNQUFNLE9BQU8sY0FBYzsrR0FBZCxjQUFjO2dIQUFkLGNBQWMsWUFuQnZCLGlCQUFpQjtZQUNqQixxQkFBcUI7WUFDckIsb0JBQW9CO1lBQ3BCLHNCQUFzQjtZQUN0QixvQkFBb0I7WUFDcEIscUJBQXFCO1lBQ3JCLDJCQUEyQjtZQUMzQixzQkFBc0I7WUFDdEIsZUFBZTtZQUNmLG1CQUFtQjtZQUNuQixvQkFBb0I7WUFDcEIsb0JBQW9CLGFBR3BCLGlCQUFpQjtZQUNqQixzQkFBc0I7WUFDdEIsMkJBQTJCO2dIQUdsQixjQUFjLFlBbkJ2QixpQkFBaUI7OzRGQW1CUixjQUFjO2tCQXJCMUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsaUJBQWlCO3dCQUNqQixxQkFBcUI7d0JBQ3JCLG9CQUFvQjt3QkFDcEIsc0JBQXNCO3dCQUN0QixvQkFBb0I7d0JBQ3BCLHFCQUFxQjt3QkFDckIsMkJBQTJCO3dCQUMzQixzQkFBc0I7d0JBQ3RCLGVBQWU7d0JBQ2YsbUJBQW1CO3dCQUNuQixvQkFBb0I7d0JBQ3BCLG9CQUFvQjtxQkFDckI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGlCQUFpQjt3QkFDakIsc0JBQXNCO3dCQUN0QiwyQkFBMkI7cUJBQzVCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ2FsZW5kYXJDb21wb25lbnQgfSBmcm9tICcuL2NhbGVuZGFyL2NhbGVuZGFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYWxlbmRhckNsYXNzVmlld1BpcGUgfSBmcm9tICcuL2NhbGVuZGFyL2NhbGVuZGFyLWNsYXNzLXZpZXcucGlwZSc7XG5pbXBvcnQgeyBDYWxlbmRhckNsYXNzWWVhclBpcGUgfSBmcm9tICcuL2NhbGVuZGFyLW1vbnRoL2NhbGVuZGFyLWNsYXNzLXllYXIucGlwZSc7XG5pbXBvcnQgeyBDYWxlbmRhckRheURpcmVjdGl2ZSB9IGZyb20gJy4vY2FsZW5kYXItbW9udGgvY2FsZW5kYXItZGF5LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBDYWxlbmRhckNsYXNzRGF5UGlwZSB9IGZyb20gJy4vY2FsZW5kYXItbW9udGgvY2FsZW5kYXItY2xhc3MtZGF5LnBpcGUnO1xuaW1wb3J0IHsgQ2FsZW5kYXJDbGFzc01vbnRoUGlwZSB9IGZyb20gJy4vY2FsZW5kYXItbW9udGgvY2FsZW5kYXItY2xhc3MtbW9udGgucGlwZSc7XG5pbXBvcnQgeyBDYWxlbmRhck1vbnRoQ29tcG9uZW50IH0gZnJvbSAnLi9jYWxlbmRhci1tb250aC9jYWxlbmRhci1tb250aC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FsZW5kYXJOYXZpZ2F0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jYWxlbmRhci1uYXZpZ2F0aW9uL2NhbGVuZGFyLW5hdmlnYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IENhbGVuZGFyRGF5UGlwZSB9IGZyb20gJy4vY2FsZW5kYXItbW9udGgvY2FsZW5kYXItZGF5LnBpcGUnO1xuaW1wb3J0IHsgQ2FsZW5kYXJXZWVrZGF5UGlwZSB9IGZyb20gJy4vY2FsZW5kYXItbW9udGgvY2FsZW5kYXItd2Vla2RheS5waXBlJztcbmltcG9ydCB7IENhbGVuZGFyRGF5VGl0bGVQaXBlIH0gZnJvbSAnLi9jYWxlbmRhci1tb250aC9jYWxlbmRhci1kYXktdGl0bGUucGlwZSc7XG5pbXBvcnQgeyBDYWxlbmRhckNsYXNzUm93UGlwZSB9IGZyb20gJy4vY2FsZW5kYXItbW9udGgvY2FsZW5kYXItY2xhc3Mtcm93LnBpcGUnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ2FsZW5kYXJDb21wb25lbnQsXG4gICAgQ2FsZW5kYXJDbGFzc1llYXJQaXBlLFxuICAgIENhbGVuZGFyQ2xhc3NEYXlQaXBlLFxuICAgIENhbGVuZGFyQ2xhc3NNb250aFBpcGUsXG4gICAgQ2FsZW5kYXJEYXlEaXJlY3RpdmUsXG4gICAgQ2FsZW5kYXJDbGFzc1ZpZXdQaXBlLFxuICAgIENhbGVuZGFyTmF2aWdhdGlvbkNvbXBvbmVudCxcbiAgICBDYWxlbmRhck1vbnRoQ29tcG9uZW50LFxuICAgIENhbGVuZGFyRGF5UGlwZSxcbiAgICBDYWxlbmRhcldlZWtkYXlQaXBlLFxuICAgIENhbGVuZGFyRGF5VGl0bGVQaXBlLFxuICAgIENhbGVuZGFyQ2xhc3NSb3dQaXBlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBDYWxlbmRhckNvbXBvbmVudCxcbiAgICBDYWxlbmRhck1vbnRoQ29tcG9uZW50LFxuICAgIENhbGVuZGFyTmF2aWdhdGlvbkNvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIENhbGVuZGFyTW9kdWxlIHt9XG4iXX0=
|