@ng-nest/ui 18.0.11 → 19.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/affix/affix.property.d.ts +1 -1
- package/alert/alert.property.d.ts +1 -1
- package/anchor/anchor.property.d.ts +2 -2
- package/auto-complete/auto-complete.property.d.ts +16 -19
- package/avatar/avatar.property.d.ts +2 -2
- package/back-top/back-top.property.d.ts +1 -1
- package/badge/badge.property.d.ts +1 -1
- package/base-form/base-form.property.d.ts +2 -2
- package/button/button.property.d.ts +2 -2
- package/calendar/calendar.property.d.ts +1 -1
- package/card/card.property.d.ts +1 -1
- package/carousel/carousel.property.d.ts +2 -2
- package/cascade/cascade.property.d.ts +16 -27
- package/checkbox/checkbox.property.d.ts +16 -22
- package/collapse/collapse.property.d.ts +2 -2
- package/color/color.property.d.ts +1 -1
- package/color-picker/color-picker-portal.component.d.ts +10 -10
- package/color-picker/color-picker.property.d.ts +15 -15
- package/comment/comment.property.d.ts +2 -2
- package/container/container.property.d.ts +4 -4
- package/crumb/crumb.property.d.ts +1 -1
- package/date-picker/date-picker-portal.component.d.ts +1 -1
- package/date-picker/date-picker.property.d.ts +34 -34
- package/date-picker/date-range-portal.component.d.ts +5 -5
- package/description/description.property.d.ts +2 -2
- package/dialog/dialog-portal.component.d.ts +0 -2
- package/dialog/dialog-portal.directives.d.ts +2 -3
- package/dialog/dialog-ref.d.ts +4 -2
- package/dialog/dialog.component.d.ts +0 -5
- package/dialog/dialog.property.d.ts +14 -10
- package/drag/drag.property.d.ts +1 -1
- package/drawer/drawer.property.d.ts +2 -2
- package/dropdown/dropdown.property.d.ts +1 -1
- package/empty/empty.property.d.ts +1 -1
- package/fesm2022/ng-nest-ui-affix.mjs +14 -12
- package/fesm2022/ng-nest-ui-affix.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-alert.mjs +14 -12
- package/fesm2022/ng-nest-ui-alert.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-anchor.mjs +23 -20
- package/fesm2022/ng-nest-ui-anchor.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-api.mjs +8 -8
- package/fesm2022/ng-nest-ui-api.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-auto-complete.mjs +16 -16
- package/fesm2022/ng-nest-ui-auto-complete.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-avatar.mjs +18 -18
- package/fesm2022/ng-nest-ui-avatar.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-back-top.mjs +13 -12
- package/fesm2022/ng-nest-ui-back-top.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-badge.mjs +11 -11
- package/fesm2022/ng-nest-ui-badge.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-base-form.mjs +10 -10
- package/fesm2022/ng-nest-ui-base-form.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-button.mjs +18 -18
- package/fesm2022/ng-nest-ui-button.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-calendar.mjs +14 -15
- package/fesm2022/ng-nest-ui-calendar.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-card.mjs +11 -12
- package/fesm2022/ng-nest-ui-card.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-carousel.mjs +20 -19
- package/fesm2022/ng-nest-ui-carousel.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-cascade.mjs +16 -16
- package/fesm2022/ng-nest-ui-cascade.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-checkbox.mjs +12 -12
- package/fesm2022/ng-nest-ui-checkbox.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-collapse.mjs +18 -18
- package/fesm2022/ng-nest-ui-collapse.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-color-picker.mjs +15 -15
- package/fesm2022/ng-nest-ui-color-picker.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-color.mjs +11 -11
- package/fesm2022/ng-nest-ui-color.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-comment.mjs +18 -18
- package/fesm2022/ng-nest-ui-comment.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-container.mjs +36 -36
- package/fesm2022/ng-nest-ui-container.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-core.mjs +15 -15
- package/fesm2022/ng-nest-ui-core.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-crumb.mjs +11 -11
- package/fesm2022/ng-nest-ui-crumb.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-date-picker.mjs +57 -57
- package/fesm2022/ng-nest-ui-date-picker.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-description.mjs +18 -18
- package/fesm2022/ng-nest-ui-description.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-dialog.mjs +70 -144
- package/fesm2022/ng-nest-ui-dialog.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-doc.mjs +8 -8
- package/fesm2022/ng-nest-ui-doc.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-drag.mjs +11 -11
- package/fesm2022/ng-nest-ui-drag.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-drawer.mjs +38 -41
- package/fesm2022/ng-nest-ui-drawer.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-dropdown.mjs +15 -16
- package/fesm2022/ng-nest-ui-dropdown.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-empty.mjs +11 -11
- package/fesm2022/ng-nest-ui-empty.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-examples.mjs +8 -8
- package/fesm2022/ng-nest-ui-examples.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-find.mjs +11 -11
- package/fesm2022/ng-nest-ui-find.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-form.mjs +21 -40
- package/fesm2022/ng-nest-ui-form.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-highlight.mjs +14 -14
- package/fesm2022/ng-nest-ui-highlight.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-i18n.mjs +15 -17
- package/fesm2022/ng-nest-ui-i18n.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-icon.mjs +14 -14
- package/fesm2022/ng-nest-ui-icon.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-image.mjs +24 -24
- package/fesm2022/ng-nest-ui-image.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-inner.mjs +11 -11
- package/fesm2022/ng-nest-ui-inner.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-input-number.mjs +11 -11
- package/fesm2022/ng-nest-ui-input-number.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-input.mjs +19 -19
- package/fesm2022/ng-nest-ui-input.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-keyword.mjs +12 -13
- package/fesm2022/ng-nest-ui-keyword.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-layout.mjs +18 -18
- package/fesm2022/ng-nest-ui-layout.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-link.mjs +11 -11
- package/fesm2022/ng-nest-ui-link.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-list.mjs +22 -23
- package/fesm2022/ng-nest-ui-list.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-loading.mjs +12 -12
- package/fesm2022/ng-nest-ui-loading.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-menu.mjs +19 -20
- package/fesm2022/ng-nest-ui-menu.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-message-box.mjs +11 -13
- package/fesm2022/ng-nest-ui-message-box.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-message.mjs +11 -11
- package/fesm2022/ng-nest-ui-message.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-notification.mjs +11 -11
- package/fesm2022/ng-nest-ui-notification.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-outlet.mjs +8 -8
- package/fesm2022/ng-nest-ui-outlet.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-page-header.mjs +11 -11
- package/fesm2022/ng-nest-ui-page-header.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-pagination.mjs +11 -11
- package/fesm2022/ng-nest-ui-pagination.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-pattern.mjs +8 -8
- package/fesm2022/ng-nest-ui-pattern.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-popconfirm.mjs +11 -11
- package/fesm2022/ng-nest-ui-popconfirm.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-popover.mjs +15 -15
- package/fesm2022/ng-nest-ui-popover.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-portal.mjs +7 -7
- package/fesm2022/ng-nest-ui-portal.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-progress.mjs +11 -11
- package/fesm2022/ng-nest-ui-progress.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-radio.mjs +11 -11
- package/fesm2022/ng-nest-ui-radio.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-rate.mjs +11 -12
- package/fesm2022/ng-nest-ui-rate.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-resizable.mjs +16 -14
- package/fesm2022/ng-nest-ui-resizable.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-result.mjs +11 -11
- package/fesm2022/ng-nest-ui-result.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-ripple.mjs +37 -27
- package/fesm2022/ng-nest-ui-ripple.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-select.mjs +32 -17
- package/fesm2022/ng-nest-ui-select.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-skeleton.mjs +13 -11
- package/fesm2022/ng-nest-ui-skeleton.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-slider-select.mjs +15 -21
- package/fesm2022/ng-nest-ui-slider-select.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-slider.mjs +11 -11
- package/fesm2022/ng-nest-ui-slider.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-statistic.mjs +18 -18
- package/fesm2022/ng-nest-ui-statistic.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-steps.mjs +11 -11
- package/fesm2022/ng-nest-ui-steps.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-switch.mjs +11 -11
- package/fesm2022/ng-nest-ui-switch.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-table.mjs +33 -33
- package/fesm2022/ng-nest-ui-table.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tabs.mjs +30 -32
- package/fesm2022/ng-nest-ui-tabs.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tag.mjs +11 -11
- package/fesm2022/ng-nest-ui-tag.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-text-retract.mjs +11 -11
- package/fesm2022/ng-nest-ui-text-retract.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-textarea.mjs +11 -11
- package/fesm2022/ng-nest-ui-textarea.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-theme.mjs +13 -14
- package/fesm2022/ng-nest-ui-theme.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-time-ago.mjs +8 -8
- package/fesm2022/ng-nest-ui-time-ago.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-time-picker.mjs +19 -19
- package/fesm2022/ng-nest-ui-time-picker.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-time-range.mjs +8 -8
- package/fesm2022/ng-nest-ui-time-range.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-timeline.mjs +11 -11
- package/fesm2022/ng-nest-ui-timeline.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tooltip.mjs +15 -15
- package/fesm2022/ng-nest-ui-tooltip.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-transfer.mjs +12 -13
- package/fesm2022/ng-nest-ui-transfer.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tree-file.mjs +12 -20
- package/fesm2022/ng-nest-ui-tree-file.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tree-select.mjs +15 -15
- package/fesm2022/ng-nest-ui-tree-select.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tree.mjs +21 -21
- package/fesm2022/ng-nest-ui-tree.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-typography.mjs +11 -11
- package/fesm2022/ng-nest-ui-typography.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-upload.mjs +15 -15
- package/fesm2022/ng-nest-ui-upload.mjs.map +1 -1
- package/find/find.property.d.ts +12 -18
- package/form/form.property.d.ts +10 -21
- package/highlight/highlight.property.d.ts +1 -1
- package/icon/icon.property.d.ts +1 -1
- package/image/image.property.d.ts +2 -2
- package/inner/inner.property.d.ts +1 -1
- package/input/input.property.d.ts +17 -20
- package/input-number/input-number.property.d.ts +13 -13
- package/layout/layout.property.d.ts +2 -2
- package/link/link.property.d.ts +1 -1
- package/list/list.property.d.ts +12 -12
- package/loading/loading.property.d.ts +1 -1
- package/menu/menu.property.d.ts +2 -2
- package/package.json +108 -282
- package/page-header/page-header.property.d.ts +1 -1
- package/pagination/pagination.property.d.ts +1 -1
- package/popconfirm/popconfirm.property.d.ts +1 -1
- package/popover/popover.property.d.ts +1 -1
- package/progress/progress.property.d.ts +1 -1
- package/radio/radio.property.d.ts +13 -16
- package/rate/rate.property.d.ts +14 -22
- package/result/result.property.d.ts +1 -1
- package/ripple/ripple.directive.d.ts +7 -3
- package/ripple/ripple.property.d.ts +1 -1
- package/select/select-portal.component.d.ts +3 -2
- package/select/select.component.d.ts +1 -0
- package/select/select.property.d.ts +20 -15
- package/skeleton/skeleton.property.d.ts +1 -1
- package/slider/slider.property.d.ts +1 -1
- package/slider-select/slider-select.property.d.ts +13 -17
- package/statistic/statistic.property.d.ts +2 -2
- package/steps/steps.property.d.ts +1 -1
- package/style/core/index.css +87 -174
- package/style/core/index.css.map +1 -1
- package/style/core/index.scss +32 -5
- package/style/directives/index.scss +3 -3
- package/style/directives/keyword/index.scss +3 -2
- package/style/directives/keyword/mixin.scss +9 -11
- package/style/directives/keyword/param.scss +2 -1
- package/style/directives/resizable/index.scss +3 -2
- package/style/directives/resizable/mixin.scss +122 -16
- package/style/directives/resizable/param.scss +2 -1
- package/style/directives/ripple/index.scss +3 -2
- package/style/directives/ripple/mixin.scss +12 -12
- package/style/directives/ripple/param.scss +2 -1
- package/style/mixins/compatibility.scss +7 -5
- package/style/mixins/form.scss +6 -4
- package/style/mixins/hidden.scss +5 -2
- package/style/params/index.scss +282 -3
- package/switch/switch.property.d.ts +14 -14
- package/table/table.property.d.ts +4 -4
- package/tabs/tabs.property.d.ts +2 -2
- package/tag/tag.property.d.ts +1 -1
- package/text-retract/text-retract.property.d.ts +1 -1
- package/textarea/textarea.property.d.ts +14 -17
- package/theme/theme.property.d.ts +6 -10
- package/time-picker/time-picker.property.d.ts +17 -23
- package/timeline/timeline.property.d.ts +1 -1
- package/tooltip/tooltip.property.d.ts +1 -1
- package/transfer/transfer.property.d.ts +9 -13
- package/tree/tree.property.d.ts +2 -2
- package/tree-file/tree-file.property.d.ts +1 -1
- package/tree-select/tree-select-portal.component.d.ts +1 -1
- package/tree-select/tree-select.property.d.ts +15 -15
- package/typography/typography.property.d.ts +1 -1
- package/upload/upload.property.d.ts +9 -9
- package/esm2022/affix/affix.component.mjs +0 -12
- package/esm2022/affix/affix.module.mjs +0 -16
- package/esm2022/affix/affix.property.mjs +0 -51
- package/esm2022/affix/ng-nest-ui-affix.mjs +0 -5
- package/esm2022/affix/public-api.mjs +0 -4
- package/esm2022/alert/alert.component.mjs +0 -73
- package/esm2022/alert/alert.module.mjs +0 -16
- package/esm2022/alert/alert.property.mjs +0 -313
- package/esm2022/alert/ng-nest-ui-alert.mjs +0 -5
- package/esm2022/alert/public-api.mjs +0 -4
- package/esm2022/anchor/anchor-inner.component.mjs +0 -18
- package/esm2022/anchor/anchor.component.mjs +0 -160
- package/esm2022/anchor/anchor.module.mjs +0 -17
- package/esm2022/anchor/anchor.property.mjs +0 -121
- package/esm2022/anchor/ng-nest-ui-anchor.mjs +0 -5
- package/esm2022/anchor/public-api.mjs +0 -5
- package/esm2022/api/api.component.mjs +0 -18
- package/esm2022/api/api.module.mjs +0 -16
- package/esm2022/api/api.property.mjs +0 -7
- package/esm2022/api/ng-nest-ui-api.mjs +0 -5
- package/esm2022/api/public-api.mjs +0 -4
- package/esm2022/auto-complete/auto-complete-portal.component.mjs +0 -80
- package/esm2022/auto-complete/auto-complete.component.mjs +0 -306
- package/esm2022/auto-complete/auto-complete.module.mjs +0 -16
- package/esm2022/auto-complete/auto-complete.property.mjs +0 -172
- package/esm2022/auto-complete/ng-nest-ui-auto-complete.mjs +0 -5
- package/esm2022/auto-complete/public-api.mjs +0 -5
- package/esm2022/avatar/avatar-group.component.mjs +0 -19
- package/esm2022/avatar/avatar.component.mjs +0 -109
- package/esm2022/avatar/avatar.module.mjs +0 -17
- package/esm2022/avatar/avatar.property.mjs +0 -143
- package/esm2022/avatar/ng-nest-ui-avatar.mjs +0 -5
- package/esm2022/avatar/public-api.mjs +0 -5
- package/esm2022/back-top/back-top.component.mjs +0 -104
- package/esm2022/back-top/back-top.module.mjs +0 -16
- package/esm2022/back-top/back-top.property.mjs +0 -50
- package/esm2022/back-top/ng-nest-ui-back-top.mjs +0 -5
- package/esm2022/back-top/public-api.mjs +0 -4
- package/esm2022/badge/badge.component.mjs +0 -63
- package/esm2022/badge/badge.module.mjs +0 -16
- package/esm2022/badge/badge.property.mjs +0 -133
- package/esm2022/badge/ng-nest-ui-badge.mjs +0 -5
- package/esm2022/badge/public-api.mjs +0 -4
- package/esm2022/base-form/base-form.component.mjs +0 -101
- package/esm2022/base-form/base-form.module.mjs +0 -15
- package/esm2022/base-form/base-form.property.mjs +0 -237
- package/esm2022/base-form/ng-nest-ui-base-form.mjs +0 -5
- package/esm2022/base-form/public-api.mjs +0 -4
- package/esm2022/button/button.component.mjs +0 -71
- package/esm2022/button/button.module.mjs +0 -17
- package/esm2022/button/button.property.mjs +0 -331
- package/esm2022/button/buttons.component.mjs +0 -55
- package/esm2022/button/ng-nest-ui-button.mjs +0 -5
- package/esm2022/button/public-api.mjs +0 -5
- package/esm2022/calendar/calendar.component.mjs +0 -117
- package/esm2022/calendar/calendar.module.mjs +0 -16
- package/esm2022/calendar/calendar.property.mjs +0 -110
- package/esm2022/calendar/ng-nest-ui-calendar.mjs +0 -5
- package/esm2022/calendar/public-api.mjs +0 -4
- package/esm2022/card/card.component.mjs +0 -22
- package/esm2022/card/card.module.mjs +0 -16
- package/esm2022/card/card.property.mjs +0 -77
- package/esm2022/card/ng-nest-ui-card.mjs +0 -5
- package/esm2022/card/public-api.mjs +0 -4
- package/esm2022/carousel/carousel-panel.component.mjs +0 -157
- package/esm2022/carousel/carousel.component.mjs +0 -95
- package/esm2022/carousel/carousel.module.mjs +0 -17
- package/esm2022/carousel/carousel.property.mjs +0 -256
- package/esm2022/carousel/ng-nest-ui-carousel.mjs +0 -5
- package/esm2022/carousel/public-api.mjs +0 -5
- package/esm2022/cascade/cascade-portal.component.mjs +0 -141
- package/esm2022/cascade/cascade.component.mjs +0 -238
- package/esm2022/cascade/cascade.module.mjs +0 -16
- package/esm2022/cascade/cascade.property.mjs +0 -167
- package/esm2022/cascade/ng-nest-ui-cascade.mjs +0 -5
- package/esm2022/cascade/public-api.mjs +0 -5
- package/esm2022/checkbox/checkbox.component.mjs +0 -102
- package/esm2022/checkbox/checkbox.module.mjs +0 -16
- package/esm2022/checkbox/checkbox.property.mjs +0 -136
- package/esm2022/checkbox/ng-nest-ui-checkbox.mjs +0 -5
- package/esm2022/checkbox/public-api.mjs +0 -4
- package/esm2022/collapse/collapse-panel.component.mjs +0 -55
- package/esm2022/collapse/collapse.component.mjs +0 -49
- package/esm2022/collapse/collapse.module.mjs +0 -17
- package/esm2022/collapse/collapse.property.mjs +0 -189
- package/esm2022/collapse/ng-nest-ui-collapse.mjs +0 -5
- package/esm2022/collapse/public-api.mjs +0 -5
- package/esm2022/color/color.component.mjs +0 -35
- package/esm2022/color/color.module.mjs +0 -16
- package/esm2022/color/color.property.mjs +0 -71
- package/esm2022/color/ng-nest-ui-color.mjs +0 -5
- package/esm2022/color/public-api.mjs +0 -4
- package/esm2022/color-picker/color-picker-portal.component.mjs +0 -396
- package/esm2022/color-picker/color-picker.component.mjs +0 -191
- package/esm2022/color-picker/color-picker.module.mjs +0 -16
- package/esm2022/color-picker/color-picker.property.mjs +0 -142
- package/esm2022/color-picker/ng-nest-ui-color-picker.mjs +0 -5
- package/esm2022/color-picker/public-api.mjs +0 -5
- package/esm2022/comment/comment-reply.component.mjs +0 -24
- package/esm2022/comment/comment.component.mjs +0 -55
- package/esm2022/comment/comment.module.mjs +0 -17
- package/esm2022/comment/comment.property.mjs +0 -90
- package/esm2022/comment/ng-nest-ui-comment.mjs +0 -5
- package/esm2022/comment/public-api.mjs +0 -5
- package/esm2022/container/aside.component.mjs +0 -25
- package/esm2022/container/container.component.mjs +0 -31
- package/esm2022/container/container.module.mjs +0 -20
- package/esm2022/container/container.property.mjs +0 -115
- package/esm2022/container/footer.component.mjs +0 -35
- package/esm2022/container/header.component.mjs +0 -35
- package/esm2022/container/main.component.mjs +0 -18
- package/esm2022/container/ng-nest-ui-container.mjs +0 -5
- package/esm2022/container/public-api.mjs +0 -8
- package/esm2022/core/animation/badge.mjs +0 -53
- package/esm2022/core/animation/connect.mjs +0 -31
- package/esm2022/core/animation/consts.mjs +0 -11
- package/esm2022/core/animation/drop.mjs +0 -13
- package/esm2022/core/animation/fade.mjs +0 -24
- package/esm2022/core/animation/move.mjs +0 -179
- package/esm2022/core/animation/opacity.mjs +0 -13
- package/esm2022/core/animation/public-api.mjs +0 -9
- package/esm2022/core/animation/slide.mjs +0 -17
- package/esm2022/core/config/config.mjs +0 -3
- package/esm2022/core/config/config.service.mjs +0 -54
- package/esm2022/core/config/index.mjs +0 -2
- package/esm2022/core/config/public-api.mjs +0 -3
- package/esm2022/core/functions/chunk.mjs +0 -25
- package/esm2022/core/functions/clone-deep.mjs +0 -28
- package/esm2022/core/functions/convert.mjs +0 -230
- package/esm2022/core/functions/csspx.mjs +0 -17
- package/esm2022/core/functions/date.mjs +0 -223
- package/esm2022/core/functions/drop.mjs +0 -20
- package/esm2022/core/functions/flex.mjs +0 -25
- package/esm2022/core/functions/group-by.mjs +0 -14
- package/esm2022/core/functions/guid.mjs +0 -11
- package/esm2022/core/functions/has-in.mjs +0 -8
- package/esm2022/core/functions/order-by.mjs +0 -56
- package/esm2022/core/functions/parent-path.mjs +0 -27
- package/esm2022/core/functions/property.mjs +0 -20
- package/esm2022/core/functions/public-api.mjs +0 -16
- package/esm2022/core/functions/remove.mjs +0 -19
- package/esm2022/core/functions/resize.mjs +0 -22
- package/esm2022/core/interfaces/data.type.mjs +0 -164
- package/esm2022/core/interfaces/identify.type.mjs +0 -7
- package/esm2022/core/interfaces/index.mjs +0 -2
- package/esm2022/core/interfaces/layout.type.mjs +0 -2
- package/esm2022/core/interfaces/public-api.mjs +0 -5
- package/esm2022/core/interfaces/result-list.type.mjs +0 -2
- package/esm2022/core/ng-nest-ui-core.mjs +0 -5
- package/esm2022/core/public-api.mjs +0 -8
- package/esm2022/core/services/http.service.mjs +0 -58
- package/esm2022/core/services/preloading-strategy.service.mjs +0 -24
- package/esm2022/core/services/public-api.mjs +0 -6
- package/esm2022/core/services/repository.service.mjs +0 -29
- package/esm2022/core/services/reuse-strategy.service.mjs +0 -47
- package/esm2022/core/services/storage.service.mjs +0 -75
- package/esm2022/core/theme/index.mjs +0 -2
- package/esm2022/core/theme/public-api.mjs +0 -3
- package/esm2022/core/theme/theme.mjs +0 -89
- package/esm2022/core/theme/theme.service.mjs +0 -270
- package/esm2022/core/util/animation.mjs +0 -26
- package/esm2022/core/util/camel-to-kebab.mjs +0 -16
- package/esm2022/core/util/check.mjs +0 -15
- package/esm2022/core/util/computed-style.mjs +0 -20
- package/esm2022/core/util/host.mjs +0 -14
- package/esm2022/core/util/html.mjs +0 -12
- package/esm2022/core/util/index.mjs +0 -2
- package/esm2022/core/util/kebab-to-camel.mjs +0 -16
- package/esm2022/core/util/log.mjs +0 -15
- package/esm2022/core/util/option.mjs +0 -14
- package/esm2022/core/util/public-api.mjs +0 -11
- package/esm2022/core/util/sleep.mjs +0 -8
- package/esm2022/crumb/crumb.component.mjs +0 -25
- package/esm2022/crumb/crumb.module.mjs +0 -16
- package/esm2022/crumb/crumb.property.mjs +0 -45
- package/esm2022/crumb/ng-nest-ui-crumb.mjs +0 -5
- package/esm2022/crumb/public-api.mjs +0 -4
- package/esm2022/date-picker/date-picker-portal.component.mjs +0 -196
- package/esm2022/date-picker/date-picker.component.mjs +0 -320
- package/esm2022/date-picker/date-picker.module.mjs +0 -17
- package/esm2022/date-picker/date-picker.property.mjs +0 -770
- package/esm2022/date-picker/date-quarter.pipe.mjs +0 -19
- package/esm2022/date-picker/date-range-portal.component.mjs +0 -349
- package/esm2022/date-picker/date-range.component.mjs +0 -432
- package/esm2022/date-picker/ng-nest-ui-date-picker.mjs +0 -5
- package/esm2022/date-picker/picker-date.component.mjs +0 -334
- package/esm2022/date-picker/picker-month.component.mjs +0 -232
- package/esm2022/date-picker/picker-quarter.component.mjs +0 -237
- package/esm2022/date-picker/picker-year.component.mjs +0 -233
- package/esm2022/date-picker/public-api.mjs +0 -12
- package/esm2022/description/description-item.component.mjs +0 -24
- package/esm2022/description/description.component.mjs +0 -48
- package/esm2022/description/description.module.mjs +0 -17
- package/esm2022/description/description.property.mjs +0 -219
- package/esm2022/description/ng-nest-ui-description.mjs +0 -5
- package/esm2022/description/public-api.mjs +0 -5
- package/esm2022/dialog/dialog-container.component.mjs +0 -29
- package/esm2022/dialog/dialog-portal.component.mjs +0 -97
- package/esm2022/dialog/dialog-portal.directives.mjs +0 -119
- package/esm2022/dialog/dialog-ref.mjs +0 -100
- package/esm2022/dialog/dialog.component.mjs +0 -282
- package/esm2022/dialog/dialog.module.mjs +0 -50
- package/esm2022/dialog/dialog.property.mjs +0 -207
- package/esm2022/dialog/dialog.service.mjs +0 -122
- package/esm2022/dialog/ng-nest-ui-dialog.mjs +0 -5
- package/esm2022/dialog/public-api.mjs +0 -9
- package/esm2022/doc/doc.component.mjs +0 -18
- package/esm2022/doc/doc.module.mjs +0 -16
- package/esm2022/doc/doc.property.mjs +0 -7
- package/esm2022/doc/ng-nest-ui-doc.mjs +0 -5
- package/esm2022/doc/public-api.mjs +0 -4
- package/esm2022/drag/drag.directive.mjs +0 -57
- package/esm2022/drag/drag.module.mjs +0 -16
- package/esm2022/drag/drag.property.mjs +0 -25
- package/esm2022/drag/ng-nest-ui-drag.mjs +0 -5
- package/esm2022/drag/public-api.mjs +0 -4
- package/esm2022/drawer/drawer-container.component.mjs +0 -29
- package/esm2022/drawer/drawer-portal.component.mjs +0 -50
- package/esm2022/drawer/drawer-portal.directives.mjs +0 -58
- package/esm2022/drawer/drawer-ref.mjs +0 -17
- package/esm2022/drawer/drawer.component.mjs +0 -95
- package/esm2022/drawer/drawer.module.mjs +0 -38
- package/esm2022/drawer/drawer.property.mjs +0 -84
- package/esm2022/drawer/drawer.service.mjs +0 -65
- package/esm2022/drawer/ng-nest-ui-drawer.mjs +0 -5
- package/esm2022/drawer/public-api.mjs +0 -10
- package/esm2022/dropdown/dropdown-portal.component.mjs +0 -204
- package/esm2022/dropdown/dropdown.component.mjs +0 -179
- package/esm2022/dropdown/dropdown.module.mjs +0 -16
- package/esm2022/dropdown/dropdown.property.mjs +0 -96
- package/esm2022/dropdown/ng-nest-ui-dropdown.mjs +0 -5
- package/esm2022/dropdown/public-api.mjs +0 -5
- package/esm2022/empty/empty.component.mjs +0 -15
- package/esm2022/empty/empty.module.mjs +0 -16
- package/esm2022/empty/empty.property.mjs +0 -54
- package/esm2022/empty/ng-nest-ui-empty.mjs +0 -5
- package/esm2022/empty/public-api.mjs +0 -4
- package/esm2022/examples/examples.component.mjs +0 -18
- package/esm2022/examples/examples.module.mjs +0 -16
- package/esm2022/examples/examples.property.mjs +0 -7
- package/esm2022/examples/ng-nest-ui-examples.mjs +0 -5
- package/esm2022/examples/public-api.mjs +0 -4
- package/esm2022/find/find.component.mjs +0 -331
- package/esm2022/find/find.module.mjs +0 -16
- package/esm2022/find/find.property.mjs +0 -260
- package/esm2022/find/ng-nest-ui-find.mjs +0 -5
- package/esm2022/find/public-api.mjs +0 -4
- package/esm2022/form/control.component.mjs +0 -249
- package/esm2022/form/form.component.mjs +0 -116
- package/esm2022/form/form.module.mjs +0 -17
- package/esm2022/form/form.property.mjs +0 -202
- package/esm2022/form/ng-nest-ui-form.mjs +0 -5
- package/esm2022/form/public-api.mjs +0 -5
- package/esm2022/highlight/highlight.component.mjs +0 -85
- package/esm2022/highlight/highlight.module.mjs +0 -16
- package/esm2022/highlight/highlight.property.mjs +0 -45
- package/esm2022/highlight/highlight.service.mjs +0 -17
- package/esm2022/highlight/ng-nest-ui-highlight.mjs +0 -5
- package/esm2022/highlight/public-api.mjs +0 -5
- package/esm2022/i18n/i18n.directive.mjs +0 -29
- package/esm2022/i18n/i18n.module.mjs +0 -17
- package/esm2022/i18n/i18n.pipe.mjs +0 -28
- package/esm2022/i18n/i18n.property.mjs +0 -9
- package/esm2022/i18n/i18n.service.mjs +0 -57
- package/esm2022/i18n/languages/ar_EG.mjs +0 -169
- package/esm2022/i18n/languages/bg_BG.mjs +0 -172
- package/esm2022/i18n/languages/ca_ES.mjs +0 -172
- package/esm2022/i18n/languages/cs_CZ.mjs +0 -172
- package/esm2022/i18n/languages/da_DK.mjs +0 -172
- package/esm2022/i18n/languages/de_DE.mjs +0 -172
- package/esm2022/i18n/languages/el_GR.mjs +0 -172
- package/esm2022/i18n/languages/en_GB.mjs +0 -181
- package/esm2022/i18n/languages/en_US.mjs +0 -181
- package/esm2022/i18n/languages/es_ES.mjs +0 -172
- package/esm2022/i18n/languages/et_EE.mjs +0 -172
- package/esm2022/i18n/languages/fa_IR.mjs +0 -172
- package/esm2022/i18n/languages/fi_FI.mjs +0 -172
- package/esm2022/i18n/languages/fr_BE.mjs +0 -172
- package/esm2022/i18n/languages/fr_FR.mjs +0 -172
- package/esm2022/i18n/languages/he_IL.mjs +0 -169
- package/esm2022/i18n/languages/hi_IN.mjs +0 -172
- package/esm2022/i18n/languages/hr_HR.mjs +0 -172
- package/esm2022/i18n/languages/hu_HU.mjs +0 -172
- package/esm2022/i18n/languages/hy_AM.mjs +0 -172
- package/esm2022/i18n/languages/id_ID.mjs +0 -172
- package/esm2022/i18n/languages/is_IS.mjs +0 -172
- package/esm2022/i18n/languages/it_IT.mjs +0 -172
- package/esm2022/i18n/languages/ja_JP.mjs +0 -172
- package/esm2022/i18n/languages/ka_GE.mjs +0 -172
- package/esm2022/i18n/languages/kn_IN.mjs +0 -172
- package/esm2022/i18n/languages/ko_KR.mjs +0 -180
- package/esm2022/i18n/languages/ku_IQ.mjs +0 -156
- package/esm2022/i18n/languages/lv_LV.mjs +0 -180
- package/esm2022/i18n/languages/mn_MN.mjs +0 -180
- package/esm2022/i18n/languages/ms_MY.mjs +0 -180
- package/esm2022/i18n/languages/nb_NO.mjs +0 -180
- package/esm2022/i18n/languages/ne_NP.mjs +0 -180
- package/esm2022/i18n/languages/nl_BE.mjs +0 -180
- package/esm2022/i18n/languages/nl_NL.mjs +0 -180
- package/esm2022/i18n/languages/pl_PL.mjs +0 -180
- package/esm2022/i18n/languages/pt_BR.mjs +0 -180
- package/esm2022/i18n/languages/pt_PT.mjs +0 -180
- package/esm2022/i18n/languages/ro_RO.mjs +0 -180
- package/esm2022/i18n/languages/ru_RU.mjs +0 -180
- package/esm2022/i18n/languages/sk_SK.mjs +0 -171
- package/esm2022/i18n/languages/sl_SI.mjs +0 -172
- package/esm2022/i18n/languages/sr_RS.mjs +0 -172
- package/esm2022/i18n/languages/sv_SE.mjs +0 -172
- package/esm2022/i18n/languages/ta_IN.mjs +0 -180
- package/esm2022/i18n/languages/th_TH.mjs +0 -180
- package/esm2022/i18n/languages/tr_TR.mjs +0 -180
- package/esm2022/i18n/languages/uk_UA.mjs +0 -180
- package/esm2022/i18n/languages/vi_VN.mjs +0 -180
- package/esm2022/i18n/languages/zh_CN.mjs +0 -180
- package/esm2022/i18n/languages/zh_TW.mjs +0 -180
- package/esm2022/i18n/ng-nest-ui-i18n.mjs +0 -5
- package/esm2022/i18n/public-api.mjs +0 -57
- package/esm2022/icon/icon.component.mjs +0 -158
- package/esm2022/icon/icon.module.mjs +0 -16
- package/esm2022/icon/icon.property.mjs +0 -65
- package/esm2022/icon/icon.service.mjs +0 -89
- package/esm2022/icon/ng-nest-ui-icon.mjs +0 -5
- package/esm2022/icon/public-api.mjs +0 -5
- package/esm2022/image/image-group.component.mjs +0 -27
- package/esm2022/image/image-preview.component.mjs +0 -135
- package/esm2022/image/image.component.mjs +0 -75
- package/esm2022/image/image.module.mjs +0 -18
- package/esm2022/image/image.property.mjs +0 -196
- package/esm2022/image/ng-nest-ui-image.mjs +0 -5
- package/esm2022/image/public-api.mjs +0 -6
- package/esm2022/index.mjs +0 -106
- package/esm2022/inner/inner.component.mjs +0 -25
- package/esm2022/inner/inner.module.mjs +0 -16
- package/esm2022/inner/inner.property.mjs +0 -30
- package/esm2022/inner/ng-nest-ui-inner.mjs +0 -5
- package/esm2022/inner/public-api.mjs +0 -4
- package/esm2022/input/input-group.component.mjs +0 -16
- package/esm2022/input/input.component.mjs +0 -224
- package/esm2022/input/input.module.mjs +0 -17
- package/esm2022/input/input.property.mjs +0 -281
- package/esm2022/input/ng-nest-ui-input.mjs +0 -5
- package/esm2022/input/public-api.mjs +0 -5
- package/esm2022/input-number/input-number.component.mjs +0 -131
- package/esm2022/input-number/input-number.module.mjs +0 -16
- package/esm2022/input-number/input-number.property.mjs +0 -146
- package/esm2022/input-number/ng-nest-ui-input-number.mjs +0 -5
- package/esm2022/input-number/public-api.mjs +0 -4
- package/esm2022/keyword/keyword.directive.mjs +0 -61
- package/esm2022/keyword/keyword.module.mjs +0 -16
- package/esm2022/keyword/keyword.property.mjs +0 -45
- package/esm2022/keyword/ng-nest-ui-keyword.mjs +0 -5
- package/esm2022/keyword/public-api.mjs +0 -4
- package/esm2022/layout/col.component.mjs +0 -68
- package/esm2022/layout/layout.module.mjs +0 -17
- package/esm2022/layout/layout.property.mjs +0 -150
- package/esm2022/layout/ng-nest-ui-layout.mjs +0 -5
- package/esm2022/layout/public-api.mjs +0 -5
- package/esm2022/layout/row.component.mjs +0 -54
- package/esm2022/link/link.component.mjs +0 -28
- package/esm2022/link/link.module.mjs +0 -16
- package/esm2022/link/link.property.mjs +0 -109
- package/esm2022/link/ng-nest-ui-link.mjs +0 -5
- package/esm2022/link/public-api.mjs +0 -4
- package/esm2022/list/list-drop-group.directive.mjs +0 -39
- package/esm2022/list/list-option.component.mjs +0 -37
- package/esm2022/list/list.component.mjs +0 -409
- package/esm2022/list/list.module.mjs +0 -18
- package/esm2022/list/list.property.mjs +0 -273
- package/esm2022/list/ng-nest-ui-list.mjs +0 -5
- package/esm2022/list/public-api.mjs +0 -6
- package/esm2022/loading/loading.component.mjs +0 -77
- package/esm2022/loading/loading.module.mjs +0 -16
- package/esm2022/loading/loading.property.mjs +0 -70
- package/esm2022/loading/ng-nest-ui-loading.mjs +0 -5
- package/esm2022/loading/public-api.mjs +0 -4
- package/esm2022/menu/menu-node.component.mjs +0 -36
- package/esm2022/menu/menu.component.mjs +0 -171
- package/esm2022/menu/menu.module.mjs +0 -17
- package/esm2022/menu/menu.property.mjs +0 -107
- package/esm2022/menu/ng-nest-ui-menu.mjs +0 -5
- package/esm2022/menu/public-api.mjs +0 -5
- package/esm2022/message/message-ref.mjs +0 -13
- package/esm2022/message/message.component.mjs +0 -40
- package/esm2022/message/message.module.mjs +0 -15
- package/esm2022/message/message.property.mjs +0 -9
- package/esm2022/message/message.service.mjs +0 -146
- package/esm2022/message/ng-nest-ui-message.mjs +0 -5
- package/esm2022/message/public-api.mjs +0 -6
- package/esm2022/message-box/message-box.component.mjs +0 -122
- package/esm2022/message-box/message-box.module.mjs +0 -15
- package/esm2022/message-box/message-box.property.mjs +0 -8
- package/esm2022/message-box/message-box.service.mjs +0 -97
- package/esm2022/message-box/ng-nest-ui-message-box.mjs +0 -5
- package/esm2022/message-box/public-api.mjs +0 -5
- package/esm2022/ng-nest-ui.mjs +0 -5
- package/esm2022/notification/ng-nest-ui-notification.mjs +0 -5
- package/esm2022/notification/notification.component.mjs +0 -42
- package/esm2022/notification/notification.module.mjs +0 -15
- package/esm2022/notification/notification.property.mjs +0 -8
- package/esm2022/notification/notification.service.mjs +0 -107
- package/esm2022/notification/public-api.mjs +0 -5
- package/esm2022/outlet/ng-nest-ui-outlet.mjs +0 -5
- package/esm2022/outlet/outlet.directive.mjs +0 -72
- package/esm2022/outlet/outlet.module.mjs +0 -16
- package/esm2022/outlet/outlet.property.mjs +0 -7
- package/esm2022/outlet/public-api.mjs +0 -4
- package/esm2022/page-header/ng-nest-ui-page-header.mjs +0 -5
- package/esm2022/page-header/page-header.component.mjs +0 -24
- package/esm2022/page-header/page-header.module.mjs +0 -16
- package/esm2022/page-header/page-header.property.mjs +0 -50
- package/esm2022/page-header/public-api.mjs +0 -4
- package/esm2022/pagination/ng-nest-ui-pagination.mjs +0 -5
- package/esm2022/pagination/pagination.component.mjs +0 -205
- package/esm2022/pagination/pagination.module.mjs +0 -16
- package/esm2022/pagination/pagination.property.mjs +0 -149
- package/esm2022/pagination/public-api.mjs +0 -4
- package/esm2022/pattern/ng-nest-ui-pattern.mjs +0 -5
- package/esm2022/pattern/pattern.component.mjs +0 -18
- package/esm2022/pattern/pattern.module.mjs +0 -16
- package/esm2022/pattern/pattern.property.mjs +0 -7
- package/esm2022/pattern/public-api.mjs +0 -4
- package/esm2022/popconfirm/ng-nest-ui-popconfirm.mjs +0 -5
- package/esm2022/popconfirm/popconfirm.component.mjs +0 -59
- package/esm2022/popconfirm/popconfirm.module.mjs +0 -16
- package/esm2022/popconfirm/popconfirm.property.mjs +0 -100
- package/esm2022/popconfirm/public-api.mjs +0 -4
- package/esm2022/popover/ng-nest-ui-popover.mjs +0 -5
- package/esm2022/popover/popover-portal.component.mjs +0 -52
- package/esm2022/popover/popover.directive.mjs +0 -186
- package/esm2022/popover/popover.module.mjs +0 -16
- package/esm2022/popover/popover.property.mjs +0 -101
- package/esm2022/popover/public-api.mjs +0 -5
- package/esm2022/portal/ng-nest-ui-portal.mjs +0 -5
- package/esm2022/portal/portal.module.mjs +0 -16
- package/esm2022/portal/portal.property.mjs +0 -24
- package/esm2022/portal/portal.service.mjs +0 -190
- package/esm2022/portal/public-api.mjs +0 -4
- package/esm2022/progress/ng-nest-ui-progress.mjs +0 -5
- package/esm2022/progress/progress.component.mjs +0 -224
- package/esm2022/progress/progress.module.mjs +0 -16
- package/esm2022/progress/progress.property.mjs +0 -110
- package/esm2022/progress/public-api.mjs +0 -4
- package/esm2022/radio/ng-nest-ui-radio.mjs +0 -5
- package/esm2022/radio/public-api.mjs +0 -4
- package/esm2022/radio/radio.component.mjs +0 -77
- package/esm2022/radio/radio.module.mjs +0 -16
- package/esm2022/radio/radio.property.mjs +0 -121
- package/esm2022/rate/ng-nest-ui-rate.mjs +0 -5
- package/esm2022/rate/public-api.mjs +0 -4
- package/esm2022/rate/rate.component.mjs +0 -99
- package/esm2022/rate/rate.module.mjs +0 -16
- package/esm2022/rate/rate.property.mjs +0 -86
- package/esm2022/resizable/ng-nest-ui-resizable.mjs +0 -5
- package/esm2022/resizable/public-api.mjs +0 -4
- package/esm2022/resizable/resizable.directive.mjs +0 -262
- package/esm2022/resizable/resizable.module.mjs +0 -16
- package/esm2022/resizable/resizable.property.mjs +0 -64
- package/esm2022/result/ng-nest-ui-result.mjs +0 -5
- package/esm2022/result/public-api.mjs +0 -4
- package/esm2022/result/result.component.mjs +0 -25
- package/esm2022/result/result.module.mjs +0 -16
- package/esm2022/result/result.property.mjs +0 -45
- package/esm2022/ripple/ng-nest-ui-ripple.mjs +0 -5
- package/esm2022/ripple/public-api.mjs +0 -4
- package/esm2022/ripple/ripple.directive.mjs +0 -83
- package/esm2022/ripple/ripple.module.mjs +0 -16
- package/esm2022/ripple/ripple.property.mjs +0 -40
- package/esm2022/select/ng-nest-ui-select.mjs +0 -5
- package/esm2022/select/public-api.mjs +0 -5
- package/esm2022/select/select-portal.component.mjs +0 -102
- package/esm2022/select/select.component.mjs +0 -680
- package/esm2022/select/select.module.mjs +0 -16
- package/esm2022/select/select.property.mjs +0 -231
- package/esm2022/skeleton/ng-nest-ui-skeleton.mjs +0 -5
- package/esm2022/skeleton/public-api.mjs +0 -4
- package/esm2022/skeleton/skeleton.component.mjs +0 -23
- package/esm2022/skeleton/skeleton.module.mjs +0 -16
- package/esm2022/skeleton/skeleton.property.mjs +0 -55
- package/esm2022/slider/ng-nest-ui-slider.mjs +0 -5
- package/esm2022/slider/public-api.mjs +0 -4
- package/esm2022/slider/slider.component.mjs +0 -222
- package/esm2022/slider/slider.module.mjs +0 -17
- package/esm2022/slider/slider.property.mjs +0 -102
- package/esm2022/slider-select/ng-nest-ui-slider-select.mjs +0 -5
- package/esm2022/slider-select/public-api.mjs +0 -4
- package/esm2022/slider-select/slider-select.component.mjs +0 -363
- package/esm2022/slider-select/slider-select.module.mjs +0 -16
- package/esm2022/slider-select/slider-select.property.mjs +0 -136
- package/esm2022/statistic/countdown.component.mjs +0 -70
- package/esm2022/statistic/ng-nest-ui-statistic.mjs +0 -5
- package/esm2022/statistic/public-api.mjs +0 -5
- package/esm2022/statistic/statistic.component.mjs +0 -34
- package/esm2022/statistic/statistic.module.mjs +0 -17
- package/esm2022/statistic/statistic.property.mjs +0 -106
- package/esm2022/steps/ng-nest-ui-steps.mjs +0 -5
- package/esm2022/steps/public-api.mjs +0 -4
- package/esm2022/steps/steps.component.mjs +0 -49
- package/esm2022/steps/steps.module.mjs +0 -16
- package/esm2022/steps/steps.property.mjs +0 -60
- package/esm2022/switch/ng-nest-ui-switch.mjs +0 -5
- package/esm2022/switch/public-api.mjs +0 -4
- package/esm2022/switch/switch.component.mjs +0 -37
- package/esm2022/switch/switch.module.mjs +0 -16
- package/esm2022/switch/switch.property.mjs +0 -91
- package/esm2022/table/ng-nest-ui-table.mjs +0 -5
- package/esm2022/table/public-api.mjs +0 -7
- package/esm2022/table/table-body.component.mjs +0 -236
- package/esm2022/table/table-foot.component.mjs +0 -29
- package/esm2022/table/table-head.component.mjs +0 -169
- package/esm2022/table/table.component.mjs +0 -372
- package/esm2022/table/table.module.mjs +0 -19
- package/esm2022/table/table.property.mjs +0 -624
- package/esm2022/tabs/ng-nest-ui-tabs.mjs +0 -5
- package/esm2022/tabs/public-api.mjs +0 -7
- package/esm2022/tabs/tab-content.component.mjs +0 -21
- package/esm2022/tabs/tab-link.directive.mjs +0 -46
- package/esm2022/tabs/tab.component.mjs +0 -19
- package/esm2022/tabs/tabs.component.mjs +0 -143
- package/esm2022/tabs/tabs.module.mjs +0 -18
- package/esm2022/tabs/tabs.property.mjs +0 -141
- package/esm2022/tag/ng-nest-ui-tag.mjs +0 -5
- package/esm2022/tag/public-api.mjs +0 -4
- package/esm2022/tag/tag.component.mjs +0 -51
- package/esm2022/tag/tag.module.mjs +0 -16
- package/esm2022/tag/tag.property.mjs +0 -80
- package/esm2022/text-retract/ng-nest-ui-text-retract.mjs +0 -5
- package/esm2022/text-retract/public-api.mjs +0 -4
- package/esm2022/text-retract/text-retract.component.mjs +0 -42
- package/esm2022/text-retract/text-retract.module.mjs +0 -16
- package/esm2022/text-retract/text-retract.property.mjs +0 -35
- package/esm2022/textarea/ng-nest-ui-textarea.mjs +0 -5
- package/esm2022/textarea/public-api.mjs +0 -4
- package/esm2022/textarea/textarea.component.mjs +0 -68
- package/esm2022/textarea/textarea.module.mjs +0 -16
- package/esm2022/textarea/textarea.property.mjs +0 -126
- package/esm2022/theme/ng-nest-ui-theme.mjs +0 -5
- package/esm2022/theme/public-api.mjs +0 -4
- package/esm2022/theme/theme.component.mjs +0 -179
- package/esm2022/theme/theme.module.mjs +0 -16
- package/esm2022/theme/theme.property.mjs +0 -63
- package/esm2022/time-ago/ng-nest-ui-time-ago.mjs +0 -5
- package/esm2022/time-ago/public-api.mjs +0 -4
- package/esm2022/time-ago/time-ago.module.mjs +0 -16
- package/esm2022/time-ago/time-ago.pipe.mjs +0 -70
- package/esm2022/time-ago/time-ago.property.mjs +0 -7
- package/esm2022/time-picker/ng-nest-ui-time-picker.mjs +0 -5
- package/esm2022/time-picker/public-api.mjs +0 -6
- package/esm2022/time-picker/time-picker-frame.component.mjs +0 -312
- package/esm2022/time-picker/time-picker-portal.component.mjs +0 -78
- package/esm2022/time-picker/time-picker.component.mjs +0 -266
- package/esm2022/time-picker/time-picker.module.mjs +0 -17
- package/esm2022/time-picker/time-picker.property.mjs +0 -198
- package/esm2022/time-range/ng-nest-ui-time-range.mjs +0 -5
- package/esm2022/time-range/public-api.mjs +0 -4
- package/esm2022/time-range/time-range.module.mjs +0 -16
- package/esm2022/time-range/time-range.pipe.mjs +0 -44
- package/esm2022/time-range/time-range.property.mjs +0 -7
- package/esm2022/timeline/ng-nest-ui-timeline.mjs +0 -5
- package/esm2022/timeline/public-api.mjs +0 -4
- package/esm2022/timeline/timeline.component.mjs +0 -45
- package/esm2022/timeline/timeline.module.mjs +0 -16
- package/esm2022/timeline/timeline.property.mjs +0 -50
- package/esm2022/tooltip/ng-nest-ui-tooltip.mjs +0 -5
- package/esm2022/tooltip/public-api.mjs +0 -5
- package/esm2022/tooltip/tooltip-portal.component.mjs +0 -103
- package/esm2022/tooltip/tooltip.directive.mjs +0 -143
- package/esm2022/tooltip/tooltip.module.mjs +0 -16
- package/esm2022/tooltip/tooltip.property.mjs +0 -86
- package/esm2022/transfer/ng-nest-ui-transfer.mjs +0 -5
- package/esm2022/transfer/public-api.mjs +0 -4
- package/esm2022/transfer/transfer.component.mjs +0 -659
- package/esm2022/transfer/transfer.module.mjs +0 -16
- package/esm2022/transfer/transfer.property.mjs +0 -112
- package/esm2022/tree/ng-nest-ui-tree.mjs +0 -5
- package/esm2022/tree/public-api.mjs +0 -5
- package/esm2022/tree/tree-node.component.mjs +0 -297
- package/esm2022/tree/tree.component.mjs +0 -579
- package/esm2022/tree/tree.module.mjs +0 -17
- package/esm2022/tree/tree.property.mjs +0 -337
- package/esm2022/tree/tree.service.mjs +0 -102
- package/esm2022/tree-file/ng-nest-ui-tree-file.mjs +0 -5
- package/esm2022/tree-file/public-api.mjs +0 -4
- package/esm2022/tree-file/tree-file.component.mjs +0 -118
- package/esm2022/tree-file/tree-file.module.mjs +0 -16
- package/esm2022/tree-file/tree-file.property.mjs +0 -90
- package/esm2022/tree-select/ng-nest-ui-tree-select.mjs +0 -5
- package/esm2022/tree-select/public-api.mjs +0 -5
- package/esm2022/tree-select/tree-select-portal.component.mjs +0 -86
- package/esm2022/tree-select/tree-select.component.mjs +0 -659
- package/esm2022/tree-select/tree-select.module.mjs +0 -17
- package/esm2022/tree-select/tree-select.property.mjs +0 -237
- package/esm2022/typography/ng-nest-ui-typography.mjs +0 -5
- package/esm2022/typography/public-api.mjs +0 -4
- package/esm2022/typography/typography.component.mjs +0 -27
- package/esm2022/typography/typography.module.mjs +0 -16
- package/esm2022/typography/typography.property.mjs +0 -34
- package/esm2022/upload/ng-nest-ui-upload.mjs +0 -5
- package/esm2022/upload/public-api.mjs +0 -5
- package/esm2022/upload/upload-portal.component.mjs +0 -196
- package/esm2022/upload/upload.component.mjs +0 -233
- package/esm2022/upload/upload.module.mjs +0 -16
- package/esm2022/upload/upload.property.mjs +0 -118
- package/style/core/base.scss +0 -20
- package/style/core/cdk.scss +0 -72
- package/style/core/portal.scss +0 -5
- package/style/core/var.scss +0 -4
- package/style/mixins/index.scss +0 -9
- package/style/params/layout.scss +0 -73
- package/style/params/primary.scss +0 -208
- package/style/themes/default.scss +0 -1
|
@@ -1,770 +0,0 @@
|
|
|
1
|
-
import { XProperty, XToBoolean, XToCssPixelValue, XToDataConvert } from '@ng-nest/ui/core';
|
|
2
|
-
import { Component, input, model, output } from '@angular/core';
|
|
3
|
-
import { XFormControlFunction } from '@ng-nest/ui/base-form';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
/**
|
|
6
|
-
* DatePicker
|
|
7
|
-
* @selector x-date-picker
|
|
8
|
-
* @decorator component
|
|
9
|
-
*/
|
|
10
|
-
export const XDatePickerPrefix = 'x-date-picker';
|
|
11
|
-
const X_DATA_PICKER_CONFIG_NAME = 'datePicker';
|
|
12
|
-
/**
|
|
13
|
-
* DatePicker Property
|
|
14
|
-
*/
|
|
15
|
-
export class XDatePickerProperty extends XFormControlFunction(X_DATA_PICKER_CONFIG_NAME) {
|
|
16
|
-
constructor() {
|
|
17
|
-
super(...arguments);
|
|
18
|
-
/**
|
|
19
|
-
* @zh_CN 选择类型
|
|
20
|
-
* @en_US Select type
|
|
21
|
-
*/
|
|
22
|
-
this.type = input('date');
|
|
23
|
-
/**
|
|
24
|
-
* @zh_CN 格式化类型
|
|
25
|
-
* @en_US Format type
|
|
26
|
-
*/
|
|
27
|
-
this.format = input(this.config?.format ?? 'yyyy-MM-dd');
|
|
28
|
-
/**
|
|
29
|
-
* @zh_CN 清除按钮
|
|
30
|
-
* @en_US Clear button
|
|
31
|
-
*/
|
|
32
|
-
this.clearable = input(this.config?.clearable ?? true, { transform: XToBoolean });
|
|
33
|
-
/**
|
|
34
|
-
* @zh_CN 展示方位
|
|
35
|
-
* @en_US Display position
|
|
36
|
-
*/
|
|
37
|
-
this.placement = input(this.config?.placement ?? 'bottom-start');
|
|
38
|
-
/**
|
|
39
|
-
* @zh_CN 显示边框
|
|
40
|
-
* @en_US Display Border
|
|
41
|
-
*/
|
|
42
|
-
this.bordered = input(this.config?.bordered ?? true, { transform: XToBoolean });
|
|
43
|
-
/**
|
|
44
|
-
* @zh_CN 快捷选择按钮,自定义或直接设置今天(today),昨天(yesterday),明天(tomorrow)
|
|
45
|
-
* @en_US Quick selection button, support today, yesterday, tomorrow
|
|
46
|
-
*/
|
|
47
|
-
this.preset = input([], { transform: XToDataConvert });
|
|
48
|
-
/**
|
|
49
|
-
* @zh_CN 页脚
|
|
50
|
-
* @en_US Footer
|
|
51
|
-
*/
|
|
52
|
-
this.extraFooter = input();
|
|
53
|
-
/**
|
|
54
|
-
* @zh_CN 禁用的日期
|
|
55
|
-
* @en_US Disabled date
|
|
56
|
-
*/
|
|
57
|
-
this.disabledDate = input();
|
|
58
|
-
/**
|
|
59
|
-
* @zh_CN 禁用的时间
|
|
60
|
-
* @en_US Disabled time
|
|
61
|
-
*/
|
|
62
|
-
this.disabledTime = input();
|
|
63
|
-
/**
|
|
64
|
-
* @zh_CN 尺寸
|
|
65
|
-
* @en_US Size
|
|
66
|
-
*/
|
|
67
|
-
this.size = input(this.config?.size ?? 'medium');
|
|
68
|
-
/**
|
|
69
|
-
* @zh_CN 输入框点击样式
|
|
70
|
-
* @en_US Input pointer
|
|
71
|
-
*/
|
|
72
|
-
this.pointer = input(false, { transform: XToBoolean });
|
|
73
|
-
/**
|
|
74
|
-
* @zh_CN 标签
|
|
75
|
-
* @en_US Label
|
|
76
|
-
*/
|
|
77
|
-
this.label = input('');
|
|
78
|
-
/**
|
|
79
|
-
* @zh_CN 标签宽度
|
|
80
|
-
* @en_US Label width
|
|
81
|
-
*/
|
|
82
|
-
this.labelWidth = input('', { transform: XToCssPixelValue });
|
|
83
|
-
/**
|
|
84
|
-
* @zh_CN 标签文字对齐方式
|
|
85
|
-
* @en_US Label text alignment method
|
|
86
|
-
*/
|
|
87
|
-
this.labelAlign = input('start');
|
|
88
|
-
/**
|
|
89
|
-
* @zh_CN flex 布局下的子元素水平排列方式
|
|
90
|
-
* @en_US The level of sub-element level arrangement under flex layout
|
|
91
|
-
*/
|
|
92
|
-
this.justify = input('start');
|
|
93
|
-
/**
|
|
94
|
-
* @zh_CN flex 布局下的子元素垂直排列方式
|
|
95
|
-
* @en_US sub-element vertical arrangement method under flex layout
|
|
96
|
-
*/
|
|
97
|
-
this.align = input('start');
|
|
98
|
-
/**
|
|
99
|
-
* @zh_CN flex 布局下的子元素排列方向
|
|
100
|
-
* @en_US The direction of the sub-element arrangement under flex layout
|
|
101
|
-
*/
|
|
102
|
-
this.direction = input('column');
|
|
103
|
-
/**
|
|
104
|
-
* @zh_CN 输入提示信息
|
|
105
|
-
* @en_US Enter prompt information
|
|
106
|
-
*/
|
|
107
|
-
this.placeholder = input('');
|
|
108
|
-
/**
|
|
109
|
-
* @zh_CN 禁用
|
|
110
|
-
* @en_US Disabled
|
|
111
|
-
*/
|
|
112
|
-
this.disabled = input(false, { transform: XToBoolean });
|
|
113
|
-
/**
|
|
114
|
-
* @zh_CN 必填
|
|
115
|
-
* @en_US Required
|
|
116
|
-
*/
|
|
117
|
-
this.required = input(false, { transform: XToBoolean });
|
|
118
|
-
/**
|
|
119
|
-
* @zh_CN 只读
|
|
120
|
-
* @en_US Readonly
|
|
121
|
-
*/
|
|
122
|
-
this.readonly = input(false, { transform: XToBoolean });
|
|
123
|
-
/**
|
|
124
|
-
* @zh_CN 值模板
|
|
125
|
-
* @en_US Node template
|
|
126
|
-
*/
|
|
127
|
-
this.valueTpl = input();
|
|
128
|
-
/**
|
|
129
|
-
* @zh_CN 值模板参数
|
|
130
|
-
* @en_US Node template
|
|
131
|
-
*/
|
|
132
|
-
this.valueTplContext = input();
|
|
133
|
-
/**
|
|
134
|
-
* @zh_CN 前置标签
|
|
135
|
-
* @en_US Before label
|
|
136
|
-
*/
|
|
137
|
-
this.before = input();
|
|
138
|
-
/**
|
|
139
|
-
* @zh_CN 后置标签
|
|
140
|
-
* @en_US After label
|
|
141
|
-
*/
|
|
142
|
-
this.after = input();
|
|
143
|
-
/**
|
|
144
|
-
* @zh_CN 正则验证规则
|
|
145
|
-
* @en_US Regular verification rules
|
|
146
|
-
*/
|
|
147
|
-
this.pattern = input(null);
|
|
148
|
-
/**
|
|
149
|
-
* @zh_CN 验证不通过提示文字
|
|
150
|
-
* @en_US Verify not pass the prompt text
|
|
151
|
-
*/
|
|
152
|
-
this.message = input([]);
|
|
153
|
-
/**
|
|
154
|
-
* @zh_CN 激活状态
|
|
155
|
-
* @en_US Activation state
|
|
156
|
-
*/
|
|
157
|
-
this.active = model(false);
|
|
158
|
-
/**
|
|
159
|
-
* @zh_CN 输入验证函数
|
|
160
|
-
* @en_US Enter the verification function
|
|
161
|
-
*/
|
|
162
|
-
this.inputValidator = input();
|
|
163
|
-
/**
|
|
164
|
-
* @zh_CN 节点点击的事件
|
|
165
|
-
* @en_US Node click event
|
|
166
|
-
*/
|
|
167
|
-
this.nodeEmit = output();
|
|
168
|
-
}
|
|
169
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XDatePickerProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
170
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.2", type: XDatePickerProperty, selector: "x-date-picker-property", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: false, transformFunction: null }, clearable: { classPropertyName: "clearable", publicName: "clearable", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, bordered: { classPropertyName: "bordered", publicName: "bordered", isSignal: true, isRequired: false, transformFunction: null }, preset: { classPropertyName: "preset", publicName: "preset", isSignal: true, isRequired: false, transformFunction: null }, extraFooter: { classPropertyName: "extraFooter", publicName: "extraFooter", isSignal: true, isRequired: false, transformFunction: null }, disabledDate: { classPropertyName: "disabledDate", publicName: "disabledDate", isSignal: true, isRequired: false, transformFunction: null }, disabledTime: { classPropertyName: "disabledTime", publicName: "disabledTime", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, pointer: { classPropertyName: "pointer", publicName: "pointer", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, labelWidth: { classPropertyName: "labelWidth", publicName: "labelWidth", isSignal: true, isRequired: false, transformFunction: null }, labelAlign: { classPropertyName: "labelAlign", publicName: "labelAlign", isSignal: true, isRequired: false, transformFunction: null }, justify: { classPropertyName: "justify", publicName: "justify", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, valueTpl: { classPropertyName: "valueTpl", publicName: "valueTpl", isSignal: true, isRequired: false, transformFunction: null }, valueTplContext: { classPropertyName: "valueTplContext", publicName: "valueTplContext", isSignal: true, isRequired: false, transformFunction: null }, before: { classPropertyName: "before", publicName: "before", isSignal: true, isRequired: false, transformFunction: null }, after: { classPropertyName: "after", publicName: "after", isSignal: true, isRequired: false, transformFunction: null }, pattern: { classPropertyName: "pattern", publicName: "pattern", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: false, transformFunction: null }, active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null }, inputValidator: { classPropertyName: "inputValidator", publicName: "inputValidator", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { active: "activeChange", nodeEmit: "nodeEmit" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
|
|
171
|
-
}
|
|
172
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XDatePickerProperty, decorators: [{
|
|
173
|
-
type: Component,
|
|
174
|
-
args: [{ selector: `${XDatePickerPrefix}-property`, template: '' }]
|
|
175
|
-
}] });
|
|
176
|
-
/**
|
|
177
|
-
* DateRange
|
|
178
|
-
* @selector x-date-range
|
|
179
|
-
* @decorator component
|
|
180
|
-
*/
|
|
181
|
-
export const XDateRangePrefix = 'x-date-range';
|
|
182
|
-
const X_DATA_RANGE_CONFIG_NAME = 'dateRange';
|
|
183
|
-
/**
|
|
184
|
-
* DateRange Property
|
|
185
|
-
*/
|
|
186
|
-
export class XDateRangeProperty extends XFormControlFunction(X_DATA_RANGE_CONFIG_NAME) {
|
|
187
|
-
constructor() {
|
|
188
|
-
super(...arguments);
|
|
189
|
-
/**
|
|
190
|
-
* @zh_CN 选择类型
|
|
191
|
-
* @en_US Select type
|
|
192
|
-
*/
|
|
193
|
-
this.type = input('date');
|
|
194
|
-
/**
|
|
195
|
-
* @zh_CN 格式化类型
|
|
196
|
-
* @en_US Format type
|
|
197
|
-
*/
|
|
198
|
-
this.format = input(this.config?.format ?? 'yyyy-MM-dd');
|
|
199
|
-
/**
|
|
200
|
-
* @zh_CN 清除按钮
|
|
201
|
-
* @en_US Clear button
|
|
202
|
-
*/
|
|
203
|
-
this.clearable = input(this.config?.clearable ?? true, { transform: XToBoolean });
|
|
204
|
-
/**
|
|
205
|
-
* @zh_CN 展示方位
|
|
206
|
-
* @en_US Display position
|
|
207
|
-
*/
|
|
208
|
-
this.placement = input(this.config?.placement ?? 'bottom-start');
|
|
209
|
-
/**
|
|
210
|
-
* @zh_CN 显示边框
|
|
211
|
-
* @en_US Display Border
|
|
212
|
-
*/
|
|
213
|
-
this.bordered = input(this.config?.bordered ?? true, { transform: XToBoolean });
|
|
214
|
-
/**
|
|
215
|
-
* @zh_CN 快捷选择按钮,自定义或直接设置本周(thisWeek)、上周(lastWeek)、下周(nextWeek)、本月(thisMonth)、上一月(lastMonth)、下一月(nextMonth)、本年(thisYear)、去年(lastYear)、明年(nextYear)
|
|
216
|
-
* @en_US Quick selection button, support thisWeek, lastWeek, nextWeek, thisMonth, lastMonth, nextMonth, thisYear, lastYear, nextYear
|
|
217
|
-
*/
|
|
218
|
-
this.preset = input([], { transform: XToDataConvert });
|
|
219
|
-
/**
|
|
220
|
-
* @zh_CN 页脚
|
|
221
|
-
* @en_US Footer
|
|
222
|
-
*/
|
|
223
|
-
this.extraFooter = input();
|
|
224
|
-
/**
|
|
225
|
-
* @zh_CN 禁用的日期
|
|
226
|
-
* @en_US Disabled date
|
|
227
|
-
*/
|
|
228
|
-
this.disabledDate = input();
|
|
229
|
-
/**
|
|
230
|
-
* @zh_CN 禁用的时间
|
|
231
|
-
* @en_US Disabled time
|
|
232
|
-
*/
|
|
233
|
-
this.disabledTime = input();
|
|
234
|
-
/**
|
|
235
|
-
* @zh_CN 尺寸
|
|
236
|
-
* @en_US Size
|
|
237
|
-
*/
|
|
238
|
-
this.size = input(this.config?.size ?? 'medium');
|
|
239
|
-
/**
|
|
240
|
-
* @zh_CN 输入框点击样式
|
|
241
|
-
* @en_US Input pointer
|
|
242
|
-
*/
|
|
243
|
-
this.pointer = input(false, { transform: XToBoolean });
|
|
244
|
-
/**
|
|
245
|
-
* @zh_CN 标签
|
|
246
|
-
* @en_US Label
|
|
247
|
-
*/
|
|
248
|
-
this.label = input('');
|
|
249
|
-
/**
|
|
250
|
-
* @zh_CN 标签宽度
|
|
251
|
-
* @en_US Label width
|
|
252
|
-
*/
|
|
253
|
-
this.labelWidth = input('', { transform: XToCssPixelValue });
|
|
254
|
-
/**
|
|
255
|
-
* @zh_CN 标签文字对齐方式
|
|
256
|
-
* @en_US Label text alignment method
|
|
257
|
-
*/
|
|
258
|
-
this.labelAlign = input('start');
|
|
259
|
-
/**
|
|
260
|
-
* @zh_CN flex 布局下的子元素水平排列方式
|
|
261
|
-
* @en_US The level of sub-element level arrangement under flex layout
|
|
262
|
-
*/
|
|
263
|
-
this.justify = input('start');
|
|
264
|
-
/**
|
|
265
|
-
* @zh_CN flex 布局下的子元素垂直排列方式
|
|
266
|
-
* @en_US sub-element vertical arrangement method under flex layout
|
|
267
|
-
*/
|
|
268
|
-
this.align = input('start');
|
|
269
|
-
/**
|
|
270
|
-
* @zh_CN flex 布局下的子元素排列方向
|
|
271
|
-
* @en_US The direction of the sub-element arrangement under flex layout
|
|
272
|
-
*/
|
|
273
|
-
this.direction = input('column');
|
|
274
|
-
/**
|
|
275
|
-
* @zh_CN 输入提示信息
|
|
276
|
-
* @en_US Enter prompt information
|
|
277
|
-
*/
|
|
278
|
-
this.placeholder = input('');
|
|
279
|
-
/**
|
|
280
|
-
* @zh_CN 禁用
|
|
281
|
-
* @en_US Disabled
|
|
282
|
-
*/
|
|
283
|
-
this.disabled = input(false, { transform: XToBoolean });
|
|
284
|
-
/**
|
|
285
|
-
* @zh_CN 必填
|
|
286
|
-
* @en_US Required
|
|
287
|
-
*/
|
|
288
|
-
this.required = input(false, { transform: XToBoolean });
|
|
289
|
-
/**
|
|
290
|
-
* @zh_CN 只读
|
|
291
|
-
* @en_US Readonly
|
|
292
|
-
*/
|
|
293
|
-
this.readonly = input(false, { transform: XToBoolean });
|
|
294
|
-
/**
|
|
295
|
-
* @zh_CN 前置标签
|
|
296
|
-
* @en_US Before label
|
|
297
|
-
*/
|
|
298
|
-
this.before = input();
|
|
299
|
-
/**
|
|
300
|
-
* @zh_CN 后置标签
|
|
301
|
-
* @en_US After label
|
|
302
|
-
*/
|
|
303
|
-
this.after = input();
|
|
304
|
-
/**
|
|
305
|
-
* @zh_CN 正则验证规则
|
|
306
|
-
* @en_US Regular verification rules
|
|
307
|
-
*/
|
|
308
|
-
this.pattern = input(null);
|
|
309
|
-
/**
|
|
310
|
-
* @zh_CN 验证不通过提示文字
|
|
311
|
-
* @en_US Verify not pass the prompt text
|
|
312
|
-
*/
|
|
313
|
-
this.message = input([]);
|
|
314
|
-
/**
|
|
315
|
-
* @zh_CN 输入验证函数
|
|
316
|
-
* @en_US Enter the verification function
|
|
317
|
-
*/
|
|
318
|
-
this.inputValidator = input();
|
|
319
|
-
/**
|
|
320
|
-
* @zh_CN 节点点击的事件
|
|
321
|
-
* @en_US Node click event
|
|
322
|
-
*/
|
|
323
|
-
this.nodeEmit = output();
|
|
324
|
-
}
|
|
325
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XDateRangeProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
326
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.2", type: XDateRangeProperty, selector: "x-date-range-property", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: false, transformFunction: null }, clearable: { classPropertyName: "clearable", publicName: "clearable", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, bordered: { classPropertyName: "bordered", publicName: "bordered", isSignal: true, isRequired: false, transformFunction: null }, preset: { classPropertyName: "preset", publicName: "preset", isSignal: true, isRequired: false, transformFunction: null }, extraFooter: { classPropertyName: "extraFooter", publicName: "extraFooter", isSignal: true, isRequired: false, transformFunction: null }, disabledDate: { classPropertyName: "disabledDate", publicName: "disabledDate", isSignal: true, isRequired: false, transformFunction: null }, disabledTime: { classPropertyName: "disabledTime", publicName: "disabledTime", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, pointer: { classPropertyName: "pointer", publicName: "pointer", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, labelWidth: { classPropertyName: "labelWidth", publicName: "labelWidth", isSignal: true, isRequired: false, transformFunction: null }, labelAlign: { classPropertyName: "labelAlign", publicName: "labelAlign", isSignal: true, isRequired: false, transformFunction: null }, justify: { classPropertyName: "justify", publicName: "justify", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, before: { classPropertyName: "before", publicName: "before", isSignal: true, isRequired: false, transformFunction: null }, after: { classPropertyName: "after", publicName: "after", isSignal: true, isRequired: false, transformFunction: null }, pattern: { classPropertyName: "pattern", publicName: "pattern", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: false, transformFunction: null }, inputValidator: { classPropertyName: "inputValidator", publicName: "inputValidator", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { nodeEmit: "nodeEmit" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
|
|
327
|
-
}
|
|
328
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XDateRangeProperty, decorators: [{
|
|
329
|
-
type: Component,
|
|
330
|
-
args: [{ selector: `${XDateRangePrefix}-property`, template: '' }]
|
|
331
|
-
}] });
|
|
332
|
-
/**
|
|
333
|
-
* DatePicker Portal
|
|
334
|
-
* @selector x-date-picker-portal
|
|
335
|
-
* @decorator component
|
|
336
|
-
*/
|
|
337
|
-
export const XDatePickerPortalPrefix = 'x-date-picker-portal';
|
|
338
|
-
/**
|
|
339
|
-
* DateRange Portal
|
|
340
|
-
* @selector x-date-range-portal
|
|
341
|
-
* @decorator component
|
|
342
|
-
*/
|
|
343
|
-
export const XDateRangePortalPrefix = 'x-date-range-portal';
|
|
344
|
-
/**
|
|
345
|
-
* PickerDate
|
|
346
|
-
* @selector x-picker-date
|
|
347
|
-
* @decorator component
|
|
348
|
-
*/
|
|
349
|
-
export const XPickerDatePrefix = 'x-picker-date';
|
|
350
|
-
/**
|
|
351
|
-
* PickerDate Property
|
|
352
|
-
*/
|
|
353
|
-
export class XPickerDateProperty extends XProperty {
|
|
354
|
-
constructor() {
|
|
355
|
-
super(...arguments);
|
|
356
|
-
/**
|
|
357
|
-
* @zh_CN 选择类型
|
|
358
|
-
* @en_US Select type
|
|
359
|
-
*/
|
|
360
|
-
this.type = model('date');
|
|
361
|
-
/**
|
|
362
|
-
* @zh_CN 显示的日期
|
|
363
|
-
* @en_US Date displayed
|
|
364
|
-
*/
|
|
365
|
-
this.display = model(new Date());
|
|
366
|
-
/**
|
|
367
|
-
* @zh_CN 选中的日期
|
|
368
|
-
* @en_US Selected date
|
|
369
|
-
*/
|
|
370
|
-
this.model = model();
|
|
371
|
-
/**
|
|
372
|
-
* @zh_CN 日期显示模板
|
|
373
|
-
* @en_US Date display template
|
|
374
|
-
*/
|
|
375
|
-
this.dateTemp = input();
|
|
376
|
-
/**
|
|
377
|
-
* @zh_CN 显示切换按钮
|
|
378
|
-
* @en_US Display switch button
|
|
379
|
-
*/
|
|
380
|
-
this.showHeader = input(true, { transform: XToBoolean });
|
|
381
|
-
/**
|
|
382
|
-
* @zh_CN 范围选择
|
|
383
|
-
* @en_US Range picker
|
|
384
|
-
*/
|
|
385
|
-
this.rangePicker = input(false, { transform: XToBoolean });
|
|
386
|
-
/**
|
|
387
|
-
* @zh_CN 上一年
|
|
388
|
-
* @en_US Last year
|
|
389
|
-
*/
|
|
390
|
-
this.lastYearBtn = input(true, { transform: XToBoolean });
|
|
391
|
-
/**
|
|
392
|
-
* @zh_CN 上月
|
|
393
|
-
* @en_US Last month
|
|
394
|
-
*/
|
|
395
|
-
this.lastMonthBtn = input(true, { transform: XToBoolean });
|
|
396
|
-
/**
|
|
397
|
-
* @zh_CN 下一年
|
|
398
|
-
* @en_US Next year
|
|
399
|
-
*/
|
|
400
|
-
this.nextYearBtn = input(true, { transform: XToBoolean });
|
|
401
|
-
/**
|
|
402
|
-
* @zh_CN 上月
|
|
403
|
-
* @en_US Next month
|
|
404
|
-
*/
|
|
405
|
-
this.nextMonthBtn = input(true, { transform: XToBoolean });
|
|
406
|
-
/**
|
|
407
|
-
* @zh_CN 范围 hover 效果
|
|
408
|
-
* @en_US Range hover style
|
|
409
|
-
*/
|
|
410
|
-
this.rangeHover = input(true, { transform: XToBoolean });
|
|
411
|
-
/**
|
|
412
|
-
* @zh_CN 范围日期
|
|
413
|
-
* @en_US Range date
|
|
414
|
-
*/
|
|
415
|
-
this.rangeValue = input([]);
|
|
416
|
-
/**
|
|
417
|
-
* @zh_CN 当前选择的是开始/结束日期
|
|
418
|
-
* @en_US The current choice is the start / end date
|
|
419
|
-
*/
|
|
420
|
-
this.rangeType = input();
|
|
421
|
-
/**
|
|
422
|
-
* @zh_CN 禁用的日期
|
|
423
|
-
* @en_US Disabled date
|
|
424
|
-
*/
|
|
425
|
-
this.disabledDate = input();
|
|
426
|
-
/**
|
|
427
|
-
* @zh_CN 范围变化的事件
|
|
428
|
-
* @en_US Scope change event
|
|
429
|
-
*/
|
|
430
|
-
this.rangeChange = output();
|
|
431
|
-
/**
|
|
432
|
-
* @zh_CN 选年的事件
|
|
433
|
-
* @en_US Year change event
|
|
434
|
-
*/
|
|
435
|
-
this.yearChange = output();
|
|
436
|
-
/**
|
|
437
|
-
* @zh_CN 选月的事件
|
|
438
|
-
* @en_US Month change event
|
|
439
|
-
*/
|
|
440
|
-
this.monthChange = output();
|
|
441
|
-
/**
|
|
442
|
-
* @zh_CN 范围日期 mouseenter 事件
|
|
443
|
-
* @en_US Date mouseenter event
|
|
444
|
-
*/
|
|
445
|
-
this.rangeTdMouseenter = output();
|
|
446
|
-
/**
|
|
447
|
-
* @zh_CN 范围日期 mouseleave 事件
|
|
448
|
-
* @en_US Date mouseleave event
|
|
449
|
-
*/
|
|
450
|
-
this.rangeTdMouseleave = output();
|
|
451
|
-
}
|
|
452
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XPickerDateProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
453
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.2", type: XPickerDateProperty, selector: "x-picker-date-property", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, display: { classPropertyName: "display", publicName: "display", isSignal: true, isRequired: false, transformFunction: null }, model: { classPropertyName: "model", publicName: "model", isSignal: true, isRequired: false, transformFunction: null }, dateTemp: { classPropertyName: "dateTemp", publicName: "dateTemp", isSignal: true, isRequired: false, transformFunction: null }, showHeader: { classPropertyName: "showHeader", publicName: "showHeader", isSignal: true, isRequired: false, transformFunction: null }, rangePicker: { classPropertyName: "rangePicker", publicName: "rangePicker", isSignal: true, isRequired: false, transformFunction: null }, lastYearBtn: { classPropertyName: "lastYearBtn", publicName: "lastYearBtn", isSignal: true, isRequired: false, transformFunction: null }, lastMonthBtn: { classPropertyName: "lastMonthBtn", publicName: "lastMonthBtn", isSignal: true, isRequired: false, transformFunction: null }, nextYearBtn: { classPropertyName: "nextYearBtn", publicName: "nextYearBtn", isSignal: true, isRequired: false, transformFunction: null }, nextMonthBtn: { classPropertyName: "nextMonthBtn", publicName: "nextMonthBtn", isSignal: true, isRequired: false, transformFunction: null }, rangeHover: { classPropertyName: "rangeHover", publicName: "rangeHover", isSignal: true, isRequired: false, transformFunction: null }, rangeValue: { classPropertyName: "rangeValue", publicName: "rangeValue", isSignal: true, isRequired: false, transformFunction: null }, rangeType: { classPropertyName: "rangeType", publicName: "rangeType", isSignal: true, isRequired: false, transformFunction: null }, disabledDate: { classPropertyName: "disabledDate", publicName: "disabledDate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { type: "typeChange", display: "displayChange", model: "modelChange", rangeChange: "rangeChange", yearChange: "yearChange", monthChange: "monthChange", rangeTdMouseenter: "rangeTdMouseenter", rangeTdMouseleave: "rangeTdMouseleave" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
|
|
454
|
-
}
|
|
455
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XPickerDateProperty, decorators: [{
|
|
456
|
-
type: Component,
|
|
457
|
-
args: [{ selector: `${XPickerDatePrefix}-property`, template: '' }]
|
|
458
|
-
}] });
|
|
459
|
-
/**
|
|
460
|
-
* PickerMonth
|
|
461
|
-
* @selector x-picker-month
|
|
462
|
-
* @decorator component
|
|
463
|
-
*/
|
|
464
|
-
export const XPickerMonthPrefix = 'x-picker-month';
|
|
465
|
-
/**
|
|
466
|
-
* PickerMonth Property
|
|
467
|
-
*/
|
|
468
|
-
export class XPickerMonthProperty extends XProperty {
|
|
469
|
-
constructor() {
|
|
470
|
-
super(...arguments);
|
|
471
|
-
/**
|
|
472
|
-
* @zh_CN 选择类型
|
|
473
|
-
* @en_US Select type
|
|
474
|
-
*/
|
|
475
|
-
this.type = model('date');
|
|
476
|
-
/**
|
|
477
|
-
* @zh_CN 显示的日期
|
|
478
|
-
* @en_US Date displayed
|
|
479
|
-
*/
|
|
480
|
-
this.display = model(new Date());
|
|
481
|
-
/**
|
|
482
|
-
* @zh_CN 选中的日期
|
|
483
|
-
* @en_US Selected date
|
|
484
|
-
*/
|
|
485
|
-
this.model = model();
|
|
486
|
-
/**
|
|
487
|
-
* @zh_CN 月份显示模板
|
|
488
|
-
* @en_US Month display template
|
|
489
|
-
*/
|
|
490
|
-
this.monthTemp = input();
|
|
491
|
-
/**
|
|
492
|
-
* @zh_CN 显示切换按钮
|
|
493
|
-
* @en_US Display switch button
|
|
494
|
-
*/
|
|
495
|
-
this.showHeader = input(true, { transform: XToBoolean });
|
|
496
|
-
/**
|
|
497
|
-
* @zh_CN 范围选择
|
|
498
|
-
* @en_US Range picker
|
|
499
|
-
*/
|
|
500
|
-
this.rangePicker = input(false, { transform: XToBoolean });
|
|
501
|
-
/**
|
|
502
|
-
* @zh_CN 上一年
|
|
503
|
-
* @en_US Last year
|
|
504
|
-
*/
|
|
505
|
-
this.lastYearBtn = input(true, { transform: XToBoolean });
|
|
506
|
-
/**
|
|
507
|
-
* @zh_CN 下一年
|
|
508
|
-
* @en_US Next year
|
|
509
|
-
*/
|
|
510
|
-
this.nextYearBtn = input(true, { transform: XToBoolean });
|
|
511
|
-
/**
|
|
512
|
-
* @zh_CN 范围月份
|
|
513
|
-
* @en_US Range date
|
|
514
|
-
*/
|
|
515
|
-
this.rangeValue = input([]);
|
|
516
|
-
/**
|
|
517
|
-
* @zh_CN 当前选择的是开始/结束日期
|
|
518
|
-
* @en_US The current choice is the start / end date
|
|
519
|
-
*/
|
|
520
|
-
this.rangeType = input();
|
|
521
|
-
/**
|
|
522
|
-
* @zh_CN 禁用的日期
|
|
523
|
-
* @en_US Disabled date
|
|
524
|
-
*/
|
|
525
|
-
this.disabledDate = input();
|
|
526
|
-
/**
|
|
527
|
-
* @zh_CN 范围变化的事件
|
|
528
|
-
* @en_US Scope change event
|
|
529
|
-
*/
|
|
530
|
-
this.rangeChange = output();
|
|
531
|
-
/**
|
|
532
|
-
* @zh_CN 选年的事件
|
|
533
|
-
* @en_US Year change event
|
|
534
|
-
*/
|
|
535
|
-
this.yearChange = output();
|
|
536
|
-
/**
|
|
537
|
-
* @zh_CN 选月的事件
|
|
538
|
-
* @en_US Month change event
|
|
539
|
-
*/
|
|
540
|
-
this.monthChange = output();
|
|
541
|
-
/**
|
|
542
|
-
* @zh_CN 范围月份 mouseenter 事件
|
|
543
|
-
* @en_US Date mouseenter event
|
|
544
|
-
*/
|
|
545
|
-
this.rangeTdMouseenter = output();
|
|
546
|
-
/**
|
|
547
|
-
* @zh_CN 范围月份 mouseleave 事件
|
|
548
|
-
* @en_US Date mouseleave event
|
|
549
|
-
*/
|
|
550
|
-
this.rangeTdMouseleave = output();
|
|
551
|
-
}
|
|
552
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XPickerMonthProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
553
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.2", type: XPickerMonthProperty, selector: "x-picker-month-property", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, display: { classPropertyName: "display", publicName: "display", isSignal: true, isRequired: false, transformFunction: null }, model: { classPropertyName: "model", publicName: "model", isSignal: true, isRequired: false, transformFunction: null }, monthTemp: { classPropertyName: "monthTemp", publicName: "monthTemp", isSignal: true, isRequired: false, transformFunction: null }, showHeader: { classPropertyName: "showHeader", publicName: "showHeader", isSignal: true, isRequired: false, transformFunction: null }, rangePicker: { classPropertyName: "rangePicker", publicName: "rangePicker", isSignal: true, isRequired: false, transformFunction: null }, lastYearBtn: { classPropertyName: "lastYearBtn", publicName: "lastYearBtn", isSignal: true, isRequired: false, transformFunction: null }, nextYearBtn: { classPropertyName: "nextYearBtn", publicName: "nextYearBtn", isSignal: true, isRequired: false, transformFunction: null }, rangeValue: { classPropertyName: "rangeValue", publicName: "rangeValue", isSignal: true, isRequired: false, transformFunction: null }, rangeType: { classPropertyName: "rangeType", publicName: "rangeType", isSignal: true, isRequired: false, transformFunction: null }, disabledDate: { classPropertyName: "disabledDate", publicName: "disabledDate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { type: "typeChange", display: "displayChange", model: "modelChange", rangeChange: "rangeChange", yearChange: "yearChange", monthChange: "monthChange", rangeTdMouseenter: "rangeTdMouseenter", rangeTdMouseleave: "rangeTdMouseleave" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
|
|
554
|
-
}
|
|
555
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XPickerMonthProperty, decorators: [{
|
|
556
|
-
type: Component,
|
|
557
|
-
args: [{ selector: `${XPickerMonthPrefix}-property`, template: '' }]
|
|
558
|
-
}] });
|
|
559
|
-
/**
|
|
560
|
-
* PickerQuarter
|
|
561
|
-
* @selector x-picker-quarter
|
|
562
|
-
* @decorator component
|
|
563
|
-
*/
|
|
564
|
-
export const XPickerQuarterPrefix = 'x-picker-quarter';
|
|
565
|
-
/**
|
|
566
|
-
* PickerQuarter Property
|
|
567
|
-
*/
|
|
568
|
-
export class XPickerQuarterProperty extends XProperty {
|
|
569
|
-
constructor() {
|
|
570
|
-
super(...arguments);
|
|
571
|
-
/**
|
|
572
|
-
* @zh_CN 选择类型
|
|
573
|
-
* @en_US Select type
|
|
574
|
-
*/
|
|
575
|
-
this.type = model('date');
|
|
576
|
-
/**
|
|
577
|
-
* @zh_CN 显示的日期
|
|
578
|
-
* @en_US Date displayed
|
|
579
|
-
*/
|
|
580
|
-
this.display = model(new Date());
|
|
581
|
-
/**
|
|
582
|
-
* @zh_CN 选中的日期
|
|
583
|
-
* @en_US Selected date
|
|
584
|
-
*/
|
|
585
|
-
this.model = model();
|
|
586
|
-
/**
|
|
587
|
-
* @zh_CN 季度显示模板
|
|
588
|
-
* @en_US Month display template
|
|
589
|
-
*/
|
|
590
|
-
this.quarterTemp = input();
|
|
591
|
-
/**
|
|
592
|
-
* @zh_CN 显示切换按钮
|
|
593
|
-
* @en_US Display switch button
|
|
594
|
-
*/
|
|
595
|
-
this.showHeader = input(true, { transform: XToBoolean });
|
|
596
|
-
/**
|
|
597
|
-
* @zh_CN 范围选择
|
|
598
|
-
* @en_US Range picker
|
|
599
|
-
*/
|
|
600
|
-
this.rangePicker = input(false, { transform: XToBoolean });
|
|
601
|
-
/**
|
|
602
|
-
* @zh_CN 上一年
|
|
603
|
-
* @en_US Last year
|
|
604
|
-
*/
|
|
605
|
-
this.lastYearBtn = input(true, { transform: XToBoolean });
|
|
606
|
-
/**
|
|
607
|
-
* @zh_CN 下一年
|
|
608
|
-
* @en_US Next year
|
|
609
|
-
*/
|
|
610
|
-
this.nextYearBtn = input(true, { transform: XToBoolean });
|
|
611
|
-
/**
|
|
612
|
-
* @zh_CN 范围月份
|
|
613
|
-
* @en_US Range date
|
|
614
|
-
*/
|
|
615
|
-
this.rangeValue = input([]);
|
|
616
|
-
/**
|
|
617
|
-
* @zh_CN 当前选择的是开始/结束日期
|
|
618
|
-
* @en_US The current choice is the start / end date
|
|
619
|
-
*/
|
|
620
|
-
this.rangeType = input();
|
|
621
|
-
/**
|
|
622
|
-
* @zh_CN 禁用的日期
|
|
623
|
-
* @en_US Disabled date
|
|
624
|
-
*/
|
|
625
|
-
this.disabledDate = input();
|
|
626
|
-
/**
|
|
627
|
-
* @zh_CN 范围变化的事件
|
|
628
|
-
* @en_US Scope change event
|
|
629
|
-
*/
|
|
630
|
-
this.rangeChange = output();
|
|
631
|
-
/**
|
|
632
|
-
* @zh_CN 选年的事件
|
|
633
|
-
* @en_US Year change event
|
|
634
|
-
*/
|
|
635
|
-
this.yearChange = output();
|
|
636
|
-
/**
|
|
637
|
-
* @zh_CN 选月的事件
|
|
638
|
-
* @en_US Month change event
|
|
639
|
-
*/
|
|
640
|
-
this.monthChange = output();
|
|
641
|
-
/**
|
|
642
|
-
* @zh_CN 范围季度 mouseenter 事件
|
|
643
|
-
* @en_US Date mouseenter event
|
|
644
|
-
*/
|
|
645
|
-
this.rangeTdMouseenter = output();
|
|
646
|
-
/**
|
|
647
|
-
* @zh_CN 范围季度 mouseleave 事件
|
|
648
|
-
* @en_US Date mouseleave event
|
|
649
|
-
*/
|
|
650
|
-
this.rangeTdMouseleave = output();
|
|
651
|
-
}
|
|
652
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XPickerQuarterProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
653
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.2", type: XPickerQuarterProperty, selector: "x-picker-quarter-property", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, display: { classPropertyName: "display", publicName: "display", isSignal: true, isRequired: false, transformFunction: null }, model: { classPropertyName: "model", publicName: "model", isSignal: true, isRequired: false, transformFunction: null }, quarterTemp: { classPropertyName: "quarterTemp", publicName: "quarterTemp", isSignal: true, isRequired: false, transformFunction: null }, showHeader: { classPropertyName: "showHeader", publicName: "showHeader", isSignal: true, isRequired: false, transformFunction: null }, rangePicker: { classPropertyName: "rangePicker", publicName: "rangePicker", isSignal: true, isRequired: false, transformFunction: null }, lastYearBtn: { classPropertyName: "lastYearBtn", publicName: "lastYearBtn", isSignal: true, isRequired: false, transformFunction: null }, nextYearBtn: { classPropertyName: "nextYearBtn", publicName: "nextYearBtn", isSignal: true, isRequired: false, transformFunction: null }, rangeValue: { classPropertyName: "rangeValue", publicName: "rangeValue", isSignal: true, isRequired: false, transformFunction: null }, rangeType: { classPropertyName: "rangeType", publicName: "rangeType", isSignal: true, isRequired: false, transformFunction: null }, disabledDate: { classPropertyName: "disabledDate", publicName: "disabledDate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { type: "typeChange", display: "displayChange", model: "modelChange", rangeChange: "rangeChange", yearChange: "yearChange", monthChange: "monthChange", rangeTdMouseenter: "rangeTdMouseenter", rangeTdMouseleave: "rangeTdMouseleave" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
|
|
654
|
-
}
|
|
655
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XPickerQuarterProperty, decorators: [{
|
|
656
|
-
type: Component,
|
|
657
|
-
args: [{ selector: `${XPickerQuarterPrefix}-property`, template: '' }]
|
|
658
|
-
}] });
|
|
659
|
-
/**
|
|
660
|
-
* DateQuarter
|
|
661
|
-
* @selector xDateQuarter
|
|
662
|
-
* @decorator pipe
|
|
663
|
-
*/
|
|
664
|
-
export const XDateQuarterPrefix = 'xDateQuarter';
|
|
665
|
-
/**
|
|
666
|
-
* PickerYear
|
|
667
|
-
* @selector x-picker-year
|
|
668
|
-
* @decorator component
|
|
669
|
-
*/
|
|
670
|
-
export const XPickerYearPrefix = 'x-picker-year';
|
|
671
|
-
/**
|
|
672
|
-
* PickerYear Property
|
|
673
|
-
*/
|
|
674
|
-
export class XPickerYearProperty extends XProperty {
|
|
675
|
-
constructor() {
|
|
676
|
-
super(...arguments);
|
|
677
|
-
/**
|
|
678
|
-
* @zh_CN 选择类型
|
|
679
|
-
* @en_US Select type
|
|
680
|
-
*/
|
|
681
|
-
this.type = model('date');
|
|
682
|
-
/**
|
|
683
|
-
* @zh_CN 显示的日期
|
|
684
|
-
* @en_US Date displayed
|
|
685
|
-
*/
|
|
686
|
-
this.display = model(new Date());
|
|
687
|
-
/**
|
|
688
|
-
* @zh_CN 选中的日期
|
|
689
|
-
* @en_US Selected date
|
|
690
|
-
*/
|
|
691
|
-
this.model = model();
|
|
692
|
-
/**
|
|
693
|
-
* @zh_CN 年份显示模板
|
|
694
|
-
* @en_US Month display template
|
|
695
|
-
*/
|
|
696
|
-
this.yearTemp = input();
|
|
697
|
-
/**
|
|
698
|
-
* @zh_CN 显示切换按钮
|
|
699
|
-
* @en_US Display switch button
|
|
700
|
-
*/
|
|
701
|
-
this.showHeader = input(true, { transform: XToBoolean });
|
|
702
|
-
/**
|
|
703
|
-
* @zh_CN 范围选择
|
|
704
|
-
* @en_US Range picker
|
|
705
|
-
*/
|
|
706
|
-
this.rangePicker = input(false, { transform: XToBoolean });
|
|
707
|
-
/**
|
|
708
|
-
* @zh_CN 上一年
|
|
709
|
-
* @en_US Last year
|
|
710
|
-
*/
|
|
711
|
-
this.lastYearBtn = input(true, { transform: XToBoolean });
|
|
712
|
-
/**
|
|
713
|
-
* @zh_CN 下一年
|
|
714
|
-
* @en_US Next year
|
|
715
|
-
*/
|
|
716
|
-
this.nextYearBtn = input(true, { transform: XToBoolean });
|
|
717
|
-
/**
|
|
718
|
-
* @zh_CN 范围年份
|
|
719
|
-
* @en_US Range date
|
|
720
|
-
*/
|
|
721
|
-
this.rangeValue = input([]);
|
|
722
|
-
/**
|
|
723
|
-
* @zh_CN 当前选择的是开始/结束日期
|
|
724
|
-
* @en_US The current choice is the start / end date
|
|
725
|
-
*/
|
|
726
|
-
this.rangeType = input();
|
|
727
|
-
/**
|
|
728
|
-
* @zh_CN 禁用的日期
|
|
729
|
-
* @en_US Disabled date
|
|
730
|
-
*/
|
|
731
|
-
this.disabledDate = input();
|
|
732
|
-
/**
|
|
733
|
-
* @zh_CN 开始年份变化的事件
|
|
734
|
-
* @en_US Start year change event
|
|
735
|
-
*/
|
|
736
|
-
this.startChange = output();
|
|
737
|
-
/**
|
|
738
|
-
* @zh_CN 范围变化的事件
|
|
739
|
-
* @en_US Scope change event
|
|
740
|
-
*/
|
|
741
|
-
this.rangeChange = output();
|
|
742
|
-
/**
|
|
743
|
-
* @zh_CN 选年的事件
|
|
744
|
-
* @en_US Year change event
|
|
745
|
-
*/
|
|
746
|
-
this.yearChange = output();
|
|
747
|
-
/**
|
|
748
|
-
* @zh_CN 选月的事件
|
|
749
|
-
* @en_US Month change event
|
|
750
|
-
*/
|
|
751
|
-
this.monthChange = output();
|
|
752
|
-
/**
|
|
753
|
-
* @zh_CN 范围月份 mouseenter 事件
|
|
754
|
-
* @en_US Date mouseenter event
|
|
755
|
-
*/
|
|
756
|
-
this.rangeTdMouseenter = output();
|
|
757
|
-
/**
|
|
758
|
-
* @zh_CN 范围月份 mouseleave 事件
|
|
759
|
-
* @en_US Date mouseleave event
|
|
760
|
-
*/
|
|
761
|
-
this.rangeTdMouseleave = output();
|
|
762
|
-
}
|
|
763
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XPickerYearProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
764
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.2", type: XPickerYearProperty, selector: "x-picker-year-property", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, display: { classPropertyName: "display", publicName: "display", isSignal: true, isRequired: false, transformFunction: null }, model: { classPropertyName: "model", publicName: "model", isSignal: true, isRequired: false, transformFunction: null }, yearTemp: { classPropertyName: "yearTemp", publicName: "yearTemp", isSignal: true, isRequired: false, transformFunction: null }, showHeader: { classPropertyName: "showHeader", publicName: "showHeader", isSignal: true, isRequired: false, transformFunction: null }, rangePicker: { classPropertyName: "rangePicker", publicName: "rangePicker", isSignal: true, isRequired: false, transformFunction: null }, lastYearBtn: { classPropertyName: "lastYearBtn", publicName: "lastYearBtn", isSignal: true, isRequired: false, transformFunction: null }, nextYearBtn: { classPropertyName: "nextYearBtn", publicName: "nextYearBtn", isSignal: true, isRequired: false, transformFunction: null }, rangeValue: { classPropertyName: "rangeValue", publicName: "rangeValue", isSignal: true, isRequired: false, transformFunction: null }, rangeType: { classPropertyName: "rangeType", publicName: "rangeType", isSignal: true, isRequired: false, transformFunction: null }, disabledDate: { classPropertyName: "disabledDate", publicName: "disabledDate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { type: "typeChange", display: "displayChange", model: "modelChange", startChange: "startChange", rangeChange: "rangeChange", yearChange: "yearChange", monthChange: "monthChange", rangeTdMouseenter: "rangeTdMouseenter", rangeTdMouseleave: "rangeTdMouseleave" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
|
|
765
|
-
}
|
|
766
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XPickerYearProperty, decorators: [{
|
|
767
|
-
type: Component,
|
|
768
|
-
args: [{ selector: `${XPickerYearPrefix}-property`, template: '' }]
|
|
769
|
-
}] });
|
|
770
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIucHJvcGVydHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMzRixPQUFPLEVBQWUsU0FBUyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxvQkFBb0IsRUFBZSxNQUFNLHVCQUF1QixDQUFDOztBQWMxRTs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsZUFBZSxDQUFDO0FBQ2pELE1BQU0seUJBQXlCLEdBQUcsWUFBWSxDQUFDO0FBRS9DOztHQUVHO0FBRUgsTUFBTSxPQUFPLG1CQUFvQixTQUFRLG9CQUFvQixDQUFDLHlCQUF5QixDQUFDO0lBRHhGOztRQUVFOzs7V0FHRztRQUNNLFNBQUksR0FBRyxLQUFLLENBQWtCLE1BQU0sQ0FBQyxDQUFDO1FBQy9DOzs7V0FHRztRQUNNLFdBQU0sR0FBRyxLQUFLLENBQVMsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLElBQUksWUFBWSxDQUFDLENBQUM7UUFDckU7OztXQUdHO1FBQ00sY0FBUyxHQUFHLEtBQUssQ0FBb0IsSUFBSSxDQUFDLE1BQU0sRUFBRSxTQUFTLElBQUksSUFBSSxFQUFFLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDekc7OztXQUdHO1FBQ00sY0FBUyxHQUFHLEtBQUssQ0FBVSxJQUFJLENBQUMsTUFBTSxFQUFFLFNBQVMsSUFBSSxjQUFjLENBQUMsQ0FBQztRQUM5RTs7O1dBR0c7UUFDTSxhQUFRLEdBQUcsS0FBSyxDQUFvQixJQUFJLENBQUMsTUFB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QUM7UUFDbEY7OztXQUdHO1FBQ00sZ0JBQVcsR0FBRyxLQUFLLENBQW9CLElBQUksRUFBRSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQ2pGOzs7V0FHRztRQUNNLGdCQUFXLEdBQUcsS0FBSyxDQUFvQixJQUFJLEVBQUUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUNqRjs7O1dBR0c7UUFDTSxlQUFVLEdBQUcsS0FBSyxDQUFvQixFQUFFLENBQUMsQ0FBQztRQUNuRDs7O1dBR0c7UUFDTSxjQUFTLEdBQUcsS0FBSyxFQUF1QixDQUFDO1FBQ2xEOzs7V0FHRztRQUNNLGlCQUFZLEdBQUcsS0FBSyxFQUEyQixDQUFDO1FBQ3pEOzs7V0FHRztRQUNNLGdCQUFXLEdBQUcsTUFBTSxFQUFVLENBQUM7UUFDeEM7OztXQUdHO1FBQ00sZ0JBQVcsR0FBRyxNQUFNLEVBQVUsQ0FBQztRQUN4Qzs7O1dBR0c7UUFDTSxlQUFVLEdBQUcsTUFBTSxFQUFVLENBQUM7UUFDdkM7OztXQUdHO1FBQ00sZ0JBQVcsR0FBRyxNQUFNLEVBQVUsQ0FBQztRQUN4Qzs7O1dBR0c7UUFDTSxzQkFBaUIsR0FBRyxNQUFNLEVBQWEsQ0FBQztRQUNqRDs7O1dBR0c7UUFDTSxzQkFBaUIsR0FBRyxNQUFNLEVBQWEsQ0FBQztLQUNsRDtpSUF0RlksbUJBQW1CO3FIQUFuQixtQkFBbUIseXhEQURrQyxFQUFFOzsyRkFDdkQsbUJBQW1CO2tCQUQvQixTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLEdBQUcsaUJBQWlCLFdBQVcsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgWFByb3BlcnR5LCBYVG9Cb29sZWFuLCBYVG9Dc3NQaXhlbFZhbHVlLCBYVG9EYXRhQ29udmVydCB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBUZW1wbGF0ZVJlZiwgQ29tcG9uZW50LCBpbnB1dCwgbW9kZWwsIG91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYRm9ybUNvbnRyb2xGdW5jdGlvbiwgWEZvcm1PcHRpb24gfSBmcm9tICdAbmctbmVzdC91aS9iYXNlLWZvcm0nO1xyXG5pbXBvcnQgdHlwZSB7XHJcbiAgWEJvb2xlYW4sXHJcbiAgWENvcm5lcixcclxuICBYU2l6ZSxcclxuICBYVGVtcGxhdGUsXHJcbiAgWERhdGEsXHJcbiAgWElkZW50aXR5UHJvcGVydHksXHJcbiAgWERpcmVjdGlvbixcclxuICBYQWxpZ24sXHJcbiAgWEp1c3RpZnksXHJcbiAgWE51bWJlclxyXG59IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5cclxuLyoqXHJcbiAqIERhdGVQaWNrZXJcclxuICogQHNlbGVjdG9yIHgtZGF0ZS1waWNrZXJcclxuICogQGRlY29yYXRvciBjb21wb25lbnRcclxuICovXHJcbmV4cG9ydCBjb25zdCBYRGF0ZVBpY2tlclByZWZpeCA9ICd4LWRhdGUtcGlja2VyJztcclxuY29uc3QgWF9EQVRBX1BJQ0tFUl9DT05GSUdfTkFNRSA9ICdkYXRlUGlja2VyJztcclxuXHJcbi8qKlxyXG4gKiBEYXRlUGlja2VyIFByb3BlcnR5XHJcbiAqL1xyXG5AQ29tcG9uZW50KHsgc2VsZWN0b3I6IGAke1hEYXRlUGlja2VyUHJlZml4fS1wcm9wZXJ0eWAsIHRlbXBsYXRlOiAnJyB9KVxyXG5leHBvcnQgY2xhc3MgWERhdGVQaWNrZXJQcm9wZXJ0eSBleHRlbmRzIFhGb3JtQ29udHJvbEZ1bmN0aW9uKFhfREFUQV9QSUNLRVJfQ09ORklHX05BTUUpIHtcclxuICAvKipcclxuICAgKiBAemhfQ04g6YCJ5oup57G75Z6LXHJcbiAgICogQGVuX1VTIFNlbGVjdCB0eXBlXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgdHlwZSA9IGlucHV0PFhEYXRlUGlja2VyVHlwZT4oJ2RhdGUnKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5qC85byP5YyW57G75Z6LXHJcbiAgICogQGVuX1VTIEZvcm1hdCB0eXBlXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgZm9ybWF0ID0gaW5wdXQ8c3RyaW5nPih0aGlzLmNvbmZpZz8uZm9ybWF0ID8/ICd5eXl5LU1NLWRkJyk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOa4hemZpOaMiemSrlxyXG4gICAqIEBlbl9VUyBDbGVhciBidXR0b25cclxuICAgKi9cclxuICByZWFkb25seSBjbGVhcmFibGUgPSBpbnB1dDxib29sZWFuLCBYQm9vbGVhbj4odGhpcy5jb25maWc/LmNsZWFyYWJsZSA/PyB0cnVlLCB7IHRyYW5zZm9ybTogWFRvQm9vbGVhbiB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5bGV56S65pa55L2NXHJcbiAgICogQGVuX1VTIERpc3BsYXkgcG9zaXRpb25cclxuICAgKi9cclxuICByZWFkb25seSBwbGFjZW1lbnQgPSBpbnB1dDxYQ29ybmVyPih0aGlzLmNvbmZpZz8ucGxhY2VtZW50ID8/ICdib3R0b20tc3RhcnQnKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pi+56S66L655qGGXHJcbiAgICogQGVuX1VTIERpc3BsYXkgQm9yZGVyXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgYm9yZGVyZWQgPSBpbnB1dDxib29sZWFuLCBYQm9vbGVhbj4odGhpcy5jb25maWc/LmJvcmRlcmVkID8/IHRydWUsIHsgdHJhbnNmb3JtOiBYVG9Cb29sZWFuIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlv6vmjbfpgInmi6nmjInpkq7vvIzoh6rlrprkuYnmiJbnm7TmjqXorr7nva7ku4rlpKnvvIh0b2Rhee+8iSzmmKjlpKnvvIh5ZXN0ZXJkYXnvvIks5piO5aSp77yIdG9tb3Jyb3fvvIlcclxuICAgKiBAZW5fVVMgUXVpY2sgc2VsZWN0aW9uIGJ1dHRvbiwgc3VwcG9ydCB0b2RheSwgeWVzdGVyZGF5LCB0b21vcnJvd1xyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHByZXNldCA9IGlucHV0PFhEYXRhPFhEYXRlUGlja2VyUHJlc2V0PiwgWERhdGE8WERhdGVQaWNrZXJQcmVzZXQ+PihbXSwgeyB0cmFuc2Zvcm06IFhUb0RhdGFDb252ZXJ0IH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpobXohJpcclxuICAgKiBAZW5fVVMgRm9vdGVyXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgZXh0cmFGb290ZXIgPSBpbnB1dDxYVGVtcGxhdGU+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOemgeeUqOeahOaXpeacn1xyXG4gICAqIEBlbl9VUyBEaXNhYmxlZCBkYXRlXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgZGlzYWJsZWREYXRlID0gaW5wdXQ8WERhdGVQaWNrZXJEaXNhYmxlZERhdGU+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOemgeeUqOeahOaXtumXtFxyXG4gICAqIEBlbl9VUyBEaXNhYmxlZCB0aW1lXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgZGlzYWJsZWRUaW1lID0gaW5wdXQ8WERhdGVQaWNrZXJEaXNhYmxlZFRpbWU+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWwuuWvuFxyXG4gICAqIEBlbl9VUyBTaXplXHJcbiAgICovXHJcbiAgb3ZlcnJpZGUgcmVhZG9ubHkgc2l6ZSA9IGlucHV0PFhTaXplPih0aGlzLmNvbmZpZz8uc2l6ZSA/PyAnbWVkaXVtJyk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOi+k+WFpeahhueCueWHu+agt+W8j1xyXG4gICAqIEBlbl9VUyBJbnB1dCBwb2ludGVyXHJcbiAgICovXHJcbiAgb3ZlcnJpZGUgcmVhZG9ubHkgcG9pbnRlciA9IGlucHV0PGJvb2xlYW4sIFhCb29sZWFuPihmYWxzZSwgeyB0cmFuc2Zvcm06IFhUb0Jvb2xlYW4gfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagh+etvlxyXG4gICAqIEBlbl9VUyBMYWJlbFxyXG4gICAqL1xyXG4gIG92ZXJyaWRlIHJlYWRvbmx5IGxhYmVsID0gaW5wdXQ8c3RyaW5nPignJyk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagh+etvuWuveW6plxyXG4gICAqIEBlbl9VUyBMYWJlbCB3aWR0aFxyXG4gICAqL1xyXG4gIG92ZXJyaWRlIHJlYWRvbmx5IGxhYmVsV2lkdGggPSBpbnB1dDxzdHJpbmcsIFhOdW1iZXI+KCcnLCB7IHRyYW5zZm9ybTogWFRvQ3NzUGl4ZWxWYWx1ZSB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5qCH562+5paH5a2X5a+56b2Q5pa55byPXHJcbiAgICogQGVuX1VTIExhYmVsIHRleHQgYWxpZ25tZW50IG1ldGhvZFxyXG4gICAqL1xyXG4gIG92ZXJyaWRlIHJlYWRvbmx5IGxhYmVsQWxpZ24gPSBpbnB1dDxYQWxpZ24+KCdzdGFydCcpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiBmbGV4IOW4g+WxgOS4i+eahOWtkOWFg+e0oOawtOW5s+aOkuWIl+aWueW8j1xyXG4gICAqIEBlbl9VUyBUaGUgbGV2ZWwgb2Ygc3ViLWVsZW1lbnQgbGV2ZWwgYXJyYW5nZW1lbnQgdW5kZXIgZmxleCBsYXlvdXRcclxuICAgKi9cclxuICBvdmVycmlkZSByZWFkb25seSBqdXN0aWZ5ID0gaW5wdXQ8WEp1c3RpZnk+KCdzdGFydCcpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiBmbGV4IOW4g+WxgOS4i+eahOWtkOWFg+e0oOWeguebtOaOkuWIl+aWueW8j1xyXG4gICAqIEBlbl9VUyBzdWItZWxlbWVudCB2ZXJ0aWNhbCBhcnJhbmdlbWVudCBtZXRob2QgdW5kZXIgZmxleCBsYXlvdXRcclxuICAgKi9cclxuICBvdmVycmlkZSByZWFkb25seSBhbGlnbiA9IGlucHV0PFhBbGlnbj4oJ3N0YXJ0Jyk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIGZsZXgg5biD5bGA5LiL55qE5a2Q5YWD57Sg5o6S5YiX5pa55ZCRXHJcbiAgICogQGVuX1VTIFRoZSBkaXJlY3Rpb24gb2YgdGhlIHN1Yi1lbGVtZW50IGFycmFuZ2VtZW50IHVuZGVyIGZsZXggbGF5b3V0XHJcbiAgICovXHJcbiAgb3ZlcnJpZGUgcmVhZG9ubHkgZGlyZWN0aW9uID0gaW5wdXQ8WERpcmVjdGlvbj4oJ2NvbHVtbicpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDovpPlhaXmj5DnpLrkv6Hmga9cclxuICAgKiBAZW5fVVMgRW50ZXIgcHJvbXB0IGluZm9ybWF0aW9uXHJcbiAgICovXHJcbiAgb3ZlcnJpZGUgcmVhZG9ubHkgcGxhY2Vob2xkZXIgPSBpbnB1dDxzdHJpbmcgfCBzdHJpbmdbXT4oJycpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDnpoHnlKhcclxuICAgKiBAZW5fVVMgRGlzYWJsZWRcclxuICAgKi9cclxuICBvdmVycmlkZSByZWFkb25seSBkaXNhYmxlZCA9IGlucHV0PGJvb2xlYW4sIFhCb29sZWFuPihmYWxzZSwgeyB0cmFuc2Zvcm06IFhUb0Jvb2xlYW4gfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW/heWhq1xyXG4gICAqIEBlbl9VUyBSZXF1aXJlZFxyXG4gICAqL1xyXG4gIG92ZXJyaWRlIHJlYWRvbmx5IHJlcXVpcmVkID0gaW5wdXQ8Ym9vbGVhbiwgWEJvb2xlYW4+KGZhbHNlLCB7IHRyYW5zZm9ybTogWFRvQm9vbGVhbiB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5Y+q6K+7XHJcbiAgICogQGVuX1VTIFJlYWRvbmx5XHJcbiAgICovXHJcbiAgb3ZlcnJpZGUgcmVhZG9ubHkgcmVhZG9ubHkgPSBpbnB1dDxib29sZWFuLCBYQm9vbGVhbj4oZmFsc2UsIHsgdHJhbnNmb3JtOiBYVG9Cb29sZWFuIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlgLzmqKHmnb9cclxuICAgKiBAZW5fVVMgTm9kZSB0ZW1wbGF0ZVxyXG4gICAqL1xyXG4gIG92ZXJyaWRlIHJlYWRvbmx5IHZhbHVlVHBsID0gaW5wdXQ8VGVtcGxhdGVSZWY8YW55Pj4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YC85qih5p2/5Y+C5pWwXHJcbiAgICogQGVuX1VTIE5vZGUgdGVtcGxhdGVcclxuICAgKi9cclxuICBvdmVycmlkZSByZWFkb25seSB2YWx1ZVRwbENvbnRleHQgPSBpbnB1dCgpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliY3nva7moIfnrb5cclxuICAgKiBAZW5fVVMgQmVmb3JlIGxhYmVsXHJcbiAgICovXHJcbiAgb3ZlcnJpZGUgcmVhZG9ubHkgYmVmb3JlID0gaW5wdXQ8WFRlbXBsYXRlPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlkI7nva7moIfnrb5cclxuICAgKiBAZW5fVVMgQWZ0ZXIgbGFiZWxcclxuICAgKi9cclxuICBvdmVycmlkZSByZWFkb25seSBhZnRlciA9IGlucHV0PFhUZW1wbGF0ZT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5q2j5YiZ6aqM6K+B6KeE5YiZXHJcbiAgICogQGVuX1VTIFJlZ3VsYXIgdmVyaWZpY2F0aW9uIHJ1bGVzXHJcbiAgICovXHJcbiAgb3ZlcnJpZGUgcmVhZG9ubHkgcGF0dGVybiA9IGlucHV0PFJlZ0V4cCB8IFJlZ0V4cFtdIHwgYW55PihudWxsKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6aqM6K+B5LiN6YCa6L+H5o+Q56S65paH5a2XXHJcbiAgICogQGVuX1VTIFZlcmlmeSBub3QgcGFzcyB0aGUgcHJvbXB0IHRleHRcclxuICAgKi9cclxuICBvdmVycmlkZSByZWFkb25seSBtZXNzYWdlID0gaW5wdXQ8c3RyaW5nIHwgc3RyaW5nW10+KFtdKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5r+A5rS754q25oCBXHJcbiAgICogQGVuX1VTIEFjdGl2YXRpb24gc3RhdGVcclxuICAgKi9cclxuICBvdmVycmlkZSByZWFkb25seSBhY3RpdmUgPSBtb2RlbDxib29sZWFuPihmYWxzZSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOi+k+WFpemqjOivgeWHveaVsFxyXG4gICAqIEBlbl9VUyBFbnRlciB0aGUgdmVyaWZpY2F0aW9uIGZ1bmN0aW9uXHJcbiAgICovXHJcbiAgb3ZlcnJpZGUgcmVhZG9ubHkgaW5wdXRWYWxpZGF0b3IgPSBpbnB1dDwodmFsdWU6IGFueSkgPT4gYm9vbGVhbj4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K554K55Ye755qE5LqL5Lu2XHJcbiAgICogQGVuX1VTIE5vZGUgY2xpY2sgZXZlbnRcclxuICAgKi9cclxuICByZWFkb25seSBub2RlRW1pdCA9IG91dHB1dDxudW1iZXI+KCk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBEYXRlUGlja2VyIE9wdGlvblxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYRGF0ZVBpY2tlck9wdGlvbiBleHRlbmRzIFhGb3JtT3B0aW9uIHtcclxuICAvKipcclxuICAgKiBAemhfQ04g6YCJ5oup57G75Z6LXHJcbiAgICogQGVuX1VTIFNlbGVjdCB0eXBlXHJcbiAgICovXHJcbiAgdHlwZT86IFhEYXRlUGlja2VyVHlwZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5qC85byP5YyW57G75Z6LXHJcbiAgICogQGVuX1VTIEZvcm1hdCB0eXBlXHJcbiAgICovXHJcbiAgZm9ybWF0Pzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmuIXpmaTmjInpkq5cclxuICAgKiBAZW5fVVMgQ2xlYXIgYnV0dG9uXHJcbiAgICovXHJcbiAgY2xlYXJhYmxlPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5bGV56S65pa55L2NXHJcbiAgICogQGVuX1VTIERpc3BsYXkgcG9zaXRpb25cclxuICAgKi9cclxuICBwbGFjZW1lbnQ/OiBYQ29ybmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmL7npLrovrnmoYZcclxuICAgKiBAZW5fVVMgRGlzcGxheSBCb3JkZXJcclxuICAgKi9cclxuICBib3JkZXJlZD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW/q+aNt+mAieaLqeaMiemSru+8jOiHquWumuS5ieaIluebtOaOpeiuvue9ruS7iuWkqe+8iHRvZGF577yJLOaYqOWkqe+8iHllc3RlcmRhee+8iSzmmI7lpKnvvIh0b21vcnJvd++8iVxyXG4gICAqIEBlbl9VUyBRdWljayBzZWxlY3Rpb24gYnV0dG9uLCBzdXBwb3J0IHRvZGF5LCB5ZXN0ZXJkYXksIHRvbW9ycm93XHJcbiAgICovXHJcbiAgcHJlc2V0PzogWERhdGE8WERhdGVQaWNrZXJQcmVzZXQ+O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpobXohJpcclxuICAgKiBAZW5fVVMgRm9vdGVyXHJcbiAgICovXHJcbiAgZXh0cmFGb290ZXI/OiBYVGVtcGxhdGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOemgeeUqOeahOaXpeacn1xyXG4gICAqIEBlbl9VUyBEaXNhYmxlZCBkYXRlXHJcbiAgICovXHJcbiAgZGlzYWJsZWREYXRlPzogWERhdGVQaWNrZXJEaXNhYmxlZERhdGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOemgeeUqOeahOaXtumXtFxyXG4gICAqIEBlbl9VUyBEaXNhYmxlZCB0aW1lXHJcbiAgICovXHJcbiAgZGlzYWJsZWRUaW1lPzogWERhdGVQaWNrZXJEaXNhYmxlZFRpbWU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWwuuWvuFxyXG4gICAqIEBlbl9VUyBTaXplXHJcbiAgICovXHJcbiAgc2l6ZT86IFhTaXplO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDovpPlhaXmoYbngrnlh7vmoLflvI9cclxuICAgKiBAZW5fVVMgSW5wdXQgcG9pbnRlclxyXG4gICAqL1xyXG4gIHBvaW50ZXI/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmoIfnrb5cclxuICAgKiBAZW5fVVMgTGFiZWxcclxuICAgKi9cclxuICBsYWJlbD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5qCH562+5a695bqmXHJcbiAgICogQGVuX1VTIExhYmVsIHdpZHRoXHJcbiAgICovXHJcbiAgbGFiZWxXaWR0aD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5qCH562+5paH5a2X5a+56b2Q5pa55byPXHJcbiAgICogQGVuX1VTIExhYmVsIHRleHQgYWxpZ25tZW50IG1ldGhvZFxyXG4gICAqL1xyXG4gIGxhYmVsQWxpZ24/OiBYQWxpZ247XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIGZsZXgg5biD5bGA5LiL55qE5a2Q5YWD57Sg5rC05bmz5o6S5YiX5pa55byPXHJcbiAgICogQGVuX1VTIFRoZSBsZXZlbCBvZiBzdWItZWxlbWVudCBsZXZlbCBhcnJhbmdlbWVudCB1bmRlciBmbGV4IGxheW91dFxyXG4gICAqL1xyXG4gIGp1c3RpZnk/OiBYSnVzdGlmeTtcclxuICAvKipcclxuICAgKiBAemhfQ04gZmxleCDluIPlsYDkuIvnmoTlrZDlhYPntKDlnoLnm7TmjpLliJfmlrnlvI9cclxuICAgKiBAZW5fVVMgc3ViLWVsZW1lbnQgdmVydGljYWwgYXJyYW5nZW1lbnQgbWV0aG9kIHVuZGVyIGZsZXggbGF5b3V0XHJcbiAgICovXHJcbiAgYWxpZ24/OiBYQWxpZ247XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIGZsZXgg5biD5bGA5LiL55qE5a2Q5YWD57Sg5o6S5YiX5pa55ZCRXHJcbiAgICogQGVuX1VTIFRoZSBkaXJlY3Rpb24gb2YgdGhlIHN1Yi1lbGVtZW50IGFycmFuZ2VtZW50IHVuZGVyIGZsZXggbGF5b3V0XHJcbiAgICovXHJcbiAgZGlyZWN0aW9uPzogWERpcmVjdGlvbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6L6T5YWl5o+Q56S65L+h5oGvXHJcbiAgICogQGVuX1VTIEVudGVyIHByb21wdCBpbmZvcm1hdGlvblxyXG4gICAqL1xyXG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDnpoHnlKhcclxuICAgKiBAZW5fVVMgRGlzYWJsZWRcclxuICAgKi9cclxuICBkaXNhYmxlZD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW/heWhq1xyXG4gICAqIEBlbl9VUyBSZXF1aXJlZFxyXG4gICAqL1xyXG4gIHJlcXVpcmVkPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5Y+q6K+7XHJcbiAgICogQGVuX1VTIFJlYWRvbmx5XHJcbiAgICovXHJcbiAgcmVhZG9ubHk/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlgLzmqKHmnb9cclxuICAgKiBAZW5fVVMgTm9kZSB0ZW1wbGF0ZVxyXG4gICAqL1xyXG4gIHZhbHVlVHBsPzogVGVtcGxhdGVSZWY8YW55PjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YC85qih5p2/5Y+C5pWwXHJcbiAgICogQGVuX1VTIE5vZGUgdGVtcGxhdGVcclxuICAgKi9cclxuICB2YWx1ZVRwbENvbnRleHQ/OiBhbnk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWJjee9ruagh+etvlxyXG4gICAqIEBlbl9VUyBCZWZvcmUgbGFiZWxcclxuICAgKi9cclxuICBiZWZvcmU/OiBYVGVtcGxhdGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWQjue9ruagh+etvlxyXG4gICAqIEBlbl9VUyBBZnRlciBsYWJlbFxyXG4gICAqL1xyXG4gIGFmdGVyPzogWFRlbXBsYXRlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmraPliJnpqozor4Hop4TliJlcclxuICAgKiBAZW5fVVMgUmVndWxhciB2ZXJpZmljYXRpb24gcnVsZXNcclxuICAgKi9cclxuICBwYXR0ZXJuPzogUmVnRXhwIHwgUmVnRXhwW107XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmqjOivgeS4jemAmui/h+aPkOekuuaWh+Wtl1xyXG4gICAqIEBlbl9VUyBWZXJpZnkgbm90IHBhc3MgdGhlIHByb21wdCB0ZXh0XHJcbiAgICovXHJcbiAgbWVzc2FnZT86IHN0cmluZyB8IHN0cmluZ1tdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmv4DmtLvnirbmgIFcclxuICAgKiBAZW5fVVMgQWN0aXZhdGlvbiBzdGF0ZVxyXG4gICAqL1xyXG4gIGFjdGl2ZT86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOi+k+WFpemqjOivgeWHveaVsFxyXG4gICAqIEBlbl9VUyBFbnRlciB0aGUgdmVyaWZpY2F0aW9uIGZ1bmN0aW9uXHJcbiAgICovXHJcbiAgaW5wdXRWYWxpZGF0b3I/OiAodmFsdWU6IGFueSkgPT4gYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K554K55Ye755qE5LqL5Lu2XHJcbiAgICogQGVuX1VTIE5vZGUgY2xpY2sgZXZlbnRcclxuICAgKi9cclxuICBub2RlRW1pdD86ICh2YWx1ZTogbnVtYmVyKSA9PiB2b2lkO1xyXG59XHJcblxyXG4vKipcclxuICogRGF0ZVJhbmdlXHJcbiAqIEBzZWxlY3RvciB4LWRhdGUtcmFuZ2VcclxuICogQGRlY29yYXRvciBjb21wb25lbnRcclxuICovXHJcbmV4cG9ydCBjb25zdCBYRGF0ZVJhbmdlUHJlZml4ID0gJ3gtZGF0ZS1yYW5nZSc7XHJcbmNvbnN0IFhfREFUQV9SQU5HRV9DT05GSUdfTkFNRSA9ICdkYXRlUmFuZ2UnO1xyXG5cclxuLyoqXHJcbiAqIERhdGVSYW5nZSBQcm9wZXJ0eVxyXG4gKi9cclxuQENvbXBvbmVudCh7IHNlbGVjdG9yOiBgJHtYRGF0ZVJhbmdlUHJlZml4fS1wcm9wZXJ0eWAsIHRlbXBsYXRlOiAnJyB9KVxyXG5leHBvcnQgY2xhc3MgWERhdGVSYW5nZVByb3BlcnR5IGV4dGVuZHMgWEZvcm1Db250cm9sRnVuY3Rpb24oWF9EQVRBX1JBTkdFX0NPTkZJR19OQU1FKSB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmAieaLqeexu+Wei1xyXG4gICAqIEBlbl9VUyBTZWxlY3QgdHlwZVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHR5cGUgPSBpbnB1dDxYRGF0ZVBpY2tlclR5cGU+KCdkYXRlJyk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagvOW8j+WMluexu+Wei1xyXG4gICAqIEBlbl9VUyBGb3JtYXQgdHlwZVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGZvcm1hdCA9IGlucHV0PHN0cmluZz4odGhpcy5jb25maWc/LmZvcm1hdCA/PyAneXl5eS1NTS1kZCcpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmuIXpmaTmjInpkq5cclxuICAgKiBAZW5fVVMgQ2xlYXIgYnV0dG9uXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgY2xlYXJhYmxlID0gaW5wdXQ8Ym9vbGVhbiwgWEJvb2xlYW4+KHRoaXMuY29uZmlnPy5jbGVhcmFibGUgPz8gdHJ1ZSwgeyB0cmFuc2Zvcm06IFhUb0Jvb2xlYW4gfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWxleekuuaWueS9jVxyXG4gICAqIEBlbl9VUyBEaXNwbGF5IHBvc2l0aW9uXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgcGxhY2VtZW50ID0gaW5wdXQ8WENvcm5lcj4odGhpcy5jb25maWc/LnBsYWNlbWVudCA/PyAnYm90dG9tLXN0YXJ0Jyk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYvuekuui+ueahhlxyXG4gICAqIEBlbl9VUyBEaXNwbGF5IEJvcmRlclxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGJvcmRlcmVkID0gaW5wdXQ8Ym9vbGVhbiwgWEJvb2xlYW4+KHRoaXMuY29uZmlnPy5ib3JkZXJlZCA/PyB0cnVlLCB7IHRyYW5zZm9ybTogWFRvQm9vbGVhbiB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5b+r5o236YCJ5oup5oyJ6ZKu77yM6Ieq5a6a5LmJ5oiW55u05o6l6K6+572u5pys5ZGo77yIdGhpc1dlZWvvvInjgIHkuIrlkajvvIhsYXN0V2Vla++8ieOAgeS4i+WRqO+8iG5leHRXZWVr77yJ44CB5pys5pyI77yIdGhpc01vbnRo77yJ44CB5LiK5LiA5pyI77yIbGFzdE1vbnRo77yJ44CB5LiL5LiA5pyI77yIbmV4dE1vbnRo77yJ44CB5pys5bm077yIdGhpc1llYXLvvInjgIHljrvlubTvvIhsYXN0WWVhcu+8ieOAgeaYjuW5tO+8iG5leHRZZWFy77yJXHJcbiAgICogQGVuX1VTIFF1aWNrIHNlbGVjdGlvbiBidXR0b24sIHN1cHBvcnQgdGhpc1dlZWssIGxhc3RXZWVrLCBuZXh0V2VlaywgdGhpc01vbnRoLCBsYXN0TW9udGgsIG5leHRNb250aCwgdGhpc1llYXIsIGxhc3RZZWFyLCBuZXh0WWVhclxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHByZXNldCA9IGlucHV0PFhEYXRhPFhEYXRlUmFuZ2VQcmVzZXQ+LCBYRGF0YTxYRGF0ZVJhbmdlUHJlc2V0Pj4oW10sIHsgdHJhbnNmb3JtOiBYVG9EYXRhQ29udmVydCB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6aG16ISaXHJcbiAgICogQGVuX1VTIEZvb3RlclxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGV4dHJhRm9vdGVyID0gaW5wdXQ8WFRlbXBsYXRlPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDnpoHnlKjnmoTml6XmnJ9cclxuICAgKiBAZW5fVVMgRGlzYWJsZWQgZGF0ZVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGRpc2FibGVkRGF0ZSA9IGlucHV0PFhEYXRlUGlja2VyRGlzYWJsZWREYXRlPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDnpoHnlKjnmoTml7bpl7RcclxuICAgKiBAZW5fVVMgRGlzYWJsZWQgdGltZVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGRpc2FibGVkVGltZSA9IGlucHV0PFhEYXRlUGlja2VyRGlzYWJsZWRUaW1lPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlsLrlr7hcclxuICAgKiBAZW5fVVMgU2l6ZVxyXG4gICAqL1xyXG4gIG92ZXJyaWRlIHJlYWRvbmx5IHNpemUgPSBpbnB1dDxYU2l6ZT4odGhpcy5jb25maWc/LnNpemUgPz8gJ21lZGl1bScpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDovpPlhaXmoYbngrnlh7vmoLflvI9cclxuICAgKiBAZW5fVVMgSW5wdXQgcG9pbnRlclxyXG4gICAqL1xyXG4gIG92ZXJyaWRlIHJlYWRvbmx5IHBvaW50ZXIgPSBpbnB1dDxib29sZWFuLCBYQm9vbGVhbj4oZmFsc2UsIHsgdHJhbnNmb3JtOiBYVG9Cb29sZWFuIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmoIfnrb5cclxuICAgKiBAZW5fVVMgTGFiZWxcclxuICAgKi9cclxuICBvdmVycmlkZSByZWFkb25seSBsYWJlbCA9IGlucHV0PHN0cmluZz4oJycpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmoIfnrb7lrr3luqZcclxuICAgKiBAZW5fVVMgTGFiZWwgd2lkdGhcclxuICAgKi9cclxuICBvdmVycmlkZSByZWFkb25seSBsYWJlbFdpZHRoID0gaW5wdXQ8c3RyaW5nLCBYTnVtYmVyPignJywgeyB0cmFuc2Zvcm06IFhUb0Nzc1BpeGVsVmFsdWUgfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagh+etvuaWh+Wtl+Wvuem9kOaWueW8j1xyXG4gICAqIEBlbl9VUyBMYWJlbCB0ZXh0IGFsaWdubWVudCBtZXRob2RcclxuICAgKi9cclxuICBvdmVycmlkZSByZWFkb25seSBsYWJlbEFsaWduID0gaW5wdXQ8WEFsaWduPignc3RhcnQnKTtcclxuICAvKipcclxuICAgKiBAemhfQ04gZmxleCDluIPlsYDkuIvnmoTlrZDlhYPntKDmsLTlubPmjpLliJfmlrnlvI9cclxuICAgKiBAZW5fVVMgVGhlIGxldmVsIG9mIHN1Yi1lbGVtZW50IGxldmVsIGFycmFuZ2VtZW50IHVuZGVyIGZsZXggbGF5b3V0XHJcbiAgICovXHJcbiAgb3ZlcnJpZGUgcmVhZG9ubHkganVzdGlmeSA9IGlucHV0PFhKdXN0aWZ5Pignc3RhcnQnKTtcclxuICAvKipcclxuICAgKiBAemhfQ04gZmxleCDluIPlsYDkuIvnmoTlrZDlhYPntKDlnoLnm7TmjpLliJfmlrnlvI9cclxuICAgKiBAZW5fVVMgc3ViLWVsZW1lbnQgdmVydGljYWwgYXJyYW5nZW1lbnQgbWV0aG9kIHVuZGVyIGZsZXggbGF5b3V0XHJcbiAgICovXHJcbiAgb3ZlcnJpZGUgcmVhZG9ubHkgYWxpZ24gPSBpbnB1dDxYQWxpZ24+KCdzdGFydCcpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiBmbGV4IOW4g+WxgOS4i+eahOWtkOWFg+e0oOaOkuWIl+aWueWQkVxyXG4gICAqIEBlbl9VUyBUaGUgZGlyZWN0aW9uIG9mIHRoZSBzdWItZWxlbWVudCBhcnJhbmdlbWVudCB1bmRlciBmbGV4IGxheW91dFxyXG4gICAqL1xyXG4gIG92ZXJyaWRlIHJlYWRvbmx5IGRpcmVjdGlvbiA9IGlucHV0PFhEaXJlY3Rpb24+KCdjb2x1bW4nKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6L6T5YWl5o+Q56S65L+h5oGvXHJcbiAgICogQGVuX1VTIEVudGVyIHByb21wdCBpbmZvcm1hdGlvblxyXG4gICAqL1xyXG4gIG92ZXJyaWRlIHJlYWRvbmx5IHBsYWNlaG9sZGVyID0gaW5wdXQ8c3RyaW5nIHwgc3RyaW5nW10+KCcnKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g56aB55SoXHJcbiAgICogQGVuX1VTIERpc2FibGVkXHJcbiAgICovXHJcbiAgb3ZlcnJpZGUgcmVhZG9ubHkgZGlzYWJsZWQgPSBpbnB1dDxib29sZWFuLCBYQm9vbGVhbj4oZmFsc2UsIHsgdHJhbnNmb3JtOiBYVG9Cb29sZWFuIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlv4XloatcclxuICAgKiBAZW5fVVMgUmVxdWlyZWRcclxuICAgKi9cclxuICBvdmVycmlkZSByZWFkb25seSByZXF1aXJlZCA9IGlucHV0PGJvb2xlYW4sIFhCb29sZWFuPihmYWxzZSwgeyB0cmFuc2Zvcm06IFhUb0Jvb2xlYW4gfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWPquivu1xyXG4gICAqIEBlbl9VUyBSZWFkb25seVxyXG4gICAqL1xyXG4gIG92ZXJyaWRlIHJlYWRvbmx5IHJlYWRvbmx5ID0gaW5wdXQ8Ym9vbGVhbiwgWEJvb2xlYW4+KGZhbHNlLCB7IHRyYW5zZm9ybTogWFRvQm9vbGVhbiB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YmN572u5qCH562+XHJcbiAgICogQGVuX1VTIEJlZm9yZSBsYWJlbFxyXG4gICAqL1xyXG4gIG92ZXJyaWRlIHJlYWRvbmx5IGJlZm9yZSA9IGlucHV0PFhUZW1wbGF0ZT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5ZCO572u5qCH562+XHJcbiAgICogQGVuX1VTIEFmdGVyIGxhYmVsXHJcbiAgICovXHJcbiAgb3ZlcnJpZGUgcmVhZG9ubHkgYWZ0ZXIgPSBpbnB1dDxYVGVtcGxhdGU+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOato+WImemqjOivgeinhOWImVxyXG4gICAqIEBlbl9VUyBSZWd1bGFyIHZlcmlmaWNhdGlvbiBydWxlc1xyXG4gICAqL1xyXG4gIG92ZXJyaWRlIHJlYWRvbmx5IHBhdHRlcm4gPSBpbnB1dDxSZWdFeHAgfCBSZWdFeHBbXSB8IGFueT4obnVsbCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmqjOivgeS4jemAmui/h+aPkOekuuaWh+Wtl1xyXG4gICAqIEBlbl9VUyBWZXJpZnkgbm90IHBhc3MgdGhlIHByb21wdCB0ZXh0XHJcbiAgICovXHJcbiAgb3ZlcnJpZGUgcmVhZG9ubHkgbWVzc2FnZSA9IGlucHV0PHN0cmluZyB8IHN0cmluZ1tdPihbXSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOi+k+WFpemqjOivgeWHveaVsFxyXG4gICAqIEBlbl9VUyBFbnRlciB0aGUgdmVyaWZpY2F0aW9uIGZ1bmN0aW9uXHJcbiAgICovXHJcbiAgb3ZlcnJpZGUgcmVhZG9ubHkgaW5wdXRWYWxpZGF0b3IgPSBpbnB1dDwodmFsdWU6IGFueSkgPT4gYm9vbGVhbj4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K554K55Ye755qE5LqL5Lu2XHJcbiAgICogQGVuX1VTIE5vZGUgY2xpY2sgZXZlbnRcclxuICAgKi9cclxuICByZWFkb25seSBub2RlRW1pdCA9IG91dHB1dDxudW1iZXJbXT4oKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIERhdGVSYW5nZSBPcHRpb25cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWERhdGVSYW5nZU9wdGlvbiBleHRlbmRzIFhGb3JtT3B0aW9uIHtcclxuICAvKipcclxuICAgKiBAemhfQ04g6YCJ5oup57G75Z6LXHJcbiAgICogQGVuX1VTIFNlbGVjdCB0eXBlXHJcbiAgICovXHJcbiAgdHlwZT86IFhEYXRlUGlja2VyVHlwZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5qC85byP5YyW57G75Z6LXHJcbiAgICogQGVuX1VTIEZvcm1hdCB0eXBlXHJcbiAgICovXHJcbiAgZm9ybWF0Pzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmuIXpmaTmjInpkq5cclxuICAgKiBAZW5fVVMgQ2xlYXIgYnV0dG9uXHJcbiAgICovXHJcbiAgY2xlYXJhYmxlPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5bGV56S65pa55L2NXHJcbiAgICogQGVuX1VTIERpc3BsYXkgcG9zaXRpb25cclxuICAgKi9cclxuICBwbGFjZW1lbnQ/OiBYQ29ybmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmL7npLrovrnmoYZcclxuICAgKiBAZW5fVVMgRGlzcGxheSBCb3JkZXJcclxuICAgKi9cclxuICBib3JkZXJlZD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW/q+aNt+mAieaLqeaMiemSru+8jOiHquWumuS5ieaIluebtOaOpeiuvue9ruacrOWRqO+8iHRoaXNXZWVr77yJ44CB5LiK5ZGo77yIbGFzdFdlZWvvvInjgIHkuIvlkajvvIhuZXh0V2Vla++8ieOAgeacrOaciO+8iHRoaXNNb250aO+8ieOAgeS4iuS4gOaciO+8iGxhc3RNb250aO+8ieOAgeS4i+S4gOaciO+8iG5leHRNb250aO+8ieOAgeacrOW5tO+8iHRoaXNZZWFy77yJ44CB5Y675bm077yIbGFzdFllYXLvvInjgIHmmI7lubTvvIhuZXh0WWVhcu+8iVxyXG4gICAqIEBlbl9VUyBRdWljayBzZWxlY3Rpb24gYnV0dG9uLCBzdXBwb3J0IHRoaXNXZWVrLCBsYXN0V2VlaywgbmV4dFdlZWssIHRoaXNNb250aCwgbGFzdE1vbnRoLCBuZXh0TW9udGgsIHRoaXNZZWFyLCBsYXN0WWVhciwgbmV4dFllYXJcclxuICAgKi9cclxuICBwcmVzZXQ/OiBYRGF0YTxYRGF0ZVJhbmdlUHJlc2V0PjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6aG16ISaXHJcbiAgICogQGVuX1VTIEZvb3RlclxyXG4gICAqL1xyXG4gIGV4dHJhRm9vdGVyPzogWFRlbXBsYXRlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDnpoHnlKjnmoTml6XmnJ9cclxuICAgKiBAZW5fVVMgRGlzYWJsZWQgZGF0ZVxyXG4gICAqL1xyXG4gIGRpc2FibGVkRGF0ZT86IFhEYXRlUGlja2VyRGlzYWJsZWREYXRlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDnpoHnlKjnmoTml7bpl7RcclxuICAgKiBAZW5fVVMgRGlzYWJsZWQgdGltZVxyXG4gICAqL1xyXG4gIGRpc2FibGVkVGltZT86IFhEYXRlUGlja2VyRGlzYWJsZWRUaW1lO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlsLrlr7hcclxuICAgKiBAZW5fVVMgU2l6ZVxyXG4gICAqL1xyXG4gIHNpemU/OiBYU2l6ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6L6T5YWl5qGG54K55Ye75qC35byPXHJcbiAgICogQGVuX1VTIElucHV0IHBvaW50ZXJcclxuICAgKi9cclxuICBwb2ludGVyPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5qCH562+XHJcbiAgICogQGVuX1VTIExhYmVsXHJcbiAgICovXHJcbiAgbGFiZWw/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagh+etvuWuveW6plxyXG4gICAqIEBlbl9VUyBMYWJlbCB3aWR0aFxyXG4gICAqL1xyXG4gIGxhYmVsV2lkdGg/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagh+etvuaWh+Wtl+Wvuem9kOaWueW8j1xyXG4gICAqIEBlbl9VUyBMYWJlbCB0ZXh0IGFsaWdubWVudCBtZXRob2RcclxuICAgKi9cclxuICBsYWJlbEFsaWduPzogWEFsaWduO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiBmbGV4IOW4g+WxgOS4i+eahOWtkOWFg+e0oOawtOW5s+aOkuWIl+aWueW8j1xyXG4gICAqIEBlbl9VUyBUaGUgbGV2ZWwgb2Ygc3ViLWVsZW1lbnQgbGV2ZWwgYXJyYW5nZW1lbnQgdW5kZXIgZmxleCBsYXlvdXRcclxuICAgKi9cclxuICBqdXN0aWZ5PzogWEp1c3RpZnk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIGZsZXgg5biD5bGA5LiL55qE5a2Q5YWD57Sg5Z6C55u05o6S5YiX5pa55byPXHJcbiAgICogQGVuX1VTIHN1Yi1lbGVtZW50IHZlcnRpY2FsIGFycmFuZ2VtZW50IG1ldGhvZCB1bmRlciBmbGV4IGxheW91dFxyXG4gICAqL1xyXG4gIGFsaWduPzogWEFsaWduO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiBmbGV4IOW4g+WxgOS4i+eahOWtkOWFg+e0oOaOkuWIl+aWueWQkVxyXG4gICAqIEBlbl9VUyBUaGUgZGlyZWN0aW9uIG9mIHRoZSBzdWItZWxlbWVudCBhcnJhbmdlbWVudCB1bmRlciBmbGV4IGxheW91dFxyXG4gICAqL1xyXG4gIGRpcmVjdGlvbj86IFhEaXJlY3Rpb247XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOi+k+WFpeaPkOekuuS/oeaBr1xyXG4gICAqIEBlbl9VUyBFbnRlciBwcm9tcHQgaW5mb3JtYXRpb25cclxuICAgKi9cclxuICBwbGFjZWhvbGRlcj86IHN0cmluZyB8IHN0cmluZ1tdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDnpoHnlKhcclxuICAgKiBAZW5fVVMgRGlzYWJsZWRcclxuICAgKi9cclxuICBkaXNhYmxlZD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW/heWhq1xyXG4gICAqIEBlbl9VUyBSZXF1aXJlZFxyXG4gICAqL1xyXG4gIHJlcXVpcmVkPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5Y+q6K+7XHJcbiAgICogQGVuX1VTIFJlYWRvbmx5XHJcbiAgICovXHJcbiAgcmVhZG9ubHk/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliY3nva7moIfnrb5cclxuICAgKiBAZW5fVVMgQmVmb3JlIGxhYmVsXHJcbiAgICovXHJcbiAgYmVmb3JlPzogWFRlbXBsYXRlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlkI7nva7moIfnrb5cclxuICAgKiBAZW5fVVMgQWZ0ZXIgbGFiZWxcclxuICAgKi9cclxuICBhZnRlcj86IFhUZW1wbGF0ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5q2j5YiZ6aqM6K+B6KeE5YiZXHJcbiAgICogQGVuX1VTIFJlZ3VsYXIgdmVyaWZpY2F0aW9uIHJ1bGVzXHJcbiAgICovXHJcbiAgcGF0dGVybj86IFJlZ0V4cCB8IFJlZ0V4cFtdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpqozor4HkuI3pgJrov4fmj5DnpLrmloflrZdcclxuICAgKiBAZW5fVVMgVmVyaWZ5IG5vdCBwYXNzIHRoZSBwcm9tcHQgdGV4dFxyXG4gICAqL1xyXG4gIG1lc3NhZ2U/OiBzdHJpbmcgfCBzdHJpbmdbXTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6L6T5YWl6aqM6K+B5Ye95pWwXHJcbiAgICogQGVuX1VTIEVudGVyIHRoZSB2ZXJpZmljYXRpb24gZnVuY3Rpb25cclxuICAgKi9cclxuICBpbnB1dFZhbGlkYXRvcj86ICh2YWx1ZTogYW55KSA9PiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoioLngrnngrnlh7vnmoTkuovku7ZcclxuICAgKiBAZW5fVVMgTm9kZSBjbGljayBldmVudFxyXG4gICAqL1xyXG4gIG5vZGVFbWl0OiAodmFsdWU6IG51bWJlcltdKSA9PiB2b2lkO1xyXG59XHJcblxyXG4vKipcclxuICogQHpoX0NOIOemgeeUqOaXpeacn+eahOiHquWumuS5ieexu+Wei1xyXG4gKiBAZW5fVVMgQ3VzdG9tIHR5cGUgb2YgZGlzYWJsZWQgZGF0ZVxyXG4gKi9cclxuZXhwb3J0IHR5cGUgWERhdGVQaWNrZXJEaXNhYmxlZERhdGUgPSAoY3VycmVudDogRGF0ZSkgPT4gYm9vbGVhbjtcclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g56aB55So5pe26Ze055qE6Ieq5a6a5LmJ57G75Z6LXHJcbiAqIEBlbl9VUyBDdXN0b20gdHlwZSBvZiBkaXNhYmxlIHRpbWVcclxuICovXHJcbmV4cG9ydCB0eXBlIFhEYXRlUGlja2VyRGlzYWJsZWRUaW1lID0gKHR5cGU/OiBYRGF0ZVBpY2tlclJhbmdUeXBlKSA9PiBYRGF0ZVBpY2tlckRpc2FibGVkVGltZUZuO1xyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDnpoHnlKjml7bpl7TnmoToh6rlrprkuYnlh73mlbBcclxuICogQGVuX1VTIEN1c3RvbSBmdW5jdGlvbiBvZiBkaXNhYmxlIHRpbWVcclxuICovXHJcbmV4cG9ydCB0eXBlIFhEYXRlUGlja2VyRGlzYWJsZWRUaW1lRm4gPSB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOemgeeUqOWwj+aXtueahOiHquWumuS5ieWHveaVsFxyXG4gICAqIEBlbl9VUyBEaXNhYmxlIGhvdXIgY3VzdG9tIGZ1bmN0aW9uXHJcbiAgICovXHJcbiAgZGlzYWJsZWRIb3Vycz86ICgpID0+IG51bWJlcltdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDnpoHnlKjliIbpkp/nmoToh6rlrprkuYnlh73mlbBcclxuICAgKiBAZW5fVVMgRGlzYWJsZSB0aGUgY3VzdG9tIGZ1bmN0aW9uIG9mIHRoZSBtaW51dGVcclxuICAgKi9cclxuICBkaXNhYmxlZE1pbnV0ZXM/OiAoKSA9PiBudW1iZXJbXTtcclxuICAvKipcclxuICAgKiBAemhfQ04g56aB55So56eS55qE6Ieq5a6a5LmJ5Ye95pWwXHJcbiAgICogQGVuX1VTIEN1c3RvbSBmdW5jdGlvbiBvZiBkaXNhYmxlIHNlY29uZHNcclxuICAgKi9cclxuICBkaXNhYmxlZFNlY29uZHM/OiAoKSA9PiBudW1iZXJbXTtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g5b+r5o236YCJ5oup5oyJ6ZKuXHJcbiAqIEBlbl9VUyBRdWljayBzZWxlY3Rpb24gYnV0dG9uXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhEYXRlUGlja2VyUHJlc2V0IGV4dGVuZHMgWElkZW50aXR5UHJvcGVydHkge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoh6rlrprkuYnlh73mlbBcclxuICAgKiBAZW5fVVMgQ3VzdG9tIGZ1bmN0aW9uXHJcbiAgICovXHJcbiAgZnVuYzogKCkgPT4gRGF0ZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDlv6vmjbfojIPlm7TpgInmi6nmjInpkq5cclxuICogQGVuX1VTIFF1aWNrIHJhbmdlIHNlbGVjdGlvbiBidXR0b25cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWERhdGVSYW5nZVByZXNldCBleHRlbmRzIFhJZGVudGl0eVByb3BlcnR5IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g6Ieq5a6a5LmJ5Ye95pWwXHJcbiAgICogQGVuX1VTIEN1c3RvbSBmdW5jdGlvblxyXG4gICAqL1xyXG4gIGZ1bmM6ICgpID0+IERhdGVbXTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDml6XmnJ/pgInmi6nnsbvlnotcclxuICogQGVuX1VTIERhdGUgc2VsZWN0aW9uIHR5cGVcclxuICovXHJcbmV4cG9ydCB0eXBlIFhEYXRlUGlja2VyVHlwZSA9XHJcbiAgfCAnZGF0ZSdcclxuICB8ICd3ZWVrJ1xyXG4gIHwgJ21vbnRoJ1xyXG4gIHwgJ3F1YXJ0ZXInXHJcbiAgfCAneWVhcidcclxuICB8ICdkYXRlLXRpbWUnXHJcbiAgfCAnZGF0ZS1ob3VyJ1xyXG4gIHwgJ2RhdGUtbWludXRlJztcclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g5pel5pyf5pWw5o2u57G75Z6LXHJcbiAqIEBlbl9VUyBEYXRlIGRhdGEgdHlwZVxyXG4gKi9cclxuZXhwb3J0IHR5cGUgWERhdGVQaWNrZXJNb2RlbFR5cGUgPSAnZGF0ZScgfCAnbnVtYmVyJyB8ICdzdHJpbmcnO1xyXG5cclxuLyoqXHJcbiAqIERhdGVQaWNrZXIgUG9ydGFsXHJcbiAqIEBzZWxlY3RvciB4LWRhdGUtcGlja2VyLXBvcnRhbFxyXG4gKiBAZGVjb3JhdG9yIGNvbXBvbmVudFxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IFhEYXRlUGlja2VyUG9ydGFsUHJlZml4ID0gJ3gtZGF0ZS1waWNrZXItcG9ydGFsJztcclxuXHJcbi8qKlxyXG4gKiBEYXRlUmFuZ2UgUG9ydGFsXHJcbiAqIEBzZWxlY3RvciB4LWRhdGUtcmFuZ2UtcG9ydGFsXHJcbiAqIEBkZWNvcmF0b3IgY29tcG9uZW50XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgWERhdGVSYW5nZVBvcnRhbFByZWZpeCA9ICd4LWRhdGUtcmFuZ2UtcG9ydGFsJztcclxuXHJcbi8qKlxyXG4gKiBQaWNrZXJEYXRlXHJcbiAqIEBzZWxlY3RvciB4LXBpY2tlci1kYXRlXHJcbiAqIEBkZWNvcmF0b3IgY29tcG9uZW50XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgWFBpY2tlckRhdGVQcmVmaXggPSAneC1waWNrZXItZGF0ZSc7XHJcblxyXG4vKipcclxuICogUGlja2VyRGF0ZSBQcm9wZXJ0eVxyXG4gKi9cclxuQENvbXBvbmVudCh7IHNlbGVjdG9yOiBgJHtYUGlja2VyRGF0ZVByZWZpeH0tcHJvcGVydHlgLCB0ZW1wbGF0ZTogJycgfSlcclxuZXhwb3J0IGNsYXNzIFhQaWNrZXJEYXRlUHJvcGVydHkgZXh0ZW5kcyBYUHJvcGVydHkge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpgInmi6nnsbvlnotcclxuICAgKiBAZW5fVVMgU2VsZWN0IHR5cGVcclxuICAgKi9cclxuICByZWFkb25seSB0eXBlID0gbW9kZWw8WERhdGVQaWNrZXJUeXBlPignZGF0ZScpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmL7npLrnmoTml6XmnJ9cclxuICAgKiBAZW5fVVMgRGF0ZSBkaXNwbGF5ZWRcclxuICAgKi9cclxuICByZWFkb25seSBkaXNwbGF5ID0gbW9kZWw8RGF0ZT4obmV3IERhdGUoKSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmAieS4reeahOaXpeacn1xyXG4gICAqIEBlbl9VUyBTZWxlY3RlZCBkYXRlXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgbW9kZWwgPSBtb2RlbDxEYXRlIHwgbnVsbD4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pel5pyf5pi+56S65qih5p2/XHJcbiAgICogQGVuX1VTIERhdGUgZGlzcGxheSB0ZW1wbGF0ZVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGRhdGVUZW1wID0gaW5wdXQ8VGVtcGxhdGVSZWY8YW55Pj4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pi+56S65YiH5o2i5oyJ6ZKuXHJcbiAgICogQGVuX1VTIERpc3BsYXkgc3dpdGNoIGJ1dHRvblxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHNob3dIZWFkZXIgPSBpbnB1dDxib29sZWFuLCBYQm9vbGVhbj4odHJ1ZSwgeyB0cmFuc2Zvcm06IFhUb0Jvb2xlYW4gfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiMg+WbtOmAieaLqVxyXG4gICAqIEBlbl9VUyBSYW5nZSBwaWNrZXJcclxuICAgKi9cclxuICByZWFkb25seSByYW5nZVBpY2tlciA9IGlucHV0PGJvb2xlYW4sIFhCb29sZWFuPihmYWxzZSwgeyB0cmFuc2Zvcm06IFhUb0Jvb2xlYW4gfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOS4iuS4gOW5tFxyXG4gICAqIEBlbl9VUyBMYXN0IHllYXJcclxuICAgKi9cclxuICByZWFkb25seSBsYXN0WWVhckJ0biA9IGlucHV0PGJvb2xlYW4sIFhCb29sZWFuPih0cnVlLCB7IHRyYW5zZm9ybTogWFRvQm9vbGVhbiB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5LiK5pyIXHJcbiAgICogQGVuX1VTIExhc3QgbW9udGhcclxuICAgKi9cclxuICByZWFkb25seSBsYXN0TW9udGhCdG4gPSBpbnB1dDxib29sZWFuLCBYQm9vbGVhbj4odHJ1ZSwgeyB0cmFuc2Zvcm06IFhUb0Jvb2xlYW4gfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOS4i+S4gOW5tFxyXG4gICAqIEBlbl9VUyBOZXh0IHllYXJcclxuICAgKi9cclxuICByZWFkb25seSBuZXh0WWVhckJ0biA9IGlucHV0PGJvb2xlYW4sIFhCb29sZWFuPih0cnVlLCB7IHRyYW5zZm9ybTogWFRvQm9vbGVhbiB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5LiK5pyIXHJcbiAgICogQGVuX1VTIE5leHQgbW9udGhcclxuICAgKi9cclxuICByZWFkb25seSBuZXh0TW9udGhCdG4gPSBpbnB1dDxib29sZWFuLCBYQm9vbGVhbj4odHJ1ZSwgeyB0cmFuc2Zvcm06IFhUb0Jvb2xlYW4gfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiMg+WbtCBob3ZlciDmlYjmnpxcclxuICAgKiBAZW5fVVMgUmFuZ2UgaG92ZXIgc3R5bGVcclxuICAgKi9cclxuICByZWFkb25seSByYW5nZUhvdmVyID0gaW5wdXQ8Ym9vbGVhbiwgWEJvb2xlYW4+KHRydWUsIHsgdHJhbnNmb3JtOiBYVG9Cb29sZWFuIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDojIPlm7Tml6XmnJ9cclxuICAgKiBAZW5fVVMgUmFuZ2UgZGF0ZVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHJhbmdlVmFsdWUgPSBpbnB1dDwobnVtYmVyIHwgbnVsbClbXT4oW10pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvZPliY3pgInmi6nnmoTmmK/lvIDlp4sv57uT5p2f5pel5pyfXHJcbiAgICogQGVuX1VTIFRoZSBjdXJyZW50IGNob2ljZSBpcyB0aGUgc3RhcnQgLyBlbmQgZGF0ZVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHJhbmdlVHlwZSA9IGlucHV0PFhEYXRlUGlja2VyUmFuZ1R5cGU+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOemgeeUqOeahOaXpeacn1xyXG4gICAqIEBlbl9VUyBEaXNhYmxlZCBkYXRlXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgZGlzYWJsZWREYXRlID0gaW5wdXQ8WERhdGVQaWNrZXJEaXNhYmxlZERhdGU+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiMg+WbtOWPmOWMlueahOS6i+S7tlxyXG4gICAqIEBlbl9VUyBTY29wZSBjaGFuZ2UgZXZlbnRcclxuICAgKi9cclxuICByZWFkb25seSByYW5nZUNoYW5nZSA9IG91dHB1dDxEYXRlW10+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmAieW5tOeahOS6i+S7tlxyXG4gICAqIEBlbl9VUyBZZWFyIGNoYW5nZSBldmVudFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHllYXJDaGFuZ2UgPSBvdXRwdXQ8bnVtYmVyPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpgInmnIjnmoTkuovku7ZcclxuICAgKiBAZW5fVVMgTW9udGggY2hhbmdlIGV2ZW50XHJcbiAgICovXHJcbiAgcmVhZG9ubHkgbW9udGhDaGFuZ2UgPSBvdXRwdXQ8bnVtYmVyPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDojIPlm7Tml6XmnJ8gbW91c2VlbnRlciDkuovku7ZcclxuICAgKiBAZW5fVVMgRGF0ZSBtb3VzZWVudGVyIGV2ZW50XHJcbiAgICovXHJcbiAgcmVhZG9ubHkgcmFuZ2VUZE1vdXNlZW50ZXIgPSBvdXRwdXQ8WERhdGVDZWxsPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDojIPlm7Tml6XmnJ8gbW91c2VsZWF2ZSDkuovku7ZcclxuICAgKiBAZW5fVVMgRGF0ZSBtb3VzZWxlYXZlIGV2ZW50XHJcbiAgICovXHJcbiAgcmVhZG9ubHkgcmFuZ2VUZE1vdXNlbGVhdmUgPSBvdXRwdXQ8WERhdGVDZWxsPigpO1xyXG59XHJcblxyXG4vKipcclxuICogQHpoX0NOIOWNleS4quaXpeacn+aVsOaNruWvueixoVxyXG4gKiBAZW5fVVMg5Y2V5Liq5pel5pyf5pWw5o2u5a+56LGhXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhEYXRlQ2VsbCB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaXpeacn1xyXG4gICAqIEBlbl9VUyBEYXRlXHJcbiAgICovXHJcbiAgZGF0ZT86IERhdGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOS4iuS4quaciOaIluS4i+S4quaciOeahOaXpeacn1xyXG4gICAqIEBlbl9VUyBEYXRlIG9mIHRoZSBwcmV2aW91cyBvciBuZXh0IG1vbnRoXHJcbiAgICovXHJcbiAgaXNMYXN0T3JOZXh0PzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5b2T5aSpXHJcbiAgICogQGVuX1VTIFNhbWUgZGF5XHJcbiAgICovXHJcbiAgaXNOb3c/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvZPmnIjnrKzkuIDlpKlcclxuICAgKiBAZW5fVVMgVGhlIGZpcnN0IGRheSBvZiB0aGUgbW9udGhcclxuICAgKi9cclxuICBpc0ZpcnN0RGF5PzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5b2T5pyI5pyA5ZCO5LiA5aSpXHJcbiAgICogQGVuX1VTIFRoZSBsYXN0IGRheSBvZiB0aGUgbW9udGhcclxuICAgKi9cclxuICBpc0xhc3REYXk/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDojIPlm7TlhoXml6XmnJ9cclxuICAgKiBAZW5fVVMg6IyD5Zu05YaF5pel5pyfXHJcbiAgICovXHJcbiAgaXNJblJhbmdlPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IyD5Zu05YaFIGhvdmVyIOmAieS4rVxyXG4gICAqIEBlbl9VUyDojIPlm7TlhoUgaG92ZXIg6YCJ5LitXHJcbiAgICovXHJcbiAgaXNJblJhbmdlSG92ZXI/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDojIPlm7TlhoUgaG92ZXIg5b2T5YmN5pel5pyf5bem6L65XHJcbiAgICogQGVuX1VTIOiMg+WbtOWGhSBob3ZlciDlvZPliY3ml6XmnJ/lt6bovrlcclxuICAgKi9cclxuICBpc0luUmFuZ2VIb3ZlckxlZnQ/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDojIPlm7TlhoUgaG92ZXIg5b2T5YmN5pel5pyf5Y+z6L65XHJcbiAgICogQGVuX1VTIOiMg+WbtOWGhSBob3ZlciDlvZPliY3ml6XmnJ/lj7PovrlcclxuICAgKi9cclxuICBpc0luUmFuZ2VIb3ZlclJpZ2h0PzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6YCJ5Lit5byA5aeL5bem6L65XHJcbiAgICogQGVuX1VTIFJhbmdlIHN0YXJ0IGxlZnRcclxuICAgKi9cclxuICBpc1JhbmdlU3RhcnRMZWZ0PzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6YCJ5Lit5byA5aeL5Y+z6L65XHJcbiAgICogQGVuX1VTIFJhbmdlIHN0YXJ0IHJpZ2h0XHJcbiAgICovXHJcbiAgaXNSYW5nZVN0YXJ0UmlnaHQ/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpgInkuK3nu5PmnZ/lt6bovrlcclxuICAgKiBAZW5fVVMgUmFuZ2Ugc3RhcnQgbGVmdFxyXG4gICAqL1xyXG4gIGlzUmFuZ2VFbmRMZWZ0PzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6YCJ5Lit57uT5p2f5Y+z6L65XHJcbiAgICogQGVuX1VTIFJhbmdlIHN0YXJ0IHJpZ2h0XHJcbiAgICovXHJcbiAgaXNSYW5nZUVuZFJpZ2h0PzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IyD5Zu0IGhvdmVyXHJcbiAgICogQGVuX1VTIFJhbmdlIGhvdmVyXHJcbiAgICovXHJcbiAgaXNSYW5nZUhvdmVyPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04gaG92ZXIg5b2T5YmN5byA5aeLXHJcbiAgICogQGVuX1VTIFJhbmdlIGhvdmVyIHN0YXJ0XHJcbiAgICovXHJcbiAgaXNSYW5nZUhvdmVyU3RhcnQ/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiBob3ZlciDlvZPliY3nu5PmnZ9cclxuICAgKiBAZW5fVVMgRW5kIGRhdGVcclxuICAgKi9cclxuICBpc1JhbmdlSG92ZXJFbmQ/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiBob3ZlciDlvIDlp4vlt6bovrlcclxuICAgKiBAZW5fVVMgUmFuZ2UgaG92ZXIgc3RhcnQgbGVmdFxyXG4gICAqL1xyXG4gIGlzUmFuZ2VIb3ZlclN0YXJ0TGVmdD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIGhvdmVyIOW8gOWni+WPs+i+uVxyXG4gICAqIEBlbl9VUyBSYW5nZSBob3ZlciBzdGFydCByaWdodFxyXG4gICAqL1xyXG4gIGlzUmFuZ2VIb3ZlclN0YXJ0UmlnaHQ/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiBob3ZlciDnu5PmnZ/lt6bovrlcclxuICAgKiBAZW5fVVMgUmFuZ2UgaG92ZXIgZW5kIGxlZnRcclxuICAgKi9cclxuICBpc1JhbmdlSG92ZXJFbmRMZWZ0PzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04gaG92ZXIg57uT5p2f5Y+z6L65XHJcbiAgICogQGVuX1VTIFJhbmdlIGhvdmVyIGVuZCByaWdodFxyXG4gICAqL1xyXG4gIGlzUmFuZ2VIb3ZlckVuZFJpZ2h0PzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5b2T5YmN6YCJ5Lit5pel5pyfXHJcbiAgICogQGVuX1VTIEN1cnJlbnQgc2VsZWN0ZWQgZGF0ZVxyXG4gICAqL1xyXG4gIGlzQWN0aXZlPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g56aB55So5pel5pyfXHJcbiAgICogQGVuX1VTIERpc2FibGVkIGRhdGVcclxuICAgKi9cclxuICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g57G75Z6LXHJcbiAgICogQGVuX1VTIFR5cGVcclxuICAgKi9cclxuICB0eXBlPzogWERhdGVQaWNrZXJUeXBlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDnrKzlh6DlkahcclxuICAgKiBAZW5fVVMgV2Vla1xyXG4gICAqL1xyXG4gIHdlZWs/OiBudW1iZXI7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g5b2T5YmN6YCJ5oup55qE5piv5byA5aeLL+e7k+adn+aXpeacn1xyXG4gKiBAZW5fVVMgVGhlIGN1cnJlbnQgY2hvaWNlIGlzIHRoZSBzdGFydCAvIGVuZCBkYXRlXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBYRGF0ZVBpY2tlclJhbmdUeXBlID0gJ3N0YXJ0JyB8ICdlbmQnO1xyXG5cclxuLyoqXHJcbiAqIFBpY2tlck1vbnRoXHJcbiAqIEBzZWxlY3RvciB4LXBpY2tlci1tb250aFxyXG4gKiBAZGVjb3JhdG9yIGNvbXBvbmVudFxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IFhQaWNrZXJNb250aFByZWZpeCA9ICd4LXBpY2tlci1tb250aCc7XHJcblxyXG4vKipcclxuICogUGlja2VyTW9udGggUHJvcGVydHlcclxuICovXHJcbkBDb21wb25lbnQoeyBzZWxlY3RvcjogYCR7WFBpY2tlck1vbnRoUHJlZml4fS1wcm9wZXJ0eWAsIHRlbXBsYXRlOiAnJyB9KVxyXG5leHBvcnQgY2xhc3MgWFBpY2tlck1vbnRoUHJvcGVydHkgZXh0ZW5kcyBYUHJvcGVydHkge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpgInmi6nnsbvlnotcclxuICAgKiBAZW5fVVMgU2VsZWN0IHR5cGVcclxuICAgKi9cclxuICByZWFkb25seSB0eXBlID0gbW9kZWw8WERhdGVQaWNrZXJUeXBlPignZGF0ZScpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmL7npLrnmoTml6XmnJ9cclxuICAgKiBAZW5fVVMgRGF0ZSBkaXNwbGF5ZWRcclxuICAgKi9cclxuICByZWFkb25seSBkaXNwbGF5ID0gbW9kZWw8RGF0ZT4obmV3IERhdGUoKSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmAieS4reeahOaXpeacn1xyXG4gICAqIEBlbl9VUyBTZWxlY3RlZCBkYXRlXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgbW9kZWwgPSBtb2RlbDxEYXRlIHwgbnVsbD4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pyI5Lu95pi+56S65qih5p2/XHJcbiAgICogQGVuX1VTIE1vbnRoIGRpc3BsYXkgdGVtcGxhdGVcclxuICAgKi9cclxuICByZWFkb25seSBtb250aFRlbXAgPSBpbnB1dDxUZW1wbGF0ZVJlZjxhbnk+PigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmL7npLrliIfmjaLmjInpkq5cclxuICAgKiBAZW5fVVMgRGlzcGxheSBzd2l0Y2ggYnV0dG9uXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgc2hvd0hlYWRlciA9IGlucHV0PGJvb2xlYW4sIFhCb29sZWFuPih0cnVlLCB7IHRyYW5zZm9ybTogWFRvQm9vbGVhbiB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IyD5Zu06YCJ5oupXHJcbiAgICogQGVuX1VTIFJhbmdlIHBpY2tlclxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHJhbmdlUGlja2VyID0gaW5wdXQ8Ym9vbGVhbiwgWEJvb2xlYW4+KGZhbHNlLCB7IHRyYW5zZm9ybTogWFRvQm9vbGVhbiB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5LiK5LiA5bm0XHJcbiAgICogQGVuX1VTIExhc3QgeWVhclxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGxhc3RZZWFyQnRuID0gaW5wdXQ8Ym9vbGVhbiwgWEJvb2xlYW4+KHRydWUsIHsgdHJhbnNmb3JtOiBYVG9Cb29sZWFuIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDkuIvkuIDlubRcclxuICAgKiBAZW5fVVMgTmV4dCB5ZWFyXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgbmV4dFllYXJCdG4gPSBpbnB1dDxib29sZWFuLCBYQm9vbGVhbj4odHJ1ZSwgeyB0cmFuc2Zvcm06IFhUb0Jvb2xlYW4gfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiMg+WbtOaciOS7vVxyXG4gICAqIEBlbl9VUyBSYW5nZSBkYXRlXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgcmFuZ2VWYWx1ZSA9IGlucHV0PChudW1iZXIgfCBudWxsKVtdPihbXSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW9k+WJjemAieaLqeeahOaYr+W8gOWniy/nu5PmnZ/ml6XmnJ9cclxuICAgKiBAZW5fVVMgVGhlIGN1cnJlbnQgY2hvaWNlIGlzIHRoZSBzdGFydCAvIGVuZCBkYXRlXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgcmFuZ2VUeXBlID0gaW5wdXQ8WERhdGVQaWNrZXJSYW5nVHlwZT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g56aB55So55qE5pel5pyfXHJcbiAgICogQGVuX1VTIERpc2FibGVkIGRhdGVcclxuICAgKi9cclxuICByZWFkb25seSBkaXNhYmxlZERhdGUgPSBpbnB1dDxYRGF0ZVBpY2tlckRpc2FibGVkRGF0ZT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IyD5Zu05Y+Y5YyW55qE5LqL5Lu2XHJcbiAgICogQGVuX1VTIFNjb3BlIGNoYW5nZSBldmVudFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHJhbmdlQ2hhbmdlID0gb3V0cHV0PERhdGVbXT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6YCJ5bm055qE5LqL5Lu2XHJcbiAgICogQGVuX1VTIFllYXIgY2hhbmdlIGV2ZW50XHJcbiAgICovXHJcbiAgcmVhZG9ubHkgeWVhckNoYW5nZSA9IG91dHB1dDxudW1iZXI+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmAieaciOeahOS6i+S7tlxyXG4gICAqIEBlbl9VUyBNb250aCBjaGFuZ2UgZXZlbnRcclxuICAgKi9cclxuICByZWFkb25seSBtb250aENoYW5nZSA9IG91dHB1dDxudW1iZXI+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiMg+WbtOaciOS7vSBtb3VzZWVudGVyIOS6i+S7tlxyXG4gICAqIEBlbl9VUyBEYXRlIG1vdXNlZW50ZXIgZXZlbnRcclxuICAgKi9cclxuICByZWFkb25seSByYW5nZVRkTW91c2VlbnRlciA9IG91dHB1dDxYRGF0ZUNlbGw+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiMg+WbtOaciOS7vSBtb3VzZWxlYXZlIOS6i+S7tlxyXG4gICAqIEBlbl9VUyBEYXRlIG1vdXNlbGVhdmUgZXZlbnRcclxuICAgKi9cclxuICByZWFkb25seSByYW5nZVRkTW91c2VsZWF2ZSA9IG91dHB1dDxYRGF0ZUNlbGw+KCk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBQaWNrZXJRdWFydGVyXHJcbiAqIEBzZWxlY3RvciB4LXBpY2tlci1xdWFydGVyXHJcbiAqIEBkZWNvcmF0b3IgY29tcG9uZW50XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgWFBpY2tlclF1YXJ0ZXJQcmVmaXggPSAneC1waWNrZXItcXVhcnRlcic7XHJcblxyXG4vKipcclxuICogUGlja2VyUXVhcnRlciBQcm9wZXJ0eVxyXG4gKi9cclxuQENvbXBvbmVudCh7IHNlbGVjdG9yOiBgJHtYUGlja2VyUXVhcnRlclByZWZpeH0tcHJvcGVydHlgLCB0ZW1wbGF0ZTogJycgfSlcclxuZXhwb3J0IGNsYXNzIFhQaWNrZXJRdWFydGVyUHJvcGVydHkgZXh0ZW5kcyBYUHJvcGVydHkge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpgInmi6nnsbvlnotcclxuICAgKiBAZW5fVVMgU2VsZWN0IHR5cGVcclxuICAgKi9cclxuICByZWFkb25seSB0eXBlID0gbW9kZWw8WERhdGVQaWNrZXJUeXBlPignZGF0ZScpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmL7npLrnmoTml6XmnJ9cclxuICAgKiBAZW5fVVMgRGF0ZSBkaXNwbGF5ZWRcclxuICAgKi9cclxuICByZWFkb25seSBkaXNwbGF5ID0gbW9kZWw8RGF0ZT4obmV3IERhdGUoKSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmAieS4reeahOaXpeacn1xyXG4gICAqIEBlbl9VUyBTZWxlY3RlZCBkYXRlXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgbW9kZWwgPSBtb2RlbDxEYXRlIHwgbnVsbD4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5a2j5bqm5pi+56S65qih5p2/XHJcbiAgICogQGVuX1VTIE1vbnRoIGRpc3BsYXkgdGVtcGxhdGVcclxuICAgKi9cclxuICByZWFkb25seSBxdWFydGVyVGVtcCA9IGlucHV0PFRlbXBsYXRlUmVmPGFueT4+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYvuekuuWIh+aNouaMiemSrlxyXG4gICAqIEBlbl9VUyBEaXNwbGF5IHN3aXRjaCBidXR0b25cclxuICAgKi9cclxuICByZWFkb25seSBzaG93SGVhZGVyID0gaW5wdXQ8Ym9vbGVhbiwgWEJvb2xlYW4+KHRydWUsIHsgdHJhbnNmb3JtOiBYVG9Cb29sZWFuIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDojIPlm7TpgInmi6lcclxuICAgKiBAZW5fVVMgUmFuZ2UgcGlja2VyXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgcmFuZ2VQaWNrZXIgPSBpbnB1dDxib29sZWFuLCBYQm9vbGVhbj4oZmFsc2UsIHsgdHJhbnNmb3JtOiBYVG9Cb29sZWFuIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDkuIrkuIDlubRcclxuICAgKiBAZW5fVVMgTGFzdCB5ZWFyXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgbGFzdFllYXJCdG4gPSBpbnB1dDxib29sZWFuLCBYQm9vbGVhbj4odHJ1ZSwgeyB0cmFuc2Zvcm06IFhUb0Jvb2xlYW4gfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOS4i+S4gOW5tFxyXG4gICAqIEBlbl9VUyBOZXh0IHllYXJcclxuICAgKi9cclxuICByZWFkb25seSBuZXh0WWVhckJ0biA9IGlucHV0PGJvb2xlYW4sIFhCb29sZWFuPih0cnVlLCB7IHRyYW5zZm9ybTogWFRvQm9vbGVhbiB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IyD5Zu05pyI5Lu9XHJcbiAgICogQGVuX1VTIFJhbmdlIGRhdGVcclxuICAgKi9cclxuICByZWFkb25seSByYW5nZVZhbHVlID0gaW5wdXQ8KG51bWJlciB8IG51bGwpW10+KFtdKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5b2T5YmN6YCJ5oup55qE5piv5byA5aeLL+e7k+adn+aXpeacn1xyXG4gICAqIEBlbl9VUyBUaGUgY3VycmVudCBjaG9pY2UgaXMgdGhlIHN0YXJ0IC8gZW5kIGRhdGVcclxuICAgKi9cclxuICByZWFkb25seSByYW5nZVR5cGUgPSBpbnB1dDxYRGF0ZVBpY2tlclJhbmdUeXBlPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDnpoHnlKjnmoTml6XmnJ9cclxuICAgKiBAZW5fVVMgRGlzYWJsZWQgZGF0ZVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGRpc2FibGVkRGF0ZSA9IGlucHV0PFhEYXRlUGlja2VyRGlzYWJsZWREYXRlPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDojIPlm7Tlj5jljJbnmoTkuovku7ZcclxuICAgKiBAZW5fVVMgU2NvcGUgY2hhbmdlIGV2ZW50XHJcbiAgICovXHJcbiAgcmVhZG9ubHkgcmFuZ2VDaGFuZ2UgPSBvdXRwdXQ8RGF0ZVtdPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpgInlubTnmoTkuovku7ZcclxuICAgKiBAZW5fVVMgWWVhciBjaGFuZ2UgZXZlbnRcclxuICAgKi9cclxuICByZWFkb25seSB5ZWFyQ2hhbmdlID0gb3V0cHV0PG51bWJlcj4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6YCJ5pyI55qE5LqL5Lu2XHJcbiAgICogQGVuX1VTIE1vbnRoIGNoYW5nZSBldmVudFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IG1vbnRoQ2hhbmdlID0gb3V0cHV0PG51bWJlcj4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IyD5Zu05a2j5bqmIG1vdXNlZW50ZXIg5LqL5Lu2XHJcbiAgICogQGVuX1VTIERhdGUgbW91c2VlbnRlciBldmVudFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHJhbmdlVGRNb3VzZWVudGVyID0gb3V0cHV0PFhEYXRlQ2VsbD4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IyD5Zu05a2j5bqmIG1vdXNlbGVhdmUg5LqL5Lu2XHJcbiAgICogQGVuX1VTIERhdGUgbW91c2VsZWF2ZSBldmVudFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHJhbmdlVGRNb3VzZWxlYXZlID0gb3V0cHV0PFhEYXRlQ2VsbD4oKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIERhdGVRdWFydGVyXHJcbiAqIEBzZWxlY3RvciB4RGF0ZVF1YXJ0ZXJcclxuICogQGRlY29yYXRvciBwaXBlXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgWERhdGVRdWFydGVyUHJlZml4ID0gJ3hEYXRlUXVhcnRlcic7XHJcblxyXG4vKipcclxuICogUGlja2VyWWVhclxyXG4gKiBAc2VsZWN0b3IgeC1waWNrZXIteWVhclxyXG4gKiBAZGVjb3JhdG9yIGNvbXBvbmVudFxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IFhQaWNrZXJZZWFyUHJlZml4ID0gJ3gtcGlja2VyLXllYXInO1xyXG5cclxuLyoqXHJcbiAqIFBpY2tlclllYXIgUHJvcGVydHlcclxuICovXHJcbkBDb21wb25lbnQoeyBzZWxlY3RvcjogYCR7WFBpY2tlclllYXJQcmVmaXh9LXByb3BlcnR5YCwgdGVtcGxhdGU6ICcnIH0pXHJcbmV4cG9ydCBjbGFzcyBYUGlja2VyWWVhclByb3BlcnR5IGV4dGVuZHMgWFByb3BlcnR5IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g6YCJ5oup57G75Z6LXHJcbiAgICogQGVuX1VTIFNlbGVjdCB0eXBlXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgdHlwZSA9IG1vZGVsPFhEYXRlUGlja2VyVHlwZT4oJ2RhdGUnKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pi+56S655qE5pel5pyfXHJcbiAgICogQGVuX1VTIERhdGUgZGlzcGxheWVkXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgZGlzcGxheSA9IG1vZGVsPERhdGU+KG5ldyBEYXRlKCkpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpgInkuK3nmoTml6XmnJ9cclxuICAgKiBAZW5fVVMgU2VsZWN0ZWQgZGF0ZVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IG1vZGVsID0gbW9kZWw8RGF0ZSB8IG51bGw+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW5tOS7veaYvuekuuaooeadv1xyXG4gICAqIEBlbl9VUyBNb250aCBkaXNwbGF5IHRlbXBsYXRlXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgeWVhclRlbXAgPSBpbnB1dDxUZW1wbGF0ZVJlZjxhbnk+PigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmL7npLrliIfmjaLmjInpkq5cclxuICAgKiBAZW5fVVMgRGlzcGxheSBzd2l0Y2ggYnV0dG9uXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgc2hvd0hlYWRlciA9IGlucHV0PGJvb2xlYW4sIFhCb29sZWFuPih0cnVlLCB7IHRyYW5zZm9ybTogWFRvQm9vbGVhbiB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IyD5Zu06YCJ5oupXHJcbiAgICogQGVuX1VTIFJhbmdlIHBpY2tlclxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHJhbmdlUGlja2VyID0gaW5wdXQ8Ym9vbGVhbiwgWEJvb2xlYW4+KGZhbHNlLCB7IHRyYW5zZm9ybTogWFRvQm9vbGVhbiB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5LiK5LiA5bm0XHJcbiAgICogQGVuX1VTIExhc3QgeWVhclxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGxhc3RZZWFyQnRuID0gaW5wdXQ8Ym9vbGVhbiwgWEJvb2xlYW4+KHRydWUsIHsgdHJhbnNmb3JtOiBYVG9Cb29sZWFuIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDkuIvkuIDlubRcclxuICAgKiBAZW5fVVMgTmV4dCB5ZWFyXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgbmV4dFllYXJCdG4gPSBpbnB1dDxib29sZWFuLCBYQm9vbGVhbj4odHJ1ZSwgeyB0cmFuc2Zvcm06IFhUb0Jvb2xlYW4gfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiMg+WbtOW5tOS7vVxyXG4gICAqIEBlbl9VUyBSYW5nZSBkYXRlXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgcmFuZ2VWYWx1ZSA9IGlucHV0PChudW1iZXIgfCBudWxsKVtdPihbXSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW9k+WJjemAieaLqeeahOaYr+W8gOWniy/nu5PmnZ/ml6XmnJ9cclxuICAgKiBAZW5fVVMgVGhlIGN1cnJlbnQgY2hvaWNlIGlzIHRoZSBzdGFydCAvIGVuZCBkYXRlXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgcmFuZ2VUeXBlID0gaW5wdXQ8WERhdGVQaWNrZXJSYW5nVHlwZT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g56aB55So55qE5pel5pyfXHJcbiAgICogQGVuX1VTIERpc2FibGVkIGRhdGVcclxuICAgKi9cclxuICByZWFkb25seSBkaXNhYmxlZERhdGUgPSBpbnB1dDxYRGF0ZVBpY2tlckRpc2FibGVkRGF0ZT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5byA5aeL5bm05Lu95Y+Y5YyW55qE5LqL5Lu2XHJcbiAgICogQGVuX1VTIFN0YXJ0IHllYXIgY2hhbmdlIGV2ZW50XHJcbiAgICovXHJcbiAgcmVhZG9ubHkgc3RhcnRDaGFuZ2UgPSBvdXRwdXQ8bnVtYmVyPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDojIPlm7Tlj5jljJbnmoTkuovku7ZcclxuICAgKiBAZW5fVVMgU2NvcGUgY2hhbmdlIGV2ZW50XHJcbiAgICovXHJcbiAgcmVhZG9ubHkgcmFuZ2VDaGFuZ2UgPSBvdXRwdXQ8RGF0ZVtdPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpgInlubTnmoTkuovku7ZcclxuICAgKiBAZW5fVVMgWWVhciBjaGFuZ2UgZXZlbnRcclxuICAgKi9cclxuICByZWFkb25seSB5ZWFyQ2hhbmdlID0gb3V0cHV0PG51bWJlcj4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6YCJ5pyI55qE5LqL5Lu2XHJcbiAgICogQGVuX1VTIE1vbnRoIGNoYW5nZSBldmVudFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IG1vbnRoQ2hhbmdlID0gb3V0cHV0PG51bWJlcj4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IyD5Zu05pyI5Lu9IG1vdXNlZW50ZXIg5LqL5Lu2XHJcbiAgICogQGVuX1VTIERhdGUgbW91c2VlbnRlciBldmVudFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHJhbmdlVGRNb3VzZWVudGVyID0gb3V0cHV0PFhEYXRlQ2VsbD4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IyD5Zu05pyI5Lu9IG1vdXNlbGVhdmUg5LqL5Lu2XHJcbiAgICogQGVuX1VTIERhdGUgbW91c2VsZWF2ZSBldmVudFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHJhbmdlVGRNb3VzZWxlYXZlID0gb3V0cHV0PFhEYXRlQ2VsbD4oKTtcclxufVxyXG4iXX0=
|