From d03f5f4dff48e0a6f41e8a90fb6f343d1a639e05 Mon Sep 17 00:00:00 2001 From: "1747191978@qq.com" <1942943850@qq.com> Date: Mon, 17 Feb 2025 09:10:19 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9B=E5=BB=BA=E5=90=8E=E5=8F=B0=E6=96=87?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../.editorconfig | 0 .../.env.development | 0 .../.env.production | 0 .../.env.staging | 0 .../.eslintignore | 0 .../.eslintrc.js | 0 .../.gitignore | 0 .../README.md | 0 .../babel.config.js | 0 .../bin/build.bat | 0 .../bin/package.bat | 0 .../bin/run-web.bat | 0 .../build/index.js | 0 {acupuncture-ui => acupuncture-前台}/dist.zip | Bin .../package.json | 0 .../public/favicon.ico | Bin .../public/html/ie.html | 0 .../public/index.html | 0 .../public/robots.txt | 0 .../public/styles/theme-chalk/index.css | 0 .../src/App.vue | 0 .../src/api/followupFile.js | 0 .../src/api/login.js | 0 .../src/api/medicalFile.js | 0 .../src/api/menu.js | 0 .../src/api/monitor/cache.js | 0 .../src/api/monitor/job.js | 0 .../src/api/monitor/jobLog.js | 0 .../src/api/monitor/logininfor.js | 0 .../src/api/monitor/online.js | 0 .../src/api/monitor/operlog.js | 0 .../src/api/monitor/server.js | 0 .../src/api/patientFile.js | 0 .../src/api/system/config.js | 0 .../src/api/system/dept.js | 0 .../src/api/system/dict/data.js | 0 .../src/api/system/dict/type.js | 0 .../src/api/system/menu.js | 0 .../src/api/system/notice.js | 0 .../src/api/system/post.js | 0 .../src/api/system/role.js | 0 .../src/api/system/user.js | 0 .../src/api/tool/gen.js | 0 .../src/assets/401_images/401.gif | Bin .../src/assets/404_images/404.png | Bin .../src/assets/404_images/404_cloud.png | Bin .../src/assets/icons/index.js | 0 .../src/assets/icons/svg/404.svg | 0 .../src/assets/icons/svg/bug.svg | 0 .../src/assets/icons/svg/build.svg | 0 .../src/assets/icons/svg/button.svg | 0 .../src/assets/icons/svg/cascader.svg | 0 .../src/assets/icons/svg/chart.svg | 0 .../src/assets/icons/svg/checkbox.svg | 0 .../src/assets/icons/svg/clipboard.svg | 0 .../src/assets/icons/svg/code.svg | 0 .../src/assets/icons/svg/color.svg | 0 .../src/assets/icons/svg/component.svg | 0 .../src/assets/icons/svg/dashboard.svg | 0 .../src/assets/icons/svg/date-range.svg | 0 .../src/assets/icons/svg/date.svg | 0 .../src/assets/icons/svg/dict.svg | 0 .../src/assets/icons/svg/documentation.svg | 0 .../src/assets/icons/svg/download.svg | 0 .../src/assets/icons/svg/drag.svg | 0 .../src/assets/icons/svg/druid.svg | 0 .../src/assets/icons/svg/edit.svg | 0 .../src/assets/icons/svg/education.svg | 0 .../src/assets/icons/svg/email.svg | 0 .../src/assets/icons/svg/example.svg | 0 .../src/assets/icons/svg/excel.svg | 0 .../src/assets/icons/svg/exit-fullscreen.svg | 0 .../src/assets/icons/svg/eye-open.svg | 0 .../src/assets/icons/svg/eye.svg | 0 .../src/assets/icons/svg/form.svg | 0 .../src/assets/icons/svg/fullscreen.svg | 0 .../src/assets/icons/svg/github.svg | 0 .../src/assets/icons/svg/guide.svg | 0 .../src/assets/icons/svg/icon.svg | 0 .../src/assets/icons/svg/input.svg | 0 .../src/assets/icons/svg/international.svg | 0 .../src/assets/icons/svg/job.svg | 0 .../src/assets/icons/svg/language.svg | 0 .../src/assets/icons/svg/link.svg | 0 .../src/assets/icons/svg/list.svg | 0 .../src/assets/icons/svg/lock.svg | 0 .../src/assets/icons/svg/log.svg | 0 .../src/assets/icons/svg/logininfor.svg | 0 .../src/assets/icons/svg/message.svg | 0 .../src/assets/icons/svg/money.svg | 0 .../src/assets/icons/svg/monitor.svg | 0 .../src/assets/icons/svg/nested.svg | 0 .../src/assets/icons/svg/number.svg | 0 .../src/assets/icons/svg/online.svg | 0 .../src/assets/icons/svg/password.svg | 0 .../src/assets/icons/svg/pdf.svg | 0 .../src/assets/icons/svg/people.svg | 0 .../src/assets/icons/svg/peoples.svg | 0 .../src/assets/icons/svg/phone.svg | 0 .../src/assets/icons/svg/post.svg | 0 .../src/assets/icons/svg/qq.svg | 0 .../src/assets/icons/svg/question.svg | 0 .../src/assets/icons/svg/radio.svg | 0 .../src/assets/icons/svg/rate.svg | 0 .../src/assets/icons/svg/redis-list.svg | 0 .../src/assets/icons/svg/redis.svg | 0 .../src/assets/icons/svg/row.svg | 0 .../src/assets/icons/svg/search.svg | 0 .../src/assets/icons/svg/select.svg | 0 .../src/assets/icons/svg/server.svg | 0 .../src/assets/icons/svg/shopping.svg | 0 .../src/assets/icons/svg/size.svg | 0 .../src/assets/icons/svg/skill.svg | 0 .../src/assets/icons/svg/slider.svg | 0 .../src/assets/icons/svg/star.svg | 0 .../src/assets/icons/svg/swagger.svg | 0 .../src/assets/icons/svg/switch.svg | 0 .../src/assets/icons/svg/system.svg | 0 .../src/assets/icons/svg/tab.svg | 0 .../src/assets/icons/svg/table.svg | 0 .../src/assets/icons/svg/textarea.svg | 0 .../src/assets/icons/svg/theme.svg | 0 .../src/assets/icons/svg/time-range.svg | 0 .../src/assets/icons/svg/time.svg | 0 .../src/assets/icons/svg/tool.svg | 0 .../src/assets/icons/svg/tree-table.svg | 0 .../src/assets/icons/svg/tree.svg | 0 .../src/assets/icons/svg/upload.svg | 0 .../src/assets/icons/svg/user.svg | 0 .../src/assets/icons/svg/validCode.svg | 0 .../src/assets/icons/svg/wechat.svg | 0 .../src/assets/icons/svg/zip.svg | 0 .../src/assets/icons/svgo.yml | 0 .../src/assets/images/dark.svg | 0 .../src/assets/images/light.svg | 0 .../src/assets/images/login-background.jpg | Bin .../src/assets/images/pay.png | Bin .../src/assets/images/profile.jpg | Bin .../src/assets/logo/logo.png | Bin .../src/assets/styles/btn.scss | 0 .../src/assets/styles/common.css | 0 .../src/assets/styles/element-ui.scss | 0 .../src/assets/styles/element-variables.scss | 0 .../src/assets/styles/index.scss | 0 .../src/assets/styles/mixin.scss | 0 .../src/assets/styles/ruoyi.scss | 0 .../src/assets/styles/sidebar.scss | 0 .../src/assets/styles/transition.scss | 0 .../src/assets/styles/variables.scss | 0 .../src/components/Breadcrumb/index.vue | 0 .../src/components/Crontab/day.vue | 0 .../src/components/Crontab/hour.vue | 0 .../src/components/Crontab/index.vue | 0 .../src/components/Crontab/min.vue | 0 .../src/components/Crontab/month.vue | 0 .../src/components/Crontab/result.vue | 0 .../src/components/Crontab/second.vue | 0 .../src/components/Crontab/week.vue | 0 .../src/components/Crontab/year.vue | 0 .../src/components/DictData/index.js | 0 .../src/components/DictTag/index.vue | 0 .../src/components/Editor/index.vue | 0 .../src/components/FileUpload/index.vue | 0 .../src/components/Hamburger/index.vue | 0 .../src/components/HeaderSearch/index.vue | 0 .../src/components/IconSelect/index.vue | 0 .../src/components/IconSelect/requireIcons.js | 0 .../src/components/ImagePreview/index.vue | 0 .../src/components/ImageUpload/index.vue | 0 .../src/components/Pagination/index.vue | 0 .../src/components/PanThumb/index.vue | 0 .../src/components/ParentView/index.vue | 0 .../src/components/RightPanel/index.vue | 0 .../src/components/RightToolbar/index.vue | 0 .../src/components/RuoYi/Doc/index.vue | 0 .../src/components/RuoYi/Git/index.vue | 0 .../src/components/Screenfull/index.vue | 0 .../src/components/SizeSelect/index.vue | 0 .../src/components/SvgIcon/index.vue | 0 .../src/components/ThemePicker/index.vue | 0 .../src/components/TopNav/index.vue | 0 .../src/components/iFrame/index.vue | 0 .../src/directive/dialog/drag.js | 0 .../src/directive/dialog/dragHeight.js | 0 .../src/directive/dialog/dragWidth.js | 0 .../src/directive/index.js | 0 .../src/directive/module/clipboard.js | 0 .../src/directive/permission/hasPermi.js | 0 .../src/directive/permission/hasRole.js | 0 .../src/layout/components/AppMain.vue | 0 .../layout/components/IframeToggle/index.vue | 0 .../src/layout/components/InnerLink/index.vue | 0 .../src/layout/components/Navbar.vue | 0 .../src/layout/components/Settings/index.vue | 0 .../src/layout/components/Sidebar/FixiOSBug.js | 0 .../src/layout/components/Sidebar/Item.vue | 0 .../src/layout/components/Sidebar/Link.vue | 0 .../src/layout/components/Sidebar/Logo.vue | 0 .../layout/components/Sidebar/SidebarItem.vue | 0 .../src/layout/components/Sidebar/index.vue | 0 .../layout/components/TagsView/ScrollPane.vue | 0 .../src/layout/components/TagsView/index.vue | 0 .../src/layout/components/index.js | 0 .../src/layout/index.vue | 0 .../src/layout/mixin/ResizeHandler.js | 0 .../src/main.js | 0 .../src/permission.js | 0 .../src/plugins/auth.js | 0 .../src/plugins/cache.js | 0 .../src/plugins/download.js | 0 .../src/plugins/index.js | 0 .../src/plugins/modal.js | 0 .../src/plugins/tab.js | 0 .../src/router/index.js | 0 .../src/settings.js | 0 .../src/store/getters.js | 0 .../src/store/index.js | 0 .../src/store/modules/app.js | 0 .../src/store/modules/dict.js | 0 .../src/store/modules/permission.js | 0 .../src/store/modules/settings.js | 0 .../src/store/modules/tagsView.js | 0 .../src/store/modules/user.js | 0 .../src/utils/auth.js | 0 .../src/utils/dict/Dict.js | 0 .../src/utils/dict/DictConverter.js | 0 .../src/utils/dict/DictData.js | 0 .../src/utils/dict/DictMeta.js | 0 .../src/utils/dict/DictOptions.js | 0 .../src/utils/dict/index.js | 0 .../src/utils/errorCode.js | 0 .../src/utils/generator/config.js | 0 .../src/utils/generator/css.js | 0 .../src/utils/generator/drawingDefault.js | 0 .../src/utils/generator/html.js | 0 .../src/utils/generator/icon.json | 0 .../src/utils/generator/js.js | 0 .../src/utils/generator/render.js | 0 .../src/utils/index.js | 0 .../src/utils/jsencrypt.js | 0 .../src/utils/permission.js | 0 .../src/utils/request.js | 0 .../src/utils/ruoyi.js | 0 .../src/utils/scroll-to.js | 0 .../src/utils/validate.js | 0 .../src/views/dashboard/BarChart.vue | 0 .../src/views/dashboard/LineChart.vue | 0 .../src/views/dashboard/PanelGroup.vue | 0 .../src/views/dashboard/PieChart.vue | 0 .../src/views/dashboard/RaddarChart.vue | 0 .../src/views/dashboard/mixins/resize.js | 0 .../src/views/error/401.vue | 0 .../src/views/error/404.vue | 0 .../src/views/followFile/index.vue | 0 .../src/views/followFile/subjects.vue | 0 .../src/views/followFile/work.vue | 0 .../src/views/index.vue | 0 .../src/views/index_v1.vue | 0 .../src/views/login.vue | 0 .../src/views/medicalFile/index.vue | 0 .../src/views/monitor/cache/index.vue | 0 .../src/views/monitor/cache/list.vue | 0 .../src/views/monitor/druid/index.vue | 0 .../src/views/monitor/job/index.vue | 0 .../src/views/monitor/job/log.vue | 0 .../src/views/monitor/logininfor/index.vue | 0 .../src/views/monitor/online/index.vue | 0 .../src/views/monitor/operlog/index.vue | 0 .../src/views/monitor/server/index.vue | 0 .../src/views/patientFile/index.vue | 0 .../src/views/redirect.vue | 0 .../src/views/register.vue | 0 .../src/views/system/config/index.vue | 0 .../src/views/system/dept/index.vue | 0 .../src/views/system/dict/data.vue | 0 .../src/views/system/dict/index.vue | 0 .../src/views/system/menu/index.vue | 0 .../src/views/system/notice/index.vue | 0 .../src/views/system/post/index.vue | 0 .../src/views/system/role/authUser.vue | 0 .../src/views/system/role/index.vue | 0 .../src/views/system/role/selectUser.vue | 0 .../src/views/system/user/authRole.vue | 0 .../src/views/system/user/index.vue | 0 .../src/views/system/user/profile/index.vue | 0 .../src/views/system/user/profile/resetPwd.vue | 0 .../views/system/user/profile/userAvatar.vue | 0 .../src/views/system/user/profile/userInfo.vue | 0 .../src/views/tool/build/CodeTypeDialog.vue | 0 .../src/views/tool/build/DraggableItem.vue | 0 .../src/views/tool/build/IconsDialog.vue | 0 .../src/views/tool/build/RightPanel.vue | 0 .../src/views/tool/build/TreeNodeDialog.vue | 0 .../src/views/tool/build/index.vue | 0 .../src/views/tool/gen/basicInfoForm.vue | 0 .../src/views/tool/gen/createTable.vue | 0 .../src/views/tool/gen/editTable.vue | 0 .../src/views/tool/gen/genInfoForm.vue | 0 .../src/views/tool/gen/importTable.vue | 0 .../src/views/tool/gen/index.vue | 0 .../src/views/tool/swagger/index.vue | 0 .../vue.config.js | 0 acupuncture-后台/.editorconfig | 22 + acupuncture-后台/.env.development | 14 + acupuncture-后台/.env.production | 11 + acupuncture-后台/.env.staging | 12 + acupuncture-后台/.eslintignore | 10 + acupuncture-后台/.eslintrc.js | 199 ++ acupuncture-后台/.gitignore | 23 + acupuncture-后台/README.md | 30 + acupuncture-后台/babel.config.js | 13 + acupuncture-后台/bin/build.bat | 12 + acupuncture-后台/bin/package.bat | 12 + acupuncture-后台/bin/run-web.bat | 12 + acupuncture-后台/build/index.js | 35 + acupuncture-后台/dist.zip | Bin 0 -> 3686944 bytes acupuncture-后台/package.json | 91 + acupuncture-后台/public/favicon.ico | Bin 0 -> 5663 bytes acupuncture-后台/public/html/ie.html | 46 + acupuncture-后台/public/index.html | 208 ++ acupuncture-后台/public/robots.txt | 2 + .../public/styles/theme-chalk/index.css | 1 + acupuncture-后台/src/App.vue | 70 + acupuncture-后台/src/api/followupFile.js | 75 + acupuncture-后台/src/api/login.js | 60 + acupuncture-后台/src/api/medicalFile.js | 58 + acupuncture-后台/src/api/menu.js | 9 + acupuncture-后台/src/api/monitor/cache.js | 57 + acupuncture-后台/src/api/monitor/job.js | 71 + acupuncture-后台/src/api/monitor/jobLog.js | 26 + .../src/api/monitor/logininfor.js | 34 + acupuncture-后台/src/api/monitor/online.js | 18 + acupuncture-后台/src/api/monitor/operlog.js | 26 + acupuncture-后台/src/api/monitor/server.js | 9 + acupuncture-后台/src/api/patientFile.js | 34 + acupuncture-后台/src/api/system/config.js | 60 + acupuncture-后台/src/api/system/dept.js | 52 + acupuncture-后台/src/api/system/dict/data.js | 52 + acupuncture-后台/src/api/system/dict/type.js | 60 + acupuncture-后台/src/api/system/menu.js | 60 + acupuncture-后台/src/api/system/notice.js | 44 + acupuncture-后台/src/api/system/post.js | 44 + acupuncture-后台/src/api/system/role.js | 119 ++ acupuncture-后台/src/api/system/user.js | 136 ++ acupuncture-后台/src/api/tool/gen.js | 85 + .../src/assets/401_images/401.gif | Bin 0 -> 164227 bytes .../src/assets/404_images/404.png | Bin 0 -> 98071 bytes .../src/assets/404_images/404_cloud.png | Bin 0 -> 4766 bytes acupuncture-后台/src/assets/icons/index.js | 9 + acupuncture-后台/src/assets/icons/svg/404.svg | 1 + acupuncture-后台/src/assets/icons/svg/bug.svg | 1 + .../src/assets/icons/svg/build.svg | 1 + .../src/assets/icons/svg/button.svg | 1 + .../src/assets/icons/svg/cascader.svg | 1 + .../src/assets/icons/svg/chart.svg | 1 + .../src/assets/icons/svg/checkbox.svg | 1 + .../src/assets/icons/svg/clipboard.svg | 1 + .../src/assets/icons/svg/code.svg | 1 + .../src/assets/icons/svg/color.svg | 1 + .../src/assets/icons/svg/component.svg | 1 + .../src/assets/icons/svg/dashboard.svg | 1 + .../src/assets/icons/svg/date-range.svg | 1 + .../src/assets/icons/svg/date.svg | 1 + .../src/assets/icons/svg/dict.svg | 1 + .../src/assets/icons/svg/documentation.svg | 1 + .../src/assets/icons/svg/download.svg | 1 + .../src/assets/icons/svg/drag.svg | 1 + .../src/assets/icons/svg/druid.svg | 1 + .../src/assets/icons/svg/edit.svg | 1 + .../src/assets/icons/svg/education.svg | 1 + .../src/assets/icons/svg/email.svg | 1 + .../src/assets/icons/svg/example.svg | 1 + .../src/assets/icons/svg/excel.svg | 1 + .../src/assets/icons/svg/exit-fullscreen.svg | 1 + .../src/assets/icons/svg/eye-open.svg | 1 + acupuncture-后台/src/assets/icons/svg/eye.svg | 1 + .../src/assets/icons/svg/form.svg | 1 + .../src/assets/icons/svg/fullscreen.svg | 1 + .../src/assets/icons/svg/github.svg | 1 + .../src/assets/icons/svg/guide.svg | 1 + .../src/assets/icons/svg/icon.svg | 1 + .../src/assets/icons/svg/input.svg | 1 + .../src/assets/icons/svg/international.svg | 1 + acupuncture-后台/src/assets/icons/svg/job.svg | 1 + .../src/assets/icons/svg/language.svg | 1 + .../src/assets/icons/svg/link.svg | 1 + .../src/assets/icons/svg/list.svg | 1 + .../src/assets/icons/svg/lock.svg | 1 + acupuncture-后台/src/assets/icons/svg/log.svg | 1 + .../src/assets/icons/svg/logininfor.svg | 1 + .../src/assets/icons/svg/message.svg | 1 + .../src/assets/icons/svg/money.svg | 1 + .../src/assets/icons/svg/monitor.svg | 2 + .../src/assets/icons/svg/nested.svg | 1 + .../src/assets/icons/svg/number.svg | 1 + .../src/assets/icons/svg/online.svg | 1 + .../src/assets/icons/svg/password.svg | 1 + acupuncture-后台/src/assets/icons/svg/pdf.svg | 1 + .../src/assets/icons/svg/people.svg | 1 + .../src/assets/icons/svg/peoples.svg | 1 + .../src/assets/icons/svg/phone.svg | 1 + .../src/assets/icons/svg/post.svg | 1 + acupuncture-后台/src/assets/icons/svg/qq.svg | 1 + .../src/assets/icons/svg/question.svg | 1 + .../src/assets/icons/svg/radio.svg | 1 + .../src/assets/icons/svg/rate.svg | 1 + .../src/assets/icons/svg/redis-list.svg | 2 + .../src/assets/icons/svg/redis.svg | 1 + acupuncture-后台/src/assets/icons/svg/row.svg | 1 + .../src/assets/icons/svg/search.svg | 1 + .../src/assets/icons/svg/select.svg | 1 + .../src/assets/icons/svg/server.svg | 1 + .../src/assets/icons/svg/shopping.svg | 1 + .../src/assets/icons/svg/size.svg | 1 + .../src/assets/icons/svg/skill.svg | 1 + .../src/assets/icons/svg/slider.svg | 1 + .../src/assets/icons/svg/star.svg | 1 + .../src/assets/icons/svg/swagger.svg | 1 + .../src/assets/icons/svg/switch.svg | 1 + .../src/assets/icons/svg/system.svg | 2 + acupuncture-后台/src/assets/icons/svg/tab.svg | 1 + .../src/assets/icons/svg/table.svg | 1 + .../src/assets/icons/svg/textarea.svg | 1 + .../src/assets/icons/svg/theme.svg | 1 + .../src/assets/icons/svg/time-range.svg | 1 + .../src/assets/icons/svg/time.svg | 1 + .../src/assets/icons/svg/tool.svg | 1 + .../src/assets/icons/svg/tree-table.svg | 1 + .../src/assets/icons/svg/tree.svg | 1 + .../src/assets/icons/svg/upload.svg | 1 + .../src/assets/icons/svg/user.svg | 1 + .../src/assets/icons/svg/validCode.svg | 1 + .../src/assets/icons/svg/wechat.svg | 1 + acupuncture-后台/src/assets/icons/svg/zip.svg | 1 + acupuncture-后台/src/assets/icons/svgo.yml | 22 + acupuncture-后台/src/assets/images/dark.svg | 39 + acupuncture-后台/src/assets/images/light.svg | 39 + .../src/assets/images/login-background.jpg | Bin 0 -> 521275 bytes acupuncture-后台/src/assets/images/pay.png | Bin 0 -> 140720 bytes .../src/assets/images/profile.jpg | Bin 0 -> 81131 bytes acupuncture-后台/src/assets/logo/logo.png | Bin 0 -> 5663 bytes acupuncture-后台/src/assets/styles/btn.scss | 99 + acupuncture-后台/src/assets/styles/common.css | 135 ++ .../src/assets/styles/element-ui.scss | 92 + .../src/assets/styles/element-variables.scss | 31 + acupuncture-后台/src/assets/styles/index.scss | 182 ++ acupuncture-后台/src/assets/styles/mixin.scss | 66 + acupuncture-后台/src/assets/styles/ruoyi.scss | 296 +++ .../src/assets/styles/sidebar.scss | 227 +++ .../src/assets/styles/transition.scss | 49 + .../src/assets/styles/variables.scss | 54 + .../src/components/Breadcrumb/index.vue | 103 + .../src/components/Crontab/day.vue | 161 ++ .../src/components/Crontab/hour.vue | 120 ++ .../src/components/Crontab/index.vue | 430 ++++ .../src/components/Crontab/min.vue | 116 ++ .../src/components/Crontab/month.vue | 114 ++ .../src/components/Crontab/result.vue | 559 ++++++ .../src/components/Crontab/second.vue | 117 ++ .../src/components/Crontab/week.vue | 202 ++ .../src/components/Crontab/year.vue | 131 ++ .../src/components/DictData/index.js | 49 + .../src/components/DictTag/index.vue | 89 + .../src/components/Editor/index.vue | 274 +++ .../src/components/FileUpload/index.vue | 221 +++ .../src/components/Hamburger/index.vue | 44 + .../src/components/HeaderSearch/index.vue | 216 ++ .../src/components/IconSelect/index.vue | 104 + .../src/components/IconSelect/requireIcons.js | 11 + .../src/components/ImagePreview/index.vue | 90 + .../src/components/ImageUpload/index.vue | 231 +++ .../src/components/Pagination/index.vue | 114 ++ .../src/components/PanThumb/index.vue | 142 ++ .../src/components/ParentView/index.vue | 3 + .../src/components/RightPanel/index.vue | 106 + .../src/components/RightToolbar/index.vue | 129 ++ .../src/components/RuoYi/Doc/index.vue | 21 + .../src/components/RuoYi/Git/index.vue | 21 + .../src/components/Screenfull/index.vue | 57 + .../src/components/SizeSelect/index.vue | 56 + .../src/components/SvgIcon/index.vue | 61 + .../src/components/ThemePicker/index.vue | 170 ++ .../src/components/TopNav/index.vue | 193 ++ .../src/components/iFrame/index.vue | 36 + acupuncture-后台/src/directive/dialog/drag.js | 64 + .../src/directive/dialog/dragHeight.js | 34 + .../src/directive/dialog/dragWidth.js | 30 + acupuncture-后台/src/directive/index.js | 23 + .../src/directive/module/clipboard.js | 54 + .../src/directive/permission/hasPermi.js | 28 + .../src/directive/permission/hasRole.js | 28 + .../src/layout/components/AppMain.vue | 91 + .../layout/components/IframeToggle/index.vue | 33 + .../src/layout/components/InnerLink/index.vue | 47 + .../src/layout/components/Navbar.vue | 209 ++ .../src/layout/components/Settings/index.vue | 260 +++ .../src/layout/components/Sidebar/FixiOSBug.js | 25 + .../src/layout/components/Sidebar/Item.vue | 33 + .../src/layout/components/Sidebar/Link.vue | 43 + .../src/layout/components/Sidebar/Logo.vue | 93 + .../layout/components/Sidebar/SidebarItem.vue | 99 + .../src/layout/components/Sidebar/index.vue | 57 + .../layout/components/TagsView/ScrollPane.vue | 94 + .../src/layout/components/TagsView/index.vue | 328 +++ .../src/layout/components/index.js | 5 + acupuncture-后台/src/layout/index.vue | 111 ++ .../src/layout/mixin/ResizeHandler.js | 45 + acupuncture-后台/src/main.js | 86 + acupuncture-后台/src/permission.js | 63 + acupuncture-后台/src/plugins/auth.js | 60 + acupuncture-后台/src/plugins/cache.js | 79 + acupuncture-后台/src/plugins/download.js | 79 + acupuncture-后台/src/plugins/index.js | 20 + acupuncture-后台/src/plugins/modal.js | 83 + acupuncture-后台/src/plugins/tab.js | 71 + acupuncture-后台/src/router/index.js | 236 +++ acupuncture-后台/src/settings.js | 44 + acupuncture-后台/src/store/getters.js | 19 + acupuncture-后台/src/store/index.js | 25 + acupuncture-后台/src/store/modules/app.js | 66 + acupuncture-后台/src/store/modules/dict.js | 50 + .../src/store/modules/permission.js | 137 ++ .../src/store/modules/settings.js | 42 + .../src/store/modules/tagsView.js | 228 +++ acupuncture-后台/src/store/modules/user.js | 106 + acupuncture-后台/src/utils/auth.js | 15 + acupuncture-后台/src/utils/dict/Dict.js | 82 + .../src/utils/dict/DictConverter.js | 17 + acupuncture-后台/src/utils/dict/DictData.js | 13 + acupuncture-后台/src/utils/dict/DictMeta.js | 38 + .../src/utils/dict/DictOptions.js | 51 + acupuncture-后台/src/utils/dict/index.js | 33 + acupuncture-后台/src/utils/errorCode.js | 6 + .../src/utils/generator/config.js | 438 ++++ acupuncture-后台/src/utils/generator/css.js | 18 + .../src/utils/generator/drawingDefault.js | 29 + acupuncture-后台/src/utils/generator/html.js | 359 ++++ .../src/utils/generator/icon.json | 1 + acupuncture-后台/src/utils/generator/js.js | 235 +++ .../src/utils/generator/render.js | 126 ++ acupuncture-后台/src/utils/index.js | 390 ++++ acupuncture-后台/src/utils/jsencrypt.js | 30 + acupuncture-后台/src/utils/permission.js | 47 + acupuncture-后台/src/utils/request.js | 152 ++ acupuncture-后台/src/utils/ruoyi.js | 233 +++ acupuncture-后台/src/utils/scroll-to.js | 58 + acupuncture-后台/src/utils/validate.js | 114 ++ .../src/views/dashboard/BarChart.vue | 102 + .../src/views/dashboard/LineChart.vue | 135 ++ .../src/views/dashboard/PanelGroup.vue | 181 ++ .../src/views/dashboard/PieChart.vue | 79 + .../src/views/dashboard/RaddarChart.vue | 116 ++ .../src/views/dashboard/mixins/resize.js | 56 + acupuncture-后台/src/views/error/401.vue | 88 + acupuncture-后台/src/views/error/404.vue | 233 +++ .../src/views/followFile/index.vue | 465 +++++ .../src/views/followFile/subjects.vue | 398 ++++ .../src/views/followFile/work.vue | 529 +++++ acupuncture-后台/src/views/index.vue | 1133 +++++++++++ acupuncture-后台/src/views/index_v1.vue | 98 + acupuncture-后台/src/views/login.vue | 251 +++ .../src/views/medicalFile/index.vue | 1763 +++++++++++++++++ .../src/views/monitor/cache/index.vue | 148 ++ .../src/views/monitor/cache/list.vue | 241 +++ .../src/views/monitor/druid/index.vue | 15 + .../src/views/monitor/job/index.vue | 513 +++++ .../src/views/monitor/job/log.vue | 295 +++ .../src/views/monitor/logininfor/index.vue | 246 +++ .../src/views/monitor/online/index.vue | 122 ++ .../src/views/monitor/operlog/index.vue | 323 +++ .../src/views/monitor/server/index.vue | 207 ++ .../src/views/patientFile/index.vue | 699 +++++++ acupuncture-后台/src/views/redirect.vue | 12 + acupuncture-后台/src/views/register.vue | 263 +++ .../src/views/system/config/index.vue | 343 ++++ .../src/views/system/dept/index.vue | 340 ++++ .../src/views/system/dict/data.vue | 402 ++++ .../src/views/system/dict/index.vue | 347 ++++ .../src/views/system/menu/index.vue | 466 +++++ .../src/views/system/notice/index.vue | 312 +++ .../src/views/system/post/index.vue | 309 +++ .../src/views/system/role/authUser.vue | 199 ++ .../src/views/system/role/index.vue | 605 ++++++ .../src/views/system/role/selectUser.vue | 136 ++ .../src/views/system/user/authRole.vue | 117 ++ .../src/views/system/user/index.vue | 553 ++++++ .../src/views/system/user/profile/index.vue | 91 + .../src/views/system/user/profile/resetPwd.vue | 69 + .../views/system/user/profile/userAvatar.vue | 184 ++ .../src/views/system/user/profile/userInfo.vue | 88 + .../src/views/tool/build/CodeTypeDialog.vue | 106 + .../src/views/tool/build/DraggableItem.vue | 100 + .../src/views/tool/build/IconsDialog.vue | 123 ++ .../src/views/tool/build/RightPanel.vue | 946 +++++++++ .../src/views/tool/build/TreeNodeDialog.vue | 149 ++ .../src/views/tool/build/index.vue | 768 +++++++ .../src/views/tool/gen/basicInfoForm.vue | 60 + .../src/views/tool/gen/createTable.vue | 45 + .../src/views/tool/gen/editTable.vue | 234 +++ .../src/views/tool/gen/genInfoForm.vue | 312 +++ .../src/views/tool/gen/importTable.vue | 120 ++ acupuncture-后台/src/views/tool/gen/index.vue | 354 ++++ .../src/views/tool/swagger/index.vue | 15 + acupuncture-后台/vue.config.js | 130 ++ 604 files changed, 30478 insertions(+) rename {acupuncture-ui => acupuncture-前台}/.editorconfig (100%) rename {acupuncture-ui => acupuncture-前台}/.env.development (100%) rename {acupuncture-ui => acupuncture-前台}/.env.production (100%) rename {acupuncture-ui => acupuncture-前台}/.env.staging (100%) rename {acupuncture-ui => acupuncture-前台}/.eslintignore (100%) rename {acupuncture-ui => acupuncture-前台}/.eslintrc.js (100%) rename {acupuncture-ui => acupuncture-前台}/.gitignore (100%) rename {acupuncture-ui => acupuncture-前台}/README.md (100%) rename {acupuncture-ui => acupuncture-前台}/babel.config.js (100%) rename {acupuncture-ui => acupuncture-前台}/bin/build.bat (100%) rename {acupuncture-ui => acupuncture-前台}/bin/package.bat (100%) rename {acupuncture-ui => acupuncture-前台}/bin/run-web.bat (100%) rename {acupuncture-ui => acupuncture-前台}/build/index.js (100%) rename {acupuncture-ui => acupuncture-前台}/dist.zip (100%) rename {acupuncture-ui => acupuncture-前台}/package.json (100%) rename {acupuncture-ui => acupuncture-前台}/public/favicon.ico (100%) rename {acupuncture-ui => acupuncture-前台}/public/html/ie.html (100%) rename {acupuncture-ui => acupuncture-前台}/public/index.html (100%) rename {acupuncture-ui => acupuncture-前台}/public/robots.txt (100%) rename {acupuncture-ui => acupuncture-前台}/public/styles/theme-chalk/index.css (100%) rename {acupuncture-ui => acupuncture-前台}/src/App.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/api/followupFile.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/api/login.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/api/medicalFile.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/api/menu.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/api/monitor/cache.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/api/monitor/job.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/api/monitor/jobLog.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/api/monitor/logininfor.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/api/monitor/online.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/api/monitor/operlog.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/api/monitor/server.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/api/patientFile.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/api/system/config.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/api/system/dept.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/api/system/dict/data.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/api/system/dict/type.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/api/system/menu.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/api/system/notice.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/api/system/post.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/api/system/role.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/api/system/user.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/api/tool/gen.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/401_images/401.gif (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/404_images/404.png (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/404_images/404_cloud.png (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/index.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/404.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/bug.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/build.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/button.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/cascader.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/chart.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/checkbox.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/clipboard.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/code.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/color.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/component.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/dashboard.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/date-range.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/date.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/dict.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/documentation.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/download.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/drag.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/druid.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/edit.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/education.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/email.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/example.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/excel.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/exit-fullscreen.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/eye-open.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/eye.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/form.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/fullscreen.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/github.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/guide.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/icon.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/input.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/international.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/job.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/language.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/link.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/list.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/lock.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/log.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/logininfor.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/message.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/money.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/monitor.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/nested.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/number.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/online.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/password.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/pdf.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/people.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/peoples.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/phone.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/post.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/qq.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/question.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/radio.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/rate.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/redis-list.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/redis.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/row.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/search.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/select.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/server.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/shopping.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/size.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/skill.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/slider.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/star.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/swagger.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/switch.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/system.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/tab.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/table.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/textarea.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/theme.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/time-range.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/time.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/tool.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/tree-table.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/tree.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/upload.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/user.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/validCode.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/wechat.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svg/zip.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/icons/svgo.yml (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/images/dark.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/images/light.svg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/images/login-background.jpg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/images/pay.png (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/images/profile.jpg (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/logo/logo.png (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/styles/btn.scss (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/styles/common.css (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/styles/element-ui.scss (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/styles/element-variables.scss (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/styles/index.scss (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/styles/mixin.scss (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/styles/ruoyi.scss (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/styles/sidebar.scss (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/styles/transition.scss (100%) rename {acupuncture-ui => acupuncture-前台}/src/assets/styles/variables.scss (100%) rename {acupuncture-ui => acupuncture-前台}/src/components/Breadcrumb/index.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/components/Crontab/day.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/components/Crontab/hour.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/components/Crontab/index.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/components/Crontab/min.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/components/Crontab/month.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/components/Crontab/result.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/components/Crontab/second.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/components/Crontab/week.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/components/Crontab/year.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/components/DictData/index.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/components/DictTag/index.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/components/Editor/index.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/components/FileUpload/index.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/components/Hamburger/index.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/components/HeaderSearch/index.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/components/IconSelect/index.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/components/IconSelect/requireIcons.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/components/ImagePreview/index.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/components/ImageUpload/index.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/components/Pagination/index.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/components/PanThumb/index.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/components/ParentView/index.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/components/RightPanel/index.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/components/RightToolbar/index.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/components/RuoYi/Doc/index.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/components/RuoYi/Git/index.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/components/Screenfull/index.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/components/SizeSelect/index.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/components/SvgIcon/index.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/components/ThemePicker/index.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/components/TopNav/index.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/components/iFrame/index.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/directive/dialog/drag.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/directive/dialog/dragHeight.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/directive/dialog/dragWidth.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/directive/index.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/directive/module/clipboard.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/directive/permission/hasPermi.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/directive/permission/hasRole.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/layout/components/AppMain.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/layout/components/IframeToggle/index.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/layout/components/InnerLink/index.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/layout/components/Navbar.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/layout/components/Settings/index.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/layout/components/Sidebar/FixiOSBug.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/layout/components/Sidebar/Item.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/layout/components/Sidebar/Link.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/layout/components/Sidebar/Logo.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/layout/components/Sidebar/SidebarItem.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/layout/components/Sidebar/index.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/layout/components/TagsView/ScrollPane.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/layout/components/TagsView/index.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/layout/components/index.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/layout/index.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/layout/mixin/ResizeHandler.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/main.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/permission.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/plugins/auth.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/plugins/cache.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/plugins/download.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/plugins/index.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/plugins/modal.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/plugins/tab.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/router/index.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/settings.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/store/getters.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/store/index.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/store/modules/app.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/store/modules/dict.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/store/modules/permission.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/store/modules/settings.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/store/modules/tagsView.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/store/modules/user.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/utils/auth.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/utils/dict/Dict.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/utils/dict/DictConverter.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/utils/dict/DictData.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/utils/dict/DictMeta.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/utils/dict/DictOptions.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/utils/dict/index.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/utils/errorCode.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/utils/generator/config.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/utils/generator/css.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/utils/generator/drawingDefault.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/utils/generator/html.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/utils/generator/icon.json (100%) rename {acupuncture-ui => acupuncture-前台}/src/utils/generator/js.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/utils/generator/render.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/utils/index.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/utils/jsencrypt.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/utils/permission.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/utils/request.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/utils/ruoyi.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/utils/scroll-to.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/utils/validate.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/views/dashboard/BarChart.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/views/dashboard/LineChart.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/views/dashboard/PanelGroup.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/views/dashboard/PieChart.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/views/dashboard/RaddarChart.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/views/dashboard/mixins/resize.js (100%) rename {acupuncture-ui => acupuncture-前台}/src/views/error/401.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/views/error/404.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/views/followFile/index.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/views/followFile/subjects.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/views/followFile/work.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/views/index.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/views/index_v1.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/views/login.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/views/medicalFile/index.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/views/monitor/cache/index.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/views/monitor/cache/list.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/views/monitor/druid/index.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/views/monitor/job/index.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/views/monitor/job/log.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/views/monitor/logininfor/index.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/views/monitor/online/index.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/views/monitor/operlog/index.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/views/monitor/server/index.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/views/patientFile/index.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/views/redirect.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/views/register.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/views/system/config/index.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/views/system/dept/index.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/views/system/dict/data.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/views/system/dict/index.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/views/system/menu/index.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/views/system/notice/index.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/views/system/post/index.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/views/system/role/authUser.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/views/system/role/index.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/views/system/role/selectUser.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/views/system/user/authRole.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/views/system/user/index.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/views/system/user/profile/index.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/views/system/user/profile/resetPwd.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/views/system/user/profile/userAvatar.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/views/system/user/profile/userInfo.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/views/tool/build/CodeTypeDialog.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/views/tool/build/DraggableItem.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/views/tool/build/IconsDialog.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/views/tool/build/RightPanel.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/views/tool/build/TreeNodeDialog.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/views/tool/build/index.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/views/tool/gen/basicInfoForm.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/views/tool/gen/createTable.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/views/tool/gen/editTable.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/views/tool/gen/genInfoForm.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/views/tool/gen/importTable.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/views/tool/gen/index.vue (100%) rename {acupuncture-ui => acupuncture-前台}/src/views/tool/swagger/index.vue (100%) rename {acupuncture-ui => acupuncture-前台}/vue.config.js (100%) create mode 100644 acupuncture-后台/.editorconfig create mode 100644 acupuncture-后台/.env.development create mode 100644 acupuncture-后台/.env.production create mode 100644 acupuncture-后台/.env.staging create mode 100644 acupuncture-后台/.eslintignore create mode 100644 acupuncture-后台/.eslintrc.js create mode 100644 acupuncture-后台/.gitignore create mode 100644 acupuncture-后台/README.md create mode 100644 acupuncture-后台/babel.config.js create mode 100644 acupuncture-后台/bin/build.bat create mode 100644 acupuncture-后台/bin/package.bat create mode 100644 acupuncture-后台/bin/run-web.bat create mode 100644 acupuncture-后台/build/index.js create mode 100644 acupuncture-后台/dist.zip create mode 100644 acupuncture-后台/package.json create mode 100644 acupuncture-后台/public/favicon.ico create mode 100644 acupuncture-后台/public/html/ie.html create mode 100644 acupuncture-后台/public/index.html create mode 100644 acupuncture-后台/public/robots.txt create mode 100644 acupuncture-后台/public/styles/theme-chalk/index.css create mode 100644 acupuncture-后台/src/App.vue create mode 100644 acupuncture-后台/src/api/followupFile.js create mode 100644 acupuncture-后台/src/api/login.js create mode 100644 acupuncture-后台/src/api/medicalFile.js create mode 100644 acupuncture-后台/src/api/menu.js create mode 100644 acupuncture-后台/src/api/monitor/cache.js create mode 100644 acupuncture-后台/src/api/monitor/job.js create mode 100644 acupuncture-后台/src/api/monitor/jobLog.js create mode 100644 acupuncture-后台/src/api/monitor/logininfor.js create mode 100644 acupuncture-后台/src/api/monitor/online.js create mode 100644 acupuncture-后台/src/api/monitor/operlog.js create mode 100644 acupuncture-后台/src/api/monitor/server.js create mode 100644 acupuncture-后台/src/api/patientFile.js create mode 100644 acupuncture-后台/src/api/system/config.js create mode 100644 acupuncture-后台/src/api/system/dept.js create mode 100644 acupuncture-后台/src/api/system/dict/data.js create mode 100644 acupuncture-后台/src/api/system/dict/type.js create mode 100644 acupuncture-后台/src/api/system/menu.js create mode 100644 acupuncture-后台/src/api/system/notice.js create mode 100644 acupuncture-后台/src/api/system/post.js create mode 100644 acupuncture-后台/src/api/system/role.js create mode 100644 acupuncture-后台/src/api/system/user.js create mode 100644 acupuncture-后台/src/api/tool/gen.js create mode 100644 acupuncture-后台/src/assets/401_images/401.gif create mode 100644 acupuncture-后台/src/assets/404_images/404.png create mode 100644 acupuncture-后台/src/assets/404_images/404_cloud.png create mode 100644 acupuncture-后台/src/assets/icons/index.js create mode 100644 acupuncture-后台/src/assets/icons/svg/404.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/bug.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/build.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/button.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/cascader.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/chart.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/checkbox.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/clipboard.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/code.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/color.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/component.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/dashboard.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/date-range.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/date.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/dict.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/documentation.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/download.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/drag.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/druid.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/edit.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/education.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/email.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/example.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/excel.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/exit-fullscreen.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/eye-open.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/eye.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/form.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/fullscreen.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/github.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/guide.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/icon.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/input.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/international.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/job.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/language.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/link.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/list.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/lock.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/log.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/logininfor.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/message.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/money.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/monitor.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/nested.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/number.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/online.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/password.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/pdf.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/people.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/peoples.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/phone.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/post.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/qq.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/question.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/radio.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/rate.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/redis-list.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/redis.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/row.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/search.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/select.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/server.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/shopping.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/size.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/skill.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/slider.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/star.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/swagger.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/switch.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/system.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/tab.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/table.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/textarea.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/theme.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/time-range.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/time.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/tool.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/tree-table.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/tree.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/upload.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/user.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/validCode.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/wechat.svg create mode 100644 acupuncture-后台/src/assets/icons/svg/zip.svg create mode 100644 acupuncture-后台/src/assets/icons/svgo.yml create mode 100644 acupuncture-后台/src/assets/images/dark.svg create mode 100644 acupuncture-后台/src/assets/images/light.svg create mode 100644 acupuncture-后台/src/assets/images/login-background.jpg create mode 100644 acupuncture-后台/src/assets/images/pay.png create mode 100644 acupuncture-后台/src/assets/images/profile.jpg create mode 100644 acupuncture-后台/src/assets/logo/logo.png create mode 100644 acupuncture-后台/src/assets/styles/btn.scss create mode 100644 acupuncture-后台/src/assets/styles/common.css create mode 100644 acupuncture-后台/src/assets/styles/element-ui.scss create mode 100644 acupuncture-后台/src/assets/styles/element-variables.scss create mode 100644 acupuncture-后台/src/assets/styles/index.scss create mode 100644 acupuncture-后台/src/assets/styles/mixin.scss create mode 100644 acupuncture-后台/src/assets/styles/ruoyi.scss create mode 100644 acupuncture-后台/src/assets/styles/sidebar.scss create mode 100644 acupuncture-后台/src/assets/styles/transition.scss create mode 100644 acupuncture-后台/src/assets/styles/variables.scss create mode 100644 acupuncture-后台/src/components/Breadcrumb/index.vue create mode 100644 acupuncture-后台/src/components/Crontab/day.vue create mode 100644 acupuncture-后台/src/components/Crontab/hour.vue create mode 100644 acupuncture-后台/src/components/Crontab/index.vue create mode 100644 acupuncture-后台/src/components/Crontab/min.vue create mode 100644 acupuncture-后台/src/components/Crontab/month.vue create mode 100644 acupuncture-后台/src/components/Crontab/result.vue create mode 100644 acupuncture-后台/src/components/Crontab/second.vue create mode 100644 acupuncture-后台/src/components/Crontab/week.vue create mode 100644 acupuncture-后台/src/components/Crontab/year.vue create mode 100644 acupuncture-后台/src/components/DictData/index.js create mode 100644 acupuncture-后台/src/components/DictTag/index.vue create mode 100644 acupuncture-后台/src/components/Editor/index.vue create mode 100644 acupuncture-后台/src/components/FileUpload/index.vue create mode 100644 acupuncture-后台/src/components/Hamburger/index.vue create mode 100644 acupuncture-后台/src/components/HeaderSearch/index.vue create mode 100644 acupuncture-后台/src/components/IconSelect/index.vue create mode 100644 acupuncture-后台/src/components/IconSelect/requireIcons.js create mode 100644 acupuncture-后台/src/components/ImagePreview/index.vue create mode 100644 acupuncture-后台/src/components/ImageUpload/index.vue create mode 100644 acupuncture-后台/src/components/Pagination/index.vue create mode 100644 acupuncture-后台/src/components/PanThumb/index.vue create mode 100644 acupuncture-后台/src/components/ParentView/index.vue create mode 100644 acupuncture-后台/src/components/RightPanel/index.vue create mode 100644 acupuncture-后台/src/components/RightToolbar/index.vue create mode 100644 acupuncture-后台/src/components/RuoYi/Doc/index.vue create mode 100644 acupuncture-后台/src/components/RuoYi/Git/index.vue create mode 100644 acupuncture-后台/src/components/Screenfull/index.vue create mode 100644 acupuncture-后台/src/components/SizeSelect/index.vue create mode 100644 acupuncture-后台/src/components/SvgIcon/index.vue create mode 100644 acupuncture-后台/src/components/ThemePicker/index.vue create mode 100644 acupuncture-后台/src/components/TopNav/index.vue create mode 100644 acupuncture-后台/src/components/iFrame/index.vue create mode 100644 acupuncture-后台/src/directive/dialog/drag.js create mode 100644 acupuncture-后台/src/directive/dialog/dragHeight.js create mode 100644 acupuncture-后台/src/directive/dialog/dragWidth.js create mode 100644 acupuncture-后台/src/directive/index.js create mode 100644 acupuncture-后台/src/directive/module/clipboard.js create mode 100644 acupuncture-后台/src/directive/permission/hasPermi.js create mode 100644 acupuncture-后台/src/directive/permission/hasRole.js create mode 100644 acupuncture-后台/src/layout/components/AppMain.vue create mode 100644 acupuncture-后台/src/layout/components/IframeToggle/index.vue create mode 100644 acupuncture-后台/src/layout/components/InnerLink/index.vue create mode 100644 acupuncture-后台/src/layout/components/Navbar.vue create mode 100644 acupuncture-后台/src/layout/components/Settings/index.vue create mode 100644 acupuncture-后台/src/layout/components/Sidebar/FixiOSBug.js create mode 100644 acupuncture-后台/src/layout/components/Sidebar/Item.vue create mode 100644 acupuncture-后台/src/layout/components/Sidebar/Link.vue create mode 100644 acupuncture-后台/src/layout/components/Sidebar/Logo.vue create mode 100644 acupuncture-后台/src/layout/components/Sidebar/SidebarItem.vue create mode 100644 acupuncture-后台/src/layout/components/Sidebar/index.vue create mode 100644 acupuncture-后台/src/layout/components/TagsView/ScrollPane.vue create mode 100644 acupuncture-后台/src/layout/components/TagsView/index.vue create mode 100644 acupuncture-后台/src/layout/components/index.js create mode 100644 acupuncture-后台/src/layout/index.vue create mode 100644 acupuncture-后台/src/layout/mixin/ResizeHandler.js create mode 100644 acupuncture-后台/src/main.js create mode 100644 acupuncture-后台/src/permission.js create mode 100644 acupuncture-后台/src/plugins/auth.js create mode 100644 acupuncture-后台/src/plugins/cache.js create mode 100644 acupuncture-后台/src/plugins/download.js create mode 100644 acupuncture-后台/src/plugins/index.js create mode 100644 acupuncture-后台/src/plugins/modal.js create mode 100644 acupuncture-后台/src/plugins/tab.js create mode 100644 acupuncture-后台/src/router/index.js create mode 100644 acupuncture-后台/src/settings.js create mode 100644 acupuncture-后台/src/store/getters.js create mode 100644 acupuncture-后台/src/store/index.js create mode 100644 acupuncture-后台/src/store/modules/app.js create mode 100644 acupuncture-后台/src/store/modules/dict.js create mode 100644 acupuncture-后台/src/store/modules/permission.js create mode 100644 acupuncture-后台/src/store/modules/settings.js create mode 100644 acupuncture-后台/src/store/modules/tagsView.js create mode 100644 acupuncture-后台/src/store/modules/user.js create mode 100644 acupuncture-后台/src/utils/auth.js create mode 100644 acupuncture-后台/src/utils/dict/Dict.js create mode 100644 acupuncture-后台/src/utils/dict/DictConverter.js create mode 100644 acupuncture-后台/src/utils/dict/DictData.js create mode 100644 acupuncture-后台/src/utils/dict/DictMeta.js create mode 100644 acupuncture-后台/src/utils/dict/DictOptions.js create mode 100644 acupuncture-后台/src/utils/dict/index.js create mode 100644 acupuncture-后台/src/utils/errorCode.js create mode 100644 acupuncture-后台/src/utils/generator/config.js create mode 100644 acupuncture-后台/src/utils/generator/css.js create mode 100644 acupuncture-后台/src/utils/generator/drawingDefault.js create mode 100644 acupuncture-后台/src/utils/generator/html.js create mode 100644 acupuncture-后台/src/utils/generator/icon.json create mode 100644 acupuncture-后台/src/utils/generator/js.js create mode 100644 acupuncture-后台/src/utils/generator/render.js create mode 100644 acupuncture-后台/src/utils/index.js create mode 100644 acupuncture-后台/src/utils/jsencrypt.js create mode 100644 acupuncture-后台/src/utils/permission.js create mode 100644 acupuncture-后台/src/utils/request.js create mode 100644 acupuncture-后台/src/utils/ruoyi.js create mode 100644 acupuncture-后台/src/utils/scroll-to.js create mode 100644 acupuncture-后台/src/utils/validate.js create mode 100644 acupuncture-后台/src/views/dashboard/BarChart.vue create mode 100644 acupuncture-后台/src/views/dashboard/LineChart.vue create mode 100644 acupuncture-后台/src/views/dashboard/PanelGroup.vue create mode 100644 acupuncture-后台/src/views/dashboard/PieChart.vue create mode 100644 acupuncture-后台/src/views/dashboard/RaddarChart.vue create mode 100644 acupuncture-后台/src/views/dashboard/mixins/resize.js create mode 100644 acupuncture-后台/src/views/error/401.vue create mode 100644 acupuncture-后台/src/views/error/404.vue create mode 100644 acupuncture-后台/src/views/followFile/index.vue create mode 100644 acupuncture-后台/src/views/followFile/subjects.vue create mode 100644 acupuncture-后台/src/views/followFile/work.vue create mode 100644 acupuncture-后台/src/views/index.vue create mode 100644 acupuncture-后台/src/views/index_v1.vue create mode 100644 acupuncture-后台/src/views/login.vue create mode 100644 acupuncture-后台/src/views/medicalFile/index.vue create mode 100644 acupuncture-后台/src/views/monitor/cache/index.vue create mode 100644 acupuncture-后台/src/views/monitor/cache/list.vue create mode 100644 acupuncture-后台/src/views/monitor/druid/index.vue create mode 100644 acupuncture-后台/src/views/monitor/job/index.vue create mode 100644 acupuncture-后台/src/views/monitor/job/log.vue create mode 100644 acupuncture-后台/src/views/monitor/logininfor/index.vue create mode 100644 acupuncture-后台/src/views/monitor/online/index.vue create mode 100644 acupuncture-后台/src/views/monitor/operlog/index.vue create mode 100644 acupuncture-后台/src/views/monitor/server/index.vue create mode 100644 acupuncture-后台/src/views/patientFile/index.vue create mode 100644 acupuncture-后台/src/views/redirect.vue create mode 100644 acupuncture-后台/src/views/register.vue create mode 100644 acupuncture-后台/src/views/system/config/index.vue create mode 100644 acupuncture-后台/src/views/system/dept/index.vue create mode 100644 acupuncture-后台/src/views/system/dict/data.vue create mode 100644 acupuncture-后台/src/views/system/dict/index.vue create mode 100644 acupuncture-后台/src/views/system/menu/index.vue create mode 100644 acupuncture-后台/src/views/system/notice/index.vue create mode 100644 acupuncture-后台/src/views/system/post/index.vue create mode 100644 acupuncture-后台/src/views/system/role/authUser.vue create mode 100644 acupuncture-后台/src/views/system/role/index.vue create mode 100644 acupuncture-后台/src/views/system/role/selectUser.vue create mode 100644 acupuncture-后台/src/views/system/user/authRole.vue create mode 100644 acupuncture-后台/src/views/system/user/index.vue create mode 100644 acupuncture-后台/src/views/system/user/profile/index.vue create mode 100644 acupuncture-后台/src/views/system/user/profile/resetPwd.vue create mode 100644 acupuncture-后台/src/views/system/user/profile/userAvatar.vue create mode 100644 acupuncture-后台/src/views/system/user/profile/userInfo.vue create mode 100644 acupuncture-后台/src/views/tool/build/CodeTypeDialog.vue create mode 100644 acupuncture-后台/src/views/tool/build/DraggableItem.vue create mode 100644 acupuncture-后台/src/views/tool/build/IconsDialog.vue create mode 100644 acupuncture-后台/src/views/tool/build/RightPanel.vue create mode 100644 acupuncture-后台/src/views/tool/build/TreeNodeDialog.vue create mode 100644 acupuncture-后台/src/views/tool/build/index.vue create mode 100644 acupuncture-后台/src/views/tool/gen/basicInfoForm.vue create mode 100644 acupuncture-后台/src/views/tool/gen/createTable.vue create mode 100644 acupuncture-后台/src/views/tool/gen/editTable.vue create mode 100644 acupuncture-后台/src/views/tool/gen/genInfoForm.vue create mode 100644 acupuncture-后台/src/views/tool/gen/importTable.vue create mode 100644 acupuncture-后台/src/views/tool/gen/index.vue create mode 100644 acupuncture-后台/src/views/tool/swagger/index.vue create mode 100644 acupuncture-后台/vue.config.js diff --git a/acupuncture-ui/.editorconfig b/acupuncture-前台/.editorconfig similarity index 100% rename from acupuncture-ui/.editorconfig rename to acupuncture-前台/.editorconfig diff --git a/acupuncture-ui/.env.development b/acupuncture-前台/.env.development similarity index 100% rename from acupuncture-ui/.env.development rename to acupuncture-前台/.env.development diff --git a/acupuncture-ui/.env.production b/acupuncture-前台/.env.production similarity index 100% rename from acupuncture-ui/.env.production rename to acupuncture-前台/.env.production diff --git a/acupuncture-ui/.env.staging b/acupuncture-前台/.env.staging similarity index 100% rename from acupuncture-ui/.env.staging rename to acupuncture-前台/.env.staging diff --git a/acupuncture-ui/.eslintignore b/acupuncture-前台/.eslintignore similarity index 100% rename from acupuncture-ui/.eslintignore rename to acupuncture-前台/.eslintignore diff --git a/acupuncture-ui/.eslintrc.js b/acupuncture-前台/.eslintrc.js similarity index 100% rename from acupuncture-ui/.eslintrc.js rename to acupuncture-前台/.eslintrc.js diff --git a/acupuncture-ui/.gitignore b/acupuncture-前台/.gitignore similarity index 100% rename from acupuncture-ui/.gitignore rename to acupuncture-前台/.gitignore diff --git a/acupuncture-ui/README.md b/acupuncture-前台/README.md similarity index 100% rename from acupuncture-ui/README.md rename to acupuncture-前台/README.md diff --git a/acupuncture-ui/babel.config.js b/acupuncture-前台/babel.config.js similarity index 100% rename from acupuncture-ui/babel.config.js rename to acupuncture-前台/babel.config.js diff --git a/acupuncture-ui/bin/build.bat b/acupuncture-前台/bin/build.bat similarity index 100% rename from acupuncture-ui/bin/build.bat rename to acupuncture-前台/bin/build.bat diff --git a/acupuncture-ui/bin/package.bat b/acupuncture-前台/bin/package.bat similarity index 100% rename from acupuncture-ui/bin/package.bat rename to acupuncture-前台/bin/package.bat diff --git a/acupuncture-ui/bin/run-web.bat b/acupuncture-前台/bin/run-web.bat similarity index 100% rename from acupuncture-ui/bin/run-web.bat rename to acupuncture-前台/bin/run-web.bat diff --git a/acupuncture-ui/build/index.js b/acupuncture-前台/build/index.js similarity index 100% rename from acupuncture-ui/build/index.js rename to acupuncture-前台/build/index.js diff --git a/acupuncture-ui/dist.zip b/acupuncture-前台/dist.zip similarity index 100% rename from acupuncture-ui/dist.zip rename to acupuncture-前台/dist.zip diff --git a/acupuncture-ui/package.json b/acupuncture-前台/package.json similarity index 100% rename from acupuncture-ui/package.json rename to acupuncture-前台/package.json diff --git a/acupuncture-ui/public/favicon.ico b/acupuncture-前台/public/favicon.ico similarity index 100% rename from acupuncture-ui/public/favicon.ico rename to acupuncture-前台/public/favicon.ico diff --git a/acupuncture-ui/public/html/ie.html b/acupuncture-前台/public/html/ie.html similarity index 100% rename from acupuncture-ui/public/html/ie.html rename to acupuncture-前台/public/html/ie.html diff --git a/acupuncture-ui/public/index.html b/acupuncture-前台/public/index.html similarity index 100% rename from acupuncture-ui/public/index.html rename to acupuncture-前台/public/index.html diff --git a/acupuncture-ui/public/robots.txt b/acupuncture-前台/public/robots.txt similarity index 100% rename from acupuncture-ui/public/robots.txt rename to acupuncture-前台/public/robots.txt diff --git a/acupuncture-ui/public/styles/theme-chalk/index.css b/acupuncture-前台/public/styles/theme-chalk/index.css similarity index 100% rename from acupuncture-ui/public/styles/theme-chalk/index.css rename to acupuncture-前台/public/styles/theme-chalk/index.css diff --git a/acupuncture-ui/src/App.vue b/acupuncture-前台/src/App.vue similarity index 100% rename from acupuncture-ui/src/App.vue rename to acupuncture-前台/src/App.vue diff --git a/acupuncture-ui/src/api/followupFile.js b/acupuncture-前台/src/api/followupFile.js similarity index 100% rename from acupuncture-ui/src/api/followupFile.js rename to acupuncture-前台/src/api/followupFile.js diff --git a/acupuncture-ui/src/api/login.js b/acupuncture-前台/src/api/login.js similarity index 100% rename from acupuncture-ui/src/api/login.js rename to acupuncture-前台/src/api/login.js diff --git a/acupuncture-ui/src/api/medicalFile.js b/acupuncture-前台/src/api/medicalFile.js similarity index 100% rename from acupuncture-ui/src/api/medicalFile.js rename to acupuncture-前台/src/api/medicalFile.js diff --git a/acupuncture-ui/src/api/menu.js b/acupuncture-前台/src/api/menu.js similarity index 100% rename from acupuncture-ui/src/api/menu.js rename to acupuncture-前台/src/api/menu.js diff --git a/acupuncture-ui/src/api/monitor/cache.js b/acupuncture-前台/src/api/monitor/cache.js similarity index 100% rename from acupuncture-ui/src/api/monitor/cache.js rename to acupuncture-前台/src/api/monitor/cache.js diff --git a/acupuncture-ui/src/api/monitor/job.js b/acupuncture-前台/src/api/monitor/job.js similarity index 100% rename from acupuncture-ui/src/api/monitor/job.js rename to acupuncture-前台/src/api/monitor/job.js diff --git a/acupuncture-ui/src/api/monitor/jobLog.js b/acupuncture-前台/src/api/monitor/jobLog.js similarity index 100% rename from acupuncture-ui/src/api/monitor/jobLog.js rename to acupuncture-前台/src/api/monitor/jobLog.js diff --git a/acupuncture-ui/src/api/monitor/logininfor.js b/acupuncture-前台/src/api/monitor/logininfor.js similarity index 100% rename from acupuncture-ui/src/api/monitor/logininfor.js rename to acupuncture-前台/src/api/monitor/logininfor.js diff --git a/acupuncture-ui/src/api/monitor/online.js b/acupuncture-前台/src/api/monitor/online.js similarity index 100% rename from acupuncture-ui/src/api/monitor/online.js rename to acupuncture-前台/src/api/monitor/online.js diff --git a/acupuncture-ui/src/api/monitor/operlog.js b/acupuncture-前台/src/api/monitor/operlog.js similarity index 100% rename from acupuncture-ui/src/api/monitor/operlog.js rename to acupuncture-前台/src/api/monitor/operlog.js diff --git a/acupuncture-ui/src/api/monitor/server.js b/acupuncture-前台/src/api/monitor/server.js similarity index 100% rename from acupuncture-ui/src/api/monitor/server.js rename to acupuncture-前台/src/api/monitor/server.js diff --git a/acupuncture-ui/src/api/patientFile.js b/acupuncture-前台/src/api/patientFile.js similarity index 100% rename from acupuncture-ui/src/api/patientFile.js rename to acupuncture-前台/src/api/patientFile.js diff --git a/acupuncture-ui/src/api/system/config.js b/acupuncture-前台/src/api/system/config.js similarity index 100% rename from acupuncture-ui/src/api/system/config.js rename to acupuncture-前台/src/api/system/config.js diff --git a/acupuncture-ui/src/api/system/dept.js b/acupuncture-前台/src/api/system/dept.js similarity index 100% rename from acupuncture-ui/src/api/system/dept.js rename to acupuncture-前台/src/api/system/dept.js diff --git a/acupuncture-ui/src/api/system/dict/data.js b/acupuncture-前台/src/api/system/dict/data.js similarity index 100% rename from acupuncture-ui/src/api/system/dict/data.js rename to acupuncture-前台/src/api/system/dict/data.js diff --git a/acupuncture-ui/src/api/system/dict/type.js b/acupuncture-前台/src/api/system/dict/type.js similarity index 100% rename from acupuncture-ui/src/api/system/dict/type.js rename to acupuncture-前台/src/api/system/dict/type.js diff --git a/acupuncture-ui/src/api/system/menu.js b/acupuncture-前台/src/api/system/menu.js similarity index 100% rename from acupuncture-ui/src/api/system/menu.js rename to acupuncture-前台/src/api/system/menu.js diff --git a/acupuncture-ui/src/api/system/notice.js b/acupuncture-前台/src/api/system/notice.js similarity index 100% rename from acupuncture-ui/src/api/system/notice.js rename to acupuncture-前台/src/api/system/notice.js diff --git a/acupuncture-ui/src/api/system/post.js b/acupuncture-前台/src/api/system/post.js similarity index 100% rename from acupuncture-ui/src/api/system/post.js rename to acupuncture-前台/src/api/system/post.js diff --git a/acupuncture-ui/src/api/system/role.js b/acupuncture-前台/src/api/system/role.js similarity index 100% rename from acupuncture-ui/src/api/system/role.js rename to acupuncture-前台/src/api/system/role.js diff --git a/acupuncture-ui/src/api/system/user.js b/acupuncture-前台/src/api/system/user.js similarity index 100% rename from acupuncture-ui/src/api/system/user.js rename to acupuncture-前台/src/api/system/user.js diff --git a/acupuncture-ui/src/api/tool/gen.js b/acupuncture-前台/src/api/tool/gen.js similarity index 100% rename from acupuncture-ui/src/api/tool/gen.js rename to acupuncture-前台/src/api/tool/gen.js diff --git a/acupuncture-ui/src/assets/401_images/401.gif b/acupuncture-前台/src/assets/401_images/401.gif similarity index 100% rename from acupuncture-ui/src/assets/401_images/401.gif rename to acupuncture-前台/src/assets/401_images/401.gif diff --git a/acupuncture-ui/src/assets/404_images/404.png b/acupuncture-前台/src/assets/404_images/404.png similarity index 100% rename from acupuncture-ui/src/assets/404_images/404.png rename to acupuncture-前台/src/assets/404_images/404.png diff --git a/acupuncture-ui/src/assets/404_images/404_cloud.png b/acupuncture-前台/src/assets/404_images/404_cloud.png similarity index 100% rename from acupuncture-ui/src/assets/404_images/404_cloud.png rename to acupuncture-前台/src/assets/404_images/404_cloud.png diff --git a/acupuncture-ui/src/assets/icons/index.js b/acupuncture-前台/src/assets/icons/index.js similarity index 100% rename from acupuncture-ui/src/assets/icons/index.js rename to acupuncture-前台/src/assets/icons/index.js diff --git a/acupuncture-ui/src/assets/icons/svg/404.svg b/acupuncture-前台/src/assets/icons/svg/404.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/404.svg rename to acupuncture-前台/src/assets/icons/svg/404.svg diff --git a/acupuncture-ui/src/assets/icons/svg/bug.svg b/acupuncture-前台/src/assets/icons/svg/bug.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/bug.svg rename to acupuncture-前台/src/assets/icons/svg/bug.svg diff --git a/acupuncture-ui/src/assets/icons/svg/build.svg b/acupuncture-前台/src/assets/icons/svg/build.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/build.svg rename to acupuncture-前台/src/assets/icons/svg/build.svg diff --git a/acupuncture-ui/src/assets/icons/svg/button.svg b/acupuncture-前台/src/assets/icons/svg/button.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/button.svg rename to acupuncture-前台/src/assets/icons/svg/button.svg diff --git a/acupuncture-ui/src/assets/icons/svg/cascader.svg b/acupuncture-前台/src/assets/icons/svg/cascader.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/cascader.svg rename to acupuncture-前台/src/assets/icons/svg/cascader.svg diff --git a/acupuncture-ui/src/assets/icons/svg/chart.svg b/acupuncture-前台/src/assets/icons/svg/chart.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/chart.svg rename to acupuncture-前台/src/assets/icons/svg/chart.svg diff --git a/acupuncture-ui/src/assets/icons/svg/checkbox.svg b/acupuncture-前台/src/assets/icons/svg/checkbox.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/checkbox.svg rename to acupuncture-前台/src/assets/icons/svg/checkbox.svg diff --git a/acupuncture-ui/src/assets/icons/svg/clipboard.svg b/acupuncture-前台/src/assets/icons/svg/clipboard.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/clipboard.svg rename to acupuncture-前台/src/assets/icons/svg/clipboard.svg diff --git a/acupuncture-ui/src/assets/icons/svg/code.svg b/acupuncture-前台/src/assets/icons/svg/code.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/code.svg rename to acupuncture-前台/src/assets/icons/svg/code.svg diff --git a/acupuncture-ui/src/assets/icons/svg/color.svg b/acupuncture-前台/src/assets/icons/svg/color.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/color.svg rename to acupuncture-前台/src/assets/icons/svg/color.svg diff --git a/acupuncture-ui/src/assets/icons/svg/component.svg b/acupuncture-前台/src/assets/icons/svg/component.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/component.svg rename to acupuncture-前台/src/assets/icons/svg/component.svg diff --git a/acupuncture-ui/src/assets/icons/svg/dashboard.svg b/acupuncture-前台/src/assets/icons/svg/dashboard.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/dashboard.svg rename to acupuncture-前台/src/assets/icons/svg/dashboard.svg diff --git a/acupuncture-ui/src/assets/icons/svg/date-range.svg b/acupuncture-前台/src/assets/icons/svg/date-range.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/date-range.svg rename to acupuncture-前台/src/assets/icons/svg/date-range.svg diff --git a/acupuncture-ui/src/assets/icons/svg/date.svg b/acupuncture-前台/src/assets/icons/svg/date.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/date.svg rename to acupuncture-前台/src/assets/icons/svg/date.svg diff --git a/acupuncture-ui/src/assets/icons/svg/dict.svg b/acupuncture-前台/src/assets/icons/svg/dict.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/dict.svg rename to acupuncture-前台/src/assets/icons/svg/dict.svg diff --git a/acupuncture-ui/src/assets/icons/svg/documentation.svg b/acupuncture-前台/src/assets/icons/svg/documentation.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/documentation.svg rename to acupuncture-前台/src/assets/icons/svg/documentation.svg diff --git a/acupuncture-ui/src/assets/icons/svg/download.svg b/acupuncture-前台/src/assets/icons/svg/download.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/download.svg rename to acupuncture-前台/src/assets/icons/svg/download.svg diff --git a/acupuncture-ui/src/assets/icons/svg/drag.svg b/acupuncture-前台/src/assets/icons/svg/drag.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/drag.svg rename to acupuncture-前台/src/assets/icons/svg/drag.svg diff --git a/acupuncture-ui/src/assets/icons/svg/druid.svg b/acupuncture-前台/src/assets/icons/svg/druid.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/druid.svg rename to acupuncture-前台/src/assets/icons/svg/druid.svg diff --git a/acupuncture-ui/src/assets/icons/svg/edit.svg b/acupuncture-前台/src/assets/icons/svg/edit.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/edit.svg rename to acupuncture-前台/src/assets/icons/svg/edit.svg diff --git a/acupuncture-ui/src/assets/icons/svg/education.svg b/acupuncture-前台/src/assets/icons/svg/education.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/education.svg rename to acupuncture-前台/src/assets/icons/svg/education.svg diff --git a/acupuncture-ui/src/assets/icons/svg/email.svg b/acupuncture-前台/src/assets/icons/svg/email.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/email.svg rename to acupuncture-前台/src/assets/icons/svg/email.svg diff --git a/acupuncture-ui/src/assets/icons/svg/example.svg b/acupuncture-前台/src/assets/icons/svg/example.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/example.svg rename to acupuncture-前台/src/assets/icons/svg/example.svg diff --git a/acupuncture-ui/src/assets/icons/svg/excel.svg b/acupuncture-前台/src/assets/icons/svg/excel.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/excel.svg rename to acupuncture-前台/src/assets/icons/svg/excel.svg diff --git a/acupuncture-ui/src/assets/icons/svg/exit-fullscreen.svg b/acupuncture-前台/src/assets/icons/svg/exit-fullscreen.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/exit-fullscreen.svg rename to acupuncture-前台/src/assets/icons/svg/exit-fullscreen.svg diff --git a/acupuncture-ui/src/assets/icons/svg/eye-open.svg b/acupuncture-前台/src/assets/icons/svg/eye-open.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/eye-open.svg rename to acupuncture-前台/src/assets/icons/svg/eye-open.svg diff --git a/acupuncture-ui/src/assets/icons/svg/eye.svg b/acupuncture-前台/src/assets/icons/svg/eye.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/eye.svg rename to acupuncture-前台/src/assets/icons/svg/eye.svg diff --git a/acupuncture-ui/src/assets/icons/svg/form.svg b/acupuncture-前台/src/assets/icons/svg/form.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/form.svg rename to acupuncture-前台/src/assets/icons/svg/form.svg diff --git a/acupuncture-ui/src/assets/icons/svg/fullscreen.svg b/acupuncture-前台/src/assets/icons/svg/fullscreen.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/fullscreen.svg rename to acupuncture-前台/src/assets/icons/svg/fullscreen.svg diff --git a/acupuncture-ui/src/assets/icons/svg/github.svg b/acupuncture-前台/src/assets/icons/svg/github.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/github.svg rename to acupuncture-前台/src/assets/icons/svg/github.svg diff --git a/acupuncture-ui/src/assets/icons/svg/guide.svg b/acupuncture-前台/src/assets/icons/svg/guide.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/guide.svg rename to acupuncture-前台/src/assets/icons/svg/guide.svg diff --git a/acupuncture-ui/src/assets/icons/svg/icon.svg b/acupuncture-前台/src/assets/icons/svg/icon.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/icon.svg rename to acupuncture-前台/src/assets/icons/svg/icon.svg diff --git a/acupuncture-ui/src/assets/icons/svg/input.svg b/acupuncture-前台/src/assets/icons/svg/input.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/input.svg rename to acupuncture-前台/src/assets/icons/svg/input.svg diff --git a/acupuncture-ui/src/assets/icons/svg/international.svg b/acupuncture-前台/src/assets/icons/svg/international.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/international.svg rename to acupuncture-前台/src/assets/icons/svg/international.svg diff --git a/acupuncture-ui/src/assets/icons/svg/job.svg b/acupuncture-前台/src/assets/icons/svg/job.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/job.svg rename to acupuncture-前台/src/assets/icons/svg/job.svg diff --git a/acupuncture-ui/src/assets/icons/svg/language.svg b/acupuncture-前台/src/assets/icons/svg/language.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/language.svg rename to acupuncture-前台/src/assets/icons/svg/language.svg diff --git a/acupuncture-ui/src/assets/icons/svg/link.svg b/acupuncture-前台/src/assets/icons/svg/link.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/link.svg rename to acupuncture-前台/src/assets/icons/svg/link.svg diff --git a/acupuncture-ui/src/assets/icons/svg/list.svg b/acupuncture-前台/src/assets/icons/svg/list.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/list.svg rename to acupuncture-前台/src/assets/icons/svg/list.svg diff --git a/acupuncture-ui/src/assets/icons/svg/lock.svg b/acupuncture-前台/src/assets/icons/svg/lock.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/lock.svg rename to acupuncture-前台/src/assets/icons/svg/lock.svg diff --git a/acupuncture-ui/src/assets/icons/svg/log.svg b/acupuncture-前台/src/assets/icons/svg/log.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/log.svg rename to acupuncture-前台/src/assets/icons/svg/log.svg diff --git a/acupuncture-ui/src/assets/icons/svg/logininfor.svg b/acupuncture-前台/src/assets/icons/svg/logininfor.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/logininfor.svg rename to acupuncture-前台/src/assets/icons/svg/logininfor.svg diff --git a/acupuncture-ui/src/assets/icons/svg/message.svg b/acupuncture-前台/src/assets/icons/svg/message.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/message.svg rename to acupuncture-前台/src/assets/icons/svg/message.svg diff --git a/acupuncture-ui/src/assets/icons/svg/money.svg b/acupuncture-前台/src/assets/icons/svg/money.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/money.svg rename to acupuncture-前台/src/assets/icons/svg/money.svg diff --git a/acupuncture-ui/src/assets/icons/svg/monitor.svg b/acupuncture-前台/src/assets/icons/svg/monitor.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/monitor.svg rename to acupuncture-前台/src/assets/icons/svg/monitor.svg diff --git a/acupuncture-ui/src/assets/icons/svg/nested.svg b/acupuncture-前台/src/assets/icons/svg/nested.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/nested.svg rename to acupuncture-前台/src/assets/icons/svg/nested.svg diff --git a/acupuncture-ui/src/assets/icons/svg/number.svg b/acupuncture-前台/src/assets/icons/svg/number.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/number.svg rename to acupuncture-前台/src/assets/icons/svg/number.svg diff --git a/acupuncture-ui/src/assets/icons/svg/online.svg b/acupuncture-前台/src/assets/icons/svg/online.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/online.svg rename to acupuncture-前台/src/assets/icons/svg/online.svg diff --git a/acupuncture-ui/src/assets/icons/svg/password.svg b/acupuncture-前台/src/assets/icons/svg/password.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/password.svg rename to acupuncture-前台/src/assets/icons/svg/password.svg diff --git a/acupuncture-ui/src/assets/icons/svg/pdf.svg b/acupuncture-前台/src/assets/icons/svg/pdf.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/pdf.svg rename to acupuncture-前台/src/assets/icons/svg/pdf.svg diff --git a/acupuncture-ui/src/assets/icons/svg/people.svg b/acupuncture-前台/src/assets/icons/svg/people.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/people.svg rename to acupuncture-前台/src/assets/icons/svg/people.svg diff --git a/acupuncture-ui/src/assets/icons/svg/peoples.svg b/acupuncture-前台/src/assets/icons/svg/peoples.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/peoples.svg rename to acupuncture-前台/src/assets/icons/svg/peoples.svg diff --git a/acupuncture-ui/src/assets/icons/svg/phone.svg b/acupuncture-前台/src/assets/icons/svg/phone.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/phone.svg rename to acupuncture-前台/src/assets/icons/svg/phone.svg diff --git a/acupuncture-ui/src/assets/icons/svg/post.svg b/acupuncture-前台/src/assets/icons/svg/post.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/post.svg rename to acupuncture-前台/src/assets/icons/svg/post.svg diff --git a/acupuncture-ui/src/assets/icons/svg/qq.svg b/acupuncture-前台/src/assets/icons/svg/qq.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/qq.svg rename to acupuncture-前台/src/assets/icons/svg/qq.svg diff --git a/acupuncture-ui/src/assets/icons/svg/question.svg b/acupuncture-前台/src/assets/icons/svg/question.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/question.svg rename to acupuncture-前台/src/assets/icons/svg/question.svg diff --git a/acupuncture-ui/src/assets/icons/svg/radio.svg b/acupuncture-前台/src/assets/icons/svg/radio.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/radio.svg rename to acupuncture-前台/src/assets/icons/svg/radio.svg diff --git a/acupuncture-ui/src/assets/icons/svg/rate.svg b/acupuncture-前台/src/assets/icons/svg/rate.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/rate.svg rename to acupuncture-前台/src/assets/icons/svg/rate.svg diff --git a/acupuncture-ui/src/assets/icons/svg/redis-list.svg b/acupuncture-前台/src/assets/icons/svg/redis-list.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/redis-list.svg rename to acupuncture-前台/src/assets/icons/svg/redis-list.svg diff --git a/acupuncture-ui/src/assets/icons/svg/redis.svg b/acupuncture-前台/src/assets/icons/svg/redis.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/redis.svg rename to acupuncture-前台/src/assets/icons/svg/redis.svg diff --git a/acupuncture-ui/src/assets/icons/svg/row.svg b/acupuncture-前台/src/assets/icons/svg/row.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/row.svg rename to acupuncture-前台/src/assets/icons/svg/row.svg diff --git a/acupuncture-ui/src/assets/icons/svg/search.svg b/acupuncture-前台/src/assets/icons/svg/search.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/search.svg rename to acupuncture-前台/src/assets/icons/svg/search.svg diff --git a/acupuncture-ui/src/assets/icons/svg/select.svg b/acupuncture-前台/src/assets/icons/svg/select.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/select.svg rename to acupuncture-前台/src/assets/icons/svg/select.svg diff --git a/acupuncture-ui/src/assets/icons/svg/server.svg b/acupuncture-前台/src/assets/icons/svg/server.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/server.svg rename to acupuncture-前台/src/assets/icons/svg/server.svg diff --git a/acupuncture-ui/src/assets/icons/svg/shopping.svg b/acupuncture-前台/src/assets/icons/svg/shopping.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/shopping.svg rename to acupuncture-前台/src/assets/icons/svg/shopping.svg diff --git a/acupuncture-ui/src/assets/icons/svg/size.svg b/acupuncture-前台/src/assets/icons/svg/size.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/size.svg rename to acupuncture-前台/src/assets/icons/svg/size.svg diff --git a/acupuncture-ui/src/assets/icons/svg/skill.svg b/acupuncture-前台/src/assets/icons/svg/skill.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/skill.svg rename to acupuncture-前台/src/assets/icons/svg/skill.svg diff --git a/acupuncture-ui/src/assets/icons/svg/slider.svg b/acupuncture-前台/src/assets/icons/svg/slider.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/slider.svg rename to acupuncture-前台/src/assets/icons/svg/slider.svg diff --git a/acupuncture-ui/src/assets/icons/svg/star.svg b/acupuncture-前台/src/assets/icons/svg/star.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/star.svg rename to acupuncture-前台/src/assets/icons/svg/star.svg diff --git a/acupuncture-ui/src/assets/icons/svg/swagger.svg b/acupuncture-前台/src/assets/icons/svg/swagger.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/swagger.svg rename to acupuncture-前台/src/assets/icons/svg/swagger.svg diff --git a/acupuncture-ui/src/assets/icons/svg/switch.svg b/acupuncture-前台/src/assets/icons/svg/switch.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/switch.svg rename to acupuncture-前台/src/assets/icons/svg/switch.svg diff --git a/acupuncture-ui/src/assets/icons/svg/system.svg b/acupuncture-前台/src/assets/icons/svg/system.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/system.svg rename to acupuncture-前台/src/assets/icons/svg/system.svg diff --git a/acupuncture-ui/src/assets/icons/svg/tab.svg b/acupuncture-前台/src/assets/icons/svg/tab.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/tab.svg rename to acupuncture-前台/src/assets/icons/svg/tab.svg diff --git a/acupuncture-ui/src/assets/icons/svg/table.svg b/acupuncture-前台/src/assets/icons/svg/table.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/table.svg rename to acupuncture-前台/src/assets/icons/svg/table.svg diff --git a/acupuncture-ui/src/assets/icons/svg/textarea.svg b/acupuncture-前台/src/assets/icons/svg/textarea.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/textarea.svg rename to acupuncture-前台/src/assets/icons/svg/textarea.svg diff --git a/acupuncture-ui/src/assets/icons/svg/theme.svg b/acupuncture-前台/src/assets/icons/svg/theme.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/theme.svg rename to acupuncture-前台/src/assets/icons/svg/theme.svg diff --git a/acupuncture-ui/src/assets/icons/svg/time-range.svg b/acupuncture-前台/src/assets/icons/svg/time-range.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/time-range.svg rename to acupuncture-前台/src/assets/icons/svg/time-range.svg diff --git a/acupuncture-ui/src/assets/icons/svg/time.svg b/acupuncture-前台/src/assets/icons/svg/time.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/time.svg rename to acupuncture-前台/src/assets/icons/svg/time.svg diff --git a/acupuncture-ui/src/assets/icons/svg/tool.svg b/acupuncture-前台/src/assets/icons/svg/tool.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/tool.svg rename to acupuncture-前台/src/assets/icons/svg/tool.svg diff --git a/acupuncture-ui/src/assets/icons/svg/tree-table.svg b/acupuncture-前台/src/assets/icons/svg/tree-table.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/tree-table.svg rename to acupuncture-前台/src/assets/icons/svg/tree-table.svg diff --git a/acupuncture-ui/src/assets/icons/svg/tree.svg b/acupuncture-前台/src/assets/icons/svg/tree.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/tree.svg rename to acupuncture-前台/src/assets/icons/svg/tree.svg diff --git a/acupuncture-ui/src/assets/icons/svg/upload.svg b/acupuncture-前台/src/assets/icons/svg/upload.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/upload.svg rename to acupuncture-前台/src/assets/icons/svg/upload.svg diff --git a/acupuncture-ui/src/assets/icons/svg/user.svg b/acupuncture-前台/src/assets/icons/svg/user.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/user.svg rename to acupuncture-前台/src/assets/icons/svg/user.svg diff --git a/acupuncture-ui/src/assets/icons/svg/validCode.svg b/acupuncture-前台/src/assets/icons/svg/validCode.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/validCode.svg rename to acupuncture-前台/src/assets/icons/svg/validCode.svg diff --git a/acupuncture-ui/src/assets/icons/svg/wechat.svg b/acupuncture-前台/src/assets/icons/svg/wechat.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/wechat.svg rename to acupuncture-前台/src/assets/icons/svg/wechat.svg diff --git a/acupuncture-ui/src/assets/icons/svg/zip.svg b/acupuncture-前台/src/assets/icons/svg/zip.svg similarity index 100% rename from acupuncture-ui/src/assets/icons/svg/zip.svg rename to acupuncture-前台/src/assets/icons/svg/zip.svg diff --git a/acupuncture-ui/src/assets/icons/svgo.yml b/acupuncture-前台/src/assets/icons/svgo.yml similarity index 100% rename from acupuncture-ui/src/assets/icons/svgo.yml rename to acupuncture-前台/src/assets/icons/svgo.yml diff --git a/acupuncture-ui/src/assets/images/dark.svg b/acupuncture-前台/src/assets/images/dark.svg similarity index 100% rename from acupuncture-ui/src/assets/images/dark.svg rename to acupuncture-前台/src/assets/images/dark.svg diff --git a/acupuncture-ui/src/assets/images/light.svg b/acupuncture-前台/src/assets/images/light.svg similarity index 100% rename from acupuncture-ui/src/assets/images/light.svg rename to acupuncture-前台/src/assets/images/light.svg diff --git a/acupuncture-ui/src/assets/images/login-background.jpg b/acupuncture-前台/src/assets/images/login-background.jpg similarity index 100% rename from acupuncture-ui/src/assets/images/login-background.jpg rename to acupuncture-前台/src/assets/images/login-background.jpg diff --git a/acupuncture-ui/src/assets/images/pay.png b/acupuncture-前台/src/assets/images/pay.png similarity index 100% rename from acupuncture-ui/src/assets/images/pay.png rename to acupuncture-前台/src/assets/images/pay.png diff --git a/acupuncture-ui/src/assets/images/profile.jpg b/acupuncture-前台/src/assets/images/profile.jpg similarity index 100% rename from acupuncture-ui/src/assets/images/profile.jpg rename to acupuncture-前台/src/assets/images/profile.jpg diff --git a/acupuncture-ui/src/assets/logo/logo.png b/acupuncture-前台/src/assets/logo/logo.png similarity index 100% rename from acupuncture-ui/src/assets/logo/logo.png rename to acupuncture-前台/src/assets/logo/logo.png diff --git a/acupuncture-ui/src/assets/styles/btn.scss b/acupuncture-前台/src/assets/styles/btn.scss similarity index 100% rename from acupuncture-ui/src/assets/styles/btn.scss rename to acupuncture-前台/src/assets/styles/btn.scss diff --git a/acupuncture-ui/src/assets/styles/common.css b/acupuncture-前台/src/assets/styles/common.css similarity index 100% rename from acupuncture-ui/src/assets/styles/common.css rename to acupuncture-前台/src/assets/styles/common.css diff --git a/acupuncture-ui/src/assets/styles/element-ui.scss b/acupuncture-前台/src/assets/styles/element-ui.scss similarity index 100% rename from acupuncture-ui/src/assets/styles/element-ui.scss rename to acupuncture-前台/src/assets/styles/element-ui.scss diff --git a/acupuncture-ui/src/assets/styles/element-variables.scss b/acupuncture-前台/src/assets/styles/element-variables.scss similarity index 100% rename from acupuncture-ui/src/assets/styles/element-variables.scss rename to acupuncture-前台/src/assets/styles/element-variables.scss diff --git a/acupuncture-ui/src/assets/styles/index.scss b/acupuncture-前台/src/assets/styles/index.scss similarity index 100% rename from acupuncture-ui/src/assets/styles/index.scss rename to acupuncture-前台/src/assets/styles/index.scss diff --git a/acupuncture-ui/src/assets/styles/mixin.scss b/acupuncture-前台/src/assets/styles/mixin.scss similarity index 100% rename from acupuncture-ui/src/assets/styles/mixin.scss rename to acupuncture-前台/src/assets/styles/mixin.scss diff --git a/acupuncture-ui/src/assets/styles/ruoyi.scss b/acupuncture-前台/src/assets/styles/ruoyi.scss similarity index 100% rename from acupuncture-ui/src/assets/styles/ruoyi.scss rename to acupuncture-前台/src/assets/styles/ruoyi.scss diff --git a/acupuncture-ui/src/assets/styles/sidebar.scss b/acupuncture-前台/src/assets/styles/sidebar.scss similarity index 100% rename from acupuncture-ui/src/assets/styles/sidebar.scss rename to acupuncture-前台/src/assets/styles/sidebar.scss diff --git a/acupuncture-ui/src/assets/styles/transition.scss b/acupuncture-前台/src/assets/styles/transition.scss similarity index 100% rename from acupuncture-ui/src/assets/styles/transition.scss rename to acupuncture-前台/src/assets/styles/transition.scss diff --git a/acupuncture-ui/src/assets/styles/variables.scss b/acupuncture-前台/src/assets/styles/variables.scss similarity index 100% rename from acupuncture-ui/src/assets/styles/variables.scss rename to acupuncture-前台/src/assets/styles/variables.scss diff --git a/acupuncture-ui/src/components/Breadcrumb/index.vue b/acupuncture-前台/src/components/Breadcrumb/index.vue similarity index 100% rename from acupuncture-ui/src/components/Breadcrumb/index.vue rename to acupuncture-前台/src/components/Breadcrumb/index.vue diff --git a/acupuncture-ui/src/components/Crontab/day.vue b/acupuncture-前台/src/components/Crontab/day.vue similarity index 100% rename from acupuncture-ui/src/components/Crontab/day.vue rename to acupuncture-前台/src/components/Crontab/day.vue diff --git a/acupuncture-ui/src/components/Crontab/hour.vue b/acupuncture-前台/src/components/Crontab/hour.vue similarity index 100% rename from acupuncture-ui/src/components/Crontab/hour.vue rename to acupuncture-前台/src/components/Crontab/hour.vue diff --git a/acupuncture-ui/src/components/Crontab/index.vue b/acupuncture-前台/src/components/Crontab/index.vue similarity index 100% rename from acupuncture-ui/src/components/Crontab/index.vue rename to acupuncture-前台/src/components/Crontab/index.vue diff --git a/acupuncture-ui/src/components/Crontab/min.vue b/acupuncture-前台/src/components/Crontab/min.vue similarity index 100% rename from acupuncture-ui/src/components/Crontab/min.vue rename to acupuncture-前台/src/components/Crontab/min.vue diff --git a/acupuncture-ui/src/components/Crontab/month.vue b/acupuncture-前台/src/components/Crontab/month.vue similarity index 100% rename from acupuncture-ui/src/components/Crontab/month.vue rename to acupuncture-前台/src/components/Crontab/month.vue diff --git a/acupuncture-ui/src/components/Crontab/result.vue b/acupuncture-前台/src/components/Crontab/result.vue similarity index 100% rename from acupuncture-ui/src/components/Crontab/result.vue rename to acupuncture-前台/src/components/Crontab/result.vue diff --git a/acupuncture-ui/src/components/Crontab/second.vue b/acupuncture-前台/src/components/Crontab/second.vue similarity index 100% rename from acupuncture-ui/src/components/Crontab/second.vue rename to acupuncture-前台/src/components/Crontab/second.vue diff --git a/acupuncture-ui/src/components/Crontab/week.vue b/acupuncture-前台/src/components/Crontab/week.vue similarity index 100% rename from acupuncture-ui/src/components/Crontab/week.vue rename to acupuncture-前台/src/components/Crontab/week.vue diff --git a/acupuncture-ui/src/components/Crontab/year.vue b/acupuncture-前台/src/components/Crontab/year.vue similarity index 100% rename from acupuncture-ui/src/components/Crontab/year.vue rename to acupuncture-前台/src/components/Crontab/year.vue diff --git a/acupuncture-ui/src/components/DictData/index.js b/acupuncture-前台/src/components/DictData/index.js similarity index 100% rename from acupuncture-ui/src/components/DictData/index.js rename to acupuncture-前台/src/components/DictData/index.js diff --git a/acupuncture-ui/src/components/DictTag/index.vue b/acupuncture-前台/src/components/DictTag/index.vue similarity index 100% rename from acupuncture-ui/src/components/DictTag/index.vue rename to acupuncture-前台/src/components/DictTag/index.vue diff --git a/acupuncture-ui/src/components/Editor/index.vue b/acupuncture-前台/src/components/Editor/index.vue similarity index 100% rename from acupuncture-ui/src/components/Editor/index.vue rename to acupuncture-前台/src/components/Editor/index.vue diff --git a/acupuncture-ui/src/components/FileUpload/index.vue b/acupuncture-前台/src/components/FileUpload/index.vue similarity index 100% rename from acupuncture-ui/src/components/FileUpload/index.vue rename to acupuncture-前台/src/components/FileUpload/index.vue diff --git a/acupuncture-ui/src/components/Hamburger/index.vue b/acupuncture-前台/src/components/Hamburger/index.vue similarity index 100% rename from acupuncture-ui/src/components/Hamburger/index.vue rename to acupuncture-前台/src/components/Hamburger/index.vue diff --git a/acupuncture-ui/src/components/HeaderSearch/index.vue b/acupuncture-前台/src/components/HeaderSearch/index.vue similarity index 100% rename from acupuncture-ui/src/components/HeaderSearch/index.vue rename to acupuncture-前台/src/components/HeaderSearch/index.vue diff --git a/acupuncture-ui/src/components/IconSelect/index.vue b/acupuncture-前台/src/components/IconSelect/index.vue similarity index 100% rename from acupuncture-ui/src/components/IconSelect/index.vue rename to acupuncture-前台/src/components/IconSelect/index.vue diff --git a/acupuncture-ui/src/components/IconSelect/requireIcons.js b/acupuncture-前台/src/components/IconSelect/requireIcons.js similarity index 100% rename from acupuncture-ui/src/components/IconSelect/requireIcons.js rename to acupuncture-前台/src/components/IconSelect/requireIcons.js diff --git a/acupuncture-ui/src/components/ImagePreview/index.vue b/acupuncture-前台/src/components/ImagePreview/index.vue similarity index 100% rename from acupuncture-ui/src/components/ImagePreview/index.vue rename to acupuncture-前台/src/components/ImagePreview/index.vue diff --git a/acupuncture-ui/src/components/ImageUpload/index.vue b/acupuncture-前台/src/components/ImageUpload/index.vue similarity index 100% rename from acupuncture-ui/src/components/ImageUpload/index.vue rename to acupuncture-前台/src/components/ImageUpload/index.vue diff --git a/acupuncture-ui/src/components/Pagination/index.vue b/acupuncture-前台/src/components/Pagination/index.vue similarity index 100% rename from acupuncture-ui/src/components/Pagination/index.vue rename to acupuncture-前台/src/components/Pagination/index.vue diff --git a/acupuncture-ui/src/components/PanThumb/index.vue b/acupuncture-前台/src/components/PanThumb/index.vue similarity index 100% rename from acupuncture-ui/src/components/PanThumb/index.vue rename to acupuncture-前台/src/components/PanThumb/index.vue diff --git a/acupuncture-ui/src/components/ParentView/index.vue b/acupuncture-前台/src/components/ParentView/index.vue similarity index 100% rename from acupuncture-ui/src/components/ParentView/index.vue rename to acupuncture-前台/src/components/ParentView/index.vue diff --git a/acupuncture-ui/src/components/RightPanel/index.vue b/acupuncture-前台/src/components/RightPanel/index.vue similarity index 100% rename from acupuncture-ui/src/components/RightPanel/index.vue rename to acupuncture-前台/src/components/RightPanel/index.vue diff --git a/acupuncture-ui/src/components/RightToolbar/index.vue b/acupuncture-前台/src/components/RightToolbar/index.vue similarity index 100% rename from acupuncture-ui/src/components/RightToolbar/index.vue rename to acupuncture-前台/src/components/RightToolbar/index.vue diff --git a/acupuncture-ui/src/components/RuoYi/Doc/index.vue b/acupuncture-前台/src/components/RuoYi/Doc/index.vue similarity index 100% rename from acupuncture-ui/src/components/RuoYi/Doc/index.vue rename to acupuncture-前台/src/components/RuoYi/Doc/index.vue diff --git a/acupuncture-ui/src/components/RuoYi/Git/index.vue b/acupuncture-前台/src/components/RuoYi/Git/index.vue similarity index 100% rename from acupuncture-ui/src/components/RuoYi/Git/index.vue rename to acupuncture-前台/src/components/RuoYi/Git/index.vue diff --git a/acupuncture-ui/src/components/Screenfull/index.vue b/acupuncture-前台/src/components/Screenfull/index.vue similarity index 100% rename from acupuncture-ui/src/components/Screenfull/index.vue rename to acupuncture-前台/src/components/Screenfull/index.vue diff --git a/acupuncture-ui/src/components/SizeSelect/index.vue b/acupuncture-前台/src/components/SizeSelect/index.vue similarity index 100% rename from acupuncture-ui/src/components/SizeSelect/index.vue rename to acupuncture-前台/src/components/SizeSelect/index.vue diff --git a/acupuncture-ui/src/components/SvgIcon/index.vue b/acupuncture-前台/src/components/SvgIcon/index.vue similarity index 100% rename from acupuncture-ui/src/components/SvgIcon/index.vue rename to acupuncture-前台/src/components/SvgIcon/index.vue diff --git a/acupuncture-ui/src/components/ThemePicker/index.vue b/acupuncture-前台/src/components/ThemePicker/index.vue similarity index 100% rename from acupuncture-ui/src/components/ThemePicker/index.vue rename to acupuncture-前台/src/components/ThemePicker/index.vue diff --git a/acupuncture-ui/src/components/TopNav/index.vue b/acupuncture-前台/src/components/TopNav/index.vue similarity index 100% rename from acupuncture-ui/src/components/TopNav/index.vue rename to acupuncture-前台/src/components/TopNav/index.vue diff --git a/acupuncture-ui/src/components/iFrame/index.vue b/acupuncture-前台/src/components/iFrame/index.vue similarity index 100% rename from acupuncture-ui/src/components/iFrame/index.vue rename to acupuncture-前台/src/components/iFrame/index.vue diff --git a/acupuncture-ui/src/directive/dialog/drag.js b/acupuncture-前台/src/directive/dialog/drag.js similarity index 100% rename from acupuncture-ui/src/directive/dialog/drag.js rename to acupuncture-前台/src/directive/dialog/drag.js diff --git a/acupuncture-ui/src/directive/dialog/dragHeight.js b/acupuncture-前台/src/directive/dialog/dragHeight.js similarity index 100% rename from acupuncture-ui/src/directive/dialog/dragHeight.js rename to acupuncture-前台/src/directive/dialog/dragHeight.js diff --git a/acupuncture-ui/src/directive/dialog/dragWidth.js b/acupuncture-前台/src/directive/dialog/dragWidth.js similarity index 100% rename from acupuncture-ui/src/directive/dialog/dragWidth.js rename to acupuncture-前台/src/directive/dialog/dragWidth.js diff --git a/acupuncture-ui/src/directive/index.js b/acupuncture-前台/src/directive/index.js similarity index 100% rename from acupuncture-ui/src/directive/index.js rename to acupuncture-前台/src/directive/index.js diff --git a/acupuncture-ui/src/directive/module/clipboard.js b/acupuncture-前台/src/directive/module/clipboard.js similarity index 100% rename from acupuncture-ui/src/directive/module/clipboard.js rename to acupuncture-前台/src/directive/module/clipboard.js diff --git a/acupuncture-ui/src/directive/permission/hasPermi.js b/acupuncture-前台/src/directive/permission/hasPermi.js similarity index 100% rename from acupuncture-ui/src/directive/permission/hasPermi.js rename to acupuncture-前台/src/directive/permission/hasPermi.js diff --git a/acupuncture-ui/src/directive/permission/hasRole.js b/acupuncture-前台/src/directive/permission/hasRole.js similarity index 100% rename from acupuncture-ui/src/directive/permission/hasRole.js rename to acupuncture-前台/src/directive/permission/hasRole.js diff --git a/acupuncture-ui/src/layout/components/AppMain.vue b/acupuncture-前台/src/layout/components/AppMain.vue similarity index 100% rename from acupuncture-ui/src/layout/components/AppMain.vue rename to acupuncture-前台/src/layout/components/AppMain.vue diff --git a/acupuncture-ui/src/layout/components/IframeToggle/index.vue b/acupuncture-前台/src/layout/components/IframeToggle/index.vue similarity index 100% rename from acupuncture-ui/src/layout/components/IframeToggle/index.vue rename to acupuncture-前台/src/layout/components/IframeToggle/index.vue diff --git a/acupuncture-ui/src/layout/components/InnerLink/index.vue b/acupuncture-前台/src/layout/components/InnerLink/index.vue similarity index 100% rename from acupuncture-ui/src/layout/components/InnerLink/index.vue rename to acupuncture-前台/src/layout/components/InnerLink/index.vue diff --git a/acupuncture-ui/src/layout/components/Navbar.vue b/acupuncture-前台/src/layout/components/Navbar.vue similarity index 100% rename from acupuncture-ui/src/layout/components/Navbar.vue rename to acupuncture-前台/src/layout/components/Navbar.vue diff --git a/acupuncture-ui/src/layout/components/Settings/index.vue b/acupuncture-前台/src/layout/components/Settings/index.vue similarity index 100% rename from acupuncture-ui/src/layout/components/Settings/index.vue rename to acupuncture-前台/src/layout/components/Settings/index.vue diff --git a/acupuncture-ui/src/layout/components/Sidebar/FixiOSBug.js b/acupuncture-前台/src/layout/components/Sidebar/FixiOSBug.js similarity index 100% rename from acupuncture-ui/src/layout/components/Sidebar/FixiOSBug.js rename to acupuncture-前台/src/layout/components/Sidebar/FixiOSBug.js diff --git a/acupuncture-ui/src/layout/components/Sidebar/Item.vue b/acupuncture-前台/src/layout/components/Sidebar/Item.vue similarity index 100% rename from acupuncture-ui/src/layout/components/Sidebar/Item.vue rename to acupuncture-前台/src/layout/components/Sidebar/Item.vue diff --git a/acupuncture-ui/src/layout/components/Sidebar/Link.vue b/acupuncture-前台/src/layout/components/Sidebar/Link.vue similarity index 100% rename from acupuncture-ui/src/layout/components/Sidebar/Link.vue rename to acupuncture-前台/src/layout/components/Sidebar/Link.vue diff --git a/acupuncture-ui/src/layout/components/Sidebar/Logo.vue b/acupuncture-前台/src/layout/components/Sidebar/Logo.vue similarity index 100% rename from acupuncture-ui/src/layout/components/Sidebar/Logo.vue rename to acupuncture-前台/src/layout/components/Sidebar/Logo.vue diff --git a/acupuncture-ui/src/layout/components/Sidebar/SidebarItem.vue b/acupuncture-前台/src/layout/components/Sidebar/SidebarItem.vue similarity index 100% rename from acupuncture-ui/src/layout/components/Sidebar/SidebarItem.vue rename to acupuncture-前台/src/layout/components/Sidebar/SidebarItem.vue diff --git a/acupuncture-ui/src/layout/components/Sidebar/index.vue b/acupuncture-前台/src/layout/components/Sidebar/index.vue similarity index 100% rename from acupuncture-ui/src/layout/components/Sidebar/index.vue rename to acupuncture-前台/src/layout/components/Sidebar/index.vue diff --git a/acupuncture-ui/src/layout/components/TagsView/ScrollPane.vue b/acupuncture-前台/src/layout/components/TagsView/ScrollPane.vue similarity index 100% rename from acupuncture-ui/src/layout/components/TagsView/ScrollPane.vue rename to acupuncture-前台/src/layout/components/TagsView/ScrollPane.vue diff --git a/acupuncture-ui/src/layout/components/TagsView/index.vue b/acupuncture-前台/src/layout/components/TagsView/index.vue similarity index 100% rename from acupuncture-ui/src/layout/components/TagsView/index.vue rename to acupuncture-前台/src/layout/components/TagsView/index.vue diff --git a/acupuncture-ui/src/layout/components/index.js b/acupuncture-前台/src/layout/components/index.js similarity index 100% rename from acupuncture-ui/src/layout/components/index.js rename to acupuncture-前台/src/layout/components/index.js diff --git a/acupuncture-ui/src/layout/index.vue b/acupuncture-前台/src/layout/index.vue similarity index 100% rename from acupuncture-ui/src/layout/index.vue rename to acupuncture-前台/src/layout/index.vue diff --git a/acupuncture-ui/src/layout/mixin/ResizeHandler.js b/acupuncture-前台/src/layout/mixin/ResizeHandler.js similarity index 100% rename from acupuncture-ui/src/layout/mixin/ResizeHandler.js rename to acupuncture-前台/src/layout/mixin/ResizeHandler.js diff --git a/acupuncture-ui/src/main.js b/acupuncture-前台/src/main.js similarity index 100% rename from acupuncture-ui/src/main.js rename to acupuncture-前台/src/main.js diff --git a/acupuncture-ui/src/permission.js b/acupuncture-前台/src/permission.js similarity index 100% rename from acupuncture-ui/src/permission.js rename to acupuncture-前台/src/permission.js diff --git a/acupuncture-ui/src/plugins/auth.js b/acupuncture-前台/src/plugins/auth.js similarity index 100% rename from acupuncture-ui/src/plugins/auth.js rename to acupuncture-前台/src/plugins/auth.js diff --git a/acupuncture-ui/src/plugins/cache.js b/acupuncture-前台/src/plugins/cache.js similarity index 100% rename from acupuncture-ui/src/plugins/cache.js rename to acupuncture-前台/src/plugins/cache.js diff --git a/acupuncture-ui/src/plugins/download.js b/acupuncture-前台/src/plugins/download.js similarity index 100% rename from acupuncture-ui/src/plugins/download.js rename to acupuncture-前台/src/plugins/download.js diff --git a/acupuncture-ui/src/plugins/index.js b/acupuncture-前台/src/plugins/index.js similarity index 100% rename from acupuncture-ui/src/plugins/index.js rename to acupuncture-前台/src/plugins/index.js diff --git a/acupuncture-ui/src/plugins/modal.js b/acupuncture-前台/src/plugins/modal.js similarity index 100% rename from acupuncture-ui/src/plugins/modal.js rename to acupuncture-前台/src/plugins/modal.js diff --git a/acupuncture-ui/src/plugins/tab.js b/acupuncture-前台/src/plugins/tab.js similarity index 100% rename from acupuncture-ui/src/plugins/tab.js rename to acupuncture-前台/src/plugins/tab.js diff --git a/acupuncture-ui/src/router/index.js b/acupuncture-前台/src/router/index.js similarity index 100% rename from acupuncture-ui/src/router/index.js rename to acupuncture-前台/src/router/index.js diff --git a/acupuncture-ui/src/settings.js b/acupuncture-前台/src/settings.js similarity index 100% rename from acupuncture-ui/src/settings.js rename to acupuncture-前台/src/settings.js diff --git a/acupuncture-ui/src/store/getters.js b/acupuncture-前台/src/store/getters.js similarity index 100% rename from acupuncture-ui/src/store/getters.js rename to acupuncture-前台/src/store/getters.js diff --git a/acupuncture-ui/src/store/index.js b/acupuncture-前台/src/store/index.js similarity index 100% rename from acupuncture-ui/src/store/index.js rename to acupuncture-前台/src/store/index.js diff --git a/acupuncture-ui/src/store/modules/app.js b/acupuncture-前台/src/store/modules/app.js similarity index 100% rename from acupuncture-ui/src/store/modules/app.js rename to acupuncture-前台/src/store/modules/app.js diff --git a/acupuncture-ui/src/store/modules/dict.js b/acupuncture-前台/src/store/modules/dict.js similarity index 100% rename from acupuncture-ui/src/store/modules/dict.js rename to acupuncture-前台/src/store/modules/dict.js diff --git a/acupuncture-ui/src/store/modules/permission.js b/acupuncture-前台/src/store/modules/permission.js similarity index 100% rename from acupuncture-ui/src/store/modules/permission.js rename to acupuncture-前台/src/store/modules/permission.js diff --git a/acupuncture-ui/src/store/modules/settings.js b/acupuncture-前台/src/store/modules/settings.js similarity index 100% rename from acupuncture-ui/src/store/modules/settings.js rename to acupuncture-前台/src/store/modules/settings.js diff --git a/acupuncture-ui/src/store/modules/tagsView.js b/acupuncture-前台/src/store/modules/tagsView.js similarity index 100% rename from acupuncture-ui/src/store/modules/tagsView.js rename to acupuncture-前台/src/store/modules/tagsView.js diff --git a/acupuncture-ui/src/store/modules/user.js b/acupuncture-前台/src/store/modules/user.js similarity index 100% rename from acupuncture-ui/src/store/modules/user.js rename to acupuncture-前台/src/store/modules/user.js diff --git a/acupuncture-ui/src/utils/auth.js b/acupuncture-前台/src/utils/auth.js similarity index 100% rename from acupuncture-ui/src/utils/auth.js rename to acupuncture-前台/src/utils/auth.js diff --git a/acupuncture-ui/src/utils/dict/Dict.js b/acupuncture-前台/src/utils/dict/Dict.js similarity index 100% rename from acupuncture-ui/src/utils/dict/Dict.js rename to acupuncture-前台/src/utils/dict/Dict.js diff --git a/acupuncture-ui/src/utils/dict/DictConverter.js b/acupuncture-前台/src/utils/dict/DictConverter.js similarity index 100% rename from acupuncture-ui/src/utils/dict/DictConverter.js rename to acupuncture-前台/src/utils/dict/DictConverter.js diff --git a/acupuncture-ui/src/utils/dict/DictData.js b/acupuncture-前台/src/utils/dict/DictData.js similarity index 100% rename from acupuncture-ui/src/utils/dict/DictData.js rename to acupuncture-前台/src/utils/dict/DictData.js diff --git a/acupuncture-ui/src/utils/dict/DictMeta.js b/acupuncture-前台/src/utils/dict/DictMeta.js similarity index 100% rename from acupuncture-ui/src/utils/dict/DictMeta.js rename to acupuncture-前台/src/utils/dict/DictMeta.js diff --git a/acupuncture-ui/src/utils/dict/DictOptions.js b/acupuncture-前台/src/utils/dict/DictOptions.js similarity index 100% rename from acupuncture-ui/src/utils/dict/DictOptions.js rename to acupuncture-前台/src/utils/dict/DictOptions.js diff --git a/acupuncture-ui/src/utils/dict/index.js b/acupuncture-前台/src/utils/dict/index.js similarity index 100% rename from acupuncture-ui/src/utils/dict/index.js rename to acupuncture-前台/src/utils/dict/index.js diff --git a/acupuncture-ui/src/utils/errorCode.js b/acupuncture-前台/src/utils/errorCode.js similarity index 100% rename from acupuncture-ui/src/utils/errorCode.js rename to acupuncture-前台/src/utils/errorCode.js diff --git a/acupuncture-ui/src/utils/generator/config.js b/acupuncture-前台/src/utils/generator/config.js similarity index 100% rename from acupuncture-ui/src/utils/generator/config.js rename to acupuncture-前台/src/utils/generator/config.js diff --git a/acupuncture-ui/src/utils/generator/css.js b/acupuncture-前台/src/utils/generator/css.js similarity index 100% rename from acupuncture-ui/src/utils/generator/css.js rename to acupuncture-前台/src/utils/generator/css.js diff --git a/acupuncture-ui/src/utils/generator/drawingDefault.js b/acupuncture-前台/src/utils/generator/drawingDefault.js similarity index 100% rename from acupuncture-ui/src/utils/generator/drawingDefault.js rename to acupuncture-前台/src/utils/generator/drawingDefault.js diff --git a/acupuncture-ui/src/utils/generator/html.js b/acupuncture-前台/src/utils/generator/html.js similarity index 100% rename from acupuncture-ui/src/utils/generator/html.js rename to acupuncture-前台/src/utils/generator/html.js diff --git a/acupuncture-ui/src/utils/generator/icon.json b/acupuncture-前台/src/utils/generator/icon.json similarity index 100% rename from acupuncture-ui/src/utils/generator/icon.json rename to acupuncture-前台/src/utils/generator/icon.json diff --git a/acupuncture-ui/src/utils/generator/js.js b/acupuncture-前台/src/utils/generator/js.js similarity index 100% rename from acupuncture-ui/src/utils/generator/js.js rename to acupuncture-前台/src/utils/generator/js.js diff --git a/acupuncture-ui/src/utils/generator/render.js b/acupuncture-前台/src/utils/generator/render.js similarity index 100% rename from acupuncture-ui/src/utils/generator/render.js rename to acupuncture-前台/src/utils/generator/render.js diff --git a/acupuncture-ui/src/utils/index.js b/acupuncture-前台/src/utils/index.js similarity index 100% rename from acupuncture-ui/src/utils/index.js rename to acupuncture-前台/src/utils/index.js diff --git a/acupuncture-ui/src/utils/jsencrypt.js b/acupuncture-前台/src/utils/jsencrypt.js similarity index 100% rename from acupuncture-ui/src/utils/jsencrypt.js rename to acupuncture-前台/src/utils/jsencrypt.js diff --git a/acupuncture-ui/src/utils/permission.js b/acupuncture-前台/src/utils/permission.js similarity index 100% rename from acupuncture-ui/src/utils/permission.js rename to acupuncture-前台/src/utils/permission.js diff --git a/acupuncture-ui/src/utils/request.js b/acupuncture-前台/src/utils/request.js similarity index 100% rename from acupuncture-ui/src/utils/request.js rename to acupuncture-前台/src/utils/request.js diff --git a/acupuncture-ui/src/utils/ruoyi.js b/acupuncture-前台/src/utils/ruoyi.js similarity index 100% rename from acupuncture-ui/src/utils/ruoyi.js rename to acupuncture-前台/src/utils/ruoyi.js diff --git a/acupuncture-ui/src/utils/scroll-to.js b/acupuncture-前台/src/utils/scroll-to.js similarity index 100% rename from acupuncture-ui/src/utils/scroll-to.js rename to acupuncture-前台/src/utils/scroll-to.js diff --git a/acupuncture-ui/src/utils/validate.js b/acupuncture-前台/src/utils/validate.js similarity index 100% rename from acupuncture-ui/src/utils/validate.js rename to acupuncture-前台/src/utils/validate.js diff --git a/acupuncture-ui/src/views/dashboard/BarChart.vue b/acupuncture-前台/src/views/dashboard/BarChart.vue similarity index 100% rename from acupuncture-ui/src/views/dashboard/BarChart.vue rename to acupuncture-前台/src/views/dashboard/BarChart.vue diff --git a/acupuncture-ui/src/views/dashboard/LineChart.vue b/acupuncture-前台/src/views/dashboard/LineChart.vue similarity index 100% rename from acupuncture-ui/src/views/dashboard/LineChart.vue rename to acupuncture-前台/src/views/dashboard/LineChart.vue diff --git a/acupuncture-ui/src/views/dashboard/PanelGroup.vue b/acupuncture-前台/src/views/dashboard/PanelGroup.vue similarity index 100% rename from acupuncture-ui/src/views/dashboard/PanelGroup.vue rename to acupuncture-前台/src/views/dashboard/PanelGroup.vue diff --git a/acupuncture-ui/src/views/dashboard/PieChart.vue b/acupuncture-前台/src/views/dashboard/PieChart.vue similarity index 100% rename from acupuncture-ui/src/views/dashboard/PieChart.vue rename to acupuncture-前台/src/views/dashboard/PieChart.vue diff --git a/acupuncture-ui/src/views/dashboard/RaddarChart.vue b/acupuncture-前台/src/views/dashboard/RaddarChart.vue similarity index 100% rename from acupuncture-ui/src/views/dashboard/RaddarChart.vue rename to acupuncture-前台/src/views/dashboard/RaddarChart.vue diff --git a/acupuncture-ui/src/views/dashboard/mixins/resize.js b/acupuncture-前台/src/views/dashboard/mixins/resize.js similarity index 100% rename from acupuncture-ui/src/views/dashboard/mixins/resize.js rename to acupuncture-前台/src/views/dashboard/mixins/resize.js diff --git a/acupuncture-ui/src/views/error/401.vue b/acupuncture-前台/src/views/error/401.vue similarity index 100% rename from acupuncture-ui/src/views/error/401.vue rename to acupuncture-前台/src/views/error/401.vue diff --git a/acupuncture-ui/src/views/error/404.vue b/acupuncture-前台/src/views/error/404.vue similarity index 100% rename from acupuncture-ui/src/views/error/404.vue rename to acupuncture-前台/src/views/error/404.vue diff --git a/acupuncture-ui/src/views/followFile/index.vue b/acupuncture-前台/src/views/followFile/index.vue similarity index 100% rename from acupuncture-ui/src/views/followFile/index.vue rename to acupuncture-前台/src/views/followFile/index.vue diff --git a/acupuncture-ui/src/views/followFile/subjects.vue b/acupuncture-前台/src/views/followFile/subjects.vue similarity index 100% rename from acupuncture-ui/src/views/followFile/subjects.vue rename to acupuncture-前台/src/views/followFile/subjects.vue diff --git a/acupuncture-ui/src/views/followFile/work.vue b/acupuncture-前台/src/views/followFile/work.vue similarity index 100% rename from acupuncture-ui/src/views/followFile/work.vue rename to acupuncture-前台/src/views/followFile/work.vue diff --git a/acupuncture-ui/src/views/index.vue b/acupuncture-前台/src/views/index.vue similarity index 100% rename from acupuncture-ui/src/views/index.vue rename to acupuncture-前台/src/views/index.vue diff --git a/acupuncture-ui/src/views/index_v1.vue b/acupuncture-前台/src/views/index_v1.vue similarity index 100% rename from acupuncture-ui/src/views/index_v1.vue rename to acupuncture-前台/src/views/index_v1.vue diff --git a/acupuncture-ui/src/views/login.vue b/acupuncture-前台/src/views/login.vue similarity index 100% rename from acupuncture-ui/src/views/login.vue rename to acupuncture-前台/src/views/login.vue diff --git a/acupuncture-ui/src/views/medicalFile/index.vue b/acupuncture-前台/src/views/medicalFile/index.vue similarity index 100% rename from acupuncture-ui/src/views/medicalFile/index.vue rename to acupuncture-前台/src/views/medicalFile/index.vue diff --git a/acupuncture-ui/src/views/monitor/cache/index.vue b/acupuncture-前台/src/views/monitor/cache/index.vue similarity index 100% rename from acupuncture-ui/src/views/monitor/cache/index.vue rename to acupuncture-前台/src/views/monitor/cache/index.vue diff --git a/acupuncture-ui/src/views/monitor/cache/list.vue b/acupuncture-前台/src/views/monitor/cache/list.vue similarity index 100% rename from acupuncture-ui/src/views/monitor/cache/list.vue rename to acupuncture-前台/src/views/monitor/cache/list.vue diff --git a/acupuncture-ui/src/views/monitor/druid/index.vue b/acupuncture-前台/src/views/monitor/druid/index.vue similarity index 100% rename from acupuncture-ui/src/views/monitor/druid/index.vue rename to acupuncture-前台/src/views/monitor/druid/index.vue diff --git a/acupuncture-ui/src/views/monitor/job/index.vue b/acupuncture-前台/src/views/monitor/job/index.vue similarity index 100% rename from acupuncture-ui/src/views/monitor/job/index.vue rename to acupuncture-前台/src/views/monitor/job/index.vue diff --git a/acupuncture-ui/src/views/monitor/job/log.vue b/acupuncture-前台/src/views/monitor/job/log.vue similarity index 100% rename from acupuncture-ui/src/views/monitor/job/log.vue rename to acupuncture-前台/src/views/monitor/job/log.vue diff --git a/acupuncture-ui/src/views/monitor/logininfor/index.vue b/acupuncture-前台/src/views/monitor/logininfor/index.vue similarity index 100% rename from acupuncture-ui/src/views/monitor/logininfor/index.vue rename to acupuncture-前台/src/views/monitor/logininfor/index.vue diff --git a/acupuncture-ui/src/views/monitor/online/index.vue b/acupuncture-前台/src/views/monitor/online/index.vue similarity index 100% rename from acupuncture-ui/src/views/monitor/online/index.vue rename to acupuncture-前台/src/views/monitor/online/index.vue diff --git a/acupuncture-ui/src/views/monitor/operlog/index.vue b/acupuncture-前台/src/views/monitor/operlog/index.vue similarity index 100% rename from acupuncture-ui/src/views/monitor/operlog/index.vue rename to acupuncture-前台/src/views/monitor/operlog/index.vue diff --git a/acupuncture-ui/src/views/monitor/server/index.vue b/acupuncture-前台/src/views/monitor/server/index.vue similarity index 100% rename from acupuncture-ui/src/views/monitor/server/index.vue rename to acupuncture-前台/src/views/monitor/server/index.vue diff --git a/acupuncture-ui/src/views/patientFile/index.vue b/acupuncture-前台/src/views/patientFile/index.vue similarity index 100% rename from acupuncture-ui/src/views/patientFile/index.vue rename to acupuncture-前台/src/views/patientFile/index.vue diff --git a/acupuncture-ui/src/views/redirect.vue b/acupuncture-前台/src/views/redirect.vue similarity index 100% rename from acupuncture-ui/src/views/redirect.vue rename to acupuncture-前台/src/views/redirect.vue diff --git a/acupuncture-ui/src/views/register.vue b/acupuncture-前台/src/views/register.vue similarity index 100% rename from acupuncture-ui/src/views/register.vue rename to acupuncture-前台/src/views/register.vue diff --git a/acupuncture-ui/src/views/system/config/index.vue b/acupuncture-前台/src/views/system/config/index.vue similarity index 100% rename from acupuncture-ui/src/views/system/config/index.vue rename to acupuncture-前台/src/views/system/config/index.vue diff --git a/acupuncture-ui/src/views/system/dept/index.vue b/acupuncture-前台/src/views/system/dept/index.vue similarity index 100% rename from acupuncture-ui/src/views/system/dept/index.vue rename to acupuncture-前台/src/views/system/dept/index.vue diff --git a/acupuncture-ui/src/views/system/dict/data.vue b/acupuncture-前台/src/views/system/dict/data.vue similarity index 100% rename from acupuncture-ui/src/views/system/dict/data.vue rename to acupuncture-前台/src/views/system/dict/data.vue diff --git a/acupuncture-ui/src/views/system/dict/index.vue b/acupuncture-前台/src/views/system/dict/index.vue similarity index 100% rename from acupuncture-ui/src/views/system/dict/index.vue rename to acupuncture-前台/src/views/system/dict/index.vue diff --git a/acupuncture-ui/src/views/system/menu/index.vue b/acupuncture-前台/src/views/system/menu/index.vue similarity index 100% rename from acupuncture-ui/src/views/system/menu/index.vue rename to acupuncture-前台/src/views/system/menu/index.vue diff --git a/acupuncture-ui/src/views/system/notice/index.vue b/acupuncture-前台/src/views/system/notice/index.vue similarity index 100% rename from acupuncture-ui/src/views/system/notice/index.vue rename to acupuncture-前台/src/views/system/notice/index.vue diff --git a/acupuncture-ui/src/views/system/post/index.vue b/acupuncture-前台/src/views/system/post/index.vue similarity index 100% rename from acupuncture-ui/src/views/system/post/index.vue rename to acupuncture-前台/src/views/system/post/index.vue diff --git a/acupuncture-ui/src/views/system/role/authUser.vue b/acupuncture-前台/src/views/system/role/authUser.vue similarity index 100% rename from acupuncture-ui/src/views/system/role/authUser.vue rename to acupuncture-前台/src/views/system/role/authUser.vue diff --git a/acupuncture-ui/src/views/system/role/index.vue b/acupuncture-前台/src/views/system/role/index.vue similarity index 100% rename from acupuncture-ui/src/views/system/role/index.vue rename to acupuncture-前台/src/views/system/role/index.vue diff --git a/acupuncture-ui/src/views/system/role/selectUser.vue b/acupuncture-前台/src/views/system/role/selectUser.vue similarity index 100% rename from acupuncture-ui/src/views/system/role/selectUser.vue rename to acupuncture-前台/src/views/system/role/selectUser.vue diff --git a/acupuncture-ui/src/views/system/user/authRole.vue b/acupuncture-前台/src/views/system/user/authRole.vue similarity index 100% rename from acupuncture-ui/src/views/system/user/authRole.vue rename to acupuncture-前台/src/views/system/user/authRole.vue diff --git a/acupuncture-ui/src/views/system/user/index.vue b/acupuncture-前台/src/views/system/user/index.vue similarity index 100% rename from acupuncture-ui/src/views/system/user/index.vue rename to acupuncture-前台/src/views/system/user/index.vue diff --git a/acupuncture-ui/src/views/system/user/profile/index.vue b/acupuncture-前台/src/views/system/user/profile/index.vue similarity index 100% rename from acupuncture-ui/src/views/system/user/profile/index.vue rename to acupuncture-前台/src/views/system/user/profile/index.vue diff --git a/acupuncture-ui/src/views/system/user/profile/resetPwd.vue b/acupuncture-前台/src/views/system/user/profile/resetPwd.vue similarity index 100% rename from acupuncture-ui/src/views/system/user/profile/resetPwd.vue rename to acupuncture-前台/src/views/system/user/profile/resetPwd.vue diff --git a/acupuncture-ui/src/views/system/user/profile/userAvatar.vue b/acupuncture-前台/src/views/system/user/profile/userAvatar.vue similarity index 100% rename from acupuncture-ui/src/views/system/user/profile/userAvatar.vue rename to acupuncture-前台/src/views/system/user/profile/userAvatar.vue diff --git a/acupuncture-ui/src/views/system/user/profile/userInfo.vue b/acupuncture-前台/src/views/system/user/profile/userInfo.vue similarity index 100% rename from acupuncture-ui/src/views/system/user/profile/userInfo.vue rename to acupuncture-前台/src/views/system/user/profile/userInfo.vue diff --git a/acupuncture-ui/src/views/tool/build/CodeTypeDialog.vue b/acupuncture-前台/src/views/tool/build/CodeTypeDialog.vue similarity index 100% rename from acupuncture-ui/src/views/tool/build/CodeTypeDialog.vue rename to acupuncture-前台/src/views/tool/build/CodeTypeDialog.vue diff --git a/acupuncture-ui/src/views/tool/build/DraggableItem.vue b/acupuncture-前台/src/views/tool/build/DraggableItem.vue similarity index 100% rename from acupuncture-ui/src/views/tool/build/DraggableItem.vue rename to acupuncture-前台/src/views/tool/build/DraggableItem.vue diff --git a/acupuncture-ui/src/views/tool/build/IconsDialog.vue b/acupuncture-前台/src/views/tool/build/IconsDialog.vue similarity index 100% rename from acupuncture-ui/src/views/tool/build/IconsDialog.vue rename to acupuncture-前台/src/views/tool/build/IconsDialog.vue diff --git a/acupuncture-ui/src/views/tool/build/RightPanel.vue b/acupuncture-前台/src/views/tool/build/RightPanel.vue similarity index 100% rename from acupuncture-ui/src/views/tool/build/RightPanel.vue rename to acupuncture-前台/src/views/tool/build/RightPanel.vue diff --git a/acupuncture-ui/src/views/tool/build/TreeNodeDialog.vue b/acupuncture-前台/src/views/tool/build/TreeNodeDialog.vue similarity index 100% rename from acupuncture-ui/src/views/tool/build/TreeNodeDialog.vue rename to acupuncture-前台/src/views/tool/build/TreeNodeDialog.vue diff --git a/acupuncture-ui/src/views/tool/build/index.vue b/acupuncture-前台/src/views/tool/build/index.vue similarity index 100% rename from acupuncture-ui/src/views/tool/build/index.vue rename to acupuncture-前台/src/views/tool/build/index.vue diff --git a/acupuncture-ui/src/views/tool/gen/basicInfoForm.vue b/acupuncture-前台/src/views/tool/gen/basicInfoForm.vue similarity index 100% rename from acupuncture-ui/src/views/tool/gen/basicInfoForm.vue rename to acupuncture-前台/src/views/tool/gen/basicInfoForm.vue diff --git a/acupuncture-ui/src/views/tool/gen/createTable.vue b/acupuncture-前台/src/views/tool/gen/createTable.vue similarity index 100% rename from acupuncture-ui/src/views/tool/gen/createTable.vue rename to acupuncture-前台/src/views/tool/gen/createTable.vue diff --git a/acupuncture-ui/src/views/tool/gen/editTable.vue b/acupuncture-前台/src/views/tool/gen/editTable.vue similarity index 100% rename from acupuncture-ui/src/views/tool/gen/editTable.vue rename to acupuncture-前台/src/views/tool/gen/editTable.vue diff --git a/acupuncture-ui/src/views/tool/gen/genInfoForm.vue b/acupuncture-前台/src/views/tool/gen/genInfoForm.vue similarity index 100% rename from acupuncture-ui/src/views/tool/gen/genInfoForm.vue rename to acupuncture-前台/src/views/tool/gen/genInfoForm.vue diff --git a/acupuncture-ui/src/views/tool/gen/importTable.vue b/acupuncture-前台/src/views/tool/gen/importTable.vue similarity index 100% rename from acupuncture-ui/src/views/tool/gen/importTable.vue rename to acupuncture-前台/src/views/tool/gen/importTable.vue diff --git a/acupuncture-ui/src/views/tool/gen/index.vue b/acupuncture-前台/src/views/tool/gen/index.vue similarity index 100% rename from acupuncture-ui/src/views/tool/gen/index.vue rename to acupuncture-前台/src/views/tool/gen/index.vue diff --git a/acupuncture-ui/src/views/tool/swagger/index.vue b/acupuncture-前台/src/views/tool/swagger/index.vue similarity index 100% rename from acupuncture-ui/src/views/tool/swagger/index.vue rename to acupuncture-前台/src/views/tool/swagger/index.vue diff --git a/acupuncture-ui/vue.config.js b/acupuncture-前台/vue.config.js similarity index 100% rename from acupuncture-ui/vue.config.js rename to acupuncture-前台/vue.config.js diff --git a/acupuncture-后台/.editorconfig b/acupuncture-后台/.editorconfig new file mode 100644 index 00000000..7034f9bf --- /dev/null +++ b/acupuncture-后台/.editorconfig @@ -0,0 +1,22 @@ +# 告诉EditorConfig插件,这是根文件,不用继续往上查找 +root = true + +# 匹配全部文件 +[*] +# 设置字符集 +charset = utf-8 +# 缩进风格,可选space、tab +indent_style = space +# 缩进的空格数 +indent_size = 2 +# 结尾换行符,可选lf、cr、crlf +end_of_line = lf +# 在文件结尾插入新行 +insert_final_newline = true +# 删除一行中的前后空格 +trim_trailing_whitespace = true + +# 匹配md结尾的文件 +[*.md] +insert_final_newline = false +trim_trailing_whitespace = false diff --git a/acupuncture-后台/.env.development b/acupuncture-后台/.env.development new file mode 100644 index 00000000..31490cb7 --- /dev/null +++ b/acupuncture-后台/.env.development @@ -0,0 +1,14 @@ +# 页面标题 +VUE_APP_TITLE = 针灸管理系统 + +# 开发环境配置 +ENV = 'development' + +# 大唐会议管理系统/开发环境 +VUE_APP_BASE_API = '/dev-api' +VUE_APP_IMG_URL = 'https://test.tall.wiki/acupuncture' +VUE_APP_API_QZURL = 'https://test.tall.wiki/' +# 路由懒加载 +VUE_CLI_BABEL_TRANSPILE_MODULES = true +# 访问路径 +VUE_APP_PUBLIC_PATH = '/' diff --git a/acupuncture-后台/.env.production b/acupuncture-后台/.env.production new file mode 100644 index 00000000..c2347fdf --- /dev/null +++ b/acupuncture-后台/.env.production @@ -0,0 +1,11 @@ +# 页面标题 +VUE_APP_TITLE = 针灸管理系统 + +# 生产环境配置 +NODE_ENV = 'production' +# 因孚生产 +VUE_APP_BASE_API = 'https://test.tall.wiki/acupuncture' +VUE_APP_API_QZURL = 'https://test.tall.wiki/' + +# 访问路径 +VUE_APP_PUBLIC_PATH = '/acupunctureClient/' \ No newline at end of file diff --git a/acupuncture-后台/.env.staging b/acupuncture-后台/.env.staging new file mode 100644 index 00000000..6523f1b3 --- /dev/null +++ b/acupuncture-后台/.env.staging @@ -0,0 +1,12 @@ +# 页面标题 +VUE_APP_TITLE = 针灸管理系统 + +BABEL_ENV = production + +NODE_ENV = production + +# 测试环境配置 +ENV = 'staging' + +# 针灸管理系统/测试环境 +VUE_APP_BASE_API = '/stage-api' diff --git a/acupuncture-后台/.eslintignore b/acupuncture-后台/.eslintignore new file mode 100644 index 00000000..89be6f65 --- /dev/null +++ b/acupuncture-后台/.eslintignore @@ -0,0 +1,10 @@ +# 忽略build目录下类型为js的文件的语法检查 +build/*.js +# 忽略src/assets目录下文件的语法检查 +src/assets +# 忽略public目录下文件的语法检查 +public +# 忽略当前目录下为js的文件的语法检查 +*.js +# 忽略当前目录下为vue的文件的语法检查 +*.vue \ No newline at end of file diff --git a/acupuncture-后台/.eslintrc.js b/acupuncture-后台/.eslintrc.js new file mode 100644 index 00000000..82bbdeea --- /dev/null +++ b/acupuncture-后台/.eslintrc.js @@ -0,0 +1,199 @@ +// ESlint 检查配置 +module.exports = { + root: true, + parserOptions: { + parser: 'babel-eslint', + sourceType: 'module' + }, + env: { + browser: true, + node: true, + es6: true, + }, + extends: ['plugin:vue/recommended', 'eslint:recommended'], + + // add your custom rules here + //it is base on https://github.com/vuejs/eslint-config-vue + rules: { + "vue/max-attributes-per-line": [2, { + "singleline": 10, + "multiline": { + "max": 1, + "allowFirstLine": false + } + }], + "vue/singleline-html-element-content-newline": "off", + "vue/multiline-html-element-content-newline":"off", + "vue/name-property-casing": ["error", "PascalCase"], + "vue/no-v-html": "off", + 'accessor-pairs': 2, + 'arrow-spacing': [2, { + 'before': true, + 'after': true + }], + 'block-spacing': [2, 'always'], + 'brace-style': [2, '1tbs', { + 'allowSingleLine': true + }], + 'camelcase': [0, { + 'properties': 'always' + }], + 'comma-dangle': [2, 'never'], + 'comma-spacing': [2, { + 'before': false, + 'after': true + }], + 'comma-style': [2, 'last'], + 'constructor-super': 2, + 'curly': [2, 'multi-line'], + 'dot-location': [2, 'property'], + 'eol-last': 2, + 'eqeqeq': ["error", "always", {"null": "ignore"}], + 'generator-star-spacing': [2, { + 'before': true, + 'after': true + }], + 'handle-callback-err': [2, '^(err|error)$'], + 'indent': [2, 2, { + 'SwitchCase': 1 + }], + 'jsx-quotes': [2, 'prefer-single'], + 'key-spacing': [2, { + 'beforeColon': false, + 'afterColon': true + }], + 'keyword-spacing': [2, { + 'before': true, + 'after': true + }], + 'new-cap': [2, { + 'newIsCap': true, + 'capIsNew': false + }], + 'new-parens': 2, + 'no-array-constructor': 2, + 'no-caller': 2, + 'no-console': 'off', + 'no-class-assign': 2, + 'no-cond-assign': 2, + 'no-const-assign': 2, + 'no-control-regex': 0, + 'no-delete-var': 2, + 'no-dupe-args': 2, + 'no-dupe-class-members': 2, + 'no-dupe-keys': 2, + 'no-duplicate-case': 2, + 'no-empty-character-class': 2, + 'no-empty-pattern': 2, + 'no-eval': 2, + 'no-ex-assign': 2, + 'no-extend-native': 2, + 'no-extra-bind': 2, + 'no-extra-boolean-cast': 2, + 'no-extra-parens': [2, 'functions'], + 'no-fallthrough': 2, + 'no-floating-decimal': 2, + 'no-func-assign': 2, + 'no-implied-eval': 2, + 'no-inner-declarations': [2, 'functions'], + 'no-invalid-regexp': 2, + 'no-irregular-whitespace': 2, + 'no-iterator': 2, + 'no-label-var': 2, + 'no-labels': [2, { + 'allowLoop': false, + 'allowSwitch': false + }], + 'no-lone-blocks': 2, + 'no-mixed-spaces-and-tabs': 2, + 'no-multi-spaces': 2, + 'no-multi-str': 2, + 'no-multiple-empty-lines': [2, { + 'max': 1 + }], + 'no-native-reassign': 2, + 'no-negated-in-lhs': 2, + 'no-new-object': 2, + 'no-new-require': 2, + 'no-new-symbol': 2, + 'no-new-wrappers': 2, + 'no-obj-calls': 2, + 'no-octal': 2, + 'no-octal-escape': 2, + 'no-path-concat': 2, + 'no-proto': 2, + 'no-redeclare': 2, + 'no-regex-spaces': 2, + 'no-return-assign': [2, 'except-parens'], + 'no-self-assign': 2, + 'no-self-compare': 2, + 'no-sequences': 2, + 'no-shadow-restricted-names': 2, + 'no-spaced-func': 2, + 'no-sparse-arrays': 2, + 'no-this-before-super': 2, + 'no-throw-literal': 2, + 'no-trailing-spaces': 2, + 'no-undef': 2, + 'no-undef-init': 2, + 'no-unexpected-multiline': 2, + 'no-unmodified-loop-condition': 2, + 'no-unneeded-ternary': [2, { + 'defaultAssignment': false + }], + 'no-unreachable': 2, + 'no-unsafe-finally': 2, + 'no-unused-vars': [2, { + 'vars': 'all', + 'args': 'none' + }], + 'no-useless-call': 2, + 'no-useless-computed-key': 2, + 'no-useless-constructor': 2, + 'no-useless-escape': 0, + 'no-whitespace-before-property': 2, + 'no-with': 2, + 'one-var': [2, { + 'initialized': 'never' + }], + 'operator-linebreak': [2, 'after', { + 'overrides': { + '?': 'before', + ':': 'before' + } + }], + 'padded-blocks': [2, 'never'], + 'quotes': [2, 'single', { + 'avoidEscape': true, + 'allowTemplateLiterals': true + }], + 'semi': [2, 'never'], + 'semi-spacing': [2, { + 'before': false, + 'after': true + }], + 'space-before-blocks': [2, 'always'], + 'space-before-function-paren': [2, 'never'], + 'space-in-parens': [2, 'never'], + 'space-infix-ops': 2, + 'space-unary-ops': [2, { + 'words': true, + 'nonwords': false + }], + 'spaced-comment': [2, 'always', { + 'markers': ['global', 'globals', 'eslint', 'eslint-disable', '*package', '!', ','] + }], + 'template-curly-spacing': [2, 'never'], + 'use-isnan': 2, + 'valid-typeof': 2, + 'wrap-iife': [2, 'any'], + 'yield-star-spacing': [2, 'both'], + 'yoda': [2, 'never'], + 'prefer-const': 2, + 'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0, + 'object-curly-spacing': [2, 'always', { + objectsInObjects: false + }], + 'array-bracket-spacing': [2, 'never'] + } +} diff --git a/acupuncture-后台/.gitignore b/acupuncture-后台/.gitignore new file mode 100644 index 00000000..78a752d8 --- /dev/null +++ b/acupuncture-后台/.gitignore @@ -0,0 +1,23 @@ +.DS_Store +node_modules/ +dist/ +npm-debug.log* +yarn-debug.log* +yarn-error.log* +**/*.log + +tests/**/coverage/ +tests/e2e/reports +selenium-debug.log + +# Editor directories and files +.idea +.vscode +*.suo +*.ntvs* +*.njsproj +*.sln +*.local + +package-lock.json +yarn.lock diff --git a/acupuncture-后台/README.md b/acupuncture-后台/README.md new file mode 100644 index 00000000..00c0ab84 --- /dev/null +++ b/acupuncture-后台/README.md @@ -0,0 +1,30 @@ +## 开发 + +```bash +# 克隆项目 +git clone https://gitee.com/y_project/RuoYi-Vue + +# 进入项目目录 +cd ruoyi-ui + +# 安装依赖 +npm install + +# 建议不要直接使用 cnpm 安装依赖,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题 +npm install --registry=https://registry.npmmirror.com + +# 启动服务 +npm run dev +``` + +浏览器访问 http://localhost:80 + +## 发布 + +```bash +# 构建测试环境 +npm run build:stage + +# 构建生产环境 +npm run build:prod +``` \ No newline at end of file diff --git a/acupuncture-后台/babel.config.js b/acupuncture-后台/babel.config.js new file mode 100644 index 00000000..c8267b2d --- /dev/null +++ b/acupuncture-后台/babel.config.js @@ -0,0 +1,13 @@ +module.exports = { + presets: [ + // https://github.com/vuejs/vue-cli/tree/master/packages/@vue/babel-preset-app + '@vue/cli-plugin-babel/preset' + ], + 'env': { + 'development': { + // babel-plugin-dynamic-import-node plugin only does one thing by converting all import() to require(). + // This plugin can significantly increase the speed of hot updates, when you have a large number of pages. + 'plugins': ['dynamic-import-node'] + } + } +} \ No newline at end of file diff --git a/acupuncture-后台/bin/build.bat b/acupuncture-后台/bin/build.bat new file mode 100644 index 00000000..dda590d2 --- /dev/null +++ b/acupuncture-后台/bin/build.bat @@ -0,0 +1,12 @@ +@echo off +echo. +echo [Ϣ] Weḅdistļ +echo. + +%~d0 +cd %~dp0 + +cd .. +npm run build:prod + +pause \ No newline at end of file diff --git a/acupuncture-后台/bin/package.bat b/acupuncture-后台/bin/package.bat new file mode 100644 index 00000000..0e5bc0fb --- /dev/null +++ b/acupuncture-后台/bin/package.bat @@ -0,0 +1,12 @@ +@echo off +echo. +echo [Ϣ] װWeḅnode_modulesļ +echo. + +%~d0 +cd %~dp0 + +cd .. +npm install --registry=https://registry.npmmirror.com + +pause \ No newline at end of file diff --git a/acupuncture-后台/bin/run-web.bat b/acupuncture-后台/bin/run-web.bat new file mode 100644 index 00000000..d30deae7 --- /dev/null +++ b/acupuncture-后台/bin/run-web.bat @@ -0,0 +1,12 @@ +@echo off +echo. +echo [Ϣ] ʹ Vue CLI Web ̡ +echo. + +%~d0 +cd %~dp0 + +cd .. +npm run dev + +pause \ No newline at end of file diff --git a/acupuncture-后台/build/index.js b/acupuncture-后台/build/index.js new file mode 100644 index 00000000..0c57de2a --- /dev/null +++ b/acupuncture-后台/build/index.js @@ -0,0 +1,35 @@ +const { run } = require('runjs') +const chalk = require('chalk') +const config = require('../vue.config.js') +const rawArgv = process.argv.slice(2) +const args = rawArgv.join(' ') + +if (process.env.npm_config_preview || rawArgv.includes('--preview')) { + const report = rawArgv.includes('--report') + + run(`vue-cli-service build ${args}`) + + const port = 9526 + const publicPath = config.publicPath + + var connect = require('connect') + var serveStatic = require('serve-static') + const app = connect() + + app.use( + publicPath, + serveStatic('./dist', { + index: ['index.html', '/'] + }) + ) + + app.listen(port, function () { + console.log(chalk.green(`> Preview at http://localhost:${port}${publicPath}`)) + if (report) { + console.log(chalk.green(`> Report at http://localhost:${port}${publicPath}report.html`)) + } + + }) +} else { + run(`vue-cli-service build ${args}`) +} diff --git a/acupuncture-后台/dist.zip b/acupuncture-后台/dist.zip new file mode 100644 index 0000000000000000000000000000000000000000..215ddd7c03476dd3e43b0f4b1c4c8b38255933c3 GIT binary patch literal 3686944 zcmZUZ)3PuCk7bW-+qP}nwr$(CjqljDZQHhO&EH+!7c-Np?BrrSKx$PKq=7+D0RF3< z66Ll2d-
&j<= zt2KYgYRMnVWsO_k`{q@fF6?5;5_$$1Sn* zCB|C(Dsa_4Y^{Mq_@-N6Gt!A1BJi8r;^9}>ysT#ARmE?*Eon?MNKU6sXbi?j6;SVC z!5;R skVY)Rr{Xq7~7TD1!E$Li9-AQB-g$)zY&`yc$~Tgz`p1- zF;11L1zshu{>Vx5Pg3ZX33W(->E4_78lKFgsTM0fh0+YT_h0^^U>Cg10YBN4b;Ew| z0IZBJH<^&Jl=RD~{`vLV-x7l^ahc0zr8oeG+ljY4zBGD$%zn>@3PEjzp3;v=Igt;V z+>=1hsO&)fynwhINmGpYJavdWR-%UUJ*Ln5%saY1k8woWezhdliSjDU`QUXPe0dwX zsktdv{^O4@jwt#hVB2=7bs2CeX{L1v+L%WQ!q43J`J6Kg!ED5B!ZY{8z #CSpadP}8s^qsa&9mJ4m=(Uxm*9D?>t*ie@Y#3}#C)}mWw@xdK)%-cZTaMq) z8jxqes4P3zy;ZnKI0X26u>uJ%ZnHa4u%eUqO>s@}V9CIb*U#&-+bo$ZpsJQK; k?-l_j(>d#2|n<-XSQUwjG;Ho_SlMUU9*MmHRg8Ww{Zt bGZBzQ34%19`_IdEvav0tMxAAUD{zBF$nENe}%D?4;-Ipjyw0dI)A zG6H0Af=k7VVM{IKzd_f{*WTiQruVu2U2h8X;z~NrI+|zOeIGLSXwSEAaB6ijpjWh_ znq%F=VqI%+NWT9}cG8RY%JI U zpzuxp{byTvF{bHg=Y4CmlCyQZSZ^b5G15{hKsOXH!mjzOUlxvW)S^Cgb-%d1SVumg z9hBymMwYfVPQD52sq?WkxBZFUIir>!JfODd)cC4iwB_N{ n;hnuq9fE6o-Jsv zrebK1Fg@$C!IEB(BJUY81?r~9a{1ByIB+kkZkM6MO@thuG 1pXX(m6bf8QaY~r`4|A zjO*d49LWyk-vP^1JPK#Twocz8k5+C_S8y~E+quF;vaB#L*9~aaYz7Dcfn>x**?8^H z +@MW{?(Rf;ib9RpWyvcVOd3+>e`tLxJl|fIn9t0PWEG3Vt#UV8Lfpn zT*pdWldeo?9%%RU#J{2q_U2C5h3~#Y%}AEZdMT0KSK2# kp}%Fm-VX4m!MA%J$(#cdV2^CF6z zCs4xM?o`ZU`t0`Xo!v9*F~R4@`e`bEij;8RimNYLtdG_YTXPo9o)h>+2*{JXnA?~7 zBYFqQG& O`c|gq7Pw~*4w4y!Tr*!Lf4W{M_SK~$(s=Y zxM#wx#ltYrMFnRnz3hQAptXA#Cg*!ws*&URp2u`(oyMWnLS;g2sxr*eNS%46o}o zqrkW5Y=y5ZtBdLA9REO_PFH!C8J!sj4Kz@~ 97dhpICfAntw&}D&$ zg7V)f7;F5Fr^ky2dG|x>Z10rq$zbJ_)phoSF$<)j&9Cj|PW<`` zGcY6X H0chTCCiEk#x0t?`}l zEe31~FI7hcmM(-S@x1Mnuf(a%E%trQ?8JMjt^S3(ZOpdX_)RPU+2?VVbD_ZT@0LkJ z=(!b;00KFHhzMZ+$qug_aKIfiz Lb)8;VmE8%Xa^7B39EKKZs2%b|?nI!@#`UfQ-C zD%dM)Na5&2Y8T6nrBBdfAkDvp4W^los+W@4tpPL5kls;Q===@0g#pnz&vCcO-V;$> ziqXN42)4G51Ea&6%(sOyjonI3_`1BwQ6uNHXG6h-*FvL97gIRg e3$>#<|w- z3R}8t$?AMQUQ# b6fMP{6s&RK=Uob^vkmgN?6Ueml6(8g4 zbSF@byc$a1ovCsUpy$ETHTMjUGF+sYy=3Y~SmbG7U6aflEc$EPyObT39Q=5*)%Y$% zk}BoXr5h5oKH6-BT*xRDdMRt}hKnOPYX(bqXoF3XbjOj%RmFXaEi0*N=DD7)@^J^? zeS$1ge3&<@(AGHQUCEk^;R=zGH_IH;H^`V>-OtaDU%l8mTuC!PjcA2ZW_Iq6QB|UK zgo8M2AixNXPRG9~6ts{W`Sum_%w8{U)}Ha)60)HsPUnKFoL$N;S50R$9CE1toFSnK zOKQ1tJ*5+~7RQ*d*j5Q1#|Deu`wrTU2atK~pjWzGt4v|SfNLbcSfQUI2u=)MCcQtd zeEdgaU7`6B?Qi!QE6746Hl)8vaqvDsMsXBag_CF4FXrPv%nl917l2MP8%vT&Cgfx( z+Oqk4?B*+dqrJor zBd}cA>evnEk$?dj*b@k8yRWJxlyYSawWTlyS#aPBi`m~b^Sp|M}VSS zlHs8`ZVv8V1LmzV!5wNj{#rfbtrvVOsr<3oUp=og6oD>zlZS4nuU)&|a GJRPca@1aKU@llxw*$K)i-F15OTfZ-60D{ zi@-;{3I}S2KJ6MMmm}Cd#$jyK^n{uApF~#jy~}Qr)JEwmKJ56%3k2@4zrV!)1Y@JX z@zMLm!*Kl`Ixh5>JuFD)eJYO|oHC(Kh=&a$v8Uh3;IdZ6+|Em>RI&!ZVoQzz=`$=p z0*(Q`!3{@n7UjKl>EnZ-_rUazIc=%u0+y&0O92n++{xUnFL^q;;WV%^QS1FPNCof+ zdja)5k!>32ogXD%Y5na~!P(i8VrQq0+{;;#zZYh5s#af86MJR^x<~N=uC$LVkfKdN zWUi&-Z{viaAMHStGL~{n1atj#O+S2N87W6w>)MZ#x4l^b6#*5~USgF@7SuK$ReC{O zj*C9P9Z%9iCmfjo8u0Mt4^`RkLs%1U=jvjUr#;6{KXXXI6trf{Km dms#)G zcqSU)Vm2g&{=B+&<}i*J-6a@ar0rnwxmu@_jzp1=m-&dT|P>maHb1} z^f^EDUW!$Ubr~|N*-Ig;AqV68$6`T%kKaQ7*?}3;{P{dFVA+)77F<1Omr9O412GSh zlju$?u}NqT1D(&2>Ni=dKb016Pp!;=ZyvH~Ga7~c%B&o+ZPqoI6V^M`5zsk5J+WPo zK!u(xd0ie~1M26b%KTgHqobv`%!?~AmL6|YV?-KCP9}}I@KB^Am+qF`XtiB^wA@ev zrq4g3SqaOMy4J@A8I&rR@xc;mJWC7ZXBZC`Fj5~iM6$$h8MwcBOKxkSo#D+HN{4mw zCwCXDIUY959m0tu7b`_)lMg b&E2{~2-&$AD3iQNGF`9^KsN7?$f+?Z*<) zd|1|{`SgK%v@5Z4uMyfi00gl1Q45>N`9(r*AcTBgbR8ajQy0C8zfQGWZq4`x z_;D3nW8KX>FQ~j#>DdxQ?4cjK|59V8QnmzWUjT_+YxByNS)0GAQvS_fbv_zom90L8 zA+3lc- =C$UA!LIUdUJsDja3Z1iG)6_ %U0iym-KDHfxW~)fB=iMtJi 3T*3_XqW| zSt~4R`3@%R7j7E6szpv*q7s`44lRC#?TpYdiiYDdQObwT%!=38oE`4=aUbxmv4^J) zOH;tU2i*7S5(IE*X;$jD@ZK3yDI@<|M=HH&!~WuXnyhM2 t#$ z$`QSdpZTZQUilYQwI4&QrKi2>669(A*9KY@UITK^+vDDzLDQXjt@GV|nEMiA_JzKQ zq;&@`zoir7OtT;*uOr{rvS<3-jY1CPVQL1IzENHW`PbRSECq6#)L4odB@fnRq(0Bw zu#&O3yehXY+FwV7)CQege7LW|28QQtNEPOyThBOUZA=Q;V3aAW$!I8M7R!efXsZa~ zFT1yzC8or}2B?)r|KWQk_#Tl0T+0z|{s(kO`C+bE%!$(_v1aViH$b8@S>>pqQMjU+ zr2bng%jqChgl~|~v>l9pVZ#jliAT$^4^f(;Zlj*|O?R)C@o=B#yH9sN&HS*aa?fJt z`l8LDHFqaZ+AJMOclbtkZ^9t2rwXYE8hDfW>-5yFYGkN>&GV!AS_j6RV(kubu>- zCb>C1XdJ3?< YZKhQ~K2E zbiQu=+dum4V7rXA_dU?{OZE0SkPp>N3HmzgKg-r_70H*Lw8&~Y(bjjk-crAy_qlys z+bq%Ayx#JEKdJNoI>P_`W#|9fdGmkx%KzDS@B5s<_xml{`+Y{=>;A6z#g`03r$16} zTGO)K`waS14gaBHcQI~Oam@BTaGsc_*M#3ChTcP3B>GB8S(-Q96Y9P1@F!Xn|920q zyjr%ABKtRQKX+KF)qB4->d0cAuU%O2zW>9`n9%eAetLFdBlyAzq$TY}lWvmtxBN1f z&wp{Q%u{?;*1X9#W4!DiHQF$fCNHdGKJi#FN!~wRhV-FQm@jp$9O+LLDNp)g`Hj*h zyx6^JIKdaI{7U(WGV<_DDOFm)-zBe@CAY!jA60dztQ5#Lkzkg;SpAc7`cqc@rQ$kL zR+-Pw>iBu_V)@G=zVmK*TiE);La)4HvJWPKnt#d)*7vZ~=(AaPq5N(6qv9*Y^e^s0 z8ETw1fAM)~-cM^w-u8vEu8}P_5a5HsHGh+0R=`mWfY(o}upQJ# hrt#%KJfvAbV @Lhf2WR&N>b~$};nzTO^O!* Jo3(own_U|&aeCw({j6Hr$>~GG` zyV7@Z%lh~~{{!$Z_M _ z&UUA2!D(#t+h5r6z9x<6vz``y`Y%@@%QV_rZli-(hO-mUHOX*j-?SqcHFIi1SrxW! zt!lOES~ZS+y!y+PJjJ6~DzK?2@I+{*k==0csy@T1QTyv6ENrv4fu5w>*y+jpRMo5j z9@tq0bGCL*^|H+l-Q TR8k^a0zr^?nQCVhwM zf2KgNPmT3Yz;oKz!?Ap$J8A{(jaYT9keAvq-@O&7(E8#ryYE1C#a4H-L+2oWc6!`& z%$0f*MjsyI!@u*ppbWuRBK?sd7d$2i3fudd>xk#x#w>N6E?ao{OeAMYewlKyv@mK2 z<>VtVoQWTJ(GN)2`iZc*;`V36ZS8RDC9 G|-YwYem-W4pQx%?F8cci08|@u0eUAMZGmJDa+}c zT_@-&ePv273igp+FSpIwlvlAe*CeEBZ+2NZ#m$*EiG03`WXHNOvvTekxySb%&?H_Z zKCG*?2&xb|Ey#e|;MIhR_N?o~aR?fMG6pqwj10=xH;cTmc3_=iKZB3rW7yP8ZJvMIZDkmwi%2KC-ePyae2unpYa2C8|6Y;tkeZ&Y90 zUOiBSI8uYG^jW(+5D=_C8d*r!L||%FThmc>(P9lqLTUa9RltX0!l)3;wfhir{Y+Ap zjA*MlvO_UZ;EXBRlQRgtt~f1tNYmbWR`y<>114e2r3WsG7QiCw%7zz*uDaTR;u)e2 zD|88R>AfAf`VRF1K0!>j(whd&pwp~SbamhIUfT#?V%y+#KLeb}&Jc8dE~NGPNR^IJ z?z*1G5m!UD32X<71p!0iY3xU_q=RD8QeW%R*3M;iB?kSYbY^r4i%iKPKMzj2d2#AV z-lkQA+U9trs=#XWq05nm(xx{ll$kwXWzhE)R}~@)_qbAzq$5bMbqw @IY~)0#`*86PJ!uM4}OIa-H4K zRo=NvT3o=JphU9WYfwNSwsY7EQulkAZtCv(Jol=R?*!rGs{M1wkCE<<8u28YeF{a; z!wW6M=7-6#K{>{fl~^ve>yC>@FX8sJT7md;(J9~EgjTjOo*8p*a49UbsoX?$y{702 zw;3&5{Rk&7*INYR@x)UmCrA~q03pRWXU#uqHlp}?-A8u1CSzn8LcB@>>3wu|*_Tff z7&`i`CCQbCkYa5<@hk*i>`A*16-dq%-*^m~m(xu`eJ!_%rkLLG4wqI16@G>z!<<%J z Jbf9W|29XTd2m!gwl_EQl97K<6K%zc z&sxFB1l>Vij*Mu~Mn?=|)b_R>iP_m3D1LF)eY2yl)kIJ}cwIl|y4Pa%*{e1bqvm>= zXDpuEdAep8B`bN(vz2Jiz9Kv>Ah_{XawQ;vXwSJibpOJ{fC#Q1=Va#N+=`MO@*nu)BqWI}s^j2V%7nc*zRJ3Ww; z%jx41WZ-cVC;NaLTVMcLnr|8KmK26;v6sjxj_gxM1ajGC3#RB`rtDQ1lTsF$5wmC( zQ bh5uO>CVL7=q;1W}NkM;Y1wt#tb>f z93=ZUOId%Fid|vpZLUu#4 Q14pyyHIx&a-+$eo`6 z?gKue5dSDCa$%KSFAJ}x!!>Q|y@M}IjR&o|n;*6LVt35sntO>cD6C7m=@5a_Qo0_& zV_JZ~rmVcgaF`j-k=-nvQ9M%^uC_>JeuFZ;E;ky|&3Rp0I#-`nW;T{Z1D)QabCZ )B>v!uHknedj{^+LW>u5PT_ z!Cslxo-Q5A!`Su$aS65X{X7i6*OOeJ689`@DA%lZ#%PA43z@UZU(_pq9#{``x*HeA zhH4AchNz*NY?{l)ti?M6E7a!5e7eG9cm4W&CD#5y;`nqWchH1zFkJcW=I!`YCOv$C zVmJfMt!~rUk3*#BWR`HtG(b;gMS`AYypKA-h-*+2!4TboaK9f -~F+?VvWu%pz-{N9smno|LOxCsZI!!M7h$%)~ zbNOHC3!@s*OD6(vYOPSzMsxbg`lgw8T-JtZl$Ucf{#mQy{Df!33HR;aDz&I-8ju zBPiPCNT1kS&|%DU9~I2<$)Xy!mul~sdE=7C?gzps#*2yM49HrYG}g^jK;Z~72o#En zB`{!_U!=rVivD9NpTlz?jy=3ZG>z9kPp-RcBcD}btCydM^EviYmkU9L`|R6pQdgZ6 z$b++{I!pc)NLxX=^-O+dAaf-xUbisi27}BkP`z~X5N0y5>-1|f`SHfY^7veYL;gFE zX^8b==0z}Lbfzp%c0(r|&dBC5uCT&^VQ?xXG!9M9c#}sYQ?+&ZH_H}$aDXrjpUxbF zPQ$t@Q;#HG5dBi^u4oOwNFHnp^j&7U{-N7qKjK{IB599G3420!Q;za00I8DTIM1h% z`P>@zg!Q?)VZSBfV>=i@qfZeAbg(_Nm)K>NPZL#&^*n4zgt~7>rDHC+JISOAl0B9n zk5eP}4r8t;!>vkT5;5}_5tbp*eZsR3mV#T#*y)#v?g~DCrDiX{f CREOfOP_&@>+BVPPJ-2I4UG&1I4XN8_dmEcWu-6&+GL%Kp%L{qWNL z4W)UODJCqn{nulQ($!|Y+8-sopNBkpZCM(F1)dFCBc_;1Ui2M+Z)?|MiPveNXWmf5 z&Z~cB$0CEt9%}R>QOq;`dbVlp? u5hd=^6*Fhd(vLgDwiuGUSa74`2+e}nv7qM=wFI~${YSg@2kdei5bbkb+5r+30w zC>5g279vnIhdix@zBhhWOw&8F>nGED<=+eVk}i}KnLjOEUpvZrMflb^y@WD=Y~8oG z#FMZq(f8wJQ^vL=-Ew$#enA)^X}A!5qi;5Xd7j5?m~Ofn^%IgNGUAV}1w`FXoe{xb zkp!)`rg1D9O$;(u5G^Tbyli&OC&f)8&WuFF^SI*B#|b?`@O pnzNYy3;nrSAMUk0-;E?cxjUl)nQ?SiC2=CAGIH5su`F=PgD z@)arJ)rNu|_`V64*_tUL_3F~)zgy+%%$9Fl4G%x{zQoL=aY!r8>3N!~bEs#xh-m|J z?)YpO2;oz^wPGOb!oQ{XkzX8S5Qj`KuU})GiQ}xA6*Z6OpRKvnB_JyrXN4}^o)Nui z7O;w(+M$r(p!Z)BQ;hD9B>tWFeKGPTLn53piuZsvl~8ONUVH75_(mbWdXh7;p7r+p z63}N3GX9i;j)8N}xJ4=-r||D;b@JG(1s1c!O73TAkB%N>v4H0fgMh{pJ@=H3rk*Am z(4$`(vlj#FXNH(){V{B|`v!k G%T$}!l4 67q z)8OQt%TCByzgI-G1Jf^cAi1c!c0n6?I2dZ<{{VY~BrOd{5rH+XN=3j4eQ+Dg7jx~k z71c`?nUfUilA3sP ?lZ+13Y3+V@q?W-h1$I|0X3XH;gcapz^Ar z6T$RcH`W6#iliCAYh65xMH2*{X9MbanqmxEdHT{ij$11%5Cttac3(vV_bY0{q}Q8| zREE>u2>aT4mY#)DeuX^HeGP5lLK8nmsy)mE E>s2E1zX&9x!mzYEwC TXb6{RfTaf&b4f)kS zrRBk?im`lkN6G>Z^d!D+NM{3`ebo!Hp&6PD`obr?G)<3idBG3n3(FE^=tEBI`NA3u z7KqhF+%YFoC97QM-0m+agnEm;ZKa{ $Z z;CR$Y9*72Xd<32&h6-r)-!4lP&D=-+Ay39RG%fVwd@Pd;4dl8VGxYof9_@%~IA@ql zc#HBbS6qFFlPk6+Xn~sYJw%V|$-TryT+nUf+gAw!%%s`t&!H(c>e!2_JlQrp5u=Tl z&a6e#8+b(0BZ)M`yLBqDX>~Nu`aLg@mU@#l`S|W`VVe<=WGfx+;srzJyae<(FZl{b zG2LYaW#rpdPTtMuuB21RjEys1^tTeDSu(u=2sC+g7G-K(dnM|j86iBU5JfFbvb>1o zobbsf?L`q~EFhJ^4}syH>wRQ+uFnTBQxTzG9pcvxo$&PIIJ-u{=!LP+4E4*LeYfLG zuDulL UxH=JaO;QER9VRz?C~x_pJi3{e?Zdj5=9GN%OUMQ>Fuk(N7jnF8a1<@ z+q|X-1jWvj7&zz?k&=oNkqrY(Ncv4hbF$@}A;74G5UsPKQFtM&4Y$53HXIT5?p%r^ zVk>p3nh5F(Dc${}EtVeVH52}K4K2(G(6Xx`K@aduDo>6;-i^hP{;?$_9x|O~ v!gxV>l}Ub}Bw+Y9W?u==h+|JH!rb2Z~V<=b#6%*=bC4vj_#(2slRF_jB(3|QO) zi{E22rmNHKof#tu(N()l8b9y$81X$?kF1H!qXgDfDF!Ieu*O(JP=FL3Hh5tcajy R;hsA(@RZ~>*;fyJ3WuU7!5wx?rB>$MqEG- zvfdZ;DvzB~TUm@e)0|C@3 zJYC-Quc>}QMDM$?%#;z$8y^s+a&)3i6Z@&4*smVg`#F&@V1$+FN~{ZiuAD?~>~fKO zgB*H==yL1i=^1CdHmOlKI4t$z(5>(6!VQwbYJlP*aly0O8ccsOTx#0|+&75#w1lb! zxfrg+d(72WKsi-s1KWpP#7PEk2rZ5~$61U;hvi@hU6V!^wzyNDlF(-i*MVubj@kd) zvU^nYiF*6&i@mC!H+0i!fjF4iLVeqIOsLixCH;Vri~4j|hQ1=K+LLlYml!E#_9C&^ zvwm9I-C43eiA)*Clzw9@>&A*3_}==j)&;yT*Pzav5 )K$tXXbcF< zpB~x1g8Vz!a>~!1&9EHH)8Bb3Ab?_dq;c(l9z9^1Y_lsnH`bPTF%V&x3J3TfMdl z;B^4A4Ma&bf0T`kdC2$r#UsBJ7y=Z3ZAh6K@EW_}MEHvsE3}G1zQgyzdZ5{561fg{ z4k)bWQ}`^+?*V$as;*^Gj|02VJUDK@%6CGfcN_oylC&hB(F1h=#Ubh6fD&>whn%tC zTz4Z`QvfK$zoijyTXCud>f7~Y6x2F8$-SQ%!U{VP2j#Vj6O5Z8K (Ju5MD?`&hth=%V;rst)zvR|ijXs!Q_G9QH6YgFue3 z;Qiz*3-kUuJPa?L{R`ZACdH)^Pn-x|o&9i_`@m+$r$ZAoF)OE;SDIWL-^Af8FI;;U z6Ipuv^}T=Ht|G(~*Sjl|q7erg#B!$}X!&d0wXqoyc8u4URN7y&+d22%W=CpO@S;1!mB zbTn0d|G{G`aJ7~K J~v< z10K6jvF1Q>#PaM!V>V=;QnX^~lG~oQE@*xc=6an{DHJ6J $Sef(8n_j)JyKzdZZVg6 zRmxrPI5gO+!3CIcHNMT6ngN+rlh6{sBw>~;jW?LpeBQ>7cFYyvdVLh^g0trAVFAZO zVdwErvWhQX_ev{idr8BH`IKuNe32}_+T6;UY~lvlj9MI4TOQjv$`pMsZ#s^%Q%u2{ z4CSqJZ!e@j3XX@`QjKF32jVYtVb@Rna$B>5uuNN`@RD`X@~#?AV0Em+i*#!$*H3&j z@xqOxKVT%lMoC4(>Ai(AcHm>A+|=ZAK)G%;@zh+RcI*jOwGN>|(#KB@va07cPFBwK zIA$o1DB_z{(Ls1Lys-$5C!dm)Ghs!CULyq600kb$eIpkZ-#x-WR@t@_hRbyIma>IQ zkgZ#bPa5C@3$ZYfzx)99rF7(vk^dfWRjj9Vhf`BsgvJ6Ev95<~{82n^cl>cfNN1Xf z&p4LTKN@vT(JazQ2&OL&Tb+IJ)aP@`zYg`p9>w6vn5rLbJ6(*4-Bg0Y8+h}`Tx969 zN#i`pGG8z<(!5iXQ5;NzP_G>u!4njb3&;>(3(&@S%%Chu8F_OH2kCl&oBy(*r;>YA zQyWk*jXYS_P4hMb0&hHb#@ICZ%!MA#&P{&^-fdR>Pz7w~EZ79wi{R@UegX+r)&yBv z@j>@YbheXN4?7|=>|M-?6pT`qJ#Q^eIWsNLVQB3-{gsr91#Zw}681e8l|*7Km(sld z7l)Hs*fLI?>g)xtMPP6Dp0%P&Sn3Mzl8{$!A8b6qxXbT~-H9@lXe_J2J{rEqV`@W^ zS%?8Awk_DN7RcuWN%OTqrfQ1_uQKg6BrIGb{W5@6%E}x-y9r|Rq6Bjv)7Jdy)W@ue zB_|ct*KkCsUBv|o%6{TdUf1ak9=9c{YTxa1x9LL!Qj*+UG!1SKoTqw}6Xew#l3B|> z28kcrU4jd%J4PmxX#-Gk%Pb+WKMgZsft8Ru; Mx9cQBzN}gA< z 4r>%H6@( 9bA z%!q!WSG=I0 =3%tIh%nuM%;ZG$l_LE9{_%#I o3Qn`5&HpMQ{@*avz45p1yp%|BL>Ch^PGP&0tJ<`qkiFdHgd+d*jx+iOp< zoGQj4aayoh9u<0pVwBa2dxSa#kJvjnA 4d;B7YClp-{dT}6wm9t@ANI_u@M(>7_{oX*}+)DpQ|-u zk}P18zy2|lr7)F&@uU$95BwWRRDp%X_sYMKcD=v*>$#c;D9v<3Jh^tSj5t9Y6C~;N z3F= 65lCXT_%tADQ52> zd2#g9nD0vvHc5H{(+Vg>AyHu+Ol)@Nqals>0w9jc9>!l7LnaONRN}g*z7TG4A(-_w zXoA&NAkfbwfg38yI&|9@jwzph6Gbk$)@HOU!2LFMs(r@!pWa(KiQWWdfm1@KdT>XG zUHd6zgBJH7$$*SdzBCdp{Fi)tO}W!K0e82oo=$FkYV(2$C{FejGq^#H+dT%F0jQ>m z@zM{+#M@>O^n}X=udYMDz6tp*AH#kM@i@g5lQ;p-&0Agr5U0r4ej3a_ZRbWSk$A$_ zpNGT9ZefzJIn7IX<1D_Nq8wa#Zh4dw{dTe-R#epZA&$osOb!*KFh(&Rc1iSEKt8ud zMK5#jB8+UR{$85eZXUyji)(^8kkv&!=BzD8a=c*~m+4@It8}3R0`r1kPnYPnHq&P8 z621g-NA6t!XKc)nU5hDe2>aJ+(O7a0A~02^rG22tmnTVk0z=3Fa&^ki=P)Te4o!d| zfupy?K$UZqQd?(3xOb^9(xcTA0-9qPnF8D$oMY1foPKGg+$m=mLm>qHlep^1f}tF0 zjkImMVPAv2p0Kd~=!Vq8p0N9|-c<@IyiAGoW!+1lcWV3W5Rlr*7?ZekD|^$+7 }q$yj0HR&D%>1U8Psp?&7ta1W6B92}R#!C2Q+B5e=M?m1>re$aKn5 zVpo0--=lo$6apzv9u|joG8bgtHI1W)Gt6G#ah2Ry_3t1Ny91*FA2`Z>#Akj(0YV6Z zGs&(a=<7D(Ln|%;(Do0fULWiZ)MSB~>Yr_+6S#CoZx3+(H+Xy6)(|i9x-AzYsjood z5gGu Mi}AbH|~t|YQm#pwe{6+n!zzVQ7(VbvxUKt6Tg>ys$L zC7~^GkP1Y_yftvfk57o3Hdh`Wd}+Xz%)=2fbt6Q}Z7_0;l+I_oSsLwesV_<`m>np9 zV9(9R*H(WGiC3Gh7!-wlK^_7^Xzko=g%pl9W30Ds->19Yk~VthJ#Ts 26=wmMVKrPvAAEY#9Hs~vT@^10 zN{#<9wQ?H~>T8Mo!RG6^ov#ZgZ5THz+@3@l;rm~Ny^B*l)VbB^Ph!1aG|9#xR%F1` zT{u#D#ewa5MowAFEiSw#t+2qW!a^j?zflYK69R)21=e=2V$Kl}Q$SfBU7mvlmXwfw z9C*OwXec>`P`TJ|fle_4UQ+FR;RWXYPqd*t<{?^H)IOpGz`A8*sq#!jO6+BnXIDCB z5RUA&M2{{os@ql6XywZl>5YbV{X9bEf7i!y&Sl}b6#n0Erz*g_Xv`^zv1VqSm`dlc zdi=F`5^JuGTir_d%3$pF7{vt^2{Q(HO(2HhLWzh7X0v8U8nViTFO#raES7qmp2-Qe zoAo4q4vrk8FsNcyY$j4L)_1QQc{eoePhI?lTNHI`a1yJ~EoN|QI8%r$uoS%6Y^%{G z@f7gZYrgAEiNJGNXEMYA%fL-vXf0y%k(SU(Nm~1wMafmJ=C`l8A%vRruD1?MF6uYM zu5(|(ovc~ov13 Qtg!O;XEcOU*F#y^#`~j z2KvF$8<4Zo++8xB+uAwaw(?o t`b{Y zG7!3X(HSJAo>J~VGD|YWqOHEo1l&rAI;S`xS)G-6K?=$&8pb;6oYsk>v9lxGpwh*$ zMwV8Q`CsIQ5Q46$%W}f4z3?QHL4>nmGSm#b(RwY$UHN6c-1d0wdf=_+|9QT0hm?aU zCRW4p?jy!RBPqt6xb-zDEskjq;Npof7O3TpQ4F$e%MKG`WR8kpj;eq0K}6c)2O&pn zp*5*B|AKQI6@=l)AYF0GgZSK^M)JEw)8Lg&9j>o9x@BRu2bqSU28EZ-+#@CD#APak zz-Nn)zR{4PNmWB&Kt=L5IC9Lx&t8W~Z?`w1P5M6okw9+0U<^GKepnFqKE*uN>M~Ne zE%Qi6qsv#(l5vZhgC=0i1`%n4J9t+t=} 6aRYZO7;_DD`Z86n>k1$ND2rm*l5Rj1Zw4ekIc833C((!!^qA{Pjq&+FMv6!d(y zH+%+IF@y0?T%w?(*!HrRxJ#%GelP3+lLj^N38kD X+}(ihO8bG25$C%eX;3Mb zD!f4C`+AY4*%dXJGlFJ7{xJQ-^}0HM+oT<#x&o-^4%?w`qj$fP7m;US$FMh`w>$)UyzK$EBhJbM+PI48F zO0QD!WY5JqS_E3$`Ea xg~X}b=EoM7ZGdhKj51*a&oEiCu+7R_nMUB|TskRCL>zByA-h6c~Lq8XOX zwlFoF;FA!!l|prrW#eFI9I>At)4aCC#g0UZt!Jp2@lA3ikJ}dC*`#xprggiH{r$#^ zt=MzGAolhZkJ?!!5Wz~8d3vPCgKps5GrI*E(oUaQ$kmQ~stZhISe9-%j_2r}-mz6W z@M6p}>0$NhgNv|kIaWKg?%6Ku8$4=Q$L?9TBbwdANZG{%T%mY(MRQ!we+-_DyYWLV zl8Kd?&cT`(#fF=*6rQ!-Pnsq43{%Q2Qxa{@r>oKD9ZieOL}>X)Cc47-$NgM6<;9I} zY(lzEkAp4h>Nu5rfg6O%opg?!?kt@ipVzhXjWxBS;(D=H=0|dD` z<;xMfQ`lLC+IYfj%@!;z7r30&`P>vwjBFfTK+D<_zgQp*8ycN-yvXg7uk`kecs_+Q zWR`PDF+(-xI}6UYS?+FY8!%962Yfrz#5q5Yshsb&Vi4hh!w3O0@f=Pm22W1B7c@po z)6Bw~ IaFmQt8Hktn8PG&!ZtEvtYLDNcL7Crsf6Ejkk6 zG&BQ=F+|ZZK3)P)CA! >=I$5aXo?FF;sOd_}DV_++lGo7t>M!akI4@7#)s2 zeo(N}w6vgy9t!$$+D_fv`^U@qdU4Jzn4c*sZ%DwMy(<_G;DtyY`#1X;ln>{W>)RW5 z%&tcXijR^Nfo)43OkG48+KM6`^&3reP1CC2vt`?goBBkPA@zL;2#6pg^t7SDbd5_3 z*|CUl*;dZ=Y}*sF&-q|D*10ufS6RKDn__|T=mA*VrPHvUI5SN`AtbPyL8nlhD$q4` zdxw-QI>JJ?CSfTJ`U@{q=aH(|2p2^Pvf#|oP_9a)YhMlH4y}gt7(TE?j~{wyoy(9I zB{aW<1mc&cvkvVP4!OF=+oN_fj_a&3c`&M3Q>3MQJCi0B@7cy?0lgs+hUsKF40c5G zV9`wh%^q+O>24GqyWkqjZ5%MeETP91?Z~CS+P0y?!hH5hb_&+}lAZ%-tDv~A{iX(- za6$q$%Ia#_gOV1^F2o)X)H!WNigmPYrZVk#P0S63 Zb8!OqC zoO$Ua?l=L`{dA!*^qlp?TF*nD94(8w>IQ`Ch6O2?TC;Tr6ll4>W-Wo@n6-O&$RTVa zf#%`lHIh7x2kE5}bF2iqZ*zL{JnL?IHbb8aYsc+Oj^wE8l~D`Vk*x25dhrB|Ao44+ z@}z%O1Pdp8a_YF=&%>+tKv+9*Ldhqq{y@v8hU72Fk@Gas$V<@Bj_v7MFy0j9@z$HB z0aj45)#||VC*?%Z79F<6O;8}yJc(
z%2shkfk7%yo{rk^<>uJZB8YyGn>N(hg+AIOZ!_s2`O>kA8Qq|d#|I8R3 6f2MH~m9p!b&&vJtcj~o;MhBtV-VFxI~1V{By)F*3YiVd14maOvv z`JDMZovpXza(U=uo!u<`#L%sNZsnz%OFJ=H<-k{$^56je+2t$yYFr$=4X{4T5f)oW zN0Ip4Xczo0rKN4}!?kX5?<3M`7A$PhW!Y))!byBB93S-P=ZF!Bte_D-2eoZ40_kbC zA6MFZoW{Aw__EgwmbU3KUHdI1D|f<$J*f&fc5Vv?4iIJI%CvSQ7~SD;79Np4Tu{Bo z(^fhQtIX(nPxBL@1?qknKOHsJ&;`Muhm12kp{&l<2sV72jEb(iF?x35gn^X8N)Y&D z>HFD^JL`^pp?F-GNqst~C0My_7&v^#F5+e)wlR=5A>u=(FJWUTW5nDivyB?^&1CA5 zH=6WJ4}@m2Cxf>3(O3;DAtfVNij-6=3;W!>T5;FjiOc-pQ0yG7c4_M+t+AFZJx-1e z86lIfYCX?92WKY#=!^jzx+6xgC%zXhLd4Z!Z>xe2(=8 SRaq3hG~AK^OL%G z7Qi%1In<9wFX;Q2?G6^r0p>Jcp))(qkvuXP>U2NpW`EqoxMkKtROC`z(kk=mQaQ?A zn;v5qI~zpPg=dW+i`%7^A>S{0sb3}GYAC_oFok%5?kywIkJX~Ckw-ISdK6%bGfp>W zJhf=3=UET+1ti)g?(HgzsMquc=Jo7kbGc*d)qY;Q=6qgy8k`+%Y@G^$K^kbT>wY5k zWZSV&jyI+zu);s}ZQl~P&*Wm3=fjCH?5sR$0~KE&Iy0;pZEUWLxEoem^+bA7OXFv! zWzSYuT{>HA?u2a;p3?yQ+|!Iem>R?K%4VfTQn{=^Hdc&6n0u7$NJA~GzASY4|JlsC2&G5L`TCb z-lxIUHf_zytNT!j>BRKuEQv8TcEq~p-6|!eY^h{2@s<`5rkO6G-`FGIBIj;yiQ4z` zKJWWp zqQ$KbN-25t9<#dH@E)TC`q4 i0KtjKU{JTi?NcFye) zpXqmextjU;X7Tx1I+e`5<>@O|T+&Q@^kU!BEwe8aJAc`ju&maCu2#y;(Q zu^3v@o?}<*vVTVP6STjx&wHC h6?Vm9*%xv^diwM=0 (v9F&xSv^l@+vbn&m;-lLvfUiP3Fdh93=9t1acD|q*+jiM@k&SktIwAe(abf zS~yWE*_{WYOiWmt&!RYp8)@0_1lVXP<|GBy@NLbOOSSHS-UhZa>tV_L7UNVR9JfMB zuINY*_c`v!?ob3Qlv`%GUE>1*4x2|556hlnZVEGqNF{{ER6Z{Sb_y3FMnNy0{rY^p zC>97R`Eq|G?2RlMw_?D2z2#z3Z6K3j&Kcnrke0xk#tQ|H0MQ~Wt~njpNiYCOo$%{o zpKd6LicD)&tj}%6hTr=Dp930ljB({qHSw%KY~1Zm-mjzR5=`V+CZO;@)05#1ZU# mOt~PnR zH_99Vk27#ZLvBSSmJDNDhdWQf_*op?t>R?Jg$)&(RRJl|Zt#U;n6Lpr3zsICuN&F1 zq-7FU32JMyX>@@NDm5G=-%TEmw$iVcjf;>x>JJb8a$@|&)L89)3?*fepMTkb3)gV; z?_E9Wji6t7v6*j^?G%o!Quapl2RYO?sIyGNN4$)Xj5J=StDq*F4;H9p-{8uWTUOm5 zxQs%kkYozal)3{+>rz`lLCCkJ8iaL2ExBwi4#Wp%XJ^`)#1EbuvF2fsd+sVH-3N3? zxm+xhHH#IXnwmvm*c%t!uB=m8ebMAj$cbdmGL;4wW?W)wj`;U$PwQ~*QTH@y9_VGn zDhlu~A#mz1$kK8;%l0%NbUq^*#Z^acB$j) 7eiRv1w zIDUO#>X-rbH8u~x>9|^60UxeppF6xLmsX|hu{EptcWf&);||Dp;B~+uZw~dYqA6M1 zk7Des8e?J#iXF4GQ36#KsJvYP8gSodduWir^#*d@=sxaVVVVU6UiZDiJ<>UP1uys! zh)!a*!qu)PM9~Qe5?lwx=$Y5-!;hNMSZ~{$;01abM}B`bVdv8#b)do`(RJ+I+)#9T zw |ZrGd%!+@O<+$N9dKxX)kF@94=EMBp=(Log;Zt<;2yap{ZiauIN zpKb^@MR+M)+0HX>g(Y7uI7}3EB^=SBcwFc!;>M3DK22 9 RotE8e=Tdn}Qrj#;slGAiSk%i?XLS}i{0;GP|-WpE&Zc=N>Mao|UM z &sY Bt$02v$jLFCA);Eu789LU)Bl0El!7(;LagQ}q#s=fgA1)*vxzQToikky1eczKXK z7K1@I6}HYmoDZ}8xP#$?H>pG~fCGWaMU2Ws&=<$6wv$d)vvk##i&{PNscXtCN%aI@ z51Fsns46V?9S0oH&P&s*#{>yN4cc@BF%HRUY(W8dhXx6wD_D3c9Gg?H@YIzm$dyPO z1Eac2jWSVBnZ(rwplWt`RbMBhglQlLi#6D?+uT`+F(ieJL3bD4GEGsSBdO~I5imhf z40s2)A;s$(H8#Q`kYq+-S5N`ak-!Q#G7hyMxw8o_Pz)|6(fbtIG`8zTu5_*RNyv%b zaHLuyZxKNv1Gj_^i6i?!z=BnuTg@$SLINyh*2AbhUrM|@3(DfV!R#FoJwPf1&RnW- z4>TIAicgDzIAC4h1a}nBq*JAxr|HpP(Y`KV*%+(nScHWN)_A1vd(CaFmB>65^0Z{+ zV3Gtb%7qWzM{nuJ0Rt1%Q`S>cJV=u6xQC6N@}rCd6Q18lRTb|WD2mm{!PU8K&6L)K z<4qOyXV)QJ==s{!i;`8{&J7^I7!FpTY$R=Ap#)Yr5Wa3RgRm&XS|AAtp=W3c4kUR} zUr^Gl{Th`y89q;#bY+Ncp`i16VQEhC0K=Umv};Im5NI9W7pN6BnVu;69RkGV#%SL4 z-gmt?a$3m-#97a9sgxYKAU-D*XC3T|Y?-|%XSNJ_NG6Yl2MRZoLrETF5WG4Zcu>AB z*u~3Mu+htI+87wngBb{7C6kAxkeEGT0fYr)0_4$Gy~NCsSOZC}AgN@d2pW}*J?<;6 zW+HEDr_{Fw4G(gAS1^!|hT0WdbtNlQo+K4S_T}f0JaYLm02lUgImqVFE45XFIN_GZ zV7;L{*sTFr4B#~C0*)bB-(0yh^7W{EEQA1_-P2=9Di>rUNFQdzL5uok4z<@<&7%@P zFMCWUU@KBQg{KR!2&cOYtHl5$9&nv-b!KZXcaa 1J1%?`#Kxi3g zgb3rCorMyHyC8SMB7~`m YSSo* zHDA$Yr4*Y-Odz&-vb9xiPctCim~1Y5i8H~RWRYOgRq(Di2Le(zff;@y??X#T*&><^ zQVnxj?h)G6z#H&DLr2xUiR2WZT-?b+hF?x3U6;*<3xT_z<_yiQ*ub_B1+psJ(H&S9 z;gQ1kgrc^|<)*HxBzJv{CCP!-G&*DWOkgV7(ly8o)zQAzMA8rwZ33;eM-f=SG033- z`)$F*Smy8cbFb4eu%T&k9oS}drxbQS4hD1<_81LkF@ jXs3Z z{Xt4PnrX-V? @HPv2H#mV%?0(k$X4BKCCUXtWP zoV1Tu|E*-&OS*Q H z{8iq|!9Ny%d#<7iX0abV-vn*6zTo-sUT5_0>dN7}pg)ych5us()!+a09l!d?7k>5g zUp&3#y}$a&*PcH9-Cuv ^Sa;u;-gP*c=xa0`<>r> z@-@4*KMmopZGQdMckcG@w*2~AZ+iOhXP& TVKfOB$`ICcw`{u8_0D)lQ1;75$ zcV7U%;OP@@c>#><0>1Fu@BLu6`ES)BfAzz6{`yVt+}-^Go_PTbzu@mZ^e6ZK=Hoy7 z^^ZUBXJzku#}3ichrYFs?CIN|efq>(fBnYq{O$wa_ 0RKi?vM2O*iM c*FW;QfAoY5f $Hc z#<%?T7a#w7F#g7fr+0nnx9@z 92*2tNfqd zyyQ=nl3)1Be+yjNwrLf=bcgFt&A>nR0;6~=r?vxk5aY*7v#G9Ll~u3!V tzdzV @3IG5A008rmPg+RA z9m8}(004AD000yK003lZb966gbZu-eX=N^GbZu-dXL=ut2mk;80006Cgu2I$#A=o% zwjW^L;i?8g3y3TQy}8vr0KI1fz1ax#-uo!@Mi3xv1g)hPnAvG12+;eCc?>abRrTC% zK~g3d43a+&k3ZkX%zyo_{{FvWUyL2RxnIh)Yya)P{#Sqh-T%@?een-}_>_NS^gsM| zGK +W+AX{vRFckIc}G z(OSiA_J?1Rp @>7C8CG=CmKPB>0qCX|}GycTwkTlaatl7^vXFt(T6vy*V zl*~habw5#>&e^j3#8vT=RQH->NVA_bYk$(b|H- h|#ct@(+zv>JZ)`>Dg9<6*u9{R;dkza#(0rTS#Qf&lPe z|91Fm)tA{^t$*6Huc}e|$EdA}{?~6Zv{j$|>6TVh{eAOz$D!(rUx9!8=SKa_n%^7n zSCjrf?f9$ie@?4qY@_Sf-;&@TzpniA_rZTGv#Kc9U%`L;Eg<)~<<|Y1gunJfpZ(+S za%TGTZ~Nt6UidZ6?$BkwORry}{HxLQw=2_MPW<_=CGi&lzXkWNPWxjrv~4sl*{^^5 z@~6LExHCNYi#z^H4MczbR>mLGEE(qLYus-F|8(Cv%)kB{0KlOH`_n&0zm~)8?f;*( zNJ=Ds`kn0G9CK9ZTK-C6z~fZt2Mi!*W`{@$I?_rzZxf}r2uzpT!q zu4=De|4ys!s#}J9{UwORtop@~{_f{rp8UHXHtP$&x=Y-uI&15H{?5vZA^UBy9hE~D z{fJq+XWxXntFd4HxZF9G|LJRX-VVnfuV0s2V%z@Cz7qWNe^DC&{)O7aKbdv>H7x+( zuO9egJgn=`{l)U%3xs|r5c-z_A@u)M;BS(C0e&wl>;C)~pUqkNyVK*J|9@1N|GMC} z=ieg#sS^L1MC&mA3f@ $i{!JQve}5<7+eZI+f&4zU(7&+hw-dj+`@g-5^uGW5 zIsbaASpKt%@jM)NSpNL`%=zVCTJX13zqHj~lkcBp8}JM9UsCZmYvAwkU-g0iAIbMs z@J@he{k6^V^-uqzrvDU2N%QRzefsM*xBpEVt Mk0p+hs@KA3h2ce# z(G+x9(v)Rr9$!(T$J374bESJqs>?K0TD_D)QOn*4CdnIC*JtZZB(Hw;K@5Mu>x0bk z{gox?^K*X^?}Fwmc@(>$8>pA7@NaewM1*`>nl0}E#qdsD& mz&k^q{Lo58#c#!we3;62)@4(8A#YEaJG zKL~dy2wm_Uq%{dsr~pri(aV#mw;|l>$t|O52PLruLvdQh5dbT32RpE=wLh5AhZ%n3 z3YyYbwM`)3BBc+nRxUt~FtM`*Qi;{kU8m7;zGBiHlNnVnXR&nZ5_;&`r?}IAo>3qX zA20S{ppUpgvamy;&rWJy_3ZW|zNCkgi}`cDG^#Ktj>F$LIp%2QdlbxyR7`_Aw2j`u zMs7h5@Uu-da*+pqPylg8E4V?P9F_GGZ(Qt=iqxPo51 gb z&vnHJiaxuB3Fm~Vizj#n9tzE^@ ISKfAZVEVr*Ae|+6FqkaZ~zlN4hwX?X3jI)ZunhwKAw8ONPgTj)- zgouMqn7{}*gF2dny)PH>T?&UXn3ZRkt#jOYORL^Nom0VubIGYTt=WZ+J}AqV#5ti8 zA)u@5C@Z2Y8qP=xiG#TEH56tr;DNLt5|4H-nvqM3wX8xh3M?ob$5Q$0PC{yGnP}uw zi+NwFFFCIOOpNzrKtxe!!%S53DQclbFD=J{lnfebH;Ct?oD=;4d;?%Xh-xQ!2FwW% zYlvDWr3ajSNPUCKgXt9@tf?7jSLSH5KI;W3WW eZtuBFkgz4B z19Lh$yy7w`L|VT}UL5$aEyj3Vq1xERP|6{7S;i_yKpk5Q)Hs;&07`o7xue5Sdc9J- zVN`{h8OCqo%wSRa-R!%3JS>=JXTEyL8WTy4Gg%JT3}9$KTUzmQtx>{38O_g)*g>kA zDt5}frd 1YO{CUxU&)F=Gq^r=;Y z?Avi4_1-?oVjpWZR)o@tin6I{S9rl^+3AuQ3tH!&9;bRq8?e}Q&K(C<9 ZRnc)a`NdnO95}nAKLZR?fK9%@l6BJhsZGB(R33k&OPT*s<^C(-V z2h^!+vH>2R?GX;UNAEDHD#PHb127VH N^@;0qV>o+Fe zN+_>&zwqB(w8ZCG&8(e;={dgzzKU!$9yO~uGwY!wkQ1R}x2*yIz_#|$iUn3a!L0R5 zUH5J;Y*`TF;jZsQ9eAx7et2tGpo+*mXbg$#@H{(=;aM)dcN?Pa?s_10%3%AM)z@w0 zO}HF-^}FMWU*oQ>Q?+&&%%$VH!lzyF5-|c*4>}MYY1xOssd?$PL%{7G3i6;OI~e+$ zuqM({3f3!dNApTWUrW35*k4 -@BXK|kh<6$wy{I85)OT3U z5GdQLAPV_yn>}zKv+-9VkGQ7^umllijHs}hK@|3`!S=D>BlW?BccJ9j_z?FgdPpll z?v?%kdo0Y0oapxje=Iv$KdUF=_ZPqOFWRH%!w_34hG=0BJ`}XD;$elf;)uH8>2$mZ z>Tx`HN75Jr3`JP6V}kODaz}&DI|;8V0!&|FWWe>x9n-X NE0u~3%D`6-Vg7_4zi)1 7_7K-NPeFbeQ1Sq#Y^Qa zt6lF#E?L*<3kKOoR|z%{f@iJCHYm+m$c4?^)C2%}rXFXr_6(D>Szn=*wDMIu1vs{| zF@qllR@C$zR?FNRaFb=>dX<}95;Kf4Z!~$nW8S-XTNmn;S2l-2Jezq83S7nlzakq~ zkrqEY8cBA~ZAPVIWBC3e8 Jw@){JyJ(!w5!_7hwZXG>*ANC_3ki158JNhZ5nVuvZ&U=tL;$w} zNUqk30)szJWPt0dc6SFu0|VP%J>r69eZK}fs>yyza}ZYD9a<+mdq7qkf%7v>;r+u7 zTFTpdhNJeftInM9>AX8GNqV@24{BPUV @#se*V05Xdm4>a7Un4IqJG{UP-M@oS+M&{Ep`RH sHbNd9qRx=#rq}-_@mMW6iEFN6!$rQ<{NP$kPe<7@Aei}^tb1Uyl;x}U5}8} z_apdve_*FePm}~cMCYxk<3eNzyx)CI_~{GPR`3a5`8z`qG9}dWAQ=@7)}>v6ZGA@w zX~O97%y?-A*Byg=_ *+3%m^Lju#JkihLjr9-UIrHryz{NvgsX%+Op7Fd9b|>~b<~+%l zh@`Uk;c{03g1QbKsdy4GYfdE5*{|jy^vjgkA7XsCJBecOYevZ@iR`QT0c!$!Q|cqw z-#dn)Q?6e)wvF>=79}FdcMV0~xzIfo_yxi6zP%n8Ok|{pHp7!+AI|%2KDxI!lJuMW z;C=qa3H5nXh3C=&Bk}q2JW0?crvYxhHncaErM|HLk>C7BV#k{RfL{iPbzh1&eYu|> zqjG*a_g4nzEXSnXo9ChGiKe{if-{{L;t`mJ;jT1 RC8ueYWi%AW9Ld?tt!YiJJ;_slewOE6qwC!?FKVC3 z490WMh4!`0tPUHoo?Ows$6@&8I*=JT5%)&l)g)VSrulE$rqHKfej3v4Q*s|*kv}1j zgVaFwNy#iqtRMG_$;d65EJQ&VSQ`C%4QY`iV{bAM0*dO^W=r8=@!N6XpPj5e8mT>~ z#;1)26Zwf8J=3L#+}izPNP{A^2oj1gjshKhAGYc6Q *oGFBF7<@YJHJ|1s*#OxmMPY~(m?-^fgn z!38z##dntVOU1ZH1ZTke(}xYr#o>Cin-Kxckbek0arJY4JeUjy{9fO745X6{-z$G5 z`2E^&IjF`u7sT_!J_x#m>Ia@vRhTf30QkIFDP}GfV=wo+Wo#lDCd9y`j12csmEpm9 z^^KeKA&kC08>YD_d(Ukhvk(S>Uy~dZPvA;FF@%>N_5}EPd)tuth?YFUUhdN3J_0P5 zG2DK9GIz4%UicQ7vOF`mz2kkZ*Q}HFby|jXROzk_4B#u+Y6@5Ut}U~BZMvhl0}`GY z5uDP7JmeCIu4l~#cny=9;dyoM%YiEJCTS1ZLabJ#R?%+HlE|L 2uv%j5AFrk=3TBDmAyq;_~6qA_)y+-p!Q%Yq- z=|{(>8BsM`I0G@xlU`h;-H&?iR6zF8vseOGeClZtWDnvXZ(5#NMzC0(UrS8F??>)^6Y>h?6jJ%;^Q=44icFPJ)fpgZEKJm0rxbJH7eMbbF<3< z+ni5qhVZ1xF4V`2S^>Uu=R`aYt?u6${K{X~)fSwN=&vSvp;2-?YjXI^0B6H^iB?@! zN@3N#RT7-3+zQ3zWzhL1Sr*RWdt`HV=6~b=8VsqA?{;y=Kv%paD*Ng#C~FgT{q2Do zNY4_ez+zyoTwas+KM5p#>|HB%9H|! 7ZQH^jPn~@E9!%HD})OUB}}&GCK;dT zJ#eQMy^Um^K#Jvk7^d!~hi%}?B}G@ltkQYf!PMcX^h}T17FU)tAT9jrS>WLfV+1Ra zSdXLIGeIC{urvbztTjjnmMM~W6#*tbAH;|Np)Juz#cR0P(eUGXWM{bBP+*R1YGUEw z&Ifp!-k~E%_vE%5z$i?qa9y3dp4B@Mx4G0RaPy5k1?qXJ3Mixpr|2K60dJWt+fMHm zl(YQR3Xta8Lgz=+ZJV~xPoIO45?RFuPU-DT<2F>e#Ebgg^AgGKoh%alR$3l5L5xaq z;b_mny}^1wDa@?wU{U5>Q=rScO;za=x{Erg+ l?eO|I;*nGqTdR_UC|=*8ixIGLPzDp=4n3$gj7MP*jE2^9VTa`Q_s~o zGFa)M!5Ms4I^)OXP)_vsytKHVaOwsdOFLfxELyead+wg;lW|RzWBh~__{d^FyAwI! zQVN6y-q3bd7fg7=i^|?&G_F)G27@~ZxR{)Ykf6guN^(9gme_FKLoiqo1j2O8;lv Cw3;Au)-D|=2P&bKl{TW&t@i~57eP-4=Pc<3hdjon=R#>udkz17dV==;SH z0JVDKIrx!}@YBF*wcK
AaH9D(rqzS1 zgrUI^q8TD&iU1Hel}7PyH1244lVUrKuOfNnWAE^d`Z22TC3t;Th%ZwA&Q5Y@(3nDk zcic?-r0WUsMDO_(w7(6gm#Uh6)Ww|c^N;tb%PjDzsHk_vGKjdg62VqxpI|kyz+^4b zXM?n-j-r4a!bZIZodwS(II-)Imc>{ceH05?jbI 5Vpvy8%;Ui zQHf6H<`NgyCoA59>c?gC^ct|P60=i#3>(?S?V;r9{tR$@g>g~Oh&( QhNpJdNt`eH!0mTroG0}%T91kF8jA(dj+!u?i)=Le %YZoTs6N!e765kGSK6YEfqaDID QWR73~~q^K#QVH=miCL<5jo?K1@<@dSkOrZE*@|3ycrJ6Cy(sxuv->l(EuAgFV) zpe!7a$Y<5rMZu?fJG&1{(;sLKgz0X4MgqogIwN 93bRr)g zR;D-Zo`VZwahR&UjeSfOlKIYhq)*%7rh+ reQv#;egS$lUCZs0u^+@@5D`Gz&rD#;LkBi5DgBH@stCYukn|WVHGzxs zGFIryD{D3jfO`byRD5MSVhPcRW8-sFOkI+GdcMK%ZUhnY^}^S4w9n@5;Llj)3mp{H z#eqm}pR>B6m{dT?)2NkVgN2X#CY?jtlkUdGK@0+r-qE5 _eXfs3Zjj$pg0`Ad-cPBrAGu)uR6(&@tJu_ zwm1f0gWU&;))gNthkWoT$3fQQ@1qqfVmjZ 4WJy)<)}+QUsJw4Q_`JtHn+!!TBlqMVF 54`^;o576G4E&!Jpf7Ltx6g<3V+O+^do4hFWxq`}OYeDYVNWf{8KD z1|=FFFNv*S4O;~^vxE+aV8ONtr~u$Pi|*sNhD9VLW>KAWKq6t49oa>In;0XO3W^X2 zE%VTxkJ_Tir$gWTMtcMrR+PiFm-47SgYI$hWz#1Zz6OTNKR$3#C-6-0TMk2?@x|L( zCi A{o2S&0l(+F@Kuu!i^xhtS2~(4 z7ZBf1hm6vUv%umQL`6i%fxpV+D0AiNJKy`fHe_$+%fzE9yUO0ETl_&F#z)s>;S--a zzPb0UxYzY-5Ju_&b)BBhJ%SV&RP>+qlb_^};vc$aBXR}CR9uV2W=nHh)+l278#rBR z4MYM$fN$3#XPCDfxyCYjW` bz=zgl~huZU>mT~5>DBG_czz2XKUSDT3M6bhgxte~}x;MpS7o-x~Nbw%Ta z+;g{f=H2PW+__fXyunt8S!e1b3x=h7u;dhU9r|j}vz*1xuk1RkrS#dHNKo)d{>IcE zRN?I^OK mOY9tE#SF6(IJ_+ib=)PvDs7WEX#Z?b;@@iROJ zaDPOl1%#6#lLq6Xv#edEjzIUc#meWF(kQLmU2A+)7_#ZJ3~7M7z_U|bNaT=^fIvP% zR!k7GVeM#xk0dKEC6by8h3jA(pxyywPUTG!k*A+y0tq`m =N -d#7?^RCASr($IZLp2tvunJ}K)z-u+0|?pd69GNVAzJ^ zF2cUtnu&o4bB(@iQ7*6Nio17g56%6}PK~*_S+YF((2J5JY9JN2fI%G@EQM-;l`H4+ zbb`ZpH=GvrkkNTNf*1NCYkqJnDMtGD%YHnI^~~WWtQ+Hto9B#*L{kvL!HB!ZovXJ$ za`A5a*)CRX5f6Awb%U-!*0cJm25Zei+C!V%qh5?*Qu~OTFZBnRrQs~6$Ok^(lC`OG zP%v{2gs<)8DK~KARh4HYrEBvU<>XG(&N3go{YF-eb8+g~qGr1BjuYyQw5J{MpvNXm z$!tiB_Z1}A4Q7U9G>wOy#jm*A_- 7`3aK5RJeyqtNF z$kFK>y9pYN<*7+|Yn$LKM{f$Uc?p!b1aEL?4UaT18FjtF1S=6uOFAC+=Jqfxlkyg| z(yth{G3oQz>&^wyS{gsABp#>!lyJESkY(pB1ZTvCWCaWg(6U1o^m77Uzs3O5w^gIv zOs4}dd*DajdXZJwTYa1fp)Y<*_eSjrk6GgF-Y~&ClG-Bq@}5ftOYLe#;gWNLt^uTS zGd(EgKAwwm*GFyr9<(?C*EYSd=j}pe3y0J8lj73;)+&&eT3PMP{;FeD=A$E;@ldSL zyE9uBS({giEAN~C^&f-vui9#pAb`3Cv^K@*EdXtnR>E^qBcGyDq|s2~NZ&sb^F}W& zu8}K5k<@d2PC2xNubqB=#9dF%2G;KR=RRP}{V2q7inix&>$~IPhQlVXtPS{iWjV78 zSw`dc)80aR1E(z8V)nK6*+=e^&$#E|o8El67r6REP1anI{I#_LGFmwtKj9a%bF*&f z-MMi0at8-28*MhvmlN`;LO<&aINea4w3VlurCslVQ`kMU#}3brVzey;>Z$LB`euae z98mHp@v&Gs#^6Ni_m!f8)!OVWq#rgO4t#Lo>*w)Nut!xG;VPPgU|%X6s!@z+_ subd6(X&OZ3pfcZC5@`?-&iT-wSlZ))4Sj)%~L_vNcche(=*CRP46 zt>n~+T+c3r!1Y(?Ps?XXS;>x2^a)o;TDURrdONlNN#=8}zwgRd%!oGBgyrWJc+8DU zWKPzg^z-^Hw*Uk7l=)pnC?H9a4<%iH%x55t(oH1oH=U)RHUQDc7vm1-iL03~gL0Oq zzR=#nau=owEa%fs?A&J+BsL>{?KWvxS}gO5Kk*ya#`;^&eo#MPGPy#Hdn9 h^E%Z3UHq z2FYPH7=xahq$}gx7(3bVS7&>p5S!}DB`v0Wz5(Iw9Q%8}dugv3 z4Sy=AjxK0N>Zn>zGKwj7_PXnckN1ydv^%cq;2Y)7Pe}M92@*SDc@63 RPcnp_{yNjWW)7SpWs! zBXu#RczOuT%EVmx9@3Wsy?%QK6y5}KnKcDj0lytVS9|G0!z|Bh@@ Em{;n{k8b)G#M{in~cMJwXi^SmG+ zno$SV*B10I2i%DdX(zAiCg!(XQ%}b3I6hda^7T36JB!Z2BYS~xU}@IFET72$R#bc; z2i xlaxu#BAQh?-W3 zlR;sr{2&`b3GN04Zdhol_S}a}JI9aGf?LO2tq5!{tAok>(nFhS9WOt|a=>g79l?28 zEmZwTOf%=jlz%(PL#zs ogXvpV#F5m&6%Ufprlx6iX3!4%JFBB@z%Lf9)&3H5z!Tm~ zJ~(uA?8DdZV2XTab8jRcY4gWj9-;26WyCoEn=F^&9=aNqmq|)X=M~)ZMI(9nBi4~j zkCDxe3&njhUemwtw1m>ll83ocpxRCppCY?(Hx9rcj?m_MuNyrf^?Z1782Byr9-utp zXAew62o90WEuUM}1ii;$1_=JK0}cK@B?7ldPOI 5ErnFKy@*AZ zz_aoT=Tr-#>y7;&T`26jG}@jl=&$2&j#ZGs(|o;SkZnP;E!wtiYxi#3wr$(CZQHi( z-fi2qZR_@T&b{}=iTC2Ih+H*MnN>CatXX4aj`2ZY7WG1Bp3&&(g=ct>oT&1&j(DdP ztY^!a>pq39w{KFtDmfYE?5!J(f8J-B6Au}u=pIHB1ZWN|F`so7M6GqnJ~a4cUN}IW zbmv2$eETQ>H;GGNa--7o^bHA}H5BUM;H^)A?M);~zKZ0@`V9I{55TmepR7_j5QX9P z-Ne&c8&p5^%D~)=sP4MQt2kuoj+%uVovQ^@k9fJV>s#-bQ{LwT8)l1}jO0M9QtNX5 zS+b19vx!r8FY&B{<25L{9R T$8VF zordAhAjny%BQLh?x_QcL<}21}Aw=%cojCYkykrBng!4|3iER>^lU=wM0zN)QY{g#l ziN~EnkE!u*rtF~*Ajm5XW+l&S8e-6_ycQIhag8}|Pk(QWyd^r_bM6DLE(x};)qf++ z(A)f8o7`=4U1?jPQzuyGI(;%C{9LBMOTP&F%;+tbyLq>#oEzTOZElKF0PEv+WQOmB zqcm5ju%`e&5hi=6o(S)~cFjJNO}XHHv=gia{$(Ffvj^+h4ClW-EHv?;qi3nEkCv-{ z{f+o_CI;tP<~tq4M1_xJU#++9=X7EmUc4uA#bpA)<=XO6Fx+CbP>HP;31lWTWM|to z?HB>Di6a#X2+Dsd0x(OX_1hN3v{M}bSiJ?4$=ndyW2{?;!}GE8`riIcW0ez9 TB_rh zDB`-f?qg}eM=dkBc=&Q=4|+^gEy8|sO-QL$jjFbHrcn~Ao0o_Qo0~dD7_dpjMi;Cy zrcpn@W>V8YBkv;bR}gVJ&~tr0a6%L4dvOBXOm!Au-cj-rpsODJ;+SKy;Tn7kuS+4o ztl-j|E8&yin&sTk7M|O}Rb=rkTO@7UY6x~;DUS0~4Ga54C{-!!Gp=q_fWk?9xS~@R zMffeiIwpAcUOw9;>4ViWwvP}WEzc6)$ivSDsr?o)dc8)B>s0;vgr5EU!?8mRFBtrc z6azvRdAC-tI8iHI8D18d-~iPZKn-o}Nh=7fcPGx)#Z@@hjUw-*YvJ4}l3epJ)Mq&~ zTP(B{ErU}yX3O&(;ahN_o581MN{eet`j%)-bw_&zp={BZdl@kHC~!_Alj{AEtZ`}U z+|r(|ji< @LP?VYd~pP&Mc1 E^ViQW+_pEKY ) zRnba?XwPV7in}X;rcmb_E31C3uo5o=R92MZTAQvrHb#yE37BqV_NYpnza^~w7QJ!R zVU}$ThDr@`cO^<|P*dh;N4!xEdBt1q40* u!9vj!K%-KuAV$m63#TmJ9=Koy)@-wiycbJnT3%%f@KBDF?O5fF`J0Y zfe~FDj&_9Q(f6im2k#B)0|)Bi1}_4u*$^SQX!6+F5MA~Sxl7+y3fkuosQtKw(eE-5 zdKZk{K#?c kJ;GiDmsHyxA4tgS8#Py5<#3<>11dmx!U1pobjYL_}%D!S*(QfZN zK1e^OG!@iY{}_6Hf>Szsvjeebii0$4=OHKDx3BC&;Zr&7t-K|Voy8#&M(QEvYYroq zPtbHB)Z`IH4F e`X5`sB~ks#-x$0lac0?E~ob~ zUXR =^z68Yv&iy4vr#bHoO|6ofEHz%aW~IQ)DGuB6 z%d5oTT*4i9ZeMn3{M*XQ>d}FK(fw86SVnc&fO4p()-E;xKS);I 6PTb3BTr+lB_XFwD`@tp?ywkn4S+l7oV`IuQaoxlkiL zJtX2SDBrOye}dlXYSZ2@JXlStv6axu(|JZtVWCvGqcNkFi^;@EtPEy!m{tF1)&Io)c*qlNGLY@3mGjzgLOE)hnB z;KI*(VSEV{?HByoK|bhPWuCKOIStlk%8k{bBW&!0*d^?GW%)a1s%2(r)=xtLmQ#7% zfV7l+1yrcHgBu#BRg< Psld8fb~_E(g_|vD18Cs$&pB`2BJ=Oqa6b>n2?{YJq$f&!QcsnBcwGg+D6pc! zdh_p_XW_j%cQQD+dcwv7qa0Dg3!FY15r_8_l}P`y1B_ubbz%6QS_1T;1+5MSJE;sq zuteOZFB^Lsn+Fb>W`jV_*syNE*pCJwcw7S`%D-WvF8vG2 CH8X+=~HDD SCE@AQNvj68r2JWtG5e zGZ?QK94pibw41A&x<4zV&~})=V@`UgPXl^f9U_Qv9#36?EI(?+C&_sePony=&Mf06 ztR{;1sPeEJYA_;>mM7UM0&93C@;_@&(pZ`MPdP^$J%LV4rs+R44Y9Q{%gj{D4UEOq z98=E(#@A`fu)u+n*^~khTY0ocTe3v;an^Xu=Rm4Kras)*Y>)s_S)bulzp=-n1l%<- zjTK};X*0CjvIC|2FPenbTn^H$x8{Q!!#r0r%;=6+QDS?XRT~0&d2R#1SIf_)}8iho&w5DR%H2=gQ2X541B~pb6}dlOPGjv z3LLeYcs>lNk}6A^`H>zGt!PZ(ECOq;NdGP2kgZrQ_q(7gia9k;1FMQ?llW6 |H^xUu@UzJ}2}nR3S0`*ri?LcQ-)+7h_d?MZ-Ee$u1Ue*3 zlx@?@^6bR*@ANs=%PI@w+lDP3( 0%Dlw#2+!)dJPD$?*ie}W6<&>HMs zB6eZ_UH!~G{aD2QT1ZKt(=6f16(NbUV(c{p?xldden(GVt=nOWdU194dii&5*_|*z zpS#5+sn7z}#quZOO3Pin>|(-6*XgaWnHZ7s_R9!ZoN@!@j=dOu104Zsv| %z}h82_{ZZg^-FTFe*4{@ijWSnkgpG=p;t1 z_2SG}@zxsgha+#J%%+1(r-jbPY+ASxjA8Unj(u;KOeQ;B$2CuBZ`&40&MR+PZ`%O* z@&4h_+Gxy{h<1B8Mrp&3!S<@m5KL50=!8Pkw`rb(=`Pz+5Nn>^51u^M?L0p=q%m`M zItjM<1f~6|M(qv2mUlK;q6-3T-_0@1Ex)}k4+^_06LKVBpT4gFH2iewgT-5vvB?a4 z7kpPopCe(7V)Iw|Br(9666#jI5wMx57mAn~a1&d*yKt&E?tcR@hhn-H@7f@qFl;D) z&j&0w+kiy6sjW;!6b&7GHGS^N6BZkPZbWLT*Q_Zef07lsq?VE>*E)1d5~SY9HX3YF zj5U`tof}Cf8mco%r=b1eaIpmPGRbC(LQ7223OWhJ5wU;(?+rPg*}3k}O+K=afu!`@ z?BA@ex|i24G(D@ky)JG0BEb?<6)V~S$2|BCATte{=?zR#5J}mpMB%gnw@>tV$@}}e zFz<5CT*!pCjEnk~5hYT_)d%`i`dh{<%Q4SuwvE({EMJh!<;1T@Obz3=##2z%qS7E4 zv?ot9vTvJshM~gJS6UTij8~@I>TaE?a+y85+f?fZ5L1YV4dx!y;i&4x*=IQQA!$8O z)r`BuJvPE6?Q`TRf#wv$f=XJ`J55%k^zO=d7txdV8JNQUCc;JRQ8;gubBms(hp~#G z9wYk8US+vJ>UFF+LE1LlBLJ+;v<8pJt`acxquow~?>zKFH60(eK}s^1h3U=TK=GrC zW@(MWavQ%YVGtB#C`j;B$U>x?HmeN8<+fDv3tO|IC9A_aafywy ?o(qdK8@Ec# zGoGd};+= y^}2*cM}KnbL`S5nOTe zm)2D8IHjDZOve)n$bc NRen%><%6ftXx9Nzvj{IeX;@1t @qA3Zs9!No z`&M%5kbIb%WiQ_j(n?|9I$@G=h82hd(MhC=Ftksz^EM+zT#_7`QQ}lv7&I}q*2QZI zq4!a=92d`CqH&O>sX>Ysle`N+a1^z_Q5pl}D6{z%VTw0Xl2kz+dXdnbn6dMGGwg%R zx>DI@^c3XE$MS&kvI#U^NeNRPG&TN{2Qdj&Funwq#AdO|EL!Z8QkW|Be{|z9t(pxQ zuH}haSR&WhLFr4#ECf18&qT1~5Iy!~h-RX~hO#UdL$*y+_N-TRXoP}wGv7%tB(mXx z=lU2>EQAnHvO@x}ZQ?tgl5}mSkkDwHI 8HR|#? zZ2#4ck!nPpCI(AGoJJ!-y_`F%*r+ca4Z?-Cpy4zWEbR=`DL(2C(OBN<%Sr&Nu}V>f zyg_PQQ-gn#lQ|^0E8Z^JSMg501011EMG7;YsGiJGrP~Uk+%Oy$H1c798O9}k=r5ns z8pq%f2-@bdjy)W5X<})cWpYzXW@`T{(8b4IcUA%}NwqU2VLh$bQhP*}XWSluF5I8t z0xBV5fz%r@$Y|yELx5QrXe&JCy6gpQXETNOWEz#$`#Iqr*uFBCs+}!F!f-v@&4LYf zmBD$7v7DWuqfjno5D2BFKPbG}5J<(z)_SM~3auofz@0 kLt+G^Q`v`?bPjVd_Ud(1o9f{g>pf8I} zV3v-tqe7+R708l+2STDUL$={*7JE>Kj%cphU-{u5RUxy=g4w!-IzNJ< CmAEvbrYFS>#jQj?@AX5pEj#sQZ3}5YnnYR7z4|p9bTf)P}+p;6GC*R#lBmONjx0 zI;1DP5(i0cArxsY TcJWgq(cmoC@ZUiA3(<80VAPW*iR==_TRP}1nb@% zI!KCIf|wN*lr$cHAp(=NJ#6baAuth2q>C_P!~A@CI{xIe?e*C{Faba8tHH6nZR$nI zy{Cj|fT2v_z|4B_4TnsfRXm2m7^X#5ZgZXlzwnu2BRwE}fhNcnXbm=01}Stg2^p73 zcSs`ZdYMYJ5Hpn!wHmI}eJ%w3_*+CyKIfonY2}3l@69XV7TmflRePtvII!Dobczmg z<#P=k8KQoZq9qkF{*~}l5!>PvD>1S1G9a81{NcY|<;cXi|4!)=@NA7%M*$*O(3mT; z5VY%Ps1XJUq?!DQ?%v20){7aJvV`LofXuL-h(fbrc5#&=8NH-HCc^P(r_3-=^8qH^ z xBkJqiKQ3{c6BFXiBwCUv~YlSyYwRti?4kM1~k?$F*SErc*OW43B|)mY=}l) zRY%u|=TtfqVzPRt#;P7kvf+Y2Ps|lIV@ADP_YR_d$Wq8y@=xqzz(+0OOAoAoazwsU zi%>a>4Xm(Nt?_amN!wj|_R{N$V9kR64Gmob99JjR- DBgj6##d&zcBO$I+qF2cr z5=B7{*$C+|VQhBJIteGV(j1OVBP9%#Z>;Y4eCv11MZLD=5g+{yxqOb`)|8IsLFm7mE(WZ0sF?HPmg4$X(H9G+I)@s)gwq zutlFts=1YBd*Il6+~wohfM+}V;BcKUy63nF#{}7w@%7YUg|Nm}cq87)p MgS_a!8Y%wL^q9@U vP?5HxJi>D zP?zak9k;t<--F?bChE^!62n!$NAhc_P{8S2F!0klZOzM8uBJqzEasMs_1ljWq1oe! zkv_~jvc4#~-La>8YVV)74S!+Otc5Zij$0hOY&cz?Yw#`y6ci_s)`%~vz;jpK?)TR{ z@Yo*rrk?NNgHZgdoiC@Cz7@Ov1908`^pDJ1-tXhBuPf}%o$jA4Rn>fvO9ET(qua}a zpY^Tp+q;$6n4QntGS6M$=*`D6<*ET?m{t!thl|>ejT_t^FK^$E!kd2`+t&K4{40T~ z(;?3*I~ WVI1;|Luc|Uf%dZ1pB-!<+|)_ zvcJ7wU$2XHX2QF;_F#O(1MjgjEEaA}?Qk2)@@~%dEwkQS>vng1d?p@*vc}?n>;Ig* z $9QU_KorKgtG7&hkAYP4qq2z&u)osEhC2D zevJy2Ui13A^j%M|&Ln?*D?`kES9{u-e#ma`?D)95UVXRPZolQ9xVY}_hMF!+ZvyAy z^}NLtAJmjI`EV-F$!N&ggzUFPD `MhE-HgrC( z9faCm)%t*OJF~cT?1gsj@B}fqy6Ob=0TuIG#{N9-Umt5COnybb
L4 zfpP+!l-*Xg<&gRul0lmF5jWn`IBB9MSas_RojIyb=XZS!)rMScOUCwiU9Dkc`$LxI zY<@ZYJX@yrK90{Z3Y;OhmD0REzoov^em>c`)M)d%KVHXTM&t?&emBF*+I0D#-I)^j z@}AZ0K0hGTFk tuq7L3fb zA%%{;w96p*ow%&j4l;J=w``6Uo1uiy^*Ez{X0=M=Y&XOnM<&>`D&UAT8XY 3}!6;J2VJTz-IASbfk5j+7T%vY&$;Kgdr#>pW@^J_ZC$wDz?9cfdJvgkG*W ziau4yF+U7+F}b{RE)tbcPXKH#8l4TdXX-$qKrSkCa8-Lh&;sz)y`owG|HabrA3hEU zfQNWl4T|cIL|p^`fG-9B0QmpI(qV36Wb8)sAFhroP4&tTArxQqPdMiN=02urBU#Ub znzp}Xd0Mm#mC;wy76~0+)D$#juLL~Ml>c4}c)}=Za)+ f*-^wzVcYB_a&p!#b$d5~c->;9Bm%o$CH#3a vsyPo~Yd$eD)L z;klZY1iJ>bzp_)+t<3VWrqOcl_HgjBUco-h^3!#2=fLt0I#x%h_FzlZW%1+HxHnyC zRZSQ&u!Fqb=qVq?&t*9P6gjOJE4hnOiai-}^Fy1l+CU3>=yL1YX*;K}K_^xBKWPnU zhFL*21#U_fgv{jDNuCIZ1y^MlZUIr5o`70M5I6zfl9&UowN6hB5=_de>7|fAn?pCw z4qVXlO6MhhRnb$V8Rj-V7GU{0VWD51ewBvjW)0X4GaU|W`s(DPt%jfZCGzFs#FK+K zu`(ztPk<`;Okyk5SdA`sUV+uvutP?wzV28GJEed_pMgR6T-iP=OG>^s6n6Vp^+b`u zg!kI3mimwdpAmub6rdD$aRTZWQz%Vf+j-SO?Y=lQhxq57ab8`E_TFH32{=tLKq;^* z&O!ic%0cC){`$z#x6JoV)Z@p$=3>zd8B8}0!;sQQ{cNp4y>u9OVm%QjDBvLVg5HUe zDraphWh MbK^OV3 zn{M14FV>Ma;egF+XaLyPkJ{=p{in@7;KJTq$aD|p&GmE0lp5omRVVZ^b!!ZFhs2KM zlm_nr13+KJcnFh0Sex6X&5><1Pu|MSlbW>+9fuMkFNYK=@4L70^ox3SCN1mdO*8Ll z^VjN#Ht$M6In4KfnprfNfEWEEJ)l;Up_gNm>y2Up?W39}C%7O!9#JRnm~YR*jguPg zDZZ;WZn?9wow;f9mv^3fe4UH%^8Dg~yZzOb1^};`UFnfN9&WiC?*5V^F8ui-zDK9$ z)QR8h0hW)RuaRU%BO>a|Q2`baE0h2@L|Nx6p;jIAS-$YMb%BcSawnw>c;}1U4c`9d z&p+Gdm2psg_Xnz?4?r+~pnydKB^u^YwxX4r5Vy){MfdCluWbvaDR%TBe&~7PP?=m& zxOARa93Jmp6|XYITie%S3Q^g`5Y0)}xdN&|&`HIvvs&GW?&q64=ezorhJ0Z$zkkHy z)A#H!o=@J;@-TP+g*DsjZg2_~B^ Rb`b>t1e>PzZVHkFzKvsT)Dk!Fjx25EsY!%R??l}$evi$E^e_vUM%UHJ)`=&o 9|6ydeDw7nqaD%$6_og648Cwz-wcBol_3 zke4Q&yPZ!9-?=enE3If5(l(xnJD+cg<^pJLf&xr8xVr#?3M=fqINAFu2ViHKYJ*iy z#j#0#oQ7pl$;QT%b*e2d *+AkakB3VZxq%Xc!F;q?WIKoRt8euCw)(jLG8 zgo-e1r`OeTj4nY-=Rz!no2lWOW*A63vadgDRr*rOHCORVMs^ZTiBCNHa|*jv-@R`~ zzU2X^h!{YR#lGsIwhV*a3I=x@)2&fCsbU@1Ao&;LP@$PB<5MbXZk&))Rsqz)a!@JQ zlN#XDJ-RuEPIhrcV+Dq`T4wd^VTSPoYofWP-N;!HDL+nr(7@6P5e;eBSdSe$ HQVp32 < z^f(GJU}JnVo|GgrZ90QN^lB+uAXcGoIM_ucucTLn;UII3%OS)t1*Rl9%+mT2dm;Nn z;c+n9@H)`~+ze6fqYEWB`eSY^e*H^f>nMX$a?-6ML!dvuLOKLub8yk5K!4MzQ1wR@ zdSnj VgKpxiAg9+29H85DhmyNMx6Xlw{WWy;E?Lhz5y zi@jw)>_)}6&^{W>Hcf@E$`VYbJzC#(%^FIWpbRH0G|4{5Cs6uIU~nSJ&(PjR6$st& zYaow%>29Qgt(pql?InTWD9SECNVr9;y9X7?0%e(DMJtS&ES`_i8RN|}L6(!W-%C |Bkd|JnC&yt%GVp) zlK|sCS;h9brGQY@hC}q3R*i`Ejrgw|neINFG@&!7?GRNsiHAS-#btj!B9}Y#OY+I1 zk#aKaDONoSF-R$-T)!@q{!#Qm8uq%)%emnhiSn$P*z$`Pd%PbCG^`>~`5r_9&w6tB z14nc&eC0uAh%+>6Eh$ORNT<*tCZ?~(U~YRw$dhk=A*+VUwHPTc1u $is> znn4ysizzbB19TUrIHyS*K7%38Ko3nvQWk?>=r3iL`T#-(CE*;!Ru&@8sp@vBI5w}e z;U^BlzH=;z(hJbd&BwQWC)e^358;Lcq7$0}b?tm%L#a*#Tw@;Pc-?w1hfzh$)U*f& zoq2)WT thq4brL>XMOvlzT;8< z@qWM*GiatHB#SDf6%D{@*2`*E#%fmlYF5~4mf>m^&uSL)s+5)0F(b i!v^-f?3Wn&1}@K~@3yJEP?XoHGX5BYkWd%IIKFhKYfI z^hPKow~%-4-G9z)@yVpvB>}LC$jBDGeyzznjSemV1x;e+_vU}>KMsua`6cOTatkn0 zZiujpn@9iWTuQ3UoQy0 oiHyk{3ps-+8d5rAIEYNzP$02{evf8q zFbIHBq4(tf86_@Q=N#~ofj zBg`bGtr20z3$3z^_YzZllGq(+@^wK;Wq#_7bOB6@iV3*|X?Jrl(z5c3#VM4ZXlcbG zr!@e4a#+mr^KxU}pHFv#6&^q;i!*`pWMcx*h*G)qirpOEpRNuB&p>5RrLo1d$5v;Z z36M7^OQ(nh+#yrUFYRLfc3kS|zw#EOYNWe)M%5$3hKUO42~Ss!5~@omjFQS9sF(88 z#`#b+>1MXV%E`(lfQl!Ed6aHTaZpW5t~T2BC%NP?R(s3U5zb~?u>HH91ASBQTy$oP z`g+;}HT7T#e8vf#v1o!9SU%Cle{b5V4)b80yf2S8@H<{=My~(e3~S PxFu z!Dh22XP YDqCJ%T+cN z;ZCi=I=&N7oSk(Ef+wR&&`C~|xFyF}+Cg`$U5}lm(Vj^gQvIB$KT)owOc?A~1LHYr zz8Qdvt8CMq=xUcR6tsk7t>@QkBFA?XQq0knxF%zxv=LR#Vy;AW;ut!$XPFD$$=?^f zWw{lT8}ZCtcUrts$4w@uDAy$J(G99oL6}%&zoN%E5xHO|p#Az@OconymFVA->}_bK zQ$gZXw&8PSwN=IOcY0aI?8XEtG*cRlCL1UQEM!rqIo_ip2)-MkE72tp@w2_fja<`Y zKvH6MRb!;rfune232J_#F9+gs43GDB3t6P>b4_B>TpnfXFs5wV-><{}In4mpLv?UF z;d#?3lW7#KS)r+huyO*UCC28vkww$AMH3D*T>V?4Yv|^$(t%c~;?n%^ZABd!lc|Xy zXKeHb9G=TlL{g2nvvMN|o(Xjj=y-i@PFOI*8&@py4Jpe-b}Y3nE})RcpasuUYVpDb zH*>yYp>?gkXNt|MNC7qmvlnPXJZ8{D*_e_MSh#uIh2rl97U+ZU*Nsi+yw=5{P4mX& zSbhfZ)jcc?HrlT$EgM=>+)-Ek^hXzCp#PdqrTiAhaEC! &hMlxSPEj-5jjHxy-3Vg$EvyyLP?&(&OFhw`@*^S0nlibaw|e|?@D7^7Ml;zV|x zl{y^9n*xl)Fj3=kR=9@5yG?SbKm0|mif&B*T$9~~IM@{2>56~owJt=K+O0Go&eimF z)r5h5w$3b!sqt0G7R^+)tm$)+XArCtSW*Y~^tsEo&7Bak2iL~sH;RideOC6YqGz{_ z60-BN3A}8c@Q-BBHHX~AEgt8S{4$oMb7!xhYg>Q;?~@ydbL+)-RnxN`mN;#E{A*&s zVmMQm`>;}plWKqS7U5&_RgdEv>i=X6m8!=(PyNLr{$oi0Z!F?}@P%G!YQ`RlsrZQQ z^R{)bXEcqUMci(sA7x};ogo4bJW4PUUzJfb?`xb*OL4Bas5r|yOAyci4Gx5vlJIri zHr)Clgc h1<*r^irrc2sCU1PRShEW{w&?+?1t+_7glzaJi)$o71`lg~t{ zcWY&3+wg+!nU+e*BL_~2sfTlDuQ=e?ZkRZCV@2jxHBD9@O$+@lvP!RWNlTgi$$c z9=%xnd{n1=Ev{RuqDmneI(D&=*{wlgM=z#$*{TK2Hf`QMqC{S)EU4m)Ucsz2{e!NG ziF|N8Jbhm^J!+su-{8l7N$Q?Vy)yCj)q!N}DA?P=MB5uCoH7%wKs678g59Vv`WRIA zWRczIp&d~g2}8yie<(4A`^v^y-RMC${e3X=^Llmj^{~ !Qb`msjI ~#5&SZMQ^U5+S%M(l`7Ep9tLuDCtmBU$N^AYUZghZXl9NqEf=tymcU!Go{sPu zuG<)*edo#kyFJGh4-)c}IFkL1&dzL-e={)fV5%a7hod`4+?$EwLZ7Tb^$y%lMrC>4 zjA-#%**VDETS%@VDwR{PZH)P3AQiCGX_N(A0HRWt4m!|xxGH?_(zatyJK$j mWTasha3J6W0AHI~M6sbVep==Vnv<+Ca5&m)B9E?GesD)TV;_rNC}cfi zq5t0O#q=~<&I}1Hdw{y(!yo*Myz`5_i%Y!wDN7C23d!D;m+^G{0c`E|?8WtendXl@ z-F)rr{+zR^X?NSY3{d9uxbb`(xbA4I>cbodV5_9EP>4j_-=EL0;MSjedFiMfF>%dz zsSCy24~Azf-nsea$<%ziFZ>a`iZ6q8#5eWSg)AX@ozpU#AOrG(e_|)FLyWmyu(P`n z>{eP-SBb5bpA<2 z8BSgZt+h_hlmnT#Qa|4cflM~g9Ach^KU>fA^i14SWf9MM%eg=qkbG 1bw4w@y2Q=w Ki?a _?IEf|TO*Eu+dPA(z~iO;K+m#m6x^cW^o(Ensm za SuL>r z>0aw4VLjrgZ7fd9i oH!rk!rQW%UK`3}o#bG_eRv(V z`h_U` w* z;pE0b9K3Du*ui-cV{%f)Nlp*#IPy3h<0-4rf|m)me8&o^`q>by{aT5LC_*-?uM`13 z3iAW@QUt-wd_Xc#@J3W iE{eVAW>0rt^az1{raS(gmhqRhJ|zkFTiRd zWbwe_51HnS@gk6eOM}`C5zpH|=%Eam;rcV=j-Ay!!(+M07TK~8at+tl_7PDYK$w4V z3Q@1kqd-x@Q%r&AY#7Dk0vR&GBofs&kc2pr2rX*Wq6wo!Loq&tj;_X`RDM1JLsS|a zF@OS_D}ES6F(OoCHke;jcxxRP%X2b1*;XAzVn=X&omh=4QkiE^2*eL_VOYL*)pg_b zQJcGT%a7k17@;pENDLm$0U=k1N?EFn9%H=!m5+=oA~{ RK2_!h#suuAhi{ zBq*|r#KM5+Su4DM8r~j(bn|2!4gUiMysZ+s9wEm_ZAe|L7hj&J2}_)7IBY%~Gl>3< z^OwAA0;82)mOx%^{tW_cgwEU{7#uH|>dcFT4wCRV(+$!)jc)@OWDpnLs1YABcjVuV zMS~EZ2a7XnJXH$MjnOYs!Tc}>p(1LgR{@L0vXYv-h8U?4Un3R676)e8$y#YC+NDsN zQE5K$M@i8mQ97tQjjQijg{}Sfk8+Zba(-CUaaY5u&FdOVJ*H`a`ULNd5*MKgMSkW~ zfN{Owa!lLW;V)~97gzbs9TK}9mwlhJfv@r4k0H<(OQ`Eqq|I8SHeCQa-Wz*fW_w;@ zdtO9)-Vr-qZ#!N~JKj2b-W+>goI8__5Vv=^rcZTkP2?eprKLIfZ7+*{CiE3ByJKUO zaQPPif=eypukvzkLGB=AkF-!JD5gQkkA@iJXCo|fC&VYN;Q>OKRqRsx{-8#TGJb~N zn=MXRb>s_d`iCEoC=#w=$j`&(S#`CI2SLCOSM2(}-W=pzqzi0&c~%qu9mp7$94E<| zU0=4uUI3E> jjWQaEc zti1q^_;~rSHnR-Gj+{$7=kK)B%(LX$27{Sl?fd=hJ!LRH7{a}iVC)6@K zOEw z>phcT{I~n&L`xRJv*rR>IY;tdi S+-X9xH@iSXMK73oyl(QW&BZJF=^V@J&*S;H$9Wh|EQ-+e= zI401%l*$~X%&qf89W7)sPQovFOv?xC7dS-G7o>0_BeHH5t*Iu;O^H@0ikug2B|(TR z*9`>o_}L}z z{WLf_bzw56WJ9DoofaX@>uVG*i8@^zT%43RmiRZ1gr|4g6(OlH0Ai$<0MDDEpSwLv z9|Bh?UJw s;yZK(h2b<~I#
RyT)9He2)T~%0NfEa30;4rbh2Gf;E!~P8KhRbD zKJ*NNmzP}qRx+oJ$Hkj@(S Nu0Lu(HB)cECcz7Gvi|B2*qb$VL!=fm3? zB60|e@8c? O zDoB?Q-gl9YqdoU6&8)y)3VB}cU?CT!1kbpKjpL8n(f72;oE2Dx4hz>zYn{-mvudp` zv+x5v*}xi%Il!e({H7(DR0z^Xs*153Or$f^a9a*Hbw$ z#WPZB==8+-rFSzkZArY7A!fvjQqi{9K%%LTu>d@CRugT0CT}0x2kn27C;pQ-@jqb< zfCyu1tY7%zKlXo9DjaMLY@HlwoZOt09gQ8R^-Ya!oHz(5VWEV~9rdlOY+X4BX#W%D zKbaZ-t)KE=2mkvE=C}PX{S-$heJ69n|DT?}(8>SkY3S(qe|!IT#)p(@X?IsP001%> z2mrzVM{j*QI~oQS6JrAtV|JQf_e<@Um z{@!gfHjbaJ2b02W>EGXO6VsHV$TqG6rMs1KQ