@acorex/components 20.2.0-next.7 → 20.2.0-next.9
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/action-sheet/index.d.ts +56 -0
- package/alert/index.d.ts +1 -1
- package/autocomplete/index.d.ts +1 -0
- package/avatar/index.d.ts +11 -4
- package/breadcrumbs/index.d.ts +15 -1
- package/calendar/index.d.ts +23 -9
- package/check-box/index.d.ts +1 -1
- package/color-box/index.d.ts +1 -0
- package/color-palette/index.d.ts +1 -1
- package/comment/index.d.ts +3 -3
- package/conversation/index.d.ts +1 -0
- package/cron-job/index.d.ts +5 -4
- package/datetime-box/index.d.ts +1 -0
- package/datetime-input/index.d.ts +1 -0
- package/datetime-picker/index.d.ts +8 -0
- package/fesm2022/acorex-components-action-sheet.mjs +56 -0
- package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
- package/fesm2022/acorex-components-alert.mjs +1 -1
- package/fesm2022/acorex-components-alert.mjs.map +1 -1
- package/fesm2022/acorex-components-autocomplete.mjs +8 -2
- package/fesm2022/acorex-components-autocomplete.mjs.map +1 -1
- package/fesm2022/acorex-components-avatar.mjs +11 -4
- package/fesm2022/acorex-components-avatar.mjs.map +1 -1
- package/fesm2022/acorex-components-breadcrumbs.mjs +15 -1
- package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/acorex-components-calendar.mjs +59 -17
- package/fesm2022/acorex-components-calendar.mjs.map +1 -1
- package/fesm2022/acorex-components-check-box.mjs +2 -2
- package/fesm2022/acorex-components-check-box.mjs.map +1 -1
- package/fesm2022/acorex-components-color-box.mjs +9 -3
- package/fesm2022/acorex-components-color-box.mjs.map +1 -1
- package/fesm2022/acorex-components-color-palette.mjs +2 -2
- package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
- package/fesm2022/acorex-components-comment.mjs +5 -5
- package/fesm2022/acorex-components-comment.mjs.map +1 -1
- package/fesm2022/acorex-components-conversation.mjs +10 -4
- package/fesm2022/acorex-components-conversation.mjs.map +1 -1
- package/fesm2022/acorex-components-cron-job.mjs +15 -9
- package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
- package/fesm2022/acorex-components-data-table.mjs +3 -3
- package/fesm2022/acorex-components-data-table.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-box.mjs +8 -2
- package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-input.mjs +8 -2
- package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-picker.mjs +64 -8
- package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-image-editor.mjs +7 -1
- package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
- package/fesm2022/acorex-components-list.mjs +11 -10
- package/fesm2022/acorex-components-list.mjs.map +1 -1
- package/fesm2022/acorex-components-map.mjs +64 -16
- package/fesm2022/acorex-components-map.mjs.map +1 -1
- package/fesm2022/acorex-components-number-box-2.mjs +11 -5
- package/fesm2022/acorex-components-number-box-2.mjs.map +1 -1
- package/fesm2022/acorex-components-number-box.mjs +10 -4
- package/fesm2022/acorex-components-number-box.mjs.map +1 -1
- package/fesm2022/acorex-components-paint.mjs +7 -1
- package/fesm2022/acorex-components-paint.mjs.map +1 -1
- package/fesm2022/acorex-components-password-box.mjs +10 -4
- package/fesm2022/acorex-components-password-box.mjs.map +1 -1
- package/fesm2022/acorex-components-phone-box.mjs +8 -2
- package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
- package/fesm2022/acorex-components-picker.mjs +14 -4
- package/fesm2022/acorex-components-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-radio.mjs +2 -2
- package/fesm2022/acorex-components-radio.mjs.map +1 -1
- package/fesm2022/acorex-components-search-box.mjs +7 -1
- package/fesm2022/acorex-components-search-box.mjs.map +1 -1
- package/fesm2022/acorex-components-select-box.mjs +42 -17
- package/fesm2022/acorex-components-select-box.mjs.map +1 -1
- package/fesm2022/acorex-components-side-menu.mjs +1 -1
- package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-tabs.mjs +6 -4
- package/fesm2022/acorex-components-tabs.mjs.map +1 -1
- package/fesm2022/acorex-components-tag-box.mjs +11 -5
- package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
- package/fesm2022/acorex-components-text-area.mjs +10 -4
- package/fesm2022/acorex-components-text-area.mjs.map +1 -1
- package/fesm2022/acorex-components-text-box.mjs +10 -4
- package/fesm2022/acorex-components-text-box.mjs.map +1 -1
- package/fesm2022/acorex-components-time-duration.mjs +35 -59
- package/fesm2022/acorex-components-time-duration.mjs.map +1 -1
- package/fesm2022/acorex-components-tree-view.mjs +1 -1
- package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
- package/fesm2022/acorex-components-wysiwyg.mjs +10 -4
- package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
- package/image-editor/index.d.ts +1 -0
- package/list/index.d.ts +6 -6
- package/map/index.d.ts +27 -6
- package/number-box/index.d.ts +1 -0
- package/number-box-2/index.d.ts +1 -0
- package/package.json +5 -2
- package/paint/index.d.ts +1 -0
- package/password-box/index.d.ts +1 -0
- package/phone-box/index.d.ts +1 -0
- package/picker/index.d.ts +10 -8
- package/radio/index.d.ts +1 -1
- package/search-box/index.d.ts +1 -0
- package/select-box/index.d.ts +9 -6
- package/tag-box/index.d.ts +1 -0
- package/text-area/index.d.ts +1 -0
- package/text-box/index.d.ts +1 -0
- package/time-duration/index.d.ts +3 -1
- package/wysiwyg/index.d.ts +1 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-components-datetime-picker.mjs","sources":["../tmp-esm2022/datetime-picker/lib/datetime-picker.config.js","../tmp-esm2022/datetime-picker/lib/datetime-picker.component.js","../tmp-esm2022/datetime-picker/lib/datetime-picker.module.js","../tmp-esm2022/datetime-picker/acorex-components-datetime-picker.js"],"sourcesContent":["import { AX_GLOBAL_CONFIG } from '@acorex/core/config';\nimport { InjectionToken, inject } from '@angular/core';\nimport { set } from 'lodash-es';\nexport const AX_DATETIME_PICKER_CONFIG = new InjectionToken('AX_DATETIME_PICKER_CONFIG', {\n providedIn: 'root',\n factory: () => {\n const global = inject(AX_GLOBAL_CONFIG);\n set(global, 'datetime-picker', AX_DATETIME_PICKER_CONFIG);\n return AXDateTimePickerDefaultConfig;\n },\n});\nexport const AXDateTimePickerDefaultConfig = {\n currentTimeButton: true,\n};\nexport function dateTimePickerConfig(config = {}) {\n const result = {\n ...AXDateTimePickerDefaultConfig,\n ...config,\n };\n return result;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUtcGlja2VyLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvZGF0ZXRpbWUtcGlja2VyL3NyYy9saWIvZGF0ZXRpbWUtcGlja2VyLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBTWhDLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLElBQUksY0FBYyxDQUF5QiwyQkFBMkIsRUFBRTtJQUMvRyxVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUsR0FBRyxFQUFFO1FBQ1osTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDeEMsR0FBRyxDQUFDLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSx5QkFBeUIsQ0FBQyxDQUFDO1FBQzFELE9BQU8sNkJBQTZCLENBQUM7SUFDdkMsQ0FBQztDQUNGLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUEyQjtJQUNuRSxpQkFBaUIsRUFBRSxJQUFJO0NBQ3hCLENBQUM7QUFJRixNQUFNLFVBQVUsb0JBQW9CLENBQUMsU0FBc0MsRUFBRTtJQUMzRSxNQUFNLE1BQU0sR0FBRztRQUNiLEdBQUcsNkJBQTZCO1FBQ2hDLEdBQUcsTUFBTTtLQUNWLENBQUM7SUFDRixPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhfR0xPQkFMX0NPTkZJRyB9IGZyb20gJ0BhY29yZXgvY29yZS9jb25maWcnO1xuaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgc2V0IH0gZnJvbSAnbG9kYXNoLWVzJztcblxuZXhwb3J0IGludGVyZmFjZSBBWERhdGVUaW1lUGlja2VyQ29uZmlnIHtcbiAgY3VycmVudFRpbWVCdXR0b246IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBBWF9EQVRFVElNRV9QSUNLRVJfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuPEFYRGF0ZVRpbWVQaWNrZXJDb25maWc+KCdBWF9EQVRFVElNRV9QSUNLRVJfQ09ORklHJywge1xuICBwcm92aWRlZEluOiAncm9vdCcsXG4gIGZhY3Rvcnk6ICgpID0+IHtcbiAgICBjb25zdCBnbG9iYWwgPSBpbmplY3QoQVhfR0xPQkFMX0NPTkZJRyk7XG4gICAgc2V0KGdsb2JhbCwgJ2RhdGV0aW1lLXBpY2tlcicsIEFYX0RBVEVUSU1FX1BJQ0tFUl9DT05GSUcpO1xuICAgIHJldHVybiBBWERhdGVUaW1lUGlja2VyRGVmYXVsdENvbmZpZztcbiAgfSxcbn0pO1xuXG5leHBvcnQgY29uc3QgQVhEYXRlVGltZVBpY2tlckRlZmF1bHRDb25maWc6IEFYRGF0ZVRpbWVQaWNrZXJDb25maWcgPSB7XG4gIGN1cnJlbnRUaW1lQnV0dG9uOiB0cnVlLFxufTtcblxuZXhwb3J0IHR5cGUgUGFydGlhbERhdGVUaW1lUGlja2VyQ29uZmlnID0gUGFydGlhbDxBWERhdGVUaW1lUGlja2VyQ29uZmlnPjtcblxuZXhwb3J0IGZ1bmN0aW9uIGRhdGVUaW1lUGlja2VyQ29uZmlnKGNvbmZpZzogUGFydGlhbERhdGVUaW1lUGlja2VyQ29uZmlnID0ge30pOiBBWERhdGVUaW1lUGlja2VyQ29uZmlnIHtcbiAgY29uc3QgcmVzdWx0ID0ge1xuICAgIC4uLkFYRGF0ZVRpbWVQaWNrZXJEZWZhdWx0Q29uZmlnLFxuICAgIC4uLmNvbmZpZyxcbiAgfTtcbiAgcmV0dXJuIHJlc3VsdDtcbn1cbiJdfQ==","import { AXComponent, AXFocusableComponent, AXValuableComponent, MXValueComponent, } from '@acorex/cdk/common';\nimport { AXButtonComponent } from '@acorex/components/button';\nimport { AXCalendarComponent, MXCalendarBaseComponent, } from '@acorex/components/calendar';\nimport { AXDecoratorGenericComponent } from '@acorex/components/decorators';\nimport { AXPickerContainerComponent, AXPickerItemsComponent, AXPickerTitleComponent } from '@acorex/components/picker';\nimport { AXTabItemComponent, AXTabsComponent } from '@acorex/components/tabs';\nimport { AXFormatPipe, AXFormatService } from '@acorex/core/format';\nimport { AXTranslatorPipe } from '@acorex/core/translation';\nimport { AsyncPipe, NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input, ViewChild, ViewEncapsulation, computed, effect, forwardRef, inject, input, linkedSignal, signal, } from '@angular/core';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\nimport { AX_DATETIME_PICKER_CONFIG } from './datetime-picker.config';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\n/**\n * allows users to select a date and time from a calendar and time picker interface.\n *\n * @category Components\n */\nexport class AXDateTimePickerComponent extends classes(MXCalendarBaseComponent, (MXValueComponent)) {\n constructor() {\n super(...arguments);\n this.formatService = inject(AXFormatService);\n this.buttonText = computed(() => (this._activePart() === 'date' ? 'dateTime.today' : 'dateTime.now'), ...(ngDevMode ? [{ debugName: \"buttonText\" }] : []));\n this.defaultConfig = inject(AX_DATETIME_PICKER_CONFIG);\n /**\n * @ignore\n */\n this._currentTimeButton = this.defaultConfig.currentTimeButton;\n /**\n * @ignore\n */\n this.hours = Array(24)\n .fill(0)\n .map((m, i) => ({ id: i, text: i }));\n this.minutes = Array(60)\n .fill(0)\n .map((m, i) => ({ id: i, text: i }));\n /**\n * @ignore\n */\n this._parts = {\n year: {\n key: 'year',\n placeholder: 'yyyy',\n placeholders: ['YY', 'yy', 'YYYY', 'yyyy'],\n enabled: false,\n default: 2023,\n realValue: () => this.formatService.format(this._editingDateObj(), 'datetime', this._parts.year.placeholder),\n },\n month: {\n key: 'month',\n placeholder: 'MM',\n placeholders: ['MMM', 'MMMM', 'MM', 'M'],\n enabled: false,\n default: 1,\n realValue: () => this.formatService.format(this._editingDateObj(), 'datetime', this._parts.month.placeholder),\n },\n day: {\n key: 'day',\n placeholder: 'dd',\n placeholders: ['dd', 'd', 'E', 'dddd'],\n enabled: false,\n default: 1,\n realValue: () => this.formatService.format(this._editingDateObj(), 'datetime', this._parts.day.placeholder),\n },\n hour: {\n key: 'hour',\n placeholder: 'HH',\n placeholders: ['HH', 'H', 'hh', 'h'],\n enabled: false,\n default: 0,\n realValue: () => this.formatService.format(this._editingDateObj(), 'datetime', this._parts.hour.placeholder),\n },\n minute: {\n key: 'minute',\n placeholder: 'mm',\n placeholders: ['mm', 'm'],\n enabled: false,\n default: 0,\n realValue: () => this.formatService.format(this._editingDateObj(), 'datetime', this._parts.minute.placeholder),\n },\n second: {\n key: 'second',\n placeholder: 'ss',\n placeholders: ['ss', 's'],\n enabled: false,\n default: 0,\n realValue: () => this.formatService.format(this._editingDateObj(), 'datetime', this._parts.second.placeholder),\n },\n AMPM: {\n key: 'AMPM',\n placeholder: 'a',\n placeholders: ['a', 'A'],\n enabled: false,\n default: 0,\n typedValue: null,\n realValue: () => this.formatService.format(this._editingDateObj(), 'datetime', this._parts.AMPM.placeholder),\n },\n };\n /**\n * @ignore\n */\n this._activePart = signal('date', ...(ngDevMode ? [{ debugName: \"_activePart\" }] : []));\n // /**\n // * @ignore\n // */\n this._editingDateObj = linkedSignal(() => this.calendarService.now(this.calendar()));\n /**\n * @description The calendar type to use for the datetime input.\n */\n this.calendar = input(null, ...(ngDevMode ? [{ debugName: \"calendar\" }] : []));\n this._calendarSystem = linkedSignal(() => this.calendar() ?? this.type);\n this.picker = input('datetime', ...(ngDevMode ? [{ debugName: \"picker\" }] : []));\n this.#effectPicker = effect(() => {\n if (this.picker() === 'time') {\n this._activePart.set('time');\n }\n else if (this.picker() === 'date') {\n this._activePart.set('date');\n }\n }, ...(ngDevMode ? [{ debugName: \"#effectPicker\" }] : []));\n this._format = linkedSignal(() => this.format() ?? this.localeService.activeProfile().formats[this.picker()]?.short ?? '');\n /**\n * @deprecated use locale & mode instead\n */\n this.format = input(...(ngDevMode ? [undefined, { debugName: \"format\" }] : []));\n this.#effect = effect(() => {\n const profile = this.localeService.activeProfile();\n //\n if (!this.format()) {\n this._format.set(this.format() ?? profile.formats[this.picker()]?.short ?? '');\n }\n //\n if (!this.calendar()) {\n this._calendarSystem.set(profile.calendar.system);\n }\n //\n this.type = this._calendarSystem();\n //\n this._detectParts();\n }, ...(ngDevMode ? [{ debugName: \"#effect\" }] : []));\n }\n /**\n * Determines whether a button for selecting the current time is displayed.\n */\n get currentTimeButton() {\n return this._currentTimeButton;\n }\n /**\n * Sets whether the button for selecting the current time is displayed.\n */\n set currentTimeButton(v) {\n this.setOption({\n name: 'currentTimeButton',\n value: v,\n });\n }\n /**\n * @ignore\n */\n get _hasDatePart() {\n return ['year', 'month', 'day'].some((k) => this._parts[k].enabled);\n }\n /**\n * @ignore\n */\n get _hasTimePart() {\n return ['hour', 'minute', 'second'].some((k) => this._parts[k].enabled);\n }\n #effectPicker;\n #effect;\n /**\n * @ignore\n */\n async ngOnInit() {\n super.ngOnInit();\n this._detectParts();\n }\n /**\n * Handles changes to the internal value of the component.\n * @param value - The new date value. If not provided, defaults to the current date.\n */\n internalValueChanged(value) {\n try {\n if (this.calendarService.isValidDate(value)) {\n this._editingDateObj.set(this.calendarService.create(value, this.calendar()));\n }\n else {\n throw new Error();\n }\n }\n catch {\n this._editingDateObj.set(this.calendarService.now(this.calendar()));\n }\n }\n /**\n * @ignore\n */\n _handleViewChanged(e) {\n this._activePart.set(e.tab.key);\n }\n /**\n * @ignore\n */\n _handlePickerOnValueChanged(e, part) {\n if (e.isUserInteraction) {\n this._editingDateObj.set(this._editingDateObj().set(part, Number(e.value['id'])));\n }\n }\n /**\n * @ignore\n */\n _handleCalendarOnNavigate(e) {\n this.onNavigate.emit(e);\n }\n /**\n * @ignore\n */\n _handleCalendarOnValueChanged(e) {\n if (e.isUserInteraction) {\n const selectedValue = this.calendarService.create(e.value, this.calendar());\n const currentValue = this.calendarService\n .create(e.value, this.calendar())\n .set('day', selectedValue.dayOfMonth)\n .set('month', selectedValue.monthOfYear)\n .set('year', selectedValue.year);\n this._editingDateObj.set(currentValue);\n if (this._hasTimePart) {\n this._activePart.set('time');\n if (this.tabs && this._hasDatePart && this._hasTimePart) {\n this.tabs.select(1);\n }\n else {\n this.commitValue(this._editingDateObj().date, true);\n }\n }\n else {\n this.commitValue(this._editingDateObj().date, true);\n }\n }\n }\n /**\n * @ignore\n */\n _detectParts() {\n Object.values(this._parts).forEach((e) => {\n e.enabled = false;\n });\n const formatParts = this._format().split(/[^a-zA-Z]+/);\n formatParts.forEach((f) => {\n const found = Object.values(this._parts).find((c) => c.placeholders.some((d) => d == f));\n if (found) {\n found.enabled = true;\n found.placeholder = f;\n }\n });\n //this.cdr.markForCheck();\n }\n /**\n * @ignore\n */\n _handleSetClick() {\n this.commitValue(this._editingDateObj().date, true);\n }\n /**\n * @ignore\n */\n _handleNowClick() {\n this._editingDateObj.set(this.calendarService.now(this.calendar()));\n this.commitValue(this._editingDateObj().date, true);\n }\n /**\n * @ignore\n */\n isDisabled(date) {\n if (Array.isArray(this.disabledDates) && this.disabledDates.length != 0) {\n return this.disabledDates.some((d) => date.equal(d, 'day'));\n }\n else if (typeof this.disabledDates == 'function') {\n return this.disabledDates(date.date);\n }\n return false;\n }\n /**\n * @ignore\n */\n internalSetValue(value) {\n if (!value)\n return null;\n const v = this.calendarService.convert(value);\n const isDisabled = this.isDisabled(v);\n if (isDisabled)\n return null;\n else\n return v.date;\n }\n isTodayDisabled() {\n const disabledDates = this.disabledDates;\n if (!disabledDates || !Array.isArray(disabledDates)) {\n return false;\n }\n const today = new Date();\n today.setHours(0, 0, 0, 0);\n return disabledDates.some((disabledDate) => {\n const disabled = new Date(disabledDate);\n disabled.setHours(0, 0, 0, 0);\n return today.getTime() === disabled.getTime();\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXDateTimePickerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.3\", type: AXDateTimePickerComponent, isStandalone: true, selector: \"ax-datetime-picker\", inputs: { disabled: { classPropertyName: \"disabled\", publicName: \"disabled\", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: \"readonly\", publicName: \"readonly\", isSignal: false, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: \"tabIndex\", publicName: \"tabIndex\", isSignal: false, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: \"placeholder\", publicName: \"placeholder\", isSignal: false, isRequired: false, transformFunction: null }, value: { classPropertyName: \"value\", publicName: \"value\", isSignal: false, isRequired: false, transformFunction: null }, state: { classPropertyName: \"state\", publicName: \"state\", isSignal: false, isRequired: false, transformFunction: null }, name: { classPropertyName: \"name\", publicName: \"name\", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: \"id\", publicName: \"id\", isSignal: false, isRequired: false, transformFunction: null }, depth: { classPropertyName: \"depth\", publicName: \"depth\", isSignal: false, isRequired: false, transformFunction: null }, activeView: { classPropertyName: \"activeView\", publicName: \"activeView\", isSignal: false, isRequired: false, transformFunction: null }, minValue: { classPropertyName: \"minValue\", publicName: \"minValue\", isSignal: false, isRequired: false, transformFunction: null }, maxValue: { classPropertyName: \"maxValue\", publicName: \"maxValue\", isSignal: false, isRequired: false, transformFunction: null }, disabledDates: { classPropertyName: \"disabledDates\", publicName: \"disabledDates\", isSignal: false, isRequired: false, transformFunction: null }, holidayDates: { classPropertyName: \"holidayDates\", publicName: \"holidayDates\", isSignal: false, isRequired: false, transformFunction: null }, type: { classPropertyName: \"type\", publicName: \"type\", isSignal: false, isRequired: false, transformFunction: null }, cellTemplate: { classPropertyName: \"cellTemplate\", publicName: \"cellTemplate\", isSignal: false, isRequired: false, transformFunction: null }, cellClass: { classPropertyName: \"cellClass\", publicName: \"cellClass\", isSignal: false, isRequired: false, transformFunction: null }, showNavigation: { classPropertyName: \"showNavigation\", publicName: \"showNavigation\", isSignal: false, isRequired: false, transformFunction: null }, currentTimeButton: { classPropertyName: \"currentTimeButton\", publicName: \"currentTimeButton\", isSignal: false, isRequired: false, transformFunction: null }, calendar: { classPropertyName: \"calendar\", publicName: \"calendar\", isSignal: true, isRequired: false, transformFunction: null }, picker: { classPropertyName: \"picker\", publicName: \"picker\", isSignal: true, isRequired: false, transformFunction: null }, format: { classPropertyName: \"format\", publicName: \"format\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: \"valueChange\", stateChange: \"stateChange\", onValueChanged: \"onValueChanged\", onBlur: \"onBlur\", onFocus: \"onFocus\", onClick: \"onClick\", readonlyChange: \"readonlyChange\", disabledChange: \"disabledChange\", depthChange: \"depthChange\", typeChange: \"typeChange\", activeViewChange: \"activeViewChange\", disabledDatesChange: \"disabledDatesChange\", holidayDatesChange: \"holidayDatesChange\", onNavigate: \"onNavigate\", onSlotClick: \"onSlotClick\" }, providers: [\n { provide: AXComponent, useExisting: AXDateTimePickerComponent },\n { provide: AXFocusableComponent, useExisting: AXDateTimePickerComponent },\n { provide: AXValuableComponent, useExisting: AXDateTimePickerComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXDateTimePickerComponent),\n multi: true,\n },\n ], viewQueries: [{ propertyName: \"tabs\", first: true, predicate: AXTabsComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: \"@if (_hasDatePart && _hasTimePart) {\\n <div class=\\\"ax-header\\\">\\n <ax-tabs [look]=\\\"'default'\\\" [fitParent]=\\\"true\\\" [location]=\\\"'top'\\\" (onActiveTabChanged)=\\\"_handleViewChanged($event)\\\">\\n <ax-tab-item\\n [text]=\\\"'@acorex:dateTime.date' | translate | async\\\"\\n [key]=\\\"'date'\\\"\\n [disabled]=\\\"disabled\\\"\\n ></ax-tab-item>\\n <ax-tab-item\\n [text]=\\\"'@acorex:dateTime.time' | translate | async\\\"\\n [key]=\\\"'time'\\\"\\n [disabled]=\\\"disabled\\\"\\n ></ax-tab-item>\\n </ax-tabs>\\n </div>\\n}\\n<div class=\\\"ax-content\\\">\\n @if (_activePart() === 'date') {\\n <div class=\\\"ax-calendar-part\\\">\\n <ax-calendar\\n #calendar\\n id=\\\"calendar\\\"\\n [disabled]=\\\"disabled\\\"\\n [readonly]=\\\"readonly\\\"\\n [ngModel]=\\\"_editingDateObj().date\\\"\\n [minValue]=\\\"minValue\\\"\\n [maxValue]=\\\"maxValue\\\"\\n [disabledDates]=\\\"disabledDates\\\"\\n [holidayDates]=\\\"holidayDates\\\"\\n [depth]=\\\"depth\\\"\\n (onNavigate)=\\\"_handleCalendarOnNavigate($event)\\\"\\n (onValueChanged)=\\\"_handleCalendarOnValueChanged($event)\\\"\\n [type]=\\\"_calendarSystem()\\\"\\n >\\n </ax-calendar>\\n </div>\\n }\\n\\n @if (_activePart() === 'time') {\\n <div class=\\\"ax-picker-part\\\">\\n <div class=\\\"ax-header\\\">\\n {{ _editingDateObj() | format: picker() : 'short' | async }}\\n </div>\\n <div dir=\\\"ltr\\\" class=\\\"ax-picker-time-container\\\">\\n @if (_parts.hour.enabled) {\\n <ng-container [ngTemplateOutlet]=\\\"hourRef\\\"> </ng-container>\\n }\\n\\n @if (_parts.minute.enabled) {\\n <ng-container [ngTemplateOutlet]=\\\"minuteRef\\\"> </ng-container>\\n }\\n\\n @if (_parts.second.enabled) {\\n <ng-container [ngTemplateOutlet]=\\\"secondRef\\\"> </ng-container>\\n }\\n </div>\\n </div>\\n }\\n</div>\\n@if (!disabled && !readonly && (currentTimeButton || _hasTimePart)) {\\n <div class=\\\"ax-footer\\\">\\n <div>\\n @if (currentTimeButton) {\\n <ax-button\\n [text]=\\\"`@acorex:${buttonText()}` | translate | async\\\"\\n class=\\\"ax-sm\\\"\\n (onClick)=\\\"_handleNowClick()\\\"\\n [disabled]=\\\"isTodayDisabled()\\\"\\n ></ax-button>\\n }\\n </div>\\n <div>\\n @if (_hasTimePart) {\\n <ax-button\\n color=\\\"primary\\\"\\n [text]=\\\"'@acorex:dateTime.set' | translate | async\\\"\\n class=\\\"ax-sm\\\"\\n (onClick)=\\\"_handleSetClick()\\\"\\n ></ax-button>\\n }\\n </div>\\n </div>\\n}\\n\\n<ng-template #hourRef>\\n <ax-picker-container>\\n <ax-picker-title>\\n <ax-text>{{ '@acorex:dateTime.units.hour' | translate | async }}</ax-text>\\n </ax-picker-title>\\n <ax-picker-items\\n [items]=\\\"hours\\\"\\n [ngModel]=\\\"_editingDateObj().hour\\\"\\n (onValueChanged)=\\\"_handlePickerOnValueChanged($event, 'hour')\\\"\\n [disabled]=\\\"disabled\\\"\\n [readonly]=\\\"readonly\\\"\\n ></ax-picker-items>\\n </ax-picker-container>\\n</ng-template>\\n\\n<ng-template #minuteRef>\\n <ax-picker-container>\\n <ax-picker-title>\\n <ax-text>{{ '@acorex:dateTime.units.minute' | translate | async }}</ax-text>\\n </ax-picker-title>\\n <ax-picker-items\\n [items]=\\\"minutes\\\"\\n [ngModel]=\\\"_editingDateObj().minute\\\"\\n (onValueChanged)=\\\"_handlePickerOnValueChanged($event, 'minute')\\\"\\n [disabled]=\\\"disabled\\\"\\n [readonly]=\\\"readonly\\\"\\n ></ax-picker-items>\\n </ax-picker-container>\\n</ng-template>\\n\\n<ng-template #secondRef>\\n <ax-picker-container>\\n <ax-picker-title>\\n <ax-text>{{ '@acorex:dateTime.units.second' | translate | async }}</ax-text>\\n </ax-picker-title>\\n <ax-picker-items\\n [items]=\\\"minutes\\\"\\n [ngModel]=\\\"_editingDateObj().second\\\"\\n (onValueChanged)=\\\"_handlePickerOnValueChanged($event, 'second')\\\"\\n [disabled]=\\\"disabled\\\"\\n [readonly]=\\\"readonly\\\"\\n ></ax-picker-items>\\n </ax-picker-container>\\n</ng-template>\\n\", styles: [\"ax-datetime-picker{display:flex;flex-direction:column}ax-datetime-picker>.ax-header{display:flex;justify-content:center;padding-top:var(--ax-comp-datetime-picker-header-padding-t, .5rem);padding-left:var(--ax-comp-datetime-picker-header-padding-x, .5rem);padding-right:var(--ax-comp-datetime-picker-header-padding-x, .5rem)}ax-datetime-picker>.ax-content{width:100%;overflow:hidden;display:flex;flex-direction:column;justify-content:center;align-items:center}@media (min-width: 768px){ax-datetime-picker>.ax-content{width:var(--ax-comp-datetime-picker-md-width, 20rem)}}ax-datetime-picker>.ax-content .ax-picker-part{width:100%;display:flex;flex-direction:column;height:var(--ax-comp-datetime-picker-picker-part-height, 376px)}ax-datetime-picker>.ax-content .ax-picker-part .ax-picker-time-container{display:flex;height:100%}ax-datetime-picker>.ax-content .ax-picker-part>.ax-header{font-weight:500;text-align:center;padding:var(--ax-comp-datetime-picker-picker-part-header-padding, .75rem);font-size:var(--ax-comp-datetime-picker-picker-part-header-font-size, 1rem);border-bottom:solid;border-bottom-width:var(--ax-comp-datetime-picker-picker-part-header-border-width, 1px);border-bottom-color:rgba(var(--ax-comp-datetime-picker-picker-part-header-border-color, var(--ax-sys-color-border-surface)))}ax-datetime-picker>.ax-content .ax-picker-part ax-picker{flex:1 1 0%}ax-datetime-picker>.ax-content .ax-calendar-part{width:100%;padding-top:var(--ax-comp-datetime-picker-calendar-part-padding, .25rem);padding-bottom:var(--ax-comp-datetime-picker-calendar-part-padding, .25rem)}ax-datetime-picker>.ax-content .ax-calendar-part ax-calendar{width:100%}ax-datetime-picker>.ax-footer{display:flex;justify-content:space-between;padding:var(--ax-comp-datetime-picker-footer-padding, .5rem);border-color:rgba(var(--ax-comp-datetime-picker-footer-border-color, var(--ax-sys-color-border-surface)));border-top-width:var(--ax-comp-datetime-picker-footer-border-top-width, 1px)}ax-datetime-picker>.ax-footer ax-button{min-width:100px}\\n\"], dependencies: [{ kind: \"component\", type: AXTabsComponent, selector: \"ax-tabs\", inputs: [\"look\", \"location\", \"fitParent\", \"minWidth\", \"content\"], outputs: [\"onActiveTabChanged\"] }, { kind: \"component\", type: AXTabItemComponent, selector: \"ax-tab-item\", inputs: [\"disabled\", \"text\", \"key\", \"headerTemplate\", \"active\"], outputs: [\"disabledChange\", \"onClick\", \"onBlur\", \"onFocus\", \"activeChange\"] }, { kind: \"component\", type: AXCalendarComponent, selector: \"ax-calendar\", inputs: [\"rtl\", \"readonly\", \"value\", \"name\", \"disabled\", \"depth\", \"activeView\", \"minValue\", \"maxValue\", \"disabledDates\", \"holidayDates\", \"type\", \"cellTemplate\", \"cellClass\", \"showNavigation\", \"count\", \"id\"], outputs: [\"onOptionChanged\", \"valueChange\", \"onValueChanged\", \"minValueChange\", \"maxValueChange\", \"onBlur\", \"onFocus\", \"depthChange\", \"typeChange\", \"activeViewChange\", \"disabledDatesChange\", \"holidayDatesChange\", \"onNavigate\", \"onSlotClick\", \"countChange\"] }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i1.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"component\", type: AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }, { kind: \"component\", type: AXPickerContainerComponent, selector: \"ax-picker-container\", inputs: [\"class\"] }, { kind: \"component\", type: AXPickerTitleComponent, selector: \"ax-picker-title\" }, { kind: \"component\", type: AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"component\", type: AXPickerItemsComponent, selector: \"ax-picker-items\", inputs: [\"disabled\", \"readonly\", \"readonlyChange\", \"disabledChange\", \"items\", \"valueField\", \"textField\", \"slidesPerGroup\", \"loop\"], outputs: [\"onValueChanged\"] }, { kind: \"pipe\", type: AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: AXFormatPipe, name: \"format\" }, { kind: \"pipe\", type: AXTranslatorPipe, name: \"translate\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXDateTimePickerComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-datetime-picker', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, inputs: [\n 'disabled',\n 'readonly',\n 'tabIndex',\n 'placeholder',\n 'value',\n 'state',\n 'name',\n 'id',\n 'depth',\n 'activeView',\n 'minValue',\n 'maxValue',\n 'disabledDates',\n 'holidayDates',\n 'type',\n 'cellTemplate',\n 'cellClass',\n 'showNavigation',\n ], outputs: [\n 'valueChange',\n 'stateChange',\n 'onValueChanged',\n 'onBlur',\n 'onFocus',\n 'onClick',\n 'readonlyChange',\n 'disabledChange',\n 'depthChange',\n 'typeChange',\n 'activeViewChange',\n 'disabledDatesChange',\n 'holidayDatesChange',\n 'onNavigate',\n 'onSlotClick',\n ], providers: [\n { provide: AXComponent, useExisting: AXDateTimePickerComponent },\n { provide: AXFocusableComponent, useExisting: AXDateTimePickerComponent },\n { provide: AXValuableComponent, useExisting: AXDateTimePickerComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXDateTimePickerComponent),\n multi: true,\n },\n ], imports: [\n AXTabsComponent,\n AXTabItemComponent,\n AXCalendarComponent,\n FormsModule,\n NgTemplateOutlet,\n AXButtonComponent,\n AXPickerContainerComponent,\n AXPickerTitleComponent,\n AXDecoratorGenericComponent,\n AXPickerItemsComponent,\n AsyncPipe,\n AXFormatPipe,\n AXTranslatorPipe,\n ], template: \"@if (_hasDatePart && _hasTimePart) {\\n <div class=\\\"ax-header\\\">\\n <ax-tabs [look]=\\\"'default'\\\" [fitParent]=\\\"true\\\" [location]=\\\"'top'\\\" (onActiveTabChanged)=\\\"_handleViewChanged($event)\\\">\\n <ax-tab-item\\n [text]=\\\"'@acorex:dateTime.date' | translate | async\\\"\\n [key]=\\\"'date'\\\"\\n [disabled]=\\\"disabled\\\"\\n ></ax-tab-item>\\n <ax-tab-item\\n [text]=\\\"'@acorex:dateTime.time' | translate | async\\\"\\n [key]=\\\"'time'\\\"\\n [disabled]=\\\"disabled\\\"\\n ></ax-tab-item>\\n </ax-tabs>\\n </div>\\n}\\n<div class=\\\"ax-content\\\">\\n @if (_activePart() === 'date') {\\n <div class=\\\"ax-calendar-part\\\">\\n <ax-calendar\\n #calendar\\n id=\\\"calendar\\\"\\n [disabled]=\\\"disabled\\\"\\n [readonly]=\\\"readonly\\\"\\n [ngModel]=\\\"_editingDateObj().date\\\"\\n [minValue]=\\\"minValue\\\"\\n [maxValue]=\\\"maxValue\\\"\\n [disabledDates]=\\\"disabledDates\\\"\\n [holidayDates]=\\\"holidayDates\\\"\\n [depth]=\\\"depth\\\"\\n (onNavigate)=\\\"_handleCalendarOnNavigate($event)\\\"\\n (onValueChanged)=\\\"_handleCalendarOnValueChanged($event)\\\"\\n [type]=\\\"_calendarSystem()\\\"\\n >\\n </ax-calendar>\\n </div>\\n }\\n\\n @if (_activePart() === 'time') {\\n <div class=\\\"ax-picker-part\\\">\\n <div class=\\\"ax-header\\\">\\n {{ _editingDateObj() | format: picker() : 'short' | async }}\\n </div>\\n <div dir=\\\"ltr\\\" class=\\\"ax-picker-time-container\\\">\\n @if (_parts.hour.enabled) {\\n <ng-container [ngTemplateOutlet]=\\\"hourRef\\\"> </ng-container>\\n }\\n\\n @if (_parts.minute.enabled) {\\n <ng-container [ngTemplateOutlet]=\\\"minuteRef\\\"> </ng-container>\\n }\\n\\n @if (_parts.second.enabled) {\\n <ng-container [ngTemplateOutlet]=\\\"secondRef\\\"> </ng-container>\\n }\\n </div>\\n </div>\\n }\\n</div>\\n@if (!disabled && !readonly && (currentTimeButton || _hasTimePart)) {\\n <div class=\\\"ax-footer\\\">\\n <div>\\n @if (currentTimeButton) {\\n <ax-button\\n [text]=\\\"`@acorex:${buttonText()}` | translate | async\\\"\\n class=\\\"ax-sm\\\"\\n (onClick)=\\\"_handleNowClick()\\\"\\n [disabled]=\\\"isTodayDisabled()\\\"\\n ></ax-button>\\n }\\n </div>\\n <div>\\n @if (_hasTimePart) {\\n <ax-button\\n color=\\\"primary\\\"\\n [text]=\\\"'@acorex:dateTime.set' | translate | async\\\"\\n class=\\\"ax-sm\\\"\\n (onClick)=\\\"_handleSetClick()\\\"\\n ></ax-button>\\n }\\n </div>\\n </div>\\n}\\n\\n<ng-template #hourRef>\\n <ax-picker-container>\\n <ax-picker-title>\\n <ax-text>{{ '@acorex:dateTime.units.hour' | translate | async }}</ax-text>\\n </ax-picker-title>\\n <ax-picker-items\\n [items]=\\\"hours\\\"\\n [ngModel]=\\\"_editingDateObj().hour\\\"\\n (onValueChanged)=\\\"_handlePickerOnValueChanged($event, 'hour')\\\"\\n [disabled]=\\\"disabled\\\"\\n [readonly]=\\\"readonly\\\"\\n ></ax-picker-items>\\n </ax-picker-container>\\n</ng-template>\\n\\n<ng-template #minuteRef>\\n <ax-picker-container>\\n <ax-picker-title>\\n <ax-text>{{ '@acorex:dateTime.units.minute' | translate | async }}</ax-text>\\n </ax-picker-title>\\n <ax-picker-items\\n [items]=\\\"minutes\\\"\\n [ngModel]=\\\"_editingDateObj().minute\\\"\\n (onValueChanged)=\\\"_handlePickerOnValueChanged($event, 'minute')\\\"\\n [disabled]=\\\"disabled\\\"\\n [readonly]=\\\"readonly\\\"\\n ></ax-picker-items>\\n </ax-picker-container>\\n</ng-template>\\n\\n<ng-template #secondRef>\\n <ax-picker-container>\\n <ax-picker-title>\\n <ax-text>{{ '@acorex:dateTime.units.second' | translate | async }}</ax-text>\\n </ax-picker-title>\\n <ax-picker-items\\n [items]=\\\"minutes\\\"\\n [ngModel]=\\\"_editingDateObj().second\\\"\\n (onValueChanged)=\\\"_handlePickerOnValueChanged($event, 'second')\\\"\\n [disabled]=\\\"disabled\\\"\\n [readonly]=\\\"readonly\\\"\\n ></ax-picker-items>\\n </ax-picker-container>\\n</ng-template>\\n\", styles: [\"ax-datetime-picker{display:flex;flex-direction:column}ax-datetime-picker>.ax-header{display:flex;justify-content:center;padding-top:var(--ax-comp-datetime-picker-header-padding-t, .5rem);padding-left:var(--ax-comp-datetime-picker-header-padding-x, .5rem);padding-right:var(--ax-comp-datetime-picker-header-padding-x, .5rem)}ax-datetime-picker>.ax-content{width:100%;overflow:hidden;display:flex;flex-direction:column;justify-content:center;align-items:center}@media (min-width: 768px){ax-datetime-picker>.ax-content{width:var(--ax-comp-datetime-picker-md-width, 20rem)}}ax-datetime-picker>.ax-content .ax-picker-part{width:100%;display:flex;flex-direction:column;height:var(--ax-comp-datetime-picker-picker-part-height, 376px)}ax-datetime-picker>.ax-content .ax-picker-part .ax-picker-time-container{display:flex;height:100%}ax-datetime-picker>.ax-content .ax-picker-part>.ax-header{font-weight:500;text-align:center;padding:var(--ax-comp-datetime-picker-picker-part-header-padding, .75rem);font-size:var(--ax-comp-datetime-picker-picker-part-header-font-size, 1rem);border-bottom:solid;border-bottom-width:var(--ax-comp-datetime-picker-picker-part-header-border-width, 1px);border-bottom-color:rgba(var(--ax-comp-datetime-picker-picker-part-header-border-color, var(--ax-sys-color-border-surface)))}ax-datetime-picker>.ax-content .ax-picker-part ax-picker{flex:1 1 0%}ax-datetime-picker>.ax-content .ax-calendar-part{width:100%;padding-top:var(--ax-comp-datetime-picker-calendar-part-padding, .25rem);padding-bottom:var(--ax-comp-datetime-picker-calendar-part-padding, .25rem)}ax-datetime-picker>.ax-content .ax-calendar-part ax-calendar{width:100%}ax-datetime-picker>.ax-footer{display:flex;justify-content:space-between;padding:var(--ax-comp-datetime-picker-footer-padding, .5rem);border-color:rgba(var(--ax-comp-datetime-picker-footer-border-color, var(--ax-sys-color-border-surface)));border-top-width:var(--ax-comp-datetime-picker-footer-border-top-width, 1px)}ax-datetime-picker>.ax-footer ax-button{min-width:100px}\\n\"] }]\n }], propDecorators: { currentTimeButton: [{\n type: Input\n }], tabs: [{\n type: ViewChild,\n args: [AXTabsComponent]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUtcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvZGF0ZXRpbWUtcGlja2VyL3NyYy9saWIvZGF0ZXRpbWUtcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvZGF0ZXRpbWUtcGlja2VyL3NyYy9saWIvZGF0ZXRpbWUtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxXQUFXLEVBQ1gsb0JBQW9CLEVBQ3BCLG1CQUFtQixFQUVuQixnQkFBZ0IsR0FDakIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQ0wsbUJBQW1CLEVBR25CLHVCQUF1QixHQUN4QixNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzVFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxzQkFBc0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZILE9BQU8sRUFBRSxrQkFBa0IsRUFBMEIsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFdEcsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUVMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsUUFBUSxFQUNSLE1BQU0sRUFDTixVQUFVLEVBQ1Ys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O3dCQUNWLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxNQUFNO3dCQUNOLGNBQWM7d0JBQ2QsV0FBVzt3QkFDWCxnQkFBZ0I7cUJBQ2pCLFdBQ1E7d0JBQ1AsYUFBYTt3QkFDYixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsUUFBUTt3QkFDUixTQUFTO3dCQUNULFNBQVM7d0JBQ1QsZ0JBQWdCO3dCQUNoQixnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixrQkFBa0I7d0JBQ2xCLHFCQUFxQjt3QkFDckIsb0JBQW9CO3dCQUNwQixZQUFZO3dCQUNaLGFBQWE7cUJBQ2QsYUFDVTt3QkFDVCxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVywyQkFBMkIsRUFBRTt3QkFDaEUsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsV0FBVywyQkFBMkIsRUFBRTt3QkFDekUsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVywyQkFBMkIsRUFBRTt3QkFDeEU7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsMEJBQTBCLENBQUM7NEJBQ3hELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGLFdBQ1E7d0JBQ1AsZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLG1CQUFtQjt3QkFDbkIsV0FBVzt3QkFDWCxnQkFBZ0I7d0JBQ2hCLGlCQUFpQjt3QkFDakIsMEJBQTBCO3dCQUMxQixzQkFBc0I7d0JBQ3RCLDJCQUEyQjt3QkFDM0Isc0JBQXNCO3dCQUN0QixTQUFTO3dCQUNULFlBQVk7d0JBQ1osZ0JBQWdCO3FCQUNqQjs4QkFxQlUsaUJBQWlCO3NCQUQzQixLQUFLO2dCQW1CSSxJQUFJO3NCQURiLFNBQVM7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFYQ29tcG9uZW50LFxuICBBWEZvY3VzYWJsZUNvbXBvbmVudCxcbiAgQVhWYWx1YWJsZUNvbXBvbmVudCxcbiAgQVhWYWx1ZUNoYW5nZWRFdmVudCxcbiAgTVhWYWx1ZUNvbXBvbmVudCxcbn0gZnJvbSAnQGFjb3JleC9jZGsvY29tbW9uJztcbmltcG9ydCB7IEFYQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQge1xuICBBWENhbGVuZGFyQ29tcG9uZW50LFxuICBBWENhbGVuZGFyTmF2aWdhdGVFdmVudCxcbiAgQVhEYXRlVGltZVBpY2tlclR5cGUsXG4gIE1YQ2FsZW5kYXJCYXNlQ29tcG9uZW50LFxufSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY2FsZW5kYXInO1xuaW1wb3J0IHsgQVhEZWNvcmF0b3JHZW5lcmljQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhQaWNrZXJDb250YWluZXJDb21wb25lbnQsIEFYUGlja2VySXRlbXNDb21wb25lbnQsIEFYUGlja2VyVGl0bGVDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvcGlja2VyJztcbmltcG9ydCB7IEFYVGFiSXRlbUNvbXBvbmVudCwgQVhUYWJTdHJpcENoYW5nZWRFdmVudCwgQVhUYWJzQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3RhYnMnO1xuaW1wb3J0IHsgQVhEYXRlVGltZSwgQVhEYXRlVGltZVBhcnRzLCBUaW1lVW5pdCB9IGZyb20gJ0BhY29yZXgvY29yZS9kYXRlLXRpbWUnO1xuaW1wb3J0IHsgQVhGb3JtYXRQaXBlLCBBWEZvcm1hdFNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvcmUvZm9ybWF0JztcbmltcG9ydCB7IEFYVHJhbnNsYXRvclBpcGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGNvbXB1dGVkLFxuICBlZmZlY3QsXG4gIGZvcndhcmRSZWYsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIGxpbmtlZFNpZ25hbCxcbiAgc2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGNsYXNzZXMgfSBmcm9tICdwb2x5dHlwZSc7XG5pbXBvcnQgeyBBWERhdGVUaW1lUGlja2VyQ29uZmlnLCBBWF9EQVRFVElNRV9QSUNLRVJfQ09ORklHIH0gZnJvbSAnLi9kYXRldGltZS1waWNrZXIuY29uZmlnJztcblxuLyoqXG4gKiBhbGxvd3MgdXNlcnMgdG8gc2VsZWN0IGEgZGF0ZSBhbmQgdGltZSBmcm9tIGEgY2FsZW5kYXIgYW5kIHRpbWUgcGlja2VyIGludGVyZmFjZS5cbiAqXG4gKiBAY2F0ZWdvcnkgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1kYXRldGltZS1waWNrZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0ZXRpbWUtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0ZXRpbWUtcGlja2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBpbnB1dHM6IFtcbiAgICAnZGlzYWJsZWQnLFxuICAgICdyZWFkb25seScsXG4gICAgJ3RhYkluZGV4JyxcbiAgICAncGxhY2Vob2xkZXInLFxuICAgICd2YWx1ZScsXG4gICAgJ3N0YXRlJyxcbiAgICAnbmFtZScsXG4gICAgJ2lkJyxcbiAgICAnZGVwdGgnLFxuICAgICdhY3RpdmVWaWV3JyxcbiAgICAnbWluVmFsdWUnLFxuICAgICdtYXhWYWx1ZScsXG4gICAgJ2Rpc2FibGVkRGF0ZXMnLFxuICAgICdob2xpZGF5RGF0ZXMnLFxuICAgICd0eXBlJyxcbiAgICAnY2VsbFRlbXBsYXRlJyxcbiAgICAnY2VsbENsYXNzJyxcbiAgICAnc2hvd05hdmlnYXRpb24nLFxuICBdLFxuICBvdXRwdXRzOiBbXG4gICAgJ3ZhbHVlQ2hhbmdlJyxcbiAgICAnc3RhdGVDaGFuZ2UnLFxuICAgICdvblZhbHVlQ2hhbmdlZCcsXG4gICAgJ29uQmx1cicsXG4gICAgJ29uRm9jdXMnLFxuICAgICdvbkNsaWNrJyxcbiAgICAncmVhZG9ubHlDaGFuZ2UnLFxuICAgICdkaXNhYmxlZENoYW5nZScsXG4gICAgJ2RlcHRoQ2hhbmdlJyxcbiAgICAndHlwZUNoYW5nZScsXG4gICAgJ2FjdGl2ZVZpZXdDaGFuZ2UnLFxuICAgICdkaXNhYmxlZERhdGVzQ2hhbmdlJyxcbiAgICAnaG9saWRheURhdGVzQ2hhbmdlJyxcbiAgICAnb25OYXZpZ2F0ZScsXG4gICAgJ29uU2xvdENsaWNrJyxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBBWENvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYRGF0ZVRpbWVQaWNrZXJDb21wb25lbnQgfSxcbiAgICB7IHByb3ZpZGU6IEFYRm9jdXNhYmxlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhEYXRlVGltZVBpY2tlckNvbXBvbmVudCB9LFxuICAgIHsgcHJvdmlkZTogQVhWYWx1YWJsZUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYRGF0ZVRpbWVQaWNrZXJDb21wb25lbnQgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEFYRGF0ZVRpbWVQaWNrZXJDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIEFYVGFic0NvbXBvbmVudCxcbiAgICBBWFRhYkl0ZW1Db21wb25lbnQsXG4gICAgQVhDYWxlbmRhckNvbXBvbmVudCxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgIEFYQnV0dG9uQ29tcG9uZW50LFxuICAgIEFYUGlja2VyQ29udGFpbmVyQ29tcG9uZW50LFxuICAgIEFYUGlja2VyVGl0bGVDb21wb25lbnQsXG4gICAgQVhEZWNvcmF0b3JHZW5lcmljQ29tcG9uZW50LFxuICAgIEFYUGlja2VySXRlbXNDb21wb25lbnQsXG4gICAgQXN5bmNQaXBlLFxuICAgIEFYRm9ybWF0UGlwZSxcbiAgICBBWFRyYW5zbGF0b3JQaXBlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWERhdGVUaW1lUGlja2VyQ29tcG9uZW50XG4gIGV4dGVuZHMgY2xhc3NlcyhNWENhbGVuZGFyQmFzZUNvbXBvbmVudCwgTVhWYWx1ZUNvbXBvbmVudDxEYXRlPilcbiAgaW1wbGVtZW50cyBPbkluaXRcbntcbiAgcHJpdmF0ZSBmb3JtYXRTZXJ2aWNlID0gaW5qZWN0KEFYRm9ybWF0U2VydmljZSk7XG5cbiAgcHJvdGVjdGVkIGJ1dHRvblRleHQgPSBjb21wdXRlZCgoKSA9PiAodGhpcy5fYWN0aXZlUGFydCgpID09PSAnZGF0ZScgPyAnZGF0ZVRpbWUudG9kYXknIDogJ2RhdGVUaW1lLm5vdycpKTtcblxuICBwcml2YXRlIGRlZmF1bHRDb25maWc6IEFYRGF0ZVRpbWVQaWNrZXJDb25maWcgPSBpbmplY3QoQVhfREFURVRJTUVfUElDS0VSX0NPTkZJRyk7XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcml2YXRlIF9jdXJyZW50VGltZUJ1dHRvbjogYm9vbGVhbiA9IHRoaXMuZGVmYXVsdENvbmZpZy5jdXJyZW50VGltZUJ1dHRvbjtcblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyB3aGV0aGVyIGEgYnV0dG9uIGZvciBzZWxlY3RpbmcgdGhlIGN1cnJlbnQgdGltZSBpcyBkaXNwbGF5ZWQuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IGN1cnJlbnRUaW1lQnV0dG9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9jdXJyZW50VGltZUJ1dHRvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHdoZXRoZXIgdGhlIGJ1dHRvbiBmb3Igc2VsZWN0aW5nIHRoZSBjdXJyZW50IHRpbWUgaXMgZGlzcGxheWVkLlxuICAgKi9cbiAgcHVibGljIHNldCBjdXJyZW50VGltZUJ1dHRvbih2OiBib29sZWFuKSB7XG4gICAgdGhpcy5zZXRPcHRpb24oe1xuICAgICAgbmFtZTogJ2N1cnJlbnRUaW1lQnV0dG9uJyxcbiAgICAgIHZhbHVlOiB2LFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBAVmlld0NoaWxkKEFYVGFic0NvbXBvbmVudClcbiAgcHJvdGVjdGVkIHRhYnM6IEFYVGFic0NvbXBvbmVudDtcblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBob3VyczogYW55W10gPSBBcnJheSgyNClcbiAgICAuZmlsbCgwKVxuICAgIC5tYXAoKG0sIGkpID0+ICh7IGlkOiBpLCB0ZXh0OiBpIH0pKTtcbiAgbWludXRlczogYW55W10gPSBBcnJheSg2MClcbiAgICAuZmlsbCgwKVxuICAgIC5tYXAoKG0sIGkpID0+ICh7IGlkOiBpLCB0ZXh0OiBpIH0pKTtcblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBfcGFydHM6IEFYRGF0ZVRpbWVQYXJ0cyA9IHtcbiAgICB5ZWFyOiB7XG4gICAgICBrZXk6ICd5ZWFyJyxcbiAgICAgIHBsYWNlaG9sZGVyOiAneXl5eScsXG4gICAgICBwbGFjZWhvbGRlcnM6IFsnWVknLCAneXknLCAnWVlZWScsICd5eXl5J10sXG4gICAgICBlbmFibGVkOiBmYWxzZSxcbiAgICAgIGRlZmF1bHQ6IDIwMjMsXG4gICAgICByZWFsVmFsdWU6ICgpID0+XG4gICAgICAgIHRoaXMuZm9ybWF0U2VydmljZS5mb3JtYXQodGhpcy5fZWRpdGluZ0RhdGVPYmooKSwgJ2RhdGV0aW1lJywgdGhpcy5fcGFydHMueWVhci5wbGFjZWhvbGRlciBhcyBhbnkpLFxuICAgIH0sXG4gICAgbW9udGg6IHtcbiAgICAgIGtleTogJ21vbnRoJyxcbiAgICAgIHBsYWNlaG9sZGVyOiAnTU0nLFxuICAgICAgcGxhY2Vob2xkZXJzOiBbJ01NTScsICdNTU1NJywgJ01NJywgJ00nXSxcbiAgICAgIGVuYWJsZWQ6IGZhbHNlLFxuICAgICAgZGVmYXVsdDogMSxcbiAgICAgIHJlYWxWYWx1ZTogKCkgPT5cbiAgICAgICAgdGhpcy5mb3JtYXRTZXJ2aWNlLmZvcm1hdCh0aGlzLl9lZGl0aW5nRGF0ZU9iaigpLCAnZGF0ZXRpbWUnLCB0aGlzLl9wYXJ0cy5tb250aC5wbGFjZWhvbGRlciBhcyBhbnkpLFxuICAgIH0sXG4gICAgZGF5OiB7XG4gICAgICBrZXk6ICdkYXknLFxuICAgICAgcGxhY2Vob2xkZXI6ICdkZCcsXG4gICAgICBwbGFjZWhvbGRlcnM6IFsnZGQnLCAnZCcsICdFJywgJ2RkZGQnXSxcbiAgICAgIGVuYWJsZWQ6IGZhbHNlLFxuICAgICAgZGVmYXVsdDogMSxcbiAgICAgIHJlYWxWYWx1ZTogKCkgPT5cbiAgICAgICAgdGhpcy5mb3JtYXRTZXJ2aWNlLmZvcm1hdCh0aGlzLl9lZGl0aW5nRGF0ZU9iaigpLCAnZGF0ZXRpbWUnLCB0aGlzLl9wYXJ0cy5kYXkucGxhY2Vob2xkZXIgYXMgYW55KSxcbiAgICB9LFxuICAgIGhvdXI6IHtcbiAgICAgIGtleTogJ2hvdXInLFxuICAgICAgcGxhY2Vob2xkZXI6ICdISCcsXG4gICAgICBwbGFjZWhvbGRlcnM6IFsnSEgnLCAnSCcsICdoaCcsICdoJ10sXG4gICAgICBlbmFibGVkOiBmYWxzZSxcbiAgICAgIGRlZmF1bHQ6IDAsXG4gICAgICByZWFsVmFsdWU6ICgpID0+XG4gICAgICAgIHRoaXMuZm9ybWF0U2VydmljZS5mb3JtYXQodGhpcy5fZWRpdGluZ0RhdGVPYmooKSwgJ2RhdGV0aW1lJywgdGhpcy5fcGFydHMuaG91ci5wbGFjZWhvbGRlciBhcyBhbnkpLFxuICAgIH0sXG4gICAgbWludXRlOiB7XG4gICAgICBrZXk6ICdtaW51dGUnLFxuICAgICAgcGxhY2Vob2xkZXI6ICdtbScsXG4gICAgICBwbGFjZWhvbGRlcnM6IFsnbW0nLCAnbSddLFxuICAgICAgZW5hYmxlZDogZmFsc2UsXG4gICAgICBkZWZhdWx0OiAwLFxuICAgICAgcmVhbFZhbHVlOiAoKSA9PlxuICAgICAgICB0aGlzLmZvcm1hdFNlcnZpY2UuZm9ybWF0KHRoaXMuX2VkaXRpbmdEYXRlT2JqKCksICdkYXRldGltZScsIHRoaXMuX3BhcnRzLm1pbnV0ZS5wbGFjZWhvbGRlciBhcyBhbnkpLFxuICAgIH0sXG4gICAgc2Vjb25kOiB7XG4gICAgICBrZXk6ICdzZWNvbmQnLFxuICAgICAgcGxhY2Vob2xkZXI6ICdzcycsXG4gICAgICBwbGFjZWhvbGRlcnM6IFsnc3MnLCAncyddLFxuICAgICAgZW5hYmxlZDogZmFsc2UsXG4gICAgICBkZWZhdWx0OiAwLFxuICAgICAgcmVhbFZhbHVlOiAoKSA9PlxuICAgICAgICB0aGlzLmZvcm1hdFNlcnZpY2UuZm9ybWF0KHRoaXMuX2VkaXRpbmdEYXRlT2JqKCksICdkYXRldGltZScsIHRoaXMuX3BhcnRzLnNlY29uZC5wbGFjZWhvbGRlciBhcyBhbnkpLFxuICAgIH0sXG4gICAgQU1QTToge1xuICAgICAga2V5OiAnQU1QTScsXG4gICAgICBwbGFjZWhvbGRlcjogJ2EnLFxuICAgICAgcGxhY2Vob2xkZXJzOiBbJ2EnLCAnQSddLFxuICAgICAgZW5hYmxlZDogZmFsc2UsXG4gICAgICBkZWZhdWx0OiAwLFxuICAgICAgdHlwZWRWYWx1ZTogbnVsbCxcbiAgICAgIHJlYWxWYWx1ZTogKCkgPT5cbiAgICAgICAgdGhpcy5mb3JtYXRTZXJ2aWNlLmZvcm1hdCh0aGlzLl9lZGl0aW5nRGF0ZU9iaigpLCAnZGF0ZXRpbWUnLCB0aGlzLl9wYXJ0cy5BTVBNLnBsYWNlaG9sZGVyIGFzIGFueSksXG4gICAgfSxcbiAgfTtcblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBfYWN0aXZlUGFydCA9IHNpZ25hbDwnZGF0ZScgfCAndGltZSc+KCdkYXRlJyk7XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0IF9oYXNEYXRlUGFydCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gWyd5ZWFyJywgJ21vbnRoJywgJ2RheSddLnNvbWUoKGspID0+IHRoaXMuX3BhcnRzW2tdLmVuYWJsZWQpO1xuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0IF9oYXNUaW1lUGFydCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gWydob3VyJywgJ21pbnV0ZScsICdzZWNvbmQnXS5zb21lKChrKSA9PiB0aGlzLl9wYXJ0c1trXS5lbmFibGVkKTtcbiAgfVxuXG4gIC8vIC8qKlxuICAvLyAgKiAgQGlnbm9yZVxuICAvLyAgKi9cbiAgcHJvdGVjdGVkIF9lZGl0aW5nRGF0ZU9iaiA9IGxpbmtlZFNpZ25hbDxBWERhdGVUaW1lPigoKSA9PiB0aGlzLmNhbGVuZGFyU2VydmljZS5ub3codGhpcy5jYWxlbmRhcigpKSk7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBUaGUgY2FsZW5kYXIgdHlwZSB0byB1c2UgZm9yIHRoZSBkYXRldGltZSBpbnB1dC5cbiAgICovXG4gIGNhbGVuZGFyID0gaW5wdXQ8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG5cbiAgcHJvdGVjdGVkIF9jYWxlbmRhclN5c3RlbSA9IGxpbmtlZFNpZ25hbDxzdHJpbmcgfCBudWxsPigoKSA9PiB0aGlzLmNhbGVuZGFyKCkgPz8gdGhpcy50eXBlKTtcblxuICBwaWNrZXIgPSBpbnB1dDxBWERhdGVUaW1lUGlja2VyVHlwZT4oJ2RhdGV0aW1lJyk7XG5cbiAgI2VmZmVjdFBpY2tlciA9IGVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHRoaXMucGlja2VyKCkgPT09ICd0aW1lJykge1xuICAgICAgdGhpcy5fYWN0aXZlUGFydC5zZXQoJ3RpbWUnKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMucGlja2VyKCkgPT09ICdkYXRlJykge1xuICAgICAgdGhpcy5fYWN0aXZlUGFydC5zZXQoJ2RhdGUnKTtcbiAgICB9XG4gIH0pO1xuXG4gIHByaXZhdGUgX2Zvcm1hdCA9IGxpbmtlZFNpZ25hbDxzdHJpbmc+KFxuICAgICgpID0+IHRoaXMuZm9ybWF0KCkgPz8gdGhpcy5sb2NhbGVTZXJ2aWNlLmFjdGl2ZVByb2ZpbGUoKS5mb3JtYXRzW3RoaXMucGlja2VyKCldPy5zaG9ydCA/PyAnJyxcbiAgKTtcblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgdXNlIGxvY2FsZSAmIG1vZGUgaW5zdGVhZFxuICAgKi9cbiAgZm9ybWF0ID0gaW5wdXQ8c3RyaW5nIHwgbnVsbD4oKTtcblxuICAjZWZmZWN0ID0gZWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBwcm9maWxlID0gdGhpcy5sb2NhbGVTZXJ2aWNlLmFjdGl2ZVByb2ZpbGUoKTtcbiAgICAvL1xuICAgIGlmICghdGhpcy5mb3JtYXQoKSkge1xuICAgICAgdGhpcy5fZm9ybWF0LnNldCh0aGlzLmZvcm1hdCgpID8/IHByb2ZpbGUuZm9ybWF0c1t0aGlzLnBpY2tlcigpXT8uc2hvcnQgPz8gJycpO1xuICAgIH1cbiAgICAvL1xuICAgIGlmICghdGhpcy5jYWxlbmRhcigpKSB7XG4gICAgICB0aGlzLl9jYWxlbmRhclN5c3RlbS5zZXQocHJvZmlsZS5jYWxlbmRhci5zeXN0ZW0pO1xuICAgIH1cbiAgICAvL1xuICAgIHRoaXMudHlwZSA9IHRoaXMuX2NhbGVuZGFyU3lzdGVtKCk7XG4gICAgLy9cbiAgICB0aGlzLl9kZXRlY3RQYXJ0cygpO1xuICB9KTtcblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIG92ZXJyaWRlIGFzeW5jIG5nT25Jbml0KCkge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgdGhpcy5fZGV0ZWN0UGFydHMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGVzIGNoYW5nZXMgdG8gdGhlIGludGVybmFsIHZhbHVlIG9mIHRoZSBjb21wb25lbnQuXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSBuZXcgZGF0ZSB2YWx1ZS4gSWYgbm90IHByb3ZpZGVkLCBkZWZhdWx0cyB0byB0aGUgY3VycmVudCBkYXRlLlxuICAgKi9cbiAgb3ZlcnJpZGUgaW50ZXJuYWxWYWx1ZUNoYW5nZWQodmFsdWU/OiBEYXRlKTogdm9pZCB7XG4gICAgdHJ5IHtcbiAgICAgIGlmICh0aGlzLmNhbGVuZGFyU2VydmljZS5pc1ZhbGlkRGF0ZSh2YWx1ZSkpIHtcbiAgICAgICAgdGhpcy5fZWRpdGluZ0RhdGVPYmouc2V0KHRoaXMuY2FsZW5kYXJTZXJ2aWNlLmNyZWF0ZSh2YWx1ZSwgdGhpcy5jYWxlbmRhcigpKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIHtcbiAgICAgIHRoaXMuX2VkaXRpbmdEYXRlT2JqLnNldCh0aGlzLmNhbGVuZGFyU2VydmljZS5ub3codGhpcy5jYWxlbmRhcigpKSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgX2hhbmRsZVZpZXdDaGFuZ2VkKGU6IEFYVGFiU3RyaXBDaGFuZ2VkRXZlbnQpIHtcbiAgICB0aGlzLl9hY3RpdmVQYXJ0LnNldChlLnRhYi5rZXkgYXMgJ2RhdGUnIHwgJ3RpbWUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIF9oYW5kbGVQaWNrZXJPblZhbHVlQ2hhbmdlZChlOiBBWFZhbHVlQ2hhbmdlZEV2ZW50PERhdGU+LCBwYXJ0OiBzdHJpbmcpIHtcbiAgICBpZiAoZS5pc1VzZXJJbnRlcmFjdGlvbikge1xuICAgICAgdGhpcy5fZWRpdGluZ0RhdGVPYmouc2V0KHRoaXMuX2VkaXRpbmdEYXRlT2JqKCkuc2V0KHBhcnQgYXMgVGltZVVuaXQsIE51bWJlcihlLnZhbHVlWydpZCddKSkpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIF9oYW5kbGVDYWxlbmRhck9uTmF2aWdhdGUoZTogQVhDYWxlbmRhck5hdmlnYXRlRXZlbnQpIHtcbiAgICB0aGlzLm9uTmF2aWdhdGUuZW1pdChlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIF9oYW5kbGVDYWxlbmRhck9uVmFsdWVDaGFuZ2VkKGU6IEFYVmFsdWVDaGFuZ2VkRXZlbnQ8RGF0ZT4pIHtcbiAgICBpZiAoZS5pc1VzZXJJbnRlcmFjdGlvbikge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRWYWx1ZSA9IHRoaXMuY2FsZW5kYXJTZXJ2aWNlLmNyZWF0ZShlLnZhbHVlLCB0aGlzLmNhbGVuZGFyKCkpO1xuICAgICAgY29uc3QgY3VycmVudFZhbHVlID0gdGhpcy5jYWxlbmRhclNlcnZpY2VcbiAgICAgICAgLmNyZWF0ZShlLnZhbHVlLCB0aGlzLmNhbGVuZGFyKCkpXG4gICAgICAgIC5zZXQoJ2RheScsIHNlbGVjdGVkVmFsdWUuZGF5T2ZNb250aClcbiAgICAgICAgLnNldCgnbW9udGgnLCBzZWxlY3RlZFZhbHVlLm1vbnRoT2ZZZWFyKVxuICAgICAgICAuc2V0KCd5ZWFyJywgc2VsZWN0ZWRWYWx1ZS55ZWFyKTtcblxuICAgICAgdGhpcy5fZWRpdGluZ0RhdGVPYmouc2V0KGN1cnJlbnRWYWx1ZSk7XG4gICAgICBpZiAodGhpcy5faGFzVGltZVBhcnQpIHtcbiAgICAgICAgdGhpcy5fYWN0aXZlUGFydC5zZXQoJ3RpbWUnKTtcbiAgICAgICAgaWYgKHRoaXMudGFicyAmJiB0aGlzLl9oYXNEYXRlUGFydCAmJiB0aGlzLl9oYXNUaW1lUGFydCkge1xuICAgICAgICAgIHRoaXMudGFicy5zZWxlY3QoMSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5jb21taXRWYWx1ZSh0aGlzLl9lZGl0aW5nRGF0ZU9iaigpLmRhdGUsIHRydWUpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNvbW1pdFZhbHVlKHRoaXMuX2VkaXRpbmdEYXRlT2JqKCkuZGF0ZSwgdHJ1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcml2YXRlIF9kZXRlY3RQYXJ0cygpIHtcbiAgICBPYmplY3QudmFsdWVzKHRoaXMuX3BhcnRzKS5mb3JFYWNoKChlKSA9PiB7XG4gICAgICBlLmVuYWJsZWQgPSBmYWxzZTtcbiAgICB9KTtcbiAgICBjb25zdCBmb3JtYXRQYXJ0cyA9IHRoaXMuX2Zvcm1hdCgpLnNwbGl0KC9bXmEtekEtWl0rLyk7XG4gICAgZm9ybWF0UGFydHMuZm9yRWFjaCgoZikgPT4ge1xuICAgICAgY29uc3QgZm91bmQgPSBPYmplY3QudmFsdWVzKHRoaXMuX3BhcnRzKS5maW5kKChjKSA9PiBjLnBsYWNlaG9sZGVycy5zb21lKChkKSA9PiBkID09IGYpKTtcbiAgICAgIGlmIChmb3VuZCkge1xuICAgICAgICBmb3VuZC5lbmFibGVkID0gdHJ1ZTtcbiAgICAgICAgZm91bmQucGxhY2Vob2xkZXIgPSBmO1xuICAgICAgfVxuICAgIH0pO1xuICAgIC8vdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBfaGFuZGxlU2V0Q2xpY2soKSB7XG4gICAgdGhpcy5jb21taXRWYWx1ZSh0aGlzLl9lZGl0aW5nRGF0ZU9iaigpLmRhdGUsIHRydWUpO1xuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgX2hhbmRsZU5vd0NsaWNrKCkge1xuICAgIHRoaXMuX2VkaXRpbmdEYXRlT2JqLnNldCh0aGlzLmNhbGVuZGFyU2VydmljZS5ub3codGhpcy5jYWxlbmRhcigpKSk7XG4gICAgdGhpcy5jb21taXRWYWx1ZSh0aGlzLl9lZGl0aW5nRGF0ZU9iaigpLmRhdGUsIHRydWUpO1xuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgaXNEaXNhYmxlZChkYXRlOiBBWERhdGVUaW1lKTogYm9vbGVhbiB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5kaXNhYmxlZERhdGVzKSAmJiB0aGlzLmRpc2FibGVkRGF0ZXMubGVuZ3RoICE9IDApIHtcbiAgICAgIHJldHVybiB0aGlzLmRpc2FibGVkRGF0ZXMuc29tZSgoZCkgPT4gZGF0ZS5lcXVhbChkLCAnZGF5JykpO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHRoaXMuZGlzYWJsZWREYXRlcyA9PSAnZnVuY3Rpb24nKSB7XG4gICAgICByZXR1cm4gdGhpcy5kaXNhYmxlZERhdGVzKGRhdGUuZGF0ZSk7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGludGVybmFsU2V0VmFsdWUodmFsdWU6IERhdGUpOiBEYXRlIHwgbnVsbCB7XG4gICAgaWYgKCF2YWx1ZSkgcmV0dXJuIG51bGw7XG4gICAgY29uc3QgdiA9IHRoaXMuY2FsZW5kYXJTZXJ2aWNlLmNvbnZlcnQodmFsdWUpO1xuICAgIGNvbnN0IGlzRGlzYWJsZWQgPSB0aGlzLmlzRGlzYWJsZWQodik7XG4gICAgaWYgKGlzRGlzYWJsZWQpIHJldHVybiBudWxsO1xuICAgIGVsc2UgcmV0dXJuIHYuZGF0ZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBpc1RvZGF5RGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgZGlzYWJsZWREYXRlcyA9IHRoaXMuZGlzYWJsZWREYXRlcztcblxuICAgIGlmICghZGlzYWJsZWREYXRlcyB8fCAhQXJyYXkuaXNBcnJheShkaXNhYmxlZERhdGVzKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IHRvZGF5ID0gbmV3IERhdGUoKTtcbiAgICB0b2RheS5zZXRIb3VycygwLCAwLCAwLCAwKTtcblxuICAgIHJldHVybiBkaXNhYmxlZERhdGVzLnNvbWUoKGRpc2FibGVkRGF0ZTogRGF0ZSkgPT4ge1xuICAgICAgY29uc3QgZGlzYWJsZWQgPSBuZXcgRGF0ZShkaXNhYmxlZERhdGUpO1xuICAgICAgZGlzYWJsZWQuc2V0SG91cnMoMCwgMCwgMCwgMCk7XG4gICAgICByZXR1cm4gdG9kYXkuZ2V0VGltZSgpID09PSBkaXNhYmxlZC5nZXRUaW1lKCk7XG4gICAgfSk7XG4gIH1cbn1cbiIsIkBpZiAoX2hhc0RhdGVQYXJ0ICYmIF9oYXNUaW1lUGFydCkge1xuICA8ZGl2IGNsYXNzPVwiYXgtaGVhZGVyXCI+XG4gICAgPGF4LXRhYnMgW2xvb2tdPVwiJ2RlZmF1bHQnXCIgW2ZpdFBhcmVudF09XCJ0cnVlXCIgW2xvY2F0aW9uXT1cIid0b3AnXCIgKG9uQWN0aXZlVGFiQ2hhbmdlZCk9XCJfaGFuZGxlVmlld0NoYW5nZWQoJGV2ZW50KVwiPlxuICAgICAgPGF4LXRhYi1pdGVtXG4gICAgICAgIFt0ZXh0XT1cIidAYWNvcmV4OmRhdGVUaW1lLmRhdGUnIHwgdHJhbnNsYXRlIHwgYXN5bmNcIlxuICAgICAgICBba2V5XT1cIidkYXRlJ1wiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICA+PC9heC10YWItaXRlbT5cbiAgICAgIDxheC10YWItaXRlbVxuICAgICAgICBbdGV4dF09XCInQGFjb3JleDpkYXRlVGltZS50aW1lJyB8IHRyYW5zbGF0ZSB8IGFzeW5jXCJcbiAgICAgICAgW2tleV09XCIndGltZSdcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgPjwvYXgtdGFiLWl0ZW0+XG4gICAgPC9heC10YWJzPlxuICA8L2Rpdj5cbn1cbjxkaXYgY2xhc3M9XCJheC1jb250ZW50XCI+XG4gIEBpZiAoX2FjdGl2ZVBhcnQoKSA9PT0gJ2RhdGUnKSB7XG4gICAgPGRpdiBjbGFzcz1cImF4LWNhbGVuZGFyLXBhcnRcIj5cbiAgICAgIDxheC1jYWxlbmRhclxuICAgICAgICAjY2FsZW5kYXJcbiAgICAgICAgaWQ9XCJjYWxlbmRhclwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgICAgIFtuZ01vZGVsXT1cIl9lZGl0aW5nRGF0ZU9iaigpLmRhdGVcIlxuICAgICAgICBbbWluVmFsdWVdPVwibWluVmFsdWVcIlxuICAgICAgICBbbWF4VmFsdWVdPVwibWF4VmFsdWVcIlxuICAgICAgICBbZGlzYWJsZWREYXRlc109XCJkaXNhYmxlZERhdGVzXCJcbiAgICAgICAgW2hvbGlkYXlEYXRlc109XCJob2xpZGF5RGF0ZXNcIlxuICAgICAgICBbZGVwdGhdPVwiZGVwdGhcIlxuICAgICAgICAob25OYXZpZ2F0ZSk9XCJfaGFuZGxlQ2FsZW5kYXJPbk5hdmlnYXRlKCRldmVudClcIlxuICAgICAgICAob25WYWx1ZUNoYW5nZWQpPVwiX2hhbmRsZUNhbGVuZGFyT25WYWx1ZUNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgIFt0eXBlXT1cIl9jYWxlbmRhclN5c3RlbSgpXCJcbiAgICAgID5cbiAgICAgIDwvYXgtY2FsZW5kYXI+XG4gICAgPC9kaXY+XG4gIH1cblxuICBAaWYgKF9hY3RpdmVQYXJ0KCkgPT09ICd0aW1lJykge1xuICAgIDxkaXYgY2xhc3M9XCJheC1waWNrZXItcGFydFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImF4LWhlYWRlclwiPlxuICAgICAgICB7eyBfZWRpdGluZ0RhdGVPYmooKSB8IGZvcm1hdDogcGlja2VyKCkgOiAnc2hvcnQnIHwgYXN5bmMgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBkaXI9XCJsdHJcIiBjbGFzcz1cImF4LXBpY2tlci10aW1lLWNvbnRhaW5lclwiPlxuICAgICAgICBAaWYgKF9wYXJ0cy5ob3VyLmVuYWJsZWQpIHtcbiAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImhvdXJSZWZcIj4gPC9uZy1jb250YWluZXI+XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKF9wYXJ0cy5taW51dGUuZW5hYmxlZCkge1xuICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwibWludXRlUmVmXCI+IDwvbmctY29udGFpbmVyPlxuICAgICAgICB9XG5cbiAgICAgICAgQGlmIChfcGFydHMuc2Vjb25kLmVuYWJsZWQpIHtcbiAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInNlY29uZFJlZlwiPiA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIH1cbjwvZGl2PlxuQGlmICghZGlzYWJsZWQgJiYgIXJlYWRvbmx5ICYmIChjdXJyZW50VGltZUJ1dHRvbiB8fCBfaGFzVGltZVBhcnQpKSB7XG4gIDxkaXYgY2xhc3M9XCJheC1mb290ZXJcIj5cbiAgICA8ZGl2PlxuICAgICAgQGlmIChjdXJyZW50VGltZUJ1dHRvbikge1xuICAgICAgICA8YXgtYnV0dG9uXG4gICAgICAgICAgW3RleHRdPVwiYEBhY29yZXg6JHtidXR0b25UZXh0KCl9YCB8IHRyYW5zbGF0ZSB8IGFzeW5jXCJcbiAgICAgICAgICBjbGFzcz1cImF4LXNtXCJcbiAgICAgICAgICAob25DbGljayk9XCJfaGFuZGxlTm93Q2xpY2soKVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImlzVG9kYXlEaXNhYmxlZCgpXCJcbiAgICAgICAgPjwvYXgtYnV0dG9uPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICAgIDxkaXY+XG4gICAgICBAaWYgKF9oYXNUaW1lUGFydCkge1xuICAgICAgICA8YXgtYnV0dG9uXG4gICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgICBbdGV4dF09XCInQGFjb3JleDpkYXRlVGltZS5zZXQnIHwgdHJhbnNsYXRlIHwgYXN5bmNcIlxuICAgICAgICAgIGNsYXNzPVwiYXgtc21cIlxuICAgICAgICAgIChvbkNsaWNrKT1cIl9oYW5kbGVTZXRDbGljaygpXCJcbiAgICAgICAgPjwvYXgtYnV0dG9uPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbn1cblxuPG5nLXRlbXBsYXRlICNob3VyUmVmPlxuICA8YXgtcGlja2VyLWNvbnRhaW5lcj5cbiAgICA8YXgtcGlja2VyLXRpdGxlPlxuICAgICAgPGF4LXRleHQ+e3sgJ0BhY29yZXg6ZGF0ZVRpbWUudW5pdHMuaG91cicgfCB0cmFuc2xhdGUgfCBhc3luYyB9fTwvYXgtdGV4dD5cbiAgICA8L2F4LXBpY2tlci10aXRsZT5cbiAgICA8YXgtcGlja2VyLWl0ZW1zXG4gICAgICBbaXRlbXNdPVwiaG91cnNcIlxuICAgICAgW25nTW9kZWxdPVwiX2VkaXRpbmdEYXRlT2JqKCkuaG91clwiXG4gICAgICAob25WYWx1ZUNoYW5nZWQpPVwiX2hhbmRsZVBpY2tlck9uVmFsdWVDaGFuZ2VkKCRldmVudCwgJ2hvdXInKVwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICA+PC9heC1waWNrZXItaXRlbXM+XG4gIDwvYXgtcGlja2VyLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjbWludXRlUmVmPlxuICA8YXgtcGlja2VyLWNvbnRhaW5lcj5cbiAgICA8YXgtcGlja2VyLXRpdGxlPlxuICAgICAgPGF4LXRleHQ+e3sgJ0BhY29yZXg6ZGF0ZVRpbWUudW5pdHMubWludXRlJyB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19PC9heC10ZXh0PlxuICAgIDwvYXgtcGlja2VyLXRpdGxlPlxuICAgIDxheC1waWNrZXItaXRlbXNcbiAgICAgIFtpdGVtc109XCJtaW51dGVzXCJcbiAgICAgIFtuZ01vZGVsXT1cIl9lZGl0aW5nRGF0ZU9iaigpLm1pbnV0ZVwiXG4gICAgICAob25WYWx1ZUNoYW5nZWQpPVwiX2hhbmRsZVBpY2tlck9uVmFsdWVDaGFuZ2VkKCRldmVudCwgJ21pbnV0ZScpXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgID48L2F4LXBpY2tlci1pdGVtcz5cbiAgPC9heC1waWNrZXItY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNzZWNvbmRSZWY+XG4gIDxheC1waWNrZXItY29udGFpbmVyPlxuICAgIDxheC1waWNrZXItdGl0bGU+XG4gICAgICA8YXgtdGV4dD57eyAnQGFjb3JleDpkYXRlVGltZS51bml0cy5zZWNvbmQnIHwgdHJhbnNsYXRlIHwgYXN5bmMgfX08L2F4LXRleHQ+XG4gICAgPC9heC1waWNrZXItdGl0bGU+XG4gICAgPGF4LXBpY2tlci1pdGVtc1xuICAgICAgW2l0ZW1zXT1cIm1pbnV0ZXNcIlxuICAgICAgW25nTW9kZWxdPVwiX2VkaXRpbmdEYXRlT2JqKCkuc2Vjb25kXCJcbiAgICAgIChvblZhbHVlQ2hhbmdlZCk9XCJfaGFuZGxlUGlja2VyT25WYWx1ZUNoYW5nZWQoJGV2ZW50LCAnc2Vjb25kJylcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgPjwvYXgtcGlja2VyLWl0ZW1zPlxuICA8L2F4LXBpY2tlci1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuIl19","import { AXButtonModule } from '@acorex/components/button';\nimport { AXCalendarModule } from '@acorex/components/calendar';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXPickerModule } from '@acorex/components/picker';\nimport { AXTabsModule } from '@acorex/components/tabs';\nimport { AXDateTimeModule } from '@acorex/core/date-time';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXDateTimePickerComponent } from './datetime-picker.component';\nimport * as i0 from \"@angular/core\";\nconst COMPONENT = [AXDateTimePickerComponent];\nconst MODULES = [\n CommonModule,\n FormsModule,\n AXTabsModule,\n AXDateTimeModule,\n AXButtonModule,\n AXCalendarModule,\n AXPickerModule,\n AXTranslationModule,\n AXDecoratorModule,\n];\nexport class AXDateTimePickerModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXDateTimePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.3\", ngImport: i0, type: AXDateTimePickerModule, imports: [CommonModule,\n FormsModule,\n AXTabsModule,\n AXDateTimeModule,\n AXButtonModule,\n AXCalendarModule,\n AXPickerModule,\n AXTranslationModule,\n AXDecoratorModule, AXDateTimePickerComponent], exports: [AXDateTimePickerComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXDateTimePickerModule, imports: [MODULES, COMPONENT] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXDateTimePickerModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUtcGlja2VyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvZGF0ZXRpbWUtcGlja2VyL3NyYy9saWIvZGF0ZXRpbWUtcGlja2VyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7O0FBRXhFLE1BQU0sU0FBUyxHQUFHLENBQUMseUJBQXlCLENBQUMsQ0FBQztBQUM5QyxNQUFNLE9BQU8sR0FBRztJQUNkLFlBQVk7SUFDWixXQUFXO0lBQ1gsWUFBWTtJQUNaLGdCQUFnQjtJQUNoQixjQUFjO0lBQ2QsZ0JBQWdCO0lBQ2hCLGNBQWM7SUFDZCxtQkFBbUI7SUFDbkIsaUJBQWlCO0NBQ2xCLENBQUM7QUFPRixNQUFNLE9BQU8sc0JBQXNCOzhHQUF0QixzQkFBc0I7K0dBQXRCLHNCQUFzQixZQWhCakMsWUFBWTtZQUNaLFdBQVc7WUFDWCxZQUFZO1lBQ1osZ0JBQWdCO1lBQ2hCLGNBQWM7WUFDZCxnQkFBZ0I7WUFDaEIsY0FBYztZQUNkLG1CQUFtQjtZQUNuQixpQkFBaUIsRUFWQSx5QkFBeUIsYUFBekIseUJBQXlCOytHQWtCL0Isc0JBQXNCLFlBSnBCLE9BQU8sRUFBSyxTQUFTOzsyRkFJdkIsc0JBQXNCO2tCQUxsQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLEdBQUcsT0FBTyxFQUFFLEdBQUcsU0FBUyxDQUFDO29CQUNuQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQztvQkFDdkIsU0FBUyxFQUFFLEVBQUU7aUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgQVhDYWxlbmRhck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jYWxlbmRhcic7XG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYUGlja2VyTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3BpY2tlcic7XG5pbXBvcnQgeyBBWFRhYnNNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvdGFicyc7XG5pbXBvcnQgeyBBWERhdGVUaW1lTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb3JlL2RhdGUtdGltZSc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBWERhdGVUaW1lUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRldGltZS1waWNrZXIuY29tcG9uZW50JztcblxuY29uc3QgQ09NUE9ORU5UID0gW0FYRGF0ZVRpbWVQaWNrZXJDb21wb25lbnRdO1xuY29uc3QgTU9EVUxFUyA9IFtcbiAgQ29tbW9uTW9kdWxlLFxuICBGb3Jtc01vZHVsZSxcbiAgQVhUYWJzTW9kdWxlLFxuICBBWERhdGVUaW1lTW9kdWxlLFxuICBBWEJ1dHRvbk1vZHVsZSxcbiAgQVhDYWxlbmRhck1vZHVsZSxcbiAgQVhQaWNrZXJNb2R1bGUsXG4gIEFYVHJhbnNsYXRpb25Nb2R1bGUsXG4gIEFYRGVjb3JhdG9yTW9kdWxlLFxuXTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogWy4uLk1PRFVMRVMsIC4uLkNPTVBPTkVOVF0sXG4gIGV4cG9ydHM6IFsuLi5DT01QT05FTlRdLFxuICBwcm92aWRlcnM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBBWERhdGVUaW1lUGlja2VyTW9kdWxlIHt9XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvbXBvbmVudHMtZGF0ZXRpbWUtcGlja2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9kYXRldGltZS1waWNrZXIvc3JjL2Fjb3JleC1jb21wb25lbnRzLWRhdGV0aW1lLXBpY2tlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"acorex-components-datetime-picker.mjs","sources":["../tmp-esm2022/datetime-picker/lib/datetime-picker.config.js","../tmp-esm2022/datetime-picker/lib/datetime-picker.component.js","../tmp-esm2022/datetime-picker/lib/datetime-picker.module.js","../tmp-esm2022/datetime-picker/acorex-components-datetime-picker.js"],"sourcesContent":["import { AX_GLOBAL_CONFIG } from '@acorex/core/config';\nimport { InjectionToken, inject } from '@angular/core';\nimport { set } from 'lodash-es';\nexport const AX_DATETIME_PICKER_CONFIG = new InjectionToken('AX_DATETIME_PICKER_CONFIG', {\n providedIn: 'root',\n factory: () => {\n const global = inject(AX_GLOBAL_CONFIG);\n set(global, 'datetime-picker', AX_DATETIME_PICKER_CONFIG);\n return AXDateTimePickerDefaultConfig;\n },\n});\nexport const AXDateTimePickerDefaultConfig = {\n currentTimeButton: true,\n};\nexport function dateTimePickerConfig(config = {}) {\n const result = {\n ...AXDateTimePickerDefaultConfig,\n ...config,\n };\n return result;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUtcGlja2VyLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvZGF0ZXRpbWUtcGlja2VyL3NyYy9saWIvZGF0ZXRpbWUtcGlja2VyLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBTWhDLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLElBQUksY0FBYyxDQUF5QiwyQkFBMkIsRUFBRTtJQUMvRyxVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUsR0FBRyxFQUFFO1FBQ1osTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDeEMsR0FBRyxDQUFDLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSx5QkFBeUIsQ0FBQyxDQUFDO1FBQzFELE9BQU8sNkJBQTZCLENBQUM7SUFDdkMsQ0FBQztDQUNGLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUEyQjtJQUNuRSxpQkFBaUIsRUFBRSxJQUFJO0NBQ3hCLENBQUM7QUFJRixNQUFNLFVBQVUsb0JBQW9CLENBQUMsU0FBc0MsRUFBRTtJQUMzRSxNQUFNLE1BQU0sR0FBRztRQUNiLEdBQUcsNkJBQTZCO1FBQ2hDLEdBQUcsTUFBTTtLQUNWLENBQUM7SUFDRixPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhfR0xPQkFMX0NPTkZJRyB9IGZyb20gJ0BhY29yZXgvY29yZS9jb25maWcnO1xuaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgc2V0IH0gZnJvbSAnbG9kYXNoLWVzJztcblxuZXhwb3J0IGludGVyZmFjZSBBWERhdGVUaW1lUGlja2VyQ29uZmlnIHtcbiAgY3VycmVudFRpbWVCdXR0b246IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBBWF9EQVRFVElNRV9QSUNLRVJfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuPEFYRGF0ZVRpbWVQaWNrZXJDb25maWc+KCdBWF9EQVRFVElNRV9QSUNLRVJfQ09ORklHJywge1xuICBwcm92aWRlZEluOiAncm9vdCcsXG4gIGZhY3Rvcnk6ICgpID0+IHtcbiAgICBjb25zdCBnbG9iYWwgPSBpbmplY3QoQVhfR0xPQkFMX0NPTkZJRyk7XG4gICAgc2V0KGdsb2JhbCwgJ2RhdGV0aW1lLXBpY2tlcicsIEFYX0RBVEVUSU1FX1BJQ0tFUl9DT05GSUcpO1xuICAgIHJldHVybiBBWERhdGVUaW1lUGlja2VyRGVmYXVsdENvbmZpZztcbiAgfSxcbn0pO1xuXG5leHBvcnQgY29uc3QgQVhEYXRlVGltZVBpY2tlckRlZmF1bHRDb25maWc6IEFYRGF0ZVRpbWVQaWNrZXJDb25maWcgPSB7XG4gIGN1cnJlbnRUaW1lQnV0dG9uOiB0cnVlLFxufTtcblxuZXhwb3J0IHR5cGUgUGFydGlhbERhdGVUaW1lUGlja2VyQ29uZmlnID0gUGFydGlhbDxBWERhdGVUaW1lUGlja2VyQ29uZmlnPjtcblxuZXhwb3J0IGZ1bmN0aW9uIGRhdGVUaW1lUGlja2VyQ29uZmlnKGNvbmZpZzogUGFydGlhbERhdGVUaW1lUGlja2VyQ29uZmlnID0ge30pOiBBWERhdGVUaW1lUGlja2VyQ29uZmlnIHtcbiAgY29uc3QgcmVzdWx0ID0ge1xuICAgIC4uLkFYRGF0ZVRpbWVQaWNrZXJEZWZhdWx0Q29uZmlnLFxuICAgIC4uLmNvbmZpZyxcbiAgfTtcbiAgcmV0dXJuIHJlc3VsdDtcbn1cbiJdfQ==","import { AXComponent, AXFocusableComponent, AXValuableComponent, MXValueComponent, } from '@acorex/cdk/common';\nimport { AXButtonComponent } from '@acorex/components/button';\nimport { AXCalendarComponent, MXCalendarBaseComponent, } from '@acorex/components/calendar';\nimport { AXDecoratorGenericComponent } from '@acorex/components/decorators';\nimport { AXPickerContainerComponent, AXPickerItemsComponent, AXPickerTitleComponent } from '@acorex/components/picker';\nimport { AXTabItemComponent, AXTabsComponent } from '@acorex/components/tabs';\nimport { AXFormatPipe, AXFormatService } from '@acorex/core/format';\nimport { AXTranslatorPipe } from '@acorex/core/translation';\nimport { AsyncPipe, NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input, ViewChild, ViewEncapsulation, computed, effect, forwardRef, inject, input, linkedSignal, signal, } from '@angular/core';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\nimport { AX_DATETIME_PICKER_CONFIG } from './datetime-picker.config';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\n/**\n * allows users to select a date and time from a calendar and time picker interface.\n *\n * @category Components\n */\nexport class AXDateTimePickerComponent extends classes(MXCalendarBaseComponent, (MXValueComponent)) {\n constructor() {\n super(...arguments);\n this.formatService = inject(AXFormatService);\n this.buttonText = computed(() => (this._activePart() === 'date' ? 'dateTime.today' : 'dateTime.now'), ...(ngDevMode ? [{ debugName: \"buttonText\" }] : []));\n this.defaultConfig = inject(AX_DATETIME_PICKER_CONFIG);\n this.pickerHoursMinValue = signal(null, ...(ngDevMode ? [{ debugName: \"pickerHoursMinValue\" }] : []));\n this.pickerHoursMaxValue = signal(null, ...(ngDevMode ? [{ debugName: \"pickerHoursMaxValue\" }] : []));\n this.pickerMinuteMinValue = signal(null, ...(ngDevMode ? [{ debugName: \"pickerMinuteMinValue\" }] : []));\n this.pickerMinuteMaxValue = signal(null, ...(ngDevMode ? [{ debugName: \"pickerMinuteMaxValue\" }] : []));\n this.pickerSecondMinValue = signal(null, ...(ngDevMode ? [{ debugName: \"pickerSecondMinValue\" }] : []));\n this.pickerSecondMaxValue = signal(null, ...(ngDevMode ? [{ debugName: \"pickerSecondMaxValue\" }] : []));\n /**\n * @ignore\n */\n this._currentTimeButton = this.defaultConfig.currentTimeButton;\n /**\n * @ignore\n */\n this.hours = Array(24)\n .fill(0)\n .map((m, i) => ({ id: i, text: i }));\n this.minutes = Array(60)\n .fill(0)\n .map((m, i) => ({ id: i, text: i }));\n /**\n * @ignore\n */\n this._parts = {\n year: {\n key: 'year',\n placeholder: 'yyyy',\n placeholders: ['YY', 'yy', 'YYYY', 'yyyy'],\n enabled: false,\n default: 2023,\n realValue: () => this.formatService.format(this._editingDateObj(), 'datetime', this._parts.year.placeholder),\n },\n month: {\n key: 'month',\n placeholder: 'MM',\n placeholders: ['MMM', 'MMMM', 'MM', 'M'],\n enabled: false,\n default: 1,\n realValue: () => this.formatService.format(this._editingDateObj(), 'datetime', this._parts.month.placeholder),\n },\n day: {\n key: 'day',\n placeholder: 'dd',\n placeholders: ['dd', 'd', 'E', 'dddd'],\n enabled: false,\n default: 1,\n realValue: () => this.formatService.format(this._editingDateObj(), 'datetime', this._parts.day.placeholder),\n },\n hour: {\n key: 'hour',\n placeholder: 'HH',\n placeholders: ['HH', 'H', 'hh', 'h'],\n enabled: false,\n default: 0,\n realValue: () => this.formatService.format(this._editingDateObj(), 'datetime', this._parts.hour.placeholder),\n },\n minute: {\n key: 'minute',\n placeholder: 'mm',\n placeholders: ['mm', 'm'],\n enabled: false,\n default: 0,\n realValue: () => this.formatService.format(this._editingDateObj(), 'datetime', this._parts.minute.placeholder),\n },\n second: {\n key: 'second',\n placeholder: 'ss',\n placeholders: ['ss', 's'],\n enabled: false,\n default: 0,\n realValue: () => this.formatService.format(this._editingDateObj(), 'datetime', this._parts.second.placeholder),\n },\n AMPM: {\n key: 'AMPM',\n placeholder: 'a',\n placeholders: ['a', 'A'],\n enabled: false,\n default: 0,\n typedValue: null,\n realValue: () => this.formatService.format(this._editingDateObj(), 'datetime', this._parts.AMPM.placeholder),\n },\n };\n /**\n * @ignore\n */\n this._activePart = signal('date', ...(ngDevMode ? [{ debugName: \"_activePart\" }] : []));\n // /**\n // * @ignore\n // */\n this._editingDateObj = linkedSignal(() => this.calendarService.now(this.calendar()));\n /**\n * @description The calendar type to use for the datetime input.\n */\n this.calendar = input(null, ...(ngDevMode ? [{ debugName: \"calendar\" }] : []));\n this._calendarSystem = linkedSignal(() => this.calendar() ?? this.type);\n this.picker = input('datetime', ...(ngDevMode ? [{ debugName: \"picker\" }] : []));\n this.#effectPicker = effect(() => {\n if (this.picker() === 'time') {\n this.checkSelectedMinValue(this.calendarService.convert(this.minValue, this.calendar()));\n this.checkSelectedMaxValue(this.calendarService.convert(this.maxValue, this.calendar()));\n this._activePart.set('time');\n }\n else if (this.picker() === 'date') {\n this._activePart.set('date');\n }\n }, ...(ngDevMode ? [{ debugName: \"#effectPicker\" }] : []));\n this._format = linkedSignal(() => this.format() ?? this.localeService.activeProfile().formats[this.picker()]?.short ?? '');\n /**\n * @deprecated use locale & mode instead\n */\n this.format = input(...(ngDevMode ? [undefined, { debugName: \"format\" }] : []));\n this.#effect = effect(() => {\n const profile = this.localeService.activeProfile();\n //\n if (!this.format()) {\n this._format.set(this.format() ?? profile.formats[this.picker()]?.short ?? '');\n }\n //\n if (!this.calendar()) {\n this._calendarSystem.set(profile.calendar.system);\n }\n //\n this.type = this._calendarSystem();\n //\n this._detectParts();\n }, ...(ngDevMode ? [{ debugName: \"#effect\" }] : []));\n }\n /**\n * Determines whether a button for selecting the current time is displayed.\n */\n get currentTimeButton() {\n return this._currentTimeButton;\n }\n /**\n * Sets whether the button for selecting the current time is displayed.\n */\n set currentTimeButton(v) {\n this.setOption({\n name: 'currentTimeButton',\n value: v,\n });\n }\n /**\n * @ignore\n */\n get _hasDatePart() {\n return ['year', 'month', 'day'].some((k) => this._parts[k].enabled);\n }\n /**\n * @ignore\n */\n get _hasTimePart() {\n return ['hour', 'minute', 'second'].some((k) => this._parts[k].enabled);\n }\n #effectPicker;\n #effect;\n /**\n * @ignore\n */\n async ngOnInit() {\n super.ngOnInit();\n this._detectParts();\n }\n /**\n * Handles changes to the internal value of the component.\n * @param value - The new date value. If not provided, defaults to the current date.\n */\n internalValueChanged(value) {\n try {\n if (this.calendarService.isValidDate(value)) {\n this._editingDateObj.set(this.calendarService.create(value, this.calendar()));\n }\n else {\n throw new Error();\n }\n }\n catch {\n this._editingDateObj.set(this.calendarService.now(this.calendar()));\n }\n }\n /**\n * @ignore\n */\n _handleViewChanged(e) {\n this._activePart.set(e.tab.key);\n }\n /**\n * @ignore\n */\n _handlePickerOnValueChanged(e, part) {\n if (e.isUserInteraction) {\n this._editingDateObj.set(this._editingDateObj().set(part, Number(e.value['id'])));\n }\n }\n /**\n * @ignore\n */\n _handleCalendarOnNavigate(e) {\n this.onNavigate.emit(e);\n }\n /**\n * @ignore\n */\n _handleCalendarOnValueChanged(e) {\n if (e.isUserInteraction) {\n const selectedValue = this.calendarService.create(e.value, this.calendar());\n const currentValue = this.calendarService\n .create(e.value, this.calendar())\n .set('day', selectedValue.dayOfMonth)\n .set('month', selectedValue.monthOfYear)\n .set('year', selectedValue.year);\n this._editingDateObj.set(currentValue);\n if (this._hasTimePart) {\n this._activePart.set('time');\n if (this.tabs && this._hasDatePart && this._hasTimePart) {\n this.tabs.select(1);\n }\n else {\n this.commitValue(this._editingDateObj().date, true);\n }\n }\n else {\n this.commitValue(this._editingDateObj().date, true);\n }\n this.checkSelectedMinValue(selectedValue);\n this.checkSelectedMaxValue(selectedValue);\n }\n }\n checkSelectedMinValue(selectedValue) {\n if (!this.minValue)\n return;\n if (!this.calendarService.isValidDate(this.minValue))\n return;\n if (selectedValue.isAfter(this.minValue)) {\n this.pickerHoursMinValue.set(null);\n this.pickerMinuteMinValue.set(null);\n this.pickerSecondMinValue.set(null);\n }\n else {\n const minv = this.calendarService.convert(this.minValue, this.calendar());\n this.pickerHoursMinValue.set(minv.hour);\n this.pickerMinuteMinValue.set(minv.minute);\n this.pickerSecondMinValue.set(minv.second);\n }\n }\n checkSelectedMaxValue(selectedValue) {\n if (!this.maxValue)\n return;\n if (!this.calendarService.isValidDate(this.maxValue))\n return;\n if (selectedValue.isBefore(this.maxValue)) {\n this.pickerHoursMaxValue.set(null);\n this.pickerMinuteMaxValue.set(null);\n this.pickerSecondMaxValue.set(null);\n }\n else {\n const maxv = this.calendarService.convert(this.maxValue, this.calendar());\n this.pickerHoursMaxValue.set(maxv.hour);\n this.pickerMinuteMaxValue.set(maxv.minute);\n this.pickerSecondMaxValue.set(maxv.second);\n }\n }\n /**\n * @ignore\n */\n _detectParts() {\n Object.values(this._parts).forEach((e) => {\n e.enabled = false;\n });\n const formatParts = this._format().split(/[^a-zA-Z]+/);\n formatParts.forEach((f) => {\n const found = Object.values(this._parts).find((c) => c.placeholders.some((d) => d == f));\n if (found) {\n found.enabled = true;\n found.placeholder = f;\n }\n });\n //this.cdr.markForCheck();\n }\n /**\n * @ignore\n */\n _handleSetClick() {\n this.commitValue(this._editingDateObj().date, true);\n this.checkSelectedMinValue(this._editingDateObj());\n this.checkSelectedMaxValue(this._editingDateObj());\n }\n /**\n * @ignore\n */\n _handleNowClick() {\n this._editingDateObj.set(this.calendarService.now(this.calendar()));\n this.commitValue(this._editingDateObj().date, true);\n this.checkSelectedMinValue(this._editingDateObj());\n this.checkSelectedMaxValue(this._editingDateObj());\n }\n /**\n * @ignore\n */\n isDisabled(date) {\n if (Array.isArray(this.disabledDates) && this.disabledDates.length != 0) {\n return this.disabledDates.some((d) => date.equal(d, 'day'));\n }\n else if (typeof this.disabledDates == 'function') {\n return this.disabledDates(date.date);\n }\n return false;\n }\n /**\n * @ignore\n */\n internalSetValue(value) {\n if (!value || !this.calendarService.isValidDate(value)) {\n return null;\n }\n const v = this.calendarService.convert(value, this.calendar());\n this.checkSelectedMinValue(this.calendarService.convert(v, this.calendar()));\n this.checkSelectedMaxValue(this.calendarService.convert(v, this.calendar()));\n if (this.isDisabled(v)) {\n return null;\n }\n if (this.minValue && this.calendarService.isValidDate(this.minValue) && v.isBefore(this.minValue)) {\n return this.minValue;\n }\n if (this.maxValue && this.calendarService.isValidDate(this.maxValue) && v.isAfter(this.maxValue)) {\n return this.maxValue;\n }\n return v.date;\n }\n isTodayDisabled() {\n const disabledDates = this.disabledDates;\n if (!disabledDates || !Array.isArray(disabledDates)) {\n return false;\n }\n const today = new Date();\n today.setHours(0, 0, 0, 0);\n return disabledDates.some((disabledDate) => {\n const disabled = new Date(disabledDate);\n disabled.setHours(0, 0, 0, 0);\n return today.getTime() === disabled.getTime();\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXDateTimePickerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.3\", type: AXDateTimePickerComponent, isStandalone: true, selector: \"ax-datetime-picker\", inputs: { disabled: { classPropertyName: \"disabled\", publicName: \"disabled\", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: \"readonly\", publicName: \"readonly\", isSignal: false, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: \"tabIndex\", publicName: \"tabIndex\", isSignal: false, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: \"placeholder\", publicName: \"placeholder\", isSignal: false, isRequired: false, transformFunction: null }, value: { classPropertyName: \"value\", publicName: \"value\", isSignal: false, isRequired: false, transformFunction: null }, state: { classPropertyName: \"state\", publicName: \"state\", isSignal: false, isRequired: false, transformFunction: null }, name: { classPropertyName: \"name\", publicName: \"name\", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: \"id\", publicName: \"id\", isSignal: false, isRequired: false, transformFunction: null }, depth: { classPropertyName: \"depth\", publicName: \"depth\", isSignal: false, isRequired: false, transformFunction: null }, activeView: { classPropertyName: \"activeView\", publicName: \"activeView\", isSignal: false, isRequired: false, transformFunction: null }, minValue: { classPropertyName: \"minValue\", publicName: \"minValue\", isSignal: false, isRequired: false, transformFunction: null }, maxValue: { classPropertyName: \"maxValue\", publicName: \"maxValue\", isSignal: false, isRequired: false, transformFunction: null }, disabledDates: { classPropertyName: \"disabledDates\", publicName: \"disabledDates\", isSignal: false, isRequired: false, transformFunction: null }, holidayDates: { classPropertyName: \"holidayDates\", publicName: \"holidayDates\", isSignal: false, isRequired: false, transformFunction: null }, type: { classPropertyName: \"type\", publicName: \"type\", isSignal: false, isRequired: false, transformFunction: null }, cellTemplate: { classPropertyName: \"cellTemplate\", publicName: \"cellTemplate\", isSignal: false, isRequired: false, transformFunction: null }, cellClass: { classPropertyName: \"cellClass\", publicName: \"cellClass\", isSignal: false, isRequired: false, transformFunction: null }, showNavigation: { classPropertyName: \"showNavigation\", publicName: \"showNavigation\", isSignal: false, isRequired: false, transformFunction: null }, currentTimeButton: { classPropertyName: \"currentTimeButton\", publicName: \"currentTimeButton\", isSignal: false, isRequired: false, transformFunction: null }, calendar: { classPropertyName: \"calendar\", publicName: \"calendar\", isSignal: true, isRequired: false, transformFunction: null }, picker: { classPropertyName: \"picker\", publicName: \"picker\", isSignal: true, isRequired: false, transformFunction: null }, format: { classPropertyName: \"format\", publicName: \"format\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: \"valueChange\", stateChange: \"stateChange\", onValueChanged: \"onValueChanged\", onBlur: \"onBlur\", onFocus: \"onFocus\", onClick: \"onClick\", readonlyChange: \"readonlyChange\", disabledChange: \"disabledChange\", depthChange: \"depthChange\", typeChange: \"typeChange\", activeViewChange: \"activeViewChange\", disabledDatesChange: \"disabledDatesChange\", holidayDatesChange: \"holidayDatesChange\", onNavigate: \"onNavigate\", onSlotClick: \"onSlotClick\" }, providers: [\n { provide: AXComponent, useExisting: AXDateTimePickerComponent },\n { provide: AXFocusableComponent, useExisting: AXDateTimePickerComponent },\n { provide: AXValuableComponent, useExisting: AXDateTimePickerComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXDateTimePickerComponent),\n multi: true,\n },\n ], viewQueries: [{ propertyName: \"tabs\", first: true, predicate: AXTabsComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: \"@if (_hasDatePart && _hasTimePart) {\\n <div class=\\\"ax-header\\\">\\n <ax-tabs [look]=\\\"'default'\\\" [fitParent]=\\\"true\\\" [location]=\\\"'top'\\\" (onActiveTabChanged)=\\\"_handleViewChanged($event)\\\">\\n <ax-tab-item\\n [text]=\\\"'@acorex:dateTime.date' | translate | async\\\"\\n [key]=\\\"'date'\\\"\\n [disabled]=\\\"disabled\\\"\\n ></ax-tab-item>\\n <ax-tab-item\\n [text]=\\\"'@acorex:dateTime.time' | translate | async\\\"\\n [key]=\\\"'time'\\\"\\n [disabled]=\\\"disabled\\\"\\n ></ax-tab-item>\\n </ax-tabs>\\n </div>\\n}\\n<div class=\\\"ax-content\\\">\\n @if (_activePart() === 'date') {\\n <div class=\\\"ax-calendar-part\\\">\\n <ax-calendar\\n #calendar\\n id=\\\"calendar\\\"\\n [disabled]=\\\"disabled\\\"\\n [readonly]=\\\"readonly\\\"\\n [ngModel]=\\\"_editingDateObj().date\\\"\\n [minValue]=\\\"minValue\\\"\\n [maxValue]=\\\"maxValue\\\"\\n [disabledDates]=\\\"disabledDates\\\"\\n [holidayDates]=\\\"holidayDates\\\"\\n [depth]=\\\"depth\\\"\\n (onNavigate)=\\\"_handleCalendarOnNavigate($event)\\\"\\n (onValueChanged)=\\\"_handleCalendarOnValueChanged($event)\\\"\\n [type]=\\\"_calendarSystem()\\\"\\n >\\n </ax-calendar>\\n </div>\\n }\\n\\n @if (_activePart() === 'time') {\\n <div class=\\\"ax-picker-part\\\">\\n <div class=\\\"ax-header\\\">\\n {{ _editingDateObj() | format: picker() : 'short' | async }}\\n </div>\\n <div dir=\\\"ltr\\\" class=\\\"ax-picker-time-container\\\">\\n @if (_parts.hour.enabled) {\\n <ng-container [ngTemplateOutlet]=\\\"hourRef\\\"> </ng-container>\\n }\\n\\n @if (_parts.minute.enabled) {\\n <ng-container [ngTemplateOutlet]=\\\"minuteRef\\\"> </ng-container>\\n }\\n\\n @if (_parts.second.enabled) {\\n <ng-container [ngTemplateOutlet]=\\\"secondRef\\\"> </ng-container>\\n }\\n </div>\\n </div>\\n }\\n</div>\\n@if (!disabled && !readonly && (currentTimeButton || _hasTimePart)) {\\n <div class=\\\"ax-footer\\\">\\n <div>\\n @if (currentTimeButton) {\\n <ax-button\\n [text]=\\\"`@acorex:${buttonText()}` | translate | async\\\"\\n class=\\\"ax-sm\\\"\\n (onClick)=\\\"_handleNowClick()\\\"\\n [disabled]=\\\"isTodayDisabled()\\\"\\n ></ax-button>\\n }\\n </div>\\n <div>\\n @if (_hasTimePart) {\\n <ax-button\\n color=\\\"primary\\\"\\n [text]=\\\"'@acorex:dateTime.set' | translate | async\\\"\\n class=\\\"ax-sm\\\"\\n (onClick)=\\\"_handleSetClick()\\\"\\n ></ax-button>\\n }\\n </div>\\n </div>\\n}\\n\\n<ng-template #hourRef>\\n <ax-picker-container>\\n <ax-picker-title>\\n <ax-text>{{ '@acorex:dateTime.units.hour' | translate | async }}</ax-text>\\n </ax-picker-title>\\n <ax-picker-items\\n [items]=\\\"hours\\\"\\n [ngModel]=\\\"_editingDateObj().hour\\\"\\n (onValueChanged)=\\\"_handlePickerOnValueChanged($event, 'hour')\\\"\\n [disabled]=\\\"disabled\\\"\\n [readonly]=\\\"readonly\\\"\\n [minValue]=\\\"pickerHoursMinValue()\\\"\\n [maxValue]=\\\"pickerHoursMaxValue()\\\"\\n ></ax-picker-items>\\n </ax-picker-container>\\n</ng-template>\\n\\n<ng-template #minuteRef>\\n <ax-picker-container>\\n <ax-picker-title>\\n <ax-text>{{ '@acorex:dateTime.units.minute' | translate | async }}</ax-text>\\n </ax-picker-title>\\n <ax-picker-items\\n [items]=\\\"minutes\\\"\\n [ngModel]=\\\"_editingDateObj().minute\\\"\\n (onValueChanged)=\\\"_handlePickerOnValueChanged($event, 'minute')\\\"\\n [disabled]=\\\"disabled\\\"\\n [readonly]=\\\"readonly\\\"\\n [minValue]=\\\"pickerMinuteMinValue()\\\"\\n [maxValue]=\\\"pickerMinuteMaxValue()\\\"\\n ></ax-picker-items>\\n </ax-picker-container>\\n</ng-template>\\n\\n<ng-template #secondRef>\\n <ax-picker-container>\\n <ax-picker-title>\\n <ax-text>{{ '@acorex:dateTime.units.second' | translate | async }}</ax-text>\\n </ax-picker-title>\\n <ax-picker-items\\n [items]=\\\"minutes\\\"\\n [ngModel]=\\\"_editingDateObj().second\\\"\\n (onValueChanged)=\\\"_handlePickerOnValueChanged($event, 'second')\\\"\\n [disabled]=\\\"disabled\\\"\\n [readonly]=\\\"readonly\\\"\\n [minValue]=\\\"pickerSecondMinValue()\\\"\\n [maxValue]=\\\"pickerSecondMaxValue()\\\"\\n ></ax-picker-items>\\n </ax-picker-container>\\n</ng-template>\\n\", styles: [\"ax-datetime-picker{display:flex;flex-direction:column}ax-datetime-picker>.ax-header{display:flex;justify-content:center;padding-top:var(--ax-comp-datetime-picker-header-padding-t, .5rem);padding-left:var(--ax-comp-datetime-picker-header-padding-x, .5rem);padding-right:var(--ax-comp-datetime-picker-header-padding-x, .5rem)}ax-datetime-picker>.ax-content{width:100%;overflow:hidden;display:flex;flex-direction:column;justify-content:center;align-items:center}@media (min-width: 768px){ax-datetime-picker>.ax-content{width:var(--ax-comp-datetime-picker-md-width, 20rem)}}ax-datetime-picker>.ax-content .ax-picker-part{width:100%;display:flex;flex-direction:column;height:var(--ax-comp-datetime-picker-picker-part-height, 376px)}ax-datetime-picker>.ax-content .ax-picker-part .ax-picker-time-container{display:flex;height:100%}ax-datetime-picker>.ax-content .ax-picker-part>.ax-header{font-weight:500;text-align:center;padding:var(--ax-comp-datetime-picker-picker-part-header-padding, .75rem);font-size:var(--ax-comp-datetime-picker-picker-part-header-font-size, 1rem);border-bottom:solid;border-bottom-width:var(--ax-comp-datetime-picker-picker-part-header-border-width, 1px);border-bottom-color:rgba(var(--ax-comp-datetime-picker-picker-part-header-border-color, var(--ax-sys-color-border-surface)))}ax-datetime-picker>.ax-content .ax-picker-part ax-picker{flex:1 1 0%}ax-datetime-picker>.ax-content .ax-calendar-part{width:100%;padding-top:var(--ax-comp-datetime-picker-calendar-part-padding, .25rem);padding-bottom:var(--ax-comp-datetime-picker-calendar-part-padding, .25rem)}ax-datetime-picker>.ax-content .ax-calendar-part ax-calendar{width:100%}ax-datetime-picker>.ax-footer{display:flex;justify-content:space-between;padding:var(--ax-comp-datetime-picker-footer-padding, .5rem);border-color:rgba(var(--ax-comp-datetime-picker-footer-border-color, var(--ax-sys-color-border-surface)));border-top-width:var(--ax-comp-datetime-picker-footer-border-top-width, 1px)}ax-datetime-picker>.ax-footer ax-button{min-width:100px}\\n\"], dependencies: [{ kind: \"component\", type: AXTabsComponent, selector: \"ax-tabs\", inputs: [\"look\", \"location\", \"fitParent\", \"minWidth\", \"content\"], outputs: [\"onActiveTabChanged\"] }, { kind: \"component\", type: AXTabItemComponent, selector: \"ax-tab-item\", inputs: [\"disabled\", \"text\", \"key\", \"headerTemplate\", \"active\"], outputs: [\"disabledChange\", \"onClick\", \"onBlur\", \"onFocus\", \"activeChange\"] }, { kind: \"component\", type: AXCalendarComponent, selector: \"ax-calendar\", inputs: [\"rtl\", \"readonly\", \"value\", \"name\", \"disabled\", \"depth\", \"activeView\", \"minValue\", \"maxValue\", \"disabledDates\", \"holidayDates\", \"type\", \"cellTemplate\", \"cellClass\", \"showNavigation\", \"count\", \"id\"], outputs: [\"onOptionChanged\", \"valueChange\", \"onValueChanged\", \"minValueChange\", \"maxValueChange\", \"onBlur\", \"onFocus\", \"depthChange\", \"typeChange\", \"activeViewChange\", \"disabledDatesChange\", \"holidayDatesChange\", \"onNavigate\", \"onSlotClick\", \"countChange\"] }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i1.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"component\", type: AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }, { kind: \"component\", type: AXPickerContainerComponent, selector: \"ax-picker-container\", inputs: [\"class\"] }, { kind: \"component\", type: AXPickerTitleComponent, selector: \"ax-picker-title\" }, { kind: \"component\", type: AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"component\", type: AXPickerItemsComponent, selector: \"ax-picker-items\", inputs: [\"disabled\", \"readonly\", \"readonlyChange\", \"disabledChange\", \"items\", \"valueField\", \"textField\", \"slidesPerGroup\", \"loop\", \"minValue\", \"maxValue\"], outputs: [\"onValueChanged\"] }, { kind: \"pipe\", type: AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: AXFormatPipe, name: \"format\" }, { kind: \"pipe\", type: AXTranslatorPipe, name: \"translate\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXDateTimePickerComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-datetime-picker', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, inputs: [\n 'disabled',\n 'readonly',\n 'tabIndex',\n 'placeholder',\n 'value',\n 'state',\n 'name',\n 'id',\n 'depth',\n 'activeView',\n 'minValue',\n 'maxValue',\n 'disabledDates',\n 'holidayDates',\n 'type',\n 'cellTemplate',\n 'cellClass',\n 'showNavigation',\n ], outputs: [\n 'valueChange',\n 'stateChange',\n 'onValueChanged',\n 'onBlur',\n 'onFocus',\n 'onClick',\n 'readonlyChange',\n 'disabledChange',\n 'depthChange',\n 'typeChange',\n 'activeViewChange',\n 'disabledDatesChange',\n 'holidayDatesChange',\n 'onNavigate',\n 'onSlotClick',\n ], providers: [\n { provide: AXComponent, useExisting: AXDateTimePickerComponent },\n { provide: AXFocusableComponent, useExisting: AXDateTimePickerComponent },\n { provide: AXValuableComponent, useExisting: AXDateTimePickerComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXDateTimePickerComponent),\n multi: true,\n },\n ], imports: [\n AXTabsComponent,\n AXTabItemComponent,\n AXCalendarComponent,\n FormsModule,\n NgTemplateOutlet,\n AXButtonComponent,\n AXPickerContainerComponent,\n AXPickerTitleComponent,\n AXDecoratorGenericComponent,\n AXPickerItemsComponent,\n AsyncPipe,\n AXFormatPipe,\n AXTranslatorPipe,\n ], template: \"@if (_hasDatePart && _hasTimePart) {\\n <div class=\\\"ax-header\\\">\\n <ax-tabs [look]=\\\"'default'\\\" [fitParent]=\\\"true\\\" [location]=\\\"'top'\\\" (onActiveTabChanged)=\\\"_handleViewChanged($event)\\\">\\n <ax-tab-item\\n [text]=\\\"'@acorex:dateTime.date' | translate | async\\\"\\n [key]=\\\"'date'\\\"\\n [disabled]=\\\"disabled\\\"\\n ></ax-tab-item>\\n <ax-tab-item\\n [text]=\\\"'@acorex:dateTime.time' | translate | async\\\"\\n [key]=\\\"'time'\\\"\\n [disabled]=\\\"disabled\\\"\\n ></ax-tab-item>\\n </ax-tabs>\\n </div>\\n}\\n<div class=\\\"ax-content\\\">\\n @if (_activePart() === 'date') {\\n <div class=\\\"ax-calendar-part\\\">\\n <ax-calendar\\n #calendar\\n id=\\\"calendar\\\"\\n [disabled]=\\\"disabled\\\"\\n [readonly]=\\\"readonly\\\"\\n [ngModel]=\\\"_editingDateObj().date\\\"\\n [minValue]=\\\"minValue\\\"\\n [maxValue]=\\\"maxValue\\\"\\n [disabledDates]=\\\"disabledDates\\\"\\n [holidayDates]=\\\"holidayDates\\\"\\n [depth]=\\\"depth\\\"\\n (onNavigate)=\\\"_handleCalendarOnNavigate($event)\\\"\\n (onValueChanged)=\\\"_handleCalendarOnValueChanged($event)\\\"\\n [type]=\\\"_calendarSystem()\\\"\\n >\\n </ax-calendar>\\n </div>\\n }\\n\\n @if (_activePart() === 'time') {\\n <div class=\\\"ax-picker-part\\\">\\n <div class=\\\"ax-header\\\">\\n {{ _editingDateObj() | format: picker() : 'short' | async }}\\n </div>\\n <div dir=\\\"ltr\\\" class=\\\"ax-picker-time-container\\\">\\n @if (_parts.hour.enabled) {\\n <ng-container [ngTemplateOutlet]=\\\"hourRef\\\"> </ng-container>\\n }\\n\\n @if (_parts.minute.enabled) {\\n <ng-container [ngTemplateOutlet]=\\\"minuteRef\\\"> </ng-container>\\n }\\n\\n @if (_parts.second.enabled) {\\n <ng-container [ngTemplateOutlet]=\\\"secondRef\\\"> </ng-container>\\n }\\n </div>\\n </div>\\n }\\n</div>\\n@if (!disabled && !readonly && (currentTimeButton || _hasTimePart)) {\\n <div class=\\\"ax-footer\\\">\\n <div>\\n @if (currentTimeButton) {\\n <ax-button\\n [text]=\\\"`@acorex:${buttonText()}` | translate | async\\\"\\n class=\\\"ax-sm\\\"\\n (onClick)=\\\"_handleNowClick()\\\"\\n [disabled]=\\\"isTodayDisabled()\\\"\\n ></ax-button>\\n }\\n </div>\\n <div>\\n @if (_hasTimePart) {\\n <ax-button\\n color=\\\"primary\\\"\\n [text]=\\\"'@acorex:dateTime.set' | translate | async\\\"\\n class=\\\"ax-sm\\\"\\n (onClick)=\\\"_handleSetClick()\\\"\\n ></ax-button>\\n }\\n </div>\\n </div>\\n}\\n\\n<ng-template #hourRef>\\n <ax-picker-container>\\n <ax-picker-title>\\n <ax-text>{{ '@acorex:dateTime.units.hour' | translate | async }}</ax-text>\\n </ax-picker-title>\\n <ax-picker-items\\n [items]=\\\"hours\\\"\\n [ngModel]=\\\"_editingDateObj().hour\\\"\\n (onValueChanged)=\\\"_handlePickerOnValueChanged($event, 'hour')\\\"\\n [disabled]=\\\"disabled\\\"\\n [readonly]=\\\"readonly\\\"\\n [minValue]=\\\"pickerHoursMinValue()\\\"\\n [maxValue]=\\\"pickerHoursMaxValue()\\\"\\n ></ax-picker-items>\\n </ax-picker-container>\\n</ng-template>\\n\\n<ng-template #minuteRef>\\n <ax-picker-container>\\n <ax-picker-title>\\n <ax-text>{{ '@acorex:dateTime.units.minute' | translate | async }}</ax-text>\\n </ax-picker-title>\\n <ax-picker-items\\n [items]=\\\"minutes\\\"\\n [ngModel]=\\\"_editingDateObj().minute\\\"\\n (onValueChanged)=\\\"_handlePickerOnValueChanged($event, 'minute')\\\"\\n [disabled]=\\\"disabled\\\"\\n [readonly]=\\\"readonly\\\"\\n [minValue]=\\\"pickerMinuteMinValue()\\\"\\n [maxValue]=\\\"pickerMinuteMaxValue()\\\"\\n ></ax-picker-items>\\n </ax-picker-container>\\n</ng-template>\\n\\n<ng-template #secondRef>\\n <ax-picker-container>\\n <ax-picker-title>\\n <ax-text>{{ '@acorex:dateTime.units.second' | translate | async }}</ax-text>\\n </ax-picker-title>\\n <ax-picker-items\\n [items]=\\\"minutes\\\"\\n [ngModel]=\\\"_editingDateObj().second\\\"\\n (onValueChanged)=\\\"_handlePickerOnValueChanged($event, 'second')\\\"\\n [disabled]=\\\"disabled\\\"\\n [readonly]=\\\"readonly\\\"\\n [minValue]=\\\"pickerSecondMinValue()\\\"\\n [maxValue]=\\\"pickerSecondMaxValue()\\\"\\n ></ax-picker-items>\\n </ax-picker-container>\\n</ng-template>\\n\", styles: [\"ax-datetime-picker{display:flex;flex-direction:column}ax-datetime-picker>.ax-header{display:flex;justify-content:center;padding-top:var(--ax-comp-datetime-picker-header-padding-t, .5rem);padding-left:var(--ax-comp-datetime-picker-header-padding-x, .5rem);padding-right:var(--ax-comp-datetime-picker-header-padding-x, .5rem)}ax-datetime-picker>.ax-content{width:100%;overflow:hidden;display:flex;flex-direction:column;justify-content:center;align-items:center}@media (min-width: 768px){ax-datetime-picker>.ax-content{width:var(--ax-comp-datetime-picker-md-width, 20rem)}}ax-datetime-picker>.ax-content .ax-picker-part{width:100%;display:flex;flex-direction:column;height:var(--ax-comp-datetime-picker-picker-part-height, 376px)}ax-datetime-picker>.ax-content .ax-picker-part .ax-picker-time-container{display:flex;height:100%}ax-datetime-picker>.ax-content .ax-picker-part>.ax-header{font-weight:500;text-align:center;padding:var(--ax-comp-datetime-picker-picker-part-header-padding, .75rem);font-size:var(--ax-comp-datetime-picker-picker-part-header-font-size, 1rem);border-bottom:solid;border-bottom-width:var(--ax-comp-datetime-picker-picker-part-header-border-width, 1px);border-bottom-color:rgba(var(--ax-comp-datetime-picker-picker-part-header-border-color, var(--ax-sys-color-border-surface)))}ax-datetime-picker>.ax-content .ax-picker-part ax-picker{flex:1 1 0%}ax-datetime-picker>.ax-content .ax-calendar-part{width:100%;padding-top:var(--ax-comp-datetime-picker-calendar-part-padding, .25rem);padding-bottom:var(--ax-comp-datetime-picker-calendar-part-padding, .25rem)}ax-datetime-picker>.ax-content .ax-calendar-part ax-calendar{width:100%}ax-datetime-picker>.ax-footer{display:flex;justify-content:space-between;padding:var(--ax-comp-datetime-picker-footer-padding, .5rem);border-color:rgba(var(--ax-comp-datetime-picker-footer-border-color, var(--ax-sys-color-border-surface)));border-top-width:var(--ax-comp-datetime-picker-footer-border-top-width, 1px)}ax-datetime-picker>.ax-footer ax-button{min-width:100px}\\n\"] }]\n }], propDecorators: { currentTimeButton: [{\n type: Input\n }], tabs: [{\n type: ViewChild,\n args: [AXTabsComponent]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUtcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvZGF0ZXRpbWUtcGlja2VyL3NyYy9saWIvZGF0ZXRpbWUtcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvZGF0ZXRpbWUtcGlja2VyL3NyYy9saWIvZGF0ZXRpbWUtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxXQUFXLEVBQ1gsb0JBQW9CLEVBQ3BCLG1CQUFtQixFQUVuQixnQkFBZ0IsR0FDakIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQ0wsbUJBQW1CLEVBR25CLHVCQUF1QixHQUN4QixNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzVFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxzQkFBc0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZILE9BQU8sRUFBRSxrQkFBa0IsRUFBMEIsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFdEcsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUVMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsUUFBUSxFQUNSLE1BQU0sRUFDTixVQUFVLEVBQ1Ys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QVM7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFYQ29tcG9uZW50LFxuICBBWEZvY3VzYWJsZUNvbXBvbmVudCxcbiAgQVhWYWx1YWJsZUNvbXBvbmVudCxcbiAgQVhWYWx1ZUNoYW5nZWRFdmVudCxcbiAgTVhWYWx1ZUNvbXBvbmVudCxcbn0gZnJvbSAnQGFjb3JleC9jZGsvY29tbW9uJztcbmltcG9ydCB7IEFYQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQge1xuICBBWENhbGVuZGFyQ29tcG9uZW50LFxuICBBWENhbGVuZGFyTmF2aWdhdGVFdmVudCxcbiAgQVhEYXRlVGltZVBpY2tlclR5cGUsXG4gIE1YQ2FsZW5kYXJCYXNlQ29tcG9uZW50LFxufSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY2FsZW5kYXInO1xuaW1wb3J0IHsgQVhEZWNvcmF0b3JHZW5lcmljQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhQaWNrZXJDb250YWluZXJDb21wb25lbnQsIEFYUGlja2VySXRlbXNDb21wb25lbnQsIEFYUGlja2VyVGl0bGVDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvcGlja2VyJztcbmltcG9ydCB7IEFYVGFiSXRlbUNvbXBvbmVudCwgQVhUYWJTdHJpcENoYW5nZWRFdmVudCwgQVhUYWJzQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3RhYnMnO1xuaW1wb3J0IHsgQVhEYXRlVGltZSwgQVhEYXRlVGltZVBhcnRzLCBUaW1lVW5pdCB9IGZyb20gJ0BhY29yZXgvY29yZS9kYXRlLXRpbWUnO1xuaW1wb3J0IHsgQVhGb3JtYXRQaXBlLCBBWEZvcm1hdFNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvcmUvZm9ybWF0JztcbmltcG9ydCB7IEFYVHJhbnNsYXRvclBpcGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGNvbXB1dGVkLFxuICBlZmZlY3QsXG4gIGZvcndhcmRSZWYsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIGxpbmtlZFNpZ25hbCxcbiAgc2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGNsYXNzZXMgfSBmcm9tICdwb2x5dHlwZSc7XG5pbXBvcnQgeyBBWERhdGVUaW1lUGlja2VyQ29uZmlnLCBBWF9EQVRFVElNRV9QSUNLRVJfQ09ORklHIH0gZnJvbSAnLi9kYXRldGltZS1waWNrZXIuY29uZmlnJztcblxuLyoqXG4gKiBhbGxvd3MgdXNlcnMgdG8gc2VsZWN0IGEgZGF0ZSBhbmQgdGltZSBmcm9tIGEgY2FsZW5kYXIgYW5kIHRpbWUgcGlja2VyIGludGVyZmFjZS5cbiAqXG4gKiBAY2F0ZWdvcnkgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1kYXRldGltZS1waWNrZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0ZXRpbWUtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0ZXRpbWUtcGlja2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBpbnB1dHM6IFtcbiAgICAnZGlzYWJsZWQnLFxuICAgICdyZWFkb25seScsXG4gICAgJ3RhYkluZGV4JyxcbiAgICAncGxhY2Vob2xkZXInLFxuICAgICd2YWx1ZScsXG4gICAgJ3N0YXRlJyxcbiAgICAnbmFtZScsXG4gICAgJ2lkJyxcbiAgICAnZGVwdGgnLFxuICAgICdhY3RpdmVWaWV3JyxcbiAgICAnbWluVmFsdWUnLFxuICAgICdtYXhWYWx1ZScsXG4gICAgJ2Rpc2FibGVkRGF0ZXMnLFxuICAgICdob2xpZGF5RGF0ZXMnLFxuICAgICd0eXBlJyxcbiAgICAnY2VsbFRlbXBsYXRlJyxcbiAgICAnY2VsbENsYXNzJyxcbiAgICAnc2hvd05hdmlnYXRpb24nLFxuICBdLFxuICBvdXRwdXRzOiBbXG4gICAgJ3ZhbHVlQ2hhbmdlJyxcbiAgICAnc3RhdGVDaGFuZ2UnLFxuICAgICdvblZhbHVlQ2hhbmdlZCcsXG4gICAgJ29uQmx1cicsXG4gICAgJ29uRm9jdXMnLFxuICAgICdvbkNsaWNrJyxcbiAgICAncmVhZG9ubHlDaGFuZ2UnLFxuICAgICdkaXNhYmxlZENoYW5nZScsXG4gICAgJ2RlcHRoQ2hhbmdlJyxcbiAgICAndHlwZUNoYW5nZScsXG4gICAgJ2FjdGl2ZVZpZXdDaGFuZ2UnLFxuICAgICdkaXNhYmxlZERhdGVzQ2hhbmdlJyxcbiAgICAnaG9saWRheURhdGVzQ2hhbmdlJyxcbiAgICAnb25OYXZpZ2F0ZScsXG4gICAgJ29uU2xvdENsaWNrJyxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBBWENvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYRGF0ZVRpbWVQaWNrZXJDb21wb25lbnQgfSxcbiAgICB7IHByb3ZpZGU6IEFYRm9jdXNhYmxlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhEYXRlVGltZVBpY2tlckNvbXBvbmVudCB9LFxuICAgIHsgcHJvdmlkZTogQVhWYWx1YWJsZUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYRGF0ZVRpbWVQaWNrZXJDb21wb25lbnQgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEFYRGF0ZVRpbWVQaWNrZXJDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIEFYVGFic0NvbXBvbmVudCxcbiAgICBBWFRhYkl0ZW1Db21wb25lbnQsXG4gICAgQVhDYWxlbmRhckNvbXBvbmVudCxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgIEFYQnV0dG9uQ29tcG9uZW50LFxuICAgIEFYUGlja2VyQ29udGFpbmVyQ29tcG9uZW50LFxuICAgIEFYUGlja2VyVGl0bGVDb21wb25lbnQsXG4gICAgQVhEZWNvcmF0b3JHZW5lcmljQ29tcG9uZW50LFxuICAgIEFYUGlja2VySXRlbXNDb21wb25lbnQsXG4gICAgQXN5bmNQaXBlLFxuICAgIEFYRm9ybWF0UGlwZSxcbiAgICBBWFRyYW5zbGF0b3JQaXBlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWERhdGVUaW1lUGlja2VyQ29tcG9uZW50XG4gIGV4dGVuZHMgY2xhc3NlcyhNWENhbGVuZGFyQmFzZUNvbXBvbmVudCwgTVhWYWx1ZUNvbXBvbmVudDxEYXRlPilcbiAgaW1wbGVtZW50cyBPbkluaXRcbntcbiAgcHJpdmF0ZSBmb3JtYXRTZXJ2aWNlID0gaW5qZWN0KEFYRm9ybWF0U2VydmljZSk7XG5cbiAgcHJvdGVjdGVkIGJ1dHRvblRleHQgPSBjb21wdXRlZCgoKSA9PiAodGhpcy5fYWN0aXZlUGFydCgpID09PSAnZGF0ZScgPyAnZGF0ZVRpbWUudG9kYXknIDogJ2RhdGVUaW1lLm5vdycpKTtcblxuICBwcml2YXRlIGRlZmF1bHRDb25maWc6IEFYRGF0ZVRpbWVQaWNrZXJDb25maWcgPSBpbmplY3QoQVhfREFURVRJTUVfUElDS0VSX0NPTkZJRyk7XG5cbiAgcHJvdGVjdGVkIHBpY2tlckhvdXJzTWluVmFsdWUgPSBzaWduYWw8bnVtYmVyPihudWxsKTtcbiAgcHJvdGVjdGVkIHBpY2tlckhvdXJzTWF4VmFsdWUgPSBzaWduYWw8bnVtYmVyPihudWxsKTtcbiAgcHJvdGVjdGVkIHBpY2tlck1pbnV0ZU1pblZhbHVlID0gc2lnbmFsPG51bWJlcj4obnVsbCk7XG4gIHByb3RlY3RlZCBwaWNrZXJNaW51dGVNYXhWYWx1ZSA9IHNpZ25hbDxudW1iZXI+KG51bGwpO1xuICBwcm90ZWN0ZWQgcGlja2VyU2Vjb25kTWluVmFsdWUgPSBzaWduYWw8bnVtYmVyPihudWxsKTtcbiAgcHJvdGVjdGVkIHBpY2tlclNlY29uZE1heFZhbHVlID0gc2lnbmFsPG51bWJlcj4obnVsbCk7XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcml2YXRlIF9jdXJyZW50VGltZUJ1dHRvbjogYm9vbGVhbiA9IHRoaXMuZGVmYXVsdENvbmZpZy5jdXJyZW50VGltZUJ1dHRvbjtcblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyB3aGV0aGVyIGEgYnV0dG9uIGZvciBzZWxlY3RpbmcgdGhlIGN1cnJlbnQgdGltZSBpcyBkaXNwbGF5ZWQuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IGN1cnJlbnRUaW1lQnV0dG9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9jdXJyZW50VGltZUJ1dHRvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHdoZXRoZXIgdGhlIGJ1dHRvbiBmb3Igc2VsZWN0aW5nIHRoZSBjdXJyZW50IHRpbWUgaXMgZGlzcGxheWVkLlxuICAgKi9cbiAgcHVibGljIHNldCBjdXJyZW50VGltZUJ1dHRvbih2OiBib29sZWFuKSB7XG4gICAgdGhpcy5zZXRPcHRpb24oe1xuICAgICAgbmFtZTogJ2N1cnJlbnRUaW1lQnV0dG9uJyxcbiAgICAgIHZhbHVlOiB2LFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBAVmlld0NoaWxkKEFYVGFic0NvbXBvbmVudClcbiAgcHJvdGVjdGVkIHRhYnM6IEFYVGFic0NvbXBvbmVudDtcblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBob3VyczogYW55W10gPSBBcnJheSgyNClcbiAgICAuZmlsbCgwKVxuICAgIC5tYXAoKG0sIGkpID0+ICh7IGlkOiBpLCB0ZXh0OiBpIH0pKTtcbiAgbWludXRlczogYW55W10gPSBBcnJheSg2MClcbiAgICAuZmlsbCgwKVxuICAgIC5tYXAoKG0sIGkpID0+ICh7IGlkOiBpLCB0ZXh0OiBpIH0pKTtcblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBfcGFydHM6IEFYRGF0ZVRpbWVQYXJ0cyA9IHtcbiAgICB5ZWFyOiB7XG4gICAgICBrZXk6ICd5ZWFyJyxcbiAgICAgIHBsYWNlaG9sZGVyOiAneXl5eScsXG4gICAgICBwbGFjZWhvbGRlcnM6IFsnWVknLCAneXknLCAnWVlZWScsICd5eXl5J10sXG4gICAgICBlbmFibGVkOiBmYWxzZSxcbiAgICAgIGRlZmF1bHQ6IDIwMjMsXG4gICAgICByZWFsVmFsdWU6ICgpID0+XG4gICAgICAgIHRoaXMuZm9ybWF0U2VydmljZS5mb3JtYXQodGhpcy5fZWRpdGluZ0RhdGVPYmooKSwgJ2RhdGV0aW1lJywgdGhpcy5fcGFydHMueWVhci5wbGFjZWhvbGRlciBhcyBhbnkpLFxuICAgIH0sXG4gICAgbW9udGg6IHtcbiAgICAgIGtleTogJ21vbnRoJyxcbiAgICAgIHBsYWNlaG9sZGVyOiAnTU0nLFxuICAgICAgcGxhY2Vob2xkZXJzOiBbJ01NTScsICdNTU1NJywgJ01NJywgJ00nXSxcbiAgICAgIGVuYWJsZWQ6IGZhbHNlLFxuICAgICAgZGVmYXVsdDogMSxcbiAgICAgIHJlYWxWYWx1ZTogKCkgPT5cbiAgICAgICAgdGhpcy5mb3JtYXRTZXJ2aWNlLmZvcm1hdCh0aGlzLl9lZGl0aW5nRGF0ZU9iaigpLCAnZGF0ZXRpbWUnLCB0aGlzLl9wYXJ0cy5tb250aC5wbGFjZWhvbGRlciBhcyBhbnkpLFxuICAgIH0sXG4gICAgZGF5OiB7XG4gICAgICBrZXk6ICdkYXknLFxuICAgICAgcGxhY2Vob2xkZXI6ICdkZCcsXG4gICAgICBwbGFjZWhvbGRlcnM6IFsnZGQnLCAnZCcsICdFJywgJ2RkZGQnXSxcbiAgICAgIGVuYWJsZWQ6IGZhbHNlLFxuICAgICAgZGVmYXVsdDogMSxcbiAgICAgIHJlYWxWYWx1ZTogKCkgPT5cbiAgICAgICAgdGhpcy5mb3JtYXRTZXJ2aWNlLmZvcm1hdCh0aGlzLl9lZGl0aW5nRGF0ZU9iaigpLCAnZGF0ZXRpbWUnLCB0aGlzLl9wYXJ0cy5kYXkucGxhY2Vob2xkZXIgYXMgYW55KSxcbiAgICB9LFxuICAgIGhvdXI6IHtcbiAgICAgIGtleTogJ2hvdXInLFxuICAgICAgcGxhY2Vob2xkZXI6ICdISCcsXG4gICAgICBwbGFjZWhvbGRlcnM6IFsnSEgnLCAnSCcsICdoaCcsICdoJ10sXG4gICAgICBlbmFibGVkOiBmYWxzZSxcbiAgICAgIGRlZmF1bHQ6IDAsXG4gICAgICByZWFsVmFsdWU6ICgpID0+XG4gICAgICAgIHRoaXMuZm9ybWF0U2VydmljZS5mb3JtYXQodGhpcy5fZWRpdGluZ0RhdGVPYmooKSwgJ2RhdGV0aW1lJywgdGhpcy5fcGFydHMuaG91ci5wbGFjZWhvbGRlciBhcyBhbnkpLFxuICAgIH0sXG4gICAgbWludXRlOiB7XG4gICAgICBrZXk6ICdtaW51dGUnLFxuICAgICAgcGxhY2Vob2xkZXI6ICdtbScsXG4gICAgICBwbGFjZWhvbGRlcnM6IFsnbW0nLCAnbSddLFxuICAgICAgZW5hYmxlZDogZmFsc2UsXG4gICAgICBkZWZhdWx0OiAwLFxuICAgICAgcmVhbFZhbHVlOiAoKSA9PlxuICAgICAgICB0aGlzLmZvcm1hdFNlcnZpY2UuZm9ybWF0KHRoaXMuX2VkaXRpbmdEYXRlT2JqKCksICdkYXRldGltZScsIHRoaXMuX3BhcnRzLm1pbnV0ZS5wbGFjZWhvbGRlciBhcyBhbnkpLFxuICAgIH0sXG4gICAgc2Vjb25kOiB7XG4gICAgICBrZXk6ICdzZWNvbmQnLFxuICAgICAgcGxhY2Vob2xkZXI6ICdzcycsXG4gICAgICBwbGFjZWhvbGRlcnM6IFsnc3MnLCAncyddLFxuICAgICAgZW5hYmxlZDogZmFsc2UsXG4gICAgICBkZWZhdWx0OiAwLFxuICAgICAgcmVhbFZhbHVlOiAoKSA9PlxuICAgICAgICB0aGlzLmZvcm1hdFNlcnZpY2UuZm9ybWF0KHRoaXMuX2VkaXRpbmdEYXRlT2JqKCksICdkYXRldGltZScsIHRoaXMuX3BhcnRzLnNlY29uZC5wbGFjZWhvbGRlciBhcyBhbnkpLFxuICAgIH0sXG4gICAgQU1QTToge1xuICAgICAga2V5OiAnQU1QTScsXG4gICAgICBwbGFjZWhvbGRlcjogJ2EnLFxuICAgICAgcGxhY2Vob2xkZXJzOiBbJ2EnLCAnQSddLFxuICAgICAgZW5hYmxlZDogZmFsc2UsXG4gICAgICBkZWZhdWx0OiAwLFxuICAgICAgdHlwZWRWYWx1ZTogbnVsbCxcbiAgICAgIHJlYWxWYWx1ZTogKCkgPT5cbiAgICAgICAgdGhpcy5mb3JtYXRTZXJ2aWNlLmZvcm1hdCh0aGlzLl9lZGl0aW5nRGF0ZU9iaigpLCAnZGF0ZXRpbWUnLCB0aGlzLl9wYXJ0cy5BTVBNLnBsYWNlaG9sZGVyIGFzIGFueSksXG4gICAgfSxcbiAgfTtcblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBfYWN0aXZlUGFydCA9IHNpZ25hbDwnZGF0ZScgfCAndGltZSc+KCdkYXRlJyk7XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0IF9oYXNEYXRlUGFydCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gWyd5ZWFyJywgJ21vbnRoJywgJ2RheSddLnNvbWUoKGspID0+IHRoaXMuX3BhcnRzW2tdLmVuYWJsZWQpO1xuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0IF9oYXNUaW1lUGFydCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gWydob3VyJywgJ21pbnV0ZScsICdzZWNvbmQnXS5zb21lKChrKSA9PiB0aGlzLl9wYXJ0c1trXS5lbmFibGVkKTtcbiAgfVxuXG4gIC8vIC8qKlxuICAvLyAgKiAgQGlnbm9yZVxuICAvLyAgKi9cbiAgcHJvdGVjdGVkIF9lZGl0aW5nRGF0ZU9iaiA9IGxpbmtlZFNpZ25hbDxBWERhdGVUaW1lPigoKSA9PiB0aGlzLmNhbGVuZGFyU2VydmljZS5ub3codGhpcy5jYWxlbmRhcigpKSk7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBUaGUgY2FsZW5kYXIgdHlwZSB0byB1c2UgZm9yIHRoZSBkYXRldGltZSBpbnB1dC5cbiAgICovXG4gIGNhbGVuZGFyID0gaW5wdXQ8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG5cbiAgcHJvdGVjdGVkIF9jYWxlbmRhclN5c3RlbSA9IGxpbmtlZFNpZ25hbDxzdHJpbmcgfCBudWxsPigoKSA9PiB0aGlzLmNhbGVuZGFyKCkgPz8gdGhpcy50eXBlKTtcblxuICBwaWNrZXIgPSBpbnB1dDxBWERhdGVUaW1lUGlja2VyVHlwZT4oJ2RhdGV0aW1lJyk7XG5cbiAgI2VmZmVjdFBpY2tlciA9IGVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHRoaXMucGlja2VyKCkgPT09ICd0aW1lJykge1xuICAgICAgdGhpcy5jaGVja1NlbGVjdGVkTWluVmFsdWUodGhpcy5jYWxlbmRhclNlcnZpY2UuY29udmVydCh0aGlzLm1pblZhbHVlLCB0aGlzLmNhbGVuZGFyKCkpKTtcbiAgICAgIHRoaXMuY2hlY2tTZWxlY3RlZE1heFZhbHVlKHRoaXMuY2FsZW5kYXJTZXJ2aWNlLmNvbnZlcnQodGhpcy5tYXhWYWx1ZSwgdGhpcy5jYWxlbmRhcigpKSk7XG4gICAgICB0aGlzLl9hY3RpdmVQYXJ0LnNldCgndGltZScpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5waWNrZXIoKSA9PT0gJ2RhdGUnKSB7XG4gICAgICB0aGlzLl9hY3RpdmVQYXJ0LnNldCgnZGF0ZScpO1xuICAgIH1cbiAgfSk7XG5cbiAgcHJpdmF0ZSBfZm9ybWF0ID0gbGlua2VkU2lnbmFsPHN0cmluZz4oXG4gICAgKCkgPT4gdGhpcy5mb3JtYXQoKSA/PyB0aGlzLmxvY2FsZVNlcnZpY2UuYWN0aXZlUHJvZmlsZSgpLmZvcm1hdHNbdGhpcy5waWNrZXIoKV0/LnNob3J0ID8/ICcnLFxuICApO1xuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCB1c2UgbG9jYWxlICYgbW9kZSBpbnN0ZWFkXG4gICAqL1xuICBmb3JtYXQgPSBpbnB1dDxzdHJpbmcgfCBudWxsPigpO1xuXG4gICNlZmZlY3QgPSBlZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHByb2ZpbGUgPSB0aGlzLmxvY2FsZVNlcnZpY2UuYWN0aXZlUHJvZmlsZSgpO1xuICAgIC8vXG4gICAgaWYgKCF0aGlzLmZvcm1hdCgpKSB7XG4gICAgICB0aGlzLl9mb3JtYXQuc2V0KHRoaXMuZm9ybWF0KCkgPz8gcHJvZmlsZS5mb3JtYXRzW3RoaXMucGlja2VyKCldPy5zaG9ydCA/PyAnJyk7XG4gICAgfVxuICAgIC8vXG4gICAgaWYgKCF0aGlzLmNhbGVuZGFyKCkpIHtcbiAgICAgIHRoaXMuX2NhbGVuZGFyU3lzdGVtLnNldChwcm9maWxlLmNhbGVuZGFyLnN5c3RlbSk7XG4gICAgfVxuICAgIC8vXG4gICAgdGhpcy50eXBlID0gdGhpcy5fY2FsZW5kYXJTeXN0ZW0oKTtcbiAgICAvL1xuICAgIHRoaXMuX2RldGVjdFBhcnRzKCk7XG4gIH0pO1xuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgb3ZlcnJpZGUgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICB0aGlzLl9kZXRlY3RQYXJ0cygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZXMgY2hhbmdlcyB0byB0aGUgaW50ZXJuYWwgdmFsdWUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIG5ldyBkYXRlIHZhbHVlLiBJZiBub3QgcHJvdmlkZWQsIGRlZmF1bHRzIHRvIHRoZSBjdXJyZW50IGRhdGUuXG4gICAqL1xuICBvdmVycmlkZSBpbnRlcm5hbFZhbHVlQ2hhbmdlZCh2YWx1ZT86IERhdGUpOiB2b2lkIHtcbiAgICB0cnkge1xuICAgICAgaWYgKHRoaXMuY2FsZW5kYXJTZXJ2aWNlLmlzVmFsaWREYXRlKHZhbHVlKSkge1xuICAgICAgICB0aGlzLl9lZGl0aW5nRGF0ZU9iai5zZXQodGhpcy5jYWxlbmRhclNlcnZpY2UuY3JlYXRlKHZhbHVlLCB0aGlzLmNhbGVuZGFyKCkpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcigpO1xuICAgICAgfVxuICAgIH0gY2F0Y2gge1xuICAgICAgdGhpcy5fZWRpdGluZ0RhdGVPYmouc2V0KHRoaXMuY2FsZW5kYXJTZXJ2aWNlLm5vdyh0aGlzLmNhbGVuZGFyKCkpKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBfaGFuZGxlVmlld0NoYW5nZWQoZTogQVhUYWJTdHJpcENoYW5nZWRFdmVudCkge1xuICAgIHRoaXMuX2FjdGl2ZVBhcnQuc2V0KGUudGFiLmtleSBhcyAnZGF0ZScgfCAndGltZScpO1xuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgX2hhbmRsZVBpY2tlck9uVmFsdWVDaGFuZ2VkKGU6IEFYVmFsdWVDaGFuZ2VkRXZlbnQ8RGF0ZT4sIHBhcnQ6IHN0cmluZykge1xuICAgIGlmIChlLmlzVXNlckludGVyYWN0aW9uKSB7XG4gICAgICB0aGlzLl9lZGl0aW5nRGF0ZU9iai5zZXQodGhpcy5fZWRpdGluZ0RhdGVPYmooKS5zZXQocGFydCBhcyBUaW1lVW5pdCwgTnVtYmVyKGUudmFsdWVbJ2lkJ10pKSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgX2hhbmRsZUNhbGVuZGFyT25OYXZpZ2F0ZShlOiBBWENhbGVuZGFyTmF2aWdhdGVFdmVudCkge1xuICAgIHRoaXMub25OYXZpZ2F0ZS5lbWl0KGUpO1xuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgX2hhbmRsZUNhbGVuZGFyT25WYWx1ZUNoYW5nZWQoZTogQVhWYWx1ZUNoYW5nZWRFdmVudDxEYXRlPikge1xuICAgIGlmIChlLmlzVXNlckludGVyYWN0aW9uKSB7XG4gICAgICBjb25zdCBzZWxlY3RlZFZhbHVlID0gdGhpcy5jYWxlbmRhclNlcnZpY2UuY3JlYXRlKGUudmFsdWUsIHRoaXMuY2FsZW5kYXIoKSk7XG4gICAgICBjb25zdCBjdXJyZW50VmFsdWUgPSB0aGlzLmNhbGVuZGFyU2VydmljZVxuICAgICAgICAuY3JlYXRlKGUudmFsdWUsIHRoaXMuY2FsZW5kYXIoKSlcbiAgICAgICAgLnNldCgnZGF5Jywgc2VsZWN0ZWRWYWx1ZS5kYXlPZk1vbnRoKVxuICAgICAgICAuc2V0KCdtb250aCcsIHNlbGVjdGVkVmFsdWUubW9udGhPZlllYXIpXG4gICAgICAgIC5zZXQoJ3llYXInLCBzZWxlY3RlZFZhbHVlLnllYXIpO1xuXG4gICAgICB0aGlzLl9lZGl0aW5nRGF0ZU9iai5zZXQoY3VycmVudFZhbHVlKTtcbiAgICAgIGlmICh0aGlzLl9oYXNUaW1lUGFydCkge1xuICAgICAgICB0aGlzLl9hY3RpdmVQYXJ0LnNldCgndGltZScpO1xuICAgICAgICBpZiAodGhpcy50YWJzICYmIHRoaXMuX2hhc0RhdGVQYXJ0ICYmIHRoaXMuX2hhc1RpbWVQYXJ0KSB7XG4gICAgICAgICAgdGhpcy50YWJzLnNlbGVjdCgxKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmNvbW1pdFZhbHVlKHRoaXMuX2VkaXRpbmdEYXRlT2JqKCkuZGF0ZSwgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY29tbWl0VmFsdWUodGhpcy5fZWRpdGluZ0RhdGVPYmooKS5kYXRlLCB0cnVlKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5jaGVja1NlbGVjdGVkTWluVmFsdWUoc2VsZWN0ZWRWYWx1ZSk7XG4gICAgICB0aGlzLmNoZWNrU2VsZWN0ZWRNYXhWYWx1ZShzZWxlY3RlZFZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNoZWNrU2VsZWN0ZWRNaW5WYWx1ZShzZWxlY3RlZFZhbHVlOiBBWERhdGVUaW1lKSB7XG4gICAgaWYgKCF0aGlzLm1pblZhbHVlKSByZXR1cm47XG4gICAgaWYgKCF0aGlzLmNhbGVuZGFyU2VydmljZS5pc1ZhbGlkRGF0ZSh0aGlzLm1pblZhbHVlKSkgcmV0dXJuO1xuXG4gICAgaWYgKHNlbGVjdGVkVmFsdWUuaXNBZnRlcih0aGlzLm1pblZhbHVlKSkge1xuICAgICAgdGhpcy5waWNrZXJIb3Vyc01pblZhbHVlLnNldChudWxsKTtcbiAgICAgIHRoaXMucGlja2VyTWludXRlTWluVmFsdWUuc2V0KG51bGwpO1xuICAgICAgdGhpcy5waWNrZXJTZWNvbmRNaW5WYWx1ZS5zZXQobnVsbCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IG1pbnYgPSB0aGlzLmNhbGVuZGFyU2VydmljZS5jb252ZXJ0KHRoaXMubWluVmFsdWUsIHRoaXMuY2FsZW5kYXIoKSk7XG4gICAgICB0aGlzLnBpY2tlckhvdXJzTWluVmFsdWUuc2V0KG1pbnYuaG91cik7XG4gICAgICB0aGlzLnBpY2tlck1pbnV0ZU1pblZhbHVlLnNldChtaW52Lm1pbnV0ZSk7XG4gICAgICB0aGlzLnBpY2tlclNlY29uZE1pblZhbHVlLnNldChtaW52LnNlY29uZCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjaGVja1NlbGVjdGVkTWF4VmFsdWUoc2VsZWN0ZWRWYWx1ZTogQVhEYXRlVGltZSkge1xuICAgIGlmICghdGhpcy5tYXhWYWx1ZSkgcmV0dXJuO1xuICAgIGlmICghdGhpcy5jYWxlbmRhclNlcnZpY2UuaXNWYWxpZERhdGUodGhpcy5tYXhWYWx1ZSkpIHJldHVybjtcblxuICAgIGlmIChzZWxlY3RlZFZhbHVlLmlzQmVmb3JlKHRoaXMubWF4VmFsdWUpKSB7XG4gICAgICB0aGlzLnBpY2tlckhvdXJzTWF4VmFsdWUuc2V0KG51bGwpO1xuICAgICAgdGhpcy5waWNrZXJNaW51dGVNYXhWYWx1ZS5zZXQobnVsbCk7XG4gICAgICB0aGlzLnBpY2tlclNlY29uZE1heFZhbHVlLnNldChudWxsKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgbWF4diA9IHRoaXMuY2FsZW5kYXJTZXJ2aWNlLmNvbnZlcnQodGhpcy5tYXhWYWx1ZSwgdGhpcy5jYWxlbmRhcigpKTtcbiAgICAgIHRoaXMucGlja2VySG91cnNNYXhWYWx1ZS5zZXQobWF4di5ob3VyKTtcbiAgICAgIHRoaXMucGlja2VyTWludXRlTWF4VmFsdWUuc2V0KG1heHYubWludXRlKTtcbiAgICAgIHRoaXMucGlja2VyU2Vjb25kTWF4VmFsdWUuc2V0KG1heHYuc2Vjb25kKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByaXZhdGUgX2RldGVjdFBhcnRzKCkge1xuICAgIE9iamVjdC52YWx1ZXModGhpcy5fcGFydHMpLmZvckVhY2goKGUpID0+IHtcbiAgICAgIGUuZW5hYmxlZCA9IGZhbHNlO1xuICAgIH0pO1xuICAgIGNvbnN0IGZvcm1hdFBhcnRzID0gdGhpcy5fZm9ybWF0KCkuc3BsaXQoL1teYS16QS1aXSsvKTtcbiAgICBmb3JtYXRQYXJ0cy5mb3JFYWNoKChmKSA9PiB7XG4gICAgICBjb25zdCBmb3VuZCA9IE9iamVjdC52YWx1ZXModGhpcy5fcGFydHMpLmZpbmQoKGMpID0+IGMucGxhY2Vob2xkZXJzLnNvbWUoKGQpID0+IGQgPT0gZikpO1xuICAgICAgaWYgKGZvdW5kKSB7XG4gICAgICAgIGZvdW5kLmVuYWJsZWQgPSB0cnVlO1xuICAgICAgICBmb3VuZC5wbGFjZWhvbGRlciA9IGY7XG4gICAgICB9XG4gICAgfSk7XG4gICAgLy90aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIF9oYW5kbGVTZXRDbGljaygpIHtcbiAgICB0aGlzLmNvbW1pdFZhbHVlKHRoaXMuX2VkaXRpbmdEYXRlT2JqKCkuZGF0ZSwgdHJ1ZSk7XG4gICAgdGhpcy5jaGVja1NlbGVjdGVkTWluVmFsdWUodGhpcy5fZWRpdGluZ0RhdGVPYmooKSk7XG4gICAgdGhpcy5jaGVja1NlbGVjdGVkTWF4VmFsdWUodGhpcy5fZWRpdGluZ0RhdGVPYmooKSk7XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBfaGFuZGxlTm93Q2xpY2soKSB7XG4gICAgdGhpcy5fZWRpdGluZ0RhdGVPYmouc2V0KHRoaXMuY2FsZW5kYXJTZXJ2aWNlLm5vdyh0aGlzLmNhbGVuZGFyKCkpKTtcbiAgICB0aGlzLmNvbW1pdFZhbHVlKHRoaXMuX2VkaXRpbmdEYXRlT2JqKCkuZGF0ZSwgdHJ1ZSk7XG4gICAgdGhpcy5jaGVja1NlbGVjdGVkTWluVmFsdWUodGhpcy5fZWRpdGluZ0RhdGVPYmooKSk7XG4gICAgdGhpcy5jaGVja1NlbGVjdGVkTWF4VmFsdWUodGhpcy5fZWRpdGluZ0RhdGVPYmooKSk7XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBpc0Rpc2FibGVkKGRhdGU6IEFYRGF0ZVRpbWUpOiBib29sZWFuIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLmRpc2FibGVkRGF0ZXMpICYmIHRoaXMuZGlzYWJsZWREYXRlcy5sZW5ndGggIT0gMCkge1xuICAgICAgcmV0dXJuIHRoaXMuZGlzYWJsZWREYXRlcy5zb21lKChkKSA9PiBkYXRlLmVxdWFsKGQsICdkYXknKSk7XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgdGhpcy5kaXNhYmxlZERhdGVzID09ICdmdW5jdGlvbicpIHtcbiAgICAgIHJldHVybiB0aGlzLmRpc2FibGVkRGF0ZXMoZGF0ZS5kYXRlKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgaW50ZXJuYWxTZXRWYWx1ZSh2YWx1ZTogRGF0ZSk6IERhdGUgfCBudWxsIHtcbiAgICBpZiAoIXZhbHVlIHx8ICF0aGlzLmNhbGVuZGFyU2VydmljZS5pc1ZhbGlkRGF0ZSh2YWx1ZSkpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBjb25zdCB2ID0gdGhpcy5jYWxlbmRhclNlcnZpY2UuY29udmVydCh2YWx1ZSwgdGhpcy5jYWxlbmRhcigpKTtcbiAgICB0aGlzLmNoZWNrU2VsZWN0ZWRNaW5WYWx1ZSh0aGlzLmNhbGVuZGFyU2VydmljZS5jb252ZXJ0KHYsIHRoaXMuY2FsZW5kYXIoKSkpO1xuICAgIHRoaXMuY2hlY2tTZWxlY3RlZE1heFZhbHVlKHRoaXMuY2FsZW5kYXJTZXJ2aWNlLmNvbnZlcnQodiwgdGhpcy5jYWxlbmRhcigpKSk7XG5cbiAgICBpZiAodGhpcy5pc0Rpc2FibGVkKHYpKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgaWYgKHRoaXMubWluVmFsdWUgJiYgdGhpcy5jYWxlbmRhclNlcnZpY2UuaXNWYWxpZERhdGUodGhpcy5taW5WYWx1ZSkgJiYgdi5pc0JlZm9yZSh0aGlzLm1pblZhbHVlKSkge1xuICAgICAgcmV0dXJuIHRoaXMubWluVmFsdWU7XG4gICAgfVxuICAgIGlmICh0aGlzLm1heFZhbHVlICYmIHRoaXMuY2FsZW5kYXJTZXJ2aWNlLmlzVmFsaWREYXRlKHRoaXMubWF4VmFsdWUpICYmIHYuaXNBZnRlcih0aGlzLm1heFZhbHVlKSkge1xuICAgICAgcmV0dXJuIHRoaXMubWF4VmFsdWU7XG4gICAgfVxuICAgIHJldHVybiB2LmRhdGU7XG4gIH1cblxuICBwcm90ZWN0ZWQgaXNUb2RheURpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGRpc2FibGVkRGF0ZXMgPSB0aGlzLmRpc2FibGVkRGF0ZXM7XG5cbiAgICBpZiAoIWRpc2FibGVkRGF0ZXMgfHwgIUFycmF5LmlzQXJyYXkoZGlzYWJsZWREYXRlcykpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb25zdCB0b2RheSA9IG5ldyBEYXRlKCk7XG4gICAgdG9kYXkuc2V0SG91cnMoMCwgMCwgMCwgMCk7XG5cbiAgICByZXR1cm4gZGlzYWJsZWREYXRlcy5zb21lKChkaXNhYmxlZERhdGU6IERhdGUpID0+IHtcbiAgICAgIGNvbnN0IGRpc2FibGVkID0gbmV3IERhdGUoZGlzYWJsZWREYXRlKTtcbiAgICAgIGRpc2FibGVkLnNldEhvdXJzKDAsIDAsIDAsIDApO1xuICAgICAgcmV0dXJuIHRvZGF5LmdldFRpbWUoKSA9PT0gZGlzYWJsZWQuZ2V0VGltZSgpO1xuICAgIH0pO1xuICB9XG59XG4iLCJAaWYgKF9oYXNEYXRlUGFydCAmJiBfaGFzVGltZVBhcnQpIHtcbiAgPGRpdiBjbGFzcz1cImF4LWhlYWRlclwiPlxuICAgIDxheC10YWJzIFtsb29rXT1cIidkZWZhdWx0J1wiIFtmaXRQYXJlbnRdPVwidHJ1ZVwiIFtsb2NhdGlvbl09XCIndG9wJ1wiIChvbkFjdGl2ZVRhYkNoYW5nZWQpPVwiX2hhbmRsZVZpZXdDaGFuZ2VkKCRldmVudClcIj5cbiAgICAgIDxheC10YWItaXRlbVxuICAgICAgICBbdGV4dF09XCInQGFjb3JleDpkYXRlVGltZS5kYXRlJyB8IHRyYW5zbGF0ZSB8IGFzeW5jXCJcbiAgICAgICAgW2tleV09XCInZGF0ZSdcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgPjwvYXgtdGFiLWl0ZW0+XG4gICAgICA8YXgtdGFiLWl0ZW1cbiAgICAgICAgW3RleHRdPVwiJ0BhY29yZXg6ZGF0ZVRpbWUudGltZScgfCB0cmFuc2xhdGUgfCBhc3luY1wiXG4gICAgICAgIFtrZXldPVwiJ3RpbWUnXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgID48L2F4LXRhYi1pdGVtPlxuICAgIDwvYXgtdGFicz5cbiAgPC9kaXY+XG59XG48ZGl2IGNsYXNzPVwiYXgtY29udGVudFwiPlxuICBAaWYgKF9hY3RpdmVQYXJ0KCkgPT09ICdkYXRlJykge1xuICAgIDxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci1wYXJ0XCI+XG4gICAgICA8YXgtY2FsZW5kYXJcbiAgICAgICAgI2NhbGVuZGFyXG4gICAgICAgIGlkPVwiY2FsZW5kYXJcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgICBbbmdNb2RlbF09XCJfZWRpdGluZ0RhdGVPYmooKS5kYXRlXCJcbiAgICAgICAgW21pblZhbHVlXT1cIm1pblZhbHVlXCJcbiAgICAgICAgW21heFZhbHVlXT1cIm1heFZhbHVlXCJcbiAgICAgICAgW2Rpc2FibGVkRGF0ZXNdPVwiZGlzYWJsZWREYXRlc1wiXG4gICAgICAgIFtob2xpZGF5RGF0ZXNdPVwiaG9saWRheURhdGVzXCJcbiAgICAgICAgW2RlcHRoXT1cImRlcHRoXCJcbiAgICAgICAgKG9uTmF2aWdhdGUpPVwiX2hhbmRsZUNhbGVuZGFyT25OYXZpZ2F0ZSgkZXZlbnQpXCJcbiAgICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cIl9oYW5kbGVDYWxlbmRhck9uVmFsdWVDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICBbdHlwZV09XCJfY2FsZW5kYXJTeXN0ZW0oKVwiXG4gICAgICA+XG4gICAgICA8L2F4LWNhbGVuZGFyPlxuICAgIDwvZGl2PlxuICB9XG5cbiAgQGlmIChfYWN0aXZlUGFydCgpID09PSAndGltZScpIHtcbiAgICA8ZGl2IGNsYXNzPVwiYXgtcGlja2VyLXBhcnRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJheC1oZWFkZXJcIj5cbiAgICAgICAge3sgX2VkaXRpbmdEYXRlT2JqKCkgfCBmb3JtYXQ6IHBpY2tlcigpIDogJ3Nob3J0JyB8IGFzeW5jIH19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgZGlyPVwibHRyXCIgY2xhc3M9XCJheC1waWNrZXItdGltZS1jb250YWluZXJcIj5cbiAgICAgICAgQGlmIChfcGFydHMuaG91ci5lbmFibGVkKSB7XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJob3VyUmVmXCI+IDwvbmctY29udGFpbmVyPlxuICAgICAgICB9XG5cbiAgICAgICAgQGlmIChfcGFydHMubWludXRlLmVuYWJsZWQpIHtcbiAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm1pbnV0ZVJlZlwiPiA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoX3BhcnRzLnNlY29uZC5lbmFibGVkKSB7XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJzZWNvbmRSZWZcIj4gPC9uZy1jb250YWluZXI+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICB9XG48L2Rpdj5cbkBpZiAoIWRpc2FibGVkICYmICFyZWFkb25seSAmJiAoY3VycmVudFRpbWVCdXR0b24gfHwgX2hhc1RpbWVQYXJ0KSkge1xuICA8ZGl2IGNsYXNzPVwiYXgtZm9vdGVyXCI+XG4gICAgPGRpdj5cbiAgICAgIEBpZiAoY3VycmVudFRpbWVCdXR0b24pIHtcbiAgICAgICAgPGF4LWJ1dHRvblxuICAgICAgICAgIFt0ZXh0XT1cImBAYWNvcmV4OiR7YnV0dG9uVGV4dCgpfWAgfCB0cmFuc2xhdGUgfCBhc3luY1wiXG4gICAgICAgICAgY2xhc3M9XCJheC1zbVwiXG4gICAgICAgICAgKG9uQ2xpY2spPVwiX2hhbmRsZU5vd0NsaWNrKClcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJpc1RvZGF5RGlzYWJsZWQoKVwiXG4gICAgICAgID48L2F4LWJ1dHRvbj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgICA8ZGl2PlxuICAgICAgQGlmIChfaGFzVGltZVBhcnQpIHtcbiAgICAgICAgPGF4LWJ1dHRvblxuICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgW3RleHRdPVwiJ0BhY29yZXg6ZGF0ZVRpbWUuc2V0JyB8IHRyYW5zbGF0ZSB8IGFzeW5jXCJcbiAgICAgICAgICBjbGFzcz1cImF4LXNtXCJcbiAgICAgICAgICAob25DbGljayk9XCJfaGFuZGxlU2V0Q2xpY2soKVwiXG4gICAgICAgID48L2F4LWJ1dHRvbj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG59XG5cbjxuZy10ZW1wbGF0ZSAjaG91clJlZj5cbiAgPGF4LXBpY2tlci1jb250YWluZXI+XG4gICAgPGF4LXBpY2tlci10aXRsZT5cbiAgICAgIDxheC10ZXh0Pnt7ICdAYWNvcmV4OmRhdGVUaW1lLnVuaXRzLmhvdXInIHwgdHJhbnNsYXRlIHwgYXN5bmMgfX08L2F4LXRleHQ+XG4gICAgPC9heC1waWNrZXItdGl0bGU+XG4gICAgPGF4LXBpY2tlci1pdGVtc1xuICAgICAgW2l0ZW1zXT1cImhvdXJzXCJcbiAgICAgIFtuZ01vZGVsXT1cIl9lZGl0aW5nRGF0ZU9iaigpLmhvdXJcIlxuICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cIl9oYW5kbGVQaWNrZXJPblZhbHVlQ2hhbmdlZCgkZXZlbnQsICdob3VyJylcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgICBbbWluVmFsdWVdPVwicGlja2VySG91cnNNaW5WYWx1ZSgpXCJcbiAgICAgIFttYXhWYWx1ZV09XCJwaWNrZXJIb3Vyc01heFZhbHVlKClcIlxuICAgID48L2F4LXBpY2tlci1pdGVtcz5cbiAgPC9heC1waWNrZXItY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNtaW51dGVSZWY+XG4gIDxheC1waWNrZXItY29udGFpbmVyPlxuICAgIDxheC1waWNrZXItdGl0bGU+XG4gICAgICA8YXgtdGV4dD57eyAnQGFjb3JleDpkYXRlVGltZS51bml0cy5taW51dGUnIHwgdHJhbnNsYXRlIHwgYXN5bmMgfX08L2F4LXRleHQ+XG4gICAgPC9heC1waWNrZXItdGl0bGU+XG4gICAgPGF4LXBpY2tlci1pdGVtc1xuICAgICAgW2l0ZW1zXT1cIm1pbnV0ZXNcIlxuICAgICAgW25nTW9kZWxdPVwiX2VkaXRpbmdEYXRlT2JqKCkubWludXRlXCJcbiAgICAgIChvblZhbHVlQ2hhbmdlZCk9XCJfaGFuZGxlUGlja2VyT25WYWx1ZUNoYW5nZWQoJGV2ZW50LCAnbWludXRlJylcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgICBbbWluVmFsdWVdPVwicGlja2VyTWludXRlTWluVmFsdWUoKVwiXG4gICAgICBbbWF4VmFsdWVdPVwicGlja2VyTWludXRlTWF4VmFsdWUoKVwiXG4gICAgPjwvYXgtcGlja2VyLWl0ZW1zPlxuICA8L2F4LXBpY2tlci1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3NlY29uZFJlZj5cbiAgPGF4LXBpY2tlci1jb250YWluZXI+XG4gICAgPGF4LXBpY2tlci10aXRsZT5cbiAgICAgIDxheC10ZXh0Pnt7ICdAYWNvcmV4OmRhdGVUaW1lLnVuaXRzLnNlY29uZCcgfCB0cmFuc2xhdGUgfCBhc3luYyB9fTwvYXgtdGV4dD5cbiAgICA8L2F4LXBpY2tlci10aXRsZT5cbiAgICA8YXgtcGlja2VyLWl0ZW1zXG4gICAgICBbaXRlbXNdPVwibWludXRlc1wiXG4gICAgICBbbmdNb2RlbF09XCJfZWRpdGluZ0RhdGVPYmooKS5zZWNvbmRcIlxuICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cIl9oYW5kbGVQaWNrZXJPblZhbHVlQ2hhbmdlZCgkZXZlbnQsICdzZWNvbmQnKVwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgIFttaW5WYWx1ZV09XCJwaWNrZXJTZWNvbmRNaW5WYWx1ZSgpXCJcbiAgICAgIFttYXhWYWx1ZV09XCJwaWNrZXJTZWNvbmRNYXhWYWx1ZSgpXCJcbiAgICA+PC9heC1waWNrZXItaXRlbXM+XG4gIDwvYXgtcGlja2VyLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=","import { AXButtonModule } from '@acorex/components/button';\nimport { AXCalendarModule } from '@acorex/components/calendar';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXPickerModule } from '@acorex/components/picker';\nimport { AXTabsModule } from '@acorex/components/tabs';\nimport { AXDateTimeModule } from '@acorex/core/date-time';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXDateTimePickerComponent } from './datetime-picker.component';\nimport * as i0 from \"@angular/core\";\nconst COMPONENT = [AXDateTimePickerComponent];\nconst MODULES = [\n CommonModule,\n FormsModule,\n AXTabsModule,\n AXDateTimeModule,\n AXButtonModule,\n AXCalendarModule,\n AXPickerModule,\n AXTranslationModule,\n AXDecoratorModule,\n];\nexport class AXDateTimePickerModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXDateTimePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.3\", ngImport: i0, type: AXDateTimePickerModule, imports: [CommonModule,\n FormsModule,\n AXTabsModule,\n AXDateTimeModule,\n AXButtonModule,\n AXCalendarModule,\n AXPickerModule,\n AXTranslationModule,\n AXDecoratorModule, AXDateTimePickerComponent], exports: [AXDateTimePickerComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXDateTimePickerModule, imports: [MODULES, COMPONENT] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXDateTimePickerModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUtcGlja2VyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvZGF0ZXRpbWUtcGlja2VyL3NyYy9saWIvZGF0ZXRpbWUtcGlja2VyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7O0FBRXhFLE1BQU0sU0FBUyxHQUFHLENBQUMseUJBQXlCLENBQUMsQ0FBQztBQUM5QyxNQUFNLE9BQU8sR0FBRztJQUNkLFlBQVk7SUFDWixXQUFXO0lBQ1gsWUFBWTtJQUNaLGdCQUFnQjtJQUNoQixjQUFjO0lBQ2QsZ0JBQWdCO0lBQ2hCLGNBQWM7SUFDZCxtQkFBbUI7SUFDbkIsaUJBQWlCO0NBQ2xCLENBQUM7QUFPRixNQUFNLE9BQU8sc0JBQXNCOzhHQUF0QixzQkFBc0I7K0dBQXRCLHNCQUFzQixZQWhCakMsWUFBWTtZQUNaLFdBQVc7WUFDWCxZQUFZO1lBQ1osZ0JBQWdCO1lBQ2hCLGNBQWM7WUFDZCxnQkFBZ0I7WUFDaEIsY0FBYztZQUNkLG1CQUFtQjtZQUNuQixpQkFBaUIsRUFWQSx5QkFBeUIsYUFBekIseUJBQXlCOytHQWtCL0Isc0JBQXNCLFlBSnBCLE9BQU8sRUFBSyxTQUFTOzsyRkFJdkIsc0JBQXNCO2tCQUxsQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLEdBQUcsT0FBTyxFQUFFLEdBQUcsU0FBUyxDQUFDO29CQUNuQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQztvQkFDdkIsU0FBUyxFQUFFLEVBQUU7aUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgQVhDYWxlbmRhck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jYWxlbmRhcic7XG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYUGlja2VyTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3BpY2tlcic7XG5pbXBvcnQgeyBBWFRhYnNNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvdGFicyc7XG5pbXBvcnQgeyBBWERhdGVUaW1lTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb3JlL2RhdGUtdGltZSc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBWERhdGVUaW1lUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRldGltZS1waWNrZXIuY29tcG9uZW50JztcblxuY29uc3QgQ09NUE9ORU5UID0gW0FYRGF0ZVRpbWVQaWNrZXJDb21wb25lbnRdO1xuY29uc3QgTU9EVUxFUyA9IFtcbiAgQ29tbW9uTW9kdWxlLFxuICBGb3Jtc01vZHVsZSxcbiAgQVhUYWJzTW9kdWxlLFxuICBBWERhdGVUaW1lTW9kdWxlLFxuICBBWEJ1dHRvbk1vZHVsZSxcbiAgQVhDYWxlbmRhck1vZHVsZSxcbiAgQVhQaWNrZXJNb2R1bGUsXG4gIEFYVHJhbnNsYXRpb25Nb2R1bGUsXG4gIEFYRGVjb3JhdG9yTW9kdWxlLFxuXTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogWy4uLk1PRFVMRVMsIC4uLkNPTVBPTkVOVF0sXG4gIGV4cG9ydHM6IFsuLi5DT01QT05FTlRdLFxuICBwcm92aWRlcnM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBBWERhdGVUaW1lUGlja2VyTW9kdWxlIHt9XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvbXBvbmVudHMtZGF0ZXRpbWUtcGlja2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9kYXRldGltZS1waWNrZXIvc3JjL2Fjb3JleC1jb21wb25lbnRzLWRhdGV0aW1lLXBpY2tlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
|
@@ -683,8 +683,11 @@ class AXImageEditorContainerComponent extends classes((MXInputBaseValueComponent
|
|
683
683
|
return 'ax-state-disabled';
|
684
684
|
return '';
|
685
685
|
}
|
686
|
+
get __hostName() {
|
687
|
+
return this.name;
|
688
|
+
}
|
686
689
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXImageEditorContainerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
687
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.3", type: AXImageEditorContainerComponent, isStandalone: true, selector: "ax-image-editor-container", inputs: { look: "look", disabled: "disabled" }, outputs: { onValueChanged: "onValueChanged" }, host: { properties: { "class": "this.__hostClass" } }, providers: [
|
690
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.3", type: AXImageEditorContainerComponent, isStandalone: true, selector: "ax-image-editor-container", inputs: { look: "look", disabled: "disabled" }, outputs: { onValueChanged: "onValueChanged" }, host: { properties: { "class": "this.__hostClass", "attr.name": "this.__hostName" } }, providers: [
|
688
691
|
AXImageEditorService,
|
689
692
|
{ provide: AXComponent, useExisting: AXImageEditorContainerComponent },
|
690
693
|
{ provide: AXFocusableComponent, useExisting: AXImageEditorContainerComponent },
|
@@ -722,6 +725,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImpor
|
|
722
725
|
}], propDecorators: { __hostClass: [{
|
723
726
|
type: HostBinding,
|
724
727
|
args: ['class']
|
728
|
+
}], __hostName: [{
|
729
|
+
type: HostBinding,
|
730
|
+
args: ['attr.name']
|
725
731
|
}] } });
|
726
732
|
|
727
733
|
/**
|