@coreui/angular-pro 4.5.27 → 4.7.0
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 +2 -2
- package/esm2022/lib/accordion/accordion/accordion.component.mjs +5 -5
- package/esm2022/lib/accordion/accordion-button/accordion-button.directive.mjs +4 -4
- package/esm2022/lib/accordion/accordion-item/accordion-item.component.mjs +5 -5
- package/esm2022/lib/accordion/accordion.module.mjs +5 -5
- package/esm2022/lib/accordion/accordion.service.mjs +5 -5
- package/esm2022/lib/alert/alert-heading.directive.mjs +5 -5
- package/esm2022/lib/alert/alert-link.directive.mjs +5 -5
- 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 +5 -5
- package/esm2022/lib/avatar/avatar.module.mjs +5 -5
- package/esm2022/lib/backdrop/backdrop.service.mjs +6 -6
- package/esm2022/lib/badge/badge.component.mjs +5 -5
- package/esm2022/lib/badge/badge.module.mjs +5 -5
- package/esm2022/lib/breadcrumb/breadcrumb/breadcrumb.component.mjs +5 -5
- package/esm2022/lib/breadcrumb/breadcrumb-item/breadcrumb-item.component.mjs +4 -4
- package/esm2022/lib/breadcrumb/breadcrumb-router/breadcrumb-router.component.mjs +5 -5
- package/esm2022/lib/breadcrumb/breadcrumb-router/breadcrumb-router.service.mjs +5 -5
- 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 +5 -5
- package/esm2022/lib/button-group/button-group.module.mjs +5 -5
- package/esm2022/lib/button-group/button-toolbar/button-toolbar.component.mjs +5 -5
- package/esm2022/lib/calendar/calendar/calendar-class-view.pipe.mjs +4 -4
- package/esm2022/lib/calendar/calendar/calendar.component.mjs +5 -5
- 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-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 +5 -5
- package/esm2022/lib/calendar/calendar-month/calendar-day.pipe.mjs +4 -4
- package/esm2022/lib/calendar/calendar-month/calendar-month.component.mjs +5 -5
- package/esm2022/lib/calendar/calendar-month/calendar-weekday.pipe.mjs +4 -4
- package/esm2022/lib/calendar/calendar-navigation/calendar-navigation.component.mjs +5 -5
- package/esm2022/lib/calendar/calendar.module.mjs +5 -5
- package/esm2022/lib/calendar/calendar.service.mjs +5 -5
- package/esm2022/lib/callout/callout.component.mjs +5 -5
- 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 +5 -5
- package/esm2022/lib/card/card.module.mjs +5 -5
- package/esm2022/lib/carousel/carousel/carousel.component.mjs +6 -6
- package/esm2022/lib/carousel/carousel-caption/carousel-caption.component.mjs +5 -5
- package/esm2022/lib/carousel/carousel-control/carousel-control.component.mjs +5 -5
- package/esm2022/lib/carousel/carousel-indicators/carousel-indicators.component.mjs +5 -5
- package/esm2022/lib/carousel/carousel-inner/carousel-inner.component.mjs +5 -5
- package/esm2022/lib/carousel/carousel-item/carousel-item.component.mjs +5 -5
- package/esm2022/lib/carousel/carousel-state.mjs +5 -5
- 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 +5 -5
- package/esm2022/lib/collapse/collapse.directive.mjs +5 -5
- package/esm2022/lib/collapse/collapse.module.mjs +5 -5
- package/esm2022/lib/date-picker/date-picker.component.mjs +5 -5
- 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 +5 -5
- package/esm2022/lib/date-range-picker/date-range-picker.module.mjs +5 -5
- package/esm2022/lib/dropdown/dropdown/dropdown.component.mjs +11 -11
- package/esm2022/lib/dropdown/dropdown-close/dropdown-close.directive.mjs +6 -6
- 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 +6 -6
- package/esm2022/lib/dropdown/dropdown-menu/dropdown-menu.directive.mjs +5 -5
- package/esm2022/lib/dropdown/dropdown.module.mjs +5 -5
- package/esm2022/lib/dropdown/dropdown.service.mjs +5 -5
- package/esm2022/lib/element-cover/element-cover.component.mjs +5 -5
- 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 +5 -5
- 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 +5 -5
- 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 +5 -5
- package/esm2022/lib/form/form-select/form-select.directive.mjs +5 -5
- 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 +5 -5
- package/esm2022/lib/form/input-group-text/input-group-text.directive.mjs +5 -5
- 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 +5 -5
- 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 +5 -5
- 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 +5 -5
- 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 +5 -5
- package/esm2022/lib/loading-button/loading-button.module.mjs +5 -5
- package/esm2022/lib/modal/modal/modal.component.mjs +6 -6
- 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 +5 -5
- 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 +5 -5
- package/esm2022/lib/multi-select/multi-select/multi-select-search.directive.mjs +5 -5
- package/esm2022/lib/multi-select/multi-select/multi-select.component.mjs +5 -5
- package/esm2022/lib/multi-select/multi-select-native-select/multi-select-native-select.component.mjs +5 -5
- package/esm2022/lib/multi-select/multi-select-optgroup/multi-select-optgroup-label.component.mjs +5 -5
- package/esm2022/lib/multi-select/multi-select-optgroup/multi-select-optgroup.component.mjs +5 -5
- package/esm2022/lib/multi-select/multi-select-option/multi-select-option.component.mjs +5 -5
- package/esm2022/lib/multi-select/multi-select-tag/multi-select-tag.component.mjs +5 -5
- 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 +5 -5
- package/esm2022/lib/navbar/navbar.component.mjs +5 -5
- package/esm2022/lib/navbar/navbar.module.mjs +5 -5
- package/esm2022/lib/offcanvas/offcanvas/offcanvas.component.mjs +6 -6
- 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 +5 -5
- package/esm2022/lib/offcanvas/offcanvas.module.mjs +5 -5
- package/esm2022/lib/offcanvas/offcanvas.service.mjs +5 -5
- package/esm2022/lib/pagination/page-item/page-item.component.mjs +4 -4
- package/esm2022/lib/pagination/page-item/page-item.directive.mjs +5 -5
- 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 +5 -8
- package/esm2022/lib/placeholder/placeholder.directive.mjs +5 -5
- package/esm2022/lib/placeholder/placeholder.module.mjs +5 -5
- package/esm2022/lib/popover/popover/popover.component.mjs +5 -5
- package/esm2022/lib/popover/popover.directive.mjs +6 -6
- package/esm2022/lib/popover/popover.module.mjs +5 -5
- package/esm2022/lib/progress/progress-bar.component.mjs +5 -5
- package/esm2022/lib/progress/progress.component.mjs +4 -4
- package/esm2022/lib/progress/progress.module.mjs +5 -5
- package/esm2022/lib/services/class-toggle.service.mjs +6 -6
- package/esm2022/lib/services/intersection.service.mjs +5 -5
- package/esm2022/lib/services/listeners.service.mjs +5 -5
- package/esm2022/lib/shared/html-attr.directive.mjs +5 -5
- package/esm2022/lib/shared/shared.module.mjs +5 -5
- package/esm2022/lib/shared/template-id.directive.mjs +5 -5
- package/esm2022/lib/sidebar/sidebar/sidebar.component.mjs +6 -6
- package/esm2022/lib/sidebar/sidebar-backdrop/sidebar-backdrop.service.mjs +6 -6
- package/esm2022/lib/sidebar/sidebar-brand/sidebar-brand.component.mjs +4 -4
- package/esm2022/lib/sidebar/sidebar-footer/sidebar-footer.component.mjs +5 -5
- 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 +5 -5
- 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 +5 -5
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-label.component.mjs +5 -5
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-link.component.mjs +9 -9
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-link.pipe.mjs +4 -4
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-title.component.mjs +5 -5
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav.component.mjs +10 -10
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav.service.mjs +7 -7
- package/esm2022/lib/sidebar/sidebar-toggle/sidebar-toggle.directive.mjs +5 -5
- package/esm2022/lib/sidebar/sidebar-toggler/sidebar-toggler.component.mjs +4 -4
- package/esm2022/lib/sidebar/sidebar.module.mjs +5 -5
- package/esm2022/lib/sidebar/sidebar.service.mjs +5 -5
- package/esm2022/lib/smart-pagination/smart-pagination.component.mjs +5 -5
- package/esm2022/lib/smart-pagination/smart-pagination.module.mjs +5 -5
- package/esm2022/lib/smart-table/smart-table/smart-table.component.mjs +5 -5
- package/esm2022/lib/smart-table/smart-table-column-filter/smart-table-column-filter.component.mjs +5 -5
- package/esm2022/lib/smart-table/smart-table-filter/filter-input.directive.mjs +5 -5
- package/esm2022/lib/smart-table/smart-table-filter/smart-table-filter.component.mjs +5 -5
- 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 +5 -5
- package/esm2022/lib/smart-table/smart-table-items-per-page-selector/smart-table-items-per-page-selector.component.mjs +5 -5
- 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 +5 -5
- package/esm2022/lib/table/table.module.mjs +5 -5
- package/esm2022/lib/tabs/tab-content/tab-content.component.mjs +5 -5
- package/esm2022/lib/tabs/tab-content-ref.directive.mjs +5 -5
- package/esm2022/lib/tabs/tab-pane/tab-pane.component.mjs +5 -5
- package/esm2022/lib/tabs/tab.service.mjs +5 -5
- 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 +9 -9
- package/esm2022/lib/time-picker/time-picker-roll-col/time-picker-roll-col.component.mjs +9 -9
- package/esm2022/lib/time-picker/time-picker.component.mjs +5 -5
- package/esm2022/lib/time-picker/time-picker.module.mjs +5 -5
- package/esm2022/lib/toast/toast/toast.component.mjs +5 -5
- package/esm2022/lib/toast/toast-body/toast-body.component.mjs +6 -6
- package/esm2022/lib/toast/toast-close.directive.mjs +5 -5
- package/esm2022/lib/toast/toast-header/toast-header.component.mjs +6 -6
- package/esm2022/lib/toast/toast.module.mjs +5 -5
- package/esm2022/lib/toast/toaster/toaster-host.directive.mjs +5 -5
- package/esm2022/lib/toast/toaster/toaster.component.mjs +5 -5
- package/esm2022/lib/toast/toaster/toaster.service.mjs +5 -5
- package/esm2022/lib/tooltip/tooltip/tooltip.component.mjs +5 -5
- package/esm2022/lib/tooltip/tooltip.directive.mjs +6 -6
- 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 +5 -5
- package/esm2022/lib/utilities/border.directive.mjs +4 -4
- package/esm2022/lib/utilities/rounded.directive.mjs +4 -4
- package/esm2022/lib/utilities/text-color.directive.mjs +5 -5
- 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 +5 -5
- package/esm2022/lib/widget/widget-stat-c/widget-stat-c.component.mjs +5 -5
- package/esm2022/lib/widget/widget-stat-d/widget-stat-d.component.mjs +5 -5
- package/esm2022/lib/widget/widget-stat-e/widget-stat-e.component.mjs +5 -5
- 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 +927 -930
- package/fesm2022/coreui-angular-pro.mjs.map +1 -1
- package/lib/smart-table/smart-table/smart-table.component.d.ts +1 -1
- package/package.json +9 -9
|
@@ -343,13 +343,13 @@ export class CalendarComponent {
|
|
|
343
343
|
this.calendarService.update({ endDate: null });
|
|
344
344
|
this.calendarService.update({ startDate: null });
|
|
345
345
|
}
|
|
346
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
347
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
346
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: CalendarComponent, deps: [{ token: i1.CalendarService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
347
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.4", type: CalendarComponent, isStandalone: true, selector: "c-calendar", inputs: { calendarDate: "calendarDate", calendars: "calendars", dayFormat: "dayFormat", disabledDates: "disabledDates", startDate: "startDate", endDate: "endDate", firstDayOfWeek: "firstDayOfWeek", locale: "locale", maxDate: "maxDate", minDate: "minDate", navigation: "navigation", navYearFirst: "navYearFirst", range: "range", view: "view", weekdayFormat: "weekdayFormat", dateFilter: "dateFilter", selectAdjacentDays: "selectAdjacentDays", showAdjacentDays: "showAdjacentDays" }, outputs: { calendarCellHover: "calendarCellHover", calendarDateChange: "calendarDateChange", endDateChange: "endDateChange", startDateChange: "startDateChange", viewChange: "viewChange" }, host: { properties: { "class": "this.hostClasses" } }, providers: [CalendarService], viewQueries: [{ propertyName: "calendarMonths", predicate: CalendarMonthComponent, descendants: true }], exportAs: ["cCalendar"], ngImport: i0, template: "<ng-container *ngFor=\"let calendar of calendarsArray; let i=index;\">\n <div [ngClass]=\"view | calendarClassView\">\n <c-calendar-navigation\n [addMonths]=\"i\"\n [navigation]=\"navigation\"\n (navigationClick)=\"handleNavigationClick($event.direction, $event.years)\"\n ></c-calendar-navigation>\n\n <c-calendar-month\n [addMonths]=\"i\"\n [firstDayOfWeek]=\"firstDayOfWeek\"\n [weekdayFormat]=\"weekdayFormat\"\n ></c-calendar-month>\n </div>\n</ng-container>\n", styles: [".btn-transparent:focus-visible{outline:-webkit-focus-ring-color auto 1px}\n"], dependencies: [{ kind: "component", type: CalendarNavigationComponent, selector: "c-calendar-navigation", inputs: ["addMonths", "calendarDate", "navigation", "navYearFirst"], outputs: ["navigationClick"] }, { kind: "pipe", type: CalendarClassViewPipe, name: "calendarClassView" }, { kind: "component", type: CalendarMonthComponent, selector: "c-calendar-month", inputs: ["addMonths", "startDate", "endDate", "disabledDates", "firstDayOfWeek", "locale", "range", "weekdayFormat", "view", "maxDate", "minDate", "calendarDate"], exportAs: ["cCalendarMonth"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
|
|
348
348
|
}
|
|
349
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
349
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: CalendarComponent, decorators: [{
|
|
350
350
|
type: Component,
|
|
351
351
|
args: [{ selector: 'c-calendar', exportAs: 'cCalendar', providers: [CalendarService], standalone: true, imports: [CalendarNavigationComponent, CalendarClassViewPipe, CalendarMonthComponent, NgForOf, NgClass], template: "<ng-container *ngFor=\"let calendar of calendarsArray; let i=index;\">\n <div [ngClass]=\"view | calendarClassView\">\n <c-calendar-navigation\n [addMonths]=\"i\"\n [navigation]=\"navigation\"\n (navigationClick)=\"handleNavigationClick($event.direction, $event.years)\"\n ></c-calendar-navigation>\n\n <c-calendar-month\n [addMonths]=\"i\"\n [firstDayOfWeek]=\"firstDayOfWeek\"\n [weekdayFormat]=\"weekdayFormat\"\n ></c-calendar-month>\n </div>\n</ng-container>\n", styles: [".btn-transparent:focus-visible{outline:-webkit-focus-ring-color auto 1px}\n"] }]
|
|
352
|
-
}], ctorParameters:
|
|
352
|
+
}], ctorParameters: () => [{ type: i1.CalendarService }], propDecorators: { calendarDate: [{
|
|
353
353
|
type: Input
|
|
354
354
|
}], calendars: [{
|
|
355
355
|
type: Input
|
|
@@ -402,4 +402,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImpo
|
|
|
402
402
|
type: ViewChildren,
|
|
403
403
|
args: [CalendarMonthComponent]
|
|
404
404
|
}] } });
|
|
405
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9jYWxlbmRhci9jYWxlbmRhci9jYWxlbmRhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL2NhbGVuZGFyL2NhbGVuZGFyL2NhbGVuZGFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBR0wsTUFBTSxFQUVOLFlBQVksRUFDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUdsRyxPQUFPLEVBQUUsZUFBZSxFQUFvRCxNQUFNLHFCQUFxQixDQUFDO0FBQ3hHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNwRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUNuRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7O0FBV25FLE1BQU0sT0FBTyxpQkFBaUI7SUFPNUIsWUFDVSxlQUFnQztRQUFoQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUF5QmxDLGtCQUFhLEdBQVMsT0FBTyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQztRQWdCMUMsZUFBVSxHQUFXLENBQUMsQ0FBQztRQXFCdkIsZUFBVSxHQUFrQixTQUFTLENBQUM7UUFnQnRDLG1CQUFjLEdBQXdC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RixpQkFBaUI7a0JBVDdCLFNBQVM7K0JBQ0UsWUFBWSxZQUdaLFdBQVcsYUFDVixDQUFDLGVBQWUsQ0FBQyxjQUNoQixJQUFJLFdBQ1AsQ0FBQywyQkFBMkIsRUFBRSxxQkFBcUIsRUFBRSxzQkFBc0IsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDO3NHQW9CbkcsWUFBWTtzQkFEZixLQUFLO2dCQXdCRixTQUFTO3NCQURaLEtBQUs7Z0JBcUJGLFNBQVM7c0JBRFosS0FBSztnQkFpQkYsYUFBYTtzQkFEaEIsS0FBSztnQkFpQkYsU0FBUztzQkFEWixLQUFLO2dCQXVCRixPQUFPO3NCQURWLEtBQUs7Z0JBOEJGLGNBQWM7c0JBRGpCLEtBQUs7Z0JBZ0JGLE1BQU07c0JBRFQsS0FBSztnQkFnQkYsT0FBTztzQkFEVixLQUFLO2dCQWdCRixPQUFPO3NCQURWLEtBQUs7Z0JBaUJGLFVBQVU7c0JBRGIsS0FBSztnQkFpQkYsWUFBWTtzQkFEZixLQUFLO2dCQWtCRixLQUFLO3NCQURSLEtBQUs7Z0JBa0JGLElBQUk7c0JBRFAsS0FBSztnQkFrQkYsYUFBYTtzQkFEaEIsS0FBSztnQkFhRixVQUFVO3NCQURiLEtBQUs7Z0JBV0csa0JBQWtCO3NCQUExQixLQUFLO2dCQVFHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFFSSxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0csa0JBQWtCO3NCQUEzQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQWlCSCxXQUFXO3NCQURkLFdBQVc7dUJBQUMsT0FBTztnQkFPa0IsY0FBYztzQkFBbkQsWUFBWTt1QkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFZpZXdDaGlsZHJlblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nQ2xhc3MsIE5nRm9yT2YgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHksIGNvZXJjZU51bWJlclByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBDYWxlbmRhclNlcnZpY2UsIERhdGVGaWx0ZXJUeXBlLCBEYXlGb3JtYXRUeXBlLCBXZWVrZGF5Rm9ybWF0VHlwZSB9IGZyb20gJy4uL2NhbGVuZGFyLnNlcnZpY2UnO1xuaW1wb3J0IHsgdHJ5RGF0ZSB9IGZyb20gJy4uL2NhbGVuZGFyLnV0aWxzJztcbmltcG9ydCB7IENhbGVuZGFyTW9udGhDb21wb25lbnQgfSBmcm9tICcuLi9jYWxlbmRhci1tb250aC9jYWxlbmRhci1tb250aC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FsZW5kYXJOYXZpZ2F0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vY2FsZW5kYXItbmF2aWdhdGlvbi9jYWxlbmRhci1uYXZpZ2F0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYWxlbmRhckNsYXNzVmlld1BpcGUgfSBmcm9tICcuL2NhbGVuZGFyLWNsYXNzLXZpZXcucGlwZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2MtY2FsZW5kYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FsZW5kYXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYWxlbmRhci5jb21wb25lbnQuc2NzcyddLFxuICBleHBvcnRBczogJ2NDYWxlbmRhcicsXG4gIHByb3ZpZGVyczogW0NhbGVuZGFyU2VydmljZV0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDYWxlbmRhck5hdmlnYXRpb25Db21wb25lbnQsIENhbGVuZGFyQ2xhc3NWaWV3UGlwZSwgQ2FsZW5kYXJNb250aENvbXBvbmVudCwgTmdGb3JPZiwgTmdDbGFzc11cbn0pXG5leHBvcnQgY2xhc3MgQ2FsZW5kYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX25hdmlnYXRpb246IEJvb2xlYW5JbnB1dDtcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX25hdlllYXJGaXJzdDogQm9vbGVhbklucHV0O1xuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfcmFuZ2U6IEJvb2xlYW5JbnB1dDtcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3NlbGVjdEFkamFjZW50RGF5czogQm9vbGVhbklucHV0O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2FsZW5kYXJTZXJ2aWNlOiBDYWxlbmRhclNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5jYWxlbmRhclN0YXRlU3Vic2NyaWJlKCk7XG4gIH1cblxuICAvKipcbiAgICogRGVmYXVsdCBkYXRlIG9mIHRoZSBjb21wb25lbnRcbiAgICogQHR5cGUgIChEYXRlIHwgc3RyaW5nKVxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IGNhbGVuZGFyRGF0ZSh2YWx1ZTogRGF0ZSB8IHN0cmluZyB8IG51bWJlcikge1xuICAgIC8vIGNvbnN0IF92YWx1ZSA9IG5ldyBEYXRlKHRyeURhdGUoKHZhbHVlID8/IHRoaXMuc3RhcnREYXRlID8/IG5ldyBEYXRlKCkpLCAnY2FsZW5kYXJEYXRlJykpO1xuICAgIGNvbnN0IF92YWx1ZSA9IG5ldyBEYXRlKHRyeURhdGUodmFsdWUgPz8gdGhpcy5zdGFydERhdGUsICdjYWxlbmRhckRhdGUnKSk7XG4gICAgaWYgKCEhX3ZhbHVlICYmIHRoaXMuX2NhbGVuZGFyRGF0ZS5nZXRUaW1lKCkgIT09IF92YWx1ZS5nZXRUaW1lKCkpIHtcbiAgICAgIGNvbnN0IF9jYWxlbmRhckRhdGUgPSBuZXcgRGF0ZShuZXcgRGF0ZShfdmFsdWUuc2V0RGF0ZSgxKSkuc2V0SG91cnMoMCwgMCwgMCwgMCkpO1xuICAgICAgdGhpcy5fY2FsZW5kYXJEYXRlID0gX2NhbGVuZGFyRGF0ZTtcbiAgICAgIHRoaXMuY2FsZW5kYXJEYXRlQ2hhbmdlLmVtaXQoX2NhbGVuZGFyRGF0ZSk7XG4gICAgICB0aGlzLmNhbGVuZGFyU2VydmljZS51cGRhdGUoeyBjYWxlbmRhckRhdGU6IF9jYWxlbmRhckRhdGUgfSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGNhbGVuZGFyRGF0ZSgpOiBEYXRlIHtcbiAgICByZXR1cm4gdGhpcy5fY2FsZW5kYXJEYXRlO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2FsZW5kYXJEYXRlOiBEYXRlID0gdHJ5RGF0ZShuZXcgRGF0ZSgpKTtcblxuICAvKipcbiAgICogVGhlIG51bWJlciBvZiBjYWxlbmRhcnMgdGhhdCByZW5kZXIgb24gZGVza3RvcCBkZXZpY2VzLlxuICAgKiBAdHlwZSBudW1iZXJcbiAgICogZGVmYXVsdCAxXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgY2FsZW5kYXJzKHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLl9jYWxlbmRhcnMgPSBjb2VyY2VOdW1iZXJQcm9wZXJ0eSh2YWx1ZSk7XG4gIH1cblxuICBnZXQgY2FsZW5kYXJzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2NhbGVuZGFycztcbiAgfVxuXG4gIHByaXZhdGUgX2NhbGVuZGFyczogbnVtYmVyID0gMTtcblxuICBnZXQgY2FsZW5kYXJzQXJyYXkoKSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20oeyBsZW5ndGg6IHRoaXMuY2FsZW5kYXJzIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgZm9ybWF0IG9mIGRheSBuYW1lLlxuICAgKiBAZGVmYXVsdCAnbnVtZXJpYydcbiAgICogQHR5cGUgRGF5Rm9ybWF0VHlwZVxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IGRheUZvcm1hdCh2YWx1ZTogRGF5Rm9ybWF0VHlwZSkge1xuICAgIHRoaXMuX2RheUZvcm1hdCA9IHZhbHVlO1xuICAgIHRoaXMuY2FsZW5kYXJTZXJ2aWNlLnVwZGF0ZSh7IGRheUZvcm1hdDogdGhpcy5fZGF5Rm9ybWF0IH0pO1xuICB9XG5cbiAgZ2V0IGRheUZvcm1hdCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGF5Rm9ybWF0O1xuICB9XG5cbiAgcHJpdmF0ZSBfZGF5Rm9ybWF0OiBEYXlGb3JtYXRUeXBlID0gJ251bWVyaWMnO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZ5IHRoZSBsaXN0IG9mIGRhdGVzIHRoYXQgY2Fubm90IGJlIHNlbGVjdGVkLlxuICAgKiBAdHlwZSAgKERhdGVbXSB8IERhdGVbXVtdKVxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IGRpc2FibGVkRGF0ZXModmFsdWU6IERhdGVbXSB8IERhdGVbXVtdKSB7XG4gICAgdGhpcy5fZGlzYWJsZWREYXRlcyA9IHZhbHVlO1xuICAgIHRoaXMuY2FsZW5kYXJTZXJ2aWNlLnVwZGF0ZSh7IGRpc2FibGVkRGF0ZXM6IHRoaXMuX2Rpc2FibGVkRGF0ZXMgfSk7XG4gIH1cblxuICBnZXQgZGlzYWJsZWREYXRlcygpOiBEYXRlW10gfCBEYXRlW11bXSB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkRGF0ZXM7XG4gIH1cblxuICBwcml2YXRlIF9kaXNhYmxlZERhdGVzOiAoRGF0ZVtdIHwgRGF0ZVtdW10pID0gW107XG5cbiAgLyoqXG4gICAqIEluaXRpYWwgc2VsZWN0ZWQgZGF0ZS5cbiAgICogQHR5cGUgIChEYXRlIHwgbnVsbClcbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBzdGFydERhdGUodmFsdWU6IERhdGUgfCBudW1iZXIgfCBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgY29uc3QgZGF0ZSA9ICEhdmFsdWUgPyB0cnlEYXRlKHZhbHVlLCAnc3RhcnREYXRlJykgOiBudWxsO1xuICAgIGlmICh0aGlzLl9zdGFydERhdGU/LmdldFRpbWUoKSAhPT0gZGF0ZT8uZ2V0VGltZSgpKSB7XG4gICAgICB0aGlzLl9zdGFydERhdGUgPSBkYXRlO1xuICAgICAgdGhpcy5jYWxlbmRhclNlcnZpY2UudXBkYXRlKHsgc3RhcnREYXRlOiB0aGlzLl9zdGFydERhdGUgfSk7XG4gICAgICBpZiAoIXRoaXMucmFuZ2UgfHwgIXRoaXMuX3N0YXJ0RGF0ZSB8fCAodGhpcy5lbmREYXRlICYmIHRoaXMuX3N0YXJ0RGF0ZSA+IHRoaXMuZW5kRGF0ZSkpIHtcbiAgICAgICAgdGhpcy5lbmREYXRlID0gbnVsbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXQgc3RhcnREYXRlKCkge1xuICAgIHJldHVybiB0aGlzLl9zdGFydERhdGU7XG4gIH1cblxuICBfc3RhcnREYXRlOiBEYXRlIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIEluaXRpYWwgc2VsZWN0ZWQgdG8gZGF0ZSAocmFuZ2UpLlxuICAgKiBAdHlwZSAgKERhdGUgfCBudWxsKVxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IGVuZERhdGUodmFsdWU6IERhdGUgfCBudW1iZXIgfCBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgY29uc3QgZGF0ZSA9ICEhdmFsdWUgPyB0cnlEYXRlKHZhbHVlLCAnZW5kRGF0ZScpIDogbnVsbDtcbiAgICBpZiAodGhpcy5fZW5kRGF0ZT8uZ2V0VGltZSgpICE9PSBkYXRlPy5nZXRUaW1lKCkpIHtcbiAgICAgIHRoaXMuX2VuZERhdGUgPSBkYXRlO1xuICAgICAgLy8gdGhpcy5fZW5kRGF0ZSA9IHRoaXMucmFuZ2UgPyB0aGlzLl9lbmREYXRlIDogbnVsbDtcbiAgICAgIHRoaXMuY2FsZW5kYXJTZXJ2aWNlLnVwZGF0ZSh7IGVuZERhdGU6IHRoaXMuX2VuZERhdGUgfSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGVuZERhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMucmFuZ2UgPyB0aGlzLl9lbmREYXRlIDogbnVsbDtcbiAgfVxuXG4gIF9lbmREYXRlOiAoRGF0ZSB8IG51bGwpID0gbnVsbDtcblxuICAvKipcbiAgICogU2V0cyB0aGUgZGF5IG9mIHN0YXJ0IHdlZWsuXG4gICAqIC0gMCAtIFN1bmRheSxcbiAgICogLSAxIC0gTW9uZGF5LFxuICAgKiAtIDIgLSBUdWVzZGF5LFxuICAgKiAtIDMgLSBXZWRuZXNkYXksXG4gICAqIC0gNCAtIFRodXJzZGF5LFxuICAgKiAtIDUgLSBGcmlkYXksXG4gICAqIC0gNiAtIFNhdHVyZGF5LFxuICAgKlxuICAgKiBAdHlwZSBudW1iZXJcbiAgICogQGRlZmF1bHQgMVxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IGZpcnN0RGF5T2ZXZWVrKHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLl9maXJzdERheU9mV2VlayA9IGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlKTtcbiAgfVxuXG4gIGdldCBmaXJzdERheU9mV2VlaygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9maXJzdERheU9mV2VlaztcbiAgfVxuXG4gIHByaXZhdGUgX2ZpcnN0RGF5T2ZXZWVrOiBudW1iZXIgPSAxO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBkZWZhdWx0IGxvY2FsZSBmb3IgY29tcG9uZW50cy4gSWYgbm90IHNldCwgaXQgaXMgaW5oZXJpdGVkIGZyb20gdGhlIGJyb3dzZXIuXG4gICAqIEBkZWZhdWx0ICdkZWZhdWx0J1xuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IGxvY2FsZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fbG9jYWxlID0gdmFsdWU7XG4gICAgdGhpcy5jYWxlbmRhclNlcnZpY2UudXBkYXRlKHsgbG9jYWxlOiB2YWx1ZSB9KTtcbiAgfVxuXG4gIGdldCBsb2NhbGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2xvY2FsZTtcbiAgfVxuXG4gIHByaXZhdGUgX2xvY2FsZTogc3RyaW5nID0gJ2RlZmF1bHQnO1xuXG4gIC8qKlxuICAgKiBNYXggc2VsZWN0YWJsZSBkYXRlLlxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IG1heERhdGUodmFsdWU6IERhdGUgfCBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fbWF4RGF0ZSA9ICEhdmFsdWUgPyB0cnlEYXRlKHZhbHVlLCAnbWF4RGF0ZScpIDogbnVsbDtcbiAgICB0aGlzLmNhbGVuZGFyU2VydmljZS51cGRhdGUoeyBtYXhEYXRlOiB0aGlzLl9tYXhEYXRlIH0pO1xuICB9XG5cbiAgZ2V0IG1heERhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX21heERhdGU7XG4gIH1cblxuICBwcml2YXRlIF9tYXhEYXRlOiBEYXRlIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIE1pbiBzZWxlY3RhYmxlIGRhdGUuXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgbWluRGF0ZSh2YWx1ZTogRGF0ZSB8IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl9taW5EYXRlID0gdmFsdWUgPyB0cnlEYXRlKHZhbHVlLCAnbWluRGF0ZScpIDogbnVsbDtcbiAgICB0aGlzLmNhbGVuZGFyU2VydmljZS51cGRhdGUoeyBtaW5EYXRlOiB0aGlzLl9taW5EYXRlIH0pO1xuICB9XG5cbiAgZ2V0IG1pbkRhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX21pbkRhdGU7XG4gIH1cblxuICBwcml2YXRlIF9taW5EYXRlOiBEYXRlIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIFNob3cgbmF2aWdhdGlvbi5cbiAgICogQHR5cGUgYm9vbGVhblxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IG5hdmlnYXRpb24odmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9uYXZpZ2F0aW9uID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgfVxuXG4gIGdldCBuYXZpZ2F0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9uYXZpZ2F0aW9uO1xuICB9XG5cbiAgcHJpdmF0ZSBfbmF2aWdhdGlvbjogYm9vbGVhbiA9IHRydWU7XG5cbiAgLyoqXG4gICAqIFJlb3JkZXIgeWVhci1tb250aCBuYXZpZ2F0aW9uLCBhbmQgcmVuZGVyIHllYXIgZmlyc3QuXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBuYXZZZWFyRmlyc3QodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9uYXZZZWFyRmlyc3QgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIHRoaXMuY2FsZW5kYXJTZXJ2aWNlLnVwZGF0ZSh7IG5hdlllYXJGaXJzdDogdGhpcy5fbmF2WWVhckZpcnN0IH0pO1xuICB9XG5cbiAgZ2V0IG5hdlllYXJGaXJzdCgpIHtcbiAgICByZXR1cm4gdGhpcy5fbmF2WWVhckZpcnN0O1xuICB9XG5cbiAgcHJpdmF0ZSBfbmF2WWVhckZpcnN0OiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEFsbG93IHJhbmdlIHNlbGVjdGlvbi5cbiAgICogQHR5cGUgYm9vbGVhblxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IHJhbmdlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fcmFuZ2UgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIHRoaXMuY2FsZW5kYXJTZXJ2aWNlLnVwZGF0ZSh7IHJhbmdlOiB0aGlzLl9yYW5nZSB9KTtcbiAgfVxuXG4gIGdldCByYW5nZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fcmFuZ2U7XG4gIH1cblxuICBwcml2YXRlIF9yYW5nZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBTZXQgY2FsZW5kYXIgdmlldy5cbiAgICogQHR5cGUgJ2RheXMnIHwgJ21vbnRocycgfCAneWVhcnMnXG4gICAqIEBkZWZhdWx0ICdkYXlzJ1xuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IHZpZXcodmFsdWUpIHtcbiAgICB0aGlzLl92aWV3ID0gdmFsdWU7XG4gICAgdGhpcy5jYWxlbmRhclNlcnZpY2UudXBkYXRlKHsgdmlldzogdmFsdWUgfSk7XG4gIH1cblxuICBnZXQgdmlldygpIHtcbiAgICByZXR1cm4gdGhpcy5fdmlldztcbiAgfVxuXG4gIHByaXZhdGUgX3ZpZXc6ICdkYXlzJyB8ICdtb250aHMnIHwgJ3llYXJzJyA9ICdkYXlzJztcblxuICAvKipcbiAgICogU2V0IGxlbmd0aCBvciBmb3JtYXQgb2YgZGF5IG5hbWUuXG4gICAqIEB0eXBlIG51bWJlciB8ICdsb25nJyB8ICduYXJyb3cnIHwgJ3Nob3J0J1xuICAgKiBAZGVmYXVsdCAnc2hvcnQnXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgd2Vla2RheUZvcm1hdCh2YWx1ZTogV2Vla2RheUZvcm1hdFR5cGUpIHtcbiAgICB0aGlzLl93ZWVrZGF5Rm9ybWF0ID0gdmFsdWU7XG4gICAgdGhpcy5jYWxlbmRhclNlcnZpY2UudXBkYXRlKHsgd2Vla2RheUZvcm1hdDogdGhpcy5fd2Vla2RheUZvcm1hdCB9KTtcbiAgfVxuXG4gIGdldCB3ZWVrZGF5Rm9ybWF0KCkge1xuICAgIHJldHVybiB0aGlzLl93ZWVrZGF5Rm9ybWF0O1xuICB9XG5cbiAgcHJpdmF0ZSBfd2Vla2RheUZvcm1hdDogV2Vla2RheUZvcm1hdFR5cGUgPSAnc2hvcnQnO1xuXG4gIEBJbnB1dCgpXG4gIHNldCBkYXRlRmlsdGVyKHZhbHVlOiBEYXRlRmlsdGVyVHlwZSB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuY2FsZW5kYXJTZXJ2aWNlLnVwZGF0ZSh7IGRhdGVGaWx0ZXI6IHZhbHVlIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB3aGV0aGVyIGRheXMgaW4gYWRqYWNlbnQgbW9udGhzIHNob3duIGJlZm9yZSBvciBhZnRlciB0aGUgY3VycmVudCBtb250aCBhcmUgc2VsZWN0YWJsZS4gVGhpcyBvbmx5IGFwcGxpZXMgaWYgdGhlIGBzaG93QWRqYWNlbnREYXlzYCBvcHRpb24gaXMgc2V0IHRvIHRydWUuXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICogQHNpbmNlIDQuNC4xMFxuICAgKi9cbiAgQElucHV0KCkgc2VsZWN0QWRqYWNlbnREYXlzOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFNldCB3aGV0aGVyIHRvIGRpc3BsYXkgZGF0ZXMgaW4gYWRqYWNlbnQgbW9udGhzIChub24tc2VsZWN0YWJsZSkgYXQgdGhlIHN0YXJ0IGFuZCBlbmQgb2YgdGhlIGN1cnJlbnQgbW9udGguXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKiBAc2luY2UgNC40LjEwXG4gICAqL1xuICBASW5wdXQoKSBzaG93QWRqYWNlbnREYXlzOiBib29sZWFuID0gdHJ1ZTtcblxuICBAT3V0cHV0KCkgY2FsZW5kYXJDZWxsSG92ZXI6IEV2ZW50RW1pdHRlcjxEYXRlIHwgbnVsbD4gPSBuZXcgRXZlbnRFbWl0dGVyPERhdGUgfCBudWxsPigpO1xuICBAT3V0cHV0KCkgY2FsZW5kYXJEYXRlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8RGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XG4gIEBPdXRwdXQoKSBlbmREYXRlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8RGF0ZSB8IG51bGw+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlIHwgbnVsbD4oKTtcbiAgQE91dHB1dCgpIHN0YXJ0RGF0ZUNoYW5nZTogRXZlbnRFbWl0dGVyPERhdGUgfCBudWxsPiA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZSB8IG51bGw+KCk7XG4gIEBPdXRwdXQoKSB2aWV3Q2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIC8vIHVzZWQgd2l0aCBjYWxlbmRhclNlcnZpY2VcbiAgc2V0IGhvdmVyRGF0ZSh2YWx1ZTogRGF0ZSB8IG51bGwpIHtcbiAgICB0aGlzLl9ob3ZlckRhdGUgPSB2YWx1ZTtcbiAgICB0aGlzLmNhbGVuZGFyQ2VsbEhvdmVyLmVtaXQodmFsdWUpO1xuICB9XG5cbiAgZ2V0IGhvdmVyRGF0ZSgpOiBEYXRlIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX2hvdmVyRGF0ZTtcbiAgfVxuXG4gIHByaXZhdGUgX2hvdmVyRGF0ZTogRGF0ZSB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgY2FsZW5kYXJTdGF0ZVN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgZ2V0IGhvc3RDbGFzc2VzKCk6IGFueSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICdjYWxlbmRhcnMnOiB0cnVlXG4gICAgfTtcbiAgfVxuXG4gIEBWaWV3Q2hpbGRyZW4oQ2FsZW5kYXJNb250aENvbXBvbmVudCkgY2FsZW5kYXJNb250aHMhOiBRdWVyeUxpc3Q8Q2FsZW5kYXJNb250aENvbXBvbmVudD47XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5jYWxlbmRhclN0YXRlU3Vic2NyaWJlKGZhbHNlKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY2FsZW5kYXJTZXJ2aWNlLnVwZGF0ZSh7XG4gICAgICBsb2NhbGU6IHRoaXMubG9jYWxlLFxuICAgICAgdmlldzogdGhpcy52aWV3LFxuICAgICAgcmFuZ2U6IHRoaXMucmFuZ2UsXG4gICAgICBzaG93QWRqYWNlbnREYXlzOiB0aGlzLnNob3dBZGphY2VudERheXMsXG4gICAgICBzZWxlY3RBZGphY2VudERheXM6IHRoaXMuc2VsZWN0QWRqYWNlbnREYXlzXG4gICAgfSk7XG4gIH1cblxuICBjYWxlbmRhclN0YXRlU3Vic2NyaWJlKHN1YnNjcmliZTogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcbiAgICBpZiAoc3Vic2NyaWJlKSB7XG4gICAgICB0aGlzLmNhbGVuZGFyU3RhdGVTdWJzY3JpcHRpb24gPVxuICAgICAgICB0aGlzLmNhbGVuZGFyU2VydmljZS5jYWxlbmRhclN0YXRlJC5zdWJzY3JpYmUoc3RhdGUgPT4ge1xuICAgICAgICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhzdGF0ZSk7XG4gICAgICAgICAgZm9yIChjb25zdCBrZXkgb2Yga2V5cykge1xuICAgICAgICAgICAgaWYgKGtleSBpbiB0aGlzKSB7XG4gICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgaWYgKHRoaXNba2V5XSAhPT0gc3RhdGVba2V5XSkge1xuICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICB0aGlzW2tleV0gPSBzdGF0ZVtrZXldO1xuICAgICAgICAgICAgICAgIGlmIChrZXkgPT09ICdzdGFydERhdGUnKSB7XG4gICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGFydERhdGVDaGFuZ2UuZW1pdCh0aGlzLl9zdGFydERhdGUpO1xuICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGtleSA9PT0gJ2VuZERhdGUnKSB7XG4gICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbmREYXRlQ2hhbmdlLmVtaXQodGhpcy5fZW5kRGF0ZSk7XG4gICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmNhbGVuZGFyU3RhdGVTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBzZXRDYWxlbmRhclBhZ2UoeWVhcnM6IG51bWJlciwgbW9udGhzID0gMCwgc2V0TW9udGg/OiBudW1iZXIpIHtcbiAgICBjb25zdCB5ZWFyID0gdGhpcy5jYWxlbmRhckRhdGUuZ2V0RnVsbFllYXIoKTtcbiAgICBjb25zdCBtb250aCA9IHRoaXMuY2FsZW5kYXJEYXRlLmdldE1vbnRoKCk7XG4gICAgY29uc3QgZCA9IG5ldyBEYXRlKHllYXIsIG1vbnRoLCAxKTtcblxuICAgIHllYXJzICYmIGQuc2V0RnVsbFllYXIoZC5nZXRGdWxsWWVhcigpICsgeWVhcnMpO1xuICAgIG1vbnRocyAmJiBkLnNldE1vbnRoKGQuZ2V0TW9udGgoKSArIG1vbnRocyk7XG4gICAgdHlwZW9mIHNldE1vbnRoID09PSAnbnVtYmVyJyAmJiBkLnNldE1vbnRoKHNldE1vbnRoKTtcblxuICAgIHRoaXMuY2FsZW5kYXJEYXRlID0gZDtcbiAgfVxuXG4gIGhhbmRsZU5hdmlnYXRpb25DbGljayhkaXJlY3Rpb246ICdwcmV2JyB8ICduZXh0JywgeWVhcnMgPSBmYWxzZSkge1xuICAgIGlmIChkaXJlY3Rpb24gPT09ICdwcmV2Jykge1xuICAgICAgaWYgKHllYXJzKSB7XG4gICAgICAgIHRoaXMuc2V0Q2FsZW5kYXJQYWdlKHRoaXMudmlldyA9PT0gJ3llYXJzJyA/IC0xMCA6IC0xKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy52aWV3ICE9PSAnZGF5cycpIHtcbiAgICAgICAgdGhpcy5zZXRDYWxlbmRhclBhZ2UoLTEpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMuc2V0Q2FsZW5kYXJQYWdlKDAsIC0xKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGRpcmVjdGlvbiA9PT0gJ25leHQnKSB7XG4gICAgICBpZiAoeWVhcnMpIHtcbiAgICAgICAgdGhpcy5zZXRDYWxlbmRhclBhZ2UodGhpcy52aWV3ID09PSAneWVhcnMnID8gMTAgOiAxKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy52aWV3ICE9PSAnZGF5cycpIHtcbiAgICAgICAgdGhpcy5zZXRDYWxlbmRhclBhZ2UoMSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5zZXRDYWxlbmRhclBhZ2UoMCwgMSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENsZWFyIHN0YXJ0RGF0ZSBhbmQgZW5kRGF0ZVxuICAgKiBAdHlwZSB2b2lkXG4gICAqL1xuICBwdWJsaWMgY2xlYXJEYXRlcygpIHtcbiAgICB0aGlzLmNhbGVuZGFyU2VydmljZS51cGRhdGUoeyBlbmREYXRlOiBudWxsIH0pO1xuICAgIHRoaXMuY2FsZW5kYXJTZXJ2aWNlLnVwZGF0ZSh7IHN0YXJ0RGF0ZTogbnVsbCB9KTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY2FsZW5kYXIgb2YgY2FsZW5kYXJzQXJyYXk7IGxldCBpPWluZGV4O1wiPlxuICA8ZGl2IFtuZ0NsYXNzXT1cInZpZXcgfCBjYWxlbmRhckNsYXNzVmlld1wiPlxuICAgIDxjLWNhbGVuZGFyLW5hdmlnYXRpb25cbiAgICAgIFthZGRNb250aHNdPVwiaVwiXG4gICAgICBbbmF2aWdhdGlvbl09XCJuYXZpZ2F0aW9uXCJcbiAgICAgIChuYXZpZ2F0aW9uQ2xpY2spPVwiaGFuZGxlTmF2aWdhdGlvbkNsaWNrKCRldmVudC5kaXJlY3Rpb24sICRldmVudC55ZWFycylcIlxuICAgID48L2MtY2FsZW5kYXItbmF2aWdhdGlvbj5cblxuICAgIDxjLWNhbGVuZGFyLW1vbnRoXG4gICAgICBbYWRkTW9udGhzXT1cImlcIlxuICAgICAgW2ZpcnN0RGF5T2ZXZWVrXT1cImZpcnN0RGF5T2ZXZWVrXCJcbiAgICAgIFt3ZWVrZGF5Rm9ybWF0XT1cIndlZWtkYXlGb3JtYXRcIlxuICAgID48L2MtY2FsZW5kYXItbW9udGg+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|
|
405
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9jYWxlbmRhci9jYWxlbmRhci9jYWxlbmRhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL2NhbGVuZGFyL2NhbGVuZGFyL2NhbGVuZGFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBR0wsTUFBTSxFQUVOLFlBQVksRUFDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUdsRyxPQUFPLEVBQUUsZUFBZSxFQUFvRCxNQUFNLHFCQUFxQixDQUFDO0FBQ3hHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNwRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUNuRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7O0FBV25FLE1BQU0sT0FBTyxpQkFBaUI7SUFPNUIsWUFDVSxlQUFnQztRQUFoQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUF5QmxDLGtCQUFhLEdBQVMsT0FBTyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQztRQWdCMUMsZUFBVSxHQUFXLENBQUMsQ0FBQztRQXFCdkIsZUFBVSxHQUFrQixTQUFTLENBQUM7UUFnQnRDLG1CQUFjLEdBQXdC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RixpQkFBaUI7a0JBVDdCLFNBQVM7K0JBQ0UsWUFBWSxZQUdaLFdBQVcsYUFDVixDQUFDLGVBQWUsQ0FBQyxjQUNoQixJQUFJLFdBQ1AsQ0FBQywyQkFBMkIsRUFBRSxxQkFBcUIsRUFBRSxzQkFBc0IsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDO29GQW9CbkcsWUFBWTtzQkFEZixLQUFLO2dCQXdCRixTQUFTO3NCQURaLEtBQUs7Z0JBcUJGLFNBQVM7c0JBRFosS0FBSztnQkFpQkYsYUFBYTtzQkFEaEIsS0FBSztnQkFpQkYsU0FBUztzQkFEWixLQUFLO2dCQXVCRixPQUFPO3NCQURWLEtBQUs7Z0JBOEJGLGNBQWM7c0JBRGpCLEtBQUs7Z0JBZ0JGLE1BQU07c0JBRFQsS0FBSztnQkFnQkYsT0FBTztzQkFEVixLQUFLO2dCQWdCRixPQUFPO3NCQURWLEtBQUs7Z0JBaUJGLFVBQVU7c0JBRGIsS0FBSztnQkFpQkYsWUFBWTtzQkFEZixLQUFLO2dCQWtCRixLQUFLO3NCQURSLEtBQUs7Z0JBa0JGLElBQUk7c0JBRFAsS0FBSztnQkFrQkYsYUFBYTtzQkFEaEIsS0FBSztnQkFhRixVQUFVO3NCQURiLEtBQUs7Z0JBV0csa0JBQWtCO3NCQUExQixLQUFLO2dCQVFHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFFSSxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0csa0JBQWtCO3NCQUEzQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQWlCSCxXQUFXO3NCQURkLFdBQVc7dUJBQUMsT0FBTztnQkFPa0IsY0FBYztzQkFBbkQsWUFBWTt1QkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFZpZXdDaGlsZHJlblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nQ2xhc3MsIE5nRm9yT2YgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHksIGNvZXJjZU51bWJlclByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBDYWxlbmRhclNlcnZpY2UsIERhdGVGaWx0ZXJUeXBlLCBEYXlGb3JtYXRUeXBlLCBXZWVrZGF5Rm9ybWF0VHlwZSB9IGZyb20gJy4uL2NhbGVuZGFyLnNlcnZpY2UnO1xuaW1wb3J0IHsgdHJ5RGF0ZSB9IGZyb20gJy4uL2NhbGVuZGFyLnV0aWxzJztcbmltcG9ydCB7IENhbGVuZGFyTW9udGhDb21wb25lbnQgfSBmcm9tICcuLi9jYWxlbmRhci1tb250aC9jYWxlbmRhci1tb250aC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FsZW5kYXJOYXZpZ2F0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vY2FsZW5kYXItbmF2aWdhdGlvbi9jYWxlbmRhci1uYXZpZ2F0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYWxlbmRhckNsYXNzVmlld1BpcGUgfSBmcm9tICcuL2NhbGVuZGFyLWNsYXNzLXZpZXcucGlwZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2MtY2FsZW5kYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FsZW5kYXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYWxlbmRhci5jb21wb25lbnQuc2NzcyddLFxuICBleHBvcnRBczogJ2NDYWxlbmRhcicsXG4gIHByb3ZpZGVyczogW0NhbGVuZGFyU2VydmljZV0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDYWxlbmRhck5hdmlnYXRpb25Db21wb25lbnQsIENhbGVuZGFyQ2xhc3NWaWV3UGlwZSwgQ2FsZW5kYXJNb250aENvbXBvbmVudCwgTmdGb3JPZiwgTmdDbGFzc11cbn0pXG5leHBvcnQgY2xhc3MgQ2FsZW5kYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX25hdmlnYXRpb246IEJvb2xlYW5JbnB1dDtcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX25hdlllYXJGaXJzdDogQm9vbGVhbklucHV0O1xuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfcmFuZ2U6IEJvb2xlYW5JbnB1dDtcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3NlbGVjdEFkamFjZW50RGF5czogQm9vbGVhbklucHV0O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2FsZW5kYXJTZXJ2aWNlOiBDYWxlbmRhclNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5jYWxlbmRhclN0YXRlU3Vic2NyaWJlKCk7XG4gIH1cblxuICAvKipcbiAgICogRGVmYXVsdCBkYXRlIG9mIHRoZSBjb21wb25lbnRcbiAgICogQHR5cGUgIChEYXRlIHwgc3RyaW5nKVxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IGNhbGVuZGFyRGF0ZSh2YWx1ZTogRGF0ZSB8IHN0cmluZyB8IG51bWJlcikge1xuICAgIC8vIGNvbnN0IF92YWx1ZSA9IG5ldyBEYXRlKHRyeURhdGUoKHZhbHVlID8/IHRoaXMuc3RhcnREYXRlID8/IG5ldyBEYXRlKCkpLCAnY2FsZW5kYXJEYXRlJykpO1xuICAgIGNvbnN0IF92YWx1ZSA9IG5ldyBEYXRlKHRyeURhdGUodmFsdWUgPz8gdGhpcy5zdGFydERhdGUsICdjYWxlbmRhckRhdGUnKSk7XG4gICAgaWYgKCEhX3ZhbHVlICYmIHRoaXMuX2NhbGVuZGFyRGF0ZS5nZXRUaW1lKCkgIT09IF92YWx1ZS5nZXRUaW1lKCkpIHtcbiAgICAgIGNvbnN0IF9jYWxlbmRhckRhdGUgPSBuZXcgRGF0ZShuZXcgRGF0ZShfdmFsdWUuc2V0RGF0ZSgxKSkuc2V0SG91cnMoMCwgMCwgMCwgMCkpO1xuICAgICAgdGhpcy5fY2FsZW5kYXJEYXRlID0gX2NhbGVuZGFyRGF0ZTtcbiAgICAgIHRoaXMuY2FsZW5kYXJEYXRlQ2hhbmdlLmVtaXQoX2NhbGVuZGFyRGF0ZSk7XG4gICAgICB0aGlzLmNhbGVuZGFyU2VydmljZS51cGRhdGUoeyBjYWxlbmRhckRhdGU6IF9jYWxlbmRhckRhdGUgfSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGNhbGVuZGFyRGF0ZSgpOiBEYXRlIHtcbiAgICByZXR1cm4gdGhpcy5fY2FsZW5kYXJEYXRlO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2FsZW5kYXJEYXRlOiBEYXRlID0gdHJ5RGF0ZShuZXcgRGF0ZSgpKTtcblxuICAvKipcbiAgICogVGhlIG51bWJlciBvZiBjYWxlbmRhcnMgdGhhdCByZW5kZXIgb24gZGVza3RvcCBkZXZpY2VzLlxuICAgKiBAdHlwZSBudW1iZXJcbiAgICogZGVmYXVsdCAxXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgY2FsZW5kYXJzKHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLl9jYWxlbmRhcnMgPSBjb2VyY2VOdW1iZXJQcm9wZXJ0eSh2YWx1ZSk7XG4gIH1cblxuICBnZXQgY2FsZW5kYXJzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2NhbGVuZGFycztcbiAgfVxuXG4gIHByaXZhdGUgX2NhbGVuZGFyczogbnVtYmVyID0gMTtcblxuICBnZXQgY2FsZW5kYXJzQXJyYXkoKSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20oeyBsZW5ndGg6IHRoaXMuY2FsZW5kYXJzIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgZm9ybWF0IG9mIGRheSBuYW1lLlxuICAgKiBAZGVmYXVsdCAnbnVtZXJpYydcbiAgICogQHR5cGUgRGF5Rm9ybWF0VHlwZVxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IGRheUZvcm1hdCh2YWx1ZTogRGF5Rm9ybWF0VHlwZSkge1xuICAgIHRoaXMuX2RheUZvcm1hdCA9IHZhbHVlO1xuICAgIHRoaXMuY2FsZW5kYXJTZXJ2aWNlLnVwZGF0ZSh7IGRheUZvcm1hdDogdGhpcy5fZGF5Rm9ybWF0IH0pO1xuICB9XG5cbiAgZ2V0IGRheUZvcm1hdCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGF5Rm9ybWF0O1xuICB9XG5cbiAgcHJpdmF0ZSBfZGF5Rm9ybWF0OiBEYXlGb3JtYXRUeXBlID0gJ251bWVyaWMnO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZ5IHRoZSBsaXN0IG9mIGRhdGVzIHRoYXQgY2Fubm90IGJlIHNlbGVjdGVkLlxuICAgKiBAdHlwZSAgKERhdGVbXSB8IERhdGVbXVtdKVxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IGRpc2FibGVkRGF0ZXModmFsdWU6IERhdGVbXSB8IERhdGVbXVtdKSB7XG4gICAgdGhpcy5fZGlzYWJsZWREYXRlcyA9IHZhbHVlO1xuICAgIHRoaXMuY2FsZW5kYXJTZXJ2aWNlLnVwZGF0ZSh7IGRpc2FibGVkRGF0ZXM6IHRoaXMuX2Rpc2FibGVkRGF0ZXMgfSk7XG4gIH1cblxuICBnZXQgZGlzYWJsZWREYXRlcygpOiBEYXRlW10gfCBEYXRlW11bXSB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkRGF0ZXM7XG4gIH1cblxuICBwcml2YXRlIF9kaXNhYmxlZERhdGVzOiAoRGF0ZVtdIHwgRGF0ZVtdW10pID0gW107XG5cbiAgLyoqXG4gICAqIEluaXRpYWwgc2VsZWN0ZWQgZGF0ZS5cbiAgICogQHR5cGUgIChEYXRlIHwgbnVsbClcbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBzdGFydERhdGUodmFsdWU6IERhdGUgfCBudW1iZXIgfCBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgY29uc3QgZGF0ZSA9ICEhdmFsdWUgPyB0cnlEYXRlKHZhbHVlLCAnc3RhcnREYXRlJykgOiBudWxsO1xuICAgIGlmICh0aGlzLl9zdGFydERhdGU/LmdldFRpbWUoKSAhPT0gZGF0ZT8uZ2V0VGltZSgpKSB7XG4gICAgICB0aGlzLl9zdGFydERhdGUgPSBkYXRlO1xuICAgICAgdGhpcy5jYWxlbmRhclNlcnZpY2UudXBkYXRlKHsgc3RhcnREYXRlOiB0aGlzLl9zdGFydERhdGUgfSk7XG4gICAgICBpZiAoIXRoaXMucmFuZ2UgfHwgIXRoaXMuX3N0YXJ0RGF0ZSB8fCAodGhpcy5lbmREYXRlICYmIHRoaXMuX3N0YXJ0RGF0ZSA+IHRoaXMuZW5kRGF0ZSkpIHtcbiAgICAgICAgdGhpcy5lbmREYXRlID0gbnVsbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXQgc3RhcnREYXRlKCkge1xuICAgIHJldHVybiB0aGlzLl9zdGFydERhdGU7XG4gIH1cblxuICBfc3RhcnREYXRlOiBEYXRlIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIEluaXRpYWwgc2VsZWN0ZWQgdG8gZGF0ZSAocmFuZ2UpLlxuICAgKiBAdHlwZSAgKERhdGUgfCBudWxsKVxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IGVuZERhdGUodmFsdWU6IERhdGUgfCBudW1iZXIgfCBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgY29uc3QgZGF0ZSA9ICEhdmFsdWUgPyB0cnlEYXRlKHZhbHVlLCAnZW5kRGF0ZScpIDogbnVsbDtcbiAgICBpZiAodGhpcy5fZW5kRGF0ZT8uZ2V0VGltZSgpICE9PSBkYXRlPy5nZXRUaW1lKCkpIHtcbiAgICAgIHRoaXMuX2VuZERhdGUgPSBkYXRlO1xuICAgICAgLy8gdGhpcy5fZW5kRGF0ZSA9IHRoaXMucmFuZ2UgPyB0aGlzLl9lbmREYXRlIDogbnVsbDtcbiAgICAgIHRoaXMuY2FsZW5kYXJTZXJ2aWNlLnVwZGF0ZSh7IGVuZERhdGU6IHRoaXMuX2VuZERhdGUgfSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGVuZERhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMucmFuZ2UgPyB0aGlzLl9lbmREYXRlIDogbnVsbDtcbiAgfVxuXG4gIF9lbmREYXRlOiAoRGF0ZSB8IG51bGwpID0gbnVsbDtcblxuICAvKipcbiAgICogU2V0cyB0aGUgZGF5IG9mIHN0YXJ0IHdlZWsuXG4gICAqIC0gMCAtIFN1bmRheSxcbiAgICogLSAxIC0gTW9uZGF5LFxuICAgKiAtIDIgLSBUdWVzZGF5LFxuICAgKiAtIDMgLSBXZWRuZXNkYXksXG4gICAqIC0gNCAtIFRodXJzZGF5LFxuICAgKiAtIDUgLSBGcmlkYXksXG4gICAqIC0gNiAtIFNhdHVyZGF5LFxuICAgKlxuICAgKiBAdHlwZSBudW1iZXJcbiAgICogQGRlZmF1bHQgMVxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IGZpcnN0RGF5T2ZXZWVrKHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLl9maXJzdERheU9mV2VlayA9IGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlKTtcbiAgfVxuXG4gIGdldCBmaXJzdERheU9mV2VlaygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9maXJzdERheU9mV2VlaztcbiAgfVxuXG4gIHByaXZhdGUgX2ZpcnN0RGF5T2ZXZWVrOiBudW1iZXIgPSAxO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBkZWZhdWx0IGxvY2FsZSBmb3IgY29tcG9uZW50cy4gSWYgbm90IHNldCwgaXQgaXMgaW5oZXJpdGVkIGZyb20gdGhlIGJyb3dzZXIuXG4gICAqIEBkZWZhdWx0ICdkZWZhdWx0J1xuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IGxvY2FsZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fbG9jYWxlID0gdmFsdWU7XG4gICAgdGhpcy5jYWxlbmRhclNlcnZpY2UudXBkYXRlKHsgbG9jYWxlOiB2YWx1ZSB9KTtcbiAgfVxuXG4gIGdldCBsb2NhbGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2xvY2FsZTtcbiAgfVxuXG4gIHByaXZhdGUgX2xvY2FsZTogc3RyaW5nID0gJ2RlZmF1bHQnO1xuXG4gIC8qKlxuICAgKiBNYXggc2VsZWN0YWJsZSBkYXRlLlxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IG1heERhdGUodmFsdWU6IERhdGUgfCBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fbWF4RGF0ZSA9ICEhdmFsdWUgPyB0cnlEYXRlKHZhbHVlLCAnbWF4RGF0ZScpIDogbnVsbDtcbiAgICB0aGlzLmNhbGVuZGFyU2VydmljZS51cGRhdGUoeyBtYXhEYXRlOiB0aGlzLl9tYXhEYXRlIH0pO1xuICB9XG5cbiAgZ2V0IG1heERhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX21heERhdGU7XG4gIH1cblxuICBwcml2YXRlIF9tYXhEYXRlOiBEYXRlIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIE1pbiBzZWxlY3RhYmxlIGRhdGUuXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgbWluRGF0ZSh2YWx1ZTogRGF0ZSB8IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl9taW5EYXRlID0gdmFsdWUgPyB0cnlEYXRlKHZhbHVlLCAnbWluRGF0ZScpIDogbnVsbDtcbiAgICB0aGlzLmNhbGVuZGFyU2VydmljZS51cGRhdGUoeyBtaW5EYXRlOiB0aGlzLl9taW5EYXRlIH0pO1xuICB9XG5cbiAgZ2V0IG1pbkRhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX21pbkRhdGU7XG4gIH1cblxuICBwcml2YXRlIF9taW5EYXRlOiBEYXRlIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIFNob3cgbmF2aWdhdGlvbi5cbiAgICogQHR5cGUgYm9vbGVhblxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IG5hdmlnYXRpb24odmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9uYXZpZ2F0aW9uID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgfVxuXG4gIGdldCBuYXZpZ2F0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9uYXZpZ2F0aW9uO1xuICB9XG5cbiAgcHJpdmF0ZSBfbmF2aWdhdGlvbjogYm9vbGVhbiA9IHRydWU7XG5cbiAgLyoqXG4gICAqIFJlb3JkZXIgeWVhci1tb250aCBuYXZpZ2F0aW9uLCBhbmQgcmVuZGVyIHllYXIgZmlyc3QuXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBuYXZZZWFyRmlyc3QodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9uYXZZZWFyRmlyc3QgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIHRoaXMuY2FsZW5kYXJTZXJ2aWNlLnVwZGF0ZSh7IG5hdlllYXJGaXJzdDogdGhpcy5fbmF2WWVhckZpcnN0IH0pO1xuICB9XG5cbiAgZ2V0IG5hdlllYXJGaXJzdCgpIHtcbiAgICByZXR1cm4gdGhpcy5fbmF2WWVhckZpcnN0O1xuICB9XG5cbiAgcHJpdmF0ZSBfbmF2WWVhckZpcnN0OiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEFsbG93IHJhbmdlIHNlbGVjdGlvbi5cbiAgICogQHR5cGUgYm9vbGVhblxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IHJhbmdlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fcmFuZ2UgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIHRoaXMuY2FsZW5kYXJTZXJ2aWNlLnVwZGF0ZSh7IHJhbmdlOiB0aGlzLl9yYW5nZSB9KTtcbiAgfVxuXG4gIGdldCByYW5nZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fcmFuZ2U7XG4gIH1cblxuICBwcml2YXRlIF9yYW5nZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBTZXQgY2FsZW5kYXIgdmlldy5cbiAgICogQHR5cGUgJ2RheXMnIHwgJ21vbnRocycgfCAneWVhcnMnXG4gICAqIEBkZWZhdWx0ICdkYXlzJ1xuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IHZpZXcodmFsdWUpIHtcbiAgICB0aGlzLl92aWV3ID0gdmFsdWU7XG4gICAgdGhpcy5jYWxlbmRhclNlcnZpY2UudXBkYXRlKHsgdmlldzogdmFsdWUgfSk7XG4gIH1cblxuICBnZXQgdmlldygpIHtcbiAgICByZXR1cm4gdGhpcy5fdmlldztcbiAgfVxuXG4gIHByaXZhdGUgX3ZpZXc6ICdkYXlzJyB8ICdtb250aHMnIHwgJ3llYXJzJyA9ICdkYXlzJztcblxuICAvKipcbiAgICogU2V0IGxlbmd0aCBvciBmb3JtYXQgb2YgZGF5IG5hbWUuXG4gICAqIEB0eXBlIG51bWJlciB8ICdsb25nJyB8ICduYXJyb3cnIHwgJ3Nob3J0J1xuICAgKiBAZGVmYXVsdCAnc2hvcnQnXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgd2Vla2RheUZvcm1hdCh2YWx1ZTogV2Vla2RheUZvcm1hdFR5cGUpIHtcbiAgICB0aGlzLl93ZWVrZGF5Rm9ybWF0ID0gdmFsdWU7XG4gICAgdGhpcy5jYWxlbmRhclNlcnZpY2UudXBkYXRlKHsgd2Vla2RheUZvcm1hdDogdGhpcy5fd2Vla2RheUZvcm1hdCB9KTtcbiAgfVxuXG4gIGdldCB3ZWVrZGF5Rm9ybWF0KCkge1xuICAgIHJldHVybiB0aGlzLl93ZWVrZGF5Rm9ybWF0O1xuICB9XG5cbiAgcHJpdmF0ZSBfd2Vla2RheUZvcm1hdDogV2Vla2RheUZvcm1hdFR5cGUgPSAnc2hvcnQnO1xuXG4gIEBJbnB1dCgpXG4gIHNldCBkYXRlRmlsdGVyKHZhbHVlOiBEYXRlRmlsdGVyVHlwZSB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuY2FsZW5kYXJTZXJ2aWNlLnVwZGF0ZSh7IGRhdGVGaWx0ZXI6IHZhbHVlIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB3aGV0aGVyIGRheXMgaW4gYWRqYWNlbnQgbW9udGhzIHNob3duIGJlZm9yZSBvciBhZnRlciB0aGUgY3VycmVudCBtb250aCBhcmUgc2VsZWN0YWJsZS4gVGhpcyBvbmx5IGFwcGxpZXMgaWYgdGhlIGBzaG93QWRqYWNlbnREYXlzYCBvcHRpb24gaXMgc2V0IHRvIHRydWUuXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICogQHNpbmNlIDQuNC4xMFxuICAgKi9cbiAgQElucHV0KCkgc2VsZWN0QWRqYWNlbnREYXlzOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFNldCB3aGV0aGVyIHRvIGRpc3BsYXkgZGF0ZXMgaW4gYWRqYWNlbnQgbW9udGhzIChub24tc2VsZWN0YWJsZSkgYXQgdGhlIHN0YXJ0IGFuZCBlbmQgb2YgdGhlIGN1cnJlbnQgbW9udGguXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKiBAc2luY2UgNC40LjEwXG4gICAqL1xuICBASW5wdXQoKSBzaG93QWRqYWNlbnREYXlzOiBib29sZWFuID0gdHJ1ZTtcblxuICBAT3V0cHV0KCkgY2FsZW5kYXJDZWxsSG92ZXI6IEV2ZW50RW1pdHRlcjxEYXRlIHwgbnVsbD4gPSBuZXcgRXZlbnRFbWl0dGVyPERhdGUgfCBudWxsPigpO1xuICBAT3V0cHV0KCkgY2FsZW5kYXJEYXRlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8RGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XG4gIEBPdXRwdXQoKSBlbmREYXRlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8RGF0ZSB8IG51bGw+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlIHwgbnVsbD4oKTtcbiAgQE91dHB1dCgpIHN0YXJ0RGF0ZUNoYW5nZTogRXZlbnRFbWl0dGVyPERhdGUgfCBudWxsPiA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZSB8IG51bGw+KCk7XG4gIEBPdXRwdXQoKSB2aWV3Q2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIC8vIHVzZWQgd2l0aCBjYWxlbmRhclNlcnZpY2VcbiAgc2V0IGhvdmVyRGF0ZSh2YWx1ZTogRGF0ZSB8IG51bGwpIHtcbiAgICB0aGlzLl9ob3ZlckRhdGUgPSB2YWx1ZTtcbiAgICB0aGlzLmNhbGVuZGFyQ2VsbEhvdmVyLmVtaXQodmFsdWUpO1xuICB9XG5cbiAgZ2V0IGhvdmVyRGF0ZSgpOiBEYXRlIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX2hvdmVyRGF0ZTtcbiAgfVxuXG4gIHByaXZhdGUgX2hvdmVyRGF0ZTogRGF0ZSB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgY2FsZW5kYXJTdGF0ZVN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgZ2V0IGhvc3RDbGFzc2VzKCk6IGFueSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICdjYWxlbmRhcnMnOiB0cnVlXG4gICAgfTtcbiAgfVxuXG4gIEBWaWV3Q2hpbGRyZW4oQ2FsZW5kYXJNb250aENvbXBvbmVudCkgY2FsZW5kYXJNb250aHMhOiBRdWVyeUxpc3Q8Q2FsZW5kYXJNb250aENvbXBvbmVudD47XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5jYWxlbmRhclN0YXRlU3Vic2NyaWJlKGZhbHNlKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY2FsZW5kYXJTZXJ2aWNlLnVwZGF0ZSh7XG4gICAgICBsb2NhbGU6IHRoaXMubG9jYWxlLFxuICAgICAgdmlldzogdGhpcy52aWV3LFxuICAgICAgcmFuZ2U6IHRoaXMucmFuZ2UsXG4gICAgICBzaG93QWRqYWNlbnREYXlzOiB0aGlzLnNob3dBZGphY2VudERheXMsXG4gICAgICBzZWxlY3RBZGphY2VudERheXM6IHRoaXMuc2VsZWN0QWRqYWNlbnREYXlzXG4gICAgfSk7XG4gIH1cblxuICBjYWxlbmRhclN0YXRlU3Vic2NyaWJlKHN1YnNjcmliZTogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcbiAgICBpZiAoc3Vic2NyaWJlKSB7XG4gICAgICB0aGlzLmNhbGVuZGFyU3RhdGVTdWJzY3JpcHRpb24gPVxuICAgICAgICB0aGlzLmNhbGVuZGFyU2VydmljZS5jYWxlbmRhclN0YXRlJC5zdWJzY3JpYmUoc3RhdGUgPT4ge1xuICAgICAgICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhzdGF0ZSk7XG4gICAgICAgICAgZm9yIChjb25zdCBrZXkgb2Yga2V5cykge1xuICAgICAgICAgICAgaWYgKGtleSBpbiB0aGlzKSB7XG4gICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgaWYgKHRoaXNba2V5XSAhPT0gc3RhdGVba2V5XSkge1xuICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICB0aGlzW2tleV0gPSBzdGF0ZVtrZXldO1xuICAgICAgICAgICAgICAgIGlmIChrZXkgPT09ICdzdGFydERhdGUnKSB7XG4gICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGFydERhdGVDaGFuZ2UuZW1pdCh0aGlzLl9zdGFydERhdGUpO1xuICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGtleSA9PT0gJ2VuZERhdGUnKSB7XG4gICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbmREYXRlQ2hhbmdlLmVtaXQodGhpcy5fZW5kRGF0ZSk7XG4gICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmNhbGVuZGFyU3RhdGVTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBzZXRDYWxlbmRhclBhZ2UoeWVhcnM6IG51bWJlciwgbW9udGhzID0gMCwgc2V0TW9udGg/OiBudW1iZXIpIHtcbiAgICBjb25zdCB5ZWFyID0gdGhpcy5jYWxlbmRhckRhdGUuZ2V0RnVsbFllYXIoKTtcbiAgICBjb25zdCBtb250aCA9IHRoaXMuY2FsZW5kYXJEYXRlLmdldE1vbnRoKCk7XG4gICAgY29uc3QgZCA9IG5ldyBEYXRlKHllYXIsIG1vbnRoLCAxKTtcblxuICAgIHllYXJzICYmIGQuc2V0RnVsbFllYXIoZC5nZXRGdWxsWWVhcigpICsgeWVhcnMpO1xuICAgIG1vbnRocyAmJiBkLnNldE1vbnRoKGQuZ2V0TW9udGgoKSArIG1vbnRocyk7XG4gICAgdHlwZW9mIHNldE1vbnRoID09PSAnbnVtYmVyJyAmJiBkLnNldE1vbnRoKHNldE1vbnRoKTtcblxuICAgIHRoaXMuY2FsZW5kYXJEYXRlID0gZDtcbiAgfVxuXG4gIGhhbmRsZU5hdmlnYXRpb25DbGljayhkaXJlY3Rpb246ICdwcmV2JyB8ICduZXh0JywgeWVhcnMgPSBmYWxzZSkge1xuICAgIGlmIChkaXJlY3Rpb24gPT09ICdwcmV2Jykge1xuICAgICAgaWYgKHllYXJzKSB7XG4gICAgICAgIHRoaXMuc2V0Q2FsZW5kYXJQYWdlKHRoaXMudmlldyA9PT0gJ3llYXJzJyA/IC0xMCA6IC0xKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy52aWV3ICE9PSAnZGF5cycpIHtcbiAgICAgICAgdGhpcy5zZXRDYWxlbmRhclBhZ2UoLTEpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMuc2V0Q2FsZW5kYXJQYWdlKDAsIC0xKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGRpcmVjdGlvbiA9PT0gJ25leHQnKSB7XG4gICAgICBpZiAoeWVhcnMpIHtcbiAgICAgICAgdGhpcy5zZXRDYWxlbmRhclBhZ2UodGhpcy52aWV3ID09PSAneWVhcnMnID8gMTAgOiAxKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy52aWV3ICE9PSAnZGF5cycpIHtcbiAgICAgICAgdGhpcy5zZXRDYWxlbmRhclBhZ2UoMSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5zZXRDYWxlbmRhclBhZ2UoMCwgMSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENsZWFyIHN0YXJ0RGF0ZSBhbmQgZW5kRGF0ZVxuICAgKiBAdHlwZSB2b2lkXG4gICAqL1xuICBwdWJsaWMgY2xlYXJEYXRlcygpIHtcbiAgICB0aGlzLmNhbGVuZGFyU2VydmljZS51cGRhdGUoeyBlbmREYXRlOiBudWxsIH0pO1xuICAgIHRoaXMuY2FsZW5kYXJTZXJ2aWNlLnVwZGF0ZSh7IHN0YXJ0RGF0ZTogbnVsbCB9KTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY2FsZW5kYXIgb2YgY2FsZW5kYXJzQXJyYXk7IGxldCBpPWluZGV4O1wiPlxuICA8ZGl2IFtuZ0NsYXNzXT1cInZpZXcgfCBjYWxlbmRhckNsYXNzVmlld1wiPlxuICAgIDxjLWNhbGVuZGFyLW5hdmlnYXRpb25cbiAgICAgIFthZGRNb250aHNdPVwiaVwiXG4gICAgICBbbmF2aWdhdGlvbl09XCJuYXZpZ2F0aW9uXCJcbiAgICAgIChuYXZpZ2F0aW9uQ2xpY2spPVwiaGFuZGxlTmF2aWdhdGlvbkNsaWNrKCRldmVudC5kaXJlY3Rpb24sICRldmVudC55ZWFycylcIlxuICAgID48L2MtY2FsZW5kYXItbmF2aWdhdGlvbj5cblxuICAgIDxjLWNhbGVuZGFyLW1vbnRoXG4gICAgICBbYWRkTW9udGhzXT1cImlcIlxuICAgICAgW2ZpcnN0RGF5T2ZXZWVrXT1cImZpcnN0RGF5T2ZXZWVrXCJcbiAgICAgIFt3ZWVrZGF5Rm9ybWF0XT1cIndlZWtkYXlGb3JtYXRcIlxuICAgID48L2MtY2FsZW5kYXItbW9udGg+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|
|
@@ -16,14 +16,14 @@ export class CalendarClassDayPipe {
|
|
|
16
16
|
last: isLastDayOfMonth(date)
|
|
17
17
|
};
|
|
18
18
|
}
|
|
19
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
20
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
19
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: CalendarClassDayPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
20
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.4", ngImport: i0, type: CalendarClassDayPipe, isStandalone: true, name: "calendarClassDay" }); }
|
|
21
21
|
}
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: CalendarClassDayPipe, decorators: [{
|
|
23
23
|
type: Pipe,
|
|
24
24
|
args: [{
|
|
25
25
|
name: 'calendarClassDay',
|
|
26
26
|
standalone: true
|
|
27
27
|
}]
|
|
28
28
|
}] });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItY2xhc3MtZGF5LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL2NhbGVuZGFyL2NhbGVuZGFyLW1vbnRoL2NhbGVuZGFyLWNsYXNzLWRheS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBTTlFLE1BQU0sT0FBTyxvQkFBb0I7SUFFL0IsU0FBUyxDQUFDLE9BQXVDLEVBQUUsV0FBa0Y7UUFDbkksTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUM7UUFDdkMsTUFBTSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsR0FBRyxXQUFXLEVBQUUsQ0FBQztRQUMzRSxhQUFhO1FBQ2IsTUFBTSxRQUFRLEdBQUcsY0FBYyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFbkgsT0FBTztZQUNMLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLEtBQUssRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDO1lBQ3BCLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLElBQUksRUFBRSxLQUFLLEtBQUssTUFBTTtZQUN0QixRQUFRLEVBQUUsS0FBSyxLQUFLLFVBQVU7WUFDOUIsSUFBSSxFQUFFLGdCQUFnQixDQUFDLElBQUksQ0FBQztTQUM3QixDQUFDO0lBQ0osQ0FBQzs4R0FoQlUsb0JBQW9COzRHQUFwQixvQkFBb0I7OzJGQUFwQixvQkFBb0I7a0JBSmhDLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLGtCQUFrQjtvQkFDeEIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaXNEYXRlRGlzYWJsZWQsIGlzTGFzdERheU9mTW9udGgsIGlzVG9kYXkgfSBmcm9tICcuLi9jYWxlbmRhci51dGlscyc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2NhbGVuZGFyQ2xhc3NEYXknLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIENhbGVuZGFyQ2xhc3NEYXlQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgdHJhbnNmb3JtKGRhdGVPYmo6IHsgZGF0ZTogRGF0ZTsgbW9udGg6IHN0cmluZzsgfSwgZGF0ZXNDb25maWc/OiB7IG1pbkRhdGU6IGFueTsgbWF4RGF0ZTogYW55OyBkaXNhYmxlZERhdGVzOiBhbnk7IGRhdGVGaWx0ZXI6IGFueTsgfSk6IGFueSB7XG4gICAgY29uc3QgeyBkYXRlLCBtb250aCB9ID0geyAuLi5kYXRlT2JqIH07XG4gICAgY29uc3QgeyBtaW5EYXRlLCBtYXhEYXRlLCBkaXNhYmxlZERhdGVzLCBkYXRlRmlsdGVyIH0gPSB7IC4uLmRhdGVzQ29uZmlnIH07XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGNvbnN0IGRpc2FibGVkID0gaXNEYXRlRGlzYWJsZWQoZGF0ZSwgbWluRGF0ZSwgbWF4RGF0ZSwgZGlzYWJsZWREYXRlcykgfHwgKGRhdGVGaWx0ZXIgPyAhZGF0ZUZpbHRlcihkYXRlKSA6IGZhbHNlKTtcblxuICAgIHJldHVybiB7XG4gICAgICAnY2FsZW5kYXItY2VsbCc6IHRydWUsXG4gICAgICB0b2RheTogaXNUb2RheShkYXRlKSxcbiAgICAgIGRpc2FibGVkOiBkaXNhYmxlZCxcbiAgICAgIG5leHQ6IG1vbnRoID09PSAnbmV4dCcsXG4gICAgICBwcmV2aW91czogbW9udGggPT09ICdwcmV2aW91cycsXG4gICAgICBsYXN0OiBpc0xhc3REYXlPZk1vbnRoKGRhdGUpXG4gICAgfTtcbiAgfVxufVxuIl19
|
|
@@ -10,14 +10,14 @@ export class CalendarClassMonthPipe {
|
|
|
10
10
|
today: isThisMonth(date, monthIndex)
|
|
11
11
|
};
|
|
12
12
|
}
|
|
13
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
14
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
13
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: CalendarClassMonthPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
14
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.4", ngImport: i0, type: CalendarClassMonthPipe, isStandalone: true, name: "calendarClassMonth" }); }
|
|
15
15
|
}
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: CalendarClassMonthPipe, decorators: [{
|
|
17
17
|
type: Pipe,
|
|
18
18
|
args: [{
|
|
19
19
|
name: 'calendarClassMonth',
|
|
20
20
|
standalone: true
|
|
21
21
|
}]
|
|
22
22
|
}] });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItY2xhc3MtbW9udGgucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvY2FsZW5kYXIvY2FsZW5kYXItbW9udGgvY2FsZW5kYXItY2xhc3MtbW9udGgucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBTWhELE1BQU0sT0FBTyxzQkFBc0I7SUFFakMsU0FBUyxDQUFDLFlBQW9DLEVBQUUsVUFBa0I7UUFDaEUsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFcEMsT0FBTztZQUNMLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLEtBQUssRUFBRSxJQUFJO1lBQ1gsS0FBSyxFQUFFLFdBQVcsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDO1NBQ3JDLENBQUM7SUFDSixDQUFDOzhHQVZVLHNCQUFzQjs0R0FBdEIsc0JBQXNCOzsyRkFBdEIsc0JBQXNCO2tCQUpsQyxJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxvQkFBb0I7b0JBQzFCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzVGhpc01vbnRoIH0gZnJvbSAnLi4vY2FsZW5kYXIudXRpbHMnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdjYWxlbmRhckNsYXNzTW9udGgnLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIENhbGVuZGFyQ2xhc3NNb250aFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICB0cmFuc2Zvcm0oY2FsZW5kYXJEYXRlOiBzdHJpbmcgfCBudW1iZXIgfCBEYXRlLCBtb250aEluZGV4OiBudW1iZXIpOiBhbnkge1xuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZShjYWxlbmRhckRhdGUpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgICdjYWxlbmRhci1jZWxsJzogdHJ1ZSxcbiAgICAgIG1vbnRoOiB0cnVlLFxuICAgICAgdG9kYXk6IGlzVGhpc01vbnRoKGRhdGUsIG1vbnRoSW5kZXgpXG4gICAgfTtcbiAgfVxufVxuIl19
|
|
@@ -9,14 +9,14 @@ export class CalendarClassYearPipe {
|
|
|
9
9
|
today: isThisYear(year)
|
|
10
10
|
};
|
|
11
11
|
}
|
|
12
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
13
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: CalendarClassYearPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
13
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.4", ngImport: i0, type: CalendarClassYearPipe, isStandalone: true, name: "calendarClassYear" }); }
|
|
14
14
|
}
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: CalendarClassYearPipe, decorators: [{
|
|
16
16
|
type: Pipe,
|
|
17
17
|
args: [{
|
|
18
18
|
name: 'calendarClassYear',
|
|
19
19
|
standalone: true
|
|
20
20
|
}]
|
|
21
21
|
}] });
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItY2xhc3MteWVhci5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9jYWxlbmRhci9jYWxlbmRhci1tb250aC9jYWxlbmRhci1jbGFzcy15ZWFyLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQU0vQyxNQUFNLE9BQU8scUJBQXFCO0lBRWhDLFNBQVMsQ0FBQyxJQUFZLEVBQUUsSUFBVTtRQUNoQyxPQUFPO1lBQ0wsZUFBZSxFQUFFLElBQUk7WUFDckIsSUFBSSxFQUFFLElBQUk7WUFDVixLQUFLLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQztTQUN4QixDQUFDO0lBQ0osQ0FBQzs4R0FSVSxxQkFBcUI7NEdBQXJCLHFCQUFxQjs7MkZBQXJCLHFCQUFxQjtrQkFKakMsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsbUJBQW1CO29CQUN6QixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc1RoaXNZZWFyIH0gZnJvbSAnLi4vY2FsZW5kYXIudXRpbHMnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdjYWxlbmRhckNsYXNzWWVhcicsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQ2FsZW5kYXJDbGFzc1llYXJQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgdHJhbnNmb3JtKHllYXI6IG51bWJlciwgYXJncz86IGFueSk6IGFueSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICdjYWxlbmRhci1jZWxsJzogdHJ1ZSxcbiAgICAgIHllYXI6IHRydWUsXG4gICAgICB0b2RheTogaXNUaGlzWWVhcih5ZWFyKVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -4,14 +4,14 @@ export class CalendarDayTitlePipe {
|
|
|
4
4
|
transform(date, locale = 'default') {
|
|
5
5
|
return date.toLocaleDateString(locale);
|
|
6
6
|
}
|
|
7
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
8
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: CalendarDayTitlePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
8
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.4", ngImport: i0, type: CalendarDayTitlePipe, isStandalone: true, name: "calendarDayTitle" }); }
|
|
9
9
|
}
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: CalendarDayTitlePipe, decorators: [{
|
|
11
11
|
type: Pipe,
|
|
12
12
|
args: [{
|
|
13
13
|
name: 'calendarDayTitle',
|
|
14
14
|
standalone: true
|
|
15
15
|
}]
|
|
16
16
|
}] });
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItZGF5LXRpdGxlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL2NhbGVuZGFyL2NhbGVuZGFyLW1vbnRoL2NhbGVuZGFyLWRheS10aXRsZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQU1wRCxNQUFNLE9BQU8sb0JBQW9CO0lBRS9CLFNBQVMsQ0FBQyxJQUFVLEVBQUUsU0FBaUIsU0FBUztRQUM5QyxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN6QyxDQUFDOzhHQUpVLG9CQUFvQjs0R0FBcEIsb0JBQW9COzsyRkFBcEIsb0JBQW9CO2tCQUpoQyxJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxrQkFBa0I7b0JBQ3hCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoe1xuICBuYW1lOiAnY2FsZW5kYXJEYXlUaXRsZScsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQ2FsZW5kYXJEYXlUaXRsZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICB0cmFuc2Zvcm0oZGF0ZTogRGF0ZSwgbG9jYWxlOiBzdHJpbmcgPSAnZGVmYXVsdCcpOiBzdHJpbmcge1xuICAgIHJldHVybiBkYXRlLnRvTG9jYWxlRGF0ZVN0cmluZyhsb2NhbGUpO1xuICB9XG5cbn1cbiJdfQ==
|
|
@@ -67,20 +67,20 @@ export class CalendarDayDirective {
|
|
|
67
67
|
}
|
|
68
68
|
this.calendarStateSubscription?.unsubscribe();
|
|
69
69
|
}
|
|
70
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
71
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
70
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: CalendarDayDirective, deps: [{ token: i1.CalendarService }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
71
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.4", type: CalendarDayDirective, isStandalone: true, selector: "[cCalendarDay]", inputs: { dateObj: ["cCalendarDay", "dateObj"] }, host: { properties: { "class": "this.hostClasses" } }, ngImport: i0 }); }
|
|
72
72
|
}
|
|
73
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
73
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: CalendarDayDirective, decorators: [{
|
|
74
74
|
type: Directive,
|
|
75
75
|
args: [{
|
|
76
76
|
selector: '[cCalendarDay]',
|
|
77
77
|
standalone: true
|
|
78
78
|
}]
|
|
79
|
-
}], ctorParameters:
|
|
79
|
+
}], ctorParameters: () => [{ type: i1.CalendarService }], propDecorators: { dateObj: [{
|
|
80
80
|
type: Input,
|
|
81
81
|
args: ['cCalendarDay']
|
|
82
82
|
}], hostClasses: [{
|
|
83
83
|
type: HostBinding,
|
|
84
84
|
args: ['class']
|
|
85
85
|
}] } });
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItZGF5LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvY2FsZW5kYXIvY2FsZW5kYXItbW9udGgvY2FsZW5kYXItZGF5LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFFekUsT0FBTyxFQUNMLGNBQWMsRUFDZCxhQUFhLEVBQ2IscUJBQXFCLEVBQ3JCLGNBQWMsRUFDZCxTQUFTLEVBQ1QsV0FBVyxFQUNaLE1BQU0sbUJBQW1CLENBQUM7OztBQU8zQixNQUFNLE9BQU8sb0JBQW9CO0lBRS9CLFlBQ1UsZUFBZ0M7UUFBaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBS2xDLFNBQUksR0FBZ0IsSUFBSSxDQUFDO1FBRXpCLGNBQVMsR0FBZ0IsSUFBSSxDQUFDO1FBQzlCLFlBQU8sR0FBZ0IsSUFBSSxDQUFDO1FBQzVCLGNBQVMsR0FBZ0IsSUFBSSxDQUFDO1FBQzlCLFlBQU8sR0FBZ0IsSUFBSSxDQUFDO1FBQzVCLFlBQU8sR0FBZ0IsSUFBSSxDQUFDO1FBQzVCLFVBQUssR0FBWSxLQUFLLENBQUM7UUFWN0IsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDaEMsQ0FBQztJQWlCRCxJQUNJLE9BQU8sQ0FBQyxLQUFvQztRQUM5QyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDdkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMs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QUksQ0FBQyxhQUFhLEVBQ2xDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUM1QixrQkFBa0IsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQzdDLEdBQUcsRUFBRSxHQUFHLEtBQUssRUFBRSxDQUFDO29CQUNqQixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztvQkFDM0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7b0JBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO29CQUNuQixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztvQkFDM0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7b0JBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO29CQUN2QixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztvQkFDbkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7b0JBQzdCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztnQkFDL0MsQ0FBQyxDQUFDLENBQUM7WUFDTCxPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMseUJBQXlCLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDaEQsQ0FBQzs4R0E5RlUsb0JBQW9CO2tHQUFwQixvQkFBb0I7OzJGQUFwQixvQkFBb0I7a0JBSmhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCO29GQXlCSyxPQUFPO3NCQURWLEtBQUs7dUJBQUMsY0FBYztnQkFZakIsV0FBVztzQkFEZCxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIGlzRGF0ZURpc2FibGVkLFxuICBpc0RhdGVJblJhbmdlLFxuICBpc0RhdGVJblJhbmdlRGlzYWJsZWQsXG4gIGlzRGF0ZVNlbGVjdGVkLFxuICBpc0VuZERhdGUsXG4gIGlzU3RhcnREYXRlXG59IGZyb20gJy4uL2NhbGVuZGFyLnV0aWxzJztcbmltcG9ydCB7IENhbGVuZGFyU2VydmljZSwgRGF0ZUZpbHRlclR5cGUgfSBmcm9tICcuLi9jYWxlbmRhci5zZXJ2aWNlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2NDYWxlbmRhckRheV0nLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIENhbGVuZGFyRGF5RGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNhbGVuZGFyU2VydmljZTogQ2FsZW5kYXJTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuY2FsZW5kYXJTdGF0ZVN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBkYXRlOiBEYXRlIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgbW9udGg/OiBzdHJpbmc7XG4gIHByaXZhdGUgc3RhcnREYXRlOiBEYXRlIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgZW5kRGF0ZTogRGF0ZSB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGhvdmVyRGF0ZTogRGF0ZSB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIG1heERhdGU6IERhdGUgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBtaW5EYXRlOiBEYXRlIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgcmFuZ2U6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBkaXNhYmxlZERhdGVzITogKERhdGUgfCBEYXRlW10pW107XG4gIHByaXZhdGUgY2FsZW5kYXJTdGF0ZVN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBkYXRlRmlsdGVyITogRGF0ZUZpbHRlclR5cGU7XG4gIHByaXZhdGUgc2VsZWN0QWRqYWNlbnREYXlzITogYm9vbGVhbjtcblxuICBwcml2YXRlIF9kYXRlT2JqPzogeyBkYXRlOiBEYXRlOyBtb250aDogc3RyaW5nOyB9O1xuXG4gIEBJbnB1dCgnY0NhbGVuZGFyRGF5JylcbiAgc2V0IGRhdGVPYmoodmFsdWU6IHsgZGF0ZTogRGF0ZTsgbW9udGg6IHN0cmluZyB9KSB7XG4gICAgdGhpcy5fZGF0ZU9iaiA9IHZhbHVlO1xuICAgIHRoaXMuZGF0ZSA9IHZhbHVlLmRhdGU7XG4gICAgdGhpcy5tb250aCA9IHZhbHVlLm1vbnRoO1xuICB9XG5cbiAgZ2V0IHNlbGVjdEVuZERhdGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICh0aGlzLnJhbmdlICYmICEhdGhpcy5zdGFydERhdGUgJiYgIXRoaXMuZW5kRGF0ZSk7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgZ2V0IGhvc3RDbGFzc2VzKCk6IGFueSB7XG5cbiAgICBpZiAoIXRoaXMuZGF0ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHJhbmdlSG92ZXIgPSB0aGlzLm1vbnRoID09PSAnY3VycmVudCcgJiYgdGhpcy5zZWxlY3RFbmREYXRlICYmIGlzRGF0ZUluUmFuZ2UodGhpcy5kYXRlLCB0aGlzLnN0YXJ0RGF0ZSwgdGhpcy5ob3ZlckRhdGUpO1xuICAgIGNvbnN0IHN0YXJ0ID0gaXNTdGFydERhdGUodGhpcy5kYXRlLCB0aGlzLnN0YXJ0RGF0ZSwgdGhpcy5lbmREYXRlKTtcbiAgICBjb25zdCBlbmQgPSBpc0VuZERhdGUodGhpcy5kYXRlLCB0aGlzLnN0YXJ0RGF0ZSwgdGhpcy5lbmREYXRlKTtcbiAgICBjb25zdCBpblJhbmdlID0gdGhpcy5tb250aCA9PT0gJ2N1cnJlbnQnICYmIChpc0RhdGVJblJhbmdlKHRoaXMuZGF0ZSwgdGhpcy5zdGFydERhdGUsIHRoaXMuZW5kRGF0ZSkgfHwgISFzdGFydCB8fCAhIWVuZCk7XG4gICAgY29uc3Qgc2VsZWN0ZWQgPSBpc0RhdGVTZWxlY3RlZCh0aGlzLmRhdGUsIHRoaXMuc3RhcnREYXRlLCB0aGlzLmVuZERhdGUpO1xuICAgIGNvbnN0IGRpc2FibGVkUmFuZ2UgPSBpc0RhdGVJblJhbmdlRGlzYWJsZWQodGhpcy5zdGFydERhdGUsIHRoaXMuZGF0ZSwgdGhpcy5kaXNhYmxlZERhdGVzKTtcbiAgICBjb25zdCBkaXNhYmxlZERhdGUgPSBpc0RhdGVEaXNhYmxlZCh0aGlzLmRhdGUsIHRoaXMubWluRGF0ZSwgdGhpcy5tYXhEYXRlLCB0aGlzLmRpc2FibGVkRGF0ZXMpO1xuICAgIGNvbnN0IGRpc2FibGVkQnlGaWx0ZXIgPSB0aGlzLmRhdGVGaWx0ZXIgPyAhdGhpcy5kYXRlRmlsdGVyKHRoaXMuZGF0ZSkgOiBmYWxzZTtcbiAgICBjb25zdCBjbGlja2FibGUgPSB0aGlzLm1vbnRoICE9PSAnY3VycmVudCcgJiYgdGhpcy5zZWxlY3RBZGphY2VudERheXM7XG5cbiAgICByZXR1cm4ge1xuICAgICAgJ3JhbmdlLWhvdmVyJzogcmFuZ2VIb3ZlciAmJiAoIWRpc2FibGVkUmFuZ2UgfHwgIWRpc2FibGVkQnlGaWx0ZXIpLFxuICAgICAgc2VsZWN0ZWQ6ICEhc2VsZWN0ZWQsXG4gICAgICByYW5nZTogaW5SYW5nZSxcbiAgICAgIHN0YXJ0OiAhIXN0YXJ0LFxuICAgICAgZW5kOiAhIWVuZCxcbiAgICAgIGRpc2FibGVkOiBkaXNhYmxlZERhdGUgfHwgZGlzYWJsZWRCeUZpbHRlcixcbiAgICAgIGNsaWNrYWJsZTogY2xpY2thYmxlXG4gICAgfTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuY2FsZW5kYXJTdGF0ZVN1YnNjcmliZShmYWxzZSk7XG4gIH1cblxuICBjYWxlbmRhclN0YXRlU3Vic2NyaWJlKHN1YnNjcmliZTogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcbiAgICBpZiAoc3Vic2NyaWJlKSB7XG4gICAgICB0aGlzLmNhbGVuZGFyU3RhdGVTdWJzY3JpcHRpb24gPVxuICAgICAgICB0aGlzLmNhbGVuZGFyU2VydmljZS5jYWxlbmRhclN0YXRlJC5zdWJzY3JpYmUoc3RhdGUgPT4ge1xuICAgICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgIHN0YXJ0RGF0ZSA9IHRoaXMuc3RhcnREYXRlLFxuICAgICAgICAgICAgZW5kRGF0ZSA9IHRoaXMuZW5kRGF0ZSxcbiAgICAgICAgICAgIGhvdmVyRGF0ZSA9IHRoaXMuaG92ZXJEYXRlLFxuICAgICAgICAgICAgcmFuZ2UgPSB0aGlzLnJhbmdlLFxuICAgICAgICAgICAgbWF4RGF0ZSA9IHRoaXMubWF4RGF0ZSxcbiAgICAgICAgICAgIG1pbkRhdGUgPSB0aGlzLm1pbkRhdGUsXG4gICAgICAgICAgICBkaXNhYmxlZERhdGVzID0gdGhpcy5kaXNhYmxlZERhdGVzLFxuICAgICAgICAgICAgZGF0ZUZpbHRlciA9IHRoaXMuZGF0ZUZpbHRlcixcbiAgICAgICAgICAgIHNlbGVjdEFkamFjZW50RGF5cyA9IHRoaXMuc2VsZWN0QWRqYWNlbnREYXlzXG4gICAgICAgICAgfSA9IHsgLi4uc3RhdGUgfTtcbiAgICAgICAgICB0aGlzLnN0YXJ0RGF0ZSA9IHN0YXJ0RGF0ZTtcbiAgICAgICAgICB0aGlzLmVuZERhdGUgPSBlbmREYXRlO1xuICAgICAgICAgIHRoaXMucmFuZ2UgPSByYW5nZTtcbiAgICAgICAgICB0aGlzLmhvdmVyRGF0ZSA9IGhvdmVyRGF0ZTtcbiAgICAgICAgICB0aGlzLm1heERhdGUgPSBtYXhEYXRlO1xuICAgICAgICAgIHRoaXMubWluRGF0ZSA9IG1pbkRhdGU7XG4gICAgICAgICAgdGhpcy5kaXNhYmxlZERhdGVzID0gZGlzYWJsZWREYXRlcztcbiAgICAgICAgICB0aGlzLmRhdGVGaWx0ZXIgPSBkYXRlRmlsdGVyO1xuICAgICAgICAgIHRoaXMuc2VsZWN0QWRqYWNlbnREYXlzID0gc2VsZWN0QWRqYWNlbnREYXlzO1xuICAgICAgICB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5jYWxlbmRhclN0YXRlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iXX0=
|
|
@@ -6,14 +6,14 @@ export class CalendarDayPipe {
|
|
|
6
6
|
dayFormat(date) :
|
|
7
7
|
date.toLocaleDateString(locale, { day: dayFormat });
|
|
8
8
|
}
|
|
9
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
10
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: CalendarDayPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
10
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.4", ngImport: i0, type: CalendarDayPipe, isStandalone: true, name: "calendarDay" }); }
|
|
11
11
|
}
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: CalendarDayPipe, decorators: [{
|
|
13
13
|
type: Pipe,
|
|
14
14
|
args: [{
|
|
15
15
|
name: 'calendarDay',
|
|
16
16
|
standalone: true
|
|
17
17
|
}]
|
|
18
18
|
}] });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItZGF5LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL2NhbGVuZGFyL2NhbGVuZGFyLW1vbnRoL2NhbGVuZGFyLWRheS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQU9wRCxNQUFNLE9BQU8sZUFBZTtJQUUxQixTQUFTLENBQUMsSUFBVSxFQUFFLFlBQTJCLFNBQVMsRUFBRSxTQUFpQixTQUFTO1FBQ3BGLE9BQU8sT0FBTyxTQUFTLEtBQUssVUFBVSxDQUFDLENBQUM7WUFDdEMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDakIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7OEdBTlUsZUFBZTs0R0FBZixlQUFlOzsyRkFBZixlQUFlO2tCQUozQixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxhQUFhO29CQUNuQixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYXlGb3JtYXRUeXBlIH0gZnJvbSAnLi4vY2FsZW5kYXIuc2VydmljZSc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2NhbGVuZGFyRGF5JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBDYWxlbmRhckRheVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICB0cmFuc2Zvcm0oZGF0ZTogRGF0ZSwgZGF5Rm9ybWF0OiBEYXlGb3JtYXRUeXBlID0gJ251bWVyaWMnLCBsb2NhbGU6IHN0cmluZyA9ICdkZWZhdWx0Jyk6IChzdHJpbmcgfCBudW1iZXIpIHtcbiAgICByZXR1cm4gdHlwZW9mIGRheUZvcm1hdCA9PT0gJ2Z1bmN0aW9uJyA/XG4gICAgICBkYXlGb3JtYXQoZGF0ZSkgOlxuICAgICAgZGF0ZS50b0xvY2FsZURhdGVTdHJpbmcobG9jYWxlLCB7IGRheTogZGF5Rm9ybWF0IH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -295,10 +295,10 @@ export class CalendarMonthComponent {
|
|
|
295
295
|
ngOnDestroy() {
|
|
296
296
|
this.calendarStateSubscribe(false);
|
|
297
297
|
}
|
|
298
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
299
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
298
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: CalendarMonthComponent, deps: [{ token: i1.CalendarService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
299
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.4", type: CalendarMonthComponent, isStandalone: true, selector: "c-calendar-month", inputs: { addMonths: "addMonths", startDate: "startDate", endDate: "endDate", disabledDates: "disabledDates", firstDayOfWeek: "firstDayOfWeek", locale: "locale", range: "range", weekdayFormat: "weekdayFormat", view: "view", maxDate: "maxDate", minDate: "minDate", calendarDate: "calendarDate" }, exportAs: ["cCalendarMonth"], ngImport: i0, template: "<table>\n <thead *ngIf=\"view === 'days'\">\n <tr>\n <th *ngFor=\"let weekDay of weekDays; index as i; count as cnt\" class=\"calendar-cell\">\n <div class=\"calendar-header-cell-inner\">\n {{ weekDay.date | calendarWeekday:weekdayFormat:locale }}\n </div>\n </th>\n </tr>\n </thead>\n <tbody (mouseleave)=\"handleCellMouseLeave()\" [ngSwitch]=\"view\">\n <ng-container *ngSwitchCase=\"'years'\">\n <tr *ngFor=\"let yearsRow of listOfYears; index as rowIdx\">\n <td\n (click)=\"handleYearCellClick(year)\"\n (keyup)=\"handleYearCellKeyUp($event, year)\"\n *ngFor=\"let year of yearsRow; index as idx\"\n [ngClass]=\"year | calendarClassYear\"\n [tabindex]=\"0\"\n >\n <div class=\"calendar-cell-inner\">\n {{ yearNumber(year) }}\n </div>\n </td>\n </tr>\n </ng-container>\n <ng-container *ngSwitchCase=\"'months'\">\n <tr *ngFor=\"let monthsRow of listOfMonths; index as rowIdx\">\n <td\n (click)=\"handleMonthCellClick(rowIdx, idx)\"\n (keyup)=\"handleMonthCellKeyUp($event, rowIdx, idx)\"\n *ngFor=\"let month of monthsRow; index as idx\"\n [ngClass]=\"calendarDate | calendarClassMonth:(rowIdx*3+idx)\"\n [tabindex]=\"0\"\n >\n <div class=\"calendar-cell-inner\">\n {{ month }}\n </div>\n </td>\n </tr>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <tr *ngFor=\"let week of monthDetails; index as i\">\n <ng-container *ngFor=\"let dateObj of week; index as idx\">\n <td *ngIf=\"(dateObj.month === 'current' || showAdjacentDays); else emptyCell\"\n (click)=\"(dateObj.month === 'current' || selectAdjacentDays) && handleDayCellClick(dateObj.date)\"\n (keyup)=\"(dateObj.month === 'current' || selectAdjacentDays) && handleDayCellKeyUp($event, dateObj.date)\"\n (mouseenter)=\"(dateObj.month === 'current' || selectAdjacentDays) && handleCellMouseEnter(dateObj.date)\"\n [cCalendarDay]=\"dateObj\"\n [ngClass]=\"dateObj | calendarClassDay:{minDate, maxDate, disabledDates, dateFilter}\"\n [tabindex]=\"(dateObj.month === 'current' || selectAdjacentDays) && !isDateDisabled(dateObj.date) ? 0 : -1\"\n [title]=\"dateObj.date | calendarDayTitle:locale\"\n >\n <div class=\"calendar-cell-inner\">\n {{ dateObj.date | calendarDay:dayFormat:locale }}\n </div>\n </td>\n <ng-template #emptyCell>\n <td class=\"calendar-cell\"></td>\n </ng-template>\n </ng-container>\n </tr>\n </ng-container>\n </tbody>\n</table>\n\n", dependencies: [{ kind: "directive", type: CalendarDayDirective, selector: "[cCalendarDay]", inputs: ["cCalendarDay"] }, { kind: "pipe", type: CalendarDayPipe, name: "calendarDay" }, { kind: "pipe", type: CalendarDayTitlePipe, name: "calendarDayTitle" }, { 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"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: NgSwitchDefault, selector: "[ngSwitchDefault]" }] }); }
|
|
300
300
|
}
|
|
301
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
301
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: CalendarMonthComponent, decorators: [{
|
|
302
302
|
type: Component,
|
|
303
303
|
args: [{ selector: 'c-calendar-month', exportAs: 'cCalendarMonth', standalone: true, imports: [
|
|
304
304
|
CalendarDayDirective,
|
|
@@ -315,7 +315,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImpo
|
|
|
315
315
|
NgSwitchCase,
|
|
316
316
|
NgSwitchDefault
|
|
317
317
|
], template: "<table>\n <thead *ngIf=\"view === 'days'\">\n <tr>\n <th *ngFor=\"let weekDay of weekDays; index as i; count as cnt\" class=\"calendar-cell\">\n <div class=\"calendar-header-cell-inner\">\n {{ weekDay.date | calendarWeekday:weekdayFormat:locale }}\n </div>\n </th>\n </tr>\n </thead>\n <tbody (mouseleave)=\"handleCellMouseLeave()\" [ngSwitch]=\"view\">\n <ng-container *ngSwitchCase=\"'years'\">\n <tr *ngFor=\"let yearsRow of listOfYears; index as rowIdx\">\n <td\n (click)=\"handleYearCellClick(year)\"\n (keyup)=\"handleYearCellKeyUp($event, year)\"\n *ngFor=\"let year of yearsRow; index as idx\"\n [ngClass]=\"year | calendarClassYear\"\n [tabindex]=\"0\"\n >\n <div class=\"calendar-cell-inner\">\n {{ yearNumber(year) }}\n </div>\n </td>\n </tr>\n </ng-container>\n <ng-container *ngSwitchCase=\"'months'\">\n <tr *ngFor=\"let monthsRow of listOfMonths; index as rowIdx\">\n <td\n (click)=\"handleMonthCellClick(rowIdx, idx)\"\n (keyup)=\"handleMonthCellKeyUp($event, rowIdx, idx)\"\n *ngFor=\"let month of monthsRow; index as idx\"\n [ngClass]=\"calendarDate | calendarClassMonth:(rowIdx*3+idx)\"\n [tabindex]=\"0\"\n >\n <div class=\"calendar-cell-inner\">\n {{ month }}\n </div>\n </td>\n </tr>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <tr *ngFor=\"let week of monthDetails; index as i\">\n <ng-container *ngFor=\"let dateObj of week; index as idx\">\n <td *ngIf=\"(dateObj.month === 'current' || showAdjacentDays); else emptyCell\"\n (click)=\"(dateObj.month === 'current' || selectAdjacentDays) && handleDayCellClick(dateObj.date)\"\n (keyup)=\"(dateObj.month === 'current' || selectAdjacentDays) && handleDayCellKeyUp($event, dateObj.date)\"\n (mouseenter)=\"(dateObj.month === 'current' || selectAdjacentDays) && handleCellMouseEnter(dateObj.date)\"\n [cCalendarDay]=\"dateObj\"\n [ngClass]=\"dateObj | calendarClassDay:{minDate, maxDate, disabledDates, dateFilter}\"\n [tabindex]=\"(dateObj.month === 'current' || selectAdjacentDays) && !isDateDisabled(dateObj.date) ? 0 : -1\"\n [title]=\"dateObj.date | calendarDayTitle:locale\"\n >\n <div class=\"calendar-cell-inner\">\n {{ dateObj.date | calendarDay:dayFormat:locale }}\n </div>\n </td>\n <ng-template #emptyCell>\n <td class=\"calendar-cell\"></td>\n </ng-template>\n </ng-container>\n </tr>\n </ng-container>\n </tbody>\n</table>\n\n" }]
|
|
318
|
-
}], ctorParameters:
|
|
318
|
+
}], ctorParameters: () => [{ type: i1.CalendarService }], propDecorators: { addMonths: [{
|
|
319
319
|
type: Input
|
|
320
320
|
}], startDate: [{
|
|
321
321
|
type: Input
|
|
@@ -340,4 +340,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImpo
|
|
|
340
340
|
}], calendarDate: [{
|
|
341
341
|
type: Input
|
|
342
342
|
}] } });
|
|
343
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItbW9udGguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9jYWxlbmRhci9jYWxlbmRhci1tb250aC9jYWxlbmRhci1tb250aC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL2NhbGVuZGFyL2NhbGVuZGFyLW1vbnRoL2NhbGVuZGFyLW1vbnRoLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUdwRixPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLGVBQWUsRUFDZixjQUFjLEVBQ2QsUUFBUSxFQUNSLGNBQWMsRUFDZCxxQkFBcUIsRUFDckIsT0FBTyxFQUNSLE1BQU0sbUJBQW1CLENBQUM7QUFHM0IsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8s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IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nQ2xhc3MsIE5nRm9yT2YsIE5nSWYsIE5nU3dpdGNoLCBOZ1N3aXRjaENhc2UsIE5nU3dpdGNoRGVmYXVsdCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHksIGNvZXJjZU51bWJlclByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1xuICBjcmVhdGVHcm91cHNJbkFycmF5LFxuICBnZXRNb250aERldGFpbHMsXG4gIGdldE1vbnRoc05hbWVzLFxuICBnZXRZZWFycyxcbiAgaXNEYXRlRGlzYWJsZWQsXG4gIGlzRGF0ZUluUmFuZ2VEaXNhYmxlZCxcbiAgdHJ5RGF0ZVxufSBmcm9tICcuLi9jYWxlbmRhci51dGlscyc7XG5cbmltcG9ydCB7IENhbGVuZGFyU2VydmljZSwgRGF0ZUZpbHRlclR5cGUsIERheUZvcm1hdFR5cGUsIFdlZWtkYXlGb3JtYXRUeXBlIH0gZnJvbSAnLi4vY2FsZW5kYXIuc2VydmljZSc7XG5pbXBvcnQgeyBDYWxlbmRhcldlZWtkYXlQaXBlIH0gZnJvbSAnLi9jYWxlbmRhci13ZWVrZGF5LnBpcGUnO1xuaW1wb3J0IHsgQ2FsZW5kYXJDbGFzc1llYXJQaXBlIH0gZnJvbSAnLi9jYWxlbmRhci1jbGFzcy15ZWFyLnBpcGUnO1xuaW1wb3J0IHsgQ2FsZW5kYXJDbGFzc01vbnRoUGlwZSB9IGZyb20gJy4vY2FsZW5kYXItY2xhc3MtbW9udGgucGlwZSc7XG5pbXBvcnQgeyBDYWxlbmRhckRheVBpcGUgfSBmcm9tICcuL2NhbGVuZGFyLWRheS5waXBlJztcbmltcG9ydCB7IENhbGVuZGFyRGF5RGlyZWN0aXZlIH0gZnJvbSAnLi9jYWxlbmRhci1kYXkuZGlyZWN0aXZlJztcbmltcG9ydCB7IENhbGVuZGFyRGF5VGl0bGVQaXBlIH0gZnJvbSAnLi9jYWxlbmRhci1kYXktdGl0bGUucGlwZSc7XG5pbXBvcnQgeyBDYWxlbmRhckNsYXNzRGF5UGlwZSB9IGZyb20gJy4vY2FsZW5kYXItY2xhc3MtZGF5LnBpcGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjLWNhbGVuZGFyLW1vbnRoJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhbGVuZGFyLW1vbnRoLmNvbXBvbmVudC5odG1sJyxcbiAgZXhwb3J0QXM6ICdjQ2FsZW5kYXJNb250aCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDYWxlbmRhckRheURpcmVjdGl2ZSxcbiAgICBDYWxlbmRhckRheVBpcGUsXG4gICAgQ2FsZW5kYXJEYXlUaXRsZVBpcGUsXG4gICAgQ2FsZW5kYXJDbGFzc0RheVBpcGUsXG4gICAgQ2FsZW5kYXJDbGFzc01vbnRoUGlwZSxcbiAgICBDYWxlbmRhckNsYXNzWWVhclBpcGUsXG4gICAgQ2FsZW5kYXJXZWVrZGF5UGlwZSxcbiAgICBOZ0NsYXNzLFxuICAgIE5nRm9yT2YsXG4gICAgTmdJZixcbiAgICBOZ1N3aXRjaCxcbiAgICBOZ1N3aXRjaENhc2UsXG4gICAgTmdTd2l0Y2hEZWZhdWx0XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQ2FsZW5kYXJNb250aENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNhbGVuZGFyU2VydmljZTogQ2FsZW5kYXJTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuY2FsZW5kYXJTdGF0ZVN1YnNjcmliZSgpO1xuICB9XG5cbiAgQElucHV0KCkgYWRkTW9udGhzOiBudW1iZXIgPSAwO1xuXG4gIC8qKlxuICAgKiBJbml0aWFsIHNlbGVjdGVkIGRhdGUuXG4gICAqIEB0eXBlICAoRGF0ZSB8IG51bGwpXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgc3RhcnREYXRlKHZhbHVlOiBEYXRlIHwgbnVtYmVyIHwgc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IGRhdGUgPSAhIXZhbHVlID8gdHJ5RGF0ZSh2YWx1ZSwgJ3N0YXJ0RGF0ZScpIDogbnVsbDtcbiAgICBpZiAodGhpcy5fc3RhcnREYXRlPy5nZXRUaW1lKCkgIT09IGRhdGU/LmdldFRpbWUoKSkge1xuICAgICAgdGhpcy5fc3RhcnREYXRlID0gZGF0ZTtcbiAgICAgIHRoaXMuY2FsZW5kYXJTZXJ2aWNlLnVwZGF0ZSh7IHN0YXJ0RGF0ZTogdGhpcy5fc3RhcnREYXRlIH0pO1xuICAgIH1cbiAgfVxuXG4gIGdldCBzdGFydERhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXJ0RGF0ZTtcbiAgfVxuXG4gIF9zdGFydERhdGU6IERhdGUgfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogSW5pdGlhbCBzZWxlY3RlZCB0byBkYXRlIChyYW5nZSkuXG4gICAqIEB0eXBlICAoRGF0ZSB8IG51bGwpXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgZW5kRGF0ZSh2YWx1ZTogRGF0ZSB8IG51bWJlciB8IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpIHtcbiAgICBjb25zdCBkYXRlID0gISF2YWx1ZSA/IHRyeURhdGUodmFsdWUsICdlbmREYXRlJykgOiBudWxsO1xuICAgIGlmICh0aGlzLl9lbmREYXRlPy5nZXRUaW1lKCkgIT09IGRhdGU/LmdldFRpbWUoKSkge1xuICAgICAgdGhpcy5fZW5kRGF0ZSA9IGRhdGU7XG4gICAgICB0aGlzLmNhbGVuZGFyU2VydmljZS51cGRhdGUoeyBlbmREYXRlOiB0aGlzLl9lbmREYXRlIH0pO1xuICAgIH1cbiAgfVxuXG4gIGdldCBlbmREYXRlKCkge1xuICAgIHJldHVybiB0aGlzLl9lbmREYXRlO1xuICB9XG5cbiAgX2VuZERhdGU6IChEYXRlIHwgbnVsbCkgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZ5IHRoZSBsaXN0IG9mIGRhdGVzIHRoYXQgY2Fubm90IGJlIHNlbGVjdGVkLlxuICAgKiBAdHlwZSAgKERhdGVbXSB8IERhdGVbXVtdKVxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IGRpc2FibGVkRGF0ZXModmFsdWU6IERhdGVbXSB8IERhdGVbXVtdKSB7XG4gICAgdGhpcy5fZGlzYWJsZWREYXRlcyA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IGRpc2FibGVkRGF0ZXMoKTogRGF0ZVtdIHwgRGF0ZVtdW10ge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZERhdGVzO1xuICB9XG5cbiAgcHJpdmF0ZSBfZGlzYWJsZWREYXRlczogKERhdGVbXSB8IERhdGVbXVtdKSA9IFtdO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBkYXkgb2Ygc3RhcnQgd2Vlay5cbiAgICogLSAwIC0gU3VuZGF5LFxuICAgKiAtIDEgLSBNb25kYXksXG4gICAqIC0gMiAtIFR1ZXNkYXksXG4gICAqIC0gMyAtIFdlZG5lc2RheSxcbiAgICogLSA0IC0gVGh1cnNkYXksXG4gICAqIC0gNSAtIEZyaWRheSxcbiAgICogLSA2IC0gU2F0dXJkYXksXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgZmlyc3REYXlPZldlZWsodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX2ZpcnN0RGF5T2ZXZWVrID0gY29lcmNlTnVtYmVyUHJvcGVydHkodmFsdWUpO1xuICB9XG5cbiAgZ2V0IGZpcnN0RGF5T2ZXZWVrKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2ZpcnN0RGF5T2ZXZWVrO1xuICB9XG5cbiAgcHJpdmF0ZSBfZmlyc3REYXlPZldlZWs6IG51bWJlciA9IDE7XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGRlZmF1bHQgbG9jYWxlIGZvciBjb21wb25lbnRzLiBJZiBub3Qgc2V0LCBpdCBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgYnJvd3Nlci5cbiAgICogQGRlZmF1bHQgJ2RlZmF1bHQnXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgbG9jYWxlKHZhbHVlKSB7XG4gICAgdGhpcy5fbG9jYWxlID0gdmFsdWU7XG4gICAgdGhpcy5saXN0T2ZNb250aHMgPSBjcmVhdGVHcm91cHNJbkFycmF5KGdldE1vbnRoc05hbWVzKHZhbHVlKSwgNCk7XG4gIH1cblxuICBnZXQgbG9jYWxlKCkge1xuICAgIHJldHVybiB0aGlzLl9sb2NhbGU7XG4gIH1cblxuICBwcml2YXRlIF9sb2NhbGU6IHN0cmluZyA9ICdkZWZhdWx0JztcblxuICAvKipcbiAgICogQWxsb3cgcmFuZ2Ugc2VsZWN0aW9uLlxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IHJhbmdlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fcmFuZ2UgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICB9XG5cbiAgZ2V0IHJhbmdlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9yYW5nZTtcbiAgfVxuXG4gIHByaXZhdGUgX3JhbmdlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFNldCBsZW5ndGggb3IgZm9ybWF0IG9mIGRheSBuYW1lLlxuICAgKiBAdHlwZSBudW1iZXIgfCAnbG9uZycgfCAnbmFycm93JyB8ICdzaG9ydCdcbiAgICogQGRlZmF1bHQgJ3Nob3J0J1xuICAgKi9cbiAgQElucHV0KCkgd2Vla2RheUZvcm1hdDogV2Vla2RheUZvcm1hdFR5cGUgPSAnc2hvcnQnO1xuXG4gIC8qKlxuICAgKiBTZXQgY2FsZW5kYXIgdmlldy5cbiAgICogQHR5cGUgJ2RheXMnIHwgJ21vbnRocycgfCAneWVhcnMnXG4gICAqIEBkZWZhdWx0ICdkYXlzJ1xuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IHZpZXcodmFsdWUpIHtcbiAgICB0aGlzLl92aWV3ID0gdmFsdWU7XG4gICAgdGhpcy5saXN0T2ZZZWFycyA9IGNyZWF0ZUdyb3Vwc0luQXJyYXkoZ2V0WWVhcnModGhpcy5kYXRlLmdldEZ1bGxZZWFyKCkpLCA0KTtcbiAgfVxuXG4gIGdldCB2aWV3KCkge1xuICAgIHJldHVybiB0aGlzLl92aWV3O1xuICB9XG5cbiAgcHJpdmF0ZSBfdmlldzogJ2RheXMnIHwgJ21vbnRocycgfCAneWVhcnMnID0gJ2RheXMnO1xuXG4gIC8qKlxuICAgKiBNYXggc2VsZWN0YWJsZSBkYXRlLlxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IG1heERhdGUodmFsdWU6IERhdGUgfCBudWxsKSB7XG4gICAgdGhpcy5fbWF4RGF0ZSA9IHZhbHVlID8gdHJ5RGF0ZSh2YWx1ZSwgJ21heERhdGUnKSA6IG51bGw7XG4gIH1cblxuICBnZXQgbWF4RGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fbWF4RGF0ZTtcbiAgfVxuXG4gIHByaXZhdGUgX21heERhdGU6IERhdGUgfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogTWluIHNlbGVjdGFibGUgZGF0ZS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBtaW5EYXRlKHZhbHVlOiBEYXRlIHwgbnVsbCkge1xuICAgIHRoaXMuX21pbkRhdGUgPSB2YWx1ZSA/IHRyeURhdGUodmFsdWUsICdtaW5EYXRlJykgOiBudWxsO1xuICB9XG5cbiAgZ2V0IG1pbkRhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX21pbkRhdGU7XG4gIH1cblxuICBwcml2YXRlIF9taW5EYXRlOiBEYXRlIHwgbnVsbCA9IG51bGw7XG5cbiAgbGlzdE9mTW9udGhzID0gY3JlYXRlR3JvdXBzSW5BcnJheShnZXRNb250aHNOYW1lcyh0aGlzLmxvY2FsZSksIDQpO1xuICBsaXN0T2ZZZWFycyA9IGNyZWF0ZUdyb3Vwc0luQXJyYXkoZ2V0WWVhcnModGhpcy5kYXRlLmdldEZ1bGxZZWFyKCkpLCA0KTtcbiAgcHJpdmF0ZSBjYWxlbmRhclN0YXRlU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuXG4gIC8qKlxuICAgKiBEZWZhdWx0IGRhdGUgb2YgdGhlIGNvbXBvbmVudFxuICAgKiBAdHlwZSBEYXRlXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgY2FsZW5kYXJEYXRlKHZhbHVlOiAoRGF0ZSB8IHN0cmluZyB8IG51bWJlcikpIHtcbiAgICBjb25zdCBfdmFsdWUgPSBuZXcgRGF0ZSh0cnlEYXRlKCh2YWx1ZSA/PyB0aGlzLnN0YXJ0RGF0ZSksICdjYWxlbmRhckRhdGUnKSk7XG4gICAgaWYgKCEhX3ZhbHVlICYmIHRoaXMuX2NhbGVuZGFyRGF0ZS5nZXRUaW1lKCkgIT09IF92YWx1ZS5nZXRUaW1lKCkpIHtcbiAgICAgIHRoaXMubGlzdE9mWWVhcnMgPSBjcmVhdGVHcm91cHNJbkFycmF5KGdldFllYXJzKF92YWx1ZS5nZXRGdWxsWWVhcigpKSwgNCk7XG4gICAgICB0aGlzLl9jYWxlbmRhckRhdGUgPSBuZXcgRGF0ZShuZXcgRGF0ZShfdmFsdWUuc2V0RGF0ZSgxKSkuc2V0SG91cnMoMCwgMCwgMCwgMCkpO1xuICAgICAgdGhpcy5zZXRNb250aERldGFpbHModGhpcy5kYXRlKTtcbiAgICAgIHRoaXMuY2FsZW5kYXJTZXJ2aWNlLnVwZGF0ZSh7IGNhbGVuZGFyRGF0ZTogdGhpcy5fY2FsZW5kYXJEYXRlIH0pO1xuICAgIH1cbiAgfVxuXG4gIGdldCBjYWxlbmRhckRhdGUoKTogRGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuX2NhbGVuZGFyRGF0ZTtcbiAgfVxuXG4gIHByaXZhdGUgX2NhbGVuZGFyRGF0ZTogRGF0ZSA9IG5ldyBEYXRlKCk7XG5cbiAgZGF0ZUZpbHRlciE6IERhdGVGaWx0ZXJUeXBlO1xuXG4gIGdldCBkYXRlKCkge1xuICAgIHJldHVybiBuZXcgRGF0ZSh0aGlzLmNhbGVuZGFyRGF0ZT8uZ2V0RnVsbFllYXIoKSwgdGhpcy5jYWxlbmRhckRhdGU/LmdldE1vbnRoKCkgKyB0aGlzLmFkZE1vbnRocyk7XG4gIH1cblxuICBkYXlGb3JtYXQhOiBEYXlGb3JtYXRUeXBlO1xuICBzZWxlY3RBZGphY2VudERheXMhOiBib29sZWFuO1xuICBzaG93QWRqYWNlbnREYXlzITogYm9vbGVhbjtcblxuICBwcml2YXRlIF9tb250aERldGFpbHMhOiB7IGRhdGU6IERhdGU7IG1vbnRoOiBzdHJpbmc7IH1bXVtdO1xuXG4gIGdldCBtb250aERldGFpbHMoKTogeyBkYXRlOiBEYXRlOyBtb250aDogc3RyaW5nOyB9W11bXSB7XG4gICAgcmV0dXJuIHRoaXMuX21vbnRoRGV0YWlscztcbiAgfVxuXG4gIGdldCB3ZWVrRGF5cygpIHtcbiAgICByZXR1cm4gdGhpcy5tb250aERldGFpbHNbMF07XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RPZk1vbnRocyA9IGNyZWF0ZUdyb3Vwc0luQXJyYXkoZ2V0TW9udGhzTmFtZXModGhpcy5sb2NhbGUpLCA0KTtcbiAgICB0aGlzLnNldE1vbnRoRGV0YWlscyh0aGlzLmRhdGUpO1xuICB9XG5cbiAgc2V0TW9udGhEZXRhaWxzKGRhdGU6IERhdGUgPSB0aGlzLmRhdGUpIHtcbiAgICB0aGlzLl9tb250aERldGFpbHMgPSBnZXRNb250aERldGFpbHMoXG4gICAgICBkYXRlLmdldEZ1bGxZZWFyKCksXG4gICAgICBkYXRlLmdldE1vbnRoKCksXG4gICAgICB0aGlzLmZpcnN0RGF5T2ZXZWVrXG4gICAgKTtcbiAgfVxuXG4gIHllYXJOdW1iZXIoeWVhcjogYW55KSB7XG4gICAgcmV0dXJuIG5ldyBEYXRlKHllYXIsIDApLnRvTG9jYWxlRGF0ZVN0cmluZyh0aGlzLmxvY2FsZSwgeyB5ZWFyOiAnbnVtZXJpYycgfSk7XG4gIH1cblxuICBpc0RhdGVEaXNhYmxlZChkYXRlOiBEYXRlKSB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHJldHVybiBpc0RhdGVEaXNhYmxlZChkYXRlLCB0aGlzLm1pbkRhdGUsIHRoaXMubWF4RGF0ZSwgdGhpcy5kaXNhYmxlZERhdGVzKSB8fCAodGhpcy5kYXRlRmlsdGVyID8gIXRoaXMuZGF0ZUZpbHRlcihkYXRlKSA6IGZhbHNlKTtcbiAgfVxuXG4gIGNhbGVuZGFyQ2VsbFRpdGxlKGRhdGU6IERhdGUpIHtcbiAgICByZXR1cm4gZGF0ZS50b0xvY2FsZURhdGVTdHJpbmcodGhpcy5sb2NhbGUpO1xuICB9XG5cbiAgaGFuZGxlQ2VsbE1vdXNlRW50ZXIoaG92ZXJEYXRlOiBEYXRlKSB7XG4gICAgY29uc3QgaG92ZXJWYWx1ZSA9IHRoaXMuaXNEYXRlRGlzYWJsZWQoaG92ZXJEYXRlKSA/IG51bGwgOiBob3ZlckRhdGU7XG4gICAgdGhpcy5jYWxlbmRhclNlcnZpY2UudXBkYXRlKHsgaG92ZXJEYXRlOiBob3ZlclZhbHVlIH0pO1xuICB9XG5cbiAgaGFuZGxlWWVhckNlbGxDbGljayh5ZWFyOiBhbnkpIHtcbiAgICBjb25zdCBjYWxlbmRhckRhdGUgPSBuZXcgRGF0ZSh5ZWFyLCB0aGlzLmNhbGVuZGFyRGF0ZS5nZXRNb250aCgpLCAxLCAwLCAwLCAwLCAwKTtcbiAgICB0aGlzLnZpZXcgPSAnbW9udGhzJztcbiAgICB0aGlzLmNhbGVuZGFyU2VydmljZS51cGRhdGUoeyB2aWV3OiB0aGlzLnZpZXcsIGNhbGVuZGFyRGF0ZTogY2FsZW5kYXJEYXRlIH0pO1xuICB9XG5cbiAgaGFuZGxlWWVhckNlbGxLZXlVcCgkZXZlbnQ6IEtleWJvYXJkRXZlbnQsIHllYXI6IGFueSkge1xuICAgIGlmICgkZXZlbnQua2V5ID09PSAnRW50ZXInKSB7XG4gICAgICB0aGlzLmhhbmRsZVllYXJDZWxsQ2xpY2soeWVhcik7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlTW9udGhDZWxsS2V5VXAoJGV2ZW50OiBLZXlib2FyZEV2ZW50LCBpOiBudW1iZXIsIGlkeDogbnVtYmVyKSB7XG4gICAgaWYgKCRldmVudC5rZXkgPT09ICdFbnRlcicpIHtcbiAgICAgIHRoaXMuaGFuZGxlTW9udGhDZWxsQ2xpY2soaSwgaWR4KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVNb250aENlbGxDbGljayhpOiBudW1iZXIsIGlkeDogbnVtYmVyKSB7XG4gICAgdGhpcy5zZXRDYWxlbmRhclBhZ2UoMCwgMCwgaSAqIDMgKyBpZHggLSB0aGlzLmFkZE1vbnRocyk7XG4gICAgdGhpcy52aWV3ID0gJ2RheXMnO1xuICAgIHRoaXMuY2FsZW5kYXJTZXJ2aWNlLnVwZGF0ZSh7IHZpZXc6IHRoaXMudmlldyB9KTtcbiAgfVxuXG4gIHNldENhbGVuZGFyUGFnZSh5ZWFyczogbnVtYmVyLCBtb250aHMgPSAwLCBzZXRNb250aD86IG51bWJlcikge1xuICAgIGNvbnN0IHllYXIgPSB0aGlzLmRhdGUuZ2V0RnVsbFllYXIoKTtcbiAgICBjb25zdCBtb250aCA9IHRoaXMuZGF0ZS5nZXRNb250aCgpO1xuICAgIGNvbnN0IGQgPSBuZXcgRGF0ZSh5ZWFyLCBtb250aCwgMSwgMCwgMCwgMCwgMCk7XG5cbiAgICB5ZWFycyAmJiBkLnNldEZ1bGxZZWFyKGQuZ2V0RnVsbFllYXIoKSArIHllYXJzKTtcbiAgICBtb250aHMgJiYgZC5zZXRNb250aChkLmdldE1vbnRoKCkgKyBtb250aHMpO1xuICAgIHR5cGVvZiBzZXRNb250aCA9PT0gJ251bWJlcicgJiYgZC5zZXRNb250aChzZXRNb250aCk7XG5cbiAgICB0aGlzLmNhbGVuZGFyU2VydmljZS51cGRhdGUoeyBjYWxlbmRhckRhdGU6IGQgfSk7XG4gIH1cblxuICBoYW5kbGVDZWxsTW91c2VMZWF2ZSgpIHtcbiAgICB0aGlzLmNhbGVuZGFyU2VydmljZS51cGRhdGUoeyBob3ZlckRhdGU6IG51bGwgfSk7XG4gIH1cblxuICBoYW5kbGVEYXlDZWxsS2V5VXAoJGV2ZW50OiBLZXlib2FyZEV2ZW50LCBkYXRlOiBEYXRlKSB7XG4gICAgaWYgKCRldmVudC5rZXkgPT09ICdFbnRlcicpIHtcbiAgICAgIHRoaXMuaGFuZGxlRGF5Q2VsbENsaWNrKGRhdGUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoJGV2ZW50LmtleSA9PT0gJ1RhYicpIHtcbiAgICAgIHRoaXMuaGFuZGxlQ2VsbE1vdXNlRW50ZXIoZGF0ZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlRGF5Q2VsbENsaWNrKGRhdGU6IERhdGUpIHtcbiAgICBpZiAodGhpcy5pc0RhdGVEaXNhYmxlZChkYXRlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5yYW5nZSkge1xuICAgICAgdGhpcy5lbmREYXRlID0gbnVsbDtcbiAgICAgIHRoaXMuc3RhcnREYXRlID0gZGF0ZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zdGFydERhdGUgJiYgdGhpcy5lbmREYXRlKSB7XG4gICAgICBjb25zdCBjYWxlbmRhckRhdGUgPSBuZXcgRGF0ZShkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSwgMSwgMCwgMCwgMCwgMCk7XG4gICAgICB0aGlzLmNhbGVuZGFyRGF0ZSA9IGNhbGVuZGFyRGF0ZTtcbiAgICAgIHRoaXMuZW5kRGF0ZSA9IG51bGw7XG4gICAgICB0aGlzLnN0YXJ0RGF0ZSA9IG51bGw7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCEhdGhpcy5zdGFydERhdGUgJiYgIXRoaXMuZW5kRGF0ZSkge1xuICAgICAgaWYgKHRoaXMuc3RhcnREYXRlICYmIGRhdGUgPCB0aGlzLnN0YXJ0RGF0ZSkge1xuICAgICAgICB0aGlzLmVuZERhdGUgPSBudWxsO1xuICAgICAgICB0aGlzLnN0YXJ0RGF0ZSA9IGRhdGU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmVuZERhdGUgPSBkYXRlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmVuZERhdGUgPSBudWxsO1xuICAgICAgdGhpcy5zdGFydERhdGUgPSBkYXRlO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnN0YXJ0RGF0ZSAmJiB0aGlzLmVuZERhdGUpIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGlmIChpc0RhdGVJblJhbmdlRGlzYWJsZWQodGhpcy5zdGFydERhdGUsIHRoaXMuZW5kRGF0ZSwgdGhpcy5kaXNhYmxlZERhdGVzKSkge1xuICAgICAgICB0aGlzLnN0YXJ0RGF0ZSA9IG51bGw7XG4gICAgICAgIHRoaXMuZW5kRGF0ZSA9IG51bGw7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgLy8gbGV0IGRhdGUgPSBuZXcgRGF0ZSh0aGlzLnN0YXJ0RGF0ZSk7XG4gICAgICAvLyB3aGlsZSAoZGF0ZSA8IHRoaXMuZW5kRGF0ZSkge1xuICAgICAgLy8gICBkYXRlLnNldERhdGUoZGF0ZS5nZXREYXRlKCkgKyAxKTtcbiAgICAgIC8vICAgaWYgKHRoaXMuaXNEYXRlRGlzYWJsZWQoZGF0ZSkpIHtcbiAgICAgIC8vICAgICB0aGlzLnN0YXJ0RGF0ZSA9IG51bGw7XG4gICAgICAvLyAgICAgdGhpcy5lbmREYXRlID0gbnVsbDtcbiAgICAgIC8vICAgICBicmVhaztcbiAgICAgIC8vICAgfVxuICAgICAgLy8gfVxuICAgIH1cbiAgfVxuXG4gIGNhbGVuZGFyU3RhdGVTdWJzY3JpYmUoc3Vic2NyaWJlOiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xuICAgIGlmIChzdWJzY3JpYmUpIHtcbiAgICAgIHRoaXMuY2FsZW5kYXJTdGF0ZVN1YnNjcmlwdGlvbiA9XG4gICAgICAgIHRoaXMuY2FsZW5kYXJTZXJ2aWNlLmNhbGVuZGFyU3RhdGUkLnN1YnNjcmliZShzdGF0ZSA9PiB7XG4gICAgICAgICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKHN0YXRlKTtcbiAgICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKSB7XG4gICAgICAgICAgICAvLyBpZiAoa2V5IGluIHRoaXMpIHtcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgIHRoaXNba2V5XSA9IHN0YXRlW2tleV07XG4gICAgICAgICAgICAvLyB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5jYWxlbmRhclN0YXRlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5jYWxlbmRhclN0YXRlU3Vic2NyaWJlKGZhbHNlKTtcbiAgfVxufVxuIiwiPHRhYmxlPlxuICA8dGhlYWQgKm5nSWY9XCJ2aWV3ID09PSAnZGF5cydcIj5cbiAgPHRyPlxuICAgIDx0aCAqbmdGb3I9XCJsZXQgd2Vla0RheSBvZiB3ZWVrRGF5czsgaW5kZXggYXMgaTsgY291bnQgYXMgY250XCIgY2xhc3M9XCJjYWxlbmRhci1jZWxsXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2FsZW5kYXItaGVhZGVyLWNlbGwtaW5uZXJcIj5cbiAgICAgICAge3sgd2Vla0RheS5kYXRlIHwgY2FsZW5kYXJXZWVrZGF5OndlZWtkYXlGb3JtYXQ6bG9jYWxlIH19XG4gICAgICA8L2Rpdj5cbiAgICA8L3RoPlxuICA8L3RyPlxuICA8L3RoZWFkPlxuICA8dGJvZHkgKG1vdXNlbGVhdmUpPVwiaGFuZGxlQ2VsbE1vdXNlTGVhdmUoKVwiIFtuZ1N3aXRjaF09XCJ2aWV3XCI+XG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIid5ZWFycydcIj5cbiAgICA8dHIgKm5nRm9yPVwibGV0IHllYXJzUm93IG9mIGxpc3RPZlllYXJzOyBpbmRleCBhcyByb3dJZHhcIj5cbiAgICAgIDx0ZFxuICAgICAgICAoY2xpY2spPVwiaGFuZGxlWWVhckNlbGxDbGljayh5ZWFyKVwiXG4gICAgICAgIChrZXl1cCk9XCJoYW5kbGVZZWFyQ2VsbEtleVVwKCRldmVudCwgeWVhcilcIlxuICAgICAgICAqbmdGb3I9XCJsZXQgeWVhciBvZiB5ZWFyc1JvdzsgaW5kZXggYXMgaWR4XCJcbiAgICAgICAgW25nQ2xhc3NdPVwieWVhciB8IGNhbGVuZGFyQ2xhc3NZZWFyXCJcbiAgICAgICAgW3RhYmluZGV4XT1cIjBcIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FsZW5kYXItY2VsbC1pbm5lclwiPlxuICAgICAgICAgIHt7IHllYXJOdW1iZXIoeWVhcikgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L3RkPlxuICAgIDwvdHI+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInbW9udGhzJ1wiPlxuICAgIDx0ciAqbmdGb3I9XCJsZXQgbW9udGhzUm93IG9mIGxpc3RPZk1vbnRoczsgaW5kZXggYXMgcm93SWR4XCI+XG4gICAgICA8dGRcbiAgICAgICAgKGNsaWNrKT1cImhhbmRsZU1vbnRoQ2VsbENsaWNrKHJvd0lkeCwgaWR4KVwiXG4gICAgICAgIChrZXl1cCk9XCJoYW5kbGVNb250aENlbGxLZXlVcCgkZXZlbnQsIHJvd0lkeCwgaWR4KVwiXG4gICAgICAgICpuZ0Zvcj1cImxldCBtb250aCBvZiBtb250aHNSb3c7IGluZGV4IGFzIGlkeFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cImNhbGVuZGFyRGF0ZSB8IGNhbGVuZGFyQ2xhc3NNb250aDoocm93SWR4KjMraWR4KVwiXG4gICAgICAgIFt0YWJpbmRleF09XCIwXCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNhbGVuZGFyLWNlbGwtaW5uZXJcIj5cbiAgICAgICAgICB7eyBtb250aCB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvdGQ+XG4gICAgPC90cj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cbiAgICA8dHIgKm5nRm9yPVwibGV0IHdlZWsgb2YgbW9udGhEZXRhaWxzOyBpbmRleCBhcyBpXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBkYXRlT2JqIG9mIHdlZWs7IGluZGV4IGFzIGlkeFwiPlxuICAgICAgICA8dGQgKm5nSWY9XCIoZGF0ZU9iai5tb250aCA9PT0gJ2N1cnJlbnQnIHx8IHNob3dBZGphY2VudERheXMpOyBlbHNlIGVtcHR5Q2VsbFwiXG4gICAgICAgICAgICAoY2xpY2spPVwiKGRhdGVPYmoubW9udGggPT09ICdjdXJyZW50JyB8fCBzZWxlY3RBZGphY2VudERheXMpICYmIGhhbmRsZURheUNlbGxDbGljayhkYXRlT2JqLmRhdGUpXCJcbiAgICAgICAgICAgIChrZXl1cCk9XCIoZGF0ZU9iai5tb250aCA9PT0gJ2N1cnJlbnQnIHx8IHNlbGVjdEFkamFjZW50RGF5cykgJiYgaGFuZGxlRGF5Q2VsbEtleVVwKCRldmVudCwgZGF0ZU9iai5kYXRlKVwiXG4gICAgICAgICAgICAobW91c2VlbnRlcik9XCIoZGF0ZU9iai5tb250aCA9PT0gJ2N1cnJlbnQnIHx8IHNlbGVjdEFkamFjZW50RGF5cykgJiYgaGFuZGxlQ2VsbE1vdXNlRW50ZXIoZGF0ZU9iai5kYXRlKVwiXG4gICAgICAgICAgICBbY0NhbGVuZGFyRGF5XT1cImRhdGVPYmpcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiZGF0ZU9iaiB8IGNhbGVuZGFyQ2xhc3NEYXk6e21pbkRhdGUsIG1heERhdGUsIGRpc2FibGVkRGF0ZXMsIGRhdGVGaWx0ZXJ9XCJcbiAgICAgICAgICAgIFt0YWJpbmRleF09XCIoZGF0ZU9iai5tb250aCA9PT0gJ2N1cnJlbnQnIHx8IHNlbGVjdEFkamFjZW50RGF5cykgJiYgIWlzRGF0ZURpc2FibGVkKGRhdGVPYmouZGF0ZSkgPyAwIDogLTFcIlxuICAgICAgICAgICAgW3RpdGxlXT1cImRhdGVPYmouZGF0ZSB8IGNhbGVuZGFyRGF5VGl0bGU6bG9jYWxlXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYWxlbmRhci1jZWxsLWlubmVyXCI+XG4gICAgICAgICAgICB7eyBkYXRlT2JqLmRhdGUgfCBjYWxlbmRhckRheTpkYXlGb3JtYXQ6bG9jYWxlIH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvdGQ+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZW1wdHlDZWxsPlxuICAgICAgICAgIDx0ZCBjbGFzcz1cImNhbGVuZGFyLWNlbGxcIj48L3RkPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC90cj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDwvdGJvZHk+XG48L3RhYmxlPlxuXG4iXX0=
|
|
343
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItbW9udGguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9jYWxlbmRhci9jYWxlbmRhci1tb250aC9jYWxlbmRhci1tb250aC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL2NhbGVuZGFyL2NhbGVuZGFyLW1vbnRoL2NhbGVuZGFyLW1vbnRoLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUdwRixPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLGVBQWUsRUFDZixjQUFjLEVBQ2QsUUFBUSxFQUNSLGNBQWMsRUFDZCxxQkFBcUIsRUFDckIsT0FBTyxFQUNSLE1BQU0sbUJBQW1CLENBQUM7QUFHM0IsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8s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IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nQ2xhc3MsIE5nRm9yT2YsIE5nSWYsIE5nU3dpdGNoLCBOZ1N3aXRjaENhc2UsIE5nU3dpdGNoRGVmYXVsdCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHksIGNvZXJjZU51bWJlclByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1xuICBjcmVhdGVHcm91cHNJbkFycmF5LFxuICBnZXRNb250aERldGFpbHMsXG4gIGdldE1vbnRoc05hbWVzLFxuICBnZXRZZWFycyxcbiAgaXNEYXRlRGlzYWJsZWQsXG4gIGlzRGF0ZUluUmFuZ2VEaXNhYmxlZCxcbiAgdHJ5RGF0ZVxufSBmcm9tICcuLi9jYWxlbmRhci51dGlscyc7XG5cbmltcG9ydCB7IENhbGVuZGFyU2VydmljZSwgRGF0ZUZpbHRlclR5cGUsIERheUZvcm1hdFR5cGUsIFdlZWtkYXlGb3JtYXRUeXBlIH0gZnJvbSAnLi4vY2FsZW5kYXIuc2VydmljZSc7XG5pbXBvcnQgeyBDYWxlbmRhcldlZWtkYXlQaXBlIH0gZnJvbSAnLi9jYWxlbmRhci13ZWVrZGF5LnBpcGUnO1xuaW1wb3J0IHsgQ2FsZW5kYXJDbGFzc1llYXJQaXBlIH0gZnJvbSAnLi9jYWxlbmRhci1jbGFzcy15ZWFyLnBpcGUnO1xuaW1wb3J0IHsgQ2FsZW5kYXJDbGFzc01vbnRoUGlwZSB9IGZyb20gJy4vY2FsZW5kYXItY2xhc3MtbW9udGgucGlwZSc7XG5pbXBvcnQgeyBDYWxlbmRhckRheVBpcGUgfSBmcm9tICcuL2NhbGVuZGFyLWRheS5waXBlJztcbmltcG9ydCB7IENhbGVuZGFyRGF5RGlyZWN0aXZlIH0gZnJvbSAnLi9jYWxlbmRhci1kYXkuZGlyZWN0aXZlJztcbmltcG9ydCB7IENhbGVuZGFyRGF5VGl0bGVQaXBlIH0gZnJvbSAnLi9jYWxlbmRhci1kYXktdGl0bGUucGlwZSc7XG5pbXBvcnQgeyBDYWxlbmRhckNsYXNzRGF5UGlwZSB9IGZyb20gJy4vY2FsZW5kYXItY2xhc3MtZGF5LnBpcGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjLWNhbGVuZGFyLW1vbnRoJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhbGVuZGFyLW1vbnRoLmNvbXBvbmVudC5odG1sJyxcbiAgZXhwb3J0QXM6ICdjQ2FsZW5kYXJNb250aCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDYWxlbmRhckRheURpcmVjdGl2ZSxcbiAgICBDYWxlbmRhckRheVBpcGUsXG4gICAgQ2FsZW5kYXJEYXlUaXRsZVBpcGUsXG4gICAgQ2FsZW5kYXJDbGFzc0RheVBpcGUsXG4gICAgQ2FsZW5kYXJDbGFzc01vbnRoUGlwZSxcbiAgICBDYWxlbmRhckNsYXNzWWVhclBpcGUsXG4gICAgQ2FsZW5kYXJXZWVrZGF5UGlwZSxcbiAgICBOZ0NsYXNzLFxuICAgIE5nRm9yT2YsXG4gICAgTmdJZixcbiAgICBOZ1N3aXRjaCxcbiAgICBOZ1N3aXRjaENhc2UsXG4gICAgTmdTd2l0Y2hEZWZhdWx0XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQ2FsZW5kYXJNb250aENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNhbGVuZGFyU2VydmljZTogQ2FsZW5kYXJTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuY2FsZW5kYXJTdGF0ZVN1YnNjcmliZSgpO1xuICB9XG5cbiAgQElucHV0KCkgYWRkTW9udGhzOiBudW1iZXIgPSAwO1xuXG4gIC8qKlxuICAgKiBJbml0aWFsIHNlbGVjdGVkIGRhdGUuXG4gICAqIEB0eXBlICAoRGF0ZSB8IG51bGwpXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgc3RhcnREYXRlKHZhbHVlOiBEYXRlIHwgbnVtYmVyIHwgc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IGRhdGUgPSAhIXZhbHVlID8gdHJ5RGF0ZSh2YWx1ZSwgJ3N0YXJ0RGF0ZScpIDogbnVsbDtcbiAgICBpZiAodGhpcy5fc3RhcnREYXRlPy5nZXRUaW1lKCkgIT09IGRhdGU/LmdldFRpbWUoKSkge1xuICAgICAgdGhpcy5fc3RhcnREYXRlID0gZGF0ZTtcbiAgICAgIHRoaXMuY2FsZW5kYXJTZXJ2aWNlLnVwZGF0ZSh7IHN0YXJ0RGF0ZTogdGhpcy5fc3RhcnREYXRlIH0pO1xuICAgIH1cbiAgfVxuXG4gIGdldCBzdGFydERhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXJ0RGF0ZTtcbiAgfVxuXG4gIF9zdGFydERhdGU6IERhdGUgfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogSW5pdGlhbCBzZWxlY3RlZCB0byBkYXRlIChyYW5nZSkuXG4gICAqIEB0eXBlICAoRGF0ZSB8IG51bGwpXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgZW5kRGF0ZSh2YWx1ZTogRGF0ZSB8IG51bWJlciB8IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpIHtcbiAgICBjb25zdCBkYXRlID0gISF2YWx1ZSA/IHRyeURhdGUodmFsdWUsICdlbmREYXRlJykgOiBudWxsO1xuICAgIGlmICh0aGlzLl9lbmREYXRlPy5nZXRUaW1lKCkgIT09IGRhdGU/LmdldFRpbWUoKSkge1xuICAgICAgdGhpcy5fZW5kRGF0ZSA9IGRhdGU7XG4gICAgICB0aGlzLmNhbGVuZGFyU2VydmljZS51cGRhdGUoeyBlbmREYXRlOiB0aGlzLl9lbmREYXRlIH0pO1xuICAgIH1cbiAgfVxuXG4gIGdldCBlbmREYXRlKCkge1xuICAgIHJldHVybiB0aGlzLl9lbmREYXRlO1xuICB9XG5cbiAgX2VuZERhdGU6IChEYXRlIHwgbnVsbCkgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZ5IHRoZSBsaXN0IG9mIGRhdGVzIHRoYXQgY2Fubm90IGJlIHNlbGVjdGVkLlxuICAgKiBAdHlwZSAgKERhdGVbXSB8IERhdGVbXVtdKVxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IGRpc2FibGVkRGF0ZXModmFsdWU6IERhdGVbXSB8IERhdGVbXVtdKSB7XG4gICAgdGhpcy5fZGlzYWJsZWREYXRlcyA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IGRpc2FibGVkRGF0ZXMoKTogRGF0ZVtdIHwgRGF0ZVtdW10ge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZERhdGVzO1xuICB9XG5cbiAgcHJpdmF0ZSBfZGlzYWJsZWREYXRlczogKERhdGVbXSB8IERhdGVbXVtdKSA9IFtdO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBkYXkgb2Ygc3RhcnQgd2Vlay5cbiAgICogLSAwIC0gU3VuZGF5LFxuICAgKiAtIDEgLSBNb25kYXksXG4gICAqIC0gMiAtIFR1ZXNkYXksXG4gICAqIC0gMyAtIFdlZG5lc2RheSxcbiAgICogLSA0IC0gVGh1cnNkYXksXG4gICAqIC0gNSAtIEZyaWRheSxcbiAgICogLSA2IC0gU2F0dXJkYXksXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgZmlyc3REYXlPZldlZWsodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX2ZpcnN0RGF5T2ZXZWVrID0gY29lcmNlTnVtYmVyUHJvcGVydHkodmFsdWUpO1xuICB9XG5cbiAgZ2V0IGZpcnN0RGF5T2ZXZWVrKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2ZpcnN0RGF5T2ZXZWVrO1xuICB9XG5cbiAgcHJpdmF0ZSBfZmlyc3REYXlPZldlZWs6IG51bWJlciA9IDE7XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGRlZmF1bHQgbG9jYWxlIGZvciBjb21wb25lbnRzLiBJZiBub3Qgc2V0LCBpdCBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgYnJvd3Nlci5cbiAgICogQGRlZmF1bHQgJ2RlZmF1bHQnXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgbG9jYWxlKHZhbHVlKSB7XG4gICAgdGhpcy5fbG9jYWxlID0gdmFsdWU7XG4gICAgdGhpcy5saXN0T2ZNb250aHMgPSBjcmVhdGVHcm91cHNJbkFycmF5KGdldE1vbnRoc05hbWVzKHZhbHVlKSwgNCk7XG4gIH1cblxuICBnZXQgbG9jYWxlKCkge1xuICAgIHJldHVybiB0aGlzLl9sb2NhbGU7XG4gIH1cblxuICBwcml2YXRlIF9sb2NhbGU6IHN0cmluZyA9ICdkZWZhdWx0JztcblxuICAvKipcbiAgICogQWxsb3cgcmFuZ2Ugc2VsZWN0aW9uLlxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IHJhbmdlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fcmFuZ2UgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICB9XG5cbiAgZ2V0IHJhbmdlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9yYW5nZTtcbiAgfVxuXG4gIHByaXZhdGUgX3JhbmdlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFNldCBsZW5ndGggb3IgZm9ybWF0IG9mIGRheSBuYW1lLlxuICAgKiBAdHlwZSBudW1iZXIgfCAnbG9uZycgfCAnbmFycm93JyB8ICdzaG9ydCdcbiAgICogQGRlZmF1bHQgJ3Nob3J0J1xuICAgKi9cbiAgQElucHV0KCkgd2Vla2RheUZvcm1hdDogV2Vla2RheUZvcm1hdFR5cGUgPSAnc2hvcnQnO1xuXG4gIC8qKlxuICAgKiBTZXQgY2FsZW5kYXIgdmlldy5cbiAgICogQHR5cGUgJ2RheXMnIHwgJ21vbnRocycgfCAneWVhcnMnXG4gICAqIEBkZWZhdWx0ICdkYXlzJ1xuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IHZpZXcodmFsdWUpIHtcbiAgICB0aGlzLl92aWV3ID0gdmFsdWU7XG4gICAgdGhpcy5saXN0T2ZZZWFycyA9IGNyZWF0ZUdyb3Vwc0luQXJyYXkoZ2V0WWVhcnModGhpcy5kYXRlLmdldEZ1bGxZZWFyKCkpLCA0KTtcbiAgfVxuXG4gIGdldCB2aWV3KCkge1xuICAgIHJldHVybiB0aGlzLl92aWV3O1xuICB9XG5cbiAgcHJpdmF0ZSBfdmlldzogJ2RheXMnIHwgJ21vbnRocycgfCAneWVhcnMnID0gJ2RheXMnO1xuXG4gIC8qKlxuICAgKiBNYXggc2VsZWN0YWJsZSBkYXRlLlxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IG1heERhdGUodmFsdWU6IERhdGUgfCBudWxsKSB7XG4gICAgdGhpcy5fbWF4RGF0ZSA9IHZhbHVlID8gdHJ5RGF0ZSh2YWx1ZSwgJ21heERhdGUnKSA6IG51bGw7XG4gIH1cblxuICBnZXQgbWF4RGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fbWF4RGF0ZTtcbiAgfVxuXG4gIHByaXZhdGUgX21heERhdGU6IERhdGUgfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogTWluIHNlbGVjdGFibGUgZGF0ZS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBtaW5EYXRlKHZhbHVlOiBEYXRlIHwgbnVsbCkge1xuICAgIHRoaXMuX21pbkRhdGUgPSB2YWx1ZSA/IHRyeURhdGUodmFsdWUsICdtaW5EYXRlJykgOiBudWxsO1xuICB9XG5cbiAgZ2V0IG1pbkRhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX21pbkRhdGU7XG4gIH1cblxuICBwcml2YXRlIF9taW5EYXRlOiBEYXRlIHwgbnVsbCA9IG51bGw7XG5cbiAgbGlzdE9mTW9udGhzID0gY3JlYXRlR3JvdXBzSW5BcnJheShnZXRNb250aHNOYW1lcyh0aGlzLmxvY2FsZSksIDQpO1xuICBsaXN0T2ZZZWFycyA9IGNyZWF0ZUdyb3Vwc0luQXJyYXkoZ2V0WWVhcnModGhpcy5kYXRlLmdldEZ1bGxZZWFyKCkpLCA0KTtcbiAgcHJpdmF0ZSBjYWxlbmRhclN0YXRlU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuXG4gIC8qKlxuICAgKiBEZWZhdWx0IGRhdGUgb2YgdGhlIGNvbXBvbmVudFxuICAgKiBAdHlwZSBEYXRlXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgY2FsZW5kYXJEYXRlKHZhbHVlOiAoRGF0ZSB8IHN0cmluZyB8IG51bWJlcikpIHtcbiAgICBjb25zdCBfdmFsdWUgPSBuZXcgRGF0ZSh0cnlEYXRlKCh2YWx1ZSA/PyB0aGlzLnN0YXJ0RGF0ZSksICdjYWxlbmRhckRhdGUnKSk7XG4gICAgaWYgKCEhX3ZhbHVlICYmIHRoaXMuX2NhbGVuZGFyRGF0ZS5nZXRUaW1lKCkgIT09IF92YWx1ZS5nZXRUaW1lKCkpIHtcbiAgICAgIHRoaXMubGlzdE9mWWVhcnMgPSBjcmVhdGVHcm91cHNJbkFycmF5KGdldFllYXJzKF92YWx1ZS5nZXRGdWxsWWVhcigpKSwgNCk7XG4gICAgICB0aGlzLl9jYWxlbmRhckRhdGUgPSBuZXcgRGF0ZShuZXcgRGF0ZShfdmFsdWUuc2V0RGF0ZSgxKSkuc2V0SG91cnMoMCwgMCwgMCwgMCkpO1xuICAgICAgdGhpcy5zZXRNb250aERldGFpbHModGhpcy5kYXRlKTtcbiAgICAgIHRoaXMuY2FsZW5kYXJTZXJ2aWNlLnVwZGF0ZSh7IGNhbGVuZGFyRGF0ZTogdGhpcy5fY2FsZW5kYXJEYXRlIH0pO1xuICAgIH1cbiAgfVxuXG4gIGdldCBjYWxlbmRhckRhdGUoKTogRGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuX2NhbGVuZGFyRGF0ZTtcbiAgfVxuXG4gIHByaXZhdGUgX2NhbGVuZGFyRGF0ZTogRGF0ZSA9IG5ldyBEYXRlKCk7XG5cbiAgZGF0ZUZpbHRlciE6IERhdGVGaWx0ZXJUeXBlO1xuXG4gIGdldCBkYXRlKCkge1xuICAgIHJldHVybiBuZXcgRGF0ZSh0aGlzLmNhbGVuZGFyRGF0ZT8uZ2V0RnVsbFllYXIoKSwgdGhpcy5jYWxlbmRhckRhdGU/LmdldE1vbnRoKCkgKyB0aGlzLmFkZE1vbnRocyk7XG4gIH1cblxuICBkYXlGb3JtYXQhOiBEYXlGb3JtYXRUeXBlO1xuICBzZWxlY3RBZGphY2VudERheXMhOiBib29sZWFuO1xuICBzaG93QWRqYWNlbnREYXlzITogYm9vbGVhbjtcblxuICBwcml2YXRlIF9tb250aERldGFpbHMhOiB7IGRhdGU6IERhdGU7IG1vbnRoOiBzdHJpbmc7IH1bXVtdO1xuXG4gIGdldCBtb250aERldGFpbHMoKTogeyBkYXRlOiBEYXRlOyBtb250aDogc3RyaW5nOyB9W11bXSB7XG4gICAgcmV0dXJuIHRoaXMuX21vbnRoRGV0YWlscztcbiAgfVxuXG4gIGdldCB3ZWVrRGF5cygpIHtcbiAgICByZXR1cm4gdGhpcy5tb250aERldGFpbHNbMF07XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RPZk1vbnRocyA9IGNyZWF0ZUdyb3Vwc0luQXJyYXkoZ2V0TW9udGhzTmFtZXModGhpcy5sb2NhbGUpLCA0KTtcbiAgICB0aGlzLnNldE1vbnRoRGV0YWlscyh0aGlzLmRhdGUpO1xuICB9XG5cbiAgc2V0TW9udGhEZXRhaWxzKGRhdGU6IERhdGUgPSB0aGlzLmRhdGUpIHtcbiAgICB0aGlzLl9tb250aERldGFpbHMgPSBnZXRNb250aERldGFpbHMoXG4gICAgICBkYXRlLmdldEZ1bGxZZWFyKCksXG4gICAgICBkYXRlLmdldE1vbnRoKCksXG4gICAgICB0aGlzLmZpcnN0RGF5T2ZXZWVrXG4gICAgKTtcbiAgfVxuXG4gIHllYXJOdW1iZXIoeWVhcjogYW55KSB7XG4gICAgcmV0dXJuIG5ldyBEYXRlKHllYXIsIDApLnRvTG9jYWxlRGF0ZVN0cmluZyh0aGlzLmxvY2FsZSwgeyB5ZWFyOiAnbnVtZXJpYycgfSk7XG4gIH1cblxuICBpc0RhdGVEaXNhYmxlZChkYXRlOiBEYXRlKSB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHJldHVybiBpc0RhdGVEaXNhYmxlZChkYXRlLCB0aGlzLm1pbkRhdGUsIHRoaXMubWF4RGF0ZSwgdGhpcy5kaXNhYmxlZERhdGVzKSB8fCAodGhpcy5kYXRlRmlsdGVyID8gIXRoaXMuZGF0ZUZpbHRlcihkYXRlKSA6IGZhbHNlKTtcbiAgfVxuXG4gIGNhbGVuZGFyQ2VsbFRpdGxlKGRhdGU6IERhdGUpIHtcbiAgICByZXR1cm4gZGF0ZS50b0xvY2FsZURhdGVTdHJpbmcodGhpcy5sb2NhbGUpO1xuICB9XG5cbiAgaGFuZGxlQ2VsbE1vdXNlRW50ZXIoaG92ZXJEYXRlOiBEYXRlKSB7XG4gICAgY29uc3QgaG92ZXJWYWx1ZSA9IHRoaXMuaXNEYXRlRGlzYWJsZWQoaG92ZXJEYXRlKSA/IG51bGwgOiBob3ZlckRhdGU7XG4gICAgdGhpcy5jYWxlbmRhclNlcnZpY2UudXBkYXRlKHsgaG92ZXJEYXRlOiBob3ZlclZhbHVlIH0pO1xuICB9XG5cbiAgaGFuZGxlWWVhckNlbGxDbGljayh5ZWFyOiBhbnkpIHtcbiAgICBjb25zdCBjYWxlbmRhckRhdGUgPSBuZXcgRGF0ZSh5ZWFyLCB0aGlzLmNhbGVuZGFyRGF0ZS5nZXRNb250aCgpLCAxLCAwLCAwLCAwLCAwKTtcbiAgICB0aGlzLnZpZXcgPSAnbW9udGhzJztcbiAgICB0aGlzLmNhbGVuZGFyU2VydmljZS51cGRhdGUoeyB2aWV3OiB0aGlzLnZpZXcsIGNhbGVuZGFyRGF0ZTogY2FsZW5kYXJEYXRlIH0pO1xuICB9XG5cbiAgaGFuZGxlWWVhckNlbGxLZXlVcCgkZXZlbnQ6IEtleWJvYXJkRXZlbnQsIHllYXI6IGFueSkge1xuICAgIGlmICgkZXZlbnQua2V5ID09PSAnRW50ZXInKSB7XG4gICAgICB0aGlzLmhhbmRsZVllYXJDZWxsQ2xpY2soeWVhcik7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlTW9udGhDZWxsS2V5VXAoJGV2ZW50OiBLZXlib2FyZEV2ZW50LCBpOiBudW1iZXIsIGlkeDogbnVtYmVyKSB7XG4gICAgaWYgKCRldmVudC5rZXkgPT09ICdFbnRlcicpIHtcbiAgICAgIHRoaXMuaGFuZGxlTW9udGhDZWxsQ2xpY2soaSwgaWR4KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVNb250aENlbGxDbGljayhpOiBudW1iZXIsIGlkeDogbnVtYmVyKSB7XG4gICAgdGhpcy5zZXRDYWxlbmRhclBhZ2UoMCwgMCwgaSAqIDMgKyBpZHggLSB0aGlzLmFkZE1vbnRocyk7XG4gICAgdGhpcy52aWV3ID0gJ2RheXMnO1xuICAgIHRoaXMuY2FsZW5kYXJTZXJ2aWNlLnVwZGF0ZSh7IHZpZXc6IHRoaXMudmlldyB9KTtcbiAgfVxuXG4gIHNldENhbGVuZGFyUGFnZSh5ZWFyczogbnVtYmVyLCBtb250aHMgPSAwLCBzZXRNb250aD86IG51bWJlcikge1xuICAgIGNvbnN0IHllYXIgPSB0aGlzLmRhdGUuZ2V0RnVsbFllYXIoKTtcbiAgICBjb25zdCBtb250aCA9IHRoaXMuZGF0ZS5nZXRNb250aCgpO1xuICAgIGNvbnN0IGQgPSBuZXcgRGF0ZSh5ZWFyLCBtb250aCwgMSwgMCwgMCwgMCwgMCk7XG5cbiAgICB5ZWFycyAmJiBkLnNldEZ1bGxZZWFyKGQuZ2V0RnVsbFllYXIoKSArIHllYXJzKTtcbiAgICBtb250aHMgJiYgZC5zZXRNb250aChkLmdldE1vbnRoKCkgKyBtb250aHMpO1xuICAgIHR5cGVvZiBzZXRNb250aCA9PT0gJ251bWJlcicgJiYgZC5zZXRNb250aChzZXRNb250aCk7XG5cbiAgICB0aGlzLmNhbGVuZGFyU2VydmljZS51cGRhdGUoeyBjYWxlbmRhckRhdGU6IGQgfSk7XG4gIH1cblxuICBoYW5kbGVDZWxsTW91c2VMZWF2ZSgpIHtcbiAgICB0aGlzLmNhbGVuZGFyU2VydmljZS51cGRhdGUoeyBob3ZlckRhdGU6IG51bGwgfSk7XG4gIH1cblxuICBoYW5kbGVEYXlDZWxsS2V5VXAoJGV2ZW50OiBLZXlib2FyZEV2ZW50LCBkYXRlOiBEYXRlKSB7XG4gICAgaWYgKCRldmVudC5rZXkgPT09ICdFbnRlcicpIHtcbiAgICAgIHRoaXMuaGFuZGxlRGF5Q2VsbENsaWNrKGRhdGUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoJGV2ZW50LmtleSA9PT0gJ1RhYicpIHtcbiAgICAgIHRoaXMuaGFuZGxlQ2VsbE1vdXNlRW50ZXIoZGF0ZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlRGF5Q2VsbENsaWNrKGRhdGU6IERhdGUpIHtcbiAgICBpZiAodGhpcy5pc0RhdGVEaXNhYmxlZChkYXRlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5yYW5nZSkge1xuICAgICAgdGhpcy5lbmREYXRlID0gbnVsbDtcbiAgICAgIHRoaXMuc3RhcnREYXRlID0gZGF0ZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zdGFydERhdGUgJiYgdGhpcy5lbmREYXRlKSB7XG4gICAgICBjb25zdCBjYWxlbmRhckRhdGUgPSBuZXcgRGF0ZShkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSwgMSwgMCwgMCwgMCwgMCk7XG4gICAgICB0aGlzLmNhbGVuZGFyRGF0ZSA9IGNhbGVuZGFyRGF0ZTtcbiAgICAgIHRoaXMuZW5kRGF0ZSA9IG51bGw7XG4gICAgICB0aGlzLnN0YXJ0RGF0ZSA9IG51bGw7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCEhdGhpcy5zdGFydERhdGUgJiYgIXRoaXMuZW5kRGF0ZSkge1xuICAgICAgaWYgKHRoaXMuc3RhcnREYXRlICYmIGRhdGUgPCB0aGlzLnN0YXJ0RGF0ZSkge1xuICAgICAgICB0aGlzLmVuZERhdGUgPSBudWxsO1xuICAgICAgICB0aGlzLnN0YXJ0RGF0ZSA9IGRhdGU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmVuZERhdGUgPSBkYXRlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmVuZERhdGUgPSBudWxsO1xuICAgICAgdGhpcy5zdGFydERhdGUgPSBkYXRlO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnN0YXJ0RGF0ZSAmJiB0aGlzLmVuZERhdGUpIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGlmIChpc0RhdGVJblJhbmdlRGlzYWJsZWQodGhpcy5zdGFydERhdGUsIHRoaXMuZW5kRGF0ZSwgdGhpcy5kaXNhYmxlZERhdGVzKSkge1xuICAgICAgICB0aGlzLnN0YXJ0RGF0ZSA9IG51bGw7XG4gICAgICAgIHRoaXMuZW5kRGF0ZSA9IG51bGw7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgLy8gbGV0IGRhdGUgPSBuZXcgRGF0ZSh0aGlzLnN0YXJ0RGF0ZSk7XG4gICAgICAvLyB3aGlsZSAoZGF0ZSA8IHRoaXMuZW5kRGF0ZSkge1xuICAgICAgLy8gICBkYXRlLnNldERhdGUoZGF0ZS5nZXREYXRlKCkgKyAxKTtcbiAgICAgIC8vICAgaWYgKHRoaXMuaXNEYXRlRGlzYWJsZWQoZGF0ZSkpIHtcbiAgICAgIC8vICAgICB0aGlzLnN0YXJ0RGF0ZSA9IG51bGw7XG4gICAgICAvLyAgICAgdGhpcy5lbmREYXRlID0gbnVsbDtcbiAgICAgIC8vICAgICBicmVhaztcbiAgICAgIC8vICAgfVxuICAgICAgLy8gfVxuICAgIH1cbiAgfVxuXG4gIGNhbGVuZGFyU3RhdGVTdWJzY3JpYmUoc3Vic2NyaWJlOiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xuICAgIGlmIChzdWJzY3JpYmUpIHtcbiAgICAgIHRoaXMuY2FsZW5kYXJTdGF0ZVN1YnNjcmlwdGlvbiA9XG4gICAgICAgIHRoaXMuY2FsZW5kYXJTZXJ2aWNlLmNhbGVuZGFyU3RhdGUkLnN1YnNjcmliZShzdGF0ZSA9PiB7XG4gICAgICAgICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKHN0YXRlKTtcbiAgICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKSB7XG4gICAgICAgICAgICAvLyBpZiAoa2V5IGluIHRoaXMpIHtcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgIHRoaXNba2V5XSA9IHN0YXRlW2tleV07XG4gICAgICAgICAgICAvLyB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5jYWxlbmRhclN0YXRlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5jYWxlbmRhclN0YXRlU3Vic2NyaWJlKGZhbHNlKTtcbiAgfVxufVxuIiwiPHRhYmxlPlxuICA8dGhlYWQgKm5nSWY9XCJ2aWV3ID09PSAnZGF5cydcIj5cbiAgPHRyPlxuICAgIDx0aCAqbmdGb3I9XCJsZXQgd2Vla0RheSBvZiB3ZWVrRGF5czsgaW5kZXggYXMgaTsgY291bnQgYXMgY250XCIgY2xhc3M9XCJjYWxlbmRhci1jZWxsXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2FsZW5kYXItaGVhZGVyLWNlbGwtaW5uZXJcIj5cbiAgICAgICAge3sgd2Vla0RheS5kYXRlIHwgY2FsZW5kYXJXZWVrZGF5OndlZWtkYXlGb3JtYXQ6bG9jYWxlIH19XG4gICAgICA8L2Rpdj5cbiAgICA8L3RoPlxuICA8L3RyPlxuICA8L3RoZWFkPlxuICA8dGJvZHkgKG1vdXNlbGVhdmUpPVwiaGFuZGxlQ2VsbE1vdXNlTGVhdmUoKVwiIFtuZ1N3aXRjaF09XCJ2aWV3XCI+XG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIid5ZWFycydcIj5cbiAgICA8dHIgKm5nRm9yPVwibGV0IHllYXJzUm93IG9mIGxpc3RPZlllYXJzOyBpbmRleCBhcyByb3dJZHhcIj5cbiAgICAgIDx0ZFxuICAgICAgICAoY2xpY2spPVwiaGFuZGxlWWVhckNlbGxDbGljayh5ZWFyKVwiXG4gICAgICAgIChrZXl1cCk9XCJoYW5kbGVZZWFyQ2VsbEtleVVwKCRldmVudCwgeWVhcilcIlxuICAgICAgICAqbmdGb3I9XCJsZXQgeWVhciBvZiB5ZWFyc1JvdzsgaW5kZXggYXMgaWR4XCJcbiAgICAgICAgW25nQ2xhc3NdPVwieWVhciB8IGNhbGVuZGFyQ2xhc3NZZWFyXCJcbiAgICAgICAgW3RhYmluZGV4XT1cIjBcIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FsZW5kYXItY2VsbC1pbm5lclwiPlxuICAgICAgICAgIHt7IHllYXJOdW1iZXIoeWVhcikgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L3RkPlxuICAgIDwvdHI+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInbW9udGhzJ1wiPlxuICAgIDx0ciAqbmdGb3I9XCJsZXQgbW9udGhzUm93IG9mIGxpc3RPZk1vbnRoczsgaW5kZXggYXMgcm93SWR4XCI+XG4gICAgICA8dGRcbiAgICAgICAgKGNsaWNrKT1cImhhbmRsZU1vbnRoQ2VsbENsaWNrKHJvd0lkeCwgaWR4KVwiXG4gICAgICAgIChrZXl1cCk9XCJoYW5kbGVNb250aENlbGxLZXlVcCgkZXZlbnQsIHJvd0lkeCwgaWR4KVwiXG4gICAgICAgICpuZ0Zvcj1cImxldCBtb250aCBvZiBtb250aHNSb3c7IGluZGV4IGFzIGlkeFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cImNhbGVuZGFyRGF0ZSB8IGNhbGVuZGFyQ2xhc3NNb250aDoocm93SWR4KjMraWR4KVwiXG4gICAgICAgIFt0YWJpbmRleF09XCIwXCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNhbGVuZGFyLWNlbGwtaW5uZXJcIj5cbiAgICAgICAgICB7eyBtb250aCB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvdGQ+XG4gICAgPC90cj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cbiAgICA8dHIgKm5nRm9yPVwibGV0IHdlZWsgb2YgbW9udGhEZXRhaWxzOyBpbmRleCBhcyBpXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBkYXRlT2JqIG9mIHdlZWs7IGluZGV4IGFzIGlkeFwiPlxuICAgICAgICA8dGQgKm5nSWY9XCIoZGF0ZU9iai5tb250aCA9PT0gJ2N1cnJlbnQnIHx8IHNob3dBZGphY2VudERheXMpOyBlbHNlIGVtcHR5Q2VsbFwiXG4gICAgICAgICAgICAoY2xpY2spPVwiKGRhdGVPYmoubW9udGggPT09ICdjdXJyZW50JyB8fCBzZWxlY3RBZGphY2VudERheXMpICYmIGhhbmRsZURheUNlbGxDbGljayhkYXRlT2JqLmRhdGUpXCJcbiAgICAgICAgICAgIChrZXl1cCk9XCIoZGF0ZU9iai5tb250aCA9PT0gJ2N1cnJlbnQnIHx8IHNlbGVjdEFkamFjZW50RGF5cykgJiYgaGFuZGxlRGF5Q2VsbEtleVVwKCRldmVudCwgZGF0ZU9iai5kYXRlKVwiXG4gICAgICAgICAgICAobW91c2VlbnRlcik9XCIoZGF0ZU9iai5tb250aCA9PT0gJ2N1cnJlbnQnIHx8IHNlbGVjdEFkamFjZW50RGF5cykgJiYgaGFuZGxlQ2VsbE1vdXNlRW50ZXIoZGF0ZU9iai5kYXRlKVwiXG4gICAgICAgICAgICBbY0NhbGVuZGFyRGF5XT1cImRhdGVPYmpcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiZGF0ZU9iaiB8IGNhbGVuZGFyQ2xhc3NEYXk6e21pbkRhdGUsIG1heERhdGUsIGRpc2FibGVkRGF0ZXMsIGRhdGVGaWx0ZXJ9XCJcbiAgICAgICAgICAgIFt0YWJpbmRleF09XCIoZGF0ZU9iai5tb250aCA9PT0gJ2N1cnJlbnQnIHx8IHNlbGVjdEFkamFjZW50RGF5cykgJiYgIWlzRGF0ZURpc2FibGVkKGRhdGVPYmouZGF0ZSkgPyAwIDogLTFcIlxuICAgICAgICAgICAgW3RpdGxlXT1cImRhdGVPYmouZGF0ZSB8IGNhbGVuZGFyRGF5VGl0bGU6bG9jYWxlXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYWxlbmRhci1jZWxsLWlubmVyXCI+XG4gICAgICAgICAgICB7eyBkYXRlT2JqLmRhdGUgfCBjYWxlbmRhckRheTpkYXlGb3JtYXQ6bG9jYWxlIH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvdGQ+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZW1wdHlDZWxsPlxuICAgICAgICAgIDx0ZCBjbGFzcz1cImNhbGVuZGFyLWNlbGxcIj48L3RkPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC90cj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDwvdGJvZHk+XG48L3RhYmxlPlxuXG4iXX0=
|