From d1ad856b8fa0045ee2c841d35aafda1644c2eaf2 Mon Sep 17 00:00:00 2001 From: tianyongbao Date: Thu, 9 Apr 2026 02:13:31 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E9=A1=B9=E7=9B=AE=E5=88=9D=E5=A7=8B?= =?UTF-8?q?=E5=8C=96=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.development | 9 + .env.production | 11 + .env.staging | 11 + .gitignore | 23 + README.md | 25 + bin/build.bat | 12 + bin/package.bat | 12 + bin/run-web.bat | 12 + html/ie.html | 46 + index.html | 215 ++++ package.json | 42 + public/favicon.ico | Bin 0 -> 5663 bytes src/App.vue | 15 + src/api/basic/profitSharing.js | 44 + src/api/basic/screenTitle.js | 19 + src/api/basic/sharingRecord.js | 53 + src/api/basic/sharingUser.js | 44 + src/api/basic/tel.js | 36 + src/api/basic/userBind.js | 72 ++ src/api/basic/withdraw.js | 54 ++ src/api/login.js | 60 ++ src/api/menu.js | 9 + src/api/monitor/cache.js | 57 ++ src/api/monitor/job.js | 71 ++ src/api/monitor/jobLog.js | 26 + src/api/monitor/logininfor.js | 34 + src/api/monitor/online.js | 18 + src/api/monitor/operlog.js | 26 + src/api/monitor/server.js | 9 + src/api/system/config.js | 60 ++ src/api/system/dept.js | 52 + src/api/system/dict/data.js | 52 + src/api/system/dict/type.js | 60 ++ src/api/system/menu.js | 60 ++ src/api/system/notice.js | 44 + src/api/system/post.js | 44 + src/api/system/role.js | 119 +++ src/api/system/user.js | 144 +++ 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 src/assets/icons/svg/404.svg | 1 + 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 + 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 + 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 + src/assets/icons/svg/log.svg | 1 + src/assets/icons/svg/logininfor.svg | 1 + src/assets/icons/svg/menu.svg | 1 + src/assets/icons/svg/message.svg | 1 + src/assets/icons/svg/money.svg | 1 + src/assets/icons/svg/moneys.svg | 1 + src/assets/icons/svg/monitor.svg | 2 + src/assets/icons/svg/moon.svg | 1 + 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 + 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 + 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 + 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/sunny.svg | 1 + src/assets/icons/svg/swagger.svg | 1 + src/assets/icons/svg/switch.svg | 1 + src/assets/icons/svg/system.svg | 2 + 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 + src/assets/icons/svg/zip.svg | 1 + src/assets/images/dark.svg | 39 + src/assets/images/home.jpg | Bin 0 -> 450629 bytes src/assets/images/light.svg | 39 + src/assets/images/login-background.jpg | Bin 0 -> 5454 bytes src/assets/images/pay.png | Bin 0 -> 140720 bytes src/assets/images/profile.jpg | Bin 0 -> 81131 bytes src/assets/logo/logo.png | Bin 0 -> 5663 bytes src/assets/styles/btn.scss | 99 ++ src/assets/styles/element-ui.scss | 104 ++ src/assets/styles/index.scss | 180 ++++ src/assets/styles/mixin.scss | 66 ++ src/assets/styles/ruoyi.scss | 290 ++++++ src/assets/styles/sidebar.scss | 236 +++++ src/assets/styles/transition.scss | 49 + src/assets/styles/variables.module.scss | 221 +++++ src/components/Breadcrumb/index.vue | 98 ++ src/components/Crontab/day.vue | 174 ++++ src/components/Crontab/hour.vue | 133 +++ src/components/Crontab/index.vue | 309 ++++++ src/components/Crontab/min.vue | 126 +++ src/components/Crontab/month.vue | 141 +++ src/components/Crontab/result.vue | 540 +++++++++++ src/components/Crontab/second.vue | 128 +++ src/components/Crontab/week.vue | 197 ++++ src/components/Crontab/year.vue | 149 +++ src/components/DictTag/index.vue | 82 ++ src/components/Editor/index.vue | 251 +++++ src/components/Ellipsis/index.vue | 36 + src/components/FileUpload/index.vue | 218 +++++ src/components/Hamburger/index.vue | 42 + src/components/HeaderSearch/index.vue | 187 ++++ src/components/IconSelect/index.vue | 111 +++ src/components/IconSelect/requireIcons.js | 8 + src/components/ImagePreview/index.vue | 92 ++ src/components/ImageUpload/index.vue | 216 +++++ src/components/Pagination/index.vue | 104 ++ src/components/ParentView/index.vue | 3 + src/components/RightToolbar/index.vue | 134 +++ src/components/Screenfull/index.vue | 22 + src/components/SizeSelect/index.vue | 45 + src/components/SvgIcon/index.vue | 53 + src/components/SvgIcon/svgicon.js | 10 + src/components/TopNav/index.vue | 216 +++++ src/components/iFrame/index.vue | 31 + src/directive/common/copyText.js | 66 ++ src/directive/index.js | 9 + src/directive/permission/hasPermi.js | 28 + src/directive/permission/hasRole.js | 28 + src/layout/components/AppMain.vue | 83 ++ src/layout/components/IframeToggle/index.vue | 25 + src/layout/components/InnerLink/index.vue | 24 + src/layout/components/Navbar.vue | 205 ++++ src/layout/components/Settings/index.vue | 204 ++++ src/layout/components/Sidebar/Link.vue | 40 + src/layout/components/Sidebar/Logo.vue | 99 ++ src/layout/components/Sidebar/SidebarItem.vue | 100 ++ src/layout/components/Sidebar/index.vue | 104 ++ src/layout/components/TagsView/ScrollPane.vue | 107 ++ src/layout/components/TagsView/index.vue | 365 +++++++ src/layout/components/index.js | 4 + src/layout/index.vue | 114 +++ src/main.js | 85 ++ src/permission.js | 69 ++ src/plugins/auth.js | 60 ++ src/plugins/cache.js | 79 ++ src/plugins/download.js | 79 ++ src/plugins/index.js | 18 + src/plugins/modal.js | 82 ++ src/plugins/tab.js | 69 ++ src/router/index.js | 174 ++++ src/settings.js | 47 + src/store/index.js | 3 + src/store/modules/app.js | 46 + src/store/modules/dict.js | 57 ++ src/store/modules/permission.js | 127 +++ src/store/modules/settings.js | 48 + src/store/modules/tagsView.js | 182 ++++ src/store/modules/user.js | 75 ++ src/utils/auth.js | 15 + src/utils/dict.js | 24 + src/utils/dynamicTitle.js | 15 + src/utils/errorCode.js | 6 + src/utils/generator/config.js | 452 +++++++++ src/utils/generator/css.js | 18 + src/utils/generator/drawingDefalut.js | 29 + src/utils/generator/html.js | 359 +++++++ src/utils/generator/icon.json | 1 + src/utils/generator/js.js | 370 +++++++ src/utils/generator/render.js | 156 +++ src/utils/index.js | 390 ++++++++ src/utils/jsencrypt.js | 30 + src/utils/permission.js | 51 + src/utils/request.js | 152 +++ src/utils/ruoyi.js | 228 +++++ src/utils/scroll-to.js | 58 ++ src/utils/theme.js | 49 + src/utils/validate.js | 114 +++ src/views/basic/profitSharing/index.vue | 234 +++++ src/views/basic/report/index.vue | 232 +++++ src/views/basic/screenTitle/index.vue | 140 +++ src/views/basic/sharingRecord/index.vue | 326 +++++++ src/views/basic/sharingUser/index.vue | 274 ++++++ src/views/basic/tel/index.vue | 201 ++++ .../components/AlarmSettingDialog.vue | 89 ++ .../userBind/components/CompareLineChart.vue | 198 ++++ .../userBind/components/ControlDialog.vue | 112 +++ .../userBind/components/DeviceDataDialog.vue | 162 ++++ .../userBind/components/WarnListDialog.vue | 61 ++ src/views/basic/userBind/index.vue | 258 +++++ src/views/basic/withdraw/index.vue | 244 +++++ src/views/error/401.vue | 82 ++ src/views/error/404.vue | 227 +++++ src/views/index.vue | 17 + src/views/login.vue | 199 ++++ src/views/monitor/cache/index.vue | 132 +++ src/views/monitor/cache/list.vue | 246 +++++ src/views/monitor/druid/index.vue | 13 + src/views/monitor/job/index.vue | 501 ++++++++++ src/views/monitor/job/log.vue | 283 ++++++ src/views/monitor/logininfor/index.vue | 233 +++++ src/views/monitor/online/index.vue | 109 +++ src/views/monitor/operlog/index.vue | 310 ++++++ src/views/monitor/server/index.vue | 187 ++++ src/views/redirect/index.vue | 14 + src/views/register.vue | 220 +++++ src/views/system/config/index.vue | 316 ++++++ src/views/system/dept/index.vue | 283 ++++++ src/views/system/dict/data.vue | 362 +++++++ src/views/system/dict/index.vue | 323 ++++++ src/views/system/menu/index.vue | 452 +++++++++ src/views/system/notice/index.vue | 292 ++++++ src/views/system/post/index.vue | 287 ++++++ src/views/system/role/authUser.vue | 179 ++++ src/views/system/role/index.vue | 584 +++++++++++ src/views/system/role/selectUser.vue | 144 +++ src/views/system/user/authRole.vue | 116 +++ .../components/ProfileSharingUserDialog.vue | 166 ++++ src/views/system/user/index.vue | 593 +++++++++++ src/views/system/user/profile/index.vue | 99 ++ .../system/user/profile/profileSharing.vue | 74 ++ src/views/system/user/profile/resetPwd.vue | 66 ++ src/views/system/user/profile/userAvatar.vue | 180 ++++ src/views/system/user/profile/userInfo.vue | 67 ++ src/views/tool/build/CodeTypeDialog.vue | 71 ++ src/views/tool/build/DraggableItem.vue | 68 ++ src/views/tool/build/IconsDialog.vue | 115 +++ src/views/tool/build/RightPanel.vue | 918 ++++++++++++++++++ src/views/tool/build/TreeNodeDialog.vue | 93 ++ src/views/tool/build/index.vue | 653 +++++++++++++ src/views/tool/gen/basicInfoForm.vue | 48 + src/views/tool/gen/createTable.vue | 46 + src/views/tool/gen/editTable.vue | 200 ++++ src/views/tool/gen/genInfoForm.vue | 306 ++++++ src/views/tool/gen/importTable.vue | 126 +++ src/views/tool/gen/index.vue | 306 ++++++ src/views/tool/swagger/index.vue | 9 + vite.config.js | 63 ++ vite/plugins/auto-import.js | 12 + vite/plugins/compression.js | 28 + vite/plugins/index.js | 15 + vite/plugins/setup-extend.js | 5 + vite/plugins/svg-icon.js | 10 + 293 files changed, 25457 insertions(+) create mode 100644 .env.development create mode 100644 .env.production create mode 100644 .env.staging create mode 100644 .gitignore create mode 100644 README.md create mode 100644 bin/build.bat create mode 100644 bin/package.bat create mode 100644 bin/run-web.bat create mode 100644 html/ie.html create mode 100644 index.html create mode 100644 package.json create mode 100644 public/favicon.ico create mode 100644 src/App.vue create mode 100644 src/api/basic/profitSharing.js create mode 100644 src/api/basic/screenTitle.js create mode 100644 src/api/basic/sharingRecord.js create mode 100644 src/api/basic/sharingUser.js create mode 100644 src/api/basic/tel.js create mode 100644 src/api/basic/userBind.js create mode 100644 src/api/basic/withdraw.js create mode 100644 src/api/login.js create mode 100644 src/api/menu.js create mode 100644 src/api/monitor/cache.js create mode 100644 src/api/monitor/job.js create mode 100644 src/api/monitor/jobLog.js create mode 100644 src/api/monitor/logininfor.js create mode 100644 src/api/monitor/online.js create mode 100644 src/api/monitor/operlog.js create mode 100644 src/api/monitor/server.js create mode 100644 src/api/system/config.js create mode 100644 src/api/system/dept.js create mode 100644 src/api/system/dict/data.js create mode 100644 src/api/system/dict/type.js create mode 100644 src/api/system/menu.js create mode 100644 src/api/system/notice.js create mode 100644 src/api/system/post.js create mode 100644 src/api/system/role.js create mode 100644 src/api/system/user.js create mode 100644 src/api/tool/gen.js create mode 100644 src/assets/401_images/401.gif create mode 100644 src/assets/404_images/404.png create mode 100644 src/assets/404_images/404_cloud.png create mode 100644 src/assets/icons/svg/404.svg create mode 100644 src/assets/icons/svg/bug.svg create mode 100644 src/assets/icons/svg/build.svg create mode 100644 src/assets/icons/svg/button.svg create mode 100644 src/assets/icons/svg/cascader.svg create mode 100644 src/assets/icons/svg/chart.svg create mode 100644 src/assets/icons/svg/checkbox.svg create mode 100644 src/assets/icons/svg/clipboard.svg create mode 100644 src/assets/icons/svg/code.svg create mode 100644 src/assets/icons/svg/color.svg create mode 100644 src/assets/icons/svg/component.svg create mode 100644 src/assets/icons/svg/dashboard.svg create mode 100644 src/assets/icons/svg/date-range.svg create mode 100644 src/assets/icons/svg/date.svg create mode 100644 src/assets/icons/svg/dict.svg create mode 100644 src/assets/icons/svg/documentation.svg create mode 100644 src/assets/icons/svg/download.svg create mode 100644 src/assets/icons/svg/drag.svg create mode 100644 src/assets/icons/svg/druid.svg create mode 100644 src/assets/icons/svg/edit.svg create mode 100644 src/assets/icons/svg/education.svg create mode 100644 src/assets/icons/svg/email.svg create mode 100644 src/assets/icons/svg/example.svg create mode 100644 src/assets/icons/svg/excel.svg create mode 100644 src/assets/icons/svg/exit-fullscreen.svg create mode 100644 src/assets/icons/svg/eye-open.svg create mode 100644 src/assets/icons/svg/eye.svg create mode 100644 src/assets/icons/svg/form.svg create mode 100644 src/assets/icons/svg/fullscreen.svg create mode 100644 src/assets/icons/svg/github.svg create mode 100644 src/assets/icons/svg/guide.svg create mode 100644 src/assets/icons/svg/icon.svg create mode 100644 src/assets/icons/svg/input.svg create mode 100644 src/assets/icons/svg/international.svg create mode 100644 src/assets/icons/svg/job.svg create mode 100644 src/assets/icons/svg/language.svg create mode 100644 src/assets/icons/svg/link.svg create mode 100644 src/assets/icons/svg/list.svg create mode 100644 src/assets/icons/svg/lock.svg create mode 100644 src/assets/icons/svg/log.svg create mode 100644 src/assets/icons/svg/logininfor.svg create mode 100644 src/assets/icons/svg/menu.svg create mode 100644 src/assets/icons/svg/message.svg create mode 100644 src/assets/icons/svg/money.svg create mode 100644 src/assets/icons/svg/moneys.svg create mode 100644 src/assets/icons/svg/monitor.svg create mode 100644 src/assets/icons/svg/moon.svg create mode 100644 src/assets/icons/svg/nested.svg create mode 100644 src/assets/icons/svg/number.svg create mode 100644 src/assets/icons/svg/online.svg create mode 100644 src/assets/icons/svg/password.svg create mode 100644 src/assets/icons/svg/pdf.svg create mode 100644 src/assets/icons/svg/people.svg create mode 100644 src/assets/icons/svg/peoples.svg create mode 100644 src/assets/icons/svg/phone.svg create mode 100644 src/assets/icons/svg/post.svg create mode 100644 src/assets/icons/svg/qq.svg create mode 100644 src/assets/icons/svg/question.svg create mode 100644 src/assets/icons/svg/radio.svg create mode 100644 src/assets/icons/svg/rate.svg create mode 100644 src/assets/icons/svg/redis-list.svg create mode 100644 src/assets/icons/svg/redis.svg create mode 100644 src/assets/icons/svg/row.svg create mode 100644 src/assets/icons/svg/search.svg create mode 100644 src/assets/icons/svg/select.svg create mode 100644 src/assets/icons/svg/server.svg create mode 100644 src/assets/icons/svg/shopping.svg create mode 100644 src/assets/icons/svg/size.svg create mode 100644 src/assets/icons/svg/skill.svg create mode 100644 src/assets/icons/svg/slider.svg create mode 100644 src/assets/icons/svg/star.svg create mode 100644 src/assets/icons/svg/sunny.svg create mode 100644 src/assets/icons/svg/swagger.svg create mode 100644 src/assets/icons/svg/switch.svg create mode 100644 src/assets/icons/svg/system.svg create mode 100644 src/assets/icons/svg/tab.svg create mode 100644 src/assets/icons/svg/table.svg create mode 100644 src/assets/icons/svg/textarea.svg create mode 100644 src/assets/icons/svg/theme.svg create mode 100644 src/assets/icons/svg/time-range.svg create mode 100644 src/assets/icons/svg/time.svg create mode 100644 src/assets/icons/svg/tool.svg create mode 100644 src/assets/icons/svg/tree-table.svg create mode 100644 src/assets/icons/svg/tree.svg create mode 100644 src/assets/icons/svg/upload.svg create mode 100644 src/assets/icons/svg/user.svg create mode 100644 src/assets/icons/svg/validCode.svg create mode 100644 src/assets/icons/svg/wechat.svg create mode 100644 src/assets/icons/svg/zip.svg create mode 100644 src/assets/images/dark.svg create mode 100644 src/assets/images/home.jpg create mode 100644 src/assets/images/light.svg create mode 100644 src/assets/images/login-background.jpg create mode 100644 src/assets/images/pay.png create mode 100644 src/assets/images/profile.jpg create mode 100644 src/assets/logo/logo.png create mode 100644 src/assets/styles/btn.scss create mode 100644 src/assets/styles/element-ui.scss create mode 100644 src/assets/styles/index.scss create mode 100644 src/assets/styles/mixin.scss create mode 100644 src/assets/styles/ruoyi.scss create mode 100644 src/assets/styles/sidebar.scss create mode 100644 src/assets/styles/transition.scss create mode 100644 src/assets/styles/variables.module.scss create mode 100644 src/components/Breadcrumb/index.vue create mode 100644 src/components/Crontab/day.vue create mode 100644 src/components/Crontab/hour.vue create mode 100644 src/components/Crontab/index.vue create mode 100644 src/components/Crontab/min.vue create mode 100644 src/components/Crontab/month.vue create mode 100644 src/components/Crontab/result.vue create mode 100644 src/components/Crontab/second.vue create mode 100644 src/components/Crontab/week.vue create mode 100644 src/components/Crontab/year.vue create mode 100644 src/components/DictTag/index.vue create mode 100644 src/components/Editor/index.vue create mode 100644 src/components/Ellipsis/index.vue create mode 100644 src/components/FileUpload/index.vue create mode 100644 src/components/Hamburger/index.vue create mode 100644 src/components/HeaderSearch/index.vue create mode 100644 src/components/IconSelect/index.vue create mode 100644 src/components/IconSelect/requireIcons.js create mode 100644 src/components/ImagePreview/index.vue create mode 100644 src/components/ImageUpload/index.vue create mode 100644 src/components/Pagination/index.vue create mode 100644 src/components/ParentView/index.vue create mode 100644 src/components/RightToolbar/index.vue create mode 100644 src/components/Screenfull/index.vue create mode 100644 src/components/SizeSelect/index.vue create mode 100644 src/components/SvgIcon/index.vue create mode 100644 src/components/SvgIcon/svgicon.js create mode 100644 src/components/TopNav/index.vue create mode 100644 src/components/iFrame/index.vue create mode 100644 src/directive/common/copyText.js create mode 100644 src/directive/index.js create mode 100644 src/directive/permission/hasPermi.js create mode 100644 src/directive/permission/hasRole.js create mode 100644 src/layout/components/AppMain.vue create mode 100644 src/layout/components/IframeToggle/index.vue create mode 100644 src/layout/components/InnerLink/index.vue create mode 100644 src/layout/components/Navbar.vue create mode 100644 src/layout/components/Settings/index.vue create mode 100644 src/layout/components/Sidebar/Link.vue create mode 100644 src/layout/components/Sidebar/Logo.vue create mode 100644 src/layout/components/Sidebar/SidebarItem.vue create mode 100644 src/layout/components/Sidebar/index.vue create mode 100644 src/layout/components/TagsView/ScrollPane.vue create mode 100644 src/layout/components/TagsView/index.vue create mode 100644 src/layout/components/index.js create mode 100644 src/layout/index.vue create mode 100644 src/main.js create mode 100644 src/permission.js create mode 100644 src/plugins/auth.js create mode 100644 src/plugins/cache.js create mode 100644 src/plugins/download.js create mode 100644 src/plugins/index.js create mode 100644 src/plugins/modal.js create mode 100644 src/plugins/tab.js create mode 100644 src/router/index.js create mode 100644 src/settings.js create mode 100644 src/store/index.js create mode 100644 src/store/modules/app.js create mode 100644 src/store/modules/dict.js create mode 100644 src/store/modules/permission.js create mode 100644 src/store/modules/settings.js create mode 100644 src/store/modules/tagsView.js create mode 100644 src/store/modules/user.js create mode 100644 src/utils/auth.js create mode 100644 src/utils/dict.js create mode 100644 src/utils/dynamicTitle.js create mode 100644 src/utils/errorCode.js create mode 100644 src/utils/generator/config.js create mode 100644 src/utils/generator/css.js create mode 100644 src/utils/generator/drawingDefalut.js create mode 100644 src/utils/generator/html.js create mode 100644 src/utils/generator/icon.json create mode 100644 src/utils/generator/js.js create mode 100644 src/utils/generator/render.js create mode 100644 src/utils/index.js create mode 100644 src/utils/jsencrypt.js create mode 100644 src/utils/permission.js create mode 100644 src/utils/request.js create mode 100644 src/utils/ruoyi.js create mode 100644 src/utils/scroll-to.js create mode 100644 src/utils/theme.js create mode 100644 src/utils/validate.js create mode 100644 src/views/basic/profitSharing/index.vue create mode 100644 src/views/basic/report/index.vue create mode 100644 src/views/basic/screenTitle/index.vue create mode 100644 src/views/basic/sharingRecord/index.vue create mode 100644 src/views/basic/sharingUser/index.vue create mode 100644 src/views/basic/tel/index.vue create mode 100644 src/views/basic/userBind/components/AlarmSettingDialog.vue create mode 100644 src/views/basic/userBind/components/CompareLineChart.vue create mode 100644 src/views/basic/userBind/components/ControlDialog.vue create mode 100644 src/views/basic/userBind/components/DeviceDataDialog.vue create mode 100644 src/views/basic/userBind/components/WarnListDialog.vue create mode 100644 src/views/basic/userBind/index.vue create mode 100644 src/views/basic/withdraw/index.vue create mode 100644 src/views/error/401.vue create mode 100644 src/views/error/404.vue create mode 100644 src/views/index.vue create mode 100644 src/views/login.vue create mode 100644 src/views/monitor/cache/index.vue create mode 100644 src/views/monitor/cache/list.vue create mode 100644 src/views/monitor/druid/index.vue create mode 100644 src/views/monitor/job/index.vue create mode 100644 src/views/monitor/job/log.vue create mode 100644 src/views/monitor/logininfor/index.vue create mode 100644 src/views/monitor/online/index.vue create mode 100644 src/views/monitor/operlog/index.vue create mode 100644 src/views/monitor/server/index.vue create mode 100644 src/views/redirect/index.vue create mode 100644 src/views/register.vue create mode 100644 src/views/system/config/index.vue create mode 100644 src/views/system/dept/index.vue create mode 100644 src/views/system/dict/data.vue create mode 100644 src/views/system/dict/index.vue create mode 100644 src/views/system/menu/index.vue create mode 100644 src/views/system/notice/index.vue create mode 100644 src/views/system/post/index.vue create mode 100644 src/views/system/role/authUser.vue create mode 100644 src/views/system/role/index.vue create mode 100644 src/views/system/role/selectUser.vue create mode 100644 src/views/system/user/authRole.vue create mode 100644 src/views/system/user/components/ProfileSharingUserDialog.vue create mode 100644 src/views/system/user/index.vue create mode 100644 src/views/system/user/profile/index.vue create mode 100644 src/views/system/user/profile/profileSharing.vue create mode 100644 src/views/system/user/profile/resetPwd.vue create mode 100644 src/views/system/user/profile/userAvatar.vue create mode 100644 src/views/system/user/profile/userInfo.vue create mode 100644 src/views/tool/build/CodeTypeDialog.vue create mode 100644 src/views/tool/build/DraggableItem.vue create mode 100644 src/views/tool/build/IconsDialog.vue create mode 100644 src/views/tool/build/RightPanel.vue create mode 100644 src/views/tool/build/TreeNodeDialog.vue create mode 100644 src/views/tool/build/index.vue create mode 100644 src/views/tool/gen/basicInfoForm.vue create mode 100644 src/views/tool/gen/createTable.vue create mode 100644 src/views/tool/gen/editTable.vue create mode 100644 src/views/tool/gen/genInfoForm.vue create mode 100644 src/views/tool/gen/importTable.vue create mode 100644 src/views/tool/gen/index.vue create mode 100644 src/views/tool/swagger/index.vue create mode 100644 vite.config.js create mode 100644 vite/plugins/auto-import.js create mode 100644 vite/plugins/compression.js create mode 100644 vite/plugins/index.js create mode 100644 vite/plugins/setup-extend.js create mode 100644 vite/plugins/svg-icon.js diff --git a/.env.development b/.env.development new file mode 100644 index 0000000..50a20e3 --- /dev/null +++ b/.env.development @@ -0,0 +1,9 @@ +# 页面标题 +VITE_APP_TITLE = 分润经销商管理系统 + +# 开发环境配置 +VITE_APP_ENV = 'development' + +# 分润经销商管理系统/开发环境 +# VITE_APP_BASE_API = 'http://jxs.yuceyun.cn:7008/dev-api' +VITE_APP_BASE_API = '/dev-api' diff --git a/.env.production b/.env.production new file mode 100644 index 0000000..f5c0f3e --- /dev/null +++ b/.env.production @@ -0,0 +1,11 @@ +# 页面标题 +VITE_APP_TITLE = 分润经销商管理系统 + +# 生产环境配置 +VITE_APP_ENV = 'production' + +# 分润经销商管理系统/生产环境 +VITE_APP_BASE_API = '/prod-api' + +# 是否在打包时开启压缩,支持 gzip 和 brotli +VITE_BUILD_COMPRESS = gzip \ No newline at end of file diff --git a/.env.staging b/.env.staging new file mode 100644 index 0000000..7d835e6 --- /dev/null +++ b/.env.staging @@ -0,0 +1,11 @@ +# 页面标题 +VITE_APP_TITLE = 分润经销商管理系统 + +# 生产环境配置 +VITE_APP_ENV = 'staging' + +# 分润经销商管理系统/生产环境 +VITE_APP_BASE_API = '/stage-api' + +# 是否在打包时开启压缩,支持 gzip 和 brotli +VITE_BUILD_COMPRESS = gzip \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..78a752d --- /dev/null +++ b/.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/README.md b/README.md new file mode 100644 index 0000000..22bd35b --- /dev/null +++ b/README.md @@ -0,0 +1,25 @@ +

分润经销商管理系统(DMS)

+ + +## 平台简介 + +* 前端技术栈 [Vue3] + [Element Plus] + [Vite] 版本。 + +## 前端运行 +970618jjb. + +```bash + +# 安装依赖 +npm install + +# 启动服务 +npm run dev + +# 构建测试环境 +npm run build:stage +# 构建生产环境 +npm run build:prod +# 前端访问地址 +http://localhost:80 +``` \ No newline at end of file diff --git a/bin/build.bat b/bin/build.bat new file mode 100644 index 0000000..ecbb454 --- /dev/null +++ b/bin/build.bat @@ -0,0 +1,12 @@ +@echo off +echo. +echo [Ϣ] Weḅdistļ +echo. + +%~d0 +cd %~dp0 + +cd .. +yarn build:prod + +pause \ No newline at end of file diff --git a/bin/package.bat b/bin/package.bat new file mode 100644 index 0000000..f5b24e0 --- /dev/null +++ b/bin/package.bat @@ -0,0 +1,12 @@ +@echo off +echo. +echo [Ϣ] װWeḅnode_modulesļ +echo. + +%~d0 +cd %~dp0 + +cd .. +yarn --registry=https://registry.npmmirror.com + +pause \ No newline at end of file diff --git a/bin/run-web.bat b/bin/run-web.bat new file mode 100644 index 0000000..d2fe397 --- /dev/null +++ b/bin/run-web.bat @@ -0,0 +1,12 @@ +@echo off +echo. +echo [Ϣ] ʹ Vite Web ̡ +echo. + +%~d0 +cd %~dp0 + +cd .. +yarn dev + +pause \ No newline at end of file diff --git a/html/ie.html b/html/ie.html new file mode 100644 index 0000000..052ffcd --- /dev/null +++ b/html/ie.html @@ -0,0 +1,46 @@ + + + + + + 请升级您的浏览器 + + + + + + +

请升级您的浏览器,以便我们更好的为您提供服务!

+

您正在使用 Internet Explorer 的早期版本(IE11以下版本或使用该内核的浏览器)。这意味着在升级浏览器前,您将无法访问此网站。

+
+

请注意:微软公司对Windows XP 及 Internet Explorer 早期版本的支持已经结束

+

自 2016 年 1 月 12 日起,Microsoft 不再为 IE 11 以下版本提供相应支持和更新。没有关键的浏览器安全更新,您的电脑可能易受有害病毒、间谍软件和其他恶意软件的攻击,它们可以窃取或损害您的业务数据和信息。请参阅 微软对 Internet Explorer 早期版本的支持将于 2016 年 1 月 12 日结束的说明

+
+

您可以选择更先进的浏览器

+

推荐使用以下浏览器的最新版本。如果您的电脑已有以下浏览器的最新版本则直接使用该浏览器访问即可。

+ +
+ + \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000..f5572f7 --- /dev/null +++ b/index.html @@ -0,0 +1,215 @@ + + + + + + + + + + 分润经销商管理系统 + + + + + +
+
+
+
+
+
正在加载系统资源,请耐心等待
+
+
+ + + + \ No newline at end of file diff --git a/package.json b/package.json new file mode 100644 index 0000000..e2860ec --- /dev/null +++ b/package.json @@ -0,0 +1,42 @@ +{ + "name": "dms-web", + "version": "1.0.1", + "description": "分润经销商管理系统", + "type": "module", + "scripts": { + "dev": "vite", + "build:prod": "vite build", + "build:stage": "vite build --mode staging", + "preview": "vite preview" + }, + "dependencies": { + "@element-plus/icons-vue": "2.3.1", + "@vueup/vue-quill": "1.2.0", + "@vueuse/core": "10.11.0", + "axios": "0.28.1", + "clipboard": "2.0.11", + "echarts": "5.5.1", + "element-plus": "2.9.9", + "file-saver": "2.0.5", + "fuse.js": "6.6.2", + "js-beautify": "1.14.11", + "js-cookie": "3.0.5", + "jsencrypt": "3.3.2", + "nprogress": "0.2.0", + "pinia": "2.1.7", + "splitpanes": "3.1.5", + "vue": "3.4.31", + "vue-cropper": "1.1.1", + "vue-router": "4.4.0", + "vuedraggable": "4.1.0" + }, + "devDependencies": { + "@vitejs/plugin-vue": "5.0.5", + "sass": "1.77.5", + "unplugin-auto-import": "0.17.6", + "unplugin-vue-setup-extend-plus": "1.0.1", + "vite": "5.3.2", + "vite-plugin-compression": "0.5.1", + "vite-plugin-svg-icons": "2.0.1" + } +} diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..e26376026420542212ed58d90d0ed34f554fa4ae GIT binary patch literal 5663 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 + + + + diff --git a/src/api/basic/profitSharing.js b/src/api/basic/profitSharing.js new file mode 100644 index 0000000..da3c020 --- /dev/null +++ b/src/api/basic/profitSharing.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询基础分润信息列表 +export function listProfitSharing(query) { + return request({ + url: '/basic/profitSharing/list', + method: 'get', + params: query + }) +} + +// 查询基础分润信息详细 +export function getProfitSharing(id) { + return request({ + url: '/basic/profitSharing/' + id, + method: 'get' + }) +} + +// 新增基础分润信息 +export function addProfitSharing(data) { + return request({ + url: '/basic/profitSharing', + method: 'post', + data: data + }) +} + +// 修改基础分润信息 +export function updateProfitSharing(data) { + return request({ + url: '/basic/profitSharing', + method: 'put', + data: data + }) +} + +// 删除基础分润信息 +export function delProfitSharing(id) { + return request({ + url: '/basic/profitSharing/' + id, + method: 'delete' + }) +} diff --git a/src/api/basic/screenTitle.js b/src/api/basic/screenTitle.js new file mode 100644 index 0000000..3416092 --- /dev/null +++ b/src/api/basic/screenTitle.js @@ -0,0 +1,19 @@ +import request from '@/utils/request' + +// 查询用户标题列表 +export function listScreenTitleList(query) { + return request({ + url: '/basic/user/list', + method: 'get', + params: query + }) +} + +// 修改分润记录 +export function updateScreenTitle(data) { + return request({ + url: '/basic/user', + method: 'put', + data: data + }) +} diff --git a/src/api/basic/sharingRecord.js b/src/api/basic/sharingRecord.js new file mode 100644 index 0000000..877ff12 --- /dev/null +++ b/src/api/basic/sharingRecord.js @@ -0,0 +1,53 @@ +import request from '@/utils/request' + +// 查询分润记录列表 +export function listSharingRecord(query) { + return request({ + url: '/basic/sharingRecord/list', + method: 'get', + params: query + }) +} + +// 查询分润报表统计 +export function getSharingRecordReport(query) { + return request({ + url: '/basic/sharingRecord/report', + method: 'get', + params: query + }) +} + +// 查询分润记录详细 +export function getSharingRecord(id) { + return request({ + url: '/basic/sharingRecord/' + id, + method: 'get' + }) +} + +// 新增分润记录 +export function addSharingRecord(data) { + return request({ + url: '/basic/sharingRecord', + method: 'post', + data: data + }) +} + +// 修改分润记录 +export function updateSharingRecord(data) { + return request({ + url: '/basic/sharingRecord', + method: 'put', + data: data + }) +} + +// 删除分润记录 +export function delSharingRecord(id) { + return request({ + url: '/basic/sharingRecord/' + id, + method: 'delete' + }) +} diff --git a/src/api/basic/sharingUser.js b/src/api/basic/sharingUser.js new file mode 100644 index 0000000..fe73bee --- /dev/null +++ b/src/api/basic/sharingUser.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询用户分润基础信息列表 +export function listSharingUser(query) { + return request({ + url: '/basic/sharingUser/list', + method: 'get', + params: query + }) +} + +// 查询用户分润基础信息详细 +export function getSharingUser(id) { + return request({ + url: '/basic/sharingUser/' + id, + method: 'get' + }) +} + +// 新增用户分润基础信息 +export function addSharingUser(data) { + return request({ + url: '/basic/sharingUser', + method: 'post', + data: data + }) +} + +// 修改用户分润基础信息 +export function updateSharingUser(data) { + return request({ + url: '/basic/sharingUser', + method: 'put', + data: data + }) +} + +// 删除用户分润基础信息 +export function delSharingUser(id) { + return request({ + url: '/basic/sharingUser/' + id, + method: 'delete' + }) +} diff --git a/src/api/basic/tel.js b/src/api/basic/tel.js new file mode 100644 index 0000000..8521766 --- /dev/null +++ b/src/api/basic/tel.js @@ -0,0 +1,36 @@ +import request from "@/utils/request" + +// 查询提现记录列表 +export function listTel(query) { + return request({ + url: "/sys/tel/list", + method: "get", + params: query, + }) +} + +// 新增基础分润信息 +export function addTel(data) { + return request({ + url: "/sys/tel", + method: "post", + data: data, + }) +} + +// 修改基础分润信息 +export function updateTel(data) { + return request({ + url: "/sys/tel", + method: "put", + data: data, + }) +} + +// 删除基础分润信息 +export function delTel(id) { + return request({ + url: "/sys/tel/" + id, + method: "delete", + }) +} diff --git a/src/api/basic/userBind.js b/src/api/basic/userBind.js new file mode 100644 index 0000000..0833f1a --- /dev/null +++ b/src/api/basic/userBind.js @@ -0,0 +1,72 @@ +import request from '@/utils/request' + +// 查询用户设备绑定信息列表 +export function listUserBind(query) { + return request({ + url: '/basic/userBind/list', + method: 'get', + params: query + }) +} + +// 查询用户设备绑定信息详细 +export function getUserBind(id) { + return request({ + url: '/basic/userBind/' + id, + method: 'get' + }) +} + +// 新增用户设备绑定信息 +export function addUserBind(data) { + return request({ + url: '/basic/userBind', + method: 'post', + data: data + }) +} + +// 修改用户设备绑定信息 +export function updateUserBind(data) { + return request({ + url: '/basic/userBind', + method: 'put', + data: data + }) +} + +// 删除用户设备绑定信息 +export function delUserBind(id) { + return request({ + url: '/basic/userBind/' + id, + method: 'delete' + }) +} + +// 获取告警数据 +export function getUserBindWarn(query) { + return request({ + url: '/basic/userBind/warn', + method: 'get', + params: query + }) +} + + +// 获取设备数据 +export function getDeviceData(data) { + return request({ + url: '/basic/userBind/data', + method: 'post', + data: data + }) +} + +// 获取开关列表 +export function getControlData(data) { + return request({ + url: '/basic/userBind/control', + method: 'post', + data: data + }) +} \ No newline at end of file diff --git a/src/api/basic/withdraw.js b/src/api/basic/withdraw.js new file mode 100644 index 0000000..7368eaf --- /dev/null +++ b/src/api/basic/withdraw.js @@ -0,0 +1,54 @@ +import request from '@/utils/request' + +// 查询提现记录列表 +export function listWithdraw(query) { + return request({ + url: '/basic/withdraw/list', + method: 'get', + params: query + }) +} + +// 查询提现记录详细 +export function getWithdraw(id) { + return request({ + url: '/basic/withdraw/' + id, + method: 'get' + }) +} + +// 新增提现记录 +export function addWithdraw(data) { + return request({ + url: '/basic/withdraw', + method: 'post', + data: data + }) +} + +// 用户提现 +export function addUserWithdraw(data) { + return request({ + url: '/basic/withdraw/user/withdraw', + method: 'post', + data: data + }) +} + + +// 修改提现记录 +export function updateWithdraw(data) { + return request({ + url: '/basic/withdraw', + method: 'put', + data: data + }) +} + +// 删除提现记录 +export function delWithdraw(id) { + return request({ + url: '/basic/withdraw/' + id, + method: 'delete' + }) +} diff --git a/src/api/login.js b/src/api/login.js new file mode 100644 index 0000000..7b7388f --- /dev/null +++ b/src/api/login.js @@ -0,0 +1,60 @@ +import request from '@/utils/request' + +// 登录方法 +export function login(username, password, code, uuid) { + const data = { + username, + password, + code, + uuid + } + return request({ + url: '/login', + headers: { + isToken: false, + repeatSubmit: false + }, + method: 'post', + data: data + }) +} + +// 注册方法 +export function register(data) { + return request({ + url: '/register', + headers: { + isToken: false + }, + method: 'post', + data: data + }) +} + +// 获取用户详细信息 +export function getInfo() { + return request({ + url: '/getInfo', + method: 'get' + }) +} + +// 退出方法 +export function logout() { + return request({ + url: '/logout', + method: 'post' + }) +} + +// 获取验证码 +export function getCodeImg() { + return request({ + url: '/captchaImage', + headers: { + isToken: false + }, + method: 'get', + timeout: 20000 + }) +} \ No newline at end of file diff --git a/src/api/menu.js b/src/api/menu.js new file mode 100644 index 0000000..faef101 --- /dev/null +++ b/src/api/menu.js @@ -0,0 +1,9 @@ +import request from '@/utils/request' + +// 获取路由 +export const getRouters = () => { + return request({ + url: '/getRouters', + method: 'get' + }) +} \ No newline at end of file diff --git a/src/api/monitor/cache.js b/src/api/monitor/cache.js new file mode 100644 index 0000000..72c5f6a --- /dev/null +++ b/src/api/monitor/cache.js @@ -0,0 +1,57 @@ +import request from '@/utils/request' + +// 查询缓存详细 +export function getCache() { + return request({ + url: '/monitor/cache', + method: 'get' + }) +} + +// 查询缓存名称列表 +export function listCacheName() { + return request({ + url: '/monitor/cache/getNames', + method: 'get' + }) +} + +// 查询缓存键名列表 +export function listCacheKey(cacheName) { + return request({ + url: '/monitor/cache/getKeys/' + cacheName, + method: 'get' + }) +} + +// 查询缓存内容 +export function getCacheValue(cacheName, cacheKey) { + return request({ + url: '/monitor/cache/getValue/' + cacheName + '/' + cacheKey, + method: 'get' + }) +} + +// 清理指定名称缓存 +export function clearCacheName(cacheName) { + return request({ + url: '/monitor/cache/clearCacheName/' + cacheName, + method: 'delete' + }) +} + +// 清理指定键名缓存 +export function clearCacheKey(cacheKey) { + return request({ + url: '/monitor/cache/clearCacheKey/' + cacheKey, + method: 'delete' + }) +} + +// 清理全部缓存 +export function clearCacheAll() { + return request({ + url: '/monitor/cache/clearCacheAll', + method: 'delete' + }) +} diff --git a/src/api/monitor/job.js b/src/api/monitor/job.js new file mode 100644 index 0000000..3815569 --- /dev/null +++ b/src/api/monitor/job.js @@ -0,0 +1,71 @@ +import request from '@/utils/request' + +// 查询定时任务调度列表 +export function listJob(query) { + return request({ + url: '/monitor/job/list', + method: 'get', + params: query + }) +} + +// 查询定时任务调度详细 +export function getJob(jobId) { + return request({ + url: '/monitor/job/' + jobId, + method: 'get' + }) +} + +// 新增定时任务调度 +export function addJob(data) { + return request({ + url: '/monitor/job', + method: 'post', + data: data + }) +} + +// 修改定时任务调度 +export function updateJob(data) { + return request({ + url: '/monitor/job', + method: 'put', + data: data + }) +} + +// 删除定时任务调度 +export function delJob(jobId) { + return request({ + url: '/monitor/job/' + jobId, + method: 'delete' + }) +} + +// 任务状态修改 +export function changeJobStatus(jobId, status) { + const data = { + jobId, + status + } + return request({ + url: '/monitor/job/changeStatus', + method: 'put', + data: data + }) +} + + +// 定时任务立即执行一次 +export function runJob(jobId, jobGroup) { + const data = { + jobId, + jobGroup + } + return request({ + url: '/monitor/job/run', + method: 'put', + data: data + }) +} \ No newline at end of file diff --git a/src/api/monitor/jobLog.js b/src/api/monitor/jobLog.js new file mode 100644 index 0000000..6e0be61 --- /dev/null +++ b/src/api/monitor/jobLog.js @@ -0,0 +1,26 @@ +import request from '@/utils/request' + +// 查询调度日志列表 +export function listJobLog(query) { + return request({ + url: '/monitor/jobLog/list', + method: 'get', + params: query + }) +} + +// 删除调度日志 +export function delJobLog(jobLogId) { + return request({ + url: '/monitor/jobLog/' + jobLogId, + method: 'delete' + }) +} + +// 清空调度日志 +export function cleanJobLog() { + return request({ + url: '/monitor/jobLog/clean', + method: 'delete' + }) +} diff --git a/src/api/monitor/logininfor.js b/src/api/monitor/logininfor.js new file mode 100644 index 0000000..4d112b7 --- /dev/null +++ b/src/api/monitor/logininfor.js @@ -0,0 +1,34 @@ +import request from '@/utils/request' + +// 查询登录日志列表 +export function list(query) { + return request({ + url: '/monitor/logininfor/list', + method: 'get', + params: query + }) +} + +// 删除登录日志 +export function delLogininfor(infoId) { + return request({ + url: '/monitor/logininfor/' + infoId, + method: 'delete' + }) +} + +// 解锁用户登录状态 +export function unlockLogininfor(userName) { + return request({ + url: '/monitor/logininfor/unlock/' + userName, + method: 'get' + }) +} + +// 清空登录日志 +export function cleanLogininfor() { + return request({ + url: '/monitor/logininfor/clean', + method: 'delete' + }) +} diff --git a/src/api/monitor/online.js b/src/api/monitor/online.js new file mode 100644 index 0000000..bd22137 --- /dev/null +++ b/src/api/monitor/online.js @@ -0,0 +1,18 @@ +import request from '@/utils/request' + +// 查询在线用户列表 +export function list(query) { + return request({ + url: '/monitor/online/list', + method: 'get', + params: query + }) +} + +// 强退用户 +export function forceLogout(tokenId) { + return request({ + url: '/monitor/online/' + tokenId, + method: 'delete' + }) +} diff --git a/src/api/monitor/operlog.js b/src/api/monitor/operlog.js new file mode 100644 index 0000000..a04bca8 --- /dev/null +++ b/src/api/monitor/operlog.js @@ -0,0 +1,26 @@ +import request from '@/utils/request' + +// 查询操作日志列表 +export function list(query) { + return request({ + url: '/monitor/operlog/list', + method: 'get', + params: query + }) +} + +// 删除操作日志 +export function delOperlog(operId) { + return request({ + url: '/monitor/operlog/' + operId, + method: 'delete' + }) +} + +// 清空操作日志 +export function cleanOperlog() { + return request({ + url: '/monitor/operlog/clean', + method: 'delete' + }) +} diff --git a/src/api/monitor/server.js b/src/api/monitor/server.js new file mode 100644 index 0000000..e1f9ca2 --- /dev/null +++ b/src/api/monitor/server.js @@ -0,0 +1,9 @@ +import request from '@/utils/request' + +// 获取服务信息 +export function getServer() { + return request({ + url: '/monitor/server', + method: 'get' + }) +} \ No newline at end of file diff --git a/src/api/system/config.js b/src/api/system/config.js new file mode 100644 index 0000000..a404d82 --- /dev/null +++ b/src/api/system/config.js @@ -0,0 +1,60 @@ +import request from '@/utils/request' + +// 查询参数列表 +export function listConfig(query) { + return request({ + url: '/system/config/list', + method: 'get', + params: query + }) +} + +// 查询参数详细 +export function getConfig(configId) { + return request({ + url: '/system/config/' + configId, + method: 'get' + }) +} + +// 根据参数键名查询参数值 +export function getConfigKey(configKey) { + return request({ + url: '/system/config/configKey/' + configKey, + method: 'get' + }) +} + +// 新增参数配置 +export function addConfig(data) { + return request({ + url: '/system/config', + method: 'post', + data: data + }) +} + +// 修改参数配置 +export function updateConfig(data) { + return request({ + url: '/system/config', + method: 'put', + data: data + }) +} + +// 删除参数配置 +export function delConfig(configId) { + return request({ + url: '/system/config/' + configId, + method: 'delete' + }) +} + +// 刷新参数缓存 +export function refreshCache() { + return request({ + url: '/system/config/refreshCache', + method: 'delete' + }) +} diff --git a/src/api/system/dept.js b/src/api/system/dept.js new file mode 100644 index 0000000..fc943cd --- /dev/null +++ b/src/api/system/dept.js @@ -0,0 +1,52 @@ +import request from '@/utils/request' + +// 查询部门列表 +export function listDept(query) { + return request({ + url: '/system/dept/list', + method: 'get', + params: query + }) +} + +// 查询部门列表(排除节点) +export function listDeptExcludeChild(deptId) { + return request({ + url: '/system/dept/list/exclude/' + deptId, + method: 'get' + }) +} + +// 查询部门详细 +export function getDept(deptId) { + return request({ + url: '/system/dept/' + deptId, + method: 'get' + }) +} + +// 新增部门 +export function addDept(data) { + return request({ + url: '/system/dept', + method: 'post', + data: data + }) +} + +// 修改部门 +export function updateDept(data) { + return request({ + url: '/system/dept', + method: 'put', + data: data + }) +} + +// 删除部门 +export function delDept(deptId) { + return request({ + url: '/system/dept/' + deptId, + method: 'delete' + }) +} \ No newline at end of file diff --git a/src/api/system/dict/data.js b/src/api/system/dict/data.js new file mode 100644 index 0000000..6c9eb79 --- /dev/null +++ b/src/api/system/dict/data.js @@ -0,0 +1,52 @@ +import request from '@/utils/request' + +// 查询字典数据列表 +export function listData(query) { + return request({ + url: '/system/dict/data/list', + method: 'get', + params: query + }) +} + +// 查询字典数据详细 +export function getData(dictCode) { + return request({ + url: '/system/dict/data/' + dictCode, + method: 'get' + }) +} + +// 根据字典类型查询字典数据信息 +export function getDicts(dictType) { + return request({ + url: '/system/dict/data/type/' + dictType, + method: 'get' + }) +} + +// 新增字典数据 +export function addData(data) { + return request({ + url: '/system/dict/data', + method: 'post', + data: data + }) +} + +// 修改字典数据 +export function updateData(data) { + return request({ + url: '/system/dict/data', + method: 'put', + data: data + }) +} + +// 删除字典数据 +export function delData(dictCode) { + return request({ + url: '/system/dict/data/' + dictCode, + method: 'delete' + }) +} diff --git a/src/api/system/dict/type.js b/src/api/system/dict/type.js new file mode 100644 index 0000000..a0254ba --- /dev/null +++ b/src/api/system/dict/type.js @@ -0,0 +1,60 @@ +import request from '@/utils/request' + +// 查询字典类型列表 +export function listType(query) { + return request({ + url: '/system/dict/type/list', + method: 'get', + params: query + }) +} + +// 查询字典类型详细 +export function getType(dictId) { + return request({ + url: '/system/dict/type/' + dictId, + method: 'get' + }) +} + +// 新增字典类型 +export function addType(data) { + return request({ + url: '/system/dict/type', + method: 'post', + data: data + }) +} + +// 修改字典类型 +export function updateType(data) { + return request({ + url: '/system/dict/type', + method: 'put', + data: data + }) +} + +// 删除字典类型 +export function delType(dictId) { + return request({ + url: '/system/dict/type/' + dictId, + method: 'delete' + }) +} + +// 刷新字典缓存 +export function refreshCache() { + return request({ + url: '/system/dict/type/refreshCache', + method: 'delete' + }) +} + +// 获取字典选择框列表 +export function optionselect() { + return request({ + url: '/system/dict/type/optionselect', + method: 'get' + }) +} diff --git a/src/api/system/menu.js b/src/api/system/menu.js new file mode 100644 index 0000000..f6415c6 --- /dev/null +++ b/src/api/system/menu.js @@ -0,0 +1,60 @@ +import request from '@/utils/request' + +// 查询菜单列表 +export function listMenu(query) { + return request({ + url: '/system/menu/list', + method: 'get', + params: query + }) +} + +// 查询菜单详细 +export function getMenu(menuId) { + return request({ + url: '/system/menu/' + menuId, + method: 'get' + }) +} + +// 查询菜单下拉树结构 +export function treeselect() { + return request({ + url: '/system/menu/treeselect', + method: 'get' + }) +} + +// 根据角色ID查询菜单下拉树结构 +export function roleMenuTreeselect(roleId) { + return request({ + url: '/system/menu/roleMenuTreeselect/' + roleId, + method: 'get' + }) +} + +// 新增菜单 +export function addMenu(data) { + return request({ + url: '/system/menu', + method: 'post', + data: data + }) +} + +// 修改菜单 +export function updateMenu(data) { + return request({ + url: '/system/menu', + method: 'put', + data: data + }) +} + +// 删除菜单 +export function delMenu(menuId) { + return request({ + url: '/system/menu/' + menuId, + method: 'delete' + }) +} \ No newline at end of file diff --git a/src/api/system/notice.js b/src/api/system/notice.js new file mode 100644 index 0000000..c274ea5 --- /dev/null +++ b/src/api/system/notice.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询公告列表 +export function listNotice(query) { + return request({ + url: '/system/notice/list', + method: 'get', + params: query + }) +} + +// 查询公告详细 +export function getNotice(noticeId) { + return request({ + url: '/system/notice/' + noticeId, + method: 'get' + }) +} + +// 新增公告 +export function addNotice(data) { + return request({ + url: '/system/notice', + method: 'post', + data: data + }) +} + +// 修改公告 +export function updateNotice(data) { + return request({ + url: '/system/notice', + method: 'put', + data: data + }) +} + +// 删除公告 +export function delNotice(noticeId) { + return request({ + url: '/system/notice/' + noticeId, + method: 'delete' + }) +} \ No newline at end of file diff --git a/src/api/system/post.js b/src/api/system/post.js new file mode 100644 index 0000000..1a8e9ca --- /dev/null +++ b/src/api/system/post.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询岗位列表 +export function listPost(query) { + return request({ + url: '/system/post/list', + method: 'get', + params: query + }) +} + +// 查询岗位详细 +export function getPost(postId) { + return request({ + url: '/system/post/' + postId, + method: 'get' + }) +} + +// 新增岗位 +export function addPost(data) { + return request({ + url: '/system/post', + method: 'post', + data: data + }) +} + +// 修改岗位 +export function updatePost(data) { + return request({ + url: '/system/post', + method: 'put', + data: data + }) +} + +// 删除岗位 +export function delPost(postId) { + return request({ + url: '/system/post/' + postId, + method: 'delete' + }) +} diff --git a/src/api/system/role.js b/src/api/system/role.js new file mode 100644 index 0000000..f13e6f4 --- /dev/null +++ b/src/api/system/role.js @@ -0,0 +1,119 @@ +import request from '@/utils/request' + +// 查询角色列表 +export function listRole(query) { + return request({ + url: '/system/role/list', + method: 'get', + params: query + }) +} + +// 查询角色详细 +export function getRole(roleId) { + return request({ + url: '/system/role/' + roleId, + method: 'get' + }) +} + +// 新增角色 +export function addRole(data) { + return request({ + url: '/system/role', + method: 'post', + data: data + }) +} + +// 修改角色 +export function updateRole(data) { + return request({ + url: '/system/role', + method: 'put', + data: data + }) +} + +// 角色数据权限 +export function dataScope(data) { + return request({ + url: '/system/role/dataScope', + method: 'put', + data: data + }) +} + +// 角色状态修改 +export function changeRoleStatus(roleId, status) { + const data = { + roleId, + status + } + return request({ + url: '/system/role/changeStatus', + method: 'put', + data: data + }) +} + +// 删除角色 +export function delRole(roleId) { + return request({ + url: '/system/role/' + roleId, + method: 'delete' + }) +} + +// 查询角色已授权用户列表 +export function allocatedUserList(query) { + return request({ + url: '/system/role/authUser/allocatedList', + method: 'get', + params: query + }) +} + +// 查询角色未授权用户列表 +export function unallocatedUserList(query) { + return request({ + url: '/system/role/authUser/unallocatedList', + method: 'get', + params: query + }) +} + +// 取消用户授权角色 +export function authUserCancel(data) { + return request({ + url: '/system/role/authUser/cancel', + method: 'put', + data: data + }) +} + +// 批量取消用户授权角色 +export function authUserCancelAll(data) { + return request({ + url: '/system/role/authUser/cancelAll', + method: 'put', + params: data + }) +} + +// 授权用户选择 +export function authUserSelectAll(data) { + return request({ + url: '/system/role/authUser/selectAll', + method: 'put', + params: data + }) +} + +// 根据角色ID查询部门树结构 +export function deptTreeSelect(roleId) { + return request({ + url: '/system/role/deptTree/' + roleId, + method: 'get' + }) +} diff --git a/src/api/system/user.js b/src/api/system/user.js new file mode 100644 index 0000000..809aed0 --- /dev/null +++ b/src/api/system/user.js @@ -0,0 +1,144 @@ +import request from '@/utils/request' +import { parseStrEmpty } from "@/utils/ruoyi"; + +// 查询用户列表 +export function listUser(query) { + return request({ + url: '/system/user/list', + method: 'get', + params: query + }) +} +export function listUserOption(query) { + return request({ + url: '/system/user/all/list', + method: 'get', + params: query + }) +} + +// 查询用户详细 +export function getUser(userId) { + return request({ + url: '/system/user/' + parseStrEmpty(userId), + method: 'get' + }) +} + +// 新增用户 +export function addUser(data) { + return request({ + url: '/system/user', + method: 'post', + data: data + }) +} + +// 修改用户 +export function updateUser(data) { + return request({ + url: '/system/user', + method: 'put', + data: data + }) +} + +// 删除用户 +export function delUser(userId) { + return request({ + url: '/system/user/' + userId, + method: 'delete' + }) +} + +// 用户密码重置 +export function resetUserPwd(userId, password) { + const data = { + userId, + password + } + return request({ + url: '/system/user/resetPwd', + method: 'put', + data: data + }) +} + +// 用户状态修改 +export function changeUserStatus(userId, status) { + const data = { + userId, + status + } + return request({ + url: '/system/user/changeStatus', + method: 'put', + data: data + }) +} + +// 查询用户个人信息 +export function getUserProfile() { + return request({ + url: '/system/user/profile', + method: 'get' + }) +} + +// 修改用户个人信息 +export function updateUserProfile(data) { + return request({ + url: '/system/user/profile', + method: 'put', + data: data + }) +} + +// 用户密码重置 +export function updateUserPwd(oldPassword, newPassword, rawPassword) { + const data = { + oldPassword, + newPassword, + rawPassword + } + return request({ + url: '/system/user/profile/updatePwd', + method: 'put', + params: data + }) +} + +// 用户头像上传 +export function uploadAvatar(data) { + return request({ + url: '/system/user/profile/avatar', + method: 'post', + headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, + data: data + }) +} + +// 查询授权角色 +export function getAuthRole(userId) { + return request({ + url: '/system/user/authRole/' + userId, + method: 'get' + }) +} + +// 保存授权角色 +export function updateAuthRole(data) { + return request({ + url: '/system/user/authRole', + method: 'put', + params: data + }) +} + +// 查询部门下拉树结构 +export function deptTreeSelect() { + return request({ + url: '/system/user/deptTree', + method: 'get' + }) +} diff --git a/src/api/tool/gen.js b/src/api/tool/gen.js new file mode 100644 index 0000000..2075677 --- /dev/null +++ b/src/api/tool/gen.js @@ -0,0 +1,85 @@ +import request from '@/utils/request' + +// 查询生成表数据 +export function listTable(query) { + return request({ + url: '/tool/gen/list', + method: 'get', + params: query + }) +} +// 查询db数据库列表 +export function listDbTable(query) { + return request({ + url: '/tool/gen/db/list', + method: 'get', + params: query + }) +} + +// 查询表详细信息 +export function getGenTable(tableId) { + return request({ + url: '/tool/gen/' + tableId, + method: 'get' + }) +} + +// 修改代码生成信息 +export function updateGenTable(data) { + return request({ + url: '/tool/gen', + method: 'put', + data: data + }) +} + +// 导入表 +export function importTable(data) { + return request({ + url: '/tool/gen/importTable', + method: 'post', + params: data + }) +} + +// 创建表 +export function createTable(data) { + return request({ + url: '/tool/gen/createTable', + method: 'post', + params: data + }) +} + +// 预览生成代码 +export function previewTable(tableId) { + return request({ + url: '/tool/gen/preview/' + tableId, + method: 'get' + }) +} + +// 删除表数据 +export function delTable(tableId) { + return request({ + url: '/tool/gen/' + tableId, + method: 'delete' + }) +} + +// 生成代码(自定义路径) +export function genCode(tableName) { + return request({ + url: '/tool/gen/genCode/' + tableName, + method: 'get' + }) +} + +// 同步数据库 +export function synchDb(tableName) { + return request({ + url: '/tool/gen/synchDb/' + tableName, + method: 'get' + }) +} diff --git a/src/assets/401_images/401.gif b/src/assets/401_images/401.gif new file mode 100644 index 0000000000000000000000000000000000000000..cd6e0d9433421b3f29d0ec0c40f755e354728000 GIT binary patch literal 164227 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⋘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 GY5fOuZZib{ literal 0 HcmV?d00001 diff --git a/src/assets/404_images/404.png b/src/assets/404_images/404.png new file mode 100644 index 0000000000000000000000000000000000000000..3d8e2305cc973ad2121403aee4bf08728f76c461 GIT binary patch literal 98071 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 literal 0 HcmV?d00001 diff --git a/src/assets/404_images/404_cloud.png b/src/assets/404_images/404_cloud.png new file mode 100644 index 0000000000000000000000000000000000000000..c6281d09013e0a2c5f8e699a0a6038d9480291e5 GIT binary patch literal 4766 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 literal 0 HcmV?d00001 diff --git a/src/assets/icons/svg/404.svg b/src/assets/icons/svg/404.svg new file mode 100644 index 0000000..6df5019 --- /dev/null +++ b/src/assets/icons/svg/404.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/bug.svg b/src/assets/icons/svg/bug.svg new file mode 100644 index 0000000..05a150d --- /dev/null +++ b/src/assets/icons/svg/bug.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/build.svg b/src/assets/icons/svg/build.svg new file mode 100644 index 0000000..97c4688 --- /dev/null +++ b/src/assets/icons/svg/build.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/button.svg b/src/assets/icons/svg/button.svg new file mode 100644 index 0000000..904fddc --- /dev/null +++ b/src/assets/icons/svg/button.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/cascader.svg b/src/assets/icons/svg/cascader.svg new file mode 100644 index 0000000..e256024 --- /dev/null +++ b/src/assets/icons/svg/cascader.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/chart.svg b/src/assets/icons/svg/chart.svg new file mode 100644 index 0000000..27728fb --- /dev/null +++ b/src/assets/icons/svg/chart.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/checkbox.svg b/src/assets/icons/svg/checkbox.svg new file mode 100644 index 0000000..013fd3a --- /dev/null +++ b/src/assets/icons/svg/checkbox.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/clipboard.svg b/src/assets/icons/svg/clipboard.svg new file mode 100644 index 0000000..90923ff --- /dev/null +++ b/src/assets/icons/svg/clipboard.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/code.svg b/src/assets/icons/svg/code.svg new file mode 100644 index 0000000..5f9c5ab --- /dev/null +++ b/src/assets/icons/svg/code.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/color.svg b/src/assets/icons/svg/color.svg new file mode 100644 index 0000000..44a81aa --- /dev/null +++ b/src/assets/icons/svg/color.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/component.svg b/src/assets/icons/svg/component.svg new file mode 100644 index 0000000..29c3458 --- /dev/null +++ b/src/assets/icons/svg/component.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/dashboard.svg b/src/assets/icons/svg/dashboard.svg new file mode 100644 index 0000000..5317d37 --- /dev/null +++ b/src/assets/icons/svg/dashboard.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/date-range.svg b/src/assets/icons/svg/date-range.svg new file mode 100644 index 0000000..fda571e --- /dev/null +++ b/src/assets/icons/svg/date-range.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/date.svg b/src/assets/icons/svg/date.svg new file mode 100644 index 0000000..52dc73e --- /dev/null +++ b/src/assets/icons/svg/date.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/dict.svg b/src/assets/icons/svg/dict.svg new file mode 100644 index 0000000..4849377 --- /dev/null +++ b/src/assets/icons/svg/dict.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/documentation.svg b/src/assets/icons/svg/documentation.svg new file mode 100644 index 0000000..7043122 --- /dev/null +++ b/src/assets/icons/svg/documentation.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/download.svg b/src/assets/icons/svg/download.svg new file mode 100644 index 0000000..c896951 --- /dev/null +++ b/src/assets/icons/svg/download.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/drag.svg b/src/assets/icons/svg/drag.svg new file mode 100644 index 0000000..4185d3c --- /dev/null +++ b/src/assets/icons/svg/drag.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/druid.svg b/src/assets/icons/svg/druid.svg new file mode 100644 index 0000000..a2b4b4e --- /dev/null +++ b/src/assets/icons/svg/druid.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/edit.svg b/src/assets/icons/svg/edit.svg new file mode 100644 index 0000000..d26101f --- /dev/null +++ b/src/assets/icons/svg/edit.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/education.svg b/src/assets/icons/svg/education.svg new file mode 100644 index 0000000..7bfb01d --- /dev/null +++ b/src/assets/icons/svg/education.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/email.svg b/src/assets/icons/svg/email.svg new file mode 100644 index 0000000..74d25e2 --- /dev/null +++ b/src/assets/icons/svg/email.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/example.svg b/src/assets/icons/svg/example.svg new file mode 100644 index 0000000..46f42b5 --- /dev/null +++ b/src/assets/icons/svg/example.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/excel.svg b/src/assets/icons/svg/excel.svg new file mode 100644 index 0000000..74d97b8 --- /dev/null +++ b/src/assets/icons/svg/excel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/exit-fullscreen.svg b/src/assets/icons/svg/exit-fullscreen.svg new file mode 100644 index 0000000..485c128 --- /dev/null +++ b/src/assets/icons/svg/exit-fullscreen.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/eye-open.svg b/src/assets/icons/svg/eye-open.svg new file mode 100644 index 0000000..88dcc98 --- /dev/null +++ b/src/assets/icons/svg/eye-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/eye.svg b/src/assets/icons/svg/eye.svg new file mode 100644 index 0000000..16ed2d8 --- /dev/null +++ b/src/assets/icons/svg/eye.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/form.svg b/src/assets/icons/svg/form.svg new file mode 100644 index 0000000..dcbaa18 --- /dev/null +++ b/src/assets/icons/svg/form.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/fullscreen.svg b/src/assets/icons/svg/fullscreen.svg new file mode 100644 index 0000000..0e86b6f --- /dev/null +++ b/src/assets/icons/svg/fullscreen.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/github.svg b/src/assets/icons/svg/github.svg new file mode 100644 index 0000000..db0a0d4 --- /dev/null +++ b/src/assets/icons/svg/github.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/guide.svg b/src/assets/icons/svg/guide.svg new file mode 100644 index 0000000..b271001 --- /dev/null +++ b/src/assets/icons/svg/guide.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/icon.svg b/src/assets/icons/svg/icon.svg new file mode 100644 index 0000000..82be8ee --- /dev/null +++ b/src/assets/icons/svg/icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/input.svg b/src/assets/icons/svg/input.svg new file mode 100644 index 0000000..ab91381 --- /dev/null +++ b/src/assets/icons/svg/input.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/international.svg b/src/assets/icons/svg/international.svg new file mode 100644 index 0000000..e9b56ee --- /dev/null +++ b/src/assets/icons/svg/international.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/job.svg b/src/assets/icons/svg/job.svg new file mode 100644 index 0000000..2a93a25 --- /dev/null +++ b/src/assets/icons/svg/job.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/language.svg b/src/assets/icons/svg/language.svg new file mode 100644 index 0000000..0082b57 --- /dev/null +++ b/src/assets/icons/svg/language.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/link.svg b/src/assets/icons/svg/link.svg new file mode 100644 index 0000000..48197ba --- /dev/null +++ b/src/assets/icons/svg/link.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/list.svg b/src/assets/icons/svg/list.svg new file mode 100644 index 0000000..20259ed --- /dev/null +++ b/src/assets/icons/svg/list.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/lock.svg b/src/assets/icons/svg/lock.svg new file mode 100644 index 0000000..74fee54 --- /dev/null +++ b/src/assets/icons/svg/lock.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/log.svg b/src/assets/icons/svg/log.svg new file mode 100644 index 0000000..d879d33 --- /dev/null +++ b/src/assets/icons/svg/log.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/logininfor.svg b/src/assets/icons/svg/logininfor.svg new file mode 100644 index 0000000..267f844 --- /dev/null +++ b/src/assets/icons/svg/logininfor.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/menu.svg b/src/assets/icons/svg/menu.svg new file mode 100644 index 0000000..5e1fa5e --- /dev/null +++ b/src/assets/icons/svg/menu.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/message.svg b/src/assets/icons/svg/message.svg new file mode 100644 index 0000000..14ca817 --- /dev/null +++ b/src/assets/icons/svg/message.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/money.svg b/src/assets/icons/svg/money.svg new file mode 100644 index 0000000..c1580de --- /dev/null +++ b/src/assets/icons/svg/money.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/moneys.svg b/src/assets/icons/svg/moneys.svg new file mode 100644 index 0000000..0a8d28c --- /dev/null +++ b/src/assets/icons/svg/moneys.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/monitor.svg b/src/assets/icons/svg/monitor.svg new file mode 100644 index 0000000..bc308cb --- /dev/null +++ b/src/assets/icons/svg/monitor.svg @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/moon.svg b/src/assets/icons/svg/moon.svg new file mode 100644 index 0000000..ec72d77 --- /dev/null +++ b/src/assets/icons/svg/moon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/nested.svg b/src/assets/icons/svg/nested.svg new file mode 100644 index 0000000..06713a8 --- /dev/null +++ b/src/assets/icons/svg/nested.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/number.svg b/src/assets/icons/svg/number.svg new file mode 100644 index 0000000..ad5ce9a --- /dev/null +++ b/src/assets/icons/svg/number.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/online.svg b/src/assets/icons/svg/online.svg new file mode 100644 index 0000000..330a202 --- /dev/null +++ b/src/assets/icons/svg/online.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/password.svg b/src/assets/icons/svg/password.svg new file mode 100644 index 0000000..6c64def --- /dev/null +++ b/src/assets/icons/svg/password.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/pdf.svg b/src/assets/icons/svg/pdf.svg new file mode 100644 index 0000000..957aa0c --- /dev/null +++ b/src/assets/icons/svg/pdf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/people.svg b/src/assets/icons/svg/people.svg new file mode 100644 index 0000000..2bd54ae --- /dev/null +++ b/src/assets/icons/svg/people.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/peoples.svg b/src/assets/icons/svg/peoples.svg new file mode 100644 index 0000000..aab852e --- /dev/null +++ b/src/assets/icons/svg/peoples.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/phone.svg b/src/assets/icons/svg/phone.svg new file mode 100644 index 0000000..ab8e8c4 --- /dev/null +++ b/src/assets/icons/svg/phone.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/post.svg b/src/assets/icons/svg/post.svg new file mode 100644 index 0000000..2922c61 --- /dev/null +++ b/src/assets/icons/svg/post.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/qq.svg b/src/assets/icons/svg/qq.svg new file mode 100644 index 0000000..ee13d4e --- /dev/null +++ b/src/assets/icons/svg/qq.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/question.svg b/src/assets/icons/svg/question.svg new file mode 100644 index 0000000..cf75bd4 --- /dev/null +++ b/src/assets/icons/svg/question.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/radio.svg b/src/assets/icons/svg/radio.svg new file mode 100644 index 0000000..0cde345 --- /dev/null +++ b/src/assets/icons/svg/radio.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/rate.svg b/src/assets/icons/svg/rate.svg new file mode 100644 index 0000000..aa3b14d --- /dev/null +++ b/src/assets/icons/svg/rate.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/redis-list.svg b/src/assets/icons/svg/redis-list.svg new file mode 100644 index 0000000..98a15b2 --- /dev/null +++ b/src/assets/icons/svg/redis-list.svg @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/redis.svg b/src/assets/icons/svg/redis.svg new file mode 100644 index 0000000..2f1d62d --- /dev/null +++ b/src/assets/icons/svg/redis.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/row.svg b/src/assets/icons/svg/row.svg new file mode 100644 index 0000000..0780992 --- /dev/null +++ b/src/assets/icons/svg/row.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/search.svg b/src/assets/icons/svg/search.svg new file mode 100644 index 0000000..84233dd --- /dev/null +++ b/src/assets/icons/svg/search.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/select.svg b/src/assets/icons/svg/select.svg new file mode 100644 index 0000000..d628382 --- /dev/null +++ b/src/assets/icons/svg/select.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/server.svg b/src/assets/icons/svg/server.svg new file mode 100644 index 0000000..eb287e3 --- /dev/null +++ b/src/assets/icons/svg/server.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/shopping.svg b/src/assets/icons/svg/shopping.svg new file mode 100644 index 0000000..87513e7 --- /dev/null +++ b/src/assets/icons/svg/shopping.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/size.svg b/src/assets/icons/svg/size.svg new file mode 100644 index 0000000..ddb25b8 --- /dev/null +++ b/src/assets/icons/svg/size.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/skill.svg b/src/assets/icons/svg/skill.svg new file mode 100644 index 0000000..a3b7312 --- /dev/null +++ b/src/assets/icons/svg/skill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/slider.svg b/src/assets/icons/svg/slider.svg new file mode 100644 index 0000000..fbe4f39 --- /dev/null +++ b/src/assets/icons/svg/slider.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/star.svg b/src/assets/icons/svg/star.svg new file mode 100644 index 0000000..6cf86e6 --- /dev/null +++ b/src/assets/icons/svg/star.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/sunny.svg b/src/assets/icons/svg/sunny.svg new file mode 100644 index 0000000..cc628bf --- /dev/null +++ b/src/assets/icons/svg/sunny.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/swagger.svg b/src/assets/icons/svg/swagger.svg new file mode 100644 index 0000000..05d4e7b --- /dev/null +++ b/src/assets/icons/svg/swagger.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/switch.svg b/src/assets/icons/svg/switch.svg new file mode 100644 index 0000000..0ba61e3 --- /dev/null +++ b/src/assets/icons/svg/switch.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/system.svg b/src/assets/icons/svg/system.svg new file mode 100644 index 0000000..5992593 --- /dev/null +++ b/src/assets/icons/svg/system.svg @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/tab.svg b/src/assets/icons/svg/tab.svg new file mode 100644 index 0000000..b4b48e4 --- /dev/null +++ b/src/assets/icons/svg/tab.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/table.svg b/src/assets/icons/svg/table.svg new file mode 100644 index 0000000..0e3dc9d --- /dev/null +++ b/src/assets/icons/svg/table.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/textarea.svg b/src/assets/icons/svg/textarea.svg new file mode 100644 index 0000000..2709f29 --- /dev/null +++ b/src/assets/icons/svg/textarea.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/theme.svg b/src/assets/icons/svg/theme.svg new file mode 100644 index 0000000..5982a2f --- /dev/null +++ b/src/assets/icons/svg/theme.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/time-range.svg b/src/assets/icons/svg/time-range.svg new file mode 100644 index 0000000..13c1202 --- /dev/null +++ b/src/assets/icons/svg/time-range.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/time.svg b/src/assets/icons/svg/time.svg new file mode 100644 index 0000000..b376e32 --- /dev/null +++ b/src/assets/icons/svg/time.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/tool.svg b/src/assets/icons/svg/tool.svg new file mode 100644 index 0000000..48e0e35 --- /dev/null +++ b/src/assets/icons/svg/tool.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/tree-table.svg b/src/assets/icons/svg/tree-table.svg new file mode 100644 index 0000000..8aafdb8 --- /dev/null +++ b/src/assets/icons/svg/tree-table.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/tree.svg b/src/assets/icons/svg/tree.svg new file mode 100644 index 0000000..dd4b7dd --- /dev/null +++ b/src/assets/icons/svg/tree.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/upload.svg b/src/assets/icons/svg/upload.svg new file mode 100644 index 0000000..bae49c0 --- /dev/null +++ b/src/assets/icons/svg/upload.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/user.svg b/src/assets/icons/svg/user.svg new file mode 100644 index 0000000..0ba0716 --- /dev/null +++ b/src/assets/icons/svg/user.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/validCode.svg b/src/assets/icons/svg/validCode.svg new file mode 100644 index 0000000..cfb1021 --- /dev/null +++ b/src/assets/icons/svg/validCode.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/wechat.svg b/src/assets/icons/svg/wechat.svg new file mode 100644 index 0000000..c586e55 --- /dev/null +++ b/src/assets/icons/svg/wechat.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/zip.svg b/src/assets/icons/svg/zip.svg new file mode 100644 index 0000000..f806fc4 --- /dev/null +++ b/src/assets/icons/svg/zip.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/dark.svg b/src/assets/images/dark.svg new file mode 100644 index 0000000..f646bd7 --- /dev/null +++ b/src/assets/images/dark.svg @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/assets/images/home.jpg b/src/assets/images/home.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9c8612aa3909d5cb797d4dc92f4a06b51a36322d GIT binary patch literal 450629 zcmeFa3w)Pl`9J>QECZGzQ&cFz6NeZK1m?_CP*I0Uz+iFs$~Gn-V`H%4)J&;{wLFxW zpxJ>GOm+}dkigQWXsKUQkufz;=GRQrloB-$@qb^}bswMS`5ZP5_J94f*!G<6!*zIH zhx@vpXJ7NaU0qk7Q#J3>SnR?JV}oL`*kQ5m?P9SG_^aK~{qUom{N0WIZqI+ywO_XD zEazkGalWVe8xOY2P=DjDcE`p#Q9Jl|SG(iP-*xQ-E`f& zSV#P(XWz!J6EH6NU)rbF#$qQQu7963yR5Ld--Nkk6=jR(mM!czc5J`l!?I58H(=_# z(%EH~FCG{hK5Y2NoM9t#vWDSG&dA|8Sy^Z@*73)&SQq*|Z1{+*U#mIp+ZT)dy1nkV zXTz^M=)b#W(nI*KbGr^|?48~DwOeH8*X~Mpe(l@oHrjo+y=nWfKGIz5Jp86P^6!1k z``(Fl=Q&+6_QF{EegBB1^HFT}wRGRUmt)_LbwBK|!@3^Uy=&L*M|4Z;c0|UPx_AFl zM(-n!%sBGM-bZxj|I{xz2>xu>qg%Hg={*ilPd~g@dU|><`jOsC9yubF2KGG?JL0g| z#j#&^XxBg1{)l!Rj%c@U2PT=e@3D4gV3eKO@qZXF{nr6f)3H((xKv0bcv z2YvDISi6qxI<)WDzEhXZhjr@EeFQEZ(V^p4duDYy>zf5f_Ag&LymPOgtXwzd_!BZF z{;_bxDT}`Q+}JKB-aP5OU3-cak38x(_kHiAvwu2y_BoArR*X9O`Mj3mf8PK7N4HkK z_OEkKzU8j!2Y&Y03;*~2s`Xp8y}ozKrAwCGx_ZOoO@I4f^th>WF28R1-48yo{f!Tg zh_!Ez(RSo9b?Mw`BoE=MSv@;q1m*pY>@@o!IV#nV>~-g3gt7fj|GRt`8n=YnhY zJ-c`EpSPZ{>V%scpZxf(y_X+3r1`d^Uz}ODx5xeGJd(Bk@a-?p-u7AFXO_J5&!2z1 z{#S2KoV4lY$Nv2BE6=U{XWyG{`{4S^*S_W1DugL$P z>G=<@KI(^qM!xjrFBSIxPL~OHz1sJyjnfYwcm2xY8=6KY{KDUFziZ{6Ur(ES z`mC>Ie3n{{kV7j zeayxyvLE=yQ#*e7=m+KR{^_(m|M}mWpL>7P;*YP|`P2t5e(>|0W#^8Yuy^o(iYuSI z^W!PUz4H4%zW)5hTPrSmchU{7JaqFfN4@*onfb4m7CiBt5%*r*GYC+0Og@%kkn zTzvnwbGEHtf5tbOu3mZ5-i9YWyJYXhQ(kX=|CwLrTs1tuTi*|^|M`7a-|)4YzP0nN zGp=4$9^TU2yS^C?rAA8={ ze*WciZ+O3Q-jeO#x#7goJ z_2~y?i(mR%>8JZ*?>(?Dw)>o-QMtZ(^v0vVGWGqb-?-$1IXgDJJN93h_rITe*1c=49`w?&k6$(I@gKB5It&bi{4 zZLe*+spyx-%uHYM#@DaB@Ri+{{QHK*5C0{v{E5AHJ#$U%$T#o3`Jrp-ns0l5a?$Ri z>py+!vzZ^iyfvp`PILL-KkxnJ_Gyivk_CDWm)$Vts2K42t1a)(KlalpueI#jn>Og8+j4HWYTxr3 z7ta4G^c2`}!p+lO-1~pux^dS{Mf2Bhy5XIjPqce~&F_AdyY>Eme|hhtd%t|cFW=5x zv}bMZefeWc3NkBq{`~wUpI&;}`%A98aAeU{XIy-B-o0n`KfBk6n-LkVT{^_jG3ZMMr126vYiq+42t*qbUKdBu0!RAjc+;teEindoa;VqzIXJfrX9cf;hfql8qQg;;L&F*v)`$B`1w_DeC3rn zZ+`9l&*qc+C3+j}$|JE-~U z!QHyP-u%B;oqX%ZH!Z$+?}`t9xA|xDihDkO{E+V5ub+G6W!K#K*_3a#Kk2-e&g}4? zZnHZ6^7MyC?Tc;ec+SzoPP^@+4t)mHU)AsCS^dVnzAdLK(fwEZwuYH88PHyR!p-Lo z)ZAgLKY9EwPI!3Vi~HU=;tuQQjK~}o%N}$7g&oO9f+y1lJ`}l8eC|X(clh7;%=p*P zKlWbvo2%y3Z<)Pq6JN{WYuoYjaQq|BBNpqnaM8Tdii;~N7FJf^kX*LdgvAw;3d_n$ z_>S{SD~gLtD;LlO`kQ|*n9~oxzr@c@npZ`4jG0$K&(LLQvv|=(1q+HNpOZfsr=&A^ zV8WuZvP&lwS5z*%xbU(fT8(UJi$Q(?Z zv-m=DFm_StSbI=fVGqU^mMk_`E}B!Z#2lQnpyX_G0Ls~>#}v(cJ@IJ;lJ*=3c5XO_K6hy35TMWvy0V@ksJjaf8%a$af0xyMf|A#R%g#+1zN7j=H( z;*ttJKcTAR%!%gqv?aww6=jRgE~qG=8So${%$cxQ%K`mOH{&-AJ2t-fQfVg8?PPf6 zQQb}|Dv|RO78RZOEoy=PJG^L7*}|!Fi@{vToOuu2uThgU^vB zewpt)#y{@xFFx+dKk=g-ODSR)`Y%nX1y1t__VU^DVnZ*z6jw^{6LALqYp2evyzO># zW;maphM)SLk$i?EU!CDLKf-Y=wlEgk7x`a@ztiQ&OZ)cc8qv6Vb|EFE^Z8b4(2bQq(!t!D%NI3YGV zc518$|7P=FBV$AG_o=bru~GQz6#TCsR*b*s=P30T{T_{fr{HH6eqPFdD?H-n?GL5I zbb|Ub@uIoIxxt)M6QkqO$`Zm&B2eeTvdYrgiv#FTR6%ho!#$~#kz1S$$bD>#(GMBM zL?ix8iq4Bm<`oq$o>DTN6u6z&Pba>H(>?L83m=?+w$oRaIg83F7kZ~Umo1t%XP&|4 zb0$&i7xOu^(W9WUqHJ7oY4M_hisIQg5u1F)LTyaak1)XOfus z{+SCG&+*Mx=Yo=o$pv$~yV8q_OG+jeS5=(9_`Jy%j@K}Gm_F^@+;wi*qASlTnKwsM z>Ps^D^Ym#Dpv&yyOA9I)w!1DVUQ`ir`xJfJzr9=GoUvskWs4l*9wF_I8D}mKjV~%I zC0ci_C|d}Fzqr`N#k3LtXy|PBLI&K>`EFqG+~Do3wF9W5Sa-|`^0)9|M5kBB`sH6Zq2JiDMaBI_W{w(Cly%C;expy#%o;V~lv7Xr8m*0G4;_|0G;73=tWi0q z49gilyr257KYCj<`_i0=XP>M3!qMsd)ub-J{PN7pM`V^Qnlm)()KgC#I&ApR;lqdE zjv1v@~MKq6igENoc*`o`xhm06`%CI4YMWaRz znO#scYV@drONR|FGS6R*{FXOu%mqu-Bh0j=@5N=8R$N}NsQ9cokQ=Sv6SS0u*Shua zislxS&M5}84DCO(&GSi3nq;6+^Wl|t&6@){pP>XQ!m6P`E?QBfxO{xU6~&7dD-w(; zm}7}y@8f$YOMQC(*MG3=ZyQ#>vH7MqZ@KpMpDlZ%VdWb?UiQZQo8Q>{D_5BL32Hv^ z6GVC*s&qWmcIgd`Z*d?~KLs47KaBzSh6d^{et$uMFDUQ@1-_ub7Zmt{0{;(Dz=n{; zrEu;pM}X)Q2qH991%jPBcI?urOSjIQyQQZcmX>}5)%P87)RFYxQK{7Twd>Ng>yh1$ z?0@8u{r96luxn<|h7RpeQD+JS+fPA(;BPR@E^d8btYfDR?K`)NsRF_F?P)Er9Yyc- zACkRJfnfV~9jHLCbC(YI(SC8e_8pGs80&-z!Lz>E`N#rP2=*HOla*aEq(E=ih@%SM zJ7Ljx_nbKPlu0-L=DwoEjU&%K`KNc@KkDeovnw8bzU8o!zSlLa_c7nU<(zZxdSJ@d zyaC7l^R<6bkzjFU_0ObGFixFd_IdeptA4QJw;TV|{P&Lro_hYb=3Vi_+wS?@pI?0Q z--B{4n0DEfHMg(X^yEvsKbC^R4xKuo$g$&L9Xc%F|2JxZ+hUnc9dyr1s&J1wQ*EwT6S2UThU&tW@!|( z3A1>)rG9HhB@`3DxHTT`AFPoi8um^xzAJH0ZoK|W6@0j;r6HxNb~35cL&`sygh@_S zKgu#LTS2bGiXhFQd!&HYOJL+6H5aq#7{)1krWW3djRR-CQ*&JQDncIXJE-A4P_9)6 z-H9(De4pzebn})OJgh(f^hqUYWC5L61tE4R6U9{ zGTohQs>k6z%%6xP{y+I0O`2qucuXNCq&(M(X*MUM37mF{UH$f8+$OVZ+jvAH4iA%n z)v*ZxoXYatWrJvFqciq&fxHokkg$F+cq1;#ucR5KI+E%SkzyMd_ zZkUq?Yx>q~?zNt5ENE@yPZ7D^mv6}8`Wl#!rUBY$qy4D`YJ}}KlSx(n zf##SpE-qnGP$*OtpzJ|DY#6k=1q3&-SS<)~TE-GPa*rE4NebCGec_8h#6XFcLzsFb z1Y{r_&D@*@qGv4WNb;+2$B--BDcx$HcGze`Fz*gWgyPGN76IJRU>lEol&Rzo!n?1& zaM>Qykx-8uzNv+`x~>RiW@s8~SShBhX0BV2^CCM4Rd;s!$ODlFnM^Rswx=Yc);j1* zFf@u2GPS;Mpol&I1Egj%nrqjxATJ?sVV%4N`@1x5DR&eX*r+4Y1LEY zh^%FaI0U!M)q93dI42&Fy%r6%9U6>}=sD`X1dMDDC(z3P!v6&;SX#g=9%x_NL@wr> zaAe&PxBEmP7dgp8iJMG#m1(_x`~;vYXd|*_>9}?6v!17 z`BJPir4|+)L!fjHi*dqyeig(opCTbM6jxO?l4FbLrhZnd#>M`l*WwFXW}L-f56Mat zUMQr}x!qnPYc{th`s!#aKQK_ZeB#oCWw@_FJ(8M96k+=)$XX7DdM(f`X#ruOU_8KN z(pT~(y5e8h?Of|MNq4Aw;BN4umrI*O&8(X`3w&X-GGRy7)LFS^{tu2v7!9f*-S-HC zC<5I#t0BfsgRnle_C#>hMK3$c>8mLtbw83w2MR(#S*)!r?2irlT*UIOs+xE zd7SLRKr7TtkiOB_d62BLNU||a!B0jN zYLO*}f2=1S+UA!~R;#0PSy6`9#dNB57fwP68UZ#DG zS7JirNR~HN)JthRakw*(R^ioJP_NMdMMw*cnrCY*lBT*9UkHXKPr^C0YQnhLY0R-@ zS`Mjyr7w=(UO5c8X2v#hclEI1i=Dm$ece+{YiveE*b)&Q5!Bezrd1+MoOYql)QrYQ zW!I5;ajg(Txcb4h1SE@$$h^pBETRT!y|zxeXx5AWn#Q!t@hQGT#NZIO8DP1O)Y&__RQZMd^=N0Eh68)lYemF+Te zti%g##Mb4iRVJb|Ctv$2sYO|ea-`{gULk@6p{{|1mtfqPS+JWloQPIdorkhiW)F#t zsFRq7^Q)3RM9fSK0K+nUQtvce8kXuQax{p&WwC~D9`BQ-NiFj!657_4N2T4JW*c<4 z_fY3%Ks1(WoN!c3hUeW8c;KKMIsutP?SWy=$jYtQGUHrXQN6{bJT$AaZ$R;)j#u zs%vjDL8(kLCy=v#(<``fr-@n)ck$Ff6jz2J6UwSZxr#{DB@Wr*M4yG4XI`|O&%_B8 ze8OZiX&h|Ad3P z9=w7+cDF32S|DBi&{tN&$lqa21iwicz+-L`BUnS3FD~Znbs9Rt>`-`>Q;-C*6uX+J zQSKWPKwm0r?N*wVNYy1gJx+?yMB79BDbdWv3iwN?%4`2cib%@KC6@L=;6qmk{FbE_agX%T&Hc$DDjA4 zgx;M$B~IKX4T-p{Qo5{T_1mKZ9}Jn!8@JyzTdwE9df-Vp1>TkEouIE++c37224K2f z;zT0uI31m+s?DbmFzi2xfBtqI6PDh zy4#4jMtkVS_p_3w(Yg%48@(6Q2LEuowv&+Z) z_C(yJ);WAsPCx-QU`@kEINWv-SflbfFBlAnia9L8QZnN;$tuAWDWhIH(w!J(bwu4x zMdOjDj1pDRSU448`g2r*_}*;!siQC!1>3qAgJEtp(2)YdXnbU^h{8xmj`gr~<8_d9?Xeh+>r-a*ywHWQkk2n2$t5139|piLiZTZx)D*h&78H_d z*IpW(!)P^!h$^~#z@r2?$aYp*+_9SOSr;W=q;&RXhtgd4gC$=6t#XFmW!r#WNdQ-( zq*mAH$a2`dRJ`?m@0Iu0Omj3j>Ny^olg;RHJ)hx9BDKI$)aw+91*FKU4RAyvQfG-WC z6eliYeR9pHWKI3aDK5vGgyw2??O54OMbJTlO4D+{8FY&)drXt0rq_2GFi7&Fh%;IX zxd+WhM>vC4rYdN72!Qf|OY|>}dMLIz8W@iUq_AEi+9T$zSB`+wuvKhJ$OQXJ6A&~8 z4WnF&gd`*;*Co6o84D6K2v?Q2L*)gWxuJRTe9Z;nJ5NiTzi6~k9~@NB zyWrcX69QP*%`np75J5nU@EJWB*K9S+qKL;kmsB6?xU`G4F?DiO3Qus_0p&PKk zK*%E~9^8g74m|R8kq=!6&Zj%}>wPj&JvewC=%2AiJ9?b`7Z4)3d=1$e zOG5IXsP0U-=>8qQM-oi1lH^jnd14i_YkW`w=r(Go(e2T1nN#mNS=6`YVN^zCzg2TI zuYAOxAx+qL6&OEq;etZz)UvsqW+G=8Z9Bw;F0@^ z2O)=}*zq)3b4k%JTCvrPH08vF2pVQHcAFt5DYi%>>ZyYohhg;OCeH3;LXZ23e74Z55cEJu#&G<&f@u1ak%;3--l0Y=)3va?!%)kc#Qz})25|NFRn%S+WJ65zVlTLCGXk3Dc z!)O&isRyyw3WNoo1XD`_7h3Q{!(??0f+nAzH^{>NHcd>8HvX9fD_2A3hQ(9Y_&rHR*&(dieW;O?v8DH4Wvg zolu=dnpvyQ4jNggbypX74aRzeM3=TKr-c|262vMErDiTfAdXNJm?m!{iJ0vV#gjj) z^jCWiaaRx8J`J`g{8BKqffaTp*{%MhsR}rkPhEn-rR=w=yYa5hgu~Y^oJauH&cqic zm202_(}VGELy}DI){^Q7GCxVsN0=%Zf;MIQ$YV#L0@=0$f{E% zODl7?oBVKS3C-(8xO}W}X9%MxOv!f)5EkqSm^=@@T3PtCwo8&3T;id(@v4efh^lTv z#SqeZM)?u+QtN_&91uNx@W2PHv$KcS8_jU2e;}Z`4YK7SpzqEZVR0mhisz<9IqG-^ zTK5Ax8;B=f_sPgZWtk)&I=P~R(GA45rjQh(h|x<_QwpyyFeD_RQp7_+hxUgVagCht zXy`d4>>V9 zQj?_(k^!YUVEt39!r6C8WHIq5LL*fTb{ZH%D-U5XNx^rjWDpxm>_shUS>|k@P#e@y zM3gKgt;0w+t;ad(s9|$P8Z&ah#~8FI!duIx!}}C(Puv*!<~#&dzjt5>97f&!lg5DZ zsm3_D0oOhgbUx0fH7*%Nqp3!OefzBo)T4uJ2V6=O5#h**hpr1)MR*C3>f%BWxs_JN zn7P#40d@5V0W*?fVB5*el22SDWsN}i1JJ)sN|Ls?B^ME(qhmoc>-93_Z&$YmaCuC;@88d6lyK-q=Qx*c7-5}B3=uDwOf}+3T3PJM}bWGPFEzj9faoJR^^Na9_mUm^Q?>JRXnO&oJ?c;!a^(M zQE}4k2O20t%3(tPw?Ql{3s1VKKalFD*o` z|GKODC7_->!kOVkX+;q48X=@g`nVV*5YFHiMVVyS!+e!JglOYds(GV#zYudN)w2wV z$Xw&yNd5ei|0~Dy!P2Lk!4G z`Lsp)qySG>T9{oQ5{HI3Y#A9>B_lK-KK{_w8?7`|ZgP!UsnZU7{j1vk0)WDW2c`v< z1l!=DJJicU8d?m45)VeQ1#CHZaFjZqqGk&04E|{X*;5?(okLM`uY}0o9l5!W1 zoAi48l=lX6i`vS>RV&=Z=~KEpW%?vy4)r85tmhcI+Zu{0>)FO#hR2-TOpwYW2vd29 zOqRHGDUc$haL(9xk;s4$w)T+RgCu3Pt`kR&JCT;Xy~db5}kXe9ojBgV!I`n7%}nnC{PXp>0g$Kr${0^bLkM*@pDXtr5uGzpN3OjenOp>h-=&_(1=%MOBuCW-7DYu9{oqRiGbu4-3kO&Ks2gZj(W1&3a zW8ju`VJB968h)LNGMV~)mURp>YTn>oHom0QjAXQ2C(#q}!siF@p}bVzs4I!BbPO>% z9uqYPPKA1d@@iaejx#6HIc+USbiL^YDnSC$NTmURQ$e!Dqq`F%n}M0Znvp9-&_Zm! z3`n5pn-H&`D9B>|I-5grO!huB;{XAcsLF~k78z0n--LozgZoqHlrooAVPyjL*du&! z7(QE4x~ly=acjKR&8(%k!`e>0HYgcUVz0qX&sB;*m;;5YM)Q0e(ypKB*$zEof~gS5 z@euiKy^fE{h2AUa9b9HKiCYYU5#4Q_BU#Q?yEi;WM6{}s1lG5+Ml(7-TMibbtA!H? zGzt;f6QcTPHaSotd}o0Dnt>Ed6ONFlAkR@jP|83AYQ)bAX=gLS<|dmn{5eiVE8Nvl zm{2EQ0~b##xyFW7MTbr<(ipjpkXr^Kkd5~%(%6G8p#TiLKQA=!BO;4WRDH<8tR=z} zQuA7tk?0_HnjvBc!2%0;sLq+IyE#|k4XyJAwxGxmsN|YMPUWnVKNmrVlt!kxljvs3 z2SsYBxJBd|Iqs1beWyhihQLJ)ZO$FqM(E%_xyYrc+D1i#_EoPNp^k*IK{_KOo>An; zjQoj8+i4Tr%0Ib9=l0y!;YGIS<`FdJkVP>Wdn&*)-RdTcI46=g2{EbIQhUS>GDRi$ z2yn0lFHssIRGr4mr13~I^j2Y@(rdh59@lvwaG4&(g@^I7q12Yh^cs-^MgA5O#~ENk z&@lIuOam2r;K4C zS=K?Bl4~6dsyvX!9y4d&#!SMY_h?kZzO1GlRYq;#+@t%TH zG}e+9jb6h7c?8dbZ3iZ14!u}YVhmGs<%@11>Ehb_z?7HEK;65k~8{NH|)qj>!|6Mq1#kMtZQMB>=Bpowx$- z_Ty1rq(cnjyj$~`QgS6;vms+*Low<#;OPYDFNfh}2xq)n?x-P=ShylC2JlL-;V8A} zByTl!yz5G0ks8b=BkX*{nI|cGQv6OLwMk7TBhYx9!)hLjU>h{h@vWjH)W1Wf{6Kl+ zFtiYxX_LK70z-k~Q<7&jY_3FsS~7`QrK*9jYX>XSqsFBj#ZVchIF@O$A$aXzsTF_3 zyo$nscEdw*cU?)!_sEp0G z`&pB}WXPsdWXTTA2g5X?i*KTRqXOyloyf?IEUsg%SQBD{1a#VXIQArR%7&3~{ZMaB z?Crd5_)Y-VJ48r<@kzwnil7I$Ihe#FyO)^vc52ht}2b!6< zPZq7DK?!%akI}{mo|E{4c3FmC4=1Y5{!|4psK=%{|Y`So! zBqh2W3NuUS5pv3DbTl&6lAS?d;>=}fxSGe~xq{lEQtFh%I}9}K9%>kh!L zFQF9($Y-dL{Xrigd{wwn@SLcpUsNAj?Dcs*P?V9;7Ad(6gWwK5n_}*oThg^eYEwPc z(1fgE@csYpi9FxsRJ zK+=P8h5nz#9}<%5%`1e2qDm=={Hm%*+yo^%M#5a7^j}yV#kmA)mrc4%ampSI5fPnG zmJ4pZP1_dI2h>tqI#UCZv=D!mf#VUib=Hl=;_aufm`u@$;AR5!QIvE&BSSvV8Pthv zwW&^NuYQ{(XRJ8!2WGV0jtMKZf;pxHvvTMuv!V=jLQjA%2dxR!hH2($^{vC8)vS+m zgle6apl%h6D(}>HdmMM6n!EOWSS3n!EFAJ^m{h#f4wiFQtM7>OfF?meq}A$?SAd{; zkJz7Xaa{|a=BARx@L@DzJ=1E~6BwJ$f<@_ZWdEobiklA#kIWL8ExLqb5jhJ^e^3af zqX1F3L{5DC5qk>@BFs*>4osf7u_fg5f+E=$9t1&E(F1< zYS3F(i{Zqkjg+|77Q9d14lLNCerR{r7`@XYn%8>7n2v0q%`NJcjeN8rfXstrk62#~ z)zBtUWR&I}ULA@*U1FG^NWLfJBwrMQxnYk zs;sOT11Gc|^+cYaRmc-}>zJdYzJkRcvtUcpKvJ(J$PlIt4z~#YYiXvJn~_(SK;`}Z z64N{3)d;6Z4NJQOX=+#*JXQ}NaVqF@g}CZR?b1eKh$Vh12!6CZTnO!Z>+=yqjz zSWr6JL?xmx;c$2=5IQ}wR$b+F7;AGJ8IEX<(8E2gwK{NG9pY{RDH^W$6V@eg{0rV+ z5YI)3FqvuuYO}m!F17ZulBKI+1`bDhgU`Ao#eAG7&wgkBhCD^=AxgW#xNqhWwb z7yp?37>QY)SbXTJS@(-a3<}G%Jd#%*j>Aa%8+}2Hre^ZdBvF-&;C00q?Q1ALX!>fE z#$Bmlq;7|~>Cil`hI>5-zG>qZA4?*MqoFf8Mo&QA5KXiQY7-GP4|3pjS&+vS-nbE0 z_5yS;>m3$Obe!ci>WsvA3(y2-WlWL8@i7!wcx?5+-c;(sbD#g zbawFoFBSdaXOlY@Bz_r!S&a_IaVmi?6lm4}gN+dBlyjHcGzK4pV;+F@4?A%n{&`T$ z4+mO9{y57g27gkoIFtn-*~VqC$oLSPNuYtn1tN0Sonk|863dmy=_TqaFQ4fo4@jjR zn)odHK5`EtGSmgp7ZD#)+wG&p*MV0Pgq`N7ETL)?-s^FS$L9p=u3b(g08GERNzkDzz~ z7%6gJ$OxG@;P2<5Ny2ef>}WX=^Q)sFnsWd~0+`{p5@?n%Ov#jvoavNvm(w)0oW41M<>+ zU%@QJ6D(Qp$IC<T_(#-n|~=FODTgpAZ-X-|m_yy5iKAk~4uZ&tnO#p6i$+kwp)9 zg4*j5s@WX0a$%4#ay3H4QHl1U7l^8OJ@fWsBdU7+&q?TUL9sRHj)ETgSw!1~L_A9b z$BvH_k2>+V7W8^r`@D;Qt$3C&C7|pM%#fv{0XwHYCl*2bNI6}1n{qsKY_>C+FyCXJ z4HZ2w;(Nqex|(XlG#8R_9fB8lHhS+wFDH0{(4z7uIpl;KG3)z#iw==2b0J3tuN(!N z_~Mj}y8|kOap749`0XF=ax(3Tj<`W*Bt9qZix|4h59%$k%W7X8&53e-Hrd<+js+#% zpSgjogQVfk_{40ITN4is4$aLOp9@9EcMiVuVzX*LC%tRU5guVi+gS z4BP1Hq^E+G>G>j~^=8WuE+NX2kBXfJ3OV&YI?GB0KW#ys>q*w7I>j#6#Z7lOz8woG zXKUlcSdnSCR?D@(jwW*J(ma-;9ta#TC36`b?7_tyhL}j)foN&54ha5!9Ez8%lkP%< z6h2NKoPmp*2aIGXVCh(0)PJzqm%>;S4I+Sv_@lfZ&A~$fOi)0(pEg)oXqRh4YUUNz zF<~jKtX~*SkrbWOK0=j-ga8W!A(l%Tor|3jXl+Bl|nc@I{7eP~4MKFy`&9bNwECxw2zjHlPGW zJq=riw9exp3xIGdjz4!Wg_g`p?~MCvctb*jZ6Wq63#8!tV8bFIb|5FNnU#+X!46u8 zA;BsA#wRRvRa?P6m}EOdv^Y>xm|!Z`%)pifYHLs>Y`Fyo3N-hdcTggP3M z-6(_gy0qvAQ&%T`f6RZOF76-kS4zpmkQS172rIpi!L6vEH^BMFKH*cR-~Ow-F2N*o zmmEPd0wQq;5354C9r7i$0nAjI)FgB8bC8BgDh1Pf70f;WW8sz_cPQB58lJrJN9q&d zj?F_G+-as|YVC2!9`4rGDx1+ATmv4N+fhEQ7QaJfRVcv@GDR&&lI-hv86t@QR^IUK z15aww8q}kMsdZceg5Zq9?$qHU;;oK}z@DTQel`hdo!UVW6rTy4!01IrRecy+M4Beg zHLnkGgpnHlm~znrZb=Ir=oWo(8qc`vZGt71id8IAw+16B5^1gv5fAL5Uzw%o8~!2 z2b%R8vJg1;iJL>wwgjR`<|Q|uaKx@3sw|%7v}QdO$3GjV#+2uo zPnkyG=5!os{aiCYac9nyro^I`>2YkEu3(nrqf|PlM=208J*bH6g*^s)NM6!y3G?xos-9 z(Du=g9_$2fs~o8aU~6iJKt)(rlp4PfQB<@Hx+YZRF zf=+oA%06igPebC?R#^|z!DpF7T%tyjUMIq(Nq4RWt5Zh)57vOp%z2d|P)2F^>ZE-r zsmCAPc9;oIpz(kUopu&DL_uC2NOo|&0r6)d_XJ5Dx_;4Go#>SNO+cM#>x zbO2AOB@1CIa7gL6CL*$)j#)u8V@-MaOjr*DzB#)=_r62{OoB;?Z?2I1>v^uq;h zGO60EIuVxi+m|*6kUze=W%*P_8Tvu7B_WRfAz27f7Z!$9W;sXHO6REKn+qjEN+#q@ zc1s5BC=X1(^@oRc6;`W4QrV8&R6*j>S71{|!(u}C>mKw4FmgD};y8D*vE^2hEV!@i z%3={6k5b9c{^AgM@REoUVM=bgXdGH354!%FBoIkXhSlZIh2O170%=VaVkNKkVTUyk zojANes>9i&VJ^(b%DqtpMWR3ndps58H<)k8ieMU-Ch8a_kjm8-P@2+(u!{AmNJ`TH z{k1b%yOlToOv|1?Uksweaz|S43W!mCAG|3hk!qn1|GmLHh7jWFA!$#D3f%%zaw#B4 zXdHmPT-g#Yy_b@Z>s+*taEWGfKuu(HM}pXqQM2k@ClAQARS5<%Gjy8li7i)@szV|( zrAhG7W<t&;{jQ?Vp{6h;Ad|F^5&~j#wGy^8qlQ}gKs8s&4#pvL zAk~HVK=*a~C7PV6(?w(6G$*ROVJ^=-olHX@VPeQkJ4E2o)XEPMK{zSq>f3NpNN-Cw zs`h8VW7&io>bFxVzHboSjInCrGSjjfg%ya8#w;SopSY$xsaZ5+PzcBxu1=*d7)KzpzFS-*aPDA5-riF*aDKPQBGbyc>#T+Lx zFcqDY7RvKdgAT*3=c_fXZlY8^5862Z$dtW`-foDRAS!^4B(LIUL|TZ0cq=1rR)~xwiE-F4Y1R`&9n?e-*;e=uRdEzWvk5~N(z-Ti|A6Q@FTbSqR1haj z5Pdzuuh2rZ98+P`;tYUnt)W2!7`T*4=Z>8@Dc<>=PUA1esg@GRw(Tq0euxhTnEc_E zX&CTf|Sn|Q@r+6kf_bWDm`H`ftrP~DRmq;hoqU2~L<&TUz~ z1e?D2wLTMec1$!#8)|LHf`~~J2ba~ct7L;5z9pJcqMr7TSmBmI`CUt=BXO<<=lVg; zcs1tWl!l`H;#znhEbLOWcc=DPodJl1I1FXdHsL8F#r$2z6i1~h5NFWG#%8c{!VHOo z1j3O>vM1QU(3i*2yk$rqTNT|K zmiU<&B6K$RY05vGkZgMjTi>mpBQIA)VWYnT6}?$+=@8K-tnLotdlm&tjOr5M40%Ty zku(Hpu~Kb%vUwoOhe%|xojh9gjWs4{2xtjH?rKpXUvWICWDmHq95Eku-%vc{r(FGe z!{o#DHIfVFgs}XO#$A{5c|1ih~)uL;UaEjZDL-ddZ!VR72?ZvE*(^dn7NF84wM$dpO<>SI6 z#H19f<~llSheUTpUU0|r->`zlhA}R(T81-sc}8T7?D=(LYk5kNArKjSVav?%z5uXexA#qmC)@B=NJ2BG-(F88j5B3?d_wrW6pT$qMUNRcZSZ z=-kuYIH;9^1O-Pc2Gu6+g3#@R*$sh|3T0Uwzzw#nSUv$c8(MT$Y#?EX1Rh+^^%Q`X z?|G90P%JbtaJsuX9bCFfp(D?VlGXx?I0*#&1OgRW^mEfq?kM8T8%$g-nfL1W^YprR zrsmoi@WpBnH^m;(PIp(0p`}aS=?xCcwg8HDbLw1S5*^fIfb}f`UIA9DCpC2E=}DcL z^r2tV4T>d`VH=#?XiI8IP!HG@nsG2|B@BxP;yyyWAOcn3!&IK2K_L_l;mxb5zWCYf z8MC`KXwSelivDhlCS$w^z$i=WMJQfJ8ioSJ(E%8;)REnS85WrWYD?|85ASdMhP5)9 zb$$vdqRAWtNI*aYg1e(p)kBsBpB7>-`g*qnCdEFpXoP@|ULDVd-)!wofISqnq)|yx zdE+vmIA*fbil2l2j-rQ?1)9_Be!*8ApkSy8tKDvJ6X=@`*V+U*KV-r?(PQz0(_~t3 za>z~Zjy$==xbR;bg1%+b?%d5_S31xy*LlfzwKa-V)z&T@(&Eio^9cqXRvuI`>3W9~ zQ&p~ITNb>eN@z?xg!EY&0)@zN28MkI4#iD&atNBc%n=uO*U(}Gra>O1_8xi71BxJ7 zgL>E#%I^!(9h+Ty>Cjz?Zh{P+Xny&|wX5tUo{4*qr zy3_F)Q74V~YR8~Yk?aSB(hu$!&-XWoZ$$Z@|%ZW1>fdiZGDl2SBIRVKKb6CfZ!OY6XOJ>q(GBVLyZ&Btj9` zO{lOMwi0ajd6F4bPy}FU;!Bj3n$CWjnj>0Jt)fza>WfTecq*onsv+SUZWmuoK-~46 z%-XbwP5rC6sxxQFn#g`DLtK9CJvE!aH(`WURq`!3C~+k(I8R?L<6n*A(tA=J|7jyD zMg$^(FaA|X7Dc2|-WHgrnqH<*Q3f&P9!iyRF2VF9eiR}AiQCvUpClgC1TcBxKk%_0 zd@t;+ls{QG<#AeyL$?xv*c2qye8h9R4kfeZ0Fx1$vawut!$Dtb0?h7PHG6LmU&M<$i`q zs}`mU3qQ3za>i=`Bx?s(LHY7EASfM8s2kg;%y52MUjnV z%)2}lLvTHSn^RVxA*Z-Y?kN1jseE)@7f!)(|51jDNZ<~cGDThKgLM*>h)jsusx~BV zLUKAe5}L@l+YgKVIf0ZoK$uiMi$#W&AZ6zqdZtg?;f+*Sr@NR!T@zHrNs?UXW9hmQVhb4I-4#11sgIwkmvs>t+- zY!*GLW|l~Z+qR88qBg{}Cu9^ZaVh}^pf8Z`)()WyR`!!Z3{VeAf?N;@#CdQj zk=NohX&bYR+y?l(l0ovoO*EL64k(}n@L}FjnjR%AO4!i}Urkf3?fag!#jJQlbs^l_MY+W2@$nwRvMl9YZL|0d)D5b zC>cJ;8B@rHeTHKxkoAC)EpcNmaAU|0ROwjIwTnL63tIm%&}ccKb!h&elZGFcl{Efb zb)v6`ot=`#laL&0`-?1wF20tMADXZr8Yzxph6GkODol}AyqG(k`?RK@h>G<;kk~S^ zK`u0V5y;ASVg>7sg>!PTC@+(#p55JoER`ZOv^HXyjm}ncjR3jln=?W{Wa|g0+_H^| z2x|G21Rev{3A|ZNTPC;>+C)`mAXE*cjQmRST)Dk;Py{nKWaTvY+h)ZNvm-*$BoLoA zaSW~z(L58u3Pbbwlh05iFi*1#w8fknfzg5x=v}9=<7MtWp`*#l%Wmj&UzSETe0sWm zl>nqt6>c}R(t$F;9j!%6Kh|^7AHFuk5pErd!?17Rkrj0jFKlsgn8w^R#%Hw(6XgyE z&Xhz3*pNS29pNuIiDtwrQ+%N3`-2?w4BF_NT9ts;m3%kNoP>0 z$XLM3lcyUGQi%a$Q{1Y7pvNaVgR&Z#GQjYM%z(B0JdotiipSo3ao{jcad3LOb% z+W}119=~&qg=x7tA*t=Y`~Zy;`HQF=l#yDbmCXK)Tn}^V@*dko5XY4{K&qC76udEl z6I7z?*_)6VL5MnQ<3u4U59y}BJ^O&pjE|Oz%+FzdAoS!1YFl{hReL-B@IIynkv2*olyofXD*W$g{|eQd8Gmg3WBIjE%YuV zq{x$yK(ij}+@LUwFkZKZVR95f&JTh;Aqn};QoDO4xeCD`06XCte(j5R6^WeFMz z@`wOHrl}d_*}m3OYumQWxQJdKd2&RWn!&;!m>yQdrqrbP6b$H?U_8Gh&_pTp(v2E6 zriGJgQEWt{8R9IwDVIxT5k*S@lbuTt9wBDJ&~gBxk|Cg=Htbwsq9w=SA|WB|T@jgE zPKA|1WOsy3&xUNJ zVxTO%$cGZn#8o7UwN6+#GBhM6ahj0|3bcPPAE0FR;+TFIl$sL4PvqR82(tDbH;s#7 zY6nWWsZ$AC^IaNX#DX;>w5G@aI;-!J?2tt+J8hdrrSWYeG{6rd@S>>X?ruX2;c~)d5 zRXB?8AcmNCt|KjNWKaB6UGm`)IoP~;f!_49Cjw?5Bc$OpmzA_KHDo*V26_prOEOJ{ z6~gVhiQ#FlQTYt`$Vkib{JlY59>&uiDs;|C;hcdJEl=h=@1N z5{O~kg3MnO|DzqfGmv{n2!MBQ>8yyve;pVVcJ6W2-=yNj!PXj0(*`aL@_W2urw1vo!@#%h*KF;vK&wf^|cr z>~mYtYfQybNU-OBz>IOBb^6HyrnD*z0s@%}3V{|w+!Z!w>?u(MRJqf6G=N(Q80IA`uf4jB)S zyHvRlC2d%BQQy9B}SvGw?x6xcwFMSITDVIJMRs4j`=RAonzVUgh8#}UPZT1ak=$Z$Tya!=$)Tt#q;R*XwYCT_f%asv|FWLS9} zgg##4mO~{fD96HVXUxFb-6Ehrl>=t39)ML@<`N0x6BJ7Y84)?|R3U&|e9m1ad>~qC zBN-N8x8E$;!8HF=D|s1km-N6ya5W|PRU7>NG$rA#B2$O9>>KMEyr+PYFFktf(NcgC z19)vpj-!XThWMg54@?Lw;9>FI;hQVTZIM*3DI|W$rwWBH7!Jr`vP{4yj({NBOc#EJ z*5DvbeR)d3a4s}T_P&shQg1SWU&WgxI9Z0(0g3gnzKooni9-?ux!6yr0Ze&u7Plw} zlodA_ZYGjdhSxk}g>bT8z=r$qzHA&Qd99vd!^A62tyP@mAbUEf1+Y}Pxe$foG-*ce zUUwKDKb7G=AgIC-xsLMex~DIcnHZ+lD~a+-S6GOmE0A)v7Jvd|lkwnBT(Q@~ue7Af zsOoNOPfRpV8^clQ)3SBBcq?NtBbcmmmt;^6H$3CuRTA0c6iZ9FK?Fbn&)$7h7fJ7r zqv!FTH4Z)aCX8QaN!0{8u^L2E>;JG)gG|`%-ecXAXY9JElb;Db&9c)6p3-A2LQcGz z+T7k+_VkA9OdUvCB(f_^#9^tI);4mlLpPjQL&{FxAxRpWj0rfRV-b2>MGRvGEcmUr zx6qN(Ko#=Xj8qa7Q1}K!I?}|HssMA-#+3rfnXJ@Mfrto8ucv6JvH;bkJtA4r3)oA% zngAZ11|E}|LY;vqnG^7<@K7rsC*BeFapk#^J6}^%pszM`pahppb4Xvh(XIl!0_`$} zAB@x`PuwH#P~7r4O$~|!Q^+0$ULskpqvC9AB|YxVlOkIZA=&`2Ty=r$`8onCG`uf{ zny8$A%uflNz*p?2pq&xx9E?JFCCBwmc9}aDK&hu65&X{Y2Bk~Y7L6@vyG7; z1=PTyrbj|il2ooHWiP)7C`AW~^mr$QIV=h3ENz#qP=pD|o}mH-;{<=StA#>3BVE~2 zQW zID-O?%BZ}YjIX4;IPW#Xja8Ydd^b%yO8O?CG-e|H=l-^%;3w#^J;kn<)w`)~2E8Ze z%vDdkRfVh`7`2^fn`T;(SkTL7!}nqz6Q5{oh@;d-$W=K{T)7*_9@=_sfFf*+_)>&()?&8SIL8qsHT^~t^nIQ zQAf2X$*C|z_SlGXPfhX_xvbo8_4*ViS4MnBZpmcW=|+MNayW89G^YeBE;$$~dz~h0 zq!yk6>~uj%q6>ZlCdS7pZa7PoG!vuM^lm3DlgKy8!XL1yh2_=tp8;2_V}^_z5HYAc zxO7?rWv|{lam}tN?|qdgHKn#X9T4+sZj}f#51#-pFyM$oP$XewpfxQm*jA|V&>a!I z372K!WI=AH3}?TV(SYE-I;vMDqsB38a-=F1t^;InaK@b;(B2S~jRE$ZN{ zm<&<;R?OFG`ebQwlv`k2!`h}mCe9pMcU2=+%8ijXlco_ZG&Y^RraP3t?H}re%u=XJ zR&=wJ?UBo>iL5g9_4vmjQPO!oLG=jS=`>rPseIi8q*lJtbR@ipCha%Y{$RBv=&87u z{BmeX)1a2f1Y@H@3ZqCW2PErsPB2E}A`5S_U+0qoN>ZxYv5P@8gG8@HwHR%Zu)k@R z%S|{CrNeZ$L*RkP>B{S%fzFHNEhiOn|5T9~m$bx_h`SRVNj8pB<0S zFqA5O0De>qv}55{38=Akx}HADFe|q*Zq#o>6^B^VIX-x!5RE;vz*YayOXx;OyVeQA zO_taQ71Cal?%7O^#m^-r92l&`0ppEql6CBjTYj9n5N;br==79uAJIGL<%yg>DL-3*9Cm5#j5ylWj4BEX~n>FRVY3tvq z&OP^>OCC7$-*R!M<sMp9a(>9ofx zjqJSz9($`ci-zg6gvBe6l9`KO7tw&jMm?yVoxH&i<{N493C3>Vwk<>Od%S&zw}at! zO2MRWqnfz6!^1ge_?~A&GLz-ar6LtQ%^!sm!n-mo;Gt)W*FJ_6Jo2Ey~SHS?@Q7XJv zj!6O3DUx)pZeB}KT8Nsei00^MA6I-Ff1dW1rRk=c@nPc*KG|caN`{^4F|g(@XBCn%HgGj#1xu@yL#Q z29LYqlxvFr@aav!%BLNJK@QeHJ1&)dEhVZt-rkY>K)ZIO(dV> z1q@DjX}k%NJ#s-L9i^Qw7w_0b;~xOx6G+qgqEW`c%12z(LtdV%6PQ}*ThdWUnW-5S z0TpB68RXVFJ5>yoC8}fS)0l=3qj%mPHfGfEOW)Ionj~MeS@}+$B+1n}@xOfd6Gj_P z4IZbvpon5rdTRuU5#x^t3~$e2LlECsa-3;t!}%V7AGOFV8!-`L>CZPI&&JD=wJ-PV=Q_{%G>5(#}6mzb&V5X9mN~@sB-od-wG7jvBIS z{gO`Qz3WHa{Pl6STzXyqqIsQvI{5VSXMZ&Nqf7Sw?Ua=lt{Yf=){|>~-nSb2iV*oS z>>Ob{Nd1*NDkBBRD3$^r;R48!QRr%l(ZF9yj4?b&$%Mr*imQMS6%++BLG0m;Xg7)ka0o$|(O zfnL)n^+NLQSEZbbvK;e^Iyt3nxu1>s?+K8*UBZ9LY0_6Fl+6^OZ2ZVo;`{&Lv_ za9XeRugDuNX47X4)tC2LTJi2;{dzN!IH~KhXY>ka^0`HE%Auc?RMk}IgqGx}uF`g7 z$(k#nf)WbXPr|83P06!mpmuAOj_8)xnpGUj#zeh`hpNTEF$eLIw08Mh$C7OBO-2H2 z4!7?On9LH&?x@}Y0;Gh=rbYvVZ|+^YHlzIIhS=d3TzqxyFi@x8km&{^yUIFuPt4l%JJ9wbQh-#x?K$#xIUve)pM+?)dRPN_t*6d3(vP z@9*(y?l_=`kXV~Z2B~KHLWPAp#v+Y*gb)hsG~%n&S%dp-9IRu)=kti-XdSz37E&cI zfET=vovc3TQ@Wz3w?4`K(vdaCHeT0#;tukU;4o&_j!k=T2IL6TPTNSKPrUB%=`|Dt zSRar_5=;m(`e`Stp_3}N*un*5z+$wmR}eJ%q549hx=<~{nPEWl2{(xvx4uRAr^d+! zKv#-r#pB(Tpac8^?opG25ner_Y4^~u+iO&o zCY<=1;Dn>$N`^zsNZeQCRTsPbc}3j5b}&m*U3{QG?143RXM8L|YlzH(aAb8&Kh;hO z!<=l>JTnYc`E{8tC!L0sOMvmS+;1gk-$W_-NeWuI@*eISnNFBD-AJ5*UW#^iZ_PM= zHJ<^wAHV+SU1Yz0%%U`}g4=Uv|>=b~Q&&N}CEe%~<&Owj=MZdHVGG z?zq0?7dPHkv-6g>t}gm`@ySPyf40MhOBT#ux4ts#flVu3>a%dj*N*Qrfwb@0RT(47+Do9}NoX6SzpG5qdc(*Mh?ZbfP1J1|^b=B( zZRGa_svWu!Lqf<#c{$3J%qY(tn?b3)27KZawPz`Q>OCFZ@yl-VWrbZ{P^fuL{zdXB zMbd}FAn~(lNv?ZOyXA+`?mE5^4)?#Wv6Rpp4Q!1{Tq&$j-lDoTDTBAX>s?%aEtYvc z`CQCeEf@+L7N29R9)_y4=0-0F5n44RU8T^evZg`**vPL+BND2$7)5U2N`s2-k=Wau z_Un@`cPYu+A6HX^t3k-W7F z2aV3%dC8pv|McX*$BRa<%6a9bo8El-jtfVeIpC=kLwS_6lzZ0n3o73F$ya|ou>OX> zWc_i|^{ccku))|ST|K>b26=ZjU6#6Rg4*OL zB3%c_^d$wg|E%uv#{DXCk#d#Ew*G?$TyFK6$gc^|Go&fdGeWaC?H7Pub6W-#z9UGW zvSWpygoMV7jA!3UbwqUlNIlSCBf1JNC8tIxxG89tSLd9LNlNTtroD%UXGsKJ>cMDd z9!@KP6Xua|wUZG^rHM&Ky2G_Ux^VQg%EsO=XKday`tlxGpA3HQ-lvA&nReN28?IY6t?8jz z7yM&mUS)aitXJ1pF6>!<7_r_y~sB3Sz{_jU=<+o2WF>c>I|JE~%pNlgRKMV>k+I0O5Fea}fTh+O-CHe;oy}>bV|UrAV$MnV$+Xr#^7Du7-A= zQ*{yzF5S$wjz+`C;A3$RA=-Ae4NwQZL84NDI=PbuW+Fx>1tHnW2$u1N4x22~+Lbu$ zRx$t~cBB-IQ!-gQFsu|Nr!SikwBRW(S`nLMxjIB)%B;eBhyHV`+STI@u>h)jqlFvz z73~^k9(UEEqu+VBarmFQ4O#THD^GcK<+n#<-IKR)(5HC|vjGCADV_2$y^Lo3DGPS| z;aeA-`=^s$`$N%DFWf!tlW%@@>Q8_4)5*`~E?-Y^Or{cuxi!1eZrWP>%F-uKI_CS2 z4!RUC2ZEsRN=F*)LE&5*e(@j`B?Q`d_Y-B}WIZ9kcSbu%Vryg#@5|5+T&HSNhytY> zdwR`Wwvmd1B{5jPwSDX2Rnvp3{j_+Ti^{M^2%Oy!!_}x_U1^{<{Hp+xJSV*URr_#8 zuhhCNz{bQQ_)8l~QyHUxCwiG|Q_HPTO-Tjs)Jt2^1Cf$xy(Ar16JJ58%Pmw_oyQa>%w*a#v-xV>o+*y71c zobC{&PNkwskE0QX1QL=6aNx~6)Ep8|uRFU+qfaNqw+v+j6uw0{25Q+XU#tbnB2fY^ z9tX}$l7QCN7u~ZOvs#tKn=(mfz$KGeu;9jp{*_davhI~(|NG>wqPM^M@cB>I6|6b$ z#F0-my!5lq123uBIO~B2x3>fNc!OisbKiLR+xOjZ!;dfOT(tGFN%dE6{LdYKdTiS% zhrgUTf95m<;_?a_8pHR844VFMmoCSj^4(ud&6>^ynXsn-EOv*0QEamz$dq@iyA6(t019PH1W)c;nP=l;#k#wNxIJj zzKyL+5rE?I8F_2;VD$4zg(*A|84I$3%BN7r2H2oD{LX!XEaL%bCr$@po(iaos$uf-~X(M=Qy^HgYE3XUqxmy9_E15LgLRd;8`D>u=kVZV)_%lT3x zKvdp9&95;aBP{faOCI59LP#R{NekbhSl((WqcF8myF8X}I*-A#qwcf~Q0!MyyjCsm zf$g|SM-jFevM0hfss49XJoQa+Mr>t(^175%4be_yNkbB+kNTK3N;7mYgW)F+RdSU)%K&W{&;x?s|oumA6Y>s6_Q z@IURqcXOVus$ zv_p$$997eVu`f*OE2|xNt!Pi#B5L1@i+9&KR*(TD;BRTBwn5N)JvgH)`)E!Z3{RT# zTnl8vGjI$AYsdrIsL~=A|7B*(c{bRHDzSsg3o`%-3Tal8IHW@g1Qzi}Uq%9~Hc!|& z=vCSS=4=IFUA6K?is3?#>E6yK2&Ey3cGRCeELyh2m*!*;P$ZN%LZ6JznKhd_Q8MLr z2DMoh*C<=WizKr6o{RBahxOGL+JbDfE;rY4$A(yNWm(;2=ji?Sqb z!6>hKdRhZ*3TD5RqXOs&=*V6GXN-v|Z1$`@1?#H~3pi%6_{KcI>W+P3jCfqKz1(UU zxmAwkadSncX(fl`pr+BQ{V-wUYpZM2U4;8aa;UJMjfowu^BjUmP^+H2wDD)Fwmov|qq7EWJoZ%*70es2S6wl; z?33ree(t27+;PFx@7^-{#4Dfu|46$MxSG1PpYbJxbcixXDn%q2Gna}`r&1A_B^9Db znTisb8jK-|PJ_Hn6cMQ;Q%YviAekytGEgn_;bfozx*pPdkPpl)@N35rkEyyfD zph&&IU)2c~kr3#*)HJvCVl16GnLkG6ykSxbiVxvJM*-TX81EKXiU`Lh z!Z?22SS6&%XmM>tVi1rv2!hdJd5(Em)003Gi|*Yu)`WAW5Xj3`zL+uw6!*cE8^p;j z2~ZjTgnbhJ3~`$VB-bX#ltstn;kd&T$pe~=9HY~ zveV?WzTDYo(J5aihK}PUB1Y~t(exUFhp4h@vCVn$M!~_%8cQ*W%Nq(>^%>Y?Jlq6?D!ODd{2QXLYld$QzdJ_aG ze!`=RxKoJ8F^F?{!ymH{EAA$7=Hd{d*|?(#J#0WSPs1ivfy_jCVwxBeGsM64=Wvk& z=HMFa_RCYPK)8q0^9Yl9duNL=0v6u0mk|o{urGpS0??1k1F+*PNu%6k`~h4%L{mAm zOORN;^{S9}v;eNKC&qdApP&Zsfh^t8!=R8@51GY3z_ab(?xtqW3AeP^Gm}s%L#nJ8#le(8 zXyI{kBgKzL&$-bEm}W20U&ULf&kp}#gI1i8xM!GP9J=G??WJ!h&mWd?wf)*fJ#Toc z?+%oE`o_n+#eUqY0v4DlV&Ypg(dUS7+t!CQ{M|JcN!6UqFV@=b=pS;i{rP6+RunAE z9)CZpzv_ZXCX-}-D<-dgG*w3tnkCf85x3Xg07jbT7tG4AH{W4!wS}g!_I;IEuNM=H zTR2&WLJl)kegD=VuZJ1r<6_R*^#Bi(nIXy3H3YB5twYlkhg3oVpT?}~0039I6(Ur? zJt)Ws@MK%`?I_ennoFaH*Cc>8Eh7yFOkOSq7aC#^uLC-c(Kz$NNeq=}7@sUDqa5lH z=##)dUTg{*t`TvEKSU(BiU!&hjtGo8ZH4}z4vO>9WQjy(Fsd`F8ckCsG&G=|e%{fXi55>A1Oq<%h z2KF9Nqkb6AaOlqxjN3c`kb@9#&;RWWe9J`d8tQDEuDA7JwIy6+km@T1v}`1gC!Ax;O8>?e^f$W~D8n-JeX{quo4e>YCV- z(O=7l79SmN)7?Z?c9C#^#jL$gT(qz4G*_}nY7V|a7dTo(&HmZ6rT(*AKJVXeG`IV+ zRkv1SWQyoL8Qo7HThw%H>%eRx5)GDkGkQ(nTcY~l!cvvBcZ}52jVmxy`iD$0%~Nwy zK=m9vU%Ami0Cnj2xd?Do7&Gu zW$c&>Vzh3eySJVn^Jk)wxk+ZL>oW{31>+82UIl~)Vx9)0Vzh@y5pW4ZJ45nn8)%vP zpP-NYx`QvshXn`%sv*@o>Hk=7;oZ^bS}UHp`jevs@hkdB;M`%X-gLX|pJ1~|i6r7f z^@t0qSe~;`#CVmsHb=SvxC5Wak$?<-OX8ZudmGuPo@x?_tdP3EF);i_lE#+TnyrB&M`7S|N;Fed6WJ@o(}T!8tWK|^{93`8s>RAKW3*waEI z7>>HYcN810(~NO^laWd+5;o-wd(q=_S^n^+`IktDJ_wS#>GSRI;fCTC1o|pO^+p+l zVGdYE)K{#H(E&lX3G6t>cYqrkF!B0uFgy$50_q{c@bIKdxT$~-s~RJxvv*R(h_ z9qf{Tju^rq+(kAK^Qt_~@gK9y2j}tdpEv` zB=>L%$Z(u@<3kkN<@%!|`E=F?Y_P!tS861+j|dXCSjd9YlY=2`su!g7&?d9sDfaw? z%s|MAl;t=@5b-Z^>ib)qpC;%KQ?=0h?BLM_E$q}Ly_k5eYWA_5Q`cJKP2dU;fjfij^x7Pna{y?J58;FOk0BmGvTAL_nsZ(^eUTMhlQ!l5pW~P z7>Erek7=a!p$SMrKGkCzezb<&;aIy00|HA5azR~gFtYq-vuZ_c%^$Y>q;G-wlG;K2 zcLtIOj&$6;(BzlepvVUtjzd~W(g~|7hJbM33Z4p~IY%nGUzcqOOcKUkQ zKLb35>(>oFtS}dKi5VEAqMfXGu-lq64fU<<+NQ3bWv}}%!acgT@^6R7`AfCV+COOX zcHdH1e1+La2zI40XL{DIgBlFi6P!{AW*DrNT<1Y`57+R5ZZi}j{@rl}b>oXEAM6LL;UV*Mp>bHT}c)%tNVgKRgR z-T7!q|C+qt=YM>;lW6ettlY?W%SY`Nb)E58;HZNg{&3QAGxG%m`=eCzb;4gedID{C zuP?umX)>>yaq-kUr?+h0=TR_s&nWFSVM;|tH)0GgoWc|ZB=Urr6yk`V1saO^YM7`H z6-_)Mju?n^H0Mncd9btrNb7$V}BqcA%(xKdtADfcLv7Zp+i7P-KOt+&WGKmRO zcof_SX*^g5X90Vhz)rt11b3;GB+PDPKoTO+sDL-ZN@jTf;kU5X0&)vbbO%at6hI{4 z7%%Y!aGAT0ARc;dT;>mU4wuHhR&(Gam^UC; zdC@%pNG}%t7%V9E;{6fkkcF(KK(cZcapFiF3ieZnp@|`oChU+EK+(Tpd@7+s6HZ+d zEX8ClVmkbh=w5?vG6`lglLk1X8iYk~==MUkm4m#1I$lt7p`b>PjsFKWh50ksG3hXx zx&x768Orj53HIyJ03eJ>^?_zK6{}<2j(r@}N{UN}0#t3;YCJPtWHc>rz{+%N>0{kI zv9m4YJUi%mp}`tcu3@Nz4~9zaD}iP9P4g&K&x5A%dzZwy&R*tm(R0h93gbAR)1I4r zY$Lb&M1?jF@0K_FNPe*xzaO_r119&%JY7tF7#v{^snKLVw3=0oMU4 zr1Nz|&ex*;>0ws3N6kws@~y#3t*9u0rBz#lC1*>Qt{HH2`R|U3>BpYj(hmMAwWI@L zv<$&O++o>HNstd2Du^L5=tQ%OYiKDs2wyn|hESTswJyNmQsiHd090K79w0327^;S{ z0ttu+SP>EDtO@^zbOXi=xtdTYVJOM05vQL$DY+rc#qK5G76C`lZXhdshrM13Os9*O zO^xES`0;;&DDtwVvhj_{HE@gw+vV3VHXyNN5{oGMgn@K~B)12FEZr$j+-)QlTold(CX-elApR0DXre+K zh7h((fGG#JY^Ru2DA1MEbd4BLVk-HF3>x61O`c4=NZ8sEya{Zb1f>7(y7=%g)I26t zfXAECRUANZq&dzEUd+a;O)`R&!Y0I|3D<~lH3AF;ICJQCIcow1NX`JDnJ(V0CxAi; z4}cFtO)Q{+!+c)C^d##33?+fJM0f~X#+dB|O<=aL6}K{>>NdLa1rML0bLEdgtV>jC zSWyDWWVJwr&0R3^Ny9L5I|lVUCSI1J0 zt$#T=&dP3Tx6wuSZrHC%I&yr+Mb*!xenmCO(l=5D)=4RS>k{63TvdVILCgJD^b3@K zU(|bgNT#f|Z1?wWa#!9#$z;|`xt$$v^j+S!gGX4p%Q2<0{2$#HFPX7sch{>qMHg1; zkC(YKda1Rt{WPsp8B5Nb)cB`gKpEr;G5ETUJCT!w((+@%$jp-pC$=k`70rzO*zHV0 z|K~$?-qS1^W4~)=vjXkgM|(mO$QxLq77Hai0%@78NMA8Hm4KbdJ#*$*K$tfAOCYew zMZ#VD*CMQf;ATUhE#SI>`j>8-e)a^vrU=0uai#JxT@ z*$9}TgB(OWbgE2-LrjYQZ<-KK3jE3ss2b4+q>#SACN@fD4H1D%7{y+3qL3Ov8qr6P@v$9#o=gpd2EUCCUBU`TPV5i( z0u#rm3p^DFDZqTwMGPe5@5zgr#FT=gM#a29rQttX%u(bvFQY_g4FN_dsY5qLc6>8R z74V#FMu1rmaInFG(X%4}3ShgchQd$07zPfTA__L$;7G+&0N&!kn#?pn=Pe-C0b{{E zo+*{cLq`X&f%&Zty3R;fUb2jd3dFfW<}FYkxuv?#wQSxatv#d8Jh1Qad-nbvjyJVu zW!HWZhsZU!T5S$?|F5gw#EW<0fXdFw)nLPLAy`|Iz(#uQzV~M`Q0Kd3mLOC#(PKbX+?4 zMr}LwF7X#tPUdFGdtNJud_C)h6KHe0D>3Fh6UHov8+3HWc&h_C(k*`Lg-*G9xY>%2 zdjkcbZ#R5;G9}DDM$Y&46BEi-IIIAoam+SG^+3pkL?k$n=mt@^lLS(v4WznVfJ(TF zD~d7fqUxfK!GSvLL#Yy4x^)G>9!*Vz_V!;C=WE(%m}}Df;eZ62-MnwaZKy*m~nf! zZ;7G61XoW+2_Z~lFen8!==(1g0hi-hMXW=vKxWiPI*Y6~W5aI#C{YTzVKu-FF&IdY zia`>{(vy~0aW5!h3PX*CkxeeRDI9g+y}UPbBO{!~BrkR536gR}h$hEMGGOpPb||O_ z?CU^d7;%skezNWZXUrQ2GD@0Wx}XMG80&i9;i*^5?4cfmvzPQi@)%BosEgB&EIUYR z9_u#IA`9oG;>@tw9`kyUoqZzPG>cMYchaDq!Gko*b#wK)NuB@TxXs6K_1H`H14}LL zRgKadwpZ@5jrz=;Ka3PNeao6Qt@R-DhfyJA-G2?c*Qx7RwN?=~R(JTZuwd#C!?w@w z_x$`r0y_`GQ8s>IpXC;7-6ZntD6U9U~jCU`<5 z7Rm~@B}t33D~LT1I00B9jo_br-o}u44J{kiydW($4A-NXC>VUwc^VbkYJ;M7RA@_# znsOm3mxk4nLGXlKp@ZzCgk)?XvYa8!tM3sffH!53phjSNT&8f+cfz)=Az zV(N!u$O3T9;7hs;k5ZVKJG>oM=uj`To=}qR>;~>Ida2U*G5}Z1rE(eqPh>3^7;$Xn z<3>g9VnamUdsuGq+)G-C68B6od`0gA%|4uW-X1S;3XRQGutCV20>?RVJNg~l07o0_ zv<xE#+;FyfoUdf-OTgTA@3r*Moz<}*w3QGQT} zNc;qg<o*|9=j5DD|T>EAH4uDy)DTv$z}RHINP5tqugjlY1Es1tpKYgpJI23nxZE zZ@dZKEyGk($PGlrnBW<1r`8)eEAA!4j3`wayMu!TKNo)?gx!Y0gyylXgZNcYQb!%Z*ae6f3WpjE z^cSqrj(v1cY0yLc>%wM(E$&N=HD2Xa@npJd$K!QUB?H%u6YPoF6=s?&_$NopTfcUN z-_ts&g@^Ok$p&kCFKt$6SyElt@mSopDZ|qjcK_I1nDV+XJ63C!;`31}4Z8+r&tG_X zY)S5r?tAN`Uhc1x>U`(t3a1TP$0yp@m2@07x0l(|$b#NKGi`qQI|cZ(I^^6cuxeB7 z8inkqnx>bR#|@hJVyU81SnTk(f_NR@0>MnXbG_&uO^%iNT6T_baF>-NZZ^-Kz;nvQ~F3<^# zo>+)k!3wAN0^Tu;SKVdTx)4qix`H!9-Ft#>Jek2lg9g;^p_GJ)1Wu2vZklHOp5 z+pUn+Nlxad0cCy+LX5ynj6W!k#P}L~#IC7S z#vs6k`v~8t%@xZi&t`z!83B4h-U=Y>HN;^i(m*zv#>J2UX-SMLwH_*9D$5z_CbA-d zlY(Dk11eS<*z6LgFN6^!EEW#|86@^K2@&hBgn0y>9!`Yc1B6LBVtc{oqHm|Iu>_SP z=r!1*hLsNp$0_}2I|Eq-f{otZ*TQWJh82vTd|2?-#wYlFL3oIp@bW_HMbn>Hldb|f zQ?k`h492K<95(!yx|7)*7@JSk{278}^qXqxKm(q9^JOJunFxWtxPAI04(`nSL zy8CKa z=1gxL^Q`YFhl)?fHmCed|GxHQ&byl%oGb6RYRcQ^PB4{g5o%wyLuZY)kACtR{kSC) zG_B^9`c6{M?&hUnEZfy$P?oCffm4N1p}uD}OshE-?$o_?sjsiiB=_m=uG7QyuUc0Q z-|9M3`-k$v5xOtdxER+-b-8ONJp20j7^As~m##b?Z`U?VC40xAuDdeTEO44aaJoen zvmoJ4Hi89*nDC5Eflwwf^2kF-2|w5nBnHmhBr*q2!r!oPN`ghIA%=vLfVc2J31EOV z(yaTy{OlAH8B3-H8A-rwJR>4ZVjg%VF*J#f8t^jW?DD)zG|S#9s-Hc`~kO)JWx>tX`F*1wN7UqFM3fO^+!Y zH0VD(VZ00$ zp9v>PBZOFtnF>7bNBBfe#v>tZA!aw+h3DJ@%o_0}jGUkaQqI+KA=yde8cq=a-zXv2 z|B~@i>kAS8+j!MOuF=_Ddzs}d%^R_zrP&4Pm~qo<4o&^^`Mc0jEi0u@#5WtwSMPfV z9l5XB!KlrLH_9Kbg)Mzso2FAIHS*@GIG-z_hsemp97$y}vzXq)S>VWdZZk%~rN8fC60~sU%Shc#n!RJ|q%NiumP|Z(ZB$^3*`pVHnbhW#!qU$R%09|@8%>W_ z5_Kq#*S<7O!3sLlJLD)>S(fg4qU{;bp-M&d_GC4gaMRqm9=CgE?>p4;uy?0lk1Li{ zcB@`?#;kZ-?fqS0y~eo7)=B-_`^%Gz_ZPl&Tf1Ai)5hM`X&r8A-5A&jUD^k7P_F~s zAld=NcsA|8h9RhxM8|j{z_Fjldb*ww3e~(Vwh66yT4Biek_~YeNXxv3(S|>L&zUf3Qa)7jw!qw+8KlzQSbq z87a9E*Y&)o`U3FIZmGUsXozUrsZj}QVwlA45;yn{zp{owg3X5iu#o^xpW%WI8Gk*( z@$xJVl4hCaCefGWo(0kiE|pn1FWZ0;U2n*y6!dT~lHY{C))cn;oe{BMQ&OPC8*jrT z&C}sq&6bYO7ZoQ>kAhggPj%|8*V8*5_?p>PC@>l0=Q(O*rEXfCl>FPD?#~vOKMXL7 znR_!n@4c-2mMIekH9yx(=#e?wQ%Fn~_bP-P!Y>PaKLWC4Dx?7MY96BULbD4G!SzQE zovEo~bnZlN1>zwJ;}4;FP98(oDP9gzSAQM1I_PP9Yi;OA4eyiTKYw)5GTS3={Y!Li zyB;*_`2A{H(dTA$IvoaX7M)!s8?{0Nc-b+RE{B~IdZd+$Ff8E{X8^-MHe9$&N z2*#D}2Iek-2di9Wi?cf*sSPM!j}fpV78`lUph{4uj&W_NmS8;#=T9%P5z~LEOO$>b zXQ(Ps0S3dz`$2S3hH0r zYG>fI5G`mTd8<($ju2Gnt0j~igcaiqE^7d;0_5M6#T6aeIr{gNsd!Dmp}l~~*dj?! zl>%J#f`3XZ^=U9O@yw+;USX)t2Nm%>+>#-rHUbAr$_8RVzZbiq{8BlK-vFaDH3`XP z_I0q-2jqbK%!R%dr5VEKQlFkAi^=>st!d~*_gq-++kky=t~_a}sLw^-Jj6`Liaw|U zlL^N0h#`cj7<1`vjzqlmEieaQq#aSMH&^R-r~;INR(P^g#w08IZ%RL=n54);6nz{i zz8XPw>b&leocG;4oPr}6m_sMh)XfCv6S;Tv!_l<@$H&)ubFjH-7g$D);>V-Kpgno zah_%cSPX`|0CUg&k@lznOt4N!y*FgS9Bkoj1Ws2|ji69kU)Y&kEK>@@@))2h?stSM zmx!mzCQwP;pDaQrJ%k|L6535Nxn4~iVh@ch;91qLj?{Bg>t!zK+FD#HQ}0diQCwf7 zCXCp7B+;RS26d6!U(Kp(+Pg$)v@NraKp#VS;4 zKy(075iQMjVIr~={kwYp6~G}z_DFx?km4U~$3>}wKg$amHItH~J63=L2;cZ`om zXBS*_JoWAo7WD!d!wLEYSH1#gOg=nh{oz{FA_}`_vq`e=as*G?j9qV^376@mZ?PgwJ&|S zVu{nnsl(f5THL?|oKW#2AX!d8G6vm#w)tM{ssOEdK?I}xxLhugN{8ZA+`V6OGh@`Dhho{q+oRcnwdN>1)V zlXvib#LkJ?7=@XpM0f=AX7l&V-3dmss9uZfk_nsx2{Q%tWHbGMG(bfTh=D2lec}uX zqRwiv)P#LSLsbjd3GvuP$j=IP2-GPJ+0hcHxS&b=u6lf_|M3*tCngOuoM641L- zIdmkl#BkbZ4s$3L{FlE~2MGqj;(%cU2(L#Q3Uh%lc8C%9EWy-|@B+ls?7XS+Lz#pD zzP+jmAbZ%x1!&a|xVuMgi<6_NUr@%jJ6GFw&04nBX=%z*1@A?@2P`uBP`K@?sjDCAEYcp&s7?EL{GEGkL4%z5ryTlur^r zA$zhxCJT5~U)_9?y3WL$C+jdVvsnJ|vD^r2xt(j|SIovT3@t&QRejpD0150f6jzvkf=_LcB2?R@9*TLF(%&Yde|cV~ln&@F2MA%))x5fi9D z5K|u5PDCz{no4fWMEEE&17b>x2ggr^^0KCk0&sSoxxiOWlJLO*hLn@}-yl)ylf@cU zj}U8hBJhTvzThj64#>m)_ z4kHmh?m8oN)TLw?$vT%TxH6DNaE<(7iBO;Vz#WJ;@ZnG@W!eDH^%Tzt^{Zam8ZI%x z5-JGCFmzuU$zqtZtKndZ(9c8&59jP)KA79(msNFih{ZK!StKt!70^77Nz$K(j0Au# zLw68Tlx!Dnkqyodns`!i{B&mns9llRTNwU^CTqat!oik>+u}UoD|YmF4cJ4p0eK-- z5Nh+W2Oiy)Rknc(%znU@={^c?wmZMr7&Z7@LSjbu0S3k274(l36y*&v6&}x!a?Ahd z6@6gv*p8LvwQGhAnf^6;U}C_A@Jv_Zt^YVl)k&?-thIS!onIO|%__k6aH8v2*)|y> z%>hBV-tVWsH@-J|=pd7G`(tg79ke`MAbQ*(yeM-h6qIid6}g1(xp{ho#>PQPH7)vd zoD*{CTXbRVfpsZr`IDaMmwQ{4^es8&73#KDDXC_x%Oa!vq7EXNpLCbdRFM-15(ep* zur+0Lj)O4JD!zQP#TkauQB+%KQ5f_m0-X4rxJ?k4B54I;Vt`w)hZ1^bVA%tie(9b_ zRb&^1T@W%59Z$Z~E2cCZiZeco#{oEShjSP?wy@(yh-d(|0Dq`TAZzdA`XSOm4GM&gIJb~cYY@fbiAgAxaewGe=mFl-B}O+ zfxykys}zpK`TKn{B^*->;>C>wwAYBARF|xjhzG&WL42Vh-)$p#dsN}r^H9im_kkwA z&@^Q6kbc8ps1bW3O;?~Oad?>zc7{+JkXZ7GfB4A4FEc~t0rCxee)2#-v-~tfCE6BV zk5K@LbS;ylR5yXGJZHpCF2M-AD6evCZ^g_l!_sgr&kHk%VCGIXdj5J6wayUb#3p+fUuqI_R6>yO3kj zzYJVcs++H=UXyQoDCqE(^5BskcP)&aZg*6DQr@#w+T-f!eQbU{`FF|g$!XcA=bq3l zHXdo`zUttKlnn!J@7@2{cTth7+o;&I5MS%*O9r%%n>fSNB=z{eTKjv=)H-9Jp}9ZF zHX@{5s~ghMCO%On2NopTinfMA);7Fmr2awcl=z4C@0VQmUldj~BEqjWJZj%pfdWTC=> zWM^$45mwe4X71q*j>Yv+u}+hr6>CoZwLmy3i0D^7?Ab00|7@-hMS^I)pQVQ_Yvi1? z8^A_lU&#RePQ01zUK<4&Mp#&VVm{6t12Y3Rok{9ahSR_u5(G;N)b{i_n_Fb|X{Ke1 z*$&ds97w!Lh@C7jFAnIh8v8~#a-3K5^M%u|%ehD|9kr_6g&pdtnS?M9KFNTai_w*e zLo@TmfM1BiE+C`CR<}ipv7sIF3$}d*_qR|dC=3jso-a#&SazUUA4cnC1y~&Io z+af>A3fPN=3SDF7y%sQJGF@~<>GzmigE8o!!(s>u0a)PmV2t9q(veunV`M-I@-Q{1jMC|$l5o8t;%XVP@im8|j!+?>?pbL|5C_rptx9&$YW87&JCznW#)Ny+iJE_vkid6C#s6>{6uHq_qzX z0wsV}VDJdgWu^}&st#KVlcf^ie<7>(LdI6h38qR~poJlOaA_Qlmwqqy)yN#cZ4sM7 zQaARM{?IkjGfMl^Y?D@JJYPHPkBv#us$Ej$aXUrk-_7l1=bRp0;ZfD~Sg^9gh8g-*+)4;}%DIq+@R@4@-$ljRd1-m&mC^PW>Ee0F}!!OBI4W41IqlX1w}$)zw~?bgxHdo)$w z$EIp82oI4~-*{|R@}lL|!wjyh(LY<}lj9vKyRGZLZ}y$sdC}vpw(IQTOP4CgX8t~z zVji!2Df;sZj{?OMyHPJ6WN-RsMOb?7SLKz(0n@f$R6ll50AK`k(nHKn1b9N`gY-{o?Z=!3oduL{Ws?m5b~Haz-wA(~xAI?H&D3@0M!u57ka&aaeCvws=r?cT<<%!-*(Nz zk)sBLUSNVqbQoNSsJ%8TKad^{z;OY*6+Or~cxWk%g8eTYO#rW33qtw! zpgf>X;_t*`X6PYZ{{lNF{2o1#zf0(f^Aka+7$60Zqo&yn5;sGxg-{3;86Wtd48fjc zC|*EALC#;NbP;+Wq6G?_e(;|fS-Cf3O0GjgLU>2N24eZxH#*!4W`Zd zWcXaD&1+J0L$oIp#E=1jn?QYj_&xLAnr2nDQAKZHHMpeckOotiEg z7dBqL`DV$&--#v#{&iB1{A#rwb}F}DY8@~q?9SCqbyCOnRVp9ue)6H;yR3ft?Rr%X zt&`Gl$gh(U4qvf*>dQBV!?RqpDzqvO4vt!Rx8z`#PbF?oQk%<+4K=ttb$(J&^$fGw zozp&Uxt+5zt5>Jp!r4Z%SB7*|ing{GVy$|`G5lLvJ1>3JZ<%V&p{jAu7wc&co960} zwZYx)k?n)Qx>tg7pVj=3udOhHrD3(ohu%9kZs(09 z?C)2X=~QLhd3I&jna$c6XOfgW6M64^J&2TU0jswaAsoAju ziFr;Kk!vyaNd31Ski*y+S+AG2ghv9E2xsVyb~Nn)(6xYa z@Cz{m^60<8an2EEy9Y>JgL+@Y(~?9^ex$)n9xo9fz%fbE13$`Q(gKBvlQrVQ8d8iR z(}WZPnx^-Pq&0!M$0WOK#E=)9){=Www{`E%Gtcz8r(aQhx}C^>#gao(cg}T`n_BeU z^@LSH^ogC-h09Jndi*tFXN`|XwtTq5k~*nT^GcHJ_dFWr_w%Aa7vSk@#{qRxcbC8D zuheUK%-k*umc~E1y0qI*@VQ#>yh}!2@Vv(wW_{dm+9ms83+wM0wF&uYHbcs6DuYhg9yRSY zdU2<;v;93B%Q9cs)qXhoy=O{6N=&Vp>aW0zUYm20%g?4otT4VkQf{4c0kkl!ROwa~ zSgY{SHsTpqJahl(@#e6j>dvB(MIYwtKL|)Y zZTMt*zA&qJXVnEj=`2k-yFqesIqF1#SZj5vkn7&)#|Ey0h^{QNu*LEEbWi7wl%y5tO zqcJ@ncKnud!r^E1FsFqD&o3PNX`}M;)x4DnL(Z*~y^{7k>|jRmnc$y~JPsaBwwTiT zZoF$-oA#zl>iK_avr1TO5lVDV-(39FKo`o$= z()0gibq$al)?#_<>47U{&DgrHcLa}qb+<>U+=Lru2w$505IdRqpfJF#Q zZh|z?z~q6BFfv9MCLOWp>h!kpdwR8G24)K1 z6?T5*Cj6yYrCH?gCEZ`^#fUnop90&Lu2uX zW&0l0^uC=^sG%C*-4RS?aK^ptGQX_IB}?}OJp80@crJbChdbMAs=8GVtFRXSC=Lv_ zdcVGW{@jd<&+cy1f3cx`nDdgf*)A{)Md6B-w&C5(A6QOXcFEai!27$C&ecgR&KG4T z-vg{uD~xO&{v-AMEPa(#p_AIwNvXZ@t5p!VgdI;Q86G$0qHRU?Y0Exi44uj^Rq55h zE)X|tqdQbO6!*GP{AApW)!*&*Kbd=OdyU28*J&1CR-VWgeH>DC)8>x$<8>-p?b2J9 z7@qX~vE1fEom58HPqo@m)gO2D!rX*$BOve%0LlWc1%W#%;Yi{d z!FnQIU4)k0iTYd^06Qd*FuVy1xK~cS{|$ko+%#%UoW2anIiIB|}zDQ7zbQI(tuKc(VhO%Axu)>&i3;!cJ{05Cuwi^Hoi@ z^;wlMY~qR;MVV4^(GS-py;$>6>xD*tCuij;^Ump>nD%?n_Cc9PhAwNr{+C}xaE1Hh zOs95Pr8M@@S=u@!HrMySJ8FuMf3*yV?5m)l0Szmx3*` zj6xC+TLxMMtL>3du$B}Unu8kvUO1a94cir82!Bp^2QBj8uW;!%i&Jnwt+*13Jch3s zm?1}qVbn}ANzy1Yqy?YrcVy9-unF3OR)L#us3)gmyHgR^@)9?1=75TD10E)B5+vM{ zkV9+=0()%1h#SMf{O}LbV6P#cLX22JW&<8$&j(5V_Y=%~^Rs`isy;j7w7ajJ^Zqrg zbf1~-b>(+XQSw1_PA}g^nax7e)%*cAo%i=O_w`Be)BsTj(Oh5% zS!6M7fCDfQ2z()&B-ABNnirotk5Hwk(snifQ_@Ho?c(;F@r9? zmFg0?0NZ{rzo$9`X~_b78n^=NGJZX|1fN*6dyo>xwd;T1pDt^ieTQXWGT(PY`e5V!%kC7`|Btm33Gv2AvKlqSVrt=k(;M~4pj2$iXuoJj? z)W~!@;89drJEh|Sr}a9RwuQ;e{HyJ zq{saNSLIq8-9r63sqi3C$~&jA2kWGU1Xn0|7Bh&kU zF22dHDq3LgQ8F}n-^Qb`!OvKHwn(|U=-&Qd2g^5hZ=0pf4=V~D{=_vPRo%+q(2Ny2 z;W{nNcJ7u@Ph8++nqP2khT-hJsd;vp`fc0W_f@(-TTlJ2YISC%Ow7QzbMsc3^xj)+ ze#q}zP{JFZvryuQQoZA$;uh|fU3`3up;WBH=)kZF<~JwZxl`;8j{ zQyz;LsW>~{{(+74!_~2g#haF0@(z)`wfwe)$-c1akySdPO24}&W z>r>+n&n#6P`BBYR*k@_fix}7gBSX#SY5=6d%&JRk1gcfKmWSHSJzCTG*>@$~PhJi` zo~L|@F7nv(5O;={2C0-op1I`}-unwW&PuZ*kl9N3MMMvH06JMc8Gj#djyugNFqzPNi8E`6M1G zh>Xe?JxnR-UHxn9(c&blOBq&%!CzNozLT9aUbm`58G>y?2*YQ)FDjdFkTZDi_K~?o zmk;kREReY!cT)YkmB8(}ZpnbLKZCzsTvR!wPU?u0(D+yP&*MA(vhc{%BA-*f4nG0% zAo2#8SOE@A0jwuIb*!?a#@e`gw{caNz^>NI;a>1JC*2Bl-Qr`yS6_$Em$*ON9zBqf z_&TYx2mKBxSLgVgOTh%fv)X`*e*0|T2`2DF&&mgILvo$emz2txs$c7*s&0MGPSL75 zn*F8p>8(@h*`gaN%U>QEFxB+K=z{3zeI^2S!$4uwqteF$7rm0O>O!-#Rcj+ApPf5* zvXkPzwuZOwbeP`X=S%H;9Z`0j)VuX@FH=I)SJWm4KNc(pve?_Dd|L$z`nMgdU72RB zTcZ8#!S~oKYm;!p=jy&`4H`Fj zN-D#&B+^_K*&PWnjLRD$EI}Ybe?kH`NzCK*aga3@WVr}+tnrtPWP;$0Et&lT;Z^8k zkc=GqhPZ47Q3B2j!p;rIiUZhTV-^XYA)NN400dqO`YLR;K~Fjfih^jW$dfKkwA5ji zaS(tb_7vS13E;(#P$$aC*mkYxsb!tiX4UAp4Vi89Pi72QTlFwgwSQ6H?{eLj-?Y3tCH(EZwH}vkXN|RZ z{B21{n?(f!UmE9r`ewI6V~D`i+u+>n-~Bb$NRQFJ`P6M%YeT2Fm4^qQQH7>=bSKsk zzY?tjR0uIGBME7Nm}5ns650~Q86#Rp1FP!@gJw>9!bKHPI;U>PjWj5Tdh0VU9sI6% z5C}sHSRzW@QX-nCh}Q%Ha1Ao6m>4C_HHwR56c7GABng1=fU!{SmlO)vWGn(RzR`YpT81##LBGu9G<;sUY^@V-hg^Lu0 z&WGINQkAb5KiIebtir|FMyD>QLzYT4CcCwM-}Y{6*4+%)tL1g!VXV`cILOb#=Ap2s z4&?oNM5(OC9D_`e&$HdOk*(7@bn7oz*=O;7^P7c>?yQ>>wsfOyv>KS`LzVsB&DXyg(kkGc`bC+-OFv7&F{!eR z-qH>V)u1rZ5H^)`aNBBrxzaQBLtI=!)rVyVYx@O%u@JrA7yC+pMfIDdYMs>c z>;ugPc)W<&6W|On`*%pQs}V&trv!JK;yOG9|4038rd{Tx+4eEYAXMc@L z_+HHLWAEJModWY+ofEaR(&pAlov4!`ddP|gc5$0Wzno^VOl5L^&$s2%f3Nb6 zSFH>{H)iRDd77jjFq2PBcTdQ(Lbam>G>gh4& z_mcOj7R*$Ae@ytnqtZJs_3b^gT*22jhigqO%>|oZZu5`Ep>e{(Mn&|cGGKf#AYhY` z6ejAYxG}p4A%q3(PT|A{ZO{UgU6gwwZfxa%%!uYZd16RzgNUEDVK8&Xay`j6vpFn? zP9}rTEKRFF(3B{S+NBYLu`opNff`6+6>&v3{Rju^Y>Rco2{FAlI7TrlqdpUnQpel^ zfMV+Ig{Mpjc;<70=8h<{jrw-}v0y`<-X4$MxqdxW zhvgV2U+Js9Aizxb_Rij&ls)%bxSP8M{Pdfd?Qgu{ncAq+$?YFc1g@^TdfflprZe7S z&e%r&C|3G5@6N4}qAHsTzpSUtWGAm0aD2nJ0Y8tHXS*9!s28;V)I+NIhmeyB&4SKY zxlK}UJ8H&A)j`+xCEI2{x)!+sBKU>EGqxf}$lqJwu~sCF{1av!zSdf=O_5rwUd2IM z47(^DsJy#g`tHTqZk*JA6m?$j_z}vf8l0_F9?!_b-{)uhZ>o!}dS# zebN0`pOan{2Gk|HdD8jH#v2pk>}t#w$Hy7R^*=Hwdg9mD1NOCF?!Mkt)xSp5-gv2Q z<;-bM=A3q4=c+Ly&;r7=?O|o|>ROp!KbqwTx6CWe(Q{h;?4Lc`Rr*KY95x}QZ)d0n zn71d@50GETx#?iq1Qxg{GMgJl`nE-whfR1jv0n}TK@N0A3(w?Zp=eEu#GpWt3yBxV zIU53yWkXDki_wBrYZALd;VhXDZB9~HiORSwp;nz9nVBnjm2I`W7D%ee>s4cM)5w*H zuogjN@kXeJ|*w1z2eciFm{~Fy2_3 zfJ_XG8i<1Rd8Q+j=FdS?VQPUyFY#aXai-n{@)0ot_cU%Sp#gbup4UUf4i+g>_n+(R zA@|@G7KAfyb8zizPjK4t?NC+$E|QJ%Cw*uArG{9F%bVDBF66%?aS6!+iZXN%2wNn< z(D3)9-3sQL%AfHCwMGIIoby%MmG>o&i*2;%}{w3dWY@Jl@%eS9zxq2M(PI7ch&uxco_o6-Z=uxS0`R>SbaJBRkd%LS#(L@@$Ic^hP%$Llj_=I zbH2!->TSugvWS$6!?~XPq{5G z`q<1Te(HLi@P}L43(N0S7i}o~^)4{DAX|03wz;37|Lia6ny^^NLo~Ab7;NMraQk2u zB%0?W%!*e%;i{V*SZng=bzW?Oiqq=nTRzf1Rm;V_M}p*qD< zT_(9dH#YX3=Mh+?@IA(Ca&fbHqu;sQP_CX*5S{gVtDeI*zp^w_RFiX}`HA5XUDsGo zfA=iJuOKt>I&0x3iR#!AHLmBx>Z5)a^2VE=C{=` z4|gpMf)TsDnE8Tz1VK`-WYs#B+m%@Uw46~V)uSLf(HypSp^|HMRN#iK2O+(C51*S* zY1#2QT&N_n{llT^#wK_7HLjZm982-`6KqayrCDE(iP{oH0CC04FA+raKTz{!K#?%T z#1&721B-BtP&}c<61W2Ui6*k<)04`fVg-LKVj-{@H*l#vvbDA#duAjg;$mA*`%yP z|9Tl7?kMMN7&E>_!Kh}J&Qx@~=P;}+vRK{nv&F%+&chR8qZ7L6s7y_##vm0dKr zeW-2vs@n+y*~IWSj|J94pGMufA9qygtX4%zz>wqz8?|aijG8{vDE-69-uEhR7Y*&w z*})_yr9^ROCug;syGdv4>ZBAD&y4;^mQI%zf z+H=-^#kP(=A1=Ap<%({`Q^B6`(aU7_KaZSgw$$LujtcqHJDj`)dKX%#4L(0lv9Qe& zgYv6Wyp|stHM{-(S>x7hYcoqlai?Zxt3<(s7Z+OCA4&&D`i^~ztlS=v)tz*npK`RR zof@WGC*_&d-)l`_@`SOUtwBa3E7E*|&kaa>`@LXmw^|wFs*vHQo>XS%drul%l^cVhabu7Mqfd@d}yxvTW|5QCcNSkeBzgV(}FLC01-RNgkAa%$1b z$Td5X4i8x1={GCp@rMPoj$emNQB~n`n@2rNr{u*BzPUN~)`71ry%){ezvbM?K`laR1S80s2f;^BF z{a^S4U253Rjqxi6mgsHKeP0n1z#RjE=3j$`GjnM+%C)G+69F)(p%ccdG2re(;h8qu z0={(bnlLIx5KEMh?jd^u^FjuK$rhzOHtOt87`uuk2ep*N6QuGFt7idYFfE zzdEUi6uT-bfo)>=&$O8}nr2fAU-eu0(&kRGn1NbPr40=mf}M zGX91l`kKX;b8K?__Jnxcd?s*vOZfFmxz;iKxo%K&Xsw~;<`0_YPa5k|;?$889Z-Rw zLz)~6jtx#A?9`cJWs-*7O(k*on*;Ean&>C@Ch{z(k5ZqCNvdFsN>j}ARk>l-_zP&h zXC0{!@PNck8A2Fo{p^h}#Ipm{aBQEq)WO9%Knjx6VfKwcK*4rIcyJ81ev`ByI#M#K z(J~XxFVL;rXIc8d?Wl)pkLkm9bt~!HxlZclnme5@_1pB%&471O?cN-3BlrG{Nz3lq z%}m>?TJ?17>zEp)EG<{)-sj*mx8Nz`4_5E4C|EIC`qhOxDgCP=&CfS`d#;@u^yJ6L zYvY>bZ~yGSG*r2ieG){@3Zt? z?`0ceeWSeSdJw0F8y|>*L{=oGp24l*~t(SSP5wfVk+8 z-QgCUIxIDm`+j3pw`P8w4c=TGG#|hZJoKp-2F#q^TsonuItDtFmEPHhJv-{X^K(f^ zCyyl_ONN^tSYI@4@V=snaVt_Gw{TIPF3Qb?EFLl2Y!-wHI?rcf%}PAHM)=}_+TH4J z#k%93&Od6STH5u8_DN}DtytysA8rQ@cbyPp9O=I9g{Df^qpQOH?F1!N*=wd@y$m0C z47V}!D$CyJ8D1K5V7`K5+~%vD+*_T5^KrIzG;Mz3C7{X&Kc8T^-uG}&wJEk9l?5jIFJOn0Pi_T|9XAzuD;rIddu+H_rEUb=PNViV*7r* zGlG?-=M|=}SC^ZGr?+jhj*T0gco7=8!iTB})65=|1QO;^p@ZO|WB4r{)ALTlhWf6y z$my@Xz3W2RjVtBWNwrTOlaO}DZr7Z=>1M|UP1awzW}#22V~piY6-YmU%ReikkQWauHh^;W3T3y+}5Df&)h$ z2EIAKE(48NWJcdS*9ivO9@^!aaAO|+>BI)ftP}7cQ{x^Bi-DkB<%QBQ6zi&U@1bQGw6h!(}rA7Dg`(>U`y*Ch=TSV#A1wZ!ftWirT zj0morullM64y)dm^8Q7g)PTikTprA+n?lV|veZ52D}idH(wCWETp(eI2c3e>F#DudZbu6G1+|@S{b=}m1zq-4O@DT- zh4~k|aC_;!=ZGy?P4bDyhj3UH-ZF7Bn%Gcb$UI+!NGAKXZf5bLdxuvHjV?8%67jIvKO?pmByL|~uZayBdv*`HDp z&gPX~Ew__qPR{v)4XMevej*ECg$P=l<-QBI)oPw~NB2BUW$!B~Rn zULCPSh5V{y*qv^5O>IOsD#kQ4Wm2%}#Py>g;F6FD*PQ ze1G=Qa!ou(N}+5*x=5u?X;nk)Mk4Nc2wen^u}6*XzK2X2Ll(+~|I=uZ&Tr^#BXLfk zs}T^(E@2?{w-xD{+*l0AqpC<3@<(qiiM@e}t}(*B+Js>p7_66B`iV6pZr;fSQKUDU zxQ5L|R0nP&Slh)OSb4>?9mGd_5JHg?fnK73XMzskM_zJK@A!>I@=x5D!TJ~45<28UuRYK9%o%x75MO&1ogfXoy=!N{mI5h7=@ z+B_f>-4l7JYJJ3{OMYZ!3IFJG8y-`&3_+hj4`e4IX@Aa}q?2kE0jN;DN`FNz? zlgm9H%wIXARt)M?2wj*ng0W`MNizk5>To9rNda-h%prl`4ff~9EvWoL2@Mc~cK?Pc z3{d4f;3r7;O$+z|Dj_Tc*?dkb)l=J{1F;L~?b%)@Uk@YwRU_KN+Y7gaj5Ug;+_nvh zI$x2rtHpTyiQdWRBIeu7X^R)`-Ay@VoA11V-M_u<$i!f@(#~Hp8A!tuF%^Uw!LS>)q9O*r%rdWw>ApQ@ zT%Oy#Iah47S)#9A?PV>6drhP3aaE?popSwj1=CdjVo3#s!*!(YU6-pra9BL$Kdy3M zUF#deYmz#V8qZ#I#jw{j$9!Glw!gZwoaxF_NzdU#T3c#R+TdAJqIJ2^3ETTyScSKi z@>-_Y1O;ciM;UDrK0Vyr;p&~8(khT*Mb+sjSkhuL-`s6`Xez3&8P&yE z+Yu3VSM}GyWcr3jocL=Rk2zju2lr=c%T#mO1n4t~S>ePN2rl;j)Y|$meAoJF;>x7R z`UM`Lmm23MEJ2No-SsIOXuDa&yni#5IWW~4v%g?|y=Ls_WaMwA$2RMBDeqmG?D2{# z>eOp%-{e9b3$%O5DcBPl^@hgm3mp50nW%+8HWogR`Edd@l9#Z3BPb<`Aw6OSnBv&| zF^X#8os5TwU+fh#HL_0k^MORHsScaX#4Y$tSkJ7i__G%dS-J+$;W<&eU!6_#PRy}QzSZ+Sql zUtB})kfVV@@WH#bV`1kCCjGcxcqDISlcwH#z-!8lZ~(M;1!!b9$F@Nh1JB2d>NjWH z0Olj613xl+`B`BPyLD8eh%GT@a_@K2s8spF%V&HGcc-qlHu5;Q%@=wHXfyYt7P3I- zp#K)BJtC*b=O1*Rxt&nJa)?mGKw{XbO(|&i?(`8Wv>>#5ecmeKIYBe z1f9sxF#maA)FKg9$|%o<1u_Ojh`b1@p2UiW)&m#Pit+0f{2~ZDF+@ z_I-d~Gk6_1F9Y-Z{{n`fuoFD&%sJ5rPs;{T&_P#%S2Ki|DGYm`BIsE==qDHp&>gJ^ zV{kMq?iFcW3Sm1&4EH`GNmb4J*`YB+yonm+?V^RJjlX+*+5bk2X=xf&+=|$<{c@4+ zCWy;M)cU?puhM;=>Ki00Dxdu+D*MwGG{g9@V18-^T=Nt834n~yTw#3o+FjZ2o*j$p zWzSVIeXv>LmE`#vyk5tlM{T6k5~`KjDSY=*m7F9}#}OnUj%@`%aEyKOY$NEAK_#rp zHFAe-a`Y-DI5sUJ3e#F~evX>DVLX7qk_nJClsFOftL}Uh%|N%0oCpAHTea(1<#zgs zNPcHnrgpQ?UWN8tb$Ie6;xd$;-;%Xm6I-YH+$A<$tw@*mIhlxbHV`@MbVu$u?A}SJ z3m`QsQAn?4fh{V8k0r1fyDcO3gNKQnIXUU9@bJE}apUk$m1$4dKYXmXRd+7#YUd{N z!JQMhB8@WE9&&tpGfq{TurikX=@h;#eNr0dq@znBZTZb4l&ixZN=|!aMSPDRaSqEd z&5~rB#ysH5v_XjEkMG`>`{ndbx~TlPAMUyz2JCYct^+*UBy^Cj2WNR?N{&*8yXsmJ zs5s%14RlRFZkstd0)3W=K;Lhs@(ZM{wU!_JDFgFh3Nt3#Gjfg;z@g8Y7st>1X7V#x zLX+eNX)T)ZqwKWSg-iN4vI|~H<+=wEMjy2P_l z=4l#s8p&g9Vroh8?T6jN93%n^DF`hZD32rghjQPz)x6cY zT%CP4Kh5^`51*F9T&@%E*ef1(G(>#k<@@9x3%s%ON-z`6DUv3EvE2fqR#B%LWGA3t zL(FYbC`JM?qKg;vH~4-P9DxC?O{fM49fl|>@H58|w5b;)G+}=~!(BPa-z-Q-YM|V< zB!`8XCCG7!!wb=AV$Z4WpIF*ynR~a=<(@@*mmRl!j)i*yuh06`(TibtlF2C_cRTNl zZnE9dsx)!z=r+e))kiZfsEitioxi$+U-L_Zd03s`(<-&85Je>XBRy1%D1{$R513xAGN%8MJH z8!eR74D`CSxbE$pyfs;gJU<8^*&hF7@^eu7T=i$^wcC9igpRaVeCzW5D%j{lb>V{r z*V|L}u~c${qfQmRRKe^pHFv9D!HW{LB}zJ^_&&PcNL(3PgjoIXR>2s#n{?&kO#j^l zYYd7Fi#yYQbQnH3<6U*LSCZ6eY~{E5W9*R}PZ&6>5psjQ#WkKy;kUj%V3CtZ?0b8S zaQm8#mE3LNy6kt?9OSZ{m42u;7@a9(l6HG}I$(v+Q>Gpd?_H6yTF~f|01}TrVEYz< zHWj7^G`P_ij1@jn&HZ7QbIP?XUrv5|RxoK?zDMD)Nb#3s6BEvG`GwobTbNdSSZ8s8 zHM#_+3C*5EA=NPl`v4O$EAoH9Yzp;Z)LPFRq4_KDN64;dNB!aDM;siUFA^Gv`Fa0j z%_+PxJdN}4>ATE9j z$GugsPWbxqcWt&eD~EU>zKZKFFZV)zcf>--3@mizYG3YPjX z2f?H@vg@ej@i;9%s=yr)!RTup@4v7foDS@BMiAmL^gEuL*@Oe8F~#&QObCxmJq*Aw zga8mk!K~koa;oX*PFC)3O#zQfM43!&kNaGNq#2~R=EtK-ER;4QGG{y_!(S;u{1IEr zL=+FbShUT=lPJcu)xSolYFU=yF`g*q6oswK)`2Vhk4g~*P2okWuSH%7T$KV~Eoifm zuoKOR`?w21N?4OT%}c;#g*x8TN$GucL>zyTxaavXo(=cDaO~$kh+&!efC#b9eN(`& z0UR(RZWGburI(+sBfB0}^?Gm%b?k6BM)rWMdy z-XFTX)ZEx=)Ma5rwt;s%z2GO2mMPJe=tJ5=>gEHXo|szm384t}?u$` zKPE^Jpi#hhZ`9LbVo&Ufxhg*3-61$6*GcF4)p6*Tv|=hnB#~?xT8j9$Vw$Z-->ME3hnzcpAv#gJ2osCxrT3@Q5ssd(?CI%W8~5^KhzNn7BU zxL_%m_!L0ka(pL$79b@yfKLzg6H`RsrAbgazf&vQ=^o+GlEkt$gVNE2nMtlfwl}_M za|r06ACSsYi&TPO{to|Us>Bb~A++U&p)EVOiA)j(wm_wF@)4;R&=wA(bkS4;_G&wL zFH7NxN7Y(%UT;#tE`F*v1}bzRIKN$eg6>I?rE4D>G$V|zy@#nGr~S;7kNNW_f>nQ7 zSpPA_DddGF;H()9&UdV%Kt6+P5B+q)60dF5i^<88dj8%#c zA6>=bA#i<2t)MMBdgJwkqgzLGX`O}AKYSnWGLK@Mv8O3la&-oR#IRGA-fr8HTf zm=_j&){$}#(tWH|DTX?7s&>TrOZL_4`Z$DLbkch9@U*7b(!49ILzN14RW@5s3Dd3h z`|dw7x_Cf-|IW#~Z#*`c4P^2M&+D@3wb+USX`L^d8@hOXzsk$8Ng*u-aCYUtKR9pB~tI@8G}>M;5x(Ncs4YwH3=U zjC!k|^Z%U=|q^6ItlCx&FX;^N=vwTl_vJR0@c$IhngrNlFKPtx0?_P?2A zM-qI_kMG8R*y8d-32wuAavxH|vTPtq~h~RGPHv zs@``_Ue_%h!A?`=_hK<9v312_DdZzHyW{TE8PlI97 za5+~+1)s%e+1AOeSB4Hb-&hmlIO3k&hEJeP!9Z4e z8bqKBXjXI&G%&H%V;=9>KWWN4iZ*JIOS=cS-dKzJyPtEfOA%VNa!1qAr7^vgpC7-n zA@Bv**eo;=F^hjJ&0Q2nus}HpW)5g~4ohTYOU|_;323Xqt!W4+MlG}E8@MgqQ{GHTd4V~{7wWF$|D?ZK+gNy^$M zt`6+Jkq~hJI!;0iRVO6pEZldBxo-C~W3mdI0~YpCx@nG(3yuJLhYnyk(@Kc5R=pLv zeRG4{jW?Ia4llp#nW0;<``zA_Sg0g()|9xzs~u?mXoc)CqM&}86(O}~S100%;WXHi zOacdm*w$e4%qdnt# z|G}QvaL@IP@Ph9l{u(?AC>R*H@c)o&L%W_&mOy(&gmc* zMKcQ)j=<5NivtsdG~9o1C6Fu7SLOe-OYi?zV(DMHhMmI*IK)@|K}CpU#2%M1O{Re` zgR8T|*+Io_cS!c@j!BMXv>ZpCU=`LH=MIBU(d(!h@A4DLIa_jScL^I`qm=2Gbcmm~ z6?{V~H*RW+)|Z8)(xxYFjW|alEFaydPj`6G{Guy{c#NKRI3#MAm(YR;NXhIdOHLVB zBcJ?qet28rn|G2I`{PX0$8SG4^-DBW+I4%$V39f<3~Asu(}-)JN#=2_jX zvMN_1?ixF-vpzUiifSSzv2vIA$+j<5JRFK+JKFpyZMRAy`O|UcS0yN4bEyTM+xLdX zH`#kxO*~%sqkT}c6yGk>2c0s=IVCMnS9}*bV}SbRdS@v0g>p??>i+HN=@}Q=mDp}x zV|hVN7JTE9^nQ)4Q_ih~YZYljmzvU$kw8hC@uE>bpVo6~A6JabtAE_THhnz# zI%%W^cfCp*0<(4Pw*x5sx2Ja=?c4rRQcEMw$UKi=I!`u(9v|%pDZ$h?hzgtK0`?Dd`4t!TO!E$ny@FTqM z2>k@2?u_w%_~2k2T3(h{!ATQGyP8@7eyiAe&w~0${vU@3EYYOw>fcP!%@iQWF5LYhn#&@ywC+Y%oQVYQJx z^br@0UUygzkP1z`@EUOr|kX$V^d@|1B{7b%Xw^(B@IhZzW3P|-XPl-MPU{`+ zLYi1SkwY!hK<@LU(5B>LSMs0(*YP~+GJ)5S4EyGmUj6+f&CqKPz096e91swGFs1W) z-?GS$*_Y(F&z&Q#JEau)y~HMcs7U3kK)Ggd!v2O&vix>KPbc0Ue;Y6ueQ}(VPNoM( zESI{*wvp?nqiCsN+G1W+@d}f8FMHFs4vBs@&x*Db$Jfb3m&&uOJNJYS+5$NE1sKbw z%D&Q-3sv);pYzdJP+Ra`JU^j%=e5*V6LhObM3=V}YWHp19v(PFs%szG*BZF1$~Aib zxc#^ME8imJJ+}Gr%8b{LHdBq?>mT(ph_c_KI-;t`7OiwbbR;rxa)~e3&NW< zPYYGX6HXb~J%4oebI#j~dwO{I)_v(H5nmWmsXOv0$Dr2GsH$2>vgt=-?E}z7y=i9p z&2+P3=;x*QhKl|67B9MlpS>3e#BOl_MFk{T|yO6H!QX zO-G(qJ)TEwdH?RuXFnI~lZ^;UpHJ^ua7Mt=y(VB}wa4S-+DR}g)OtlAH33N#*i592 z(ud;Ui6P>NjZHF1h0A5S$j@S+itTvC&7fnohY~xzt6C{EqHtEaD|LZ*fVCAnzlh@f zk17VIL4X$z)q}&d*3TpxcfN_;t9Ss7+0~oO*tZ z%W>f$uCDf~MLhBrM%C6vaiJ9j!F5u7^^w8b!bzV#l^oOr13i?(jd}dumIpNz$ZomqgDQ&5#G>T_#)oADw=|nQQ^ zQ8WK@sX5&7)~^(M?!s1q#kU1_|UrxA=x3EHaqIpcflozMpt9;|=5 z!XfQ9Q;mqBR@nWW+sZ7Ev>n8va}WmRs!$`?Y3IpkLNN=p0aAwQ1Mt@>Q*B{qK@xaL z%ri*(Z(oVtk==}sW?UE8rJ0{Ij{h+Io`LVVm;s#*;CoEOIqk477eV6=##(&pOSswf zaAxQV^nXHaap=_YGo%;e^3&xze^0mRyP6)BS@%7CW57~Dj&G)1bsGE68HPWY6w!9s z1W)R_aRp%RN8|R%7Drh}P1Zx&t9ako5V4yWlpS@g^R#mNiCX1Hjp-aU#+=Hk zznOL%A4^sx!@Gle%&IF{PuRv+Di=*2d~Cud(_p&=+Ue+4SmL$pyN{=R=wGVB8y-^| ze%oZb<(L;RFXXV?-KmOIPG@T^Jtty6DC1jXKofo}@l6{AWRb+WkdZrq(yVo<%De)s zOd%G^`)H=*YDwVOV4=^8(}toW0!1m~cKE7E-oQJg4$rE5~h=&MBsZKa4BJC=rfNj!NdK8c)`-LzSmAme>1h7xx{y>#yirN7Mo$hgNuLhn~9@#-%3rnJ}?411mbXD@7128WF3sf}Ok+A{&qyz?z5ovMg6L^IP z_rTWCF@V6(x(=<(VEqU*74{7}*R1Ry!~M=|fYSoEWF<{&Qj{4sV!* zD%J9+Z5y|5y!L64+i@$Vy9XAra=GZ2pRRSTyX=1U;^#Qab`5$MIM4zEOZe-=h> z-Y83VXys>bZviXQ_dgCP^ab9p?${K!>Eqr^>VoT6WIJj$EV}1Wx&MleuE~<|Ojmcc zg%>jS6qzKr!Q|+)NHJILh2jJrUi_v6&4Q{0%Y~C@{=+$bvcXL+(_Qh9>t#i5gR-HbZ;6gqgeu5~1_q>W z8dMzMZQG)fAe#PBcjW#TeGWgL_8eAS0OUv}Vm zzfO2UC@@69^0J2OB8h-!S&OPKoAw(kN-NxwcVjtn<6(f!TaM%M;xA}-M$VQyjA$*l zyTNns9zP#l!NAFSr>VI_jmO4euVNC8Zr#Wh~~@k$HrNCl<4D?;wRxzq%?9Q&(noC!GYK&B{7dWy34)w+!?scV#d6vYD%$RyjJ=%{c`n$z z^@TIzHm_L8Q^4c>fmjF#)a79qW;S$0k_4+iM>Wj6mwz~IEMxHJz0LZ5PQqaqoPm?^ zZl_&8lDJ~N8Kl~$V9a5sPV4}zvKu@#qgyZPyBgo-hs_z3v^k4z6P3n&K`N~J{|37d zhDYtDXP#q>!GDb zDqsmH7Ynj^|2>TMJlF3uS5JLpNB$D!*N)ud_QKGoPP$f%`iWws=yfytc_05p7BxIbth)46Y1QrYbTfidpd~q1gw}s) z=ZDc{sUeJdeWp8cxnq_;x6)tK+M|=`{x(X#5(i zTxZ#iyPSGy$?4`_K=T>A!#Q2@88fYK#wiyOcWM)$`+_T7%~8J6Gxqrh&I5}tjvWfg zx<|@$$e{Gcfh#%UA?wg z_TNn359Rjm>n+mtbMTy~5~dki){{e%)#?-Y$64r?(&@^STV7uCq|IM_{j35A0{#8Bw zQa4=%IK!!;I%r=o<>4AAU7pm+udZKT@$0m;5fUpG^HW!VkyBg&5SGAYcgWdaQ?lIn zj_T`A`HC$!{?i=9+G{_Xy|KfeBme3IHtmYB7Il9^DvbAK*d&^+|B^<8yMO7An=*3f z2M*f`0<>ae^pFvuZ68t3=6Gl~fbIdbQg8s)N(IZq!=N%4Dn`dJ3{jz-ACU=R2TUO< zWVf({gpSKt`q8ABRY;G_)=G%Nshhyc6{P|}3ZVyCJm8*qcO~#%6=aQfDRDM;kXyWp zHQL@&-d(qPASFg7qHtHpwv#23_fH;V+j;eMij_+7 z7&bp)@W@$L+UY2cB;+h-y*9}*Sg%7UX~k$yqX;!k=w!beYvLi=$Z*!hm--iN`^vjY zYinYTP3#Yde5`sqkIiEFyX5}I`nFa*KlXJJJA8d87nWU(edc5KeIV5QOc-Jcs**~L>`NGTEf+5+_>;fyTzd}x8V@~f$Y?nqj5byM*GXg zw7xx0Z|0GJku&(-ON4_InGS?DfD8NuwT(d#QEqC%&Qg~s z*OQ4hMQS5OX96W3+QgOhXe9DGM&gY~AD!yQGgY4tir(KBMYSwX8wXiIc81=Nj05OM zbCw6v0#-C-6iK%2*&I+~ce3n?sEj%iR+)hG*?DSHP3Y8!<-xHz3bPf2F&z5Q<~jqt zAKsdnZ5^-t6e@CDMyYawU+X84`kY6YRk7T1KXttQ1Ff+3ILC!UE+K}sOK5HzY}@H7 zVxA9)2~^#3j(t8Y<7uwvae-@c7tMP-d3C~^UiMryCUdw%G>s-vVnSmyM- z{0pHpOYg+6`!Ut3S(id@0K^4rBonfe<)KeNMAFs-by)HsO{AU~ zugb&h-2%I-h3JVF$qv;~UDj@F4Pml*8+<8V`c)FqX9A)#q?i|`QB5_j3NnK^V?726 z+kB$H9e}tzwgoB5^`Z3uqN<$XwW;kF?nj2o4}`juwpHlo_j2&r^iZnyD*6ffH;}|39!v3?;?XO>?5VoTV*? z#p!>Lcl_&9{_8VBUU%ksrvcl{2N)!qfp5uJ*8|i|A+=SOm2yM%)>6qOxa&&*<1C|| z`*M6_g`3$OlXRcJrk^-`_6<_;j^9jo+R538xJzP11pR<#R@>Glgzw%Sy`^>&Ae}(2 zkq3O;p4=b5+HB>B_BmZO>9w6}VQKS_$%N^|ddll}DD9P84=br3*M>hCN-#V|C3y+#&XWVgWze2s-jtew>vflM zU%j-H;<*1Xbh4dgw3)sY`a4JR`%%gLWBcF-D4jpl(O?lx*z_t##lqX}&u$QI zek-?9Ti^)yO6@Rxu6de&wN~OPKo+Zwiq!7|;E}l5(KlFJ(Z^=Jd(2L@43zN73c5pr zgbqn_xL=78wkJZD_lMSQIlP}swq(4#?${4W{$IM#HMxA^-IlM)M=9GPL$B=jIugDQ zx8R;hC8;I%qkf_`1YTmdWp{_s^?r)WZzf+1Rna9-4;YLqAy$({?qv08LL~BoB1pHk z#3T{I^50Cqf)yEDRi*soS3kNa9#VN36jO4}Ew~v${75RK7T>^eWu?i)PZE#{lV;6< z>c607#UJJ%<*)E|T29V64IUU4Cv)?8R;t}NlVoD&Z>E6U_82Gx5LpY-{6?I-2$bvD zqDO_yMGuYTMIUKrl8GfO&|v{x;}h42^TVOx zqDGSV$KOnMcK`tVcT1mTGGMR&;wffi?1(m>1$5EQ_N!9A)_&R@B%5@hjk(;VazjZKQqWs|qp@zg;Qn0*GEo9GGJI^ex6~b#wX(uj|F08n|`~J4?HT65K8wMA( z?V3DjMPvL!eE;MNPbQsh%{>V8wCAzkO&!-KbxYVu4dI$2jPWT}t;-9EJEDYbB_xh* zIrGzjLQxH@A!TjNXKNOAx_n`Y^oZc_mdVQR<5HXJ@aCkJ9KnWG-^z6>j;{LX-R_eh zx|Ib?FX&QzzUwq&W@5GuxTwEz@m>R9ci&2!72l|meSAp0=(ME0 z>tQX)#aF}Vvi6pznab8_mmVy&VbgTm99O83^CVKEr*!*s=dHSnn2g1qudB>BzP<3t zMCTDAw?`(wp#MV?Rap_f<0q*&`9}?{D+g zVc!bN6EBi(m2X}2Qqbx?IV`}9Z-b4siSAvA#bvO8aU7w9InIm_=f#%BpU#|x)3lZW zZ5N_p5#51`mw@PnPljM|l5$ckVSRPRJ(%;r8T@P9nl?~aKOl?6`7?Y zT{J9KW?4IM9>{PJB?OyAAsp~!ktr_9;DRli5LQk$C98sf4$RifBHs`D4&=czGzO-! zg7y$IGy%E+O{3^Ce$7v+;eiLfySlN~e>KT{V%27#Fu8o+NWvj`c?CE8$gZjXUt#AP zIJpE*ZZD)LxLUPk3<=zKhX4Ci-Ta=odHcrG2Y;+Axm!?3zWQ~!C$7ZJBysQuI9ri6 z9o!(*TIzL#ULi+K$vm&Y=W83y8wDbZ5qkt(n3!F%9Ah52uf0>21RF^py%lJDfLy|w zG=Vtt691=G;LOu8EY?a0hb`9gar=gw#7B2n+_@onKhyI;8q*WbmqvPCO;ZCswbQrO z`ssm$eiwrR=v6Y(WV42M`pwKrG5n3S7;n*?J1VUi&*^FQ}&`mgY7Y9$MEnQ@hWdFcOP@?yD; z>0itLzv5!|Ps0Uzx}79w6w{}l_)e>0 zzhI=-ht?G~$BQ^O#y$@e4RL6T)@+NveTrZsSE!r?+H2xGZNdZUaw+qxx-~xvb#&D; zJY+U+%E6Cm6UMbR$>Y{6!ku6mTwq2}^QW9R(zJpAI&FXGi;$x+QqT8YZ#;E`R8sj0 z_l{;b=|%z?tKv{Vr>QPqkJ=|r=TmGkujQ{;4D=6FlB1$<=SaczfLeyt5_ca`tkXF9 z%kuVETjJYWr}-MeSWu!Xj?}$OJmVE7Q3l^^bHC+U%;u23BHc3>$i~#)8NBP^xuFJZ zqQlC&jr7kw(G)H4(fj0EFDW8 z{ZQn)$l>zD=<8Xn6TQ+~Y+N!8(6&Ni(zCp;Hl%qy4rPPE~x z?54o*p84f{9M%V4B!`6wf4Z(rZKm7Un6BjId>6m#H`BM1eAj(|p2SelBYeBtIeg~_ zEN5p!PMMewowsN?BO4N;Y_Fg9qwi>lMe>JhCA3y}!B2`6sdpZYLYo7#D-sl#4h%n+ z%}%%BZw~R+^PBv2m8)&NexjRyE!r7R8#pviYJvI~RnC}hnogVFmgw+5%*(kBa@vB? zkFag6U{<2yQxI39)ZElxSn)M896Rlq;po5AP5;g_rQQ?*8(xLok`;94pCOarU(gNv zg9PQ=WJBo7HjKNT;*hYs+#kw!syhM#LDCF!f_2z4Kt9Mc+r5~f&>Ggo2pZweWT$!A z=|~vvEK z)h6RA@4fDLuYc^~m)f6YHd1u^b?7*QCu`cmu7{~ASm7v3l7^?b^lj zpX`xrvR<=r{_Y!v&$2TU-*tYL;#6+z&#&8FL^4qzZZ&apJRfe#_Nm|dfXCy-E=Ef_ zu7y&K*RX0oXd++YIX{?xt3jfXL+!rQ!M3Z0epL6051aL!&959E-FC8LkxcUnp8P`h zBkE2%_6~U;HuCl!U>kd06O`Pd*m6t2O6H6b$&0C+=Yj9_rJkzkD%x!2e%7A?7Hl+Z z`G|{9YT)B1Hz-HPlVb(W@ew_qFVeZzJ+?yg!K0LD$)SMVLdr5e&)f2Lbw8AUb(EY{ zx1Qn@$^Y@u{CH8@co9OCbwI|+<;jyixIE+16W(88QE~NGkxQ)sd6uKsw=g$g}R}7BX&2n>fs( zc7QdsLkx-41y!8xfW zFHUS~&sZj7do(Z@l(_;-!Uz?rjGPq~UT2{cfsU^&;oXHr+}`$XHsq|rcLp^-z= zwxPNv4L(T|OX*LJh%)zp_DVZGLk_F&7KRYQXUDOeK-Z)tQd)J zR;Yh#zo}NwoT9)Bv`!qs{3_Pcd&9B>g%-x2B-}k^(04Rg* z(Tr$5oqhTOpTY7JDY6*NlV%M&nh2QEaq2fSL%=x2v@{608nh&vJ4}DpZ4J|I6Fc<` z@qy4BFj3%-W`4;46Tq&`y%Hv9LbJyVsQmc0#NYq5aT0d98C}k__yKkVKR6Zr8LPJ0 zzH=HDFueOeMgW5xph}qgAjtosC-Z};F!KbAM}@qg_RP_Y9ujsCQZt|rQHL(I;$3-e z^jYDc9}PW=pxyq0u(Im?x!s8kmctOK1Cp_q55s6#JM_4Yp*H_kK(0 zf~3z;G~q*ppOD%>Hvk+$p?-X@Kcz6YTWB=;+jSqFyJ$AJTgOyeQ z!Ai6VJ){xOU`Wp{v(G8-Rcp7r)U4*4Td^}go?fi5p7LX(@1)htU1Kj3CNlpj{yb=W zsLI9N3o`H(&2jpPZzB(`AQ;2EA6KMby7!wY^NAu|?-6|`IVZ13Y1}O$WhxyM=sHow z$EeVEf#^c{>PgK{AP2qBmX3RMRyudn8;oUR(a^cAa8b zA9rO}A0|9AG+`;yX$GDm3-xarZunCbP4UKm1;9i zV}F>);1Z+>`fN9xn<=?R7TUwXULPHR6JB#{(fY=&xO%m6*xOhhBrZKszBq&WH|7~u;+?YZZQ*#d)g8bZ% zrr1ts)d09_~=Eb+5T=|q80$R`i>wCtZrt|;UCbBBDhWdcch+WlRKXFG@>gO}L zVxucJ%g1n?zF)jwZN3xExcy}!wCEgtDgrwV!)(TQl4n>7oY6x7)$?PE5{w@K0Dy)m z3C<}EO?R;+pNv3^GnSo7Mjgj*xDyH%@%wazSduo72gH3?j0@N97unXJkV(D9jek`w zbA?miCU;`-n>c&Q<1@F{Tza4BqNIGZPRn32(_eIc?J-|%A2tE%J#u5Fei|^VP!`_8 z-yp&Exq?lhlbp5@r@awpws(=)UerIpL6V>B=2IK~RLuOvf~HLi4E-u{t_)XD4TyoS zU;j||bIxMjkpjumfQ-)TpO(t6p#-cne_nrmsWI$B8xkPgF>%}6j^p$$o1vRoC!4<) zLama`X1njURXg90>rf2hkM9!u*dDwmH@^TRzZy1dXM~={%C1p4*+5IW5pNaAdT?9W z6$Snbj&o|S6ZSsV&cI!gz&Ql1@L_EwoY;?3RUs#;l}2c6@ z&U?vQ?}R`77MVKOEV|-0^N9kzD~A^{g7P9R-XWn*V^Iwd|v1Wl)W)JP@AODLt@ zmxX3GY#>~}6dH?~&P=N$lQNj2KWi79U#Hz9lPq;BZs5oXuFgG%=EA(0w9br?li`=S zD!wlI7HcB@BhUT94Lm#7uXd~Ay1q4`9`pBihU-ShwFo@qcd1LE9M-J+c4fVC+ov-p zW!b$#p3(QdJ{8|O-b`zceD+kA9zaW}UG;dUhETY^QpiF}a%^+iPQhi@r2PzQ8x_(g zCAOcHzA-u}R1@N~VM}4;hP}I{qlMDU2AbIREb{8GeFKBnfQT}KG8mx+3zapfCmV=1 zb_>i@u1yaQGDoBVtY-zi9mQGgpb~NQYUN*B0z2bv)1cRN9+<~~IsgGi-8*_=DO#+6 zy~3=HVU3406>#b$%<;FjAEK=8Ei^PNU2G(0c3?$;kh_994!jX8Kak^t{cy21(op`u zcnsLJ6{(B=B?zJ${|}I2#)VG518^1CMW)UQQ13sy>e&+Ie+LiKqYFc+4n3)`4n%xN zS_miy0}nN$GP92Px9iNPkESzBzO%cqAon)a`}41`|DXPZNBjE+(@%>g1H6S9=nP3F zaAmXa5BQTI6g#x7R4H$CbW=uFg-AXGrJ}`y;`Ucd`$jMSiBlr)gS%;UcA9``8ye-Sxn}(MQ!*;0#l`xDXrQNoJ*=yy+rM)co`6te1#91&DV%4tUO*v|f+BQlC3sHABuwzKaPA;^h9zo_eU z_H2`G&qHa!`qd8G>k@I|E8n{Rj48p%(fYdk&%b5Y)vn*A)22{3!6`2~+)oH}y3vi1BrcU`}^6kxfM*TT65R@~O0e}Mj-0AG&lXy_#h4Bfpqp7|<@E%tIs*5OGHAX4E z%n6TuMfsY^dzFDxgl|wRhM{dF^o8BH7(!kI2WF*A;9}@&a9|8zu8cNUOelkrUR$)C z*F88I%7by2_OD%M`nuGc=Tp63+^BcE?Tw_b?ZKJu0pxp`#w=?v?Hh7Sh{|8PH( z%fq#vt8-^RDL!DZR;O~UGq;HL5}b;5wm5-*nH8aFh-h7;)p>)Wmn4v>U%IaXcNO&& zifw7YL3g3+$!Z1qu~lVK0%Y~{F26@h0x!R{eKslip52`mI-xYVU!vT9HTBc7mArW_ z8&^BrZVh<)?Y(_i?d`OU$H>GT%tBdLy*_3(9+YZ-xi*)wXnydHtJJIAXYG2e8pRvm ztz0fD`%0DNW2xNATZ&h!Q{5evg*BUKwWAx{wlu8CwoX$3EjAD^Ethz#+bFN|d|KLK z$(Q&C8*oaS$OK%nT-fWC%>x!nGOjNyM7fop#iv|b&oXe%gRkY80Qd87{RdgQ3L3Ws zS_X@i<+aN-3wkWF^c66zZHZKSwR?-e(^64F>5D0+3&1S-zU*??{>dMOZi<%_G($lv zd58@t-|S`oLaoj$KI1Fft>NL*j~*{{!&msw>(|f~j#DZPY2NkOt(VhD{ti(egosy? zU&L7vUpGv~k#!QozJ53$6x-1AfG71O^TK;fd+C(gq{(>8Kv{x|in+04<3f(xT$5e~AA1Y3#q$MpMz0m5R-(GW9 z*EuJMuy5+B-w1})alF-~c44>PD4v6g=*oAM!h5;)QazPE zKm!vW6AI!=1Nxo5vXIv_JN9lYR{v z*{z{KCTovVGCB9aaU zSM1Vodpfc6;zWqE6|u{xM&N}+Vqqb9Y#lio##pPvinvx0iAbI}N#j`#TzEt3e7^Np zkn;F;x{Vpv`#>X7XFLS9mE;^r2}n;S36OIJXce^28MNoaIiB|BX6e@2;b*R!5l(DV zODq5(OPDUT()?oX;sCRpVri&h>1pGy0%e#Vaj>0Z8P0ZwO-rTD zi>`fhu@GA1A08qc0(1U~r{*^-rv?w`lo^};cnR%k*k_rDAL;F>Lc`%55sDvG@iqw{ z>?O5=T@rWkPrRU8ahi0<+q7E&HgGM{sr;`d#31h(GWHqU_-pab2yb&-%#_j1o}AO{ zDG*ore_q&ZOI?V{YLJ&&1z1oXECg}vj5C2;!lZI>1Eo}qOVE^$8Wn9i-1xG`T2oMd zkCK4sov;L2u2Hglg9vdGMu#DPcORDh)1DT>EoT2y8}%_(?$gGCa0Hm!h1R8vF5?a0 zdT^-yf=}L9hnyCx1pkAgLnTy4ljsko2ei&|QhCSJLE{oK^t`jG{FrvA<=)zFmSQH3 zD`gMwz#F-IZSKuEU&8yq#M|Vw(GqSBs_2vh>qwv8+?Bm^yYg9J zR@VvL9o}*o5*K~!idf5Y1qfO?9$KN~BTnB8l{XZn_7~r@?>i|=&Z0dhr{(FyMCuli zn46@I39w}GJ}_Ujnkc}Wj@sRBS_Yf2wOI4%tm4n!#2g)k(^<7x&Yes-(xlasr?l=$ zkN1NnXx70A8zn1<#n&(5Z@Hw*zCy5Sjga+o<@sBL4j7&A|FfHLWRcolnXRXvpE5U* zFo6#GXeb$}>uexip~G3MfgI*){$*y&3Qe=W1=58<+M;z0goinA4fP_!WGpCOKRX&? zZ}o4Eozc7l3u$V_Q;TVoE|Z7qft#2QX3jzjFTUw)`+urWKys#kcxF>(SdwZdZEbSl zuRnxPm`#ypH#y5!ES{}Mvy-e;Z`lf6b$N9(_O24T2_IznE&}OdTLTn$L4s=M{1h$b z_#LpD^;7_5D^goWmU@(aUv?Qxv#0F~pv~ zPa-M7}Jl$7&DcKF=&sK})8QJUe~g1AdhqVW}v)2R}ac0q_14Y8d?y80l!*-kg1`_(j- zYu>x_MPrp((aY?^HFUdl+RpI|%GV}_^NbgH$_?Zstf72Ia>sPb>X&aEdI^i#ljJ+~ zZS+yUNp;v+`eqsGc4meAB;aYAPGONIdrLy<2eWtI<9RgLzl50JKPGZRF=?>c2xof0 zcqq|JV!EZjNWkR8D?bs&aYPfvyFh|}-k{Gf0hm!@9= zwlDLQ45=a(i+RlC#2GE_yUK4Pt~`MwxZLAP1yVQ{AMbWY5wf_Q=O8( z41+jul3snv!>i4>^CT~h6Ca*+bMhY)=ke;=uYOa9H|kNABar5JYGrzYMO6_Y!@u?%c(sxR;cPf)6GRU-C@0)Lw+%(aB0+Jqm?v{p_Z z%Td#pX358I&^|t)ce_v-5d4iV6KCAffYQbd4`Y(e;um5=nTR~cLD7nF`$c@NP};~8WT*RPObH!g{n$mvwjeZ0oLBbGM85QU}z|E zf~lc@F(ZG8qUg*zcIx5ujxiP~7dmcnV*6r-Qj?x}lO)hC|uxfO3BO;fv8L$%qvp+8K$;WAM#ha>pN``gJA zFGTyJ$;X#jtsutv#}1A$r)`{{(0TI#u-%rvsC!#xTf*qF9&+sK6)!f6P(*&NUlGF^ ztYNP??yz~&5_co%?dNVevOH|fNcXB&4u3Bvk!@&pQq8*h`o0RTATDn|UB7gvl&z6f zQI<^=^))*uYxY5+)T=o?VBGOUs^Z4QE-jnh?r1WU@m_ONL%P$u=}PIVD%V!Gjzoo5 zcVw8;sPf`D#QKd=nLmubR3AG=mp#0+v{ZCaPpeO@=mS;qEm5-Ba)qPd*q6*FE-r!$ zzTDs?{uV3335nRS7Q@&moa(U*h_BvXMZ=mlmV$G%16H)+PN*iUpox!H<)*vrylLf@ zY^U28O3o~tdP8innZMNIy|TC7U=+yIJ3*;8v*G`~T2ZPn|Aa z1M1Z%EL#`*G$rxz@_mUiOWDoOlN6euj%!K=@L!1eSB3dyL=&f9;(`JZTGJigXu3=$COaOnj1EvQ1O=okET4 zvw1rANS|v+FG$X$GHpVKI+*|0@F&THrg=@5i`3ST(|n>~i@DLAG-ztyb=NJVO!Fr5 zrtA-Q`iC52T0qb4Mt_HMRE;~$@(!nqU2N*5$1NY}qbqsn()B$1v%nqoa2>uR3w~gh1&P+@^~n#BP?Z|A)6PkB54X`qv^QHzgx! zkt7*Q5h6-OvV}1A?8=&@6eSadOm`>lr_?VQj=-=o$q&M&~op6 zp68F>>)u{9GvDR2oXtg7HK(}2b8!c^lN2f}sNRIS{-I`Kfpw(pTk`Y~RYpvGmd&NaOKEC9d= zFfg!@8(baJR-vp1V`lzQq%%ijxjmjm68;G<&NVlCkU;SiH9t zq#SU@-g$VyPuI6o+-Tp~=HoKQf=(3OaKE?bkPP>ff$Nr-DGSr}UXEVc{az*}(U_Y` zH$oESroJBDb2)e72g80x=h6K8*JLj?3iCJl_VaT`@RQ5RQtvy+dayoT!k^zLXq=vD zs6#i&xpZRuJm>QuYqlo5doI6CeLi1RMC@{PFjuW&di zw#?EL&x?wDhujmatQiaUAnK&=abFxyP+Z#=%PSGS~EhWDz(uz?$v&bu^IyZN+E z`x0(QZ}B6Bt0HxH@`MYGmM<4G7UK&Qf&HLXyQbcNnDU(FY#DSWzmX=(sh@+fGh zfoAiCx{)8}=>R3$h15AeBKisVS#$mk6&P{0wg$ZmT=#Kb_6u8yawO$QC!|N0sdlTj z6VvpOu=2+wZP|D;a>a?#mWI>!+PDXp_uf5JQBO&O?qJ5(_|v_Nylf$0FGljv2enYX zN38uuWg7?gQCNF4h9fwH%7aN;she2QtGP1ighL!e|8& zz+Z(JXfs=pTI|Fuvv1Xpj(pJmWEN(%L~Orwa97@Iv@9{a9~KLS2mA^o&I+n07!ATj zoyG8@J2C{SD5YZbf3RZza@E3*bkT?E`19Na!GUz96Fs+!9dr&y)7il=XAk9<(bA)+ zkq$|g2Jq1gIxStV4aUCjB0@!k|8yBk%}s@B@6(#lq=(o|p!&likleZ705sso zvDezv+hd&hzjsP^Z|L4W`xm7ab1{|kOSRrWwuCL@7{7)RcyI&n6T@Rulw16>QSGaJ zbUv^jd3~;TqCCMuZssWAA@7LdbE?-fl(eql=!m0h!{OsW?PD9XNy;EpAGubWjDo4x ziDaEhaut@*YcW%`(cfUeCUKkZ$c|(?ul~)d4Kw+AO+kdhRDXgSisk-V`JuI^ zowkH+_}l;UtT3TMK@M!;yWV+zzjH9F=b6&uE0bS>kIl4wHywidB$yNP`voHN?+V$7 zgzzFa2$j{7I}25uZro$RokE)FnSyh;nJwgtOnL(8jOo`HsCl5=23bAip(Ddm(<6Q- z?;db7Vz9c@c8>df!)ZzdRP)-2@!TYa;nR09vpG1vd|VW_Un(>C*gCU2$+s?TXdlRR zB15&6ID?Mzwnvb(D4c3L>Qd)LswJ)AeqT${!dDLD63cx_+OSK!RXi>4aMo$nGGwii zZ>_L3~h7_?(5M)!c#{!nXlje!PvN44p;0rbdy+GE_>Ttag0kk9H-(H_~V zO92;q_t?P-b3!(hj$dn;YHX^+Q%F!w-iKM8FE^oMk*hcrLLQ8cE3bQ^Rn>Fg+~-pv zsdBI69zaHEwW$h41K+&cHeNB(%~9nbJ~Ow=qL9El$bNFbR&Jo?2ZIHX@E}_zVIyt< zy&5{;)RlE5cJeYZV^z6WZ~~^%Z>oJRdiCCTv(GAn?4r{n9c9hBcA5MG9iRPV+_9rB ze*pXlmCxe~7x=qDOQ#DDnp!`18t1~|vlikD)cOh=zu-inEC@MbDGO4G z5xzffX4kWzy@zH~0Mh~U+z_GkG^!X-omb}bN(EiR$*I=ck%R4JzSyA5t)})-sP0o>WZQpJ+IeGT8UHA;LG%ONDaM)V8xC(d}(?X;Il0d2zq2 z;Pbo{h*5^QJ0i1HGq3a7zJ~z^Y%7dg|BCzQn3P|?#Njw1G12ufTF>TJ!)Uw;+m-k> zj7KuX+rp_#) zB`Rafcy4}US95idb8D7sboc(Po{TPHIz6=wJ-(w~G>c@7%tOUeUKby++D(xQo#l8N44m#PTkN;7mxDy3KIGYUO^828($0;UM9XhQGiO@B5^C zgAqjIiNiS00t)+4g783vC~u-~yNeUd&>LYTj9u_c-nK@NX*EU@H9hjnP_pXUb;T zhfm4N)H5>13|HL}xn+$>smgW{+gZ!&X4x;mS9kTuYb%Jir^_`e!6OmTbkhHon1Ogv zu!|5eLJ&Xe)xUw4d6BYE=+JLQew`OhzuZiW-WpZ^uIrWFH4-#{{obo*Do)xwb|y$| zvz9Px3QunJj92Z>UX8n9R-b2=-TPK}2=azHe0FAPPeiBHJ|@QwU0$4R9HVExfDJ5^ z?1)4&LU0GL1jNN~9DH@F;NNu1o<33CX4e&V8LqepjxuxkG7IPg3|2YhBtlsz!-34* z66>}tzRn|UEo!K~R07Ld<&@sJ1)0Kj{<}*=*EB258C?Qrx6*q_%G&%cf2R@qaUZ zONri^kmvusHM>Vy&WU7+R5$nZfilX3;=KduH!s+V9JlaQtsBB-62jI0KJ=wpTSL-A zRdXtP+V*_;_LYS=SO1GKuDaD)yMd@o*#omSDeEp>eMIw!C+^D^@?ignjK^q0*i(1= z^lonA3%!gjo@_rDo+^Ncc$n}&A(jOfK(X-n)=<|Yd#~e8@0P6)KWC@R`o#qxNL5As z*L=OvgxK<@7e{U>4jQz-c+k|~>ck*ty^eIu>q!na3+7A#2VPLR%ovl`K zZ%@0U=@-vyP#+Wof4*Km#mhsK+zYLXIT=q`EFRz)Xd$2Z!C(~!PrrXkP=%WXr;0Jj zR>QsN5AVOZ&NMo<;6>DlwltnocTC<=C>mdjcarX6E|QY$CGRyQ@AbQdZL;6%ugu=Q zS`izv;54lvzYJ6z-ekb}Y=d+O2zYS!51!!`f{6bv@oH0Ld^20_?9KKNGK7O`U@rO` zJ`c^f4#4jp@#LYB;pne2jT-0d3fqdXO_;sBonM}P|G@x;rO>X-qa=IM`Vnq9sqmUL zj6pV?yBDwR_kX8Kd5pQ}L^6N?GSYDWR^L*cb@xIyyiiMmO=Pc~vE=^vgJIYrR|hpn zAVHiB71L0A^n+vsrMy4GMX$aT0l<1={-FZ=(c&);-R`d3fgj`=$hi1)s6XPpalJ^G zjecyz*rKu@40;&dyX4fVTZzNVB2FZq`=s|Z5Es@xCVBS2N`2m|tKwGgBr8~?ClRu5 zj}c1R7Vx{GCILeE;B?Y7p>yi3y7Hlb&w{bplDn+rfr`VTX z$UZS+U{Ei+1QT@dd(42Tw;sl#yd>8X7wI80y}NP0R^-W+57t+CmwjsB2zrnl@Nk(i zZpLXSWb}E$i1_x_GaNltf(ATHuU#nLFWvh3gF(!z8T&Z}MfG%!haQ@r0-_PeK7`Pr zTnA!uQT{W}AW%HuyO3wjaSX({ha60lS5O57m34Le-iM4TVay=-0I``M>JoK8ROU&o zQuRATLgTZ6BLWZ5M_)kud)_vRN+vMdWP2N{WNsZg6%~^^a`M)lDZi*MsX?yLXm16% zmHX}|{vL<>%XYFI_27TRE#MzN{BrzVV>Da7$Hvb>=SR&$xEZ=zhHiwJnD<<^Ja$NC zbFI*Ihf`IXH)~|b36wvUtQelXa6ieQBVT%QhkK_~pN^FE-TQwFZYbzjujF8WfF{T< zgbG_`V1$OC=8l-mVFyM*-(6TeBI&gH^NN>UY+8FoxmS}Um6WcmUS0gqB)`r7n>e=c zgIcLlQOq4;k(io*qf6?+q=#Qyp)_eR1Px;x%)poB1pRLZip%%w%JW6*etfAg)49Ch z@z%&Q<~XzS#K4V_1BN9-ClZD)s*(H;4n<9*m@K)Ma=rlZyF}dh>S|Jb$9x$SjygH* za=oq&Tch&2NK2rqGjWrcc)e7cXUo29HvCI|4Nq^D?6B^)9VLgnOG~_;)LGjMhpyE; zTi5F7ECqk0xp3p^iZ=wS%Jc6X+Aec;Ux8%knwg$+@8tTz_-<_%t-30?9#?SO8(Q?% zV}}CsZ&#{ZiurqakZr$cz2hRo8$Z*Mp~E7bZFbg)0rL6v`QTL%Fc#I3Oxx7nkrTxx zq{ouHEfC8NMMaERRG*6H)?XGL9os2xs+_5D{Ccp!7pu~kwpKGA8TYEynaMT`xZ{`B zbDUZCO4S{a9Sb19f5?_WLLnl5fz*MpP#OHQ?D++w&?WL8P}2Na_|q$)P0ix_TzZzO zr)nbSklwt6hv%(oXzJde6mlV-C#XbikHbyWVCY*41*3u9!D5?_6m&xe3WpdHU{rK( z*Du8|55+*qaX5Pr-G?Mrc3=yOv5C&zTdoMennD{GaHm9rh{ZX1;tbAPX>E{VLrPL2 zy#gS3-$l=Ys9denk9YD6mESh?X>(+**bd{)H;o?CrwA76hrz?PJqCB%p637Rg7b%% zT!?uKVg;!ZncBqeKVtRs1b>ZSr_N{&gkfOskSS9A41bdJ^YydoYy)o5out;ZL!;o4 zUdHY}!IcF&gO;Xj`A@vEfGN@pF^aBqnR&?XDg`S`=;@Y$+KE`BHYuVV@zII-&etCI&${= zb@0|u&QKg)QY`J7&XN<`Uhz5J=AX#*;HHQ~%%B;0aqS3R4aCVpgRS?nZJE6`9gFWC zS4x+wXL?uHKhAm$;}t~GXyAy~Z*wd>F6&ZUc;IsNRY><6-tBpmkfwh7vgUG_a6-j& zXhrnNdXp2eJG6s*U+>`TH$7((%=AVcx;3Xsd0`LVI?1G!dYKl0a7@`JMPn=)K) zD%{Gf+p{bG2g5me%8}VAxv$*NnPdeHivGe>TbVJ)yVS z#H$hN|8-!yww4LK%8L})Q)f=3i4`P$BTN7Q{0~SOs@DAR3_S+@t&zCDxry=d}MF- z=7h%^KD%)R#vR^vxas<^`pTHL(`{^Ltqwm7C11O1?%;Y zUea>evl3=QDO?v=iCcg#Gv8l~xOXF;I78Cn;u2%c{AZG@bwk4|kEj(Y2P{8poW~(- zE>AV4Pe5-iqv}tR5?C*%XLhGt>;49aPIU+;nJwHE%*pR?w!7Tz~$SK6gy5ZzOT&O(!Pn zI<4NDOgwEGQjW8-&a?jgvCxSDK;As?+-MRyTGVXAQmR$_*#37OMNfb zsThpYM%)V*Yt?YJk;|!yZAxE-t1SDme76Lx*nVkeYuI%t@q}mLGCq}3eWd3G^n?Ep zmMpUb>(smL7iIT9!2lv2sa}J5G%!b(2+_`C%%8rd@BRXcqm%ZW$N>zvFvNqIegVSK z5kUvUi`aJ%L%UrJrpiij{3zeO)cf{noAjodvKU6v0Hz zv1W*yG7mKAaTe&pYogIw)KvkQi#oOtS+DxDCW4Fy$^-nD zRbv54ps^!*c>u8K(rrA{eg1ufa0eAzq7?FvITln44p53PjoDC{9J0@}Rij2_P)W#R z&uH4{74B$Bd#6(mi?h#Uzu}qPA=lrA58W`424eYRO;OhIw|iX2xvpeOyl6C0=4=nY zkid)=!A3!84h&QaFgQ0{GW>ZoK_dN(>Y~~k!$MaaH(I^}tv5(-CIRE+OEPWf@G@$9 z_vxbaJ{fzfHMc*M=sHckAVbTE>2pzL)B7Xb?i~NYaN2FHqK3DedF{7sLWNX$%P=ul zcwCQb|DAFXVdI*YpJqkm>fNAUNoQR`)ZP#AB8(4x?OM~tJ&axl$PI4G25mjxGz1#V zea;=$BM)-;4}FaF%Uh@Qe4Vqg*9gQwvRC!nMt>*moZZYxY?JLC-M9M**O}Pjl3hN1 z%laEZ;rH90GfJjx#C;qcfa-TZ=gJE$(KB2s^Y@a%s zZ&3zSjqc({*H#F~9Tiaw5=H|WC4Wtv?tlwU^=#38d5qo7GW3Pux?s#(EZ&`4~go}<8 za9!M*fUOUuh|lrc@%xLo8!{-wor2k$ALX{Z==jzXKI3a~ z*6(GAx$ly^T8pu>C#Nn@T=`X|+ifk+H&|yeEKwXjj0&h!f*xxW+4+^EWk56rQnlf7{1Cy zSC6Lr(}nrBGEy$?_OZc4gJ_U{; zBL5dSg%ANxPlBYMxcS43IG^=@=R_Seb}%Oe5M%*xpYP93A!;>zT(+Sj0ooWpO^Dyi z6jrpfO(Nm=i7;GyvURARtXF@@J9Az9(mOf^>n2KBDz;*GVaaG32C{I707F?0%BbmV z2~}u;b0B_RD!+x8RM$Y}(!eVOd2qUoZjqhoh#DIvf?YuA9wzScj3veN=1A||Ph`c0 zfCN5f_rNt*7U|s{yR}a{b$bhgHapMzrZo@snJt?>=Y~#H$NO3{^ad{Xnrx6NuNg79 z%z67(Tn@ISo)3cTL0TL_gJzLXy&Nd0z*f4E8HrrQwdbtFt#|Z(VeO-oyfN>3gF?*e zv~UYp9t^?*-CUA;%?A9}`r0ZQ4*4uUs9s)N@5gfPc&l&griVN?)(8pszUUD@s<_@= zcpHz3RcK)()zsT|_N;^75CBf42w4l^=d9 zo@4(alE37yHohvtF?+4OR$pUU6P_EfvbBCL;?LQxay591&t)v1c!qbxFFO~EP2ttF z@)2J8K|9LtFV{-{B?O~KQIm)fJ!%s01riuU2Ykj87sn8Rf9Z9RA0@^ReK zNq!`ZZ+RDV;*ExR>^{6L3-6VS>W`16RAdCG_#HBluMaW&5T~v!ICw*vm)w0mp1^Rx zam>m@y?wFh-H60Ke5%`~fb{%I_4jF}*V3&Ed-poqv?a?()Cy5!Nx<(#1tt24UEnK0 z?HYRKxHJb%ztHx$g4hlSkAl#jQe^1>v~0xLJNl|%zDU$BV|EP3rGaY{m&T50{SM4= zjJWe=Dy`0f(Dx7`4d4JE$UNKf=*LXK!zG_{qAINS^M)pDKW44w>i66~2Q7j|1t(Mo zlo2Nz)GVTzHRe+ssaA~t0w=%a;V;;1y2t4cR*Yyki>s&#!#snbJKoTIho6M{d?+0N zFQT6S5}ouHJVFG01pddrRv4^B;fc@G>QbY zA?`FJvu8ehYC+=-WF3$pKw}!9LsB&5^tw8>mxh0j^hykWKK90VQAK6#7cI{)3NRs4 zjAyVic<7)K*U`u;op)2R3)b_8`P|u&aYD}eK((o-*I|m*W74^#tHVj-(dH&&-=0w# zA%6!`{eyw!E3sXQ&~bAhXNy)0v8ntWiFG(Z%HH|yw?g&lJHGDE)5CpdH|NcovXZzb z@^#OpjYWNPSYex16>3ylkZgz1!G{wGVa-*_?P zYwhMR4jds$*xk zNwxU;&gq$)k`m(4&DD{q;*?2BYj5ti{`XI(4T&%;C&vLI! zzkA|7#46@HX7wCNADa^DxSQ_Yx2kF*4tf_1)s8+NPN{mS_RJvhQ+mlc2C_n!>7kv& zhIn^CLNnk%(JGb6zL<{_xo?p(2(2fG?wPL%xysCW*4uWySZ#B7-=toWhbpXQvx&hX z#}6+DFlp~|@aHAp)&F2P&-5*q@ZdCfzT$eVHSg6#>uoYwVZ%zE4uh)Em#Yo-<&sAd zqPB5Y+4XSk*KpuCPK&KlkkKeZCy`XoUr1^s4_;(D^~2qnt?2gBAO)hOb$&Fp2sZ0aQl`KISUbyoT@2sEnHd1z#tsBiPjGZh~Ta9-Um^IF5mDZ@rCikzxeq65|B$?Wk z`NV=4DF{_WKgp2?`G*{9^6~3pi%L~&i>vnCD@}|#II}Hnc4TJ}MSCE(fY;(t8uSnS zMKV!w7Vr<$M63xhaQakEX)LPhPDH#Uzf^od>OB341;LXc^@SRuNrh6htNz8ngLtnN zAR+3T5!5?KD7r+ftr!(>xE=juy8*9mPfc&y#02}+w<;&j>|s=;Wg_r zAJWZ1sK*;_g*ifU-Q2V1m3wNEATY{t3tt6JjL@`3jBxq=w4<3XxehPpNOQ$ouj}h& z5p}5(y`H{bzPw$;?Ph(E(X`RcXrcb0kgh;{jl|c}cOM5@vcD-9D##?>U`!{ND0Z{+ zh%o9VG#((kvYlMzlwY{xyUa?fj{!{N9nFF~pQ97~w;dM~J!roj1_B;O=`GnCfm5TU z5G!Bd9xu{`DiBDTKPJyv%jhjZw_w>@zZNB1NBh!-r5WDKPhQP6&f8$7iA)6XWY2Cv?18205-2)l9g=o&f{@E*RJn2*~LH6DACZ;-TF`=X;DSkmmdz#*b8dpUT@PaF+MF1m< zP7jRz-J}EuG;n?!;aVCf`xocaJZ$?dS_bhr(cMe)ERM=gfbKS+@a7K`g3z5aVzxnY zEfJ>_tY0n^uJ~VAm45L(K}H!8_x>xJ{TB-Shp{okwn2a*3<)_ybO`#}9H@aZ*y&Z5 zopQ!Hxej*?Grl;wA>;&mE|_~N_IUOU-%Jp)E7>bNFd5q+zdn7Osmq0;c5U(pLqW9` zRLf%q$$%eSkKgJaeMdvWe)4ig^X=ZM$FtX+zF4w;Awx{c);4k$?$hCAz_V&GO61Ow zrBm-C-LmR8G!}=6XNA3QTsNbK@$?}1g7h>RkrS(#iB;mlMG$m%8(e+A5AWZWOV-Wo zpFDy6NJ{nCST}LJE4=ZjGJly=<_!s?`ssa)@dHI{6J7`}yc6PhCC;=Kejem%$=ROv znBA?fqT~B@Q?QDCTLd@&J4V5^nY9$gRGsa3dvKt3W+;M`e0CN*N`+7Dzyc?np{@y*IXWJ*iWI>n+Ehuduqp+_7YxoQY9j9q{> zG&E+u4rCp&x}Ck_h^bS8ceM^ug$?Qmj>BQJCqM&kkPjm+dQ4Kp zYikMjZ&Vwxts#`ak500<3QfoYU4?yr5@Ua(`gr3&&X9}l^I+^}JoGBzO^_rN^tT)K z=;Kq=Y)c-0Z^aixU@lJGc2fU}aA)A1TQ)s)z_Ffl!aR{Ef3sP75liyo<@<2gKQm$6 z`4hnY!1`&QownQXSnv&j7uD*{5fr6dsft%O@R6c=H&{uJcZ#pSD3@*EoZAcAGr4(V zzFs=T82nP(Y~oGAoIL;LACrkp)c-o^s{}#L5CQZQa=G|17y8PT*_ID#rr&17F)%Qh zF*)F9Mds(B1$vOEk{nTpl0bMsfhh>uKo~yF_dKtnA?dq+k^@LKF7TlV<~gG>auu2g z0AK&n1_Wo0$};JaWgbf)Dwbv&mqqS!z-al?EN6T89)?aT^BOmA<6{ra*!-DdqP3^n zINapvaBs@}ws)sA#gap7{x(WyJYvio^9ssoB1=w%JcvCAt(Xbppko$fY*ZYD=)qt* z8|KU$5M$%e*?%5h=ripo$n2E>gqUD{in5Ef&8$bKq0M(x|BKs;pce zb5z&#GjV;q!`7#rs(Z9xktWLus0bdTqm5DBDLkfqV^>57&pjg{kMNaC#q&FtA2RYt z%PL|KGt1)%9N)Xbu<)W-%Xao~#_}u&$sx!mz2&5J-zjqG($bO)P52maLf>98N4{tRgOVjg@Bb=zO5j1Pc$uM34G9|h5!K%!0OVF?X=aMF$j{IU>UP%RO31I15__*Za3bCJ#y z^W4>_y@(dN`G=nuk}#Z4-P&O6r4Df$w;iQQ451gJwt|H_C!dXnEvS5I>hDjpvENRt zy!y0v$?N@Z`X1v&tQ8NGh6iknzdZavfBfv<@$m(oJ2kjBR>kx^@$TO9d3dot&GQ)ZQwc@wX_< z*-(_gm$uChLao49WWa}bL^_akBjj)FV8EfxuQQ?!6SyJN8nu>q8>_?j6F`e?<~YfN zzAM$Btic!yc5r#M;Vw(N&O}0%jqEPA>yQ3gEw)Tpg)r=?mf`WNb~?^I+Bf$ZFR58p z^-<>=48<~p&E1HL882EJuu+(DNn=E6GR?RDw&kSMWbVp}1GNJ#119VKS}Za&SW}oD zyQx&h$5mD-*;R4Pp`6My>)8w#yE)W3A;!05K{*jNKrbjwAjh9Za)_0biegznDpH98 zh=paLSrJ@pW($%7fSmqRqF^4?Ae&D|$TTeSyD^H&HjvmE{ka&L-#DKXQ64qrpnL^! zvw;;F+PyyiKj4}P)E!5|=X29X<^nrOUyWZs($&d7oKGtM7Dk7RWMuu*V^Gioh9ZmH z>-bSIxt#{vE;n;z=$HxT*mi+BUhYrX(m(wa<5{}wEAh=vQq9i#H6s`DM=qX_`?B8Q z2SaI)Uz<_|BwcV?e9s-h`(rM~>udrXg{*N_ltkG2P4a?^mv6m&8Jea|rjdtC$%EZf z_4wT+N5N$2tY<+@W&H2>$@h2T>vBJf>OIv*JqUK9x~fA?ymtG~wBKp@bmcRDDEX*- zjl}niWTzoc;)jGM(22`&&(s&Sqx|ZO$(Bz%LV6;{?w3sEPShmaCEVS0+evMnKD2Vh zJ?u56MQ%w(5EZr;-m)3TFVmhCNw9@@=5?f}q@8$@i$}G0f@(~JlPi@y)^%94q$CWyAKZgPC?)M2Gh882G{9c9^0e_ko+@SZ(q`XHgr* z9pYX>uCFQ^=6L8Ut&v)HcVf?{r+@E!tLp@Fd+hj*Pul^Or|=AO;h z6p660k2MJ;LJ8x!-Q0y;#815SFSQD${34fKOWnEQg4=C=B6n}t)9L%3`otQ!eE=2K z4^AJ9Fr9jowf6>5b)DnCn$H~CHS7|Y$pZ-oo9Xms|aj*+`%c)7SGaeeUDl%9wP}W4s81hk;9iyIT0QV zF)ug+Xg{HMhWVFBF-jjodv zVxFNg6*&HRf{23@%YZH!uw%f+%43}y&i?rx=DD4LiHH!&E+l0SKFBb3nfxMtT0JpX1`(UZM+QoK##%diDwYEV9%C$r;q=~XCM%`G)urnX3}*4!i3`Fg#l{9?`Ip)MKBS)p5m z957BqedH^Lg9-c`b{51gvW*BbprOn;HpjW3un3JJP&dQ^!0-olM&Csmvz)g^(MdiD zWrI*A1BrQuSECh2sIe}{JqVbX_kzG8LK5htZYQsDak4j`;aDr;TsKgVnSXtPTZ9p4{B23^w?Qn)t%*?A^ zXSO%osn*~Sfv;ieixJ+B!U2p8)#IU4ZLElWE~@)T$NSRV6+;(xZ0=S*aeuL6SN45O ziAC{*ZXcmH-v~OfDp;ya*c$KRE1z?&g8l{tcMvrW@iK#M56^+{dML7RDv!B<3_A4_oQT^Xq6VO+du0SEn3CAY$;HZ<3 z{74Yjhr^`|+3jjR4`M>RE4m(HNgJjrC@%H}9d3%7PX=TaHt20t?7jX%_wFJv~mVjvYnV8!f4-0Svgqhs2Hg8qj7hHSm3 z=Luu6;>IBc*5)4-E1vS=tF+%i1jYTSyHh1<m_Ky*=Zj(^by%L%GZS z$v3WFO#Z=eP49a=cJjPt2n%i^VLFKWdRlXAS9@;MJ(IX6@0a%|?{C+f{lOqx@lmdb z@No2?%BuLT%v7xJbMZHBf(BWqbi{WjDZV1K?}Ac!(?^=(O(PCGfBz|9kG;W5?5#}p zcwtJti=KzxlUV;)x8-Mow(?4}j}T-Q&1%VbJ>q}2+aebdeEH=BKzV2g+C8qhMuOaK ze**<3Q&kCh6%+Y-x7#qbLCdhyP>r;HAJa55o7?j58(!^*K1SI4gCTczH$Q171#}V8 z$*1^f0>yT!=RuQ?NSfXKDW5wBWKEWRt#~Cpkh|qxepE}N-i{Wfy+ofh3S+v9jx;nZ zy5*w#0IC6s>Vds^kZ>RJ?4^i=0kjZ4QsQ1z_l=7l)ZhX$Mk+R_RlM6xFx^48y|9E$ z$c{-%f3n&%HQu;&Ys;Cpj$#ZPGB)8`m`J?A*c-^9{3Gciat4jImCG0?~28ENBi8 zx@7Nw@gav8U?G4;-T;kMcsAU^sF**yoYq9%6cbDAN zdrijQnBo-5p6zXQJg%saZ=%SfTiS~`_=1^d_M@10-{;ZmshL+J+#?91e~33@i6 zc(&@yhciqUZwf~9SVCyX^0Uxo6cTg8k!TU$Qdq70LmlG%%MURIDNEa!ApzLPn6v1# z4W>3E-xH1WY3cv2<>)$>B4Qtj%%MepGt_G&{&silh zxi#}jDoVnerzE0Y;;?TXWj;Bd!AS(8?$g{lgYp3B=VwxEK@z`~iMo{VMW3l>Pk0K$c%A_ynngn%g}Cv1N){i7k-{xANOlTsrxMOx z&G-aX=)IXAR{mfhLZB*?u8^4`)`@zs9xQp5WX@Y#pAyP^IxK|WiHo%$VQ3($&VpEj zZR>zw&ESgBZFm7UaC}H-cLbf7uFe!XW5vyy$&^Zl!f7)e@%qG<_-!Cih43N{i#PAK zyGwYX0j`1%=@n7%wO_SK4Ew6fD6x*S;MzGe^|DB&DjmKOf=VLxB_Awx?UIeS;N$pa9@5s+`W@ptKX31)tlxl95vdqu@hs@?JN|OZ z7c05R%z^YhpbHDM7){vesqAZ6g#~~yedV6%#CYeDQ7BN}i#aAYeZ|mYEbAyZZ`M&V zEi%EcA|>ZI%T<-2wgmYMKS&)&xJxW)WB9?48I$=KJ}cnIKR}|0+z1(Gk8fVHYm68| zTKj`x&j3+_{F*&&V*D*U4G+Is!mk>TVQck+A&ei|ff~Zw^o|$V{9qV52B8}HIDd+B z@N{wZy0*1=W1KmRmA75SF7F3JU2(N;0_o9F4N6WP9zGayPhW`*Iw-cTaUVGy zE;T5cQqPH&?%BTy+Y zuUhz_A#T(sA(}tpP(w5zh{S~PQE@=_MrPX0Xf+Wti_EK{I`GgnVcFnDL&Z~;?UfP2@t{9j5rD%%r z8SygUvUX)|wod1*+8Cm<*V|oo0XnsTiA2kBF;4>rXVV{%b9v2MNzOqCHK<&F{^ICMzUtPpY(AUn20X-FhLTsd$O`-;Dwyfu9|6!#si@sVKO%YxIMPc4`yhN9l9IoK$To$1dTD(#AdZf-aW z4XK?t)IqlcRUa_}OscveJ)yu7KzA1*sy5ZB{SSmijoL+lBuzju_lY999Mv5K0w1kW z2L@4nlrZUk!vg(}z`()Qxmf~y^MWlU8LJCZA^+Q)<5jRiTwvn z!ai4Td3L9%Jezo}Yu^gi54`OCrOjXNN+ca)rbzAGq|3d$$4l{)F{2~|9B6g`?RH>G zwj)aZU*MXC+?5SccU~_)Xq|Z39g_u1MV%}%Of?*Y(R=O^1pRx!MHM`mFTqPW_7zGs zKo68**Ar{^OCNpT)wwZzBP2HjOXkougwg@(KL(c$zJx6^Nkedw{T;kzr?n^uvwk9_^vh4`77U+O33k=W|6f@Ugr;-HrT zqhLD}58fDndxiXkqnUu|bf`aOyd`s$jqBI?^eY?lhi~U63x!!<%EPj5R^kx9*U=wG zc*xHadiSa|gSJEGw5$Aba$76QjQlZQ4^?}u%5(BaBC=P9m09FEZXw4JQFYG6sSnqe zjcnw-+g%>W&}yD`zEj+zSfpm-jpa{nZcfs3|1i1b_fKQXsWXBfFqvR1^uxkw6X?4IpC>kWAzGe|R`(aEMxn@+OuQPH0td zggWNZdXa5sE_8vI0J;`94-|g#AJ55-f22ml5r~isNGg=lEYvypw2cxgOp3tV{2fLo|so!pSP-EInBCil1uB~l)Q#_sgrhq5i-1w84>v|?mkMgiB zxx5Yq{8xKcbf?xQLdj_G4;%S{-59DWfYVq%amCr$HsNbaC6)5d9;Tj2WasiqGYd7N zq%g)to)s)h)2s)2d&(B;SwHIRWm<22up;w*^M1HPriS(#%I&PAm20$=R{%Wn#}T0w?}z=MW>$FrQq8mXoKlf5cKKv~Yz7NC3F7)iR77Owa;i~_5Rwx>ize{>N9Kd(8zTH= zPA{WA;g=hbC8Il7;l+Q5+f~)44pDP1rxx%DP!qy@e*9l5Fd&&)h^mhIuKsxf=zM<} z?LU4*DxUw^B9}T}=%8gyB_f&I*F z7h;FRtz*(zV}FWIU$cSd&K9BC%Di>w66BMG7i1uajh2qh5a!6zH4|s0s@@klB}fQ!nF@{PCL24g zV0`5?qS8rOyGNhDYSUT$mh-j4x89Vs8DiV3d3R1W{-t(N-9*5l@ieAven(&*X$L<2 z!i_7c+MUJFytT$IcI1Gapfl}+BH_}npa9^#0km6Rxz@|2Naiqd*r}9`NE6f~{5!c& ze=rtBmc13(GTVD0nZkf6x$9%-1Vm{C9Z|RmKJF~tRu%M9agV4YT4A;>~{+>Y=27j zdI8oB$U2U_>-5Th<<&cDji2kKe0~O&$1o`c-o z&rj`-#j7zLT^x4($|0|_9xp{=ZzjYFP}XzT4_Xi2;U!b1tMHSQ?CAjKO&sDBa|}0m z$mv#FcGX|gSFP}TL3pu%5Q?i)v+Yd$^M@|nZ!b?tJqc3bLsq9JX&|_zqAQOg%{}y0 zjQr>xzFF7fme=#5#2*Yk>z8y-zNxsO0EKp?El1YOWChun6Vw2xOSGhsUFTg5wDXYT9SKN!ScQ8a`q#4+nAuKn5{QVzpBjVQK%ljHQJ z4{G9@jZD9^T7Kh$_HnF3Qx&l*Yste!A1?CXht83EL#A9bMtp!lNjtjrD|1gt;nle7 ztGQ!WR=jaMg&%ME!NBMLsg@+=OMYftF&!1*)e-I$fP5pHHhu6IepIOUVfYUQ1!BmQ zhiMZdygBZ!X-}*5H$G#0#1o1Qb|-l_POd2V=_jQa)|2&$$=F=-aAd+eTRq6f8run76;V@6$zoa%Jj2ZOVd2G~0ugU`F9|e(gZZj{v=)4HA%cI<=97Mv;xMbl? z)T?OhVZMeFax3yB+&E|W2G%kcAwjo%|963gdHDiD5g8CvN|_gnsH{SVNgp?D)c?zm zNJW)ky0d;>SfcV2f)44T!JWp$ki}u9gNiI1^hBAH|4_pV?cAILNUhjKcg{9Vg&D|l zQKJFrk3?@pJv!8IA7pMcgf}-8YI!bXO26=5G}0#vg;YNQ9C!`gTZzK8`3In31js00 zB~c+T3B5yM4AC?+f&4&25~!!53lv%UtpBlS7S!T73$lb3TL2GELV@KxZXzCa(cO?n zInmSSQ9M{LyfWo^;Yz9NVb#}tovyfjFM5>q%;_QRb#%k0At>dlvcTjiZ4*jk~^GB<7dYRdKF$RVf#KDLq+jN}5 zuvyvOSb_^641(U}Fl;Hb58NgA3qDoXCz&%ct`IVC7gpej6}pwbXxH6qZ5r{GN+nAb z4@YDW@+umiZU>Wp)baipsYL3=xH@@rTnz!v-l%X1B%z3Yj zMhnOpm_!N-0~$c^KsjU;fZjFj0MNmqCf)7uf6tCJ2s=XV_Dfx^;%JkfK; zT)L7g3IQHoi;CZ!j$ZYcxMF&L(dV(F$tS-Eblhroz4y*^{cF~vcUs+#4GLHssdD+) z#B=tX-8FAUFlZlm?BcDdt^cfJ--7}Rwd>LtadY`_+&F15W-UwmlR*7e(alL)I`pjc zqpei9%)@Z2P54>YCuO8d8=riwTBRJqd7dLAV|&smKJ5y{&7?Oy#)Gm;u9^{V435v}PRThntKUZ^Ty&5e$ay*^yLwc4>l6;pCvpZGvX z>w_xhT(ZmI`z^V~x-ZN*6LSw(IX$nzejtXhV7p2nLdN2SyP0lv>BmRJD@)iV zw^Zw0-G!ZG+(oolOUPM0kewx!=aKb(L-&VDr`VSIC&F>zTu4-u?*d*kM=aEsW`r}%eFbU@H5m+L z8h^ZNj^aS1{iALRX_Ir%4B=hy2560p7@-G#mvP9I>{0{S)M^g2k%Dyj_q=>`(7%f% zq`Kfwe4K7kh7rxN+XeGQxbMGyL>Mos%18Zv9Wo#2&VaffsPjVkKQo;4e|;`Zk!OL! zO+RTr4TBb3F!vo@5*3TWPyrP$9CBARbrIln&Rvg8w1sB!1OurQT#vkK?)Od9r9j31 z0{vL^*BMfg#BUS-8DLNa7%ge$*G2XgMz?(4I9><>g+2+80ux|K&Rzb%+?v$6XzcSX zsl@%_+@C*SF64cfenc%QMe90%%o_Ac>fM!dljTIjBCej0iDAM!EH!-SN+x$gG6cy- z7`tyUFC>EdYk_+IgkJEOebIz3Zs+Usl%mZCZ{{60+{U7k1G&7Sx?^fuuLQjf-Fg@4 z=ta3LNwu3fSNZI)So^H#K=-u_fA*CTY2v1ayvs0~R=J9Nl6tL`_u8UEz#c+xG9O<7 zA!JSyLQoWpzk1~=EaZFlv@vHMmRO~5h1W8?Y;hMR68go*G3s3o70}W47WA%0Yn0DH z6|gZcH^8=Ac^k@q!#Ui#6Lv{cTTtj0Y>`p1!o=;~YN$9YzIOQd3D(`+IN{V=OJA|( zJ)bolZxnh#pkPby#db~oL%U7j-k>Ja!~2D zUXe%8B03?653+)UeJgS9#z+KNm%LAFm$u(?)G3s5rxYTLspQeZ30f|q-2q(!l!CIn z5CQUNPQ3hruKr8#%oiD=Wg~!XXXCWwJ@aK9OD4Gs6>VgW7`%3PSIBjY*VS?bSC|Q@ zp=E!GyY(acuQ-ON>}=QV@WulxUdp7(t}&*%BvZkd^DuIpTn z<$HXOk?B+8$n5iTS$l#iF#O6+QiOIct=qvx}VPef;xG{8y-(ZpU*7!Uky9*7`z7=^`@ z6D3p}nNYm~=m7B#I&MWwQcK!PbC>A|tzS^uA|Q@`?xyo>n7p6^Ri)TJ3@Ls>T>9QG z0fS$Ed7k)vAGK$#@6ctoqw3p6&!2*4TO#A|c*qFam0Wuk_Fj)F6S`vWAynIT_4a*0 z6QPPPUN4_?c#Y+hCcPc#>O#~p#}U`9x`6O{!6p*o8Uh?1p~d< zY23~=HoyiP21V5%z4FIE{NZXqM$3+#fJW&zGCFP?ba3s#Ygy=uT?!ind*dA=fWN*2 zjtBG!@R{}=%K4im2{%yQL?{Tz_oe|hp6yT8{9!&)`O~f!KzWSno$&BPf3^!Th;Uro--_dcuP-L&T8(l`qHM9SWF5p0m8J)nU!!i4wgnwAS*i z*#1LeE!>^Nw8q0Bw>7gV&mPT11J4Cc&~a~H78EsbeZV0nH_xUQv#D6&-lyQoA|<@> zR>+F*i6rC1X%xq81UQjyr7<7qAN9aJmKijhQ1t)B3)|f=1@p2^09`?ff(hJZp)wPB;7ECJ4u}gUlqC(KcVIcsjsc2i4;q|g3I+3^^{re=qda7< z_6^*&c3Z9BIQ>MBlG$Esgf2Qtj-}lDm5;(7mk}LsM#!$JGuES6VudN=Gs&ft>mQOG z4Lf#-JqsM&R&KzX=`*IZem+?L+lU$8qPdw6CCe*`$9L$TsTWwMYGq!>B#VY@5KZ+_ z8hci@cyqal9J=T-{p`VH!0RuGmy;BeKDUM66FY+KBh^ZexG%EI(|XB`eumf~DWkcf zYty9J!P%LeOx8+3B}DM<UIm%(@)MQ>ZV?o0Cj8J$Y5!2hP`Yy1EI^An z&zlKTbPgXZ*(F#@!PXjyeZe`km~di~+_E-*9m(b7wnNT(J8m ziiz#Tj2^}_=bhcPu}O0~lI0;!v;+OPk(zZAW*R2?&w^W2*0;v~b85G)TkSX1iG55y z^;(f_GHgPnC6p2^Z+NiB8*aqDkDBe92lcl-^ia)_dlDpyKbNz-(qJ|GMo2^ppgYtWm5omSe2mk|}2GZ3I zeGFo@F9>_v>4X7I=t6@B;;l#!c2tRWRH)kqxHl-cfr~~-1b8jBK)LFG5;cHTWOQ4V z@VhnN+R-1$CV?LPk3fmf{0scVY{Wbj{9KnEzYyPJqR=qBk-GMRWP-`&7FOh->)W0^ zKH09GfB-FsKZG-je#IOi5erQ#DQ+77U$|zFVGmIzwq-T`&UlFry#+MMHtd6w2iq)D zP#_KpX5dPt{Rd+B-;-4T?wUc5!$st4&%#K<8&}o*!$O5K+X6MWCa(V13Pki{Ps2*4zFWPg;UzmK%4;AEoc0Z$X&g9|fQB zPXw8f(6ZRgY``1j`1a#{!o<5~gy<`IC!`w^osKC~6QR^WRqSoT3uL?p!wW&Tqabh_ z=bho^3_o_znYYIc!4bdhI@UZb7aGW4^%-AHn8S{2u$WjFq0f&`M;v~4N^wo;(Hy~n z$!CE{HFWMjrOu7Yd^^u!1k*W02=-s@c@D?AC8ahQrP01~LPuEw2E@)58L%YSr<_!= z=3%CvsQxi6l;cZMMfydaBcMmB_)h#(etl7Ca+0@NF+6wlh=#+Ryxc_jylZjBUPN(* z-hwq5*8TuZF+gjnrNAV`g{=HYysijlt7&p@v+MD(6Z_mqR&rqf%Or1)7~++>(f2^a zxusUG3-+lOSF=oRAI6ZaH!iAz%6ZT=8G(o#Mc2_}En_NIje!wuI#_Y9j)h>_nX)t5 zG6GGu8$6;`+huRm22MHNhxFrMB=BW2h=z7)=<@E_MTXw=imyt?E@7Vp;8n z%d(zNwLPM(=U0YbZhSS1G!@yfvH+ESuh0yPcQw$xJ6Iqiqtx(5(du%+*&C#CoX;&w zCl(?@r0m}|OjISu+gbOBN@c`9rcqoFC6kj59ZWiY=}|*Vm1Xxv;b`HEpI6a&>2jgm zO+Y8^)#w!t20?d4k_0$Jy%vc<3d&RKA}5eEm`4knn8bH_i;n> z3W9wf;hCk2ybOw0s3mv~mFA^<SSBpD2f4SYle8e4AMma0<08L5E>hPHzX&T8atQeErQAFW$Z6H14jSG~fo)f=7s>3C`+QE&DPQimb=d8+Qg6L7W{}1C z4L}Kt*P(@JSI6PTjB`Rj-31*4?niNm7xB?9;}fsi8}u=6@Kb~G8p~Ql>&h4aBxu|} zUD{Jc?40>XN@Y_@e<;E-BDA_Ec=Jy6uFHMu)7)uRqX5vt3sJ~O z!u+KO z;NPCLo45va#IHW>j7$kmqTxq&40^M~AF|?iM`5=u_^ex^y&8Pi^V@YJ|3>WD8P7d; z+HU-gg}WUd1&!DE`;&3kLopAq*`cQGJ{Z5N@qNKt#JE$hw#Rz+$UNCU?h9n?p9Czh zy8bqJKg4C+ly`#SQs?Qy?9i18y3OI9DHQ5=!<^_?LUn{kvxO| za`Ed4s!ujaW>51GjPb?Df8!a|8F4liWc~O>z|3yhJluKY5_wY(#Z`(%pe(HnahW%x zp6dIG;d%8p@=21G;7NG8*2?)1jl0Ey$?Bc=`Md~`jy}#?q(NM*@qOI zx>MxNX4Uuv!?gM#EYqMVqrS#l5DjVsAAwu@Q{ZB1Dpm-K8UIXHm`+GtA54xb^;q$Z z{3G2~o~D_k5*(gyGW_je`cF8YdH>sf%8*J|uK6LdC=smxu^BnhvPJOLLpa0Dzv4uO zO5OphaE)-W3y~^70MWLoPdqGCkD&^st7{R9mzuqjQhrO1ZxOz^=l9IA+|Ru43&tSia~ z7YKvQs^TOMwHX&0N?FU-qS?v|^7{N0n#-pWUZ$oaFV#zqN~7q*j2FiuZw09|(b!(@ z6}!Y_Xw=E|SwvcBIV^vhm z=M4P~Zwj_mCSuCmUSfuf~<22UtWqMP8F)8y_t3sk-RaTkw5$s7-m-d?wyu z){AnVJhjyu#)olHIyw=(a^z1$`;Q|i0*$Xuya}s_q}I~cu?`ZUHXh;#N+j*wkXNya zNYrAf??E_l*%FbH~B2Vc(z`AbR{6U$Ed(6wA@Vm)@uv& zon9J<%?d^%;}mAKL1C)pTpv>b=j}OmOFZ-l%&Rh9#lRx!Nr#E1(S+rwGY!NQXQEQ1L+cFrgK6iYkb{T&rNp zrpf?p1YU5Ow>OSIpXZ-V1*jl7RES*O>y9K&@Rrg+)1Xv zJEA++ZsWOoOeQ!q|Nm;TY$xRH81j%+uC)tELsRo>xjF;%0L)D$5S_rc-;Y2SI zd@^1J(jx9!%lV1qNHx<(pNX15UKklZpel7dwdpYZYNXQ|jmLRMEk8|JL%IG^|Jrk! zr|J&@G#09053;lXnnNDS=|$7TL|RZ|!6ZkE>^=OXIhl?trbbmCfw9yM(dx=tp$bwn zCV7A?6#G;V67On!{r#IoV!1Cmj}fU%D7%bav>FWqk@Zue+|g_GcwMTnqf3P|x_|=; zR8+=w){{C2fs%wLjTeq2H@7ffwPVih&&UvPZj6-0MVoiVa%bb2HZIT%!LWyJ(o6Hsgl~hM)IgK2+n&V^~5|5lM6%oK00K zc#y|$iTMfJvv|cxtA{j|C4!yd;JodK1J({7WFt>;tD&_g0e2J9rZ^>wXSNQ*M>vT< z<~^XfLZB`Fufr52EfgS5SP6Xs1Q<}bI=nKY!1e~&`8eRV3pnxcN-l>JH;t+cmKUND z5oS@{357}?^547WCRYoWK#qA!w8S(hTrri6N`DB8UJGYU*PRd(TxXAKrHwsjqnC<^ z(l8Y^tc^MSv5A8}*u8-6#uh@}|CK2hl$7i`IH?{Yb~B~?BYJR2;W0(?xba=_poKtC&Lnz;jPv8BnS7YPys=+N z5H{q4?NR|5BH2fAVzejv%)Ok@%1wi*#+WQi+SYs02j-gZSI3Aozq@`VQUhcW*L__y zSv&yOX|S=UQY;KaWEgD2JyJxtqSip(0<{XQV^I7TXA$mvz9WQo0b2;v#p64_%=9QA zZE^AzIDQykgEsa~n_z0*DmKb2r0}a@nC^_aGjcdFb$OpsJoZ+5Wc=E*Z~>*T zz`G=GOPIV79@ar{4s}*5>iQmMnf~&)@jGSq#YF%x=3_Oe%hR^KpxvBbZ{B=|Z(dL( z`3mbjJvk3KZ1cR$_=!|WT2WGWPF7nH;m*WXA94=u{Q$59jAaCOH(gFcEmwfflc31+ z#6TP2(6(>DZq=pNQDvMLpYJ=XiR0Hq_f)-}K53PbZe~kkv}w9IZrUJ4dGcav{8hoW zJUb;0PXr}Q2c%YJjCKK^9#XClGU9F5#Ni559k7D)u7Qx39Dr*x7X7KgLPP+!i%JnP z^+&yd9}>)_82S3JUjKfkpGXW^moqCRH63ux?%U<1FKYDqVyXGhe9+wYamJ_JrOh&W z*X_b-ES%Q^7B{3xYrzp|!T|SzHt4q6fHWj9`FFmv7utlP@!oqb0|Iq7K))>}f0wa; zaMUuPPC_mTG;V)fx$_c8M5^S1ZLAY47H~PpSNwN<3N`1Ktlep~AM z_;XBL|KEC+kZ1k7M#M*Tz&rxn0h&n=4#crNw;ju!X#-U`0*M~>eeJuI`+TMC)RAY{ zPj>Y}XX~ZR8c&(LI;1`{!QAxINM|8${`m4!L8Zk&X0L4MsAaITh(HLK7a{HsYJDZa z$F)~_i}PbkIl3+oMI)kOCb18*CSpIzMES12wx_c ze7;Od|Fu(sATUV*V?h&xAY~j3@+E$mZW>xf`u~Z)Gi_Q$Kw_>*mK1o}b#tJS&7SxI8girAqERn@*`f zB+46Ts|C$dvYu!qyVnjehYSv*2HcxwSqJ2?MkL2Ly>4X1xLEJ2(kRevIg74>pjTOs zJSY@7=?|#Gz>#zX|K;JRFnDzct^vL!P6gV5Wa(TECp1UYeqh=|W<1IfvbM_gP)|5a zRD#^Uzlp7~(r-Mj&rtuX4z>aKzG0w~m0cuPVn z%N~d$3(#%6u>=%J2i3LoO9#9a$NP#SY%-HwxfundkG~ID0lF*3A-=y-Tt0fb#(EwZ zg^bPpf_7|EB)+dCInu;~u}4z8lTv?qUhwO;JCBOpg-3F9di@;lT2w~7jF&u)V)xed zhG=y_2tn*yAlJc;R-D_T-~MnL!H&jX^yenPi8oX}&R+zQ4KlH1@!Q`M8vA3O9GH2z zgZtAFQ=VonYEJt?=D8aLKJdF1e7E&^fo6EUr1LVR161>}4mQ8*%sE=cH_!X!ORR#u z?d618KG>RI+bLacD_z<^zPcqxhdz(mlZU@pO{Hb?&DZWHTF|h$xzBwJwU|QMG@v@< zkj~5A7m>5cehii1{Zs$B<4`~b`Q}?JeR8j*{qS6J(A~^)B~Hp8EREmiLg5_))t8@^ zLW7MDMX)r%YePW~ait}}Zc$^X+Mmc*bnDRsF>4LhtyfGQ^Hil=VPR+=H-EM(aEFmSA6}oycaA5gbW-P0VJqE0_Ty1xym0djs+B@PHSTNHSu(tYqX{c!4g4|X{-|2q! zsP_4y($aAoN%n6|-@ltC)j3~mR;l9lVDMA9$ii_8u=%_)FEXoG0T<63{1D17UVCbA zEzU5*+8by#5Ly%lN~5{Xu~sHdL!o7~@pvO+y;`JS3cMdH94St9$%J$0U#%0wMFY(z z^=^oGuP~LCyJ;ShwX|BnE^PJ-PY-B#OfM@RbOVF%PkB z;6u>Ax;V%biY@vVlfr=%`h;kHB;DR7?eDKbE zlnBs9jkw9VDag&W10LK~eIlL)H-GcP*mg?CN5|-_$^P4Vi5M45`J$-1SoHJk5fXLX zIE?Z*22?=e`B4zr`?(U%xcY234$+WzkHqw4)fL(cG7=(J)hC{Gz-mwya=7qH15`FQ zPwg>;$8^;A8bEptXMAnbka6?-OL~B5*xAPTAf%OH6tu_zq0s|goGkwa)THy z1UnxD9wMD^oM@!iC(OPB-HDcjp{}_kRfkDll65EfizEv@S1l|ZhSwpRX0`|p#NL-O zF?u&`)EoUu=z(f^F-l7MWF4qs>G{r5$Y{c6p_4Z8baFexqs1qD3HvX|vrTxWa=QN{ z3SimC-}y4WP@4E{lZ2l=RV2p&emPosqS(N+#_{MU*n?DyK2E7aS*=ImD+a66$rdXI zL?y2-moZ9cOx=~K2PUOj)BBCwj9Y_YcNvmFO*tD0kns;Z7l;X*k;{!ak!TxJgy<;L zp1(22H9uj$Ok}^m@u+CRAq}r)+92H!#$_?`cfM3FzBo|4HdUT2QIQw#}4%ejodYlysl8-)o8`wcM^M$@ZA;VGD;-5IQ=j83|QWfNZFQ5 zK=(p_H2{JO?Ox)@_WO`n#tSMa!nPA6+auU^-oi;boDuVDL2NIFC@}B%IfvfRz=^!E zUoh?NqWN_V5P^~4e@JyfiiOs{8XTMa?;1}BDn7VPYEAN7;# z>}G;GDB0(Q)@v>rE(Jxc!RcR+WrSaw(CvOX@gM|BmGR<@8%KlKG$T()&m8|JWM#xF zvAM$=Lvc1O!3(6Bb4ygJ*3ZNp)BKHPAPfR1VQ_#g-r@v*lY_$Gbgs4R2Sb$ zeF#=vqg+C@a%Gv@Q$N&>Lw;;o*3TdLcCqPB-Z%N7PYG0}m+z9!SBYCtv>aD`Ck+J+ zLG3a5+!uHnDoBHf+t!Q3q%aM8L@AKzK)d+mCv@3|vMV4mI3iBndK1~@aOf!Ck&cK9 zzYX)w;BBvsaUG^DU49*jDi;Z=Xj#bJ`Nf9i1$iFb=?Jy=6_F6_W(cDE zfY7!RaQ!@Sfkhbj?Sex+t27`7@C&}i3_jAReh6Z#>ZHQ-N|RmdvuvW$-d<(888I8t z+*%QHuM>IRt>xDH6H$C>dL68F(^&JCJPVWP!imV}Ahb3PDM2;l&r zGSZ#W6VPA4BZDX|&hQ@KQB#yWVo37VN?}&x8w(fh9qmThq^2!4{X>eji3yqfIu$sq zF`jD4y*$%;RrA*TF{DX#Ed8p_-SXjf?AiIkwHJc-(677I$zQz>WwJTI!Jc;ZXZBrF zkq#H7bV7Gy*QY3m zVkKSd@KL~{0#}mHW3)0L4e&LQdz0BWwgBJ#Wm^8!vS z0`2VJ^hP!1ic}|37V}gt?_5S7d>)&Lti0%#86nZw+2As8`)hpZ)Ymvrzvq`A#>*uT zXMsW~zp@*k5DuivNWq*zCERvGI=C~Q!25e-XC;H-EPl{tw>@7`FKN-mCK=i{(Gsq5WH@|69;+*HHP*%7*5| z4y{fXjj9JnmYhR!X}7xH>~riH&9V@y_KQNjd~QpLk@LI{B0`>NZ zLwVTE!@L{$Ja6ImNlQ^IVEFO#j0dlNGYR>a)jt8>6VkIdJq*sMbp}KZMiUjMucKakANX64>>l-w z*5=yH7St#=gGc?R0*&N4Lh$ufxc5w?hSwAoQD@{!w~x!q9{8NA>7)x@^# z1HjY(uxa;Tn^6NP(Eq>ZXZTk_JmZbDC9QuaZ4ithHioF0){gwUryS~J;ZT^r@ z+>lHGnH;cf02SJU+R*WscqSfjqyZKN4mo!gOmfaYbTHk2L6d>}lpwWwt#gahX{*sv zy$fe;qg$<_8KYHe*^I-LNrO#%yWwBV6;U{TSJX zWvu9sZzQ+v^ged&3vWh_n=sa?@SiTk*wJNcMn5qvr+X!EyggrR8@` ztQ9ySY~*v-_(MNeb?$h{p1LMirN|$uU!R12h$c%wPV+d~4q3QgN+@CcD7;0WYNxRJ z+|+{6^rJ`0!#CFG3m&uzngoi9O%$d?GtC&9&4p=(S0*}{Scm|@z zP4b)JCSoy+&TkK*plUJBe&JO?58nFToYs1XRY-fy*FU>nds=)lb}Asv&HdZVKp_ip za8h~cVz5H~hbWqt9TrUe=OYVaL_rGaO`VIozDlIbbt4~seSZ~kF3L;e6{b3swcZRda% z@8CiXFTi$pf^Os9dt4hB-a7;v7q`y#;<@;R_qRCZ9x@S72$mrG0+)LLK*ImXL4a66 zq}y^BuS0;>5f4QWQ2#yu5+K!(^9;2ObOmy$b_>t!dO!caxwx)Sm=*X!U?=U2&tElo zUJmaABl8D36(I^eHaAW-S9Ze;g}c)@8#7NNYtI{|_eP<#?&NX}C-5m8Pz#|xMC~+W zuc}gdRr4_sq4Z?}v_@9-R6-QD6We#odv%esD(Gwb8v(0;EHkMyd!*ezAGfbnL)soV zbylVm>D*a%=U}wIN|DE!{_=(CASO@M)Gw#svUqG+?in|OSfNkh50mwqBNHWP|Gbb^ z+qNLFMr^zgdDG?Y+OYaKQh_nuSGK+-AM`*y@e^p31ZGTULt8I#+RS{(hp-DjLMxKC z2&c!q^mIGUt|n$eZn=JIQXOXW{QAal z$HpXU57*_Jwgg-=H!C9O3$rVqE>2=^!Qb)X=NNDGJ$_*Lz@#5TC(QIZXv)&(b~-JG z#DTbt8;%pz-!w9eCUP!my45s%kBn#1co^LX;IrGXkZa8&w(}f@=|A9Jx_8hE!SN;J z)Nd|Q-3XXf!Muhqr-FlKRFq$zI#r;X%b8o>dHm9oqzGO$!U=_UE%d^(jIu?=k*uHE zo0>ZV6eclaIaezy{F_g6XKP52$msTeCrWzCiy=WANOVh*>l?pdq0ak}?aSK?skNCO zPdCHH(o?q0%y0|}>p&^@-sz}gb%u^CSEbLzqhnr4>A}e{4NFU^lm4%-buMr;Do-6E zqsXA8a)j50B~-xF@H-FQP`NTKtIs-(r_D- zzMb!7ZtQtoD2+1c=$LT+1rPl>do^3IH*SwaC&UTTNyQT1D}D8BTFqTjeU!i(<-j=a zp@Zy3tBkO?l@GR+JIoeKGuc(}d9v-xNDa8}<1~(Kfhp`6|CfDF($6-&2u^x})?N85 zHsZHMaFAF1zB}2^G2~kk#E9O*&DDf&*I{Z-^-)!~rlPieav|tPFXlI`bU_C~4Dy(`S;@pt>g?)1` zy95W>^K=^V~gfhqn;pZ zr{!rYNO`{aI(Z{v{Pb#18u9ZJY5E`Z2X8K_CxM-;r!Ym2X}m8a+5M_>xbsut393ow zvBJc$)_}!=oOzypFehq9J6(ItADe$Xq(*y0XuXq|lPO=S6qi|Y zCQ&UH89Gct7qV!;UM!YC7A)4aG$Bor(0U8U?7_Y9G8BT1k^o0x+wB1j!bSSsPM>yA zZ`F@eM`|xSjb^{kv=4cqzB;Y@A<38eRWEHPmB(GfQ8<8%8u2U}khu)$7#!nfQTB#m znj69weR}*{Y&z}rV?9+HIZRd;9;H=qN+5-8kX-TimBb=2UVU zwVvhkTEoen9y5`Pe+m=4$gE+PQIE!#Z~{EujQ8F@bl>eqAoxGfryXFZi*W3uxL=?{ zBYlJUk?gv#a9H|h$xCeOc|}%|NiV2QRQRuwD9`TeH$>e6gXaI(|K8*cKGjBiZs^~K z8ua~|{%( zk*d6<8RXY^)#zQUekey%+xL(?ZtZXW=tlTrBH%axl5Amsh+d@utI{|DfD0U#4v#3g zaKdLl0RYJd!jg!JNx@BvNd@k~Cu?i=d*1OEp*eV<;F1%%RWLLrTh}N^LfT0D3AvE? zqx>Ve^yjg6BDri|W=XkyL^gqZsch?9XXL3RJH9)6K$ zJ?^AwR@a%WFP_Go!tM-$DNx;5aAG_jIow%WYEM16)FI0gt+l;A00k1))8oESp-B)E zi4fE$O(N$L#NItgEw_;{O;Myx2d&Ga8RdnactYX#Ew z#LBWM;>+$Gw%>n}o%CEjjL~_}LNdX3O{0zS-ci3tttQ|=*vcnF;B*>qQs}V&y8>;% zLz;>mHM?dot}5P+P}!S#4{Z;;y#n?Wj(3i?PJrr$b`dv#HG!?LOFY6~`Ucp?ll~B~ zW73O3)yDc|IgRPn@sB2Myn{@KqF!jvgvkn&*$%Ie+&R1!6O!7|K*sdWIeN;f#4;c^ z<0CjJ5C2SDxE~d6nDJS#QTqCLHKysA{`Zjhfg!DQ6I+_w$nc&>h1IaBaS2LdWxcxu zgM#l~pD4{(fr1-$Gr)YoWvBQ^Ll}DTt>aH#PBS`cL}g>e-A++w>seMSj#4$;2`Zfs zt9%~g`P|u6C*EK#>SQEyboaBS#b$z(3D&GCm}>AHr^fI{VsReHmeX7Ug>mm;KhMh? zMxVsCa3C3Miz4cE4*M}_q&C+KTS_PAmtoh2CH*!oGK_U^5ophwE?vm|VnW0g-t=8L zjgL)-_u8VjHr0!4syr(a;LYM(qC_G2@=+t!GH`0Cg@<*~Wx0^AHm8`yCh9A;2)64> zEz1brd(mb-F;(KdSG4U^MFu1WXx#BQHEvqAuL6+Yjy?5nwQ%>?a$weWcHZBEEWd}~ z0b%Da1S^QcgIf}Kxkr@@Zj}i30F*8ajAGnzyZCp8juUzich`W&FU@=#QjEJ;N&F4c!xziPN z3^^ErC0tZ*R~M`@-pKDp%MK{4bEf1qzt|#pBa<*u@?kSs4b5ZIB_|e-)kNmJUD0mT z$h^A`ablmI{mDgl>mQ~eSn9cAHrMKiN_09_^UK0h6uaLhNA$f*_nc?e8}+gL&S=gS zwT;KUqU~<>ITn3_rtON6veB}lo~1JN8W=K(w2%5@XvOO9oX?GbVH?1MInA@Fh}PXA zxYjf!hA{`$ZfMvRK@SOHdf0v`s4slwaA!`ePz+2X+K)q$#%Cd~WP=;NE+)A};0lVJ zj-No*NwP^A=IjHWVB~TFi*Jis+Ybu?G#T=zoEi33$;J{|MITc?!W_rJ?osPd82RO= zUAGOR%3{gJ_fX`-b9fxq1;eVdEY^*@x zX+5&llhSVE8w-awdi?X+g)p+MSCll~WeKI2vU+81M0bHAWI6Opd8%KR&b6p_d(?z! zv@@wKDr=`4?C7R_iTvOkQAHmxHs01ZXPA?*cwO$TIMaL5RG7y@%-d1agw+Ip)fHp#t zgf(Ct=vxK~7iXGmUC&JR9+#0M)LFZi-`;pX=L1@geQM~``qD^iQL)1r%9GlSNQr?l@an5SiT7AZ`y?1h)ZU^QwY!M);r!p14*cXRHj?&NM@Pwz22415x(S}zkQ4;x3pT)iCh{HANK{)LZT2Ob_P zU4(7URezJ6$=Udh)+?CK5ljs)On34#yuc~3PlBKI>A^46%Z53CA(fa^08XEBtX>j8 zP6Z-HzVkaHS8SrNk~te4{uNlC;C5_QC#V(N1EzvkJq&B=R@2oskUC>2;#_PNq$XiV z{gk^#CQZM8EMbmUR&b+gV~c=JtMgo^t+n3d3r_N$H>*b{(#sR_7Lj@5{`m@PXGFx- zN@PKCTy?BDn)J`-i!Lcl_mspIne&@xK0lT4jHdAj4f*7{D6%mHz9NTMR)7lq9!gD@ zO4JrG$Xk8ISebdHePc<%chf8sX-1Kk!{L_NIuiB6*51OVzw7gIpcK@tf3U4+PdlU-Nx*vlmVbcavHsYp1;Qirg|%!8Y|2 zi<@5W&7R}zhHV@hM=I{8p!H-iep7xP^HWD{<`J)?436cqG5a5=KcD`i>}Ep(+0@fu zc7?fW0gn$8sGIzz#o9N=6oy{)&IO7y6>NB1ba2VB@``HitRW+HD#n>qt0dtf!h&TLo`J ze%2HPNt9ft^q2Vb*Ao3JhxNI2Bv8d(npg5mSh|Z8NDVgW5aTVrJWCg$L$GG(|Bx^m z$9!T~BBt01XPOI(`%uIY>B>z!hsG6CgVaY??bQdV5`7<7xjj{08V2=zUagtl)V;Xo zuVH62vvHPhLocbpzw!cBJ>i*c!x}4j%WcDwW7Q=LtZ08VP@|a7R^jbRuh^n))+J=U zu)P{Ha{4RZtx4`8;@oC)^&Y20I<{mfPJ|dJYt6pVH??lueU;^?kW^WCcW``KNLh)}>aSq{{yiyPJ*ye8H-HNB`&J*I(T?Gl@&{NDfBiFhXE@+PxJ!-i0fKV2LM zTQbd5DHU5@X4fhlkez4q9*`8{E0m)2&w6-amJ8g?&?7Kb)4YwEBwLd^#f zmg7Q;*vehtNrs{}?bZKzfTRWZgGzu#NA`em#$kKQP&dwbQ?ao+2x@5w_9R zHTM2QgLZ|_u(mpH!))V=LZro&lhtoGN7gb*6F<{06^Me3uP&mGIaA#SlP|pQUaJ+9 z(#6eK7Ni}(Z$))LW^wi2SlY%flk=}Ce3v``U55{mY5hqLgp8U0J@UYIkx0B5C53Yd zci01vJqpTmjlj%Lj^LpOJmUjj^$M8NkfR4R70N8h)=VEDs<97Ze7l$}4EENL6-Oy$^bpJP;md;_0Vk6-Nk#F(Asfk-@bd zzxWMC*bQ`QaMlw(V{(iAJmPZR$!;Kny0Amog3CzSlIRS+T7&Z;u0x6a<8odvb;$D? zpTwz4N0b}0TPxlM6>%Y>60+|9({PfV+#pfx7yB;Hu$% zK#{~wYKRmL10{H)h;o$tVX7`7`}zhsP$o@&n1{>fx)itwAFp+fryqJuwl=gZb|`Q{ zpy_Q(!XweIYCT^CV&r}<#Zc#eN6Gf%Zwld zVaXKf_Xd#^3JTOhE)aOm-QfNFnMNK4=Nvvai91O?4kJd|-y!ZSFrhw(o2v zhi>(|(kC*)9FF=?qP6!XA2(Rhdyjpnl$m)VX zojNE(fd-)`C}{$49qSpin{b(b3&Pi~1){V(KiTawzt4)faE_jB;7I+f@iA-(Pl$k< zgmlZ}4`DJ29uEcfc_U7qQ$BfLXg;T%?df@orGz+5ljTFH=k7-o+p#dj>&%{ zUaaFL@Z9oEBS=J|B#j17CCudrIJG*ezE2KdJI?S&rFQ=B+}W5mPc!uBD`Br$9F|>* zNHkb)d9G5jU12fuu7f+tfzI!Wmf=D|xCO9h{ev`4D*Rr6qMF-#Vka&OkonyMNxlEF zSMZ~}^Q|4O#V^?ad5d*O}v8XT8T+A;X@4HWETw+v$UROG~ksq>Zb8KB0HBHu%AUfnmrp{Mh@}i-$ z{L$Ra!^lTl1Qmv&rJxA90&ur-_}gSgREvXuwADS4OAPhBM#^>rG+()z7h|TdOq-tD zW1yMHQYdm#LPGC!BuU3bp(`9ht9S<1 zSV`HDs>5d#%YI4Q7C&EhIG0fQC7 zWs`(8LTm&wgHzB-m&~S9BcUU}t&^X$*`K@dPu-hS4&>li3(Y+B$KaS4@hyU8O|cEb z0PI;_*;y{?&9Ra#f8E-`M$#}b7yogTc}Z}k}cyJ7}^ z7%8ke%PEdbhD=4|JU4j4Bu_Y0ssg9&8~fbR^vN~ByNVMLZmQPE=4sUry0b~+wg0vzPEbFRFbA8ot_(|q~|H#2+p-e6G^JMml=oX4o&j$~+=vS#MCI>$FMa9K&!LoV=IbHd_j zv3{Xt!*sGqv+$x3E{qEzL__>o*;WAav~{wm)W6{_D?9gbpCBXp0%~Mfz)XE`CAM8`3au|~QSNxgx=>Bc z|HKi+b8K@2FVMsS)^uI!C6<@3F+U$_WTsI)LkF6eet07zhXZ)g#Ut1QFhly-k%&v~ zpD(mcuCp*1d|Q5BM~?u7PT-W?pb~?mZNfqb(sS6n=9+T<-+3 z{3llPLBksMIs5(7TLf@a^A^F1HCRReppQ~M+en|J=didiTQF1H(4}?m+xji%pevE< z`V&i5h)?B7rM+(Dn$db48D}W6b1xgOekRuPhbW_3}ye zt)I@rAN0a8IZG`|&FgJi9hWkd8!Qj3MRCC+I4$+1##hTgI0~a4g%M8vo*KV_Ivm4) zFNp3c#m(@*E)%C=aEO56D6)S;IB^tAH$d?v{jvg@tR}tC5ib*ZR^gXW@XNHTO$}p+ zbUobYD@0NWY2VJ z`Di=pt_sdDHZ_v+@$@UKlx-1k!`rKcMISx4?ie!E8W}vmbnsZyfpK4~drmF3`Vd;< z@Wyymz|>`yS=%gaY0?Pbb>x1!5%7afcw}6x5rih`S4j|Gg(0Pr6I^JExy7|bFrSgI zM{*>i5EFPfsgYn@M5B)jF` z@C$rz9nNxH1xr$SjUMZBvN_@F401xn(6?RX4(}a38_O?-azbbPB92lpgBK-hS^oNF z0C__hhZ-p_T+8qeb0#32hIy=GDllJG&`%|n21Ac#v^WTIioBwqK=M}?t<#g$Hz!uJ zi7}3-n6KoVPm~px^dItB`boyKREw2bFTwHxBnS1`G7feB%Aw~jH?7CC3V4Y!l1An- z#&Qz22reL}&nB0fc2#EAvxz6^I+~`gPdunWMm`V(CriW3M#AV!`c___uc{#D<+@B9 z`5~Epl4pK#ivamxWNqXW{Chkwq?M+s`3BuA@#4<=4rK-J2S)v+XT@lJ#u=>#i5TxG zx`Rt)ufr=tOI<&R=1COe72UMP7^Qre8PJhtsyi6Wl6BCWty7F{5-5l4 zkApw7Db6n^NnoZMR5bPFW6=ls7y^1EIkj#n$$ zr$Xi7aHub?+6^$MasI;|ivv7pyLbff-GF5aB_8d>L<}LD15^R-gK4^B!+Cg?lITl~ zua*(Anl6`uzQG=OE+ z52~K2^UeR0EYaafNOtPragQS(g*HxIXL5Zx2#D6KjaPu&C$~61e5EVrE#K;;xd$5) zMO3B7MB5li`}c~XdgTeU+9`E7)q z;rXg3*wsGU6CPos%^K`@((QcF;1rs!OqZ|3uxZZ`x;l0+qXBHJYG2g)MEcBQbk^+m3LuT9{G-PU}T|%imUx*c$e+c zh*0@`s)yUt z!cV#2oYXAbAHZsc91py+y#wbz;>ZOqWV#MfUTA~UW@8t-45=^qJ?qj~GiifEWwwa>V4&{8KWJ@`-Bt%54ZH4$);R>SRQEqA zN?QNs!#q;!Ta^w$pb>-tgh`F#;u$kvy&`0J9<*^XjL{0}XNlv}J@ZOm>Bthg!1w zj?7t19>^U61$u>vc}g6K_oZrRYqGuYp-?Eh`tFM4#CQ9C7RLQP-}X?PcIxA9zXh!r zoZ|z9PBU=PfAGowcdrXDwD8%uK<;qw!8veGgNV@(VR^@Kf#wkk6G06TMqS_Ie&Gcx zD5-RF&pmMM{e4O7cH2pKLz^=9O?ymhr1F6FNCdjc-^}n zf#vexE_!lxM5;sQ%Bz~-ar+}!z!Cvrx^iq6WW;=HXTT`B<*1PBePn)}|NL$nM@H<) zj?327v+FCSqhPixsPFT|MD|Y|}v1ZV_A&O-Rv?TxJQnYt!Y4eR`rf!cJ_c z@#6iWbv~Z?&FZ3-*hp54G^RxCsp;CYX?Djlt<2YQW}EAj8?7NfKt)ruzKVr=RyN8i zs+f2z0*rq(#!CDb=gh|&15g2 z9ak$)W)Qi{#DrK&J^lN&BYR z-`H$~EbL@w>wGQt$w+^4wc2)6ISQ-$;0{md{G_ZbMeOX|#nvVAZy|YSUS>C6=^I?F z{^Xhw;g-|po;r0Zizfet#l$$t`35bbXAy4ngGNm;)nme_8GRP>OJ$g%IBEbq_N1Hjj=xF0x_~K8Q9z!s5a5p6Fj__ z1x?%ej;Tqtdw#M0tzyPEw+O63ta2k^VB8@tO7m)r*RO4pvp+;bA$khN1EewaQ2b61#5PEAPao7dJC(ogbD zpIr+k+9GhqCNQ*YuGdnCRx9<1)*`bNQZ0T)$#X{WNzqt}1YvR!`auYL85hns?g{f>)68x9Tm|l!!xjmFw?u*K*s>o<@ zJ4oZTB*e7fPUfX1jOqm(ed-nM*HUtoVQX%zPVofB&JKt7<#OL*bN>NfRA|+250Yvg zn0yyxYe|wPKGP9jq#)d>yBh1{fe50SD2jw4RZxM@k*a7^dat1iih$Au zq$v;^s6jwLnl$Mp6zNr>Aib${L6P1?2q=LN&s+&u_TJC4&-=aKk8|y7BLuRtW?Azd z<1XW-l`(M{O0w`*MptVPMtfJNoW#v*ceTE&&wYvvxy@dwflj9@V8k9LtZ?ozSxKf) zTvL1bgQCyEZ)hon@Esg6v!EN1D7Zdj7CnyW{Jrh_8}W~=hhcq8-0tZuPd!t0I+vK+ zBW$LPKi1LeSLuw%!|-qmKPSA7FSx4+;2TJZhGLR}IQH?#SOWI4M5Y(Yki$%kc0#8s z!~8zXoJ9vbZS7KalBLy`%7SJ_jGh>kQ+{dXn>qiIapb|fK1@d%0lyS0`0h-n{{_8Z z1&!nle>lEWy~p7>PR_XKv3!zw_IQTfE7h5Z(Qnlab0d+RA7~~SB31_amItW(Z$&@a zo5pSYmH}~Ch`pdJ5$9NG#ri!i*MS>`cFFjv(K5S9BiOH8epQyomx!Uwa_wss5 zb#dpX@y;8x=avK%=dY(S=HU%7@NU#;?*$v~?k}klp=jD1M|9VjvrNgSEiz#X(S**) zX*-D898}3TshlhzC>x`Hl?=U=TnwRy_Y(R9PJ5lO=dv%GTz!Z6d$M**X zaC9+=$oAe4KxyuRMo&id4~oOy<_xujsH}_G zwrhD4^d$w2i3^U=SAxVckUOl9VehG0Gy$Atuqytw34g_}c65<_h?UO$UX z4aas2Yw)4j#fWx9i;l@aHF=wsnS-TNp0C6$eA$s<8+h)yyt%wuLSO0^Y?yfjW_&+l zmcbUG{E@;6(fCq-7l?>uCjfggBgmr+Tw5~eXLYxG=KH8xj>$YtD1~`R9z@xmY-+%H z+YzELG$8lEo6xkudR?YC1F7UtVQFoEXD0PMkkKp($j6SCmMCYbs8 zi|oI?0Iu`bo-kXvStO?Ri&2uwl_5{H;HHish>7))P}^@=Ne~($71@Ctc_|QAiTpj( z24R&T_)BNK$~M;xbLGlN{G}%#rVtw;;zE7GT_~hz;fwCr$?}KGRfFYes(zGFlqI61 z)JRIuCM*9wq{_~iMF0p5#2gMi8het~GE}=$qctsZFo)tm;JpPByb4D z`t*aK!b?TUVo1+b5d?=ozYM5DCcN~xn(<^qnnLtWHAy-9{=@Y80Y*Fa7bN|M7VXBb zF6d1>RN@^v&LpDkFUvI2FUrVSZeJ&u6Y-|)cR)j~rBy5rWLsU@040Yf1vPb##leV*$UZ-4rCM%QO!R2Nx&OJFF z6D6m3)rixo^6q$!dmj^AlR=?v~ ziU*Px0JgaoO(FeTXjj(2AjMOll?tnQ@*>^aGemW{O=VWGN_FE*t82Pb|K*Rz0E-h5 zKc)TjR&10Ocqqmy(`06(kskzkyCpFJM;AXU(@ttef zKPGWKF|EemAGB`*p*%>;1eE83e}HfjNv-QwSZ9l{L1C1i1+pZ#Ow#Ew_!&AQNf?k( zKeN1Sulkx2#(Hje>c5}XC(_aB9!)_bA`|AV`GM5Gm8A`S#a^)?y)pg6`4B?o<>vd< zgl`pAX))IMk~kHwL(3MzB8z6O8D@hskxnQSm%1yrz7x&3_BwC$^#@dP>2?>aV$~== zi&#`dF$n@*N3GRos+YSxDjz88LTQzmST*F~adn=V58vW0t2`1+79eJMJ497v>M?(% z3Y+J!>y$pRC{T97_r4^#>LA1_Z%*e3Hq6cG0N7go3F;Ucju zazZ4CrIESUR)Qwv)%s6LJ^wPsUo!xlYtZI{vM4uYqsXDizve5JD7`^zSGR26zhC0) zD9n={;9jYBG9O+zoE?Q5(YPzhtDgcnylSG*a{!5#|99T)Vs{4TU<7WO^$~v zrX3H}xItl%zmPRB=;=-g@6nPXiYKhY?^(}C;V*g6kY>3Z@ji->LG!GeQc zVcHLr3wa9Lm2}4Z=yr8*CJxNyEsf*>bf0L6V}HF{0p18$LzBs`8J zW?1A&zvw)&-&)|T{;tqz3v1&LEy6xCQ%x4+LcB9DbZ*7nEArKyCrngr44FnoJ5hlE zKw5dBxV$Nc#(+0}rh@H(O=5pty3OLloMAd7dw|GB+LgtV78$+rAu3YTDO&f+xL{tX z3uC+QoXumy927a1%{s3~qyBJO^ZN&bd4;p=E6xUwh_@)cY6u4sfTK4|cqH<@?Z7}M zQ#H3%S>k5|?g?rsLh}a&V-o0pOs%sP@JG(0MFn$Z^IhZh zXW3g8y$vz1QBrPkG_$Bg?^2tc!Y1O!;|{ubFkd(F9ZF?i8>&LB9Hx7Dc!_!GMIQhN z4~xZl-A)~Hd^xJXK7^`QW|%|qqh?3^8763&@}z7lT3@u9&F^57bZz?j6hXU@)cz7x zDYt4eN03ULGE)PKa^wASLFti!jhoKc{XIvC4f8F;4nWh;i?Th>@1FMTVMOYP(IK@c zcD&ZJ$nY^yDD2^oc=njrd54=3-67miGAbNhh3H7Y1upOR8uysScBeSiFvSqLgb0Ck zM&@IhA>!uzM(QVCbTGGfsam|s0{F;XTa`N#B){kXprFKbrbKgoQlO*(8cz-08(vgi z9=hA*kM)~sxv(#k)|sD0wVzhX$H$(0l038YMI8}ISDmyr$G-3eNP93QE`CYKKA(iI zT@LT|VZJr#F#^BFT0spKXN_?I1kqYL2xxYk84rlQdW8R=7@s7{)8O-fb_4x9~6YI%=Y#FrW4`*d5%Ak`T zVy%$38B@a=@DBJe&IcDYjD>fi08*m^&^+7<9|@4KG-_JH6gjk%jRnkRW>RS5L<>5F zXty+(K*+QB5TBemcyn)ay5Cqzci`^sI-Z5*o*wVTRJ)sU-$OO|L(XwZidJTYwzlV$ff=ot zZ@rQ<0_DengqOI!`f5_bhdP>ss@@EVxQW?;saIF;={!3}b3w=YI?YG4(GQBhkl>ay z+_8dL^}MIrCoeMRGB1vq_Y4yTz5YhMy0_ey;NMlyuJmK|ETX;%)@6bu31g|X9kaD4G9?QDJo?MDq3IhnQ4wZoEyT_AZ{@)tC{OQNN8S57<^cfXuRs3(9p1Cs{;R1B86!a- zN=}gbEia068{JT2(oX>29jPG|JOSpklbj(5`MJ%?Fzkeen0HHG61n{VZ_hLHOY|zVZa28ljWIl-OVXkaL)`E6u$Wa(1J&kO+&v%6~kCC$M zG4|r@FHOrf*l$v4t0-_QxF3}+t*(D0yz=qM7cESp z&rKS2crwM<8qSrQXl_LlJY zi8p74mj;|z+!A)Fgz3cZiaR2`3+X?)_q>I{HySJM!xiiW{n0^=GIv>6O8v4W4#-3g zcpcHlUjgzCyrg=!_oXdI3|wlJJV2mN_x@Z~z`cjLgJ^>suV=kVnxEKo;zMYPqZx}P zxfIk!*}3EF&R(wUF)rO-f2vC%eVDzw@YVx0kuNhYGt}QyZ>L$6wG9_L0ReGSXyl~z zgaVkw=;BV;wOC}5Gl=RL=R)#B0G=21Wet)@5sAYADI73fQsGb;)NzM|@*%P0Co>k| zkBjU0iq>ayPE3na?GYK2bN_mIU1{`NctM~B4Xs%J1MY1;+s4dgOuW*%S`IGf>cnR& zW+hCR(;*6D-F>8Md=_K_gd3TJTUDLX+SQGvz)~CmabjqVpqsob3zlY!R6@4~_61b? zN#2uC#u<3aFZBFVjn0ddl?Ij?Fl|rp2Y(TlgJL|JQ63;cOBxUP!6LtG_Xz3S$%({y z5GD>3>%CvLI$ij(Hh4ubEn!ijb^e%#Gwz7zuB`c(sUBY zrB!yL&R|=pe$5Cb)6ZZVI&TM^;3&G%AO3|gYefxo@zyf9<97fA_W=K6d|o1A0lI?$ z_63O@n_ka{i#~H2*vZrshiXSmCz#`|=F00de~eu}$wu`o{_Sa+TM0?b39d88c4V|M zxxaP^T(taC8HO|&E_LmgM*BJt$_o7sJ{z8oGTbMZuhbw(`8r1_M4IGs3j$( zJ`50xV=lVlHF2VvGxO?>VsDUVbpv}-tSoh9H(+(E*mGgCM7!ea=T}ztw%zj9rK$DS zS(haZ3&6Wprw$|U%sjzxyPY2N@8B`$Q1&oyQ?5&%LX4}DZ-T#-0UK41l5|sAaS}DP z6~-L%I5eP=SjV`#)GzW$olvUxFy1*G|Eax)RYf`3#JS0bUQ5|Z%j@PNp{0=r5kxCr z`KfAyw}Nf~yt(n7XU=jeUPyoX=&;K^TFHLYM4e&qSjTvK!lYe5h8ypRK!y}k!(K~Car!-ux9NU}@4qE%J`^ASPK?=Hbmg3SM&`_^!oYrCg$iqc4{Az*sV{G<9f0r_ics zkBRjk6z|+=j;OzmF9@X%P}%Scse}Tx%O)U22rE1=sCd%U2&Skn=EZl;j<{N9XcnDv zKHKY!P4A^B?&=%Y_wT1F^+qlXEerXAA$hlenkW;x)4v4>vKeq;OEDLgN*=5!ss+AB z8PVn(y?o(FrDO|C1B9IzKmaoQ)(;Ai9U#-xpvWRG1bYT7t_T*?g|RPLv*^SUExlaZ zDta?Zrh{@nn9@*A+Rjby+1c%8WtQ4ZD2die(h7|PgkUm{dfW6tX9jA}N>0NYd>qzakp zv=0-$;tDvErk!CF6uvo#^We{&FZ`guoB0APjWIP}4n%Aqq2flqjt=$}y8vQH`VWe% zvMj|(p;mKAuR=`+_`3Q&s)BqGlhz|yUi&|enXj7afHccVre#be)5>8F>L>n6o@)>F zi$rgXiO7B;oyO*@*M^p2!P7E;M2xN03FSLqfGx*JS}g3edX#ybE>!a!I%i|Q6_}|- z)GMLoI&-#Lf(n2&E0lA#!(`e=+@}bWja_&Su!FIyr zN3xl5A#UMs%}_!uVjd!=A`VhkCTL^1FNc;fV4F>(5{#mGEg0V&76>1s$5Fk!Kty<#oQfhu2aX|ooIsx@cN zz2S@;-T09Ah5^5*e-w`z8=crNK6BK14V#fY*u0c}sAbMYb2S3KvI-`IF^F z_8fX&eh=S+T@)Jd*Ia$Ks5-lDcgLAlcH{dmkr(sk(^C zIaBqr&wGhqgqHezG7(q5ofUcn^E?rp5h(HHbSj3p@19Q*pu5mx6xIe6i9 z@)ICf^19tTtZa9;+_@|Ek?*5GrdzQeSui07qyUm(r{b}Lr4TrUfT~|vVm5f4)SM@q z*SHT5x@V7f!cX>ch0|aD zt#xS5C0^}{V%7U1jqn31qG>xtKoDi_Q(y&KVD##wqx4=amzvie`~ebpko|WD$T2`I z8D(E2x{0VhlYgXIPMMr}nmQ`*`LoMJ3tSVdv{NZhR*3NacjKb{oJwhk{)@yuQl2BS7yu_yl~T8}et<;|eVwrYI)@wL z4q3f0H;@2WmI{CvB}w!ZBqHWG1IeeyV55@#_h4iF0;MUZ=_;bMRBE2DG%X5I&YvaD zDp!yqL-n>Yj2?=M`mL-Au~rO&LjkC=SGOkN?NEVhP}{>- zFWLC-o)6{SlZLb(bXEn-0m{8HBv(_tNCaV_pIvOBZCxS)1%w`KDlS4AaA4Cz0nB{z zBeEGgkOvioq>k}hkCrD4q671W$Ax|pDp1cr-Dj$UviIxT~zsy07B%BU9uSa~K9P79gjU`3-!$3G_?D+#aCJ z)du-?bV55|X1gJ(;K2g1h0+E}7Vsk@NPInSPiHHf}kIi!bEqN~k-#k`FhvHOrT zt?$tM{?!wusrLyBG|h-Fy~LXqk(q$qDEf@lEH--VH4inD-sLvcpQSxJ}crl+)@#%O4bh&Z={dL3naUuI<;Uo|7{M zCqhi>-%B>hUqduI0YB;J24&4;N4%9%`mrXT>t?#2i$zr%Hk9z!LFGhQswiRc(Pf<5 zob&CBBnpZtin~Xskt?U{KKR5s*Sfk=>+CefG-i3QH#g7;quM{BG%A%iCNX!O)9ZRDK@I`~duTS!gsh+}LJ{ChV}A@t2QFGuC6GXRx7 z%Qt9E`0oLcOJ{8e==W7k+114!{22v)lXN#&q7~UpJA{h%)B&G+L7i?K`_jGU4_a)2 z_jQDao_0U&CEjAtCN{t<8I1j-6J?1Z{PfoYi6;zu7e~>#@7&f|T@JgYX+$3M=P}x^ z$gvF&1M0FY1Pp@6(vrZN&x$3y26Z9aSL=kX5@LaQ)&zL?u_E!rYGO1nkQdP@>{0AX zLAD9FU9LYUP9(s*0cn#0u65pXz>IsLMoo3r9_4Zw?L6M4RFh~6S6l;y96l}P+|kD! zxFdW02IGUb=})$mEi$IYZrs9Y)~pld^9Z0Ab#~~PFT>E10BRx@$$`u1jT?J0I-%{t z@0IsGV>@ohe;5U7^i#oS0SwN98Nxqg2l;_)@6go>P(svGAm~c;L^VY@tIpigTpi~o z)CRBm^LQuXh0+IX+3X66Uq0f#v*D=SnE3QP6G(39R%djn6UxAjo8w)HIqm?~G5}Qu zM(#xaatjth|W8>%eQd&2Zh3F zqAt-tnb>W<4A_G8Dh4}cia`ByI&!1W_$&suigkXsQy9hK8tn(_HC zF>5332gMb1wbYRrL;Qo~F0P&+=Amq!Jhsc0D|-3~G>8>cAGnbLkl!U|w-%r7M5kT5 zzfkQ?vYcR@>VZp@2EK^KN9aWCxE#K7V}pI;nB+2q_u<^_2@6v{D5j5M!6ui!fdRGt z&))c4)3|)1(sg`#BM$&$JJ`*ugp7n!C@gSHr}z`2Fn?UdTzUF!5&b)P?g2R@LYT+- z0vCumMGr;y#48tNrj#z-o2oU(^Kvh}!Gg_gg|Z1ZXpdKV(MuSg*dZSNCew{;Es_CV z=PBTO;y6S`=*(x*`_|#+nqDJZG!f#A0Vl&>#Cb`Kz2{zyAta;OPodh+qMD8N5G*2z z9L}np*t1xn;sjy23jgSn9duNSM!}ASa@a3TyzBeHCI%T&VRSMJOO?2+h34D}vz%rh zVK%YTRfri7LB%fQtTUS}C4m2Q6p2INNOVz1J1mtopv zhVbmE_;kaKlOFsb50JEqjM}YvwT+Elz72Fv559r=uDEO1a5kfNQx4gjS1;mK&M4#s zT2D3rF}^6fvo3E5Wz}&TgY<(6@0M6HiE6y-9jkP8+GkC00>RPzz1p2DO^)MFMRY1N zM~0~0Hh}o2Iw3c`AD9*G_cl|IZ<{20C%tW{QZLipbNoRp6!-={iVT>a1l|gkK22dNBQpiip@Iq zC0?#O0QvAq6)1|7IZ{yP*dG66n8F9M-eLO;|MP77T?&{^|8#3lGDQi+t(+fvi zHkQym46LQjiV<+zKD_qmD;^o+-ap>5=x|K7mb4{Kz?-Hu4t!09w?@~yZ zt2^{^mQ?N%wL2nPep%M7Cg<~r<*r2WGZsVYkE_~VN@#aY$O$tQSvGUL63-JJv`u^L zDciqCGhJd;j3AgU=y)te;N;m@6UQjhv_lBhBIhuKv&pgrfNU6pEG&@Q0!RpOmXiQC zm!w5O;U-EDYKXV>+6pOiY#HYA$+IzH)<)bN5Z8!B*H`<$E#{T5=-SRQBwLr zK}D<7mvzrH>=aAwmF=vzNiZFF$?rnhO%RTk%~yrgFXpr^s%hm%GOJVvV+N-@9%b|$ zQAx1T?05STddr$EkLDpu&RH|sHHIdlT@j#VFH2TUQbNKiB$rAF-Lbx=dk&>PZ+L3C zZ>o8lL%Qc!h@Hm49LpyVfzltzt?>tK?|udpO3@}vw7IXKhF{tmAQw;Y&ptuW0`-8L z81O$Ci{}6dYFO6DW;EdU_1t{vClWOzJt1HPA<<$eiwODHQYT}Mj`rsMMT5zX7`Na~ z-%DM^r$P%qDm9{-_S{E(y(hV5_|~mFwW3ks>K=NP*#KAzI?oj9rSr;x1l2p~1WhmG zHo-yLRC^1*QQ*x7T_KU4H2`Av)lvELfSy>@Qkcum`mgGC<@*I(p)5r+?|^}2Rote> zpG|RWnK>c(_zlKGR?7{9(TT7X8u;szlxGI2CO1M>QQKnEo)5+cP-ML178(3UWdJBL z2eA52&o|f!?x6J@xxj^W)5X6T8UfVnzhK&*k&%DQcZ1?5&{6aA3M6&_A@)D@H-StX z_&XMzx4)?pLvI2f44zh~rNF-;_MacIS*-Ijzl!wvo1w@5K9=9^^Dno(^&@nY`W*mL zhTvbY5u8Z+FVKea-%RHEIauwgmv`$=lvjjU`0X+p^wUB#TMxiIg(mVQM+Ozv6eAcH zZL>@DQWX_cZvtNy7CUCXj)PgC!m!~dy>jQ>sK)qGYPu~Hzh@&p@)9-ISFn9PAW1u8 z=OZ4TjN~y2#>98c1qYO5X%5<4?)bYfIiJ zTpLKykVS#$vf^D+FSOgbd6|Fmi`6ve<*%CGL@n~p{slL75mxX_ZWHs0%S8sxHNkW$ zhn|Fe%`kgD;t%|#7s`P**kCVq%mgas!A=z=uEuM?uB3(4nl>aOs; zX&zdr(rQJFU-EJ#=0=z=hcOU((bd4<#6IldFTQwl-}3ZG`6K&xsx>n+jLIUTO;iW; ztX7>>0eOeZOePuPt!q9kXchZgKK57U4m4y_{}vJxI^qv9KKORDB&^&h0I)9#J5hyX zPxT5=?{3*IF+-KiD!tdrVAQ;@rPF%U6e$d%EEDym4k>usjoet?_a&uu zAI65pFcx`X-uV+T3;ct{-=bj}78C3j8ijfPgW@>hUWS)w z{Y0;>NMRd~+j8HF^n;a4dUa-A5H}!xoBlzuhz6RUBYDb%hk)ChswINm*EF54?*pD$ zZ#R4$pj&1DVKXTb>>mDi2OCCnUP?I`8D2hD@ArNdo6}f@Ijs?LN z@Lkw>@bfWegJx6|)&Rt)hBh=GB+g=KG-7Sc`$oSm)(I7hTri)Yl6ESZjWO}KHW9&e zh;^U7KKz2{i>cT71}!%Y#?oWlrXNQhWRzw{o1~}u1_xO~+6h8xOOu3Ai5LfE@tA1A zgbIZ-VrwQNA=SZ}bSG~a$s~?FSbOSpHNEW(EmOE9$1?vHAB7(jmVH?#iTYO~P&1Qu zkZ2uH0|zmt=<$TLa!@qW*i9_MjPu3xF}DeMvZ|MNQOC}HU0m^U9Vb-z^6RXX{`uAi zsOHwCjt$d!)R^rL3R9%yd+`=lYcA)s4%SwcIx2aTL{s~SEX)Zmyfxue6S94l?A#GJbj_y2m#^KQo<^To(f?_iiJ4L#RPME zQqdjuD|B4L*5`&kwqm~yS%D%lbY#y>1IejY z^?AI_@mJuo6At2Im$C$}WS+Q}%M124VeCZacD$L=PPCa#5|ZMsI&&8SJaj+;g?`?1 zz}Db2!R12y5Jd=f!V&&m=D+wNA%yxj??142pqcSMV1Qo*|Ar(h|DUaEHb|WTec(-z zS-|jLL?8J@LP*`Rev%N9%Qs7R0wrLGkEl`SLq1fu6Hev@u1`MS7D1Q_0;B*6W_v%d zUULsW)@HlV%AeE7i)gxIWE_hu^xMB>z#)kNfN%}cNL)kSJI9Nd^@HM#|J7@VmjN11 zsW_j~b0-TUMRDoRgsm>ZeC04Nz`#Kl6ree<9efYmsZc70J76E-qp*u;*(gh8^=yMs z2BXgwq4l!7tmm0D44vf*S*EJ*ENMn}ww`jiI9EvHuSe8pbq#L|xL;Z2`l9jaILClp zkTM_@AR7fx2~f2T`T8+{d63dlAiwzaM8Gs^KygH?7KF%=c0e#2UYw7Nxu+cnKijXYUlqcBAHzS5P`~ z{>oasUylhY)%Aq5KuX<-#NCg16fF0D$gJW8`Qmhvo!(-p!FKWXLGND}6I{NZ@xOYh zbJ6v>>($}0n%rE=N>~0jg`TkkwFd)oB6N@QSAVeS6A&u}h5T6`MgYkuHU++4(5VyR z7Z5@R@KJ6AqYV8EZ4b~CyCzaU3L~Fyz-N&YQ3vOrJW@On>!sRM`srFkM0e0T%?4>0 zI}b<-Exef3vuY9B%BU9bk&rh|#V#JBH(8kr13OME z^0>=`4ZXdRjsbY|!BqMkg&I$mh>#e}h=`J5lX<+#JEb9^*0BU97n{^ton zh!KHj^JY<&^y9_qW)gv811%Tg1^4nH|R{bYB4 zx71j;weqfHG%5V?t1H`fRzHD}oXf|QO2eAG$+L((@9K^C%{Yb$gQlC?jLmf<@ zKB-AJwCa_dq_2=@10e8F(#ck(3bgG(q7CI1#rbW|kbZ$QJ{wJ!Kh%2h`jqd*E^&@) zZwHi`QO)oRs9MY6^1VWLmZut#8G|cpt||3Ar@Yf|^oX2~@Gr2XsRnzuv$vcq0AE$^BDF$ zPpt@4Q+xC+9(~px9NR39+jhP&@&WNVksCRp?_cktXFO!{WjDT2!+>-71?*tVKk5sT zI|SuJ`A3`MgNk$ZKPDw><%3qH&>{Ad+5GpzZfmA~FW?9Bxye}mAcdQsMTY#pd0)tD z0rmEQjyPuMsU$}LHbWNw-c4mQvPHTOB`fsioxggzK}$M{E~5q>iT`zR$SyE5(D6b0 z38KOvD3!f6I|ra`MVdI$==0)H(kMaicUg8a*^k%!9*kY$*DvKbARm%|e`DEXA_}Y6^~=iE5fT{Dm@ymBl88Pd3DuAVy9wJy`|Y|#1j!V85L>HYGQXV2-sk=r9Pd@}{ zF|5H_hSti!3Udw+ZR^bL;8pRuh!D$)&|6Q-82A`j^m3#a7P;|IJCD56gh@h4OnZcI z%=V!5>N}F~E<3 z(9t9GOEpUSQx<;W6I4!8@|kT`oFAwsTDVHgO^b6o5Y4GJVVrc{@5$v}k=+ZSH5Sk=zIB#eVlgWRFNqAY^UK*j293;kt z4w?sx4@fe-Dvx!yROmLYnU9ER09OFr20Yfze9ip_MIj`d4gW#$4P@b@JFQDWl;)4$ z-UDzy#LT*=GU8Kvcdo;`hst;4CicvKwb^Gp64?_)MrL{ZgnB{{AWSm}slG2)oIYlI zpJ78;V;O|>5$xl2hS&{C>_!f1dVtt2Vt{&!0iw^n#5nBSD9q#k?l);fBd;9SnKta9rtZ`>moxOeWHTse5b_yBb7!p0Tc*AKaBp(|No@aprpQlCfNziZCUX>Q1qs!{2<_;0bg2 zvb~E27TH&I2qkab&ZxUpw&;Z}+AJPfJmwP-3SV;pwJ0a^mY_ttrhI+L45I1Ok+^l+ z-X84^_hDJF@Jknh_za`g%q>wT;Ee+FNhRm$_U1pI%A(jY#fV`fv@I3)M&Gcp&*l!L zx-I=&0e*~weXvC%AEa=3R8m(_J)4VSO zXnYbn?N~nHWMOeEYE7*3<@U1r&9tkrb zGJ`xtzCUfomK_B4g=|1g82{q@1D@f&)So8jH-q!5e7qR=SAqGY{LL2qdEHB@Wb;q@ z3?RKjio}D@As0~sLEPUUPam+EK=gEk6zJIc&32&O3v|UFOwxH1FupQed4mepQ$HxG z_DlOlw$Z0OXPFme{d5DTNS%$lK)9oNWjo~Z&HGhZ06M%v!eKzq=rOX25?o$F=9}eV z)N!xqs?v;{mar8gr6BDO50X3UTrXyK_PL7TlGf;%Lgi?W?lROnG{`dXaM)wJer8Ce zs^SU8NH74BFCM@>C=tlmSr#yavAdNeFcUw3n@My*7*GUy@B$iS)q`LJ3-YRLX$MT5 z-)Uz8m0R;(`y$8lf;E565@`~O(V0z*_D^_ZpJ&W5Ziddh{JYIQs$PW-9=NdNpmKwy#JYu-310GIuAT6bt`xM)Oro=vknSCYmWC@i5G_$ zSO5yJ-vUF5I)FxWP~`xmfCkov1c#y8@JJS9RwvB17$QKRkN|_$_a9>B3eEAL1F1)% z&-t^@hg@Y-B4n5MOy9yhxZCI$5*L4dfspx3!2H_RAV!>fnOJe&L7k&;oZxv}N z;Tg|&NS8OZ_Pc)#ro{5w?>10p511U-S@Q9ivrH{+&r)TtP}a4qU9VSD?%OjHQiuj^ zUmg^x`G~Gv)K6CPdhnE>RL25y6T2k8_v~oNjoSMG4-2%5z;1HE^H`Ktn98qTahnk>ntoA2qz5+yNt(eo;ue!l`! z1xjvwA;%A-3SUgiNjf(hnsnD@hexilG0msOZC{yV3#3wv+vOrA+naQbJ`Netu&Pz| z9`v$4UmBZ>`I<%DNO*D?e;30Zca`0NF4#VM>fX@|o))LmZ`>m|t3P*HiM|VIDv-W2 z5%Xa-B2sL540a}{KR`zGfSk+D>raF;#F-2OMMX=#LXR@650uS=nh!rxZWrJv(DV1Z z%DN-qBT(vpKU7e$SrX#;6JV2y_|(;MN+?BsprV?|4UEdrCJS$0C~Ku~KM ze1Ft{Iuw)yb=6Vb26YvnoC0PFdNkL9xC`cinpW9m{d#bReV~#;80xoEMhzWPSq-n` zQxA;?^31G#N=Oe19jrIm&^w##n_b`CoYbMt95y#Tt2Q1VSoQ19e?QN_H2e`=F(k{7 zLF4~fcR-%C|9H@m&#|8|sNd%7x7h-p`HQ1$7J7r}hay$1zvFr6bSN8%$Ty(Y>IcG$ zpldxTNpg#!bpLB~WixyNo%sLAP@we#2lFom@ek+GzYG<6FD1ARxDv!^HwV1wclv8| z<f*sgB)?-l|K|MK;L?UTzEZ7EG!|Sco!(sX58oxOBH`2ZaIc`Y03&% zV#l1earGK)6Oj#xl;HC}hw%iLgnG_pE#Agl*-mnod4gvb;}3ep1FaR$Iup(^#haPR zjF-+&$_(422FF>0*{aDCz#td8xSzS-+Wd&*J zJ1bQ~L|qn!L>le)J|?$N`}0|~gV`~wG*FD)gYABtnb9;rQNh~?ETpdO%t|B3Jwaaf zjuSEN2;}T)8BP(n+LRUTZA1UX^J}7IV`!!UjPbm>2@`HtcS#^ShD!%)bt|@`hPqA4 z%aRl4plh0-V__N|RLS$T?F;{Q!SoX@I)qkcsdSIaMJ9$Ha-?8M&a#GCgMfZRD+N4d z+%RJeNc$35X9`-v#gbkw8wpQ`tR--nJ*t7+Xt}(OAKu@Z_A5?t5bG#NLW8)N#JHE} zV~ZB4H;r#^F@&OchdZN%R)U8v26iJpIwt^cx4R@>J+>sTh`NL&ZeqVMb7b<4KKC}o znEdS}*A_x)bxQZ$J5o~5q!R7oG-&B$ZK@{Qj*XP?z07VH{GA~=1ufxZWAM%2{>HQE zONjP>dkJbM76r^zs@^#sX(w_W&g>($(9k*Jdo9{e9^kl0_mz=O*mnH0iOz~RP{8EO zeM2&mB#4H2@toY_ebYn+c5)U^wDFR2$ z;D&_kVa*f<+fM1dFSmVsGnQ1B9ZJGUZX)_YeHcRlxa(lUc3k+~j4v8$auJya8;aRa zo4oNH*um$y%oHB1WL54w8Bs3MG9>cJ3~98QIag_2%N8r&5TT>mAmbgQKCH7qJBPoZJ@EH;}MGnAs9W8fHXCcE^{ok zey%HQI(gZmhxghrsL~{P>cIYj))PE?QC^1JQ*qeAnQ?F48~TQ}eX#vzy9E6y%A*=M)!TjG`?dN3tzx2m{BZFXcU}gR`8-Gs>*^>SJhhgm`xqvs} z3|QcIP^B?++(5p3sNKa+2d7jbm`-Ryp$`OQ%3IZ_msAx&oq3k}WX2hv18WFoFT{wn zBbN>}chiztRQDsA7wt0$C9iTSIb@Ou zQaseeLp8viS4@p{?_4cWeE#WJ!^i>pL6@YpJxyk|0j=))T#610)xuGH9_dRG-=iD$zj?uohaS0BhO-_6i-0IZ$CNsQ(~I zf@_V$L=9 zo2|Qh)$?>emgRuRtSq5B6JkII3AT`UtL zUmm7S`*S`q<_nY6dwosfi&V0EP@m*frW@d@{Bw6i8>MyU0^2QXsZ%=ni|X8HWZHyk zuT|~ANlczxoT`X;boI)2$%2oP(tYLMrQ@hM1;x^BeOyL*`as?tWVXi9MJ6y~%jdbQ z{xgj-<>UTX&XFnD?HjBEM29xBbnUm&QTYQhkLbnsKHtSmaoReC`D6R`68mA*e6XF3 zox#&tlMA6e=vjpj68O4x%mbLT33orq8^6k}yQE4!RbD{{i3#`*9+C^k zsO_V91Z5M6C%pgU{&K`NBI&f-x97n1{B=Gij^)}Z!nprA38td!+I;A&Tpm+Wd)Qn! zsKcl72SsF%yC)QgRoBu90l16KWd+6+2H0agVEq1Hx2pDm88roKk_aWa>T!RsdmImH z0;Jl~2uI?RYDc_i5Bh}I_9xEserlgoWsRRm78ep3?2Z}`3K|K3a9-F>;IZ!C}0H65eOxKCRgO8*rcBSBS~wrS=_1& z+B%q^@sdBwZ}W~Q$-nw9oae7+8kshduCg^UXj_2${=3co$4TGZU0e6`|KyK3kN@c~ z|NC&rm1@60O7<`7_s5b$e^I;zKelEH9M7a#gX-~qZJAAlMABzvfSeQaw@*IolH8`5 z#+>NXKaQ>%YGIFw49G}(Fv)y4^^=N99f!F81w^Q934D2Nbp^zUNh|y+A|E-6PIN2V zRrhp}ec(~=f^O)Y%-y16t2j*--QYW1U!*_QPSZ$>R9HlFzR7x=otPg&e%coGzrvih z=P?2cO9Hc=ub{ZM3V0sD7;>D4_KH`eu_19{)rMG;zSq~7ho2!}KPY@@mXh0i^E5=M zX2z$Nw0&sOhhF|;I+&WdOpbbre1OIkLD^GXx~3A(zo24a`5nNm(V`e z-ybghd}LKVq>v&IdZFGvG~2q4(yG8-pT5Swd;~-FIn~ho7%bNaZqdsROs>)43WX;2 zXqnyvp?(Y_aSv*$*=5>Zr=R3pK^$V-GpS-68^j2S71NBAnpGQDAz3gPHUq#GaE&P2u;es#Tq< z=Lhy$ZkGoF4RtZO^p|ZZGX`J;g)fUZF*=B z_Zx@sSP_AcM%^6Awj=csiS`R8*9MAJKrTY%O`d=UV!Xjn&G8 zRM!JOkxVYjrTZ^it|=16P98adv1+JGycxVo55kd!dxWkuI#S&bFK&yrLB$YFUp`;! zc-~NyrMEFU+~$6fUdeU0dAEzdvtaT>UXGW+1)Rm&i;9~cdM}slA=#Mo zg51>g<&{(n7Uc2>zWnoKL3|TNK+KYXWUP&b%AK!11?Sjh9Fy`tX+HP%ORjr9E!^+V zmdG+DKGU|yGU6sGePTHZe)LIBE2YN=9YD#^~`Hy+;09>o-28oIBHZ z`Cz28;=zS;re1j(_vY31u`v&SJ$93xn`56KXhCyu)qzXU+vIYz*89V4_3=qj<6vf- z@@(^t>LCg$t-Zx+1f|?pcY z$C^kBf9ND2IV%0YW&ubX?Bg=%IR>soU_qc%hb`_!cJOWH z$Q`~D_EH9k)r8q~)|o7S<@1dPdNvqu5&asAaCtMStnl#<#SmX8-B+n zb&Rlr?P5n_E4orX=B9`0XxpuiTDC~ zi>X)M50X-V|Ci(i1}^1Aa;7~n+Pygf817L1`9j>G!aqCCu!P??}kY)~9 z?wD-8fmit74H|$pza7!PXZDZ;J)wZC>gMc|KL?!cWaGIXK%U>;3at?2>!m9Kh07!& zxoKv}_m2H{(b8XLd2>kr*>3+FGx^s1{&FAx^~cTXS8}m1Fuz-f@25WN)&T$ORsK5k z|EK=A@3)LRk_Q1eME+RB%_W4q9jw3R^1ph0-@b}~+`{CINYej-vhKjJDIub;xkvoA zJog7k^K)$^lO|3k&Ss)zcjv;kybk~s+pzdN(7n&sCUXy;wZ;sBK8`;PBdX^m=I}C4|PUDU(vQ53ZgG=w1{y)rp2RN4P`@e=1q2!Se4a&?YB1)xf z5*}n_mF!VUQ!13K$S5M&Gh|bgtfZ0%C7U9I215Vyy6@+)>RsRC_#Map=zVeTYo6nC zey;OkAh6kUl~5zXQ}#o9t`nYYgq@F>_l6(viM#l&`Te^)UK$leU&FSOwD_RK^P!RzuR&$90-_7WBCv%q~9U z(dBYS^}7AGvk(oExjEHeIo1F2vrGI~RQ;#>_C23Qv}5{Py=ojAo3^YG;-O^&6dc+D zhmA2+e(Y)TL>{zB66K!we%BD5fe5F* zO_Q=3LKTdLdjd#}oTX2+uvUA^PrTR2OLQ9orA^&bW_?FED<*wumRBRMo`!(?4J(>9 zJzYH-R?FO!EZsIq?&d_VQ+&IHeo<^2YqLqRGLccKiOBdxVQYP2Tt=WOr8=?g^u&nN zfSF&=Nm0)5yhrZ4XzysomFI`+*MpXJr4a_NKOHizfeWpVIn2lpLjRD`23doJbr9we z1&9YwOILZ`y+8Q6@l4&%&F!i8_V{#N}KIX^qASerMC1r(1 z^I}Pmgy4^1R-l#-zv6be%<Pj-}B7hr&k}Q*z)qKkIFLN5jJ*a zxi!b0mFE>Z#9cFGiTFOem+xt-qqRczWAHUm#BN(DtvmWpdr7H56)oTXG&h~sYMQWg zc!%*eO4wCA;wBB{!y<$6at`AuSg#Ox+dwt;`|)(sqX}u%_F~<2;vg<*k*gWy32h1P zLnQhWaSsq&0i}j$H4e!kD++fD%uvV^EKoFE&FbJMtj|&x6oZ8avcs45jW-u(D^xC3 z4C+!XGF`mxC>Tw4F9tWg*hQ<};?gbUqEpGn;48aCzI38__}Zr=U6+c-la9L>3vLZj z{-PMpJ{JRPWUQpouGbq|tMZ&LA0Ey*7rmpm-ep+SC6$BPpt7Aty3678K9|=`wNtXo z&+!PZ&~cF{4BOHBy=Yj-=u6D|@O9~s;wl85Df;3(s&2UM!IZYIzsICNN>OXk19~@3 z9jhtrIRB#FKD!?gpM2f8V0G|)7f#@PHMI;%*HU?K4lVKRdFwAXDRB1}g*(_A_M?u5 z>)@s$PM5lR`cYV$!9gwGPD}r?i1SX7;^SWwv@o)8H)=2M*eIm!@%7gR__?DE_2fIH$7V|hg zE2a(p?`>#G?edPax3-}vG0s$PZD@Mk>W~GOb@f>n^4MGN&1U5cY%AmDD{1$%3*y#i zWlW_-OX^x1;2GWq@g$@6q{}9k26S|?SqZw;Zr65O((OA?p1{blHJjlW!FPKjyIQS# zXjEe(cU;V3s{&Y31XRb0uQ;Z~}G5$J6GgU{aEpT~V^JMP* zxLBU^Hk1`)<^%#LrcWT1hg9@zvx4-!`G_c4;)541fZ%&H7|9MB{uW4xhX@warJeOr z@+ZNjBb5c`(as09$q4?*-`?}viNE^}#>0n_;4CtHbs<(7tklyr`TZ+@_tO7Vg8%EA z=kAd~2hB=GsebE#>0C*8Cs=`?`E$j!(zpO$BD0%GnjNDR&(ZA2eM8zGeH6W_rdTnu zr?&NW@=)3HCtivR542n%C}nbN{LT_n7E5v<`<8Zi zQ=gApf~dLIh3>sBg$I99O=P_|ekiV0Y;9S@cBYpHyc4(T_b`3ZSF3^4C?tLq)D;|Y z2VxxOiq8lsHr7htTZ>px$J&!vsZ$X6Z4%pn0>Q{Pr__3o_tlIl{qeeIwO{R@L`6P7 zSy~4c7{poistCujc^?ER&~7zJqUj7Y-L(yVU1rrWs}$Bb%wlRq(-~ABaK+X=QI&T< zf^&Px8KW#2!w-+m!eeTat=`>;aa6k&v56tXS36=X;-!e;Dmx>^CnwE69vFW_6Y9My zAi?RD)6VB|6MY?_@lW^HR}4vVp4!b=PiaN4%w3U%RCz97T||`W36^E20wV+|7r+!y ztOD>BMikNj02Cb@>winw+tR{yPjfQ0A!C8p0sE2kQ}4sphtMt$;Ob!Hm3zyO*s%~| zcqe&Kq>nbqlvT#r#z3(>wZpycy(0sgBCVv)$_>nZ%_7?^vi1cA=an9GFg$6kc94fR zN15nkb@3*lxGg5OY(YLO`CY=>EQ}eG$~&3EExuo)k6LD0_h1oc*o1>}Nw)-Tc7ruz z_@*&qL)$LT+B_qz5|b47Cm?A7^JS&=WQDv@LA>o_LWy=<+lSuuOsVdb^SCWLajX1h zVVH*Z_q#_ziPhDdZPZqrO#MiD!8&BnO4Xf7c=H$)l&@#^DcjS zzy6y|7f1TKPgAA9iKSZ}yQINy^!VZ7uJ4ymeBY70WX%oFaG9gP*%TYt8g(T~xWH$x zW=)(?-max-_i}0uQ2un6yTn)E#n+lAy?o=TGkmSNqsFJKY7Q^B@#WG$%iTu}qkB%B zihk4}C3M@a=CEA>$8rJ58uo@!W7gc=JJY{B87O$ozKET|``uTockrujF7b5YeQO-=ZNVJp45YS z)B^Vp6S7i7Avx^r{kPtHXgs{!|{w)fI)&)#ZrUTw)56Jsdx;d~tAth-HLz>4;VQ%FEB zB;7^Ue6uzEoI0V(!ihPK|4gk>YOyRgJ=!9P4Y#=x-J6=$}gIuGF#K?7n%@YGP~B=Y%r`yV7h+ z@7W}TTF}0ywCto_effqKq68K!Ol79lHiDSP7SdusBZvfjae#{jjH&uW$dZ>%Oy;{P z8M9Zuf#BQ_ef9Ll)Tb+7bsb7~aDT4RcGj*dCqnzVR*QDQdQoPo!PR3PKfmn^mAE5I zPp3JMex!YQvwVMuepsAY$!ZY!YS8hZ2mpXaxku2ZMB)f*Zj;$(;+Ep3)sA_qiJ`_O z>FGpoH_&tNJG%B9QS5c9l3;AJtj4=oS>#KQH&}d%`i_v{R#TF3u{gGmE@}R z78GNo1&YbzShW>|?o+Vg4Zjfp<->z_HqJ2BX4880Hs`u!c+}*g7DiWV)!v~2{ffyU zyF}ewq8endC)5xK2;G>=1|y4qhJS{C7_r7MrJ?{L4H6`Ux0MsQ4JO3Ol&C0yW+ z55JV;1IzvpIt?8d6li8*;{*BnaKI=D77kI0|EfP;pl4AOeQ3`;a$ zjoMSTs@eH9UsL>Mu%U{`CfMo&q2KF_+xuF!cszHWQ*0%?)50#H-7!o3eVeFAQ{q#WN>6g8G$U@h^tNzxc#Npa(YOpppMz!iT3>&@ps!YN z)_gZCSlM6ySi05sTRB``ST^A{eB7n{BFAU!gdwFjL{!H*VWqb3#;@}B7c7;EV_Qai z!jR5k z=riXnTzc+*Hyuk5yu>0s;&nk|>g@e7X6f!Q7g4S+dt1htICvp32P`=5Gy*@^Vd72j zW7_Q#9aMoY6;jJ5zH*GHN{9N7uD1Y^vcd36tLu-asv-HB%XaKx!pkiu^9x}!nZw{P zS68wxwVHA}UiC0_0NOQp$^upI;#ydWQ_wXyW;K1E!Z`|9chw^3J32u+N8cUoOR*hp ze0PX8318iD}nzEJ3L`~go44>+b$$S9l;cF6H6KQr+ zZucP-UeLRU(Zip7dpL`NXgnr5j{3s(n>o^7po}jRT=-EDtZRN6!sB z9?X&F82Wjf^!|`39mqXhBtPd}s1&&t9K-L(cLj_YH9%L`*Ff@$?4H5HpFBqVsZT_n znxyeTpA0^H2Hx)?xk)+@6(h(~x?`Yk5PD~6ef35qLI>TzyFNZ&1V_CM}%c>m8fp8-nmYGN#jM8JR|i%P3O)8 z&wIB$Ta}z=l%4~=^#ROGWY(h@3g9D|2#0CdEdYuklLvxx*wW0IXK}TQ-Gpi7xzT(i z49FxV?8WE=Oz;`(96y0{Fce4zNrR!erko7;m_aklxML=p%qf zv%&hjz|m)4X`@|V0g@mJc|#xE`y6nVN-vpS!o%jl-H7e#SJxaOc5FyWa@E72fns%J zO#yj^HI=u3pfALWnNfw1leSa<5rlChO_A)AKWK0cTDL+tQmz2Nu=; zlu)(aVA5z(VPg2R^Zxcd-AY{HA`DJ%E9Wng%p`(lE*BVqSg*gC_<*Zg3i`yH2_O+CrLbkRB>#Ho(_y9Hdr&G z*>lTChSS|MH=4#c-{;=jj9c^#lQ*vWQF7A`sVC;D6`CYoX5>xfjTZ(c#_HvO1cA?B zN{IPA;F6p5f>krJB@og zSfCsRCBPMw2yKqzdAF2bkt0x;%kzaf<2!vHKHDz;c9pCucCMV`<=4Cmf~1seyIgG^ zIj0na^PG~RZaB9rds4>Zh+X(%y@wiZVl9ad(c62&EDT8h>wfducKcMaLkz5?^%jnO zXl=0#FaV1W*?cNz${9ub!iZ(9t-4lyRD`(mM(vq{$zjV*)zk6T8ZyC z^_BH0nh8S{G5YglCW`(1wF)%w#8e>Wf6s_5vW%TA)c$uB2+HqIDiE~dY;HIi^gs&m z%|CI&|Fr^yfiS%X>5R7c8=!<5Wbr&<4hwvyg*Y7uX91Jce#{{toh1hoX7RPiY70Rp z$>8tL;z+`vd@^$xZ{eBhpnbH+ccBIkMdf2aKb;sFx}RB@&dpZRQct>pul>`4fsz-mQO-Ld7w z*sR4212Sc;ROiQ?ELtno2YL?|HgD;3nAqmCNal31m*XtM{l z#znj_*udjRsclA`QdvRopwcDKiWBjcQ5-kPpd*oJyn}-@}R)*uh%B8gOme5d`DE42#wF{ajudqQ};Qj}Bt*G6zIq7*w9xao~o$m^zC!7Td|GV>rP zZeGfi6Rx7YW!1W;1fBXKS(<&MB~#U7Vs>9Xc2Kk{aYb8M6_te2 zQCr5IC{_#l2{mI*o#}Ib#wFJHmYTxi^WgG`ULYeUgIKqvnPMmj+YDXGnIN zq7CEBGB-&-T`LbINyTvogf-*tH2MwN5Ktws8cB=MhGb03nRW{cxM+<(cVFr|pfR*_ z$aVqmLDf4_LR&SNiE3;pQ_kH|qBcR3S*-wV>IDQvl$swv14wWN_yai%&h{$ZTd2I( z@cyZZixJ@-ye?cNzJ-gzT#k8G41SF>kI7B7+`az!h7ad^1fN|u(8=nKP&)gJVK>Jj zlqo}h>SExN#?D*aR?f!rvh$uR$i}s6~$!&x*BhF+%0$^HjDb0wU{oo(KB`o8P z3fK>^pRRI8^O=RHHxI?c!A9*4(X|QQ0y{!p&->;4x;8x~_7i?7UH2r7u4Npnu5BEv z3{kvECePIRb}FNo9=1DqJFJ7(-AudTc9*w+sJ?~8y@uDd`f2JG`C*h6b&su7Q~6Xm zAwrVq5EG}_p`_ZfK=E>L5ucG2Wu@G4dTn>`>MZ))2-9Lts$!^hSsO(zI&kdU6;gUdh7yx*8&eCM?S?U>$ zNGb>UI$BAE9wN0MQYK_l6FP+=mndF<>O^KikpXe6s%U)Si^tH0*x07nGmQgpMNy-_ zR&QigHs_JQzMWi9l7)iSERk1&p@;tETV^VYAOR&ElK!040(cu?Bz$r^!6_I|ZnN77 zziVD;p}w=dRU>>Y5!@=khFTHrY=T-FO9nkh!8$D~tMeMm8SYUU*~yis<=(%m^r@WJ zr8~O>o1PM4H$AvubXp~7^(A^Ci`G|CHXq*uY8G_=XPzqOy?}^ntJU>VF((w6qjl=- zy}#d#?0#l(YX{GlBTR4OSFe7-WLGIe=W%YpZ0!PBo>Wbp`xSxKX2kP=kx=TxRy>yi zu_cNaH>}N-W=N|~871jU2j997g`J(?M&6D`Oa@GZfgPB-o-?6ikxj2F<{)TZZ>v3g{bHry4^tDAg})okDt z5O6pZeje}=y2V24=tmzaEi5hRbXasGy;ef!)7eXjE~g>i&Gp0IwI{Are~;KxugW<5 zLux?M$&2FBoynw$<4${}!ZbEqyHwp{bi+rvnPSjekJWriZ+PFyLR&!!3y(&_s!QtG z0g^|Y;wMBF#HWbgYbw=4i2G-?0UeaR&mbuemzI%N(%(-oKlBr#2WPh}w z`LLUBNbC5+38#%t4&QJ7WGh-?VIsydY|P*se7o>^{AruYK;@w52@%(vpVD2{y|Ct> zn^8r6hjlKe#9~h|s#x>2VKNzMEqq*l)I+J-JR%ELuZcBfYQ0A5#~*yz)xWnD3uqT7 zT{f06PD{zDTBzHj90)l5$;Wlq_=wjt?p=Cb-gfYPYvm5w8`lKohRtu#rijui?8)oB z5q@oO>XF6q-eud^-s{94GT&I-UFg9t$w>gy0YC?sU3gR*3+$tW8AxoQQ+V(ndI64g z5KM;)vMppe;LVpFbCMD_+}~94C3t2&qibN$oJxMQhR;-W{9dPXQ0RDKhn32CqC>mV zqr}`HzF9xw;m}1>-#O^cxBcbUELvv%yq}ONr8tOwynR!K{_+ybY`?)e8b`$x?+qj7QV zJx5*4(o6qFC;jPmQdxg9gOCw3V^P_Iu>>wsIiQvQ_@Q~a5I@8_fNVVc$q-SS2eBiM zai+ktZ3I$#!zq3HB!sNva6ft}I9T9Ezy!y}95wWW8tM%s9AF^AtVfm#ssXmFsez$+ zdqvfG|10(UT2n91%6{5r8{r(Q$dIt;ec9fUjtUbib1UgR%Qlr9qKNIc6W1Jj_b;a&)+LM6)TT2aQK3WinRzXnb zwkKN0WlMcmaZ))K(_Q7u`+hv_zN7;EVATCRQ_>B`&^~W__UE_|gS+@AF{zb89Nq!lfm}Kr_?a0>0`C55g$J!uT4a=s|+DMSA zNurILXDIp!4#9Ki(bZP=L~*v|!BQarwC?vTv-YEou6FlJ3-ix&T>LtQ-C-pAPUlai zH=>&wCWN2vdgC#+!bNcGP=N2s$_JX!W9Bam9p0SlIb)Y4+wSRde5v$e2#)nDOc|ay zb6#*!N@dV%C$I0-*BD<@ABq0>mgQ#no&5ScdTAB@Pb)t*tq!{TTHBAUN7};oONIX% zv)ch}H>?hUamWHavKD%X%(fe{KJqGQV!=Lt7vRV090h}0p5nF>X!0elLC14tW+oc-dY$FSlQtW|`+ zBNPUiH*S=&8hb8r)9XWU%OST#&0`|kZZzol`9#1i@4WE1|G3}sxQuNz3``!i!fc;j zG4~_%te2SAK4u;Y88$JsTQkzr<(0pCdy`0JcC+D*x`4^Uj4!V5zyC0{@A#*DcbZji z?XC3RFI!YuU$eAga`=|J1NTh{A3e*!x(qHq@CvmZi&HLp0>`!>Xq%rw73ad+$13bY z(z0Szdty0XAB#GX!ZM=cx8IaQnn@C@6#Z^7&Ps!WGP@MssF zSp(CbL)yTKZHHYz+EZhB-?9g)4=h8HuFmq+;2C9HWGbO48_U}&3>kY1e0Uoep-hMr0Dbt6q7Z}* zW=O%@a|VelNBt+cLy{)&TDUqF^+Z0-@6HT{mw{B75hl|P^-OZT*cs`x&DwV)4H=R8(@v3w!rmJww*RNPZ$22w$Hk-w{YU{}k7( z8qEk^yj|vYDhh|<0Q-M5k7)Yt zlyIT|W#h<&j!#+X$#lcJMeNxke=CS!iR+(M?~dQ8w2bzsPm%eQfUoH7hk{IP&mV_p z3%b1iCV5`5c}t4E!YWVqHPz3SaJ_rlu>ac=WMXrpB!fr=5m9P&2mq$F?X7>}78eVv zeefushBZG1XA&(+wKND$bi8>g!e$A&?MXVVv3x9fTpHq9p&bDWywmURnliHZpa5%C z#(Eq(eu(vnek#mNaP}mwD>Tc>h zy|B1B;r*yl4zI9$hXg~lCL8rbRYqPfZcTmok4Ur!y_56>~x} z3>B0FJ@rYV25rXr>$Q-V*}N^mP-fzl`%j^E?U;c2jN8)8bmciRi3=O5a z#utAi-cszBQNEgIS4nj$;DXtd{-l2P{b*Td4$ou3ITL!!kimb8ZDxMr*UBf=uzN?R zx;vX|{7(AsM?WiF-SL|HUWau|+CVDZzQlWB%MA1p0(mZ7d;g)e8}GBLCdz+a*0NsW z%at-Q!`l&oTATZ;d8B16x{?FZm=_L?5n0Upx5Z5ciflf_^@T!KcS`Tr7eC#NT#}Lu zyFPnmsq>eut4QfLg>0+bE2(zhT@cbOs~1$WLX6lycqw6v{<@}jC@`=VAsy3h~!+O+z(mm5yBUsS*!j&MLWtsXWLPN|)%edghavs!`Nm>`#!A;&yYFw;E-?JBnr7$^296BEiTf$&$7 zQ?7$KaY**ub+S>mNKYQ{8XArwO!~PT>r{wdWAB!IraG&>CilK;Lo0)2c?e@MOJ{$6 ziF1<$aFqyIPuv@hoKkL)c6qV?W06)J|FBDHPP51685_}RK?_TJqg0McVQ3GHFZatY^cn~J>UGA4?*Gh|9*YyzeaJQN zS;+iscVMEPrC6ntWxKo?K?}tFL|9MEs#U6Q_N5l;kXp^3;W7hR}e>E!4{9 z&GZV{TgI$b!<<;+nPTh))D(5=0KyfMBC1D-X`hEIO(&;h|p?PA&m=b_E=~YRywpxzKMOFhXzO3=G7VeHN7a(SWdnrYPKzj7^{{*cJn@`-6rdR~WbCBy75M z><9h#{LSO#42Q}DMGvv;HK;!1ec*Z5$!lY&rsuDD*I4{NLrfX?U<13BLg*aKZaf%HP!EXRmn1de8BsH`NUljo=lr|wh|JQ* z4IjN3#(7j7{W=FcyDI4v^KUjt8tZ!2xsrau`c`(W z<@jovEp+##E*)7%5GBO@bm=lI!X!Uu5lARIMnCx=hl8Vn^86?dx{gmGxZ`Cs3 zBfl<2@njWqD%HZI2A4BJj91=tDK}4lZZ^LGTk|)Kn}D(+V;sy$@KVwve;=D$$9iV&AU}@>iEt?eHHMK0Wq<^dWgzxu7SDYqiEbwcbSKJStOuh- z7rlg>=IEbRRnF2q2&2=-ve1EwhQ$`s20R7<%~3I^f2n5)UFc}6%W=4FMp@(iGE3N! z-a<~EfIS33Z74n7$juIaK(U$? zy{!&0kdrLQGnI+}UKPF$+O;^TPoG$bj*4ulcf_yL)liMx~l7qUm!Q@?ly0eTFq>wDxSrD6=EB|xuk@3wwjzeIpoLv z-bP6dvzoCCehF^68wq;;d+V8rHbRjW5Epxr#B7ozuFa@nWn-9|!pl#+qr*Db?aO1! zW?`)aSKV0NI{59ctwFHz;YP*fJk=L?^|kn3jfB$&RNm;l30nNEK%Q~Q7%V3UZhxan z8SCt71iRXGP4>s}SQojh_K;muP}}!-{LV=OiH{{Qw5-gXl=_f6ulu92vUOjDaCfX8 zli1oSS`pSP{pBpBy2Tzao=^$}ocHLtR-b5NkE@_mP)CrHFv%0GL7@af2oX(Quu_uJ zVj2=#g^BX@(Hb914bS$d=o=cI*IM;6L~K|8`_5&K>7|=hZ>}-O4s;U7G?0e>-gpU4 z!hZ2|A{9YX!;RY0fvAtNur@?Gizj|YD^gs+nt-?%g7yICgNXl=M7!Dz#K0-F1D{TZ zH@JucsoqT@xqpH4`)Zy9jZZOg`W+pWEvakPxqm@&E|`rmX^mC(MziCmUq(ptm%bB= ziHg_r=N&qs4aoz>4o`928Wj~ycNjK#bU=`;5^Ij7fa|7-b#F`Av z>qIIRZKhZr8Wy$8lvCU8_MXqkyTNXKG25amqDm?0%Y$Cxr52MF=d(GwT(($kwWQ+C z6CYwf(yMEGhwhGTP|5?304wL zS>SDU(AI`Vm1zNQs$nm++8vR4z9iR!ET?`%Es$67(X58=lLY82xqy=j$Vv(s2xzL1 zN-2NG_Q;^hqHAg)>H|zK0_`SF0F8Vjn@}INL;OdfGGp* zh}rD;TVVvt*cG6pMiA&;#|B1#p zTQ;K^!#CT(#Hu;BYSTS{YC4CpCHUU`+=Pro*TOCc{5sj58}ZFr)%x8YGoQ zT?1VYKJF~651AXJb~G|lvX$VW%H7Dwen7zcyh!Cla>;rhs%X*)9Y5jkWKEM~YDD#0jb0K5RM|GIS`B6Q!b%2KSme^<%&4skUk#lgcyHfN{;gr*TUV)ei!dyCUH$WiLbEhubR6{Axr@zYv7ZoGWlh`)_hkk8}BXjq-M!mb`ZuIi=H73orSH`|Cr z@kmXxONm<)C=c4F5t$KXarM$Y#3u+396}*O2_Zj#FyhZceg#UEUlf9= z%h^q9-=7K*oLF5F!qVnkbt6txXgt#<=cV`u-+iZ3_2szisPTbcSE{wEhsBIJF6`W8 zi|z$|_Xq4W&xz1Yy{2zkb7AeCYYxMvIlh)Vj&%EOuXAFaO=8W2_lWv<({`ZBiKsm6b$r9aY?m$Oe*QXw8QB7n4*UxP)oQ=MVg1mH~noY z!)(<7aSTA7vN}m~k-$9996uyBfK&sDYUao6SAfSw76neFYU8exwPu&7RXwcJgb(X0 z-rF`f_{b|cdQ;E3KdUKBS^#ROPd%dval96PX>oh1I4-&%2R0%{HOvuY|4Kz6VK(2f zg8Gqs!r#PVFjgjVoiN1?{>4d{AG3kTX@3L!D2Gy7TwG5pDVTkKzt-$GB?ZLr25ea! z8S_KN1{Tx6MIK>p#pksH*7<3C|0ryyD@#scLvBsj!?vyz>{qP&arH=Q1`H5v!3vT8 zTcaH#p}y0tHT?msME{G<`A@IH6cipe#p7i7H2CZ9g4qK`9p088bimYr83Njwq*wm> zLGnZ3M8T|r?t`U2SXNa;Br8~mm@6bDiN+*ed&mN3;AUu^C~GsAy8e^GvT@dP<$fnv zBKKRe#pfO*>eJp#&}YlzWRbHNPtHDiE#H|fTg1`9e0`u!udqS<*J{@MuA0CC=OYZA z2QP1W|8D2f*nRg}_^0fEOdeU-=*XzfSE}UpC1I3figm|8RRtG|(~gQ7)0!+<8_wYwa+<&@j}tLvpc< z$BuB!>ohDSqiqq}x1jQZZ;IiV$;Vz66^ZRX(sCMZ(t{b@W&Pxh#lEuY+y~6Tk50?H z(Asr0bG4X_obECcX$#gdy(!BVR$JDXN_w2~F_AgCn@;0ogYJEICO%a{9Au4@Nms0O z)4Jha2dmhS&qS~dA>=Q&*>d->W$$v{-sMDFXiDT#0eT2GI0+#ow(>f`ODOR@#l|ZF zoNXB?$2T8Omo!`Me44YyWXg1SZFs_=R(9`~BlH!QW&;1pY9Sfs zgWoVskhap+M*R-MrWs;>+6(taE2;B%(o~-tOiqn)`MB4L@=-~1kwr$H!i#birkk>2 z&-&AnQkl4j_DzJBx4~)hi>)g|jxa>e){ke;aLa2$L8%qnh1B zZL$V!VFlwHlSo7>>eeE`uS)#p%|Q#JpQKr!!N`CfmWX3|K|i|V589`IFjul7!3Psm$vNpXX;x1A7$BwQh(XLX z!tPIW`$h3Xz<()^$V%lbw;X*+?v$-R2cy=hue#)zZ43Gevq(vLfb=)gVh9C;pfOHi z$HGlW2(wLpMj3G`&=160nJe7>9ioRmGRrN)galM0`7bCHvy~5^iRebG0Q0kKVa^e> z6Y{ALpo3%&j7L-*kUzgD{(hksu6^d2^)R}~vT-@7{+O_vTkCm^Kt4oP5emNlYq38& zJ2z@s5`+g18ma%$XE8D_s3g>g*m=-E@Hgte8MgtyGG|<11BhJinbqq5bmy!ulRx;^ zubpP1kiYYHPlI=qfNi1-MF+ng>VkQ>Y($V}|0cW8bOS^|fDwUr3(3r74>n@*vRN1{ zsppU;2f^N=GNc_gR{le`V8PVqYljD<924>ltkvWjWs;Y=i9eupF7_`psUQp~e@Q#B z&G=OtLu^A=+YuJo+#E(9Oa2Jg=OHhev)SG&R4+PF8LnzX&jM_%fL9U?x_vd?{hVJr zrHAxGU7kF$IlFcH@`RE)xvNq~mo%)pW8D1uo@OWY>)uYHvp98XDy21>TAnIzt`Sh( z)qp1fep1OfSgVA&LKnfrhuH<%2l!Z21cNFRmdej1z-5F=^tLHwqeaw974HPrbzeUr zs=_tNm(}q0b1rPz{Olp*aBO_8KkjfNhuw5_-f5ZJ$rw8I>ACm}B694XKNm?xAJ zFAN^biBhdv>MUhqGUg+hlp3$$(yapKJZBQGgUtRk-c=g4Dc`u2SIe(mIymWKzS)=a zuFe5^)~dpnouS_AZuLJ7s!ch2|K$$aU1>@ty^gJIrh5vyUmdi!4DGu38CYG~D2p06 zKxw@1VZMWBfwIQ{e?17H`Y>X2W&#>OfxMTQ${T$8{vj6G@L}J<=)}#>I~8IZWUHPT zG4>U($CYz$Ikiv!ys$~KuzDdIKasJGIyq0sQ%j#ahWI2iQADv2c1&Vht{BIEEX^vy zcGT~TFkemIBl&&b%&6~*-wVEs6pl3vOSjf`fMu2=%OEYuIkCPt{>X90nhNP7Zzjv~ zw2VIqgjBC?)KWj=2f0o}5`LE1`x7?D_;Q_F1}vB)6yV39X_CgwfiaJV55Ox$q%89M zLAbUKHlGp30?**<711~bC0ze+1qwtq$ot=9P*2Z)+;N$nJ?NcSfGEi`a?mBuE=XRO zXT!;=5W(V`TEUZpHGce090ElEdxHYu(;5@i2mo>>pFuJf08W4=^gvb2UZX@-BGX?7 zAp$Puf0H`%bp?8QI_!iALL}qow+h}&2u_+#H;tDUOnNYkd7w%%NM(R-Kz1HNq?`<+($5PWyV3oF3yegVR{;xdUoI8 zO^3z$F}3lBcANW|`K|iDUM1NV$X~{2F{%H47~^_}?4@WT+XL5m-EF%hIk+bvEe$M-&C;)+=6zn0!;U{9c^;+!(m#@`KEhu$B26tIx1q zFn(>DnJ4>pr3m%t>v)&ejQ0#efx%lXs4B9Lw0GHw?yC{@?whE3V19O0=?a;so7_>g zu`FDd5<3~)>WXzhD0-=Zt=rl_NV5WTK&@dj!4R<+z-&rWU6|x5POyio4hXzijOz)U z#qdZ6WKSv;V}35N?j1p=O5f%f_n8BW`%WM0W{uBLSZyNR9XX|BCStsb*6-H!w?%@# zC`1D^_+tCQY`!hZD3b5~MWHtJJfhQld%|mG+qKyOyMwn!Ctbe%V{53la5k+5CoE7% z16`iE8#fCv+mO!!pXi_?Y;N{6=3Jn{XmR9$K+YM7uyvzg3)A%h;U_u0cI&^c)>p&l-(IgRa_V#o61$6sLt8Bd+m@qyFrh) zvD41oD!V0UyF>?TT4!!Nrr>w{VH>EBhSbX7S=rB6qCbDW= z{s_DAw;zG2yV7HtswQ5QxwIX3f5y9S=a#L;qR&EEFopvVqEUiz6tbE2&~XVw+B*%8 zoa60A%63eRgeVH}AbC5p7X)aJf3o$!n8QWQhF}v+Sd*scA7VXeiQa=h1csliQ0J69 zQms_BME)V)&z7ilhpx1CDc^wt&k>{fAs{fPbr7tS0R@dF$!s?QJ2z`;8044$+p#>UpDXEa}SkK;bG&D=||@}=h&P7 zjh;jt9(WZ*(~(7k>WXm5Hh;!(&c682CNRJr15-{owKOwNI_K@w1B&mdD=ps=ZNC-S9c- zjj_yr2%Z2KFay$Jf7b(MmZXW0l~@H(Mv2BU0G27E+)&0(N@Gj40xN}4E+}I+nx&PL z=$D0O{==VN%RW(^r0+Sr@w~O@RCs3C`OLK(T~mhEUz?)VUcX;;>Bs3TMSoTk+NC?K z?kwG)np_szb*=I8X+{hO!!!?CLW2Hj-GG4&qk{kT^x#Z)U3NG$tLWAE*=I#93YrJv z)^B`pZvBzYw8@^lAqkbdD6`!c#A_F7UrUb`u(}&@%ys0cpG4f1z_a_pzYJx0DjXPF zs=B-Ts@b{<>mtE(Rn8JJaWCYqvAG!T?loECY!;g~b?|h0ju`(gYZ2+&o}>F2if)Em zs#HU8-Mb*UhTX0A>o`gQ|H8^*C5hmr2VR zzS+2Q|MQ6ZlIJ;o?0IE*`tC-_qbJ;dQ2>*I?b_Zij>x8Q7LP=W!C@>}vth|JQp6TV z#_3)X;oKzEqA{h@eBP=mTV(CaXsY+lJ%l8VLc#r)19;YWO5_AD_g@R`k0UvFG7ntv zU^oN(ki&weWTXezfx1sf83>RUMopgnXbjC3QuD;ioI_`_D%vvV5ih(Ly^OyA_mxed^2QZ~xk2oqO zpa7?PW>(Z5W0*|iuYWEv7FA&zG%3xjZMtFn@(PcDhZkhyV~h|KDqEFi-x5}@u>M- z)tHs*-tWJ6bF@o^_hP3KLxTj+5UC;cQgORGI8js!v+1~P<4_tV$Zhbr80g@=^Cm{Xks8z{H94Sd~L{y>wA-R7oZQPOVUP9|Ht{d$rJfJE!5IuoEr9kNYf!-TA(ENbcaE(tl<4 z)ZzA)rd15AoAt}oXtUSeZs<&L%hFefuGNw4h4e;e-qhUd8!>)#Kve6+RrdA9b@KKj`Yd^j8ct7b-P2Vh39$*Tz|6PBe683d z&sv=nQ5djTUO{YVt#`CjG*d9vD~x)1rstDn2Mb5D-UQ9S*=)^IC&fz_UsNh4X0wlJ zUZuUuP&pAdcK-h9tc0j0scRqPMpw8zu*;e%7v3DdlI`6R5yOXFMPsE$DHOVCAVG$S zNe-(^;%hNuC9MOSYP>(~5bP|vnQ6()ucghABiw2AwOjb5gmuHZHP%eo-;XjmnEep9p^@KAo4%nY-(tf-!!cP|2gdMK*(Q0k zi#%UX-CDSYVsvCgL{P5!_HCEa_eHH2CEg!9^^~WkH=Adhob}6~?viUYI&7{cxnlc~ z#lyxxVHid*Mrbd?N+3uswbwReua8|+(MH=z7ye@UpDE3|x?gNHSj86la7kFh z8H&M>MWO!n3K;VYnhvA;U@~A@5Ril*hM-`06^i`mV6FpnH@qqc-VQ@@N(J;4p(QSWVq(kfqv5Y`ml6M-IZiL^f zH}k3K!u=_{g*?Vy6Azpi`B&Nxj5xQsHWaxL$zMUbSqZ8NSn%|INz^r%`Gf7chG%ua zi>r)kjZ8>HPH|AWz?>NPeqsA+xBMNj=O=@YaXX8O$;G|EYT9({Wwi>ZExsVp4Yy>! zJ*y%nMX@cgS>f&GC!lhQjdEY|>Rb2T=6xyAdR9YtTq!o7bJ=p>G{e(Cot}05R}?R^ z-W!ULK7ID%7fKW zNUEf3eJ|x(W96BWdAmb7Z*`NkJ59{TzLp6OL!XGgBZq{_*EMHs6@oO|{=X>1QnFOV zbSw4rI?_a=9XW|jy|B}W66);#(z`G3;Trk7_s(w{E9sTL!>;<7KA#9QP}(@!~+?-~BK#p&>m z&1bkR+i$?Cv<)0%NuvHQdA2Wocxd6?OWYUt9n6To%U-;^+$KgWAY0Kd`sEegC*_;m zJkAmC32QHa)uO~S;k|;YgqvrNh?q0BKg@9dUR+Gn*x)xNIP&CO?}y_BcklXhNB=C{ zn(_IT;f@ncuby^D9<6Y6>hRB%G~#WjNE~kkYY|kDfj(Lo1;HxkM9?DQiC02QtLY() ze3($n3XoXkQ!b~ zfPe8C`Jja4I2qI5NSr-LTr0x8w4d*1$#4Zz@$D|oF{K_fC+RYNy=lCx<8cgj~zvR=)c6O(7PG1K{2NV{^9-8!vuk( zc*2L|>CuC!ck}}W&h(8Zf#wb|p5-V$1PmOM_x;5T^gmPKIeiK@oh8c@E z3%?<}v)_wN27IDS*MZdh(;tQDgdkzW$tOAH$68@jz~7)}bg*jT(-Es66nZVZ0mWSf z?tJph?SI52`;vKtGA*tCzD?P)&kyLoo3_Kwj?Yhfp02ibJ~C**eoMig?%BstM!x8f zL+i8p*NYY`v*wgKRBGywuFYZG7u4a$%ATlru#;nJRl<|;^RWGAd}D;_!HHsPjw#D3 z5z}>g;z2s9CJUb_EsJHMjO3!*N87*{_d<8w+ijHsZ-0LL#3`3+{8RdKne|yojn=NI z>-_4?9e$PV+_F!d&zj#`Wdfq-v*J27H@!ppBH5gh8xE?xT?m$*tKQ;P84O~CZi5h4 zZy2Q>6(w(Lb2?}!HxOk@P(E)ULRf1vfXbsD+5=ytu%8E=dX-?*qC)9Xs!CW_0CC}KX0-nnTD{x2XA z$l=2H44uUBGJ~h_B+1gAIHH#O z>QbEj{-rxx(>X`VSktrkx*4T5i}6d3p4jV`inzb7&2imc{;%kZ{80V##puT+O&E_z^##?-<4md!d+C;< z$|{L|t;Fj6?^;Xu3h^!->EgQ?MS~>?Ka~^rVM!`cp>13Zv{b` zRB#SETL9h)7^8@L1h@tc7`ow;3Q+<`Tn%^_*~7R+jPdd?RybO|gip!&!UL=KEDi*) zn8CUL4+Vy6J<n57(k ztIcm$|9$KWz5RbwX|UWF#5g1kNhbFXi8F(PrwHf6EEgZ%S7^*kK}3jW8Y!j?l|qX!3Op{R^v$hU%$qOu@!68gl4w5uaB zJRGpwaSQ;`OTmqh?U3(ksUZKvn@q9sn3%!+x3|0b=1*7znw@AGHDJ6X!58B8+Pkji z%R5o0b6Rz;l~td-(vc27Sokphad*|hFaGKJ@gM6ZiweY8ES#fGJbloompgDzp-n2v ziSj`D^JV{!xwinTs@vK?QA|=1FhD@MOC(hcKxvc|P`VogK@luK=}r}p?(P(%OS(Z? zQUydnz&qF4d&36xJKs6~z0Y%>?;LgSy<*O}<{Ix9@2DFu0^3xqo<8%jKdVI4Dt0yg z5(im`%FTe20c&4`&*;XsUlX*rZG%Xd=-A9_U`~O^3&;V6FuKZt3xlXs3Dg4z)%Q?#7{IuWQJ5qI^e_~t z0V5a?YLJK;O(K18Rz%`hG?65gY{|z|hob0)&-D%;W8`aIyjoG=;G7=2Y|^tBToP92 z7{<*%q9QP(thW5A=9A+p2o(61*4O;#vZsuIrA<%He%0Q2n>F3i*)V_MMb$&S)UuEV z4Bi63rx6P=9l**0G7P-VNd~TGs6bRZV~(?^0;wNSGKai7hb90l&~BBmM>9zYkcM@P zpf*Jchur13*vf?dlIWk&&jP+)3j5r^(OBMN^qO~wDQWt=!AWTYUcsZQq6_Df-uvs| zd2#WI5foV963>hhWaru6+;=sHie3OyO(P%#qrth==Aq>Lm!C~$R9KRY}7@m7_ohe4MDwhX46u;|AT(DrFle(rzp>tR__;{`ME(LeYG?q|J+pMN5 z%+0^HTeWBPq2}Ff~eyxe>Ir^!fWZgAVMd}o={XzRzSDbT4=4lL1 zt)9{4YT%8%BW{&WbGt~L0UxxJVPL5ro>mlW^sRPymh$GX7WvRgOa*Q`YC5yG_b1xl z?W^@?JIn;_L15|uq^tz(1VA7Fh!ll@P1Y}#@jLli&7D<4p7a$CrpGlut=`UGndj2^ z@~WNh>%1ETk$~u^K!mG7NgNQuf{f<_5Nf-m5+R7_017=22sudg9%}kJ2eR4$U}Mc;4bjLg2o{<7 zR1y+%MX?z%&OW`S6@&j02FgH%rVJ;jki*?wQPj4u$b-N)7MdBFV1uEPbvs-Uoappl z2v&5}emfL@TWTVcb%E(?@n?f)TOcd#h-5@4;@_k+%6r5Li%Un4NhP&w?S2>7dvF6C zCJ_^b4}c!$?}qE&MuA+R|8VEsXa9HHSFM+87jTF>w z08!6OfNurm$q^SNMQRF=Mu+4cfe$$8n*zyNT1;3I(bN@*K=&+HTQ*QO!Kt=Z#p~_G zTXt_!$^(SlTA%PaQ7qoNK&^Qh<85O7>K!KLU@V2q&;#wBh31@C4^_A&t8Cq`0 zj;zaI5^ZF5YUi!j1e*TB7;+=Nc-Yl8RV|d5+3|H>^Vwp4-6K48uVm z4HPk-0!kB*B>*`SppyXX0!y$1vi6}BtvQ3OV|LsrAYRfm6N~+jbJWyW!;0;w@RBr3 zCC6gW`Nx!2;6(#-5yIo z|MPkjTUNrVv;LwcZ_`NwoM-lardkY#`th1U0Er}rBoDMhC7`SV5I_QKKPcuTmR?0d zKFUeqwQn+`ve|d8;yRa#b z>lemD&4lZtf_|LKAsgp~tD3xCp7iC+EQ`MSeP7)1g0u$y^P%V3-F1BRhl3u*CSnGx z7t^hTr+q9)Yf5=C(bVAlI?yQA;kH3;IZ56l=N}hu44ju`(e|R_scE@R++RmNhg?-qX?SNSkpcjU4B8uu({6B(Q(kSj!6a5p!X zLu}OGNzw;^kj4em43HccEQijaIU~$jsfGKcDrE-rJH!QISGE z-ID$u9%E?^T!fbwIMzYV8Y{f{yxPex=>5X*{;{8p<5byjdiu{&<~Ez){QmUTrN?9i zjlzS(o|2%%dopmbAqX?zDL_C5;2NRS{GArdu&X{9@%F-gIYih$ERvv?8flmTY7nAD z;TS-moI|d6#G4L^%_5)*&WM2xE`X@)OpwL~Cndv4O^E9&B>2E-8o)?|gkdZwB7cW> zv)|tH*t2TqduQqs-=xz^ESE-4Sn8f2O$h__(;-t3EvNwjk#Ow(?!rn?av`Xi9*9byDeRWX|Mnx$`}as|_|6c$wfnxv`9gi6cFRB5WAF`ON&ICDNGcPypE4Bx zIpYf+4GLFL*F*Vs5O)Sc*?Yimv)D7KosYjm^7chhcSBqZy|5F+TOUPD9JLb2b@<~) z$P)!t>c3zyp&(J%00Z?rA&z^u61Hd5$jk2?Ii&xg6WF^(To@dQRO5DOT)z+hA02aY z$ZdhJBmvP0v7%t9K>uuLGyprnP{%-iDj-LpL=Mz(5D5%8lUev}gPTH&EgUTHi13!D zz8(GOxP+V={#%oj=(fo)(QpIiaSqoX%8MRly{uYNY)tW$<+AkS^`z|bonNyK%B$fj zi^?gKbIVk0e7lRSkhP?G?Nyz60cPQwfGh#hN}wIgZIPs<*G+wbZzirS@@-9-**eycTlu zL_i=-;wQ~PDI#+|f|PC$cfvRW5uzY`08pPS&t2O-St#ElCyK4qbiJ3Nst}|I1*HJL z4n&8&+O{LrAshsZs5RvHgHaMh3>8DkQ$D_8U8?e34^E!BKRQ#PkoVf5@4<>-W7(_@ zAA7ZlkB{>gnZ=+fV?B?!;BwdNna$5X3C^a?={~;|0gM@2>nlqSb5iDbZZWScWQvR? z)*IrtomaT(*=)|8poZf`aD*wrR~(XFV4o&J&R7-rUmC!|OyQ$up#o)2K?_dC3@GkI zGw}v>l@SgILLp=}W{mBnW}yUqxh!aax3z&%l7%_WP!!{#sW)KvRitv*5a z>^UR1iq@42s=ma2uApIhvb-6o{5!z*a>y53fN~w6oN$f=y)`@VY2u4puetiMjgIF<;#jnA%3}v>_nPe^6SXy#RSky5a5LVB|?=34Bj5g3z%EUAdUzbr;jE9AT-&2wS!PE z@IjQt0OJvm;xZk>gL$>1gc%M~oQG-OC6=($OL9eaGx@OxyTg#Pa}gj=w-dym$i^L$ zECCLDhN@B^Sv*LRR{XDM1F#0R@X#eKB1!;q$^9qDK}9cs(E$O7ifKc)M7B{64RL^A z{V%&{fxQcl1#kOuXkq<-GHw3Zs`=X!{|&PsH#iEY_NW7>uhAbFi1*l4eF+*aY^3)f zLKAl`w)?E@1%qR1cw@lM+jjG!KN!@;LhV(AMfTefXQA0|YX!Scf@n)*JS60c`|Gv= zsu{%PV{H!&eU+gfQ9mew1%eE&WPmkbxxll%0Sr%7DF8bFX}~Up4K^5cza-}@?U{e1Co)v^}JGR@P6vUJOz6dwQfVVGO zL^S9)qtug*v+w83DW3^84C!?g=TJOmy~oj&f^A0Pn6deM>$Wbj3AJ8b8JXRUupSUO zSQcwUW0Hp7$%a2yuqq0|E+krYKGw6=pYfr!&)mQ7ES}MeLOv~(s@5zZ!a zU78M$UOs!R)^$C%Ep3CL!9pw+tHpdZ?xtTrvGoig=CaA#=a^L(_pInTLKr^eBtG{B zj|j5Bd*F)w5Q(S;Tw@?;BuRxJH^h!|YNk}ZeNteb`IC)Tu^O{Ci23nEg1^2QzQ>Sa z<@%8LW!(W{Q2GI?^}OvyD&$sh}r<+yJQnw zu4|X>ihOyofO-gw4HP&*@20Z9!+fcd6SG>WHlC!g-2L)M?zV@dsS*_$0a<&)522SH zA<&?zYe-45eb6qh%xOnl>>ApCl!stUumnK~8*nz{6##MsW`}0}BEhz4Lm@CH=-y`F z9MJ6;5nsQ(y5KiBhzpuIEV|*p!SP^m9se=23^AV_<`7YN9iZhYApg*&xO2p=uOYo0 z?Wn(etoYM&-`N|#{|Yg>PI$mVg{FYEWP6ST#`GxiE69q1#sXFbIs@_a&Th+gWZg;F z*9%<`b@=WL_K$OcZIFMQD=?4H%b_5X*im~6ethUp3=9rk3`u#I+vIBX<>yLUz zd1o8FE^?hEvRig33gJ)Q-IjT9;N}}2v>p3@ZPH8OF z8xA3rzW0fT+F2co3J;whWxNdXZZ$18?np7XTC$toyOc1k$bWWx{qEQ3m6i|TlWIRy zpKn^XT&wigetE86iZDZk`CO#6<-UXI=7jwDMCrW*pgz&v79!=g_UY;Xjj*&lRU6V? zr!J0`_`1(MAAS%#IC3M6G#JM9d|4ps?)*;~>yI6{!PXrZQ&u9TC0dOJpH}(H?uvJjXr3*G_GT zL}_u1F*;m1o8**^z|&tCM0FrrTbKATDJQ;k$HZ8N_X_CVqW^hI)9e}p4$s}upb^12 z0m0VS3wNnAmTb%$vDs-u+&+w3DN8;i6`7L|Ti5o6ib**^$#T#JlweN;rG1TX=#_eD zl*}`fdO*x2vqE~6TrE`RH|0R8SnJJ~k(jC1dJh_^XBT;Lr;d3f<&POI@b=}@kSIdb zo|a)ZsmWa^?VHf}AxU57A>TMmK=av?KF%dwV z+#cuW*v$CZci2!lC}hEKuCkSYyw9g4i7#zU5NlE)SM~Cf8Y%u#|NS8eRtkQg%}3&h z4`atm>f0Xq>Q~n-#&54`{*dNZh_s8#9ahW_V3;Er**IU)Chd00ZsS`5V`SsIF$f%s zC;?3Z%CCR~kccX5$moVDf-zJn8_VR@kInq>mJrmGGs}0c?!Xs!IA1jP8J`A+|JeDL zl&>DrzX{4EVqyT|ixqOF!S5yzHz2rj=hcM7HDC)-+AkCb@i%6K9>^*Nqz)Vjz3e+8 z2=z7ME0A-rBVx9h8W3%Q1*~AG5)MjMf>cS6y8jD9eIo;_>gDWG(A*@1(F0JhV{~oYHfXm&!>>km!>thbW(%Tsy+AI(y(t-5)-K&OxGss~4Q&+5= z)ni2$k#I=mj)X^CV|RHi$OsF9Arb+Q|G6>N9{5ABqv+ZSvP|L5m=M7F7eL&z5dUA{ zBie>Q+c=b8FIaI6HQ zAMUF|B`;^#RbH{kQR=@N?J}PDdE(r-4Y6PK*ocnc&FbD)&x+Ge^>Y-dk4W;| z>oIu6HHQuL&~gLa=r}FoUh*c}X#BzmArmukXwu7CwZ>M?X4$A*i4+{KdxghsZ*NAC zS@hle=2h9&r#;T(CMuQeaVG;iu2%{~`Lx($^b;g!YRJp^5i3*+a?TG-XUwEKK8|hn zOIyzwquXFr@s#7S{QA}@Fr|KgBHz7}W?zTbekO14I4lbefdqk1hRP(zs)#05a1;Be z?w@CIB&~gNI4mS8m8HXRipoBACVefomywc^B+;?7ZgZdvNV}#lx>F;|=0k25y{d&d>CpX?w4x#T1-ImrW!#gCUQ(ISh0!T?boa2oiU^MBosMcs zEsJ^T$L7|a<@GT~$eH6Ohb#VUXm4ZVKtVdEjITtzad`m2&+&pq^@4lh%pURTjv=8z zDHdiik-bdJ;SVbC?%xe_e_Ay;e60FoH$UG%7*+(|A*QFiNd=mKE(HyxdZ6e~D1UF_ zneWV)SPySoDky=j2$8A)Ujh3Al`~9A@?e7g=PRD%nk~g-a$MC!fB_WL+J7fE$t z#*BnriDUh6h%!&`^x5QMR>5J;4VJB%wX&W`7uL77gZ>xxtA^Y$zi4&JbX@lN^CzKK zdy9p9BuRbS2ABc*QelB!Fdzg6TS-G6VRJu1o6PGta6 zs8DseI6(6i;5336JpkjbplBB;{ZGu5?W&pGdP*VCNA+4;8!%&E1H4VFbW-pE{WWwDM zSnn7N7_h}s`?p(BZJ0F-uUG{(UFK8CsXBx6VFEV^kC3H`={b&jKx4nQUZzM3NL9a> z?Gs~HKjD9ijneaz{Z{2Kj1N{Ba|Pe76}=Hjy`=QoE^l(yd8RT}$VoNsAYjO$;%QKs zX{ajB%n0DQ0qt$2)g+U}L+$Nz zYMpfqDxP$~8C`HMbPcHe7h1G91lQ?MA|)hK@Q^YZ3Pa!a`yr$gLev3#2mc`tL)jD1 znb6lesJoYWMT#{5${?j17E6$QGYCClhgD8b1m%FDJgTsQ3aD79W-J&10<2N9 zZc6VbQO@(XD-zi}5r6*RW@jC1Hi_jX&{I7!6E3c#9X<4sLooek=7GWyUsa!@Ol-Z> z_URVqPg5UX=_~0_(^OcOx+wYlVugvp6n6Z}@7MBwdP+z(RV7h{TI)^zyu%%s!83Gu zBiJv)Ig^GzugLWi=7~dx%g5*IJg?HonCDuW=AV!pt;(rl;Z2iJ3i5I=Sd*FNQHwKC z2+YGdSpPKL?_JYY%Ur2EZ+}Xc!D>~;&55(68#Vi;_|6D1jp!z(JXJ1wYGyK#<(S1! zXy#KVTw8rxupw+JOjyO>fp7gCmS9kH!-0HN)xTSg2j^)R#ixMcZ`VqnEO#1DcXz4Q zKKF}Rf7_Bgeawj1Z@Sy48T$oC{t8vvPtttpC(p=g-8?Syb!MxCvl=R%p_yFl7bG&9 zx?X(SF-vuUed0v*k;%`C*Po<#UJ+4NwU+7KAL!P8PAIX)ANT9m?h8Wtg_0{J7T;MI zskovNHbIRJcaM)cr>!}v8Hm5DF>T2yO&^}+&vN^j8p$u@GO;z^Y;-Gylk1dkqfUMg zozOkkcTXG>lR|rS=)(5PSV{)$FZXBmRiu@9r}Rl(tZ(GVz07F!V&|6;S@tffd3cu@ zIA7W>4PB11z8odk_x9S2^{6@bx%)l&R8lhIi3P8p6>A>@k+9zY`3qH<`2@l-xB)f% z3HUTYC@qlZ)|QY*(;f;-E{ubL+ZQ@E4&>Q`cN+M>;;RBusEBg7CC-VtXIQFlo_1)! zefbMR&MWKLHM%ffsgMT&z(TezIrvOf^n1V5^tsjYUl^`HaS2_L55GdUT)_LCW_IZI zMr&(v_2W}C%chSic`AnI9&sCR8qm0fWjf!Y)o9=_DGhw{)uSgkV8T4H57c0W!gnNn zp}^R#iYiHG(0EinS~E#(JVi0uHZfm@6DKU9HYuJ{3>aGx5JH3WMj)l2dd`fUhd{PI z$db6$2HV|KM9Lz-VG00RDTT>NAym`p1t^zOaV&d0z=Ws5d?I&@6c?`k4t`J zR8TgtB`88%kg7QFV$-Cp!e@o9507=Pj+VC(nyol~BMsM|8u2)EM&IIO?@^ftUtYfy zD2l0}jWMXgCB6NzT&BReSM`VP+R~O~*v&E4pyc?T(<}oUTU;A>VOse7RE4kuhX*J-$0iEBvv3UhUBV&%7W%pMfr`8;&>aUb`1co ziR=D1?AcQvX4jc8)PSHNTVNa^%_H=gA&>|~fr5odM&2YA)ZEztP2?pJIe3YXjSs`9 zIC6StUCVy`i!4MCA%MjD3|CUvHxL8|7NN{b=vQ=;?SFvUiho>2#B6_`7qpuYQ~76x zdHZ?(4x`BDhUhS~Jx|nS_oz9)eMAB9_BeKqP)MgK{?BRw7BmG|+4ksmB>86IWKitXii%kcEj4yV zO@h0hwfP{Yl-MT=9jPz52M%z@=n#D`4$Na}J}noOmQnFxad2rNB}#Ilzn81%c`d~R z_KIzpIw;j1uCsLJR$OSOIy-lpsM=daQ^E%diq(PhcgUPezCM@CZ{kQ}rbzGl?!jMl zQ>*am5~+6V9hUwqPxd2Q#9~baaS}j}ar&k%$)wM=HIe)aV~lfBNVSQ(ecu;*(fDr- z*ggFp%7B^uvYU8%vWPml%dO%wUfSWMUl=KvjupDYS=N*UBSCE=h89C3BR&l>XWqG3 zyt(DEFylG%em1|}^kb%q #Q9~xdLXO+=z$qpDX2CcVWO7SzzU~Q|tG`rbh@(bf& zD2qa|%6T(nO+d;A~fFqmBSK~*< zwW84v0mSy#2^5H{d-~-+_;a*0;@(OzR_LPo*&kIi9yPB!o0Wc=#8QJ8m*9m=RIYV( zA&+u=EeB|+h1(598g)W#xghrXDK1al9vld#=k+FQ1ANl@mRU^Fr>J;gKf0-a0ey_xk#-BLq1yF_sEWp#5pKJAF*F zh9>aw$}%}I>2oL^Ol3?>kO0xA1Pi=G1LmNtHHb(BF};KAOmY>75(OZLDVE+aKMDBU zKwojtoG6u$g#v=;D$rB>I4B-h3cfw&^g=s9ft1Td7VButOisC&$jm_70Rx(I$M@;7 zq+?h!KhnnA2%KK(o;p0GW%oibXd{2z;1`DOqo)~x;R~Q_cc9>;SzlAL+ch&+DOS~z z78?Do0|~uya+{}%g5oUdx*rRFcNxd`4Qd!t6R%SUDtvjOURnnK$E^*Y^RGH5#sUON zxOlI(`wg=f7TgHaqjgGgB_0jJk$1coy#Jo#+Lwvp_ItNWgoy$Ng)3y&qE^dBFJ`fc z`c(!CPUh%%xYQG$KYE;`K*p*h@Y}wry1_FpOo_cuCrk4|14VgrJ|eUIQ1UHQ2k9CJ zuFIFtt-!iQcF(!sMDFLAb)!YrFSBGyPZUbS_#fBs4w^3IMU>k-+}B8VPMR869-wI) zh?$K7)*jT&3PHX>(g(e==q{|;6S?F9!cGx36VhU2*ml?+PooC@Xr0yYQ$@$aLC&1)zS5EcK6 zQlQL1%_(Rrq@dDBw!Oj%)$s0#PVJ~VH>nn~PS-&zX?gtS>#zB78-77sT*e?a$wL== zfFqyo@Wbwj;1B#5ykeYu9D0T`tI?WB;7X*Y44Tc~}CYDV+u!N#M!L@o|G zc2{#6@bC5Pdt`8j>K6vR!+_vSsgRq6)yN6_GdcMLl!bHnW|%_-?$_%lURB@HUwy%J zD84r9mF9X;7#r7go|aDGjXbMSgF4HPQ$niZjMKRacljnW!iWjR%Y+{q2C6L`3r}Nv zWtHw|ck<)&RMnM(A`3?rsPuJZz7+=OP(~z>6TE(*Qz3iK%(IMRts03K+9~$k#K2AO4P@YMtEYw zQt0-vh3a4e=MYz4d{rE*vqSm)*thAhiHb86I$T}nHw7kwN2(3{uQwLgBy9P2+yzch z8NW03E`7#x%eJO~MDC^Am4$*)*tVvEPz#R^C4TC(+Q1^1CBq-1d5aOT&xHTZe zA?FHQqz)p$QT8W$N^5H&=lG z@3PIY&V5bOeTT!cOB@7c#q&jr<;Y*!f84l}T<2;rN!m&wD`IHk?>f^cY=Oy=%Os|e zqojzN5#!D&E{-*lW8}%56hLpToOlp)p@2$=$rAEIZc6~vfH+0O%z(xeApK^{6_5co zL@J>9I5zM$r&m;&usbP>5HeF?B~u-_)+R9CsjobyubL6~nf>%_Cl*D8%vKgPnT}YM zN4AAUQA7Xw&Wd&`t2QEdo5N}~@kbf;0n$BF!IQVhWq3j^&^r$`p;J_j9hEL|YkI)yWC{dL6q!9!V%Svvc! z0yn8+&gqa{&0qt9w;;@b6F^}x3jXyQ84e^Q*g1R98sf?kM)n^CIj9GTpthltp)1$I zEHBcb0k}jo4>Bkm^bLuM`(fP19R=w!nzy}%cp726P9-|p6|mX6Ho>WTypl;5;6EhV zcI?SKWcuLHK{&K(bO)L$VR{`khHX@d`ga~|$V`L`s9nKeyFma_5Ma;h?=l;C*B}_Z z0r?3Z@wYMw+ovPL1;oLcLG{7gzu(**^={xot}BXW1xJB;Kcq5UAY~Ame?HW|1bN2) zp4)<^fH?i}Isdk_e;y<__pg8*iB`+-53soR4p@i)iamf0R6KMyGgP$U&*t z^nP6F71^q0>LKeIxn9K>p#JE&Yb|Eer}mzv$a@V@cTGQrR!^;r32Kz}Y&zG|oeY8O zTu;~Q{{7Ehi5fV0D~hsbDJZ@-jK{S&7`QO&5gST(`cP5M$^9WDvA29&A4J*}-o5xT zwaynWV5R{urZ{#(J?x`9@@oR(RwW zM(|seGsN+_PYnznihCXO+w6J1X_i|cH2OKG$IRSYWV4tv?0#3O$J5v1#2eLqGaq|q zFy#7%M20DbF?FII7`WI5s`2gXd&88g$nu6Xml3DOyF#R5{#3VoCb;&CO*?JzH*s5w zZ0{aTUhie0$dh>ClyL}@MGv2tNPC-o=YEkZ_3Y0EyM$s(uguvk@y9{GFzDE-0+l>6 z0*)dh&$l)^XvDj8t5O_zAm>n#Uoh{VL6j-&^#JJ8W==;VJ|q zU=b2DO4UatkqW%kpIic^DyoojgDuXHw^$`U-4&@n0B( zb<0WA?Iu*&9^?KLTZ`8fG#?hcw;A&@Y+TI=a9X^Id#EDU&n{1q-`elM*1FnL2LLhy zHV*rxPxyEWTwLM$wBIwT)Q0v+Z)w2Q@}wjmO$1OUJq3TG!8iie8}>tA!NJmj2SHOP z&}z><9pHRk15Azs9GCAOO}WDoxhnkKc~RW(rXQw2Wm7ld=^sT_o1vO0oO-LztJ z(UGIxl9*h#pUZr<&D%IO8xZ{J@l}64_Qs8ZwYs#=1Db{2YW<#Vu7a(Uzc8wMlbd?e z!$CT!FJH;|D;p~xFVHHP_Ri^EiY3QyrC7C+zJ&9MpRcurV3|avhfV8*a$&>i&$U;{ zoz-hkEtwwb4kZgA;}#bi|KQy!L3uN#7)ryz=xeuqH|VPk-sN|1T-!lqzDmP6C~ypz z+903<%BO{@1il1u(@qNCs_slK?E(tt5>E5e%VO`Y zNtG*7jUJ4}o%)5*G)Ps?xH952^p2bO+gq0{R>vR8lQy`_S!YNb@5I_2P~%(6YFf{G zomyIuEQWP1S%$W?W>KxrY_Xr8h1*+`Bwx19Kn<@T{6U_G6W?n};tLdJ!4=n-uMB=y z8>jPW30$UMFeMJ^{)JH*{5Ha|5Y)C(52>2X3K>uJT*9GOX*ZClI9H2TLDVB3JMEeb z(gUE@mu!-SpUxR9c5jTEK3_lI_-*DU16d?S3jaf&4Z1H9GeuPFBcB9ilePn?qnl_z-<*GFB{&&kD1`yTRr@JMiDOmdj0gGG8t z1XKc{X*SEzl6$<+FJkACf9Ojng|SM80GFiYRdFR5u!{hd4y3g~cHRkicaL{MqnD01>?{DnZ=Y z_K|>o0oV=hYhI<~KkCb~UIWsIqM9rA%%gu`)*;OVXr8D*xb117#slVySRa^8 z1w*_Kw4&c20)22u&orbKKo0MYe+GESU9l5}Rtbo6=;8V*Hx!8vHu$L^{9^|nM1X%0Qt9pie} z`ur8%LA5V%Q507M81`~#^}t=h#?>E1!8=fc;gGd*@Eb^11=}f=GCv~StcjeiAz7Ja z>-FJjCjM;4iL{@YY|)Rs7SoTLUXH>)W#=3cU-RI=gX6}Yxcg@49cTn+a<#;`7MGsB zif-dG^3hDq)Xa^iRcCbe=qu%;sHbsP+A{1Dw!d%UK-``tehb^|gl8l52Ny2QQR34@ z8(d!np79*8bx(F7{ZOUF&7)6ECT84orryoc{SZ5=Mzd(~>g)BL3G!QNi`{HB zJ}vErFS(XKvl46LpT>!nJ3f4#?AdvOai6u}2BXQdtVWCut9TY-E}km!rZ->PD|bH-4CWFTtAU&y4VK(6`fmH)k&W&M0>H zu|pen#@75RlCL!s*6T071}N|mjJ_2MC0ox4+W0^#hUXCev$oW2#)@H1tc$BWO1-kU zebQ`*ghW=%(ROT$f|I~6u|qHFs{2vV8KdBZ=rE==ZU3|@DyD;VJ^RL7+Z*hgQl+OF zx)vAQ=;ETTIJTPtt>wngM4ru<>VB7qJL_dGTTELtfd(t=23-kS+RvD5orpv_e_=2b zi))L!@%0s5J`|xq4ANc-v^t50&kaWmY&dIc)YQ<{iVT@d;wmo3jPY(wa>@%%CeLLn z@oG+fkhw}X7Ir!lI7MF>lj4X2bcgp9#H)kCyhL#D5~8vN{1sfm5{7)hyn^p%fn^T` zi-Rl?sFfh1IXHZU3eYPN5;C3UeG0El6prDE1|;i$Q<1fOPkJ-{$Gi`P=>CdX?Abw< z&AZ%_DvD<>aZ@;EN@rS;DJ#|GYkTYQAD&7riuDflt$BQ`FMEV;S8f|2UXES6xK4?wU!-gPg%N(HC0IU%%V(XxsW9L|h(A!_-kjLjIOumocBKL_Q3Ms!Rx-)l>jzJaKtJjwY=;wQ+<;yeqr7y$K|;k|)nxxh~75(hP58C+Lx>Np(j{p_-# zm1v(&zKd2Am-uJyEedm{y*Wp*!l1;`jAqcTX0<>JA}cwekQvBA6&M+F4}lnZ9I2_F zUB57tCWY)S5VvE!_#(FTWg24NGeLu5RdyhN<&c9g4F)^`LMeeUMBytF6ibAX<)CZ> zQYrWo5~Geno53zo4$l1tQyw}SQj8$u3_TEF=W0mDDD(vg@qoGyDIu@}#f|U18?3az z{&3`}AaD2|?0H1LNffnFK1Lzu|?A1?qR8xhYI=%_%)+_h+`(0TxqeYYwM=>`aA7O38brd}vR?-N{m8q8V< ziTBVR0!^0>!4Dov4>muQ^zv)@?RLx#>pFVd2b0o)UIEtRZC#_G@=IQF_*sNCD`j<_ zW@~%_%{+DOvs~i~1fS{B9Kv)NdRrUXTtzb_}PAr}75#QOeKw}~|!?*WnON^+mSCnN1TG?>ak-lE>Yh5<6X;;lrndkeE zUgjb%Slg=_SurL}j>Q~K8uzN2MvI$)(w{nVdTU6r?n$q&9bJ>)Ex(zQdOuhl4hd#D z22F$nXWq9dloVECyODCkSx2_`B*iziCUQ0pI{A}6X{XroxIWXIb^O#l+Gyt@+IOnp zSXF0|f8ouC1w2-#-X7HuSby0d9b6~0Frj`q+HY}EbDi)=e>NNSjZHU`K<&HcgWi1g zs+jpPW^5bEB`?n|oS-|*BRX5lw5le2D7M#sg@GsZds(ZE2c_Bh4Gu4>;Z08wk=Mq( zLf0F|1hZ@WxW`w+Nvn$Ndd2D!a}UTf?zgmWZ<-==Sd#3@v%eTL(H))XSQ3PtF9bR! zd#w%=3{h1uXP!MFlJhY+sy&(T2<4Z-mU)43)&YsEQEqoo7|0C!rn1tQC{5ycLh7I@ z!#*#&8f9*CY$ZwBu(X$I^Ucq*mSbG6;nyr77!jA%{@qN4ysn%)|#q)Lf=6t}L; zfGB#%pa&@ae5a0870A>4S`P=mc;CoFENoOsJPHE2FN?GuqiI#e`rV+vZ|13f=S|7@NzoaV!djQY zV>d>EqmMUblc+V?k`mXysm|vO&Q`=tQZ@g^!a^Br>pi2915Eq;*B7rEB%2r{YNTh+ zXlWQEg8z3^w@QLUvQ%E2fB}m!;i9J%)IksRD)9*z%B0>rROeJy;cy+q@yo1!UgUjv z>>20iIN^NL)McZM&BdW7^Cp-%n;&PqO{2CRZo2o3d~9J`c1#{?;ksU9-@7(HdDb?Y z+qlp=vWHov_QslJ_-Z$gvP09cp?h%zcT%RRITv)igM12$$Rr$lxlOfPj}P!p8onZy z2#hL>zvYv3Q+YB(K7;WbO@4rhNl<5gz%!BOD&xeLM5mV@+k;b|dUv zRcyzFy3L8o9|kJ(zc9)-1DdIBd5;GyKj_h@IQ@jrlcYg=1YK#cIgoaEA6LAjilmop zR%o?4j#YJQ`ehv6u@mo^ZZlsdS$`3#x@6Fe@ybNUR=I3Elx>4xD$-!8%Kc<`(;52g zVP<`~+O}L!QB8dul!k!{KxWAIB*H3WvQ_T>oO?bQ|#_zvVL!q5k9jY9`G1m46te)rU_@soS)g7soa zbZd57Wl)I)f_n@&e;|2lnhz4v_0b?3Juv=Hjj4AD{XH1)hmZeJWdJYgKgQg_U;v{C zq}Fr5rY7viht1Ay-3DFnfy>CFbcU|)SI|_TJ&2F$L%khu0n^@{RV=Uqcy?z#$gY&T zALQN<{QF-~llnhmJIclK|I+1lrVCaXZDpZ;>OiY=|KBtoFi4b{zi0I!1^~`7{9Ww< z77oONfq-T-Ed$taKxqI}*_;eS%CVvk5gIXY186}6Z-(M=Rr!4>)7vW0A`U@L>KEjl596L8bl4^ySNf93#H&AxGO=a$4wy?Q}aU5;+W3lBempSGS+9lLJl2zh3)5ftu=y(Xy<^BaV)r*pxXGL zOdB~_z=k=dcumE3H+O$# z#CJ-nc%4-z!LFZt+D-*_-(FRH`q)r=XyKt3=FdAX@6kU$N=fy&ra8DKEWo|vIr&DJ z`m1R6d9vB-IeTsE?oaKotGVQBK2vwN=ub$s-$+Or z@;pvI@a~O!_*|JDHL1IKU&B4oMOV9fHLX_7D~_I{QsZw{t$^EMpFx9fd(GonAH1{4 zEKVi^=@CJS$BT}+l$Ci_pRnQ>O=>G?(Pocswx49hn@96Z-9FvAXNvTCLDxS37{?vf&X9$p9d)xAk`c$A_2$J zBUJ>14&j=ER3&Tuj?3j{ z_pq_IR|BVqmweB>5X6hrAuXE_sgfS(ea>2ciPR@iTY-GZSDD)Xq|J|GWK&+}R&}Y1 zxHYm3_vxI`n>rcr{S5Pic=ty)vBFo4YXZHfA9A}#WC}<=k}M)kS!NFGpy(~PJ$Re-|zEx_SUO3G2 zv){OPY%cQbM3EPZ=*72oNk)ZlbE_q9FBm<0bUxIv+#}1(O>|#tM58~UIU^Q5hAmEQ zyvOr9Il^AV-0=j#CLXE%`{;9D#a;=>IqB=7ReJoo4b_7z$7WuKyEzl(OV;aKqwID1 zaVuWEzGD+VIi?u;&ZM&4v3vM>CeeDrv=K|q2@jSW28EhQ>_Awki+!@BW-{h} ze*xdWY>Hx|WSzW8WQARb-~XE0iosXWRayS#`j!v8(q9Wp01E2s({|j^n2yVe$cFV<=bdlN+u*=_tEI7S7RgwBy8_1L^zD>Tf}G``-P;&^z5a zyll;BFZrH`@QT{*8q#k#0^C1)paGb|O#dEE!P&M@qzm+Z z|8^nxGCNoS*c@nnfM^EMF@LxPZ%ick6@q>wm4H$ty8lU$=z;CwUF1U~wBk@P5tOz9 zg`RJFvj0mp>Td`SX_@E{`TzHi=sV;Oi~moPQ3nNI(UgImnF8|<`2(mAvG@5WjzTe^ z;9#i8BXVybGAs$evEUgcBKZllO9M@(7|x9c^`li4f{z=kwYO zOjhb&3v1Aoih0W`NH7~H@VUMf@3>#%;1T$c-HX@m+GPEwweb4qZKYnLZx8##6jAZbMh{I{gsRj?llf8#XUC%`8jnt z%td2(1V{;EWN&s1OBRa9dte<`v-o+P#=X@tU3-MhIHSmO1$6C{Q$Iq*t*9}bA^q|q z(-P*@GqhREx8`wczW7x-ej#*B?DgU;p3>L&#O=-ersiIOoL%9Zp84%?=Csc5O=9QT zbVLs~huHtHx#MWdt$o|Cn?6tFzFEP=jgq|cMqO`Ki5>HGzTypMjaiO9A`kw~*1Ezu zfE$d(RzwzJ_aG$ZN^#&N=bx`D{pzJug&i-(2MWd9(^ zMkSnF&r}zwZ?;KXd$%AuFHv>?#{;APNPqLj`?TCF`nXDy(-%+HY~(h#--!NN6>4*8 z>?*75SgCPb8Eu=QA||%AIfpUn5g^CcGy$ay)iQyqXoIZ-cL7XUgh+@Xh-9z?QT<4r z0ufTM?Wh=LM$i#3Cs7R17+~`$gM&xJ<-wI?IxXaLDuBdIg*kA;{KWPb3t=qk5e=`5 zWbp=xy9lf6O^hh&?kFqW4qiw!!Q$z|*r>*)dqej!VI3Azj^uCONZcw;o~C%njngI(xzW3%P5Epy*wH^? zLN6;L^IJWuVDs>Wnv6n)wFnTN>Bo`gDIc`d-9)uHcpCWVIkv>B8yeFan$ftRV+Q;h*-FR?mjf3yL#lBj$ z<4U=o%e3)}Sg}78({P{Vv~k1znowEwh**H9l2W06?Aa4d?Lm%Q?m>1Ani@)wKEQd2 zfBF4=PtiD^;x~eCtb?`IpLDt;(0&kOOM`YSjp1qU32F9vT-kn{37r3sUzgxgkPImrh5ucW77xl z9(m_Q^J!cx7w@VHuuTBV017UEXhWcqwv%Gz)_>|By2{@FB7WEkCyvXEG%Ukd&8UXL z=Q^JA3q9O(t)DfG*eDuOMolwK@zrg?qB;3QtCcsho z=u|9Hcwzwy56-R!ivYx_86wO97MXC|Af{TWPUU&1%F zLXMBO)A~_IUTSkJT(=B4e`GEt48$LRaU)WrcqDez5D0^TiDyfM0&FyP7$wh9KSAOh zK_tNAfy6md;zKp;{tFy|AV3L@6+^!U>I&Nzg>?yt8$omoM!OyAP{=q1>KPaZ_!p#k zAkO`T@$2J1s|nCq$RGyTU`0fn7elTmLLStl5NVsg%@ysI|HYiq7wG>btpgH?=$HK+ zcK>g`qPegTiwuD?DtI5EUjD-ZU?FozcTNRJ4=6d%OeGZ=)(AbZJ%JVAokC6u;o^X9 z3GZ5@g9c(8b~Xrnd%!o?!W;!0JF0Lqdb!FEAGm@i#>w=ZbY7LFC0xOe;w87Y1loe+ zh=+<-(2-gm+v4h3i2{Dzgp-|L6jvN|uWo$hnNM5e6Z*6i>cRI)l7cFkz^89WRFe;tXF%?=9TlKGbn7C()chYeKl-xSD9+Ysmc_Ljn=XSD7E zeI^^LUFdKlanb`*{hO1JJg586M>Q#9x@^YPE!qc$0R`hLKE3CGG# zIyxfqa$p{5r3U3!K^yIYuYrwEn>*GmpYfPu^KXP_e*ZF682hoNx^#XsB;at&+-Di- zGEVC=*~D5An`8Kny_HlF)@w%U6$Q4s4ENawV|}jBG!bHjd;h$F;gNSZRJpsQueZow zRy17@WA1}aWL@d8WnIIS2oenbeLk#QO#!rg#P2e5K2Q!wF=O85tae{~%MqW%(X%gb z^l8Wl?mOb8FC1&`GYeEt0Aj!Y?cKHun>px3ZE1p;}_#odTY>|_jp`v`H z%0xp|*2s1=w^hQouOdGsTam`dNNmi=geaCoMOoM)Cnv@nd`Xm>55BXg?i#%6L_DME zW*8h1r1>6z1Ytt$GTEsYk**ErnPtxT8l0lm=MOSVPYTekrDRUl_@H*zLE1s}#`qf= zt>8l)sRlId-!B#k#jR2PQ?OZt9t;I$u6&|8hWE+P$#vD&L_I~cD zX@24aZz8^GJ5{G~Z2J^Ol?90is21SQ;Om}$lb*724S(8WUQa!M5gGTOr%&uhN5 zTxoCAaVlhP9ifk|p35IHd`^(!{wxnd!XDm8P@)~K;?Ba&=oI3*aUGN$v{4M2X8xpK z`f;)9V^KSc9*K+d`Ck}V=UwV~wU35IT?g{(KbU zBk%33FmTLt8B z`<=X9Su?zK$!8|wv%BNd`H+<(Hfl0@#EPv$AM%bJyXA5#bXtppHPifE{1inywTMsr zrGO5_Bl=qEj;VJ}2-jEoy(sBaX1U$=LV=;}g{?D*dkcw6l6yX|*_AR(7}v+7y>CTY zMm%zOzh=?M=gLME|3QN~Q|*hUUtvCV&C_te>Z-s9&j8eg+qSV$KV_!NL&+ zQ=60vPitoqA2~MN(Z24$p%N$^sh^=Acx(FO)0^ev_9~?W3b(V3GQN1@9!SWt{d85C zgg7&IYk`HcUQ*#Jf3MJGK6%4~j=E*pDxB#We7Jn4(#0N=8KkW> zxhpUl2n9g3O8}?mewFzl2@&ruk4z-;UoNX;;I?qWR+cAR`Tg?1O*aRRvfopHmf3M3j?L?PGERQ24%}glUfI?OXu0AR9eN zT9q5{s|I{D%2JHkBRR@a+|Eg^{qhyLUG#aHZu+mmpU&wqvFZn<7_PSP$1_(yF)K6F zX8p)lGQ4Hcy_mcx%`@{Yz~=Cbh2UJmPeq)v#$OlJK#QdY00`lPo*tDq?Z5`8h6cm3c|GCS7ASe3b(1^G3dXR$7hd^ z^SpK|Jt}NwxUNKec1SVH((smq-lp5}^(?op8fW3p>?An-9F+!2!oQ>B&g%`why$~4 z@9U1PI0M&o1(0H@XqbeOA6O9Ki(-?(L{UC!kbVYG?HhcR-A3JZtWzNjmax!Kq_2&6 zbq{~IZY!fPI6EMzo%+e!X>tV1Y+m0Bd^S$Fh|G409r=>yO3ER=Z93wmGCV+|_x5P% z&_}S(_DCl%UUXsgFFzs^*8U&fz5^cXw*6aE$*53-A|-nzG!Tw&O*DA2@rZo%Xvz5y0}h=kyMx)HG%vUrTus=Cyc|yx2M7`fbdmpEWx56I>1P!V<%qy|E%egVl4lrfuvVL zCM5ztIBcD!Yk;-*h(TDfsU+jk7+Zb64+Nkj4sx5AqYi2i`EW;=;T<(%6NU>#xuLU| zuxk=V*APltrw-5NHucu7Ua;NyQfTYIt^H#c)G`kB*O{4o6`M9b_+adg(`QfalYu3i zpH3aSuv?_j-ubanXu)E;FNxu{Is<{X?)r{r>&ojt=x^rUZLx};PiwL2ndo`zXC1G0 z*{S%YSa=ENEKVJlQ_`~cS!FBS!sQ}zdem+>ed5%zI?(R5>IZjyOfR#c@v#1yf%R@_ zmfY1+X=d`xryrhuzR>5o+w|1JQ zMSt2>Y;h}xX;U1Ki%iiscRV;tAEL2l%c`p@E~ZH}HmDn_&;GGJ=+0u4P`*>;RsD&W zJeI~c^eyjReq8w>L$!JYncS4kuY4_RHP_bJ-Kr_{ z7wS zgd;`397;i^=PaCi4yGm%%#H%u@HhA}i$?ZCq6Xc0z(N!M1Rn?d(;Q$j!yc<}Ks6h- zF<^H#peBUm_GTF|WMvEOE4c>n;pk#ylY!!uRM?HR+4sg-8w9kcclKtnnhV;msL6zS z9^n3l{Mif>A0Z_T!Rk1p%bu!0JFM;TjBJTGzx+`#{m&l3pTXbimZ6xf0sn$Ro9RiP z*M2`Hcm236!<=u4C)gP1W>>H<_Pr1nYrH=FRFN7p>@hfP2?@?1c2gIF5)dR-8ff)9 zyg!lApzv}AV*#`2WqrVr9oSI+d}KgP<~;qJMAZb`>w>yHQXTNvCfrMf57l&)nE zJmD&86ac^oL4h3U=o~X8TL-;f7Xu;L8cRh8`pUWNxY3rM;+zZB{-ebT&bQA~RUk!@iBIF+tjSQML>GSU@JhIOKH4!UHc5zZ9 zhT$Nt9^Om3i<91ru;@Bz66N0}&BM zfCfYzPl_=;al|K&7wK1kY%&BA*=L9an2O^3XG8m+-iMWC4D)vhY7( zykQ#2qcuTM039t8RsPe5@=qDSl~8*Lv;GD+Rl=9P9z!PK-Gx8~8UXzho&(`cRtI4% z1BU|#TN6qX+B>9VFRU{VWLusRKx1K8NoteR>QUvYyW79Z4f_ahnmhac*&42SJBEEf zdR&a(aQVup>i6g~-R)7|_Un4yJ2KDv=f%(C_l*R*Qd{=EaZ6u&`)T6&Kz9Yv+Jrd= zm1TTQj_x|OWzI55JKcScp9UoLTKcj$E1LzhcDb#38gRl3+skQXgG z;NX4Zo~C?~Q$lZaNY;^u1AK>P6vPJiUx@u~Yf*I0uWs(=i+$yPy>}>`{-pNoGPbO@ zmN7=2K9Pd2cJXZ|w5d+qfLn^r33m zU|$!D>|oQY?{Tg^Tees2QT`cg>(mj-Y~n9eC&IW({^GL3Rd-C!hJNNx+IMjQZvpGc zZLtcmUcHbE<}PsXyQ8@)y;1yJu1jJ2O|J1(b0xBm$ed!IVY5xjoXHhRE>str&oO64 zFm)PbaA9w2Hsb2Zfm`T16x5A^yudDm0C0kU1=K@SE#_JY+7)xK)Xxwyh*QD9B1BxQ za1oe|C>M-mK0 zw$SB7XD~dOYfMFFD=VM6+!uCU@`7PRPrawgjgR-Qlxm%~_4O3-y;=a1zoz_0&YIHm z+t18}16=x^SMOfcalvBbb58V-byGphg3hihTbE_|j_*;hm+uZ+Eo;%oUl~Vtw9jPG zFxrXCh!V?1_AWRiI{_46qiI6yV`<6Ul+ACB*z7CPAN)vXTN3!f%IgldbFKMIHlC{I zeFev5?c7GcM0G0rp8Q3}3)Jgv@eNjG<9i=%&Cv`M6F%__l7i5Q6u`X#zYPeH9&saJ z?$K3aFE$Rc?pyR%X>!Eq!t&vw12;34TwQO$cl6oQ>xn_n+x0D^Rqc^+3+MqBbrSNR zz(yycmdGJ4$VmusO9)_4qVohvQiK6+BAlX9*{MY4GYUZ>#3{D+z^)|24W2+qLfCOlWLsg3 zOKhU>@KXgHq6i5bfz)yYSh(;wkZ!nLup138?y2Gowi)y7t?iT!{Dgumztchn_uK4_8mF)EC*tQ^`|X* zlRtQpYeO$rp_O6_+XfTWB%yblUVjOO93G1aP!|&Tdgu1GCasM2N8|a-_j;tK6$^6B z^^R;mKket`HlYM_(T9mbtFJ}-pZ>brr9H1seBqZTvxn@L7%%kfjOlv!BKDE&(u>^R zdPo1-UU*!3z@Br{VjpGoWpwUit2qLnTIw=$ZnPhF>1=$w&L>s*S+dA4I@V*iShjV9 zT+$F7Yrp>7k#WrrO|{zs8`Ff@Mvi6#@kV|9aV;%AXplbiZBWvc2N{i}H6K*K37hS* zvXQaV=);``we@@gQL*#I5_#*d=`{YL<1Z>-{`$~s<%F}(l*Zp#|4u=O1O6HYoFHo`*8>C;^KbMMY3Hw29#hU zt7qZQ%>3E5GpqxWoPx*N`W-bI)`dPgcw*i=>llU=gX3dLW54L$*Z-pXYuyv^Ol|QT z*(K}wY+__T-@7Esz4{v8&g%0;PUNVvf++*LuN4ACa5D3AY%n4(BSt=a zIu_E~P;3GX2;y)f(jQO}1ze9Pgqc{fWMk2Aq%s4-hu2*uzM)&`?cO>G7 zcvM+hw7csjj^;0^Ay5&(T-mlZMF7dq3FFYDPEm$ zoW%Z1FYF+&xGTgjn)X=ntN%} zb{N}{Z;!?vx4HN!U8xpe8$bAM1v2d8UZ|1> zdl~Ft41hxhwgL2EJ5P_!xboBJZsPR4#Zv2z)qksdeNVwo$)D%?ccmMHefM{6IDg|@ z!x{Dx;~Q*JTzS4>}Z=X)1jjR&qZhnPdo$81TU^)GtNgg?RX@JxZp^l> zL7CK{o44jHTCt#ZdLkX$wA>jIhd!G}(pC5jgJjU3C9=&vP=xd2`w%!nWSw13>OQ~O z-HEX(b*$reLzjIE8-J>^NNIYlV$};UZbo%-DF&ivK@BkpULLpWyq#y;*WdXThJ~qWJbRP3t?o^L2M1$+6ODn8sQq+$jJqt zaSAZ@3}UN|Z10iW)iB5ARQ3}Sq1ZW?(hcjv8%)A%V}k8S2a}IrI1s0V@eD{1;erH% zMC3L^fVZX!YNKRmBP$V#Yyj}B0FAE|&Yh^5Cd1Am8qx6haopC!UR!Q`lucR`oRW6+ zfE0U9$F`qWcPZ3g_r9ph?E-j{vcKlc-R3tCAga@7FR^^E_s+xb(bC8C@2k{6!Pc3U z?V2yvti7-ARn`4o%Jv!KZMJ}#rCKSTYGe@r8JH-`HP0Z+FAGr~KEfUH>{V<~$;v1s zl|ASIFQn1LjI_16&3wF^JzhIxqsouB<8wC!bh^7+2f29#H}$^exBi$QR?iaUF3rug zZY|Rzx@RF~JEaTckoRyH{#Ps9UXihkwM5;ik4Nd#p_qanVS5)Hr0?rtwt8(_6L6Ma zM||NAzK!_-!P4*J`9-&wc>CvRAd6xM{ttg*Ss(P9xd(d?#00A7098t$@DveDLu1si zljNlsatbPuY$-wv;0h3KBnyaaPYq8vJ_%bv2oVw839qrzpj_`_SUWRMBx?X=xz?m= zZwcG1{mJXyg9n1)lEL+>L1d6^Jp%W@NaO(ycA@}xqU9$+CX>w)&<`kr6BHw2nt+}7 zjCfoufBuui#_TBQ_Y{kEDrrl4A&#Q(z#*kX77C5SxGx2q~^(7uX`qd%+*i39TQ! z!F;>*oF0-S8#i2gH(ih2wzK_}gVQmn{$Pd-?iE*t^=R z!avV01GhuuxVDjC^Q8wTs#C&>#jkTjb1d09SiFISwRs`O{0Czf55MZJt!PS(IjuRY zaVFXFW9WC=ZXW3`e0sZOhmOr?irssFCG%#NVy?w{o#Oo9-F_=fkNK$eR5;f>gJPAX z7u(j{h|=F4FyAYWbH@cUi%mk3H(rewi^{%Csu%gRd;bc~?qsI3);c#*x0^gT=s2(O zqy1NZyG4%z`(1vB^!$u630m~h?$dzs)BZHO4}%|4Qqs@(No|`UU2()?>sCE6sqK`C zcLvEjo`K=^x$n5bebWPjadAW2Y(p`g<;mIpqFdM~xkpl#LtS=s@qI|g84JAP8Q7|_ z=J@mTTb>L5@K9ISFY&Ey-Or_&+UrZp+V`eh61m$|NwN1E#Dqoy~td@t4;Ghz)LR_z&1 zmlzUvDGgM+Co;bHa4^TYJty>~t{1^NWgxFq10saaTJiB90b*FzN4@dOp=Z}9Ye-hf z9Bf`vTxBLUzn``$fi+wtUtf#w0f;1l!3rRlen#(VOP`K(R(DjINZk)=x;w zmA6arQhlTo$E&+~OW`Q*!&*aM$4_GZ)n$YUQL zHt*fNWaX>n4$HNLL?rW&kR+TEkBMrI2(usr+?%9?W6?(=!ASZp%_g)$s1${H#tCu- zMFoJYXeAthloNv~I06p^-~k=A1tAA~0>>B1V}ozV`f;jo``}4Y^%sXNahzzlJ)$l5 zV%ic8)mj!p>+C~rv#45Od{6@k5wR#iJQO*-lO#n5po3SD=LfZ$l;rss1U5pr{|mPm zA(?<@bopmtjc6&n8NhPvoubH-I0!)=G!>JH%eKEO^MuEr8Z8RlLx(-XB%q2GV9DX% zk!3*bIN9W)`3esk^@{)W5j~DTvVRGDzh7JeaY06mdSr(CfBd{jJ;5s3e|%^K1yV^P z2zzFtdW7c^pa!oZ+^2(*RFB=nCg8KKd5h+F;L%8-&!xs*(o3Kgl=QH*LkaZ=dN$L&h7epBH7GP}P4K zEH|qB=1!Y3r`h8I_e~K!!$5vSMrd#{pWT#DcU0|pn9p@f)|`kpd(8UZD*0btH53{( zO>NeN(PnK6TSy@f->SE3^m2a`{p!WZ?;b2KH*9|VVcFS7FD<{UY1p`6lmD@Mhg|pX z33KnRuL-`}zwL$eoj#vto6l?JG`vbq$dY1wJkMl*vavP0`}$=pBe}NTQQwpsTg$FG zrR{Y;)hRoztJi&_$&I$vLCcrM&)jNL&)|Ch$5;;v-{%fR%$(gu^Da zv6`{`7B7jHDYxa8xcP*1pDZpo;B^aN{LHb}pN_Qmb+istC=cylo4&Emp|jp8|I9g~ zx2Ga z#`r{&@_>&}K(-n(#0=1l$Pk0ti`Xh-K+GfxPH_Z!5#bh?WHMPsOd`ghsiUjWg~l1V zS)$^zmuwePRHF~t495Vo_XmreFpFNatOF)`uQ|bnRc89+lx`KARX+2rb?v%O>`N)BqD5!vkn97GMbyeoBT`=#a-?k=Qnhk`cRUDNZ!+&lk_2qv*8jkVB>^Ep0cmj* z#8lt~FQN(%vW0=HDA16QijGi>=28D_1YpF)gktYM$#24=Qmnb1P}L_5ZYfsHC^Z5= zF2Z3DIL-e*W&aUKjW}(Lf|TA8`aaRMN@yvqHu3w2!0nTo_b)z9F?8%e5l=PZlb>(y z0!)RE(7&~eCa$>uN6jbAJ6_l~rgHR6RUC+%`-jIFwvG3{88`yCh;XIJmKR!a$cbxV zE=afrg_u}1?Pl3U>buJ<{dO*5di2i2eoZ}JMwiWMRF*c5UAcO+#y45&=PEG{(}1SY zvbv*kZ(T+i3v3uQAG%sR;LA|08*G%{Y+IYB!FpZ6bG=yh&11Xv@w!pH} zJRos}uZnN)x_99U(N00<-S!C?U(A;nYgug(&A!f2nPKbTp>FOa1ELz)TpOzzM#QhC zTym_Mt^Cs@e6hm(-Ywnxa?%bPzUwsg6+2zA$>5v9bJtz#Irm(dKP=f|dUW@S4GrB% z$F5I{`pmw~cu0D=tl4n&9UbGQPc3;$x<9H~z8%ZA51yaq#m&n<&uD+gp;ZEYv21m_ zbj`D?oK?R&pF35gSa!s_de2pUmbB$A)9bY)i$AWpdsIzj>8NgVKC6~vS+kQs)AY0N zIfF%K6=<#T84>cfwW{h8l&^POXh=Ux3pmWcu-v6S=k+`B$OI~PLbS^LqTkyUAoY(ENQIm&*Yre>@c-CLlJ(6Kx z7%~0kcl}##QgrhU9$Ud?qbfP!@gcO&!4@`F*@E1X)rNM0-Y;` z?o^%i{aoDtzW?3%KL1(GpZYVF`I*GOz0-65?enpW1b2s~Mv+(VE(dIjoTi!HQGAki znFF|@7%+sgOmdnA`$4^PCLM#0qCwtCvU>!N_0vZOe7DHHv9NV0`Ps`cU)i1xOWB{% z@m0|*M}5=1&z{`6Pxk)xrcm`4yvEsCu2@+pGkD?*LCht+AxQ#VeTQdl=-J|RU*@%s z*7Dc412tJkW^~kjHXm58$j)o=IL>fsb?Wu2#ZpOORzrx%S>P=Ofqqa12Sf!zGeUER zA5dBXl7EDJquM*-O z$`jMlfry0#-3+Di{V`sJB$6o%Bk?Q(+{lxIQyuVy)|ll*ll%V%+@>7u34=n6g9|FA zFjd^_zkR?zYas-#Q%3!dA4$&FDx4rNLDM-X1-@U*VBkL}mM%(SraU(j3RM2-*@T~v zkU>ahktuhmVt{UOBN_qK5UWA<$6T z%DTPEs>Af>YDB-V-VFR8bZ~C(vv0rX_VbfosvL@;uNBfgy_bFA|7fN5)pTu$P!7n;78SMqKX~K_so(J7pb}!b$ zW$2wuiM{*&CkF%>+%@K;YQ77z(BxyD!DToYm|^Ww=pa68ho2h%e%0z_4!(>kf_aHk_{-~hM}?j?y_5CpU9F;4(+ zyJBQtK)yiRzS|jR&d4?LtM`c7&B}F27N?&jaQ>tn3Q^z!$Y6Mi<_A%{$mW8~0qh*Z zpfuqRbL0`F{RZ*_3^Py!N&0h`UVPpxw#5LDfC~dY5#5lL4M)+U(`b1xDpbNt9`o|0 z_xW9ISSjhMzSQJYOZevXU+TjZ@6gL#8aEi%v>fg5{``KumLN}p--e{hmE)G*@?}c1 zJkCii)6c6)%XdmYR^ER@LZTz}V(Ql1+Z>k|pt?Xr&)tr@eX$q%JC!#Gol{@Z@6cwe zP8>vqMG;^m#zq@>|8u`3o-rxAosk!ed<1yR>R#f8+k6^a}6I6_{i_}P6j07UsWmQk54S}dO)vCj3ZS^da3mw93XvT%L2i&tLBQ3i%nTwW z8=Of0(HtYJ2S6MgQ!v$&XfB`=5UN{bA$~RPR4b!V+k#2C)dH zo~Qq}4g510l8FQIswN{pl1<2+L7M4IqKjG0G&T4@cme4%>Cx;|qZGwH4{e93BGa!p zdjOx*pb3vdOcMERut6cc3La=snJu3lyTYwzR?wTMfNMwmWH)if`)SLZ(rb(ktBv?z z+6+lh5Y7f$C~wOSrLILv?yRF%`wnE?{%)j0w{Ov#@-gGnUvx(8Bk#yoiSzN+dI_xQ z-1m6+v5)#y`nsy0K{gAvHCGBOJgPI`Hr-O<$y+_&`s4J=ht@18x#ij9aMAFlzmER_ zKJMUC!3D1MTbc*+j$C-@=)_YXGIM$8rNn@{(=VL$NpMw%MF&%hbbgo7%Y~HZ>meI$w&_c@<7XDfWa|3-pz100tytM9% z*_hA$8#>vX-s|p`*a`YMcf_bL-zbw-7W6*%oqMU)-JAnY@ha!#i5By;K^Ag;pZAiXj0ZB@`odb z2$&$Sp3>XaL&zc0y-+G1zR)PZ*Jv5HS_(^`f{YByhp%x?nU6fG_~-U6>uVVHs?N_J z8tZn>87Q^T+?#xE3+FZGJD2Js)shV3!g9kEJY z={@s2InQRCWt-xKs#(0esa0Z&O08Mz8}d#^no14y7Ha zwV4p?HOX26(}?i#kc1Oq^^ipbmb#i0@lP5Buz|2%Ibm4Zkq7IfSnq^%H<&IkiebMU z+V@Oj!TPAti*2zp!qo=AMv|;fTc^^lup!kkRHfhH30%bk4MY^b6_EZOK&X+U4$(>= zMt>6MkThSK7!2BZBI4Zty90|rFs%3tPkbJ!zaX4w%s0p_Kv$7{9+YJQ<4z-I5E>y2 zgos_7!woA14jugmD~Ws)MO?wQM+p?vxO)OtVd^G82{jyZ%Jx$p_uqf@rtK5Wo`A`p z@?rnW?yLXO6N>#v_NU_cLDOsmbT^?O@W2caJ$y=a^`f0bOOBwPQsXiK$dGMJuMryT8;pw$wQ0ZjdzX{Os-9 zZtLLlDrP8oW3G!psMKKHEyF$aGj|#8y;)q(X}Z;pXU6a)9_d7`X_`hZG5vXEY{1m$ zvvplP<;SDmThAtNHL3G;?wXWOb~56E_0Q%jYfDS@Rq7VQ8B?*#J_gAxn)R7QBrlF{ zn9ERs1I~Gt_+k0F$VukOWyO^7*xL=K5BVPnW(;I}{pgNQK(>6YLjR2Tu>%X4*`BLL zgm7QKGHZMLw1ONaUq-Xr>QC9zjM(%uPDMpC+Sz6LHRqWgbTK{XoF!*&2*+X`tg&lF z|1nQ=P60$A+X8sIG$Xj5^j~V8>An(tqd7Y45tafGR{?3$ggR$unk|#{T*&}AuaNYD z!1!8cdUHX+LlK`+zb$0VS#_Aj=wsxA)=wqD$qHrXYxs4(SQhp4W!ryVcl(@?+^VIl ztAMnN>IsiC3QPJ7=U%F|a5EoTNT>5XkELC+KmWD1;@iC51xJ{eZRAR<3_nctfV8?` z5G1^zpywjC4rRX~0gh9_^9(AU@tOZT8#H&GZvM*$qj$vUk~=-iIlg&{*s(l#5mf%6 zqkJf{Y{l6b2J;pT#{^ZzHaA-DzihtS0S=a`fIx0AFpFjZb|m>ZvPjCTJmRv$u zBc0QSDj?vB{wOR9A_CD5;3TG{E0Cdsq68_jr5J#S^obHcF(LLGg-c8nL`ai_+b{-} zA-$01eu^i{RAJXMjfL+#4~MOlxv=l_3XZfT3LQ=t^kwT)+3s|pW7Z5A$x8o}Q1OSRA$dvd&&1iK ztPJwKv@fH~_0)GmB+kT;mkA8xe|QjiNlpElzxkDl($ErISZhLmu%{4~1gJj9pUw>W z8?GKo@Aw2WLa3 zyduNhuqE>B_Kc!-)|-#?Wzh+$?PmR~8@5ny{+H<&%=Oql6Agz&Q07)9+zy5iry3wR%>-$srJc^cg)j`V=hUIB}NxXBscK;%XOXD zNI%jx>bxew{?mIgrPR$uQI|y39x@jDh6IXu2D-X#&>YN5kvkB)P~J#9>S%&Tw70HX z3XhgcuMR`H-6ILzP-#`aD@6fr9P;6nWy(pHYMZ8ikY14*4+W-Dg>P!9R$tNDF|?ZV zI^?8de+z`?n(OZG4;0IiS=F=Lwl&gh-p7~y+JP_Ge$i>^sP`R@eL*Mxi_UEH?Dvk? z(*~mZH(Z+cQfGsw)|;Jrw!&9$UgP?n#{h{)oc!Fe2fWfA&;989(%+q(?Rn{*Zq)_( zfr3q?MXGC>5{m?JJRVFPsJ^En)1Rdv!+^YXVX2BDKQ2f;tk$BC2Vm>Kl`Gmw3rIsq zKI8(WhwEA4WduANl#PMKfa?50y${5KwK}IiK4NXEcUXD4n9L>40jp4<(5|6$zwiU&&j;VHKY0E53!_qQjrXVh@yVTo zAuCe?>=_sM3G>o1zI@5Q%9?{NV0!GdMYSWUIFX2EFCw9ZNfguwq~+jKnIWpmgIJoN z4!74BF%27XjaK!C4lEOS+Hulk(P~kzH+93m=ossp`<}&!nebbW%nEp#PXDfg_2d0_ zo33vW?0h5feX>V7-O&~0ilGAA&f`F@i7R5 zXr1Xadl{?&0(MBy1h6$><6?M#KWN4VO_m$D%Ru{~@N}f#sR)L)8r07o3!0g?=4ttA zY!zLZttqAT$?F>AVs$N#K}Hc4Y-sP2L^I;go=9m-dKrWYQpgUlLxE+Z>A-|*aV$5% z5C5UR6D}tU2#RDU%`OFBAjAWba%im~^lC^}Ml>HLE{Sk)c+jK^iDVtr9u(bAMjlAU z`ltGjB+n$Jov61U94SpihAlT#iN0scEf~Kxp7UeS(IHxz?Vv}*^+t0qQpt9gGs7MUmvS*<>ABUrCLAGqs zBi)nCmnxyafR$m849vB+g}EcB^Fs^}f41)sN5q*YES0M{ioC0UMM{l>U}sHT`xO!5 zeGjdt1zr|t>DBg06X3JoE3_u*2frvsd#n(Tp<(xuUEik5M~#Psd|qpE^3`??`j3bD z4bKiJHeWlg2h{;?Sa*4GvJMsPd4Atzw4jlv%nJ(qg_l0|(JXrNxy$;83yc5Hh{L5- zSqoq02a1XcZk($($2xE3{!IbxzB3x?mPfLG=&*N?QqjO_Pn_Y%Cf$h@iH-d&Et7^ZFE&h{~7 zOwXFimOSHWc4df^uOiar*}9N)42OUuOU+e+0sY(fe=VJa5>bu{r_ z@8)$(Tjd!TWV@v2q;WH6j0ibb7yw=xP1|ztn3Tbtl)%})=tK?VnvZ21KDI@qQenU$ z)kG*JFrSIPp~!H@Vfw69{%+q_vkE9J7unN(JFH99v0ZHz|G{qd&R9bozr2)O8<11Dxa|}ge6+}Ubfirk1qYb zFAqs-{l(|=TFyuJhxij@`Ze;!IcP*C?kmUb&W?_x3w(_YdWka2z?*H{jbJCeD4_{e%A3uy;^% zk8ibByphm#-8#+wmpO27(%D8Sx>bh+yoEUDz7JDus(#MUYahnvn61LEvF}4q@lEXZXCZ@;qGDfQMKkyNd|NMg++ZwSF{Ohg>yk0Mek zeBkeP`Sh1>HP4(<8t@uzc*6g>v;RVB;;G&lTyp+=UE}j#YIJZq{biEjU6vxi`S6Ze zY3a^YJR{)W*>>bbbwL)Jj!@z$PZQRa$(22g#rf}8{Vu!>S#7HAFm~ZYaOTG2(ck-( z9nR?gU|RC{A&c6qV>;%E`VI@UY-R4e>o}2pcDaf0?25?NiruO!S#7U&8<$^o7?Az) z%F~uFe142Wz+jx+vY0D-qX(CP{^?XFb0pM2*0`pEnP4BMq# zXP(?TL-T~}y|S<+4zPkVfxpH8^O$DmXrk(>=uB566F_p2h%tZ^s$D|CA6h9!>!n3n zJ#1$P$VR~c@W%&DawNp?>AvU>M%jDO(AFzD$uNvE*XRL`blE=zkmE~+J?FG=PfOAW2E2 zU7nF)41Pa!A1oQb7;x4C$reAqpf@s&VacF36Dvqq1UY~^TkOH6-uoQj2TpQAUU0yR zOsqfSuva!YbAv*K`4xuEZVGdhKfcG#@Yb-gp^0`kF^nUcHqje&TTh*bL!!c5ZEi zl?LWpgqzQqo|i}17@dCt1R(zKNA=TO)CamC}IaS5^ga)LI~V#?z6b6>4q z6nxZK@2_laI2>Mxt<@RT-mPJK;;dJAQjF)vbAv~B8cM@hini9aIK&yhdB3#z*yiJ- zJM!{bb;NRPOSV6XYZH`moZb57)|PniY$I8Lj9Qe^M2G~?3*|Ho_Q0w`1&7cALY1D2 zq##_HP5*%x(2}BQANwP3-b@&D+E|df?JvD;b9x(#cE9>KZvMnYvVmDHq224g=o6-Q zpSRIh%4dL$WF5b{Gx=iL&v5_IElPl+ z>;6V#dQScLB?>`r>x$Rj+7YrI`=uW^qeazW(k%*4QR_ z&F*OYi;Fj7>@MuS*0PN+%Fz;r>GmQFfMy^_p9*>Y1 z?t&5rD2Nb+5m7?2HSp^#|4jlDF7Zesj3H2iLKR{<)fgU2iqj*_36|6oT21ZQ-}n1} z@GEsa;5Rcs-{C7-3x|w0=qG416>EucBCQ>~@~Bhd{imk0qi6gV5JWd%ClPQ2lnR>B zFtXGIf|oc&*+W()nrPDClQD^S?{AChq&V4+31tDOiTZ#UGpVt1gnI}E2w6{Akj9Xq zGG~kaT3NnC=M=jdCT>Af7qHt{{jyd81kOXja)4$iKNCSuK`+KIY(Ei^$=p%~^_%#7 zcWi^o;FshjI#Uh#9U9bDgw!9Fy4rZgG|Rdn3!xzhMsC2p3~iK;k4WW5ur=AD-kgf; z&UMa`Fqy;lGrX%vR?$O=tL+z^_$RR=S%(}JT7K=boZ-1_-X7(Rno0TQc|OxJJvXaf zx)plpE>raZ2Cu4|V;#0_@*}ksg%_8)7)=R^e*ZA(@3TPjAs@ z@7Y|drOa^hO<3=YUCu=-YM~OF%Pu&%^Omu$R*Q|F{q$y!)HtMD_zAUE#@X}wxr=CH zbCU<}TLQ^olCVA1xFWkx${=-1sA831&5ox>mT*VUnVTX|!k%(y<28ETc@-D-E>&tP ztLS;R>Cqjp@)g{y@AqFn8@^+C7x%WoadblV!E-Lrme<9P#9Z$1R91=`I)6#~c0lFrs$XgSs@#^hIg2B2WSnm2 z`N(X1m#exu^k7Bf8QB}p3)5XV;ItQb`U^NMgwR4UfDrDG76@6PF>P>O5NLPgeFU03 zvUo^}B@UG%8wyDC7bkWW3LVlT!~o@5>Rn(x;lm%mz<}t%hVmP>L(VG$vPVPK%0z0n zE1s!SQ`o!Pbq_0Fxn>PJ~9d{kC@};{%HM#A*~Uf5ftzcm<-g3~NDbfu>6C z2(^1u;WhCt8c9aO;1KoL@I9daqH6#sjL9DB39<>hHc`k8b`5A^DM}zY5H!eZNSNu^ z&t+tj^KT9UgK~BhMbQBzhT*Xxg<}%{hWvUMl)b4P_&ePF7v29)WA!^w5PlbLQZ^GY z0T>R5M5o^Z&8YK@uOf94FF?{5Qm??ELL0{Lrzr_Ru_2|(K`Dlf{u7{9iYOW@a3vEGg)6SN5?)~^)_sqv&GoeL9ttCZ?AW9 zuMaxdb}xbgr~oLK3JXTi9!w=zc?EzD^0;UlI@$uq1REJGl5LmQ%b9NAvo&hRsTMWq z@UU|>>TCgpr?*-e6x5jVL#_bk_uyCu{aG1#g>bOqL8(G}E{(jxz0V5FfZ^kUlQ{U* zukRKXWZ8M^7u|-C9T!bTe1fx1t(j-s=QJ?GpCw$}g1aeLVD_TQHJ0@}vIiQqZ^S*h zdab;++_NK^$?f|57MI*7W+VERxhuMaEo#>%(e->_iWfan|9PK$Ow{Ge`;NH0IBd6J z$FQQx)9X=d=5I9BmMPO*#}j<3!#P36aP~^)13vAK95hb5H9h;b{YKPGv+FPH4s8(b z5f#~18X)+jYnPBk;7T0I*6J*_t|SZolY^t9m6r&DakOEj*dorEGP`Clm`Vriy=)!N zBoOtzi?!Xlpef$mn|%di@O)E|x7OEhZg5;4w&z2jhG%BFi4EsD>GO+6!tZ{+&RA4# zbZ)%mW$^Phsoj|i_DGp+c=U_zC3kN}q5ossC%kOSJ~+ncx3NAdv;O#3Cw+ffbitA} z=M!a;es)OI_I&8bxnQ^GdBAL~*AHiLO?$|Ex<8_8w@|FhZhH+|RZ}hJ%Qz4g)+kM- zwqZn&PcyQa&c#%j>=+t-K=6ErcV6b+y3&BE&@^6l(>@b9Ftl-QstQGb1qtW&;?+u! zHVB7sOfZAto6zJ%5MZdxdT+zUP2;;v{dJ@)1lv^?Zuu1KKYTw}NnEh)qlICjjGpTK zJ<$sv%{$?v?jIs#pnp>4N=eFgZUbj|b`SYv@oXV;fF@>GTs}}9kAuN%dW?{f@>?#~ zKtDOZI4j9nTT+!$M|;N~Jhu_h?Et&^_MR1=E)~~FF(zq_Rpyr@n$MVbk*C&LN7KgL zl`n4en%U8kcZ(x5Igf40w&e)DSEk-7vNNK-)2zPJG?mLpf5ll63gNguBqtyL#^mF( zf-oFm{Gx1JQ2m^!iYQqJ1o?+lZyZ34{7O{+6KNx3eH^I+xj=5C-FoeKl2d3!NMa^1TLa52Lk2uo=KoG4Zm8dL(Cu*QTmamesSjioUmXgSya1~jz5K*9m)08ITT2CB5jsD%BG zWab40W&Hk}DeRvAErSi4u|&g(*`@6c1}D-N#8gAcNb>B_&b={B2nZG1XqM$d66E{f zHA1oM3Qvkt6Vp7D?{eIY7R2g5Y~`*_))CAKTmYdmfS{TF(7=? zn~~+@0+C4t%EFJgrldpWJ0gnEjG(jUkv|K3y5xcYOo^u|l3L9*+Qk8%x&9Eo>fssJ}lg~Er9aGt$lo~+Am zj+K983jX?qRli1s?-$*?Sl!m@T=}r8pMKOc2^7aFJXYqky0@^ZN-@@BsFl7)jC1*| zCH)a{O2HgTHl{DE1EZ=7>wMYTqe_M)=G`<8%z-}~JuF`D%JMLk*5}%}=%z#P!Ve{l znjTS6-zyGQRjBOPpV%fWdnJ2)P)6yu>iqfqDn~x`CigKL=YMFP=OprGu~)Z=cF)k9 zdhTJyGMU#8M*Qy?MZDOP#m#=P>peUj&RNpWOig#m+Zl#~^&>^yZ%;{XCRkXQpF&Y_iZ{kt>tfj3vDp%$N=&?^h2nsS!{H z_$oOTNo&+7tas2nQkd1w#;UmeqT8CETJhNrqUGpymuiZ$7CD}GnUhkXcjfx@dSS-7 zJ4@1s{c!rh$h%DB&I%Cu$>GQkR-7A6#H}Xidg}lby0~ zuy?bF{LJ{7je<>JWM%Uu?&OX1igjP>9ldp(oQkfQ^iPSqQKsjTnb-cJ6KWqQ_0Z%l z(NtTlzw^d!z5+PB6yOP@6B9->8;IFK|InZjE;x7rRyTS7BGHK5=)Zhs+7y(!OP zCl(H(IEerPC}?~in*6&_N4c3i?)X*$+#s;&07el=2eDUT+egE6Pn3SeLm32@5f zke0N@`+P+Xd|$^Q1BL-ch~H1dI3d#@d@eMLbmFQ zFh-;nE%f8gRS&U=>^3R*t9o}{_zrKrId8*@L{wAR%?LC@K=|4!xiC;fWqKi+K%|Ia zp#bU`5qphQH+&;F#Tp?tg@RG(2??0UkewhMq(Gv4oS(fjl_~oq> z&y)Mx59)6;E17=quRe>}4}SP_(BHHFJ`x_KlKx@lz&x{~F12%#0=&X5?PB!RVc^xQ zx_s$N{r))PT{)xgy~DQ*hCbISY1mm}H}CMSkk`*NwmwTOVamzs31jslb z=|M=(hZWPa!BIDAokO&WllL)g1EFRIn+7pQ{vu1Q^#?bt^%XMPJ11bSa}C>5I1-Xr zdZZLn@J**z!NkF48zv+iI$Qv_!1fH=X$+;2)&52oJlzK`+zN{J6MlRxgY{X~2e}V- z-wJ56TD;rjV%;bCa_d^Ns{^`fAqD9HbLX`@Q@>OJ^~}Ku=q#TsF*_#ZAgUAuPFoN8 zbnxKx!fz$kg-%SDOLwW8D=)ZKvTzRXJIVPBUA&LV-W*QTUHNltC)1a+-?L)Yx+R+V zeA^?{apBcdo5EJTqPN4$>F(BXWifZn+jV?b&%UlzRIDird;(;<09xE&0Lh5*^(IJE zT6K{enn&wBBB2k)p&?ZMEftFU0JxFI_xG(0`v*u(yf?uZGFTt38vj%O3~ye`V04fs z!+QtCGw#7R#Z{Y?~9gu|+it%Nj6)E-fZL3}?9-2Xc32f-_k|EcNF z4!22(QqMYT_Iy_L44A|Ryb`I zxs)Jy4gYhV@#Rb)`_KpE8A73YHxM+=q1ArH50*#IuCeRR?JREOf@~e;KFHb0W_LbfleHK{ zJA=0R|;I1H$r{#jU*c}4-O)Lf~4qGb=}6}=ZY8* zx2wPTkp@*Ep3f0IvMKiH!ZN1e&C0KO9M6vO3x~_J@iq`4M3@u+i4M;2{7Jfy8ZL(>UDx*=-=>#T%Z9@r=Ng7}H1#gilj6dy#vw8SQ&m_RhT;~#f2<=JFz zkocm7@LOuaP=cZlW&(;pDUE>uT69LzzZJ`P-Y9RN9fwTH91*?y-!6_r-W5|ehB5~L zMI@bhQu8PuVT-{dD7yduj+KBPPg|9Z(m>pNFu^8%0Uu%20KlSz2l5|;)q|V+r{#lj z1=$KfM!iAtYScJTJS$i^Ae#&zqESGbsWbNUJH*(q-Dk^^zYJMAWL^vG0edzxAmSO8 zK$bUH5JY7ZC~(yZs?hZG8g}h(Vlsi-W{8CDnSP0Lk;d(cs1JOlRvK4*T5WmPFF3<4 zs8$e@@=DOv#;u}8Jbr8FrrX)Z(vp&!wVYP`)vF&hSCUWt`ufc%{zO9sDx`n{H8h7% zey|pU;(@T)Px7xK35^7}8Z)S8)-WJeN*)9SSTKZg|BbWO#lXfmh@~MKTC{T@bOI%; zLCq~hO~59$Ds-34t`@nr15Drwh{23-ZMU^cwzw57({*x7uj_2L5HXp;he@WKp8Sy- zB37sV;ub#TC%ExixQN3vBR&4xGtURuC=s9b?YBxG?*_KJw<)h)OkhaM>IS>z-HJ6kSL^jA((Fu2ps{kKb3d5xH@ ztSkyxdgzgMGnboBCbyVa)absK&WD<9U5hlHpFKfg6O_Vk`#pOcx^ zuOG}H*3)~G;i0<7h(hyH_QLXB|D~53mhlHObargGx2wJ?bZ{(fj$h|AC+p?uYTubP z+2nUtd*0J|6lS2|xKl(x^v*kD{pUQ=0DcqapJlGsGv=iW{q4sNTFtVP7@KyxQr|InLwlT` zx}ZoYw+Dk5YtrHLF2j8irLeA}j-sJ;o_Ypv;630qKaK z4O!D5kCE{(Q5#~I`~~ql5-}RUw39qRKzQQSK)D@>-I4%gablLN0K%&wg3T5jIjr6y z%*fs#Srv%(+HT>uL>{aQk}C!*N{B;40;`>#%V2B3g%SqEm5U%8_C&h$tgzveM$=A; zT=j#Kt38lx?_xJqmd)5H*&84%ZLZ2kFB>}Z{GzifR@8aVl87$vas1kU%E4oM*sJ2X zH$_GohVz~)ZOpu~X(j(s8NEmyA5}HB*Ux)RkK#~eAC!hg+#zD>xV?CbIk$%DxlbK^ zPmGrDxxlu=bY{+tTyro(baP+nrgeS0wu*lfo13hQ%C#$;y5W56o@=@G%&^j59`ykf zMI;NTMmTtKk!k|aha&g@Mo|hC=qm?nESiDi0cQhZr=8&*T=%Sg@I+Rw(>*6K*%T`Y zvFON}oSH2yId2Et!{vO;9ZH5a*sWl@(tQ*pU4X_RLtFJz)`3}auiIv2+|)hQYNVyK z@okyXmww%E1Dg)-Fq86^NR)7Ub9@WqV%<#NXO-pd2lDD|+z%~0!T0jWFS>s7P(w$) z(JZx33Gc^m|Dqen?67Gyl4CYD-th3AJ>RKbS-;J8H8sqR{0XY^*XlG*>(4iyrhYQ_ z+D@+N+4_i-I_QE-Avk>3h)ulT+l&cls(m(DBb8Z;Inu-9KDGC1-}x-T+wef;#JA}R z+%FIO)PBGspg3Ev9U{YEu&G{Xq$m+u$Am3FvqeCFk|q~SQP|TMVrhOSqy%wT5KMB) zk+)|`y(1pyN~*2Y<_+C0e5jh8?`)^1>AKCiPc>#$W$mqjdb~p9hoXM5 zCATDh(e2+PB7A5pygD`=jlH%c(H5Fbska-22yk%lz z-crB+^E~TWx4rg$FXsTq#^0}wyzjgB+G{DX#1U8$29!k=7v3B zwD0(zR9v2C^Dkd|1D?Xw z)4p}(r#^J~wHNR8@Dcpeu5C{|wd3Kh&3I?Wg&XJ0opH@=zZo;*ogEgu{@sp8-q`cC z+ZtCtxc>DY&z(&z7f=)ApWzPM`i!@Zt7=F(q0GvV7e zpYx4>`2CR6VKc}=vF?S)20ahXN$d^14OqQGVq05vsm=Pp7}t01pMK*b8XXsCq?@q5p;tKi6(7cMiFwIhd%T{GPg z)2sN1vl49_2r42eRLh@{dDJ$&bR;u&_?&-5f{dJ;Fp<)Glh6b);ea3i^Vv6_`%23J zE2fV6-=?Aae)cMEPaB|a%eV=T; z>&Vjubsh6~yZQ_VUUTe?y08A9nG|bJs4r{dqcD`R-33p}I_z`NSz} zUOX4?OefZTcUPS4&&SrDP0hR?eX04DmzqaEx@z#cLq;9@>hQ%ke|1^w#7W1#x$FE{Cme12AG(d4gu`d?=M?zz7A0U3AMy>0SaSKa!j|F_FkpDKOg&|ybi zy7a1@uKLBVkH6x^?PqQnc=i!*4!U~NhlXwQ<9klJqoHZw4?g>`lRj|xSC3ixwO-3k zKjFB$#@~3(5C7%2yL|i`OZT|%obNw%_1KnW?QL^WCi(F5RKu4ths#yXV`oJEJlZk_ z`u)_@hUI-1KZk#e82xC=*bl56|J2mGrwo3nksAIe@FTM}Wa^-~)0YgocEPl%Q`}@4WLWPL02Sz8ZLK!?VBI>y;Tz z51n_@&rbNn_l}zV=_%*la_IeYM_)7M^ugb1d~U@FOOC$ePdog4(&hIY@o(d{AG>DW zt7pF5fBlN@KJv38-)x`RarzH+8{=HkC zz3#H-CLQ>fzgfL{>g)g5y5=)`J=l5v>jQQ_WbE?6-+ks+C^WAA(Y-G>zP{@V(G`0h3{PB^spz}ZtT88rB|YhIoF+&M@7YRaM4edE7p zl#c$^{p0R?Zritq?f1_41Fw7ixZ`L1{JQ&J7%=Himkhjq)z#m=^|q@%Giu!fC;u7Z z-+RXI_xO(w-1xD-+N{)k_YT z*7(Q6XZ-R*W8V78E(5RK{^g&4ee#h%{L(X*e{G)!7G1IE`^W$19UotH?F|!0-E-=Q zP2az8uiZa#)S5w8H<{WQUX@7hXfkCRAw&VDNJ$ZSTNtb-;nJh_M7!=$iQa45aT~w+ zz2|$g*Sq|z$*-euOMx-|9I$6zS(*02evt7(L<*W`o_OL z_)_E0@%`v1v@3BC5UN3&LdO%q=LpW%(ot!9&j0KiLz<4CyRrXacieaO&3i98?hkto zxn$Y>+fMz${XblP|DSL8(ho=Ny<*H&zjA_b%xF^o1wwaZ>pc z56)lrhr^#Z;`P>bZO63lbMoT;Gj7^v)kivhH2U(#_G=D2>e09V7D36+F8bxn z=lV}vwQJi67ae^2v;X?W^}AzUUw-E9pRT*&%?nyDYaKoIm%IGO;yq_9efp3iCJes+ znK5tQ`SoY++ptgD=u6uF&s!G`e``U@&21+fa_5;pJM6&!dUE5CqrUw>`z}8^<9J7*og%|WG0{__BM_sfsE`IM)|Y0p6G&Y2Wzp1-=|fYHk~ z%%Vc8ZcKg=d%Q>(*GqD#H#lgusQn*roA8~Fe)odD9p68{S9$VoL(U!0zy0op&c~*e z?-+$oANl6posW%}JpSz2FW&zA#Lu6*V9>YwJpHHhW7HCo7S{yH8fd@{*2?rf5LqRyIXk}v50N4)r$Puc+{w?OZ$DO(7BsL;DkboJng6>U z3RHAM@o@4hRftk$pv3d}hO?2=&!rIRDcE6kRKMH{S_nLD5g=6qN#(*>r(K>X_}lrT z;dxax7!~3`-V$oIr=h@n=L|5QqY=Jtz|JaF>j`_$ml*%4? z=qJ&6 z_M%nS{&on0XdK9T>^|i=Q$F)|pF8x3{^Od@-Sh9h{Pm}%bk2PH3s1cL=X)m~^2NUE zp8ehVuRZei`qrs~p1A4Ud!Lx}+Qb!O{{78^ekZ@56?|!K+W(1%hrYWFEX=!ZMBP=$9Bi0_kCKFna2VGCQQn#a=tm}-qamduWr|*CJ^QX+Yqh;0A=gr-}{h?laum2p*3WQ0Jf4Pz|!8=t~P%O7NyaZky&N9Vro0%S2~Zl>z;5P_T!X3a>uQHNyuD z4?6{I8D41J8+n}~=A4%Ih%mM{#qX2@#UE-i<;xUw>PL#QJM@8*-u#F98dOL-DE5YJ zwCE*tlNKFEBX2h^u00tq3M%S_fLdQ+eJ(r+;R%MCWx7Rj6rD853Pt@Z&P8*#=E@J! zlMaf-W()laqZd{Ity4QJcO??6m{cV(myvccsmMj7DWTjtK8swydwyxjtq>hA0}0Ti zB$iN7xC^yyWOADVHiXMeNdKi-*4sY_k$Wt;mBFx_LINsj&`)3d>H4@(FP`!NlK+ubsV+N~hR?@$kwC zN2qy*$8EOu@Z8wFq_sL^;#}(hIYWHxX;YTP07A~$?Zc^2YKS3{(OX&zfb_iCH}JCH zJ|Yl2jskh~9@3?>6mP@K#T}O?sst|V$1$3%%*`M|GS37jJmZ`yNA-b_V`h>eIqpT! z+I4_Zv!d`4Z4ZW$E?-A)9OiE&)!yJ$sUrcPm0!Fc*1K>j&`fYe&9esx#>n^rHiv+D zB$=yO?lv(y%h+#cOJv1DX4?q3}xuTFH@V0c4Dl4!ssZGP^saFQNa0no9T`r%iP3a`kl z%89ya70QPw9?&ZRnI=aj7M70_397z3=?6&do7E@)~I1CbqpBxh-hYslV`s(Nk<>E9Lf-b~uqtYQdg zU{K*FxK|f9*b8|4q1eGh2%tnZPaQ#Bob0-z4+T$}2L>FEe;h}du3HohImp?=TN>E?SJ+qzW zMkMg=H>;;LbmIB)LS``7xQXmg3Rf~?+(8>V!-?V}{4zK?h{X&mDJo;(B@)pw%g0mL z1QsCz3|MNP7ARN#0(4r^G4iE1!v<65L zJM|+a8QM%dn-xm1XNDnjm!c280$9;*Njq(EuFzX-zgms7f}4eI@=5IFiq$Q_Da>KvX8W!@zzksQ%oRLFn{~(#KsLjf;V)f?P+5+8STno6(>Rg1+;VA zfAlcR6&1MfcVS~EVFRTw7$S%!6VDmF`Vz($Ha@98sKAH`9E&%=h<`-Em3m;1h<*wX zG%4TbPtuckLQ~%X|96tn$6EkHy9jR(DH=zIegP6ob8LoBs*YiX%^_0x&&KP&nP18!TBGM=XDH}jm(?5RSK}Qj;p7qY&&!T>F#vpIr=&jc zil-KiY~oZ^j7^=Dv56s$IYJTzNs>yA%y@tX6u=eV*kz|zpt+mxV!{MtNNt$nM6akQ zk>Pt6=3lmhK@04^bso*I^0bpxx?7Cw^1*7nHJ_ggHEi>RmSP2PSmQ+%kEW_8NeGp7 zSBx~9S~xvpIKsCLU_K7}P9Q#l zLNFWHvx5uZiDF3O^yHUng2$qAMy3mV<#^b{_9PdABAn_me{#K}3<9n9)snf=rRa_! zj@}22STueX&b8;%E8(;E8(zsF>2WSLl)%e4t=NG0+^`sC1@TZ zr= z`2!pEt$Zz+St3P?m|m4XDqQ<{t^1o}&(uV`T&acVWj z{@qPB`0)k=m1uktAy&l6I6wie0J+Gs!s4@tLc{ahK81^R4L`#hhTB zE-Rt@@nI@|*$y7edIF*Zzv}Z7gAtyqQ7?xSjAm&*dbr_5ThxNfUWFo@E-joT;7ogk;rey>}nFpW*8T*3L=L{F2^syvls**;qpBrLoa;nf$cpj(GF2d)A z5jss2ba;;)9x{wC4B9%(T24j_Rxuz=9=rjm4KsIR7((x8I-P|~q$(?c+I(4Xi{w== z@FUS!KxveG@ugq!yYsxdXQ+3`JK@wg>CC1gxP{hSNPOEl`r_mhjq{!2v zp59_pLW`#>%;XZYl}6g^QW;Kc@rsB}d?(Qt;f5N9J{>lh`nf!&v|b$1k)mwMqf(2N z{mGA$=xj7&P*akOd(?k|G?C4Vdu=dH(oIvC7Kt&&UBm|WG#e9&Yt1|@;^Hfb(8A=k zBzn}w%9}gsJQX?=kW&W;$GFQ!Fm0G0jfCO>_le$gpCx;-z*YD)*^kanTeIGIhpyET zUcpNBDvWS)SZLYCM?2;xj-U>KcuE}Ek+2PD8DnB_U2}!jCYrLB1e2^`;2@CzL;;B|C0YnA zx&s=OqxQO3omrBe)!pxrbosWoXB{~6C>o4ZU8!HreI#8~?fF|6oG?huPZqpj7gQud z{h-M(W*`#cD@g4c0_epprg?CLSrTr@p`T0px$O1f92NEvDnP{MVU$)( zF6|^@V0Gfm(~>a|I|!yU*Jcf(J?A37qujH_Y4=TF!(Ra8x6` z1a{uua7JP+91s+b_KHo>JwXdo{A{9}T(62i!yjjeNpLF7n{KeX^v(%a_w*ko1nujrx}@z(=DRYRQAr;PGn<^ zh679*%Uqc{5*$U-G>=vwbQB43YHLJxSmLyZAbWP?K8XMWZvmww5uq!_@`&CdasJuC z_oRh$xl-Gq2~%LJ>Hy~6!h0BDf;DnzU~|7@!^}vause1(oI52rCA<;Py0LuPIuhvR z(O~{ZLL|7j36IGDX&(Rwf;W>N%=3~(JtCsa?YBC^ZbL!@jwX(7>a<_0a-rT`!7+M=(_^5%Eyq_kfa5aaP7Q0Qfkt%kZ z3|Tus zSJ%@jgq-H#8XkRyYwsYfpG#5PI7N8GIVF6H?JUOrN<@i(Zu?SyI?xiZV7x~!*F;$j zqwZ)l+~lvxe4RjJyaz*qMrDJyULMXA`Y7k-&mN<*14Q4NQ$5KPh*z4qR1f)_hYQ@v z7xAO=X3R<6WgFVBKWAS@WDaA-G;?yJ^Ug}H17!r#}v`&W9d&cY9@Zu zR&_rcjhKH484JQA_UJkJi!7q*0K|-1mMZ0#iovPTLtoJplWd}(MzS*UwG+wWC3owu zPfax;oexY-O1Cg}!iwcb=fgy}Et9AOM_d*ugLBgXK_>|+$v5*jk1JO|FX=aDtztpm z&Q`@&m(TRt0oIM+fM^H2A5Vi&v&YIjxWp>x54VsI6Hh_`yfx%0JR37xtL=Q)0s#p- zTJUc=J>tg~<0TYy9m>tXHi`dn$;JEa?FJ_2Ng#&M06SK4qm)o2-Wpv9p;t z=<=*s=ZW_?_r{|+xL_3Pt_?GvvmZ=Ovk-qhjSe}ev$CV50W#BJp);YGBXe(1=qETg z8}GM@mX0S<4vwqJ{aAzsjJ|=?l%FNcyY$`83b14(-caC3dg1x{ISY}rLX2Qm0qO9k zPkaQ~a~vthnz|_B5r8;V`D0H4rd)Q4V`1I-J}{!#3QAz$Lz7K?+swMtSMr0KiK0n? zCNd=o#X>z&^&PnIZ#8f(*VLH2VemzFP~l@-;~eC7(C{;6TBV)lldPA>9*z-8l1wKx zT$MrOXR=_Vp;nknhQ~WYtRj(-%%{i!T~BN8128frNfLTGHa>f!8HY0St^?FO2fs-Y zhIY$l`ULqR;NLv%XHN!lV1n5vP79p!970<37RK>($<3-wBqY5dUOHaKh6V!%)#jxd z+*V>%f_|l1yrr9HB5ahUDu)qGUDFoiIzTipHUMV~rSrw33UqNyto7pav3c82+JL1$ zA$+yPW=Q7QZdnzwhR9rU7HE=j>+q!1KzA-CrIt@S66V0N z00zkR_J(s|bld0zr>8rjcz`wnbjvZEIT|_aHn`0%a z8D|IDO#p+auzf6ENT0}fTh$kd)W9pi2z!m`+e9bVzCp+E1osxgMQGFB_xy6pvYGt0 zl<7H&C9R_muz<)fTOb=ae~=Z_Oo?bal-j)kT#;aCJTi zbLU2E&IcqqoG03oU#DE_&JyG90tr-VK?Gu3zp7%^Zd%)6!TbT`9+y+hGr2U)tc7p>SPmuWF~eT&_FHU zFwhum6H7~)XC4cSW0O7fm1L4+08R~9AKpTpN;-WZL3=1a1zaHincaSXP`pPex=kG# z5)QK-BE7<+G%?wGbU99Txh!cU8TB~!75I;EP%=x0L0f@FHpOm}Aw)XTE#6`}W$>v7l@+d@K8#W)2TUITRNqVz{2y=Cleb z@pYq{|8VbGQz$gqZY$@e3Kh?zK_25l1QL=AG`wBKM0jSmmsjW?fvYIZMkxwRgwBzo zm`FFAh)rBxK4(KafW;u*^j_`)ODggz;PLYTA8f1P2Wc#doEXoB$jTS+G68LrE>iPr zN5WDSS{)y}h6O>%s^pkFP$sW&Di=@fPwL$H`mL=d8HS{tryjuNgs;j0Ah`;V1&P@x z1Ew57_zkX0IODIOhG~ifuu;h59PERdyusJD2xTZA?}XDz7G_8JX~O#ncug|gt5#$| zTj{0RmC{GLX#i*;1A7gWv{G_V0|(lpp5s%GBTPR9Xu(R|e5+gyQE?T*xI5}Q=%N+~Lg*B6Ih@SiySw2L1oUA}L*VU7l zt-5mDH5&dLfnP6^I>LmOJlPao#a&q8?3fSS-y~UlqFRt=!|PqK`jRA?&c~Uc{Ft1z zX1S_CnZ<>WgxMR^&bxRw^DnFWf$SOCmK1$&A7&(23px$6&kg34ppg+WQ`R(z!dNc+ z_)%nc^1ddIX6~n=sEVwBk;vE@u8Yoj3`f0JewlIxjb@!TB`S!XY1JYUsjdC7->qjz zF59F*{8U$3Nb;Fc|60zWa6*jM14&-Sjs!dZq>G@d+C~75K#s_v0bJy;0dt<=)5|ei zwXPWlzb1LyIaoI@g-|FycW__x3uWv*i4hwgpd=}a+f^X#DdO)K6TFGw$t|68;ux$@w5(Yggdi{Gm=CZI zFmxtmPbpb$6^v++`>~W5xs_JWw_w_7a48znhZ=%P`vkvO2wk6Vvh`t&ykM@;z~M&% zBK5oM6Ycb!ps8O%Z5V0FAas#-4f$CrqE$2?LHu<@7IB1n2eOOBy|3L8j@tFqK!2T6 zbgvOnF7Ol0V;riN50(be^Q!#_;e%?C56SX)5guS>*=XH+>e-hw>@USanq@A-fXHYX!0m{oq2yGp zJs1~hNaS4xziI=7OE@v3bF;>x&rRR4g@I^lNr>^4e&BKaN6nLATAU;k)W*lD(Ko9@fy@ zfLZ%V;gQXChVnX{y0jb7_ORR_2pUGn6ROm06xcP1%Zw*P0XyaQj1v|SYAb)FTqI2p zt~yW>giUOC&FXU%0#N6=M3n2tAX40X9e}yBN}07m=zxW&@HJ-yEs)jYD!*_|d<2Md z`;~aeO>Ll-%l_Mxue*xf7OD0-U{N=K)O-+ac(T{y*g+tTBB(_AODP9NhL+CuP=OZX zj`SBIZlf}db5PrFV-v|px4sPKW6@y0x{~sJgr+_>ku_q85CkH%ZV)V@XHYw{e=&np zR$oQevt2DRW+z4<3?>o=!k5okk2+R3%MJptD2W<*Hw-z%;&4+sjoUsc57yPBiMT;# z;u%{x41`i@G=or^q$5iCm{~w4xQ^FK7|oosbaWM+MMOAWv}x77Y$!>fkU?IeklApq zQxcBY8P@jEKTjsJ5S@Ux{$O-!JSR~VuZYC2ROyz0vE6zxo!JZ(r7<&`M8H3?{eECA zET!_iQ#&HSyi7BK;et;DY5jM}L1D#m@-ajSp#aqQ>VFQ@As}N+lQPbkw8P*wI0xQm zM%amnSlAqU1Ce8+&JAIZmI1f*8;jli%zRwyLv!dm!oar~xi?(Z0qxvK8*v)>2RXa# zRskq&@Ls{@XSeLFsZ>KpM)S<`6C8-QCbx19)n9qN-x0L6i!=y-I)u?Rxy)>z`h3zca$<&t!l=$(BQm6 zfWrog5V+ z)tx}(ltBn!XKBdw^yUb1e<~k!UAfKU@ZbBh3)+jE&EeDBWtP58_RTSqBSI6t$sTKN3|{LLGh?hg7U5B6^_$gXTbV zr1hj_?N=J7!+XAMHu4mPe}=KE44SjH z+CfxVMK~PSw@2a3IUp)I@+cJa3+@4du%(6TW6@}NA7dM*0cboMx}R1=DJ_+W5Tav3 z=BWd~-ww_%th2EfC4>YLd^+UKJokCxgKOt}7Uf+9mZU@$A-O)UM9;Iwm8(%-6k|xt zz!xN&msZg;ltQ6`O=mT)(vy_#yH^vlJth||M#|U~xnXy>LGGc`N= zbh-hMAjtzxGRu*2)PBtqm>1mc&(dFQFkV9CmT^nT#y0XKZ{Kf-yCQY!rImN5-BfY& zwLSIhm@H!L4TL6S+*fN_FpvU# zIQCxbh5{(XB0KgTy_7Hurx~4j+RR_``5`CQ(;*br?V1<3<&9k3;nj}gc|8}K0^75TRhEf`;}!7 z;vK-1n+K^S+J}lKJFYQtw>eKEigDt3`;iwwz(ij0Rk`qqDi#=Bryd~=lR$*#*j)uM z9 zhEY!fjsdwo$Uh%xc*@CnFBoGpPM_p8NosC2tOqwcv^z$THaG@Q?Yow(pC$j<=ZM29m-*^8D_Mbl5G zHM1QIWq!pST;^!A@FbT|gB)`rW7Dl4d#1m`C2GiIQg1!NWZQ+amN+?vkK2v>t+58H|mCuema1)xD;XFcauxwE-DEIv{@ z(!^IVvAC)gD5Go;k*}m$%{Ay4dYGE7CQkG3t{Qn)ouJktm#u1lr+E&UyMw_Klh~O~ zC$6CE`tCM`Ek0bdqsBPP014mBc|q0y*`yZPgYwoDPW4qS7x{}4acj9D($GsfYU=V4l?e8~ zQ}Pl*EmBT_LAn`gGY}`x)}?V*XAiA!CEA=VX*~Q1dj#nUc0en7I{{5du%+@rUz-GT z3UL%^bSAPTkZSB*Rc9y4nVI=eo4`%g8Qc3~QPTxI01KHaR%#^BeokCoX);O%0$hE3 zLS;>&+KvXM#9zsJ1PQ4)KrPzcydIG^)dC%1XS#jU-(+gM6LQsO zfpC3%1HhH_$M+?BF-$Os!Y^ETTWy^^8RWr(Oiz=ozLa_30?ySdgC6TtMKF}_-FjCb zRzNNt9PJt1&BPo^9S{fdOtYU-X~4CHp`rzBKf|x0EAl@Eu}PZxs&s-irkqJlBI)KH zUybsgyTxQci_+;jOaaxfP?PrWm)-c1v#=Ota)HM}Qvz4BQcFn!i5xvC&Y41*huwCu z3TUVGD&r~nqG}#X(9ndoX5U|@N-FLDl|#NI`f9;GJ`xOiFi#!Plm-w(Sl1NMhS}uh`!|cYsohPRj~>~~lV&9` zGGHZnIlgN|u3H@iE?+*xaq2d!=uLO)jy#}+awoI88z9RmG-ib>85-ta;an_r!8jaH zJ(k8nkAU>1NOw=5)mxOdYMH9T9D1M2j`%-0F!WzyU# z{0_pc!A8m3u9WIlhodxC@#-Sd?-B!da^?ML! zskmp&vb)uo0v+kE=Ofij+d{!Mi|n4vvOjd>!)V&F!!oFjGK!biS7S+r#eZxM;36Bv z*lTh4>zA~oB6ml;`$iVjiRzV$6?cwajrd*d3i2#4g8F4f7zfnMFEkP&F%947Xj{ceRxa2DR}9IxB2l7ZHc# zMhhid%gIT|ZcjuUF0-Ur>G?Ox>OSDDmO98iYYqh7naTGUj>L)Bs`bVi6KWB2-bRVe zZlOJg8pCKtuV(N`)WbceGID#m0u8N%G+jD|Dk1PSFE<;@(MkPsWWbA6Ar3M)hqWSq zOfQ8!*kccalAhFNPK-D7YCr~gO&y5y;z-v`;xG^#>4dN{iuqRtpP@n4!CWI@oUM3nbNdNThIx8m?bD|p-rb!P~~+k*9~!s3d7Oy4fUrhd>oU|;_O+slp(w7B&Z3lEXvzYX+xVHe;Re%iJxiVo^q^yR zK3Ac7ip+zhJ_Fex9HZpT+;?%d;%jF@q350)kY3!KtuI1+L}j%d$@4~L`j*+{aeSy= z)g$rCPrhcP#WKC_hq-5O9{nw$muML^VKMY%RUtG%p2+IbB#I(nWaN<%+Ioh?Oib6a zr<>f;3^9%> z>!2BR$Le(nPtPxpQ`)%dBo4Z&T!BjUeX}KTGER>MDUlW$kHrsX%vZjy(@haFdgFLH zqw#k_!SySZr%LYJVVuu3b~G`kXg=nnp9=cl?9-@#87|iB;t)P%tK-Jna1qf&RP?He zd(n_n5pi-{9169#;7dNvIkNFn-O~YGE+b4e_-$Eb3ufuVmvgZKKp;fZAD6 z!fZ=tj80pBcn=I3IrakRu8-Mp?=~Q39nVIl@i_ysVoZ zm?dIJ*kREZR@ECS)+Zd#vE{1 zwYCn-;X`OGEV!^riV~o;)i6elQbdjSG9y%0S6FL>5N9r0uKYTs8H2e1UPgaG;$&CJbLLno};gj z*oZtya1xu!Y4-?I9Tc;i>QTF_pcMuVse?NeB5NvNCE9GP(>`w?77akEq%lu7N?|GC zOsesSi(_%?(rDGGFDPVeb^ zr9)MUR@sFZZ$u1xJ zyB-^KNJMWyCd!OUI?+*$k;Q>&k6jZ$uo7yjZSwUR?m>5aY_0Yf9p{24rt1!rr4|+O zaA?;~f2yH9gsoW)W&$e*F~-kw zREwOT9=oRQK#rO<#*&tTD~Mo@n0mOTT^xR+s(I|)<=zj<%{R<`pUmpy zkd~CP5~-m~zVS<3k>}a)RPhW0UE(WPfn=GefcIPAVoJwT=g4~UW_?^F>Qq{pHB4Jz zqCJFORZc@{8<~Q)wT-h>IGBXi1&`!`;vRQI9Jd3SrkZ<;TXH0@;!26|NKnmtA2B$F zxXM|Po)Q)Jptwrlp;Emn8CDsqz)UtfITOG^tSL*`ClH4a8WUIGtMHoWBWxZ0-Xl}1 zTq%XE!+|$ZCdZJYaAna#-~VU@#{~1d-`jpEz6F2uTpTij@V^>Qjk05*S_PSnvOQcw`Z7_9+f+Gn3I<~)OHNLlEH!Vzlu)zZUbdBFa&KD3~|fVuix9twN6IlO>Bmb1Uh-C zs@HBoImzJm_cPMf$lKH97m6PM;3|qP5l}704L`XR=fQiEF?h&Hg z!**5?mJrR3%sJmtxkaGDo2YOtZ5NaOn?ox!t<1$By+Z)40)UkNDlx|#_Yeingx|cw zvj_WV)-g|X9+KES+lRhojyGBo)I0UBuJtYh!dOH1xu=P#<8Q`nPJ?B>Ym zl%VBkTBp(jB5B^};Lc)48jFmcbZlf1*-&Y7OMxVh>1@TEtQ=zpx3V>>5Ykz>y#15e zH7`h+sb^I6yup5L>*>J)UloEXeduDF%2EE30D6Al`x)Yp9u*a!#u9n*JRL5sqJ9HY zH+>MDM@so#O&%AvTO?2G4pKbJ@%|Ol>+rnh_)hvfXPGMh;I9urA zQM1Bfo7vH6UPHs)jX4;(2jC4%xg4=hHFBOeHedCCf|WJA?l70ADxi`Bd!Xb76ZcgQ zw>guJ@vchgrMjJ6Dc|@xlByq9JeltOmAk^UdO>NMz{7C~o*p@QpU>S(madGvlsuB0 z^zpDT9Hi_FeZ{cgRzL{=!kObd*gIFu(x zXislaxqAbb>3%(!_uiBUikuQU@~EP3p0$l=h7VuF`C5Qhk{ zOv+eqPzR@SLyo_ffsrgavcesbqZI-ba8i)+7E)uQwN5JKx%NGJW-jp*YsVm82T3MM zIZswX$4|&(B{*xE0Et_SHvYC;e5qeYGGIQ^JknRF&eb?uO^1|S)>#>weoo$sH=6{2 zrwcDL{Wv`?iPHwYyoU>AR!nmvDmpSyjHB*DFcy=IV`6J9oyb-Bgq%unL%C%yo}#Rj zDUkPoTrK5XCv~ghbPaCuoEwJ8e7Ir9v{=dCha0A$^4fT^TMr=r7r+g9GQXtb5G3w# z@=1vsFQH?60F*wk$D#5GIa$C-?j6U&)sW?InXV}7HLh>g`>LCLNIY=)wx&o$*h}+L zfy7f2c&J}>7#i`S{El1o5zJc2b*N3UT>i$7PQ z@pX3dxc%BvJmiTo+Z!qIm7$gzB3~RJB|f3^Z_b%O#0a^cztnak-J;_Cqy+7vbERh< zha}M%&9XBlTbOZh_$Iv0>WnZw05J+x*2p;6rs?(#6o6)KK4>7 z+J$2LNwBMC8hSj`;qcWtr})Qm!GP(^MV!Qp;cLCc+BJ20raIg(YE;4U<&iA&gzAQi z)W*zD9VCzC`c-nmb`(w9*)M9Mv(-Z_kfs+!a;WcqfIFTpkq_`IRZen?kIA95u<09= z6-dXu*L95bm@_Lp+Q>8=f+PfbNVpVSQ9#h@cx;~HliUm|!X>G^>c+|nXkFryVmp=W zTXV*@#57W60jEn|j*|MX3~*TB=(yvNT#KY+W%+%;$r|@0LK$U=;K%?Db)KeAtd!d% zu%hl%csOamX~vsnRPGFj%KIIPPstI>knwP6W0tXiEDdDy^ z>tJwtc;zdCTcXSP!GilfZEy?uFGd)d({73dj%k8HUGam87;MB3T%@bqQ>>`_QirRe zsr?mv6zcfKw)RDO94;zyK;V&)p$(d0ekC9)pHLCX7o7%N%?qpYyK&5BPT)~EvQsUzDNzpN3(*MB%EqtI(W&xDN^G;R-lxWS{h(cD5!sU|*R|g(!F&B&j(G9L$K1H|_^l-rtQtpK(6Uu@xkM z&XY2_ED42~FK~n5#Vt|epI#NuwjfyY9xW8}zL4QcBG0~vdjhVC;7Od$!uv{xHe-=& z>sQ`bk&boiN6)#s*pV|J6omvt-!VUd1-WasY`$tARhCn7;P+%mQ{UW+j6e>Rt0sl7 z%eBs~f|Ou5y&~eB!i-fH1(8z90;Q%^35f*^b+~dh_)6Y_N@7(vxXS~n@TN=8*LQDZ zhV-s8+)`@kEb@j8n5(3Prrfn*{`~BlVPIkOQRC*~Jo}u8iXn%3ktYntdpoH`kOL}X z`q7kA33R;8;Q~6dPMgA~1dPDr%?=lxtWL-h+$^<7($&5NtGA?5+T}cfaKw8kfe@3$ z*|%-)E+Nx|ovgS_2aBAX$_!7>O{Keyi5L0!|4^#7$qkIKI+*Vat8PJMI7G1?U5{AXCTG}g5X(Lj{w13 zyhauO*+$;L(|j?jYV_z~-Tjd)hwqY=P~Ipl8qNu_x0_H#x zQO(SOI8xJ)Nd|&UYMuisiCPh8sZ4?v9*yrvOwdGE4Af1>uRL)?_T`TB8+$m!mnnG2 zO#D}NVx5e)SJekO@P9_QBi3ooxqxUSRb9h;UFa6^B#Oq<=>xu*8G5wGmlY@7EmI2W z|D5?LN+E+=A_!)7Yw0+cctu^9dP3y7L#X3vN2}ksNm6!@FkpNiI2fE6Uc+AT~vg1*`iWCZ0 zdgmC+?YfLHGbX^Fp|h$cA=!KZ&YX~YPDBcMZJmh25a+!%D14%szfNGweN5$1ZSKn_ z=9ZgMxTz3QxL`=3bc z!d?o$sC|5k@OjcLyy|mRT?cvIBfQ~nQ}2r5O&HA%sTBh zH00Fk-V8v>=qbBFeRau1RUQ@VoFwCGSMMzqhIho@u0Emmh5Fga!Ox#Ie{Qeh4l84b zL?-MjnQ~ZL57i=>Q_EK*gjKDYl(ZWiF|nb+x}BNk$x^RBwQtmb-XS^!gL{(kKHRX- z7PYJ98kFZZL~!FJaMslfHQS9MfyqooL(!^lkTsSd zpU^cjH+8$UG=}Q(9TVKYm57n^;e7<_>V9hea}rk7Ql+B{Oi-TsF^;ag@>)G2;bQe$ z%Aq@B=jrj+y&g$q(xYEEX6k1DV#6n*cwKnY#xX{vr+_aiP5PAR7Sb6r7xH?l9@bw= z9`{uZ%PRFU$zu68| zls?`h>VzDnxi?ak%c)bUl(`j%6^~wn;OEXi^e2jXIV0|NsXmpjhv9reC}^uzX%ed? z64U+N;YO0ed8)Z3#Kb5Z>7c4*ganC?2`#m1nPk74_$5= zgN3^;e6nBY6tK_=vRw}0Dm6mlfzE@9NNMg@{m^tHo+9&57cx!35_a5I9Y*AD-^Hs?(^UZy@U60;iP$Ldy=;2tX zKaQD?T$w|9JA7isMfjxDr~APe)dr<6z6vDOB2KZz4AREtO?lK(kMV11!bw98uncZ( z;HTPoCztB2D@P=Y?=Sw + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/assets/images/login-background.jpg b/src/assets/images/login-background.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7fa019df1824e5db33dc8b6d23cf6f84504db641 GIT binary patch literal 5454 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 XR7LvNZYP2dq>#PsiDTtIkZ$}J;mOrq literal 0 HcmV?d00001 diff --git a/src/assets/images/pay.png b/src/assets/images/pay.png new file mode 100644 index 0000000000000000000000000000000000000000..bb8b9672381a3e4119fcd33e6ddc21973672e273 GIT binary patch literal 140720 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 vPok;F)*{# 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 DPqhcR literal 0 HcmV?d00001 diff --git a/src/assets/images/profile.jpg b/src/assets/images/profile.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b3a940b21cc9dcea01e62d94e243eebcf76d96bc GIT binary patch literal 81131 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 z≺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 literal 0 HcmV?d00001 diff --git a/src/assets/logo/logo.png b/src/assets/logo/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..e26376026420542212ed58d90d0ed34f554fa4ae GIT binary patch literal 5663 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 div + > .el-submenu + > .el-submenu__title + .el-submenu__icon-arrow { + display: none; +} + +.el-dropdown .el-dropdown-link{ + color: var(--el-color-primary) !important; +} + +.el-form--inline { + .el-form-item { + & > .el-input, .el-input--default, .el-input--suffix, .el-cascader, .el-select, .el-date-editor, .el-autocomplete { + width: 220px; + } + } +} \ No newline at end of file diff --git a/src/assets/styles/index.scss b/src/assets/styles/index.scss new file mode 100644 index 0000000..efc1ddd --- /dev/null +++ b/src/assets/styles/index.scss @@ -0,0 +1,180 @@ +@import './variables.module.scss'; +@import './mixin.scss'; +@import './transition.scss'; +@import './element-ui.scss'; +@import './sidebar.scss'; +@import './btn.scss'; +@import './ruoyi.scss'; + +body { + height: 100%; + margin: 0; + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + text-rendering: optimizeLegibility; + font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Arial, sans-serif; +} + +label { + font-weight: 700; +} + +html { + height: 100%; + box-sizing: border-box; +} + +#app { + height: 100%; +} + +*, +*:before, +*:after { + box-sizing: inherit; +} + +.no-padding { + padding: 0px !important; +} + +.padding-content { + padding: 4px 0; +} + +a:focus, +a:active { + outline: none; +} + +a, +a:focus, +a:hover { + cursor: pointer; + color: inherit; + text-decoration: none; +} + +div:focus { + outline: none; +} + +.fr { + float: right; +} + +.fl { + float: left; +} + +.pr-5 { + padding-right: 5px; +} + +.pl-5 { + padding-left: 5px; +} + +.block { + display: block; +} + +.pointer { + cursor: pointer; +} + +.inlineBlock { + display: block; +} + +.clearfix { + &:after { + visibility: hidden; + display: block; + font-size: 0; + content: " "; + clear: both; + height: 0; + } +} + +aside { + background: #eef1f6; + padding: 8px 24px; + margin-bottom: 20px; + border-radius: 2px; + display: block; + line-height: 32px; + font-size: 16px; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; + color: #2c3e50; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + + a { + color: #337ab7; + cursor: pointer; + + &:hover { + color: rgb(32, 160, 255); + } + } +} + +//main-container全局样式 +.app-container { + padding: 20px; +} + +.components-container { + margin: 30px 50px; + position: relative; +} + +.text-center { + text-align: center +} + +.sub-navbar { + height: 50px; + line-height: 50px; + position: relative; + width: 100%; + text-align: right; + padding-right: 20px; + transition: 600ms ease position; + background: linear-gradient(90deg, rgba(32, 182, 249, 1) 0%, rgba(32, 182, 249, 1) 0%, rgba(33, 120, 241, 1) 100%, rgba(33, 120, 241, 1) 100%); + + .subtitle { + font-size: 20px; + color: #fff; + } + + &.draft { + background: #d0d0d0; + } + + &.deleted { + background: #d0d0d0; + } +} + +.link-type, +.link-type:focus { + color: #337ab7; + cursor: pointer; + + &:hover { + color: rgb(32, 160, 255); + } +} + +.filter-container { + padding-bottom: 10px; + + .filter-item { + display: inline-block; + vertical-align: middle; + margin-bottom: 10px; + } +} diff --git a/src/assets/styles/mixin.scss b/src/assets/styles/mixin.scss new file mode 100644 index 0000000..06fa061 --- /dev/null +++ b/src/assets/styles/mixin.scss @@ -0,0 +1,66 @@ +@mixin clearfix { + &:after { + content: ""; + display: table; + clear: both; + } +} + +@mixin scrollBar { + &::-webkit-scrollbar-track-piece { + background: #d3dce6; + } + + &::-webkit-scrollbar { + width: 6px; + } + + &::-webkit-scrollbar-thumb { + background: #99a9bf; + border-radius: 20px; + } +} + +@mixin relative { + position: relative; + width: 100%; + height: 100%; +} + +@mixin pct($pct) { + width: #{$pct}; + position: relative; + margin: 0 auto; +} + +@mixin triangle($width, $height, $color, $direction) { + $width: $width/2; + $color-border-style: $height solid $color; + $transparent-border-style: $width solid transparent; + height: 0; + width: 0; + + @if $direction==up { + border-bottom: $color-border-style; + border-left: $transparent-border-style; + border-right: $transparent-border-style; + } + + @else if $direction==right { + border-left: $color-border-style; + border-top: $transparent-border-style; + border-bottom: $transparent-border-style; + } + + @else if $direction==down { + border-top: $color-border-style; + border-left: $transparent-border-style; + border-right: $transparent-border-style; + } + + @else if $direction==left { + border-right: $color-border-style; + border-top: $transparent-border-style; + border-bottom: $transparent-border-style; + } +} diff --git a/src/assets/styles/ruoyi.scss b/src/assets/styles/ruoyi.scss new file mode 100644 index 0000000..155839e --- /dev/null +++ b/src/assets/styles/ruoyi.scss @@ -0,0 +1,290 @@ +/** + * 通用css样式布局处理 + * Copyright (c) 2019 ruoyi + */ + +/** 基础通用 **/ +.pt5 { + padding-top: 5px; +} +.pr5 { + padding-right: 5px; +} +.pb5 { + padding-bottom: 5px; +} +.mt5 { + margin-top: 5px; +} +.mr5 { + margin-right: 5px; +} +.mb5 { + margin-bottom: 5px; +} +.mb8 { + margin-bottom: 8px; +} +.ml5 { + margin-left: 5px; +} +.mt10 { + margin-top: 10px; +} +.mr10 { + margin-right: 10px; +} +.mb10 { + margin-bottom: 10px; +} +.ml10 { + margin-left: 10px; +} +.mt20 { + margin-top: 20px; +} +.mr20 { + margin-right: 20px; +} +.mb20 { + margin-bottom: 20px; +} +.ml20 { + margin-left: 20px; +} + +.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 { + font-family: inherit; + font-weight: 500; + line-height: 1.1; + color: inherit; +} + +.el-form .el-form-item__label { + font-weight: 700; +} +.el-dialog:not(.is-fullscreen) { + margin-top: 10vh !important; +} + +.el-dialog.scrollbar .el-dialog__body { + overflow: auto; + overflow-x: hidden; + max-height: 70vh; + padding: 10px 20px 0; +} + +.el-table { + .el-table__header-wrapper, .el-table__fixed-header-wrapper { + th { + word-break: break-word; + background-color: #f8f8f9 !important; + color: #515a6e; + height: 40px !important; + font-size: 13px; + } + } + .el-table__body-wrapper { + .el-button [class*="el-icon-"] + span { + margin-left: 1px; + } + } +} + +/** 表单布局 **/ +.form-header { + font-size:15px; + color:#6379bb; + border-bottom:1px solid #ddd; + margin:8px 10px 25px 10px; + padding-bottom:5px +} + +/** 表格布局 **/ +.pagination-container { + display: flex; + justify-content: flex-end; + margin-top: 20px; + background-color: transparent !important; +} + +/* 弹窗中的分页器 */ +.el-dialog .pagination-container { + position: static !important; + margin: 10px 0 0 0; + padding: 0 !important; + + .el-pagination { + position: static; + } +} + +/* 移动端适配 */ +@media (max-width: 768px) { + .pagination-container { + .el-pagination { + > .el-pagination__jump { + display: none !important; + } + > .el-pagination__sizes { + display: none !important; + } + } + } +} + +/* tree border */ +.tree-border { + margin-top: 5px; + border: 1px solid var(--el-border-color-light, #e5e6e7); + background: var(--el-bg-color, #FFFFFF) none; + border-radius:4px; + width: 100%; +} + +.el-table .fixed-width .el-button--small { + padding-left: 0; + padding-right: 0; + width: inherit; +} + +/** 表格更多操作下拉样式 */ +.el-table .el-dropdown-link { + cursor: pointer; + color: #409EFF; + margin-left: 10px; +} + +.el-table .el-dropdown, .el-icon-arrow-down { + font-size: 12px; +} + +.el-tree-node__content > .el-checkbox { + margin-right: 8px; +} + +.list-group-striped > .list-group-item { + border-left: 0; + border-right: 0; + border-radius: 0; + padding-left: 0; + padding-right: 0; +} + +.list-group { + padding-left: 0px; + list-style: none; +} + +.list-group-item { + border-bottom: 1px solid #e7eaec; + border-top: 1px solid #e7eaec; + margin-bottom: -1px; + padding: 11px 0px; + font-size: 13px; +} + +.pull-right { + float: right !important; +} + +.el-card__header { + padding: 14px 15px 7px !important; + min-height: 40px; +} + +.el-card__body { + padding: 15px 20px 20px 20px !important; +} + +.card-box { + margin-bottom: 10px; +} + +/* button color */ +.el-button--cyan.is-active, +.el-button--cyan:active { + background: #20B2AA; + border-color: #20B2AA; + color: #FFFFFF; +} + +.el-button--cyan:focus, +.el-button--cyan:hover { + background: #48D1CC; + border-color: #48D1CC; + color: #FFFFFF; +} + +.el-button--cyan { + background-color: #20B2AA; + border-color: #20B2AA; + color: #FFFFFF; +} + +/* text color */ +.text-navy { + color: #1ab394; +} + +.text-primary { + color: inherit; +} + +.text-success { + color: #1c84c6; +} + +.text-info { + color: #23c6c8; +} + +.text-warning { + color: #f8ac59; +} + +.text-danger { + color: #ed5565; +} + +.text-muted { + color: #888888; +} + +/* image */ +.img-circle { + border-radius: 50%; +} + +.img-lg { + width: 120px; + height: 120px; +} + +.avatar-upload-preview { + position: absolute; + top: 50%; + transform: translate(50%, -50%); + width: 200px; + height: 200px; + border-radius: 50%; + box-shadow: 0 0 4px #ccc; + overflow: hidden; +} + +/* 拖拽列样式 */ +.sortable-ghost{ + opacity: .8; + color: #fff!important; + background: #42b983!important; +} + +/* 表格右侧工具栏样式 */ +.top-right-btn { + margin-left: auto; +} + +/* 分割面板样式 */ +.splitpanes.default-theme .splitpanes__pane { + background-color: var(--splitpanes-default-bg) !important; +} diff --git a/src/assets/styles/sidebar.scss b/src/assets/styles/sidebar.scss new file mode 100644 index 0000000..7758f8b --- /dev/null +++ b/src/assets/styles/sidebar.scss @@ -0,0 +1,236 @@ +#app { + + .main-container { + min-height: 100%; + transition: margin-left .28s; + margin-left: $base-sidebar-width; + position: relative; + } + + .sidebarHide { + margin-left: 0!important; + } + + .sidebar-container { + transition: width 0.28s; + width: $base-sidebar-width !important; + height: 100%; + position: fixed; + font-size: 0px; + top: 0; + bottom: 0; + left: 0; + z-index: 1001; + overflow: hidden; + -webkit-box-shadow: 2px 0 6px rgba(0,21,41,.35); + box-shadow: 2px 0 6px rgba(0,21,41,.35); + + // reset element-ui css + .horizontal-collapse-transition { + transition: 0s width ease-in-out, 0s padding-left ease-in-out, 0s padding-right ease-in-out; + } + + .scrollbar-wrapper { + overflow-x: hidden !important; + } + + .el-scrollbar__bar.is-vertical { + right: 0px; + } + + .el-scrollbar { + height: 100%; + } + + &.has-logo { + .el-scrollbar { + height: calc(100% - 50px); + } + } + + .is-horizontal { + display: none; + } + + a { + display: inline-block; + width: 100%; + overflow: hidden; + } + + .svg-icon { + margin-right: 16px; + } + + .el-menu { + border: none; + height: 100%; + width: 100% !important; + } + + .el-menu-item, .menu-title { + overflow: hidden !important; + text-overflow: ellipsis !important; + white-space: nowrap !important; + } + + .el-menu-item .el-menu-tooltip__trigger { + display: inline-block !important; + } + + // menu hover + .sub-menu-title-noDropdown, + .el-sub-menu__title { + &:hover { + background-color: rgba(0, 0, 0, 0.06) !important; + } + } + + & .theme-dark .is-active > .el-sub-menu__title { + color: $base-menu-color-active !important; + } + + & .nest-menu .el-sub-menu>.el-sub-menu__title, + & .el-sub-menu .el-menu-item { + min-width: $base-sidebar-width !important; + + &:hover { + background-color: rgba(0, 0, 0, 0.06) !important; + } + } + + & .theme-dark .nest-menu .el-sub-menu>.el-sub-menu__title, + & .theme-dark .el-sub-menu .el-menu-item { + background-color: $base-sub-menu-background; + + &:hover { + background-color: $base-sub-menu-hover !important; + } + } + } + + .hideSidebar { + .sidebar-container { + width: 54px !important; + } + + .main-container { + margin-left: 54px; + } + + .sub-menu-title-noDropdown { + padding: 0 !important; + position: relative; + + .el-tooltip { + padding: 0 !important; + + .svg-icon { + margin-left: 20px; + } + } + } + + .el-sub-menu { + overflow: hidden; + + &>.el-sub-menu__title { + padding: 0 !important; + + .svg-icon { + margin-left: 20px; + } + + } + } + + .el-menu--collapse { + .el-sub-menu { + &>.el-sub-menu__title { + &>span { + height: 0; + width: 0; + overflow: hidden; + visibility: hidden; + display: inline-block; + } + &>i { + height: 0; + width: 0; + overflow: hidden; + visibility: hidden; + display: inline-block; + } + } + } + } + } + + .el-menu--collapse .el-menu .el-sub-menu { + min-width: $base-sidebar-width !important; + } + + // mobile responsive + .mobile { + .main-container { + margin-left: 0px; + } + + .sidebar-container { + transition: transform .28s; + width: $base-sidebar-width !important; + } + + &.hideSidebar { + .sidebar-container { + pointer-events: none; + transition-duration: 0.3s; + transform: translate3d(-$base-sidebar-width, 0, 0); + } + } + } + + .withoutAnimation { + + .main-container, + .sidebar-container { + transition: none; + } + } +} + +// when menu collapsed +.el-menu--vertical { + &>.el-menu { + .svg-icon { + margin-right: 16px; + } + } + + .nest-menu .el-sub-menu>.el-sub-menu__title, + .el-menu-item { + &:hover { + // you can use $sub-menuHover + background-color: rgba(0, 0, 0, 0.06) !important; + } + } + + // the scroll bar appears when the sub-menu is too long + >.el-menu--popup { + max-height: 100vh; + overflow-y: auto; + + &::-webkit-scrollbar-track-piece { + background: #d3dce6; + } + + &::-webkit-scrollbar { + width: 6px; + } + + &::-webkit-scrollbar-thumb { + background: #99a9bf; + border-radius: 20px; + } + } +} diff --git a/src/assets/styles/transition.scss b/src/assets/styles/transition.scss new file mode 100644 index 0000000..073f8c6 --- /dev/null +++ b/src/assets/styles/transition.scss @@ -0,0 +1,49 @@ +// global transition css + +/* fade */ +.fade-enter-active, +.fade-leave-active { + transition: opacity 0.28s; +} + +.fade-enter, +.fade-leave-active { + opacity: 0; +} + +/* fade-transform */ +.fade-transform--move, +.fade-transform-leave-active, +.fade-transform-enter-active { + transition: all .5s; +} + +.fade-transform-enter { + opacity: 0; + transform: translateX(-30px); +} + +.fade-transform-leave-to { + opacity: 0; + transform: translateX(30px); +} + +/* breadcrumb transition */ +.breadcrumb-enter-active, +.breadcrumb-leave-active { + transition: all .5s; +} + +.breadcrumb-enter, +.breadcrumb-leave-active { + opacity: 0; + transform: translateX(20px); +} + +.breadcrumb-move { + transition: all .5s; +} + +.breadcrumb-leave-active { + position: absolute; +} diff --git a/src/assets/styles/variables.module.scss b/src/assets/styles/variables.module.scss new file mode 100644 index 0000000..8764e13 --- /dev/null +++ b/src/assets/styles/variables.module.scss @@ -0,0 +1,221 @@ +// base color +$blue: #324157; +$light-blue: #333c46; +$red: #C03639; +$pink: #E65D6E; +$green: #30B08F; +$tiffany: #4AB7BD; +$yellow: #FEC171; +$panGreen: #30B08F; + +// 默认主题变量 +$menuText: #bfcbd9; +$menuActiveText: #409eff; +$menuBg: #304156; +$menuHover: #263445; + +// 浅色主题theme-light +$menuLightBg: #ffffff; +$menuLightHover: #f0f1f5; +$menuLightText: #303133; +$menuLightActiveText: #409EFF; + +// 基础变量 +$base-sidebar-width: 200px; +$sideBarWidth: 200px; + +// 菜单暗色变量 +$base-menu-color: #bfcbd9; +$base-menu-color-active: #f4f4f5; +$base-menu-background: #304156; +$base-sub-menu-background: #1f2d3d; +$base-sub-menu-hover: #001528; + +// 组件变量 +$--color-primary: #409EFF; +$--color-success: #67C23A; +$--color-warning: #E6A23C; +$--color-danger: #F56C6C; +$--color-info: #909399; + +:export { + menuText: $menuText; + menuActiveText: $menuActiveText; + menuBg: $menuBg; + menuHover: $menuHover; + menuLightBg: $menuLightBg; + menuLightHover: $menuLightHover; + menuLightText: $menuLightText; + menuLightActiveText: $menuLightActiveText; + sideBarWidth: $sideBarWidth; + // 导出基础颜色 + blue: $blue; + lightBlue: $light-blue; + red: $red; + pink: $pink; + green: $green; + tiffany: $tiffany; + yellow: $yellow; + panGreen: $panGreen; + // 导出组件颜色 + colorPrimary: $--color-primary; + colorSuccess: $--color-success; + colorWarning: $--color-warning; + colorDanger: $--color-danger; + colorInfo: $--color-info; +} + +// CSS变量定义 +:root { + /* 亮色模式变量 */ + --sidebar-bg: #{$menuBg}; + --sidebar-text: #{$menuText}; + --menu-hover: #{$menuHover}; + + --navbar-bg: #ffffff; + --navbar-text: #303133; + + /* splitpanes default-theme 变量 */ + --splitpanes-default-bg: #ffffff; + +} + +// 暗黑模式变量 +html.dark { + /* 默认通用 */ + --el-bg-color: #141414; + --el-bg-color-overlay: #1d1e1f; + --el-text-color-primary: #ffffff; + --el-text-color-regular: #d0d0d0; + --el-border-color: #434343; + --el-border-color-light: #434343; + + /* 侧边栏 */ + --sidebar-bg: #141414; + --sidebar-text: #ffffff; + --menu-hover: #2d2d2d; + --menu-active-text: #{$menuActiveText}; + + /* 顶部导航栏 */ + --navbar-bg: #141414; + --navbar-text: #ffffff; + --navbar-hover: #141414; + + /* 标签栏 */ + --tags-bg: #141414; + --tags-item-bg: #1d1e1f; + --tags-item-border: #303030; + --tags-item-text: #d0d0d0; + --tags-item-hover: #2d2d2d; + --tags-close-hover: #64666a; + + /* splitpanes 组件暗黑模式变量 */ + --splitpanes-bg: #141414; + --splitpanes-border: #303030; + --splitpanes-splitter-bg: #1d1e1f; + --splitpanes-splitter-hover-bg: #2d2d2d; + + /* blockquote 暗黑模式变量 */ + --blockquote-bg: #1d1e1f; + --blockquote-border: #303030; + --blockquote-text: #d0d0d0; + + /* Cron 时间表达式 模式变量 */ + --cron-border: #303030; + + /* splitpanes default-theme 暗黑模式变量 */ + --splitpanes-default-bg: #141414; + + /* 侧边栏菜单覆盖 */ + .sidebar-container { + .el-menu-item, .menu-title { + color: var(--el-text-color-regular); + } + & .theme-dark .nest-menu .el-sub-menu>.el-sub-menu__title, + & .theme-dark .el-sub-menu .el-menu-item { + background-color: var(--el-bg-color) !important; + } + } + + /* 顶部栏栏菜单覆盖 */ + .el-menu--horizontal { + .el-menu-item { + &:not(.is-disabled) { + &:hover, + &:focus { + background-color: var(--navbar-hover) !important; + } + } + } + } + + /* 分割窗格覆盖 */ + .splitpanes { + background-color: var(--splitpanes-bg); + + .splitpanes__pane { + background-color: var(--splitpanes-bg); + border-color: var(--splitpanes-border); + } + + .splitpanes__splitter { + background-color: var(--splitpanes-splitter-bg); + border-color: var(--splitpanes-border); + + &:hover { + background-color: var(--splitpanes-splitter-hover-bg); + } + + &:before, + &:after { + background-color: var(--splitpanes-border); + } + } + } + + /* 表格样式覆盖 */ + .el-table { + --el-table-header-bg-color: var(--el-bg-color-overlay) !important; + --el-table-header-text-color: var(--el-text-color-regular) !important; + --el-table-border-color: var(--el-border-color-light) !important; + --el-table-row-hover-bg-color: var(--el-bg-color-overlay) !important; + + .el-table__header-wrapper, .el-table__fixed-header-wrapper { + th { + background-color: var(--el-bg-color-overlay, #f8f8f9) !important; + color: var(--el-text-color-regular, #515a6e); + } + } + } + + /* 树组件高亮样式覆盖 */ + .el-tree { + .el-tree-node.is-current > .el-tree-node__content { + background-color: var(--el-bg-color-overlay) !important; + color: var(--el-color-primary); + } + + .el-tree-node__content:hover { + background-color: var(--el-bg-color-overlay); + } + } + + /* 下拉菜单样式覆盖 */ + .el-dropdown-menu__item:not(.is-disabled):focus, .el-dropdown-menu__item:not(.is-disabled):hover{ + background-color: var(--navbar-hover) !important; + } + + /* blockquote样式覆盖 */ + blockquote { + background-color: var(--blockquote-bg) !important; + border-left-color: var(--blockquote-border) !important; + color: var(--blockquote-text) !important; + } + + /* 时间表达式标题样式覆盖 */ + .popup-result .title { + background: var(--cron-border); + } + +} + diff --git a/src/components/Breadcrumb/index.vue b/src/components/Breadcrumb/index.vue new file mode 100644 index 0000000..c13e5e9 --- /dev/null +++ b/src/components/Breadcrumb/index.vue @@ -0,0 +1,98 @@ + + + + + \ No newline at end of file diff --git a/src/components/Crontab/day.vue b/src/components/Crontab/day.vue new file mode 100644 index 0000000..39263f5 --- /dev/null +++ b/src/components/Crontab/day.vue @@ -0,0 +1,174 @@ + + + + \ No newline at end of file diff --git a/src/components/Crontab/hour.vue b/src/components/Crontab/hour.vue new file mode 100644 index 0000000..8e7c21c --- /dev/null +++ b/src/components/Crontab/hour.vue @@ -0,0 +1,133 @@ + + + + + \ No newline at end of file diff --git a/src/components/Crontab/index.vue b/src/components/Crontab/index.vue new file mode 100644 index 0000000..103cf4c --- /dev/null +++ b/src/components/Crontab/index.vue @@ -0,0 +1,309 @@ + + + + + \ No newline at end of file diff --git a/src/components/Crontab/min.vue b/src/components/Crontab/min.vue new file mode 100644 index 0000000..65f0946 --- /dev/null +++ b/src/components/Crontab/min.vue @@ -0,0 +1,126 @@ + + + + \ No newline at end of file diff --git a/src/components/Crontab/month.vue b/src/components/Crontab/month.vue new file mode 100644 index 0000000..e561ba4 --- /dev/null +++ b/src/components/Crontab/month.vue @@ -0,0 +1,141 @@ + + + + + \ No newline at end of file diff --git a/src/components/Crontab/result.vue b/src/components/Crontab/result.vue new file mode 100644 index 0000000..5a812ee --- /dev/null +++ b/src/components/Crontab/result.vue @@ -0,0 +1,540 @@ + + + \ No newline at end of file diff --git a/src/components/Crontab/second.vue b/src/components/Crontab/second.vue new file mode 100644 index 0000000..15e47a0 --- /dev/null +++ b/src/components/Crontab/second.vue @@ -0,0 +1,128 @@ + + + + + \ No newline at end of file diff --git a/src/components/Crontab/week.vue b/src/components/Crontab/week.vue new file mode 100644 index 0000000..e59da22 --- /dev/null +++ b/src/components/Crontab/week.vue @@ -0,0 +1,197 @@ + + + + + \ No newline at end of file diff --git a/src/components/Crontab/year.vue b/src/components/Crontab/year.vue new file mode 100644 index 0000000..fa921ae --- /dev/null +++ b/src/components/Crontab/year.vue @@ -0,0 +1,149 @@ + + + + + \ No newline at end of file diff --git a/src/components/DictTag/index.vue b/src/components/DictTag/index.vue new file mode 100644 index 0000000..19e24e4 --- /dev/null +++ b/src/components/DictTag/index.vue @@ -0,0 +1,82 @@ + + + + + diff --git a/src/components/Editor/index.vue b/src/components/Editor/index.vue new file mode 100644 index 0000000..1bd01ed --- /dev/null +++ b/src/components/Editor/index.vue @@ -0,0 +1,251 @@ + + + + + diff --git a/src/components/Ellipsis/index.vue b/src/components/Ellipsis/index.vue new file mode 100644 index 0000000..ab0c607 --- /dev/null +++ b/src/components/Ellipsis/index.vue @@ -0,0 +1,36 @@ + + + + + diff --git a/src/components/FileUpload/index.vue b/src/components/FileUpload/index.vue new file mode 100644 index 0000000..9a07847 --- /dev/null +++ b/src/components/FileUpload/index.vue @@ -0,0 +1,218 @@ + + + + + diff --git a/src/components/Hamburger/index.vue b/src/components/Hamburger/index.vue new file mode 100644 index 0000000..02d58e9 --- /dev/null +++ b/src/components/Hamburger/index.vue @@ -0,0 +1,42 @@ + + + + + diff --git a/src/components/HeaderSearch/index.vue b/src/components/HeaderSearch/index.vue new file mode 100644 index 0000000..cb1d075 --- /dev/null +++ b/src/components/HeaderSearch/index.vue @@ -0,0 +1,187 @@ + + + + + \ No newline at end of file diff --git a/src/components/IconSelect/index.vue b/src/components/IconSelect/index.vue new file mode 100644 index 0000000..517a4af --- /dev/null +++ b/src/components/IconSelect/index.vue @@ -0,0 +1,111 @@ + + + + + \ No newline at end of file diff --git a/src/components/IconSelect/requireIcons.js b/src/components/IconSelect/requireIcons.js new file mode 100644 index 0000000..ac22fd7 --- /dev/null +++ b/src/components/IconSelect/requireIcons.js @@ -0,0 +1,8 @@ +let icons = [] +const modules = import.meta.glob('./../../assets/icons/svg/*.svg'); +for (const path in modules) { + const p = path.split('assets/icons/svg/')[1].split('.svg')[0]; + icons.push(p); +} + +export default icons \ No newline at end of file diff --git a/src/components/ImagePreview/index.vue b/src/components/ImagePreview/index.vue new file mode 100644 index 0000000..7e3d2b6 --- /dev/null +++ b/src/components/ImagePreview/index.vue @@ -0,0 +1,92 @@ + + + + + diff --git a/src/components/ImageUpload/index.vue b/src/components/ImageUpload/index.vue new file mode 100644 index 0000000..4d19693 --- /dev/null +++ b/src/components/ImageUpload/index.vue @@ -0,0 +1,216 @@ + + + + + \ No newline at end of file diff --git a/src/components/Pagination/index.vue b/src/components/Pagination/index.vue new file mode 100644 index 0000000..11d4caf --- /dev/null +++ b/src/components/Pagination/index.vue @@ -0,0 +1,104 @@ + + + + + \ No newline at end of file diff --git a/src/components/ParentView/index.vue b/src/components/ParentView/index.vue new file mode 100644 index 0000000..7bf6148 --- /dev/null +++ b/src/components/ParentView/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/components/RightToolbar/index.vue b/src/components/RightToolbar/index.vue new file mode 100644 index 0000000..5a53dd4 --- /dev/null +++ b/src/components/RightToolbar/index.vue @@ -0,0 +1,134 @@ + + + + + diff --git a/src/components/Screenfull/index.vue b/src/components/Screenfull/index.vue new file mode 100644 index 0000000..7ad28ea --- /dev/null +++ b/src/components/Screenfull/index.vue @@ -0,0 +1,22 @@ + + + + + \ No newline at end of file diff --git a/src/components/SizeSelect/index.vue b/src/components/SizeSelect/index.vue new file mode 100644 index 0000000..4c2e7e9 --- /dev/null +++ b/src/components/SizeSelect/index.vue @@ -0,0 +1,45 @@ + + + + + \ No newline at end of file diff --git a/src/components/SvgIcon/index.vue b/src/components/SvgIcon/index.vue new file mode 100644 index 0000000..8c101f6 --- /dev/null +++ b/src/components/SvgIcon/index.vue @@ -0,0 +1,53 @@ + + + + + diff --git a/src/components/SvgIcon/svgicon.js b/src/components/SvgIcon/svgicon.js new file mode 100644 index 0000000..4431719 --- /dev/null +++ b/src/components/SvgIcon/svgicon.js @@ -0,0 +1,10 @@ +import * as components from '@element-plus/icons-vue' + +export default { + install: (app) => { + for (const key in components) { + const componentConfig = components[key]; + app.component(componentConfig.name, componentConfig); + } + }, +}; diff --git a/src/components/TopNav/index.vue b/src/components/TopNav/index.vue new file mode 100644 index 0000000..eed37b9 --- /dev/null +++ b/src/components/TopNav/index.vue @@ -0,0 +1,216 @@ + + + + + diff --git a/src/components/iFrame/index.vue b/src/components/iFrame/index.vue new file mode 100644 index 0000000..091b1a2 --- /dev/null +++ b/src/components/iFrame/index.vue @@ -0,0 +1,31 @@ + + + diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue new file mode 100644 index 0000000..7ff2eba --- /dev/null +++ b/src/layout/components/Navbar.vue @@ -0,0 +1,205 @@ + + + + + diff --git a/src/layout/components/Settings/index.vue b/src/layout/components/Settings/index.vue new file mode 100644 index 0000000..4ef2437 --- /dev/null +++ b/src/layout/components/Settings/index.vue @@ -0,0 +1,204 @@ + + + + + \ No newline at end of file diff --git a/src/layout/components/Sidebar/Link.vue b/src/layout/components/Sidebar/Link.vue new file mode 100644 index 0000000..8011431 --- /dev/null +++ b/src/layout/components/Sidebar/Link.vue @@ -0,0 +1,40 @@ + + + diff --git a/src/layout/components/Sidebar/Logo.vue b/src/layout/components/Sidebar/Logo.vue new file mode 100644 index 0000000..05387bc --- /dev/null +++ b/src/layout/components/Sidebar/Logo.vue @@ -0,0 +1,99 @@ + + + + + \ No newline at end of file diff --git a/src/layout/components/Sidebar/SidebarItem.vue b/src/layout/components/Sidebar/SidebarItem.vue new file mode 100644 index 0000000..b43bca7 --- /dev/null +++ b/src/layout/components/Sidebar/SidebarItem.vue @@ -0,0 +1,100 @@ + + + diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue new file mode 100644 index 0000000..f0fdf88 --- /dev/null +++ b/src/layout/components/Sidebar/index.vue @@ -0,0 +1,104 @@ + + + + + diff --git a/src/layout/components/TagsView/ScrollPane.vue b/src/layout/components/TagsView/ScrollPane.vue new file mode 100644 index 0000000..ba92f64 --- /dev/null +++ b/src/layout/components/TagsView/ScrollPane.vue @@ -0,0 +1,107 @@ + + + + + \ No newline at end of file diff --git a/src/layout/components/TagsView/index.vue b/src/layout/components/TagsView/index.vue new file mode 100644 index 0000000..2755df8 --- /dev/null +++ b/src/layout/components/TagsView/index.vue @@ -0,0 +1,365 @@ + + + + + + + \ No newline at end of file diff --git a/src/layout/components/index.js b/src/layout/components/index.js new file mode 100644 index 0000000..fd57731 --- /dev/null +++ b/src/layout/components/index.js @@ -0,0 +1,4 @@ +export { default as AppMain } from './AppMain' +export { default as Navbar } from './Navbar' +export { default as Settings } from './Settings' +export { default as TagsView } from './TagsView/index.vue' diff --git a/src/layout/index.vue b/src/layout/index.vue new file mode 100644 index 0000000..bad8dae --- /dev/null +++ b/src/layout/index.vue @@ -0,0 +1,114 @@ + + + + + \ No newline at end of file diff --git a/src/main.js b/src/main.js new file mode 100644 index 0000000..2d07ab4 --- /dev/null +++ b/src/main.js @@ -0,0 +1,85 @@ +import { createApp } from 'vue' + +import Cookies from 'js-cookie' + +import ElementPlus from 'element-plus' +import 'element-plus/dist/index.css' +import 'element-plus/theme-chalk/dark/css-vars.css' +import locale from 'element-plus/es/locale/lang/zh-cn' + +import '@/assets/styles/index.scss' // global css + +import App from './App' +import store from './store' +import router from './router' +import directive from './directive' // directive + +// 注册指令 +import plugins from './plugins' // plugins +import { download } from '@/utils/request' + +// svg图标 +import 'virtual:svg-icons-register' +import SvgIcon from '@/components/SvgIcon' +import elementIcons from '@/components/SvgIcon/svgicon' + +import './permission' // permission control + +import { useDict } from '@/utils/dict' +import { parseTime, resetForm, addDateRange, handleTree, selectDictLabel, selectDictLabels } from '@/utils/ruoyi' + +// 分页组件 +import Pagination from '@/components/Pagination' +// 自定义表格工具组件 +import RightToolbar from '@/components/RightToolbar' +// 富文本组件 +import Editor from "@/components/Editor" +// 文件上传组件 +import FileUpload from "@/components/FileUpload" +// 图片上传组件 +import ImageUpload from "@/components/ImageUpload" +// 图片预览组件 +import ImagePreview from "@/components/ImagePreview" +// 字典标签组件 +import DictTag from '@/components/DictTag' +// 字符串超长截取省略号显示 +import Ellipsis from "@/components/Ellipsis"; + +const app = createApp(App) + +// 全局方法挂载 +app.config.globalProperties.useDict = useDict +app.config.globalProperties.download = download +app.config.globalProperties.parseTime = parseTime +app.config.globalProperties.resetForm = resetForm +app.config.globalProperties.handleTree = handleTree +app.config.globalProperties.addDateRange = addDateRange +app.config.globalProperties.selectDictLabel = selectDictLabel +app.config.globalProperties.selectDictLabels = selectDictLabels + +// 全局组件挂载 +app.component('DictTag', DictTag) +app.component('Pagination', Pagination) +app.component('FileUpload', FileUpload) +app.component('ImageUpload', ImageUpload) +app.component('ImagePreview', ImagePreview) +app.component('RightToolbar', RightToolbar) +app.component('Editor', Editor) +app.component('Ellipsis', Ellipsis) + +app.use(router) +app.use(store) +app.use(plugins) +app.use(elementIcons) +app.component('svg-icon', SvgIcon) + +directive(app) + +// 使用element-plus 并且设置全局的大小 +app.use(ElementPlus, { + locale: locale, + // 支持 large、default、small + size: Cookies.get('size') || 'default' +}) + +app.mount('#app') diff --git a/src/permission.js b/src/permission.js new file mode 100644 index 0000000..7e3b5bf --- /dev/null +++ b/src/permission.js @@ -0,0 +1,69 @@ +import router from './router' +import { ElMessage } from 'element-plus' +import NProgress from 'nprogress' +import 'nprogress/nprogress.css' +import { getToken } from '@/utils/auth' +import { isHttp, isPathMatch } from '@/utils/validate' +import { isRelogin } from '@/utils/request' +import useUserStore from '@/store/modules/user' +import useSettingsStore from '@/store/modules/settings' +import usePermissionStore from '@/store/modules/permission' + +NProgress.configure({ showSpinner: false }) + +const whiteList = ['/login', '/register'] + +const isWhiteList = (path) => { + return whiteList.some(pattern => isPathMatch(pattern, path)) +} + +router.beforeEach((to, from, next) => { + NProgress.start() + if (getToken()) { + to.meta.title && useSettingsStore().setTitle(to.meta.title) + /* has token*/ + if (to.path === '/login') { + next({ path: '/' }) + NProgress.done() + } else if (isWhiteList(to.path)) { + next() + } else { + if (useUserStore().roles.length === 0) { + isRelogin.show = true + // 判断当前用户是否已拉取完user_info信息 + useUserStore().getInfo().then(() => { + isRelogin.show = false + usePermissionStore().generateRoutes().then(accessRoutes => { + // 根据roles权限生成可访问的路由表 + accessRoutes.forEach(route => { + if (!isHttp(route.path)) { + router.addRoute(route) // 动态添加可访问路由表 + } + }) + next({ ...to, replace: true }) // hack方法 确保addRoutes已完成 + }) + }).catch(err => { + useUserStore().logOut().then(() => { + ElMessage.error(err) + next({ path: '/' }) + }) + }) + } else { + next() + } + } + } else { + // 没有token + if (isWhiteList(to.path)) { + // 在免登录白名单,直接进入 + next() + } else { + next(`/login?redirect=${to.fullPath}`) // 否则全部重定向到登录页 + NProgress.done() + } + } +}) + +router.afterEach(() => { + NProgress.done() +}) diff --git a/src/plugins/auth.js b/src/plugins/auth.js new file mode 100644 index 0000000..5e8c28d --- /dev/null +++ b/src/plugins/auth.js @@ -0,0 +1,60 @@ +import useUserStore from '@/store/modules/user' + +function authPermission(permission) { + const all_permission = "*:*:*"; + const permissions = useUserStore().permissions + if (permission && permission.length > 0) { + return permissions.some(v => { + return all_permission === v || v === permission + }) + } else { + return false + } +} + +function authRole(role) { + const super_admin = "admin"; + const roles = useUserStore().roles + if (role && role.length > 0) { + return roles.some(v => { + return super_admin === v || v === role + }) + } else { + return false + } +} + +export default { + // 验证用户是否具备某权限 + hasPermi(permission) { + return authPermission(permission); + }, + // 验证用户是否含有指定权限,只需包含其中一个 + hasPermiOr(permissions) { + return permissions.some(item => { + return authPermission(item) + }) + }, + // 验证用户是否含有指定权限,必须全部拥有 + hasPermiAnd(permissions) { + return permissions.every(item => { + return authPermission(item) + }) + }, + // 验证用户是否具备某角色 + hasRole(role) { + return authRole(role); + }, + // 验证用户是否含有指定角色,只需包含其中一个 + hasRoleOr(roles) { + return roles.some(item => { + return authRole(item) + }) + }, + // 验证用户是否含有指定角色,必须全部拥有 + hasRoleAnd(roles) { + return roles.every(item => { + return authRole(item) + }) + } +} diff --git a/src/plugins/cache.js b/src/plugins/cache.js new file mode 100644 index 0000000..b67d453 --- /dev/null +++ b/src/plugins/cache.js @@ -0,0 +1,79 @@ +const sessionCache = { + set (key, value) { + if (!sessionStorage) { + return + } + if (key != null && value != null) { + sessionStorage.setItem(key, value) + } + }, + get (key) { + if (!sessionStorage) { + return null + } + if (key == null) { + return null + } + return sessionStorage.getItem(key) + }, + setJSON (key, jsonValue) { + if (jsonValue != null) { + this.set(key, JSON.stringify(jsonValue)) + } + }, + getJSON (key) { + const value = this.get(key) + if (value != null) { + return JSON.parse(value) + } + return null + }, + remove (key) { + sessionStorage.removeItem(key); + } +} +const localCache = { + set (key, value) { + if (!localStorage) { + return + } + if (key != null && value != null) { + localStorage.setItem(key, value) + } + }, + get (key) { + if (!localStorage) { + return null + } + if (key == null) { + return null + } + return localStorage.getItem(key) + }, + setJSON (key, jsonValue) { + if (jsonValue != null) { + this.set(key, JSON.stringify(jsonValue)) + } + }, + getJSON (key) { + const value = this.get(key) + if (value != null) { + return JSON.parse(value) + } + return null + }, + remove (key) { + localStorage.removeItem(key); + } +} + +export default { + /** + * 会话级缓存 + */ + session: sessionCache, + /** + * 本地缓存 + */ + local: localCache +} diff --git a/src/plugins/download.js b/src/plugins/download.js new file mode 100644 index 0000000..1a89efd --- /dev/null +++ b/src/plugins/download.js @@ -0,0 +1,79 @@ +import axios from 'axios' +import { ElLoading, ElMessage } from 'element-plus' +import { saveAs } from 'file-saver' +import { getToken } from '@/utils/auth' +import errorCode from '@/utils/errorCode' +import { blobValidate } from '@/utils/ruoyi' + +const baseURL = import.meta.env.VITE_APP_BASE_API +let downloadLoadingInstance; + +export default { + name(name, isDelete = true) { + var url = baseURL + "/common/download?fileName=" + encodeURIComponent(name) + "&delete=" + isDelete + axios({ + method: 'get', + url: url, + responseType: 'blob', + headers: { 'Authorization': 'Bearer ' + getToken() } + }).then((res) => { + const isBlob = blobValidate(res.data); + if (isBlob) { + const blob = new Blob([res.data]) + this.saveAs(blob, decodeURIComponent(res.headers['download-filename'])) + } else { + this.printErrMsg(res.data); + } + }) + }, + resource(resource) { + var url = baseURL + "/common/download/resource?resource=" + encodeURIComponent(resource); + axios({ + method: 'get', + url: url, + responseType: 'blob', + headers: { 'Authorization': 'Bearer ' + getToken() } + }).then((res) => { + const isBlob = blobValidate(res.data); + if (isBlob) { + const blob = new Blob([res.data]) + this.saveAs(blob, decodeURIComponent(res.headers['download-filename'])) + } else { + this.printErrMsg(res.data); + } + }) + }, + zip(url, name) { + var url = baseURL + url + downloadLoadingInstance = ElLoading.service({ text: "正在下载数据,请稍候", background: "rgba(0, 0, 0, 0.7)", }) + axios({ + method: 'get', + url: url, + responseType: 'blob', + headers: { 'Authorization': 'Bearer ' + getToken() } + }).then((res) => { + const isBlob = blobValidate(res.data); + if (isBlob) { + const blob = new Blob([res.data], { type: 'application/zip' }) + this.saveAs(blob, name) + } else { + this.printErrMsg(res.data); + } + downloadLoadingInstance.close(); + }).catch((r) => { + console.error(r) + ElMessage.error('下载文件出现错误,请联系管理员!') + downloadLoadingInstance.close(); + }) + }, + saveAs(text, name, opts) { + saveAs(text, name, opts); + }, + async printErrMsg(data) { + const resText = await data.text(); + const rspObj = JSON.parse(resText); + const errMsg = errorCode[rspObj.code] || rspObj.msg || errorCode['default'] + ElMessage.error(errMsg); + } +} + diff --git a/src/plugins/index.js b/src/plugins/index.js new file mode 100644 index 0000000..47d1b41 --- /dev/null +++ b/src/plugins/index.js @@ -0,0 +1,18 @@ +import tab from './tab' +import auth from './auth' +import cache from './cache' +import modal from './modal' +import download from './download' + +export default function installPlugins(app){ + // 页签操作 + app.config.globalProperties.$tab = tab + // 认证对象 + app.config.globalProperties.$auth = auth + // 缓存对象 + app.config.globalProperties.$cache = cache + // 模态框对象 + app.config.globalProperties.$modal = modal + // 下载文件 + app.config.globalProperties.$download = download +} diff --git a/src/plugins/modal.js b/src/plugins/modal.js new file mode 100644 index 0000000..b59e14d --- /dev/null +++ b/src/plugins/modal.js @@ -0,0 +1,82 @@ +import { ElMessage, ElMessageBox, ElNotification, ElLoading } from 'element-plus' + +let loadingInstance; + +export default { + // 消息提示 + msg(content) { + ElMessage.info(content) + }, + // 错误消息 + msgError(content) { + ElMessage.error(content) + }, + // 成功消息 + msgSuccess(content) { + ElMessage.success(content) + }, + // 警告消息 + msgWarning(content) { + ElMessage.warning(content) + }, + // 弹出提示 + alert(content) { + ElMessageBox.alert(content, "系统提示") + }, + // 错误提示 + alertError(content) { + ElMessageBox.alert(content, "系统提示", { type: 'error' }) + }, + // 成功提示 + alertSuccess(content) { + ElMessageBox.alert(content, "系统提示", { type: 'success' }) + }, + // 警告提示 + alertWarning(content) { + ElMessageBox.alert(content, "系统提示", { type: 'warning' }) + }, + // 通知提示 + notify(content) { + ElNotification.info(content) + }, + // 错误通知 + notifyError(content) { + ElNotification.error(content); + }, + // 成功通知 + notifySuccess(content) { + ElNotification.success(content) + }, + // 警告通知 + notifyWarning(content) { + ElNotification.warning(content) + }, + // 确认窗体 + confirm(content) { + return ElMessageBox.confirm(content, "系统提示", { + confirmButtonText: '确定', + cancelButtonText: '取消', + type: "warning", + }) + }, + // 提交内容 + prompt(content) { + return ElMessageBox.prompt(content, "系统提示", { + confirmButtonText: '确定', + cancelButtonText: '取消', + type: "warning", + }) + }, + // 打开遮罩层 + loading(content) { + loadingInstance = ElLoading.service({ + lock: true, + text: content, + background: "rgba(0, 0, 0, 0.7)", + }) + }, + // 关闭遮罩层 + closeLoading() { + loadingInstance.close(); + } +} diff --git a/src/plugins/tab.js b/src/plugins/tab.js new file mode 100644 index 0000000..7b51cf5 --- /dev/null +++ b/src/plugins/tab.js @@ -0,0 +1,69 @@ +import useTagsViewStore from '@/store/modules/tagsView' +import router from '@/router' + +export default { + // 刷新当前tab页签 + refreshPage(obj) { + const { path, query, matched } = router.currentRoute.value; + if (obj === undefined) { + matched.forEach((m) => { + if (m.components && m.components.default && m.components.default.name) { + if (!['Layout', 'ParentView'].includes(m.components.default.name)) { + obj = { name: m.components.default.name, path: path, query: query }; + } + } + }); + } + return useTagsViewStore().delCachedView(obj).then(() => { + const { path, query } = obj + router.replace({ + path: '/redirect' + path, + query: query + }) + }) + }, + // 关闭当前tab页签,打开新页签 + closeOpenPage(obj) { + useTagsViewStore().delView(router.currentRoute.value); + if (obj !== undefined) { + return router.push(obj); + } + }, + // 关闭指定tab页签 + closePage(obj) { + if (obj === undefined) { + return useTagsViewStore().delView(router.currentRoute.value).then(({ visitedViews }) => { + const latestView = visitedViews.slice(-1)[0] + if (latestView) { + return router.push(latestView.fullPath) + } + return router.push('/'); + }); + } + return useTagsViewStore().delView(obj); + }, + // 关闭所有tab页签 + closeAllPage() { + return useTagsViewStore().delAllViews(); + }, + // 关闭左侧tab页签 + closeLeftPage(obj) { + return useTagsViewStore().delLeftTags(obj || router.currentRoute.value); + }, + // 关闭右侧tab页签 + closeRightPage(obj) { + return useTagsViewStore().delRightTags(obj || router.currentRoute.value); + }, + // 关闭其他tab页签 + closeOtherPage(obj) { + return useTagsViewStore().delOthersViews(obj || router.currentRoute.value); + }, + // 打开tab页签 + openPage(url) { + return router.push(url); + }, + // 修改tab页签 + updatePage(obj) { + return useTagsViewStore().updateVisitedView(obj); + } +} diff --git a/src/router/index.js b/src/router/index.js new file mode 100644 index 0000000..2c7c3de --- /dev/null +++ b/src/router/index.js @@ -0,0 +1,174 @@ +import { createWebHistory, createRouter } from 'vue-router' +/* Layout */ +import Layout from '@/layout' + +/** + * Note: 路由配置项 + * + * hidden: true // 当设置 true 的时候该路由不会再侧边栏出现 如401,login等页面,或者如一些编辑页面/edit/1 + * alwaysShow: true // 当你一个路由下面的 children 声明的路由大于1个时,自动会变成嵌套的模式--如组件页面 + * // 只有一个时,会将那个子路由当做根路由显示在侧边栏--如引导页面 + * // 若你想不管路由下面的 children 声明的个数都显示你的根路由 + * // 你可以设置 alwaysShow: true,这样它就会忽略之前定义的规则,一直显示根路由 + * redirect: noRedirect // 当设置 noRedirect 的时候该路由在面包屑导航中不可被点击 + * name:'router-name' // 设定路由的名字,一定要填写不然使用时会出现各种问题 + * query: '{"id": 1, "name": "ry"}' // 访问路由的默认传递参数 + * roles: ['admin', 'common'] // 访问路由的角色权限 + * permissions: ['a:a:a', 'b:b:b'] // 访问路由的菜单权限 + * meta : { + noCache: true // 如果设置为true,则不会被 缓存(默认 false) + title: 'title' // 设置该路由在侧边栏和面包屑中展示的名字 + icon: 'svg-name' // 设置该路由的图标,对应路径src/assets/icons/svg + breadcrumb: false // 如果设置为false,则不会在breadcrumb面包屑中显示 + activeMenu: '/system/user' // 当路由设置了该属性,则会高亮相对应的侧边栏。 + } + */ + +// 公共路由 +export const constantRoutes = [ + { + path: '/redirect', + component: Layout, + hidden: true, + children: [ + { + path: '/redirect/:path(.*)', + component: () => import('@/views/redirect/index.vue') + } + ] + }, + { + path: '/login', + component: () => import('@/views/login'), + hidden: true + }, + { + path: '/register', + component: () => import('@/views/register'), + hidden: true + }, + { + path: "/:pathMatch(.*)*", + component: () => import('@/views/error/404'), + hidden: true + }, + { + path: '/401', + component: () => import('@/views/error/401'), + hidden: true + }, + { + path: '', + component: Layout, + redirect: '/index', + children: [ + { + path: '/index', + component: () => import('@/views/index'), + name: 'Index', + meta: { title: '首页', icon: 'dashboard', affix: true } + } + ] + }, + { + path: '/user', + component: Layout, + hidden: true, + redirect: 'noredirect', + children: [ + { + path: 'profile', + component: () => import('@/views/system/user/profile/index'), + name: 'Profile', + meta: { title: '个人中心', icon: 'user' } + } + ] + } +] + +// 动态路由,基于用户权限动态去加载 +export const dynamicRoutes = [ + { + path: '/system/user-auth', + component: Layout, + hidden: true, + permissions: ['system:user:edit'], + children: [ + { + path: 'role/:userId(\\d+)', + component: () => import('@/views/system/user/authRole'), + name: 'AuthRole', + meta: { title: '分配角色', activeMenu: '/system/user' } + } + ] + }, + { + path: '/system/role-auth', + component: Layout, + hidden: true, + permissions: ['system:role:edit'], + children: [ + { + path: 'user/:roleId(\\d+)', + component: () => import('@/views/system/role/authUser'), + name: 'AuthUser', + meta: { title: '分配用户', activeMenu: '/system/role' } + } + ] + }, + { + path: '/system/dict-data', + component: Layout, + hidden: true, + permissions: ['system:dict:list'], + children: [ + { + path: 'index/:dictId(\\d+)', + component: () => import('@/views/system/dict/data'), + name: 'Data', + meta: { title: '字典数据', activeMenu: '/system/dict' } + } + ] + }, + { + path: '/monitor/job-log', + component: Layout, + hidden: true, + permissions: ['monitor:job:list'], + children: [ + { + path: 'index/:jobId(\\d+)', + component: () => import('@/views/monitor/job/log'), + name: 'JobLog', + meta: { title: '调度日志', activeMenu: '/monitor/job' } + } + ] + }, + { + path: '/tool/gen-edit', + component: Layout, + hidden: true, + permissions: ['tool:gen:edit'], + children: [ + { + path: 'index/:tableId(\\d+)', + component: () => import('@/views/tool/gen/editTable'), + name: 'GenEdit', + meta: { title: '修改生成配置', activeMenu: '/tool/gen' } + } + ] + } +] + +const router = createRouter({ + history: createWebHistory(), + routes: constantRoutes, + scrollBehavior(to, from, savedPosition) { + if (savedPosition) { + return savedPosition + } + return { top: 0 } + }, +}); + +export default router; diff --git a/src/settings.js b/src/settings.js new file mode 100644 index 0000000..08a0108 --- /dev/null +++ b/src/settings.js @@ -0,0 +1,47 @@ +export default { + /** + * 网页标题 + */ + title: import.meta.env.VITE_APP_TITLE, + /** + * 侧边栏主题 深色主题theme-dark,浅色主题theme-light + */ + sideTheme: 'theme-dark', + /** + * 是否系统布局配置 + */ + showSettings: true, + + /** + * 是否显示顶部导航 + */ + topNav: false, + + /** + * 是否显示 tagsView + */ + tagsView: true, + + /** + * 是否固定头部 + */ + fixedHeader: false, + + /** + * 是否显示logo + */ + sidebarLogo: true, + + /** + * 是否显示动态标题 + */ + dynamicTitle: false, + + /** + * @type {string | array} 'production' | ['production', 'development'] + * @description Need show err logs component. + * The default is only used in the production env + * If you want to also use it in dev, you can pass ['production', 'development'] + */ + errorLog: 'production' +} diff --git a/src/store/index.js b/src/store/index.js new file mode 100644 index 0000000..f10f389 --- /dev/null +++ b/src/store/index.js @@ -0,0 +1,3 @@ +const store = createPinia() + +export default store \ No newline at end of file diff --git a/src/store/modules/app.js b/src/store/modules/app.js new file mode 100644 index 0000000..0b57159 --- /dev/null +++ b/src/store/modules/app.js @@ -0,0 +1,46 @@ +import Cookies from 'js-cookie' + +const useAppStore = defineStore( + 'app', + { + state: () => ({ + sidebar: { + opened: Cookies.get('sidebarStatus') ? !!+Cookies.get('sidebarStatus') : true, + withoutAnimation: false, + hide: false + }, + device: 'desktop', + size: Cookies.get('size') || 'default' + }), + actions: { + toggleSideBar(withoutAnimation) { + if (this.sidebar.hide) { + return false; + } + this.sidebar.opened = !this.sidebar.opened + this.sidebar.withoutAnimation = withoutAnimation + if (this.sidebar.opened) { + Cookies.set('sidebarStatus', 1) + } else { + Cookies.set('sidebarStatus', 0) + } + }, + closeSideBar({ withoutAnimation }) { + Cookies.set('sidebarStatus', 0) + this.sidebar.opened = false + this.sidebar.withoutAnimation = withoutAnimation + }, + toggleDevice(device) { + this.device = device + }, + setSize(size) { + this.size = size; + Cookies.set('size', size) + }, + toggleSideBarHide(status) { + this.sidebar.hide = status + } + } + }) + +export default useAppStore diff --git a/src/store/modules/dict.js b/src/store/modules/dict.js new file mode 100644 index 0000000..27fc308 --- /dev/null +++ b/src/store/modules/dict.js @@ -0,0 +1,57 @@ +const useDictStore = defineStore( + 'dict', + { + state: () => ({ + dict: new Array() + }), + actions: { + // 获取字典 + getDict(_key) { + if (_key == null && _key == "") { + return null; + } + try { + for (let i = 0; i < this.dict.length; i++) { + if (this.dict[i].key == _key) { + return this.dict[i].value; + } + } + } catch (e) { + return null; + } + }, + // 设置字典 + setDict(_key, value) { + if (_key !== null && _key !== "") { + this.dict.push({ + key: _key, + value: value + }); + } + }, + // 删除字典 + removeDict(_key) { + var bln = false; + try { + for (let i = 0; i < this.dict.length; i++) { + if (this.dict[i].key == _key) { + this.dict.splice(i, 1); + return true; + } + } + } catch (e) { + bln = false; + } + return bln; + }, + // 清空字典 + cleanDict() { + this.dict = new Array(); + }, + // 初始字典 + initDict() { + } + } + }) + +export default useDictStore diff --git a/src/store/modules/permission.js b/src/store/modules/permission.js new file mode 100644 index 0000000..496a995 --- /dev/null +++ b/src/store/modules/permission.js @@ -0,0 +1,127 @@ +import auth from '@/plugins/auth' +import router, { constantRoutes, dynamicRoutes } from '@/router' +import { getRouters } from '@/api/menu' +import Layout from '@/layout/index' +import ParentView from '@/components/ParentView' +import InnerLink from '@/layout/components/InnerLink' + +// 匹配views里面所有的.vue文件 +const modules = import.meta.glob('./../../views/**/*.vue') + +const usePermissionStore = defineStore( + 'permission', + { + state: () => ({ + routes: [], + addRoutes: [], + defaultRoutes: [], + topbarRouters: [], + sidebarRouters: [] + }), + actions: { + setRoutes(routes) { + this.addRoutes = routes + this.routes = constantRoutes.concat(routes) + }, + setDefaultRoutes(routes) { + this.defaultRoutes = constantRoutes.concat(routes) + }, + setTopbarRoutes(routes) { + this.topbarRouters = routes + }, + setSidebarRouters(routes) { + this.sidebarRouters = routes + }, + generateRoutes(roles) { + return new Promise(resolve => { + // 向后端请求路由数据 + getRouters().then(res => { + const sdata = JSON.parse(JSON.stringify(res.data)) + const rdata = JSON.parse(JSON.stringify(res.data)) + const defaultData = JSON.parse(JSON.stringify(res.data)) + const sidebarRoutes = filterAsyncRouter(sdata) + const rewriteRoutes = filterAsyncRouter(rdata, false, true) + const defaultRoutes = filterAsyncRouter(defaultData) + const asyncRoutes = filterDynamicRoutes(dynamicRoutes) + asyncRoutes.forEach(route => { router.addRoute(route) }) + this.setRoutes(rewriteRoutes) + this.setSidebarRouters(constantRoutes.concat(sidebarRoutes)) + this.setDefaultRoutes(sidebarRoutes) + this.setTopbarRoutes(defaultRoutes) + resolve(rewriteRoutes) + }) + }) + } + } + }) + +// 遍历后台传来的路由字符串,转换为组件对象 +function filterAsyncRouter(asyncRouterMap, lastRouter = false, type = false) { + return asyncRouterMap.filter(route => { + if (type && route.children) { + route.children = filterChildren(route.children) + } + if (route.component) { + // Layout ParentView 组件特殊处理 + if (route.component === 'Layout') { + route.component = Layout + } else if (route.component === 'ParentView') { + route.component = ParentView + } else if (route.component === 'InnerLink') { + route.component = InnerLink + } else { + route.component = loadView(route.component) + } + } + if (route.children != null && route.children && route.children.length) { + route.children = filterAsyncRouter(route.children, route, type) + } else { + delete route['children'] + delete route['redirect'] + } + return true + }) +} + +function filterChildren(childrenMap, lastRouter = false) { + var children = [] + childrenMap.forEach(el => { + el.path = lastRouter ? lastRouter.path + '/' + el.path : el.path + if (el.children && el.children.length && el.component === 'ParentView') { + children = children.concat(filterChildren(el.children, el)) + } else { + children.push(el) + } + }) + return children +} + +// 动态路由遍历,验证是否具备权限 +export function filterDynamicRoutes(routes) { + const res = [] + routes.forEach(route => { + if (route.permissions) { + if (auth.hasPermiOr(route.permissions)) { + res.push(route) + } + } else if (route.roles) { + if (auth.hasRoleOr(route.roles)) { + res.push(route) + } + } + }) + return res +} + +export const loadView = (view) => { + let res; + for (const path in modules) { + const dir = path.split('views/')[1].split('.vue')[0]; + if (dir === view) { + res = () => modules[path](); + } + } + return res +} + +export default usePermissionStore diff --git a/src/store/modules/settings.js b/src/store/modules/settings.js new file mode 100644 index 0000000..194d678 --- /dev/null +++ b/src/store/modules/settings.js @@ -0,0 +1,48 @@ +import defaultSettings from '@/settings' +import { useDark, useToggle } from '@vueuse/core' +import { useDynamicTitle } from '@/utils/dynamicTitle' + +const isDark = useDark() +const toggleDark = useToggle(isDark) + +const { sideTheme, showSettings, topNav, tagsView, fixedHeader, sidebarLogo, dynamicTitle } = defaultSettings + +const storageSetting = JSON.parse(localStorage.getItem('layout-setting')) || '' + +const useSettingsStore = defineStore( + 'settings', + { + state: () => ({ + title: '', + theme: storageSetting.theme || '#409EFF', + sideTheme: storageSetting.sideTheme || sideTheme, + showSettings: showSettings, + topNav: storageSetting.topNav === undefined ? topNav : storageSetting.topNav, + tagsView: storageSetting.tagsView === undefined ? tagsView : storageSetting.tagsView, + fixedHeader: storageSetting.fixedHeader === undefined ? fixedHeader : storageSetting.fixedHeader, + sidebarLogo: storageSetting.sidebarLogo === undefined ? sidebarLogo : storageSetting.sidebarLogo, + dynamicTitle: storageSetting.dynamicTitle === undefined ? dynamicTitle : storageSetting.dynamicTitle, + isDark: isDark.value + }), + actions: { + // 修改布局设置 + changeSetting(data) { + const { key, value } = data + if (this.hasOwnProperty(key)) { + this[key] = value + } + }, + // 设置网页标题 + setTitle(title) { + this.title = title + useDynamicTitle() + }, + // 切换暗黑模式 + toggleTheme() { + this.isDark = !this.isDark + toggleDark() + } + } + }) + +export default useSettingsStore diff --git a/src/store/modules/tagsView.js b/src/store/modules/tagsView.js new file mode 100644 index 0000000..9d07f33 --- /dev/null +++ b/src/store/modules/tagsView.js @@ -0,0 +1,182 @@ +const useTagsViewStore = defineStore( + 'tags-view', + { + state: () => ({ + visitedViews: [], + cachedViews: [], + iframeViews: [] + }), + actions: { + addView(view) { + this.addVisitedView(view) + this.addCachedView(view) + }, + addIframeView(view) { + if (this.iframeViews.some(v => v.path === view.path)) return + this.iframeViews.push( + Object.assign({}, view, { + title: view.meta.title || 'no-name' + }) + ) + }, + addVisitedView(view) { + if (this.visitedViews.some(v => v.path === view.path)) return + this.visitedViews.push( + Object.assign({}, view, { + title: view.meta.title || 'no-name' + }) + ) + }, + addCachedView(view) { + if (this.cachedViews.includes(view.name)) return + if (!view.meta.noCache) { + this.cachedViews.push(view.name) + } + }, + delView(view) { + return new Promise(resolve => { + this.delVisitedView(view) + this.delCachedView(view) + resolve({ + visitedViews: [...this.visitedViews], + cachedViews: [...this.cachedViews] + }) + }) + }, + delVisitedView(view) { + return new Promise(resolve => { + for (const [i, v] of this.visitedViews.entries()) { + if (v.path === view.path) { + this.visitedViews.splice(i, 1) + break + } + } + this.iframeViews = this.iframeViews.filter(item => item.path !== view.path) + resolve([...this.visitedViews]) + }) + }, + delIframeView(view) { + return new Promise(resolve => { + this.iframeViews = this.iframeViews.filter(item => item.path !== view.path) + resolve([...this.iframeViews]) + }) + }, + delCachedView(view) { + return new Promise(resolve => { + const index = this.cachedViews.indexOf(view.name) + index > -1 && this.cachedViews.splice(index, 1) + resolve([...this.cachedViews]) + }) + }, + delOthersViews(view) { + return new Promise(resolve => { + this.delOthersVisitedViews(view) + this.delOthersCachedViews(view) + resolve({ + visitedViews: [...this.visitedViews], + cachedViews: [...this.cachedViews] + }) + }) + }, + delOthersVisitedViews(view) { + return new Promise(resolve => { + this.visitedViews = this.visitedViews.filter(v => { + return v.meta.affix || v.path === view.path + }) + this.iframeViews = this.iframeViews.filter(item => item.path === view.path) + resolve([...this.visitedViews]) + }) + }, + delOthersCachedViews(view) { + return new Promise(resolve => { + const index = this.cachedViews.indexOf(view.name) + if (index > -1) { + this.cachedViews = this.cachedViews.slice(index, index + 1) + } else { + this.cachedViews = [] + } + resolve([...this.cachedViews]) + }) + }, + delAllViews(view) { + return new Promise(resolve => { + this.delAllVisitedViews(view) + this.delAllCachedViews(view) + resolve({ + visitedViews: [...this.visitedViews], + cachedViews: [...this.cachedViews] + }) + }) + }, + delAllVisitedViews(view) { + return new Promise(resolve => { + const affixTags = this.visitedViews.filter(tag => tag.meta.affix) + this.visitedViews = affixTags + this.iframeViews = [] + resolve([...this.visitedViews]) + }) + }, + delAllCachedViews(view) { + return new Promise(resolve => { + this.cachedViews = [] + resolve([...this.cachedViews]) + }) + }, + updateVisitedView(view) { + for (let v of this.visitedViews) { + if (v.path === view.path) { + v = Object.assign(v, view) + break + } + } + }, + delRightTags(view) { + return new Promise(resolve => { + const index = this.visitedViews.findIndex(v => v.path === view.path) + if (index === -1) { + return + } + this.visitedViews = this.visitedViews.filter((item, idx) => { + if (idx <= index || (item.meta && item.meta.affix)) { + return true + } + const i = this.cachedViews.indexOf(item.name) + if (i > -1) { + this.cachedViews.splice(i, 1) + } + if(item.meta.link) { + const fi = this.iframeViews.findIndex(v => v.path === item.path) + this.iframeViews.splice(fi, 1) + } + return false + }) + resolve([...this.visitedViews]) + }) + }, + delLeftTags(view) { + return new Promise(resolve => { + const index = this.visitedViews.findIndex(v => v.path === view.path) + if (index === -1) { + return + } + this.visitedViews = this.visitedViews.filter((item, idx) => { + if (idx >= index || (item.meta && item.meta.affix)) { + return true + } + const i = this.cachedViews.indexOf(item.name) + if (i > -1) { + this.cachedViews.splice(i, 1) + } + if(item.meta.link) { + const fi = this.iframeViews.findIndex(v => v.path === item.path) + this.iframeViews.splice(fi, 1) + } + return false + }) + resolve([...this.visitedViews]) + }) + } + } + }) + +export default useTagsViewStore diff --git a/src/store/modules/user.js b/src/store/modules/user.js new file mode 100644 index 0000000..1e59417 --- /dev/null +++ b/src/store/modules/user.js @@ -0,0 +1,75 @@ +import { login, logout, getInfo } from '@/api/login' +import { getToken, setToken, removeToken } from '@/utils/auth' +import { isHttp, isEmpty } from "@/utils/validate" +import defAva from '@/assets/images/profile.jpg' + +const useUserStore = defineStore( + 'user', + { + state: () => ({ + token: getToken(), + id: '', + name: '', + avatar: '', + roles: [], + permissions: [] + }), + actions: { + // 登录 + login(userInfo) { + const username = userInfo.username.trim() + const password = userInfo.password + const code = userInfo.code + const uuid = userInfo.uuid + return new Promise((resolve, reject) => { + login(username, password, code, uuid).then(res => { + setToken(res.token) + this.token = res.token + resolve() + }).catch(error => { + reject(error) + }) + }) + }, + // 获取用户信息 + getInfo() { + return new Promise((resolve, reject) => { + getInfo().then(res => { + const user = res.user + let avatar = user.avatar || "" + if (!isHttp(avatar)) { + avatar = (isEmpty(avatar)) ? defAva : import.meta.env.VITE_APP_BASE_API + avatar + } + if (res.roles && res.roles.length > 0) { // 验证返回的roles是否是一个非空数组 + this.roles = res.roles + this.permissions = res.permissions + } else { + this.roles = ['ROLE_DEFAULT'] + } + this.id = user.userId + this.name = user.userName + this.avatar = avatar + resolve(res) + }).catch(error => { + reject(error) + }) + }) + }, + // 退出系统 + logOut() { + return new Promise((resolve, reject) => { + logout(this.token).then(() => { + this.token = '' + this.roles = [] + this.permissions = [] + removeToken() + resolve() + }).catch(error => { + reject(error) + }) + }) + } + } + }) + +export default useUserStore diff --git a/src/utils/auth.js b/src/utils/auth.js new file mode 100644 index 0000000..08a43d6 --- /dev/null +++ b/src/utils/auth.js @@ -0,0 +1,15 @@ +import Cookies from 'js-cookie' + +const TokenKey = 'Admin-Token' + +export function getToken() { + return Cookies.get(TokenKey) +} + +export function setToken(token) { + return Cookies.set(TokenKey, token) +} + +export function removeToken() { + return Cookies.remove(TokenKey) +} diff --git a/src/utils/dict.js b/src/utils/dict.js new file mode 100644 index 0000000..9648f14 --- /dev/null +++ b/src/utils/dict.js @@ -0,0 +1,24 @@ +import useDictStore from '@/store/modules/dict' +import { getDicts } from '@/api/system/dict/data' + +/** + * 获取字典数据 + */ +export function useDict(...args) { + const res = ref({}); + return (() => { + args.forEach((dictType, index) => { + res.value[dictType] = []; + const dicts = useDictStore().getDict(dictType); + if (dicts) { + res.value[dictType] = dicts; + } else { + getDicts(dictType).then(resp => { + res.value[dictType] = resp.data.map(p => ({ label: p.dictLabel, value: p.dictValue, elTagType: p.listClass, elTagClass: p.cssClass })) + useDictStore().setDict(dictType, res.value[dictType]); + }) + } + }) + return toRefs(res.value); + })() +} \ No newline at end of file diff --git a/src/utils/dynamicTitle.js b/src/utils/dynamicTitle.js new file mode 100644 index 0000000..64404b2 --- /dev/null +++ b/src/utils/dynamicTitle.js @@ -0,0 +1,15 @@ +import store from '@/store' +import defaultSettings from '@/settings' +import useSettingsStore from '@/store/modules/settings' + +/** + * 动态修改标题 + */ +export function useDynamicTitle() { + const settingsStore = useSettingsStore(); + if (settingsStore.dynamicTitle) { + document.title = settingsStore.title + ' - ' + defaultSettings.title; + } else { + document.title = defaultSettings.title; + } +} \ No newline at end of file diff --git a/src/utils/errorCode.js b/src/utils/errorCode.js new file mode 100644 index 0000000..d2111ee --- /dev/null +++ b/src/utils/errorCode.js @@ -0,0 +1,6 @@ +export default { + '401': '认证失败,无法访问系统资源', + '403': '当前操作没有权限', + '404': '访问资源不存在', + 'default': '系统未知错误,请反馈给管理员' +} diff --git a/src/utils/generator/config.js b/src/utils/generator/config.js new file mode 100644 index 0000000..449715f --- /dev/null +++ b/src/utils/generator/config.js @@ -0,0 +1,452 @@ +export const formConf = { + formRef: 'formRef', + formModel: 'formData', + size: 'default', + labelPosition: 'right', + labelWidth: 100, + formRules: 'rules', + gutter: 15, + disabled: false, + span: 24, + formBtns: true, +} + +export const inputComponents = [ + { + label: '单行文本', + tag: 'el-input', + tagIcon: 'input', + type: 'text', + placeholder: '请输入', + defaultValue: undefined, + span: 24, + labelWidth: null, + style: { width: '100%' }, + clearable: true, + prepend: '', + append: '', + 'prefix-icon': '', + 'suffix-icon': '', + maxlength: null, + 'show-word-limit': false, + readonly: false, + disabled: false, + required: true, + regList: [], + changeTag: true, + document: 'https://element-plus.org/zh-CN/component/input', + }, + { + label: '多行文本', + tag: 'el-input', + tagIcon: 'textarea', + type: 'textarea', + placeholder: '请输入', + defaultValue: undefined, + span: 24, + labelWidth: null, + autosize: { + minRows: 4, + maxRows: 4, + }, + style: { width: '100%' }, + maxlength: null, + 'show-word-limit': false, + readonly: false, + disabled: false, + required: true, + regList: [], + changeTag: true, + document: 'https://element-plus.org/zh-CN/component/input', + }, + { + label: '密码', + tag: 'el-input', + tagIcon: 'password', + type: 'password', + placeholder: '请输入', + defaultValue: undefined, + span: 24, + 'show-password': true, + labelWidth: null, + style: { width: '100%' }, + clearable: true, + prepend: '', + append: '', + 'prefix-icon': '', + 'suffix-icon': '', + maxlength: null, + 'show-word-limit': false, + readonly: false, + disabled: false, + required: true, + regList: [], + changeTag: true, + document: 'https://element-plus.org/zh-CN/component/input', + }, + { + label: '计数器', + tag: 'el-input-number', + tagIcon: 'number', + placeholder: '', + defaultValue: undefined, + span: 24, + labelWidth: null, + min: undefined, + max: undefined, + step: undefined, + 'step-strictly': false, + precision: undefined, + 'controls-position': '', + disabled: false, + required: true, + regList: [], + changeTag: true, + document: 'https://element-plus.org/zh-CN/component/input-number', + }, +] + +export const selectComponents = [ + { + label: '下拉选择', + tag: 'el-select', + tagIcon: 'select', + placeholder: '请选择', + defaultValue: undefined, + span: 24, + labelWidth: null, + style: { width: '100%' }, + clearable: true, + disabled: false, + required: true, + filterable: false, + multiple: false, + options: [ + { + label: '选项一', + value: 1, + }, + { + label: '选项二', + value: 2, + }, + ], + regList: [], + changeTag: true, + document: 'https://element-plus.org/zh-CN/component/select', + }, + { + label: '级联选择', + tag: 'el-cascader', + tagIcon: 'cascader', + placeholder: '请选择', + defaultValue: [], + span: 24, + labelWidth: null, + style: { width: '100%' }, + props: { + props: { + multiple: false, + }, + }, + 'show-all-levels': true, + disabled: false, + clearable: true, + filterable: false, + required: true, + options: [ + { + id: 1, + value: 1, + label: '选项1', + children: [ + { + id: 2, + value: 2, + label: '选项1-1', + }, + ], + }, + ], + dataType: 'dynamic', + labelKey: 'label', + valueKey: 'value', + childrenKey: 'children', + separator: '/', + regList: [], + changeTag: true, + document: 'https://element-plus.org/zh-CN/component/cascader', + }, + { + label: '单选框组', + tag: 'el-radio-group', + tagIcon: 'radio', + defaultValue: 0, + span: 24, + labelWidth: null, + style: {}, + optionType: 'default', + border: false, + size: 'default', + disabled: false, + required: true, + options: [ + { + label: '选项一', + value: 1, + }, + { + label: '选项二', + value: 2, + }, + ], + regList: [], + changeTag: true, + document: 'https://element-plus.org/zh-CN/component/radio', + }, + { + label: '多选框组', + tag: 'el-checkbox-group', + tagIcon: 'checkbox', + defaultValue: [], + span: 24, + labelWidth: null, + style: {}, + optionType: 'default', + border: false, + size: 'default', + disabled: false, + required: true, + options: [ + { + label: '选项一', + value: 1, + }, + { + label: '选项二', + value: 2, + }, + ], + regList: [], + changeTag: true, + document: 'https://element-plus.org/zh-CN/component/checkbox', + }, + { + label: '开关', + tag: 'el-switch', + tagIcon: 'switch', + defaultValue: false, + span: 24, + labelWidth: null, + style: {}, + disabled: false, + required: true, + 'active-text': '', + 'inactive-text': '', + 'active-color': null, + 'inactive-color': null, + 'active-value': true, + 'inactive-value': false, + regList: [], + changeTag: true, + document: 'https://element-plus.org/zh-CN/component/switch', + }, + { + label: '滑块', + tag: 'el-slider', + tagIcon: 'slider', + defaultValue: null, + span: 24, + labelWidth: null, + disabled: false, + required: true, + min: 0, + max: 100, + step: 1, + 'show-stops': false, + range: false, + regList: [], + changeTag: true, + document: 'https://element-plus.org/zh-CN/component/slider', + }, + { + label: '时间选择', + tag: 'el-time-picker', + tagIcon: 'time', + placeholder: '请选择', + defaultValue: '', + span: 24, + labelWidth: null, + style: { width: '100%' }, + disabled: false, + clearable: true, + required: true, + format: 'HH:mm:ss', + 'value-format': 'HH:mm:ss', + regList: [], + changeTag: true, + document: 'https://element-plus.org/zh-CN/component/time-picker', + }, + { + label: '时间范围', + tag: 'el-time-picker', + tagIcon: 'time-range', + defaultValue: null, + span: 24, + labelWidth: null, + style: { width: '100%' }, + disabled: false, + clearable: true, + required: true, + 'is-range': true, + 'range-separator': '至', + 'start-placeholder': '开始时间', + 'end-placeholder': '结束时间', + format: 'HH:mm:ss', + 'value-format': 'HH:mm:ss', + regList: [], + changeTag: true, + document: 'https://element-plus.org/zh-CN/component/time-picker', + }, + { + label: '日期选择', + tag: 'el-date-picker', + tagIcon: 'date', + placeholder: '请选择', + defaultValue: null, + type: 'date', + span: 24, + labelWidth: null, + style: { width: '100%' }, + disabled: false, + clearable: true, + required: true, + format: 'YYYY-MM-DD', + 'value-format': 'YYYY-MM-DD', + readonly: false, + regList: [], + changeTag: true, + document: 'https://element-plus.org/zh-CN/component/date-picker', + }, + { + label: '日期范围', + tag: 'el-date-picker', + tagIcon: 'date-range', + defaultValue: null, + span: 24, + labelWidth: null, + style: { width: '100%' }, + type: 'daterange', + 'range-separator': '至', + 'start-placeholder': '开始日期', + 'end-placeholder': '结束日期', + disabled: false, + clearable: true, + required: true, + format: 'YYYY-MM-DD', + 'value-format': 'YYYY-MM-DD', + readonly: false, + regList: [], + changeTag: true, + document: 'https://element-plus.org/zh-CN/component/date-picker', + }, + { + label: '评分', + tag: 'el-rate', + tagIcon: 'rate', + defaultValue: 0, + span: 24, + labelWidth: null, + style: {}, + max: 5, + 'allow-half': false, + 'show-text': false, + 'show-score': false, + disabled: false, + required: true, + regList: [], + changeTag: true, + document: 'https://element-plus.org/zh-CN/component/rate', + }, + { + label: '颜色选择', + tag: 'el-color-picker', + tagIcon: 'color', + defaultValue: null, + labelWidth: null, + 'show-alpha': false, + 'color-format': '', + disabled: false, + required: true, + size: 'default', + regList: [], + changeTag: true, + document: 'https://element-plus.org/zh-CN/component/color-picker', + }, + { + label: '上传', + tag: 'el-upload', + tagIcon: 'upload', + action: 'https://jsonplaceholder.typicode.com/posts/', + defaultValue: null, + labelWidth: null, + disabled: false, + required: true, + accept: '', + name: 'file', + 'auto-upload': true, + showTip: false, + buttonText: '点击上传', + fileSize: 2, + sizeUnit: 'MB', + 'list-type': 'text', + multiple: false, + regList: [], + changeTag: true, + document: 'https://element-plus.org/zh-CN/component/upload', + tip: '只能上传不超过 2MB 的文件', + style: { width: '100%' }, + }, +] + +export const layoutComponents = [ + { + layout: 'rowFormItem', + tagIcon: 'row', + type: 'default', + justify: 'start', + align: 'top', + label: '行容器', + layoutTree: true, + children: [], + document: 'https://element-plus.org/zh-CN/component/layout', + }, + { + layout: 'colFormItem', + label: '按钮', + changeTag: true, + labelWidth: null, + tag: 'el-button', + tagIcon: 'button', + span: 24, + default: '主要按钮', + type: 'primary', + icon: 'Search', + size: 'default', + disabled: false, + document: 'https://element-plus.org/zh-CN/component/button', + }, +] + +// 组件rule的触发方式,无触发方式的组件不生成rule +export const trigger = { + 'el-input': 'blur', + 'el-input-number': 'blur', + 'el-select': 'change', + 'el-radio-group': 'change', + 'el-checkbox-group': 'change', + 'el-cascader': 'change', + 'el-time-picker': 'change', + 'el-date-picker': 'change', + 'el-rate': 'change', +} diff --git a/src/utils/generator/css.js b/src/utils/generator/css.js new file mode 100644 index 0000000..c1c62e6 --- /dev/null +++ b/src/utils/generator/css.js @@ -0,0 +1,18 @@ +const styles = { + 'el-rate': '.el-rate{display: inline-block; vertical-align: text-top;}', + 'el-upload': '.el-upload__tip{line-height: 1.2;}' +} + +function addCss(cssList, el) { + const css = styles[el.tag] + css && cssList.indexOf(css) === -1 && cssList.push(css) + if (el.children) { + el.children.forEach(el2 => addCss(cssList, el2)) + } +} + +export function makeUpCss(conf) { + const cssList = [] + conf.fields.forEach(el => addCss(cssList, el)) + return cssList.join('\n') +} diff --git a/src/utils/generator/drawingDefalut.js b/src/utils/generator/drawingDefalut.js new file mode 100644 index 0000000..1105c28 --- /dev/null +++ b/src/utils/generator/drawingDefalut.js @@ -0,0 +1,29 @@ +export default [ + { + layout: 'colFormItem', + tagIcon: 'input', + label: '手机号', + vModel: 'mobile', + formId: 6, + tag: 'el-input', + placeholder: '请输入手机号', + defaultValue: '', + span: 24, + style: { width: '100%' }, + clearable: true, + prepend: '', + append: '', + 'prefix-icon': 'Cellphone', + 'suffix-icon': '', + maxlength: 11, + 'show-word-limit': true, + readonly: false, + disabled: false, + required: true, + changeTag: true, + regList: [{ + pattern: '/^1(3|4|5|7|8|9)\\d{9}$/', + message: '手机号格式错误' + }] + } +] diff --git a/src/utils/generator/html.js b/src/utils/generator/html.js new file mode 100644 index 0000000..bf2e40a --- /dev/null +++ b/src/utils/generator/html.js @@ -0,0 +1,359 @@ +/* eslint-disable max-len */ +import { trigger } from './config' + +let confGlobal +let someSpanIsNot24 + +export function dialogWrapper(str) { + return ` + ${str} + + ` +} + +export function vueTemplate(str) { + return `` +} + +export function vueScript(str) { + return `` +} + +export function cssStyle(cssStr) { + return `` +} + +function buildFormTemplate(conf, child, type) { + let labelPosition = '' + if (conf.labelPosition !== 'right') { + labelPosition = `label-position="${conf.labelPosition}"` + } + const disabled = conf.disabled ? `:disabled="${conf.disabled}"` : '' + let str = ` + ${child} + ${buildFromBtns(conf, type)} + ` + if (someSpanIsNot24) { + str = ` + ${str} + ` + } + return str +} + +function buildFromBtns(conf, type) { + let str = '' + if (conf.formBtns && type === 'file') { + str = ` + 提交 + 重置 + ` + if (someSpanIsNot24) { + str = ` + ${str} + ` + } + } + return str +} + +// span不为24的用el-col包裹 +function colWrapper(element, str) { + if (someSpanIsNot24 || element.span !== 24) { + return ` + ${str} + ` + } + return str +} + +const layouts = { + colFormItem(element) { + let labelWidth = '' + if (element.labelWidth && element.labelWidth !== confGlobal.labelWidth) { + labelWidth = `label-width="${element.labelWidth}px"` + } + const required = !trigger[element.tag] && element.required ? 'required' : '' + const tagDom = tags[element.tag] ? tags[element.tag](element) : null + let str = ` + ${tagDom} + ` + str = colWrapper(element, str) + return str + }, + rowFormItem(element) { + const type = element.type === 'default' ? '' : `type="${element.type}"` + const justify = element.type === 'default' ? '' : `justify="${element.justify}"` + const align = element.type === 'default' ? '' : `align="${element.align}"` + const gutter = element.gutter ? `gutter="${element.gutter}"` : '' + const children = element.children.map(el => layouts[el.layout](el)) + let str = ` + ${children.join('\n')} + ` + str = colWrapper(element, str) + return str + } +} + +const tags = { + 'el-button': el => { + const { + tag, disabled + } = attrBuilder(el) + const type = el.type ? `type="${el.type}"` : '' + const icon = el.icon ? `icon="${el.icon}"` : '' + const size = el.size ? `size="${el.size}"` : '' + let child = buildElButtonChild(el) + + if (child) child = `\n${child}\n` // 换行 + return `<${el.tag} ${type} ${icon} ${size} ${disabled}>${child}` + }, + 'el-input': el => { + const { + disabled, vModel, clearable, placeholder, width + } = attrBuilder(el) + const maxlength = el.maxlength ? `:maxlength="${el.maxlength}"` : '' + const showWordLimit = el['show-word-limit'] ? 'show-word-limit' : '' + const readonly = el.readonly ? 'readonly' : '' + const prefixIcon = el['prefix-icon'] ? `prefix-icon='${el['prefix-icon']}'` : '' + const suffixIcon = el['suffix-icon'] ? `suffix-icon='${el['suffix-icon']}'` : '' + const showPassword = el['show-password'] ? 'show-password' : '' + const type = el.type ? `type="${el.type}"` : '' + const autosize = el.autosize && el.autosize.minRows + ? `:autosize="{minRows: ${el.autosize.minRows}, maxRows: ${el.autosize.maxRows}}"` + : '' + let child = buildElInputChild(el) + + if (child) child = `\n${child}\n` // 换行 + return `<${el.tag} ${vModel} ${type} ${placeholder} ${maxlength} ${showWordLimit} ${readonly} ${disabled} ${clearable} ${prefixIcon} ${suffixIcon} ${showPassword} ${autosize} ${width}>${child}` + }, + 'el-input-number': el => { + const { disabled, vModel, placeholder } = attrBuilder(el) + const controlsPosition = el['controls-position'] ? `controls-position=${el['controls-position']}` : '' + const min = el.min ? `:min='${el.min}'` : '' + const max = el.max ? `:max='${el.max}'` : '' + const step = el.step ? `:step='${el.step}'` : '' + const stepStrictly = el['step-strictly'] ? 'step-strictly' : '' + const precision = el.precision ? `:precision='${el.precision}'` : '' + + return `<${el.tag} ${vModel} ${placeholder} ${step} ${stepStrictly} ${precision} ${controlsPosition} ${min} ${max} ${disabled}>` + }, + 'el-select': el => { + const { + disabled, vModel, clearable, placeholder, width + } = attrBuilder(el) + const filterable = el.filterable ? 'filterable' : '' + const multiple = el.multiple ? 'multiple' : '' + let child = buildElSelectChild(el) + + if (child) child = `\n${child}\n` // 换行 + return `<${el.tag} ${vModel} ${placeholder} ${disabled} ${multiple} ${filterable} ${clearable} ${width}>${child}` + }, + 'el-radio-group': el => { + const { disabled, vModel } = attrBuilder(el) + const size = `size="${el.size}"` + let child = buildElRadioGroupChild(el) + + if (child) child = `\n${child}\n` // 换行 + return `<${el.tag} ${vModel} ${size} ${disabled}>${child}` + }, + 'el-checkbox-group': el => { + const { disabled, vModel } = attrBuilder(el) + const size = `size="${el.size}"` + const min = el.min ? `:min="${el.min}"` : '' + const max = el.max ? `:max="${el.max}"` : '' + let child = buildElCheckboxGroupChild(el) + + if (child) child = `\n${child}\n` // 换行 + return `<${el.tag} ${vModel} ${min} ${max} ${size} ${disabled}>${child}` + }, + 'el-switch': el => { + const { disabled, vModel } = attrBuilder(el) + const activeText = el['active-text'] ? `active-text="${el['active-text']}"` : '' + const inactiveText = el['inactive-text'] ? `inactive-text="${el['inactive-text']}"` : '' + const activeColor = el['active-color'] ? `active-color="${el['active-color']}"` : '' + const inactiveColor = el['inactive-color'] ? `inactive-color="${el['inactive-color']}"` : '' + const activeValue = el['active-value'] !== true ? `:active-value='${JSON.stringify(el['active-value'])}'` : '' + const inactiveValue = el['inactive-value'] !== false ? `:inactive-value='${JSON.stringify(el['inactive-value'])}'` : '' + + return `<${el.tag} ${vModel} ${activeText} ${inactiveText} ${activeColor} ${inactiveColor} ${activeValue} ${inactiveValue} ${disabled}>` + }, + 'el-cascader': el => { + const { + disabled, vModel, clearable, placeholder, width + } = attrBuilder(el) + const options = el.options ? `:options="${el.vModel}Options"` : '' + const props = el.props ? `:props="${el.vModel}Props"` : '' + const showAllLevels = el['show-all-levels'] ? '' : ':show-all-levels="false"' + const filterable = el.filterable ? 'filterable' : '' + const separator = el.separator === '/' ? '' : `separator="${el.separator}"` + + return `<${el.tag} ${vModel} ${options} ${props} ${width} ${showAllLevels} ${placeholder} ${separator} ${filterable} ${clearable} ${disabled}>` + }, + 'el-slider': el => { + const { disabled, vModel } = attrBuilder(el) + const min = el.min ? `:min='${el.min}'` : '' + const max = el.max ? `:max='${el.max}'` : '' + const step = el.step ? `:step='${el.step}'` : '' + const range = el.range ? 'range' : '' + const showStops = el['show-stops'] ? `:show-stops="${el['show-stops']}"` : '' + + return `<${el.tag} ${min} ${max} ${step} ${vModel} ${range} ${showStops} ${disabled}>` + }, + 'el-time-picker': el => { + const { + disabled, vModel, clearable, placeholder, width + } = attrBuilder(el) + const startPlaceholder = el['start-placeholder'] ? `start-placeholder="${el['start-placeholder']}"` : '' + const endPlaceholder = el['end-placeholder'] ? `end-placeholder="${el['end-placeholder']}"` : '' + const rangeSeparator = el['range-separator'] ? `range-separator="${el['range-separator']}"` : '' + const isRange = el['is-range'] ? 'is-range' : '' + const format = el.format ? `format="${el.format}"` : '' + const valueFormat = el['value-format'] ? `value-format="${el['value-format']}"` : '' + const pickerOptions = el['picker-options'] ? `:picker-options='${JSON.stringify(el['picker-options'])}'` : '' + + return `<${el.tag} ${vModel} ${isRange} ${format} ${valueFormat} ${pickerOptions} ${width} ${placeholder} ${startPlaceholder} ${endPlaceholder} ${rangeSeparator} ${clearable} ${disabled}>` + }, + 'el-date-picker': el => { + const { + disabled, vModel, clearable, placeholder, width + } = attrBuilder(el) + const startPlaceholder = el['start-placeholder'] ? `start-placeholder="${el['start-placeholder']}"` : '' + const endPlaceholder = el['end-placeholder'] ? `end-placeholder="${el['end-placeholder']}"` : '' + const rangeSeparator = el['range-separator'] ? `range-separator="${el['range-separator']}"` : '' + const format = el.format ? `format="${el.format}"` : '' + const valueFormat = el['value-format'] ? `value-format="${el['value-format']}"` : '' + const type = el.type === 'date' ? '' : `type="${el.type}"` + const readonly = el.readonly ? 'readonly' : '' + + return `<${el.tag} ${type} ${vModel} ${format} ${valueFormat} ${width} ${placeholder} ${startPlaceholder} ${endPlaceholder} ${rangeSeparator} ${clearable} ${readonly} ${disabled}>` + }, + 'el-rate': el => { + const { disabled, vModel } = attrBuilder(el) + const max = el.max ? `:max='${el.max}'` : '' + const allowHalf = el['allow-half'] ? 'allow-half' : '' + const showText = el['show-text'] ? 'show-text' : '' + const showScore = el['show-score'] ? 'show-score' : '' + + return `<${el.tag} ${vModel} ${allowHalf} ${showText} ${showScore} ${disabled}>` + }, + 'el-color-picker': el => { + const { disabled, vModel } = attrBuilder(el) + const size = `size="${el.size}"` + const showAlpha = el['show-alpha'] ? 'show-alpha' : '' + const colorFormat = el['color-format'] ? `color-format="${el['color-format']}"` : '' + + return `<${el.tag} ${vModel} ${size} ${showAlpha} ${colorFormat} ${disabled}>` + }, + 'el-upload': el => { + const disabled = el.disabled ? ':disabled=\'true\'' : '' + const action = el.action ? `:action="${el.vModel}Action"` : '' + const multiple = el.multiple ? 'multiple' : '' + const listType = el['list-type'] !== 'text' ? `list-type="${el['list-type']}"` : '' + const accept = el.accept ? `accept="${el.accept}"` : '' + const name = el.name !== 'file' ? `name="${el.name}"` : '' + const autoUpload = el['auto-upload'] === false ? ':auto-upload="false"' : '' + const beforeUpload = `:before-upload="${el.vModel}BeforeUpload"` + const fileList = `:file-list="${el.vModel}fileList"` + const ref = `ref="${el.vModel}"` + let child = buildElUploadChild(el) + + if (child) child = `\n${child}\n` // 换行 + return `<${el.tag} ${ref} ${fileList} ${action} ${autoUpload} ${multiple} ${beforeUpload} ${listType} ${accept} ${name} ${disabled}>${child}` + } +} + +function attrBuilder(el) { + return { + vModel: `v-model="${confGlobal.formModel}.${el.vModel}"`, + clearable: el.clearable ? 'clearable' : '', + placeholder: el.placeholder ? `placeholder="${el.placeholder}"` : '', + width: el.style && el.style.width ? ':style="{width: \'100%\'}"' : '', + disabled: el.disabled ? ':disabled=\'true\'' : '' + } +} + +// el-buttin 子级 +function buildElButtonChild(conf) { + const children = [] + if (conf.default) { + children.push(conf.default) + } + return children.join('\n') +} + +// el-input innerHTML +function buildElInputChild(conf) { + const children = [] + if (conf.prepend) { + children.push(``) + } + if (conf.append) { + children.push(``) + } + return children.join('\n') +} + +function buildElSelectChild(conf) { + const children = [] + if (conf.options && conf.options.length) { + children.push(``) + } + return children.join('\n') +} + +function buildElRadioGroupChild(conf) { + const children = [] + if (conf.options && conf.options.length) { + const tag = conf.optionType === 'button' ? 'el-radio-button' : 'el-radio' + const border = conf.border ? 'border' : '' + children.push(`<${tag} v-for="(item, index) in ${conf.vModel}Options" :key="index" :label="item.value" :disabled="item.disabled" ${border}>{{item.label}}`) + } + return children.join('\n') +} + +function buildElCheckboxGroupChild(conf) { + const children = [] + if (conf.options && conf.options.length) { + const tag = conf.optionType === 'button' ? 'el-checkbox-button' : 'el-checkbox' + const border = conf.border ? 'border' : '' + children.push(`<${tag} v-for="(item, index) in ${conf.vModel}Options" :key="index" :label="item.value" :disabled="item.disabled" ${border}>{{item.label}}`) + } + return children.join('\n') +} + +function buildElUploadChild(conf) { + const list = [] + if (conf['list-type'] === 'picture-card') list.push('') + else list.push(`${conf.buttonText}`) + if (conf.showTip) list.push(`
只能上传不超过 ${conf.fileSize}${conf.sizeUnit} 的${conf.accept}文件
`) + return list.join('\n') +} + +export function makeUpHtml(conf, type) { + const htmlList = [] + confGlobal = conf + someSpanIsNot24 = conf.fields.some(item => item.span !== 24) + conf.fields.forEach(el => { + htmlList.push(layouts[el.layout](el)) + }) + const htmlStr = htmlList.join('\n') + + let temp = buildFormTemplate(conf, htmlStr, type) + if (type === 'dialog') { + temp = dialogWrapper(temp) + } + confGlobal = null + return temp +} diff --git a/src/utils/generator/icon.json b/src/utils/generator/icon.json new file mode 100644 index 0000000..2d9999a --- /dev/null +++ b/src/utils/generator/icon.json @@ -0,0 +1 @@ +["platform-eleme","eleme","delete-solid","delete","s-tools","setting","user-solid","user","phone","phone-outline","more","more-outline","star-on","star-off","s-goods","goods","warning","warning-outline","question","info","remove","circle-plus","success","error","zoom-in","zoom-out","remove-outline","circle-plus-outline","circle-check","circle-close","s-help","help","minus","plus","check","close","picture","picture-outline","picture-outline-round","upload","upload2","download","camera-solid","camera","video-camera-solid","video-camera","message-solid","bell","s-cooperation","s-order","s-platform","s-fold","s-unfold","s-operation","s-promotion","s-home","s-release","s-ticket","s-management","s-open","s-shop","s-marketing","s-flag","s-comment","s-finance","s-claim","s-custom","s-opportunity","s-data","s-check","s-grid","menu","share","d-caret","caret-left","caret-right","caret-bottom","caret-top","bottom-left","bottom-right","back","right","bottom","top","top-left","top-right","arrow-left","arrow-right","arrow-down","arrow-up","d-arrow-left","d-arrow-right","video-pause","video-play","refresh","refresh-right","refresh-left","finished","sort","sort-up","sort-down","rank","loading","view","c-scale-to-original","date","edit","edit-outline","folder","folder-opened","folder-add","folder-remove","folder-delete","folder-checked","tickets","document-remove","document-delete","document-copy","document-checked","document","document-add","printer","paperclip","takeaway-box","search","monitor","attract","mobile","scissors","umbrella","headset","brush","mouse","coordinate","magic-stick","reading","data-line","data-board","pie-chart","data-analysis","collection-tag","film","suitcase","suitcase-1","receiving","collection","files","notebook-1","notebook-2","toilet-paper","office-building","school","table-lamp","house","no-smoking","smoking","shopping-cart-full","shopping-cart-1","shopping-cart-2","shopping-bag-1","shopping-bag-2","sold-out","sell","present","box","bank-card","money","coin","wallet","discount","price-tag","news","guide","male","female","thumb","cpu","link","connection","open","turn-off","set-up","chat-round","chat-line-round","chat-square","chat-dot-round","chat-dot-square","chat-line-square","message","postcard","position","turn-off-microphone","microphone","close-notification","bangzhu","time","odometer","crop","aim","switch-button","full-screen","copy-document","mic","stopwatch","medal-1","medal","trophy","trophy-1","first-aid-kit","discover","place","location","location-outline","location-information","add-location","delete-location","map-location","alarm-clock","timer","watch-1","watch","lock","unlock","key","service","mobile-phone","bicycle","truck","ship","basketball","football","soccer","baseball","wind-power","light-rain","lightning","heavy-rain","sunrise","sunrise-1","sunset","sunny","cloudy","partly-cloudy","cloudy-and-sunny","moon","moon-night","dish","dish-1","food","chicken","fork-spoon","knife-fork","burger","tableware","sugar","dessert","ice-cream","hot-water","water-cup","coffee-cup","cold-drink","goblet","goblet-full","goblet-square","goblet-square-full","refrigerator","grape","watermelon","cherry","apple","pear","orange","coffee","ice-tea","ice-drink","milk-tea","potato-strips","lollipop","ice-cream-square","ice-cream-round"] \ No newline at end of file diff --git a/src/utils/generator/js.js b/src/utils/generator/js.js new file mode 100644 index 0000000..dc38bfe --- /dev/null +++ b/src/utils/generator/js.js @@ -0,0 +1,370 @@ +import { titleCase } from '@/utils/index' +import { trigger } from './config' +// 文件大小设置 +const units = { + KB: '1024', + MB: '1024 / 1024', + GB: '1024 / 1024 / 1024', +} +/** + * @name: 生成js需要的数据 + * @description: 生成js需要的数据 + * @param {*} conf + * @param {*} type 弹窗或表单 + * @return {*} + */ +export function makeUpJs(conf, type) { + conf = JSON.parse(JSON.stringify(conf)) + const dataList = [] + const ruleList = [] + const optionsList = [] + const propsList = [] + const methodList = [] + const uploadVarList = [] + + conf.fields.forEach((el) => { + buildAttributes( + el, + dataList, + ruleList, + optionsList, + methodList, + propsList, + uploadVarList + ) + }) + + const script = buildexport( + conf, + type, + dataList.join('\n'), + ruleList.join('\n'), + optionsList.join('\n'), + uploadVarList.join('\n'), + propsList.join('\n'), + methodList.join('\n') + ) + + return script +} +/** + * @name: 生成参数 + * @description: 生成参数,包括表单数据表单验证数据,多选选项数据,上传数据等 + * @return {*} + */ +function buildAttributes( + el, + dataList, + ruleList, + optionsList, + methodList, + propsList, + uploadVarList +){ + buildData(el, dataList) + buildRules(el, ruleList) + + if (el.options && el.options.length) { + buildOptions(el, optionsList) + if (el.dataType === 'dynamic') { + const model = `${el.vModel}Options` + const options = titleCase(model) + buildOptionMethod(`get${options}`, model, methodList) + } + } + + if (el.props && el.props.props) { + buildProps(el, propsList) + } + + if (el.action && el.tag === 'el-upload') { + uploadVarList.push( + ` + // 上传请求路径 + const ${el.vModel}Action = ref('${el.action}') + // 上传文件列表 + const ${el.vModel}fileList = ref([])` + ) + methodList.push(buildBeforeUpload(el)) + if (!el['auto-upload']) { + methodList.push(buildSubmitUpload(el)) + } + } + + if (el.children) { + el.children.forEach((el2) => { + buildAttributes( + el2, + dataList, + ruleList, + optionsList, + methodList, + propsList, + uploadVarList + ) + }) + } +} +/** + * @name: 生成表单数据formData + * @description: 生成表单数据formData + * @param {*} conf + * @param {*} dataList 数据列表 + * @return {*} + */ +function buildData(conf, dataList) { + if (conf.vModel === undefined) return + let defaultValue + if (typeof conf.defaultValue === 'string' && !conf.multiple) { + defaultValue = `'${conf.defaultValue}'` + } else { + defaultValue = `${JSON.stringify(conf.defaultValue)}` + } + dataList.push(`${conf.vModel}: ${defaultValue},`) +} +/** + * @name: 生成表单验证数据rule + * @description: 生成表单验证数据rule + * @param {*} conf + * @param {*} ruleList 验证数据列表 + * @return {*} + */ +function buildRules(conf, ruleList) { + if (conf.vModel === undefined) return + const rules = [] + if (trigger[conf.tag]) { + if (conf.required) { + const type = Array.isArray(conf.defaultValue) ? "type: 'array'," : '' + let message = Array.isArray(conf.defaultValue) + ? `请至少选择一个${conf.vModel}` + : conf.placeholder + if (message === undefined) message = `${conf.label}不能为空` + rules.push( + `{ required: true, ${type} message: '${message}', trigger: '${ + trigger[conf.tag] + }' }` + ) + } + if (conf.regList && Array.isArray(conf.regList)) { + conf.regList.forEach((item) => { + if (item.pattern) { + rules.push( + `{ pattern: new RegExp(${item.pattern}), message: '${ + item.message + }', trigger: '${trigger[conf.tag]}' }` + ) + } + }) + } + ruleList.push(`${conf.vModel}: [${rules.join(',')}],`) + } +} +/** + * @name: 生成选项数据 + * @description: 生成选项数据,单选多选下拉等 + * @param {*} conf + * @param {*} optionsList 选项数据列表 + * @return {*} + */ +function buildOptions(conf, optionsList) { + if (conf.vModel === undefined) return + if (conf.dataType === 'dynamic') { + conf.options = [] + } + const str = `const ${conf.vModel}Options = ref(${JSON.stringify(conf.options)})` + optionsList.push(str) +} +/** + * @name: 生成方法 + * @description: 生成方法 + * @param {*} methodName 方法名 + * @param {*} model + * @param {*} methodList 方法列表 + * @return {*} + */ +function buildOptionMethod(methodName, model, methodList) { + const str = `function ${methodName}() { + // TODO 发起请求获取数据 + ${model}.value + }` + methodList.push(str) +} +/** + * @name: 生成表单组件需要的props设置 + * @description: 生成表单组件需要的props设置,如;级联组件 + * @param {*} conf + * @param {*} propsList + * @return {*} + */ +function buildProps(conf, propsList) { + if (conf.dataType === 'dynamic') { + conf.valueKey !== 'value' && (conf.props.props.value = conf.valueKey) + conf.labelKey !== 'label' && (conf.props.props.label = conf.labelKey) + conf.childrenKey !== 'children' && + (conf.props.props.children = conf.childrenKey) + } + const str = ` + // props设置 + const ${conf.vModel}Props = ref(${JSON.stringify(conf.props.props)})` + propsList.push(str) +} +/** + * @name: 生成上传组件的相关内容 + * @description: 生成上传组件的相关内容 + * @param {*} conf + * @return {*} + */ +function buildBeforeUpload(conf) { + const unitNum = units[conf.sizeUnit] + let rightSizeCode = '' + let acceptCode = '' + const returnList = [] + if (conf.fileSize) { + rightSizeCode = `let isRightSize = file.size / ${unitNum} < ${conf.fileSize} + if(!isRightSize){ + proxy.$modal.msgError('文件大小超过 ${conf.fileSize}${conf.sizeUnit}') + }` + returnList.push('isRightSize') + } + if (conf.accept) { + acceptCode = `let isAccept = new RegExp('${conf.accept}').test(file.type) + if(!isAccept){ + proxy.$modal.msgError('应该选择${conf.accept}类型的文件') + }` + returnList.push('isAccept') + } + const str = ` + /** + * @name: 上传之前的文件判断 + * @description: 上传之前的文件判断,判断文件大小文件类型等 + * @param {*} file + * @return {*} + */ + function ${conf.vModel}BeforeUpload(file) { + ${rightSizeCode} + ${acceptCode} + return ${returnList.join('&&')} + }` + return returnList.length ? str : '' +} +/** + * @name: 生成提交表单方法 + * @description: 生成提交表单方法 + * @param {Object} conf vModel 表单ref + * @return {*} + */ +function buildSubmitUpload(conf) { + const str = `function submitUpload() { + this.$refs['${conf.vModel}'].submit() + }` + return str +} +/** + * @name: 组装js代码 + * @description: 组装js代码方法 + * @return {*} + */ +function buildexport( + conf, + type, + data, + rules, + selectOptions, + uploadVar, + props, + methods +) { + let str = ` + const { proxy } = getCurrentInstance() + const ${conf.formRef} = ref() + const data = reactive({ + ${conf.formModel}: { + ${data} + }, + ${conf.formRules}: { + ${rules} + } + }) + + const {${conf.formModel}, ${conf.formRules}} = toRefs(data) + + ${selectOptions} + + ${uploadVar} + + ${props} + + ${methods} + ` + + if(type === 'dialog') { + str += ` + // 弹窗设置 + const dialogVisible = defineModel() + // 弹窗确认回调 + const emit = defineEmits(['confirm']) + /** + * @name: 弹窗打开后执行 + * @description: 弹窗打开后执行方法 + * @return {*} + */ + function onOpen(){ + + } + /** + * @name: 弹窗关闭时执行 + * @description: 弹窗关闭方法,重置表单 + * @return {*} + */ + function onClose(){ + ${conf.formRef}.value.resetFields() + } + /** + * @name: 弹窗取消 + * @description: 弹窗取消方法 + * @return {*} + */ + function close(){ + dialogVisible.value = false + } + /** + * @name: 弹窗表单提交 + * @description: 弹窗表单提交方法 + * @return {*} + */ + function handelConfirm(){ + ${conf.formRef}.value.validate((valid) => { + if (!valid) return + // TODO 提交表单 + + close() + // 回调父级组件 + emit('confirm') + }) + } + ` + } else { + str += ` + /** + * @name: 表单提交 + * @description: 表单提交方法 + * @return {*} + */ + function submitForm() { + ${conf.formRef}.value.validate((valid) => { + if (!valid) return + // TODO 提交表单 + }) + } + /** + * @name: 表单重置 + * @description: 表单重置方法 + * @return {*} + */ + function resetForm() { + ${conf.formRef}.value.resetFields() + } + ` + } + return str +} diff --git a/src/utils/generator/render.js b/src/utils/generator/render.js new file mode 100644 index 0000000..d6d4414 --- /dev/null +++ b/src/utils/generator/render.js @@ -0,0 +1,156 @@ +import { defineComponent, h } from 'vue' +import { makeMap } from '@/utils/index' + +const isAttr = makeMap( + 'accept,accept-charset,accesskey,action,align,alt,async,autocomplete,' + + 'autofocus,autoplay,autosave,bgcolor,border,buffered,challenge,charset,' + + 'checked,cite,class,code,codebase,color,cols,colspan,content,http-equiv,' + + 'name,contenteditable,contextmenu,controls,coords,data,datetime,default,' + + 'defer,dir,dirname,disabled,download,draggable,dropzone,enctype,method,for,' + + 'form,formaction,headers,height,hidden,high,href,hreflang,http-equiv,' + + 'icon,id,ismap,itemprop,keytype,kind,label,lang,language,list,loop,low,' + + 'manifest,max,maxlength,media,method,GET,POST,min,multiple,email,file,' + + 'muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,' + + 'preload,radiogroup,readonly,rel,required,reversed,rows,rowspan,sandbox,' + + 'scope,scoped,seamless,selected,shape,size,type,text,password,sizes,span,' + + 'spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,' + + 'target,title,type,usemap,value,width,wrap' + 'prefix-icon' +) +const isNotProps = makeMap( + 'layout,prepend,regList,tag,document,changeTag,defaultValue' +) + +function useVModel(props, emit) { + return { + modelValue: props.defaultValue, + 'onUpdate:modelValue': (val) => emit('update:modelValue', val), + } +} +const componentChild = { + 'el-button': { + default(h, conf, key) { + return conf[key] + }, + }, + 'el-select': { + options(h, conf, key) { + return conf.options.map(item => h(resolveComponent('el-option'), { + label: item.label, + value: item.value, + })) + } + }, + 'el-radio-group': { + options(h, conf, key) { + return conf.optionType === 'button' ? conf.options.map(item => h(resolveComponent('el-checkbox-button'), { + label: item.value, + }, () => item.label)) : conf.options.map(item => h(resolveComponent('el-radio'), { + label: item.value, + border: conf.border, + }, () => item.label)) + } + }, + 'el-checkbox-group': { + options(h, conf, key) { + return conf.optionType === 'button' ? conf.options.map(item => h(resolveComponent('el-checkbox-button'), { + label: item.value, + }, () => item.label)) : conf.options.map(item => h(resolveComponent('el-checkbox'), { + label: item.value, + border: conf.border, + }, () => item.label)) + } + }, + 'el-upload': { + 'list-type': (h, conf, key) => { + const option = {} + // if (conf.showTip) { + // tip = h('div', { + // class: "el-upload__tip" + // }, () => '只能上传不超过' + conf.fileSize + conf.sizeUnit + '的' + conf.accept + '文件') + // } + if (conf['list-type'] === 'picture-card') { + return h(resolveComponent('el-icon'), option, () => h(resolveComponent('Plus'))) + } else { + // option.size = "small" + option.type = "primary" + option.icon = "Upload" + return h(resolveComponent('el-button'), option, () => conf.buttonText) + } + }, + + } +} +const componentSlot = { + 'el-upload': { + 'tip': (h, conf, key) => { + if (conf.showTip) { + return () => h('div', { + class: "el-upload__tip" + }, '只能上传不超过' + conf.fileSize + conf.sizeUnit + '的' + conf.accept + '文件') + } + }, + } +} +export default defineComponent({ + + // 使用 render 函数 + render() { + const dataObject = { + attrs: {}, + props: {}, + on: {}, + style: {} + } + const confClone = JSON.parse(JSON.stringify(this.conf)) + const children = [] + const slot = {} + const childObjs = componentChild[confClone.tag] + if (childObjs) { + Object.keys(childObjs).forEach(key => { + const childFunc = childObjs[key] + if (confClone[key]) { + children.push(childFunc(h, confClone, key)) + } + }) + } + const slotObjs = componentSlot[confClone.tag] + if (slotObjs) { + Object.keys(slotObjs).forEach(key => { + const childFunc = slotObjs[key] + if (confClone[key]) { + slot[key] = childFunc(h, confClone, key) + } + }) + } + Object.keys(confClone).forEach(key => { + const val = confClone[key] + if (dataObject[key]) { + dataObject[key] = val + } else if (isAttr(key)) { + dataObject.attrs[key] = val + } else if (!isNotProps(key)) { + dataObject.props[key] = val + } + }) + if(children.length > 0){ + slot.default = () => children + } + + return h(resolveComponent(this.conf.tag), + { + modelValue: this.$attrs.modelValue, + ...dataObject.props, + ...dataObject.attrs, + style: { + ...dataObject.style + }, + } + , slot ?? null) + }, + props: { + conf: { + type: Object, + required: true, + }, + } +}) \ No newline at end of file diff --git a/src/utils/index.js b/src/utils/index.js new file mode 100644 index 0000000..4e65504 --- /dev/null +++ b/src/utils/index.js @@ -0,0 +1,390 @@ +import { parseTime } from './ruoyi' + +/** + * 表格时间格式化 + */ +export function formatDate(cellValue) { + if (cellValue == null || cellValue == "") return ""; + var date = new Date(cellValue) + var year = date.getFullYear() + var month = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1 + var day = date.getDate() < 10 ? '0' + date.getDate() : date.getDate() + var hours = date.getHours() < 10 ? '0' + date.getHours() : date.getHours() + var minutes = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes() + var seconds = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds() + return year + '-' + month + '-' + day + ' ' + hours + ':' + minutes + ':' + seconds +} + +/** + * @param {number} time + * @param {string} option + * @returns {string} + */ +export function formatTime(time, option) { + if (('' + time).length === 10) { + time = parseInt(time) * 1000 + } else { + time = +time + } + const d = new Date(time) + const now = Date.now() + + const diff = (now - d) / 1000 + + if (diff < 30) { + return '刚刚' + } else if (diff < 3600) { + // less 1 hour + return Math.ceil(diff / 60) + '分钟前' + } else if (diff < 3600 * 24) { + return Math.ceil(diff / 3600) + '小时前' + } else if (diff < 3600 * 24 * 2) { + return '1天前' + } + if (option) { + return parseTime(time, option) + } else { + return ( + d.getMonth() + + 1 + + '月' + + d.getDate() + + '日' + + d.getHours() + + '时' + + d.getMinutes() + + '分' + ) + } +} + +/** + * @param {string} url + * @returns {Object} + */ +export function getQueryObject(url) { + url = url == null ? window.location.href : url + const search = url.substring(url.lastIndexOf('?') + 1) + const obj = {} + const reg = /([^?&=]+)=([^?&=]*)/g + search.replace(reg, (rs, $1, $2) => { + const name = decodeURIComponent($1) + let val = decodeURIComponent($2) + val = String(val) + obj[name] = val + return rs + }) + return obj +} + +/** + * @param {string} input value + * @returns {number} output value + */ +export function byteLength(str) { + // returns the byte length of an utf8 string + let s = str.length + for (var i = str.length - 1; i >= 0; i--) { + const code = str.charCodeAt(i) + if (code > 0x7f && code <= 0x7ff) s++ + else if (code > 0x7ff && code <= 0xffff) s += 2 + if (code >= 0xDC00 && code <= 0xDFFF) i-- + } + return s +} + +/** + * @param {Array} actual + * @returns {Array} + */ +export function cleanArray(actual) { + const newArray = [] + for (let i = 0; i < actual.length; i++) { + if (actual[i]) { + newArray.push(actual[i]) + } + } + return newArray +} + +/** + * @param {Object} json + * @returns {Array} + */ +export function param(json) { + if (!json) return '' + return cleanArray( + Object.keys(json).map(key => { + if (json[key] === undefined) return '' + return encodeURIComponent(key) + '=' + encodeURIComponent(json[key]) + }) + ).join('&') +} + +/** + * @param {string} url + * @returns {Object} + */ +export function param2Obj(url) { + const search = decodeURIComponent(url.split('?')[1]).replace(/\+/g, ' ') + if (!search) { + return {} + } + const obj = {} + const searchArr = search.split('&') + searchArr.forEach(v => { + const index = v.indexOf('=') + if (index !== -1) { + const name = v.substring(0, index) + const val = v.substring(index + 1, v.length) + obj[name] = val + } + }) + return obj +} + +/** + * @param {string} val + * @returns {string} + */ +export function html2Text(val) { + const div = document.createElement('div') + div.innerHTML = val + return div.textContent || div.innerText +} + +/** + * Merges two objects, giving the last one precedence + * @param {Object} target + * @param {(Object|Array)} source + * @returns {Object} + */ +export function objectMerge(target, source) { + if (typeof target !== 'object') { + target = {} + } + if (Array.isArray(source)) { + return source.slice() + } + Object.keys(source).forEach(property => { + const sourceProperty = source[property] + if (typeof sourceProperty === 'object') { + target[property] = objectMerge(target[property], sourceProperty) + } else { + target[property] = sourceProperty + } + }) + return target +} + +/** + * @param {HTMLElement} element + * @param {string} className + */ +export function toggleClass(element, className) { + if (!element || !className) { + return + } + let classString = element.className + const nameIndex = classString.indexOf(className) + if (nameIndex === -1) { + classString += '' + className + } else { + classString = + classString.substr(0, nameIndex) + + classString.substr(nameIndex + className.length) + } + element.className = classString +} + +/** + * @param {string} type + * @returns {Date} + */ +export function getTime(type) { + if (type === 'start') { + return new Date().getTime() - 3600 * 1000 * 24 * 90 + } else { + return new Date(new Date().toDateString()) + } +} + +/** + * @param {Function} func + * @param {number} wait + * @param {boolean} immediate + * @return {*} + */ +export function debounce(func, wait, immediate) { + let timeout, args, context, timestamp, result + + const later = function() { + // 据上一次触发时间间隔 + const last = +new Date() - timestamp + + // 上次被包装函数被调用时间间隔 last 小于设定时间间隔 wait + if (last < wait && last > 0) { + timeout = setTimeout(later, wait - last) + } else { + timeout = null + // 如果设定为immediate===true,因为开始边界已经调用过了此处无需调用 + if (!immediate) { + result = func.apply(context, args) + if (!timeout) context = args = null + } + } + } + + return function(...args) { + context = this + timestamp = +new Date() + const callNow = immediate && !timeout + // 如果延时不存在,重新设定延时 + if (!timeout) timeout = setTimeout(later, wait) + if (callNow) { + result = func.apply(context, args) + context = args = null + } + + return result + } +} + +/** + * This is just a simple version of deep copy + * Has a lot of edge cases bug + * If you want to use a perfect deep copy, use lodash's _.cloneDeep + * @param {Object} source + * @returns {Object} + */ +export function deepClone(source) { + if (!source && typeof source !== 'object') { + throw new Error('error arguments', 'deepClone') + } + const targetObj = source.constructor === Array ? [] : {} + Object.keys(source).forEach(keys => { + if (source[keys] && typeof source[keys] === 'object') { + targetObj[keys] = deepClone(source[keys]) + } else { + targetObj[keys] = source[keys] + } + }) + return targetObj +} + +/** + * @param {Array} arr + * @returns {Array} + */ +export function uniqueArr(arr) { + return Array.from(new Set(arr)) +} + +/** + * @returns {string} + */ +export function createUniqueString() { + const timestamp = +new Date() + '' + const randomNum = parseInt((1 + Math.random()) * 65536) + '' + return (+(randomNum + timestamp)).toString(32) +} + +/** + * Check if an element has a class + * @param {HTMLElement} elm + * @param {string} cls + * @returns {boolean} + */ +export function hasClass(ele, cls) { + return !!ele.className.match(new RegExp('(\\s|^)' + cls + '(\\s|$)')) +} + +/** + * Add class to element + * @param {HTMLElement} elm + * @param {string} cls + */ +export function addClass(ele, cls) { + if (!hasClass(ele, cls)) ele.className += ' ' + cls +} + +/** + * Remove class from element + * @param {HTMLElement} elm + * @param {string} cls + */ +export function removeClass(ele, cls) { + if (hasClass(ele, cls)) { + const reg = new RegExp('(\\s|^)' + cls + '(\\s|$)') + ele.className = ele.className.replace(reg, ' ') + } +} + +export function makeMap(str, expectsLowerCase) { + const map = Object.create(null) + const list = str.split(',') + for (let i = 0; i < list.length; i++) { + map[list[i]] = true + } + return expectsLowerCase + ? val => map[val.toLowerCase()] + : val => map[val] +} + +export const exportDefault = 'export default ' + +export const beautifierConf = { + html: { + indent_size: '2', + indent_char: ' ', + max_preserve_newlines: '-1', + preserve_newlines: false, + keep_array_indentation: false, + break_chained_methods: false, + indent_scripts: 'separate', + brace_style: 'end-expand', + space_before_conditional: true, + unescape_strings: false, + jslint_happy: false, + end_with_newline: true, + wrap_line_length: '110', + indent_inner_html: true, + comma_first: false, + e4x: true, + indent_empty_lines: true + }, + js: { + indent_size: '2', + indent_char: ' ', + max_preserve_newlines: '-1', + preserve_newlines: false, + keep_array_indentation: false, + break_chained_methods: false, + indent_scripts: 'normal', + brace_style: 'end-expand', + space_before_conditional: true, + unescape_strings: false, + jslint_happy: true, + end_with_newline: true, + wrap_line_length: '110', + indent_inner_html: true, + comma_first: false, + e4x: true, + indent_empty_lines: true + } +} + +// 首字母大小 +export function titleCase(str) { + return str.replace(/( |^)[a-z]/g, L => L.toUpperCase()) +} + +// 下划转驼峰 +export function camelCase(str) { + return str.replace(/_[a-z]/g, str1 => str1.substr(-1).toUpperCase()) +} + +export function isNumberStr(str) { + return /^[+-]?(0|([1-9]\d*))(\.\d+)?$/g.test(str) +} + diff --git a/src/utils/jsencrypt.js b/src/utils/jsencrypt.js new file mode 100644 index 0000000..78d9523 --- /dev/null +++ b/src/utils/jsencrypt.js @@ -0,0 +1,30 @@ +import JSEncrypt from 'jsencrypt/bin/jsencrypt.min' + +// 密钥对生成 http://web.chacuo.net/netrsakeypair + +const publicKey = 'MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKoR8mX0rGKLqzcWmOzbfj64K8ZIgOdH\n' + + 'nzkXSOVOZbFu/TJhZ7rFAN+eaGkl3C4buccQd/EjEsj9ir7ijT7h96MCAwEAAQ==' + +const privateKey = 'MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEAqhHyZfSsYourNxaY\n' + + '7Nt+PrgrxkiA50efORdI5U5lsW79MmFnusUA355oaSXcLhu5xxB38SMSyP2KvuKN\n' + + 'PuH3owIDAQABAkAfoiLyL+Z4lf4Myxk6xUDgLaWGximj20CUf+5BKKnlrK+Ed8gA\n' + + 'kM0HqoTt2UZwA5E2MzS4EI2gjfQhz5X28uqxAiEA3wNFxfrCZlSZHb0gn2zDpWow\n' + + 'cSxQAgiCstxGUoOqlW8CIQDDOerGKH5OmCJ4Z21v+F25WaHYPxCFMvwxpcw99Ecv\n' + + 'DQIgIdhDTIqD2jfYjPTY8Jj3EDGPbH2HHuffvflECt3Ek60CIQCFRlCkHpi7hthh\n' + + 'YhovyloRYsM+IS9h/0BzlEAuO0ktMQIgSPT3aFAgJYwKpqRYKlLDVcflZFCKY7u3\n' + + 'UP8iWi1Qw0Y=' + +// 加密 +export function encrypt(txt) { + const encryptor = new JSEncrypt() + encryptor.setPublicKey(publicKey) // 设置公钥 + return encryptor.encrypt(txt) // 对数据进行加密 +} + +// 解密 +export function decrypt(txt) { + const encryptor = new JSEncrypt() + encryptor.setPrivateKey(privateKey) // 设置私钥 + return encryptor.decrypt(txt) // 对数据进行解密 +} + diff --git a/src/utils/permission.js b/src/utils/permission.js new file mode 100644 index 0000000..93fee87 --- /dev/null +++ b/src/utils/permission.js @@ -0,0 +1,51 @@ +import useUserStore from '@/store/modules/user' + +/** + * 字符权限校验 + * @param {Array} value 校验值 + * @returns {Boolean} + */ +export function checkPermi(value) { + if (value && value instanceof Array && value.length > 0) { + const permissions = useUserStore().permissions + const permissionDatas = value + const all_permission = "*:*:*"; + + const hasPermission = permissions.some(permission => { + return all_permission === permission || permissionDatas.includes(permission) + }) + + if (!hasPermission) { + return false + } + return true + } else { + console.error(`need roles! Like checkPermi="['system:user:add','system:user:edit']"`) + return false + } +} + +/** + * 角色权限校验 + * @param {Array} value 校验值 + * @returns {Boolean} + */ +export function checkRole(value) { + if (value && value instanceof Array && value.length > 0) { + const roles = useUserStore().roles + const permissionRoles = value + const super_admin = "admin"; + + const hasRole = roles.some(role => { + return super_admin === role || permissionRoles.includes(role) + }) + + if (!hasRole) { + return false + } + return true + } else { + console.error(`need roles! Like checkRole="['admin','editor']"`) + return false + } +} \ No newline at end of file diff --git a/src/utils/request.js b/src/utils/request.js new file mode 100644 index 0000000..677eade --- /dev/null +++ b/src/utils/request.js @@ -0,0 +1,152 @@ +import axios from 'axios' +import { ElNotification , ElMessageBox, ElMessage, ElLoading } from 'element-plus' +import { getToken } from '@/utils/auth' +import errorCode from '@/utils/errorCode' +import { tansParams, blobValidate } from '@/utils/ruoyi' +import cache from '@/plugins/cache' +import { saveAs } from 'file-saver' +import useUserStore from '@/store/modules/user' + +let downloadLoadingInstance; +// 是否显示重新登录 +export let isRelogin = { show: false }; + +axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8' +// 创建axios实例 +const service = axios.create({ + // axios中请求配置有baseURL选项,表示请求URL公共部分 + baseURL: import.meta.env.VITE_APP_BASE_API, + // 超时 + timeout: 10000 +}) + +// request拦截器 +service.interceptors.request.use(config => { + // 是否需要设置 token + const isToken = (config.headers || {}).isToken === false + // 是否需要防止数据重复提交 + const isRepeatSubmit = (config.headers || {}).repeatSubmit === false + if (getToken() && !isToken) { + config.headers['Authorization'] = 'Bearer ' + getToken() // 让每个请求携带自定义token 请根据实际情况自行修改 + } + // get请求映射params参数 + if (config.method === 'get' && config.params) { + let url = config.url + '?' + tansParams(config.params); + url = url.slice(0, -1); + config.params = {}; + config.url = url; + } + if (!isRepeatSubmit && (config.method === 'post' || config.method === 'put')) { + const requestObj = { + url: config.url, + data: typeof config.data === 'object' ? JSON.stringify(config.data) : config.data, + time: new Date().getTime() + } + const requestSize = Object.keys(JSON.stringify(requestObj)).length; // 请求数据大小 + const limitSize = 5 * 1024 * 1024; // 限制存放数据5M + if (requestSize >= limitSize) { + console.warn(`[${config.url}]: ` + '请求数据大小超出允许的5M限制,无法进行防重复提交验证。') + return config; + } + const sessionObj = cache.session.getJSON('sessionObj') + if (sessionObj === undefined || sessionObj === null || sessionObj === '') { + cache.session.setJSON('sessionObj', requestObj) + } else { + const s_url = sessionObj.url; // 请求地址 + const s_data = sessionObj.data; // 请求数据 + const s_time = sessionObj.time; // 请求时间 + const interval = 1000; // 间隔时间(ms),小于此时间视为重复提交 + if (s_data === requestObj.data && requestObj.time - s_time < interval && s_url === requestObj.url) { + const message = '数据正在处理,请勿重复提交'; + console.warn(`[${s_url}]: ` + message) + return Promise.reject(new Error(message)) + } else { + cache.session.setJSON('sessionObj', requestObj) + } + } + } + return config +}, error => { + console.log(error) + Promise.reject(error) +}) + +// 响应拦截器 +service.interceptors.response.use(res => { + // 未设置状态码则默认成功状态 + const code = res.data.code || 200; + // 获取错误信息 + const msg = errorCode[code] || res.data.msg || errorCode['default'] + // 二进制数据则直接返回 + if (res.request.responseType === 'blob' || res.request.responseType === 'arraybuffer') { + return res.data + } + if (code === 401) { + if (!isRelogin.show) { + isRelogin.show = true; + ElMessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', { confirmButtonText: '重新登录', cancelButtonText: '取消', type: 'warning' }).then(() => { + isRelogin.show = false; + useUserStore().logOut().then(() => { + location.href = '/index'; + }) + }).catch(() => { + isRelogin.show = false; + }); + } + return Promise.reject('无效的会话,或者会话已过期,请重新登录。') + } else if (code === 500) { + ElMessage({ message: msg, type: 'error' }) + return Promise.reject(new Error(msg)) + } else if (code === 601) { + ElMessage({ message: msg, type: 'warning' }) + return Promise.reject(new Error(msg)) + } else if (code !== 200) { + ElNotification.error({ title: msg }) + return Promise.reject('error') + } else { + return Promise.resolve(res.data) + } + }, + error => { + console.log('err' + error) + let { message } = error; + if (message == "Network Error") { + message = "后端接口连接异常"; + } else if (message.includes("timeout")) { + message = "系统接口请求超时"; + } else if (message.includes("Request failed with status code")) { + message = "系统接口" + message.substr(message.length - 3) + "异常"; + } + ElMessage({ message: message, type: 'error', duration: 10 * 1000 }) + return Promise.reject(error) + } +) + +// 通用下载方法 +export function download(url, params, filename, config) { + downloadLoadingInstance = ElLoading.service({ text: "正在下载数据,请稍候", background: "rgba(0, 0, 0, 0.7)", }) + return service.post(url, params, { + transformRequest: [(params) => { return tansParams(params) }], + headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, + responseType: 'blob', + ...config + }).then(async (data) => { + const isBlob = blobValidate(data); + if (isBlob) { + const blob = new Blob([data]) + saveAs(blob, filename) + } else { + const resText = await data.text(); + const rspObj = JSON.parse(resText); + const errMsg = errorCode[rspObj.code] || rspObj.msg || errorCode['default'] + ElMessage.error(errMsg); + } + downloadLoadingInstance.close(); + }).catch((r) => { + console.error(r) + ElMessage.error('下载文件出现错误,请联系管理员!') + downloadLoadingInstance.close(); + }) +} + +export default service diff --git a/src/utils/ruoyi.js b/src/utils/ruoyi.js new file mode 100644 index 0000000..b5151ab --- /dev/null +++ b/src/utils/ruoyi.js @@ -0,0 +1,228 @@ +/** + * 通用js方法封装处理 + * Copyright (c) 2019 ruoyi + */ + +// 日期格式化 +export function parseTime(time, pattern) { + if (arguments.length === 0 || !time) { + return null + } + const format = pattern || '{y}-{m}-{d} {h}:{i}:{s}' + let date + if (typeof time === 'object') { + date = time + } else { + if ((typeof time === 'string') && (/^[0-9]+$/.test(time))) { + time = parseInt(time) + } else if (typeof time === 'string') { + time = time.replace(new RegExp(/-/gm), '/').replace('T', ' ').replace(new RegExp(/\.[\d]{3}/gm), ''); + } + if ((typeof time === 'number') && (time.toString().length === 10)) { + time = time * 1000 + } + date = new Date(time) + } + const formatObj = { + y: date.getFullYear(), + m: date.getMonth() + 1, + d: date.getDate(), + h: date.getHours(), + i: date.getMinutes(), + s: date.getSeconds(), + a: date.getDay() + } + const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => { + let value = formatObj[key] + // Note: getDay() returns 0 on Sunday + if (key === 'a') { return ['日', '一', '二', '三', '四', '五', '六'][value] } + if (result.length > 0 && value < 10) { + value = '0' + value + } + return value || 0 + }) + return time_str +} + +// 表单重置 +export function resetForm(refName) { + if (this.$refs[refName]) { + this.$refs[refName].resetFields(); + } +} + +// 添加日期范围 +export function addDateRange(params, dateRange, propName) { + let search = params; + search.params = typeof (search.params) === 'object' && search.params !== null && !Array.isArray(search.params) ? search.params : {}; + dateRange = Array.isArray(dateRange) ? dateRange : []; + if (typeof (propName) === 'undefined') { + search.params['beginTime'] = dateRange[0]; + search.params['endTime'] = dateRange[1]; + } else { + search.params[propName[0]] = dateRange[0]; + search.params[propName[1]] = dateRange[1]; + } + return search; +} + +// 回显数据字典 +export function selectDictLabel(datas, value) { + if (value === undefined) { + return ""; + } + var actions = []; + Object.keys(datas).some((key) => { + if (datas[key].value == ('' + value)) { + actions.push(datas[key].label); + return true; + } + }) + if (actions.length === 0) { + actions.push(value); + } + return actions.join(''); +} + +// 回显数据字典(字符串、数组) +export function selectDictLabels(datas, value, separator) { + if (value === undefined || value.length ===0) { + return ""; + } + if (Array.isArray(value)) { + value = value.join(","); + } + var actions = []; + var currentSeparator = undefined === separator ? "," : separator; + var temp = value.split(currentSeparator); + Object.keys(value.split(currentSeparator)).some((val) => { + var match = false; + Object.keys(datas).some((key) => { + if (datas[key].value == ('' + temp[val])) { + actions.push(datas[key].label + currentSeparator); + match = true; + } + }) + if (!match) { + actions.push(temp[val] + currentSeparator); + } + }) + return actions.join('').substring(0, actions.join('').length - 1); +} + +// 字符串格式化(%s ) +export function sprintf(str) { + var args = arguments, flag = true, i = 1; + str = str.replace(/%s/g, function () { + var arg = args[i++]; + if (typeof arg === 'undefined') { + flag = false; + return ''; + } + return arg; + }); + return flag ? str : ''; +} + +// 转换字符串,undefined,null等转化为"" +export function parseStrEmpty(str) { + if (!str || str == "undefined" || str == "null") { + return ""; + } + return str; +} + +// 数据合并 +export function mergeRecursive(source, target) { + for (var p in target) { + try { + if (target[p].constructor == Object) { + source[p] = mergeRecursive(source[p], target[p]); + } else { + source[p] = target[p]; + } + } catch (e) { + source[p] = target[p]; + } + } + return source; +}; + +/** + * 构造树型结构数据 + * @param {*} data 数据源 + * @param {*} id id字段 默认 'id' + * @param {*} parentId 父节点字段 默认 'parentId' + * @param {*} children 孩子节点字段 默认 'children' + */ +export function handleTree(data, id, parentId, children) { + let config = { + id: id || 'id', + parentId: parentId || 'parentId', + childrenList: children || 'children' + }; + + var childrenListMap = {}; + var tree = []; + for (let d of data) { + let id = d[config.id]; + childrenListMap[id] = d; + if (!d[config.childrenList]) { + d[config.childrenList] = []; + } + } + + for (let d of data) { + let parentId = d[config.parentId] + let parentObj = childrenListMap[parentId] + if (!parentObj) { + tree.push(d); + } else { + parentObj[config.childrenList].push(d) + } + } + return tree; +} + +/** +* 参数处理 +* @param {*} params 参数 +*/ +export function tansParams(params) { + let result = '' + for (const propName of Object.keys(params)) { + const value = params[propName]; + var part = encodeURIComponent(propName) + "="; + if (value !== null && value !== "" && typeof (value) !== "undefined") { + if (typeof value === 'object') { + for (const key of Object.keys(value)) { + if (value[key] !== null && value[key] !== "" && typeof (value[key]) !== 'undefined') { + let params = propName + '[' + key + ']'; + var subPart = encodeURIComponent(params) + "="; + result += subPart + encodeURIComponent(value[key]) + "&"; + } + } + } else { + result += part + encodeURIComponent(value) + "&"; + } + } + } + return result +} + +// 返回项目路径 +export function getNormalPath(p) { + if (p.length === 0 || !p || p == 'undefined') { + return p + }; + let res = p.replace('//', '/') + if (res[res.length - 1] === '/') { + return res.slice(0, res.length - 1) + } + return res +} + +// 验证是否为blob格式 +export function blobValidate(data) { + return data.type !== 'application/json' +} diff --git a/src/utils/scroll-to.js b/src/utils/scroll-to.js new file mode 100644 index 0000000..c5d8e04 --- /dev/null +++ b/src/utils/scroll-to.js @@ -0,0 +1,58 @@ +Math.easeInOutQuad = function(t, b, c, d) { + t /= d / 2 + if (t < 1) { + return c / 2 * t * t + b + } + t-- + return -c / 2 * (t * (t - 2) - 1) + b +} + +// requestAnimationFrame for Smart Animating http://goo.gl/sx5sts +var requestAnimFrame = (function() { + return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || function(callback) { window.setTimeout(callback, 1000 / 60) } +})() + +/** + * Because it's so fucking difficult to detect the scrolling element, just move them all + * @param {number} amount + */ +function move(amount) { + document.documentElement.scrollTop = amount + document.body.parentNode.scrollTop = amount + document.body.scrollTop = amount +} + +function position() { + return document.documentElement.scrollTop || document.body.parentNode.scrollTop || document.body.scrollTop +} + +/** + * @param {number} to + * @param {number} duration + * @param {Function} callback + */ +export function scrollTo(to, duration, callback) { + const start = position() + const change = to - start + const increment = 20 + let currentTime = 0 + duration = (typeof (duration) === 'undefined') ? 500 : duration + var animateScroll = function() { + // increment the time + currentTime += increment + // find the value with the quadratic in-out easing function + var val = Math.easeInOutQuad(currentTime, start, change, duration) + // move the document.body + move(val) + // do the animation unless its over + if (currentTime < duration) { + requestAnimFrame(animateScroll) + } else { + if (callback && typeof (callback) === 'function') { + // the animation is done so lets callback + callback() + } + } + } + animateScroll() +} diff --git a/src/utils/theme.js b/src/utils/theme.js new file mode 100644 index 0000000..f4badc6 --- /dev/null +++ b/src/utils/theme.js @@ -0,0 +1,49 @@ +// 处理主题样式 +export function handleThemeStyle(theme) { + document.documentElement.style.setProperty('--el-color-primary', theme) + for (let i = 1; i <= 9; i++) { + document.documentElement.style.setProperty(`--el-color-primary-light-${i}`, `${getLightColor(theme, i / 10)}`) + } + for (let i = 1; i <= 9; i++) { + document.documentElement.style.setProperty(`--el-color-primary-dark-${i}`, `${getDarkColor(theme, i / 10)}`) + } +} + +// hex颜色转rgb颜色 +export function hexToRgb(str) { + str = str.replace('#', '') + let hexs = str.match(/../g) + for (let i = 0; i < 3; i++) { + hexs[i] = parseInt(hexs[i], 16) + } + return hexs +} + +// rgb颜色转Hex颜色 +export function rgbToHex(r, g, b) { + let hexs = [r.toString(16), g.toString(16), b.toString(16)] + for (let i = 0; i < 3; i++) { + if (hexs[i].length == 1) { + hexs[i] = `0${hexs[i]}` + } + } + return `#${hexs.join('')}` +} + +// 变浅颜色值 +export function getLightColor(color, level) { + let rgb = hexToRgb(color) + for (let i = 0; i < 3; i++) { + rgb[i] = Math.floor((255 - rgb[i]) * level + rgb[i]) + } + return rgbToHex(rgb[0], rgb[1], rgb[2]) +} + +// 变深颜色值 +export function getDarkColor(color, level) { + let rgb = hexToRgb(color) + for (let i = 0; i < 3; i++) { + rgb[i] = Math.floor(rgb[i] * (1 - level)) + } + return rgbToHex(rgb[0], rgb[1], rgb[2]) +} diff --git a/src/utils/validate.js b/src/utils/validate.js new file mode 100644 index 0000000..6a4c0c5 --- /dev/null +++ b/src/utils/validate.js @@ -0,0 +1,114 @@ +/** + * 路径匹配器 + * @param {string} pattern + * @param {string} path + * @returns {Boolean} + */ +export function isPathMatch(pattern, path) { + const regexPattern = pattern.replace(/\//g, '\\/').replace(/\*\*/g, '.*').replace(/\*/g, '[^\\/]*') + const regex = new RegExp(`^${regexPattern}$`) + return regex.test(path) +} + +/** + * 判断value字符串是否为空 + * @param {string} value + * @returns {Boolean} + */ +export function isEmpty(value) { + if (value == null || value == "" || value == undefined || value == "undefined") { + return true + } + return false +} + +/** + * 判断url是否是http或https + * @param {string} url + * @returns {Boolean} + */ +export function isHttp(url) { + return url.indexOf('http://') !== -1 || url.indexOf('https://') !== -1 +} + +/** + * 判断path是否为外链 + * @param {string} path + * @returns {Boolean} + */ +export function isExternal(path) { + return /^(https?:|mailto:|tel:)/.test(path) +} + +/** + * @param {string} str + * @returns {Boolean} + */ +export function validUsername(str) { + const valid_map = ['admin', 'editor'] + return valid_map.indexOf(str.trim()) >= 0 +} + +/** + * @param {string} url + * @returns {Boolean} + */ +export function validURL(url) { + const reg = /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/ + return reg.test(url) +} + +/** + * @param {string} str + * @returns {Boolean} + */ +export function validLowerCase(str) { + const reg = /^[a-z]+$/ + return reg.test(str) +} + +/** + * @param {string} str + * @returns {Boolean} + */ +export function validUpperCase(str) { + const reg = /^[A-Z]+$/ + return reg.test(str) +} + +/** + * @param {string} str + * @returns {Boolean} + */ +export function validAlphabets(str) { + const reg = /^[A-Za-z]+$/ + return reg.test(str) +} + +/** + * @param {string} email + * @returns {Boolean} + */ +export function validEmail(email) { + const reg = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ + return reg.test(email) +} + +/** + * @param {string} str + * @returns {Boolean} + */ +export function isString(str) { + return typeof str === 'string' || str instanceof String +} + +/** + * @param {Array} arg + * @returns {Boolean} + */ +export function isArray(arg) { + if (typeof Array.isArray === 'undefined') { + return Object.prototype.toString.call(arg) === '[object Array]' + } + return Array.isArray(arg) +} diff --git a/src/views/basic/profitSharing/index.vue b/src/views/basic/profitSharing/index.vue new file mode 100644 index 0000000..4c73fab --- /dev/null +++ b/src/views/basic/profitSharing/index.vue @@ -0,0 +1,234 @@ + + + + diff --git a/src/views/basic/report/index.vue b/src/views/basic/report/index.vue new file mode 100644 index 0000000..b2d787b --- /dev/null +++ b/src/views/basic/report/index.vue @@ -0,0 +1,232 @@ + + + + + diff --git a/src/views/basic/screenTitle/index.vue b/src/views/basic/screenTitle/index.vue new file mode 100644 index 0000000..e890649 --- /dev/null +++ b/src/views/basic/screenTitle/index.vue @@ -0,0 +1,140 @@ + + + diff --git a/src/views/basic/sharingRecord/index.vue b/src/views/basic/sharingRecord/index.vue new file mode 100644 index 0000000..9e89454 --- /dev/null +++ b/src/views/basic/sharingRecord/index.vue @@ -0,0 +1,326 @@ + + + diff --git a/src/views/basic/sharingUser/index.vue b/src/views/basic/sharingUser/index.vue new file mode 100644 index 0000000..76873b3 --- /dev/null +++ b/src/views/basic/sharingUser/index.vue @@ -0,0 +1,274 @@ + + + diff --git a/src/views/basic/tel/index.vue b/src/views/basic/tel/index.vue new file mode 100644 index 0000000..8cbb755 --- /dev/null +++ b/src/views/basic/tel/index.vue @@ -0,0 +1,201 @@ + + + diff --git a/src/views/basic/userBind/components/AlarmSettingDialog.vue b/src/views/basic/userBind/components/AlarmSettingDialog.vue new file mode 100644 index 0000000..1a876cf --- /dev/null +++ b/src/views/basic/userBind/components/AlarmSettingDialog.vue @@ -0,0 +1,89 @@ + + + + + diff --git a/src/views/basic/userBind/components/CompareLineChart.vue b/src/views/basic/userBind/components/CompareLineChart.vue new file mode 100644 index 0000000..9af6815 --- /dev/null +++ b/src/views/basic/userBind/components/CompareLineChart.vue @@ -0,0 +1,198 @@ + + + diff --git a/src/views/basic/userBind/components/ControlDialog.vue b/src/views/basic/userBind/components/ControlDialog.vue new file mode 100644 index 0000000..fbfee1e --- /dev/null +++ b/src/views/basic/userBind/components/ControlDialog.vue @@ -0,0 +1,112 @@ + + + + + diff --git a/src/views/basic/userBind/components/DeviceDataDialog.vue b/src/views/basic/userBind/components/DeviceDataDialog.vue new file mode 100644 index 0000000..0a69f70 --- /dev/null +++ b/src/views/basic/userBind/components/DeviceDataDialog.vue @@ -0,0 +1,162 @@ + + + + + diff --git a/src/views/basic/userBind/components/WarnListDialog.vue b/src/views/basic/userBind/components/WarnListDialog.vue new file mode 100644 index 0000000..e77c685 --- /dev/null +++ b/src/views/basic/userBind/components/WarnListDialog.vue @@ -0,0 +1,61 @@ + + + + + diff --git a/src/views/basic/userBind/index.vue b/src/views/basic/userBind/index.vue new file mode 100644 index 0000000..4dc9598 --- /dev/null +++ b/src/views/basic/userBind/index.vue @@ -0,0 +1,258 @@ + + + diff --git a/src/views/basic/withdraw/index.vue b/src/views/basic/withdraw/index.vue new file mode 100644 index 0000000..16990c4 --- /dev/null +++ b/src/views/basic/withdraw/index.vue @@ -0,0 +1,244 @@ + + + + diff --git a/src/views/error/401.vue b/src/views/error/401.vue new file mode 100644 index 0000000..1ba3792 --- /dev/null +++ b/src/views/error/401.vue @@ -0,0 +1,82 @@ + + + + + diff --git a/src/views/error/404.vue b/src/views/error/404.vue new file mode 100644 index 0000000..f205303 --- /dev/null +++ b/src/views/error/404.vue @@ -0,0 +1,227 @@ + + + + + diff --git a/src/views/index.vue b/src/views/index.vue new file mode 100644 index 0000000..b3679fa --- /dev/null +++ b/src/views/index.vue @@ -0,0 +1,17 @@ + + + + + diff --git a/src/views/login.vue b/src/views/login.vue new file mode 100644 index 0000000..aa63df8 --- /dev/null +++ b/src/views/login.vue @@ -0,0 +1,199 @@ + + + + + diff --git a/src/views/monitor/cache/index.vue b/src/views/monitor/cache/index.vue new file mode 100644 index 0000000..8926445 --- /dev/null +++ b/src/views/monitor/cache/index.vue @@ -0,0 +1,132 @@ + + + diff --git a/src/views/monitor/cache/list.vue b/src/views/monitor/cache/list.vue new file mode 100644 index 0000000..1696f3a --- /dev/null +++ b/src/views/monitor/cache/list.vue @@ -0,0 +1,246 @@ + + + diff --git a/src/views/monitor/druid/index.vue b/src/views/monitor/druid/index.vue new file mode 100644 index 0000000..13736ec --- /dev/null +++ b/src/views/monitor/druid/index.vue @@ -0,0 +1,13 @@ + + + diff --git a/src/views/monitor/job/index.vue b/src/views/monitor/job/index.vue new file mode 100644 index 0000000..c514839 --- /dev/null +++ b/src/views/monitor/job/index.vue @@ -0,0 +1,501 @@ + + + diff --git a/src/views/monitor/job/log.vue b/src/views/monitor/job/log.vue new file mode 100644 index 0000000..6823883 --- /dev/null +++ b/src/views/monitor/job/log.vue @@ -0,0 +1,283 @@ + + + diff --git a/src/views/monitor/logininfor/index.vue b/src/views/monitor/logininfor/index.vue new file mode 100644 index 0000000..09c5642 --- /dev/null +++ b/src/views/monitor/logininfor/index.vue @@ -0,0 +1,233 @@ + + + diff --git a/src/views/monitor/online/index.vue b/src/views/monitor/online/index.vue new file mode 100644 index 0000000..9481959 --- /dev/null +++ b/src/views/monitor/online/index.vue @@ -0,0 +1,109 @@ + + + diff --git a/src/views/monitor/operlog/index.vue b/src/views/monitor/operlog/index.vue new file mode 100644 index 0000000..3f2ea94 --- /dev/null +++ b/src/views/monitor/operlog/index.vue @@ -0,0 +1,310 @@ + + + diff --git a/src/views/monitor/server/index.vue b/src/views/monitor/server/index.vue new file mode 100644 index 0000000..8ea8523 --- /dev/null +++ b/src/views/monitor/server/index.vue @@ -0,0 +1,187 @@ + + + diff --git a/src/views/redirect/index.vue b/src/views/redirect/index.vue new file mode 100644 index 0000000..a469960 --- /dev/null +++ b/src/views/redirect/index.vue @@ -0,0 +1,14 @@ + + + \ No newline at end of file diff --git a/src/views/register.vue b/src/views/register.vue new file mode 100644 index 0000000..457bba9 --- /dev/null +++ b/src/views/register.vue @@ -0,0 +1,220 @@ + + + + + diff --git a/src/views/system/config/index.vue b/src/views/system/config/index.vue new file mode 100644 index 0000000..2945fea --- /dev/null +++ b/src/views/system/config/index.vue @@ -0,0 +1,316 @@ + + + diff --git a/src/views/system/dept/index.vue b/src/views/system/dept/index.vue new file mode 100644 index 0000000..b356179 --- /dev/null +++ b/src/views/system/dept/index.vue @@ -0,0 +1,283 @@ + + + diff --git a/src/views/system/dict/data.vue b/src/views/system/dict/data.vue new file mode 100644 index 0000000..9dc8eaf --- /dev/null +++ b/src/views/system/dict/data.vue @@ -0,0 +1,362 @@ + + + diff --git a/src/views/system/dict/index.vue b/src/views/system/dict/index.vue new file mode 100644 index 0000000..8f87966 --- /dev/null +++ b/src/views/system/dict/index.vue @@ -0,0 +1,323 @@ + + + diff --git a/src/views/system/menu/index.vue b/src/views/system/menu/index.vue new file mode 100644 index 0000000..6cd0a93 --- /dev/null +++ b/src/views/system/menu/index.vue @@ -0,0 +1,452 @@ + + + diff --git a/src/views/system/notice/index.vue b/src/views/system/notice/index.vue new file mode 100644 index 0000000..b009d7c --- /dev/null +++ b/src/views/system/notice/index.vue @@ -0,0 +1,292 @@ + + + diff --git a/src/views/system/post/index.vue b/src/views/system/post/index.vue new file mode 100644 index 0000000..045ed41 --- /dev/null +++ b/src/views/system/post/index.vue @@ -0,0 +1,287 @@ + + + diff --git a/src/views/system/role/authUser.vue b/src/views/system/role/authUser.vue new file mode 100644 index 0000000..5bc3404 --- /dev/null +++ b/src/views/system/role/authUser.vue @@ -0,0 +1,179 @@ + + + + diff --git a/src/views/system/role/index.vue b/src/views/system/role/index.vue new file mode 100644 index 0000000..df624d3 --- /dev/null +++ b/src/views/system/role/index.vue @@ -0,0 +1,584 @@ + + + diff --git a/src/views/system/role/selectUser.vue b/src/views/system/role/selectUser.vue new file mode 100644 index 0000000..6e61b4c --- /dev/null +++ b/src/views/system/role/selectUser.vue @@ -0,0 +1,144 @@ + + + diff --git a/src/views/system/user/authRole.vue b/src/views/system/user/authRole.vue new file mode 100644 index 0000000..7555cac --- /dev/null +++ b/src/views/system/user/authRole.vue @@ -0,0 +1,116 @@ + + + diff --git a/src/views/system/user/components/ProfileSharingUserDialog.vue b/src/views/system/user/components/ProfileSharingUserDialog.vue new file mode 100644 index 0000000..06d885e --- /dev/null +++ b/src/views/system/user/components/ProfileSharingUserDialog.vue @@ -0,0 +1,166 @@ + + + + + diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue new file mode 100644 index 0000000..41fe89f --- /dev/null +++ b/src/views/system/user/index.vue @@ -0,0 +1,593 @@ + + + diff --git a/src/views/system/user/profile/index.vue b/src/views/system/user/profile/index.vue new file mode 100644 index 0000000..810da9c --- /dev/null +++ b/src/views/system/user/profile/index.vue @@ -0,0 +1,99 @@ + + + diff --git a/src/views/system/user/profile/profileSharing.vue b/src/views/system/user/profile/profileSharing.vue new file mode 100644 index 0000000..4a2ade6 --- /dev/null +++ b/src/views/system/user/profile/profileSharing.vue @@ -0,0 +1,74 @@ + + + diff --git a/src/views/system/user/profile/resetPwd.vue b/src/views/system/user/profile/resetPwd.vue new file mode 100644 index 0000000..bb24d71 --- /dev/null +++ b/src/views/system/user/profile/resetPwd.vue @@ -0,0 +1,66 @@ + + + diff --git a/src/views/system/user/profile/userAvatar.vue b/src/views/system/user/profile/userAvatar.vue new file mode 100644 index 0000000..a375576 --- /dev/null +++ b/src/views/system/user/profile/userAvatar.vue @@ -0,0 +1,180 @@ + + + + + \ No newline at end of file diff --git a/src/views/system/user/profile/userInfo.vue b/src/views/system/user/profile/userInfo.vue new file mode 100644 index 0000000..ac7d81e --- /dev/null +++ b/src/views/system/user/profile/userInfo.vue @@ -0,0 +1,67 @@ + + + diff --git a/src/views/tool/build/CodeTypeDialog.vue b/src/views/tool/build/CodeTypeDialog.vue new file mode 100644 index 0000000..de0beb7 --- /dev/null +++ b/src/views/tool/build/CodeTypeDialog.vue @@ -0,0 +1,71 @@ + + + \ No newline at end of file diff --git a/src/views/tool/build/DraggableItem.vue b/src/views/tool/build/DraggableItem.vue new file mode 100644 index 0000000..927aafb --- /dev/null +++ b/src/views/tool/build/DraggableItem.vue @@ -0,0 +1,68 @@ + + \ No newline at end of file diff --git a/src/views/tool/build/IconsDialog.vue b/src/views/tool/build/IconsDialog.vue new file mode 100644 index 0000000..98d9c13 --- /dev/null +++ b/src/views/tool/build/IconsDialog.vue @@ -0,0 +1,115 @@ + + + diff --git a/src/views/tool/build/RightPanel.vue b/src/views/tool/build/RightPanel.vue new file mode 100644 index 0000000..9729da3 --- /dev/null +++ b/src/views/tool/build/RightPanel.vue @@ -0,0 +1,918 @@ + + + + + \ No newline at end of file diff --git a/src/views/tool/build/TreeNodeDialog.vue b/src/views/tool/build/TreeNodeDialog.vue new file mode 100644 index 0000000..372d3af --- /dev/null +++ b/src/views/tool/build/TreeNodeDialog.vue @@ -0,0 +1,93 @@ + + diff --git a/src/views/tool/build/index.vue b/src/views/tool/build/index.vue new file mode 100644 index 0000000..e630740 --- /dev/null +++ b/src/views/tool/build/index.vue @@ -0,0 +1,653 @@ + + + + + diff --git a/src/views/tool/gen/basicInfoForm.vue b/src/views/tool/gen/basicInfoForm.vue new file mode 100644 index 0000000..39c8515 --- /dev/null +++ b/src/views/tool/gen/basicInfoForm.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/views/tool/gen/createTable.vue b/src/views/tool/gen/createTable.vue new file mode 100644 index 0000000..00fdfdb --- /dev/null +++ b/src/views/tool/gen/createTable.vue @@ -0,0 +1,46 @@ + + + diff --git a/src/views/tool/gen/editTable.vue b/src/views/tool/gen/editTable.vue new file mode 100644 index 0000000..5d22780 --- /dev/null +++ b/src/views/tool/gen/editTable.vue @@ -0,0 +1,200 @@ + + + diff --git a/src/views/tool/gen/genInfoForm.vue b/src/views/tool/gen/genInfoForm.vue new file mode 100644 index 0000000..e5189c5 --- /dev/null +++ b/src/views/tool/gen/genInfoForm.vue @@ -0,0 +1,306 @@ + + + diff --git a/src/views/tool/gen/importTable.vue b/src/views/tool/gen/importTable.vue new file mode 100644 index 0000000..d0115c4 --- /dev/null +++ b/src/views/tool/gen/importTable.vue @@ -0,0 +1,126 @@ + + + diff --git a/src/views/tool/gen/index.vue b/src/views/tool/gen/index.vue new file mode 100644 index 0000000..32843b3 --- /dev/null +++ b/src/views/tool/gen/index.vue @@ -0,0 +1,306 @@ + + + diff --git a/src/views/tool/swagger/index.vue b/src/views/tool/swagger/index.vue new file mode 100644 index 0000000..a3b03bb --- /dev/null +++ b/src/views/tool/swagger/index.vue @@ -0,0 +1,9 @@ + + + diff --git a/vite.config.js b/vite.config.js new file mode 100644 index 0000000..1882be6 --- /dev/null +++ b/vite.config.js @@ -0,0 +1,63 @@ +import { defineConfig, loadEnv } from 'vite' +import path from 'path' +import createVitePlugins from './vite/plugins' + +// https://vitejs.dev/config/ +export default defineConfig(({ mode, command }) => { + const env = loadEnv(mode, process.cwd()) + const { VITE_APP_ENV } = env + return { + // 部署生产环境和开发环境下的URL。 + // 默认情况下,vite 会假设你的应用是被部署在一个域名的根路径上 + // 例如 https://www.ruoyi.vip/。如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。例如,如果你的应用被部署在 https://www.ruoyi.vip/admin/,则设置 baseUrl 为 /admin/。 + base: VITE_APP_ENV === 'production' ? '/' : '/', + plugins: createVitePlugins(env, command === 'build'), + resolve: { + // https://cn.vitejs.dev/config/#resolve-alias + alias: { + // 设置路径 + '~': path.resolve(__dirname, './'), + // 设置别名 + '@': path.resolve(__dirname, './src') + }, + // https://cn.vitejs.dev/config/#resolve-extensions + extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json', '.vue'] + }, + // vite 相关配置 + server: { + port: 80, + host: true, + open: true, + proxy: { + // https://cn.vitejs.dev/config/#server-proxy + '/dev-api': { + target: 'http://127.0.0.1:8080/equipment/', + changeOrigin: true, + rewrite: (p) => p.replace(/^\/dev-api/, '') + }, + '/prod-api': { + target: 'http://120.55.45.55:7002/equipment/', + changeOrigin: true, + rewrite: (p) => p.replace(/^\/prod-api/, '') + } + } + }, + //fix:error:stdin>:7356:1: warning: "@charset" must be the first rule in the file + css: { + postcss: { + plugins: [ + { + postcssPlugin: 'internal:charset-removal', + AtRule: { + charset: (atRule) => { + if (atRule.name === 'charset') { + atRule.remove(); + } + } + } + } + ] + } + } + } +}) diff --git a/vite/plugins/auto-import.js b/vite/plugins/auto-import.js new file mode 100644 index 0000000..a5d3576 --- /dev/null +++ b/vite/plugins/auto-import.js @@ -0,0 +1,12 @@ +import autoImport from 'unplugin-auto-import/vite' + +export default function createAutoImport() { + return autoImport({ + imports: [ + 'vue', + 'vue-router', + 'pinia' + ], + dts: false + }) +} diff --git a/vite/plugins/compression.js b/vite/plugins/compression.js new file mode 100644 index 0000000..e90aaec --- /dev/null +++ b/vite/plugins/compression.js @@ -0,0 +1,28 @@ +import compression from 'vite-plugin-compression' + +export default function createCompression(env) { + const { VITE_BUILD_COMPRESS } = env + const plugin = [] + if (VITE_BUILD_COMPRESS) { + const compressList = VITE_BUILD_COMPRESS.split(',') + if (compressList.includes('gzip')) { + // http://doc.ruoyi.vip/ruoyi-vue/other/faq.html#使用gzip解压缩静态文件 + plugin.push( + compression({ + ext: '.gz', + deleteOriginFile: false + }) + ) + } + if (compressList.includes('brotli')) { + plugin.push( + compression({ + ext: '.br', + algorithm: 'brotliCompress', + deleteOriginFile: false + }) + ) + } + } + return plugin +} diff --git a/vite/plugins/index.js b/vite/plugins/index.js new file mode 100644 index 0000000..10e17c3 --- /dev/null +++ b/vite/plugins/index.js @@ -0,0 +1,15 @@ +import vue from '@vitejs/plugin-vue' + +import createAutoImport from './auto-import' +import createSvgIcon from './svg-icon' +import createCompression from './compression' +import createSetupExtend from './setup-extend' + +export default function createVitePlugins(viteEnv, isBuild = false) { + const vitePlugins = [vue()] + vitePlugins.push(createAutoImport()) + vitePlugins.push(createSetupExtend()) + vitePlugins.push(createSvgIcon(isBuild)) + isBuild && vitePlugins.push(...createCompression(viteEnv)) + return vitePlugins +} diff --git a/vite/plugins/setup-extend.js b/vite/plugins/setup-extend.js new file mode 100644 index 0000000..ed8342e --- /dev/null +++ b/vite/plugins/setup-extend.js @@ -0,0 +1,5 @@ +import setupExtend from 'unplugin-vue-setup-extend-plus/vite' + +export default function createSetupExtend() { + return setupExtend({}) +} diff --git a/vite/plugins/svg-icon.js b/vite/plugins/svg-icon.js new file mode 100644 index 0000000..30a4140 --- /dev/null +++ b/vite/plugins/svg-icon.js @@ -0,0 +1,10 @@ +import { createSvgIconsPlugin } from 'vite-plugin-svg-icons' +import path from 'path' + +export default function createSvgIcon(isBuild) { + return createSvgIconsPlugin({ + iconDirs: [path.resolve(process.cwd(), 'src/assets/icons/svg')], + symbolId: 'icon-[dir]-[name]', + svgoOptions: isBuild + }) +}