devextreme-angular
Version:
Angular UI and visualization components based on DevExtreme widgets
900 lines (869 loc) • 80.9 kB
JavaScript
/*!
* devextreme-angular
* Version: 20.2.5
* Build date: Fri Jan 15 2021
*
* Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED
*
* This software may be modified and distributed under the terms
* of the MIT license. See the LICENSE file in the root of the project for details.
*
* https://github.com/DevExpress/devextreme-angular
*/
import * as tslib_1 from "tslib";
/* tslint:disable:max-line-length */
import { BrowserTransferStateModule } from '@angular/platform-browser';
import { TransferState } from '@angular/platform-browser';
import { Component, NgModule, ElementRef, NgZone, PLATFORM_ID, Inject, Input, Output, OnDestroy, EventEmitter, forwardRef, HostListener, OnChanges, DoCheck, SimpleChanges } from '@angular/core';
import DxCalendar from 'devextreme/ui/calendar';
import { NG_VALUE_ACCESSOR } from '@angular/forms';
import { DxComponent, DxTemplateHost, DxIntegrationModule, DxTemplateModule, NestedOptionHost, IterableDifferHelper, WatcherHelper } from 'devextreme-angular/core';
var CUSTOM_VALUE_ACCESSOR_PROVIDER = {
provide: NG_VALUE_ACCESSOR,
useExisting: forwardRef(function () { return DxCalendarComponent; }),
multi: true
};
/**
* The Calendar is a UI component that displays a calendar and allows an end user to select the required date within a specified date range.
*/
var DxCalendarComponent = /** @class */ (function (_super) {
tslib_1.__extends(DxCalendarComponent, _super);
function DxCalendarComponent(elementRef, ngZone, templateHost, _watcherHelper, _idh, optionHost, transferState, platformId) {
var _this = _super.call(this, elementRef, ngZone, templateHost, _watcherHelper, transferState, platformId) || this;
_this._watcherHelper = _watcherHelper;
_this._idh = _idh;
_this.touched = function (_) { };
_this._createEventEmitters([
{ subscribe: 'disposing', emit: 'onDisposing' },
{ subscribe: 'initialized', emit: 'onInitialized' },
{ subscribe: 'optionChanged', emit: 'onOptionChanged' },
{ subscribe: 'valueChanged', emit: 'onValueChanged' },
{ emit: 'accessKeyChange' },
{ emit: 'activeStateEnabledChange' },
{ emit: 'cellTemplateChange' },
{ emit: 'dateSerializationFormatChange' },
{ emit: 'disabledChange' },
{ emit: 'disabledDatesChange' },
{ emit: 'elementAttrChange' },
{ emit: 'firstDayOfWeekChange' },
{ emit: 'focusStateEnabledChange' },
{ emit: 'heightChange' },
{ emit: 'hintChange' },
{ emit: 'hoverStateEnabledChange' },
{ emit: 'isValidChange' },
{ emit: 'maxChange' },
{ emit: 'maxZoomLevelChange' },
{ emit: 'minChange' },
{ emit: 'minZoomLevelChange' },
{ emit: 'nameChange' },
{ emit: 'readOnlyChange' },
{ emit: 'rtlEnabledChange' },
{ emit: 'showTodayButtonChange' },
{ emit: 'tabIndexChange' },
{ emit: 'validationErrorChange' },
{ emit: 'validationErrorsChange' },
{ emit: 'validationMessageModeChange' },
{ emit: 'validationStatusChange' },
{ emit: 'valueChange' },
{ emit: 'visibleChange' },
{ emit: 'widthChange' },
{ emit: 'zoomLevelChange' },
{ emit: 'onBlur' }
]);
_this._idh.setHost(_this);
optionHost.setHost(_this);
return _this;
}
Object.defineProperty(DxCalendarComponent.prototype, "accessKey", {
/**
* Specifies the shortcut key that sets focus on the UI component.
*/
get: function () {
return this._getOption('accessKey');
},
set: function (value) {
this._setOption('accessKey', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxCalendarComponent.prototype, "activeStateEnabled", {
/**
* Specifies whether or not the UI component changes its state when interacting with a user.
*/
get: function () {
return this._getOption('activeStateEnabled');
},
set: function (value) {
this._setOption('activeStateEnabled', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxCalendarComponent.prototype, "cellTemplate", {
/**
* Specifies a custom template for calendar cells.
*/
get: function () {
return this._getOption('cellTemplate');
},
set: function (value) {
this._setOption('cellTemplate', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxCalendarComponent.prototype, "dateSerializationFormat", {
/**
* Specifies the date-time value serialization format. Use it only if you do not specify the value at design time.
*/
get: function () {
return this._getOption('dateSerializationFormat');
},
set: function (value) {
this._setOption('dateSerializationFormat', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxCalendarComponent.prototype, "disabled", {
/**
* Specifies whether the UI component responds to user interaction.
*/
get: function () {
return this._getOption('disabled');
},
set: function (value) {
this._setOption('disabled', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxCalendarComponent.prototype, "disabledDates", {
/**
* Specifies dates that users cannot select.
*/
get: function () {
return this._getOption('disabledDates');
},
set: function (value) {
this._setOption('disabledDates', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxCalendarComponent.prototype, "elementAttr", {
/**
* Specifies the global attributes to be attached to the UI component's container element.
*/
get: function () {
return this._getOption('elementAttr');
},
set: function (value) {
this._setOption('elementAttr', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxCalendarComponent.prototype, "firstDayOfWeek", {
/**
* Specifies the first day of a week.
*/
get: function () {
return this._getOption('firstDayOfWeek');
},
set: function (value) {
this._setOption('firstDayOfWeek', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxCalendarComponent.prototype, "focusStateEnabled", {
/**
* Specifies whether the UI component can be focused using keyboard navigation.
*/
get: function () {
return this._getOption('focusStateEnabled');
},
set: function (value) {
this._setOption('focusStateEnabled', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxCalendarComponent.prototype, "height", {
/**
* Specifies the UI component's height.
*/
get: function () {
return this._getOption('height');
},
set: function (value) {
this._setOption('height', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxCalendarComponent.prototype, "hint", {
/**
* Specifies text for a hint that appears when a user pauses on the UI component.
*/
get: function () {
return this._getOption('hint');
},
set: function (value) {
this._setOption('hint', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxCalendarComponent.prototype, "hoverStateEnabled", {
/**
* Specifies whether the UI component changes its state when a user pauses on it.
*/
get: function () {
return this._getOption('hoverStateEnabled');
},
set: function (value) {
this._setOption('hoverStateEnabled', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxCalendarComponent.prototype, "isValid", {
/**
* Specifies or indicates whether the editor's value is valid.
*/
get: function () {
return this._getOption('isValid');
},
set: function (value) {
this._setOption('isValid', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxCalendarComponent.prototype, "max", {
/**
* The latest date the UI component allows to select.
*/
get: function () {
return this._getOption('max');
},
set: function (value) {
this._setOption('max', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxCalendarComponent.prototype, "maxZoomLevel", {
/**
* Specifies the maximum zoom level of the calendar.
*/
get: function () {
return this._getOption('maxZoomLevel');
},
set: function (value) {
this._setOption('maxZoomLevel', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxCalendarComponent.prototype, "min", {
/**
* The earliest date the UI component allows to select.
*/
get: function () {
return this._getOption('min');
},
set: function (value) {
this._setOption('min', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxCalendarComponent.prototype, "minZoomLevel", {
/**
* Specifies the minimum zoom level of the calendar.
*/
get: function () {
return this._getOption('minZoomLevel');
},
set: function (value) {
this._setOption('minZoomLevel', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxCalendarComponent.prototype, "name", {
/**
* The value to be assigned to the `name` attribute of the underlying HTML element.
*/
get: function () {
return this._getOption('name');
},
set: function (value) {
this._setOption('name', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxCalendarComponent.prototype, "readOnly", {
/**
* Specifies whether the editor is read-only.
*/
get: function () {
return this._getOption('readOnly');
},
set: function (value) {
this._setOption('readOnly', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxCalendarComponent.prototype, "rtlEnabled", {
/**
* Switches the UI component to a right-to-left representation.
*/
get: function () {
return this._getOption('rtlEnabled');
},
set: function (value) {
this._setOption('rtlEnabled', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxCalendarComponent.prototype, "showTodayButton", {
/**
* Specifies whether or not the UI component displays a button that selects the current date.
*/
get: function () {
return this._getOption('showTodayButton');
},
set: function (value) {
this._setOption('showTodayButton', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxCalendarComponent.prototype, "tabIndex", {
/**
* Specifies the number of the element when the Tab key is used for navigating.
*/
get: function () {
return this._getOption('tabIndex');
},
set: function (value) {
this._setOption('tabIndex', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxCalendarComponent.prototype, "validationError", {
/**
* Information on the broken validation rule. Contains the first item from the validationErrors array.
*/
get: function () {
return this._getOption('validationError');
},
set: function (value) {
this._setOption('validationError', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxCalendarComponent.prototype, "validationErrors", {
/**
* An array of the validation rules that failed.
*/
get: function () {
return this._getOption('validationErrors');
},
set: function (value) {
this._setOption('validationErrors', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxCalendarComponent.prototype, "validationMessageMode", {
/**
* Specifies how the message about the validation rules that are not satisfied by this editor's value is displayed.
*/
get: function () {
return this._getOption('validationMessageMode');
},
set: function (value) {
this._setOption('validationMessageMode', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxCalendarComponent.prototype, "validationStatus", {
/**
* Indicates or specifies the current validation status.
*/
get: function () {
return this._getOption('validationStatus');
},
set: function (value) {
this._setOption('validationStatus', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxCalendarComponent.prototype, "value", {
/**
* An object or a value specifying the date and time currently selected in the calendar.
*/
get: function () {
return this._getOption('value');
},
set: function (value) {
this._setOption('value', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxCalendarComponent.prototype, "visible", {
/**
* Specifies whether the UI component is visible.
*/
get: function () {
return this._getOption('visible');
},
set: function (value) {
this._setOption('visible', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxCalendarComponent.prototype, "width", {
/**
* Specifies the UI component's width.
*/
get: function () {
return this._getOption('width');
},
set: function (value) {
this._setOption('width', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxCalendarComponent.prototype, "zoomLevel", {
/**
* Specifies the current calendar zoom level.
*/
get: function () {
return this._getOption('zoomLevel');
},
set: function (value) {
this._setOption('zoomLevel', value);
},
enumerable: true,
configurable: true
});
DxCalendarComponent.prototype.change = function (_) { };
DxCalendarComponent.prototype._createInstance = function (element, options) {
return new DxCalendar(element, options);
};
DxCalendarComponent.prototype.writeValue = function (value) {
this.eventHelper.lockedValueChangeEvent = true;
this.value = value;
this.eventHelper.lockedValueChangeEvent = false;
};
DxCalendarComponent.prototype.setDisabledState = function (isDisabled) {
this.disabled = isDisabled;
};
DxCalendarComponent.prototype.registerOnChange = function (fn) { this.change = fn; };
DxCalendarComponent.prototype.registerOnTouched = function (fn) { this.touched = fn; };
DxCalendarComponent.prototype._createWidget = function (element) {
var _this = this;
_super.prototype._createWidget.call(this, element);
this.instance.on('focusOut', function (e) {
_this.eventHelper.fireNgEvent('onBlur', [e]);
});
};
DxCalendarComponent.prototype.ngOnDestroy = function () {
this._destroyWidget();
};
DxCalendarComponent.prototype.ngOnChanges = function (changes) {
_super.prototype.ngOnChanges.call(this, changes);
this.setupChanges('disabledDates', changes);
this.setupChanges('validationErrors', changes);
};
DxCalendarComponent.prototype.setupChanges = function (prop, changes) {
if (!(prop in this._optionsToUpdate)) {
this._idh.setup(prop, changes);
}
};
DxCalendarComponent.prototype.ngDoCheck = function () {
this._idh.doCheck('disabledDates');
this._idh.doCheck('validationErrors');
this._watcherHelper.checkWatchers();
_super.prototype.ngDoCheck.call(this);
_super.prototype.clearChangedOptions.call(this);
};
DxCalendarComponent.prototype._setOption = function (name, value) {
var isSetup = this._idh.setupSingle(name, value);
var isChanged = this._idh.getChanges(name, value) !== null;
if (isSetup || isChanged) {
_super.prototype._setOption.call(this, name, value);
}
};
DxCalendarComponent.ctorParameters = function () { return [
{ type: ElementRef },
{ type: NgZone },
{ type: DxTemplateHost },
{ type: WatcherHelper },
{ type: IterableDifferHelper },
{ type: NestedOptionHost },
{ type: TransferState },
{ type: undefined, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] }
]; };
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", String),
tslib_1.__metadata("design:paramtypes", [String])
], DxCalendarComponent.prototype, "accessKey", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Boolean),
tslib_1.__metadata("design:paramtypes", [Boolean])
], DxCalendarComponent.prototype, "activeStateEnabled", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Object),
tslib_1.__metadata("design:paramtypes", [Object])
], DxCalendarComponent.prototype, "cellTemplate", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", String),
tslib_1.__metadata("design:paramtypes", [String])
], DxCalendarComponent.prototype, "dateSerializationFormat", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Boolean),
tslib_1.__metadata("design:paramtypes", [Boolean])
], DxCalendarComponent.prototype, "disabled", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Object),
tslib_1.__metadata("design:paramtypes", [Object])
], DxCalendarComponent.prototype, "disabledDates", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Object),
tslib_1.__metadata("design:paramtypes", [Object])
], DxCalendarComponent.prototype, "elementAttr", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Object),
tslib_1.__metadata("design:paramtypes", [Object])
], DxCalendarComponent.prototype, "firstDayOfWeek", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Boolean),
tslib_1.__metadata("design:paramtypes", [Boolean])
], DxCalendarComponent.prototype, "focusStateEnabled", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Object),
tslib_1.__metadata("design:paramtypes", [Object])
], DxCalendarComponent.prototype, "height", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", String),
tslib_1.__metadata("design:paramtypes", [String])
], DxCalendarComponent.prototype, "hint", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Boolean),
tslib_1.__metadata("design:paramtypes", [Boolean])
], DxCalendarComponent.prototype, "hoverStateEnabled", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Boolean),
tslib_1.__metadata("design:paramtypes", [Boolean])
], DxCalendarComponent.prototype, "isValid", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Object),
tslib_1.__metadata("design:paramtypes", [Object])
], DxCalendarComponent.prototype, "max", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", String),
tslib_1.__metadata("design:paramtypes", [String])
], DxCalendarComponent.prototype, "maxZoomLevel", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Object),
tslib_1.__metadata("design:paramtypes", [Object])
], DxCalendarComponent.prototype, "min", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", String),
tslib_1.__metadata("design:paramtypes", [String])
], DxCalendarComponent.prototype, "minZoomLevel", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", String),
tslib_1.__metadata("design:paramtypes", [String])
], DxCalendarComponent.prototype, "name", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Boolean),
tslib_1.__metadata("design:paramtypes", [Boolean])
], DxCalendarComponent.prototype, "readOnly", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Boolean),
tslib_1.__metadata("design:paramtypes", [Boolean])
], DxCalendarComponent.prototype, "rtlEnabled", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Boolean),
tslib_1.__metadata("design:paramtypes", [Boolean])
], DxCalendarComponent.prototype, "showTodayButton", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Number),
tslib_1.__metadata("design:paramtypes", [Number])
], DxCalendarComponent.prototype, "tabIndex", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Object),
tslib_1.__metadata("design:paramtypes", [Object])
], DxCalendarComponent.prototype, "validationError", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Array),
tslib_1.__metadata("design:paramtypes", [Array])
], DxCalendarComponent.prototype, "validationErrors", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", String),
tslib_1.__metadata("design:paramtypes", [String])
], DxCalendarComponent.prototype, "validationMessageMode", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", String),
tslib_1.__metadata("design:paramtypes", [String])
], DxCalendarComponent.prototype, "validationStatus", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Object),
tslib_1.__metadata("design:paramtypes", [Object])
], DxCalendarComponent.prototype, "value", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Boolean),
tslib_1.__metadata("design:paramtypes", [Boolean])
], DxCalendarComponent.prototype, "visible", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Object),
tslib_1.__metadata("design:paramtypes", [Object])
], DxCalendarComponent.prototype, "width", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", String),
tslib_1.__metadata("design:paramtypes", [String])
], DxCalendarComponent.prototype, "zoomLevel", null);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxCalendarComponent.prototype, "onDisposing", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxCalendarComponent.prototype, "onInitialized", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxCalendarComponent.prototype, "onOptionChanged", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxCalendarComponent.prototype, "onValueChanged", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxCalendarComponent.prototype, "accessKeyChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxCalendarComponent.prototype, "activeStateEnabledChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxCalendarComponent.prototype, "cellTemplateChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxCalendarComponent.prototype, "dateSerializationFormatChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxCalendarComponent.prototype, "disabledChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxCalendarComponent.prototype, "disabledDatesChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxCalendarComponent.prototype, "elementAttrChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxCalendarComponent.prototype, "firstDayOfWeekChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxCalendarComponent.prototype, "focusStateEnabledChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxCalendarComponent.prototype, "heightChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxCalendarComponent.prototype, "hintChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxCalendarComponent.prototype, "hoverStateEnabledChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxCalendarComponent.prototype, "isValidChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxCalendarComponent.prototype, "maxChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxCalendarComponent.prototype, "maxZoomLevelChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxCalendarComponent.prototype, "minChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxCalendarComponent.prototype, "minZoomLevelChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxCalendarComponent.prototype, "nameChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxCalendarComponent.prototype, "readOnlyChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxCalendarComponent.prototype, "rtlEnabledChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxCalendarComponent.prototype, "showTodayButtonChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxCalendarComponent.prototype, "tabIndexChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxCalendarComponent.prototype, "validationErrorChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxCalendarComponent.prototype, "validationErrorsChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxCalendarComponent.prototype, "validationMessageModeChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxCalendarComponent.prototype, "validationStatusChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxCalendarComponent.prototype, "valueChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxCalendarComponent.prototype, "visibleChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxCalendarComponent.prototype, "widthChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxCalendarComponent.prototype, "zoomLevelChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxCalendarComponent.prototype, "onBlur", void 0);
tslib_1.__decorate([
HostListener('valueChange', ['$event']),
tslib_1.__metadata("design:type", Function),
tslib_1.__metadata("design:paramtypes", [Object]),
tslib_1.__metadata("design:returntype", void 0)
], DxCalendarComponent.prototype, "change", null);
tslib_1.__decorate([
HostListener('onBlur', ['$event']),
tslib_1.__metadata("design:type", Object)
], DxCalendarComponent.prototype, "touched", void 0);
DxCalendarComponent = tslib_1.__decorate([
Component({
selector: 'dx-calendar',
template: '',
providers: [
DxTemplateHost,
WatcherHelper,
CUSTOM_VALUE_ACCESSOR_PROVIDER,
NestedOptionHost,
IterableDifferHelper
]
}),
tslib_1.__param(7, Inject(PLATFORM_ID)),
tslib_1.__metadata("design:paramtypes", [ElementRef, NgZone, DxTemplateHost,
WatcherHelper,
IterableDifferHelper,
NestedOptionHost,
TransferState, Object])
], DxCalendarComponent);
return DxCalendarComponent;
}(DxComponent));
export { DxCalendarComponent };
var DxCalendarModule = /** @class */ (function () {
function DxCalendarModule() {
}
DxCalendarModule = tslib_1.__decorate([
NgModule({
imports: [
DxIntegrationModule,
DxTemplateModule,
BrowserTransferStateModule
],
declarations: [
DxCalendarComponent
],
exports: [
DxCalendarComponent,
DxTemplateModule
]
})
], DxCalendarModule);
return DxCalendarModule;
}());
export { DxCalendarModule };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9kZXZleHRyZW1lLWFuZ3VsYXIvdWkvY2FsZW5kYXIvIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7R0FXRzs7QUFFSCxvQ0FBb0M7QUFHcEMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTFELE9BQU8sRUFDSCxTQUFTLEVBQ1QsUUFBUSxFQUNSLFVBQVUsRUFDVixNQUFNLEVBQ04sV0FBVyxFQUNYLE1BQU0sRUFFTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixTQUFTLEVBQ1QsT0FBTyxFQUNQLGFBQWEsRUFDaEIsTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxVQUFVLE1BQU0sd0JBQXdCLENBQUM7QUFFaEQsT0FBTyxFQUVILGlCQUFpQixFQUNwQixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFDSCxXQUFXLEVBQ1gsY0FBYyxFQUNkLG1CQUFtQixFQUNuQixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLG9CQUFvQixFQUNwQixhQUFhLEVBQ2hCLE1BQU0seUJBQXlCLENBQUM7QUFPakMsSUFBTSw4QkFBOEIsR0FBRztJQUNuQyxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsY0FBTSxPQUFBLG1CQUFtQixFQUFuQixDQUFtQixDQUFDO0lBQ2xELEtBQUssRUFBRSxJQUFJO0NBQ2QsQ0FBQztBQUNGOzs7R0FHRztBQVlIO0lBQXlDLCtDQUFXO0lBMG9CaEQsNkJBQVksVUFBc0IsRUFBRSxNQUFjLEVBQUUsWUFBNEIsRUFDaEUsY0FBNkIsRUFDN0IsSUFBMEIsRUFDbEMsVUFBNEIsRUFDNUIsYUFBNEIsRUFDUCxVQUFlO1FBTDVDLFlBT0ksa0JBQU0sVUFBVSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxVQUFVLENBQUMsU0EwQ3JGO1FBaERlLG9CQUFjLEdBQWQsY0FBYyxDQUFlO1FBQzdCLFVBQUksR0FBSixJQUFJLENBQXNCO1FBUk4sYUFBTyxHQUFHLFVBQUMsQ0FBQyxJQUFNLENBQUMsQ0FBQztRQWVwRCxLQUFJLENBQUMsb0JBQW9CLENBQUM7WUFDdEIsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUU7WUFDL0MsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUU7WUFDbkQsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRTtZQUN2RCxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFO1lBQ3JELEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFO1lBQzNCLEVBQUUsSUFBSSxFQUFFLDBCQUEwQixFQUFFO1lBQ3BDLEVBQUUsSUFBSSxFQUFFLG9CQUFvQixFQUFFO1lBQzlCLEVBQUUsSUFBSSxFQUFFLCtCQUErQixFQUFFO1lBQ3pDLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFO1lBQzFCLEVBQUUsSUFBSSxFQUFFLHFCQUFxQixFQUFFO1lBQy9CLEVBQUUsSUFBSSxFQUFFLG1CQUFtQixFQUFFO1lBQzdCLEVBQUUsSUFBSSxFQUFFLHNCQUFzQixFQUFFO1lBQ2hDLEVBQUUsSUFBSSxFQUFFLHlCQUF5QixFQUFFO1lBQ25DLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRTtZQUN4QixFQUFFLElBQUksRUFBRSxZQUFZLEVBQUU7WUFDdEIsRUFBRSxJQUFJLEVBQUUseUJBQXlCLEVBQUU7WUFDbkMsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFO1lBQ3pCLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtZQUNyQixFQUFFLElBQUksRUFBRSxvQkFBb0IsRUFBRTtZQUM5QixFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7WUFDckIsRUFBRSxJQUFJLEVBQUUsb0JBQW9CLEVBQUU7WUFDOUIsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFO1lBQ3RCLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFO1lBQzFCLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFO1lBQzVCLEVBQUUsSUFBSSxFQUFFLHVCQUF1QixFQUFFO1lBQ2pDLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFO1lBQzFCLEVBQUUsSUFBSSxFQUFFLHVCQUF1QixFQUFFO1lBQ2pDLEVBQUUsSUFBSSxFQUFFLHdCQUF3QixFQUFFO1lBQ2xDLEVBQUUsSUFBSSxFQUFFLDZCQUE2QixFQUFFO1lBQ3ZDLEVBQUUsSUFBSSxFQUFFLHdCQUF3QixFQUFFO1lBQ2xDLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRTtZQUN2QixFQUFFLElBQUksRUFBRSxlQUFlLEVBQUU7WUFDekIsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFO1lBQ3ZCLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFO1lBQzNCLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRTtTQUNyQixDQUFDLENBQUM7UUFFSCxLQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFJLENBQUMsQ0FBQztRQUN4QixVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUksQ0FBQyxDQUFDOztJQUM3QixDQUFDO0lBbnJCRCxzQkFBSSwwQ0FBUztRQUxiOzs7V0FHRzthQUVIO1lBQ0ksT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3hDLENBQUM7YUFDRCxVQUFjLEtBQWE7WUFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDeEMsQ0FBQzs7O09BSEE7SUFXRCxzQkFBSSxtREFBa0I7UUFMdEI7OztXQUdHO2FBRUg7WUFDSSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUNqRCxDQUFDO2FBQ0QsVUFBdUIsS0FBYztZQUNqQyxJQUFJLENBQUMsVUFBVSxDQUFDLG9CQUFvQixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2pELENBQUM7OztPQUhBO0lBV0Qsc0JBQUksNkNBQVk7UUFMaEI7OztXQUdHO2FBRUg7WUFDSSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDM0MsQ0FBQzthQUNELFVBQWlCLEtBQVU7WUFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDM0MsQ0FBQzs7O09BSEE7SUFXRCxzQkFBSSx3REFBdUI7UUFMM0I7OztXQUdHO2FBRUg7WUFDSSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUN0RCxDQUFDO2FBQ0QsVUFBNEIsS0FBYTtZQUNyQyxJQUFJLENBQUMsVUFBVSxDQUFDLHlCQUF5QixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3RELENBQUM7OztPQUhBO0lBV0Qsc0JBQUkseUNBQVE7UUFMWjs7O1dBR0c7YUFFSDtZQUNJLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN2QyxDQUFDO2FBQ0QsVUFBYSxLQUFjO1lBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7OztPQUhBO0lBV0Qsc0JBQUksOENBQWE7UUFMakI7OztXQUdHO2FBRUg7WUFDSSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDNUMsQ0FBQzthQUNELFVBQWtCLEtBQTZCO1lBQzNDLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzVDLENBQUM7OztPQUhBO0lBV0Qsc0JBQUksNENBQVc7UUFMZjs7O1dBR0c7YUFFSDtZQUNJLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMxQyxDQUFDO2FBQ0QsVUFBZ0IsS0FBVTtZQUN0QixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMxQyxDQUFDOzs7T0FIQTtJQVdELHNCQUFJLCtDQUFjO1FBTGxCOzs7V0FHRzthQUVIO1lBQ0ksT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDN0MsQ0FBQzthQUNELFVBQW1CLEtBQXNCO1lBQ3JDLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDN0MsQ0FBQzs7O09BSEE7SUFXRCxzQkFBSSxrREFBaUI7UUFMckI7OztXQUdHO2FBRUg7WUFDSSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNoRCxDQUFDO2FBQ0QsVUFBc0IsS0FBYztZQUNoQyxJQUFJLENBQUMsVUFBVSxDQUFDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2hELENBQUM7OztPQUhBO0lBV0Qsc0JBQUksdUNBQU07UUFMVjs7O1dBR0c7YUFFSDtZQUNJLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNyQyxDQUFDO2FBQ0QsVUFBVyxLQUFpQztZQUN4QyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNyQyxDQUFDOzs7T0FIQTtJQVdELHNCQUFJLHFDQUFJO1FBTFI7OztXQUdHO2FBRUg7WUFDSSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkMsQ0FBQzthQUNELFVBQVMsS0FBYTtZQUNsQixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNuQyxDQUFDOzs7T0FIQTtJQVdELHNCQUFJLGtEQUFpQjtRQUxyQjs7O1dBR0c7YUFFSDtZQUNJLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ2hELENBQUM7YUFDRCxVQUFzQixLQUFjO1lBQ2hDLElBQUksQ0FBQyxVQUFVLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDaEQsQ0FBQzs7O09BSEE7SUFXRCxzQkFBSSx3Q0FBTztRQUxYOzs7V0FHRzthQUVIO1lBQ0ksT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3RDLENBQUM7YUFDRCxVQUFZLEtBQWM7WUFDdEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdEMsQ0FBQzs7O09BSEE7SUFXRCxzQkFBSSxvQ0FBRztRQUxQOzs7V0FHRzthQUVIO1lBQ0ksT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLENBQUM7YUFDRCxVQUFRLEtBQTZCO1lBQ2pDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLENBQUM7OztPQUhBO0lBV0Qsc0JBQUksNkNBQVk7UUFMaEI7OztXQUdHO2FBRUg7WUFDSSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDM0MsQ0FBQzthQUNELFVBQWlCLEtBQWE7WUFDMUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDM0MsQ0FBQzs7O09BSEE7SUFXRCxzQkFBSSxvQ0FBRztRQUxQOzs7V0FHRzthQUVIO1lBQ0ksT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLENBQUM7YUFDRCxVQUFRLEtBQTZCO1lBQ2pDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLENBQUM7OztPQUhBO0lBV0Qsc0JBQUksNkNBQVk7UUFMaEI7OztXQUdHO2FBRUg7WUFDSSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDM0MsQ0FBQzthQUNELFVBQWlCLEtBQWE7WUFDMUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDM0MsQ0FBQzs7O09BSEE7SUFXRCxzQkFBSSxxQ0FBSTtRQUxSOzs7V0FHRzthQUVIO1lBQ0ksT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25DLENBQUM7YUFDRCxVQUFTLEtBQWE7WUFDbEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDbkMsQ0FBQzs7O09BSEE7SUFXRCxzQkFBSSx5Q0FBUTtRQUxaOzs7V0FHRzthQUVIO1lBQ0ksT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7YUFDRCxVQUFhLEtBQWM7WUFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdkMsQ0FBQzs7O09BSEE7SUFXRCxzQkFBSSwyQ0FBVTtRQUxkOzs7V0FHRzthQUVIO1lBQ0ksT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3pDLENBQUM7YUFDRCxVQUFlLEtBQWM7WUFDekIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDekMsQ0FBQzs7O09BSEE7SUFXRCxzQkFBSSxnREFBZTtRQUxuQjs7O1dBR0c7YUFFSDtZQUNJLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzlDLENBQUM7YUFDRCxVQUFvQixLQUFjO1lBQzlCLElBQUksQ0FBQyxVQUFVLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDOUMsQ0FBQzs7O09BSEE7SUFXRCxzQkFBSSx5Q0FBUTtRQUxaOzs7V0FHRzthQUVIO1lBQ0ksT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7YUFDRCxVQUFhLEtBQWE7WUFDdEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdkMsQ0FBQzs7O09BSEE7SUFXRCxzQkFBSSxnREFBZTtRQUxuQjs7O1dBR0c7YUFFSDtZQUNJLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzlDLENBQUM7YUFDRCxVQUFvQixLQUFVO1lBQzFCLElBQUksQ0FBQyxVQUFVLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDOUMsQ0FBQzs7O09BSEE7SUFXRCxzQkFBSSxpREFBZ0I7UUFMcEI7OztXQUdHO2FBRUg7WUFDSSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUMvQyxDQUFDO2FBQ0QsVUFBcUIsS0FBaUI7WUFDbEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMvQyxDQUFDOzs7T0FIQTtJQVdELHNCQUFJLHNEQUFxQjtRQUx6Qjs7O1dBR0c7YUFFSDtZQUNJLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ3BELENBQUM7YUFDRCxVQUEwQixLQUFhO1lBQ25DLElBQUksQ0FBQyxVQUFVLENBQUMsdUJBQXVCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDcEQsQ0FBQzs7O09BSEE7SUFXRCxzQkFBSSxpREFBZ0I7UUFMcEI7OztXQUdHO2FBRUg7WUFDSSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUMvQyxDQUFDO2FBQ0QsVUFBcUIsS0FBYTtZQUM5QixJQUFJLENBQUMsVUFBVSxDQUFDLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQy9DLENBQUM7OztPQUhBO0lBV0Qsc0JBQUksc0NBQUs7UUFMVDs7O1dBR0c7YUFFSDtZQUNJLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwQyxDQUFDO2FBQ0QsVUFBVSxLQUE2QjtZQUNuQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNwQyxDQUFDOzs7T0FIQTtJQVdELHNCQUFJLHdDQUFPO1FBTFg7OztXQUdHO2FBRUg7WUFDSSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdEMsQ0FBQzthQUNELFVBQVksS0FBYztZQUN0QixJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN0QyxDQUFDOzs7T0FIQTtJQVdELHNCQUFJLHNDQUFLO1FBTFQ7OztXQUdHO2FBRUg7WUFDSSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEMsQ0FBQzthQUNELFVBQVUsS0FBaUM7WUFDdkMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDcEMsQ0FBQzs7O09BSEE7SUFXRCxzQkFBSSwwQ0FBUztRQUxiOzs7V0FHRzthQUVIO1lBQ0ksT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3hDLENBQUM7YUFDRCxVQUFjLEtBQWE7WUFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDeEMsQ0FBQzs7O09BSEE7SUFnUXdDLG9DQUFNLEdBQU4sVUFBTyxDQUFDLElBQUksQ0FBQztJQTBENUMsNkNBQWUsR0FBekIsVUFBMEIsT0FBTyxFQUFFLE9BQU87UUFFdEMsT0FBTyxJQUFJLFVBQVUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUdELHdDQUFVLEdBQVYsVUFBVyxLQUFVO1FBQ2pCLElBQUksQ0FBQyxXQUFXLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDO1FBQy9DLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsc0JBQXNCLEdBQUcsS0FBSyxDQUFDO0lBQ3BELENBQUM7SUFFRCw4Q0FBZ0IsR0FBaEIsVUFBaUIsVUFBbUI7UUFDaEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7SUFDL0IsQ0FBQztJQUVELDhDQUFnQixHQUFoQixVQUFpQixFQUFvQixJQUFVLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNsRSwrQ0FBaUIsR0FBakIsVUFBa0IsRUFBYyxJQUFVLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUU5RCwyQ0FBYSxHQUFiLFVBQWMsT0FBWTtRQUExQixpQkFLQztRQUpHLGlCQUFNLGFBQWEsWUFBQyxPQUFPLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUUsVUFBQyxDQUFDO1lBQzNCLEtBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQseUNBQVcsR0FBWDtRQUNJLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQseUNBQVcsR0FBWCxVQUFZLE9BQXNCO1FBQzlCLGlCQUFNLFdBQVcsWUFBQyxPQUFPLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsWUFBWSxDQUFDLGVBQWUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsWUFBWSxDQUFDLGtCQUFrQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCwwQ0FBWSxHQUFaLFVBQWEsSUFBWSxFQUFFLE9BQXNCO1FBQzdDLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBRTtZQUNsQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDbEM7SUFDTCxDQUFDO0lBRUQsdUNBQVMsR0FBVDtRQUNJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNwQyxpQkFBTSxTQUFTLFdBQUUsQ0FBQztRQUNsQixpQkFBTSxtQkFBbUIsV0FBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRCx3Q0FBVSxHQUFWLFVBQVcsSUFBWSxFQUFFLEtBQVU7UUFDL0IsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2pELElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsS0FBSyxJQUFJLENBQUM7UUFFM0QsSUFBSSxPQUFPLElBQUksU0FBUyxFQUFFO1lBQ3RCLGlCQUFNLFVBQVUsWUFBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDakM7SUFDTCxDQUFDOztnQkE1R3VCLFVBQVU7Z0JBQVUsTUFBTTtnQkFBZ0IsY0FBYztnQkFDaEQsYUFBYTtnQkFDdkIsb0JBQW9CO2dCQUN0QixnQkFBZ0I7Z0JBQ2IsYUFBYTtnREFDM0IsTUFBTSxTQUFDLFdBQVc7O0lBdm9CM0I7UUFEQyxLQUFLLEVBQUU7Ozt3REFHUDtJQVdEO1FBREMsS0FBSyxFQUFFOzs7aUVBR1A7SUFXRDtRQURDLEtBQUssRUFBRTs7OzJEQUdQO0lBV0Q7UUFEQyxLQUFLLEVBQUU7OztzRUFHUDtJQVdEO1FBREMsS0FBSyxFQUFFOzs7dURBR1A7SUFXRDtRQURDLEtBQUssRUFBRTs7OzREQUdQO0lBV0Q7UUFEQyxLQUFLLEVBQUU7OzswREFHUDtJQVdEO1FBREMsS0FBSyxFQUFFOzs7NkRBR1A7SUFXRDtRQURDLEtBQUssRUFBRTs7O2dFQUdQO0lBV0Q7UUFEQyxLQUFLLEVBQUU7OztxREFHUDtJQVdEO1FBREMsS0FBSyxFQUFFOzs7bURBR1A7SUFXRDtRQURDLEtBQUssRUFBRTs7O2dFQUdQO0lBV0Q7UUFEQyxLQUFLLEVBQUU7OztzREFHUDtJQVdEO1FBREMsS0FBSyxFQUFFOzs7a0RBR1A7SUFXRDtRQURDLEtBQUssRUFBRTs7OzJEQUdQO0lBV0Q7UUFEQyxLQUFLLEVBQUU7OztrREFHUDtJQVdEO1FBREMsS0FBSyxFQUFFOzs7MkRBR1A7SUFXRDtRQURDLEtBQUssRUFBRTs7O21EQUdQO0lBV0Q7UUFEQyxLQUFLLEVBQUU7Ozt1REFHUDtJQVdEO1FBREMsS0FBSyxFQUFFOzs7eURBR1A7SUFXRDtRQURDLEtBQUssRUFBRTs7OzhEQUdQO0lBV0Q7UUFEQyxLQUFLLEVBQUU7Ozt1REFHUDtJQVdEO1FBREMsS0FBSyxFQUFFOzs7OERBR1A7SUFXRDtRQURDLEtBQUssRUFBRTswQ0FJb0IsS0FBSztpREFBTCxLQUFLOytEQURoQztJQVdEO1FBREMsS0FBSyxFQUFFOzs7b0VBR1A7SUFXRDtRQURDLEtBQUssRUFBRTs7OytEQUdQO0lBV0Q7UUFEQyxLQUFLLEVBQUU7OztvREFHUDtJQVdEO1FBREMsS0FBSyxFQUFFOzs7c0RBR1A7SUFXRDtRQURDLEtBQUssRUFBRTs7O29EQUdQO0lBV0Q7UUFEQyxLQUFLLEVBQUU7Ozt3REFHUDtJQVdTO1FBQVQsTUFBTSxFQUFFOzBDQUFjLFlBQVk7NERBQU07SUFRL0I7UUFBVCxNQUFNLEVBQUU7MENBQWdCLFlBQVk7OERBQU07SUFRakM7UUFBVCxNQUFNLEVBQUU7MENBQWtCLFlBQVk7Z0VBQU07SUFRbkM7UUFBVCxNQUFNLEVBQUU7MENBQWlCLFlBQVk7K0RBQU07SUFPbEM7UUFBVCxNQUFNLEVBQUU7MENBQWtCLFlBQVk7Z0VBQVM7SUFPdEM7UUFBVCxNQUFNLEVBQUU7MENBQTJCLFlBQVk7eUVBQVU7SUFPaEQ7UUFBVCxNQUFNLEVBQUU7MENBQXFCLFlBQVk7bUVBQU07SUFPdEM7UUFBVCxNQUFNLEVBQUU7MENBQWdDLFlBQVk7OEVBQVM7SUFPcEQ7UUFBVCxNQUFNLEVBQUU7MENBQWlCLFlBQVk7K0RBQVU7SUFPdEM7UUFBVCxNQUFNLEVBQUU7MENBQXNCLFlBQVk7b0VBQXlCO0lBTzFEO1FBQVQsTUFBTSxFQUFFOzBDQUFvQixZQUFZO2tFQUFNO0lBT3JDO1FBQVQsTUFBTSxFQUFFOzBDQUF1QixZQUFZO3FFQUFrQjtJQU9wRDtRQUFULE1BQU0sRUFBRTswQ0FBMEIsWUFBWTt3RUFBVTtJQU8vQztRQUFULE1BQU0sRUFBRTswQ0FBZSxZQUFZOzZEQUE2QjtJQU92RDtRQUFULE1BQU0sRUFBRTswQ0FBYSxZQUFZOzJEQUFTO0lBT2pDO1FBQVQsTUFBTSxFQUFFOzBDQUEwQixZQUFZO3dFQUFVO0lBTy9DO1FBQVQsTUFBTSxFQUFFOzBDQUFnQixZQUFZOzhEQUFVO0lBT3JDO1FBQVQsTUFBTSxFQUFFOzBDQUFZLFlBQVk7MERBQXlCO0lBT2hEO1FBQVQsTUFBTSxFQUFFOzBDQUFxQixZQUFZO21FQUFTO0lBT3pDO1FBQVQsTUFBTSxFQUFFOzBDQUFZLFlBQVk7MERBQXlCO0lBT2hEO1FBQVQsTUFBTSxFQUFFOzBDQUFxQixZQUFZO21FQUFTO0lBT3pDO1FBQVQsTUFBTSxFQUFFOzBDQUFhLFlBQVk7MkRBQVM7SUFPakM7UUFBVCxNQUFNLEVBQUU7MENBQWlCLFlBQVk7K0RBQVU7SUFPdEM7UUFBVCxNQUFNLEVBQUU7MENBQW1CLFlBQVk7aUVBQVU7SUFPeEM7UUFBVCxNQUFNLEVBQUU7MENBQXdCLFlBQVk7c0VBQVU7SUFPN0M7UUFBVCxNQUFNLEVBQUU7MENBQWlCLFlBQVk7K0RBQVM7SUFPckM7UUFBVCxNQUFNLEVBQUU7MENBQXdCLFlBQVk7c0VBQU07SUFPekM7UUFBVCxNQUFNLEVBQUU7MENBQXlCLFlBQVk7dUVBQWE7SUFPakQ7UUFBVCxNQUFNLEVBQUU7MENBQThCLFlBQVk7NEVBQVM7SUFPbEQ7UUFBVCxNQUFNLEVBQUU7MENBQXlCLFlBQVk7dUVBQVM7SUFPN0M7UUFBVCxNQUFNLEVBQUU7MENBQWMsWUFBWTs0REFBeUI7SUFPbEQ7UUFBVCxNQUFNLEVBQUU7MENBQWdCLFlBQVk7OERBQVU7SUFPckM7UUFBVCxNQUFNLEVBQUU7MENBQWMsWUFBWTs0REFBNkI7SUFPdEQ7UUFBVCxNQUFNLEVBQUU7MENBQWtCLFlBQVk7Z0VBQVM7SUFRdEM7UUFBVCxNQUFNLEVBQUU7MENBQVMsWUFBWTt1REFBTTtJQUdLO1FBQXhDLFlBQVksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQzs7OztxREFBYztJQUNsQjtRQUFuQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7O3dEQUFxQjtJQXBvQi9DLG1CQUFtQjtRQVgvQixTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUsYUFBYTtZQUN2QixRQUFRLEVBQUUsRUFBRTtZQUNaLFNBQVMsRUFBRTtnQkFDUCxjQUFjO2dCQUNkLGFBQWE7Z0JBQ2IsOEJBQThCO2dCQUM5QixnQkFBZ0I7Z0JBQ2hCLG9CQUFvQjthQUN2QjtTQUNKLENBQUM7UUFncEJXLG1CQUFBLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQTtpREFMSixVQUFVLEVBQVUsTUFBTSxFQUFnQixjQUFjO1lBQ2hELGFBQWE7WUFDdk