@progressio_resources/gravity-design-system 3.3.30 → 3.3.31
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/esm2022/lib/components/gravity-avatar-stack/gravity-avatar-stack.component.mjs +2 -2
- package/esm2022/lib/components/gravity-calendar-next/components/day-calendar/day-calendar.component.mjs +2 -2
- package/esm2022/lib/components/gravity-calendar-next/components/month-calendar/month-calendar.component.mjs +2 -2
- package/esm2022/lib/components/gravity-calendar-next/components/year-calendar/year-calendar.component.mjs +2 -2
- package/esm2022/lib/components/gravity-calendar-next/gravity-calendar-next.component.mjs +2 -2
- package/esm2022/lib/components/gravity-calendar-v2/datepicker/components/bs-datepicker-container.component.mjs +3 -3
- package/esm2022/lib/components/gravity-calendar-v2/datepicker/components/bs-datepicker-inline-container.component.mjs +3 -3
- package/esm2022/lib/components/gravity-calendar-v2/datepicker/components/bs-daterangepicker-container.component.mjs +3 -3
- package/esm2022/lib/components/gravity-calendar-v2/datepicker/components/bs-daterangepicker-inline-container.component.mjs +3 -3
- package/esm2022/lib/components/gravity-card-list/gravity-card-list.component.mjs +2 -2
- package/esm2022/lib/components/gravity-chip-group/gravity-chip-group.component.mjs +2 -2
- package/esm2022/lib/components/gravity-currency/gravity-currency.component.mjs +2 -2
- package/esm2022/lib/components/gravity-currency-display/gravity-currency-display.component.mjs +2 -2
- package/esm2022/lib/components/gravity-currency-display-v2/gravity-currency-display-v2.component.mjs +2 -2
- package/esm2022/lib/components/gravity-data-view/gravity-data-view.component.mjs +2 -2
- package/esm2022/lib/components/gravity-dropdown-list/gravity-dropdown-list.component.mjs +35 -39
- package/esm2022/lib/components/gravity-dropdown-list-display/gravity-dropdown-list-display.component.mjs +5 -5
- package/esm2022/lib/components/gravity-icon-button/gravity-icon-button.component.mjs +2 -2
- package/esm2022/lib/components/gravity-modal/gravity-modal.component.mjs +2 -2
- package/esm2022/lib/components/gravity-navigation-card/gravity-navigation-card.component.mjs +2 -2
- package/esm2022/lib/components/gravity-network-pill/gravity-network-pill.component.mjs +3 -3
- package/esm2022/lib/components/gravity-segmented-button/gravity-segmented-button.component.mjs +2 -2
- package/fesm2022/progressio_resources-gravity-design-system.mjs +129 -134
- package/fesm2022/progressio_resources-gravity-design-system.mjs.map +1 -1
- package/lib/components/gravity-dropdown-list/gravity-dropdown-list.component.d.ts +21 -21
- package/package.json +1 -1
- package/src/lib/styles/foundations/spacing/_spacing.scss +13 -12
|
@@ -179,7 +179,7 @@ export class BsDaterangepickerContainerComponent extends BsDatepickerAbstractCom
|
|
|
179
179
|
}
|
|
180
180
|
}
|
|
181
181
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BsDaterangepickerContainerComponent, deps: [{ token: i1.HeaderTypeService }, { token: i0.Renderer2 }, { token: i2.BsDatepickerConfig }, { token: i3.BsDatepickerCallbacks }, { token: i4.BsDatepickerStore }, { token: i0.ElementRef }, { token: i5.BsDatepickerActions }, { token: i6.BsDatepickerEffects }, { token: i7.PositioningService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
182
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: BsDaterangepickerContainerComponent, selector: "gt-daterangepicker-container", host: { attributes: { "aria-label": "calendar", "role": "dialog" }, listeners: { "click": "$event.stopPropagation()" }, classAttribute: "bottom" }, providers: [BsDatepickerStore, BsDatepickerEffects], usesInheritance: true, ngImport: i0, template: "<div class=\"gt-calendar {{calendarSize}} {{calendarSpacing}} {{viewMode | async}}\" [class.is-mobile]=\"_config.isMobile\" *ngIf=\"viewMode | async\"\n [@datepickerAnimation]=\"animationState\" (@datepickerAnimation.done)=\"positionServiceEnable()\">\n\n <ng-container *ngIf=\"(isRangePicker || _config.isMobile) && headerTypeService.getCalendarType() === 'days'\">\n <div class=\"gt-calendar-topbar-indicator\">\n <ng-container *ngIf=\"isRangePicker\">\n <p class=\"hr-title\" [class.sm-regular]=\"chosenRange?.length > 0\"\n [class.sm-bold]=\"chosenRange?.length == 0\">\n <ng-container *ngIf=\"chosenRange?.length == 0\">Start date</ng-container>\n <ng-container *ngIf=\"chosenRange?.length > 0\">{{ chosenRange[0] | date : 'MMM d, y' }}</ng-container>\n </p>\n <gravity-icon [iconName]=\"'swaps-arrow-right'\" [iconSize]=\"'sm-12'\"></gravity-icon>\n <p class=\"hr-title\" [class.sm-regular]=\"chosenRange?.length > 1 || chosenRange?.length == 0\"\n [class.sm-bold]=\"chosenRange?.length == 1\">\n <ng-container *ngIf=\"chosenRange?.length < 2\">End date</ng-container>\n <ng-container *ngIf=\"chosenRange?.length > 1\">{{ chosenRange[1] | date : 'MMM d, y' }}</ng-container>\n </p>\n </ng-container>\n <ng-container *ngIf=\"!isRangePicker\">\n <p class=\"hr-title sm-bold\">\n <ng-container *ngIf=\"!_config.value\">Select date</ng-container>\n <ng-container *ngIf=\"_config.value\">{{ _config.value.toString() | date : 'MMM d, y' }}</ng-container>\n </p>\n </ng-container>\n </div>\n\n <hr class=\"gt-calendar-topbar-line\">\n </ng-container>\n\n <div class=\"gt-calendars\" [ngSwitch]=\"viewMode | async\" role=\"application\">\n\n <!--days calendar-->\n <ng-container *ngSwitchCase=\"'day'\">\n <bs-days-calendar-view [calendar]=\"calendar\"\n [calendarIndex]=\"i\"\n [isDisabled]=\"isDisabled\"\n [options]=\"options$ | async\"\n [showNavigationArrows]=\"showNavigationArrows\"\n [size]=\"_config.isMobile ? 'md' : calendarSize\"\n\n *ngFor=\"let calendar of daysCalendar$ | async; let i = index\"\n\n (onHover)=\"dayHoverHandler($event)\"\n (onNavigate)=\"navigateTo($event)\"\n (onSelect)=\"daySelectHandler($event)\"\n (onViewMode)=\"setViewMode($event)\"></bs-days-calendar-view>\n </ng-container>\n\n <!--months calendar-->\n <ng-container *ngSwitchCase=\"'month'\">\n <ng-container *ngIf=\"_config.isMobile; else nonMobile\">\n <ng-container *ngFor=\"let calendar of monthsCalendar | async; let i = index\">\n <bs-month-calendar-view *ngIf=\"i === 0\"\n [calendar]=\"calendar\"\n [calendarIndex]=\"i\"\n [showNavigationArrows]=\"showNavigationArrows\"\n [size]=\"_config.isMobile ? 'md' : calendarSize\"\n [calendarLang]=\"_config.calendarLang\"\n (onHover)=\"monthHoverHandler($event)\"\n (onNavigate)=\"navigateTo($event)\"\n (onSelect)=\"monthSelectHandler($event)\"\n (onViewMode)=\"setViewMode($event)\">\n </bs-month-calendar-view>\n </ng-container>\n </ng-container>\n <ng-template #nonMobile>\n <ng-container *ngFor=\"let calendar of monthsCalendar | async; let i = index\">\n <bs-month-calendar-view [calendar]=\"calendar\"\n [calendarIndex]=\"i\"\n [showNavigationArrows]=\"showNavigationArrows\"\n [size]=\"_config.isMobile ? 'md' : calendarSize\"\n [calendarLang]=\"_config.calendarLang\"\n (onHover)=\"monthHoverHandler($event)\"\n (onNavigate)=\"navigateTo($event)\"\n (onSelect)=\"monthSelectHandler($event)\"\n (onViewMode)=\"setViewMode($event)\">\n </bs-month-calendar-view>\n </ng-container>\n </ng-template>\n </ng-container>\n\n <!--years calendar-->\n <ng-container *ngSwitchCase=\"'year'\">\n <ng-container *ngIf=\"_config.isMobile; else nonMobile\">\n <ng-container *ngFor=\"let calendar of yearsCalendar | async; let i = index\">\n <bs-years-calendar-view *ngIf=\"i === 0\"\n [calendar]=\"calendar\"\n [calendarIndex]=\"i\"\n [showNavigationArrows]=\"showNavigationArrows\"\n [size]=\"_config.isMobile ? 'md' : calendarSize\"\n (onHover)=\"yearHoverHandler($event)\"\n (onNavigate)=\"navigateTo($event)\"\n (onSelect)=\"yearSelectHandler($event)\"\n (onViewMode)=\"setViewMode($event)\">\n </bs-years-calendar-view>\n </ng-container>\n </ng-container>\n <ng-template #nonMobile>\n <ng-container *ngFor=\"let calendar of yearsCalendar | async; let i = index\">\n <bs-years-calendar-view [calendar]=\"calendar\"\n [calendarIndex]=\"i\"\n [showNavigationArrows]=\"showNavigationArrows\"\n [size]=\"_config.isMobile ? 'md' : calendarSize\"\n (onHover)=\"yearHoverHandler($event)\"\n (onNavigate)=\"navigateTo($event)\"\n (onSelect)=\"yearSelectHandler($event)\"\n (onViewMode)=\"setViewMode($event)\">\n </bs-years-calendar-view>\n </ng-container>\n </ng-template>\n </ng-container>\n </div>\n\n <div class=\"gt-calendar-footer\" *ngIf=\"(viewMode | async) == 'day'\"\n [class.bs-datepicker-multiple]=\"isRangePicker && _config.displayMonths > 1\" [class.not-clearable]=\"!_config.clearable\">\n <gravity-link [linkText]=\"_config.calendarLang == 'es' ? 'Limpiar' : 'Clear selection'\" [link]=\"''\"\n [state]=\"isEmpty ? 'disabled' : 'active'\" (click)=\"clearDate()\"></gravity-link>\n <p class=\"apply hr-label pointer sm-bold\" [class.empty]=\"isEmpty\" (click)=\"apply()\">Apply</p>\n </div>\n</div>\n\n", styles: [".border-radius-none{border-radius:0}.border-radius-xs{border-radius:.0625rem}.border-radius-sm{border-radius:.3125rem}.border-radius-md{border-radius:.625rem}.border-radius-lg{border-radius:.9375rem}.border-radius-xl{border-radius:1.25rem}.border-radius-xxl{border-radius:2rem}.border-radius-rounded{border-radius:6.25rem}:root{--gravity-spacing-none: 0;--gravity-spacing-xxs: .25rem;--gravity-spacing-xs: .5rem;--gravity-spacing-sm: 1rem;--gravity-spacing-md: 1.5rem;--gravity-spacing-lg: 2rem;--gravity-spacing-xl: 2.5rem;--gravity-spacing-xxl: 3rem;--gravity-spacing-xxxl: 4rem;--gravity-spacing-xxxxl: 6rem;--gravity-spacing-xxxxxl: 12rem}.gravity-padding-none{padding:0!important}.gravity-padding-top-none{padding-top:0!important}.gravity-padding-bottom-none{padding-bottom:0!important}.gravity-padding-left-none{padding-left:0!important}.gravity-padding-right-none{padding-right:0!important}.gravity-padding-block-none{padding-block:0!important}.gravity-padding-inline-none{padding-inline:0!important}.gravity-padding-xxs{padding:.25rem!important}.gravity-padding-top-xxs{padding-top:.25rem!important}.gravity-padding-bottom-xxs{padding-bottom:.25rem!important}.gravity-padding-left-xxs{padding-left:.25rem!important}.gravity-padding-right-xxs{padding-right:.25rem!important}.gravity-padding-block-xxs{padding-block:.25rem!important}.gravity-padding-inline-xxs{padding-inline:.25rem!important}.gravity-padding-xs{padding:.5rem!important}.gravity-padding-top-xs{padding-top:.5rem!important}.gravity-padding-bottom-xs{padding-bottom:.5rem!important}.gravity-padding-left-xs{padding-left:.5rem!important}.gravity-padding-right-xs{padding-right:.5rem!important}.gravity-padding-block-xs{padding-block:.5rem!important}.gravity-padding-inline-xs{padding-inline:.5rem!important}.gravity-padding-sm{padding:1rem!important}.gravity-padding-top-sm{padding-top:1rem!important}.gravity-padding-bottom-sm{padding-bottom:1rem!important}.gravity-padding-left-sm{padding-left:1rem!important}.gravity-padding-right-sm{padding-right:1rem!important}.gravity-padding-block-sm{padding-block:1rem!important}.gravity-padding-inline-sm{padding-inline:1rem!important}.gravity-padding-md{padding:1.5rem!important}.gravity-padding-top-md{padding-top:1.5rem!important}.gravity-padding-bottom-md{padding-bottom:1.5rem!important}.gravity-padding-left-md{padding-left:1.5rem!important}.gravity-padding-right-md{padding-right:1.5rem!important}.gravity-padding-block-md{padding-block:1.5rem!important}.gravity-padding-inline-md{padding-inline:1.5rem!important}.gravity-padding-lg{padding:2rem!important}.gravity-padding-top-lg{padding-top:2rem!important}.gravity-padding-bottom-lg{padding-bottom:2rem!important}.gravity-padding-left-lg{padding-left:2rem!important}.gravity-padding-right-lg{padding-right:2rem!important}.gravity-padding-block-lg{padding-block:2rem!important}.gravity-padding-inline-lg{padding-inline:2rem!important}.gravity-padding-xl{padding:2.5rem!important}.gravity-padding-top-xl{padding-top:2.5rem!important}.gravity-padding-bottom-xl{padding-bottom:2.5rem!important}.gravity-padding-left-xl{padding-left:2.5rem!important}.gravity-padding-right-xl{padding-right:2.5rem!important}.gravity-padding-block-xl{padding-block:2.5rem!important}.gravity-padding-inline-xl{padding-inline:2.5rem!important}.gravity-padding-xxl{padding:3rem!important}.gravity-padding-top-xxl{padding-top:3rem!important}.gravity-padding-bottom-xxl{padding-bottom:3rem!important}.gravity-padding-left-xxl{padding-left:3rem!important}.gravity-padding-right-xxl{padding-right:3rem!important}.gravity-padding-block-xxl{padding-block:3rem!important}.gravity-padding-inline-xxl{padding-inline:3rem!important}.gravity-padding-xxxl{padding:4rem!important}.gravity-padding-top-xxxl{padding-top:4rem!important}.gravity-padding-bottom-xxxl{padding-bottom:4rem!important}.gravity-padding-left-xxxl{padding-left:4rem!important}.gravity-padding-right-xxxl{padding-right:4rem!important}.gravity-padding-block-xxxl{padding-block:4rem!important}.gravity-padding-inline-xxxl{padding-inline:4rem!important}.gravity-padding-xxxxl{padding:6rem!important}.gravity-padding-top-xxxxl{padding-top:6rem!important}.gravity-padding-bottom-xxxxl{padding-bottom:6rem!important}.gravity-padding-left-xxxxl{padding-left:6rem!important}.gravity-padding-right-xxxxl{padding-right:6rem!important}.gravity-padding-block-xxxxl{padding-block:6rem!important}.gravity-padding-inline-xxxxl{padding-inline:6rem!important}.gravity-padding-xxxxxl{padding:12rem!important}.gravity-padding-top-xxxxxl{padding-top:12rem!important}.gravity-padding-bottom-xxxxxl{padding-bottom:12rem!important}.gravity-padding-left-xxxxxl{padding-left:12rem!important}.gravity-padding-right-xxxxxl{padding-right:12rem!important}.gravity-padding-block-xxxxxl{padding-block:12rem!important}.gravity-padding-inline-xxxxxl{padding-inline:12rem!important}.gravity-margin-none{margin:0!important}.gravity-margin-top-none{margin-top:0!important}.gravity-margin-bottom-none{margin-bottom:0!important}.gravity-margin-left-none{margin-left:0!important}.gravity-margin-right-none{margin-right:0!important}.gravity-margin-block-none{margin-block:0!important}.gravity-margin-inline-none{margin-inline:0!important}.gravity-margin-xxs{margin:.25rem!important}.gravity-margin-top-xxs{margin-top:.25rem!important}.gravity-margin-bottom-xxs{margin-bottom:.25rem!important}.gravity-margin-left-xxs{margin-left:.25rem!important}.gravity-margin-right-xxs{margin-right:.25rem!important}.gravity-margin-block-xxs{margin-block:.25rem!important}.gravity-margin-inline-xxs{margin-inline:.25rem!important}.gravity-margin-xs{margin:.5rem!important}.gravity-margin-top-xs{margin-top:.5rem!important}.gravity-margin-bottom-xs{margin-bottom:.5rem!important}.gravity-margin-left-xs{margin-left:.5rem!important}.gravity-margin-right-xs{margin-right:.5rem!important}.gravity-margin-block-xs{margin-block:.5rem!important}.gravity-margin-inline-xs{margin-inline:.5rem!important}.gravity-margin-sm{margin:1rem!important}.gravity-margin-top-sm{margin-top:1rem!important}.gravity-margin-bottom-sm{margin-bottom:1rem!important}.gravity-margin-left-sm{margin-left:1rem!important}.gravity-margin-right-sm{margin-right:1rem!important}.gravity-margin-block-sm{margin-block:1rem!important}.gravity-margin-inline-sm{margin-inline:1rem!important}.gravity-margin-md{margin:1.5rem!important}.gravity-margin-top-md{margin-top:1.5rem!important}.gravity-margin-bottom-md{margin-bottom:1.5rem!important}.gravity-margin-left-md{margin-left:1.5rem!important}.gravity-margin-right-md{margin-right:1.5rem!important}.gravity-margin-block-md{margin-block:1.5rem!important}.gravity-margin-inline-md{margin-inline:1.5rem!important}.gravity-margin-lg{margin:2rem!important}.gravity-margin-top-lg{margin-top:2rem!important}.gravity-margin-bottom-lg{margin-bottom:2rem!important}.gravity-margin-left-lg{margin-left:2rem!important}.gravity-margin-right-lg{margin-right:2rem!important}.gravity-margin-block-lg{margin-block:2rem!important}.gravity-margin-inline-lg{margin-inline:2rem!important}.gravity-margin-xl{margin:2.5rem!important}.gravity-margin-top-xl{margin-top:2.5rem!important}.gravity-margin-bottom-xl{margin-bottom:2.5rem!important}.gravity-margin-left-xl{margin-left:2.5rem!important}.gravity-margin-right-xl{margin-right:2.5rem!important}.gravity-margin-block-xl{margin-block:2.5rem!important}.gravity-margin-inline-xl{margin-inline:2.5rem!important}.gravity-margin-xxl{margin:3rem!important}.gravity-margin-top-xxl{margin-top:3rem!important}.gravity-margin-bottom-xxl{margin-bottom:3rem!important}.gravity-margin-left-xxl{margin-left:3rem!important}.gravity-margin-right-xxl{margin-right:3rem!important}.gravity-margin-block-xxl{margin-block:3rem!important}.gravity-margin-inline-xxl{margin-inline:3rem!important}.gravity-margin-xxxl{margin:4rem!important}.gravity-margin-top-xxxl{margin-top:4rem!important}.gravity-margin-bottom-xxxl{margin-bottom:4rem!important}.gravity-margin-left-xxxl{margin-left:4rem!important}.gravity-margin-right-xxxl{margin-right:4rem!important}.gravity-margin-block-xxxl{margin-block:4rem!important}.gravity-margin-inline-xxxl{margin-inline:4rem!important}.gravity-margin-xxxxl{margin:6rem!important}.gravity-margin-top-xxxxl{margin-top:6rem!important}.gravity-margin-bottom-xxxxl{margin-bottom:6rem!important}.gravity-margin-left-xxxxl{margin-left:6rem!important}.gravity-margin-right-xxxxl{margin-right:6rem!important}.gravity-margin-block-xxxxl{margin-block:6rem!important}.gravity-margin-inline-xxxxl{margin-inline:6rem!important}.gravity-margin-xxxxxl{margin:12rem!important}.gravity-margin-top-xxxxxl{margin-top:12rem!important}.gravity-margin-bottom-xxxxxl{margin-bottom:12rem!important}.gravity-margin-left-xxxxxl{margin-left:12rem!important}.gravity-margin-right-xxxxxl{margin-right:12rem!important}.gravity-margin-block-xxxxxl{margin-block:12rem!important}.gravity-margin-inline-xxxxxl{margin-inline:12rem!important}.gt-calendar{border-radius:.3125rem;padding:var(--gravity-spacing-sm);background-color:var(--bg-calender-primary);border:1px solid var(--outline-field-full-enabled-pressed-primary)}.gt-calendar-topbar-indicator{align-items:center;display:flex;gap:8px}.is-mobile .gt-calendar-topbar-indicator{justify-content:center}.gt-calendar-topbar-indicator p{color:var(--bg-calendar-nav-primary);margin:0}.gt-calendar-topbar-indicator gravity-icon{--icon-color: var(--bg-calendar-nav-primary)}.gt-calendar-topbar-line{opacity:1;margin:1rem 0 24px;border:1px solid var(--divider-menu-active-primary)}.gt-calendars{display:flex;gap:24px}.is-mobile .gt-calendars{flex-direction:column;height:100%;overflow:auto}.gt-calendar-footer{align-items:center;cursor:default;display:flex;justify-content:space-between;padding:16px 0 0}.is-mobile .gt-calendar-footer{border-top:1px solid var(--divider-primary);padding-top:8px}.is-mobile .gt-calendar-footer.bs-datepicker-multiple{width:100%}.gt-calendar-footer.not-clearable{justify-content:end}.gt-calendar-footer p{border-radius:.3125rem;cursor:pointer;color:var(--on-bg-button-active-secondary);margin-left:0}.gt-calendar-footer p:not(.empty):hover{background-color:var(--bg-button-active-tertiary);color:var(--bg-button-active-primary)}.gt-calendar-footer p.empty{color:var(--on-bg-disabled);cursor:default}.gt-calendar-footer p.clear{padding:4px}.gt-calendar-footer p.apply{padding:8px}.gt-calendar-footer.bs-datepicker-multiple{width:46%;margin-left:auto}.gt-calendar.sm:not(.is-mobile){--height-gap: 0px;--calendar-width: 300px;--month-article-width: 75px;--week-article-height: 30px;--month-article-height: 35px;--week-article-width: 38.29px;--weekdays-article-height: 25px;--weekdays-article-width: 39px;--width-gap: var(--gravity-spacing-sm)}.gt-calendar.sm.year:not(.is-mobile),.gt-calendar.sm.month:not(.is-mobile){--height-gap: 0px;--calendar-width: 313px;--month-article-height: 25px;--month-article-width: 37px;--width-gap: var(--gravity-spacing-xl)}.gt-calendar.md:not(.is-mobile){--calendar-width: 359px;--week-article-width: 47px;--month-article-width: 65px;--week-article-height: 43px;--month-article-height: 35px;--weekdays-article-width: 45px;--weekdays-article-height: 27px;--width-gap: var(--gravity-spacing-sm);--height-gap: var(--gravity-spacing-sm)}.gt-calendar.md.year:not(.is-mobile),.gt-calendar.md.month:not(.is-mobile){--calendar-width: 328px;--month-article-width: 59px;--month-article-height: 43px;--width-gap: var(--gravity-spacing-sm);--height-gap: var(--gravity-spacing-sm)}.gt-calendar.is-mobile{--width-gap: 14px;--calendar-width: 100%;--week-article-width: 60px;--month-article-width: 65px;--week-article-height: 45px;--month-article-height: 35px;--weekdays-article-width: 45px;--weekdays-article-height: 27px;--height-gap: var(--gravity-spacing-sm)}.gt-calendar.is-mobile.day{flex-direction:column;padding-top:var(--gravity-spacing-xxxl);border:1px solid var(--bg-calender-primary);box-shadow:0 1px 4px #151c2933;border-radius:.9375rem .9375rem 0 0}\n"], dependencies: [{ kind: "directive", type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i8.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i8.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i9.GravityIconComponent, selector: "gravity-icon", inputs: ["customIconColorVariable", "iconName", "iconSize", "hoverIcon", "size", "isCoin"] }, { kind: "component", type: i10.BsDaysCalendarViewComponent, selector: "bs-days-calendar-view", inputs: ["calendar", "calendarIndex", "isDisabled", "options", "showNavigationArrows", "size"], outputs: ["onNavigate", "onViewMode", "onSelect", "onHover"] }, { kind: "component", type: i11.BsMonthCalendarViewComponent, selector: "bs-month-calendar-view", inputs: ["calendarIndex", "size", "calendarLang", "showNavigationArrows", "calendar"], outputs: ["onHover", "onNavigate", "onSelect", "onViewMode"] }, { kind: "component", type: i12.BsYearsCalendarViewComponent, selector: "bs-years-calendar-view", inputs: ["calendar", "calendarIndex", "showNavigationArrows", "size"], outputs: ["onNavigate", "onViewMode", "onSelect", "onHover"] }, { kind: "component", type: i13.GravityLinkComponent, selector: "gravity-link", inputs: ["linkText", "fontClass", "link", "cypressTag", "iconName", "target", "iconPosition", "iconSize", "state"] }, { kind: "pipe", type: i8.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.DatePipe, name: "date" }], animations: [datepickerAnimation] }); }
|
|
182
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: BsDaterangepickerContainerComponent, selector: "gt-daterangepicker-container", host: { attributes: { "aria-label": "calendar", "role": "dialog" }, listeners: { "click": "$event.stopPropagation()" }, classAttribute: "bottom" }, providers: [BsDatepickerStore, BsDatepickerEffects], usesInheritance: true, ngImport: i0, template: "<div class=\"gt-calendar {{calendarSize}} {{calendarSpacing}} {{viewMode | async}}\" [class.is-mobile]=\"_config.isMobile\" *ngIf=\"viewMode | async\"\n [@datepickerAnimation]=\"animationState\" (@datepickerAnimation.done)=\"positionServiceEnable()\">\n\n <ng-container *ngIf=\"(isRangePicker || _config.isMobile) && headerTypeService.getCalendarType() === 'days'\">\n <div class=\"gt-calendar-topbar-indicator\">\n <ng-container *ngIf=\"isRangePicker\">\n <p class=\"hr-title\" [class.sm-regular]=\"chosenRange?.length > 0\"\n [class.sm-bold]=\"chosenRange?.length == 0\">\n <ng-container *ngIf=\"chosenRange?.length == 0\">Start date</ng-container>\n <ng-container *ngIf=\"chosenRange?.length > 0\">{{ chosenRange[0] | date : 'MMM d, y' }}</ng-container>\n </p>\n <gravity-icon [iconName]=\"'swaps-arrow-right'\" [iconSize]=\"'sm-12'\"></gravity-icon>\n <p class=\"hr-title\" [class.sm-regular]=\"chosenRange?.length > 1 || chosenRange?.length == 0\"\n [class.sm-bold]=\"chosenRange?.length == 1\">\n <ng-container *ngIf=\"chosenRange?.length < 2\">End date</ng-container>\n <ng-container *ngIf=\"chosenRange?.length > 1\">{{ chosenRange[1] | date : 'MMM d, y' }}</ng-container>\n </p>\n </ng-container>\n <ng-container *ngIf=\"!isRangePicker\">\n <p class=\"hr-title sm-bold\">\n <ng-container *ngIf=\"!_config.value\">Select date</ng-container>\n <ng-container *ngIf=\"_config.value\">{{ _config.value.toString() | date : 'MMM d, y' }}</ng-container>\n </p>\n </ng-container>\n </div>\n\n <hr class=\"gt-calendar-topbar-line\">\n </ng-container>\n\n <div class=\"gt-calendars\" [ngSwitch]=\"viewMode | async\" role=\"application\">\n\n <!--days calendar-->\n <ng-container *ngSwitchCase=\"'day'\">\n <bs-days-calendar-view [calendar]=\"calendar\"\n [calendarIndex]=\"i\"\n [isDisabled]=\"isDisabled\"\n [options]=\"options$ | async\"\n [showNavigationArrows]=\"showNavigationArrows\"\n [size]=\"_config.isMobile ? 'md' : calendarSize\"\n\n *ngFor=\"let calendar of daysCalendar$ | async; let i = index\"\n\n (onHover)=\"dayHoverHandler($event)\"\n (onNavigate)=\"navigateTo($event)\"\n (onSelect)=\"daySelectHandler($event)\"\n (onViewMode)=\"setViewMode($event)\"></bs-days-calendar-view>\n </ng-container>\n\n <!--months calendar-->\n <ng-container *ngSwitchCase=\"'month'\">\n <ng-container *ngIf=\"_config.isMobile; else nonMobile\">\n <ng-container *ngFor=\"let calendar of monthsCalendar | async; let i = index\">\n <bs-month-calendar-view *ngIf=\"i === 0\"\n [calendar]=\"calendar\"\n [calendarIndex]=\"i\"\n [showNavigationArrows]=\"showNavigationArrows\"\n [size]=\"_config.isMobile ? 'md' : calendarSize\"\n [calendarLang]=\"_config.calendarLang\"\n (onHover)=\"monthHoverHandler($event)\"\n (onNavigate)=\"navigateTo($event)\"\n (onSelect)=\"monthSelectHandler($event)\"\n (onViewMode)=\"setViewMode($event)\">\n </bs-month-calendar-view>\n </ng-container>\n </ng-container>\n <ng-template #nonMobile>\n <ng-container *ngFor=\"let calendar of monthsCalendar | async; let i = index\">\n <bs-month-calendar-view [calendar]=\"calendar\"\n [calendarIndex]=\"i\"\n [showNavigationArrows]=\"showNavigationArrows\"\n [size]=\"_config.isMobile ? 'md' : calendarSize\"\n [calendarLang]=\"_config.calendarLang\"\n (onHover)=\"monthHoverHandler($event)\"\n (onNavigate)=\"navigateTo($event)\"\n (onSelect)=\"monthSelectHandler($event)\"\n (onViewMode)=\"setViewMode($event)\">\n </bs-month-calendar-view>\n </ng-container>\n </ng-template>\n </ng-container>\n\n <!--years calendar-->\n <ng-container *ngSwitchCase=\"'year'\">\n <ng-container *ngIf=\"_config.isMobile; else nonMobile\">\n <ng-container *ngFor=\"let calendar of yearsCalendar | async; let i = index\">\n <bs-years-calendar-view *ngIf=\"i === 0\"\n [calendar]=\"calendar\"\n [calendarIndex]=\"i\"\n [showNavigationArrows]=\"showNavigationArrows\"\n [size]=\"_config.isMobile ? 'md' : calendarSize\"\n (onHover)=\"yearHoverHandler($event)\"\n (onNavigate)=\"navigateTo($event)\"\n (onSelect)=\"yearSelectHandler($event)\"\n (onViewMode)=\"setViewMode($event)\">\n </bs-years-calendar-view>\n </ng-container>\n </ng-container>\n <ng-template #nonMobile>\n <ng-container *ngFor=\"let calendar of yearsCalendar | async; let i = index\">\n <bs-years-calendar-view [calendar]=\"calendar\"\n [calendarIndex]=\"i\"\n [showNavigationArrows]=\"showNavigationArrows\"\n [size]=\"_config.isMobile ? 'md' : calendarSize\"\n (onHover)=\"yearHoverHandler($event)\"\n (onNavigate)=\"navigateTo($event)\"\n (onSelect)=\"yearSelectHandler($event)\"\n (onViewMode)=\"setViewMode($event)\">\n </bs-years-calendar-view>\n </ng-container>\n </ng-template>\n </ng-container>\n </div>\n\n <div class=\"gt-calendar-footer\" *ngIf=\"(viewMode | async) == 'day'\"\n [class.bs-datepicker-multiple]=\"isRangePicker && _config.displayMonths > 1\" [class.not-clearable]=\"!_config.clearable\">\n <gravity-link [linkText]=\"_config.calendarLang == 'es' ? 'Limpiar' : 'Clear selection'\" [link]=\"''\"\n [state]=\"isEmpty ? 'disabled' : 'active'\" (click)=\"clearDate()\"></gravity-link>\n <p class=\"apply hr-label pointer sm-bold\" [class.empty]=\"isEmpty\" (click)=\"apply()\">Apply</p>\n </div>\n</div>\n\n", styles: [".border-radius-none{border-radius:0}.border-radius-xs{border-radius:.0625rem}.border-radius-sm{border-radius:.3125rem}.border-radius-md{border-radius:.625rem}.border-radius-lg{border-radius:.9375rem}.border-radius-xl{border-radius:1.25rem}.border-radius-xxl{border-radius:2rem}.border-radius-rounded{border-radius:6.25rem}:root{--gravity-spacing-none: 0;--gravity-spacing-xxxs: .125rem;--gravity-spacing-xxs: .25rem;--gravity-spacing-xs: .5rem;--gravity-spacing-sm: 1rem;--gravity-spacing-md: 1.5rem;--gravity-spacing-lg: 2rem;--gravity-spacing-xl: 2.5rem;--gravity-spacing-xxl: 3rem;--gravity-spacing-xxxl: 4rem;--gravity-spacing-xxxxl: 6rem;--gravity-spacing-xxxxxl: 12rem}.gravity-padding-none{padding:0!important}.gravity-padding-top-none{padding-top:0!important}.gravity-padding-bottom-none{padding-bottom:0!important}.gravity-padding-left-none{padding-left:0!important}.gravity-padding-right-none{padding-right:0!important}.gravity-padding-block-none{padding-block:0!important}.gravity-padding-inline-none{padding-inline:0!important}.gravity-padding-xxs{padding:.25rem!important}.gravity-padding-top-xxs{padding-top:.25rem!important}.gravity-padding-bottom-xxs{padding-bottom:.25rem!important}.gravity-padding-left-xxs{padding-left:.25rem!important}.gravity-padding-right-xxs{padding-right:.25rem!important}.gravity-padding-block-xxs{padding-block:.25rem!important}.gravity-padding-inline-xxs{padding-inline:.25rem!important}.gravity-padding-xs{padding:.5rem!important}.gravity-padding-top-xs{padding-top:.5rem!important}.gravity-padding-bottom-xs{padding-bottom:.5rem!important}.gravity-padding-left-xs{padding-left:.5rem!important}.gravity-padding-right-xs{padding-right:.5rem!important}.gravity-padding-block-xs{padding-block:.5rem!important}.gravity-padding-inline-xs{padding-inline:.5rem!important}.gravity-padding-sm{padding:1rem!important}.gravity-padding-top-sm{padding-top:1rem!important}.gravity-padding-bottom-sm{padding-bottom:1rem!important}.gravity-padding-left-sm{padding-left:1rem!important}.gravity-padding-right-sm{padding-right:1rem!important}.gravity-padding-block-sm{padding-block:1rem!important}.gravity-padding-inline-sm{padding-inline:1rem!important}.gravity-padding-md{padding:1.5rem!important}.gravity-padding-top-md{padding-top:1.5rem!important}.gravity-padding-bottom-md{padding-bottom:1.5rem!important}.gravity-padding-left-md{padding-left:1.5rem!important}.gravity-padding-right-md{padding-right:1.5rem!important}.gravity-padding-block-md{padding-block:1.5rem!important}.gravity-padding-inline-md{padding-inline:1.5rem!important}.gravity-padding-lg{padding:2rem!important}.gravity-padding-top-lg{padding-top:2rem!important}.gravity-padding-bottom-lg{padding-bottom:2rem!important}.gravity-padding-left-lg{padding-left:2rem!important}.gravity-padding-right-lg{padding-right:2rem!important}.gravity-padding-block-lg{padding-block:2rem!important}.gravity-padding-inline-lg{padding-inline:2rem!important}.gravity-padding-xl{padding:2.5rem!important}.gravity-padding-top-xl{padding-top:2.5rem!important}.gravity-padding-bottom-xl{padding-bottom:2.5rem!important}.gravity-padding-left-xl{padding-left:2.5rem!important}.gravity-padding-right-xl{padding-right:2.5rem!important}.gravity-padding-block-xl{padding-block:2.5rem!important}.gravity-padding-inline-xl{padding-inline:2.5rem!important}.gravity-padding-xxl{padding:3rem!important}.gravity-padding-top-xxl{padding-top:3rem!important}.gravity-padding-bottom-xxl{padding-bottom:3rem!important}.gravity-padding-left-xxl{padding-left:3rem!important}.gravity-padding-right-xxl{padding-right:3rem!important}.gravity-padding-block-xxl{padding-block:3rem!important}.gravity-padding-inline-xxl{padding-inline:3rem!important}.gravity-padding-xxxl{padding:4rem!important}.gravity-padding-top-xxxl{padding-top:4rem!important}.gravity-padding-bottom-xxxl{padding-bottom:4rem!important}.gravity-padding-left-xxxl{padding-left:4rem!important}.gravity-padding-right-xxxl{padding-right:4rem!important}.gravity-padding-block-xxxl{padding-block:4rem!important}.gravity-padding-inline-xxxl{padding-inline:4rem!important}.gravity-padding-xxxxl{padding:6rem!important}.gravity-padding-top-xxxxl{padding-top:6rem!important}.gravity-padding-bottom-xxxxl{padding-bottom:6rem!important}.gravity-padding-left-xxxxl{padding-left:6rem!important}.gravity-padding-right-xxxxl{padding-right:6rem!important}.gravity-padding-block-xxxxl{padding-block:6rem!important}.gravity-padding-inline-xxxxl{padding-inline:6rem!important}.gravity-padding-xxxxxl{padding:12rem!important}.gravity-padding-top-xxxxxl{padding-top:12rem!important}.gravity-padding-bottom-xxxxxl{padding-bottom:12rem!important}.gravity-padding-left-xxxxxl{padding-left:12rem!important}.gravity-padding-right-xxxxxl{padding-right:12rem!important}.gravity-padding-block-xxxxxl{padding-block:12rem!important}.gravity-padding-inline-xxxxxl{padding-inline:12rem!important}.gravity-margin-none{margin:0!important}.gravity-margin-top-none{margin-top:0!important}.gravity-margin-bottom-none{margin-bottom:0!important}.gravity-margin-left-none{margin-left:0!important}.gravity-margin-right-none{margin-right:0!important}.gravity-margin-block-none{margin-block:0!important}.gravity-margin-inline-none{margin-inline:0!important}.gravity-margin-xxs{margin:.25rem!important}.gravity-margin-top-xxs{margin-top:.25rem!important}.gravity-margin-bottom-xxs{margin-bottom:.25rem!important}.gravity-margin-left-xxs{margin-left:.25rem!important}.gravity-margin-right-xxs{margin-right:.25rem!important}.gravity-margin-block-xxs{margin-block:.25rem!important}.gravity-margin-inline-xxs{margin-inline:.25rem!important}.gravity-margin-xs{margin:.5rem!important}.gravity-margin-top-xs{margin-top:.5rem!important}.gravity-margin-bottom-xs{margin-bottom:.5rem!important}.gravity-margin-left-xs{margin-left:.5rem!important}.gravity-margin-right-xs{margin-right:.5rem!important}.gravity-margin-block-xs{margin-block:.5rem!important}.gravity-margin-inline-xs{margin-inline:.5rem!important}.gravity-margin-sm{margin:1rem!important}.gravity-margin-top-sm{margin-top:1rem!important}.gravity-margin-bottom-sm{margin-bottom:1rem!important}.gravity-margin-left-sm{margin-left:1rem!important}.gravity-margin-right-sm{margin-right:1rem!important}.gravity-margin-block-sm{margin-block:1rem!important}.gravity-margin-inline-sm{margin-inline:1rem!important}.gravity-margin-md{margin:1.5rem!important}.gravity-margin-top-md{margin-top:1.5rem!important}.gravity-margin-bottom-md{margin-bottom:1.5rem!important}.gravity-margin-left-md{margin-left:1.5rem!important}.gravity-margin-right-md{margin-right:1.5rem!important}.gravity-margin-block-md{margin-block:1.5rem!important}.gravity-margin-inline-md{margin-inline:1.5rem!important}.gravity-margin-lg{margin:2rem!important}.gravity-margin-top-lg{margin-top:2rem!important}.gravity-margin-bottom-lg{margin-bottom:2rem!important}.gravity-margin-left-lg{margin-left:2rem!important}.gravity-margin-right-lg{margin-right:2rem!important}.gravity-margin-block-lg{margin-block:2rem!important}.gravity-margin-inline-lg{margin-inline:2rem!important}.gravity-margin-xl{margin:2.5rem!important}.gravity-margin-top-xl{margin-top:2.5rem!important}.gravity-margin-bottom-xl{margin-bottom:2.5rem!important}.gravity-margin-left-xl{margin-left:2.5rem!important}.gravity-margin-right-xl{margin-right:2.5rem!important}.gravity-margin-block-xl{margin-block:2.5rem!important}.gravity-margin-inline-xl{margin-inline:2.5rem!important}.gravity-margin-xxl{margin:3rem!important}.gravity-margin-top-xxl{margin-top:3rem!important}.gravity-margin-bottom-xxl{margin-bottom:3rem!important}.gravity-margin-left-xxl{margin-left:3rem!important}.gravity-margin-right-xxl{margin-right:3rem!important}.gravity-margin-block-xxl{margin-block:3rem!important}.gravity-margin-inline-xxl{margin-inline:3rem!important}.gravity-margin-xxxl{margin:4rem!important}.gravity-margin-top-xxxl{margin-top:4rem!important}.gravity-margin-bottom-xxxl{margin-bottom:4rem!important}.gravity-margin-left-xxxl{margin-left:4rem!important}.gravity-margin-right-xxxl{margin-right:4rem!important}.gravity-margin-block-xxxl{margin-block:4rem!important}.gravity-margin-inline-xxxl{margin-inline:4rem!important}.gravity-margin-xxxxl{margin:6rem!important}.gravity-margin-top-xxxxl{margin-top:6rem!important}.gravity-margin-bottom-xxxxl{margin-bottom:6rem!important}.gravity-margin-left-xxxxl{margin-left:6rem!important}.gravity-margin-right-xxxxl{margin-right:6rem!important}.gravity-margin-block-xxxxl{margin-block:6rem!important}.gravity-margin-inline-xxxxl{margin-inline:6rem!important}.gravity-margin-xxxxxl{margin:12rem!important}.gravity-margin-top-xxxxxl{margin-top:12rem!important}.gravity-margin-bottom-xxxxxl{margin-bottom:12rem!important}.gravity-margin-left-xxxxxl{margin-left:12rem!important}.gravity-margin-right-xxxxxl{margin-right:12rem!important}.gravity-margin-block-xxxxxl{margin-block:12rem!important}.gravity-margin-inline-xxxxxl{margin-inline:12rem!important}.gt-calendar{border-radius:.3125rem;padding:var(--gravity-spacing-sm);background-color:var(--bg-calender-primary);border:1px solid var(--outline-field-full-enabled-pressed-primary)}.gt-calendar-topbar-indicator{align-items:center;display:flex;gap:8px}.is-mobile .gt-calendar-topbar-indicator{justify-content:center}.gt-calendar-topbar-indicator p{color:var(--bg-calendar-nav-primary);margin:0}.gt-calendar-topbar-indicator gravity-icon{--icon-color: var(--bg-calendar-nav-primary)}.gt-calendar-topbar-line{opacity:1;margin:1rem 0 24px;border:1px solid var(--divider-menu-active-primary)}.gt-calendars{display:flex;gap:24px}.is-mobile .gt-calendars{flex-direction:column;height:100%;overflow:auto}.gt-calendar-footer{align-items:center;cursor:default;display:flex;justify-content:space-between;padding:16px 0 0}.is-mobile .gt-calendar-footer{border-top:1px solid var(--divider-primary);padding-top:8px}.is-mobile .gt-calendar-footer.bs-datepicker-multiple{width:100%}.gt-calendar-footer.not-clearable{justify-content:end}.gt-calendar-footer p{border-radius:.3125rem;cursor:pointer;color:var(--on-bg-button-active-secondary);margin-left:0}.gt-calendar-footer p:not(.empty):hover{background-color:var(--bg-button-active-tertiary);color:var(--bg-button-active-primary)}.gt-calendar-footer p.empty{color:var(--on-bg-disabled);cursor:default}.gt-calendar-footer p.clear{padding:4px}.gt-calendar-footer p.apply{padding:8px}.gt-calendar-footer.bs-datepicker-multiple{width:46%;margin-left:auto}.gt-calendar.sm:not(.is-mobile){--height-gap: 0px;--calendar-width: 300px;--month-article-width: 75px;--week-article-height: 30px;--month-article-height: 35px;--week-article-width: 38.29px;--weekdays-article-height: 25px;--weekdays-article-width: 39px;--width-gap: var(--gravity-spacing-sm)}.gt-calendar.sm.year:not(.is-mobile),.gt-calendar.sm.month:not(.is-mobile){--height-gap: 0px;--calendar-width: 313px;--month-article-height: 25px;--month-article-width: 37px;--width-gap: var(--gravity-spacing-xl)}.gt-calendar.md:not(.is-mobile){--calendar-width: 359px;--week-article-width: 47px;--month-article-width: 65px;--week-article-height: 43px;--month-article-height: 35px;--weekdays-article-width: 45px;--weekdays-article-height: 27px;--width-gap: var(--gravity-spacing-sm);--height-gap: var(--gravity-spacing-sm)}.gt-calendar.md.year:not(.is-mobile),.gt-calendar.md.month:not(.is-mobile){--calendar-width: 328px;--month-article-width: 59px;--month-article-height: 43px;--width-gap: var(--gravity-spacing-sm);--height-gap: var(--gravity-spacing-sm)}.gt-calendar.is-mobile{--width-gap: 14px;--calendar-width: 100%;--week-article-width: 60px;--month-article-width: 65px;--week-article-height: 45px;--month-article-height: 35px;--weekdays-article-width: 45px;--weekdays-article-height: 27px;--height-gap: var(--gravity-spacing-sm)}.gt-calendar.is-mobile.day{flex-direction:column;padding-top:var(--gravity-spacing-xxxl);border:1px solid var(--bg-calender-primary);box-shadow:0 1px 4px #151c2933;border-radius:.9375rem .9375rem 0 0}\n"], dependencies: [{ kind: "directive", type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i8.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i8.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i9.GravityIconComponent, selector: "gravity-icon", inputs: ["customIconColorVariable", "iconName", "iconSize", "hoverIcon", "size", "isCoin"] }, { kind: "component", type: i10.BsDaysCalendarViewComponent, selector: "bs-days-calendar-view", inputs: ["calendar", "calendarIndex", "isDisabled", "options", "showNavigationArrows", "size"], outputs: ["onNavigate", "onViewMode", "onSelect", "onHover"] }, { kind: "component", type: i11.BsMonthCalendarViewComponent, selector: "bs-month-calendar-view", inputs: ["calendarIndex", "size", "calendarLang", "showNavigationArrows", "calendar"], outputs: ["onHover", "onNavigate", "onSelect", "onViewMode"] }, { kind: "component", type: i12.BsYearsCalendarViewComponent, selector: "bs-years-calendar-view", inputs: ["calendar", "calendarIndex", "showNavigationArrows", "size"], outputs: ["onNavigate", "onViewMode", "onSelect", "onHover"] }, { kind: "component", type: i13.GravityLinkComponent, selector: "gravity-link", inputs: ["linkText", "fontClass", "link", "cypressTag", "iconName", "target", "iconPosition", "iconSize", "state"] }, { kind: "pipe", type: i8.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.DatePipe, name: "date" }], animations: [datepickerAnimation] }); }
|
|
183
183
|
}
|
|
184
184
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BsDaterangepickerContainerComponent, decorators: [{
|
|
185
185
|
type: Component,
|
|
@@ -188,6 +188,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
188
188
|
class: 'bottom',
|
|
189
189
|
'(click)': '$event.stopPropagation()',
|
|
190
190
|
role: 'dialog',
|
|
191
|
-
}, animations: [datepickerAnimation], template: "<div class=\"gt-calendar {{calendarSize}} {{calendarSpacing}} {{viewMode | async}}\" [class.is-mobile]=\"_config.isMobile\" *ngIf=\"viewMode | async\"\n [@datepickerAnimation]=\"animationState\" (@datepickerAnimation.done)=\"positionServiceEnable()\">\n\n <ng-container *ngIf=\"(isRangePicker || _config.isMobile) && headerTypeService.getCalendarType() === 'days'\">\n <div class=\"gt-calendar-topbar-indicator\">\n <ng-container *ngIf=\"isRangePicker\">\n <p class=\"hr-title\" [class.sm-regular]=\"chosenRange?.length > 0\"\n [class.sm-bold]=\"chosenRange?.length == 0\">\n <ng-container *ngIf=\"chosenRange?.length == 0\">Start date</ng-container>\n <ng-container *ngIf=\"chosenRange?.length > 0\">{{ chosenRange[0] | date : 'MMM d, y' }}</ng-container>\n </p>\n <gravity-icon [iconName]=\"'swaps-arrow-right'\" [iconSize]=\"'sm-12'\"></gravity-icon>\n <p class=\"hr-title\" [class.sm-regular]=\"chosenRange?.length > 1 || chosenRange?.length == 0\"\n [class.sm-bold]=\"chosenRange?.length == 1\">\n <ng-container *ngIf=\"chosenRange?.length < 2\">End date</ng-container>\n <ng-container *ngIf=\"chosenRange?.length > 1\">{{ chosenRange[1] | date : 'MMM d, y' }}</ng-container>\n </p>\n </ng-container>\n <ng-container *ngIf=\"!isRangePicker\">\n <p class=\"hr-title sm-bold\">\n <ng-container *ngIf=\"!_config.value\">Select date</ng-container>\n <ng-container *ngIf=\"_config.value\">{{ _config.value.toString() | date : 'MMM d, y' }}</ng-container>\n </p>\n </ng-container>\n </div>\n\n <hr class=\"gt-calendar-topbar-line\">\n </ng-container>\n\n <div class=\"gt-calendars\" [ngSwitch]=\"viewMode | async\" role=\"application\">\n\n <!--days calendar-->\n <ng-container *ngSwitchCase=\"'day'\">\n <bs-days-calendar-view [calendar]=\"calendar\"\n [calendarIndex]=\"i\"\n [isDisabled]=\"isDisabled\"\n [options]=\"options$ | async\"\n [showNavigationArrows]=\"showNavigationArrows\"\n [size]=\"_config.isMobile ? 'md' : calendarSize\"\n\n *ngFor=\"let calendar of daysCalendar$ | async; let i = index\"\n\n (onHover)=\"dayHoverHandler($event)\"\n (onNavigate)=\"navigateTo($event)\"\n (onSelect)=\"daySelectHandler($event)\"\n (onViewMode)=\"setViewMode($event)\"></bs-days-calendar-view>\n </ng-container>\n\n <!--months calendar-->\n <ng-container *ngSwitchCase=\"'month'\">\n <ng-container *ngIf=\"_config.isMobile; else nonMobile\">\n <ng-container *ngFor=\"let calendar of monthsCalendar | async; let i = index\">\n <bs-month-calendar-view *ngIf=\"i === 0\"\n [calendar]=\"calendar\"\n [calendarIndex]=\"i\"\n [showNavigationArrows]=\"showNavigationArrows\"\n [size]=\"_config.isMobile ? 'md' : calendarSize\"\n [calendarLang]=\"_config.calendarLang\"\n (onHover)=\"monthHoverHandler($event)\"\n (onNavigate)=\"navigateTo($event)\"\n (onSelect)=\"monthSelectHandler($event)\"\n (onViewMode)=\"setViewMode($event)\">\n </bs-month-calendar-view>\n </ng-container>\n </ng-container>\n <ng-template #nonMobile>\n <ng-container *ngFor=\"let calendar of monthsCalendar | async; let i = index\">\n <bs-month-calendar-view [calendar]=\"calendar\"\n [calendarIndex]=\"i\"\n [showNavigationArrows]=\"showNavigationArrows\"\n [size]=\"_config.isMobile ? 'md' : calendarSize\"\n [calendarLang]=\"_config.calendarLang\"\n (onHover)=\"monthHoverHandler($event)\"\n (onNavigate)=\"navigateTo($event)\"\n (onSelect)=\"monthSelectHandler($event)\"\n (onViewMode)=\"setViewMode($event)\">\n </bs-month-calendar-view>\n </ng-container>\n </ng-template>\n </ng-container>\n\n <!--years calendar-->\n <ng-container *ngSwitchCase=\"'year'\">\n <ng-container *ngIf=\"_config.isMobile; else nonMobile\">\n <ng-container *ngFor=\"let calendar of yearsCalendar | async; let i = index\">\n <bs-years-calendar-view *ngIf=\"i === 0\"\n [calendar]=\"calendar\"\n [calendarIndex]=\"i\"\n [showNavigationArrows]=\"showNavigationArrows\"\n [size]=\"_config.isMobile ? 'md' : calendarSize\"\n (onHover)=\"yearHoverHandler($event)\"\n (onNavigate)=\"navigateTo($event)\"\n (onSelect)=\"yearSelectHandler($event)\"\n (onViewMode)=\"setViewMode($event)\">\n </bs-years-calendar-view>\n </ng-container>\n </ng-container>\n <ng-template #nonMobile>\n <ng-container *ngFor=\"let calendar of yearsCalendar | async; let i = index\">\n <bs-years-calendar-view [calendar]=\"calendar\"\n [calendarIndex]=\"i\"\n [showNavigationArrows]=\"showNavigationArrows\"\n [size]=\"_config.isMobile ? 'md' : calendarSize\"\n (onHover)=\"yearHoverHandler($event)\"\n (onNavigate)=\"navigateTo($event)\"\n (onSelect)=\"yearSelectHandler($event)\"\n (onViewMode)=\"setViewMode($event)\">\n </bs-years-calendar-view>\n </ng-container>\n </ng-template>\n </ng-container>\n </div>\n\n <div class=\"gt-calendar-footer\" *ngIf=\"(viewMode | async) == 'day'\"\n [class.bs-datepicker-multiple]=\"isRangePicker && _config.displayMonths > 1\" [class.not-clearable]=\"!_config.clearable\">\n <gravity-link [linkText]=\"_config.calendarLang == 'es' ? 'Limpiar' : 'Clear selection'\" [link]=\"''\"\n [state]=\"isEmpty ? 'disabled' : 'active'\" (click)=\"clearDate()\"></gravity-link>\n <p class=\"apply hr-label pointer sm-bold\" [class.empty]=\"isEmpty\" (click)=\"apply()\">Apply</p>\n </div>\n</div>\n\n", styles: [".border-radius-none{border-radius:0}.border-radius-xs{border-radius:.0625rem}.border-radius-sm{border-radius:.3125rem}.border-radius-md{border-radius:.625rem}.border-radius-lg{border-radius:.9375rem}.border-radius-xl{border-radius:1.25rem}.border-radius-xxl{border-radius:2rem}.border-radius-rounded{border-radius:6.25rem}:root{--gravity-spacing-none: 0;--gravity-spacing-xxs: .25rem;--gravity-spacing-xs: .5rem;--gravity-spacing-sm: 1rem;--gravity-spacing-md: 1.5rem;--gravity-spacing-lg: 2rem;--gravity-spacing-xl: 2.5rem;--gravity-spacing-xxl: 3rem;--gravity-spacing-xxxl: 4rem;--gravity-spacing-xxxxl: 6rem;--gravity-spacing-xxxxxl: 12rem}.gravity-padding-none{padding:0!important}.gravity-padding-top-none{padding-top:0!important}.gravity-padding-bottom-none{padding-bottom:0!important}.gravity-padding-left-none{padding-left:0!important}.gravity-padding-right-none{padding-right:0!important}.gravity-padding-block-none{padding-block:0!important}.gravity-padding-inline-none{padding-inline:0!important}.gravity-padding-xxs{padding:.25rem!important}.gravity-padding-top-xxs{padding-top:.25rem!important}.gravity-padding-bottom-xxs{padding-bottom:.25rem!important}.gravity-padding-left-xxs{padding-left:.25rem!important}.gravity-padding-right-xxs{padding-right:.25rem!important}.gravity-padding-block-xxs{padding-block:.25rem!important}.gravity-padding-inline-xxs{padding-inline:.25rem!important}.gravity-padding-xs{padding:.5rem!important}.gravity-padding-top-xs{padding-top:.5rem!important}.gravity-padding-bottom-xs{padding-bottom:.5rem!important}.gravity-padding-left-xs{padding-left:.5rem!important}.gravity-padding-right-xs{padding-right:.5rem!important}.gravity-padding-block-xs{padding-block:.5rem!important}.gravity-padding-inline-xs{padding-inline:.5rem!important}.gravity-padding-sm{padding:1rem!important}.gravity-padding-top-sm{padding-top:1rem!important}.gravity-padding-bottom-sm{padding-bottom:1rem!important}.gravity-padding-left-sm{padding-left:1rem!important}.gravity-padding-right-sm{padding-right:1rem!important}.gravity-padding-block-sm{padding-block:1rem!important}.gravity-padding-inline-sm{padding-inline:1rem!important}.gravity-padding-md{padding:1.5rem!important}.gravity-padding-top-md{padding-top:1.5rem!important}.gravity-padding-bottom-md{padding-bottom:1.5rem!important}.gravity-padding-left-md{padding-left:1.5rem!important}.gravity-padding-right-md{padding-right:1.5rem!important}.gravity-padding-block-md{padding-block:1.5rem!important}.gravity-padding-inline-md{padding-inline:1.5rem!important}.gravity-padding-lg{padding:2rem!important}.gravity-padding-top-lg{padding-top:2rem!important}.gravity-padding-bottom-lg{padding-bottom:2rem!important}.gravity-padding-left-lg{padding-left:2rem!important}.gravity-padding-right-lg{padding-right:2rem!important}.gravity-padding-block-lg{padding-block:2rem!important}.gravity-padding-inline-lg{padding-inline:2rem!important}.gravity-padding-xl{padding:2.5rem!important}.gravity-padding-top-xl{padding-top:2.5rem!important}.gravity-padding-bottom-xl{padding-bottom:2.5rem!important}.gravity-padding-left-xl{padding-left:2.5rem!important}.gravity-padding-right-xl{padding-right:2.5rem!important}.gravity-padding-block-xl{padding-block:2.5rem!important}.gravity-padding-inline-xl{padding-inline:2.5rem!important}.gravity-padding-xxl{padding:3rem!important}.gravity-padding-top-xxl{padding-top:3rem!important}.gravity-padding-bottom-xxl{padding-bottom:3rem!important}.gravity-padding-left-xxl{padding-left:3rem!important}.gravity-padding-right-xxl{padding-right:3rem!important}.gravity-padding-block-xxl{padding-block:3rem!important}.gravity-padding-inline-xxl{padding-inline:3rem!important}.gravity-padding-xxxl{padding:4rem!important}.gravity-padding-top-xxxl{padding-top:4rem!important}.gravity-padding-bottom-xxxl{padding-bottom:4rem!important}.gravity-padding-left-xxxl{padding-left:4rem!important}.gravity-padding-right-xxxl{padding-right:4rem!important}.gravity-padding-block-xxxl{padding-block:4rem!important}.gravity-padding-inline-xxxl{padding-inline:4rem!important}.gravity-padding-xxxxl{padding:6rem!important}.gravity-padding-top-xxxxl{padding-top:6rem!important}.gravity-padding-bottom-xxxxl{padding-bottom:6rem!important}.gravity-padding-left-xxxxl{padding-left:6rem!important}.gravity-padding-right-xxxxl{padding-right:6rem!important}.gravity-padding-block-xxxxl{padding-block:6rem!important}.gravity-padding-inline-xxxxl{padding-inline:6rem!important}.gravity-padding-xxxxxl{padding:12rem!important}.gravity-padding-top-xxxxxl{padding-top:12rem!important}.gravity-padding-bottom-xxxxxl{padding-bottom:12rem!important}.gravity-padding-left-xxxxxl{padding-left:12rem!important}.gravity-padding-right-xxxxxl{padding-right:12rem!important}.gravity-padding-block-xxxxxl{padding-block:12rem!important}.gravity-padding-inline-xxxxxl{padding-inline:12rem!important}.gravity-margin-none{margin:0!important}.gravity-margin-top-none{margin-top:0!important}.gravity-margin-bottom-none{margin-bottom:0!important}.gravity-margin-left-none{margin-left:0!important}.gravity-margin-right-none{margin-right:0!important}.gravity-margin-block-none{margin-block:0!important}.gravity-margin-inline-none{margin-inline:0!important}.gravity-margin-xxs{margin:.25rem!important}.gravity-margin-top-xxs{margin-top:.25rem!important}.gravity-margin-bottom-xxs{margin-bottom:.25rem!important}.gravity-margin-left-xxs{margin-left:.25rem!important}.gravity-margin-right-xxs{margin-right:.25rem!important}.gravity-margin-block-xxs{margin-block:.25rem!important}.gravity-margin-inline-xxs{margin-inline:.25rem!important}.gravity-margin-xs{margin:.5rem!important}.gravity-margin-top-xs{margin-top:.5rem!important}.gravity-margin-bottom-xs{margin-bottom:.5rem!important}.gravity-margin-left-xs{margin-left:.5rem!important}.gravity-margin-right-xs{margin-right:.5rem!important}.gravity-margin-block-xs{margin-block:.5rem!important}.gravity-margin-inline-xs{margin-inline:.5rem!important}.gravity-margin-sm{margin:1rem!important}.gravity-margin-top-sm{margin-top:1rem!important}.gravity-margin-bottom-sm{margin-bottom:1rem!important}.gravity-margin-left-sm{margin-left:1rem!important}.gravity-margin-right-sm{margin-right:1rem!important}.gravity-margin-block-sm{margin-block:1rem!important}.gravity-margin-inline-sm{margin-inline:1rem!important}.gravity-margin-md{margin:1.5rem!important}.gravity-margin-top-md{margin-top:1.5rem!important}.gravity-margin-bottom-md{margin-bottom:1.5rem!important}.gravity-margin-left-md{margin-left:1.5rem!important}.gravity-margin-right-md{margin-right:1.5rem!important}.gravity-margin-block-md{margin-block:1.5rem!important}.gravity-margin-inline-md{margin-inline:1.5rem!important}.gravity-margin-lg{margin:2rem!important}.gravity-margin-top-lg{margin-top:2rem!important}.gravity-margin-bottom-lg{margin-bottom:2rem!important}.gravity-margin-left-lg{margin-left:2rem!important}.gravity-margin-right-lg{margin-right:2rem!important}.gravity-margin-block-lg{margin-block:2rem!important}.gravity-margin-inline-lg{margin-inline:2rem!important}.gravity-margin-xl{margin:2.5rem!important}.gravity-margin-top-xl{margin-top:2.5rem!important}.gravity-margin-bottom-xl{margin-bottom:2.5rem!important}.gravity-margin-left-xl{margin-left:2.5rem!important}.gravity-margin-right-xl{margin-right:2.5rem!important}.gravity-margin-block-xl{margin-block:2.5rem!important}.gravity-margin-inline-xl{margin-inline:2.5rem!important}.gravity-margin-xxl{margin:3rem!important}.gravity-margin-top-xxl{margin-top:3rem!important}.gravity-margin-bottom-xxl{margin-bottom:3rem!important}.gravity-margin-left-xxl{margin-left:3rem!important}.gravity-margin-right-xxl{margin-right:3rem!important}.gravity-margin-block-xxl{margin-block:3rem!important}.gravity-margin-inline-xxl{margin-inline:3rem!important}.gravity-margin-xxxl{margin:4rem!important}.gravity-margin-top-xxxl{margin-top:4rem!important}.gravity-margin-bottom-xxxl{margin-bottom:4rem!important}.gravity-margin-left-xxxl{margin-left:4rem!important}.gravity-margin-right-xxxl{margin-right:4rem!important}.gravity-margin-block-xxxl{margin-block:4rem!important}.gravity-margin-inline-xxxl{margin-inline:4rem!important}.gravity-margin-xxxxl{margin:6rem!important}.gravity-margin-top-xxxxl{margin-top:6rem!important}.gravity-margin-bottom-xxxxl{margin-bottom:6rem!important}.gravity-margin-left-xxxxl{margin-left:6rem!important}.gravity-margin-right-xxxxl{margin-right:6rem!important}.gravity-margin-block-xxxxl{margin-block:6rem!important}.gravity-margin-inline-xxxxl{margin-inline:6rem!important}.gravity-margin-xxxxxl{margin:12rem!important}.gravity-margin-top-xxxxxl{margin-top:12rem!important}.gravity-margin-bottom-xxxxxl{margin-bottom:12rem!important}.gravity-margin-left-xxxxxl{margin-left:12rem!important}.gravity-margin-right-xxxxxl{margin-right:12rem!important}.gravity-margin-block-xxxxxl{margin-block:12rem!important}.gravity-margin-inline-xxxxxl{margin-inline:12rem!important}.gt-calendar{border-radius:.3125rem;padding:var(--gravity-spacing-sm);background-color:var(--bg-calender-primary);border:1px solid var(--outline-field-full-enabled-pressed-primary)}.gt-calendar-topbar-indicator{align-items:center;display:flex;gap:8px}.is-mobile .gt-calendar-topbar-indicator{justify-content:center}.gt-calendar-topbar-indicator p{color:var(--bg-calendar-nav-primary);margin:0}.gt-calendar-topbar-indicator gravity-icon{--icon-color: var(--bg-calendar-nav-primary)}.gt-calendar-topbar-line{opacity:1;margin:1rem 0 24px;border:1px solid var(--divider-menu-active-primary)}.gt-calendars{display:flex;gap:24px}.is-mobile .gt-calendars{flex-direction:column;height:100%;overflow:auto}.gt-calendar-footer{align-items:center;cursor:default;display:flex;justify-content:space-between;padding:16px 0 0}.is-mobile .gt-calendar-footer{border-top:1px solid var(--divider-primary);padding-top:8px}.is-mobile .gt-calendar-footer.bs-datepicker-multiple{width:100%}.gt-calendar-footer.not-clearable{justify-content:end}.gt-calendar-footer p{border-radius:.3125rem;cursor:pointer;color:var(--on-bg-button-active-secondary);margin-left:0}.gt-calendar-footer p:not(.empty):hover{background-color:var(--bg-button-active-tertiary);color:var(--bg-button-active-primary)}.gt-calendar-footer p.empty{color:var(--on-bg-disabled);cursor:default}.gt-calendar-footer p.clear{padding:4px}.gt-calendar-footer p.apply{padding:8px}.gt-calendar-footer.bs-datepicker-multiple{width:46%;margin-left:auto}.gt-calendar.sm:not(.is-mobile){--height-gap: 0px;--calendar-width: 300px;--month-article-width: 75px;--week-article-height: 30px;--month-article-height: 35px;--week-article-width: 38.29px;--weekdays-article-height: 25px;--weekdays-article-width: 39px;--width-gap: var(--gravity-spacing-sm)}.gt-calendar.sm.year:not(.is-mobile),.gt-calendar.sm.month:not(.is-mobile){--height-gap: 0px;--calendar-width: 313px;--month-article-height: 25px;--month-article-width: 37px;--width-gap: var(--gravity-spacing-xl)}.gt-calendar.md:not(.is-mobile){--calendar-width: 359px;--week-article-width: 47px;--month-article-width: 65px;--week-article-height: 43px;--month-article-height: 35px;--weekdays-article-width: 45px;--weekdays-article-height: 27px;--width-gap: var(--gravity-spacing-sm);--height-gap: var(--gravity-spacing-sm)}.gt-calendar.md.year:not(.is-mobile),.gt-calendar.md.month:not(.is-mobile){--calendar-width: 328px;--month-article-width: 59px;--month-article-height: 43px;--width-gap: var(--gravity-spacing-sm);--height-gap: var(--gravity-spacing-sm)}.gt-calendar.is-mobile{--width-gap: 14px;--calendar-width: 100%;--week-article-width: 60px;--month-article-width: 65px;--week-article-height: 45px;--month-article-height: 35px;--weekdays-article-width: 45px;--weekdays-article-height: 27px;--height-gap: var(--gravity-spacing-sm)}.gt-calendar.is-mobile.day{flex-direction:column;padding-top:var(--gravity-spacing-xxxl);border:1px solid var(--bg-calender-primary);box-shadow:0 1px 4px #151c2933;border-radius:.9375rem .9375rem 0 0}\n"] }]
|
|
191
|
+
}, animations: [datepickerAnimation], template: "<div class=\"gt-calendar {{calendarSize}} {{calendarSpacing}} {{viewMode | async}}\" [class.is-mobile]=\"_config.isMobile\" *ngIf=\"viewMode | async\"\n [@datepickerAnimation]=\"animationState\" (@datepickerAnimation.done)=\"positionServiceEnable()\">\n\n <ng-container *ngIf=\"(isRangePicker || _config.isMobile) && headerTypeService.getCalendarType() === 'days'\">\n <div class=\"gt-calendar-topbar-indicator\">\n <ng-container *ngIf=\"isRangePicker\">\n <p class=\"hr-title\" [class.sm-regular]=\"chosenRange?.length > 0\"\n [class.sm-bold]=\"chosenRange?.length == 0\">\n <ng-container *ngIf=\"chosenRange?.length == 0\">Start date</ng-container>\n <ng-container *ngIf=\"chosenRange?.length > 0\">{{ chosenRange[0] | date : 'MMM d, y' }}</ng-container>\n </p>\n <gravity-icon [iconName]=\"'swaps-arrow-right'\" [iconSize]=\"'sm-12'\"></gravity-icon>\n <p class=\"hr-title\" [class.sm-regular]=\"chosenRange?.length > 1 || chosenRange?.length == 0\"\n [class.sm-bold]=\"chosenRange?.length == 1\">\n <ng-container *ngIf=\"chosenRange?.length < 2\">End date</ng-container>\n <ng-container *ngIf=\"chosenRange?.length > 1\">{{ chosenRange[1] | date : 'MMM d, y' }}</ng-container>\n </p>\n </ng-container>\n <ng-container *ngIf=\"!isRangePicker\">\n <p class=\"hr-title sm-bold\">\n <ng-container *ngIf=\"!_config.value\">Select date</ng-container>\n <ng-container *ngIf=\"_config.value\">{{ _config.value.toString() | date : 'MMM d, y' }}</ng-container>\n </p>\n </ng-container>\n </div>\n\n <hr class=\"gt-calendar-topbar-line\">\n </ng-container>\n\n <div class=\"gt-calendars\" [ngSwitch]=\"viewMode | async\" role=\"application\">\n\n <!--days calendar-->\n <ng-container *ngSwitchCase=\"'day'\">\n <bs-days-calendar-view [calendar]=\"calendar\"\n [calendarIndex]=\"i\"\n [isDisabled]=\"isDisabled\"\n [options]=\"options$ | async\"\n [showNavigationArrows]=\"showNavigationArrows\"\n [size]=\"_config.isMobile ? 'md' : calendarSize\"\n\n *ngFor=\"let calendar of daysCalendar$ | async; let i = index\"\n\n (onHover)=\"dayHoverHandler($event)\"\n (onNavigate)=\"navigateTo($event)\"\n (onSelect)=\"daySelectHandler($event)\"\n (onViewMode)=\"setViewMode($event)\"></bs-days-calendar-view>\n </ng-container>\n\n <!--months calendar-->\n <ng-container *ngSwitchCase=\"'month'\">\n <ng-container *ngIf=\"_config.isMobile; else nonMobile\">\n <ng-container *ngFor=\"let calendar of monthsCalendar | async; let i = index\">\n <bs-month-calendar-view *ngIf=\"i === 0\"\n [calendar]=\"calendar\"\n [calendarIndex]=\"i\"\n [showNavigationArrows]=\"showNavigationArrows\"\n [size]=\"_config.isMobile ? 'md' : calendarSize\"\n [calendarLang]=\"_config.calendarLang\"\n (onHover)=\"monthHoverHandler($event)\"\n (onNavigate)=\"navigateTo($event)\"\n (onSelect)=\"monthSelectHandler($event)\"\n (onViewMode)=\"setViewMode($event)\">\n </bs-month-calendar-view>\n </ng-container>\n </ng-container>\n <ng-template #nonMobile>\n <ng-container *ngFor=\"let calendar of monthsCalendar | async; let i = index\">\n <bs-month-calendar-view [calendar]=\"calendar\"\n [calendarIndex]=\"i\"\n [showNavigationArrows]=\"showNavigationArrows\"\n [size]=\"_config.isMobile ? 'md' : calendarSize\"\n [calendarLang]=\"_config.calendarLang\"\n (onHover)=\"monthHoverHandler($event)\"\n (onNavigate)=\"navigateTo($event)\"\n (onSelect)=\"monthSelectHandler($event)\"\n (onViewMode)=\"setViewMode($event)\">\n </bs-month-calendar-view>\n </ng-container>\n </ng-template>\n </ng-container>\n\n <!--years calendar-->\n <ng-container *ngSwitchCase=\"'year'\">\n <ng-container *ngIf=\"_config.isMobile; else nonMobile\">\n <ng-container *ngFor=\"let calendar of yearsCalendar | async; let i = index\">\n <bs-years-calendar-view *ngIf=\"i === 0\"\n [calendar]=\"calendar\"\n [calendarIndex]=\"i\"\n [showNavigationArrows]=\"showNavigationArrows\"\n [size]=\"_config.isMobile ? 'md' : calendarSize\"\n (onHover)=\"yearHoverHandler($event)\"\n (onNavigate)=\"navigateTo($event)\"\n (onSelect)=\"yearSelectHandler($event)\"\n (onViewMode)=\"setViewMode($event)\">\n </bs-years-calendar-view>\n </ng-container>\n </ng-container>\n <ng-template #nonMobile>\n <ng-container *ngFor=\"let calendar of yearsCalendar | async; let i = index\">\n <bs-years-calendar-view [calendar]=\"calendar\"\n [calendarIndex]=\"i\"\n [showNavigationArrows]=\"showNavigationArrows\"\n [size]=\"_config.isMobile ? 'md' : calendarSize\"\n (onHover)=\"yearHoverHandler($event)\"\n (onNavigate)=\"navigateTo($event)\"\n (onSelect)=\"yearSelectHandler($event)\"\n (onViewMode)=\"setViewMode($event)\">\n </bs-years-calendar-view>\n </ng-container>\n </ng-template>\n </ng-container>\n </div>\n\n <div class=\"gt-calendar-footer\" *ngIf=\"(viewMode | async) == 'day'\"\n [class.bs-datepicker-multiple]=\"isRangePicker && _config.displayMonths > 1\" [class.not-clearable]=\"!_config.clearable\">\n <gravity-link [linkText]=\"_config.calendarLang == 'es' ? 'Limpiar' : 'Clear selection'\" [link]=\"''\"\n [state]=\"isEmpty ? 'disabled' : 'active'\" (click)=\"clearDate()\"></gravity-link>\n <p class=\"apply hr-label pointer sm-bold\" [class.empty]=\"isEmpty\" (click)=\"apply()\">Apply</p>\n </div>\n</div>\n\n", styles: [".border-radius-none{border-radius:0}.border-radius-xs{border-radius:.0625rem}.border-radius-sm{border-radius:.3125rem}.border-radius-md{border-radius:.625rem}.border-radius-lg{border-radius:.9375rem}.border-radius-xl{border-radius:1.25rem}.border-radius-xxl{border-radius:2rem}.border-radius-rounded{border-radius:6.25rem}:root{--gravity-spacing-none: 0;--gravity-spacing-xxxs: .125rem;--gravity-spacing-xxs: .25rem;--gravity-spacing-xs: .5rem;--gravity-spacing-sm: 1rem;--gravity-spacing-md: 1.5rem;--gravity-spacing-lg: 2rem;--gravity-spacing-xl: 2.5rem;--gravity-spacing-xxl: 3rem;--gravity-spacing-xxxl: 4rem;--gravity-spacing-xxxxl: 6rem;--gravity-spacing-xxxxxl: 12rem}.gravity-padding-none{padding:0!important}.gravity-padding-top-none{padding-top:0!important}.gravity-padding-bottom-none{padding-bottom:0!important}.gravity-padding-left-none{padding-left:0!important}.gravity-padding-right-none{padding-right:0!important}.gravity-padding-block-none{padding-block:0!important}.gravity-padding-inline-none{padding-inline:0!important}.gravity-padding-xxs{padding:.25rem!important}.gravity-padding-top-xxs{padding-top:.25rem!important}.gravity-padding-bottom-xxs{padding-bottom:.25rem!important}.gravity-padding-left-xxs{padding-left:.25rem!important}.gravity-padding-right-xxs{padding-right:.25rem!important}.gravity-padding-block-xxs{padding-block:.25rem!important}.gravity-padding-inline-xxs{padding-inline:.25rem!important}.gravity-padding-xs{padding:.5rem!important}.gravity-padding-top-xs{padding-top:.5rem!important}.gravity-padding-bottom-xs{padding-bottom:.5rem!important}.gravity-padding-left-xs{padding-left:.5rem!important}.gravity-padding-right-xs{padding-right:.5rem!important}.gravity-padding-block-xs{padding-block:.5rem!important}.gravity-padding-inline-xs{padding-inline:.5rem!important}.gravity-padding-sm{padding:1rem!important}.gravity-padding-top-sm{padding-top:1rem!important}.gravity-padding-bottom-sm{padding-bottom:1rem!important}.gravity-padding-left-sm{padding-left:1rem!important}.gravity-padding-right-sm{padding-right:1rem!important}.gravity-padding-block-sm{padding-block:1rem!important}.gravity-padding-inline-sm{padding-inline:1rem!important}.gravity-padding-md{padding:1.5rem!important}.gravity-padding-top-md{padding-top:1.5rem!important}.gravity-padding-bottom-md{padding-bottom:1.5rem!important}.gravity-padding-left-md{padding-left:1.5rem!important}.gravity-padding-right-md{padding-right:1.5rem!important}.gravity-padding-block-md{padding-block:1.5rem!important}.gravity-padding-inline-md{padding-inline:1.5rem!important}.gravity-padding-lg{padding:2rem!important}.gravity-padding-top-lg{padding-top:2rem!important}.gravity-padding-bottom-lg{padding-bottom:2rem!important}.gravity-padding-left-lg{padding-left:2rem!important}.gravity-padding-right-lg{padding-right:2rem!important}.gravity-padding-block-lg{padding-block:2rem!important}.gravity-padding-inline-lg{padding-inline:2rem!important}.gravity-padding-xl{padding:2.5rem!important}.gravity-padding-top-xl{padding-top:2.5rem!important}.gravity-padding-bottom-xl{padding-bottom:2.5rem!important}.gravity-padding-left-xl{padding-left:2.5rem!important}.gravity-padding-right-xl{padding-right:2.5rem!important}.gravity-padding-block-xl{padding-block:2.5rem!important}.gravity-padding-inline-xl{padding-inline:2.5rem!important}.gravity-padding-xxl{padding:3rem!important}.gravity-padding-top-xxl{padding-top:3rem!important}.gravity-padding-bottom-xxl{padding-bottom:3rem!important}.gravity-padding-left-xxl{padding-left:3rem!important}.gravity-padding-right-xxl{padding-right:3rem!important}.gravity-padding-block-xxl{padding-block:3rem!important}.gravity-padding-inline-xxl{padding-inline:3rem!important}.gravity-padding-xxxl{padding:4rem!important}.gravity-padding-top-xxxl{padding-top:4rem!important}.gravity-padding-bottom-xxxl{padding-bottom:4rem!important}.gravity-padding-left-xxxl{padding-left:4rem!important}.gravity-padding-right-xxxl{padding-right:4rem!important}.gravity-padding-block-xxxl{padding-block:4rem!important}.gravity-padding-inline-xxxl{padding-inline:4rem!important}.gravity-padding-xxxxl{padding:6rem!important}.gravity-padding-top-xxxxl{padding-top:6rem!important}.gravity-padding-bottom-xxxxl{padding-bottom:6rem!important}.gravity-padding-left-xxxxl{padding-left:6rem!important}.gravity-padding-right-xxxxl{padding-right:6rem!important}.gravity-padding-block-xxxxl{padding-block:6rem!important}.gravity-padding-inline-xxxxl{padding-inline:6rem!important}.gravity-padding-xxxxxl{padding:12rem!important}.gravity-padding-top-xxxxxl{padding-top:12rem!important}.gravity-padding-bottom-xxxxxl{padding-bottom:12rem!important}.gravity-padding-left-xxxxxl{padding-left:12rem!important}.gravity-padding-right-xxxxxl{padding-right:12rem!important}.gravity-padding-block-xxxxxl{padding-block:12rem!important}.gravity-padding-inline-xxxxxl{padding-inline:12rem!important}.gravity-margin-none{margin:0!important}.gravity-margin-top-none{margin-top:0!important}.gravity-margin-bottom-none{margin-bottom:0!important}.gravity-margin-left-none{margin-left:0!important}.gravity-margin-right-none{margin-right:0!important}.gravity-margin-block-none{margin-block:0!important}.gravity-margin-inline-none{margin-inline:0!important}.gravity-margin-xxs{margin:.25rem!important}.gravity-margin-top-xxs{margin-top:.25rem!important}.gravity-margin-bottom-xxs{margin-bottom:.25rem!important}.gravity-margin-left-xxs{margin-left:.25rem!important}.gravity-margin-right-xxs{margin-right:.25rem!important}.gravity-margin-block-xxs{margin-block:.25rem!important}.gravity-margin-inline-xxs{margin-inline:.25rem!important}.gravity-margin-xs{margin:.5rem!important}.gravity-margin-top-xs{margin-top:.5rem!important}.gravity-margin-bottom-xs{margin-bottom:.5rem!important}.gravity-margin-left-xs{margin-left:.5rem!important}.gravity-margin-right-xs{margin-right:.5rem!important}.gravity-margin-block-xs{margin-block:.5rem!important}.gravity-margin-inline-xs{margin-inline:.5rem!important}.gravity-margin-sm{margin:1rem!important}.gravity-margin-top-sm{margin-top:1rem!important}.gravity-margin-bottom-sm{margin-bottom:1rem!important}.gravity-margin-left-sm{margin-left:1rem!important}.gravity-margin-right-sm{margin-right:1rem!important}.gravity-margin-block-sm{margin-block:1rem!important}.gravity-margin-inline-sm{margin-inline:1rem!important}.gravity-margin-md{margin:1.5rem!important}.gravity-margin-top-md{margin-top:1.5rem!important}.gravity-margin-bottom-md{margin-bottom:1.5rem!important}.gravity-margin-left-md{margin-left:1.5rem!important}.gravity-margin-right-md{margin-right:1.5rem!important}.gravity-margin-block-md{margin-block:1.5rem!important}.gravity-margin-inline-md{margin-inline:1.5rem!important}.gravity-margin-lg{margin:2rem!important}.gravity-margin-top-lg{margin-top:2rem!important}.gravity-margin-bottom-lg{margin-bottom:2rem!important}.gravity-margin-left-lg{margin-left:2rem!important}.gravity-margin-right-lg{margin-right:2rem!important}.gravity-margin-block-lg{margin-block:2rem!important}.gravity-margin-inline-lg{margin-inline:2rem!important}.gravity-margin-xl{margin:2.5rem!important}.gravity-margin-top-xl{margin-top:2.5rem!important}.gravity-margin-bottom-xl{margin-bottom:2.5rem!important}.gravity-margin-left-xl{margin-left:2.5rem!important}.gravity-margin-right-xl{margin-right:2.5rem!important}.gravity-margin-block-xl{margin-block:2.5rem!important}.gravity-margin-inline-xl{margin-inline:2.5rem!important}.gravity-margin-xxl{margin:3rem!important}.gravity-margin-top-xxl{margin-top:3rem!important}.gravity-margin-bottom-xxl{margin-bottom:3rem!important}.gravity-margin-left-xxl{margin-left:3rem!important}.gravity-margin-right-xxl{margin-right:3rem!important}.gravity-margin-block-xxl{margin-block:3rem!important}.gravity-margin-inline-xxl{margin-inline:3rem!important}.gravity-margin-xxxl{margin:4rem!important}.gravity-margin-top-xxxl{margin-top:4rem!important}.gravity-margin-bottom-xxxl{margin-bottom:4rem!important}.gravity-margin-left-xxxl{margin-left:4rem!important}.gravity-margin-right-xxxl{margin-right:4rem!important}.gravity-margin-block-xxxl{margin-block:4rem!important}.gravity-margin-inline-xxxl{margin-inline:4rem!important}.gravity-margin-xxxxl{margin:6rem!important}.gravity-margin-top-xxxxl{margin-top:6rem!important}.gravity-margin-bottom-xxxxl{margin-bottom:6rem!important}.gravity-margin-left-xxxxl{margin-left:6rem!important}.gravity-margin-right-xxxxl{margin-right:6rem!important}.gravity-margin-block-xxxxl{margin-block:6rem!important}.gravity-margin-inline-xxxxl{margin-inline:6rem!important}.gravity-margin-xxxxxl{margin:12rem!important}.gravity-margin-top-xxxxxl{margin-top:12rem!important}.gravity-margin-bottom-xxxxxl{margin-bottom:12rem!important}.gravity-margin-left-xxxxxl{margin-left:12rem!important}.gravity-margin-right-xxxxxl{margin-right:12rem!important}.gravity-margin-block-xxxxxl{margin-block:12rem!important}.gravity-margin-inline-xxxxxl{margin-inline:12rem!important}.gt-calendar{border-radius:.3125rem;padding:var(--gravity-spacing-sm);background-color:var(--bg-calender-primary);border:1px solid var(--outline-field-full-enabled-pressed-primary)}.gt-calendar-topbar-indicator{align-items:center;display:flex;gap:8px}.is-mobile .gt-calendar-topbar-indicator{justify-content:center}.gt-calendar-topbar-indicator p{color:var(--bg-calendar-nav-primary);margin:0}.gt-calendar-topbar-indicator gravity-icon{--icon-color: var(--bg-calendar-nav-primary)}.gt-calendar-topbar-line{opacity:1;margin:1rem 0 24px;border:1px solid var(--divider-menu-active-primary)}.gt-calendars{display:flex;gap:24px}.is-mobile .gt-calendars{flex-direction:column;height:100%;overflow:auto}.gt-calendar-footer{align-items:center;cursor:default;display:flex;justify-content:space-between;padding:16px 0 0}.is-mobile .gt-calendar-footer{border-top:1px solid var(--divider-primary);padding-top:8px}.is-mobile .gt-calendar-footer.bs-datepicker-multiple{width:100%}.gt-calendar-footer.not-clearable{justify-content:end}.gt-calendar-footer p{border-radius:.3125rem;cursor:pointer;color:var(--on-bg-button-active-secondary);margin-left:0}.gt-calendar-footer p:not(.empty):hover{background-color:var(--bg-button-active-tertiary);color:var(--bg-button-active-primary)}.gt-calendar-footer p.empty{color:var(--on-bg-disabled);cursor:default}.gt-calendar-footer p.clear{padding:4px}.gt-calendar-footer p.apply{padding:8px}.gt-calendar-footer.bs-datepicker-multiple{width:46%;margin-left:auto}.gt-calendar.sm:not(.is-mobile){--height-gap: 0px;--calendar-width: 300px;--month-article-width: 75px;--week-article-height: 30px;--month-article-height: 35px;--week-article-width: 38.29px;--weekdays-article-height: 25px;--weekdays-article-width: 39px;--width-gap: var(--gravity-spacing-sm)}.gt-calendar.sm.year:not(.is-mobile),.gt-calendar.sm.month:not(.is-mobile){--height-gap: 0px;--calendar-width: 313px;--month-article-height: 25px;--month-article-width: 37px;--width-gap: var(--gravity-spacing-xl)}.gt-calendar.md:not(.is-mobile){--calendar-width: 359px;--week-article-width: 47px;--month-article-width: 65px;--week-article-height: 43px;--month-article-height: 35px;--weekdays-article-width: 45px;--weekdays-article-height: 27px;--width-gap: var(--gravity-spacing-sm);--height-gap: var(--gravity-spacing-sm)}.gt-calendar.md.year:not(.is-mobile),.gt-calendar.md.month:not(.is-mobile){--calendar-width: 328px;--month-article-width: 59px;--month-article-height: 43px;--width-gap: var(--gravity-spacing-sm);--height-gap: var(--gravity-spacing-sm)}.gt-calendar.is-mobile{--width-gap: 14px;--calendar-width: 100%;--week-article-width: 60px;--month-article-width: 65px;--week-article-height: 45px;--month-article-height: 35px;--weekdays-article-width: 45px;--weekdays-article-height: 27px;--height-gap: var(--gravity-spacing-sm)}.gt-calendar.is-mobile.day{flex-direction:column;padding-top:var(--gravity-spacing-xxxl);border:1px solid var(--bg-calender-primary);box-shadow:0 1px 4px #151c2933;border-radius:.9375rem .9375rem 0 0}\n"] }]
|
|
192
192
|
}], ctorParameters: function () { return [{ type: i1.HeaderTypeService }, { type: i0.Renderer2 }, { type: i2.BsDatepickerConfig }, { type: i3.BsDatepickerCallbacks }, { type: i4.BsDatepickerStore }, { type: i0.ElementRef }, { type: i5.BsDatepickerActions }, { type: i6.BsDatepickerEffects }, { type: i7.PositioningService }]; } });
|
|
193
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnMtZGF0ZXJhbmdlcGlja2VyLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktY2FsZW5kYXItdjIvZGF0ZXBpY2tlci9jb21wb25lbnRzL2JzLWRhdGVyYW5nZXBpY2tlci1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3Jhdml0eS1kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9ncmF2aXR5LWNhbGVuZGFyLXYyL2RhdGVwaWNrZXIvY29tcG9uZW50cy9icy1kYXRlcGlja2VyLXZpZXcuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFjLFlBQVksRUFBK0IsTUFBTSxlQUFlLENBQUM7QUFFaEcsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXBDLE9BQU8sRUFBQyxXQUFXLEVBQUUsUUFBUSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFHNUQsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFJOUUsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDN0QsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQWtCdkQsTUFBTSxPQUFPLG1DQUFvQyxTQUFRLDZCQUE2QjtJQVFwRixJQUFJLEtBQUssQ0FBQyxLQUF1QztRQUMvQyxJQUFJLENBQUMsUUFBUSxFQUFFLGFBQWEsQ0FB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Z0JBQ3pCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDeEI7U0FDRjtJQUNILENBQUM7K0dBaE1VLG1DQUFtQzttR0FBbkMsbUNBQW1DLDJNQVRuQyxDQUFDLGlCQUFpQixFQUFFLG1CQUFtQixDQUFDLGlEQ3ZCckQsbWdQQXlIQSxneGFEM0ZjLENBQUMsbUJBQW1CLENBQUM7OzRGQUV0QixtQ0FBbUM7a0JBYi9DLFNBQVM7K0JBQ0UsOEJBQThCLGFBRzdCLENBQUMsaUJBQWlCLEVBQUUsbUJBQW1CLENBQUMsUUFDN0M7d0JBQ0osWUFBWSxFQUFFLFVBQVU7d0JBQ3hCLEtBQUssRUFBRSxRQUFRO3dCQUNmLFNBQVMsRUFBRSwwQkFBMEI7d0JBQ3JDLElBQUksRUFBRSxRQUFRO3FCQUNmLGNBQ1csQ0FBQyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIE9uRGVzdHJveSwgT25Jbml0LCBSZW5kZXJlcjJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge3Rha2V9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtnZXRGdWxsWWVhciwgZ2V0TW9udGh9IGZyb20gJ25neC1ib290c3RyYXAvY2hyb25vcyc7XG5pbXBvcnQge1Bvc2l0aW9uaW5nU2VydmljZX0gZnJvbSAnbmd4LWJvb3RzdHJhcC9wb3NpdGlvbmluZyc7XG5cbmltcG9ydCB7QnNEYXRlcGlja2VyQWJzdHJhY3RDb21wb25lbnR9IGZyb20gJy4uL2Jhc2UvYnMtZGF0ZXBpY2tlci1jb250YWluZXInO1xuaW1wb3J0IHtCc0RhdGVwaWNrZXJDb25maWd9IGZyb20gJy4uL2JzLWRhdGVwaWNrZXIuY29uZmlnJztcbmltcG9ydCB7Q2FsZW5kYXJDZWxsVmlld01vZGVsLCBEYXlWaWV3TW9kZWx9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQge0JzRGF0ZXBpY2tlckFjdGlvbnN9IGZyb20gJy4uL3JlZHVjZXIvYnMtZGF0ZXBpY2tlci5hY3Rpb25zJztcbmltcG9ydCB7QnNEYXRlcGlja2VyRWZmZWN0c30gZnJvbSAnLi4vcmVkdWNlci9icy1kYXRlcGlja2VyLmVmZmVjdHMnO1xuaW1wb3J0IHtCc0RhdGVwaWNrZXJTdG9yZX0gZnJvbSAnLi4vcmVkdWNlci9icy1kYXRlcGlja2VyLnN0b3JlJztcbmltcG9ydCB7ZGF0ZXBpY2tlckFuaW1hdGlvbn0gZnJvbSAnLi4vZGF0ZXBpY2tlci1hbmltYXRpb25zJztcbmltcG9ydCB7ZGF5SW5NaWxsaXNlY29uZHN9IGZyb20gJy4uL3JlZHVjZXIvX2RlZmF1bHRzJztcbmltcG9ydCB7QnNEYXRlcGlja2VyQ2FsbGJhY2tzfSBmcm9tIFwiLi4vYnMtZGF0ZXBpY2tlci5jYWxsYmFja3NcIjtcbmltcG9ydCB7QnNDdXN0b21EYXRlc30gZnJvbSBcIi4uL3V0aWxzL2JzLWNhbGVuZGFyLXV0aWxzXCI7XG5pbXBvcnQge0hlYWRlclR5cGVTZXJ2aWNlfSBmcm9tIFwiLi4vc2VydmljZXMvaGVhZGVyLXR5cGUuc2VydmljZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdndC1kYXRlcmFuZ2VwaWNrZXItY29udGFpbmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JzLWRhdGVwaWNrZXItdmlldy5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYnMtZGF0ZXBpY2tlci12aWV3LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbQnNEYXRlcGlja2VyU3RvcmUsIEJzRGF0ZXBpY2tlckVmZmVjdHNdLFxuICBob3N0OiB7XG4gICAgJ2FyaWEtbGFiZWwnOiAnY2FsZW5kYXInLFxuICAgIGNsYXNzOiAnYm90dG9tJyxcbiAgICAnKGNsaWNrKSc6ICckZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCknLFxuICAgIHJvbGU6ICdkaWFsb2cnLFxuICB9LFxuICBhbmltYXRpb25zOiBbZGF0ZXBpY2tlckFuaW1hdGlvbl1cbn0pXG5leHBvcnQgY2xhc3MgQnNEYXRlcmFuZ2VwaWNrZXJDb250YWluZXJDb21wb25lbnQgZXh0ZW5kcyBCc0RhdGVwaWNrZXJBYnN0cmFjdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgb3ZlcnJpZGUgY2hvc2VuUmFuZ2U6IERhdGVbXSA9IFtdO1xuICBvdmVycmlkZSBpc1JhbmdlUGlja2VyOiBib29sZWFuID0gdHJ1ZTtcblxuICBwcml2YXRlIF9yYW5nZVN0YWNrOiBEYXRlW10gPSBbXTtcbiAgcHVibGljIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8RGF0ZVtdPiA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZVtdPigpO1xuICBwdWJsaWMgb25BcHBseUNoYW5nZTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIHNldCB2YWx1ZSh2YWx1ZTogKERhdGUgfCB1bmRlZmluZWQpW10gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl9lZmZlY3RzPy5zZXRSYW5nZVZhbHVlKHZhbHVlKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBoZWFkZXJUeXBlU2VydmljZTogSGVhZGVyVHlwZVNlcnZpY2UsIF9yZW5kZXJlcjogUmVuZGVyZXIyLCBwdWJsaWMgX2NvbmZpZzogQnNEYXRlcGlja2VyQ29uZmlnLCBwdWJsaWMgX2NhbGxiYWNrczogQnNEYXRlcGlja2VyQ2FsbGJhY2tzLCBwcml2YXRlIF9zdG9yZTogQnNEYXRlcGlja2VyU3RvcmUsIHByaXZhdGUgX2VsZW1lbnQ6IEVsZW1lbnRSZWYsIHByaXZhdGUgX2FjdGlvbnM6IEJzRGF0ZXBpY2tlckFjdGlvbnMsIF9lZmZlY3RzOiBCc0RhdGVwaWNrZXJFZmZlY3RzLCBwcml2YXRlIF9wb3NpdGlvblNlcnZpY2U6IFBvc2l0aW9uaW5nU2VydmljZSkge1xuICAgIHN1cGVyKF9jb25maWcpO1xuICAgIHRoaXMuX2VmZmVjdHMgPSBfZWZmZWN0cztcblxuICAgIF9yZW5kZXJlci5zZXRTdHlsZShfZWxlbWVudC5uYXRpdmVFbGVtZW50LCAnZGlzcGxheScsICdibG9jaycpO1xuICAgIF9yZW5kZXJlci5zZXRTdHlsZShfZWxlbWVudC5uYXRpdmVFbGVtZW50LCAncG9zaXRpb24nLCAnYWJzb2x1dGUnKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX3Bvc2l0aW9uU2VydmljZS5zZXRPcHRpb25zKHtcbiAgICAgIG1vZGlmaWVyczoge1xuICAgICAgICBmbGlwOiB7ZW5hYmxlZDogdGhpcy5fY29uZmlnLmFkYXB0aXZlUG9zaXRpb259LFxuICAgICAgICBwcmV2ZW50T3ZlcmZsb3c6IHtlbmFibGVkOiB0aGlzLl9jb25maWcuYWRhcHRpdmVQb3NpdGlvbn1cbiAgICAgIH0sXG4gICAgICBhbGxvd2VkUG9zaXRpb25zOiBbJ3RvcCcsICdib3R0b20nXVxuICAgIH0pO1xuXG4gICAgdGhpcy5fcG9zaXRpb25TZXJ2aWNlLmV2ZW50JD8ucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5fcG9zaXRpb25TZXJ2aWNlLmRpc2FibGUoKTtcblxuICAgICAgaWYgKHRoaXMuX2NvbmZpZy5pc0FuaW1hdGVkKSB7XG4gICAgICAgIHRoaXMuYW5pbWF0aW9uU3RhdGUgPSB0aGlzLmlzVG9wUG9zaXRpb24gPyAnYW5pbWF0ZWQtdXAnIDogJ2FuaW1hdGVkLWRvd24nO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5hbmltYXRpb25TdGF0ZSA9ICd1bmFuaW1hdGVkJztcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuaXNPdGhlck1vbnRoc0FjdGl2ZSA9IHRoaXMuX2NvbmZpZy5zZWxlY3RGcm9tT3RoZXJNb250aDtcbiAgICB0aGlzLl9lZmZlY3RzPy5pbml0KHRoaXMuX3N0b3JlKVxuICAgICAgLy8gaW50aWFsIHN0YXRlIG9wdGlvbnNcbiAgICAgIC5zZXRPcHRpb25zKHRoaXMuX2NvbmZpZylcbiAgICAgIC8vIGRhdGEgYmluZGluZyB2aWV3IC0tPiBtb2RlbFxuICAgICAgLnNldEJpbmRpbmdzKHRoaXMpXG4gICAgICAvLyBzZXQgZXZlbnQgaGFuZGxlcnNcbiAgICAgIC5zZXRFdmVudEhhbmRsZXJzKHRoaXMpXG4gICAgICAucmVnaXN0ZXJEYXRlcGlja2VyU2lkZUVmZmVjdHMoKTtcblxuICAgIC8vIG9uIHNlbGVjdGVkIGRhdGUgY2hhbmdlXG4gICAgdGhpcy5fc3Vicy5wdXNoKFxuICAgICAgdGhpcy5fc3RvcmUuc2VsZWN0KChzdGF0ZSkgPT4gc3RhdGUuc2VsZWN0ZWRSYW5nZSkuc3Vic2NyaWJlKChkYXRlUmFuZ2UpID0+IHtcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KGRhdGVSYW5nZSk7XG4gICAgICAgIHRoaXMuY2hvc2VuUmFuZ2UgPSBkYXRlUmFuZ2UgfHwgW107XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBnZXQgaXNUb3BQb3NpdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygndG9wJyk7XG4gIH1cblxuICBwdWJsaWMgcG9zaXRpb25TZXJ2aWNlRW5hYmxlKCk6IHZvaWQge1xuICAgIHRoaXMuX3Bvc2l0aW9uU2VydmljZS5lbmFibGUoKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGRheVNlbGVjdEhhbmRsZXIoZGF5OiBEYXlWaWV3TW9kZWwpOiB2b2lkIHtcbiAgICBpZiAoIWRheSkgcmV0dXJuO1xuXG4gICAgY29uc3QgaXNEaXNhYmxlZDogYm9vbGVhbiA9IHRoaXMuaXNPdGhlck1vbnRoc0FjdGl2ZSA/IGRheS5pc0Rpc2FibGVkIDogZGF5LmlzT3RoZXJNb250aCB8fCBkYXkuaXNEaXNhYmxlZDtcbiAgICBpZiAoaXNEaXNhYmxlZCkgcmV0dXJuO1xuXG4gICAgdGhpcy5yYW5nZXNQcm9jZXNzaW5nKGRheSk7XG4gIH1cblxuICBvdmVycmlkZSBtb250aFNlbGVjdEhhbmRsZXIoZGF5OiBDYWxlbmRhckNlbGxWaWV3TW9kZWwpOiB2b2lkIHtcbiAgICBpZiAoIWRheSB8fCBkYXkuaXNEaXNhYmxlZCkgcmV0dXJuO1xuXG4gICAgZGF5LmlzU2VsZWN0ZWQgPSB0cnVlO1xuXG4gICAgaWYgKHRoaXMuX2NvbmZpZy5taW5Nb2RlICE9PSAnbW9udGgnKSB7XG4gICAgICBpZiAoZGF5LmlzRGlzYWJsZWQpIHJldHVybjtcblxuICAgICAgdGhpcy5fc3RvcmUuZGlzcGF0Y2goXG4gICAgICAgIHRoaXMuX2FjdGlvbnMubmF2aWdhdGVUbyh7XG4gICAgICAgICAgdW5pdDoge21vbnRoOiBnZXRNb250aChkYXkuZGF0ZSksIHllYXI6IGdldEZ1bGxZZWFyKGRheS5kYXRlKX0sXG4gICAgICAgICAgdmlld01vZGU6ICdkYXknXG4gICAgICAgIH0pXG4gICAgICApO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5yYW5nZXNQcm9jZXNzaW5nKGRheSk7XG4gIH1cblxuICBvdmVycmlkZSB5ZWFyU2VsZWN0SGFuZGxlcihkYXk6IENhbGVuZGFyQ2VsbFZpZXdNb2RlbCk6IHZvaWQge1xuICAgIGlmICghZGF5IHx8IGRheS5pc0Rpc2FibGVkKSByZXR1cm47XG5cbiAgICBkYXkuaXNTZWxlY3RlZCA9IHRydWU7XG5cbiAgICBpZiAodGhpcy5fY29uZmlnLm1pbk1vZGUgIT09ICd5ZWFyJykge1xuICAgICAgaWYgKGRheS5pc0Rpc2FibGVkKSByZXR1cm47XG5cbiAgICAgIHRoaXMuX3N0b3JlLmRpc3BhdGNoKFxuICAgICAgICB0aGlzLl9hY3Rpb25zLm5hdmlnYXRlVG8oe1xuICAgICAgICAgIHVuaXQ6IHt5ZWFyOiBnZXRGdWxsWWVhcihkYXkuZGF0ZSl9LFxuICAgICAgICAgIHZpZXdNb2RlOiAnbW9udGgnXG4gICAgICAgIH0pXG4gICAgICApO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5yYW5nZXNQcm9jZXNzaW5nKGRheSk7XG4gIH1cblxuICByYW5nZXNQcm9jZXNzaW5nKGRheTogQ2FsZW5kYXJDZWxsVmlld01vZGVsKTogdm9pZCB7XG4gICAgLy8gaWYgb25seSBvbmUgZGF0ZSBpcyBhbHJlYWR5IHNlbGVjdGVkIGFuZCB1c2VyIGNsaWNrcyBvbiBwcmV2aW91cyBkYXRlXG4gICAgLy8gc3RhcnQgc2VsZWN0aW9uIGZyb20gbmV3IGRhdGUgYnV0IGlmIG5ldyBkYXRlIGlzIGFmdGVyIGluaXRpYWwgb25lXG4gICAgLy8gdGhhbiBmaW5pc2ggc2VsZWN0aW9uXG5cbiAgICBpZiAodGhpcy5fcmFuZ2VTdGFjay5sZW5ndGggPT09IDEpIHtcbiAgICAgIHRoaXMuX3JhbmdlU3RhY2sgPSBkYXkuZGF0ZSA+PSB0aGlzLl9yYW5nZVN0YWNrWzBdID8gW3RoaXMuX3JhbmdlU3RhY2tbMF0sIGRheS5kYXRlXSA6IFtkYXkuZGF0ZV07XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX2NvbmZpZy5tYXhEYXRlUmFuZ2UpIHtcbiAgICAgIHRoaXMuc2V0TWF4RGF0ZVJhbmdlT25DYWxlbmRhcihkYXkuZGF0ZSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX3JhbmdlU3RhY2subGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLl9yYW5nZVN0YWNrID0gW2RheS5kYXRlXTtcblxuICAgICAgaWYgKHRoaXMuX2NvbmZpZy5tYXhEYXRlUmFuZ2UpIHtcbiAgICAgICAgdGhpcy5zZXRNYXhEYXRlUmFuZ2VPbkNhbGVuZGFyKGRheS5kYXRlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLl9zdG9yZS5kaXNwYXRjaCh0aGlzLl9hY3Rpb25zLnNlbGVjdFJhbmdlKHRoaXMuX3JhbmdlU3RhY2spKTtcblxuICAgIGlmICh0aGlzLl9yYW5nZVN0YWNrLmxlbmd0aCA9PT0gMikge1xuICAgICAgdGhpcy5fcmFuZ2VTdGFjayA9IFtdO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGZvciAoY29uc3Qgc3ViIG9mIHRoaXMuX3N1YnMpIHtcbiAgICAgIHN1Yi51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHRoaXMuX2VmZmVjdHM/LmRlc3Ryb3koKTtcbiAgfVxuXG4gIG92ZXJyaWRlIHNldFJhbmdlT25DYWxlbmRhcihkYXRlczogQnNDdXN0b21EYXRlcyk6IHZvaWQge1xuICAgIGlmIChkYXRlcykge1xuICAgICAgdGhpcy5fcmFuZ2VTdGFjayA9IGRhdGVzLnZhbHVlIGluc3RhbmNlb2YgRGF0ZSA/IFtkYXRlcy52YWx1ZV0gOiBkYXRlcy52YWx1ZTtcbiAgICB9XG5cbiAgICB0aGlzLl9zdG9yZS5kaXNwYXRjaCh0aGlzLl9hY3Rpb25zLnNlbGVjdFJhbmdlKHRoaXMuX3JhbmdlU3RhY2spKTtcbiAgfVxuXG4gIHNldE1heERhdGVSYW5nZU9uQ2FsZW5kYXIoY3VycmVudFNlbGVjdGlvbjogRGF0ZSk6IHZvaWQge1xuICAgIGxldCBtYXhEYXRlUmFuZ2U6IERhdGUgPSBuZXcgRGF0ZShjdXJyZW50U2VsZWN0aW9uKTtcblxuICAgIGlmICh0aGlzLl9jb25maWcubWF4RGF0ZSkge1xuICAgICAgY29uc3QgbWF4RGF0ZVZhbHVlSW5NaWxsaXNlY29uZHM6IG51bWJlciA9IHRoaXMuX2NvbmZpZy5tYXhEYXRlLmdldFRpbWUoKTtcbiAgICAgIGNvbnN0IG1heERhdGVSYW5nZUluTWlsbGlzZWNvbmRzOiBudW1iZXIgPSBjdXJyZW50U2VsZWN0aW9uLmdldFRpbWUoKSArICh0aGlzLl9jb25maWcubWF4RGF0ZVJhbmdlIHx8IDApICogZGF5SW5NaWxsaXNlY29uZHM7XG5cbiAgICAgIG1heERhdGVSYW5nZSA9IG1heERhdGVSYW5nZUluTWlsbGlzZWNvbmRzID4gbWF4RGF0ZVZhbHVlSW5NaWxsaXNlY29uZHMgPyBuZXcgRGF0ZSh0aGlzLl9jb25maWcubWF4RGF0ZSkgOiBuZXcgRGF0ZShtYXhEYXRlUmFuZ2VJbk1pbGxpc2Vjb25kcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG1heERhdGVSYW5nZS5zZXREYXRlKGN1cnJlbnRTZWxlY3Rpb24uZ2V0RGF0ZSgpICsgKHRoaXMuX2NvbmZpZy5tYXhEYXRlUmFuZ2UgfHwgMCkpO1xuICAgIH1cblxuICAgIHRoaXMuX2VmZmVjdHM/LnNldE1heERhdGUobWF4RGF0ZVJhbmdlKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGNsZWFyRGF0ZSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNFbXB0eSkge1xuICAgICAgdGhpcy5fc3RvcmUuZGlzcGF0Y2godGhpcy5fYWN0aW9ucy5zZWxlY3RSYW5nZShbXSkpO1xuICAgIH1cbiAgfVxuXG4gIG92ZXJyaWRlIGFwcGx5KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc0VtcHR5KSB7XG4gICAgICBpZiAodGhpcy5vbkFwcGx5Q2hhbmdlKSB7XG4gICAgICAgIHRoaXMub25BcHBseUNoYW5nZS5lbWl0KCk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLl9jYWxsYmFja3M/LmhpZGUpIHtcbiAgICAgICAgdGhpcy5fY2FsbGJhY2tzLmhpZGUoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJndC1jYWxlbmRhciB7e2NhbGVuZGFyU2l6ZX19IHt7Y2FsZW5kYXJTcGFjaW5nfX0ge3t2aWV3TW9kZSB8IGFzeW5jfX1cIiBbY2xhc3MuaXMtbW9iaWxlXT1cIl9jb25maWcuaXNNb2JpbGVcIiAqbmdJZj1cInZpZXdNb2RlIHwgYXN5bmNcIlxuICAgICBbQGRhdGVwaWNrZXJBbmltYXRpb25dPVwiYW5pbWF0aW9uU3RhdGVcIiAoQGRhdGVwaWNrZXJBbmltYXRpb24uZG9uZSk9XCJwb3NpdGlvblNlcnZpY2VFbmFibGUoKVwiPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIihpc1JhbmdlUGlja2VyIHx8IF9jb25maWcuaXNNb2JpbGUpICYmIGhlYWRlclR5cGVTZXJ2aWNlLmdldENhbGVuZGFyVHlwZSgpID09PSAnZGF5cydcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImd0LWNhbGVuZGFyLXRvcGJhci1pbmRpY2F0b3JcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc1JhbmdlUGlja2VyXCI+XG4gICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJoci10aXRsZVwiIFtjbGFzcy5zbS1yZWd1bGFyXT1cImNob3NlblJhbmdlPy5sZW5ndGggPiAwXCJcbiAgICAgICAgICAgICAgICAgICBbY2xhc3Muc20tYm9sZF09XCJjaG9zZW5SYW5nZT8ubGVuZ3RoID09IDBcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNob3NlblJhbmdlPy5sZW5ndGggPT0gMFwiPlN0YXJ0IGRhdGU8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNob3NlblJhbmdlPy5sZW5ndGggPiAwXCI+e3sgY2hvc2VuUmFuZ2VbMF0gfCBkYXRlIDogJ01NTSBkLCB5JyB9fTwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICA8Z3Jhdml0eS1pY29uIFtpY29uTmFtZV09XCInc3dhcHMtYXJyb3ctcmlnaHQnXCIgW2ljb25TaXplXT1cIidzbS0xMidcIj48L2dyYXZpdHktaWNvbj5cbiAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImhyLXRpdGxlXCIgW2NsYXNzLnNtLXJlZ3VsYXJdPVwiY2hvc2VuUmFuZ2U/Lmxlbmd0aCA+IDEgfHwgY2hvc2VuUmFuZ2U/Lmxlbmd0aCA9PSAwXCJcbiAgICAgICAgICAgICAgICAgICBbY2xhc3Muc20tYm9sZF09XCJjaG9zZW5SYW5nZT8ubGVuZ3RoID09IDFcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNob3NlblJhbmdlPy5sZW5ndGggPCAyXCI+RW5kIGRhdGU8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNob3NlblJhbmdlPy5sZW5ndGggPiAxXCI+e3sgY2hvc2VuUmFuZ2VbMV0gfCBkYXRlIDogJ01NTSBkLCB5JyB9fTwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc1JhbmdlUGlja2VyXCI+XG4gICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJoci10aXRsZSBzbS1ib2xkXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhX2NvbmZpZy52YWx1ZVwiPlNlbGVjdCBkYXRlPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJfY29uZmlnLnZhbHVlXCI+e3sgX2NvbmZpZy52YWx1ZS50b1N0cmluZygpIHwgZGF0ZSA6ICdNTU0gZCwgeScgfX08L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGhyIGNsYXNzPVwiZ3QtY2FsZW5kYXItdG9wYmFyLWxpbmVcIj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxkaXYgY2xhc3M9XCJndC1jYWxlbmRhcnNcIiBbbmdTd2l0Y2hdPVwidmlld01vZGUgfCBhc3luY1wiIHJvbGU9XCJhcHBsaWNhdGlvblwiPlxuXG4gICAgICAgIDwhLS1kYXlzIGNhbGVuZGFyLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidkYXknXCI+XG4gICAgICAgICAgICA8YnMtZGF5cy1jYWxlbmRhci12aWV3IFtjYWxlbmRhcl09XCJjYWxlbmRhclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWxlbmRhckluZGV4XT1cImlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaXNEaXNhYmxlZF09XCJpc0Rpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW29wdGlvbnNdPVwib3B0aW9ucyQgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93TmF2aWdhdGlvbkFycm93c109XCJzaG93TmF2aWdhdGlvbkFycm93c1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaXplXT1cIl9jb25maWcuaXNNb2JpbGUgPyAnbWQnIDogY2FsZW5kYXJTaXplXCJcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgY2FsZW5kYXIgb2YgZGF5c0NhbGVuZGFyJCB8IGFzeW5jOyBsZXQgaSA9IGluZGV4XCJcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob25Ib3Zlcik9XCJkYXlIb3ZlckhhbmRsZXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvbk5hdmlnYXRlKT1cIm5hdmlnYXRlVG8oJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvblNlbGVjdCk9XCJkYXlTZWxlY3RIYW5kbGVyKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob25WaWV3TW9kZSk9XCJzZXRWaWV3TW9kZSgkZXZlbnQpXCI+PC9icy1kYXlzLWNhbGVuZGFyLXZpZXc+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDwhLS1tb250aHMgY2FsZW5kYXItLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ21vbnRoJ1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIl9jb25maWcuaXNNb2JpbGU7IGVsc2Ugbm9uTW9iaWxlXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY2FsZW5kYXIgb2YgbW9udGhzQ2FsZW5kYXIgfCBhc3luYzsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICAgICAgICAgICAgICA8YnMtbW9udGgtY2FsZW5kYXItdmlldyAqbmdJZj1cImkgPT09IDBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FsZW5kYXJdPVwiY2FsZW5kYXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FsZW5kYXJJbmRleF09XCJpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dOYXZpZ2F0aW9uQXJyb3dzXT1cInNob3dOYXZpZ2F0aW9uQXJyb3dzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NpemVdPVwiX2NvbmZpZy5pc01vYmlsZSA/ICdtZCcgOiBjYWxlbmRhclNpemVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FsZW5kYXJMYW5nXT1cIl9jb25maWcuY2FsZW5kYXJMYW5nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9uSG92ZXIpPVwibW9udGhIb3ZlckhhbmRsZXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvbk5hdmlnYXRlKT1cIm5hdmlnYXRlVG8oJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvblNlbGVjdCk9XCJtb250aFNlbGVjdEhhbmRsZXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvblZpZXdNb2RlKT1cInNldFZpZXdNb2RlKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgICAgPC9icy1tb250aC1jYWxlbmRhci12aWV3PlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI25vbk1vYmlsZT5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjYWxlbmRhciBvZiBtb250aHNDYWxlbmRhciB8IGFzeW5jOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgICAgICAgICAgICAgIDxicy1tb250aC1jYWxlbmRhci12aWV3IFtjYWxlbmRhcl09XCJjYWxlbmRhclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWxlbmRhckluZGV4XT1cImlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2hvd05hdmlnYXRpb25BcnJvd3NdPVwic2hvd05hdmlnYXRpb25BcnJvd3NcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2l6ZV09XCJfY29uZmlnLmlzTW9iaWxlID8gJ21kJyA6IGNhbGVuZGFyU2l6ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWxlbmRhckxhbmddPVwiX2NvbmZpZy5jYWxlbmRhckxhbmdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob25Ib3Zlcik9XCJtb250aEhvdmVySGFuZGxlcigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9uTmF2aWdhdGUpPVwibmF2aWdhdGVUbygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9uU2VsZWN0KT1cIm1vbnRoU2VsZWN0SGFuZGxlcigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9uVmlld01vZGUpPVwic2V0Vmlld01vZGUoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAgICA8L2JzLW1vbnRoLWNhbGVuZGFyLXZpZXc+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8IS0teWVhcnMgY2FsZW5kYXItLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3llYXInXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiX2NvbmZpZy5pc01vYmlsZTsgZWxzZSBub25Nb2JpbGVcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjYWxlbmRhciBvZiB5ZWFyc0NhbGVuZGFyIHwgYXN5bmM7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJzLXllYXJzLWNhbGVuZGFyLXZpZXcgKm5nSWY9XCJpID09PSAwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhbGVuZGFyXT1cImNhbGVuZGFyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhbGVuZGFySW5kZXhdPVwiaVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93TmF2aWdhdGlvbkFycm93c109XCJzaG93TmF2aWdhdGlvbkFycm93c1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaXplXT1cIl9jb25maWcuaXNNb2JpbGUgPyAnbWQnIDogY2FsZW5kYXJTaXplXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9uSG92ZXIpPVwieWVhckhvdmVySGFuZGxlcigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9uTmF2aWdhdGUpPVwibmF2aWdhdGVUbygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9uU2VsZWN0KT1cInllYXJTZWxlY3RIYW5kbGVyKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob25WaWV3TW9kZSk9XCJzZXRWaWV3TW9kZSgkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgICAgIDwvYnMteWVhcnMtY2FsZW5kYXItdmlldz5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNub25Nb2JpbGU+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY2FsZW5kYXIgb2YgeWVhcnNDYWxlbmRhciB8IGFzeW5jOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgICAgICAgICAgICAgIDxicy15ZWFycy1jYWxlbmRhci12aWV3IFtjYWxlbmRhcl09XCJjYWxlbmRhclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWxlbmRhckluZGV4XT1cImlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2hvd05hdmlnYXRpb25BcnJvd3NdPVwic2hvd05hdmlnYXRpb25BcnJvd3NcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2l6ZV09XCJfY29uZmlnLmlzTW9iaWxlID8gJ21kJyA6IGNhbGVuZGFyU2l6ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvbkhvdmVyKT1cInllYXJIb3ZlckhhbmRsZXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvbk5hdmlnYXRlKT1cIm5hdmlnYXRlVG8oJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvblNlbGVjdCk9XCJ5ZWFyU2VsZWN0SGFuZGxlcigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9uVmlld01vZGUpPVwic2V0Vmlld01vZGUoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAgICA8L2JzLXllYXJzLWNhbGVuZGFyLXZpZXc+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJndC1jYWxlbmRhci1mb290ZXJcIiAqbmdJZj1cIih2aWV3TW9kZSB8IGFzeW5jKSA9PSAnZGF5J1wiXG4gICAgICAgICBbY2xhc3MuYnMtZGF0ZXBpY2tlci1tdWx0aXBsZV09XCJpc1JhbmdlUGlja2VyICYmIF9jb25maWcuZGlzcGxheU1vbnRocyA+IDFcIiBbY2xhc3Mubm90LWNsZWFyYWJsZV09XCIhX2NvbmZpZy5jbGVhcmFibGVcIj5cbiAgICAgICAgPGdyYXZpdHktbGluayBbbGlua1RleHRdPVwiX2NvbmZpZy5jYWxlbmRhckxhbmcgPT0gJ2VzJyA/ICdMaW1waWFyJyA6ICdDbGVhciBzZWxlY3Rpb24nXCIgIFtsaW5rXT1cIicnXCJcbiAgICAgICAgICAgICAgICAgICAgICBbc3RhdGVdPVwiaXNFbXB0eSA/ICdkaXNhYmxlZCcgOiAnYWN0aXZlJ1wiIChjbGljayk9XCJjbGVhckRhdGUoKVwiPjwvZ3Jhdml0eS1saW5rPlxuICAgICAgICA8cCBjbGFzcz1cImFwcGx5IGhyLWxhYmVsIHBvaW50ZXIgc20tYm9sZFwiIFtjbGFzcy5lbXB0eV09XCJpc0VtcHR5XCIgKGNsaWNrKT1cImFwcGx5KClcIj5BcHBseTwvcD5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuXG4iXX0=
|
|
193
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnMtZGF0ZXJhbmdlcGlja2VyLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktY2FsZW5kYXItdjIvZGF0ZXBpY2tlci9jb21wb25lbnRzL2JzLWRhdGVyYW5nZXBpY2tlci1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3Jhdml0eS1kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9ncmF2aXR5LWNhbGVuZGFyLXYyL2RhdGVwaWNrZXIvY29tcG9uZW50cy9icy1kYXRlcGlja2VyLXZpZXcuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFjLFlBQVksRUFBK0IsTUFBTSxlQUFlLENBQUM7QUFFaEcsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXBDLE9BQU8sRUFBQyxXQUFXLEVBQUUsUUFBUSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFHNUQsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFJOUUsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDN0QsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQWtCdkQsTUFBTSxPQUFPLG1DQUFvQyxTQUFRLDZCQUE2QjtJQVFwRixJQUFJLEtBQUssQ0FBQyxLQUF1QztRQUMvQyxJQUFJLENBQUMsUUFBUSxFQUFFLGFBQWEsQ0FB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Z0JBQ3pCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDeEI7U0FDRjtJQUNILENBQUM7K0dBaE1VLG1DQUFtQzttR0FBbkMsbUNBQW1DLDJNQVRuQyxDQUFDLGlCQUFpQixFQUFFLG1CQUFtQixDQUFDLGlEQ3ZCckQsbWdQQXlIQSxnemFEM0ZjLENBQUMsbUJBQW1CLENBQUM7OzRGQUV0QixtQ0FBbUM7a0JBYi9DLFNBQVM7K0JBQ0UsOEJBQThCLGFBRzdCLENBQUMsaUJBQWlCLEVBQUUsbUJBQW1CLENBQUMsUUFDN0M7d0JBQ0osWUFBWSxFQUFFLFVBQVU7d0JBQ3hCLEtBQUssRUFBRSxRQUFRO3dCQUNmLFNBQVMsRUFBRSwwQkFBMEI7d0JBQ3JDLElBQUksRUFBRSxRQUFRO3FCQUNmLGNBQ1csQ0FBQyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIE9uRGVzdHJveSwgT25Jbml0LCBSZW5kZXJlcjJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge3Rha2V9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtnZXRGdWxsWWVhciwgZ2V0TW9udGh9IGZyb20gJ25neC1ib290c3RyYXAvY2hyb25vcyc7XG5pbXBvcnQge1Bvc2l0aW9uaW5nU2VydmljZX0gZnJvbSAnbmd4LWJvb3RzdHJhcC9wb3NpdGlvbmluZyc7XG5cbmltcG9ydCB7QnNEYXRlcGlja2VyQWJzdHJhY3RDb21wb25lbnR9IGZyb20gJy4uL2Jhc2UvYnMtZGF0ZXBpY2tlci1jb250YWluZXInO1xuaW1wb3J0IHtCc0RhdGVwaWNrZXJDb25maWd9IGZyb20gJy4uL2JzLWRhdGVwaWNrZXIuY29uZmlnJztcbmltcG9ydCB7Q2FsZW5kYXJDZWxsVmlld01vZGVsLCBEYXlWaWV3TW9kZWx9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQge0JzRGF0ZXBpY2tlckFjdGlvbnN9IGZyb20gJy4uL3JlZHVjZXIvYnMtZGF0ZXBpY2tlci5hY3Rpb25zJztcbmltcG9ydCB7QnNEYXRlcGlja2VyRWZmZWN0c30gZnJvbSAnLi4vcmVkdWNlci9icy1kYXRlcGlja2VyLmVmZmVjdHMnO1xuaW1wb3J0IHtCc0RhdGVwaWNrZXJTdG9yZX0gZnJvbSAnLi4vcmVkdWNlci9icy1kYXRlcGlja2VyLnN0b3JlJztcbmltcG9ydCB7ZGF0ZXBpY2tlckFuaW1hdGlvbn0gZnJvbSAnLi4vZGF0ZXBpY2tlci1hbmltYXRpb25zJztcbmltcG9ydCB7ZGF5SW5NaWxsaXNlY29uZHN9IGZyb20gJy4uL3JlZHVjZXIvX2RlZmF1bHRzJztcbmltcG9ydCB7QnNEYXRlcGlja2VyQ2FsbGJhY2tzfSBmcm9tIFwiLi4vYnMtZGF0ZXBpY2tlci5jYWxsYmFja3NcIjtcbmltcG9ydCB7QnNDdXN0b21EYXRlc30gZnJvbSBcIi4uL3V0aWxzL2JzLWNhbGVuZGFyLXV0aWxzXCI7XG5pbXBvcnQge0hlYWRlclR5cGVTZXJ2aWNlfSBmcm9tIFwiLi4vc2VydmljZXMvaGVhZGVyLXR5cGUuc2VydmljZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdndC1kYXRlcmFuZ2VwaWNrZXItY29udGFpbmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JzLWRhdGVwaWNrZXItdmlldy5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYnMtZGF0ZXBpY2tlci12aWV3LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbQnNEYXRlcGlja2VyU3RvcmUsIEJzRGF0ZXBpY2tlckVmZmVjdHNdLFxuICBob3N0OiB7XG4gICAgJ2FyaWEtbGFiZWwnOiAnY2FsZW5kYXInLFxuICAgIGNsYXNzOiAnYm90dG9tJyxcbiAgICAnKGNsaWNrKSc6ICckZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCknLFxuICAgIHJvbGU6ICdkaWFsb2cnLFxuICB9LFxuICBhbmltYXRpb25zOiBbZGF0ZXBpY2tlckFuaW1hdGlvbl1cbn0pXG5leHBvcnQgY2xhc3MgQnNEYXRlcmFuZ2VwaWNrZXJDb250YWluZXJDb21wb25lbnQgZXh0ZW5kcyBCc0RhdGVwaWNrZXJBYnN0cmFjdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgb3ZlcnJpZGUgY2hvc2VuUmFuZ2U6IERhdGVbXSA9IFtdO1xuICBvdmVycmlkZSBpc1JhbmdlUGlja2VyOiBib29sZWFuID0gdHJ1ZTtcblxuICBwcml2YXRlIF9yYW5nZVN0YWNrOiBEYXRlW10gPSBbXTtcbiAgcHVibGljIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8RGF0ZVtdPiA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZVtdPigpO1xuICBwdWJsaWMgb25BcHBseUNoYW5nZTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIHNldCB2YWx1ZSh2YWx1ZTogKERhdGUgfCB1bmRlZmluZWQpW10gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl9lZmZlY3RzPy5zZXRSYW5nZVZhbHVlKHZhbHVlKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBoZWFkZXJUeXBlU2VydmljZTogSGVhZGVyVHlwZVNlcnZpY2UsIF9yZW5kZXJlcjogUmVuZGVyZXIyLCBwdWJsaWMgX2NvbmZpZzogQnNEYXRlcGlja2VyQ29uZmlnLCBwdWJsaWMgX2NhbGxiYWNrczogQnNEYXRlcGlja2VyQ2FsbGJhY2tzLCBwcml2YXRlIF9zdG9yZTogQnNEYXRlcGlja2VyU3RvcmUsIHByaXZhdGUgX2VsZW1lbnQ6IEVsZW1lbnRSZWYsIHByaXZhdGUgX2FjdGlvbnM6IEJzRGF0ZXBpY2tlckFjdGlvbnMsIF9lZmZlY3RzOiBCc0RhdGVwaWNrZXJFZmZlY3RzLCBwcml2YXRlIF9wb3NpdGlvblNlcnZpY2U6IFBvc2l0aW9uaW5nU2VydmljZSkge1xuICAgIHN1cGVyKF9jb25maWcpO1xuICAgIHRoaXMuX2VmZmVjdHMgPSBfZWZmZWN0cztcblxuICAgIF9yZW5kZXJlci5zZXRTdHlsZShfZWxlbWVudC5uYXRpdmVFbGVtZW50LCAnZGlzcGxheScsICdibG9jaycpO1xuICAgIF9yZW5kZXJlci5zZXRTdHlsZShfZWxlbWVudC5uYXRpdmVFbGVtZW50LCAncG9zaXRpb24nLCAnYWJzb2x1dGUnKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX3Bvc2l0aW9uU2VydmljZS5zZXRPcHRpb25zKHtcbiAgICAgIG1vZGlmaWVyczoge1xuICAgICAgICBmbGlwOiB7ZW5hYmxlZDogdGhpcy5fY29uZmlnLmFkYXB0aXZlUG9zaXRpb259LFxuICAgICAgICBwcmV2ZW50T3ZlcmZsb3c6IHtlbmFibGVkOiB0aGlzLl9jb25maWcuYWRhcHRpdmVQb3NpdGlvbn1cbiAgICAgIH0sXG4gICAgICBhbGxvd2VkUG9zaXRpb25zOiBbJ3RvcCcsICdib3R0b20nXVxuICAgIH0pO1xuXG4gICAgdGhpcy5fcG9zaXRpb25TZXJ2aWNlLmV2ZW50JD8ucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5fcG9zaXRpb25TZXJ2aWNlLmRpc2FibGUoKTtcblxuICAgICAgaWYgKHRoaXMuX2NvbmZpZy5pc0FuaW1hdGVkKSB7XG4gICAgICAgIHRoaXMuYW5pbWF0aW9uU3RhdGUgPSB0aGlzLmlzVG9wUG9zaXRpb24gPyAnYW5pbWF0ZWQtdXAnIDogJ2FuaW1hdGVkLWRvd24nO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5hbmltYXRpb25TdGF0ZSA9ICd1bmFuaW1hdGVkJztcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuaXNPdGhlck1vbnRoc0FjdGl2ZSA9IHRoaXMuX2NvbmZpZy5zZWxlY3RGcm9tT3RoZXJNb250aDtcbiAgICB0aGlzLl9lZmZlY3RzPy5pbml0KHRoaXMuX3N0b3JlKVxuICAgICAgLy8gaW50aWFsIHN0YXRlIG9wdGlvbnNcbiAgICAgIC5zZXRPcHRpb25zKHRoaXMuX2NvbmZpZylcbiAgICAgIC8vIGRhdGEgYmluZGluZyB2aWV3IC0tPiBtb2RlbFxuICAgICAgLnNldEJpbmRpbmdzKHRoaXMpXG4gICAgICAvLyBzZXQgZXZlbnQgaGFuZGxlcnNcbiAgICAgIC5zZXRFdmVudEhhbmRsZXJzKHRoaXMpXG4gICAgICAucmVnaXN0ZXJEYXRlcGlja2VyU2lkZUVmZmVjdHMoKTtcblxuICAgIC8vIG9uIHNlbGVjdGVkIGRhdGUgY2hhbmdlXG4gICAgdGhpcy5fc3Vicy5wdXNoKFxuICAgICAgdGhpcy5fc3RvcmUuc2VsZWN0KChzdGF0ZSkgPT4gc3RhdGUuc2VsZWN0ZWRSYW5nZSkuc3Vic2NyaWJlKChkYXRlUmFuZ2UpID0+IHtcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KGRhdGVSYW5nZSk7XG4gICAgICAgIHRoaXMuY2hvc2VuUmFuZ2UgPSBkYXRlUmFuZ2UgfHwgW107XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBnZXQgaXNUb3BQb3NpdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygndG9wJyk7XG4gIH1cblxuICBwdWJsaWMgcG9zaXRpb25TZXJ2aWNlRW5hYmxlKCk6IHZvaWQge1xuICAgIHRoaXMuX3Bvc2l0aW9uU2VydmljZS5lbmFibGUoKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGRheVNlbGVjdEhhbmRsZXIoZGF5OiBEYXlWaWV3TW9kZWwpOiB2b2lkIHtcbiAgICBpZiAoIWRheSkgcmV0dXJuO1xuXG4gICAgY29uc3QgaXNEaXNhYmxlZDogYm9vbGVhbiA9IHRoaXMuaXNPdGhlck1vbnRoc0FjdGl2ZSA/IGRheS5pc0Rpc2FibGVkIDogZGF5LmlzT3RoZXJNb250aCB8fCBkYXkuaXNEaXNhYmxlZDtcbiAgICBpZiAoaXNEaXNhYmxlZCkgcmV0dXJuO1xuXG4gICAgdGhpcy5yYW5nZXNQcm9jZXNzaW5nKGRheSk7XG4gIH1cblxuICBvdmVycmlkZSBtb250aFNlbGVjdEhhbmRsZXIoZGF5OiBDYWxlbmRhckNlbGxWaWV3TW9kZWwpOiB2b2lkIHtcbiAgICBpZiAoIWRheSB8fCBkYXkuaXNEaXNhYmxlZCkgcmV0dXJuO1xuXG4gICAgZGF5LmlzU2VsZWN0ZWQgPSB0cnVlO1xuXG4gICAgaWYgKHRoaXMuX2NvbmZpZy5taW5Nb2RlICE9PSAnbW9udGgnKSB7XG4gICAgICBpZiAoZGF5LmlzRGlzYWJsZWQpIHJldHVybjtcblxuICAgICAgdGhpcy5fc3RvcmUuZGlzcGF0Y2goXG4gICAgICAgIHRoaXMuX2FjdGlvbnMubmF2aWdhdGVUbyh7XG4gICAgICAgICAgdW5pdDoge21vbnRoOiBnZXRNb250aChkYXkuZGF0ZSksIHllYXI6IGdldEZ1bGxZZWFyKGRheS5kYXRlKX0sXG4gICAgICAgICAgdmlld01vZGU6ICdkYXknXG4gICAgICAgIH0pXG4gICAgICApO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5yYW5nZXNQcm9jZXNzaW5nKGRheSk7XG4gIH1cblxuICBvdmVycmlkZSB5ZWFyU2VsZWN0SGFuZGxlcihkYXk6IENhbGVuZGFyQ2VsbFZpZXdNb2RlbCk6IHZvaWQge1xuICAgIGlmICghZGF5IHx8IGRheS5pc0Rpc2FibGVkKSByZXR1cm47XG5cbiAgICBkYXkuaXNTZWxlY3RlZCA9IHRydWU7XG5cbiAgICBpZiAodGhpcy5fY29uZmlnLm1pbk1vZGUgIT09ICd5ZWFyJykge1xuICAgICAgaWYgKGRheS5pc0Rpc2FibGVkKSByZXR1cm47XG5cbiAgICAgIHRoaXMuX3N0b3JlLmRpc3BhdGNoKFxuICAgICAgICB0aGlzLl9hY3Rpb25zLm5hdmlnYXRlVG8oe1xuICAgICAgICAgIHVuaXQ6IHt5ZWFyOiBnZXRGdWxsWWVhcihkYXkuZGF0ZSl9LFxuICAgICAgICAgIHZpZXdNb2RlOiAnbW9udGgnXG4gICAgICAgIH0pXG4gICAgICApO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5yYW5nZXNQcm9jZXNzaW5nKGRheSk7XG4gIH1cblxuICByYW5nZXNQcm9jZXNzaW5nKGRheTogQ2FsZW5kYXJDZWxsVmlld01vZGVsKTogdm9pZCB7XG4gICAgLy8gaWYgb25seSBvbmUgZGF0ZSBpcyBhbHJlYWR5IHNlbGVjdGVkIGFuZCB1c2VyIGNsaWNrcyBvbiBwcmV2aW91cyBkYXRlXG4gICAgLy8gc3RhcnQgc2VsZWN0aW9uIGZyb20gbmV3IGRhdGUgYnV0IGlmIG5ldyBkYXRlIGlzIGFmdGVyIGluaXRpYWwgb25lXG4gICAgLy8gdGhhbiBmaW5pc2ggc2VsZWN0aW9uXG5cbiAgICBpZiAodGhpcy5fcmFuZ2VTdGFjay5sZW5ndGggPT09IDEpIHtcbiAgICAgIHRoaXMuX3JhbmdlU3RhY2sgPSBkYXkuZGF0ZSA+PSB0aGlzLl9yYW5nZVN0YWNrWzBdID8gW3RoaXMuX3JhbmdlU3RhY2tbMF0sIGRheS5kYXRlXSA6IFtkYXkuZGF0ZV07XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX2NvbmZpZy5tYXhEYXRlUmFuZ2UpIHtcbiAgICAgIHRoaXMuc2V0TWF4RGF0ZVJhbmdlT25DYWxlbmRhcihkYXkuZGF0ZSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX3JhbmdlU3RhY2subGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLl9yYW5nZVN0YWNrID0gW2RheS5kYXRlXTtcblxuICAgICAgaWYgKHRoaXMuX2NvbmZpZy5tYXhEYXRlUmFuZ2UpIHtcbiAgICAgICAgdGhpcy5zZXRNYXhEYXRlUmFuZ2VPbkNhbGVuZGFyKGRheS5kYXRlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLl9zdG9yZS5kaXNwYXRjaCh0aGlzLl9hY3Rpb25zLnNlbGVjdFJhbmdlKHRoaXMuX3JhbmdlU3RhY2spKTtcblxuICAgIGlmICh0aGlzLl9yYW5nZVN0YWNrLmxlbmd0aCA9PT0gMikge1xuICAgICAgdGhpcy5fcmFuZ2VTdGFjayA9IFtdO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGZvciAoY29uc3Qgc3ViIG9mIHRoaXMuX3N1YnMpIHtcbiAgICAgIHN1Yi51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHRoaXMuX2VmZmVjdHM/LmRlc3Ryb3koKTtcbiAgfVxuXG4gIG92ZXJyaWRlIHNldFJhbmdlT25DYWxlbmRhcihkYXRlczogQnNDdXN0b21EYXRlcyk6IHZvaWQge1xuICAgIGlmIChkYXRlcykge1xuICAgICAgdGhpcy5fcmFuZ2VTdGFjayA9IGRhdGVzLnZhbHVlIGluc3RhbmNlb2YgRGF0ZSA/IFtkYXRlcy52YWx1ZV0gOiBkYXRlcy52YWx1ZTtcbiAgICB9XG5cbiAgICB0aGlzLl9zdG9yZS5kaXNwYXRjaCh0aGlzLl9hY3Rpb25zLnNlbGVjdFJhbmdlKHRoaXMuX3JhbmdlU3RhY2spKTtcbiAgfVxuXG4gIHNldE1heERhdGVSYW5nZU9uQ2FsZW5kYXIoY3VycmVudFNlbGVjdGlvbjogRGF0ZSk6IHZvaWQge1xuICAgIGxldCBtYXhEYXRlUmFuZ2U6IERhdGUgPSBuZXcgRGF0ZShjdXJyZW50U2VsZWN0aW9uKTtcblxuICAgIGlmICh0aGlzLl9jb25maWcubWF4RGF0ZSkge1xuICAgICAgY29uc3QgbWF4RGF0ZVZhbHVlSW5NaWxsaXNlY29uZHM6IG51bWJlciA9IHRoaXMuX2NvbmZpZy5tYXhEYXRlLmdldFRpbWUoKTtcbiAgICAgIGNvbnN0IG1heERhdGVSYW5nZUluTWlsbGlzZWNvbmRzOiBudW1iZXIgPSBjdXJyZW50U2VsZWN0aW9uLmdldFRpbWUoKSArICh0aGlzLl9jb25maWcubWF4RGF0ZVJhbmdlIHx8IDApICogZGF5SW5NaWxsaXNlY29uZHM7XG5cbiAgICAgIG1heERhdGVSYW5nZSA9IG1heERhdGVSYW5nZUluTWlsbGlzZWNvbmRzID4gbWF4RGF0ZVZhbHVlSW5NaWxsaXNlY29uZHMgPyBuZXcgRGF0ZSh0aGlzLl9jb25maWcubWF4RGF0ZSkgOiBuZXcgRGF0ZShtYXhEYXRlUmFuZ2VJbk1pbGxpc2Vjb25kcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG1heERhdGVSYW5nZS5zZXREYXRlKGN1cnJlbnRTZWxlY3Rpb24uZ2V0RGF0ZSgpICsgKHRoaXMuX2NvbmZpZy5tYXhEYXRlUmFuZ2UgfHwgMCkpO1xuICAgIH1cblxuICAgIHRoaXMuX2VmZmVjdHM/LnNldE1heERhdGUobWF4RGF0ZVJhbmdlKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGNsZWFyRGF0ZSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNFbXB0eSkge1xuICAgICAgdGhpcy5fc3RvcmUuZGlzcGF0Y2godGhpcy5fYWN0aW9ucy5zZWxlY3RSYW5nZShbXSkpO1xuICAgIH1cbiAgfVxuXG4gIG92ZXJyaWRlIGFwcGx5KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc0VtcHR5KSB7XG4gICAgICBpZiAodGhpcy5vbkFwcGx5Q2hhbmdlKSB7XG4gICAgICAgIHRoaXMub25BcHBseUNoYW5nZS5lbWl0KCk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLl9jYWxsYmFja3M/LmhpZGUpIHtcbiAgICAgICAgdGhpcy5fY2FsbGJhY2tzLmhpZGUoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJndC1jYWxlbmRhciB7e2NhbGVuZGFyU2l6ZX19IHt7Y2FsZW5kYXJTcGFjaW5nfX0ge3t2aWV3TW9kZSB8IGFzeW5jfX1cIiBbY2xhc3MuaXMtbW9iaWxlXT1cIl9jb25maWcuaXNNb2JpbGVcIiAqbmdJZj1cInZpZXdNb2RlIHwgYXN5bmNcIlxuICAgICBbQGRhdGVwaWNrZXJBbmltYXRpb25dPVwiYW5pbWF0aW9uU3RhdGVcIiAoQGRhdGVwaWNrZXJBbmltYXRpb24uZG9uZSk9XCJwb3NpdGlvblNlcnZpY2VFbmFibGUoKVwiPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIihpc1JhbmdlUGlja2VyIHx8IF9jb25maWcuaXNNb2JpbGUpICYmIGhlYWRlclR5cGVTZXJ2aWNlLmdldENhbGVuZGFyVHlwZSgpID09PSAnZGF5cydcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImd0LWNhbGVuZGFyLXRvcGJhci1pbmRpY2F0b3JcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc1JhbmdlUGlja2VyXCI+XG4gICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJoci10aXRsZVwiIFtjbGFzcy5zbS1yZWd1bGFyXT1cImNob3NlblJhbmdlPy5sZW5ndGggPiAwXCJcbiAgICAgICAgICAgICAgICAgICBbY2xhc3Muc20tYm9sZF09XCJjaG9zZW5SYW5nZT8ubGVuZ3RoID09IDBcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNob3NlblJhbmdlPy5sZW5ndGggPT0gMFwiPlN0YXJ0IGRhdGU8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNob3NlblJhbmdlPy5sZW5ndGggPiAwXCI+e3sgY2hvc2VuUmFuZ2VbMF0gfCBkYXRlIDogJ01NTSBkLCB5JyB9fTwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICA8Z3Jhdml0eS1pY29uIFtpY29uTmFtZV09XCInc3dhcHMtYXJyb3ctcmlnaHQnXCIgW2ljb25TaXplXT1cIidzbS0xMidcIj48L2dyYXZpdHktaWNvbj5cbiAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImhyLXRpdGxlXCIgW2NsYXNzLnNtLXJlZ3VsYXJdPVwiY2hvc2VuUmFuZ2U/Lmxlbmd0aCA+IDEgfHwgY2hvc2VuUmFuZ2U/Lmxlbmd0aCA9PSAwXCJcbiAgICAgICAgICAgICAgICAgICBbY2xhc3Muc20tYm9sZF09XCJjaG9zZW5SYW5nZT8ubGVuZ3RoID09IDFcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNob3NlblJhbmdlPy5sZW5ndGggPCAyXCI+RW5kIGRhdGU8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNob3NlblJhbmdlPy5sZW5ndGggPiAxXCI+e3sgY2hvc2VuUmFuZ2VbMV0gfCBkYXRlIDogJ01NTSBkLCB5JyB9fTwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc1JhbmdlUGlja2VyXCI+XG4gICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJoci10aXRsZSBzbS1ib2xkXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhX2NvbmZpZy52YWx1ZVwiPlNlbGVjdCBkYXRlPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJfY29uZmlnLnZhbHVlXCI+e3sgX2NvbmZpZy52YWx1ZS50b1N0cmluZygpIHwgZGF0ZSA6ICdNTU0gZCwgeScgfX08L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGhyIGNsYXNzPVwiZ3QtY2FsZW5kYXItdG9wYmFyLWxpbmVcIj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxkaXYgY2xhc3M9XCJndC1jYWxlbmRhcnNcIiBbbmdTd2l0Y2hdPVwidmlld01vZGUgfCBhc3luY1wiIHJvbGU9XCJhcHBsaWNhdGlvblwiPlxuXG4gICAgICAgIDwhLS1kYXlzIGNhbGVuZGFyLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidkYXknXCI+XG4gICAgICAgICAgICA8YnMtZGF5cy1jYWxlbmRhci12aWV3IFtjYWxlbmRhcl09XCJjYWxlbmRhclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWxlbmRhckluZGV4XT1cImlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaXNEaXNhYmxlZF09XCJpc0Rpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW29wdGlvbnNdPVwib3B0aW9ucyQgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93TmF2aWdhdGlvbkFycm93c109XCJzaG93TmF2aWdhdGlvbkFycm93c1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaXplXT1cIl9jb25maWcuaXNNb2JpbGUgPyAnbWQnIDogY2FsZW5kYXJTaXplXCJcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgY2FsZW5kYXIgb2YgZGF5c0NhbGVuZGFyJCB8IGFzeW5jOyBsZXQgaSA9IGluZGV4XCJcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob25Ib3Zlcik9XCJkYXlIb3ZlckhhbmRsZXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvbk5hdmlnYXRlKT1cIm5hdmlnYXRlVG8oJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvblNlbGVjdCk9XCJkYXlTZWxlY3RIYW5kbGVyKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob25WaWV3TW9kZSk9XCJzZXRWaWV3TW9kZSgkZXZlbnQpXCI+PC9icy1kYXlzLWNhbGVuZGFyLXZpZXc+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDwhLS1tb250aHMgY2FsZW5kYXItLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ21vbnRoJ1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIl9jb25maWcuaXNNb2JpbGU7IGVsc2Ugbm9uTW9iaWxlXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY2FsZW5kYXIgb2YgbW9udGhzQ2FsZW5kYXIgfCBhc3luYzsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICAgICAgICAgICAgICA8YnMtbW9udGgtY2FsZW5kYXItdmlldyAqbmdJZj1cImkgPT09IDBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FsZW5kYXJdPVwiY2FsZW5kYXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FsZW5kYXJJbmRleF09XCJpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dOYXZpZ2F0aW9uQXJyb3dzXT1cInNob3dOYXZpZ2F0aW9uQXJyb3dzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NpemVdPVwiX2NvbmZpZy5pc01vYmlsZSA/ICdtZCcgOiBjYWxlbmRhclNpemVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FsZW5kYXJMYW5nXT1cIl9jb25maWcuY2FsZW5kYXJMYW5nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9uSG92ZXIpPVwibW9udGhIb3ZlckhhbmRsZXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvbk5hdmlnYXRlKT1cIm5hdmlnYXRlVG8oJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvblNlbGVjdCk9XCJtb250aFNlbGVjdEhhbmRsZXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvblZpZXdNb2RlKT1cInNldFZpZXdNb2RlKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgICAgPC9icy1tb250aC1jYWxlbmRhci12aWV3PlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI25vbk1vYmlsZT5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjYWxlbmRhciBvZiBtb250aHNDYWxlbmRhciB8IGFzeW5jOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgICAgICAgICAgICAgIDxicy1tb250aC1jYWxlbmRhci12aWV3IFtjYWxlbmRhcl09XCJjYWxlbmRhclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWxlbmRhckluZGV4XT1cImlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2hvd05hdmlnYXRpb25BcnJvd3NdPVwic2hvd05hdmlnYXRpb25BcnJvd3NcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2l6ZV09XCJfY29uZmlnLmlzTW9iaWxlID8gJ21kJyA6IGNhbGVuZGFyU2l6ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWxlbmRhckxhbmddPVwiX2NvbmZpZy5jYWxlbmRhckxhbmdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob25Ib3Zlcik9XCJtb250aEhvdmVySGFuZGxlcigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9uTmF2aWdhdGUpPVwibmF2aWdhdGVUbygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9uU2VsZWN0KT1cIm1vbnRoU2VsZWN0SGFuZGxlcigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9uVmlld01vZGUpPVwic2V0Vmlld01vZGUoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAgICA8L2JzLW1vbnRoLWNhbGVuZGFyLXZpZXc+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8IS0teWVhcnMgY2FsZW5kYXItLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3llYXInXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiX2NvbmZpZy5pc01vYmlsZTsgZWxzZSBub25Nb2JpbGVcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjYWxlbmRhciBvZiB5ZWFyc0NhbGVuZGFyIHwgYXN5bmM7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJzLXllYXJzLWNhbGVuZGFyLXZpZXcgKm5nSWY9XCJpID09PSAwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhbGVuZGFyXT1cImNhbGVuZGFyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhbGVuZGFySW5kZXhdPVwiaVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93TmF2aWdhdGlvbkFycm93c109XCJzaG93TmF2aWdhdGlvbkFycm93c1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaXplXT1cIl9jb25maWcuaXNNb2JpbGUgPyAnbWQnIDogY2FsZW5kYXJTaXplXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9uSG92ZXIpPVwieWVhckhvdmVySGFuZGxlcigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9uTmF2aWdhdGUpPVwibmF2aWdhdGVUbygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9uU2VsZWN0KT1cInllYXJTZWxlY3RIYW5kbGVyKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob25WaWV3TW9kZSk9XCJzZXRWaWV3TW9kZSgkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgICAgIDwvYnMteWVhcnMtY2FsZW5kYXItdmlldz5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNub25Nb2JpbGU+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY2FsZW5kYXIgb2YgeWVhcnNDYWxlbmRhciB8IGFzeW5jOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgICAgICAgICAgICAgIDxicy15ZWFycy1jYWxlbmRhci12aWV3IFtjYWxlbmRhcl09XCJjYWxlbmRhclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWxlbmRhckluZGV4XT1cImlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2hvd05hdmlnYXRpb25BcnJvd3NdPVwic2hvd05hdmlnYXRpb25BcnJvd3NcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2l6ZV09XCJfY29uZmlnLmlzTW9iaWxlID8gJ21kJyA6IGNhbGVuZGFyU2l6ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvbkhvdmVyKT1cInllYXJIb3ZlckhhbmRsZXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvbk5hdmlnYXRlKT1cIm5hdmlnYXRlVG8oJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvblNlbGVjdCk9XCJ5ZWFyU2VsZWN0SGFuZGxlcigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9uVmlld01vZGUpPVwic2V0Vmlld01vZGUoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAgICA8L2JzLXllYXJzLWNhbGVuZGFyLXZpZXc+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJndC1jYWxlbmRhci1mb290ZXJcIiAqbmdJZj1cIih2aWV3TW9kZSB8IGFzeW5jKSA9PSAnZGF5J1wiXG4gICAgICAgICBbY2xhc3MuYnMtZGF0ZXBpY2tlci1tdWx0aXBsZV09XCJpc1JhbmdlUGlja2VyICYmIF9jb25maWcuZGlzcGxheU1vbnRocyA+IDFcIiBbY2xhc3Mubm90LWNsZWFyYWJsZV09XCIhX2NvbmZpZy5jbGVhcmFibGVcIj5cbiAgICAgICAgPGdyYXZpdHktbGluayBbbGlua1RleHRdPVwiX2NvbmZpZy5jYWxlbmRhckxhbmcgPT0gJ2VzJyA/ICdMaW1waWFyJyA6ICdDbGVhciBzZWxlY3Rpb24nXCIgIFtsaW5rXT1cIicnXCJcbiAgICAgICAgICAgICAgICAgICAgICBbc3RhdGVdPVwiaXNFbXB0eSA/ICdkaXNhYmxlZCcgOiAnYWN0aXZlJ1wiIChjbGljayk9XCJjbGVhckRhdGUoKVwiPjwvZ3Jhdml0eS1saW5rPlxuICAgICAgICA8cCBjbGFzcz1cImFwcGx5IGhyLWxhYmVsIHBvaW50ZXIgc20tYm9sZFwiIFtjbGFzcy5lbXB0eV09XCJpc0VtcHR5XCIgKGNsaWNrKT1cImFwcGx5KClcIj5BcHBseTwvcD5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuXG4iXX0=
|