tiny-ui 0.0.94 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +104 -44
- package/dist/styles/fonts/iconfont.eot +0 -0
- package/dist/styles/fonts/iconfont.ttf +0 -0
- package/dist/styles/fonts/iconfont.woff +0 -0
- package/dist/styles/index.css +8990 -6207
- package/dist/styles/index.css.map +1 -1
- package/dist/styles/index.min.css +1 -2
- package/dist/styles/index.min.css.map +1 -1
- package/dist/tiny.min.js +3 -7
- package/dist/tiny.min.js.LICENSE.txt +15 -0
- package/dist/tiny.min.js.map +1 -0
- package/es/_utils/components.d.ts +21 -0
- package/es/_utils/components.js +54 -0
- package/es/_utils/components.js.map +1 -0
- package/es/_utils/dom.d.ts +20 -0
- package/es/_utils/dom.js +51 -0
- package/es/_utils/dom.js.map +1 -0
- package/es/_utils/enum.d.ts +24 -0
- package/es/_utils/enum.js +26 -0
- package/es/_utils/enum.js.map +1 -0
- package/es/_utils/general.d.ts +24 -0
- package/es/_utils/general.js +49 -0
- package/es/_utils/general.js.map +1 -0
- package/es/_utils/hooks.d.ts +4 -0
- package/es/_utils/hooks.js +44 -0
- package/es/_utils/hooks.js.map +1 -0
- package/es/_utils/number.d.ts +6 -0
- package/es/_utils/number.js +9 -0
- package/es/_utils/number.js.map +1 -0
- package/es/_utils/object.d.ts +4 -0
- package/es/_utils/object.js +52 -0
- package/es/_utils/object.js.map +1 -0
- package/es/_utils/props.d.ts +9 -0
- package/es/_utils/props.js +2 -0
- package/es/_utils/props.js.map +1 -0
- package/es/_utils/use-locale.d.ts +2 -0
- package/es/_utils/use-locale.js +9 -0
- package/es/_utils/use-locale.js.map +1 -0
- package/es/_utils/use-theme.d.ts +7 -0
- package/es/_utils/use-theme.js +67 -0
- package/es/_utils/use-theme.js.map +1 -0
- package/es/_utils/use-virtual-scroll.d.ts +13 -0
- package/es/_utils/use-virtual-scroll.js +19 -0
- package/es/_utils/use-virtual-scroll.js.map +1 -0
- package/es/_utils/useCombobox.d.ts +27 -0
- package/es/_utils/useCombobox.js +86 -0
- package/es/_utils/useCombobox.js.map +1 -0
- package/es/_utils/warning.d.ts +1 -0
- package/es/_utils/warning.js +8 -0
- package/es/_utils/warning.js.map +1 -0
- package/es/alert/index.d.ts +4 -0
- package/es/alert/index.js +56 -0
- package/es/alert/index.js.map +1 -0
- package/es/alert/style/_index.scss +72 -0
- package/es/alert/style/_mixin.scss +5 -0
- package/es/alert/style/index.js.map +1 -0
- package/es/alert/types.d.ts +21 -0
- package/es/alert/types.js.map +1 -0
- package/es/anchor/anchor-context.d.ts +9 -0
- package/es/anchor/anchor-context.js +3 -0
- package/es/anchor/anchor-context.js.map +1 -0
- package/es/anchor/anchor-link.d.ts +4 -0
- package/es/anchor/anchor-link.js +26 -0
- package/es/anchor/anchor-link.js.map +1 -0
- package/es/anchor/anchor.d.ts +6 -0
- package/es/anchor/anchor.js +151 -0
- package/es/anchor/anchor.js.map +1 -0
- package/es/anchor/index.d.ts +7 -0
- package/es/anchor/index.js +6 -0
- package/es/anchor/index.js.map +1 -0
- package/es/anchor/style/_index.scss +83 -0
- package/es/anchor/style/css.js +3 -0
- package/es/anchor/style/index.d.ts +2 -0
- package/es/anchor/style/index.js +3 -0
- package/es/anchor/style/index.js.map +1 -0
- package/es/anchor/types.d.ts +20 -0
- package/es/anchor/types.js +2 -0
- package/es/anchor/types.js.map +1 -0
- package/es/aspect-ratio/index.d.ts +4 -0
- package/es/aspect-ratio/index.js +15 -0
- package/es/aspect-ratio/index.js.map +1 -0
- package/es/aspect-ratio/style/_index.scss +22 -0
- package/es/aspect-ratio/style/css.js +2 -0
- package/es/aspect-ratio/style/index.js +2 -0
- package/es/aspect-ratio/style/index.js.map +1 -0
- package/es/aspect-ratio/types.d.ts +8 -0
- package/es/aspect-ratio/types.js +2 -0
- package/es/aspect-ratio/types.js.map +1 -0
- package/es/auto-complete/auto-complete.d.ts +4 -0
- package/es/auto-complete/auto-complete.js +108 -0
- package/es/auto-complete/auto-complete.js.map +1 -0
- package/es/auto-complete/index.d.ts +2 -0
- package/es/auto-complete/index.js +2 -0
- package/es/auto-complete/index.js.map +1 -0
- package/es/auto-complete/style/_index.scss +58 -0
- package/es/auto-complete/style/css.js +2 -0
- package/es/auto-complete/style/index.d.ts +1 -0
- package/es/auto-complete/style/index.js +2 -0
- package/es/auto-complete/style/index.js.map +1 -0
- package/es/auto-complete/types.d.ts +26 -0
- package/es/auto-complete/types.js +2 -0
- package/es/auto-complete/types.js.map +1 -0
- package/es/avatar/avatar-group.d.ts +6 -0
- package/es/avatar/avatar-group.js +27 -0
- package/es/avatar/avatar-group.js.map +1 -0
- package/es/avatar/avatar.d.ts +4 -0
- package/es/avatar/avatar.js +77 -0
- package/es/avatar/avatar.js.map +1 -0
- package/es/avatar/index.d.ts +7 -0
- package/es/avatar/index.js +6 -0
- package/es/avatar/index.js.map +1 -0
- package/es/avatar/style/_index.scss +80 -0
- package/es/avatar/style/css.js +2 -0
- package/es/avatar/style/index.js +2 -0
- package/es/avatar/style/index.js.map +1 -0
- package/es/avatar/types.d.ts +22 -0
- package/es/avatar/types.js +2 -0
- package/es/avatar/types.js.map +1 -0
- package/es/back-top/index.d.ts +3 -0
- package/es/back-top/index.js +80 -0
- package/es/back-top/index.js.map +1 -0
- package/es/back-top/style/_index.scss +25 -0
- package/es/back-top/style/css.js +2 -0
- package/es/back-top/style/index.js +2 -0
- package/es/back-top/style/index.js.map +1 -0
- package/es/back-top/types.d.ts +9 -0
- package/es/back-top/types.js +2 -0
- package/es/back-top/types.js.map +1 -0
- package/es/badge/index.d.ts +4 -0
- package/es/badge/index.js +29 -0
- package/es/badge/index.js.map +1 -0
- package/es/badge/style/_index.scss +60 -0
- package/es/badge/style/_mixin.scss +11 -0
- package/es/badge/style/css.js +2 -0
- package/es/badge/style/index.js +2 -0
- package/es/badge/style/index.js.map +1 -0
- package/es/badge/types.d.ts +20 -0
- package/es/badge/types.js +2 -0
- package/es/badge/types.js.map +1 -0
- package/es/breadcrumb/breadcrumb-item.d.ts +7 -0
- package/es/breadcrumb/breadcrumb-item.js +15 -0
- package/es/breadcrumb/breadcrumb-item.js.map +1 -0
- package/es/breadcrumb/breadcrumb.d.ts +7 -0
- package/es/breadcrumb/breadcrumb.js +18 -0
- package/es/breadcrumb/breadcrumb.js.map +1 -0
- package/es/breadcrumb/index.d.ts +7 -0
- package/es/breadcrumb/index.js +6 -0
- package/es/breadcrumb/index.js.map +1 -0
- package/es/breadcrumb/style/_index.scss +38 -0
- package/es/breadcrumb/style/css.js +2 -0
- package/es/breadcrumb/style/index.js +2 -0
- package/es/breadcrumb/style/index.js.map +1 -0
- package/es/breadcrumb/types.d.ts +10 -0
- package/es/breadcrumb/types.js +2 -0
- package/es/breadcrumb/types.js.map +1 -0
- package/es/button/button-group.d.ts +4 -0
- package/es/button/button-group.js +33 -0
- package/es/button/button-group.js.map +1 -0
- package/es/button/button.d.ts +4 -0
- package/es/button/button.js +39 -0
- package/es/button/button.js.map +1 -0
- package/es/button/index.d.ts +7 -0
- package/es/button/index.js +6 -0
- package/es/button/index.js.map +1 -0
- package/es/button/style/_index.scss +215 -0
- package/es/button/style/_mixin.scss +45 -0
- package/es/button/style/css.js +2 -0
- package/es/button/style/index.js +2 -0
- package/es/button/style/index.js.map +1 -0
- package/es/button/types.d.ts +19 -0
- package/es/button/types.js +2 -0
- package/es/button/types.js.map +1 -0
- package/es/calendar/index.d.ts +4 -0
- package/es/calendar/index.js +117 -0
- package/es/calendar/index.js.map +1 -0
- package/es/calendar/style/_index.scss +190 -0
- package/es/calendar/style/css.js +2 -0
- package/es/calendar/style/index.js +2 -0
- package/es/calendar/style/index.js.map +1 -0
- package/es/calendar/types.d.ts +22 -0
- package/es/calendar/types.js +2 -0
- package/es/calendar/types.js.map +1 -0
- package/es/card/card-content.d.ts +7 -0
- package/es/card/card-content.js +8 -0
- package/es/card/card-content.js.map +1 -0
- package/es/card/card.d.ts +4 -0
- package/es/card/card.js +62 -0
- package/es/card/card.js.map +1 -0
- package/es/card/index.d.ts +7 -0
- package/es/card/index.js +6 -0
- package/es/card/index.js.map +1 -0
- package/es/card/style/_index.scss +57 -0
- package/es/card/style/_mixin.scss +4 -0
- package/es/card/style/css.js +2 -0
- package/es/card/style/index.js +2 -0
- package/es/card/style/index.js.map +1 -0
- package/es/card/types.d.ts +20 -0
- package/es/card/types.js +2 -0
- package/es/card/types.js.map +1 -0
- package/es/carousel/carousel-item.d.ts +9 -0
- package/es/carousel/carousel-item.js +8 -0
- package/es/carousel/carousel-item.js.map +1 -0
- package/es/carousel/carousel.d.ts +4 -0
- package/es/carousel/carousel.js +151 -0
- package/es/carousel/carousel.js.map +1 -0
- package/es/carousel/index.d.ts +9 -0
- package/es/carousel/index.js +6 -0
- package/es/carousel/index.js.map +1 -0
- package/es/carousel/style/_index.scss +158 -0
- package/es/carousel/style/css.js +2 -0
- package/es/carousel/style/index.js +2 -0
- package/es/carousel/style/index.js.map +1 -0
- package/es/carousel/types.d.ts +42 -0
- package/es/carousel/types.js +2 -0
- package/es/carousel/types.js.map +1 -0
- package/es/cascader/cascader.d.ts +4 -0
- package/es/cascader/cascader.js +173 -0
- package/es/cascader/cascader.js.map +1 -0
- package/es/cascader/index.d.ts +2 -0
- package/es/cascader/index.js +3 -0
- package/es/cascader/index.js.map +1 -0
- package/es/cascader/style/_index.scss +162 -0
- package/es/cascader/style/css.js +2 -0
- package/es/cascader/style/index.js +2 -0
- package/es/cascader/style/index.js.map +1 -0
- package/es/cascader/types.d.ts +26 -0
- package/es/cascader/types.js +2 -0
- package/es/cascader/types.js.map +1 -0
- package/es/checkbox/checkbox-group-context.d.ts +8 -0
- package/es/checkbox/checkbox-group-context.js +3 -0
- package/es/checkbox/checkbox-group-context.js.map +1 -0
- package/es/checkbox/checkbox-group.d.ts +4 -0
- package/es/checkbox/checkbox-group.js +34 -0
- package/es/checkbox/checkbox-group.js.map +1 -0
- package/es/checkbox/checkbox.d.ts +4 -0
- package/es/checkbox/checkbox.js +41 -0
- package/es/checkbox/checkbox.js.map +1 -0
- package/es/checkbox/index.d.ts +7 -0
- package/es/checkbox/index.js +6 -0
- package/es/checkbox/index.js.map +1 -0
- package/es/checkbox/style/_index.scss +139 -0
- package/es/checkbox/style/css.js +2 -0
- package/es/checkbox/style/index.js +2 -0
- package/es/checkbox/style/index.js.map +1 -0
- package/es/checkbox/types.d.ts +18 -0
- package/es/checkbox/types.js +2 -0
- package/es/checkbox/types.js.map +1 -0
- package/es/col/index.d.ts +2 -0
- package/es/col/index.js +3 -0
- package/es/col/index.js.map +1 -0
- package/es/collapse/collapse-context.d.ts +7 -0
- package/es/collapse/collapse-context.js +5 -0
- package/es/collapse/collapse-context.js.map +1 -0
- package/es/collapse/collapse-panel.d.ts +7 -0
- package/es/collapse/collapse-panel.js +60 -0
- package/es/collapse/collapse-panel.js.map +1 -0
- package/es/collapse/collapse.d.ts +4 -0
- package/es/collapse/collapse.js +74 -0
- package/es/collapse/collapse.js.map +1 -0
- package/es/collapse/index.d.ts +7 -0
- package/es/collapse/index.js +6 -0
- package/es/collapse/index.js.map +1 -0
- package/es/collapse/style/_index.scss +101 -0
- package/es/collapse/style/css.js +2 -0
- package/es/collapse/style/index.js +2 -0
- package/es/collapse/style/index.js.map +1 -0
- package/es/collapse/types.d.ts +23 -0
- package/es/collapse/types.js +2 -0
- package/es/collapse/types.js.map +1 -0
- package/es/collapse-transition/index.d.ts +10 -0
- package/es/collapse-transition/index.js +89 -0
- package/es/collapse-transition/index.js.map +1 -0
- package/es/collapse-transition/style/css.js +2 -0
- package/es/collapse-transition/style/index.js +2 -0
- package/es/collapse-transition/style/index.js.map +1 -0
- package/es/color-picker/color-picker.d.ts +4 -0
- package/es/color-picker/color-picker.js +163 -0
- package/es/color-picker/color-picker.js.map +1 -0
- package/es/color-picker/index.d.ts +2 -0
- package/es/color-picker/index.js +3 -0
- package/es/color-picker/index.js.map +1 -0
- package/es/color-picker/style/_index.scss +196 -0
- package/es/color-picker/style/css.js +2 -0
- package/es/color-picker/style/index.js +2 -0
- package/es/color-picker/style/index.js.map +1 -0
- package/es/color-picker/types.d.ts +24 -0
- package/es/color-picker/types.js +2 -0
- package/es/color-picker/types.js.map +1 -0
- package/es/color-picker/utils.d.ts +6 -0
- package/es/color-picker/utils.js +115 -0
- package/es/color-picker/utils.js.map +1 -0
- package/es/config-provider/config-context.d.ts +14 -0
- package/es/config-provider/config-context.js +8 -0
- package/es/config-provider/config-context.js.map +1 -0
- package/es/config-provider/index.d.ts +6 -0
- package/es/config-provider/index.js +23 -0
- package/es/config-provider/index.js.map +1 -0
- package/es/config-provider/types.d.ts +5 -0
- package/es/config-provider/types.js +2 -0
- package/es/config-provider/types.js.map +1 -0
- package/es/copy-to-clipboard/index.d.ts +7 -0
- package/es/copy-to-clipboard/index.js +47 -0
- package/es/copy-to-clipboard/index.js.map +1 -0
- package/es/copy-to-clipboard/types.d.ts +6 -0
- package/es/copy-to-clipboard/types.js +2 -0
- package/es/copy-to-clipboard/types.js.map +1 -0
- package/es/countdown/index.d.ts +4 -0
- package/es/countdown/index.js +42 -0
- package/es/countdown/index.js.map +1 -0
- package/es/countdown/types.d.ts +15 -0
- package/es/countdown/types.js +2 -0
- package/es/countdown/types.js.map +1 -0
- package/es/date-picker/index.d.ts +7 -0
- package/es/date-picker/index.js +142 -0
- package/es/date-picker/index.js.map +1 -0
- package/es/date-picker/picker-day.d.ts +11 -0
- package/es/date-picker/picker-day.js +26 -0
- package/es/date-picker/picker-day.js.map +1 -0
- package/es/date-picker/picker-header.d.ts +11 -0
- package/es/date-picker/picker-header.js +21 -0
- package/es/date-picker/picker-header.js.map +1 -0
- package/es/date-picker/picker-month.d.ts +9 -0
- package/es/date-picker/picker-month.js +18 -0
- package/es/date-picker/picker-month.js.map +1 -0
- package/es/date-picker/picker-year.d.ts +8 -0
- package/es/date-picker/picker-year.js +25 -0
- package/es/date-picker/picker-year.js.map +1 -0
- package/es/date-picker/style/_index.scss +272 -0
- package/es/date-picker/style/css.js +2 -0
- package/es/date-picker/style/index.js +2 -0
- package/es/date-picker/style/index.js.map +1 -0
- package/es/date-picker/types.d.ts +40 -0
- package/es/date-picker/types.js +2 -0
- package/es/date-picker/types.js.map +1 -0
- package/es/date-picker/utils.d.ts +32 -0
- package/es/date-picker/utils.js +122 -0
- package/es/date-picker/utils.js.map +1 -0
- package/es/descriptions/col.d.ts +12 -0
- package/es/descriptions/col.js +29 -0
- package/es/descriptions/col.js.map +1 -0
- package/es/descriptions/descriptions-item.d.ts +6 -0
- package/es/descriptions/descriptions-item.js +6 -0
- package/es/descriptions/descriptions-item.js.map +1 -0
- package/es/descriptions/descriptions.d.ts +7 -0
- package/es/descriptions/descriptions.js +51 -0
- package/es/descriptions/descriptions.js.map +1 -0
- package/es/descriptions/index.d.ts +7 -0
- package/es/descriptions/index.js +6 -0
- package/es/descriptions/index.js.map +1 -0
- package/es/descriptions/row.d.ts +13 -0
- package/es/descriptions/row.js +14 -0
- package/es/descriptions/row.js.map +1 -0
- package/es/descriptions/style/_index.scss +116 -0
- package/es/descriptions/style/css.js +2 -0
- package/es/descriptions/style/index.js +2 -0
- package/es/descriptions/style/index.js.map +1 -0
- package/es/descriptions/types.d.ts +15 -0
- package/es/descriptions/types.js +2 -0
- package/es/descriptions/types.js.map +1 -0
- package/es/divider/index.d.ts +4 -0
- package/es/divider/index.js +18 -0
- package/es/divider/index.js.map +1 -0
- package/es/divider/style/_index.scss +80 -0
- package/es/divider/style/css.js +2 -0
- package/es/divider/style/index.js +2 -0
- package/es/divider/style/index.js.map +1 -0
- package/es/divider/types.d.ts +9 -0
- package/es/divider/types.js +2 -0
- package/es/divider/types.js.map +1 -0
- package/es/drawer/index.d.ts +4 -0
- package/es/drawer/index.js +67 -0
- package/es/drawer/index.js.map +1 -0
- package/es/drawer/style/_index.scss +148 -0
- package/es/drawer/style/css.js +4 -0
- package/es/drawer/style/index.d.ts +2 -0
- package/es/drawer/style/index.js +4 -0
- package/es/drawer/style/index.js.map +1 -0
- package/es/drawer/types.d.ts +21 -0
- package/es/drawer/types.js +2 -0
- package/es/drawer/types.js.map +1 -0
- package/es/dropdown/index.d.ts +6 -0
- package/es/dropdown/index.js +101 -0
- package/es/dropdown/index.js.map +1 -0
- package/es/dropdown/style/_index.scss +37 -0
- package/es/dropdown/style/css.js +4 -0
- package/es/dropdown/style/index.d.ts +2 -0
- package/es/dropdown/style/index.js +4 -0
- package/es/dropdown/style/index.js.map +1 -0
- package/es/dropdown/types.d.ts +15 -0
- package/es/dropdown/types.js +2 -0
- package/es/dropdown/types.js.map +1 -0
- package/es/empty/index.d.ts +4 -0
- package/es/empty/index.js +28 -0
- package/es/empty/index.js.map +1 -0
- package/es/empty/style/_index.scss +26 -0
- package/es/empty/style/css.js +2 -0
- package/es/empty/style/index.js +2 -0
- package/es/empty/style/index.js.map +1 -0
- package/es/empty/types.d.ts +9 -0
- package/es/empty/types.js +2 -0
- package/es/empty/types.js.map +1 -0
- package/es/flex/index.d.ts +4 -0
- package/es/flex/index.js +29 -0
- package/es/flex/index.js.map +1 -0
- package/es/flex/style/_index.scss +5 -0
- package/es/flex/style/css.js +2 -0
- package/es/flex/style/index.js +2 -0
- package/es/flex/style/index.js.map +1 -0
- package/es/flex/types.d.ts +11 -0
- package/es/flex/types.js +2 -0
- package/es/flex/types.js.map +1 -0
- package/es/flip/flip-item.d.ts +6 -0
- package/es/flip/flip-item.js +8 -0
- package/es/flip/flip-item.js.map +1 -0
- package/es/flip/flip.d.ts +7 -0
- package/es/flip/flip.js +41 -0
- package/es/flip/flip.js.map +1 -0
- package/es/flip/index.d.ts +7 -0
- package/es/flip/index.js +6 -0
- package/es/flip/index.js.map +1 -0
- package/es/flip/style/_index.scss +61 -0
- package/es/flip/style/css.js +2 -0
- package/es/flip/style/index.js +2 -0
- package/es/flip/style/index.js.map +1 -0
- package/es/flip/types.d.ts +15 -0
- package/es/flip/types.js +2 -0
- package/es/flip/types.js.map +1 -0
- package/es/form/form-helper.d.ts +4 -0
- package/es/form/form-helper.js +51 -0
- package/es/form/form-helper.js.map +1 -0
- package/es/form/form-instance-context.d.ts +3 -0
- package/es/form/form-instance-context.js +4 -0
- package/es/form/form-instance-context.js.map +1 -0
- package/es/form/form-instance.d.ts +33 -0
- package/es/form/form-instance.js +74 -0
- package/es/form/form-instance.js.map +1 -0
- package/es/form/form-item.d.ts +6 -0
- package/es/form/form-item.js +90 -0
- package/es/form/form-item.js.map +1 -0
- package/es/form/form-options-context.d.ts +3 -0
- package/es/form/form-options-context.js +8 -0
- package/es/form/form-options-context.js.map +1 -0
- package/es/form/form.d.ts +6 -0
- package/es/form/form.js +37 -0
- package/es/form/form.js.map +1 -0
- package/es/form/index.d.ts +11 -0
- package/es/form/index.js +10 -0
- package/es/form/index.js.map +1 -0
- package/es/form/style/_index.scss +93 -0
- package/es/form/style/css.js +3 -0
- package/es/form/style/index.d.ts +2 -0
- package/es/form/style/index.js +3 -0
- package/es/form/style/index.js.map +1 -0
- package/es/form/types.d.ts +59 -0
- package/es/form/types.js +2 -0
- package/es/form/types.js.map +1 -0
- package/es/form/use-form.d.ts +2 -0
- package/es/form/use-form.js +5 -0
- package/es/form/use-form.js.map +1 -0
- package/es/grid/col.d.ts +4 -0
- package/es/grid/col.js +38 -0
- package/es/grid/col.js.map +1 -0
- package/es/grid/row.d.ts +4 -0
- package/es/grid/row.js +47 -0
- package/es/grid/row.js.map +1 -0
- package/es/grid/style/_index.scss +90 -0
- package/es/grid/style/css.js +2 -0
- package/es/grid/style/index.js +2 -0
- package/es/grid/style/index.js.map +1 -0
- package/es/grid/types.d.ts +29 -0
- package/es/grid/types.js +2 -0
- package/es/grid/types.js.map +1 -0
- package/es/icon/demo/icons.d.ts +2 -0
- package/es/icon/demo/icons.js +269 -0
- package/es/icon/demo/icons.js.map +1 -0
- package/es/icon/index.d.ts +4 -0
- package/es/icon/index.js +17 -0
- package/es/icon/index.js.map +1 -0
- package/es/icon/style/_index.scss +16 -0
- package/es/icon/style/css.js +2 -0
- package/es/icon/style/index.js +2 -0
- package/es/icon/style/index.js.map +1 -0
- package/es/icon/types.d.ts +10 -0
- package/es/icon/types.js +2 -0
- package/es/icon/types.js.map +1 -0
- package/es/image/index.d.ts +6 -0
- package/es/image/index.js +34 -0
- package/es/image/index.js.map +1 -0
- package/es/image/style/_index.scss +9 -0
- package/es/image/style/css.js +2 -0
- package/es/image/style/index.js +2 -0
- package/es/image/style/index.js.map +1 -0
- package/es/image/types.d.ts +13 -0
- package/es/image/types.js +2 -0
- package/es/image/types.js.map +1 -0
- package/es/index.d.ts +87 -0
- package/es/index.js +86 -0
- package/es/index.js.map +1 -0
- package/es/input/index.d.ts +9 -0
- package/es/input/index.js +8 -0
- package/es/input/index.js.map +1 -0
- package/es/input/input-group-addon.d.ts +7 -0
- package/es/input/input-group-addon.js +27 -0
- package/es/input/input-group-addon.js.map +1 -0
- package/es/input/input-group.d.ts +7 -0
- package/es/input/input-group.js +22 -0
- package/es/input/input-group.js.map +1 -0
- package/es/input/input.d.ts +4 -0
- package/es/input/input.js +66 -0
- package/es/input/input.js.map +1 -0
- package/es/input/style/_index.scss +180 -0
- package/es/input/style/_mixin.scss +38 -0
- package/es/input/style/css.js +2 -0
- package/es/input/style/index.js +2 -0
- package/es/input/style/index.js.map +1 -0
- package/es/input/types.d.ts +26 -0
- package/es/input/types.js +2 -0
- package/es/input/types.js.map +1 -0
- package/es/input-number/index.d.ts +4 -0
- package/es/input-number/index.js +62 -0
- package/es/input-number/index.js.map +1 -0
- package/es/input-number/style/_index.scss +142 -0
- package/es/input-number/style/css.js +3 -0
- package/es/input-number/style/index.d.ts +2 -0
- package/es/input-number/style/index.js +3 -0
- package/es/input-number/style/index.js.map +1 -0
- package/es/input-number/types.d.ts +16 -0
- package/es/input-number/types.js +2 -0
- package/es/input-number/types.js.map +1 -0
- package/es/input-password/index.d.ts +3 -0
- package/es/input-password/index.js +21 -0
- package/es/input-password/index.js.map +1 -0
- package/es/input-password/style/_index.scss +20 -0
- package/es/input-password/style/css.js +3 -0
- package/es/input-password/style/index.d.ts +2 -0
- package/es/input-password/style/index.js +3 -0
- package/es/input-password/style/index.js.map +1 -0
- package/es/input-password/types.d.ts +7 -0
- package/es/input-password/types.js +2 -0
- package/es/input-password/types.js.map +1 -0
- package/es/intl-provider/index.d.ts +8 -0
- package/es/intl-provider/index.js +8 -0
- package/es/intl-provider/index.js.map +1 -0
- package/es/intl-provider/intl-context.d.ts +4 -0
- package/es/intl-provider/intl-context.js +4 -0
- package/es/intl-provider/intl-context.js.map +1 -0
- package/es/intl-provider/with-locale.d.ts +8 -0
- package/es/intl-provider/with-locale.js +12 -0
- package/es/intl-provider/with-locale.js.map +1 -0
- package/es/keyboard/index.d.ts +4 -0
- package/es/keyboard/index.js +15 -0
- package/es/keyboard/index.js.map +1 -0
- package/es/keyboard/style/_index.scss +23 -0
- package/es/keyboard/style/css.js +2 -0
- package/es/keyboard/style/index.js +2 -0
- package/es/keyboard/style/index.js.map +1 -0
- package/es/keyboard/types.d.ts +5 -0
- package/es/keyboard/types.js +2 -0
- package/es/keyboard/types.js.map +1 -0
- package/es/layout/index.d.ts +10 -0
- package/es/layout/index.js +9 -0
- package/es/layout/index.js.map +1 -0
- package/es/layout/layout.d.ts +11 -0
- package/es/layout/layout.js +56 -0
- package/es/layout/layout.js.map +1 -0
- package/es/layout/sidebar-context.d.ts +7 -0
- package/es/layout/sidebar-context.js +8 -0
- package/es/layout/sidebar-context.js.map +1 -0
- package/es/layout/sidebar.d.ts +4 -0
- package/es/layout/sidebar.js +52 -0
- package/es/layout/sidebar.js.map +1 -0
- package/es/layout/style/_index.scss +82 -0
- package/es/layout/style/css.js +2 -0
- package/es/layout/style/index.js +2 -0
- package/es/layout/style/index.js.map +1 -0
- package/es/layout/types.d.ts +16 -0
- package/es/layout/types.js +2 -0
- package/es/layout/types.js.map +1 -0
- package/es/link/index.d.ts +7 -0
- package/es/link/index.js +21 -0
- package/es/link/index.js.map +1 -0
- package/es/link/style/_index.scss +17 -0
- package/es/link/style/css.js +2 -0
- package/es/link/style/index.js +2 -0
- package/es/link/style/index.js.map +1 -0
- package/es/link/types.d.ts +8 -0
- package/es/link/types.js +2 -0
- package/es/link/types.js.map +1 -0
- package/es/list/index.d.ts +9 -0
- package/es/list/index.js +8 -0
- package/es/list/index.js.map +1 -0
- package/es/list/list-item-meta.d.ts +7 -0
- package/es/list/list-item-meta.js +15 -0
- package/es/list/list-item-meta.js.map +1 -0
- package/es/list/list-item.d.ts +4 -0
- package/es/list/list-item.js +15 -0
- package/es/list/list-item.js.map +1 -0
- package/es/list/list.d.ts +4 -0
- package/es/list/list.js +92 -0
- package/es/list/list.js.map +1 -0
- package/es/list/style/_index.scss +172 -0
- package/es/list/style/css.js +2 -0
- package/es/list/style/index.js +2 -0
- package/es/list/style/index.js.map +1 -0
- package/es/list/types.d.ts +41 -0
- package/es/list/types.js +2 -0
- package/es/list/types.js.map +1 -0
- package/es/loader/index.d.ts +4 -0
- package/es/loader/index.js +25 -0
- package/es/loader/index.js.map +1 -0
- package/es/loader/indicator.d.ts +8 -0
- package/es/loader/indicator.js +7 -0
- package/es/loader/indicator.js.map +1 -0
- package/es/loader/style/_index.scss +142 -0
- package/es/loader/style/css.js +2 -0
- package/es/loader/style/index.js +2 -0
- package/es/loader/style/index.js.map +1 -0
- package/es/loader/types.d.ts +16 -0
- package/es/loader/types.js +2 -0
- package/es/loader/types.js.map +1 -0
- package/es/loading-bar/index.d.ts +6 -0
- package/es/loading-bar/index.js +80 -0
- package/es/loading-bar/index.js.map +1 -0
- package/es/loading-bar/loading-bar.d.ts +7 -0
- package/es/loading-bar/loading-bar.js +18 -0
- package/es/loading-bar/loading-bar.js.map +1 -0
- package/es/loading-bar/style/_index.scss +17 -0
- package/es/loading-bar/style/css.js +2 -0
- package/es/loading-bar/style/index.js +2 -0
- package/es/loading-bar/style/index.js.map +1 -0
- package/es/loading-bar/types.d.ts +6 -0
- package/es/loading-bar/types.js +2 -0
- package/es/loading-bar/types.js.map +1 -0
- package/es/locale/en_US.d.ts +3 -0
- package/es/locale/en_US.js +40 -0
- package/es/locale/en_US.js.map +1 -0
- package/es/locale/index.d.ts +3 -0
- package/es/locale/index.js +3 -0
- package/es/locale/index.js.map +1 -0
- package/es/locale/types.d.ts +38 -0
- package/es/locale/types.js +2 -0
- package/es/locale/types.js.map +1 -0
- package/es/locale/zh_CN.d.ts +3 -0
- package/es/locale/zh_CN.js +40 -0
- package/es/locale/zh_CN.js.map +1 -0
- package/es/menu/index.d.ts +13 -0
- package/es/menu/index.js +12 -0
- package/es/menu/index.js.map +1 -0
- package/es/menu/menu-context.d.ts +10 -0
- package/es/menu/menu-context.js +7 -0
- package/es/menu/menu-context.js.map +1 -0
- package/es/menu/menu-divider.d.ts +6 -0
- package/es/menu/menu-divider.js +15 -0
- package/es/menu/menu-divider.js.map +1 -0
- package/es/menu/menu-item-group.d.ts +6 -0
- package/es/menu/menu-item-group.js +36 -0
- package/es/menu/menu-item-group.js.map +1 -0
- package/es/menu/menu-item.d.ts +6 -0
- package/es/menu/menu-item.js +39 -0
- package/es/menu/menu-item.js.map +1 -0
- package/es/menu/menu.d.ts +6 -0
- package/es/menu/menu.js +42 -0
- package/es/menu/menu.js.map +1 -0
- package/es/menu/style/_index.scss +183 -0
- package/es/menu/style/_mixin.scss +16 -0
- package/es/menu/style/css.js +4 -0
- package/es/menu/style/index.d.ts +3 -0
- package/es/menu/style/index.js +4 -0
- package/es/menu/style/index.js.map +1 -0
- package/es/menu/sub-menu-context.d.ts +7 -0
- package/es/menu/sub-menu-context.js +3 -0
- package/es/menu/sub-menu-context.js.map +1 -0
- package/es/menu/sub-menu.d.ts +6 -0
- package/es/menu/sub-menu.js +102 -0
- package/es/menu/sub-menu.js.map +1 -0
- package/es/menu/types.d.ts +32 -0
- package/es/menu/types.js +2 -0
- package/es/menu/types.js.map +1 -0
- package/es/message/index.d.ts +10 -0
- package/es/message/index.js +63 -0
- package/es/message/index.js.map +1 -0
- package/es/message/message.d.ts +6 -0
- package/es/message/message.js +52 -0
- package/es/message/message.js.map +1 -0
- package/es/message/style/_index.scss +59 -0
- package/es/message/style/css.js +2 -0
- package/es/message/style/index.js +2 -0
- package/es/message/style/index.js.map +1 -0
- package/es/message/types.d.ts +11 -0
- package/es/message/types.js +2 -0
- package/es/message/types.js.map +1 -0
- package/es/modal/index.d.ts +12 -0
- package/es/modal/index.js +86 -0
- package/es/modal/index.js.map +1 -0
- package/es/modal/modal-context.d.ts +30 -0
- package/es/modal/modal-context.js +38 -0
- package/es/modal/modal-context.js.map +1 -0
- package/es/modal/style/_index.scss +115 -0
- package/es/modal/style/css.js +5 -0
- package/es/modal/style/index.d.ts +3 -0
- package/es/modal/style/index.js +5 -0
- package/es/modal/style/index.js.map +1 -0
- package/es/modal/types.d.ts +33 -0
- package/es/modal/types.js +2 -0
- package/es/modal/types.js.map +1 -0
- package/es/native-select/index.d.ts +9 -0
- package/es/native-select/index.js +8 -0
- package/es/native-select/index.js.map +1 -0
- package/es/native-select/native-opt-group.d.ts +5 -0
- package/es/native-select/native-opt-group.js +8 -0
- package/es/native-select/native-opt-group.js.map +1 -0
- package/es/native-select/native-option.d.ts +5 -0
- package/es/native-select/native-option.js +8 -0
- package/es/native-select/native-option.js.map +1 -0
- package/es/native-select/native-select.d.ts +4 -0
- package/es/native-select/native-select.js +23 -0
- package/es/native-select/native-select.js.map +1 -0
- package/es/native-select/style/_index.scss +65 -0
- package/es/native-select/style/css.js +2 -0
- package/es/native-select/style/index.js +2 -0
- package/es/native-select/style/index.js.map +1 -0
- package/es/native-select/types.d.ts +8 -0
- package/es/native-select/types.js +2 -0
- package/es/native-select/types.js.map +1 -0
- package/es/notification/index.d.ts +2 -0
- package/es/notification/index.js +74 -0
- package/es/notification/index.js.map +1 -0
- package/es/notification/notification.d.ts +3 -0
- package/es/notification/notification.js +52 -0
- package/es/notification/notification.js.map +1 -0
- package/es/notification/style/_index.scss +66 -0
- package/es/notification/style/css.js +2 -0
- package/es/notification/style/index.js +2 -0
- package/es/notification/style/index.js.map +1 -0
- package/es/notification/types.d.ts +16 -0
- package/es/notification/types.js +2 -0
- package/es/notification/types.js.map +1 -0
- package/es/overlay/index.d.ts +6 -0
- package/es/overlay/index.js +26 -0
- package/es/overlay/index.js.map +1 -0
- package/es/overlay/style/_index.scss +51 -0
- package/es/overlay/style/css.js +2 -0
- package/es/overlay/style/index.js +2 -0
- package/es/overlay/style/index.js.map +1 -0
- package/es/overlay/types.d.ts +16 -0
- package/es/overlay/types.js +2 -0
- package/es/overlay/types.js.map +1 -0
- package/es/pagination/index.d.ts +3 -0
- package/es/pagination/index.js +116 -0
- package/es/pagination/index.js.map +1 -0
- package/es/pagination/style/_index.scss +143 -0
- package/es/pagination/style/css.js +2 -0
- package/es/pagination/style/index.js +2 -0
- package/es/pagination/style/index.js.map +1 -0
- package/es/pagination/types.d.ts +15 -0
- package/es/pagination/types.js +2 -0
- package/es/pagination/types.js.map +1 -0
- package/es/pop-confirm/index.d.ts +6 -0
- package/es/pop-confirm/index.js +35 -0
- package/es/pop-confirm/index.js.map +1 -0
- package/es/pop-confirm/style/_index.scss +25 -0
- package/es/pop-confirm/style/css.js +5 -0
- package/es/pop-confirm/style/index.d.ts +3 -0
- package/es/pop-confirm/style/index.js +5 -0
- package/es/pop-confirm/style/index.js.map +1 -0
- package/es/pop-confirm/types.d.ts +9 -0
- package/es/pop-confirm/types.js +2 -0
- package/es/pop-confirm/types.js.map +1 -0
- package/es/popover/index.d.ts +4 -0
- package/es/popover/index.js +17 -0
- package/es/popover/index.js.map +1 -0
- package/es/popover/style/_index.scss +42 -0
- package/es/popover/style/css.js +4 -0
- package/es/popover/style/index.d.ts +2 -0
- package/es/popover/style/index.js +4 -0
- package/es/popover/style/index.js.map +1 -0
- package/es/popover/types.d.ts +9 -0
- package/es/popover/types.js +2 -0
- package/es/popover/types.js.map +1 -0
- package/es/popup/index.d.ts +3 -0
- package/es/popup/index.js +196 -0
- package/es/popup/index.js.map +1 -0
- package/es/popup/style/_index.scss +84 -0
- package/es/popup/style/css.js +4 -0
- package/es/popup/style/index.d.ts +2 -0
- package/es/popup/style/index.js +4 -0
- package/es/popup/style/index.js.map +1 -0
- package/es/popup/types.d.ts +31 -0
- package/es/popup/types.js +2 -0
- package/es/popup/types.js.map +1 -0
- package/es/portal/index.d.ts +7 -0
- package/es/portal/index.js +7 -0
- package/es/portal/index.js.map +1 -0
- package/es/progress/bar.d.ts +7 -0
- package/es/progress/bar.js +44 -0
- package/es/progress/bar.js.map +1 -0
- package/es/progress/circle.d.ts +7 -0
- package/es/progress/circle.js +44 -0
- package/es/progress/circle.js.map +1 -0
- package/es/progress/index.d.ts +11 -0
- package/es/progress/index.js +8 -0
- package/es/progress/index.js.map +1 -0
- package/es/progress/style/_index.scss +170 -0
- package/es/progress/style/css.js +2 -0
- package/es/progress/style/index.js +2 -0
- package/es/progress/style/index.js.map +1 -0
- package/es/progress/types.d.ts +32 -0
- package/es/progress/types.js +2 -0
- package/es/progress/types.js.map +1 -0
- package/es/radio/index.d.ts +7 -0
- package/es/radio/index.js +6 -0
- package/es/radio/index.js.map +1 -0
- package/es/radio/radio-group-context.d.ts +9 -0
- package/es/radio/radio-group-context.js +3 -0
- package/es/radio/radio-group-context.js.map +1 -0
- package/es/radio/radio-group.d.ts +4 -0
- package/es/radio/radio-group.js +32 -0
- package/es/radio/radio-group.js.map +1 -0
- package/es/radio/radio.d.ts +4 -0
- package/es/radio/radio.js +38 -0
- package/es/radio/radio.js.map +1 -0
- package/es/radio/style/_index.scss +86 -0
- package/es/radio/style/css.js +2 -0
- package/es/radio/style/index.js +2 -0
- package/es/radio/style/index.js.map +1 -0
- package/es/radio/types.d.ts +19 -0
- package/es/radio/types.js +2 -0
- package/es/radio/types.js.map +1 -0
- package/es/rate/index.d.ts +4 -0
- package/es/rate/index.js +69 -0
- package/es/rate/index.js.map +1 -0
- package/es/rate/rate-item.d.ts +16 -0
- package/es/rate/rate-item.js +12 -0
- package/es/rate/rate-item.js.map +1 -0
- package/es/rate/style/_index.scss +31 -0
- package/es/rate/style/css.js +2 -0
- package/es/rate/style/index.js +2 -0
- package/es/rate/style/index.js.map +1 -0
- package/es/rate/types.d.ts +15 -0
- package/es/rate/types.js +2 -0
- package/es/rate/types.js.map +1 -0
- package/es/result/index.d.ts +4 -0
- package/es/result/index.js +37 -0
- package/es/result/index.js.map +1 -0
- package/es/result/style/_index.scss +48 -0
- package/es/result/style/css.js +2 -0
- package/es/result/style/index.js +2 -0
- package/es/result/style/index.js.map +1 -0
- package/es/result/types.d.ts +11 -0
- package/es/result/types.js +2 -0
- package/es/result/types.js.map +1 -0
- package/es/row/index.d.ts +2 -0
- package/es/row/index.js +3 -0
- package/es/row/index.js.map +1 -0
- package/es/scroll-indicator/index.d.ts +7 -0
- package/es/scroll-indicator/index.js +38 -0
- package/es/scroll-indicator/index.js.map +1 -0
- package/es/scroll-indicator/style/_index.scss +15 -0
- package/es/scroll-indicator/style/css.js +2 -0
- package/es/scroll-indicator/style/index.js +2 -0
- package/es/scroll-indicator/style/index.js.map +1 -0
- package/es/scroll-indicator/types.d.ts +7 -0
- package/es/scroll-indicator/types.js +2 -0
- package/es/scroll-indicator/types.js.map +1 -0
- package/es/segmented/index.d.ts +2 -0
- package/es/segmented/index.js +3 -0
- package/es/segmented/index.js.map +1 -0
- package/es/segmented/segmented.d.ts +4 -0
- package/es/segmented/segmented.js +52 -0
- package/es/segmented/segmented.js.map +1 -0
- package/es/segmented/style/_index.scss +93 -0
- package/es/segmented/style/css.js +2 -0
- package/es/segmented/style/index.js +2 -0
- package/es/segmented/style/index.js.map +1 -0
- package/es/segmented/types.d.ts +18 -0
- package/es/segmented/types.js +2 -0
- package/es/segmented/types.js.map +1 -0
- package/es/select/index.d.ts +9 -0
- package/es/select/index.js +8 -0
- package/es/select/index.js.map +1 -0
- package/es/select/opt-group.d.ts +7 -0
- package/es/select/opt-group.js +30 -0
- package/es/select/opt-group.js.map +1 -0
- package/es/select/option.d.ts +7 -0
- package/es/select/option.js +34 -0
- package/es/select/option.js.map +1 -0
- package/es/select/select-context.d.ts +10 -0
- package/es/select/select-context.js +7 -0
- package/es/select/select-context.js.map +1 -0
- package/es/select/select.d.ts +7 -0
- package/es/select/select.js +309 -0
- package/es/select/select.js.map +1 -0
- package/es/select/style/_index.scss +313 -0
- package/es/select/style/css.js +4 -0
- package/es/select/style/index.d.ts +3 -0
- package/es/select/style/index.js +4 -0
- package/es/select/style/index.js.map +1 -0
- package/es/select/types.d.ts +48 -0
- package/es/select/types.js +2 -0
- package/es/select/types.js.map +1 -0
- package/es/skeleton/index.d.ts +4 -0
- package/es/skeleton/index.js +18 -0
- package/es/skeleton/index.js.map +1 -0
- package/es/skeleton/style/_index.scss +42 -0
- package/es/skeleton/style/css.js +2 -0
- package/es/skeleton/style/index.js +2 -0
- package/es/skeleton/style/index.js.map +1 -0
- package/es/skeleton/types.d.ts +7 -0
- package/es/skeleton/types.js +2 -0
- package/es/skeleton/types.js.map +1 -0
- package/es/slider/index.d.ts +4 -0
- package/es/slider/index.js +247 -0
- package/es/slider/index.js.map +1 -0
- package/es/slider/style/_index.scss +177 -0
- package/es/slider/style/css.js +4 -0
- package/es/slider/style/index.d.ts +2 -0
- package/es/slider/style/index.js +4 -0
- package/es/slider/style/index.js.map +1 -0
- package/es/slider/types.d.ts +28 -0
- package/es/slider/types.js +2 -0
- package/es/slider/types.js.map +1 -0
- package/es/space/index.d.ts +4 -0
- package/es/space/index.js +29 -0
- package/es/space/index.js.map +1 -0
- package/es/space/style/_index.scss +25 -0
- package/es/space/style/css.js +2 -0
- package/es/space/style/index.js +2 -0
- package/es/space/style/index.js.map +1 -0
- package/es/space/types.d.ts +9 -0
- package/es/space/types.js +2 -0
- package/es/space/types.js.map +1 -0
- package/es/speed-dial/index.d.ts +7 -0
- package/es/speed-dial/index.js +6 -0
- package/es/speed-dial/index.js.map +1 -0
- package/es/speed-dial/speed-dial-action.d.ts +4 -0
- package/es/speed-dial/speed-dial-action.js +26 -0
- package/es/speed-dial/speed-dial-action.js.map +1 -0
- package/es/speed-dial/speed-dial-context.d.ts +5 -0
- package/es/speed-dial/speed-dial-context.js +5 -0
- package/es/speed-dial/speed-dial-context.js.map +1 -0
- package/es/speed-dial/speed-dial.d.ts +4 -0
- package/es/speed-dial/speed-dial.js +78 -0
- package/es/speed-dial/speed-dial.js.map +1 -0
- package/es/speed-dial/style/_index.scss +230 -0
- package/es/speed-dial/style/css.js +2 -0
- package/es/speed-dial/style/index.d.ts +1 -0
- package/es/speed-dial/style/index.js +2 -0
- package/es/speed-dial/style/index.js.map +1 -0
- package/es/speed-dial/types.d.ts +21 -0
- package/es/speed-dial/types.js +2 -0
- package/es/speed-dial/types.js.map +1 -0
- package/es/split/index.d.ts +2 -0
- package/es/split/index.js +3 -0
- package/es/split/index.js.map +1 -0
- package/es/split/resizer.d.ts +12 -0
- package/es/split/resizer.js +40 -0
- package/es/split/resizer.js.map +1 -0
- package/es/split/split-context.d.ts +7 -0
- package/es/split/split-context.js +3 -0
- package/es/split/split-context.js.map +1 -0
- package/es/split/split-pane.d.ts +7 -0
- package/es/split/split-pane.js +26 -0
- package/es/split/split-pane.js.map +1 -0
- package/es/split/split.d.ts +6 -0
- package/es/split/split.js +121 -0
- package/es/split/split.js.map +1 -0
- package/es/split/style/_index.scss +98 -0
- package/es/split/style/css.js +2 -0
- package/es/split/style/index.js +2 -0
- package/es/split/style/index.js.map +1 -0
- package/es/split/types.d.ts +25 -0
- package/es/split/types.js +2 -0
- package/es/split/types.js.map +1 -0
- package/es/split-button/index.d.ts +7 -0
- package/es/split-button/index.js +19 -0
- package/es/split-button/index.js.map +1 -0
- package/es/split-button/style/_index.scss +9 -0
- package/es/split-button/style/css.js +5 -0
- package/es/split-button/style/index.d.ts +3 -0
- package/es/split-button/style/index.js +5 -0
- package/es/split-button/style/index.js.map +1 -0
- package/es/split-button/types.d.ts +15 -0
- package/es/split-button/types.js +2 -0
- package/es/split-button/types.js.map +1 -0
- package/es/statistic/index.d.ts +2 -0
- package/es/statistic/index.js +3 -0
- package/es/statistic/index.js.map +1 -0
- package/es/statistic/statistic.d.ts +4 -0
- package/es/statistic/statistic.js +34 -0
- package/es/statistic/statistic.js.map +1 -0
- package/es/statistic/style/_index.scss +31 -0
- package/es/statistic/style/css.js +2 -0
- package/es/statistic/style/index.js +2 -0
- package/es/statistic/style/index.js.map +1 -0
- package/es/statistic/types.d.ts +12 -0
- package/es/statistic/types.js +2 -0
- package/es/statistic/types.js.map +1 -0
- package/es/steps/index.d.ts +7 -0
- package/es/steps/index.js +6 -0
- package/es/steps/index.js.map +1 -0
- package/es/steps/steps-context.d.ts +12 -0
- package/es/steps/steps-context.js +8 -0
- package/es/steps/steps-context.js.map +1 -0
- package/es/steps/steps-item.d.ts +4 -0
- package/es/steps/steps-item.js +60 -0
- package/es/steps/steps-item.js.map +1 -0
- package/es/steps/steps.d.ts +4 -0
- package/es/steps/steps.js +42 -0
- package/es/steps/steps.js.map +1 -0
- package/es/steps/style/_index.scss +208 -0
- package/es/steps/style/css.js +2 -0
- package/es/steps/style/index.js +2 -0
- package/es/steps/style/index.js.map +1 -0
- package/es/steps/types.d.ts +19 -0
- package/es/steps/types.js +2 -0
- package/es/steps/types.js.map +1 -0
- package/es/sticky/index.d.ts +6 -0
- package/es/sticky/index.js +127 -0
- package/es/sticky/index.js.map +1 -0
- package/es/sticky/style/_index.scss +8 -0
- package/es/sticky/style/css.js +2 -0
- package/es/sticky/style/index.js +2 -0
- package/es/sticky/style/index.js.map +1 -0
- package/es/sticky/types.d.ts +9 -0
- package/es/sticky/types.js +2 -0
- package/es/sticky/types.js.map +1 -0
- package/es/strength-indicator/index.d.ts +4 -0
- package/es/strength-indicator/index.js +24 -0
- package/es/strength-indicator/index.js.map +1 -0
- package/es/strength-indicator/style/_index.scss +46 -0
- package/es/strength-indicator/style/css.js +2 -0
- package/es/strength-indicator/style/index.js +2 -0
- package/es/strength-indicator/style/index.js.map +1 -0
- package/es/strength-indicator/types.d.ts +12 -0
- package/es/strength-indicator/types.js +2 -0
- package/es/strength-indicator/types.js.map +1 -0
- package/es/style/_animation.scss +31 -0
- package/es/style/_component.scss +78 -0
- package/es/style/_font.scss +981 -0
- package/es/style/_mixins.scss +13 -0
- package/es/style/_normalise.scss +405 -0
- package/es/style/_theme.scss +26 -0
- package/es/style/_tokens.scss +61 -0
- package/es/style/_variables.scss +266 -0
- package/es/style/fonts/iconfont.eot +0 -0
- package/es/style/fonts/iconfont.ttf +0 -0
- package/es/style/fonts/iconfont.woff +0 -0
- package/es/style/index.css +10104 -0
- package/es/style/index.scss +7 -0
- package/es/style/themes/_dark.scss +380 -0
- package/es/style/themes/_light.scss +380 -0
- package/es/switch/index.d.ts +4 -0
- package/es/switch/index.js +37 -0
- package/es/switch/index.js.map +1 -0
- package/es/switch/style/_index.scss +144 -0
- package/es/switch/style/_mixin.scss +16 -0
- package/es/switch/style/css.js +2 -0
- package/es/switch/style/index.js +2 -0
- package/es/switch/style/index.js.map +1 -0
- package/es/switch/types.d.ts +13 -0
- package/es/switch/types.js +2 -0
- package/es/switch/types.js.map +1 -0
- package/es/table/index.d.ts +2 -0
- package/es/table/index.js +3 -0
- package/es/table/index.js.map +1 -0
- package/es/table/style/_index.scss +181 -0
- package/es/table/style/css.js +2 -0
- package/es/table/style/index.js +2 -0
- package/es/table/style/index.js.map +1 -0
- package/es/table/table.d.ts +4 -0
- package/es/table/table.js +226 -0
- package/es/table/table.js.map +1 -0
- package/es/table/types.d.ts +53 -0
- package/es/table/types.js +2 -0
- package/es/table/types.js.map +1 -0
- package/es/tabs/index.d.ts +8 -0
- package/es/tabs/index.js +6 -0
- package/es/tabs/index.js.map +1 -0
- package/es/tabs/style/css.js +2 -0
- package/es/tabs/style/index.css +241 -0
- package/es/tabs/style/index.js +2 -0
- package/es/tabs/style/index.js.map +1 -0
- package/es/tabs/style/index.scss +315 -0
- package/es/tabs/tab-panel.d.ts +6 -0
- package/es/tabs/tab-panel.js +20 -0
- package/es/tabs/tab-panel.js.map +1 -0
- package/es/tabs/tabs.d.ts +4 -0
- package/es/tabs/tabs.js +224 -0
- package/es/tabs/tabs.js.map +1 -0
- package/es/tabs/types.d.ts +64 -0
- package/es/tabs/types.js +2 -0
- package/es/tabs/types.js.map +1 -0
- package/es/tag/checkable-tag.d.ts +6 -0
- package/es/tag/checkable-tag.js +30 -0
- package/es/tag/checkable-tag.js.map +1 -0
- package/es/tag/index.d.ts +7 -0
- package/es/tag/index.js +6 -0
- package/es/tag/index.js.map +1 -0
- package/es/tag/style/_index.scss +119 -0
- package/es/tag/style/css.js +2 -0
- package/es/tag/style/index.d.ts +1 -0
- package/es/tag/style/index.js +2 -0
- package/es/tag/style/index.js.map +1 -0
- package/es/tag/tag.d.ts +4 -0
- package/es/tag/tag.js +41 -0
- package/es/tag/tag.js.map +1 -0
- package/es/tag/types.d.ts +18 -0
- package/es/tag/types.js +14 -0
- package/es/tag/types.js.map +1 -0
- package/es/textarea/index.d.ts +4 -0
- package/es/textarea/index.js +27 -0
- package/es/textarea/index.js.map +1 -0
- package/es/textarea/style/_index.scss +28 -0
- package/es/textarea/style/css.js +4 -0
- package/es/textarea/style/index.d.ts +2 -0
- package/es/textarea/style/index.js +4 -0
- package/es/textarea/style/index.js.map +1 -0
- package/es/textarea/types.d.ts +11 -0
- package/es/textarea/types.js +2 -0
- package/es/textarea/types.js.map +1 -0
- package/es/time-picker/index.d.ts +4 -0
- package/es/time-picker/index.js +3 -0
- package/es/time-picker/index.js.map +1 -0
- package/es/time-picker/style/_index.scss +212 -0
- package/es/time-picker/style/css.js +2 -0
- package/es/time-picker/style/index.d.ts +1 -0
- package/es/time-picker/style/index.js +2 -0
- package/es/time-picker/style/index.js.map +1 -0
- package/es/time-picker/time-panel.d.ts +9 -0
- package/es/time-picker/time-panel.js +39 -0
- package/es/time-picker/time-panel.js.map +1 -0
- package/es/time-picker/time-picker.d.ts +6 -0
- package/es/time-picker/time-picker.js +115 -0
- package/es/time-picker/time-picker.js.map +1 -0
- package/es/time-picker/types.d.ts +47 -0
- package/es/time-picker/types.js +2 -0
- package/es/time-picker/types.js.map +1 -0
- package/es/timeline/index.d.ts +7 -0
- package/es/timeline/index.js +6 -0
- package/es/timeline/index.js.map +1 -0
- package/es/timeline/style/_index.scss +91 -0
- package/es/timeline/style/css.js +2 -0
- package/es/timeline/style/index.d.ts +1 -0
- package/es/timeline/style/index.js +2 -0
- package/es/timeline/style/index.js.map +1 -0
- package/es/timeline/timeline-item.d.ts +4 -0
- package/es/timeline/timeline-item.js +15 -0
- package/es/timeline/timeline-item.js.map +1 -0
- package/es/timeline/timeline.d.ts +4 -0
- package/es/timeline/timeline.js +32 -0
- package/es/timeline/timeline.js.map +1 -0
- package/es/timeline/types.d.ts +12 -0
- package/es/timeline/types.js +2 -0
- package/es/timeline/types.js.map +1 -0
- package/es/tooltip/index.d.ts +4 -0
- package/es/tooltip/index.js +17 -0
- package/es/tooltip/index.js.map +1 -0
- package/es/tooltip/style/_index.scss +41 -0
- package/es/tooltip/style/css.js +4 -0
- package/es/tooltip/style/index.d.ts +2 -0
- package/es/tooltip/style/index.js +4 -0
- package/es/tooltip/style/index.js.map +1 -0
- package/es/tooltip/types.d.ts +7 -0
- package/es/tooltip/types.js +2 -0
- package/es/tooltip/types.js.map +1 -0
- package/es/transfer/index.d.ts +2 -0
- package/es/transfer/index.js +3 -0
- package/es/transfer/index.js.map +1 -0
- package/es/transfer/style/_index.scss +98 -0
- package/es/transfer/style/css.js +6 -0
- package/es/transfer/style/index.d.ts +5 -0
- package/es/transfer/style/index.js +6 -0
- package/es/transfer/style/index.js.map +1 -0
- package/es/transfer/transfer-panel.d.ts +17 -0
- package/es/transfer/transfer-panel.js +57 -0
- package/es/transfer/transfer-panel.js.map +1 -0
- package/es/transfer/transfer.d.ts +4 -0
- package/es/transfer/transfer.js +72 -0
- package/es/transfer/transfer.js.map +1 -0
- package/es/transfer/types.d.ts +20 -0
- package/es/transfer/types.js +2 -0
- package/es/transfer/types.js.map +1 -0
- package/es/transition/index.d.ts +17 -0
- package/es/transition/index.js +9 -0
- package/es/transition/index.js.map +1 -0
- package/es/transition/style/_index.scss +20 -0
- package/es/transition/style/_mixin.scss +58 -0
- package/es/transition/style/css.js +2 -0
- package/es/transition/style/index.d.ts +1 -0
- package/es/transition/style/index.js +2 -0
- package/es/transition/style/index.js.map +1 -0
- package/es/tree/index.d.ts +2 -0
- package/es/tree/index.js +3 -0
- package/es/tree/index.js.map +1 -0
- package/es/tree/style/_index.scss +66 -0
- package/es/tree/style/css.js +4 -0
- package/es/tree/style/index.d.ts +3 -0
- package/es/tree/style/index.js +4 -0
- package/es/tree/style/index.js.map +1 -0
- package/es/tree/tree-instance.d.ts +33 -0
- package/es/tree/tree-instance.js +131 -0
- package/es/tree/tree-instance.js.map +1 -0
- package/es/tree/tree-node.d.ts +20 -0
- package/es/tree/tree-node.js +37 -0
- package/es/tree/tree-node.js.map +1 -0
- package/es/tree/tree.d.ts +4 -0
- package/es/tree/tree.js +32 -0
- package/es/tree/tree.js.map +1 -0
- package/es/tree/types.d.ts +23 -0
- package/es/tree/types.js +2 -0
- package/es/tree/types.js.map +1 -0
- package/es/typography/heading.d.ts +3 -0
- package/es/typography/heading.js +31 -0
- package/es/typography/heading.js.map +1 -0
- package/es/typography/index.d.ts +11 -0
- package/es/typography/index.js +10 -0
- package/es/typography/index.js.map +1 -0
- package/es/typography/paragraph.d.ts +4 -0
- package/es/typography/paragraph.js +15 -0
- package/es/typography/paragraph.js.map +1 -0
- package/es/typography/style/_index.scss +126 -0
- package/es/typography/style/css.js +2 -0
- package/es/typography/style/index.d.ts +1 -0
- package/es/typography/style/index.js +2 -0
- package/es/typography/style/index.js.map +1 -0
- package/es/typography/text.d.ts +3 -0
- package/es/typography/text.js +27 -0
- package/es/typography/text.js.map +1 -0
- package/es/typography/types.d.ts +23 -0
- package/es/typography/types.js +2 -0
- package/es/typography/types.js.map +1 -0
- package/es/typography/typography.d.ts +4 -0
- package/es/typography/typography.js +15 -0
- package/es/typography/typography.js.map +1 -0
- package/es/upload/ajax.d.ts +18 -0
- package/es/upload/ajax.js +36 -0
- package/es/upload/ajax.js.map +1 -0
- package/es/upload/dragger-cover.d.ts +12 -0
- package/es/upload/dragger-cover.js +28 -0
- package/es/upload/dragger-cover.js.map +1 -0
- package/es/upload/index.d.ts +2 -0
- package/es/upload/index.js +3 -0
- package/es/upload/index.js.map +1 -0
- package/es/upload/style/_index.scss +99 -0
- package/es/upload/style/css.js +4 -0
- package/es/upload/style/index.d.ts +2 -0
- package/es/upload/style/index.js +4 -0
- package/es/upload/style/index.js.map +1 -0
- package/es/upload/types.d.ts +39 -0
- package/es/upload/types.js +2 -0
- package/es/upload/types.js.map +1 -0
- package/es/upload/upload-list.d.ts +11 -0
- package/es/upload/upload-list.js +13 -0
- package/es/upload/upload-list.js.map +1 -0
- package/es/upload/upload.d.ts +4 -0
- package/es/upload/upload.js +115 -0
- package/es/upload/upload.js.map +1 -0
- package/lib/_utils/components.d.ts +1 -1
- package/lib/_utils/components.js +56 -57
- package/lib/_utils/components.js.map +1 -1
- package/lib/_utils/dom.d.ts +13 -2
- package/lib/_utils/dom.js +22 -13
- package/lib/_utils/dom.js.map +1 -1
- package/lib/_utils/enum.js +5 -2
- package/lib/_utils/enum.js.map +1 -1
- package/lib/_utils/general.d.ts +21 -1
- package/lib/_utils/general.js +39 -13
- package/lib/_utils/general.js.map +1 -1
- package/lib/_utils/hooks.d.ts +1 -1
- package/lib/_utils/hooks.js +23 -21
- package/lib/_utils/hooks.js.map +1 -1
- package/lib/_utils/number.d.ts +5 -0
- package/lib/_utils/number.js +10 -1
- package/lib/_utils/number.js.map +1 -1
- package/lib/_utils/object.js +22 -16
- package/lib/_utils/object.js.map +1 -1
- package/lib/_utils/props.d.ts +4 -3
- package/lib/_utils/props.js +2 -1
- package/lib/_utils/use-locale.d.ts +2 -0
- package/lib/_utils/use-locale.js +13 -0
- package/lib/_utils/use-locale.js.map +1 -0
- package/lib/_utils/use-theme.d.ts +7 -0
- package/lib/_utils/use-theme.js +70 -0
- package/lib/_utils/use-theme.js.map +1 -0
- package/lib/_utils/use-virtual-scroll.d.ts +13 -0
- package/lib/_utils/use-virtual-scroll.js +22 -0
- package/lib/_utils/use-virtual-scroll.js.map +1 -0
- package/lib/_utils/useCombobox.d.ts +27 -0
- package/lib/_utils/useCombobox.js +89 -0
- package/lib/_utils/useCombobox.js.map +1 -0
- package/lib/_utils/warning.js +6 -4
- package/lib/_utils/warning.js.map +1 -1
- package/lib/alert/index.d.ts +2 -1
- package/lib/alert/index.js +36 -31
- package/lib/alert/index.js.map +1 -1
- package/lib/alert/style/_index.scss +12 -6
- package/lib/alert/style/_mixin.scss +1 -1
- package/lib/alert/style/css.js +3 -1
- package/lib/alert/style/index.js +3 -1
- package/lib/alert/style/index.js.map +1 -1
- package/lib/alert/types.d.ts +9 -1
- package/lib/alert/types.js +2 -1
- package/lib/anchor/anchor-context.d.ts +3 -1
- package/lib/anchor/anchor-context.js +6 -2
- package/lib/anchor/anchor-context.js.map +1 -1
- package/lib/anchor/anchor-link.d.ts +1 -1
- package/lib/anchor/anchor-link.js +23 -17
- package/lib/anchor/anchor-link.js.map +1 -1
- package/lib/anchor/anchor.js +124 -71
- package/lib/anchor/anchor.js.map +1 -1
- package/lib/anchor/index.d.ts +1 -1
- package/lib/anchor/index.js +8 -5
- package/lib/anchor/index.js.map +1 -1
- package/lib/anchor/style/_index.scss +18 -9
- package/lib/anchor/style/css.js +4 -2
- package/lib/anchor/style/index.js +4 -2
- package/lib/anchor/style/index.js.map +1 -1
- package/lib/anchor/types.d.ts +7 -0
- package/lib/anchor/types.js +2 -1
- package/lib/aspect-ratio/index.d.ts +1 -1
- package/lib/aspect-ratio/index.js +17 -15
- package/lib/aspect-ratio/index.js.map +1 -1
- package/lib/aspect-ratio/style/_index.scss +1 -1
- package/lib/aspect-ratio/style/css.js +3 -1
- package/lib/aspect-ratio/style/index.js +3 -1
- package/lib/aspect-ratio/style/index.js.map +1 -1
- package/lib/aspect-ratio/types.d.ts +2 -0
- package/lib/aspect-ratio/types.js +2 -1
- package/lib/auto-complete/auto-complete.d.ts +4 -0
- package/lib/auto-complete/auto-complete.js +111 -0
- package/lib/auto-complete/auto-complete.js.map +1 -0
- package/lib/auto-complete/index.d.ts +2 -0
- package/lib/auto-complete/index.js +7 -0
- package/lib/auto-complete/index.js.map +1 -0
- package/lib/auto-complete/style/_index.scss +58 -0
- package/lib/auto-complete/style/css.js +4 -0
- package/lib/auto-complete/style/index.d.ts +1 -0
- package/lib/auto-complete/style/index.js +4 -0
- package/lib/auto-complete/style/index.js.map +1 -0
- package/lib/auto-complete/types.d.ts +26 -0
- package/lib/auto-complete/types.js +3 -0
- package/lib/auto-complete/types.js.map +1 -0
- package/lib/avatar/avatar-group.js +27 -21
- package/lib/avatar/avatar-group.js.map +1 -1
- package/lib/avatar/avatar.d.ts +2 -4
- package/lib/avatar/avatar.js +47 -34
- package/lib/avatar/avatar.js.map +1 -1
- package/lib/avatar/index.d.ts +1 -1
- package/lib/avatar/index.js +8 -5
- package/lib/avatar/index.js.map +1 -1
- package/lib/avatar/style/_index.scss +6 -6
- package/lib/avatar/style/css.js +3 -1
- package/lib/avatar/style/index.js +3 -1
- package/lib/avatar/style/index.js.map +1 -1
- package/lib/avatar/types.d.ts +9 -2
- package/lib/avatar/types.js +2 -1
- package/lib/back-top/index.js +36 -32
- package/lib/back-top/index.js.map +1 -1
- package/lib/back-top/style/_index.scss +11 -2
- package/lib/back-top/style/css.js +3 -1
- package/lib/back-top/style/index.js +3 -1
- package/lib/back-top/style/index.js.map +1 -1
- package/lib/back-top/types.js +2 -1
- package/lib/badge/index.d.ts +2 -4
- package/lib/badge/index.js +22 -22
- package/lib/badge/index.js.map +1 -1
- package/lib/badge/style/_index.scss +3 -3
- package/lib/badge/style/_mixin.scss +2 -2
- package/lib/badge/style/css.js +3 -1
- package/lib/badge/style/index.js +3 -1
- package/lib/badge/style/index.js.map +1 -1
- package/lib/badge/types.d.ts +8 -0
- package/lib/badge/types.js +2 -1
- package/lib/breadcrumb/breadcrumb-item.js +15 -14
- package/lib/breadcrumb/breadcrumb-item.js.map +1 -1
- package/lib/breadcrumb/breadcrumb.d.ts +1 -1
- package/lib/breadcrumb/breadcrumb.js +18 -15
- package/lib/breadcrumb/breadcrumb.js.map +1 -1
- package/lib/breadcrumb/index.d.ts +1 -1
- package/lib/breadcrumb/index.js +8 -5
- package/lib/breadcrumb/index.js.map +1 -1
- package/lib/breadcrumb/style/_index.scss +5 -5
- package/lib/breadcrumb/style/css.js +3 -1
- package/lib/breadcrumb/style/index.js +3 -1
- package/lib/breadcrumb/style/index.js.map +1 -1
- package/lib/breadcrumb/types.js +2 -1
- package/lib/button/button-group.d.ts +1 -1
- package/lib/button/button-group.js +33 -31
- package/lib/button/button-group.js.map +1 -1
- package/lib/button/button.d.ts +1 -1
- package/lib/button/button.js +26 -26
- package/lib/button/button.js.map +1 -1
- package/lib/button/index.d.ts +1 -1
- package/lib/button/index.js +8 -5
- package/lib/button/index.js.map +1 -1
- package/lib/button/style/_index.scss +25 -22
- package/lib/button/style/_mixin.scss +13 -13
- package/lib/button/style/css.js +3 -1
- package/lib/button/style/index.js +3 -1
- package/lib/button/style/index.js.map +1 -1
- package/lib/button/types.d.ts +1 -1
- package/lib/button/types.js +2 -1
- package/lib/calendar/index.d.ts +2 -7
- package/lib/calendar/index.js +119 -16
- package/lib/calendar/index.js.map +1 -1
- package/lib/calendar/style/_index.scss +187 -1
- package/lib/calendar/style/css.js +3 -1
- package/lib/calendar/style/index.js +3 -1
- package/lib/calendar/style/index.js.map +1 -1
- package/lib/calendar/types.d.ts +22 -0
- package/lib/calendar/types.js +3 -0
- package/lib/calendar/types.js.map +1 -0
- package/lib/card/card-content.js +7 -6
- package/lib/card/card-content.js.map +1 -1
- package/lib/card/card.d.ts +2 -4
- package/lib/card/card.js +32 -33
- package/lib/card/card.js.map +1 -1
- package/lib/card/index.d.ts +1 -1
- package/lib/card/index.js +8 -5
- package/lib/card/index.js.map +1 -1
- package/lib/card/style/_index.scss +6 -6
- package/lib/card/style/_mixin.scss +2 -2
- package/lib/card/style/css.js +3 -1
- package/lib/card/style/index.js +3 -1
- package/lib/card/style/index.js.map +1 -1
- package/lib/card/types.js +2 -1
- package/lib/carousel/carousel-item.d.ts +5 -3
- package/lib/carousel/carousel-item.js +8 -8
- package/lib/carousel/carousel-item.js.map +1 -1
- package/lib/carousel/carousel.d.ts +2 -19
- package/lib/carousel/carousel.js +146 -81
- package/lib/carousel/carousel.js.map +1 -1
- package/lib/carousel/index.d.ts +8 -3
- package/lib/carousel/index.js +8 -4
- package/lib/carousel/index.js.map +1 -1
- package/lib/carousel/style/_index.scss +131 -32
- package/lib/carousel/style/css.js +3 -1
- package/lib/carousel/style/index.js +3 -1
- package/lib/carousel/style/index.js.map +1 -1
- package/lib/carousel/types.d.ts +42 -0
- package/lib/carousel/types.js +3 -0
- package/lib/carousel/types.js.map +1 -0
- package/lib/cascader/cascader.d.ts +4 -0
- package/lib/cascader/cascader.js +176 -0
- package/lib/cascader/cascader.js.map +1 -0
- package/lib/cascader/index.d.ts +2 -0
- package/lib/cascader/index.js +6 -0
- package/lib/cascader/index.js.map +1 -0
- package/lib/cascader/style/_index.scss +162 -0
- package/lib/cascader/style/css.js +4 -0
- package/lib/cascader/style/index.d.ts +1 -0
- package/lib/cascader/style/index.js +4 -0
- package/lib/cascader/style/index.js.map +1 -0
- package/lib/cascader/types.d.ts +26 -0
- package/lib/cascader/types.js +3 -0
- package/lib/cascader/types.js.map +1 -0
- package/lib/checkbox/checkbox-group-context.d.ts +1 -1
- package/lib/checkbox/checkbox-group-context.js +6 -2
- package/lib/checkbox/checkbox-group-context.js.map +1 -1
- package/lib/checkbox/checkbox-group.d.ts +1 -1
- package/lib/checkbox/checkbox-group.js +29 -31
- package/lib/checkbox/checkbox-group.js.map +1 -1
- package/lib/checkbox/checkbox.d.ts +1 -1
- package/lib/checkbox/checkbox.js +29 -30
- package/lib/checkbox/checkbox.js.map +1 -1
- package/lib/checkbox/index.d.ts +1 -1
- package/lib/checkbox/index.js +8 -5
- package/lib/checkbox/index.js.map +1 -1
- package/lib/checkbox/style/_index.scss +15 -15
- package/lib/checkbox/style/css.js +3 -1
- package/lib/checkbox/style/index.js +3 -1
- package/lib/checkbox/style/index.js.map +1 -1
- package/lib/checkbox/types.d.ts +1 -0
- package/lib/checkbox/types.js +2 -1
- package/lib/col/index.js +5 -2
- package/lib/col/index.js.map +1 -1
- package/lib/collapse/collapse-context.d.ts +1 -1
- package/lib/collapse/collapse-context.js +6 -2
- package/lib/collapse/collapse-context.js.map +1 -1
- package/lib/collapse/collapse-panel.js +48 -41
- package/lib/collapse/collapse-panel.js.map +1 -1
- package/lib/collapse/collapse.d.ts +1 -1
- package/lib/collapse/collapse.js +47 -39
- package/lib/collapse/collapse.js.map +1 -1
- package/lib/collapse/index.d.ts +1 -1
- package/lib/collapse/index.js +8 -5
- package/lib/collapse/index.js.map +1 -1
- package/lib/collapse/style/_index.scss +18 -12
- package/lib/collapse/style/css.js +3 -1
- package/lib/collapse/style/index.js +3 -1
- package/lib/collapse/style/index.js.map +1 -1
- package/lib/collapse/types.d.ts +2 -0
- package/lib/collapse/types.js +2 -1
- package/lib/collapse-transition/index.d.ts +1 -1
- package/lib/collapse-transition/index.js +32 -29
- package/lib/collapse-transition/index.js.map +1 -1
- package/lib/collapse-transition/style/css.js +3 -1
- package/lib/collapse-transition/style/index.js +3 -1
- package/lib/collapse-transition/style/index.js.map +1 -1
- package/lib/color-picker/color-picker.d.ts +4 -0
- package/lib/color-picker/color-picker.js +166 -0
- package/lib/color-picker/color-picker.js.map +1 -0
- package/lib/color-picker/index.d.ts +2 -0
- package/lib/color-picker/index.js +6 -0
- package/lib/color-picker/index.js.map +1 -0
- package/lib/color-picker/style/_index.scss +196 -0
- package/lib/color-picker/style/css.js +4 -0
- package/lib/color-picker/style/index.d.ts +1 -0
- package/lib/color-picker/style/index.js +4 -0
- package/lib/color-picker/style/index.js.map +1 -0
- package/lib/color-picker/types.d.ts +24 -0
- package/lib/color-picker/types.js +3 -0
- package/lib/color-picker/types.js.map +1 -0
- package/lib/color-picker/utils.d.ts +6 -0
- package/lib/color-picker/utils.js +123 -0
- package/lib/color-picker/utils.js.map +1 -0
- package/lib/config-provider/config-context.d.ts +4 -0
- package/lib/config-provider/config-context.js +6 -2
- package/lib/config-provider/config-context.js.map +1 -1
- package/lib/config-provider/index.js +23 -7
- package/lib/config-provider/index.js.map +1 -1
- package/lib/config-provider/types.js +2 -1
- package/lib/copy-to-clipboard/index.js +35 -18
- package/lib/copy-to-clipboard/index.js.map +1 -1
- package/lib/copy-to-clipboard/types.js +2 -1
- package/lib/countdown/index.d.ts +2 -4
- package/lib/countdown/index.js +31 -25
- package/lib/countdown/index.js.map +1 -1
- package/lib/countdown/types.d.ts +1 -1
- package/lib/countdown/types.js +2 -1
- package/lib/date-picker/index.d.ts +6 -9
- package/lib/date-picker/index.js +143 -14
- package/lib/date-picker/index.js.map +1 -1
- package/lib/date-picker/picker-day.d.ts +7 -5
- package/lib/date-picker/picker-day.js +26 -48
- package/lib/date-picker/picker-day.js.map +1 -1
- package/lib/date-picker/picker-header.d.ts +7 -8
- package/lib/date-picker/picker-header.js +21 -16
- package/lib/date-picker/picker-header.js.map +1 -1
- package/lib/date-picker/picker-month.d.ts +8 -1
- package/lib/date-picker/picker-month.js +19 -4
- package/lib/date-picker/picker-month.js.map +1 -1
- package/lib/date-picker/picker-year.d.ts +7 -1
- package/lib/date-picker/picker-year.js +26 -4
- package/lib/date-picker/picker-year.js.map +1 -1
- package/lib/date-picker/style/_index.scss +229 -73
- package/lib/date-picker/style/css.js +3 -1
- package/lib/date-picker/style/index.js +3 -1
- package/lib/date-picker/style/index.js.map +1 -1
- package/lib/date-picker/types.d.ts +40 -0
- package/lib/date-picker/types.js +3 -0
- package/lib/date-picker/types.js.map +1 -0
- package/lib/date-picker/utils.d.ts +10 -1
- package/lib/date-picker/utils.js +76 -61
- package/lib/date-picker/utils.js.map +1 -1
- package/lib/descriptions/col.d.ts +1 -1
- package/lib/descriptions/col.js +18 -20
- package/lib/descriptions/col.js.map +1 -1
- package/lib/descriptions/descriptions-item.js +4 -2
- package/lib/descriptions/descriptions-item.js.map +1 -1
- package/lib/descriptions/descriptions.js +34 -33
- package/lib/descriptions/descriptions.js.map +1 -1
- package/lib/descriptions/index.d.ts +1 -1
- package/lib/descriptions/index.js +8 -5
- package/lib/descriptions/index.js.map +1 -1
- package/lib/descriptions/row.d.ts +1 -1
- package/lib/descriptions/row.js +12 -11
- package/lib/descriptions/row.js.map +1 -1
- package/lib/descriptions/style/_index.scss +9 -9
- package/lib/descriptions/style/css.js +3 -1
- package/lib/descriptions/style/index.js +3 -1
- package/lib/descriptions/style/index.js.map +1 -1
- package/lib/descriptions/types.js +2 -1
- package/lib/divider/index.d.ts +2 -4
- package/lib/divider/index.js +19 -17
- package/lib/divider/index.js.map +1 -1
- package/lib/divider/style/_index.scss +7 -7
- package/lib/divider/style/css.js +3 -1
- package/lib/divider/style/index.js +3 -1
- package/lib/divider/style/index.js.map +1 -1
- package/lib/divider/types.d.ts +1 -1
- package/lib/divider/types.js +2 -1
- package/lib/drawer/index.d.ts +1 -4
- package/lib/drawer/index.js +67 -25
- package/lib/drawer/index.js.map +1 -1
- package/lib/drawer/style/_index.scss +10 -6
- package/lib/drawer/style/css.js +5 -2
- package/lib/drawer/style/index.js +5 -2
- package/lib/drawer/style/index.js.map +1 -1
- package/lib/drawer/types.d.ts +1 -1
- package/lib/drawer/types.js +2 -1
- package/lib/dropdown/index.js +51 -33
- package/lib/dropdown/index.js.map +1 -1
- package/lib/dropdown/style/_index.scss +4 -4
- package/lib/dropdown/style/css.js +5 -2
- package/lib/dropdown/style/index.js +5 -2
- package/lib/dropdown/style/index.js.map +1 -1
- package/lib/dropdown/types.d.ts +2 -2
- package/lib/dropdown/types.js +2 -1
- package/lib/empty/index.d.ts +1 -4
- package/lib/empty/index.js +22 -25
- package/lib/empty/index.js.map +1 -1
- package/lib/empty/style/_index.scss +2 -2
- package/lib/empty/style/css.js +3 -1
- package/lib/empty/style/index.js +3 -1
- package/lib/empty/style/index.js.map +1 -1
- package/lib/empty/types.js +2 -1
- package/lib/flex/index.d.ts +4 -0
- package/lib/flex/index.js +32 -0
- package/lib/flex/index.js.map +1 -0
- package/lib/flex/style/_index.scss +5 -0
- package/lib/flex/style/css.js +4 -0
- package/lib/flex/style/index.d.ts +1 -0
- package/lib/flex/style/index.js +4 -0
- package/lib/flex/style/index.js.map +1 -0
- package/lib/flex/types.d.ts +11 -0
- package/lib/flex/types.js +3 -0
- package/lib/flex/types.js.map +1 -0
- package/lib/flip/flip-item.js +7 -6
- package/lib/flip/flip-item.js.map +1 -1
- package/lib/flip/flip.js +41 -41
- package/lib/flip/flip.js.map +1 -1
- package/lib/flip/index.d.ts +1 -1
- package/lib/flip/index.js +8 -5
- package/lib/flip/index.js.map +1 -1
- package/lib/flip/style/_index.scss +1 -1
- package/lib/flip/style/css.js +3 -1
- package/lib/flip/style/index.js +3 -1
- package/lib/flip/style/index.js.map +1 -1
- package/lib/flip/types.d.ts +3 -0
- package/lib/flip/types.js +2 -1
- package/lib/form/form-helper.js +14 -13
- package/lib/form/form-helper.js.map +1 -1
- package/lib/form/form-instance-context.js +7 -3
- package/lib/form/form-instance-context.js.map +1 -1
- package/lib/form/form-instance.d.ts +6 -3
- package/lib/form/form-instance.js +53 -53
- package/lib/form/form-instance.js.map +1 -1
- package/lib/form/form-item.js +52 -59
- package/lib/form/form-item.js.map +1 -1
- package/lib/form/form-options-context.js +6 -2
- package/lib/form/form-options-context.js.map +1 -1
- package/lib/form/form.js +28 -25
- package/lib/form/form.js.map +1 -1
- package/lib/form/index.d.ts +1 -1
- package/lib/form/index.js +12 -9
- package/lib/form/index.js.map +1 -1
- package/lib/form/style/_index.scss +10 -10
- package/lib/form/style/css.js +4 -2
- package/lib/form/style/index.js +4 -2
- package/lib/form/style/index.js.map +1 -1
- package/lib/form/types.d.ts +3 -3
- package/lib/form/types.js +2 -1
- package/lib/form/use-form.js +7 -4
- package/lib/form/use-form.js.map +1 -1
- package/lib/grid/col.d.ts +1 -4
- package/lib/grid/col.js +32 -25
- package/lib/grid/col.js.map +1 -1
- package/lib/grid/row.d.ts +1 -4
- package/lib/grid/row.js +45 -35
- package/lib/grid/row.js.map +1 -1
- package/lib/grid/style/_index.scss +9 -11
- package/lib/grid/style/css.js +3 -1
- package/lib/grid/style/index.js +3 -1
- package/lib/grid/style/index.js.map +1 -1
- package/lib/grid/types.d.ts +4 -3
- package/lib/grid/types.js +2 -1
- package/lib/icon/demo/icons.js +20 -19
- package/lib/icon/demo/icons.js.map +1 -1
- package/lib/icon/index.d.ts +2 -4
- package/lib/icon/index.js +18 -16
- package/lib/icon/index.js.map +1 -1
- package/lib/icon/style/_index.scss +2 -2
- package/lib/icon/style/css.js +3 -1
- package/lib/icon/style/index.js +3 -1
- package/lib/icon/style/index.js.map +1 -1
- package/lib/icon/types.js +2 -1
- package/lib/image/index.js +32 -27
- package/lib/image/index.js.map +1 -1
- package/lib/image/style/_index.scss +1 -1
- package/lib/image/style/css.js +3 -1
- package/lib/image/style/index.js +3 -1
- package/lib/image/style/index.js.map +1 -1
- package/lib/image/types.js +2 -1
- package/lib/index.d.ts +17 -1
- package/lib/index.js +176 -71
- package/lib/index.js.map +1 -1
- package/lib/input/index.d.ts +1 -1
- package/lib/input/index.js +10 -7
- package/lib/input/index.js.map +1 -1
- package/lib/input/input-group-addon.js +26 -24
- package/lib/input/input-group-addon.js.map +1 -1
- package/lib/input/input-group.js +22 -19
- package/lib/input/input-group.js.map +1 -1
- package/lib/input/input.d.ts +1 -1
- package/lib/input/input.js +40 -44
- package/lib/input/input.js.map +1 -1
- package/lib/input/style/_index.scss +7 -7
- package/lib/input/style/_mixin.scss +11 -10
- package/lib/input/style/css.js +3 -1
- package/lib/input/style/index.js +3 -1
- package/lib/input/style/index.js.map +1 -1
- package/lib/input/types.js +2 -1
- package/lib/input-number/index.d.ts +1 -1
- package/lib/input-number/index.js +41 -33
- package/lib/input-number/index.js.map +1 -1
- package/lib/input-number/style/_index.scss +8 -8
- package/lib/input-number/style/css.js +4 -2
- package/lib/input-number/style/index.js +4 -2
- package/lib/input-number/style/index.js.map +1 -1
- package/lib/input-number/types.d.ts +1 -0
- package/lib/input-number/types.js +2 -1
- package/lib/input-password/index.js +20 -17
- package/lib/input-password/index.js.map +1 -1
- package/lib/input-password/style/_index.scss +7 -3
- package/lib/input-password/style/css.js +4 -2
- package/lib/input-password/style/index.js +4 -2
- package/lib/input-password/style/index.js.map +1 -1
- package/lib/input-password/types.js +2 -1
- package/lib/intl-provider/index.d.ts +2 -1
- package/lib/intl-provider/index.js +9 -6
- package/lib/intl-provider/index.js.map +1 -1
- package/lib/intl-provider/intl-context.d.ts +2 -1
- package/lib/intl-provider/intl-context.js +6 -2
- package/lib/intl-provider/intl-context.js.map +1 -1
- package/lib/intl-provider/with-locale.d.ts +7 -1
- package/lib/intl-provider/with-locale.js +13 -7
- package/lib/intl-provider/with-locale.js.map +1 -1
- package/lib/keyboard/index.d.ts +1 -1
- package/lib/keyboard/index.js +15 -12
- package/lib/keyboard/index.js.map +1 -1
- package/lib/keyboard/style/_index.scss +6 -6
- package/lib/keyboard/style/css.js +3 -1
- package/lib/keyboard/style/index.js +3 -1
- package/lib/keyboard/style/index.js.map +1 -1
- package/lib/keyboard/types.js +2 -1
- package/lib/layout/index.d.ts +1 -1
- package/lib/layout/index.js +11 -8
- package/lib/layout/index.js.map +1 -1
- package/lib/layout/layout.d.ts +7 -4
- package/lib/layout/layout.js +42 -32
- package/lib/layout/layout.js.map +1 -1
- package/lib/layout/sidebar-context.d.ts +1 -1
- package/lib/layout/sidebar-context.js +10 -4
- package/lib/layout/sidebar-context.js.map +1 -1
- package/lib/layout/sidebar.d.ts +1 -1
- package/lib/layout/sidebar.js +35 -31
- package/lib/layout/sidebar.js.map +1 -1
- package/lib/layout/style/_index.scss +15 -10
- package/lib/layout/style/css.js +3 -1
- package/lib/layout/style/index.js +3 -1
- package/lib/layout/style/index.js.map +1 -1
- package/lib/layout/types.d.ts +1 -1
- package/lib/layout/types.js +2 -1
- package/lib/link/index.js +19 -18
- package/lib/link/index.js.map +1 -1
- package/lib/link/style/_index.scss +2 -2
- package/lib/link/style/css.js +3 -1
- package/lib/link/style/index.js +3 -1
- package/lib/link/style/index.js.map +1 -1
- package/lib/link/types.js +2 -1
- package/lib/list/index.d.ts +9 -0
- package/lib/list/index.js +11 -0
- package/lib/list/index.js.map +1 -0
- package/lib/list/list-item-meta.d.ts +7 -0
- package/lib/list/list-item-meta.js +18 -0
- package/lib/list/list-item-meta.js.map +1 -0
- package/lib/list/list-item.d.ts +4 -0
- package/lib/list/list-item.js +18 -0
- package/lib/list/list-item.js.map +1 -0
- package/lib/list/list.d.ts +4 -0
- package/lib/list/list.js +95 -0
- package/lib/list/list.js.map +1 -0
- package/lib/list/style/_index.scss +172 -0
- package/lib/list/style/css.js +4 -0
- package/lib/list/style/index.d.ts +1 -0
- package/lib/list/style/index.js +4 -0
- package/lib/list/style/index.js.map +1 -0
- package/lib/list/types.d.ts +41 -0
- package/lib/list/types.js +3 -0
- package/lib/list/types.js.map +1 -0
- package/lib/loader/index.d.ts +2 -4
- package/lib/loader/index.js +26 -28
- package/lib/loader/index.js.map +1 -1
- package/lib/loader/indicator.d.ts +1 -1
- package/lib/loader/indicator.js +7 -9
- package/lib/loader/indicator.js.map +1 -1
- package/lib/loader/style/_index.scss +4 -4
- package/lib/loader/style/css.js +3 -1
- package/lib/loader/style/index.js +3 -1
- package/lib/loader/style/index.js.map +1 -1
- package/lib/loader/types.d.ts +6 -0
- package/lib/loader/types.js +2 -1
- package/lib/loading-bar/index.js +40 -31
- package/lib/loading-bar/index.js.map +1 -1
- package/lib/loading-bar/loading-bar.js +16 -14
- package/lib/loading-bar/loading-bar.js.map +1 -1
- package/lib/loading-bar/style/_index.scss +2 -2
- package/lib/loading-bar/style/css.js +3 -1
- package/lib/loading-bar/style/index.js +3 -1
- package/lib/loading-bar/style/index.js.map +1 -1
- package/lib/loading-bar/types.js +2 -1
- package/lib/locale/en_US.d.ts +3 -0
- package/lib/locale/en_US.js +42 -0
- package/lib/locale/en_US.js.map +1 -0
- package/lib/locale/index.d.ts +3 -0
- package/lib/locale/index.js +9 -0
- package/lib/locale/index.js.map +1 -0
- package/lib/locale/types.d.ts +38 -0
- package/lib/locale/types.js +3 -0
- package/lib/locale/types.js.map +1 -0
- package/lib/locale/zh_CN.d.ts +3 -0
- package/lib/locale/zh_CN.js +42 -0
- package/lib/locale/zh_CN.js.map +1 -0
- package/lib/menu/index.d.ts +1 -1
- package/lib/menu/index.js +14 -11
- package/lib/menu/index.js.map +1 -1
- package/lib/menu/menu-context.d.ts +1 -1
- package/lib/menu/menu-context.js +6 -2
- package/lib/menu/menu-context.js.map +1 -1
- package/lib/menu/menu-divider.js +15 -11
- package/lib/menu/menu-divider.js.map +1 -1
- package/lib/menu/menu-item-group.js +35 -31
- package/lib/menu/menu-item-group.js.map +1 -1
- package/lib/menu/menu-item.js +30 -23
- package/lib/menu/menu-item.js.map +1 -1
- package/lib/menu/menu.js +37 -36
- package/lib/menu/menu.js.map +1 -1
- package/lib/menu/style/_index.scss +17 -17
- package/lib/menu/style/_mixin.scss +1 -1
- package/lib/menu/style/css.js +5 -3
- package/lib/menu/style/index.js +5 -3
- package/lib/menu/style/index.js.map +1 -1
- package/lib/menu/sub-menu-context.d.ts +1 -1
- package/lib/menu/sub-menu-context.js +6 -2
- package/lib/menu/sub-menu-context.js.map +1 -1
- package/lib/menu/sub-menu.js +77 -81
- package/lib/menu/sub-menu.js.map +1 -1
- package/lib/menu/types.d.ts +6 -2
- package/lib/menu/types.js +2 -1
- package/lib/message/index.d.ts +1 -1
- package/lib/message/index.js +42 -35
- package/lib/message/index.js.map +1 -1
- package/lib/message/message.js +33 -34
- package/lib/message/message.js.map +1 -1
- package/lib/message/style/_index.scss +5 -5
- package/lib/message/style/css.js +3 -1
- package/lib/message/style/index.js +3 -1
- package/lib/message/style/index.js.map +1 -1
- package/lib/message/types.d.ts +1 -1
- package/lib/message/types.js +2 -1
- package/lib/modal/index.d.ts +9 -4
- package/lib/modal/index.js +78 -33
- package/lib/modal/index.js.map +1 -1
- package/lib/modal/modal-context.d.ts +30 -0
- package/lib/modal/modal-context.js +42 -0
- package/lib/modal/modal-context.js.map +1 -0
- package/lib/modal/style/_index.scss +13 -9
- package/lib/modal/style/css.js +6 -3
- package/lib/modal/style/index.js +6 -3
- package/lib/modal/style/index.js.map +1 -1
- package/lib/modal/types.d.ts +2 -1
- package/lib/modal/types.js +2 -1
- package/lib/native-select/index.d.ts +1 -1
- package/lib/native-select/index.js +10 -7
- package/lib/native-select/index.js.map +1 -1
- package/lib/native-select/native-opt-group.d.ts +3 -3
- package/lib/native-select/native-opt-group.js +8 -5
- package/lib/native-select/native-opt-group.js.map +1 -1
- package/lib/native-select/native-option.d.ts +3 -3
- package/lib/native-select/native-option.js +8 -5
- package/lib/native-select/native-option.js.map +1 -1
- package/lib/native-select/native-select.d.ts +1 -1
- package/lib/native-select/native-select.js +23 -21
- package/lib/native-select/native-select.js.map +1 -1
- package/lib/native-select/style/_index.scss +10 -10
- package/lib/native-select/style/css.js +3 -1
- package/lib/native-select/style/index.js +3 -1
- package/lib/native-select/style/index.js.map +1 -1
- package/lib/native-select/types.d.ts +2 -2
- package/lib/native-select/types.js +2 -1
- package/lib/notification/index.js +48 -39
- package/lib/notification/index.js.map +1 -1
- package/lib/notification/notification.js +30 -33
- package/lib/notification/notification.js.map +1 -1
- package/lib/notification/style/_index.scss +12 -7
- package/lib/notification/style/css.js +3 -1
- package/lib/notification/style/index.js +3 -1
- package/lib/notification/style/index.js.map +1 -1
- package/lib/notification/types.d.ts +1 -1
- package/lib/notification/types.js +2 -1
- package/lib/overlay/index.js +19 -18
- package/lib/overlay/index.js.map +1 -1
- package/lib/overlay/style/_index.scss +3 -3
- package/lib/overlay/style/css.js +3 -1
- package/lib/overlay/style/index.js +3 -1
- package/lib/overlay/style/index.js.map +1 -1
- package/lib/overlay/types.d.ts +1 -1
- package/lib/overlay/types.js +2 -1
- package/lib/pagination/index.js +56 -49
- package/lib/pagination/index.js.map +1 -1
- package/lib/pagination/style/_index.scss +34 -20
- package/lib/pagination/style/css.js +3 -1
- package/lib/pagination/style/index.js +3 -1
- package/lib/pagination/style/index.js.map +1 -1
- package/lib/pagination/types.d.ts +2 -2
- package/lib/pagination/types.js +2 -1
- package/lib/pop-confirm/index.js +26 -27
- package/lib/pop-confirm/index.js.map +1 -1
- package/lib/pop-confirm/style/_index.scss +2 -2
- package/lib/pop-confirm/style/css.js +6 -3
- package/lib/pop-confirm/style/index.js +6 -3
- package/lib/pop-confirm/style/index.js.map +1 -1
- package/lib/pop-confirm/types.js +2 -1
- package/lib/popover/index.d.ts +2 -1
- package/lib/popover/index.js +19 -17
- package/lib/popover/index.js.map +1 -1
- package/lib/popover/style/_index.scss +5 -6
- package/lib/popover/style/css.js +5 -2
- package/lib/popover/style/index.js +5 -2
- package/lib/popover/style/index.js.map +1 -1
- package/lib/popover/types.d.ts +1 -1
- package/lib/popover/types.js +2 -1
- package/lib/popup/index.js +53 -55
- package/lib/popup/index.js.map +1 -1
- package/lib/popup/style/_index.scss +16 -16
- package/lib/popup/style/css.js +5 -2
- package/lib/popup/style/index.js +5 -2
- package/lib/popup/style/index.js.map +1 -1
- package/lib/popup/types.d.ts +12 -4
- package/lib/popup/types.js +2 -1
- package/lib/portal/index.js +8 -5
- package/lib/portal/index.js.map +1 -1
- package/lib/progress/bar.js +33 -40
- package/lib/progress/bar.js.map +1 -1
- package/lib/progress/circle.js +33 -34
- package/lib/progress/circle.js.map +1 -1
- package/lib/progress/index.d.ts +2 -2
- package/lib/progress/index.js +9 -6
- package/lib/progress/index.js.map +1 -1
- package/lib/progress/style/_index.scss +14 -14
- package/lib/progress/style/css.js +3 -1
- package/lib/progress/style/index.js +3 -1
- package/lib/progress/style/index.js.map +1 -1
- package/lib/progress/types.d.ts +6 -2
- package/lib/progress/types.js +4 -1
- package/lib/progress/types.js.map +1 -1
- package/lib/radio/index.d.ts +1 -1
- package/lib/radio/index.js +8 -5
- package/lib/radio/index.js.map +1 -1
- package/lib/radio/radio-group-context.d.ts +1 -1
- package/lib/radio/radio-group-context.js +6 -2
- package/lib/radio/radio-group-context.js.map +1 -1
- package/lib/radio/radio-group.d.ts +1 -1
- package/lib/radio/radio-group.js +24 -22
- package/lib/radio/radio-group.js.map +1 -1
- package/lib/radio/radio.d.ts +1 -1
- package/lib/radio/radio.js +26 -27
- package/lib/radio/radio.js.map +1 -1
- package/lib/radio/style/_index.scss +8 -8
- package/lib/radio/style/css.js +3 -1
- package/lib/radio/style/index.js +3 -1
- package/lib/radio/style/index.js.map +1 -1
- package/lib/radio/types.js +2 -1
- package/lib/rate/index.d.ts +1 -1
- package/lib/rate/index.js +53 -23
- package/lib/rate/index.js.map +1 -1
- package/lib/rate/rate-item.d.ts +1 -1
- package/lib/rate/rate-item.js +9 -9
- package/lib/rate/rate-item.js.map +1 -1
- package/lib/rate/style/_index.scss +1 -1
- package/lib/rate/style/css.js +3 -1
- package/lib/rate/style/index.js +3 -1
- package/lib/rate/style/index.js.map +1 -1
- package/lib/rate/types.js +2 -1
- package/lib/result/index.d.ts +1 -1
- package/lib/result/index.js +24 -26
- package/lib/result/index.js.map +1 -1
- package/lib/result/style/_index.scss +5 -5
- package/lib/result/style/css.js +3 -1
- package/lib/result/style/index.js +3 -1
- package/lib/result/style/index.js.map +1 -1
- package/lib/result/types.d.ts +1 -1
- package/lib/result/types.js +2 -1
- package/lib/row/index.js +5 -2
- package/lib/row/index.js.map +1 -1
- package/lib/scroll-indicator/index.js +32 -27
- package/lib/scroll-indicator/index.js.map +1 -1
- package/lib/scroll-indicator/style/_index.scss +2 -2
- package/lib/scroll-indicator/style/css.js +3 -1
- package/lib/scroll-indicator/style/index.js +3 -1
- package/lib/scroll-indicator/style/index.js.map +1 -1
- package/lib/scroll-indicator/types.js +2 -1
- package/lib/segmented/index.d.ts +2 -0
- package/lib/segmented/index.js +6 -0
- package/lib/segmented/index.js.map +1 -0
- package/lib/segmented/segmented.d.ts +4 -0
- package/lib/segmented/segmented.js +55 -0
- package/lib/segmented/segmented.js.map +1 -0
- package/lib/segmented/style/_index.scss +93 -0
- package/lib/segmented/style/css.js +4 -0
- package/lib/segmented/style/index.d.ts +1 -0
- package/lib/segmented/style/index.js +4 -0
- package/lib/segmented/style/index.js.map +1 -0
- package/lib/segmented/types.d.ts +18 -0
- package/lib/segmented/types.js +3 -0
- package/lib/segmented/types.js.map +1 -0
- package/lib/select/index.d.ts +1 -1
- package/lib/select/index.js +10 -7
- package/lib/select/index.js.map +1 -1
- package/lib/select/opt-group.js +30 -24
- package/lib/select/opt-group.js.map +1 -1
- package/lib/select/option.js +32 -28
- package/lib/select/option.js.map +1 -1
- package/lib/select/select-context.d.ts +5 -3
- package/lib/select/select-context.js +10 -2
- package/lib/select/select-context.js.map +1 -1
- package/lib/select/select.js +299 -53
- package/lib/select/select.js.map +1 -1
- package/lib/select/style/_index.scss +254 -15
- package/lib/select/style/css.js +5 -3
- package/lib/select/style/index.js +5 -3
- package/lib/select/style/index.js.map +1 -1
- package/lib/select/types.d.ts +27 -3
- package/lib/select/types.js +2 -1
- package/lib/skeleton/index.d.ts +1 -1
- package/lib/skeleton/index.js +18 -16
- package/lib/skeleton/index.js.map +1 -1
- package/lib/skeleton/style/_index.scss +3 -3
- package/lib/skeleton/style/css.js +3 -1
- package/lib/skeleton/style/index.js +3 -1
- package/lib/skeleton/style/index.js.map +1 -1
- package/lib/skeleton/types.js +2 -1
- package/lib/slider/index.d.ts +1 -1
- package/lib/slider/index.js +117 -114
- package/lib/slider/index.js.map +1 -1
- package/lib/slider/style/_index.scss +12 -13
- package/lib/slider/style/css.js +5 -2
- package/lib/slider/style/index.js +5 -2
- package/lib/slider/style/index.js.map +1 -1
- package/lib/slider/types.d.ts +2 -2
- package/lib/slider/types.js +2 -1
- package/lib/space/index.d.ts +1 -1
- package/lib/space/index.js +22 -20
- package/lib/space/index.js.map +1 -1
- package/lib/space/style/_index.scss +1 -1
- package/lib/space/style/css.js +3 -1
- package/lib/space/style/index.js +3 -1
- package/lib/space/style/index.js.map +1 -1
- package/lib/space/types.d.ts +2 -2
- package/lib/space/types.js +2 -1
- package/lib/speed-dial/index.d.ts +7 -0
- package/lib/speed-dial/index.js +9 -0
- package/lib/speed-dial/index.js.map +1 -0
- package/lib/speed-dial/speed-dial-action.d.ts +4 -0
- package/lib/speed-dial/speed-dial-action.js +29 -0
- package/lib/speed-dial/speed-dial-action.js.map +1 -0
- package/lib/speed-dial/speed-dial-context.d.ts +5 -0
- package/lib/speed-dial/speed-dial-context.js +8 -0
- package/lib/speed-dial/speed-dial-context.js.map +1 -0
- package/lib/speed-dial/speed-dial.d.ts +4 -0
- package/lib/speed-dial/speed-dial.js +81 -0
- package/lib/speed-dial/speed-dial.js.map +1 -0
- package/lib/speed-dial/style/_index.scss +230 -0
- package/lib/speed-dial/style/css.js +4 -0
- package/lib/speed-dial/style/index.d.ts +1 -0
- package/lib/speed-dial/style/index.js +4 -0
- package/lib/speed-dial/style/index.js.map +1 -0
- package/lib/speed-dial/types.d.ts +21 -0
- package/lib/speed-dial/types.js +3 -0
- package/lib/speed-dial/types.js.map +1 -0
- package/lib/split/index.js +5 -2
- package/lib/split/index.js.map +1 -1
- package/lib/split/resizer.js +37 -18
- package/lib/split/resizer.js.map +1 -1
- package/lib/split/split-context.d.ts +1 -1
- package/lib/split/split-context.js +6 -2
- package/lib/split/split-context.js.map +1 -1
- package/lib/split/split-pane.d.ts +1 -1
- package/lib/split/split-pane.js +20 -15
- package/lib/split/split-pane.js.map +1 -1
- package/lib/split/split.js +61 -57
- package/lib/split/split.js.map +1 -1
- package/lib/split/style/_index.scss +4 -4
- package/lib/split/style/css.js +3 -1
- package/lib/split/style/index.js +3 -1
- package/lib/split/style/index.js.map +1 -1
- package/lib/split/types.d.ts +8 -0
- package/lib/split/types.js +2 -1
- package/lib/split-button/index.js +19 -20
- package/lib/split-button/index.js.map +1 -1
- package/lib/split-button/style/_index.scss +1 -1
- package/lib/split-button/style/css.js +6 -3
- package/lib/split-button/style/index.js +6 -3
- package/lib/split-button/style/index.js.map +1 -1
- package/lib/split-button/types.js +2 -1
- package/lib/statistic/index.d.ts +2 -0
- package/lib/statistic/index.js +6 -0
- package/lib/statistic/index.js.map +1 -0
- package/lib/statistic/statistic.d.ts +4 -0
- package/lib/statistic/statistic.js +37 -0
- package/lib/statistic/statistic.js.map +1 -0
- package/lib/statistic/style/_index.scss +31 -0
- package/lib/statistic/style/css.js +4 -0
- package/lib/statistic/style/index.d.ts +1 -0
- package/lib/statistic/style/index.js +4 -0
- package/lib/statistic/style/index.js.map +1 -0
- package/lib/statistic/types.d.ts +12 -0
- package/lib/statistic/types.js +3 -0
- package/lib/statistic/types.js.map +1 -0
- package/lib/steps/index.d.ts +1 -1
- package/lib/steps/index.js +8 -5
- package/lib/steps/index.js.map +1 -1
- package/lib/steps/steps-context.d.ts +1 -1
- package/lib/steps/steps-context.js +6 -2
- package/lib/steps/steps-context.js.map +1 -1
- package/lib/steps/steps-item.d.ts +1 -1
- package/lib/steps/steps-item.js +33 -32
- package/lib/steps/steps-item.js.map +1 -1
- package/lib/steps/steps.d.ts +1 -1
- package/lib/steps/steps.js +35 -33
- package/lib/steps/steps.js.map +1 -1
- package/lib/steps/style/_index.scss +22 -22
- package/lib/steps/style/css.js +3 -1
- package/lib/steps/style/index.js +3 -1
- package/lib/steps/style/index.js.map +1 -1
- package/lib/steps/types.d.ts +1 -1
- package/lib/steps/types.js +2 -1
- package/lib/sticky/index.js +53 -47
- package/lib/sticky/index.js.map +1 -1
- package/lib/sticky/style/_index.scss +5 -2
- package/lib/sticky/style/css.js +3 -1
- package/lib/sticky/style/index.js +3 -1
- package/lib/sticky/style/index.js.map +1 -1
- package/lib/sticky/types.js +2 -1
- package/lib/strength-indicator/index.d.ts +1 -1
- package/lib/strength-indicator/index.js +22 -22
- package/lib/strength-indicator/index.js.map +1 -1
- package/lib/strength-indicator/style/_index.scss +3 -3
- package/lib/strength-indicator/style/css.js +3 -1
- package/lib/strength-indicator/style/index.js +3 -1
- package/lib/strength-indicator/style/index.js.map +1 -1
- package/lib/strength-indicator/types.d.ts +4 -0
- package/lib/strength-indicator/types.js +2 -1
- package/lib/style/_animation.scss +3 -0
- package/lib/style/_component.scss +78 -70
- package/lib/style/_font.scss +248 -247
- package/lib/style/_mixins.scss +2 -2
- package/lib/style/_normalise.scss +10 -3
- package/lib/style/_theme.scss +26 -0
- package/lib/style/_tokens.scss +61 -0
- package/lib/style/_variables.scss +185 -183
- package/lib/style/fonts/iconfont.eot +0 -0
- package/lib/style/fonts/iconfont.ttf +0 -0
- package/lib/style/fonts/iconfont.woff +0 -0
- package/lib/style/index.css +8990 -6205
- package/lib/style/index.scss +7 -5
- package/lib/style/themes/_dark.scss +380 -0
- package/lib/style/themes/_light.scss +380 -0
- package/lib/switch/index.d.ts +1 -1
- package/lib/switch/index.js +30 -26
- package/lib/switch/index.js.map +1 -1
- package/lib/switch/style/_index.scss +10 -10
- package/lib/switch/style/_mixin.scss +3 -3
- package/lib/switch/style/css.js +3 -1
- package/lib/switch/style/index.js +3 -1
- package/lib/switch/style/index.js.map +1 -1
- package/lib/switch/types.js +2 -1
- package/lib/table/index.d.ts +2 -0
- package/lib/table/index.js +6 -0
- package/lib/table/index.js.map +1 -0
- package/lib/table/style/_index.scss +181 -0
- package/lib/table/style/css.js +4 -0
- package/lib/table/style/index.d.ts +1 -0
- package/lib/table/style/index.js +4 -0
- package/lib/table/style/index.js.map +1 -0
- package/lib/table/table.d.ts +4 -0
- package/lib/table/table.js +229 -0
- package/lib/table/table.js.map +1 -0
- package/lib/table/types.d.ts +53 -0
- package/lib/table/types.js +3 -0
- package/lib/table/types.js.map +1 -0
- package/lib/tabs/index.d.ts +4 -4
- package/lib/tabs/index.js +8 -5
- package/lib/tabs/index.js.map +1 -1
- package/lib/tabs/style/css.js +3 -1
- package/lib/tabs/style/index.css +239 -52
- package/lib/tabs/style/index.js +3 -1
- package/lib/tabs/style/index.js.map +1 -1
- package/lib/tabs/style/index.scss +283 -44
- package/lib/tabs/tab-panel.d.ts +5 -9
- package/lib/tabs/tab-panel.js +21 -16
- package/lib/tabs/tab-panel.js.map +1 -1
- package/lib/tabs/tabs.d.ts +2 -15
- package/lib/tabs/tabs.js +219 -96
- package/lib/tabs/tabs.js.map +1 -1
- package/lib/tabs/types.d.ts +64 -0
- package/lib/tabs/types.js +3 -0
- package/lib/tabs/types.js.map +1 -0
- package/lib/tag/checkable-tag.js +25 -19
- package/lib/tag/checkable-tag.js.map +1 -1
- package/lib/tag/index.d.ts +1 -1
- package/lib/tag/index.js +8 -5
- package/lib/tag/index.js.map +1 -1
- package/lib/tag/style/_index.scss +48 -43
- package/lib/tag/style/css.js +3 -1
- package/lib/tag/style/index.js +3 -1
- package/lib/tag/style/index.js.map +1 -1
- package/lib/tag/tag.d.ts +2 -4
- package/lib/tag/tag.js +34 -25
- package/lib/tag/tag.js.map +1 -1
- package/lib/tag/types.js +4 -1
- package/lib/tag/types.js.map +1 -1
- package/lib/textarea/index.d.ts +2 -4
- package/lib/textarea/index.js +21 -21
- package/lib/textarea/index.js.map +1 -1
- package/lib/textarea/style/_index.scss +3 -3
- package/lib/textarea/style/css.js +5 -2
- package/lib/textarea/style/index.js +5 -2
- package/lib/textarea/style/index.js.map +1 -1
- package/lib/textarea/types.js +2 -1
- package/lib/time-picker/index.d.ts +2 -0
- package/lib/time-picker/index.js +5 -2
- package/lib/time-picker/index.js.map +1 -1
- package/lib/time-picker/style/_index.scss +188 -22
- package/lib/time-picker/style/css.js +3 -1
- package/lib/time-picker/style/index.js +3 -1
- package/lib/time-picker/style/index.js.map +1 -1
- package/lib/time-picker/time-panel.d.ts +3 -3
- package/lib/time-picker/time-panel.js +36 -40
- package/lib/time-picker/time-panel.js.map +1 -1
- package/lib/time-picker/time-picker.d.ts +5 -9
- package/lib/time-picker/time-picker.js +115 -27
- package/lib/time-picker/time-picker.js.map +1 -1
- package/lib/time-picker/types.d.ts +47 -0
- package/lib/time-picker/types.js +3 -0
- package/lib/time-picker/types.js.map +1 -0
- package/lib/timeline/index.d.ts +1 -1
- package/lib/timeline/index.js +8 -5
- package/lib/timeline/index.js.map +1 -1
- package/lib/timeline/style/_index.scss +8 -7
- package/lib/timeline/style/css.js +3 -1
- package/lib/timeline/style/index.js +3 -1
- package/lib/timeline/style/index.js.map +1 -1
- package/lib/timeline/timeline-item.d.ts +1 -4
- package/lib/timeline/timeline-item.js +16 -16
- package/lib/timeline/timeline-item.js.map +1 -1
- package/lib/timeline/timeline.d.ts +1 -4
- package/lib/timeline/timeline.js +33 -31
- package/lib/timeline/timeline.js.map +1 -1
- package/lib/timeline/types.d.ts +1 -1
- package/lib/timeline/types.js +2 -1
- package/lib/tooltip/index.d.ts +1 -4
- package/lib/tooltip/index.js +18 -15
- package/lib/tooltip/index.js.map +1 -1
- package/lib/tooltip/style/_index.scss +6 -5
- package/lib/tooltip/style/css.js +5 -2
- package/lib/tooltip/style/index.js +5 -2
- package/lib/tooltip/style/index.js.map +1 -1
- package/lib/tooltip/types.d.ts +1 -1
- package/lib/tooltip/types.js +2 -1
- package/lib/transfer/index.js +5 -2
- package/lib/transfer/index.js.map +1 -1
- package/lib/transfer/style/_index.scss +9 -9
- package/lib/transfer/style/css.js +7 -5
- package/lib/transfer/style/index.js +7 -5
- package/lib/transfer/style/index.js.map +1 -1
- package/lib/transfer/transfer-panel.d.ts +1 -1
- package/lib/transfer/transfer-panel.js +41 -43
- package/lib/transfer/transfer-panel.js.map +1 -1
- package/lib/transfer/transfer.d.ts +1 -1
- package/lib/transfer/transfer.js +47 -53
- package/lib/transfer/transfer.js.map +1 -1
- package/lib/transfer/types.d.ts +1 -1
- package/lib/transfer/types.js +2 -1
- package/lib/transition/index.d.ts +6 -3
- package/lib/transition/index.js +8 -7
- package/lib/transition/index.js.map +1 -1
- package/lib/transition/style/_index.scss +1 -1
- package/lib/transition/style/_mixin.scss +1 -1
- package/lib/transition/style/css.js +3 -1
- package/lib/transition/style/index.js +3 -1
- package/lib/transition/style/index.js.map +1 -1
- package/lib/tree/index.js +5 -2
- package/lib/tree/index.js.map +1 -1
- package/lib/tree/style/_index.scss +4 -4
- package/lib/tree/style/css.js +5 -3
- package/lib/tree/style/index.js +5 -3
- package/lib/tree/style/index.js.map +1 -1
- package/lib/tree/tree-instance.d.ts +4 -1
- package/lib/tree/tree-instance.js +81 -70
- package/lib/tree/tree-instance.js.map +1 -1
- package/lib/tree/tree-node.js +31 -34
- package/lib/tree/tree-node.js.map +1 -1
- package/lib/tree/tree.d.ts +1 -1
- package/lib/tree/tree.js +26 -22
- package/lib/tree/tree.js.map +1 -1
- package/lib/tree/types.d.ts +1 -1
- package/lib/tree/types.js +2 -1
- package/lib/typography/heading.js +24 -17
- package/lib/typography/heading.js.map +1 -1
- package/lib/typography/index.d.ts +1 -1
- package/lib/typography/index.js +12 -9
- package/lib/typography/index.js.map +1 -1
- package/lib/typography/paragraph.d.ts +1 -1
- package/lib/typography/paragraph.js +15 -12
- package/lib/typography/paragraph.js.map +1 -1
- package/lib/typography/style/_index.scss +7 -7
- package/lib/typography/style/css.js +3 -1
- package/lib/typography/style/index.js +3 -1
- package/lib/typography/style/index.js.map +1 -1
- package/lib/typography/text.js +18 -15
- package/lib/typography/text.js.map +1 -1
- package/lib/typography/types.js +2 -1
- package/lib/typography/typography.d.ts +1 -1
- package/lib/typography/typography.js +15 -12
- package/lib/typography/typography.js.map +1 -1
- package/lib/upload/ajax.d.ts +1 -1
- package/lib/upload/ajax.js +11 -7
- package/lib/upload/ajax.js.map +1 -1
- package/lib/upload/dragger-cover.js +17 -14
- package/lib/upload/dragger-cover.js.map +1 -1
- package/lib/upload/index.js +5 -2
- package/lib/upload/index.js.map +1 -1
- package/lib/upload/style/_index.scss +11 -11
- package/lib/upload/style/css.js +5 -2
- package/lib/upload/style/index.js +5 -2
- package/lib/upload/style/index.js.map +1 -1
- package/lib/upload/types.d.ts +2 -2
- package/lib/upload/types.js +2 -1
- package/lib/upload/upload-list.d.ts +1 -1
- package/lib/upload/upload-list.js +13 -19
- package/lib/upload/upload-list.js.map +1 -1
- package/lib/upload/upload.d.ts +2 -4
- package/lib/upload/upload.js +64 -68
- package/lib/upload/upload.js.map +1 -1
- package/package.json +115 -83
- package/CHANGELOG.md +0 -193
- package/components/_utils/components.tsx +0 -172
- package/components/_utils/dom.ts +0 -58
- package/components/_utils/enum.ts +0 -24
- package/components/_utils/general.ts +0 -53
- package/components/_utils/hooks.tsx +0 -57
- package/components/_utils/number.ts +0 -8
- package/components/_utils/object.ts +0 -65
- package/components/_utils/props.ts +0 -10
- package/components/_utils/warning.ts +0 -8
- package/components/alert/__tests__/__snapshots__/alert.test.tsx.snap +0 -14
- package/components/alert/__tests__/alert.test.tsx +0 -65
- package/components/alert/demo/basic.md +0 -11
- package/components/alert/demo/closable.md +0 -16
- package/components/alert/demo/close-btn.md +0 -11
- package/components/alert/demo/icon.md +0 -21
- package/components/alert/demo/title.md +0 -13
- package/components/alert/demo/type.md +0 -16
- package/components/alert/index.md +0 -40
- package/components/alert/index.tsx +0 -85
- package/components/alert/style/_index.scss +0 -66
- package/components/alert/style/_mixin.scss +0 -5
- package/components/alert/types.ts +0 -32
- package/components/anchor/anchor-context.ts +0 -8
- package/components/anchor/anchor-link.tsx +0 -45
- package/components/anchor/anchor.tsx +0 -126
- package/components/anchor/index.tsx +0 -11
- package/components/anchor/style/_index.scss +0 -74
- package/components/anchor/style/index.tsx +0 -3
- package/components/anchor/types.ts +0 -15
- package/components/aspect-ratio/__tests__/__snapshots__/aspect-ratio.test.tsx.snap +0 -18
- package/components/aspect-ratio/__tests__/aspect-ratio.test.tsx +0 -23
- package/components/aspect-ratio/demo/image.md +0 -13
- package/components/aspect-ratio/demo/map.md +0 -18
- package/components/aspect-ratio/demo/video.md +0 -18
- package/components/aspect-ratio/index.md +0 -38
- package/components/aspect-ratio/index.tsx +0 -29
- package/components/aspect-ratio/style/_index.scss +0 -22
- package/components/aspect-ratio/types.ts +0 -12
- package/components/autocomplete/index.tsx +0 -40
- package/components/autocomplete/types.ts +0 -6
- package/components/avatar/avatar-group.tsx +0 -34
- package/components/avatar/avatar.tsx +0 -98
- package/components/avatar/demo/auto-font.md +0 -34
- package/components/avatar/demo/basic.md +0 -33
- package/components/avatar/demo/group.md +0 -41
- package/components/avatar/demo/presence.md +0 -24
- package/components/avatar/demo/type.md +0 -26
- package/components/avatar/index.md +0 -56
- package/components/avatar/index.tsx +0 -11
- package/components/avatar/style/_index.scss +0 -80
- package/components/avatar/types.ts +0 -34
- package/components/back-top/demo/basic.md +0 -14
- package/components/back-top/index.md +0 -36
- package/components/back-top/index.tsx +0 -114
- package/components/back-top/style/_index.scss +0 -16
- package/components/back-top/types.ts +0 -10
- package/components/badge/demo/basic.md +0 -41
- package/components/badge/demo/custom.md +0 -19
- package/components/badge/demo/dot.md +0 -29
- package/components/badge/demo/overflow.md +0 -41
- package/components/badge/demo/standalone.md +0 -23
- package/components/badge/index.md +0 -47
- package/components/badge/index.tsx +0 -62
- package/components/badge/style/_index.scss +0 -60
- package/components/badge/style/_mixin.scss +0 -11
- package/components/badge/types.ts +0 -30
- package/components/breadcrumb/breadcrumb-item.tsx +0 -23
- package/components/breadcrumb/breadcrumb.tsx +0 -27
- package/components/breadcrumb/demo/basic.md +0 -20
- package/components/breadcrumb/demo/icon.md +0 -19
- package/components/breadcrumb/demo/separator.md +0 -20
- package/components/breadcrumb/index.md +0 -40
- package/components/breadcrumb/index.tsx +0 -11
- package/components/breadcrumb/style/_index.scss +0 -38
- package/components/breadcrumb/types.ts +0 -16
- package/components/button/__tests__/__snapshots__/button-group.test.tsx.snap +0 -20
- package/components/button/__tests__/__snapshots__/button.test.tsx.snap +0 -16
- package/components/button/__tests__/button-group.test.tsx +0 -24
- package/components/button/__tests__/button.test.tsx +0 -108
- package/components/button/button-group.tsx +0 -54
- package/components/button/button.tsx +0 -73
- package/components/button/demo/block.md +0 -26
- package/components/button/demo/disabled.md +0 -56
- package/components/button/demo/group.md +0 -51
- package/components/button/demo/icon.md +0 -16
- package/components/button/demo/loading.md +0 -15
- package/components/button/demo/more-types.md +0 -16
- package/components/button/demo/size.md +0 -15
- package/components/button/demo/type.md +0 -20
- package/components/button/index.md +0 -55
- package/components/button/index.tsx +0 -11
- package/components/button/style/_index.scss +0 -212
- package/components/button/style/_mixin.scss +0 -45
- package/components/button/types.ts +0 -35
- package/components/calendar/index.tsx +0 -32
- package/components/calendar/style/_index.scss +0 -4
- package/components/card/card-content.tsx +0 -15
- package/components/card/card.tsx +0 -94
- package/components/card/demo/active.md +0 -17
- package/components/card/demo/basic.md +0 -17
- package/components/card/demo/hoverable.md +0 -17
- package/components/card/demo/image.md +0 -19
- package/components/card/demo/inner-card.md +0 -26
- package/components/card/demo/no-border.md +0 -19
- package/components/card/demo/simple.md +0 -17
- package/components/card/index.md +0 -39
- package/components/card/index.tsx +0 -11
- package/components/card/style/_index.scss +0 -57
- package/components/card/style/_mixin.scss +0 -4
- package/components/card/types.ts +0 -24
- package/components/carousel/arrow-group.tsx +0 -23
- package/components/carousel/carousel-item.tsx +0 -23
- package/components/carousel/carousel.tsx +0 -156
- package/components/carousel/dot-group.tsx +0 -30
- package/components/carousel/index.tsx +0 -8
- package/components/carousel/style/_index.scss +0 -59
- package/components/checkbox/checkbox-group-context.ts +0 -9
- package/components/checkbox/checkbox-group.tsx +0 -62
- package/components/checkbox/checkbox.tsx +0 -77
- package/components/checkbox/demo/basic.md +0 -19
- package/components/checkbox/demo/check-all.md +0 -57
- package/components/checkbox/demo/disabled.md +0 -29
- package/components/checkbox/demo/group.md +0 -21
- package/components/checkbox/index.md +0 -36
- package/components/checkbox/index.tsx +0 -11
- package/components/checkbox/style/_index.scss +0 -139
- package/components/checkbox/types.ts +0 -25
- package/components/col/index.tsx +0 -3
- package/components/collapse/collapse-context.ts +0 -10
- package/components/collapse/collapse-panel.tsx +0 -93
- package/components/collapse/collapse.tsx +0 -100
- package/components/collapse/demo/accordion.md +0 -33
- package/components/collapse/demo/basic.md +0 -37
- package/components/collapse/demo/borderless.md +0 -33
- package/components/collapse/demo/deletable.md +0 -33
- package/components/collapse/demo/nested.md +0 -37
- package/components/collapse/index.md +0 -64
- package/components/collapse/index.tsx +0 -11
- package/components/collapse/style/_index.scss +0 -95
- package/components/collapse/types.ts +0 -27
- package/components/collapse-transition/index.tsx +0 -115
- package/components/config-provider/config-context.tsx +0 -17
- package/components/config-provider/index.md +0 -28
- package/components/config-provider/index.tsx +0 -12
- package/components/config-provider/types.ts +0 -6
- package/components/copy-to-clipboard/demo/basic.md +0 -16
- package/components/copy-to-clipboard/demo/use-input.md +0 -22
- package/components/copy-to-clipboard/index.md +0 -34
- package/components/copy-to-clipboard/index.tsx +0 -41
- package/components/copy-to-clipboard/types.ts +0 -9
- package/components/countdown/demo/basic.md +0 -26
- package/components/countdown/demo/millisecond.md +0 -26
- package/components/countdown/index.md +0 -38
- package/components/countdown/index.tsx +0 -65
- package/components/countdown/types.ts +0 -17
- package/components/date-picker/index.tsx +0 -35
- package/components/date-picker/picker-day.tsx +0 -82
- package/components/date-picker/picker-header.tsx +0 -45
- package/components/date-picker/picker-month.tsx +0 -7
- package/components/date-picker/picker-year.tsx +0 -7
- package/components/date-picker/style/_index.scss +0 -116
- package/components/date-picker/utils.ts +0 -154
- package/components/descriptions/col.tsx +0 -65
- package/components/descriptions/demo/basic.md +0 -17
- package/components/descriptions/demo/border.md +0 -38
- package/components/descriptions/demo/size.md +0 -56
- package/components/descriptions/demo/vertical-border.md +0 -38
- package/components/descriptions/demo/vertical.md +0 -17
- package/components/descriptions/descriptions-item.tsx +0 -9
- package/components/descriptions/descriptions.tsx +0 -92
- package/components/descriptions/index.md +0 -47
- package/components/descriptions/index.tsx +0 -11
- package/components/descriptions/row.tsx +0 -52
- package/components/descriptions/style/_index.scss +0 -116
- package/components/descriptions/types.ts +0 -19
- package/components/divider/demo/align-title.md +0 -16
- package/components/divider/demo/horizontal.md +0 -19
- package/components/divider/demo/vertical.md +0 -17
- package/components/divider/index.md +0 -40
- package/components/divider/index.tsx +0 -33
- package/components/divider/style/_index.scss +0 -80
- package/components/divider/types.ts +0 -13
- package/components/drawer/demo/basic.md +0 -30
- package/components/drawer/demo/multi-level.md +0 -60
- package/components/drawer/demo/placement.md +0 -49
- package/components/drawer/index.md +0 -47
- package/components/drawer/index.tsx +0 -73
- package/components/drawer/style/_index.scss +0 -144
- package/components/drawer/style/index.tsx +0 -4
- package/components/drawer/types.ts +0 -23
- package/components/dropdown/demo/arrow.md +0 -48
- package/components/dropdown/demo/basic.md +0 -21
- package/components/dropdown/demo/cascade.md +0 -30
- package/components/dropdown/demo/close.md +0 -55
- package/components/dropdown/demo/other.md +0 -22
- package/components/dropdown/demo/placement.md +0 -50
- package/components/dropdown/demo/trigger.md +0 -21
- package/components/dropdown/index.md +0 -49
- package/components/dropdown/index.tsx +0 -127
- package/components/dropdown/style/_index.scss +0 -37
- package/components/dropdown/style/index.tsx +0 -4
- package/components/dropdown/types.ts +0 -23
- package/components/empty/demo/basic.md +0 -11
- package/components/empty/demo/customised.md +0 -22
- package/components/empty/demo/no-desc.md +0 -11
- package/components/empty/index.md +0 -39
- package/components/empty/index.tsx +0 -66
- package/components/empty/style/_index.scss +0 -26
- package/components/empty/types.ts +0 -10
- package/components/flip/demo/basic.md +0 -32
- package/components/flip/demo/direction.md +0 -68
- package/components/flip/flip-item.tsx +0 -15
- package/components/flip/flip.tsx +0 -72
- package/components/flip/index.md +0 -38
- package/components/flip/index.tsx +0 -11
- package/components/flip/style/_index.scss +0 -61
- package/components/flip/types.ts +0 -21
- package/components/form/__tests__/form-helper.test.ts +0 -77
- package/components/form/__tests__/form-instance.test.ts +0 -17
- package/components/form/demo/basic.md +0 -39
- package/components/form/demo/complex-layout.md +0 -44
- package/components/form/demo/extra.md +0 -34
- package/components/form/demo/layout.md +0 -43
- package/components/form/demo/method.md +0 -45
- package/components/form/demo/modal.md +0 -45
- package/components/form/demo/other-controls.md +0 -81
- package/components/form/demo/validate-trigger.md +0 -72
- package/components/form/form-helper.ts +0 -67
- package/components/form/form-instance-context.ts +0 -4
- package/components/form/form-instance.ts +0 -97
- package/components/form/form-item.tsx +0 -147
- package/components/form/form-options-context.ts +0 -9
- package/components/form/form.tsx +0 -62
- package/components/form/index.md +0 -100
- package/components/form/index.tsx +0 -17
- package/components/form/style/_index.scss +0 -93
- package/components/form/style/index.tsx +0 -3
- package/components/form/types.ts +0 -74
- package/components/form/use-form.ts +0 -5
- package/components/grid/col.tsx +0 -61
- package/components/grid/demo/alignment.md +0 -78
- package/components/grid/demo/basic.md +0 -52
- package/components/grid/demo/gutter.md +0 -56
- package/components/grid/demo/offset.md +0 -45
- package/components/grid/demo/order.md +0 -36
- package/components/grid/index.md +0 -23
- package/components/grid/row.tsx +0 -61
- package/components/grid/style/_index.scss +0 -92
- package/components/grid/types.ts +0 -34
- package/components/icon/demo/basic.md +0 -16
- package/components/icon/demo/icons.tsx +0 -283
- package/components/icon/demo/spin.md +0 -17
- package/components/icon/index.md +0 -38
- package/components/icon/index.tsx +0 -28
- package/components/icon/style/_index.scss +0 -16
- package/components/icon/types.ts +0 -11
- package/components/image/demo/basic.md +0 -11
- package/components/image/demo/fallback.md +0 -11
- package/components/image/demo/lazy.md +0 -18
- package/components/image/demo/round.md +0 -11
- package/components/image/demo/size.md +0 -11
- package/components/image/index.md +0 -49
- package/components/image/index.tsx +0 -57
- package/components/image/style/_index.scss +0 -9
- package/components/image/types.ts +0 -14
- package/components/index.ts +0 -74
- package/components/input/demo/addon-button.md +0 -46
- package/components/input/demo/addon.md +0 -44
- package/components/input/demo/basic.md +0 -11
- package/components/input/demo/clearable.md +0 -11
- package/components/input/demo/pre-suf-fix.md +0 -34
- package/components/input/demo/size.md +0 -17
- package/components/input/index.md +0 -41
- package/components/input/index.tsx +0 -14
- package/components/input/input-group-addon.tsx +0 -48
- package/components/input/input-group.tsx +0 -37
- package/components/input/input.tsx +0 -128
- package/components/input/style/_index.scss +0 -180
- package/components/input/style/_mixin.scss +0 -37
- package/components/input/types.ts +0 -35
- package/components/input-number/demo/basic.md +0 -13
- package/components/input-number/demo/disabled.md +0 -24
- package/components/input-number/demo/size.md +0 -17
- package/components/input-number/index.md +0 -46
- package/components/input-number/index.tsx +0 -102
- package/components/input-number/style/_index.scss +0 -142
- package/components/input-number/style/index.tsx +0 -3
- package/components/input-number/types.ts +0 -20
- package/components/input-password/demo/basic.md +0 -13
- package/components/input-password/demo/hide-button.md +0 -13
- package/components/input-password/demo/strength.md +0 -59
- package/components/input-password/index.md +0 -39
- package/components/input-password/index.tsx +0 -47
- package/components/input-password/style/_index.scss +0 -16
- package/components/input-password/style/index.tsx +0 -3
- package/components/input-password/types.ts +0 -8
- package/components/intl-provider/index.tsx +0 -14
- package/components/intl-provider/intl-context.tsx +0 -3
- package/components/intl-provider/with-locale.tsx +0 -9
- package/components/keyboard/demo/basic.md +0 -17
- package/components/keyboard/index.md +0 -26
- package/components/keyboard/index.tsx +0 -22
- package/components/keyboard/style/_index.scss +0 -23
- package/components/keyboard/types.ts +0 -6
- package/components/layout/demo/basic.md +0 -83
- package/components/layout/index.md +0 -37
- package/components/layout/index.tsx +0 -17
- package/components/layout/layout.tsx +0 -79
- package/components/layout/sidebar-context.ts +0 -11
- package/components/layout/sidebar.tsx +0 -90
- package/components/layout/style/_index.scss +0 -77
- package/components/layout/types.ts +0 -18
- package/components/link/demo/basic.md +0 -11
- package/components/link/demo/disabled.md +0 -11
- package/components/link/demo/external.md +0 -15
- package/components/link/demo/underline.md +0 -15
- package/components/link/index.md +0 -41
- package/components/link/index.tsx +0 -44
- package/components/link/style/_index.scss +0 -17
- package/components/link/types.ts +0 -9
- package/components/loader/demo/basic.md +0 -11
- package/components/loader/demo/blur.md +0 -35
- package/components/loader/demo/container.md +0 -26
- package/components/loader/demo/indicator.md +0 -11
- package/components/loader/demo/size.md +0 -15
- package/components/loader/demo/state.md +0 -35
- package/components/loader/demo/tips.md +0 -28
- package/components/loader/index.md +0 -49
- package/components/loader/index.tsx +0 -50
- package/components/loader/indicator.tsx +0 -21
- package/components/loader/style/_index.scss +0 -142
- package/components/loader/types.ts +0 -24
- package/components/loading-bar/demo/basic.md +0 -13
- package/components/loading-bar/index.md +0 -33
- package/components/loading-bar/index.ts +0 -93
- package/components/loading-bar/loading-bar.tsx +0 -26
- package/components/loading-bar/style/_index.scss +0 -17
- package/components/loading-bar/types.ts +0 -9
- package/components/menu/demo/horizontal.md +0 -37
- package/components/menu/demo/inline.md +0 -37
- package/components/menu/demo/vertical.md +0 -37
- package/components/menu/index.md +0 -28
- package/components/menu/index.tsx +0 -20
- package/components/menu/menu-context.ts +0 -15
- package/components/menu/menu-divider.tsx +0 -18
- package/components/menu/menu-item-group.tsx +0 -54
- package/components/menu/menu-item.tsx +0 -58
- package/components/menu/menu.tsx +0 -71
- package/components/menu/style/_index.scss +0 -183
- package/components/menu/style/_mixin.scss +0 -16
- package/components/menu/style/index.tsx +0 -4
- package/components/menu/sub-menu-context.ts +0 -8
- package/components/menu/sub-menu.tsx +0 -162
- package/components/menu/types.ts +0 -50
- package/components/message/demo/basic.md +0 -19
- package/components/message/demo/duration.md +0 -19
- package/components/message/demo/extra.md +0 -27
- package/components/message/demo/type.md +0 -25
- package/components/message/index.md +0 -37
- package/components/message/index.tsx +0 -109
- package/components/message/message.tsx +0 -87
- package/components/message/style/_index.scss +0 -59
- package/components/message/types.ts +0 -13
- package/components/modal/demo/animation.md +0 -48
- package/components/modal/demo/basic.md +0 -34
- package/components/modal/demo/customised-footer.md +0 -47
- package/components/modal/demo/position.md +0 -51
- package/components/modal/index.md +0 -35
- package/components/modal/index.tsx +0 -117
- package/components/modal/style/_index.scss +0 -111
- package/components/modal/style/index.tsx +0 -5
- package/components/modal/types.ts +0 -34
- package/components/native-select/demo/basic.md +0 -19
- package/components/native-select/demo/disabled.md +0 -19
- package/components/native-select/demo/group.md +0 -25
- package/components/native-select/demo/size.md +0 -35
- package/components/native-select/index.md +0 -44
- package/components/native-select/index.tsx +0 -14
- package/components/native-select/native-opt-group.tsx +0 -16
- package/components/native-select/native-option.tsx +0 -12
- package/components/native-select/native-select.tsx +0 -39
- package/components/native-select/style/_index.scss +0 -65
- package/components/native-select/types.ts +0 -13
- package/components/notification/demo/basic.md +0 -23
- package/components/notification/demo/duration.md +0 -23
- package/components/notification/demo/icon.md +0 -23
- package/components/notification/demo/placement.md +0 -30
- package/components/notification/demo/type.md +0 -30
- package/components/notification/index.md +0 -43
- package/components/notification/index.tsx +0 -104
- package/components/notification/notification.tsx +0 -84
- package/components/notification/style/_index.scss +0 -61
- package/components/notification/types.ts +0 -20
- package/components/overlay/index.tsx +0 -60
- package/components/overlay/style/_index.scss +0 -51
- package/components/overlay/types.ts +0 -18
- package/components/pagination/demo/align.md +0 -17
- package/components/pagination/demo/basic.md +0 -11
- package/components/pagination/demo/controlled.md +0 -19
- package/components/pagination/demo/disabled.md +0 -15
- package/components/pagination/demo/more.md +0 -11
- package/components/pagination/demo/size.md +0 -15
- package/components/pagination/index.md +0 -45
- package/components/pagination/index.tsx +0 -151
- package/components/pagination/style/_index.scss +0 -129
- package/components/pagination/types.ts +0 -19
- package/components/pop-confirm/demo/basic.md +0 -13
- package/components/pop-confirm/demo/icon.md +0 -16
- package/components/pop-confirm/demo/locale.md +0 -13
- package/components/pop-confirm/demo/placement.md +0 -116
- package/components/pop-confirm/index.md +0 -37
- package/components/pop-confirm/index.tsx +0 -78
- package/components/pop-confirm/style/_index.scss +0 -25
- package/components/pop-confirm/style/index.tsx +0 -5
- package/components/pop-confirm/types.ts +0 -10
- package/components/popover/demo/basic.md +0 -24
- package/components/popover/demo/controlled.md +0 -35
- package/components/popover/demo/placement.md +0 -112
- package/components/popover/demo/trigger.md +0 -37
- package/components/popover/index.md +0 -37
- package/components/popover/index.tsx +0 -37
- package/components/popover/style/_index.scss +0 -43
- package/components/popover/style/index.tsx +0 -4
- package/components/popover/types.ts +0 -11
- package/components/popup/index.tsx +0 -270
- package/components/popup/style/_index.scss +0 -84
- package/components/popup/style/index.tsx +0 -4
- package/components/popup/types.ts +0 -55
- package/components/portal/index.tsx +0 -14
- package/components/progress/bar.tsx +0 -94
- package/components/progress/circle.tsx +0 -89
- package/components/progress/demo/active.md +0 -20
- package/components/progress/demo/custom-text.md +0 -48
- package/components/progress/demo/dynamic.md +0 -34
- package/components/progress/demo/internal-text.md +0 -23
- package/components/progress/demo/linear-gradient.md +0 -22
- package/components/progress/demo/progress-bar.md +0 -24
- package/components/progress/demo/progress-circle.md +0 -28
- package/components/progress/demo/reverse.md +0 -38
- package/components/progress/demo/square-linecaps.md +0 -20
- package/components/progress/index.md +0 -54
- package/components/progress/index.tsx +0 -9
- package/components/progress/style/_index.scss +0 -170
- package/components/progress/types.ts +0 -39
- package/components/radio/demo/basic.md +0 -11
- package/components/radio/demo/disabled.md +0 -38
- package/components/radio/demo/group.md +0 -43
- package/components/radio/index.md +0 -34
- package/components/radio/index.tsx +0 -11
- package/components/radio/radio-group-context.ts +0 -10
- package/components/radio/radio-group.tsx +0 -57
- package/components/radio/radio.tsx +0 -75
- package/components/radio/style/_index.scss +0 -86
- package/components/radio/types.ts +0 -25
- package/components/rate/demo/basic.md +0 -11
- package/components/rate/demo/character.md +0 -19
- package/components/rate/demo/clearable.md +0 -15
- package/components/rate/demo/disabled.md +0 -11
- package/components/rate/demo/half.md +0 -11
- package/components/rate/index.md +0 -39
- package/components/rate/index.tsx +0 -91
- package/components/rate/rate-item.tsx +0 -41
- package/components/rate/style/_index.scss +0 -31
- package/components/rate/types.ts +0 -17
- package/components/result/demo/error.md +0 -20
- package/components/result/demo/icon.md +0 -20
- package/components/result/demo/info.md +0 -19
- package/components/result/demo/loading.md +0 -19
- package/components/result/demo/success.md +0 -21
- package/components/result/demo/warning.md +0 -19
- package/components/result/index.md +0 -35
- package/components/result/index.tsx +0 -65
- package/components/result/style/_index.scss +0 -48
- package/components/result/types.ts +0 -15
- package/components/row/index.tsx +0 -3
- package/components/scroll-indicator/demo/basic.md +0 -22
- package/components/scroll-indicator/demo/target.md +0 -28
- package/components/scroll-indicator/index.md +0 -30
- package/components/scroll-indicator/index.tsx +0 -45
- package/components/scroll-indicator/style/_index.scss +0 -15
- package/components/scroll-indicator/types.ts +0 -10
- package/components/select/demo/basic.md +0 -0
- package/components/select/index.md +0 -0
- package/components/select/index.tsx +0 -14
- package/components/select/opt-group.tsx +0 -38
- package/components/select/option.tsx +0 -57
- package/components/select/select-context.tsx +0 -9
- package/components/select/select.tsx +0 -109
- package/components/select/style/_index.scss +0 -74
- package/components/select/style/index.tsx +0 -4
- package/components/select/types.ts +0 -34
- package/components/skeleton/demo/active.md +0 -16
- package/components/skeleton/demo/basic.md +0 -16
- package/components/skeleton/demo/combination.md +0 -30
- package/components/skeleton/index.md +0 -32
- package/components/skeleton/index.tsx +0 -34
- package/components/skeleton/style/_index.scss +0 -42
- package/components/skeleton/types.ts +0 -8
- package/components/slider/demo/basic.md +0 -11
- package/components/slider/demo/customised-tooltip.md +0 -11
- package/components/slider/demo/disabled.md +0 -14
- package/components/slider/demo/dots.md +0 -15
- package/components/slider/demo/dual.md +0 -11
- package/components/slider/demo/marker.md +0 -42
- package/components/slider/demo/tooltip-visible.md +0 -20
- package/components/slider/demo/track.md +0 -11
- package/components/slider/demo/vertical.md +0 -41
- package/components/slider/index.md +0 -63
- package/components/slider/index.tsx +0 -358
- package/components/slider/style/_index.scss +0 -178
- package/components/slider/style/index.tsx +0 -4
- package/components/slider/types.ts +0 -34
- package/components/space/demo/align.md +0 -45
- package/components/space/demo/basic.md +0 -18
- package/components/space/demo/size.md +0 -44
- package/components/space/demo/vertical.md +0 -18
- package/components/space/index.md +0 -34
- package/components/space/index.tsx +0 -58
- package/components/space/style/_index.scss +0 -25
- package/components/space/types.ts +0 -11
- package/components/split/demo/horizontal.md +0 -18
- package/components/split/demo/multiple.md +0 -18
- package/components/split/demo/nest.md +0 -23
- package/components/split/demo/step.md +0 -18
- package/components/split/demo/vertical.md +0 -18
- package/components/split/index.md +0 -42
- package/components/split/index.tsx +0 -3
- package/components/split/resizer.tsx +0 -51
- package/components/split/split-context.ts +0 -8
- package/components/split/split-pane.tsx +0 -41
- package/components/split/split.tsx +0 -171
- package/components/split/style/_index.scss +0 -98
- package/components/split/types.ts +0 -37
- package/components/split-button/demo/basic.md +0 -36
- package/components/split-button/demo/disabled.md +0 -22
- package/components/split-button/demo/placement.md +0 -61
- package/components/split-button/index.md +0 -32
- package/components/split-button/index.tsx +0 -50
- package/components/split-button/style/_index.scss +0 -9
- package/components/split-button/style/index.tsx +0 -5
- package/components/split-button/types.ts +0 -16
- package/components/steps/demo/basic.md +0 -15
- package/components/steps/demo/clickable.md +0 -16
- package/components/steps/demo/icon.md +0 -16
- package/components/steps/demo/placement.md +0 -17
- package/components/steps/demo/switch.md +0 -35
- package/components/steps/demo/vertical.md +0 -15
- package/components/steps/index.md +0 -58
- package/components/steps/index.tsx +0 -11
- package/components/steps/steps-context.ts +0 -18
- package/components/steps/steps-item.tsx +0 -96
- package/components/steps/steps.tsx +0 -67
- package/components/steps/style/_index.scss +0 -208
- package/components/steps/types.ts +0 -26
- package/components/sticky/demo/basic.md +0 -23
- package/components/sticky/demo/callback.md +0 -13
- package/components/sticky/demo/container.md +0 -34
- package/components/sticky/index.md +0 -40
- package/components/sticky/index.tsx +0 -167
- package/components/sticky/style/_index.scss +0 -5
- package/components/sticky/types.ts +0 -12
- package/components/strength-indicator/demo/basic.md +0 -40
- package/components/strength-indicator/demo/label.md +0 -11
- package/components/strength-indicator/demo/password.md +0 -59
- package/components/strength-indicator/index.md +0 -29
- package/components/strength-indicator/index.tsx +0 -47
- package/components/strength-indicator/style/_index.scss +0 -46
- package/components/strength-indicator/types.ts +0 -18
- package/components/style/_animation.scss +0 -28
- package/components/style/_component.scss +0 -70
- package/components/style/_font.scss +0 -980
- package/components/style/_mixins.scss +0 -13
- package/components/style/_normalise.scss +0 -398
- package/components/style/_variables.scss +0 -264
- package/components/style/fonts/iconfont.eot +0 -0
- package/components/style/fonts/iconfont.ttf +0 -0
- package/components/style/fonts/iconfont.woff +0 -0
- package/components/style/index.scss +0 -5
- package/components/switch/demo/basic.md +0 -11
- package/components/switch/demo/disabled.md +0 -29
- package/components/switch/demo/loading.md +0 -31
- package/components/switch/demo/size.md +0 -35
- package/components/switch/demo/text.md +0 -31
- package/components/switch/index.md +0 -36
- package/components/switch/index.tsx +0 -60
- package/components/switch/style/_index.scss +0 -144
- package/components/switch/style/_mixin.scss +0 -16
- package/components/switch/types.ts +0 -16
- package/components/tabs/index.tsx +0 -13
- package/components/tabs/style/index.scss +0 -76
- package/components/tabs/tab-panel.tsx +0 -33
- package/components/tabs/tabs.tsx +0 -191
- package/components/tag/checkable-tag.tsx +0 -48
- package/components/tag/demo/basic.md +0 -33
- package/components/tag/demo/checkable.md +0 -27
- package/components/tag/demo/color.md +0 -34
- package/components/tag/demo/controlled.md +0 -33
- package/components/tag/demo/dynamic.md +0 -71
- package/components/tag/index.md +0 -41
- package/components/tag/index.tsx +0 -11
- package/components/tag/style/_index.scss +0 -114
- package/components/tag/tag.tsx +0 -68
- package/components/tag/types.ts +0 -33
- package/components/textarea/demo/basic.md +0 -11
- package/components/textarea/demo/count.md +0 -15
- package/components/textarea/index.md +0 -42
- package/components/textarea/index.tsx +0 -70
- package/components/textarea/style/_index.scss +0 -28
- package/components/textarea/style/index.tsx +0 -4
- package/components/textarea/types.ts +0 -12
- package/components/time-picker/index.tsx +0 -3
- package/components/time-picker/style/_index.scss +0 -46
- package/components/time-picker/time-panel.tsx +0 -66
- package/components/time-picker/time-picker.tsx +0 -50
- package/components/timeline/demo/basic.md +0 -16
- package/components/timeline/demo/centered.md +0 -16
- package/components/timeline/demo/color.md +0 -16
- package/components/timeline/demo/customised.md +0 -18
- package/components/timeline/index.md +0 -54
- package/components/timeline/index.tsx +0 -11
- package/components/timeline/style/_index.scss +0 -90
- package/components/timeline/timeline-item.tsx +0 -27
- package/components/timeline/timeline.tsx +0 -39
- package/components/timeline/types.ts +0 -19
- package/components/tooltip/demo/arrow.md +0 -13
- package/components/tooltip/demo/basic.md +0 -13
- package/components/tooltip/demo/placement.md +0 -107
- package/components/tooltip/index.md +0 -32
- package/components/tooltip/index.tsx +0 -36
- package/components/tooltip/style/_index.scss +0 -40
- package/components/tooltip/style/index.tsx +0 -4
- package/components/tooltip/types.ts +0 -9
- package/components/transfer/demo/basic.md +0 -30
- package/components/transfer/demo/search.md +0 -31
- package/components/transfer/index.md +0 -49
- package/components/transfer/index.tsx +0 -3
- package/components/transfer/style/_index.scss +0 -98
- package/components/transfer/style/index.tsx +0 -6
- package/components/transfer/transfer-panel.tsx +0 -142
- package/components/transfer/transfer.tsx +0 -143
- package/components/transfer/types.ts +0 -24
- package/components/transition/index.tsx +0 -64
- package/components/transition/style/_index.scss +0 -20
- package/components/transition/style/_mixin.scss +0 -58
- package/components/tree/demo/basic.md +0 -58
- package/components/tree/demo/icon.md +0 -61
- package/components/tree/demo/selectable.md +0 -56
- package/components/tree/index.md +0 -29
- package/components/tree/index.tsx +0 -3
- package/components/tree/style/_index.scss +0 -66
- package/components/tree/style/index.tsx +0 -4
- package/components/tree/tree-instance.ts +0 -190
- package/components/tree/tree-node.tsx +0 -101
- package/components/tree/tree.tsx +0 -71
- package/components/tree/types.ts +0 -27
- package/components/typography/demo/basic.md +0 -49
- package/components/typography/demo/heading.md +0 -23
- package/components/typography/demo/text.md +0 -34
- package/components/typography/heading.tsx +0 -42
- package/components/typography/index.md +0 -25
- package/components/typography/index.tsx +0 -17
- package/components/typography/paragraph.tsx +0 -23
- package/components/typography/style/_index.scss +0 -126
- package/components/typography/text.tsx +0 -52
- package/components/typography/types.ts +0 -31
- package/components/typography/typography.tsx +0 -23
- package/components/upload/ajax.ts +0 -52
- package/components/upload/demo/basic.md +0 -15
- package/components/upload/demo/drag.md +0 -22
- package/components/upload/demo/upload-list.md +0 -35
- package/components/upload/dragger-cover.tsx +0 -47
- package/components/upload/index.md +0 -60
- package/components/upload/index.tsx +0 -3
- package/components/upload/style/_index.scss +0 -99
- package/components/upload/style/index.tsx +0 -4
- package/components/upload/types.ts +0 -38
- package/components/upload/upload-list.tsx +0 -59
- package/components/upload/upload.tsx +0 -178
- package/components/waterfall/index.tsx +0 -78
- package/components/waterfall/style/_index.scss +0 -10
- package/dist/tiny.js +0 -3261
- package/dist/tiny.map +0 -1
- package/lib/autocomplete/index.d.ts +0 -7
- package/lib/autocomplete/index.js +0 -33
- package/lib/autocomplete/index.js.map +0 -1
- package/lib/autocomplete/types.d.ts +0 -5
- package/lib/autocomplete/types.js.map +0 -1
- package/lib/carousel/arrow-group.d.ts +0 -8
- package/lib/carousel/arrow-group.js +0 -9
- package/lib/carousel/arrow-group.js.map +0 -1
- package/lib/carousel/dot-group.d.ts +0 -10
- package/lib/carousel/dot-group.js +0 -16
- package/lib/carousel/dot-group.js.map +0 -1
- package/lib/waterfall/index.d.ts +0 -9
- package/lib/waterfall/index.js +0 -54
- package/lib/waterfall/index.js.map +0 -1
- package/lib/waterfall/style/_index.scss +0 -10
- package/lib/waterfall/style/index.js.map +0 -1
- package/test-setup.js +0 -1
- package/vercel.json +0 -7
- /package/{lib/waterfall → es/alert}/style/css.js +0 -0
- /package/{lib/waterfall → es/alert}/style/index.d.ts +0 -0
- /package/{lib/waterfall → es/alert}/style/index.js +0 -0
- /package/{lib/autocomplete → es/alert}/types.js +0 -0
- /package/{components/alert/style/index.tsx → es/aspect-ratio/style/index.d.ts} +0 -0
- /package/{components/aspect-ratio/style/index.tsx → es/avatar/style/index.d.ts} +0 -0
- /package/{components/avatar/style/index.tsx → es/back-top/style/index.d.ts} +0 -0
- /package/{components/back-top/style/index.tsx → es/badge/style/index.d.ts} +0 -0
- /package/{components/badge/style/index.tsx → es/breadcrumb/style/index.d.ts} +0 -0
- /package/{components/breadcrumb/style/index.tsx → es/button/style/index.d.ts} +0 -0
- /package/{components/button/style/index.tsx → es/calendar/style/index.d.ts} +0 -0
- /package/{components/calendar/style/index.tsx → es/card/style/index.d.ts} +0 -0
- /package/{components/card/style/index.tsx → es/carousel/style/index.d.ts} +0 -0
- /package/{components/carousel/style/index.tsx → es/cascader/style/index.d.ts} +0 -0
- /package/{components/checkbox/style/index.tsx → es/checkbox/style/index.d.ts} +0 -0
- /package/{components/collapse/style/index.tsx → es/collapse/style/index.d.ts} +0 -0
- /package/{components → es}/collapse-transition/style/_index.scss +0 -0
- /package/{components/collapse-transition/style/index.tsx → es/collapse-transition/style/index.d.ts} +0 -0
- /package/{components/date-picker/style/index.tsx → es/color-picker/style/index.d.ts} +0 -0
- /package/{components/descriptions/style/index.tsx → es/date-picker/style/index.d.ts} +0 -0
- /package/{components/divider/style/index.tsx → es/descriptions/style/index.d.ts} +0 -0
- /package/{components/empty/style/index.tsx → es/divider/style/index.d.ts} +0 -0
- /package/{components/flip/style/index.tsx → es/empty/style/index.d.ts} +0 -0
- /package/{components/grid/style/index.tsx → es/flex/style/index.d.ts} +0 -0
- /package/{components/icon/style/index.tsx → es/flip/style/index.d.ts} +0 -0
- /package/{components/image/style/index.tsx → es/grid/style/index.d.ts} +0 -0
- /package/{components/input/style/index.tsx → es/icon/style/index.d.ts} +0 -0
- /package/{components/keyboard/style/index.tsx → es/image/style/index.d.ts} +0 -0
- /package/{components/layout/style/index.tsx → es/input/style/index.d.ts} +0 -0
- /package/{components/link/style/index.tsx → es/keyboard/style/index.d.ts} +0 -0
- /package/{components/loader/style/index.tsx → es/layout/style/index.d.ts} +0 -0
- /package/{components/loading-bar/style/index.tsx → es/link/style/index.d.ts} +0 -0
- /package/{components/message/style/index.tsx → es/list/style/index.d.ts} +0 -0
- /package/{components/native-select/style/index.tsx → es/loader/style/index.d.ts} +0 -0
- /package/{components/notification/style/index.tsx → es/loading-bar/style/index.d.ts} +0 -0
- /package/{components/overlay/style/index.tsx → es/message/style/index.d.ts} +0 -0
- /package/{components → es}/native-select/style/_mixin.scss +0 -0
- /package/{components/pagination/style/index.tsx → es/native-select/style/index.d.ts} +0 -0
- /package/{components/progress/style/index.tsx → es/notification/style/index.d.ts} +0 -0
- /package/{components/radio/style/index.tsx → es/overlay/style/index.d.ts} +0 -0
- /package/{components/rate/style/index.tsx → es/pagination/style/index.d.ts} +0 -0
- /package/{components/result/style/index.tsx → es/progress/style/index.d.ts} +0 -0
- /package/{components/scroll-indicator/style/index.tsx → es/radio/style/index.d.ts} +0 -0
- /package/{components/skeleton/style/index.tsx → es/rate/style/index.d.ts} +0 -0
- /package/{components/space/style/index.tsx → es/result/style/index.d.ts} +0 -0
- /package/{components/split/style/index.tsx → es/scroll-indicator/style/index.d.ts} +0 -0
- /package/{components/steps/style/index.tsx → es/segmented/style/index.d.ts} +0 -0
- /package/{components/sticky/style/index.tsx → es/skeleton/style/index.d.ts} +0 -0
- /package/{components/strength-indicator/style/index.tsx → es/space/style/index.d.ts} +0 -0
- /package/{components/switch/style/index.tsx → es/split/style/index.d.ts} +0 -0
- /package/{components/tabs/style/index.tsx → es/statistic/style/index.d.ts} +0 -0
- /package/{components/tag/style/index.tsx → es/steps/style/index.d.ts} +0 -0
- /package/{components/time-picker/style/index.tsx → es/sticky/style/index.d.ts} +0 -0
- /package/{components/timeline/style/index.tsx → es/strength-indicator/style/index.d.ts} +0 -0
- /package/{components → es}/style/fonts/iconfont.svg +0 -0
- /package/{components/transition/style/index.tsx → es/switch/style/index.d.ts} +0 -0
- /package/{components/typography/style/index.tsx → es/table/style/index.d.ts} +0 -0
- /package/{components/waterfall/style/index.tsx → es/tabs/style/index.d.ts} +0 -0
package/dist/tiny.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap","webpack:///external {\"root\":\"React\",\"commonjs2\":\"react\",\"commonjs\":\"react\",\"amd\":\"react\"}","webpack:///./node_modules/classnames/index.js","webpack:///external {\"root\":\"ReactDOM\",\"commonjs2\":\"react-dom\",\"commonjs\":\"react-dom\",\"amd\":\"react-dom\"}","webpack:///./node_modules/raf/index.js","webpack:///./node_modules/prop-types/index.js","webpack:///./node_modules/prop-types/factoryWithThrowingShims.js","webpack:///./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/performance-now/lib/performance-now.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/tslib/tslib.es6.js","webpack:///./components/config-provider/config-context.tsx","webpack:///./components/_utils/general.ts","webpack:///./components/_utils/components.tsx","webpack:///./node_modules/@babel/runtime/helpers/esm/extends.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack:///./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack:///./node_modules/dom-helpers/esm/removeClass.js","webpack:///./node_modules/react-transition-group/esm/config.js","webpack:///./node_modules/react-transition-group/esm/TransitionGroupContext.js","webpack:///./node_modules/react-transition-group/esm/Transition.js","webpack:///./node_modules/react-transition-group/esm/CSSTransition.js","webpack:///./node_modules/dom-helpers/esm/addClass.js","webpack:///./node_modules/dom-helpers/esm/hasClass.js","webpack:///./components/transition/index.tsx","webpack:///./components/alert/index.tsx","webpack:///./components/anchor/anchor-context.ts","webpack:///./components/_utils/dom.ts","webpack:///./components/sticky/index.tsx","webpack:///./components/anchor/anchor.tsx","webpack:///./components/anchor/anchor-link.tsx","webpack:///./components/anchor/index.tsx","webpack:///./components/_utils/enum.ts","webpack:///./components/aspect-ratio/index.tsx","webpack:///./components/input/input.tsx","webpack:///./components/autocomplete/index.tsx","webpack:///./components/avatar/avatar.tsx","webpack:///./components/avatar/avatar-group.tsx","webpack:///./components/avatar/index.tsx","webpack:///./components/back-top/index.tsx","webpack:///./components/_utils/warning.ts","webpack:///./components/badge/index.tsx","webpack:///./components/breadcrumb/breadcrumb.tsx","webpack:///./components/breadcrumb/breadcrumb-item.tsx","webpack:///./components/breadcrumb/index.tsx","webpack:///./components/button/button.tsx","webpack:///./components/button/button-group.tsx","webpack:///./components/button/index.tsx","webpack:///./components/card/card.tsx","webpack:///./components/card/card-content.tsx","webpack:///./components/card/index.tsx","webpack:///./components/carousel/carousel-item.tsx","webpack:///./components/carousel/dot-group.tsx","webpack:///./components/carousel/arrow-group.tsx","webpack:///./components/carousel/carousel.tsx","webpack:///./components/carousel/index.tsx","webpack:///./components/checkbox/checkbox-group-context.ts","webpack:///./components/checkbox/checkbox.tsx","webpack:///./components/checkbox/checkbox-group.tsx","webpack:///./components/checkbox/index.tsx","webpack:///./components/config-provider/index.tsx","webpack:///./components/copy-to-clipboard/index.tsx","webpack:///./components/grid/col.tsx","webpack:///./components/col/index.tsx","webpack:///./components/collapse/collapse-context.ts","webpack:///./components/collapse/collapse.tsx","webpack:///./components/collapse-transition/index.tsx","webpack:///./components/collapse/collapse-panel.tsx","webpack:///./components/collapse/index.tsx","webpack:///./components/countdown/index.tsx","webpack:///./components/descriptions/col.tsx","webpack:///./components/descriptions/row.tsx","webpack:///./components/descriptions/descriptions.tsx","webpack:///./components/descriptions/descriptions-item.tsx","webpack:///./components/descriptions/index.tsx","webpack:///./components/divider/index.tsx","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getWindow.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","webpack:///./node_modules/@popperjs/core/lib/enums.js","webpack:///./node_modules/@popperjs/core/lib/utils/orderModifiers.js","webpack:///./node_modules/@popperjs/core/lib/index.js","webpack:///./node_modules/@popperjs/core/lib/utils/debounce.js","webpack:///./node_modules/@popperjs/core/lib/utils/mergeByName.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/eventListeners.js","webpack:///./node_modules/@popperjs/core/lib/utils/getBasePlacement.js","webpack:///./node_modules/@popperjs/core/lib/utils/getVariation.js","webpack:///./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","webpack:///./node_modules/@popperjs/core/lib/utils/computeOffsets.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/computeStyles.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/offset.js","webpack:///./node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","webpack:///./node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/contains.js","webpack:///./node_modules/@popperjs/core/lib/utils/rectToClientRect.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","webpack:///./node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","webpack:///./node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","webpack:///./node_modules/@popperjs/core/lib/utils/expandToHashMap.js","webpack:///./node_modules/@popperjs/core/lib/utils/detectOverflow.js","webpack:///./node_modules/@popperjs/core/lib/utils/within.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/hide.js","webpack:///./node_modules/@popperjs/core/lib/popper.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/applyStyles.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/flip.js","webpack:///./node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","webpack:///./node_modules/@popperjs/core/lib/utils/getAltAxis.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/arrow.js","webpack:///./components/portal/index.tsx","webpack:///./components/popup/index.tsx","webpack:///./components/dropdown/index.tsx","webpack:///./components/overlay/index.tsx","webpack:///./components/drawer/index.tsx","webpack:///./components/empty/index.tsx","webpack:///./components/flip/flip.tsx","webpack:///./components/flip/flip-item.tsx","webpack:///./components/flip/index.tsx","webpack:///./components/_utils/object.ts","webpack:///./components/form/form-helper.ts","webpack:///./components/form/form-instance.ts","webpack:///./components/form/form-instance-context.ts","webpack:///./components/form/form-options-context.ts","webpack:///./components/form/form.tsx","webpack:///./components/grid/row.tsx","webpack:///./components/form/form-item.tsx","webpack:///./components/form/index.tsx","webpack:///./components/form/use-form.ts","webpack:///./components/icon/index.tsx","webpack:///./components/image/index.tsx","webpack:///./components/input/input-group.tsx","webpack:///./components/input/input-group-addon.tsx","webpack:///./components/input/index.tsx","webpack:///./components/input-number/index.tsx","webpack:///./components/input-password/index.tsx","webpack:///./components/intl-provider/intl-context.tsx","webpack:///./components/intl-provider/index.tsx","webpack:///./components/keyboard/index.tsx","webpack:///./components/layout/sidebar-context.ts","webpack:///./components/layout/layout.tsx","webpack:///./components/layout/sidebar.tsx","webpack:///./components/layout/index.tsx","webpack:///./components/link/index.tsx","webpack:///./components/loader/indicator.tsx","webpack:///./components/loader/index.tsx","webpack:///./components/loading-bar/loading-bar.tsx","webpack:///./components/loading-bar/index.ts","webpack:///./components/menu/menu-context.ts","webpack:///./components/menu/menu.tsx","webpack:///./components/menu/sub-menu-context.ts","webpack:///./components/menu/menu-item.tsx","webpack:///./components/menu/sub-menu.tsx","webpack:///./components/menu/menu-item-group.tsx","webpack:///./components/menu/menu-divider.tsx","webpack:///./components/menu/index.tsx","webpack:///./components/message/message.tsx","webpack:///./components/message/index.tsx","webpack:///./components/native-select/native-select.tsx","webpack:///./components/native-select/native-option.tsx","webpack:///./components/native-select/native-opt-group.tsx","webpack:///./components/native-select/index.tsx","webpack:///./components/row/index.tsx","webpack:///./components/modal/index.tsx","webpack:///./components/notification/index.tsx","webpack:///./components/notification/notification.tsx","webpack:///./components/popover/index.tsx","webpack:///./components/pagination/index.tsx","webpack:///./components/pop-confirm/index.tsx","webpack:///./components/progress/types.ts","webpack:///./components/progress/circle.tsx","webpack:///./components/progress/bar.tsx","webpack:///./components/progress/index.tsx","webpack:///./components/radio/radio-group-context.ts","webpack:///./components/radio/radio.tsx","webpack:///./components/radio/radio-group.tsx","webpack:///./components/radio/index.tsx","webpack:///./components/rate/rate-item.tsx","webpack:///./components/rate/index.tsx","webpack:///./components/result/index.tsx","webpack:///./components/scroll-indicator/index.tsx","webpack:///./components/_utils/hooks.tsx","webpack:///./components/select/select-context.tsx","webpack:///./components/select/select.tsx","webpack:///./components/select/option.tsx","webpack:///./components/select/opt-group.tsx","webpack:///./components/select/index.tsx","webpack:///./components/skeleton/index.tsx","webpack:///./components/tooltip/index.tsx","webpack:///./components/slider/index.tsx","webpack:///./components/split/resizer.tsx","webpack:///./components/split/split-context.ts","webpack:///./components/split/split-pane.tsx","webpack:///./components/split/split.tsx","webpack:///./components/split/index.tsx","webpack:///./components/split-button/index.tsx","webpack:///./components/space/index.tsx","webpack:///./components/steps/steps-context.ts","webpack:///./components/steps/steps.tsx","webpack:///./components/steps/steps-item.tsx","webpack:///./components/steps/index.tsx","webpack:///./components/strength-indicator/index.tsx","webpack:///./components/switch/index.tsx","webpack:///./components/tabs/tabs.tsx","webpack:///./components/tabs/tab-panel.tsx","webpack:///./components/tabs/index.tsx","webpack:///./components/tag/types.ts","webpack:///./components/tag/tag.tsx","webpack:///./components/tag/checkable-tag.tsx","webpack:///./components/tag/index.tsx","webpack:///./components/textarea/index.tsx","webpack:///./components/timeline/timeline.tsx","webpack:///./components/timeline/timeline-item.tsx","webpack:///./components/timeline/index.tsx","webpack:///./components/transfer/transfer-panel.tsx","webpack:///./components/transfer/transfer.tsx","webpack:///./components/transfer/index.tsx","webpack:///./components/tree/tree-instance.ts","webpack:///./components/tree/tree-node.tsx","webpack:///./components/tree/tree.tsx","webpack:///./components/tree/index.tsx","webpack:///./components/typography/heading.tsx","webpack:///./components/typography/typography.tsx","webpack:///./components/typography/paragraph.tsx","webpack:///./components/typography/text.tsx","webpack:///./components/typography/index.tsx","webpack:///./components/upload/ajax.ts","webpack:///./components/upload/upload-list.tsx","webpack:///./components/upload/dragger-cover.tsx","webpack:///./components/upload/upload.tsx","webpack:///./components/upload/index.tsx","webpack:///./components/intl-provider/with-locale.tsx"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__0__","__WEBPACK_EXTERNAL_MODULE__2__","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","hasOwn","classNames","classes","arguments","length","arg","argType","push","Array","isArray","inner","apply","join","default","global","vendors","suffix","raf","caf","last","id","queue","callback","_now","now","next","Math","max","setTimeout","cp","slice","cancelled","e","round","handle","fn","cancel","polyfill","requestAnimationFrame","cancelAnimationFrame","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","props","propName","componentName","location","propFullName","secret","err","Error","getShim","isRequired","ReactPropTypes","array","bool","func","number","string","symbol","any","arrayOf","element","elementType","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","g","this","Function","getNanoSeconds","hrtime","loadTime","moduleLoadTime","nodeLoadTime","upTime","performance","process","hr","uptime","Date","getTime","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","clearTimeout","currentQueue","draining","queueIndex","cleanUpNextTick","concat","drainQueue","timeout","len","run","marker","runClearTimeout","Item","noop","nextTick","args","title","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","__assign","assign","__rest","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__spreadArrays","il","k","a","j","jl","ConfigContext","createContext","prefixCls","componentSize","shimmer","space","getPrefixCls","suffixCls","contextPrefix","customisedCls","ArrowDown","size","color","otherProps","width","height","viewBox","fill","PaperClip","CheckCircle","CloseCircle","WarningCircle","InfoCircle","LoadingCircle","Check","Close","Eye","EyeClose","TreeArrow","_extends","target","source","_objectWithoutPropertiesLoose","excluded","sourceKeys","keys","_inheritsLoose","subClass","superClass","constructor","__proto__","replaceClassName","origClass","classToRemove","replace","RegExp","_React$Component","Transition","context","_this","initialStatus","appear","isMounting","enter","appearStatus","in","unmountOnExit","mountOnEnter","state","status","nextCallback","getDerivedStateFromProps","_ref","prevState","_proto","componentDidMount","updateStatus","componentDidUpdate","prevProps","nextStatus","componentWillUnmount","cancelNextCallback","getTimeouts","exit","undefined","mounting","performEnter","performExit","setState","_this2","appearing","_ref2","nodeRef","findDOMNode","maybeNode","maybeAppearing","timeouts","enterTimeout","config","safeSetState","onEntered","onEnter","onEntering","onTransitionEnd","_this3","onExit","onExiting","onExited","nextState","setNextCallback","_this4","active","event","handler","current","doesNotHaveTimeoutOrListener","addEndListener","_ref3","maybeNextCallback","render","_this$props","children","childProps","createElement","TransitionGroupContext","Provider","cloneElement","Children","only","Component","contextType","propTypes","defaultProps","UNMOUNTED","EXITED","ENTERING","ENTERED","EXITING","split","forEach","className","classList","remove","setAttribute","baseVal","CSSTransition","_len","_key","appliedClasses","_this$resolveArgument","resolveArguments","removeClasses","addClass","_this$resolveArgument2","type","_this$resolveArgument3","getClassNames","isStringClassNames","baseClassName","activeClassName","doneClassName","phase","scrollTop","add","contains","hasClass","_addClass","_this$appliedClasses$","base","done","prefix","animation","wrapper","displayName","iconSize","icon","closeText","closable","afterClose","onClose","style","isShow","setShow","ref","configContext","cls","closeIcon","role","onClick","borderTopWidth","paddingTop","marginTop","paddingBottom","borderBottomWidth","marginBottom","renderIcon","AnchorContext","getScroll","isVertical","elementProp","getRect","getBoundingClientRect","top","left","bottom","right","document","documentElement","clientWidth","clientHeight","getNodeHeight","innerHeight","Sticky","offsetTop","offsetBottom","container","onChange","placeholderRef","stickyRef","stickyStyle","setStickyStyle","placeholderStyle","setPlaceholderStyle","stickyContainer","setStickyContainer","stickyMode","offset","getOffset","placeholderNode","rect","containerRect","containerScrollTop","containerScrollLeft","updateStickyStyle","stuck","updatePlaceholderStyle","updateNodePosition","stickyNode","placeholderOffset","containerHeight","placeholderHeight","offsetHeight","stickyHeight","position","addEventListener","removeEventListener","Anchor","activeId","setActiveId","anchorRef","inkBallRef","updateInk","anchorEl","linkNode","getElementsByClassName","inkEl","linkEl","scrollToAnchor","anchorName","body","querySelector","scrollIntoView","initHashScroll","search","anchor","URLSearchParams","hash","handleScroll","headings","querySelectorAll","newActiveId","h","el","url","pathname","includes","protocol","host","history","pushState","path","map","child","childElement","AnchorLink","forwardRef","href","anchorContext","preventDefault","DefaultAnchor","Link","KeyCode","ratio","Input","disabled","clearable","defaultValue","onEnterPress","onKeyDown","onClearClick","inputSize","prefixRef","suffixRef","setValue","paddingLeft","paddingRight","inputPadding","setInputPadding","clearBtnOnClick","prefixNode","suffixNode","prefixWidth","offsetWidth","suffixWidth","padding","val","currentTarget","keyCode","ENTER","Autocomplete","inputVal","setInputVal","suggestions","setSuggestions","console","log","onSelect","trim","options","result","Avatar","presence","alt","src","outerEl","textEl","scale","setScale","styles","fontSize","lineHeight","textElWidth","outerElWidth","textStyle","transformString","msTransform","WebkitTransform","transform","renderChildren","AvatarGroup","gap","idx","marginLeft","DefaultAvatar","Group","visibilityHeight","visible","setVisible","getDistanceFromTop","targetNode","pageYOffset","setScrollToTop","distance","handleOnScroll","startTime","step","b","cc","time","warning","condition","message","serious","Badge","count","dot","processing","showZero","badgeStyle","dotCls","backgroundColor","Breadcrumb","separator","BreadcrumbItem","DefaultBreadcrumb","Button","btnType","loading","block","btnSize","ButtonGroup","DefaultButton","Card","bordered","hoverable","extra","header","headerStyle","actions","footer","footerStyle","isValidElement","CardContent","DefaultCard","Content","CarouselItem","activeIndex","amount","itemOnClick","_","dotClassName","leftBtnOnClick","rightBtnOnClick","finalChildren","dots","arrows","interval","animatedDuration","autoplay","dotPosition","easing","outerRef","containerRef","setWidth","currIndex","setCurrIndex","intervalTimer","setIntervalTimer","animate","isAnimated","transitionDuration","parseInt","moveNext","nextIndex","setInterval","clearInterval","transitionTimingFunction","index","prevIndex","abs","CheckboxGroupContext","Checkbox","defaultChecked","indeterminate","checkboxRef","checkboxGroupContext","initialChecked","checked","setChecked","CheckboxGroup","splice","DefaultCheckbox","ConfigProvider","CopyToClipboard","text","textArea","background","appendChild","select","execCommand","removeChild","copy","ScreenTypes","Col","span","order","sizeClassObj","sizeProps","propSize","CollapseContext","activeKeys","toArray","activeKey","Collapse","showArrow","deletable","accordion","defaultActiveKey","currentActiveKey","activeItems","setActiveItems","onItemClick","itemKey","items","updateActiveItems","itemProps","CollapseTransition","leaveTimerRef","enterTimerRef","beforeEnter","display","afterEnter","scrollHeight","beforeLeave","afterLeave","leave","triggerChange","isCollapsed","enterTimer","leaveTimer","richNode","isActive","CollapsePanel","onHeaderOnClick","itemRef","headerOnClick","removeItem","stopPropagation","parentNode","headerCls","arrowCls","renderHeader","DefaultCollapse","Panel","Countdown","millisec","onFinish","day","hour","min","sec","date","setDate","timerRef","startInterval","floor","millisecond","item","colon","label","labelCls","colSpan","row","layout","renderCols","renderType","Descriptions","column","rows","leftSpans","columns","numOfChildren","itemNode","getRows","displayColon","DescriptionsItem","DefaultDesc","Divider","dashed","align","x","y","getWindow","toString","ownerDocument","defaultView","getWindowScroll","win","scrollLeft","pageXOffset","isElement","Element","isHTMLElement","HTMLElement","getNodeName","nodeName","toLowerCase","getDocumentElement","getWindowScrollBarX","getComputedStyle","isScrollParent","_getComputedStyle","overflow","overflowX","overflowY","test","getCompositeRect","elementOrVirtualElement","offsetParent","isFixed","isOffsetParentAnElement","scroll","offsets","clientLeft","clientTop","getLayoutRect","offsetLeft","getParentNode","assignedSlot","listScrollParents","list","scrollParent","getScrollParent","isBody","visualViewport","updatedList","isTableElement","getTrueOffsetParent","html","getOffsetParent","currentNode","css","perspective","willChange","getContainingBlock","basePlacements","variationPlacements","reduce","acc","placement","modifierPhases","modifiers","Map","visited","Set","modifier","set","has","sort","requires","requiresIfExists","dep","depModifier","DEFAULT_OPTIONS","strategy","areValidElements","some","popperGenerator","generatorOptions","_generatorOptions","_generatorOptions$def","defaultModifiers","_generatorOptions$def2","defaultOptions","reference","popper","pending","orderedModifiers","modifiersData","elements","attributes","effectCleanupFns","isDestroyed","instance","setOptions","cleanupModifierEffects","scrollParents","contextElement","filter","orderModifiers","merged","existing","data","mergeByName","enabled","_ref3$options","effect","cleanupFn","update","forceUpdate","_state$elements","rects","reset","_state$orderedModifie","_state$orderedModifie2","_options","Promise","resolve","then","destroy","onFirstUpdate","passive","getBasePlacement","getVariation","getMainAxisFromPlacement","computeOffsets","basePlacement","variation","commonX","commonY","mainAxis","ceil","unsetSides","mapToStyles","_Object$assign2","popperRect","gpuAcceleration","adaptive","_roundOffsets","dpr","devicePixelRatio","roundOffsets","hasX","hasY","sideX","sideY","_Object$assign","commonStyles","getOppositePlacement","matched","start","end","getOppositeVariationPlacement","parent","isShadow","Boolean","getRootNode","isSameNode","rectToClientRect","getClientRectFromMixedType","clippingParent","navigator","userAgent","getViewportRect","getInnerBoundingClientRect","winScroll","scrollWidth","direction","getDocumentRect","getClippingRect","boundary","rootBoundary","mainClippingParents","clippingParents","clipperElement","getClippingParents","firstClippingParent","clippingRect","accRect","mergePaddingObject","paddingObject","expandToHashMap","hashMap","detectOverflow","_options$placement","_options$boundary","_options$rootBoundary","_options$elementConte","elementContext","_options$altBoundary","altBoundary","_options$padding","altContext","referenceElement","clippingClientRect","referenceClientRect","popperOffsets","popperClientRect","elementClientRect","overflowOffsets","offsetData","multiply","axis","within","getSideOffsets","preventedOffsets","isAnySideFullyClipped","side","_options$scroll","_options$resize","resize","_options$gpuAccelerat","_options$adaptive","arrow","removeAttribute","initialStyles","margin","attribute","_options$offset","invertDistance","skidding","distanceAndSkiddingToXY","_data$state$placement","_skip","_options$mainAxis","checkMainAxis","_options$altAxis","altAxis","checkAltAxis","specifiedFallbackPlacements","fallbackPlacements","_options$flipVariatio","flipVariations","allowedAutoPlacements","preferredPlacement","oppositePlacement","getExpandedFallbackPlacements","placements","_options$allowedAutoP","allowedPlacements","overflows","computeAutoPlacement","referenceRect","checksMap","makeFallbackChecks","firstFittingPlacement","_basePlacement","isStartVariation","mainVariationSide","altVariationSide","checks","every","check","_loop","_i","fittingPlacement","find","_options$tether","tether","_options$tetherOffset","tetherOffset","isBasePlacement","tetherOffsetValue","mainSide","altSide","additive","minLen","maxLen","arrowElement","arrowRect","arrowPaddingObject","arrowPaddingMin","arrowPaddingMax","arrowLen","minOffset","maxOffset","arrowOffsetParent","clientOffset","offsetModifierValue","tetherMin","tetherMax","preventedOffset","_mainSide","_altSide","_offset","_preventedOffset","_state$modifiersData$","minProp","maxProp","endDiff","startDiff","clientSize","centerToReference","center","axisProp","centerOffset","_options$element","preventOverflow","referenceOverflow","popperAltOverflow","referenceClippingOffsets","popperEscapeOffsets","isReferenceHidden","hasPopperEscaped","createPortal","trigger","defaultVisible","flip","theme","usePortal","mouseEnterDelay","mouseLeaveDelay","biZoom","content","onVisibleChange","popupVisible","setPopupVisible","targetRef","popupRef","delayDisplayPopupTimer","delayHidePopupTimer","popperRef","displayPopup","hidePopup","delayDisplayPopup","delayHidePopup","handlePopupOnMouseEnter","handlePopupOnMouseLeave","handleTargetOnMouseEnter","handleTargetOnMouseLeave","documentOnClick","popup","handleTargetOnMouseClick","transitionOnEnter","transitionOnExited","popperInstance","renderContent","elementProps","Dropdown","overlay","childrenProps","onMouseEnter","onMouseLeave","overlayProps","overlayClassName","selectedIndex","renderOverlay","Overlay","blurred","zIndex","clickCallback","tabIndex","Drawer","unmountOnClose","maskType","maskClosable","maskStyle","drawerVisible","setDrawerVisible","sty","Empty","description","image","imageStyle","descStyle","stroke","strokeWidth","fillRule","cx","cy","rx","ry","Flip","reverse","innerCls","FlipItem","DefaultFlip","deepCopy","obj","getValueFromEvent","initValues","rules","errors","values","getFieldValues","getFieldValue","setFieldValue","notify","setFieldValues","getFiledErrors","getFieldError","setFieldError","setFiledRules","resetFields","validateField","rule","res","required","enumVal","pattern","validator","whitespace","segment","validate","validateFields","subscribe","listener","FormInstanceContext","FormOptionsContext","labelCol","wrapperCol","validateTrigger","Form","initialValues","form","onFinishFailed","formRef","useRef","onSubmit","formIns","onReset","gutter","gutterSide","justify","normalisedGutter","gutterStyle","FormItem","valueProp","valueGetter","valuePropName","helper","notice","itemLabelCol","itemWrapperCol","useContext","error","setError","hasErrLabel","setHasErrLabel","onBlur","getSpanAndOffset","col","getCol","isSelf","labelSpan","labelOffset","wrapperSpan","wrapperOffset","htmlFor","DefaultForm","useForm","FormInstance","Icon","spin","Image","objectFit","lazy","placeholder","fallback","observer","IntersectionObserver","entries","entry","isIntersecting","lazyImage","unobserve","imgNode","observe","InputGroup","InputGroupAddon","noBorder","DefaultInput","Addon","isValid","isNaN","controls","Number","NEGATIVE_INFINITY","POSITIVE_INFINITY","autoComplete","visibleOnClick","locale","Keyboard","SidebarContext","addSidebar","removeSidebar","Layout","hasSidebar","setHasSidebar","generator","_props","tagName","defaultCls","SubComponent","Header","Footer","Sidebar","defaultCollapsed","collapsedWidth","collapsible","onCollapse","collapsed","sideCollapsed","setSideCollapsed","sidebarContext","sidebarWidth","outerStyle","maxWidth","minWidth","_collapseBtnOnClick","collapsedVal","DefaultLayout","external","underline","Loader","vertical","indicator","tip","indicatorCls","containerCls","LoadingBar","didMount","rafId","loadingBar","outerDiv","move","unmountDom","opacity","component","getElementById","createComponent","succeed","fail","MenuContext","inlineIndent","Menu","defaultIndex","setActiveIndex","contextValue","warn","SubMenuContext","MenuItem","menuContext","subMenuContext","level","onMenuItemClick","SubMenu","_onMenuItemClick","menuOpen","setMenuOpen","subMenuCls","nonRootSubMenu","rightPopupMenu","menuItemCls","titleCls","startsWith","titleRef","handleOnClick","handleMouse","toggle","timer","renderChildrenList","titleNode","marginRight","parseFloat","MenuItemGroup","MenuDivider","DefaultMenu","ItemGroup","Message","duration","willUnmount","containers","lastContainer","div","updatedTop","containerDiv","elementTop","messageContainer","NativeSelect","NativeOption","NativeOptGroup","DefaultSelect","Option","OptGroup","Modal","centered","confirmText","cancelText","confirmLoading","onConfirm","onCancel","confirmButtonProps","cancelButtonProps","bodyStyle","modalVisible","setModalVisible","queryName","word","updatedPosition","elementPosition","notificationContainer","open","defaultCurrent","defaultPageSize","total","setCurrent","pageSize","setPageSize","unselectable","itemCount","num","basic","getItems","curr","renderItem","PopConfirm","cancelOnClick","confirmOnClick","strokePresetColors","Circle","percent","strokeLinecap","strokeColor","format","percentage","radius","perimeter","strokeBgCls","relativeStrokeWidth","toFixed","trackPath","PI","strokeDasharray","strokeDashoffset","Bar","showInfo","innerText","backgroundType","effectCls","RadioGroupContext","Radio","radioRef","radioGroupContext","RadioGroup","DefaultRadio","RateItem","half","character","getColor","Rate","tmpValue","setTmpValue","Result","subtitle","ScrollIndicator","fixed","eventName","savedHandler","eventListener","useEventListener","SelectContext","Select","defaultOpen","onDropdownVisibleChange","dropdownStyle","isOpenDropdown","setIsOpenDropdown","selectVal","setSelectVal","SelectOption","isSelect","setActive","SelectOptGroup","Skeleton","rounded","Tooltip","Slider","track","tooltipPlacement","tooltipVisible","tipFormatter","marks","onAfterChange","sliderValues","setSliderValues","isHovering","setHovering","railRef","trackRef","thumbIdx","isDragging","mouseStartPos","trackStartPos","currVal","railNode","trackNode","getValueToPercent","handleOnChange","getWidthToValue","numOfSteps","handleThumbOnDragging","sliderVal","handleThumbOnDragEnd","isDotActive","dotVal","handleThumbOnMouseLeave","trackStyle","leftValue","rightValue","calculateTrackStyle","markOffset","val1","val2","getRangeValue","handleThumbOnMouseEnter","onMouseDown","trackOffset","capture","handleThumbOnMouseDown","stepWidth","getSteps","stepVal","mark","renderMark","Resizer","onResizerMouseDown","SplitContext","SplitPane","paneStyle","Split","resizerSize","defaultSize","onDragStarted","onDragFinished","defaultStyle","resizerProps","pane1Size","setPane1Size","wrapperRef","paneRef","isActiveMove","lastPosition","getSizeNumber","minSize","maxSize","onMouseMove","pane","newSize","newPosition","onMouseUp","minHeight","initialSize","childrenList","flex","SplitButton","dropdownPlacement","dropdownTrigger","spaceSize","sm","md","lg","Space","getItemStyle","StepsContext","labelPlacement","clickable","Steps","stepIndex","StepsItem","stepsContext","stepStatus","iconNode","DefaultSteps","Step","StrengthIndicator","blocks","colors","displayLabels","labels","from","itemCls","bgColor","Switch","checkedText","uncheckedText","switchSize","Tabs","selectIndex","animated","lineWidth","scrollOffset","headerWidth","headerHeight","isArrowShown","tabHeaderWrapRef","tabHeaderNavRef","activeTab","headerDimension","scrollDimension","arrowL","arrowR","isArrowLDisabled","isArrowRDisabled","headerNavStyle","bodyCls","arrowLCls","arrowRCls","selected","animateStyle","tab","headerLineStyle","renderHeaderLine","scrollLeftOrTop","scrollRightOrBottom","TabPanel","DefaultTabs","PresetColors","Tag","tagStyle","borderColor","defaultPrevented","CheckableTag","DefaultTag","Textarea","limit","counter","setCount","textareaOnChange","maxLength","Timeline","TimelineItem","dotStyle","DefaultTimeline","TransferPanel","dataSource","checkedKeys","showSearch","filterOption","allDisabled","query","setQuery","filteredData","checkableData","isAllChecked","isIndeterminate","Transfer","buttonTexts","titles","placeholders","rightKeys","rightData","getDataKeys","leftData","sourceData","setSourceData","targetData","setTargetData","leftCheckedKeys","setLeftCheckedKeys","rightCheckedKeys","setRightCheckedKeys","currKeys","leftKeys","targetKey","defaultCheckedKeys","defaultExpandedKeys","defaultExpandAll","treeNodes","handleTreeNode","parentKey","disableCheckbox","uniqueKey","expanded","getNodeByUniqueKey","numOfChecked","checkChildren","isChecked","checkParent","setNodeChecked","setNodeExpanded","isExpanded","isPropValueTrue","prop","getCheckedKeys","nodes","getExpandedKeys","TreeNode","indent","blockNode","checkable","treeClassName","onCheckboxChange","onExpandChange","nodeIcon","switcherOnClick","Tree","onCheck","onExpand","treeInstance","setTreeNodes","tree","htmlType","headingGenerator","Typography","Paragraph","tagGenerator","tag","code","del","strong","italic","sub","sup","Node","DefaultTypo","Heading","Text","ajax","option","action","file","filename","method","onProgress","onSuccess","onError","headers","withCredentials","xhr","XMLHttpRequest","onerror","onload","upload","onprogress","loaded","formData","FormData","append","setRequestHeader","send","UploadList","fileList","onRemove","uid","DraggerCover","onFile","dragOver","setDragOver","handleDragOver","isOver","onDragOver","onDragLeave","onDrop","dataTransfer","files","Upload","defaultFileList","httpRequest","accept","multiple","drag","beforeUpload","onExceed","fileRef","setFileList","updateFileList","updateFile","targetObj","postRequest","uploadFile","updateObj","xhrOnProgress","updatedUploadFile","xhrOnComplete","xhrOnError","uploadFiles","processedFile","click","withLocale","WrappedComponent"],"mappings":"CAAA,SAA2CA,EAAMC,GAC1B,iBAAZC,SAA0C,iBAAXC,OACxCA,OAAOD,QAAUD,EAAQG,QAAQ,SAAUA,QAAQ,cAC1B,mBAAXC,QAAyBA,OAAOC,IAC9CD,OAAO,CAAC,QAAS,aAAcJ,GACL,iBAAZC,QACdA,QAAc,KAAID,EAAQG,QAAQ,SAAUA,QAAQ,cAEpDJ,EAAW,KAAIC,EAAQD,EAAY,MAAGA,EAAe,UARvD,CASGO,QAAQ,SAASC,EAAgCC,GACpD,O,YCTE,IAAIC,EAAmB,GAGvB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUV,QAGnC,IAAIC,EAASO,EAAiBE,GAAY,CACzCC,EAAGD,EACHE,GAAG,EACHZ,QAAS,IAUV,OANAa,EAAQH,GAAUI,KAAKb,EAAOD,QAASC,EAAQA,EAAOD,QAASS,GAG/DR,EAAOW,GAAI,EAGJX,EAAOD,QA0Df,OArDAS,EAAoBM,EAAIF,EAGxBJ,EAAoBO,EAAIR,EAGxBC,EAAoBQ,EAAI,SAASjB,EAASkB,EAAMC,GAC3CV,EAAoBW,EAAEpB,EAASkB,IAClCG,OAAOC,eAAetB,EAASkB,EAAM,CAAEK,YAAY,EAAMC,IAAKL,KAKhEV,EAAoBgB,EAAI,SAASzB,GACX,oBAAX0B,QAA0BA,OAAOC,aAC1CN,OAAOC,eAAetB,EAAS0B,OAAOC,YAAa,CAAEC,MAAO,WAE7DP,OAAOC,eAAetB,EAAS,aAAc,CAAE4B,OAAO,KAQvDnB,EAAoBoB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQnB,EAAoBmB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,iBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKX,OAAOY,OAAO,MAGvB,GAFAxB,EAAoBgB,EAAEO,GACtBX,OAAOC,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOnB,EAAoBQ,EAAEe,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRvB,EAAoB2B,EAAI,SAASnC,GAChC,IAAIkB,EAASlB,GAAUA,EAAO8B,WAC7B,WAAwB,OAAO9B,EAAgB,SAC/C,WAA8B,OAAOA,GAEtC,OADAQ,EAAoBQ,EAAEE,EAAQ,IAAKA,GAC5BA,GAIRV,EAAoBW,EAAI,SAASiB,EAAQC,GAAY,OAAOjB,OAAOkB,UAAUC,eAAe1B,KAAKuB,EAAQC,IAGzG7B,EAAoBgC,EAAI,GAIjBhC,EAAoBA,EAAoBiC,EAAI,I,gBClFrDzC,EAAOD,QAAUM,G,gBCAjB;;;;;GAOC,WACA,aAEA,IAAIqC,EAAS,GAAGH,eAEhB,SAASI,IAGR,IAFA,IAAIC,EAAU,GAELlC,EAAI,EAAGA,EAAImC,UAAUC,OAAQpC,IAAK,CAC1C,IAAIqC,EAAMF,UAAUnC,GACpB,GAAKqC,EAAL,CAEA,IAAIC,SAAiBD,EAErB,GAAgB,WAAZC,GAAoC,WAAZA,EAC3BJ,EAAQK,KAAKF,QACP,GAAIG,MAAMC,QAAQJ,IAAQA,EAAID,OAAQ,CAC5C,IAAIM,EAAQT,EAAWU,MAAM,KAAMN,GAC/BK,GACHR,EAAQK,KAAKG,QAER,GAAgB,WAAZJ,EACV,IAAK,IAAIf,KAAOc,EACXL,EAAO7B,KAAKkC,EAAKd,IAAQc,EAAId,IAChCW,EAAQK,KAAKhB,IAMjB,OAAOW,EAAQU,KAAK,KAGgBtD,EAAOD,SAC3C4C,EAAWY,QAAUZ,EACrB3C,EAAOD,QAAU4C,QAKhB,KAFwB,EAAF,WACtB,OAAOA,GACP,QAFoB,OAEpB,aAxCH,I,cCPA3C,EAAOD,QAAUO,G,iBCAjB,YAOA,IAPA,MAAU,EAAQ,IACdT,EAAyB,oBAAXO,OAAyBoD,EAASpD,OAChDqD,EAAU,CAAC,MAAO,UAClBC,EAAS,iBACTC,EAAM9D,EAAK,UAAY6D,GACvBE,EAAM/D,EAAK,SAAW6D,IAAW7D,EAAK,gBAAkB6D,GAEpDhD,EAAI,GAAIiD,GAAOjD,EAAI+C,EAAQX,OAAQpC,IACzCiD,EAAM9D,EAAK4D,EAAQ/C,GAAK,UAAYgD,GACpCE,EAAM/D,EAAK4D,EAAQ/C,GAAK,SAAWgD,IAC5B7D,EAAK4D,EAAQ/C,GAAK,gBAAkBgD,GAI7C,IAAIC,IAAQC,EAAK,CACf,IAAIC,EAAO,EACPC,EAAK,EACLC,EAAQ,GAGZJ,EAAM,SAASK,GACb,GAAoB,IAAjBD,EAAMjB,OAAc,CACrB,IAAImB,EAAOC,IACPC,EAAOC,KAAKC,IAAI,EALJ,IAAO,IAKiBJ,EAAOJ,IAC/CA,EAAOM,EAAOF,EACdK,YAAW,WACT,IAAIC,EAAKR,EAAMS,MAAM,GAIrBT,EAAMjB,OAAS,EACf,IAAI,IAAIpC,EAAI,EAAGA,EAAI6D,EAAGzB,OAAQpC,IAC5B,IAAI6D,EAAG7D,GAAG+D,UACR,IACEF,EAAG7D,GAAGsD,SAASH,GACf,MAAMa,GACNJ,YAAW,WAAa,MAAMI,IAAK,MAIxCN,KAAKO,MAAMR,IAOhB,OALAJ,EAAMd,KAAK,CACT2B,SAAUd,EACVE,SAAUA,EACVS,WAAW,IAENX,GAGTF,EAAM,SAASgB,GACb,IAAI,IAAIlE,EAAI,EAAGA,EAAIqD,EAAMjB,OAAQpC,IAC5BqD,EAAMrD,GAAGkE,SAAWA,IACrBb,EAAMrD,GAAG+D,WAAY,IAM7BzE,EAAOD,QAAU,SAAS8E,GAIxB,OAAOlB,EAAI9C,KAAKhB,EAAMgF,IAExB7E,EAAOD,QAAQ+E,OAAS,WACtBlB,EAAIP,MAAMxD,EAAMgD,YAElB7C,EAAOD,QAAQgF,SAAW,SAAS3C,GAC5BA,IACHA,EAASvC,GAEXuC,EAAO4C,sBAAwBrB,EAC/BvB,EAAO6C,qBAAuBrB,K,kCCxD9B5D,EAAOD,QAAU,EAAQ,EAAR,I,8BCRnB,IAAImF,EAAuB,EAAQ,GAEnC,SAASC,KACT,SAASC,KACTA,EAAuBC,kBAAoBF,EAE3CnF,EAAOD,QAAU,WACf,SAASuF,EAAKC,EAAOC,EAAUC,EAAeC,EAAUC,EAAcC,GACpE,GAAIA,IAAWV,EAAf,CAIA,IAAIW,EAAM,IAAIC,MACZ,mLAKF,MADAD,EAAI5E,KAAO,sBACL4E,GAGR,SAASE,IACP,OAAOT,EAFTA,EAAKU,WAAaV,EAMlB,IAAIW,EAAiB,CACnBC,MAAOZ,EACPa,KAAMb,EACNc,KAAMd,EACNe,OAAQf,EACRlD,OAAQkD,EACRgB,OAAQhB,EACRiB,OAAQjB,EAERkB,IAAKlB,EACLmB,QAASV,EACTW,QAASpB,EACTqB,YAAarB,EACbsB,WAAYb,EACZc,KAAMvB,EACNwB,SAAUf,EACVgB,MAAOhB,EACPiB,UAAWjB,EACXkB,MAAOlB,EACPmB,MAAOnB,EAEPoB,eAAgB/B,EAChBC,kBAAmBF,GAKrB,OAFAc,EAAemB,UAAYnB,EAEpBA,I,6BCnDTjG,EAAOD,QAFoB,gD,cCT3B,IAAIsH,EAGJA,EAAI,WACH,OAAOC,KADJ,GAIJ,IAECD,EAAIA,GAAK,IAAIE,SAAS,cAAb,GACR,MAAO7C,GAEc,iBAAXtE,SAAqBiH,EAAIjH,QAOrCJ,EAAOD,QAAUsH,G,iBCnBjB,aACA,WACE,IAAIG,EAAgBC,EAAQC,EAAUC,EAAgBC,EAAcC,EAExC,oBAAhBC,aAA+C,OAAhBA,aAAyBA,YAAY5D,IAC9ElE,EAAOD,QAAU,WACf,OAAO+H,YAAY5D,OAEZ,MAAQ6D,GAAgDA,EAAQN,QACzEzH,EAAOD,QAAU,WACf,OAAQyH,IAAmBI,GAAgB,KAE7CH,EAASM,EAAQN,OAMjBE,GALAH,EAAiB,WACf,IAAIQ,EAEJ,OAAe,KADfA,EAAKP,KACK,GAAWO,EAAG,OAG1BH,EAA4B,IAAnBE,EAAQE,SACjBL,EAAeD,EAAiBE,GACvBK,KAAKhE,KACdlE,EAAOD,QAAU,WACf,OAAOmI,KAAKhE,MAAQwD,GAEtBA,EAAWQ,KAAKhE,QAEhBlE,EAAOD,QAAU,WACf,OAAO,IAAImI,MAAOC,UAAYT,GAEhCA,GAAW,IAAIQ,MAAOC,aAGvBtH,KAAKyG,Q,gCChCR,IAOIc,EACAC,EARAN,EAAU/H,EAAOD,QAAU,GAU/B,SAASuI,IACL,MAAM,IAAIxC,MAAM,mCAEpB,SAASyC,IACL,MAAM,IAAIzC,MAAM,qCAsBpB,SAAS0C,EAAWC,GAChB,GAAIL,IAAqB9D,WAErB,OAAOA,WAAWmE,EAAK,GAG3B,IAAKL,IAAqBE,IAAqBF,IAAqB9D,WAEhE,OADA8D,EAAmB9D,WACZA,WAAWmE,EAAK,GAE3B,IAEI,OAAOL,EAAiBK,EAAK,GAC/B,MAAM/D,GACJ,IAEI,OAAO0D,EAAiBvH,KAAK,KAAM4H,EAAK,GAC1C,MAAM/D,GAEJ,OAAO0D,EAAiBvH,KAAKyG,KAAMmB,EAAK,MAvCnD,WACG,IAEQL,EADsB,mBAAf9D,WACYA,WAEAgE,EAEzB,MAAO5D,GACL0D,EAAmBE,EAEvB,IAEQD,EADwB,mBAAjBK,aACcA,aAEAH,EAE3B,MAAO7D,GACL2D,EAAqBE,GAjB7B,GAwEA,IAEII,EAFA5E,EAAQ,GACR6E,GAAW,EAEXC,GAAc,EAElB,SAASC,IACAF,GAAaD,IAGlBC,GAAW,EACPD,EAAa7F,OACbiB,EAAQ4E,EAAaI,OAAOhF,GAE5B8E,GAAc,EAEd9E,EAAMjB,QACNkG,KAIR,SAASA,IACL,IAAIJ,EAAJ,CAGA,IAAIK,EAAUT,EAAWM,GACzBF,GAAW,EAGX,IADA,IAAIM,EAAMnF,EAAMjB,OACVoG,GAAK,CAGP,IAFAP,EAAe5E,EACfA,EAAQ,KACC8E,EAAaK,GACdP,GACAA,EAAaE,GAAYM,MAGjCN,GAAc,EACdK,EAAMnF,EAAMjB,OAEhB6F,EAAe,KACfC,GAAW,EAnEf,SAAyBQ,GACrB,GAAIf,IAAuBK,aAEvB,OAAOA,aAAaU,GAGxB,IAAKf,IAAuBE,IAAwBF,IAAuBK,aAEvE,OADAL,EAAqBK,aACdA,aAAaU,GAExB,IAEWf,EAAmBe,GAC5B,MAAO1E,GACL,IAEI,OAAO2D,EAAmBxH,KAAK,KAAMuI,GACvC,MAAO1E,GAGL,OAAO2D,EAAmBxH,KAAKyG,KAAM8B,KAgD7CC,CAAgBJ,IAiBpB,SAASK,EAAKb,EAAKvC,GACfoB,KAAKmB,IAAMA,EACXnB,KAAKpB,MAAQA,EAYjB,SAASqD,KA5BTxB,EAAQyB,SAAW,SAAUf,GACzB,IAAIgB,EAAO,IAAIvG,MAAML,UAAUC,OAAS,GACxC,GAAID,UAAUC,OAAS,EACnB,IAAK,IAAIpC,EAAI,EAAGA,EAAImC,UAAUC,OAAQpC,IAClC+I,EAAK/I,EAAI,GAAKmC,UAAUnC,GAGhCqD,EAAMd,KAAK,IAAIqG,EAAKb,EAAKgB,IACJ,IAAjB1F,EAAMjB,QAAiB8F,GACvBJ,EAAWQ,IASnBM,EAAKhH,UAAU6G,IAAM,WACjB7B,KAAKmB,IAAIpF,MAAM,KAAMiE,KAAKpB,QAE9B6B,EAAQ2B,MAAQ,UAChB3B,EAAQ4B,SAAU,EAClB5B,EAAQ6B,IAAM,GACd7B,EAAQ8B,KAAO,GACf9B,EAAQ+B,QAAU,GAClB/B,EAAQgC,SAAW,GAInBhC,EAAQiC,GAAKT,EACbxB,EAAQkC,YAAcV,EACtBxB,EAAQmC,KAAOX,EACfxB,EAAQoC,IAAMZ,EACdxB,EAAQqC,eAAiBb,EACzBxB,EAAQsC,mBAAqBd,EAC7BxB,EAAQuC,KAAOf,EACfxB,EAAQwC,gBAAkBhB,EAC1BxB,EAAQyC,oBAAsBjB,EAE9BxB,EAAQ0C,UAAY,SAAUxJ,GAAQ,MAAO,IAE7C8G,EAAQ2C,QAAU,SAAUzJ,GACxB,MAAM,IAAI6E,MAAM,qCAGpBiC,EAAQ4C,IAAM,WAAc,MAAO,KACnC5C,EAAQ6C,MAAQ,SAAUC,GACtB,MAAM,IAAI/E,MAAM,mCAEpBiC,EAAQ+C,MAAQ,WAAa,OAAO,I,q6FC1J7B,IAAIC,EAAW,WAQlB,OAPAA,EAAW3J,OAAO4J,QAAU,SAAkBpJ,GAC1C,IAAK,IAAIa,EAAG/B,EAAI,EAAGyB,EAAIU,UAAUC,OAAQpC,EAAIyB,EAAGzB,IAE5C,IAAK,IAAI8B,KADTC,EAAII,UAAUnC,GACOU,OAAOkB,UAAUC,eAAe1B,KAAK4B,EAAGD,KAAIZ,EAAEY,GAAKC,EAAED,IAE9E,OAAOZ,IAEKyB,MAAMiE,KAAMzE,YAGzB,SAASoI,EAAOxI,EAAGiC,GACtB,IAAI9C,EAAI,GACR,IAAK,IAAIY,KAAKC,EAAOrB,OAAOkB,UAAUC,eAAe1B,KAAK4B,EAAGD,IAAMkC,EAAEwG,QAAQ1I,GAAK,IAC9EZ,EAAEY,GAAKC,EAAED,IACb,GAAS,MAALC,GAAqD,mBAAjCrB,OAAO+J,sBACtB,KAAIzK,EAAI,EAAb,IAAgB8B,EAAIpB,OAAO+J,sBAAsB1I,GAAI/B,EAAI8B,EAAEM,OAAQpC,IAC3DgE,EAAEwG,QAAQ1I,EAAE9B,IAAM,GAAKU,OAAOkB,UAAU8I,qBAAqBvK,KAAK4B,EAAGD,EAAE9B,MACvEkB,EAAEY,EAAE9B,IAAM+B,EAAED,EAAE9B,KAE1B,OAAOkB,EA6FJ,SAASyJ,IACZ,IAAK,IAAI5I,EAAI,EAAG/B,EAAI,EAAG4K,EAAKzI,UAAUC,OAAQpC,EAAI4K,EAAI5K,IAAK+B,GAAKI,UAAUnC,GAAGoC,OACxE,IAAItB,EAAI0B,MAAMT,GAAI8I,EAAI,EAA3B,IAA8B7K,EAAI,EAAGA,EAAI4K,EAAI5K,IACzC,IAAK,IAAI8K,EAAI3I,UAAUnC,GAAI+K,EAAI,EAAGC,EAAKF,EAAE1I,OAAQ2I,EAAIC,EAAID,IAAKF,IAC1D/J,EAAE+J,GAAKC,EAAEC,GACjB,OAAOjK,E,oCCxIEmK,EAAgB,IAAMC,cAAkC,CACnEC,UAAW,KACXC,cAAe,KACfC,SAAS,EACTC,MAAO,OCgCIC,EAAe,SAACC,EAAmBC,EAAwBC,GACtE,OAAIA,IAGGD,EAAmBA,EAAa,IAAID,EAAc,MAAMA,IC3CpDG,EAAY,SAAC9G,GAChB,MAAqDA,EAAK,KAA1D+G,OAAI,IAAG,KAAE,EAAE,EAA0C/G,EAAK,MAA/CgH,OAAK,IAAG,iBAAc,EAAKC,EAAU,EAAKjH,EAAvD,kBACN,OACE,6BAASiH,EAAU,CAAEC,MAAOH,EAAMI,OAAQJ,EAAMK,QAAQ,kBACtD,0BACEC,KAAML,EACNvL,EAAE,iRAMG6L,EAAY,SAACtH,GAChB,MAAqDA,EAAK,KAA1D+G,OAAI,IAAG,KAAE,EAAE,EAA0C/G,EAAK,MAA/CgH,OAAK,IAAG,iBAAc,EAAKC,EAAU,EAAKjH,EAAvD,kBACN,OACE,6BAASiH,EAAU,CAAEC,MAAOH,EAAMI,OAAQJ,EAAMK,QAAQ,kBACtD,0BACEC,KAAML,EACNvL,EAAE,qwCAMG8L,EAAc,SAACvH,GAClB,MAAgDA,EAAK,KAArD+G,OAAI,IAAG,KAAE,EAAE,EAAqC/G,EAAK,MAA1CgH,OAAK,IAAG,YAAS,EAAKC,EAAU,EAAKjH,EAAlD,kBACN,OACE,6BAASiH,EAAU,CAAEC,MAAOH,EAAMI,OAAQJ,EAAMK,QAAQ,kBACtD,0BACEC,KAAML,EACNvL,EAAE,6RAMG+L,EAAc,SAACxH,GAClB,MAAgDA,EAAK,KAArD+G,OAAI,IAAG,KAAE,EAAE,EAAqC/G,EAAK,MAA1CgH,OAAK,IAAG,YAAS,EAAKC,EAAU,EAAKjH,EAAlD,kBACN,OACE,6BAASiH,EAAU,CAAEC,MAAOH,EAAMI,OAAQJ,EAAMK,QAAQ,kBACtD,0BACEC,KAAML,EACNvL,EAAE,0XAMGgM,EAAgB,SAACzH,GACpB,MAAgDA,EAAK,KAArD+G,OAAI,IAAG,KAAE,EAAE,EAAqC/G,EAAK,MAA1CgH,OAAK,IAAG,YAAS,EAAKC,EAAU,EAAKjH,EAAlD,kBACN,OACE,6BAASiH,EAAU,CAAEC,MAAOH,EAAMI,OAAQJ,EAAMK,QAAQ,kBACtD,0BACEC,KAAML,EACNvL,EAAE,+PAMGiM,EAAa,SAAC1H,GACjB,MAAgDA,EAAK,KAArD+G,OAAI,IAAG,KAAE,EAAE,EAAqC/G,EAAK,MAA1CgH,OAAK,IAAG,YAAS,EAAKC,EAAU,EAAKjH,EAAlD,kBACN,OACE,6BAASiH,EAAU,CAAEC,MAAOH,EAAMI,OAAQJ,EAAMK,QAAQ,kBACtD,0BACEC,KAAML,EACNvL,EAAE,+PAMGkM,EAAgB,SAAC3H,GACpB,MAAgDA,EAAK,KAArD+G,OAAI,IAAG,KAAE,EAAE,EAAqC/G,EAAK,MAA1CgH,OAAK,IAAG,YAAS,EAAKC,EAAU,EAAKjH,EAAlD,kBACN,OACE,6BAASiH,EAAU,CAAEC,MAAOH,EAAMI,OAAQJ,EAAMK,QAAQ,kBACtD,0BACEC,KAAML,EACNvL,EAAE,iwBAkBGmM,EAAQ,SAAC5H,GACZ,MAAqDA,EAAK,KAA1D+G,OAAI,IAAG,KAAE,EAAE,EAA0C/G,EAAK,MAA/CgH,OAAK,IAAG,iBAAc,EAAKC,EAAU,EAAKjH,EAAvD,kBACN,OACE,6BAASiH,EAAU,CAAEC,MAAOH,EAAMI,OAAQJ,EAAMK,QAAQ,kBACtD,0BACEC,KAAML,EACNvL,EAAE,2kBAMGoM,EAAQ,SAAC7H,GACZ,MAAqDA,EAAK,KAA1D+G,OAAI,IAAG,KAAE,EAAE,EAA0C/G,EAAK,MAA/CgH,OAAK,IAAG,iBAAc,EAAKC,EAAU,EAAKjH,EAAvD,kBACN,OACE,6BAASiH,EAAU,CAAEC,MAAOH,EAAMI,OAAQJ,EAAMK,QAAQ,kBACtD,0BACEC,KAAML,EACNvL,EAAE,kTAEJ,0BACE4L,KAAML,EACNvL,EAAE,qTAMGqM,EAAM,SAAC9H,GACV,MAAqDA,EAAK,KAA1D+G,OAAI,IAAG,KAAE,EAAE,EAA0C/G,EAAK,MAA/CgH,OAAK,IAAG,iBAAc,EAAKC,EAAU,EAAKjH,EAAvD,kBACN,OACE,6BAASiH,EAAU,CAAEC,MAAOH,EAAMI,OAAQJ,EAAMK,QAAQ,kBACtD,0BACEC,KAAML,EACNvL,EAAE,+TAEJ,0BACE4L,KAAML,EACNvL,EAAE,gLAMGsM,EAAW,SAAC/H,GACf,MAAqDA,EAAK,KAA1D+G,OAAI,IAAG,KAAE,EAAE,EAA0C/G,EAAK,MAA/CgH,OAAK,IAAG,iBAAc,EAAKC,EAAU,EAAKjH,EAAvD,kBACN,OACE,6BAASiH,EAAU,CAAEC,MAAOH,EAAMI,OAAQJ,EAAMK,QAAQ,kBACtD,0BACEC,KAAML,EACNvL,EAAE,i1BAEJ,0BACE4L,KAAML,EACNvL,EAAE,kMAMGuM,EAAY,SAAChI,GAChB,MAAqDA,EAAK,KAA1D+G,OAAI,IAAG,KAAE,EAAE,EAA0C/G,EAAK,MAA/CgH,OAAK,IAAG,iBAAc,EAAKC,EAAU,EAAKjH,EAAvD,kBACN,OACE,6BAASiH,EAAU,CAAEC,MAAOH,EAAMI,OAAQJ,EAAMK,QAAQ,kBACtD,0BAAMC,KAAML,EAAOvL,EAAE,0ECxKZ,SAASwM,IAetB,OAdAA,EAAWpM,OAAO4J,QAAU,SAAUyC,GACpC,IAAK,IAAI/M,EAAI,EAAGA,EAAImC,UAAUC,OAAQpC,IAAK,CACzC,IAAIgN,EAAS7K,UAAUnC,GAEvB,IAAK,IAAIuB,KAAOyL,EACVtM,OAAOkB,UAAUC,eAAe1B,KAAK6M,EAAQzL,KAC/CwL,EAAOxL,GAAOyL,EAAOzL,IAK3B,OAAOwL,IAGOpK,MAAMiE,KAAMzE,WCff,SAAS8K,EAA8BD,EAAQE,GAC5D,GAAc,MAAVF,EAAgB,MAAO,GAC3B,IAEIzL,EAAKvB,EAFL+M,EAAS,GACTI,EAAazM,OAAO0M,KAAKJ,GAG7B,IAAKhN,EAAI,EAAGA,EAAImN,EAAW/K,OAAQpC,IACjCuB,EAAM4L,EAAWnN,GACbkN,EAAS1C,QAAQjJ,IAAQ,IAC7BwL,EAAOxL,GAAOyL,EAAOzL,IAGvB,OAAOwL,ECZM,SAASM,EAAeC,EAAUC,GAC/CD,EAAS1L,UAAYlB,OAAOY,OAAOiM,EAAW3L,WAC9C0L,EAAS1L,UAAU4L,YAAcF,EACjCA,EAASG,UAAYF,E,KCHvB,SAASG,EAAiBC,EAAWC,GACnC,OAAOD,EAAUE,QAAQ,IAAIC,OAAO,UAAYF,EAAgB,YAAa,KAAM,MAAMC,QAAQ,OAAQ,KAAKA,QAAQ,aAAc,I,oBCDvH,GACH,ECAG,MAAM3C,cAAc,MCwG/B,EAA0B,SAAU6C,GAGtC,SAASC,EAAWnJ,EAAOoJ,GACzB,IAAIC,EAEJA,EAAQH,EAAiB5N,KAAKyG,KAAM/B,EAAOoJ,IAAYrH,KACvD,IAGIuH,EADAC,EAFcH,MAEuBI,WAAaxJ,EAAMyJ,MAAQzJ,EAAMuJ,OAuB1E,OArBAF,EAAMK,aAAe,KAEjB1J,EAAM2J,GACJJ,GACFD,EA/GY,SAgHZD,EAAMK,aA/GQ,YAiHdJ,EAhHa,UAoHbA,EADEtJ,EAAM4J,eAAiB5J,EAAM6J,aAtHhB,YACH,SA4HhBR,EAAMS,MAAQ,CACZC,OAAQT,GAEVD,EAAMW,aAAe,KACdX,EA/BTb,EAAeW,EAAYD,GAkC3BC,EAAWc,yBAA2B,SAAkCC,EAAMC,GAG5E,OAFaD,EAAKP,IArIC,cAuILQ,EAAUJ,OACf,CACLA,OAxIY,UA4IT,MAmBT,IAAIK,EAASjB,EAAWpM,UA0OxB,OAxOAqN,EAAOC,kBAAoB,WACzBtI,KAAKuI,cAAa,EAAMvI,KAAK2H,eAG/BU,EAAOG,mBAAqB,SAA4BC,GACtD,IAAIC,EAAa,KAEjB,GAAID,IAAczI,KAAK/B,MAAO,CAC5B,IAAI+J,EAAShI,KAAK+H,MAAMC,OAEpBhI,KAAK/B,MAAM2J,GA1KC,aA2KVI,GA1KS,YA0KcA,IACzBU,EA5KY,yBA+KVV,GA9KS,YA8KcA,IACzBU,EA9KW,WAmLjB1I,KAAKuI,cAAa,EAAOG,IAG3BL,EAAOM,qBAAuB,WAC5B3I,KAAK4I,sBAGPP,EAAOQ,YAAc,WACnB,IACIC,EAAMpB,EAAOF,EADb7F,EAAU3B,KAAK/B,MAAM0D,QAWzB,OATAmH,EAAOpB,EAAQF,EAAS7F,EAET,MAAXA,GAAsC,iBAAZA,IAC5BmH,EAAOnH,EAAQmH,KACfpB,EAAQ/F,EAAQ+F,MAEhBF,OAA4BuB,IAAnBpH,EAAQ6F,OAAuB7F,EAAQ6F,OAASE,GAGpD,CACLoB,KAAMA,EACNpB,MAAOA,EACPF,OAAQA,IAIZa,EAAOE,aAAe,SAAsBS,EAAUN,QACnC,IAAbM,IACFA,GAAW,GAGM,OAAfN,GAEF1I,KAAK4I,qBAtNW,aAwNZF,EACF1I,KAAKiJ,aAAaD,GAElBhJ,KAAKkJ,eAEElJ,KAAK/B,MAAM4J,eA9NN,WA8NuB7H,KAAK+H,MAAMC,QAChDhI,KAAKmJ,SAAS,CACZnB,OAjOe,eAsOrBK,EAAOY,aAAe,SAAsBD,GAC1C,IAAII,EAASpJ,KAET0H,EAAQ1H,KAAK/B,MAAMyJ,MACnB2B,EAAYrJ,KAAKqH,QAAUrH,KAAKqH,QAAQI,WAAauB,EAErDM,EAAQtJ,KAAK/B,MAAMsL,QAAU,CAACF,GAAa,CAAC,IAASG,YAAYxJ,MAAOqJ,GACxEI,EAAYH,EAAM,GAClBI,EAAiBJ,EAAM,GAEvBK,EAAW3J,KAAK6I,cAChBe,EAAeP,EAAYM,EAASnC,OAASmC,EAASjC,OAGrDsB,IAAatB,GAASmC,EACzB7J,KAAK8J,aAAa,CAChB9B,OAnPa,YAoPZ,WACDoB,EAAOnL,MAAM8L,UAAUN,OAK3BzJ,KAAK/B,MAAM+L,QAAQP,EAAWC,GAC9B1J,KAAK8J,aAAa,CAChB9B,OA7PgB,aA8Pf,WACDoB,EAAOnL,MAAMgM,WAAWR,EAAWC,GAEnCN,EAAOc,gBAAgBN,GAAc,WACnCR,EAAOU,aAAa,CAClB9B,OAlQW,YAmQV,WACDoB,EAAOnL,MAAM8L,UAAUN,EAAWC,cAM1CrB,EAAOa,YAAc,WACnB,IAAIiB,EAASnK,KAET8I,EAAO9I,KAAK/B,MAAM6K,KAClBa,EAAW3J,KAAK6I,cAChBY,EAAYzJ,KAAK/B,MAAMsL,aAAUR,EAAY,IAASS,YAAYxJ,MAEjE8I,IAAQe,GASb7J,KAAK/B,MAAMmM,OAAOX,GAClBzJ,KAAK8J,aAAa,CAChB9B,OA3Re,YA4Rd,WACDmC,EAAOlM,MAAMoM,UAAUZ,GAEvBU,EAAOD,gBAAgBP,EAASb,MAAM,WACpCqB,EAAOL,aAAa,CAClB9B,OApSU,WAqST,WACDmC,EAAOlM,MAAMqM,SAASb,aAlB1BzJ,KAAK8J,aAAa,CAChB9B,OArRY,WAsRX,WACDmC,EAAOlM,MAAMqM,SAASb,OAqB5BpB,EAAOO,mBAAqB,WACA,OAAtB5I,KAAKiI,eACPjI,KAAKiI,aAAazK,SAClBwC,KAAKiI,aAAe,OAIxBI,EAAOyB,aAAe,SAAsBS,EAAW7N,GAIrDA,EAAWsD,KAAKwK,gBAAgB9N,GAChCsD,KAAKmJ,SAASoB,EAAW7N,IAG3B2L,EAAOmC,gBAAkB,SAAyB9N,GAChD,IAAI+N,EAASzK,KAET0K,GAAS,EAcb,OAZA1K,KAAKiI,aAAe,SAAU0C,GACxBD,IACFA,GAAS,EACTD,EAAOxC,aAAe,KACtBvL,EAASiO,KAIb3K,KAAKiI,aAAazK,OAAS,WACzBkN,GAAS,GAGJ1K,KAAKiI,cAGdI,EAAO6B,gBAAkB,SAAyBvI,EAASiJ,GACzD5K,KAAKwK,gBAAgBI,GACrB,IAAIrL,EAAOS,KAAK/B,MAAMsL,QAAUvJ,KAAK/B,MAAMsL,QAAQsB,QAAU,IAASrB,YAAYxJ,MAC9E8K,EAA0C,MAAXnJ,IAAoB3B,KAAK/B,MAAM8M,eAElE,GAAKxL,IAAQuL,EAAb,CAKA,GAAI9K,KAAK/B,MAAM8M,eAAgB,CAC7B,IAAIC,EAAQhL,KAAK/B,MAAMsL,QAAU,CAACvJ,KAAKiI,cAAgB,CAAC1I,EAAMS,KAAKiI,cAC/DwB,EAAYuB,EAAM,GAClBC,EAAoBD,EAAM,GAE9BhL,KAAK/B,MAAM8M,eAAetB,EAAWwB,GAGxB,MAAXtJ,GACF3E,WAAWgD,KAAKiI,aAActG,QAb9B3E,WAAWgD,KAAKiI,aAAc,IAiBlCI,EAAO6C,OAAS,WACd,IAAIlD,EAAShI,KAAK+H,MAAMC,OAExB,GA1WmB,cA0WfA,EACF,OAAO,KAGT,IAAImD,EAAcnL,KAAK/B,MACnBmN,EAAWD,EAAYC,SAgBvBC,GAfMF,EAAYvD,GACFuD,EAAYrD,aACXqD,EAAYtD,cACnBsD,EAAY3D,OACb2D,EAAYzD,MACbyD,EAAYrC,KACTqC,EAAYxJ,QACLwJ,EAAYJ,eACnBI,EAAYnB,QACTmB,EAAYlB,WACbkB,EAAYpB,UACfoB,EAAYf,OACTe,EAAYd,UACbc,EAAYb,SACba,EAAY5B,QACVlD,EAA8B8E,EAAa,CAAC,WAAY,KAAM,eAAgB,gBAAiB,SAAU,QAAS,OAAQ,UAAW,iBAAkB,UAAW,aAAc,YAAa,SAAU,YAAa,WAAY,aAEjP,OAGE,IAAMG,cAAcC,EAAuBC,SAAU,CACnDnR,MAAO,MACc,mBAAb+Q,EAA0BA,EAASpD,EAAQqD,GAAc,IAAMI,aAAa,IAAMC,SAASC,KAAKP,GAAWC,KAIlHjE,EAzSqB,CA0S5B,IAAMwE,WA4LR,SAAS3J,KA1LT,EAAW4J,YAAcN,EACzB,EAAWO,UAuLP,GAIJ,EAAWC,aAAe,CACxBnE,IAAI,EACJE,cAAc,EACdD,eAAe,EACfL,QAAQ,EACRE,OAAO,EACPoB,MAAM,EACNkB,QAAS/H,EACTgI,WAAYhI,EACZ8H,UAAW9H,EACXmI,OAAQnI,EACRoI,UAAWpI,EACXqI,SAAUrI,GAEZ,EAAW+J,UAvlBY,YAwlBvB,EAAWC,OAvlBS,SAwlBpB,EAAWC,SAvlBW,WAwlBtB,EAAWC,QAvlBU,UAwlBrB,EAAWC,QAvlBU,UAwlBN,QCplBX,EAAc,SAAqB7M,EAAMjE,GAC3C,OAAOiE,GAAQjE,GAAWA,EAAQ+Q,MAAM,KAAKC,SAAQ,SAAU7S,GAC7D,OJdyC8S,EIcb9S,QJdI2F,EIcVG,GJbZiN,UACVpN,EAAQoN,UAAUC,OAAOF,GACa,iBAAtBnN,EAAQmN,UAExBnN,EAAQmN,UAAYzF,EAAiB1H,EAAQmN,UAAWA,GAExDnN,EAAQsN,aAAa,QAAS5F,EAAiB1H,EAAQmN,WAAanN,EAAQmN,UAAUI,SAAW,GAAIJ,KAP1F,IAAqBnN,EAASmN,MIwFzC,EAA6B,SAAUpF,GAGzC,SAASyF,IAGP,IAFA,IAAItF,EAEKuF,EAAOtR,UAAUC,OAAQ2G,EAAO,IAAIvG,MAAMiR,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC/E3K,EAAK2K,GAAQvR,UAAUuR,GAgHzB,OA7GAxF,EAAQH,EAAiB5N,KAAKwC,MAAMoL,EAAkB,CAACnH,MAAMyB,OAAOU,KAAUnC,MACxE+M,eAAiB,CACrBvF,OAAQ,GACRE,MAAO,GACPoB,KAAM,IAGRxB,EAAM0C,QAAU,SAAUP,EAAWC,GACnC,IAAIsD,EAAwB1F,EAAM2F,iBAAiBxD,EAAWC,GAC1DnK,EAAOyN,EAAsB,GAC7B3D,EAAY2D,EAAsB,GAEtC1F,EAAM4F,cAAc3N,EAAM,QAE1B+H,EAAM6F,SAAS5N,EAAM8J,EAAY,SAAW,QAAS,QAEjD/B,EAAMrJ,MAAM+L,SACd1C,EAAMrJ,MAAM+L,QAAQP,EAAWC,IAInCpC,EAAM2C,WAAa,SAAUR,EAAWC,GACtC,IAAI0D,EAAyB9F,EAAM2F,iBAAiBxD,EAAWC,GAC3DnK,EAAO6N,EAAuB,GAG9BC,EAFYD,EAAuB,GAEhB,SAAW,QAElC9F,EAAM6F,SAAS5N,EAAM8N,EAAM,UAEvB/F,EAAMrJ,MAAMgM,YACd3C,EAAMrJ,MAAMgM,WAAWR,EAAWC,IAItCpC,EAAMyC,UAAY,SAAUN,EAAWC,GACrC,IAAI4D,EAAyBhG,EAAM2F,iBAAiBxD,EAAWC,GAC3DnK,EAAO+N,EAAuB,GAG9BD,EAFYC,EAAuB,GAEhB,SAAW,QAElChG,EAAM4F,cAAc3N,EAAM8N,GAE1B/F,EAAM6F,SAAS5N,EAAM8N,EAAM,QAEvB/F,EAAMrJ,MAAM8L,WACdzC,EAAMrJ,MAAM8L,UAAUN,EAAWC,IAIrCpC,EAAM8C,OAAS,SAAUX,GACvB,IACIlK,EADyB+H,EAAM2F,iBAAiBxD,GAClB,GAElCnC,EAAM4F,cAAc3N,EAAM,UAE1B+H,EAAM4F,cAAc3N,EAAM,SAE1B+H,EAAM6F,SAAS5N,EAAM,OAAQ,QAEzB+H,EAAMrJ,MAAMmM,QACd9C,EAAMrJ,MAAMmM,OAAOX,IAIvBnC,EAAM+C,UAAY,SAAUZ,GAC1B,IACIlK,EADyB+H,EAAM2F,iBAAiBxD,GAClB,GAElCnC,EAAM6F,SAAS5N,EAAM,OAAQ,UAEzB+H,EAAMrJ,MAAMoM,WACd/C,EAAMrJ,MAAMoM,UAAUZ,IAI1BnC,EAAMgD,SAAW,SAAUb,GACzB,IACIlK,EADyB+H,EAAM2F,iBAAiBxD,GAClB,GAElCnC,EAAM4F,cAAc3N,EAAM,QAE1B+H,EAAM6F,SAAS5N,EAAM,OAAQ,QAEzB+H,EAAMrJ,MAAMqM,UACdhD,EAAMrJ,MAAMqM,SAASb,IAIzBnC,EAAM2F,iBAAmB,SAAUxD,EAAWC,GAC5C,OAAOpC,EAAMrJ,MAAMsL,QAAU,CAACjC,EAAMrJ,MAAMsL,QAAQsB,QAASpB,GACzD,CAACA,EAAWC,IAGhBpC,EAAMiG,cAAgB,SAAUF,GAC9B,IAAIhS,EAAaiM,EAAMrJ,MAAM5C,WACzBmS,EAA2C,iBAAfnS,EAE5BoS,EAAgBD,EAAqB,IAD5BA,GAAsBnS,EAAaA,EAAa,IAAM,IACZgS,EAAOhS,EAAWgS,GAGzE,MAAO,CACLI,cAAeA,EACfC,gBAJoBF,EAAqBC,EAAgB,UAAYpS,EAAWgS,EAAO,UAKvFM,cAJkBH,EAAqBC,EAAgB,QAAUpS,EAAWgS,EAAO,UAQhF/F,EAtHTb,EAAemG,EAAezF,GAyH9B,IAAIkB,EAASuE,EAAc5R,UA6D3B,OA3DAqN,EAAO8E,SAAW,SAAkB5N,EAAM8N,EAAMO,GAC9C,IAAIrB,EAAYvM,KAAKuN,cAAcF,GAAMO,EAAQ,aAG7CD,EADsB3N,KAAKuN,cAAc,SACLI,cAE3B,WAATN,GAA+B,SAAVO,GAAoBD,IAC3CpB,GAAa,IAAMoB,GAKP,WAAVC,GAEFrO,GAAQA,EAAKsO,UAGXtB,IACFvM,KAAK+M,eAAeM,GAAMO,GAASrB,EAhOzB,SAAkBhN,EAAMjE,GAC/BiE,GAAQjE,GAAWA,EAAQ+Q,MAAM,KAAKC,SAAQ,SAAU7S,GAC7D,OCXsC8S,EDWb9S,QCXI2F,EDWVG,GCVTiN,UAAWpN,EAAQoN,UAAUsB,IAAIvB,GCFhC,SAAkBnN,EAASmN,GACxC,OAAInN,EAAQoN,YAAoBD,GAAanN,EAAQoN,UAAUuB,SAASxB,IACkC,KAAlG,KAAOnN,EAAQmN,UAAUI,SAAWvN,EAAQmN,WAAa,KAAK3I,QAAQ,IAAM2I,EAAY,KDA9ByB,CAAS5O,EAASmN,KAA6C,iBAAtBnN,EAAQmN,UAAwBnN,EAAQmN,UAAYnN,EAAQmN,UAAY,IAAMA,EAAenN,EAAQsN,aAAa,SAAUtN,EAAQmN,WAAanN,EAAQmN,UAAUI,SAAW,IAAM,IAAMJ,KADxR,IAAkBnN,EAASmN,KD2OpC0B,CAAU1O,EAAMgN,KAIpBlE,EAAO6E,cAAgB,SAAuB3N,EAAM8N,GAClD,IAAIa,EAAwBlO,KAAK+M,eAAeM,GAC5CI,EAAgBS,EAAsBC,KACtCT,EAAkBQ,EAAsBxD,OACxCiD,EAAgBO,EAAsBE,KAC1CpO,KAAK+M,eAAeM,GAAQ,GAExBI,GACF,EAAYlO,EAAMkO,GAGhBC,GACF,EAAYnO,EAAMmO,GAGhBC,GACF,EAAYpO,EAAMoO,IAItBtF,EAAO6C,OAAS,WACd,IAAIC,EAAcnL,KAAK/B,MAEnBA,GADIkN,EAAY9P,WACRgL,EAA8B8E,EAAa,CAAC,gBAExD,OAAoB,IAAMG,cAAc,EAAYpF,EAAS,GAAIjI,EAAO,CACtE+L,QAAShK,KAAKgK,QACdD,UAAW/J,KAAK+J,UAChBE,WAAYjK,KAAKiK,WACjBG,OAAQpK,KAAKoK,OACbC,UAAWrK,KAAKqK,UAChBC,SAAUtK,KAAKsK,aAIZsC,EAvLwB,CAwL/B,IAAMhB,WAER,EAAcG,aAAe,CAC3B1Q,WAAY,IAEd,EAAcyQ,UAiIT,GACU,QGvXT,EAAa,SAAC7N,GAEhB,MASEA,EAAK,QATP0D,OAAO,IAAG,MAAG,EACb,EAQE1D,EAAK,cARP4J,OAAa,IAAG,GAAI,EACpB,EAOE5J,EAAK,OAPPuJ,OAAM,IAAG,GAAI,EACb,EAMEvJ,EAAK,OANPoQ,OAAM,IAAG,OAAI,EACbC,EAKErQ,EAAK,UAJP5C,EAIE4C,EAAK,WAHPmN,EAGEnN,EAAK,SAFPsQ,EAEEtQ,EAAK,QADJiH,EAAU,EACXjH,EAVE,6FAYN,OACE,kBAAC,EAAa,KACRiH,EAAU,CACdvD,QAASA,EACT6F,OAAQA,EACRK,cAAeA,EACfxM,WAAYA,GAA6BgT,EAAM,IAAIC,IAClDC,EAAU,6BAAMnD,GAAkBA,IAKzC,EAAWoD,YAAc,aAEV,QCqBA,EAlED,SAACvQ,GAEX,MAaEA,EAAK,KAbPoP,OAAI,IAAG,SAAM,EACb,EAYEpP,EAAK,SAZPwQ,OAAQ,IAAG,KAAE,EACF3J,EAWT7G,EAAK,UAVPmE,EAUEnE,EAAK,MATPyQ,EASEzQ,EAAK,KARP0Q,EAQE1Q,EAAK,UAPP2Q,EAOE3Q,EAAK,SANP4Q,EAME5Q,EAAK,WALP6Q,EAKE7Q,EAAK,QAJPmN,EAIEnN,EAAK,SAHPsO,EAGEtO,EAAK,UAFP8Q,EAEE9Q,EAAK,MADJiH,EAAU,EACXjH,EAdE,6HAeA,EAAoB,oBAAS,GAA5B+Q,EAAM,KAAEC,EAAO,KAChBC,EAAM,iBAA8B,MACpCC,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,QAASwK,EAAc5K,UAAWO,GAC3DsK,EAAM,IAAW7K,EAAWgI,EAAW,CAAIhI,EAAS,IAAI8I,IASxDgC,GAAaT,GAAYD,IAC7B,0BAAMW,KAAK,SAAS/C,UAAchI,EAAS,cAAegL,QARpC,SAACnS,GAhCJ,IAACmC,EAiCpB2P,EAAIrE,WAjCgBtL,EAiCU2P,EAAIrE,SAhC/BkE,MAAMS,eAAiB,IAC5BjQ,EAAKwP,MAAMU,WAAa,IACxBlQ,EAAKwP,MAAMW,UAAY,IACvBnQ,EAAKwP,MAAM3J,OAAS,IACpB7F,EAAKwP,MAAMY,cAAgB,IAC3BpQ,EAAKwP,MAAMa,kBAAoB,IAC/BrQ,EAAKwP,MAAMc,aAAe,KA2BxBZ,GAAQ,GACRH,GAAWA,EAAQ1R,KAMhBuR,GAAa,KAqBlB,OACE,kBAAC,EAAU,CAAChN,QAAS,IAAKiG,GAAIoH,EAAQ1E,SAAUuE,GAC9C,6BAAS3J,EAAU,CAAEoK,KAAK,QAAQ/C,UAAW6C,EAAKL,MAAOA,EAAOG,IAAKA,IAClER,GApBY,WACjB,GAAoB,kBAATA,EACT,OAAQrB,GACN,IAAK,UACH,OAAO,kBAAC7H,EAAW,CAACR,KAAMyJ,EAAUlC,UAAchI,EAAS,WAC7D,IAAK,OACH,OAAO,kBAACoB,EAAU,CAACX,KAAMyJ,EAAUlC,UAAchI,EAAS,WAC5D,IAAK,UACH,OAAO,kBAACmB,EAAa,CAACV,KAAMyJ,EAAUlC,UAAchI,EAAS,WAC/D,IAAK,QACH,OAAO,kBAACkB,EAAW,CAACT,KAAMyJ,EAAUlC,UAAchI,EAAS,WAIjE,OAAOmK,EAMMoB,GACT,6BACG1N,GAAS,uBAAGmK,UAAchI,EAAS,WAAYnC,GAC/CgJ,GAEFiE,KCvEIU,EAAgB,IAAMzL,cAAqB,ICL3C0L,EAAY,SAACzQ,EAAc0Q,GACtC,QADsC,IAAAA,OAAA,GAChB,oBAAXnX,OACT,OAAO,EAET,IACMoX,EAAcD,EAAa,YAAc,aAC/C,OAAO1Q,IAASzG,OAAUyG,EAFP0Q,EAAa,cAAgB,eAES1Q,EAAqB2Q,IAGnEC,EAAU,SAAC5Q,GACtB,YADsB,IAAAA,MAAA,QACfA,IAASzG,OACXyG,EAAqB6Q,wBACtB,CACEC,IAAK,EACLC,KAAM,EACNC,OAAQ,EACRC,MAAO,EACPrL,MAAOrM,OAAO2X,SAASC,gBAAgBC,YACvCvL,OAAQtM,OAAO2X,SAASC,gBAAgBE,eAkBnCC,EAAgB,SAACtR,GAC5B,OAAKA,EAGDA,IAASzG,OACJA,OAAOgY,YAERvR,EAAqBqR,aALpB,GCjCLG,EAAS,SAAC9S,GAEZ,IAoBM1D,EApBNyW,EASE/S,EAAK,UARPgT,EAQEhT,EAAK,aAPP,EAOEA,EAAK,UAPPiT,OAAS,IAAG,aAAM,OAAApY,QAAM,EACxBqY,EAMElT,EAAK,SALPsO,EAKEtO,EAAK,UAJP8Q,EAIE9Q,EAAK,MAHPmN,EAGEnN,EAAK,SAFI6G,EAET7G,EAAK,UADJiH,EAAU,EACXjH,EAVE,gGAWAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,SAAUwK,EAAc5K,UAAWO,GAC5DsK,EAAM,IAAW7K,EAAWgI,GAC5B6E,EAAiB,iBAA8B,MAC/CC,EAAY,iBAA8B,MAC1C,EAAgC,mBAAwB,IAAvDC,EAAW,KAAEC,EAAc,KAC5B,EAA0C,mBAAwB,IAAjEC,EAAgB,KAAEC,EAAmB,KACtC,EAAwC,mBAASP,KAAhDQ,EAAe,KAAEC,EAAkB,KAuBnCC,EAAc,oBApBbrX,EAAO,CACX8V,KAAK,EACLE,QAAQ,EACRsB,OAAQ,GAGe,iBAAdb,GAAkD,iBAAjBC,EAC1C1W,EAAK8V,KAAM,EACmB,iBAAdW,GAChBzW,EAAK8V,KAAM,EACX9V,EAAKgW,QAAS,EACdhW,EAAKsX,OAASb,GAAa,GACM,iBAAjBC,IAChB1W,EAAKgW,QAAS,EACdhW,EAAK8V,KAAM,EACX9V,EAAKsX,OAASZ,GAAgB,GAGzB1W,IAEqC,GAExCuX,EAAY,uBAAY,SAACC,EAAiBL,GAM9C,IAAMM,EAAOD,EAAgB3B,wBACvB6B,EAAgB9B,EAAQuB,GACxBQ,EAAqBlC,EAAU0B,GAAiB,GAChDS,EAAsBnC,EAAU0B,GAAiB,GAEvD,MAAO,CACLrB,IAAK2B,EAAK3B,IAAM4B,EAAc5B,IAAM6B,EACpC5B,KAAM0B,EAAK1B,KAAO2B,EAAc3B,KAAO6B,EACvChN,MAAO6M,EAAK7M,MACZC,OAAQ4M,EAAK5M,UAEd,IAEGgN,EAAoB,uBACxB,SAACd,EAA4Be,QAAA,IAAAA,OAAA,GAC3Bd,EAAe,KAAKD,IAEhBe,EACFlB,GAAYA,GAAS,GACXG,GACVH,GAAYA,GAAS,KAGzB,CAACA,IAGGmB,EAAyB,SAACd,GAC9BC,EAAoB,KAAKD,KAGrBe,EAAqB,uBAAY,WACrC,IAAMR,EAAkBX,EAAevG,QACjC2H,EAAanB,EAAUxG,QAC7B,GAAKkH,GAAoBL,GAAoBc,EAA7C,CAIA,IAAMN,EAAqBlC,EAAU0B,GAAiB,GAChDe,EAAoBX,EAAUC,EAAiBL,GAC/CgB,EAAkB7B,EAAca,GAChCiB,EAAoBZ,EAAgBa,aACpCX,EAAgB9B,EAAQuB,GACxBmB,EAAeL,EAAWI,aAE1BtB,EAA6B,CACjCnM,MAAOsN,EAAkBtN,OAErBqM,EAAkC,CACtCrM,MAAOsN,EAAkBtN,MACzBC,OAAQyN,GAENjB,EAAWvB,KAAO6B,EAAqBO,EAAkBpC,IAAMuB,EAAWC,QAE5EP,EAAYwB,SAAW,QACvBxB,EAAYjB,IAAMuB,EAAWC,OAASI,EAAc5B,IACpD+B,EAAkBd,GAAa,GAC/BgB,EAAuBd,IAEvBI,EAAWrB,QACX2B,EACEO,EAAkBpC,IAAMsC,EAAoBf,EAAWC,OAASa,GAGlEpB,EAAYlM,OAASuN,EACrBrB,EAAYwB,SAAW,QACvBxB,EAAYf,OAASqB,EAAWC,OAEhCO,EAAkBd,GAAa,GAC/BgB,EAAuBd,KAEvBY,EAAkB,IAClBE,EAAuB,QAExB,CAACZ,EAAiBU,EAAmBR,EAAYE,IAyBpD,OApBA,qBAAU,WACR,IAAMJ,EAAkBR,IACxB,GAAKQ,EAQL,OALAC,EAAmBD,GAEnBA,EAAgBqB,iBAAiB,SAAUR,GAC3Cb,EAAgBqB,iBAAiB,SAAUR,GAEpC,WACLb,EAAgBsB,oBAAoB,SAAUT,GAC9Cb,EAAgBsB,oBAAoB,SAAUT,MAE/C,CAACA,EAAoBrB,IAExB,qBAAU,WACRqB,MACC,CAACA,IAGF,yBAAKrD,IAAKkC,EAAgBrC,MAAOyC,GAC/B,6BAAStM,EAAU,CAAEqH,UAAW6C,EAAKF,IAAKmC,EAAWtC,MAAK,OAAOuC,GAAgBvC,KAC9E3D,KAMT2F,EAAOvC,YAAc,SAEN,QC9JTyE,EAAS,SAAChV,GAEZ,MAMEA,EAAK,UANP+S,OAAS,IAAG,IAAC,EACbC,EAKEhT,EAAK,aAJPsO,EAIEtO,EAAK,UAHP8Q,EAGE9Q,EAAK,MAFPmN,EAEEnN,EAAK,SADI6G,EACT7G,EAAK,UACHkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,SAAUwK,EAAc5K,UAAWO,GAC5DsK,EAAM,IAAW7K,EAAWgI,GAC5B,EAA0B,mBAAS,IAAlC2G,EAAQ,KAAEC,EAAW,KACtBC,EAAY,iBAAgC,MAC5CC,EAAa,iBAA8B,MAE3CC,EAAY,uBAAY,WAC5B,IAAMC,EAAWH,EAAUvI,QAC3B,GAAI0I,EAAU,CACZ,IAAMC,EAAWD,EAASE,uBAA0BlP,EAAS,iBAAiB,GACxEmP,EAAQL,EAAWxI,QACzB,GAAI2I,GAAYE,EAAO,CACrB,IAAMC,EAASH,EACfE,EAAM3E,MAAMsB,IAASsD,EAAO3C,UAAY2C,EAAO/C,aAAe,EAAI,IAAG,SAGxE,CAACrM,IAEEqP,EAAiB,uBAAY,SAACC,GAClC,IAAMzU,EAAUqR,SAASqD,KAAKC,cAAc,IAAIF,GAC5CzU,GACFA,EAAQ4U,gBAAe,KAExB,IAkBGC,EAAiB,uBAAY,WACzB,IAAA7V,EAAatF,OAAM,SAC3B,GAAIsF,EAAS8V,QAELC,EADY,IAAIC,gBAAgBhW,EAAS8V,QACtBja,IAAI,YACjB2Z,EAAeO,QACtB,GAAI/V,EAASiW,KAAM,CACxB,IAAMF,KAAS/V,EAASiW,KAAKpN,QAAQ,IAAK,MAC9B2M,EAAeO,MAE5B,CAACP,IAEEU,EAAe,uBAAY,WAC/B,IAAMC,EAAW9D,SAAS+D,iBAAiB,SAC3C,GAAwB,IAApBD,EAAS/Y,OAAb,CAEA,IAAIiZ,EAAcF,EAAS,GAAG/X,GACxB6T,EAAMI,SAASC,gBAAgB7C,UACrC0G,EAASjI,SAAQ,SAACoI,GAChB,IAAMC,EAAKlE,SAASsD,cAAc,IAAIW,EAAElY,IACnCmY,GACAA,EAAmB3D,WAAaX,IACnCoE,EAAcC,EAAElY,GAChB8W,QAGJH,EAAYsB,MACX,CAACnB,IAcJ,OAZA,qBAAU,WACRW,MACC,CAACA,IAEJ,qBAAU,WAGR,OAFAxD,SAASsC,iBAAiB,SAAUuB,GACpCA,IACO,WACL7D,SAASuC,oBAAoB,SAAUsB,MAExC,CAACA,IAGF,kBAACvE,EAAcvE,SAAQ,CAACnR,MAAO,CAAE6Y,SAAQ,EAAE3D,QA1DrB,SAACnS,EAAwCyW,GACvD,IACJe,EADIxW,EAAatF,OAAM,SAIzB8b,EADExW,EAASyW,SAASC,SAAS,OACvB1W,EAAS2W,SAAW,KAAO3W,EAAS4W,KAAO5W,EAASyW,SAAW,WAAWhB,EAE1EzV,EAAS2W,SAAW,KAAO3W,EAAS4W,KAAO5W,EAASyW,SAAW,IAAIhB,EAE3E/a,OAAOmc,QAAQC,UAAU,CAAEC,KAAMP,GAAO,GAAIA,GAC5ChB,EAAeC,MAiDb,kBAAC,EAAM,CAAC7C,UAAWA,EAAWC,aAAcA,GAC1C,wBAAI1E,UAAW6C,EAAKL,MAAOA,EAAOG,IAAKkE,GACrC,yBAAK7G,UAAchI,EAAS,SAC1B,yBAAKgI,UAAchI,EAAS,aAAc2K,IAAKmE,KAEhD,IAAM3H,SAAS0J,IAAIhK,GAAU,SAACiK,GAC7B,IAAMC,EAAeD,EACrB,GAAsC,eAAlCC,EAAajI,KAAKmB,YAA8B,CAClD,IAAMnD,EAAuC,CAC3C9G,UAAS,GAEX,OAAO,IAAMkH,aAAa6J,EAAcjK,GAE1C,OAAO,YAQnB4H,EAAOzE,YAAc,SAEN,QCxHT+G,EAAa,IAAMC,YACvB,SAACvX,EAAwBiR,G,MACfuG,EAAoDxX,EAAK,KAAnDmE,EAA8CnE,EAAK,MAA5CmN,EAAuCnN,EAAK,SAAlCsG,EAA6BtG,EAAK,UAApBiH,EAAU,EAAKjH,EAAtD,yCACAyX,EAAgB,qBAAW3F,GAC3BX,EAAM,IAAc7K,EAAS,WAAQ,MACrCA,EAAS,iBAAkB,IAAImR,EAAcxC,WAAeuC,E,IASlE,OACE,wBAAIrT,MAAOA,EAAOmK,UAAW6C,GAC3B,2BACMlK,EAAU,CACdqH,UAAchI,EAAS,eACvB2K,IAAKA,EACLuG,KAAMA,EACNlG,QAbc,SAACnS,GACnBA,EAAEuY,iBACM,IAAApG,EAAYmG,EAAa,QACjCnG,GAAWA,EAAQnS,EAAGqY,EAAKxO,QAAQ,IAAK,MAWpCd,OAAQ,WAAYlI,EAAQA,EAAMkI,YAAS4C,IAC1C3G,GAEFgJ,GACC,wBAAImB,UAAWhI,GACZ,IAAMmH,SAAS0J,IAAIhK,GAAU,SAACiK,GAAU,OACvC,kBAACE,EAAU,KAAKF,EAAMpX,MAAK,CAAEsG,UAAWA,aAStDgR,EAAW/G,YAAc,aAEV,QCrCToH,EAAgB,EACtBA,EAAcC,KAAO,EAEN,ICVHC,EDUG,IEkBA,GAtBK,SAAC7X,GAEjB,MAOEA,EAAK,MAPP8X,OAAK,IAAG,IAAC,EACT,EAME9X,EAAK,MANPkH,OAAK,IAAG,SAAM,EACHL,EAKT7G,EAAK,UAJPsO,EAIEtO,EAAK,UAHP8Q,EAGE9Q,EAAK,MAFPmN,EAEEnN,EAAK,SADJiH,EAAU,EACXjH,EARE,8DASAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,eAAgBwK,EAAc5K,UAAWO,GAClEsK,EAAM,IAAW7K,EAAWgI,GAElC,OACE,6BAASrH,EAAU,CAAEqH,UAAW6C,EAAKL,MAAK,OAAOA,GAAK,CAAE5J,MAAK,MAC3D,yBAAKoH,UAAchI,EAAS,YAAawK,MAAO,CAAEU,WAAgB,EAAIsG,EAAS,IAAG,OAClF,yBAAKxJ,UAAchI,EAAS,YAAa6G,MDvB/C,SAAY0K,GACV,6BACA,uBACA,wBACA,oBACA,kBACA,sBACA,wBACA,oBACA,oBACA,iCACA,yCACA,uCACA,qCACA,2CACA,2CACA,8BACA,0BACA,yBACA,sBACA,sBACA,iBACA,gBAtBF,CAAYA,MAAO,KEQnB,IAEME,GAAQ,IAAMR,YAClB,SAACvX,EAAmBiR,G,MAEhB,EAcEjR,EAAK,KAdP+G,OAAI,IAAG,OAAI,EACX,EAaE/G,EAAK,SAbPgY,OAAQ,IAAG,GAAK,EAChB,EAYEhY,EAAK,UAZPiY,OAAS,IAAG,GAAK,EACjB,EAWEjY,EAAK,aAXPkY,OAAY,IAAG,KAAE,EACjB9H,EAUEpQ,EAAK,OATP7B,EASE6B,EAAK,OARPkT,EAQElT,EAAK,SAPPmY,EAOEnY,EAAK,aANPoY,EAMEpY,EAAK,UALPsO,EAKEtO,EAAK,UAJP8Q,EAIE9Q,EAAK,MAHPqY,EAGErY,EAAK,aAFI6G,EAET7G,EAAK,UADJiH,EAAU,EACXjH,EAfE,uJAgBAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,QAASwK,EAAc5K,UAAWO,GAC3DyR,EAAYtY,EAAM+G,MAAQmK,EAAc3K,eAAiBQ,EACzDoK,EAAM,IAAW7K,EAAWgI,EAAchI,EAAS,IAAIgS,IAAW,MAClEhS,EAAS,aAAc0R,E,IAEvBO,EAAY,iBAA8B,MAC1CC,EAAY,iBAA8B,MAC1C,EAAoB,mBACxB,UAAWxY,EAASA,EAAM5D,MAAmB8b,GADxC9b,EAAK,KAAEqc,EAAQ,KAGhB,EAAkC,mBAAS,CAAEC,YAAa,MAAOC,aAAc,QAA9EC,EAAY,KAAEC,EAAe,KAe9BC,EAAkB,SAAC3Z,KACrB,UAAWa,IAAUyY,EAAS,IAChCJ,GAAgBA,EAAalZ,IAyC/B,OA3BA,qBAAU,WACR,IAAM4Z,EAAaR,EAAU3L,QACvBoM,EAAaR,EAAU5L,QAEvBqM,EAAcF,GAAcA,EAAWG,YACvCC,EAAcH,GAAcA,EAAWE,YACvCE,EAAU,KAAKR,GAEjBK,IACFG,EAAQV,YAAcO,EAvEP,GAuEsC,MAEnDE,IACFC,EAAQT,aAAeQ,EA1ER,GA0EuC,MAItDC,EAAQV,cAAgBE,EAAaF,aACrCU,EAAQT,eAAiBC,EAAaD,cAEtCE,EAAgBO,KAEjB,CAACR,IAEJ,qBAAU,WACR,UAAW5Y,GAASyY,EAASzY,EAAM5D,SAClC,CAAC4D,IAGF,yBAAKsO,UAAW6C,EAAKL,MAAOA,GACzBV,GACC,yBAAKa,IAAKsH,EAAWjK,UAAchI,EAAS,YACzC8J,GAGL,+BACMnJ,EAAU,CACdgK,IAAKA,EACL7U,MAAOA,EACP4b,SAAUA,EACV1J,UAAchI,EAAS,UACvBwK,MAAO,CAAE4H,YAAaE,EAAaF,YAAaC,aAAcC,EAAaD,cAC3EzF,SAtEgB,SAAC/T,GACrB,IAAMka,EAAMla,EAAEma,cAAcld,QAC1B,UAAW4D,IAAUyY,EAASY,GAChCnG,GAAYA,EAAS/T,IAoEjBiZ,UAjEiB,SAACjZ,GAClBA,EAAEoa,UAAY1B,EAAQ2B,OACxBrB,GAAgBA,EAAahZ,GAE/BiZ,GAAaA,EAAUjZ,QA+DnBhB,GAAU8Z,IACV,yBAAKhH,IAAKuH,EAAWlK,UAAchI,EAAS,YAvD5C2R,GAAa7b,GAASA,EAAMmB,OAAS,EAErC,0BAAM+Q,UAAchI,EAAS,cAAegL,QAASwH,GACnD,kBAACtR,EAAW,CAACT,KAAM,GAAIC,MAAM,aAI5B,KAkDA7I,OAQb4Z,GAAMxH,YAAc,QAEL,UCxHf,SAASkJ,GAAazZ,GACZ,IAAW6G,EAAoE7G,EAAK,UAA1D5D,EAAqD4D,EAAK,MAAnDsO,EAA8CtO,EAAK,UAAxC8Q,EAAmC9Q,EAAK,MAAjCmN,EAA4BnN,EAAK,SAApBiH,EAAU,EAAKjH,EAAjF,sDACAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,eAAgBwK,EAAc5K,UAAWO,GAClEsK,EAAM,IAAW7K,EAAWgI,GAC5B,EAA0B,mBAASlS,GAAlCsd,EAAQ,KAAEC,EAAW,KACtB,EAAgC,mBAAmB,IAAlDC,EAAW,KAAEC,EAAc,KAElCC,QAAQC,IAAIH,GAcZ,OACE,yBAAKtL,UAAW6C,EAAKL,MAAOA,GAC1B,kBAAC,GAAK,KAAK7J,EAAU,CAAE+S,SAJV,aAI8B5d,MAAOsd,EAAUxG,SAf1C,SAAC/T,GACrB,IAAM/C,EAAQ+C,EAAE+I,OAAO9L,MAAM6d,OAE7B,GADAN,EAAYvd,GACRA,GAAS4D,EAAMka,QAAS,CAC1B,IAAMC,EAASna,EAAMka,QAAQ9d,GAC7Byd,EAAeM,QAEfN,EAAe,QASd1M,GAKPsM,GAAalJ,YAAc,eAEZ,UCjCT6J,GAAS,SAACpa,G,MAEZ,EAYEA,EAAK,KAZP+G,OAAI,IAAG,KAAE,EACT,EAWE/G,EAAK,MAXP0B,OAAK,IAAG,WAAQ,EAChB,EAUE1B,EAAK,SAVPqa,OAAQ,IAAG,OAAAvP,EAAS,EACpB,EASE9K,EAAK,IATPsa,OAAG,IAAG,WAAQ,EACd7J,EAQEzQ,EAAK,KAPPua,EAOEva,EAAK,IANPmN,EAMEnN,EAAK,SALPsO,EAKEtO,EAAK,UAJP8Q,EAIE9Q,EAAK,MAHPsR,EAGEtR,EAAK,QAFI6G,EAET7G,EAAK,UADJiH,EAAU,EACXjH,EAbE,qGAcAwa,EAAU,iBAA+B,MACzCC,EAAS,iBAA+B,MACxC,EAAoB,mBAAS,GAA5BC,EAAK,KAAEC,EAAQ,KAChBzJ,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,SAAUwK,EAAc5K,UAAWO,GAE5DsK,EAAM,IAAW7K,EAAWgI,EAAchI,EAAS,IAAI5E,IAAO,MAC9D4E,EAAS,cAAegL,E,IAsCxBsJ,EAAM,GACV1T,MAAOH,EACPI,OAAQJ,EACR8T,SAAU9T,EAAO,EACjB+T,WAAe/T,EAAO,EAAC,MACpB+J,GAgBL,OAbA,qBAAU,WACR,GAAI0J,EAAQ5N,SAAW6N,EAAO7N,SAAW6N,EAAO7N,QAAS0B,YAAiBhI,EAAS,SAAU,CAC3F,IAAMyU,EAAcN,EAAO7N,QAASsM,YAC9B8B,EAAeR,EAAQ5N,QAASsM,YAGpCyB,EADEK,EAAe,EAAID,GACXC,EAAe,GAAKD,EAErB,OAMb,8BAAU9T,EAAU,CAAEgK,IAAKuJ,EAASlM,UAAW6C,EAAKL,MAAO8J,IAnCvDzN,EAtBiB,WACrB,GAAwB,iBAAbA,EAAuB,CAChC,IAAI8N,EAAiC,GACrC,GAAIR,EAAO7N,QAAS,CAClB,IAAMsO,EAAkB,SAASR,EAAK,qBACtCO,EAAY,CACVE,YAAaD,EACbE,gBAAiBF,EACjBG,UAAWH,GAGf,OACE,0BAAMjK,IAAKwJ,EAAQnM,UAAchI,EAAS,SAAUwK,MAAOmK,GACxD9N,GAIL,OAAOA,EAMAmO,GACEf,EACF,yBAAKA,IAAKA,EAAKD,IAAKA,EAAKhM,UAAchI,EAAS,UAEhDmK,EAgCN4J,GA3BI,uBAAG/L,UAAchI,EAAS,cAAcA,EAAS,cAAc+T,MAgC1ED,GAAO7J,YAAc,SAEN,UC3FTgL,GAAc,SAACvb,GACX,MAAmFA,EAAK,IAAxFwb,OAAG,IAAG,GAAC,GAAE,EAAElN,EAAwEtO,EAAK,UAAlE8Q,EAA6D9Q,EAAK,MAA3DmN,EAAsDnN,EAAK,SAAtC6G,EAAiC7G,EAAK,UAApBiH,EAAU,EAAKjH,EAArF,oDACAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,eAAgBwK,EAAc5K,UAAWO,GAClEsK,EAAM,IAAW7K,EAAWgI,GAElC,OACE,8BAAUrH,EAAU,CAAEqH,UAAW6C,EAAKL,MAAOA,IAC1C,IAAMrD,SAAS0J,IAAIhK,GAAU,SAACiK,EAAOqE,GACpC,IAAMpE,EAAeD,EACrB,GAAsC,WAAlCC,EAAajI,KAAKmB,YAA0B,CAC9C,IAAMnD,EAAmC,CACvC0D,MAAO,OACFuG,EAAarX,MAAM8Q,OAAK,CAC3B4K,WAAoB,IAARD,EAAY,EAAID,KAGhC,OAAO,IAAMhO,aAAa6J,EAAcjK,GAE1C,OAAOgK,OAMfmE,GAAYhL,YAAc,cAEX,UC1BToL,GAAgB,GACtBA,GAAcC,MAAQ,GAEP,U,mBCuGA,GA/FC,SAAC5b,GAEb,MAOEA,EAAK,iBAPP6b,OAAgB,IAAG,MAAG,EACtB,EAME7b,EAAK,OANPkI,OAAM,IAAG,aAAc,OAAArN,QAAM,EAClBgM,EAKT7G,EAAK,UAJPsR,EAIEtR,EAAK,QAHPsO,EAGEtO,EAAK,UAFP8Q,EAEE9Q,EAAK,MADPmN,EACEnN,EAAK,SACHkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,WAAYwK,EAAc5K,UAAWO,GAC9DsK,EAAM,IAAW7K,EAAWgI,GAC5B,EAAwB,oBAAS,GAAhCwN,EAAO,KAAEC,EAAU,KAEpBC,EAAqB,uBAAY,WACrC,IAAMC,EAAa/T,IACnB,OAAI+T,IAAephB,OACVA,OAAOqhB,aAAe1J,SAASqD,KAAKjG,WAAa4C,SAASC,gBAAgB7C,UAE3EqM,EAA2BrM,YAClC,CAAC1H,IAEEiU,EAAiB,SAACC,GACtB,IAAMH,EAAa/T,IACf+T,IAAephB,QACjB2X,SAASqD,KAAKjG,UAAYwM,EAC1B5J,SAASC,gBAAgB7C,UAAYwM,GAEpCH,EAA2BrM,UAAYwM,GAqBtCC,EAAiB,uBAAY,WAC7BL,IAAuBH,GACxBC,GAAWC,GAAW,GACdD,GACTC,GAAW,KAEZ,CAACC,EAAoBF,EAASD,IAYjC,OAVA,qBAAU,WACR,IAAMI,EAAa/T,IAInB,OAHA+T,EAAWnH,iBAAiB,SAAUuH,GACtCA,IAEO,WACLJ,EAAWlH,oBAAoB,SAAUsH,MAE1C,CAACnU,EAAQmU,IAERP,EAEA,yBAAKxN,UAAW6C,EAAKL,MAAOA,EAAOQ,QArCnB,SAACnS,GACnB,IAAMyQ,EAAYoM,IACZM,EAAY3Z,KAAKhE,MACjB4d,EAAO,WACX,IA/CkBlgB,EAAWmgB,EAC3BC,EA+CIC,EADY/Z,KAAKhE,MACE2d,EACzBH,GAjDkB9f,EAiDYqgB,EAhD5BD,EAgD6C,GAjDlBD,EAiDO5M,IA/CxCvT,GA+CsD,IA/C7C,GACD,EACEogB,EAAK,EAAKpgB,EAAIA,EAAIA,EAAImgB,EAEtBC,EAAK,IAAOpgB,GAAK,GAAKA,EAAIA,EAAI,GAAKmgB,IA4CrCE,EAAO,IACT,KAAIH,GAEJJ,EAAe,IAGnB,KAAII,GACJjL,GAAWA,EAAQnS,KAwBdgO,GACC,yBAAK/F,QAAQ,gBAAgBF,MAAM,KAAKC,OAAO,MAC7C,0BACE1L,EAAE,k7BAUF4L,KAAK,cAQV,MC5GM,SAASsV,GAAQC,EAAoBC,EAAiBC,QAAA,IAAAA,OAAA,GCKrE,IAAMC,GAAQ,SAAC/c,G,QAEXgd,EAYEhd,EAAK,MAXP,EAWEA,EAAK,MAXPgH,OAAK,IAAG,YAAS,EACjB,EAUEhH,EAAK,IAVPlB,OAAG,IAAG,KAAE,EACR,EASEkB,EAAK,IATPid,OAAG,IAAG,GAAK,EACX,EAQEjd,EAAK,WARPkd,OAAU,IAAG,GAAK,EAClB,EAOEld,EAAK,SAPPmd,OAAQ,IAAG,GAAK,EACLtW,EAMT7G,EAAK,UALPmE,EAKEnE,EAAK,MAJPsO,EAIEtO,EAAK,UAHPod,EAGEpd,EAAK,WAFPmN,EAEEnN,EAAK,SADJiH,EAAU,EACXjH,EAbE,+GAcAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,QAASwK,EAAc5K,UAAWO,GAC3DsK,EAAM,IAAW7K,EAAWgI,IAAS,MAAQhI,EAAS,aAAc6G,EAAQ,IAC5EkQ,EAAS,IAAc/W,EAAS,UAAO,MAAQA,EAAS,cAAe4W,EAAU,IAEvFP,KAoBA,OACE,8BAAU1V,EAAU,CAAEqH,UAAW6C,IAC9BhE,EACA8P,EACC,yBAAK9Y,MAAOA,EAAOmK,UAAW+O,EAAQvM,MAAK,GAAIwM,gBAAiBtW,GAAUoW,KArBzD,iBAAVJ,GAAuC,iBAAVA,EACxB,IAAVA,GAAgBG,EAIlB,yBACEhZ,MAAOA,EACPmK,UAAchI,EAAS,UACvBwK,MAAK,GAAIwM,gBAAiBtW,GAAUoW,IAClB,iBAAVJ,GAAsBA,EAAQle,EAASA,EAAG,IAAMke,GAPnD,KAWF,0BAAM1O,UAAchI,EAAS,YAAa0W,KAgBvDD,GAAMxM,YAAc,QAEL,UCvDTgN,GAAa,SAACvd,GACV,MAA0EA,EAAK,UAA/Ewd,OAAS,IAAG,MAAG,EAAa3W,EAA8C7G,EAAK,UAApCsO,EAA+BtO,EAAK,UAAzB8Q,EAAoB9Q,EAAK,MAAlBmN,EAAanN,EAAK,SACjFkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,aAAcwK,EAAc5K,UAAWO,GAChEsK,EAAM,IAAW7K,EAAWgI,GAElC,OACE,yBAAKA,UAAW6C,EAAKL,MAAOA,GAC1B,wBAAIxC,UAAchI,EAAS,QACxB,IAAMmH,SAAS0J,IAAIhK,GAAU,SAACiK,GAC7B,IAAMhK,EAA2C,CAAEoQ,UAAS,GAC5D,OAAO,IAAMhQ,aAAa4J,EAAOhK,SAO3CmQ,GAAWhN,YAAc,aAEV,UCpBTkN,GAAiB,SAACzd,GACd,IAAAwd,EAAmFxd,EAAK,UAA7EsO,EAAwEtO,EAAK,UAAlE8Q,EAA6D9Q,EAAK,MAA3DmN,EAAsDnN,EAAK,SAAtC6G,EAAiC7G,EAAK,UAApBiH,EAAU,EAAKjH,EAArF,0DACAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,kBAAmBwK,EAAc5K,UAAWO,GACrEsK,EAAM,IAAW7K,EAAWgI,GAElC,OACE,4BAAQrH,EAAU,CAAEqH,UAAW6C,EAAKL,MAAOA,IACxC3D,EACD,0BAAMmB,UAAchI,EAAS,eAAgBkX,KAKnDC,GAAelN,YAAc,iBAEd,UCfTmN,GAAoB,GAC1BA,GAAkB3Z,KAAO,GAEV,UCJT4Z,GAAS,IAAMpG,YAA2C,SAACvX,EAAoBiR,G,MAEjF,EAaEjR,EAAK,KAbP+G,OAAI,IAAG,OAAI,EACX,EAYE/G,EAAK,QAZP4d,OAAO,IAAG,YAAS,EACnB,EAWE5d,EAAK,QAXP6d,OAAO,IAAG,GAAK,EACf,EAUE7d,EAAK,SAVPgY,OAAQ,IAAG,GAAK,EAChB,EASEhY,EAAK,MATP8d,OAAK,IAAG,GAAK,EACbxM,EAQEtR,EAAK,QAPPyQ,EAOEzQ,EAAK,KANPZ,EAMEY,EAAK,MALPmN,EAKEnN,EAAK,SAJPsO,EAIEtO,EAAK,UAHP8Q,EAGE9Q,EAAK,MAFI6G,EAET7G,EAAK,UADJiH,EAAU,EACXjH,EAdE,qHAeAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,MAAOwK,EAAc5K,UAAWO,GACzDkX,EAAU/d,EAAM+G,MAAQmK,EAAc3K,eAAiBQ,EACvDoK,EAAM,IACV7K,EACGA,EAAS,IAAIyX,IAAS,MAEnBzX,EAAS,IAAIsX,GAAYA,EAC7B,EAAItX,EAAS,UAAWwX,EACxB,EAAIxX,EAAS,UAAWlH,EACxB,EAAIkH,EAAS,aAAc0R,EAC3B,EAAI1R,EAAS,YAAauX,E,GAE5BvP,GAoBF,OACE,gCACMrH,EAAU,CACdgK,IAAKA,EACLI,KAAK,SACL/C,UAAW6C,EACX6G,SAAUA,EACV1G,QAxBe,SAACnS,GACd6Y,GAAY6F,GAGhBvM,GAAWA,EAAQnS,IAqBjB2R,MAAOA,IAjBL+M,EACK,0BAAMvP,UAAchI,EAAS,aAC3BmK,EACF,0BAAMnC,UAAchI,EAAS,oBAAqBmK,GAElD,KAcNtD,GAAY,0BAAMmB,UAAchI,EAAS,cAAe6G,OAK/DwQ,GAAOpN,YAAc,SAEN,UCjETyN,GAAc,IAAMzG,YACxB,SAACvX,EAAyBiR,G,MAEtB,EAQEjR,EAAK,KARP+G,OAAI,IAAG,OAAI,EACX,EAOE/G,EAAK,QAPP4d,OAAO,IAAG,YAAS,EACnB,EAME5d,EAAK,SANPgY,OAAQ,IAAG,GAAK,EAChB,EAKEhY,EAAK,MALPZ,OAAK,IAAG,GAAK,EACFyH,EAIT7G,EAAK,UAHPsO,EAGEtO,EAAK,UAFPmN,EAEEnN,EAAK,SADJiH,EAAU,EACXjH,EATE,0EAUAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,YAAawK,EAAc5K,UAAWO,GAC/DkX,EAAU/d,EAAM+G,MAAQmK,EAAc3K,eAAiBQ,EACvDoK,EAAM,IACV7K,IAAS,MAEHA,EAAS,UAAWlH,EACxB,EAAIkH,EAAS,IAAIsX,GAAYA,E,GAE/BtP,GAEF,OACE,6BAASrH,EAAU,CAAEqH,UAAW6C,EAAKF,IAAKA,IACvC,IAAMxD,SAAS0J,IAAIhK,GAAU,SAACiK,GAC7B,IAAMC,EAAeD,EAErB,GAAoB,WADIC,EAAajI,KAAI,YACX,CAC5B,IAAMhC,EAAmC,CACvCwQ,QAASA,EACT7W,KAAMgX,EACN/F,SAAU,aAAcX,EAAarX,MAAQqX,EAAarX,MAAMgY,SAAWA,GAE7E,OAAO,IAAMxK,aAAa6J,EAAcjK,GAExC,OAAOgK,SAQnB4G,GAAYzN,YAAc,cAEX,UC9CT0N,GAAgB,GACtBA,GAAcrC,MAAQ,GAEP,UCJTsC,GAAO,SAACle,G,MAEV,EAcEA,EAAK,SAdPme,OAAQ,IAAG,GAAI,EACf,EAaEne,EAAK,OAbPyM,OAAM,IAAG,GAAK,EACd,EAYEzM,EAAK,UAZPoe,OAAS,IAAG,GAAK,EACNvX,EAWT7G,EAAK,UAVPmE,EAUEnE,EAAK,MATPqe,EASEre,EAAK,MARPse,EAQEte,EAAK,OAPPue,EAOEve,EAAK,YANPwe,EAMExe,EAAK,QALPye,EAKEze,EAAK,OAJP0e,EAIE1e,EAAK,YAHPsO,EAGEtO,EAAK,UAFP8Q,EAEE9Q,EAAK,MADPmN,EACEnN,EAAK,SACHkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,OAAQwK,EAAc5K,UAAWO,GAC1DsK,EAAM,IAAW7K,EAAWgI,IAAS,MACrChI,EAAS,aAAc6X,EAC3B,EAAI7X,EAAS,WAAYmG,EACzB,EAAInG,EAAS,cAAe8X,E,IAsD9B,OACE,yBAAK9P,UAAW6C,EAAKL,MAAOA,GAnDxBwN,IAEOna,GAASka,EAEhB,yBAAK/P,UAAchI,EAAS,WAAYwK,MAAOyN,GAC5Cpa,EACAka,GAIE,MAmBLlR,EACK,IAAMM,SAAS0J,IAAIhK,GAAU,SAACiK,GACnC,IAAK,IAAMuH,eAAevH,GACxB,OAAOA,EAIT,IAAMC,EAAeD,EACrB,GAAsC,gBAAlCC,EAAajI,KAAKmB,YAA+B,CACnD,IAAMnD,EAAwC,CAC5C9G,UAAS,GAEX,OAAO,IAAMkH,aAAa6J,EAAcjK,GAExC,OAAOgK,KAIN,KAhCHqH,IAEOD,EAEP,yBAAKlQ,UAAchI,EAAS,WAAYwK,MAAO4N,GAC5CF,GAIE,QAmCbN,GAAK3N,YAAc,OAEJ,UC1FTqO,GAAc,SAAC5e,GACX,IAAAsG,EAAuCtG,EAAK,UAAjCmN,EAA4BnN,EAAK,SAApBiH,EAAU,EAAKjH,EAAzC,0BACN,OACE,6BAASiH,EAAU,CAAEqH,UAAchI,EAAS,WACzC6G,IAKPyR,GAAYrO,YAAc,cAEX,UCPTsO,GAAc,GACpBA,GAAYC,QAAU,GAEP,UCFTC,GAAe,IAAMxH,YACzB,SAACvX,EAA0BiR,GACjB,MAA+DjR,EAAK,UAApEsG,OAAS,IAAG,qBAAkB,EAAEgI,EAA+BtO,EAAK,UAAzB8Q,EAAoB9Q,EAAK,MAAlBmN,EAAanN,EAAK,SACtEmR,EAAM,IAAW7K,EAAWgI,GAClC,OACE,wBAAI2C,IAAKA,EAAK3C,UAAW6C,EAAKL,MAAOA,GAClC3D,MAMT4R,GAAaxO,YAAc,eAEZ,UCOA,GAhBE,SAACvQ,GACR,IAAAgf,EAA0Dhf,EAAK,YAAlD6U,EAA6C7U,EAAK,SAAxCif,EAAmCjf,EAAK,OAAhCkf,EAA2Blf,EAAK,YAAnBsG,EAActG,EAAK,UACvE,OACE,wBAAIsO,UAAchI,EAAS,oBAAoBA,EAAS,SAASuO,GAC9DlX,MAAMshB,GACJ5X,KAAK,GACL8P,KAAI,SAACgI,EAAG1D,G,MACD2D,EAAe,IAAc9Y,EAAS,UAAO,MAC7CA,EAAS,gBAAiBmV,IAAQuD,E,IAExC,OAAO,wBAAItiB,IAAK+e,EAAKnN,UAAW8Q,EAAc9N,QAAS,WAAM,OAAA4N,EAAYzD,WCDpE,GAdI,SAACzb,GACV,IAAAqf,EAAsDrf,EAAK,eAA3Csf,EAAsCtf,EAAK,gBAA1BsG,EAAqBtG,EAAK,UAAf8Q,EAAU9Q,EAAK,MACnE,OACE,wBAAIsO,UAAchI,EAAS,gBAAiBwK,MAAOA,GACjD,wBAAIQ,QAAS+N,EAAgB/Q,UAAchI,EAAS,gBAAc,QAGlE,wBAAIgL,QAASgO,EAAiBhR,UAAchI,EAAS,iBAAe,WC4I3D,GArI4C,SAACtG,GAExD,IA2DMuf,EA3DN,EAWEvf,EAAK,UAXPsG,OAAS,IAAG,gBAAa,EACzB,EAUEtG,EAAK,KAVPwf,OAAI,IAAG,GAAI,EACX,EASExf,EAAK,OATPyf,OAAM,IAAG,GAAI,EACb,EAQEzf,EAAK,SARP0f,OAAQ,IAAG,MAAI,EACf,EAOE1f,EAAK,iBAPP2f,OAAgB,IAAG,MAAG,EACtB,EAME3f,EAAK,SANP4f,OAAQ,IAAG,GAAI,EACf,EAKE5f,EAAK,YALP6f,OAAW,IAAG,WAAQ,EACtB,EAIE7f,EAAK,OAJP8f,OAAM,IAAG,WAAQ,EACjBxR,EAGEtO,EAAK,UAFP8Q,EAEE9Q,EAAK,MADPmN,EACEnN,EAAK,SACHmR,EAAM,IAAW7K,EAAWgI,GAC5ByR,EAAW,iBAA8B,MACzCC,EAAe,iBAAgC,MAC/C,EAAoB,mBAAS,GAA5B9Y,EAAK,KAAE+Y,EAAQ,KAChB,EAA4B,mBAAS,GAApCC,EAAS,KAAEC,EAAY,KACxB,EAAoC,wBAA6BrV,GAAhEsV,EAAa,KAAEC,EAAgB,KAEhCC,EAAU,SAAClE,EAAkBmE,GACjC,QADiC,IAAAA,OAAA,GAC7BP,EAAapT,QAAS,CACxB,IAAMqG,EAAY+M,EAAapT,QAC/BqG,EAAUnC,MAAM0P,mBAAqBD,EAAgBZ,EAAgB,KAAO,KAC5E1M,EAAUnC,MAAMuB,KAAOoO,SAASxN,EAAUnC,MAAMuB,KAAO,IAAM+J,EAAW,OAiBtEsE,EAAW,WACf,IAAMC,EAAYT,EAAY,EAC9BC,EAAaQ,GACbL,GAASpZ,GACLyZ,IAAcxT,EAAS5P,SACzB4iB,EAAa,GACbtlB,OAAOkE,YAAW,WAChB,IAAMqd,EAAWjP,EAAS5P,OAAS2J,EACnCoZ,EAAQlE,GAAU,KACjB,OAwCP,OArBA,qBAAU,WACR,GAAI2D,EAASnT,SAAWoT,EAAapT,QAAS,CAC5C,IAAM,EAAcmT,EAASnT,QAA2B8F,YACxDuN,EAAS,GACRD,EAAapT,QAA6BkE,MAAMuB,MAAW,EAAU,QAEvE,IAEH,qBAAU,WACR,GAAIuN,EAAU,CACZ,IAAM,EAAgB/kB,OAAO+lB,aAAY,WACvCF,MACChB,GACHW,EAAiB,GAGnB,OAAO,WACLxlB,OAAOgmB,cAAcT,MAEtB,CAACR,IAGF,yBAAK3O,IAAK8O,EAAUzR,UAAW6C,EAAKL,MAAOA,GACzC,wBACEG,IAAK+O,EACL1R,UAAc6C,EAAG,cACjBL,MAAO,CACLgQ,yBAA0BhB,EAC1B5Y,MAAOA,GAASiG,EAAS5P,OAAS,MArClCgiB,EAAgB,GACtBA,EAAc7hB,KAAKyP,EAASA,EAAS5P,OAAS,IAC9C,IAAMkQ,SAASY,QAAQlB,GAAU,SAACiK,GAChCmI,EAAc7hB,KAAK0Z,MAErBmI,EAAc7hB,KAAKyP,EAAS,IACrBoS,GAiCgBpI,KAAI,SAACC,EAA8C2J,GACpE,IAAM3T,EAAa,KACjB1Q,IAAKqkB,GACF3J,EAAMpX,OAAK,CACd8Q,MAAO,GACL5J,MAAK,GACFkQ,EAAMpX,MAAM8Q,SAGnB,OAAO,IAAMtD,aAAa4J,EAAOhK,OAGpCqS,GACC,kBAAC,GAAU,CACTJ,eArFS,WACf,IAAM2B,EAAYd,EAAY,EAC9BC,EAAaa,GACbV,EAAQpZ,IACW,IAAf8Z,IACFb,EAAahT,EAAS5P,OAAS,GAC/B1C,OAAOkE,YAAW,WAChB,IAAMqd,EAAWjP,EAAS5P,OAAS2J,EACnCoZ,GAASlE,GAAU,KAClBuD,KA6ECL,gBAAiBoB,EACjBpa,UAAWA,EACXwK,MAAO,CAAE5J,MAAK,KAGjBsY,GACC,kBAAC,GAAQ,CACPR,YAAakB,EACbrL,SAAUgL,EACVZ,OAAQ9R,EAAS5P,OACjB2hB,YAtEe,SAAC6B,GACtBZ,EAAaY,GACbT,EAAQpZ,EAAQrI,KAAKoiB,IAAIF,EAAQb,IAAca,EAAQb,GAAa,EAAI,KAqElE5Z,UAAWA,MC9IrB,GAASvC,KAAO,GACD,UCCFmd,GAAuB,IAAM7a,cAAqB,ICDzD8a,GAAW,IAAM5J,YACrB,SAACvX,EAAsBiR,G,MAEnB,EASEjR,EAAK,eATPohB,OAAc,IAAG,GAAK,EACtB,EAQEphB,EAAK,cARPqhB,OAAa,IAAG,GAAK,EACrBjlB,EAOE4D,EAAK,MANPkT,EAMElT,EAAK,SALPsO,EAKEtO,EAAK,UAJPmN,EAIEnN,EAAK,SAHPshB,EAGEthB,EAAK,YAFI6G,EAET7G,EAAK,UADJiH,EAAU,EACXjH,EAVE,wGAWAkR,EAAgB,qBAAW9K,GAC3Bmb,EAAuB,qBAAWL,IAClCM,EAAiB,YAAaxhB,EAASA,EAAMyhB,QAAsBL,EACnE,EAAwB,mBAC5B,UAAWG,EAAuBA,EAAqBnlB,QAAUA,EAAQolB,GADpEC,EAAO,KAAEC,EAAU,KAGpBpb,EAAYI,EAAa,WAAYwK,EAAc5K,UAAWO,GAC9DmR,EACJ,aAAchY,EACTA,EAAMgY,SACP,aAAcuJ,GACbA,EAAqBvJ,SAEtB7G,EAAM,IAAW7K,EAAWgI,IAAS,MACrChI,EAAS,kBAAmB+a,EAChC,EAAI/a,EAAS,YAAamb,IAAYJ,EACtC,EAAI/a,EAAS,aAAc0R,E,IAkB7B,OAPA,qBAAU,WACJ,UAAWuJ,GAAwB,UAAWvhB,GAChD0hB,EAAYH,EAAqBnlB,MAAmBya,SAASza,IAE/D,YAAa4D,GAAS0hB,EAAW1hB,EAAMyhB,WACtC,CAACzhB,EAAOuhB,EAAsBnlB,IAG/B,+BAAW6K,EAAU,CAAEgK,IAAKA,EAAK3C,UAAW6C,IAC1C,2BACEF,IAAKqQ,EACLjQ,KAAK,WAAU,eACDoQ,EACd/lB,KAAMU,EACN4b,SAAUA,EACV1J,UAAchI,EAAS,WACvB8I,KAAK,WACLqS,QAASA,EACTvO,SA1BmB,SAAC/T,GACnB6Y,MACD,YAAahY,IAAU0hB,EAAWviB,EAAEma,cAAcmI,SACpDvO,GAAYA,EAAS/T,GACrBoiB,EAAqBrO,UAAYqO,EAAqBrO,SAAS/T,OAwB/D,0BAAMmP,UAAchI,EAAS,YAC7B,8BAAO6G,OAMfgU,GAAS5Q,YAAc,WAER,UCrEToR,GAAgB,IAAMpK,YAC1B,SAACvX,EAA2BiR,GAExB,MAOEjR,EAAK,aAPPkY,OAAY,IAAG,KAAE,EACNrR,EAMT7G,EAAK,UALPkT,EAKElT,EAAK,SAJPgY,EAIEhY,EAAK,SAHPsO,EAGEtO,EAAK,UAFPmN,EAEEnN,EAAK,SADJiH,EAAU,EACXjH,EARE,2EASAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,iBAAkBwK,EAAc5K,UAAWO,GACpEsK,EAAM,IAAW7K,EAAWgI,GAC5B,EAAoB,mBACxB,UAAWtO,EAASA,EAAM5D,MAAqB8b,GAD1C9b,EAAK,KAAEqc,EAAQ,KAuBtB,OAJA,qBAAU,WACR,UAAWzY,GAASyY,EAAS,EAAKzY,EAAM5D,UACvC,CAAC4D,IAGF,kBAACkhB,GAAqB3T,SAAQ,CAC5BnR,MAAO,CACLA,MAAK,EACL4b,SAAQ,EACR9E,SAxBe,SAAC/T,GACpB,IAAK6Y,EAAU,CACb,IAAM,EAAO7Y,EAAEma,cAAc5d,KACvB+f,EAAMrf,EAAMuJ,QAAQ,GACtB8V,GAAO,EACTrf,EAAMwlB,OAAOnG,EAAK,GAElBrf,EAAMsB,KAAK,KAGX,UAAWsC,IAAUyY,EAAS,EAAIrc,IACpC8W,GAAYA,EAAS9W,OAerB,6BAAS6K,EAAU,CAAEgK,IAAKA,EAAKI,KAAK,QAAQ/C,UAAW6C,IACpDhE,OAOXwU,GAAcpR,YAAc,gBAEb,UCtDTsR,GAAkB,GACxBA,GAAgBjG,MAAQ,GAET,UCNTkG,GAAiB,SAAC9hB,GACd,IAAAmN,EAA4BnN,EAAK,SAApBiH,EAAU,EAAKjH,EAA9B,cACN,OAAO,kBAACoG,EAAcmH,SAAQ,CAACnR,MAAK,KAAO6K,IAAekG,IAG5D2U,GAAevR,YAAc,iBAEd,UCSTwR,GAAkB,SAAC/hB,GACf,IAAW6G,EAAqE7G,EAAK,UAA3DgiB,EAAsDhiB,EAAK,KAArDsO,EAAgDtO,EAAK,UAA1CmN,EAAqCnN,EAAK,SAAhCsR,EAA2BtR,EAAK,QAApBiH,EAAU,EAAKjH,EAAlF,uDACAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,OAAQwK,EAAc5K,UAAWO,GAC1DsK,EAAM,IAAW7K,EAAWgI,GAOlC,OACE,8BAAUrH,EAAU,CAAEqH,UAAW6C,EAAKG,QANrB,SAACnS,IApBT,SAAC/C,GACZ,IAAM6lB,EAAWzP,SAASnF,cAAc,YACxC4U,EAASnR,MAAMoR,WAAa,cAC5BD,EAAS7lB,MAAQA,EACjBoW,SAASqD,KAAKsM,YAAYF,GAC1BA,EAASG,SACT,IACE5P,SAAS6P,YAAY,QACrB,MAAO/hB,GACPwZ,QAAQC,IAAI,wBAEdvH,SAASqD,KAAKyM,YAAYL,GAUxBM,CAAKP,GACL1Q,GAAWA,EAAQnS,MAKhBgO,IAKP4U,GAAgBxR,YAAc,kBAEf,UClCTiS,GAAc,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,OAE7CC,GAAM,SAACziB,G,MAET,EAQEA,EAAK,KARP0iB,OAAI,IAAG,KAAE,EACT,EAOE1iB,EAAK,OAPP4T,OAAM,IAAG,IAAC,EACV,EAME5T,EAAK,MANP2iB,OAAK,IAAG,IAAC,EACE9b,EAKT7G,EAAK,UAJPsO,EAIEtO,EAAK,UAHP8Q,EAGE9Q,EAAK,MAFPmN,EAEEnN,EAAK,SADJiH,EAAU,EACXjH,EATE,sEAUAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,MAAOwK,EAAc5K,UAAWO,GAE3D+b,EAAe,GACnBJ,GAAYnU,SAAQ,SAACtH,G,MACf8b,EAAqB,GAEnBC,EAAY9iB,EAAc+G,GACR,iBAAb+b,EACTD,EAAUH,KAAOI,EACY,iBAAbA,IAChBD,EAAYC,GAAY,IAE1BF,EAAe,OACVA,KAAY,MACXtc,EAAS,IAAIS,EAAI,IAAI8b,EAAUH,WAA4B5X,IAAnB+X,EAAUH,KAAkB,EACpEpc,EAAS,IAAIS,EAAI,UAAU8b,EAAUF,OAAUE,EAAUF,OAA6B,IAApBE,EAAUF,MAAW,EACvFrc,EAAS,IAAIS,EAAI,WAAW8b,EAAUjP,QACxCiP,EAAUjP,QAA+B,IAArBiP,EAAUjP,OAAY,OAGhD,IAAMzC,EAAM,IACV7K,EACAgI,IAAS,MAEHhI,EAAS,IAAIoc,GAASA,EAC1B,EAAIpc,EAAS,WAAWsN,GAAWA,EACnC,EAAItN,EAAS,UAAUqc,GAAUA,E,GAEnCC,GAGF,OACE,6BAAS3b,EAAU,CAAEqH,UAAW6C,EAAKL,MAAOA,IACzC3D,IAKPsV,GAAIlS,YAAc,MAEH,UC1DA,MCKFwS,GAAkB,IAAM1c,cAAqB,CACxD2c,WAAY,KCGRC,GAAU,SAACC,GACf,OAAOvlB,MAAMC,QAAQslB,GAAaA,EAAY,CAACA,IAG3CC,GAAW,IAAM5L,YACrB,SAACvX,EAAsBiR,G,MAEnB,EAWEjR,EAAK,UAXPojB,OAAS,IAAG,GAAI,EAChB,EAUEpjB,EAAK,SAVPme,OAAQ,IAAG,GAAI,EACf,EASEne,EAAK,UATPqjB,OAAS,IAAG,GAAK,EACjB,EAQErjB,EAAK,UARPsjB,OAAS,IAAG,GAAK,EACjB,EAOEtjB,EAAK,iBAPPujB,OAAgB,IAAG,KAAE,EACV1c,EAMT7G,EAAK,UALPkjB,EAKEljB,EAAK,UAJPkT,EAIElT,EAAK,SAHPsO,EAGEtO,EAAK,UAFPmN,EAEEnN,EAAK,SADJiH,EAAU,EACXjH,EAZE,+HAaFwjB,EAAsCD,EACtCL,IACFM,EAAmBN,GAEf,MAAgC,mBAAmBD,GAAQO,IAA1DC,EAAW,KAAEC,EAAc,KAC5BxS,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,WAAYwK,EAAc5K,UAAWO,GAC9DsK,EAAM,IAAW7K,EAAWgI,IAAS,MACrChI,EAAS,gBAAiB6X,E,IAkChC,OALA,qBAAU,WAER+E,GAAaQ,EAAeT,GAAQC,MACnC,CAACA,IAGF,6BAASjc,EAAU,CAAEgK,IAAKA,EAAK3C,UAAW6C,IACxC,kBAAC4R,GAAgBxV,SAAQ,CACvBnR,MAAO,CACL4mB,WAAYS,EACZE,YA5BkB,SAACC,GACzB,IAAIC,EAAQJ,EACZ,GAAIH,EACFO,EAAQA,EAAM,KAAOD,EAAU,GAAK,CAACA,OAChC,CAEL,IAAM7C,GADN8C,EAAQ,EAAIJ,IACQ9d,QAAQie,GACX7C,GAAS,EAGxB8C,EAAMjC,OAAOb,EAAO,GAEpB8C,EAAMnmB,KAAKkmB,IApBS,SAACC,GACnB,cAAe7jB,GAEnB0jB,EAAeG,GAEjB3Q,GAAYA,EAAS2Q,GAkBrBC,CAAkBD,MAeb,IAAMpW,SAAS0J,IAAIhK,GAAU,SAACiK,EAAOqE,GACpC,IAAMpE,EAAeD,EACrB,GAAsC,kBAAlCC,EAAajI,KAAKmB,YAAiC,CACrD,IAAMwT,EAAyC,CAC7CV,UAAS,EACTD,UAAS,EACTQ,QAAS,GAAGnI,GAEd,OAAO,IAAMjO,aAAa6J,EAAc0M,GAE1C,OAAO3M,UAQnB+L,GAAS5S,YAAc,WAER,UC1FTyT,GAAqB,SAAChkB,GAClB,IAAA+Q,EAAqB/Q,EAAK,OAAlBmN,EAAanN,EAAK,SAC5BikB,EAAgB,iBAAsB,MACtCC,EAAgB,iBAAsB,MACtCjT,EAAM,iBAA8B,MAEpCkT,EAAc,uBAAY,WAC9B,IAAMzN,EAAKzF,EAAIrE,QACX8J,IACFA,EAAG5F,MAAMsT,QAAU,QACnB1N,EAAG5F,MAAM3J,OAAS,SAEnB,IAEGkd,EAAa,uBAAY,WAC7B,IAAM3N,EAAKzF,EAAIrE,QACX8J,IACFA,EAAG5F,MAAMsT,QAAU,QACnB1N,EAAG5F,MAAM3J,OAAS,MAEnB,IAEGsC,EAAQ,uBAAY,WACxB,IAAMiN,EAAKzF,EAAIrE,QACX8J,IACsB,IAApBA,EAAG4N,aACL5N,EAAG5F,MAAM3J,OAASuP,EAAG4N,aAAe,KAEpC5N,EAAG5F,MAAM3J,OAAS,GAGpB+c,EAActX,QAAU/R,OAAOkE,YAAW,WAAM,OAAAslB,MAjC5B,QAmCrB,CAACA,IAEEE,EAAc,uBAAY,WAC9B,IAAM7N,EAAKzF,EAAIrE,QACX8J,IACFA,EAAG5F,MAAMsT,QAAU,QACK,IAApB1N,EAAG4N,eACL5N,EAAG5F,MAAM3J,OAASuP,EAAG4N,aAAe,SAGvC,IAEGE,EAAa,uBAAY,WAC7B,IAAM9N,EAAKzF,EAAIrE,QACX8J,IACFA,EAAG5F,MAAMsT,QAAU,OACnB1N,EAAG5F,MAAM3J,OAAS,MAEnB,IAEGsd,EAAQ,uBAAY,WACxB,IAAM/N,EAAKzF,EAAIrE,QACX8J,IACsB,IAApBA,EAAG4N,eACL5N,EAAG5F,MAAM3J,OAAS,OAGpB8c,EAAcrX,QAAU/R,OAAOkE,YAAW,WAAM,OAAAylB,MA9D5B,QAgErB,CAACA,IAEEE,EAAgB,uBACpB,SAACC,GACC,IAAMC,EAAaV,EAActX,QAC3BiY,EAAaZ,EAAcrX,QACjCgY,GAAc/pB,OAAOsI,aAAayhB,GAClCC,GAAchqB,OAAOsI,aAAa0hB,GAE9BF,GACFR,IACA1a,MAEA8a,IACAE,OAGJ,CAAChb,EAAOgb,EAAON,EAAaI,IAiB9B,OAdA,qBAAU,WAIR,OAHAJ,IACA1a,IAEO,WACL8a,IACAE,OAED,CAAChb,EAAOgb,EAAON,EAAaI,IAE/B,qBAAU,WACRG,EAAc3T,KACb,CAACA,EAAQ2T,IAGV,yBAAKpW,UAAU,yBAAyB2C,IAAKA,GAC1C9D,IAKP6W,GAAmBzT,YAAc,qBAElB,UCpGTuU,GAAW,SAACxjB,EAAuByjB,GACvC,MAAuB,mBAATzjB,EAAsBA,EAAKyjB,GAAYzjB,GAGjD0jB,GAAgB,SAAChlB,G,MAEnB,EAWEA,EAAK,UAXPojB,OAAS,IAAG,GAAI,EAChBQ,EAUE5jB,EAAK,QATPse,EASEte,EAAK,OARPgY,EAQEhY,EAAK,SAPPqe,EAOEre,EAAK,MANPqjB,EAMErjB,EAAK,UALPilB,EAKEjlB,EAAK,gBAJPsO,EAIEtO,EAAK,UAHP8Q,EAGE9Q,EAAK,MAFPmN,EAEEnN,EAAK,SADI6G,EACT7G,EAAK,UACHklB,EAAU,iBAA8B,MACxChU,EAAgB,qBAAW9K,GAC3B,EAA8B,qBAAW2c,IAAvCC,EAAU,aAAEW,EAAW,cACzBrd,EAAYI,EAAa,gBAAiBwK,EAAc5K,UAAWO,GACnE4F,EAASuW,EAAWnM,SAAS+M,GAC7BzS,EAAM,IAAW7K,EAAWgI,IAAS,MACrChI,EAAS,WAAYmG,E,IAGrB0Y,EAAgB,SAAChmB,GAChB6Y,IACHiN,GAAmBA,EAAgB9lB,GACnCwkB,GAAeA,EAAYC,KASzBwB,EAAa,SAACjmB,G,MAElB,GADAA,EAAEkmB,mBACGrN,EAAU,CACb,IAAM1W,EAAO4jB,EAAQtY,QACrBtL,IAAuB,QAAnB,EAAIA,EAAKgkB,kBAAU,SAAEhD,YAAYhhB,MAuBzC,OACE,yBAAKgN,UAAW6C,EAAKL,MAAOA,EAAOG,IAAKiU,GApBrB,W,QACbK,EAAY,IAAcjf,EAAS,aAAU,MAC7CA,EAAS,qBAAsB0R,E,IAE/BwN,EAAW,IAAclf,EAAS,YAAS,MAC3CA,EAAS,kBAAmBmG,E,IAGlC,OACE,yBAAK6B,UAAWiX,EAAWjU,QAAS6T,GACjC/B,GAAa,kBAACtc,EAAS,CAACC,KAAM,GAAIuH,UAAWkX,IAC9C,yBAAKlX,UAAchI,EAAS,WAAYwe,GAASxG,EAAQ7R,IACzD,yBAAK6B,UAAchI,EAAS,WACzB+c,EAAY,0BAAM/R,QAAS8T,GAAU,KAAaN,GAASzG,EAAO5R,KAQtEgZ,GACD,kBAAC,GAAkB,CAAC1U,OAAQtE,GAC1B,yBAAK6B,UAAchI,EAAS,aAAcwe,GAAS3X,EAAUV,OAMrEuY,GAAczU,YAAc,gBAEb,UCrFTmV,GAAkB,GACxBA,GAAgBC,MAAQ,GAET,UCJTC,GAAY,SAAC5lB,GAEf,MAOEA,EAAK,SAPP6lB,OAAQ,IAAG,GAAK,EACLhf,EAMT7G,EAAK,UALP5D,EAKE4D,EAAK,MAJP8lB,EAIE9lB,EAAK,SAHPsO,EAGEtO,EAAK,UAFP8Q,EAEE9Q,EAAK,MADPmN,EACEnN,EAAK,SACHkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,YAAawK,EAAc5K,UAAWO,GAC/DsK,EAAM,IAAW7K,EAAWgI,GAC5B,EAAkB,mBAAmB,CAAEyX,IAAK,EAAGC,KAAM,EAAGC,IAAK,EAAGC,IAAK,EAAGL,SAAU,IAAjFM,EAAI,KAAEC,EAAO,KACdC,EAAW,mBAEXC,EAAgB,uBAAY,WAChCD,EAASzZ,QAAU/R,OAAO+lB,aACxB,WACE,IAAMxE,EAAWhgB,EAAMwG,UAAYD,KAAKhE,MAGxC,GAAIyd,EAAW,EAIb,OAHAvhB,OAAOgmB,cAAcwF,EAASzZ,SAC9BwZ,EAAQ,CAAEL,IAAK,EAAGC,KAAM,EAAGC,IAAK,EAAGC,IAAK,EAAGL,SAAU,SACrDC,GAAYA,KAKd,IAAMC,EAAMlnB,KAAK0nB,MAAMnK,EAAW,OAC5B4J,EAAOnnB,KAAK0nB,MAAOnK,EAAW,MAAY,MAC1C6J,EAAMpnB,KAAK0nB,MAAOnK,EAAW,KAAW,KACxC8J,EAAMrnB,KAAK0nB,MAAOnK,EAAW,IAAS,KACtCoK,EAAc3nB,KAAK0nB,MAAOnK,EAAW,IAAS,KACpDgK,EAAQ,CAAEL,IAAG,EAAEC,KAAI,EAAEC,IAAG,EAAEC,IAAG,EAAEL,SAAUW,MAE3CX,EAAW,EAAI,OAEhB,CAACA,EAAUC,EAAU1pB,IAUxB,OARA,qBAAU,WAGR,OAFAA,GAASkqB,IAEF,WACLzrB,OAAOgmB,cAAcwF,EAASzZ,YAE/B,CAACxQ,EAAOkqB,IAGT,yBAAKhY,UAAW6C,EAAKL,MAAOA,GACL,mBAAb3D,GAA2BA,EAASgZ,KAKlDP,GAAUrV,YAAc,YAET,UCAA,GAnDH,SAACvQ,G,UACHymB,EAA2CzmB,EAAK,KAA1C0mB,EAAqC1mB,EAAK,MAAnCoP,EAA8BpP,EAAK,KAA7Bme,EAAwBne,EAAK,SAAnBsG,EAActG,EAAK,UAElD,EAAgCymB,EAAKzmB,MAAnC2mB,EAAK,QAAExZ,EAAQ,WAAE,IAAAuV,YAAI,IAAG,IAAC,EACjC,OAAQtT,GACN,IAAK,OACH,IAAMwX,EAAW,IAActgB,EAAS,iBAAc,MAChDA,EAAS,gBAAiBogB,E,IAEhC,OAAIvI,EAEA,oCACE,wBAAI7P,UAAWsY,EAAUC,QAAS,GAC/BF,GAEH,wBAAIrY,UAAchI,EAAS,iBAAkBugB,QAAgB,EAAPnE,EAAW,GAC9DvV,IAML,wBAAImB,UAAchI,EAAS,SAAUugB,QAASnE,GAC5C,0BAAMpU,UAAWsY,GAAWD,GAC5B,0BAAMrY,UAAchI,EAAS,kBAAmB6G,IAKxD,IAAK,QACH,IAAMgE,EAAM,MAAU,MACd7K,EAAS,WAAY6X,EAAU,EAAI7X,EAAS,gBAAiBogB,EAAK,GACrEpgB,EAAS,gBAEd,OACE,wBAAIgI,UAAW6C,EAAK0V,QAASnE,GAC1BiE,GAIP,IAAK,UACGxV,EAAM,MAAU,MAAO7K,EAAS,WAAY6X,EAAQ,GAAO7X,EAAS,kBAC1E,OACE,wBAAIgI,UAAW6C,EAAK0V,QAASnE,GAC1BvV,KCNI,GArCH,SAACnN,GACH,IAAA8mB,EAAmD9mB,EAAK,IAAnD+gB,EAA8C/gB,EAAK,MAA5C+mB,EAAuC/mB,EAAK,OAApC0mB,EAA+B1mB,EAAK,MAA7Bme,EAAwBne,EAAK,SAAnBsG,EAActG,EAAK,UAE1DgnB,EAAa,SAACC,GAClB,OAAOH,EAAI3P,KAAI,SAACsP,EAAMhL,GAAQ,OAC5B,kBAAC,GAAG,CACF/e,IAAK+e,EACLsF,MAAOtF,EACPnV,UAAWA,EACXmgB,KAAMA,EACNtI,SAAUA,EACVuI,MAAOA,EACPtX,KAAM6X,QAKZ,MAAe,aAAXF,EAEA,oCACE,wBAAIzY,UAAchI,EAAS,QAAS5J,IAAK,SAASqkB,GAC/CiG,EAAW,UAEd,wBAAI1Y,UAAchI,EAAS,QAAS5J,IAAK,WAAWqkB,GACjDiG,EAAW,aAOlB,wBAAI1Y,UAAchI,EAAS,QAAS5J,IAAKqkB,GACtCiG,EAAW,UCvCZE,GAAe,SAAClnB,G,MAElB,EASEA,EAAK,KATP+G,OAAI,IAAG,OAAI,EACX,EAQE/G,EAAK,SARPme,OAAQ,IAAG,GAAK,EAChB,EAOEne,EAAK,OAPPmnB,OAAM,IAAG,IAAC,EACV,EAMEnnB,EAAK,OANP+mB,OAAM,IAAG,eAAY,EACrB5iB,EAKEnE,EAAK,MAJPsO,EAIEtO,EAAK,UAHPmN,EAGEnN,EAAK,SAFI6G,EAET7G,EAAK,UADJiH,EAAU,EACXjH,EAVE,kFAWAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,eAAgBwK,EAAc5K,UAAWO,GAClEsK,EAAM,IAAW7K,EAAWgI,EAAchI,EAAS,IAAIS,IAAM,MAC7DT,EAAS,aAAc6X,E,IAwCvBiJ,EArCU,WACd,IAEIC,EAFED,EAAsD,GACxDE,EAA8D,KAG5DC,EAAgB,IAAM9Z,SAASuP,MAAM7P,GA6B3C,OA5BA,IAAMM,SAASY,QAAQlB,GAAU,SAACiK,EAAOqE,GACvC,IAAMpE,EAAeD,EACrB,GAAsC,qBAAlCC,EAAajI,KAAKmB,YAAoC,CACxD,IAAIiX,EAAWnQ,EASf,GAPKiQ,IACHD,EAAYF,EACZG,EAAU,GACVF,EAAK1pB,KAAK4pB,IAIR7L,IAAQ8L,EAAgB,EAAG,CAC7B,IAAM,EAAwC,CAAE7E,KAAM2E,GACtDG,EAAW,IAAMha,aAAa6J,EAAc,GAItC,MAAamQ,EAASxnB,MAAK,KAA3B0iB,OAAI,IAAG,IAAC,EAChB4E,EAAQ5pB,KAAK8pB,IACbH,GAAa3E,IAEI,IACf4E,EAAU,UAKTF,EAGIK,GACPC,EAAe,UAAW1nB,EAASA,EAAM0mB,OAAqBvI,EAEpE,OACE,6BAASlX,EAAU,CAAEqH,UAAW6C,IAC7BhN,GAAS,yBAAKmK,UAAchI,EAAS,WAAYnC,GAClD,yBAAKmK,UAAchI,EAAS,UAC1B,+BACE,+BACG8gB,EAAKjQ,KAAI,SAAC2P,EAAKrL,GAAQ,OACtB,kBAAC,GAAG,CACF/e,IAAK+e,EACLsF,MAAOtF,EACPiL,MAAOgB,EACPvJ,SAAUA,EACV7X,UAAWA,EACXygB,OAAQA,EACRD,IAAKA,YAUrBI,GAAa3W,YAAc,eAEZ,UCzFToX,GAAmB,SAAC3nB,GACxB,OAAOA,EAAMmN,UAGfwa,GAAiBpX,YAAc,mBAEhB,UCDTqX,GAAc,GACpBA,GAAY7jB,KAAO,GAEJ,UCJT8jB,GAAU,SAAC7nB,G,MAEb,EAOEA,EAAK,KAPPoP,OAAI,IAAG,eAAY,EACnB,EAMEpP,EAAK,OANP8nB,OAAM,IAAG,GAAK,EACd,EAKE9nB,EAAK,MALP+nB,OAAK,IAAG,WAAQ,EACLlhB,EAIT7G,EAAK,UAHPsO,EAGEtO,EAAK,UAFPmN,EAEEnN,EAAK,SADJiH,EAAU,EACXjH,EARE,8DASAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,UAAWwK,EAAc5K,UAAWO,GAC7DsK,EAAM,IAAW7K,EAAWgI,EAAchI,EAAS,IAAI8I,EAAW9I,EAAS,IAAIyhB,IAAO,MACtFzhB,EAAS,IAAI8I,EAAI,WAAY0Y,EACjC,EAAIxhB,EAAS,SAAU6G,E,IAGzB,OACE,6BAASlG,EAAU,CAAEqH,UAAW6C,IAC7BhE,GAAY,0BAAMmB,UAAchI,EAAS,eAAgB6G,KAKhE0a,GAAQtX,YAAc,UAEP,UChCA,SAAS4B,GAAsBhR,GAC5C,IAAI4S,EAAO5S,EAAQgR,wBACnB,MAAO,CACLjL,MAAO6M,EAAK7M,MACZC,OAAQ4M,EAAK5M,OACbiL,IAAK2B,EAAK3B,IACVG,MAAOwB,EAAKxB,MACZD,OAAQyB,EAAKzB,OACbD,KAAM0B,EAAK1B,KACX2V,EAAGjU,EAAK1B,KACR4V,EAAGlU,EAAK3B,KCPG,SAAS8V,GAAU5mB,GAChC,GAAwB,oBAApBA,EAAK6mB,WAAkC,CACzC,IAAIC,EAAgB9mB,EAAK8mB,cACzB,OAAOA,EAAgBA,EAAcC,YAAcxtB,OAGrD,OAAOyG,ECRM,SAASgnB,GAAgBhnB,GACtC,IAAIinB,EAAML,GAAU5mB,GAGpB,MAAO,CACLknB,WAHeD,EAAIE,YAInB7Y,UAHc2Y,EAAIrM,aCAtB,SAASwM,GAAUpnB,GAEjB,OAAOA,aADU4mB,GAAU5mB,GAAMqnB,SACIrnB,aAAgBqnB,QAMvD,SAASC,GAActnB,GAErB,OAAOA,aADU4mB,GAAU5mB,GAAMunB,aACIvnB,aAAgBunB,YCdxC,SAASC,GAAY3nB,GAClC,OAAOA,GAAWA,EAAQ4nB,UAAY,IAAIC,cAAgB,KCA7C,SAASC,GAAmB9nB,GAEzC,OAAQunB,GAAUvnB,GAAWA,EAAQinB,cAAgBjnB,EAAQqR,UAAUC,gBCA1D,SAASyW,GAAoB/nB,GAQ1C,OAAOgR,GAAsB8W,GAAmB9nB,IAAUkR,KAAOiW,GAAgBnnB,GAASqnB,WCV7E,SAASW,GAAiBhoB,GACvC,OAAO+mB,GAAU/mB,GAASgoB,iBAAiBhoB,GCD9B,SAASioB,GAAejoB,GAErC,IAAIkoB,EAAoBF,GAAiBhoB,GACrCmoB,EAAWD,EAAkBC,SAC7BC,EAAYF,EAAkBE,UAC9BC,EAAYH,EAAkBG,UAElC,MAAO,6BAA6BC,KAAKH,EAAWE,EAAYD,GCCnD,SAASG,GAAiBC,EAAyBC,EAAcC,QAC9D,IAAZA,IACFA,GAAU,GAGZ,ICVoCvoB,ECJOH,EFcvCsR,EAAkBwW,GAAmBW,GACrC7V,EAAO5B,GAAsBwX,GAC7BG,EAA0BlB,GAAcgB,GACxCG,EAAS,CACXvB,WAAY,EACZ5Y,UAAW,GAEToa,EAAU,CACZhC,EAAG,EACHC,EAAG,GAkBL,OAfI6B,IAA4BA,IAA4BD,MACxB,SAA9Bf,GAAYc,IAChBR,GAAe3W,MACbsX,GCzBgCzoB,EDyBTsoB,KCxBd1B,GAAU5mB,IAAUsnB,GAActnB,GCJxC,CACLknB,YAFyCrnB,EDQbG,GCNRknB,WACpB5Y,UAAWzO,EAAQyO,WDGZ0Y,GAAgBhnB,ID0BnBsnB,GAAcgB,KAChBI,EAAU7X,GAAsByX,IACxB5B,GAAK4B,EAAaK,WAC1BD,EAAQ/B,GAAK2B,EAAaM,WACjBzX,IACTuX,EAAQhC,EAAIkB,GAAoBzW,KAI7B,CACLuV,EAAGjU,EAAK1B,KAAO0X,EAAOvB,WAAawB,EAAQhC,EAC3CC,EAAGlU,EAAK3B,IAAM2X,EAAOna,UAAYoa,EAAQ/B,EACzC/gB,MAAO6M,EAAK7M,MACZC,OAAQ4M,EAAK5M,QG3CF,SAASgjB,GAAchpB,GACpC,MAAO,CACL6mB,EAAG7mB,EAAQipB,WACXnC,EAAG9mB,EAAQ4R,UACX7L,MAAO/F,EAAQ+X,YACf/R,OAAQhG,EAAQwT,cCLL,SAAS0V,GAAclpB,GACpC,MAA6B,SAAzB2nB,GAAY3nB,GACPA,EAIPA,EAAQmpB,cACRnpB,EAAQmkB,YAERnkB,EAAQ4V,MAERkS,GAAmB9nB,GCDR,SAASopB,GAAkBppB,EAASqpB,QACpC,IAATA,IACFA,EAAO,IAGT,IAAIC,ECbS,SAASC,EAAgBppB,GACtC,MAAI,CAAC,OAAQ,OAAQ,aAAaqE,QAAQmjB,GAAYxnB,KAAU,EAEvDA,EAAK8mB,cAAcvS,KAGxB+S,GAActnB,IAAS8nB,GAAe9nB,GACjCA,EAGFopB,EAAgBL,GAAc/oB,IDGlBopB,CAAgBvpB,GAC/BwpB,EAAuC,SAA9B7B,GAAY2B,GACrBlC,EAAML,GAAUuC,GAChBviB,EAASyiB,EAAS,CAACpC,GAAK/kB,OAAO+kB,EAAIqC,gBAAkB,GAAIxB,GAAeqB,GAAgBA,EAAe,IAAMA,EAC7GI,EAAcL,EAAKhnB,OAAO0E,GAC9B,OAAOyiB,EAASE,EAChBA,EAAYrnB,OAAO+mB,GAAkBF,GAAcniB,KEtBtC,SAAS4iB,GAAe3pB,GACrC,MAAO,CAAC,QAAS,KAAM,MAAMwE,QAAQmjB,GAAY3nB,KAAa,ECMhE,SAAS4pB,GAAoB5pB,GAC3B,IAAKynB,GAAcznB,IACoB,UAAvCgoB,GAAiBhoB,GAAS0T,SACxB,OAAO,KAGT,IAAI+U,EAAezoB,EAAQyoB,aAE3B,GAAIA,EAAc,CAChB,IAAIoB,EAAO/B,GAAmBW,GAE9B,GAAkC,SAA9Bd,GAAYc,IAAwE,WAA5CT,GAAiBS,GAAc/U,UAA6D,WAApCsU,GAAiB6B,GAAMnW,SACzH,OAAOmW,EAIX,OAAOpB,EAwBM,SAASqB,GAAgB9pB,GAItC,IAHA,IAAItG,EAASqtB,GAAU/mB,GACnByoB,EAAemB,GAAoB5pB,GAEhCyoB,GAAgBkB,GAAelB,IAA6D,WAA5CT,GAAiBS,GAAc/U,UACpF+U,EAAemB,GAAoBnB,GAGrC,OAAIA,GAA8C,SAA9Bd,GAAYc,IAAwE,WAA5CT,GAAiBS,GAAc/U,SAClFha,EAGF+uB,GA/BT,SAA4BzoB,GAG1B,IAFA,IAAI+pB,EAAcb,GAAclpB,GAEzBynB,GAAcsC,IAAgB,CAAC,OAAQ,QAAQvlB,QAAQmjB,GAAYoC,IAAgB,GAAG,CAC3F,IAAIC,EAAMhC,GAAiB+B,GAG3B,GAAsB,SAAlBC,EAAI9P,WAA4C,SAApB8P,EAAIC,aAA0BD,EAAIE,YAAiC,SAAnBF,EAAIE,WAClF,OAAOH,EAEPA,EAAcA,EAAY5F,WAI9B,OAAO,KAiBgBgG,CAAmBnqB,IAAYtG,EC5DjD,IAAI,GAAM,MACNyX,GAAS,SACTC,GAAQ,QACRF,GAAO,OAEPkZ,GAAiB,CAAC,GAAKjZ,GAAQC,GAAOF,IAOtCmZ,GAAmCD,GAAeE,QAAO,SAAUC,EAAKC,GACjF,OAAOD,EAAIloB,OAAO,CAACmoB,WAAyBA,aAC3C,IACQ,GAA0B,GAAGnoB,OAAO+nB,GAAgB,CAX7C,SAWqDE,QAAO,SAAUC,EAAKC,GAC3F,OAAOD,EAAIloB,OAAO,CAACmoB,EAAWA,WAAyBA,aACtD,IAaQC,GAAiB,CAXJ,aACN,OACK,YAEC,aACN,OACK,YAEE,cACN,QACK,cC3BxB,SAAS,GAAMC,GACb,IAAI1U,EAAM,IAAI2U,IACVC,EAAU,IAAIC,IACd7R,EAAS,GA0Bb,OAzBA0R,EAAUxd,SAAQ,SAAU4d,GAC1B9U,EAAI+U,IAAID,EAASvwB,KAAMuwB,MAkBzBJ,EAAUxd,SAAQ,SAAU4d,GACrBF,EAAQI,IAAIF,EAASvwB,OAhB5B,SAAS0wB,EAAKH,GACZF,EAAQlc,IAAIoc,EAASvwB,MACN,GAAG8H,OAAOyoB,EAASI,UAAY,GAAIJ,EAASK,kBAAoB,IACtEje,SAAQ,SAAUke,GACzB,IAAKR,EAAQI,IAAII,GAAM,CACrB,IAAIC,EAAcrV,EAAInb,IAAIuwB,GAEtBC,GACFJ,EAAKI,OAIXrS,EAAOzc,KAAKuuB,GAMVG,CAAKH,MAGF9R,EChBT,IAEIsS,GAAkB,CACpBd,UAAW,SACXE,UAAW,GACXa,SAAU,YAGZ,SAASC,KACP,IAAK,IAAI/d,EAAOtR,UAAUC,OAAQ2G,EAAO,IAAIvG,MAAMiR,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC/E3K,EAAK2K,GAAQvR,UAAUuR,GAGzB,OAAQ3K,EAAK0oB,MAAK,SAAUzrB,GAC1B,QAASA,GAAoD,mBAAlCA,EAAQgR,0BAIhC,SAAS0a,GAAgBC,QACL,IAArBA,IACFA,EAAmB,IAGrB,IAAIC,EAAoBD,EACpBE,EAAwBD,EAAkBE,iBAC1CA,OAA6C,IAA1BD,EAAmC,GAAKA,EAC3DE,EAAyBH,EAAkBI,eAC3CA,OAA4C,IAA3BD,EAAoCT,GAAkBS,EAC3E,OAAO,SAAsBE,EAAWC,EAAQnT,QAC9B,IAAZA,IACFA,EAAUiT,GAGZ,IChD6B7tB,EAC3BguB,ED+CExjB,EAAQ,CACV6hB,UAAW,SACX4B,iBAAkB,GAClBrT,QAASre,OAAO4J,OAAO5J,OAAO4J,OAAO,GAAIgnB,IAAkBU,GAC3DK,cAAe,GACfC,SAAU,CACRL,UAAWA,EACXC,OAAQA,GAEVK,WAAY,GACZ9S,OAAQ,IAEN+S,EAAmB,GACnBC,GAAc,EACdC,EAAW,CACb/jB,MAAOA,EACPgkB,WAAY,SAAoB5T,GAC9B6T,IACAjkB,EAAMoQ,QAAUre,OAAO4J,OAAO5J,OAAO4J,OAAO5J,OAAO4J,OAAO,GAAI0nB,GAAiBrjB,EAAMoQ,SAAUA,GAC/FpQ,EAAMkkB,cAAgB,CACpBZ,UAAW1E,GAAU0E,GAAa7C,GAAkB6C,GAAaA,EAAUa,eAAiB1D,GAAkB6C,EAAUa,gBAAkB,GAC1IZ,OAAQ9C,GAAkB8C,IAI5B,IAAIE,EDvCG,SAAwB1B,GAErC,IAAI0B,EAAmB,GAAM1B,GAE7B,OAAOD,GAAeH,QAAO,SAAUC,EAAK/b,GAC1C,OAAO+b,EAAIloB,OAAO+pB,EAAiBW,QAAO,SAAUjC,GAClD,OAAOA,EAAStc,QAAUA,QAE3B,IC+B0Bwe,CEzEhB,SAAqBtC,GAClC,IAAIuC,EAASvC,EAAUJ,QAAO,SAAU2C,EAAQxhB,GAC9C,IAAIyhB,EAAWD,EAAOxhB,EAAQlR,MAK9B,OAJA0yB,EAAOxhB,EAAQlR,MAAQ2yB,EAAWxyB,OAAO4J,OAAO5J,OAAO4J,OAAO5J,OAAO4J,OAAO,GAAI4oB,GAAWzhB,GAAU,GAAI,CACvGsN,QAASre,OAAO4J,OAAO5J,OAAO4J,OAAO,GAAI4oB,EAASnU,SAAUtN,EAAQsN,SACpEoU,KAAMzyB,OAAO4J,OAAO5J,OAAO4J,OAAO,GAAI4oB,EAASC,MAAO1hB,EAAQ0hB,QAC3D1hB,EACEwhB,IACN,IAEH,OAAOvyB,OAAO0M,KAAK6lB,GAAQjX,KAAI,SAAUza,GACvC,OAAO0xB,EAAO1xB,MF8D4B6xB,CAAY,GAAG/qB,OAAOypB,EAAkBnjB,EAAMoQ,QAAQ2R,aAyC5F,OAvCA/hB,EAAMyjB,iBAAmBA,EAAiBW,QAAO,SAAU3yB,GACzD,OAAOA,EAAEizB,WAqJb1kB,EAAMyjB,iBAAiBlf,SAAQ,SAAUtB,GACvC,IAAIrR,EAAOqR,EAAMrR,KACb+yB,EAAgB1hB,EAAMmN,QACtBA,OAA4B,IAAlBuU,EAA2B,GAAKA,EAC1CC,EAAS3hB,EAAM2hB,OAEnB,GAAsB,mBAAXA,EAAuB,CAChC,IAAIC,EAAYD,EAAO,CACrB5kB,MAAOA,EACPpO,KAAMA,EACNmyB,SAAUA,EACV3T,QAASA,IAKXyT,EAAiBjwB,KAAKixB,GAFT,kBA7HRd,EAASe,UAOlBC,YAAa,WACX,IAAIjB,EAAJ,CAIA,IAAIkB,EAAkBhlB,EAAM2jB,SACxBL,EAAY0B,EAAgB1B,UAC5BC,EAASyB,EAAgBzB,OAG7B,GAAKV,GAAiBS,EAAWC,GAAjC,CASAvjB,EAAMilB,MAAQ,CACZ3B,UAAW1D,GAAiB0D,EAAWnC,GAAgBoC,GAAoC,UAA3BvjB,EAAMoQ,QAAQwS,UAC9EW,OAAQlD,GAAckD,IAOxBvjB,EAAMklB,OAAQ,EACdllB,EAAM6hB,UAAY7hB,EAAMoQ,QAAQyR,UAKhC7hB,EAAMyjB,iBAAiBlf,SAAQ,SAAU4d,GACvC,OAAOniB,EAAM0jB,cAAcvB,EAASvwB,MAAQG,OAAO4J,OAAO,GAAIwmB,EAASqC,SAIzE,IAFA,IAESvN,EAAQ,EAAGA,EAAQjX,EAAMyjB,iBAAiBhwB,OAAQwjB,IAUzD,IAAoB,IAAhBjX,EAAMklB,MAAV,CAMA,IAAIC,EAAwBnlB,EAAMyjB,iBAAiBxM,GAC/CzhB,EAAK2vB,EAAsB3vB,GAC3B4vB,EAAyBD,EAAsB/U,QAC/CiV,OAAsC,IAA3BD,EAAoC,GAAKA,EACpDxzB,EAAOuzB,EAAsBvzB,KAEf,mBAAP4D,IACTwK,EAAQxK,EAAG,CACTwK,MAAOA,EACPoQ,QAASiV,EACTzzB,KAAMA,EACNmyB,SAAUA,KACN/jB,QAjBNA,EAAMklB,OAAQ,EACdjO,GAAS,KAsBf6N,QClM2BtvB,EDkMV,WACf,OAAO,IAAI8vB,SAAQ,SAAUC,GAC3BxB,EAASgB,cACTQ,EAAQvlB,OCnMT,WAUL,OATKwjB,IACHA,EAAU,IAAI8B,SAAQ,SAAUC,GAC9BD,QAAQC,UAAUC,MAAK,WACrBhC,OAAUxiB,EACVukB,EAAQ/vB,YAKPguB,ID4LLiC,QAAS,WACPxB,IACAH,GAAc,IAIlB,IAAKjB,GAAiBS,EAAWC,GAK/B,OAAOQ,EAmCT,SAASE,IACPJ,EAAiBtf,SAAQ,SAAU/O,GACjC,OAAOA,OAETquB,EAAmB,GAGrB,OAvCAE,EAASC,WAAW5T,GAASoV,MAAK,SAAUxlB,IACrC8jB,GAAe1T,EAAQsV,eAC1BtV,EAAQsV,cAAc1lB,MAqCnB+jB,GAGJ,IG9PH4B,GAAU,CACZA,SAAS,GCFI,SAASC,GAAiB/D,GACvC,OAAOA,EAAUvd,MAAM,KAAK,GCFf,SAASuhB,GAAahE,GACnC,OAAOA,EAAUvd,MAAM,KAAK,GCDf,SAASwhB,GAAyBjE,GAC/C,MAAO,CAAC,MAAO,UAAUhmB,QAAQgmB,IAAc,EAAI,IAAM,ICG5C,SAASkE,GAAe3lB,GACrC,IAOI8f,EAPAoD,EAAYljB,EAAKkjB,UACjBjsB,EAAU+I,EAAK/I,QACfwqB,EAAYzhB,EAAKyhB,UACjBmE,EAAgBnE,EAAY+D,GAAiB/D,GAAa,KAC1DoE,EAAYpE,EAAYgE,GAAahE,GAAa,KAClDqE,EAAU5C,EAAUpF,EAAIoF,EAAUlmB,MAAQ,EAAI/F,EAAQ+F,MAAQ,EAC9D+oB,EAAU7C,EAAUnF,EAAImF,EAAUjmB,OAAS,EAAIhG,EAAQgG,OAAS,EAGpE,OAAQ2oB,GACN,KAAK,GACH9F,EAAU,CACRhC,EAAGgI,EACH/H,EAAGmF,EAAUnF,EAAI9mB,EAAQgG,QAE3B,MAEF,KAAKmL,GACH0X,EAAU,CACRhC,EAAGgI,EACH/H,EAAGmF,EAAUnF,EAAImF,EAAUjmB,QAE7B,MAEF,KAAKoL,GACHyX,EAAU,CACRhC,EAAGoF,EAAUpF,EAAIoF,EAAUlmB,MAC3B+gB,EAAGgI,GAEL,MAEF,KAAK5d,GACH2X,EAAU,CACRhC,EAAGoF,EAAUpF,EAAI7mB,EAAQ+F,MACzB+gB,EAAGgI,GAEL,MAEF,QACEjG,EAAU,CACRhC,EAAGoF,EAAUpF,EACbC,EAAGmF,EAAUnF,GAInB,IAAIiI,EAAWJ,EAAgBF,GAAyBE,GAAiB,KAEzE,GAAgB,MAAZI,EAAkB,CACpB,IAAIvsB,EAAmB,MAAbusB,EAAmB,SAAW,QAExC,OAAQH,GACN,ITlDa,QSmDX/F,EAAQkG,GAAYrxB,KAAK0nB,MAAMyD,EAAQkG,IAAarxB,KAAK0nB,MAAM6G,EAAUzpB,GAAO,EAAIxC,EAAQwC,GAAO,GACnG,MAEF,ITrDW,MSsDTqmB,EAAQkG,GAAYrxB,KAAK0nB,MAAMyD,EAAQkG,IAAarxB,KAAKsxB,KAAK/C,EAAUzpB,GAAO,EAAIxC,EAAQwC,GAAO,IAOxG,OAAOqmB,EClDM,ICXXoG,GAAa,CACfhe,IAAK,OACLG,MAAO,OACPD,OAAQ,OACRD,KAAM,QAgBD,SAASge,GAAYhlB,GAC1B,IAAIilB,EAEAjD,EAAShiB,EAAMgiB,OACfkD,EAAallB,EAAMklB,WACnB5E,EAAYtgB,EAAMsgB,UAClB3B,EAAU3e,EAAM2e,QAChBnV,EAAWxJ,EAAMwJ,SACjB2b,EAAkBnlB,EAAMmlB,gBACxBC,EAAWplB,EAAMolB,SAEjBC,EAtBN,SAAsBxmB,GACpB,IAAI8d,EAAI9d,EAAK8d,EACTC,EAAI/d,EAAK+d,EAET0I,EADM91B,OACI+1B,kBAAoB,EAClC,MAAO,CACL5I,EAAGnpB,KAAKO,MAAM4oB,EAAI2I,GAAOA,GAAO,EAChC1I,EAAGppB,KAAKO,MAAM6oB,EAAI0I,GAAOA,GAAO,GAedE,CAAa7G,GAC7BhC,EAAI0I,EAAc1I,EAClBC,EAAIyI,EAAczI,EAElB6I,EAAO9G,EAAQhtB,eAAe,KAC9B+zB,EAAO/G,EAAQhtB,eAAe,KAC9Bg0B,EAAQ3e,GACR4e,EAAQ,GACR1I,EAAM1tB,OAEV,GAAI41B,EAAU,CACZ,IAAI7G,EAAeqB,GAAgBoC,GAE/BzD,IAAiB1B,GAAUmF,KAC7BzD,EAAeX,GAAmBoE,IAMhC1B,IAAc,KAChBsF,EAAQ3e,GACR2V,GAAK2B,EAAajX,aAAe4d,EAAWppB,OAC5C8gB,GAAKuI,EAAkB,GAAK,GAG1B7E,IAActZ,KAChB2e,EAAQze,GACRyV,GAAK4B,EAAalX,YAAc6d,EAAWrpB,MAC3C8gB,GAAKwI,EAAkB,GAAK,GAIhC,IAKMU,EALFC,EAAet1B,OAAO4J,OAAO,CAC/BoP,SAAUA,GACT4b,GAAYL,IAEf,OAAII,EAGK30B,OAAO4J,OAAO5J,OAAO4J,OAAO,GAAI0rB,GAAe,KAAKD,EAAiB,IAAmBD,GAASF,EAAO,IAAM,GAAIG,EAAeF,GAASF,EAAO,IAAM,GAAII,EAAe7V,WAAakN,EAAIqI,kBAAoB,GAAK,EAAI,aAAe5I,EAAI,OAASC,EAAI,MAAQ,eAAiBD,EAAI,OAASC,EAAI,SAAUiJ,IAG9Sr1B,OAAO4J,OAAO5J,OAAO4J,OAAO,GAAI0rB,GAAe,KAAKb,EAAkB,IAAoBW,GAASF,EAAO9I,EAAI,KAAO,GAAIqI,EAAgBU,GAASF,EAAO9I,EAAI,KAAO,GAAIsI,EAAgBjV,UAAY,GAAIiV,ICnClM,IC9CXla,GAAO,CACT/D,KAAM,QACNE,MAAO,OACPD,OAAQ,MACRF,IAAK,UAEQ,SAASgf,GAAqBzF,GAC3C,OAAOA,EAAU3iB,QAAQ,0BAA0B,SAAUqoB,GAC3D,OAAOjb,GAAKib,MCRhB,IAAI,GAAO,CACTC,MAAO,MACPC,IAAK,SAEQ,SAASC,GAA8B7F,GACpD,OAAOA,EAAU3iB,QAAQ,cAAc,SAAUqoB,GAC/C,OAAO,GAAKA,MCND,SAASvhB,GAAS2hB,EAAQra,GAEvC,IAAIsa,EAAWC,QAAQva,EAAMwa,aAAexa,EAAMwa,cAAc7a,MAEhE,GAAI0a,EAAO3hB,SAASsH,GAClB,OAAO,EAEJ,GAAIsa,EAAU,CACf,IAAI9yB,EAAOwY,EAEX,EAAG,CACD,GAAIxY,GAAQ6yB,EAAOI,WAAWjzB,GAC5B,OAAO,EAITA,EAAOA,EAAK0mB,YAAc1mB,EAAKmY,WACxBnY,GAIb,OAAO,ECrBM,SAASkzB,GAAiB/d,GACvC,OAAOlY,OAAO4J,OAAO5J,OAAO4J,OAAO,GAAIsO,GAAO,GAAI,CAChD1B,KAAM0B,EAAKiU,EACX5V,IAAK2B,EAAKkU,EACV1V,MAAOwB,EAAKiU,EAAIjU,EAAK7M,MACrBoL,OAAQyB,EAAKkU,EAAIlU,EAAK5M,SCsB1B,SAAS4qB,GAA2B5wB,EAAS6wB,GAC3C,MjBnBoB,aiBmBbA,EAA8BF,GCzBxB,SAAyB3wB,GACtC,IAAIonB,EAAML,GAAU/mB,GAChB6pB,EAAO/B,GAAmB9nB,GAC1BypB,EAAiBrC,EAAIqC,eACrB1jB,EAAQ8jB,EAAKtY,YACbvL,EAAS6jB,EAAKrY,aACdqV,EAAI,EACJC,EAAI,EAuBR,OAjBI2C,IACF1jB,EAAQ0jB,EAAe1jB,MACvBC,EAASyjB,EAAezjB,OASnB,iCAAiCsiB,KAAKwI,UAAUC,aACnDlK,EAAI4C,EAAeR,WACnBnC,EAAI2C,EAAe7X,YAIhB,CACL7L,MAAOA,EACPC,OAAQA,EACR6gB,EAAGA,EAAIkB,GAAoB/nB,GAC3B8mB,EAAGA,GDTiDkK,CAAgBhxB,IAAYynB,GAAcoJ,GAdlG,SAAoC7wB,GAClC,IAAI4S,EAAO5B,GAAsBhR,GASjC,OARA4S,EAAK3B,IAAM2B,EAAK3B,IAAMjR,EAAQ+oB,UAC9BnW,EAAK1B,KAAO0B,EAAK1B,KAAOlR,EAAQ8oB,WAChClW,EAAKzB,OAASyB,EAAK3B,IAAMjR,EAAQwR,aACjCoB,EAAKxB,MAAQwB,EAAK1B,KAAOlR,EAAQuR,YACjCqB,EAAK7M,MAAQ/F,EAAQuR,YACrBqB,EAAK5M,OAAShG,EAAQwR,aACtBoB,EAAKiU,EAAIjU,EAAK1B,KACd0B,EAAKkU,EAAIlU,EAAK3B,IACP2B,EAI2Gqe,CAA2BJ,GAAkBF,GEtBlJ,SAAyB3wB,GACtC,IAAI6pB,EAAO/B,GAAmB9nB,GAC1BkxB,EAAY/J,GAAgBnnB,GAC5B0U,EAAO1U,EAAQinB,cAAcvS,KAC7B3O,EAAQrI,KAAKC,IAAIksB,EAAKsH,YAAatH,EAAKtY,YAAamD,EAAOA,EAAKyc,YAAc,EAAGzc,EAAOA,EAAKnD,YAAc,GAC5GvL,EAAStI,KAAKC,IAAIksB,EAAK1G,aAAc0G,EAAKrY,aAAckD,EAAOA,EAAKyO,aAAe,EAAGzO,EAAOA,EAAKlD,aAAe,GACjHqV,GAAKqK,EAAU7J,WAAaU,GAAoB/nB,GAChD8mB,GAAKoK,EAAUziB,UAMnB,MAJiD,QAA7CuZ,GAAiBtT,GAAQmV,GAAMuH,YACjCvK,GAAKnpB,KAAKC,IAAIksB,EAAKtY,YAAamD,EAAOA,EAAKnD,YAAc,GAAKxL,GAG1D,CACLA,MAAOA,EACPC,OAAQA,EACR6gB,EAAGA,EACHC,EAAGA,GFK2KuK,CAAgBvJ,GAAmB9nB,KAuBtM,SAASsxB,GAAgBtxB,EAASuxB,EAAUC,GACzD,IAAIC,EAAmC,oBAAbF,EAlB5B,SAA4BvxB,GAC1B,IAAI0xB,EAAkBtI,GAAkBF,GAAclpB,IAElD2xB,EADoB,CAAC,WAAY,SAASntB,QAAQwjB,GAAiBhoB,GAAS0T,WAAa,GACnD+T,GAAcznB,GAAW8pB,GAAgB9pB,GAAWA,EAE9F,OAAKunB,GAAUoK,GAKRD,EAAgB3E,QAAO,SAAU8D,GACtC,OAAOtJ,GAAUsJ,IAAmBliB,GAASkiB,EAAgBc,IAAmD,SAAhChK,GAAYkJ,MALrF,GAYkDe,CAAmB5xB,GAAW,GAAGqC,OAAOkvB,GAC/FG,EAAkB,GAAGrvB,OAAOovB,EAAqB,CAACD,IAClDK,EAAsBH,EAAgB,GACtCI,EAAeJ,EAAgBpH,QAAO,SAAUyH,EAASlB,GAC3D,IAAIje,EAAOge,GAA2B5wB,EAAS6wB,GAK/C,OAJAkB,EAAQ9gB,IAAMvT,KAAKC,IAAIiV,EAAK3B,IAAK8gB,EAAQ9gB,KACzC8gB,EAAQ3gB,MAAQ1T,KAAKonB,IAAIlS,EAAKxB,MAAO2gB,EAAQ3gB,OAC7C2gB,EAAQ5gB,OAASzT,KAAKonB,IAAIlS,EAAKzB,OAAQ4gB,EAAQ5gB,QAC/C4gB,EAAQ7gB,KAAOxT,KAAKC,IAAIiV,EAAK1B,KAAM6gB,EAAQ7gB,MACpC6gB,IACNnB,GAA2B5wB,EAAS6xB,IAKvC,OAJAC,EAAa/rB,MAAQ+rB,EAAa1gB,MAAQ0gB,EAAa5gB,KACvD4gB,EAAa9rB,OAAS8rB,EAAa3gB,OAAS2gB,EAAa7gB,IACzD6gB,EAAajL,EAAIiL,EAAa5gB,KAC9B4gB,EAAahL,EAAIgL,EAAa7gB,IACvB6gB,EGlEM,SAASE,GAAmBC,GACzC,OAAOv3B,OAAO4J,OAAO5J,OAAO4J,OAAO,GCD5B,CACL2M,IAAK,EACLG,MAAO,EACPD,OAAQ,EACRD,KAAM,IDHsD+gB,GEFjD,SAASC,GAAgBj3B,EAAOmM,GAC7C,OAAOA,EAAKkjB,QAAO,SAAU6H,EAAS52B,GAEpC,OADA42B,EAAQ52B,GAAON,EACRk3B,IACN,ICMU,SAASC,GAAezpB,EAAOoQ,QAC5B,IAAZA,IACFA,EAAU,IAGZ,IAAIiV,EAAWjV,EACXsZ,EAAqBrE,EAASxD,UAC9BA,OAAmC,IAAvB6H,EAAgC1pB,EAAM6hB,UAAY6H,EAC9DC,EAAoBtE,EAASuD,SAC7BA,OAAiC,IAAtBe,EvBXY,kBuBWqCA,EAC5DC,EAAwBvE,EAASwD,aACjCA,OAAyC,IAA1Be,EvBZC,WuBY6CA,EAC7DC,EAAwBxE,EAASyE,eACjCA,OAA2C,IAA1BD,EvBbH,SuBa+CA,EAC7DE,EAAuB1E,EAAS2E,YAChCA,OAAuC,IAAzBD,GAA0CA,EACxDE,EAAmB5E,EAAS/V,QAC5BA,OAA+B,IAArB2a,EAA8B,EAAIA,EAC5CX,EAAgBD,GAAsC,iBAAZ/Z,EAAuBA,EAAUia,GAAgBja,EAASmS,KACpGyI,EvBnBc,WuBmBDJ,EvBlBI,YADH,SuBoBdK,EAAmBnqB,EAAM2jB,SAASL,UAClCmD,EAAazmB,EAAMilB,MAAM1B,OACzBlsB,EAAU2I,EAAM2jB,SAASqG,EAAcE,EAAaJ,GACpDM,EAAqBzB,GAAgB/J,GAAUvnB,GAAWA,EAAUA,EAAQ8sB,gBAAkBhF,GAAmBnf,EAAM2jB,SAASJ,QAASqF,EAAUC,GACnJwB,EAAsBhiB,GAAsB8hB,GAC5CG,EAAgBvE,GAAe,CACjCzC,UAAW+G,EACXhzB,QAASovB,EACT7D,SAAU,WACVf,UAAWA,IAET0I,EAAmBvC,GAAiBj2B,OAAO4J,OAAO5J,OAAO4J,OAAO,GAAI8qB,GAAa6D,IACjFE,EvBhCc,WuBgCMV,EAA4BS,EAAmBF,EAGnEI,EAAkB,CACpBniB,IAAK8hB,EAAmB9hB,IAAMkiB,EAAkBliB,IAAMghB,EAAchhB,IACpEE,OAAQgiB,EAAkBhiB,OAAS4hB,EAAmB5hB,OAAS8gB,EAAc9gB,OAC7ED,KAAM6hB,EAAmB7hB,KAAOiiB,EAAkBjiB,KAAO+gB,EAAc/gB,KACvEE,MAAO+hB,EAAkB/hB,MAAQ2hB,EAAmB3hB,MAAQ6gB,EAAc7gB,OAExEiiB,EAAa1qB,EAAM0jB,cAAc5Z,OAErC,GvB3CkB,WuB2CdggB,GAA6BY,EAAY,CAC3C,IAAI5gB,EAAS4gB,EAAW7I,GACxB9vB,OAAO0M,KAAKgsB,GAAiBlmB,SAAQ,SAAU3R,GAC7C,IAAI+3B,EAAW,CAACliB,GAAOD,IAAQ3M,QAAQjJ,IAAQ,EAAI,GAAK,EACpDg4B,EAAO,CAAC,GAAKpiB,IAAQ3M,QAAQjJ,IAAQ,EAAI,IAAM,IACnD63B,EAAgB73B,IAAQkX,EAAO8gB,GAAQD,KAI3C,OAAOF,EC9DM,SAASI,GAAO1O,EAAK7pB,EAAO0C,GACzC,OAAOD,KAAKC,IAAImnB,EAAKpnB,KAAKonB,IAAI7pB,EAAO0C,ICEvC,SAAS81B,GAAetL,EAAUvV,EAAM8gB,GAQtC,YAPyB,IAArBA,IACFA,EAAmB,CACjB7M,EAAG,EACHC,EAAG,IAIA,CACL7V,IAAKkX,EAASlX,IAAM2B,EAAK5M,OAAS0tB,EAAiB5M,EACnD1V,MAAO+W,EAAS/W,MAAQwB,EAAK7M,MAAQ2tB,EAAiB7M,EACtD1V,OAAQgX,EAAShX,OAASyB,EAAK5M,OAAS0tB,EAAiB5M,EACzD5V,KAAMiX,EAASjX,KAAO0B,EAAK7M,MAAQ2tB,EAAiB7M,GAIxD,SAAS8M,GAAsBxL,GAC7B,MAAO,CAAC,GAAK/W,GAAOD,GAAQD,IAAMua,MAAK,SAAUmI,GAC/C,OAAOzL,EAASyL,IAAS,KAiCd,IC3CX,GAA4BlI,GAAgB,CAC9CI,iBAFqB,CrB+BR,CACbvxB,KAAM,iBACN8yB,SAAS,EACT7e,MAAO,QACPrQ,GAAI,aACJovB,OAxCF,SAAgBxkB,GACd,IAAIJ,EAAQI,EAAKJ,MACb+jB,EAAW3jB,EAAK2jB,SAChB3T,EAAUhQ,EAAKgQ,QACf8a,EAAkB9a,EAAQ6P,OAC1BA,OAA6B,IAApBiL,GAAoCA,EAC7CC,EAAkB/a,EAAQgb,OAC1BA,OAA6B,IAApBD,GAAoCA,EAC7Cp6B,EAASqtB,GAAUpe,EAAM2jB,SAASJ,QAClCW,EAAgB,GAAGxqB,OAAOsG,EAAMkkB,cAAcZ,UAAWtjB,EAAMkkB,cAAcX,QAYjF,OAVItD,GACFiE,EAAc3f,SAAQ,SAAUoc,GAC9BA,EAAa3V,iBAAiB,SAAU+Y,EAASe,OAAQa,OAIzDyF,GACFr6B,EAAOia,iBAAiB,SAAU+Y,EAASe,OAAQa,IAG9C,WACD1F,GACFiE,EAAc3f,SAAQ,SAAUoc,GAC9BA,EAAa1V,oBAAoB,SAAU8Y,EAASe,OAAQa,OAI5DyF,GACFr6B,EAAOka,oBAAoB,SAAU8Y,EAASe,OAAQa,MAY1DnB,KAAM,IK7BO,CACb5yB,KAAM,gBACN8yB,SAAS,EACT7e,MAAO,OACPrQ,GApBF,SAAuB4K,GACrB,IAAIJ,EAAQI,EAAKJ,MACbpO,EAAOwO,EAAKxO,KAKhBoO,EAAM0jB,cAAc9xB,GAAQm0B,GAAe,CACzCzC,UAAWtjB,EAAMilB,MAAM3B,UACvBjsB,QAAS2I,EAAMilB,MAAM1B,OACrBX,SAAU,WACVf,UAAW7hB,EAAM6hB,aAUnB2C,KAAM,IC4GO,CACb5yB,KAAM,gBACN8yB,SAAS,EACT7e,MAAO,cACPrQ,GAnDF,SAAuByN,GACrB,IAAIjD,EAAQiD,EAAMjD,MACdoQ,EAAUnN,EAAMmN,QAChBib,EAAwBjb,EAAQsW,gBAChCA,OAA4C,IAA1B2E,GAA0CA,EAC5DC,EAAoBlb,EAAQuW,SAC5BA,OAAiC,IAAtB2E,GAAsCA,EAYjDjE,EAAe,CACjBxF,UAAW+D,GAAiB5lB,EAAM6hB,WAClC0B,OAAQvjB,EAAM2jB,SAASJ,OACvBkD,WAAYzmB,EAAMilB,MAAM1B,OACxBmD,gBAAiBA,GAGsB,MAArC1mB,EAAM0jB,cAAc4G,gBACtBtqB,EAAM8Q,OAAOyS,OAASxxB,OAAO4J,OAAO5J,OAAO4J,OAAO,GAAIqE,EAAM8Q,OAAOyS,QAASgD,GAAYx0B,OAAO4J,OAAO5J,OAAO4J,OAAO,GAAI0rB,GAAe,GAAI,CACzInH,QAASlgB,EAAM0jB,cAAc4G,cAC7Bvf,SAAU/K,EAAMoQ,QAAQwS,SACxB+D,SAAUA,OAImB,MAA7B3mB,EAAM0jB,cAAc6H,QACtBvrB,EAAM8Q,OAAOya,MAAQx5B,OAAO4J,OAAO5J,OAAO4J,OAAO,GAAIqE,EAAM8Q,OAAOya,OAAQhF,GAAYx0B,OAAO4J,OAAO5J,OAAO4J,OAAO,GAAI0rB,GAAe,GAAI,CACvInH,QAASlgB,EAAM0jB,cAAc6H,MAC7BxgB,SAAU,WACV4b,UAAU,OAId3mB,EAAM4jB,WAAWL,OAASxxB,OAAO4J,OAAO5J,OAAO4J,OAAO,GAAIqE,EAAM4jB,WAAWL,QAAS,GAAI,CACtF,wBAAyBvjB,EAAM6hB,aAUjC2C,KAAM,IgB1DO,CACb5yB,KAAM,cACN8yB,SAAS,EACT7e,MAAO,QACPrQ,GA9EF,SAAqB4K,GACnB,IAAIJ,EAAQI,EAAKJ,MACjBjO,OAAO0M,KAAKuB,EAAM2jB,UAAUpf,SAAQ,SAAU3S,GAC5C,IAAIoV,EAAQhH,EAAM8Q,OAAOlf,IAAS,GAC9BgyB,EAAa5jB,EAAM4jB,WAAWhyB,IAAS,GACvCyF,EAAU2I,EAAM2jB,SAAS/xB,GAExBktB,GAAcznB,IAAa2nB,GAAY3nB,KAO5CtF,OAAO4J,OAAOtE,EAAQ2P,MAAOA,GAC7BjV,OAAO0M,KAAKmlB,GAAYrf,SAAQ,SAAU3S,GACxC,IAAIU,EAAQsxB,EAAWhyB,IAET,IAAVU,EACF+E,EAAQm0B,gBAAgB55B,GAExByF,EAAQsN,aAAa/S,GAAgB,IAAVU,EAAiB,GAAKA,WA0DvDsyB,OApDF,SAAgBrjB,GACd,IAAIvB,EAAQuB,EAAMvB,MACdyrB,EAAgB,CAClBlI,OAAQ,CACNxY,SAAU/K,EAAMoQ,QAAQwS,SACxBra,KAAM,IACND,IAAK,IACLojB,OAAQ,KAEVH,MAAO,CACLxgB,SAAU,YAEZuY,UAAW,IAQb,OANAvxB,OAAO4J,OAAOqE,EAAM2jB,SAASJ,OAAOvc,MAAOykB,EAAclI,QAErDvjB,EAAM2jB,SAAS4H,OACjBx5B,OAAO4J,OAAOqE,EAAM2jB,SAAS4H,MAAMvkB,MAAOykB,EAAcF,OAGnD,WACLx5B,OAAO0M,KAAKuB,EAAM2jB,UAAUpf,SAAQ,SAAU3S,GAC5C,IAAIyF,EAAU2I,EAAM2jB,SAAS/xB,GACzBgyB,EAAa5jB,EAAM4jB,WAAWhyB,IAAS,GAGvCoV,EAFkBjV,OAAO0M,KAAKuB,EAAM8Q,OAAO5d,eAAetB,GAAQoO,EAAM8Q,OAAOlf,GAAQ65B,EAAc75B,IAE7E+vB,QAAO,SAAU3a,EAAOhU,GAElD,OADAgU,EAAMhU,GAAY,GACXgU,IACN,IAEE8X,GAAcznB,IAAa2nB,GAAY3nB,KAO5CtF,OAAO4J,OAAOtE,EAAQ2P,MAAOA,GAC7BjV,OAAO0M,KAAKmlB,GAAYrf,SAAQ,SAAUonB,GACxCt0B,EAAQm0B,gBAAgBG,YAa9BpJ,SAAU,CAAC,kBftCE,CACb3wB,KAAM,SACN8yB,SAAS,EACT7e,MAAO,OACP0c,SAAU,CAAC,iBACX/sB,GA5BF,SAAgB+L,GACd,IAAIvB,EAAQuB,EAAMvB,MACdoQ,EAAU7O,EAAM6O,QAChBxe,EAAO2P,EAAM3P,KACbg6B,EAAkBxb,EAAQtG,OAC1BA,OAA6B,IAApB8hB,EAA6B,CAAC,EAAG,GAAKA,EAC/CpH,EAAO,GAAW7C,QAAO,SAAUC,EAAKC,GAE1C,OADAD,EAAIC,GA5BD,SAAiCA,EAAWoD,EAAOnb,GACxD,IAAIkc,EAAgBJ,GAAiB/D,GACjCgK,EAAiB,CAACtjB,GAAM,IAAK1M,QAAQmqB,IAAkB,GAAK,EAAI,EAEhE5lB,EAAyB,mBAAX0J,EAAwBA,EAAO/X,OAAO4J,OAAO5J,OAAO4J,OAAO,GAAIspB,GAAQ,GAAI,CAC3FpD,UAAWA,KACP/X,EACFgiB,EAAW1rB,EAAK,GAChBkS,EAAWlS,EAAK,GAIpB,OAFA0rB,EAAWA,GAAY,EACvBxZ,GAAYA,GAAY,GAAKuZ,EACtB,CAACtjB,GAAME,IAAO5M,QAAQmqB,IAAkB,EAAI,CACjD9H,EAAG5L,EACH6L,EAAG2N,GACD,CACF5N,EAAG4N,EACH3N,EAAG7L,GAWcyZ,CAAwBlK,EAAW7hB,EAAMilB,MAAOnb,GAC1D8X,IACN,IACCoK,EAAwBxH,EAAKxkB,EAAM6hB,WACnC3D,EAAI8N,EAAsB9N,EAC1BC,EAAI6N,EAAsB7N,EAEW,MAArCne,EAAM0jB,cAAc4G,gBACtBtqB,EAAM0jB,cAAc4G,cAAcpM,GAAKA,EACvCle,EAAM0jB,cAAc4G,cAAcnM,GAAKA,GAGzCne,EAAM0jB,cAAc9xB,GAAQ4yB,IgB+Ff,CACb5yB,KAAM,OACN8yB,SAAS,EACT7e,MAAO,OACPrQ,GA5HF,SAAc4K,GACZ,IAAIJ,EAAQI,EAAKJ,MACboQ,EAAUhQ,EAAKgQ,QACfxe,EAAOwO,EAAKxO,KAEhB,IAAIoO,EAAM0jB,cAAc9xB,GAAMq6B,MAA9B,CAoCA,IAhCA,IAAIC,EAAoB9b,EAAQgW,SAC5B+F,OAAsC,IAAtBD,GAAsCA,EACtDE,EAAmBhc,EAAQic,QAC3BC,OAAoC,IAArBF,GAAqCA,EACpDG,EAA8Bnc,EAAQoc,mBACtCld,EAAUc,EAAQd,QAClBsZ,EAAWxY,EAAQwY,SACnBC,EAAezY,EAAQyY,aACvBmB,EAAc5Z,EAAQ4Z,YACtByC,EAAwBrc,EAAQsc,eAChCA,OAA2C,IAA1BD,GAA0CA,EAC3DE,EAAwBvc,EAAQuc,sBAChCC,EAAqB5sB,EAAMoQ,QAAQyR,UACnCmE,EAAgBJ,GAAiBgH,GAEjCJ,EAAqBD,IADHvG,IAAkB4G,IACqCF,EAAiB,CAACpF,GAAqBsF,IAjCtH,SAAuC/K,GACrC,G5BLgB,S4BKZ+D,GAAiB/D,GACnB,MAAO,GAGT,IAAIgL,EAAoBvF,GAAqBzF,GAC7C,MAAO,CAAC6F,GAA8B7F,GAAYgL,EAAmBnF,GAA8BmF,IA2BwCC,CAA8BF,IACrKG,EAAa,CAACH,GAAoBlzB,OAAO8yB,GAAoB7K,QAAO,SAAUC,EAAKC,GACrF,OAAOD,EAAIloB,O5BvCG,S4BuCIksB,GAAiB/D,GCnCxB,SAA8B7hB,EAAOoQ,QAClC,IAAZA,IACFA,EAAU,IAGZ,IAAIiV,EAAWjV,EACXyR,EAAYwD,EAASxD,UACrB+G,EAAWvD,EAASuD,SACpBC,EAAexD,EAASwD,aACxBvZ,EAAU+V,EAAS/V,QACnBod,EAAiBrH,EAASqH,eAC1BM,EAAwB3H,EAASsH,sBACjCA,OAAkD,IAA1BK,EAAmC,GAAgBA,EAC3E/G,EAAYJ,GAAahE,GACzBkL,EAAa9G,EAAYyG,EAAiBhL,GAAsBA,GAAoB0C,QAAO,SAAUvC,GACvG,OAAOgE,GAAahE,KAAeoE,KAChCxE,GAEDwL,EAAoBF,EAAW3I,QAAO,SAAUvC,GAClD,OAAO8K,EAAsB9wB,QAAQgmB,IAAc,KAGpB,IAA7BoL,EAAkBx5B,SACpBw5B,EAAoBF,GAQtB,IAAIG,EAAYD,EAAkBtL,QAAO,SAAUC,EAAKC,GAOtD,OANAD,EAAIC,GAAa4H,GAAezpB,EAAO,CACrC6hB,UAAWA,EACX+G,SAAUA,EACVC,aAAcA,EACdvZ,QAASA,IACRsW,GAAiB/D,IACbD,IACN,IACH,OAAO7vB,OAAO0M,KAAKyuB,GAAW5K,MAAK,SAAUnmB,EAAGuW,GAC9C,OAAOwa,EAAU/wB,GAAK+wB,EAAUxa,MDNyBya,CAAqBntB,EAAO,CACnF6hB,UAAWA,EACX+G,SAAUA,EACVC,aAAcA,EACdvZ,QAASA,EACTod,eAAgBA,EAChBC,sBAAuBA,IACpB9K,KACJ,IACCuL,EAAgBptB,EAAMilB,MAAM3B,UAC5BmD,EAAazmB,EAAMilB,MAAM1B,OACzB8J,EAAY,IAAIrL,IAChBsL,GAAqB,EACrBC,EAAwBR,EAAW,GAE9B17B,EAAI,EAAGA,EAAI07B,EAAWt5B,OAAQpC,IAAK,CAC1C,IAAIwwB,EAAYkL,EAAW17B,GAEvBm8B,EAAiB5H,GAAiB/D,GAElC4L,E5BzDW,U4ByDQ5H,GAAahE,GAChC3Z,EAAa,CAAC,GAAKM,IAAQ3M,QAAQ2xB,IAAmB,EACtD3zB,EAAMqO,EAAa,QAAU,SAC7BsX,EAAWiK,GAAezpB,EAAO,CACnC6hB,UAAWA,EACX+G,SAAUA,EACVC,aAAcA,EACdmB,YAAaA,EACb1a,QAASA,IAEPoe,EAAoBxlB,EAAaulB,EAAmBhlB,GAAQF,GAAOklB,EAAmBjlB,GAAS,GAE/F4kB,EAAcvzB,GAAO4sB,EAAW5sB,KAClC6zB,EAAoBpG,GAAqBoG,IAG3C,IAAIC,EAAmBrG,GAAqBoG,GACxCE,EAAS,GAUb,GARIzB,GACFyB,EAAOh6B,KAAK4rB,EAASgO,IAAmB,GAGtClB,GACFsB,EAAOh6B,KAAK4rB,EAASkO,IAAsB,EAAGlO,EAASmO,IAAqB,GAG1EC,EAAOC,OAAM,SAAUC,GACzB,OAAOA,KACL,CACFP,EAAwB1L,EACxByL,GAAqB,EACrB,MAGFD,EAAUjL,IAAIP,EAAW+L,GAG3B,GAAIN,EAqBF,IAnBA,IAEIS,EAAQ,SAAeC,GACzB,IAAIC,EAAmBlB,EAAWmB,MAAK,SAAUrM,GAC/C,IAAI+L,EAASP,EAAUn7B,IAAI2vB,GAE3B,GAAI+L,EACF,OAAOA,EAAOz4B,MAAM,EAAG64B,GAAIH,OAAM,SAAUC,GACzC,OAAOA,QAKb,GAAIG,EAEF,OADAV,EAAwBU,EACjB,SAIFD,EAnBYtB,EAAiB,EAAI,EAmBZsB,EAAK,EAAGA,IAAM,CAG1C,GAAa,UAFFD,EAAMC,GAEK,MAItBhuB,EAAM6hB,YAAc0L,IACtBvtB,EAAM0jB,cAAc9xB,GAAMq6B,OAAQ,EAClCjsB,EAAM6hB,UAAY0L,EAClBvtB,EAAMklB,OAAQ,KAUhB1C,iBAAkB,CAAC,UACnBgC,KAAM,CACJyH,OAAO,IEhCI,CACbr6B,KAAM,kBACN8yB,SAAS,EACT7e,MAAO,OACPrQ,GAzGF,SAAyB4K,GACvB,IAAIJ,EAAQI,EAAKJ,MACboQ,EAAUhQ,EAAKgQ,QACfxe,EAAOwO,EAAKxO,KACZs6B,EAAoB9b,EAAQgW,SAC5B+F,OAAsC,IAAtBD,GAAsCA,EACtDE,EAAmBhc,EAAQic,QAC3BC,OAAoC,IAArBF,GAAsCA,EACrDxD,EAAWxY,EAAQwY,SACnBC,EAAezY,EAAQyY,aACvBmB,EAAc5Z,EAAQ4Z,YACtB1a,EAAUc,EAAQd,QAClB6e,EAAkB/d,EAAQge,OAC1BA,OAA6B,IAApBD,GAAoCA,EAC7CE,EAAwBje,EAAQke,aAChCA,OAAyC,IAA1BD,EAAmC,EAAIA,EACtD7O,EAAWiK,GAAezpB,EAAO,CACnC4oB,SAAUA,EACVC,aAAcA,EACdvZ,QAASA,EACT0a,YAAaA,IAEXhE,EAAgBJ,GAAiB5lB,EAAM6hB,WACvCoE,EAAYJ,GAAa7lB,EAAM6hB,WAC/B0M,GAAmBtI,EACnBG,EAAWN,GAAyBE,GACpCqG,ECpCY,MDoCSjG,ECpCH,IAAM,IDqCxBkE,EAAgBtqB,EAAM0jB,cAAc4G,cACpC8C,EAAgBptB,EAAMilB,MAAM3B,UAC5BmD,EAAazmB,EAAMilB,MAAM1B,OACzBiL,EAA4C,mBAAjBF,EAA8BA,EAAav8B,OAAO4J,OAAO5J,OAAO4J,OAAO,GAAIqE,EAAMilB,OAAQ,GAAI,CAC1HpD,UAAW7hB,EAAM6hB,aACbyM,EACF9J,EAAO,CACTtG,EAAG,EACHC,EAAG,GAGL,GAAKmM,EAAL,CAIA,GAAI6B,EAAe,CACjB,IAAIsC,EAAwB,MAAbrI,EAAmB,GAAM7d,GACpCmmB,EAAuB,MAAbtI,EAAmB5d,GAASC,GACtC5O,EAAmB,MAAbusB,EAAmB,SAAW,QACpCtc,EAASwgB,EAAclE,GACvBjK,EAAMmO,EAAclE,GAAY5G,EAASiP,GACzCz5B,EAAMs1B,EAAclE,GAAY5G,EAASkP,GACzCC,EAAWP,GAAU3H,EAAW5sB,GAAO,EAAI,EAC3C+0B,E9BvDW,U8BuDF3I,EAAsBmH,EAAcvzB,GAAO4sB,EAAW5sB,GAC/Dg1B,E9BxDW,U8BwDF5I,GAAuBQ,EAAW5sB,IAAQuzB,EAAcvzB,GAGjEi1B,EAAe9uB,EAAM2jB,SAAS4H,MAC9BwD,EAAYX,GAAUU,EAAezO,GAAcyO,GAAgB,CACrE1xB,MAAO,EACPC,OAAQ,GAEN2xB,EAAqBhvB,EAAM0jB,cAAc,oBAAsB1jB,EAAM0jB,cAAc,oBAAoBpU,QTrEtG,CACLhH,IAAK,EACLG,MAAO,EACPD,OAAQ,EACRD,KAAM,GSkEF0mB,EAAkBD,EAAmBP,GACrCS,EAAkBF,EAAmBN,GAMrCS,EAAWtE,GAAO,EAAGuC,EAAcvzB,GAAMk1B,EAAUl1B,IACnDu1B,EAAYb,EAAkBnB,EAAcvzB,GAAO,EAAI80B,EAAWQ,EAAWF,EAAkBT,EAAoBI,EAASO,EAAWF,EAAkBT,EACzJa,EAAYd,GAAmBnB,EAAcvzB,GAAO,EAAI80B,EAAWQ,EAAWD,EAAkBV,EAAoBK,EAASM,EAAWD,EAAkBV,EAC1Jc,EAAoBtvB,EAAM2jB,SAAS4H,OAASpK,GAAgBnhB,EAAM2jB,SAAS4H,OAC3EgE,EAAeD,EAAiC,MAAblJ,EAAmBkJ,EAAkBlP,WAAa,EAAIkP,EAAkBnP,YAAc,EAAI,EAC7HqP,EAAsBxvB,EAAM0jB,cAAc5Z,OAAS9J,EAAM0jB,cAAc5Z,OAAO9J,EAAM6hB,WAAWuE,GAAY,EAC3GqJ,EAAYnF,EAAclE,GAAYgJ,EAAYI,EAAsBD,EACxEG,EAAYpF,EAAclE,GAAYiJ,EAAYG,EAClDG,EAAkB9E,GAAOuD,EAASr5B,KAAKonB,IAAIA,EAAKsT,GAAatT,EAAKrS,EAAQskB,EAASr5B,KAAKC,IAAIA,EAAK06B,GAAa16B,GAClHs1B,EAAclE,GAAYuJ,EAC1BnL,EAAK4B,GAAYuJ,EAAkB7lB,EAGrC,GAAIwiB,EAAc,CAChB,IAAIsD,EAAyB,MAAbxJ,EAAmB,GAAM7d,GAErCsnB,EAAwB,MAAbzJ,EAAmB5d,GAASC,GAEvCqnB,EAAUxF,EAAc+B,GAMxB0D,EAAmBlF,GAJZiF,EAAUtQ,EAASoQ,GAIME,EAFzBA,EAAUtQ,EAASqQ,IAI9BvF,EAAc+B,GAAW0D,EACzBvL,EAAK6H,GAAW0D,EAAmBD,EAGrC9vB,EAAM0jB,cAAc9xB,GAAQ4yB,IAS5BhC,iBAAkB,CAAC,WE3BN,CACb5wB,KAAM,QACN8yB,SAAS,EACT7e,MAAO,OACPrQ,GAnFF,SAAe4K,GACb,IAAI4vB,EAEAhwB,EAAQI,EAAKJ,MACbpO,EAAOwO,EAAKxO,KACZk9B,EAAe9uB,EAAM2jB,SAAS4H,MAC9BjB,EAAgBtqB,EAAM0jB,cAAc4G,cACpCtE,EAAgBJ,GAAiB5lB,EAAM6hB,WACvC+I,EAAO9E,GAAyBE,GAEhCnsB,EADa,CAAC0O,GAAME,IAAO5M,QAAQmqB,IAAkB,EAClC,SAAW,QAElC,GAAK8I,GAAiBxE,EAAtB,CAIA,IAAIhB,EAAgBtpB,EAAM0jB,cAAc9xB,EAAO,eAAe0d,QAC1Dyf,EAAY1O,GAAcyO,GAC1BmB,EAAmB,MAATrF,EAAe,GAAMriB,GAC/B2nB,EAAmB,MAATtF,EAAepiB,GAASC,GAClC0nB,EAAUnwB,EAAMilB,MAAM3B,UAAUzpB,GAAOmG,EAAMilB,MAAM3B,UAAUsH,GAAQN,EAAcM,GAAQ5qB,EAAMilB,MAAM1B,OAAO1pB,GAC9Gu2B,EAAY9F,EAAcM,GAAQ5qB,EAAMilB,MAAM3B,UAAUsH,GACxD0E,EAAoBnO,GAAgB2N,GACpCuB,EAAaf,EAA6B,MAAT1E,EAAe0E,EAAkBzmB,cAAgB,EAAIymB,EAAkB1mB,aAAe,EAAI,EAC3H0nB,EAAoBH,EAAU,EAAIC,EAAY,EAG9CjU,EAAMmN,EAAc2G,GACpBj7B,EAAMq7B,EAAatB,EAAUl1B,GAAOyvB,EAAc4G,GAClDK,EAASF,EAAa,EAAItB,EAAUl1B,GAAO,EAAIy2B,EAC/CxmB,EAAS+gB,GAAO1O,EAAKoU,EAAQv7B,GAE7Bw7B,EAAW5F,EACf5qB,EAAM0jB,cAAc9xB,KAASo+B,EAAwB,IAA0BQ,GAAY1mB,EAAQkmB,EAAsBS,aAAe3mB,EAASymB,EAAQP,KAmDzJpL,OAhDF,SAAgBrjB,GACd,IAAIvB,EAAQuB,EAAMvB,MACdoQ,EAAU7O,EAAM6O,QAChBxe,EAAO2P,EAAM3P,KACb8+B,EAAmBtgB,EAAQ/Y,QAC3By3B,OAAoC,IAArB4B,EAA8B,sBAAwBA,EACrEzG,EAAmB7Z,EAAQd,QAC3BA,OAA+B,IAArB2a,EAA8B,EAAIA,EAE5B,MAAhB6E,IAKwB,iBAAjBA,IACTA,EAAe9uB,EAAM2jB,SAASJ,OAAOvX,cAAc8iB,MAahD9oB,GAAShG,EAAM2jB,SAASJ,OAAQuL,KAQrC9uB,EAAM2jB,SAAS4H,MAAQuD,EACvB9uB,EAAM0jB,cAAc9xB,EAAO,eAAiB,CAC1C0d,QAAS+Z,GAAsC,iBAAZ/Z,EAAuBA,EAAUia,GAAgBja,EAASmS,QAW/Fc,SAAU,CAAC,iBACXC,iBAAkB,CAAC,oBP3CN,CACb5wB,KAAM,OACN8yB,SAAS,EACT7e,MAAO,OACP2c,iBAAkB,CAAC,mBACnBhtB,GAlCF,SAAc4K,GACZ,IAAIJ,EAAQI,EAAKJ,MACbpO,EAAOwO,EAAKxO,KACZw7B,EAAgBptB,EAAMilB,MAAM3B,UAC5BmD,EAAazmB,EAAMilB,MAAM1B,OACzBwH,EAAmB/qB,EAAM0jB,cAAciN,gBACvCC,EAAoBnH,GAAezpB,EAAO,CAC5C8pB,eAAgB,cAEd+G,EAAoBpH,GAAezpB,EAAO,CAC5CgqB,aAAa,IAEX8G,EAA2BhG,GAAe8F,EAAmBxD,GAC7D2D,EAAsBjG,GAAe+F,EAAmBpK,EAAYsE,GACpEiG,EAAoBhG,GAAsB8F,GAC1CG,EAAmBjG,GAAsB+F,GAC7C/wB,EAAM0jB,cAAc9xB,GAAQ,CAC1Bk/B,yBAA0BA,EAC1BC,oBAAqBA,EACrBC,kBAAmBA,EACnBC,iBAAkBA,GAEpBjxB,EAAM4jB,WAAWL,OAASxxB,OAAO4J,OAAO5J,OAAO4J,OAAO,GAAIqE,EAAM4jB,WAAWL,QAAS,GAAI,CACtF,+BAAgCyN,EAChC,sBAAuBC,SQpCZ,GALA,SAAC/6B,GACN,MAAwCA,EAAK,UAA7CiT,OAAS,IAAG,EAAAT,SAASqD,KAAI,EAAE1I,EAAanN,EAAK,SACrD,OAAO,IAASg7B,aAAa7tB,EAAU8F,ICmQ1B,GApQD,SAACjT,GAEX,MAmBEA,EAAK,SAnBPgY,OAAQ,IAAG,GAAK,EAChB,EAkBEhY,EAAK,QAlBPi7B,OAAO,IAAG,UAAO,EACjB,EAiBEj7B,EAAK,UAjBP2rB,OAAS,IAAG,QAAK,EACjB,EAgBE3rB,EAAK,eAhBPk7B,OAAc,IAAG,GAAK,EACtB,EAeEl7B,EAAK,MAfPq1B,OAAK,IAAG,GAAI,EACZ,EAcEr1B,EAAK,KAdPm7B,OAAI,IAAG,GAAI,EACX,EAaEn7B,EAAK,OAbP4T,OAAM,IAAG,IAAC,EACV,EAYE5T,EAAK,MAZPo7B,OAAK,IAAG,UAAO,EACf,EAWEp7B,EAAK,UAXPq7B,OAAS,IAAG,GAAI,EAChB,EAUEr7B,EAAK,gBAVPs7B,OAAe,IAAG,MAAG,EACrB,EASEt7B,EAAK,gBATPu7B,OAAe,IAAG,MAAG,EACrB,EAQEv7B,EAAK,OARPw7B,OAAM,IAAG,GAAI,EACF30B,EAOT7G,EAAK,UANPy7B,EAMEz7B,EAAK,QALP8b,EAKE9b,EAAK,QAJP07B,EAIE17B,EAAK,gBAHPsO,EAGEtO,EAAK,UAFPmN,EAEEnN,EAAK,SADJiH,EAAU,EACXjH,EApBE,uNAqBAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,QAASwK,EAAc5K,UAAWO,GAC3DsK,EAAM,IACV7C,EACAhI,EACGA,EAAS,IAAIqlB,EACbrlB,EAAS,IAAI80B,GAEZ,EAAkC,mBAAS,YAAap7B,EAAQ8b,EAAUof,GAAzES,EAAY,KAAEC,EAAe,KAC9BC,EAAY,iBAA2B,MACvCC,EAAW,iBAA8B,MACzCC,EAAyB,sBAA2BjxB,GACpDkxB,EAAsB,sBAA2BlxB,GACjDmxB,EAAY,sBAA6BnxB,GAEzCoxB,EAAe,uBAAY,WAC/BN,GAAgB,GAChBF,GAAmBA,GAAgB,KAClC,CAACA,IAEES,EAAY,uBAAY,WAC5BP,GAAgB,GAChBF,GAAmBA,GAAgB,KAClC,CAACA,IAEEU,EAAoB,uBAAY,WACpCL,EAAuBnvB,QAAU/R,OAAOkE,YAAW,WACjDm9B,MACCZ,KACF,CAACA,EAAiBY,IAEfG,GAAiB,uBAAY,WACjCL,EAAoBpvB,QAAU/R,OAAOkE,YAAW,WAC9Co9B,MACCZ,KACF,CAACA,EAAiBY,IAEfG,GAA0B,WACd,UAAZrB,IACFiB,IACArhC,OAAOsI,aAAa64B,EAAoBpvB,WAItC2vB,GAA0B,WACd,UAAZtB,IACFoB,KACAxhC,OAAOsI,aAAa44B,EAAuBnvB,WAIzC4vB,GAA2B,uBAAY,WAC3CJ,IACAvhC,OAAOsI,aAAa64B,EAAoBpvB,WACvC,CAACwvB,IAEEK,GAA2B,uBAAY,WAC3CJ,KACAxhC,OAAOsI,aAAa44B,EAAuBnvB,WAC1C,CAACyvB,KAEEK,GAAkB,uBACtB,SAACv9B,GACC,IAAM+I,EAAS2zB,EAAUjvB,QACnB+vB,EAAQb,EAASlvB,QAEpB1E,IACDA,EAAO4H,SAAS3Q,EAAE+I,SACjBy0B,IACDA,EAAM7sB,SAAS3Q,EAAE+I,SAInBi0B,MAEF,CAACN,EAAWM,IAGRS,GAA2B,uBAC/B,SAACz9B,GACCA,EAAEuY,iBACEikB,EACFQ,KAEAD,IACA1pB,SAASsC,iBAAiB,QAAS4nB,IAAiB,MAGxD,CAACf,EAAcQ,EAAWD,EAAcQ,KAGpCG,GAAoB,WACxB,IAAMhP,EAAW,GACfgO,EAAUjvB,QACVkvB,EAASlvB,QACT,CACE+e,UAAWA,EACXE,UAAW,CACT,CACEnwB,KAAM,OACN8yB,QAAS2M,GAEX,CACEz/B,KAAM,SACNwe,QAAS,CACPtG,OAAQ,CAAC,EAAGyhB,EAAQ,GAAKzhB,EAAS,EAAIA,KAG1C,CACElY,KAAM,gBACNwe,QAAS,CACPsW,iBAAiB,EACjBC,UAAU,OAMJ,UAAZwK,IACFpN,EAAS/jB,MAAM2jB,SAASJ,OAAOvY,iBAAiB,aAAcwnB,IAC9DzO,EAAS/jB,MAAM2jB,SAASJ,OAAOvY,iBAAiB,aAAcynB,KAEhEN,EAAUrvB,QAAUihB,GAGhBiP,GAAqB,WACzB,IAAMC,EAAiBd,EAAUrvB,QAC7BmwB,IACc,UAAZ9B,IACF8B,EAAejzB,MAAM2jB,SAASJ,OAAOtY,oBACnC,aACAunB,IAEFS,EAAejzB,MAAM2jB,SAASJ,OAAOtY,oBACnC,aACAwnB,KAGJQ,EAAexN,YAsBnB,qBAAU,WACR,IAAIvX,EAAJ,CAEA,IAAM9P,EAAS2zB,EAAUjvB,QACzB,GAAK1E,EAqBL,MAnBgB,UAAZ+yB,GACF/yB,EAAO4M,iBAAiB,aAAc0nB,IACtCt0B,EAAO4M,iBAAiB,aAAc2nB,KACjB,UAAZxB,EACT/yB,EAAO4M,iBAAiB,QAAS8nB,IACZ,UAAZ3B,EACe,UAApB/yB,EAAO6gB,UAA4C,aAApB7gB,EAAO6gB,UACxC7gB,EAAO4M,iBAAiB,QAASonB,GACjCh0B,EAAO4M,iBAAiB,OAAQqnB,KAEhCj0B,EAAO4M,iBAAiB,YAAaonB,GACrCh0B,EAAO4M,iBAAiB,UAAWqnB,IAEhB,gBAAZlB,EACT/yB,EAAO4M,iBAAiB,cAAe8nB,IAClB,WAAZ3B,GACTW,EAAgB57B,EAAM8b,SAGjB,WACL5T,EAAO6M,oBAAoB,aAAcynB,IACzCt0B,EAAO6M,oBAAoB,aAAc0nB,IACzCv0B,EAAO6M,oBAAoB,QAAS6nB,IACpC10B,EAAO6M,oBAAoB,QAASmnB,GACpCh0B,EAAO6M,oBAAoB,OAAQonB,GACnCj0B,EAAO6M,oBAAoB,YAAamnB,GACxCh0B,EAAO6M,oBAAoB,UAAWonB,GACtCj0B,EAAO6M,oBAAoB,cAAe6nB,QAE3C,CACD58B,EAAM8b,QACN9D,EACA6jB,EACAZ,EACA2B,GACAJ,GACAC,GACAP,EACAC,IAGF,qBAAU,WACJ,YAAan8B,IACfA,EAAM8b,QAAUogB,IAAiBC,OAElC,CAACn8B,EAAOk8B,EAAcC,IAEzB,IAAMa,GAAgB,WAAM,OAC1B,kBAAC,EAAU,CACTrzB,GAAIgyB,EACJ5vB,QAAS8wB,GACTxwB,SAAUywB,GACVzsB,UA7DK,QAdS,CACd,YAAamrB,EAAS,YAAc,aACpCppB,IAAKopB,EAAS,MAAQ,aACtB,UAAWA,EAAS,UAAY,aAChC,eAAgBA,EAAS,eAAiB,gBAC1ClpB,OAAQkpB,EAAS,SAAW,gBAC5B,aAAcA,EAAS,aAAe,gBACtC,aAAcA,EAAS,aAAe,cACtCnpB,KAAMmpB,EAAS,OAAS,cACxB,WAAYA,EAAS,UAAY,cACjC,cAAeA,EAAS,eAAiB,eACzCjpB,MAAOipB,EAAS,QAAU,eAC1B,YAAaA,EAAS,YAAc,gBAEf7P,IA8DrB,6BAAS1kB,EAAU,CAAEqH,UAAW6C,EAAKF,IAAK6qB,IACvCL,GAAWpG,GAAS,gDAAuB/mB,UAAchI,EAAS,YAClEm1B,KAKDwB,GAAe,CACnBhsB,IAAK,SAACA,GAA4B,OAAC4qB,EAAUjvB,QAAUqE,IAGzD,OACE,oCACG,IAAMzD,aAAaL,EAAU8vB,IAC7B5B,EAAY,kBAAC,GAAM,KAAE2B,MAA4BA,OChQlDE,GAAW,SAACl9B,GAEd,MAUEA,EAAK,QAVPi7B,OAAO,IAAG,UAAO,EACjB,EASEj7B,EAAK,UATP2rB,OAAS,IAAG,iBAAc,EAC1B,EAQE3rB,EAAK,SARPgY,OAAQ,IAAG,GAAK,EAChB,EAOEhY,EAAK,MAPPq1B,OAAK,IAAG,GAAK,EACbqG,EAME17B,EAAK,gBALPm9B,EAKEn9B,EAAK,QAJPsO,EAIEtO,EAAK,UAHPmN,EAGEnN,EAAK,SAFI6G,EAET7G,EAAK,UADJiH,EAAU,EACXjH,EAXE,2GAYAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,WAAYwK,EAAc5K,UAAWO,GAC9DsK,EAAM,IAAW7K,EAAWgI,GAC5B,EAAkC,mBACtC,YAAatO,GAASA,EAAM8b,SADvB6f,EAAY,KAAEC,EAAe,KAG9BG,EAAyB,sBAA2BjxB,GACpDkxB,EAAsB,sBAA2BlxB,GAEjDoxB,EAAe,uBAAY,aAC7B,YAAal8B,IAAU47B,GAAgB,GACzCF,GAAmBA,GAAgB,KAClC,CAAC17B,EAAO07B,IAELS,EAAY,uBAAY,aAC1B,YAAan8B,IAAU47B,GAAgB,GACzCF,GAAmBA,GAAgB,KAClC,CAAC17B,EAAO07B,IAELW,EAAiB,uBAAY,WACjCL,EAAoBpvB,QAAU/R,OAAOkE,YAAW,WAC9Co9B,MACC,OACF,CAACA,IAoDJ,qBAAU,WACR,YAAan8B,GAAS47B,EAAgB57B,EAAM8b,WAC3C,CAAC9b,IAEJ,IAAMo9B,EAAgB,CACpBC,aAzB+B,WACf,UAAZpC,IACFiB,IACArhC,OAAOsI,aAAa64B,EAAoBpvB,WAuB1C0wB,aAnB+B,WACf,UAAZrC,IACFoB,IACAxhC,OAAOsI,aAAa44B,EAAuBnvB,WAiB7C0E,QAb0B,WACV,UAAZ2pB,GACFiB,MAeJ,OADA,IAAMzuB,SAASC,KAAKP,GAElB,kBAAC,GAAK,KACAlG,EAAU,CACdu0B,QAAQ,EACRnG,MAAOA,EACPrd,SAAUA,EACV2T,UAAWA,EACXwP,OAAQ,cAAen7B,GACvBi7B,QAAQ,SACR3sB,UAAW6C,EACX2K,QAAS6f,EACTF,QAxEkB,WACpB,IAAK0B,EACH,OAAO,KAGT,IAAMI,EAAmC,CACvCC,iBAAkBrsB,EAClB7U,KAAM,WACN8+B,MAAO,QACPiC,aAAc,WACI,UAAZpC,IACFiB,IACArhC,OAAOsI,aAAa64B,EAAoBpvB,WAG5C0wB,aAAc,WACI,UAAZrC,IACFoB,IACAxhC,OAAOsI,aAAa44B,EAAuBnvB,WAG/CoN,SAAU,SAACyjB,GACD,IAAAzjB,EAAamjB,EAAQn9B,MAAK,SAClCga,GAAYA,EAASyjB,GACrBtB,MAGJ,OAAO,IAAM3uB,aAAa2vB,EAASI,GA6CxBG,KACR,IAAMlwB,aAAaL,EAAUiwB,KAKpCF,GAAS3sB,YAAc,WAER,UCtHTotB,GAAU,SAAC39B,G,MAEb,EAaEA,EAAK,OAbP+Q,OAAM,IAAG,GAAK,EACd,EAYE/Q,EAAK,QAZP49B,OAAO,IAAG,GAAK,EACf,EAWE59B,EAAK,cAXP4J,OAAa,IAAG,GAAI,EACpB,EAUE5J,EAAK,OAVP69B,OAAM,IAAG,MAAI,EACb,EASE79B,EAAK,KATPoP,OAAI,IAAG,YAAS,EAChB0uB,EAQE99B,EAAK,cAPP+L,EAOE/L,EAAK,QANP8L,EAME9L,EAAK,UALPmM,EAKEnM,EAAK,OAJPqM,EAIErM,EAAK,SAHPmN,EAGEnN,EAAK,SAFP8Q,EAEE9Q,EAAK,MADI6G,EACT7G,EAAK,UACHkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,UAAWwK,EAAc5K,UAAWO,GAC7DsK,EAAM,IAAW7K,EAAcA,EAAS,IAAI8I,IAAM,MAAQ9I,EAAS,YAAas3B,EAAO,IAU7F,OARA,qBAAU,WAENprB,SAASqD,KAAK/E,MAAMwY,SADlBvY,EAC6B,SAEA,MAKjC,kBAAC,GAAM,KACL,kBAAC,EAAa,CACZxH,QAAQ,EACRwC,QAASA,EACTD,UAAWA,EACXK,OAAQA,EACRE,SAAUA,EACV1C,GAAIoH,EACJlH,cAAc,EACdD,cAAeA,EACfxM,WAAekJ,EAAS,QACxB5C,QAAS,CAAEmH,KAAM,IAAKpB,MAAO,IAC7B,yBAAKs0B,UAAW,EAAGzvB,UAAW6C,EAAKG,QAASwsB,EAAehtB,MAAK,GAAI+sB,OAAM,GAAK/sB,IAC5E3D,MAOXwwB,GAAQptB,YAAc,UAEP,UCnDTytB,GAAS,SAACh+B,GAEZ,IAAA8b,EAiBE9b,EAAK,QAhBP,EAgBEA,EAAK,UAhBP2rB,OAAS,IAAG,UAAO,EACnB,EAeE3rB,EAAK,KAfP+G,OAAI,IAAG,MAAG,EACV,EAcE/G,EAAK,SAdP2Q,OAAQ,IAAG,GAAI,EACf,EAaE3Q,EAAK,eAbPi+B,OAAc,IAAG,GAAI,EACrB,EAYEj+B,EAAK,SAZPk+B,OAAQ,IAAG,YAAS,EACpB,EAWEl+B,EAAK,aAXPm+B,OAAY,IAAG,GAAI,EACnBttB,EAUE7Q,EAAK,QATI6G,EAST7G,EAAK,UARP4Q,EAQE5Q,EAAK,WAPP,EAOEA,EAAK,OAPP69B,OAAM,IAAG,MAAI,EACbvf,EAMEte,EAAK,OALPye,EAKEze,EAAK,OAJPsO,EAIEtO,EAAK,UAHPo+B,EAGEp+B,EAAK,UAFP8Q,EAEE9Q,EAAK,MADPmN,EACEnN,EAAK,SACH,EAAoC,mBAAS8b,GAA5CuiB,EAAa,KAAEC,EAAgB,KAChCptB,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,SAAUwK,EAAc5K,UAAWO,GAC5DsK,EAAM,IAAW7K,EAAWgI,EAAchI,EAAS,IAAIqlB,GACvD4S,EACU,QAAd5S,GAAqC,WAAdA,EAAyB,CAAExkB,OAAQJ,GAAS,CAAEG,MAAOH,GAE9E,OACE,kBAAC,GAAO,CACNgF,QAAS,WAAY,OAAAuyB,GAAiB,IACtCnyB,OAAQ,WAAY,OAAAmyB,GAAiB,IACrCT,OAAQA,EACRzuB,KAAM8uB,EACNt0B,cAAeq0B,EACfltB,OAAQ+K,EACRzP,SAAUuE,EACVktB,cAAe,SAAC3+B,GACdg/B,GAAgBttB,GAAUA,EAAQ1R,IAEpC2R,MAAOstB,GACP,yBAAK9vB,UAAW6C,EAAKL,MAAK,OAAOA,GAAUytB,IACzC,kBAAC,EAAa,CACZh1B,QAAQ,EACRI,GAAI00B,EACJ36B,QAAS,EACTtG,WAAekJ,EAAS,kBACxB,yBAAKgI,UAAchI,EAAS,YAAagL,QAAS,SAACnS,GAAM,OAAAA,EAAEkmB,oBACxD1U,GACC,yBAAKrC,UAAchI,EAAS,cAAegL,QAAST,GAAO,KAI5DyN,GAAU,yBAAKhQ,UAAchI,EAAS,YAAagY,GACpD,yBAAKhQ,UAAchI,EAAS,UAAW6G,GACtCsR,GAAU,yBAAKnQ,UAAchI,EAAS,YAAamY,QAQhEuf,GAAOztB,YAAc,SAEN,UClETiuB,GAAQ,SAACx+B,GAEX,MASEA,EAAK,YATPy+B,OAAW,IAAG,YAAS,EACvBC,EAQE1+B,EAAK,MAPP2+B,EAOE3+B,EAAK,WANP4+B,EAME5+B,EAAK,UALPsO,EAKEtO,EAAK,UAJP8Q,EAIE9Q,EAAK,MAHPmN,EAGEnN,EAAK,SAFI6G,EAET7G,EAAK,UADJiH,EAAU,EACXjH,EAVE,6FAWAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,QAASwK,EAAc5K,UAAWO,GAC3DsK,EAAM,IAAW7K,EAAWgI,GA8BlC,OACE,6BAASrH,EAAU,CAAEqH,UAAW6C,EAAKL,MAAOA,IAC1C,yBAAKxC,UAAchI,EAAS,qBA7B1B,IAAMqY,eAAe+f,GAChBA,EACmB,iBAAVA,EACT,yBAAKnkB,IAAKmkB,EAAOpkB,IAAI,QAAQxJ,MAAO6tB,EAAYrwB,UAAchI,EAAS,YAG5E,yBAAKY,MAAM,OAAOC,OAAO,OAAOC,QAAQ,YAAY7C,QAAQ,OAC1D,uBAAGs6B,OAAO,OAAOC,YAAY,IAAIz3B,KAAK,OAAO03B,SAAS,WACpD,uBAAG1jB,UAAU,iCACX,6BAAShU,KAAK,UAAU23B,GAAG,OAAOC,GAAG,OAAOC,GAAG,OAAOC,GAAG,QACzD,0BACE1jC,EAAE,8ZACFojC,OAAO,UACPx3B,KAAK,YAEP,0BACE5L,EAAE,8iBACFojC,OAAO,UACPx3B,KAAK,gBAYe,kBAAtBrH,EAAMy+B,aAA8BA,EAC1C,uBAAGnwB,UAAchI,EAAS,SAAUwK,MAAO8tB,GACxCH,GAFqD,KAKzDtxB,GAAY,yBAAKmB,UAAchI,EAAS,YAAa6G,KAK5DqxB,GAAMjuB,YAAc,QAEL,UC1DT6uB,GAAO,SAACp/B,G,MAEV,EASEA,EAAK,UATPuyB,OAAS,IAAG,eAAY,EACxB,EAQEvyB,EAAK,QARPq/B,OAAO,IAAG,GAAK,EACJx4B,EAOT7G,EAAK,UANPkH,EAMElH,EAAK,MALPmH,EAKEnH,EAAK,OAJPsO,EAIEtO,EAAK,UAHPmN,EAGEnN,EAAK,SAFP8Q,EAEE9Q,EAAK,MADJiH,EAAU,EACXjH,EAVE,qFAWAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,OAAQwK,EAAc5K,UAAWO,GAC1DsK,EAAM,IAAW7K,EAAWgI,GAE5BgxB,EAAW,IAAch5B,EAAS,YAAS,MAC3CA,EAAS,eAA8B,eAAdisB,IAA+B8M,EAC5D,EAAI/4B,EAAS,uBAAsC,eAAdisB,GAA8B8M,EACnE,EAAI/4B,EAAS,eAA8B,aAAdisB,IAA6B8M,EAC1D,EAAI/4B,EAAS,uBAAsC,aAAdisB,GAA4B8M,E,IASnE,OANA1iB,IACGxP,GAAY,IAAMM,SAASuP,MAAM7P,GAClC,GACA,GAIA,6BAASlG,EAAU,CAAEqH,UAAW6C,EAAKL,MAAK,GAAI5J,MAAK,EAAEC,OAAM,GAAK2J,KAC9D,yBAAKxC,UAAWgxB,GACb,IAAM7xB,SAAS0J,IAAIhK,GAAU,SAACiK,EAAO2J,G,MAC9B1J,EAAeD,EACrB,GAAsC,aAAlCC,EAAajI,KAAKmB,YAA4B,CAChD,IAAMnD,EAAqC,CACzCkB,UAAW,KAAU,KAEjB,EAAIhI,EAAS,gBAA2B,IAAVya,EAC9B,EAAIza,EAAS,eAA0B,IAAVya,EAC7B,EAAIza,EAAS,mBACD,IAAVya,GAA6B,eAAdwR,IAA+B8M,EAChD,EAAI/4B,EAAS,2BACD,IAAVya,GAA6B,eAAdwR,GAA8B8M,EAC/C,EAAI/4B,EAAS,mBACD,IAAVya,GAA6B,aAAdwR,IAA6B8M,EAC9C,EAAI/4B,EAAS,2BACD,IAAVya,GAA6B,aAAdwR,GAA4B8M,E,GAE/CjoB,EAAMpX,MAAMsO,YAGhB,OAAO,IAAMd,aAAa6J,EAAcjK,GAExC,OAAO,WAQnBgyB,GAAK7uB,YAAc,OAEJ,UCpETgvB,GAAW,SAACv/B,GACR,IAAAsO,EAAuCtO,EAAK,UAAjCmN,EAA4BnN,EAAK,SAApBiH,EAAU,EAAKjH,EAAzC,0BACN,OACE,6BAASiH,EAAU,CAAEqH,UAAWA,IAC7BnB,IAKPoyB,GAAShvB,YAAc,WAER,UCPTivB,GAAc,GACpBA,GAAYz7B,KAAO,GAEJ,UC4BR,SAAS07B,GAAYv3B,GAC1B,IAAMkH,SAAclH,EAEpB,GAAe,OAAXA,GAA4B,YAATkH,GAA+B,WAATA,GAA8B,WAATA,EAChE,OAAOlH,EAGT,GAAIA,aAAkBvF,KACpB,OAAO,IAAIA,KAAKuF,EAAOtF,WAGzB,GAAIjF,MAAMC,QAAQsK,GAChB,OAAOA,EAAOiP,KAAI,SAACvb,GAAM,OAAA6jC,GAAS7jC,MAGpC,GAAsB,iBAAXsM,EAAqB,CAC9B,IAAMw3B,EAAW,GAEjB,IAAK,IAAMhjC,KAAOwL,EAChBw3B,EAAIhjC,GAAO+iC,GAASv3B,EAAOxL,IAG7B,OAAOgjC,GCrDJ,SAASC,K,IAAkB,sDAChC,IAAMxgC,EAAI+E,EAAK,GACf,OAAO/E,GAAKA,EAAE+I,OAA4B,aAAlB/I,EAAE+I,OAAOkH,KAAsBjQ,EAAE+I,OAAOuZ,QAAUtiB,EAAE+I,OAAO9L,MAAS+C,ECG9F,I,GAAA,WAOE,WAAYygC,QAAA,IAAAA,MAAA,IAJJ,KAAAC,MAAmB,GACnB,KAAAC,OAAqB,GACrB,KAAA56B,UAA4B,GAGlCnD,KAAK69B,WAAaA,EAClB79B,KAAKg+B,OAASN,GAASG,GA2E3B,OAxEE,YAAAI,eAAA,WACE,OAAOj+B,KAAKg+B,QAGd,YAAAE,cAAA,SAAcvkC,GACZ,OAAOqG,KAAKg+B,OAAOrkC,IAGrB,YAAAwkC,cAAA,SAAcxkC,EAAc2d,GAC1BtX,KAAKg+B,OAAOrkC,GAAQ2d,EACpBtX,KAAKo+B,OAAOzkC,IAGd,YAAA0kC,eAAA,SAAeL,GAAf,gBAAe,IAAAA,MAAA,IACblkC,OAAO0M,KAAKw3B,GAAQ1xB,SAAQ,SAAA3S,GAAQ,SAAKwkC,cAAcxkC,EAAMqkC,EAAOrkC,QAGtE,YAAA2kC,eAAA,WACE,OAAOt+B,KAAK+9B,QAGd,YAAAQ,cAAA,SAAc5kC,GACZ,OAAOqG,KAAK+9B,OAAOpkC,IAASqG,KAAK+9B,OAAOpkC,GAAM6B,OAAS,EAAIwE,KAAK+9B,OAAOpkC,GAAM,QAAKoP,GAGpF,YAAAy1B,cAAA,SAAc7kC,EAAcokC,GAC1B/9B,KAAK+9B,OAAOpkC,GAAQokC,GAGtB,YAAAU,cAAA,SAAc9kC,EAAcmkC,GAC1B99B,KAAK89B,MAAMnkC,GAAQmkC,GAGrB,YAAAY,YAAA,WACE1+B,KAAK+9B,OAAS,GACd/9B,KAAKg+B,OAASN,GAAS19B,KAAK69B,YAC5B79B,KAAKo+B,OAAO,MAGd,YAAAO,cAAA,SAAchlC,GACZ,IAAMmkC,EAAQ99B,KAAK89B,MAAMnkC,GACnBU,EAAQ2F,KAAKg+B,OAAOrkC,GAC1B,GAAImkC,EAAO,CACT,IAAM,EAAwB,GAC9BA,EAAMxxB,SAAQ,SAAAsyB,GACZ,IAAMC,EDzDP,SAAkBxkC,EAAYukC,GAEjC,IAAA9jB,EAWE8jB,EAAI,QAVNE,EAUEF,EAAI,SATN7hC,EASE6hC,EAAI,IARN1a,EAQE0a,EAAI,IAPAG,EAOJH,EAAI,KANNh9B,EAMEg9B,EAAI,IALNI,EAKEJ,EAAI,QAJNtlB,EAIEslB,EAAI,UAHNvxB,EAGEuxB,EAAI,KAFNK,EAEEL,EAAI,UADNM,EACEN,EAAI,WACFtnB,EAAMgC,EAAYA,EAAUjf,GAASA,EAE3C,GAAIykC,IAAaxnB,EACf,OAAOwD,GAAW,wBAEpB,GAAIzN,UAAeiK,IAAQjK,EACzB,OAAOyN,GAAW,sBAAsBzN,EAE1C,GAAItQ,GAAO6E,EAAK,CACd,IAAMu9B,EAAWpiC,GAAO6E,EACxB,GAAmB,iBAAR0V,GAAoBA,EAAM6nB,EACnC,OAAOrkB,GAAW,oCACb,IAAoB,iBAARxD,GAAoB1b,MAAMC,QAAQyb,KAASA,EAAI9b,OAAS2jC,EACzE,OAAOrkB,GAAW,8CAGtB,GAAIoJ,EAAK,CACP,GAAmB,iBAAR5M,GAAoBA,EAAM4M,EACnC,OAAOpJ,GAAW,iCACb,IAAoB,iBAARxD,GAAoB1b,MAAMC,QAAQyb,KAASA,EAAI9b,OAAS0oB,EACzE,OAAOpJ,GAAW,2CAGtB,GAAIikB,IAAYA,EAAQjqB,SAASwC,GAC/B,OAAOwD,GAAW,+BAEpB,GAAIkkB,IAAYA,EAAQtX,KAAKpQ,GAC3B,OAAOwD,GAAW,kCAEpB,GAAImkB,EAAW,CACb,IAAMJ,EAAMI,EAAU3nB,GACtB,GAAIunB,aAAexR,SAAWwR,EAAItR,KAAKjW,IAAQunB,EAC7C,OAAO/jB,GAAW,wCAGtB,OAAIokB,GAA6B,iBAAR5nB,GAAoBA,EAAIY,OAAO1c,QAAU,EACzDsf,GAAW,qCADpB,ECQkBskB,CAAS/kC,EAAOukC,QAChB71B,IAAR81B,GACF,EAAYljC,KAAKkjC,MAIrB7+B,KAAKw+B,cAAc7kC,EAAM,GACzBqG,KAAKo+B,OAAOzkC,KAIhB,YAAA0lC,eAAA,sBACEvlC,OAAO0M,KAAKxG,KAAK89B,OAAOxxB,SAAQ,SAAA3S,GAAQ,SAAKglC,cAAchlC,OAG7D,YAAA2lC,UAAA,SAAUC,GAAV,WAGE,OAFAv/B,KAAKmD,UAAUxH,KAAK4jC,GAEb,WACL,IAAM7lB,EAAM,EAAKvW,UAAUS,QAAQ27B,GACnC7lB,GAAO,GAAK,EAAKvW,UAAU0c,OAAOnG,EAAK,KAI3C,YAAA0kB,OAAA,SAAOzkC,GACLqG,KAAKmD,UAAUmJ,SAAQ,SAACizB,GAAa,OAAAA,EAAS5lC,OAElD,EApFA,GCTa6lC,GAAsB,IAAMl7B,cAA4B,IAAI,ICA5Dm7B,GAAqB,IAAMn7B,cAAgC,CACtEo7B,SAAU,EACVC,WAAY,GACZC,gBAAiB,WACjB5a,OAAQ,eCEJ6a,GAAO,SAAC5hC,GAEV,MAYEA,EAAK,cAZP6hC,OAAa,IAAG,KAAE,EAClB,EAWE7hC,EAAK,SAXPyhC,OAAQ,IAAG,GAAE/e,KAAM,EAAG9O,OAAQ,GAAG,EACjC,EAUE5T,EAAK,WAVP0hC,OAAU,IAAG,GAAEhf,KAAM,GAAI9O,OAAQ,GAAG,EACpC,EASE5T,EAAK,gBATP2hC,OAAe,IAAG,aAAU,EAC5B,EAQE3hC,EAAK,OARP+mB,OAAM,IAAG,eAAY,EACrB+a,EAOE9hC,EAAK,KANP8lB,EAME9lB,EAAK,SALP+hC,EAKE/hC,EAAK,eAJPsO,EAIEtO,EAAK,UAHPmN,EAGEnN,EAAK,SAFI6G,EAET7G,EAAK,UADJiH,EAAU,EACXjH,EAbE,4IAcAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,OAAQwK,EAAc5K,UAAWO,GAC1DsK,EAAM,IAAW7K,EAAWgI,EAAchI,EAAS,IAAIygB,GAGvDib,EAAU,IAAMC,OAAOH,GAAc,IAAI,GAAaD,IAmB5D,OACE,kBAACN,GAAoBh0B,SAAQ,CAACnR,MAAO4lC,EAAQp1B,SAC3C,kBAAC40B,GAAmBj0B,SAAQ,CAACnR,MAAO,CAAEqlC,SAAQ,EAAEC,WAAU,EAAEC,gBAAe,EAAE5a,OAAM,IACjF,8BAAU9f,EAAU,CAAEqH,UAAW6C,EAAK+wB,SApBvB,SAAC/iC,GACpBA,EAAEuY,iBACF,IAAMyqB,EAAUH,EAAQp1B,QACxBu1B,EAAQf,iBACR,IAAMrB,EAASoC,EAAQnC,iBACjBF,EAASqC,EAAQ9B,iBACnBxkC,OAAO0M,KAAKu3B,GAAQlT,MAAK,SAAClwB,GAAQ,OAAAojC,EAAOpjC,GAAKa,OAAS,KACzDwkC,GAAkBA,EAAe,CAAEhC,OAAM,EAAED,OAAM,IAEjDha,GAAYA,EAASia,IAW2CqC,QAPhD,WAClBJ,EAAQp1B,QAAQ6zB,iBAOTtzB,MAOXy0B,GAAKrxB,YAAc,OAEJ,UCvDT,GAAM,SAACvQ,G,MAET,EASEA,EAAK,OATPqiC,OAAM,IAAG,IAAC,EACV,EAQEriC,EAAK,WARPsiC,OAAU,IAAG,GAAK,EACPz7B,EAOT7G,EAAK,UANP+nB,EAME/nB,EAAK,MALPuiC,EAKEviC,EAAK,QAJPsO,EAIEtO,EAAK,UAHP8Q,EAGE9Q,EAAK,MAFPmN,EAEEnN,EAAK,SADJiH,EAAU,EACXjH,EAVE,sFAWAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,MAAOwK,EAAc5K,UAAWO,GACzDsK,EAAM,IAAW7K,EAAWgI,IAAS,MACrChI,EAAS,UAAUyhB,GAAUA,EACjC,EAAIzhB,EAAS,YAAYi8B,GAAYA,E,IAOjCC,EAHG7kC,MAAMC,QAAQykC,GAAUA,EAAS,CAACA,EAAQA,GAInD,OACE,6BAASp7B,EAAU,CAAEqH,UAAW6C,EAAKL,MAAOA,IACzC,IAAMrD,SAAS0J,IAAIhK,GAAU,SAACiK,EAAOqE,GACpC,IAAMpE,EAAeD,EACrB,GAAsC,QAAlCC,EAAajI,KAAKmB,YAAuB,CAC3C,IAAMkyB,EAAcJ,EAChB,CACE3pB,YAAc4pB,GAAsB,IAAR7mB,EAAgB+mB,EAAiB,GAAK,EAA1B,EACxC7pB,aACG2pB,GAAc7mB,IAAQ,IAAMhO,SAASuP,MAAM7P,GAAY,EAEpDq1B,EAAiB,GAAK,EADtB,GAGR,GACEp1B,EAAgC,CACpC0D,MAAO,OACFsG,EAAMpX,MAAM8Q,OACZ2xB,IAGP,OAAO,IAAMj1B,aAAa6J,EAAcjK,GAE1C,OAAOiK,OAMf,GAAI9G,YAAc,MAEH,UChDTmyB,GAAW,SAAC1iC,G,UNTU2iC,EAA6CvzB,EMWrE,EAcEpP,EAAK,MAdP0mB,OAAK,IAAG,GAAI,EACZ,EAaE1mB,EAAK,YAbP4iC,OAAW,IAAG,EAAAjD,GAAiB,EAC/B,EAYE3/B,EAAK,cAZP6iC,OAAa,IAAG,UAAO,EACvBnnC,EAWEsE,EAAK,KAVP2mB,EAUE3mB,EAAK,MATP8iC,EASE9iC,EAAK,OARP+iC,EAQE/iC,EAAK,OAPP6/B,EAOE7/B,EAAK,MANPsO,EAMEtO,EAAK,UALP8Q,EAKE9Q,EAAK,MAJPmN,EAIEnN,EAAK,SAHGgjC,EAGRhjC,EAAK,SAFKijC,EAEVjjC,EAAK,WADI6G,EACT7G,EAAK,UACHkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,YAAawK,EAAc5K,UAAWO,GAC/Di7B,EAAO,IAAMoB,WAAW3B,IACxB,EAAoD,IAAM2B,WAAW1B,IAAnEE,EAAU,aAAED,EAAQ,WAAEE,EAAe,kBAAE5a,EAAM,SAC/C,EAAoB,mBAASrrB,EAAOomC,EAAK7B,cAAcvkC,QAAQoP,GAA9D1O,EAAK,KAAEqc,EAAQ,KAChB,EAAoB,mBACxB/c,EAAOomC,EAAKxB,cAAc5kC,QAAQoP,GAD7Bq4B,EAAK,KAAEC,EAAQ,KAGhB,EAAgC,oBAAS,GAAxCC,EAAW,KAAEC,EAAc,KAC5BnyB,EAAM,IAAW7K,EAAWgI,IAAS,MACrChI,EAAS,gBAAiB68B,EAC9B,EAAI78B,EAAS,mBAAoB+8B,E,IAE7B5iC,EACJ,aAAcT,EAAQA,EAAM6gC,SAAYhB,GAASA,EAAMjT,MAAK,SAAC+T,GAAS,OAAAA,EAAKE,cAAc,EAGrF3tB,EAAW,uBACf,W,IAAC,sDACKxX,IACFomC,EAAK5B,cAAcxkC,EAAMknC,EAAW,aAAI1+B,IACpB,aAApBy9B,GAAkCG,EAAKpB,cAAchlC,MAGzD,CAACA,EAAMomC,EAAMc,EAAajB,IAItB4B,EAAS,uBAAY,WACzB7nC,GAA4B,WAApBimC,GAAgCG,EAAKpB,cAAchlC,KAC1D,CAACA,EAAMomC,EAAMH,IAEZvqB,EAAajK,EAEXC,IAAU,ON5DUu1B,EM2DDE,EN3D8CzzB,EM2D/BgI,GAASA,EAAMhI,KN1D3B,mBAAduzB,EAA2BA,EAAUvzB,GAAQuzB,IM2D9BvmC,EAAO,EAAA8W,SAAQ,EAAE,EAAAqwB,OAAM,KACpDnsB,EAAQ,IAAM5J,aAAa4J,EAAOhK,GAElC,IAAMwZ,EAAW,MAAU,MACrBtgB,EAAS,oBAAqBqgB,GAASlmB,EAC3C,EAAI6F,EAAS,iBAAkBqgB,GAASD,E,IAGpC8c,EAAmB,SAACC,GACxB,MAAmB,iBAARA,EACF,CAACA,EAAK,GAEN,CAACA,EAAI/gB,KAAM+gB,EAAI7vB,SAIpB8vB,GAAS,SACbD,EACAE,GAEA,OAAIA,EACKH,EAAiBC,GAGX,aAAX1c,EACK,CAAC,GAAI,GAELyc,EAAiBC,IAItB,GAA2BT,EAAeU,GAAOV,GAAc,GAAQU,GAAOjC,GAA7EmC,GAAS,MAAEC,GAAW,MACvB,GAA+BZ,EACjCS,GAAOT,GAAgB,GACvBS,GAAOhC,GAFJoC,GAAW,MAAEC,GAAa,MAyBjC,OArBA,qBAAU,WACR,GAAKroC,EAML,OAFAmkC,GAASiC,EAAKtB,cAAc9kC,EAAMmkC,GAE3BiC,EAAKT,WAAU,SAACzkC,GACR,MAATlB,GAAgBkB,IAAMlB,GAAc,MAANkB,IAChC6b,EAASqpB,EAAK7B,cAAcvkC,IAC5B0nC,EAAStB,EAAKxB,cAAc5kC,UAG/B,CAAComC,EAAMpmC,EAAMmkC,IAEhB,qBAAU,WACJsD,GACFG,GAAe,KAEhB,CAACH,IAGF,kBAAC,GAAG,CAAC70B,UAAW6C,EAAKL,MAAOA,GAC1B,kBAAC,GAAG,CAAC4R,KAAMkhB,GAAWhwB,OAAQiwB,GAAav1B,UAAchI,EAAS,WAChE,2BACE09B,QAAStoC,EACTyI,MAAwB,iBAAVwiB,EAAqBA,OAAQ7b,EAC3CwD,UAAWsY,GACVD,IAGL,kBAAC,GAAG,CAACjE,KAAMohB,GAAalwB,OAAQmwB,GAAez1B,UAAchI,EAAS,cACpE,yBAAKgI,UAAchI,EAAS,WAC1B,yBAAKgI,UAAchI,EAAS,mBAAoB8Q,IAEjD2rB,GAAU,yBAAKz0B,UAAchI,EAAS,YAAay8B,GACnDD,GAAU,yBAAKx0B,UAAchI,EAAS,YAAaw8B,GACpD,kBAAC,EAAU,CAACn5B,KAAMw5B,EAAO9yB,UAAU,aAAahE,SAAU,WAAM,OAAAi3B,GAAe,KAC7E,yBAAKh1B,UAAchI,EAAS,WAAY68B,OAOlDT,GAASnyB,YAAc,WAER,UCvIf,IAAM0zB,GAAc,GACpBA,GAAYlgC,KAAO,GACnBkgC,GAAYC,QCXG,SAAiBrC,GAC9B,YAD8B,IAAAA,MAAA,IACvB,CAAC,IAAI,GAAaA,KDW3BoC,GAAYE,aAAe,GAEZ,UEVTC,GAAO,SAACpkC,G,MAEVtE,EAQEsE,EAAK,KAPPgH,EAOEhH,EAAK,MANP+G,EAME/G,EAAK,KALP8Q,EAKE9Q,EAAK,MAJPqkC,EAIErkC,EAAK,KAHPsO,EAGEtO,EAAK,UAFI6G,EAET7G,EAAK,UADJiH,EAAU,EACXjH,EATE,gEAUAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,OAAQwK,EAAc5K,UAAWO,GAC1DsK,EAAM,IAAW7K,EAAWgI,EAAW,OAAO5S,IAAM,MACpD4K,EAAS,SAAU+9B,E,IAEzB,OAAO,yBAAG/1B,UAAW6C,EAAKL,MAAK,GAAI9J,MAAK,EAAE6T,SAAU9T,GAAS+J,IAAa7J,KAG5Em9B,GAAK7zB,YAAc,OAEJ,UCrBT+zB,GAAQ,SAACtkC,G,MAEX,EAWEA,EAAK,IAXPsa,OAAG,IAAG,UAAO,EACb,EAUEta,EAAK,UAVPukC,OAAS,IAAG,UAAO,EACnB,EASEvkC,EAAK,MATPZ,OAAK,IAAG,GAAK,EACb,EAQEY,EAAK,KARPwkC,OAAI,IAAG,GAAK,EACZjqB,EAOEva,EAAK,IANPykC,EAMEzkC,EAAK,YALP0kC,EAKE1kC,EAAK,SAJPsO,EAIEtO,EAAK,UAHP8Q,EAGE9Q,EAAK,MAFI6G,EAET7G,EAAK,UADJiH,EAAU,EACXjH,EAZE,mGAaAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,QAASwK,EAAc5K,UAAWO,GAC3DsK,EAAM,IAAW7K,EAAWgI,IAAS,MAAQhI,EAAS,UAAWlH,EAAK,IACtE6R,EAAM,iBAAgC,MAmB5C,OAjBA,qBAAU,WACR,GAAIuzB,GAAQ,yBAA0B3pC,OAAQ,CAC5C,IAAM8pC,EAAW,IAAIC,sBAAqB,SAACC,EAASF,GAClDE,EAAQx2B,SAAQ,SAAUy2B,GACxB,GAAIA,EAAMC,eAAgB,CACxB,IAAMC,EAAYF,EAAM58B,OACxB88B,EAAUzqB,IAAMA,GAAOmqB,GAAY,GACnCC,EAASM,UAAUD,UAKnBE,EAAUj0B,EAAIrE,QACpBs4B,GAAWP,EAASQ,QAAQD,MAE7B,CAACR,EAAUF,EAAMjqB,IAGlB,6BACMtT,EAAU,CACdgK,IAAKA,EACL3C,UAAW6C,EACXL,MAAK,OAAOA,GAAK,CAAEyzB,UAAS,IAC5BhqB,IAAKiqB,EAAOC,EAAclqB,GAAYmqB,EACtCpqB,IAAKA,MAKXgqB,GAAM/zB,YAAc,QAEL,UCjDT60B,GAAa,SAACplC,GAEhB,MAMEA,EAAK,SANPgY,OAAQ,IAAG,GAAK,EAChB,EAKEhY,EAAK,KALP+G,OAAI,IAAG,OAAI,EACXuH,EAIEtO,EAAK,UAHPmN,EAGEnN,EAAK,SAFI6G,EAET7G,EAAK,UADJiH,EAAU,EACXjH,EAPE,wDAQAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,cAAewK,EAAc5K,UAAWO,GACjEsK,EAAM,IAAW7K,EAAWgI,GAC5BgK,EAAYtY,EAAM+G,MAAQmK,EAAc3K,eAAiBQ,EAE/D,OACE,6BAASE,EAAU,CAAEqH,UAAW6C,IAC7B,IAAM1D,SAAS0J,IAAIhK,GAAU,SAACiK,GAC7B,IAAMhK,EAAkC,CACtC4K,SAAQ,EACRjR,KAAMuR,GAER,OAAO,IAAM9K,aAAa4J,EAAOhK,QAMzCg4B,GAAW70B,YAAc,aAEV,UC7BT80B,GAAkB,SAACrlC,G,MAErB,EAQEA,EAAK,SARPgY,OAAQ,IAAG,GAAK,EAChB,EAOEhY,EAAK,KAPP+G,OAAI,IAAG,OAAI,EACXu+B,EAMEtlC,EAAK,SALPsO,EAKEtO,EAAK,UAJP8Q,EAIE9Q,EAAK,MAHPmN,EAGEnN,EAAK,SAFI6G,EAET7G,EAAK,UADJiH,EAAU,EACXjH,EATE,2EAUAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,oBAAqBwK,EAAc5K,UAAWO,GACvEyR,EAAYtY,EAAM+G,MAAQmK,EAAc3K,eAAiBQ,EACzDoK,EAAM,IAAW7K,EAAWgI,EAAchI,EAAS,IAAIgS,IAAW,MAClEhS,EAAS,cAAeg/B,E,IAG9B,OAAI,IAAM3mB,eAAexR,GAErB,yBAAKmB,UAAW6C,EAAKL,MAAOA,GACzB,IAAMrD,SAAS0J,IAAIhK,GAAU,SAACiK,GAC7B,IAAMhK,EAAkC,CACtC4K,SAAQ,EACRjR,KAAMuR,GAER,OAAO,IAAM9K,aAAa4J,EAAOhK,OAMvC,6BAASnG,EAAU,CAAEqH,UAAW6C,EAAKL,MAAOA,IACzC3D,IAKPk4B,GAAgB90B,YAAc,kBAEf,UCtCTg1B,GAAe,GACrBA,GAAa3pB,MAAQ,GACrB2pB,GAAaC,MAAQ,GAEN,UCFTC,GAAU,SAACpsB,GACf,OAAQqsB,OAAOrsB,IAyFF,GAtFK,SAACrZ,G,MAEjB,EAWEA,EAAK,KAXP+G,OAAI,IAAG,OAAI,EACX,EAUE/G,EAAK,SAVPgY,OAAQ,IAAG,GAAK,EAChB,EASEhY,EAAK,aATPkY,OAAY,IAAG,IAAC,EAChB,EAQElY,EAAK,KARPuc,OAAI,IAAG,IAAC,EACR,EAOEvc,EAAK,SAPP2lC,OAAQ,IAAG,GAAK,EAChB,EAME3lC,EAAK,IANPimB,OAAG,IAAG,EAAA2f,OAAOC,kBAAiB,EAC9B,EAKE7lC,EAAK,IALPlB,OAAG,IAAG,EAAA8mC,OAAOE,kBAAiB,EAC9B5yB,EAIElT,EAAK,SAHPsO,EAGEtO,EAAK,UAFI6G,EAET7G,EAAK,UADP8Q,EACE9Q,EAAK,MACHkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,eAAgBwK,EAAc5K,UAAWO,GAClEyR,EAAYtY,EAAM+G,MAAQmK,EAAc3K,eAAiBQ,EACzDoK,EAAM,IAAW7K,EAAWgI,EAAchI,EAAS,IAAIgS,IAAW,MAClEhS,EAAS,aAAc0R,EAC3B,EAAI1R,EAAS,oBAAqBq/B,E,IAE9B,EAAoB,mBACxB,UAAW3lC,EAASA,EAAM5D,MAAmB8b,GADxC9b,EAAK,KAAEqc,EAAQ,KAoCtB,OAJA,qBAAU,WACR,UAAWzY,GAASyY,EAASzY,EAAM5D,SAClC,CAAC4D,IAGF,yBAAKsO,UAAW6C,EAAKL,MAAOA,GAC1B,2BACEi1B,aAAa,MACb/tB,SAAUA,EACV5b,MAAOA,EACPgT,KAAK,SACLd,UAAchI,EAAS,UACvBxH,IAAKA,EACLmnB,IAAKA,EACL1J,KAAMA,EACNrJ,SA3CgB,SAAC/T,GACrB,IAAMka,EAAMusB,OAAOzmC,EAAE+I,OAAO9L,MAAM6d,UAChC,UAAWja,IAAUyY,EAASY,GAChCnG,GAAYuyB,GAAQpsB,IAAQnG,EAASmG,EAAKla,IAwCf,gBACR/C,EAAK,gBACL0C,EAAG,gBACHmnB,EAAG,gBACHjO,IAEjB,yBAAK1J,UAAchI,EAAS,cAC1B,0BAAMgI,UAAchI,EAAS,OAAQgL,QA5CvB,SAACnS,GAEnB,GADAA,EAAEkmB,mBACGrN,GAAYytB,GAAQlpB,GAAO,CAC9B,IAAMlD,GAAOjd,IAASmgB,EAClBlD,GAAOva,MACP,UAAWkB,IAAUyY,EAASY,GAChCnG,GAAYA,EAASmG,EAAKla,OAuCxB,kBAAC2H,EAAS,CAACC,KAAM,EAAGuH,UAAchI,EAAS,UAAUA,EAAS,oBAEhE,0BAAMgI,UAAchI,EAAS,SAAUgL,QApCxB,SAACnS,GAEpB,GADAA,EAAEkmB,mBACGrN,GAAYytB,GAAQlpB,GAAO,CAC9B,IAAMlD,GAAOjd,GAASmgB,EAClBlD,GAAO4M,MACP,UAAWjmB,IAAUyY,EAASY,GAChCnG,GAAYA,EAASmG,EAAKla,OA+BxB,kBAAC2H,EAAS,CAACC,KAAM,EAAGuH,UAAchI,EAAS,eChDtC,GAtCO,SAACtG,GAEnB,MAKEA,EAAK,OALP7B,OAAM,IAAG,GAAI,EACb6nC,EAIEhmC,EAAK,eAHPsO,EAGEtO,EAAK,UAFI6G,EAET7G,EAAK,UADJiH,EAAU,EACXjH,EANE,qDAOAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,YAAawK,EAAc5K,UAAWO,GAC/DsK,EAAM,IAAW7K,EAAWgI,GAC5B,EAAwB,oBAAS,GAAhCwN,EAAO,KAAEC,EAAU,KAiB1B,OACE,kBAAC,GAAK,KACA9U,EAAU,CACdqH,UAAW6C,EACX/B,KAAM0M,EAAU,OAAS,WACzB3d,OAAQA,EAnBV,yBACEmQ,UAAchI,EAAS,WACvBgL,QAAS,WACPyK,GAAYD,GACZkqB,GAAkBA,MAEnBlqB,EACC,kBAAChU,EAAG,CAACf,KAAM,GAAIuH,UAAchI,EAAS,WAEtC,kBAACyB,EAAQ,CAAChB,KAAM,GAAIuH,UAAchI,EAAS,YAUX,SCvCzB,OAAMD,cAAsB,SCW5B,GALM,SAACrG,GACZ,IAAAimC,EAAqBjmC,EAAK,OAAlBmN,EAAanN,EAAK,SAClC,OAAO,kBAAC,GAAYuN,SAAQ,CAACnR,MAAO6pC,GAAS94B,ICJzC+4B,GAAW,IAAM3uB,YAAuC,SAACvX,EAAsBiR,GAC3E,IAAWpK,EAAsD7G,EAAK,UAA5CsO,EAAuCtO,EAAK,UAAjCmN,EAA4BnN,EAAK,SAApBiH,EAAU,EAAKjH,EAAnE,sCACAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,MAAOwK,EAAc5K,UAAWO,GACzDsK,EAAM,IAAW7K,EAAWgI,GAElC,OACE,6BAASrH,EAAU,CAAEgK,IAAKA,EAAK3C,UAAW6C,IACvChE,MAKP+4B,GAAS31B,YAAc,WAER,UCdF41B,GAAiB,IAAM9/B,cAAqB,CACvD+/B,WAAY,aACZC,cAAe,eCCXC,GAAS,IAAM/uB,YACnB,SAACvX,EAAoBiR,G,MACX3C,EAAiEtO,EAAK,UAA3DmN,EAAsDnN,EAAK,SAAtC6G,EAAiC7G,EAAK,UAApBiH,EAAU,EAAKjH,EAAnE,sCACA,EAA8B,oBAAS,GAAtCumC,EAAU,KAAEC,EAAa,KAC1Bt1B,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,SAAUwK,EAAc5K,UAAWO,GAC5DsK,EAAM,IAAW7K,EAAWgI,IAAS,MACrChI,EAAS,gBAAiBigC,E,IAGhC,OACE,kBAACJ,GAAe54B,SAAQ,CACtBnR,MAAO,CACLgqC,WAAY,WAAM,OAAAI,GAAc,IAChCH,cAAe,WAAM,OAAAG,GAAc,MAErC,iCAAav/B,EAAU,CAAEgK,IAAKA,EAAK3C,UAAW6C,IAC3ChE,OAiBX,SAASs5B,GAAUC,GACT,IAAAC,EAAgDD,EAAM,QAA7Cn2B,EAAuCm2B,EAAM,YAArBE,EAAeF,EAAM,UACxDG,EAAe,IAAMtvB,YACzB,SAACvX,EAAoBiR,GACX,IAAA3C,EAAiEtO,EAAK,UAA3DmN,EAAsDnN,EAAK,SAAtC6G,EAAiC7G,EAAK,UAApBiH,EAAU,EAAKjH,EAAnE,sCACAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAakgC,EAAY11B,EAAc5K,UAAWO,GAC9DsK,EAAM,IAAW7K,EAAWgI,GAElC,OAAO,IAAMjB,cAAcs5B,EAAS,GAAE11B,IAAG,EAAE3C,UAAW6C,GAAQlK,GAAckG,MAKhF,OAFA05B,EAAat2B,YAAcA,EAEpBs2B,EAzBTP,GAAO/1B,YAAc,SA4BrB,IAAMu2B,GAASL,GAAU,CACvBngC,UAAW,gBACXqgC,QAAS,SACTp2B,YAAa,WAETw2B,GAASN,GAAU,CACvBngC,UAAW,gBACXqgC,QAAS,SACTp2B,YAAa,WAETuO,GAAU2nB,GAAU,CACxBngC,UAAW,iBACXqgC,QAAS,OACTp2B,YAAa,YAIA,MCrETy2B,GAAU,IAAMzvB,YACpB,SAACvX,EAAqBiR,G,MAElB,EAYEjR,EAAK,iBAZPinC,OAAgB,IAAG,GAAK,EACxB,EAWEjnC,EAAK,MAXPkH,OAAK,IAAG,MAAG,EACX,EAUElH,EAAK,eAVPknC,OAAc,IAAG,KAAE,EACnB,EASElnC,EAAK,MATPo7B,OAAK,IAAG,UAAO,EACf,EAQEp7B,EAAK,QARPi7B,OAAO,IAAG,OAAI,EACd,EAOEj7B,EAAK,YAPPmnC,OAAW,IAAG,GAAK,EACnBC,EAMEpnC,EAAK,WALPsO,EAKEtO,EAAK,UAJP8Q,EAIE9Q,EAAK,MAHPmN,EAGEnN,EAAK,SAFI6G,EAET7G,EAAK,UADJiH,EAAU,EACXjH,EAbE,uIAeA,EAAoC,mBACxC,cAAeA,EAAQA,EAAMqnC,UAAYJ,GADpCK,EAAa,KAAEC,EAAgB,KAGhCC,EAAiB,qBAAWrB,IAC5BsB,EAAeH,EAAgBJ,EAAiBhgC,EAEhDwgC,EAAa,OACd52B,GAAK,CACR5J,MAAOugC,EACPE,SAAUF,EACVG,SAAUH,IAGNv2B,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,iBAAkBwK,EAAc5K,UAAWO,GACpEsK,EAAM,IAAW7K,EAAWgI,IAAS,MACrChI,EAAS,UAAqB,UAAV80B,E,IAGpByM,EAAsB,WAC1B,IAAMC,GAAgBR,EAChB,cAAetnC,GACnBunC,EAAiBO,GAEnBV,GAAcA,EAAWU,IA4B3B,OATA,qBAAU,WAIR,MAHA,cAAe9nC,GAASunC,EAAiBvnC,EAAMqnC,WAC/CG,EAAepB,aAER,WACLoB,EAAenB,mBAEhB,CAACrmC,EAAOwnC,IAGT,6BAASvgC,EAAU,CAAEgK,IAAKA,EAAK3C,UAAW6C,EAAKL,MAAO42B,IACpD,yBAAKp5B,UAAchI,EAAS,cAAe6G,GA1BxCg6B,EAIDlM,GAKF,yBAAK3sB,UAAchI,EAAS,YAAagL,QAASu2B,GAChD,kBAAC,GAAI,CAACnsC,KAAK,OAAO4S,UAAchI,EAAS,oBATpC,SAgCf0gC,GAAQz2B,YAAc,UAEP,UC/ETw3B,GAAgB,GACtBA,GAAcf,QAAU,GACxBe,GAAcjB,OAASA,GACvBiB,GAAcjpB,QAAUA,GACxBipB,GAAchB,OAASA,GAER,UCVTnvB,GAAO,SAAC5X,G,MAEV,EASEA,EAAK,SATPgY,OAAQ,IAAG,GAAK,EAChB,EAQEhY,EAAK,SARPgoC,OAAQ,IAAG,GAAI,EACf,EAOEhoC,EAAK,UAPPioC,OAAS,IAAG,GAAI,EAChB35B,EAMEtO,EAAK,UALP8Q,EAKE9Q,EAAK,MAJPmN,EAIEnN,EAAK,SAHPkI,EAGElI,EAAK,OAFI6G,EAET7G,EAAK,UADJiH,EAAU,EACXjH,EAVE,yFAWAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,OAAQwK,EAAc5K,UAAWO,GAC1DsK,EAAM,IAAW7K,EAAWgI,IAAS,MACrChI,EAAS,aAAc0R,EAC3B,EAAI1R,EAAS,kBAAmB2hC,E,IAMlC,OAHIjwB,UACK/Q,EAAWuQ,KAGlB,2BACMvQ,EAAU,CACdiB,OAAQA,IAAkB8/B,EAAW,SAAW,SAChD15B,UAAW6C,EACXL,MAAOA,EACPO,KAAK,OAAM,gBACI2G,IACf,8BAAO7K,KAKbyK,GAAKrH,YAAc,OAEJ,UCvBA,GAZG,SAACvQ,GACT,IAAA+G,EAAoB/G,EAAK,KAAnBsO,EAActO,EAAK,UACjC,OACE,yBAAKsO,UAAcA,EAAS,IAAIA,EAAS,IAAIvH,GAC3C,0BAAMuH,UAAcA,EAAS,SAC7B,0BAAMA,UAAcA,EAAS,SAC7B,0BAAMA,UAAcA,EAAS,SAC7B,0BAAMA,UAAcA,EAAS,WCR7B45B,GAAS,SAACloC,G,UAEZ,EAUEA,EAAK,KAVP+G,OAAI,IAAG,OAAI,EACX,EASE/G,EAAK,QATP6d,OAAO,IAAG,GAAI,EACd,EAQE7d,EAAK,SARPmoC,OAAQ,IAAG,GAAK,EAChB,EAOEnoC,EAAK,QAPP49B,OAAO,IAAG,GAAI,EACdwK,EAMEpoC,EAAK,UALPqoC,EAKEroC,EAAK,IAJPsO,EAIEtO,EAAK,UAHPmN,EAGEnN,EAAK,SAFI6G,EAET7G,EAAK,UADJiH,EAAU,EACXjH,EAXE,8FAYAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,SAAUwK,EAAc5K,UAAWO,GAC5DsK,EAAM,IAAW7K,EAAWgI,EAAchI,EAAS,IAAIS,IAAM,MAC7DT,EAAS,aAAcuX,E,IAGvByqB,EAAe,IAAchiC,EAAS,uBAAoB,MAC1DA,EAAS,+BAAgC6hC,E,IAEzCI,EAAe,IAAcjiC,EAAS,gBAAa,MACnDA,EAAS,uBAAwBuX,EACrC,EAAIvX,EAAS,uBAAwBuX,GAAW+f,E,IAGlD,OACE,6BAAS32B,EAAU,CAAEqH,UAAW6C,IAC7B0M,GACC,yBAAKvP,UAAWg6B,GACbF,GAAwB,kBAAC,GAAS,CAAC95B,UAAchI,EAAS,cAAeS,KAAMA,IAC/EshC,GAAO,0BAAM/5B,UAAchI,EAAS,WAAY+hC,IAGpDl7B,GAAY,yBAAKmB,UAAWi6B,GAAep7B,KAKlD+6B,GAAO33B,YAAc,SAEN,UC3CTi4B,GAAa,SAACxoC,GACV,IAAAyoC,EAAiEzoC,EAAK,SAA5DsO,EAAuDtO,EAAK,UAAtC6G,EAAiC7G,EAAK,UAApBiH,EAAU,EAAKjH,EAAnE,sCACAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,cAAewK,EAAc5K,UAAWO,GACjEsK,EAAM,IAAW7K,EAAWgI,GAMlC,OAJA,qBAAU,WACRm6B,GAAYA,MACX,CAACA,IAGF,6BAASxhC,EAAU,CAAEqH,UAAW6C,IAC9B,yBAAK5S,GAAG,iBAAiB+P,UAAchI,EAAS,cAKtDkiC,GAAWj4B,YAAc,aAEV,UCpBXm4B,GAAuB,KACvBC,GAAiC,KACjCC,GAA+B,KAC/B,GAAQ,EAEN,GAAQ,WACRA,KACF,iCAAuBA,IACvBp2B,SAASqD,KAAKyM,YAAYsmB,KAE5BD,GAAa,KACbC,GAAW,KACX,GAAQ,GAMJC,GAAO,WACP,GAAQ,IACV,IAAS,GACTH,GAAQ,KAAIG,KACH,GAAQ,KACjB,IAAS,GACTH,GAAQ,KAAIG,KAGdF,KAAeA,GAAW73B,MAAM5J,MAAW,GAAK,MAqB5C4hC,GAAa,WACjB/pC,YAAW,WACT4pC,KAAeA,GAAW73B,MAAMi4B,QAAU,OACzC,KACHhqC,YAAW,WACT,OACC,MA6BU,IACbuyB,MA3BY,WACPsX,KACH,KA7BoB,WACtBA,GAAWp2B,SAASnF,cAAc,OAClCmF,SAASqD,KAAKsM,YAAYymB,IAE1B,IAAMI,EAAY,IAAM37B,cAAc,GAAY,CAChDo7B,SAAU,WACRE,GAAan2B,SAASy2B,eAAe,kBACrCP,GAAQ,KAAIG,OAIhB,iBAAOG,EAAWJ,IAmBhBM,KAyBFC,QArBc,WACdT,IAAS,KAAInpC,OAAOmpC,IAEhBE,IAAYD,KACdA,GAAW73B,MAAM5J,MAAQ,OACzB4hC,OAiBFM,KAbW,WACXV,IAAS,KAAInpC,OAAOmpC,IAEhBE,IAAYD,KACdA,GAAW73B,MAAM5J,MAAQ,OACzByhC,GAAW73B,MAAMwM,gBAAkB,OACnCwrB,QC1ESO,GAAc,IAAMhjC,cAAqB,CACpD0a,MAAO,IACPuoB,aAAc,GACdhtC,KAAM,eCNFitC,GAAO,SAACvpC,GAEV,MAWEA,EAAK,aAXPwpC,OAAY,IAAG,MAAG,EAClB,EAUExpC,EAAK,KAVP1D,OAAI,IAAG,eAAY,EACnB,EASE0D,EAAK,MATPo7B,OAAK,IAAG,UAAO,EACf,EAQEp7B,EAAK,aARPspC,OAAY,IAAG,KAAE,EACjBtvB,EAOEha,EAAK,SANPsO,EAMEtO,EAAK,UALPw9B,EAKEx9B,EAAK,iBAJP8Q,EAIE9Q,EAAK,MAHPmN,EAGEnN,EAAK,SAFI6G,EAET7G,EAAK,UADJiH,EAAU,EACXjH,EAZE,yHAaAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,OAAQwK,EAAc5K,UAAWO,GAC1DsK,EAAM,IACV7K,EACAgI,EACGhI,EAAS,QACTA,EAAS,IAAI80B,EACb90B,EAAS,IAAIhK,GAEZ,EAAgC,mBAAiBktC,GAAhDxqB,EAAW,KAAEyqB,EAAc,KAC5BC,EAAe,CACnBptC,KAAI,EACJgtC,aAAY,EACZvoB,MAAO/B,EACPhF,SAAU,SAAC+G,GACT0oB,EAAe1oB,GACf/G,GAAYA,EAAS+G,KAIzB,OACE,4BAAQ9Z,EAAU,CAAEoK,KAAK,OAAO/C,UAAW6C,EAAKL,MAAOA,IACrD,kBAACu4B,GAAY97B,SAAQ,CAACnR,MAAOstC,GAC1B,IAAMj8B,SAAS0J,IAAIhK,GAAU,SAACiK,EAAO2J,GACpC,IAAM1J,EAAeD,EACb7G,EAAgB8G,EAAajI,KAAI,YACzC,GACkB,aAAhBmB,GACgB,YAAhBA,GACgB,kBAAhBA,GACiB,gBAAhBA,GAA0C,eAATjU,EAClC,CACA,IAAM8Q,EAAa,CACjBowB,iBAAgB,EAChBzc,MAAO,GAAGA,GAEZ,OAAO,IAAMvT,aAAa6J,EAAcjK,GAGxC,OADA0M,QAAQ6vB,KAAK,sDACN,WAQnBJ,GAAKh5B,YAAc,OAEJ,UC/DFq5B,GAAiB,IAAMvjC,cAAqB,ICCnDwjC,GAAW,SAAC7pC,G,MAEd,EAQEA,EAAK,SARPgY,OAAQ,IAAG,GAAK,EAChB+I,EAOE/gB,EAAK,MANPsO,EAMEtO,EAAK,UALP8Q,EAKE9Q,EAAK,MAJPmN,EAIEnN,EAAK,SAHPsR,EAGEtR,EAAK,QAFI6G,EAET7G,EAAK,UADJiH,EAAU,EACXjH,EATE,2EAUA8pC,EAAc,qBAAWT,IACzBU,EAAiB,qBAAWH,IAC1BN,EAAuBQ,EAAW,aAApBxtC,EAASwtC,EAAW,KAClC,EAA+BC,EAAc,MAA7CC,OAAK,IAAG,IAAC,EAAEC,EAAoBF,EAAc,gBAC/C74B,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,YAAawK,EAAc5K,UAAWO,GAC/DsK,EAAM,IAAW7K,EAAWgI,IAAS,MACrChI,EAAS,aAAc0R,EAC3B,EAAI1R,EAAS,WAAYwjC,EAAY/oB,QAAUA,E,IAejD,OACE,4BACM9Z,EAAU,CACdvK,IAAKqkB,EACL1P,KAAK,WACL/C,UAAW6C,EACXL,MAAK,GAAI4H,YAAsB,WAATpc,EAAoB0tC,EAAQV,OAAex+B,GAAcgG,GAC/EQ,QAnBgB,SAACnS,GACf6Y,IAIJ1G,GAAWA,EAAQnS,GACnB8qC,GAAmBA,IACfH,EAAY9vB,UAA6B,iBAAV+G,GACjC+oB,EAAY9vB,SAAS+G,OAYpB5T,IAKP08B,GAASt5B,YAAc,WAER,UC9CT25B,GAAU,SAAClqC,G,UAEb+gB,EAQE/gB,EAAK,MAPPmE,EAOEnE,EAAK,MANPgY,EAMEhY,EAAK,SALPsO,EAKEtO,EAAK,UAJPw9B,EAIEx9B,EAAK,iBAHPmN,EAGEnN,EAAK,SAFI6G,EAET7G,EAAK,UADJiH,EAAU,EACXjH,EATE,oFAUA8pC,EAAc,qBAAWT,IACvB/sC,EAAuBwtC,EAAW,KAA5BR,EAAiBQ,EAAW,aACpC,EAAmD,qBAAWF,IAA5D,IAAAI,aAAK,IAAG,IAAC,EAAmBG,EAAgB,kBAC9C,EAA0B,oBAAkB,GAA3CC,EAAQ,KAAEC,EAAW,KACtBn5B,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,WAAYwK,EAAc5K,UAAWO,GAC9DsK,EAAM,IAAW7K,EAAWgI,GAC5Bg8B,EAAa,IAAchkC,EAAS,WAAQ,MAC5CA,EAAS,eAAgB8jC,EAC7B,EAAI9jC,EAAS,gBAA0B,WAAThK,E,IAE1BiuC,EAAiBxpB,aAAK,EAALA,EAAOlK,SAAS,KACjC2zB,EAA0B,aAATluC,GAAiC,eAATA,GAAyBiuC,EAClE/kB,EAAWglB,EACVlkC,EAAS,WAAWA,EAAS,gBAChC,IAAcA,EAAS,YAAS,MAC1BA,EAAS,mBAAoB8jC,E,IAEjCK,GAAiBv5B,EAAc5K,UAAY4K,EAAc5K,UAAY,MAAI,aACzEokC,EAAW,IAAWD,EAAgBnkC,EAAS,YAAS,MACxDmkC,EAAW,aAAczyB,EAC7B,EAAIyyB,EAAW,aAAY1pB,GAAQ+oB,EAAY/oB,MAAM4pB,WAAW5pB,G,IAE5D6pB,EAAW,iBAA8B,MAEzCC,EAAgB,SAAC1rC,GACrBA,EAAEuY,kBACDM,GAAqB,WAAT1b,GAAqB+tC,GAAaD,IAG3C/jB,EAAW,sBAA2Bvb,GACtCggC,EAAc,SAAC3rC,EAAqB4rC,GACxC5rC,EAAEuY,iBACF,IAAMszB,EAAQ3kB,EAASzZ,QACvBo+B,GAASnwC,OAAOsI,aAAa6nC,GAC7B3kB,EAASzZ,QAAU/R,OAAOkE,YAAW,WACnCsrC,EAAYU,KACX,MAoBCE,EAAqB,WACzB,IAAIrD,OAAW98B,EACTogC,EAAYN,EAASh+B,QAC3B,GAAIs+B,IAAcX,EAAgB,CAC1B,MAA8B1vC,OAAOsuB,iBAAiB+hB,GAApDxvB,EAAU,aAAEyvB,EAAW,cAC/BvD,EAAWsD,EAAUhyB,YAAckyB,WAAW1vB,GAAc0vB,WAAWD,GAEzE,OACE,wBAAI78B,UAAWg8B,EAAYx5B,MAAO,CAAE82B,SAAQ,IACzC,IAAMn6B,SAAS0J,IAAIhK,GAAU,SAACiK,EAAOqE,GACpC,IAAMpE,EAAeD,EACb7G,EAAgB8G,EAAajI,KAAI,YACnChC,EAAa,CACjB2T,MAAUA,EAAK,IAAItF,GAErB,MACkB,aAAhBlL,GACgB,kBAAhBA,GACgB,YAAhBA,GACgB,gBAAhBA,EAEO,IAAM/C,aAAa6J,EAAcjK,IAExC0M,QAAQ6vB,KAAK,sDACN,WAOjB,MAAa,WAATrtC,EAEA,kBAACstC,GAAer8B,SAAQ,CAACnR,MAAO,CAAE4tC,MAAOA,EAAQ,IAC/C,4BAAQ/iC,EAAU,CAAEoK,KAAK,WAAW3U,IAAKqkB,EAAOzS,UAAW6C,IACzD,yBACE7C,UAAWo8B,EACX55B,MAAO,CAAE4H,YAAa4wB,EAAeU,GACrC14B,QAASu5B,GACT,8BAAO1mC,GACP,0BAAMmK,UAAWkX,GACf,kBAAC1e,EAAS,CAACC,KAAM,OAGrB,kBAAC,GAAkB,CAACgK,OAAQq5B,GAAWa,OAM3C,kBAACrB,GAAer8B,SAAQ,CAACnR,MAAO,CAAE6tC,gBA3Dd,WACT,WAAT3tC,IACF+tC,GAAY,GAGZF,GAAoBA,QAuDlB,4BACMljC,EAAU,CACdoK,KAAK,WACL3U,IAAKqkB,EACLzS,UAAW6C,EACXksB,aAzEmB,SAACl+B,IACzB6Y,GAAqB,WAAT1b,GAAqBwuC,EAAY3rC,GAAG,IAyE3Cm+B,aAtEmB,SAACn+B,GACjB,WAAT7C,GAAqBwuC,EAAY3rC,GAAG,MAsE9B,kBAAC,GAAK,CACJg8B,MAAM,EACN9F,OAAO,EACP/mB,UAAWkvB,EACXvC,QAAQ,SACRnf,QAASsuB,EACT5O,OAAQgP,EACR7e,UAAW6e,EAAiB,cAAgB,eAC5C/O,QAASwP,KACT,yBAAKh6B,IAAK25B,EAAUt8B,UAAWo8B,EAAUp5B,QAASu5B,GAChD,8BAAO1mC,GACP,0BAAMmK,UAAWkX,GACf,kBAAC1e,EAAS,CAACC,KAAM,WAUjCmjC,GAAQ35B,YAAc,UAEP,UCzJT86B,GAAgB,SAACrrC,GAEnB,IAAA+gB,EAOE/gB,EAAK,MANPmE,EAMEnE,EAAK,MALPsO,EAKEtO,EAAK,UAJP8Q,EAIE9Q,EAAK,MAHPmN,EAGEnN,EAAK,SAFI6G,EAET7G,EAAK,UADJiH,EAAU,EACXjH,EARE,8DASAkR,EAAgB,qBAAW9K,GACzBkjC,EAAiB,qBAAWD,IAAY,aACxC,EAAc,qBAAWO,IAAe,MAAxCI,OAAK,IAAG,IAAC,EACX1jC,EAAYI,EAAa,kBAAmBwK,EAAc5K,UAAWO,GACrEsK,EAAM,IAAW7K,EAAWgI,GAElC,OACE,4BAAQrH,EAAU,CAAEvK,IAAKyH,EAAOmK,UAAW6C,EAAKL,MAAOA,IACrD,yBACExC,UAAchI,EAAS,UACvBwK,MAAO,CACL4H,YAAa4wB,EAAeU,EAAQV,EAAe,IAEpDnlC,GAEH,wBAAImK,UAAchI,EAAS,UACxB,IAAMmH,SAAS0J,IAAIhK,GAAU,SAACiK,EAAOqE,GACpC,IAAMpE,EAAeD,EACrB,GAAsC,aAAlCC,EAAajI,KAAKmB,YAA4B,CAChD,IAAMnD,EAAqC,CACzC2T,MAAUA,EAAK,IAAItF,GAErB,OAAO,IAAMjO,aAAa6J,EAAcjK,GAGxC,OADA0M,QAAQ6vB,KAAK,sDACN,WAQnB0B,GAAc96B,YAAc,gBAEb,UC/CT+6B,GAAc,SAACtrC,GACX,IAAW6G,EAA6B7G,EAAK,UAAnBsO,EAActO,EAAK,UAC/CkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,eAAgBwK,EAAc5K,UAAWO,GAClEsK,EAAM,IAAW7K,EAAWgI,GAElC,OAAO,wBAAIA,UAAW6C,KAGxBm6B,GAAY/6B,YAAc,cAEX,UCJTg7B,GAAc,GACpBA,GAAYxnC,KAAO,GACnBwnC,GAAYrB,QAAU,GACtBqB,GAAYC,UAAY,GACxBD,GAAY1jB,QAAU,GAEP,UCLT4jB,GAAU,SAACzrC,GAEb,IAAAoP,EASEpP,EAAK,KARPyQ,EAQEzQ,EAAK,KAPPy7B,EAOEz7B,EAAK,QANP0rC,EAME1rC,EAAK,SALP2rC,EAKE3rC,EAAK,YAJPqe,EAIEre,EAAK,MAHPsO,EAGEtO,EAAK,UAFP8Q,EAEE9Q,EAAK,MADI6G,EACT7G,EAAK,UACHkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,UAAWwK,EAAc5K,UAAWO,GAC7DsK,EAAM,IAAW7K,EAAWgI,GAC5B2C,EAAM,iBAA8B,MACpC,EAAwB,oBAAS,GAAhC6K,EAAO,KAAEC,EAAU,KA2C1B,OAbA,qBAAU,WACR,IAAMza,EAAO2P,EAAIrE,QACXzF,EAAU7F,GAAQA,EAAKqT,cAAiB,EACxCq2B,EAAQnwC,OAAOkE,YAAW,WAC9Bgd,GAAW,GACX4vB,EAAYxkC,KACXukC,GAEH,OAAO,WACL7wC,OAAOsI,aAAa6nC,MAErB,CAACU,EAAUC,IAGZ,kBAAC,EAAa,CAAChiC,GAAImS,EAASvS,QAAQ,EAAM7F,QAAS,EAAGtG,WAAekJ,EAAS,eAC5E,yBAAK+K,KAAK,QAAQ/C,UAAW6C,EAAKL,MAAOA,EAAOG,IAAKA,GA3CtC,W,MACjB,GAAI,IAAM0N,eAAelO,GACvB,OAAOA,EACF,GAAoB,iBAATrB,EAChB,OAAQA,GACN,IAAK,UACH,OAAO,kBAAC7H,EAAW,CAACR,KAAM,GAAIuH,UAAchI,EAAS,WACvD,IAAK,OACH,OAAO,kBAACoB,EAAU,CAACX,KAAM,GAAIuH,UAAchI,EAAS,WACtD,IAAK,UACH,OAAO,kBAACmB,EAAa,CAACV,KAAM,GAAIuH,UAAchI,EAAS,WACzD,IAAK,QACH,OAAO,kBAACkB,EAAW,CAACT,KAAM,GAAIuH,UAAchI,EAAS,WACvD,IAAK,UACH,OACE,kBAACqB,EAAa,CACZZ,KAAM,GACNuH,UAAW,IAAchI,EAAS,UAAQ,KACxC,EAAIA,EAAS,kBAA4B,YAAT8I,E,MAO5C,OAAO,KAmBFyC,GACD,0BAAMvD,UAAchI,EAAS,aAAcm1B,GAC1Cpd,GAAS,yBAAK/P,UAAchI,EAAS,WAAY+X,MAM1DotB,GAAQl7B,YAAc,UAEP,ICvDX,GDuDW,MCtCT,GAAmC,SACvCnB,EACAqsB,EACAiQ,EACA76B,EACAqJ,QAFA,IAAAwxB,MAAA,UAEA,IAAAxxB,MAAA,IAEA,IAAM0xB,EAAap5B,SAAS+D,iBAjDZ,yBAkDVs1B,EACJD,EAAWruC,OAAS,EAAKquC,EAAWA,EAAWruC,OAAS,GAAqB,KAE/E,GAAS2c,EAAQtG,QAAU,GAC3B,IAAMxB,EAAMy5B,EACRprB,SAASorB,EAAc/6B,MAAMsB,KAAO,IAAK,IAAMy5B,EAAcl3B,aAAe,GAC5EuF,EAAQ9H,KAAO,GAEb05B,EAAMt5B,SAASnF,cAAc,OACnCy+B,EAAIx9B,UAAY,uBAChBkE,SAASqD,KAAKsM,YAAY2pB,GAC1BA,EAAIh7B,MAAMsB,IAASA,EAAG,KAEtB,IAAMpS,EAAsB,CAC1BoP,KAAI,EACJqsB,QAAO,EACPiQ,SAAQ,EACRj7B,KAAMyJ,EAAQzJ,KACd4N,MAAOnE,EAAQmE,MACf/P,UAAW4L,EAAQ5L,UACnBq9B,YAAa,SAACxkC,GACZ,IAAM4kC,EAAatrB,SAASqrB,EAAIh7B,MAAMsB,KAAO,IAAK,KA5CzB,SAAC45B,EAAc55B,EAAKjL,EAAQ0J,GACzD,iCAAuBm7B,GACvBx5B,SAASqD,KAAKyM,YAAY0pB,GAC1B,MAAI,WAGF,IAFA,IAAMJ,EAAap5B,SAAS+D,iBA/Bd,yBAgCR5S,EAAMioC,EAAWruC,OACdpC,EAAI,EAAGA,EAAIwI,EAAKxI,IAAK,CAC5B,IAAMgG,EAAUyqC,EAAWzwC,GACrB8wC,EAAaxrB,SAAUtf,EAAwB2P,MAAMsB,KAAO,IAAK,IACvE65B,EAAa75B,IAAQjR,EAAQ2P,MAAMsB,IAAS65B,EAAa9kC,EAAS,GAAM,UAG5E0J,GAAWA,IAiCP,CAAWi7B,EAAKC,EAAY5kC,EAAQ0J,KAGlCm4B,EAAY,IAAM37B,cAAc,GAASrN,GAC/C,iBAAOgpC,EAAW8C,IAIdI,GAAwB,SAC5BzQ,EACAiQ,EACA76B,EACAqJ,GAEA,QAAgBpP,EAAW2wB,EAASiQ,EAAU76B,EAASqJ,IAGzD,CAAC,UAAW,QAAS,UAAW,OAAQ,WAAW7L,SAAQ,SAACe,GAC1D88B,GAAiB98B,GAAQ,SACvBqsB,EACAiQ,EACA76B,EACAqJ,GAEA,GAAgB9K,EAAqBqsB,EAASiQ,EAAU76B,EAASqJ,OAIrEgyB,GAAiBvC,KAAOuC,GAAiBvvB,QAE1B,UCtGTwvB,GAAe,IAAM50B,YACzB,SAACvX,EAA0BiR,G,MAEvB,EAMEjR,EAAK,KANP+G,OAAI,IAAG,OAAI,EACX,EAKE/G,EAAK,SALPgY,OAAQ,IAAG,GAAK,EAChB1J,EAIEtO,EAAK,UAHPmN,EAGEnN,EAAK,SAFI6G,EAET7G,EAAK,UADJiH,EAAU,EACXjH,EAPE,wDAQAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,gBAAiBwK,EAAc5K,UAAWO,GACnEsK,EAAM,IAAW7K,EAAWgI,IAAS,MACrChI,EAAS,IAAIS,GAASA,EAC1B,EAAIT,EAAS,aAAc0R,E,IAG7B,OACE,8BAAQ/G,IAAKA,GAAShK,EAAU,CAAEqH,UAAW6C,IAC1C,IAAM1D,SAAS0J,IAAIhK,GAAU,SAACiK,GAC7B,IAAMhK,EAAwE,CAC5E4K,SAAQ,GAEV,OAAO,IAAMxK,aAAa4J,EAAOhK,UAO3C++B,GAAa57B,YAAc,eAEZ,UCnCT67B,GAAe,IAAM70B,YACzB,SAACvX,EAAgCiR,GAC/B,OAAO,8BAAQA,IAAKA,GAASjR,OAIjCosC,GAAa77B,YAAc,eAEZ,UCRT87B,GAAiB,IAAM90B,YAC3B,SAACvX,EAA+BiR,GAC9B,OACE,gCAAUA,IAAKA,GAASjR,GACrBA,EAAMmN,aAMfk/B,GAAe97B,YAAc,uBAEd,UCNT+7B,GAAgB,GACtBA,GAAcC,OAAS,GACvBD,GAAcE,SAAW,GAEV,UCXA,MCOTC,GAAQ,SAACzsC,G,MAEX,EA4BEA,EAAK,QA5BP8b,OAAO,IAAG,GAAK,EACf,EA2BE9b,EAAK,MA3BPkH,OAAK,IAAG,MAAG,EACX,EA0BElH,EAAK,SA1BP0sC,OAAQ,IAAG,GAAK,EAChB,EAyBE1sC,EAAK,SAzBP2Q,OAAQ,IAAG,GAAI,EACf,EAwBE3Q,EAAK,eAxBPi+B,OAAc,IAAG,GAAI,EACrB,EAuBEj+B,EAAK,SAvBPk+B,OAAQ,IAAG,YAAS,EACpB,EAsBEl+B,EAAK,aAtBPm+B,OAAY,IAAG,GAAI,EACnB,EAqBEn+B,EAAK,YArBP2sC,OAAW,IAAG,OAAI,EAClB,EAoBE3sC,EAAK,WApBP4sC,OAAU,IAAG,WAAQ,EACrB,EAmBE5sC,EAAK,eAnBP6sC,OAAc,IAAG,GAAK,EACtB,EAkBE7sC,EAAK,UAlBPqQ,OAAS,IAAG,UAAO,EACnB,EAiBErQ,EAAK,OAjBP69B,OAAM,IAAG,MAAI,EACbiP,EAgBE9sC,EAAK,UAfP+sC,EAeE/sC,EAAK,SAdPoS,EAcEpS,EAAK,IAbPse,EAaEte,EAAK,OAZPye,EAYEze,EAAK,OAXP4Q,EAWE5Q,EAAK,WAVPgtC,EAUEhtC,EAAK,mBATPitC,EASEjtC,EAAK,kBARPsO,EAQEtO,EAAK,UAPPmN,EAOEnN,EAAK,SANP8Q,EAME9Q,EAAK,MALPo+B,EAKEp+B,EAAK,UAJPue,EAIEve,EAAK,YAHPktC,EAGEltC,EAAK,UAFP0e,EAEE1e,EAAK,YADI6G,EACT7G,EAAK,UAGH,EAAkC,mBAAS8b,GAA1CqxB,EAAY,KAAEC,EAAe,KAC9Bl8B,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,QAASwK,EAAc5K,UAAWO,GAC3DsK,GAAM,IAAW7K,EAAWgI,IAAS,MAAQhI,EAAS,aAAcomC,EAAQ,IA0BlF,OACE,kBAAC,GAAO,CACN3gC,QAAS,WAAY,OAAAqhC,GAAgB,IACrCjhC,OAAQ,WAAY,OAAAihC,GAAgB,IACpCvP,OAAQA,EACRzuB,KAAM8uB,EACNt0B,cAAeq0B,EACfltB,OAAQ+K,EACRzP,SAAUuE,EACVktB,cAAe,SAAC3+B,GACdg/B,GAAgB4O,GAAWA,EAAS5tC,IAEtC2R,MAAOstB,GACP,yBAAK9vB,UAAW6C,GAAKL,MAAO,CAAEsB,IAAG,IAC/B,yBAAKtB,MAAK,GAAI5J,MAAK,GAAK4J,IACtB,kBAAC,EAAa,CACZvH,QAAQ,EACRI,GAAIwjC,EACJ/vC,WAAekJ,EAAS,aAAa+J,EACrC3M,QAAS,GACT,yBAAK4K,UAAchI,EAAS,YAAagL,QAAS,SAACnS,GAAY,OAAAA,EAAEkmB,oBAC9D1U,GACC,yBAAKU,KAAK,SAAS/C,UAAchI,EAAS,cAAegL,QAASy7B,GAAQ,KAI3EzuB,GACC,yBAAKhQ,UAAchI,EAAS,WAAYwK,MAAOyN,GAC7C,yBAAKjQ,UAAchI,EAAS,WAAYgY,IAG5C,yBAAKhQ,UAAchI,EAAS,SAAUwK,MAAOo8B,GAC1C//B,GAvDT,IAAMwR,eAAeF,GAChBA,EACa,OAAXA,EACF,KAGL,yBAAKnQ,UAAchI,EAAS,WAAYwK,MAAO4N,GAC7C,kBAAC,GAAM,GAACpN,QAASy7B,EAAUz+B,UAAchI,EAAS,gBAAoB2mC,GACnEL,GAEH,kBAAC,GAAM,GACL/uB,QAASgvB,EACTv7B,QAASw7B,EACTlvB,QAAQ,UACRtP,UAAchI,EAAS,gBACnB0mC,GACHL,UAkDbF,GAAMl8B,YAAc,QAEL,ICrFX,GDqFW,MEjCA,GA5EM,SAACvQ,GAElB,MAaEA,EAAK,SAbP0rC,OAAQ,IAAG,OAAI,EACfvnC,EAYEnE,EAAK,MAXPy+B,EAWEz+B,EAAK,YAVPye,EAUEze,EAAK,OATPoP,EASEpP,EAAK,KARPyQ,EAQEzQ,EAAK,KAPP2rC,EAOE3rC,EAAK,YANPyoC,EAMEzoC,EAAK,SALPsR,EAKEtR,EAAK,QAJP6Q,EAIE7Q,EAAK,QAHPsO,EAGEtO,EAAK,UAFI6G,EAET7G,EAAK,UADJiH,EAAU,EACXjH,EAdE,gIAeAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,eAAgBwK,EAAc5K,UAAWO,GAClEsK,EAAM,IAAW7K,EAAWgI,GAC5B2C,EAAM,iBAA8B,MACpCoV,EAAW,mBACXlf,EAAS,iBAAO,GAwCtB,OAZA,qBAAU,WACRshC,IACA,IAAMnnC,EAAO2P,EAAIrE,QACjBzF,EAAOyF,QAAUtL,EAAOA,EAAKqT,aAAe,EAE3B,IAAb+2B,IACFrlB,EAASzZ,QAAU/R,OAAOkE,YAAW,WACnC4sC,EAAYxkC,EAAOyF,WAClB8+B,MAEJ,CAACjD,EAAUiD,EAAUC,IAGtB,6BAAS1kC,EAAU,CAAEqH,UAAW6C,EAAKG,QAASA,EAASL,IAAKA,IAjC3C,WACjB,GAAI,IAAM0N,eAAelO,GACvB,OAAOA,EACF,GAAoB,iBAATrB,EAAmB,CAEnC,OAAQA,GACN,IAAK,UACH,OAAO,kBAAC7H,EAAW,CAACR,KAHP,GAGuBuH,UAAchI,EAAS,WAC7D,IAAK,OACH,OAAO,kBAACoB,EAAU,CAACX,KALN,GAKsBuH,UAAchI,EAAS,WAC5D,IAAK,UACH,OAAO,kBAACmB,EAAa,CAACV,KAPT,GAOyBuH,UAAchI,EAAS,WAC/D,IAAK,QACH,OAAO,kBAACkB,EAAW,CAACT,KATP,GASuBuH,UAAchI,EAAS,YAIjE,OAAO,KAiBJuL,GACD,6BACE,yBAAKvD,UAAchI,EAAS,WAAYnC,GACvCs6B,EACAhgB,EACD,yBAAKpN,KAAK,SAAS/C,UAAchI,EAAS,UAAWgL,QA7CnC,SAACnS,GACvBknB,EAASzZ,SAAW/R,OAAOsI,aAAakjB,EAASzZ,SACjD++B,EAAYxkC,EAAOyF,SACnBiE,GAAWA,EAAQ1R,KA0C8D,QD3B/E,GAAkB,SAAC+a,EAAkB9K,GACzC,IAAMuc,EAAYzR,EAAQyR,WAAa,WACjC0hB,EAAe,6BAA6B1hB,EzK/BvC3iB,QADG,UACY,SAACskC,GACzB,MAAO,IAAMA,EAAKtkB,iByK+Bd4iB,EAAap5B,SAAS+D,iBAAiB,IAAI82B,GAC3CxB,EACJD,EAAWruC,OAAS,EAAKquC,EAAWA,EAAWruC,OAAS,GAAqB,KAEzEuuC,EAAMt5B,SAASnF,cAAc,OACnCy+B,EAAIx9B,UAAe,6BAAa++B,EAChC76B,SAASqD,KAAKsM,YAAY2pB,GAE1B,GAAS5xB,EAAQtG,QAAU,GAC3B,IAAM2e,EAAuB5G,EAAU9U,SAAS,OAAS,MAAQ,SAC3DhC,EAAWg3B,EACbprB,SAASorB,EAAc/6B,MAAMyhB,IAAc,IAAK,IAAMsZ,EAAcl3B,aAAe,GACnFuF,EAAQsb,QAAU,GACtBsW,EAAIh7B,MAAMyhB,GAAgB1d,EAAQ,KAElC,IAAM7U,EAA2B,CAC/BoP,KAAI,EACJjL,MAAO+V,EAAQ/V,MACfs6B,YAAavkB,EAAQukB,YACrBhgB,OAAQvE,EAAQuE,OAChBitB,SAAUxxB,EAAQwxB,SAClB76B,QAASqJ,EAAQrJ,QACjBS,QAAS4I,EAAQ5I,QACjBb,KAAMyJ,EAAQzJ,KACdg4B,SAAU,WAER9c,EAAU9U,SAAS,SAAYi1B,EAAIh7B,MAAMyB,MAAQ,MAAUu5B,EAAIh7B,MAAMuB,KAAO,OAE9Es5B,YAAa,SAACxkC,GACZ,IAAMomC,EAAkB9sB,SAASqrB,EAAIh7B,MAAMyhB,IAAc,IAAK,KA/CrC,SAAC8a,EAAWrB,EAAcn3B,EAAU1N,EAAQorB,GACzE,iCAAuByZ,GACvBx5B,SAASqD,KAAKyM,YAAY0pB,GAC1B,MAAI,WAGF,IAFA,IAAMJ,EAAap5B,SAAS+D,iBAAiB,IAAI82B,GAC3C1pC,EAAMioC,EAAWruC,OACdpC,EAAI,EAAGA,EAAIwI,EAAKxI,IAAK,CAC5B,IAAMgG,EAAUyqC,EAAWzwC,GACrBqyC,EAAkB/sB,SAAUtf,EAAwB2P,MAAMyhB,IAAc,IAAK,IACnFib,EAAkB34B,IACf1T,EAAQ2P,MAAMyhB,GAAgBib,EAAkBrmC,EAAS,GAAM,UAsClE,CAAWkmC,EAAWvB,EAAKyB,EAAiBpmC,EAAQorB,KAGlDpxB,EAAU,IAAMkM,cAAc,GAAcrN,GAClD,iBAAOmB,EAAS2qC,IAOZ2B,GAA6B,GAEnC,CAAC,UAAW,QAAS,UAAW,QAAQp/B,SAAQ,SAACe,GAC/Cq+B,GAAsBr+B,GAAQ,SAAC8K,GAC7B,GAAgBA,EAAS9K,OAI7Bq+B,GAAsBC,KAZT,SAACxzB,GACZ,GAAgBA,OAASpP,IAY3B2iC,GAAsB9D,KAAO8D,GAAsB9wB,QAEpC,UEnEA,GA7BC,SAAC3c,GAEb,MAQEA,EAAK,MARPo7B,OAAK,IAAG,UAAO,EACf,EAOEp7B,EAAK,KAPPqR,OAAI,IAAG,YAAS,EACLxK,EAMT7G,EAAK,UALPmE,EAKEnE,EAAK,MAJPy7B,EAIEz7B,EAAK,QAHPsO,EAGEtO,EAAK,UAFPmN,EAEEnN,EAAK,SADJiH,EAAU,EACXjH,EATE,uEAUAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,UAAWwK,EAAc5K,UAAWO,GAC7DsK,EAAM,IAAW7C,EAAWhI,EAAcA,EAAS,IAAI80B,GAS7D,OACE,kBAAC,GAAK,KAAKn0B,EAAU,CAAEqH,UAAW6C,EAAKiqB,MAAOA,EAAOK,QAPrD,yBAAKpqB,KAAMA,EAAM/C,UAAchI,EAAS,WACrCnC,GAAS,yBAAKmK,UAAchI,EAAS,WAAYnC,GACjDs3B,GAAW,yBAAKntB,UAAchI,EAAS,aAAcm1B,MAMrDtuB,ICuHQ,GAxII,SAACnN,G,MAEhB,EAUEA,EAAK,MAVP+nB,OAAK,IAAG,WAAQ,EAChB,EASE/nB,EAAK,KATP+G,OAAI,IAAG,OAAI,EACX,EAQE/G,EAAK,eARP2tC,OAAc,IAAG,IAAC,EAClB,EAOE3tC,EAAK,gBAPP4tC,OAAe,IAAG,KAAE,EACpB,EAME5tC,EAAK,MANP6tC,OAAK,IAAG,IAAC,EACT,EAKE7tC,EAAK,SALPgY,OAAQ,IAAG,GAAK,EAChB9E,EAIElT,EAAK,SAHPsO,EAGEtO,EAAK,UAFI6G,EAET7G,EAAK,UADJiH,EAAU,EACXjH,EAXE,2GAYAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,aAAcwK,EAAc5K,UAAWO,GAChEsK,EAAM,IAAW7K,EAAWgI,IAAS,MACrChI,EAAS,IAAIyhB,GAAUA,EAC3B,EAAIzhB,EAAS,IAAIS,GAASA,EAC1B,EAAIT,EAAS,aAAc0R,E,IAEvB,EAAwB,mBAC5B,YAAahY,EAASA,EAAM4M,QAAqB+gC,GAD5C/gC,EAAO,KAAEkhC,EAAU,KAGpB,EAA0B,mBAC9B,aAAc9tC,EAASA,EAAM+tC,SAAsBH,GAD9CG,EAAQ,KAAEC,EAAW,KA8F5B,OALA,qBAAU,WACR,YAAahuC,GAAS8tC,EAAW9tC,EAAM4M,SACvC,aAAc5M,GAASguC,EAAYhuC,EAAM+tC,YACxC,CAAC/tC,IAGF,4BAAQiH,EAAU,CAAEgnC,aAAa,MAAM3/B,UAAW6C,IA5DnC,WACf,IAAM6L,EAAQne,KAAKsxB,KAAK0d,EAAQE,GAC1BlqB,EAA0B,CAC9B,CAAEzU,KAAM,OAAQuX,MAAO,IAAK3O,SAAUA,GAAwB,IAAZpL,IAE9CshC,EAAYlxB,GAAS,EAAIA,EAAQ,EACnCmxB,EAAM,EACNC,EAAQ,EAOZ,IANIxhC,EAAU,GAAKoQ,EAAQ,GACzB6G,EAAMnmB,KAAK,CAAEsa,SAAQ,EAAE5I,KAAM,OAAQuX,MAAO,MAE1C/Z,EAAU,GAAKoQ,EAAQ,GACzB6G,EAAMnmB,KAAK,CAAEsa,SAAQ,EAAE5I,KAAM,YAAauX,MAAO,QAE5CwnB,EAAMD,GAAW,CAElBthC,EAAU,GAAKoQ,EAAQ,IACzBoxB,EAAQxhC,EAAU,GAEpB,IAAI+Z,GAJJwnB,GAAO,GAIWC,EACdpxB,EAAQpQ,GAAY,GAAKoQ,EAAQ,IACnC2J,GAAS,GAEP3J,EAAQpQ,GAAY,GAAKoQ,EAAQ,IACnC2J,GAAS,GAEPA,GAAS3J,GACX6G,EAAMnmB,KAAK,CAAEsa,SAAQ,EAAE5I,KAAM,OAAQuX,MAAO,GAAGA,EAASla,OAAQG,IAAY+Z,IAUhF,OAPI/Z,EAAU,EAAIoQ,GAASA,EAAQ,GACjC6G,EAAMnmB,KAAK,CAAEsa,SAAQ,EAAE5I,KAAM,YAAauX,MAAO,QAE/C/Z,EAAU,EAAIoQ,GAASA,EAAQ,GACjC6G,EAAMnmB,KAAK,CAAEsa,SAAQ,EAAE5I,KAAM,OAAQuX,MAAO,GAAG3J,IAEjD6G,EAAMnmB,KAAK,CAAE0R,KAAM,OAAQuX,MAAO,IAAK3O,SAAUA,GAAYpL,IAAYoQ,IAClE6G,EAwBJwqB,GAAWl3B,KAAI,SAACsP,EAAMhL,G,MACbhP,EAA2Bga,EAAI,OAAvBzO,EAAmByO,EAAI,SAAbrX,EAASqX,EAAI,KACjCtV,EAAM,IAAc7K,EAAS,WAAQ,MACrCA,EAAS,iBAAkBmG,EAC/B,EAAInG,EAAS,mBAAoB0R,EACjC,EAAI1R,EAAS,mBAA6B,cAAT8I,GAAiC,cAATA,E,IAE3D,OACE,wBAAI1S,IAAK+e,EAAKnN,UAAW6C,EAAK4sB,SAAU,EAAGzsB,QAAS,WAAY,OApGpD,SAACmV,GAEnB,IAAIA,EAAKha,SAAUga,EAAKzO,SAAxB,CAIA,IAAMgF,EAAQne,KAAKsxB,KAAK0d,EAAQE,GAC5BO,EAAO,EACO,SAAd7nB,EAAKrX,OACPk/B,EAAO1I,OAAOnf,EAAKE,QAEH,SAAdF,EAAKrX,OACPk/B,EAAO1hC,EAAU,EAAI,EAAIA,EAAU,EAAI,GAEvB,SAAd6Z,EAAKrX,OACPk/B,EAAO1hC,EAAU,GAAKoQ,EAAQpQ,EAAU,EAAIoQ,GAE5B,cAAdyJ,EAAKrX,MAAsC,cAAdqX,EAAKrX,QACpCk/B,EAAqB,cAAd7nB,EAAKrX,KAAuBxC,EAAU,EAAIA,EAAU,GAChDoQ,IACTsxB,EAAOtxB,GAELsxB,EAAO,IACTA,EAAO,MAIT,YAAatuC,IAAU8tC,EAAWQ,GACpCp7B,GAAYA,EAASo7B,EAAMT,EAAOE,IAwEoC7uB,CAAYuH,KA7BjE,SAACA,GACV,IAAArX,EAAgBqX,EAAI,KAAdE,EAAUF,EAAI,MAC5B,OAAQrX,GACN,IAAK,OACH,OAAO,kBAACtI,EAAS,CAACC,KAAM,GAAIuH,UAAchI,EAAS,iBAErD,IAAK,OACH,OAAO,kBAACQ,EAAS,CAACC,KAAM,GAAIuH,UAAchI,EAAS,kBAErD,QACE,OAAOqgB,GAoBF4nB,CAAW9nB,SCrIlB+nB,GAAa,SAACxuC,GAEhB,MAYEA,EAAK,UAZP2rB,OAAS,IAAG,QAAK,EACjB,EAWE3rB,EAAK,YAXP2sC,OAAW,IAAG,QAAK,EACnB,EAUE3sC,EAAK,WAVP4sC,OAAU,IAAG,OAAI,EACjBzoC,EASEnE,EAAK,MARPyQ,EAQEzQ,EAAK,KAPP8sC,EAOE9sC,EAAK,UANP+sC,EAME/sC,EAAK,SALP07B,EAKE17B,EAAK,gBAJPsO,EAIEtO,EAAK,UAHPmN,EAGEnN,EAAK,SAFI6G,EAET7G,EAAK,UADJiH,EAAU,EACXjH,EAbE,qIAcAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,cAAewK,EAAc5K,UAAWO,GACjEsK,EAAM,IAAW7K,EAAWgI,GAC5B,EAAwB,oBAAS,GAAhCwN,EAAO,KAAEC,EAAU,KAEpB0yB,EAAgB,SAACtvC,GACrB4c,GAAW,GACXgxB,GAAYA,EAAS5tC,IAGjBuvC,EAAiB,SAACvvC,GACtB4c,GAAW,GACX+wB,GAAaA,EAAU3tC,IAsBzB,OACE,kBAAC,GAAO,KACF8H,EAAU,CACdqH,UAAW6C,EACXE,KAAK,cACLyK,QAASA,EACT4f,gBAAiB,SAACriB,GAChB0C,EAAW1C,GACXqiB,GAAmBA,EAAgBriB,IAErCoiB,QA3BA,yBAAKntB,UAAchI,EAAS,aAC1B,yBAAKgI,UAAchI,EAAS,cACzBmK,GAAc,kBAAChJ,EAAa,CAACV,KAAM,KACpC,0BAAMuH,UAAchI,EAAS,WAAYnC,IAE3C,yBAAKmK,UAAchI,EAAS,aAC1B,kBAAC,GAAM,CAACS,KAAK,KAAKuK,QAASm9B,GACxB7B,GAEH,kBAAC,GAAM,CAAC7lC,KAAK,KAAK6W,QAAQ,UAAUtM,QAASo9B,GAC1C/B,KAkBPhhB,UAAWA,IACVxe,IAKPqhC,GAAWj+B,YAAc,aAEV,UCxEFo+B,GAAqB,CAAC,UAAW,OAAQ,QAAS,SAAU,OCCnEC,GAAS,SAAC5uC,G,MAEZ,EAYEA,EAAK,QAZP6uC,OAAO,IAAG,IAAC,EACX,EAWE7uC,EAAK,YAXP8+B,OAAW,IAAG,IAAC,EACf,EAUE9+B,EAAK,MAVPkH,OAAK,IAAG,MAAG,EACX,EASElH,EAAK,cATP8uC,OAAa,IAAG,UAAO,EACvB,EAQE9uC,EAAK,YARP+uC,OAAW,IAAG,YAAS,EACvB,EAOE/uC,EAAK,QAPPq/B,OAAO,IAAG,GAAK,EACJx4B,EAMT7G,EAAK,UALPgvC,EAKEhvC,EAAK,OAJPsO,EAIEtO,EAAK,UAHP8Q,EAGE9Q,EAAK,MAFPib,EAEEjb,EAAK,UADJiH,EAAU,EACXjH,EAbE,gIAcAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,kBAAmBwK,EAAc5K,UAAWO,GACrEsK,EAAM,IAAW7K,EAAWgI,GAC9B2gC,EAAqBJ,EAAU,IAAM,IAAMA,EAC/CI,EAAaA,EAAa,EAAI,EAAIA,EAElC,IAeQC,EAKAC,EApBFC,EAAc,IAAc9oC,EAAS,WAAQ,MAC7CA,EAAS,UAAUyoC,GAAgBJ,GAAmB93B,SAASk4B,G,IAG/DM,EAAsB,WAC1B,OAASvQ,EAAc53B,EAAS,KAAKooC,QAAQ,IAGzCC,EAAY,WAChB,IAAML,EAAiB,GAAK9D,WAAWiE,KAAyB,EAChE,MAAO,gBAAgBH,EAAM,MAAMA,EAAM,IAAIA,EAAM,sBAC3B,EAATA,EAAU,MAAMA,EAAM,IAAIA,EAAM,aAAsB,EAATA,GAyB9D,OACE,6BACMjoC,EAAU,CACdqH,UAAW6C,EACXL,MAAK,GAAI5J,MAAK,EAAEC,OAAQD,GAAU4J,GAAK,gBACxB,IAAG,gBACH,EAAC,gBACDm+B,IACf,yBAAK7nC,QAAQ,cAAcF,MAAOA,EAAOC,OAAQD,GAC/C,0BAAMoH,UAAchI,EAAS,OAAQ7K,EAAG8zC,IAAazQ,YAAauQ,MAClE,0BACE/gC,UAAW8gC,EACX3zC,EAAG8zC,IACHT,cAAeA,EACfhQ,YAAauQ,IACbv+B,OApCAo+B,EAAiB,GAAK9D,WAAWiE,KAAyB,EAK1DF,EAJC,EAAItwC,KAAK2wC,GAAKN,EAMd,CACLO,gBAAoBN,EAAS,OAAOA,EAAS,KAC7CO,kBAHiBrQ,EAAU4P,EAAa,IAAM,EAAI,EAAIA,EAAa,KAGpCE,EAAY,UAM3C,yBAAK7gC,UAAchI,EAAS,SAAUwK,MAAOmK,GAC1C+zB,EAASA,EAAOH,GAAcI,EAAU,OA4BjDL,GAAOr+B,YAAc,SAEN,UClFTo/B,GAAM,SAAC3vC,G,QAET,EAYEA,EAAK,QAZP6uC,OAAO,IAAG,IAAC,EACX,EAWE7uC,EAAK,SAXP4vC,OAAQ,IAAG,GAAI,EACf,EAUE5vC,EAAK,YAVP8+B,OAAW,IAAG,IAAC,EACf,EASE9+B,EAAK,cATP8uC,OAAa,IAAG,UAAO,EACvB,EAQE9uC,EAAK,YARP+uC,OAAW,IAAG,YAAS,EACvB,EAOE/uC,EAAK,UAPP6vC,OAAS,IAAG,GAAK,EACNhpC,EAMT7G,EAAK,UALPgvC,EAKEhvC,EAAK,OAJP8vC,EAIE9vC,EAAK,eAHPsO,EAGEtO,EAAK,UAFP8Q,EAEE9Q,EAAK,MADJiH,EAAU,EACXjH,EAbE,0IAcFivC,EAAqBJ,EAAU,IAAM,IAAMA,EAC/CI,EAAaA,EAAa,EAAI,EAAIA,EAClC,IAAM/9B,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,eAAgBwK,EAAc5K,UAAWO,GAClEsK,EAAM,IAAW7K,EAAWgI,EAAchI,EAAS,IAAIwoC,GAEvDM,EAAc,IAAc9oC,EAAS,SAAM,MAC3CA,EAAS,QAAQyoC,IAClBpxC,MAAMC,QAAQmxC,IAAgBJ,GAAmB93B,SAASk4B,G,IAGzD7sB,EAAavkB,MAAMC,QAAQmxC,GAC7B,6BAA6BA,EAAYhxC,KAAK,KAAI,IAClD4wC,GAAmB93B,SAASk4B,GAC5B,GACAA,EAEEgB,EAAY,IAAczpC,EAAS,aAAU,MAC7CA,EAAS,YAAYwpC,GAAmBA,E,IA2B9C,OACE,6BACM7oC,EAAU,CACdoK,KAAK,cAAa,gBACH,IAAG,gBACH,EAAC,gBACD49B,EACf3gC,UAAW6C,EACXL,MAAOA,IACP,yBAAKxC,UAAchI,EAAS,UAAWwK,MAAO,CAAE3J,OAAQ23B,IACtD,yBACExwB,UAAW8gC,EACXt+B,MAAO,CACL5J,MAAU+nC,EAAU,IACpB/sB,WAAU,IAEZ,yBAAK5T,UAAWyhC,IA5BlBH,GAAYC,EACPb,EACLA,EAAOC,GAEP,yBAAK3gC,UAAchI,EAAS,eAAgBwK,MAAO,CAAEgK,WAAegkB,EAAW,OAC5EmQ,E,KAIA,OApBHW,IAAaC,EACRb,EACLA,EAAOC,GAEP,0BAAM3gC,UAAchI,EAAS,UAAW2oC,E,KAGrC,OAyCXU,GAAIp/B,YAAc,MAEH,ICrFA,GALE,CACfq+B,OAAM,GACNe,IDwFa,IEpFFK,GAAoB,IAAM3pC,cAAqB,ICFtD4pC,GAAQ,IAAM14B,YAClB,SAACvX,EAAmBiR,G,MAEhB,EASEjR,EAAK,eATPohB,OAAc,IAAG,GAAK,EACtB8uB,EAQElwC,EAAK,SAPPtE,EAOEsE,EAAK,KANP5D,EAME4D,EAAK,MALPkT,EAKElT,EAAK,SAJPsO,EAIEtO,EAAK,UAHPmN,EAGEnN,EAAK,SAFI6G,EAET7G,EAAK,UADJiH,EAAU,EACXjH,EAVE,4FAWAkR,EAAgB,qBAAW9K,GAC3B+pC,EAAoB,qBAAWH,IAC/BxuB,EAAiB,YAAaxhB,EAASA,EAAMyhB,QAAsBL,EACnE,EAAwB,mBAC5B,UAAW+uB,EAAoBA,EAAkB/zC,QAAUA,EAAQolB,GAD9DC,EAAO,KAAEC,EAAU,KAGpBpb,EAAYI,EAAa,QAASwK,EAAc5K,UAAWO,GAC3DmR,EACJ,aAAchY,EACVA,EAAMgY,SACN,aAAcm4B,GACdA,EAAkBn4B,SAElB7G,EAAM,IAAW7K,EAAWgI,IAAS,MACrChI,EAAS,YAAamb,EAC1B,EAAInb,EAAS,aAAc0R,E,IAgB7B,OALA,qBAAU,WACR,UAAWm4B,GAAqBzuB,EAAWtlB,IAAU+zC,EAAkB/zC,OACvE,YAAa4D,GAAS0hB,EAAW1hB,EAAMyhB,WACtC,CAACzhB,EAAOmwC,EAAmB/zC,IAG5B,+BAAW6K,EAAU,CAAEgK,IAAKA,EAAK3C,UAAW6C,IAC1C,2BACEF,IAAKi/B,EACL7+B,KAAK,QAAO,eACEoQ,EACd/lB,KAAMy0C,EAAkBz0C,MAAQA,EAChCsc,SAAUA,EACV5b,MAAOA,EACPkS,UAAchI,EAAS,WACvB8I,KAAK,QACLqS,QAASA,EACTvO,SAzBgB,SAAC/T,GAChB6Y,MACD,YAAahY,IAAU0hB,EAAWviB,EAAEma,cAAcmI,SACpDvO,GAAYA,EAAS/T,GACrBgxC,EAAkBj9B,UAAYi9B,EAAkBj9B,SAAS/T,OAuBzD,0BAAMmP,UAAchI,EAAS,YAC7B,8BAAO6G,OAMf8iC,GAAM1/B,YAAc,QAEL,UCnET6/B,GAAa,IAAM74B,YACvB,SAACvX,EAAwBiR,GAErB,MAQEjR,EAAK,aARPkY,OAAY,IAAG,KAAE,EACjB,EAOElY,EAAK,SAPPgY,OAAQ,IAAG,GAAK,EAChBtc,EAMEsE,EAAK,KALPkT,EAKElT,EAAK,SAJPsO,EAIEtO,EAAK,UAHPmN,EAGEnN,EAAK,SAFI6G,EAET7G,EAAK,UADJiH,EAAU,EACXjH,EATE,kFAUAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,cAAewK,EAAc5K,UAAWO,GACjEsK,EAAM,IAAW7K,EAAWgI,GAC5B,EAAoB,mBACxB,UAAWtO,EAASA,EAAM5D,MAA4B8b,GADjD9b,EAAK,KAAEqc,EAAQ,KAgBtB,OAJA,qBAAU,WACR,UAAWzY,GAASyY,EAASzY,EAAM5D,SAClC,CAAC4D,IAGF,kBAACgwC,GAAkBziC,SAAQ,CACzBnR,MAAO,CACLV,KAAI,EACJsc,SAAQ,EACR5b,MAAK,EACL8W,SAlBgB,SAAC/T,GACrB,IAAK6Y,EAAU,CACb,IAAMqB,EAAMla,EAAEma,cAAcld,QAC1B,UAAW4D,IAAUyY,EAASY,GAChCnG,GAAYA,EAASmG,OAgBrB,6BAASpS,EAAU,CAAEgK,IAAKA,EAAKI,KAAK,aAAa/C,UAAW6C,IACzDhE,OAOXijC,GAAW7/B,YAAc,aAEV,UCjDT8/B,GAAe,GACrBA,GAAaz0B,MAAQ,GAEN,UCGT00B,GAAW,SAACtwC,GACR,IAAAuwC,EAA2EvwC,EAAK,KAA1EgH,EAAqEhH,EAAK,MAAnE5D,EAA8D4D,EAAK,MAA5DwwC,EAAuDxwC,EAAK,UAAjDsG,EAA4CtG,EAAK,UAAtC+gB,EAAiC/gB,EAAK,MAA/Bq9B,EAA0Br9B,EAAK,aAAjBsR,EAAYtR,EAAK,QAClFywC,EAAW,SAACnC,EAAcxvC,GAE9B,OADYyxC,EAAOjC,EAAOzvC,KAAKO,MAAMkvC,KACvBxvC,EAAMkI,EAAQ,WAG9B,OACE,wBAAIsH,UAAchI,EAAS,SAAUgL,QAASA,GAC5C,yBACER,MAAO,CAAE9J,MAAOypC,EAAS1vB,EAAQ,GAAK3kB,IACtCkS,UAAchI,EAAS,eACvB+2B,aAAc,WAAY,OAAAA,EAAatc,EAAQ,MAC9CyvB,GAEH,yBACE1/B,MAAO,CAAE9J,MAAOypC,EAAS1vB,EAAO3kB,IAChCkS,UAAchI,EAAS,gBACvB+2B,aAAc,WAAY,OAAAA,EAAatc,KACtCyvB,KAMTF,GAAS//B,YAAc,WAER,UChCTmgC,GAAO,IAAMn5B,YACjB,SAACvX,EAAkBiR,GAEf,MAYEjR,EAAK,MAZPgH,OAAK,IAAG,YAAS,EACjB,EAWEhH,EAAK,UAXPwwC,OAAS,IAAG,oBAAC,GAAI,CAAC90C,KAAK,YAAYqL,KAAM,KAAM,EAC/C,EAUE/G,EAAK,UAVPiY,OAAS,IAAG,GAAI,EAChB,EASEjY,EAAK,KATPuwC,OAAI,IAAG,GAAK,EACZ,EAQEvwC,EAAK,MARPgd,OAAK,IAAG,IAAC,EACT,EAOEhd,EAAK,aAPPkY,OAAY,IAAG,IAAC,EAChB,EAMElY,EAAK,SANPgY,OAAQ,IAAG,GAAK,EAChB9E,EAKElT,EAAK,SAJPsO,EAIEtO,EAAK,UAHP8Q,EAGE9Q,EAAK,MAFI6G,EAET7G,EAAK,UADJiH,EAAU,EACXjH,EAbE,uHAcAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,OAAQwK,EAAc5K,UAAWO,GAC1DsK,EAAM,IAAW7K,EAAWgI,GAC5B,EAAoB,mBACxB,UAAWtO,EAASA,EAAM5D,MAAmB8b,GADxC9b,EAAK,KAAEqc,EAAQ,KAIhB,EAA0B,mBAC9B,UAAWzY,EAASA,EAAM5D,MAAmB8b,GADxCy4B,EAAQ,KAAEC,EAAW,KAQtBvT,EAAe,SAACtc,IACnB/I,GAAY44B,EAAY7vB,IAGrBzP,EAAU,WACd,IAAK0G,GAAYC,EAAW,CAC1B,IAAMoB,EAAMs3B,IAAav0C,EAAQ,EAAIu0C,EACrCC,EAAYv3B,KACV,UAAWrZ,IAAUyY,EAASY,GAChCnG,GAAYA,EAASmG,SAEnB,UAAWrZ,IAAUyY,EAASk4B,GAChCz9B,GAAYA,EAASy9B,IAezB,OAJA,qBAAU,WACR,UAAW3wC,GAASyY,EAASzY,EAAM5D,SAClC,CAAC4D,IAGF,4BAAQiH,EAAU,CAAEgK,IAAKA,EAAK3C,UAAW6C,EAAKL,MAAOA,EAAOwsB,aATzC,WACnBsT,EAAYx0C,MASTuB,MAAMqf,GACJ3V,KAAK,GACL8P,KAAI,SAACgI,EAAG1D,GAAQ,OACf,kBAAC,GAAQ,CACP/e,IAAK+e,EACLsF,MAAOtF,EAAM,EACb80B,KAAMA,EACNC,UAAWA,EACXlqC,UAAWA,EACX+2B,aAAcA,EACd/rB,QAASA,EACTlV,MAAOm0C,EAAOI,EAAW9xC,KAAKO,MAAMuxC,GACpC3pC,MAAOA,WAQrB0pC,GAAKngC,YAAc,OAEJ,UC7ETsgC,GAAS,IAAMt5B,YAAwC,SAACvX,EAAoBiR,GAE9E,MASEjR,EAAK,OATP+J,OAAM,IAAG,SAAM,EACJlD,EAQT7G,EAAK,UAPPmE,EAOEnE,EAAK,MANP8wC,EAME9wC,EAAK,SALPyQ,EAKEzQ,EAAK,KAJPqe,EAIEre,EAAK,MAHPsO,EAGEtO,EAAK,UAFPmN,EAEEnN,EAAK,SADJiH,EAAU,EACXjH,EAVE,iFAWAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,SAAUwK,EAAc5K,UAAWO,GAC5DsK,EAAM,IAAW7K,EAAWgI,EAAchI,EAAS,IAAIyD,GAwB7D,OACE,6BAAS9C,EAAU,CAAEgK,IAAKA,EAAK3C,UAAW6C,IACxC,yBAAK7C,UAAchI,EAAS,oBAxBb,WACjB,GAAI,IAAMqY,eAAelO,GACvB,OAAOA,EAGP,OAAQ1G,GACN,IAAK,UACH,OAAO,kBAACxC,EAAW,CAACR,KAHP,KAIf,IAAK,OACH,OAAO,kBAACW,EAAU,CAACX,KALN,KAMf,IAAK,UACH,OAAO,kBAACU,EAAa,CAACV,KAPT,KAQf,IAAK,QACH,OAAO,kBAACS,EAAW,CAACT,KATP,KAUf,IAAK,UACH,OAAO,kBAACY,EAAa,CAACZ,KAXT,GAWyBuH,UAAchI,EAAS,WAInE,OAAO,KAK4CuL,IAChD1N,GAAS,yBAAKmK,UAAchI,EAAS,WAAYnC,GACjD2sC,GAAY,yBAAKxiC,UAAchI,EAAS,cAAewqC,GACvDzyB,GAAS,yBAAK/P,UAAchI,EAAS,WAAY+X,GACjDlR,GAAY,yBAAKmB,UAAchI,EAAS,aAAc6G,OAK7D0jC,GAAOtgC,YAAc,SAEN,UCxDf,IAAMwgC,GAAkB,SAAC/wC,G,MACJ6G,EAAyE7G,EAAK,UAA/D,EAA0DA,EAAK,MAA/DgxC,OAAK,IAAG,GAAI,EAAE9oC,EAA4ClI,EAAK,OAAzCsO,EAAoCtO,EAAK,UAA9B8Q,EAAyB9Q,EAAK,MAApBiH,EAAU,EAAKjH,EAAtF,oDACAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,mBAAoBwK,EAAc5K,UAAWO,GACtEsK,EAAM,IAAW7K,EAAWgI,IAAS,MACrChI,EAAS,UAAW0qC,E,IAEpB,EAAoB,mBAAS,MAA5B9pC,EAAK,KAAE+Y,EAAQ,KAwBtB,OCpC8B,SAC9BgxB,EACAtkC,EACAzE,QAAA,IAAAA,MAAA,QAEA,IAAMgpC,EAAe,mBAErB,qBAAU,WACRA,EAAatkC,QAAUD,IACtB,CAACA,IAEJ,qBAAU,WAER,GADoBzE,GAAUA,EAAO4M,iBACrC,CAEA,IAAMq8B,EAAgB,SAACzkC,GACrB,OAAAwkC,EAAatkC,SAAWskC,EAAatkC,QAAQF,IAE/C,OADAxE,EAAO4M,iBAAiBm8B,EAAWE,GAC5B,WACLjpC,EAAO6M,oBAAoBk8B,EAAWE,OAEvC,CAACF,EAAW/oC,IDafkpC,CAAiB,SApBI,uBACnB,SAACjyC,GACC,I1K6B8BmC,E0K7B1B2R,EAAY9T,EAAE+I,OAMlB,GAHI+K,KAAe/K,GAAUA,OAC3B+K,EAAYpY,QAEVoY,EAAW,CACb,IAAMyD,EAAKzD,EACLrD,EAAYmC,EAAU2E,GAAI,GAC1BvP,I1KoBsB7F,E0KpBOoV,G1KyBrCpV,IAASzG,OACJA,OAAO2X,SAASC,gBAAgB6R,aAEjChjB,EAAqBgjB,aANpB,G0KtBsC1R,EAAc8D,GAEvDuJ,EADkBrQ,EAAYzI,EAAU,IACpB,QAGxB,CAACe,IAGaA,GAAUA,IAAWA,IAAqBrN,QAGnD,6BAASoM,EAAU,CAAEqH,UAAW6C,EAAKL,MAAK,OAAOA,GAAK,CAAE5J,MAAK,QAGtE6pC,GAAgBxgC,YAAc,kBAEf,UEpCF8gC,GAAgB,IAAMhrC,cAAqB,CAAEjK,MAAO,GAAI4d,SAAU,eCGzEs3B,GAAS,SAACtxC,G,MFgBgBkI,EAAqByE,EEdjD,EAYE3M,EAAK,YAZPuxC,OAAW,IAAG,GAAK,EACnB,EAWEvxC,EAAK,SAXPgY,OAAQ,IAAG,GAAK,EAChB,EAUEhY,EAAK,aAVPkY,OAAY,IAAG,KAAE,EACNrR,EAST7G,EAAK,UARP5D,EAQE4D,EAAK,MAPPwxC,EAOExxC,EAAK,wBANPykC,EAMEzkC,EAAK,YALPsO,EAKEtO,EAAK,UAJPmN,EAIEnN,EAAK,SAHPyxC,EAGEzxC,EAAK,cAFPga,EAEEha,EAAK,SADJiH,EAAU,EACXjH,EAbE,yJAcA,EAAsC,mBAAS,SAAUA,EAAQA,EAAM0tC,KAAO6D,GAA7EG,EAAc,KAAEC,EAAiB,KAClC,EAA4B,mBAAS,UAAW3xC,EAAQ5D,EAAQ8b,GAA/D05B,EAAS,KAAEC,EAAY,KACxB5gC,EAAM,iBAA8B,MACpCC,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,SAAUwK,EAAc5K,UAAWO,GAC5DsK,EAAM,IAAW7K,EAAWgI,GAC5BkX,EAAW,IAAclf,EAAS,YAAS,MAC3CA,EAAS,mBAAoBorC,E,IFNLxpC,EEQd+I,EAAIrE,QFR+BD,EEQJ,WACvC,SAAU3M,IACd2xC,GAAkB,GAClBH,GAA2BA,GAAwB,KFVvD,qBAAU,WACR,IAAMlQ,EAAW,SAAC50B,GACXxE,IAAUA,EAAO4H,SAASpD,EAAMxE,SAGrCyE,EAAQD,IAGV,OADA8F,SAASsC,iBAAiB,QAASwsB,GAC5B,WACL9uB,SAASuC,oBAAoB,QAASusB,MAEvC,CAACp5B,EAAQyE,IEGZ,IAQM+8B,EAAe,CACnBttC,MAAOw1C,EACP53B,SAAU,SAAC5d,GACTy1C,EAAaz1C,GACbu1C,GAAkB,GAClB33B,GAAYA,EAAS5d,KAIzB,qBAAU,WACR,SAAU4D,GAAS2xC,EAAkB3xC,EAAM0tC,QAC1C,CAAC1tC,IAqBJ,OACE,6BAASiH,EAAU,CAAEgK,IAAKA,EAAK3C,UAAW6C,IACxC,kBAAC,GAAK,CACJ8pB,QAAQ,SACRtP,UAAU,SACV0J,OAAO,EACPvZ,QAAS41B,EACTjW,QAzBJ,kBAAC4V,GAAc9jC,SAAQ,CAACnR,MAAOstC,GAC7B,wBAAIp7B,UAAchI,EAAS,aAAcwK,MAAO2gC,GAC7C,IAAMhkC,SAAS0J,IAAIhK,GAAU,SAACiK,GAC7B,IAAMC,EAAeD,EACb7G,EAAgB8G,EAAajI,KAAI,YACzC,MAAoB,iBAAhBmB,GAAkD,mBAAhBA,EAC7B,IAAM/C,aAAa6J,EAAcA,EAAarX,QAErD8Z,QAAQ6vB,KACN,qFAEK,YAeX,kBAAC,GAAK,CACJvtC,MAAOuB,MAAMC,QAAQg0C,GAAaA,EAAU,GAAKA,EACjD55B,SAAUA,EACVysB,YAAaA,EACbnzB,QApDa,SAACnS,GACpBA,EAAEuY,iBACI,SAAU1X,IACd2xC,GAAkB,GAClBH,GAA2BA,GAAwB,KAiD/CrzC,OACE,0BAAMmQ,UAAWkX,GACf,kBAAC1e,EAAS,CAACC,KAAM,WAS/BuqC,GAAO/gC,YAAc,SAEN,UCrGTuhC,GAAe,SAAC9xC,G,MAElB,EAMEA,EAAK,SANPgY,OAAQ,IAAG,GAAK,EACLnR,EAKT7G,EAAK,UAJP5D,EAIE4D,EAAK,MAHPsO,EAGEtO,EAAK,UAFPmN,EAEEnN,EAAK,SADJiH,EAAU,EACXjH,EAPE,yDAQAoJ,EAAU,qBAAWioC,IACrBU,EAAW3oC,EAAQhN,QAAUA,EAC7B,EAAsB,oBAAS,GAA9BqQ,EAAM,KAAEulC,EAAS,KAClB9gC,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,gBAAiBwK,EAAc5K,UAAWO,GACnEsK,EAAM,IAAW7K,EAAWgI,IAAS,MACrChI,EAAS,aAAcyrC,EAC3B,EAAIzrC,EAAS,WAAYmG,EACzB,EAAInG,EAAS,aAAc0R,E,IAe7B,OACE,4BACM/Q,EAAU,CACdvK,IAAKN,EACLkS,UAAW6C,EACXG,QATY,YACb0G,GAAY5O,EAAQ4Q,SAAS5d,IAS5BihC,aAlBiB,WACnB2U,GAAU,IAkBR1U,aAfiB,WACnB0U,GAAU,IAckB,gBACXD,EAAQ,gBACR/5B,IACd7K,IAKP2kC,GAAavhC,YAAc,eAEZ,UClDT0hC,GAAiB,SAACjyC,GACd,IAAW6G,EAA6D7G,EAAK,UAAnD2mB,EAA8C3mB,EAAK,MAA5CsO,EAAuCtO,EAAK,UAAjCmN,EAA4BnN,EAAK,SAApBiH,EAAU,EAAKjH,EAA1E,8CACAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,eAAgBwK,EAAc5K,UAAWO,GAClEsK,EAAM,IAAW7K,EAAWgI,GAElC,OACE,4BAAQrH,EAAU,CAAEvK,IAAKiqB,EAAOrY,UAAW6C,IACzC,yBAAK7C,UAAchI,EAAS,WAAYqgB,GACxC,wBAAIrY,UAAchI,EAAS,UACxB,IAAMmH,SAAS0J,IAAIhK,GAAU,SAACiK,GAC7B,IAAMC,EAAeD,EACrB,GAAsC,iBAAlCC,EAAajI,KAAKmB,YAAgC,CACpD,IAAMnD,EAAa,KACdiK,EAAarX,OAElB,OAAO,IAAMwN,aAAa6J,EAAcjK,GAKxC,OAHA0M,QAAQ6vB,KACN,qFAEK,WAQnBsI,GAAe1hC,YAAc,iBAEd,UC5BT,GAAgB,GACtB,GAAcg8B,OAAS,GACvB,GAAcC,SAAW,GAEV,UCPT0F,GAAW,IAAM36B,YACrB,SAACvX,EAAsBiR,G,MAEnB,EAMEjR,EAAK,OANPyM,OAAM,IAAG,GAAK,EACd,EAKEzM,EAAK,QALPmyC,OAAO,IAAG,GAAK,EACf7jC,EAIEtO,EAAK,UAHPmN,EAGEnN,EAAK,SAFI6G,EAET7G,EAAK,UADJiH,EAAU,EACXjH,EAPE,yDAQAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,WAAYwK,EAAc5K,UAAWO,GAC9DsK,EAAM,IAAW7K,EAAWgI,IAAS,MACrChI,EAAS,WAAY4K,EAAc1K,SAAWiG,EAClD,EAAInG,EAAS,YAAa6rC,E,IAG5B,OACE,2BAAKlhC,IAAKA,GAAShK,EAAU,CAAEqH,UAAW6C,IACvChE,MAMT+kC,GAAS3hC,YAAc,WAER,UC1BT6hC,GAAU,SAACpyC,GAEb,MAMEA,EAAK,QANPi7B,OAAO,IAAG,UAAO,EACNp0B,EAKT7G,EAAK,UAJPmE,EAIEnE,EAAK,MAHPsO,EAGEtO,EAAK,UAFPmN,EAEEnN,EAAK,SADJiH,EAAU,EACXjH,EAPE,wDAQAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,UAAWwK,EAAc5K,UAAWO,GAC7DsK,EAAM,IAAW7K,EAAWgI,GAQlC,OACE,kBAAC,GAAK,KAAKrH,EAAU,CAAEqH,UAAW6C,EAAKiqB,MAAM,OAAOH,QAASA,EAASQ,QANtE,yBAAKpqB,KAAK,UAAU/C,UAAchI,EAAS,WACxCnC,KAMAgJ,IAKPilC,GAAQ7hC,YAAc,UAEP,UC5BT8hC,GAAS,IAAM96B,YACnB,SAACvX,EAAoBiR,G,UAEjB,EAkBEjR,EAAK,aAlBPkY,OAAY,IAAG,IAAC,EAChB,EAiBElY,EAAK,IAjBPimB,OAAG,IAAG,IAAC,EACP,EAgBEjmB,EAAK,IAhBPlB,OAAG,IAAG,MAAG,EACT,EAeEkB,EAAK,UAfPuyB,OAAS,IAAG,eAAY,EACxB,EAcEvyB,EAAK,KAdPwf,OAAI,IAAG,GAAK,EACZ,EAaExf,EAAK,KAbPuc,OAAI,IAAG,IAAC,EACR,EAYEvc,EAAK,SAZPgY,OAAQ,IAAG,GAAK,EAChB,EAWEhY,EAAK,MAXPsyC,OAAK,IAAG,GAAI,EACZ,EAUEtyC,EAAK,iBAVPuyC,OAAgB,IAAG,QAAK,EACxBC,EASExyC,EAAK,eARPyyC,EAQEzyC,EAAK,aAPP0yC,EAOE1yC,EAAK,MANPkT,EAMElT,EAAK,SALPsR,EAKEtR,EAAK,QAJP2yC,EAIE3yC,EAAK,cAHPsO,EAGEtO,EAAK,UAFI6G,EAET7G,EAAK,UADJiH,EAAU,EACXjH,EAnBE,mMAoBAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,SAAUwK,EAAc5K,UAAWO,GAC5DsK,EAAM,IAAW7K,EAAWgI,EAAchI,EAAS,IAAIisB,IAAW,MAClEjsB,EAAS,eAAgBosC,EAC7B,EAAIpsC,EAAS,aAAc0R,E,IAEvB,EAAkC,mBACrC,UAAWhY,EACRrC,MAAMC,QAAQoC,EAAM5D,OAClB4D,EAAM5D,MACN,CAAC4D,EAAM5D,OACTuB,MAAMC,QAAQsa,GACdA,EACA,CAACA,IAPA06B,EAAY,KAAEC,EAAe,KAS9B,EAA4B,oBAAS,GAApCC,EAAU,KAAEC,EAAW,KACxBC,EAAU,iBAA8B,MACxCC,EAAW,iBAA8B,MACzCC,EAAW,iBAAO,GAClBC,EAAa,kBAAO,GACpBC,EAAgB,iBAAO,GACvBC,GAAgB,iBAAO,GACvBC,GAAU,iBAAO,GACjBthC,GAA2B,aAAdugB,EACbghB,GAAWP,EAAQpmC,QACnB4mC,GAAYP,EAASrmC,QAErB6mC,GAAoB,SAACr3C,GACzB,OAAwB,KAAfA,EAAQ6pB,IAAennB,EAAMmnB,IAoDlCytB,GAAiB,SAACt3C,KACpB,UAAW4D,IAAU6yC,EAAgB,EAAIz2C,IAC3C8W,GACEA,EAAiC,IAAxB0/B,EAAar1C,OAAeq1C,EAAa,GAAK,CAACA,EAAa,GAAIA,EAAa,MAGpFe,GAAkB,SAACzsC,GACvB,IAAM0sC,GAAc90C,EAAMmnB,GAAO1J,EAC7BsyB,EAAU,EACV0E,KACF1E,EAAW3nC,EAAQqsC,GAASvhC,GAAa,eAAiB,eAAkB,KAG1E68B,GAAW,IACbA,EAAU,GAERA,GAAW,MACbA,EAAU,KAIZ,IAAMV,EAAMyF,GAAc/E,EAAU,KAAO,GACrCx1B,EAAMxa,KAAK0nB,MAAM4nB,GAAO5xB,EAAO0J,EACrC,OAAOjU,GAAa,IAAMqH,EAAMA,GAiB5Bw6B,GAAwB,SAAC10C,GAC7B,GAAKg0C,EAAWvmC,QAAhB,CAGA,IAAMknC,EAAYH,GAChBx0C,EAAE6S,GAAa,UAAY,WAAaohC,EAAcxmC,QAAUymC,GAAczmC,SAE1EyM,EAAMu5B,EACRkB,IAAcR,GAAQ1mC,UACxByM,EAAI65B,EAAStmC,SAAWknC,EAExBJ,GAAer6B,GACfi6B,GAAQ1mC,QAAUknC,KAIhBC,GAAuB,WAC3BZ,EAAWvmC,SAAU,EACrB/R,OAAOka,oBAAoB,YAAa8+B,IACxCh5C,OAAOka,oBAAoB,UAAWg/B,IACtCpB,GACEA,EAC0B,IAAxBC,EAAar1C,OAAeq1C,EAAa,GAAK,CAACA,EAAa,GAAIA,EAAa,MAuD7EoB,GAAc,SAACC,GACnB,GAA4B,IAAxBrB,EAAar1C,OACf,OAAO02C,EAASrB,EAAa,GAEvB,MACJA,EAAa,GAAKA,EAAa,GAC3B,CAACA,EAAa,GAAIA,EAAa,IAC/B,CAACA,EAAa,GAAIA,EAAa,IACrC,OAAOqB,EAJW,MAIOA,EAJd,MAaTC,GAA0B,WAC9BnB,GAAY,IAcd,qBAAU,WACR,UAAW/yC,GAAS6yC,EAAgBD,KACnC,CAAC5yC,EAAO4yC,IAEX,IAAMuB,GA1MsB,WAC1B,IAAMA,EAAkC,CAAE9hC,KAAM,KAAME,MAAO,QAC7D,GAA4B,IAAxBqgC,EAAar1C,OACf42C,EAAW5hC,MAAW,IAAMkhC,GAAkBb,EAAa,IAAG,QACzD,CACL,IAAMwB,EAAYxB,EAAa,GAAKA,EAAa,GAAKA,EAAa,GAAKA,EAAa,GAC/EyB,EAAazB,EAAa,GAAKA,EAAa,GAAKA,EAAa,GAAKA,EAAa,GACtFuB,EAAW9hC,KAAUohC,GAAkBW,GAAU,IACjDD,EAAW5hC,MAAW,IAAMkhC,GAAkBY,GAAW,IAE3D,OAAOF,EAgMUG,GACnB,OACE,2BAAKrjC,IAAKA,GAAShK,EAAU,CAAEqH,UAAW6C,EAAKG,QAjI3B,SAACnS,GACrB,IAAIg0C,EAAWvmC,UAAWoL,EAA1B,CAGA,GAAIu7B,GAAU,CACZ,IAAMgB,EAAahB,GAASphC,wBACtB/V,EAAQu3C,GACZx0C,EAAE6S,GAAa,UAAY,WAAauiC,EAAWviC,GAAa,IAAM,MAExE0hC,GAvEkB,SAACr6B,GACrB,GAA4B,IAAxBu5B,EAAar1C,OACf,MAAO,CAAC8b,GAGV,IAoBQk3B,EApBFxQ,EAAS6S,EACT4B,EAAOzU,EAAO,GACd0U,EAAO1U,EAAO,KACfyU,EAAOC,GAAQD,EAAOn7B,GAASm7B,EAAOC,GAAQD,EAAOn7B,KACxD0mB,EAAO,GAAK1mB,IAETm7B,EAAOC,GAAQA,EAAOp7B,GAASm7B,EAAOC,GAAQA,EAAOp7B,KACxD0mB,EAAO,GAAK1mB,GAGVm7B,EAAOn7B,GAAOo7B,EAAOp7B,MACjBk3B,EAAOkE,GAAQD,EAAOC,GAAQ,IACxBp7B,IACV0mB,EAAO,GAAK1mB,GAEVk3B,EAAOl3B,IACT0mB,EAAO,GAAK1mB,IAGZo7B,EAAOp7B,GAAOm7B,EAAOn7B,KACjBk3B,EAAOiE,GAAQC,EAAOD,GAAQ,IACxBn7B,IACV0mB,EAAO,GAAK1mB,GAEVk3B,EAAOl3B,IACT0mB,EAAO,GAAK1mB,IAGhB,OAAO0mB,EAsCU2U,CAAct4C,IAE/BkV,GAAWA,EAAQnS,OAuHjB,yBAAK8R,IAAK+hC,EAAS1kC,UAAchI,EAAS,WAC1C,yBACE2K,IAAKgiC,EACL3kC,UAAW,IAAchI,EAAS,WAAS,KACzC,EAAIA,EAAS,sBAAuBgsC,E,IAEtCxhC,OAAK,KACH,EAACkB,GAAa,SAAW,QAASmiC,GAAW9hC,KAC7C,EAACL,GAAa,MAAQ,SAAUmiC,GAAW5hC,M,KAG9CqgC,EAAaz7B,KAAI,SAAC/a,EAAOqf,G,QAClBozB,EAAU4E,GAAkBr3C,GAClC,OACE,yBACEM,IAAK+e,EACLsiB,SAAU,EACV1sB,KAAK,SAAQ,gBACEvS,EAAG,gBACHmnB,EAAG,gBACH7pB,EAAK,gBACL4b,EACf1J,UAAW,IAAchI,EAAS,qBAAmB,KACnD,EAAIA,EAAS,8BAA+BmV,IAAQy3B,EAAStmC,SAAWkmC,EACxE,EAAIxsC,EAAS,8BACXmV,IAAQy3B,EAAStmC,SAAWumC,EAAWvmC,Q,IAE3CkE,OAAK,GACH+sB,OAAQpiB,IAAQy3B,EAAStmC,UAAYumC,EAAWvmC,SAAWkmC,GAAc,EAAI,EAC7Ez3B,UAAWrJ,GAAa,uBAAyB,yBACjD,EAACA,GAAa,SAAW,QAAY68B,EAAO,I,GAE9CxR,aAAc,WAAY,OA3DJ,SAAC5hB,GAC/By3B,EAAStmC,QAAU6O,EACnBs3B,GAAY,GAyDsB4B,CAAwBl5B,IAClD6hB,aAAc4W,GACdU,YAAa,SAACz1C,GAAY,OAzHL,SAACsc,EAAatc,GAC3C,IAAI6Y,EAAJ,CAOA,GAHAk7B,EAAStmC,QAAU6O,EACnB03B,EAAWvmC,SAAU,EACrBwmC,EAAcxmC,QAAUzN,EAAE6S,GAAa,UAAY,WAC/CwhC,KACFH,GAAczmC,QAAUoF,GAAawhC,GAAUzgC,UAAYygC,GAAU9gC,YAGjEkgC,EAAar1C,OAAS,GAAG,CAC3B,IAAMs3C,EAAcrB,GAAUxhC,GAAa,YAAc,cACzDqhC,GAAczmC,QACH,IAAR6O,GAAam3B,EAAa,GAAKA,EAAa,IACpC,IAARn3B,GAAam3B,EAAa,GAAKA,EAAa,GACzC5gC,GACE6iC,EACAxB,GAAczmC,QAAUioC,EAC1B7iC,GACAwhC,GAAU7gC,aAAekiC,EACzBA,EAIVh6C,OAAOia,iBAAiB,YAAa++B,GAAuB,CAAEiB,SAAS,IACvEj6C,OAAOia,iBAAiB,UAAWi/B,GAAsB,CAAEe,SAAS,KA8FlCC,CAAuBt5B,EAAKtc,KACtD,kBAAC,GAAO,CACN87B,QAAQ,SACRnf,QACE,mBAAoB9b,EAChBwyC,EACA/2B,IAAQy3B,EAAStmC,UAAYumC,EAAWvmC,SAAWkmC,GAEzDzX,WAAW,EACX1P,UAAW4mB,EACXpuC,MAAOsuC,EAAeA,EAAar2C,GAASA,GAC5C,yBAAKkS,UAAchI,EAAS,iBAKnCkZ,GACC,yBAAKlR,UAAchI,EAAS,UAzGjB,WAIf,IAHA,IAAMstC,GAAc90C,EAAMmnB,GAAO1J,EAC3By4B,EAAa,IAAMz4B,GAASzd,EAAMmnB,GAClC2a,EAAM,CAAC,GACJzlC,EAAI,EAAGA,EAAIy4C,EAAYz4C,GAAK,EACnCylC,EAAIljC,KAAKvC,EAAI65C,GAGf,OADApU,EAAIljC,KAAK,KACFkjC,EAkGAqU,GAAW99B,KAAI,SAACkC,EAAKoC,G,QACdy5B,EAAUz5B,EAAMc,EAAO0J,EAC7B,OACE,yBACEvpB,IAAK+e,EACL3K,OAAK,KACH,EAACkB,GAAa,SAAW,QAAYqH,EAAG,I,GAE1C/K,UAAW,IAAchI,EAAS,SAAO,KACvC,EAAIA,EAAS,gBAAiB0tC,GAAYkB,G,UAOrDxC,GACC,yBAAKpkC,UAAchI,EAAS,WACzBzK,OAAO0M,KAAKmqC,GAAOv7B,KAAI,SAACg+B,EAAc15B,G,MAC/BozB,EAAU4E,GAAkBrI,WAAW+J,IAC7C,OACE,yBACEz4C,IAAK+e,EACL3K,OAAK,KACH,EAACkB,GAAa,SAAW,QAAY68B,EAAO,I,GAE9CvgC,UAAchI,EAAS,UAhGlB,SAAC6uC,GAClB,GAAIzC,GAASA,EAAMyC,IAAUzC,EAAMyC,GAAcxuB,MAAO,CAChD,MAAmB+rB,EAAMyC,GAAvBxuB,EAAK,QAAE7V,EAAK,QACpB,OAAO,yBAAKA,MAAOA,GAAQ6V,GACtB,OAAI+rB,GAASA,EAAMyC,GACjBzC,EAAMyC,GAENA,EA0FIC,CAAWD,YAW9B9C,GAAO9hC,YAAc,SAEN,UCvVT8kC,GAAU,SAACr1C,G,MAEb+G,EAME/G,EAAK,KALPs1C,EAKEt1C,EAAK,mBAJI6G,EAIT7G,EAAK,UAHP1D,EAGE0D,EAAK,KAFPsO,EAEEtO,EAAK,UADJiH,EAAU,EACXjH,EAPE,8DAQAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,YAAawK,EAAc5K,UAAWO,GAC/DsK,EAAM,IAAW7K,EAAWgI,IAAS,MACrChI,EAAS,IAAIhK,GAASA,E,IAGtBwU,EAAsC,aAATxU,EAAsB,CAAE4K,MAAOH,GAAS,CAAEI,OAAQJ,GAOrF,OACE,6BACME,EAAU,CACdoK,KAAK,eACL/C,UAAW6C,EACXL,MAAOA,EACP8jC,YAAa,SAACz1C,GAAY,OAXV,SAACA,GACnBa,EAAM40C,aAAe50C,EAAM40C,YAAYz1C,GACvCm2C,EAAmBn2C,GASSy1C,CAAYz1C,MACtC,yBAAKmP,UAAchI,EAAS,aAKlC+uC,GAAQ9kC,YAAc,UAEP,UC3CFglC,GAAe,IAAMlvC,cAAqB,CAAE/J,KAAM,aCMzDk5C,GAAY,IAAMj+B,YACtB,SAACvX,EAAuBiR,GACd,IAAAlK,EAA8E/G,EAAK,KAA7EsO,EAAwEtO,EAAK,UAAlE8Q,EAA6D9Q,EAAK,MAA3DmN,EAAsDnN,EAAK,SAAtC6G,EAAiC7G,EAAK,UAApBiH,EAAU,EAAKjH,EAAhF,qDACAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,aAAcwK,EAAc5K,UAAWO,GAChEsK,EAAM,IAAW7K,EAAWgI,GAC1BhS,EAAS,qBAAWi5C,IAAa,KAEnCE,EAAS,KACV3kC,GAQL,MANa,aAATxU,EACFm5C,EAAUvuC,MAAQH,EAElB0uC,EAAUtuC,OAASJ,EAInB,2BAAKkK,IAAKA,GAAShK,EAAU,CAAEqH,UAAW6C,EAAKL,MAAO2kC,IACnDtoC,MAMTqoC,GAAUjlC,YAAc,YAET,UC9BTmlC,GAAQ,SAAC11C,G,MAEX,EAgBEA,EAAK,KAhBP1D,OAAI,IAAG,aAAU,EACjB,EAeE0D,EAAK,SAfPgY,OAAQ,IAAG,GAAK,EAChB,EAcEhY,EAAK,IAdPimB,OAAG,IAAG,KAAE,EACR,EAaEjmB,EAAK,IAbPlB,OAAG,IAAG,KAAE,EACR,EAYEkB,EAAK,YAZP21C,OAAW,IAAG,IAAC,EACfC,EAWE51C,EAAK,YAVPuc,EAUEvc,EAAK,KATPkT,EASElT,EAAK,SARP61C,EAQE71C,EAAK,cAPP81C,EAOE91C,EAAK,eANI6G,EAMT7G,EAAK,UALA+1C,EAKL/1C,EAAK,MAJPg2C,EAIEh2C,EAAK,aAHPsO,EAGEtO,EAAK,UAFPmN,EAEEnN,EAAK,SADJiH,EAAU,EACXjH,EAjBE,0KAkBAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,QAASwK,EAAc5K,UAAWO,GAC3DsK,EAAM,IAAW7K,EAAWgI,IAAS,MACrChI,EAAS,IAAIhK,GAASA,EAC1B,EAAIgK,EAAS,aAAc0R,E,IAEvB,EAA4B,wBAA6BlN,GAAxDmrC,EAAS,KAAEC,EAAY,KACxBC,EAAa,iBAA8B,MAC3CC,EAAU,iBAA8B,MACxCC,EAAe,kBAAO,GACtBC,EAAe,iBAAO,GACtBhmC,EAAU6lC,EAAWvpC,QAErB2pC,EAAgB,uBACpB,SAACxvC,GACC,GAAoB,iBAATA,EAMT,OAAOA,EALP,GAAIuJ,EAAS,CACL,MAAoBA,EAAQ6B,wBAA1BjL,EAAK,QAAEC,EAAM,SACrB,OAAkB,aAAT7K,EAAsB4K,EAAQC,GAAUikC,WAAWrkC,GAAS,IAKzE,OAAO,IAET,CAACzK,EAAMgU,IAEHkmC,EAAUD,EAActwB,GAC1BwwB,EAAUF,EAAcz3C,GAC5B,GAAIwR,EAAS,CACL,MAAoBA,EAAQ6B,wBAA1BjL,EAAK,QAAEC,EAAM,SACrBsvC,GAAoB,aAATn6C,EAAsB4K,EAAQC,GAAUsvC,EAAUd,EAG/D,IAiDI7kC,EA3CE4lC,EAAc,uBAClB,SAACv3C,GACC,IAAK6Y,GAAYq+B,EAAazpC,QAAS,CACrC,IAAM+pC,EAAOP,EAAQxpC,QACrB,GAAI+pC,GACEA,EAAKxkC,sBAAuB,CAC9B,IAAMjL,EAAQyvC,EAAKxkC,wBAAwBjL,MACrCC,EAASwvC,EAAKxkC,wBAAwBhL,OACtCyF,EAAUzN,EAAW,aAAT7C,EAAsB,UAAY,WAC9CyK,EAAgB,aAATzK,EAAsB4K,EAAQC,EACvCyM,EAAS0iC,EAAa1pC,QAAUA,EACpC,GAAI2P,EAAM,CACR,GAAI1d,KAAKoiB,IAAIrN,GAAU2I,EACrB,OAEF3I,EAAS/U,KAAKO,MAAOwU,EAAS2I,EAAQA,GAGxC,IAAIq6B,EAAU7vC,EAAO6M,EACfijC,EAAcP,EAAa1pC,QAAUgH,EAEvCgjC,EAAUJ,EACZI,EAAUJ,EACDI,EAAUH,EACnBG,EAAUH,EAEVH,EAAa1pC,QAAUiqC,IAGvB,SAAU72C,IAAUk2C,EAAaU,GACnC1jC,GAAYA,EAAS0jC,OAK7B,CAAC52C,EAAOgY,EAAUy+B,EAASD,EAASl6C,EAAM4W,EAAUqJ,IAGhDu6B,EAAY,uBAAY,WAC5BT,EAAazpC,SAAU,EACvBkpC,GAAkBA,MACjB,CAACA,IAIFhlC,EADW,aAATxU,EACM,KACHy5C,GAGG,OACHA,GAAY,CACfgB,UAAW,OACX7vC,MAAO,SAIX,qBAAU,WAIR,OAHArM,OAAOia,iBAAiB,YAAa4hC,GACrC77C,OAAOia,iBAAiB,UAAWgiC,GAE5B,WACLj8C,OAAOka,oBAAoB,YAAa2hC,GACxC77C,OAAOka,oBAAoB,UAAW+hC,MAEvC,CAACJ,EAAaI,IAEjB,qBAAU,WACR,IAAME,EAAcT,EAAcv2C,EAAM+G,MAAQ6uC,GAAeY,GAC/DN,EAAac,KACZ,CAACT,EAAev2C,EAAM+G,KAAM6uC,EAAaY,IAE5C,qBAAU,WACR,GAAI,SAAUx2C,EAAO,CACnB,IAAM+G,EAAOwvC,EAAcv2C,EAAM+G,MACjCmvC,EAAanvC,MAEd,CAAC/G,EAAOu2C,IAEX55B,GAAQ,IAAMlP,SAASuP,MAAM7P,IAC7B,IAAM8pC,EAAe,IAAMxpC,SAASwV,QAAQ9V,GAAU+gB,QAAO,SAAC9W,GAAU,OAAAA,KAExE,OACE,kBAACm+B,GAAahoC,SAAQ,CAACnR,MAAO,CAAEE,KAAI,IAClC,2BAAK2U,IAAKklC,GAAgBlvC,EAAU,CAAEqH,UAAW6C,EAAKL,MAAOA,IAC3D,kBAAC,GAAI,CAACG,IAAKmlC,EAASrvC,KAAMkvC,EAAWnlC,MAAO,CAAEomC,KAAM,aACjDD,EAAa,IAEhB,kBAAC,GAAO,KACFjB,EAAY,CAChBjvC,KAAM4uC,EACNr5C,KAAMA,EACNg5C,mBAjGmB,SAACn2C,GAC1Bk3C,EAAazpC,SAAU,EACvB0pC,EAAa1pC,QAAUzN,EAAW,aAAT7C,EAAsB,UAAY,WAC3Du5C,GAAiBA,QAgGb,kBAAC,GAAI,CAAC/kC,MAAO,CAAEomC,KAAM,WAAaD,EAAa,OAMvDvB,GAAMnlC,YAAc,QAEL,ICxKA,GDwKA,GEhKT4mC,GAAc,SAACn3C,GAEjB,MAYEA,EAAK,KAZP+G,OAAI,IAAG,OAAI,EACX,EAWE/G,EAAK,QAXP4d,OAAO,IAAG,YAAS,EACnB,EAUE5d,EAAK,SAVPgY,OAAQ,IAAG,GAAK,EAChB,EASEhY,EAAK,QATP6d,OAAO,IAAG,GAAK,EACf,EAQE7d,EAAK,kBARPo3C,OAAiB,IAAG,eAAY,EAChC,EAOEp3C,EAAK,gBAPPq3C,OAAe,IAAG,UAAO,EACzB/lC,EAMEtR,EAAK,QALPm9B,EAKEn9B,EAAK,QAJPsO,EAIEtO,EAAK,UAHPmN,EAGEnN,EAAK,SAFI6G,EAET7G,EAAK,UADJiH,EAAU,EACXjH,EAbE,sIAcAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,eAAgBwK,EAAc5K,UAAWO,GAClEsK,EAAM,IAAW7K,EAAWgI,GAElC,OACE,kBAAC,GAAW,KAAKrH,EAAU,CAAEqH,UAAW6C,EAAKyM,QAASA,EAAS5F,SAAUA,EAAUjR,KAAMA,IACvF,kBAAC,GAAM,CAACuK,QAASA,EAASuM,QAASA,GAChC1Q,GAEH,kBAAC,GAAQ,CAACgwB,QAASA,EAASlC,QAASoc,EAAiB1rB,UAAWyrB,GAC/D,kBAAC,GAAM,CACL9oC,UAAchI,EAAS,iBACvBsX,QAASA,EACT5F,SAAUA,EACVjR,KAAMA,GACN,kBAACD,EAAS,CAACC,KAAM,SAO3BowC,GAAY5mC,YAAc,cAEX,UC1CT+mC,GAAY,CAChBC,GAAI,EACJC,GAAI,GACJC,GAAI,IAGAC,GAAQ,IAAMngC,YAClB,SAACvX,EAAmBiR,GAEhB,MAMEjR,EAAK,UANPuyB,OAAS,IAAG,eAAY,EACxB,EAKEvyB,EAAK,MALP+nB,OAAK,IAAG,WAAQ,EAChBzZ,EAIEtO,EAAK,UAHPmN,EAGEnN,EAAK,SAFI6G,EAET7G,EAAK,UADJiH,EAAU,EACXjH,EAPE,0DAQAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,QAASwK,EAAc5K,UAAWO,GAC3DE,EAAO/G,EAAM+G,MAAQmK,EAAczK,OAAS,KAC5C0K,EAAM,IACV7K,EACAgI,EACGhI,EAAS,IAAIisB,EACbjsB,EAAS,IAAIyhB,GAGZ4vB,EAAe,SAACl8B,G,MACpB,OAAI,IAAMhO,SAASuP,MAAM7P,GAAY,IAAMsO,IAClC,EAAP,IACiB,aAAd8W,EAA2B,eAAiB,eACrB,iBAAfvyB,EAAM+G,KAAoBA,EAAOuwC,GAAUvwC,G,GAGjD,IAGT,OACE,6BAASE,EAAU,CAAEgK,IAAKA,EAAK3C,UAAW6C,IACvC,IAAM1D,SAAS0J,IAAIhK,GAAU,SAACiK,EAAOqE,GAAQ,OAC5C,yBAAK/e,IAAK+e,EAAKnN,UAAchI,EAAS,SAAUwK,MAAO6mC,EAAal8B,IACjErE,UAQbsgC,GAAMnnC,YAAc,QAEL,UC7CFqnC,GAAe,IAAMvxC,cAAqB,CACrDuG,QAAS,EACTirC,eAAgB,WAChB9tC,OAAQ,UACR+tC,WAAW,ICTPC,GAAQ,IAAMxgC,YAClB,SAACvX,EAAmBiR,GAEhB,MASEjR,EAAK,eATP2tC,OAAc,IAAG,IAAC,EAClB,EAQE3tC,EAAK,OARP+J,OAAM,IAAG,YAAS,EAClB,EAOE/J,EAAK,UAPPuyB,OAAS,IAAG,eAAY,EACxB,EAMEvyB,EAAK,eANP63C,OAAc,IAAG,aAAU,EAC3B3kC,EAKElT,EAAK,SAJPsO,EAIEtO,EAAK,UAHPmN,EAGEnN,EAAK,SAFI6G,EAET7G,EAAK,UADJiH,EAAU,EACXjH,EAVE,wGAWAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,QAASwK,EAAc5K,UAAWO,GAC3DsK,EAAM,IAAW7K,EAAWgI,EAAchI,EAAS,IAAIisB,GACvD,EAAwB,mBAC5B,YAAavyB,EAASA,EAAM4M,QAAqB+gC,GAD5C/gC,EAAO,KAAEkhC,EAAU,KAa1B,OAJA,qBAAU,WACR,YAAa9tC,GAAS8tC,EAAW9tC,EAAM4M,WACtC,CAAC5M,IAGF,kBAAC43C,GAAarqC,SAAQ,CACpBnR,MAAO,CACLwQ,QAAO,EACPirC,eAAc,EACd9tC,OAAM,EACN+tC,UAAW,aAAc93C,EACzBsR,QAhBc,SAACg9B,KACjB,YAAatuC,IAAU8tC,EAAWQ,GACpCp7B,GAAYA,EAASo7B,MAgBnB,6BAASrnC,EAAU,CAAEgK,IAAKA,EAAK3C,UAAW6C,IACvC,IAAM1D,SAAS0J,IAAIhK,GAAU,SAACiK,EAAOqE,GACpC,IAAMpE,EAAeD,EACrB,GAAsC,cAAlCC,EAAajI,KAAKmB,YAA6B,CACjD,IAAMnD,EAAsC,CAC1C4qC,UAAWv8B,GAEb,OAAO,IAAMjO,aAAa6J,EAAcjK,GAGxC,OADA0M,QAAQ6vB,KAAK,mDACN,aASrBoO,GAAMxnC,YAAc,QAEL,UC1DT0nC,GAAY,IAAM1gC,YACtB,SAACvX,EAAuBiR,G,QAiBZrE,EAfR,EAUE5M,EAAK,UAVPg4C,OAAS,IAAG,IAAC,EACb,EASEh4C,EAAK,SATPgY,OAAQ,IAAG,GAAK,EAChBjO,EAQE/J,EAAK,OAPPmE,EAOEnE,EAAK,MANPy+B,EAMEz+B,EAAK,YALPyQ,EAKEzQ,EAAK,KAJPsR,EAIEtR,EAAK,QAHPsO,EAGEtO,EAAK,UAFI6G,EAET7G,EAAK,UADJiH,EAAU,EACXjH,EAXE,kGAYAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,aAAcwK,EAAc5K,UAAWO,GAChEqxC,EAAe,qBAAWN,IAa1BO,EAAa,WAAYn4C,EAAQA,EAAM+J,QAXnC6C,EAAYsrC,EAAY,QACjB,UAAXnuC,EACK,QACE6C,EAAUorC,EACZ,SACEprC,IAAYorC,EACdE,EAAanuC,OAEb,QAILoH,EAAM,IACV7K,EACAgI,EACGhI,EAAS,IAAI6xC,EACb7xC,EAAS,UAAU4xC,EAAaL,iBAAgB,MAE7CvxC,EAAS,aAAc0R,E,IA0B/B,OACE,6BACM/Q,EAAU,CACdoK,KAAM6mC,EAAaJ,UAAY,cAAWhtC,EAC1CmG,IAAKA,EACL3C,UAAW6C,EACXG,QA5BoB,SAACnS,IAClB6Y,GAAYkgC,EAAaJ,YAC5BxmC,GAAWA,EAAQnS,GACnB+4C,EAAa5mC,SAAW4mC,EAAa5mC,QAAQ0mC,OA0B7C,yBAAK1pC,UAAchI,EAAS,UAC1B,yBACEgI,UAAW,IAAchI,EAAS,UAAQ,KAAI,EAAIA,EAAS,mBAAoBmK,EAAI,KAxBxE,WACjB,GAAIA,EACF,OAAOA,EAGT,IAAI2nC,EAAsBJ,EAAY,EAOtC,MANmB,WAAfG,EACFC,EAAW,kBAACxwC,EAAK,MACO,UAAfuwC,IACTC,EAAW,kBAACvwC,EAAK,OAGZuwC,EAaAvmC,IAEH,yBAAKvD,UAAchI,EAAS,YAE9B,yBAAKgI,UAAchI,EAAS,aAC1B,yBAAKgI,UAAchI,EAAS,WAAYnC,GACxC,yBAAKmK,UAAchI,EAAS,UAAWm4B,QAOjDwZ,GAAU1nC,YAAc,YAET,UCxFT8nC,GAAe,GACrBA,GAAaC,KAAO,GAEL,UCJTC,GAAoB,IAAMhhC,YAC9B,SAACvX,EAA+BiR,GAE5B,MAMEjR,EAAK,QANP4M,OAAO,IAAG,IAAC,EACX,EAKE5M,EAAK,OALPw4C,OAAM,IAAG,IAAC,EACV,EAIEx4C,EAAK,OAJPy4C,OAAM,IAAG,GAAC,UAAW,UAAW,WAAU,EAC1CnqC,EAGEtO,EAAK,UAFI6G,EAET7G,EAAK,UADJiH,EAAU,EACXjH,EAPE,uDAQAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,qBAAsBwK,EAAc5K,UAAWO,GACxEsK,EAAM,IAAW7K,EAAWgI,GAC5BoqC,EAAmC/6C,MAAMC,QAAQoC,EAAM24C,QACzD34C,EAAM24C,OACN,CAAC,OAAQ,SAAU,UAEvB,OACE,6BAAS1xC,EAAU,CAAEqH,UAAW6C,EAAKF,IAAKA,IACvCtT,MAAMi7C,KAAK,IAAIj7C,MAAM66C,IAASrhC,KAAI,SAACsP,EAAMhL,G,MAClCo9B,EAAU,IAAcvyC,EAAS,WAAQ,MACzCA,EAAS,iBAAkBmV,EAAM7O,E,IAEjCksC,EAAUr9B,EAAM7O,EAAU6rC,EAAO7rC,EAAU,QAAK9B,EACtD,OACE,yBAAKpO,IAAK+e,EAAKnN,UAAWuqC,GACxB,yBAAKvqC,UAAchI,EAAS,UAAWwK,MAAO,CAAEwM,gBAAiBw7B,KAChE,WAAY94C,GACX,yBAAKsO,UAAchI,EAAS,WAAYoyC,EAAcj9B,YAUtE88B,GAAkBhoC,YAAc,oBAEjB,UCxCTwoC,GAAS,IAAMxhC,YACnB,SAACvX,EAAoBiR,G,MAEjB,EAWEjR,EAAK,KAXP+G,OAAI,IAAG,OAAI,EACX,EAUE/G,EAAK,eAVPohB,OAAc,IAAG,GAAI,EACrBpJ,EASEhY,EAAK,SARP6d,EAQE7d,EAAK,QAPPkT,EAOElT,EAAK,SANPg5C,EAMEh5C,EAAK,YALPi5C,EAKEj5C,EAAK,cAJPsO,EAIEtO,EAAK,UAHPsR,EAGEtR,EAAK,QAFI6G,EAET7G,EAAK,UADJiH,EAAU,EACXjH,EAZE,2HAaA,EAAwB,mBAC5B,YAAaA,EAASA,EAAMyhB,QAAsBL,GAD7CK,EAAO,KAAEC,EAAU,KAGpBxQ,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,SAAUwK,EAAc5K,UAAWO,GAC5DqyC,EAAal5C,EAAM+G,MAAQmK,EAAc3K,eAAiBQ,EAC1DoK,EAAM,IAAW7K,EAAWgI,EAAchI,EAAS,IAAI4yC,IAAY,MACnE5yC,EAAS,YAAamb,EAC1B,EAAInb,EAAS,YAAauX,EAC1B,EAAIvX,EAAS,aAAcuX,GAAW7F,E,IAgBxC,OAJA,qBAAU,WACR,YAAahY,GAAS0hB,EAAW1hB,EAAMyhB,WACtC,CAACzhB,IAGF,+BAAWiH,EAAU,CAAEgK,IAAKA,EAAK3C,UAAW6C,EAAKG,QAd9B,SAACnS,GACpB,IAAMka,GAAOoI,EACbnQ,GAAWA,EAAQ+H,EAAKla,GAClB6Y,GAAY6F,IAChB3K,GAAYA,EAASmG,EAAKla,KACxB,YAAaa,IAAU0hB,EAAWrI,OAUpC,0BAAM/K,UAAchI,EAAS,QAC3B,0BAAMgI,UAAchI,EAAS,YAC7B,0BAAMgI,UAAchI,EAAS,WAAYmb,EAAUu3B,EAAcC,QAO3EF,GAAOxoC,YAAc,SAEN,UClCT4oC,GAAO,IAAM5hC,YACjB,SAACvX,EAAkBiR,G,cA8DXmoC,EA5DJ,EAWEp5C,EAAK,KAXPoP,OAAI,IAAG,SAAM,EACb,EAUEpP,EAAK,UAVPuyB,OAAS,IAAG,eAAY,EACxB,EASEvyB,EAAK,KATP+G,OAAI,IAAG,OAAI,EACX,EAQE/G,EAAK,SARPq5C,OAAQ,IAAG,GAAI,EACfn2B,EAOEljB,EAAK,UANPujB,EAMEvjB,EAAK,iBAJPsO,GAIEtO,EAAK,SAALA,EAAK,WAHPmN,EAGEnN,EAAK,SAFI6G,EAET7G,EAAK,UADJiH,EAAU,EACXjH,EAZE,qHAaAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,OAAQwK,EAAc5K,UAAWO,GACzDyyC,EAAa,mBAAS,GAAE,GACxBx+B,EAAc,mBAAS,GAAE,GACzBy+B,EAAgB,mBAAS,GAAE,GAC3BC,EAAe,mBAAS,GAAE,GAC1BC,EAAgB,mBAAS,GAAE,GAC3BnnB,EAAe,mBAAS,GAAE,GAC1BhO,EAAgB,mBAAS,GAAE,GAC3Bo1B,EAAgB,oBAAS,GAAM,GAChCC,EAAmB,iBAA8B,MACjDC,EAAkB,iBAA8B,MAChDC,EAAY,iBAA2B,MACvCC,EAAgC,eAAdvnB,EAA6BinB,EAAcC,EAC7DM,EAAgC,eAAdxnB,EAA6BD,EAAchO,EAC7D01B,EAAuB,eAAdznB,EAA6B,OAAS,MAC/C0nB,EAAuB,eAAd1nB,EAA6B,QAAU,SAChD2nB,EAAoC,IAAjBX,EACnBY,EACuE,IAA3Et7C,KAAK0nB,MAAM1nB,KAAKoiB,IAAIs4B,EAAeO,EAAkBC,IACjD5oC,EAAM,IACV7K,EACAgI,EACGhI,EAAS,IAAIS,EACbT,EAAS,IAAIisB,IAAW,MACrBjsB,EAAS,IAAI8I,GAAuB,eAAdmjB,GAA8BnjB,EAAI,IAE1DgrC,EACU,eAAd7nB,EACI,CAAElX,UAAW,gBAAgBk+B,EAAY,aACzC,CAAEl+B,UAAW,mBAAmBk+B,EAAY,UAC5Ch0B,EAAY,IAAcjf,EAAS,aAAU,MAC7CA,EAAS,uBAAwBozC,E,IAEjCW,EAAU,IAAc/zC,EAAS,WAAQ,MACzCA,EAAS,mBAAoB+yC,E,IAE7BiB,EAAY,IAAch0C,EAAS,oBAAiB,MACpDA,EAAS,oBAAoB0zC,GAAWA,EAC5C,EAAI1zC,EAAS,6BAA8B4zC,E,IAGvCK,GAAY,IAAcj0C,EAAS,oBAAiB,MACpDA,EAAS,oBAAoB2zC,GAAWA,EAC5C,EAAI3zC,EAAS,6BAA8B6zC,E,IAatC/9C,GAAS,mBAAiB8mB,GAAaK,IATxC61B,EAAc,EAClB,IAAM3rC,SAASY,QAAQlB,GAAU,SAACiK,EAAOqE,GACvC,IAAMta,EAAUiW,EACZjW,EAAQnB,OAASmB,EAAQnB,MAAMw6C,WACjCpB,EAAc39B,MAGX29B,IAE0E,GAC7EqB,GACU,eAAdloB,EAA6B,CAAE7W,WAAY,IAAY,IAARtf,GAAW,KAAQ,GA4CpE,OACE,6BAAS6K,EAAU,CAAEgK,IAAKA,EAAK3C,UAAW6C,IACxC,yBAAK7C,UAAWiX,GACd,yBAAKjX,UAAchI,EAAS,kBAAmB2K,IAAK0oC,GAClD,yBACErrC,UAAchI,EAAS,eACvB2K,IAAK2oC,EACL9oC,MAAO4oC,EAAeU,EAAiB,IAhBxC,IAAM3sC,SAAS0J,IAAIhK,GAAU,SAACiK,GACnC,IAAMC,EAAeD,EACrB,MAAsC,aAAlCC,EAAajI,KAAKmB,YACb,yBAAKjC,UAAchI,EAAS,qBAAsB+Q,EAAarX,MAAM06C,KAErE,QAaO,SAATtrC,GA5Bc,WACjB,MAAoCyqC,EAAUjtC,SAAW,GAAvD,IAAAwd,kBAAU,IAAG,IAAC,EAAE,IAAArX,UAClB4nC,EACU,eAAdpoB,EACI,CAAErrB,MAAOoyC,EAAWnyC,OAAQ,EAAGkU,UAAW,eAAe+O,EAAU,WACnE,CAAEljB,MAAO,EAAGC,OAAQ2T,EAAYO,UAAW,uBAJhB,IAAG,IAAC,GAIsC,SAC3E,OAAO,yBAAK/M,UAAchI,EAAS,gBAAiBwK,MAAO6pC,IAsB/BC,KAGvBlB,GACC,oCACE,0BAAMprC,UAAWgsC,EAAWhpC,QAAS,SAACnS,GAAM,OAAC+6C,QAAoBW,IAC/D,kBAAC/zC,EAAS,OAEZ,0BACEwH,UAAWisC,GACXjpC,QAAS,SAACnS,GAAM,OAACg7C,QAAoBW,IACrC,kBAACh0C,EAAS,SAKlB,yBAAKwH,UAAW+rC,EAASvpC,MAAO2pC,IAC7B,IAAMhtC,SAAS0J,IAAIhK,GAAU,SAACiK,EAAOqE,GACpC,IAAMpE,EAAeD,EACrB,GAAsC,aAAlCC,EAAajI,KAAKmB,YAA4B,CAChD,IAAMnD,EAAa,OACdiK,EAAarX,OAAK,CACrBw6C,SAAUp+C,KAAUqf,IAEtB,OAAO,IAAMjO,aAAa6J,EAAcjK,GAGxC,OADA0M,QAAQ6vB,KAAK,sDACN,aASrBwP,GAAK5oC,YAAc,OAEJ,UCjLTwqC,GAAW,IAAMxjC,YACrB,SAACvX,EAAsBiR,G,MACb3C,EAA2EtO,EAAK,UAArEw6C,EAAgEx6C,EAAK,SAA3DmN,EAAsDnN,EAAK,SAAtC6G,EAAiC7G,EAAK,UAApBiH,EAAU,EAAKjH,EAA7E,iDACAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,kBAAmBwK,EAAc5K,UAAWO,GACrEsK,EAAM,IAAW7K,EAAWgI,IAAS,MACrChI,EAAS,WAAYk0C,E,IAG3B,OACE,2BAAKvpC,IAAKA,EAAK3C,UAAW6C,GAASlK,GAChCkG,MAMT4tC,GAASxqC,YAAc,WAER,UCvBTyqC,GAAc,GAEpBA,GAAYr1B,MAAQ,GACL,UCFFs1B,GAAe,CAC1B,UACA,MACA,UACA,SACA,OACA,OACA,QACA,OACA,OACA,WACA,UCfIC,GAAM,SAACl7C,G,MAET,EAUEA,EAAK,SAVP2Q,OAAQ,IAAG,GAAK,EAChB,EASE3Q,EAAK,eATPk7B,OAAc,IAAG,GAAI,EACVr0B,EAQT7G,EAAK,UAPPgH,EAOEhH,EAAK,MANP6Q,EAME7Q,EAAK,QALPsR,EAKEtR,EAAK,QAJPsO,EAIEtO,EAAK,UAHP8Q,EAGE9Q,EAAK,MAFPmN,EAEEnN,EAAK,SADJiH,EAAU,EACXjH,EAXE,sGAYA,EAAwB,mBAC5B,YAAaA,EAASA,EAAM8b,QAAsBof,GAD7Cpf,EAAO,KAAEC,EAAU,KAGpB7K,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,MAAOwK,EAAc5K,UAAWO,GACzDsK,EAAM,IAAW7K,EAAWgI,IAAS,MACrChI,EAAS,IAAIU,GAAUA,GAASi0C,GAAapkC,SAAS7P,GAC1D,EAAIV,EAAS,YAAawV,EAC1B,EAAIxV,EAAS,cAAeqK,E,IAexBwqC,EAAQ,GACZ79B,gBAAiBtW,EAASi0C,GAAapkC,SAAS7P,QAAS8D,EAAY9D,OAAS8D,EAC9EswC,YAAap0C,EAASi0C,GAAapkC,SAAS7P,QAAS8D,EAAY9D,OAAS8D,EAC1E9D,MAAOA,EAASi0C,GAAapkC,SAAS7P,QAAS8D,EAAY,YAAUA,GAClEgG,GAOL,OAJA,qBAAU,WACR,YAAa9Q,GAAS+b,EAAW/b,EAAM8b,WACtC,CAAC9b,IAGF,6BAASiH,EAAU,CAAEqH,UAAW6C,EAAKL,MAAOqqC,EAAU7pC,QAASA,IAC5DnE,EACAwD,GACC,0BAAMrC,UAAchI,EAAS,cAAegL,QAvB1B,SAACnS,GACvB0R,GAAWA,EAAQ1R,GACfA,EAAEk8C,oBAGJ,YAAar7C,IAAU+b,GAAW,KAkBoC,OAQ5Em/B,GAAI3qC,YAAc,MAEH,UC5DT+qC,GAAe,SAACt7C,G,MAElB,EAMEA,EAAK,eANPohB,OAAc,IAAG,GAAI,EACVva,EAKT7G,EAAK,UAJPkT,EAIElT,EAAK,SAHPsO,EAGEtO,EAAK,UAFP8Q,EAEE9Q,EAAK,MADPmN,EACEnN,EAAK,SACH,EAAwB,mBAC5B,YAAaA,EAASA,EAAMyhB,QAAsBL,GAD7CK,EAAO,KAAEC,EAAU,KAGpBxQ,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,gBAAiBwK,EAAc5K,UAAWO,GACnEsK,EAAM,IAAW7K,EAAWgI,IAAS,MACrChI,EAAS,YAAamb,E,IAgB5B,OAJA,qBAAU,WACR,YAAazhB,GAAS0hB,EAAW1hB,EAAMyhB,WACtC,CAACzhB,IAGF,kBAAC,GAAG,CAACsO,UAAW6C,EAAKL,MAAOA,EAAOQ,QAXjB,SAACnS,GACnB,IAAM2K,GAAS2X,IACb,YAAazhB,IAAU0hB,EAAW5X,GACpCoJ,GAAYA,EAASpJ,EAAO3K,KASzBgO,IAKPmuC,GAAa/qC,YAAc,eAEZ,UCxCTgrC,GAAa,GACnBA,GAAWD,aAAe,GAEX,UCJTE,GAAW,SAACx7C,G,MAEd,EAWEA,EAAK,SAXPgY,OAAQ,IAAG,GAAK,EACLnR,EAUT7G,EAAK,UATPy7C,EASEz7C,EAAK,MARP07C,EAQE17C,EAAK,QAPPkY,EAOElY,EAAK,aANP5D,EAME4D,EAAK,MALPonB,EAKEpnB,EAAK,KAJPkT,EAIElT,EAAK,SAHPsO,EAGEtO,EAAK,UAFP8Q,EAEE9Q,EAAK,MADJiH,EAAU,EACXjH,EAZE,yGAaAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,WAAYwK,EAAc5K,UAAWO,GAC9DsK,EAAM,IAAW7K,EAAWgI,IAAS,MACrChI,EAAS,aAAc0R,E,IAEvB,EAAoB,mBAAS,GAA5BgF,EAAK,KAAE2+B,EAAQ,KAEhBC,EAAmB,SAACz8C,GACxBw8C,EAASx8C,EAAEma,cAAcld,MAAMmB,QAC/B2V,GAAYA,EAAS/T,EAAEma,cAAcld,MAAO+C,IAG9C,OAAIs8C,GAASC,EAET,0BAAMptC,UAAchI,EAAS,cAC3B,kCACMW,EAAU,CACd40C,UAAWJ,EACXr0B,KAAMA,EACNhrB,MAAOA,EACP8b,aAAcA,EACdF,SAAUA,EACV1J,UAAW6C,EACXL,MAAOA,EACPoC,SAAU0oC,KAEZ,0BAAMttC,UAAchI,EAAS,aAC1Bo1C,GAA8B,mBAAZA,EAAyBA,EAAQ1+B,GAAYA,EAAK,IAAIy+B,IAM7E,kCACMz7C,EAAK,CACTonB,KAAMA,EACNhrB,MAAOA,EACP8b,aAAcA,EACdF,SAAUA,EACV1J,UAAW6C,EACXL,MAAOA,EACPoC,SAAU0oC,MAMlBJ,GAASjrC,YAAc,WAER,UC/DTurC,GAAW,SAAC97C,G,MACR,EAAoFA,EAAK,SAAzF6U,OAAQ,IAAG,SAAM,EAAahO,EAAsD7G,EAAK,UAA5CsO,EAAuCtO,EAAK,UAAjCmN,EAA4BnN,EAAK,SAApBiH,EAAU,EAAKjH,EAAtF,iDACAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,WAAYwK,EAAc5K,UAAWO,GAC9DsK,EAAM,IAAW7K,EAAWgI,IAAS,MACrChI,EAAS,IAAIuO,GAAaA,E,IAGhC,OACE,4BAAQ5N,EAAU,CAAEqH,UAAW6C,IAC5B,IAAM1D,SAAS0J,IAAIhK,GAAU,SAACiK,EAAOqE,GACpC,IAAMpE,EAAeD,EACrB,GAAsC,iBAAlCC,EAAajI,KAAKmB,YAAgC,CACpD,IAAMnD,EAAyC,CAC7CkB,UACe,WAAbuG,EACI4G,EAAM,GAAM,EACPnV,EAAS,aACTA,EAAS,cACd+Q,EAAarX,MAAMsO,WAE3B,OAAO,IAAMd,aAAa6J,EAAcjK,GAExC,OAAO,UAOjB0uC,GAASvrC,YAAc,WAER,UChCTwrC,GAAe,SAAC/7C,GACZ,IAAAid,EAAgFjd,EAAK,IAAhFg8C,EAA2Eh8C,EAAK,SAAtEsO,EAAiEtO,EAAK,UAA3DmN,EAAsDnN,EAAK,SAAtC6G,EAAiC7G,EAAK,UAApBiH,EAAU,EAAKjH,EAAlF,uDACAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,gBAAiBwK,EAAc5K,UAAWO,GACnEsK,EAAM,IAAW7K,EAAWgI,GAElC,OACE,4BAAQrH,EAAU,CAAEqH,UAAW6C,IAC7B,yBAAK7C,UAAchI,EAAS,UAC1B,yBAAKgI,UAAchI,EAAS,mBACzB2W,GAAO,0BAAM3O,UAAchI,EAAS,QAASwK,MAAOkrC,MAGzD,yBAAK1tC,UAAchI,EAAS,aAAc6G,KAKhD4uC,GAAaxrC,YAAc,eAEZ,UCnBT0rC,GAAkB,GACxBA,GAAgBl4C,KAAO,GAER,UCgBTm4C,GAAgB,IAAM3kC,YAC1B,SAACvX,EAA2BiR,GAExB,IAAAkrC,EAaEn8C,EAAK,WAZPo8C,EAYEp8C,EAAK,YAXPmE,EAWEnE,EAAK,MAVPykC,EAUEzkC,EAAK,YATPye,EASEze,EAAK,OARPq8C,EAQEr8C,EAAK,WAPPsO,EAOEtO,EAAK,UANPkT,EAMElT,EAAK,SALPuuC,EAKEvuC,EAAK,WAJPs8C,EAIEt8C,EAAK,aAHGu8C,EAGRv8C,EAAK,SAFI6G,EAET7G,EAAK,UADJiH,EAAU,EACXjH,EAdE,oJAeAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,iBAAkBwK,EAAc5K,UAAWO,GACpEsK,EAAM,IAAW7K,EAAWgI,GAC5B,EAAoB,mBAAS,IAA5BkuC,EAAK,KAAEC,EAAQ,KAehBC,EAZGP,EAAWjuB,QAAO,SAACzH,GACxB,MAA4B,mBAAjB61B,EACFA,EAAaE,EAAO/1B,KAClB+1B,EAAMviC,OAAO1c,OAAS,IACjBkpB,EAAKE,MACNqC,cAAcnS,SAAS2lC,EAAMxzB,kBAQ1C2zB,EAAgBD,EAAaxuB,QAAO,SAACzH,GAAS,OAACA,EAAKzO,YACpD4kC,EAAeD,EAAcp/C,OAAS,GAAK6+C,EAAY7+C,SAAWo/C,EAAcp/C,OAChFs/C,EAAkBT,EAAY7+C,OAAS,GAAK6+C,EAAY7+C,OAASo/C,EAAcp/C,OAkBrF,OACE,6BAAS0J,EAAU,CAAEqH,UAAW6C,EAAKF,IAAKA,IACvC9M,GAAS,yBAAKmK,UAAchI,EAAS,YAAanC,GACnD,yBAAKmK,UAAchI,EAAS,UACzB+1C,GACC,yBAAK/tC,UAAchI,EAAS,qBAC1B,kBAAC,GAAK,CACJ2R,WAAS,EACTlR,KAAK,KACL09B,YAAaA,EACbroC,MAAOogD,EACPtpC,SAAU,SAAC/T,GACTs9C,EAASt9C,EAAEma,cAAcld,QAE3Bic,aAAc,WAAM,OAAAokC,EAAS,QAInC,yBAAKnuC,UAAchI,EAAS,oBACzBo2C,EAAan/C,OAAS,EACrB,kBAAC,GAAa,CACZnB,MAAOggD,EACPlpC,SAAU,SAAC6sB,GAAW,OAAA7sB,EAAS6sB,IAC/BzxB,UAAchI,EAAS,UACtBo2C,EAAavlC,KAAI,SAACsP,GACT,IAAA/pB,EAAyB+pB,EAAI,IAAxBE,EAAoBF,EAAI,MAAjBzO,EAAayO,EAAI,SACrC,OACE,kBAAC,GAAQ,CACP/pB,IAAKA,EACLN,MAAOM,EACPsb,SAAUukC,GAAevkC,EACzB1J,UAAchI,EAAS,eACtBioC,EAAaA,EAAW9nB,GAAQE,OAMzC,kBAAC,GAAK,CAACrY,UAAchI,EAAS,kBAIpC,yBAAKgI,UAAchI,EAAS,YAC1B,kBAAC,GAAQ,CACP0R,SAAUukC,EACV96B,QAASm7B,EACT1pC,SA3DuB,SAAC/T,GAC9B,IACMi9C,EADYj9C,EAAEma,cAAcmI,QACFk7B,EAAcxlC,KAAI,SAACsP,GAAS,OAAAA,EAAK/pB,OAAO,GACxEwW,EAASkpC,IAyDH/6B,cAAew7B,GArDjBA,GAAmBD,EACXR,EAAY7+C,OAAM,MAAMm/C,EAAan/C,OAAM,WAE7Cm/C,EAAan/C,OAAM,UAqDxBkhB,OAOXy9B,GAAc3rC,YAAc,gBAEb,UCpITusC,GAAW,IAAMvlC,YACrB,SAACvX,EAAsBiR,GAEnB,MAeEjR,EAAK,WAfPm8C,OAAU,IAAG,KAAE,EACf,EAcEn8C,EAAK,aAdPkY,OAAY,IAAG,KAAE,EACjB,EAaElY,EAAK,YAbP+8C,OAAW,IAAG,KAAE,EAChB,EAYE/8C,EAAK,YAZPykC,OAAW,IAAG,WAAQ,EACtB,EAWEzkC,EAAK,WAXPq8C,OAAU,IAAG,GAAK,EAClB,EAUEr8C,EAAK,SAVPgY,OAAQ,IAAG,GAAK,EAChB5b,EASE4D,EAAK,MARPg9C,EAQEh9C,EAAK,OAPPi9C,EAOEj9C,EAAK,aANPsO,EAMEtO,EAAK,UALPkT,EAKElT,EAAK,SAJPuuC,EAIEvuC,EAAK,WAHPs8C,EAGEt8C,EAAK,aAFI6G,EAET7G,EAAK,UADJiH,EAAU,EACXjH,EAhBE,kLAiBAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,WAAYwK,EAAc5K,UAAWO,GAC9DsK,EAAM,IAAW7K,EAAWgI,GAS5B,EAPc,uBAAY,WAC9B,IAAM4uC,EAAsB,UAAWl9C,EAAS5D,EAAqB8b,EAC/DilC,EAA4BhB,EAAWjuB,QAAO,SAACzH,GAAS,OAAAy2B,EAAUrmC,SAAS4P,EAAK/pB,QAEtF,MAAO,CAD0By/C,EAAWjuB,QAAO,SAACzH,GAAS,OAACy2B,EAAUrmC,SAAS4P,EAAK/pB,QACpEygD,KACjB,CAACn9C,EAAO5D,EAAO+/C,EAAYjkC,GAEAklC,GAAvBC,EAAQ,KAAEF,EAAS,KACpB,EAA8B,mBAAyBE,GAAtDC,EAAU,KAAEC,EAAa,KAC1B,EAA8B,mBAAyBJ,GAAtDK,EAAU,KAAEC,EAAa,KAC1B,EAAwC,mBAAmB,IAA1DC,EAAe,KAAEC,EAAkB,KACpC,EAA0C,mBAAmB,IAA5DC,EAAgB,KAAEC,EAAmB,KAkD5C,OAZA,qBAAU,WACR,GAAI,UAAW79C,EAAO,CACpB,IAAM,EAAYA,EAAM5D,MAClB,EAA4B+/C,EAAWjuB,QAAO,SAACzH,GAAS,SAAU5P,SAAS4P,EAAK/pB,QAChF,EAA2By/C,EAAWjuB,QAAO,SAACzH,GAAS,OAAC,EAAU5P,SAAS4P,EAAK/pB,QACtF6gD,EAAc,GACdE,EAAc,GACdE,EAAmB,IACnBE,EAAoB,OAErB,CAAC79C,EAAOm8C,IAGT,6BAASl1C,EAAU,CAAEqH,UAAW6C,EAAKF,IAAKA,IACxC,kBAAC,GAAa,CACZ9M,MAAO64C,GAAUA,EAAO,GACxBvY,YAAcwY,GAAgBA,EAAa,IAAOxY,EAClD4X,WAAYA,EACZF,WAAYmB,EACZlB,YAAasB,EACb1lC,SAAUA,EACV9E,SAAU,SAAC3K,GAAmB,OAAAo1C,EAAmBp1C,IACjDgmC,WAAYA,EACZ+N,aAAcA,IAEhB,yBAAKhuC,UAAchI,EAAS,aAC1B,kBAAC,GAAM,CACLsX,QAAQ,UACR7W,KAAK,KACLuK,QA9CW,WACjB,IAAM4rC,EAAYM,EAAWrmC,KAAI,SAACsP,GAAS,OAAAA,EAAK/pB,OAC1CohD,EAAWZ,EAAUj+C,QAC3By+C,EAAgBrvC,SAAQ,SAAC3R,GAClBwgD,EAAUrmC,SAASna,IACtBohD,EAASpgD,KAAKhB,MAIZ,UAAWsD,IACf29C,EAAmB,IACnBJ,EAAc,EAAIpB,EAAWjuB,QAAO,SAACzH,GAAS,OAACq3B,EAASjnC,SAAS4P,EAAK/pB,UACtE+gD,EAAc,EAAItB,EAAWjuB,QAAO,SAACzH,GAAS,OAAAq3B,EAASjnC,SAAS4P,EAAK/pB,WAEvEwW,GAAYA,EAAS4qC,EAAU,QAASJ,IAiClC1lC,SAAqC,IAA3B0lC,EAAgBngD,QAC1B,kBAACuJ,EAAS,CAACC,KAAM,GAAIuH,UAAchI,EAAS,iBAC3Cy2C,QAAkCjyC,IAAnBiyC,EAAY,IAAoB,8BAAOA,EAAY,KAErE,kBAAC,GAAM,CACLn/B,QAAQ,UACR7W,KAAK,KACLuK,QAzEU,WAChB,IAAMysC,EAAWT,EAAWnmC,KAAI,SAACsP,GAAS,OAAAA,EAAK/pB,OACzCohD,EAAWC,EAAS9+C,QAC1B2+C,EAAiBvvC,SAAQ,SAAC3R,GACnBqhD,EAASlnC,SAASna,IACrBohD,EAASpgD,KAAKhB,MAIlB,IAAM8gD,EAAarB,EAAWjuB,QAAO,SAACzH,GAAS,OAACq3B,EAASjnC,SAAS4P,EAAK/pB,QACjE,UAAWsD,IACf69C,EAAoB,IACpBN,EAAc,EAAIpB,EAAWjuB,QAAO,SAACzH,GAAS,OAAAq3B,EAASjnC,SAAS4P,EAAK/pB,UACrE+gD,EAAc,EAAID,KAEpB,IAAMQ,EAAYR,EAAWrmC,KAAI,SAACsP,GAAS,OAAAA,EAAK/pB,OAChDwW,GAAYA,EAAS8qC,EAAW,OAAQJ,IA0DlC5lC,SAAsC,IAA5B4lC,EAAiBrgD,QAC1Bw/C,QAAkCjyC,IAAnBiyC,EAAY,IAAoB,8BAAOA,EAAY,IACnE,kBAACj2C,EAAS,CAACC,KAAM,GAAIuH,UAAchI,EAAS,oBAGhD,kBAAC,GAAa,CACZnC,MAAO64C,GAAUA,EAAO,GACxBvY,YAAcwY,GAAgBA,EAAa,IAAOxY,EAClD4X,WAAYA,EACZF,WAAYqB,EACZpB,YAAawB,EACb5lC,SAAUA,EACV9E,SAAU,SAAC3K,GAAmB,OAAAs1C,EAAoBt1C,IAClDgmC,WAAYA,EACZ+N,aAAcA,QAOxBQ,GAASvsC,YAAc,WAER,IC5IA,GD4IA,GE3Hf,cAGE,WACE+d,EACA2vB,EACAC,EACAC,GAEAp8C,KAAKq8C,UAAYr8C,KAAKs8C,eACpB/vB,EACA2vB,EACAC,EACAC,EACA,IA4JN,OAxJU,YAAAE,eAAR,SACE/vB,EACA2vB,EACAC,EACAC,EACAG,GALF,WAOE,OAAOhwB,EAAKnX,KAAI,SAACsP,EAAMhL,GACb,IAAA/e,EAAmE+pB,EAAI,IAAlEtiB,EAA8DsiB,EAAI,MAA3DtZ,EAAuDsZ,EAAI,SAAjD83B,EAA6C93B,EAAI,gBAAhCzO,EAA4ByO,EAAI,SAAnBxf,EAAU,EAAKwf,EAArE,yDACA+3B,EAAYF,EAAYA,EAAY,IAAI7iC,EAAQ,GAAGA,EACnDna,EAAI,OACL2F,GAAU,CACbvK,IAAG,EACH8hD,UAAS,EACTr6C,MAAOA,GAAS,MAChB6T,SAAUA,IAAY,EACtBumC,gBAAiBA,IAAmB,EACpC98B,UAAS/kB,GAAMuhD,EAAmBpnC,SAASna,GAC3C2kB,eAAe,EACfo9B,SAAUN,KAAqBzhD,GAAMwhD,EAAoBrnC,SAASna,GAClE4hD,UAAS,IAGX,GAAInxC,EAAU,CACZ7L,EAAK6L,SAAW,EAAKkxC,eACnBlxC,EACA8wC,EACAC,EACAC,EACAK,GAEF,IAAMn9B,EAAgB,EAAKw7B,gBAAgBv7C,GAC3C,OAAO,OACFA,GAAI,CACP+f,cAAa,IAGjB,OAAO/f,MAIX,sBAAI,oBAAK,C,IAAT,WACE,OAAOS,KAAKq8C,W,gCAGd,YAAAM,mBAAA,SAAmBF,GAKjB,IAJA,IAAMj2C,EAAOi2C,EAAUpwC,MAAM,KAAK+I,KAAI,SAACsP,GAAS,OAAAhG,SAASgG,MAErD6nB,EAA2BvsC,KAAKq8C,UAChCl2C,OAA2B4C,EACb,MAAAvC,EAAA,eAAM,CAAnB,IAAM7L,EAAG,KACR4xC,IAEFA,EAAOpmC,OADPA,EAASomC,EAAK5xC,SACD,EAANwL,EAAQiF,UAInB,OAAOjF,GAGT,YAAA20C,gBAAA,SAAgBv7C,GACd,GAAIA,EAAK6L,SAAU,CACjB,GAAI7L,EAAK6L,SAASyf,MAAK,SAAChwB,GAAM,OAAAA,EAAEykB,iBAC9B,OAAO,EAET,IAAMs9B,EAAer9C,EAAK6L,SAAS+gB,QAAO,SAACtxB,GAAM,OAAAA,EAAE6kB,WAASlkB,OAC5D,OAAOohD,EAAe,GAAKA,EAAer9C,EAAK6L,SAAS5P,OAE1D,OAAO,GAGT,YAAAqhD,cAAA,SAAczxC,EAAkB0xC,GAAhC,WACE1xC,EAASkB,SAAQ,SAAC+I,GACZA,EAAMY,WAIVZ,EAAMqK,QAAUo9B,EAChBznC,EAAMiK,cAAgB,EAAKw7B,gBAAgBzlC,GACvCA,EAAMjK,UACR,EAAKyxC,cAAcxnC,EAAMjK,SAAU0xC,QAKzC,YAAAC,YAAA,SAAYx9C,GACV,IAAIA,EAAK0W,SAAT,CAIA,IAAM7K,EAAW7L,EAAK6L,SAChBwxC,EAAexxC,EAAS+gB,QAAO,SAACtxB,GAAM,OAAAA,EAAE6kB,WAASlkB,OACvD+D,EAAKmgB,QAAUk9B,IAAiBxxC,EAAS5P,OACzC+D,EAAK+f,cAAgBtf,KAAK86C,gBAAgBv7C,GAC1C,IAAMgkB,EAAavjB,KAAK28C,mBAAmBp9C,EAAKg9C,WAC5Ch5B,GACFvjB,KAAK+8C,YAAYx5B,KAIrB,YAAAy5B,eAAA,SAAeP,EAAmBK,GAChC,IAAMv9C,EAAOS,KAAK28C,mBAAmBF,GACrC,GAAIl9C,EAAM,CACRA,EAAKmgB,QAAUo9B,EAGXv9C,EAAK6L,UACPpL,KAAK68C,cAAct9C,EAAK6L,SAAU0xC,GAEpCv9C,EAAK+f,cAAgBtf,KAAK86C,gBAAgBv7C,GAG1C,IAAMgkB,EAAavjB,KAAK28C,mBAAmBp9C,EAAKg9C,WAC5Ch5B,GACFvjB,KAAK+8C,YAAYx5B,KAKvB,YAAA05B,gBAAA,SAAgBR,EAAmBS,GACjC,IAAM39C,EAAOS,KAAK28C,mBAAmBF,GACjCl9C,IACFA,EAAKm9C,SAAWQ,IAOZ,YAAAC,gBAAR,SAAwB59C,EAAY69C,EAAc30B,GAAlD,WACU9tB,EAA6B4E,EAAI,IAA5Bk9C,EAAwBl9C,EAAI,UAAjB6L,EAAa7L,EAAI,SACpCA,EAAa69C,IAChB30B,EAAK9sB,KAAKhB,GAAY8hD,GAEpBrxC,GACFA,EAASkB,SAAQ,SAAC+I,GAChB,EAAK8nC,gBAAgB9nC,EAAO+nC,EAAM30B,OAKxC,YAAA40B,eAAA,sBACQ72C,EAAiB,GAEvB,OADAxG,KAAKs9C,MAAMhxC,SAAQ,SAAC/M,GAAS,SAAK49C,gBAAgB59C,EAAM,UAAWiH,MAC5DA,GAGT,YAAA+2C,gBAAA,sBACQ/2C,EAAiB,GAEvB,OADAxG,KAAKs9C,MAAMhxC,SAAQ,SAAC/M,GAAS,SAAK49C,gBAAgB59C,EAAM,WAAYiH,MAC7DA,GAEX,EA1KA,GCKMg3C,GAAW,SAACv/C,G,QAEdw/C,EAUEx/C,EAAK,OATPy/C,EASEz/C,EAAK,UARPgqC,EAQEhqC,EAAK,MAPPsB,EAOEtB,EAAK,KANP0/C,EAME1/C,EAAK,UALPsO,EAKEtO,EAAK,UAJP2/C,EAIE3/C,EAAK,cAHP4/C,EAGE5/C,EAAK,iBAFP6/C,EAEE7/C,EAAK,eADI6G,EACT7G,EAAK,UACHkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,YAAawK,EAAc5K,UAAWO,GAC7D1C,EAAmE7C,EAAI,MAAhEmgB,EAA4DngB,EAAI,QAAvDmP,EAAmDnP,EAAI,KAAjDm9C,EAA6Cn9C,EAAI,SAAvCi9C,EAAmCj9C,EAAI,gBAAtB+f,EAAkB/f,EAAI,cACzEw+C,EAAWrvC,GAAQzQ,EAAMyQ,KACzBuH,EAAW1W,EAAK0W,UAAYhY,EAAMgY,SAClC7G,EAAM,IAAW7K,EAAWgI,IAAS,MACrChI,EAAS,UAAWm5C,EACxB,EAAIn5C,EAAS,aAAc0R,E,IAGvB+nC,EAAkB,SAAC5gD,GACvBA,EAAEkmB,kBACFw6B,EAAev+C,EAAKk9C,WAAYC,EAAUt/C,IAQ5C,OACE,wBAAImP,UAAW6C,GACb,yBAAK7C,UAAchI,EAAS,UAAWwK,MAAO,CAAE4H,YAAa8mC,EAASxV,IACpE,0BAAM17B,UAAchI,EAAS,aAAcgL,QAASyuC,GACjDz+C,EAAK6L,WACH2yC,EACCA,EAASrB,GAET,kBAACz2C,EAAS,CACRsG,UAAW,IAAchI,EAAS,WAAS,KACzC,EAAIA,EAAS,kBAAmBm4C,E,QAKzCiB,GACC,kBAAC,GAAQ,CACPj+B,QAASA,EACTJ,cAAeA,EACfnO,SAxBe,SAAC/T,GACxBA,EAAEkmB,kBACFu6B,EAAiBt+C,EAAKk9C,UAAWr/C,IAuBzB6Y,SAAUA,GAAYumC,IAG1B,0BAAMjwC,UAAchI,EAAS,UAAWgL,QAASyuC,GAC9C57C,IAGJ7C,EAAK6L,UACJ,kBAAC,GAAkB,CAAC4D,OAAQ0tC,GAC1B,wBAAInwC,UAAWqxC,EAAa,aAAc3V,EAAQ,GAC/C1oC,EAAK6L,UACJ7L,EAAK6L,SAASgK,KAAI,SAAC7V,GAAS,OAC1B,kBAACi+C,GAAQ,KAAKv/C,EAAK,CAAEtD,IAAK4E,EAAKk9C,UAAWl9C,KAAMA,EAAM0oC,MAAOA,EAAQ,YASrFuV,GAAShvC,YAAc,WAER,UC5FTyvC,GAAO,IAAMzoC,YACjB,SAACvX,EAAkBiR,GAEf,MAYEjR,EAAK,KAZPsuB,OAAI,IAAG,KAAE,EACT,EAWEtuB,EAAK,mBAXPi+C,OAAkB,IAAG,KAAE,EACvB,EAUEj+C,EAAK,oBAVPk+C,OAAmB,IAAG,KAAE,EACxB,EASEl+C,EAAK,iBATPm+C,OAAgB,IAAG,GAAK,EACxB,EAQEn+C,EAAK,OARPw/C,OAAM,IAAG,KAAE,EACX,EAOEx/C,EAAK,UAPPy/C,OAAS,IAAG,GAAI,EAChB,EAMEz/C,EAAK,UANP0/C,OAAS,IAAG,GAAK,EACjB,EAKE1/C,EAAK,SALPgY,OAAQ,IAAG,GAAK,EAChBioC,EAIEjgD,EAAK,QAHPkgD,EAGElgD,EAAK,SAFPsO,EAEEtO,EAAK,UADI6G,EACT7G,EAAK,UACHkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,OAAQwK,EAAc5K,UAAWO,GAC1DsK,EAAM,IAAW7K,EAAWgI,GAC5B6xC,EAAe,iBACnB,IAAI,GAAa7xB,EAAM2vB,EAAoBC,EAAqBC,IAE5D,EAA4B,mBAASgC,EAAavzC,QAAQyyC,OAAzDjB,EAAS,KAAEgC,EAAY,KAExBR,EAAmB,SAACljD,EAAayC,GACrC,IAAMkhD,EAAOF,EAAavzC,QAC1ByzC,EAAKtB,eAAeriD,EAAKyC,EAAEma,cAAcmI,SACzC2+B,EAAa,EAAID,EAAavzC,QAAQyyC,QACtCY,GAAWA,EAAQI,EAAKjB,iBAAkBjgD,IAGtC0gD,EAAiB,SAACnjD,EAAauiD,EAAqB9/C,GACxD,IAAMkhD,EAAOF,EAAavzC,QAC1ByzC,EAAKrB,gBAAgBtiD,EAAKuiD,GAC1BmB,EAAa,EAAID,EAAavzC,QAAQyyC,QACtCa,GAAYA,EAASG,EAAKf,kBAAmBngD,IAG/C,OACE,wBAAImP,UAAW6C,EAAKF,IAAKA,EAAG,aAAc,GACvCmtC,EAAUjnC,KAAI,SAACsP,GAAS,OACvB,kBAAC,GAAQ,KACHzmB,EAAK,CACTtD,IAAK+pB,EAAK+3B,UACVl9C,KAAMmlB,EACNujB,MAAO,EACPwV,OAAQA,EACRC,UAAWA,EACXC,UAAWA,EACX1nC,SAAUA,EACV2nC,cAAexuC,EACfyuC,iBAAkBA,EAClBC,eAAgBA,YAQ5BG,GAAKzvC,YAAc,OAEJ,ICpEA,GDoEA,GE7BA,GAVC,SAACvQ,GACP,MAA6BA,EAAK,MAAlCgqC,OAAK,IAAG,IAAC,EAAK/iC,EAAU,EAAKjH,EAA/B,WACN,GAAIgqC,EAAQ,GAAKA,EAAQ,EAEvB,OADAlwB,QAAQ6vB,KAAK,2CACN,KAET,IAAMh8B,EA/BiB,SAAC2yC,EAAkB/vC,GAC1C,IAAM5C,EAAY,IAAM4J,YACtB,SAACvX,EAAqBiR,GACZ,IAAWpK,EAAsD7G,EAAK,UAA5CsO,EAAuCtO,EAAK,UAAjCmN,EAA4BnN,EAAK,SAApBiH,EAAU,EAAKjH,EAAnE,sCACAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,aAAcwK,EAAc5K,UAAWO,GAChEsK,EAAM,IAAW7K,EAAWgI,GAElC,OAAO,IAAMjB,cACXizC,EAAQ,OAEHr5C,GAAU,CACbgK,IAAG,EACH3C,UAAW6C,IAEbhE,MAON,OAFAQ,EAAU4C,YAAcA,EAEjB5C,EASW4yC,CAAiB,IAAIvW,EAAS,IAAIA,GACpD,OAAO,kBAACr8B,EAAS,KAAK1G,KChClBu5C,GAAa,IAAMjpC,YACvB,SAACvX,EAAwBiR,GACf,IAAA3C,EAAiEtO,EAAK,UAA3DmN,EAAsDnN,EAAK,SAAtC6G,EAAiC7G,EAAK,UAApBiH,EAAU,EAAKjH,EAAnE,sCACAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,aAAcwK,EAAc5K,UAAWO,GAChEsK,EAAM,IAAW7C,EAAWhI,GAClC,OACE,2BAAK2K,IAAKA,EAAK3C,UAAW6C,GAASlK,GAChCkG,MAMTqzC,GAAWjwC,YAAc,aAEV,UChBTkwC,GAAY,IAAMlpC,YACtB,SAACvX,EAAuBiR,GACd,IAAA3C,EAAiEtO,EAAK,UAA3DmN,EAAsDnN,EAAK,SAAtC6G,EAAiC7G,EAAK,UAApBiH,EAAU,EAAKjH,EAAnE,sCACAkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,aAAcwK,EAAc5K,UAAWO,GAChEsK,EAAM,IAAW7C,EAAWhI,GAClC,OACE,yBAAG2K,IAAKA,EAAK3C,UAAW6C,GAASlK,GAC9BkG,MAMTszC,GAAUlwC,YAAc,YAET,UChBTmwC,GAAe,SACnBjgD,EACAkgD,EACAx/C,GAEA,OAAKV,EACE,IAAM4M,cAAcszC,EAAK,GAAIx/C,GADZA,GAwCX,GApCF,SAACnB,GAEV,MAYEA,EAAK,KAZP4gD,OAAI,IAAG,GAAK,EACZ,EAWE5gD,EAAK,IAXP6gD,OAAG,IAAG,GAAK,EACX,EAUE7gD,EAAK,UAVPioC,OAAS,IAAG,GAAK,EACjB,EASEjoC,EAAK,OATP8gD,OAAM,IAAG,GAAK,EACd,EAQE9gD,EAAK,OARP+gD,OAAM,IAAG,GAAK,EACd,EAOE/gD,EAAK,KAPPm1C,OAAI,IAAG,GAAK,EACZ,EAMEn1C,EAAK,IANPghD,OAAG,IAAG,GAAK,EACX,EAKEhhD,EAAK,IALPihD,OAAG,IAAG,GAAK,EACX3yC,EAIEtO,EAAK,UAHPmN,EAGEnN,EAAK,SAFI6G,EAET7G,EAAK,UADJiH,EAAU,EACXjH,EAbE,oGAeFkhD,EAAOR,GAAaE,EAAM,OAAQzzC,GACtC+zC,EAAOR,GAAaG,EAAK,MAAOK,GAChCA,EAAOR,GAAazY,EAAW,IAAKiZ,GACpCA,EAAOR,GAAaI,EAAQ,SAAUI,GACtCA,EAAOR,GAAaK,EAAQ,IAAKG,GACjCA,EAAOR,GAAavL,EAAM,OAAQ+L,GAClCA,EAAOR,GAAaM,EAAK,MAAOE,GAChCA,EAAOR,GAAaO,EAAK,MAAOC,GAEhC,IAAMhwC,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,aAAcwK,EAAc5K,UAAWO,GAChEsK,EAAM,IAAW7C,EAAWhI,GAElC,OACE,8BAAUW,EAAU,CAAEqH,UAAW6C,IAC9B+vC,ICnCDC,GAAc,GACpBA,GAAYC,QAAU,GACtBD,GAAYV,UAAY,GACxBU,GAAYE,KAAO,GAEJ,UCHA,SAASC,GAAKC,GACnB,IAAAC,EAAmGD,EAAM,OAAjGE,EAA2FF,EAAM,KAA3FG,EAAqFH,EAAM,SAAjFI,EAA2EJ,EAAM,OAAzEK,EAAmEL,EAAM,WAA7DM,EAAuDN,EAAM,UAAlDO,EAA4CP,EAAM,QAAzCQ,EAAmCR,EAAM,QAAhCS,EAA0BT,EAAM,gBAAfjzB,EAASizB,EAAM,KAC3GU,EAAM,IAAIC,eAChBD,EAAIvU,KAAKiU,EAAQH,GAAQ,GACzBS,EAAIE,QAAUL,EACdG,EAAIG,OAASP,EACTI,EAAII,SACNJ,EAAII,OAAOC,WAAa,SAAkBnjD,GACxC,GAAIA,EAAE0uC,MAAQ,EAAG,CACf,IAAMgB,EAAW1vC,EAAEojD,OAASpjD,EAAE0uC,MAAS,IACvC+T,EAAW/S,MAKbmT,GAAmB,oBAAqBC,IAC1CA,EAAID,iBAAkB,GAGxB,IAAMQ,EAAW,IAAIC,SASrB,GARAD,EAASE,OAAOhB,EAAUD,GAEtBnzB,GACFzyB,OAAO0M,KAAK+lB,GAAMjgB,SAAQ,SAAC3R,GACzB8lD,EAASE,OAAOhmD,EAAK4xB,EAAK5xB,OAI1BqlD,EACF,IAAK,IAAMt7B,KAAQs7B,EACbA,EAAQt7B,IACVw7B,EAAIU,iBAAiBl8B,EAAMs7B,EAAQt7B,IAMzC,OADAw7B,EAAIW,KAAKJ,GACFP,ECvCT,IAAMY,GAAa,SAAC7iD,GACV,IAAAsG,EAAkCtG,EAAK,UAA5B8iD,EAAuB9iD,EAAK,SAAlB+iD,EAAa/iD,EAAK,SAE/C,OACE,wBAAIsO,UAAchI,EAAS,iBACxBw8C,EAAS3rC,KAAI,SAACsqC,GACL,IAAAuB,EAA+BvB,EAAI,IAA9B/lD,EAA0B+lD,EAAI,KAAxB13C,EAAoB03C,EAAI,OAAhB5S,EAAY4S,EAAI,QAC3C,OACE,wBAAI/kD,IAAKsmD,EAAK10C,UAAchI,EAAS,sBACnC,yBAAKgI,UAAchI,EAAS,gCAC1B,kBAACgB,EAAS,CAACP,KAAM,GAAIC,MAAM,wBAC3B,0BAAMsH,UAAchI,EAAS,2BAA4B5K,GACzD,0BAAM4S,UAAchI,EAAS,6BACf,SAAXyD,GAAqB,kBAACxC,EAAW,CAACR,KAAM,KAC7B,UAAXgD,GAAsB,kBAACvC,EAAW,CAACT,KAAM,KAC9B,cAAXgD,GACC,kBAACpC,EAAa,CACZmJ,MAAO,CAAET,UAAW,gCACpBrJ,MAAM,UACND,KAAM,MAIZ,0BACEuH,UAAchI,EAAS,4BACvBgL,QAAS,WAAY,OAAAyxC,GAAYA,EAAStB,KAAK,MAIvC,cAAX13C,GACC,kBAAC,GAAS4lC,IAAG,CACXZ,YAAY,OACZF,QAASA,EACTe,UAAU,EACV9+B,MAAO,CAAEW,UAAW,GACpBqtB,YAAa,UAU7B+jB,GAAWtyC,YAAc,aAEV,UChDT0yC,GAAe,SAACjjD,G,MACZkjD,EAA0CljD,EAAK,OAAvCgY,EAAkChY,EAAK,SAA7BsG,EAAwBtG,EAAK,UAAlBmN,EAAanN,EAAK,SACjD,EAA0B,oBAAS,GAAlCmjD,EAAQ,KAAEC,EAAW,KACtBjyC,EAAM,IAAc7K,EAAS,oBAAiB,MAC9CA,EAAS,4BAA6B68C,EAC1C,EAAI78C,EAAS,4BAA6B0R,E,IAGtCqrC,EAAiB,SAAClkD,EAAoCmkD,GAC1DnkD,EAAEuY,iBACGM,GACHorC,EAAYE,IAYhB,OACE,yBACEh1C,UAAW6C,EACXoyC,WAAY,SAACpkD,GAAY,OAAAkkD,EAAelkD,GAAG,IAC3CqkD,YAAa,SAACrkD,GAAY,OAAAkkD,EAAelkD,GAAG,IAC5CskD,OAbe,SAACtkD,GAClBA,EAAEuY,iBACGM,IACHorC,GAAY,GACZF,EAAO/jD,EAAEukD,aAAaC,UAUrBx2C,IAKP81C,GAAa1yC,YAAc,eAEZ,UCrCTqzC,GAAS,SAAC5jD,G,MAEZ,EAyBEA,EAAK,gBAzBP6jD,OAAe,IAAG,KAAE,EACpB,EAwBE7jD,EAAK,YAxBP8jD,OAAW,IAAG,EAAAxC,GAAI,EAClB,EAuBEthD,EAAK,SAvBPgY,OAAQ,IAAG,GAAK,EAChB,EAsBEhY,EAAK,OAtBP2hD,OAAM,IAAG,SAAM,EACfI,EAqBE/hD,EAAK,QApBPgiD,EAoBEhiD,EAAK,gBAnBP+jD,EAmBE/jD,EAAK,OAlBPwhD,EAkBExhD,EAAK,OAjBPgkD,EAiBEhkD,EAAK,SAhBPtE,EAgBEsE,EAAK,KAfPsuB,EAeEtuB,EAAK,KAdPikD,EAcEjkD,EAAK,KAbPkkD,EAaElkD,EAAK,aAZPy7C,EAYEz7C,EAAK,MAXPmkD,EAWEnkD,EAAK,SAVP4hD,EAUE5hD,EAAK,WATP6hD,EASE7hD,EAAK,UARP8hD,EAQE9hD,EAAK,QAPPkT,EAOElT,EAAK,SANP+iD,EAME/iD,EAAK,SALPqoC,EAKEroC,EAAK,IAJPsO,EAIEtO,EAAK,UAHP8Q,EAGE9Q,EAAK,MAFPmN,EAEEnN,EAAK,SADI6G,EACT7G,EAAK,UACHkR,EAAgB,qBAAW9K,GAC3BE,EAAYI,EAAa,SAAUwK,EAAc5K,UAAWO,GAC5DsK,EAAM,IAAW7K,EAAWgI,IAAS,MACrChI,EAAS,aAAc0R,E,IAEvBosC,EAAU,iBAAgC,MAC1C,EAA0B,mBAC9B,aAAcpkD,GAASrC,MAAMC,QAAQoC,EAAM8iD,UAAY9iD,EAAM8iD,SAAWe,GADnEf,EAAQ,KAAEuB,EAAW,KAItBC,EAAiB,SAACC,EAAwBC,GAC9CH,GAAY,SAACl6C,GACX,OAAAA,EAAUgN,KAAI,SAACsqC,GACb,OAAIA,EAAKuB,MAAQuB,EAAWvB,IACnB,OAAKvB,GAAS+C,GAEd/C,SA4BTgD,EAAc,SAAChD,GAEnB,IAAMiD,EAAyB,CAC7B1B,IAAK,QAAUrgD,KAAKhE,MACpBjD,KAAM+lD,EAAK/lD,KACXqO,OAAQ,QACR8kC,QAAS,GAEXwV,GAAY,SAACl6C,GAAc,UAACu6C,GAAev6C,MAE3C25C,EAAY,CACV/B,QAAO,EACPC,gBAAe,EACfP,KAAI,EACJnzB,KAAI,EACJozB,SAAUhmD,GAAQ+lD,EAAK/lD,KACvBimD,OAAM,EACNH,OAAM,EACNI,WAAY,SAAC/S,GAAoB,OAxCf,SAACA,EAAiB6V,GACtC,IAAMC,EAAiC,CAAE9V,QAAO,EAAE9kC,OAAQ,aAC1Du6C,EAAeI,EAAYC,GAC3B/C,GAAcA,EAAW/S,EAAS,OAAK6V,GAAeC,GAAa7B,GAqChC8B,CAAc/V,EAAS6V,IACxD7C,UAAW,SAAC1iD,GAAqB,OAnCf,SAACA,EAAkBulD,GACvC,IAAMC,EAAiC,CAAE56C,OAAQ,QACjDu6C,EAAeI,EAAYC,GAC3B,IAAME,EAAoB,OAAKH,GAAeC,GAC9C9C,GAAaA,EAAU1iD,EAAG0lD,EAAmB/B,GAC7C5vC,GAAYA,EAAS2xC,EAAmB/B,GA8BLgC,CAAc3lD,EAAGulD,IAClD5C,QAAS,SAAC3iD,GAAqB,OA5BhB,SAACA,EAAkBulD,GAEpCJ,EAAeI,EAAY,CAAE36C,OAAQ,UACrC,IAAM86C,EAAoB,OAAKH,GAFQ,CAAE36C,OAAQ,UAGjD+3C,GAAWA,EAAQ3iD,EAAG0lD,EAAmB/B,GACzC5vC,GAAYA,EAAS2xC,EAAmB/B,GAuBPiC,CAAW5lD,EAAGulD,OAI3CM,EAAc,SAACrB,GACflI,GAASqH,EAASvlD,OAASomD,EAAMpmD,OAASk+C,EAC5C0I,GAAYA,EAASR,EAAOb,GAIZnlD,MAAMi7C,KAAK+K,GACnBt1C,SAAQ,SAACozC,GACjB,GAAKyC,EAEE,CACL,IAAMtjB,EAAMsjB,EAAazC,GACrB7gB,GAAOA,aAAexR,QACxBwR,EAAItR,MAAK,SAAC21B,GAAwB,OAAAR,EAAYQ,OAC7B,IAARrkB,GACT6jB,EAAYhD,QANdgD,EAAYhD,OAoClB,OACE,oCACE,yBAAKnzC,UAAW6C,EAAKL,MAAOA,EAAOQ,QA1BV,WACtB0G,GACCosC,EAAQx3C,SACTw3C,EAAQx3C,QAA6Bs4C,UAwBrCjB,EACC,kBAAC,GAAY,CAAC39C,UAAWA,EAAW48C,OAAQ8B,EAAahtC,SAAUA,GAChE7K,GAED,EAGHk7B,GAAO,yBAAK/5B,UAAchI,EAAS,SAAU+hC,GAC9C,2BACEp3B,IAAKmzC,EACLL,OAAQA,EACRC,SAAUA,EACV50C,KAAK,OACL0B,MAAO,CAAEsT,QAAS,QAClBlR,SAjCmB,SAAC/T,GAC1B,IAAMwkD,EAAQxkD,EAAEma,cAAcqqC,MACzBA,IAGLqB,EAAYrB,GACRS,EAAQx3C,UACTw3C,EAAQx3C,QAA6BxQ,MAAQ,SA6B9C,kBAAC,GAAU,CAACkK,UAAWA,EAAWw8C,SAAUA,EAAUC,SAzBnC,SAAC2B,GACtBL,GAAY,SAACl6C,GAAc,OAAAA,EAAU+jB,QAAO,SAACuzB,GAAS,OAAAA,EAAKuB,MAAQ0B,EAAW1B,UAC9ED,GAAYA,EAAS2B,QA4BzBd,GAAOrzC,YAAc,SAEN,IC/KA,GD+KA,GE9KR,SAAS40C,GAAcC,GAC5B,OAAO,SAACplD,GACN,IAAMimC,EAAS,qBAAW,IAC1B,OAAO,kBAACmf,EAAgB,KAAKplD,EAAK,CAAEimC,OAAQA","file":"tiny.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"), require(\"react-dom\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\", \"react-dom\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"tiny\"] = factory(require(\"react\"), require(\"react-dom\"));\n\telse\n\t\troot[\"tiny\"] = factory(root[\"React\"], root[\"ReactDOM\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__0__, __WEBPACK_EXTERNAL_MODULE__2__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 12);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__0__;","/*!\n Copyright (c) 2017 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg) && arg.length) {\n\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\tif (inner) {\n\t\t\t\t\tclasses.push(inner);\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","module.exports = __WEBPACK_EXTERNAL_MODULE__2__;","var now = require('performance-now')\n , root = typeof window === 'undefined' ? global : window\n , vendors = ['moz', 'webkit']\n , suffix = 'AnimationFrame'\n , raf = root['request' + suffix]\n , caf = root['cancel' + suffix] || root['cancelRequest' + suffix]\n\nfor(var i = 0; !raf && i < vendors.length; i++) {\n raf = root[vendors[i] + 'Request' + suffix]\n caf = root[vendors[i] + 'Cancel' + suffix]\n || root[vendors[i] + 'CancelRequest' + suffix]\n}\n\n// Some versions of FF have rAF but not cAF\nif(!raf || !caf) {\n var last = 0\n , id = 0\n , queue = []\n , frameDuration = 1000 / 60\n\n raf = function(callback) {\n if(queue.length === 0) {\n var _now = now()\n , next = Math.max(0, frameDuration - (_now - last))\n last = next + _now\n setTimeout(function() {\n var cp = queue.slice(0)\n // Clear queue here to prevent\n // callbacks from appending listeners\n // to the current frame's queue\n queue.length = 0\n for(var i = 0; i < cp.length; i++) {\n if(!cp[i].cancelled) {\n try{\n cp[i].callback(last)\n } catch(e) {\n setTimeout(function() { throw e }, 0)\n }\n }\n }\n }, Math.round(next))\n }\n queue.push({\n handle: ++id,\n callback: callback,\n cancelled: false\n })\n return id\n }\n\n caf = function(handle) {\n for(var i = 0; i < queue.length; i++) {\n if(queue[i].handle === handle) {\n queue[i].cancelled = true\n }\n }\n }\n}\n\nmodule.exports = function(fn) {\n // Wrap in a new function to prevent\n // `cancel` potentially being assigned\n // to the native rAF function\n return raf.call(root, fn)\n}\nmodule.exports.cancel = function() {\n caf.apply(root, arguments)\n}\nmodule.exports.polyfill = function(object) {\n if (!object) {\n object = root;\n }\n object.requestAnimationFrame = raf\n object.cancelAnimationFrame = caf\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","// Generated by CoffeeScript 1.12.2\n(function() {\n var getNanoSeconds, hrtime, loadTime, moduleLoadTime, nodeLoadTime, upTime;\n\n if ((typeof performance !== \"undefined\" && performance !== null) && performance.now) {\n module.exports = function() {\n return performance.now();\n };\n } else if ((typeof process !== \"undefined\" && process !== null) && process.hrtime) {\n module.exports = function() {\n return (getNanoSeconds() - nodeLoadTime) / 1e6;\n };\n hrtime = process.hrtime;\n getNanoSeconds = function() {\n var hr;\n hr = hrtime();\n return hr[0] * 1e9 + hr[1];\n };\n moduleLoadTime = getNanoSeconds();\n upTime = process.uptime() * 1e9;\n nodeLoadTime = moduleLoadTime - upTime;\n } else if (Date.now) {\n module.exports = function() {\n return Date.now() - loadTime;\n };\n loadTime = Date.now();\n } else {\n module.exports = function() {\n return new Date().getTime() - loadTime;\n };\n loadTime = new Date().getTime();\n }\n\n}).call(this);\n\n//# sourceMappingURL=performance-now.js.map\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import React from 'react';\nimport { SizeType } from '../_utils/props';\nimport { SpaceSize } from '../space/types';\n\nexport interface ConfigContextProps {\n prefixCls?: string;\n componentSize?: SizeType;\n shimmer?: boolean;\n space?: SpaceSize;\n}\n\nexport const ConfigContext = React.createContext<ConfigContextProps>({\n prefixCls: 'ty',\n componentSize: 'md',\n shimmer: false,\n space: 'sm',\n});\n","/**\n * Check whether the target is in the array\n * @param target\n * @param array\n */\nexport const isOneOf = (target: string, array: string | string[]) => {\n if (Array.isArray(array)) {\n return array.includes(target);\n }\n\n return array === target;\n};\n\n/**\n * Transfer camel char to dash format\n * @param str\n */\nexport const camelCaseToDash = (str: string) => {\n const regex = /[A-Z]/g;\n return str.replace(regex, (word: string) => {\n return '-' + word.toLowerCase();\n });\n};\n\n/**\n * Covert hex color to rgb color including alpha channel\n * @param color: hex color\n * @param opacity: max 1\n */\nexport const convertHexToRGBA = (color: string, opacity = 1): string => {\n if (/^#[0-9A-F]{6}$/i.test(color)) {\n const hex = color.replace('#', '');\n const r = parseInt(hex.substring(0, 2), 16);\n const g = parseInt(hex.substring(2, 4), 16);\n const b = parseInt(hex.substring(4, 6), 16);\n\n return `rgba(${r},${g},${b},${opacity})`;\n }\n return color;\n};\n\n/**\n * Get class name from combining context prefix and customised class\n * @param suffixCls\n * @param contextPrefix\n * @param customisedCls\n */\nexport const getPrefixCls = (suffixCls: string, contextPrefix?: string, customisedCls?: string): string => {\n if (customisedCls) {\n return customisedCls;\n }\n return contextPrefix ? `${contextPrefix}-${suffixCls}` : `ty-${suffixCls}`;\n};\n","import React from 'react';\n\ntype IconProps = {\n className?: string;\n style?: React.CSSProperties;\n size?: number | string;\n color?: string;\n};\nexport const ArrowDown = (props: IconProps): React.ReactElement => {\n const { size = 20, color = 'currentcolor', ...otherProps } = props;\n return (\n <svg {...otherProps} width={size} height={size} viewBox=\"0 0 1024 1024\">\n <path\n fill={color}\n d=\"M472.064 751.552 72.832 352.32c-22.08-22.08-22.08-57.792 0-79.872 22.016-22.016 57.792-22.08 79.872 0L512 631.744l359.296-359.296c22.016-22.016 57.792-22.08 79.872 0 22.08 22.08 22.016 57.792 0 79.872l-399.232 399.232C529.856 773.568 494.144 773.568 472.064 751.552z\"\n />\n </svg>\n );\n};\n\nexport const PaperClip = (props: IconProps): React.ReactElement => {\n const { size = 20, color = 'currentcolor', ...otherProps } = props;\n return (\n <svg {...otherProps} width={size} height={size} viewBox=\"0 0 1024 1024\">\n <path\n fill={color}\n d=\"M596.600738 77.483387C707.652076-15.699749 863.952233-17.103951 945.87122 80.523296 1025.33565 175.225316 1000.817463 322.788809 897.886159 416.55918L500.872884 750.033876C428.941403 810.391556 330.343483 819.035113 279.34144 758.253245 228.350653 697.484792 254.004524 601.845857 325.904469 541.51464L549.255103 354.101205C568.4844 337.965909 597.16161 340.484261 613.234234 359.638868L613.234234 359.638868C629.339635 378.832538 626.827441 407.455341 607.577908 423.607617L384.227274 611.021052C346.503334 642.675196 335.433548 683.943896 348.847852 699.93044 362.276678 715.934291 404.796072 712.206837 442.550079 680.527464L829.892107 355.508911C905.161842 292.350105 923.282829 194.760822 876.364807 138.846101 829.422073 82.901929 730.238566 83.792991 654.923543 146.9898L207.957862 522.038537C112.028875 602.532515 99.523634 745.608046 180.046565 841.571538 260.588409 937.557569 403.622296 950.081865 499.571887 869.570599L901.909406 531.969334C921.04904 515.909275 949.653556 518.488625 965.72618 537.643231L965.72618 537.643231C981.831581 556.836901 979.334768 585.446798 960.232211 601.475747L557.894692 939.077011C423.555518 1051.800962 223.290899 1034.265449 110.540153 899.894342 0.612214 768.887326 14.525852 575.161364 139.830689 461.101188L596.600738 77.483387Z\"\n />\n </svg>\n );\n};\n\nexport const CheckCircle = (props: IconProps): React.ReactElement => {\n const { size = 20, color = '#52c41a', ...otherProps } = props;\n return (\n <svg {...otherProps} width={size} height={size} viewBox=\"0 0 1024 1024\">\n <path\n fill={color}\n d=\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64z m193.5 301.7l-210.6 292c-12.7 17.7-39 17.7-51.7 0L318.5 484.9c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.2 0 19.9 4.9 25.9 13.3l71.2 98.8 157.2-218c6-8.3 15.6-13.3 25.9-13.3H699c6.5 0 10.3 7.4 6.5 12.7z\"\n />\n </svg>\n );\n};\n\nexport const CloseCircle = (props: IconProps): React.ReactElement => {\n const { size = 20, color = '#f44336', ...otherProps } = props;\n return (\n <svg {...otherProps} width={size} height={size} viewBox=\"0 0 1024 1024\">\n <path\n fill={color}\n d=\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64z m165.4 618.2l-66-0.3L512 563.4l-99.3 118.4-66.1 0.3c-4.4 0-8-3.5-8-8 0-1.9 0.7-3.7 1.9-5.2l130.1-155L340.5 359c-1.2-1.5-1.9-3.3-1.9-5.2 0-4.4 3.6-8 8-8l66.1 0.3L512 464.6l99.3-118.4 66-0.3c4.4 0 8 3.5 8 8 0 1.9-0.7 3.7-1.9 5.2L553.5 514l130 155c1.2 1.5 1.9 3.3 1.9 5.2 0 4.4-3.6 8-8 8z\"\n />\n </svg>\n );\n};\n\nexport const WarningCircle = (props: IconProps): React.ReactElement => {\n const { size = 20, color = '#ff9800', ...otherProps } = props;\n return (\n <svg {...otherProps} width={size} height={size} viewBox=\"0 0 1024 1024\">\n <path\n fill={color}\n d=\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64z m-32 232c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V296z m32 440c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48z\"\n />\n </svg>\n );\n};\n\nexport const InfoCircle = (props: IconProps): React.ReactElement => {\n const { size = 20, color = '#1890ff', ...otherProps } = props;\n return (\n <svg {...otherProps} width={size} height={size} viewBox=\"0 0 1024 1024\">\n <path\n fill={color}\n d=\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64z m32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272z m-32-344c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48z\"\n />\n </svg>\n );\n};\n\nexport const LoadingCircle = (props: IconProps): React.ReactElement => {\n const { size = 20, color = '#1890ff', ...otherProps } = props;\n return (\n <svg {...otherProps} width={size} height={size} viewBox=\"0 0 1024 1024\">\n <path\n fill={color}\n d=\"M512.064 963.296c-96.16 0-189.344-30.816-267.68-89.472-95.744-71.712-157.856-176.48-174.848-294.912C52.544 460.448 82.688 342.464 154.4 246.688c148.096-197.76 429.44-238.08 627.136-90.08 82.88 62.08 142.016 151.584 166.56 252 4.192 17.184-6.336 34.496-23.488 38.688-17.152 4.064-34.496-6.304-38.688-23.488-20.992-86.048-71.68-162.752-142.752-215.968-169.376-126.88-410.56-92.288-537.536 77.216-61.472 82.08-87.296 183.2-72.704 284.736 14.56 101.536 67.808 191.296 149.888 252.736 169.536 127.04 410.688 92.384 537.6-77.12 33.216-44.384 56-94.112 67.648-147.84 3.776-17.28 20.896-28.256 38.048-24.512 17.28 3.744 28.256 20.8 24.512 38.048-13.664 62.784-40.224 120.832-78.976 172.672-71.712 95.744-176.48 157.888-294.976 174.848a449.402 449.402 0 0 1-64.608 4.672z\"\n />\n </svg>\n );\n};\n\nexport const QuestionCircle = (props: IconProps): React.ReactElement => {\n const { size = 20, color = '#ff9800', ...otherProps } = props;\n return (\n <svg {...otherProps} width={size} height={size} viewBox=\"0 0 1024 1024\">\n <path\n fill={color}\n d=\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64z m0 708c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40z m62.9-219.5c-18.5 7.1-30.9 25.1-30.9 44.8V620c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-21.5c0-23.1 6.7-45.9 19.9-64.9 12.9-18.6 30.9-32.8 52.1-40.9 34-13.1 56-41.6 56-72.7 0-44.1-43.1-80-96-80s-96 35.9-96 80v7.6c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V420c0-39.3 17.2-76 48.4-103.3C430.4 290.4 470 276 512 276s81.6 14.5 111.6 40.7C654.8 344 672 380.7 672 420c0 57.8-38.1 109.8-97.1 132.5z\"\n />\n </svg>\n );\n};\n\nexport const Check = (props: IconProps): React.ReactElement => {\n const { size = 20, color = 'currentcolor', ...otherProps } = props;\n return (\n <svg {...otherProps} width={size} height={size} viewBox=\"0 0 1024 1024\">\n <path\n fill={color}\n d=\"M887.904 298.208c-12.864-12.064-33.152-11.488-45.216 1.408L415.936 753.984l-233.12-229.696c-12.608-12.416-32.864-12.288-45.28 0.32-12.416 12.576-12.256 32.864 0.352 45.248l256.48 252.672c0.096 0.096 0.224 0.128 0.32 0.224s0.128 0.224 0.224 0.32c2.016 1.92 4.448 3.008 6.784 4.288 1.152 0.672 2.144 1.664 3.36 2.144 3.776 1.472 7.776 2.24 11.744 2.24 4.192 0 8.384-0.832 12.288-2.496 1.312-0.544 2.336-1.664 3.552-2.368 2.4-1.408 4.896-2.592 6.944-4.672 0.096-0.096 0.128-0.256 0.224-0.352 0.064-0.096 0.192-0.128 0.288-0.224L889.28 343.424c12.16-12.832 11.488-33.088-1.376-45.216z\"\n />\n </svg>\n );\n};\n\nexport const Close = (props: IconProps): React.ReactElement => {\n const { size = 20, color = 'currentcolor', ...otherProps } = props;\n return (\n <svg {...otherProps} width={size} height={size} viewBox=\"0 0 1024 1024\">\n <path\n fill={color}\n d=\"M782.426059 824.924989l-584.588225-584.727395c-11.987009-11.990079-11.984962-31.42778 0.005116-43.414789 11.990079-11.987009 31.42778-11.984962 43.414789 0.005117l584.588225 584.727395c11.987009 11.990079 11.984962 31.42778-0.005116 43.414788-11.989055 11.988032-31.42778 11.984962-43.414789-0.005116z\"\n />\n <path\n fill={color}\n d=\"M197.768249 824.856427c-11.987009-11.990079-11.984962-31.42778 0.005117-43.414788l584.727394-584.589249c11.990079-11.987009 31.42778-11.984962 43.414789 0.005117 11.987009 11.990079 11.984962 31.42778-0.005116 43.414788l-584.727395 584.589249c-11.990079 11.987009-31.42778 11.984962-43.414789-0.005117z\"\n />\n </svg>\n );\n};\n\nexport const Eye = (props: IconProps): React.ReactElement => {\n const { size = 20, color = 'currentcolor', ...otherProps } = props;\n return (\n <svg {...otherProps} width={size} height={size} viewBox=\"0 0 1024 1024\">\n <path\n fill={color}\n d=\"M942.2 486.2C847.4 286.5 704.1 186 512 186c-192.2 0-335.4 100.5-430.2 300.3-7.7 16.2-7.7 35.2 0 51.5C176.6 737.5 319.9 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0-51.5zM512 766c-161.3 0-279.4-81.8-362.7-254C232.6 339.8 350.7 258 512 258c161.3 0 279.4 81.8 362.7 254C791.5 684.2 673.4 766 512 766z\"\n />\n <path\n fill={color}\n d=\"M508 336c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176z m0 288c-61.9 0-112-50.1-112-112s50.1-112 112-112 112 50.1 112 112-50.1 112-112 112z\"\n />\n </svg>\n );\n};\n\nexport const EyeClose = (props: IconProps): React.ReactElement => {\n const { size = 20, color = 'currentcolor', ...otherProps } = props;\n return (\n <svg {...otherProps} width={size} height={size} viewBox=\"0 0 1024 1024\">\n <path\n fill={color}\n d=\"M942.3 486.4l-0.1-0.1-0.1-0.1c-36.4-76.7-80-138.7-130.7-186L760.7 351c43.7 40.2 81.5 93.7 114.1 160.9C791.5 684.2 673.4 766 512 766c-51.3 0-98.3-8.3-141.2-25.1l-54.7 54.7C374.6 823.8 439.8 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0.1-51.3zM878.3 154.2l-42.4-42.4c-3.1-3.1-8.2-3.1-11.3 0L707.8 228.5C649.4 200.2 584.2 186 512 186c-192.2 0-335.4 100.5-430.2 300.3v0.1c-7.7 16.2-7.7 35.2 0 51.5 36.4 76.7 80 138.7 130.7 186.1L111.8 824.5c-3.1 3.1-3.1 8.2 0 11.3l42.4 42.4c3.1 3.1 8.2 3.1 11.3 0l712.8-712.8c3.1-3 3.1-8.1 0-11.2zM398.9 537.4c-1.9-8.2-2.9-16.7-2.9-25.4 0-61.9 50.1-112 112-112 8.7 0 17.3 1 25.4 2.9L398.9 537.4z m184.5-184.5C560.5 342.1 535 336 508 336c-97.2 0-176 78.8-176 176 0 27 6.1 52.5 16.9 75.4L263.3 673c-43.7-40.2-81.5-93.7-114.1-160.9C232.6 339.8 350.7 258 512 258c51.3 0 98.3 8.3 141.2 25.1l-69.8 69.8z\"\n />\n <path\n fill={color}\n d=\"M508 624c-6.4 0-12.7-0.5-18.8-1.6l-51.1 51.1c21.4 9.3 45.1 14.4 69.9 14.4 97.2 0 176-78.8 176-176 0-24.8-5.1-48.5-14.4-69.9l-51.1 51.1c1 6.1 1.6 12.4 1.6 18.8C620 573.9 569.9 624 508 624z\"\n />\n </svg>\n );\n};\n\nexport const TreeArrow = (props: IconProps): React.ReactElement => {\n const { size = 20, color = 'currentcolor', ...otherProps } = props;\n return (\n <svg {...otherProps} width={size} height={size} viewBox=\"0 0 1024 1024\">\n <path fill={color} d=\"M726.652801 429.305603 297.347199 429.305603 512.193405 638.156258Z\" />\n </svg>\n );\n};\n","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","export default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}","function replaceClassName(origClass, classToRemove) {\n return origClass.replace(new RegExp(\"(^|\\\\s)\" + classToRemove + \"(?:\\\\s|$)\", 'g'), '$1').replace(/\\s+/g, ' ').replace(/^\\s*|\\s*$/g, '');\n}\n\nexport default function removeClass(element, className) {\n if (element.classList) {\n element.classList.remove(className);\n } else if (typeof element.className === 'string') {\n ;\n element.className = replaceClassName(element.className, className);\n } else {\n element.setAttribute('class', replaceClassName(element.className && element.className.baseVal || '', className));\n }\n}","export default {\n disabled: false\n};","import React from 'react';\nexport default React.createContext(null);","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport config from './config';\nimport { timeoutsShape } from './utils/PropTypes';\nimport TransitionGroupContext from './TransitionGroupContext';\nexport var UNMOUNTED = 'unmounted';\nexport var EXITED = 'exited';\nexport var ENTERING = 'entering';\nexport var ENTERED = 'entered';\nexport var EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 1 },\n * entered: { opacity: 1 },\n * exiting: { opacity: 0 },\n * exited: { opacity: 0 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * <Transition in={inProp} timeout={duration}>\n * {state => (\n * <div style={{\n * ...defaultStyle,\n * ...transitionStyles[state]\n * }}>\n * I'm a fade Transition!\n * </div>\n * )}\n * </Transition>\n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n * <div>\n * <Transition in={inProp} timeout={500}>\n * {state => (\n * // ...\n * )}\n * </Transition>\n * <button onClick={() => setInProp(true)}>\n * Click to Enter\n * </button>\n * </div>\n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nvar Transition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n } // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n ;\n\n var _proto = Transition.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n if (nextStatus === ENTERING) {\n this.performEnter(mounting);\n } else {\n this.performExit();\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context ? this.context.isMounting : mounting;\n\n var _ref2 = this.props.nodeRef ? [appearing] : [ReactDOM.findDOMNode(this), appearing],\n maybeNode = _ref2[0],\n maybeAppearing = _ref2[1];\n\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter || config.disabled) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode);\n });\n return;\n }\n\n this.props.onEnter(maybeNode, maybeAppearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(maybeNode, maybeAppearing);\n\n _this2.onTransitionEnd(enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode, maybeAppearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit() {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts();\n var maybeNode = this.props.nodeRef ? undefined : ReactDOM.findDOMNode(this); // no exit animation skip right to EXITED\n\n if (!exit || config.disabled) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n return;\n }\n\n this.props.onExit(maybeNode);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(maybeNode);\n\n _this3.onTransitionEnd(timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(timeout, handler) {\n this.setNextCallback(handler);\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node, this.nextCallback],\n maybeNode = _ref3[0],\n maybeNextCallback = _ref3[1];\n\n this.props.addEndListener(maybeNode, maybeNextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n _in = _this$props.in,\n _mountOnEnter = _this$props.mountOnEnter,\n _unmountOnExit = _this$props.unmountOnExit,\n _appear = _this$props.appear,\n _enter = _this$props.enter,\n _exit = _this$props.exit,\n _timeout = _this$props.timeout,\n _addEndListener = _this$props.addEndListener,\n _onEnter = _this$props.onEnter,\n _onEntering = _this$props.onEntering,\n _onEntered = _this$props.onEntered,\n _onExit = _this$props.onExit,\n _onExiting = _this$props.onExiting,\n _onExited = _this$props.onExited,\n _nodeRef = _this$props.nodeRef,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\", \"mountOnEnter\", \"unmountOnExit\", \"appear\", \"enter\", \"exit\", \"timeout\", \"addEndListener\", \"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"onExited\", \"nodeRef\"]);\n\n return (\n /*#__PURE__*/\n // allows for nested Transitions\n React.createElement(TransitionGroupContext.Provider, {\n value: null\n }, typeof children === 'function' ? children(status, childProps) : React.cloneElement(React.Children.only(children), childProps))\n );\n };\n\n return Transition;\n}(React.Component);\n\nTransition.contextType = TransitionGroupContext;\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A React reference to DOM element that need to transition:\n * https://stackoverflow.com/a/51127130/4671932\n *\n * - When `nodeRef` prop is used, `node` is not passed to callback functions\n * (e.g. `onEnter`) because user already has direct access to the node.\n * - When changing `key` prop of `Transition` in a `TransitionGroup` a new\n * `nodeRef` need to be provided to `Transition` with changed `key` prop\n * (see\n * [test/CSSTransition-test.js](https://github.com/reactjs/react-transition-group/blob/13435f897b3ab71f6e19d724f145596f5910581c/test/CSSTransition-test.js#L362-L437)).\n */\n nodeRef: PropTypes.shape({\n current: typeof Element === 'undefined' ? PropTypes.any : PropTypes.instanceOf(Element)\n }),\n\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * <Transition in={this.state.in} timeout={150}>\n * {state => (\n * <MyComponent className={`fade fade-${state}`} />\n * )}\n * </Transition>\n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * By default the child component does not perform the enter transition when\n * it first mounts, regardless of the value of `in`. If you want this\n * behavior, set both `appear` and `in` to `true`.\n *\n * > **Note**: there are no special appear states like `appearing`/`appeared`, this prop\n * > only adds an additional enter transition. However, in the\n * > `<CSSTransition>` component that first enter transition does result in\n * > additional `.appear-*` classes, that way you can choose to style it\n * > differently.\n */\n appear: PropTypes.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. Timeouts are still used as a fallback if provided.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func\n} : {}; // Name the function so it is clearer in the documentation\n\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = UNMOUNTED;\nTransition.EXITED = EXITED;\nTransition.ENTERING = ENTERING;\nTransition.ENTERED = ENTERED;\nTransition.EXITING = EXITING;\nexport default Transition;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport addOneClass from 'dom-helpers/addClass';\nimport removeOneClass from 'dom-helpers/removeClass';\nimport React from 'react';\nimport Transition from './Transition';\nimport { classNamesShape } from './utils/PropTypes';\n\nvar _addClass = function addClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return addOneClass(node, c);\n });\n};\n\nvar removeClass = function removeClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return removeOneClass(node, c);\n });\n};\n/**\n * A transition component inspired by the excellent\n * [ng-animate](https://docs.angularjs.org/api/ngAnimate) library, you should\n * use it if you're using CSS transitions or animations. It's built upon the\n * [`Transition`](https://reactcommunity.org/react-transition-group/transition)\n * component, so it inherits all of its props.\n *\n * `CSSTransition` applies a pair of class names during the `appear`, `enter`,\n * and `exit` states of the transition. The first class is applied and then a\n * second `*-active` class in order to activate the CSS transition. After the\n * transition, matching `*-done` class names are applied to persist the\n * transition state.\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n * <div>\n * <CSSTransition in={inProp} timeout={200} classNames=\"my-node\">\n * <div>\n * {\"I'll receive my-node-* classes\"}\n * </div>\n * </CSSTransition>\n * <button type=\"button\" onClick={() => setInProp(true)}>\n * Click to Enter\n * </button>\n * </div>\n * );\n * }\n * ```\n *\n * When the `in` prop is set to `true`, the child component will first receive\n * the class `example-enter`, then the `example-enter-active` will be added in\n * the next tick. `CSSTransition` [forces a\n * reflow](https://github.com/reactjs/react-transition-group/blob/5007303e729a74be66a21c3e2205e4916821524b/src/CSSTransition.js#L208-L215)\n * between before adding the `example-enter-active`. This is an important trick\n * because it allows us to transition between `example-enter` and\n * `example-enter-active` even though they were added immediately one after\n * another. Most notably, this is what makes it possible for us to animate\n * _appearance_.\n *\n * ```css\n * .my-node-enter {\n * opacity: 0;\n * }\n * .my-node-enter-active {\n * opacity: 1;\n * transition: opacity 200ms;\n * }\n * .my-node-exit {\n * opacity: 1;\n * }\n * .my-node-exit-active {\n * opacity: 0;\n * transition: opacity 200ms;\n * }\n * ```\n *\n * `*-active` classes represent which styles you want to animate **to**, so it's\n * important to add `transition` declaration only to them, otherwise transitions\n * might not behave as intended! This might not be obvious when the transitions\n * are symmetrical, i.e. when `*-enter-active` is the same as `*-exit`, like in\n * the example above (minus `transition`), but it becomes apparent in more\n * complex transitions.\n *\n * **Note**: If you're using the\n * [`appear`](http://reactcommunity.org/react-transition-group/transition#Transition-prop-appear)\n * prop, make sure to define styles for `.appear-*` classes as well.\n */\n\n\nvar CSSTransition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(CSSTransition, _React$Component);\n\n function CSSTransition() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.appliedClasses = {\n appear: {},\n enter: {},\n exit: {}\n };\n\n _this.onEnter = function (maybeNode, maybeAppearing) {\n var _this$resolveArgument = _this.resolveArguments(maybeNode, maybeAppearing),\n node = _this$resolveArgument[0],\n appearing = _this$resolveArgument[1];\n\n _this.removeClasses(node, 'exit');\n\n _this.addClass(node, appearing ? 'appear' : 'enter', 'base');\n\n if (_this.props.onEnter) {\n _this.props.onEnter(maybeNode, maybeAppearing);\n }\n };\n\n _this.onEntering = function (maybeNode, maybeAppearing) {\n var _this$resolveArgument2 = _this.resolveArguments(maybeNode, maybeAppearing),\n node = _this$resolveArgument2[0],\n appearing = _this$resolveArgument2[1];\n\n var type = appearing ? 'appear' : 'enter';\n\n _this.addClass(node, type, 'active');\n\n if (_this.props.onEntering) {\n _this.props.onEntering(maybeNode, maybeAppearing);\n }\n };\n\n _this.onEntered = function (maybeNode, maybeAppearing) {\n var _this$resolveArgument3 = _this.resolveArguments(maybeNode, maybeAppearing),\n node = _this$resolveArgument3[0],\n appearing = _this$resolveArgument3[1];\n\n var type = appearing ? 'appear' : 'enter';\n\n _this.removeClasses(node, type);\n\n _this.addClass(node, type, 'done');\n\n if (_this.props.onEntered) {\n _this.props.onEntered(maybeNode, maybeAppearing);\n }\n };\n\n _this.onExit = function (maybeNode) {\n var _this$resolveArgument4 = _this.resolveArguments(maybeNode),\n node = _this$resolveArgument4[0];\n\n _this.removeClasses(node, 'appear');\n\n _this.removeClasses(node, 'enter');\n\n _this.addClass(node, 'exit', 'base');\n\n if (_this.props.onExit) {\n _this.props.onExit(maybeNode);\n }\n };\n\n _this.onExiting = function (maybeNode) {\n var _this$resolveArgument5 = _this.resolveArguments(maybeNode),\n node = _this$resolveArgument5[0];\n\n _this.addClass(node, 'exit', 'active');\n\n if (_this.props.onExiting) {\n _this.props.onExiting(maybeNode);\n }\n };\n\n _this.onExited = function (maybeNode) {\n var _this$resolveArgument6 = _this.resolveArguments(maybeNode),\n node = _this$resolveArgument6[0];\n\n _this.removeClasses(node, 'exit');\n\n _this.addClass(node, 'exit', 'done');\n\n if (_this.props.onExited) {\n _this.props.onExited(maybeNode);\n }\n };\n\n _this.resolveArguments = function (maybeNode, maybeAppearing) {\n return _this.props.nodeRef ? [_this.props.nodeRef.current, maybeNode] // here `maybeNode` is actually `appearing`\n : [maybeNode, maybeAppearing];\n };\n\n _this.getClassNames = function (type) {\n var classNames = _this.props.classNames;\n var isStringClassNames = typeof classNames === 'string';\n var prefix = isStringClassNames && classNames ? classNames + \"-\" : '';\n var baseClassName = isStringClassNames ? \"\" + prefix + type : classNames[type];\n var activeClassName = isStringClassNames ? baseClassName + \"-active\" : classNames[type + \"Active\"];\n var doneClassName = isStringClassNames ? baseClassName + \"-done\" : classNames[type + \"Done\"];\n return {\n baseClassName: baseClassName,\n activeClassName: activeClassName,\n doneClassName: doneClassName\n };\n };\n\n return _this;\n }\n\n var _proto = CSSTransition.prototype;\n\n _proto.addClass = function addClass(node, type, phase) {\n var className = this.getClassNames(type)[phase + \"ClassName\"];\n\n var _this$getClassNames = this.getClassNames('enter'),\n doneClassName = _this$getClassNames.doneClassName;\n\n if (type === 'appear' && phase === 'done' && doneClassName) {\n className += \" \" + doneClassName;\n } // This is for to force a repaint,\n // which is necessary in order to transition styles when adding a class name.\n\n\n if (phase === 'active') {\n /* eslint-disable no-unused-expressions */\n node && node.scrollTop;\n }\n\n if (className) {\n this.appliedClasses[type][phase] = className;\n\n _addClass(node, className);\n }\n };\n\n _proto.removeClasses = function removeClasses(node, type) {\n var _this$appliedClasses$ = this.appliedClasses[type],\n baseClassName = _this$appliedClasses$.base,\n activeClassName = _this$appliedClasses$.active,\n doneClassName = _this$appliedClasses$.done;\n this.appliedClasses[type] = {};\n\n if (baseClassName) {\n removeClass(node, baseClassName);\n }\n\n if (activeClassName) {\n removeClass(node, activeClassName);\n }\n\n if (doneClassName) {\n removeClass(node, doneClassName);\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n _ = _this$props.classNames,\n props = _objectWithoutPropertiesLoose(_this$props, [\"classNames\"]);\n\n return /*#__PURE__*/React.createElement(Transition, _extends({}, props, {\n onEnter: this.onEnter,\n onEntered: this.onEntered,\n onEntering: this.onEntering,\n onExit: this.onExit,\n onExiting: this.onExiting,\n onExited: this.onExited\n }));\n };\n\n return CSSTransition;\n}(React.Component);\n\nCSSTransition.defaultProps = {\n classNames: ''\n};\nCSSTransition.propTypes = process.env.NODE_ENV !== \"production\" ? _extends({}, Transition.propTypes, {\n /**\n * The animation classNames applied to the component as it appears, enters,\n * exits or has finished the transition. A single name can be provided, which\n * will be suffixed for each stage, e.g. `classNames=\"fade\"` applies:\n *\n * - `fade-appear`, `fade-appear-active`, `fade-appear-done`\n * - `fade-enter`, `fade-enter-active`, `fade-enter-done`\n * - `fade-exit`, `fade-exit-active`, `fade-exit-done`\n *\n * A few details to note about how these classes are applied:\n *\n * 1. They are _joined_ with the ones that are already defined on the child\n * component, so if you want to add some base styles, you can use\n * `className` without worrying that it will be overridden.\n *\n * 2. If the transition component mounts with `in={false}`, no classes are\n * applied yet. You might be expecting `*-exit-done`, but if you think\n * about it, a component cannot finish exiting if it hasn't entered yet.\n *\n * 2. `fade-appear-done` and `fade-enter-done` will _both_ be applied. This\n * allows you to define different behavior for when appearing is done and\n * when regular entering is done, using selectors like\n * `.fade-enter-done:not(.fade-appear-done)`. For example, you could apply\n * an epic entrance animation when element first appears in the DOM using\n * [Animate.css](https://daneden.github.io/animate.css/). Otherwise you can\n * simply use `fade-enter-done` for defining both cases.\n *\n * Each individual classNames can also be specified independently like:\n *\n * ```js\n * classNames={{\n * appear: 'my-appear',\n * appearActive: 'my-active-appear',\n * appearDone: 'my-done-appear',\n * enter: 'my-enter',\n * enterActive: 'my-active-enter',\n * enterDone: 'my-done-enter',\n * exit: 'my-exit',\n * exitActive: 'my-active-exit',\n * exitDone: 'my-done-exit',\n * }}\n * ```\n *\n * If you want to set these classes using CSS Modules:\n *\n * ```js\n * import styles from './styles.css';\n * ```\n *\n * you might want to use camelCase in your CSS file, that way could simply\n * spread them instead of listing them one by one:\n *\n * ```js\n * classNames={{ ...styles }}\n * ```\n *\n * @type {string | {\n * appear?: string,\n * appearActive?: string,\n * appearDone?: string,\n * enter?: string,\n * enterActive?: string,\n * enterDone?: string,\n * exit?: string,\n * exitActive?: string,\n * exitDone?: string,\n * }}\n */\n classNames: classNamesShape,\n\n /**\n * A `<Transition>` callback fired immediately after the 'enter' or 'appear' class is\n * applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEnter: PropTypes.func,\n\n /**\n * A `<Transition>` callback fired immediately after the 'enter-active' or\n * 'appear-active' class is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * A `<Transition>` callback fired immediately after the 'enter' or\n * 'appear' classes are **removed** and the `done` class is added to the DOM node.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntered: PropTypes.func,\n\n /**\n * A `<Transition>` callback fired immediately after the 'exit' class is\n * applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement)\n */\n onExit: PropTypes.func,\n\n /**\n * A `<Transition>` callback fired immediately after the 'exit-active' is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement)\n */\n onExiting: PropTypes.func,\n\n /**\n * A `<Transition>` callback fired immediately after the 'exit' classes\n * are **removed** and the `exit-done` class is added to the DOM node.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement)\n */\n onExited: PropTypes.func\n}) : {};\nexport default CSSTransition;","import hasClass from './hasClass';\nexport default function addClass(element, className) {\n if (element.classList) element.classList.add(className);else if (!hasClass(element, className)) if (typeof element.className === 'string') element.className = element.className + \" \" + className;else element.setAttribute('class', (element.className && element.className.baseVal || '') + \" \" + className);\n}","export default function hasClass(element, className) {\n if (element.classList) return !!className && element.classList.contains(className);\n return (\" \" + (element.className.baseVal || element.className) + \" \").indexOf(\" \" + className + \" \") !== -1;\n}","import React from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport { CSSTransitionProps } from 'react-transition-group/CSSTransition';\n\nexport type AnimationName =\n | 'zoom-center-top'\n | 'zoom-center-bottom'\n | 'zoom-center-left'\n | 'zoom-center-right'\n | 'zoom-top-start'\n | 'zoom-top'\n | 'zoom-top-end'\n | 'zoom-bottom-start'\n | 'zoom-bottom'\n | 'zoom-bottom-end'\n | 'zoom-left-start'\n | 'zoom-left'\n | 'zoom-left-end'\n | 'zoom-right-start'\n | 'zoom-right'\n | 'zoom-right-end'\n | 'slide-up'\n | 'slide-down';\n\nexport type TransitionProps = {\n /** Animation prefix */\n prefix?: string;\n\n /** Preset animation name */\n animation?: AnimationName;\n\n /** Prevent the transition conflict with the inner component */\n wrapper?: boolean;\n children?: React.ReactNode;\n} & Partial<CSSTransitionProps>;\n\nconst Transition = (props: TransitionProps): React.ReactElement => {\n const {\n timeout = 300,\n unmountOnExit = true,\n appear = true,\n prefix = 'ty',\n animation,\n classNames,\n children,\n wrapper,\n ...otherProps\n } = props;\n\n return (\n <CSSTransition\n {...otherProps}\n timeout={timeout}\n appear={appear}\n unmountOnExit={unmountOnExit}\n classNames={classNames ? classNames : `${prefix}-${animation}`}>\n {wrapper ? <div>{children}</div> : children}\n </CSSTransition>\n );\n};\n\nTransition.displayName = 'Transition';\n\nexport default Transition;\n","import React, { useState, useRef, useContext } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { CheckCircle, CloseCircle, InfoCircle, WarningCircle } from '../_utils/components';\nimport { AlertProps } from './types';\nimport Transition from '../transition';\n\nconst setClosedStyle = (node: HTMLElement): void => {\n node.style.borderTopWidth = '0';\n node.style.paddingTop = '0';\n node.style.marginTop = '0';\n node.style.height = '0';\n node.style.paddingBottom = '0';\n node.style.borderBottomWidth = '0';\n node.style.marginBottom = '0';\n};\n\nconst Alert = (props: AlertProps): JSX.Element => {\n const {\n type = 'info',\n iconSize = 14,\n prefixCls: customisedCls,\n title,\n icon,\n closeText,\n closable,\n afterClose,\n onClose,\n children,\n className,\n style,\n ...otherProps\n } = props;\n const [isShow, setShow] = useState(true);\n const ref = useRef<HTMLDivElement | null>(null);\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('alert', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className, [`${prefixCls}_${type}`]);\n\n const closeBtnOnClick = (e: React.MouseEvent<HTMLSpanElement>): void => {\n ref.current && setClosedStyle(ref.current as HTMLDivElement);\n setShow(false);\n onClose && onClose(e);\n };\n\n // Setting close text attribute also allows to be closable\n const closeIcon = (closable || closeText) && (\n <span role=\"button\" className={`${prefixCls}__close-btn`} onClick={closeBtnOnClick}>\n {closeText || '✕'}\n </span>\n );\n\n const renderIcon = (): React.ReactNode => {\n if (typeof icon === 'boolean') {\n switch (type) {\n case 'success':\n return <CheckCircle size={iconSize} className={`${prefixCls}__icon`} />;\n case 'info':\n return <InfoCircle size={iconSize} className={`${prefixCls}__icon`} />;\n case 'warning':\n return <WarningCircle size={iconSize} className={`${prefixCls}__icon`} />;\n case 'error':\n return <CloseCircle size={iconSize} className={`${prefixCls}__icon`} />;\n }\n }\n\n return icon;\n };\n\n return (\n <Transition timeout={300} in={isShow} onExited={afterClose}>\n <div {...otherProps} role=\"alert\" className={cls} style={style} ref={ref}>\n {icon && renderIcon()}\n <div>\n {title && <p className={`${prefixCls}__title`}>{title}</p>}\n {children}\n </div>\n {closeIcon}\n </div>\n </Transition>\n );\n};\n\nexport default Alert;\n","import React from 'react';\n\ntype Props = {\n activeId?: string;\n onClick?: (e: React.MouseEvent<HTMLAnchorElement>, anchorName: string) => void;\n};\n\nexport const AnchorContext = React.createContext<Props>({});\n","export type Target = HTMLElement | Window;\n\nexport const getScroll = (node: Target, isVertical = true): number => {\n if (typeof window === 'undefined') {\n return 0;\n }\n const windowProp = isVertical ? 'pageYOffset' : 'pageXOffset';\n const elementProp = isVertical ? 'scrollTop' : 'scrollLeft';\n return node === window ? (node as Window)[windowProp] : (node as HTMLElement)[elementProp];\n};\n\nexport const getRect = (node: Target = window): ClientRect => {\n return node !== window\n ? (node as HTMLElement).getBoundingClientRect()\n : {\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n width: window.document.documentElement.clientWidth,\n height: window.document.documentElement.clientHeight,\n };\n};\n\n/**\n * Get element absolute position relative to the root\n * @param node\n */\nexport const getAbsolutePosition = (node: Target = window): { x: number; y: number } => {\n if (node === window) {\n return { x: 0, y: 0 };\n }\n const x =\n (node as HTMLElement).getBoundingClientRect().left + document.documentElement.scrollLeft;\n const y = (node as HTMLElement).getBoundingClientRect().top + document.documentElement.scrollTop;\n return { x, y };\n};\n\nexport const getNodeHeight = (node: Target): number => {\n if (!node) {\n return 0;\n }\n if (node === window) {\n return window.innerHeight;\n }\n return (node as HTMLElement).clientHeight;\n};\n\nexport const getNodeScrollHeight = (node: Target): number => {\n if (!node) {\n return 0;\n }\n\n if (node === window) {\n return window.document.documentElement.scrollHeight;\n }\n return (node as HTMLElement).scrollHeight;\n};\n","import React, { CSSProperties, useCallback, useContext, useEffect, useRef, useState } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { getRect, getScroll, getNodeHeight } from '../_utils/dom';\nimport { StickyProps } from './types';\n\nconst Sticky = (props: StickyProps): JSX.Element => {\n const {\n offsetTop,\n offsetBottom,\n container = () => window,\n onChange,\n className,\n style,\n children,\n prefixCls: customisedCls,\n ...otherProps\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('sticky', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className);\n const placeholderRef = useRef<HTMLDivElement | null>(null);\n const stickyRef = useRef<HTMLDivElement | null>(null);\n const [stickyStyle, setStickyStyle] = useState<CSSProperties>({});\n const [placeholderStyle, setPlaceholderStyle] = useState<CSSProperties>({});\n const [stickyContainer, setStickyContainer] = useState(container());\n\n const getStickyMode = () => {\n const mode = {\n top: false,\n bottom: false,\n offset: 0,\n };\n\n if (typeof offsetTop !== 'number' && typeof offsetBottom !== 'number') {\n mode.top = true;\n } else if (typeof offsetTop === 'number') {\n mode.top = true;\n mode.bottom = false;\n mode.offset = offsetTop || 0;\n } else if (typeof offsetBottom === 'number') {\n mode.bottom = true;\n mode.top = false;\n mode.offset = offsetBottom || 0;\n }\n\n return mode;\n };\n const [stickyMode] = useState(getStickyMode());\n\n const getOffset = useCallback((placeholderNode, stickyContainer): {\n top: number;\n left: number;\n width: number;\n height: number;\n } => {\n const rect = placeholderNode.getBoundingClientRect();\n const containerRect = getRect(stickyContainer);\n const containerScrollTop = getScroll(stickyContainer, true);\n const containerScrollLeft = getScroll(stickyContainer, false);\n\n return {\n top: rect.top - containerRect.top + containerScrollTop,\n left: rect.left - containerRect.left + containerScrollLeft,\n width: rect.width,\n height: rect.height,\n };\n }, []);\n\n const updateStickyStyle = useCallback(\n (stickyStyle: CSSProperties, stuck = false) => {\n setStickyStyle({ ...stickyStyle });\n\n if (stuck) {\n onChange && onChange(true);\n } else if (!stickyStyle) {\n onChange && onChange(false);\n }\n },\n [onChange]\n );\n\n const updatePlaceholderStyle = (placeholderStyle: CSSProperties) => {\n setPlaceholderStyle({ ...placeholderStyle });\n };\n\n const updateNodePosition = useCallback(() => {\n const placeholderNode = placeholderRef.current;\n const stickyNode = stickyRef.current;\n if (!placeholderNode || !stickyContainer || !stickyNode) {\n return;\n }\n\n const containerScrollTop = getScroll(stickyContainer, true);\n const placeholderOffset = getOffset(placeholderNode, stickyContainer);\n const containerHeight = getNodeHeight(stickyContainer);\n const placeholderHeight = placeholderNode.offsetHeight;\n const containerRect = getRect(stickyContainer);\n const stickyHeight = stickyNode.offsetHeight;\n\n const stickyStyle: CSSProperties = {\n width: placeholderOffset.width,\n };\n const placeholderStyle: CSSProperties = {\n width: placeholderOffset.width,\n height: stickyHeight,\n };\n if (stickyMode.top && containerScrollTop > placeholderOffset.top - stickyMode.offset) {\n // sticky top\n stickyStyle.position = 'fixed';\n stickyStyle.top = stickyMode.offset + containerRect.top;\n updateStickyStyle(stickyStyle, true);\n updatePlaceholderStyle(placeholderStyle);\n } else if (\n stickyMode.bottom &&\n containerScrollTop <\n placeholderOffset.top + placeholderHeight + stickyMode.offset - containerHeight\n ) {\n // sticky bottom\n stickyStyle.height = placeholderHeight;\n stickyStyle.position = 'fixed';\n stickyStyle.bottom = stickyMode.offset;\n\n updateStickyStyle(stickyStyle, true);\n updatePlaceholderStyle(placeholderStyle);\n } else {\n updateStickyStyle({});\n updatePlaceholderStyle({});\n }\n }, [stickyContainer, updateStickyStyle, stickyMode, getOffset]);\n\n /**\n * If the container is changed, update the listeners\n */\n useEffect(() => {\n const stickyContainer = container();\n if (!stickyContainer) {\n return;\n }\n setStickyContainer(stickyContainer);\n\n stickyContainer.addEventListener('scroll', updateNodePosition);\n stickyContainer.addEventListener('resize', updateNodePosition);\n\n return () => {\n stickyContainer.removeEventListener('scroll', updateNodePosition);\n stickyContainer.removeEventListener('resize', updateNodePosition);\n };\n }, [updateNodePosition, container]);\n\n useEffect(() => {\n updateNodePosition();\n }, [updateNodePosition]);\n\n return (\n <div ref={placeholderRef} style={placeholderStyle}>\n <div {...otherProps} className={cls} ref={stickyRef} style={{ ...stickyStyle, ...style }}>\n {children}\n </div>\n </div>\n );\n};\n\nSticky.displayName = 'Sticky';\n\nexport default Sticky;\n","import React, { useContext, useState, useCallback, useEffect, useRef } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { AnchorLinkProps, AnchorProps } from './types';\nimport { AnchorContext } from './anchor-context';\nimport Sticky from '../sticky';\n\nconst Anchor = (props: AnchorProps): JSX.Element => {\n const {\n offsetTop = 0,\n offsetBottom,\n className,\n style,\n children,\n prefixCls: customisedCls,\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('anchor', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className);\n const [activeId, setActiveId] = useState('');\n const anchorRef = useRef<HTMLUListElement | null>(null);\n const inkBallRef = useRef<HTMLDivElement | null>(null);\n\n const updateInk = useCallback(() => {\n const anchorEl = anchorRef.current;\n if (anchorEl) {\n const linkNode = anchorEl.getElementsByClassName(`${prefixCls}__link_active`)[0];\n const inkEl = inkBallRef.current;\n if (linkNode && inkEl) {\n const linkEl = linkNode as HTMLLIElement;\n inkEl.style.top = `${linkEl.offsetTop + linkEl.clientHeight / 2 - 4.5}px`;\n }\n }\n }, [prefixCls]);\n\n const scrollToAnchor = useCallback((anchorName: string): void => {\n const element = document.body.querySelector(`#${anchorName}`);\n if (element) {\n element.scrollIntoView(true);\n }\n }, []);\n\n const handleLinkClick = (e: React.MouseEvent<HTMLAnchorElement>, anchorName: string) => {\n const { location } = window;\n let url;\n // if it is a HashRouter mode, prevent the default event and update the query.\n if (location.pathname.includes('/#/')) {\n url = location.protocol + '//' + location.host + location.pathname + `?anchor=${anchorName}`;\n } else {\n url = location.protocol + '//' + location.host + location.pathname + `#${anchorName}`;\n }\n window.history.pushState({ path: url }, '', url);\n scrollToAnchor(anchorName);\n };\n\n /**\n * If the url contains the hash, check whether there is an element can be scrolled into\n */\n const initHashScroll = useCallback(() => {\n const { location } = window;\n if (location.search) {\n const urlParams = new URLSearchParams(location.search);\n const anchor = urlParams.get('anchor');\n !!anchor && scrollToAnchor(anchor);\n } else if (location.hash) {\n const anchor = location.hash.replace('#', '');\n !!anchor && scrollToAnchor(anchor);\n }\n }, [scrollToAnchor]);\n\n const handleScroll = useCallback(() => {\n const headings = document.querySelectorAll('*[id]');\n if (headings.length === 0) return;\n\n let newActiveId = headings[0].id;\n const top = document.documentElement.scrollTop;\n headings.forEach((h) => {\n const el = document.querySelector(`#${h.id}`);\n if (!el) return;\n if ((el as HTMLElement).offsetTop <= top) {\n newActiveId = h.id;\n updateInk();\n }\n });\n setActiveId(newActiveId);\n }, [updateInk]);\n\n useEffect(() => {\n initHashScroll();\n }, [initHashScroll]);\n\n useEffect(() => {\n document.addEventListener('scroll', handleScroll);\n handleScroll();\n return () => {\n document.removeEventListener('scroll', handleScroll);\n };\n }, [handleScroll]);\n\n return (\n <AnchorContext.Provider value={{ activeId, onClick: handleLinkClick }}>\n <Sticky offsetTop={offsetTop} offsetBottom={offsetBottom}>\n <ul className={cls} style={style} ref={anchorRef}>\n <div className={`${prefixCls}__ink`}>\n <div className={`${prefixCls}__ink-ball`} ref={inkBallRef} />\n </div>\n {React.Children.map(children, (child) => {\n const childElement = child as React.FunctionComponentElement<AnchorLinkProps>;\n if (childElement.type.displayName === 'AnchorLink') {\n const childProps: Partial<AnchorLinkProps> = {\n prefixCls,\n };\n return React.cloneElement(childElement, childProps);\n }\n return null;\n })}\n </ul>\n </Sticky>\n </AnchorContext.Provider>\n );\n};\n\nAnchor.displayName = 'Anchor';\n\nexport default Anchor;\n","import React, { useContext } from 'react';\nimport classNames from 'classnames';\nimport { AnchorLinkProps } from './types';\nimport { AnchorContext } from './anchor-context';\n\nconst AnchorLink = React.forwardRef<HTMLAnchorElement, AnchorLinkProps>(\n (props: AnchorLinkProps, ref): JSX.Element => {\n const { href, title, children, prefixCls, ...otherProps } = props;\n const anchorContext = useContext(AnchorContext);\n const cls = classNames(`${prefixCls}__link`, {\n [`${prefixCls}__link_active`]: `#${anchorContext.activeId}` === href,\n });\n\n const onLinkClick = (e: React.MouseEvent<HTMLAnchorElement>) => {\n e.preventDefault();\n const { onClick } = anchorContext;\n onClick && onClick(e, href.replace('#', ''));\n };\n\n return (\n <li title={title} className={cls}>\n <a\n {...otherProps}\n className={`${prefixCls}__link-title`}\n ref={ref}\n href={href}\n onClick={onLinkClick}\n target={'target' in props ? props.target : undefined}>\n {title}\n </a>\n {children && (\n <ul className={prefixCls}>\n {React.Children.map(children, (child) => (\n <AnchorLink {...child.props} prefixCls={prefixCls} />\n ))}\n </ul>\n )}\n </li>\n );\n }\n);\n\nAnchorLink.displayName = 'AnchorLink';\n\nexport default AnchorLink;\n","import Anchor from './anchor';\nimport AnchorLink from './anchor-link';\n\ntype IAnchor = typeof Anchor & {\n Link: typeof AnchorLink;\n};\n\nconst DefaultAnchor = Anchor as IAnchor;\nDefaultAnchor.Link = AnchorLink;\n\nexport default DefaultAnchor;\n","export enum KeyCode {\n BACKSPACE = 8,\n COMMA = 188,\n DELETE = 46,\n DOWN = 40,\n END = 35,\n ENTER = 13,\n ESCAPE = 27,\n HOME = 36,\n LEFT = 37,\n NUMPAD_ADD = 107,\n NUMPAD_DECIMAL = 110,\n NUMPAD_DIVIDE = 111,\n NUMPAD_ENTER = 108,\n NUMPAD_MULTIPLY = 106,\n NUMPAD_SUBTRACT = 109,\n PAGE_DOWN = 34,\n PAGE_UP = 33,\n PERIOD = 190,\n RIGHT = 39,\n SPACE = 32,\n TAB = 9,\n UP = 38\n}\n","import React, { useContext } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { AspectRatioProps } from './types';\n\nconst AspectRatio = (props: AspectRatioProps): React.ReactElement => {\n const {\n ratio = 1,\n width = '100%',\n prefixCls: customisedCls,\n className,\n style,\n children,\n ...otherProps\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('aspect-ratio', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className);\n\n return (\n <div {...otherProps} className={cls} style={{ ...style, width }}>\n <div className={`${prefixCls}__padding`} style={{ paddingTop: `${(1 / ratio) * 100}%` }} />\n <div className={`${prefixCls}__inside`}>{children}</div>\n </div>\n );\n};\n\nexport default AspectRatio;\n","import React, { useRef, useEffect, useState, ReactNode, useContext } from 'react';\nimport classNames from 'classnames';\nimport { KeyCode } from '../_utils/enum';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { CloseCircle } from '../_utils/components';\nimport { InputProps } from './types';\n\nconst DEFAULT_MARGIN = 16; // 8px * 2\n\nconst Input = React.forwardRef<HTMLInputElement, InputProps>(\n (props: InputProps, ref): JSX.Element => {\n const {\n size = 'md',\n disabled = false,\n clearable = false,\n defaultValue = '',\n prefix,\n suffix,\n onChange,\n onEnterPress,\n onKeyDown,\n className,\n style,\n onClearClick,\n prefixCls: customisedCls,\n ...otherProps\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('input', configContext.prefixCls, customisedCls);\n const inputSize = props.size || configContext.componentSize || size;\n const cls = classNames(prefixCls, className, `${prefixCls}_${inputSize}`, {\n [`${prefixCls}_disabled`]: disabled,\n });\n const prefixRef = useRef<HTMLDivElement | null>(null);\n const suffixRef = useRef<HTMLDivElement | null>(null);\n const [value, setValue] = useState<string>(\n 'value' in props ? (props.value as string) : defaultValue\n );\n const [inputPadding, setInputPadding] = useState({ paddingLeft: '7px', paddingRight: '7px' });\n\n const inputOnChange = (e: React.ChangeEvent<HTMLInputElement>): void => {\n const val = e.currentTarget.value;\n !('value' in props) && setValue(val);\n onChange && onChange(e);\n };\n\n const inputOnKeydown = (e: React.KeyboardEvent<HTMLInputElement>): void => {\n if (e.keyCode === KeyCode.ENTER) {\n onEnterPress && onEnterPress(e);\n }\n onKeyDown && onKeyDown(e);\n };\n\n const clearBtnOnClick = (e: React.MouseEvent<HTMLSpanElement>): void => {\n !('value' in props) && setValue('');\n onClearClick && onClearClick(e);\n };\n\n const renderClearButton = (): ReactNode => {\n if (clearable && value && value.length > 0) {\n return (\n <span className={`${prefixCls}__clear-btn`} onClick={clearBtnOnClick}>\n <CloseCircle size={16} color=\"#BFBFBF\" />\n </span>\n );\n }\n return null;\n };\n\n useEffect(() => {\n const prefixNode = prefixRef.current;\n const suffixNode = suffixRef.current;\n\n const prefixWidth = prefixNode && prefixNode.offsetWidth;\n const suffixWidth = suffixNode && suffixNode.offsetWidth;\n const padding = { ...inputPadding };\n\n if (prefixWidth) {\n padding.paddingLeft = prefixWidth + DEFAULT_MARGIN + 'px';\n }\n if (suffixWidth) {\n padding.paddingRight = suffixWidth + DEFAULT_MARGIN + 'px';\n }\n\n if (\n padding.paddingLeft !== inputPadding.paddingLeft ||\n padding.paddingRight !== inputPadding.paddingRight\n ) {\n setInputPadding(padding);\n }\n }, [inputPadding]);\n\n useEffect(() => {\n 'value' in props && setValue(props.value as string);\n }, [props]);\n\n return (\n <div className={cls} style={style}>\n {prefix && (\n <div ref={prefixRef} className={`${prefixCls}__prefix`}>\n {prefix}\n </div>\n )}\n <input\n {...otherProps}\n ref={ref}\n value={value}\n disabled={disabled}\n className={`${prefixCls}__input`}\n style={{ paddingLeft: inputPadding.paddingLeft, paddingRight: inputPadding.paddingRight }}\n onChange={inputOnChange}\n onKeyDown={inputOnKeydown}\n />\n {(suffix || clearable) && (\n <div ref={suffixRef} className={`${prefixCls}__suffix`}>\n {renderClearButton()}\n {suffix}\n </div>\n )}\n </div>\n );\n }\n);\n\nInput.displayName = 'Input';\n\nexport default Input;\n","import React, { ChangeEvent, useContext, useState } from 'react';\nimport classNames from 'classnames';\nimport Input from '../input/input';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { AutoCompleteProps } from './types';\n\nfunction Autocomplete(props: AutoCompleteProps): React.ReactElement {\n const { prefixCls: customisedCls, value, className, style, children, ...otherProps } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('autocomplete', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className);\n const [inputVal, setInputVal] = useState(value);\n const [suggestions, setSuggestions] = useState<string[]>([]);\n\n console.log(suggestions);\n const inputOnChange = (e: ChangeEvent<HTMLInputElement>): void => {\n const value = e.target.value.trim();\n setInputVal(value);\n if (value && props.options) {\n const result = props.options(value);\n setSuggestions(result);\n } else {\n setSuggestions([]);\n }\n };\n\n const onSelect = (): void => {};\n\n return (\n <div className={cls} style={style}>\n <Input {...otherProps} onSelect={onSelect} value={inputVal} onChange={inputOnChange} />\n {children}\n </div>\n );\n}\n\nAutocomplete.displayName = 'Autocomplete';\n\nexport default Autocomplete;\n","import React, { useRef, useEffect, useState, useContext } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { AvatarProps } from './types';\n\nconst Avatar = (props: AvatarProps): JSX.Element => {\n const {\n size = 38,\n shape = 'circle',\n presence = undefined,\n alt = 'avatar',\n icon,\n src,\n children,\n className,\n style,\n onClick,\n prefixCls: customisedCls,\n ...otherProps\n } = props;\n const outerEl = useRef<HTMLSpanElement | null>(null);\n const textEl = useRef<HTMLSpanElement | null>(null);\n const [scale, setScale] = useState(1);\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('avatar', configContext.prefixCls, customisedCls);\n\n const cls = classNames(prefixCls, className, `${prefixCls}_${shape}`, {\n [`${prefixCls}_clickable`]: onClick,\n });\n\n const renderChildren = () => {\n if (typeof children === 'string') {\n let textStyle: React.CSSProperties = {};\n if (textEl.current) {\n const transformString = `scale(${scale}) translateX(-50%)`;\n textStyle = {\n msTransform: transformString,\n WebkitTransform: transformString,\n transform: transformString,\n };\n }\n return (\n <span ref={textEl} className={`${prefixCls}__text`} style={textStyle}>\n {children}\n </span>\n );\n } else {\n return children;\n }\n };\n\n const renderItem = (): React.ReactNode => {\n if (children) {\n return renderChildren();\n } else if (src) {\n return <img src={src} alt={alt} className={`${prefixCls}__img`} />;\n } else {\n return icon;\n }\n };\n\n const renderPresence = (): React.ReactElement => {\n return <i className={`${prefixCls}__presence ${prefixCls}__presence_${presence}`} />;\n };\n\n const styles: React.CSSProperties = {\n width: size,\n height: size,\n fontSize: size / 2,\n lineHeight: `${size - 4}px`,\n ...style,\n };\n\n useEffect(() => {\n if (outerEl.current && textEl.current && textEl.current!.className === `${prefixCls}__text`) {\n const textElWidth = textEl.current!.offsetWidth;\n const outerElWidth = outerEl.current!.offsetWidth;\n // leave 4px padding for left and right side\n if (outerElWidth - 8 < textElWidth) {\n setScale((outerElWidth - 8) / textElWidth);\n } else {\n setScale(1);\n }\n }\n });\n\n return (\n <span {...otherProps} ref={outerEl} className={cls} style={styles}>\n {renderItem()}\n {presence && renderPresence()}\n </span>\n );\n};\n\nAvatar.displayName = 'Avatar';\n\nexport default Avatar;\n","import React, { useContext } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { AvatarProps, AvatarGroupProps } from './types';\n\nconst AvatarGroup = (props: AvatarGroupProps): JSX.Element => {\n const { gap = -15, className, style, children, prefixCls: customisedCls, ...otherProps } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('avatar-group', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className);\n\n return (\n <span {...otherProps} className={cls} style={style}>\n {React.Children.map(children, (child, idx) => {\n const childElement = child as React.FunctionComponentElement<AvatarProps>;\n if (childElement.type.displayName === 'Avatar') {\n const childProps: Partial<AvatarProps> = {\n style: {\n ...childElement.props.style,\n marginLeft: idx === 0 ? 0 : gap,\n },\n };\n return React.cloneElement(childElement, childProps);\n }\n return child;\n })}\n </span>\n );\n};\n\nAvatarGroup.displayName = 'AvatarGroup';\n\nexport default AvatarGroup;\n","import Avatar from './avatar';\nimport AvatarGroup from './avatar-group';\n\ntype IAvatar = typeof Avatar & {\n Group: typeof AvatarGroup;\n};\n\nconst DefaultAvatar = Avatar as IAvatar;\nDefaultAvatar.Group = AvatarGroup;\n\nexport default DefaultAvatar;\n","import React, { useCallback, useContext, useEffect, useState } from 'react';\nimport classNames from 'classnames';\nimport raf from 'raf';\nimport { Target } from '../_utils/dom';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { BackTopProps } from './types';\n\nconst easeInOutCubic = (t: number, b: number, c: number, d: number): number => {\n const cc = c - b;\n t /= d / 2;\n if (t < 1) {\n return (cc / 2) * t * t * t + b;\n } else {\n return (cc / 2) * ((t -= 2) * t * t + 2) + b;\n }\n};\n\nconst BackTop = (props: BackTopProps): JSX.Element | null => {\n const {\n visibilityHeight = 300,\n target = (): Target => window,\n prefixCls: customisedCls,\n onClick,\n className,\n style,\n children,\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('back-top', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className);\n const [visible, setVisible] = useState(true);\n\n const getDistanceFromTop = useCallback((): number => {\n const targetNode = target();\n if (targetNode === window) {\n return window.pageYOffset || document.body.scrollTop || document.documentElement.scrollTop;\n }\n return (targetNode as HTMLElement).scrollTop;\n }, [target]);\n\n const setScrollToTop = (distance: number): void => {\n const targetNode = target();\n if (targetNode === window) {\n document.body.scrollTop = distance;\n document.documentElement.scrollTop = distance;\n } else {\n (targetNode as HTMLElement).scrollTop = distance;\n }\n };\n\n const scrollToTop = (e: React.MouseEvent<HTMLDivElement>): void => {\n const scrollTop = getDistanceFromTop();\n const startTime = Date.now();\n const step = (): void => {\n const timestamp = Date.now();\n const time = timestamp - startTime;\n setScrollToTop(easeInOutCubic(time, scrollTop, 0, 450));\n if (time < 450) {\n raf(step);\n } else {\n setScrollToTop(0);\n }\n };\n raf(step);\n onClick && onClick(e);\n };\n\n const handleOnScroll = useCallback(() => {\n if (getDistanceFromTop() > visibilityHeight) {\n !visible && setVisible(true);\n } else if (visible) {\n setVisible(false);\n }\n }, [getDistanceFromTop, visible, visibilityHeight]);\n\n useEffect(() => {\n const targetNode = target();\n targetNode.addEventListener('scroll', handleOnScroll);\n handleOnScroll();\n\n return (): void => {\n targetNode.removeEventListener('scroll', handleOnScroll);\n };\n }, [target, handleOnScroll]);\n\n if (visible) {\n return (\n <div className={cls} style={style} onClick={scrollToTop}>\n {children || (\n <svg viewBox=\"0 0 1024 1024\" width=\"18\" height=\"18\">\n <path\n d=\"M563.2 379.757048 563.2 972.755371C563.2 1001.056998 540.219441 1024 512 1024\n 483.723021 1024 460.8 1001.019181 460.8 972.755371L460.8 379.740842 272.093167\n 568.447675C252.13208 588.408762 219.700711 588.340711 199.746554 568.386554 179.75171\n 548.39171 179.766716 515.958656 199.685432 496.039941L473.973319 221.752055C483.353204\n 211.343458 496.929524 204.8 512 204.8 527.198527 204.8 540.850334 211.438998 550.227358\n 221.968936L824.32552 496.0671C844.244236 515.985815 844.259243 548.418868 824.2644\n 568.413712 804.310241 588.367871 771.878874 588.435921 751.917786 568.474834L563.2\n 379.757048ZM0 51.2C0 22.923021 22.82342 0 51.130666 0L972.869334 0C1001.108021 0 1024\n 22.980559 1024 51.2 1024 79.476979 1001.17658 102.4 972.869334 102.4L51.130666\n 102.4C22.891979 102.4 0 79.419441 0 51.2Z\"\n fill=\"#ffffff\"\n />\n </svg>\n )}\n </div>\n );\n }\n\n return null;\n};\n\nexport default BackTop;\n","const isProduction: boolean = process.env.NODE_ENV === 'production';\n\nexport default function warning(condition: boolean, message: string, serious = false): void {\n if (!isProduction && condition) {\n const text = `Warning: ${message}`;\n serious ? console.error(text) : console.warn(text);\n }\n}\n","import React, { useContext } from 'react';\nimport classNames from 'classnames';\nimport warning from '../_utils/warning';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { BadgeProps } from './types';\n\nconst Badge = (props: BadgeProps): JSX.Element => {\n const {\n count,\n color = '#f2453d',\n max = 99,\n dot = false,\n processing = false,\n showZero = false,\n prefixCls: customisedCls,\n title,\n className,\n badgeStyle,\n children,\n ...otherProps\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('badge', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className, { [`${prefixCls}_no-wrap`]: !children });\n const dotCls = classNames(`${prefixCls}__dot`, { [`${prefixCls}__dot_wave`]: processing });\n\n warning(!dot && processing, 'only dot badge has the processing effect');\n\n const renderCount = () => {\n if (typeof count === 'number' || typeof count === 'string') {\n if (count === 0 && !showZero) {\n return null;\n }\n return (\n <sup\n title={title}\n className={`${prefixCls}__count`}\n style={{ backgroundColor: color, ...badgeStyle }}>\n {typeof count === 'number' && count > max ? `${max}+` : count}\n </sup>\n );\n } else {\n return <span className={`${prefixCls}__custom`}>{count}</span>;\n }\n };\n\n return (\n <span {...otherProps} className={cls}>\n {children}\n {dot ? (\n <sup title={title} className={dotCls} style={{ backgroundColor: color, ...badgeStyle }} />\n ) : (\n renderCount()\n )}\n </span>\n );\n};\n\nBadge.displayName = 'Badge';\n\nexport default Badge;\n","import React, { ReactElement, useContext } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { BreadcrumbItemProps, BreadcrumbProps } from './types';\n\nconst Breadcrumb = (props: BreadcrumbProps): React.ReactElement => {\n const { separator = '/', prefixCls: customisedCls, className, style, children } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('breadcrumb', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className);\n\n return (\n <nav className={cls} style={style}>\n <ol className={`${prefixCls}__ol`}>\n {React.Children.map(children, (child: ReactElement<BreadcrumbItemProps>) => {\n const childProps: Partial<BreadcrumbItemProps> = { separator };\n return React.cloneElement(child, childProps);\n })}\n </ol>\n </nav>\n );\n};\n\nBreadcrumb.displayName = 'Breadcrumb';\n\nexport default Breadcrumb;\n","import React, { useContext } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { BreadcrumbItemProps } from './types';\n\nconst BreadcrumbItem = (props: BreadcrumbItemProps): React.ReactElement => {\n const { separator, className, style, children, prefixCls: customisedCls, ...otherProps } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('breadcrumb-item', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className);\n\n return (\n <li {...otherProps} className={cls} style={style}>\n {children}\n <span className={`${prefixCls}__separator`}>{separator}</span>\n </li>\n );\n};\n\nBreadcrumbItem.displayName = 'BreadcrumbItem';\n\nexport default BreadcrumbItem;\n","import Breadcrumb from './breadcrumb';\nimport BreadcrumbItem from './breadcrumb-item';\n\ntype IBreadcrumb = typeof Breadcrumb & {\n Item: typeof BreadcrumbItem;\n};\n\nconst DefaultBreadcrumb = Breadcrumb as IBreadcrumb;\nDefaultBreadcrumb.Item = BreadcrumbItem;\n\nexport default DefaultBreadcrumb;\n","import React, { useContext } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { ButtonProps } from './types';\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>((props: ButtonProps, ref) => {\n const {\n size = 'md',\n btnType = 'default',\n loading = false,\n disabled = false,\n block = false,\n onClick,\n icon,\n round,\n children,\n className,\n style,\n prefixCls: customisedCls,\n ...otherProps\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('btn', configContext.prefixCls, customisedCls);\n const btnSize = props.size || configContext.componentSize || size;\n const cls = classNames(\n prefixCls,\n `${prefixCls}_${btnSize}`,\n {\n [`${prefixCls}_${btnType}`]: btnType,\n [`${prefixCls}_block`]: block,\n [`${prefixCls}_round`]: round,\n [`${prefixCls}_disabled`]: disabled,\n [`${prefixCls}_loading`]: loading,\n },\n className\n );\n\n const btnOnClick = (e: React.MouseEvent<HTMLButtonElement>) => {\n if (disabled || loading) {\n return;\n }\n onClick && onClick(e);\n };\n\n const renderIcon = (): React.ReactElement | null => {\n if (loading) {\n return <span className={`${prefixCls}__loader`} />;\n } else if (icon) {\n return <span className={`${prefixCls}__icon-container`}>{icon}</span>;\n } else {\n return null;\n }\n };\n\n return (\n <button\n {...otherProps}\n ref={ref}\n role=\"button\"\n className={cls}\n disabled={disabled}\n onClick={btnOnClick}\n style={style}>\n {renderIcon()}\n {children && <span className={`${prefixCls}__children`}>{children}</span>}\n </button>\n );\n});\n\nButton.displayName = 'Button';\n\nexport default Button;\n","import React, { useContext } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { ButtonGroupProps, ButtonProps, ButtonType } from './types';\nimport { SizeType } from '../_utils/props';\n\nconst ButtonGroup = React.forwardRef<HTMLDivElement, ButtonGroupProps>(\n (props: ButtonGroupProps, ref) => {\n const {\n size = 'md',\n btnType = 'default',\n disabled = false,\n round = false,\n prefixCls: customisedCls,\n className,\n children,\n ...otherProps\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('btn-group', configContext.prefixCls, customisedCls);\n const btnSize = props.size || configContext.componentSize || size;\n const cls = classNames(\n prefixCls,\n {\n [`${prefixCls}_round`]: round,\n [`${prefixCls}_${btnType}`]: btnType,\n },\n className\n );\n return (\n <div {...otherProps} className={cls} ref={ref}>\n {React.Children.map(children, (child) => {\n const childElement = child as React.FunctionComponentElement<ButtonProps>;\n const { displayName } = childElement.type;\n if (displayName === 'Button') {\n const childProps: Partial<ButtonProps> = {\n btnType: btnType as ButtonType,\n size: btnSize as SizeType,\n disabled: 'disabled' in childElement.props ? childElement.props.disabled : disabled,\n };\n return React.cloneElement(childElement, childProps);\n } else {\n return child;\n }\n })}\n </div>\n );\n }\n);\n\nButtonGroup.displayName = 'ButtonGroup';\n\nexport default ButtonGroup;\n","import Button from './button';\nimport ButtonGroup from './button-group';\n\ntype IButton = typeof Button & {\n Group: typeof ButtonGroup;\n};\n\nconst DefaultButton = Button as IButton;\nDefaultButton.Group = ButtonGroup;\n\nexport default DefaultButton;\n","import React, { ReactNode, useContext } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { CardContentProps, CardProps } from './types';\n\nconst Card = (props: CardProps): JSX.Element => {\n const {\n bordered = true,\n active = false,\n hoverable = false,\n prefixCls: customisedCls,\n title,\n extra,\n header,\n headerStyle,\n actions,\n footer,\n footerStyle,\n className,\n style,\n children,\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('card', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className, {\n [`${prefixCls}_bordered`]: bordered,\n [`${prefixCls}_active`]: active,\n [`${prefixCls}_hoverable`]: hoverable,\n });\n\n const renderHeader = (): ReactNode => {\n if (header) {\n return header;\n } else if (title || extra) {\n return (\n <div className={`${prefixCls}__header`} style={headerStyle}>\n {title}\n {extra}\n </div>\n );\n } else {\n return null;\n }\n };\n\n const renderFooter = (): ReactNode => {\n if (footer) {\n return footer;\n } else if (actions) {\n return (\n <div className={`${prefixCls}__footer`} style={footerStyle}>\n {actions}\n </div>\n );\n } else {\n return null;\n }\n };\n\n const renderChildren = (): ReactNode => {\n if (children) {\n return React.Children.map(children, (child) => {\n if (!React.isValidElement(child)) {\n return child;\n }\n\n // Pass prefixCls attribute to child if it is a CardContent instance\n const childElement = child as React.FunctionComponentElement<CardContentProps>;\n if (childElement.type.displayName === 'CardContent') {\n const childProps: Partial<CardContentProps> = {\n prefixCls,\n };\n return React.cloneElement(childElement, childProps);\n } else {\n return child;\n }\n });\n }\n return null;\n };\n\n return (\n <div className={cls} style={style}>\n {renderHeader()}\n {renderChildren()}\n {renderFooter()}\n </div>\n );\n};\n\nCard.displayName = 'Card';\n\nexport default Card;\n","import React from 'react';\nimport { CardContentProps } from './types';\n\nconst CardContent = (props: CardContentProps): React.ReactElement => {\n const { prefixCls, children, ...otherProps } = props;\n return (\n <div {...otherProps} className={`${prefixCls}__body`}>\n {children}\n </div>\n );\n};\n\nCardContent.displayName = 'CardContent';\n\nexport default CardContent;\n","import Card from './card';\nimport CardContent from './card-content';\n\ntype ICard = typeof Card & {\n Content: typeof CardContent;\n};\n\nconst DefaultCard = Card as ICard;\nDefaultCard.Content = CardContent;\n\nexport default DefaultCard;\n","import React from 'react';\nimport classNames from 'classnames';\nimport { BaseProps } from '../_utils/props';\n\nexport interface CarouselItemProps extends React.PropsWithRef<BaseProps> {\n children?: React.ReactNode;\n}\n\nconst CarouselItem = React.forwardRef<HTMLLIElement, CarouselItemProps>(\n (props: CarouselItemProps, ref) => {\n const { prefixCls = 'ty-carousel-item', className, style, children } = props;\n const cls = classNames(prefixCls, className);\n return (\n <li ref={ref} className={cls} style={style}>\n {children}\n </li>\n );\n }\n);\n\nCarouselItem.displayName = 'CarouselItem';\n\nexport default CarouselItem;\n","import React from 'react';\nimport classNames from 'classnames';\nimport { BaseProps } from '../_utils/props';\n\nexport type DotPosition = 'top' | 'bottom' | 'left' | 'right';\n\nexport interface DotGroupProps extends BaseProps {\n activeIndex: number;\n amount: number;\n position: DotPosition;\n itemOnClick: (index: number) => void;\n}\n\nconst DotGroup = (props: DotGroupProps) => {\n const { activeIndex, position, amount, itemOnClick, prefixCls } = props;\n return (\n <ul className={`${prefixCls}__dots-container ${prefixCls}_dots-${position}`}>\n {Array(amount)\n .fill(0)\n .map((_, idx) => {\n const dotClassName = classNames(`${prefixCls}__dot`, {\n [`${prefixCls}__dot_active`]: idx === activeIndex,\n });\n return <li key={idx} className={dotClassName} onClick={() => itemOnClick(idx)} />;\n })}\n </ul>\n );\n};\n\nexport default DotGroup;\n","import React, { MouseEventHandler } from 'react';\nimport { BaseProps } from '../_utils/props';\n\nexport interface ArrowGroup extends BaseProps {\n leftBtnOnClick: MouseEventHandler<HTMLLIElement>;\n rightBtnOnClick: MouseEventHandler<HTMLLIElement>;\n}\n\nconst ArrowGroup = (props: ArrowGroup) => {\n const { leftBtnOnClick, rightBtnOnClick, prefixCls, style } = props;\n return (\n <ul className={`${prefixCls}__arrow-group`} style={style}>\n <li onClick={leftBtnOnClick} className={`${prefixCls}__arrow-left`}>\n left\n </li>\n <li onClick={rightBtnOnClick} className={`${prefixCls}__arrow-right`}>\n right\n </li>\n </ul>\n );\n};\n\nexport default ArrowGroup;\n","import React, { useRef, useEffect, useState } from 'react';\nimport classNames from 'classnames';\nimport { CarouselItemProps } from './carousel-item';\nimport { BaseProps } from '../_utils/props';\nimport DotGroup, { DotPosition } from './dot-group';\nimport ArrowGroup from './arrow-group';\n\nexport type EasingType = 'linear' | 'ease' | 'ease-in' | 'ease-out' | 'ease-in-out';\n\nexport interface CarouselProps extends BaseProps {\n dots?: boolean;\n arrows?: boolean;\n autoplay?: boolean;\n interval?: number;\n animatedDuration?: number;\n dotPosition?: DotPosition;\n easing?: EasingType;\n beforeChange?: () => void;\n afterChange?: () => void;\n children: React.ReactElement<CarouselItemProps>[];\n}\n\nconst Carousel: React.FC<CarouselProps> & { Item?: any } = (props: CarouselProps) => {\n const {\n prefixCls = 'ty-carousel',\n dots = true,\n arrows = true,\n interval = 3000,\n animatedDuration = 500,\n autoplay = true,\n dotPosition = 'bottom',\n easing = 'linear',\n className,\n style,\n children,\n } = props;\n const cls = classNames(prefixCls, className);\n const outerRef = useRef<HTMLDivElement | null>(null);\n const containerRef = useRef<HTMLUListElement | null>(null);\n const [width, setWidth] = useState(0);\n const [currIndex, setCurrIndex] = useState(0);\n const [intervalTimer, setIntervalTimer] = useState<number | undefined>(undefined);\n\n const animate = (distance: number, isAnimated = true) => {\n if (containerRef.current) {\n const container = containerRef.current as HTMLUListElement;\n container.style.transitionDuration = isAnimated ? `${animatedDuration}ms` : '0s';\n container.style.left = parseInt(container.style.left!, 10) + distance + 'px';\n }\n };\n\n const movePrev = (): void => {\n const prevIndex = currIndex - 1;\n setCurrIndex(prevIndex);\n animate(width);\n if (prevIndex === -1) {\n setCurrIndex(children.length - 1);\n window.setTimeout(() => {\n const distance = children.length * width;\n animate(-distance, false);\n }, animatedDuration);\n }\n };\n\n const moveNext = (): void => {\n const nextIndex = currIndex + 1;\n setCurrIndex(nextIndex);\n animate(-width);\n if (nextIndex === children.length) {\n setCurrIndex(0);\n window.setTimeout(() => {\n const distance = children.length * width;\n animate(distance, false);\n }, 600);\n }\n };\n\n const dotItemOnClick = (index: number): void => {\n setCurrIndex(index);\n animate(width * Math.abs(index - currIndex) * (index > currIndex ? -1 : 1));\n };\n\n const getChildrenList = () => {\n const finalChildren = [];\n finalChildren.push(children[children.length - 1]);\n React.Children.forEach(children, (child: React.ReactElement<CarouselItemProps>) => {\n finalChildren.push(child);\n });\n finalChildren.push(children[0]);\n return finalChildren;\n };\n\n useEffect(() => {\n if (outerRef.current && containerRef.current) {\n const outerWidth = (outerRef.current as HTMLDivElement).clientWidth;\n setWidth(outerWidth);\n (containerRef.current as HTMLUListElement).style.left = `${-outerWidth}px`;\n }\n }, []);\n\n useEffect(() => {\n if (autoplay) {\n const intervalTimer = window.setInterval(() => {\n moveNext();\n }, interval);\n setIntervalTimer(intervalTimer);\n }\n\n return (): void => {\n window.clearInterval(intervalTimer);\n };\n }, [autoplay]);\n\n return (\n <div ref={outerRef} className={cls} style={style}>\n <ul\n ref={containerRef}\n className={`${cls}__container`}\n style={{\n transitionTimingFunction: easing,\n width: width * (children.length + 2),\n }}>\n {getChildrenList().map((child: React.ReactElement<CarouselItemProps>, index) => {\n const childProps = {\n key: index,\n ...child.props,\n style: {\n width,\n ...child.props.style,\n },\n };\n return React.cloneElement(child, childProps);\n })}\n </ul>\n {arrows && (\n <ArrowGroup\n leftBtnOnClick={movePrev}\n rightBtnOnClick={moveNext}\n prefixCls={prefixCls}\n style={{ width }}\n />\n )}\n {dots && (\n <DotGroup\n activeIndex={currIndex}\n position={dotPosition}\n amount={children.length}\n itemOnClick={dotItemOnClick}\n prefixCls={prefixCls}\n />\n )}\n </div>\n );\n};\n\nexport default Carousel;\n","import CarouselItem from './carousel-item';\nimport Carousel from './carousel';\n\nexport { CarouselProps, EasingType } from './carousel';\nexport { CarouselItemProps } from './carousel-item';\n\nCarousel.Item = CarouselItem;\nexport default Carousel;\n","import React from 'react';\n\ntype Props = {\n value?: string[];\n disabled?: boolean;\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;\n};\n\nexport const CheckboxGroupContext = React.createContext<Props>({});\n","import React, { useState, useEffect, useContext } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { CheckboxGroupContext } from './checkbox-group-context';\nimport { CheckboxProps } from './types';\n\nconst Checkbox = React.forwardRef<HTMLLabelElement, CheckboxProps>(\n (props: CheckboxProps, ref): React.ReactElement => {\n const {\n defaultChecked = false,\n indeterminate = false,\n value,\n onChange,\n className,\n children,\n checkboxRef,\n prefixCls: customisedCls,\n ...otherProps\n } = props;\n const configContext = useContext(ConfigContext);\n const checkboxGroupContext = useContext(CheckboxGroupContext);\n const initialChecked = 'checked' in props ? (props.checked as boolean) : defaultChecked;\n const [checked, setChecked] = useState<boolean>(\n 'value' in checkboxGroupContext ? checkboxGroupContext.value === value : initialChecked\n );\n const prefixCls = getPrefixCls('checkbox', configContext.prefixCls, customisedCls);\n const disabled: boolean =\n 'disabled' in props\n ? (props.disabled as boolean)\n : 'disabled' in checkboxGroupContext\n ? (checkboxGroupContext.disabled as boolean)\n : false;\n const cls = classNames(prefixCls, className, {\n [`${prefixCls}_indeterminate`]: indeterminate,\n [`${prefixCls}_checked`]: checked && !indeterminate,\n [`${prefixCls}_disabled`]: disabled,\n });\n\n const checkboxOnChange = (e: React.ChangeEvent<HTMLInputElement>): void => {\n if (!disabled) {\n !('checked' in props) && setChecked(e.currentTarget.checked);\n onChange && onChange(e);\n checkboxGroupContext.onChange && checkboxGroupContext.onChange(e);\n }\n };\n\n useEffect(() => {\n if ('value' in checkboxGroupContext && 'value' in props) {\n setChecked((checkboxGroupContext.value as string[]).includes(value as string));\n }\n 'checked' in props && setChecked(props.checked as boolean);\n }, [props, checkboxGroupContext, value]);\n\n return (\n <label {...otherProps} ref={ref} className={cls}>\n <input\n ref={checkboxRef}\n role=\"checkbox\"\n aria-checked={checked}\n name={value}\n disabled={disabled}\n className={`${prefixCls}__native`}\n type=\"checkbox\"\n checked={checked}\n onChange={checkboxOnChange}\n />\n <span className={`${prefixCls}__inner`} />\n <span>{children}</span>\n </label>\n );\n }\n);\n\nCheckbox.displayName = 'Checkbox';\n\nexport default Checkbox;\n","import React, { useState, useEffect, useContext } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { CheckboxGroupContext } from './checkbox-group-context';\nimport { CheckboxGroupProps } from './types';\n\nconst CheckboxGroup = React.forwardRef<HTMLDivElement, CheckboxGroupProps>(\n (props: CheckboxGroupProps, ref): React.ReactElement => {\n const {\n defaultValue = [],\n prefixCls: customisedCls,\n onChange,\n disabled,\n className,\n children,\n ...otherProps\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('checkbox-group', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className);\n const [value, setValue] = useState<string[]>(\n 'value' in props ? (props.value as string[]) : defaultValue\n );\n\n const itemOnChange = (e: React.ChangeEvent<HTMLInputElement>): void => {\n if (!disabled) {\n const name = e.currentTarget.name;\n const idx = value.indexOf(name);\n if (idx > -1) {\n value.splice(idx, 1);\n } else {\n value.push(name);\n }\n // Update state\n !('value' in props) && setValue([...value]);\n onChange && onChange(value);\n }\n };\n\n useEffect(() => {\n 'value' in props && setValue([...(props.value as string[])]);\n }, [props]);\n\n return (\n <CheckboxGroupContext.Provider\n value={{\n value,\n disabled,\n onChange: itemOnChange,\n }}>\n <div {...otherProps} ref={ref} role=\"group\" className={cls}>\n {children}\n </div>\n </CheckboxGroupContext.Provider>\n );\n }\n);\n\nCheckboxGroup.displayName = 'CheckboxGroup';\n\nexport default CheckboxGroup;\n","import Checkbox from './checkbox';\nimport CheckboxGroup from './checkbox-group';\n\ntype ICheckbox = typeof Checkbox & {\n Group: typeof CheckboxGroup;\n};\n\nconst DefaultCheckbox = Checkbox as ICheckbox;\nDefaultCheckbox.Group = CheckboxGroup;\n\nexport default DefaultCheckbox;\n","import React from 'react';\nimport { ConfigContext } from './config-context';\nimport { ConfigProviderProps } from './types';\n\nconst ConfigProvider = (props: ConfigProviderProps): JSX.Element => {\n const { children, ...otherProps } = props;\n return <ConfigContext.Provider value={{ ...otherProps }}>{children}</ConfigContext.Provider>;\n};\n\nConfigProvider.displayName = 'ConfigProvider';\n\nexport default ConfigProvider;\n","import React, { useContext } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { CopyToClipboardProps } from './types';\n\nconst copy = (value: string) => {\n const textArea = document.createElement('textarea');\n textArea.style.background = 'transparent';\n textArea.value = value;\n document.body.appendChild(textArea);\n textArea.select();\n try {\n document.execCommand('copy');\n } catch (err) {\n console.log('Oops, unable to copy');\n }\n document.body.removeChild(textArea);\n};\n\nconst CopyToClipboard = (props: CopyToClipboardProps): React.ReactElement => {\n const { prefixCls: customisedCls, text, className, children, onClick, ...otherProps } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('copy', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className);\n\n const btnOnClick = (e: React.MouseEvent<HTMLSpanElement>): void => {\n copy(text);\n onClick && onClick(e);\n };\n\n return (\n <span {...otherProps} className={cls} onClick={btnOnClick}>\n {children}\n </span>\n );\n};\n\nCopyToClipboard.displayName = 'CopyToClipboard';\n\nexport default CopyToClipboard;\n","import React, { useContext } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { ColProps, ColSize } from './types';\n\nconst ScreenTypes = ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'];\n\nconst Col = (props: ColProps): React.ReactElement => {\n const {\n span = 24,\n offset = 0,\n order = 0,\n prefixCls: customisedCls,\n className,\n style,\n children,\n ...otherProps\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('col', configContext.prefixCls, customisedCls);\n\n let sizeClassObj = {};\n ScreenTypes.forEach((size) => {\n let sizeProps: ColSize = {};\n // Prevent the error that expression of type 'string' can't be used to index type 'ColProps'.\n const propSize = (props as any)[size];\n if (typeof propSize === 'number') {\n sizeProps.span = propSize;\n } else if (typeof propSize === 'object') {\n sizeProps = propSize || {};\n }\n sizeClassObj = {\n ...sizeClassObj,\n [`${prefixCls}-${size}-${sizeProps.span}`]: sizeProps.span !== undefined,\n [`${prefixCls}-${size}-order-${sizeProps.order}`]: sizeProps.order || sizeProps.order === 0,\n [`${prefixCls}-${size}-offset-${sizeProps.offset}`]:\n sizeProps.offset || sizeProps.offset === 0,\n };\n });\n const cls = classNames(\n prefixCls,\n className,\n {\n [`${prefixCls}-${span}`]: span,\n [`${prefixCls}-offset-${offset}`]: offset,\n [`${prefixCls}-order-${order}`]: order,\n },\n sizeClassObj\n );\n\n return (\n <div {...otherProps} className={cls} style={style}>\n {children}\n </div>\n );\n};\n\nCol.displayName = 'Col';\n\nexport default Col;\n","import Col from '../grid/col';\n\nexport default Col;\n","import React from 'react';\n\ntype Props = {\n activeKeys: string[];\n onItemClick?: (itemKey: string) => void;\n};\n\nexport const CollapseContext = React.createContext<Props>({\n activeKeys: [],\n});\n","import React, { useState, useEffect, useContext } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { CollapseContext } from './collapse-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { CollapsePanelProps, CollapseProps } from './types';\n\n/**\n * Format active key to array\n * @param activeKey\n */\nconst toArray = (activeKey: string | string[]): string[] => {\n return Array.isArray(activeKey) ? activeKey : [activeKey];\n};\n\nconst Collapse = React.forwardRef<HTMLDivElement, CollapseProps>(\n (props: CollapseProps, ref): React.ReactElement => {\n const {\n showArrow = true,\n bordered = true,\n deletable = false,\n accordion = false,\n defaultActiveKey = [],\n prefixCls: customisedCls,\n activeKey,\n onChange,\n className,\n children,\n ...otherProps\n } = props;\n let currentActiveKey: string | string[] = defaultActiveKey;\n if (activeKey) {\n currentActiveKey = activeKey;\n }\n const [activeItems, setActiveItems] = useState<string[]>(toArray(currentActiveKey));\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('collapse', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className, {\n [`${prefixCls}_borderless`]: !bordered,\n });\n\n const updateActiveItems = (items: string[]) => {\n if (!('activeKey' in props)) {\n // only for defaultKey\n setActiveItems(items);\n }\n onChange && onChange(items);\n };\n\n const handleOnItemClick = (itemKey: string) => {\n let items = activeItems;\n if (accordion) {\n items = items[0] === itemKey ? [] : [itemKey];\n } else {\n items = [...activeItems];\n const index = items.indexOf(itemKey);\n const isActive = index > -1;\n if (isActive) {\n // remove active state\n items.splice(index, 1);\n } else {\n items.push(itemKey);\n }\n }\n updateActiveItems(items);\n };\n\n useEffect(() => {\n // Update state from updated props\n activeKey && setActiveItems(toArray(activeKey));\n }, [activeKey]);\n\n return (\n <div {...otherProps} ref={ref} className={cls}>\n <CollapseContext.Provider\n value={{\n activeKeys: activeItems,\n onItemClick: handleOnItemClick,\n }}>\n {React.Children.map(children, (child, idx) => {\n const childElement = child as React.FunctionComponentElement<CollapsePanelProps>;\n if (childElement.type.displayName === 'CollapsePanel') {\n const itemProps: Partial<CollapsePanelProps> = {\n deletable,\n showArrow,\n itemKey: `${idx}`,\n };\n return React.cloneElement(childElement, itemProps);\n }\n return child;\n })}\n </CollapseContext.Provider>\n </div>\n );\n }\n);\n\nCollapse.displayName = 'Collapse';\n\nexport default Collapse;\n","import React, { useRef, useEffect, useCallback } from 'react';\n\ntype CollapseTransitionProps = {\n isShow: boolean;\n children: React.ReactNode;\n};\n\nconst COLLAPSE_DURATION = 250;\n\nconst CollapseTransition = (props: CollapseTransitionProps): JSX.Element => {\n const { isShow, children } = props;\n const leaveTimerRef = useRef<number | null>(null);\n const enterTimerRef = useRef<number | null>(null);\n const ref = useRef<HTMLDivElement | null>(null);\n\n const beforeEnter = useCallback((): void => {\n const el = ref.current;\n if (el) {\n el.style.display = 'block';\n el.style.height = '0px';\n }\n }, []);\n\n const afterEnter = useCallback((): void => {\n const el = ref.current;\n if (el) {\n el.style.display = 'block';\n el.style.height = '';\n }\n }, []);\n\n const enter = useCallback((): void => {\n const el = ref.current;\n if (el) {\n if (el.scrollHeight !== 0) {\n el.style.height = el.scrollHeight + 'px';\n } else {\n el.style.height = '';\n }\n\n enterTimerRef.current = window.setTimeout(() => afterEnter(), COLLAPSE_DURATION);\n }\n }, [afterEnter]);\n\n const beforeLeave = useCallback((): void => {\n const el = ref.current;\n if (el) {\n el.style.display = 'block';\n if (el.scrollHeight !== 0) {\n el.style.height = el.scrollHeight + 'px';\n }\n }\n }, []);\n\n const afterLeave = useCallback((): void => {\n const el = ref.current;\n if (el) {\n el.style.display = 'none';\n el.style.height = '';\n }\n }, []);\n\n const leave = useCallback((): void => {\n const el = ref.current;\n if (el) {\n if (el.scrollHeight !== 0) {\n el.style.height = '0px';\n }\n\n leaveTimerRef.current = window.setTimeout(() => afterLeave(), COLLAPSE_DURATION);\n }\n }, [afterLeave]);\n\n const triggerChange = useCallback(\n (isCollapsed: boolean): void => {\n const enterTimer = enterTimerRef.current;\n const leaveTimer = leaveTimerRef.current;\n enterTimer && window.clearTimeout(enterTimer);\n leaveTimer && window.clearTimeout(leaveTimer);\n\n if (isCollapsed) {\n beforeEnter();\n enter();\n } else {\n beforeLeave();\n leave();\n }\n },\n [enter, leave, beforeEnter, beforeLeave]\n );\n\n useEffect(() => {\n beforeEnter();\n enter();\n\n return () => {\n beforeLeave();\n leave();\n };\n }, [enter, leave, beforeEnter, beforeLeave]);\n\n useEffect(() => {\n triggerChange(isShow);\n }, [isShow, triggerChange]);\n\n return (\n <div className=\"ty-collapse-transition\" ref={ref}>\n {children}\n </div>\n );\n};\n\nCollapseTransition.displayName = 'CollapseTransition';\n\nexport default CollapseTransition;\n","import React, { useContext, useRef } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { CollapsePanelProps } from './types';\nimport { ArrowDown } from '../_utils/components';\nimport CollapseTransition from '../collapse-transition';\nimport { CollapseContext } from './collapse-context';\n\n/**\n * Allow to parse active status to a node\n * @param node\n * @param isActive\n */\nconst richNode = (node: React.ReactNode, isActive: boolean) => {\n return typeof node === 'function' ? node(isActive) : node;\n};\n\nconst CollapsePanel = (props: CollapsePanelProps): React.ReactElement => {\n const {\n showArrow = true,\n itemKey,\n header,\n disabled,\n extra,\n deletable,\n onHeaderOnClick,\n className,\n style,\n children,\n prefixCls: customisedCls,\n } = props;\n const itemRef = useRef<HTMLDivElement | null>(null);\n const configContext = useContext(ConfigContext);\n const { activeKeys, onItemClick } = useContext(CollapseContext);\n const prefixCls = getPrefixCls('collapse-item', configContext.prefixCls, customisedCls);\n const active = activeKeys.includes(itemKey);\n const cls = classNames(prefixCls, className, {\n [`${prefixCls}_active`]: active,\n });\n\n const headerOnClick = (e: React.MouseEvent) => {\n if (!disabled) {\n onHeaderOnClick && onHeaderOnClick(e);\n onItemClick && onItemClick(itemKey);\n }\n };\n\n /**\n * Remove a item from collapse only the header is enabled\n * @param e\n * @private\n */\n const removeItem = (e: React.MouseEvent<HTMLSpanElement>) => {\n e.stopPropagation();\n if (!disabled) {\n const node = itemRef.current;\n node && node.parentNode?.removeChild(node);\n }\n };\n\n const renderHeader = () => {\n const headerCls = classNames(`${prefixCls}__header`, {\n [`${prefixCls}__header_disabled`]: disabled,\n });\n const arrowCls = classNames(`${prefixCls}__arrow`, {\n [`${prefixCls}__arrow_active`]: active,\n });\n\n return (\n <div className={headerCls} onClick={headerOnClick}>\n {showArrow && <ArrowDown size={10} className={arrowCls} />}\n <div className={`${prefixCls}__title`}>{richNode(header, active)}</div>\n <div className={`${prefixCls}__extra`}>\n {deletable ? <span onClick={removeItem}>✕</span> : richNode(extra, active)}\n </div>\n </div>\n );\n };\n\n return (\n <div className={cls} style={style} ref={itemRef}>\n {renderHeader()}\n <CollapseTransition isShow={active}>\n <div className={`${prefixCls}__content`}>{richNode(children, active)}</div>\n </CollapseTransition>\n </div>\n );\n};\n\nCollapsePanel.displayName = 'CollapsePanel';\n\nexport default CollapsePanel;\n","import Collapse from './collapse';\nimport CollapsePanel from './collapse-panel';\n\ntype ICollapse = typeof Collapse & {\n Panel: typeof CollapsePanel;\n};\n\nconst DefaultCollapse = Collapse as ICollapse;\nDefaultCollapse.Panel = CollapsePanel;\n\nexport default DefaultCollapse;\n","import React, { useCallback, useContext, useEffect, useRef, useState } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { CountdownProps, DateType } from './types';\n\nconst Countdown = (props: CountdownProps): JSX.Element => {\n const {\n millisec = false,\n prefixCls: customisedCls,\n value,\n onFinish,\n className,\n style,\n children,\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('countdown', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className);\n const [date, setDate] = useState<DateType>({ day: 0, hour: 0, min: 0, sec: 0, millisec: 0 });\n const timerRef = useRef<number>();\n\n const startInterval = useCallback((): void => {\n timerRef.current = window.setInterval(\n () => {\n const distance = value.getTime() - Date.now();\n\n // when the count down finished\n if (distance < 0) {\n window.clearInterval(timerRef.current);\n setDate({ day: 0, hour: 0, min: 0, sec: 0, millisec: 0 });\n onFinish && onFinish();\n return;\n }\n\n // calculate the specific time\n const day = Math.floor(distance / 86400000);\n const hour = Math.floor((distance % 86400000) / 3600000);\n const min = Math.floor((distance % 3600000) / 60000);\n const sec = Math.floor((distance % 60000) / 1000);\n const millisecond = Math.floor((distance % 60000) % 1000);\n setDate({ day, hour, min, sec, millisec: millisecond });\n },\n millisec ? 1 : 1000\n );\n }, [millisec, onFinish, value]);\n\n useEffect(() => {\n value && startInterval();\n\n return (): void => {\n window.clearInterval(timerRef.current);\n };\n }, [value, startInterval]);\n\n return (\n <div className={cls} style={style}>\n {typeof children === 'function' && children(date)}\n </div>\n );\n};\n\nCountdown.displayName = 'Countdown';\n\nexport default Countdown;\n","import React from 'react';\nimport classNames from 'classnames';\nimport { DescriptionsItemProps } from './types';\n\ntype Props = {\n index: number;\n bordered: boolean;\n colon: boolean;\n type: 'label' | 'content' | 'item';\n prefixCls: string;\n item: React.ReactElement<DescriptionsItemProps>;\n};\n\nconst Col = (props: Props): React.ReactElement => {\n const { item, colon, type, bordered, prefixCls } = props;\n\n const { label, children, span = 1 } = item.props;\n switch (type) {\n case 'item': {\n const labelCls = classNames(`${prefixCls}__item-label`, {\n [`${prefixCls}__item_colon`]: colon,\n });\n if (bordered) {\n return (\n <>\n <th className={labelCls} colSpan={1}>\n {label}\n </th>\n <td className={`${prefixCls}__item-content`} colSpan={span * 2 - 1}>\n {children}\n </td>\n </>\n );\n } else {\n return (\n <td className={`${prefixCls}__item`} colSpan={span}>\n <span className={labelCls}>{label}</span>\n <span className={`${prefixCls}__item-content`}>{children}</span>\n </td>\n );\n }\n }\n case 'label': {\n const cls = classNames(\n { [`${prefixCls}__item`]: !bordered, [`${prefixCls}__item_colon`]: colon },\n `${prefixCls}__item-label`\n );\n return (\n <th className={cls} colSpan={span}>\n {label}\n </th>\n );\n }\n case 'content': {\n const cls = classNames({ [`${prefixCls}__item`]: !bordered }, `${prefixCls}__item-content`);\n return (\n <td className={cls} colSpan={span}>\n {children}\n </td>\n );\n }\n }\n};\n\nexport default Col;\n","import React from 'react';\nimport { DirectionType } from '../_utils/props';\nimport Col from './col';\nimport { DescriptionsItemProps } from './types';\n\ntype Props = {\n index: number;\n bordered: boolean;\n colon: boolean;\n layout: DirectionType;\n prefixCls: string;\n row: React.ReactElement<DescriptionsItemProps>[];\n};\n\nconst Row = (props: Props): React.ReactElement => {\n const { row, index, layout, colon, bordered, prefixCls } = props;\n\n const renderCols = (renderType: 'label' | 'content' | 'item') => {\n return row.map((item, idx) => (\n <Col\n key={idx}\n index={idx}\n prefixCls={prefixCls}\n item={item}\n bordered={bordered}\n colon={colon}\n type={renderType}\n />\n ));\n };\n\n if (layout === 'vertical') {\n return (\n <>\n <tr className={`${prefixCls}__row`} key={`label-${index}`}>\n {renderCols('label')}\n </tr>\n <tr className={`${prefixCls}__row`} key={`content-${index}`}>\n {renderCols('content')}\n </tr>\n </>\n );\n }\n\n return (\n <tr className={`${prefixCls}__row`} key={index}>\n {renderCols('item')}\n </tr>\n );\n};\n\nexport default Row;\n","import React, { useContext } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { DescriptionsItemProps, DescriptionsProps } from './types';\nimport Row from './row';\n\nconst Descriptions = (props: DescriptionsProps): React.ReactElement => {\n const {\n size = 'md',\n bordered = false,\n column = 3,\n layout = 'horizontal',\n title,\n className,\n children,\n prefixCls: customisedCls,\n ...otherProps\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('descriptions', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className, `${prefixCls}_${size}`, {\n [`${prefixCls}_bordered`]: bordered,\n });\n\n const getRows = (): React.ReactElement<DescriptionsItemProps>[][] => {\n const rows: React.ReactElement<DescriptionsItemProps>[][] = [];\n let columns: React.ReactElement<DescriptionsItemProps>[] | null = null;\n let leftSpans: number;\n\n const numOfChildren = React.Children.count(children);\n React.Children.forEach(children, (child, idx) => {\n const childElement = child as React.FunctionComponentElement<DescriptionsItemProps>;\n if (childElement.type.displayName === 'DescriptionsItem') {\n let itemNode = childElement;\n\n if (!columns) {\n leftSpans = column;\n columns = [];\n rows.push(columns);\n }\n\n // set last span to align the end of Descriptions\n if (idx === numOfChildren - 1) {\n const props: Partial<DescriptionsItemProps> = { span: leftSpans };\n itemNode = React.cloneElement(childElement, props);\n }\n\n // calculate left fill span\n const { span = 1 } = itemNode.props;\n columns.push(itemNode);\n leftSpans -= span;\n\n if (leftSpans <= 0) {\n columns = null;\n }\n }\n });\n\n return rows;\n };\n\n const rows = getRows();\n const displayColon = 'colon' in props ? (props.colon as boolean) : !bordered;\n // the reason of using a div to wrapper a table is to figure out border radius issue of the table\n return (\n <div {...otherProps} className={cls}>\n {title && <div className={`${prefixCls}__title`}>{title}</div>}\n <div className={`${prefixCls}__body`}>\n <table>\n <tbody>\n {rows.map((row, idx) => (\n <Row\n key={idx}\n index={idx}\n colon={displayColon}\n bordered={bordered}\n prefixCls={prefixCls}\n layout={layout}\n row={row}\n />\n ))}\n </tbody>\n </table>\n </div>\n </div>\n );\n};\n\nDescriptions.displayName = 'Descriptions';\n\nexport default Descriptions;\n","import { DescriptionsItemProps } from './types';\n\nconst DescriptionsItem = (props: DescriptionsItemProps): JSX.Element => {\n return props.children as JSX.Element;\n};\n\nDescriptionsItem.displayName = 'DescriptionsItem';\n\nexport default DescriptionsItem;\n","import Descriptions from './descriptions';\nimport DescriptionsItem from './descriptions-item';\n\ntype IDesc = typeof Descriptions & {\n Item: typeof DescriptionsItem;\n};\n\nconst DefaultDesc = Descriptions as IDesc;\nDefaultDesc.Item = DescriptionsItem;\n\nexport default DefaultDesc;\n","import React, { useContext } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { DividerProps } from './types';\n\nconst Divider = (props: DividerProps): JSX.Element => {\n const {\n type = 'horizontal',\n dashed = false,\n align = 'center',\n prefixCls: customisedCls,\n className,\n children,\n ...otherProps\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('divider', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className, `${prefixCls}_${type}`, `${prefixCls}_${align}`, {\n [`${prefixCls}_${type}-dashed`]: dashed,\n [`${prefixCls}_text`]: children,\n });\n\n return (\n <div {...otherProps} className={cls}>\n {children && <span className={`${prefixCls}_inner-text`}>{children}</span>}\n </div>\n );\n};\n\nDivider.displayName = 'Divider';\n\nexport default Divider;\n","export default function getBoundingClientRect(element) {\n var rect = element.getBoundingClientRect();\n return {\n width: rect.width,\n height: rect.height,\n top: rect.top,\n right: rect.right,\n bottom: rect.bottom,\n left: rect.left,\n x: rect.left,\n y: rect.top\n };\n}","/*:: import type { Window } from '../types'; */\n\n/*:: declare function getWindow(node: Node | Window): Window; */\nexport default function getWindow(node) {\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","import getWindow from \"./getWindow.js\";\n/*:: declare function isElement(node: mixed): boolean %checks(node instanceof\n Element); */\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n/*:: declare function isHTMLElement(node: mixed): boolean %checks(node instanceof\n HTMLElement); */\n\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nexport { isElement, isHTMLElement };","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe: assume body is always available\n return (isElement(element) ? element.ownerDocument : element.document).documentElement;\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If <html> has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on <html>\n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\"; // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement);\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","// Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\nexport default function getLayoutRect(element) {\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: element.offsetWidth,\n height: element.offsetHeight\n };\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// $FlowFixMe: this is a quicker (but less type safe) way to save quite some bytes from the bundle\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || // DOM Element detected\n // $FlowFixMe: need a better way to handle this...\n element.host || // ShadowRoot detected\n // $FlowFixMe: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the \nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = getNodeName(scrollParent) === 'body';\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n var offsetParent = element.offsetParent;\n\n if (offsetParent) {\n var html = getDocumentElement(offsetParent);\n\n if (getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static' && getComputedStyle(html).position !== 'static') {\n return html;\n }\n }\n\n return offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var currentNode = getParentNode(element);\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.willChange && css.willChange !== 'auto') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static') {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport getComputedStyle from \"./dom-utils/getComputedStyle.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport validateModifiers from \"./utils/validateModifiers.js\";\nimport uniqueBy from \"./utils/uniqueBy.js\";\nimport getBasePlacement from \"./utils/getBasePlacement.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nimport { auto } from \"./enums.js\";\nexport * from \"./enums.js\";\nvar INVALID_ELEMENT_ERROR = 'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.';\nvar INFINITE_LOOP_ERROR = 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.';\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign(Object.assign({}, DEFAULT_OPTIONS), defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(options) {\n cleanupModifierEffects();\n state.options = Object.assign(Object.assign(Object.assign({}, defaultOptions), state.options), options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n }); // Validate the provided modifiers so that the consumer will get warned\n // if one of the modifiers is invalid for any reason\n\n if (process.env.NODE_ENV !== \"production\") {\n var modifiers = uniqueBy([].concat(orderedModifiers, state.options.modifiers), function (_ref) {\n var name = _ref.name;\n return name;\n });\n validateModifiers(modifiers);\n\n if (getBasePlacement(state.options.placement) === auto) {\n var flipModifier = state.orderedModifiers.find(function (_ref2) {\n var name = _ref2.name;\n return name === 'flip';\n });\n\n if (!flipModifier) {\n console.error(['Popper: \"auto\" placements require the \"flip\" modifier be', 'present and enabled to work.'].join(' '));\n }\n }\n\n var _getComputedStyle = getComputedStyle(popper),\n marginTop = _getComputedStyle.marginTop,\n marginRight = _getComputedStyle.marginRight,\n marginBottom = _getComputedStyle.marginBottom,\n marginLeft = _getComputedStyle.marginLeft; // We no longer take into account `margins` on the popper, and it can\n // cause bugs with positioning, so we'll warn the consumer\n\n\n if ([marginTop, marginRight, marginBottom, marginLeft].some(function (margin) {\n return parseFloat(margin);\n })) {\n console.warn(['Popper: CSS \"margin\" styles cannot be used to apply padding', 'between the popper and its reference element or boundary.', 'To replicate margin, use the `offset` modifier, as well as', 'the `padding` option in the `preventOverflow` and `flip`', 'modifiers.'].join(' '));\n }\n }\n\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(INVALID_ELEMENT_ERROR);\n }\n\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n var __debug_loops__ = 0;\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (process.env.NODE_ENV !== \"production\") {\n __debug_loops__ += 1;\n\n if (__debug_loops__ > 100) {\n console.error(INFINITE_LOOP_ERROR);\n break;\n }\n }\n\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(INVALID_ELEMENT_ERROR);\n }\n\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref3) {\n var name = _ref3.name,\n _ref3$options = _ref3.options,\n options = _ref3$options === void 0 ? {} : _ref3$options,\n effect = _ref3.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign(Object.assign(Object.assign({}, existing), current), {}, {\n options: Object.assign(Object.assign({}, existing.options), current.options),\n data: Object.assign(Object.assign({}, existing.data), current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = Math.floor(offsets[mainAxis]) - Math.floor(reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = Math.floor(offsets[mainAxis]) + Math.ceil(reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","import { top, left, right, bottom } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsets(_ref) {\n var x = _ref.x,\n y = _ref.y;\n var win = window;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: Math.round(x * dpr) / dpr || 0,\n y: Math.round(y * dpr) / dpr || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive;\n\n var _roundOffsets = roundOffsets(offsets),\n x = _roundOffsets.x,\n y = _roundOffsets.y;\n\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n } // $FlowFixMe: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n /*:: offsetParent = (offsetParent: Element); */\n\n\n if (placement === top) {\n sideY = bottom;\n y -= offsetParent.clientHeight - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left) {\n sideX = right;\n x -= offsetParent.clientWidth - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign(Object.assign({}, commonStyles), {}, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) < 2 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign(Object.assign({}, commonStyles), {}, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref3) {\n var state = _ref3.state,\n options = _ref3.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive;\n\n if (process.env.NODE_ENV !== \"production\") {\n var transitionProperty = getComputedStyle(state.elements.popper).transitionProperty || '';\n\n if (adaptive && ['transform', 'top', 'right', 'bottom', 'left'].some(function (property) {\n return transitionProperty.indexOf(property) >= 0;\n })) {\n console.warn(['Popper: Detected CSS transitions on at least one of the following', 'CSS properties: \"transform\", \"top\", \"right\", \"bottom\", \"left\".', '\\n\\n', 'Disable the \"computeStyles\" modifier\\'s `adaptive` option to allow', 'for smooth transitions, or remove these properties from the CSS', 'transition declaration on the popper element if only transitioning', 'opacity or background-color for example.', '\\n\\n', 'We recommend using the popper element as a wrapper around an inner', 'element that can have any CSS property transitioned for animations.'].join(' '));\n }\n }\n\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign(Object.assign({}, state.styles.popper), mapToStyles(Object.assign(Object.assign({}, commonStyles), {}, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign(Object.assign({}, state.styles.arrow), mapToStyles(Object.assign(Object.assign({}, commonStyles), {}, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false\n })));\n }\n\n state.attributes.popper = Object.assign(Object.assign({}, state.attributes.popper), {}, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\";\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign(Object.assign({}, rects), {}, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","export default function contains(parent, child) {\n // $FlowFixMe: hasOwnProperty doesn't seem to work in tests\n var isShadow = Boolean(child.getRootNode && child.getRootNode().host); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (isShadow) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","export default function rectToClientRect(rect) {\n return Object.assign(Object.assign({}, rect), {}, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\n\nfunction getInnerBoundingClientRect(element) {\n var rect = getBoundingClientRect(element);\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element)) : isHTMLElement(clippingParent) ? getInnerBoundingClientRect(clippingParent) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent);\n accRect.top = Math.max(rect.top, accRect.top);\n accRect.right = Math.min(rect.right, accRect.right);\n accRect.bottom = Math.min(rect.bottom, accRect.bottom);\n accRect.left = Math.max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nexport default function getViewportRect(element) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0; // NB: This isn't supported on iOS <= 12. If the keyboard is open, the popper\n // can be obscured underneath it.\n // Also, `html.clientHeight` adds the bottom bar height in Safari iOS, even\n // if it isn't open, so if this isn't available, the popper will be detected\n // to overflow the bottom of the screen too early.\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height; // Uses Layout Viewport (like Chrome; Safari does not currently)\n // In Chrome, it returns a value very close to 0 (+/-) but contains rounding\n // errors due to floating point numbers, so we need to check precision.\n // Safari returns a number <= 0, usually < -1 when pinch-zoomed\n // Feature detection fails in mobile emulation mode in Chrome.\n // Math.abs(win.innerWidth / visualViewport.scale - visualViewport.width) <\n // 0.001\n // Fallback here: \"Not Safari\" userAgent\n\n if (!/^((?!chrome|android).)*safari/i.test(navigator.userAgent)) {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = element.ownerDocument.body;\n var width = Math.max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = Math.max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += Math.max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign(Object.assign({}, getFreshSideObject()), paddingObject);\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","import getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var referenceElement = state.elements.reference;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary);\n var referenceClientRect = getBoundingClientRect(referenceElement);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign(Object.assign({}, popperRect), popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","export default function within(min, value, max) {\n return Math.max(min, Math.min(value, max));\n}","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign(Object.assign({}, state.attributes.popper), {}, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import { popperGenerator, detectOverflow } from \"./index.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow };","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\n\n/*:: type OverflowsMap = { [ComputedPlacement]: number }; */\n\n/*;; type OverflowsMap = { [key in ComputedPlacement]: number }; */\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements; // $FlowFixMe\n\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n\n if (process.env.NODE_ENV !== \"production\") {\n console.error(['Popper: The `allowedAutoPlacements` option did not allow any', 'placements. Ensure the `placement` option matches the variation', 'of the allowed placements.', 'For example, \"auto\" cannot be used to allow \"bottom-start\".', 'Use \"auto-start\" instead.'].join(' '));\n }\n } // $FlowFixMe: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport within from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign(Object.assign({}, state.rects), {}, {\n placement: state.placement\n })) : tetherOffset;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = popperOffsets[mainAxis] + overflow[mainSide];\n var max = popperOffsets[mainAxis] - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - tetherOffsetValue : minLen - arrowLen - arrowPaddingMin - tetherOffsetValue;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + tetherOffsetValue : maxLen + arrowLen + arrowPaddingMax + tetherOffsetValue;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = state.modifiersData.offset ? state.modifiersData.offset[state.placement][mainAxis] : 0;\n var tetherMin = popperOffsets[mainAxis] + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = popperOffsets[mainAxis] + maxOffset - offsetModifierValue;\n var preventedOffset = within(tether ? Math.min(min, tetherMin) : min, offset, tether ? Math.max(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var _preventedOffset = within(_min, _offset, _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport within from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = state.modifiersData[name + \"#persistent\"].padding;\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element,\n _options$padding = options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (process.env.NODE_ENV !== \"production\") {\n if (!isHTMLElement(arrowElement)) {\n console.error(['Popper: \"arrow\" element must be an HTMLElement (not an SVGElement).', 'To use an SVG arrow, wrap it in an HTMLElement that will be used as', 'the arrow.'].join(' '));\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(['Popper: \"arrow\" modifier\\'s `element` must be a child of the popper', 'element.'].join(' '));\n }\n\n return;\n }\n\n state.elements.arrow = arrowElement;\n state.modifiersData[name + \"#persistent\"] = {\n padding: mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements))\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","import React from 'react';\nimport ReactDOM from 'react-dom';\n\nexport interface PortalProps {\n container?: HTMLElement;\n children?: React.ReactNode;\n}\n\nconst Portal = (props: PortalProps): React.ReactPortal => {\n const { container = document.body, children } = props;\n return ReactDOM.createPortal(children, container);\n};\n\nexport default Portal;\n","import React, { useCallback, useContext, useEffect, useRef, useState } from 'react';\nimport classNames from 'classnames';\nimport { createPopper, Instance } from '@popperjs/core';\nimport Transition, { AnimationName } from '../transition';\nimport Portal from '../portal';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { Placement, PopupProps } from './types';\n\nconst Popup = (props: PopupProps): JSX.Element => {\n const {\n disabled = false,\n trigger = 'click',\n placement = 'top',\n defaultVisible = false,\n arrow = true,\n flip = true,\n offset = 0,\n theme = 'light',\n usePortal = true,\n mouseEnterDelay = 100,\n mouseLeaveDelay = 100,\n biZoom = true,\n prefixCls: customisedCls,\n content,\n visible,\n onVisibleChange,\n className,\n children,\n ...otherProps\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('popup', configContext.prefixCls, customisedCls);\n const cls = classNames(\n className,\n prefixCls,\n `${prefixCls}_${placement}`,\n `${prefixCls}_${theme}`\n );\n const [popupVisible, setPopupVisible] = useState('visible' in props ? visible : defaultVisible);\n const targetRef = useRef<HTMLElement | null>(null);\n const popupRef = useRef<HTMLDivElement | null>(null);\n const delayDisplayPopupTimer = useRef<number | undefined>(undefined);\n const delayHidePopupTimer = useRef<number | undefined>(undefined);\n const popperRef = useRef<Instance | undefined>(undefined);\n\n const displayPopup = useCallback(() => {\n setPopupVisible(true);\n onVisibleChange && onVisibleChange(true);\n }, [onVisibleChange]);\n\n const hidePopup = useCallback(() => {\n setPopupVisible(false);\n onVisibleChange && onVisibleChange(false);\n }, [onVisibleChange]);\n\n const delayDisplayPopup = useCallback((): void => {\n delayDisplayPopupTimer.current = window.setTimeout(() => {\n displayPopup();\n }, mouseEnterDelay);\n }, [mouseEnterDelay, displayPopup]);\n\n const delayHidePopup = useCallback((): void => {\n delayHidePopupTimer.current = window.setTimeout(() => {\n hidePopup();\n }, mouseLeaveDelay);\n }, [mouseLeaveDelay, hidePopup]);\n\n const handlePopupOnMouseEnter = (): void => {\n if (trigger === 'hover') {\n displayPopup();\n window.clearTimeout(delayHidePopupTimer.current);\n }\n };\n\n const handlePopupOnMouseLeave = (): void => {\n if (trigger === 'hover') {\n delayHidePopup();\n window.clearTimeout(delayDisplayPopupTimer.current);\n }\n };\n\n const handleTargetOnMouseEnter = useCallback((): void => {\n delayDisplayPopup();\n window.clearTimeout(delayHidePopupTimer.current);\n }, [delayDisplayPopup]);\n\n const handleTargetOnMouseLeave = useCallback((): void => {\n delayHidePopup();\n window.clearTimeout(delayDisplayPopupTimer.current);\n }, [delayHidePopup]);\n\n const documentOnClick = useCallback(\n (e: Event): void => {\n const target = targetRef.current;\n const popup = popupRef.current;\n if (\n !target ||\n target.contains(e.target as HTMLElement) ||\n !popup ||\n popup.contains(e.target as HTMLElement)\n )\n return;\n\n hidePopup();\n },\n [targetRef, hidePopup]\n );\n\n const handleTargetOnMouseClick = useCallback(\n (e: MouseEvent): void => {\n e.preventDefault();\n if (popupVisible) {\n hidePopup();\n } else {\n displayPopup();\n document.addEventListener('click', documentOnClick, true);\n }\n },\n [popupVisible, hidePopup, displayPopup, documentOnClick]\n );\n\n const transitionOnEnter = (): void => {\n const instance = createPopper(\n targetRef.current as HTMLElement,\n popupRef.current as HTMLElement,\n {\n placement: placement as Placement,\n modifiers: [\n {\n name: 'flip',\n enabled: flip,\n },\n {\n name: 'offset',\n options: {\n offset: [0, arrow ? 10 + offset : 3 + offset],\n },\n },\n {\n name: 'computeStyles',\n options: {\n gpuAcceleration: false,\n adaptive: false,\n },\n },\n ],\n }\n );\n if (trigger === 'hover') {\n instance.state.elements.popper.addEventListener('mouseenter', handlePopupOnMouseEnter);\n instance.state.elements.popper.addEventListener('mouseleave', handlePopupOnMouseLeave);\n }\n popperRef.current = instance;\n };\n\n const transitionOnExited = (): void => {\n const popperInstance = popperRef.current;\n if (popperInstance) {\n if (trigger === 'hover') {\n popperInstance.state.elements.popper.removeEventListener(\n 'mouseenter',\n handlePopupOnMouseEnter\n );\n popperInstance.state.elements.popper.removeEventListener(\n 'mouseleave',\n handlePopupOnMouseLeave\n );\n }\n popperInstance.destroy();\n }\n };\n\n const getAnimationName = () => {\n const mapping = {\n 'top-start': biZoom ? 'top-start' : 'center-top',\n top: biZoom ? 'top' : 'center-top',\n 'top-end': biZoom ? 'top-end' : 'center-top',\n 'bottom-start': biZoom ? 'bottom-start' : 'center-bottom',\n bottom: biZoom ? 'bottom' : 'center-bottom',\n 'bottom-end': biZoom ? 'bottom-end' : 'center-bottom',\n 'left-start': biZoom ? 'bottom-end' : 'center-left',\n left: biZoom ? 'left' : 'center-left',\n 'left-end': biZoom ? 'top-end' : 'center-left',\n 'right-start': biZoom ? 'bottom-start' : 'center-right',\n right: biZoom ? 'right' : 'center-right',\n 'right-end': biZoom ? 'top-start' : 'center-right',\n };\n return `zoom-${mapping[placement]}` as AnimationName;\n };\n\n useEffect(() => {\n if (disabled) return;\n\n const target = targetRef.current;\n if (!target) return;\n\n if (trigger === 'hover') {\n target.addEventListener('mouseenter', handleTargetOnMouseEnter);\n target.addEventListener('mouseleave', handleTargetOnMouseLeave);\n } else if (trigger === 'click') {\n target.addEventListener('click', handleTargetOnMouseClick);\n } else if (trigger === 'focus') {\n if (target.nodeName === 'INPUT' || target.nodeName === 'TEXTAREA') {\n target.addEventListener('focus', displayPopup);\n target.addEventListener('blur', hidePopup);\n } else {\n target.addEventListener('mousedown', displayPopup);\n target.addEventListener('mouseup', hidePopup);\n }\n } else if (trigger === 'contextmenu') {\n target.addEventListener('contextmenu', handleTargetOnMouseClick);\n } else if (trigger === 'manual') {\n setPopupVisible(props.visible);\n }\n\n return (): void => {\n target.removeEventListener('mouseenter', handleTargetOnMouseEnter);\n target.removeEventListener('mouseleave', handleTargetOnMouseLeave);\n target.removeEventListener('click', handleTargetOnMouseClick);\n target.removeEventListener('focus', displayPopup);\n target.removeEventListener('blur', hidePopup);\n target.removeEventListener('mousedown', displayPopup);\n target.removeEventListener('mouseup', hidePopup);\n target.removeEventListener('contextmenu', handleTargetOnMouseClick);\n };\n }, [\n props.visible,\n disabled,\n targetRef,\n trigger,\n handleTargetOnMouseClick,\n handleTargetOnMouseEnter,\n handleTargetOnMouseLeave,\n displayPopup,\n hidePopup,\n ]);\n\n useEffect(() => {\n if ('visible' in props) {\n props.visible ? displayPopup() : hidePopup();\n }\n }, [props, displayPopup, hidePopup]);\n\n const renderContent = () => (\n <Transition\n in={popupVisible}\n onEnter={transitionOnEnter}\n onExited={transitionOnExited}\n animation={getAnimationName()}>\n <div {...otherProps} className={cls} ref={popupRef}>\n {content && arrow && <div data-popper-arrow className={`${prefixCls}__arrow`} />}\n {content}\n </div>\n </Transition>\n );\n\n const elementProps = {\n ref: (ref: HTMLElement | null) => (targetRef.current = ref),\n };\n\n return (\n <>\n {React.cloneElement(children, elementProps)}\n {usePortal ? <Portal>{renderContent()}</Portal> : renderContent()}\n </>\n );\n};\n\nexport default Popup;\n","import React, { useCallback, useContext, useEffect, useRef, useState } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { DropdownProps } from './types';\nimport { MenuProps } from '../menu/types';\nimport Popup from '../popup';\n\nconst Dropdown = (props: DropdownProps): JSX.Element => {\n const {\n trigger = 'hover',\n placement = 'bottom-start',\n disabled = false,\n arrow = false,\n onVisibleChange,\n overlay,\n className,\n children,\n prefixCls: customisedCls,\n ...otherProps\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('dropdown', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className);\n const [popupVisible, setPopupVisible] = useState<boolean>(\n 'visible' in props ? (props.visible as boolean) : false\n );\n const delayDisplayPopupTimer = useRef<number | undefined>(undefined);\n const delayHidePopupTimer = useRef<number | undefined>(undefined);\n\n const displayPopup = useCallback(() => {\n !('visible' in props) && setPopupVisible(true);\n onVisibleChange && onVisibleChange(true);\n }, [props, onVisibleChange]);\n\n const hidePopup = useCallback(() => {\n !('visible' in props) && setPopupVisible(false);\n onVisibleChange && onVisibleChange(false);\n }, [props, onVisibleChange]);\n\n const delayHidePopup = useCallback((): void => {\n delayHidePopupTimer.current = window.setTimeout(() => {\n hidePopup();\n }, 100);\n }, [hidePopup]);\n\n const renderOverlay = (): React.ReactNode => {\n if (!overlay) {\n return null;\n }\n\n const overlayProps: Partial<MenuProps> = {\n overlayClassName: cls,\n mode: 'vertical',\n theme: 'light',\n onMouseEnter: () => {\n if (trigger === 'hover') {\n displayPopup();\n window.clearTimeout(delayHidePopupTimer.current);\n }\n },\n onMouseLeave: () => {\n if (trigger === 'hover') {\n delayHidePopup();\n window.clearTimeout(delayDisplayPopupTimer.current);\n }\n },\n onSelect: (selectedIndex) => {\n const { onSelect } = overlay.props;\n onSelect && onSelect(selectedIndex);\n hidePopup();\n },\n };\n return React.cloneElement(overlay, overlayProps);\n };\n\n const handleTargetOnMouseEnter = () => {\n if (trigger === 'hover') {\n displayPopup();\n window.clearTimeout(delayHidePopupTimer.current);\n }\n };\n\n const handleTargetOnMouseLeave = () => {\n if (trigger === 'hover') {\n delayHidePopup();\n window.clearTimeout(delayDisplayPopupTimer.current);\n }\n };\n\n const handleTargetOnClick = () => {\n if (trigger === 'click') {\n displayPopup();\n }\n };\n\n useEffect(() => {\n 'visible' in props && setPopupVisible(props.visible as boolean);\n }, [props]);\n\n const childrenProps = {\n onMouseEnter: handleTargetOnMouseEnter,\n onMouseLeave: handleTargetOnMouseLeave,\n onClick: handleTargetOnClick,\n };\n\n React.Children.only(children);\n return (\n <Popup\n {...otherProps}\n biZoom={false}\n arrow={arrow}\n disabled={disabled}\n placement={placement}\n flip={!('placement' in props)}\n trigger=\"manual\"\n className={cls}\n visible={popupVisible}\n content={renderOverlay()}>\n {React.cloneElement(children, childrenProps)}\n </Popup>\n );\n};\n\nDropdown.displayName = 'Dropdown';\n\nexport default Dropdown;\n","import React, { useContext, useEffect } from 'react';\nimport classNames from 'classnames';\nimport Portal from '../portal';\nimport { CSSTransition } from 'react-transition-group';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { OverlayProps } from './types';\n\nconst Overlay = (props: OverlayProps): JSX.Element => {\n const {\n isShow = false,\n blurred = false,\n unmountOnExit = true,\n zIndex = 1000,\n type = 'default',\n clickCallback,\n onEnter,\n onEntered,\n onExit,\n onExited,\n children,\n style,\n prefixCls: customisedCls,\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('overlay', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, `${prefixCls}_${type}`, { [`${prefixCls}_blurred`]: blurred });\n\n useEffect(() => {\n if (isShow) {\n document.body.style.overflow = 'hidden';\n } else {\n document.body.style.overflow = '';\n }\n });\n\n return (\n <Portal>\n <CSSTransition\n appear={true}\n onEnter={onEnter}\n onEntered={onEntered}\n onExit={onExit}\n onExited={onExited}\n in={isShow}\n mountOnEnter={true}\n unmountOnExit={unmountOnExit}\n classNames={`${prefixCls}_fade`}\n timeout={{ exit: 300, enter: 0 }}>\n <div tabIndex={-1} className={cls} onClick={clickCallback} style={{ zIndex, ...style }}>\n {children}\n </div>\n </CSSTransition>\n </Portal>\n );\n};\n\nOverlay.displayName = 'Overlay';\n\nexport default Overlay;\n","import React, { useContext, useState } from 'react';\nimport classNames from 'classnames';\nimport { CSSTransition } from 'react-transition-group';\nimport Overlay from '../overlay';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { DrawerProps } from './types';\n\nconst Drawer = (props: DrawerProps): React.ReactElement => {\n const {\n visible,\n placement = 'right',\n size = 256,\n closable = true,\n unmountOnClose = true,\n maskType = 'default',\n maskClosable = true,\n onClose,\n prefixCls: customisedCls,\n afterClose,\n zIndex = 1000,\n header,\n footer,\n className,\n maskStyle,\n style,\n children,\n } = props;\n const [drawerVisible, setDrawerVisible] = useState(visible);\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('drawer', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className, `${prefixCls}_${placement}`);\n const sty: React.CSSProperties =\n placement === 'top' || placement === 'bottom' ? { height: size } : { width: size };\n\n return (\n <Overlay\n onEnter={(): void => setDrawerVisible(true)}\n onExit={(): void => setDrawerVisible(false)}\n zIndex={zIndex}\n type={maskType}\n unmountOnExit={unmountOnClose}\n isShow={visible}\n onExited={afterClose}\n clickCallback={(e: React.MouseEvent): void => {\n maskClosable && onClose ? onClose(e) : undefined;\n }}\n style={maskStyle}>\n <div className={cls} style={{ ...style, ...sty }}>\n <CSSTransition\n appear={true}\n in={drawerVisible}\n timeout={0}\n classNames={`${prefixCls}__content_move`}>\n <div className={`${prefixCls}__content`} onClick={(e) => e.stopPropagation()}>\n {closable && (\n <div className={`${prefixCls}__close-btn`} onClick={onClose}>\n ✕\n </div>\n )}\n {header && <div className={`${prefixCls}__header`}>{header}</div>}\n <div className={`${prefixCls}__body`}>{children}</div>\n {footer && <div className={`${prefixCls}__footer`}>{footer}</div>}\n </div>\n </CSSTransition>\n </div>\n </Overlay>\n );\n};\n\nDrawer.displayName = 'Drawer';\n\nexport default Drawer;\n","import React, { ReactNode, useContext } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { EmptyProps } from './types';\n\nconst Empty = (props: EmptyProps): React.ReactElement => {\n const {\n description = 'No Data',\n image,\n imageStyle,\n descStyle,\n className,\n style,\n children,\n prefixCls: customisedCls,\n ...otherProps\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('empty', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className);\n\n const renderImage = (): ReactNode => {\n if (React.isValidElement(image)) {\n return image;\n } else if (typeof image === 'string') {\n return <img src={image} alt=\"empty\" style={imageStyle} className={`${prefixCls}__image`} />;\n } else {\n return (\n <svg width=\"61px\" height=\"40px\" viewBox=\"0 0 61 40\" version=\"1.1\">\n <g stroke=\"none\" strokeWidth=\"1\" fill=\"none\" fillRule=\"evenodd\">\n <g transform=\"translate(0.000000, 1.000000)\">\n <ellipse fill=\"#F5F5F5\" cx=\"30.5\" cy=\"30.5\" rx=\"30.5\" ry=\"8.5\" />\n <path\n d=\"M8,14 L16.1016016,14 C17.4262005,14 18.5,15.0737995 18.5,16.3983984 C18.5,17.7229972 19.5737995,18.7967967 20.8983984,18.7967967 L39.1016016,18.7967967 C40.4262005,18.7967967 41.5,17.7229972 41.5,16.3983984 C41.5,15.0737995 42.5737995,14 43.8983984,14 L52,14 C52.5522847,14 53,14.4477153 53,15 L53,29 C53,31.209139 51.209139,33 49,33 L11,33 C8.790861,33 7,31.209139 7,29 L7,15 C7,14.4477153 7.44771525,14 8,14 Z\"\n stroke=\"#D9D9D9\"\n fill=\"#FAFAFA\"\n />\n <path\n d=\"M7.34587252,14.1911631 L14.8857295,1.90750067 C15.6132226,0.722295128 16.9040854,1.14364005e-15 18.2947537,0 L41.70114,0 C43.0918102,8.62632224e-15 44.3826743,0.722296971 45.1101669,1.90750495 L52.65,14.1911631 L52.65,14.1911631 L44.0201775,14.1911631 C42.6922539,14.1911631 41.6157591,15.2676579 41.6157591,16.5955815 C41.6157591,17.9235052 40.5392643,19 39.2113406,19 L20.7845564,19 C19.4566328,19 18.380138,17.9235052 18.380138,16.5955815 C18.380138,15.2676579 17.3036432,14.1911631 15.9757195,14.1911631 L7.34587252,14.1911631 L7.34587252,14.1911631 Z\"\n stroke=\"#D9D9D9\"\n fill=\"#FFFFFF\"\n />\n </g>\n </g>\n </svg>\n );\n }\n };\n\n return (\n <div {...otherProps} className={cls} style={style}>\n <div className={`${prefixCls}__image-container`}>{renderImage()}</div>\n {typeof props.description === 'boolean' && !description ? null : (\n <p className={`${prefixCls}__desc`} style={descStyle}>\n {description}\n </p>\n )}\n {children && <div className={`${prefixCls}__footer`}>{children}</div>}\n </div>\n );\n};\n\nEmpty.displayName = 'Empty';\n\nexport default Empty;\n","import React, { useContext } from 'react';\nimport classNames from 'classnames';\nimport warning from '../_utils/warning';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { FlipItemProps, FlipProps } from './types';\n\nconst Flip = (props: FlipProps): React.ReactElement => {\n const {\n direction = 'horizontal',\n reverse = false,\n prefixCls: customisedCls,\n width,\n height,\n className,\n children,\n style,\n ...otherProps\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('flip', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className);\n\n const innerCls = classNames(`${prefixCls}__inner`, {\n [`${prefixCls}__inner_hor`]: direction === 'horizontal' && !reverse,\n [`${prefixCls}__inner_hor_reverse`]: direction === 'horizontal' && reverse,\n [`${prefixCls}__inner_ver`]: direction === 'vertical' && !reverse,\n [`${prefixCls}__inner_ver_reverse`]: direction === 'vertical' && reverse,\n });\n\n warning(\n !children || React.Children.count(children) !== 2,\n 'Children must contain front and back components.',\n true\n );\n\n return (\n <div {...otherProps} className={cls} style={{ width, height, ...style }}>\n <div className={innerCls}>\n {React.Children.map(children, (child, index: number) => {\n const childElement = child as React.FunctionComponentElement<FlipItemProps>;\n if (childElement.type.displayName === 'FlipItem') {\n const childProps: Partial<FlipItemProps> = {\n className: classNames(\n {\n [`${prefixCls}__item-front`]: index === 0,\n [`${prefixCls}__item-back`]: index === 1,\n [`${prefixCls}__item-back_hor`]:\n index === 1 && direction === 'horizontal' && !reverse,\n [`${prefixCls}__item-back_hor_reverse`]:\n index === 1 && direction === 'horizontal' && reverse,\n [`${prefixCls}__item-back_ver`]:\n index === 1 && direction === 'vertical' && !reverse,\n [`${prefixCls}__item-back_ver_reverse`]:\n index === 1 && direction === 'vertical' && reverse,\n },\n child.props.className\n ),\n };\n return React.cloneElement(childElement, childProps);\n } else {\n return null;\n }\n })}\n </div>\n </div>\n );\n};\n\nFlip.displayName = 'Flip';\n\nexport default Flip;\n","import React from 'react';\nimport { FlipItemProps } from './types';\n\nconst FlipItem = (props: FlipItemProps): JSX.Element => {\n const { className, children, ...otherProps } = props;\n return (\n <div {...otherProps} className={className}>\n {children}\n </div>\n );\n};\n\nFlipItem.displayName = 'FlipItem';\n\nexport default FlipItem;\n","import Flip from './flip';\nimport FlipItem from './flip-item';\n\ntype IFlip = typeof Flip & {\n Item: typeof FlipItem;\n};\n\nconst DefaultFlip = Flip as IFlip;\nDefaultFlip.Item = FlipItem;\n\nexport default DefaultFlip;\n","export function isObject(obj: any): boolean {\n return obj !== null && typeof obj === 'object';\n}\n\nexport function deepGet(obj: any, path: string): any {\n const parts = path.split('.');\n const length = parts.length;\n\n for (let i = 0; i < length; i++) {\n if (!isObject(obj)) return undefined;\n obj = obj[parts[i]];\n }\n\n return obj;\n}\n\nexport function deepSet(obj: any, path: string, value: any) {\n if (!isObject(obj)) return obj;\n\n const root = obj;\n const parts = path.split('.');\n const length = parts.length;\n\n for (let i = 0; i < length; i++) {\n const p = parts[i];\n\n if (i === length - 1) {\n obj[p] = value;\n } else if (!isObject(obj[p])) {\n obj[p] = {};\n }\n\n obj = obj[p];\n }\n\n return root;\n}\n\nexport function deepCopy<T>(target: T): T {\n const type = typeof target;\n\n if (target === null || type === 'boolean' || type === 'number' || type === 'string') {\n return target;\n }\n\n if (target instanceof Date) {\n return new Date(target.getTime()) as any;\n }\n\n if (Array.isArray(target)) {\n return target.map((o) => deepCopy(o)) as any;\n }\n\n if (typeof target === 'object') {\n const obj: any = {};\n\n for (const key in target) {\n obj[key] = deepCopy(target[key]);\n }\n\n return obj;\n }\n\n return undefined as any;\n}\n","import React from 'react';\nimport { Rule } from './types';\n\nexport function getPropName(valueProp: string | ((type: any) => string), type: any) {\n return typeof valueProp === 'function' ? valueProp(type) : valueProp;\n}\n\nexport function getValueFromEvent(...args: any[]): any {\n const e = args[0] as React.ChangeEvent<any>;\n return e && e.target ? (e.target.type === 'checkbox' ? e.target.checked : e.target.value) : e;\n}\n\nexport function validate(value: any, rule: Rule): string | undefined {\n const {\n message,\n required,\n max,\n min,\n enum: enumVal,\n len,\n pattern,\n transform,\n type,\n validator,\n whitespace,\n } = rule;\n const val = transform ? transform(value) : value;\n\n if (required && !val) {\n return message || 'The value is required';\n }\n if (type && typeof val !== type) {\n return message || `The value is not a ${type}`;\n }\n if (max || len) {\n const segment = (max || len) as number;\n if (typeof val === 'number' && val > segment) {\n return message || 'The value is greater than the max';\n } else if ((typeof val === 'string' || Array.isArray(val)) && val.length > segment) {\n return message || 'The length of value is greater than the max';\n }\n }\n if (min) {\n if (typeof val === 'number' && val < min) {\n return message || 'The value is less than the max';\n } else if ((typeof val === 'string' || Array.isArray(val)) && val.length < min) {\n return message || 'The length of value is less than the max';\n }\n }\n if (enumVal && !enumVal.includes(val)) {\n return message || 'The value is not in the enum';\n }\n if (pattern && !pattern.test(val)) {\n return message || 'The value does not find a match';\n }\n if (validator) {\n const res = validator(val);\n if (res instanceof Promise ? !res.then(val) : !res) {\n return message || 'The value is validated unsuccessfully';\n }\n }\n if (whitespace && typeof val === 'string' && val.trim().length <= 0) {\n return message || 'The input contains whitespace';\n }\n\n return undefined;\n}\n","import { deepCopy } from '../_utils/object';\nimport { validate } from './form-helper';\nimport { Rule } from './types';\n\nexport type FormValues = { [name: string]: any };\nexport type FormErrors = { [name: string]: string[] };\ntype FormListener = (name: string) => void;\ntype FormRules = { [name: string]: Rule[] };\n\n/**\n * The form state, including errors and rules of each form item\n */\nexport default class FormInstance {\n private readonly initValues: FormValues;\n private values: FormValues;\n private rules: FormRules = {};\n private errors: FormErrors = {};\n private listeners: FormListener[] = [];\n\n constructor(initValues: FormValues = {}) {\n this.initValues = initValues;\n this.values = deepCopy(initValues);\n }\n\n getFieldValues(): FormValues {\n return this.values;\n }\n\n getFieldValue(name: string): any {\n return this.values[name];\n }\n\n setFieldValue(name: string, val: any): void {\n this.values[name] = val;\n this.notify(name);\n }\n\n setFieldValues(values: FormValues = {}): void {\n Object.keys(values).forEach(name => this.setFieldValue(name, values[name]));\n }\n\n getFiledErrors(): FormErrors {\n return this.errors;\n }\n\n getFieldError(name: string): string | undefined {\n return this.errors[name] && this.errors[name].length > 0 ? this.errors[name][0] : undefined;\n }\n\n setFieldError(name: string, errors: string[]): void {\n this.errors[name] = errors;\n }\n\n setFiledRules(name: string, rules: Rule[]): void {\n this.rules[name] = rules;\n }\n\n resetFields(): void {\n this.errors = {};\n this.values = deepCopy(this.initValues);\n this.notify('*');\n }\n\n validateField(name: string): void {\n const rules = this.rules[name];\n const value = this.values[name];\n if (rules) {\n const errMessages: string[] = [];\n rules.forEach(rule => {\n const res = validate(value, rule);\n if (res !== undefined) {\n errMessages.push(res);\n }\n });\n // update filed errors\n this.setFieldError(name, errMessages);\n this.notify(name);\n }\n }\n\n validateFields(): void {\n Object.keys(this.rules).forEach(name => this.validateField(name));\n }\n\n subscribe(listener: FormListener): () => void {\n this.listeners.push(listener);\n\n return (): void => {\n const idx = this.listeners.indexOf(listener);\n idx > -1 && this.listeners.splice(idx, 1);\n };\n }\n\n notify(name: string): void {\n this.listeners.forEach((listener) => listener(name));\n }\n}\n","import React from 'react';\nimport FormInstance from './form-instance';\n\nexport const FormInstanceContext = React.createContext<FormInstance>(new FormInstance());\n","import React from 'react';\nimport { FormOptionsProps } from './types';\n\nexport const FormOptionsContext = React.createContext<FormOptionsProps>({\n labelCol: 8,\n wrapperCol: 16,\n validateTrigger: 'onChange',\n layout: 'horizontal',\n});\n","import React, { useContext } from 'react';\nimport classNames from 'classnames';\nimport { FormInstanceContext } from './form-instance-context';\nimport { FormOptionsContext } from './form-options-context';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { FormProps } from './types';\nimport FormInstance from './form-instance';\n\nconst Form = (props: FormProps): JSX.Element => {\n const {\n initialValues = {},\n labelCol = { span: 8, offset: 0 },\n wrapperCol = { span: 16, offset: 0 },\n validateTrigger = 'onChange',\n layout = 'horizontal',\n form,\n onFinish,\n onFinishFailed,\n className,\n children,\n prefixCls: customisedCls,\n ...otherProps\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('form', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className, `${prefixCls}_${layout}`);\n // If you want to control the form outside, namely get the form instance, just pass a form store.\n // Otherwise, the form component will manage the state internally.\n const formRef = React.useRef(form ? form : new FormInstance(initialValues));\n\n const formOnSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n const formIns = formRef.current;\n formIns.validateFields();\n const values = formIns.getFieldValues();\n const errors = formIns.getFiledErrors();\n if (Object.keys(errors).some((key) => errors[key].length > 0)) {\n onFinishFailed && onFinishFailed({ values, errors });\n } else {\n onFinish && onFinish(values);\n }\n };\n\n const formOnReset = () => {\n formRef.current.resetFields();\n };\n\n return (\n <FormInstanceContext.Provider value={formRef.current}>\n <FormOptionsContext.Provider value={{ labelCol, wrapperCol, validateTrigger, layout }}>\n <form {...otherProps} className={cls} onSubmit={formOnSubmit} onReset={formOnReset}>\n {children}\n </form>\n </FormOptionsContext.Provider>\n </FormInstanceContext.Provider>\n );\n};\n\nForm.displayName = 'Form';\n\nexport default Form;\n","import React, { useContext } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { ColProps, RowProps } from './types';\n\nconst Row = (props: RowProps): React.ReactElement => {\n const {\n gutter = 0,\n gutterSide = false,\n prefixCls: customisedCls,\n align,\n justify,\n className,\n style,\n children,\n ...otherProps\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('row', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className, {\n [`${prefixCls}_align-${align}`]: align,\n [`${prefixCls}_justify-${justify}`]: justify,\n });\n\n const getGutter = (): [number, number] => {\n return Array.isArray(gutter) ? gutter : [gutter, gutter];\n };\n\n const normalisedGutter = getGutter();\n return (\n <div {...otherProps} className={cls} style={style}>\n {React.Children.map(children, (child, idx: number) => {\n const childElement = child as React.FunctionComponentElement<ColProps>;\n if (childElement.type.displayName === 'Col') {\n const gutterStyle = gutter\n ? {\n paddingLeft: !gutterSide && idx === 0 ? 0 : normalisedGutter[0] / 2, // first child left padding\n paddingRight:\n !gutterSide && idx === React.Children.count(children) - 1\n ? 0\n : normalisedGutter[0] / 2,\n }\n : {};\n const childProps: Partial<ColProps> = {\n style: {\n ...child.props.style,\n ...gutterStyle,\n },\n };\n return React.cloneElement(childElement, childProps);\n }\n return childElement;\n })}\n </div>\n );\n};\n\nRow.displayName = 'Row';\n\nexport default Row;\n","import React, { useState, useEffect, useContext, useCallback } from 'react';\nimport classNames from 'classnames';\nimport { FormInstanceContext } from './form-instance-context';\nimport { FormOptionsContext } from './form-options-context';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { FormItemProps } from './types';\nimport { getPropName, getValueFromEvent } from './form-helper';\nimport Row from '../grid/row';\nimport Col from '../grid/col';\nimport Transition from '../transition';\n\nconst FormItem = (props: FormItemProps): JSX.Element => {\n const {\n colon = true,\n valueGetter = getValueFromEvent,\n valuePropName = 'value',\n name,\n label,\n helper,\n notice,\n rules,\n className,\n style,\n children,\n labelCol: itemLabelCol,\n wrapperCol: itemWrapperCol,\n prefixCls: customisedCls,\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('form-item', configContext.prefixCls, customisedCls);\n const form = React.useContext(FormInstanceContext);\n const { wrapperCol, labelCol, validateTrigger, layout } = React.useContext(FormOptionsContext);\n const [value, setValue] = useState(name ? form.getFieldValue(name) : undefined);\n const [error, setError] = useState<string | undefined>(\n name ? form.getFieldError(name) : undefined\n );\n const [hasErrLabel, setHasErrLabel] = useState(false);\n const cls = classNames(prefixCls, className, {\n [`${prefixCls}_has-error`]: !!error,\n [`${prefixCls}_with-err-label`]: hasErrLabel,\n });\n const isRequired =\n 'required' in props ? props.required : (rules && rules.some((rule) => rule.required)) || false;\n\n // get onChange event from all components which support onChange callback\n const onChange = useCallback(\n (...args: any[]) => {\n if (name) {\n form.setFieldValue(name, valueGetter(...args));\n validateTrigger === 'onChange' && form.validateField(name);\n }\n },\n [name, form, valueGetter, validateTrigger]\n );\n\n // get onBlur event from input\n const onBlur = useCallback(() => {\n name && validateTrigger === 'onBlur' && form.validateField(name);\n }, [name, form, validateTrigger]);\n\n let child: any = children;\n const prop = getPropName(valuePropName, child && child.type);\n const childProps = { [prop]: value, onChange, onBlur };\n child = React.cloneElement(child, childProps);\n\n const labelCls = classNames({\n [`${prefixCls}__label_required`]: label && isRequired,\n [`${prefixCls}__label_colon`]: label && colon,\n });\n\n const getSpanAndOffset = (col: number | { span: number; offset: number }): [number, number] => {\n if (typeof col === 'number') {\n return [col, 0];\n } else {\n return [col.span, col.offset];\n }\n };\n\n const getCol = (\n col: number | { span: number; offset: number },\n isSelf?: boolean\n ): [number, number] => {\n if (isSelf) {\n return getSpanAndOffset(col);\n }\n\n if (layout === 'vertical') {\n return [24, 0];\n } else {\n return getSpanAndOffset(col);\n }\n };\n\n const [labelSpan, labelOffset] = itemLabelCol ? getCol(itemLabelCol, true) : getCol(labelCol);\n const [wrapperSpan, wrapperOffset] = itemWrapperCol\n ? getCol(itemWrapperCol, true)\n : getCol(wrapperCol);\n\n useEffect(() => {\n if (!name) {\n return;\n }\n\n rules && form.setFiledRules(name, rules);\n\n return form.subscribe((n) => {\n if (name === '*' || n === name || n === '*') {\n setValue(form.getFieldValue(name));\n setError(form.getFieldError(name));\n }\n });\n }, [form, name, rules]);\n\n useEffect(() => {\n if (error) {\n setHasErrLabel(true);\n }\n }, [error]);\n\n return (\n <Row className={cls} style={style}>\n <Col span={labelSpan} offset={labelOffset} className={`${prefixCls}__label`}>\n <label\n htmlFor={name}\n title={typeof label === 'string' ? label : undefined}\n className={labelCls}>\n {label}\n </label>\n </Col>\n <Col span={wrapperSpan} offset={wrapperOffset} className={`${prefixCls}__controls`}>\n <div className={`${prefixCls}__input`}>\n <div className={`${prefixCls}__input-content`}>{child}</div>\n </div>\n {notice && <div className={`${prefixCls}__notice`}>{notice}</div>}\n {helper && <div className={`${prefixCls}__helper`}>{helper}</div>}\n <Transition in={!!error} animation=\"slide-down\" onExited={() => setHasErrLabel(false)}>\n <div className={`${prefixCls}__error`}>{error}</div>\n </Transition>\n </Col>\n </Row>\n );\n};\n\nFormItem.displayName = 'FormItem';\n\nexport default FormItem;\n","import Form from './form';\nimport FormItem from './form-item';\nimport useForm from './use-form';\nimport FormInstance from './form-instance';\n\ntype IForm = typeof Form & {\n Item: typeof FormItem;\n useForm: typeof useForm;\n FormInstance: typeof FormInstance;\n};\n\nconst DefaultForm = Form as IForm;\nDefaultForm.Item = FormItem;\nDefaultForm.useForm = useForm;\nDefaultForm.FormInstance = FormInstance;\n\nexport default DefaultForm;\n","import FormInstance, { FormValues } from './form-instance';\n\nexport default function useForm(initialValues: FormValues = {}): [FormInstance] {\n return [new FormInstance(initialValues)];\n}\n","import React, { useContext } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { IconProps } from './types';\n\nconst Icon = (props: IconProps): JSX.Element => {\n const {\n name,\n color,\n size,\n style,\n spin,\n className,\n prefixCls: customisedCls,\n ...otherProps\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('icon', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className, `ty--${name}`, {\n [`${prefixCls}_spin`]: spin,\n });\n return <i className={cls} style={{ color, fontSize: size, ...style }} {...otherProps} />;\n};\n\nIcon.displayName = 'Icon';\n\nexport default Icon;\n","import React, { useContext, useEffect, useRef } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { ImageProps } from './types';\n\nconst Image = (props: ImageProps): JSX.Element => {\n const {\n alt = 'image',\n objectFit = 'cover',\n round = false,\n lazy = false,\n src,\n placeholder,\n fallback,\n className,\n style,\n prefixCls: customisedCls,\n ...otherProps\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('image', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className, { [`${prefixCls}_round`]: round });\n const ref = useRef<HTMLImageElement | null>(null);\n\n useEffect(() => {\n if (lazy && 'IntersectionObserver' in window) {\n const observer = new IntersectionObserver((entries, observer) => {\n entries.forEach(function (entry) {\n if (entry.isIntersecting) {\n const lazyImage = entry.target as HTMLImageElement;\n lazyImage.src = src || fallback || '';\n observer.unobserve(lazyImage);\n }\n });\n });\n\n const imgNode = ref.current;\n imgNode && observer.observe(imgNode);\n }\n }, [fallback, lazy, src]);\n\n return (\n <img\n {...otherProps}\n ref={ref}\n className={cls}\n style={{ ...style, objectFit }}\n src={lazy ? placeholder : src ? src : fallback}\n alt={alt}\n />\n );\n};\n\nImage.displayName = 'Image';\n\nexport default Image;\n","import React, { useContext } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { InputGroupProps, InputProps } from './types';\nimport { SizeType } from '../_utils/props';\n\nconst InputGroup = (props: InputGroupProps): React.ReactElement => {\n const {\n disabled = false,\n size = 'md',\n className,\n children,\n prefixCls: customisedCls,\n ...otherProps\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('input-group', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className);\n const inputSize = props.size || configContext.componentSize || size;\n\n return (\n <div {...otherProps} className={cls}>\n {React.Children.map(children, (child: React.ReactElement) => {\n const childProps: Partial<InputProps> = {\n disabled,\n size: inputSize as SizeType,\n };\n return React.cloneElement(child, childProps);\n })}\n </div>\n );\n};\n\nInputGroup.displayName = 'InputGroup';\n\nexport default InputGroup;\n","import React, { useContext } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { InputGroupAddonProps, InputProps } from './types';\nimport { SizeType } from '../_utils/props';\n\nconst InputGroupAddon = (props: InputGroupAddonProps): React.ReactElement => {\n const {\n disabled = false,\n size = 'md',\n noBorder,\n className,\n style,\n children,\n prefixCls: customisedCls,\n ...otherProps\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('input-group-addon', configContext.prefixCls, customisedCls);\n const inputSize = props.size || configContext.componentSize || size;\n const cls = classNames(prefixCls, className, `${prefixCls}_${inputSize}`, {\n [`${prefixCls}_no-border`]: noBorder,\n });\n\n if (React.isValidElement(children)) {\n return (\n <div className={cls} style={style}>\n {React.Children.map(children, (child: React.ReactElement) => {\n const childProps: Partial<InputProps> = {\n disabled,\n size: inputSize as SizeType,\n };\n return React.cloneElement(child, childProps);\n })}\n </div>\n );\n }\n return (\n <div {...otherProps} className={cls} style={style}>\n {children}\n </div>\n );\n};\n\nInputGroupAddon.displayName = 'InputGroupAddon';\n\nexport default InputGroupAddon;\n","import Input from './input';\nimport InputGroup from './input-group';\nimport InputGroupAddon from './input-group-addon';\n\ntype IInput = typeof Input & {\n Group: typeof InputGroup;\n Addon: typeof InputGroupAddon;\n};\n\nconst DefaultInput = Input as IInput;\nDefaultInput.Group = InputGroup;\nDefaultInput.Addon = InputGroupAddon;\n\nexport default DefaultInput;\n","import React, { useEffect, useState, MouseEvent, useContext } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { InputNumberProps } from './types';\nimport { ArrowDown } from '../_utils/components';\n\n/**\n * Valid the string is a number\n * @param val\n */\nconst isValid = (val: string | number): boolean => {\n return !isNaN(+val);\n};\n\nconst InputNumber = (props: InputNumberProps): React.ReactElement => {\n const {\n size = 'md',\n disabled = false,\n defaultValue = 0,\n step = 1,\n controls = false,\n min = Number.NEGATIVE_INFINITY,\n max = Number.POSITIVE_INFINITY,\n onChange,\n className,\n prefixCls: customisedCls,\n style,\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('input-number', configContext.prefixCls, customisedCls);\n const inputSize = props.size || configContext.componentSize || size;\n const cls = classNames(prefixCls, className, `${prefixCls}_${inputSize}`, {\n [`${prefixCls}_disabled`]: disabled,\n [`${prefixCls}_always-controls`]: controls,\n });\n const [value, setValue] = useState<number>(\n 'value' in props ? (props.value as number) : defaultValue\n );\n\n const inputOnChange = (e: React.ChangeEvent<HTMLInputElement>): void => {\n const val = Number(e.target.value.trim());\n !('value' in props) && setValue(val);\n onChange && isValid(val) && onChange(val, e);\n };\n\n const plusOnClick = (e: MouseEvent<HTMLSpanElement>): void => {\n e.stopPropagation();\n if (!disabled && isValid(step)) {\n const val = +value + +step;\n if (val <= max) {\n !('value' in props) && setValue(val);\n onChange && onChange(val, e);\n }\n }\n };\n\n const minusOnClick = (e: MouseEvent<HTMLSpanElement>): void => {\n e.stopPropagation();\n if (!disabled && isValid(step)) {\n const val = +value - +step;\n if (val >= min) {\n !('value' in props) && setValue(val);\n onChange && onChange(val, e);\n }\n }\n };\n\n useEffect(() => {\n 'value' in props && setValue(props.value as number);\n }, [props]);\n\n return (\n <div className={cls} style={style}>\n <input\n autoComplete=\"off\"\n disabled={disabled}\n value={value}\n type=\"number\"\n className={`${prefixCls}__input`}\n max={max}\n min={min}\n step={step}\n onChange={inputOnChange}\n aria-valuenow={value}\n aria-valuemax={max}\n aria-valuemin={min}\n aria-disabled={disabled}\n />\n <div className={`${prefixCls}__controls`}>\n <span className={`${prefixCls}__up`} onClick={plusOnClick}>\n <ArrowDown size={8} className={`${prefixCls}__icon ${prefixCls}__icon_reverse`} />\n </span>\n <span className={`${prefixCls}__down`} onClick={minusOnClick}>\n <ArrowDown size={8} className={`${prefixCls}__icon`} />\n </span>\n </div>\n </div>\n );\n};\n\nexport default InputNumber;\n","import React, { useContext, useState } from 'react';\nimport classNames from 'classnames';\nimport Input from '../input';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { InputPasswordProps } from './types';\nimport { Eye, EyeClose } from '../_utils/components';\n\nconst InputPassword = (props: InputPasswordProps): JSX.Element => {\n const {\n suffix = true,\n visibleOnClick,\n className,\n prefixCls: customisedCls,\n ...otherProps\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('input-pwd', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className);\n const [visible, setVisible] = useState(false);\n\n const renderSuffix = (): React.ReactElement => (\n <div\n className={`${prefixCls}__suffix`}\n onClick={(): void => {\n setVisible(!visible);\n visibleOnClick && visibleOnClick();\n }}>\n {visible ? (\n <Eye size={17} className={`${prefixCls}__icon`} />\n ) : (\n <EyeClose size={17} className={`${prefixCls}__icon`} />\n )}\n </div>\n );\n\n return (\n <Input\n {...otherProps}\n className={cls}\n type={visible ? 'text' : 'password'}\n suffix={suffix ? renderSuffix() : null}\n />\n );\n};\n\nexport default InputPassword;\n","import React from 'react';\n\nexport default React.createContext<string>('en_US');\n","import React from 'react';\nimport IntlContext from './intl-context';\n\nexport interface IntlProviderProps {\n locale: string;\n children: React.ReactNode;\n}\n\nconst IntlProvider = (props: IntlProviderProps): React.ReactElement => {\n const { locale, children } = props;\n return <IntlContext.Provider value={locale}>{children}</IntlContext.Provider>;\n};\n\nexport default IntlProvider;\n","import React, { useContext } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { KeyboardProps } from './types';\n\nconst Keyboard = React.forwardRef<HTMLElement, KeyboardProps>((props: KeyboardProps, ref) => {\n const { prefixCls: customisedCls, className, children, ...otherProps } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('kbd', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className);\n\n return (\n <kbd {...otherProps} ref={ref} className={cls}>\n {children}\n </kbd>\n );\n});\n\nKeyboard.displayName = 'Keyboard';\n\nexport default Keyboard;\n","import React from 'react';\n\ntype Props = {\n addSidebar: () => void;\n removeSidebar: () => void;\n};\n\nexport const SidebarContext = React.createContext<Props>({\n addSidebar: () => {},\n removeSidebar: () => {},\n});\n","import React, { useContext, useState } from 'react';\nimport classNames from 'classnames';\nimport { SidebarContext } from './sidebar-context';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { LayoutProps } from './types';\n\n/**\n * Layout component\n */\nconst Layout = React.forwardRef<HTMLDivElement, LayoutProps>(\n (props: LayoutProps, ref): JSX.Element => {\n const { className, children, prefixCls: customisedCls, ...otherProps } = props;\n const [hasSidebar, setHasSidebar] = useState(false);\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('layout', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className, {\n [`${prefixCls}_has-sidebar`]: hasSidebar,\n });\n\n return (\n <SidebarContext.Provider\n value={{\n addSidebar: () => setHasSidebar(true),\n removeSidebar: () => setHasSidebar(false),\n }}>\n <section {...otherProps} ref={ref} className={cls}>\n {children}\n </section>\n </SidebarContext.Provider>\n );\n }\n);\nLayout.displayName = 'Layout';\n\ntype generatorProps = {\n prefixCls: string;\n displayName: string;\n tagName: 'header' | 'footer' | 'main';\n};\n\n/**\n * Generator\n */\nfunction generator(_props: generatorProps) {\n const { tagName, displayName, prefixCls: defaultCls } = _props;\n const SubComponent = React.forwardRef<HTMLDivElement, LayoutProps>(\n (props: LayoutProps, ref): JSX.Element => {\n const { className, children, prefixCls: customisedCls, ...otherProps } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls(defaultCls, configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className);\n\n return React.createElement(tagName, { ref, className: cls, ...otherProps }, children);\n }\n );\n SubComponent.displayName = displayName;\n\n return SubComponent;\n}\n\nconst Header = generator({\n prefixCls: 'layout-header',\n tagName: 'header',\n displayName: 'Header',\n});\nconst Footer = generator({\n prefixCls: 'layout-footer',\n tagName: 'footer',\n displayName: 'Footer',\n});\nconst Content = generator({\n prefixCls: 'layout-content',\n tagName: 'main',\n displayName: 'Content',\n});\n\nexport { Header, Footer, Content };\nexport default Layout;\n","import React from 'react';\nimport { useState, useContext, useEffect } from 'react';\nimport classNames from 'classnames';\nimport Icon from '../icon';\nimport { SidebarContext } from './sidebar-context';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { SidebarProps } from './types';\n\nconst Sidebar = React.forwardRef<HTMLDivElement, SidebarProps>(\n (props: SidebarProps, ref): JSX.Element => {\n const {\n defaultCollapsed = false,\n width = 200,\n collapsedWidth = 70,\n theme = 'light',\n trigger = null,\n collapsible = false,\n onCollapse,\n className,\n style,\n children,\n prefixCls: customisedCls,\n ...otherProps\n } = props;\n\n const [sideCollapsed, setSideCollapsed] = useState(\n 'collapsed' in props ? props.collapsed : defaultCollapsed\n );\n const sidebarContext = useContext(SidebarContext);\n const sidebarWidth = sideCollapsed ? collapsedWidth : width;\n\n const outerStyle = {\n ...style,\n width: sidebarWidth,\n maxWidth: sidebarWidth,\n minWidth: sidebarWidth,\n };\n\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('layout-sidebar', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className, {\n [`${prefixCls}_light`]: theme === 'light',\n });\n\n const _collapseBtnOnClick = () => {\n const collapsedVal = !sideCollapsed;\n if (!('collapsed' in props)) {\n setSideCollapsed(collapsedVal);\n }\n onCollapse && onCollapse(collapsedVal);\n };\n\n const renderTrigger = () => {\n if (!collapsible) {\n return null;\n }\n\n if (trigger) {\n return trigger;\n }\n\n return (\n <div className={`${prefixCls}__trigger`} onClick={_collapseBtnOnClick}>\n <Icon name=\"left\" className={`${prefixCls}__trigger-icon`} />\n </div>\n );\n };\n\n useEffect(() => {\n 'collapsed' in props && setSideCollapsed(props.collapsed);\n sidebarContext.addSidebar();\n\n return () => {\n sidebarContext.removeSidebar();\n };\n }, [props, sidebarContext]);\n\n return (\n <div {...otherProps} ref={ref} className={cls} style={outerStyle}>\n <div className={`${prefixCls}__children`}>{children}</div>\n {renderTrigger()}\n </div>\n );\n }\n);\n\nSidebar.displayName = 'Sidebar';\n\nexport default Sidebar;\n","import Layout, { Header, Content, Footer } from './layout';\nimport Sidebar from './sidebar';\n\ntype ILayout = typeof Layout & {\n Header: typeof Header;\n Footer: typeof Footer;\n Content: typeof Content;\n Sidebar: typeof Sidebar;\n};\n\nconst DefaultLayout = Layout as ILayout;\nDefaultLayout.Sidebar = Sidebar;\nDefaultLayout.Header = Header;\nDefaultLayout.Content = Content;\nDefaultLayout.Footer = Footer;\n\nexport default DefaultLayout;\n","import React, { useContext } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { LinkProps } from './types';\n\nconst Link = (props: LinkProps): React.ReactElement => {\n const {\n disabled = false,\n external = true,\n underline = true,\n className,\n style,\n children,\n target,\n prefixCls: customisedCls,\n ...otherProps\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('link', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className, {\n [`${prefixCls}_disabled`]: disabled,\n [`${prefixCls}_no-underline`]: !underline,\n });\n\n if (disabled) {\n delete otherProps.href;\n }\n return (\n <a\n {...otherProps}\n target={target ? target : external ? '_blank' : '_self'}\n className={cls}\n style={style}\n role=\"link\"\n aria-disabled={disabled}>\n <span>{children}</span>\n </a>\n );\n};\n\nLink.displayName = 'Link';\n\nexport default Link;\n","import React from 'react';\nimport { SizeType } from '../_utils/props';\n\ntype Props = {\n className: string;\n size: SizeType;\n};\n\nconst Indicator = (props: Props): React.ReactElement => {\n const { size, className } = props;\n return (\n <div className={`${className} ${className}_${size}`}>\n <span className={`${className}-dot`} />\n <span className={`${className}-dot`} />\n <span className={`${className}-dot`} />\n <span className={`${className}-dot`} />\n </div>\n );\n};\n\nexport default Indicator;\n","import React, { useContext } from 'react';\nimport classNames from 'classnames';\nimport Indicator from './indicator';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { LoaderProps } from './types';\n\nconst Loader = (props: LoaderProps): JSX.Element => {\n const {\n size = 'md',\n loading = true,\n vertical = false,\n blurred = true,\n indicator,\n tip,\n className,\n children,\n prefixCls: customisedCls,\n ...otherProps\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('loader', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className, `${prefixCls}_${size}`, {\n [`${prefixCls}_spinning`]: loading,\n });\n\n const indicatorCls = classNames(`${prefixCls}__loader-container`, {\n [`${prefixCls}__loader-container_vertical`]: vertical,\n });\n const containerCls = classNames(`${prefixCls}__container`, {\n [`${prefixCls}__container_loading`]: loading,\n [`${prefixCls}__container_blurred`]: loading && blurred,\n });\n\n return (\n <div {...otherProps} className={cls}>\n {loading && (\n <div className={indicatorCls}>\n {indicator ? indicator : <Indicator className={`${prefixCls}__indicator`} size={size} />}\n {tip && <span className={`${prefixCls}__label`}>{tip}</span>}\n </div>\n )}\n {children && <div className={containerCls}>{children}</div>}\n </div>\n );\n};\n\nLoader.displayName = 'Loader';\n\nexport default Loader;\n","import React, { useContext, useEffect } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { LoadingBarProps } from './types';\n\nconst LoadingBar = (props: LoadingBarProps): React.ReactElement => {\n const { didMount, className, prefixCls: customisedCls, ...otherProps } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('loading-bar', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className);\n\n useEffect(() => {\n didMount && didMount();\n }, [didMount]);\n\n return (\n <div {...otherProps} className={cls}>\n <div id=\"ty-loading-bar\" className={`${prefixCls}__inner`} />\n </div>\n );\n};\n\nLoadingBar.displayName = 'LoadingBar';\n\nexport default LoadingBar;\n","import React from 'react';\nimport { render, unmountComponentAtNode } from 'react-dom';\nimport LoadingBar from './loading-bar';\nimport raf from 'raf';\n\nlet rafId: number | null = null;\nlet loadingBar: HTMLElement | null = null;\nlet outerDiv: HTMLElement | null = null;\nlet width = 0;\n\nconst reset = (): void => {\n if (outerDiv) {\n unmountComponentAtNode(outerDiv);\n document.body.removeChild(outerDiv);\n }\n loadingBar = null;\n outerDiv = null;\n width = 0;\n};\n\n/**\n * When the loading bar component finish mount, this function will be called\n */\nconst move = (): void => {\n if (width < 55) {\n width += .4;\n rafId = raf(move);\n } else if (width < 90) {\n width += .1;\n rafId = raf(move);\n }\n\n loadingBar && (loadingBar.style.width = `${width}%`);\n};\n\nconst createComponent = (): void => {\n outerDiv = document.createElement('div');\n document.body.appendChild(outerDiv);\n\n const component = React.createElement(LoadingBar, {\n didMount: () => {\n loadingBar = document.getElementById('ty-loading-bar');\n rafId = raf(move);\n },\n });\n\n render(component, outerDiv);\n};\n\n\n/**\n * Set the opacity of loading 0 bar and then remove it from the dom tree\n */\nconst unmountDom = (): void => {\n setTimeout(() => {\n loadingBar && (loadingBar.style.opacity = '0');\n }, 300);\n setTimeout(() => {\n reset();\n }, 700); // timeout 300ms, fadeout 400ms\n};\n\nconst start = (): void => {\n if (!outerDiv) {\n reset();\n createComponent();\n }\n};\n\nconst succeed = (): void => {\n rafId && raf.cancel(rafId);\n\n if (outerDiv && loadingBar) {\n loadingBar.style.width = '100%';\n unmountDom();\n }\n};\n\nconst fail = (): void => {\n rafId && raf.cancel(rafId);\n\n if (outerDiv && loadingBar) {\n loadingBar.style.width = '100%';\n loadingBar.style.backgroundColor = '#f30';\n unmountDom();\n }\n};\n\nexport default {\n start,\n succeed,\n fail,\n};\n","import React from 'react';\nimport { MenuMode } from './types';\n\ntype Props = {\n index: string;\n mode: MenuMode;\n inlineIndent: number;\n onSelect?: (selectedIndex: string) => void;\n};\n\nexport const MenuContext = React.createContext<Props>({\n index: '0',\n inlineIndent: 20,\n mode: 'horizontal',\n});\n","import React, { useContext, useState } from 'react';\nimport classNames from 'classnames';\nimport { MenuContext } from './menu-context';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { MenuItemProps, MenuProps } from './types';\n\nconst Menu = (props: MenuProps): JSX.Element => {\n const {\n defaultIndex = '0',\n mode = 'horizontal',\n theme = 'light',\n inlineIndent = 20,\n onSelect,\n className,\n overlayClassName,\n style,\n children,\n prefixCls: customisedCls,\n ...otherProps\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('menu', configContext.prefixCls, customisedCls);\n const cls = classNames(\n prefixCls,\n className,\n `${prefixCls}_root`,\n `${prefixCls}_${theme}`,\n `${prefixCls}_${mode}`\n );\n const [activeIndex, setActiveIndex] = useState<string>(defaultIndex);\n const contextValue = {\n mode,\n inlineIndent,\n index: activeIndex,\n onSelect: (index: string): void => {\n setActiveIndex(index);\n onSelect && onSelect(index);\n },\n };\n\n return (\n <ul {...otherProps} role=\"menu\" className={cls} style={style}>\n <MenuContext.Provider value={contextValue}>\n {React.Children.map(children, (child, index) => {\n const childElement = child as React.FunctionComponentElement<MenuItemProps>;\n const { displayName } = childElement.type;\n if (\n displayName === 'MenuItem' ||\n displayName === 'SubMenu' ||\n displayName === 'MenuItemGroup' ||\n (displayName === 'MenuDivider' && mode !== 'horizontal')\n ) {\n const childProps = {\n overlayClassName,\n index: `${index}`,\n };\n return React.cloneElement(childElement, childProps);\n } else {\n console.warn('Menu has a child that is not a MenuItem component.');\n return null;\n }\n })}\n </MenuContext.Provider>\n </ul>\n );\n};\n\nMenu.displayName = 'Menu';\n\nexport default Menu;\n","import React from 'react';\n\ntype Props = {\n level?: number;\n onMenuItemClick?: () => void;\n};\n\nexport const SubMenuContext = React.createContext<Props>({});\n","import React, { useContext } from 'react';\nimport classNames from 'classnames';\nimport { MenuContext } from './menu-context';\nimport { SubMenuContext } from './sub-menu-context';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { MenuItemProps } from './types';\n\nconst MenuItem = (props: MenuItemProps): JSX.Element => {\n const {\n disabled = false,\n index,\n className,\n style,\n children,\n onClick,\n prefixCls: customisedCls,\n ...otherProps\n } = props;\n const menuContext = useContext(MenuContext);\n const subMenuContext = useContext(SubMenuContext);\n const { inlineIndent, mode } = menuContext;\n const { level = 1, onMenuItemClick } = subMenuContext;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('menu-item', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className, {\n [`${prefixCls}_disabled`]: disabled,\n [`${prefixCls}_active`]: menuContext.index === index,\n });\n\n const onItemClick = (e: React.MouseEvent): void => {\n if (disabled) {\n return;\n }\n\n onClick && onClick(e);\n onMenuItemClick && onMenuItemClick();\n if (menuContext.onSelect && typeof index === 'string') {\n menuContext.onSelect(index);\n }\n };\n\n return (\n <li\n {...otherProps}\n key={index}\n role=\"menuitem\"\n className={cls}\n style={{ paddingLeft: mode === 'inline' ? level * inlineIndent : undefined, ...style }}\n onClick={onItemClick}>\n {children}\n </li>\n );\n};\n\nMenuItem.displayName = 'MenuItem';\n\nexport default MenuItem;\n","import React, { useContext, useState, useRef } from 'react';\nimport classNames from 'classnames';\nimport { MenuContext } from './menu-context';\nimport { SubMenuContext } from './sub-menu-context';\nimport { ArrowDown } from '../_utils/components';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { MenuItemProps, SubMenuProps } from './types';\nimport Popup from '../popup';\nimport CollapseTransition from '../collapse-transition';\n\nconst SubMenu = (props: SubMenuProps): JSX.Element => {\n const {\n index,\n title,\n disabled,\n className,\n overlayClassName,\n children,\n prefixCls: customisedCls,\n ...otherProps\n } = props;\n const menuContext = useContext(MenuContext);\n const { mode, inlineIndent } = menuContext;\n const { level = 1, onMenuItemClick: _onMenuItemClick } = useContext(SubMenuContext);\n const [menuOpen, setMenuOpen] = useState<boolean>(false);\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('menu-sub', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className);\n const subMenuCls = classNames(`${prefixCls}__list`, {\n [`${prefixCls}__list_open`]: menuOpen,\n [`${prefixCls}__list_popup`]: mode !== 'inline',\n });\n const nonRootSubMenu = index?.includes('-');\n const rightPopupMenu = mode === 'vertical' || (mode === 'horizontal' && nonRootSubMenu);\n const arrowCls = rightPopupMenu\n ? `${prefixCls}__arrow ${prefixCls}__arrow_right`\n : classNames(`${prefixCls}__arrow`, {\n [`${prefixCls}__arrow_reverse`]: menuOpen,\n });\n const menuItemCls = `${configContext.prefixCls ? configContext.prefixCls : 'ty'}-menu-item`;\n const titleCls = classNames(menuItemCls, `${prefixCls}__title`, {\n [`${menuItemCls}_disabled`]: disabled,\n [`${menuItemCls}_active`]: index ? menuContext.index.startsWith(index) : false,\n });\n const titleRef = useRef<HTMLDivElement | null>(null);\n\n const handleOnClick = (e: React.MouseEvent): void => {\n e.preventDefault();\n !disabled && mode === 'inline' && setMenuOpen(!menuOpen);\n };\n\n const timerRef = useRef<number | undefined>(undefined);\n const handleMouse = (e: React.MouseEvent, toggle: boolean): void => {\n e.preventDefault();\n const timer = timerRef.current;\n timer && window.clearTimeout(timer);\n timerRef.current = window.setTimeout(() => {\n setMenuOpen(toggle);\n }, 200);\n };\n\n const handleOnMouseEnter = (e: React.MouseEvent): void => {\n !disabled && mode !== 'inline' && handleMouse(e, true);\n };\n\n const handleOnMouseLeave = (e: React.MouseEvent): void => {\n mode !== 'inline' && handleMouse(e, false);\n };\n\n const onMenuItemClick = () => {\n if (mode !== 'inline') {\n setMenuOpen(false);\n // If this is a sub-subMenu, invoke the onMenuItemClick method to notify\n // its parent to close the menu popup\n _onMenuItemClick && _onMenuItemClick();\n }\n };\n\n const renderChildrenList = () => {\n let minWidth = undefined;\n const titleNode = titleRef.current;\n if (titleNode && !nonRootSubMenu) {\n const { marginLeft, marginRight } = window.getComputedStyle(titleNode);\n minWidth = titleNode.offsetWidth + parseFloat(marginLeft) + parseFloat(marginRight);\n }\n return (\n <ul className={subMenuCls} style={{ minWidth }}>\n {React.Children.map(children, (child, idx) => {\n const childElement = child as React.FunctionComponentElement<MenuItemProps>;\n const { displayName } = childElement.type;\n const childProps = {\n index: `${index}-${idx}`,\n };\n if (\n displayName === 'MenuItem' ||\n displayName === 'MenuItemGroup' ||\n displayName === 'SubMenu' ||\n displayName === 'MenuDivider'\n ) {\n return React.cloneElement(childElement, childProps);\n } else {\n console.warn('Menu has a child that is not a MenuItem component.');\n return null;\n }\n })}\n </ul>\n );\n };\n\n if (mode === 'inline') {\n return (\n <SubMenuContext.Provider value={{ level: level + 1 }}>\n <li {...otherProps} role=\"menuitem\" key={index} className={cls}>\n <div\n className={titleCls}\n style={{ paddingLeft: inlineIndent * level }}\n onClick={handleOnClick}>\n <span>{title}</span>\n <span className={arrowCls}>\n <ArrowDown size={10} />\n </span>\n </div>\n <CollapseTransition isShow={menuOpen}>{renderChildrenList()}</CollapseTransition>\n </li>\n </SubMenuContext.Provider>\n );\n } else {\n return (\n <SubMenuContext.Provider value={{ onMenuItemClick }}>\n <li\n {...otherProps}\n role=\"menuitem\"\n key={index}\n className={cls}\n onMouseEnter={handleOnMouseEnter}\n onMouseLeave={handleOnMouseLeave}>\n <Popup\n flip={false}\n arrow={false}\n className={overlayClassName}\n trigger=\"manual\"\n visible={menuOpen}\n biZoom={rightPopupMenu}\n placement={rightPopupMenu ? 'right-start' : 'bottom-start'}\n content={renderChildrenList()}>\n <div ref={titleRef} className={titleCls} onClick={handleOnClick}>\n <span>{title}</span>\n <span className={arrowCls}>\n <ArrowDown size={10} />\n </span>\n </div>\n </Popup>\n </li>\n </SubMenuContext.Provider>\n );\n }\n};\n\nSubMenu.displayName = 'SubMenu';\n\nexport default SubMenu;\n","import React, { useContext } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { MenuItemGroupProps, MenuItemProps } from './types';\nimport { MenuContext } from './menu-context';\nimport { SubMenuContext } from './sub-menu-context';\n\nconst MenuItemGroup = (props: MenuItemGroupProps): JSX.Element => {\n const {\n index,\n title,\n className,\n style,\n children,\n prefixCls: customisedCls,\n ...otherProps\n } = props;\n const configContext = useContext(ConfigContext);\n const { inlineIndent } = useContext(MenuContext);\n const { level = 1 } = useContext(SubMenuContext);\n const prefixCls = getPrefixCls('menu-item-group', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className);\n\n return (\n <li {...otherProps} key={title} className={cls} style={style}>\n <div\n className={`${prefixCls}__title`}\n style={{\n paddingLeft: inlineIndent * level - inlineIndent / 2,\n }}>\n {title}\n </div>\n <ul className={`${prefixCls}__list`}>\n {React.Children.map(children, (child, idx) => {\n const childElement = child as React.FunctionComponentElement<MenuItemProps>;\n if (childElement.type.displayName === 'MenuItem') {\n const childProps: Partial<MenuItemProps> = {\n index: `${index}-${idx}`,\n };\n return React.cloneElement(childElement, childProps);\n } else {\n console.warn('Menu has a child that is not a MenuItem component.');\n return null;\n }\n })}\n </ul>\n </li>\n );\n};\n\nMenuItemGroup.displayName = 'MenuItemGroup';\n\nexport default MenuItemGroup;\n","import React, { useContext } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { BaseProps } from '../_utils/props';\n\nconst MenuDivider = (props: BaseProps): JSX.Element => {\n const { prefixCls: customisedCls, className } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('menu-divider', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className);\n\n return <li className={cls} />;\n};\n\nMenuDivider.displayName = 'MenuDivider';\n\nexport default MenuDivider;\n","import Menu from './menu';\nimport MenuItem from './menu-item';\nimport SubMenu from './sub-menu';\nimport MenuItemGroup from './menu-item-group';\nimport MenuDivider from './menu-divider';\n\ntype IMenu = typeof Menu & {\n Item: typeof MenuItem;\n SubMenu: typeof SubMenu;\n ItemGroup: typeof MenuItemGroup;\n Divider: typeof MenuDivider;\n};\n\nconst DefaultMenu = Menu as IMenu;\nDefaultMenu.Item = MenuItem;\nDefaultMenu.SubMenu = SubMenu;\nDefaultMenu.ItemGroup = MenuItemGroup;\nDefaultMenu.Divider = MenuDivider;\n\nexport default DefaultMenu;\n","import React, { useEffect, useRef, useState, useContext } from 'react';\nimport classNames from 'classnames';\nimport { CSSTransition } from 'react-transition-group';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport {\n CheckCircle,\n CloseCircle,\n InfoCircle,\n LoadingCircle,\n WarningCircle,\n} from '../_utils/components';\nimport { MessageProps } from './types';\n\nconst Message = (props: MessageProps): JSX.Element => {\n const {\n type,\n icon,\n content,\n duration,\n willUnmount,\n extra,\n className,\n style,\n prefixCls: customisedCls,\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('message', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className);\n const ref = useRef<HTMLDivElement | null>(null);\n const [visible, setVisible] = useState(true);\n\n const renderIcon = (): React.ReactNode => {\n if (React.isValidElement(icon)) {\n return icon;\n } else if (typeof type === 'string') {\n switch (type) {\n case 'success':\n return <CheckCircle size={16} className={`${prefixCls}__icon`} />;\n case 'info':\n return <InfoCircle size={16} className={`${prefixCls}__icon`} />;\n case 'warning':\n return <WarningCircle size={16} className={`${prefixCls}__icon`} />;\n case 'error':\n return <CloseCircle size={16} className={`${prefixCls}__icon`} />;\n case 'loading':\n return (\n <LoadingCircle\n size={16}\n className={classNames(`${prefixCls}__icon`, {\n [`${prefixCls}__icon_loading`]: type === 'loading',\n })}\n />\n );\n }\n }\n\n return null;\n };\n\n useEffect(() => {\n const node = ref.current;\n const height = (node && node.offsetHeight) || 0;\n const timer = window.setTimeout(() => {\n setVisible(false);\n willUnmount(height);\n }, duration);\n\n return (): void => {\n window.clearTimeout(timer);\n };\n }, [duration, willUnmount]);\n\n return (\n <CSSTransition in={visible} appear={true} timeout={0} classNames={`${prefixCls}_fade-slide`}>\n <div role=\"alert\" className={cls} style={style} ref={ref}>\n {renderIcon()}\n <span className={`${prefixCls}__content`}>{content}</span>\n {extra && <div className={`${prefixCls}__extra`}>{extra}</div>}\n </div>\n </CSSTransition>\n );\n};\n\nMessage.displayName = 'Message';\n\nexport default Message;\n","import React, { ReactNode } from 'react';\nimport { render, unmountComponentAtNode } from 'react-dom';\nimport Message from './message';\nimport raf from 'raf';\nimport { MessageProps, MessageType } from './types';\n\nconst className = '.ty-message-container';\n\nexport type Options = {\n top?: number;\n offset?: number;\n icon?: ReactNode;\n extra?: ReactNode;\n className?: string;\n};\n\ntype CreateComponent = (\n type: MessageType,\n content: string,\n duration: number,\n onClose: () => void,\n options: Options\n) => void;\n\ntype UnmountDom = (\n containerDiv: HTMLElement,\n top: number,\n height: number,\n onClose?: () => void\n) => void;\n\nlet offset: number;\n\nconst unmountDom: UnmountDom = (containerDiv, top, height, onClose) => {\n unmountComponentAtNode(containerDiv);\n document.body.removeChild(containerDiv);\n raf(() => {\n const containers = document.querySelectorAll(className);\n const len = containers.length;\n for (let i = 0; i < len; i++) {\n const element = containers[i] as HTMLElement;\n const elementTop = parseInt((element as HTMLElement).style.top || '0', 10);\n elementTop > top && (element.style.top = `${elementTop - height - offset}px`);\n }\n });\n onClose && onClose();\n};\n\nconst createComponent: CreateComponent = (\n type,\n content,\n duration = 3000,\n onClose,\n options: Options = {}\n) => {\n const containers = document.querySelectorAll(className);\n const lastContainer =\n containers.length > 0 ? (containers[containers.length - 1] as HTMLElement) : null;\n\n offset = options.offset || 16;\n const top = lastContainer\n ? parseInt(lastContainer.style.top || '0', 10) + lastContainer.offsetHeight + offset\n : options.top || 15;\n\n const div = document.createElement('div');\n div.className = 'ty-message-container';\n document.body.appendChild(div);\n div.style.top = `${top}px`;\n\n const props: MessageProps = {\n type,\n content,\n duration,\n icon: options.icon,\n extra: options.extra,\n className: options.className,\n willUnmount: (height) => {\n const updatedTop = parseInt(div.style.top || '0', 10);\n unmountDom(div, updatedTop, height, onClose);\n },\n };\n const component = React.createElement(Message, props);\n render(component, div);\n};\n\n// TODO: Override function\nconst messageContainer: any = (\n content: string,\n duration: number,\n onClose: () => void,\n options: Options\n) => {\n createComponent(undefined, content, duration, onClose, options);\n};\n\n['success', 'error', 'warning', 'info', 'loading'].forEach((type) => {\n messageContainer[type] = (\n content: string,\n duration: number,\n onClose: () => void,\n options: Options\n ) => {\n createComponent(type as MessageType, content, duration, onClose, options);\n };\n});\n\nmessageContainer.warn = messageContainer.warning;\n\nexport default messageContainer;\n","import React, { useContext } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { NativeSelectGroupProps, NativeSelectOptionProps, NativeSelectProps } from './types';\n\nconst NativeSelect = React.forwardRef<HTMLSelectElement, NativeSelectProps>(\n (props: NativeSelectProps, ref) => {\n const {\n size = 'md',\n disabled = false,\n className,\n children,\n prefixCls: customisedCls,\n ...otherProps\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('select-native', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className, {\n [`${prefixCls}_${size}`]: size,\n [`${prefixCls}_disabled`]: disabled,\n });\n\n return (\n <select ref={ref} {...otherProps} className={cls}>\n {React.Children.map(children, (child: React.ReactElement) => {\n const childProps: Partial<NativeSelectOptionProps | NativeSelectGroupProps> = {\n disabled,\n };\n return React.cloneElement(child, childProps);\n })}\n </select>\n );\n }\n);\n\nNativeSelect.displayName = 'NativeSelect';\n\nexport default NativeSelect;\n","import React from 'react';\nimport { NativeSelectOptionProps } from './types';\n\nconst NativeOption = React.forwardRef<HTMLOptionElement, NativeSelectOptionProps>(\n (props: NativeSelectOptionProps, ref): React.ReactElement => {\n return <option ref={ref} {...props} />;\n }\n);\n\nNativeOption.displayName = 'NativeOption';\n\nexport default NativeOption;\n","import React from 'react';\nimport { NativeSelectGroupProps } from './types';\n\nconst NativeOptGroup = React.forwardRef<HTMLOptGroupElement, NativeSelectGroupProps>(\n (props: NativeSelectGroupProps, ref): React.ReactElement => {\n return (\n <optgroup ref={ref} {...props}>\n {props.children}\n </optgroup>\n );\n }\n);\n\nNativeOptGroup.displayName = 'NativeSelectOptGroup';\n\nexport default NativeOptGroup;\n","import NativeSelect from './native-select';\nimport NativeOption from './native-option';\nimport NativeOptGroup from './native-opt-group';\n\ntype ISelect = typeof NativeSelect & {\n Option: typeof NativeOption;\n OptGroup: typeof NativeOptGroup;\n};\n\nconst DefaultSelect = NativeSelect as ISelect;\nDefaultSelect.Option = NativeOption;\nDefaultSelect.OptGroup = NativeOptGroup;\n\nexport default DefaultSelect;\n","import Row from '../grid/row';\n\nexport default Row;\n","import React, { useContext, useState } from 'react';\nimport classNames from 'classnames';\nimport { CSSTransition } from 'react-transition-group';\nimport Overlay from '../overlay';\nimport Button from '../button/button';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { ModalProps } from './types';\n\nconst Modal = (props: ModalProps): React.ReactElement => {\n const {\n visible = false,\n width = 520,\n centered = false,\n closable = true,\n unmountOnClose = true,\n maskType = 'default',\n maskClosable = true,\n confirmText = 'OK',\n cancelText = 'Cancel',\n confirmLoading = false,\n animation = 'slide',\n zIndex = 1000,\n onConfirm,\n onCancel,\n top,\n header,\n footer,\n afterClose,\n confirmButtonProps,\n cancelButtonProps,\n className,\n children,\n style,\n maskStyle,\n headerStyle,\n bodyStyle,\n footerStyle,\n prefixCls: customisedCls,\n } = props;\n // The visible attribute controls the overlay status,\n // modal visible is triggered by overlay's enter and exit statuses\n const [modalVisible, setModalVisible] = useState(visible);\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('modal', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className, { [`${prefixCls}_centered`]: centered });\n\n const renderFooter = (): React.ReactNode => {\n if (React.isValidElement(footer)) {\n return footer;\n } else if (footer === null) {\n return null;\n } else {\n return (\n <div className={`${prefixCls}__footer`} style={footerStyle}>\n <Button onClick={onCancel} className={`${prefixCls}__footer-btn`} {...cancelButtonProps}>\n {cancelText}\n </Button>\n <Button\n loading={confirmLoading}\n onClick={onConfirm}\n btnType=\"primary\"\n className={`${prefixCls}__footer-btn`}\n {...confirmButtonProps}>\n {confirmText}\n </Button>\n </div>\n );\n }\n };\n\n return (\n <Overlay\n onEnter={(): void => setModalVisible(true)}\n onExit={(): void => setModalVisible(false)}\n zIndex={zIndex}\n type={maskType}\n unmountOnExit={unmountOnClose}\n isShow={visible}\n onExited={afterClose}\n clickCallback={(e: React.MouseEvent): void => {\n maskClosable && onCancel ? onCancel(e) : undefined;\n }}\n style={maskStyle}>\n <div className={cls} style={{ top }}>\n <div style={{ width, ...style }}>\n <CSSTransition\n appear={true}\n in={modalVisible}\n classNames={`${prefixCls}__content_${animation}`}\n timeout={0}>\n <div className={`${prefixCls}__content`} onClick={(e): void => e.stopPropagation()}>\n {closable && (\n <div role=\"button\" className={`${prefixCls}__close-btn`} onClick={onCancel}>\n ✕\n </div>\n )}\n {header && (\n <div className={`${prefixCls}__header`} style={headerStyle}>\n <div className={`${prefixCls}__title`}>{header}</div>\n </div>\n )}\n <div className={`${prefixCls}__body`} style={bodyStyle}>\n {children}\n </div>\n {renderFooter()}\n </div>\n </CSSTransition>\n </div>\n </div>\n </Overlay>\n );\n};\n\nModal.displayName = 'Modal';\n\nexport default Modal;\n","import React, { ReactNode, MouseEventHandler } from 'react';\nimport { render, unmountComponentAtNode } from 'react-dom';\nimport raf from 'raf';\nimport Notification from './notification';\nimport { camelCaseToDash } from '../_utils/general';\nimport { NotificationProps, NotificationType } from './types';\n\nconst className = 'ty-notification-container';\n\ntype Direction = 'top' | 'bottom';\ntype NotificationPlacement = 'topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight';\ntype Options = {\n margin?: number;\n offset?: number;\n title?: ReactNode;\n description?: ReactNode;\n footer?: ReactNode;\n duration?: number;\n placement?: NotificationPlacement;\n onClose?: MouseEventHandler;\n onClick?: MouseEventHandler;\n icon?: ReactNode;\n};\ntype UnmountDom = (\n queryName: string,\n containerDiv: HTMLElement,\n position: number,\n height: number,\n direction: Direction\n) => void;\n\nlet offset: number;\n\nconst unmountDom: UnmountDom = (queryName, containerDiv, position, height, direction) => {\n unmountComponentAtNode(containerDiv);\n document.body.removeChild(containerDiv);\n raf(() => {\n const containers = document.querySelectorAll(`.${queryName}`);\n const len = containers.length;\n for (let i = 0; i < len; i++) {\n const element = containers[i] as HTMLElement;\n const elementPosition = parseInt((element as HTMLElement).style[direction] || '0', 10);\n elementPosition > position &&\n (element.style[direction] = `${elementPosition - height - offset}px`);\n }\n });\n};\n\nconst createComponent = (options: Options, type: NotificationType) => {\n const placement = options.placement || 'topRight';\n const queryName = `${className}_${camelCaseToDash(placement)}`;\n const containers = document.querySelectorAll(`.${queryName}`);\n const lastContainer =\n containers.length > 0 ? (containers[containers.length - 1] as HTMLElement) : null;\n\n const div = document.createElement('div');\n div.className = `${className} ${queryName}`;\n document.body.appendChild(div);\n\n offset = options.offset || 24;\n const direction: Direction = placement.includes('top') ? 'top' : 'bottom';\n const position = lastContainer\n ? parseInt(lastContainer.style[direction] || '0', 10) + lastContainer.offsetHeight + offset\n : options.margin || 16;\n div.style[direction] = `${position}px`;\n\n const props: NotificationProps = {\n type,\n title: options.title,\n description: options.description,\n footer: options.footer,\n duration: options.duration,\n onClose: options.onClose,\n onClick: options.onClick,\n icon: options.icon,\n didMount: () => {\n // When notification component mounted, set up the position to display the entry animation\n placement.includes('Right') ? (div.style.right = `0px`) : (div.style.left = `0px`);\n },\n willUnmount: (height) => {\n const updatedPosition = parseInt(div.style[direction] || '0', 10);\n unmountDom(queryName, div, updatedPosition, height, direction);\n },\n };\n const element = React.createElement(Notification, props);\n render(element, div);\n};\n\nconst open = (options: Options) => {\n createComponent(options, undefined);\n};\n\nconst notificationContainer: any = {};\n\n['success', 'error', 'warning', 'info'].forEach((type) => {\n notificationContainer[type] = (options: Options) => {\n createComponent(options, type as NotificationType);\n };\n});\n\nnotificationContainer.open = open;\nnotificationContainer.warn = notificationContainer.warning;\n\nexport default notificationContainer;\n","import React, { useContext, useEffect, useRef } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { CheckCircle, CloseCircle, InfoCircle, WarningCircle } from '../_utils/components';\nimport { NotificationProps } from './types';\n\nconst Notification = (props: NotificationProps): JSX.Element => {\n const {\n duration = 4500,\n title,\n description,\n footer,\n type,\n icon,\n willUnmount,\n didMount,\n onClick,\n onClose,\n className,\n prefixCls: customisedCls,\n ...otherProps\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('notification', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className);\n const ref = useRef<HTMLDivElement | null>(null);\n const timerRef = useRef<number>();\n const height = useRef(0);\n\n const closeBtnOnClick = (e: React.MouseEvent): void => {\n timerRef.current && window.clearTimeout(timerRef.current);\n willUnmount(height.current);\n onClose && onClose(e);\n };\n\n const renderIcon = (): React.ReactNode => {\n if (React.isValidElement(icon)) {\n return icon;\n } else if (typeof type === 'string') {\n const iconSize = 40;\n switch (type) {\n case 'success':\n return <CheckCircle size={iconSize} className={`${prefixCls}__icon`} />;\n case 'info':\n return <InfoCircle size={iconSize} className={`${prefixCls}__icon`} />;\n case 'warning':\n return <WarningCircle size={iconSize} className={`${prefixCls}__icon`} />;\n case 'error':\n return <CloseCircle size={iconSize} className={`${prefixCls}__icon`} />;\n }\n }\n\n return null;\n };\n\n useEffect(() => {\n didMount();\n const node = ref.current;\n height.current = node ? node.offsetHeight : 0;\n\n if (duration !== 0) {\n timerRef.current = window.setTimeout(() => {\n willUnmount(height.current);\n }, duration);\n }\n }, [didMount, duration, willUnmount]);\n\n return (\n <div {...otherProps} className={cls} onClick={onClick} ref={ref}>\n {renderIcon()}\n <div>\n <div className={`${prefixCls}__title`}>{title}</div>\n {description}\n {footer}\n <div role=\"button\" className={`${prefixCls}__close`} onClick={closeBtnOnClick}>\n ✕\n </div>\n </div>\n </div>\n );\n};\n\nexport default Notification;\n","import React, { useContext } from 'react';\nimport classNames from 'classnames';\nimport Popup from '../popup';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { PopoverProps } from './types';\n\nconst Popover = (props: PopoverProps): JSX.Element => {\n const {\n theme = 'light',\n role = 'tooltip',\n prefixCls: customisedCls,\n title,\n content,\n className,\n children,\n ...otherProps\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('popover', configContext.prefixCls, customisedCls);\n const cls = classNames(className, prefixCls, `${prefixCls}_${theme}`);\n\n const renderContent = (): React.ReactElement => (\n <div role={role} className={`${prefixCls}__inner`}>\n {title && <div className={`${prefixCls}__title`}>{title}</div>}\n {content && <div className={`${prefixCls}__content`}>{content}</div>}\n </div>\n );\n\n return (\n <Popup {...otherProps} className={cls} theme={theme} content={renderContent()}>\n {children}\n </Popup>\n );\n};\n\nexport default Popover;\n","import React, { useContext, useEffect, useState } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { ArrowDown } from '../_utils/components';\nimport { PaginationProps } from './types';\n\ntype ItemSourceData = {\n type: 'prev' | 'next' | 'jump-prev' | 'jump-next' | 'page';\n disabled?: boolean;\n active?: boolean;\n label: string;\n};\n\nconst Pagination = (props: PaginationProps): JSX.Element => {\n const {\n align = 'center',\n size = 'md',\n defaultCurrent = 1,\n defaultPageSize = 10,\n total = 0,\n disabled = false,\n onChange,\n className,\n prefixCls: customisedCls,\n ...otherProps\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('pagination', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className, {\n [`${prefixCls}_${align}`]: align,\n [`${prefixCls}_${size}`]: size,\n [`${prefixCls}_disabled`]: disabled,\n });\n const [current, setCurrent] = useState<number>(\n 'current' in props ? (props.current as number) : defaultCurrent\n );\n const [pageSize, setPageSize] = useState<number>(\n 'pageSize' in props ? (props.pageSize as number) : defaultPageSize\n );\n\n const itemOnClick = (item: ItemSourceData): void => {\n // If this item is in active or disabled status, reject the next action.\n if (item.active || item.disabled) {\n return;\n }\n\n const count = Math.ceil(total / pageSize);\n let curr = 0;\n if (item.type === 'page') {\n curr = Number(item.label);\n }\n if (item.type === 'prev') {\n curr = current - 1 > 0 ? current - 1 : 1;\n }\n if (item.type === 'next') {\n curr = current + 1 <= count ? current + 1 : count;\n }\n if (item.type === 'jump-prev' || item.type === 'jump-next') {\n curr = item.type === 'jump-prev' ? current - 5 : current + 5;\n if (curr > count) {\n curr = count;\n }\n if (curr < 1) {\n curr = 1;\n }\n }\n\n !('current' in props) && setCurrent(curr);\n onChange && onChange(curr, total, pageSize);\n };\n\n const getItems = (): ItemSourceData[] => {\n const count = Math.ceil(total / pageSize);\n const items: ItemSourceData[] = [\n { type: 'prev', label: '<', disabled: disabled || current === 1 },\n ];\n const itemCount = count <= 5 ? count : 5;\n let num = 0;\n let basic = 0;\n if (current > 3 && count > 5) {\n items.push({ disabled, type: 'page', label: '1' });\n }\n if (current > 4 && count > 6) {\n items.push({ disabled, type: 'jump-prev', label: '•••' });\n }\n while (num < itemCount) {\n num += 1;\n if (current > 3 && count > 5) {\n basic = current - 3;\n }\n let label = num + basic;\n if (count - current === 0 && count > 5) {\n label -= 2;\n }\n if (count - current === 1 && count > 5) {\n label -= 1;\n }\n if (label <= count) {\n items.push({ disabled, type: 'page', label: `${label}`, active: current === label });\n }\n }\n if (current + 3 < count && count > 6) {\n items.push({ disabled, type: 'jump-next', label: '•••' });\n }\n if (current + 2 < count && count > 5) {\n items.push({ disabled, type: 'page', label: `${count}` });\n }\n items.push({ type: 'next', label: '>', disabled: disabled || current === count });\n return items;\n };\n\n const renderItem = (item: ItemSourceData): React.ReactNode => {\n const { type, label } = item;\n switch (type) {\n case 'prev':\n return <ArrowDown size={12} className={`${prefixCls}__left-arrow`} />;\n\n case 'next':\n return <ArrowDown size={12} className={`${prefixCls}__right-arrow`} />;\n\n default:\n return label;\n }\n };\n\n useEffect(() => {\n 'current' in props && setCurrent(props.current as number);\n 'pageSize' in props && setPageSize(props.pageSize as number);\n }, [props]);\n\n return (\n <ul {...otherProps} unselectable=\"off\" className={cls}>\n {getItems().map((item, idx) => {\n const { active, disabled, type } = item;\n const cls = classNames(`${prefixCls}__item`, {\n [`${prefixCls}__item_active`]: active,\n [`${prefixCls}__item_disabled`]: disabled,\n [`${prefixCls}__item_ellipsis`]: type === 'jump-next' || type === 'jump-prev',\n });\n return (\n <li key={idx} className={cls} tabIndex={0} onClick={(): void => itemOnClick(item)}>\n {renderItem(item)}\n </li>\n );\n })}\n </ul>\n );\n};\n\nexport default Pagination;\n","import React, { useContext, useState } from 'react';\nimport classNames from 'classnames';\nimport Popover from '../popover';\nimport Button from '../button';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { WarningCircle } from '../_utils/components';\nimport { PopConfirmProps } from './types';\n\nconst PopConfirm = (props: PopConfirmProps): JSX.Element => {\n const {\n placement = 'top',\n confirmText = 'Yes',\n cancelText = 'No',\n title,\n icon,\n onConfirm,\n onCancel,\n onVisibleChange,\n className,\n children,\n prefixCls: customisedCls,\n ...otherProps\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('pop-confirm', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className);\n const [visible, setVisible] = useState(false);\n\n const cancelOnClick = (e: React.MouseEvent): void => {\n setVisible(false);\n onCancel && onCancel(e);\n };\n\n const confirmOnClick = (e: React.MouseEvent): void => {\n setVisible(false);\n onConfirm && onConfirm(e);\n };\n\n const overlay = (): React.ReactElement => {\n return (\n <div className={`${prefixCls}__overlay`}>\n <div className={`${prefixCls}__messages`}>\n {icon ? icon : <WarningCircle size={14} />}\n <span className={`${prefixCls}__title`}>{title}</span>\n </div>\n <div className={`${prefixCls}__buttons`}>\n <Button size=\"sm\" onClick={cancelOnClick}>\n {cancelText}\n </Button>\n <Button size=\"sm\" btnType=\"primary\" onClick={confirmOnClick}>\n {confirmText}\n </Button>\n </div>\n </div>\n );\n };\n\n return (\n <Popover\n {...otherProps}\n className={cls}\n role=\"alertdialog\"\n visible={visible}\n onVisibleChange={(val: boolean): void => {\n setVisible(val);\n onVisibleChange && onVisibleChange(val);\n }}\n content={overlay()}\n placement={placement}>\n {children}\n </Popover>\n );\n};\n\nPopConfirm.displayName = 'PopConfirm';\n\nexport default PopConfirm;\n","import React from 'react';\nimport { BaseProps } from '../_utils/props';\n\nexport type strokeLineCaps = 'round' | 'square';\n\nexport const strokePresetColors = ['primary', 'blue', 'green', 'yellow', 'red'];\n\nexport type BarBackgroundType = 'impulse' | 'striped';\n\nexport interface BarProps extends BaseProps, React.PropsWithoutRef<JSX.IntrinsicElements['div']> {\n percent?: number;\n /** Customise label style for both outer and inner label */\n format?: (percent: number) => React.ReactNode;\n /** Determine display the label */\n showInfo?: boolean;\n strokeLinecap?: strokeLineCaps;\n strokeColor?: string | string[];\n strokeWidth?: number;\n /** Determine display the label in the bar or right of bar */\n innerText?: boolean;\n backgroundType?: BarBackgroundType;\n children?: React.ReactNode;\n}\n\nexport interface CircleProps\n extends BaseProps,\n React.PropsWithoutRef<JSX.IntrinsicElements['div']> {\n percent?: number;\n /** Customise label style for both outer and inner label */\n format?: (percent: number) => React.ReactNode;\n width?: number;\n strokeWidth?: number;\n strokeLinecap?: strokeLineCaps;\n strokeColor?: string;\n reverse?: boolean;\n prefixCls?: string;\n textStyle?: React.CSSProperties;\n children?: React.ReactNode;\n}\n","import React, { useContext } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { CircleProps, strokePresetColors } from './types';\n\nconst Circle = (props: CircleProps): React.ReactElement => {\n const {\n percent = 0,\n strokeWidth = 8,\n width = 120,\n strokeLinecap = 'round',\n strokeColor = 'primary',\n reverse = false,\n prefixCls: customisedCls,\n format,\n className,\n style,\n textStyle,\n ...otherProps\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('progress-circle', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className);\n let percentage: number = percent > 100 ? 100 : percent;\n percentage = percentage < 0 ? 0 : percentage;\n\n const strokeBgCls = classNames(`${prefixCls}__path`, {\n [`${prefixCls}__path_${strokeColor}`]: strokePresetColors.includes(strokeColor),\n });\n\n const relativeStrokeWidth = (): string => {\n return ((strokeWidth / width) * 100).toFixed(1);\n };\n\n const trackPath = (): string => {\n const radius: number = 50 - parseFloat(relativeStrokeWidth()) / 2;\n return `M 50 50 m 0 -${radius} a ${radius} ${radius}\n 0 1 1 0 ${radius * 2} a ${radius} ${radius} 0 1 1 0 -${radius * 2}`;\n };\n\n const _perimeter = (): number => {\n const radius: number = 50 - parseFloat(relativeStrokeWidth()) / 2;\n return 2 * Math.PI * radius;\n };\n\n const _circlePathStyle = (): React.CSSProperties => {\n const perimeter = _perimeter();\n const strokeDash = reverse ? percentage / 100 + 1 : 1 - percentage / 100;\n return {\n strokeDasharray: `${perimeter}px, ${perimeter}px`,\n strokeDashoffset: strokeDash * perimeter + 'px',\n };\n };\n\n const renderLabel = (): React.ReactNode => {\n return (\n <div className={`${prefixCls}__text`} style={textStyle}>\n {format ? format(percent) : `${percentage}%`}\n </div>\n );\n };\n\n return (\n <div\n {...otherProps}\n className={cls}\n style={{ width, height: width, ...style }}\n aria-valuemax={100}\n aria-valuemin={0}\n aria-valuenow={percentage}>\n <svg viewBox=\"0 0 100 100\" width={width} height={width}>\n <path className={`${prefixCls}__bg`} d={trackPath()} strokeWidth={relativeStrokeWidth()} />\n <path\n className={strokeBgCls}\n d={trackPath()}\n strokeLinecap={strokeLinecap}\n strokeWidth={relativeStrokeWidth()}\n style={_circlePathStyle()}\n />\n </svg>\n {renderLabel()}\n </div>\n );\n};\n\nCircle.displayName = 'Circle';\n\nexport default Circle;\n","import React, { useContext } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { BarProps, strokePresetColors } from './types';\n\nconst Bar = (props: BarProps): React.ReactElement => {\n const {\n percent = 0,\n showInfo = true,\n strokeWidth = 8,\n strokeLinecap = 'round',\n strokeColor = 'primary',\n innerText = false,\n prefixCls: customisedCls,\n format,\n backgroundType,\n className,\n style,\n ...otherProps\n } = props;\n let percentage: number = percent > 100 ? 100 : percent;\n percentage = percentage < 0 ? 0 : percentage;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('progress-bar', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className, `${prefixCls}_${strokeLinecap}`);\n\n const strokeBgCls = classNames(`${prefixCls}__bg`, {\n [`${prefixCls}__bg_${strokeColor}`]:\n !Array.isArray(strokeColor) && strokePresetColors.includes(strokeColor),\n });\n\n const background = Array.isArray(strokeColor)\n ? `linear-gradient(to right, ${strokeColor.join(',')})`\n : strokePresetColors.includes(strokeColor)\n ? ''\n : strokeColor;\n\n const effectCls = classNames(`${prefixCls}__effect`, {\n [`${prefixCls}__effect_${backgroundType}`]: backgroundType,\n });\n\n const _renderLabel = () => {\n if (showInfo && !innerText) {\n return format ? (\n format(percentage)\n ) : (\n <span className={`${prefixCls}__text`}>{percentage}%</span>\n );\n }\n return null;\n };\n\n const _renderInnerLabel = () => {\n if (showInfo && innerText) {\n return format ? (\n format(percentage)\n ) : (\n <div className={`${prefixCls}__inner-text`} style={{ lineHeight: `${strokeWidth}px` }}>\n {percentage}%\n </div>\n );\n }\n return null;\n };\n\n return (\n <div\n {...otherProps}\n role=\"progressbar\"\n aria-valuemax={100}\n aria-valuemin={0}\n aria-valuenow={percentage}\n className={cls}\n style={style}>\n <div className={`${prefixCls}__inner`} style={{ height: strokeWidth }}>\n <div\n className={strokeBgCls}\n style={{\n width: `${percentage}%`,\n background,\n }}>\n <div className={effectCls} />\n {_renderInnerLabel()}\n </div>\n </div>\n {_renderLabel()}\n </div>\n );\n};\n\nBar.displayName = 'Bar';\n\nexport default Bar;\n","import Circle from './circle';\nimport Bar from './bar';\n\nconst Progress = {\n Circle,\n Bar,\n};\n\nexport default Progress;\n","import React from 'react';\n\ntype Props = {\n value?: number | string;\n name?: string;\n disabled?: boolean;\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;\n};\n\nexport const RadioGroupContext = React.createContext<Props>({});\n","import React, { useState, useEffect, useContext } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { RadioGroupContext } from './radio-group-context';\nimport { RadioProps } from './types';\n\nconst Radio = React.forwardRef<HTMLLabelElement, RadioProps>(\n (props: RadioProps, ref): React.ReactElement => {\n const {\n defaultChecked = false,\n radioRef,\n name,\n value,\n onChange,\n className,\n children,\n prefixCls: customisedCls,\n ...otherProps\n } = props;\n const configContext = useContext(ConfigContext);\n const radioGroupContext = useContext(RadioGroupContext);\n const initialChecked = 'checked' in props ? (props.checked as boolean) : defaultChecked;\n const [checked, setChecked] = useState<boolean>(\n 'value' in radioGroupContext ? radioGroupContext.value === value : initialChecked\n );\n const prefixCls = getPrefixCls('radio', configContext.prefixCls, customisedCls);\n const disabled =\n 'disabled' in props\n ? props.disabled\n : 'disabled' in radioGroupContext\n ? radioGroupContext.disabled\n : false;\n const cls = classNames(prefixCls, className, {\n [`${prefixCls}_checked`]: checked,\n [`${prefixCls}_disabled`]: disabled,\n });\n\n const radioOnChange = (e: React.ChangeEvent<HTMLInputElement>): void => {\n if (!disabled) {\n !('checked' in props) && setChecked(e.currentTarget.checked);\n onChange && onChange(e);\n radioGroupContext.onChange && radioGroupContext.onChange(e);\n }\n };\n\n useEffect(() => {\n 'value' in radioGroupContext && setChecked(value === radioGroupContext.value);\n 'checked' in props && setChecked(props.checked as boolean);\n }, [props, radioGroupContext, value]);\n\n return (\n <label {...otherProps} ref={ref} className={cls}>\n <input\n ref={radioRef}\n role=\"radio\"\n aria-checked={checked}\n name={radioGroupContext.name || name}\n disabled={disabled}\n value={value}\n className={`${prefixCls}__native`}\n type=\"radio\"\n checked={checked}\n onChange={radioOnChange}\n />\n <span className={`${prefixCls}__inner`} />\n <span>{children}</span>\n </label>\n );\n }\n);\n\nRadio.displayName = 'Radio';\n\nexport default Radio;\n","import React, { useContext, useEffect, useState } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { RadioGroupContext } from './radio-group-context';\nimport { RadioGroupProps } from './types';\n\nconst RadioGroup = React.forwardRef<HTMLDivElement, RadioGroupProps>(\n (props: RadioGroupProps, ref): JSX.Element => {\n const {\n defaultValue = '',\n disabled = false,\n name,\n onChange,\n className,\n children,\n prefixCls: customisedCls,\n ...otherProps\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('radio-group', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className);\n const [value, setValue] = useState<number | string>(\n 'value' in props ? (props.value as number | string) : defaultValue\n );\n\n const radioOnChange = (e: React.ChangeEvent<HTMLInputElement>): void => {\n if (!disabled) {\n const val = e.currentTarget.value;\n !('value' in props) && setValue(val);\n onChange && onChange(val);\n }\n };\n\n useEffect(() => {\n 'value' in props && setValue(props.value as number | string);\n }, [props]);\n\n return (\n <RadioGroupContext.Provider\n value={{\n name,\n disabled,\n value,\n onChange: radioOnChange,\n }}>\n <div {...otherProps} ref={ref} role=\"radiogroup\" className={cls}>\n {children}\n </div>\n </RadioGroupContext.Provider>\n );\n }\n);\n\nRadioGroup.displayName = 'RadioGroup';\n\nexport default RadioGroup;\n","import Radio from './radio';\nimport RadioGroup from './radio-group';\n\ntype IRadio = typeof Radio & {\n Group: typeof RadioGroup;\n};\n\nconst DefaultRadio = Radio as IRadio;\nDefaultRadio.Group = RadioGroup;\n\nexport default DefaultRadio;\n","import React, { ReactNode } from 'react';\n\ntype ItemProps = {\n half: boolean;\n color: string;\n value: number;\n prefixCls: string;\n index: number;\n onMouseEnter: (index: number) => void;\n character?: ReactNode;\n onClick: React.MouseEventHandler;\n};\n\nconst RateItem = (props: ItemProps): React.ReactElement => {\n const { half, color, value, character, prefixCls, index, onMouseEnter, onClick } = props;\n const getColor = (curr: number, max: number): string => {\n const val = half ? curr : Math.round(curr);\n return val <= max ? color : '#e8e8e8';\n };\n\n return (\n <li className={`${prefixCls}__item`} onClick={onClick}>\n <div\n style={{ color: getColor(index - 0.5, value) }}\n className={`${prefixCls}__item-first`}\n onMouseEnter={(): void => onMouseEnter(index - 0.5)}>\n {character}\n </div>\n <div\n style={{ color: getColor(index, value) }}\n className={`${prefixCls}__item-second`}\n onMouseEnter={(): void => onMouseEnter(index)}>\n {character}\n </div>\n </li>\n );\n};\n\nRateItem.displayName = 'RateItem';\n\nexport default RateItem;\n","import React, { useState, useEffect, useContext } from 'react';\nimport classNames from 'classnames';\nimport Icon from '../icon';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { RateProps } from './types';\nimport RateItem from './rate-item';\n\nconst Rate = React.forwardRef<HTMLUListElement, RateProps>(\n (props: RateProps, ref): JSX.Element => {\n const {\n color = '#FADB14',\n character = <Icon name=\"star-fill\" size={20} />,\n clearable = true,\n half = false,\n count = 5,\n defaultValue = 0,\n disabled = false,\n onChange,\n className,\n style,\n prefixCls: customisedCls,\n ...otherProps\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('rate', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className);\n const [value, setValue] = useState<number>(\n 'value' in props ? (props.value as number) : defaultValue\n );\n // tepValue is for setting the value when the mouse is hovering the bar\n const [tmpValue, setTmpValue] = useState<number>(\n 'value' in props ? (props.value as number) : defaultValue\n );\n\n /**\n * Callback when the mouse enters each star item\n * @param index\n */\n const onMouseEnter = (index: number): void => {\n !disabled && setTmpValue(index);\n };\n\n const onClick = (): void => {\n if (!disabled && clearable) {\n const val = tmpValue === value ? 0 : tmpValue;\n setTmpValue(val);\n !('value' in props) && setValue(val);\n onChange && onChange(val);\n } else {\n !('value' in props) && setValue(tmpValue);\n onChange && onChange(tmpValue);\n }\n };\n\n /**\n * When the mouse leaves the rate component\n */\n const onMouseLeave = (): void => {\n setTmpValue(value);\n };\n\n useEffect(() => {\n 'value' in props && setValue(props.value as number);\n }, [props]);\n\n return (\n <ul {...otherProps} ref={ref} className={cls} style={style} onMouseLeave={onMouseLeave}>\n {Array(count)\n .fill(0)\n .map((_, idx) => (\n <RateItem\n key={idx}\n index={idx + 1}\n half={half}\n character={character}\n prefixCls={prefixCls}\n onMouseEnter={onMouseEnter}\n onClick={onClick}\n value={half ? tmpValue : Math.round(tmpValue)}\n color={color}\n />\n ))}\n </ul>\n );\n }\n);\n\nRate.displayName = 'Rate';\n\nexport default Rate;\n","import React, { useContext } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport {\n CheckCircle,\n CloseCircle,\n InfoCircle,\n LoadingCircle,\n WarningCircle,\n} from '../_utils/components';\nimport { ResultProps } from './types';\n\nconst Result = React.forwardRef<HTMLDivElement, ResultProps>((props: ResultProps, ref) => {\n const {\n status = 'info',\n prefixCls: customisedCls,\n title,\n subtitle,\n icon,\n extra,\n className,\n children,\n ...otherProps\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('result', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className, `${prefixCls}_${status}`);\n\n const renderIcon = (): React.ReactNode => {\n if (React.isValidElement(icon)) {\n return icon;\n } else {\n const iconSize = 80;\n switch (status) {\n case 'success':\n return <CheckCircle size={iconSize} />;\n case 'info':\n return <InfoCircle size={iconSize} />;\n case 'warning':\n return <WarningCircle size={iconSize} />;\n case 'error':\n return <CloseCircle size={iconSize} />;\n case 'loading':\n return <LoadingCircle size={iconSize} className={`${prefixCls}__icon`} />;\n }\n }\n\n return null;\n };\n\n return (\n <div {...otherProps} ref={ref} className={cls}>\n <div className={`${prefixCls}__icon-container`}>{renderIcon()}</div>\n {title && <div className={`${prefixCls}__title`}>{title}</div>}\n {subtitle && <div className={`${prefixCls}__subtitle`}>{subtitle}</div>}\n {extra && <div className={`${prefixCls}__extra`}>{extra}</div>}\n {children && <div className={`${prefixCls}__content`}>{children}</div>}\n </div>\n );\n});\n\nResult.displayName = 'Result';\n\nexport default Result;\n","import React, { useCallback, useContext, useState } from 'react';\nimport classNames from 'classnames';\nimport { Target, getScroll, getNodeScrollHeight, getNodeHeight } from '../_utils/dom';\nimport { useEventListener } from '../_utils/hooks';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { ScrollIndicatorProps } from './types';\n\nconst ScrollIndicator = (props: ScrollIndicatorProps): React.ReactElement => {\n const { prefixCls: customisedCls, fixed = true, target, className, style, ...otherProps } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('scroll-indicator', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className, {\n [`${prefixCls}_fixed`]: fixed,\n });\n const [width, setWidth] = useState('0%');\n\n const handleScroll = useCallback(\n (e: Event) => {\n let container = e.target;\n // If the container is not provided, the target will be the root element. So set it as Window\n // if the container is not determined.\n if (container !== (target && target())) {\n container = window;\n }\n if (container) {\n const el = container as Target;\n const scrollTop = getScroll(el, true);\n const height = getNodeScrollHeight(el) - getNodeHeight(el);\n const scrolled = (scrollTop / height) * 100;\n setWidth(`${scrolled}%`);\n }\n },\n [target]\n );\n\n const element = target ? (target() ? target() : window) : window;\n useEventListener('scroll', handleScroll, element);\n\n return <div {...otherProps} className={cls} style={{ ...style, width }} />;\n};\n\nScrollIndicator.displayName = 'ScrollIndicator';\n\nexport default ScrollIndicator;\n","import { useEffect, useRef, useState } from 'react';\nimport { Target } from './dom';\n\nexport const useEventListener = (\n eventName: keyof HTMLElementEventMap,\n handler: EventListener,\n target: Target = window\n): void => {\n const savedHandler = useRef<EventListener>();\n\n useEffect(() => {\n savedHandler.current = handler;\n }, [handler]);\n\n useEffect(() => {\n const isSupported = target && target.addEventListener;\n if (!isSupported) return;\n\n const eventListener = (event: Event): void =>\n savedHandler.current && savedHandler.current(event);\n target.addEventListener(eventName, eventListener);\n return (): void => {\n target.removeEventListener(eventName, eventListener);\n };\n }, [eventName, target]);\n};\n\nexport const useClickOutside = (target: HTMLElement, handler: Function): void => {\n useEffect(() => {\n const listener = (event: MouseEvent): void => {\n if (!target || target.contains(event.target as HTMLElement)) {\n return;\n }\n handler(event);\n };\n document.addEventListener('click', listener);\n return (): void => {\n document.removeEventListener('click', listener);\n };\n }, [target, handler]);\n};\n\nexport function useDebounce<T>(value: T, delay = 300): [T] {\n const [debouncedValue, setDebouncedValue] = useState(value);\n\n useEffect(() => {\n const handler = window.setTimeout(() => {\n setDebouncedValue(value);\n }, delay);\n\n return (): void => {\n window.clearTimeout(handler);\n };\n }, [value, delay]);\n\n return [debouncedValue];\n}\n","import React from 'react';\n\ntype Props = {\n value?: string | string[];\n highlightVal?: string;\n onSelect: (value: string | string[]) => void;\n};\n\nexport const SelectContext = React.createContext<Props>({ value: '', onSelect: () => {} });\n","import React, { useContext, useEffect, useRef, useState } from 'react';\nimport classNames from 'classnames';\nimport { useClickOutside } from '../_utils/hooks';\nimport { ArrowDown } from '../_utils/components';\nimport { SelectContext } from './select-context';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { SelectOptionsProps, SelectProps, SelectValue } from './types';\nimport Popup from '../popup';\nimport Input from '../input/input';\n\nconst Select = (props: SelectProps): React.ReactElement => {\n const {\n defaultOpen = false,\n disabled = false,\n defaultValue = '',\n prefixCls: customisedCls,\n value,\n onDropdownVisibleChange,\n placeholder,\n className,\n children,\n dropdownStyle,\n onSelect,\n ...otherProps\n } = props;\n const [isOpenDropdown, setIsOpenDropdown] = useState('open' in props ? props.open : defaultOpen);\n const [selectVal, setSelectVal] = useState('value' in props ? value : defaultValue);\n const ref = useRef<HTMLDivElement | null>(null);\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('select', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className);\n const arrowCls = classNames(`${prefixCls}__arrow`, {\n [`${prefixCls}__arrow_reverse`]: isOpenDropdown,\n });\n useClickOutside(ref.current as HTMLDivElement, () => {\n if (!('open' in props)) {\n setIsOpenDropdown(false);\n onDropdownVisibleChange && onDropdownVisibleChange(false);\n }\n });\n\n const inputOnClick = (e: React.MouseEvent<HTMLInputElement>): void => {\n e.preventDefault();\n if (!('open' in props)) {\n setIsOpenDropdown(true);\n onDropdownVisibleChange && onDropdownVisibleChange(true);\n }\n };\n\n const contextValue = {\n value: selectVal,\n onSelect: (value: SelectValue): void => {\n setSelectVal(value);\n setIsOpenDropdown(false);\n onSelect && onSelect(value);\n },\n };\n\n useEffect(() => {\n 'open' in props && setIsOpenDropdown(props.open);\n }, [props]);\n\n const renderOverlay = (): React.ReactElement => (\n <SelectContext.Provider value={contextValue}>\n <ul className={`${prefixCls}__dropdown`} style={dropdownStyle}>\n {React.Children.map(children, (child) => {\n const childElement = child as React.FunctionComponentElement<SelectOptionsProps>;\n const { displayName } = childElement.type;\n if (displayName === 'SelectOption' || displayName === 'SelectOptGroup') {\n return React.cloneElement(childElement, childElement.props);\n } else {\n console.warn(\n 'Select has a child that is not neither SelectOption nor SelectOptGroup component.'\n );\n return null;\n }\n })}\n </ul>\n </SelectContext.Provider>\n );\n\n return (\n <div {...otherProps} ref={ref} className={cls}>\n <Popup\n trigger=\"manual\"\n placement=\"bottom\"\n arrow={false}\n visible={isOpenDropdown}\n content={renderOverlay()}>\n <Input\n value={Array.isArray(selectVal) ? selectVal[0] : selectVal}\n disabled={disabled}\n placeholder={placeholder}\n onClick={inputOnClick}\n suffix={\n <span className={arrowCls}>\n <ArrowDown size={10} />\n </span>\n }\n />\n </Popup>\n </div>\n );\n};\n\nSelect.displayName = 'Select';\n\nexport default Select;\n","import React, { useContext, useState } from 'react';\nimport classNames from 'classnames';\nimport { SelectContext } from './select-context';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { SelectOptionsProps } from './types';\n\nconst SelectOption = (props: SelectOptionsProps): React.ReactElement => {\n const {\n disabled = false,\n prefixCls: customisedCls,\n value,\n className,\n children,\n ...otherProps\n } = props;\n const context = useContext(SelectContext);\n const isSelect = context.value === value;\n const [active, setActive] = useState(false);\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('select-option', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className, {\n [`${prefixCls}_selected`]: isSelect,\n [`${prefixCls}_active`]: active,\n [`${prefixCls}_disabled`]: disabled,\n });\n\n const onMouseEnter = (): void => {\n setActive(true);\n };\n\n const onMouseLeave = (): void => {\n setActive(false);\n };\n\n const onClick = (): void => {\n !disabled && context.onSelect(value);\n };\n\n return (\n <li\n {...otherProps}\n key={value}\n className={cls}\n onClick={onClick}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n aria-selected={isSelect}\n aria-disabled={disabled}>\n {children}\n </li>\n );\n};\n\nSelectOption.displayName = 'SelectOption';\n\nexport default SelectOption;\n","import React, { useContext } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { SelectOptGroupProps, SelectOptionsProps } from './types';\n\nconst SelectOptGroup = (props: SelectOptGroupProps): React.ReactElement => {\n const { prefixCls: customisedCls, label, className, children, ...otherProps } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('select-group', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className);\n\n return (\n <li {...otherProps} key={label} className={cls}>\n <div className={`${prefixCls}__title`}>{label}</div>\n <ul className={`${prefixCls}__list`}>\n {React.Children.map(children, (child) => {\n const childElement = child as React.FunctionComponentElement<SelectOptionsProps>;\n if (childElement.type.displayName === 'SelectOption') {\n const childProps = {\n ...childElement.props,\n };\n return React.cloneElement(childElement, childProps);\n } else {\n console.warn(\n 'Select has a child that is not neither SelectOption nor SelectOptGroup component.'\n );\n return null;\n }\n })}\n </ul>\n </li>\n );\n};\n\nSelectOptGroup.displayName = 'SelectOptGroup';\n\nexport default SelectOptGroup;\n","import Select from './select';\nimport SelectOption from './option';\nimport SelectOptGroup from './opt-group';\n\ntype ISelect = typeof Select & {\n Option: typeof SelectOption;\n OptGroup: typeof SelectOptGroup;\n};\n\nconst DefaultSelect = Select as ISelect;\nDefaultSelect.Option = SelectOption;\nDefaultSelect.OptGroup = SelectOptGroup;\n\nexport default DefaultSelect;\n","import React, { useContext } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { SkeletonProps } from './types';\n\nconst Skeleton = React.forwardRef<HTMLDivElement, SkeletonProps>(\n (props: SkeletonProps, ref): JSX.Element => {\n const {\n active = false,\n rounded = false,\n className,\n children,\n prefixCls: customisedCls,\n ...otherProps\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('skeleton', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className, {\n [`${prefixCls}_active`]: configContext.shimmer || active,\n [`${prefixCls}_rounded`]: rounded,\n });\n\n return (\n <div ref={ref} {...otherProps} className={cls}>\n {children}\n </div>\n );\n }\n);\n\nSkeleton.displayName = 'Skeleton';\n\nexport default Skeleton;\n","import React, { useContext } from 'react';\nimport classNames from 'classnames';\nimport Popup from '../popup';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { TooltipProps } from './types';\n\nconst Tooltip = (props: TooltipProps): React.ReactElement => {\n const {\n trigger = 'hover',\n prefixCls: customisedCls,\n title,\n className,\n children,\n ...otherProps\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('tooltip', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className);\n\n const renderContent = (): React.ReactElement => (\n <div role=\"tooltip\" className={`${prefixCls}__inner`}>\n {title}\n </div>\n );\n\n return (\n <Popup {...otherProps} className={cls} theme=\"dark\" trigger={trigger} content={renderContent()}>\n {children}\n </Popup>\n );\n};\n\nTooltip.displayName = 'Tooltip';\n\nexport default Tooltip;\n","import React, { useContext, useRef, useState, ReactNode, useEffect } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport Tooltip from '../tooltip';\nimport { SliderProps } from './types';\n\nconst Slider = React.forwardRef<HTMLDivElement, SliderProps>(\n (props: SliderProps, ref): JSX.Element => {\n const {\n defaultValue = 0,\n min = 0,\n max = 100,\n direction = 'horizontal',\n dots = false,\n step = 1,\n disabled = false,\n track = true,\n tooltipPlacement = 'top',\n tooltipVisible,\n tipFormatter,\n marks,\n onChange,\n onClick,\n onAfterChange,\n className,\n prefixCls: customisedCls,\n ...otherProps\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('slider', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className, `${prefixCls}_${direction}`, {\n [`${prefixCls}-with-marks`]: marks,\n [`${prefixCls}_disabled`]: disabled,\n });\n const [sliderValues, setSliderValues] = useState<number[]>(\n ('value' in props\n ? Array.isArray(props.value)\n ? props.value\n : [props.value]\n : Array.isArray(defaultValue)\n ? defaultValue\n : [defaultValue]) as number[]\n );\n const [isHovering, setHovering] = useState(false);\n const railRef = useRef<HTMLDivElement | null>(null);\n const trackRef = useRef<HTMLDivElement | null>(null);\n const thumbIdx = useRef(0);\n const isDragging = useRef(false);\n const mouseStartPos = useRef(0);\n const trackStartPos = useRef(0);\n const currVal = useRef(0);\n const isVertical = direction === 'vertical';\n const railNode = railRef.current;\n const trackNode = trackRef.current;\n\n const getValueToPercent = (value: number): number => {\n return ((value - min) * 100) / (max - min);\n };\n\n const calculateTrackStyle = (): React.CSSProperties => {\n const trackStyle: React.CSSProperties = { left: '0%', right: '100%' };\n if (sliderValues.length === 1) {\n trackStyle.right = `${100 - getValueToPercent(sliderValues[0])}%`;\n } else {\n const leftValue = sliderValues[0] > sliderValues[1] ? sliderValues[1] : sliderValues[0];\n const rightValue = sliderValues[0] > sliderValues[1] ? sliderValues[0] : sliderValues[1];\n trackStyle.left = `${getValueToPercent(leftValue)}%`;\n trackStyle.right = `${100 - getValueToPercent(rightValue)}%`;\n }\n return trackStyle;\n };\n\n const getRangeValue = (val: number): number[] => {\n if (sliderValues.length === 1) {\n return [val];\n }\n\n const values = sliderValues;\n const val1 = values[0];\n const val2 = values[1];\n if ((val1 < val2 && val1 > val) || (val1 > val2 && val1 < val)) {\n values[0] = val as number;\n }\n if ((val1 < val2 && val2 < val) || (val1 > val2 && val2 > val)) {\n values[1] = val as number;\n }\n\n if (val1 > val && val2 < val) {\n const half = val2 + (val1 - val2) / 2;\n if (half >= val) {\n values[1] = val as number;\n }\n if (half < val) {\n values[0] = val as number;\n }\n }\n if (val2 > val && val1 < val) {\n const half = val1 + (val2 - val1) / 2;\n if (half >= val) {\n values[0] = val as number;\n }\n if (half < val) {\n values[1] = val as number;\n }\n }\n return values;\n };\n\n const handleOnChange = (value: number[]): void => {\n !('value' in props) && setSliderValues([...value]);\n onChange &&\n onChange(sliderValues.length === 1 ? sliderValues[0] : [sliderValues[0], sliderValues[1]]);\n };\n\n const getWidthToValue = (width: number): number => {\n const numOfSteps = (max - min) / step;\n let percent = 0;\n if (railNode) {\n percent = (width / railNode[isVertical ? 'clientHeight' : 'clientWidth']) * 100;\n }\n\n if (percent <= 0) {\n percent = 0;\n }\n if (percent >= 100) {\n percent = 100;\n }\n\n // add 0.5 for step movement\n const num = numOfSteps * (percent / 100) + 0.5;\n const val = Math.floor(num) * step + min;\n return isVertical ? 100 - val : val;\n };\n\n const sliderOnClick = (e: React.MouseEvent<HTMLDivElement>): void => {\n if (isDragging.current || disabled) {\n return;\n }\n if (railNode) {\n const markOffset = railNode.getBoundingClientRect();\n const value = getWidthToValue(\n e[isVertical ? 'clientY' : 'clientX'] - markOffset[isVertical ? 'y' : 'x']\n );\n handleOnChange(getRangeValue(value));\n }\n onClick && onClick(e);\n };\n\n const handleThumbOnDragging = (e: MouseEvent): void => {\n if (!isDragging.current) {\n return;\n }\n const sliderVal = getWidthToValue(\n e[isVertical ? 'clientY' : 'clientX'] - mouseStartPos.current + trackStartPos.current\n );\n const val = sliderValues;\n if (sliderVal !== currVal.current) {\n val[thumbIdx.current] = sliderVal;\n\n handleOnChange(val);\n currVal.current = sliderVal;\n }\n };\n\n const handleThumbOnDragEnd = (): void => {\n isDragging.current = false;\n window.removeEventListener('mousemove', handleThumbOnDragging);\n window.removeEventListener('mouseup', handleThumbOnDragEnd);\n onAfterChange &&\n onAfterChange(\n sliderValues.length === 1 ? sliderValues[0] : [sliderValues[0], sliderValues[1]]\n );\n };\n\n /**\n * Get track width info when click down the thumb button\n */\n const handleThumbOnMouseDown = (idx: number, e: React.MouseEvent<HTMLDivElement>): void => {\n if (disabled) {\n return;\n }\n\n thumbIdx.current = idx;\n isDragging.current = true;\n mouseStartPos.current = e[isVertical ? 'clientY' : 'clientX'];\n if (trackNode) {\n trackStartPos.current = isVertical ? trackNode.offsetTop : trackNode.clientWidth;\n\n // handle when it is a dual slider\n if (sliderValues.length > 1) {\n const trackOffset = trackNode[isVertical ? 'offsetTop' : 'offsetLeft'];\n trackStartPos.current =\n (idx === 1 && sliderValues[1] > sliderValues[0]) ||\n (idx !== 1 && sliderValues[0] > sliderValues[1])\n ? isVertical\n ? trackOffset\n : trackStartPos.current + trackOffset\n : isVertical\n ? trackNode.clientHeight + trackOffset\n : trackOffset;\n }\n }\n\n window.addEventListener('mousemove', handleThumbOnDragging, { capture: true });\n window.addEventListener('mouseup', handleThumbOnDragEnd, { capture: true });\n };\n\n /**\n * Get dot values\n */\n const getSteps = (): number[] => {\n const numOfSteps = (max - min) / step;\n const stepWidth = (100 * step) / (max - min);\n const res = [0];\n for (let i = 1; i < numOfSteps; i += 1) {\n res.push(i * stepWidth);\n }\n res.push(100);\n return res;\n };\n\n /**\n * Determine dot's border style\n * @param dotVal: dot value\n */\n const isDotActive = (dotVal: number): boolean => {\n if (sliderValues.length === 1) {\n return dotVal < sliderValues[0];\n } else {\n const [left, right] =\n sliderValues[0] < sliderValues[1]\n ? [sliderValues[0], sliderValues[1]]\n : [sliderValues[1], sliderValues[0]];\n return dotVal < right && dotVal > left;\n }\n };\n\n const handleThumbOnMouseEnter = (idx: number): void => {\n thumbIdx.current = idx;\n setHovering(true);\n };\n\n const handleThumbOnMouseLeave = (): void => {\n setHovering(false);\n };\n\n const renderMark = (mark: string): ReactNode => {\n if (marks && marks[mark] && (marks[mark] as any).label) {\n const { label, style } = marks[mark] as any;\n return <div style={style}>{label}</div>;\n } else if (marks && marks[mark]) {\n return marks[mark];\n } else {\n return mark;\n }\n };\n\n useEffect(() => {\n 'value' in props && setSliderValues(sliderValues);\n }, [props, sliderValues]);\n\n const trackStyle = calculateTrackStyle();\n return (\n <div ref={ref} {...otherProps} className={cls} onClick={sliderOnClick}>\n <div ref={railRef} className={`${prefixCls}__rail`} />\n <div\n ref={trackRef}\n className={classNames(`${prefixCls}__track`, {\n [`${prefixCls}__track_invisible`]: !track,\n })}\n style={{\n [isVertical ? 'bottom' : 'left']: trackStyle.left,\n [isVertical ? 'top' : 'right']: trackStyle.right,\n }}\n />\n {sliderValues.map((value, idx) => {\n const percent = getValueToPercent(value);\n return (\n <div\n key={idx}\n tabIndex={0}\n role=\"slider\"\n aria-valuemax={max}\n aria-valuemin={min}\n aria-valuenow={value}\n aria-disabled={disabled}\n className={classNames(`${prefixCls}__thumb-container`, {\n [`${prefixCls}__thumb-container_hovering`]: idx === thumbIdx.current && isHovering,\n [`${prefixCls}__thumb-container_dragging`]:\n idx === thumbIdx.current && isDragging.current,\n })}\n style={{\n zIndex: idx === thumbIdx.current && (isDragging.current || isHovering) ? 2 : 1,\n transform: isVertical ? 'translate(-50%, 50%)' : 'translate(-50%, -50%)',\n [isVertical ? 'bottom' : 'left']: `${percent}%`,\n }}\n onMouseEnter={(): void => handleThumbOnMouseEnter(idx)}\n onMouseLeave={handleThumbOnMouseLeave}\n onMouseDown={(e): void => handleThumbOnMouseDown(idx, e)}>\n <Tooltip\n trigger=\"manual\"\n visible={\n 'tooltipVisible' in props\n ? tooltipVisible\n : idx === thumbIdx.current && (isDragging.current || isHovering)\n }\n usePortal={false}\n placement={tooltipPlacement}\n title={tipFormatter ? tipFormatter(value) : value}>\n <div className={`${prefixCls}__thumb`} />\n </Tooltip>\n </div>\n );\n })}\n {dots && (\n <div className={`${prefixCls}__dots`}>\n {getSteps().map((val, idx) => {\n const stepVal = idx * step + min;\n return (\n <div\n key={idx}\n style={{\n [isVertical ? 'bottom' : 'left']: `${val}%`,\n }}\n className={classNames(`${prefixCls}__dot`, {\n [`${prefixCls}__dot_active`]: isDotActive(stepVal),\n })}\n />\n );\n })}\n </div>\n )}\n {marks && (\n <div className={`${prefixCls}__marks`}>\n {Object.keys(marks).map((mark: string, idx) => {\n const percent = getValueToPercent(parseFloat(mark));\n return (\n <div\n key={idx}\n style={{\n [isVertical ? 'bottom' : 'left']: `${percent}%`,\n }}\n className={`${prefixCls}__mark`}>\n {renderMark(mark)}\n </div>\n );\n })}\n </div>\n )}\n </div>\n );\n }\n);\n\nSlider.displayName = 'Slider';\n\nexport default Slider;\n","import React, { useContext, MouseEventHandler } from 'react';\nimport classNames from 'classnames';\nimport { BaseProps, DirectionType } from '../_utils/props';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\n\nexport interface ResizerProps\n extends BaseProps,\n React.PropsWithoutRef<JSX.IntrinsicElements['div']> {\n size: number;\n mode: DirectionType;\n onResizerMouseDown: MouseEventHandler<HTMLDivElement>;\n}\n\nconst Resizer = (props: ResizerProps): JSX.Element => {\n const {\n size,\n onResizerMouseDown,\n prefixCls: customisedCls,\n mode,\n className,\n ...otherProps\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('split-bar', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className, {\n [`${prefixCls}_${mode}`]: mode,\n });\n\n const style: React.CSSProperties = mode === 'vertical' ? { width: size } : { height: size };\n\n const onMouseDown = (e: React.MouseEvent<HTMLDivElement>) => {\n props.onMouseDown && props.onMouseDown(e);\n onResizerMouseDown(e);\n };\n\n return (\n <div\n {...otherProps}\n role=\"presentation\"\n className={cls}\n style={style}\n onMouseDown={(e): void => onMouseDown(e)}>\n <div className={`${prefixCls}__icon`} />\n </div>\n );\n};\n\nResizer.displayName = 'Resizer';\n\nexport default Resizer;\n","import React from 'react';\nimport { DirectionType } from '../_utils/props';\n\ntype Props = {\n mode: DirectionType;\n};\n\nexport const SplitContext = React.createContext<Props>({ mode: 'vertical' });\n","import React, { useContext } from 'react';\nimport classNames from 'classnames';\nimport { BaseProps } from '../_utils/props';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { SplitContext } from './split-context';\n\nexport interface SplitPaneProps\n extends BaseProps,\n React.PropsWithRef<JSX.IntrinsicElements['div']> {\n size?: number;\n}\n\nconst SplitPane = React.forwardRef<HTMLDivElement, SplitPaneProps>(\n (props: SplitPaneProps, ref): JSX.Element => {\n const { size, className, style, children, prefixCls: customisedCls, ...otherProps } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('split-pane', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className);\n const { mode } = useContext(SplitContext);\n\n const paneStyle: React.CSSProperties = {\n ...style,\n };\n if (mode === 'vertical') {\n paneStyle.width = size;\n } else {\n paneStyle.height = size;\n }\n\n return (\n <div ref={ref} {...otherProps} className={cls} style={paneStyle}>\n {children}\n </div>\n );\n }\n);\n\nSplitPane.displayName = 'SplitPane';\n\nexport default SplitPane;\n","import React, { useCallback, useContext, useEffect, useRef, useState } from 'react';\nimport classNames from 'classnames';\nimport Resizer from './resizer';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport Pane from './split-pane';\nimport warning from '../_utils/warning';\nimport { SplitContext } from './split-context';\nimport { SplitProps } from './types';\n\nconst Split = (props: SplitProps): JSX.Element => {\n const {\n mode = 'vertical',\n disabled = false,\n min = 50,\n max = 50,\n resizerSize = 6,\n defaultSize,\n step,\n onChange,\n onDragStarted,\n onDragFinished,\n prefixCls: customisedCls,\n style: defaultStyle,\n resizerProps,\n className,\n children,\n ...otherProps\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('split', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className, {\n [`${prefixCls}_${mode}`]: mode,\n [`${prefixCls}_disabled`]: disabled,\n });\n const [pane1Size, setPane1Size] = useState<number | undefined>(undefined);\n const wrapperRef = useRef<HTMLDivElement | null>(null);\n const paneRef = useRef<HTMLDivElement | null>(null);\n const isActiveMove = useRef(false);\n const lastPosition = useRef(0);\n const wrapper = wrapperRef.current;\n\n const getSizeNumber = useCallback(\n (size: number | string): number => {\n if (typeof size === 'string') {\n if (wrapper) {\n const { width, height } = wrapper.getBoundingClientRect();\n return ((mode === 'vertical' ? width : height) * parseFloat(size)) / 100;\n }\n } else {\n return size;\n }\n return 0;\n },\n [mode, wrapper]\n );\n const minSize = getSizeNumber(min);\n let maxSize = getSizeNumber(max);\n if (wrapper) {\n const { width, height } = wrapper.getBoundingClientRect();\n maxSize = (mode === 'vertical' ? width : height) - maxSize - resizerSize;\n }\n\n const onResizerMouseDown = (e: React.MouseEvent<HTMLElement>): void => {\n isActiveMove.current = true;\n lastPosition.current = e[mode === 'vertical' ? 'clientX' : 'clientY'];\n onDragStarted && onDragStarted();\n };\n\n const onMouseMove = useCallback(\n (e: MouseEvent): void => {\n if (!disabled && isActiveMove.current) {\n const pane = paneRef.current;\n if (pane) {\n if (pane.getBoundingClientRect) {\n const width = pane.getBoundingClientRect().width;\n const height = pane.getBoundingClientRect().height;\n const current = e[mode === 'vertical' ? 'clientX' : 'clientY'];\n const size = mode === 'vertical' ? width : height;\n let offset = lastPosition.current - current;\n if (step) {\n if (Math.abs(offset) < step) {\n return;\n }\n offset = Math.round((offset / step) * step);\n }\n\n let newSize = size - offset;\n const newPosition = lastPosition.current - offset;\n\n if (newSize < minSize) {\n newSize = minSize;\n } else if (newSize > maxSize) {\n newSize = maxSize;\n } else {\n lastPosition.current = newPosition;\n }\n\n !('size' in props) && setPane1Size(newSize);\n onChange && onChange(newSize);\n }\n }\n }\n },\n [props, disabled, maxSize, minSize, mode, onChange, step]\n );\n\n const onMouseUp = useCallback((): void => {\n isActiveMove.current = false;\n onDragFinished && onDragFinished();\n }, [onDragFinished]);\n\n let style: React.CSSProperties;\n if (mode === 'vertical') {\n style = {\n ...defaultStyle,\n };\n } else {\n style = {\n ...defaultStyle,\n minHeight: '100%',\n width: '100%',\n };\n }\n\n useEffect(() => {\n window.addEventListener('mousemove', onMouseMove);\n window.addEventListener('mouseup', onMouseUp);\n\n return (): void => {\n window.removeEventListener('mousemove', onMouseMove);\n window.removeEventListener('mouseup', onMouseUp);\n };\n }, [onMouseMove, onMouseUp]);\n\n useEffect(() => {\n const initialSize = getSizeNumber(props.size || defaultSize || minSize);\n setPane1Size(initialSize);\n }, [getSizeNumber, props.size, defaultSize, minSize]);\n\n useEffect(() => {\n if ('size' in props) {\n const size = getSizeNumber(props.size as number | string);\n setPane1Size(size);\n }\n }, [props, getSizeNumber]);\n\n warning(React.Children.count(children) > 2, 'There are more than 2 children inside Split.');\n const childrenList = React.Children.toArray(children).filter((child) => child);\n\n return (\n <SplitContext.Provider value={{ mode }}>\n <div ref={wrapperRef} {...otherProps} className={cls} style={style}>\n <Pane ref={paneRef} size={pane1Size} style={{ flex: '0 0 auto' }}>\n {childrenList[0]}\n </Pane>\n <Resizer\n {...resizerProps}\n size={resizerSize}\n mode={mode}\n onResizerMouseDown={onResizerMouseDown}\n />\n <Pane style={{ flex: '1 1 0%' }}>{childrenList[1]}</Pane>\n </div>\n </SplitContext.Provider>\n );\n};\n\nSplit.displayName = 'Split';\n\nexport default Split;\n","import Split from './split';\n\nexport default Split;\n","import React, { useContext } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { ArrowDown } from '../_utils/components';\nimport { SplitButtonProps } from './types';\nimport ButtonGroup from '../button/button-group';\nimport Button from '../button/button';\nimport Dropdown from '../dropdown';\n\nconst SplitButton = (props: SplitButtonProps): React.ReactElement => {\n const {\n size = 'md',\n btnType = 'default',\n disabled = false,\n loading = false,\n dropdownPlacement = 'bottom-end',\n dropdownTrigger = 'hover',\n onClick,\n overlay,\n className,\n children,\n prefixCls: customisedCls,\n ...otherProps\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('split-button', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className);\n\n return (\n <ButtonGroup {...otherProps} className={cls} btnType={btnType} disabled={disabled} size={size}>\n <Button onClick={onClick} loading={loading}>\n {children}\n </Button>\n <Dropdown overlay={overlay} trigger={dropdownTrigger} placement={dropdownPlacement}>\n <Button\n className={`${prefixCls}__dropdown-btn`}\n btnType={btnType}\n disabled={disabled}\n size={size}>\n <ArrowDown size={10} />\n </Button>\n </Dropdown>\n </ButtonGroup>\n );\n};\n\nSplitButton.displayName = 'SplitButton';\n\nexport default SplitButton;\n","import React, { useContext } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { SizeType } from '../_utils/props';\nimport { SpaceProps } from './types';\n\nconst spaceSize = {\n sm: 8,\n md: 16,\n lg: 24,\n};\n\nconst Space = React.forwardRef<HTMLDivElement, SpaceProps>(\n (props: SpaceProps, ref): JSX.Element => {\n const {\n direction = 'horizontal',\n align = 'center',\n className,\n children,\n prefixCls: customisedCls,\n ...otherProps\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('space', configContext.prefixCls, customisedCls);\n const size = props.size || configContext.space || 'sm';\n const cls = classNames(\n prefixCls,\n className,\n `${prefixCls}_${direction}`,\n `${prefixCls}_${align}`\n );\n\n const getItemStyle = (idx: number): React.CSSProperties => {\n if (React.Children.count(children) - 1 !== idx) {\n return {\n [direction === 'vertical' ? 'marginBottom' : 'marginRight']:\n typeof props.size === 'number' ? size : spaceSize[size as SizeType],\n };\n }\n return {};\n };\n\n return (\n <div {...otherProps} ref={ref} className={cls}>\n {React.Children.map(children, (child, idx) => (\n <div key={idx} className={`${prefixCls}__item`} style={getItemStyle(idx)}>\n {child}\n </div>\n ))}\n </div>\n );\n }\n);\n\nSpace.displayName = 'Space';\n\nexport default Space;\n","import React from 'react';\nimport { StepsStatus } from './types';\nimport { DirectionType } from '../_utils/props';\n\ntype Props = {\n current: number;\n labelPlacement: DirectionType;\n status: StepsStatus;\n clickable: boolean;\n onClick?: (current: number) => void;\n};\n\nexport const StepsContext = React.createContext<Props>({\n current: 0,\n labelPlacement: 'vertical',\n status: 'process',\n clickable: false,\n});\n","import React, { useContext, useEffect, useState } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { StepsContext } from './steps-context';\nimport { StepsItemProps, StepsProps } from './types';\n\nconst Steps = React.forwardRef<HTMLDivElement, StepsProps>(\n (props: StepsProps, ref): React.ReactElement => {\n const {\n defaultCurrent = 0,\n status = 'process',\n direction = 'horizontal',\n labelPlacement = 'vertical',\n onChange,\n className,\n children,\n prefixCls: customisedCls,\n ...otherProps\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('steps', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className, `${prefixCls}_${direction}`);\n const [current, setCurrent] = useState<number>(\n 'current' in props ? (props.current as number) : defaultCurrent\n );\n\n const itemOnClick = (curr: number) => {\n !('current' in props) && setCurrent(curr);\n onChange && onChange(curr);\n };\n\n useEffect(() => {\n 'current' in props && setCurrent(props.current as number);\n }, [props]);\n\n return (\n <StepsContext.Provider\n value={{\n current,\n labelPlacement,\n status,\n clickable: 'onChange' in props,\n onClick: itemOnClick,\n }}>\n <div {...otherProps} ref={ref} className={cls}>\n {React.Children.map(children, (child, idx) => {\n const childElement = child as React.FunctionComponentElement<StepsItemProps>;\n if (childElement.type.displayName === 'StepsItem') {\n const childProps: Partial<StepsItemProps> = {\n stepIndex: idx,\n };\n return React.cloneElement(childElement, childProps);\n } else {\n console.warn('Steps has a child that is not a Step component.');\n return null;\n }\n })}\n </div>\n </StepsContext.Provider>\n );\n }\n);\n\nSteps.displayName = 'Steps';\n\nexport default Steps;\n","import React, { useContext, ReactNode } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { StepsContext } from './steps-context';\nimport { Check, Close } from '../_utils/components';\nimport { StepsItemProps } from './types';\n\nconst StepsItem = React.forwardRef<HTMLDivElement, StepsItemProps>(\n (props: StepsItemProps, ref): React.ReactElement => {\n const {\n stepIndex = 0,\n disabled = false,\n status,\n title,\n description,\n icon,\n onClick,\n className,\n prefixCls: customisedCls,\n ...otherProps\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('steps-item', configContext.prefixCls, customisedCls);\n const stepsContext = useContext(StepsContext);\n const getStatus = () => {\n const { current } = stepsContext;\n if (status === 'error') {\n return 'error';\n } else if (current > stepIndex) {\n return 'finish';\n } else if (current === stepIndex) {\n return stepsContext.status;\n } else {\n return 'wait';\n }\n };\n const stepStatus = 'status' in props ? props.status : getStatus();\n const cls = classNames(\n prefixCls,\n className,\n `${prefixCls}_${stepStatus}`,\n `${prefixCls}_label-${stepsContext.labelPlacement}`,\n {\n [`${prefixCls}_disabled`]: disabled,\n }\n );\n\n const stepItemOnClick = (e: React.MouseEvent<HTMLDivElement>) => {\n if (!disabled && stepsContext.clickable) {\n onClick && onClick(e);\n stepsContext.onClick && stepsContext.onClick(stepIndex);\n }\n };\n\n const renderIcon = (): React.ReactNode => {\n if (icon) {\n return icon;\n }\n\n let iconNode: ReactNode = stepIndex + 1;\n if (stepStatus === 'finish') {\n iconNode = <Check />;\n } else if (stepStatus === 'error') {\n iconNode = <Close />;\n }\n\n return iconNode;\n };\n\n return (\n <div\n {...otherProps}\n role={stepsContext.clickable ? 'button' : undefined}\n ref={ref}\n className={cls}\n onClick={stepItemOnClick}>\n <div className={`${prefixCls}__head`}>\n <div\n className={classNames(`${prefixCls}__icon`, { [`${prefixCls}__icon_has-icon`]: icon })}>\n {renderIcon()}\n </div>\n <div className={`${prefixCls}__tail`} />\n </div>\n <div className={`${prefixCls}__content`}>\n <div className={`${prefixCls}__title`}>{title}</div>\n <div className={`${prefixCls}__desc`}>{description}</div>\n </div>\n </div>\n );\n }\n);\n\nStepsItem.displayName = 'StepsItem';\n\nexport default StepsItem;\n","import Steps from './steps';\nimport StepsItem from './steps-item';\n\ntype ISteps = typeof Steps & {\n Step: typeof StepsItem;\n};\n\nconst DefaultSteps = Steps as ISteps;\nDefaultSteps.Step = StepsItem;\n\nexport default DefaultSteps;\n","import React, { useContext } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { StrengthIndicatorProps } from './types';\n\nconst StrengthIndicator = React.forwardRef<HTMLDivElement, StrengthIndicatorProps>(\n (props: StrengthIndicatorProps, ref): React.ReactElement => {\n const {\n current = 0,\n blocks = 3,\n colors = ['#f44336', '#ff9800', '#52c41a'],\n className,\n prefixCls: customisedCls,\n ...otherProps\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('strength-indicator', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className);\n const displayLabels: React.ReactNode[] = Array.isArray(props.labels)\n ? props.labels\n : ['Weak', 'Medium', 'Strong'];\n\n return (\n <div {...otherProps} className={cls} ref={ref}>\n {Array.from(new Array(blocks)).map((item, idx) => {\n const itemCls = classNames(`${prefixCls}__item`, {\n [`${prefixCls}__item_active`]: idx < current,\n });\n const bgColor = idx < current ? colors[current - 1] : undefined;\n return (\n <div key={idx} className={itemCls}>\n <div className={`${prefixCls}__inner`} style={{ backgroundColor: bgColor }} />\n {'labels' in props && (\n <div className={`${prefixCls}__label`}>{displayLabels[idx]}</div>\n )}\n </div>\n );\n })}\n </div>\n );\n }\n);\n\nStrengthIndicator.displayName = 'StrengthIndicator';\n\nexport default StrengthIndicator;\n","import React, { useState, useEffect, useContext } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { SwitchProps } from './types';\n\nconst Switch = React.forwardRef<HTMLLabelElement, SwitchProps>(\n (props: SwitchProps, ref): JSX.Element => {\n const {\n size = 'md',\n defaultChecked = true,\n disabled,\n loading,\n onChange,\n checkedText,\n uncheckedText,\n className,\n onClick,\n prefixCls: customisedCls,\n ...otherProps\n } = props;\n const [checked, setChecked] = useState<boolean>(\n 'checked' in props ? (props.checked as boolean) : defaultChecked\n );\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('switch', configContext.prefixCls, customisedCls);\n const switchSize = props.size || configContext.componentSize || size;\n const cls = classNames(prefixCls, className, `${prefixCls}_${switchSize}`, {\n [`${prefixCls}_checked`]: checked,\n [`${prefixCls}_loading`]: loading,\n [`${prefixCls}_disabled`]: loading || disabled,\n });\n\n const labelOnClick = (e: React.MouseEvent<HTMLLabelElement>): void => {\n const val = !checked;\n onClick && onClick(val, e);\n if (!(disabled || loading)) {\n onChange && onChange(val, e);\n !('checked' in props) && setChecked(val);\n }\n };\n\n useEffect(() => {\n 'checked' in props && setChecked(props.checked as boolean);\n }, [props]);\n\n return (\n <label {...otherProps} ref={ref} className={cls} onClick={labelOnClick}>\n <span className={`${prefixCls}__bg`}>\n <span className={`${prefixCls}__thumb`} />\n <span className={`${prefixCls}__label`}>{checked ? checkedText : uncheckedText}</span>\n </span>\n </label>\n );\n }\n);\n\nSwitch.displayName = 'Switch';\n\nexport default Switch;\n","import React, { useContext, useRef, useState, ReactNode, CSSProperties } from 'react';\nimport classNames from 'classnames';\nimport { BaseProps, DirectionType, SizeType } from '../_utils/props';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { TabPanelProps } from './tab-panel';\nimport { ArrowDown } from '../_utils/components';\n\nexport type TabType = 'line' | 'card' | 'noborder-card';\n\nexport interface TabsProps\n extends BaseProps,\n Omit<React.PropsWithRef<JSX.IntrinsicElements['div']>, 'onChange'> {\n activeKey?: number;\n defaultActiveKey?: number;\n type?: TabType;\n animated?: boolean;\n direction?: DirectionType;\n size?: SizeType;\n onChange?: (activeKey?: string) => void;\n onTabClose?: (activeKey?: string) => void;\n onPrevClick?: (e?: MouseEvent) => void;\n onNextClick?: (e?: MouseEvent) => void;\n}\n\nconst Tabs = React.forwardRef<HTMLDivElement, TabsProps>(\n (props: TabsProps, ref): JSX.Element => {\n const {\n type = 'line',\n direction = 'horizontal',\n size = 'md',\n animated = true,\n activeKey,\n defaultActiveKey,\n onChange,\n className,\n children,\n prefixCls: customisedCls,\n ...otherProps\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('tabs', configContext.prefixCls, customisedCls);\n const [lineWidth] = useState(0);\n const [lineHeight] = useState(0);\n const [scrollOffset] = useState(0);\n const [headerWidth] = useState(0);\n const [headerHeight] = useState(0);\n const [scrollWidth] = useState(0);\n const [scrollHeight] = useState(0);\n const [isArrowShown] = useState(false);\n const tabHeaderWrapRef = useRef<HTMLDivElement | null>(null);\n const tabHeaderNavRef = useRef<HTMLDivElement | null>(null);\n const activeTab = useRef<HTMLElement | null>(null);\n const headerDimension = direction === 'horizontal' ? headerWidth : headerHeight;\n const scrollDimension = direction === 'horizontal' ? scrollWidth : scrollHeight;\n const arrowL = direction === 'horizontal' ? 'left' : 'top';\n const arrowR = direction === 'horizontal' ? 'right' : 'bottom';\n const isArrowLDisabled = scrollOffset === 0;\n const isArrowRDisabled =\n Math.floor(Math.abs(scrollOffset + headerDimension - scrollDimension)) === 0;\n const cls = classNames(\n prefixCls,\n className,\n `${prefixCls}_${size}`,\n `${prefixCls}_${direction}`,\n { [`${prefixCls}_${type}`]: direction === 'horizontal' && type }\n );\n const headerNavStyle =\n direction === 'horizontal'\n ? { transform: `translate3d(${-scrollOffset}px, 0, 0)` }\n : { transform: `translate3d(0, ${-scrollOffset}px, 0)` };\n const headerCls = classNames(`${prefixCls}__header`, {\n [`${prefixCls}__header_arrow-mode`]: isArrowShown,\n });\n const bodyCls = classNames(`${prefixCls}__body`, {\n [`${prefixCls}__body_animated`]: animated,\n });\n const arrowLCls = classNames(`${prefixCls}__header__arrow`, {\n [`${prefixCls}__header__arrow--${arrowL}`]: arrowL,\n [`${prefixCls}__header__arrow--disabled`]: isArrowLDisabled,\n });\n\n const arrowRCls = classNames(`${prefixCls}__header__arrow`, {\n [`${prefixCls}__header__arrow--${arrowR}`]: arrowR,\n [`${prefixCls}__header__arrow--disabled`]: isArrowRDisabled,\n });\n\n const getSelectIndex = (): number => {\n let selectIndex = 0;\n React.Children.forEach(children, (child, idx) => {\n const element = child as React.FunctionComponentElement<TabPanelProps>;\n if (element.props && element.props.selected) {\n selectIndex = idx;\n }\n });\n return selectIndex;\n };\n const [value] = useState<number>(activeKey || defaultActiveKey || getSelectIndex());\n const animateStyle: CSSProperties =\n direction === 'horizontal' ? { marginLeft: `-${value * 100}%` } : {};\n\n const scrollLeftOrTop = (e: React.MouseEvent) => {};\n\n const scrollRightOrBottom = (e: React.MouseEvent) => {};\n\n // const getHeaderStyle = () => {\n // const { width: headerWidth = 0, height: headerHeight = 0 } =\n // (this.tabHeaderWrap &&\n // this.tabHeaderWrap.current &&\n // this.tabHeaderWrap.current.getBoundingClientRect()) ||\n // {};\n // const { width: scrollWidth = 0, height: scrollHeight = 0 } =\n // (this.tabHeaderNav &&\n // this.tabHeaderNav.current &&\n // this.tabHeaderNav.current.getBoundingClientRect()) ||\n // {};\n // return {\n // headerWidth,\n // headerHeight,\n // scrollWidth,\n // scrollHeight,\n // };\n // };\n\n const renderHeaderLine = (): ReactNode => {\n const { offsetLeft = 0, offsetTop = 0 } = activeTab.current || {};\n const headerLineStyle =\n direction === 'horizontal'\n ? { width: lineWidth, height: 0, transform: `translate3d(${offsetLeft}px,0,0)` }\n : { width: 0, height: lineHeight, transform: `translate3d(0,${offsetTop}px,0)` };\n return <div className={`${prefixCls}__header-line`} style={headerLineStyle} />;\n };\n\n const renderHeaderItem = (): ReactNode => {\n return React.Children.map(children, (child) => {\n const childElement = child as React.FunctionComponentElement<TabPanelProps>;\n if (childElement.type.displayName === 'TabPanel') {\n return <div className={`${prefixCls}__header-nav-item`}>{childElement.props.tab}</div>;\n } else {\n return null;\n }\n });\n };\n return (\n <div {...otherProps} ref={ref} className={cls}>\n <div className={headerCls}>\n <div className={`${prefixCls}__header-scroll`} ref={tabHeaderWrapRef}>\n <div\n className={`${prefixCls}__header-nav`}\n ref={tabHeaderNavRef}\n style={isArrowShown ? headerNavStyle : {}}>\n {renderHeaderItem()}\n {type === 'line' && renderHeaderLine()}\n </div>\n </div>\n {isArrowShown && (\n <>\n <span className={arrowLCls} onClick={(e) => !isArrowLDisabled && scrollLeftOrTop(e)}>\n <ArrowDown />\n </span>\n <span\n className={arrowRCls}\n onClick={(e) => !isArrowRDisabled && scrollRightOrBottom(e)}>\n <ArrowDown />\n </span>\n </>\n )}\n </div>\n <div className={bodyCls} style={animateStyle}>\n {React.Children.map(children, (child, idx) => {\n const childElement = child as React.FunctionComponentElement<TabPanelProps>;\n if (childElement.type.displayName === 'TabPanel') {\n const childProps = {\n ...childElement.props,\n selected: value === idx,\n };\n return React.cloneElement(childElement, childProps);\n } else {\n console.warn('Tabs has a child that is not a TabPanel component.');\n return null;\n }\n })}\n </div>\n </div>\n );\n }\n);\n\nTabs.displayName = 'Tabs';\n\nexport default Tabs;\n","import React, { useContext } from 'react';\nimport classNames from 'classnames';\nimport { BaseProps } from '../_utils/props';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\n\nexport interface TabPanelProps extends BaseProps, React.PropsWithRef<JSX.IntrinsicElements['div']> {\n selected?: boolean;\n disabled?: boolean;\n closable?: boolean;\n tab?: React.ReactNode;\n}\n\nconst TabPanel = React.forwardRef<HTMLDivElement, TabPanelProps>(\n (props: TabPanelProps, ref): React.ReactElement => {\n const { className, selected, children, prefixCls: customisedCls, ...otherProps } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('tabs-panel-item', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className, {\n [`${prefixCls}_active`]: selected,\n });\n\n return (\n <div ref={ref} className={cls} {...otherProps}>\n {children}\n </div>\n );\n }\n);\n\nTabPanel.displayName = 'TabPanel';\n\nexport default TabPanel;\n","import Tabs, { TabsProps } from './tabs';\nimport TabPanel, { TabPanelProps } from './tab-panel';\n\nexport { TabsProps, TabPanelProps };\n\ntype ITabs = typeof Tabs & {\n Panel: typeof TabPanel;\n};\n\nconst DefaultTabs = Tabs as ITabs;\n\nDefaultTabs.Panel = TabPanel;\nexport default DefaultTabs;\n","import React from 'react';\nimport { BaseProps } from '../_utils/props';\n\nexport interface CheckableTagProps extends BaseProps {\n defaultChecked?: boolean;\n checked?: boolean;\n onChange?: (checked: boolean, e: React.MouseEvent) => void;\n children?: React.ReactNode;\n}\n\nexport const PresetColors = [\n 'magenta',\n 'red',\n 'volcano',\n 'orange',\n 'gold',\n 'lime',\n 'green',\n 'cyan',\n 'blue',\n 'geekblue',\n 'purple',\n];\n\nexport interface TagProps extends BaseProps, React.PropsWithoutRef<JSX.IntrinsicElements['div']> {\n color?: string;\n closable?: boolean;\n onClose?: React.MouseEventHandler;\n onClick?: React.MouseEventHandler;\n defaultVisible?: boolean;\n visible?: boolean;\n children?: React.ReactNode;\n}\n","import React, { useState, useEffect, MouseEvent, useContext } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { PresetColors, TagProps } from './types';\n\nconst Tag = (props: TagProps): JSX.Element => {\n const {\n closable = false,\n defaultVisible = true,\n prefixCls: customisedCls,\n color,\n onClose,\n onClick,\n className,\n style,\n children,\n ...otherProps\n } = props;\n const [visible, setVisible] = useState<boolean>(\n 'visible' in props ? (props.visible as boolean) : defaultVisible\n );\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('tag', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className, {\n [`${prefixCls}_${color}`]: color && PresetColors.includes(color),\n [`${prefixCls}_visible`]: visible,\n [`${prefixCls}_closeable`]: closable,\n });\n\n /**\n * Callback when the close button is clicked.\n * @param e\n */\n const closeBtnOnClick = (e: MouseEvent<HTMLSpanElement>): void => {\n onClose && onClose(e);\n if (e.defaultPrevented) {\n return;\n }\n !('visible' in props) && setVisible(false);\n };\n\n const tagStyle: React.CSSProperties = {\n backgroundColor: color ? (PresetColors.includes(color) ? undefined : color) : undefined,\n borderColor: color ? (PresetColors.includes(color) ? undefined : color) : undefined,\n color: color ? (PresetColors.includes(color) ? undefined : '#fff') : undefined,\n ...style,\n };\n\n useEffect(() => {\n 'visible' in props && setVisible(props.visible as boolean);\n }, [props]);\n\n return (\n <div {...otherProps} className={cls} style={tagStyle} onClick={onClick}>\n {children}\n {closable && (\n <span className={`${prefixCls}__close-btn`} onClick={closeBtnOnClick}>\n ✕\n </span>\n )}\n </div>\n );\n};\n\nTag.displayName = 'Tag';\n\nexport default Tag;\n","import React, { useState, useEffect, useContext } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { CheckableTagProps } from './types';\nimport Tag from './index';\n\nconst CheckableTag = (props: CheckableTagProps): JSX.Element => {\n const {\n defaultChecked = true,\n prefixCls: customisedCls,\n onChange,\n className,\n style,\n children,\n } = props;\n const [checked, setChecked] = useState<boolean>(\n 'checked' in props ? (props.checked as boolean) : defaultChecked\n );\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('checkable-tag', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className, {\n [`${prefixCls}_checked`]: checked,\n });\n\n /**\n * Callback when the tag itself is clicked.\n */\n const itemOnClick = (e: React.MouseEvent): void => {\n const state = !checked;\n !('checked' in props) && setChecked(state);\n onChange && onChange(state, e);\n };\n\n useEffect(() => {\n 'checked' in props && setChecked(props.checked as boolean);\n }, [props]);\n\n return (\n <Tag className={cls} style={style} onClick={itemOnClick}>\n {children}\n </Tag>\n );\n};\n\nCheckableTag.displayName = 'CheckableTag';\n\nexport default CheckableTag;\n","import Tag from './tag';\nimport CheckableTag from './checkable-tag';\n\ntype ITag = typeof Tag & {\n CheckableTag: typeof CheckableTag;\n};\n\nconst DefaultTag = Tag as ITag;\nDefaultTag.CheckableTag = CheckableTag;\n\nexport default DefaultTag;\n","import React, { useContext, useState } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { TextareaProps } from './types';\n\nconst Textarea = (props: TextareaProps): JSX.Element => {\n const {\n disabled = false,\n prefixCls: customisedCls,\n limit,\n counter,\n defaultValue,\n value,\n rows,\n onChange,\n className,\n style,\n ...otherProps\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('textarea', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className, {\n [`${prefixCls}_disabled`]: disabled,\n });\n const [count, setCount] = useState(0);\n\n const textareaOnChange = (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n setCount(e.currentTarget.value.length);\n onChange && onChange(e.currentTarget.value, e);\n };\n\n if (limit || counter) {\n return (\n <span className={`${prefixCls}-container`}>\n <textarea\n {...otherProps}\n maxLength={limit}\n rows={rows}\n value={value}\n defaultValue={defaultValue}\n disabled={disabled}\n className={cls}\n style={style}\n onChange={textareaOnChange}\n />\n <span className={`${prefixCls}__counter`}>\n {counter && typeof counter === 'function' ? counter(count) : `${count}/${limit}`}\n </span>\n </span>\n );\n } else {\n return (\n <textarea\n {...props}\n rows={rows}\n value={value}\n defaultValue={defaultValue}\n disabled={disabled}\n className={cls}\n style={style}\n onChange={textareaOnChange}\n />\n );\n }\n};\n\nTextarea.displayName = 'Textarea';\n\nexport default Textarea;\n","import React, { useContext } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { TimelineItemProps, TimelineProps } from './types';\n\nconst Timeline = (props: TimelineProps): React.ReactElement => {\n const { position = 'left', prefixCls: customisedCls, className, children, ...otherProps } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('timeline', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className, {\n [`${prefixCls}_${position}`]: position,\n });\n\n return (\n <ul {...otherProps} className={cls}>\n {React.Children.map(children, (child, idx) => {\n const childElement = child as React.FunctionComponentElement<TimelineItemProps>;\n if (childElement.type.displayName === 'TimelineItem') {\n const childProps: Partial<TimelineItemProps> = {\n className:\n position === 'center'\n ? idx % 2 === 0\n ? `${prefixCls}-item_left`\n : `${prefixCls}-item_right`\n : childElement.props.className,\n };\n return React.cloneElement(childElement, childProps);\n } else {\n return null;\n }\n })}\n </ul>\n );\n};\n\nTimeline.displayName = 'Timeline';\n\nexport default Timeline;\n","import React, { useContext } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { TimelineItemProps } from './types';\n\nconst TimelineItem = (props: TimelineItemProps): React.ReactElement => {\n const { dot, dotStyle, className, children, prefixCls: customisedCls, ...otherProps } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('timeline-item', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className);\n\n return (\n <li {...otherProps} className={cls}>\n <div className={`${prefixCls}__head`}>\n <div className={`${prefixCls}__dot-container`}>\n {dot || <span className={`${prefixCls}__dot`} style={dotStyle} />}\n </div>\n </div>\n <div className={`${prefixCls}__content`}>{children}</div>\n </li>\n );\n};\n\nTimelineItem.displayName = 'TimelineItem';\n\nexport default TimelineItem;\n","import Timeline from './timeline';\nimport TimelineItem from './timeline-item';\n\ntype ITimeline = typeof Timeline & {\n Item: typeof TimelineItem;\n};\n\nconst DefaultTimeline = Timeline as ITimeline;\nDefaultTimeline.Item = TimelineItem;\n\nexport default DefaultTimeline;\n","import React, { ChangeEvent, ReactNode, useContext, useState } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { BaseProps } from '../_utils/props';\nimport { TransferItem } from './types';\nimport Checkbox from '../checkbox/checkbox';\nimport CheckboxGroup from '../checkbox/checkbox-group';\nimport Empty from '../empty';\nimport Input from '../input/input';\n\nexport interface TransferPanelProps\n extends BaseProps,\n Omit<React.PropsWithRef<JSX.IntrinsicElements['div']>, 'title' | 'onChange'> {\n dataSource: TransferItem[];\n checkedKeys: string[];\n onChange: (checkedKeys: string[]) => void;\n disabled: boolean;\n title?: ReactNode;\n footer?: ReactNode;\n placeholder?: string;\n showSearch?: boolean;\n renderItem?: (item: TransferItem) => ReactNode;\n filterOption?: (input: string, item: TransferItem) => boolean;\n}\n\nconst TransferPanel = React.forwardRef<HTMLDivElement, TransferPanelProps>(\n (props: TransferPanelProps, ref): React.ReactElement => {\n const {\n dataSource,\n checkedKeys,\n title,\n placeholder,\n footer,\n showSearch,\n className,\n onChange,\n renderItem,\n filterOption,\n disabled: allDisabled,\n prefixCls: customisedCls,\n ...otherProps\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('transfer-panel', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className);\n const [query, setQuery] = useState('');\n\n const getFilteredData = (): TransferItem[] => {\n return dataSource.filter((item) => {\n if (typeof filterOption === 'function') {\n return filterOption(query, item);\n } else if (query.trim().length > 0) {\n const label = item.label;\n return label.toLowerCase().includes(query.toLowerCase());\n } else {\n return true;\n }\n });\n };\n\n const filteredData = getFilteredData();\n const checkableData = filteredData.filter((item) => !item.disabled);\n const isAllChecked = checkableData.length > 0 && checkedKeys.length === checkableData.length;\n const isIndeterminate = checkedKeys.length > 0 && checkedKeys.length < checkableData.length;\n\n /**\n * Footer checkbox onChange event\n */\n const handleAllCheckedChange = (e: ChangeEvent<HTMLInputElement>) => {\n const isChecked = e.currentTarget.checked;\n const checkedKeys = isChecked ? checkableData.map((item) => item.key) : [];\n onChange(checkedKeys);\n };\n\n const checkedSummary = (): string => {\n if (isIndeterminate || isAllChecked) {\n return `${checkedKeys.length} / ${filteredData.length} checked`;\n }\n return `${filteredData.length} items`;\n };\n\n return (\n <div {...otherProps} className={cls} ref={ref}>\n {title && <div className={`${prefixCls}__header`}>{title}</div>}\n <div className={`${prefixCls}__body`}>\n {showSearch && (\n <div className={`${prefixCls}__input-container`}>\n <Input\n clearable\n size=\"sm\"\n placeholder={placeholder}\n value={query}\n onChange={(e) => {\n setQuery(e.currentTarget.value);\n }}\n onClearClick={() => setQuery('')}\n />\n </div>\n )}\n <div className={`${prefixCls}__list-container`}>\n {filteredData.length > 0 ? (\n <CheckboxGroup\n value={checkedKeys}\n onChange={(values) => onChange(values)}\n className={`${prefixCls}__list`}>\n {filteredData.map((item) => {\n const { key, label, disabled } = item;\n return (\n <Checkbox\n key={key}\n value={key}\n disabled={allDisabled || disabled}\n className={`${prefixCls}__list-item`}>\n {renderItem ? renderItem(item) : label}\n </Checkbox>\n );\n })}\n </CheckboxGroup>\n ) : (\n <Empty className={`${prefixCls}__not-found`} />\n )}\n </div>\n </div>\n <div className={`${prefixCls}__footer`}>\n <Checkbox\n disabled={allDisabled}\n checked={isAllChecked}\n onChange={handleAllCheckedChange}\n indeterminate={isIndeterminate}>\n {checkedSummary()}\n </Checkbox>\n {footer}\n </div>\n </div>\n );\n }\n);\n\nTransferPanel.displayName = 'TransferPanel';\n\nexport default TransferPanel;\n","import React, { useCallback, useContext, useEffect, useState } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { ArrowDown } from '../_utils/components';\nimport { TransferProps, TransferItem } from './types';\nimport TransferPanel from './transfer-panel';\nimport Button from '../button/button';\n\nconst Transfer = React.forwardRef<HTMLDivElement, TransferProps>(\n (props: TransferProps, ref): React.ReactElement => {\n const {\n dataSource = [],\n defaultValue = [],\n buttonTexts = [],\n placeholder = 'search',\n showSearch = false,\n disabled = false,\n value,\n titles,\n placeholders,\n className,\n onChange,\n renderItem,\n filterOption,\n prefixCls: customisedCls,\n ...otherProps\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('transfer', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className);\n\n const getDataKeys = useCallback((): [TransferItem[], TransferItem[]] => {\n const rightKeys: string[] = 'value' in props ? (value as string[]) : defaultValue;\n const rightData: TransferItem[] = dataSource.filter((item) => rightKeys.includes(item.key));\n const leftData: TransferItem[] = dataSource.filter((item) => !rightKeys.includes(item.key));\n return [leftData, rightData];\n }, [props, value, dataSource, defaultValue]);\n\n const [leftData, rightData] = getDataKeys();\n const [sourceData, setSourceData] = useState<TransferItem[]>(leftData);\n const [targetData, setTargetData] = useState<TransferItem[]>(rightData);\n const [leftCheckedKeys, setLeftCheckedKeys] = useState<string[]>([]);\n const [rightCheckedKeys, setRightCheckedKeys] = useState<string[]>([]);\n\n const addToLeft = () => {\n const leftKeys = sourceData.map((item) => item.key);\n const currKeys = leftKeys.slice();\n rightCheckedKeys.forEach((key) => {\n if (!leftKeys.includes(key)) {\n currKeys.push(key);\n }\n });\n\n const targetData = dataSource.filter((item) => !currKeys.includes(item.key));\n if (!('value' in props)) {\n setRightCheckedKeys([]);\n setSourceData([...dataSource.filter((item) => currKeys.includes(item.key))]);\n setTargetData([...targetData]);\n }\n const targetKey = targetData.map((item) => item.key);\n onChange && onChange(targetKey, 'left', rightCheckedKeys);\n };\n\n const addToRight = () => {\n const rightKeys = targetData.map((item) => item.key);\n const currKeys = rightKeys.slice();\n leftCheckedKeys.forEach((key) => {\n if (!rightKeys.includes(key)) {\n currKeys.push(key);\n }\n });\n\n if (!('value' in props)) {\n setLeftCheckedKeys([]);\n setSourceData([...dataSource.filter((item) => !currKeys.includes(item.key))]);\n setTargetData([...dataSource.filter((item) => currKeys.includes(item.key))]);\n }\n onChange && onChange(currKeys, 'right', leftCheckedKeys);\n };\n\n useEffect(() => {\n if ('value' in props) {\n const rightKeys = props.value as string[];\n const rightData: TransferItem[] = dataSource.filter((item) => rightKeys.includes(item.key));\n const leftData: TransferItem[] = dataSource.filter((item) => !rightKeys.includes(item.key));\n setSourceData(leftData);\n setTargetData(rightData);\n setLeftCheckedKeys([]);\n setRightCheckedKeys([]);\n }\n }, [props, dataSource]);\n\n return (\n <div {...otherProps} className={cls} ref={ref}>\n <TransferPanel\n title={titles && titles[0]}\n placeholder={(placeholders && placeholders[0]) || placeholder}\n showSearch={showSearch}\n dataSource={sourceData}\n checkedKeys={leftCheckedKeys}\n disabled={disabled}\n onChange={(keys: string[]) => setLeftCheckedKeys(keys)}\n renderItem={renderItem}\n filterOption={filterOption}\n />\n <div className={`${prefixCls}__buttons`}>\n <Button\n btnType=\"primary\"\n size=\"sm\"\n onClick={addToRight}\n disabled={leftCheckedKeys.length === 0}>\n <ArrowDown size={12} className={`${prefixCls}__left-arrow`} />\n {buttonTexts && buttonTexts[0] !== undefined && <span>{buttonTexts[0]}</span>}\n </Button>\n <Button\n btnType=\"primary\"\n size=\"sm\"\n onClick={addToLeft}\n disabled={rightCheckedKeys.length === 0}>\n {buttonTexts && buttonTexts[1] !== undefined && <span>{buttonTexts[1]}</span>}\n <ArrowDown size={12} className={`${prefixCls}__right-arrow`} />\n </Button>\n </div>\n <TransferPanel\n title={titles && titles[1]}\n placeholder={(placeholders && placeholders[1]) || placeholder}\n showSearch={showSearch}\n dataSource={targetData}\n checkedKeys={rightCheckedKeys}\n disabled={disabled}\n onChange={(keys: string[]) => setRightCheckedKeys(keys)}\n renderItem={renderItem}\n filterOption={filterOption}\n />\n </div>\n );\n }\n);\n\nTransfer.displayName = 'Transfer';\n\nexport default Transfer;\n","import Transfer from './transfer';\n\nexport default Transfer;\n","import React from 'react';\nimport { TreeData } from './types';\n\nexport type Node = {\n // data source key provided by user\n key?: string;\n // unique key managed by TreeInstance. x-x-x\n uniqueKey: string;\n title: React.ReactNode;\n checked: boolean;\n indeterminate: boolean;\n expanded: boolean;\n disabled: boolean;\n disableCheckbox: boolean;\n parentKey: string;\n icon?: (isExpanded: boolean) => React.ReactNode;\n children?: Node[];\n};\n\nexport class TreeInstance {\n private readonly treeNodes: Node[];\n\n constructor(\n data: TreeData[],\n defaultCheckedKeys: string[],\n defaultExpandedKeys: string[],\n defaultExpandAll: boolean\n ) {\n this.treeNodes = this.handleTreeNode(\n data,\n defaultCheckedKeys,\n defaultExpandedKeys,\n defaultExpandAll,\n ''\n );\n }\n\n private handleTreeNode(\n data: TreeData[],\n defaultCheckedKeys: string[],\n defaultExpandedKeys: string[],\n defaultExpandAll: boolean,\n parentKey: string\n ): Node[] {\n return data.map((item, idx) => {\n const { key, title, children, disableCheckbox, disabled, ...otherProps } = item;\n const uniqueKey = parentKey ? parentKey + `-${idx}` : `${idx}`;\n const node: Node = {\n ...otherProps,\n key,\n uniqueKey,\n title: title || '---',\n disabled: disabled || false,\n disableCheckbox: disableCheckbox || false,\n checked: key ? defaultCheckedKeys.includes(key) : false,\n indeterminate: false,\n expanded: defaultExpandAll || (key ? defaultExpandedKeys.includes(key) : false),\n parentKey,\n };\n\n if (children) {\n node.children = this.handleTreeNode(\n children,\n defaultCheckedKeys,\n defaultExpandedKeys,\n defaultExpandAll,\n uniqueKey\n );\n const indeterminate = this.isIndeterminate(node);\n return {\n ...node,\n indeterminate,\n };\n }\n return node;\n });\n }\n\n get nodes(): Node[] {\n return this.treeNodes;\n }\n\n getNodeByUniqueKey(uniqueKey: string): Node | undefined {\n const keys = uniqueKey.split('-').map((item) => parseInt(item));\n\n let curr: Node[] | undefined = this.treeNodes;\n let target: Node | undefined = undefined;\n for (const key of keys) {\n if (curr) {\n target = curr[key];\n curr = target?.children;\n }\n }\n\n return target;\n }\n\n isIndeterminate(node: Node): boolean {\n if (node.children) {\n if (node.children.some((n) => n.indeterminate)) {\n return true;\n }\n const numOfChecked = node.children.filter((n) => n.checked).length;\n return numOfChecked > 0 && numOfChecked < node.children.length;\n }\n return false;\n }\n\n checkChildren(children: Node[], isChecked: boolean): void {\n children.forEach((child) => {\n if (child.disabled) {\n return;\n }\n\n child.checked = isChecked;\n child.indeterminate = this.isIndeterminate(child);\n if (child.children) {\n this.checkChildren(child.children, isChecked);\n }\n });\n }\n\n checkParent(node: Node): void {\n if (node.disabled) {\n return;\n }\n\n const children = node.children as Node[];\n const numOfChecked = children.filter((n) => n.checked).length;\n node.checked = numOfChecked === children.length;\n node.indeterminate = this.isIndeterminate(node);\n const parentNode = this.getNodeByUniqueKey(node.parentKey);\n if (parentNode) {\n this.checkParent(parentNode);\n }\n }\n\n setNodeChecked(uniqueKey: string, isChecked: boolean): void {\n const node = this.getNodeByUniqueKey(uniqueKey);\n if (node) {\n node.checked = isChecked;\n // update children node\n // if children are existing, make them all checked\n if (node.children) {\n this.checkChildren(node.children, isChecked);\n }\n node.indeterminate = this.isIndeterminate(node);\n // check parent node\n // if siblings of current node are all checked, set the parent node checked\n const parentNode = this.getNodeByUniqueKey(node.parentKey);\n if (parentNode) {\n this.checkParent(parentNode);\n }\n }\n }\n\n setNodeExpanded(uniqueKey: string, isExpanded: boolean): void {\n const node = this.getNodeByUniqueKey(uniqueKey);\n if (node) {\n node.expanded = isExpanded;\n }\n }\n\n /**\n * Check whether the value of a specific prop is true\n */\n private isPropValueTrue(node: Node, prop: string, list: string[]): void {\n const { key, uniqueKey, children } = node;\n if ((node as any)[prop]) {\n list.push(key ? key : uniqueKey);\n }\n if (children) {\n children.forEach((child) => {\n this.isPropValueTrue(child, prop, list);\n });\n }\n }\n\n getCheckedKeys(): string[] {\n const keys: string[] = [];\n this.nodes.forEach((node) => this.isPropValueTrue(node, 'checked', keys));\n return keys;\n }\n\n getExpandedKeys(): string[] {\n const keys: string[] = [];\n this.nodes.forEach((node) => this.isPropValueTrue(node, 'expanded', keys));\n return keys;\n }\n}\n","import React, { useContext } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { BaseProps } from '../_utils/props';\nimport { TreeArrow } from '../_utils/components';\nimport CollapseTransition from '../collapse-transition';\nimport Checkbox from '../checkbox/checkbox';\nimport { Node } from './tree-instance';\n\ninterface TreeNodeProps extends BaseProps {\n node: Node;\n level: number;\n treeClassName: string;\n onCheckboxChange: (uniqueKey: string, e: React.ChangeEvent<HTMLInputElement>) => void;\n onExpandChange: (key: string, isExpanded: boolean, e: React.MouseEvent) => void;\n // tree props\n indent: number;\n blockNode: boolean;\n checkable: boolean;\n disabled: boolean;\n icon?: (isExpanded: boolean) => React.ReactNode;\n}\n\nconst TreeNode = (props: TreeNodeProps): JSX.Element => {\n const {\n indent,\n blockNode,\n level,\n node,\n checkable,\n className,\n treeClassName,\n onCheckboxChange,\n onExpandChange,\n prefixCls: customisedCls,\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('tree-node', configContext.prefixCls, customisedCls);\n const { title, checked, icon, expanded, disableCheckbox, indeterminate } = node;\n const nodeIcon = icon || props.icon;\n const disabled = node.disabled || props.disabled;\n const cls = classNames(prefixCls, className, {\n [`${prefixCls}_block`]: blockNode,\n [`${prefixCls}_disabled`]: disabled,\n });\n\n const switcherOnClick = (e: React.MouseEvent<HTMLSpanElement>) => {\n e.stopPropagation();\n onExpandChange(node.uniqueKey, !expanded, e);\n };\n\n const checkboxOnChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n e.stopPropagation();\n onCheckboxChange(node.uniqueKey, e);\n };\n\n return (\n <li className={cls}>\n <div className={`${prefixCls}__title`} style={{ paddingLeft: indent * level }}>\n <span className={`${prefixCls}__switcher`} onClick={switcherOnClick}>\n {node.children &&\n (nodeIcon ? (\n nodeIcon(expanded)\n ) : (\n <TreeArrow\n className={classNames(`${prefixCls}__arrow`, {\n [`${prefixCls}__arrow_active`]: expanded,\n })}\n />\n ))}\n </span>\n {checkable && (\n <Checkbox\n checked={checked}\n indeterminate={indeterminate}\n onChange={checkboxOnChange}\n disabled={disabled || disableCheckbox}\n />\n )}\n <span className={`${prefixCls}__label`} onClick={switcherOnClick}>\n {title}\n </span>\n </div>\n {node.children && (\n <CollapseTransition isShow={expanded}>\n <ul className={treeClassName} aria-level={level + 1}>\n {node.children &&\n node.children.map((node) => (\n <TreeNode {...props} key={node.uniqueKey} node={node} level={level + 1} />\n ))}\n </ul>\n </CollapseTransition>\n )}\n </li>\n );\n};\n\nTreeNode.displayName = 'TreeNode';\n\nexport default TreeNode;\n","import React, { useContext, useRef, useState } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { TreeProps } from './types';\nimport { TreeInstance } from './tree-instance';\nimport TreeNode from './tree-node';\n\nconst Tree = React.forwardRef<HTMLUListElement, TreeProps>(\n (props: TreeProps, ref): JSX.Element => {\n const {\n data = [],\n defaultCheckedKeys = [],\n defaultExpandedKeys = [],\n defaultExpandAll = false,\n indent = 20,\n blockNode = true,\n checkable = false,\n disabled = false,\n onCheck,\n onExpand,\n className,\n prefixCls: customisedCls,\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('tree', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className);\n const treeInstance = useRef(\n new TreeInstance(data, defaultCheckedKeys, defaultExpandedKeys, defaultExpandAll)\n );\n const [treeNodes, setTreeNodes] = useState(treeInstance.current.nodes);\n\n const onCheckboxChange = (key: string, e: React.ChangeEvent<HTMLInputElement>) => {\n const tree = treeInstance.current;\n tree.setNodeChecked(key, e.currentTarget.checked);\n setTreeNodes([...treeInstance.current.nodes]);\n onCheck && onCheck(tree.getCheckedKeys(), e);\n };\n\n const onExpandChange = (key: string, isExpanded: boolean, e: React.MouseEvent) => {\n const tree = treeInstance.current;\n tree.setNodeExpanded(key, isExpanded);\n setTreeNodes([...treeInstance.current.nodes]);\n onExpand && onExpand(tree.getExpandedKeys(), e);\n };\n\n return (\n <ul className={cls} ref={ref} aria-level={0}>\n {treeNodes.map((item) => (\n <TreeNode\n {...props}\n key={item.uniqueKey}\n node={item}\n level={0}\n indent={indent}\n blockNode={blockNode}\n checkable={checkable}\n disabled={disabled}\n treeClassName={cls}\n onCheckboxChange={onCheckboxChange}\n onExpandChange={onExpandChange}\n />\n ))}\n </ul>\n );\n }\n);\n\nTree.displayName = 'Tree';\n\nexport default Tree;\n","import Tree from './tree';\n\nexport default Tree;\n","import React, { useContext } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { HeadingProps } from './types';\n\nconst headingGenerator = (htmlType: string, displayName: string) => {\n const Component = React.forwardRef<HTMLHeadingElement, HeadingProps>(\n (props: HeadingProps, ref): JSX.Element => {\n const { prefixCls: customisedCls, className, children, ...otherProps } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('typography', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className);\n\n return React.createElement(\n htmlType,\n {\n ...otherProps,\n ref,\n className: cls,\n },\n children\n );\n }\n );\n\n Component.displayName = displayName;\n\n return Component;\n};\n\nconst Heading = (props: HeadingProps): JSX.Element | null => {\n const { level = 1, ...otherProps } = props;\n if (level < 1 || level > 6) {\n console.warn('The heading level parameter is invalid.');\n return null;\n }\n const Component = headingGenerator(`h${level}`, `H${level}`);\n return <Component {...otherProps} />;\n};\n\nexport default Heading;\n","import React, { useContext } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { TypographyProps } from './types';\n\nconst Typography = React.forwardRef<HTMLParagraphElement, TypographyProps>(\n (props: TypographyProps, ref): JSX.Element => {\n const { className, children, prefixCls: customisedCls, ...otherProps } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('typography', configContext.prefixCls, customisedCls);\n const cls = classNames(className, prefixCls);\n return (\n <div ref={ref} className={cls} {...otherProps}>\n {children}\n </div>\n );\n }\n);\n\nTypography.displayName = 'Typography';\n\nexport default Typography;\n","import React, { useContext } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { ParagraphProps } from './types';\n\nconst Paragraph = React.forwardRef<HTMLParagraphElement, ParagraphProps>(\n (props: ParagraphProps, ref): JSX.Element => {\n const { className, children, prefixCls: customisedCls, ...otherProps } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('typography', configContext.prefixCls, customisedCls);\n const cls = classNames(className, prefixCls);\n return (\n <p ref={ref} className={cls} {...otherProps}>\n {children}\n </p>\n );\n }\n);\n\nParagraph.displayName = 'Paragraph';\n\nexport default Paragraph;\n","import React, { useContext } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { TextProps } from './types';\n\nconst tagGenerator = (\n isRequired: boolean,\n tag: string,\n element: React.ReactNode\n): React.ReactNode => {\n if (!isRequired) return element;\n return React.createElement(tag, {}, element);\n};\n\nconst Text = (props: TextProps): JSX.Element => {\n const {\n code = false,\n del = false,\n underline = false,\n strong = false,\n italic = false,\n mark = false,\n sub = false,\n sup = false,\n className,\n children,\n prefixCls: customisedCls,\n ...otherProps\n } = props;\n\n let Node = tagGenerator(code, 'code', children);\n Node = tagGenerator(del, 'del', Node);\n Node = tagGenerator(underline, 'u', Node);\n Node = tagGenerator(strong, 'strong', Node);\n Node = tagGenerator(italic, 'i', Node);\n Node = tagGenerator(mark, 'mark', Node);\n Node = tagGenerator(sub, 'sub', Node);\n Node = tagGenerator(sup, 'sup', Node);\n\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('typography', configContext.prefixCls, customisedCls);\n const cls = classNames(className, prefixCls);\n\n return (\n <span {...otherProps} className={cls}>\n {Node}\n </span>\n );\n};\n\nexport default Text;\n","import Heading from './heading';\nimport Typography from './typography';\nimport Paragraph from './paragraph';\nimport Text from './text';\n\ntype ITypography = typeof Typography & {\n Heading: typeof Heading;\n Paragraph: typeof Paragraph;\n Text: typeof Text;\n};\n\nconst DefaultTypo = Typography as ITypography;\nDefaultTypo.Heading = Heading;\nDefaultTypo.Paragraph = Paragraph;\nDefaultTypo.Text = Text;\n\nexport default DefaultTypo;\n","type AjaxOption = {\n action: string;\n file: File;\n filename: string;\n method: string;\n onProgress: (percent: number) => void;\n onSuccess: (e: ProgressEvent) => void;\n onError: (e: ProgressEvent) => void;\n headers?: { [key: string]: string };\n withCredentials?: boolean;\n data?: { [key: string]: string };\n};\n\nexport default function ajax(option: AjaxOption): XMLHttpRequest {\n const { action, file, filename, method, onProgress, onSuccess, onError, headers, withCredentials, data } = option;\n const xhr = new XMLHttpRequest();\n xhr.open(method, action, true);\n xhr.onerror = onError;\n xhr.onload = onSuccess;\n if (xhr.upload) {\n xhr.upload.onprogress = function progress(e: ProgressEvent): void {\n if (e.total > 0) {\n const percent = (e.loaded / e.total) * 100;\n onProgress(percent);\n }\n };\n }\n\n if (withCredentials && 'withCredentials' in xhr) {\n xhr.withCredentials = true;\n }\n\n const formData = new FormData();\n formData.append(filename, file);\n // Add extra data\n if (data) {\n Object.keys(data).forEach((key) => {\n formData.append(key, data[key]);\n });\n }\n\n if (headers) {\n for (const item in headers) {\n if (headers[item]) {\n xhr.setRequestHeader(item, headers[item]);\n }\n }\n }\n\n xhr.send(formData);\n return xhr;\n}\n","import React from 'react';\nimport { CheckCircle, CloseCircle, LoadingCircle, PaperClip } from '../_utils/components';\nimport Progress from '../progress';\nimport { UploadFile } from './types';\n\ntype UploadListProps = {\n prefixCls: string;\n fileList: UploadFile[];\n onRemove: (file: UploadFile) => void;\n};\n\nconst UploadList = (props: UploadListProps): JSX.Element => {\n const { prefixCls, fileList, onRemove } = props;\n\n return (\n <ul className={`${prefixCls}__upload-list`}>\n {fileList.map((file) => {\n const { uid, name, status, percent } = file;\n return (\n <li key={uid} className={`${prefixCls}__upload-list-item`}>\n <div className={`${prefixCls}__upload-list-item-container`}>\n <PaperClip size={11} color=\"rgba(0, 0, 0, 0.45)\" />\n <span className={`${prefixCls}__upload-list-item-name`}>{name}</span>\n <span className={`${prefixCls}__upload-list-item-status`}>\n {status === 'done' && <CheckCircle size={16} />}\n {status === 'error' && <CloseCircle size={16} />}\n {status === 'uploading' && (\n <LoadingCircle\n style={{ animation: 'ty-rotate 1s linear infinite' }}\n color=\"#1890ff\"\n size={16}\n />\n )}\n </span>\n <span\n className={`${prefixCls}__upload-list-item-delete`}\n onClick={(): void => onRemove && onRemove(file)}>\n ✕\n </span>\n </div>\n {status === 'uploading' && (\n <Progress.Bar\n strokeColor=\"blue\"\n percent={percent}\n showInfo={false}\n style={{ marginTop: 5 }}\n strokeWidth={2}\n />\n )}\n </li>\n );\n })}\n </ul>\n );\n};\n\nUploadList.displayName = 'UploadList';\n\nexport default UploadList;\n","import React, { useState } from 'react';\nimport classNames from 'classnames';\n\nexport interface DraggerCoverProps {\n onFile: (files: FileList) => void;\n disabled: boolean;\n prefixCls?: string;\n children?: React.ReactNode;\n}\n\nconst DraggerCover = (props: DraggerCoverProps): JSX.Element => {\n const { onFile, disabled, prefixCls, children } = props;\n const [dragOver, setDragOver] = useState(false);\n const cls = classNames(`${prefixCls}__dragger-cover`, {\n [`${prefixCls}__dragger-cover_dragover`]: dragOver,\n [`${prefixCls}__dragger-cover_disabled`]: disabled,\n });\n\n const handleDragOver = (e: React.DragEvent<HTMLDivElement>, isOver: boolean): void => {\n e.preventDefault();\n if (!disabled) {\n setDragOver(isOver);\n }\n };\n\n const handleDrop = (e: React.DragEvent<HTMLDivElement>): void => {\n e.preventDefault();\n if (!disabled) {\n setDragOver(false);\n onFile(e.dataTransfer.files);\n }\n };\n\n return (\n <div\n className={cls}\n onDragOver={(e): void => handleDragOver(e, true)}\n onDragLeave={(e): void => handleDragOver(e, false)}\n onDrop={handleDrop}>\n {children}\n </div>\n );\n};\n\nDraggerCover.displayName = 'DraggerCover';\n\nexport default DraggerCover;\n","import React, { useContext, useRef, useState } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport ajax from './ajax';\nimport UploadList from './upload-list';\nimport DraggerCover from './dragger-cover';\nimport { UploadFile, UploadProps } from './types';\n\nconst Upload = (props: UploadProps): JSX.Element => {\n const {\n defaultFileList = [],\n httpRequest = ajax,\n disabled = false,\n method = 'post',\n headers,\n withCredentials,\n accept,\n action,\n multiple,\n name,\n data,\n drag,\n beforeUpload,\n limit,\n onExceed,\n onProgress,\n onSuccess,\n onError,\n onChange,\n onRemove,\n tip,\n className,\n style,\n children,\n prefixCls: customisedCls,\n } = props;\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('upload', configContext.prefixCls, customisedCls);\n const cls = classNames(prefixCls, className, {\n [`${prefixCls}_disabled`]: disabled,\n });\n const fileRef = useRef<HTMLInputElement | null>(null);\n const [fileList, setFileList] = useState<UploadFile[]>(\n 'fileList' in props && Array.isArray(props.fileList) ? props.fileList : defaultFileList\n );\n\n const updateFileList = (updateFile: UploadFile, targetObj: Partial<UploadFile>): void => {\n setFileList((prevState) =>\n prevState.map((file: UploadFile) => {\n if (file.uid === updateFile.uid) {\n return { ...file, ...targetObj };\n } else {\n return file;\n }\n })\n );\n };\n\n const xhrOnProgress = (percent: number, uploadFile: UploadFile): void => {\n const updateObj: Partial<UploadFile> = { percent, status: 'uploading' };\n updateFileList(uploadFile, updateObj);\n onProgress && onProgress(percent, { ...uploadFile, ...updateObj }, fileList);\n };\n\n const xhrOnComplete = (e: ProgressEvent, uploadFile: UploadFile): void => {\n const updateObj: Partial<UploadFile> = { status: 'done' };\n updateFileList(uploadFile, updateObj);\n const updatedUploadFile = { ...uploadFile, ...updateObj };\n onSuccess && onSuccess(e, updatedUploadFile, fileList);\n onChange && onChange(updatedUploadFile, fileList);\n };\n\n const xhrOnError = (e: ProgressEvent, uploadFile: UploadFile): void => {\n const updateObj: Partial<UploadFile> = { status: 'error' };\n updateFileList(uploadFile, { status: 'error' });\n const updatedUploadFile = { ...uploadFile, ...updateObj };\n onError && onError(e, updatedUploadFile, fileList);\n onChange && onChange(updatedUploadFile, fileList);\n };\n\n const postRequest = (file: File): void => {\n // Create a upload file instance\n const uploadFile: UploadFile = {\n uid: 'file-' + Date.now(),\n name: file.name,\n status: 'ready',\n percent: 0,\n };\n setFileList((prevState) => [uploadFile, ...prevState]);\n\n httpRequest({\n headers,\n withCredentials,\n file,\n data,\n filename: name || file.name,\n method,\n action,\n onProgress: (percent: number) => xhrOnProgress(percent, uploadFile),\n onSuccess: (e: ProgressEvent) => xhrOnComplete(e, uploadFile),\n onError: (e: ProgressEvent) => xhrOnError(e, uploadFile),\n });\n };\n\n const uploadFiles = (files: FileList): void => {\n if (limit && fileList.length + files.length > limit) {\n onExceed && onExceed(files, fileList);\n return;\n }\n\n const postFiles = Array.from(files);\n postFiles.forEach((file) => {\n if (!beforeUpload) {\n postRequest(file);\n } else {\n const res = beforeUpload(file);\n if (res && res instanceof Promise) {\n res.then((processedFile: File) => postRequest(processedFile));\n } else if (res !== false) {\n postRequest(file);\n }\n }\n });\n };\n\n const handleTriggerOnClick = (): void => {\n if (!disabled) {\n if (fileRef.current) {\n (fileRef.current as HTMLInputElement).click();\n }\n }\n };\n\n const handleFileOnChange = (e: React.ChangeEvent<HTMLInputElement>): void => {\n const files = e.currentTarget.files;\n if (!files) {\n return;\n }\n uploadFiles(files);\n if (fileRef.current) {\n (fileRef.current as HTMLInputElement).value = '';\n }\n };\n\n const handleOnRemove = (uploadFile: UploadFile): void => {\n setFileList((prevState) => prevState.filter((file) => file.uid !== uploadFile.uid));\n onRemove && onRemove(uploadFile);\n };\n\n return (\n <>\n <div className={cls} style={style} onClick={handleTriggerOnClick}>\n {drag ? (\n <DraggerCover prefixCls={prefixCls} onFile={uploadFiles} disabled={disabled}>\n {children}\n </DraggerCover>\n ) : (\n children\n )}\n {tip && <div className={`${prefixCls}__tip`}>{tip}</div>}\n <input\n ref={fileRef}\n accept={accept}\n multiple={multiple}\n type=\"file\"\n style={{ display: 'none' }}\n onChange={handleFileOnChange}\n />\n </div>\n <UploadList prefixCls={prefixCls} fileList={fileList} onRemove={handleOnRemove} />\n </>\n );\n};\n\nUpload.displayName = 'Upload';\n\nexport default Upload;\n","import Upload from './upload';\n\nexport default Upload;\n","import React, { useContext, ComponentType } from 'react';\nimport IntlContext from './intl-context';\n\nexport function withLocale<T>(WrappedComponent: ComponentType<T>) {\n return (props: T) => {\n const locale = useContext(IntlContext);\n return <WrappedComponent {...props} locale={locale} />;\n };\n}\n"],"sourceRoot":""}
|