@ng-nest/ui 12.0.7 → 12.1.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/auto-complete/auto-complete-portal.component.d.ts +3 -3
- package/auto-complete/auto-complete.component.d.ts +5 -1
- package/auto-complete/auto-complete.property.d.ts +6 -1
- package/back-top/back-top.component.d.ts +1 -2
- package/base-form/base-form.component.d.ts +1 -1
- package/base-form/base-form.property.d.ts +22 -2
- package/bundles/ng-nest-ui-affix.umd.js +25 -21
- package/bundles/ng-nest-ui-affix.umd.js.map +1 -1
- package/bundles/ng-nest-ui-alert.umd.js +25 -21
- package/bundles/ng-nest-ui-alert.umd.js.map +1 -1
- package/bundles/ng-nest-ui-anchor.umd.js +26 -22
- package/bundles/ng-nest-ui-anchor.umd.js.map +1 -1
- package/bundles/ng-nest-ui-api.umd.js +12 -14
- package/bundles/ng-nest-ui-api.umd.js.map +1 -1
- package/bundles/ng-nest-ui-auto-complete.umd.js +52 -29
- package/bundles/ng-nest-ui-auto-complete.umd.js.map +1 -1
- package/bundles/ng-nest-ui-avatar.umd.js +25 -21
- package/bundles/ng-nest-ui-avatar.umd.js.map +1 -1
- package/bundles/ng-nest-ui-back-top.umd.js +27 -23
- package/bundles/ng-nest-ui-back-top.umd.js.map +1 -1
- package/bundles/ng-nest-ui-badge.umd.js +27 -22
- package/bundles/ng-nest-ui-badge.umd.js.map +1 -1
- package/bundles/ng-nest-ui-base-form.umd.js +50 -22
- package/bundles/ng-nest-ui-base-form.umd.js.map +1 -1
- package/bundles/ng-nest-ui-border.umd.js +12 -14
- package/bundles/ng-nest-ui-border.umd.js.map +1 -1
- package/bundles/ng-nest-ui-button.umd.js +35 -30
- package/bundles/ng-nest-ui-button.umd.js.map +1 -1
- package/bundles/ng-nest-ui-calendar.umd.js +29 -24
- package/bundles/ng-nest-ui-calendar.umd.js.map +1 -1
- package/bundles/ng-nest-ui-card.umd.js +25 -21
- package/bundles/ng-nest-ui-card.umd.js.map +1 -1
- package/bundles/ng-nest-ui-carousel.umd.js +44 -39
- package/bundles/ng-nest-ui-carousel.umd.js.map +1 -1
- package/bundles/ng-nest-ui-cascade.umd.js +78 -31
- package/bundles/ng-nest-ui-cascade.umd.js.map +1 -1
- package/bundles/ng-nest-ui-checkbox.umd.js +28 -23
- package/bundles/ng-nest-ui-checkbox.umd.js.map +1 -1
- package/bundles/ng-nest-ui-collapse.umd.js +31 -27
- package/bundles/ng-nest-ui-collapse.umd.js.map +1 -1
- package/bundles/ng-nest-ui-color-picker.umd.js +39 -32
- package/bundles/ng-nest-ui-color-picker.umd.js.map +1 -1
- package/bundles/ng-nest-ui-color.umd.js +26 -22
- package/bundles/ng-nest-ui-color.umd.js.map +1 -1
- package/bundles/ng-nest-ui-comment.umd.js +34 -29
- package/bundles/ng-nest-ui-comment.umd.js.map +1 -1
- package/bundles/ng-nest-ui-container.umd.js +46 -42
- package/bundles/ng-nest-ui-container.umd.js.map +1 -1
- package/bundles/ng-nest-ui-core.umd.js +136 -35
- package/bundles/ng-nest-ui-core.umd.js.map +1 -1
- package/bundles/ng-nest-ui-crumb.umd.js +28 -23
- package/bundles/ng-nest-ui-crumb.umd.js.map +1 -1
- package/bundles/ng-nest-ui-date-picker.umd.js +387 -242
- package/bundles/ng-nest-ui-date-picker.umd.js.map +1 -1
- package/bundles/ng-nest-ui-description.umd.js +35 -32
- package/bundles/ng-nest-ui-description.umd.js.map +1 -1
- package/bundles/ng-nest-ui-dialog.umd.js +305 -48
- package/bundles/ng-nest-ui-dialog.umd.js.map +1 -1
- package/bundles/ng-nest-ui-doc.umd.js +12 -14
- package/bundles/ng-nest-ui-doc.umd.js.map +1 -1
- package/bundles/ng-nest-ui-drawer.umd.js +266 -30
- package/bundles/ng-nest-ui-drawer.umd.js.map +1 -1
- package/bundles/ng-nest-ui-dropdown.umd.js +32 -27
- package/bundles/ng-nest-ui-dropdown.umd.js.map +1 -1
- package/bundles/ng-nest-ui-empty.umd.js +25 -21
- package/bundles/ng-nest-ui-empty.umd.js.map +1 -1
- package/bundles/ng-nest-ui-examples.umd.js +12 -14
- package/bundles/ng-nest-ui-examples.umd.js.map +1 -1
- package/bundles/ng-nest-ui-find.umd.js +31 -26
- package/bundles/ng-nest-ui-find.umd.js.map +1 -1
- package/bundles/ng-nest-ui-form.umd.js +36 -36
- package/bundles/ng-nest-ui-form.umd.js.map +1 -1
- package/bundles/ng-nest-ui-highlight.umd.js +27 -22
- package/bundles/ng-nest-ui-highlight.umd.js.map +1 -1
- package/bundles/ng-nest-ui-i18n.umd.js +537 -138
- package/bundles/ng-nest-ui-i18n.umd.js.map +1 -1
- package/bundles/ng-nest-ui-icon.umd.js +34 -29
- package/bundles/ng-nest-ui-icon.umd.js.map +1 -1
- package/bundles/ng-nest-ui-inner.umd.js +26 -22
- package/bundles/ng-nest-ui-inner.umd.js.map +1 -1
- package/bundles/ng-nest-ui-input-number.umd.js +25 -21
- package/bundles/ng-nest-ui-input-number.umd.js.map +1 -1
- package/bundles/ng-nest-ui-input.umd.js +64 -32
- package/bundles/ng-nest-ui-input.umd.js.map +1 -1
- package/bundles/ng-nest-ui-layout.umd.js +31 -27
- package/bundles/ng-nest-ui-layout.umd.js.map +1 -1
- package/bundles/ng-nest-ui-link.umd.js +25 -21
- package/bundles/ng-nest-ui-link.umd.js.map +1 -1
- package/bundles/ng-nest-ui-list.umd.js +35 -30
- package/bundles/ng-nest-ui-list.umd.js.map +1 -1
- package/bundles/ng-nest-ui-loading.umd.js +27 -22
- package/bundles/ng-nest-ui-loading.umd.js.map +1 -1
- package/bundles/ng-nest-ui-menu.umd.js +37 -33
- package/bundles/ng-nest-ui-menu.umd.js.map +1 -1
- package/bundles/ng-nest-ui-message-box.umd.js +53 -47
- package/bundles/ng-nest-ui-message-box.umd.js.map +1 -1
- package/bundles/ng-nest-ui-message.umd.js +29 -25
- package/bundles/ng-nest-ui-message.umd.js.map +1 -1
- package/bundles/ng-nest-ui-notification.umd.js +26 -22
- package/bundles/ng-nest-ui-notification.umd.js.map +1 -1
- package/bundles/ng-nest-ui-outlet.umd.js +22 -18
- package/bundles/ng-nest-ui-outlet.umd.js.map +1 -1
- package/bundles/ng-nest-ui-page-header.umd.js +25 -21
- package/bundles/ng-nest-ui-page-header.umd.js.map +1 -1
- package/bundles/ng-nest-ui-pagination.umd.js +115 -26
- package/bundles/ng-nest-ui-pagination.umd.js.map +1 -1
- package/bundles/ng-nest-ui-pattern.umd.js +12 -14
- package/bundles/ng-nest-ui-pattern.umd.js.map +1 -1
- package/bundles/ng-nest-ui-popconfirm.umd.js +25 -21
- package/bundles/ng-nest-ui-popconfirm.umd.js.map +1 -1
- package/bundles/ng-nest-ui-popover.umd.js +31 -26
- package/bundles/ng-nest-ui-popover.umd.js.map +1 -1
- package/bundles/ng-nest-ui-portal.umd.js +28 -24
- package/bundles/ng-nest-ui-portal.umd.js.map +1 -1
- package/bundles/ng-nest-ui-progress.umd.js +259 -39
- package/bundles/ng-nest-ui-progress.umd.js.map +1 -1
- package/bundles/ng-nest-ui-radio.umd.js +28 -23
- package/bundles/ng-nest-ui-radio.umd.js.map +1 -1
- package/bundles/ng-nest-ui-rate.umd.js +30 -26
- package/bundles/ng-nest-ui-rate.umd.js.map +1 -1
- package/bundles/ng-nest-ui-result.umd.js +25 -21
- package/bundles/ng-nest-ui-result.umd.js.map +1 -1
- package/bundles/ng-nest-ui-ripple.umd.js +25 -21
- package/bundles/ng-nest-ui-ripple.umd.js.map +1 -1
- package/bundles/ng-nest-ui-select.umd.js +53 -34
- package/bundles/ng-nest-ui-select.umd.js.map +1 -1
- package/bundles/ng-nest-ui-skeleton.umd.js +27 -22
- package/bundles/ng-nest-ui-skeleton.umd.js.map +1 -1
- package/bundles/ng-nest-ui-slider-select.umd.js +25 -21
- package/bundles/ng-nest-ui-slider-select.umd.js.map +1 -1
- package/bundles/ng-nest-ui-slider.umd.js +32 -29
- package/bundles/ng-nest-ui-slider.umd.js.map +1 -1
- package/bundles/ng-nest-ui-statistic.umd.js +37 -31
- package/bundles/ng-nest-ui-statistic.umd.js.map +1 -1
- package/bundles/ng-nest-ui-steps.umd.js +53 -33
- package/bundles/ng-nest-ui-steps.umd.js.map +1 -1
- package/bundles/ng-nest-ui-switch.umd.js +25 -21
- package/bundles/ng-nest-ui-switch.umd.js.map +1 -1
- package/bundles/ng-nest-ui-table.umd.js +58 -51
- package/bundles/ng-nest-ui-table.umd.js.map +1 -1
- package/bundles/ng-nest-ui-tabs.umd.js +39 -34
- package/bundles/ng-nest-ui-tabs.umd.js.map +1 -1
- package/bundles/ng-nest-ui-tag.umd.js +27 -22
- package/bundles/ng-nest-ui-tag.umd.js.map +1 -1
- package/bundles/ng-nest-ui-text-retract.umd.js +27 -22
- package/bundles/ng-nest-ui-text-retract.umd.js.map +1 -1
- package/bundles/ng-nest-ui-textarea.umd.js +27 -32
- package/bundles/ng-nest-ui-textarea.umd.js.map +1 -1
- package/bundles/ng-nest-ui-theme.umd.js +26 -22
- package/bundles/ng-nest-ui-theme.umd.js.map +1 -1
- package/bundles/ng-nest-ui-time-ago.umd.js +12 -14
- package/bundles/ng-nest-ui-time-ago.umd.js.map +1 -1
- package/bundles/ng-nest-ui-time-picker.umd.js +87 -46
- package/bundles/ng-nest-ui-time-picker.umd.js.map +1 -1
- package/bundles/ng-nest-ui-time-range.umd.js +22 -18
- package/bundles/ng-nest-ui-time-range.umd.js.map +1 -1
- package/bundles/ng-nest-ui-timeline.umd.js +28 -23
- package/bundles/ng-nest-ui-timeline.umd.js.map +1 -1
- package/bundles/ng-nest-ui-tooltip.umd.js +31 -26
- package/bundles/ng-nest-ui-tooltip.umd.js.map +1 -1
- package/bundles/ng-nest-ui-transfer.umd.js +28 -23
- package/bundles/ng-nest-ui-transfer.umd.js.map +1 -1
- package/bundles/ng-nest-ui-tree-file.umd.js +25 -21
- package/bundles/ng-nest-ui-tree-file.umd.js.map +1 -1
- package/bundles/ng-nest-ui-tree.umd.js +39 -34
- package/bundles/ng-nest-ui-tree.umd.js.map +1 -1
- package/bundles/ng-nest-ui-typography.umd.js +25 -21
- package/bundles/ng-nest-ui-typography.umd.js.map +1 -1
- package/bundles/ng-nest-ui-upload.umd.js +32 -27
- package/bundles/ng-nest-ui-upload.umd.js.map +1 -1
- package/bundles/ng-nest-ui.umd.js +83 -243
- package/bundles/ng-nest-ui.umd.js.map +1 -1
- package/button/buttons.component.d.ts +1 -1
- package/calendar/calendar.component.d.ts +2 -2
- package/carousel/carousel-panel.component.d.ts +2 -3
- package/carousel/carousel.component.d.ts +1 -1
- package/cascade/cascade-portal.component.d.ts +13 -7
- package/cascade/cascade.component.d.ts +7 -1
- package/cascade/cascade.property.d.ts +23 -3
- package/checkbox/checkbox.component.d.ts +1 -1
- package/color/color.component.d.ts +2 -2
- package/color-picker/color-picker-portal.component.d.ts +3 -3
- package/color-picker/color-picker.component.d.ts +2 -3
- package/comment/comment.component.d.ts +1 -1
- package/core/config/config.d.ts +18 -0
- package/core/functions/clone-deep.d.ts +1 -0
- package/core/functions/drop.d.ts +1 -0
- package/core/functions/flex.d.ts +1 -1
- package/core/functions/has-in.d.ts +1 -0
- package/core/functions/order-by.d.ts +1 -0
- package/core/functions/public-api.d.ts +5 -0
- package/core/functions/remove.d.ts +1 -0
- package/core/services/reuse-strategy.service.d.ts +1 -1
- package/crumb/crumb.component.d.ts +1 -1
- package/date-picker/date-picker-portal.component.d.ts +4 -11
- package/date-picker/date-picker.component.d.ts +3 -4
- package/date-picker/date-picker.property.d.ts +55 -20
- package/date-picker/date-range-portal.component.d.ts +10 -6
- package/date-picker/date-range.component.d.ts +15 -11
- package/date-picker/picker-date.component.d.ts +13 -4
- package/date-picker/picker-month.component.d.ts +6 -3
- package/date-picker/picker-year.component.d.ts +4 -2
- package/description/description.component.d.ts +2 -4
- package/dialog/dialog-container.component.d.ts +18 -0
- package/dialog/dialog-container.directives.d.ts +24 -0
- package/dialog/dialog-ref.d.ts +9 -0
- package/dialog/dialog.module.d.ts +13 -11
- package/dialog/dialog.property.d.ts +84 -6
- package/dialog/dialog.service.d.ts +19 -0
- package/dialog/public-api.d.ts +4 -0
- package/drawer/drawer-container.component.d.ts +18 -0
- package/drawer/drawer-container.directives.d.ts +19 -0
- package/drawer/drawer-ref.d.ts +9 -0
- package/drawer/drawer.module.d.ts +8 -6
- package/drawer/drawer.property.d.ts +83 -2
- package/drawer/drawer.service.d.ts +19 -0
- package/drawer/public-api.d.ts +5 -0
- package/dropdown/dropdown-portal.component.d.ts +1 -3
- package/dropdown/dropdown.component.d.ts +2 -2
- package/esm2015/affix/affix.component.js +3 -3
- package/esm2015/affix/affix.module.js +4 -4
- package/esm2015/affix/affix.property.js +3 -3
- package/esm2015/alert/alert.component.js +4 -4
- package/esm2015/alert/alert.module.js +4 -4
- package/esm2015/alert/alert.property.js +3 -3
- package/esm2015/anchor/anchor.component.js +5 -5
- package/esm2015/anchor/anchor.module.js +4 -4
- package/esm2015/anchor/anchor.property.js +4 -4
- package/esm2015/api/api.component.js +3 -3
- package/esm2015/api/api.module.js +4 -4
- package/esm2015/auto-complete/auto-complete-portal.component.js +6 -6
- package/esm2015/auto-complete/auto-complete.component.js +20 -7
- package/esm2015/auto-complete/auto-complete.module.js +4 -4
- package/esm2015/auto-complete/auto-complete.property.js +10 -4
- package/esm2015/avatar/avatar.component.js +3 -3
- package/esm2015/avatar/avatar.module.js +4 -4
- package/esm2015/avatar/avatar.property.js +3 -3
- package/esm2015/back-top/back-top.component.js +6 -6
- package/esm2015/back-top/back-top.module.js +4 -4
- package/esm2015/back-top/back-top.property.js +3 -3
- package/esm2015/badge/badge.component.js +6 -5
- package/esm2015/badge/badge.module.js +4 -4
- package/esm2015/badge/badge.property.js +3 -3
- package/esm2015/base-form/base-form.component.js +5 -5
- package/esm2015/base-form/base-form.module.js +4 -4
- package/esm2015/base-form/base-form.property.js +29 -5
- package/esm2015/border/border.component.js +3 -3
- package/esm2015/border/border.module.js +4 -4
- package/esm2015/button/button.component.js +8 -7
- package/esm2015/button/button.module.js +4 -4
- package/esm2015/button/button.property.js +6 -6
- package/esm2015/button/buttons.component.js +4 -4
- package/esm2015/calendar/calendar.component.js +8 -7
- package/esm2015/calendar/calendar.module.js +4 -4
- package/esm2015/calendar/calendar.property.js +3 -3
- package/esm2015/card/card.component.js +3 -3
- package/esm2015/card/card.module.js +4 -4
- package/esm2015/card/card.property.js +3 -3
- package/esm2015/carousel/carousel-panel.component.js +15 -14
- package/esm2015/carousel/carousel.component.js +7 -6
- package/esm2015/carousel/carousel.module.js +4 -4
- package/esm2015/carousel/carousel.property.js +6 -6
- package/esm2015/cascade/cascade-portal.component.js +23 -11
- package/esm2015/cascade/cascade.component.js +23 -6
- package/esm2015/cascade/cascade.module.js +4 -4
- package/esm2015/cascade/cascade.property.js +16 -4
- package/esm2015/checkbox/checkbox.component.js +7 -6
- package/esm2015/checkbox/checkbox.module.js +4 -4
- package/esm2015/checkbox/checkbox.property.js +4 -4
- package/esm2015/collapse/collapse-panel.component.js +4 -4
- package/esm2015/collapse/collapse.component.js +3 -3
- package/esm2015/collapse/collapse.module.js +4 -4
- package/esm2015/collapse/collapse.property.js +6 -6
- package/esm2015/color/color.component.js +5 -5
- package/esm2015/color/color.module.js +4 -4
- package/esm2015/color/color.property.js +3 -3
- package/esm2015/color-picker/color-picker-portal.component.js +5 -5
- package/esm2015/color-picker/color-picker.component.js +14 -11
- package/esm2015/color-picker/color-picker.module.js +4 -4
- package/esm2015/color-picker/color-picker.property.js +3 -3
- package/esm2015/comment/comment-reply.component.js +3 -3
- package/esm2015/comment/comment.component.js +7 -6
- package/esm2015/comment/comment.module.js +4 -4
- package/esm2015/comment/comment.property.js +6 -6
- package/esm2015/container/aside.component.js +3 -3
- package/esm2015/container/container.component.js +5 -5
- package/esm2015/container/container.module.js +4 -4
- package/esm2015/container/container.property.js +12 -12
- package/esm2015/container/footer.component.js +3 -3
- package/esm2015/container/header.component.js +3 -3
- package/esm2015/container/main.component.js +3 -3
- package/esm2015/core/animation/fade.js +1 -1
- package/esm2015/core/config/config.js +1 -1
- package/esm2015/core/config/config.service.js +3 -3
- package/esm2015/core/functions/clone-deep.js +12 -0
- package/esm2015/core/functions/drop.js +8 -0
- package/esm2015/core/functions/flex.js +18 -7
- package/esm2015/core/functions/has-in.js +4 -0
- package/esm2015/core/functions/order-by.js +31 -0
- package/esm2015/core/functions/public-api.js +6 -1
- package/esm2015/core/functions/remove.js +15 -0
- package/esm2015/core/services/http.service.js +5 -5
- package/esm2015/core/services/preloading-strategy.service.js +5 -5
- package/esm2015/core/services/reuse-strategy.service.js +2 -2
- package/esm2015/core/services/storage.service.js +3 -3
- package/esm2015/core/theme/theme.service.js +3 -3
- package/esm2015/crumb/crumb.component.js +7 -6
- package/esm2015/crumb/crumb.module.js +4 -4
- package/esm2015/crumb/crumb.property.js +3 -3
- package/esm2015/date-picker/date-picker-portal.component.js +11 -43
- package/esm2015/date-picker/date-picker.component.js +13 -14
- package/esm2015/date-picker/date-picker.module.js +4 -4
- package/esm2015/date-picker/date-picker.property.js +102 -34
- package/esm2015/date-picker/date-range-portal.component.js +41 -20
- package/esm2015/date-picker/date-range.component.js +66 -47
- package/esm2015/date-picker/picker-date.component.js +50 -15
- package/esm2015/date-picker/picker-month.component.js +25 -9
- package/esm2015/date-picker/picker-year.component.js +21 -9
- package/esm2015/description/description-item.component.js +4 -4
- package/esm2015/description/description.component.js +8 -9
- package/esm2015/description/description.module.js +4 -4
- package/esm2015/description/description.property.js +6 -6
- package/esm2015/dialog/dialog-container.component.js +59 -0
- package/esm2015/dialog/dialog-container.directives.js +73 -0
- package/esm2015/dialog/dialog-ref.js +17 -0
- package/esm2015/dialog/dialog.component.js +6 -5
- package/esm2015/dialog/dialog.module.js +39 -9
- package/esm2015/dialog/dialog.property.js +20 -19
- package/esm2015/dialog/dialog.service.js +67 -0
- package/esm2015/dialog/public-api.js +5 -1
- package/esm2015/doc/doc.component.js +3 -3
- package/esm2015/doc/doc.module.js +4 -4
- package/esm2015/drawer/drawer-container.component.js +59 -0
- package/esm2015/drawer/drawer-container.directives.js +57 -0
- package/esm2015/drawer/drawer-ref.js +17 -0
- package/esm2015/drawer/drawer.component.js +6 -5
- package/esm2015/drawer/drawer.module.js +24 -8
- package/esm2015/drawer/drawer.property.js +24 -8
- package/esm2015/drawer/drawer.service.js +65 -0
- package/esm2015/drawer/public-api.js +6 -1
- package/esm2015/dropdown/dropdown-portal.component.js +5 -5
- package/esm2015/dropdown/dropdown.component.js +7 -6
- package/esm2015/dropdown/dropdown.module.js +4 -4
- package/esm2015/dropdown/dropdown.property.js +3 -3
- package/esm2015/empty/empty.component.js +3 -3
- package/esm2015/empty/empty.module.js +4 -4
- package/esm2015/empty/empty.property.js +3 -3
- package/esm2015/examples/examples.component.js +3 -3
- package/esm2015/examples/examples.module.js +4 -4
- package/esm2015/find/find.component.js +10 -9
- package/esm2015/find/find.module.js +4 -4
- package/esm2015/find/find.property.js +3 -3
- package/esm2015/form/control.component.js +4 -4
- package/esm2015/form/form.component.js +9 -8
- package/esm2015/form/form.module.js +4 -4
- package/esm2015/form/form.property.js +8 -13
- package/esm2015/highlight/highlight.component.js +6 -5
- package/esm2015/highlight/highlight.module.js +4 -4
- package/esm2015/highlight/highlight.property.js +4 -4
- package/esm2015/i18n/i18n.directive.js +6 -5
- package/esm2015/i18n/i18n.module.js +4 -4
- package/esm2015/i18n/i18n.pipe.js +3 -3
- package/esm2015/i18n/i18n.service.js +3 -3
- package/esm2015/i18n/languages/ar_EG.js +11 -3
- package/esm2015/i18n/languages/bg_BG.js +11 -3
- package/esm2015/i18n/languages/ca_ES.js +11 -3
- package/esm2015/i18n/languages/cs_CZ.js +11 -3
- package/esm2015/i18n/languages/da_DK.js +11 -3
- package/esm2015/i18n/languages/de_DE.js +11 -3
- package/esm2015/i18n/languages/el_GR.js +11 -3
- package/esm2015/i18n/languages/en_GB.js +11 -3
- package/esm2015/i18n/languages/en_US.js +7 -2
- package/esm2015/i18n/languages/es_ES.js +11 -3
- package/esm2015/i18n/languages/et_EE.js +11 -3
- package/esm2015/i18n/languages/fa_IR.js +11 -3
- package/esm2015/i18n/languages/fi_FI.js +11 -3
- package/esm2015/i18n/languages/fr_BE.js +10 -2
- package/esm2015/i18n/languages/fr_FR.js +11 -3
- package/esm2015/i18n/languages/he_IL.js +11 -3
- package/esm2015/i18n/languages/hi_IN.js +11 -3
- package/esm2015/i18n/languages/hr_HR.js +11 -3
- package/esm2015/i18n/languages/hu_HU.js +11 -3
- package/esm2015/i18n/languages/hy_AM.js +11 -3
- package/esm2015/i18n/languages/id_ID.js +11 -3
- package/esm2015/i18n/languages/is_IS.js +11 -3
- package/esm2015/i18n/languages/it_IT.js +11 -3
- package/esm2015/i18n/languages/ja_JP.js +11 -3
- package/esm2015/i18n/languages/ka_GE.js +11 -3
- package/esm2015/i18n/languages/kn_IN.js +11 -3
- package/esm2015/i18n/languages/ko_KR.js +11 -3
- package/esm2015/i18n/languages/ku_IQ.js +11 -3
- package/esm2015/i18n/languages/lv_LV.js +11 -3
- package/esm2015/i18n/languages/mn_MN.js +11 -3
- package/esm2015/i18n/languages/ms_MY.js +11 -3
- package/esm2015/i18n/languages/nb_NO.js +11 -3
- package/esm2015/i18n/languages/ne_NP.js +11 -3
- package/esm2015/i18n/languages/nl_BE.js +11 -3
- package/esm2015/i18n/languages/nl_NL.js +11 -3
- package/esm2015/i18n/languages/pl_PL.js +11 -3
- package/esm2015/i18n/languages/pt_BR.js +11 -3
- package/esm2015/i18n/languages/pt_PT.js +11 -3
- package/esm2015/i18n/languages/ro_RO.js +11 -3
- package/esm2015/i18n/languages/ru_RU.js +11 -3
- package/esm2015/i18n/languages/sk_SK.js +11 -3
- package/esm2015/i18n/languages/sl_SI.js +11 -3
- package/esm2015/i18n/languages/sr_RS.js +11 -3
- package/esm2015/i18n/languages/sv_SE.js +11 -3
- package/esm2015/i18n/languages/ta_IN.js +11 -3
- package/esm2015/i18n/languages/th_TH.js +29 -21
- package/esm2015/i18n/languages/tr_TR.js +11 -3
- package/esm2015/i18n/languages/uk_UA.js +11 -3
- package/esm2015/i18n/languages/vi_VN.js +11 -3
- package/esm2015/i18n/languages/zh_CN.js +6 -2
- package/esm2015/i18n/languages/zh_TW.js +10 -3
- package/esm2015/icon/icon.component.js +7 -6
- package/esm2015/icon/icon.module.js +4 -4
- package/esm2015/icon/icon.property.js +3 -3
- package/esm2015/icon/icon.service.js +6 -6
- package/esm2015/inner/inner.component.js +5 -5
- package/esm2015/inner/inner.module.js +4 -4
- package/esm2015/inner/inner.property.js +3 -3
- package/esm2015/input/input-group.component.js +4 -6
- package/esm2015/input/input.component.js +21 -7
- package/esm2015/input/input.module.js +4 -4
- package/esm2015/input/input.property.js +12 -7
- package/esm2015/input-number/input-number.component.js +3 -3
- package/esm2015/input-number/input-number.module.js +4 -4
- package/esm2015/input-number/input-number.property.js +3 -3
- package/esm2015/layout/col.component.js +3 -3
- package/esm2015/layout/layout.module.js +4 -4
- package/esm2015/layout/layout.property.js +6 -6
- package/esm2015/layout/row.component.js +3 -3
- package/esm2015/link/link.component.js +3 -3
- package/esm2015/link/link.module.js +4 -4
- package/esm2015/link/link.property.js +3 -3
- package/esm2015/list/list-option.component.js +3 -3
- package/esm2015/list/list.component.js +8 -7
- package/esm2015/list/list.module.js +4 -4
- package/esm2015/list/list.property.js +7 -7
- package/esm2015/loading/loading.component.js +6 -5
- package/esm2015/loading/loading.module.js +4 -4
- package/esm2015/loading/loading.property.js +3 -3
- package/esm2015/menu/menu-node.component.js +4 -4
- package/esm2015/menu/menu.component.js +10 -10
- package/esm2015/menu/menu.module.js +4 -4
- package/esm2015/menu/menu.property.js +6 -6
- package/esm2015/message/message.component.js +5 -5
- package/esm2015/message/message.module.js +4 -4
- package/esm2015/message/message.property.js +2 -2
- package/esm2015/message/message.service.js +6 -6
- package/esm2015/message-box/message-box.component.js +20 -24
- package/esm2015/message-box/message-box.module.js +4 -4
- package/esm2015/message-box/message-box.service.js +10 -8
- package/esm2015/notification/notification.component.js +5 -5
- package/esm2015/notification/notification.module.js +4 -4
- package/esm2015/notification/notification.property.js +1 -1
- package/esm2015/notification/notification.service.js +3 -3
- package/esm2015/outlet/outlet.directive.js +3 -3
- package/esm2015/outlet/outlet.module.js +4 -4
- package/esm2015/page-header/page-header.component.js +3 -3
- package/esm2015/page-header/page-header.module.js +4 -4
- package/esm2015/page-header/page-header.property.js +3 -3
- package/esm2015/pagination/pagination.component.js +45 -7
- package/esm2015/pagination/pagination.module.js +10 -6
- package/esm2015/pagination/pagination.property.js +52 -4
- package/esm2015/pattern/pattern.component.js +3 -3
- package/esm2015/pattern/pattern.module.js +4 -4
- package/esm2015/popconfirm/popconfirm.component.js +3 -3
- package/esm2015/popconfirm/popconfirm.module.js +4 -4
- package/esm2015/popconfirm/popconfirm.property.js +3 -3
- package/esm2015/popover/popover-portal.component.js +4 -4
- package/esm2015/popover/popover.directive.js +7 -6
- package/esm2015/popover/popover.module.js +4 -4
- package/esm2015/popover/popover.property.js +3 -3
- package/esm2015/portal/portal.module.js +6 -5
- package/esm2015/portal/portal.service.js +11 -12
- package/esm2015/progress/progress.component.js +180 -17
- package/esm2015/progress/progress.module.js +4 -4
- package/esm2015/progress/progress.property.js +52 -5
- package/esm2015/radio/radio.component.js +7 -6
- package/esm2015/radio/radio.module.js +4 -4
- package/esm2015/radio/radio.property.js +4 -4
- package/esm2015/rate/rate.component.js +9 -9
- package/esm2015/rate/rate.module.js +4 -4
- package/esm2015/rate/rate.property.js +3 -3
- package/esm2015/result/result.component.js +3 -3
- package/esm2015/result/result.module.js +4 -4
- package/esm2015/result/result.property.js +3 -3
- package/esm2015/ripple/ripple.directive.js +4 -4
- package/esm2015/ripple/ripple.module.js +4 -4
- package/esm2015/ripple/ripple.property.js +4 -4
- package/esm2015/select/select-portal.component.js +6 -6
- package/esm2015/select/select.component.js +15 -11
- package/esm2015/select/select.module.js +4 -4
- package/esm2015/select/select.property.js +15 -4
- package/esm2015/skeleton/skeleton.component.js +6 -5
- package/esm2015/skeleton/skeleton.module.js +4 -4
- package/esm2015/skeleton/skeleton.property.js +3 -3
- package/esm2015/slider/slider.component.js +11 -12
- package/esm2015/slider/slider.module.js +4 -4
- package/esm2015/slider/slider.property.js +3 -3
- package/esm2015/slider-select/slider-select.component.js +3 -3
- package/esm2015/slider-select/slider-select.module.js +4 -4
- package/esm2015/slider-select/slider-select.property.js +3 -3
- package/esm2015/statistic/countdown.component.js +8 -7
- package/esm2015/statistic/statistic.component.js +6 -5
- package/esm2015/statistic/statistic.module.js +4 -4
- package/esm2015/statistic/statistic.property.js +6 -6
- package/esm2015/steps/steps.component.js +22 -13
- package/esm2015/steps/steps.module.js +7 -6
- package/esm2015/steps/steps.property.js +12 -5
- package/esm2015/switch/switch.component.js +3 -3
- package/esm2015/switch/switch.module.js +4 -4
- package/esm2015/switch/switch.property.js +3 -3
- package/esm2015/table/drag.directive.js +5 -5
- package/esm2015/table/table-body.component.js +7 -6
- package/esm2015/table/table-foot.component.js +4 -4
- package/esm2015/table/table-head.component.js +7 -6
- package/esm2015/table/table.component.js +9 -8
- package/esm2015/table/table.module.js +4 -4
- package/esm2015/table/table.property.js +13 -13
- package/esm2015/tabs/tab-content.component.js +3 -3
- package/esm2015/tabs/tab.component.js +4 -4
- package/esm2015/tabs/tabs.component.js +9 -8
- package/esm2015/tabs/tabs.module.js +4 -4
- package/esm2015/tabs/tabs.property.js +6 -6
- package/esm2015/tag/tag.component.js +6 -5
- package/esm2015/tag/tag.module.js +4 -4
- package/esm2015/tag/tag.property.js +3 -3
- package/esm2015/text-retract/text-retract.component.js +6 -5
- package/esm2015/text-retract/text-retract.module.js +4 -4
- package/esm2015/text-retract/text-retract.property.js +3 -3
- package/esm2015/textarea/textarea.component.js +6 -5
- package/esm2015/textarea/textarea.module.js +4 -4
- package/esm2015/textarea/textarea.property.js +4 -14
- package/esm2015/theme/theme.component.js +5 -5
- package/esm2015/theme/theme.module.js +4 -4
- package/esm2015/theme/theme.property.js +4 -4
- package/esm2015/time-ago/time-ago.module.js +4 -4
- package/esm2015/time-ago/time-ago.pipe.js +3 -3
- package/esm2015/time-picker/time-picker-frame.component.js +22 -12
- package/esm2015/time-picker/time-picker-portal.component.js +5 -5
- package/esm2015/time-picker/time-picker.component.js +31 -15
- package/esm2015/time-picker/time-picker.module.js +4 -4
- package/esm2015/time-picker/time-picker.property.js +16 -5
- package/esm2015/time-range/time-range.module.js +4 -4
- package/esm2015/time-range/time-range.pipe.js +3 -3
- package/esm2015/timeline/timeline.component.js +7 -6
- package/esm2015/timeline/timeline.module.js +4 -4
- package/esm2015/timeline/timeline.property.js +3 -3
- package/esm2015/tooltip/tooltip-portal.component.js +4 -4
- package/esm2015/tooltip/tooltip.directive.js +7 -6
- package/esm2015/tooltip/tooltip.module.js +4 -4
- package/esm2015/tooltip/tooltip.property.js +4 -4
- package/esm2015/transfer/transfer.component.js +7 -6
- package/esm2015/transfer/transfer.module.js +4 -4
- package/esm2015/transfer/transfer.property.js +3 -3
- package/esm2015/tree/tree-node.component.js +5 -5
- package/esm2015/tree/tree.component.js +11 -10
- package/esm2015/tree/tree.module.js +4 -4
- package/esm2015/tree/tree.property.js +7 -7
- package/esm2015/tree-file/tree-file.component.js +3 -3
- package/esm2015/tree-file/tree-file.module.js +4 -4
- package/esm2015/tree-file/tree-file.property.js +3 -3
- package/esm2015/typography/typography.component.js +3 -3
- package/esm2015/typography/typography.module.js +4 -4
- package/esm2015/typography/typography.property.js +3 -3
- package/esm2015/upload/upload-portal.component.js +5 -5
- package/esm2015/upload/upload.component.js +7 -6
- package/esm2015/upload/upload.module.js +4 -4
- package/esm2015/upload/upload.property.js +3 -3
- package/fesm2015/ng-nest-ui-affix.js +10 -10
- package/fesm2015/ng-nest-ui-alert.js +10 -10
- package/fesm2015/ng-nest-ui-alert.js.map +1 -1
- package/fesm2015/ng-nest-ui-anchor.js +11 -11
- package/fesm2015/ng-nest-ui-anchor.js.map +1 -1
- package/fesm2015/ng-nest-ui-api.js +7 -7
- package/fesm2015/ng-nest-ui-auto-complete.js +37 -18
- package/fesm2015/ng-nest-ui-auto-complete.js.map +1 -1
- package/fesm2015/ng-nest-ui-avatar.js +10 -10
- package/fesm2015/ng-nest-ui-back-top.js +12 -12
- package/fesm2015/ng-nest-ui-back-top.js.map +1 -1
- package/fesm2015/ng-nest-ui-badge.js +12 -11
- package/fesm2015/ng-nest-ui-badge.js.map +1 -1
- package/fesm2015/ng-nest-ui-base-form.js +36 -12
- package/fesm2015/ng-nest-ui-base-form.js.map +1 -1
- package/fesm2015/ng-nest-ui-border.js +7 -7
- package/fesm2015/ng-nest-ui-button.js +20 -19
- package/fesm2015/ng-nest-ui-button.js.map +1 -1
- package/fesm2015/ng-nest-ui-calendar.js +14 -13
- package/fesm2015/ng-nest-ui-calendar.js.map +1 -1
- package/fesm2015/ng-nest-ui-card.js +10 -10
- package/fesm2015/ng-nest-ui-carousel.js +28 -27
- package/fesm2015/ng-nest-ui-carousel.js.map +1 -1
- package/fesm2015/ng-nest-ui-cascade.js +63 -22
- package/fesm2015/ng-nest-ui-cascade.js.map +1 -1
- package/fesm2015/ng-nest-ui-checkbox.js +13 -12
- package/fesm2015/ng-nest-ui-checkbox.js.map +1 -1
- package/fesm2015/ng-nest-ui-collapse.js +16 -16
- package/fesm2015/ng-nest-ui-collapse.js.map +1 -1
- package/fesm2015/ng-nest-ui-color-picker.js +24 -21
- package/fesm2015/ng-nest-ui-color-picker.js.map +1 -1
- package/fesm2015/ng-nest-ui-color.js +11 -11
- package/fesm2015/ng-nest-ui-color.js.map +1 -1
- package/fesm2015/ng-nest-ui-comment.js +19 -18
- package/fesm2015/ng-nest-ui-comment.js.map +1 -1
- package/fesm2015/ng-nest-ui-container.js +32 -32
- package/fesm2015/ng-nest-ui-container.js.map +1 -1
- package/fesm2015/ng-nest-ui-core.js +106 -25
- package/fesm2015/ng-nest-ui-core.js.map +1 -1
- package/fesm2015/ng-nest-ui-crumb.js +13 -12
- package/fesm2015/ng-nest-ui-crumb.js.map +1 -1
- package/fesm2015/ng-nest-ui-date-picker.js +325 -186
- package/fesm2015/ng-nest-ui-date-picker.js.map +1 -1
- package/fesm2015/ng-nest-ui-description.js +21 -22
- package/fesm2015/ng-nest-ui-description.js.map +1 -1
- package/fesm2015/ng-nest-ui-dialog.js +263 -33
- package/fesm2015/ng-nest-ui-dialog.js.map +1 -1
- package/fesm2015/ng-nest-ui-doc.js +7 -7
- package/fesm2015/ng-nest-ui-drawer.js +232 -20
- package/fesm2015/ng-nest-ui-drawer.js.map +1 -1
- package/fesm2015/ng-nest-ui-dropdown.js +17 -16
- package/fesm2015/ng-nest-ui-dropdown.js.map +1 -1
- package/fesm2015/ng-nest-ui-empty.js +10 -10
- package/fesm2015/ng-nest-ui-examples.js +7 -7
- package/fesm2015/ng-nest-ui-find.js +16 -15
- package/fesm2015/ng-nest-ui-find.js.map +1 -1
- package/fesm2015/ng-nest-ui-form.js +22 -26
- package/fesm2015/ng-nest-ui-form.js.map +1 -1
- package/fesm2015/ng-nest-ui-highlight.js +12 -11
- package/fesm2015/ng-nest-ui-highlight.js.map +1 -1
- package/fesm2015/ng-nest-ui-i18n.js +532 -131
- package/fesm2015/ng-nest-ui-i18n.js.map +1 -1
- package/fesm2015/ng-nest-ui-icon.js +18 -18
- package/fesm2015/ng-nest-ui-icon.js.map +1 -1
- package/fesm2015/ng-nest-ui-inner.js +11 -11
- package/fesm2015/ng-nest-ui-inner.js.map +1 -1
- package/fesm2015/ng-nest-ui-input-number.js +10 -10
- package/fesm2015/ng-nest-ui-input.js +38 -21
- package/fesm2015/ng-nest-ui-input.js.map +1 -1
- package/fesm2015/ng-nest-ui-layout.js +16 -16
- package/fesm2015/ng-nest-ui-link.js +10 -10
- package/fesm2015/ng-nest-ui-list.js +20 -19
- package/fesm2015/ng-nest-ui-list.js.map +1 -1
- package/fesm2015/ng-nest-ui-loading.js +12 -11
- package/fesm2015/ng-nest-ui-loading.js.map +1 -1
- package/fesm2015/ng-nest-ui-menu.js +22 -22
- package/fesm2015/ng-nest-ui-menu.js.map +1 -1
- package/fesm2015/ng-nest-ui-message-box.js +32 -34
- package/fesm2015/ng-nest-ui-message-box.js.map +1 -1
- package/fesm2015/ng-nest-ui-message.js +14 -14
- package/fesm2015/ng-nest-ui-message.js.map +1 -1
- package/fesm2015/ng-nest-ui-notification.js +11 -11
- package/fesm2015/ng-nest-ui-notification.js.map +1 -1
- package/fesm2015/ng-nest-ui-outlet.js +7 -7
- package/fesm2015/ng-nest-ui-page-header.js +10 -10
- package/fesm2015/ng-nest-ui-pagination.js +104 -14
- package/fesm2015/ng-nest-ui-pagination.js.map +1 -1
- package/fesm2015/ng-nest-ui-pattern.js +7 -7
- package/fesm2015/ng-nest-ui-popconfirm.js +10 -10
- package/fesm2015/ng-nest-ui-popover.js +16 -15
- package/fesm2015/ng-nest-ui-popover.js.map +1 -1
- package/fesm2015/ng-nest-ui-portal.js +15 -15
- package/fesm2015/ng-nest-ui-portal.js.map +1 -1
- package/fesm2015/ng-nest-ui-progress.js +234 -25
- package/fesm2015/ng-nest-ui-progress.js.map +1 -1
- package/fesm2015/ng-nest-ui-radio.js +13 -12
- package/fesm2015/ng-nest-ui-radio.js.map +1 -1
- package/fesm2015/ng-nest-ui-rate.js +15 -15
- package/fesm2015/ng-nest-ui-rate.js.map +1 -1
- package/fesm2015/ng-nest-ui-result.js +10 -10
- package/fesm2015/ng-nest-ui-ripple.js +10 -10
- package/fesm2015/ng-nest-ui-ripple.js.map +1 -1
- package/fesm2015/ng-nest-ui-select.js +37 -22
- package/fesm2015/ng-nest-ui-select.js.map +1 -1
- package/fesm2015/ng-nest-ui-skeleton.js +12 -11
- package/fesm2015/ng-nest-ui-skeleton.js.map +1 -1
- package/fesm2015/ng-nest-ui-slider-select.js +10 -10
- package/fesm2015/ng-nest-ui-slider.js +17 -18
- package/fesm2015/ng-nest-ui-slider.js.map +1 -1
- package/fesm2015/ng-nest-ui-statistic.js +22 -20
- package/fesm2015/ng-nest-ui-statistic.js.map +1 -1
- package/fesm2015/ng-nest-ui-steps.js +38 -21
- package/fesm2015/ng-nest-ui-steps.js.map +1 -1
- package/fesm2015/ng-nest-ui-switch.js +10 -10
- package/fesm2015/ng-nest-ui-table.js +43 -40
- package/fesm2015/ng-nest-ui-table.js.map +1 -1
- package/fesm2015/ng-nest-ui-tabs.js +24 -23
- package/fesm2015/ng-nest-ui-tabs.js.map +1 -1
- package/fesm2015/ng-nest-ui-tag.js +12 -11
- package/fesm2015/ng-nest-ui-tag.js.map +1 -1
- package/fesm2015/ng-nest-ui-text-retract.js +12 -11
- package/fesm2015/ng-nest-ui-text-retract.js.map +1 -1
- package/fesm2015/ng-nest-ui-textarea.js +12 -21
- package/fesm2015/ng-nest-ui-textarea.js.map +1 -1
- package/fesm2015/ng-nest-ui-theme.js +11 -11
- package/fesm2015/ng-nest-ui-theme.js.map +1 -1
- package/fesm2015/ng-nest-ui-time-ago.js +7 -7
- package/fesm2015/ng-nest-ui-time-picker.js +73 -36
- package/fesm2015/ng-nest-ui-time-picker.js.map +1 -1
- package/fesm2015/ng-nest-ui-time-range.js +7 -7
- package/fesm2015/ng-nest-ui-timeline.js +13 -12
- package/fesm2015/ng-nest-ui-timeline.js.map +1 -1
- package/fesm2015/ng-nest-ui-tooltip.js +16 -15
- package/fesm2015/ng-nest-ui-tooltip.js.map +1 -1
- package/fesm2015/ng-nest-ui-transfer.js +13 -12
- package/fesm2015/ng-nest-ui-transfer.js.map +1 -1
- package/fesm2015/ng-nest-ui-tree-file.js +10 -10
- package/fesm2015/ng-nest-ui-tree.js +24 -23
- package/fesm2015/ng-nest-ui-tree.js.map +1 -1
- package/fesm2015/ng-nest-ui-typography.js +10 -10
- package/fesm2015/ng-nest-ui-upload.js +17 -16
- package/fesm2015/ng-nest-ui-upload.js.map +1 -1
- package/find/find.component.d.ts +1 -1
- package/form/control.component.d.ts +1 -1
- package/form/form.component.d.ts +1 -1
- package/form/form.property.d.ts +6 -6
- package/i18n/languages/ar_EG.d.ts +8 -0
- package/i18n/languages/bg_BG.d.ts +8 -0
- package/i18n/languages/ca_ES.d.ts +8 -0
- package/i18n/languages/cs_CZ.d.ts +8 -0
- package/i18n/languages/da_DK.d.ts +8 -0
- package/i18n/languages/de_DE.d.ts +8 -0
- package/i18n/languages/el_GR.d.ts +8 -0
- package/i18n/languages/en_GB.d.ts +8 -0
- package/i18n/languages/en_US.d.ts +5 -0
- package/i18n/languages/es_ES.d.ts +8 -0
- package/i18n/languages/et_EE.d.ts +8 -0
- package/i18n/languages/fa_IR.d.ts +8 -0
- package/i18n/languages/fi_FI.d.ts +8 -0
- package/i18n/languages/fr_BE.d.ts +8 -0
- package/i18n/languages/fr_FR.d.ts +8 -0
- package/i18n/languages/he_IL.d.ts +8 -0
- package/i18n/languages/hi_IN.d.ts +8 -0
- package/i18n/languages/hr_HR.d.ts +8 -0
- package/i18n/languages/hu_HU.d.ts +8 -0
- package/i18n/languages/hy_AM.d.ts +8 -0
- package/i18n/languages/id_ID.d.ts +8 -0
- package/i18n/languages/is_IS.d.ts +8 -0
- package/i18n/languages/it_IT.d.ts +8 -0
- package/i18n/languages/ja_JP.d.ts +8 -0
- package/i18n/languages/ka_GE.d.ts +8 -0
- package/i18n/languages/kn_IN.d.ts +8 -0
- package/i18n/languages/ko_KR.d.ts +8 -0
- package/i18n/languages/ku_IQ.d.ts +8 -0
- package/i18n/languages/lv_LV.d.ts +8 -0
- package/i18n/languages/mn_MN.d.ts +8 -0
- package/i18n/languages/ms_MY.d.ts +8 -0
- package/i18n/languages/nb_NO.d.ts +8 -0
- package/i18n/languages/ne_NP.d.ts +8 -0
- package/i18n/languages/nl_BE.d.ts +8 -0
- package/i18n/languages/nl_NL.d.ts +8 -0
- package/i18n/languages/pl_PL.d.ts +8 -0
- package/i18n/languages/pt_BR.d.ts +8 -0
- package/i18n/languages/pt_PT.d.ts +8 -0
- package/i18n/languages/ro_RO.d.ts +8 -0
- package/i18n/languages/ru_RU.d.ts +8 -0
- package/i18n/languages/sk_SK.d.ts +8 -0
- package/i18n/languages/sl_SI.d.ts +8 -0
- package/i18n/languages/sr_RS.d.ts +8 -0
- package/i18n/languages/sv_SE.d.ts +8 -0
- package/i18n/languages/ta_IN.d.ts +8 -0
- package/i18n/languages/th_TH.d.ts +8 -0
- package/i18n/languages/tr_TR.d.ts +8 -0
- package/i18n/languages/uk_UA.d.ts +8 -0
- package/i18n/languages/vi_VN.d.ts +8 -0
- package/i18n/languages/zh_CN.d.ts +4 -0
- package/i18n/languages/zh_TW.d.ts +7 -0
- package/inner/inner.component.d.ts +1 -1
- package/input/input-group.component.d.ts +2 -4
- package/input/input.component.d.ts +3 -1
- package/input/input.property.d.ts +6 -1
- package/list/list.component.d.ts +2 -2
- package/menu/menu.component.d.ts +1 -1
- package/message/message.component.d.ts +1 -1
- package/message/message.property.d.ts +1 -1
- package/message-box/message-box.component.d.ts +2 -1
- package/notification/notification.component.d.ts +1 -1
- package/package.json +1 -1
- package/pagination/pagination.component.d.ts +5 -1
- package/pagination/pagination.module.d.ts +7 -3
- package/pagination/pagination.property.d.ts +49 -3
- package/portal/portal.module.d.ts +1 -1
- package/portal/portal.service.d.ts +2 -3
- package/progress/progress.component.d.ts +31 -3
- package/progress/progress.property.d.ts +80 -5
- package/radio/radio.component.d.ts +1 -1
- package/rate/rate.component.d.ts +5 -5
- package/select/select-portal.component.d.ts +3 -3
- package/select/select.component.d.ts +1 -1
- package/select/select.property.d.ts +12 -2
- package/slider/slider.component.d.ts +1 -1
- package/steps/steps.component.d.ts +1 -1
- package/steps/steps.module.d.ts +2 -1
- package/steps/steps.property.d.ts +12 -2
- package/table/table-body.component.d.ts +1 -1
- package/table/table-head.component.d.ts +1 -1
- package/table/table.component.d.ts +1 -1
- package/table/table.property.d.ts +11 -1
- package/textarea/textarea.property.d.ts +1 -6
- package/theme/theme.component.d.ts +1 -1
- package/time-picker/time-picker-frame.component.d.ts +4 -0
- package/time-picker/time-picker-portal.component.d.ts +3 -3
- package/time-picker/time-picker.component.d.ts +5 -3
- package/time-picker/time-picker.property.d.ts +12 -2
- package/timeline/timeline.component.d.ts +1 -1
- package/transfer/transfer.component.d.ts +1 -1
- package/tree/tree-node.component.d.ts +1 -1
- package/tree/tree.component.d.ts +1 -1
- package/upload/upload.component.d.ts +3 -3
|
@@ -23,8 +23,8 @@ export class XCheckboxProperty extends XControlValueAccessor {
|
|
|
23
23
|
this.data = [];
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
|
-
/** @nocollapse */ XCheckboxProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.
|
|
27
|
-
/** @nocollapse */ XCheckboxProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.
|
|
26
|
+
/** @nocollapse */ XCheckboxProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XCheckboxProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
27
|
+
/** @nocollapse */ XCheckboxProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: XCheckboxProperty, selector: "ng-component", inputs: { data: "data", button: "button", icon: "icon", indeterminate: "indeterminate", size: "size" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
28
28
|
__decorate([
|
|
29
29
|
XDataConvert()
|
|
30
30
|
], XCheckboxProperty.prototype, "data", void 0);
|
|
@@ -40,7 +40,7 @@ __decorate([
|
|
|
40
40
|
__decorate([
|
|
41
41
|
XWithConfig(X_CONFIG_NAME, 'medium')
|
|
42
42
|
], XCheckboxProperty.prototype, "size", void 0);
|
|
43
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XCheckboxProperty, decorators: [{
|
|
44
44
|
type: Component,
|
|
45
45
|
args: [{ template: '' }]
|
|
46
46
|
}], propDecorators: { data: [{
|
|
@@ -54,4 +54,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImpor
|
|
|
54
54
|
}], size: [{
|
|
55
55
|
type: Input
|
|
56
56
|
}] } });
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gucHJvcGVydHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9jaGVja2JveC9jaGVja2JveC5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUF1QyxZQUFZLEVBQUUsYUFBYSxFQUFtQixXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsSSxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUscUJBQXFCLEVBQWUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFFM0U7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxZQUFZLENBQUM7QUFDNUMsTUFBTSxhQUFhLEdBQUcsVUFBVSxDQUFDO0FBRWpDOztHQUVHO0FBRUgsTUFBTSxPQUFPLGlCQUFrQixTQUFRLHFCQUEyQztJQURsRjs7UUFFRTs7O1dBR0c7UUFDc0IsU0FBSSxHQUF5QixFQUFFLENBQUM7S0FxQjFEOztpSUExQlksaUJBQWlCO3FIQUFqQixpQkFBaUIsbUxBRFAsRUFBRTtBQU1FO0lBQWYsWUFBWSxFQUFFOytDQUFpQztBQUsvQjtJQUFoQixhQUFhLEVBQUU7aURBQW1CO0FBS2xCO0lBQWhCLGFBQWEsRUFBRTsrQ0FBaUI7QUFLaEI7SUFBaEIsYUFBYSxFQUFFO3dEQUEwQjtBQUtHO0lBQTVDLFdBQVcsQ0FBUSxhQUFhLEVBQUUsUUFBUSxDQUFDOytDQUFjOzJGQXpCeEQsaUJBQWlCO2tCQUQ3QixTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTs4QkFNQSxJQUFJO3NCQUE1QixLQUFLO2dCQUtvQixNQUFNO3NCQUEvQixLQUFLO2dCQUtvQixJQUFJO3NCQUE3QixLQUFLO2dCQUtvQixhQUFhO3NCQUF0QyxLQUFLO2dCQUtnRCxJQUFJO3NCQUF6RCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgWERhdGEsIFhUZW1wbGF0ZSwgWElkZW50aXR5UHJvcGVydHksIFhEYXRhQ29udmVydCwgWElucHV0Qm9vbGVhbiwgWFNpemUsIFhCb29sZWFuLCBYV2l0aENvbmZpZyB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBJbnB1dCwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhDb250cm9sVmFsdWVBY2Nlc3NvciwgWEZvcm1PcHRpb24gfSBmcm9tICdAbmctbmVzdC91aS9iYXNlLWZvcm0nO1xyXG5cclxuLyoqXHJcbiAqIENoZWNrYm94XHJcbiAqIEBzZWxlY3RvciB4LWNoZWNrYm94XHJcbiAqIEBkZWNvcmF0b3IgY29tcG9uZW50XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgWENoZWNrYm94UHJlZml4ID0gJ3gtY2hlY2tib3gnO1xyXG5jb25zdCBYX0NPTkZJR19OQU1FID0gJ2NoZWNrYm94JztcclxuXHJcbi8qKlxyXG4gKiBDaGVja2JveCBQcm9wZXJ0eVxyXG4gKi9cclxuQENvbXBvbmVudCh7IHRlbXBsYXRlOiAnJyB9KVxyXG5leHBvcnQgY2xhc3MgWENoZWNrYm94UHJvcGVydHkgZXh0ZW5kcyBYQ29udHJvbFZhbHVlQWNjZXNzb3I8Ym9vbGVhbiB8IEFycmF5PGFueT4+IGltcGxlbWVudHMgWENoZWNrYm94T3B0aW9uIHtcclxuICAvKipcclxuICAgKiBAemhfQ04g5aSa6YCJ5qGG5pWw5o2uXHJcbiAgICogQGVuX1VTIENoZWNrYm94IGRhdGFcclxuICAgKi9cclxuICBASW5wdXQoKSBAWERhdGFDb252ZXJ0KCkgZGF0YTogWERhdGE8WENoZWNrYm94Tm9kZT4gPSBbXTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5oyJ6ZKu5qC35byPXHJcbiAgICogQGVuX1VTIEJ1dHRvbiBzdHlsZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgYnV0dG9uPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWbvuagh+agt+W8j1xyXG4gICAqIEBlbl9VUyBJY29uIHN0eWxlXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBpY29uPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOS4jeehruWumueKtuaAgeeahOagt+W8j1xyXG4gICAqIEBlbl9VUyBVbmNlcnRhaW4gc3RhdGUgc3R5bGVcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIGluZGV0ZXJtaW5hdGU/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5bC65a+4XHJcbiAgICogQGVuX1VTIFNpemVcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WFNpemU+KFhfQ09ORklHX05BTUUsICdtZWRpdW0nKSBzaXplPzogWFNpemU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDaGVja2JveCBPcHRpb25cclxuICogQHVuZG9jdW1lbnQgdHJ1ZVxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYQ2hlY2tib3hPcHRpb24gZXh0ZW5kcyBYRm9ybU9wdGlvbiB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWNlemAieahhuaVsOaNrlxyXG4gICAqIEBlbl9VUyBSYWRpbyBkYXRhXHJcbiAgICovXHJcbiAgZGF0YT86IFhEYXRhPFhDaGVja2JveE5vZGU+O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmjInpkq7moLflvI9cclxuICAgKiBAZW5fVVMgQnV0dG9uIHN0eWxlXHJcbiAgICovXHJcbiAgYnV0dG9uPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWbvuagh+agt+W8j1xyXG4gICAqIEBlbl9VUyBJY29uIHN0eWxlXHJcbiAgICovXHJcbiAgaWNvbj86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDkuI3noa7lrprnirbmgIHnmoTmoLflvI9cclxuICAgKiBAZW5fVVMgVW5jZXJ0YWluIHN0YXRlIHN0eWxlXHJcbiAgICovXHJcbiAgaW5kZXRlcm1pbmF0ZT86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlsLrlr7hcclxuICAgKiBAZW5fVVMgU2l6ZVxyXG4gICAqL1xyXG4gIHNpemU/OiBYU2l6ZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiBDaGVja2JveCDmlbDmja7lr7nosaFcclxuICogQGVuX1VTIENoZWNrYm94IGRhdGEgb2JqZWN0XHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhDaGVja2JveE5vZGUgZXh0ZW5kcyBYSWRlbnRpdHlQcm9wZXJ0eSB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOemgeeUqFxyXG4gICAqIEBlbl9VUyBEaXNhYmxlXHJcbiAgICovXHJcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlm77moIdcclxuICAgKiBAZW5fVVMgSWNvblxyXG4gICAqL1xyXG4gIGljb24/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWbvuagh+eahOaPkOekuuS/oeaBr1xyXG4gICAqIEBlbl9VUyBJY29uIG1lc3NhZ2VcclxuICAgKi9cclxuICB0aXRsZT86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5qCH562+5paH5a2XXHJcbiAgICogQGVuX1VTIExhYmVsIHRleHRcclxuICAgKi9cclxuICBsYWJlbD86IFhUZW1wbGF0ZTtcclxufVxyXG4iXX0=
|
|
@@ -34,9 +34,9 @@ export class XCollapsePanelComponent extends XCollapsePanelProperty {
|
|
|
34
34
|
this.cdr.detectChanges();
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
|
-
/** @nocollapse */ XCollapsePanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.
|
|
38
|
-
/** @nocollapse */ XCollapsePanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.
|
|
37
|
+
/** @nocollapse */ XCollapsePanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XCollapsePanelComponent, deps: [{ token: i1.XCollapseComponent, host: true, optional: true }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
38
|
+
/** @nocollapse */ XCollapsePanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: XCollapsePanelComponent, selector: "x-collapse-panel", usesInheritance: true, ngImport: i0, template: "<div class=\"x-collapse-panel\" [class.x-activated]=\"active\">\r\n <div class=\"x-collapse-panel-header\" (click)=\"headerClick()\">\r\n <div>\r\n <ng-container *xOutlet=\"label\">{{ label }}</ng-container>\r\n </div>\r\n <x-icon type=\"fto-chevron-right\"></x-icon>\r\n </div>\r\n <div class=\"x-collapse-panel-body\">\r\n <div class=\"x-collapse-panel-content\" [@x-drop-animation]=\"active\"><ng-content></ng-content></div>\r\n </div>\r\n</div>\r\n", styles: [".x-collapse-panel{margin:0;padding:0;box-sizing:border-box}.x-collapse-panel-header{display:flex;align-items:center;justify-content:space-between;padding:.625rem 0;border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border);transition:border-color .3s;cursor:pointer}.x-collapse-panel-header>.x-icon{margin-right:.125rem;color:var(--x-text-300);transition:transform .3s}.x-collapse-panel-body{overflow:hidden;border-bottom:.0625rem solid transparent;transition:border-color .3s}.x-collapse-panel-content{padding-bottom:.625rem}.x-collapse-panel.x-activated .x-collapse-panel-header{border-bottom-color:transparent}.x-collapse-panel.x-activated .x-collapse-panel-header>.x-icon{transform:rotate(90deg)}.x-collapse-panel.x-activated .x-collapse-panel-body{border-bottom-color:var(--x-border)}\n"], components: [{ type: i2.XIconComponent, selector: "x-icon" }], directives: [{ type: i3.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], animations: [XDropAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XCollapsePanelComponent, decorators: [{
|
|
40
40
|
type: Component,
|
|
41
41
|
args: [{
|
|
42
42
|
selector: `${XCollapsePanelPrefix}`,
|
|
@@ -51,4 +51,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImpor
|
|
|
51
51
|
}, {
|
|
52
52
|
type: Host
|
|
53
53
|
}] }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; } });
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGFwc2UtcGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvY29sbGFwc2UvY29sbGFwc2UtcGFuZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvY29sbGFwc2UvY29sbGFwc2UtcGFuZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFJakIsdUJBQXVCLEVBQ3ZCLElBQUksRUFDSixRQUFRLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLHNCQUFzQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7OztBQVdsRCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsc0JBQXNCO0lBR2pFLFlBQzZCLGlCQUFxQyxFQUN6RCxRQUFtQixFQUNuQixVQUFzQixFQUN0QixHQUFzQjtRQUU3QixLQUFLLEVBQUUsQ0FBQztRQUxtQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW9CO1FBQ3pELGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtJQUcvQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQztRQUMxQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksR0FBRztZQUNwQyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZO1lBQ3RDLEdBQUcsRUFBRTtnQkFDSCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDckIsQ0FBQztTQUNGLENBQUM7UUFDRixJQUFJLElBQUksQ0FBQyxNQUFNO1lBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMzQixJQUFJLElBQUksQ0FBQyxNQUFNO1lBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7O1lBQ3RELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7O3VJQTdCVSx1QkFBdUI7MkhBQXZCLHVCQUF1QiwrRUN2QnBDLDJkQVdBLDQrQkRRYyxDQUFDLGNBQWMsQ0FBQzsyRkFJakIsdUJBQXVCO2tCQVJuQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxHQUFHLG9CQUFvQixFQUFFO29CQUNuQyxXQUFXLEVBQUUsaUNBQWlDO29CQUM5QyxTQUFTLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQztvQkFDOUMsVUFBVSxFQUFFLENBQUMsY0FBYyxDQUFDO29CQUM1QixhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEOzswQkFLSSxRQUFROzswQkFBSSxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgT25Jbml0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIFJlbmRlcmVyMixcclxuICBFbGVtZW50UmVmLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIEhvc3QsXHJcbiAgT3B0aW9uYWxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWENvbGxhcHNlUGFuZWxQcmVmaXgsIFhDb2xsYXBzZVBhbmVsUHJvcGVydHkgfSBmcm9tICcuL2NvbGxhcHNlLnByb3BlcnR5JztcclxuaW1wb3J0IHsgWERyb3BBbmltYXRpb24gfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgWENvbGxhcHNlQ29tcG9uZW50IH0gZnJvbSAnLi9jb2xsYXBzZS5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hDb2xsYXBzZVBhbmVsUHJlZml4fWAsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbGxhcHNlLXBhbmVsLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jb2xsYXBzZS1wYW5lbC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGFuaW1hdGlvbnM6IFtYRHJvcEFuaW1hdGlvbl0sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgWENvbGxhcHNlUGFuZWxDb21wb25lbnQgZXh0ZW5kcyBYQ29sbGFwc2VQYW5lbFByb3BlcnR5IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBpbmRleCE6IG51bWJlcjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBAT3B0aW9uYWwoKSBASG9zdCgpIHB1YmxpYyBjb2xsYXBzZUNvbXBvbmVudDogWENvbGxhcHNlQ29tcG9uZW50LFxyXG4gICAgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgIHB1YmxpYyBjZHI6IENoYW5nZURldGVjdG9yUmVmXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmluZGV4ID0gdGhpcy5jb2xsYXBzZUNvbXBvbmVudC5zdGFydDtcclxuICAgIHRoaXMuY29sbGFwc2VDb21wb25lbnQuc3RhcnQrKztcclxuICAgIHRoaXMuY29sbGFwc2VDb21wb25lbnQucGFuZWxDaGFuZ2VzID0gW1xyXG4gICAgICAuLi50aGlzLmNvbGxhcHNlQ29tcG9uZW50LnBhbmVsQ2hhbmdlcyxcclxuICAgICAgKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuaGVhZGVyQ2xpY2soKTtcclxuICAgICAgfVxyXG4gICAgXTtcclxuICAgIGlmICh0aGlzLmFjdGl2ZSkgdGhpcy5jb2xsYXBzZUNvbXBvbmVudC5jaGFuZ2UodGhpcy5pbmRleCk7XHJcbiAgfVxyXG5cclxuICBoZWFkZXJDbGljaygpIHtcclxuICAgIHRoaXMuYWN0aXZlID0gIXRoaXMuYWN0aXZlO1xyXG4gICAgaWYgKHRoaXMuYWN0aXZlKSB0aGlzLmNvbGxhcHNlQ29tcG9uZW50LmNoYW5nZSh0aGlzLmluZGV4KTtcclxuICAgIGVsc2UgdGhpcy5jb2xsYXBzZUNvbXBvbmVudC5jaGFuZ2UodGhpcy5pbmRleCwgZmFsc2UpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwieC1jb2xsYXBzZS1wYW5lbFwiIFtjbGFzcy54LWFjdGl2YXRlZF09XCJhY3RpdmVcIj5cclxuICA8ZGl2IGNsYXNzPVwieC1jb2xsYXBzZS1wYW5lbC1oZWFkZXJcIiAoY2xpY2spPVwiaGVhZGVyQ2xpY2soKVwiPlxyXG4gICAgPGRpdj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqeE91dGxldD1cImxhYmVsXCI+e3sgbGFiZWwgfX08L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG4gICAgPHgtaWNvbiB0eXBlPVwiZnRvLWNoZXZyb24tcmlnaHRcIj48L3gtaWNvbj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwieC1jb2xsYXBzZS1wYW5lbC1ib2R5XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwieC1jb2xsYXBzZS1wYW5lbC1jb250ZW50XCIgW0B4LWRyb3AtYW5pbWF0aW9uXT1cImFjdGl2ZVwiPjxuZy1jb250ZW50PjwvbmctY29udGVudD48L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -38,9 +38,9 @@ export class XCollapseComponent extends XCollapseProperty {
|
|
|
38
38
|
this.activeChange.emit(this.active);
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
|
-
/** @nocollapse */ XCollapseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.
|
|
42
|
-
/** @nocollapse */ XCollapseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.
|
|
43
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.
|
|
41
|
+
/** @nocollapse */ XCollapseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XCollapseComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
|
|
42
|
+
/** @nocollapse */ XCollapseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: XCollapseComponent, selector: "x-collapse", usesInheritance: true, ngImport: i0, template: "<div #collapse class=\"x-collapse\">\r\n <ng-content></ng-content>\r\n</div>\r\n", styles: [".x-collapse{margin:0;padding:0;font-size:var(--x-font-size);box-sizing:border-box;border-top:var(--x-border-width) var(--x-border-style) var(--x-border);border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-collapse x-collapse-panel:last-child .x-collapse-panel-header{border-bottom-color:transparent}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XCollapseComponent, decorators: [{
|
|
44
44
|
type: Component,
|
|
45
45
|
args: [{
|
|
46
46
|
selector: `${XCollapsePrefix}`,
|
|
@@ -8,10 +8,10 @@ import { XCollapseProperty, XCollapsePanelProperty } from './collapse.property';
|
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
export class XCollapseModule {
|
|
10
10
|
}
|
|
11
|
-
/** @nocollapse */ XCollapseModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.
|
|
12
|
-
/** @nocollapse */ XCollapseModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.0.
|
|
13
|
-
/** @nocollapse */ XCollapseModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.0.
|
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.
|
|
11
|
+
/** @nocollapse */ XCollapseModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XCollapseModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
12
|
+
/** @nocollapse */ XCollapseModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XCollapseModule, declarations: [XCollapseComponent, XCollapsePanelComponent, XCollapseProperty, XCollapsePanelProperty], imports: [CommonModule, XIconModule, XOutletModule], exports: [XCollapseComponent, XCollapsePanelComponent] });
|
|
13
|
+
/** @nocollapse */ XCollapseModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XCollapseModule, imports: [[CommonModule, XIconModule, XOutletModule]] });
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XCollapseModule, decorators: [{
|
|
15
15
|
type: NgModule,
|
|
16
16
|
args: [{
|
|
17
17
|
declarations: [XCollapseComponent, XCollapsePanelComponent, XCollapseProperty, XCollapsePanelProperty],
|
|
@@ -26,12 +26,12 @@ export class XCollapseProperty extends XProperty {
|
|
|
26
26
|
this.activeChange = new EventEmitter();
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
|
-
/** @nocollapse */ XCollapseProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.
|
|
30
|
-
/** @nocollapse */ XCollapseProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.
|
|
29
|
+
/** @nocollapse */ XCollapseProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XCollapseProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
30
|
+
/** @nocollapse */ XCollapseProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: XCollapseProperty, selector: "ng-component", inputs: { accordion: "accordion", active: "active" }, outputs: { activeChange: "activeChange" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
31
31
|
__decorate([
|
|
32
32
|
XInputBoolean()
|
|
33
33
|
], XCollapseProperty.prototype, "accordion", void 0);
|
|
34
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XCollapseProperty, decorators: [{
|
|
35
35
|
type: Component,
|
|
36
36
|
args: [{ template: '' }]
|
|
37
37
|
}], propDecorators: { accordion: [{
|
|
@@ -52,12 +52,12 @@ export const XCollapsePanelPrefix = 'x-collapse-panel';
|
|
|
52
52
|
*/
|
|
53
53
|
export class XCollapsePanelProperty extends XProperty {
|
|
54
54
|
}
|
|
55
|
-
/** @nocollapse */ XCollapsePanelProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.
|
|
56
|
-
/** @nocollapse */ XCollapsePanelProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.
|
|
55
|
+
/** @nocollapse */ XCollapsePanelProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XCollapsePanelProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
56
|
+
/** @nocollapse */ XCollapsePanelProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: XCollapsePanelProperty, selector: "ng-component", inputs: { label: "label", active: "active" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
57
57
|
__decorate([
|
|
58
58
|
XInputBoolean()
|
|
59
59
|
], XCollapsePanelProperty.prototype, "active", void 0);
|
|
60
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.
|
|
60
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XCollapsePanelProperty, decorators: [{
|
|
61
61
|
type: Component,
|
|
62
62
|
args: [{ template: '' }]
|
|
63
63
|
}], propDecorators: { label: [{
|
|
@@ -28,13 +28,13 @@ export class XColorComponent extends XColorProperty {
|
|
|
28
28
|
}
|
|
29
29
|
this.colors = colors;
|
|
30
30
|
}
|
|
31
|
-
trackByColor(
|
|
31
|
+
trackByColor(_index, item) {
|
|
32
32
|
return item;
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
|
-
/** @nocollapse */ XColorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.
|
|
36
|
-
/** @nocollapse */ XColorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.
|
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.
|
|
35
|
+
/** @nocollapse */ XColorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XColorComponent, deps: [{ token: DOCUMENT }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
|
|
36
|
+
/** @nocollapse */ XColorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: XColorComponent, selector: "x-color", usesInheritance: true, ngImport: i0, template: "<div class=\"x-color-box\">\r\n <div class=\"x-color-primary\" [style.background-color]=\"hex\" [class.x-color-only]=\"colors.length === 0\">\r\n <span>{{ label }}</span>\r\n <span class=\"x-color-hex\">{{ hex }}</span>\r\n </div>\r\n <div class=\"x-color-gradual\">\r\n <div class=\"x-color-item\" *ngFor=\"let color of colors; index as i; trackBy: trackByColor\" [style.background-color]=\"color\"></div>\r\n </div>\r\n</div>\r\n", styles: [".x-color{margin:0;padding:0;display:block;color:var(--x-white)}.x-color-primary{padding:1rem;border-top-left-radius:.125rem;border-top-right-radius:.125rem}.x-color-only{border-bottom-left-radius:.125rem;border-bottom-right-radius:.125rem}.x-color-hex{margin-top:.25rem;display:block;font-size:.75rem;opacity:.7}.x-color-gradual{display:flex}.x-color-item{flex:1;height:2.5rem}.x-color-item:first-child{border-bottom-left-radius:.125rem}.x-color-item:last-child{border-bottom-right-radius:.125rem}\n"], directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XColorComponent, decorators: [{
|
|
38
38
|
type: Component,
|
|
39
39
|
args: [{
|
|
40
40
|
selector: 'x-color',
|
|
@@ -47,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImpor
|
|
|
47
47
|
type: Inject,
|
|
48
48
|
args: [DOCUMENT]
|
|
49
49
|
}] }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.XConfigService }]; } });
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvY29sb3IvY29sb3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvY29sb3IvY29sb3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxpQkFBaUIsRUFBRSx1QkFBdUIsRUFBeUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFrQixNQUFNLGtCQUFrQixDQUFDOzs7O0FBU3BFLE1BQU0sT0FBTyxlQUFnQixTQUFRLGNBQWM7SUFHakQsWUFDNEIsR0FBUSxFQUMxQixRQUFtQixFQUNuQixVQUFzQixFQUN2QixhQUE2QjtRQUVwQyxLQUFLLEVBQUUsQ0FBQztRQUxrQixRQUFHLEdBQUgsR0FBRyxDQUFLO1FBQzFCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN2QixrQkFBYSxHQUFiLGFBQWEsQ0FBZ0I7UUFOdEMsV0FBTSxHQUFhLEVBQUUsQ0FBQztRQVNwQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLEtBQUssa0JBQWtCO1lBQUUsSUFBSSxDQUFDLEdBQUcsR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3hJLElBQUksSUFBSSxDQUFDLEdBQUc7WUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDaEIsS0FBSyxJQUFJLE1BQU0sSUFBSSxJQUFJLENBQUMsT0FBd0IsRUFBRTtZQUNoRCxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQWUsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxFQUFFLE1BQWdCLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDeEY7UUFDRCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQsWUFBWSxDQUFDLE1BQWMsRUFBRSxJQUFZO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs7K0hBNUJVLGVBQWUsa0JBSWhCLFFBQVE7bUhBSlAsZUFBZSxzRUNaNUIsOGJBU0E7MkZER2EsZUFBZTtrQkFQM0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsU0FBUztvQkFDbkIsV0FBVyxFQUFFLHdCQUF3QjtvQkFDckMsU0FBUyxFQUFFLENBQUMsb0JBQW9CLENBQUM7b0JBQ2pDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQ7OzBCQUtJLE1BQU07MkJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIFJlbmRlcmVyMiwgRWxlbWVudFJlZiwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgWENvbG9yUHJlZml4LCBYQ29sb3JQcm9wZXJ0eSB9IGZyb20gJy4vY29sb3IucHJvcGVydHknO1xyXG5pbXBvcnQgeyB0b0hleCwgbWl4Q29sb3JzLCBYQ29uZmlnU2VydmljZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd4LWNvbG9yJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29sb3IuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3N0eWxlL2luZGV4LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYQ29sb3JDb21wb25lbnQgZXh0ZW5kcyBYQ29sb3JQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgY29sb3JzOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jOiBhbnksXHJcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBwdWJsaWMgY29uZmlnU2VydmljZTogWENvbmZpZ1NlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBYQ29sb3JQcmVmaXgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZiAoIXRoaXMuaGV4IHx8IHRoaXMuaGV4ID09PSAndmFyKC0teC1wcmltYXJ5KScpIHRoaXMuaGV4ID0gZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLmRvYy5kb2N1bWVudEVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoJy0teC1wcmltYXJ5Jyk7XHJcbiAgICBpZiAodGhpcy5oZXgpIHRoaXMuc2V0Q29sb3JzKCk7XHJcbiAgfVxyXG5cclxuICBzZXRDb2xvcnMoKSB7XHJcbiAgICBsZXQgY29sb3JzID0gW107XHJcbiAgICBmb3IgKGxldCBhbW91bnQgb2YgdGhpcy5hbW91bnRzIGFzIEFycmF5PG51bWJlcj4pIHtcclxuICAgICAgY29sb3JzLnB1c2godG9IZXgobWl4Q29sb3JzKHRoaXMubWVyZ2UgYXMgc3RyaW5nLCB0aGlzLmhleC50cmltKCksIGFtb3VudCBhcyBudW1iZXIpKSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNvbG9ycyA9IGNvbG9ycztcclxuICB9XHJcblxyXG4gIHRyYWNrQnlDb2xvcihfaW5kZXg6IG51bWJlciwgaXRlbTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gaXRlbTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIngtY29sb3ItYm94XCI+XHJcbiAgPGRpdiBjbGFzcz1cIngtY29sb3ItcHJpbWFyeVwiIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cImhleFwiIFtjbGFzcy54LWNvbG9yLW9ubHldPVwiY29sb3JzLmxlbmd0aCA9PT0gMFwiPlxyXG4gICAgPHNwYW4+e3sgbGFiZWwgfX08L3NwYW4+XHJcbiAgICA8c3BhbiBjbGFzcz1cIngtY29sb3ItaGV4XCI+e3sgaGV4IH19PC9zcGFuPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJ4LWNvbG9yLWdyYWR1YWxcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ4LWNvbG9yLWl0ZW1cIiAqbmdGb3I9XCJsZXQgY29sb3Igb2YgY29sb3JzOyBpbmRleCBhcyBpOyB0cmFja0J5OiB0cmFja0J5Q29sb3JcIiBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJjb2xvclwiPjwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -5,10 +5,10 @@ import { XColorProperty } from './color.property';
|
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export class XColorModule {
|
|
7
7
|
}
|
|
8
|
-
/** @nocollapse */ XColorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.
|
|
9
|
-
/** @nocollapse */ XColorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.0.
|
|
10
|
-
/** @nocollapse */ XColorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.0.
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.
|
|
8
|
+
/** @nocollapse */ XColorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XColorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
+
/** @nocollapse */ XColorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XColorModule, declarations: [XColorComponent, XColorProperty], imports: [CommonModule], exports: [XColorComponent] });
|
|
10
|
+
/** @nocollapse */ XColorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XColorModule, imports: [[CommonModule]] });
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XColorModule, decorators: [{
|
|
12
12
|
type: NgModule,
|
|
13
13
|
args: [{
|
|
14
14
|
declarations: [XColorComponent, XColorProperty],
|
|
@@ -28,15 +28,15 @@ export class XColorProperty extends XProperty {
|
|
|
28
28
|
this.hex = 'var(--x-primary)';
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
|
-
/** @nocollapse */ XColorProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.
|
|
32
|
-
/** @nocollapse */ XColorProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.
|
|
31
|
+
/** @nocollapse */ XColorProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XColorProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
32
|
+
/** @nocollapse */ XColorProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: XColorProperty, selector: "ng-component", inputs: { label: "label", hex: "hex", merge: "merge", amounts: "amounts" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
33
33
|
__decorate([
|
|
34
34
|
XWithConfig(X_CONFIG_NAME, '#ffffff')
|
|
35
35
|
], XColorProperty.prototype, "merge", void 0);
|
|
36
36
|
__decorate([
|
|
37
37
|
XWithConfig(X_CONFIG_NAME, XAmounts)
|
|
38
38
|
], XColorProperty.prototype, "amounts", void 0);
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XColorProperty, decorators: [{
|
|
40
40
|
type: Component,
|
|
41
41
|
args: [{ template: '' }]
|
|
42
42
|
}], propDecorators: { label: [{
|
|
@@ -33,7 +33,7 @@ export class XColorPickerPortalComponent {
|
|
|
33
33
|
this.animating(false);
|
|
34
34
|
event.toState === 'void' && this.destroyPortal();
|
|
35
35
|
}
|
|
36
|
-
start(
|
|
36
|
+
start() {
|
|
37
37
|
this.animating(true);
|
|
38
38
|
}
|
|
39
39
|
ngOnInit() {
|
|
@@ -359,9 +359,9 @@ export class XColorPickerPortalComponent {
|
|
|
359
359
|
return result;
|
|
360
360
|
}
|
|
361
361
|
}
|
|
362
|
-
/** @nocollapse */ XColorPickerPortalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.
|
|
363
|
-
/** @nocollapse */ XColorPickerPortalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.
|
|
364
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.
|
|
362
|
+
/** @nocollapse */ XColorPickerPortalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XColorPickerPortalComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: DOCUMENT }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i1.DecimalPipe }, { token: i1.PercentPipe }], target: i0.ɵɵFactoryTarget.Component });
|
|
363
|
+
/** @nocollapse */ XColorPickerPortalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: XColorPickerPortalComponent, selector: "x-color-picker-portal", host: { listeners: { "@x-connect-base-animation.done": "done($event)", "@x-connect-base-animation.start": "start($event)" }, properties: { "@x-connect-base-animation": "this.placement" } }, providers: [DecimalPipe, PercentPipe], viewQueries: [{ propertyName: "panelRef", first: true, predicate: ["panelRef"], descendants: true, static: true }, { propertyName: "plateRef", first: true, predicate: ["plateRef"], descendants: true, static: true }, { propertyName: "transparentCom", first: true, predicate: ["transparentCom"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"x-color-picker-portal\" tabindex=\"-1\" (click)=\"stopPropagation($event)\">\r\n <div #panelRef class=\"x-color-picker-portal-panel\">\r\n <div #plateRef class=\"x-color-picker-portal-plate\" (click)=\"plateClick($event)\">\r\n <div class=\"x-color-picker-portal-white\"></div>\r\n <div class=\"x-color-picker-portal-black\"></div>\r\n <div\r\n #dragCom\r\n class=\"x-color-picker-portal-cursor\"\r\n [style.left.px]=\"transform.x\"\r\n [style.top.px]=\"transform.y\"\r\n cdkDrag\r\n [cdkDragBoundary]=\"panelRef\"\r\n (cdkDragStarted)=\"started()\"\r\n (cdkDragEnded)=\"ended()\"\r\n (cdkDragMoved)=\"moved($event)\"\r\n ></div>\r\n </div>\r\n </div>\r\n <div class=\"x-color-picker-portal-tool\">\r\n <div class=\"x-color-picker-portal-operations\">\r\n <!-- <x-button icon=\"fto-edit-2\" onlyIcon></x-button> -->\r\n <div class=\"x-color-picker-portal-selected\">\r\n <div [style.background-color]=\"value\"></div>\r\n </div>\r\n <div class=\"x-color-picker-portal-area\">\r\n <div class=\"x-color-picker-portal-slider\">\r\n <x-slider-select\r\n [(ngModel)]=\"hsla.h\"\r\n min=\"0\"\r\n max=\"360\"\r\n step=\"1\"\r\n (dragStartEmit)=\"started()\"\r\n (dragEndEmit)=\"ended()\"\r\n (ngModelChange)=\"hueChange()\"\r\n ></x-slider-select>\r\n </div>\r\n <div class=\"x-color-picker-portal-transparent\">\r\n <x-slider-select\r\n #transparentCom\r\n [(ngModel)]=\"hsla.a\"\r\n min=\"0\"\r\n max=\"1\"\r\n step=\"0.01\"\r\n (dragStarted)=\"started()\"\r\n (dragEnded)=\"ended()\"\r\n (ngModelChange)=\"transparentChange()\"\r\n ></x-slider-select>\r\n <div class=\"x-color-picker-portal-alpha\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"x-color-picker-portal-type\">\r\n <x-tabs animated=\"false\" justify=\"center\">\r\n <x-tab label=\"HEX\">\r\n <div class=\"x-color-picker-portal-type-content\">\r\n <x-input [(ngModel)]=\"hex\" (ngModelChange)=\"hexChange()\"></x-input>\r\n </div>\r\n </x-tab>\r\n <x-tab label=\"RGBA\">\r\n <div class=\"x-color-picker-portal-type-content\">\r\n <x-input [(ngModel)]=\"rgba.r\" [disabled]=\"true\"></x-input>\r\n <x-input [(ngModel)]=\"rgba.g\" [disabled]=\"true\"></x-input>\r\n <x-input [(ngModel)]=\"rgba.b\" [disabled]=\"true\"></x-input>\r\n <x-input [(ngModel)]=\"rgba.a\" [disabled]=\"true\"></x-input>\r\n </div>\r\n </x-tab>\r\n <x-tab label=\"HSLA\">\r\n <div class=\"x-color-picker-portal-type-content\">\r\n <x-input [(ngModel)]=\"hsla.h\" [disabled]=\"true\"></x-input>\r\n <x-input [(ngModel)]=\"hsla.sp\" [disabled]=\"true\"></x-input>\r\n <x-input [(ngModel)]=\"hsla.lp\" [disabled]=\"true\"></x-input>\r\n <x-input [(ngModel)]=\"hsla.a\" [disabled]=\"true\"></x-input>\r\n </div>\r\n </x-tab>\r\n </x-tabs>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-color-picker-portal{margin:.0625rem 0;font-size:var(--x-font-size);color:var(--x-text);border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color);background-color:var(--x-background);width:15rem;overflow:hidden}.x-color-picker-portal:focus{outline:none}.x-color-picker-portal-panel{padding:.375rem;margin:-.375rem}.x-color-picker-portal-plate{width:100%;height:8rem;display:flex;border-radius:var(--x-border-radius);position:relative}.x-color-picker-portal-white,.x-color-picker-portal-black{position:absolute;top:0;left:0;right:0;bottom:0}.x-color-picker-portal-white{background:linear-gradient(90deg,#fff,rgba(255,255,255,0))}.x-color-picker-portal-black{background:linear-gradient(0deg,#000,transparent)}.x-color-picker-portal-cursor{position:absolute;width:.75rem;height:.75rem;display:inline-block;border-radius:50%;border:.0625rem solid var(--x-background-100)}.x-color-picker-portal-tool{padding:.4rem}.x-color-picker-portal-operations{display:flex;align-items:center;padding:.4rem 0}.x-color-picker-portal-selected{margin-left:.4rem;width:2rem;height:2rem;border-radius:2rem;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.x-color-picker-portal-selected>div{width:2rem;height:2rem;border-radius:2rem}.x-color-picker-portal-area{margin-left:.4rem;position:relative;flex:1}.x-color-picker-portal-area .x-slider-select>.x-slider-select-inner>.x-slider-select-rail{height:.75rem}.x-color-picker-portal-area .x-slider-select>.x-slider-select-inner>.x-slider-select-track>.x-slider-select-process{background-color:transparent}.x-color-picker-portal-area .x-slider-select>.x-slider-select-inner>.x-slider-select-drags>.x-slider-select-drag>.x-slider-select-button{border-color:var(--x-border);box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color)}.x-color-picker-portal-slider{position:relative;width:100%}.x-color-picker-portal-slider .x-slider-select>.x-slider-select-inner>.x-slider-select-rail{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.x-color-picker-portal-transparent{margin-top:.4rem;position:relative;width:100%}.x-color-picker-portal-transparent .x-slider-select>.x-slider-select-inner>.x-slider-select-rail{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.x-color-picker-portal-transparent .x-slider-select>.x-slider-select-inner>.x-slider-select-rail:after{content:\"\";height:100%;display:block}.x-color-picker-portal-type{height:5rem}.x-color-picker-portal-type .x-tabs .x-tabs-list{display:flex;justify-content:center}.x-color-picker-portal-type-content{padding:.8rem .4rem;display:flex}.x-color-picker-portal-type-content .x-input .x-input-row input{text-align:center}\n"], components: [{ type: i2.XSliderSelectComponent, selector: "x-slider-select" }, { type: i3.XTabsComponent, selector: "x-tabs" }, { type: i3.XTabComponent, selector: "x-tab" }, { type: i4.XInputComponent, selector: "x-input" }], directives: [{ type: i5.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragDisabled", "cdkDragStartDelay", "cdkDragLockAxis", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragBoundary", "cdkDragRootElement", "cdkDragPreviewContainer", "cdkDragData", "cdkDragFreeDragPosition"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], animations: [XConnectBaseAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
364
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XColorPickerPortalComponent, decorators: [{
|
|
365
365
|
type: Component,
|
|
366
366
|
args: [{
|
|
367
367
|
selector: `${XColorPickerPortalPrefix}`,
|
|
@@ -394,4 +394,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImpor
|
|
|
394
394
|
type: ViewChild,
|
|
395
395
|
args: ['transparentCom', { static: true }]
|
|
396
396
|
}] } });
|
|
397
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItcGlja2VyLXBvcnRhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9jb2xvci1waWNrZXIvY29sb3ItcGlja2VyLXBvcnRhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9jb2xvci1waWNrZXIvY29sb3ItcGlja2VyLXBvcnRhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUNqQix1QkFBdUIsRUFDdkIsTUFBTSxFQU9OLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSx3QkFBd0IsRUFBYyxNQUFNLHlCQUF5QixDQUFDO0FBQy9FLE9BQU8sRUFBRSxRQUFRLEVBQVcscUJBQXFCLEVBQXNCLE1BQU0sa0JBQWtCLENBQUM7QUFFaEcsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7O0FBVzNDLE1BQU0sT0FBTywyQkFBMkI7SUFxQ3RDLFlBQ1MsVUFBc0IsRUFDdEIsUUFBbUIsRUFDRCxHQUFRLEVBQzFCLE1BQWMsRUFDZCxHQUFzQixFQUN0QixPQUFvQixFQUNwQixPQUFvQjtRQU5wQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDRCxRQUFHLEdBQUgsR0FBRyxDQUFLO1FBQzFCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixZQUFPLEdBQVAsT0FBTyxDQUFhO1FBQ3BCLFlBQU8s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QUMsUUFBUTtxSkF2QytCLFNBQVM7c0JBQXpELFdBQVc7dUJBQUMsMkJBQTJCO2dCQUNvQixJQUFJO3NCQUEvRCxZQUFZO3VCQUFDLGdDQUFnQyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQUlHLEtBQUs7c0JBQWpFLFlBQVk7dUJBQUMsaUNBQWlDLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBSWxCLFFBQVE7c0JBQWhELFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDRSxRQUFRO3NCQUFoRCxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ1EsY0FBYztzQkFBNUQsU0FBUzt1QkFBQyxnQkFBZ0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBJbmplY3QsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgT25Jbml0LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgTmdab25lLFxyXG4gIFJlbmRlcmVyMixcclxuICBPbkRlc3Ryb3ksXHJcbiAgVmlld0NoaWxkLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBIb3N0QmluZGluZ1xyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYQ29sb3JQaWNrZXJQb3J0YWxQcmVmaXgsIFhDb2xvclR5cGUgfSBmcm9tICcuL2NvbG9yLXBpY2tlci5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IFhJc0VtcHR5LCBYQ29ybmVyLCBYQ29ubmVjdEJhc2VBbmltYXRpb24sIFhQb3NpdGlvblRvcEJvdHRvbSB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBYU2xpZGVyU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnQG5nLW5lc3QvdWkvc2xpZGVyLXNlbGVjdCc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ2RrRHJhZ01vdmUgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgRE9DVU1FTlQsIERlY2ltYWxQaXBlLCBQZXJjZW50UGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBgJHtYQ29sb3JQaWNrZXJQb3J0YWxQcmVmaXh9YCxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29sb3ItcGlja2VyLXBvcnRhbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY29sb3ItcGlja2VyLXBvcnRhbC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbRGVjaW1hbFBpcGUsIFBlcmNlbnRQaXBlXSxcclxuICBhbmltYXRpb25zOiBbWENvbm5lY3RCYXNlQW5pbWF0aW9uXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgWENvbG9yUGlja2VyUG9ydGFsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBIb3N0QmluZGluZygnQHgtY29ubmVjdC1iYXNlLWFuaW1hdGlvbicpIHB1YmxpYyBwbGFjZW1lbnQhOiBYUG9zaXRpb25Ub3BCb3R0b207XHJcbiAgQEhvc3RMaXN0ZW5lcignQHgtY29ubmVjdC1iYXNlLWFuaW1hdGlvbi5kb25lJywgWyckZXZlbnQnXSkgZG9uZShldmVudDogeyB0b1N0YXRlOiBhbnkgfSkge1xyXG4gICAgdGhpcy5hbmltYXRpbmcoZmFsc2UpO1xyXG4gICAgZXZlbnQudG9TdGF0ZSA9PT0gJ3ZvaWQnICYmIHRoaXMuZGVzdHJveVBvcnRhbCgpO1xyXG4gIH1cclxuICBASG9zdExpc3RlbmVyKCdAeC1jb25uZWN0LWJhc2UtYW5pbWF0aW9uLnN0YXJ0JywgWyckZXZlbnQnXSkgc3RhcnQoZXZlbnQ6IHsgdG9TdGF0ZTogYW55IH0pIHtcclxuICAgIHRoaXMuYW5pbWF0aW5nKHRydWUpO1xyXG4gIH1cclxuXHJcbiAgQFZpZXdDaGlsZCgncGFuZWxSZWYnLCB7IHN0YXRpYzogdHJ1ZSB9KSBwYW5lbFJlZiE6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgncGxhdGVSZWYnLCB7IHN0YXRpYzogdHJ1ZSB9KSBwbGF0ZVJlZiE6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgndHJhbnNwYXJlbnRDb20nLCB7IHN0YXRpYzogdHJ1ZSB9KSB0cmFuc3BhcmVudENvbSE6IFhTbGlkZXJTZWxlY3RDb21wb25lbnQ7XHJcbiAgdmFsdWUhOiBzdHJpbmc7XHJcbiAgdHJhbnNwYXJlbnRSYWlsITogSFRNTEVsZW1lbnQ7XHJcbiAgdmFsdWVDaGFuZ2UhOiBTdWJqZWN0PHN0cmluZz47XHJcbiAgcG9zaXRpb25DaGFuZ2UhOiBTdWJqZWN0PGFueT47XHJcbiAgY2xvc2VQb3J0YWwhOiBGdW5jdGlvbjtcclxuICBkZXN0cm95UG9ydGFsITogRnVuY3Rpb247XHJcbiAgYW5pbWF0aW5nITogRnVuY3Rpb247XHJcbiAgbm9kZUVtaXQhOiBGdW5jdGlvbjtcclxuXHJcbiAgc2xpZGVyQ29sb3JOdW0gPSAwO1xyXG4gIHR5cGUhOiBYQ29sb3JUeXBlO1xyXG4gIG9mZnNldCA9IDA7XHJcbiAgcGFuZWwhOiBET01SZWN0O1xyXG4gIHBsYXRlITogRE9NUmVjdDtcclxuICB0cmFuc2Zvcm0gPSB7IHg6IDAsIHk6IDAgfTtcclxuICBpbml0VHJhbnNmb3JtID0geyB4OiAwLCB5OiAwIH07XHJcbiAgZHJhZyA9IGZhbHNlO1xyXG5cclxuICByZ2JhOiB7IHI/OiBudW1iZXI7IGc/OiBudW1iZXI7IGI/OiBudW1iZXI7IGE/OiBudW1iZXIgfSA9IHsgYTogMSB9O1xyXG4gIGhzbGE6IHsgaD86IG51bWJlcjsgcz86IG51bWJlcjsgbD86IG51bWJlcjsgYT86IG51bWJlcjsgc3A/OiBzdHJpbmc7IGxwPzogc3RyaW5nIH0gPSB7IGg6IDAsIGE6IDEgfTtcclxuICBoZXghOiBzdHJpbmc7XHJcblxyXG4gIHByaXZhdGUgX3VuU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBwdWJsaWMgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHB1YmxpYyBkb2M6IGFueSxcclxuICAgIHB1YmxpYyBuZ1pvbmU6IE5nWm9uZSxcclxuICAgIHB1YmxpYyBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHVibGljIGRlY2ltYWw6IERlY2ltYWxQaXBlLFxyXG4gICAgcHVibGljIHBlcmNlbnQ6IFBlcmNlbnRQaXBlXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudmFsdWVDaGFuZ2UucGlwZSh0YWtlVW50aWwodGhpcy5fdW5TdWJqZWN0KSkuc3Vic2NyaWJlKCh4OiBzdHJpbmcpID0+IHtcclxuICAgICAgdGhpcy52YWx1ZSA9IHg7XHJcbiAgICAgIHRoaXMuaW5pdCgpO1xyXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMucG9zaXRpb25DaGFuZ2UucGlwZSh0YWtlVW50aWwodGhpcy5fdW5TdWJqZWN0KSkuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgIHRoaXMucGxhY2VtZW50ID0geDtcclxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmluaXQoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0Lm5leHQoKTtcclxuICAgIHRoaXMuX3VuU3ViamVjdC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5wYW5lbCA9IHRoaXMucGFuZWxSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIHRoaXMucGxhdGUgPSB0aGlzLnBsYXRlUmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICB0aGlzLm9mZnNldCA9ICh0aGlzLnBhbmVsLndpZHRoIC0gdGhpcy5wbGF0ZS53aWR0aCkgLyAyO1xyXG4gICAgdGhpcy50cmFuc3BhcmVudFJhaWwgPSB0aGlzLnRyYW5zcGFyZW50Q29tLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcueC1zbGlkZXItc2VsZWN0LXJhaWwgZGl2Jyk7XHJcbiAgICB0aGlzLnNldFRyYW5zZm9ybSgpO1xyXG4gICAgdGhpcy5zZXRQbGF0ZUJhY2tncm91bmQoKTtcclxuICAgIHRoaXMuc2V0UmFpbEJhY2tncm91bmQoKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIGhleENoYW5nZSgpIHtcclxuICAgIGlmICh0aGlzLmRyYWcgfHwgIS8oXiNbMC05QS1GXXs2fSQpL2kudGVzdCh0aGlzLmhleCkpIHJldHVybjtcclxuICAgIHRoaXMucmdiYSA9IHRoaXMuaGV4VG9SZ2JhKHRoaXMuaGV4KTtcclxuICAgIHRoaXMuaHNsYSA9IHRoaXMucmdiYVRvSHNsYSh0aGlzLnJnYmEpO1xyXG4gICAgdGhpcy5zZXRIc2xhUGVyY2VudCgpO1xyXG4gICAgdGhpcy5zZXRUcmFuc2Zvcm0oKTtcclxuICAgIHRoaXMuc2V0UGxhdGVCYWNrZ3JvdW5kKCk7XHJcbiAgICB0aGlzLnNldFZhbHVlKCk7XHJcbiAgfVxyXG5cclxuICByZ2JhQ2hhbmdlKCkge31cclxuXHJcbiAgaW5pdCgpIHtcclxuICAgIGlmICghWElzRW1wdHkodGhpcy52YWx1ZSkpIHtcclxuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMudmFsdWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5nZXRQcmltYXJ5KCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNvbG9yQ29udmVydCgpO1xyXG4gIH1cclxuXHJcbiAgc3RvcFByb3BhZ2F0aW9uKGV2ZW50OiBFdmVudCk6IHZvaWQge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBzZXREZWZhdWx0KCkge31cclxuXHJcbiAgY29sb3JDb252ZXJ0KCkge1xyXG4gICAgaWYgKC9eIy8udGVzdCh0aGlzLnZhbHVlKSkge1xyXG4gICAgICB0aGlzLmhleCA9IHRoaXMudmFsdWU7XHJcbiAgICAgIHRoaXMucmdiYSA9IHRoaXMuaGV4VG9SZ2JhKHRoaXMuaGV4KTtcclxuICAgICAgdGhpcy5oc2xhID0gdGhpcy5yZ2JhVG9Ic2xhKHRoaXMucmdiYSk7XHJcbiAgICAgIHRoaXMuc2V0SHNsYVBlcmNlbnQoKTtcclxuICAgICAgdGhpcy50eXBlID0gJ2hleCc7XHJcbiAgICB9IGVsc2UgaWYgKC9yZ2IvLnRlc3QodGhpcy52YWx1ZSkpIHtcclxuICAgICAgdGhpcy5yZ2JhQ29udmVydCh0aGlzLnZhbHVlKTtcclxuICAgICAgdGhpcy5oZXggPSB0aGlzLnJnYmFUb0hleCh0aGlzLnJnYmEpO1xyXG4gICAgICB0aGlzLmhzbGEgPSB0aGlzLnJnYmFUb0hzbGEodGhpcy5yZ2JhKTtcclxuICAgICAgdGhpcy5zZXRIc2xhUGVyY2VudCgpO1xyXG4gICAgICB0aGlzLnR5cGUgPSAncmdiYSc7XHJcbiAgICB9IGVsc2UgaWYgKC9oc2wvLnRlc3QodGhpcy52YWx1ZSkpIHtcclxuICAgICAgdGhpcy5oc2xhQ29udmVydCh0aGlzLnZhbHVlKTtcclxuICAgICAgdGhpcy5yZ2JhID0gdGhpcy5oc2xhVG9SZ2JhKHRoaXMuaHNsYSk7XHJcbiAgICAgIHRoaXMuaGV4ID0gdGhpcy5yZ2JhVG9IZXgodGhpcy5yZ2JhKTtcclxuICAgICAgdGhpcy50eXBlID0gJ2hzbGEnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmdiYUNvbnZlcnQoc3RyOiBzdHJpbmcpIHtcclxuICAgIGxldCByZ2JhID0gc3RyXHJcbiAgICAgIC5yZXBsYWNlKC9yZ2JhP1xcKC8sICcnKVxyXG4gICAgICAucmVwbGFjZSgvcmdiP1xcKC8sICcnKVxyXG4gICAgICAucmVwbGFjZSgvXFwpLywgJycpXHJcbiAgICAgIC5yZXBsYWNlKC9bXFxzK10vZywgJycpXHJcbiAgICAgIC5zcGxpdCgnLCcpO1xyXG4gICAgaWYgKHJnYmEubGVuZ3RoID4gMikge1xyXG4gICAgICB0aGlzLnJnYmEgPSB7XHJcbiAgICAgICAgcjogTnVtYmVyKHJnYmFbMF0pLFxyXG4gICAgICAgIGc6IE51bWJlcihyZ2JhWzFdKSxcclxuICAgICAgICBiOiBOdW1iZXIocmdiYVsyXSksXHJcbiAgICAgICAgYTogTnVtYmVyKHJnYmEubGVuZ3RoID4gMyA/IHJnYmFbM10gOiAxKVxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaHNsYUNvbnZlcnQoc3RyOiBzdHJpbmcpIHtcclxuICAgIGxldCBoc2xhID0gc3RyXHJcbiAgICAgIC5yZXBsYWNlKC9oc2xhP1xcKC8sICcnKVxyXG4gICAgICAucmVwbGFjZSgvaHNsP1xcKC8sICcnKVxyXG4gICAgICAucmVwbGFjZSgvXFwpLywgJycpXHJcbiAgICAgIC5yZXBsYWNlKC9bXFxzK10vZywgJycpXHJcbiAgICAgIC5zcGxpdCgnLCcpO1xyXG4gICAgaWYgKGhzbGEubGVuZ3RoID4gMikge1xyXG4gICAgICB0aGlzLmhzbGEgPSB7XHJcbiAgICAgICAgaDogTnVtYmVyKGhzbGFbMF0pLFxyXG4gICAgICAgIHM6IE51bWJlcihoc2xhWzFdLnJlcGxhY2UoJyUnLCAnJykpIC8gMTAwLFxyXG4gICAgICAgIGw6IE51bWJlcihoc2xhWzJdLnJlcGxhY2UoJyUnLCAnJykpIC8gMTAwLFxyXG4gICAgICAgIGE6IE51bWJlcihoc2xhLmxlbmd0aCA+IDMgPyBoc2xhWzNdIDogMSlcclxuICAgICAgfTtcclxuICAgICAgdGhpcy5zZXRIc2xhUGVyY2VudCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcGxhdGVDbGljayhldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgaWYgKHRoaXMuZHJhZykgcmV0dXJuO1xyXG4gICAgY29uc3QgcmVjdCA9IHRoaXMucGxhdGVSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIGxldCBsZWZ0ID0gZXZlbnQuY2xpZW50WCAtIHJlY3QubGVmdDtcclxuICAgIGxldCB0b3AgPSBldmVudC5jbGllbnRZIC0gcmVjdC50b3A7XHJcbiAgICB0aGlzLnRyYW5zZm9ybSA9IHsgeDogbGVmdCAtIHRoaXMub2Zmc2V0LCB5OiB0b3AgLSB0aGlzLm9mZnNldCB9O1xyXG4gICAgdGhpcy5pbml0VHJhbnNmb3JtID0geyB4OiB0aGlzLnRyYW5zZm9ybS54LCB5OiB0aGlzLnRyYW5zZm9ybS55IH07XHJcbiAgICB0aGlzLnNldExldGZUb3AobGVmdCwgdG9wKTtcclxuICB9XHJcblxyXG4gIHNldFRyYW5zZm9ybSgpIHtcclxuICAgIGxldCBoc3YgPSB0aGlzLmhzbFRvSHN2KHRoaXMuaHNsYS5oIGFzIG51bWJlciwgdGhpcy5oc2xhLnMgYXMgbnVtYmVyLCB0aGlzLmhzbGEubCBhcyBudW1iZXIpO1xyXG4gICAgdGhpcy50cmFuc2Zvcm0ueCA9IGhzdi5zICogdGhpcy5wbGF0ZS53aWR0aCAtIHRoaXMub2Zmc2V0O1xyXG4gICAgdGhpcy50cmFuc2Zvcm0ueSA9ICgxIC0gaHN2LnYpICogdGhpcy5wbGF0ZS5oZWlnaHQgLSB0aGlzLm9mZnNldDtcclxuICAgIHRoaXMuaW5pdFRyYW5zZm9ybSA9IHsgeDogdGhpcy50cmFuc2Zvcm0ueCwgeTogdGhpcy50cmFuc2Zvcm0ueSB9O1xyXG4gIH1cclxuXHJcbiAgc3RhcnRlZCgpIHtcclxuICAgIHRoaXMuZHJhZyA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBlbmRlZCgpIHtcclxuICAgIHRoaXMuaW5pdFRyYW5zZm9ybSA9IHsgeDogdGhpcy50cmFuc2Zvcm0ueCwgeTogdGhpcy50cmFuc2Zvcm0ueSB9O1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuZHJhZyA9IGZhbHNlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBtb3ZlZChkcmFnOiBDZGtEcmFnTW92ZSkge1xyXG4gICAgY29uc3QgdHJhbnNmb3JtID0gZHJhZy5zb3VyY2UuZ2V0RnJlZURyYWdQb3NpdGlvbigpO1xyXG4gICAgZHJhZy5zb3VyY2UucmVzZXQoKTtcclxuICAgIHRoaXMudHJhbnNmb3JtID0geyB4OiB0cmFuc2Zvcm0ueCArIHRoaXMuaW5pdFRyYW5zZm9ybS54LCB5OiB0cmFuc2Zvcm0ueSArIHRoaXMuaW5pdFRyYW5zZm9ybS55IH07XHJcbiAgICBsZXQgbGVmdCA9IHRoaXMudHJhbnNmb3JtLnggKyB0aGlzLm9mZnNldDtcclxuICAgIGxldCB0b3AgPSB0aGlzLnRyYW5zZm9ybS55ICsgdGhpcy5vZmZzZXQ7XHJcbiAgICB0aGlzLnNldExldGZUb3AobGVmdCwgdG9wKTtcclxuICB9XHJcblxyXG4gIHNldExldGZUb3AobGVmdDogbnVtYmVyLCB0b3A6IG51bWJlcikge1xyXG4gICAgbGV0IHMgPSBsZWZ0IC8gdGhpcy5wbGF0ZS53aWR0aDtcclxuICAgIGxldCB2ID0gMSAtIHRvcCAvIHRoaXMucGxhdGUuaGVpZ2h0O1xyXG4gICAgbGV0IGwgPSAoKDIgLSBzKSAqIHYpIC8gMjtcclxuICAgIGlmIChsICE9PSAwKSB7XHJcbiAgICAgIGlmIChsID09PSAxKSB7XHJcbiAgICAgICAgcyA9IDA7XHJcbiAgICAgIH0gZWxzZSBpZiAobCA8IDAuNSkge1xyXG4gICAgICAgIHMgPSAocyAqIHYpIC8gKGwgKiAyKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBzID0gKHMgKiB2KSAvICgyIC0gbCAqIDIpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBbdGhpcy5oc2xhLnMsIHRoaXMuaHNsYS5sXSA9IFtOdW1iZXIodGhpcy5kZWNpbWFsLnRyYW5zZm9ybShzLCAnMS4yLTInKSksIE51bWJlcih0aGlzLmRlY2ltYWwudHJhbnNmb3JtKGwsICcxLjItMicpKV07XHJcbiAgICB0aGlzLnNldEhzbGFQZXJjZW50KCk7XHJcbiAgICBPYmplY3QuYXNzaWduKHRoaXMucmdiYSwgdGhpcy5oc2xhVG9SZ2JhKHRoaXMuaHNsYSkpO1xyXG4gICAgdGhpcy5oZXggPSB0aGlzLnJnYmFUb0hleCh0aGlzLnJnYmEpO1xyXG4gICAgdGhpcy5zZXRWYWx1ZSgpO1xyXG4gIH1cclxuXHJcbiAgc2V0SHNsYVBlcmNlbnQoKSB7XHJcbiAgICB0aGlzLmhzbGEuc3AgPSB0aGlzLmhzbGEucyA9PT0gMCA/ICcwJScgOiAodGhpcy5wZXJjZW50LnRyYW5zZm9ybSh0aGlzLmhzbGEucywgJzEuMC0wJykgYXMgc3RyaW5nKTtcclxuICAgIHRoaXMuaHNsYS5scCA9IHRoaXMuaHNsYS5sID09PSAwID8gJzAlJyA6ICh0aGlzLnBlcmNlbnQudHJhbnNmb3JtKHRoaXMuaHNsYS5sLCAnMS4wLTAnKSBhcyBzdHJpbmcpO1xyXG4gIH1cclxuXHJcbiAgZ2V0UHJpbWFyeSgpIHtcclxuICAgIHJldHVybiBnZXRDb21wdXRlZFN0eWxlKHRoaXMuZG9jLmRvY3VtZW50RWxlbWVudCkuZ2V0UHJvcGVydHlWYWx1ZSgnLS14LXByaW1hcnknKS50cmltKCk7XHJcbiAgfVxyXG5cclxuICBodWVDaGFuZ2UoKSB7XHJcbiAgICB0aGlzLnNldFBsYXRlQmFja2dyb3VuZCgpO1xyXG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLnJnYmEsIHRoaXMuaHNsYVRvUmdiYSh0aGlzLmhzbGEpKTtcclxuICAgIHRoaXMuaGV4ID0gdGhpcy5yZ2JhVG9IZXgodGhpcy5yZ2JhKTtcclxuICAgIHRoaXMuc2V0VmFsdWUoKTtcclxuICB9XHJcblxyXG4gIHNldFBsYXRlQmFja2dyb3VuZCgpIHtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5wbGF0ZVJlZi5uYXRpdmVFbGVtZW50LCAnYmFja2dyb3VuZC1jb2xvcicsIGBoc2woJHt0aGlzLmhzbGEuaH0sIDEwMCUsIDUwJSlgKTtcclxuICB9XHJcblxyXG4gIHNldFJhaWxCYWNrZ3JvdW5kKCkge1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcclxuICAgICAgdGhpcy50cmFuc3BhcmVudFJhaWwsXHJcbiAgICAgICdiYWNrZ3JvdW5kJyxcclxuICAgICAgYGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgke3RoaXMucmdiYS5yfSwgJHt0aGlzLnJnYmEuZ30sICR7dGhpcy5yZ2JhLmJ9LCAwKSAwJSwgcmdiYSgke3RoaXMucmdiYS5yfSwgJHt0aGlzLnJnYmEuZ30sICR7dGhpcy5yZ2JhLmJ9LCAxKSAxMDAlKWBcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICB0cmFuc3BhcmVudENoYW5nZSgpIHtcclxuICAgIE9iamVjdC5hc3NpZ24odGhpcy5yZ2JhLCB0aGlzLmhzbGFUb1JnYmEodGhpcy5oc2xhKSk7XHJcbiAgICB0aGlzLmhleCA9IHRoaXMucmdiYVRvSGV4KHRoaXMucmdiYSk7XHJcbiAgICB0aGlzLnNldFZhbHVlKCk7XHJcbiAgfVxyXG5cclxuICBzZXRWYWx1ZSgpIHtcclxuICAgIHRoaXMuc2V0VmFsdWVCeVR5cGUoKTtcclxuICAgIHRoaXMuc2V0UmFpbEJhY2tncm91bmQoKTtcclxuICAgIHRoaXMubm9kZUVtaXQodGhpcy52YWx1ZSk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBzZXRWYWx1ZUJ5VHlwZSgpIHtcclxuICAgIGlmICh0aGlzLnR5cGUgPT09ICdoZXgnKSB7XHJcbiAgICAgIHRoaXMudmFsdWUgPSBgJHt0aGlzLmhleH1gO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT09ICdyZ2JhJykge1xyXG4gICAgICB0aGlzLnZhbHVlID0gYHJnYmEoJHt0aGlzLnJnYmEucn0sICR7dGhpcy5yZ2JhLmd9LCAke3RoaXMucmdiYS5ifSwgJHt0aGlzLnJnYmEuYX0pYDtcclxuICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09PSAnaHNsYScpIHtcclxuICAgICAgdGhpcy52YWx1ZSA9IGBoc2xhKCR7dGhpcy5oc2xhLmh9LCAke3RoaXMuaHNsYS5zcH0sICR7dGhpcy5oc2xhLmxwfSwgJHt0aGlzLmhzbGEuYX0pYDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGhzbGFUb1JnYmEoaHNsYTogeyBoPzogbnVtYmVyOyBzPzogbnVtYmVyOyBsPzogbnVtYmVyOyBhPzogbnVtYmVyIH0pIHtcclxuICAgIGxldCByLCBnLCBiO1xyXG4gICAgbGV0IFtoLCBzLCBsXSA9IFtoc2xhLmggYXMgbnVtYmVyLCBoc2xhLnMgYXMgbnVtYmVyLCBoc2xhLmwgYXMgbnVtYmVyXTtcclxuICAgIGlmIChzID09IDApIHtcclxuICAgICAgciA9IGcgPSBiID0gbDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGxldCBodWUycmdiID0gKHA6IG51bWJlciwgcTogbnVtYmVyLCB0OiBudW1iZXIpID0+IHtcclxuICAgICAgICBpZiAodCA8IDApIHQgKz0gMTtcclxuICAgICAgICBpZiAodCA+IDEpIHQgLT0gMTtcclxuICAgICAgICBpZiAodCA8IDEgLyA2KSByZXR1cm4gcCArIChxIC0gcCkgKiA2ICogdDtcclxuICAgICAgICBpZiAodCA8IDEgLyAyKSByZXR1cm4gcTtcclxuICAgICAgICBpZiAodCA8IDIgLyAzKSByZXR1cm4gcCArIChxIC0gcCkgKiAoMiAvIDMgLSB0KSAqIDY7XHJcbiAgICAgICAgcmV0dXJuIHA7XHJcbiAgICAgIH07XHJcblxyXG4gICAgICBsZXQgcSA9IGwgPCAwLjUgPyBsICogKDEgKyBzKSA6IGwgKyBzIC0gbCAqIHM7XHJcbiAgICAgIGxldCBwID0gMiAqIGwgLSBxO1xyXG4gICAgICByID0gaHVlMnJnYihwLCBxLCBoIC8gMzYwICsgMSAvIDMpO1xyXG4gICAgICBnID0gaHVlMnJnYihwLCBxLCBoIC8gMzYwKTtcclxuICAgICAgYiA9IGh1ZTJyZ2IocCwgcSwgaCAvIDM2MCAtIDEgLyAzKTtcclxuICAgIH1cclxuICAgIHJldHVybiB7IHI6IE1hdGgucm91bmQociAqIDI1NSksIGc6IE1hdGgucm91bmQoZyAqIDI1NSksIGI6IE1hdGgucm91bmQoYiAqIDI1NSksIGE6IE51bWJlcihoc2xhLmEpIH07XHJcbiAgfVxyXG5cclxuICByZ2JhVG9IZXgocmdiYTogeyByPzogbnVtYmVyOyBnPzogbnVtYmVyOyBiPzogbnVtYmVyOyBhPzogbnVtYmVyIH0pIHtcclxuICAgIGxldCBoZXggPSBbXHJcbiAgICAgIChyZ2JhLnIgYXMgbnVtYmVyKS50b1N0cmluZygxNiksXHJcbiAgICAgIChyZ2JhLmcgYXMgbnVtYmVyKS50b1N0cmluZygxNiksXHJcbiAgICAgIChyZ2JhLmIgYXMgbnVtYmVyKS50b1N0cmluZygxNiksXHJcbiAgICAgIE1hdGgucm91bmQoMjU1ICogKHJnYmEuYSBhcyBudW1iZXIpKS50b1N0cmluZygxNilcclxuICAgIF07XHJcbiAgICBoZXguZm9yRWFjaCgoeCwgaW5kZXgpID0+IHtcclxuICAgICAgaWYgKGluZGV4ID09PSAzICYmIHggPT09ICdmZicpIHtcclxuICAgICAgICBoZXhbaW5kZXhdID0gJyc7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHgubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgICAgaGV4W2luZGV4XSA9ICcwJyArIHg7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGAjJHtoZXguam9pbignJyl9YDtcclxuICB9XHJcblxyXG4gIHJnYmFUb0hzbGEocmdiYTogeyByPzogbnVtYmVyOyBnPzogbnVtYmVyOyBiPzogbnVtYmVyOyBhPzogbnVtYmVyIH0pIHtcclxuICAgIGxldCBbciwgZywgYl0gPSBbKHJnYmEuciBhcyBudW1iZXIpIC8gMjU1LCAocmdiYS5nIGFzIG51bWJlcikgLyAyNTUsIChyZ2JhLmIgYXMgbnVtYmVyKSAvIDI1NV07XHJcbiAgICBsZXQgW21heCwgbWluXSA9IFtNYXRoLm1heChyLCBnLCBiKSwgTWF0aC5taW4ociwgZywgYildO1xyXG4gICAgbGV0IGggPSAwO1xyXG4gICAgbGV0IHMgPSAwO1xyXG4gICAgbGV0IGwgPSAobWF4ICsgbWluKSAvIDI7XHJcblxyXG4gICAgaWYgKG1heCA9PT0gbWluKSB7XHJcbiAgICAgIGggPSBzID0gMDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGxldCBkID0gbWF4IC0gbWluO1xyXG4gICAgICBzID0gbCA+IDAuNSA/IGQgLyAoMiAtIG1heCAtIG1pbikgOiBkIC8gKG1heCArIG1pbik7XHJcbiAgICAgIHN3aXRjaCAobWF4KSB7XHJcbiAgICAgICAgY2FzZSByOlxyXG4gICAgICAgICAgaCA9IChnIC0gYikgLyBkICsgKGcgPCBiID8gNiA6IDApO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSBnOlxyXG4gICAgICAgICAgaCA9IChiIC0gcikgLyBkICsgMjtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgYjpcclxuICAgICAgICAgIGggPSAociAtIGcpIC8gZCArIDQ7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgICBoIC89IDY7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgaDogTWF0aC5yb3VuZChoICogMzYwKSxcclxuICAgICAgczogTnVtYmVyKHRoaXMuZGVjaW1hbC50cmFuc2Zvcm0ocywgJzEuMi0yJykpLFxyXG4gICAgICBsOiBOdW1iZXIodGhpcy5kZWNpbWFsLnRyYW5zZm9ybShsLCAnMS4yLTInKSksXHJcbiAgICAgIGE6IE51bWJlcihyZ2JhLmEpXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgaGV4VG9SZ2JhKGhleDogc3RyaW5nKSB7XHJcbiAgICBsZXQgaGV4TnVtID0gaGV4LnN1YnN0cmluZygxKTtcclxuICAgIGxldCBhID0gMTtcclxuICAgIGlmIChoZXhOdW0ubGVuZ3RoID09PSA4KSB7XHJcbiAgICAgIGEgPSBOdW1iZXIodGhpcy5kZWNpbWFsLnRyYW5zZm9ybShOdW1iZXIoJzB4JyArIGhleE51bS5zbGljZSgtMikpIC8gMjU1LCAnMS4yLTInKSk7XHJcbiAgICAgIGhleE51bSA9IGhleE51bS5zdWJzdHJpbmcoMCwgaGV4TnVtLmxlbmd0aCAtIDIpO1xyXG4gICAgfVxyXG4gICAgbGV0IG51bSA9IE51bWJlcignMHgnICsgKGhleE51bS5sZW5ndGggPCA2ID8gdGhpcy5yZXBlYXRMZXR0ZXIoaGV4TnVtLCAyKSA6IGhleE51bSkpO1xyXG4gICAgcmV0dXJuIHsgcjogbnVtID4+IDE2LCBnOiAobnVtID4+IDgpICYgMHhmZiwgYjogbnVtICYgMHhmZiwgYTogYSB9O1xyXG4gIH1cclxuXHJcbiAgaHNsVG9Ic3YoaDogbnVtYmVyLCBzOiBudW1iZXIsIGw6IG51bWJlcikge1xyXG4gICAgbGV0IGhIc3YsIHNIc3YsIHY7XHJcblxyXG4gICAgaEhzdiA9IGg7XHJcblxyXG4gICAgaWYgKGwgPT0gMCkge1xyXG4gICAgICBzSHN2ID0gMDtcclxuICAgICAgdiA9IDA7XHJcbiAgICB9IGVsc2UgaWYgKGwgPiAwICYmIGwgPD0gMC41KSB7XHJcbiAgICAgIHNIc3YgPSAoMiAqIHMpIC8gKDEgKyBzKTtcclxuICAgICAgdiA9IGwgKiAoMSArIHMpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgc0hzdiA9ICgyICogcyAtIDIgKiBzICogbCkgLyAocyAtIHMgKiBsICsgbCk7XHJcbiAgICAgIHYgPSBzIC0gcyAqIGwgKyBsO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgIGg6IGhIc3YsXHJcbiAgICAgIHM6IE51bWJlcih0aGlzLmRlY2ltYWwudHJhbnNmb3JtKHNIc3YsICcxLjItMicpKSxcclxuICAgICAgdjogTnVtYmVyKHRoaXMuZGVjaW1hbC50cmFuc2Zvcm0odiwgJzEuMi0yJykpXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgcmVwZWF0V29yZCh3b3JkOiBzdHJpbmcsIG51bTogbnVtYmVyKSB7XHJcbiAgICBsZXQgcmVzdWx0ID0gJyc7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG51bTsgaSsrKSB7XHJcbiAgICAgIHJlc3VsdCArPSB3b3JkO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG4gIHJlcGVhdExldHRlcih3b3JkOiBzdHJpbmcsIG51bTogbnVtYmVyKSB7XHJcbiAgICBsZXQgcmVzdWx0ID0gJyc7XHJcbiAgICBmb3IgKGxldCBsZXR0ZXIgb2Ygd29yZCkge1xyXG4gICAgICByZXN1bHQgKz0gdGhpcy5yZXBlYXRXb3JkKGxldHRlciwgbnVtKTtcclxuICAgIH1cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ4LWNvbG9yLXBpY2tlci1wb3J0YWxcIiAoY2xpY2spPVwic3RvcFByb3BhZ2F0aW9uKCRldmVudClcIj5cclxuICA8ZGl2ICNwYW5lbFJlZiBjbGFzcz1cIngtY29sb3ItcGlja2VyLXBvcnRhbC1wYW5lbFwiPlxyXG4gICAgPGRpdiAjcGxhdGVSZWYgY2xhc3M9XCJ4LWNvbG9yLXBpY2tlci1wb3J0YWwtcGxhdGVcIiAoY2xpY2spPVwicGxhdGVDbGljaygkZXZlbnQpXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ4LWNvbG9yLXBpY2tlci1wb3J0YWwtd2hpdGVcIj48L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cIngtY29sb3ItcGlja2VyLXBvcnRhbC1ibGFja1wiPjwvZGl2PlxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgI2RyYWdDb21cclxuICAgICAgICBjbGFzcz1cIngtY29sb3ItcGlja2VyLXBvcnRhbC1jdXJzb3JcIlxyXG4gICAgICAgIFtzdHlsZS5sZWZ0LnB4XT1cInRyYW5zZm9ybS54XCJcclxuICAgICAgICBbc3R5bGUudG9wLnB4XT1cInRyYW5zZm9ybS55XCJcclxuICAgICAgICBjZGtEcmFnXHJcbiAgICAgICAgW2Nka0RyYWdCb3VuZGFyeV09XCJwYW5lbFJlZlwiXHJcbiAgICAgICAgKGNka0RyYWdTdGFydGVkKT1cInN0YXJ0ZWQoKVwiXHJcbiAgICAgICAgKGNka0RyYWdFbmRlZCk9XCJlbmRlZCgpXCJcclxuICAgICAgICAoY2RrRHJhZ01vdmVkKT1cIm1vdmVkKCRldmVudClcIlxyXG4gICAgICA+PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwieC1jb2xvci1waWNrZXItcG9ydGFsLXRvb2xcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ4LWNvbG9yLXBpY2tlci1wb3J0YWwtb3BlcmF0aW9uc1wiPlxyXG4gICAgICA8IS0tIDx4LWJ1dHRvbiBpY29uPVwiZnRvLWVkaXQtMlwiIG9ubHlJY29uPjwveC1idXR0b24+IC0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwieC1jb2xvci1waWNrZXItcG9ydGFsLXNlbGVjdGVkXCI+XHJcbiAgICAgICAgPGRpdiBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJ2YWx1ZVwiPjwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cIngtY29sb3ItcGlja2VyLXBvcnRhbC1hcmVhXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIngtY29sb3ItcGlja2VyLXBvcnRhbC1zbGlkZXJcIj5cclxuICAgICAgICAgIDx4LXNsaWRlci1zZWxlY3RcclxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJoc2xhLmhcIlxyXG4gICAgICAgICAgICBtaW49XCIwXCJcclxuICAgICAgICAgICAgbWF4PVwiMzYwXCJcclxuICAgICAgICAgICAgc3RlcD1cIjFcIlxyXG4gICAgICAgICAgICAoZHJhZ1N0YXJ0RW1pdCk9XCJzdGFydGVkKClcIlxyXG4gICAgICAgICAgICAoZHJhZ0VuZEVtaXQpPVwiZW5kZWQoKVwiXHJcbiAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImh1ZUNoYW5nZSgpXCJcclxuICAgICAgICAgID48L3gtc2xpZGVyLXNlbGVjdD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwieC1jb2xvci1waWNrZXItcG9ydGFsLXRyYW5zcGFyZW50XCI+XHJcbiAgICAgICAgICA8eC1zbGlkZXItc2VsZWN0XHJcbiAgICAgICAgICAgICN0cmFuc3BhcmVudENvbVxyXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cImhzbGEuYVwiXHJcbiAgICAgICAgICAgIG1pbj1cIjBcIlxyXG4gICAgICAgICAgICBtYXg9XCIxXCJcclxuICAgICAgICAgICAgc3RlcD1cIjAuMDFcIlxyXG4gICAgICAgICAgICAoZHJhZ1N0YXJ0ZWQpPVwic3RhcnRlZCgpXCJcclxuICAgICAgICAgICAgKGRyYWdFbmRlZCk9XCJlbmRlZCgpXCJcclxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidHJhbnNwYXJlbnRDaGFuZ2UoKVwiXHJcbiAgICAgICAgICA+PC94LXNsaWRlci1zZWxlY3Q+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwieC1jb2xvci1waWNrZXItcG9ydGFsLWFscGhhXCI+PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwieC1jb2xvci1waWNrZXItcG9ydGFsLXR5cGVcIj5cclxuICAgICAgPHgtdGFicyBhbmltYXRlZD1cImZhbHNlXCIganVzdGlmeT1cImNlbnRlclwiPlxyXG4gICAgICAgIDx4LXRhYiBsYWJlbD1cIkhFWFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIngtY29sb3ItcGlja2VyLXBvcnRhbC10eXBlLWNvbnRlbnRcIj5cclxuICAgICAgICAgICAgPHgtaW5wdXQgWyhuZ01vZGVsKV09XCJoZXhcIiAobmdNb2RlbENoYW5nZSk9XCJoZXhDaGFuZ2UoKVwiPjwveC1pbnB1dD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwveC10YWI+XHJcbiAgICAgICAgPHgtdGFiIGxhYmVsPVwiUkdCQVwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIngtY29sb3ItcGlja2VyLXBvcnRhbC10eXBlLWNvbnRlbnRcIj5cclxuICAgICAgICAgICAgPHgtaW5wdXQgWyhuZ01vZGVsKV09XCJyZ2JhLnJcIiBbZGlzYWJsZWRdPVwidHJ1ZVwiPjwveC1pbnB1dD5cclxuICAgICAgICAgICAgPHgtaW5wdXQgWyhuZ01vZGVsKV09XCJyZ2JhLmdcIiBbZGlzYWJsZWRdPVwidHJ1ZVwiPjwveC1pbnB1dD5cclxuICAgICAgICAgICAgPHgtaW5wdXQgWyhuZ01vZGVsKV09XCJyZ2JhLmJcIiBbZGlzYWJsZWRdPVwidHJ1ZVwiPjwveC1pbnB1dD5cclxuICAgICAgICAgICAgPHgtaW5wdXQgWyhuZ01vZGVsKV09XCJyZ2JhLmFcIiBbZGlzYWJsZWRdPVwidHJ1ZVwiPjwveC1pbnB1dD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwveC10YWI+XHJcbiAgICAgICAgPHgtdGFiIGxhYmVsPVwiSFNMQVwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIngtY29sb3ItcGlja2VyLXBvcnRhbC10eXBlLWNvbnRlbnRcIj5cclxuICAgICAgICAgICAgPHgtaW5wdXQgWyhuZ01vZGVsKV09XCJoc2xhLmhcIiBbZGlzYWJsZWRdPVwidHJ1ZVwiPjwveC1pbnB1dD5cclxuICAgICAgICAgICAgPHgtaW5wdXQgWyhuZ01vZGVsKV09XCJoc2xhLnNwXCIgW2Rpc2FibGVkXT1cInRydWVcIj48L3gtaW5wdXQ+XHJcbiAgICAgICAgICAgIDx4LWlucHV0IFsobmdNb2RlbCldPVwiaHNsYS5scFwiIFtkaXNhYmxlZF09XCJ0cnVlXCI+PC94LWlucHV0PlxyXG4gICAgICAgICAgICA8eC1pbnB1dCBbKG5nTW9kZWwpXT1cImhzbGEuYVwiIFtkaXNhYmxlZF09XCJ0cnVlXCI+PC94LWlucHV0PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC94LXRhYj5cclxuICAgICAgPC94LXRhYnM+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
397
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItcGlja2VyLXBvcnRhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9jb2xvci1waWNrZXIvY29sb3ItcGlja2VyLXBvcnRhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9jb2xvci1waWNrZXIvY29sb3ItcGlja2VyLXBvcnRhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUNqQix1QkFBdUIsRUFDdkIsTUFBTSxFQU9OLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSx3QkFBd0IsRUFBYyxNQUFNLHlCQUF5QixDQUFDO0FBQy9FLE9BQU8sRUFBRSxRQUFRLEVBQUUscUJBQXFCLEVBQXNCLE1BQU0sa0JBQWtCLENBQUM7QUFFdkYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7O0FBWTNDLE1BQU0sT0FBTywyQkFBMkI7SUFzQ3RDLFlBQ1MsVUFBc0IsRUFDdEIsUUFBbUIsRUFDRCxHQUFRLEVBQzFCLE1BQWMsRUFDZCxHQUFzQixFQUN0QixPQUFvQixFQUNwQixPQUFvQjtRQU5wQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDRCxRQUFHLEdBQUgsR0FBRyxDQUFLO1FBQzFCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixZQUFPLEdBQVAsT0FBTyxDQUFhO1FBQ3BCLFlBQU8s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eEMrQixTQUFTO3NCQUF6RCxXQUFXO3VCQUFDLDJCQUEyQjtnQkFDb0IsSUFBSTtzQkFBL0QsWUFBWTt1QkFBQyxnQ0FBZ0MsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFJRyxLQUFLO3NCQUFqRSxZQUFZO3VCQUFDLGlDQUFpQyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQUlsQixRQUFRO3NCQUFoRCxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ0UsUUFBUTtzQkFBaEQsU0FBUzt1QkFBQyxVQUFVLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNRLGNBQWM7c0JBQTVELFNBQVM7dUJBQUMsZ0JBQWdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgSW5qZWN0LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIE9uSW5pdCxcclxuICBFbGVtZW50UmVmLFxyXG4gIE5nWm9uZSxcclxuICBSZW5kZXJlcjIsXHJcbiAgT25EZXN0cm95LFxyXG4gIFZpZXdDaGlsZCxcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgSG9zdEJpbmRpbmdcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWENvbG9yUGlja2VyUG9ydGFsUHJlZml4LCBYQ29sb3JUeXBlIH0gZnJvbSAnLi9jb2xvci1waWNrZXIucHJvcGVydHknO1xyXG5pbXBvcnQgeyBYSXNFbXB0eSwgWENvbm5lY3RCYXNlQW5pbWF0aW9uLCBYUG9zaXRpb25Ub3BCb3R0b20gfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgWFNsaWRlclNlbGVjdENvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL3NsaWRlci1zZWxlY3QnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENka0RyYWdNb3ZlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XHJcbmltcG9ydCB7IERPQ1VNRU5ULCBEZWNpbWFsUGlwZSwgUGVyY2VudFBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFhJbnB1dENvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL2lucHV0JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBgJHtYQ29sb3JQaWNrZXJQb3J0YWxQcmVmaXh9YCxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29sb3ItcGlja2VyLXBvcnRhbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY29sb3ItcGlja2VyLXBvcnRhbC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbRGVjaW1hbFBpcGUsIFBlcmNlbnRQaXBlXSxcclxuICBhbmltYXRpb25zOiBbWENvbm5lY3RCYXNlQW5pbWF0aW9uXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgWENvbG9yUGlja2VyUG9ydGFsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBIb3N0QmluZGluZygnQHgtY29ubmVjdC1iYXNlLWFuaW1hdGlvbicpIHB1YmxpYyBwbGFjZW1lbnQhOiBYUG9zaXRpb25Ub3BCb3R0b207XHJcbiAgQEhvc3RMaXN0ZW5lcignQHgtY29ubmVjdC1iYXNlLWFuaW1hdGlvbi5kb25lJywgWyckZXZlbnQnXSkgZG9uZShldmVudDogeyB0b1N0YXRlOiBhbnkgfSkge1xyXG4gICAgdGhpcy5hbmltYXRpbmcoZmFsc2UpO1xyXG4gICAgZXZlbnQudG9TdGF0ZSA9PT0gJ3ZvaWQnICYmIHRoaXMuZGVzdHJveVBvcnRhbCgpO1xyXG4gIH1cclxuICBASG9zdExpc3RlbmVyKCdAeC1jb25uZWN0LWJhc2UtYW5pbWF0aW9uLnN0YXJ0JywgWyckZXZlbnQnXSkgc3RhcnQoKSB7XHJcbiAgICB0aGlzLmFuaW1hdGluZyh0cnVlKTtcclxuICB9XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ3BhbmVsUmVmJywgeyBzdGF0aWM6IHRydWUgfSkgcGFuZWxSZWYhOiBFbGVtZW50UmVmO1xyXG4gIEBWaWV3Q2hpbGQoJ3BsYXRlUmVmJywgeyBzdGF0aWM6IHRydWUgfSkgcGxhdGVSZWYhOiBFbGVtZW50UmVmO1xyXG4gIEBWaWV3Q2hpbGQoJ3RyYW5zcGFyZW50Q29tJywgeyBzdGF0aWM6IHRydWUgfSkgdHJhbnNwYXJlbnRDb20hOiBYU2xpZGVyU2VsZWN0Q29tcG9uZW50O1xyXG4gIHZhbHVlITogc3RyaW5nO1xyXG4gIHRyYW5zcGFyZW50UmFpbCE6IEhUTUxFbGVtZW50O1xyXG4gIHZhbHVlQ2hhbmdlITogU3ViamVjdDxzdHJpbmc+O1xyXG4gIHBvc2l0aW9uQ2hhbmdlITogU3ViamVjdDxhbnk+O1xyXG4gIGNsb3NlUG9ydGFsITogRnVuY3Rpb247XHJcbiAgZGVzdHJveVBvcnRhbCE6IEZ1bmN0aW9uO1xyXG4gIGFuaW1hdGluZyE6IEZ1bmN0aW9uO1xyXG4gIG5vZGVFbWl0ITogRnVuY3Rpb247XHJcbiAgaW5wdXRDb20hOiBYSW5wdXRDb21wb25lbnQ7XHJcblxyXG4gIHNsaWRlckNvbG9yTnVtID0gMDtcclxuICB0eXBlITogWENvbG9yVHlwZTtcclxuICBvZmZzZXQgPSAwO1xyXG4gIHBhbmVsITogRE9NUmVjdDtcclxuICBwbGF0ZSE6IERPTVJlY3Q7XHJcbiAgdHJhbnNmb3JtID0geyB4OiAwLCB5OiAwIH07XHJcbiAgaW5pdFRyYW5zZm9ybSA9IHsgeDogMCwgeTogMCB9O1xyXG4gIGRyYWcgPSBmYWxzZTtcclxuXHJcbiAgcmdiYTogeyByPzogbnVtYmVyOyBnPzogbnVtYmVyOyBiPzogbnVtYmVyOyBhPzogbnVtYmVyIH0gPSB7IGE6IDEgfTtcclxuICBoc2xhOiB7IGg/OiBudW1iZXI7IHM/OiBudW1iZXI7IGw/OiBudW1iZXI7IGE/OiBudW1iZXI7IHNwPzogc3RyaW5nOyBscD86IHN0cmluZyB9ID0geyBoOiAwLCBhOiAxIH07XHJcbiAgaGV4ITogc3RyaW5nO1xyXG5cclxuICBwcml2YXRlIF91blN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwdWJsaWMgZG9jOiBhbnksXHJcbiAgICBwdWJsaWMgbmdab25lOiBOZ1pvbmUsXHJcbiAgICBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHB1YmxpYyBkZWNpbWFsOiBEZWNpbWFsUGlwZSxcclxuICAgIHB1YmxpYyBwZXJjZW50OiBQZXJjZW50UGlwZVxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLnBpcGUodGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpLnN1YnNjcmliZSgoeDogc3RyaW5nKSA9PiB7XHJcbiAgICAgIHRoaXMudmFsdWUgPSB4O1xyXG4gICAgICB0aGlzLmluaXQoKTtcclxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnBvc2l0aW9uQ2hhbmdlLnBpcGUodGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICB0aGlzLnBsYWNlbWVudCA9IHg7XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5pbml0KCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3VuU3ViamVjdC5uZXh0KCk7XHJcbiAgICB0aGlzLl91blN1YmplY3QudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMucGFuZWwgPSB0aGlzLnBhbmVsUmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICB0aGlzLnBsYXRlID0gdGhpcy5wbGF0ZVJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgdGhpcy5vZmZzZXQgPSAodGhpcy5wYW5lbC53aWR0aCAtIHRoaXMucGxhdGUud2lkdGgpIC8gMjtcclxuICAgIHRoaXMudHJhbnNwYXJlbnRSYWlsID0gdGhpcy50cmFuc3BhcmVudENvbS5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLngtc2xpZGVyLXNlbGVjdC1yYWlsIGRpdicpO1xyXG4gICAgdGhpcy5zZXRUcmFuc2Zvcm0oKTtcclxuICAgIHRoaXMuc2V0UGxhdGVCYWNrZ3JvdW5kKCk7XHJcbiAgICB0aGlzLnNldFJhaWxCYWNrZ3JvdW5kKCk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBoZXhDaGFuZ2UoKSB7XHJcbiAgICBpZiAodGhpcy5kcmFnIHx8ICEvKF4jWzAtOUEtRl17Nn0kKS9pLnRlc3QodGhpcy5oZXgpKSByZXR1cm47XHJcbiAgICB0aGlzLnJnYmEgPSB0aGlzLmhleFRvUmdiYSh0aGlzLmhleCk7XHJcbiAgICB0aGlzLmhzbGEgPSB0aGlzLnJnYmFUb0hzbGEodGhpcy5yZ2JhKTtcclxuICAgIHRoaXMuc2V0SHNsYVBlcmNlbnQoKTtcclxuICAgIHRoaXMuc2V0VHJhbnNmb3JtKCk7XHJcbiAgICB0aGlzLnNldFBsYXRlQmFja2dyb3VuZCgpO1xyXG4gICAgdGhpcy5zZXRWYWx1ZSgpO1xyXG4gIH1cclxuXHJcbiAgcmdiYUNoYW5nZSgpIHt9XHJcblxyXG4gIGluaXQoKSB7XHJcbiAgICBpZiAoIVhJc0VtcHR5KHRoaXMudmFsdWUpKSB7XHJcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLnZhbHVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuZ2V0UHJpbWFyeSgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jb2xvckNvbnZlcnQoKTtcclxuICB9XHJcblxyXG4gIHN0b3BQcm9wYWdhdGlvbihldmVudDogRXZlbnQpOiB2b2lkIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgc2V0RGVmYXVsdCgpIHt9XHJcblxyXG4gIGNvbG9yQ29udmVydCgpIHtcclxuICAgIGlmICgvXiMvLnRlc3QodGhpcy52YWx1ZSkpIHtcclxuICAgICAgdGhpcy5oZXggPSB0aGlzLnZhbHVlO1xyXG4gICAgICB0aGlzLnJnYmEgPSB0aGlzLmhleFRvUmdiYSh0aGlzLmhleCk7XHJcbiAgICAgIHRoaXMuaHNsYSA9IHRoaXMucmdiYVRvSHNsYSh0aGlzLnJnYmEpO1xyXG4gICAgICB0aGlzLnNldEhzbGFQZXJjZW50KCk7XHJcbiAgICAgIHRoaXMudHlwZSA9ICdoZXgnO1xyXG4gICAgfSBlbHNlIGlmICgvcmdiLy50ZXN0KHRoaXMudmFsdWUpKSB7XHJcbiAgICAgIHRoaXMucmdiYUNvbnZlcnQodGhpcy52YWx1ZSk7XHJcbiAgICAgIHRoaXMuaGV4ID0gdGhpcy5yZ2JhVG9IZXgodGhpcy5yZ2JhKTtcclxuICAgICAgdGhpcy5oc2xhID0gdGhpcy5yZ2JhVG9Ic2xhKHRoaXMucmdiYSk7XHJcbiAgICAgIHRoaXMuc2V0SHNsYVBlcmNlbnQoKTtcclxuICAgICAgdGhpcy50eXBlID0gJ3JnYmEnO1xyXG4gICAgfSBlbHNlIGlmICgvaHNsLy50ZXN0KHRoaXMudmFsdWUpKSB7XHJcbiAgICAgIHRoaXMuaHNsYUNvbnZlcnQodGhpcy52YWx1ZSk7XHJcbiAgICAgIHRoaXMucmdiYSA9IHRoaXMuaHNsYVRvUmdiYSh0aGlzLmhzbGEpO1xyXG4gICAgICB0aGlzLmhleCA9IHRoaXMucmdiYVRvSGV4KHRoaXMucmdiYSk7XHJcbiAgICAgIHRoaXMudHlwZSA9ICdoc2xhJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJnYmFDb252ZXJ0KHN0cjogc3RyaW5nKSB7XHJcbiAgICBsZXQgcmdiYSA9IHN0clxyXG4gICAgICAucmVwbGFjZSgvcmdiYT9cXCgvLCAnJylcclxuICAgICAgLnJlcGxhY2UoL3JnYj9cXCgvLCAnJylcclxuICAgICAgLnJlcGxhY2UoL1xcKS8sICcnKVxyXG4gICAgICAucmVwbGFjZSgvW1xccytdL2csICcnKVxyXG4gICAgICAuc3BsaXQoJywnKTtcclxuICAgIGlmIChyZ2JhLmxlbmd0aCA+IDIpIHtcclxuICAgICAgdGhpcy5yZ2JhID0ge1xyXG4gICAgICAgIHI6IE51bWJlcihyZ2JhWzBdKSxcclxuICAgICAgICBnOiBOdW1iZXIocmdiYVsxXSksXHJcbiAgICAgICAgYjogTnVtYmVyKHJnYmFbMl0pLFxyXG4gICAgICAgIGE6IE51bWJlcihyZ2JhLmxlbmd0aCA+IDMgPyByZ2JhWzNdIDogMSlcclxuICAgICAgfTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGhzbGFDb252ZXJ0KHN0cjogc3RyaW5nKSB7XHJcbiAgICBsZXQgaHNsYSA9IHN0clxyXG4gICAgICAucmVwbGFjZSgvaHNsYT9cXCgvLCAnJylcclxuICAgICAgLnJlcGxhY2UoL2hzbD9cXCgvLCAnJylcclxuICAgICAgLnJlcGxhY2UoL1xcKS8sICcnKVxyXG4gICAgICAucmVwbGFjZSgvW1xccytdL2csICcnKVxyXG4gICAgICAuc3BsaXQoJywnKTtcclxuICAgIGlmIChoc2xhLmxlbmd0aCA+IDIpIHtcclxuICAgICAgdGhpcy5oc2xhID0ge1xyXG4gICAgICAgIGg6IE51bWJlcihoc2xhWzBdKSxcclxuICAgICAgICBzOiBOdW1iZXIoaHNsYVsxXS5yZXBsYWNlKCclJywgJycpKSAvIDEwMCxcclxuICAgICAgICBsOiBOdW1iZXIoaHNsYVsyXS5yZXBsYWNlKCclJywgJycpKSAvIDEwMCxcclxuICAgICAgICBhOiBOdW1iZXIoaHNsYS5sZW5ndGggPiAzID8gaHNsYVszXSA6IDEpXHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMuc2V0SHNsYVBlcmNlbnQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHBsYXRlQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGlmICh0aGlzLmRyYWcpIHJldHVybjtcclxuICAgIGNvbnN0IHJlY3QgPSB0aGlzLnBsYXRlUmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICBsZXQgbGVmdCA9IGV2ZW50LmNsaWVudFggLSByZWN0LmxlZnQ7XHJcbiAgICBsZXQgdG9wID0gZXZlbnQuY2xpZW50WSAtIHJlY3QudG9wO1xyXG4gICAgdGhpcy50cmFuc2Zvcm0gPSB7IHg6IGxlZnQgLSB0aGlzLm9mZnNldCwgeTogdG9wIC0gdGhpcy5vZmZzZXQgfTtcclxuICAgIHRoaXMuaW5pdFRyYW5zZm9ybSA9IHsgeDogdGhpcy50cmFuc2Zvcm0ueCwgeTogdGhpcy50cmFuc2Zvcm0ueSB9O1xyXG4gICAgdGhpcy5zZXRMZXRmVG9wKGxlZnQsIHRvcCk7XHJcbiAgfVxyXG5cclxuICBzZXRUcmFuc2Zvcm0oKSB7XHJcbiAgICBsZXQgaHN2ID0gdGhpcy5oc2xUb0hzdih0aGlzLmhzbGEuaCBhcyBudW1iZXIsIHRoaXMuaHNsYS5zIGFzIG51bWJlciwgdGhpcy5oc2xhLmwgYXMgbnVtYmVyKTtcclxuICAgIHRoaXMudHJhbnNmb3JtLnggPSBoc3YucyAqIHRoaXMucGxhdGUud2lkdGggLSB0aGlzLm9mZnNldDtcclxuICAgIHRoaXMudHJhbnNmb3JtLnkgPSAoMSAtIGhzdi52KSAqIHRoaXMucGxhdGUuaGVpZ2h0IC0gdGhpcy5vZmZzZXQ7XHJcbiAgICB0aGlzLmluaXRUcmFuc2Zvcm0gPSB7IHg6IHRoaXMudHJhbnNmb3JtLngsIHk6IHRoaXMudHJhbnNmb3JtLnkgfTtcclxuICB9XHJcblxyXG4gIHN0YXJ0ZWQoKSB7XHJcbiAgICB0aGlzLmRyYWcgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgZW5kZWQoKSB7XHJcbiAgICB0aGlzLmluaXRUcmFuc2Zvcm0gPSB7IHg6IHRoaXMudHJhbnNmb3JtLngsIHk6IHRoaXMudHJhbnNmb3JtLnkgfTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmRyYWcgPSBmYWxzZTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbW92ZWQoZHJhZzogQ2RrRHJhZ01vdmUpIHtcclxuICAgIGNvbnN0IHRyYW5zZm9ybSA9IGRyYWcuc291cmNlLmdldEZyZWVEcmFnUG9zaXRpb24oKTtcclxuICAgIGRyYWcuc291cmNlLnJlc2V0KCk7XHJcbiAgICB0aGlzLnRyYW5zZm9ybSA9IHsgeDogdHJhbnNmb3JtLnggKyB0aGlzLmluaXRUcmFuc2Zvcm0ueCwgeTogdHJhbnNmb3JtLnkgKyB0aGlzLmluaXRUcmFuc2Zvcm0ueSB9O1xyXG4gICAgbGV0IGxlZnQgPSB0aGlzLnRyYW5zZm9ybS54ICsgdGhpcy5vZmZzZXQ7XHJcbiAgICBsZXQgdG9wID0gdGhpcy50cmFuc2Zvcm0ueSArIHRoaXMub2Zmc2V0O1xyXG4gICAgdGhpcy5zZXRMZXRmVG9wKGxlZnQsIHRvcCk7XHJcbiAgfVxyXG5cclxuICBzZXRMZXRmVG9wKGxlZnQ6IG51bWJlciwgdG9wOiBudW1iZXIpIHtcclxuICAgIGxldCBzID0gbGVmdCAvIHRoaXMucGxhdGUud2lkdGg7XHJcbiAgICBsZXQgdiA9IDEgLSB0b3AgLyB0aGlzLnBsYXRlLmhlaWdodDtcclxuICAgIGxldCBsID0gKCgyIC0gcykgKiB2KSAvIDI7XHJcbiAgICBpZiAobCAhPT0gMCkge1xyXG4gICAgICBpZiAobCA9PT0gMSkge1xyXG4gICAgICAgIHMgPSAwO1xyXG4gICAgICB9IGVsc2UgaWYgKGwgPCAwLjUpIHtcclxuICAgICAgICBzID0gKHMgKiB2KSAvIChsICogMik7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcyA9IChzICogdikgLyAoMiAtIGwgKiAyKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgW3RoaXMuaHNsYS5zLCB0aGlzLmhzbGEubF0gPSBbTnVtYmVyKHRoaXMuZGVjaW1hbC50cmFuc2Zvcm0ocywgJzEuMi0yJykpLCBOdW1iZXIodGhpcy5kZWNpbWFsLnRyYW5zZm9ybShsLCAnMS4yLTInKSldO1xyXG4gICAgdGhpcy5zZXRIc2xhUGVyY2VudCgpO1xyXG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLnJnYmEsIHRoaXMuaHNsYVRvUmdiYSh0aGlzLmhzbGEpKTtcclxuICAgIHRoaXMuaGV4ID0gdGhpcy5yZ2JhVG9IZXgodGhpcy5yZ2JhKTtcclxuICAgIHRoaXMuc2V0VmFsdWUoKTtcclxuICB9XHJcblxyXG4gIHNldEhzbGFQZXJjZW50KCkge1xyXG4gICAgdGhpcy5oc2xhLnNwID0gdGhpcy5oc2xhLnMgPT09IDAgPyAnMCUnIDogKHRoaXMucGVyY2VudC50cmFuc2Zvcm0odGhpcy5oc2xhLnMsICcxLjAtMCcpIGFzIHN0cmluZyk7XHJcbiAgICB0aGlzLmhzbGEubHAgPSB0aGlzLmhzbGEubCA9PT0gMCA/ICcwJScgOiAodGhpcy5wZXJjZW50LnRyYW5zZm9ybSh0aGlzLmhzbGEubCwgJzEuMC0wJykgYXMgc3RyaW5nKTtcclxuICB9XHJcblxyXG4gIGdldFByaW1hcnkoKSB7XHJcbiAgICByZXR1cm4gZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLmRvYy5kb2N1bWVudEVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoJy0teC1wcmltYXJ5JykudHJpbSgpO1xyXG4gIH1cclxuXHJcbiAgaHVlQ2hhbmdlKCkge1xyXG4gICAgdGhpcy5zZXRQbGF0ZUJhY2tncm91bmQoKTtcclxuICAgIE9iamVjdC5hc3NpZ24odGhpcy5yZ2JhLCB0aGlzLmhzbGFUb1JnYmEodGhpcy5oc2xhKSk7XHJcbiAgICB0aGlzLmhleCA9IHRoaXMucmdiYVRvSGV4KHRoaXMucmdiYSk7XHJcbiAgICB0aGlzLnNldFZhbHVlKCk7XHJcbiAgfVxyXG5cclxuICBzZXRQbGF0ZUJhY2tncm91bmQoKSB7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMucGxhdGVSZWYubmF0aXZlRWxlbWVudCwgJ2JhY2tncm91bmQtY29sb3InLCBgaHNsKCR7dGhpcy5oc2xhLmh9LCAxMDAlLCA1MCUpYCk7XHJcbiAgfVxyXG5cclxuICBzZXRSYWlsQmFja2dyb3VuZCgpIHtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXHJcbiAgICAgIHRoaXMudHJhbnNwYXJlbnRSYWlsLFxyXG4gICAgICAnYmFja2dyb3VuZCcsXHJcbiAgICAgIGBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoJHt0aGlzLnJnYmEucn0sICR7dGhpcy5yZ2JhLmd9LCAke3RoaXMucmdiYS5ifSwgMCkgMCUsIHJnYmEoJHt0aGlzLnJnYmEucn0sICR7dGhpcy5yZ2JhLmd9LCAke3RoaXMucmdiYS5ifSwgMSkgMTAwJSlgXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgdHJhbnNwYXJlbnRDaGFuZ2UoKSB7XHJcbiAgICBPYmplY3QuYXNzaWduKHRoaXMucmdiYSwgdGhpcy5oc2xhVG9SZ2JhKHRoaXMuaHNsYSkpO1xyXG4gICAgdGhpcy5oZXggPSB0aGlzLnJnYmFUb0hleCh0aGlzLnJnYmEpO1xyXG4gICAgdGhpcy5zZXRWYWx1ZSgpO1xyXG4gIH1cclxuXHJcbiAgc2V0VmFsdWUoKSB7XHJcbiAgICB0aGlzLnNldFZhbHVlQnlUeXBlKCk7XHJcbiAgICB0aGlzLnNldFJhaWxCYWNrZ3JvdW5kKCk7XHJcbiAgICB0aGlzLm5vZGVFbWl0KHRoaXMudmFsdWUpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgc2V0VmFsdWVCeVR5cGUoKSB7XHJcbiAgICBpZiAodGhpcy50eXBlID09PSAnaGV4Jykge1xyXG4gICAgICB0aGlzLnZhbHVlID0gYCR7dGhpcy5oZXh9YDtcclxuICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09PSAncmdiYScpIHtcclxuICAgICAgdGhpcy52YWx1ZSA9IGByZ2JhKCR7dGhpcy5yZ2JhLnJ9LCAke3RoaXMucmdiYS5nfSwgJHt0aGlzLnJnYmEuYn0sICR7dGhpcy5yZ2JhLmF9KWA7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMudHlwZSA9PT0gJ2hzbGEnKSB7XHJcbiAgICAgIHRoaXMudmFsdWUgPSBgaHNsYSgke3RoaXMuaHNsYS5ofSwgJHt0aGlzLmhzbGEuc3B9LCAke3RoaXMuaHNsYS5scH0sICR7dGhpcy5oc2xhLmF9KWA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoc2xhVG9SZ2JhKGhzbGE6IHsgaD86IG51bWJlcjsgcz86IG51bWJlcjsgbD86IG51bWJlcjsgYT86IG51bWJlciB9KSB7XHJcbiAgICBsZXQgciwgZywgYjtcclxuICAgIGxldCBbaCwgcywgbF0gPSBbaHNsYS5oIGFzIG51bWJlciwgaHNsYS5zIGFzIG51bWJlciwgaHNsYS5sIGFzIG51bWJlcl07XHJcbiAgICBpZiAocyA9PSAwKSB7XHJcbiAgICAgIHIgPSBnID0gYiA9IGw7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBsZXQgaHVlMnJnYiA9IChwOiBudW1iZXIsIHE6IG51bWJlciwgdDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgaWYgKHQgPCAwKSB0ICs9IDE7XHJcbiAgICAgICAgaWYgKHQgPiAxKSB0IC09IDE7XHJcbiAgICAgICAgaWYgKHQgPCAxIC8gNikgcmV0dXJuIHAgKyAocSAtIHApICogNiAqIHQ7XHJcbiAgICAgICAgaWYgKHQgPCAxIC8gMikgcmV0dXJuIHE7XHJcbiAgICAgICAgaWYgKHQgPCAyIC8gMykgcmV0dXJuIHAgKyAocSAtIHApICogKDIgLyAzIC0gdCkgKiA2O1xyXG4gICAgICAgIHJldHVybiBwO1xyXG4gICAgICB9O1xyXG5cclxuICAgICAgbGV0IHEgPSBsIDwgMC41ID8gbCAqICgxICsgcykgOiBsICsgcyAtIGwgKiBzO1xyXG4gICAgICBsZXQgcCA9IDIgKiBsIC0gcTtcclxuICAgICAgciA9IGh1ZTJyZ2IocCwgcSwgaCAvIDM2MCArIDEgLyAzKTtcclxuICAgICAgZyA9IGh1ZTJyZ2IocCwgcSwgaCAvIDM2MCk7XHJcbiAgICAgIGIgPSBodWUycmdiKHAsIHEsIGggLyAzNjAgLSAxIC8gMyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4geyByOiBNYXRoLnJvdW5kKHIgKiAyNTUpLCBnOiBNYXRoLnJvdW5kKGcgKiAyNTUpLCBiOiBNYXRoLnJvdW5kKGIgKiAyNTUpLCBhOiBOdW1iZXIoaHNsYS5hKSB9O1xyXG4gIH1cclxuXHJcbiAgcmdiYVRvSGV4KHJnYmE6IHsgcj86IG51bWJlcjsgZz86IG51bWJlcjsgYj86IG51bWJlcjsgYT86IG51bWJlciB9KSB7XHJcbiAgICBsZXQgaGV4ID0gW1xyXG4gICAgICAocmdiYS5yIGFzIG51bWJlcikudG9TdHJpbmcoMTYpLFxyXG4gICAgICAocmdiYS5nIGFzIG51bWJlcikudG9TdHJpbmcoMTYpLFxyXG4gICAgICAocmdiYS5iIGFzIG51bWJlcikudG9TdHJpbmcoMTYpLFxyXG4gICAgICBNYXRoLnJvdW5kKDI1NSAqIChyZ2JhLmEgYXMgbnVtYmVyKSkudG9TdHJpbmcoMTYpXHJcbiAgICBdO1xyXG4gICAgaGV4LmZvckVhY2goKHgsIGluZGV4KSA9PiB7XHJcbiAgICAgIGlmIChpbmRleCA9PT0gMyAmJiB4ID09PSAnZmYnKSB7XHJcbiAgICAgICAgaGV4W2luZGV4XSA9ICcnO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh4Lmxlbmd0aCA9PT0gMSkge1xyXG4gICAgICAgIGhleFtpbmRleF0gPSAnMCcgKyB4O1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBgIyR7aGV4LmpvaW4oJycpfWA7XHJcbiAgfVxyXG5cclxuICByZ2JhVG9Ic2xhKHJnYmE6IHsgcj86IG51bWJlcjsgZz86IG51bWJlcjsgYj86IG51bWJlcjsgYT86IG51bWJlciB9KSB7XHJcbiAgICBsZXQgW3IsIGcsIGJdID0gWyhyZ2JhLnIgYXMgbnVtYmVyKSAvIDI1NSwgKHJnYmEuZyBhcyBudW1iZXIpIC8gMjU1LCAocmdiYS5iIGFzIG51bWJlcikgLyAyNTVdO1xyXG4gICAgbGV0IFttYXgsIG1pbl0gPSBbTWF0aC5tYXgociwgZywgYiksIE1hdGgubWluKHIsIGcsIGIpXTtcclxuICAgIGxldCBoID0gMDtcclxuICAgIGxldCBzID0gMDtcclxuICAgIGxldCBsID0gKG1heCArIG1pbikgLyAyO1xyXG5cclxuICAgIGlmIChtYXggPT09IG1pbikge1xyXG4gICAgICBoID0gcyA9IDA7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBsZXQgZCA9IG1heCAtIG1pbjtcclxuICAgICAgcyA9IGwgPiAwLjUgPyBkIC8gKDIgLSBtYXggLSBtaW4pIDogZCAvIChtYXggKyBtaW4pO1xyXG4gICAgICBzd2l0Y2ggKG1heCkge1xyXG4gICAgICAgIGNhc2UgcjpcclxuICAgICAgICAgIGggPSAoZyAtIGIpIC8gZCArIChnIDwgYiA/IDYgOiAwKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgZzpcclxuICAgICAgICAgIGggPSAoYiAtIHIpIC8gZCArIDI7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIGI6XHJcbiAgICAgICAgICBoID0gKHIgLSBnKSAvIGQgKyA0O1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgICAgaCAvPSA2O1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgIGg6IE1hdGgucm91bmQoaCAqIDM2MCksXHJcbiAgICAgIHM6IE51bWJlcih0aGlzLmRlY2ltYWwudHJhbnNmb3JtKHMsICcxLjItMicpKSxcclxuICAgICAgbDogTnVtYmVyKHRoaXMuZGVjaW1hbC50cmFuc2Zvcm0obCwgJzEuMi0yJykpLFxyXG4gICAgICBhOiBOdW1iZXIocmdiYS5hKVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGhleFRvUmdiYShoZXg6IHN0cmluZykge1xyXG4gICAgbGV0IGhleE51bSA9IGhleC5zdWJzdHJpbmcoMSk7XHJcbiAgICBsZXQgYSA9IDE7XHJcbiAgICBpZiAoaGV4TnVtLmxlbmd0aCA9PT0gOCkge1xyXG4gICAgICBhID0gTnVtYmVyKHRoaXMuZGVjaW1hbC50cmFuc2Zvcm0oTnVtYmVyKCcweCcgKyBoZXhOdW0uc2xpY2UoLTIpKSAvIDI1NSwgJzEuMi0yJykpO1xyXG4gICAgICBoZXhOdW0gPSBoZXhOdW0uc3Vic3RyaW5nKDAsIGhleE51bS5sZW5ndGggLSAyKTtcclxuICAgIH1cclxuICAgIGxldCBudW0gPSBOdW1iZXIoJzB4JyArIChoZXhOdW0ubGVuZ3RoIDwgNiA/IHRoaXMucmVwZWF0TGV0dGVyKGhleE51bSwgMikgOiBoZXhOdW0pKTtcclxuICAgIHJldHVybiB7IHI6IG51bSA+PiAxNiwgZzogKG51bSA+PiA4KSAmIDB4ZmYsIGI6IG51bSAmIDB4ZmYsIGE6IGEgfTtcclxuICB9XHJcblxyXG4gIGhzbFRvSHN2KGg6IG51bWJlciwgczogbnVtYmVyLCBsOiBudW1iZXIpIHtcclxuICAgIGxldCBoSHN2LCBzSHN2LCB2O1xyXG5cclxuICAgIGhIc3YgPSBoO1xyXG5cclxuICAgIGlmIChsID09IDApIHtcclxuICAgICAgc0hzdiA9IDA7XHJcbiAgICAgIHYgPSAwO1xyXG4gICAgfSBlbHNlIGlmIChsID4gMCAmJiBsIDw9IDAuNSkge1xyXG4gICAgICBzSHN2ID0gKDIgKiBzKSAvICgxICsgcyk7XHJcbiAgICAgIHYgPSBsICogKDEgKyBzKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHNIc3YgPSAoMiAqIHMgLSAyICogcyAqIGwpIC8gKHMgLSBzICogbCArIGwpO1xyXG4gICAgICB2ID0gcyAtIHMgKiBsICsgbDtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBoOiBoSHN2LFxyXG4gICAgICBzOiBOdW1iZXIodGhpcy5kZWNpbWFsLnRyYW5zZm9ybShzSHN2LCAnMS4yLTInKSksXHJcbiAgICAgIHY6IE51bWJlcih0aGlzLmRlY2ltYWwudHJhbnNmb3JtKHYsICcxLjItMicpKVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHJlcGVhdFdvcmQod29yZDogc3RyaW5nLCBudW06IG51bWJlcikge1xyXG4gICAgbGV0IHJlc3VsdCA9ICcnO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBudW07IGkrKykge1xyXG4gICAgICByZXN1bHQgKz0gd29yZDtcclxuICAgIH1cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICByZXBlYXRMZXR0ZXIod29yZDogc3RyaW5nLCBudW06IG51bWJlcikge1xyXG4gICAgbGV0IHJlc3VsdCA9ICcnO1xyXG4gICAgZm9yIChsZXQgbGV0dGVyIG9mIHdvcmQpIHtcclxuICAgICAgcmVzdWx0ICs9IHRoaXMucmVwZWF0V29yZChsZXR0ZXIsIG51bSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwieC1jb2xvci1waWNrZXItcG9ydGFsXCIgdGFiaW5kZXg9XCItMVwiIChjbGljayk9XCJzdG9wUHJvcGFnYXRpb24oJGV2ZW50KVwiPlxyXG4gIDxkaXYgI3BhbmVsUmVmIGNsYXNzPVwieC1jb2xvci1waWNrZXItcG9ydGFsLXBhbmVsXCI+XHJcbiAgICA8ZGl2ICNwbGF0ZVJlZiBjbGFzcz1cIngtY29sb3ItcGlja2VyLXBvcnRhbC1wbGF0ZVwiIChjbGljayk9XCJwbGF0ZUNsaWNrKCRldmVudClcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cIngtY29sb3ItcGlja2VyLXBvcnRhbC13aGl0ZVwiPjwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwieC1jb2xvci1waWNrZXItcG9ydGFsLWJsYWNrXCI+PC9kaXY+XHJcbiAgICAgIDxkaXZcclxuICAgICAgICAjZHJhZ0NvbVxyXG4gICAgICAgIGNsYXNzPVwieC1jb2xvci1waWNrZXItcG9ydGFsLWN1cnNvclwiXHJcbiAgICAgICAgW3N0eWxlLmxlZnQucHhdPVwidHJhbnNmb3JtLnhcIlxyXG4gICAgICAgIFtzdHlsZS50b3AucHhdPVwidHJhbnNmb3JtLnlcIlxyXG4gICAgICAgIGNka0RyYWdcclxuICAgICAgICBbY2RrRHJhZ0JvdW5kYXJ5XT1cInBhbmVsUmVmXCJcclxuICAgICAgICAoY2RrRHJhZ1N0YXJ0ZWQpPVwic3RhcnRlZCgpXCJcclxuICAgICAgICAoY2RrRHJhZ0VuZGVkKT1cImVuZGVkKClcIlxyXG4gICAgICAgIChjZGtEcmFnTW92ZWQpPVwibW92ZWQoJGV2ZW50KVwiXHJcbiAgICAgID48L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJ4LWNvbG9yLXBpY2tlci1wb3J0YWwtdG9vbFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIngtY29sb3ItcGlja2VyLXBvcnRhbC1vcGVyYXRpb25zXCI+XHJcbiAgICAgIDwhLS0gPHgtYnV0dG9uIGljb249XCJmdG8tZWRpdC0yXCIgb25seUljb24+PC94LWJ1dHRvbj4gLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ4LWNvbG9yLXBpY2tlci1wb3J0YWwtc2VsZWN0ZWRcIj5cclxuICAgICAgICA8ZGl2IFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cInZhbHVlXCI+PC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwieC1jb2xvci1waWNrZXItcG9ydGFsLWFyZWFcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwieC1jb2xvci1waWNrZXItcG9ydGFsLXNsaWRlclwiPlxyXG4gICAgICAgICAgPHgtc2xpZGVyLXNlbGVjdFxyXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cImhzbGEuaFwiXHJcbiAgICAgICAgICAgIG1pbj1cIjBcIlxyXG4gICAgICAgICAgICBtYXg9XCIzNjBcIlxyXG4gICAgICAgICAgICBzdGVwPVwiMVwiXHJcbiAgICAgICAgICAgIChkcmFnU3RhcnRFbWl0KT1cInN0YXJ0ZWQoKVwiXHJcbiAgICAgICAgICAgIChkcmFnRW5kRW1pdCk9XCJlbmRlZCgpXCJcclxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiaHVlQ2hhbmdlKClcIlxyXG4gICAgICAgICAgPjwveC1zbGlkZXItc2VsZWN0PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ4LWNvbG9yLXBpY2tlci1wb3J0YWwtdHJhbnNwYXJlbnRcIj5cclxuICAgICAgICAgIDx4LXNsaWRlci1zZWxlY3RcclxuICAgICAgICAgICAgI3RyYW5zcGFyZW50Q29tXHJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwiaHNsYS5hXCJcclxuICAgICAgICAgICAgbWluPVwiMFwiXHJcbiAgICAgICAgICAgIG1heD1cIjFcIlxyXG4gICAgICAgICAgICBzdGVwPVwiMC4wMVwiXHJcbiAgICAgICAgICAgIChkcmFnU3RhcnRlZCk9XCJzdGFydGVkKClcIlxyXG4gICAgICAgICAgICAoZHJhZ0VuZGVkKT1cImVuZGVkKClcIlxyXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJ0cmFuc3BhcmVudENoYW5nZSgpXCJcclxuICAgICAgICAgID48L3gtc2xpZGVyLXNlbGVjdD5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ4LWNvbG9yLXBpY2tlci1wb3J0YWwtYWxwaGFcIj48L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJ4LWNvbG9yLXBpY2tlci1wb3J0YWwtdHlwZVwiPlxyXG4gICAgICA8eC10YWJzIGFuaW1hdGVkPVwiZmFsc2VcIiBqdXN0aWZ5PVwiY2VudGVyXCI+XHJcbiAgICAgICAgPHgtdGFiIGxhYmVsPVwiSEVYXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwieC1jb2xvci1waWNrZXItcG9ydGFsLXR5cGUtY29udGVudFwiPlxyXG4gICAgICAgICAgICA8eC1pbnB1dCBbKG5nTW9kZWwpXT1cImhleFwiIChuZ01vZGVsQ2hhbmdlKT1cImhleENoYW5nZSgpXCI+PC94LWlucHV0PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC94LXRhYj5cclxuICAgICAgICA8eC10YWIgbGFiZWw9XCJSR0JBXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwieC1jb2xvci1waWNrZXItcG9ydGFsLXR5cGUtY29udGVudFwiPlxyXG4gICAgICAgICAgICA8eC1pbnB1dCBbKG5nTW9kZWwpXT1cInJnYmEuclwiIFtkaXNhYmxlZF09XCJ0cnVlXCI+PC94LWlucHV0PlxyXG4gICAgICAgICAgICA8eC1pbnB1dCBbKG5nTW9kZWwpXT1cInJnYmEuZ1wiIFtkaXNhYmxlZF09XCJ0cnVlXCI+PC94LWlucHV0PlxyXG4gICAgICAgICAgICA8eC1pbnB1dCBbKG5nTW9kZWwpXT1cInJnYmEuYlwiIFtkaXNhYmxlZF09XCJ0cnVlXCI+PC94LWlucHV0PlxyXG4gICAgICAgICAgICA8eC1pbnB1dCBbKG5nTW9kZWwpXT1cInJnYmEuYVwiIFtkaXNhYmxlZF09XCJ0cnVlXCI+PC94LWlucHV0PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC94LXRhYj5cclxuICAgICAgICA8eC10YWIgbGFiZWw9XCJIU0xBXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwieC1jb2xvci1waWNrZXItcG9ydGFsLXR5cGUtY29udGVudFwiPlxyXG4gICAgICAgICAgICA8eC1pbnB1dCBbKG5nTW9kZWwpXT1cImhzbGEuaFwiIFtkaXNhYmxlZF09XCJ0cnVlXCI+PC94LWlucHV0PlxyXG4gICAgICAgICAgICA8eC1pbnB1dCBbKG5nTW9kZWwpXT1cImhzbGEuc3BcIiBbZGlzYWJsZWRdPVwidHJ1ZVwiPjwveC1pbnB1dD5cclxuICAgICAgICAgICAgPHgtaW5wdXQgWyhuZ01vZGVsKV09XCJoc2xhLmxwXCIgW2Rpc2FibGVkXT1cInRydWVcIj48L3gtaW5wdXQ+XHJcbiAgICAgICAgICAgIDx4LWlucHV0IFsobmdNb2RlbCldPVwiaHNsYS5hXCIgW2Rpc2FibGVkXT1cInRydWVcIj48L3gtaW5wdXQ+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L3gtdGFiPlxyXG4gICAgICA8L3gtdGFicz5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|