theme-lib
Version:
This is a simple example Angular Library published to npm.
197 lines • 17.9 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/*
* @license
* Copyright Akveo. All Rights Reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*/
import { Component, EventEmitter, Input, Output, Type } from '@angular/core';
import { NbCalendarSize, NbCalendarViewMode } from '../calendar-kit';
/*
* Calendar component provides a capability to choose a date.
*
* ```html
* <nb-calendar [(date)]="date"></nb-calendar>
* <nb-calendar [date]="date" (dateChange)="handleDateChange($event)"></nb-calendar>
* ```
*
* Basic usage example
* @stacked-example(Showcase, calendar/calendar-showcase.component)
*
* ### Installation
*
* Import `NbCalendarModule` to your feature module.
* ```ts
* @NgModule({
* imports: [
* // ...
* NbCalendarModule,
* ],
* })
* export class PageModule { }
* ```
* ### Usage
*
* If you want to select ranges you can use `NbCalendarRangeComponent`.
*
* ```html
* <nb-calendar-range [(range)]="range"></nb-calendar-range>
* <nb-calendar-range [range]="range" (rangeChange)="handleRangeChange($event)"></nb-calendar-range>
* ```
*
* In order to use it, you have to import `NbCalendarRangeModule`.
* @stacked-example(Range, calendar/calendar-range-showcase.component)
*
* The calendar component is supplied with a calendar header that contains navigate today button.
* If you do not want to use it you can hide calendar header using `showHeader` property.
* @stacked-example(Header, calendar/calendar-without-header.component)
*
* As you can see in the basic usage example calendar contains previous and next month days
* which can be disabled using `boundingMonth` property.
* @stacked-example(Bounding months, calendar/calendar-bounding-month.component)
*
* You can define starting view of the calendar by setting `startView` property.
* Available values: year, month and date.
* @stacked-example(Start view, calendar/calendar-start-view.component)
*
* You can use a larger version of the calendar by defining size property.
* Available values: medium(which is default) and large.
* @stacked-example(Size, calendar/calendar-size.component)
*
* Calendar supports min and max dates which disables values out of min-max range.
* @stacked-example(Borders, calendar/calendar-min-max.component)
*
* Also, you can define custom filter property that should be predicate which receives
* date and returns false if this date has to be disabled. In this example, we provide the filter
* which disables weekdays.
* @stacked-example(Filter, calendar/calendar-filter.component)
*
* If you need create custom cells you can easily provide custom components for
* calendar. For examples if you want to show any average price under each date you can
* just provide custom `dayCellComponent`. Custom cells for month and year can be provided
* the same way, check API reference.
* @stacked-example(Custom day cell, calendar/calendar-custom-day-cell-showcase.component)
*
* @styles
*
* calendar-width
* calendar-body-height
* calendar-header-title-font-size
* calendar-header-title-font-weight
* calendar-header-sub-title-font-size
* calendar-header-sub-title-font-weight
* calendar-navigation-button-width
* calendar-selected-item-bg
* calendar-hover-item-bg
* calendar-today-item-bg
* calendar-active-item-bg
* calendar-fg
* calendar-selected-fg
* calendar-day-cell-width
* calendar-day-cell-height
* calendar-month-cell-width
* calendar-month-cell-height
* calendar-year-cell-width
* calendar-year-cell-height
* calendar-inactive-opacity
* calendar-disabled-opacity
* calendar-border-radius
* calendar-weekday-width
* calendar-weekday-height
* calendar-weekday-font-size
* calendar-weekday-font-weight
* calendar-weekday-fg
* calendar-weekday-holiday-fg
* calendar-range-bg-in-range
* calendar-large-width
* calendar-large-body-height
* calendar-day-cell-large-width
* calendar-day-cell-large-height
* calendar-month-cell-large-width
* calendar-month-cell-large-height
* calendar-year-cell-large-width
* calendar-year-cell-large-height
* */
/**
* @template D
*/
var NbCalendarComponent = /** @class */ (function () {
function NbCalendarComponent() {
/*
* Defines if we should render previous and next months
* in the current month view.
* */
this.boundingMonth = true;
/*
* Defines starting view for calendar.
* */
this.startView = NbCalendarViewMode.DATE;
/*
* Size of the calendar and entire components.
* Can be 'medium' which is default or 'large'.
* */
this.size = NbCalendarSize.MEDIUM;
/*
* Determines should we show calendars header or not.
* */
this.showHeader = true;
/*
* Emits date when selected.
* */
this.dateChange = new EventEmitter();
}
NbCalendarComponent.decorators = [
{ type: Component, args: [{
selector: 'nb-calendar',
template: "\n <nb-base-calendar\n [boundingMonth]=\"boundingMonth\"\n [startView]=\"startView\"\n [date]=\"date\"\n [min]=\"min\"\n [max]=\"max\"\n [filter]=\"filter\"\n [dayCellComponent]=\"dayCellComponent\"\n [monthCellComponent]=\"monthCellComponent\"\n [yearCellComponent]=\"yearCellComponent\"\n [size]=\"size\"\n [visibleDate]=\"visibleDate\"\n [showHeader]=\"showHeader\"\n (dateChange)=\"dateChange.emit($event)\"\n ></nb-base-calendar>\n "
}] }
];
NbCalendarComponent.propDecorators = {
boundingMonth: [{ type: Input }],
startView: [{ type: Input }],
min: [{ type: Input }],
max: [{ type: Input }],
filter: [{ type: Input }],
dayCellComponent: [{ type: Input }],
monthCellComponent: [{ type: Input }],
yearCellComponent: [{ type: Input }],
size: [{ type: Input }],
visibleDate: [{ type: Input }],
showHeader: [{ type: Input }],
date: [{ type: Input }],
dateChange: [{ type: Output }]
};
return NbCalendarComponent;
}());
export { NbCalendarComponent };
if (false) {
/** @type {?} */
NbCalendarComponent.prototype.boundingMonth;
/** @type {?} */
NbCalendarComponent.prototype.startView;
/** @type {?} */
NbCalendarComponent.prototype.min;
/** @type {?} */
NbCalendarComponent.prototype.max;
/** @type {?} */
NbCalendarComponent.prototype.filter;
/** @type {?} */
NbCalendarComponent.prototype.dayCellComponent;
/** @type {?} */
NbCalendarComponent.prototype.monthCellComponent;
/** @type {?} */
NbCalendarComponent.prototype.yearCellComponent;
/** @type {?} */
NbCalendarComponent.prototype.size;
/** @type {?} */
NbCalendarComponent.prototype.visibleDate;
/** @type {?} */
NbCalendarComponent.prototype.showHeader;
/** @type {?} */
NbCalendarComponent.prototype.date;
/** @type {?} */
NbCalendarComponent.prototype.dateChange;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vdGhlbWUtbGliLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvY2FsZW5kYXIvY2FsZW5kYXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQU1BLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdFLE9BQU8sRUFBa0IsY0FBYyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUE0R3JGO0lBQUE7Ozs7O1FBMEJXLGtCQUFhLEdBQVksSUFBSSxDQUFDOzs7O1FBSzlCLGNBQVMsR0FBdUIsa0JBQWtCLENBQUMsSUFBSSxDQUFDOzs7OztRQW9DeEQsU0FBSSxHQUFtQixjQUFjLENBQUMsTUFBTSxDQUFDOzs7O1FBTzdDLGVBQVUsR0FBWSxJQUFJLENBQUM7Ozs7UUFVMUIsZUFBVSxHQUFvQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBQzdELENBQUM7O2dCQXJGQSxTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLFFBQVEsRUFBRSwrZkFnQlQ7aUJBQ0Y7OztnQ0FPRSxLQUFLOzRCQUtMLEtBQUs7c0JBS0wsS0FBSztzQkFLTCxLQUFLO3lCQUtMLEtBQUs7bUNBS0wsS0FBSztxQ0FLTCxLQUFLO29DQUtMLEtBQUs7dUJBTUwsS0FBSzs4QkFFTCxLQUFLOzZCQUtMLEtBQUs7dUJBS0wsS0FBSzs2QkFLTCxNQUFNOztJQUNULDBCQUFDO0NBQUEsQUFyRkQsSUFxRkM7U0FqRVksbUJBQW1COzs7SUFNOUIsNENBQXVDOztJQUt2Qyx3Q0FBaUU7O0lBS2pFLGtDQUFnQjs7SUFLaEIsa0NBQWdCOztJQUtoQixxQ0FBZ0M7O0lBS2hDLCtDQUFzRDs7SUFLdEQsaURBQXdEOztJQUt4RCxnREFBdUQ7O0lBTXZELG1DQUFzRDs7SUFFdEQsMENBQXdCOztJQUt4Qix5Q0FBb0M7O0lBS3BDLG1DQUFpQjs7SUFLakIseUNBQTJEIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQGxpY2Vuc2VcclxuICogQ29weXJpZ2h0IEFrdmVvLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxyXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLlxyXG4gKi9cclxuXHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBOYkNhbGVuZGFyQ2VsbCwgTmJDYWxlbmRhclNpemUsIE5iQ2FsZW5kYXJWaWV3TW9kZSB9IGZyb20gJy4uL2NhbGVuZGFyLWtpdCc7XHJcblxyXG5cclxuLypcclxuICogQ2FsZW5kYXIgY29tcG9uZW50IHByb3ZpZGVzIGEgY2FwYWJpbGl0eSB0byBjaG9vc2UgYSBkYXRlLlxyXG4gKlxyXG4gKiBgYGBodG1sXHJcbiAqIDxuYi1jYWxlbmRhciBbKGRhdGUpXT1cImRhdGVcIj48L25iLWNhbGVuZGFyPlxyXG4gKiA8bmItY2FsZW5kYXIgW2RhdGVdPVwiZGF0ZVwiIChkYXRlQ2hhbmdlKT1cImhhbmRsZURhdGVDaGFuZ2UoJGV2ZW50KVwiPjwvbmItY2FsZW5kYXI+XHJcbiAqIGBgYFxyXG4gKlxyXG4gKiBCYXNpYyB1c2FnZSBleGFtcGxlXHJcbiAqIEBzdGFja2VkLWV4YW1wbGUoU2hvd2Nhc2UsIGNhbGVuZGFyL2NhbGVuZGFyLXNob3djYXNlLmNvbXBvbmVudClcclxuICpcclxuICogIyMjIEluc3RhbGxhdGlvblxyXG4gKlxyXG4gKiBJbXBvcnQgYE5iQ2FsZW5kYXJNb2R1bGVgIHRvIHlvdXIgZmVhdHVyZSBtb2R1bGUuXHJcbiAqIGBgYHRzXHJcbiAqIEBOZ01vZHVsZSh7XHJcbiAqICAgaW1wb3J0czogW1xyXG4gKiAgIFx0Ly8gLi4uXHJcbiAqICAgICBOYkNhbGVuZGFyTW9kdWxlLFxyXG4gKiAgIF0sXHJcbiAqIH0pXHJcbiAqIGV4cG9ydCBjbGFzcyBQYWdlTW9kdWxlIHsgfVxyXG4gKiBgYGBcclxuICogIyMjIFVzYWdlXHJcbiAqXHJcbiAqIElmIHlvdSB3YW50IHRvIHNlbGVjdCByYW5nZXMgeW91IGNhbiB1c2UgYE5iQ2FsZW5kYXJSYW5nZUNvbXBvbmVudGAuXHJcbiAqXHJcbiAqIGBgYGh0bWxcclxuICogPG5iLWNhbGVuZGFyLXJhbmdlIFsocmFuZ2UpXT1cInJhbmdlXCI+PC9uYi1jYWxlbmRhci1yYW5nZT5cclxuICogPG5iLWNhbGVuZGFyLXJhbmdlIFtyYW5nZV09XCJyYW5nZVwiIChyYW5nZUNoYW5nZSk9XCJoYW5kbGVSYW5nZUNoYW5nZSgkZXZlbnQpXCI+PC9uYi1jYWxlbmRhci1yYW5nZT5cclxuICogYGBgXHJcbiAqXHJcbiAqIEluIG9yZGVyIHRvIHVzZSBpdCwgeW91IGhhdmUgdG8gaW1wb3J0IGBOYkNhbGVuZGFyUmFuZ2VNb2R1bGVgLlxyXG4gKiBAc3RhY2tlZC1leGFtcGxlKFJhbmdlLCBjYWxlbmRhci9jYWxlbmRhci1yYW5nZS1zaG93Y2FzZS5jb21wb25lbnQpXHJcbiAqXHJcbiAqIFRoZSBjYWxlbmRhciBjb21wb25lbnQgaXMgc3VwcGxpZWQgd2l0aCBhIGNhbGVuZGFyIGhlYWRlciB0aGF0IGNvbnRhaW5zIG5hdmlnYXRlIHRvZGF5IGJ1dHRvbi5cclxuICogSWYgeW91IGRvIG5vdCB3YW50IHRvIHVzZSBpdCB5b3UgY2FuIGhpZGUgY2FsZW5kYXIgaGVhZGVyIHVzaW5nIGBzaG93SGVhZGVyYCBwcm9wZXJ0eS5cclxuICogQHN0YWNrZWQtZXhhbXBsZShIZWFkZXIsIGNhbGVuZGFyL2NhbGVuZGFyLXdpdGhvdXQtaGVhZGVyLmNvbXBvbmVudClcclxuICpcclxuICogQXMgeW91IGNhbiBzZWUgaW4gdGhlIGJhc2ljIHVzYWdlIGV4YW1wbGUgY2FsZW5kYXIgY29udGFpbnMgcHJldmlvdXMgYW5kIG5leHQgbW9udGggZGF5c1xyXG4gKiB3aGljaCBjYW4gYmUgZGlzYWJsZWQgdXNpbmcgYGJvdW5kaW5nTW9udGhgIHByb3BlcnR5LlxyXG4gKiBAc3RhY2tlZC1leGFtcGxlKEJvdW5kaW5nIG1vbnRocywgY2FsZW5kYXIvY2FsZW5kYXItYm91bmRpbmctbW9udGguY29tcG9uZW50KVxyXG4gKlxyXG4gKiBZb3UgY2FuIGRlZmluZSBzdGFydGluZyB2aWV3IG9mIHRoZSBjYWxlbmRhciBieSBzZXR0aW5nIGBzdGFydFZpZXdgIHByb3BlcnR5LlxyXG4gKiBBdmFpbGFibGUgdmFsdWVzOiB5ZWFyLCBtb250aCBhbmQgZGF0ZS5cclxuICogQHN0YWNrZWQtZXhhbXBsZShTdGFydCB2aWV3LCBjYWxlbmRhci9jYWxlbmRhci1zdGFydC12aWV3LmNvbXBvbmVudClcclxuICpcclxuICogWW91IGNhbiB1c2UgYSBsYXJnZXIgdmVyc2lvbiBvZiB0aGUgY2FsZW5kYXIgYnkgZGVmaW5pbmcgc2l6ZSBwcm9wZXJ0eS5cclxuICogQXZhaWxhYmxlIHZhbHVlczogbWVkaXVtKHdoaWNoIGlzIGRlZmF1bHQpIGFuZCBsYXJnZS5cclxuICogQHN0YWNrZWQtZXhhbXBsZShTaXplLCBjYWxlbmRhci9jYWxlbmRhci1zaXplLmNvbXBvbmVudClcclxuICpcclxuICogQ2FsZW5kYXIgc3VwcG9ydHMgbWluIGFuZCBtYXggZGF0ZXMgd2hpY2ggZGlzYWJsZXMgdmFsdWVzIG91dCBvZiBtaW4tbWF4IHJhbmdlLlxyXG4gKiBAc3RhY2tlZC1leGFtcGxlKEJvcmRlcnMsIGNhbGVuZGFyL2NhbGVuZGFyLW1pbi1tYXguY29tcG9uZW50KVxyXG4gKlxyXG4gKiBBbHNvLCB5b3UgY2FuIGRlZmluZSBjdXN0b20gZmlsdGVyIHByb3BlcnR5IHRoYXQgc2hvdWxkIGJlIHByZWRpY2F0ZSB3aGljaCByZWNlaXZlc1xyXG4gKiBkYXRlIGFuZCByZXR1cm5zIGZhbHNlIGlmIHRoaXMgZGF0ZSBoYXMgdG8gYmUgZGlzYWJsZWQuIEluIHRoaXMgZXhhbXBsZSwgd2UgcHJvdmlkZSB0aGUgZmlsdGVyXHJcbiAqIHdoaWNoIGRpc2FibGVzIHdlZWtkYXlzLlxyXG4gKiBAc3RhY2tlZC1leGFtcGxlKEZpbHRlciwgY2FsZW5kYXIvY2FsZW5kYXItZmlsdGVyLmNvbXBvbmVudClcclxuICpcclxuICogSWYgeW91IG5lZWQgY3JlYXRlIGN1c3RvbSBjZWxscyB5b3UgY2FuIGVhc2lseSBwcm92aWRlIGN1c3RvbSBjb21wb25lbnRzIGZvclxyXG4gKiBjYWxlbmRhci4gRm9yIGV4YW1wbGVzIGlmIHlvdSB3YW50IHRvIHNob3cgYW55IGF2ZXJhZ2UgcHJpY2UgdW5kZXIgZWFjaCBkYXRlIHlvdSBjYW5cclxuICoganVzdCBwcm92aWRlIGN1c3RvbSBgZGF5Q2VsbENvbXBvbmVudGAuIEN1c3RvbSBjZWxscyBmb3IgbW9udGggYW5kIHllYXIgY2FuIGJlIHByb3ZpZGVkXHJcbiAqIHRoZSBzYW1lIHdheSwgY2hlY2sgQVBJIHJlZmVyZW5jZS5cclxuICogQHN0YWNrZWQtZXhhbXBsZShDdXN0b20gZGF5IGNlbGwsIGNhbGVuZGFyL2NhbGVuZGFyLWN1c3RvbS1kYXktY2VsbC1zaG93Y2FzZS5jb21wb25lbnQpXHJcbiAqXHJcbiAqIEBzdHlsZXNcclxuICpcclxuICogY2FsZW5kYXItd2lkdGhcclxuICogY2FsZW5kYXItYm9keS1oZWlnaHRcclxuICogY2FsZW5kYXItaGVhZGVyLXRpdGxlLWZvbnQtc2l6ZVxyXG4gKiBjYWxlbmRhci1oZWFkZXItdGl0bGUtZm9udC13ZWlnaHRcclxuICogY2FsZW5kYXItaGVhZGVyLXN1Yi10aXRsZS1mb250LXNpemVcclxuICogY2FsZW5kYXItaGVhZGVyLXN1Yi10aXRsZS1mb250LXdlaWdodFxyXG4gKiBjYWxlbmRhci1uYXZpZ2F0aW9uLWJ1dHRvbi13aWR0aFxyXG4gKiBjYWxlbmRhci1zZWxlY3RlZC1pdGVtLWJnXHJcbiAqIGNhbGVuZGFyLWhvdmVyLWl0ZW0tYmdcclxuICogY2FsZW5kYXItdG9kYXktaXRlbS1iZ1xyXG4gKiBjYWxlbmRhci1hY3RpdmUtaXRlbS1iZ1xyXG4gKiBjYWxlbmRhci1mZ1xyXG4gKiBjYWxlbmRhci1zZWxlY3RlZC1mZ1xyXG4gKiBjYWxlbmRhci1kYXktY2VsbC13aWR0aFxyXG4gKiBjYWxlbmRhci1kYXktY2VsbC1oZWlnaHRcclxuICogY2FsZW5kYXItbW9udGgtY2VsbC13aWR0aFxyXG4gKiBjYWxlbmRhci1tb250aC1jZWxsLWhlaWdodFxyXG4gKiBjYWxlbmRhci15ZWFyLWNlbGwtd2lkdGhcclxuICogY2FsZW5kYXIteWVhci1jZWxsLWhlaWdodFxyXG4gKiBjYWxlbmRhci1pbmFjdGl2ZS1vcGFjaXR5XHJcbiAqIGNhbGVuZGFyLWRpc2FibGVkLW9wYWNpdHlcclxuICogY2FsZW5kYXItYm9yZGVyLXJhZGl1c1xyXG4gKiBjYWxlbmRhci13ZWVrZGF5LXdpZHRoXHJcbiAqIGNhbGVuZGFyLXdlZWtkYXktaGVpZ2h0XHJcbiAqIGNhbGVuZGFyLXdlZWtkYXktZm9udC1zaXplXHJcbiAqIGNhbGVuZGFyLXdlZWtkYXktZm9udC13ZWlnaHRcclxuICogY2FsZW5kYXItd2Vla2RheS1mZ1xyXG4gKiBjYWxlbmRhci13ZWVrZGF5LWhvbGlkYXktZmdcclxuICogY2FsZW5kYXItcmFuZ2UtYmctaW4tcmFuZ2VcclxuICogY2FsZW5kYXItbGFyZ2Utd2lkdGhcclxuICogY2FsZW5kYXItbGFyZ2UtYm9keS1oZWlnaHRcclxuICogY2FsZW5kYXItZGF5LWNlbGwtbGFyZ2Utd2lkdGhcclxuICogY2FsZW5kYXItZGF5LWNlbGwtbGFyZ2UtaGVpZ2h0XHJcbiAqIGNhbGVuZGFyLW1vbnRoLWNlbGwtbGFyZ2Utd2lkdGhcclxuICogY2FsZW5kYXItbW9udGgtY2VsbC1sYXJnZS1oZWlnaHRcclxuICogY2FsZW5kYXIteWVhci1jZWxsLWxhcmdlLXdpZHRoXHJcbiAqIGNhbGVuZGFyLXllYXItY2VsbC1sYXJnZS1oZWlnaHRcclxuICogKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICduYi1jYWxlbmRhcicsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxuYi1iYXNlLWNhbGVuZGFyXHJcbiAgICAgIFtib3VuZGluZ01vbnRoXT1cImJvdW5kaW5nTW9udGhcIlxyXG4gICAgICBbc3RhcnRWaWV3XT1cInN0YXJ0Vmlld1wiXHJcbiAgICAgIFtkYXRlXT1cImRhdGVcIlxyXG4gICAgICBbbWluXT1cIm1pblwiXHJcbiAgICAgIFttYXhdPVwibWF4XCJcclxuICAgICAgW2ZpbHRlcl09XCJmaWx0ZXJcIlxyXG4gICAgICBbZGF5Q2VsbENvbXBvbmVudF09XCJkYXlDZWxsQ29tcG9uZW50XCJcclxuICAgICAgW21vbnRoQ2VsbENvbXBvbmVudF09XCJtb250aENlbGxDb21wb25lbnRcIlxyXG4gICAgICBbeWVhckNlbGxDb21wb25lbnRdPVwieWVhckNlbGxDb21wb25lbnRcIlxyXG4gICAgICBbc2l6ZV09XCJzaXplXCJcclxuICAgICAgW3Zpc2libGVEYXRlXT1cInZpc2libGVEYXRlXCJcclxuICAgICAgW3Nob3dIZWFkZXJdPVwic2hvd0hlYWRlclwiXHJcbiAgICAgIChkYXRlQ2hhbmdlKT1cImRhdGVDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcclxuICAgID48L25iLWJhc2UtY2FsZW5kYXI+XHJcbiAgYCxcclxufSlcclxuZXhwb3J0IGNsYXNzIE5iQ2FsZW5kYXJDb21wb25lbnQ8RD4ge1xyXG5cclxuICAvKlxyXG4gICAqIERlZmluZXMgaWYgd2Ugc2hvdWxkIHJlbmRlciBwcmV2aW91cyBhbmQgbmV4dCBtb250aHNcclxuICAgKiBpbiB0aGUgY3VycmVudCBtb250aCB2aWV3LlxyXG4gICAqICovXHJcbiAgQElucHV0KCkgYm91bmRpbmdNb250aDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIC8qXHJcbiAgICogRGVmaW5lcyBzdGFydGluZyB2aWV3IGZvciBjYWxlbmRhci5cclxuICAgKiAqL1xyXG4gIEBJbnB1dCgpIHN0YXJ0VmlldzogTmJDYWxlbmRhclZpZXdNb2RlID0gTmJDYWxlbmRhclZpZXdNb2RlLkRBVEU7XHJcblxyXG4gIC8qXHJcbiAgICogTWluaW11bSBhdmFpbGFibGUgZGF0ZSBmb3Igc2VsZWN0aW9uLlxyXG4gICAqICovXHJcbiAgQElucHV0KCkgbWluOiBEO1xyXG5cclxuICAvKlxyXG4gICAqIE1heGltdW0gYXZhaWxhYmxlIGRhdGUgZm9yIHNlbGVjdGlvbi5cclxuICAgKiAqL1xyXG4gIEBJbnB1dCgpIG1heDogRDtcclxuXHJcbiAgLypcclxuICAgKiBQcmVkaWNhdGUgdGhhdCBkZWNpZGVzIHdoaWNoIGNlbGxzIHdpbGwgYmUgZGlzYWJsZWQuXHJcbiAgICogKi9cclxuICBASW5wdXQoKSBmaWx0ZXI6IChEKSA9PiBib29sZWFuO1xyXG5cclxuICAvKlxyXG4gICAqIEN1c3RvbSBkYXkgY2VsbCBjb21wb25lbnQuIEhhdmUgdG8gaW1wbGVtZW50IGBOYkNhbGVuZGFyQ2VsbGAgaW50ZXJmYWNlLlxyXG4gICAqICovXHJcbiAgQElucHV0KCkgZGF5Q2VsbENvbXBvbmVudDogVHlwZTxOYkNhbGVuZGFyQ2VsbDxELCBEPj47XHJcblxyXG4gIC8qXHJcbiAgICogQ3VzdG9tIG1vbnRoIGNlbGwgY29tcG9uZW50LiBIYXZlIHRvIGltcGxlbWVudCBgTmJDYWxlbmRhckNlbGxgIGludGVyZmFjZS5cclxuICAgKiAqL1xyXG4gIEBJbnB1dCgpIG1vbnRoQ2VsbENvbXBvbmVudDogVHlwZTxOYkNhbGVuZGFyQ2VsbDxELCBEPj47XHJcblxyXG4gIC8qXHJcbiAgICogQ3VzdG9tIHllYXIgY2VsbCBjb21wb25lbnQuIEhhdmUgdG8gaW1wbGVtZW50IGBOYkNhbGVuZGFyQ2VsbGAgaW50ZXJmYWNlLlxyXG4gICAqICovXHJcbiAgQElucHV0KCkgeWVhckNlbGxDb21wb25lbnQ6IFR5cGU8TmJDYWxlbmRhckNlbGw8RCwgRD4+O1xyXG5cclxuICAvKlxyXG4gICAqIFNpemUgb2YgdGhlIGNhbGVuZGFyIGFuZCBlbnRpcmUgY29tcG9uZW50cy5cclxuICAgKiBDYW4gYmUgJ21lZGl1bScgd2hpY2ggaXMgZGVmYXVsdCBvciAnbGFyZ2UnLlxyXG4gICAqICovXHJcbiAgQElucHV0KCkgc2l6ZTogTmJDYWxlbmRhclNpemUgPSBOYkNhbGVuZGFyU2l6ZS5NRURJVU07XHJcblxyXG4gIEBJbnB1dCgpIHZpc2libGVEYXRlOiBEO1xyXG5cclxuICAvKlxyXG4gICAqIERldGVybWluZXMgc2hvdWxkIHdlIHNob3cgY2FsZW5kYXJzIGhlYWRlciBvciBub3QuXHJcbiAgICogKi9cclxuICBASW5wdXQoKSBzaG93SGVhZGVyOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgLypcclxuICAgKiBEYXRlIHdoaWNoIHdpbGwgYmUgcmVuZGVyZWQgYXMgc2VsZWN0ZWQuXHJcbiAgICogKi9cclxuICBASW5wdXQoKSBkYXRlOiBEO1xyXG5cclxuICAvKlxyXG4gICAqIEVtaXRzIGRhdGUgd2hlbiBzZWxlY3RlZC5cclxuICAgKiAqL1xyXG4gIEBPdXRwdXQoKSBkYXRlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8RD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbn1cclxuIl19